@entelligentsia/forgecli 0.21.0 → 1.0.3
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 +44 -0
- package/README.md +31 -33
- package/dist/CHANGELOG-forge-plugin.md +142 -0
- package/dist/CHANGELOG-pi.md +24 -1
- package/dist/bin/forgecli.d.ts +2 -0
- package/dist/bin/forgecli.js +6 -0
- package/dist/bin/forgecli.js.map +1 -0
- package/dist/extensions/forgecli/add-pipeline.js +1 -1
- package/dist/extensions/forgecli/add-pipeline.js.map +1 -1
- package/dist/extensions/forgecli/add-task.js +1 -1
- package/dist/extensions/forgecli/add-task.js.map +1 -1
- package/dist/extensions/forgecli/approve.js +17 -2
- package/dist/extensions/forgecli/approve.js.map +1 -1
- package/dist/extensions/forgecli/audience-gate.js +1 -1
- package/dist/extensions/forgecli/audience-gate.js.map +1 -1
- package/dist/extensions/forgecli/calibrate.js +11 -8
- package/dist/extensions/forgecli/calibrate.js.map +1 -1
- package/dist/extensions/forgecli/collate.js +1 -1
- package/dist/extensions/forgecli/collate.js.map +1 -1
- package/dist/extensions/forgecli/commit.js +17 -2
- package/dist/extensions/forgecli/commit.js.map +1 -1
- package/dist/extensions/forgecli/enhance.js +1 -1
- package/dist/extensions/forgecli/enhance.js.map +1 -1
- package/dist/extensions/forgecli/fix-bug.d.ts +1 -2
- package/dist/extensions/forgecli/fix-bug.js +678 -609
- package/dist/extensions/forgecli/fix-bug.js.map +1 -1
- package/dist/extensions/forgecli/forge-artifact-tool.d.ts +6 -8
- package/dist/extensions/forgecli/forge-artifact-tool.js +94 -197
- package/dist/extensions/forgecli/forge-artifact-tool.js.map +1 -1
- package/dist/extensions/forgecli/forge-commands.js +57 -18
- package/dist/extensions/forgecli/forge-commands.js.map +1 -1
- package/dist/extensions/forgecli/forge-init/phase4-register.js +6 -7
- package/dist/extensions/forgecli/forge-init/phase4-register.js.map +1 -1
- package/dist/extensions/forgecli/forge-init/run-phases.d.ts +4 -0
- package/dist/extensions/forgecli/forge-init/run-phases.js +304 -0
- package/dist/extensions/forgecli/forge-init/run-phases.js.map +1 -0
- package/dist/extensions/forgecli/forge-init/verifiers.d.ts +14 -5
- package/dist/extensions/forgecli/forge-init/verifiers.js +79 -62
- package/dist/extensions/forgecli/forge-init/verifiers.js.map +1 -1
- package/dist/extensions/forgecli/forge-init.js +131 -76
- package/dist/extensions/forgecli/forge-init.js.map +1 -1
- package/dist/extensions/forgecli/forge-subagent.d.ts +26 -0
- package/dist/extensions/forgecli/forge-subagent.js +42 -18
- package/dist/extensions/forgecli/forge-subagent.js.map +1 -1
- package/dist/extensions/forgecli/forge-tools.d.ts +34 -4
- package/dist/extensions/forgecli/forge-tools.js +191 -79
- package/dist/extensions/forgecli/forge-tools.js.map +1 -1
- package/dist/extensions/forgecli/health-check.js +3 -3
- package/dist/extensions/forgecli/health-check.js.map +1 -1
- package/dist/extensions/forgecli/hook-dispatcher.d.ts +1 -1
- package/dist/extensions/forgecli/hooks/check-update.d.ts +8 -0
- package/dist/extensions/forgecli/hooks/check-update.js +29 -1
- package/dist/extensions/forgecli/hooks/check-update.js.map +1 -1
- package/dist/extensions/forgecli/hooks/post-init-hook.js +6 -6
- package/dist/extensions/forgecli/hooks/post-init-hook.js.map +1 -1
- package/dist/extensions/forgecli/hooks/post-sprint-hook.js +6 -6
- package/dist/extensions/forgecli/hooks/post-sprint-hook.js.map +1 -1
- package/dist/extensions/forgecli/hooks/triage-error.js +1 -0
- package/dist/extensions/forgecli/hooks/triage-error.js.map +1 -1
- package/dist/extensions/forgecli/implement.js +20 -2
- package/dist/extensions/forgecli/implement.js.map +1 -1
- package/dist/extensions/forgecli/index.js +39 -32
- package/dist/extensions/forgecli/index.js.map +1 -1
- package/dist/extensions/forgecli/lib/pipeline-guard.d.ts +41 -0
- package/dist/extensions/forgecli/lib/pipeline-guard.js +100 -0
- package/dist/extensions/forgecli/lib/pipeline-guard.js.map +1 -0
- package/dist/extensions/forgecli/loaders/persona-skill-loader.js +2 -2
- package/dist/extensions/forgecli/loaders/persona-skill-loader.js.map +1 -1
- package/dist/extensions/forgecli/migrate.d.ts +3 -0
- package/dist/extensions/forgecli/migrate.js +4 -2
- package/dist/extensions/forgecli/migrate.js.map +1 -1
- package/dist/extensions/forgecli/plan.js +21 -2
- package/dist/extensions/forgecli/plan.js.map +1 -1
- package/dist/extensions/forgecli/quiz-agent.js +7 -7
- package/dist/extensions/forgecli/quiz-agent.js.map +1 -1
- package/dist/extensions/forgecli/regenerate.js +49 -18
- package/dist/extensions/forgecli/regenerate.js.map +1 -1
- package/dist/extensions/forgecli/remove-command.js +1 -1
- package/dist/extensions/forgecli/remove-command.js.map +1 -1
- package/dist/extensions/forgecli/report-bug.js +1 -1
- package/dist/extensions/forgecli/report-bug.js.map +1 -1
- package/dist/extensions/forgecli/retrospective.js +9 -9
- package/dist/extensions/forgecli/retrospective.js.map +1 -1
- package/dist/extensions/forgecli/review-code.d.ts +13 -0
- package/dist/extensions/forgecli/review-code.js +62 -3
- package/dist/extensions/forgecli/review-code.js.map +1 -1
- package/dist/extensions/forgecli/review-plan.d.ts +13 -0
- package/dist/extensions/forgecli/review-plan.js +65 -3
- package/dist/extensions/forgecli/review-plan.js.map +1 -1
- package/dist/extensions/forgecli/run-task.js +461 -391
- package/dist/extensions/forgecli/run-task.js.map +1 -1
- package/dist/extensions/forgecli/session-registry.d.ts +12 -0
- package/dist/extensions/forgecli/session-registry.js +23 -0
- package/dist/extensions/forgecli/session-registry.js.map +1 -1
- package/dist/extensions/forgecli/skill-curator-subagent.d.ts +2 -1
- package/dist/extensions/forgecli/skill-curator-subagent.js +2 -1
- package/dist/extensions/forgecli/skill-curator-subagent.js.map +1 -1
- package/dist/extensions/forgecli/sprint-intake.js +6 -6
- package/dist/extensions/forgecli/sprint-intake.js.map +1 -1
- package/dist/extensions/forgecli/sprint-plan.js +9 -9
- package/dist/extensions/forgecli/sprint-plan.js.map +1 -1
- package/dist/extensions/forgecli/status-command.js +1 -1
- package/dist/extensions/forgecli/status-command.js.map +1 -1
- package/dist/extensions/forgecli/store-query.js +11 -11
- package/dist/extensions/forgecli/store-query.js.map +1 -1
- package/dist/extensions/forgecli/store-repair.js +7 -7
- package/dist/extensions/forgecli/store-repair.js.map +1 -1
- package/dist/extensions/forgecli/subagent/caller-context.d.ts +35 -11
- package/dist/extensions/forgecli/subagent/caller-context.js +49 -21
- package/dist/extensions/forgecli/subagent/caller-context.js.map +1 -1
- package/dist/extensions/forgecli/subagent/orchestrator-transcript.d.ts +66 -0
- package/dist/extensions/forgecli/subagent/orchestrator-transcript.js +66 -0
- package/dist/extensions/forgecli/subagent/orchestrator-transcript.js.map +1 -0
- package/dist/extensions/forgecli/subagent/phase-guard.d.ts +34 -0
- package/dist/extensions/forgecli/subagent/phase-guard.js +139 -0
- package/dist/extensions/forgecli/subagent/phase-guard.js.map +1 -0
- package/dist/extensions/forgecli/subagent/phase-summary-map.d.ts +1 -0
- package/dist/extensions/forgecli/subagent/phase-summary-map.js +22 -0
- package/dist/extensions/forgecli/subagent/phase-summary-map.js.map +1 -0
- package/dist/extensions/forgecli/thread-switcher.js +2 -2
- package/dist/extensions/forgecli/thread-switcher.js.map +1 -1
- package/dist/extensions/forgecli/validate.js +17 -2
- package/dist/extensions/forgecli/validate.js.map +1 -1
- package/dist/extensions/forgecli/viewport-events.d.ts +4 -0
- package/dist/extensions/forgecli/viewport-events.js +18 -1
- package/dist/extensions/forgecli/viewport-events.js.map +1 -1
- package/dist/extensions/forgecli/viewport-renderer.d.ts +12 -2
- package/dist/extensions/forgecli/viewport-renderer.js +8 -6
- package/dist/extensions/forgecli/viewport-renderer.js.map +1 -1
- package/dist/forge-payload/.base-pack/commands/check-agent.md +22 -0
- package/dist/forge-payload/.base-pack/commands/new-sprint.md +22 -0
- package/dist/forge-payload/.base-pack/commands/plan-sprint.md +22 -0
- package/dist/forge-payload/.base-pack/commands/quiz-agent.md +2 -18
- package/dist/forge-payload/.base-pack/commands/retro.md +22 -0
- package/dist/forge-payload/.base-pack/commands/retrospective.md +2 -18
- package/dist/forge-payload/.base-pack/commands/sprint-intake.md +2 -18
- package/dist/forge-payload/.base-pack/commands/sprint-plan.md +2 -18
- package/dist/forge-payload/.base-pack/workflows/_fragments/friction-emit.md +2 -2
- package/dist/forge-payload/.base-pack/workflows/_fragments/generation-instructions.md +4 -4
- package/dist/forge-payload/.base-pack/workflows/_fragments/iron-laws.md +1 -1
- package/dist/forge-payload/.base-pack/workflows/architect_approve.md +13 -1
- package/dist/forge-payload/.base-pack/workflows/commit_task.md +12 -1
- package/dist/forge-payload/.base-pack/workflows/enhance.md +6 -6
- package/dist/forge-payload/.base-pack/workflows/fix_bug.md +11 -29
- package/dist/forge-payload/.base-pack/workflows/implement_plan.md +14 -2
- package/dist/forge-payload/.base-pack/workflows/migrate_structural.md +2 -2
- package/dist/forge-payload/.base-pack/workflows/orchestrate_task.md +20 -4
- package/dist/forge-payload/.base-pack/workflows/plan_task.md +14 -2
- package/dist/forge-payload/.base-pack/workflows/review_code.md +37 -7
- package/dist/forge-payload/.base-pack/workflows/review_plan.md +36 -6
- package/dist/forge-payload/.base-pack/workflows/run_sprint.md +2 -2
- package/dist/forge-payload/.base-pack/workflows/triage.md +190 -0
- package/dist/forge-payload/.base-pack/workflows/validate_task.md +37 -7
- package/dist/forge-payload/.claude-plugin/plugin.json +1 -1
- package/dist/forge-payload/.schemas/config.schema.json +0 -5
- package/dist/forge-payload/.schemas/enum-catalog.json +9 -13
- package/dist/forge-payload/.schemas/migrations.json +63 -0
- package/dist/forge-payload/agents/tomoshibi.md +150 -6
- package/dist/forge-payload/commands/add-pipeline.md +1 -1
- package/dist/forge-payload/commands/add-task.md +1 -1
- package/dist/forge-payload/commands/calibrate.md +4 -350
- package/dist/forge-payload/commands/check-agent.md +38 -0
- package/dist/forge-payload/commands/config.md +3 -113
- package/dist/forge-payload/commands/enhance.md +5 -32
- package/dist/forge-payload/commands/health.md +155 -13
- package/dist/forge-payload/commands/init.md +25 -31
- package/dist/forge-payload/commands/migrate.md +6 -154
- package/dist/forge-payload/commands/quiz-agent.md +2 -34
- package/dist/forge-payload/commands/rebuild.md +664 -0
- package/dist/forge-payload/commands/regenerate.md +2 -774
- package/dist/forge-payload/commands/remove.md +10 -13
- package/dist/forge-payload/commands/repair.md +187 -0
- package/dist/forge-payload/commands/search.md +73 -0
- package/dist/forge-payload/commands/status.md +105 -0
- package/dist/forge-payload/commands/store-query.md +2 -69
- package/dist/forge-payload/commands/store-repair.md +2 -183
- package/dist/forge-payload/commands/update-tools.md +4 -50
- package/dist/forge-payload/commands/update.md +64 -58
- package/dist/forge-payload/hooks/check-update.cjs +1 -1
- package/dist/forge-payload/hooks/post-init.cjs +2 -2
- package/dist/forge-payload/hooks/post-sprint.cjs +2 -2
- package/dist/forge-payload/hooks/triage-error.cjs +11 -10
- package/dist/forge-payload/init/phases/phase-1-collect.md +138 -0
- package/dist/forge-payload/init/phases/phase-2-discover.md +127 -0
- package/dist/forge-payload/init/phases/phase-3-materialize.md +113 -0
- package/dist/forge-payload/init/phases/phase-4-register.md +159 -0
- package/dist/forge-payload/integrity.json +21 -24
- package/dist/forge-payload/meta/fragments/tool-discipline.md +41 -0
- package/dist/forge-payload/meta/templates/meta-retro.md +28 -0
- package/dist/forge-payload/meta/workflows/_fragments/friction-emit.md +2 -2
- package/dist/forge-payload/meta/workflows/_fragments/generation-instructions.md +4 -4
- package/dist/forge-payload/meta/workflows/_fragments/iron-laws.md +1 -1
- package/dist/forge-payload/meta/workflows/meta-approve.md +13 -1
- package/dist/forge-payload/meta/workflows/meta-bug-triage.md +210 -0
- package/dist/forge-payload/meta/workflows/meta-check-agent.md +138 -0
- package/dist/forge-payload/meta/workflows/meta-commit.md +12 -1
- package/dist/forge-payload/meta/workflows/meta-enhance.md +5 -5
- package/dist/forge-payload/meta/workflows/meta-fix-bug.md +11 -29
- package/dist/forge-payload/meta/workflows/meta-implement.md +13 -1
- package/dist/forge-payload/meta/workflows/meta-migrate.md +3 -3
- package/dist/forge-payload/meta/workflows/meta-new-sprint.md +84 -0
- package/dist/forge-payload/meta/workflows/meta-orchestrate.md +20 -4
- package/dist/forge-payload/meta/workflows/meta-plan-sprint.md +152 -0
- package/dist/forge-payload/meta/workflows/meta-plan-task.md +13 -1
- package/dist/forge-payload/meta/workflows/meta-retro.md +73 -0
- package/dist/forge-payload/meta/workflows/meta-review-implementation.md +37 -7
- package/dist/forge-payload/meta/workflows/meta-review-plan.md +36 -6
- package/dist/forge-payload/meta/workflows/meta-validate.md +37 -7
- package/dist/forge-payload/schemas/config.schema.json +0 -5
- package/dist/forge-payload/schemas/enum-catalog.json +9 -13
- package/dist/forge-payload/schemas/structure-manifest.json +25 -8
- package/dist/forge-payload/tools/artifact.cjs +324 -0
- package/dist/forge-payload/tools/banners.cjs +3 -4
- package/dist/forge-payload/tools/build-context-pack.cjs +1 -1
- package/dist/forge-payload/tools/check-structure.cjs +8 -3
- package/dist/forge-payload/tools/store-cli.cjs +67 -7
- package/dist/forge-payload/tools/substitute-placeholders.cjs +1 -1
- package/dist/forge-payload/tools/verify-apply.cjs +75 -0
- package/dist/forge-payload/tools/verify-phase.cjs +259 -0
- package/node_modules/@earendil-works/pi-agent-core/package.json +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +0 -17
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +21 -38
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js +5 -4
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts +2 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js +5 -2
- package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/CHANGELOG.md +24 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/file-processor.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/file-processor.js +2 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/file-processor.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/output-guard.d.ts +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/output-guard.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/output-guard.js +52 -22
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/output-guard.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.js +16 -4
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.js +45 -50
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.js +43 -81
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/file-mutation-queue.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/file-mutation-queue.js +27 -12
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/file-mutation-queue.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.js +2 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.js +3 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.js +5 -5
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/path-utils.d.ts +2 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/path-utils.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/path-utils.js +37 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/path-utils.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.js +9 -8
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.js +20 -35
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.d.ts +3 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.js +64 -7
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js +15 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard-native.d.ts +3 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard-native.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard-native.js +14 -8
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard-native.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-core.d.ts +30 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-core.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-core.js +124 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-core.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-worker.d.ts +2 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-worker.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-worker.js +31 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-worker.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize.d.ts +7 -27
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize.js +75 -115
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/docs/terminal-setup.md +6 -0
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/sandbox/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/with-deps/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/npm-shrinkwrap.json +12 -14
- package/node_modules/@earendil-works/pi-coding-agent/package.json +5 -5
- package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.d.ts +3 -0
- package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.js +53 -0
- package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js +4 -1
- package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts +2 -0
- package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/terminal.js +13 -1
- package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/native/darwin/prebuilds/darwin-arm64/darwin-modifiers.node +0 -0
- package/node_modules/@earendil-works/pi-tui/native/darwin/prebuilds/darwin-x64/darwin-modifiers.node +0 -0
- package/node_modules/@earendil-works/pi-tui/package.json +2 -2
- package/node_modules/@entelligentsia/forge-compress/dist/compressor.d.ts +6 -0
- package/node_modules/@entelligentsia/forge-compress/dist/compressor.js +137 -0
- package/node_modules/@entelligentsia/forge-compress/dist/entropy.d.ts +3 -0
- package/node_modules/@entelligentsia/forge-compress/dist/entropy.js +99 -0
- package/node_modules/@entelligentsia/forge-compress/dist/forge/entity.d.ts +8 -0
- package/node_modules/@entelligentsia/forge-compress/dist/forge/entity.js +149 -0
- package/node_modules/@entelligentsia/forge-compress/dist/forge/index.d.ts +7 -0
- package/node_modules/@entelligentsia/forge-compress/dist/forge/index.js +4 -0
- package/node_modules/@entelligentsia/forge-compress/dist/forge/markdown.d.ts +5 -0
- package/node_modules/@entelligentsia/forge-compress/dist/forge/markdown.js +92 -0
- package/node_modules/@entelligentsia/forge-compress/dist/forge/query.d.ts +7 -0
- package/node_modules/@entelligentsia/forge-compress/dist/forge/query.js +60 -0
- package/node_modules/@entelligentsia/forge-compress/dist/forge/validate.d.ts +1 -0
- package/node_modules/@entelligentsia/forge-compress/dist/forge/validate.js +82 -0
- package/node_modules/@entelligentsia/forge-compress/dist/index.d.ts +6 -0
- package/node_modules/@entelligentsia/forge-compress/dist/index.js +5 -0
- package/node_modules/@entelligentsia/forge-compress/dist/progressive.d.ts +1 -0
- package/node_modules/@entelligentsia/forge-compress/dist/progressive.js +108 -0
- package/node_modules/@entelligentsia/forge-compress/dist/strip.d.ts +4 -0
- package/node_modules/@entelligentsia/forge-compress/dist/strip.js +55 -0
- package/node_modules/@entelligentsia/forge-compress/dist/tokens.d.ts +2 -0
- package/node_modules/@entelligentsia/forge-compress/dist/tokens.js +17 -0
- package/node_modules/@entelligentsia/forge-compress/package.json +45 -0
- package/node_modules/@entelligentsia/forge-compress/src/__tests__/compress.test.ts +409 -0
- package/node_modules/@entelligentsia/forge-compress/src/compressor.ts +147 -0
- package/node_modules/@entelligentsia/forge-compress/src/entropy.ts +105 -0
- package/node_modules/@entelligentsia/forge-compress/src/forge/entity.ts +184 -0
- package/node_modules/@entelligentsia/forge-compress/src/forge/index.ts +10 -0
- package/node_modules/@entelligentsia/forge-compress/src/forge/markdown.ts +122 -0
- package/node_modules/@entelligentsia/forge-compress/src/forge/query.ts +105 -0
- package/node_modules/@entelligentsia/forge-compress/src/forge/validate.ts +86 -0
- package/node_modules/@entelligentsia/forge-compress/src/index.ts +22 -0
- package/node_modules/@entelligentsia/forge-compress/src/progressive.ts +123 -0
- package/node_modules/@entelligentsia/forge-compress/src/strip.ts +58 -0
- package/node_modules/@entelligentsia/forge-compress/src/tokens.ts +19 -0
- package/package.json +10 -15
- package/dist/extensions/forgecli/forge-init/phase-descriptors.d.ts +0 -72
- package/dist/extensions/forgecli/forge-init/phase-descriptors.js +0 -359
- package/dist/extensions/forgecli/forge-init/phase-descriptors.js.map +0 -1
- package/dist/extensions/forgecli/forge-init/prompts.d.ts +0 -10
- package/dist/extensions/forgecli/forge-init/prompts.js +0 -91
- package/dist/extensions/forgecli/forge-init/prompts.js.map +0 -1
- package/dist/extensions/forgecli/lib/store-error-remediation.d.ts +0 -65
- package/dist/extensions/forgecli/lib/store-error-remediation.js +0 -298
- package/dist/extensions/forgecli/lib/store-error-remediation.js.map +0 -1
- package/dist/forge-payload/hooks/check-update.js +0 -378
- package/dist/forge-payload/hooks/forge-permissions.js +0 -164
- package/dist/forge-payload/hooks/triage-error.js +0 -77
- package/dist/forge-payload/hooks/validate-write.js +0 -250
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"phase-descriptors.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/forge-init/phase-descriptors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Build the Phase 1 prompt: instructs the agent to run 5 parallel discovery scans
|
|
3
|
-
* and synthesize results into `.forge/config.json`.
|
|
4
|
-
*/
|
|
5
|
-
export declare function buildPhase1PromptText(bundleRoot: string, projectName: string): string;
|
|
6
|
-
/**
|
|
7
|
-
* Build the Phase 2 prompt: instructs the agent to generate 7 parallel KB docs
|
|
8
|
-
* under `kbPath/architecture/`.
|
|
9
|
-
*/
|
|
10
|
-
export declare function buildPhase2PromptText(bundleRoot: string, kbPath: string, projectName: string): string;
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
// forge-init/prompts.ts — phase prompt text builders (FORGE-S25-T23, B-4)
|
|
2
|
-
//
|
|
3
|
-
// Centralises the LLM prompt strings sent to the agent via `sendToAgent` during init phases.
|
|
4
|
-
// Keeping these out of forge-init.ts makes the orchestration logic easier to read and the
|
|
5
|
-
// prompt text easier to iterate on independently.
|
|
6
|
-
import * as path from "node:path";
|
|
7
|
-
/**
|
|
8
|
-
* Build the Phase 1 prompt: instructs the agent to run 5 parallel discovery scans
|
|
9
|
-
* and synthesize results into `.forge/config.json`.
|
|
10
|
-
*/
|
|
11
|
-
export function buildPhase1PromptText(bundleRoot, projectName) {
|
|
12
|
-
const discoveryDir = path.join(bundleRoot, ".init", "discovery");
|
|
13
|
-
const topics = ["stack", "processes", "database", "routing", "testing"];
|
|
14
|
-
const topicLines = topics.map((t) => ` • ${path.join(discoveryDir, `discover-${t}.md`)}`).join("\n");
|
|
15
|
-
return `## /forge:init Phase 1 — Collect: 5 parallel discovery scans
|
|
16
|
-
|
|
17
|
-
Project: ${projectName}
|
|
18
|
-
|
|
19
|
-
Run 5 discovery scans concurrently. In a single response, issue 5 parallel tool
|
|
20
|
-
calls — one per discovery topic — using whatever read/search tools you have
|
|
21
|
-
available (Read, Glob, Grep, Bash). If a \`subagent\` tool is exposed in your
|
|
22
|
-
toolset, you MAY dispatch via it (mode: "parallel"); otherwise execute the
|
|
23
|
-
scans inline. Do NOT preface with "I don't have a subagent tool" — either path
|
|
24
|
-
is acceptable, what matters is concurrency and the resulting deliverable.
|
|
25
|
-
|
|
26
|
-
For each topic:
|
|
27
|
-
1. Read the discovery prompt file at its assigned path (shown below)
|
|
28
|
-
2. Analyze the current project codebase
|
|
29
|
-
3. Capture structured findings
|
|
30
|
-
|
|
31
|
-
Discovery prompt files:
|
|
32
|
-
${topicLines}
|
|
33
|
-
|
|
34
|
-
After all 5 complete, synthesize the findings into a unified config and write .forge/config.json.
|
|
35
|
-
|
|
36
|
-
Required .forge/config.json structure:
|
|
37
|
-
{
|
|
38
|
-
"version": "1",
|
|
39
|
-
"project": { "name": "${projectName}", "prefix": "<UPPERCASE_ABBREV>" },
|
|
40
|
-
"stack": { "primary": [...], "test": <framework>, "build": <tool>, "lint": <tool> },
|
|
41
|
-
"commands": { "test": "<test cmd>", "build": "<build cmd>", "lint": "<lint cmd>" },
|
|
42
|
-
"paths": {
|
|
43
|
-
"engineering": "engineering",
|
|
44
|
-
"store": ".forge/store",
|
|
45
|
-
"workflows": ".forge/workflows",
|
|
46
|
-
"commands": ".claude/commands/forge",
|
|
47
|
-
"templates": ".forge/templates"
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
Write the config with: node "${path.join(bundleRoot, "tools/manage-config.cjs")}" set <key> <value>
|
|
52
|
-
Or write .forge/config.json directly as valid JSON.`;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Build the Phase 2 prompt: instructs the agent to generate 7 parallel KB docs
|
|
56
|
-
* under `kbPath/architecture/`.
|
|
57
|
-
*/
|
|
58
|
-
export function buildPhase2PromptText(bundleRoot, kbPath, projectName) {
|
|
59
|
-
const generateKbDocPath = path.join(bundleRoot, ".init", "generation", "generate-kb-doc.md");
|
|
60
|
-
const docs = ["stack", "processes", "database", "routing", "deployment", "entity-model", "stack-checklist"];
|
|
61
|
-
const docLines = docs.map((d) => ` • ${kbPath}/architecture/${d}.md`).join("\n");
|
|
62
|
-
return `## /forge:init Phase 2 — Discover: 7 parallel KB doc generation
|
|
63
|
-
|
|
64
|
-
Project: ${projectName}
|
|
65
|
-
KB path: ${kbPath}/
|
|
66
|
-
Rulebook: ${generateKbDocPath}
|
|
67
|
-
|
|
68
|
-
Generate 7 knowledge-base documents concurrently. In a single response, issue
|
|
69
|
-
7 parallel tool calls — one per document — using whatever read/search/write
|
|
70
|
-
tools you have available (Read, Glob, Grep, Bash, Write). If a \`subagent\`
|
|
71
|
-
tool is exposed in your toolset, you MAY dispatch via it (mode: "parallel");
|
|
72
|
-
otherwise execute the generation inline. Do NOT preface with "I don't have a
|
|
73
|
-
subagent tool" — either path is acceptable, what matters is concurrency and
|
|
74
|
-
the 7 output files.
|
|
75
|
-
|
|
76
|
-
For each document:
|
|
77
|
-
1. Read the rulebook at: ${generateKbDocPath}
|
|
78
|
-
2. Analyze the project codebase for its assigned topic
|
|
79
|
-
3. Write the resulting document to its assigned output file
|
|
80
|
-
|
|
81
|
-
Documents to generate:
|
|
82
|
-
${docLines}
|
|
83
|
-
|
|
84
|
-
After all complete, check for any that returned "FAILED:" in their output — retry those once.
|
|
85
|
-
|
|
86
|
-
Also create these index files after generation:
|
|
87
|
-
- ${kbPath}/architecture/INDEX.md
|
|
88
|
-
- ${kbPath}/business-domain/INDEX.md
|
|
89
|
-
- ${kbPath}/MASTER_INDEX.md (scaffold)`;
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=prompts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/forge-init/prompts.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,EAAE;AACF,6FAA6F;AAC7F,0FAA0F;AAC1F,kDAAkD;AAElD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAkB,EAAE,WAAmB;IAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACxE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEtG,OAAO;;WAEG,WAAW;;;;;;;;;;;;;;;EAepB,UAAU;;;;;;;0BAOc,WAAW;;;;;;;;;;;;+BAYN,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,yBAAyB,CAAC;oDAC3B,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAkB,EAAE,MAAc,EAAE,WAAmB;IAC5F,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAC;IAC7F,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAC5G,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAElF,OAAO;;WAEG,WAAW;WACX,MAAM;YACL,iBAAiB;;;;;;;;;;;2BAWF,iBAAiB;;;;;EAK1C,QAAQ;;;;;IAKN,MAAM;IACN,MAAM;IACN,MAAM,6BAA6B,CAAC;AACxC,CAAC"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
export interface RemediationResult {
|
|
2
|
-
/** One-line user-facing hint explaining the error and the fix. */
|
|
3
|
-
hint: string;
|
|
4
|
-
/** Optional copy-pasteable store-cli command. Empty string if N/A. */
|
|
5
|
-
command: string;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Infer the entity type from an entity name/ID string.
|
|
9
|
-
* Returns "task" as default if no match.
|
|
10
|
-
*/
|
|
11
|
-
export declare function inferEntityType(entity: string): string;
|
|
12
|
-
/** Parsed breakdown of a validation error string. */
|
|
13
|
-
interface ParsedError {
|
|
14
|
-
field: string;
|
|
15
|
-
errorKind: "enum" | "required" | "undeclared" | "type" | "pattern" | "datetime" | "length" | "other";
|
|
16
|
-
observed?: string;
|
|
17
|
-
enumValues?: string[];
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Parse a single validation error line from validate.js / store-cli.
|
|
21
|
-
*
|
|
22
|
-
* Examples:
|
|
23
|
-
* 'status: value "verified" not in [reported, triaged, in-progress, fixed]'
|
|
24
|
-
* 'taskId: missing required field'
|
|
25
|
-
* 'xyz: undeclared field'
|
|
26
|
-
* 'sprintId: expected string, got number'
|
|
27
|
-
* 'title: value length 0 is below minLength 1'
|
|
28
|
-
* 'createdAt: value "today" is not a valid date-time'
|
|
29
|
-
* 'prefix: value "AB" does not match pattern ^[A-Z]+-[A-Z]$'
|
|
30
|
-
*/
|
|
31
|
-
export declare function parseValidationError(line: string): ParsedError;
|
|
32
|
-
/**
|
|
33
|
-
* Given a single validation error line (from validate.js or store-cli),
|
|
34
|
-
* return a user-facing remediation hint and optional copy-pasteable command.
|
|
35
|
-
*
|
|
36
|
-
* @param errorLine A single error line from validate.js / store-cli output.
|
|
37
|
-
* @param entityType The entity type (task, sprint, bug, feature, event).
|
|
38
|
-
* @param entityId The entity ID (e.g. "FORGE-S18-T02") — used for commands.
|
|
39
|
-
* @returns RemediationResult with hint and command.
|
|
40
|
-
*/
|
|
41
|
-
export declare function remediateError(errorLine: string, entityType: string, entityId: string): RemediationResult;
|
|
42
|
-
/**
|
|
43
|
-
* Parse a multi-line validation output (e.g. from store-cli validate or
|
|
44
|
-
* validate-store --dry-run) into individual error lines and return
|
|
45
|
-
* remediation for each.
|
|
46
|
-
*
|
|
47
|
-
* @param output Raw multi-line output from validation tool.
|
|
48
|
-
* @param entityType Override entity type (inferred from output if not provided).
|
|
49
|
-
* @returns Array of { errorLine, remediation } objects.
|
|
50
|
-
*/
|
|
51
|
-
export declare function remediateValidationOutput(output: string, entityType?: string): Array<{
|
|
52
|
-
errorLine: string;
|
|
53
|
-
remediation: RemediationResult;
|
|
54
|
-
}>;
|
|
55
|
-
/**
|
|
56
|
-
* Format a block message for a write-guard violation, appending remediation hints.
|
|
57
|
-
* Used by hook-dispatcher.ts for store-cli intercept blocks.
|
|
58
|
-
*
|
|
59
|
-
* @param rawReason The raw reason string from validateStoreCLIPayload or checkWriteGuard.
|
|
60
|
-
* @param entityType The entity type if known.
|
|
61
|
-
* @param entityId The entity ID if known.
|
|
62
|
-
* @returns Enhanced reason string with remediation hints appended.
|
|
63
|
-
*/
|
|
64
|
-
export declare function enhanceBlockMessage(rawReason: string, entityType?: string, entityId?: string): string;
|
|
65
|
-
export {};
|
|
@@ -1,298 +0,0 @@
|
|
|
1
|
-
// Store-error remediation — forge-cli#24
|
|
2
|
-
//
|
|
3
|
-
// Shared remediation-hint surface for store validation errors.
|
|
4
|
-
// Consumed by:
|
|
5
|
-
// - health-check.ts (per-error row in store-integrity output)
|
|
6
|
-
// - hooks/write-guard.ts (block-message body for schema violations)
|
|
7
|
-
// - hook-dispatcher.ts (store-cli intercept block messages)
|
|
8
|
-
// - store-validator.ts (structured result for hook callers)
|
|
9
|
-
//
|
|
10
|
-
// Error sources:
|
|
11
|
-
// 1. validate.js (in-process via write-guard) — produces error strings like:
|
|
12
|
-
// "status: value "verified" not in [reported, triaged, in-progress, fixed]"
|
|
13
|
-
// "taskId: missing required field"
|
|
14
|
-
// "xyz: undeclared field"
|
|
15
|
-
// 2. store-cli.cjs validate (subprocess via store-validator.ts) — same format,
|
|
16
|
-
// piped through stderr.
|
|
17
|
-
// 3. validate-store.cjs --dry-run (subprocess via health-check.ts) — lines like:
|
|
18
|
-
// "ERROR FORGE-S18-T02: status: value "verified" not in [reported, triaged, ...]"
|
|
19
|
-
// "WARN FORGE-S18-T02: ..."
|
|
20
|
-
//
|
|
21
|
-
// This module parses those formats and returns a one-line user-facing hint
|
|
22
|
-
// plus an optional copy-pasteable store-cli command.
|
|
23
|
-
// ── Entity-type inference from entity name / ID ────────────────────────────────
|
|
24
|
-
/** Map entity type to the corresponding schema's status enum values. */
|
|
25
|
-
const STATUS_ENUMS = {
|
|
26
|
-
task: [
|
|
27
|
-
"draft", "planned", "plan-approved", "implementing", "implemented",
|
|
28
|
-
"review-approved", "approved", "committed", "plan-revision-required",
|
|
29
|
-
"code-revision-required", "blocked", "escalated", "abandoned",
|
|
30
|
-
],
|
|
31
|
-
sprint: [
|
|
32
|
-
"planning", "active", "completed", "retrospective-done",
|
|
33
|
-
"partially-completed", "blocked", "abandoned",
|
|
34
|
-
],
|
|
35
|
-
bug: ["reported", "triaged", "in-progress", "fixed"],
|
|
36
|
-
feature: ["proposed", "accepted", "in-progress", "delivered", "declined"],
|
|
37
|
-
event: [], // no status field
|
|
38
|
-
};
|
|
39
|
-
/** Known entity types that support write via store-cli. */
|
|
40
|
-
const ENTITY_TYPES = new Set(["task", "sprint", "bug", "feature", "event"]);
|
|
41
|
-
/**
|
|
42
|
-
* Infer the entity type from an entity name/ID string.
|
|
43
|
-
* Returns "task" as default if no match.
|
|
44
|
-
*/
|
|
45
|
-
export function inferEntityType(entity) {
|
|
46
|
-
const lower = entity.toLowerCase();
|
|
47
|
-
// Bug patterns: BUG-015, FORGE-BUG-015, bug-031
|
|
48
|
-
if (/\bbug/i.test(entity))
|
|
49
|
-
return "bug";
|
|
50
|
-
// Sprint patterns: S18 (standalone), sprint-01 — but NOT inside task IDs like FORGE-S18-T02
|
|
51
|
-
if (/^[A-Z]+-S\d+$/i.test(entity) || /\bsprint/i.test(entity))
|
|
52
|
-
return "sprint";
|
|
53
|
-
// Feature patterns: FORGE-F01
|
|
54
|
-
if (/\bf\d+\b/i.test(entity) || lower.includes("feat"))
|
|
55
|
-
return "feature";
|
|
56
|
-
// Event patterns
|
|
57
|
-
if (lower.includes("event"))
|
|
58
|
-
return "event";
|
|
59
|
-
// Task IDs: FORGE-S18-T02, PROJECT-T01
|
|
60
|
-
if (/\bt\d+\b/i.test(entity))
|
|
61
|
-
return "task";
|
|
62
|
-
// Default
|
|
63
|
-
return "task";
|
|
64
|
-
}
|
|
65
|
-
const STATUS_REMEDIATION = {
|
|
66
|
-
hint: "Set status to one of the legal values for this entity type.",
|
|
67
|
-
command: (entityType, entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" update-status ${entityType} ${entityId} status <legal-value>`,
|
|
68
|
-
};
|
|
69
|
-
const REQUIRED_FIELD_REMEDIATION = {
|
|
70
|
-
hint: "Add the missing field with a valid value. Use the template command to see the canonical shape.",
|
|
71
|
-
command: (entityType, _entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" template ${entityType}`,
|
|
72
|
-
};
|
|
73
|
-
const UNDECLARED_FIELD_REMEDIATION = {
|
|
74
|
-
hint: "Remove the undeclared field, or check the schema for the correct property name.",
|
|
75
|
-
command: (entityType, _entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" describe ${entityType}`,
|
|
76
|
-
};
|
|
77
|
-
const TYPE_MISMATCH_REMEDIATION = {
|
|
78
|
-
hint: "Use the correct type for this field. Use the describe command to see the expected type.",
|
|
79
|
-
command: (entityType, _entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" describe ${entityType}`,
|
|
80
|
-
};
|
|
81
|
-
const PATTERN_REMEDIATION = {
|
|
82
|
-
hint: "The value must match the expected pattern (e.g. a date-time or ID format).",
|
|
83
|
-
command: (entityType, _entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" describe ${entityType}`,
|
|
84
|
-
};
|
|
85
|
-
const DATE_TIME_REMEDIATION = {
|
|
86
|
-
hint: "Use an ISO 8601 date-time string (e.g. 2026-05-21T12:00:00Z).",
|
|
87
|
-
command: (entityType, _entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" describe ${entityType}`,
|
|
88
|
-
};
|
|
89
|
-
const LENGTH_REMEDIATION = {
|
|
90
|
-
hint: "Adjust the value length to satisfy the schema constraint.",
|
|
91
|
-
command: (entityType, _entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" describe ${entityType}`,
|
|
92
|
-
};
|
|
93
|
-
/**
|
|
94
|
-
* Parse a single validation error line from validate.js / store-cli.
|
|
95
|
-
*
|
|
96
|
-
* Examples:
|
|
97
|
-
* 'status: value "verified" not in [reported, triaged, in-progress, fixed]'
|
|
98
|
-
* 'taskId: missing required field'
|
|
99
|
-
* 'xyz: undeclared field'
|
|
100
|
-
* 'sprintId: expected string, got number'
|
|
101
|
-
* 'title: value length 0 is below minLength 1'
|
|
102
|
-
* 'createdAt: value "today" is not a valid date-time'
|
|
103
|
-
* 'prefix: value "AB" does not match pattern ^[A-Z]+-[A-Z]$'
|
|
104
|
-
*/
|
|
105
|
-
export function parseValidationError(line) {
|
|
106
|
-
// Enum violation: 'field: value "X" not in [a, b, c]'
|
|
107
|
-
const enumMatch = line.match(/^(\w+):\s+value\s+"([^"]+)"\s+not in \[([^\]]+)\]/);
|
|
108
|
-
if (enumMatch) {
|
|
109
|
-
return {
|
|
110
|
-
field: enumMatch[1],
|
|
111
|
-
errorKind: "enum",
|
|
112
|
-
observed: enumMatch[2],
|
|
113
|
-
enumValues: enumMatch[3].split(",").map((s) => s.trim()),
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
// Required field: 'field: missing required field'
|
|
117
|
-
if (/\bmissing required field\b/.test(line)) {
|
|
118
|
-
const fieldMatch = line.match(/^(\w+):/);
|
|
119
|
-
return { field: fieldMatch?.[1] ?? "unknown", errorKind: "required" };
|
|
120
|
-
}
|
|
121
|
-
// Undeclared field: 'xyz: undeclared field'
|
|
122
|
-
if (/\bundeclared field\b/.test(line)) {
|
|
123
|
-
const fieldMatch = line.match(/^(\w+):/);
|
|
124
|
-
return { field: fieldMatch?.[1] ?? "unknown", errorKind: "undeclared" };
|
|
125
|
-
}
|
|
126
|
-
// Type mismatch: 'field: expected string, got number'
|
|
127
|
-
const typeMatch = line.match(/^(\w+):\s+expected\s+\S+,?\s+got\s+\S+/);
|
|
128
|
-
if (typeMatch) {
|
|
129
|
-
return { field: typeMatch[1], errorKind: "type" };
|
|
130
|
-
}
|
|
131
|
-
// Date-time format: 'field: value "..." is not a valid date-time'
|
|
132
|
-
if (/\bis not a valid date-time\b/.test(line)) {
|
|
133
|
-
const fieldMatch = line.match(/^(\w+):/);
|
|
134
|
-
return { field: fieldMatch?.[1] ?? "unknown", errorKind: "datetime" };
|
|
135
|
-
}
|
|
136
|
-
// Pattern mismatch: 'field: value "..." does not match pattern ...'
|
|
137
|
-
if (/\bdoes not match pattern\b/.test(line)) {
|
|
138
|
-
const fieldMatch = line.match(/^(\w+):/);
|
|
139
|
-
return { field: fieldMatch?.[1] ?? "unknown", errorKind: "pattern" };
|
|
140
|
-
}
|
|
141
|
-
// Length violations
|
|
142
|
-
if (/\blength\b.*\b(exceeds|below)\b/.test(line) || /\b(exceeds|below)\b.*\blength\b/.test(line)) {
|
|
143
|
-
const fieldMatch = line.match(/^(\w+):/);
|
|
144
|
-
return { field: fieldMatch?.[1] ?? "unknown", errorKind: "length" };
|
|
145
|
-
}
|
|
146
|
-
// Generic: capture leading field name if present
|
|
147
|
-
const genericMatch = line.match(/^(\w+):/);
|
|
148
|
-
return { field: genericMatch?.[1] ?? "unknown", errorKind: "other" };
|
|
149
|
-
}
|
|
150
|
-
// ── Public API ──────────────────────────────────────────────────────────────────
|
|
151
|
-
/**
|
|
152
|
-
* Given a single validation error line (from validate.js or store-cli),
|
|
153
|
-
* return a user-facing remediation hint and optional copy-pasteable command.
|
|
154
|
-
*
|
|
155
|
-
* @param errorLine A single error line from validate.js / store-cli output.
|
|
156
|
-
* @param entityType The entity type (task, sprint, bug, feature, event).
|
|
157
|
-
* @param entityId The entity ID (e.g. "FORGE-S18-T02") — used for commands.
|
|
158
|
-
* @returns RemediationResult with hint and command.
|
|
159
|
-
*/
|
|
160
|
-
export function remediateError(errorLine, entityType, entityId) {
|
|
161
|
-
const parsed = parseValidationError(errorLine);
|
|
162
|
-
switch (parsed.errorKind) {
|
|
163
|
-
case "enum": {
|
|
164
|
-
const legalValues = STATUS_ENUMS[entityType] ?? parsed.enumValues ?? [];
|
|
165
|
-
const isStatusField = parsed.field === "status" || parsed.field.toLowerCase().includes("status");
|
|
166
|
-
if (isStatusField && legalValues.length > 0) {
|
|
167
|
-
return {
|
|
168
|
-
hint: `"${parsed.observed}" is not a legal ${entityType} status. Legal values: ${legalValues.join(", ")}.`,
|
|
169
|
-
command: `node "$FORGE_ROOT/tools/store-cli.cjs" update-status ${entityType} ${entityId} status <${legalValues.join("|")}>`,
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
if (legalValues.length > 0) {
|
|
173
|
-
return {
|
|
174
|
-
hint: `Invalid value for "${parsed.field}". Allowed: ${legalValues.join(", ")}.`,
|
|
175
|
-
command: `node "$FORGE_ROOT/tools/store-cli.cjs" template ${entityType}`,
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
return {
|
|
179
|
-
hint: STATUS_REMEDIATION.hint,
|
|
180
|
-
command: STATUS_REMEDIATION.command(entityType, entityId),
|
|
181
|
-
};
|
|
182
|
-
}
|
|
183
|
-
case "required":
|
|
184
|
-
return {
|
|
185
|
-
hint: REQUIRED_FIELD_REMEDIATION.hint,
|
|
186
|
-
command: REQUIRED_FIELD_REMEDIATION.command(entityType, entityId),
|
|
187
|
-
};
|
|
188
|
-
case "undeclared":
|
|
189
|
-
return {
|
|
190
|
-
hint: UNDECLARED_FIELD_REMEDIATION.hint,
|
|
191
|
-
command: UNDECLARED_FIELD_REMEDIATION.command(entityType, entityId),
|
|
192
|
-
};
|
|
193
|
-
case "type":
|
|
194
|
-
return {
|
|
195
|
-
hint: TYPE_MISMATCH_REMEDIATION.hint,
|
|
196
|
-
command: TYPE_MISMATCH_REMEDIATION.command(entityType, entityId),
|
|
197
|
-
};
|
|
198
|
-
case "datetime":
|
|
199
|
-
return {
|
|
200
|
-
hint: DATE_TIME_REMEDIATION.hint,
|
|
201
|
-
command: DATE_TIME_REMEDIATION.command(entityType, entityId),
|
|
202
|
-
};
|
|
203
|
-
case "pattern":
|
|
204
|
-
return {
|
|
205
|
-
hint: PATTERN_REMEDIATION.hint,
|
|
206
|
-
command: PATTERN_REMEDIATION.command(entityType, entityId),
|
|
207
|
-
};
|
|
208
|
-
case "length":
|
|
209
|
-
return {
|
|
210
|
-
hint: LENGTH_REMEDIATION.hint,
|
|
211
|
-
command: LENGTH_REMEDIATION.command(entityType, entityId),
|
|
212
|
-
};
|
|
213
|
-
case "other":
|
|
214
|
-
default:
|
|
215
|
-
return {
|
|
216
|
-
hint: "Check the schema for the expected shape.",
|
|
217
|
-
command: `node "$FORGE_ROOT/tools/store-cli.cjs" template ${entityType}`,
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Parse a multi-line validation output (e.g. from store-cli validate or
|
|
223
|
-
* validate-store --dry-run) into individual error lines and return
|
|
224
|
-
* remediation for each.
|
|
225
|
-
*
|
|
226
|
-
* @param output Raw multi-line output from validation tool.
|
|
227
|
-
* @param entityType Override entity type (inferred from output if not provided).
|
|
228
|
-
* @returns Array of { errorLine, remediation } objects.
|
|
229
|
-
*/
|
|
230
|
-
export function remediateValidationOutput(output, entityType) {
|
|
231
|
-
const lines = output
|
|
232
|
-
.split("\n")
|
|
233
|
-
.map((l) => l.trim())
|
|
234
|
-
.filter((l) => l.length > 0);
|
|
235
|
-
const results = [];
|
|
236
|
-
for (const line of lines) {
|
|
237
|
-
// Strip "ERROR" / "WARN" prefix from validate-store --dry-run output
|
|
238
|
-
const cleaned = line.replace(/^(ERROR|WARN)\s+/, "");
|
|
239
|
-
if (!cleaned)
|
|
240
|
-
continue;
|
|
241
|
-
// Extract entity ID from lines like "FORGE-S18-T02: status: ..."
|
|
242
|
-
const entityIdMatch = cleaned.match(/^([A-Z]+-S?\d+-T?\d+|[A-Z]+-BUG-\d+|[A-Z]+-F\d+):/);
|
|
243
|
-
const entityId = entityIdMatch?.[1] ?? "unknown";
|
|
244
|
-
// If entity type not overridden, try to infer
|
|
245
|
-
const inferredType = entityType ?? inferEntityType(entityId);
|
|
246
|
-
// Skip non-error lines (hint lines from validate.js, blank lines, etc.)
|
|
247
|
-
if (cleaned.startsWith("(") || cleaned.startsWith("hint:") || cleaned.startsWith("#")) {
|
|
248
|
-
continue;
|
|
249
|
-
}
|
|
250
|
-
// Skip lines that are just an entity name without an error field
|
|
251
|
-
// (the real error is on the same line after the entity prefix)
|
|
252
|
-
const errorPart = entityIdMatch ? cleaned.slice(entityIdMatch[0].length).trim() : cleaned;
|
|
253
|
-
if (!errorPart || errorPart.length < 3)
|
|
254
|
-
continue;
|
|
255
|
-
results.push({
|
|
256
|
-
errorLine: cleaned,
|
|
257
|
-
remediation: remediateError(errorPart, inferredType, entityId),
|
|
258
|
-
});
|
|
259
|
-
}
|
|
260
|
-
return results;
|
|
261
|
-
}
|
|
262
|
-
/**
|
|
263
|
-
* Format a block message for a write-guard violation, appending remediation hints.
|
|
264
|
-
* Used by hook-dispatcher.ts for store-cli intercept blocks.
|
|
265
|
-
*
|
|
266
|
-
* @param rawReason The raw reason string from validateStoreCLIPayload or checkWriteGuard.
|
|
267
|
-
* @param entityType The entity type if known.
|
|
268
|
-
* @param entityId The entity ID if known.
|
|
269
|
-
* @returns Enhanced reason string with remediation hints appended.
|
|
270
|
-
*/
|
|
271
|
-
export function enhanceBlockMessage(rawReason, entityType, entityId) {
|
|
272
|
-
// Parse the raw reason into lines and try to add remediation to each error line.
|
|
273
|
-
const lines = rawReason.split("\n");
|
|
274
|
-
const enhanced = [];
|
|
275
|
-
for (const line of lines) {
|
|
276
|
-
// Strip leading list markers and bullet points
|
|
277
|
-
const stripped = line.replace(/^\s*[-•]\s*/, "").trim();
|
|
278
|
-
// Check if this line contains a recognizable validation error pattern
|
|
279
|
-
const parsed = parseValidationError(stripped);
|
|
280
|
-
// Also match lines that contain validation error patterns not caught by parseValidationError
|
|
281
|
-
const hasKnownError = parsed.errorKind !== "other" || /\bmissing required\b|\bnot in \[|\bundeclared\b|\bexpected\b.*\bgot\b/.test(stripped);
|
|
282
|
-
if (hasKnownError) {
|
|
283
|
-
const type = entityType ?? "task";
|
|
284
|
-
const id = entityId ?? "unknown";
|
|
285
|
-
const remediation = remediateError(stripped, type, id);
|
|
286
|
-
enhanced.push(line);
|
|
287
|
-
enhanced.push(` 💡 ${remediation.hint}`);
|
|
288
|
-
if (remediation.command) {
|
|
289
|
-
enhanced.push(` → ${remediation.command}`);
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
else {
|
|
293
|
-
enhanced.push(line);
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
return enhanced.join("\n");
|
|
297
|
-
}
|
|
298
|
-
//# sourceMappingURL=store-error-remediation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store-error-remediation.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/lib/store-error-remediation.ts"],"names":[],"mappings":"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"}
|