@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
|
@@ -1,220 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
import { projectProviderHistory } from '../conversation/conversation-state-projector.js';
|
|
3
|
-
/**
|
|
4
|
-
* Owns all tool-tracking state for a conversation session.
|
|
5
|
-
*
|
|
6
|
-
* This includes the tool execution ledger, tool-call arguments cache,
|
|
7
|
-
* and deduplication sets for invalid packets and started events.
|
|
8
|
-
*
|
|
9
|
-
* The session delegates to this tracker rather than interleaving
|
|
10
|
-
* tool-tracking logic with other concerns.
|
|
11
|
-
*/
|
|
1
|
+
/** Presentation caches only; accepted tool evidence belongs to ConversationRecord. */
|
|
12
2
|
export class SessionToolTracker {
|
|
13
|
-
conversationStore;
|
|
14
|
-
toolLedger = new ToolExecutionLedger();
|
|
15
3
|
toolCallArgumentsById = new Map();
|
|
16
4
|
emittedInvalidToolCallPackets = new Set();
|
|
17
5
|
emittedToolStartedCallIds = new Set();
|
|
18
6
|
emittedSubagentToolStartedIds = new Set();
|
|
19
7
|
emittedCommandMessageIdsByCallId = new Map();
|
|
20
|
-
|
|
21
|
-
this.
|
|
22
|
-
this.#attachUserTurnCount();
|
|
8
|
+
snapshotArguments() {
|
|
9
|
+
return new Map(this.toolCallArgumentsById);
|
|
23
10
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
* Get the underlying ledger for direct access when needed.
|
|
29
|
-
*/
|
|
30
|
-
get ledger() {
|
|
31
|
-
return this.toolLedger;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Get the tool-call arguments cache for direct access when needed.
|
|
35
|
-
*/
|
|
36
|
-
get argumentsById() {
|
|
37
|
-
return this.toolCallArgumentsById;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Get the invalid packets set for direct access when needed.
|
|
41
|
-
*/
|
|
42
|
-
get invalidPackets() {
|
|
43
|
-
return this.emittedInvalidToolCallPackets;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Begin a new turn in the ledger.
|
|
47
|
-
*/
|
|
48
|
-
beginTurn() {
|
|
49
|
-
this.toolLedger.beginTurn();
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Returns the id of the turn currently in progress, or 'turn-0' if no turn
|
|
53
|
-
* has begun yet. Exposed for the journal and logger to tag entries with a
|
|
54
|
-
* stable turn identifier that survives approval continuations.
|
|
55
|
-
*/
|
|
56
|
-
getCurrentTurnId() {
|
|
57
|
-
return this.toolLedger.getCurrentTurnId();
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Returns call IDs for every tool call recorded in the current turn,
|
|
61
|
-
* regardless of status. The chained-input filter requires the complete set
|
|
62
|
-
* because the provider API requires a tool output for every tool call in an
|
|
63
|
-
* assistant turn — including rejected calls, for which the SDK produces a
|
|
64
|
-
* synthetic output.
|
|
65
|
-
*/
|
|
66
|
-
activeCallIdsForCurrentTurn() {
|
|
67
|
-
return this.toolLedger.activeCallIdsForTurn();
|
|
68
|
-
}
|
|
69
|
-
/** Returns only completed tool-result call IDs recorded during the current turn. */
|
|
70
|
-
completedResultCallIdsForCurrentTurn() {
|
|
71
|
-
return this.toolLedger.completedResultCallIdsForCurrentTurn();
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Admission evidence for post-tool connection recovery: whether every live-turn
|
|
75
|
-
* tool completed and whether reconciled history still holds those pairs.
|
|
76
|
-
*/
|
|
77
|
-
inspectCommittedToolContinuation() {
|
|
78
|
-
const turnId = this.getCurrentTurnId();
|
|
79
|
-
const live = this.toolLedger.export().filter((entry) => entry.turnId === turnId);
|
|
80
|
-
const completed = live.filter((entry) => entry.status === 'completed');
|
|
81
|
-
const historyCallIds = new Set(this.getReconciledHistory()
|
|
82
|
-
.map((item) => callIdOf(item))
|
|
83
|
-
.filter((callId) => Boolean(callId)));
|
|
11
|
+
/** Work on a detached segment view; only a current generation commits it. */
|
|
12
|
+
beginProjection(preserveArguments) {
|
|
13
|
+
const argumentsById = preserveArguments ? this.snapshotArguments() : new Map();
|
|
14
|
+
const invalidPackets = new Set(this.emittedInvalidToolCallPackets);
|
|
84
15
|
return {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
16
|
+
argumentsById,
|
|
17
|
+
invalidPackets,
|
|
18
|
+
commit: () => {
|
|
19
|
+
this.toolCallArgumentsById = new Map(argumentsById);
|
|
20
|
+
for (const packet of invalidPackets)
|
|
21
|
+
this.emittedInvalidToolCallPackets.add(packet);
|
|
22
|
+
},
|
|
88
23
|
};
|
|
89
24
|
}
|
|
90
|
-
/**
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
* provider-side tool debt while previousResponseId still points at the chain.
|
|
94
|
-
*/
|
|
95
|
-
unsettledToolCallIdsForCurrentTurn() {
|
|
96
|
-
const completed = new Set(this.completedResultCallIdsForCurrentTurn());
|
|
97
|
-
return this.activeCallIdsForCurrentTurn().filter((callId) => !completed.has(callId));
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Export the current ledger state.
|
|
101
|
-
*/
|
|
102
|
-
export() {
|
|
103
|
-
return this.toolLedger.export();
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Import a saved ledger state.
|
|
107
|
-
*/
|
|
108
|
-
import(entries) {
|
|
109
|
-
this.toolLedger.import(entries);
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Record a function call in the ledger.
|
|
113
|
-
*/
|
|
114
|
-
recordFunctionCall(item) {
|
|
115
|
-
this.toolLedger.recordFunctionCall(item);
|
|
25
|
+
/** A settled result allows a later provider reuse of the call id to render anew. */
|
|
26
|
+
noteResultObserved(callId) {
|
|
27
|
+
this.emittedToolStartedCallIds.delete(callId);
|
|
116
28
|
}
|
|
117
|
-
/**
|
|
118
|
-
* Record reasoning that should be replayed before the next tool call.
|
|
119
|
-
*/
|
|
120
|
-
recordReasoningText(text) {
|
|
121
|
-
this.toolLedger.recordReasoningText(text);
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Record a function result in the ledger.
|
|
125
|
-
*/
|
|
126
|
-
recordFunctionResult(item) {
|
|
127
|
-
this.toolLedger.recordFunctionResult(item);
|
|
128
|
-
// The call is settled. A later tool_started with this id is a new execution (the provider reused
|
|
129
|
-
// the id), not a re-emit of this one, so it must be shown.
|
|
130
|
-
const callId = callIdOf(item);
|
|
131
|
-
if (callId)
|
|
132
|
-
this.emittedToolStartedCallIds.delete(callId);
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Record an aborted approval in the ledger.
|
|
136
|
-
*/
|
|
137
|
-
recordAbortedApproval(output, errorMessage, callId) {
|
|
138
|
-
this.toolLedger.recordAbortedApproval(output, errorMessage, callId);
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Mark that tool execution has begun for this callId (side effects may occur).
|
|
142
|
-
*/
|
|
143
|
-
markDispatched(callId) {
|
|
144
|
-
this.toolLedger.markDispatched(callId);
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Mark open calls as aborted with the given error message.
|
|
148
|
-
*/
|
|
149
|
-
markOpenCallsAborted(errorMessage, callId) {
|
|
150
|
-
this.toolLedger.markOpenCallsAborted(errorMessage, callId);
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Settle open calls after stream failure: dispatched → unknown, otherwise aborted.
|
|
154
|
-
*/
|
|
155
|
-
settleOpenCallsOnStreamFailure(reason = 'Stream failed', callId) {
|
|
156
|
-
return this.toolLedger.settleOpenCallsOnStreamFailure(reason, callId);
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Get a recovery summary if there are recovered/dropped calls.
|
|
160
|
-
*/
|
|
161
|
-
getRecoverySummary() {
|
|
162
|
-
return this.toolLedger.getRecoverySummary();
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Restore completed, aborted, and unknown tool ledger entries from a snapshot.
|
|
166
|
-
*
|
|
167
|
-
* Completed entries carry their results forward so they can be reprojected
|
|
168
|
-
* into history. Aborted and unknown entries (with synthetic results) are also
|
|
169
|
-
* preserved so the reconciler injects result pairs for interrupted tool calls
|
|
170
|
-
* instead of leaving dangling function_call items.
|
|
171
|
-
*/
|
|
172
|
-
restoreCompletedEntries(snapshot) {
|
|
173
|
-
const merged = [...snapshot];
|
|
174
|
-
const indexByCallId = new Map();
|
|
175
|
-
merged.forEach((entry, index) => {
|
|
176
|
-
indexByCallId.set(entry.callId, index);
|
|
177
|
-
});
|
|
178
|
-
for (const entry of this.toolLedger.export()) {
|
|
179
|
-
if (entry.status !== 'completed' && entry.status !== 'aborted' && entry.status !== 'unknown') {
|
|
180
|
-
continue;
|
|
181
|
-
}
|
|
182
|
-
const existingIndex = indexByCallId.get(entry.callId);
|
|
183
|
-
if (existingIndex !== undefined) {
|
|
184
|
-
merged[existingIndex] = entry;
|
|
185
|
-
continue;
|
|
186
|
-
}
|
|
187
|
-
indexByCallId.set(entry.callId, merged.length);
|
|
188
|
-
merged.push(entry);
|
|
189
|
-
}
|
|
190
|
-
this.toolLedger.import(merged);
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* Prune the tool ledger to only include entries from the current history.
|
|
194
|
-
*/
|
|
195
|
-
pruneToCurrentHistory() {
|
|
196
|
-
const userTurnCount = this.conversationStore.listUserTurns().length;
|
|
197
|
-
const historyCallIds = new Set(this.conversationStore
|
|
198
|
-
.getHistory()
|
|
199
|
-
.map((item) => callIdOf(item))
|
|
200
|
-
.filter(Boolean));
|
|
201
|
-
const filteredEntries = this.toolLedger.export().filter((entry) => {
|
|
202
|
-
if (entry.userTurnCount !== undefined) {
|
|
203
|
-
return entry.userTurnCount <= userTurnCount;
|
|
204
|
-
}
|
|
205
|
-
const match = /^turn-(\d+)$/.exec(entry.turnId);
|
|
206
|
-
if (match) {
|
|
207
|
-
return Number.parseInt(match[1], 10) <= userTurnCount;
|
|
208
|
-
}
|
|
209
|
-
return historyCallIds.has(entry.callId);
|
|
210
|
-
});
|
|
211
|
-
this.toolLedger.import(filteredEntries);
|
|
212
|
-
}
|
|
213
|
-
/**
|
|
214
|
-
* Deduplicate tool_started events. One execution emits tool_started twice: when the model's call
|
|
215
|
-
* streams in, and again from the approval/continuation plan before the tool runs. Only the first is
|
|
216
|
-
* kept. Recording the call's result ends the execution (see recordFunctionResult).
|
|
217
|
-
*/
|
|
218
29
|
dedupeToolStarted(event) {
|
|
219
30
|
if (event.type === 'subagent_tool_started') {
|
|
220
31
|
const key = `${event.agentId}:${event.toolCallId}`;
|
|
@@ -253,47 +64,9 @@ export class SessionToolTracker {
|
|
|
253
64
|
this.emittedCommandMessageIdsByCallId.delete(callId);
|
|
254
65
|
return ids;
|
|
255
66
|
}
|
|
256
|
-
/**
|
|
257
|
-
* Reconcile history with the tool ledger and return the reconciled history.
|
|
258
|
-
*/
|
|
259
|
-
getReconciledHistory() {
|
|
260
|
-
return projectProviderHistory({
|
|
261
|
-
history: this.conversationStore.getHistory(),
|
|
262
|
-
toolLedger: this.toolLedger.export(),
|
|
263
|
-
}).history;
|
|
264
|
-
}
|
|
265
|
-
/**
|
|
266
|
-
* Reconcile history with the tool ledger and update the store if needed.
|
|
267
|
-
* Returns true if any changes were made.
|
|
268
|
-
*/
|
|
269
|
-
reconcileAndUpdateHistory() {
|
|
270
|
-
const projected = projectProviderHistory({
|
|
271
|
-
history: this.conversationStore.getHistory(),
|
|
272
|
-
toolLedger: this.toolLedger.export(),
|
|
273
|
-
});
|
|
274
|
-
if (projected.warnings.length > 0) {
|
|
275
|
-
this.conversationStore.replaceHistory(projected.history);
|
|
276
|
-
return true;
|
|
277
|
-
}
|
|
278
|
-
return false;
|
|
279
|
-
}
|
|
280
|
-
/**
|
|
281
|
-
* Clear tool-call arguments cache.
|
|
282
|
-
*/
|
|
283
67
|
clearArguments() {
|
|
284
68
|
this.toolCallArgumentsById.clear();
|
|
285
69
|
}
|
|
286
|
-
/**
|
|
287
|
-
* Restore tool-call arguments from a saved map.
|
|
288
|
-
*/
|
|
289
|
-
restoreArguments(savedArgs) {
|
|
290
|
-
this.toolCallArgumentsById.clear();
|
|
291
|
-
if (savedArgs?.size) {
|
|
292
|
-
for (const [key, value] of savedArgs.entries()) {
|
|
293
|
-
this.toolCallArgumentsById.set(key, value);
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
70
|
/**
|
|
298
71
|
* Clear emitted tool started call IDs.
|
|
299
72
|
*/
|
|
@@ -301,12 +74,5 @@ export class SessionToolTracker {
|
|
|
301
74
|
this.emittedToolStartedCallIds.clear();
|
|
302
75
|
this.emittedCommandMessageIdsByCallId.clear();
|
|
303
76
|
}
|
|
304
|
-
/**
|
|
305
|
-
* Reset the tracker to a fresh state (for session reset).
|
|
306
|
-
*/
|
|
307
|
-
reset() {
|
|
308
|
-
this.toolLedger = new ToolExecutionLedger();
|
|
309
|
-
this.#attachUserTurnCount();
|
|
310
|
-
}
|
|
311
77
|
}
|
|
312
78
|
//# sourceMappingURL=session-tool-tracker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-tool-tracker.js","sourceRoot":"","sources":["../../../source/services/session/session-tool-tracker.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"session-tool-tracker.js","sourceRoot":"","sources":["../../../source/services/session/session-tool-tracker.ts"],"names":[],"mappings":"AAEA,sFAAsF;AACtF,MAAM,OAAO,kBAAkB;IACrB,qBAAqB,GAAG,IAAI,GAAG,EAAmB,CAAC;IACnD,6BAA6B,GAAG,IAAI,GAAG,EAAU,CAAC;IAClD,yBAAyB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9C,6BAA6B,GAAG,IAAI,GAAG,EAAU,CAAC;IAClD,gCAAgC,GAAG,IAAI,GAAG,EAAoB,CAAC;IAEvE,iBAAiB;QACf,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC7C,CAAC;IAED,6EAA6E;IAC7E,eAAe,CAAC,iBAA0B;QACxC,MAAM,aAAa,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAmB,CAAC;QAChG,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACnE,OAAO;YACL,aAAa;YACb,cAAc;YACd,MAAM,EAAE,GAAG,EAAE;gBACX,IAAI,CAAC,qBAAqB,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;gBACpD,KAAK,MAAM,MAAM,IAAI,cAAc;oBAAE,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACtF,CAAC;SACF,CAAC;IACJ,CAAC;IAED,oFAAoF;IACpF,kBAAkB,CAAC,MAAc;QAC/B,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,iBAAiB,CAAC,KAAwB;QACxC,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACnD,IAAI,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5C,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,yBAAyB,CAAC,OAAwC;QAChE,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,gCAAgC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5E,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrB,IAAI,CAAC,gCAAgC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjE,CAAC;IAED;;;OAGG;IACH,uCAAuC,CAAC,MAAc;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,gCAAgC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACpE,IAAI,CAAC,gCAAgC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,uBAAuB;QACrB,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,CAAC,gCAAgC,CAAC,KAAK,EAAE,CAAC;IAChD,CAAC;CACF"}
|
|
@@ -12,45 +12,14 @@ import type { UserTurn } from '../../types/user-turn.js';
|
|
|
12
12
|
import type { InitialTurnRunOptions, TurnAttemptFactory } from './turn-attempt-factory.js';
|
|
13
13
|
import type { InitialInputPreparer } from './initial-input-preparer.js';
|
|
14
14
|
import type { InitialTurnRecoveryHandler } from './initial-turn-recovery-handler.js';
|
|
15
|
-
import {
|
|
15
|
+
import type { ConversationRecord } from '../conversation/conversation-record.js';
|
|
16
16
|
import type { TurnOutcome } from './turn-status-machine.js';
|
|
17
|
-
import type { ConversationTerminal } from '../../contracts/conversation.js';
|
|
18
|
-
import type { RetryCounts } from '../retry/retry-contracts.js';
|
|
19
|
-
export type InternalTurnOutcome = {
|
|
20
|
-
kind: 'response';
|
|
21
|
-
terminal: ConversationTerminal;
|
|
22
|
-
} | {
|
|
23
|
-
kind: 'approval_required';
|
|
24
|
-
terminal: ConversationTerminal;
|
|
25
|
-
} | {
|
|
26
|
-
kind: 'stale';
|
|
27
|
-
} | {
|
|
28
|
-
kind: 'failed';
|
|
29
|
-
} | {
|
|
30
|
-
kind: 'fresh_start_required';
|
|
31
|
-
retryCounts: RetryCounts;
|
|
32
|
-
delayMs?: number;
|
|
33
|
-
useStandardServiceTier?: boolean;
|
|
34
|
-
disableChainingForAttempt?: boolean;
|
|
35
|
-
} | {
|
|
36
|
-
kind: 'abort_resolution_required';
|
|
37
|
-
abortedContext: AbortedApprovalContext;
|
|
38
|
-
userText: string;
|
|
39
|
-
generation: number;
|
|
40
|
-
} | {
|
|
41
|
-
kind: 'auto_approval_required';
|
|
42
|
-
generation: number;
|
|
43
|
-
callId?: string;
|
|
44
|
-
command?: string;
|
|
45
|
-
};
|
|
46
|
-
import type { AbortedApprovalContext } from '../approval/approval-state.js';
|
|
47
17
|
import type { ApprovalDecisionPolicy } from '../approval/approval-decision-policy.js';
|
|
48
|
-
import type { ConversationStore } from '../conversation/conversation-store.js';
|
|
49
18
|
import type { SessionInputPlanner } from './session-input-planner.js';
|
|
50
19
|
import type { ApprovalFlowCoordinator } from '../approval/approval-flow-coordinator.js';
|
|
51
20
|
import type { ContinuationPlanApplier } from './continuation-plan-applier.js';
|
|
52
21
|
import type { ContinuationRecoveryHandler } from './continuation-recovery-handler.js';
|
|
53
|
-
import { type ContinuationInit } from './
|
|
22
|
+
import { type ContinuationInit } from './turn-projection-state.js';
|
|
54
23
|
import { ToolApprovalBatchCoordinator } from '../approval/tool-approval-batch-coordinator.js';
|
|
55
24
|
import type { ProviderContinuity } from '../provider-continuity.js';
|
|
56
25
|
import type { SessionStreamProcessor } from './session-stream-processor.js';
|
|
@@ -61,7 +30,7 @@ import type { HookLifecyclePort } from '../hooks/hook-service.js';
|
|
|
61
30
|
import type { HookEventFactory } from '../hooks/hook-event-factory.js';
|
|
62
31
|
import type { ToolApprovalPolicyRegistry } from '../approval/tool-approval-policy-registry.js';
|
|
63
32
|
import type { SessionIdSource } from './session-identity.js';
|
|
64
|
-
export interface
|
|
33
|
+
export interface SessionTurnAdapterDeps {
|
|
65
34
|
agentClient: ConversationAgentClient;
|
|
66
35
|
logger: ILoggingService;
|
|
67
36
|
sessionId: SessionIdSource;
|
|
@@ -73,9 +42,8 @@ export interface TurnWorkflowDeps {
|
|
|
73
42
|
inputPreparer: InitialInputPreparer;
|
|
74
43
|
streamProcessor: SessionStreamProcessor;
|
|
75
44
|
recoveryHandler: InitialTurnRecoveryHandler;
|
|
76
|
-
|
|
45
|
+
record: ConversationRecord;
|
|
77
46
|
inputPlanner: SessionInputPlanner;
|
|
78
|
-
conversationStore: ConversationStore;
|
|
79
47
|
approvalFlow: ApprovalFlowCoordinator;
|
|
80
48
|
planApplier: ContinuationPlanApplier;
|
|
81
49
|
continuationRecoveryHandler: ContinuationRecoveryHandler;
|
|
@@ -90,10 +58,11 @@ export interface TurnWorkflowDeps {
|
|
|
90
58
|
hookEvents?: HookEventFactory;
|
|
91
59
|
toolCallMarkers?: ToolCallMarkerStore;
|
|
92
60
|
}
|
|
93
|
-
|
|
61
|
+
/** Session preparation, projection and decisions. The application runtime owns execution. */
|
|
62
|
+
export declare class SessionTurnAdapter {
|
|
94
63
|
#private;
|
|
95
64
|
private readonly deps;
|
|
96
|
-
constructor(deps:
|
|
65
|
+
constructor(deps: SessionTurnAdapterDeps);
|
|
97
66
|
/**
|
|
98
67
|
* Tell the run loop where this turn begins and ends, so a message steered
|
|
99
68
|
* into it survives the gaps between its streams — the preparation before the
|
|
@@ -110,13 +79,11 @@ export declare class TurnWorkflow {
|
|
|
110
79
|
editSteer(id: string, items: readonly ProviderInputItem[]): boolean;
|
|
111
80
|
/** Internal composition seam for correlating physical tool calls to a turn. */
|
|
112
81
|
setHookTurnId(turnId: string | undefined): void;
|
|
113
|
-
executeInitial(
|
|
82
|
+
executeInitial(input: TurnAttempt | string | UserTurn, options?: InitialTurnRunOptions): AsyncGenerator<ConversationEvent, TurnOutcome, void>;
|
|
83
|
+
/** An answer resolves the owned wait; it never starts a continuation run. */
|
|
114
84
|
executeContinuation(init: ContinuationInit, policy?: ApprovalDecisionPolicy): AsyncGenerator<ConversationEvent, TurnOutcome, void>;
|
|
115
|
-
/** Re-observe an already-running post-execute stream without involving SDK approvals. */
|
|
116
85
|
continuePostExecute(): AsyncGenerator<ConversationEvent, TurnOutcome, void>;
|
|
117
|
-
executeInitialAttempt(attemptOrInput: TurnAttempt | string | UserTurn, options?: InitialTurnRunOptions): AsyncGenerator<ConversationEvent, InternalTurnOutcome, void>;
|
|
118
|
-
executeContinuationAttempt(init: ContinuationInit, policy?: ApprovalDecisionPolicy): AsyncGenerator<ConversationEvent, InternalTurnOutcome, void>;
|
|
119
86
|
abortLiveRun(): Promise<void>;
|
|
120
87
|
get activePostExecuteRunId(): string | null;
|
|
121
88
|
}
|
|
122
|
-
//# sourceMappingURL=turn-
|
|
89
|
+
//# sourceMappingURL=session-turn-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-turn-adapter.d.ts","sourceRoot":"","sources":["../../../source/services/session/session-turn-adapter.ts"],"names":[],"mappings":"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"}
|