@jeger-ai/opengantry 1.0.0
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.
- package/LICENSE +235 -0
- package/NOTICE +16 -0
- package/README.md +337 -0
- package/dist/cli/commands/arch.d.ts +19 -0
- package/dist/cli/commands/arch.d.ts.map +1 -0
- package/dist/cli/commands/arch.js +86 -0
- package/dist/cli/commands/arch.js.map +1 -0
- package/dist/cli/commands/check.d.ts +2 -0
- package/dist/cli/commands/check.d.ts.map +1 -0
- package/dist/cli/commands/check.js +16 -0
- package/dist/cli/commands/check.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +12 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +40 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/init.d.ts +18 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +185 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/legislate.d.ts +21 -0
- package/dist/cli/commands/legislate.d.ts.map +1 -0
- package/dist/cli/commands/legislate.js +143 -0
- package/dist/cli/commands/legislate.js.map +1 -0
- package/dist/cli/commands/mcp-serve.d.ts +2 -0
- package/dist/cli/commands/mcp-serve.d.ts.map +1 -0
- package/dist/cli/commands/mcp-serve.js +14 -0
- package/dist/cli/commands/mcp-serve.js.map +1 -0
- package/dist/cli/commands/metrics.d.ts +6 -0
- package/dist/cli/commands/metrics.d.ts.map +1 -0
- package/dist/cli/commands/metrics.js +20 -0
- package/dist/cli/commands/metrics.js.map +1 -0
- package/dist/cli/commands/mission.d.ts +3 -0
- package/dist/cli/commands/mission.d.ts.map +1 -0
- package/dist/cli/commands/mission.js +29 -0
- package/dist/cli/commands/mission.js.map +1 -0
- package/dist/cli/commands/onboarding.d.ts +2 -0
- package/dist/cli/commands/onboarding.d.ts.map +1 -0
- package/dist/cli/commands/onboarding.js +85 -0
- package/dist/cli/commands/onboarding.js.map +1 -0
- package/dist/cli/commands/runtime.d.ts +19 -0
- package/dist/cli/commands/runtime.d.ts.map +1 -0
- package/dist/cli/commands/runtime.js +101 -0
- package/dist/cli/commands/runtime.js.map +1 -0
- package/dist/cli/commands/start.d.ts +4 -0
- package/dist/cli/commands/start.d.ts.map +1 -0
- package/dist/cli/commands/start.js +3 -0
- package/dist/cli/commands/start.js.map +1 -0
- package/dist/cli/commands/status.d.ts +8 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +65 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/teacher.d.ts +11 -0
- package/dist/cli/commands/teacher.d.ts.map +1 -0
- package/dist/cli/commands/teacher.js +48 -0
- package/dist/cli/commands/teacher.js.map +1 -0
- package/dist/cli/commands/triage.d.ts +10 -0
- package/dist/cli/commands/triage.d.ts.map +1 -0
- package/dist/cli/commands/triage.js +48 -0
- package/dist/cli/commands/triage.js.map +1 -0
- package/dist/cli/commands/upgrade.d.ts +10 -0
- package/dist/cli/commands/upgrade.d.ts.map +1 -0
- package/dist/cli/commands/upgrade.js +89 -0
- package/dist/cli/commands/upgrade.js.map +1 -0
- package/dist/cli/commands/verify.d.ts +6 -0
- package/dist/cli/commands/verify.d.ts.map +1 -0
- package/dist/cli/commands/verify.js +33 -0
- package/dist/cli/commands/verify.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +13 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/lib/agent-error.d.ts +20 -0
- package/dist/cli/lib/agent-error.d.ts.map +1 -0
- package/dist/cli/lib/agent-error.js +58 -0
- package/dist/cli/lib/agent-error.js.map +1 -0
- package/dist/cli/lib/architecture-credential.d.ts +22 -0
- package/dist/cli/lib/architecture-credential.d.ts.map +1 -0
- package/dist/cli/lib/architecture-credential.js +198 -0
- package/dist/cli/lib/architecture-credential.js.map +1 -0
- package/dist/cli/lib/architecture-pointer-discovery.d.ts +7 -0
- package/dist/cli/lib/architecture-pointer-discovery.d.ts.map +1 -0
- package/dist/cli/lib/architecture-pointer-discovery.js +60 -0
- package/dist/cli/lib/architecture-pointer-discovery.js.map +1 -0
- package/dist/cli/lib/architecture-pointer-doctor.d.ts +3 -0
- package/dist/cli/lib/architecture-pointer-doctor.d.ts.map +1 -0
- package/dist/cli/lib/architecture-pointer-doctor.js +114 -0
- package/dist/cli/lib/architecture-pointer-doctor.js.map +1 -0
- package/dist/cli/lib/architecture-pointer-schema.d.ts +5 -0
- package/dist/cli/lib/architecture-pointer-schema.d.ts.map +1 -0
- package/dist/cli/lib/architecture-pointer-schema.js +137 -0
- package/dist/cli/lib/architecture-pointer-schema.js.map +1 -0
- package/dist/cli/lib/architecture-pointer-types.d.ts +24 -0
- package/dist/cli/lib/architecture-pointer-types.d.ts.map +1 -0
- package/dist/cli/lib/architecture-pointer-types.js +7 -0
- package/dist/cli/lib/architecture-pointer-types.js.map +1 -0
- package/dist/cli/lib/architecture-pointer.d.ts +7 -0
- package/dist/cli/lib/architecture-pointer.d.ts.map +1 -0
- package/dist/cli/lib/architecture-pointer.js +10 -0
- package/dist/cli/lib/architecture-pointer.js.map +1 -0
- package/dist/cli/lib/atomic-fs.d.ts +9 -0
- package/dist/cli/lib/atomic-fs.d.ts.map +1 -0
- package/dist/cli/lib/atomic-fs.js +63 -0
- package/dist/cli/lib/atomic-fs.js.map +1 -0
- package/dist/cli/lib/audience-output.d.ts +18 -0
- package/dist/cli/lib/audience-output.d.ts.map +1 -0
- package/dist/cli/lib/audience-output.js +80 -0
- package/dist/cli/lib/audience-output.js.map +1 -0
- package/dist/cli/lib/break-glass.d.ts +25 -0
- package/dist/cli/lib/break-glass.d.ts.map +1 -0
- package/dist/cli/lib/break-glass.js +134 -0
- package/dist/cli/lib/break-glass.js.map +1 -0
- package/dist/cli/lib/cli-io.d.ts +9 -0
- package/dist/cli/lib/cli-io.d.ts.map +1 -0
- package/dist/cli/lib/cli-io.js +38 -0
- package/dist/cli/lib/cli-io.js.map +1 -0
- package/dist/cli/lib/cli-timeout.d.ts +9 -0
- package/dist/cli/lib/cli-timeout.d.ts.map +1 -0
- package/dist/cli/lib/cli-timeout.js +17 -0
- package/dist/cli/lib/cli-timeout.js.map +1 -0
- package/dist/cli/lib/constants.d.ts +26 -0
- package/dist/cli/lib/constants.d.ts.map +1 -0
- package/dist/cli/lib/constants.js +26 -0
- package/dist/cli/lib/constants.js.map +1 -0
- package/dist/cli/lib/dirty-missions.d.ts +8 -0
- package/dist/cli/lib/dirty-missions.d.ts.map +1 -0
- package/dist/cli/lib/dirty-missions.js +65 -0
- package/dist/cli/lib/dirty-missions.js.map +1 -0
- package/dist/cli/lib/doctor-checks.d.ts +16 -0
- package/dist/cli/lib/doctor-checks.d.ts.map +1 -0
- package/dist/cli/lib/doctor-checks.js +138 -0
- package/dist/cli/lib/doctor-checks.js.map +1 -0
- package/dist/cli/lib/doctor-integration-checks.d.ts +5 -0
- package/dist/cli/lib/doctor-integration-checks.d.ts.map +1 -0
- package/dist/cli/lib/doctor-integration-checks.js +88 -0
- package/dist/cli/lib/doctor-integration-checks.js.map +1 -0
- package/dist/cli/lib/doctor-orchestration.d.ts +10 -0
- package/dist/cli/lib/doctor-orchestration.d.ts.map +1 -0
- package/dist/cli/lib/doctor-orchestration.js +25 -0
- package/dist/cli/lib/doctor-orchestration.js.map +1 -0
- package/dist/cli/lib/draft-token.d.ts +37 -0
- package/dist/cli/lib/draft-token.d.ts.map +1 -0
- package/dist/cli/lib/draft-token.js +171 -0
- package/dist/cli/lib/draft-token.js.map +1 -0
- package/dist/cli/lib/fix-hints.d.ts +51 -0
- package/dist/cli/lib/fix-hints.d.ts.map +1 -0
- package/dist/cli/lib/fix-hints.js +197 -0
- package/dist/cli/lib/fix-hints.js.map +1 -0
- package/dist/cli/lib/forbidden-scan.d.ts +18 -0
- package/dist/cli/lib/forbidden-scan.d.ts.map +1 -0
- package/dist/cli/lib/forbidden-scan.js +96 -0
- package/dist/cli/lib/forbidden-scan.js.map +1 -0
- package/dist/cli/lib/gate.d.ts +10 -0
- package/dist/cli/lib/gate.d.ts.map +1 -0
- package/dist/cli/lib/gate.js +30 -0
- package/dist/cli/lib/gate.js.map +1 -0
- package/dist/cli/lib/git-metrics-missions.d.ts +3 -0
- package/dist/cli/lib/git-metrics-missions.d.ts.map +1 -0
- package/dist/cli/lib/git-metrics-missions.js +51 -0
- package/dist/cli/lib/git-metrics-missions.js.map +1 -0
- package/dist/cli/lib/git-metrics-stream.d.ts +24 -0
- package/dist/cli/lib/git-metrics-stream.d.ts.map +1 -0
- package/dist/cli/lib/git-metrics-stream.js +137 -0
- package/dist/cli/lib/git-metrics-stream.js.map +1 -0
- package/dist/cli/lib/git-metrics.d.ts +18 -0
- package/dist/cli/lib/git-metrics.d.ts.map +1 -0
- package/dist/cli/lib/git-metrics.js +39 -0
- package/dist/cli/lib/git-metrics.js.map +1 -0
- package/dist/cli/lib/git-proof-errors.d.ts +3 -0
- package/dist/cli/lib/git-proof-errors.d.ts.map +1 -0
- package/dist/cli/lib/git-proof-errors.js +7 -0
- package/dist/cli/lib/git-proof-errors.js.map +1 -0
- package/dist/cli/lib/git-proof.d.ts +37 -0
- package/dist/cli/lib/git-proof.d.ts.map +1 -0
- package/dist/cli/lib/git-proof.js +147 -0
- package/dist/cli/lib/git-proof.js.map +1 -0
- package/dist/cli/lib/git-repo.d.ts +17 -0
- package/dist/cli/lib/git-repo.d.ts.map +1 -0
- package/dist/cli/lib/git-repo.js +39 -0
- package/dist/cli/lib/git-repo.js.map +1 -0
- package/dist/cli/lib/git.d.ts +2 -0
- package/dist/cli/lib/git.d.ts.map +1 -0
- package/dist/cli/lib/git.js +19 -0
- package/dist/cli/lib/git.js.map +1 -0
- package/dist/cli/lib/gitignore-gxt.d.ts +2 -0
- package/dist/cli/lib/gitignore-gxt.d.ts.map +1 -0
- package/dist/cli/lib/gitignore-gxt.js +24 -0
- package/dist/cli/lib/gitignore-gxt.js.map +1 -0
- package/dist/cli/lib/gxt-error-codes.d.ts +19 -0
- package/dist/cli/lib/gxt-error-codes.d.ts.map +1 -0
- package/dist/cli/lib/gxt-error-codes.js +60 -0
- package/dist/cli/lib/gxt-error-codes.js.map +1 -0
- package/dist/cli/lib/init-asset-catalog.d.ts +15 -0
- package/dist/cli/lib/init-asset-catalog.d.ts.map +1 -0
- package/dist/cli/lib/init-asset-catalog.js +163 -0
- package/dist/cli/lib/init-asset-catalog.js.map +1 -0
- package/dist/cli/lib/init-assets.d.ts +8 -0
- package/dist/cli/lib/init-assets.d.ts.map +1 -0
- package/dist/cli/lib/init-assets.js +3 -0
- package/dist/cli/lib/init-assets.js.map +1 -0
- package/dist/cli/lib/init-compose-arch-pointer.d.ts +6 -0
- package/dist/cli/lib/init-compose-arch-pointer.d.ts.map +1 -0
- package/dist/cli/lib/init-compose-arch-pointer.js +64 -0
- package/dist/cli/lib/init-compose-arch-pointer.js.map +1 -0
- package/dist/cli/lib/init-compose-doc.d.ts +5 -0
- package/dist/cli/lib/init-compose-doc.d.ts.map +1 -0
- package/dist/cli/lib/init-compose-doc.js +37 -0
- package/dist/cli/lib/init-compose-doc.js.map +1 -0
- package/dist/cli/lib/init-interactive.d.ts +8 -0
- package/dist/cli/lib/init-interactive.d.ts.map +1 -0
- package/dist/cli/lib/init-interactive.js +195 -0
- package/dist/cli/lib/init-interactive.js.map +1 -0
- package/dist/cli/lib/init-plan.d.ts +20 -0
- package/dist/cli/lib/init-plan.d.ts.map +1 -0
- package/dist/cli/lib/init-plan.js +92 -0
- package/dist/cli/lib/init-plan.js.map +1 -0
- package/dist/cli/lib/init-profile.d.ts +39 -0
- package/dist/cli/lib/init-profile.d.ts.map +1 -0
- package/dist/cli/lib/init-profile.js +93 -0
- package/dist/cli/lib/init-profile.js.map +1 -0
- package/dist/cli/lib/init-tutorial.d.ts +2 -0
- package/dist/cli/lib/init-tutorial.d.ts.map +1 -0
- package/dist/cli/lib/init-tutorial.js +156 -0
- package/dist/cli/lib/init-tutorial.js.map +1 -0
- package/dist/cli/lib/integration-compat.d.ts +24 -0
- package/dist/cli/lib/integration-compat.d.ts.map +1 -0
- package/dist/cli/lib/integration-compat.js +50 -0
- package/dist/cli/lib/integration-compat.js.map +1 -0
- package/dist/cli/lib/legislate-skill.d.ts +20 -0
- package/dist/cli/lib/legislate-skill.d.ts.map +1 -0
- package/dist/cli/lib/legislate-skill.js +30 -0
- package/dist/cli/lib/legislate-skill.js.map +1 -0
- package/dist/cli/lib/manifest.d.ts +6 -0
- package/dist/cli/lib/manifest.d.ts.map +1 -0
- package/dist/cli/lib/manifest.js +53 -0
- package/dist/cli/lib/manifest.js.map +1 -0
- package/dist/cli/lib/mcp-legislation.d.ts +82 -0
- package/dist/cli/lib/mcp-legislation.d.ts.map +1 -0
- package/dist/cli/lib/mcp-legislation.js +181 -0
- package/dist/cli/lib/mcp-legislation.js.map +1 -0
- package/dist/cli/lib/mcp-orchestration.d.ts +12 -0
- package/dist/cli/lib/mcp-orchestration.d.ts.map +1 -0
- package/dist/cli/lib/mcp-orchestration.js +54 -0
- package/dist/cli/lib/mcp-orchestration.js.map +1 -0
- package/dist/cli/lib/mcp-runtime.d.ts +60 -0
- package/dist/cli/lib/mcp-runtime.d.ts.map +1 -0
- package/dist/cli/lib/mcp-runtime.js +133 -0
- package/dist/cli/lib/mcp-runtime.js.map +1 -0
- package/dist/cli/lib/mcp-tools-register.d.ts +4 -0
- package/dist/cli/lib/mcp-tools-register.d.ts.map +1 -0
- package/dist/cli/lib/mcp-tools-register.js +78 -0
- package/dist/cli/lib/mcp-tools-register.js.map +1 -0
- package/dist/cli/lib/mcp-upgrade.d.ts +7 -0
- package/dist/cli/lib/mcp-upgrade.d.ts.map +1 -0
- package/dist/cli/lib/mcp-upgrade.js +38 -0
- package/dist/cli/lib/mcp-upgrade.js.map +1 -0
- package/dist/cli/lib/mission-emit.d.ts +7 -0
- package/dist/cli/lib/mission-emit.d.ts.map +1 -0
- package/dist/cli/lib/mission-emit.js +23 -0
- package/dist/cli/lib/mission-emit.js.map +1 -0
- package/dist/cli/lib/mission-legislative-stub.d.ts +9 -0
- package/dist/cli/lib/mission-legislative-stub.d.ts.map +1 -0
- package/dist/cli/lib/mission-legislative-stub.js +36 -0
- package/dist/cli/lib/mission-legislative-stub.js.map +1 -0
- package/dist/cli/lib/mission-markdown.d.ts +6 -0
- package/dist/cli/lib/mission-markdown.d.ts.map +1 -0
- package/dist/cli/lib/mission-markdown.js +84 -0
- package/dist/cli/lib/mission-markdown.js.map +1 -0
- package/dist/cli/lib/mission-msn.d.ts +10 -0
- package/dist/cli/lib/mission-msn.d.ts.map +1 -0
- package/dist/cli/lib/mission-msn.js +85 -0
- package/dist/cli/lib/mission-msn.js.map +1 -0
- package/dist/cli/lib/mission-parser.d.ts +6 -0
- package/dist/cli/lib/mission-parser.d.ts.map +1 -0
- package/dist/cli/lib/mission-parser.js +29 -0
- package/dist/cli/lib/mission-parser.js.map +1 -0
- package/dist/cli/lib/mission-path.d.ts +4 -0
- package/dist/cli/lib/mission-path.d.ts.map +1 -0
- package/dist/cli/lib/mission-path.js +28 -0
- package/dist/cli/lib/mission-path.js.map +1 -0
- package/dist/cli/lib/mission-resolution.d.ts +14 -0
- package/dist/cli/lib/mission-resolution.d.ts.map +1 -0
- package/dist/cli/lib/mission-resolution.js +60 -0
- package/dist/cli/lib/mission-resolution.js.map +1 -0
- package/dist/cli/lib/mission-yaml.d.ts +12 -0
- package/dist/cli/lib/mission-yaml.d.ts.map +1 -0
- package/dist/cli/lib/mission-yaml.js +96 -0
- package/dist/cli/lib/mission-yaml.js.map +1 -0
- package/dist/cli/lib/msn-allocate.d.ts +13 -0
- package/dist/cli/lib/msn-allocate.d.ts.map +1 -0
- package/dist/cli/lib/msn-allocate.js +98 -0
- package/dist/cli/lib/msn-allocate.js.map +1 -0
- package/dist/cli/lib/msn.d.ts +2 -0
- package/dist/cli/lib/msn.d.ts.map +1 -0
- package/dist/cli/lib/msn.js +5 -0
- package/dist/cli/lib/msn.js.map +1 -0
- package/dist/cli/lib/onboarding-flow.d.ts +11 -0
- package/dist/cli/lib/onboarding-flow.d.ts.map +1 -0
- package/dist/cli/lib/onboarding-flow.js +25 -0
- package/dist/cli/lib/onboarding-flow.js.map +1 -0
- package/dist/cli/lib/out-of-scope-hint.d.ts +7 -0
- package/dist/cli/lib/out-of-scope-hint.d.ts.map +1 -0
- package/dist/cli/lib/out-of-scope-hint.js +79 -0
- package/dist/cli/lib/out-of-scope-hint.js.map +1 -0
- package/dist/cli/lib/output-context.d.ts +22 -0
- package/dist/cli/lib/output-context.d.ts.map +1 -0
- package/dist/cli/lib/output-context.js +55 -0
- package/dist/cli/lib/output-context.js.map +1 -0
- package/dist/cli/lib/program-audience-hook.d.ts +4 -0
- package/dist/cli/lib/program-audience-hook.d.ts.map +1 -0
- package/dist/cli/lib/program-audience-hook.js +35 -0
- package/dist/cli/lib/program-audience-hook.js.map +1 -0
- package/dist/cli/lib/runtime-env.d.ts +23 -0
- package/dist/cli/lib/runtime-env.d.ts.map +1 -0
- package/dist/cli/lib/runtime-env.js +64 -0
- package/dist/cli/lib/runtime-env.js.map +1 -0
- package/dist/cli/lib/runtime-exec-orchestrator.d.ts +14 -0
- package/dist/cli/lib/runtime-exec-orchestrator.d.ts.map +1 -0
- package/dist/cli/lib/runtime-exec-orchestrator.js +131 -0
- package/dist/cli/lib/runtime-exec-orchestrator.js.map +1 -0
- package/dist/cli/lib/runtime-exec-process.d.ts +23 -0
- package/dist/cli/lib/runtime-exec-process.d.ts.map +1 -0
- package/dist/cli/lib/runtime-exec-process.js +55 -0
- package/dist/cli/lib/runtime-exec-process.js.map +1 -0
- package/dist/cli/lib/runtime-exec-result.d.ts +21 -0
- package/dist/cli/lib/runtime-exec-result.d.ts.map +1 -0
- package/dist/cli/lib/runtime-exec-result.js +42 -0
- package/dist/cli/lib/runtime-exec-result.js.map +1 -0
- package/dist/cli/lib/runtime-exec-worker.d.ts +18 -0
- package/dist/cli/lib/runtime-exec-worker.d.ts.map +1 -0
- package/dist/cli/lib/runtime-exec-worker.js +49 -0
- package/dist/cli/lib/runtime-exec-worker.js.map +1 -0
- package/dist/cli/lib/runtime-exec.d.ts +5 -0
- package/dist/cli/lib/runtime-exec.d.ts.map +1 -0
- package/dist/cli/lib/runtime-exec.js +5 -0
- package/dist/cli/lib/runtime-exec.js.map +1 -0
- package/dist/cli/lib/skill-sync.d.ts +11 -0
- package/dist/cli/lib/skill-sync.d.ts.map +1 -0
- package/dist/cli/lib/skill-sync.js +39 -0
- package/dist/cli/lib/skill-sync.js.map +1 -0
- package/dist/cli/lib/start-orchestration.d.ts +29 -0
- package/dist/cli/lib/start-orchestration.d.ts.map +1 -0
- package/dist/cli/lib/start-orchestration.js +176 -0
- package/dist/cli/lib/start-orchestration.js.map +1 -0
- package/dist/cli/lib/start-state.d.ts +12 -0
- package/dist/cli/lib/start-state.d.ts.map +1 -0
- package/dist/cli/lib/start-state.js +86 -0
- package/dist/cli/lib/start-state.js.map +1 -0
- package/dist/cli/lib/status-report.d.ts +21 -0
- package/dist/cli/lib/status-report.d.ts.map +1 -0
- package/dist/cli/lib/status-report.js +77 -0
- package/dist/cli/lib/status-report.js.map +1 -0
- package/dist/cli/lib/substrate-version.d.ts +22 -0
- package/dist/cli/lib/substrate-version.d.ts.map +1 -0
- package/dist/cli/lib/substrate-version.js +97 -0
- package/dist/cli/lib/substrate-version.js.map +1 -0
- package/dist/cli/lib/teacher-identity.d.ts +24 -0
- package/dist/cli/lib/teacher-identity.d.ts.map +1 -0
- package/dist/cli/lib/teacher-identity.js +123 -0
- package/dist/cli/lib/teacher-identity.js.map +1 -0
- package/dist/cli/lib/telemetry-log.d.ts +22 -0
- package/dist/cli/lib/telemetry-log.d.ts.map +1 -0
- package/dist/cli/lib/telemetry-log.js +50 -0
- package/dist/cli/lib/telemetry-log.js.map +1 -0
- package/dist/cli/lib/trace-failure-kind.d.ts +4 -0
- package/dist/cli/lib/trace-failure-kind.d.ts.map +1 -0
- package/dist/cli/lib/trace-failure-kind.js +23 -0
- package/dist/cli/lib/trace-failure-kind.js.map +1 -0
- package/dist/cli/lib/trace.d.ts +25 -0
- package/dist/cli/lib/trace.d.ts.map +1 -0
- package/dist/cli/lib/trace.js +121 -0
- package/dist/cli/lib/trace.js.map +1 -0
- package/dist/cli/lib/triage-logic.d.ts +10 -0
- package/dist/cli/lib/triage-logic.d.ts.map +1 -0
- package/dist/cli/lib/triage-logic.js +105 -0
- package/dist/cli/lib/triage-logic.js.map +1 -0
- package/dist/cli/lib/types.d.ts +62 -0
- package/dist/cli/lib/types.d.ts.map +1 -0
- package/dist/cli/lib/types.js +2 -0
- package/dist/cli/lib/types.js.map +1 -0
- package/dist/cli/lib/upgrade-apply.d.ts +15 -0
- package/dist/cli/lib/upgrade-apply.d.ts.map +1 -0
- package/dist/cli/lib/upgrade-apply.js +122 -0
- package/dist/cli/lib/upgrade-apply.js.map +1 -0
- package/dist/cli/lib/upgrade-eligible-assets.d.ts +5 -0
- package/dist/cli/lib/upgrade-eligible-assets.d.ts.map +1 -0
- package/dist/cli/lib/upgrade-eligible-assets.js +9 -0
- package/dist/cli/lib/upgrade-eligible-assets.js.map +1 -0
- package/dist/cli/lib/upgrade-plan.d.ts +43 -0
- package/dist/cli/lib/upgrade-plan.d.ts.map +1 -0
- package/dist/cli/lib/upgrade-plan.js +220 -0
- package/dist/cli/lib/upgrade-plan.js.map +1 -0
- package/dist/cli/lib/upgrade-profile.d.ts +4 -0
- package/dist/cli/lib/upgrade-profile.d.ts.map +1 -0
- package/dist/cli/lib/upgrade-profile.js +27 -0
- package/dist/cli/lib/upgrade-profile.js.map +1 -0
- package/dist/cli/lib/user-error.d.ts +20 -0
- package/dist/cli/lib/user-error.d.ts.map +1 -0
- package/dist/cli/lib/user-error.js +64 -0
- package/dist/cli/lib/user-error.js.map +1 -0
- package/dist/cli/lib/verify-engine.d.ts +33 -0
- package/dist/cli/lib/verify-engine.d.ts.map +1 -0
- package/dist/cli/lib/verify-engine.js +104 -0
- package/dist/cli/lib/verify-engine.js.map +1 -0
- package/dist/cli/lib/verify-failure-presentation.d.ts +31 -0
- package/dist/cli/lib/verify-failure-presentation.d.ts.map +1 -0
- package/dist/cli/lib/verify-failure-presentation.js +93 -0
- package/dist/cli/lib/verify-failure-presentation.js.map +1 -0
- package/dist/cli/lib/verify-flow.d.ts +21 -0
- package/dist/cli/lib/verify-flow.d.ts.map +1 -0
- package/dist/cli/lib/verify-flow.js +103 -0
- package/dist/cli/lib/verify-flow.js.map +1 -0
- package/dist/cli/lib/verify-repair.d.ts +4 -0
- package/dist/cli/lib/verify-repair.d.ts.map +1 -0
- package/dist/cli/lib/verify-repair.js +61 -0
- package/dist/cli/lib/verify-repair.js.map +1 -0
- package/dist/cli/lib/verify-types.d.ts +21 -0
- package/dist/cli/lib/verify-types.d.ts.map +1 -0
- package/dist/cli/lib/verify-types.js +2 -0
- package/dist/cli/lib/verify-types.js.map +1 -0
- package/dist/cli/lib/version.gen.d.ts +4 -0
- package/dist/cli/lib/version.gen.d.ts.map +1 -0
- package/dist/cli/lib/version.gen.js +4 -0
- package/dist/cli/lib/version.gen.js.map +1 -0
- package/dist/cli/lib/worker-log-line-map.d.ts +12 -0
- package/dist/cli/lib/worker-log-line-map.d.ts.map +1 -0
- package/dist/cli/lib/worker-log-line-map.js +29 -0
- package/dist/cli/lib/worker-log-line-map.js.map +1 -0
- package/dist/cli/lib/workspace.d.ts +11 -0
- package/dist/cli/lib/workspace.d.ts.map +1 -0
- package/dist/cli/lib/workspace.js +14 -0
- package/dist/cli/lib/workspace.js.map +1 -0
- package/dist/cli/program-arch.d.ts +3 -0
- package/dist/cli/program-arch.d.ts.map +1 -0
- package/dist/cli/program-arch.js +45 -0
- package/dist/cli/program-arch.js.map +1 -0
- package/dist/cli/program-core.d.ts +3 -0
- package/dist/cli/program-core.d.ts.map +1 -0
- package/dist/cli/program-core.js +154 -0
- package/dist/cli/program-core.js.map +1 -0
- package/dist/cli/program-mcp.d.ts +3 -0
- package/dist/cli/program-mcp.d.ts.map +1 -0
- package/dist/cli/program-mcp.js +12 -0
- package/dist/cli/program-mcp.js.map +1 -0
- package/dist/cli/program-mission.d.ts +3 -0
- package/dist/cli/program-mission.d.ts.map +1 -0
- package/dist/cli/program-mission.js +77 -0
- package/dist/cli/program-mission.js.map +1 -0
- package/dist/cli/program-teacher.d.ts +3 -0
- package/dist/cli/program-teacher.d.ts.map +1 -0
- package/dist/cli/program-teacher.js +19 -0
- package/dist/cli/program-teacher.js.map +1 -0
- package/dist/cli/program-workflow.d.ts +3 -0
- package/dist/cli/program-workflow.d.ts.map +1 -0
- package/dist/cli/program-workflow.js +81 -0
- package/dist/cli/program-workflow.js.map +1 -0
- package/dist/cli/program.d.ts +4 -0
- package/dist/cli/program.d.ts.map +1 -0
- package/dist/cli/program.js +25 -0
- package/dist/cli/program.js.map +1 -0
- package/package.json +66 -0
- package/templates/.cursor/hooks/gxt-before-shell.sh +63 -0
- package/templates/.cursor/hooks/gxt-session-start.sh +68 -0
- package/templates/.cursor/hooks.json +15 -0
- package/templates/.cursor/mcp.json +8 -0
- package/templates/.cursor/rules/opengantry-gxt-substrate.mdc +43 -0
- package/templates/.gitagent/ARCHITECTURE.pointer.external.example.json +13 -0
- package/templates/.gitagent/ARCHITECTURE.pointer.json +9 -0
- package/templates/.gitagent/foreman/BYPASS.sha256 +2 -0
- package/templates/.gitagent/foreman/MANIFEST.json +37 -0
- package/templates/.gitagent/foreman/SUBSTRATE.version.json +6 -0
- package/templates/.gitagent/foreman/TEACHER.allowlist.example +4 -0
- package/templates/.gitagent/missions/README.md +18 -0
- package/templates/.gitagent/teacher/ARCHITECTURE-ACCESS.md +85 -0
- package/templates/.gitagent/teacher/ARCHITECTURE-DISCOVERY.md +40 -0
- package/templates/.gitagent/teacher/MISSION-ARCHITECT.md +93 -0
- package/templates/.gitagent/teacher/MISSION.schema.yaml +80 -0
- package/templates/.gitagent/teacher/RULES.md +36 -0
- package/templates/.gitagent/teacher/WORKER_LOG.template.md +2 -0
- package/templates/.githooks/post-checkout +26 -0
- package/templates/.githooks/pre-push +53 -0
- package/templates/.github/workflows/gxt-validate.yml +129 -0
- package/templates/.gitignore.gxt +8 -0
- package/templates/AGENTS.md +24 -0
- package/templates/docs/ARCHITECTURE.md +23 -0
- package/templates/integrations/aider/.aider.conf.yml +4 -0
- package/templates/integrations/antigravity/.agent/rules/gxt.md +11 -0
- package/templates/integrations/claude-code/CLAUDE.md +9 -0
- package/templates/integrations/cline/.clinerules/gxt.md +7 -0
- package/templates/integrations/codex-cli/.codex/config.toml +3 -0
- package/templates/integrations/compatibility.json +92 -0
- package/templates/integrations/junie/.junie/guidelines.md +11 -0
- package/templates/integrations/opencode/opencode.json +3 -0
- package/templates/integrations/openhands/.openhands/microagents/gxt.md +11 -0
- package/templates/integrations/recipes/_footer.md +20 -0
- package/templates/integrations/recipes/_preamble.md +46 -0
- package/templates/integrations/recipes/aider.md +13 -0
- package/templates/integrations/recipes/antigravity.md +8 -0
- package/templates/integrations/recipes/claude-code.md +14 -0
- package/templates/integrations/recipes/cline.md +8 -0
- package/templates/integrations/recipes/codex-cli.md +16 -0
- package/templates/integrations/recipes/cursor.md +19 -0
- package/templates/integrations/recipes/junie.md +8 -0
- package/templates/integrations/recipes/opencode.md +8 -0
- package/templates/integrations/recipes/openhands.md +8 -0
- package/templates/scripts/dev-validate.sh +24 -0
- package/templates/scripts/gxt-cursor-env.sh +5 -0
- package/templates/scripts/gxt-manifest-lib.mjs +139 -0
- package/templates/scripts/gxt-pin-mission.sh +31 -0
- package/templates/scripts/gxt-resolve-mission.sh +47 -0
- package/templates/scripts/gxt-runtime-env.sh +32 -0
- package/templates/scripts/validate-gxt.sh +184 -0
- package/templates/skills/gapman.md +5 -0
- package/templates/skills/logic.md +3 -0
- package/templates/skills/substrate.md +3 -0
- package/templates/skills/ui.md +3 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { runCheck } from "./commands/check.js";
|
|
2
|
+
import { runInit } from "./commands/init.js";
|
|
3
|
+
import { runUpgrade } from "./commands/upgrade.js";
|
|
4
|
+
import { runStatus } from "./commands/status.js";
|
|
5
|
+
import { runDoctor } from "./commands/doctor.js";
|
|
6
|
+
import { runOnboarding } from "./commands/onboarding.js";
|
|
7
|
+
import { runStart } from "./commands/start.js";
|
|
8
|
+
import { readStdinIfEmpty, runTriage } from "./commands/triage.js";
|
|
9
|
+
import { getOutputAudience } from "./lib/output-context.js";
|
|
10
|
+
import { logError, setExitCode } from "./lib/cli-io.js";
|
|
11
|
+
export function registerCoreCommands(program) {
|
|
12
|
+
program
|
|
13
|
+
.command("check")
|
|
14
|
+
.description("Validate MANIFEST.json + Rule 4.4 skills/ sync")
|
|
15
|
+
.action(() => {
|
|
16
|
+
runCheck();
|
|
17
|
+
});
|
|
18
|
+
program
|
|
19
|
+
.command("status")
|
|
20
|
+
.description("Manifest sync + GXT readiness dashboard")
|
|
21
|
+
.option("--json", "Emit structured report")
|
|
22
|
+
.option("--verbose", "Include all doctor check lines")
|
|
23
|
+
.option("--audience <role>", "Tailor next steps: worker|teacher|verifier|platform")
|
|
24
|
+
.action((opts) => {
|
|
25
|
+
runStatus({
|
|
26
|
+
json: opts.json,
|
|
27
|
+
verbose: opts.verbose,
|
|
28
|
+
audience: getOutputAudience(),
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
program
|
|
32
|
+
.command("doctor")
|
|
33
|
+
.description("Active GXT readiness check (warnings do not fail exit)")
|
|
34
|
+
.option("--json", "Emit structured report")
|
|
35
|
+
.option("--audience <role>", "Tailor next steps: worker|teacher|verifier|platform")
|
|
36
|
+
.action((opts) => {
|
|
37
|
+
runDoctor({ json: opts.json, audience: getOutputAudience() });
|
|
38
|
+
});
|
|
39
|
+
program
|
|
40
|
+
.command("init")
|
|
41
|
+
.description("Bootstrap OpenGantry substrate assets into current git repository")
|
|
42
|
+
.option("--force", "Overwrite managed assets on conflict without prompting")
|
|
43
|
+
.option("--yes", "Use default profile without interactive wizard")
|
|
44
|
+
.option("--dry-run", "Print planned writes without applying")
|
|
45
|
+
.option("--ides <csv>", "Comma-separated IDE keys (cursor, claude-code, …)")
|
|
46
|
+
.option("--docs-path <path>", "Repo-relative integrations doc path")
|
|
47
|
+
.option("--skills <preset>", "Skills preset: minimal | specimen")
|
|
48
|
+
.option("--hooks", "Install git hooks")
|
|
49
|
+
.option("--no-hooks", "Skip git hooks")
|
|
50
|
+
.option("--ci", "Install CI workflow")
|
|
51
|
+
.option("--no-ci", "Skip CI workflow")
|
|
52
|
+
.option("--arch-source <kind>", "Architecture source: unset | file | directory | external")
|
|
53
|
+
.option("--arch-location <path>", "Architecture file path, folder, or external URL")
|
|
54
|
+
.option("--tutorial", "After init, run guided first mission loop (Teacher stamp + verify walkthrough)")
|
|
55
|
+
.action(async (opts) => {
|
|
56
|
+
await runInit({
|
|
57
|
+
force: opts.force,
|
|
58
|
+
yes: opts.yes,
|
|
59
|
+
dryRun: opts.dryRun,
|
|
60
|
+
tutorial: opts.tutorial,
|
|
61
|
+
ides: opts.ides,
|
|
62
|
+
docsPath: opts.docsPath,
|
|
63
|
+
skills: opts.skills,
|
|
64
|
+
hooks: opts.hooks,
|
|
65
|
+
noHooks: opts.noHooks,
|
|
66
|
+
ci: opts.ci,
|
|
67
|
+
noCi: opts.noCi,
|
|
68
|
+
archSource: opts.archSource,
|
|
69
|
+
archLocation: opts.archLocation,
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
program
|
|
73
|
+
.command("upgrade")
|
|
74
|
+
.description("Plan or apply substrate upgrades from the installed gapman package (Tier-3)")
|
|
75
|
+
.option("--apply", "Apply a Teacher-signed upgrade mission after hash verification")
|
|
76
|
+
.option("--dry-run", "Print upgrade plan without writing staging dir or mission YAML")
|
|
77
|
+
.option("--json", "Emit structured JSON")
|
|
78
|
+
.option("--msn <id>", "Mission id for upgrade plan (default: next MSN in 9000-9099 band)")
|
|
79
|
+
.option("--mission <path>", "Signed upgrade mission YAML (required for --apply unless pinned)")
|
|
80
|
+
.action((opts) => {
|
|
81
|
+
runUpgrade({
|
|
82
|
+
apply: opts.apply,
|
|
83
|
+
dryRun: opts.dryRun,
|
|
84
|
+
json: opts.json,
|
|
85
|
+
msn: opts.msn,
|
|
86
|
+
mission: opts.mission,
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
program
|
|
90
|
+
.command("triage")
|
|
91
|
+
.description("Foreman-style triage from manifest (SOUL-aligned)")
|
|
92
|
+
.argument("[intent...]", "User intent text")
|
|
93
|
+
.option("--json", "Print JSON only")
|
|
94
|
+
.option("--emit-mission", "Write .gitagent/missions/ACTIVE_MISSION.md from template (DIRECT_EXECUTION only)")
|
|
95
|
+
.option("--msn <id>", "Mission id for --emit-mission", "MSN-0000")
|
|
96
|
+
.option("--out <file>", "Mission output path for --emit-mission (default .gitagent/missions/ACTIVE_MISSION.md; use under .gitagent/missions/ for gapman verify)")
|
|
97
|
+
.action(async function (intentParts) {
|
|
98
|
+
const opts = this.opts();
|
|
99
|
+
let text = intentParts.join(" ").trim();
|
|
100
|
+
text = await readStdinIfEmpty(text);
|
|
101
|
+
if (!text) {
|
|
102
|
+
logError("triage: provide intent text or pipe stdin");
|
|
103
|
+
setExitCode(2);
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
runTriage({
|
|
107
|
+
text,
|
|
108
|
+
json: opts.json,
|
|
109
|
+
emitMission: opts.emitMission,
|
|
110
|
+
msn: opts.msn,
|
|
111
|
+
out: opts.out,
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
program
|
|
115
|
+
.command("start")
|
|
116
|
+
.description("Goal-first orchestration: triage → legislate stub → runtime next steps")
|
|
117
|
+
.argument("[intent...]", "What you want to build")
|
|
118
|
+
.option("--msn <id>", "Mission id (auto-suggested when omitted)")
|
|
119
|
+
.option("--skill-key <key>", "Override Foreman skill_key")
|
|
120
|
+
.option("--gate-command <cmd>", "Deterministic gate command")
|
|
121
|
+
.option("--gate-success-substring <text>", "Gate success substring")
|
|
122
|
+
.option("--no-write", "Skip writing mission file (preview only)")
|
|
123
|
+
.option("--allow-duplicate", "Allow duplicate msn_id (branch migration only)")
|
|
124
|
+
.option("--json", "Emit structured JSON on success")
|
|
125
|
+
.option("--audience <role>", "Tailor next steps: worker|teacher|verifier|platform")
|
|
126
|
+
.action(async function (intentParts) {
|
|
127
|
+
const opts = this.opts();
|
|
128
|
+
let text = intentParts.join(" ").trim();
|
|
129
|
+
text = await readStdinIfEmpty(text);
|
|
130
|
+
if (!text) {
|
|
131
|
+
logError("start: provide intent text or pipe stdin");
|
|
132
|
+
setExitCode(2);
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
runStart({
|
|
136
|
+
intent: text,
|
|
137
|
+
msn: opts.msn,
|
|
138
|
+
skillKey: opts.skillKey,
|
|
139
|
+
gateCommand: opts.gateCommand,
|
|
140
|
+
gateSuccessSubstring: opts.gateSuccessSubstring,
|
|
141
|
+
writeMission: opts.write !== false,
|
|
142
|
+
allowDuplicate: opts.allowDuplicate,
|
|
143
|
+
json: opts.json,
|
|
144
|
+
audience: getOutputAudience(),
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
program
|
|
148
|
+
.command("onboarding")
|
|
149
|
+
.description("Interactive walkthrough of the strict GXT mission loop")
|
|
150
|
+
.action(async () => {
|
|
151
|
+
await runOnboarding();
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=program-core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program-core.js","sourceRoot":"","sources":["../../src/cli/program-core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program-mcp.d.ts","sourceRoot":"","sources":["../../src/cli/program-mcp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAW1D"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export function registerMcpCommands(program) {
|
|
2
|
+
const mcp = program.command("mcp").description("Model Context Protocol bridge for GXT workflows");
|
|
3
|
+
mcp
|
|
4
|
+
.command("serve")
|
|
5
|
+
.description("Start stdio MCP server exposing gxt_* tools")
|
|
6
|
+
.action(async () => {
|
|
7
|
+
// Lazy-load: @modelcontextprotocol/sdk is optional for init/check/doctor paths.
|
|
8
|
+
const { runMcpServe } = await import("./commands/mcp-serve.js");
|
|
9
|
+
await runMcpServe();
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=program-mcp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program-mcp.js","sourceRoot":"","sources":["../../src/cli/program-mcp.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,iDAAiD,CAAC,CAAC;IAElG,GAAG;SACA,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,gFAAgF;QAChF,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAChE,MAAM,WAAW,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program-mission.d.ts","sourceRoot":"","sources":["../../src/cli/program-mission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2DzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwC9D"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { runMissionSnapshot, runMissionValidate } from "./commands/mission.js";
|
|
2
|
+
import { runRuntimeEnv, runRuntimeExecCommand } from "./commands/runtime.js";
|
|
3
|
+
import { parseOptionalTimeoutMs } from "./lib/cli-timeout.js";
|
|
4
|
+
import { logError, setExitCode } from "./lib/cli-io.js";
|
|
5
|
+
function attachRuntimeExec(cmd) {
|
|
6
|
+
cmd
|
|
7
|
+
.command("exec")
|
|
8
|
+
.description("Run worker command with mission env + telemetry capture")
|
|
9
|
+
.requiredOption("--mission <path>", "Mission path (.md or .yaml)")
|
|
10
|
+
.option("--cwd <dir>", "Working directory for worker command")
|
|
11
|
+
.option("--worker-log <path>", "Override WORKER_LOG.md path")
|
|
12
|
+
.option("--append", "Append to WORKER_LOG.md instead of overwrite")
|
|
13
|
+
.option("--timeout-ms <n>", "Kill worker after N milliseconds")
|
|
14
|
+
.option("--no-stream", "Do not mirror worker output to this terminal")
|
|
15
|
+
.option("--json", "Emit final result as JSON")
|
|
16
|
+
.allowUnknownOption(true)
|
|
17
|
+
.passThroughOptions()
|
|
18
|
+
.argument("<workerCommand...>", "Worker command to execute after --")
|
|
19
|
+
.action(async (workerCommand, opts) => {
|
|
20
|
+
const workerArgs = workerCommand.length > 0 && workerCommand[0] === "--"
|
|
21
|
+
? workerCommand.slice(1)
|
|
22
|
+
: workerCommand;
|
|
23
|
+
const to = parseOptionalTimeoutMs(opts.timeoutMs);
|
|
24
|
+
if (!to.ok) {
|
|
25
|
+
logError(to.message);
|
|
26
|
+
setExitCode(2);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
await runRuntimeExecCommand({
|
|
30
|
+
mission: opts.mission,
|
|
31
|
+
workerCommand: workerArgs,
|
|
32
|
+
cwd: opts.cwd,
|
|
33
|
+
workerLog: opts.workerLog,
|
|
34
|
+
append: opts.append,
|
|
35
|
+
timeoutMs: to.ms,
|
|
36
|
+
streamOutput: opts.stream,
|
|
37
|
+
json: opts.json,
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
export function registerMissionCommands(program) {
|
|
42
|
+
const mission = program.command("mission").description("Mission validation + integrity snapshot");
|
|
43
|
+
mission
|
|
44
|
+
.command("validate")
|
|
45
|
+
.description("Validate mission file (markdown or YAML) + schema")
|
|
46
|
+
.requiredOption("--file <path>", "Path to mission .md or .yaml")
|
|
47
|
+
.action((opts) => {
|
|
48
|
+
runMissionValidate(opts.file);
|
|
49
|
+
});
|
|
50
|
+
mission
|
|
51
|
+
.command("snapshot")
|
|
52
|
+
.description("Record start-state snapshot under .gitagent/history/")
|
|
53
|
+
.requiredOption("--file <path>", "Path to mission .md or .yaml")
|
|
54
|
+
.option("--msn <id>", "Override MSN id from file")
|
|
55
|
+
.action((opts) => {
|
|
56
|
+
runMissionSnapshot(opts.file, opts.msn);
|
|
57
|
+
});
|
|
58
|
+
const runtime = program
|
|
59
|
+
.command("runtime")
|
|
60
|
+
.description("Worker Runtime Contract bootstrap (`.gitagent/teacher/RUNTIME.md`)");
|
|
61
|
+
runtime
|
|
62
|
+
.command("env")
|
|
63
|
+
.description("Print exportable env for workers (skill TMVC roots, WORKER_LOG path)")
|
|
64
|
+
.requiredOption("--mission <path>", "Mission path (.md or .yaml)")
|
|
65
|
+
.option("--json", "Emit JSON payload instead of shell exports")
|
|
66
|
+
.option("--format <mode>", "`shell` (default POSIX exports) or `text` KEY=value lines", "shell")
|
|
67
|
+
.action((opts) => {
|
|
68
|
+
if (opts.json === true) {
|
|
69
|
+
runRuntimeEnv({ mission: opts.mission, json: true });
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const format = opts.format === "text" ? "text" : "shell";
|
|
73
|
+
runRuntimeEnv({ mission: opts.mission, format });
|
|
74
|
+
});
|
|
75
|
+
attachRuntimeExec(runtime);
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=program-mission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program-mission.js","sourceRoot":"","sources":["../../src/cli/program-mission.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program-teacher.d.ts","sourceRoot":"","sources":["../../src/cli/program-teacher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkB9D"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { runTeacherSet, runTeacherShow } from "./commands/teacher.js";
|
|
2
|
+
export function registerTeacherCommands(program) {
|
|
3
|
+
const teacher = program.command("teacher").description("Repo-local Teacher identity (git-proof allowlist)");
|
|
4
|
+
teacher
|
|
5
|
+
.command("show")
|
|
6
|
+
.description("Show resolved Teacher emails and source for this repository")
|
|
7
|
+
.option("--json", "Emit structured JSON")
|
|
8
|
+
.action((opts) => {
|
|
9
|
+
runTeacherShow({ json: opts.json });
|
|
10
|
+
});
|
|
11
|
+
teacher
|
|
12
|
+
.command("set")
|
|
13
|
+
.description(`Write ${".gitagent/foreman/TEACHER.allowlist.local"} (gitignored, per-repo)`)
|
|
14
|
+
.argument("<emails...>", "One or more Teacher emails (comma-separated ok)")
|
|
15
|
+
.action((emails) => {
|
|
16
|
+
runTeacherSet({ emails });
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=program-teacher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program-teacher.js","sourceRoot":"","sources":["../../src/cli/program-teacher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEtE,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,mDAAmD,CAAC,CAAC;IAE5G,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,6DAA6D,CAAC;SAC1E,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,CAAC,IAAwB,EAAE,EAAE;QACnC,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,SAAS,2CAA2C,yBAAyB,CAAC;SAC1F,QAAQ,CAAC,aAAa,EAAE,iDAAiD,CAAC;SAC1E,MAAM,CAAC,CAAC,MAAgB,EAAE,EAAE;QAC3B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program-workflow.d.ts","sourceRoot":"","sources":["../../src/cli/program-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyG/D"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { runLegislate } from "./commands/legislate.js";
|
|
2
|
+
import { runMetrics } from "./commands/metrics.js";
|
|
3
|
+
import { runVerify } from "./commands/verify.js";
|
|
4
|
+
import { readStdinIfEmpty } from "./commands/triage.js";
|
|
5
|
+
import { getOutputAudience } from "./lib/output-context.js";
|
|
6
|
+
import { logError, setExitCode } from "./lib/cli-io.js";
|
|
7
|
+
export function registerWorkflowCommands(program) {
|
|
8
|
+
program
|
|
9
|
+
.command("legislate")
|
|
10
|
+
.description("Scaffold YAML mission under .gitagent/missions/ using explicit MSN (Teacher still commits)")
|
|
11
|
+
.argument("[intent...]", "One-line Teacher intent summary")
|
|
12
|
+
.requiredOption("--msn <id>", "Explicit mission id (must match MSN-0007)")
|
|
13
|
+
.option("--skill-key <key>", "Override Foreman-derived skill_key when triage escalates")
|
|
14
|
+
.option("--allow-duplicate", "Allow duplicate msn_id only for intentional branch migrations")
|
|
15
|
+
.option("--out <file>", "Output path (.gitagent/missions/…); defaults to MSN.slug.yaml")
|
|
16
|
+
.option("--gate-command <cmd>", "Deterministic gate command (quote the full shell string if it contains spaces)")
|
|
17
|
+
.option("--gate-success-substring <text>", "Optional substring required in combined gate stdout/stderr")
|
|
18
|
+
.action(async function (intentParts) {
|
|
19
|
+
const opts = this.opts();
|
|
20
|
+
let text = intentParts.join(" ").trim();
|
|
21
|
+
text = await readStdinIfEmpty(text);
|
|
22
|
+
if (!text) {
|
|
23
|
+
logError("legislate: provide intent text or pipe stdin");
|
|
24
|
+
setExitCode(2);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const result = runLegislate({
|
|
28
|
+
intent: text,
|
|
29
|
+
msn: opts.msn,
|
|
30
|
+
skillKey: opts.skillKey,
|
|
31
|
+
out: opts.out,
|
|
32
|
+
allowDuplicate: opts.allowDuplicate,
|
|
33
|
+
gateCommand: opts.gateCommand,
|
|
34
|
+
gateSuccessSubstring: opts.gateSuccessSubstring,
|
|
35
|
+
});
|
|
36
|
+
if (!result.ok)
|
|
37
|
+
setExitCode(result.exitCode);
|
|
38
|
+
});
|
|
39
|
+
program
|
|
40
|
+
.command("verify")
|
|
41
|
+
.description("Git-proof (Teacher + MSN) + deterministic gate + hard-stop trace mapping vs WORKER_LOG.md")
|
|
42
|
+
.requiredOption("--mission <path>", "Mission file (.md or .yaml)")
|
|
43
|
+
.option("--worker-log <path>", "Override WORKER_LOG.md path")
|
|
44
|
+
.option("--cwd <dir>", "Working directory for gate command")
|
|
45
|
+
.option("--fuzzy-trace", "Force content-based anchor matching for all numeric anchors")
|
|
46
|
+
.option("--strict-trace", "Disable auto line-drift resolution (strict line numbers only)")
|
|
47
|
+
.option("--pre-push", "Pre-push handoff: git-proof only for legislative stubs; full verify otherwise")
|
|
48
|
+
.option("--break-glass", "Skip all verify gates when GXT_BYPASS_SECRET is authorized")
|
|
49
|
+
.option("--reason <text>", "Mandatory break-glass reason (min 10 characters)")
|
|
50
|
+
.option("--commit <sha>", "Git commit to attach break-glass note (default HEAD)")
|
|
51
|
+
.option("--audit-commit", "Write break-glass audit as empty commit instead of git note")
|
|
52
|
+
.option("--fix", "Interactive remediation menu on verify failure")
|
|
53
|
+
.option("--non-interactive", "With --fix: print structured hints without prompts")
|
|
54
|
+
.option("--audience <role>", "Tailor output: worker|teacher|verifier|platform")
|
|
55
|
+
.action(async (opts) => {
|
|
56
|
+
await runVerify({
|
|
57
|
+
mission: opts.mission,
|
|
58
|
+
workerLog: opts.workerLog,
|
|
59
|
+
cwd: opts.cwd,
|
|
60
|
+
fuzzyTrace: opts.fuzzyTrace,
|
|
61
|
+
strictTrace: opts.strictTrace,
|
|
62
|
+
prePush: opts.prePush,
|
|
63
|
+
breakGlass: opts.breakGlass,
|
|
64
|
+
breakGlassReason: opts.reason,
|
|
65
|
+
breakGlassCommit: opts.commit,
|
|
66
|
+
auditCommit: opts.auditCommit,
|
|
67
|
+
fix: opts.fix,
|
|
68
|
+
fixNonInteractive: opts.nonInteractive,
|
|
69
|
+
audience: getOutputAudience(),
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
program
|
|
73
|
+
.command("metrics")
|
|
74
|
+
.description("Git-native governance metrics (no local event ledger)")
|
|
75
|
+
.option("--json", "Emit stable JSON summary")
|
|
76
|
+
.option("--ref <name>", "Git ref to analyze (default HEAD)", "HEAD")
|
|
77
|
+
.action((opts) => {
|
|
78
|
+
runMetrics({ json: opts.json, ref: opts.ref });
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=program-workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program-workflow.js","sourceRoot":"","sources":["../../src/cli/program-workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,wBAAgB,YAAY,IAAI,OAAO,CAkBtC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { CLI_NAME, CLI_VERSION } from "./lib/constants.js";
|
|
3
|
+
import { registerAudiencePreActionHook } from "./lib/program-audience-hook.js";
|
|
4
|
+
import { registerCoreCommands } from "./program-core.js";
|
|
5
|
+
import { registerArchCommands } from "./program-arch.js";
|
|
6
|
+
import { registerMissionCommands } from "./program-mission.js";
|
|
7
|
+
import { registerWorkflowCommands } from "./program-workflow.js";
|
|
8
|
+
import { registerMcpCommands } from "./program-mcp.js";
|
|
9
|
+
import { registerTeacherCommands } from "./program-teacher.js";
|
|
10
|
+
export { CLI_VERSION } from "./lib/constants.js";
|
|
11
|
+
export function buildProgram() {
|
|
12
|
+
const program = new Command();
|
|
13
|
+
program.enablePositionalOptions(true);
|
|
14
|
+
program.name(CLI_NAME).description("OpenGantry GXT CLI (MVP)").version(CLI_VERSION);
|
|
15
|
+
program.option("--audience <role>", "Tailor stdout/stderr: worker|teacher|verifier|platform (also GXT_AUDIENCE env)");
|
|
16
|
+
registerAudiencePreActionHook(program);
|
|
17
|
+
registerCoreCommands(program);
|
|
18
|
+
registerArchCommands(program);
|
|
19
|
+
registerMissionCommands(program);
|
|
20
|
+
registerWorkflowCommands(program);
|
|
21
|
+
registerMcpCommands(program);
|
|
22
|
+
registerTeacherCommands(program);
|
|
23
|
+
return program;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=program.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACpF,OAAO,CAAC,MAAM,CACZ,mBAAmB,EACnB,gFAAgF,CACjF,CAAC;IACF,6BAA6B,CAAC,OAAO,CAAC,CAAC;IAEvC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAEjC,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@jeger-ai/opengantry",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "OpenGantry GXT substrate + gapman CLI",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"gapman": "dist/cli/index.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"dist",
|
|
11
|
+
"!dist/cli/tests",
|
|
12
|
+
"templates",
|
|
13
|
+
"README.md",
|
|
14
|
+
"LICENSE",
|
|
15
|
+
"NOTICE"
|
|
16
|
+
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"gen:version": "node scripts/gen-version.mjs",
|
|
19
|
+
"build": "npm run gen:version && tsc",
|
|
20
|
+
"gapman": "node dist/cli/index.js",
|
|
21
|
+
"lint": "eslint src/cli/**/*.ts",
|
|
22
|
+
"check:changed": "./scripts/check-changed-code.sh",
|
|
23
|
+
"validate": "./scripts/dev-validate.sh",
|
|
24
|
+
"prepublishOnly": "npm run build && npm test",
|
|
25
|
+
"pack:check": "./scripts/npm-pack-check.sh",
|
|
26
|
+
"test": "npm run build && node --test dist/cli/tests/*.test.js"
|
|
27
|
+
},
|
|
28
|
+
"publishConfig": {
|
|
29
|
+
"access": "public",
|
|
30
|
+
"provenance": true
|
|
31
|
+
},
|
|
32
|
+
"keywords": [
|
|
33
|
+
"gxt",
|
|
34
|
+
"gapman",
|
|
35
|
+
"ai-agents",
|
|
36
|
+
"governance",
|
|
37
|
+
"devtools"
|
|
38
|
+
],
|
|
39
|
+
"engines": {
|
|
40
|
+
"node": ">=24"
|
|
41
|
+
},
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"@eslint/js": "^9.28.0",
|
|
44
|
+
"@types/node": "^24.0.0",
|
|
45
|
+
"eslint": "^9.28.0",
|
|
46
|
+
"typescript": "^5.7.2",
|
|
47
|
+
"typescript-eslint": "^8.33.0"
|
|
48
|
+
},
|
|
49
|
+
"dependencies": {
|
|
50
|
+
"@clack/prompts": "^0.10.1",
|
|
51
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
52
|
+
"commander": "^12.1.0",
|
|
53
|
+
"yaml": "^2.6.1",
|
|
54
|
+
"zod": "^3.25.76"
|
|
55
|
+
},
|
|
56
|
+
"repository": {
|
|
57
|
+
"type": "git",
|
|
58
|
+
"url": "git+https://github.com/jeger-ai/opengantry.git"
|
|
59
|
+
},
|
|
60
|
+
"author": "Juergen Eger",
|
|
61
|
+
"license": "Apache-2.0",
|
|
62
|
+
"bugs": {
|
|
63
|
+
"url": "https://github.com/jeger-ai/opengantry/issues"
|
|
64
|
+
},
|
|
65
|
+
"homepage": "https://github.com/jeger-ai/opengantry#readme"
|
|
66
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Cursor beforeShellExecution — lightweight GXT substrate guard (deterministic fallback).
|
|
3
|
+
# Primary legislation gate is MCP two-step draft/execute; this hook covers non-MCP shell paths.
|
|
4
|
+
set -euo pipefail
|
|
5
|
+
|
|
6
|
+
input="$(cat)"
|
|
7
|
+
command="$(
|
|
8
|
+
printf '%s' "$input" | node -e '
|
|
9
|
+
let s = "";
|
|
10
|
+
process.stdin.on("data", (c) => (s += c));
|
|
11
|
+
process.stdin.on("end", () => {
|
|
12
|
+
try {
|
|
13
|
+
const j = JSON.parse(s);
|
|
14
|
+
process.stdout.write(String(j.command ?? ""));
|
|
15
|
+
} catch {
|
|
16
|
+
process.stdout.write("");
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
'
|
|
20
|
+
)"
|
|
21
|
+
|
|
22
|
+
allow() {
|
|
23
|
+
printf '%s\n' '{"permission":"allow"}'
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
ask() {
|
|
27
|
+
local user_msg="$1"
|
|
28
|
+
local agent_msg="$2"
|
|
29
|
+
node -e '
|
|
30
|
+
const user = process.argv[1];
|
|
31
|
+
const agent = process.argv[2];
|
|
32
|
+
process.stdout.write(JSON.stringify({
|
|
33
|
+
permission: "ask",
|
|
34
|
+
user_message: user,
|
|
35
|
+
agent_message: agent,
|
|
36
|
+
}));
|
|
37
|
+
' "$user_msg" "$agent_msg"
|
|
38
|
+
printf '\n'
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if [ -z "$command" ]; then
|
|
42
|
+
allow
|
|
43
|
+
exit 0
|
|
44
|
+
fi
|
|
45
|
+
|
|
46
|
+
# Block casual shell writes to GXT law/manifest — Teacher legislation required.
|
|
47
|
+
if printf '%s' "$command" | grep -qE '\.gitagent/foreman/|\.gitagent/teacher/RULES\.md'; then
|
|
48
|
+
ask \
|
|
49
|
+
"Shell command touches GXT law or manifest. Confirm this is under an active Teacher mission." \
|
|
50
|
+
"Direct shell edits to .gitagent/foreman/ or .gitagent/teacher/RULES.md require Teacher legislation ([MSN-NNNN] commit). Prefer gxt_draft_legislation + gxt_execute_legislation MCP tools."
|
|
51
|
+
exit 0
|
|
52
|
+
fi
|
|
53
|
+
|
|
54
|
+
# Fallback guard when agents bypass MCP and run legislate via raw shell.
|
|
55
|
+
if printf '%s' "$command" | grep -qE '(^|[[:space:]/])gapman[[:space:]]+legislate\b'; then
|
|
56
|
+
ask \
|
|
57
|
+
"Shell command runs gapman legislate directly. Confirm you intend to write mission law outside the MCP draft/execute gate." \
|
|
58
|
+
"Prefer MCP: gxt_draft_legislation (preview) → human chat approval → gxt_execute_legislation. Shell legislate is a fallback path only."
|
|
59
|
+
exit 0
|
|
60
|
+
fi
|
|
61
|
+
|
|
62
|
+
allow
|
|
63
|
+
exit 0
|