CLI and API polish

This commit is contained in:
2026-05-04 21:56:19 +02:00
parent 6744cc66e9
commit 539bb9b754
15 changed files with 2401 additions and 2 deletions

View File

@@ -12,6 +12,8 @@ def builtin_extension_registry() -> ExtensionRegistry:
registry = default_query_engine_registry().extension_registry()
for descriptor in _processor_descriptors() + [
_extension_catalog_descriptor(),
_generated_docs_descriptor(),
_local_sqlite_backend_descriptor(),
_workflow_engine_descriptor(),
_runtime_context_descriptor(),
@@ -25,6 +27,51 @@ def builtin_extension_registry() -> ExtensionRegistry:
return registry
def _extension_catalog_descriptor() -> ExtensionDescriptor:
return ExtensionDescriptor(
id="extension.catalog",
kind="extension-registry",
summary="Inspectable catalog of built-in extension descriptors and CLI affordances.",
capabilities=[
ProcessingCapability(id="extensions", kind="inspect"),
ProcessingCapability(id="cli", kind="inspect"),
],
safety={"reads_files": False, "writes_files": False, "network": False},
input_contract="Built-in ExtensionRegistry",
output_contract="ExtensionDescriptor catalog | CliCommandSpec list",
diagnostics_namespace="extension",
provenance_prefix="extension.catalog",
cli={
"commands": [
"mkt extension list",
"mkt extension inspect",
"mkt extension commands",
]
},
docs=["docs/internal-extension-framework.md"],
)
def _generated_docs_descriptor() -> ExtensionDescriptor:
return ExtensionDescriptor(
id="docs.generated-reference",
kind="documentation",
summary="Generated CLI and API reference documentation from live command and API surfaces.",
capabilities=[
ProcessingCapability(id="docs", kind="generate"),
ProcessingCapability(id="cli", kind="inspect"),
ProcessingCapability(id="api", kind="inspect"),
],
safety={"reads_files": False, "writes_files": True, "network": False},
input_contract="Click command tree | markitect_tool.__all__",
output_contract="Markdown reference document",
diagnostics_namespace="docs",
provenance_prefix="docs.generated_reference",
cli={"commands": ["mkt docs cli", "mkt docs api"]},
docs=["docs/cli-reference.md", "docs/api-reference.md"],
)
def _processor_descriptors() -> list[ExtensionDescriptor]:
return [
ExtensionDescriptor(