rename a field or something
This commit is contained in:
@@ -166,7 +166,7 @@ def builtin_sources() -> dict[str, CapabilitySource]:
|
||||
),
|
||||
visibility=SourceVisibility(
|
||||
planner=True,
|
||||
mcp_client=True,
|
||||
client=True,
|
||||
admin_dashboard=True,
|
||||
),
|
||||
permissions=SourcePermissions(safe_for_workflow=True),
|
||||
@@ -178,7 +178,7 @@ def builtin_sources() -> dict[str, CapabilitySource]:
|
||||
capabilities=CapabilityBuckets(node_specs=recipe_specs()),
|
||||
visibility=SourceVisibility(
|
||||
planner=True,
|
||||
mcp_client=True,
|
||||
client=True,
|
||||
admin_dashboard=True,
|
||||
),
|
||||
permissions=SourcePermissions(safe_for_workflow=True),
|
||||
|
||||
@@ -51,7 +51,7 @@ def admin_source() -> CapabilitySource:
|
||||
capabilities=CapabilityBuckets(tools=tools),
|
||||
visibility=SourceVisibility(
|
||||
planner=False,
|
||||
mcp_client=False,
|
||||
client=False,
|
||||
admin_dashboard=True,
|
||||
),
|
||||
permissions=SourcePermissions(
|
||||
|
||||
@@ -248,7 +248,7 @@ class SourceCatalogService:
|
||||
capabilities=CapabilityBuckets(node_specs=specs),
|
||||
visibility=SourceVisibility(
|
||||
planner=True,
|
||||
mcp_client=True,
|
||||
client=True,
|
||||
admin_dashboard=True,
|
||||
),
|
||||
permissions=SourcePermissions(calls_upstream=True),
|
||||
@@ -335,7 +335,7 @@ class SourceCatalogService:
|
||||
enabled=self.connection_lookup(connection_id).enabled,
|
||||
visibility=SourceVisibility(
|
||||
planner=True,
|
||||
mcp_client=True,
|
||||
client=True,
|
||||
admin_dashboard=True,
|
||||
),
|
||||
permissions=SourcePermissions(calls_upstream=True),
|
||||
|
||||
@@ -88,7 +88,7 @@ def build_openapi_capability_source(
|
||||
enabled=True,
|
||||
visibility=SourceVisibility(
|
||||
planner=True,
|
||||
mcp_client=False,
|
||||
client=False,
|
||||
admin_dashboard=True,
|
||||
),
|
||||
permissions=SourcePermissions(
|
||||
|
||||
@@ -40,6 +40,6 @@ def build_documentation_source(
|
||||
resources={resource.name: resource for resource in resources},
|
||||
prompts={prompt.name: prompt for prompt in prompts or []},
|
||||
),
|
||||
visibility=SourceVisibility(mcp_client=True),
|
||||
visibility=SourceVisibility(client=True),
|
||||
description="Local operator and workflow documentation.",
|
||||
)
|
||||
|
||||
@@ -16,7 +16,7 @@ SOURCE_PREVIEW_LIMIT = 3
|
||||
@dataclass(frozen=True, slots=True)
|
||||
class SourceVisibility:
|
||||
planner: bool = False
|
||||
mcp_client: bool = False
|
||||
client: bool = False
|
||||
admin_dashboard: bool = True
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ class SourceVisibilitySnapshot(BaseModel):
|
||||
"""Serializable visibility flags for one source inventory snapshot."""
|
||||
|
||||
planner: bool = False
|
||||
mcp_client: bool = False
|
||||
client: bool = False
|
||||
admin_dashboard: bool = True
|
||||
|
||||
|
||||
@@ -150,7 +150,7 @@ class CapabilitySource:
|
||||
enabled=self.enabled,
|
||||
visibility=SourceVisibilitySnapshot(
|
||||
planner=self.visibility.planner,
|
||||
mcp_client=self.visibility.mcp_client,
|
||||
client=self.visibility.client,
|
||||
admin_dashboard=self.visibility.admin_dashboard,
|
||||
),
|
||||
permissions=SourcePermissionsSnapshot(
|
||||
|
||||
@@ -48,7 +48,7 @@ def load_python_source(
|
||||
),
|
||||
visibility=SourceVisibility(
|
||||
planner=True,
|
||||
mcp_client=True,
|
||||
client=True,
|
||||
admin_dashboard=True,
|
||||
),
|
||||
permissions=SourcePermissions(safe_for_workflow=True),
|
||||
|
||||
@@ -26,7 +26,7 @@ def test_capability_source_projects_typed_status() -> None:
|
||||
},
|
||||
resources={"wf.std.manual": object()},
|
||||
),
|
||||
visibility=SourceVisibility(planner=True, mcp_client=True),
|
||||
visibility=SourceVisibility(planner=True, client=True),
|
||||
permissions=SourcePermissions(safe_for_workflow=True),
|
||||
description="Workflow standard library.",
|
||||
)
|
||||
@@ -94,7 +94,7 @@ def test_documentation_source_owns_provider_neutral_resources() -> None:
|
||||
resource = source.capabilities.resources["wf.docs.operator_manual"]
|
||||
|
||||
assert source.id == "wf.docs"
|
||||
assert source.visibility.mcp_client is True
|
||||
assert source.visibility.client is True
|
||||
assert resource.uri == "wf://docs/operator-manual"
|
||||
assert resource.text == "# Operator Manual"
|
||||
assert source.capabilities.prompts["wf.docs.operator_guide"].text == (
|
||||
|
||||
@@ -94,7 +94,7 @@ def _source(source_id: str, *, enabled: bool = True) -> CapabilitySource:
|
||||
capabilities=CapabilityBuckets(),
|
||||
visibility=SourceVisibility(
|
||||
planner=True,
|
||||
mcp_client=True,
|
||||
client=True,
|
||||
admin_dashboard=True,
|
||||
),
|
||||
permissions=SourcePermissions(calls_upstream=True),
|
||||
|
||||
@@ -183,7 +183,7 @@ def test_service_sources_have_visibility_and_capability_buckets(tmp_path: Path)
|
||||
assert std_source.id == "wf.std"
|
||||
assert std_source.kind == "system"
|
||||
assert std_source.visibility.planner is True
|
||||
assert std_source.visibility.mcp_client is True
|
||||
assert std_source.visibility.client is True
|
||||
assert std_source.visibility.admin_dashboard is True
|
||||
assert "wf.std.runtime_error" in std_source.capabilities.node_specs
|
||||
assert not std_source.capabilities.tools
|
||||
@@ -205,7 +205,7 @@ def test_wf_admin_source_exists_but_is_not_planner_visible(tmp_path: Path) -> No
|
||||
|
||||
assert source.kind == "system"
|
||||
assert source.visibility.planner is False
|
||||
assert source.visibility.mcp_client is False
|
||||
assert source.visibility.client is False
|
||||
assert source.visibility.admin_dashboard is True
|
||||
assert source.permissions.safe_for_workflow is False
|
||||
assert source.permissions.calls_upstream is False
|
||||
|
||||
@@ -265,7 +265,7 @@ def test_service_excludes_planner_hidden_connection_specs_from_planner_catalog()
|
||||
service.register_specs("demo.personal", echo_tool)
|
||||
service.capability_sources["demo.personal"].visibility = SourceVisibility(
|
||||
planner=False,
|
||||
mcp_client=True,
|
||||
client=True,
|
||||
admin_dashboard=True,
|
||||
)
|
||||
|
||||
@@ -283,14 +283,14 @@ def test_service_preserves_planner_hidden_connection_source_on_reregistration()
|
||||
service.register_specs("demo.personal", echo_tool)
|
||||
service.capability_sources["demo.personal"].visibility = SourceVisibility(
|
||||
planner=False,
|
||||
mcp_client=True,
|
||||
client=True,
|
||||
admin_dashboard=True,
|
||||
)
|
||||
service.register_specs("demo.personal", finalize_tool)
|
||||
|
||||
source = service.capability_sources["demo.personal"]
|
||||
assert source.visibility.planner is False
|
||||
assert source.visibility.mcp_client is True
|
||||
assert source.visibility.client is True
|
||||
assert source.visibility.admin_dashboard is True
|
||||
assert "demo.personal.finalize_tool" in source.capabilities.node_specs
|
||||
assert "demo.personal.echo_tool" not in source.capabilities.node_specs
|
||||
|
||||
Reference in New Issue
Block a user