higpertext-cli 0.8.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- config/adapters_config.json +450 -0
- config/antigravity_agent_template.json +31 -0
- config/app_config.json +174 -0
- config/context_engine.json +33 -0
- config/environments/model_defaults.json +5 -0
- config/governance/branching_strategy.json +36 -0
- config/governance/deployment_gates.json +30 -0
- config/governance/guidelines_contract.json +54 -0
- config/governance/quality_gates.json +39 -0
- config/governance/section_rules.json +22 -0
- config/governance/security_guardrails.json +52 -0
- config/hooks/README.md +35 -0
- config/hooks/custom/test_output_limiter.json +9 -0
- config/hooks/global/session_prompt.json +9 -0
- config/htx_config.json +24 -0
- config/profile_learner.json +18 -0
- config/profiles/base_agent.json +40 -0
- config/profiles/base_auditor.json +19 -0
- config/profiles/base_developer.json +19 -0
- config/profiles/base_operator.json +16 -0
- config/profiles/global.json +33 -0
- config/profiles/software_developer.json +23 -0
- config/router_content.json +137 -0
- config/semantic_graph.json +66 -0
- config/workflows/ado_release_flow.json +38 -0
- config/workflows/docs-update.json +33 -0
- config/workflows/governance-check.yaml +26 -0
- config/workflows/guidelines-sync.json +40 -0
- config/workflows/higpertext-build.json +73 -0
- config/workflows/higpertext-plan.json +38 -0
- config/workflows/higpertext-review.json +41 -0
- config/workflows/pr-quality-check.json +56 -0
- config/workflows/quality-remediation.json +57 -0
- higpertext/__init__.py +18 -0
- higpertext/adapters/__init__.py +27 -0
- higpertext/adapters/adapter_utils.py +604 -0
- higpertext/adapters/claude_adapter/__init__.py +0 -0
- higpertext/adapters/claude_adapter/claude_adapter.py +154 -0
- higpertext/adapters/copilot_adapter/__init__.py +0 -0
- higpertext/adapters/copilot_adapter/copilot_adapter.py +231 -0
- higpertext/adapters/gemini_adapter/__init__.py +0 -0
- higpertext/adapters/gemini_adapter/gemini_adapter.py +211 -0
- higpertext/adapters/llm_formatter.py +46 -0
- higpertext/adapters/open_code_adapter/__init__.py +0 -0
- higpertext/adapters/open_code_adapter/open_code_adapter.py +480 -0
- higpertext/capabilities/capabilities_runner.py +216 -0
- higpertext/capabilities/common/agent-builder.json +54 -0
- higpertext/capabilities/common/agent-sync.json +34 -0
- higpertext/capabilities/common/code-skeletonizer.json +35 -0
- higpertext/capabilities/common/commit-report.json +42 -0
- higpertext/capabilities/common/context-assembler.json +37 -0
- higpertext/capabilities/common/context-budget-report.json +15 -0
- higpertext/capabilities/common/dep-manager.json +43 -0
- higpertext/capabilities/common/docs-sync.json +14 -0
- higpertext/capabilities/common/doctor.json +18 -0
- higpertext/capabilities/common/efficiency-meter.json +31 -0
- higpertext/capabilities/common/env-catalog.json +13 -0
- higpertext/capabilities/common/env-clean.json +14 -0
- higpertext/capabilities/common/env-logs.json +16 -0
- higpertext/capabilities/common/env-runner.json +23 -0
- higpertext/capabilities/common/env-status.json +13 -0
- higpertext/capabilities/common/env-stop.json +14 -0
- higpertext/capabilities/common/env-template.json +14 -0
- higpertext/capabilities/common/error-context-locator.json +23 -0
- higpertext/capabilities/common/eval-agent.json +33 -0
- higpertext/capabilities/common/file-map.json +17 -0
- higpertext/capabilities/common/governance-exception.json +54 -0
- higpertext/capabilities/common/graph-query.json +59 -0
- higpertext/capabilities/common/graph-rebuild.json +31 -0
- higpertext/capabilities/common/graph-visualize.json +37 -0
- higpertext/capabilities/common/grep-search.json +176 -0
- higpertext/capabilities/common/higpertext-tester.json +25 -0
- higpertext/capabilities/common/hook-health.json +19 -0
- higpertext/capabilities/common/hook-sync-check.json +19 -0
- higpertext/capabilities/common/hooks-manager.json +55 -0
- higpertext/capabilities/common/knowledge-asker.json +27 -0
- higpertext/capabilities/common/list-rules.json +27 -0
- higpertext/capabilities/common/llm-invoke.json +59 -0
- higpertext/capabilities/common/load-rules.json +37 -0
- higpertext/capabilities/common/memory-manager.json +65 -0
- higpertext/capabilities/common/quality-scan.json +21 -0
- higpertext/capabilities/common/quality-updater.json +35 -0
- higpertext/capabilities/common/rag-index.json +17 -0
- higpertext/capabilities/common/report-viewer.json +24 -0
- higpertext/capabilities/common/roadmap-report.json +37 -0
- higpertext/capabilities/common/scripts/_env_cli.py +65 -0
- higpertext/capabilities/common/scripts/agent_builder.py +60 -0
- higpertext/capabilities/common/scripts/agent_sync.py +56 -0
- higpertext/capabilities/common/scripts/ask_higpertext.py +38 -0
- higpertext/capabilities/common/scripts/code_skeletonizer.py +225 -0
- higpertext/capabilities/common/scripts/commit_report.py +134 -0
- higpertext/capabilities/common/scripts/context_assembler.py +70 -0
- higpertext/capabilities/common/scripts/context_budget_report.py +53 -0
- higpertext/capabilities/common/scripts/dep_manager.py +81 -0
- higpertext/capabilities/common/scripts/docs_sync.py +981 -0
- higpertext/capabilities/common/scripts/doctor.py +144 -0
- higpertext/capabilities/common/scripts/efficiency_meter.py +83 -0
- higpertext/capabilities/common/scripts/env_catalog.py +47 -0
- higpertext/capabilities/common/scripts/env_clean.py +30 -0
- higpertext/capabilities/common/scripts/env_logs.py +32 -0
- higpertext/capabilities/common/scripts/env_runner.py +53 -0
- higpertext/capabilities/common/scripts/env_status.py +38 -0
- higpertext/capabilities/common/scripts/env_stop.py +30 -0
- higpertext/capabilities/common/scripts/env_template.py +73 -0
- higpertext/capabilities/common/scripts/error_context_locator.py +138 -0
- higpertext/capabilities/common/scripts/eval_agent.py +80 -0
- higpertext/capabilities/common/scripts/file_map.py +95 -0
- higpertext/capabilities/common/scripts/governance_exception.py +116 -0
- higpertext/capabilities/common/scripts/graph_query.py +104 -0
- higpertext/capabilities/common/scripts/graph_rebuild.py +107 -0
- higpertext/capabilities/common/scripts/graph_visualize.py +76 -0
- higpertext/capabilities/common/scripts/grep_search.py +648 -0
- higpertext/capabilities/common/scripts/higpertext_tester.py +102 -0
- higpertext/capabilities/common/scripts/hook_health.py +149 -0
- higpertext/capabilities/common/scripts/hook_sync_check.py +134 -0
- higpertext/capabilities/common/scripts/hooks_manager.py +171 -0
- higpertext/capabilities/common/scripts/list_rules.py +175 -0
- higpertext/capabilities/common/scripts/llm_invoke.py +135 -0
- higpertext/capabilities/common/scripts/load_rules.py +379 -0
- higpertext/capabilities/common/scripts/memory_manager.py +210 -0
- higpertext/capabilities/common/scripts/presentation_engine.py +63 -0
- higpertext/capabilities/common/scripts/quality_scan.py +132 -0
- higpertext/capabilities/common/scripts/rag_index.py +39 -0
- higpertext/capabilities/common/scripts/report_viewer.py +106 -0
- higpertext/capabilities/common/scripts/roadmap_report.py +73 -0
- higpertext/capabilities/common/scripts/search_router.py +111 -0
- higpertext/capabilities/common/scripts/semantic_diff.py +166 -0
- higpertext/capabilities/common/scripts/semantic_search.py +43 -0
- higpertext/capabilities/common/scripts/session_control.py +136 -0
- higpertext/capabilities/common/scripts/smart_read.py +232 -0
- higpertext/capabilities/common/scripts/subagent_executor.py +143 -0
- higpertext/capabilities/common/scripts/sync_agents.py +353 -0
- higpertext/capabilities/common/scripts/task_decomposer.py +78 -0
- higpertext/capabilities/common/scripts/telemetry_report.py +36 -0
- higpertext/capabilities/common/search-router.json +24 -0
- higpertext/capabilities/common/semantic-diff.json +40 -0
- higpertext/capabilities/common/semantic-search.json +19 -0
- higpertext/capabilities/common/session-clean.json +20 -0
- higpertext/capabilities/common/session-start.json +44 -0
- higpertext/capabilities/common/smart-read.json +28 -0
- higpertext/capabilities/common/subagent-executor.json +25 -0
- higpertext/capabilities/common/sync-agents.json +32 -0
- higpertext/capabilities/common/task-decomposer.json +37 -0
- higpertext/capabilities/common/telemetry-report.json +23 -0
- higpertext/capabilities/git/__init__.py +0 -0
- higpertext/capabilities/git/committer.json +61 -0
- higpertext/capabilities/git/diff.json +33 -0
- higpertext/capabilities/git/ls-files.json +44 -0
- higpertext/capabilities/git/rm.json +27 -0
- higpertext/capabilities/git/scripts/__init__.py +0 -0
- higpertext/capabilities/git/scripts/commit_changes.py +1077 -0
- higpertext/capabilities/git/scripts/git_diff.py +171 -0
- higpertext/capabilities/git/scripts/git_ls_files.py +376 -0
- higpertext/capabilities/git/scripts/git_rm.py +62 -0
- higpertext/capabilities/security/k8s-auditor.json +33 -0
- higpertext/capabilities/security/scripts/k8s_auditor.py +307 -0
- higpertext/capabilities/security/scripts/secret_scanner.py +235 -0
- higpertext/capabilities/security/secret-scanner.json +32 -0
- higpertext/hooks/__init__.py +28 -0
- higpertext/hooks/_compat.py +27 -0
- higpertext/hooks/hook_tasks/__init__.py +1 -0
- higpertext/hooks/hook_tasks/_rules/__init__.py +0 -0
- higpertext/hooks/hook_tasks/_rules/bash_rules.py +635 -0
- higpertext/hooks/hook_tasks/_rules/context_engine_rule.py +79 -0
- higpertext/hooks/hook_tasks/_rules/context_rules.py +199 -0
- higpertext/hooks/hook_tasks/_rules/governance_adapter.py +72 -0
- higpertext/hooks/hook_tasks/_rules/profile_rules.json +25 -0
- higpertext/hooks/hook_tasks/_rules/quality_rules.py +86 -0
- higpertext/hooks/hook_tasks/_rules/security_rules.py +214 -0
- higpertext/hooks/hook_tasks/_rules/session_rules.py +316 -0
- higpertext/hooks/hook_tasks/_rules/telemetry_rules.py +121 -0
- higpertext/hooks/hook_tasks/audit_logger_hook.py +28 -0
- higpertext/hooks/hook_tasks/hook_bash_guard.py +101 -0
- higpertext/hooks/hook_tasks/hook_code_quality.py +48 -0
- higpertext/hooks/hook_tasks/hook_context_hint.py +46 -0
- higpertext/hooks/hook_tasks/hook_context_manager.py +44 -0
- higpertext/hooks/hook_tasks/hook_io.py +122 -0
- higpertext/hooks/hook_tasks/hook_loop_guard.py +182 -0
- higpertext/hooks/hook_tasks/hook_post_observer.py +54 -0
- higpertext/hooks/hook_tasks/hook_read_guard.py +85 -0
- higpertext/hooks/hook_tasks/hook_security_guard.py +81 -0
- higpertext/hooks/hook_tasks/hook_session_prompt.py +83 -0
- higpertext/hooks/hook_tasks/hook_session_stop.py +115 -0
- higpertext/hooks/hook_tasks/hook_utils.py +144 -0
- higpertext/hooks/hook_tasks/session_guard_hook.py +23 -0
- higpertext/hooks/hook_tasks/telemetry_utils.py +176 -0
- higpertext/hooks/hook_tasks/test_echo_hook.py +33 -0
- higpertext/hooks/hook_tasks/webhook_hook.py +54 -0
- higpertext/hooks/hook_tasks/workflow_runner_hook.py +49 -0
- higpertext/hooks/hooks_catalog.json +116 -0
- higpertext/kernel/__init__.py +63 -0
- higpertext/kernel/_compat.py +138 -0
- higpertext/kernel/app_config.py +117 -0
- higpertext/kernel/application/__init__.py +13 -0
- higpertext/kernel/application/agent_registry.py +102 -0
- higpertext/kernel/application/capability_manager.py +61 -0
- higpertext/kernel/application/commit_reporter.py +247 -0
- higpertext/kernel/application/context_builder.py +166 -0
- higpertext/kernel/application/context_engine.py +409 -0
- higpertext/kernel/application/engine.py +41 -0
- higpertext/kernel/application/env_runtime.py +174 -0
- higpertext/kernel/application/environment_manager.py +154 -0
- higpertext/kernel/application/governance.py +192 -0
- higpertext/kernel/application/hook_registry.py +102 -0
- higpertext/kernel/application/hook_renderer.py +720 -0
- higpertext/kernel/application/ports.py +49 -0
- higpertext/kernel/application/profile_learner.py +358 -0
- higpertext/kernel/application/profile_service.py +205 -0
- higpertext/kernel/application/profile_services.py +6 -0
- higpertext/kernel/application/profile_use_cases.py +93 -0
- higpertext/kernel/application/rag_service.py +75 -0
- higpertext/kernel/application/roadmap_reporter.py +178 -0
- higpertext/kernel/application/semantic_engine.py +258 -0
- higpertext/kernel/application/session_services.py +33 -0
- higpertext/kernel/application/skill_hook_compiler.py +85 -0
- higpertext/kernel/application/telemetry.py +326 -0
- higpertext/kernel/application/workflow_manager.py +176 -0
- higpertext/kernel/config_paths.py +66 -0
- higpertext/kernel/domain/__init__.py +12 -0
- higpertext/kernel/domain/agent_registry.py +23 -0
- higpertext/kernel/domain/commit_reporter.py +155 -0
- higpertext/kernel/domain/compilers.py +7 -0
- higpertext/kernel/domain/context_engine.py +319 -0
- higpertext/kernel/domain/entities.py +51 -0
- higpertext/kernel/domain/env_runtime.py +62 -0
- higpertext/kernel/domain/governance.py +198 -0
- higpertext/kernel/domain/hook_models.py +29 -0
- higpertext/kernel/domain/profile_learner.py +186 -0
- higpertext/kernel/domain/rag.py +70 -0
- higpertext/kernel/domain/repositories.py +8 -0
- higpertext/kernel/domain/roadmap_reporter.py +80 -0
- higpertext/kernel/domain/semantic_engine.py +107 -0
- higpertext/kernel/engine.py +42 -0
- higpertext/kernel/htx_resolver.py +69 -0
- higpertext/kernel/infrastructure/__init__.py +13 -0
- higpertext/kernel/infrastructure/agent_registry.py +40 -0
- higpertext/kernel/infrastructure/cache/capability_cache.py +319 -0
- higpertext/kernel/infrastructure/capability_helper.py +40 -0
- higpertext/kernel/infrastructure/cli/__init__.py +1 -0
- higpertext/kernel/infrastructure/cli/agent_commands.py +62 -0
- higpertext/kernel/infrastructure/cli/arguments.py +39 -0
- higpertext/kernel/infrastructure/cli/capability_command_builder.py +86 -0
- higpertext/kernel/infrastructure/cli/capability_task_service.py +234 -0
- higpertext/kernel/infrastructure/cli/cli_search.py +234 -0
- higpertext/kernel/infrastructure/cli/parameter_contracts.py +83 -0
- higpertext/kernel/infrastructure/cli/parser_builder.py +122 -0
- higpertext/kernel/infrastructure/cli/profile_commands.py +89 -0
- higpertext/kernel/infrastructure/cli/roadmap_commands.py +117 -0
- higpertext/kernel/infrastructure/cli/router.py +1110 -0
- higpertext/kernel/infrastructure/cli/session_commands.py +36 -0
- higpertext/kernel/infrastructure/cli/task_commands.py +23 -0
- higpertext/kernel/infrastructure/cli/task_result_reporter.py +56 -0
- higpertext/kernel/infrastructure/cli/workflow_commands.py +25 -0
- higpertext/kernel/infrastructure/compilers/__init__.py +3 -0
- higpertext/kernel/infrastructure/compilers/factory.py +27 -0
- higpertext/kernel/infrastructure/compilers/graph_compiler.py +20 -0
- higpertext/kernel/infrastructure/compilers/guide_compiler.py +50 -0
- higpertext/kernel/infrastructure/compilers/hook_compiler.py +69 -0
- higpertext/kernel/infrastructure/compilers/playbook_compiler.py +154 -0
- higpertext/kernel/infrastructure/context_engine.py +303 -0
- higpertext/kernel/infrastructure/database/local_vector_store.py +99 -0
- higpertext/kernel/infrastructure/deployment/__init__.py +1 -0
- higpertext/kernel/infrastructure/deployment/resource_deployer.py +283 -0
- higpertext/kernel/infrastructure/diagnostics/__init__.py +1 -0
- higpertext/kernel/infrastructure/diagnostics/health.py +191 -0
- higpertext/kernel/infrastructure/env_runtime.py +227 -0
- higpertext/kernel/infrastructure/execution/__init__.py +1 -0
- higpertext/kernel/infrastructure/execution/parallel.py +188 -0
- higpertext/kernel/infrastructure/execution/resilience.py +155 -0
- higpertext/kernel/infrastructure/file_repositories.py +213 -0
- higpertext/kernel/infrastructure/governance.py +198 -0
- higpertext/kernel/infrastructure/hook_config_loader.py +53 -0
- higpertext/kernel/infrastructure/hook_webhook_dispatcher.py +61 -0
- higpertext/kernel/infrastructure/hook_workflow_bridge.py +60 -0
- higpertext/kernel/infrastructure/llm/__init__.py +6 -0
- higpertext/kernel/infrastructure/llm/provider.py +46 -0
- higpertext/kernel/infrastructure/llm/providers/__init__.py +0 -0
- higpertext/kernel/infrastructure/llm/providers/anthropic_provider.py +94 -0
- higpertext/kernel/infrastructure/llm/providers/gemini_embeddings.py +74 -0
- higpertext/kernel/infrastructure/llm/providers/gemini_provider.py +101 -0
- higpertext/kernel/infrastructure/llm/providers/ollama_provider.py +110 -0
- higpertext/kernel/infrastructure/llm/providers/openai_provider.py +98 -0
- higpertext/kernel/infrastructure/llm/registry.py +81 -0
- higpertext/kernel/infrastructure/logger.py +303 -0
- higpertext/kernel/infrastructure/output_store.py +70 -0
- higpertext/kernel/infrastructure/parser/__init__.py +1 -0
- higpertext/kernel/infrastructure/parser/code_chunker.py +144 -0
- higpertext/kernel/infrastructure/parser/language/__init__.py +14 -0
- higpertext/kernel/infrastructure/parser/language/base.py +41 -0
- higpertext/kernel/infrastructure/parser/language/powershell_parser.py +35 -0
- higpertext/kernel/infrastructure/parser/language/python_parser.py +98 -0
- higpertext/kernel/infrastructure/parser/language/typescript_parser.py +91 -0
- higpertext/kernel/infrastructure/parser/semantic_graph.py +409 -0
- higpertext/kernel/infrastructure/presentation/__init__.py +1 -0
- higpertext/kernel/infrastructure/presentation/html_renderer.py +137 -0
- higpertext/kernel/infrastructure/presentation/markdown_renderer.py +84 -0
- higpertext/kernel/infrastructure/presentation/markdown_report_renderer.py +97 -0
- higpertext/kernel/infrastructure/profile_store.py +28 -0
- higpertext/kernel/infrastructure/semantic_engine.py +289 -0
- higpertext/kernel/infrastructure/telemetry_reporter.py +132 -0
- higpertext/kernel/infrastructure/validation/__init__.py +1 -0
- higpertext/kernel/infrastructure/validation/contract_validator.py +163 -0
- higpertext/kernel/pkg_resources.py +38 -0
- higpertext/kernel/session_manager.py +319 -0
- higpertext/templates/env/generic-shell.yaml +21 -0
- higpertext/templates/env/node-vitest.yaml +27 -0
- higpertext/templates/env/python-pytest.yaml +29 -0
- higpertext/templates/html/commit_body.html +20 -0
- higpertext/templates/html/commit_diff.html +4 -0
- higpertext/templates/html/commit_index.html +29 -0
- higpertext/templates/html/commit_layer.html +11 -0
- higpertext/templates/html/commit_shell.html +28 -0
- higpertext/templates/html/graph_visualize.html +86 -0
- higpertext/templates/html/roadmap_body.html +12 -0
- higpertext/templates/html/roadmap_phase.html +5 -0
- higpertext/templates/html/roadmap_shell.html +29 -0
- higpertext/templates/markdown/commit_report.md +18 -0
- higpertext/templates/markdown/efficiency_report.md +12 -0
- higpertext/templates/markdown/roadmap_report.md +25 -0
- higpertext/templates/skills/best-practices.md +7 -0
- higpertext/templates/skills/clean-code.md +8 -0
- higpertext/templates/skills/ddd-standards.md +7 -0
- higpertext/templates/skills/tdd-practices.md +7 -0
- higpertext/templates/subagents/architect.md +7 -0
- higpertext/templates/subagents/test-engineer.md +7 -0
- higpertext/templates/workflows/build.json +23 -0
- higpertext/templates/workflows/compact.json +21 -0
- higpertext/templates/workflows/plan.json +59 -0
- higpertext/templates/workflows/review.json +26 -0
- higpertext/templates/workflows/spec.json +27 -0
- higpertext_cli-0.8.0.dist-info/METADATA +35 -0
- higpertext_cli-0.8.0.dist-info/RECORD +335 -0
- higpertext_cli-0.8.0.dist-info/WHEEL +5 -0
- higpertext_cli-0.8.0.dist-info/entry_points.txt +2 -0
- higpertext_cli-0.8.0.dist-info/top_level.txt +2 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "common.env-stop",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"name": "Environment Stop",
|
|
5
|
+
"description": "Detiene un entorno local iniciado por env-runner.",
|
|
6
|
+
"entrypoint": "capabilities/common/scripts/env_stop.py",
|
|
7
|
+
"language": "python",
|
|
8
|
+
"parameters": [
|
|
9
|
+
{"name": "run_id", "description": "Run a detener.", "required": true},
|
|
10
|
+
{"name": "volumes", "description": "Eliminar volúmenes. Default: false.", "required": false, "default": "false"},
|
|
11
|
+
{"name": "json", "description": "Emite JSON estructurado.", "required": false, "default": "false"}
|
|
12
|
+
],
|
|
13
|
+
"contract": {"rules": ["Debe ejecutar compose down para el run.", "Debe actualizar estado a stopped o failed."]}
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "common.env-template",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"name": "Environment Template",
|
|
5
|
+
"description": "Crea, valida o muestra templates locales de entornos Docker/Podman.",
|
|
6
|
+
"entrypoint": "capabilities/common/scripts/env_template.py",
|
|
7
|
+
"language": "python",
|
|
8
|
+
"parameters": [
|
|
9
|
+
{"name": "action", "description": "validate, show o create.", "required": true},
|
|
10
|
+
{"name": "template", "description": "ID del template.", "required": true},
|
|
11
|
+
{"name": "json", "description": "Emite JSON estructurado.", "required": false, "default": "false"}
|
|
12
|
+
],
|
|
13
|
+
"contract": {"rules": ["Debe crear templates bajo .higpertext/env/templates.", "Debe validar templates locales o globales.", "Debe soportar JSON para show/validate."]}
|
|
14
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "common.error-context-locator",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"name": "Error Context Locator",
|
|
5
|
+
"description": "Extrae file:line desde trazas, errores o logs y devuelve contexto mínimo con sugerencias de smart-read focalizado.",
|
|
6
|
+
"entrypoint": "capabilities/common/scripts/error_context_locator.py",
|
|
7
|
+
"language": "python",
|
|
8
|
+
"parameters": [
|
|
9
|
+
{"name": "error", "description": "Texto del error o traza.", "required": false},
|
|
10
|
+
{"name": "error_file", "description": "Archivo con error/log a analizar.", "required": false},
|
|
11
|
+
{"name": "max_context", "description": "Líneas alrededor de cada ubicación. Default: 5.", "required": false, "default": "5"},
|
|
12
|
+
{"name": "include_tests", "description": "Incluye ubicaciones de tests. Default: true.", "required": false, "default": "true"},
|
|
13
|
+
{"name": "json", "description": "Emite JSON estructurado.", "required": false, "default": "false"}
|
|
14
|
+
],
|
|
15
|
+
"contract": {
|
|
16
|
+
"rules": [
|
|
17
|
+
"Debe detectar patrones Python File path, line N y file:line genéricos.",
|
|
18
|
+
"Debe devolver contexto mínimo por ubicación detectada.",
|
|
19
|
+
"Debe sugerir common.smart-read con around_line para cada ubicación.",
|
|
20
|
+
"Debe soportar error inline, error_file, include_tests y JSON."
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "common.eval-agent",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Ejecuta el framework de evaluación de modelos y configuración del higpertext Engine. Valida que los archivos generados contienen las secciones correctas, que los hooks responden bien y que el modelo se comporta según el perfil.",
|
|
5
|
+
"entrypoint": "capabilities/common/scripts/eval_agent.py",
|
|
6
|
+
"parameters": [
|
|
7
|
+
{
|
|
8
|
+
"name": "profile",
|
|
9
|
+
"description": "Perfil higpertext a evaluar. Usa 'all' para evaluar todos los perfiles.",
|
|
10
|
+
"required": false,
|
|
11
|
+
"default": "all"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"name": "mode",
|
|
15
|
+
"description": "Modo de evaluación: static (sin API) | hooks (sin API) | behavioral (API) | safety (API) | all",
|
|
16
|
+
"required": false,
|
|
17
|
+
"default": "static"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "provider",
|
|
21
|
+
"description": "Provider LLM para modos behavioral/safety: gemini | anthropic",
|
|
22
|
+
"required": false,
|
|
23
|
+
"default": ""
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"contract": {
|
|
27
|
+
"rules": [
|
|
28
|
+
"Retorna exit code 0 si todos los tests pasan, 1 si hay fallos.",
|
|
29
|
+
"Los modos behavioral y safety requieren RUN_BEHAVIORAL_TESTS=1.",
|
|
30
|
+
"El modo static y hooks no requieren API keys y siempre deben pasar."
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "common.file-map",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"name": "File Map",
|
|
5
|
+
"description": "Inspecciona estructura de archivos trackeados sin leer blobs: directorios, extensiones y archivos grandes candidatos a smart-read/skeleton.",
|
|
6
|
+
"entrypoint": "capabilities/common/scripts/file_map.py",
|
|
7
|
+
"language": "python",
|
|
8
|
+
"parameters": [
|
|
9
|
+
{"name": "path", "description": "Ruta/prefijo a mapear.", "required": false},
|
|
10
|
+
{"name": "preset", "description": "Reservado para filtros: all, code, docs, config.", "required": false, "default": "all"},
|
|
11
|
+
{"name": "max_depth", "description": "Profundidad máxima de agrupación. Default: 2.", "required": false, "default": "2"},
|
|
12
|
+
{"name": "show_sizes", "description": "Reservado para mostrar tamaños detallados.", "required": false, "default": "false"},
|
|
13
|
+
{"name": "large_threshold_kb", "description": "Umbral de archivo grande. Default: 100.", "required": false, "default": "100"},
|
|
14
|
+
{"name": "json", "description": "Emite JSON estructurado.", "required": false, "default": "false"}
|
|
15
|
+
],
|
|
16
|
+
"contract": {"rules": ["Debe usar git ls-files para evitar dependencias/generados.", "Debe reportar directorios, extensiones y archivos grandes.", "Debe sugerir smart-read para archivos grandes."]}
|
|
17
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "common.governance-exception",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"name": "Governance Exception",
|
|
5
|
+
"description": "Registra o lista excepciones aprobadas a reglas de gobernanza para un perfil.",
|
|
6
|
+
"entrypoint": "capabilities/common/scripts/governance_exception.py",
|
|
7
|
+
"language": "python",
|
|
8
|
+
"parameters": [
|
|
9
|
+
{
|
|
10
|
+
"name": "action",
|
|
11
|
+
"type": "string",
|
|
12
|
+
"required": true,
|
|
13
|
+
"description": "Acción: register | list"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"name": "rule_id",
|
|
17
|
+
"type": "string",
|
|
18
|
+
"required": false,
|
|
19
|
+
"description": "ID de la regla a exceptuar (requerido para register)"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"name": "reason",
|
|
23
|
+
"type": "string",
|
|
24
|
+
"required": false,
|
|
25
|
+
"description": "Justificación de la excepción"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "approver",
|
|
29
|
+
"type": "string",
|
|
30
|
+
"required": false,
|
|
31
|
+
"description": "Quien aprueba la excepción"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "expires",
|
|
35
|
+
"type": "string",
|
|
36
|
+
"required": false,
|
|
37
|
+
"description": "Fecha de expiración ISO (YYYY-MM-DD)"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name": "profile",
|
|
41
|
+
"type": "string",
|
|
42
|
+
"required": false,
|
|
43
|
+
"description": "Perfil al que aplica (por defecto el activo)"
|
|
44
|
+
}
|
|
45
|
+
],
|
|
46
|
+
"contract": {
|
|
47
|
+
"rules": [
|
|
48
|
+
"No puede exceptuar reglas de severidad critical.",
|
|
49
|
+
"Toda excepción debe tener reason y approver.",
|
|
50
|
+
"Las excepciones expiradas no se aplican aunque existan en el store."
|
|
51
|
+
],
|
|
52
|
+
"required_patterns": ["\\[SUCCESS\\]"]
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "common.graph-query",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"name": "Graph Query",
|
|
5
|
+
"description": "Consulta el grafo semántico para encontrar símbolos relacionados con un nombre o keyword, expandiendo vecinos hasta una profundidad configurable y permitiendo filtrar, limitar o emitir resultados compactos.",
|
|
6
|
+
"entrypoint": "capabilities/common/scripts/graph_query.py",
|
|
7
|
+
"language": "python",
|
|
8
|
+
"parameters": [
|
|
9
|
+
{
|
|
10
|
+
"name": "symbol",
|
|
11
|
+
"description": "Nombre o keyword del símbolo a buscar (búsqueda parcial, case-insensitive).",
|
|
12
|
+
"required": true
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"name": "depth",
|
|
16
|
+
"description": "Profundidad de expansión de vecinos en el grafo. Default: 2.",
|
|
17
|
+
"required": false,
|
|
18
|
+
"default": "2"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "budget",
|
|
22
|
+
"description": "Presupuesto de tokens para el resultado. Default: 8000.",
|
|
23
|
+
"required": false,
|
|
24
|
+
"default": "8000"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "type",
|
|
28
|
+
"description": "Filtra por tipo de símbolo: class, function, method, variable o module.",
|
|
29
|
+
"required": false
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "limit",
|
|
33
|
+
"description": "Máximo de símbolos a mostrar. Default: 50.",
|
|
34
|
+
"required": false,
|
|
35
|
+
"default": "50"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"name": "files_only",
|
|
39
|
+
"description": "Si es true, muestra solo archivos únicos relacionados.",
|
|
40
|
+
"required": false,
|
|
41
|
+
"default": "false"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"name": "json",
|
|
45
|
+
"description": "Si es true, emite JSON estructurado.",
|
|
46
|
+
"required": false,
|
|
47
|
+
"default": "false"
|
|
48
|
+
}
|
|
49
|
+
],
|
|
50
|
+
"contract": {
|
|
51
|
+
"rules": [
|
|
52
|
+
"Debe leer .higpertext/state/semantic_graph.json. Si no existe, indicar que hay que ejecutar common.graph-rebuild primero.",
|
|
53
|
+
"Debe mostrar cada símbolo con su archivo, línea y tipo.",
|
|
54
|
+
"Debe soportar filtro por tipo, límite de resultados, modo files_only y salida JSON.",
|
|
55
|
+
"Debe indicar el total de símbolos retornados y tokens estimados.",
|
|
56
|
+
"Debe completar con [SUCCESS] o [NOT FOUND] explícito."
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "common.graph-rebuild",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"name": "Graph Rebuild",
|
|
5
|
+
"description": "Regenera el grafo semántico del proyecto parseando todos los archivos Python con AST. Persiste el resultado en .higpertext/state/semantic_graph.json y actualiza el resumen en .higpertext/state/semantic_graph.md.",
|
|
6
|
+
"entrypoint": "capabilities/common/scripts/graph_rebuild.py",
|
|
7
|
+
"language": "python",
|
|
8
|
+
"parameters": [
|
|
9
|
+
{
|
|
10
|
+
"name": "root",
|
|
11
|
+
"description": "Directorio raíz del proyecto a analizar. Por defecto el directorio actual.",
|
|
12
|
+
"required": false,
|
|
13
|
+
"default": "."
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"name": "god_threshold",
|
|
17
|
+
"description": "Umbral de in-degree para clasificar un nodo como god node. Default: 5.",
|
|
18
|
+
"required": false,
|
|
19
|
+
"default": "5"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"contract": {
|
|
23
|
+
"rules": [
|
|
24
|
+
"Debe generar .higpertext/state/semantic_graph.json con campos symbols y relations.",
|
|
25
|
+
"Debe imprimir el total de símbolos y relaciones indexados al finalizar.",
|
|
26
|
+
"Debe indicar cuántos god nodes fueron detectados.",
|
|
27
|
+
"Nunca debe exponer contenido de archivos .env o secrets.",
|
|
28
|
+
"Debe completar con [SUCCESS] o [ERROR] explícito."
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "common.graph-visualize",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"name": "Graph Visualize",
|
|
5
|
+
"description": "Genera un grafo HTML interactivo con D3.js a partir del semantic_graph.json. El archivo se guarda en .higpertext/reports/semantic_graph.html y se puede abrir en el navegador.",
|
|
6
|
+
"entrypoint": "capabilities/common/scripts/graph_visualize.py",
|
|
7
|
+
"language": "python",
|
|
8
|
+
"parameters": [
|
|
9
|
+
{
|
|
10
|
+
"name": "output",
|
|
11
|
+
"description": "Ruta de salida del archivo HTML. Default: .higpertext/reports/semantic_graph.html.",
|
|
12
|
+
"required": false,
|
|
13
|
+
"default": ".higpertext/reports/semantic_graph.html"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"name": "max_nodes",
|
|
17
|
+
"description": "Límite de nodos a renderizar para evitar grafos ilegibles. Default: 200.",
|
|
18
|
+
"required": false,
|
|
19
|
+
"default": "200"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"name": "god_threshold",
|
|
23
|
+
"description": "Umbral de in-degree para resaltar god nodes en rojo. Default: 5.",
|
|
24
|
+
"required": false,
|
|
25
|
+
"default": "5"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"contract": {
|
|
29
|
+
"rules": [
|
|
30
|
+
"Debe leer .higpertext/state/semantic_graph.json. Si no existe, indicar que hay que ejecutar common.graph-rebuild primero.",
|
|
31
|
+
"Debe generar un archivo HTML self-contained (sin dependencias externas — D3 embebido o CDN).",
|
|
32
|
+
"Debe resaltar god nodes visualmente (color distinto).",
|
|
33
|
+
"Debe indicar la ruta del archivo generado al finalizar.",
|
|
34
|
+
"Debe completar con [SUCCESS] o [ERROR] explícito."
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "common.grep-search",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"name": "Grep Search",
|
|
5
|
+
"description": "Busca patrones de texto, código o símbolos del grafo semántico Nexus/Higpertext. Soporta búsqueda recursiva, presets, filtros glob/extensión, exclusiones, priorización por relevancia, límites por archivo/línea/tamaño, contexto, modo regex, conteo por archivo y salida JSON estructurada.",
|
|
6
|
+
"entrypoint": "capabilities/common/scripts/grep_search.py",
|
|
7
|
+
"language": "python",
|
|
8
|
+
"parameters": [
|
|
9
|
+
{
|
|
10
|
+
"name": "pattern",
|
|
11
|
+
"description": "Patrón de búsqueda (texto literal o regex si --regex=true).",
|
|
12
|
+
"required": true
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"name": "path",
|
|
16
|
+
"description": "Directorio o archivo donde buscar. Por defecto el directorio actual.",
|
|
17
|
+
"required": false,
|
|
18
|
+
"default": "."
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "include",
|
|
22
|
+
"description": "Filtro de extensión de archivo, ej: '*.py' o '*.ts'. Acepta múltiples separados por coma.",
|
|
23
|
+
"required": false
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"name": "extension",
|
|
27
|
+
"description": "Alias ergonómico de include. Acepta 'py,ts' o '*.py,*.ts'.",
|
|
28
|
+
"required": false
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "exclude",
|
|
32
|
+
"description": "Patrones de directorios o archivos a excluir, ej: '__pycache__,node_modules,.venv'. Por defecto excluye .venv, __pycache__, .git, node_modules.",
|
|
33
|
+
"required": false
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "regex",
|
|
37
|
+
"description": "Si es 'true', trata el patrón como expresión regular. Default: false (literal).",
|
|
38
|
+
"required": false,
|
|
39
|
+
"default": "false"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"name": "case_sensitive",
|
|
43
|
+
"description": "Si es 'true', la búsqueda distingue mayúsculas. Default: false.",
|
|
44
|
+
"required": false,
|
|
45
|
+
"default": "false"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "context",
|
|
49
|
+
"description": "Número de líneas de contexto antes y después de cada coincidencia. Default: 0.",
|
|
50
|
+
"required": false,
|
|
51
|
+
"default": "0"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"name": "before",
|
|
55
|
+
"description": "Líneas antes de cada coincidencia. Se combina con context usando el valor mayor.",
|
|
56
|
+
"required": false
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"name": "after",
|
|
60
|
+
"description": "Líneas después de cada coincidencia. Se combina con context usando el valor mayor.",
|
|
61
|
+
"required": false
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"name": "max_results",
|
|
65
|
+
"description": "Límite máximo de resultados a mostrar. Default: 100.",
|
|
66
|
+
"required": false,
|
|
67
|
+
"default": "100"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"name": "max_per_file",
|
|
71
|
+
"description": "Límite máximo de coincidencias mostradas por archivo. Default: 20.",
|
|
72
|
+
"required": false,
|
|
73
|
+
"default": "20"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"name": "line_limit",
|
|
77
|
+
"description": "Caracteres máximos por línea impresa; 0 desactiva truncado. Default: 240.",
|
|
78
|
+
"required": false,
|
|
79
|
+
"default": "240"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"name": "max_file_size_kb",
|
|
83
|
+
"description": "Ignora archivos mayores al tamaño indicado; 0 desactiva. Default: 1024.",
|
|
84
|
+
"required": false,
|
|
85
|
+
"default": "1024"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "sort",
|
|
89
|
+
"description": "Orden de resultados: relevance prioriza archivos con más hits; path ordena por ruta. Default: relevance.",
|
|
90
|
+
"required": false,
|
|
91
|
+
"default": "relevance"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"name": "preset",
|
|
95
|
+
"description": "Preset de búsqueda si no se pasa include/extension: all, code, python, web, docs o config. Default: all.",
|
|
96
|
+
"required": false,
|
|
97
|
+
"default": "all"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "include_tests",
|
|
101
|
+
"description": "Incluye rutas de tests/specs. Default: true.",
|
|
102
|
+
"required": false,
|
|
103
|
+
"default": "true"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"name": "source_first",
|
|
107
|
+
"description": "Prioriza archivos fuente antes que tests al ordenar. Default: true.",
|
|
108
|
+
"required": false,
|
|
109
|
+
"default": "true"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"name": "files_only",
|
|
113
|
+
"description": "Si es 'true', solo muestra los nombres de archivos con coincidencias, sin el contenido.",
|
|
114
|
+
"required": false,
|
|
115
|
+
"default": "false"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"name": "count",
|
|
119
|
+
"description": "Si es 'true', muestra el conteo de coincidencias por archivo sin contenido de líneas.",
|
|
120
|
+
"required": false,
|
|
121
|
+
"default": "false"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"name": "semantic",
|
|
125
|
+
"description": "Si es 'true', busca también en el grafo semántico Nexus/Higpertext (.higpertext/state/semantic_graph.json o .nexus/semantic_graph.*).",
|
|
126
|
+
"required": false,
|
|
127
|
+
"default": "false"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"name": "json",
|
|
131
|
+
"description": "Si es 'true', emite una respuesta JSON estructurada para consumo por otras herramientas nativas.",
|
|
132
|
+
"required": false,
|
|
133
|
+
"default": "false"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"name": "absolute_paths",
|
|
137
|
+
"description": "Si es 'true', muestra rutas absolutas; por defecto usa rutas relativas para ahorrar contexto.",
|
|
138
|
+
"required": false,
|
|
139
|
+
"default": "false"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"name": "all",
|
|
143
|
+
"description": "Si es 'true', busca también en directorios de agentes/configuración normalmente excluidos; mantiene exclusiones seguras para .git, .venv, node_modules, binarios y secretos.",
|
|
144
|
+
"required": false,
|
|
145
|
+
"default": "false"
|
|
146
|
+
}
|
|
147
|
+
],
|
|
148
|
+
"contract": {
|
|
149
|
+
"rules": [
|
|
150
|
+
"Debe usar grep (Linux/macOS) o el equivalente Python puro como fallback multiplataforma.",
|
|
151
|
+
"Debe mostrar resultados agrupados por archivo con número de línea y contenido de la línea.",
|
|
152
|
+
"Debe indicar el total de coincidencias encontradas al finalizar.",
|
|
153
|
+
"Si no hay coincidencias, debe indicarlo claramente con [NOT FOUND].",
|
|
154
|
+
"Si el patrón no es válido como regex (cuando regex=true), debe reportar el error.",
|
|
155
|
+
"Debe respetar el límite de max_results para evitar output excesivo.",
|
|
156
|
+
"Debe rechazar context negativo y max_results menor o igual a cero.",
|
|
157
|
+
"Debe aceptar --extension como alias de --include normalizando extensiones simples a globs.",
|
|
158
|
+
"Debe aceptar presets de búsqueda cuando no se indique include/extension.",
|
|
159
|
+
"Debe soportar límites por archivo, longitud de línea y tamaño máximo de archivo para proteger el contexto.",
|
|
160
|
+
"Debe ordenar por relevancia por defecto y permitir orden por ruta.",
|
|
161
|
+
"Debe poder omitir tests/specs con include_tests=false y priorizar fuente con source_first=true.",
|
|
162
|
+
"Con --semantic=true debe consultar el grafo semántico Nexus/Higpertext sin volcar el blob completo.",
|
|
163
|
+
"Con --json=true debe devolver salida parseable con total_matches, files_scanned, files_matched y matches.",
|
|
164
|
+
"Nunca debe exponer contenido de archivos de secretos (.env, secrets.json, *.key).",
|
|
165
|
+
"Con --all=true debe incluir directorios de agentes/configuración como .opencode, .claude, .agents y .gemini, pero nunca .git, .venv ni node_modules."
|
|
166
|
+
]
|
|
167
|
+
},
|
|
168
|
+
"hook_task_id": "hook_grep_search",
|
|
169
|
+
"bash_intercept": {
|
|
170
|
+
"pattern": "\\bgrep\\b",
|
|
171
|
+
"description": "Buscar en el código",
|
|
172
|
+
"reason": "grep directo omite exclusiones de .venv, __pycache__ y .git, y no formatea los resultados con número de línea agrupado por archivo. common.grep-search aplica estos filtros automáticamente.",
|
|
173
|
+
"example": "htx task common.grep-search --pattern \"<patrón>\" --path <ruta>",
|
|
174
|
+
"has_dedicated_hook": true
|
|
175
|
+
}
|
|
176
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "common.higpertext-tester",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Suite de validación y testing para asegurar la integridad de capacidades y el cumplimiento de contratos técnicos.",
|
|
5
|
+
"entrypoint": "capabilities/common/scripts/higpertext_tester.py",
|
|
6
|
+
"parameters": [
|
|
7
|
+
{
|
|
8
|
+
"name": "level",
|
|
9
|
+
"description": "Nivel de prueba a ejecutar: integrity, smoke o full.",
|
|
10
|
+
"default": "full"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "target",
|
|
14
|
+
"description": "Capacidad específica a testear (opcional, por defecto todas).",
|
|
15
|
+
"required": false
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"contract": {
|
|
19
|
+
"rules": [
|
|
20
|
+
"Generar un reporte de salud del motor en formato Markdown.",
|
|
21
|
+
"Listar fallos de integridad (archivos faltantes) con prioridad crítica.",
|
|
22
|
+
"Validar cumplimiento de reglas de contrato (Regex/Heurística)."
|
|
23
|
+
]
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "common.hook-health",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"name": "Hook Health",
|
|
5
|
+
"description": "Valida que los hooks de reducción de contexto estén registrados, detecten outputs grandes, bloqueen Read masivo y no recomienden flags inexistentes conocidos.",
|
|
6
|
+
"entrypoint": "capabilities/common/scripts/hook_health.py",
|
|
7
|
+
"language": "python",
|
|
8
|
+
"parameters": [
|
|
9
|
+
{"name": "json", "description": "Emite JSON estructurado.", "required": false, "default": "false"}
|
|
10
|
+
],
|
|
11
|
+
"contract": {
|
|
12
|
+
"rules": [
|
|
13
|
+
"Debe verificar hook_post_observer, hook_context_manager, hook_session_prompt, hook_read_guard y hook_bash_guard.",
|
|
14
|
+
"Debe validar detección de output grande en PostToolUse.",
|
|
15
|
+
"Debe validar bloqueo de Read grande con sugerencia common.smart-read.",
|
|
16
|
+
"Debe fallar si encuentra recomendaciones de --source_path en hooks."
|
|
17
|
+
]
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "common.hook-sync-check",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"name": "Hook Sync Check",
|
|
5
|
+
"description": "Compara los hooks desplegados en asistentes contra la fuente canónica del motor.",
|
|
6
|
+
"entrypoint": "capabilities/common/scripts/hook_sync_check.py",
|
|
7
|
+
"language": "python",
|
|
8
|
+
"parameters": [
|
|
9
|
+
{"name": "json", "description": "Emite JSON estructurado.", "required": false, "default": "false"},
|
|
10
|
+
{"name": "strict", "description": "Si true, asistentes sin hooks desplegados fallan.", "required": false, "default": "false"}
|
|
11
|
+
],
|
|
12
|
+
"contract": {
|
|
13
|
+
"rules": [
|
|
14
|
+
"Debe comparar hashes de hooks fuente contra hooks desplegados.",
|
|
15
|
+
"Debe reportar drift por asistente.",
|
|
16
|
+
"Debe soportar salida JSON."
|
|
17
|
+
]
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "common.hooks-manager",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"name": "Hooks Manager",
|
|
5
|
+
"description": "Gestiona el ciclo de vida de hooks nativos de higpertext: listar, agregar, habilitar, deshabilitar y eliminar entradas en .higpertext/hooks_config.json. Regenera la configuración nativa del asistente activo tras cada cambio.",
|
|
6
|
+
"entrypoint": "capabilities/common/scripts/hooks_manager.py",
|
|
7
|
+
"language": "python",
|
|
8
|
+
"parameters": [
|
|
9
|
+
{
|
|
10
|
+
"name": "action",
|
|
11
|
+
"description": "Acción a ejecutar: list | add | remove | enable | disable | render",
|
|
12
|
+
"required": true
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"name": "id",
|
|
16
|
+
"description": "ID del hook (requerido para remove, enable, disable).",
|
|
17
|
+
"required": false
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "event",
|
|
21
|
+
"description": "Evento del hook para --action add: PreToolUse | PostToolUse | Stop | Notification",
|
|
22
|
+
"required": false
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "script",
|
|
26
|
+
"description": "Ruta relativa al script del hook (requerido para --action add).",
|
|
27
|
+
"required": false
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"name": "description",
|
|
31
|
+
"description": "Descripción del hook (opcional para --action add).",
|
|
32
|
+
"required": false
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "assistant",
|
|
36
|
+
"description": "Asistente para --action render: claude | gemini | antigravity | copilot. Por defecto usa el activo en environment.json.",
|
|
37
|
+
"required": false
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name": "profile",
|
|
41
|
+
"description": "Perfil para --action render. Por defecto usa el activo en environment.json.",
|
|
42
|
+
"required": false
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"contract": {
|
|
46
|
+
"rules": [
|
|
47
|
+
"Debe mostrar la lista completa de hooks con su estado (enabled/disabled) al usar --action list.",
|
|
48
|
+
"Al agregar un hook debe validar que el evento sea uno de los soportados.",
|
|
49
|
+
"Al remover un hook debe confirmar que el ID existe antes de eliminar.",
|
|
50
|
+
"Tras enable/disable/add/remove debe llamar a HookRenderer para regenerar la config nativa del asistente activo.",
|
|
51
|
+
"Nunca debe exponer variables de entorno o secrets en el output.",
|
|
52
|
+
"Debe indicar claramente el número de hooks activos por perfil al listar."
|
|
53
|
+
]
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "common.knowledge-asker",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Consulta la base de conocimiento de Gobernanza y Minutas para resolver dudas sobre normas y decisiones previas.",
|
|
5
|
+
"entrypoint": "capabilities/common/scripts/ask_htx.py",
|
|
6
|
+
"parameters": [
|
|
7
|
+
{
|
|
8
|
+
"name": "query",
|
|
9
|
+
"description": "La pregunta o tema sobre el cual se desea obtener información de gobernanza.",
|
|
10
|
+
"required": true
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"contract": {
|
|
14
|
+
"rules": [
|
|
15
|
+
"Citar siempre el nombre del archivo fuente encontrado.",
|
|
16
|
+
"Si no se encuentra información, sugerir consultar al administrador de gobernanza.",
|
|
17
|
+
"Resumir los puntos clave de forma ejecutiva."
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
"hook_task_id": "hook_knowledge_asker",
|
|
21
|
+
"bash_intercept": {
|
|
22
|
+
"pattern": "\\bcat\\s+.*\\.(md|json|yaml|yml|txt)\\b",
|
|
23
|
+
"description": "Consultar documentación o gobernanza",
|
|
24
|
+
"reason": "cat de archivos de docs/gobernanza omite el contexto semántico. knowledge-asker indexa y responde con las secciones relevantes, evitando leer archivos completos.",
|
|
25
|
+
"example": "htx task common.knowledge-asker --query \"<pregunta>\""
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "common.list-rules",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"name": "List Rules",
|
|
5
|
+
"description": "Lista todas las capacidades disponibles para el perfil activo con su namespace, ID corto y descripción de una línea. Útil para descubrir qué capacidades están disponibles antes de invocar load-rules.",
|
|
6
|
+
"entrypoint": "capabilities/common/scripts/list_rules.py",
|
|
7
|
+
"language": "python",
|
|
8
|
+
"parameters": [
|
|
9
|
+
{
|
|
10
|
+
"name": "type",
|
|
11
|
+
"description": "Tipo de recursos a listar: 'capabilities', 'workflows' o 'all'.",
|
|
12
|
+
"required": false,
|
|
13
|
+
"default": "all"
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"hook_task_id": "hook_list_rules",
|
|
17
|
+
"contract": {
|
|
18
|
+
"rules": [
|
|
19
|
+
"Debe leer el perfil activo desde .higpertext/environment.json.",
|
|
20
|
+
"Debe cruzar los IDs del perfil con los JSONs en src/capabilities/.",
|
|
21
|
+
"Debe mostrar una tabla con columnas: NAMESPACE, ID, DESCRIPCIÓN.",
|
|
22
|
+
"Debe indicar el total de capacidades al finalizar.",
|
|
23
|
+
"Si un JSON de capacidad no existe, debe marcarlo como '(JSON no encontrado)' sin fallar.",
|
|
24
|
+
"Debe imprimir el comando de ejemplo para invocar load-rules al finalizar."
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
}
|