@qduc/term2 0.32.1 → 0.33.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/dist/agent.d.ts.map +1 -1
- package/dist/agent.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +2 -2
- package/dist/app.js.map +1 -1
- package/dist/build-info.json +2 -2
- package/dist/components/layout/BottomArea.d.ts +2 -0
- package/dist/components/layout/BottomArea.d.ts.map +1 -1
- package/dist/components/layout/BottomArea.js +37 -10
- package/dist/components/layout/BottomArea.js.map +1 -1
- package/dist/components/menu/ModelSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/ModelSelectionMenu.js +12 -14
- package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
- package/dist/contracts/streamed-model-turn.d.ts +4 -0
- package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
- package/dist/contracts/streamed-model-turn.js.map +1 -1
- package/dist/hooks/conversation-ui-reducer.d.ts +11 -0
- package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
- package/dist/hooks/conversation-ui-reducer.js +11 -3
- package/dist/hooks/conversation-ui-reducer.js.map +1 -1
- package/dist/hooks/use-conversation.d.ts +1 -0
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +12 -2
- package/dist/hooks/use-conversation.js.map +1 -1
- package/dist/hooks/use-model-selection.d.ts.map +1 -1
- package/dist/hooks/use-model-selection.js +5 -7
- package/dist/hooks/use-model-selection.js.map +1 -1
- package/dist/hooks/use-standalone-model-picker.d.ts.map +1 -1
- package/dist/hooks/use-standalone-model-picker.js +3 -4
- package/dist/hooks/use-standalone-model-picker.js.map +1 -1
- package/dist/lib/agent-chat-service.d.ts.map +1 -1
- package/dist/lib/agent-chat-service.js +2 -6
- package/dist/lib/agent-chat-service.js.map +1 -1
- package/dist/lib/agent-client.d.ts +4 -2
- package/dist/lib/agent-client.d.ts.map +1 -1
- package/dist/lib/agent-client.js +72 -85
- package/dist/lib/agent-client.js.map +1 -1
- package/dist/lib/agent-factory.d.ts.map +1 -1
- package/dist/lib/agent-factory.js +17 -19
- package/dist/lib/agent-factory.js.map +1 -1
- package/dist/prompts/tool-surface-guidance.js +1 -1
- package/dist/prompts/tool-surface-guidance.js.map +1 -1
- package/dist/prompts/tool-surface-guidance.ts +1 -1
- package/dist/providers/ai-sdk-anthropic.provider.d.ts.map +1 -1
- package/dist/providers/ai-sdk-anthropic.provider.js +16 -2
- package/dist/providers/ai-sdk-anthropic.provider.js.map +1 -1
- package/dist/providers/ai-sdk-google.provider.d.ts.map +1 -1
- package/dist/providers/ai-sdk-google.provider.js +16 -2
- package/dist/providers/ai-sdk-google.provider.js.map +1 -1
- package/dist/providers/ai-sdk-openrouter.provider.d.ts.map +1 -1
- package/dist/providers/ai-sdk-openrouter.provider.js +16 -1
- package/dist/providers/ai-sdk-openrouter.provider.js.map +1 -1
- package/dist/providers/ai-sdk-provider-settings.d.ts +2 -0
- package/dist/providers/ai-sdk-provider-settings.d.ts.map +1 -1
- package/dist/providers/ai-sdk-provider-settings.js +5 -0
- package/dist/providers/ai-sdk-provider-settings.js.map +1 -1
- package/dist/providers/ai-sdk-streamed-model.d.ts +3 -3
- package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -1
- package/dist/providers/ai-sdk-streamed-model.js +20 -72
- package/dist/providers/ai-sdk-streamed-model.js.map +1 -1
- package/dist/providers/anthropic-chat-caching.d.ts +5 -0
- package/dist/providers/anthropic-chat-caching.d.ts.map +1 -0
- package/dist/providers/{common/openai-compatible-messages.js → anthropic-chat-caching.js} +19 -1
- package/dist/providers/anthropic-chat-caching.js.map +1 -0
- package/dist/providers/codex.provider.d.ts +3 -2
- package/dist/providers/codex.provider.d.ts.map +1 -1
- package/dist/providers/codex.provider.js +2 -0
- package/dist/providers/codex.provider.js.map +1 -1
- package/dist/providers/custom-provider-runtime.d.ts +18 -0
- package/dist/providers/custom-provider-runtime.d.ts.map +1 -0
- package/dist/providers/custom-provider-runtime.js +26 -0
- package/dist/providers/custom-provider-runtime.js.map +1 -0
- package/dist/providers/llama-cpp.provider.d.ts +3 -0
- package/dist/providers/llama-cpp.provider.d.ts.map +1 -1
- package/dist/providers/llama-cpp.provider.js +17 -0
- package/dist/providers/llama-cpp.provider.js.map +1 -1
- package/dist/providers/neuralwatt.provider.d.ts +6 -0
- package/dist/providers/neuralwatt.provider.d.ts.map +1 -0
- package/dist/providers/neuralwatt.provider.js +8 -0
- package/dist/providers/neuralwatt.provider.js.map +1 -0
- package/dist/providers/openai-compatible-lazy.d.ts.map +1 -1
- package/dist/providers/openai-compatible-lazy.js +2 -0
- package/dist/providers/openai-compatible-lazy.js.map +1 -1
- package/dist/providers/openai-compatible-middleware.d.ts +4 -9
- package/dist/providers/openai-compatible-middleware.d.ts.map +1 -1
- package/dist/providers/openai-compatible-middleware.js +25 -48
- package/dist/providers/openai-compatible-middleware.js.map +1 -1
- package/dist/providers/openai-compatible-response-normalizer.d.ts +1 -1
- package/dist/providers/openai-compatible-response-normalizer.d.ts.map +1 -1
- package/dist/providers/openai-compatible-response-normalizer.js +6 -6
- package/dist/providers/openai-compatible-response-normalizer.js.map +1 -1
- package/dist/providers/openai-compatible.provider.d.ts +2 -32
- package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
- package/dist/providers/openai-compatible.provider.js +18 -144
- package/dist/providers/openai-compatible.provider.js.map +1 -1
- package/dist/providers/openai.provider.d.ts.map +1 -1
- package/dist/providers/openai.provider.js +1 -0
- package/dist/providers/openai.provider.js.map +1 -1
- package/dist/providers/opencode-middleware.d.ts +9 -0
- package/dist/providers/opencode-middleware.d.ts.map +1 -0
- package/dist/providers/opencode-middleware.js +15 -0
- package/dist/providers/opencode-middleware.js.map +1 -0
- package/dist/providers/opencode-model-provider.d.ts +19 -0
- package/dist/providers/opencode-model-provider.d.ts.map +1 -0
- package/dist/providers/opencode-model-provider.js +128 -0
- package/dist/providers/opencode-model-provider.js.map +1 -0
- package/dist/providers/opencode.provider.d.ts +2 -0
- package/dist/providers/opencode.provider.d.ts.map +1 -1
- package/dist/providers/opencode.provider.js +4 -0
- package/dist/providers/opencode.provider.js.map +1 -1
- package/dist/providers/openrouter-decision-models.d.ts +7 -0
- package/dist/providers/openrouter-decision-models.d.ts.map +1 -0
- package/dist/providers/openrouter-decision-models.js +31 -0
- package/dist/providers/openrouter-decision-models.js.map +1 -0
- package/dist/providers/openrouter.provider.js +2 -1
- package/dist/providers/openrouter.provider.js.map +1 -1
- package/dist/providers/orcarouter-models.d.ts +12 -0
- package/dist/providers/orcarouter-models.d.ts.map +1 -0
- package/dist/providers/orcarouter-models.js +34 -0
- package/dist/providers/orcarouter-models.js.map +1 -0
- package/dist/providers/registry.d.ts +9 -1
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/retrying-model.d.ts +8 -4
- package/dist/providers/retrying-model.d.ts.map +1 -1
- package/dist/providers/retrying-model.js +1 -1
- package/dist/providers/retrying-model.js.map +1 -1
- package/dist/services/agent-runtime/application-run-loop.d.ts +20 -1
- package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
- package/dist/services/agent-runtime/application-run-loop.js +874 -759
- package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
- package/dist/services/agent-runtime/tool-call-execution.d.ts +1 -1
- package/dist/services/agent-runtime/tool-call-execution.d.ts.map +1 -1
- package/dist/services/agent-runtime/tool-call-execution.js +13 -4
- package/dist/services/agent-runtime/tool-call-execution.js.map +1 -1
- package/dist/services/agent-runtime/workflow/workflow-evaluator.d.ts +5 -0
- package/dist/services/agent-runtime/workflow/workflow-evaluator.d.ts.map +1 -1
- package/dist/services/agent-runtime/workflow/workflow-evaluator.js +6 -1
- package/dist/services/agent-runtime/workflow/workflow-evaluator.js.map +1 -1
- package/dist/services/approval/approval-flow-coordinator.d.ts +4 -2
- package/dist/services/approval/approval-flow-coordinator.d.ts.map +1 -1
- package/dist/services/approval/approval-flow-coordinator.js +2 -1
- package/dist/services/approval/approval-flow-coordinator.js.map +1 -1
- package/dist/services/approval/approval-state.d.ts +0 -13
- package/dist/services/approval/approval-state.d.ts.map +1 -1
- package/dist/services/approval/approval-state.js +0 -5
- package/dist/services/approval/approval-state.js.map +1 -1
- package/dist/services/approval/background-subagent-approval-controller.d.ts.map +1 -1
- package/dist/services/approval/background-subagent-approval-controller.js +0 -2
- package/dist/services/approval/background-subagent-approval-controller.js.map +1 -1
- package/dist/services/approval/nested-approval-owner.d.ts.map +1 -1
- package/dist/services/approval/nested-approval-owner.js +5 -1
- package/dist/services/approval/nested-approval-owner.js.map +1 -1
- package/dist/services/approval/shell-auto-approval-resolver.d.ts +2 -2
- package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
- package/dist/services/approval/shell-auto-approval-resolver.js +2 -2
- package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
- package/dist/services/approval/tool-approval-batch-coordinator.d.ts +2 -2
- package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
- package/dist/services/approval/tool-approval-batch-coordinator.js +4 -4
- package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
- package/dist/services/conversation/conversation-adapter.d.ts +17 -47
- package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
- package/dist/services/conversation/conversation-adapter.js +114 -88
- package/dist/services/conversation/conversation-adapter.js.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.js +81 -121
- package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.types.d.ts +6 -0
- package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -1
- package/dist/services/conversation/conversation-record-stream.d.ts +21 -0
- package/dist/services/conversation/conversation-record-stream.d.ts.map +1 -0
- package/dist/services/conversation/conversation-record-stream.js +186 -0
- package/dist/services/conversation/conversation-record-stream.js.map +1 -0
- package/dist/services/conversation/conversation-record.d.ts +160 -0
- package/dist/services/conversation/conversation-record.d.ts.map +1 -0
- package/dist/services/conversation/conversation-record.js +371 -0
- package/dist/services/conversation/conversation-record.js.map +1 -0
- package/dist/services/conversation/conversation-result-builder.d.ts +0 -4
- package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
- package/dist/services/conversation/conversation-result-builder.js +0 -10
- package/dist/services/conversation/conversation-result-builder.js.map +1 -1
- package/dist/services/conversation/conversation-service.d.ts +4 -2
- package/dist/services/conversation/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation/conversation-service.js +3 -0
- package/dist/services/conversation/conversation-service.js.map +1 -1
- package/dist/services/conversation-agent-client.d.ts +19 -8
- package/dist/services/conversation-agent-client.d.ts.map +1 -1
- package/dist/services/logging/conversation-logger.d.ts +1 -7
- package/dist/services/logging/conversation-logger.d.ts.map +1 -1
- package/dist/services/logging/conversation-logger.js +0 -18
- package/dist/services/logging/conversation-logger.js.map +1 -1
- package/dist/services/memory/memory-capabilities.d.ts +2 -2
- package/dist/services/memory/memory-capabilities.d.ts.map +1 -1
- package/dist/services/model-service.d.ts +2 -6
- package/dist/services/model-service.d.ts.map +1 -1
- package/dist/services/model-service.js +8 -21
- package/dist/services/model-service.js.map +1 -1
- package/dist/services/models/decision-model-listing.d.ts +2 -12
- package/dist/services/models/decision-model-listing.d.ts.map +1 -1
- package/dist/services/models/decision-model-listing.js +2 -29
- package/dist/services/models/decision-model-listing.js.map +1 -1
- package/dist/services/models/unified-model-catalog.d.ts.map +1 -1
- package/dist/services/models/unified-model-catalog.js +26 -1
- package/dist/services/models/unified-model-catalog.js.map +1 -1
- package/dist/services/provider-continuity.d.ts +26 -0
- package/dist/services/provider-continuity.d.ts.map +1 -1
- package/dist/services/provider-continuity.js +47 -0
- package/dist/services/provider-continuity.js.map +1 -1
- package/dist/services/retry/recovery-executor.d.ts +3 -4
- package/dist/services/retry/recovery-executor.d.ts.map +1 -1
- package/dist/services/retry/recovery-executor.js +13 -75
- package/dist/services/retry/recovery-executor.js.map +1 -1
- package/dist/services/retry/retry-contracts.d.ts +2 -10
- package/dist/services/retry/retry-contracts.d.ts.map +1 -1
- package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
- package/dist/services/retry/retry-error-classification.js +3 -0
- package/dist/services/retry/retry-error-classification.js.map +1 -1
- package/dist/services/retry/retry-event-presenter.d.ts.map +1 -1
- package/dist/services/retry/retry-event-presenter.js +1 -0
- package/dist/services/retry/retry-event-presenter.js.map +1 -1
- package/dist/services/retry/upstream-retry-policy.d.ts.map +1 -1
- package/dist/services/retry/upstream-retry-policy.js +49 -3
- package/dist/services/retry/upstream-retry-policy.js.map +1 -1
- package/dist/services/session/continuation-plan-applier.d.ts +5 -9
- package/dist/services/session/continuation-plan-applier.d.ts.map +1 -1
- package/dist/services/session/continuation-plan-applier.js +9 -43
- package/dist/services/session/continuation-plan-applier.js.map +1 -1
- package/dist/services/session/continuation-recovery-handler.d.ts +4 -6
- package/dist/services/session/continuation-recovery-handler.d.ts.map +1 -1
- package/dist/services/session/continuation-recovery-handler.js +3 -15
- package/dist/services/session/continuation-recovery-handler.js.map +1 -1
- package/dist/services/session/initial-input-preparer.d.ts +2 -2
- package/dist/services/session/initial-input-preparer.d.ts.map +1 -1
- package/dist/services/session/initial-input-preparer.js +3 -3
- package/dist/services/session/initial-input-preparer.js.map +1 -1
- package/dist/services/session/initial-turn-recovery-handler.d.ts +2 -4
- package/dist/services/session/initial-turn-recovery-handler.d.ts.map +1 -1
- package/dist/services/session/initial-turn-recovery-handler.js +4 -5
- package/dist/services/session/initial-turn-recovery-handler.js.map +1 -1
- package/dist/services/session/live-run.d.ts +9 -3
- package/dist/services/session/live-run.d.ts.map +1 -1
- package/dist/services/session/live-run.js +19 -4
- package/dist/services/session/live-run.js.map +1 -1
- package/dist/services/session/session-composition.d.ts +8 -12
- package/dist/services/session/session-composition.d.ts.map +1 -1
- package/dist/services/session/session-composition.js +41 -87
- package/dist/services/session/session-composition.js.map +1 -1
- package/dist/services/session/session-input-planner.d.ts +2 -2
- package/dist/services/session/session-input-planner.d.ts.map +1 -1
- package/dist/services/session/session-input-planner.js +6 -13
- package/dist/services/session/session-input-planner.js.map +1 -1
- package/dist/services/session/session-lifecycle.d.ts +73 -23
- package/dist/services/session/session-lifecycle.d.ts.map +1 -1
- package/dist/services/session/session-lifecycle.js +127 -45
- package/dist/services/session/session-lifecycle.js.map +1 -1
- package/dist/services/session/session-runtime-controller.d.ts +2 -1
- package/dist/services/session/session-runtime-controller.d.ts.map +1 -1
- package/dist/services/session/session-runtime-controller.js.map +1 -1
- package/dist/services/session/session-stream-processor.d.ts +4 -30
- package/dist/services/session/session-stream-processor.d.ts.map +1 -1
- package/dist/services/session/session-stream-processor.js +11 -300
- package/dist/services/session/session-stream-processor.js.map +1 -1
- package/dist/services/session/session-tool-tracker.d.ts +9 -144
- package/dist/services/session/session-tool-tracker.d.ts.map +1 -1
- package/dist/services/session/session-tool-tracker.js +17 -251
- package/dist/services/session/session-tool-tracker.js.map +1 -1
- package/dist/services/session/{turn-workflow.d.ts → session-turn-adapter.d.ts} +10 -43
- package/dist/services/session/session-turn-adapter.d.ts.map +1 -0
- package/dist/services/session/session-turn-adapter.js +734 -0
- package/dist/services/session/session-turn-adapter.js.map +1 -0
- package/dist/services/session/turn-attempt-factory.d.ts +2 -11
- package/dist/services/session/turn-attempt-factory.d.ts.map +1 -1
- package/dist/services/session/turn-attempt-factory.js +4 -12
- package/dist/services/session/turn-attempt-factory.js.map +1 -1
- package/dist/services/session/turn-attempt.d.ts +0 -3
- package/dist/services/session/turn-attempt.d.ts.map +1 -1
- package/dist/services/session/turn-attempt.js +0 -5
- package/dist/services/session/turn-attempt.js.map +1 -1
- package/dist/services/session/turn-coordinator.d.ts +3 -3
- package/dist/services/session/turn-coordinator.d.ts.map +1 -1
- package/dist/services/session/turn-coordinator.js +31 -26
- package/dist/services/session/turn-coordinator.js.map +1 -1
- package/dist/services/session/turn-projection-state.d.ts +45 -0
- package/dist/services/session/turn-projection-state.d.ts.map +1 -0
- package/dist/services/session/turn-projection-state.js +61 -0
- package/dist/services/session/turn-projection-state.js.map +1 -0
- package/dist/services/subagents/tool-policy.d.ts +10 -10
- package/dist/services/subagents/tool-policy.d.ts.map +1 -1
- package/dist/services/subagents/tool-policy.js.map +1 -1
- package/dist/skins/cards/live-region.d.ts.map +1 -1
- package/dist/skins/cards/live-region.js +6 -3
- package/dist/skins/cards/live-region.js.map +1 -1
- package/dist/skins/classic/live-region.d.ts.map +1 -1
- package/dist/skins/classic/live-region.js +9 -2
- package/dist/skins/classic/live-region.js.map +1 -1
- package/dist/skins/ledger/live-region.d.ts.map +1 -1
- package/dist/skins/ledger/live-region.js +6 -3
- package/dist/skins/ledger/live-region.js.map +1 -1
- package/dist/skins/rail/live-region.d.ts.map +1 -1
- package/dist/skins/rail/live-region.js +8 -2
- package/dist/skins/rail/live-region.js.map +1 -1
- package/dist/skins/testing/scenes.d.ts.map +1 -1
- package/dist/skins/testing/scenes.js +17 -0
- package/dist/skins/testing/scenes.js.map +1 -1
- package/dist/skins/types.d.ts +8 -1
- package/dist/skins/types.d.ts.map +1 -1
- package/dist/skins/types.js.map +1 -1
- package/dist/skins/zen/live-region.d.ts.map +1 -1
- package/dist/skins/zen/live-region.js +7 -3
- package/dist/skins/zen/live-region.js.map +1 -1
- package/dist/test-helpers/vitest-cache-global-setup.d.ts +3 -0
- package/dist/test-helpers/vitest-cache-global-setup.d.ts.map +1 -0
- package/dist/test-helpers/vitest-cache-global-setup.js +12 -0
- package/dist/test-helpers/vitest-cache-global-setup.js.map +1 -0
- package/dist/test-helpers/vitest-cache-isolation.d.ts +5 -0
- package/dist/test-helpers/vitest-cache-isolation.d.ts.map +1 -1
- package/dist/test-helpers/vitest-cache-isolation.js +7 -2
- package/dist/test-helpers/vitest-cache-isolation.js.map +1 -1
- package/dist/tools/agent/activate-skill.d.ts +2 -2
- package/dist/tools/agent/activate-skill.d.ts.map +1 -1
- package/dist/tools/agent/activate-skill.js +1 -0
- package/dist/tools/agent/activate-skill.js.map +1 -1
- package/dist/tools/agent/ask-mentor.d.ts +1 -1
- package/dist/tools/agent/ask-mentor.d.ts.map +1 -1
- package/dist/tools/agent/ask-mentor.js.map +1 -1
- package/dist/tools/agent/ask-orchestrator.d.ts +2 -2
- package/dist/tools/agent/ask-orchestrator.d.ts.map +1 -1
- package/dist/tools/agent/ask-orchestrator.js +1 -0
- package/dist/tools/agent/ask-orchestrator.js.map +1 -1
- package/dist/tools/agent/ask-user.d.ts +2 -1
- package/dist/tools/agent/ask-user.d.ts.map +1 -1
- package/dist/tools/agent/ask-user.js.map +1 -1
- package/dist/tools/agent/configure-task-check-in.d.ts +2 -2
- package/dist/tools/agent/configure-task-check-in.d.ts.map +1 -1
- package/dist/tools/agent/goal-check.d.ts +2 -1
- package/dist/tools/agent/goal-check.d.ts.map +1 -1
- package/dist/tools/agent/propose-goal.d.ts +2 -2
- package/dist/tools/agent/propose-goal.d.ts.map +1 -1
- package/dist/tools/agent/propose-goal.js +1 -0
- package/dist/tools/agent/propose-goal.js.map +1 -1
- package/dist/tools/agent/run-explorer.d.ts +2 -2
- package/dist/tools/agent/run-explorer.d.ts.map +1 -1
- package/dist/tools/agent/run-explorer.js +1 -0
- package/dist/tools/agent/run-explorer.js.map +1 -1
- package/dist/tools/agent/run-subagent-async.d.ts +5 -5
- package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
- package/dist/tools/agent/run-subagent-async.js +4 -0
- package/dist/tools/agent/run-subagent-async.js.map +1 -1
- package/dist/tools/agent/run-subagent.d.ts +2 -2
- package/dist/tools/agent/run-subagent.d.ts.map +1 -1
- package/dist/tools/file/apply-patch.d.ts +2 -2
- package/dist/tools/file/apply-patch.d.ts.map +1 -1
- package/dist/tools/file/code-context.d.ts +3 -3
- package/dist/tools/file/code-context.d.ts.map +1 -1
- package/dist/tools/file/code-context.js +59 -0
- package/dist/tools/file/code-context.js.map +1 -1
- package/dist/tools/file/create-file.d.ts +2 -2
- package/dist/tools/file/create-file.d.ts.map +1 -1
- package/dist/tools/file/create-file.js +1 -0
- package/dist/tools/file/create-file.js.map +1 -1
- package/dist/tools/file/glob.d.ts +2 -2
- package/dist/tools/file/glob.d.ts.map +1 -1
- package/dist/tools/file/glob.js.map +1 -1
- package/dist/tools/file/grep.d.ts +2 -2
- package/dist/tools/file/grep.d.ts.map +1 -1
- package/dist/tools/file/grep.js +1 -0
- package/dist/tools/file/grep.js.map +1 -1
- package/dist/tools/file/read-file.d.ts +2 -2
- package/dist/tools/file/read-file.d.ts.map +1 -1
- package/dist/tools/file/read-file.js +27 -0
- package/dist/tools/file/read-file.js.map +1 -1
- package/dist/tools/file/search-replace.d.ts +2 -2
- package/dist/tools/file/search-replace.d.ts.map +1 -1
- package/dist/tools/file/search-replace.js +1 -0
- package/dist/tools/file/search-replace.js.map +1 -1
- package/dist/tools/memory/memory-tools.d.ts +2 -2
- package/dist/tools/memory/memory-tools.d.ts.map +1 -1
- package/dist/tools/memory/memory-tools.js +4 -0
- package/dist/tools/memory/memory-tools.js.map +1 -1
- package/dist/tools/run-agent-workflow.d.ts +1 -1
- package/dist/tools/run-agent-workflow.d.ts.map +1 -1
- package/dist/tools/session-browser/session-browser-tools.d.ts +2 -2
- package/dist/tools/session-browser/session-browser-tools.d.ts.map +1 -1
- package/dist/tools/session-browser/session-browser-tools.js +106 -4
- package/dist/tools/session-browser/session-browser-tools.js.map +1 -1
- package/dist/tools/session-rollover/session-rollover-tool.d.ts +1 -1
- package/dist/tools/session-rollover/session-rollover-tool.d.ts.map +1 -1
- package/dist/tools/system/run-code/run-code-runtime.d.ts.map +1 -1
- package/dist/tools/system/run-code/run-code-runtime.js +101 -24
- package/dist/tools/system/run-code/run-code-runtime.js.map +1 -1
- package/dist/tools/system/run-code/run-code.d.ts +1 -1
- package/dist/tools/system/run-code/run-code.d.ts.map +1 -1
- package/dist/tools/system/run-code/run-code.js.map +1 -1
- package/dist/tools/system/run-code/tools-header.d.ts +2 -1
- package/dist/tools/system/run-code/tools-header.d.ts.map +1 -1
- package/dist/tools/system/run-code/tools-header.js +9 -3
- package/dist/tools/system/run-code/tools-header.js.map +1 -1
- package/dist/tools/system/shell.d.ts +6 -6
- package/dist/tools/system/shell.d.ts.map +1 -1
- package/dist/tools/system/shell.js +5 -0
- package/dist/tools/system/shell.js.map +1 -1
- package/dist/tools/system/worktree.d.ts +3 -9
- package/dist/tools/system/worktree.d.ts.map +1 -1
- package/dist/tools/system/worktree.js.map +1 -1
- package/dist/tools/tool-names.d.ts +11 -0
- package/dist/tools/tool-names.d.ts.map +1 -1
- package/dist/tools/types.d.ts +38 -3
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js.map +1 -1
- package/dist/tools/web/web-fetch.d.ts +2 -2
- package/dist/tools/web/web-fetch.d.ts.map +1 -1
- package/dist/tools/web/web-fetch.js +1 -0
- package/dist/tools/web/web-fetch.js.map +1 -1
- package/dist/tools/web/web-search.d.ts +2 -2
- package/dist/tools/web/web-search.d.ts.map +1 -1
- package/dist/tools/web/web-search.js +1 -0
- package/dist/tools/web/web-search.js.map +1 -1
- package/dist/utils/ai/token-usage.js +9 -8
- package/dist/utils/ai/token-usage.js.map +1 -1
- package/dist/utils/streaming/streaming-session-factory.d.ts.map +1 -1
- package/dist/utils/streaming/streaming-session-factory.js +3 -0
- package/dist/utils/streaming/streaming-session-factory.js.map +1 -1
- package/package.json +2 -2
- package/dist/providers/anthropic-middleware.d.ts +0 -25
- package/dist/providers/anthropic-middleware.d.ts.map +0 -1
- package/dist/providers/anthropic-middleware.js +0 -32
- package/dist/providers/anthropic-middleware.js.map +0 -1
- package/dist/providers/common/openai-compatible-messages.d.ts +0 -2
- package/dist/providers/common/openai-compatible-messages.d.ts.map +0 -1
- package/dist/providers/common/openai-compatible-messages.js.map +0 -1
- package/dist/services/session/continuation-call-id-resolver.d.ts +0 -29
- package/dist/services/session/continuation-call-id-resolver.d.ts.map +0 -1
- package/dist/services/session/continuation-call-id-resolver.js +0 -69
- package/dist/services/session/continuation-call-id-resolver.js.map +0 -1
- package/dist/services/session/continuation-state.d.ts +0 -69
- package/dist/services/session/continuation-state.d.ts.map +0 -1
- package/dist/services/session/continuation-state.js +0 -78
- package/dist/services/session/continuation-state.js.map +0 -1
- package/dist/services/session/session-manager.d.ts +0 -87
- package/dist/services/session/session-manager.d.ts.map +0 -1
- package/dist/services/session/session-manager.js +0 -146
- package/dist/services/session/session-manager.js.map +0 -1
- package/dist/services/session/turn-workflow.d.ts.map +0 -1
- package/dist/services/session/turn-workflow.js +0 -1055
- package/dist/services/session/turn-workflow.js.map +0 -1
|
@@ -43,6 +43,9 @@ const getHeadersSource = (source) => {
|
|
|
43
43
|
return undefined;
|
|
44
44
|
return headers;
|
|
45
45
|
}
|
|
46
|
+
if ('responseHeaders' in source) {
|
|
47
|
+
return getHeadersSource(source.responseHeaders);
|
|
48
|
+
}
|
|
46
49
|
return source;
|
|
47
50
|
};
|
|
48
51
|
const getHeaderValue = (source, name) => {
|
|
@@ -64,12 +67,55 @@ const getHeaderValue = (source, name) => {
|
|
|
64
67
|
};
|
|
65
68
|
export const getRetryAfterMs = (source) => {
|
|
66
69
|
const retryAfter = getHeaderValue(source, 'retry-after');
|
|
67
|
-
|
|
70
|
+
const headerDelay = parseSeconds(retryAfter);
|
|
71
|
+
if (headerDelay !== undefined)
|
|
72
|
+
return headerDelay;
|
|
73
|
+
if (!source || typeof source !== 'object')
|
|
68
74
|
return undefined;
|
|
69
|
-
|
|
70
|
-
|
|
75
|
+
// AI SDK retains Google's raw error body; its validated error data omits
|
|
76
|
+
// google.rpc.RetryInfo. Read that structured hint before the message fallback.
|
|
77
|
+
const responseBody = source.responseBody;
|
|
78
|
+
if (typeof responseBody === 'string') {
|
|
79
|
+
try {
|
|
80
|
+
const body = JSON.parse(responseBody);
|
|
81
|
+
const details = body?.error?.details;
|
|
82
|
+
if (Array.isArray(details)) {
|
|
83
|
+
for (const detail of details) {
|
|
84
|
+
if (detail?.['@type'] === 'type.googleapis.com/google.rpc.RetryInfo') {
|
|
85
|
+
const delay = parseSeconds(detail.retryDelay, true);
|
|
86
|
+
if (delay !== undefined)
|
|
87
|
+
return delay;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
// Malformed error bodies must not hide the original provider error.
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
const message = getMessage(source);
|
|
97
|
+
if (message.includes('https://ai.google.dev/')) {
|
|
98
|
+
return parseSeconds(/Please retry in (\d+(?:\.\d+)?)s\./.exec(message)?.[1]);
|
|
99
|
+
}
|
|
100
|
+
return undefined;
|
|
71
101
|
};
|
|
102
|
+
function parseSeconds(value, duration = false) {
|
|
103
|
+
if (typeof value !== 'string')
|
|
104
|
+
return undefined;
|
|
105
|
+
const match = (duration ? /^(\d+(?:\.\d+)?)s$/ : /^(\d+(?:\.\d+)?)$/).exec(value.trim());
|
|
106
|
+
if (!match)
|
|
107
|
+
return undefined;
|
|
108
|
+
const milliseconds = Math.ceil(Number(match[1]) * 1000);
|
|
109
|
+
return Number.isSafeInteger(milliseconds) ? milliseconds : undefined;
|
|
110
|
+
}
|
|
72
111
|
export function classifyUpstreamRetryableError(error) {
|
|
112
|
+
const classification = classifyUpstreamError(error);
|
|
113
|
+
if (classification.status === 429 && (classification.retryAfterMs ?? 0) > 60_000) {
|
|
114
|
+
return { ...classification, retryable: false, reason: 'long-retry-delay' };
|
|
115
|
+
}
|
|
116
|
+
return classification;
|
|
117
|
+
}
|
|
118
|
+
function classifyUpstreamError(error) {
|
|
73
119
|
if (error instanceof LongRetryDelayError) {
|
|
74
120
|
// Retry-after > 60s — don't retry, the user would wait too long
|
|
75
121
|
return { retryable: false, reason: 'long-retry-delay' };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upstream-retry-policy.js","sourceRoot":"","sources":["../../../source/services/retry/upstream-retry-policy.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"upstream-retry-policy.js","sourceRoot":"","sources":["../../../source/services/retry/upstream-retry-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +1,21 @@
|
|
|
1
1
|
import type { ConversationEvent } from '../conversation/conversation-events.js';
|
|
2
2
|
import type { ApprovalFlowCoordinator } from '../approval/approval-flow-coordinator.js';
|
|
3
3
|
import type { SessionToolTracker } from './session-tool-tracker.js';
|
|
4
|
-
import type {
|
|
5
|
-
import type { ContinuationInit, ContinuationState, PreparedContinuation } from './continuation-state.js';
|
|
4
|
+
import type { ContinuationInit, TurnProjectionState, PreparedContinuation } from './turn-projection-state.js';
|
|
6
5
|
import type { ContinuationPlan } from '../approval/approval-flow-coordinator.js';
|
|
7
6
|
import type { ApprovalContext } from '../approval/approval-decision-policy.js';
|
|
8
|
-
import type {
|
|
9
|
-
import type { SessionIdSource } from './session-identity.js';
|
|
7
|
+
import type { ConversationRecord } from '../conversation/conversation-record.js';
|
|
10
8
|
export type ContinuationPlanApplierDeps = {
|
|
11
9
|
approvalFlow: ApprovalFlowCoordinator;
|
|
12
10
|
toolTracker: SessionToolTracker;
|
|
13
|
-
|
|
14
|
-
sessionId: SessionIdSource;
|
|
15
|
-
journal: AssistantTurnJournal;
|
|
11
|
+
record: ConversationRecord;
|
|
16
12
|
};
|
|
17
13
|
export declare class ContinuationPlanApplier {
|
|
18
14
|
private readonly deps;
|
|
19
15
|
constructor(deps: ContinuationPlanApplierDeps);
|
|
20
16
|
prepareInit(init: ContinuationInit): PreparedContinuation;
|
|
21
|
-
applyInitialSetup(prepared: PreparedContinuation
|
|
17
|
+
applyInitialSetup(prepared: PreparedContinuation): AsyncGenerator<ConversationEvent, void, void>;
|
|
22
18
|
recordPendingApproval(context: ApprovalContext): void;
|
|
23
|
-
applyNextPlan(nextPlan: ContinuationPlan, state:
|
|
19
|
+
applyNextPlan(nextPlan: ContinuationPlan, state: TurnProjectionState, isApproved: boolean): AsyncGenerator<ConversationEvent, void, void>;
|
|
24
20
|
}
|
|
25
21
|
//# sourceMappingURL=continuation-plan-applier.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"continuation-plan-applier.d.ts","sourceRoot":"","sources":["../../../source/services/session/continuation-plan-applier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACxF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"continuation-plan-applier.d.ts","sourceRoot":"","sources":["../../../source/services/session/continuation-plan-applier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACxF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC9G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,MAAM,MAAM,2BAA2B,GAAG;IACxC,YAAY,EAAE,uBAAuB,CAAC;IACtC,WAAW,EAAE,kBAAkB,CAAC;IAChC,MAAM,EAAE,kBAAkB,CAAC;CAC5B,CAAC;AAEF,qBAAa,uBAAuB;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,2BAA2B,EAAI;IAElE,WAAW,CAAC,IAAI,EAAE,gBAAgB,GAAG,oBAAoB,CA8CxD;IAEM,iBAAiB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,cAAc,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,CAKtG;IAED,qBAAqB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAWpD;IAEM,aAAa,CAClB,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,mBAAmB,EAC1B,UAAU,EAAE,OAAO,GAClB,cAAc,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,CAkB/C;CACF"}
|
|
@@ -6,6 +6,7 @@ export class ContinuationPlanApplier {
|
|
|
6
6
|
this.deps = deps;
|
|
7
7
|
}
|
|
8
8
|
prepareInit(init) {
|
|
9
|
+
this.deps.record.beginDecisionResolution(init.kind === 'abort_resolution' ? 'abortResolution' : 'continueRunStream');
|
|
9
10
|
if (init.kind === 'approval_decision') {
|
|
10
11
|
const plan = this.deps.approvalFlow.prepareContinuation(init.answer, init.rejectionReason);
|
|
11
12
|
if (!plan) {
|
|
@@ -20,17 +21,9 @@ export class ContinuationPlanApplier {
|
|
|
20
21
|
else
|
|
21
22
|
plan.pendingApprovalContext.state.reject?.(plan.pendingApprovalContext.interruption);
|
|
22
23
|
return {
|
|
23
|
-
state: plan.pendingApprovalContext.state,
|
|
24
|
-
interruption: plan.pendingApprovalContext.interruption,
|
|
25
|
-
toolCallArgumentsById: plan.pendingApprovalContext.toolCallArgumentsById,
|
|
26
|
-
previouslyEmittedCommandIds: plan.pendingApprovalContext.emittedCommandIds,
|
|
27
24
|
toolStartedEvent: undefined,
|
|
28
25
|
source: 'continueRunStream',
|
|
29
|
-
token: plan.pendingApprovalContext.token,
|
|
30
26
|
inputMode: plan.pendingApprovalContext.inputMode,
|
|
31
|
-
cumulativeUsage: plan.pendingApprovalContext.cumulativeUsage,
|
|
32
|
-
cumulativeCommandMessages: plan.pendingApprovalContext.cumulativeCommandMessages,
|
|
33
|
-
cumulativeTurnItems: plan.pendingApprovalContext.cumulativeTurnItems,
|
|
34
27
|
};
|
|
35
28
|
}
|
|
36
29
|
if (init.answer !== 'y') {
|
|
@@ -38,80 +31,53 @@ export class ContinuationPlanApplier {
|
|
|
38
31
|
const output = init.rejectionReason
|
|
39
32
|
? `Tool execution was not approved. User's reason: ${init.rejectionReason}`
|
|
40
33
|
: 'Tool execution was not approved.';
|
|
41
|
-
this.deps.
|
|
34
|
+
this.deps.record.recordAbortedApproval(output, output, callId);
|
|
42
35
|
}
|
|
43
36
|
return {
|
|
44
|
-
state: plan.pendingApprovalContext.state,
|
|
45
|
-
interruption: plan.pendingApprovalContext.interruption,
|
|
46
|
-
toolCallArgumentsById: plan.pendingApprovalContext.toolCallArgumentsById,
|
|
47
|
-
previouslyEmittedCommandIds: plan.pendingApprovalContext.emittedCommandIds,
|
|
48
37
|
toolStartedEvent: plan.toolStartedEvent,
|
|
49
38
|
source: 'continueRunStream',
|
|
50
|
-
token: plan.pendingApprovalContext.token,
|
|
51
39
|
inputMode: plan.pendingApprovalContext.inputMode,
|
|
52
|
-
cumulativeUsage: plan.pendingApprovalContext.cumulativeUsage,
|
|
53
|
-
cumulativeCommandMessages: plan.pendingApprovalContext.cumulativeCommandMessages,
|
|
54
|
-
cumulativeTurnItems: plan.pendingApprovalContext.cumulativeTurnItems,
|
|
55
40
|
};
|
|
56
41
|
}
|
|
57
42
|
const { abortedContext } = init;
|
|
58
43
|
this.deps.approvalFlow.prepareAbortResolution(abortedContext, init.userText);
|
|
59
44
|
return {
|
|
60
|
-
state: abortedContext.state,
|
|
61
|
-
interruption: abortedContext.interruption,
|
|
62
|
-
toolCallArgumentsById: abortedContext.toolCallArgumentsById,
|
|
63
|
-
previouslyEmittedCommandIds: abortedContext.emittedCommandIds,
|
|
64
45
|
toolStartedEvent: undefined,
|
|
65
46
|
source: 'abortResolution',
|
|
66
|
-
token: abortedContext.token,
|
|
67
47
|
inputMode: abortedContext.inputMode,
|
|
68
|
-
cumulativeUsage: abortedContext.cumulativeUsage,
|
|
69
|
-
cumulativeCommandMessages: abortedContext.cumulativeCommandMessages,
|
|
70
|
-
cumulativeTurnItems: abortedContext.cumulativeTurnItems,
|
|
71
48
|
};
|
|
72
49
|
}
|
|
73
|
-
async *applyInitialSetup(prepared
|
|
50
|
+
async *applyInitialSetup(prepared) {
|
|
74
51
|
if (prepared.toolStartedEvent) {
|
|
75
52
|
const filtered = this.deps.toolTracker.dedupeToolStarted(prepared.toolStartedEvent);
|
|
76
53
|
if (filtered)
|
|
77
54
|
yield filtered;
|
|
78
55
|
}
|
|
79
|
-
this.deps.toolTracker.clearArguments();
|
|
80
|
-
if (prepared.toolCallArgumentsById?.size) {
|
|
81
|
-
for (const [key, value] of prepared.toolCallArgumentsById.entries()) {
|
|
82
|
-
this.deps.toolTracker.argumentsById.set(key, value);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
state.setJournalSnapshot(this.deps.journal.getEvents());
|
|
86
56
|
}
|
|
87
57
|
recordPendingApproval(context) {
|
|
88
58
|
if (!context.callId) {
|
|
89
59
|
return;
|
|
90
60
|
}
|
|
91
|
-
this.deps.
|
|
61
|
+
this.deps.record.recordFunctionCall({
|
|
92
62
|
type: 'function_call',
|
|
93
63
|
callId: context.callId,
|
|
94
64
|
name: context.toolName,
|
|
95
65
|
arguments: context.argumentsText,
|
|
96
66
|
});
|
|
97
67
|
}
|
|
98
|
-
async *applyNextPlan(nextPlan, state,
|
|
68
|
+
async *applyNextPlan(nextPlan, state, isApproved) {
|
|
99
69
|
if (!isApproved) {
|
|
100
70
|
const callId = getCallIdFromObject(nextPlan.pendingApprovalContext.interruption);
|
|
101
|
-
this.deps.
|
|
71
|
+
this.deps.record.recordAbortedApproval('Tool execution was not approved.', 'Tool execution was not approved.', callId);
|
|
102
72
|
}
|
|
103
73
|
if (nextPlan.toolStartedEvent) {
|
|
104
74
|
const filtered = this.deps.toolTracker.dedupeToolStarted(nextPlan.toolStartedEvent);
|
|
105
75
|
if (filtered)
|
|
106
76
|
yield filtered;
|
|
107
77
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
this.deps.toolTracker.argumentsById.set(key, value);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
state.advanceFromPlan(nextPlan.pendingApprovalContext.state, nextPlan.pendingApprovalContext.interruption, nextPlan.pendingApprovalContext.inputMode, mergedEmittedIds, this.deps.journal.getEvents(), this.deps.toolTracker.activeCallIdsForCurrentTurn());
|
|
78
|
+
state.source = 'continueRunStream';
|
|
79
|
+
state.inputMode = nextPlan.pendingApprovalContext.inputMode ?? state.inputMode;
|
|
80
|
+
this.deps.record.beginDecisionResolution();
|
|
115
81
|
}
|
|
116
82
|
}
|
|
117
83
|
//# sourceMappingURL=continuation-plan-applier.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"continuation-plan-applier.js","sourceRoot":"","sources":["../../../source/services/session/continuation-plan-applier.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"continuation-plan-applier.js","sourceRoot":"","sources":["../../../source/services/session/continuation-plan-applier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ConversationRecord } from '../conversation/conversation-record.js';
|
|
1
2
|
import type { ConversationEvent } from '../conversation/conversation-events.js';
|
|
2
3
|
import type { ILoggingService } from '../service-interfaces.js';
|
|
3
4
|
import type { GenerationGuard } from '../generation-guard.js';
|
|
@@ -6,8 +7,7 @@ import type { DefaultConversationRecoveryPolicy } from '../retry/recovery-policy
|
|
|
6
7
|
import type { DefaultRecoveryExecutor } from '../retry/recovery-executor.js';
|
|
7
8
|
import type { RetryEventPresenter } from '../retry/retry-event-presenter.js';
|
|
8
9
|
import type { ClassifiedFailure, RetryCounts } from '../retry/retry-contracts.js';
|
|
9
|
-
import type {
|
|
10
|
-
import type { SessionToolTracker } from './session-tool-tracker.js';
|
|
10
|
+
import type { TurnProjectionState } from './turn-projection-state.js';
|
|
11
11
|
import type { SessionIdSource } from './session-identity.js';
|
|
12
12
|
export type ContinuationRecoveryHandlerDeps = {
|
|
13
13
|
breakChaining?: (reason: Extract<ClassifiedFailure, {
|
|
@@ -21,15 +21,13 @@ export type ContinuationRecoveryHandlerDeps = {
|
|
|
21
21
|
recoveryExecutor: DefaultRecoveryExecutor;
|
|
22
22
|
retryEventPresenter: RetryEventPresenter;
|
|
23
23
|
resolveRetryLimit: () => number;
|
|
24
|
-
|
|
24
|
+
record: ConversationRecord;
|
|
25
25
|
provider?: string;
|
|
26
26
|
};
|
|
27
27
|
export type ContinuationRecoveryResult = {
|
|
28
28
|
kind: 'stale';
|
|
29
29
|
} | {
|
|
30
30
|
kind: 'terminated';
|
|
31
|
-
} | {
|
|
32
|
-
kind: 'resume';
|
|
33
31
|
} | {
|
|
34
32
|
kind: 'fresh_start';
|
|
35
33
|
retryCounts: RetryCounts;
|
|
@@ -42,7 +40,7 @@ export declare class ContinuationRecoveryHandler {
|
|
|
42
40
|
constructor(deps: ContinuationRecoveryHandlerDeps);
|
|
43
41
|
handle(ctx: {
|
|
44
42
|
error: unknown;
|
|
45
|
-
state:
|
|
43
|
+
state: TurnProjectionState;
|
|
46
44
|
}): AsyncGenerator<ConversationEvent, ContinuationRecoveryResult, void>;
|
|
47
45
|
}
|
|
48
46
|
//# sourceMappingURL=continuation-recovery-handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"continuation-recovery-handler.d.ts","sourceRoot":"","sources":["../../../source/services/session/continuation-recovery-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAiB,MAAM,6BAA6B,CAAC;AACjG,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"continuation-recovery-handler.d.ts","sourceRoot":"","sources":["../../../source/services/session/continuation-recovery-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAiB,MAAM,6BAA6B,CAAC;AACjG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D,MAAM,MAAM,+BAA+B,GAAG;IAC5C,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,EAAE;QAAE,IAAI,EAAE,gBAAgB,CAAA;KAAE,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAClG,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,eAAe,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,EAAE,sBAAsB,CAAC;IACxC,cAAc,EAAE,iCAAiC,CAAC;IAClD,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,iBAAiB,EAAE,MAAM,MAAM,CAAC;IAChC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAClC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC,CAAC;AAEN,qBAAa,2BAA2B;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,+BAA+B,EAAI;IAE/D,MAAM,CAAC,GAAG,EAAE;QACjB,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,EAAE,mBAAmB,CAAC;KAC5B,GAAG,cAAc,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,IAAI,CAAC,CAyKtE;CACF"}
|
|
@@ -15,8 +15,7 @@ export class ContinuationRecoveryHandler {
|
|
|
15
15
|
// first lets the admission gate see them where the projection permits, and
|
|
16
16
|
// leaves the full-history rebuild self-contained. Open/unknown calls are
|
|
17
17
|
// unaffected and stay guarded by allToolsCompleted.
|
|
18
|
-
this.deps.
|
|
19
|
-
const committedToolContinuation = this.deps.toolTracker.inspectCommittedToolContinuation?.();
|
|
18
|
+
const committedToolContinuation = this.deps.record.inspectCommittedToolContinuation();
|
|
20
19
|
const classified = this.deps.retryClassifier.classify({
|
|
21
20
|
error,
|
|
22
21
|
retryCounts: state.retryCounts,
|
|
@@ -34,7 +33,7 @@ export class ContinuationRecoveryHandler {
|
|
|
34
33
|
const terminateResult = this.deps.recoveryExecutor.apply({
|
|
35
34
|
plan: { kind: 'terminate', events: [] },
|
|
36
35
|
state: {
|
|
37
|
-
|
|
36
|
+
baseline: 'decision',
|
|
38
37
|
addedUserMessage: false,
|
|
39
38
|
stream: retryStream,
|
|
40
39
|
},
|
|
@@ -78,7 +77,7 @@ export class ContinuationRecoveryHandler {
|
|
|
78
77
|
freshStartRetriesAllowed: true,
|
|
79
78
|
});
|
|
80
79
|
const recoveryState = {
|
|
81
|
-
|
|
80
|
+
baseline: 'decision',
|
|
82
81
|
addedUserMessage: false,
|
|
83
82
|
stream: retryStream,
|
|
84
83
|
};
|
|
@@ -149,17 +148,6 @@ export class ContinuationRecoveryHandler {
|
|
|
149
148
|
if (recoveryResult.kind === 'terminated') {
|
|
150
149
|
return { kind: 'terminated' };
|
|
151
150
|
}
|
|
152
|
-
if (recoveryResult.instruction.resumeState) {
|
|
153
|
-
if (typeof transientDelayMs === 'number' && transientDelayMs > 0) {
|
|
154
|
-
await new Promise((resolve) => setTimeout(resolve, transientDelayMs));
|
|
155
|
-
if (!this.deps.generationGuard.isCurrent(state.token)) {
|
|
156
|
-
return { kind: 'stale' };
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
state.currentState = recoveryResult.instruction.resumeState;
|
|
160
|
-
state.setResumePreviousResponseId(recoveryResult.instruction.resumePreviousResponseId);
|
|
161
|
-
return { kind: 'resume' };
|
|
162
|
-
}
|
|
163
151
|
return {
|
|
164
152
|
kind: 'fresh_start',
|
|
165
153
|
retryCounts: state.retryCounts,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"continuation-recovery-handler.js","sourceRoot":"","sources":["../../../source/services/session/continuation-recovery-handler.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAEpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"continuation-recovery-handler.js","sourceRoot":"","sources":["../../../source/services/session/continuation-recovery-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import type { ConversationRecord } from '../conversation/conversation-record.js';
|
|
1
2
|
import type { ConversationEvent } from '../conversation/conversation-events.js';
|
|
2
3
|
import type { ILoggingService } from '../service-interfaces.js';
|
|
3
|
-
import type { ConversationStore } from '../conversation/conversation-store.js';
|
|
4
4
|
import type { GenerationGuard } from '../generation-guard.js';
|
|
5
5
|
import type { SessionInputPlanner } from './session-input-planner.js';
|
|
6
6
|
import type { SessionLifecycle } from './session-lifecycle.js';
|
|
@@ -17,7 +17,7 @@ export type InitialInputPreparationResult = {
|
|
|
17
17
|
event: InputSurgeErrorEvent;
|
|
18
18
|
};
|
|
19
19
|
export type InitialInputPreparerDeps = {
|
|
20
|
-
|
|
20
|
+
record: ConversationRecord;
|
|
21
21
|
generationGuard: GenerationGuard;
|
|
22
22
|
inputPlanner: SessionInputPlanner;
|
|
23
23
|
logger: ILoggingService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initial-input-preparer.d.ts","sourceRoot":"","sources":["../../../source/services/session/initial-input-preparer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"initial-input-preparer.d.ts","sourceRoot":"","sources":["../../../source/services/session/initial-input-preparer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAA6B,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D,KAAK,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAE1E,MAAM,MAAM,6BAA6B,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAEjH,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,EAAE,mBAAmB,CAAC;IAClC,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,gBAAgB,CAAC;CACzB,CAAC;AAEF,qBAAa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,wBAAwB,EAAI;IAE/D,OAAO,CACL,OAAO,EAAE,WAAW,EACpB,eAAe,EAAE,OAAO,EACxB,OAAO,CAAC,EAAE;QAAE,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,GACjF,6BAA6B,CAsF/B;CACF"}
|
|
@@ -8,7 +8,7 @@ export class InitialInputPreparer {
|
|
|
8
8
|
}
|
|
9
9
|
prepare(attempt, skipUserMessage, options) {
|
|
10
10
|
if (!skipUserMessage && !attempt.addedUserMessage && !options?.replayFromHistory) {
|
|
11
|
-
this.deps.
|
|
11
|
+
this.deps.record.addUserTurn(attempt.turn);
|
|
12
12
|
attempt.markUserMessageAdded();
|
|
13
13
|
}
|
|
14
14
|
const plan = this.deps.inputPlanner.build(attempt.turn, {
|
|
@@ -19,7 +19,7 @@ export class InitialInputPreparer {
|
|
|
19
19
|
if (plan.refusal) {
|
|
20
20
|
let droppedUserMessage;
|
|
21
21
|
if (attempt.addedUserMessage && this.deps.generationGuard.isCurrent(attempt.token)) {
|
|
22
|
-
this.deps.
|
|
22
|
+
this.deps.record.removeLastUserMessage();
|
|
23
23
|
droppedUserMessage = {
|
|
24
24
|
text: stripMemoryRecall(attempt.turn.text),
|
|
25
25
|
imageCount: attempt.turn.images?.length ?? 0,
|
|
@@ -55,7 +55,7 @@ export class InitialInputPreparer {
|
|
|
55
55
|
if (surgeDecision.action === 'block' && !approvedSurge) {
|
|
56
56
|
let droppedUserMessage;
|
|
57
57
|
if (attempt.addedUserMessage && this.deps.generationGuard.isCurrent(attempt.token)) {
|
|
58
|
-
this.deps.
|
|
58
|
+
this.deps.record.removeLastUserMessage();
|
|
59
59
|
droppedUserMessage = {
|
|
60
60
|
text: stripMemoryRecall(attempt.turn.text),
|
|
61
61
|
imageCount: attempt.turn.images?.length ?? 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initial-input-preparer.js","sourceRoot":"","sources":["../../../source/services/session/initial-input-preparer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,yBAAyB,EAA2B,MAAM,4BAA4B,CAAC;AAEhG,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAe1E,MAAM,OAAO,oBAAoB;IACF,IAAI;IAAjC,YAA6B,IAA8B;oBAA9B,IAAI;IAA6B,CAAC;IAE/D,OAAO,CACL,OAAoB,EACpB,eAAwB,EACxB,OAAkF;QAElF,IAAI,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,CAAC;YACjF,IAAI,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"initial-input-preparer.js","sourceRoot":"","sources":["../../../source/services/session/initial-input-preparer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import type { ConversationRecord } from '../conversation/conversation-record.js';
|
|
1
2
|
import type { ConversationEvent } from '../conversation/conversation-events.js';
|
|
2
3
|
import type { ILoggingService } from '../service-interfaces.js';
|
|
3
|
-
import type { ConversationStore } from '../conversation/conversation-store.js';
|
|
4
4
|
import type { AgentStream } from '../agent-stream.js';
|
|
5
5
|
import type { GenerationGuard } from '../generation-guard.js';
|
|
6
6
|
import type { DefaultConversationRecoveryPolicy } from '../retry/recovery-policy.js';
|
|
@@ -10,7 +10,6 @@ import type { RetryEventPresenter } from '../retry/retry-event-presenter.js';
|
|
|
10
10
|
import type { ClassifiedFailure, NextRunInstruction } from '../retry/retry-contracts.js';
|
|
11
11
|
import type { SessionInputPlanner } from './session-input-planner.js';
|
|
12
12
|
import type { TurnAttempt } from './turn-attempt.js';
|
|
13
|
-
import type { SessionToolTracker } from './session-tool-tracker.js';
|
|
14
13
|
import type { SessionIdSource } from './session-identity.js';
|
|
15
14
|
export type InitialTurnRecoveryResult = {
|
|
16
15
|
kind: 'run';
|
|
@@ -26,7 +25,7 @@ export type InitialTurnRecoveryHandlerDeps = {
|
|
|
26
25
|
breakChaining?: (reason: Extract<ClassifiedFailure, {
|
|
27
26
|
kind: 'chain_recovery';
|
|
28
27
|
}>['cause']) => void;
|
|
29
|
-
|
|
28
|
+
record: ConversationRecord;
|
|
30
29
|
freshStartRetriesAllowed: boolean;
|
|
31
30
|
generationGuard: GenerationGuard;
|
|
32
31
|
inputPlanner: SessionInputPlanner;
|
|
@@ -37,7 +36,6 @@ export type InitialTurnRecoveryHandlerDeps = {
|
|
|
37
36
|
retryEventPresenter: RetryEventPresenter;
|
|
38
37
|
sessionId: SessionIdSource;
|
|
39
38
|
provider?: string;
|
|
40
|
-
toolTracker?: Pick<SessionToolTracker, 'inspectCommittedToolContinuation' | 'reconcileAndUpdateHistory'>;
|
|
41
39
|
};
|
|
42
40
|
export declare class InitialTurnRecoveryHandler {
|
|
43
41
|
#private;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initial-turn-recovery-handler.d.ts","sourceRoot":"","sources":["../../../source/services/session/initial-turn-recovery-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"initial-turn-recovery-handler.d.ts","sourceRoot":"","sources":["../../../source/services/session/initial-turn-recovery-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAEhF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAiB,MAAM,6BAA6B,CAAC;AAIxG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D,MAAM,MAAM,yBAAyB,GACjC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,WAAW,EAAE,kBAAkB,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAE,GACpG;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtB,MAAM,MAAM,8BAA8B,GAAG;IAC3C,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,EAAE;QAAE,IAAI,EAAE,gBAAgB,CAAA;KAAE,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAClG,MAAM,EAAE,kBAAkB,CAAC;IAC3B,wBAAwB,EAAE,OAAO,CAAC;IAClC,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,EAAE,mBAAmB,CAAC;IAClC,MAAM,EAAE,eAAe,CAAC;IACxB,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,cAAc,EAAE,iCAAiC,CAAC;IAClD,eAAe,EAAE,sBAAsB,CAAC;IACxC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,SAAS,EAAE,eAAe,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,qBAAa,0BAA0B;;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,8BAA8B,EAAI;IAE9D,MAAM,CAAC,GAAG,EAAE;QACjB,KAAK,EAAE,OAAO,CAAC;QACf,OAAO,EAAE,WAAW,CAAC;QACrB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;KAC5B,GAAG,cAAc,CAAC,iBAAiB,EAAE,yBAAyB,EAAE,IAAI,CAAC,CAgQrE;CAiBF"}
|
|
@@ -19,8 +19,7 @@ export class InitialTurnRecoveryHandler {
|
|
|
19
19
|
// for the initial path too: a mid-turn tool continuation that fails while
|
|
20
20
|
// the run loop is still draining the initial stream reaches this handler
|
|
21
21
|
// with completed pairs that may not yet be committed.
|
|
22
|
-
this.deps.
|
|
23
|
-
const committedToolContinuation = this.deps.toolTracker?.inspectCommittedToolContinuation();
|
|
22
|
+
const committedToolContinuation = this.deps.record.inspectCommittedToolContinuation();
|
|
24
23
|
let classified = this.deps.retryClassifier.classify({
|
|
25
24
|
error,
|
|
26
25
|
retryCounts: attempt.retryCounts,
|
|
@@ -70,14 +69,14 @@ export class InitialTurnRecoveryHandler {
|
|
|
70
69
|
const recoveryResult = this.deps.recoveryExecutor.apply({
|
|
71
70
|
plan,
|
|
72
71
|
state: {
|
|
73
|
-
|
|
72
|
+
baseline: 'initial',
|
|
74
73
|
addedUserMessage: attempt.addedUserMessage,
|
|
75
74
|
stream,
|
|
76
75
|
},
|
|
77
76
|
retryCounts: attempt.retryCounts,
|
|
78
77
|
maxModelRetries: attempt.maxModelRetries,
|
|
79
78
|
});
|
|
80
|
-
this.deps.inputPlanner.recordSuccess(this.deps.
|
|
79
|
+
this.deps.inputPlanner.recordSuccess(this.deps.record.getHistory(), {
|
|
81
80
|
kind: 'full_history',
|
|
82
81
|
previousInput: attempt.streamInput,
|
|
83
82
|
});
|
|
@@ -148,7 +147,7 @@ export class InitialTurnRecoveryHandler {
|
|
|
148
147
|
freshStartRetriesAllowed: this.deps.freshStartRetriesAllowed,
|
|
149
148
|
});
|
|
150
149
|
const recoveryState = {
|
|
151
|
-
|
|
150
|
+
baseline: 'initial',
|
|
152
151
|
addedUserMessage: attempt.addedUserMessage,
|
|
153
152
|
stream,
|
|
154
153
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initial-turn-recovery-handler.js","sourceRoot":"","sources":["../../../source/services/session/initial-turn-recovery-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"initial-turn-recovery-handler.js","sourceRoot":"","sources":["../../../source/services/session/initial-turn-recovery-handler.ts"],"names":[],"mappings":"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"}
|