more prompts for the LLM user

This commit is contained in:
lda
2026-05-18 17:24:37 +07:00 Verified
parent 4d90101e4b
commit 40f4d53352
9 changed files with 172 additions and 7 deletions
+13 -1
View File
@@ -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."
)
+22
View File
@@ -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",