more prompts for the LLM user
This commit is contained in:
@@ -3,6 +3,7 @@ from __future__ import annotations
|
||||
from wf_platform import (
|
||||
CapabilityBuckets,
|
||||
CapabilitySource,
|
||||
DocumentationPrompt,
|
||||
DocumentationResource,
|
||||
SourceInventory,
|
||||
SourcePermissions,
|
||||
@@ -66,7 +67,15 @@ def test_documentation_source_owns_provider_neutral_resources() -> None:
|
||||
mime_type="text/markdown",
|
||||
text="# Operator Manual",
|
||||
)
|
||||
]
|
||||
],
|
||||
prompts=[
|
||||
DocumentationPrompt(
|
||||
name="wf.docs.operator_guide",
|
||||
title="Operator Guide",
|
||||
description="Guide a human operator to the right manuals.",
|
||||
text="Read wf://docs/operator-manual first.",
|
||||
)
|
||||
],
|
||||
)
|
||||
|
||||
resource = source.capabilities.resources["wf.docs.operator_manual"]
|
||||
@@ -75,3 +84,6 @@ def test_documentation_source_owns_provider_neutral_resources() -> None:
|
||||
assert source.visibility.mcp_client is True
|
||||
assert resource.uri == "wf://docs/operator-manual"
|
||||
assert resource.text == "# Operator Manual"
|
||||
assert source.capabilities.prompts["wf.docs.operator_guide"].text == (
|
||||
"Read wf://docs/operator-manual first."
|
||||
)
|
||||
|
||||
@@ -82,6 +82,7 @@ def test_server_exposes_upstream_admin_and_workflow_tools() -> None:
|
||||
for source in _structured(sources_result)["sources"]
|
||||
}
|
||||
assert "wf.admin" in source_ids
|
||||
assert "wf.docs" in source_ids
|
||||
assert "wf.mcp" in source_ids
|
||||
assert "wf.std" in source_ids
|
||||
|
||||
@@ -203,6 +204,27 @@ def test_server_exposes_platform_documentation_resources() -> None:
|
||||
asyncio.run(run_proxy())
|
||||
|
||||
|
||||
def test_server_exposes_platform_documentation_prompts() -> None:
|
||||
config = BrokerConfig(
|
||||
store_root=local_temp_root() / "unified_docs_prompt_store",
|
||||
connections=[],
|
||||
)
|
||||
|
||||
async def run_proxy() -> None:
|
||||
client = create_server_client(config, admin_tools=False)
|
||||
async with client:
|
||||
prompts = await client.list_prompts()
|
||||
names = [prompt.name for prompt in prompts]
|
||||
assert "wf.docs.operator_guide" in names
|
||||
|
||||
result = await client.get_prompt("wf.docs.operator_guide")
|
||||
content = result.messages[0].content
|
||||
assert isinstance(content, mcp_types.TextContent)
|
||||
assert "wf://docs/operator-manual" in content.text
|
||||
|
||||
asyncio.run(run_proxy())
|
||||
|
||||
|
||||
def test_admin_tools_have_human_metadata() -> None:
|
||||
config = BrokerConfig(
|
||||
store_root=local_temp_root() / "unified_admin_metadata_store",
|
||||
|
||||
Reference in New Issue
Block a user