feat: harden runtime readiness and session workflow
This commit is contained in:
@@ -27,7 +27,7 @@ def build_dwh(cfg: Config) -> DwhAdapter:
|
||||
|
||||
|
||||
def build_vector_store(cfg: Config, *, require_write: bool = False) -> VectorStore:
|
||||
"""Build the vector adapter, optionally requiring an HTTP writer credential."""
|
||||
"""Build the vector adapter, optionally requiring write capability."""
|
||||
resource = cfg.vectors
|
||||
if resource is None:
|
||||
raise ConfigError("Risorsa vectors non configurata")
|
||||
@@ -35,11 +35,17 @@ def build_vector_store(cfg: Config, *, require_write: bool = False) -> VectorSto
|
||||
match resource.type:
|
||||
case "pgvector_direct":
|
||||
reader = resource.reader or resource.connection
|
||||
if require_write and resource.writer is None:
|
||||
# Legacy server workspaces use one RW `vector_db` connection. Keep
|
||||
# that deployment contract without turning a workstation's legacy
|
||||
# compatibility connection into an implicit writer.
|
||||
writer = resource.writer or (
|
||||
resource.connection if cfg.profile == "server" else None
|
||||
)
|
||||
if require_write and writer is None:
|
||||
raise ConfigError("Vector writer non configurato per pgvector_direct")
|
||||
return PgVectorStore(
|
||||
reader,
|
||||
resource.writer,
|
||||
writer,
|
||||
expected_dimension=cfg.embeddings.dim if cfg.embeddings is not None else None,
|
||||
)
|
||||
case "thoth_vector_http":
|
||||
|
||||
Reference in New Issue
Block a user