fix: hydrate source resource inventory
This commit is contained in:
@@ -235,6 +235,14 @@ class SourceCatalogService:
|
||||
entry.qualified_name: self.spec_from_snapshot_entry(entry)
|
||||
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 = (
|
||||
f"Specs restored from catalog for {connection.id}."
|
||||
if specs
|
||||
@@ -245,7 +253,11 @@ class SourceCatalogService:
|
||||
id=connection.id,
|
||||
kind="connection",
|
||||
enabled=connection.enabled,
|
||||
capabilities=CapabilityBuckets(node_specs=specs),
|
||||
capabilities=CapabilityBuckets(
|
||||
node_specs=specs,
|
||||
resources=resources,
|
||||
prompts=prompts,
|
||||
),
|
||||
visibility=SourceVisibility(
|
||||
planner=True,
|
||||
client=True,
|
||||
|
||||
@@ -438,11 +438,13 @@ async def test_source_catalog_hydrates_connection_source_from_snapshot_directly(
|
||||
ConnectionConfig(id="demo.personal", server="demo", account="personal")
|
||||
)
|
||||
|
||||
specs = second_service.source_catalog.capability_sources[
|
||||
capabilities = second_service.source_catalog.capability_sources[
|
||||
"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(
|
||||
|
||||
Reference in New Issue
Block a user