@entelligentsia/forgecli 1.0.14 → 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 +185 -0
- package/README.md +7 -1
- package/dist/CHANGELOG-forge-plugin.md +61 -0
- 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-layer.d.ts +0 -16
- package/dist/extensions/forgecli/config-layer.js +0 -5
- package/dist/extensions/forgecli/config-layer.js.map +1 -1
- 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 +94 -0
- package/dist/extensions/forgecli/context-governor-compaction.js +327 -0
- package/dist/extensions/forgecli/context-governor-compaction.js.map +1 -0
- package/dist/extensions/forgecli/context-governor.d.ts +169 -0
- package/dist/extensions/forgecli/context-governor.js +592 -0
- package/dist/extensions/forgecli/context-governor.js.map +1 -0
- package/dist/extensions/forgecli/dashboard/component.d.ts +17 -5
- package/dist/extensions/forgecli/dashboard/component.js +160 -115
- package/dist/extensions/forgecli/dashboard/component.js.map +1 -1
- package/dist/extensions/forgecli/dashboard/register.js +7 -21
- package/dist/extensions/forgecli/dashboard/register.js.map +1 -1
- package/dist/extensions/forgecli/dashboard/theme.d.ts +27 -0
- package/dist/extensions/forgecli/dashboard/theme.js +91 -0
- package/dist/extensions/forgecli/dashboard/theme.js.map +1 -0
- package/dist/extensions/forgecli/fix-bug.js +59 -5
- package/dist/extensions/forgecli/fix-bug.js.map +1 -1
- package/dist/extensions/forgecli/forge-artifact-tool.js +3 -2
- package/dist/extensions/forgecli/forge-artifact-tool.js.map +1 -1
- package/dist/extensions/forgecli/forge-cli-schema.json +0 -4
- 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 +42 -1
- package/dist/extensions/forgecli/forge-subagent.js +59 -18
- 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 +8 -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.d.ts +3 -1
- package/dist/extensions/forgecli/hook-dispatcher.js +39 -5
- 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 +70 -36
- 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/halt-advisor.d.ts +19 -14
- package/dist/extensions/forgecli/lib/halt-advisor.js +36 -13
- package/dist/extensions/forgecli/lib/halt-advisor.js.map +1 -1
- 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-status-bar.d.ts +3 -2
- package/dist/extensions/forgecli/orchestrator-status-bar.js +90 -60
- package/dist/extensions/forgecli/orchestrator-status-bar.js.map +1 -1
- 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/run-sprint.d.ts +3 -1
- package/dist/extensions/forgecli/run-sprint.js +1 -0
- package/dist/extensions/forgecli/run-sprint.js.map +1 -1
- package/dist/extensions/forgecli/run-task.d.ts +34 -1
- package/dist/extensions/forgecli/run-task.js +144 -6
- package/dist/extensions/forgecli/run-task.js.map +1 -1
- 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/thread-switcher.d.ts +4 -1
- package/dist/extensions/forgecli/thread-switcher.js +36 -21
- package/dist/extensions/forgecli/thread-switcher.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/dist/forge-payload/.base-pack/workflows/implement_plan.md +9 -0
- package/dist/forge-payload/.base-pack/workflows/plan_task.md +7 -0
- package/dist/forge-payload/.base-pack/workflows/review_code.md +4 -3
- package/dist/forge-payload/.base-pack/workflows/review_plan.md +4 -3
- package/dist/forge-payload/.base-pack/workflows/validate_task.md +4 -3
- package/dist/forge-payload/.claude-plugin/plugin.json +1 -1
- package/dist/forge-payload/.schemas/migrations.json +132 -27
- package/dist/forge-payload/meta/workflows/meta-review-implementation.md +4 -3
- package/dist/forge-payload/meta/workflows/meta-review-plan.md +4 -3
- package/dist/forge-payload/meta/workflows/meta-validate.md +4 -3
- package/dist/forge-payload/tools/collate.cjs +32 -0
- package/dist/forge-payload/tools/postflight-gate.cjs +56 -10
- package/package.json +5 -3
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
// viewport/events.ts
|
|
2
|
+
//
|
|
3
|
+
// Reusable subagent event observer. Wires `runForgeSubagent.onEvent` to:
|
|
4
|
+
// 1. Append per-event tail lines (with tree connectors, glyphs, risky tag,
|
|
5
|
+
// thinking one-liners, batch markers) into SessionRegistry.
|
|
6
|
+
// 2. Maintain cumulative phase token usage and push it to the registry on
|
|
7
|
+
// every turn_end — drives the sticky footer in the tail view AND the
|
|
8
|
+
// aggregate Σ meter in the chip strip.
|
|
9
|
+
// 3. Surface counts (turn / tools / errors) so the orchestrator can render
|
|
10
|
+
// its end-of-phase summary.
|
|
11
|
+
//
|
|
12
|
+
// Used by run-task, fix-bug, and run-sprint (ceremony) so every subagent
|
|
13
|
+
// "bubbles" usage up the same way. Top-level viewports read aggregate usage
|
|
14
|
+
// via SessionRegistry.getAggregateUsage().
|
|
15
|
+
import * as fs from "node:fs";
|
|
16
|
+
import { getOrchestratorTree } from "../orchestrator-tree.js";
|
|
17
|
+
import { argContent as fmtArgContent, extractThinkingOneLiner, extractTurnPreview, argHint as fmtArgHint, RISKY_TAG, readUsage, resultShape, toolGlyph, } from "./renderer.js";
|
|
18
|
+
function extractCompression(result) {
|
|
19
|
+
if (!result || typeof result !== "object")
|
|
20
|
+
return undefined;
|
|
21
|
+
const r = result;
|
|
22
|
+
const c = r.details?.compression;
|
|
23
|
+
if (!c || typeof c.before !== "number" || typeof c.after !== "number")
|
|
24
|
+
return undefined;
|
|
25
|
+
return { tool: c.tool ?? "", before: c.before, after: c.after, saved: c.saved ?? 0 };
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Head-preserving cap on the recorded tail log. Live phases rarely exceed a
|
|
29
|
+
* few hundred lines; the cap only bounds pathological runs. Head-preserving
|
|
30
|
+
* (stop recording, don't drop oldest) because the log's consumer is the
|
|
31
|
+
* transcript-archive REPLAY, where the beginning is the valuable part.
|
|
32
|
+
*/
|
|
33
|
+
export const TAIL_LOG_CAP = 5000;
|
|
34
|
+
/**
|
|
35
|
+
* Persist the recorded tail log next to its phase transcript as JSONL
|
|
36
|
+
* (`<transcript-base>.tail.jsonl`). The transcript archive sweeps it with
|
|
37
|
+
* the run; replay re-reads the exact lines the live dashboard showed.
|
|
38
|
+
* Best-effort — observability data, never throws.
|
|
39
|
+
*/
|
|
40
|
+
export function persistTailLog(subagentTranscriptPath, tailLog) {
|
|
41
|
+
if (!subagentTranscriptPath.endsWith(".json") || tailLog.length === 0)
|
|
42
|
+
return null;
|
|
43
|
+
try {
|
|
44
|
+
const outPath = `${subagentTranscriptPath.slice(0, -".json".length)}.tail.jsonl`;
|
|
45
|
+
fs.writeFileSync(outPath, `${tailLog.map((e) => JSON.stringify(e)).join("\n")}\n`, "utf8");
|
|
46
|
+
return outPath;
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export function attachViewportObserver(opts) {
|
|
53
|
+
const { registry, sessionId, phaseRole, displayRole, beginHeader, writeDebug, setStatusVerbose, notify, verboseKeys, afterEach, nodeId: pinnedNodeId, } = opts;
|
|
54
|
+
const role = displayRole ?? phaseRole;
|
|
55
|
+
const tree = getOrchestratorTree();
|
|
56
|
+
// Helper to resolve the correct active node ID in the OrchestratorTree.
|
|
57
|
+
// When the caller pins the dispatch node, attribution is fixed — never
|
|
58
|
+
// re-resolved by scan (node-per-dispatch contract). The scan below is the
|
|
59
|
+
// legacy fallback for callers that don't pass nodeId.
|
|
60
|
+
const resolveNodeId = () => {
|
|
61
|
+
if (pinnedNodeId)
|
|
62
|
+
return pinnedNodeId;
|
|
63
|
+
const exactId = `${sessionId}:${phaseRole}`;
|
|
64
|
+
const exactNode = tree.getNode(exactId);
|
|
65
|
+
if (exactNode && exactNode.status === "running")
|
|
66
|
+
return exactId;
|
|
67
|
+
const parentNode = tree.getNode(sessionId);
|
|
68
|
+
if (parentNode) {
|
|
69
|
+
const prefix = `${sessionId}:${phaseRole}:`;
|
|
70
|
+
for (const cid of parentNode.children) {
|
|
71
|
+
if (cid.startsWith(prefix)) {
|
|
72
|
+
const child = tree.getNode(cid);
|
|
73
|
+
if (child && child.status === "running") {
|
|
74
|
+
return cid;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return exactId;
|
|
80
|
+
};
|
|
81
|
+
const state = {
|
|
82
|
+
turn: 0,
|
|
83
|
+
toolCount: 0,
|
|
84
|
+
errCount: 0,
|
|
85
|
+
lastTool: "",
|
|
86
|
+
cumUsage: { input: 0, output: 0, cacheRead: 0 },
|
|
87
|
+
cumCompression: { calls: 0, tokensSaved: 0 },
|
|
88
|
+
tailLog: [],
|
|
89
|
+
};
|
|
90
|
+
// Per-turn tree-connector state.
|
|
91
|
+
let toolsThisTurn = 0;
|
|
92
|
+
let firstLineOfTurn = true;
|
|
93
|
+
const argsByCallId = new Map();
|
|
94
|
+
const formatTime = (ms) => {
|
|
95
|
+
const d = new Date(ms);
|
|
96
|
+
const pad = (n) => String(n).padStart(2, "0");
|
|
97
|
+
return `${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}`;
|
|
98
|
+
};
|
|
99
|
+
// Compact turn stamp. No phase/role prefix — the tail renders inside a
|
|
100
|
+
// phase-scoped context (dashboard node / phase tail view), so repeating
|
|
101
|
+
// the role on every turn wastes log width.
|
|
102
|
+
const tailPrefix = () => `[T${state.turn}:${formatTime(Date.now())}]`;
|
|
103
|
+
const appendTail = (line, opts) => {
|
|
104
|
+
registry.appendTail(sessionId, phaseRole, line, opts);
|
|
105
|
+
tree.appendTail(resolveNodeId(), line, opts);
|
|
106
|
+
// Record the exact rendered line for post-run persistence (replay).
|
|
107
|
+
if (state.tailLog.length < TAIL_LOG_CAP) {
|
|
108
|
+
state.tailLog.push(opts?.warning ? { line, warning: true } : { line });
|
|
109
|
+
}
|
|
110
|
+
else if (state.tailLog.length === TAIL_LOG_CAP) {
|
|
111
|
+
state.tailLog.push({ line: `… tail log capped at ${TAIL_LOG_CAP} lines` });
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
const rawErrorText = (result) => typeof result === "string"
|
|
115
|
+
? result
|
|
116
|
+
: typeof result === "object" && result !== null
|
|
117
|
+
? JSON.stringify(result)
|
|
118
|
+
: String(result);
|
|
119
|
+
// Short form for single-line UI surfaces (status/notify); the activity-log
|
|
120
|
+
// entry carries the full error — clamping is the view's decision.
|
|
121
|
+
const extractErrorSummary = (result) => {
|
|
122
|
+
const raw = rawErrorText(result);
|
|
123
|
+
const firstLine = raw.split(/\r?\n/).find((l) => l.trim().length > 0) ?? raw;
|
|
124
|
+
return firstLine.length > 160 ? `${firstLine.slice(0, 160)}…` : firstLine;
|
|
125
|
+
};
|
|
126
|
+
// Turn grouping: bracket glyphs flush left on every line; the compact turn
|
|
127
|
+
// stamp rides inside the first line. No left margin on continuation lines —
|
|
128
|
+
// the full pane width carries log content.
|
|
129
|
+
// ╭ [T18:06:44:22] $ bash …
|
|
130
|
+
// │ ← bash ok 29L
|
|
131
|
+
// ╰ » "next step …"
|
|
132
|
+
const emitTurnLine = (body, lineOpts) => {
|
|
133
|
+
const isFirst = firstLineOfTurn;
|
|
134
|
+
const isClosing = lineOpts?.closing === true;
|
|
135
|
+
let branch;
|
|
136
|
+
if (isFirst && isClosing)
|
|
137
|
+
branch = "─";
|
|
138
|
+
else if (isFirst)
|
|
139
|
+
branch = "╭";
|
|
140
|
+
else if (isClosing)
|
|
141
|
+
branch = "╰";
|
|
142
|
+
else
|
|
143
|
+
branch = "│";
|
|
144
|
+
const stamp = isFirst ? ` ${tailPrefix()}` : "";
|
|
145
|
+
firstLineOfTurn = false;
|
|
146
|
+
appendTail(`${branch}${stamp} ${body}`, lineOpts?.warning ? { warning: true } : undefined);
|
|
147
|
+
};
|
|
148
|
+
if (beginHeader)
|
|
149
|
+
appendTail(`${tailPrefix()} ${beginHeader}`);
|
|
150
|
+
const onEvent = (event) => {
|
|
151
|
+
switch (event.type) {
|
|
152
|
+
case "turn_start": {
|
|
153
|
+
state.turn++;
|
|
154
|
+
state.lastTool = "";
|
|
155
|
+
toolsThisTurn = 0;
|
|
156
|
+
firstLineOfTurn = true;
|
|
157
|
+
registry.bumpTurn(sessionId);
|
|
158
|
+
tree.bumpNodeTurn(resolveNodeId());
|
|
159
|
+
break;
|
|
160
|
+
}
|
|
161
|
+
case "turn_end": {
|
|
162
|
+
const e = event;
|
|
163
|
+
const delta = readUsage(e.message);
|
|
164
|
+
state.cumUsage.input += delta.input;
|
|
165
|
+
state.cumUsage.output += delta.output;
|
|
166
|
+
state.cumUsage.cacheRead += delta.cacheRead;
|
|
167
|
+
registry.setPhaseUsage(sessionId, phaseRole, state.cumUsage);
|
|
168
|
+
const nodeId = resolveNodeId();
|
|
169
|
+
tree.setNodeUsage(nodeId, state.cumUsage);
|
|
170
|
+
// Capture which (provider, model) actually served this turn so
|
|
171
|
+
// the per-phase tail-view footer can display it. Cheap; the
|
|
172
|
+
// registry no-ops when the value hasn't changed.
|
|
173
|
+
const msg = e.message;
|
|
174
|
+
if (msg && (msg.provider || msg.model)) {
|
|
175
|
+
registry.setPhaseModel(sessionId, phaseRole, {
|
|
176
|
+
provider: msg.provider,
|
|
177
|
+
model: msg.model,
|
|
178
|
+
});
|
|
179
|
+
tree.setNodeModel(nodeId, msg.model ?? "", msg.provider ?? "");
|
|
180
|
+
}
|
|
181
|
+
const closingBodies = [];
|
|
182
|
+
const thinking = extractThinkingOneLiner(e.message);
|
|
183
|
+
if (thinking)
|
|
184
|
+
closingBodies.push(`✱ ${thinking}`);
|
|
185
|
+
const preview = extractTurnPreview(e.message);
|
|
186
|
+
if (preview) {
|
|
187
|
+
registry.setTurnPreview(sessionId, preview);
|
|
188
|
+
tree.setTurnPreview(nodeId, preview);
|
|
189
|
+
if (setStatusVerbose && verboseKeys?.messageKey) {
|
|
190
|
+
setStatusVerbose(verboseKeys.messageKey, ` "${preview}"`);
|
|
191
|
+
}
|
|
192
|
+
closingBodies.push(`» "${preview}"`);
|
|
193
|
+
}
|
|
194
|
+
if (toolsThisTurn > 1) {
|
|
195
|
+
closingBodies.push(`⇉ batched ${toolsThisTurn} tool calls in turn ${state.turn}`);
|
|
196
|
+
}
|
|
197
|
+
for (let i = 0; i < closingBodies.length; i++) {
|
|
198
|
+
const isLast = i === closingBodies.length - 1;
|
|
199
|
+
emitTurnLine(closingBodies[i], { closing: isLast });
|
|
200
|
+
}
|
|
201
|
+
// Bubble one consolidated event up to the registry so the
|
|
202
|
+
// top-level viewport can surface activity from any subagent
|
|
203
|
+
// with subagent-identified attribution.
|
|
204
|
+
registry.recordTurnEvent({
|
|
205
|
+
sessionId,
|
|
206
|
+
phaseRole,
|
|
207
|
+
displayRole: role,
|
|
208
|
+
turn: state.turn,
|
|
209
|
+
preview: preview ?? "",
|
|
210
|
+
thinking: thinking ?? "",
|
|
211
|
+
deltaUsage: { ...delta },
|
|
212
|
+
cumUsage: { ...state.cumUsage },
|
|
213
|
+
timestamp: Date.now(),
|
|
214
|
+
});
|
|
215
|
+
break;
|
|
216
|
+
}
|
|
217
|
+
case "tool_execution_start": {
|
|
218
|
+
const e = event;
|
|
219
|
+
state.toolCount++;
|
|
220
|
+
toolsThisTurn++;
|
|
221
|
+
argsByCallId.set(e.toolCallId, e.args);
|
|
222
|
+
// Status line gets a short hint (single-line UI constraint of
|
|
223
|
+
// setStatus); the activity-log entry carries the FULL argument
|
|
224
|
+
// content — display clamping/expansion is the view's decision.
|
|
225
|
+
const hint = fmtArgHint(e.toolName, e.args);
|
|
226
|
+
const content = fmtArgContent(e.toolName, e.args);
|
|
227
|
+
const { glyph, risky } = toolGlyph(e.toolName, e.args);
|
|
228
|
+
state.lastTool = `${e.toolName}${hint ? ` ${hint}` : ""}`;
|
|
229
|
+
writeDebug?.({
|
|
230
|
+
kind: "tool_start",
|
|
231
|
+
toolName: e.toolName,
|
|
232
|
+
toolCallId: e.toolCallId,
|
|
233
|
+
args: e.args,
|
|
234
|
+
});
|
|
235
|
+
registry.recordToolStart(sessionId, e.toolCallId, e.toolName, e.args);
|
|
236
|
+
tree.incrementNodeToolCount(resolveNodeId());
|
|
237
|
+
const riskPrefix = risky ? `${RISKY_TAG} ` : "";
|
|
238
|
+
emitTurnLine(`${riskPrefix}${glyph} ${e.toolName}${content ? ` ${content}` : ""}`, risky ? { warning: true } : undefined);
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
241
|
+
case "tool_execution_end": {
|
|
242
|
+
const e = event;
|
|
243
|
+
argsByCallId.delete(e.toolCallId);
|
|
244
|
+
writeDebug?.({
|
|
245
|
+
kind: "tool_end",
|
|
246
|
+
toolName: e.toolName,
|
|
247
|
+
toolCallId: e.toolCallId,
|
|
248
|
+
isError: e.isError,
|
|
249
|
+
result: e.result,
|
|
250
|
+
});
|
|
251
|
+
registry.recordToolEnd(sessionId, e.toolCallId, e.toolName, e.isError, e.result);
|
|
252
|
+
const nodeId = resolveNodeId();
|
|
253
|
+
if (e.isError) {
|
|
254
|
+
state.errCount++;
|
|
255
|
+
tree.incrementNodeErrCount(nodeId);
|
|
256
|
+
emitTurnLine(`⚠ ${e.toolName} failed: ${rawErrorText(e.result)}`, { warning: true });
|
|
257
|
+
}
|
|
258
|
+
else {
|
|
259
|
+
const shape = resultShape(e.toolName, e.result);
|
|
260
|
+
const comp = extractCompression(e.result);
|
|
261
|
+
const compHint = comp ? ` ⇌${comp.saved}%` : "";
|
|
262
|
+
emitTurnLine(`← ${e.toolName} ok${shape ? ` ${shape}` : ""}${compHint}`);
|
|
263
|
+
if (comp) {
|
|
264
|
+
state.cumCompression.calls++;
|
|
265
|
+
state.cumCompression.tokensSaved += comp.before - comp.after;
|
|
266
|
+
registry.setPhaseCompression(sessionId, phaseRole, state.cumCompression);
|
|
267
|
+
tree.setNodeCompression(nodeId, state.cumCompression);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
break;
|
|
271
|
+
}
|
|
272
|
+
case "compaction_start": {
|
|
273
|
+
const e = event;
|
|
274
|
+
notify?.(`◌ ${role}: context compacting (${e.reason})…`, "info");
|
|
275
|
+
appendTail(`${tailPrefix()} ◌ compacting (${e.reason})`);
|
|
276
|
+
break;
|
|
277
|
+
}
|
|
278
|
+
case "auto_retry_start": {
|
|
279
|
+
const e = event;
|
|
280
|
+
const err = e.errorMessage ?? "";
|
|
281
|
+
notify?.(`↻ ${role}: model retry ${e.attempt}/${e.maxAttempts}${err ? `\n${err}` : ""}`, "warning");
|
|
282
|
+
appendTail(`${tailPrefix()} ↻ retry ${e.attempt}/${e.maxAttempts}${err ? `: ${extractErrorSummary(err)}` : ""}`, { warning: true });
|
|
283
|
+
break;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
afterEach?.();
|
|
287
|
+
};
|
|
288
|
+
return { onEvent, state };
|
|
289
|
+
}
|
|
290
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/viewport/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import type { AgentMessage } from "@earendil-works/pi-agent-core";
|
|
2
|
+
export declare const RISKY_TAG = "\uD83D\uDD12";
|
|
3
|
+
export interface GlyphInfo {
|
|
4
|
+
glyph: string;
|
|
5
|
+
risky: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function toolGlyph(toolName: string, args: unknown): GlyphInfo;
|
|
8
|
+
export declare function argHint(toolName: string, args: unknown, maxLen?: number): string;
|
|
9
|
+
/**
|
|
10
|
+
* Full argument content for the activity log — the producer plays no display
|
|
11
|
+
* role: the log entry carries the complete command/pattern/query (newlines
|
|
12
|
+
* and all) and the VIEWS decide how to clamp, wrap, or expand it (dashboard:
|
|
13
|
+
* 2-row clamp + ctrl+o expand). Paths stay full (not basenamed) — same
|
|
14
|
+
* principle.
|
|
15
|
+
*/
|
|
16
|
+
export declare function argContent(toolName: string, args: unknown): string;
|
|
17
|
+
/**
|
|
18
|
+
* View-side display normalization: split a raw log entry (stored verbatim in
|
|
19
|
+
* the tail buffers) into display-safe lines — split on any line-break flavour,
|
|
20
|
+
* expand tabs (tabs break visible-width column math), strip layout-breaking C0
|
|
21
|
+
* control characters while preserving ANSI styling (\x1b). Blank continuation
|
|
22
|
+
* segments are dropped; fully-empty input stays one empty line. Every view
|
|
23
|
+
* that renders tail entries into a row-based layout MUST route them through
|
|
24
|
+
* this (a raw \n inside a composed pane row resets the terminal cursor to
|
|
25
|
+
* column 0 and the remainder renders under the adjacent pane).
|
|
26
|
+
*/
|
|
27
|
+
export declare function toDisplayLines(raw: string): string[];
|
|
28
|
+
/**
|
|
29
|
+
* Truncate at a whitespace boundary when possible so we don't slice mid-token
|
|
30
|
+
* (e.g. `FORGE_ROOT=$(node -e` cut at the open paren). Appends `…(+Nc)` so the
|
|
31
|
+
* user knows there's more.
|
|
32
|
+
*/
|
|
33
|
+
export declare function truncateAtBoundary(s: string, max: number): string;
|
|
34
|
+
/**
|
|
35
|
+
* Extract a small "shape" hint from a tool result so users see `read ok 247L`
|
|
36
|
+
* instead of `read ok`. Defensive: result shapes vary across tools and providers.
|
|
37
|
+
*/
|
|
38
|
+
export declare function resultShape(_toolName: string, result: unknown): string;
|
|
39
|
+
/**
|
|
40
|
+
* Pull the first sentence (or first 100 chars) from any `thinking` block on an
|
|
41
|
+
* assistant message. Returns `undefined` if no thinking content present.
|
|
42
|
+
*/
|
|
43
|
+
export declare function extractThinkingOneLiner(message: AgentMessage | undefined): string | undefined;
|
|
44
|
+
export interface UsageDelta {
|
|
45
|
+
input: number;
|
|
46
|
+
output: number;
|
|
47
|
+
cacheRead: number;
|
|
48
|
+
}
|
|
49
|
+
/** Extract usage from an assistant message; returns zeros if missing. */
|
|
50
|
+
export declare function readUsage(message: AgentMessage | undefined): UsageDelta;
|
|
51
|
+
/**
|
|
52
|
+
* Extract the last assistant-authored text from a turn_end message and
|
|
53
|
+
* collapse to a single-line preview (max 120 chars). Returns "" if the
|
|
54
|
+
* message has no text content (e.g. all-tool-call turn).
|
|
55
|
+
*/
|
|
56
|
+
export declare function extractTurnPreview(message: unknown): string;
|
|
57
|
+
export declare function fmtTokenMeter(u: UsageDelta): string;
|
|
58
|
+
/** Format a one-shot phase-completion line for the tail buffer. */
|
|
59
|
+
export declare function fmtPhaseSummary(opts: {
|
|
60
|
+
role: string;
|
|
61
|
+
turns: number;
|
|
62
|
+
tools: number;
|
|
63
|
+
errors: number;
|
|
64
|
+
wallSeconds: number;
|
|
65
|
+
usage: UsageDelta;
|
|
66
|
+
model?: string;
|
|
67
|
+
provider?: string;
|
|
68
|
+
compression?: {
|
|
69
|
+
calls: number;
|
|
70
|
+
tokensSaved: number;
|
|
71
|
+
};
|
|
72
|
+
}): string;
|
|
73
|
+
/**
|
|
74
|
+
* Build the sticky footer line shown at the bottom of the tail view.
|
|
75
|
+
* Includes cacheRead only when nonzero — most non-Anthropic providers (ollama,
|
|
76
|
+
* glm, etc.) return 0 for cache fields and we don't want the noise.
|
|
77
|
+
*/
|
|
78
|
+
export declare function fmtTokenFooter(usage: UsageDelta | undefined, compression?: {
|
|
79
|
+
calls: number;
|
|
80
|
+
tokensSaved: number;
|
|
81
|
+
}): string;
|
|
82
|
+
/**
|
|
83
|
+
* Compact `(provider) model` label used to annotate token footers so users
|
|
84
|
+
* can see which model a phase ran with. Returns "" when neither field is
|
|
85
|
+
* populated.
|
|
86
|
+
*/
|
|
87
|
+
export declare function fmtModelLabel(info: {
|
|
88
|
+
provider?: string;
|
|
89
|
+
model?: string;
|
|
90
|
+
} | undefined): string;
|
|
91
|
+
/**
|
|
92
|
+
* Combine a model label with a token footer, separated by ` · `. Either
|
|
93
|
+
* half may be empty — the separator is only inserted when both halves are
|
|
94
|
+
* present. Returns "" when both are empty.
|
|
95
|
+
*/
|
|
96
|
+
export declare function fmtModelAndTokenFooter(info: {
|
|
97
|
+
provider?: string;
|
|
98
|
+
model?: string;
|
|
99
|
+
} | undefined, usage: UsageDelta | undefined, compression?: {
|
|
100
|
+
calls: number;
|
|
101
|
+
tokensSaved: number;
|
|
102
|
+
}): string;
|