Files
docs/hexa/mcp/modules/hexa.cli.json
Vishesh 'ironeagle' Bangotra 9929f05334 refactor: serve MCP bundles under <name>/mcp with nginx guard; rename core->mcp_server
- collect.py: copy repo MCP bundles to ROOT/<name>/mcp (instead of ROOT/mcp/<name>); add nginx location guard to deny /<name>/mcp/
- config.py: bundle roots now point to <repo>/mcp and standards/mcp for static bundles
- Rename core.py -> mcp_server.py and update imports in main.py and registry.py
- Dockerfile: per-repo MCP COPYs under /app/<name>/mcp, drop blog copy; add ports 8008/8009 in .drone.yml
- Restore standards/mcp/libraries.json from git for registry server
2026-10-11 23:37:46 +05:30

51 lines
3.3 KiB
JSON

{
"module": "hexa.cli",
"content": {
"path": "hexa.cli",
"docstring": "# Summary\n\nCommand-line interface for hexa utilities.\n\n---\n# Usage\n\n hexa parse-yaml PATH\n hexa generate-abc PATH [--out FILE]\n hexa parse-abc PATH\n hexa generate-yaml PATH [--out FILE]\n hexa check PATH_A PATH_B",
"objects": {
"check_matches": {
"name": "check_matches",
"kind": "function",
"path": "hexa.cli.check_matches",
"signature": "check_matches(path_a: str | Path, path_b: str | Path)",
"docstring": "Verify two representations agree.\n\nArgs:\n path_a (str | Path):\n Path to a ``.yaml`` or ``.py`` file.\n\n path_b (str | Path):\n Path to a ``.yaml`` or ``.py`` file.\n\nReturns:\n bool | list[str]:\n ``True`` if they match exactly, otherwise a list of difference\n strings."
},
"generate_abc": {
"name": "generate_abc",
"kind": "function",
"path": "hexa.cli.generate_abc",
"signature": "generate_abc(node: PortNode, out_path: str | Path | None = None)",
"docstring": "Generate ABC Python source from a :class:`PortNode` tree.\n\nArgs:\n node (PortNode):\n The root of the parsed YAML (or generated) tree.\n\n out_path (str | Path | None):\n Optional file path to write the generated source to.\n\nReturns:\n str:\n The generated Python source code."
},
"generate_yaml": {
"name": "generate_yaml",
"kind": "function",
"path": "hexa.cli.generate_yaml",
"signature": "generate_yaml(node: PortNode, out_path: str | Path | None = None)",
"docstring": "Generate YAML source from a :class:`PortNode` tree.\n\nArgs:\n node (PortNode):\n The root of the tree.\n\n out_path (str | Path | None):\n Optional file path to write the generated source to.\n\nReturns:\n str:\n The generated YAML source."
},
"parse_abc": {
"name": "parse_abc",
"kind": "function",
"path": "hexa.cli.parse_abc",
"signature": "parse_abc(module_or_path: str | Path | Any)",
"docstring": "Parse an ABC Python module into a :class:`PortNode` tree.\n\nABC classes become port nodes. A nested-struct attribute is expressed as a\n``@dataclass`` annotation on an ABC port (e.g. ``source: ExtractionSource``\nwhere ``ExtractionSource`` is a ``@dataclass``); the dataclass's fields are\nexpanded into a nested ``attributes`` entry.\n\nArgs:\n module_or_path (str | Path | Any):\n A file path to a ``.py`` file, a module import string, or a loaded\n module.\n\nReturns:\n PortNode:\n The root node of the tree."
},
"parse_yaml": {
"name": "parse_yaml",
"kind": "function",
"path": "hexa.cli.parse_yaml",
"signature": "parse_yaml(path: str | Path)",
"docstring": "Parse a hexa YAML spec file into a :class:`PortNode` tree.\n\nArgs:\n path (str | Path):\n Path to the ``.yaml`` file.\n\nReturns:\n PortNode:\n The root node of the parsed tree.\n\nRaises:\n ValueError:\n On structural errors in the YAML."
},
"main": {
"name": "main",
"kind": "function",
"path": "hexa.cli.main",
"signature": "main() -> None",
"docstring": null
}
}
}
}