@entelligentsia/forgecli 1.0.25 → 1.0.36
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/CHANGELOG.md +258 -0
- package/README.md +2 -0
- package/dist/CHANGELOG-forge-plugin.md +163 -0
- package/dist/bin/argv.d.ts +2 -2
- package/dist/bin/argv.js +25 -0
- package/dist/bin/argv.js.map +1 -1
- package/dist/bin/forge.js +12 -0
- package/dist/bin/forge.js.map +1 -1
- package/dist/bin/init.d.ts +23 -0
- package/dist/bin/init.js +123 -0
- package/dist/bin/init.js.map +1 -0
- package/dist/bin/uninstall.d.ts +20 -0
- package/dist/bin/uninstall.js +141 -0
- package/dist/bin/uninstall.js.map +1 -0
- package/dist/extensions/forgecli/add-pipeline.d.ts +19 -0
- package/dist/extensions/forgecli/add-pipeline.js +143 -0
- package/dist/extensions/forgecli/add-pipeline.js.map +1 -0
- package/dist/extensions/forgecli/add-task.d.ts +20 -0
- package/dist/extensions/forgecli/add-task.js +154 -0
- package/dist/extensions/forgecli/add-task.js.map +1 -0
- package/dist/extensions/forgecli/approve.d.ts +22 -0
- package/dist/extensions/forgecli/approve.js +152 -0
- package/dist/extensions/forgecli/approve.js.map +1 -0
- package/dist/extensions/forgecli/banner.d.ts +10 -0
- package/dist/extensions/forgecli/banner.js +36 -0
- package/dist/extensions/forgecli/banner.js.map +1 -0
- package/dist/extensions/forgecli/calibrate.d.ts +64 -0
- package/dist/extensions/forgecli/calibrate.js +481 -0
- package/dist/extensions/forgecli/calibrate.js.map +1 -0
- package/dist/extensions/forgecli/claude-bootstrap/bootstrap.d.ts +40 -0
- package/dist/extensions/forgecli/claude-bootstrap/bootstrap.js +593 -0
- package/dist/extensions/forgecli/claude-bootstrap/bootstrap.js.map +1 -0
- package/dist/extensions/forgecli/claude-bootstrap/settings-merge.d.ts +46 -0
- package/dist/extensions/forgecli/claude-bootstrap/settings-merge.js +245 -0
- package/dist/extensions/forgecli/claude-bootstrap/settings-merge.js.map +1 -0
- package/dist/extensions/forgecli/claude-bootstrap/uninstall.d.ts +23 -0
- package/dist/extensions/forgecli/claude-bootstrap/uninstall.js +215 -0
- package/dist/extensions/forgecli/claude-bootstrap/uninstall.js.map +1 -0
- package/dist/extensions/forgecli/collate.d.ts +22 -0
- package/dist/extensions/forgecli/collate.js +134 -0
- package/dist/extensions/forgecli/collate.js.map +1 -0
- package/dist/extensions/forgecli/commit.d.ts +22 -0
- package/dist/extensions/forgecli/commit.js +152 -0
- package/dist/extensions/forgecli/commit.js.map +1 -0
- package/dist/extensions/forgecli/config-command.d.ts +8 -0
- package/dist/extensions/forgecli/config-command.js +67 -0
- package/dist/extensions/forgecli/config-command.js.map +1 -0
- package/dist/extensions/forgecli/config-layer.d.ts +53 -0
- package/dist/extensions/forgecli/config-layer.js +72 -0
- package/dist/extensions/forgecli/config-layer.js.map +1 -0
- package/dist/extensions/forgecli/config-writer.d.ts +16 -0
- package/dist/extensions/forgecli/config-writer.js +69 -0
- package/dist/extensions/forgecli/config-writer.js.map +1 -0
- package/dist/extensions/forgecli/dashboard/component.js +10 -7
- package/dist/extensions/forgecli/dashboard/component.js.map +1 -1
- package/dist/extensions/forgecli/enhance.d.ts +27 -0
- package/dist/extensions/forgecli/enhance.js +199 -0
- package/dist/extensions/forgecli/enhance.js.map +1 -0
- package/dist/extensions/forgecli/fix-bug.d.ts +85 -0
- package/dist/extensions/forgecli/fix-bug.js +1580 -0
- package/dist/extensions/forgecli/fix-bug.js.map +1 -0
- package/dist/extensions/forgecli/forge-header.d.ts +12 -0
- package/dist/extensions/forgecli/forge-header.js +114 -0
- package/dist/extensions/forgecli/forge-header.js.map +1 -0
- package/dist/extensions/forgecli/forge-init.d.ts +26 -0
- package/dist/extensions/forgecli/forge-init.js +514 -0
- package/dist/extensions/forgecli/forge-init.js.map +1 -0
- package/dist/extensions/forgecli/forge-root.d.ts +10 -0
- package/dist/extensions/forgecli/forge-root.js +62 -0
- package/dist/extensions/forgecli/forge-root.js.map +1 -0
- package/dist/extensions/forgecli/forge-update-command.d.ts +100 -0
- package/dist/extensions/forgecli/forge-update-command.js +435 -0
- package/dist/extensions/forgecli/forge-update-command.js.map +1 -0
- package/dist/extensions/forgecli/friction-emit.d.ts +99 -0
- package/dist/extensions/forgecli/friction-emit.js +245 -0
- package/dist/extensions/forgecli/friction-emit.js.map +1 -0
- package/dist/extensions/forgecli/implement.d.ts +22 -0
- package/dist/extensions/forgecli/implement.js +170 -0
- package/dist/extensions/forgecli/implement.js.map +1 -0
- package/dist/extensions/forgecli/init-context.d.ts +99 -0
- package/dist/extensions/forgecli/init-context.js +178 -0
- package/dist/extensions/forgecli/init-context.js.map +1 -0
- package/dist/extensions/forgecli/init-progress.d.ts +39 -0
- package/dist/extensions/forgecli/init-progress.js +117 -0
- package/dist/extensions/forgecli/init-progress.js.map +1 -0
- package/dist/extensions/forgecli/input-router.d.ts +33 -0
- package/dist/extensions/forgecli/input-router.js +136 -0
- package/dist/extensions/forgecli/input-router.js.map +1 -0
- package/dist/extensions/forgecli/lib/halt-advisor.d.ts +59 -0
- package/dist/extensions/forgecli/lib/halt-advisor.js +113 -0
- package/dist/extensions/forgecli/lib/halt-advisor.js.map +1 -0
- package/dist/extensions/forgecli/lib/orchestrator-preflight.d.ts +46 -0
- package/dist/extensions/forgecli/lib/orchestrator-preflight.js +64 -0
- package/dist/extensions/forgecli/lib/orchestrator-preflight.js.map +1 -0
- package/dist/extensions/forgecli/materialize.d.ts +16 -0
- package/dist/extensions/forgecli/materialize.js +195 -0
- package/dist/extensions/forgecli/materialize.js.map +1 -0
- package/dist/extensions/forgecli/migrate.d.ts +22 -0
- package/dist/extensions/forgecli/migrate.js +260 -0
- package/dist/extensions/forgecli/migrate.js.map +1 -0
- package/dist/extensions/forgecli/migration-engine.d.ts +117 -0
- package/dist/extensions/forgecli/migration-engine.js +563 -0
- package/dist/extensions/forgecli/migration-engine.js.map +1 -0
- package/dist/extensions/forgecli/model-registry.d.ts +61 -0
- package/dist/extensions/forgecli/model-registry.js +127 -0
- package/dist/extensions/forgecli/model-registry.js.map +1 -0
- package/dist/extensions/forgecli/model-resolver.d.ts +32 -0
- package/dist/extensions/forgecli/model-resolver.js +65 -0
- package/dist/extensions/forgecli/model-resolver.js.map +1 -0
- package/dist/extensions/forgecli/model-validator.d.ts +29 -0
- package/dist/extensions/forgecli/model-validator.js +107 -0
- package/dist/extensions/forgecli/model-validator.js.map +1 -0
- package/dist/extensions/forgecli/orchestrator-status-bar.d.ts +26 -0
- package/dist/extensions/forgecli/orchestrator-status-bar.js +213 -0
- package/dist/extensions/forgecli/orchestrator-status-bar.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-body.d.ts +1 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-body.js +65 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-body.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-id.d.ts +23 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-id.js +140 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-id.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-phase-dispatch.d.ts +54 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-phase-dispatch.js +349 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-phase-dispatch.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-phases.d.ts +8 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-phases.js +60 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-phases.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-state.d.ts +14 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-state.js +100 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-state.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-triage-routing.d.ts +72 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-triage-routing.js +204 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-triage-routing.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-verdict-loop.d.ts +38 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-verdict-loop.js +166 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-verdict-loop.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-verdict.d.ts +3 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-verdict.js +55 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-verdict.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/bug/run-bug-command.d.ts +7 -0
- package/dist/extensions/forgecli/orchestrators/bug/run-bug-command.js +293 -0
- package/dist/extensions/forgecli/orchestrators/bug/run-bug-command.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/bug/run-bug-pipeline.d.ts +2 -0
- package/dist/extensions/forgecli/orchestrators/bug/run-bug-pipeline.js +501 -0
- package/dist/extensions/forgecli/orchestrators/bug/run-bug-pipeline.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/bug/run-bug-types.d.ts +41 -0
- package/dist/extensions/forgecli/orchestrators/bug/run-bug-types.js +5 -0
- package/dist/extensions/forgecli/orchestrators/bug/run-bug-types.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/common/orchestrator-entry.d.ts +43 -0
- package/dist/extensions/forgecli/orchestrators/common/orchestrator-entry.js +85 -0
- package/dist/extensions/forgecli/orchestrators/common/orchestrator-entry.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/common/orchestrator-misc.d.ts +8 -0
- package/dist/extensions/forgecli/orchestrators/common/orchestrator-misc.js +37 -0
- package/dist/extensions/forgecli/orchestrators/common/orchestrator-misc.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/common/orchestrator-notify.d.ts +28 -0
- package/dist/extensions/forgecli/orchestrators/common/orchestrator-notify.js +45 -0
- package/dist/extensions/forgecli/orchestrators/common/orchestrator-notify.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/common/orchestrator-transcript-session.d.ts +26 -0
- package/dist/extensions/forgecli/orchestrators/common/orchestrator-transcript-session.js +75 -0
- package/dist/extensions/forgecli/orchestrators/common/orchestrator-transcript-session.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/common/summary-recovery.d.ts +24 -0
- package/dist/extensions/forgecli/orchestrators/common/summary-recovery.js +37 -0
- package/dist/extensions/forgecli/orchestrators/common/summary-recovery.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/fix-bug.d.ts +9 -93
- package/dist/extensions/forgecli/orchestrators/fix-bug.js +23 -1721
- package/dist/extensions/forgecli/orchestrators/fix-bug.js.map +1 -1
- package/dist/extensions/forgecli/orchestrators/run-sprint.d.ts +3 -12
- package/dist/extensions/forgecli/orchestrators/run-sprint.js +48 -270
- package/dist/extensions/forgecli/orchestrators/run-sprint.js.map +1 -1
- package/dist/extensions/forgecli/orchestrators/run-task.d.ts +10 -214
- package/dist/extensions/forgecli/orchestrators/run-task.js +31 -1481
- package/dist/extensions/forgecli/orchestrators/run-task.js.map +1 -1
- package/dist/extensions/forgecli/orchestrators/sprint/sprint-ceremony.d.ts +33 -0
- package/dist/extensions/forgecli/orchestrators/sprint/sprint-ceremony.js +135 -0
- package/dist/extensions/forgecli/orchestrators/sprint/sprint-ceremony.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/sprint/sprint-state.d.ts +18 -0
- package/dist/extensions/forgecli/orchestrators/sprint/sprint-state.js +55 -0
- package/dist/extensions/forgecli/orchestrators/sprint/sprint-state.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/task/run-task-command.d.ts +9 -0
- package/dist/extensions/forgecli/orchestrators/task/run-task-command.js +174 -0
- package/dist/extensions/forgecli/orchestrators/task/run-task-command.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/task/run-task-pipeline.d.ts +2 -0
- package/dist/extensions/forgecli/orchestrators/task/run-task-pipeline.js +494 -0
- package/dist/extensions/forgecli/orchestrators/task/run-task-pipeline.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/task/run-task-types.d.ts +62 -0
- package/dist/extensions/forgecli/orchestrators/task/run-task-types.js +5 -0
- package/dist/extensions/forgecli/orchestrators/task/run-task-types.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/task/task-body.d.ts +4 -0
- package/dist/extensions/forgecli/orchestrators/task/task-body.js +48 -0
- package/dist/extensions/forgecli/orchestrators/task/task-body.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/task/task-events.d.ts +63 -0
- package/dist/extensions/forgecli/orchestrators/task/task-events.js +185 -0
- package/dist/extensions/forgecli/orchestrators/task/task-events.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/task/task-gates.d.ts +34 -0
- package/dist/extensions/forgecli/orchestrators/task/task-gates.js +78 -0
- package/dist/extensions/forgecli/orchestrators/task/task-gates.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/task/task-phase-dispatch.d.ts +42 -0
- package/dist/extensions/forgecli/orchestrators/task/task-phase-dispatch.js +370 -0
- package/dist/extensions/forgecli/orchestrators/task/task-phase-dispatch.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/task/task-phases.d.ts +14 -0
- package/dist/extensions/forgecli/orchestrators/task/task-phases.js +26 -0
- package/dist/extensions/forgecli/orchestrators/task/task-phases.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/task/task-record.d.ts +9 -0
- package/dist/extensions/forgecli/orchestrators/task/task-record.js +58 -0
- package/dist/extensions/forgecli/orchestrators/task/task-record.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/task/task-state.d.ts +14 -0
- package/dist/extensions/forgecli/orchestrators/task/task-state.js +35 -0
- package/dist/extensions/forgecli/orchestrators/task/task-state.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/task/task-verdict-loop.d.ts +36 -0
- package/dist/extensions/forgecli/orchestrators/task/task-verdict-loop.js +152 -0
- package/dist/extensions/forgecli/orchestrators/task/task-verdict-loop.js.map +1 -0
- package/dist/extensions/forgecli/plan.d.ts +22 -0
- package/dist/extensions/forgecli/plan.js +167 -0
- package/dist/extensions/forgecli/plan.js.map +1 -0
- package/dist/extensions/forgecli/quiz-agent.d.ts +17 -0
- package/dist/extensions/forgecli/quiz-agent.js +98 -0
- package/dist/extensions/forgecli/quiz-agent.js.map +1 -0
- package/dist/extensions/forgecli/read-command.d.ts +2 -0
- package/dist/extensions/forgecli/read-command.js +100 -0
- package/dist/extensions/forgecli/read-command.js.map +1 -0
- package/dist/extensions/forgecli/regenerate.d.ts +40 -0
- package/dist/extensions/forgecli/regenerate.js +438 -0
- package/dist/extensions/forgecli/regenerate.js.map +1 -0
- package/dist/extensions/forgecli/remove-command.d.ts +17 -0
- package/dist/extensions/forgecli/remove-command.js +124 -0
- package/dist/extensions/forgecli/remove-command.js.map +1 -0
- package/dist/extensions/forgecli/report-bug.d.ts +25 -0
- package/dist/extensions/forgecli/report-bug.js +159 -0
- package/dist/extensions/forgecli/report-bug.js.map +1 -0
- package/dist/extensions/forgecli/retrospective.d.ts +20 -0
- package/dist/extensions/forgecli/retrospective.js +126 -0
- package/dist/extensions/forgecli/retrospective.js.map +1 -0
- package/dist/extensions/forgecli/review-code.d.ts +35 -0
- package/dist/extensions/forgecli/review-code.js +196 -0
- package/dist/extensions/forgecli/review-code.js.map +1 -0
- package/dist/extensions/forgecli/review-plan.d.ts +35 -0
- package/dist/extensions/forgecli/review-plan.js +200 -0
- package/dist/extensions/forgecli/review-plan.js.map +1 -0
- package/dist/extensions/forgecli/run-sprint.d.ts +27 -0
- package/dist/extensions/forgecli/run-sprint.js +716 -0
- package/dist/extensions/forgecli/run-sprint.js.map +1 -0
- package/dist/extensions/forgecli/run-task.d.ts +204 -0
- package/dist/extensions/forgecli/run-task.js +1403 -0
- package/dist/extensions/forgecli/run-task.js.map +1 -0
- package/dist/extensions/forgecli/skill-curation-flag.d.ts +21 -0
- package/dist/extensions/forgecli/skill-curation-flag.js +71 -0
- package/dist/extensions/forgecli/skill-curation-flag.js.map +1 -0
- package/dist/extensions/forgecli/skill-curator-subagent.d.ts +102 -0
- package/dist/extensions/forgecli/skill-curator-subagent.js +339 -0
- package/dist/extensions/forgecli/skill-curator-subagent.js.map +1 -0
- package/dist/extensions/forgecli/skill-retriever.d.ts +84 -0
- package/dist/extensions/forgecli/skill-retriever.js +246 -0
- package/dist/extensions/forgecli/skill-retriever.js.map +1 -0
- package/dist/extensions/forgecli/skill-usage-tracker.d.ts +91 -0
- package/dist/extensions/forgecli/skill-usage-tracker.js +224 -0
- package/dist/extensions/forgecli/skill-usage-tracker.js.map +1 -0
- package/dist/extensions/forgecli/sprint-intake.d.ts +10 -0
- package/dist/extensions/forgecli/sprint-intake.js +91 -0
- package/dist/extensions/forgecli/sprint-intake.js.map +1 -0
- package/dist/extensions/forgecli/sprint-plan.d.ts +14 -0
- package/dist/extensions/forgecli/sprint-plan.js +122 -0
- package/dist/extensions/forgecli/sprint-plan.js.map +1 -0
- package/dist/extensions/forgecli/status-command.d.ts +19 -0
- package/dist/extensions/forgecli/status-command.js +140 -0
- package/dist/extensions/forgecli/status-command.js.map +1 -0
- package/dist/extensions/forgecli/store-error-remediation.d.ts +65 -0
- package/dist/extensions/forgecli/store-error-remediation.js +307 -0
- package/dist/extensions/forgecli/store-error-remediation.js.map +1 -0
- package/dist/extensions/forgecli/store-query.d.ts +22 -0
- package/dist/extensions/forgecli/store-query.js +107 -0
- package/dist/extensions/forgecli/store-query.js.map +1 -0
- package/dist/extensions/forgecli/store-repair.d.ts +17 -0
- package/dist/extensions/forgecli/store-repair.js +123 -0
- package/dist/extensions/forgecli/store-repair.js.map +1 -0
- package/dist/extensions/forgecli/store-resolver.d.ts +56 -0
- package/dist/extensions/forgecli/store-resolver.js +263 -0
- package/dist/extensions/forgecli/store-resolver.js.map +1 -0
- package/dist/extensions/forgecli/store-validator.d.ts +16 -0
- package/dist/extensions/forgecli/store-validator.js +32 -0
- package/dist/extensions/forgecli/store-validator.js.map +1 -0
- package/dist/extensions/forgecli/test-orchestrate.d.ts +2 -0
- package/dist/extensions/forgecli/test-orchestrate.js +182 -0
- package/dist/extensions/forgecli/test-orchestrate.js.map +1 -0
- package/dist/extensions/forgecli/thread-switcher.d.ts +5 -0
- package/dist/extensions/forgecli/thread-switcher.js +189 -0
- package/dist/extensions/forgecli/thread-switcher.js.map +1 -0
- package/dist/extensions/forgecli/transition-guard.d.ts +20 -0
- package/dist/extensions/forgecli/transition-guard.js +89 -0
- package/dist/extensions/forgecli/transition-guard.js.map +1 -0
- package/dist/extensions/forgecli/update/forge-update-command.js +10 -7
- package/dist/extensions/forgecli/update/forge-update-command.js.map +1 -1
- package/dist/extensions/forgecli/update-check.d.ts +37 -0
- package/dist/extensions/forgecli/update-check.js +185 -0
- package/dist/extensions/forgecli/update-check.js.map +1 -0
- package/dist/extensions/forgecli/update-tools.d.ts +23 -0
- package/dist/extensions/forgecli/update-tools.js +135 -0
- package/dist/extensions/forgecli/update-tools.js.map +1 -0
- package/dist/extensions/forgecli/validate.d.ts +22 -0
- package/dist/extensions/forgecli/validate.js +152 -0
- package/dist/extensions/forgecli/validate.js.map +1 -0
- package/dist/extensions/forgecli/viewport-events.d.ts +78 -0
- package/dist/extensions/forgecli/viewport-events.js +243 -0
- package/dist/extensions/forgecli/viewport-events.js.map +1 -0
- package/dist/extensions/forgecli/viewport-renderer.d.ts +83 -0
- package/dist/extensions/forgecli/viewport-renderer.js +233 -0
- package/dist/extensions/forgecli/viewport-renderer.js.map +1 -0
- package/dist/extensions/forgecli/viewport-theme.d.ts +11 -0
- package/dist/extensions/forgecli/viewport-theme.js +128 -0
- package/dist/extensions/forgecli/viewport-theme.js.map +1 -0
- package/dist/extensions/forgecli/whats-new-widget.d.ts +26 -0
- package/dist/extensions/forgecli/whats-new-widget.js +376 -0
- package/dist/extensions/forgecli/whats-new-widget.js.map +1 -0
- package/dist/extensions/forgecli/whats-new.d.ts +120 -0
- package/dist/extensions/forgecli/whats-new.js +470 -0
- package/dist/extensions/forgecli/whats-new.js.map +1 -0
- package/dist/forge-payload/.base-pack/commands/approve.md +2 -2
- package/dist/forge-payload/.base-pack/commands/check-agent.md +2 -2
- package/dist/forge-payload/.base-pack/commands/collate.md +2 -2
- package/dist/forge-payload/.base-pack/commands/commit.md +2 -2
- package/dist/forge-payload/.base-pack/commands/enhance.md +2 -2
- package/dist/forge-payload/.base-pack/commands/fix-bug.md +2 -2
- package/dist/forge-payload/.base-pack/commands/implement.md +2 -2
- package/dist/forge-payload/.base-pack/commands/init.md +278 -0
- package/dist/forge-payload/.base-pack/commands/new-sprint.md +2 -2
- package/dist/forge-payload/.base-pack/commands/plan-sprint.md +2 -2
- package/dist/forge-payload/.base-pack/commands/plan.md +2 -2
- package/dist/forge-payload/.base-pack/commands/retro.md +2 -2
- package/dist/forge-payload/.base-pack/commands/review-code.md +2 -2
- package/dist/forge-payload/.base-pack/commands/review-plan.md +2 -2
- package/dist/forge-payload/.base-pack/commands/run-sprint.md +2 -2
- package/dist/forge-payload/.base-pack/commands/run-task.md +2 -2
- package/dist/forge-payload/.base-pack/commands/validate.md +2 -2
- package/dist/forge-payload/.base-pack/workflows/collator_agent.md +5 -6
- package/dist/forge-payload/.base-pack/workflows/migrate_structural.md +1 -1
- package/dist/forge-payload/.base-pack/workflows-js/wfl-init.js +449 -0
- package/dist/forge-payload/.claude-plugin/plugin.json +1 -1
- package/dist/forge-payload/.schemas/enum-catalog.json +2 -2
- package/dist/forge-payload/.schemas/migrations.json +85 -0
- package/dist/forge-payload/commands/add-pipeline.md +1 -1
- package/dist/forge-payload/commands/add-task.md +3 -3
- package/dist/forge-payload/commands/ask.md +1 -1
- package/dist/forge-payload/commands/check-agent.md +1 -1
- package/dist/forge-payload/commands/config.md +1 -1
- package/dist/forge-payload/commands/health.md +1 -1
- package/dist/forge-payload/commands/init.md +62 -7
- package/dist/forge-payload/commands/rebuild.md +3 -3
- package/dist/forge-payload/commands/remove.md +1 -1
- package/dist/forge-payload/commands/repair.md +1 -1
- package/dist/forge-payload/commands/report-bug.md +1 -1
- package/dist/forge-payload/commands/status.md +1 -1
- package/dist/forge-payload/commands/update.md +3 -3
- package/dist/forge-payload/hooks/lib/common.cjs +228 -0
- package/dist/forge-payload/hooks/lib/plugin-detection.cjs +106 -0
- package/dist/forge-payload/hooks/lib/update-msg.cjs +23 -0
- package/dist/forge-payload/hooks/lib/update-url.cjs +46 -0
- package/dist/forge-payload/hooks/lib/write-registry.js +53 -0
- package/dist/forge-payload/init/discovery/discover-database.md +32 -0
- package/dist/forge-payload/init/discovery/discover-processes.md +31 -0
- package/dist/forge-payload/init/discovery/discover-routing.md +31 -0
- package/dist/forge-payload/init/discovery/discover-stack.md +33 -0
- package/dist/forge-payload/init/discovery/discover-testing.md +34 -0
- package/dist/forge-payload/init/generation/generate-commands.md +171 -0
- package/dist/forge-payload/init/generation/generate-kb-doc.md +60 -0
- package/dist/forge-payload/init/generation/generate-knowledge-base.md +56 -0
- package/dist/forge-payload/init/generation/generate-persona.md +73 -0
- package/dist/forge-payload/init/generation/generate-personas.md +54 -0
- package/dist/forge-payload/init/generation/generate-skill.md +66 -0
- package/dist/forge-payload/init/generation/generate-skills.md +36 -0
- package/dist/forge-payload/init/generation/generate-template.md +60 -0
- package/dist/forge-payload/init/generation/generate-templates.md +39 -0
- package/dist/forge-payload/init/generation/generate-tools.md +133 -0
- package/dist/forge-payload/init/generation/generate-workflows.md +78 -0
- package/dist/forge-payload/init/phases/phase-1-collect.md +10 -2
- package/dist/forge-payload/init/phases/phase-3-materialize.md +1 -1
- package/dist/forge-payload/init/phases/phase-4-register.md +8 -0
- package/dist/forge-payload/init/workflow-gen-plan.json +17 -0
- package/dist/forge-payload/integrity.json +16 -16
- package/dist/forge-payload/meta/workflows/meta-collate.md +5 -6
- package/dist/forge-payload/meta/workflows/meta-migrate.md +1 -1
- package/dist/forge-payload/schemas/enum-catalog.json +2 -2
- package/dist/forge-payload/schemas/structure-manifest.json +3 -12
- package/dist/forge-payload/tools/forge-preflight.cjs +268 -0
- package/dist/forge-payload/tools/lib/paths.cjs +12 -11
- package/dist/forge-payload/tools/lib/pricing.cjs +31 -11
- package/dist/forge-payload/tools/query-logger.cjs +34 -0
- package/dist/forge-payload/tools/substitute-placeholders.cjs +5 -6
- package/node_modules/@mariozechner/clipboard/package.json +1 -2
- package/package.json +2 -2
- package/node_modules/@mariozechner/clipboard-linux-x64-musl/README.md +0 -3
- package/node_modules/@mariozechner/clipboard-linux-x64-musl/package.json +0 -25
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-curator-subagent.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/skill-curator-subagent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import lunr from "lunr";
|
|
2
|
+
import { type Static, Type } from "typebox";
|
|
3
|
+
/**
|
|
4
|
+
* One skill in the retrieval corpus. `frontmatter` is the parsed YAML head
|
|
5
|
+
* of the SKILL.md file (matches `loaders/persona-skill-loader.ts` Skill shape
|
|
6
|
+
* for `frontmatter` field). Only `description` plus selected frontmatter
|
|
7
|
+
* fields are indexed — the body is intentionally excluded to keep the index
|
|
8
|
+
* small and keyword-focused.
|
|
9
|
+
*/
|
|
10
|
+
export declare const RetrievableSkillSchema: Type.TObject<{
|
|
11
|
+
skillId: Type.TString;
|
|
12
|
+
name: Type.TString;
|
|
13
|
+
description: Type.TString;
|
|
14
|
+
frontmatter: Type.TRecord<"^.*$", Type.TUnknown>;
|
|
15
|
+
}>;
|
|
16
|
+
export type RetrievableSkill = Static<typeof RetrievableSkillSchema>;
|
|
17
|
+
export declare const RetrievalHitSchema: Type.TObject<{
|
|
18
|
+
skillId: Type.TString;
|
|
19
|
+
score: Type.TNumber;
|
|
20
|
+
}>;
|
|
21
|
+
export type RetrievalHit = Static<typeof RetrievalHitSchema>;
|
|
22
|
+
/**
|
|
23
|
+
* Runtime attribution supplied by the caller (orchestrator).
|
|
24
|
+
* These are NEVER fabricated inside the retriever (IL10).
|
|
25
|
+
*/
|
|
26
|
+
export declare const EmitRuntimeSchema: Type.TObject<{
|
|
27
|
+
storeCli: Type.TString;
|
|
28
|
+
cwd: Type.TString;
|
|
29
|
+
sprintId: Type.TString;
|
|
30
|
+
taskId: Type.TString;
|
|
31
|
+
role: Type.TString;
|
|
32
|
+
action: Type.TString;
|
|
33
|
+
phase: Type.TOptional<Type.TString>;
|
|
34
|
+
iteration: Type.TOptional<Type.TInteger>;
|
|
35
|
+
startTimestamp: Type.TString;
|
|
36
|
+
endTimestamp: Type.TString;
|
|
37
|
+
durationMinutes: Type.TNumber;
|
|
38
|
+
model: Type.TString;
|
|
39
|
+
provider: Type.TString;
|
|
40
|
+
}>;
|
|
41
|
+
export type EmitRuntime = Static<typeof EmitRuntimeSchema>;
|
|
42
|
+
export interface EmitResult {
|
|
43
|
+
emitted: number;
|
|
44
|
+
failed: number;
|
|
45
|
+
stderrs: string[];
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Opaque handle returned by `buildSkillIndex`. Internally pairs the lunr
|
|
49
|
+
* index with the corpus so `retrieveTopK` can return the original skillIds.
|
|
50
|
+
*/
|
|
51
|
+
export interface SkillIndex {
|
|
52
|
+
readonly _index: lunr.Index;
|
|
53
|
+
readonly _byRef: Map<string, RetrievableSkill>;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Build a BM25 index over the supplied corpus. Indexed fields:
|
|
57
|
+
* - `name` (boost 4) — the skill identifier itself
|
|
58
|
+
* - `description` (boost 2) — primary intent text
|
|
59
|
+
* - `frontmatter` (boost 1) — tags / aliases
|
|
60
|
+
*
|
|
61
|
+
* lunr's default scoring is Okapi BM25.
|
|
62
|
+
*/
|
|
63
|
+
export declare function buildSkillIndex(corpus: readonly RetrievableSkill[]): SkillIndex;
|
|
64
|
+
/**
|
|
65
|
+
* Return the top-k skills by BM25 score for the given query. Deterministic
|
|
66
|
+
* for fixed (corpus, query) pairs. Returns `[]` when no token in the query
|
|
67
|
+
* is present in any indexed field.
|
|
68
|
+
*/
|
|
69
|
+
export declare function retrieveTopK(index: SkillIndex, query: string, k: number): RetrievalHit[];
|
|
70
|
+
/**
|
|
71
|
+
* Clamp a raw BM25 score into the [0,1] window required by the event
|
|
72
|
+
* schema (`retrieval_score`). BM25 scores are unbounded above; we apply
|
|
73
|
+
* `s / (1 + s)` so the relative ordering is preserved while the absolute
|
|
74
|
+
* value is monotonically squashed into (0,1). Negative scores (lunr never
|
|
75
|
+
* produces these in practice) clamp to 0.
|
|
76
|
+
*/
|
|
77
|
+
export declare function clampRetrievalScore(rawScore: number): number;
|
|
78
|
+
/**
|
|
79
|
+
* Emit one `skill_usage` event per supplied hit via
|
|
80
|
+
* `node <storeCli> emit <sprintId> <json>`. Returns the (emitted, failed)
|
|
81
|
+
* counts. Never throws on subprocess failure — the failure is surfaced via
|
|
82
|
+
* the returned counter and stderr text (IL7 — explicit, not silent).
|
|
83
|
+
*/
|
|
84
|
+
export declare function emitSkillUsageEvents(hits: readonly RetrievalHit[], runtime: EmitRuntime): EmitResult;
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
// Skill retriever — FORGE-S24-T08.
|
|
2
|
+
//
|
|
3
|
+
// BM25-ranked retrieval over the project's skill corpus using `lunr.js`
|
|
4
|
+
// (exact-pinned in package.json). Each retrieval emits one `skill_usage`
|
|
5
|
+
// event per top-k hit with `retrieved: true` and a populated, [0,1]-clamped
|
|
6
|
+
// `retrieval_score`. Conforms to the canonical event schema variant landed
|
|
7
|
+
// in FORGE-S24-T01 (plugin v0.45.0).
|
|
8
|
+
//
|
|
9
|
+
// Iron Laws (forge-cli-engineer):
|
|
10
|
+
// IL2 — TypeScript + TypeBox. Schemas defined here; runtime input is
|
|
11
|
+
// validated by `Value.Parse(...)` at the public entry points.
|
|
12
|
+
// IL6 — No raw shell-string interpolation. `emitSkillUsageEvents` calls
|
|
13
|
+
// `spawnSync("node", [storeCli, "emit", sprintId, JSON.stringify(event)])`
|
|
14
|
+
// — argv array, no shell.
|
|
15
|
+
// IL7 — No silent continuation past failures. A non-zero `store-cli emit`
|
|
16
|
+
// exit increments the `failed` counter and the stderr text is
|
|
17
|
+
// forwarded to the caller in the returned result; nothing is
|
|
18
|
+
// swallowed.
|
|
19
|
+
// IL10 — This module is a primitive consumed by orchestrator code. The
|
|
20
|
+
// orchestrator/caller supplies the runtime attribution
|
|
21
|
+
// (model/provider/timestamps/durationMinutes) — never fabricated
|
|
22
|
+
// here.
|
|
23
|
+
//
|
|
24
|
+
// Scope boundary: this module owns ranking + emission. It does NOT crawl
|
|
25
|
+
// the filesystem for skills; corpus construction (reading SKILL.md
|
|
26
|
+
// frontmatter via `loaders/persona-skill-loader.ts`) is the caller's
|
|
27
|
+
// responsibility. Keeping IO out of the retriever keeps the module
|
|
28
|
+
// deterministic and trivially unit-testable.
|
|
29
|
+
import lunr from "lunr";
|
|
30
|
+
import { Type } from "typebox";
|
|
31
|
+
import { Value } from "typebox/value";
|
|
32
|
+
import { spawnStoreCliEmit } from "./lib/spawn-store-cli.js";
|
|
33
|
+
import { isSkillCurationEnabled } from "./skill-curation-flag.js";
|
|
34
|
+
// ── Public schemas ───────────────────────────────────────────────────────
|
|
35
|
+
/**
|
|
36
|
+
* One skill in the retrieval corpus. `frontmatter` is the parsed YAML head
|
|
37
|
+
* of the SKILL.md file (matches `loaders/persona-skill-loader.ts` Skill shape
|
|
38
|
+
* for `frontmatter` field). Only `description` plus selected frontmatter
|
|
39
|
+
* fields are indexed — the body is intentionally excluded to keep the index
|
|
40
|
+
* small and keyword-focused.
|
|
41
|
+
*/
|
|
42
|
+
export const RetrievableSkillSchema = Type.Object({
|
|
43
|
+
skillId: Type.String({ minLength: 1 }),
|
|
44
|
+
name: Type.String({ minLength: 1 }),
|
|
45
|
+
description: Type.String(),
|
|
46
|
+
frontmatter: Type.Record(Type.String(), Type.Unknown()),
|
|
47
|
+
});
|
|
48
|
+
export const RetrievalHitSchema = Type.Object({
|
|
49
|
+
skillId: Type.String({ minLength: 1 }),
|
|
50
|
+
score: Type.Number(),
|
|
51
|
+
});
|
|
52
|
+
/**
|
|
53
|
+
* Runtime attribution supplied by the caller (orchestrator).
|
|
54
|
+
* These are NEVER fabricated inside the retriever (IL10).
|
|
55
|
+
*/
|
|
56
|
+
export const EmitRuntimeSchema = Type.Object({
|
|
57
|
+
storeCli: Type.String({ minLength: 1 }),
|
|
58
|
+
cwd: Type.String({ minLength: 1 }),
|
|
59
|
+
sprintId: Type.String({ minLength: 1 }),
|
|
60
|
+
taskId: Type.String({ minLength: 1 }),
|
|
61
|
+
role: Type.String({ minLength: 1 }),
|
|
62
|
+
action: Type.String({ minLength: 1 }),
|
|
63
|
+
phase: Type.Optional(Type.String()),
|
|
64
|
+
iteration: Type.Optional(Type.Integer({ minimum: 1 })),
|
|
65
|
+
startTimestamp: Type.String({ format: "date-time" }),
|
|
66
|
+
endTimestamp: Type.String({ format: "date-time" }),
|
|
67
|
+
durationMinutes: Type.Number({ minimum: 0 }),
|
|
68
|
+
model: Type.String({ minLength: 1 }),
|
|
69
|
+
provider: Type.String({ minLength: 1 }),
|
|
70
|
+
});
|
|
71
|
+
/** Join indexable frontmatter fields (tags + name) into a single string. */
|
|
72
|
+
function frontmatterText(fm) {
|
|
73
|
+
const parts = [];
|
|
74
|
+
if (typeof fm.name === "string")
|
|
75
|
+
parts.push(fm.name);
|
|
76
|
+
const tags = fm.tags;
|
|
77
|
+
if (Array.isArray(tags)) {
|
|
78
|
+
for (const t of tags)
|
|
79
|
+
if (typeof t === "string")
|
|
80
|
+
parts.push(t);
|
|
81
|
+
}
|
|
82
|
+
const aliases = fm.aliases;
|
|
83
|
+
if (Array.isArray(aliases)) {
|
|
84
|
+
for (const a of aliases)
|
|
85
|
+
if (typeof a === "string")
|
|
86
|
+
parts.push(a);
|
|
87
|
+
}
|
|
88
|
+
return parts.join(" ");
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Build a BM25 index over the supplied corpus. Indexed fields:
|
|
92
|
+
* - `name` (boost 4) — the skill identifier itself
|
|
93
|
+
* - `description` (boost 2) — primary intent text
|
|
94
|
+
* - `frontmatter` (boost 1) — tags / aliases
|
|
95
|
+
*
|
|
96
|
+
* lunr's default scoring is Okapi BM25.
|
|
97
|
+
*/
|
|
98
|
+
export function buildSkillIndex(corpus) {
|
|
99
|
+
for (const s of corpus)
|
|
100
|
+
Value.Parse(RetrievableSkillSchema, s);
|
|
101
|
+
const byRef = new Map();
|
|
102
|
+
for (const s of corpus)
|
|
103
|
+
byRef.set(s.skillId, s);
|
|
104
|
+
const index = lunr(function () {
|
|
105
|
+
this.ref("skillId");
|
|
106
|
+
this.field("name", { boost: 4 });
|
|
107
|
+
this.field("description", { boost: 2 });
|
|
108
|
+
this.field("frontmatter", { boost: 1 });
|
|
109
|
+
// Determinism: lunr's pipeline is deterministic by construction; we do
|
|
110
|
+
// not register custom plugins or randomised tokenisers.
|
|
111
|
+
for (const s of corpus) {
|
|
112
|
+
this.add({
|
|
113
|
+
skillId: s.skillId,
|
|
114
|
+
name: s.name,
|
|
115
|
+
description: s.description,
|
|
116
|
+
frontmatter: frontmatterText(s.frontmatter),
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
return { _index: index, _byRef: byRef };
|
|
121
|
+
}
|
|
122
|
+
// ── Retrieval ────────────────────────────────────────────────────────────
|
|
123
|
+
/**
|
|
124
|
+
* Tokenise the query for lunr. We lower-case, strip non-alphanumerics, and
|
|
125
|
+
* drop empties. Avoids lunr's query-language operators (`:`, `^`, `~`,
|
|
126
|
+
* `+`, `-`, `*`) leaking from natural-language task descriptions.
|
|
127
|
+
*/
|
|
128
|
+
function safeQueryTokens(query) {
|
|
129
|
+
return query
|
|
130
|
+
.toLowerCase()
|
|
131
|
+
.replace(/[^a-z0-9\s]+/g, " ")
|
|
132
|
+
.split(/\s+/)
|
|
133
|
+
.filter((t) => t.length > 0);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Return the top-k skills by BM25 score for the given query. Deterministic
|
|
137
|
+
* for fixed (corpus, query) pairs. Returns `[]` when no token in the query
|
|
138
|
+
* is present in any indexed field.
|
|
139
|
+
*/
|
|
140
|
+
export function retrieveTopK(index, query, k) {
|
|
141
|
+
if (!Number.isInteger(k) || k <= 0) {
|
|
142
|
+
throw new Error(`retrieveTopK: k must be a positive integer, got ${k}`);
|
|
143
|
+
}
|
|
144
|
+
const tokens = safeQueryTokens(query);
|
|
145
|
+
if (tokens.length === 0)
|
|
146
|
+
return [];
|
|
147
|
+
let results;
|
|
148
|
+
try {
|
|
149
|
+
results = index._index.query((q) => {
|
|
150
|
+
for (const t of tokens) {
|
|
151
|
+
q.term(t, { usePipeline: true, boost: 1 });
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
catch {
|
|
156
|
+
// lunr throws on a small set of malformed inputs; treat as no hits
|
|
157
|
+
// rather than propagating an opaque error into the orchestrator.
|
|
158
|
+
return [];
|
|
159
|
+
}
|
|
160
|
+
const hits = [];
|
|
161
|
+
for (const r of results) {
|
|
162
|
+
if (hits.length >= k)
|
|
163
|
+
break;
|
|
164
|
+
if (!index._byRef.has(r.ref))
|
|
165
|
+
continue;
|
|
166
|
+
hits.push({ skillId: r.ref, score: r.score });
|
|
167
|
+
}
|
|
168
|
+
return hits;
|
|
169
|
+
}
|
|
170
|
+
// ── Emission ─────────────────────────────────────────────────────────────
|
|
171
|
+
/**
|
|
172
|
+
* Clamp a raw BM25 score into the [0,1] window required by the event
|
|
173
|
+
* schema (`retrieval_score`). BM25 scores are unbounded above; we apply
|
|
174
|
+
* `s / (1 + s)` so the relative ordering is preserved while the absolute
|
|
175
|
+
* value is monotonically squashed into (0,1). Negative scores (lunr never
|
|
176
|
+
* produces these in practice) clamp to 0.
|
|
177
|
+
*/
|
|
178
|
+
export function clampRetrievalScore(rawScore) {
|
|
179
|
+
if (!Number.isFinite(rawScore) || rawScore <= 0)
|
|
180
|
+
return 0;
|
|
181
|
+
const squashed = rawScore / (1 + rawScore);
|
|
182
|
+
if (squashed >= 1)
|
|
183
|
+
return 1;
|
|
184
|
+
return squashed;
|
|
185
|
+
}
|
|
186
|
+
/** Compose an ISO-compact timestamp segment for the eventId. */
|
|
187
|
+
function isoCompact(iso) {
|
|
188
|
+
return iso.replace(/[-:.]/g, "").replace(/Z$/, "Z");
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Emit one `skill_usage` event per supplied hit via
|
|
192
|
+
* `node <storeCli> emit <sprintId> <json>`. Returns the (emitted, failed)
|
|
193
|
+
* counts. Never throws on subprocess failure — the failure is surfaced via
|
|
194
|
+
* the returned counter and stderr text (IL7 — explicit, not silent).
|
|
195
|
+
*/
|
|
196
|
+
export function emitSkillUsageEvents(hits, runtime) {
|
|
197
|
+
// FORGE-S24-T12 — gated rollout. Default off ⇒ zero events, zero
|
|
198
|
+
// subprocess calls, byte-identical to pre-FORGE-S24 behaviour.
|
|
199
|
+
if (!isSkillCurationEnabled(runtime.cwd)) {
|
|
200
|
+
return { emitted: 0, failed: 0, stderrs: [] };
|
|
201
|
+
}
|
|
202
|
+
Value.Parse(EmitRuntimeSchema, runtime);
|
|
203
|
+
let emitted = 0;
|
|
204
|
+
let failed = 0;
|
|
205
|
+
const stderrs = [];
|
|
206
|
+
for (let i = 0; i < hits.length; i++) {
|
|
207
|
+
const hit = hits[i];
|
|
208
|
+
const eventId = `${isoCompact(runtime.startTimestamp)}_${runtime.taskId}_skill-retriever_skill_usage_${i}_${hit.skillId}`;
|
|
209
|
+
const event = {
|
|
210
|
+
eventId,
|
|
211
|
+
sprintId: runtime.sprintId,
|
|
212
|
+
taskId: runtime.taskId,
|
|
213
|
+
role: runtime.role,
|
|
214
|
+
action: runtime.action,
|
|
215
|
+
startTimestamp: runtime.startTimestamp,
|
|
216
|
+
endTimestamp: runtime.endTimestamp,
|
|
217
|
+
durationMinutes: runtime.durationMinutes,
|
|
218
|
+
model: runtime.model,
|
|
219
|
+
provider: runtime.provider,
|
|
220
|
+
type: "skill_usage",
|
|
221
|
+
skillId: hit.skillId,
|
|
222
|
+
retrieved: true,
|
|
223
|
+
used: false,
|
|
224
|
+
// No tool calls have happened yet at retrieval time. T09 (usage
|
|
225
|
+
// tracker) will later emit a follow-up event with the observed
|
|
226
|
+
// success rate.
|
|
227
|
+
tool_call_success_rate: 0,
|
|
228
|
+
retrieval_score: clampRetrievalScore(hit.score),
|
|
229
|
+
};
|
|
230
|
+
if (runtime.phase !== undefined)
|
|
231
|
+
event.phase = runtime.phase;
|
|
232
|
+
if (runtime.iteration !== undefined)
|
|
233
|
+
event.iteration = runtime.iteration;
|
|
234
|
+
// FORGE-S25-T17: adopt spawnStoreCliEmit; adds missing 10 s timeout (N-C-A).
|
|
235
|
+
const emitResult = spawnStoreCliEmit(runtime.storeCli, runtime.sprintId, event, runtime.cwd);
|
|
236
|
+
if (emitResult.ok) {
|
|
237
|
+
emitted++;
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
failed++;
|
|
241
|
+
stderrs.push(emitResult.stderr);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
return { emitted, failed, stderrs };
|
|
245
|
+
}
|
|
246
|
+
//# sourceMappingURL=skill-retriever.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-retriever.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/skill-retriever.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { type Static, Type } from "typebox";
|
|
2
|
+
/**
|
|
3
|
+
* One skill that was previously retrieved (T08) and is now being evaluated
|
|
4
|
+
* for actual usage. `workflowSteps` is the list of declared step / tool /
|
|
5
|
+
* action names the skill's SKILL.md (or workflow doc) advertises — these
|
|
6
|
+
* are what we diff the trajectory against.
|
|
7
|
+
*
|
|
8
|
+
* Step matching is case-insensitive substring: a tool call's `name` matches
|
|
9
|
+
* a workflow step if the step (after lowercasing + whitespace collapse)
|
|
10
|
+
* appears anywhere in the tool call's name. This is intentionally permissive
|
|
11
|
+
* — declared steps are human-authored phrases ("store-cli query"), and tool
|
|
12
|
+
* call names may be qualified (`mcp__store__store-cli-query`). Misses bias
|
|
13
|
+
* toward `used: false`, which is the safer of the two error modes for a
|
|
14
|
+
* curation signal.
|
|
15
|
+
*/
|
|
16
|
+
export declare const RetrievedSkillForTrackingSchema: Type.TObject<{
|
|
17
|
+
skillId: Type.TString;
|
|
18
|
+
name: Type.TString;
|
|
19
|
+
workflowSteps: Type.TArray<Type.TString>;
|
|
20
|
+
}>;
|
|
21
|
+
export type RetrievedSkillForTracking = Static<typeof RetrievedSkillForTrackingSchema>;
|
|
22
|
+
/** One observed tool invocation in the task's trajectory. */
|
|
23
|
+
export declare const ToolCallObservationSchema: Type.TObject<{
|
|
24
|
+
name: Type.TString;
|
|
25
|
+
}>;
|
|
26
|
+
export type ToolCallObservation = Static<typeof ToolCallObservationSchema>;
|
|
27
|
+
/**
|
|
28
|
+
* The observable trajectory of a closed task: the sequence of tool calls
|
|
29
|
+
* the agent made, plus the concatenated reasoning / assistant text the
|
|
30
|
+
* orchestrator captured. Both inputs are supplied by the caller — this
|
|
31
|
+
* module does not read transcripts itself.
|
|
32
|
+
*/
|
|
33
|
+
export declare const TaskTrajectorySchema: Type.TObject<{
|
|
34
|
+
toolCalls: Type.TArray<Type.TObject<{
|
|
35
|
+
name: Type.TString;
|
|
36
|
+
}>>;
|
|
37
|
+
reasoningText: Type.TString;
|
|
38
|
+
}>;
|
|
39
|
+
export type TaskTrajectory = Static<typeof TaskTrajectorySchema>;
|
|
40
|
+
/**
|
|
41
|
+
* Runtime attribution supplied by the caller (orchestrator).
|
|
42
|
+
* These are NEVER fabricated inside the tracker (IL10).
|
|
43
|
+
*/
|
|
44
|
+
export declare const EmitRuntimeSchema: Type.TObject<{
|
|
45
|
+
storeCli: Type.TString;
|
|
46
|
+
cwd: Type.TString;
|
|
47
|
+
sprintId: Type.TString;
|
|
48
|
+
taskId: Type.TString;
|
|
49
|
+
role: Type.TString;
|
|
50
|
+
action: Type.TString;
|
|
51
|
+
phase: Type.TOptional<Type.TString>;
|
|
52
|
+
iteration: Type.TOptional<Type.TInteger>;
|
|
53
|
+
startTimestamp: Type.TString;
|
|
54
|
+
endTimestamp: Type.TString;
|
|
55
|
+
durationMinutes: Type.TNumber;
|
|
56
|
+
model: Type.TString;
|
|
57
|
+
provider: Type.TString;
|
|
58
|
+
}>;
|
|
59
|
+
export type EmitRuntime = Static<typeof EmitRuntimeSchema>;
|
|
60
|
+
export interface EmitResult {
|
|
61
|
+
emitted: number;
|
|
62
|
+
failed: number;
|
|
63
|
+
stderrs: string[];
|
|
64
|
+
}
|
|
65
|
+
/** Why the classifier ruled `used: true`, or `"none"` when it ruled false. */
|
|
66
|
+
export type UsageSignal = "overlap" | "reasoning" | "none";
|
|
67
|
+
export interface UsageVerdict {
|
|
68
|
+
used: boolean;
|
|
69
|
+
signal: UsageSignal;
|
|
70
|
+
tool_call_success_rate: number;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Apply the FORGE-S24-T09 heuristic to a single retrieved skill against
|
|
74
|
+
* the observed task trajectory. Pure function — no IO, no allocation
|
|
75
|
+
* beyond return value.
|
|
76
|
+
*/
|
|
77
|
+
export declare function classifySkillUsage(skill: RetrievedSkillForTracking, trajectory: TaskTrajectory): UsageVerdict;
|
|
78
|
+
/**
|
|
79
|
+
* Emit one `skill_usage` tracking event per retrieved skill via
|
|
80
|
+
* `node <storeCli> emit <sprintId> <json>`. Each event carries the
|
|
81
|
+
* classifier's `used` verdict and the observed `tool_call_success_rate`.
|
|
82
|
+
*
|
|
83
|
+
* `retrieval_score` is set to 0 — at tracking time, the score has already
|
|
84
|
+
* been emitted in the T08 retrieval event; this follow-up captures the
|
|
85
|
+
* usage signal only. (The schema requires the field to be present; it does
|
|
86
|
+
* not require it to be re-derived per emission.)
|
|
87
|
+
*
|
|
88
|
+
* Never throws on subprocess failure — the failure is surfaced via the
|
|
89
|
+
* returned counter and stderr text (IL7, explicit not silent).
|
|
90
|
+
*/
|
|
91
|
+
export declare function emitSkillUsageTrackingEvents(retrieved: readonly RetrievedSkillForTracking[], trajectory: TaskTrajectory, runtime: EmitRuntime): EmitResult;
|