@entelligentsia/forgecli 1.0.20 → 1.0.21
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 +43 -0
- package/README.md +7 -1
- package/dist/bin/config.js +4 -4
- package/dist/bin/config.js.map +1 -1
- package/dist/bin/update-cli.d.ts +1 -1
- package/dist/bin/update-cli.js +1 -1
- package/dist/bin/update-cli.js.map +1 -1
- package/dist/extensions/forgecli/ask-user-tool.js +1 -1
- package/dist/extensions/forgecli/ask-user-tool.js.map +1 -1
- package/dist/extensions/forgecli/commands/add-pipeline.d.ts +19 -0
- package/dist/extensions/forgecli/commands/add-pipeline.js +143 -0
- package/dist/extensions/forgecli/commands/add-pipeline.js.map +1 -0
- package/dist/extensions/forgecli/commands/add-task.d.ts +20 -0
- package/dist/extensions/forgecli/commands/add-task.js +154 -0
- package/dist/extensions/forgecli/commands/add-task.js.map +1 -0
- package/dist/extensions/forgecli/commands/approve.d.ts +22 -0
- package/dist/extensions/forgecli/commands/approve.js +152 -0
- package/dist/extensions/forgecli/commands/approve.js.map +1 -0
- package/dist/extensions/forgecli/commands/collate.d.ts +22 -0
- package/dist/extensions/forgecli/commands/collate.js +134 -0
- package/dist/extensions/forgecli/commands/collate.js.map +1 -0
- package/dist/extensions/forgecli/commands/commit.d.ts +22 -0
- package/dist/extensions/forgecli/commands/commit.js +152 -0
- package/dist/extensions/forgecli/commands/commit.js.map +1 -0
- package/dist/extensions/forgecli/commands/config-command.d.ts +8 -0
- package/dist/extensions/forgecli/commands/config-command.js +67 -0
- package/dist/extensions/forgecli/commands/config-command.js.map +1 -0
- package/dist/extensions/forgecli/commands/enhance.d.ts +45 -0
- package/dist/extensions/forgecli/commands/enhance.js +219 -0
- package/dist/extensions/forgecli/commands/enhance.js.map +1 -0
- package/dist/extensions/forgecli/commands/implement.d.ts +22 -0
- package/dist/extensions/forgecli/commands/implement.js +170 -0
- package/dist/extensions/forgecli/commands/implement.js.map +1 -0
- package/dist/extensions/forgecli/commands/plan.d.ts +22 -0
- package/dist/extensions/forgecli/commands/plan.js +167 -0
- package/dist/extensions/forgecli/commands/plan.js.map +1 -0
- package/dist/extensions/forgecli/commands/quiz-agent.d.ts +17 -0
- package/dist/extensions/forgecli/commands/quiz-agent.js +98 -0
- package/dist/extensions/forgecli/commands/quiz-agent.js.map +1 -0
- package/dist/extensions/forgecli/commands/read-command.d.ts +2 -0
- package/dist/extensions/forgecli/commands/read-command.js +100 -0
- package/dist/extensions/forgecli/commands/read-command.js.map +1 -0
- package/dist/extensions/forgecli/commands/regenerate.d.ts +40 -0
- package/dist/extensions/forgecli/commands/regenerate.js +426 -0
- package/dist/extensions/forgecli/commands/regenerate.js.map +1 -0
- package/dist/extensions/forgecli/commands/remove-command.d.ts +17 -0
- package/dist/extensions/forgecli/commands/remove-command.js +124 -0
- package/dist/extensions/forgecli/commands/remove-command.js.map +1 -0
- package/dist/extensions/forgecli/commands/report-bug.d.ts +25 -0
- package/dist/extensions/forgecli/commands/report-bug.js +159 -0
- package/dist/extensions/forgecli/commands/report-bug.js.map +1 -0
- package/dist/extensions/forgecli/commands/retrospective.d.ts +20 -0
- package/dist/extensions/forgecli/commands/retrospective.js +126 -0
- package/dist/extensions/forgecli/commands/retrospective.js.map +1 -0
- package/dist/extensions/forgecli/commands/review-code.d.ts +35 -0
- package/dist/extensions/forgecli/commands/review-code.js +196 -0
- package/dist/extensions/forgecli/commands/review-code.js.map +1 -0
- package/dist/extensions/forgecli/commands/review-plan.d.ts +35 -0
- package/dist/extensions/forgecli/commands/review-plan.js +200 -0
- package/dist/extensions/forgecli/commands/review-plan.js.map +1 -0
- package/dist/extensions/forgecli/commands/sprint-intake.d.ts +10 -0
- package/dist/extensions/forgecli/commands/sprint-intake.js +91 -0
- package/dist/extensions/forgecli/commands/sprint-intake.js.map +1 -0
- package/dist/extensions/forgecli/commands/sprint-plan.d.ts +14 -0
- package/dist/extensions/forgecli/commands/sprint-plan.js +122 -0
- package/dist/extensions/forgecli/commands/sprint-plan.js.map +1 -0
- package/dist/extensions/forgecli/commands/status-command.d.ts +19 -0
- package/dist/extensions/forgecli/commands/status-command.js +140 -0
- package/dist/extensions/forgecli/commands/status-command.js.map +1 -0
- package/dist/extensions/forgecli/commands/store-query.d.ts +22 -0
- package/dist/extensions/forgecli/commands/store-query.js +107 -0
- package/dist/extensions/forgecli/commands/store-query.js.map +1 -0
- package/dist/extensions/forgecli/commands/store-repair.d.ts +17 -0
- package/dist/extensions/forgecli/commands/store-repair.js +123 -0
- package/dist/extensions/forgecli/commands/store-repair.js.map +1 -0
- package/dist/extensions/forgecli/commands/test-orchestrate.d.ts +2 -0
- package/dist/extensions/forgecli/commands/test-orchestrate.js +182 -0
- package/dist/extensions/forgecli/commands/test-orchestrate.js.map +1 -0
- package/dist/extensions/forgecli/commands/transcripts-command.d.ts +87 -0
- package/dist/extensions/forgecli/commands/transcripts-command.js +418 -0
- package/dist/extensions/forgecli/commands/transcripts-command.js.map +1 -0
- package/dist/extensions/forgecli/commands/validate.d.ts +22 -0
- package/dist/extensions/forgecli/commands/validate.js +152 -0
- package/dist/extensions/forgecli/commands/validate.js.map +1 -0
- package/dist/extensions/forgecli/config/config-layer.d.ts +53 -0
- package/dist/extensions/forgecli/config/config-layer.js +72 -0
- package/dist/extensions/forgecli/config/config-layer.js.map +1 -0
- package/dist/extensions/forgecli/config/config-writer.d.ts +16 -0
- package/dist/extensions/forgecli/config/config-writer.js +69 -0
- package/dist/extensions/forgecli/config/config-writer.js.map +1 -0
- package/dist/extensions/forgecli/config/model-registry.d.ts +61 -0
- package/dist/extensions/forgecli/config/model-registry.js +127 -0
- package/dist/extensions/forgecli/config/model-registry.js.map +1 -0
- package/dist/extensions/forgecli/config/model-resolver.d.ts +32 -0
- package/dist/extensions/forgecli/config/model-resolver.js +65 -0
- package/dist/extensions/forgecli/config/model-resolver.js.map +1 -0
- package/dist/extensions/forgecli/config/model-validator.d.ts +29 -0
- package/dist/extensions/forgecli/config/model-validator.js +107 -0
- package/dist/extensions/forgecli/config/model-validator.js.map +1 -0
- package/dist/extensions/forgecli/config-tui/component.js +1 -1
- package/dist/extensions/forgecli/config-tui/component.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/handler.js +1 -1
- package/dist/extensions/forgecli/config-tui/handler.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/screens/override-editor.js +1 -1
- package/dist/extensions/forgecli/config-tui/screens/override-editor.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/screens/overrides-list-phases.js +1 -1
- package/dist/extensions/forgecli/config-tui/screens/overrides-list-phases.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/screens/show-resolved.js +1 -1
- package/dist/extensions/forgecli/config-tui/screens/show-resolved.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/state/buffer.d.ts +2 -2
- package/dist/extensions/forgecli/config-tui/state/model.d.ts +1 -1
- package/dist/extensions/forgecli/config-tui/state/reducer.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/state/selectors.d.ts +2 -2
- package/dist/extensions/forgecli/config-tui/state/selectors.js +1 -1
- package/dist/extensions/forgecli/config-tui/state/selectors.js.map +1 -1
- package/dist/extensions/forgecli/context-governor-compaction.d.ts +13 -2
- package/dist/extensions/forgecli/context-governor-compaction.js +66 -41
- package/dist/extensions/forgecli/context-governor-compaction.js.map +1 -1
- package/dist/extensions/forgecli/context-governor.d.ts +3 -7
- package/dist/extensions/forgecli/context-governor.js +43 -69
- package/dist/extensions/forgecli/context-governor.js.map +1 -1
- package/dist/extensions/forgecli/dashboard/component.d.ts +10 -1
- package/dist/extensions/forgecli/dashboard/component.js +84 -18
- package/dist/extensions/forgecli/dashboard/component.js.map +1 -1
- package/dist/extensions/forgecli/dashboard/register.js +1 -1
- package/dist/extensions/forgecli/dashboard/register.js.map +1 -1
- package/dist/extensions/forgecli/forge-artifact-tool.js +1 -1
- package/dist/extensions/forgecli/forge-commands.js +1 -1
- package/dist/extensions/forgecli/forge-commands.js.map +1 -1
- package/dist/extensions/forgecli/forge-init/forge-init.d.ts +26 -0
- package/dist/extensions/forgecli/forge-init/forge-init.js +514 -0
- package/dist/extensions/forgecli/forge-init/forge-init.js.map +1 -0
- package/dist/extensions/forgecli/forge-init/init-context.d.ts +99 -0
- package/dist/extensions/forgecli/forge-init/init-context.js +178 -0
- package/dist/extensions/forgecli/forge-init/init-context.js.map +1 -0
- package/dist/extensions/forgecli/forge-init/init-progress.d.ts +39 -0
- package/dist/extensions/forgecli/forge-init/init-progress.js +117 -0
- package/dist/extensions/forgecli/forge-init/init-progress.js.map +1 -0
- package/dist/extensions/forgecli/forge-init/phase4-register.js +1 -1
- package/dist/extensions/forgecli/forge-init/phase4-register.js.map +1 -1
- package/dist/extensions/forgecli/forge-init/run-phases.js +2 -2
- package/dist/extensions/forgecli/forge-init/run-phases.js.map +1 -1
- package/dist/extensions/forgecli/forge-subagent.d.ts +22 -0
- package/dist/extensions/forgecli/forge-subagent.js +42 -15
- package/dist/extensions/forgecli/forge-subagent.js.map +1 -1
- package/dist/extensions/forgecli/forge-tools.d.ts +0 -25
- package/dist/extensions/forgecli/forge-tools.js +6 -37
- package/dist/extensions/forgecli/forge-tools.js.map +1 -1
- package/dist/extensions/forgecli/governor-config.d.ts +19 -0
- package/dist/extensions/forgecli/governor-config.js +58 -0
- package/dist/extensions/forgecli/governor-config.js.map +1 -0
- package/dist/extensions/forgecli/health-check.js +1 -1
- package/dist/extensions/forgecli/health-check.js.map +1 -1
- package/dist/extensions/forgecli/hook-dispatcher.js +2 -2
- package/dist/extensions/forgecli/hook-dispatcher.js.map +1 -1
- package/dist/extensions/forgecli/hooks/post-init-hook.js +11 -6
- package/dist/extensions/forgecli/hooks/post-init-hook.js.map +1 -1
- package/dist/extensions/forgecli/hooks/post-sprint-hook.js +11 -6
- package/dist/extensions/forgecli/hooks/post-sprint-hook.js.map +1 -1
- package/dist/extensions/forgecli/hooks/write-guard.js +1 -1
- package/dist/extensions/forgecli/hooks/write-guard.js.map +1 -1
- package/dist/extensions/forgecli/index.js +37 -35
- package/dist/extensions/forgecli/index.js.map +1 -1
- package/dist/extensions/forgecli/kickoff.d.ts +9 -0
- package/dist/extensions/forgecli/kickoff.js +15 -0
- package/dist/extensions/forgecli/kickoff.js.map +1 -1
- package/dist/extensions/forgecli/lib/forge-config.d.ts +1 -1
- package/dist/extensions/forgecli/lib/forge-config.js +1 -1
- package/dist/extensions/forgecli/lib/forge-config.js.map +1 -1
- package/dist/extensions/forgecli/lib/forge-root.d.ts +10 -0
- package/dist/extensions/forgecli/lib/forge-root.js +62 -0
- package/dist/extensions/forgecli/lib/forge-root.js.map +1 -0
- package/dist/extensions/forgecli/lib/run-cjs.d.ts +26 -0
- package/dist/extensions/forgecli/lib/run-cjs.js +42 -0
- package/dist/extensions/forgecli/lib/run-cjs.js.map +1 -0
- package/dist/extensions/forgecli/orchestrator-tree.d.ts +4 -0
- package/dist/extensions/forgecli/orchestrator-tree.js +21 -3
- package/dist/extensions/forgecli/orchestrator-tree.js.map +1 -1
- package/dist/extensions/forgecli/orchestrators/calibrate.d.ts +64 -0
- package/dist/extensions/forgecli/orchestrators/calibrate.js +481 -0
- package/dist/extensions/forgecli/orchestrators/calibrate.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/fix-bug.d.ts +93 -0
- package/dist/extensions/forgecli/orchestrators/fix-bug.js +1705 -0
- package/dist/extensions/forgecli/orchestrators/fix-bug.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/halt-advisor.d.ts +59 -0
- package/dist/extensions/forgecli/orchestrators/halt-advisor.js +113 -0
- package/dist/extensions/forgecli/orchestrators/halt-advisor.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/materialize.d.ts +16 -0
- package/dist/extensions/forgecli/orchestrators/materialize.js +195 -0
- package/dist/extensions/forgecli/orchestrators/materialize.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/migrate.d.ts +22 -0
- package/dist/extensions/forgecli/orchestrators/migrate.js +260 -0
- package/dist/extensions/forgecli/orchestrators/migrate.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/orchestrator-preflight.d.ts +46 -0
- package/dist/extensions/forgecli/orchestrators/orchestrator-preflight.js +64 -0
- package/dist/extensions/forgecli/orchestrators/orchestrator-preflight.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/run-sprint.d.ts +27 -0
- package/dist/extensions/forgecli/orchestrators/run-sprint.js +734 -0
- package/dist/extensions/forgecli/orchestrators/run-sprint.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/run-task.d.ts +215 -0
- package/dist/extensions/forgecli/orchestrators/run-task.js +1491 -0
- package/dist/extensions/forgecli/orchestrators/run-task.js.map +1 -0
- package/dist/extensions/forgecli/paths/paths.d.ts +8 -0
- package/dist/extensions/forgecli/paths/paths.js +17 -0
- package/dist/extensions/forgecli/paths/paths.js.map +1 -1
- package/dist/extensions/forgecli/phase-vocab.d.ts +31 -0
- package/dist/extensions/forgecli/phase-vocab.js +82 -0
- package/dist/extensions/forgecli/phase-vocab.js.map +1 -0
- package/dist/extensions/forgecli/session-registry.d.ts +2 -2
- package/dist/extensions/forgecli/session-registry.js +6 -2
- package/dist/extensions/forgecli/session-registry.js.map +1 -1
- package/dist/extensions/forgecli/skill-curation/friction-emit.d.ts +99 -0
- package/dist/extensions/forgecli/skill-curation/friction-emit.js +245 -0
- package/dist/extensions/forgecli/skill-curation/friction-emit.js.map +1 -0
- package/dist/extensions/forgecli/skill-curation/skill-curation-flag.d.ts +21 -0
- package/dist/extensions/forgecli/skill-curation/skill-curation-flag.js +71 -0
- package/dist/extensions/forgecli/skill-curation/skill-curation-flag.js.map +1 -0
- package/dist/extensions/forgecli/skill-curation/skill-curator-subagent.d.ts +102 -0
- package/dist/extensions/forgecli/skill-curation/skill-curator-subagent.js +339 -0
- package/dist/extensions/forgecli/skill-curation/skill-curator-subagent.js.map +1 -0
- package/dist/extensions/forgecli/skill-curation/skill-retriever.d.ts +84 -0
- package/dist/extensions/forgecli/skill-curation/skill-retriever.js +246 -0
- package/dist/extensions/forgecli/skill-curation/skill-retriever.js.map +1 -0
- package/dist/extensions/forgecli/skill-curation/skill-usage-tracker.d.ts +91 -0
- package/dist/extensions/forgecli/skill-curation/skill-usage-tracker.js +224 -0
- package/dist/extensions/forgecli/skill-curation/skill-usage-tracker.js.map +1 -0
- package/dist/extensions/forgecli/store/store-error-remediation.d.ts +65 -0
- package/dist/extensions/forgecli/store/store-error-remediation.js +307 -0
- package/dist/extensions/forgecli/store/store-error-remediation.js.map +1 -0
- package/dist/extensions/forgecli/store/store-resolver.d.ts +56 -0
- package/dist/extensions/forgecli/store/store-resolver.js +263 -0
- package/dist/extensions/forgecli/store/store-resolver.js.map +1 -0
- package/dist/extensions/forgecli/store/store-validator.d.ts +16 -0
- package/dist/extensions/forgecli/store/store-validator.js +32 -0
- package/dist/extensions/forgecli/store/store-validator.js.map +1 -0
- package/dist/extensions/forgecli/store/transition-guard.d.ts +20 -0
- package/dist/extensions/forgecli/store/transition-guard.js +89 -0
- package/dist/extensions/forgecli/store/transition-guard.js.map +1 -0
- package/dist/extensions/forgecli/subagent/orchestrator-transcript.js +5 -0
- package/dist/extensions/forgecli/subagent/orchestrator-transcript.js.map +1 -1
- package/dist/extensions/forgecli/transcript-archive-types.d.ts +171 -0
- package/dist/extensions/forgecli/transcript-archive-types.js +130 -0
- package/dist/extensions/forgecli/transcript-archive-types.js.map +1 -0
- package/dist/extensions/forgecli/transcript-archive.d.ts +127 -0
- package/dist/extensions/forgecli/transcript-archive.js +656 -0
- package/dist/extensions/forgecli/transcript-archive.js.map +1 -0
- package/dist/extensions/forgecli/transcript-replay.d.ts +28 -0
- package/dist/extensions/forgecli/transcript-replay.js +153 -0
- package/dist/extensions/forgecli/transcript-replay.js.map +1 -0
- package/dist/extensions/forgecli/transcripts-tui/component.d.ts +36 -0
- package/dist/extensions/forgecli/transcripts-tui/component.js +112 -0
- package/dist/extensions/forgecli/transcripts-tui/component.js.map +1 -0
- package/dist/extensions/forgecli/transcripts-tui/index.d.ts +4 -0
- package/dist/extensions/forgecli/transcripts-tui/index.js +5 -0
- package/dist/extensions/forgecli/transcripts-tui/index.js.map +1 -0
- package/dist/extensions/forgecli/transcripts-tui/screens/browse.d.ts +21 -0
- package/dist/extensions/forgecli/transcripts-tui/screens/browse.js +172 -0
- package/dist/extensions/forgecli/transcripts-tui/screens/browse.js.map +1 -0
- package/dist/extensions/forgecli/transcripts-tui/screens/types.d.ts +22 -0
- package/dist/extensions/forgecli/transcripts-tui/screens/types.js +4 -0
- package/dist/extensions/forgecli/transcripts-tui/screens/types.js.map +1 -0
- package/dist/extensions/forgecli/transcripts-tui/state/index.d.ts +4 -0
- package/dist/extensions/forgecli/transcripts-tui/state/index.js +5 -0
- package/dist/extensions/forgecli/transcripts-tui/state/index.js.map +1 -0
- package/dist/extensions/forgecli/transcripts-tui/state/init.d.ts +8 -0
- package/dist/extensions/forgecli/transcripts-tui/state/init.js +18 -0
- package/dist/extensions/forgecli/transcripts-tui/state/init.js.map +1 -0
- package/dist/extensions/forgecli/transcripts-tui/state/model.d.ts +56 -0
- package/dist/extensions/forgecli/transcripts-tui/state/model.js +6 -0
- package/dist/extensions/forgecli/transcripts-tui/state/model.js.map +1 -0
- package/dist/extensions/forgecli/transcripts-tui/state/reducer.d.ts +2 -0
- package/dist/extensions/forgecli/transcripts-tui/state/reducer.js +51 -0
- package/dist/extensions/forgecli/transcripts-tui/state/reducer.js.map +1 -0
- package/dist/extensions/forgecli/transcripts-tui/state/selectors.d.ts +10 -0
- package/dist/extensions/forgecli/transcripts-tui/state/selectors.js +62 -0
- package/dist/extensions/forgecli/transcripts-tui/state/selectors.js.map +1 -0
- package/dist/extensions/forgecli/transcripts-tui/theme.d.ts +20 -0
- package/dist/extensions/forgecli/transcripts-tui/theme.js +47 -0
- package/dist/extensions/forgecli/transcripts-tui/theme.js.map +1 -0
- package/dist/extensions/forgecli/tui/banner.d.ts +10 -0
- package/dist/extensions/forgecli/tui/banner.js +36 -0
- package/dist/extensions/forgecli/tui/banner.js.map +1 -0
- package/dist/extensions/forgecli/tui/forge-header.d.ts +12 -0
- package/dist/extensions/forgecli/tui/forge-header.js +114 -0
- package/dist/extensions/forgecli/tui/forge-header.js.map +1 -0
- package/dist/extensions/forgecli/tui/input-router.d.ts +33 -0
- package/dist/extensions/forgecli/tui/input-router.js +136 -0
- package/dist/extensions/forgecli/tui/input-router.js.map +1 -0
- package/dist/extensions/forgecli/tui/orchestrator-status-bar.d.ts +26 -0
- package/dist/extensions/forgecli/tui/orchestrator-status-bar.js +213 -0
- package/dist/extensions/forgecli/tui/orchestrator-status-bar.js.map +1 -0
- package/dist/extensions/forgecli/tui/thread-switcher.d.ts +18 -0
- package/dist/extensions/forgecli/tui/thread-switcher.js +194 -0
- package/dist/extensions/forgecli/tui/thread-switcher.js.map +1 -0
- package/dist/extensions/forgecli/update/forge-update-command.d.ts +100 -0
- package/dist/extensions/forgecli/update/forge-update-command.js +435 -0
- package/dist/extensions/forgecli/update/forge-update-command.js.map +1 -0
- package/dist/extensions/forgecli/update/migration-engine.d.ts +117 -0
- package/dist/extensions/forgecli/update/migration-engine.js +563 -0
- package/dist/extensions/forgecli/update/migration-engine.js.map +1 -0
- package/dist/extensions/forgecli/update/update-check.d.ts +37 -0
- package/dist/extensions/forgecli/update/update-check.js +185 -0
- package/dist/extensions/forgecli/update/update-check.js.map +1 -0
- package/dist/extensions/forgecli/update/update-tools.d.ts +23 -0
- package/dist/extensions/forgecli/update/update-tools.js +135 -0
- package/dist/extensions/forgecli/update/update-tools.js.map +1 -0
- package/dist/extensions/forgecli/update/whats-new-widget.d.ts +26 -0
- package/dist/extensions/forgecli/update/whats-new-widget.js +376 -0
- package/dist/extensions/forgecli/update/whats-new-widget.js.map +1 -0
- package/dist/extensions/forgecli/update/whats-new.d.ts +120 -0
- package/dist/extensions/forgecli/update/whats-new.js +470 -0
- package/dist/extensions/forgecli/update/whats-new.js.map +1 -0
- package/dist/extensions/forgecli/viewport/events.d.ts +113 -0
- package/dist/extensions/forgecli/viewport/events.js +290 -0
- package/dist/extensions/forgecli/viewport/events.js.map +1 -0
- package/dist/extensions/forgecli/viewport/renderer.d.ts +102 -0
- package/dist/extensions/forgecli/viewport/renderer.js +277 -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 +131 -0
- package/dist/extensions/forgecli/viewport/theme.js.map +1 -0
- package/dist/extensions/forgecli/wf-engine/engine.js +1 -1
- package/dist/extensions/forgecli/wf-engine/engine.js.map +1 -1
- package/package.json +4 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-resolver.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/store/store-resolver.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,2EAA2E;AAC3E,mEAAmE;AACnE,4EAA4E;AAC5E,0EAA0E;AAC1E,WAAW;AAEX,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,WAAW,GAAG;IAC1B,IAAI,EAAE,2BAA2B;IACjC,MAAM,EAAE,sBAAsB;IAC9B,GAAG,EAAE,sBAAsB;IAC3B,OAAO,EAAE,sBAAsB;IAC/B,QAAQ,EAAE,SAAS;IACnB,UAAU,EAAE,yBAAyB;CACrC,CAAC;AAUF,MAAM,UAAU,OAAO;IACtB,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7C,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAe,EAAE,IAAc,EAAE,GAAW;IAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,EAAE;QAC/D,GAAG;QACH,QAAQ,EAAE,MAAM;QAChB,OAAO;KACP,CAAC,CAAC;IACH,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACjH,CAAC;AACF,CAAC;AAED,SAAS,cAAc,CAAC,EAAS,EAAE,WAAwB;IAC1D,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,eAAe,CAC7B,KAAY,EACZ,GAAW,EACX,GAA4B,EAC5B,WAAmB;IAEnB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAElD,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACzC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,GAAG,CAAC;IAClG,IAAI,cAAc,EAAE,CAAC;QACpB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,2BAA2B,GAAG,8CAA8C,EAAE,OAAO,CAAC,CAAC;QACrG,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3F,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,+BAA+B,GAAG,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACnG,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;IACrE,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAChD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,OAAe,EACf,GAAW,EACX,IAAuB,EACvB,MAAc;IAEd,MAAM,IAAI,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACnE,IAAI,CAAC;QACJ,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC,OAAO,CAAC;QAC3E,wEAAwE;QACxE,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QACnB,IAAI,OAAO,EAAE;YAAE,OAAO,CAAC,KAAK,CAAC,wCAAwC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,GAAW,EACX,OAAe,EACf,GAAW,EACX,OAAuB,EAAE;IAEzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACrB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,eAAe,CAAC;IACxD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,YAAY,CAAC;IACrD,MAAM,SAAS,GAAG,CAAC,GAAuB,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACnF,MAAM,IAAI,GAAG,CAAC,KAAY,EAAE,EAAE,CAC7B,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAE3F,6EAA6E;IAC7E,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9E,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED,6EAA6E;IAC7E,MAAM,WAAW,GAChB,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;QACxB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YAC1B,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;YACzB,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;YAC7B,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,IAAI,gBAAgB,GAAe,IAAI,CAAC;IACxC,IAAI,CAAC;QACJ,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,SAAS,CAAC,mBAAmB,GAAG,GAAG,CAAC,CAAC;YACrC,gBAAgB,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9E,CAAC;aAAM,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,SAAS,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAC;YACpC,gBAAgB,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7E,CAAC;aAAM,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,SAAS,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAC;YACxC,gBAAgB,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACjF,CAAC;aAAM,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,SAAS,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC;YACvC,gBAAgB,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QAChF,CAAC;IACF,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QACnB,IAAI,OAAO,EAAE;YAAE,OAAO,CAAC,KAAK,CAAC,6CAA6C,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,IAAI,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QACjB,SAAS,CAAC,SAAS,CAAC,CAAC;QACrB,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,qCAAqC,GAAG,GAAG,EAAE,SAAS,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC;IACb,CAAC;IAED,6EAA6E;IAC7E,MAAM,mBAAmB,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,mBAAmB,EAAE,CAAC;QACzB,SAAS,CAAC,4BAA4B,GAAG,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YAEjC,mEAAmE;YACnE,gCAAgC;YAChC,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC/D,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBACnB,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,GAAG,CAAC,CAAC;oBACvE,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CACxC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,MAAM,CACxF,CAAC;oBACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxB,MAAM,SAAS,GAAU,EAAE,CAAC;wBAC5B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;4BACzB,IAAI,CAAC;gCACJ,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gCACxE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;4BACxC,CAAC;4BAAC,OAAO,GAAQ,EAAE,CAAC;gCACnB,IAAI,OAAO,EAAE;oCACZ,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;4BACrF,CAAC;wBACF,CAAC;wBACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;4BAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;oBAClD,CAAC;gBACF,CAAC;YACF,CAAC;YAED,qEAAqE;YACrE,2CAA2C;YAC3C,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClE,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7E,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC5D,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBACnB,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,GAAG,CAAC,CAAC;oBACvE,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC;wBAClC,IAAI,CAAC;4BACJ,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC;4BAClC,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;4BACxE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;gCAAE,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;wBACtD,CAAC;wBAAC,OAAO,GAAQ,EAAE,CAAC;4BACnB,IAAI,OAAO,EAAE;gCACZ,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC,EAAE,IAAI,KAAK,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;wBAC5F,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YACnB,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,KAAK,CAAC,0CAA0C,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACvF,CAAC;IACF,CAAC;IAED,6EAA6E;IAC7E,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IACvC,IAAI,aAAa,GAAe,IAAI,CAAC;IACrC,IAAI,CAAC;QACJ,aAAa,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9E,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QACnB,IAAI,OAAO,EAAE;YAAE,OAAO,CAAC,KAAK,CAAC,2CAA2C,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,aAAa,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,6EAA6E;IAC7E,SAAS,CAAC,2BAA2B,GAAG,IAAI,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC;IACnE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,SAAS,CAAC,SAAS,CAAC,CAAC;QACrB,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,8BAA8B,GAAG,GAAG,EAAE,SAAS,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;AACpB,CAAC;AAmBD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,GAAW,EACX,OAAe,EACf,GAAW,EACX,IAA2C,EAC3C,IAAqE;IAErE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,GAAG,SAAS,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC;IAEpF,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE;QAC1D,WAAW;QACX,GAAG;QACH,WAAW,EAAE,GAAG,YAAY,aAAa;KACzC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,GAAG,EAAE,EAAE,CAAC,MAAM,CACb,KAAK,YAAY,yBAAyB,GAAG,KAAK;YACjD,eAAe,IAAI,UAAU;YAC7B,2EAA2E,EAC5E,OAAO,CACP,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;QACvB,uDAAuD;QACvD,GAAG,EAAE,EAAE,CAAC,MAAM,CACb,KAAK,YAAY,OAAO,GAAG,yCAAyC,IAAI,OAAO;YAC9E,uBAAuB,IAAI,cAAc,EAC1C,OAAO,CACP,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;IACtC,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACrD,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,YAAY,gBAAgB,GAAG,mCAAmC,EAAE,OAAO,CAAC,CAAC;QACjG,OAAO,IAAI,CAAC;IACb,CAAC;IAED,iEAAiE;IACjE,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;QACzB,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,YAAY,gBAAgB,GAAG,OAAO,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;IAED,OAAO,WAAW,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface StoreValidatorResult {
|
|
2
|
+
ok: boolean;
|
|
3
|
+
/** Raw error output from store-cli. Present when ok=false. */
|
|
4
|
+
reason: string;
|
|
5
|
+
/** Enhanced message with remediation hints. Present when ok=false. */
|
|
6
|
+
remediation: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Validate a store entity payload by spawning `store-cli.cjs validate`.
|
|
10
|
+
*
|
|
11
|
+
* @param entity Entity type: "task" | "sprint" | "bug" | "event" | …
|
|
12
|
+
* @param payload The raw payload (will be JSON.stringify'd if object; passed as-is if string).
|
|
13
|
+
* @param forgeRoot Absolute path to the Forge plugin root — locates store-cli.cjs.
|
|
14
|
+
* @returns `{ ok: true, reason: "" }` on success, `{ ok: false, reason: <stderr> }` on failure.
|
|
15
|
+
*/
|
|
16
|
+
export declare function validateStoreCLIPayload(entity: string, payload: unknown, forgeRoot: string): StoreValidatorResult;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// Store-CLI payload validator — FORGE-S18-T03
|
|
2
|
+
//
|
|
3
|
+
// Spawns `store-cli.cjs validate <entity> '<json>'` synchronously and surfaces
|
|
4
|
+
// any schema error as a structured result. This module is the sole point of
|
|
5
|
+
// contact between hook-dispatcher.ts and store-cli's validation logic.
|
|
6
|
+
//
|
|
7
|
+
// Why spawnSync?
|
|
8
|
+
// pi's tool_call handler is synchronous — the event system does not support
|
|
9
|
+
// async handlers. spawnSync completes before the block result is returned to pi.
|
|
10
|
+
//
|
|
11
|
+
// FORGE-S25-T17: spawnSync replaced with spawnStoreCliValidate from lib/spawn-store-cli.ts.
|
|
12
|
+
import * as path from "node:path";
|
|
13
|
+
import { spawnStoreCliValidate } from "../lib/spawn-store-cli.js";
|
|
14
|
+
import { enhanceBlockMessage } from "./store-error-remediation.js";
|
|
15
|
+
/**
|
|
16
|
+
* Validate a store entity payload by spawning `store-cli.cjs validate`.
|
|
17
|
+
*
|
|
18
|
+
* @param entity Entity type: "task" | "sprint" | "bug" | "event" | …
|
|
19
|
+
* @param payload The raw payload (will be JSON.stringify'd if object; passed as-is if string).
|
|
20
|
+
* @param forgeRoot Absolute path to the Forge plugin root — locates store-cli.cjs.
|
|
21
|
+
* @returns `{ ok: true, reason: "" }` on success, `{ ok: false, reason: <stderr> }` on failure.
|
|
22
|
+
*/
|
|
23
|
+
export function validateStoreCLIPayload(entity, payload, forgeRoot) {
|
|
24
|
+
const storeCliPath = path.join(forgeRoot, "tools", "store-cli.cjs");
|
|
25
|
+
const { ok, reason } = spawnStoreCliValidate(storeCliPath, entity, payload, forgeRoot);
|
|
26
|
+
if (!ok) {
|
|
27
|
+
const remediation = enhanceBlockMessage(reason, entity, "unknown");
|
|
28
|
+
return { ok: false, reason, remediation };
|
|
29
|
+
}
|
|
30
|
+
return { ok: true, reason: "", remediation: "" };
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=store-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-validator.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/store/store-validator.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,EAAE;AACF,+EAA+E;AAC/E,4EAA4E;AAC5E,uEAAuE;AACvE,EAAE;AACF,iBAAiB;AACjB,8EAA8E;AAC9E,mFAAmF;AACnF,EAAE;AACF,4FAA4F;AAE5F,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAUnE;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc,EAAE,OAAgB,EAAE,SAAiB;IAC1F,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IAEpE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACvF,IAAI,CAAC,EAAE,EAAE,CAAC;QACT,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QACnE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAC3C,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AAClD,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface TransitionGuardResult {
|
|
2
|
+
allowed: boolean;
|
|
3
|
+
reason: string;
|
|
4
|
+
}
|
|
5
|
+
export interface TransitionGuardInput {
|
|
6
|
+
entity: string;
|
|
7
|
+
entityId: string;
|
|
8
|
+
toStatus: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Check whether a status transition is legal.
|
|
12
|
+
*
|
|
13
|
+
* Fail-open: if the current status cannot be read, returns
|
|
14
|
+
* `{ allowed: true, reason: "lookup-failed" }`. The caller
|
|
15
|
+
* should audit-log this outcome but MUST NOT block the operation.
|
|
16
|
+
*
|
|
17
|
+
* @param input Entity, entity ID, and target status.
|
|
18
|
+
* @param forgeRoot Absolute path to the Forge plugin root.
|
|
19
|
+
*/
|
|
20
|
+
export declare function checkTransition(input: TransitionGuardInput, forgeRoot: string): TransitionGuardResult;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
// Status-transition guard — FORGE-S18-T03
|
|
2
|
+
//
|
|
3
|
+
// Checks whether a proposed status transition is legal for a given entity.
|
|
4
|
+
//
|
|
5
|
+
// The guard reads the current status from disk via `store-cli read` (spawnSync).
|
|
6
|
+
// Fail-open: if the current-status lookup fails for any reason, the guard returns
|
|
7
|
+
// { allowed: true } and sets reason="lookup-failed". The caller (hook-dispatcher)
|
|
8
|
+
// logs this as "lookup-failed" under FORGE_HOOK_AUDIT=1 but never blocks the
|
|
9
|
+
// operation — a lookup failure must not block a valid operation.
|
|
10
|
+
//
|
|
11
|
+
// FORGE-S25-T17: spawnSync replaced with spawnStoreCliRead from lib/spawn-store-cli.ts.
|
|
12
|
+
// FORGE-S25-T27: inline TASK/SPRINT/BUG_TRANSITIONS tables replaced with catalog-loader
|
|
13
|
+
// constants derived from T26 enum-catalog.json + transitions/*.json. Tables now match
|
|
14
|
+
// the T25 ADR-canonical FSM (doc/decisions/state-machine-reconciliation.md):
|
|
15
|
+
// - terminal states (committed, blocked, escalated, abandoned) are truly terminal (Set [])
|
|
16
|
+
// - plan-revision-required and code-revision-required reachable from more states
|
|
17
|
+
// Closes finding N-E-2 (forge-cli side), round-2-validation.md findings 36, 40.
|
|
18
|
+
import * as path from "node:path";
|
|
19
|
+
import { BUG_TRANSITIONS, SPRINT_TRANSITIONS, TASK_TRANSITIONS } from "../lib/catalog-loader.js";
|
|
20
|
+
import { spawnStoreCliRead } from "../lib/spawn-store-cli.js";
|
|
21
|
+
// ── Legal transition tables ───────────────────────────────────────────────────
|
|
22
|
+
//
|
|
23
|
+
// Loaded from enum-catalog.json / transitions/*.json (T25 ADR-canonical).
|
|
24
|
+
// Source: build-enum-catalog.cjs (FORGE-S25-T26) → bundled by build-payload.cjs (FORGE-S25-T27).
|
|
25
|
+
// Do NOT inline transition tables here — edit forge/forge/tools/build-enum-catalog.cjs instead.
|
|
26
|
+
const ENTITY_TABLES = {
|
|
27
|
+
task: TASK_TRANSITIONS,
|
|
28
|
+
sprint: SPRINT_TRANSITIONS,
|
|
29
|
+
bug: BUG_TRANSITIONS,
|
|
30
|
+
};
|
|
31
|
+
function legalNextStates(entity, fromStatus) {
|
|
32
|
+
const table = ENTITY_TABLES[entity];
|
|
33
|
+
if (!table)
|
|
34
|
+
return [];
|
|
35
|
+
const allowed = table[fromStatus];
|
|
36
|
+
return allowed ? [...allowed] : [];
|
|
37
|
+
}
|
|
38
|
+
// ── Current-status lookup (fail-open) ────────────────────────────────────────
|
|
39
|
+
/**
|
|
40
|
+
* Read the current status of an entity from the store via `store-cli read`.
|
|
41
|
+
* Returns the status string on success, or null on any failure (fail-open).
|
|
42
|
+
*/
|
|
43
|
+
function readCurrentStatus(entity, entityId, forgeRoot) {
|
|
44
|
+
const storeCliPath = path.join(forgeRoot, "tools", "store-cli.cjs");
|
|
45
|
+
// Use the shared wrapper from lib/spawn-store-cli.ts (FORGE-S25-T17).
|
|
46
|
+
// Fail-open: spawnStoreCliRead returns null on any error — matches prior behaviour.
|
|
47
|
+
const record = spawnStoreCliRead(storeCliPath, entity, entityId, forgeRoot);
|
|
48
|
+
if (record === null)
|
|
49
|
+
return null;
|
|
50
|
+
const status = record["status"];
|
|
51
|
+
return typeof status === "string" ? status : null;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Check whether a status transition is legal.
|
|
55
|
+
*
|
|
56
|
+
* Fail-open: if the current status cannot be read, returns
|
|
57
|
+
* `{ allowed: true, reason: "lookup-failed" }`. The caller
|
|
58
|
+
* should audit-log this outcome but MUST NOT block the operation.
|
|
59
|
+
*
|
|
60
|
+
* @param input Entity, entity ID, and target status.
|
|
61
|
+
* @param forgeRoot Absolute path to the Forge plugin root.
|
|
62
|
+
*/
|
|
63
|
+
export function checkTransition(input, forgeRoot) {
|
|
64
|
+
const { entity, entityId, toStatus } = input;
|
|
65
|
+
// Lookup current status — fail-open on any error.
|
|
66
|
+
const fromStatus = readCurrentStatus(entity, entityId, forgeRoot);
|
|
67
|
+
if (fromStatus === null) {
|
|
68
|
+
return {
|
|
69
|
+
allowed: true,
|
|
70
|
+
reason: "lookup-failed",
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
const table = ENTITY_TABLES[entity];
|
|
74
|
+
if (!table) {
|
|
75
|
+
// Unknown entity type — allow through (future-proofing).
|
|
76
|
+
return { allowed: true, reason: "" };
|
|
77
|
+
}
|
|
78
|
+
const allowed = table[fromStatus]?.has(toStatus) ?? false;
|
|
79
|
+
if (allowed) {
|
|
80
|
+
return { allowed: true, reason: "" };
|
|
81
|
+
}
|
|
82
|
+
const legal = legalNextStates(entity, fromStatus);
|
|
83
|
+
const legalStr = legal.length > 0 ? legal.join(", ") : "(none)";
|
|
84
|
+
return {
|
|
85
|
+
allowed: false,
|
|
86
|
+
reason: `${fromStatus} → ${toStatus} is not a legal transition for ${entity}. Legal next states from ${fromStatus}: ${legalStr}.`,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=transition-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transition-guard.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/store/transition-guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,6 +49,11 @@ export class OrchestratorTranscriptWriter {
|
|
|
49
49
|
const e = err;
|
|
50
50
|
process.stderr.write(`[orchestrator-transcript] append failed (non-fatal): ${e.message ?? "unknown"}\n`);
|
|
51
51
|
}
|
|
52
|
+
// A directly-recorded pipeline-end terminates the log just like
|
|
53
|
+
// close() — makes the safety-net close() in the pipeline wrappers
|
|
54
|
+
// idempotent (no duplicate pipeline-end lines).
|
|
55
|
+
if (event.kind === "pipeline-end")
|
|
56
|
+
this.closed = true;
|
|
52
57
|
}
|
|
53
58
|
close(outcome, reason) {
|
|
54
59
|
if (this.closed)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator-transcript.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/subagent/orchestrator-transcript.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,wEAAwE;AACxE,qEAAqE;AACrE,+DAA+D;AAC/D,EAAE;AACF,mDAAmD;AACnD,gFAAgF;AAChF,EAAE;AACF,uEAAuE;AACvE,uEAAuE;AAEvE,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AA+CjE,MAAM,OAAO,4BAA4B;IAC/B,QAAQ,CAAS;IACjB,SAAS,CAAO;IACjB,MAAM,GAAG,KAAK,CAAC;IAEvB,YAAY,IAAoC;QAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ;aAC/B,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC;aAChC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;aACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACzC,MAAM,EAAE,GAAG,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,GAAG,EAAE,KAAK,WAAW,sBAAsB,CAAC;QAC7D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACzC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC;YACX,IAAI,EAAE,gBAAgB;YACtB,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YAChC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAwB;QAC9B,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC;YACJ,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,GAA2B,CAAC;YACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC,OAAO,IAAI,SAAS,IAAI,CAAC,CAAC;QAC1G,CAAC;
|
|
1
|
+
{"version":3,"file":"orchestrator-transcript.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/subagent/orchestrator-transcript.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,wEAAwE;AACxE,qEAAqE;AACrE,+DAA+D;AAC/D,EAAE;AACF,mDAAmD;AACnD,gFAAgF;AAChF,EAAE;AACF,uEAAuE;AACvE,uEAAuE;AAEvE,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AA+CjE,MAAM,OAAO,4BAA4B;IAC/B,QAAQ,CAAS;IACjB,SAAS,CAAO;IACjB,MAAM,GAAG,KAAK,CAAC;IAEvB,YAAY,IAAoC;QAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ;aAC/B,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC;aAChC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;aACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACzC,MAAM,EAAE,GAAG,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,GAAG,EAAE,KAAK,WAAW,sBAAsB,CAAC;QAC7D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACzC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC;YACX,IAAI,EAAE,gBAAgB;YACtB,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YAChC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAwB;QAC9B,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC;YACJ,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,GAA2B,CAAC;YACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC,OAAO,IAAI,SAAS,IAAI,CAAC,CAAC;QAC1G,CAAC;QACD,gEAAgE;QAChE,kEAAkE;QAClE,gDAAgD;QAChD,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,OAAsD,EAAE,MAAe;QAC5E,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,MAAM,CAAC;YACX,IAAI,EAAE,cAAc;YACpB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5B,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YAChD,MAAM;SACN,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACpB,CAAC;CACD"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { type Static, Type } from "typebox";
|
|
2
|
+
/** Per-phase token usage, captured from the subagent transcript header. */
|
|
3
|
+
export declare const PhaseUsageSchema: Type.TObject<{
|
|
4
|
+
input: Type.TNumber;
|
|
5
|
+
output: Type.TNumber;
|
|
6
|
+
cacheRead: Type.TNumber;
|
|
7
|
+
cacheWrite: Type.TNumber;
|
|
8
|
+
cost: Type.TNumber;
|
|
9
|
+
contextTokens: Type.TOptional<Type.TNumber>;
|
|
10
|
+
turns: Type.TOptional<Type.TNumber>;
|
|
11
|
+
}>;
|
|
12
|
+
export type PhaseUsage = Static<typeof PhaseUsageSchema>;
|
|
13
|
+
/** One pipeline phase within an archived run. */
|
|
14
|
+
export declare const PhaseRecordSchema: Type.TObject<{
|
|
15
|
+
role: Type.TString;
|
|
16
|
+
attempt: Type.TNumber;
|
|
17
|
+
/** Verdict from the orchestrator phase-end event; "n/a" when none applies. */
|
|
18
|
+
verdict: Type.TString;
|
|
19
|
+
model: Type.TOptional<Type.TString>;
|
|
20
|
+
provider: Type.TOptional<Type.TString>;
|
|
21
|
+
usage: Type.TOptional<Type.TObject<{
|
|
22
|
+
input: Type.TNumber;
|
|
23
|
+
output: Type.TNumber;
|
|
24
|
+
cacheRead: Type.TNumber;
|
|
25
|
+
cacheWrite: Type.TNumber;
|
|
26
|
+
cost: Type.TNumber;
|
|
27
|
+
contextTokens: Type.TOptional<Type.TNumber>;
|
|
28
|
+
turns: Type.TOptional<Type.TNumber>;
|
|
29
|
+
}>>;
|
|
30
|
+
/** Archived phase-transcript filename (without the .gz suffix). */
|
|
31
|
+
file: Type.TOptional<Type.TString>;
|
|
32
|
+
/**
|
|
33
|
+
* Archived live tail-log filename (without the .gz suffix) — the exact
|
|
34
|
+
* lines the dashboard rendered during the run (`*.tail.jsonl`). Replay
|
|
35
|
+
* prefers this over reconstructing a digest from the transcript.
|
|
36
|
+
*/
|
|
37
|
+
tailFile: Type.TOptional<Type.TString>;
|
|
38
|
+
startedAt: Type.TOptional<Type.TString>;
|
|
39
|
+
elapsedMs: Type.TOptional<Type.TNumber>;
|
|
40
|
+
}>;
|
|
41
|
+
export type PhaseRecord = Static<typeof PhaseRecordSchema>;
|
|
42
|
+
/** Aggregate bucket used for both byModel and byProvider rollups. */
|
|
43
|
+
export declare const UsageAggregateSchema: Type.TObject<{
|
|
44
|
+
input: Type.TNumber;
|
|
45
|
+
output: Type.TNumber;
|
|
46
|
+
cost: Type.TNumber;
|
|
47
|
+
phases: Type.TNumber;
|
|
48
|
+
}>;
|
|
49
|
+
export type UsageAggregate = Static<typeof UsageAggregateSchema>;
|
|
50
|
+
export declare const RunTotalsSchema: Type.TObject<{
|
|
51
|
+
input: Type.TNumber;
|
|
52
|
+
output: Type.TNumber;
|
|
53
|
+
cacheRead: Type.TNumber;
|
|
54
|
+
cacheWrite: Type.TNumber;
|
|
55
|
+
cost: Type.TNumber;
|
|
56
|
+
byModel: Type.TRecord<"^.*$", Type.TObject<{
|
|
57
|
+
input: Type.TNumber;
|
|
58
|
+
output: Type.TNumber;
|
|
59
|
+
cost: Type.TNumber;
|
|
60
|
+
phases: Type.TNumber;
|
|
61
|
+
}>>;
|
|
62
|
+
byProvider: Type.TRecord<"^.*$", Type.TObject<{
|
|
63
|
+
input: Type.TNumber;
|
|
64
|
+
output: Type.TNumber;
|
|
65
|
+
cost: Type.TNumber;
|
|
66
|
+
phases: Type.TNumber;
|
|
67
|
+
}>>;
|
|
68
|
+
/** Count of phase-loopback events (revision loops) in the run. */
|
|
69
|
+
revisionLoops: Type.TNumber;
|
|
70
|
+
}>;
|
|
71
|
+
export type RunTotals = Static<typeof RunTotalsSchema>;
|
|
72
|
+
export declare const RunOutcomeSchema: Type.TUnion<[Type.TLiteral<"complete">, Type.TLiteral<"halted">, Type.TLiteral<"cancelled">, Type.TLiteral<"error">, Type.TLiteral<"incomplete">]>;
|
|
73
|
+
export type RunOutcome = Static<typeof RunOutcomeSchema>;
|
|
74
|
+
export declare const EntityKindSchema: Type.TUnion<[Type.TLiteral<"task">, Type.TLiteral<"bug">, Type.TLiteral<"sprint">, Type.TLiteral<"unknown">]>;
|
|
75
|
+
export type EntityKind = Static<typeof EntityKindSchema>;
|
|
76
|
+
/** manifest.json — full metadata for one archived run. */
|
|
77
|
+
export declare const RunManifestSchema: Type.TObject<{
|
|
78
|
+
schema: Type.TLiteral<"forge-run-manifest/v1">;
|
|
79
|
+
runId: Type.TString;
|
|
80
|
+
projectKey: Type.TString;
|
|
81
|
+
projectPath: Type.TString;
|
|
82
|
+
projectName: Type.TString;
|
|
83
|
+
projectPrefix: Type.TString;
|
|
84
|
+
entityId: Type.TString;
|
|
85
|
+
entityKind: Type.TUnion<[Type.TLiteral<"task">, Type.TLiteral<"bug">, Type.TLiteral<"sprint">, Type.TLiteral<"unknown">]>;
|
|
86
|
+
/** Back-reference for sprint-nested task runs — no synthetic sprint container. */
|
|
87
|
+
sprintId: Type.TOptional<Type.TString>;
|
|
88
|
+
startedAt: Type.TString;
|
|
89
|
+
finishedAt: Type.TOptional<Type.TString>;
|
|
90
|
+
durationMs: Type.TOptional<Type.TNumber>;
|
|
91
|
+
outcome: Type.TUnion<[Type.TLiteral<"complete">, Type.TLiteral<"halted">, Type.TLiteral<"cancelled">, Type.TLiteral<"error">, Type.TLiteral<"incomplete">]>;
|
|
92
|
+
phases: Type.TArray<Type.TObject<{
|
|
93
|
+
role: Type.TString;
|
|
94
|
+
attempt: Type.TNumber;
|
|
95
|
+
/** Verdict from the orchestrator phase-end event; "n/a" when none applies. */
|
|
96
|
+
verdict: Type.TString;
|
|
97
|
+
model: Type.TOptional<Type.TString>;
|
|
98
|
+
provider: Type.TOptional<Type.TString>;
|
|
99
|
+
usage: Type.TOptional<Type.TObject<{
|
|
100
|
+
input: Type.TNumber;
|
|
101
|
+
output: Type.TNumber;
|
|
102
|
+
cacheRead: Type.TNumber;
|
|
103
|
+
cacheWrite: Type.TNumber;
|
|
104
|
+
cost: Type.TNumber;
|
|
105
|
+
contextTokens: Type.TOptional<Type.TNumber>;
|
|
106
|
+
turns: Type.TOptional<Type.TNumber>;
|
|
107
|
+
}>>;
|
|
108
|
+
/** Archived phase-transcript filename (without the .gz suffix). */
|
|
109
|
+
file: Type.TOptional<Type.TString>;
|
|
110
|
+
/**
|
|
111
|
+
* Archived live tail-log filename (without the .gz suffix) — the exact
|
|
112
|
+
* lines the dashboard rendered during the run (`*.tail.jsonl`). Replay
|
|
113
|
+
* prefers this over reconstructing a digest from the transcript.
|
|
114
|
+
*/
|
|
115
|
+
tailFile: Type.TOptional<Type.TString>;
|
|
116
|
+
startedAt: Type.TOptional<Type.TString>;
|
|
117
|
+
elapsedMs: Type.TOptional<Type.TNumber>;
|
|
118
|
+
}>>;
|
|
119
|
+
totals: Type.TObject<{
|
|
120
|
+
input: Type.TNumber;
|
|
121
|
+
output: Type.TNumber;
|
|
122
|
+
cacheRead: Type.TNumber;
|
|
123
|
+
cacheWrite: Type.TNumber;
|
|
124
|
+
cost: Type.TNumber;
|
|
125
|
+
byModel: Type.TRecord<"^.*$", Type.TObject<{
|
|
126
|
+
input: Type.TNumber;
|
|
127
|
+
output: Type.TNumber;
|
|
128
|
+
cost: Type.TNumber;
|
|
129
|
+
phases: Type.TNumber;
|
|
130
|
+
}>>;
|
|
131
|
+
byProvider: Type.TRecord<"^.*$", Type.TObject<{
|
|
132
|
+
input: Type.TNumber;
|
|
133
|
+
output: Type.TNumber;
|
|
134
|
+
cost: Type.TNumber;
|
|
135
|
+
phases: Type.TNumber;
|
|
136
|
+
}>>;
|
|
137
|
+
/** Count of phase-loopback events (revision loops) in the run. */
|
|
138
|
+
revisionLoops: Type.TNumber;
|
|
139
|
+
}>;
|
|
140
|
+
archivedAt: Type.TString;
|
|
141
|
+
}>;
|
|
142
|
+
export type RunManifest = Static<typeof RunManifestSchema>;
|
|
143
|
+
/** One line of index.jsonl — the append-only global run timeline. */
|
|
144
|
+
export declare const IndexEntrySchema: Type.TObject<{
|
|
145
|
+
runId: Type.TString;
|
|
146
|
+
projectKey: Type.TString;
|
|
147
|
+
entityId: Type.TString;
|
|
148
|
+
entityKind: Type.TUnion<[Type.TLiteral<"task">, Type.TLiteral<"bug">, Type.TLiteral<"sprint">, Type.TLiteral<"unknown">]>;
|
|
149
|
+
sprintId: Type.TOptional<Type.TString>;
|
|
150
|
+
startedAt: Type.TString;
|
|
151
|
+
outcome: Type.TUnion<[Type.TLiteral<"complete">, Type.TLiteral<"halted">, Type.TLiteral<"cancelled">, Type.TLiteral<"error">, Type.TLiteral<"incomplete">]>;
|
|
152
|
+
input: Type.TNumber;
|
|
153
|
+
output: Type.TNumber;
|
|
154
|
+
cost: Type.TNumber;
|
|
155
|
+
durationMs: Type.TOptional<Type.TNumber>;
|
|
156
|
+
archivedAt: Type.TString;
|
|
157
|
+
}>;
|
|
158
|
+
export type IndexEntry = Static<typeof IndexEntrySchema>;
|
|
159
|
+
/** projects.json — projectKey → identity registry. */
|
|
160
|
+
export declare const ProjectsRegistrySchema: Type.TObject<{
|
|
161
|
+
version: Type.TLiteral<1>;
|
|
162
|
+
projects: Type.TRecord<"^.*$", Type.TObject<{
|
|
163
|
+
path: Type.TString;
|
|
164
|
+
prefix: Type.TString;
|
|
165
|
+
name: Type.TString;
|
|
166
|
+
firstSeen: Type.TString;
|
|
167
|
+
lastSeen: Type.TString;
|
|
168
|
+
runCount: Type.TNumber;
|
|
169
|
+
}>>;
|
|
170
|
+
}>;
|
|
171
|
+
export type ProjectsRegistry = Static<typeof ProjectsRegistrySchema>;
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
// transcript-archive-types.ts — schemas for the central transcript archive.
|
|
2
|
+
//
|
|
3
|
+
// The archive lives under `~/.pi/forge-cli/transcripts/` (see paths/paths.ts)
|
|
4
|
+
// and mirrors every orchestrator run (run-task / fix-bug / run-sprint task)
|
|
5
|
+
// from project-local `.forge/transcripts/` into a permanent, compressed,
|
|
6
|
+
// cross-project store:
|
|
7
|
+
//
|
|
8
|
+
// transcripts/
|
|
9
|
+
// index.jsonl ← one IndexEntry line per archived run
|
|
10
|
+
// projects.json ← ProjectsRegistry (projectKey → identity)
|
|
11
|
+
// <projectKey>/<entityId>/<runId>/
|
|
12
|
+
// manifest.json ← RunManifest
|
|
13
|
+
// orchestrator.jsonl ← copied as-is (greppable)
|
|
14
|
+
// <ISO>__<entityId>__<phase>.json.gz
|
|
15
|
+
//
|
|
16
|
+
// Everything read back from disk is untrusted (crash-truncated writes,
|
|
17
|
+
// hand-edits): readers Value.Check before use and return null on mismatch —
|
|
18
|
+
// they never throw on malformed input.
|
|
19
|
+
import { Type } from "typebox";
|
|
20
|
+
/** Per-phase token usage, captured from the subagent transcript header. */
|
|
21
|
+
export const PhaseUsageSchema = Type.Object({
|
|
22
|
+
input: Type.Number(),
|
|
23
|
+
output: Type.Number(),
|
|
24
|
+
cacheRead: Type.Number(),
|
|
25
|
+
cacheWrite: Type.Number(),
|
|
26
|
+
cost: Type.Number(),
|
|
27
|
+
contextTokens: Type.Optional(Type.Number()),
|
|
28
|
+
turns: Type.Optional(Type.Number()),
|
|
29
|
+
});
|
|
30
|
+
/** One pipeline phase within an archived run. */
|
|
31
|
+
export const PhaseRecordSchema = Type.Object({
|
|
32
|
+
role: Type.String(),
|
|
33
|
+
attempt: Type.Number(),
|
|
34
|
+
/** Verdict from the orchestrator phase-end event; "n/a" when none applies. */
|
|
35
|
+
verdict: Type.String(),
|
|
36
|
+
model: Type.Optional(Type.String()),
|
|
37
|
+
provider: Type.Optional(Type.String()),
|
|
38
|
+
usage: Type.Optional(PhaseUsageSchema),
|
|
39
|
+
/** Archived phase-transcript filename (without the .gz suffix). */
|
|
40
|
+
file: Type.Optional(Type.String()),
|
|
41
|
+
/**
|
|
42
|
+
* Archived live tail-log filename (without the .gz suffix) — the exact
|
|
43
|
+
* lines the dashboard rendered during the run (`*.tail.jsonl`). Replay
|
|
44
|
+
* prefers this over reconstructing a digest from the transcript.
|
|
45
|
+
*/
|
|
46
|
+
tailFile: Type.Optional(Type.String()),
|
|
47
|
+
startedAt: Type.Optional(Type.String()),
|
|
48
|
+
elapsedMs: Type.Optional(Type.Number()),
|
|
49
|
+
});
|
|
50
|
+
/** Aggregate bucket used for both byModel and byProvider rollups. */
|
|
51
|
+
export const UsageAggregateSchema = Type.Object({
|
|
52
|
+
input: Type.Number(),
|
|
53
|
+
output: Type.Number(),
|
|
54
|
+
cost: Type.Number(),
|
|
55
|
+
phases: Type.Number(),
|
|
56
|
+
});
|
|
57
|
+
export const RunTotalsSchema = Type.Object({
|
|
58
|
+
input: Type.Number(),
|
|
59
|
+
output: Type.Number(),
|
|
60
|
+
cacheRead: Type.Number(),
|
|
61
|
+
cacheWrite: Type.Number(),
|
|
62
|
+
cost: Type.Number(),
|
|
63
|
+
byModel: Type.Record(Type.String(), UsageAggregateSchema),
|
|
64
|
+
byProvider: Type.Record(Type.String(), UsageAggregateSchema),
|
|
65
|
+
/** Count of phase-loopback events (revision loops) in the run. */
|
|
66
|
+
revisionLoops: Type.Number(),
|
|
67
|
+
});
|
|
68
|
+
export const RunOutcomeSchema = Type.Union([
|
|
69
|
+
Type.Literal("complete"),
|
|
70
|
+
Type.Literal("halted"),
|
|
71
|
+
Type.Literal("cancelled"),
|
|
72
|
+
Type.Literal("error"),
|
|
73
|
+
/** No pipeline-end event found — crash- or in-flight-truncated run. */
|
|
74
|
+
Type.Literal("incomplete"),
|
|
75
|
+
]);
|
|
76
|
+
export const EntityKindSchema = Type.Union([
|
|
77
|
+
Type.Literal("task"),
|
|
78
|
+
Type.Literal("bug"),
|
|
79
|
+
Type.Literal("sprint"),
|
|
80
|
+
Type.Literal("unknown"),
|
|
81
|
+
]);
|
|
82
|
+
/** manifest.json — full metadata for one archived run. */
|
|
83
|
+
export const RunManifestSchema = Type.Object({
|
|
84
|
+
schema: Type.Literal("forge-run-manifest/v1"),
|
|
85
|
+
runId: Type.String(),
|
|
86
|
+
projectKey: Type.String(),
|
|
87
|
+
projectPath: Type.String(),
|
|
88
|
+
projectName: Type.String(),
|
|
89
|
+
projectPrefix: Type.String(),
|
|
90
|
+
entityId: Type.String(),
|
|
91
|
+
entityKind: EntityKindSchema,
|
|
92
|
+
/** Back-reference for sprint-nested task runs — no synthetic sprint container. */
|
|
93
|
+
sprintId: Type.Optional(Type.String()),
|
|
94
|
+
startedAt: Type.String(),
|
|
95
|
+
finishedAt: Type.Optional(Type.String()),
|
|
96
|
+
durationMs: Type.Optional(Type.Number()),
|
|
97
|
+
outcome: RunOutcomeSchema,
|
|
98
|
+
phases: Type.Array(PhaseRecordSchema),
|
|
99
|
+
totals: RunTotalsSchema,
|
|
100
|
+
archivedAt: Type.String(),
|
|
101
|
+
});
|
|
102
|
+
/** One line of index.jsonl — the append-only global run timeline. */
|
|
103
|
+
export const IndexEntrySchema = Type.Object({
|
|
104
|
+
runId: Type.String(),
|
|
105
|
+
projectKey: Type.String(),
|
|
106
|
+
entityId: Type.String(),
|
|
107
|
+
entityKind: EntityKindSchema,
|
|
108
|
+
sprintId: Type.Optional(Type.String()),
|
|
109
|
+
startedAt: Type.String(),
|
|
110
|
+
outcome: RunOutcomeSchema,
|
|
111
|
+
input: Type.Number(),
|
|
112
|
+
output: Type.Number(),
|
|
113
|
+
cost: Type.Number(),
|
|
114
|
+
durationMs: Type.Optional(Type.Number()),
|
|
115
|
+
archivedAt: Type.String(),
|
|
116
|
+
});
|
|
117
|
+
const ProjectEntrySchema = Type.Object({
|
|
118
|
+
path: Type.String(),
|
|
119
|
+
prefix: Type.String(),
|
|
120
|
+
name: Type.String(),
|
|
121
|
+
firstSeen: Type.String(),
|
|
122
|
+
lastSeen: Type.String(),
|
|
123
|
+
runCount: Type.Number(),
|
|
124
|
+
});
|
|
125
|
+
/** projects.json — projectKey → identity registry. */
|
|
126
|
+
export const ProjectsRegistrySchema = Type.Object({
|
|
127
|
+
version: Type.Literal(1),
|
|
128
|
+
projects: Type.Record(Type.String(), ProjectEntrySchema),
|
|
129
|
+
});
|
|
130
|
+
//# sourceMappingURL=transcript-archive-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transcript-archive-types.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/transcript-archive-types.ts"],"names":[],"mappings":"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"}
|