fix: hydrate source resource inventory

This commit is contained in:
lda
2026-06-13 23:48:38 +07:00 Verified
parent a1fcba6d4f
commit ba8c59e81a
2 changed files with 18 additions and 4 deletions
+13 -1
View File
@@ -235,6 +235,14 @@ class SourceCatalogService:
entry.qualified_name: self.spec_from_snapshot_entry(entry) entry.qualified_name: self.spec_from_snapshot_entry(entry)
for entry in (() if snapshot is None else snapshot.nodes) for entry in (() if snapshot is None else snapshot.nodes)
} }
resources = {
entry.qualified_name: entry
for entry in (() if snapshot is None else snapshot.resources)
}
prompts = {
entry.qualified_name: entry
for entry in (() if snapshot is None else snapshot.prompts)
}
description = ( description = (
f"Specs restored from catalog for {connection.id}." f"Specs restored from catalog for {connection.id}."
if specs if specs
@@ -245,7 +253,11 @@ class SourceCatalogService:
id=connection.id, id=connection.id,
kind="connection", kind="connection",
enabled=connection.enabled, enabled=connection.enabled,
capabilities=CapabilityBuckets(node_specs=specs), capabilities=CapabilityBuckets(
node_specs=specs,
resources=resources,
prompts=prompts,
),
visibility=SourceVisibility( visibility=SourceVisibility(
planner=True, planner=True,
client=True, client=True,
+5 -3
View File
@@ -438,11 +438,13 @@ async def test_source_catalog_hydrates_connection_source_from_snapshot_directly(
ConnectionConfig(id="demo.personal", server="demo", account="personal") ConnectionConfig(id="demo.personal", server="demo", account="personal")
) )
specs = second_service.source_catalog.capability_sources[ capabilities = second_service.source_catalog.capability_sources[
"demo.personal" "demo.personal"
].capabilities.node_specs ].capabilities
assert "demo.personal.echo_tool" in specs assert "demo.personal.echo_tool" in capabilities.node_specs
assert "demo.personal.resource.welcome" in capabilities.resources
assert "demo.personal.prompt.summarize" in capabilities.prompts
def test_source_catalog_register_specs_replaces_discovered_specs_directly( def test_source_catalog_register_specs_replaces_discovered_specs_directly(