@code-yeongyu/senpi 2026.7.30 → 2026.7.31-2
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 +182 -0
- package/README.md +3 -0
- package/dist/core/agent-session.d.ts +55 -12
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +141 -21
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts +1 -0
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +1 -0
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/dynamic-prompt/build.d.ts.map +1 -1
- package/dist/core/dynamic-prompt/build.js +4 -0
- package/dist/core/dynamic-prompt/build.js.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/account-command.d.ts +2 -2
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/account-command.d.ts.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/account-command.js +25 -25
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/account-command.js.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/account-events.d.ts.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/account-events.js.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/account-management.d.ts +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/account-management.d.ts.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/account-management.js +2 -2
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/account-management.js.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/accounts.d.ts +9 -9
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/accounts.d.ts.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/accounts.js +2 -2
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/accounts.js.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/affinity.d.ts +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/affinity.d.ts.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/affinity.js +3 -3
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/affinity.js.map +1 -1
- package/dist/core/extensions/builtin/claude-sdk-oauth/auth-attempt.d.ts +21 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/auth-attempt.d.ts.map +1 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/auth-attempt.js +30 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/auth-attempt.js.map +1 -0
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/auth-lane.d.ts +8 -4
- package/dist/core/extensions/builtin/claude-sdk-oauth/auth-lane.d.ts.map +1 -0
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/auth-lane.js +34 -25
- package/dist/core/extensions/builtin/claude-sdk-oauth/auth-lane.js.map +1 -0
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/custom-tools-schema.d.ts.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/custom-tools-schema.js.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/custom-tools.d.ts.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/custom-tools.js.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/errors.d.ts +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/errors.d.ts.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/errors.js +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/errors.js.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/executable.d.ts.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/executable.js.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/failover.d.ts.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/failover.js +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/failover.js.map +1 -1
- package/dist/core/extensions/builtin/claude-sdk-oauth/guidance.d.ts +14 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/guidance.d.ts.map +1 -0
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/guidance.js +37 -1
- package/dist/core/extensions/builtin/claude-sdk-oauth/guidance.js.map +1 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/index.d.ts +4 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/index.js +12 -10
- package/dist/core/extensions/builtin/claude-sdk-oauth/index.js.map +1 -0
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/oauth-login.d.ts +3 -3
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/oauth-login.d.ts.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/oauth-login.js +2 -2
- package/dist/core/extensions/builtin/claude-sdk-oauth/oauth-login.js.map +1 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/options.d.ts +18 -0
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/options.d.ts.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/options.js +70 -10
- package/dist/core/extensions/builtin/claude-sdk-oauth/options.js.map +1 -0
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/prompt-bridge.d.ts.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/prompt-bridge.js +32 -19
- package/dist/core/extensions/builtin/claude-sdk-oauth/prompt-bridge.js.map +1 -0
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/sdk-boundary.d.ts +1 -0
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/sdk-boundary.d.ts.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/sdk-boundary.js.map +1 -1
- package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-pump.d.ts +30 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-pump.d.ts.map +1 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-pump.js +197 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-pump.js.map +1 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-state.d.ts +18 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-state.d.ts.map +1 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-state.js +33 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-state.js.map +1 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-wiring.d.ts +3 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-wiring.d.ts.map +1 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-wiring.js +134 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-wiring.js.map +1 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry.d.ts +85 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry.d.ts.map +1 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry.js +270 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry.js.map +1 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/session-stream.d.ts +17 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/session-stream.d.ts.map +1 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/session-stream.js +217 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/session-stream.js.map +1 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/session-sync.d.ts +49 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/session-sync.d.ts.map +1 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/session-sync.js +204 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/session-sync.js.map +1 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/settings.d.ts +28 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/settings.d.ts.map +1 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/settings.js +107 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/settings.js.map +1 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/stream-guidance.d.ts +2 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/stream-guidance.d.ts.map +1 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/stream-guidance.js +10 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/stream-guidance.js.map +1 -0
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/stream-protocol.d.ts.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/stream-protocol.js.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/stream.d.ts +1 -1
- package/dist/core/extensions/builtin/claude-sdk-oauth/stream.d.ts.map +1 -0
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/stream.js +72 -53
- package/dist/core/extensions/builtin/claude-sdk-oauth/stream.js.map +1 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/system-prompt.d.ts +3 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/system-prompt.d.ts.map +1 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/system-prompt.js +25 -0
- package/dist/core/extensions/builtin/claude-sdk-oauth/system-prompt.js.map +1 -0
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/tool-watch.d.ts +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/tool-watch.d.ts.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/tool-watch.js +2 -2
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/tool-watch.js.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/tools.d.ts.map +1 -1
- package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/tools.js.map +1 -1
- package/dist/core/extensions/builtin/compaction/deterministic-fallback.d.ts +18 -0
- package/dist/core/extensions/builtin/compaction/deterministic-fallback.d.ts.map +1 -0
- package/dist/core/extensions/builtin/compaction/deterministic-fallback.js +69 -0
- package/dist/core/extensions/builtin/compaction/deterministic-fallback.js.map +1 -0
- package/dist/core/extensions/builtin/compaction/idle.d.ts +16 -0
- package/dist/core/extensions/builtin/compaction/idle.d.ts.map +1 -0
- package/dist/core/extensions/builtin/compaction/idle.js +21 -0
- package/dist/core/extensions/builtin/compaction/idle.js.map +1 -0
- package/dist/core/extensions/builtin/compaction/index.d.ts.map +1 -1
- package/dist/core/extensions/builtin/compaction/index.js +45 -2
- package/dist/core/extensions/builtin/compaction/index.js.map +1 -1
- package/dist/core/extensions/builtin/compaction/log.d.ts +1 -1
- package/dist/core/extensions/builtin/compaction/log.d.ts.map +1 -1
- package/dist/core/extensions/builtin/compaction/log.js.map +1 -1
- package/dist/core/extensions/builtin/compaction/openai-remote.d.ts +3 -0
- package/dist/core/extensions/builtin/compaction/openai-remote.d.ts.map +1 -1
- package/dist/core/extensions/builtin/compaction/openai-remote.js +15 -4
- package/dist/core/extensions/builtin/compaction/openai-remote.js.map +1 -1
- package/dist/core/extensions/builtin/compaction/speculative.d.ts +4 -1
- package/dist/core/extensions/builtin/compaction/speculative.d.ts.map +1 -1
- package/dist/core/extensions/builtin/compaction/speculative.js +39 -20
- package/dist/core/extensions/builtin/compaction/speculative.js.map +1 -1
- package/dist/core/extensions/builtin/compaction/task-intent.d.ts +2 -6
- package/dist/core/extensions/builtin/compaction/task-intent.d.ts.map +1 -1
- package/dist/core/extensions/builtin/compaction/task-intent.js +10 -9
- package/dist/core/extensions/builtin/compaction/task-intent.js.map +1 -1
- package/dist/core/extensions/builtin/goal/continuation-recovery.d.ts +6 -0
- package/dist/core/extensions/builtin/goal/continuation-recovery.d.ts.map +1 -0
- package/dist/core/extensions/builtin/goal/continuation-recovery.js +20 -0
- package/dist/core/extensions/builtin/goal/continuation-recovery.js.map +1 -0
- package/dist/core/extensions/builtin/goal/continuation.d.ts +4 -4
- package/dist/core/extensions/builtin/goal/continuation.d.ts.map +1 -1
- package/dist/core/extensions/builtin/goal/continuation.js +14 -8
- package/dist/core/extensions/builtin/goal/continuation.js.map +1 -1
- package/dist/core/extensions/builtin/goal/direct-input-lifecycle.d.ts +19 -0
- package/dist/core/extensions/builtin/goal/direct-input-lifecycle.d.ts.map +1 -0
- package/dist/core/extensions/builtin/goal/direct-input-lifecycle.js +48 -0
- package/dist/core/extensions/builtin/goal/direct-input-lifecycle.js.map +1 -0
- package/dist/core/extensions/builtin/goal/index.d.ts.map +1 -1
- package/dist/core/extensions/builtin/goal/index.js +21 -16
- package/dist/core/extensions/builtin/goal/index.js.map +1 -1
- package/dist/core/extensions/builtin/goal/lifecycle-helpers.d.ts.map +1 -1
- package/dist/core/extensions/builtin/goal/lifecycle-helpers.js +12 -10
- package/dist/core/extensions/builtin/goal/lifecycle-helpers.js.map +1 -1
- package/dist/core/extensions/builtin/goal/monitor-continuation.d.ts +5 -1
- package/dist/core/extensions/builtin/goal/monitor-continuation.d.ts.map +1 -1
- package/dist/core/extensions/builtin/goal/monitor-continuation.js +109 -63
- package/dist/core/extensions/builtin/goal/monitor-continuation.js.map +1 -1
- package/dist/core/extensions/builtin/goal/persistence.d.ts +1 -0
- package/dist/core/extensions/builtin/goal/persistence.d.ts.map +1 -1
- package/dist/core/extensions/builtin/goal/persistence.js +49 -7
- package/dist/core/extensions/builtin/goal/persistence.js.map +1 -1
- package/dist/core/extensions/builtin/goal/ui.d.ts +1 -0
- package/dist/core/extensions/builtin/goal/ui.d.ts.map +1 -1
- package/dist/core/extensions/builtin/goal/ui.js +11 -2
- package/dist/core/extensions/builtin/goal/ui.js.map +1 -1
- package/dist/core/extensions/builtin/gpt-apply-patch/apply.d.ts +1 -1
- package/dist/core/extensions/builtin/gpt-apply-patch/apply.d.ts.map +1 -1
- package/dist/core/extensions/builtin/gpt-apply-patch/apply.js +67 -66
- package/dist/core/extensions/builtin/gpt-apply-patch/apply.js.map +1 -1
- package/dist/core/extensions/builtin/gpt-apply-patch/recovery.d.ts +4 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/recovery.d.ts.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/recovery.js +35 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/recovery.js.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/tool.d.ts.map +1 -1
- package/dist/core/extensions/builtin/gpt-apply-patch/tool.js +0 -5
- package/dist/core/extensions/builtin/gpt-apply-patch/tool.js.map +1 -1
- package/dist/core/extensions/builtin/gpt-apply-patch/types.d.ts +2 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/types.d.ts.map +1 -1
- package/dist/core/extensions/builtin/gpt-apply-patch/types.js.map +1 -1
- package/dist/core/extensions/builtin/index.d.ts.map +1 -1
- package/dist/core/extensions/builtin/index.js +5 -2
- package/dist/core/extensions/builtin/index.js.map +1 -1
- package/dist/core/extensions/builtin/loop-guard/detectors.d.ts +31 -0
- package/dist/core/extensions/builtin/loop-guard/detectors.d.ts.map +1 -0
- package/dist/core/extensions/builtin/loop-guard/detectors.js +111 -0
- package/dist/core/extensions/builtin/loop-guard/detectors.js.map +1 -0
- package/dist/core/extensions/builtin/loop-guard/index.d.ts +3 -0
- package/dist/core/extensions/builtin/loop-guard/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/loop-guard/index.js +31 -0
- package/dist/core/extensions/builtin/loop-guard/index.js.map +1 -0
- package/dist/core/extensions/builtin/loop-guard/notice.d.ts +5 -0
- package/dist/core/extensions/builtin/loop-guard/notice.d.ts.map +1 -0
- package/dist/core/extensions/builtin/loop-guard/notice.js +42 -0
- package/dist/core/extensions/builtin/loop-guard/notice.js.map +1 -0
- package/dist/core/extensions/builtin/loop-guard/policy.d.ts +30 -0
- package/dist/core/extensions/builtin/loop-guard/policy.d.ts.map +1 -0
- package/dist/core/extensions/builtin/loop-guard/policy.js +30 -0
- package/dist/core/extensions/builtin/loop-guard/policy.js.map +1 -0
- package/dist/core/extensions/builtin/loop-guard/renderer.d.ts +4 -0
- package/dist/core/extensions/builtin/loop-guard/renderer.d.ts.map +1 -0
- package/dist/core/extensions/builtin/loop-guard/renderer.js +50 -0
- package/dist/core/extensions/builtin/loop-guard/renderer.js.map +1 -0
- package/dist/core/extensions/builtin/loop-guard/similarity.d.ts +13 -0
- package/dist/core/extensions/builtin/loop-guard/similarity.d.ts.map +1 -0
- package/dist/core/extensions/builtin/loop-guard/similarity.js +51 -0
- package/dist/core/extensions/builtin/loop-guard/similarity.js.map +1 -0
- package/dist/core/extensions/builtin/loop-guard/tracker.d.ts +13 -0
- package/dist/core/extensions/builtin/loop-guard/tracker.d.ts.map +1 -0
- package/dist/core/extensions/builtin/loop-guard/tracker.js +39 -0
- package/dist/core/extensions/builtin/loop-guard/tracker.js.map +1 -0
- package/dist/core/extensions/builtin/monitor-state-event.d.ts +10 -0
- package/dist/core/extensions/builtin/monitor-state-event.d.ts.map +1 -1
- package/dist/core/extensions/builtin/monitor-state-event.js.map +1 -1
- package/dist/core/extensions/builtin/prompt-preset/index.d.ts.map +1 -1
- package/dist/core/extensions/builtin/prompt-preset/index.js +8 -4
- package/dist/core/extensions/builtin/prompt-preset/index.js.map +1 -1
- package/dist/core/extensions/builtin/rules/index.js +4 -3
- package/dist/core/extensions/builtin/rules/index.js.map +1 -1
- package/dist/core/extensions/builtin/rules/rules/constants.d.ts +11 -0
- package/dist/core/extensions/builtin/rules/rules/constants.d.ts.map +1 -1
- package/dist/core/extensions/builtin/rules/rules/constants.js +11 -0
- package/dist/core/extensions/builtin/rules/rules/constants.js.map +1 -1
- package/dist/core/extensions/builtin/rules/rules/formatter.d.ts.map +1 -1
- package/dist/core/extensions/builtin/rules/rules/formatter.js +15 -1
- package/dist/core/extensions/builtin/rules/rules/formatter.js.map +1 -1
- package/dist/core/extensions/builtin/service-tier.d.ts.map +1 -1
- package/dist/core/extensions/builtin/service-tier.js +23 -21
- package/dist/core/extensions/builtin/service-tier.js.map +1 -1
- package/dist/core/extensions/builtin/terminal/extension.d.ts.map +1 -1
- package/dist/core/extensions/builtin/terminal/extension.js +21 -7
- package/dist/core/extensions/builtin/terminal/extension.js.map +1 -1
- package/dist/core/extensions/builtin/terminal/monitor-registry.d.ts +2 -0
- package/dist/core/extensions/builtin/terminal/monitor-registry.d.ts.map +1 -1
- package/dist/core/extensions/builtin/terminal/monitor-registry.js +2 -0
- package/dist/core/extensions/builtin/terminal/monitor-registry.js.map +1 -1
- package/dist/core/extensions/builtin/terminal/monitor-status-ticker.d.ts +37 -0
- package/dist/core/extensions/builtin/terminal/monitor-status-ticker.d.ts.map +1 -0
- package/dist/core/extensions/builtin/terminal/monitor-status-ticker.js +61 -0
- package/dist/core/extensions/builtin/terminal/monitor-status-ticker.js.map +1 -0
- package/dist/core/extensions/builtin/terminal/monitor-status.d.ts +9 -1
- package/dist/core/extensions/builtin/terminal/monitor-status.d.ts.map +1 -1
- package/dist/core/extensions/builtin/terminal/monitor-status.js +35 -2
- package/dist/core/extensions/builtin/terminal/monitor-status.js.map +1 -1
- package/dist/core/extensions/builtin/tool-pair-guard/sanitize-anthropic-payload.d.ts +1 -1
- package/dist/core/extensions/builtin/tool-pair-guard/sanitize-anthropic-payload.d.ts.map +1 -1
- package/dist/core/extensions/builtin/tool-pair-guard/sanitize-anthropic-payload.js +88 -29
- package/dist/core/extensions/builtin/tool-pair-guard/sanitize-anthropic-payload.js.map +1 -1
- package/dist/core/extensions/builtin/ttsr/builtin-rules.d.ts +4 -0
- package/dist/core/extensions/builtin/ttsr/builtin-rules.d.ts.map +1 -0
- package/dist/core/extensions/builtin/ttsr/builtin-rules.js +20 -0
- package/dist/core/extensions/builtin/ttsr/builtin-rules.js.map +1 -0
- package/dist/core/extensions/builtin/ttsr/commands.js +9 -1
- package/dist/core/extensions/builtin/ttsr/commands.js.map +1 -1
- package/dist/core/extensions/builtin/ttsr/index.d.ts.map +1 -1
- package/dist/core/extensions/builtin/ttsr/index.js +4 -3
- package/dist/core/extensions/builtin/ttsr/index.js.map +1 -1
- package/dist/core/extensions/builtin/ttsr/manager.js +1 -1
- package/dist/core/extensions/builtin/ttsr/manager.js.map +1 -1
- package/dist/core/extensions/builtin/websearch/websearch/renderers.d.ts.map +1 -1
- package/dist/core/extensions/builtin/websearch/websearch/renderers.js +1 -1
- package/dist/core/extensions/builtin/websearch/websearch/renderers.js.map +1 -1
- package/dist/core/extensions/builtin/websearch/websearch/search.d.ts.map +1 -1
- package/dist/core/extensions/builtin/websearch/websearch/search.js +1 -3
- package/dist/core/extensions/builtin/websearch/websearch/search.js.map +1 -1
- package/dist/core/extensions/index.d.ts +1 -1
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +5 -0
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +1 -1
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +3 -1
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +22 -1
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/high-reasoning-warning.d.ts +10 -0
- package/dist/core/high-reasoning-warning.d.ts.map +1 -0
- package/dist/core/high-reasoning-warning.js +28 -0
- package/dist/core/high-reasoning-warning.js.map +1 -0
- package/dist/core/model-runtime.d.ts.map +1 -1
- package/dist/core/model-runtime.js +3 -11
- package/dist/core/model-runtime.js.map +1 -1
- package/dist/core/settings-manager.d.ts +2 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +1 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/thinking-levels.d.ts.map +1 -1
- package/dist/core/thinking-levels.js +23 -3
- package/dist/core/thinking-levels.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/modes/app-server/server/account.d.ts +1 -1
- package/dist/modes/app-server/server/account.js +1 -1
- package/dist/modes/app-server/server/account.js.map +1 -1
- package/dist/modes/app-server/server/server-core.js +1 -1
- package/dist/modes/app-server/server/server-core.js.map +1 -1
- package/dist/modes/interactive/compaction-queue-transfer.d.ts +2 -0
- package/dist/modes/interactive/compaction-queue-transfer.d.ts.map +1 -1
- package/dist/modes/interactive/compaction-queue-transfer.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +9 -5
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +8 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +96 -24
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/risky-main-model-warning.d.ts +5 -0
- package/dist/modes/interactive/risky-main-model-warning.d.ts.map +1 -0
- package/dist/modes/interactive/risky-main-model-warning.js +8 -0
- package/dist/modes/interactive/risky-main-model-warning.js.map +1 -0
- package/dist/modes/interactive/tips/catalog/subagent-tips.d.ts.map +1 -1
- package/dist/modes/interactive/tips/catalog/subagent-tips.js +30 -0
- package/dist/modes/interactive/tips/catalog/subagent-tips.js.map +1 -1
- package/dist/modes/rpc/connection-handler.js +3 -3
- package/dist/modes/rpc/connection-handler.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +6 -0
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js +22 -2
- package/dist/utils/version-check.js.map +1 -1
- package/docs/docs.json +4 -0
- package/docs/extensions.md +10 -0
- package/docs/providers.md +21 -5
- package/docs/quickstart.md +3 -0
- package/docs/release-guide.md +636 -0
- package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +39 -0
- package/node_modules/@code-yeongyu/senpi-codemode/package.json +3 -3
- package/node_modules/@code-yeongyu/senpi-codemode/src/extension/eval-status-ticker.ts +79 -0
- package/node_modules/@code-yeongyu/senpi-codemode/src/extension/eval-status.ts +36 -3
- package/node_modules/@code-yeongyu/senpi-codemode/src/index.ts +26 -12
- package/node_modules/@code-yeongyu/senpi-codemode/src/tool/detached-cell-manager.ts +9 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +3 -2
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/empty-assistant-recovery.d.ts +4 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/empty-assistant-recovery.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/empty-assistant-recovery.js +106 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/empty-assistant-recovery.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/stream-fn.d.ts +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/stream-fn.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/stream-fn.js +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/stream-fn.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/package.json +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js +10 -15
- package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/index.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/index.js +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/models.d.ts +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/models.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/models.js +69 -19
- package/node_modules/@earendil-works/pi-ai/dist/models.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/amazon-bedrock.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/azure-openai-responses.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/huggingface.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/openai.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode-go.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/index.d.ts +2 -1
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/index.js +13 -0
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/kimi-xtml/recovery-stream.js +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/kimi-xtml/recovery-stream.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/kimi-xtml/thinking-recovery-stream.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/kimi-xtml/thinking-recovery-stream.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/kimi-xtml/thinking-recovery-stream.js +29 -0
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/kimi-xtml/thinking-recovery-stream.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/kimi-xtml/thinking-recovery.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/kimi-xtml/thinking-recovery.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/kimi-xtml/thinking-recovery.js +82 -0
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/kimi-xtml/thinking-recovery.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +5 -0
- package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/unavailable-tool-text.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/unavailable-tool-text.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/unavailable-tool-text.js +36 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/unavailable-tool-text.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/package.json +1 -1
- package/node_modules/@earendil-works/pi-pty/package.json +1 -1
- package/node_modules/@earendil-works/pi-tui/package.json +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/index.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/index.js +1 -12
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/index.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.d.ts +7 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.js +9 -3
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.js +5 -3
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/index.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/index.js +1 -12
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/index.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.d.ts +5 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.d.ts.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.js +17 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.js.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.d.ts +9 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.js +10 -4
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.d.ts +21 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.js +239 -41
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-compat.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-compat.js +25 -6
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-compat.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.d.ts +32 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.d.ts.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.js +64 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.js.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.d.ts +5 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.js +10 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js +2 -13
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.d.ts +7 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.js +9 -3
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js +5 -3
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +2 -13
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.d.ts +5 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.d.ts.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.js +13 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.js.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.d.ts +9 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js +10 -4
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.d.ts +21 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.js +239 -41
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +25 -6
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.d.ts +32 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.d.ts.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.js +57 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.js.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.d.ts +5 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js +9 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/package.json +4 -3
- package/node_modules/brace-expansion/README.md +12 -0
- package/node_modules/brace-expansion/dist/commonjs/index.d.ts +2 -0
- package/node_modules/brace-expansion/dist/commonjs/index.d.ts.map +1 -1
- package/node_modules/brace-expansion/dist/commonjs/index.js +138 -86
- package/node_modules/brace-expansion/dist/commonjs/index.js.map +1 -1
- package/node_modules/brace-expansion/dist/esm/index.d.ts +2 -0
- package/node_modules/brace-expansion/dist/esm/index.d.ts.map +1 -1
- package/node_modules/brace-expansion/dist/esm/index.js +137 -85
- package/node_modules/brace-expansion/dist/esm/index.js.map +1 -1
- package/node_modules/brace-expansion/package.json +2 -2
- package/package.json +7 -7
- package/dist/core/extensions/builtin/claude-agent-sdk/auth-lane.d.ts.map +0 -1
- package/dist/core/extensions/builtin/claude-agent-sdk/auth-lane.js.map +0 -1
- package/dist/core/extensions/builtin/claude-agent-sdk/guidance.d.ts +0 -6
- package/dist/core/extensions/builtin/claude-agent-sdk/guidance.d.ts.map +0 -1
- package/dist/core/extensions/builtin/claude-agent-sdk/guidance.js.map +0 -1
- package/dist/core/extensions/builtin/claude-agent-sdk/index.d.ts +0 -4
- package/dist/core/extensions/builtin/claude-agent-sdk/index.d.ts.map +0 -1
- package/dist/core/extensions/builtin/claude-agent-sdk/index.js.map +0 -1
- package/dist/core/extensions/builtin/claude-agent-sdk/oauth-login.js.map +0 -1
- package/dist/core/extensions/builtin/claude-agent-sdk/options.d.ts +0 -16
- package/dist/core/extensions/builtin/claude-agent-sdk/options.js.map +0 -1
- package/dist/core/extensions/builtin/claude-agent-sdk/prompt-bridge.js.map +0 -1
- package/dist/core/extensions/builtin/claude-agent-sdk/settings.d.ts +0 -15
- package/dist/core/extensions/builtin/claude-agent-sdk/settings.d.ts.map +0 -1
- package/dist/core/extensions/builtin/claude-agent-sdk/settings.js +0 -41
- package/dist/core/extensions/builtin/claude-agent-sdk/settings.js.map +0 -1
- package/dist/core/extensions/builtin/claude-agent-sdk/stream.d.ts.map +0 -1
- package/dist/core/extensions/builtin/claude-agent-sdk/stream.js.map +0 -1
- /package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/account-events.d.ts +0 -0
- /package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/account-events.js +0 -0
- /package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/custom-tools-schema.d.ts +0 -0
- /package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/custom-tools-schema.js +0 -0
- /package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/custom-tools.d.ts +0 -0
- /package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/custom-tools.js +0 -0
- /package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/executable.d.ts +0 -0
- /package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/executable.js +0 -0
- /package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/failover.d.ts +0 -0
- /package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/prompt-bridge.d.ts +0 -0
- /package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/sdk-boundary.js +0 -0
- /package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/stream-protocol.d.ts +0 -0
- /package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/stream-protocol.js +0 -0
- /package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/tools.d.ts +0 -0
- /package/dist/core/extensions/builtin/{claude-agent-sdk → claude-sdk-oauth}/tools.js +0 -0
|
@@ -34,6 +34,7 @@ import { createToolHtmlRenderer } from "./export-html/tool-renderer.js";
|
|
|
34
34
|
import { ExecuteToolError, ExtensionRunner, wrapRegisteredTools, } from "./extensions/index.js";
|
|
35
35
|
import { emitSessionShutdownEvent } from "./extensions/runner.js";
|
|
36
36
|
import { RUNTIME_EXTENSION_PATH } from "./extensions/types.js";
|
|
37
|
+
import { shouldWarnHighReasoning } from "./high-reasoning-warning.js";
|
|
37
38
|
import { filterContextExcludedMessages } from "./messages.js";
|
|
38
39
|
import { ModelRegistry } from "./model-registry.js";
|
|
39
40
|
import { getModelNarrowingPatterns, resolveModelScope } from "./model-resolver.js";
|
|
@@ -194,10 +195,14 @@ export class AgentSession {
|
|
|
194
195
|
this._isAgentRunActive = false;
|
|
195
196
|
this._toolExecutionDepth = 0;
|
|
196
197
|
this._promptStartPending = false;
|
|
198
|
+
this._nextInputId = 0;
|
|
197
199
|
/** Tracks pending steering messages for UI display. Removed when delivered. */
|
|
198
200
|
this._steeringMessages = [];
|
|
199
201
|
/** Tracks pending follow-up messages for UI display. Removed when delivered. */
|
|
200
202
|
this._followUpMessages = [];
|
|
203
|
+
/** Recovery-only order across both native queue modes and TUI compaction ownership. */
|
|
204
|
+
this._queuedInputOrder = [];
|
|
205
|
+
this._nextQueuedInputOrder = 0;
|
|
201
206
|
/** Messages queued to be included with the next user prompt as context ("asides"). */
|
|
202
207
|
this._pendingNextTurnMessages = [];
|
|
203
208
|
// Queues held while the first post-compaction response is classified. Agent
|
|
@@ -233,7 +238,7 @@ export class AgentSession {
|
|
|
233
238
|
this._userAbortPromise = undefined;
|
|
234
239
|
this._agentAbortSource = undefined;
|
|
235
240
|
this._suppressQueuedContinuationAfterUserAbort = false;
|
|
236
|
-
/** Set when clearQueue() drains
|
|
241
|
+
/** Set when clearQueue({ abortWillFollow: true }) drains queues immediately before abort(). */
|
|
237
242
|
this._hadClearedQueuedMessages = false;
|
|
238
243
|
this._extensionEventSignal = undefined;
|
|
239
244
|
// Bash execution state
|
|
@@ -251,6 +256,8 @@ export class AgentSession {
|
|
|
251
256
|
// Base system prompt (without extension appends) - used to apply fresh appends each turn
|
|
252
257
|
this._baseSystemPrompt = "";
|
|
253
258
|
this._currentServiceTier = undefined;
|
|
259
|
+
this._sessionFastMode = false;
|
|
260
|
+
this._lastHighReasoningWarningKey = undefined;
|
|
254
261
|
// Track last assistant message for auto-compaction check
|
|
255
262
|
this._lastAssistantMessage = undefined;
|
|
256
263
|
/** Internal handler for agent events - shared by subscribe and reconnect */
|
|
@@ -405,9 +412,14 @@ export class AgentSession {
|
|
|
405
412
|
return this._getRequiredRequestAuth(model);
|
|
406
413
|
}
|
|
407
414
|
try {
|
|
408
|
-
const
|
|
415
|
+
const apiKey = await this.agent.getApiKey?.(model.provider);
|
|
416
|
+
const result = await this._modelRuntime.getAuth(model, { apiKey });
|
|
409
417
|
return result
|
|
410
|
-
? {
|
|
418
|
+
? {
|
|
419
|
+
apiKey: apiKey ?? result.auth.apiKey,
|
|
420
|
+
headers: withoutDeletedHeaders(result.auth.headers),
|
|
421
|
+
env: result.env,
|
|
422
|
+
}
|
|
411
423
|
: {};
|
|
412
424
|
}
|
|
413
425
|
catch {
|
|
@@ -726,7 +738,9 @@ export class AgentSession {
|
|
|
726
738
|
this.agent.steer(message);
|
|
727
739
|
const userMessage = queuedMessages.find((message) => message.role === "user");
|
|
728
740
|
if (userMessage?.role === "user") {
|
|
729
|
-
this.
|
|
741
|
+
const text = this._extractUserMessageText(userMessage.content);
|
|
742
|
+
this._steeringMessages.push(text);
|
|
743
|
+
this._recordQueuedInput(text, "steer");
|
|
730
744
|
this._emitQueueUpdate();
|
|
731
745
|
}
|
|
732
746
|
return;
|
|
@@ -934,6 +948,7 @@ export class AgentSession {
|
|
|
934
948
|
const steeringIndex = this._steeringMessages.indexOf(messageText);
|
|
935
949
|
if (steeringIndex !== -1) {
|
|
936
950
|
this._steeringMessages.splice(steeringIndex, 1);
|
|
951
|
+
this._removeQueuedInput(messageText, "steer");
|
|
937
952
|
this._emitQueueUpdate();
|
|
938
953
|
}
|
|
939
954
|
else {
|
|
@@ -941,6 +956,7 @@ export class AgentSession {
|
|
|
941
956
|
const followUpIndex = this._followUpMessages.indexOf(messageText);
|
|
942
957
|
if (followUpIndex !== -1) {
|
|
943
958
|
this._followUpMessages.splice(followUpIndex, 1);
|
|
959
|
+
this._removeQueuedInput(messageText, "followUp");
|
|
944
960
|
this._emitQueueUpdate();
|
|
945
961
|
}
|
|
946
962
|
}
|
|
@@ -1335,6 +1351,22 @@ export class AgentSession {
|
|
|
1335
1351
|
get serviceTier() {
|
|
1336
1352
|
return this._currentServiceTier;
|
|
1337
1353
|
}
|
|
1354
|
+
/**
|
|
1355
|
+
* True when the active model is served at the priority ("fast") tier: either the model
|
|
1356
|
+
* itself is configured for it (an `openai` `-fast` catalog variant, a scoped
|
|
1357
|
+
* `provider/id:priority`) or an extension turned fast mode on for this session.
|
|
1358
|
+
*
|
|
1359
|
+
* Display-only: it never feeds request composition, so an extension toggling fast mode
|
|
1360
|
+
* for one provider cannot leak `service_tier` into another provider's payload.
|
|
1361
|
+
* `serviceTier` stays the single request-side source.
|
|
1362
|
+
*/
|
|
1363
|
+
isFastModeActive() {
|
|
1364
|
+
return this._sessionFastMode || this._currentServiceTier === "priority";
|
|
1365
|
+
}
|
|
1366
|
+
/** Session-scoped fast-mode indicator; never persisted, reset on session start. */
|
|
1367
|
+
setSessionFastMode(enabled) {
|
|
1368
|
+
this._sessionFastMode = enabled;
|
|
1369
|
+
}
|
|
1338
1370
|
/**
|
|
1339
1371
|
* Explicit scoped/favorite tiers win; otherwise fall back to the model's
|
|
1340
1372
|
* configured serviceTier from models.json/extension compatibility config.
|
|
@@ -1676,6 +1708,12 @@ export class AgentSession {
|
|
|
1676
1708
|
let messages;
|
|
1677
1709
|
let titlePrompt;
|
|
1678
1710
|
let consumedNextTurnMessages;
|
|
1711
|
+
let inputId;
|
|
1712
|
+
const emitInputDisposition = async (disposition) => {
|
|
1713
|
+
if (inputId === undefined)
|
|
1714
|
+
return;
|
|
1715
|
+
await this._extensionRunner.emit({ type: "input_disposition", inputId, disposition });
|
|
1716
|
+
};
|
|
1679
1717
|
try {
|
|
1680
1718
|
// Handle extension commands first (execute immediately, even during streaming)
|
|
1681
1719
|
// Extension commands manage their own LLM interaction via pi.sendMessage()
|
|
@@ -1693,9 +1731,11 @@ export class AgentSession {
|
|
|
1693
1731
|
let currentText = text;
|
|
1694
1732
|
let currentImages = options?.images;
|
|
1695
1733
|
if (this._extensionRunner.hasHandlers("input")) {
|
|
1696
|
-
|
|
1734
|
+
inputId = `${this.sessionManager.getSessionId()}:${++this._nextInputId}`;
|
|
1735
|
+
const inputResult = await this._extensionRunner.emitInput(currentText, currentImages, options?.source ?? "interactive", this.isStreaming ? options?.streamingBehavior : undefined, inputId);
|
|
1697
1736
|
throwIfCancelled();
|
|
1698
1737
|
if (inputResult.action === "handled") {
|
|
1738
|
+
await emitInputDisposition("handled");
|
|
1699
1739
|
promptDisposition?.("handled");
|
|
1700
1740
|
preflightResult?.(true);
|
|
1701
1741
|
return;
|
|
@@ -1726,6 +1766,7 @@ export class AgentSession {
|
|
|
1726
1766
|
else {
|
|
1727
1767
|
await this._queueSteer(expandedText, currentImages);
|
|
1728
1768
|
}
|
|
1769
|
+
await emitInputDisposition("queued");
|
|
1729
1770
|
promptDisposition?.("queued");
|
|
1730
1771
|
preflightResult?.(true);
|
|
1731
1772
|
return;
|
|
@@ -1743,6 +1784,7 @@ export class AgentSession {
|
|
|
1743
1784
|
else {
|
|
1744
1785
|
await this._queueSteer(expandedText, currentImages);
|
|
1745
1786
|
}
|
|
1787
|
+
await emitInputDisposition("queued");
|
|
1746
1788
|
promptDisposition?.("queued");
|
|
1747
1789
|
preflightResult?.(true);
|
|
1748
1790
|
return;
|
|
@@ -1766,6 +1808,7 @@ export class AgentSession {
|
|
|
1766
1808
|
else {
|
|
1767
1809
|
await this._queueSteer(expandedText, currentImages);
|
|
1768
1810
|
}
|
|
1811
|
+
await emitInputDisposition("queued");
|
|
1769
1812
|
promptDisposition?.("queued");
|
|
1770
1813
|
preflightResult?.(true);
|
|
1771
1814
|
return;
|
|
@@ -1786,6 +1829,7 @@ export class AgentSession {
|
|
|
1786
1829
|
else {
|
|
1787
1830
|
await this._queueSteer(expandedText, currentImages);
|
|
1788
1831
|
}
|
|
1832
|
+
await emitInputDisposition("queued");
|
|
1789
1833
|
promptDisposition?.("queued");
|
|
1790
1834
|
preflightResult?.(true);
|
|
1791
1835
|
return;
|
|
@@ -1859,8 +1903,11 @@ export class AgentSession {
|
|
|
1859
1903
|
// next-turn, and before_agent_start additions are also provider-visible,
|
|
1860
1904
|
// so make one final admission decision against the complete request.
|
|
1861
1905
|
await this._enforceFinalProviderAdmission(messages);
|
|
1906
|
+
throwIfCancelled();
|
|
1907
|
+
await emitInputDisposition("started");
|
|
1862
1908
|
}
|
|
1863
1909
|
catch (error) {
|
|
1910
|
+
await emitInputDisposition("rejected");
|
|
1864
1911
|
if (consumedNextTurnMessages && consumedNextTurnMessages.length > 0) {
|
|
1865
1912
|
this._pendingNextTurnMessages = [...consumedNextTurnMessages, ...this._pendingNextTurnMessages];
|
|
1866
1913
|
}
|
|
@@ -1874,7 +1921,6 @@ export class AgentSession {
|
|
|
1874
1921
|
if (!messages) {
|
|
1875
1922
|
return;
|
|
1876
1923
|
}
|
|
1877
|
-
throwIfCancelled();
|
|
1878
1924
|
promptDisposition?.("started");
|
|
1879
1925
|
preflightResult?.(true);
|
|
1880
1926
|
if (options?.thinkingLevel !== undefined) {
|
|
@@ -1994,7 +2040,7 @@ export class AgentSession {
|
|
|
1994
2040
|
* @param images Optional image attachments to include with the message
|
|
1995
2041
|
* @throws Error if text is an extension command
|
|
1996
2042
|
*/
|
|
1997
|
-
async steer(text, images) {
|
|
2043
|
+
async steer(text, images, recovery) {
|
|
1998
2044
|
// Check for extension commands (cannot be queued)
|
|
1999
2045
|
if (text.startsWith("/")) {
|
|
2000
2046
|
this._throwIfExtensionCommand(text);
|
|
@@ -2002,7 +2048,7 @@ export class AgentSession {
|
|
|
2002
2048
|
// Expand skill commands and prompt templates
|
|
2003
2049
|
let expandedText = this._expandSkillCommand(text);
|
|
2004
2050
|
expandedText = expandPromptTemplate(expandedText, [...this.promptTemplates]);
|
|
2005
|
-
await this._queueSteer(expandedText, images);
|
|
2051
|
+
await this._queueSteer(expandedText, images, recovery?.enqueueOrder);
|
|
2006
2052
|
}
|
|
2007
2053
|
/**
|
|
2008
2054
|
* Queue a follow-up message to be processed after the agent finishes.
|
|
@@ -2011,7 +2057,7 @@ export class AgentSession {
|
|
|
2011
2057
|
* @param images Optional image attachments to include with the message
|
|
2012
2058
|
* @throws Error if text is an extension command
|
|
2013
2059
|
*/
|
|
2014
|
-
async followUp(text, images) {
|
|
2060
|
+
async followUp(text, images, recovery) {
|
|
2015
2061
|
// Check for extension commands (cannot be queued)
|
|
2016
2062
|
if (text.startsWith("/")) {
|
|
2017
2063
|
this._throwIfExtensionCommand(text);
|
|
@@ -2019,7 +2065,7 @@ export class AgentSession {
|
|
|
2019
2065
|
// Expand skill commands and prompt templates
|
|
2020
2066
|
let expandedText = this._expandSkillCommand(text);
|
|
2021
2067
|
expandedText = expandPromptTemplate(expandedText, [...this.promptTemplates]);
|
|
2022
|
-
await this._queueFollowUp(expandedText, images);
|
|
2068
|
+
await this._queueFollowUp(expandedText, images, recovery?.enqueueOrder);
|
|
2023
2069
|
}
|
|
2024
2070
|
_startSessionTitleGeneration(firstPrompt) {
|
|
2025
2071
|
if (!this._autoTitleSessions || this.sessionManager.getSessionName() || shouldSkipSessionTitle(firstPrompt)) {
|
|
@@ -2093,8 +2139,9 @@ export class AgentSession {
|
|
|
2093
2139
|
/**
|
|
2094
2140
|
* Internal: Queue a steering message (already expanded, no extension command check).
|
|
2095
2141
|
*/
|
|
2096
|
-
async _queueSteer(text, images) {
|
|
2142
|
+
async _queueSteer(text, images, enqueueOrder) {
|
|
2097
2143
|
this._steeringMessages.push(text);
|
|
2144
|
+
this._recordQueuedInput(text, "steer", enqueueOrder);
|
|
2098
2145
|
this._sessionLogger.debug("queue_enqueue", { mode: "steer", count: this._steeringMessages.length });
|
|
2099
2146
|
this._emitQueueUpdate();
|
|
2100
2147
|
const content = [{ type: "text", text }];
|
|
@@ -2111,8 +2158,9 @@ export class AgentSession {
|
|
|
2111
2158
|
/**
|
|
2112
2159
|
* Internal: Queue a follow-up message (already expanded, no extension command check).
|
|
2113
2160
|
*/
|
|
2114
|
-
async _queueFollowUp(text, images) {
|
|
2161
|
+
async _queueFollowUp(text, images, enqueueOrder) {
|
|
2115
2162
|
this._followUpMessages.push(text);
|
|
2163
|
+
this._recordQueuedInput(text, "followUp", enqueueOrder);
|
|
2116
2164
|
this._sessionLogger.debug("queue_enqueue", { mode: "followUp", count: this._followUpMessages.length });
|
|
2117
2165
|
this._emitQueueUpdate();
|
|
2118
2166
|
const content = [{ type: "text", text }];
|
|
@@ -2304,26 +2352,46 @@ export class AgentSession {
|
|
|
2304
2352
|
finishSessionWork?.();
|
|
2305
2353
|
}
|
|
2306
2354
|
}
|
|
2355
|
+
/** Reserve a global order for input temporarily owned outside the native queues. */
|
|
2356
|
+
reserveQueuedInputOrder() {
|
|
2357
|
+
this._nextQueuedInputOrder += 1;
|
|
2358
|
+
return this._nextQueuedInputOrder;
|
|
2359
|
+
}
|
|
2360
|
+
_recordQueuedInput(text, mode, enqueueOrder) {
|
|
2361
|
+
const order = enqueueOrder ?? this.reserveQueuedInputOrder();
|
|
2362
|
+
this._nextQueuedInputOrder = Math.max(this._nextQueuedInputOrder, order);
|
|
2363
|
+
this._queuedInputOrder.push({ text, mode, enqueueOrder: order });
|
|
2364
|
+
}
|
|
2365
|
+
_removeQueuedInput(text, mode) {
|
|
2366
|
+
const index = this._queuedInputOrder.findIndex((message) => message.mode === mode && message.text === text);
|
|
2367
|
+
if (index !== -1)
|
|
2368
|
+
this._queuedInputOrder.splice(index, 1);
|
|
2369
|
+
}
|
|
2307
2370
|
/**
|
|
2308
|
-
* Clear all queued messages and return them.
|
|
2309
|
-
*
|
|
2310
|
-
* @
|
|
2371
|
+
* Clear all queued messages and return them. The non-enumerable `ordered`
|
|
2372
|
+
* view preserves legacy object equality and native queue semantics.
|
|
2373
|
+
* @param options.abortWillFollow Mark a non-empty drain so an immediately following abort can emit session_abort.
|
|
2311
2374
|
*/
|
|
2312
|
-
clearQueue() {
|
|
2375
|
+
clearQueue(options = { abortWillFollow: false }) {
|
|
2313
2376
|
const steering = [...this._steeringMessages];
|
|
2314
2377
|
const followUp = [...this._followUpMessages];
|
|
2315
|
-
|
|
2378
|
+
const ordered = [...this._queuedInputOrder].sort((a, b) => a.enqueueOrder - b.enqueueOrder);
|
|
2379
|
+
if (options.abortWillFollow && (steering.length > 0 || followUp.length > 0)) {
|
|
2316
2380
|
this._hadClearedQueuedMessages = true;
|
|
2381
|
+
}
|
|
2317
2382
|
// Clear every queue synchronously. Deferred post-compaction messages are
|
|
2318
2383
|
// already represented in visible bookkeeping, so they must not be returned
|
|
2319
2384
|
// a second time or later resurrected into Agent's native queues.
|
|
2320
2385
|
this._steeringMessages = [];
|
|
2321
2386
|
this._followUpMessages = [];
|
|
2387
|
+
this._queuedInputOrder = [];
|
|
2322
2388
|
this._postCompactionDeferredSteeringMessages = [];
|
|
2323
2389
|
this._postCompactionDeferredFollowUpMessages = [];
|
|
2324
2390
|
this.agent.clearAllQueues();
|
|
2325
2391
|
this._emitQueueUpdate();
|
|
2326
|
-
|
|
2392
|
+
const cleared = { steering, followUp };
|
|
2393
|
+
Object.defineProperty(cleared, "ordered", { value: ordered, enumerable: false });
|
|
2394
|
+
return cleared;
|
|
2327
2395
|
}
|
|
2328
2396
|
/** Number of pending messages (includes both steering and follow-up) */
|
|
2329
2397
|
get pendingMessageCount() {
|
|
@@ -2486,6 +2554,7 @@ export class AgentSession {
|
|
|
2486
2554
|
else {
|
|
2487
2555
|
this.setSessionThinkingLevel(thinkingLevel);
|
|
2488
2556
|
}
|
|
2557
|
+
this._emitHighReasoningWarningIfNeeded();
|
|
2489
2558
|
if (!opts.emitModelSelect)
|
|
2490
2559
|
return undefined;
|
|
2491
2560
|
return await this._emitModelSelect(model, previousModel, opts.modelSelectSource);
|
|
@@ -2585,8 +2654,28 @@ export class AgentSession {
|
|
|
2585
2654
|
level: effectiveLevel,
|
|
2586
2655
|
previousLevel,
|
|
2587
2656
|
});
|
|
2657
|
+
this._emitHighReasoningWarningIfNeeded();
|
|
2588
2658
|
}
|
|
2589
2659
|
}
|
|
2660
|
+
_emitHighReasoningWarningIfNeeded() {
|
|
2661
|
+
const model = this.model;
|
|
2662
|
+
const level = this.thinkingLevel;
|
|
2663
|
+
if (!model || !shouldWarnHighReasoning(model, level)) {
|
|
2664
|
+
this._lastHighReasoningWarningKey = undefined;
|
|
2665
|
+
return;
|
|
2666
|
+
}
|
|
2667
|
+
const key = `${model.provider}/${model.id}:${level}`;
|
|
2668
|
+
if (this._lastHighReasoningWarningKey === key) {
|
|
2669
|
+
return;
|
|
2670
|
+
}
|
|
2671
|
+
this._lastHighReasoningWarningKey = key;
|
|
2672
|
+
this._emit({
|
|
2673
|
+
type: "high_reasoning_warning",
|
|
2674
|
+
modelId: model.id,
|
|
2675
|
+
provider: model.provider,
|
|
2676
|
+
thinkingLevel: level,
|
|
2677
|
+
});
|
|
2678
|
+
}
|
|
2590
2679
|
/**
|
|
2591
2680
|
* Cycle to next thinking level.
|
|
2592
2681
|
* @returns New level, or undefined if model doesn't support thinking
|
|
@@ -3259,6 +3348,8 @@ export class AgentSession {
|
|
|
3259
3348
|
if (compacted)
|
|
3260
3349
|
return true;
|
|
3261
3350
|
}
|
|
3351
|
+
if (this._isCompactionOnCooldown())
|
|
3352
|
+
return false;
|
|
3262
3353
|
throw new RequiredCompactionError();
|
|
3263
3354
|
}
|
|
3264
3355
|
/**
|
|
@@ -3297,6 +3388,8 @@ export class AgentSession {
|
|
|
3297
3388
|
throw new RequiredCompactionError();
|
|
3298
3389
|
}
|
|
3299
3390
|
const compacted = await this._runPrePromptCompaction(lastAssistantMessage, false, "pre_prompt");
|
|
3391
|
+
if (!compacted && !isOversized() && this._isCompactionOnCooldown())
|
|
3392
|
+
return;
|
|
3300
3393
|
if (!compacted || isOversized()) {
|
|
3301
3394
|
throw new RequiredCompactionError();
|
|
3302
3395
|
}
|
|
@@ -3442,6 +3535,10 @@ export class AgentSession {
|
|
|
3442
3535
|
}
|
|
3443
3536
|
return false;
|
|
3444
3537
|
}
|
|
3538
|
+
_isCompactionOnCooldown() {
|
|
3539
|
+
const state = this._compactionLifecycle.state;
|
|
3540
|
+
return state.status === "failed" && state.rejectionCause === "circuit-breaker";
|
|
3541
|
+
}
|
|
3445
3542
|
async _runPrePromptCompaction(lastAssistantMessage, skipAbortedCheck, reason = "pre_prompt", willRetry = false, allowSummaryOnly = false) {
|
|
3446
3543
|
const controller = new AbortController();
|
|
3447
3544
|
this._claimCompactionController(controller, "compaction");
|
|
@@ -3477,7 +3574,7 @@ export class AgentSession {
|
|
|
3477
3574
|
reason,
|
|
3478
3575
|
result: undefined,
|
|
3479
3576
|
aborted,
|
|
3480
|
-
willRetry,
|
|
3577
|
+
willRetry: false,
|
|
3481
3578
|
errorMessage: aborted ? undefined : `Pre-prompt compaction failed: ${errorMessage}`,
|
|
3482
3579
|
});
|
|
3483
3580
|
return false;
|
|
@@ -3502,8 +3599,11 @@ export class AgentSession {
|
|
|
3502
3599
|
if (!shouldCompact(contextTokens, model.contextWindow, settings))
|
|
3503
3600
|
return;
|
|
3504
3601
|
const compacted = await this._runPrePromptCompaction(this._findLastAssistantMessage(), true, "pre_prompt");
|
|
3505
|
-
if (!compacted)
|
|
3602
|
+
if (!compacted) {
|
|
3603
|
+
if (this._isCompactionOnCooldown())
|
|
3604
|
+
return;
|
|
3506
3605
|
throw new RequiredCompactionError();
|
|
3606
|
+
}
|
|
3507
3607
|
this._scheduledContinuationRecompacted = true;
|
|
3508
3608
|
}
|
|
3509
3609
|
async _continueAgentAfterCurrentRun(options = {}) {
|
|
@@ -3881,6 +3981,7 @@ export class AgentSession {
|
|
|
3881
3981
|
return true;
|
|
3882
3982
|
},
|
|
3883
3983
|
setSessionThinkingLevel: (level) => this.setSessionThinkingLevel(level),
|
|
3984
|
+
setSessionFastMode: (enabled) => this.setSessionFastMode(enabled),
|
|
3884
3985
|
}, {
|
|
3885
3986
|
getModel: () => this.model,
|
|
3886
3987
|
getServiceTier: () => this.serviceTier,
|
|
@@ -4370,6 +4471,15 @@ export class AgentSession {
|
|
|
4370
4471
|
// Refusals are only retried through a new chain candidate. They never use
|
|
4371
4472
|
// same-model retries or the transient over-budget fallback escape hatch.
|
|
4372
4473
|
if (this._retryAttempt + 1 > settings.maxRetries) {
|
|
4474
|
+
if (this._retryAttempt > 0) {
|
|
4475
|
+
this._emit({
|
|
4476
|
+
type: "auto_retry_end",
|
|
4477
|
+
success: false,
|
|
4478
|
+
attempt: this._retryAttempt,
|
|
4479
|
+
finalError: message.errorMessage,
|
|
4480
|
+
});
|
|
4481
|
+
}
|
|
4482
|
+
this._retryAttempt = 0;
|
|
4373
4483
|
this._resolveRetry();
|
|
4374
4484
|
return "not-handled";
|
|
4375
4485
|
}
|
|
@@ -4379,6 +4489,15 @@ export class AgentSession {
|
|
|
4379
4489
|
if (exhaustedChainKey) {
|
|
4380
4490
|
this._emit({ type: "retry_fallback_exhausted", chainKey: exhaustedChainKey, lastError: errorMessage });
|
|
4381
4491
|
}
|
|
4492
|
+
if (this._retryAttempt > 0) {
|
|
4493
|
+
this._emit({
|
|
4494
|
+
type: "auto_retry_end",
|
|
4495
|
+
success: false,
|
|
4496
|
+
attempt: this._retryAttempt,
|
|
4497
|
+
finalError: message.errorMessage,
|
|
4498
|
+
});
|
|
4499
|
+
}
|
|
4500
|
+
this._retryAttempt = 0;
|
|
4382
4501
|
this._resolveRetry();
|
|
4383
4502
|
return "not-handled";
|
|
4384
4503
|
}
|
|
@@ -4513,7 +4632,8 @@ export class AgentSession {
|
|
|
4513
4632
|
if (compactionSettings.enabled &&
|
|
4514
4633
|
model &&
|
|
4515
4634
|
shouldCompact(contextTokens, model.contextWindow, compactionSettings)) {
|
|
4516
|
-
|
|
4635
|
+
const preRetryCompaction = await this._runPrePromptCompaction(message, true, "threshold", true, true);
|
|
4636
|
+
if (!preRetryCompaction && !this._isCompactionOnCooldown()) {
|
|
4517
4637
|
const attempt = this._retryAttempt;
|
|
4518
4638
|
this._retryAttempt = 0;
|
|
4519
4639
|
this._emit({
|