@pentoshi/clai 4.14.5 → 4.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -5
- package/dist/agent/compaction-summary.d.ts +6 -1
- package/dist/agent/compaction-summary.js +46 -20
- package/dist/agent/compaction-summary.js.map +1 -1
- package/dist/agent/confirm-port.d.ts +3 -8
- package/dist/agent/confirm-port.js +9 -7
- package/dist/agent/confirm-port.js.map +1 -1
- package/dist/agent/context/compact-with-summary.js +55 -14
- package/dist/agent/context/compact-with-summary.js.map +1 -1
- package/dist/agent/context/compaction-recent-history.js +4 -2
- package/dist/agent/context/compaction-recent-history.js.map +1 -1
- package/dist/agent/context/compaction-user-instructions.d.ts +12 -0
- package/dist/agent/context/compaction-user-instructions.js +264 -0
- package/dist/agent/context/compaction-user-instructions.js.map +1 -0
- package/dist/agent/context/compaction-work-history.d.ts +13 -0
- package/dist/agent/context/compaction-work-history.js +150 -0
- package/dist/agent/context/compaction-work-history.js.map +1 -0
- package/dist/agent/context-manager.js +19 -5
- package/dist/agent/context-manager.js.map +1 -1
- package/dist/agent/plan-implement-compact.js +2 -1
- package/dist/agent/plan-implement-compact.js.map +1 -1
- package/dist/agent/turn/loop/stream-session.js +33 -27
- package/dist/agent/turn/loop/stream-session.js.map +1 -1
- package/dist/agent/turn/tool-execution/authorization.js +1 -1
- package/dist/agent/turn/tool-execution/authorization.js.map +1 -1
- package/dist/app/adapters/current-store-adapter.js +2 -2
- package/dist/app/adapters/current-store-adapter.js.map +1 -1
- package/dist/app/commands/catalog.js +1 -0
- package/dist/app/commands/catalog.js.map +1 -1
- package/dist/app/controllers/session-changes.d.ts +24 -0
- package/dist/app/controllers/session-changes.js +75 -0
- package/dist/app/controllers/session-changes.js.map +1 -0
- package/dist/app/controllers/session-controller.d.ts +4 -0
- package/dist/app/controllers/session-controller.js +13 -0
- package/dist/app/controllers/session-controller.js.map +1 -1
- package/dist/app/ports/confirm-port.d.ts +4 -1
- package/dist/app/ports/persistence-port.d.ts +2 -0
- package/dist/app/ports/transcript-item.d.ts +2 -0
- package/dist/classic/app/ClassicApp.js +42 -33
- package/dist/classic/app/ClassicApp.js.map +1 -1
- package/dist/classic/app/app-wiring.d.ts +8 -1
- package/dist/classic/app/app-wiring.js +23 -4
- package/dist/classic/app/app-wiring.js.map +1 -1
- package/dist/classic/app/paint-pacing.d.ts +3 -1
- package/dist/classic/app/paint-pacing.js +9 -1
- package/dist/classic/app/paint-pacing.js.map +1 -1
- package/dist/classic/app/use-feed.js +8 -3
- package/dist/classic/app/use-feed.js.map +1 -1
- package/dist/classic/app/wiring-composer-pointer.d.ts +3 -0
- package/dist/classic/app/wiring-composer-pointer.js +22 -0
- package/dist/classic/app/wiring-composer-pointer.js.map +1 -0
- package/dist/classic/app/wiring-disclosure.d.ts +3 -0
- package/dist/classic/app/wiring-disclosure.js +31 -0
- package/dist/classic/app/wiring-disclosure.js.map +1 -0
- package/dist/classic/app/wiring-interactions.d.ts +1 -0
- package/dist/classic/app/wiring-interactions.js +16 -16
- package/dist/classic/app/wiring-interactions.js.map +1 -1
- package/dist/classic/app/wiring-jump-to-latest.d.ts +3 -0
- package/dist/classic/app/wiring-jump-to-latest.js +38 -0
- package/dist/classic/app/wiring-jump-to-latest.js.map +1 -0
- package/dist/classic/app/wiring-lifecycle.d.ts +1 -1
- package/dist/classic/app/wiring-lifecycle.js +19 -10
- package/dist/classic/app/wiring-lifecycle.js.map +1 -1
- package/dist/classic/app/wiring-selection.d.ts +1 -0
- package/dist/classic/app/wiring-selection.js +10 -1
- package/dist/classic/app/wiring-selection.js.map +1 -1
- package/dist/classic/app/wiring-types.d.ts +12 -1
- package/dist/classic/blocks/assistant-lines.js +1 -1
- package/dist/classic/blocks/assistant-lines.js.map +1 -1
- package/dist/classic/blocks/batch-lines.d.ts +1 -1
- package/dist/classic/blocks/batch-lines.js +47 -59
- package/dist/classic/blocks/batch-lines.js.map +1 -1
- package/dist/classic/blocks/block-context.d.ts +8 -1
- package/dist/classic/blocks/block-context.js.map +1 -1
- package/dist/classic/blocks/compacted-lines.d.ts +0 -1
- package/dist/classic/blocks/compacted-lines.js +12 -44
- package/dist/classic/blocks/compacted-lines.js.map +1 -1
- package/dist/classic/blocks/diff-lines.d.ts +3 -5
- package/dist/classic/blocks/diff-lines.js +113 -152
- package/dist/classic/blocks/diff-lines.js.map +1 -1
- package/dist/classic/blocks/disclosure-lines.d.ts +16 -0
- package/dist/classic/blocks/disclosure-lines.js +20 -0
- package/dist/classic/blocks/disclosure-lines.js.map +1 -0
- package/dist/classic/blocks/intro-lines.js +2 -0
- package/dist/classic/blocks/intro-lines.js.map +1 -1
- package/dist/classic/blocks/notice-lines.js +4 -16
- package/dist/classic/blocks/notice-lines.js.map +1 -1
- package/dist/classic/blocks/output-lines.d.ts +10 -0
- package/dist/classic/blocks/output-lines.js +35 -0
- package/dist/classic/blocks/output-lines.js.map +1 -0
- package/dist/classic/blocks/thinking-lines.d.ts +0 -1
- package/dist/classic/blocks/thinking-lines.js +15 -32
- package/dist/classic/blocks/thinking-lines.js.map +1 -1
- package/dist/classic/blocks/tool-label.d.ts +2 -0
- package/dist/classic/blocks/tool-label.js +8 -0
- package/dist/classic/blocks/tool-label.js.map +1 -0
- package/dist/classic/blocks/tool-lines.d.ts +3 -5
- package/dist/classic/blocks/tool-lines.js +90 -150
- package/dist/classic/blocks/tool-lines.js.map +1 -1
- package/dist/classic/blocks/turn-summary-lines.js +7 -1
- package/dist/classic/blocks/turn-summary-lines.js.map +1 -1
- package/dist/classic/blocks/user-lines.js +9 -15
- package/dist/classic/blocks/user-lines.js.map +1 -1
- package/dist/classic/bootstrap/start-classic.js +2 -0
- package/dist/classic/bootstrap/start-classic.js.map +1 -1
- package/dist/classic/chrome/Composer.d.ts +4 -2
- package/dist/classic/chrome/Composer.js +12 -6
- package/dist/classic/chrome/Composer.js.map +1 -1
- package/dist/classic/chrome/composer-controller.d.ts +3 -0
- package/dist/classic/chrome/composer-controller.js +15 -22
- package/dist/classic/chrome/composer-controller.js.map +1 -1
- package/dist/classic/chrome/composer-frame.d.ts +1 -1
- package/dist/classic/chrome/composer-frame.js +2 -1
- package/dist/classic/chrome/composer-frame.js.map +1 -1
- package/dist/classic/chrome/composer-mentions.d.ts +2 -0
- package/dist/classic/chrome/composer-mentions.js +16 -0
- package/dist/classic/chrome/composer-mentions.js.map +1 -0
- package/dist/classic/chrome/composer-pointer.d.ts +13 -0
- package/dist/classic/chrome/composer-pointer.js +22 -0
- package/dist/classic/chrome/composer-pointer.js.map +1 -0
- package/dist/classic/chrome/directory-row.d.ts +20 -2
- package/dist/classic/chrome/directory-row.js +45 -1
- package/dist/classic/chrome/directory-row.js.map +1 -1
- package/dist/classic/chrome/editor-view.js +6 -1
- package/dist/classic/chrome/editor-view.js.map +1 -1
- package/dist/classic/chrome/queue-rows.d.ts +1 -0
- package/dist/classic/chrome/queue-rows.js +12 -2
- package/dist/classic/chrome/queue-rows.js.map +1 -1
- package/dist/classic/chrome/status-rows.d.ts +1 -0
- package/dist/classic/chrome/status-rows.js +5 -4
- package/dist/classic/chrome/status-rows.js.map +1 -1
- package/dist/classic/chrome/toast-rows.js +7 -6
- package/dist/classic/chrome/toast-rows.js.map +1 -1
- package/dist/classic/feed/LiveTail.d.ts +4 -3
- package/dist/classic/feed/LiveTail.js +26 -15
- package/dist/classic/feed/LiveTail.js.map +1 -1
- package/dist/classic/feed/feed-blocks.d.ts +2 -0
- package/dist/classic/feed/feed-blocks.js +4 -2
- package/dist/classic/feed/feed-blocks.js.map +1 -1
- package/dist/classic/feed/transcript-disclosure.d.ts +6 -0
- package/dist/classic/feed/transcript-disclosure.js +9 -0
- package/dist/classic/feed/transcript-disclosure.js.map +1 -0
- package/dist/classic/feed/transcript-resources.d.ts +23 -0
- package/dist/classic/feed/transcript-resources.js +140 -0
- package/dist/classic/feed/transcript-resources.js.map +1 -0
- package/dist/classic/feed/transcript-window.js +43 -18
- package/dist/classic/feed/transcript-window.js.map +1 -1
- package/dist/classic/input/input-router.d.ts +2 -0
- package/dist/classic/input/input-router.js +6 -0
- package/dist/classic/input/input-router.js.map +1 -1
- package/dist/classic/input/raw-decoder.js +3 -2
- package/dist/classic/input/raw-decoder.js.map +1 -1
- package/dist/classic/panels/confirm-panel.js +17 -10
- package/dist/classic/panels/confirm-panel.js.map +1 -1
- package/dist/classic/panels/pager-panel.d.ts +6 -2
- package/dist/classic/panels/pager-panel.js +11 -4
- package/dist/classic/panels/pager-panel.js.map +1 -1
- package/dist/classic/panels/panel-controller.js +4 -1
- package/dist/classic/panels/panel-controller.js.map +1 -1
- package/dist/classic/panels/panel-host.js +1 -1
- package/dist/classic/panels/panel-host.js.map +1 -1
- package/dist/classic/panels/panel-wheel.js +1 -1
- package/dist/classic/panels/panel-wheel.js.map +1 -1
- package/dist/classic/render/shell-width.d.ts +0 -2
- package/dist/classic/render/shell-width.js +0 -6
- package/dist/classic/render/shell-width.js.map +1 -1
- package/dist/instructions/record.d.ts +1 -1
- package/dist/instructions/record.js +3 -3
- package/dist/llm/free-client.d.ts +2 -0
- package/dist/llm/free-client.js +52 -0
- package/dist/llm/free-client.js.map +1 -0
- package/dist/llm/free.d.ts +1 -0
- package/dist/llm/free.js +77 -176
- package/dist/llm/free.js.map +1 -1
- package/dist/llm/key-rotation.d.ts +1 -0
- package/dist/llm/key-rotation.js +13 -2
- package/dist/llm/key-rotation.js.map +1 -1
- package/dist/llm/reasoning-errors.js +1 -1
- package/dist/llm/reasoning-errors.js.map +1 -1
- package/dist/llm/wire/reasoning-artifacts.js +1 -1
- package/dist/llm/wire/reasoning-artifacts.js.map +1 -1
- package/dist/noninteractive/stdio-confirm-port.js +4 -3
- package/dist/noninteractive/stdio-confirm-port.js.map +1 -1
- package/dist/prompts/embedded.js +1 -1
- package/dist/prompts/embedded.js.map +1 -1
- package/dist/prompts/index.js +24 -21
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/system.agent.md +6 -0
- package/dist/safety/filesystem-permissions.d.ts +8 -0
- package/dist/safety/filesystem-permissions.js +38 -18
- package/dist/safety/filesystem-permissions.js.map +1 -1
- package/dist/safety/patterns.d.ts +1 -1
- package/dist/safety/patterns.js +7 -7
- package/dist/safety/patterns.js.map +1 -1
- package/dist/safety/permission-mode.js +1 -1
- package/dist/safety/permission-mode.js.map +1 -1
- package/dist/safety/shell-classification.js +1 -1
- package/dist/safety/shell-classification.js.map +1 -1
- package/dist/session-runtime/view-manager.js +1 -1
- package/dist/session-runtime/view-manager.js.map +1 -1
- package/dist/store/history/recovery.d.ts +1 -0
- package/dist/store/history/recovery.js.map +1 -1
- package/dist/store/history/sqlite-backend.js +2 -0
- package/dist/store/history/sqlite-backend.js.map +1 -1
- package/dist/store/history.d.ts +2 -2
- package/dist/store/history.js +4 -2
- package/dist/store/history.js.map +1 -1
- package/dist/store/session-prompts.d.ts +5 -0
- package/dist/store/session-prompts.js +60 -1
- package/dist/store/session-prompts.js.map +1 -1
- package/dist/tools/definitions/aggregate.js +7 -2
- package/dist/tools/definitions/aggregate.js.map +1 -1
- package/dist/tools/instructions.js +8 -1
- package/dist/tools/instructions.js.map +1 -1
- package/dist/tui-v2/app/App.js +7 -4
- package/dist/tui-v2/app/App.js.map +1 -1
- package/dist/tui-v2/bootstrap/frame-pacing.d.ts +4 -0
- package/dist/tui-v2/bootstrap/frame-pacing.js +5 -0
- package/dist/tui-v2/bootstrap/frame-pacing.js.map +1 -0
- package/dist/tui-v2/bootstrap/runtime-view.js +2 -0
- package/dist/tui-v2/bootstrap/runtime-view.js.map +1 -1
- package/dist/tui-v2/bootstrap/start-tui-v2.js +2 -0
- package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
- package/dist/tui-v2/components/modal/confirm-modal.d.ts +2 -0
- package/dist/tui-v2/components/modal/confirm-modal.js +21 -35
- package/dist/tui-v2/components/modal/confirm-modal.js.map +1 -1
- package/dist/tui-v2/components/overlay/overlay-host.js +1 -1
- package/dist/tui-v2/components/overlay/overlay-host.js.map +1 -1
- package/dist/tui-v2/components/pager/pager.js +4 -1
- package/dist/tui-v2/components/pager/pager.js.map +1 -1
- package/dist/tui-v2/components/queue/queue-panel.js +2 -7
- package/dist/tui-v2/components/queue/queue-panel.js.map +1 -1
- package/dist/tui-v2/components/status/jump-to-latest.d.ts +7 -0
- package/dist/tui-v2/components/status/jump-to-latest.js +16 -0
- package/dist/tui-v2/components/status/jump-to-latest.js.map +1 -0
- package/dist/tui-v2/components/status/status-line.d.ts +1 -0
- package/dist/tui-v2/components/status/status-line.js +14 -4
- package/dist/tui-v2/components/status/status-line.js.map +1 -1
- package/dist/tui-v2/components/toast/toast-host.js +4 -7
- package/dist/tui-v2/components/toast/toast-host.js.map +1 -1
- package/dist/tui-v2/components/transcript/file-diff-card.d.ts +1 -0
- package/dist/tui-v2/components/transcript/file-diff-card.js +25 -11
- package/dist/tui-v2/components/transcript/file-diff-card.js.map +1 -1
- package/dist/tui-v2/components/transcript/tool-card.js +24 -20
- package/dist/tui-v2/components/transcript/tool-card.js.map +1 -1
- package/dist/tui-v2/components/transcript/transcript-row.js +6 -3
- package/dist/tui-v2/components/transcript/transcript-row.js.map +1 -1
- package/dist/tui-v2/components/transcript/transcript-scroll-port.d.ts +1 -0
- package/dist/tui-v2/components/transcript/transcript-scroll-port.js +3 -1
- package/dist/tui-v2/components/transcript/transcript-scroll-port.js.map +1 -1
- package/dist/tui-v2/components/transcript/transcript-scrollbar.js +17 -11
- package/dist/tui-v2/components/transcript/transcript-scrollbar.js.map +1 -1
- package/dist/tui-v2/components/transcript/transcript-view.js +41 -21
- package/dist/tui-v2/components/transcript/transcript-view.js.map +1 -1
- package/dist/tui-v2/composer/composer-editor.js +14 -9
- package/dist/tui-v2/composer/composer-editor.js.map +1 -1
- package/dist/tui-v2/rendering/pager-markdown.d.ts +3 -0
- package/dist/tui-v2/rendering/pager-markdown.js +3 -0
- package/dist/tui-v2/rendering/pager-markdown.js.map +1 -1
- package/dist/types.d.ts +12 -0
- package/dist/types.js.map +1 -1
- package/dist/ui/mentions/file-suggestions.js +17 -8
- package/dist/ui/mentions/file-suggestions.js.map +1 -1
- package/dist/ui-core/actions/format-shortcuts.js +2 -0
- package/dist/ui-core/actions/format-shortcuts.js.map +1 -1
- package/dist/ui-core/bootstrap/overlay-ports.js +8 -3
- package/dist/ui-core/bootstrap/overlay-ports.js.map +1 -1
- package/dist/ui-core/bootstrap/session-resume.js +1 -0
- package/dist/ui-core/bootstrap/session-resume.js.map +1 -1
- package/dist/ui-core/commands/change-commands.d.ts +4 -0
- package/dist/ui-core/commands/change-commands.js +48 -0
- package/dist/ui-core/commands/change-commands.js.map +1 -0
- package/dist/ui-core/commands/command-handlers.js +2 -0
- package/dist/ui-core/commands/command-handlers.js.map +1 -1
- package/dist/ui-core/composer/arrow-intent.js +2 -0
- package/dist/ui-core/composer/arrow-intent.js.map +1 -1
- package/dist/ui-core/composer/paste-placeholder.js +2 -2
- package/dist/ui-core/composer/paste-placeholder.js.map +1 -1
- package/dist/ui-core/composer/prompt-history.d.ts +12 -0
- package/dist/ui-core/composer/prompt-history.js +75 -1
- package/dist/ui-core/composer/prompt-history.js.map +1 -1
- package/dist/ui-core/composer/saved-prompt-history.d.ts +5 -0
- package/dist/ui-core/composer/saved-prompt-history.js +33 -0
- package/dist/ui-core/composer/saved-prompt-history.js.map +1 -0
- package/dist/ui-core/controllers/overlay-controller.d.ts +1 -0
- package/dist/ui-core/controllers/overlay-controller.js.map +1 -1
- package/dist/ui-core/react/use-transcript-store.js +4 -2
- package/dist/ui-core/react/use-transcript-store.js.map +1 -1
- package/dist/ui-core/rendering/artifact-pager-source.d.ts +3 -0
- package/dist/ui-core/rendering/artifact-pager-source.js.map +1 -1
- package/dist/ui-core/rendering/batch-sections.d.ts +3 -2
- package/dist/ui-core/rendering/batch-sections.js +5 -5
- package/dist/ui-core/rendering/batch-sections.js.map +1 -1
- package/dist/ui-core/rendering/card-style.d.ts +2 -0
- package/dist/ui-core/rendering/card-style.js +3 -0
- package/dist/ui-core/rendering/card-style.js.map +1 -0
- package/dist/ui-core/rendering/confirmation-preview.d.ts +9 -0
- package/dist/ui-core/rendering/confirmation-preview.js +33 -0
- package/dist/ui-core/rendering/confirmation-preview.js.map +1 -0
- package/dist/ui-core/rendering/duration.d.ts +2 -1
- package/dist/ui-core/rendering/duration.js +4 -6
- package/dist/ui-core/rendering/duration.js.map +1 -1
- package/dist/ui-core/rendering/intro-header.d.ts +1 -0
- package/dist/ui-core/rendering/intro-header.js +19 -15
- package/dist/ui-core/rendering/intro-header.js.map +1 -1
- package/dist/ui-core/rendering/jump-to-latest.d.ts +1 -0
- package/dist/ui-core/rendering/jump-to-latest.js +7 -0
- package/dist/ui-core/rendering/jump-to-latest.js.map +1 -0
- package/dist/ui-core/rendering/line-change-labels.d.ts +6 -0
- package/dist/ui-core/rendering/line-change-labels.js +12 -0
- package/dist/ui-core/rendering/line-change-labels.js.map +1 -0
- package/dist/ui-core/rendering/markdown.d.ts +5 -1
- package/dist/ui-core/rendering/markdown.js +20 -5
- package/dist/ui-core/rendering/markdown.js.map +1 -1
- package/dist/ui-core/rendering/render-markdown-lines.d.ts +3 -0
- package/dist/ui-core/rendering/render-markdown-lines.js +6 -1
- package/dist/ui-core/rendering/render-markdown-lines.js.map +1 -1
- package/dist/ui-core/rendering/session-prompts-pager-source.js +2 -0
- package/dist/ui-core/rendering/session-prompts-pager-source.js.map +1 -1
- package/dist/ui-core/rendering/status-segments.js +10 -5
- package/dist/ui-core/rendering/status-segments.js.map +1 -1
- package/dist/ui-core/rendering/subagent-presentation.js +39 -11
- package/dist/ui-core/rendering/subagent-presentation.js.map +1 -1
- package/dist/ui-core/rendering/subagent-source.js +11 -48
- package/dist/ui-core/rendering/subagent-source.js.map +1 -1
- package/dist/ui-core/rendering/subagent-tool-usage.d.ts +5 -0
- package/dist/ui-core/rendering/subagent-tool-usage.js +42 -0
- package/dist/ui-core/rendering/subagent-tool-usage.js.map +1 -0
- package/dist/ui-core/rendering/tool-diff-preview.d.ts +21 -0
- package/dist/ui-core/rendering/tool-diff-preview.js +27 -0
- package/dist/ui-core/rendering/tool-diff-preview.js.map +1 -0
- package/dist/ui-core/rendering/tool-presenter.d.ts +4 -2
- package/dist/ui-core/rendering/tool-presenter.js +19 -4
- package/dist/ui-core/rendering/tool-presenter.js.map +1 -1
- package/dist/ui-core/rendering/tool-usage-label.d.ts +2 -0
- package/dist/ui-core/rendering/tool-usage-label.js +42 -0
- package/dist/ui-core/rendering/tool-usage-label.js.map +1 -0
- package/dist/ui-core/state/hydrate/classic-transcript.js +2 -0
- package/dist/ui-core/state/hydrate/classic-transcript.js.map +1 -1
- package/dist/ui-core/state/transcript/apply-app-event.js +16 -5
- package/dist/ui-core/state/transcript/apply-app-event.js.map +1 -1
- package/dist/ui-core/state/transcript-hydrate.js +1 -0
- package/dist/ui-core/state/transcript-hydrate.js.map +1 -1
- package/dist/ui-core/state/transcript-types.d.ts +4 -0
- package/dist/ui-core/state/transcript-types.js.map +1 -1
- package/dist/version.generated.d.ts +2 -2
- package/dist/version.generated.js +2 -2
- package/package.json +1 -1
- package/dist/classic/feed/ScrollbarGutter.d.ts +0 -9
- package/dist/classic/feed/ScrollbarGutter.js +0 -41
- package/dist/classic/feed/ScrollbarGutter.js.map +0 -1
- package/dist/classic/feed/scrollbar-rows.d.ts +0 -5
- package/dist/classic/feed/scrollbar-rows.js +0 -17
- package/dist/classic/feed/scrollbar-rows.js.map +0 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type ChatMessage, type CompactedUserInstruction, type CompactedWorkstream } from "../../types.js";
|
|
2
|
+
export declare const WORK_HISTORY_HEADING = "## Session work history (preserved)";
|
|
3
|
+
export declare const WORK_HISTORY_CHAR_BUDGET = 12000;
|
|
4
|
+
export declare const WORK_HISTORY_INPUT_CHAR_BUDGET = 2000;
|
|
5
|
+
export interface WorkstreamMemory extends CompactedWorkstream {
|
|
6
|
+
readonly message?: ChatMessage | undefined;
|
|
7
|
+
}
|
|
8
|
+
export declare function withoutWorkHistory(summary: string): string;
|
|
9
|
+
export declare function collectWorkHistory(messages: readonly ChatMessage[]): WorkstreamMemory[];
|
|
10
|
+
export declare function reconcileWorkHistory(entries: readonly WorkstreamMemory[], previous: readonly CompactedUserInstruction[], current: readonly CompactedUserInstruction[]): WorkstreamMemory[];
|
|
11
|
+
export declare function compactionWorkHistoryAnchors(entries: readonly CompactedWorkstream[], budget?: number): string;
|
|
12
|
+
export declare function archivedWorkHistory(entries: readonly WorkstreamMemory[], retained: readonly ChatMessage[]): CompactedWorkstream[];
|
|
13
|
+
export declare function renderWorkHistory(entries: readonly CompactedWorkstream[], budget?: number): string;
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { redactSecrets } from "../../llm/provider.js";
|
|
2
|
+
import { isInternalChatMessage } from "../../types.js";
|
|
3
|
+
import { stripThinking } from "../../ui/thinking.js";
|
|
4
|
+
import { parseCanonicalTextToolCalls } from "../tool-history-projection.js";
|
|
5
|
+
import { withoutRecentUserPrompts } from "./compaction-recent-history.js";
|
|
6
|
+
import { redactUserCredentialsFromMemory } from "./user-credentials.js";
|
|
7
|
+
import { withoutUserInstructionSections } from "./compaction-user-instructions.js";
|
|
8
|
+
export const WORK_HISTORY_HEADING = "## Session work history (preserved)";
|
|
9
|
+
export const WORK_HISTORY_CHAR_BUDGET = 12_000;
|
|
10
|
+
export const WORK_HISTORY_INPUT_CHAR_BUDGET = 2_000;
|
|
11
|
+
function repeatedPhraseEnd(words, start, size) {
|
|
12
|
+
let end = start + size;
|
|
13
|
+
while (end + size <= words.length) {
|
|
14
|
+
for (let offset = 0; offset < size; offset += 1) {
|
|
15
|
+
if (words[start + offset] !== words[end + offset])
|
|
16
|
+
return end;
|
|
17
|
+
}
|
|
18
|
+
end += size;
|
|
19
|
+
}
|
|
20
|
+
return end;
|
|
21
|
+
}
|
|
22
|
+
function collapseRepeatedMaterial(text) {
|
|
23
|
+
const words = text.split(" ");
|
|
24
|
+
const output = [];
|
|
25
|
+
let index = 0;
|
|
26
|
+
while (index < words.length) {
|
|
27
|
+
let repeated = false;
|
|
28
|
+
const maxSize = Math.min(12, Math.floor((words.length - index) / 4));
|
|
29
|
+
for (let size = 1; size <= maxSize; size += 1) {
|
|
30
|
+
const end = repeatedPhraseEnd(words, index, size);
|
|
31
|
+
if (end - index < size * 4)
|
|
32
|
+
continue;
|
|
33
|
+
output.push(...words.slice(index, index + size), "[repeated material omitted]");
|
|
34
|
+
index = end;
|
|
35
|
+
repeated = true;
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
if (!repeated)
|
|
39
|
+
output.push(words[index++]);
|
|
40
|
+
}
|
|
41
|
+
return output.join(" ");
|
|
42
|
+
}
|
|
43
|
+
function excerpt(text, budget) {
|
|
44
|
+
const value = collapseRepeatedMaterial(redactSecrets(redactUserCredentialsFromMemory(text)).replace(/\s+/g, " ").trim());
|
|
45
|
+
if (value.length <= budget)
|
|
46
|
+
return value;
|
|
47
|
+
if (budget < 40)
|
|
48
|
+
return `${value.slice(0, Math.max(0, budget - 1))}…`;
|
|
49
|
+
const head = Math.floor((budget - 5) * 0.65);
|
|
50
|
+
return `${value.slice(0, head)} […] ${value.slice(-(budget - head - 5))}`;
|
|
51
|
+
}
|
|
52
|
+
export function withoutWorkHistory(summary) {
|
|
53
|
+
const lines = [];
|
|
54
|
+
let inHistory = false;
|
|
55
|
+
for (const line of summary.split("\n")) {
|
|
56
|
+
if (/^##\s/.test(line))
|
|
57
|
+
inHistory = line.trim().toLowerCase() === WORK_HISTORY_HEADING.toLowerCase();
|
|
58
|
+
if (!inHistory)
|
|
59
|
+
lines.push(line);
|
|
60
|
+
}
|
|
61
|
+
return lines.join("\n").trim();
|
|
62
|
+
}
|
|
63
|
+
function inheritedHistory(message) {
|
|
64
|
+
if (message.role !== "system")
|
|
65
|
+
return undefined;
|
|
66
|
+
if (message.compaction?.workHistory)
|
|
67
|
+
return message.compaction.workHistory.map((entry) => ({
|
|
68
|
+
request: excerpt(entry.request, 480),
|
|
69
|
+
...(entry.outcome ? { outcome: excerpt(entry.outcome, 1_200) } : {}),
|
|
70
|
+
...(entry.evidence ? { evidence: excerpt(entry.evidence, 480) } : {}),
|
|
71
|
+
}));
|
|
72
|
+
const body = message.content.replace(/^(?:Session memory from compacted earlier turns:|Earlier turns in this session, summarized[^\n]*|PLAN MODE HANDOFF:[^\n]*|Session memory from PLAN MODE research[^\n]*)\s*/, "");
|
|
73
|
+
if (body === message.content)
|
|
74
|
+
return undefined;
|
|
75
|
+
return [{ request: "Earlier compacted session work", outcome: excerpt(withoutUserInstructionSections(withoutRecentUserPrompts(body)), 1_200) }];
|
|
76
|
+
}
|
|
77
|
+
export function collectWorkHistory(messages) {
|
|
78
|
+
let entries = [];
|
|
79
|
+
let start = 0;
|
|
80
|
+
for (let index = 0; index < messages.length; index += 1) {
|
|
81
|
+
const inherited = inheritedHistory(messages[index]);
|
|
82
|
+
if (inherited === undefined)
|
|
83
|
+
continue;
|
|
84
|
+
entries = inherited;
|
|
85
|
+
start = index + 1;
|
|
86
|
+
}
|
|
87
|
+
let current;
|
|
88
|
+
for (const message of messages.slice(start)) {
|
|
89
|
+
if (message.role === "user" && !isInternalChatMessage(message)) {
|
|
90
|
+
current = { message, request: excerpt(message.content, 480) };
|
|
91
|
+
entries.push(current);
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
if (!current)
|
|
95
|
+
continue;
|
|
96
|
+
if (message.role === "assistant" && !message.toolCalls?.length && !parseCanonicalTextToolCalls(message.content).length) {
|
|
97
|
+
const visible = stripThinking(message.content).visible.trim();
|
|
98
|
+
if (visible)
|
|
99
|
+
current.outcome = excerpt(visible, 1_200);
|
|
100
|
+
}
|
|
101
|
+
if (message.role === "tool") {
|
|
102
|
+
const label = message.name ?? "tool result";
|
|
103
|
+
const status = message.ok === undefined ? "observed" : message.ok ? "ok" : "failed";
|
|
104
|
+
current.evidence = excerpt(`${current.evidence ? `${current.evidence}; ` : ""}${label} (${status}): ${message.content}`, 480);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return entries;
|
|
108
|
+
}
|
|
109
|
+
export function reconcileWorkHistory(entries, previous, current) {
|
|
110
|
+
const rules = [...previous, ...current];
|
|
111
|
+
const scrub = (text) => rules.reduce((value, rule) => {
|
|
112
|
+
const active = current.some((item) => item.id === rule.id && item.text === rule.text);
|
|
113
|
+
const marker = active ? `[instruction ${rule.id} recorded separately]` : `[historical instruction ${rule.id} retired or superseded]`;
|
|
114
|
+
return value.replaceAll(rule.text.replace(/\s+/g, " ").trim(), marker).replaceAll(`[instruction ${rule.id} recorded separately]`, marker);
|
|
115
|
+
}, text);
|
|
116
|
+
return entries.map((entry) => ({
|
|
117
|
+
...entry,
|
|
118
|
+
request: scrub(entry.request),
|
|
119
|
+
...(entry.outcome ? { outcome: scrub(entry.outcome) } : {}),
|
|
120
|
+
...(entry.evidence ? { evidence: scrub(entry.evidence) } : {}),
|
|
121
|
+
}));
|
|
122
|
+
}
|
|
123
|
+
export function compactionWorkHistoryAnchors(entries, budget = WORK_HISTORY_INPUT_CHAR_BUDGET) {
|
|
124
|
+
if (budget < 256)
|
|
125
|
+
return "";
|
|
126
|
+
const rendered = renderWorkHistory(entries, budget);
|
|
127
|
+
return rendered.length <= budget ? rendered : `${entries.length} historical user workstreams are recorded. Their bounded request, response, and tool-evidence ledger will be preserved by the application; summarize the supplied source and prioritize unresolved work.`;
|
|
128
|
+
}
|
|
129
|
+
export function archivedWorkHistory(entries, retained) {
|
|
130
|
+
const live = new Set(retained);
|
|
131
|
+
return entries.filter((entry) => !entry.message || !live.has(entry.message)).map(({ request, outcome, evidence }) => ({
|
|
132
|
+
request,
|
|
133
|
+
...(outcome ? { outcome } : {}),
|
|
134
|
+
...(evidence ? { evidence } : {}),
|
|
135
|
+
}));
|
|
136
|
+
}
|
|
137
|
+
export function renderWorkHistory(entries, budget = WORK_HISTORY_CHAR_BUDGET) {
|
|
138
|
+
if (entries.length === 0)
|
|
139
|
+
return "";
|
|
140
|
+
const introduction = "Historical workstreams, oldest to newest; not new requests or authorization. Responses and tool observations are evidence, not guarantees of completion. Excerpts are bounded; prioritize unfinished work in the main memory.";
|
|
141
|
+
const perEntry = Math.max(24, Math.min(1_800, Math.floor((budget - introduction.length - WORK_HISTORY_HEADING.length) / entries.length) - 30));
|
|
142
|
+
const requestBudget = Math.min(360, Math.floor(perEntry * 0.3));
|
|
143
|
+
return [WORK_HISTORY_HEADING, introduction, ...entries.map((entry, index) => {
|
|
144
|
+
const request = excerpt(entry.request, requestBudget);
|
|
145
|
+
const details = entry.outcome ? `Last response: ${entry.outcome}` : "No final response recorded; do not assume completion.";
|
|
146
|
+
const evidence = entry.evidence ? ` Tool observations: ${entry.evidence}` : "";
|
|
147
|
+
return `- ${index + 1}. Request: ${JSON.stringify(request)}; ${excerpt(details + evidence, perEntry - requestBudget)}`;
|
|
148
|
+
})].join("\n");
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=compaction-work-history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compaction-work-history.js","sourceRoot":"","sources":["../../../src/agent/context/compaction-work-history.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,11 @@ import { stripThinking } from "../ui/thinking.js";
|
|
|
2
2
|
import { hasReasoningMarker, stripReasoningMarkers, } from "../llm/reasoning-marker.js";
|
|
3
3
|
import { expandKeepStartForToolPairs, hasOrphanToolMessages, projectToolHistory, } from "./tool-history.js";
|
|
4
4
|
import { isResponderResultLedgerMessage } from "./responder-context.js";
|
|
5
|
+
import { AGENT_INSTRUCTIONS_PREFIX, latestKeyedBlock, upsertAgentInstructionsMessage } from "./injected-blocks.js";
|
|
5
6
|
import { latestUserMessage } from "./context/latest-user-message.js";
|
|
6
|
-
import { withoutRecentUserPrompts } from "./context/compaction-recent-history.js";
|
|
7
|
+
import { recentUserPrompts, withoutRecentUserPrompts } from "./context/compaction-recent-history.js";
|
|
8
|
+
import { archivedWorkHistory, collectWorkHistory, reconcileWorkHistory, renderWorkHistory, withoutWorkHistory } from "./context/compaction-work-history.js";
|
|
9
|
+
import { carriedUserInstructions, renderUserInstructions } from "./context/compaction-user-instructions.js";
|
|
7
10
|
import { estimateImageTokens, estimateMessagesTokens, estimateTextTokens as estimateTokens, } from "./request-accounting.js";
|
|
8
11
|
import { DEFAULT_KEEP_RECENT, MECHANICAL_MEMORY_PREFIX, isCompactionMemoryMessage } from "./context/compact-with-summary.js";
|
|
9
12
|
export { COMPACTION_MEMORY_PREFIX, PLAN_IMPLEMENT_MEMORY_PREFIX, POST_COMPACT_SOFT_UPPER_BAND_TOKENS, compactMessagesWithSummary, compactionMemoryPrefixForPurpose } from "./context/compact-with-summary.js";
|
|
@@ -65,10 +68,20 @@ export function compactMessages(messages, options = {}) {
|
|
|
65
68
|
bullets.push(`- tool result: ${oneLine(msg.content, 200)}`);
|
|
66
69
|
}
|
|
67
70
|
}
|
|
71
|
+
const userInstructions = carriedUserInstructions(messages);
|
|
72
|
+
const latestUser = latestUserMessage(messages);
|
|
73
|
+
const workHistory = reconcileWorkHistory(collectWorkHistory(messages), userInstructions, userInstructions);
|
|
68
74
|
const memo = {
|
|
69
75
|
role: "system",
|
|
70
76
|
content: `${MECHANICAL_MEMORY_PREFIX} to fit the context budget. Full artifacts (when produced) are saved on disk and can be expanded with /output.\n\n` +
|
|
71
|
-
bullets.join("\n"),
|
|
77
|
+
[renderUserInstructions(userInstructions), bullets.join("\n"), renderWorkHistory(workHistory)].filter(Boolean).join("\n\n"),
|
|
78
|
+
compaction: {
|
|
79
|
+
recentUserPrompts: recentUserPrompts(messages)
|
|
80
|
+
.filter((prompt) => !prompt.message || (!tail.includes(prompt.message) && prompt.message !== latestUser))
|
|
81
|
+
.map(({ content, truncated }) => ({ content, ...(truncated ? { truncated } : {}) })),
|
|
82
|
+
userInstructions,
|
|
83
|
+
workHistory: archivedWorkHistory(workHistory, latestUser ? [...tail, latestUser] : tail),
|
|
84
|
+
},
|
|
72
85
|
};
|
|
73
86
|
let ledger;
|
|
74
87
|
for (let index = messages.length - 1; index >= 0; index -= 1) {
|
|
@@ -78,9 +91,10 @@ export function compactMessages(messages, options = {}) {
|
|
|
78
91
|
}
|
|
79
92
|
}
|
|
80
93
|
const preservedLedger = ledger && !head.includes(ledger) && !tail.includes(ledger) ? [ledger] : [];
|
|
81
|
-
const latestUser = latestUserMessage(messages);
|
|
82
94
|
const preservedUser = latestUser && !tail.includes(latestUser) ? [latestUser] : [];
|
|
83
|
-
|
|
95
|
+
const compacted = [...head, memo, ...preservedUser, ...preservedLedger, ...tail];
|
|
96
|
+
upsertAgentInstructionsMessage(compacted, latestKeyedBlock(messages, AGENT_INSTRUCTIONS_PREFIX));
|
|
97
|
+
return compacted;
|
|
84
98
|
}
|
|
85
99
|
export function shouldApplyAutoCompact(input) {
|
|
86
100
|
if (!input.summarized)
|
|
@@ -89,7 +103,7 @@ export function shouldApplyAutoCompact(input) {
|
|
|
89
103
|
return false;
|
|
90
104
|
if (hasOrphanToolMessages([...input.afterMessages]))
|
|
91
105
|
return false;
|
|
92
|
-
const body = withoutRecentUserPrompts(input.summaryBody);
|
|
106
|
+
const body = withoutWorkHistory(withoutRecentUserPrompts(input.summaryBody));
|
|
93
107
|
if (!body)
|
|
94
108
|
return false;
|
|
95
109
|
if (input.beforeTokens >= AUTO_COMPACT_STUB_BEFORE_TOKENS &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-manager.js","sourceRoot":"","sources":["../../src/agent/context-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EACL,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"context-manager.js","sourceRoot":"","sources":["../../src/agent/context-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { hasOrphanToolMessages } from "./tool-history.js";
|
|
2
2
|
import { withoutRecentUserPrompts } from "./context/compaction-recent-history.js";
|
|
3
|
+
import { withoutWorkHistory } from "./context/compaction-work-history.js";
|
|
3
4
|
import { COMPACTION_MEMORY_PREFIX, PLAN_IMPLEMENT_MEMORY_PREFIX, } from "./context-manager.js";
|
|
4
5
|
export const CATASTROPHIC_SUMMARY_MIN_CHARS = 120;
|
|
5
6
|
const MEMORY_PREFIXES = [
|
|
@@ -21,7 +22,7 @@ export function acceptPlanImplementCompaction(input) {
|
|
|
21
22
|
if (!input.summarized) {
|
|
22
23
|
return { accept: false, reason: "compaction did not produce a summary" };
|
|
23
24
|
}
|
|
24
|
-
const body = withoutRecentUserPrompts(summaryBodyText(input.summaryBody));
|
|
25
|
+
const body = withoutWorkHistory(withoutRecentUserPrompts(summaryBodyText(input.summaryBody)));
|
|
25
26
|
if (!body) {
|
|
26
27
|
return { accept: false, reason: "empty compaction summary" };
|
|
27
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-implement-compact.js","sourceRoot":"","sources":["../../src/agent/plan-implement-compact.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EACL,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAE9B,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAElD,MAAM,eAAe,GAAG;IACtB,4BAA4B;IAC5B,wBAAwB;CAChB,CAAC;AACX,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAK,CAAC;AACpD,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAc7C,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACrB,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,KAAyC;IAEzC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACtB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,sCAAsC,EAAE,CAAC;IAC3E,CAAC;IAED,MAAM,IAAI,GAAG,wBAAwB,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"plan-implement-compact.js","sourceRoot":"","sources":["../../src/agent/plan-implement-compact.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { createThinkingStreamParser } from "../../../ui/thinking.js";
|
|
|
2
2
|
import { parseAllToolCalls } from "../../tool-call-parser.js";
|
|
3
3
|
import { canonicalizeTurnCall } from "./canonicalize-turn-call.js";
|
|
4
4
|
import { fromWireName } from "../../../llm/tool-protocol.js";
|
|
5
|
-
import { isProviderFailureStatus } from "../../../llm/key-rotation.js";
|
|
5
|
+
import { isProviderFailureStatus, providerWaitLabel } from "../../../llm/key-rotation.js";
|
|
6
6
|
const HEARTBEAT_MS = 10_000;
|
|
7
7
|
const LARGE_ARGS_BYTES = 4096;
|
|
8
8
|
const streamPhase = (state) => {
|
|
@@ -43,6 +43,7 @@ const applyThinkingTransitions = (ports, state, token) => {
|
|
|
43
43
|
}
|
|
44
44
|
};
|
|
45
45
|
const applyReasoningDelta = (ports, state, text) => {
|
|
46
|
+
state.waitingForProvider = false;
|
|
46
47
|
state.streamedReasoningText += text;
|
|
47
48
|
state.typedReasoningOpen = true;
|
|
48
49
|
state.sawReasoning = true;
|
|
@@ -57,8 +58,31 @@ const applyReasoningDelta = (ports, state, text) => {
|
|
|
57
58
|
const toolCallDeltaStatus = (name, argumentsBytes) => argumentsBytes && argumentsBytes >= LARGE_ARGS_BYTES
|
|
58
59
|
? `${name} (${Math.round(argumentsBytes / 1024)}KB args)`
|
|
59
60
|
: name;
|
|
61
|
+
const routeProviderStatus = (ports, state, status) => {
|
|
62
|
+
const full = status.replace(/\s+/g, " ").trim();
|
|
63
|
+
if (!full)
|
|
64
|
+
return;
|
|
65
|
+
const waiting = providerWaitLabel(full);
|
|
66
|
+
if (waiting) {
|
|
67
|
+
state.waitingForProvider = true;
|
|
68
|
+
state.emittedThinkingStatus = false;
|
|
69
|
+
ports.writeStatus(waiting);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const warning = !full.startsWith("ℹ") &&
|
|
73
|
+
(isProviderFailureStatus(full) || /\b(?:error|failed|exception)\b/i.test(full));
|
|
74
|
+
ports.notify(warning ? "warn" : "info", full);
|
|
75
|
+
};
|
|
76
|
+
const createSessionDeltaParser = (ports, state) => createThinkingStreamParser(ports.emitAssistantDelta, (text) => {
|
|
77
|
+
if (!state.emittedThinkingStatus) {
|
|
78
|
+
state.emittedThinkingStatus = true;
|
|
79
|
+
ports.emitStatus("thinking");
|
|
80
|
+
}
|
|
81
|
+
ports.emitThinkingDelta(text);
|
|
82
|
+
});
|
|
60
83
|
export const createStreamSession = (ports) => {
|
|
61
84
|
const state = {
|
|
85
|
+
waitingForProvider: false,
|
|
62
86
|
sawReasoning: false,
|
|
63
87
|
inThinking: false,
|
|
64
88
|
emittedThinkingStatus: false,
|
|
@@ -71,15 +95,10 @@ export const createStreamSession = (ports) => {
|
|
|
71
95
|
const deferredToolCalls = [];
|
|
72
96
|
const streamedNativeCallNames = new Map();
|
|
73
97
|
const callIds = [];
|
|
74
|
-
const deltaParser =
|
|
75
|
-
if (!state.emittedThinkingStatus) {
|
|
76
|
-
state.emittedThinkingStatus = true;
|
|
77
|
-
ports.emitStatus("thinking");
|
|
78
|
-
}
|
|
79
|
-
ports.emitThinkingDelta(text);
|
|
80
|
-
});
|
|
98
|
+
const deltaParser = createSessionDeltaParser(ports, state);
|
|
81
99
|
const heartbeat = setInterval(() => {
|
|
82
|
-
|
|
100
|
+
if (!state.waitingForProvider)
|
|
101
|
+
ports.emitStatus(streamPhase(state));
|
|
83
102
|
}, HEARTBEAT_MS);
|
|
84
103
|
heartbeat.unref?.();
|
|
85
104
|
return {
|
|
@@ -90,6 +109,9 @@ export const createStreamSession = (ports) => {
|
|
|
90
109
|
streamedNativeCallNames,
|
|
91
110
|
callIds,
|
|
92
111
|
onToken: (token) => {
|
|
112
|
+
if (!token)
|
|
113
|
+
return;
|
|
114
|
+
state.waitingForProvider = false;
|
|
93
115
|
deltaParser.push(token);
|
|
94
116
|
state.generatedTokens += 1;
|
|
95
117
|
state.accumulatedText += token;
|
|
@@ -98,24 +120,7 @@ export const createStreamSession = (ports) => {
|
|
|
98
120
|
}
|
|
99
121
|
applyThinkingTransitions(ports, state, token);
|
|
100
122
|
},
|
|
101
|
-
onStatus: (status) =>
|
|
102
|
-
const full = status.replace(/\s+/g, " ").trim();
|
|
103
|
-
if (!full)
|
|
104
|
-
return;
|
|
105
|
-
if (full.startsWith("ℹ")) {
|
|
106
|
-
ports.notify("info", full);
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
if (isProviderFailureStatus(full)) {
|
|
110
|
-
ports.notify("warn", full);
|
|
111
|
-
return;
|
|
112
|
-
}
|
|
113
|
-
if (full.length > 80 && /error|failed|exception/i.test(full)) {
|
|
114
|
-
ports.notify("warn", full);
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
ports.writeStatus(status);
|
|
118
|
-
},
|
|
123
|
+
onStatus: (status) => routeProviderStatus(ports, state, status),
|
|
119
124
|
onStreamEvent: (event) => {
|
|
120
125
|
if (event.type !== "reasoning_delta")
|
|
121
126
|
return;
|
|
@@ -124,6 +129,7 @@ export const createStreamSession = (ports) => {
|
|
|
124
129
|
onToolCallDelta: (delta) => {
|
|
125
130
|
if (!delta.name)
|
|
126
131
|
return;
|
|
132
|
+
state.waitingForProvider = false;
|
|
127
133
|
const name = fromWireName(delta.name) ?? delta.name;
|
|
128
134
|
streamedNativeCallNames.set(delta.index, name);
|
|
129
135
|
ports.emitStatus(toolCallDeltaStatus(name, delta.argumentsBytes));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-session.js","sourceRoot":"","sources":["../../../../src/agent/turn/loop/stream-session.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAA8B,MAAM,6BAA6B,CAAC;AAC/F,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"stream-session.js","sourceRoot":"","sources":["../../../../src/agent/turn/loop/stream-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,7 +44,7 @@ const runPrompts = async (input, ports) => {
|
|
|
44
44
|
if ((input.level !== "confirm" && !forceConfirm) || (needsPentestAuth && !forceConfirm)) {
|
|
45
45
|
return { kind: "proceed", pentestJustConfirmed: needsPentestAuth };
|
|
46
46
|
}
|
|
47
|
-
const confirmed = await confirmToolExecution(input.call, forceConfirm ? false : ports.autoConfirm, ports.session, ports.confirmPort,
|
|
47
|
+
const confirmed = await confirmToolExecution(input.call, forceConfirm ? false : ports.autoConfirm, ports.session, ports.confirmPort, { forceConfirm, reason: input.reason });
|
|
48
48
|
restoreInteractiveStdin();
|
|
49
49
|
if (!confirmed)
|
|
50
50
|
return refused(input, ports, "Cancelled.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authorization.js","sourceRoot":"","sources":["../../../../src/agent/turn/tool-execution/authorization.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"authorization.js","sourceRoot":"","sources":["../../../../src/agent/turn/tool-execution/authorization.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,10 +16,10 @@ export function createCurrentPersistencePort() {
|
|
|
16
16
|
}
|
|
17
17
|
: undefined;
|
|
18
18
|
if (options?.sessionId) {
|
|
19
|
-
await upsertSession(options.sessionId, list, options.name, transcript, contextUsage, options.revision, options.writerGeneration, options.previousTurn, sessionModel, options.location);
|
|
19
|
+
await upsertSession(options.sessionId, list, options.name, transcript, contextUsage, options.revision, options.writerGeneration, options.previousTurn, sessionModel, options.location, options.changes);
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
22
|
-
await saveSession(list, options?.name, transcript, contextUsage, options?.revision, options?.writerGeneration, options?.previousTurn, sessionModel, options?.location);
|
|
22
|
+
await saveSession(list, options?.name, transcript, contextUsage, options?.revision, options?.writerGeneration, options?.previousTurn, sessionModel, options?.location, options?.changes);
|
|
23
23
|
},
|
|
24
24
|
loadPlan: (sessionId) => loadPlan(sessionId),
|
|
25
25
|
savePlan: (plan) => savePlan(plan),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"current-store-adapter.js","sourceRoot":"","sources":["../../../src/app/adapters/current-store-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAIjF,MAAM,UAAU,4BAA4B;IAC1C,OAAO;QACL,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO;YACjC,MAAM,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC3B,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU;gBACpC,CAAC,CAAE,CAAC,GAAG,OAAO,CAAC,UAAU,CAAsB;gBAC/C,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,CAAC;YAC3C,MAAM,YAAY,GAChB,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,QAAQ;gBACtD,CAAC,CAAC;oBACE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3D,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClD,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnE;gBACH,CAAC,CAAC,SAAS,CAAC;YAChB,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;gBACvB,MAAM,aAAa,CACjB,OAAO,CAAC,SAAS,EACjB,IAAI,EACJ,OAAO,CAAC,IAAI,EACZ,UAAU,EACV,YAAY,EACZ,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,gBAAgB,EACxB,OAAO,CAAC,YAAY,EACpB,YAAY,EACZ,OAAO,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"current-store-adapter.js","sourceRoot":"","sources":["../../../src/app/adapters/current-store-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAIjF,MAAM,UAAU,4BAA4B;IAC1C,OAAO;QACL,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO;YACjC,MAAM,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC3B,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU;gBACpC,CAAC,CAAE,CAAC,GAAG,OAAO,CAAC,UAAU,CAAsB;gBAC/C,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,CAAC;YAC3C,MAAM,YAAY,GAChB,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,QAAQ;gBACtD,CAAC,CAAC;oBACE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3D,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClD,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnE;gBACH,CAAC,CAAC,SAAS,CAAC;YAChB,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;gBACvB,MAAM,aAAa,CACjB,OAAO,CAAC,SAAS,EACjB,IAAI,EACJ,OAAO,CAAC,IAAI,EACZ,UAAU,EACV,YAAY,EACZ,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,gBAAgB,EACxB,OAAO,CAAC,YAAY,EACpB,YAAY,EACZ,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,OAAO,CAChB,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,WAAW,CACf,IAAI,EACJ,OAAO,EAAE,IAAI,EACb,UAAU,EACV,YAAY,EACZ,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,YAAY,EACrB,YAAY,EACZ,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,OAAO,CACjB,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;QAClC,UAAU,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC;QAClE,UAAU,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;KACjD,CAAC;AACJ,CAAC"}
|
|
@@ -86,6 +86,7 @@ export const slashCommands = [
|
|
|
86
86
|
},
|
|
87
87
|
{ command: "/save", usage: "<name>", description: "save session" },
|
|
88
88
|
{ command: "/prompts", description: "browse this session's user prompts with timestamps, models, providers, and effort" },
|
|
89
|
+
{ command: "/changes", description: "show this session's total line additions and removals, grouped by file" },
|
|
89
90
|
{ command: "/reset", description: "clear all saved history" },
|
|
90
91
|
{ command: "/cwd", usage: "<path>", description: "change working directory" },
|
|
91
92
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/app/commands/catalog.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/app/commands/catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { FileChange } from "../../tools/file-diff.js";
|
|
2
|
+
import type { TranscriptItem } from "../ports/transcript-item.js";
|
|
3
|
+
export interface LineChangeTotals {
|
|
4
|
+
readonly added: number;
|
|
5
|
+
readonly removed: number;
|
|
6
|
+
}
|
|
7
|
+
export interface FileLineChanges extends LineChangeTotals {
|
|
8
|
+
readonly path: string;
|
|
9
|
+
}
|
|
10
|
+
export interface SessionChangesReport {
|
|
11
|
+
readonly totals: LineChangeTotals | undefined;
|
|
12
|
+
readonly files: readonly FileLineChanges[];
|
|
13
|
+
}
|
|
14
|
+
export declare function validLineChangeTotals(value: unknown): value is LineChangeTotals;
|
|
15
|
+
export declare function sumLineChanges(values: Iterable<LineChangeTotals>): LineChangeTotals | undefined;
|
|
16
|
+
export declare function fileLineChanges(changes: readonly FileChange[] | undefined): FileLineChanges[];
|
|
17
|
+
export declare class SessionChanges {
|
|
18
|
+
private readonly files;
|
|
19
|
+
private readonly recorded;
|
|
20
|
+
record(toolCallId: string, changes: readonly FileChange[] | undefined): void;
|
|
21
|
+
restore(saved?: readonly FileLineChanges[], transcript?: readonly TranscriptItem[]): void;
|
|
22
|
+
snapshot(): SessionChangesReport;
|
|
23
|
+
private add;
|
|
24
|
+
}
|