@dexto/core 1.7.1 → 1.8.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/DextoAgent.cjs +157 -62
- package/dist/agent/DextoAgent.d.ts +71 -17
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +161 -63
- package/dist/agent/agent-options.d.ts +6 -10
- package/dist/agent/agent-options.d.ts.map +1 -1
- package/dist/agent/agentCard.js +1 -1
- package/dist/agent/error-codes.js +1 -1
- package/dist/agent/errors.js +1 -1
- package/dist/agent/index.d.ts +1 -0
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +1 -1
- package/dist/agent/schemas.d.ts +2 -2
- package/dist/agent/schemas.js +1 -1
- package/dist/agent/state-manager.js +1 -1
- package/dist/approval/error-codes.cjs +1 -1
- package/dist/approval/error-codes.d.ts +1 -1
- package/dist/approval/error-codes.d.ts.map +1 -1
- package/dist/approval/error-codes.js +2 -2
- package/dist/approval/errors.cjs +2 -5
- package/dist/approval/errors.d.ts.map +1 -1
- package/dist/approval/errors.js +3 -6
- package/dist/approval/factory.cjs +19 -4
- package/dist/approval/factory.d.ts +4 -1
- package/dist/approval/factory.d.ts.map +1 -1
- package/dist/approval/factory.js +19 -5
- package/dist/approval/index.d.ts +1 -1
- package/dist/approval/index.d.ts.map +1 -1
- package/dist/approval/index.js +1 -1
- package/dist/approval/manager.cjs +168 -26
- package/dist/approval/manager.d.ts +46 -12
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +177 -29
- package/dist/approval/schemas.cjs +26 -26
- package/dist/approval/schemas.d.ts +29 -29
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +23 -23
- package/dist/approval/types.cjs +5 -5
- package/dist/approval/types.d.ts +18 -18
- package/dist/approval/types.d.ts.map +1 -1
- package/dist/approval/types.js +6 -6
- package/dist/{chunk-PTJYTZNU.js → chunk-C6A6W6XS.js} +1 -44
- package/dist/config/index.cjs +75 -0
- package/dist/config/index.d.ts +15 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +50 -0
- package/dist/context/compaction/overflow.js +1 -1
- package/dist/context/compaction/strategies/noop.js +1 -1
- package/dist/context/compaction/strategies/reactive-overflow-compaction.js +1 -1
- package/dist/context/content-clone.cjs +131 -0
- package/dist/context/content-clone.d.ts +7 -0
- package/dist/context/content-clone.d.ts.map +1 -0
- package/dist/context/content-clone.js +104 -0
- package/dist/context/error-codes.js +1 -1
- package/dist/context/errors.js +1 -1
- package/dist/context/index.cjs +2 -0
- package/dist/context/index.d.ts +1 -0
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +2 -1
- package/dist/context/manager.cjs +47 -35
- package/dist/context/manager.d.ts +7 -7
- package/dist/context/manager.d.ts.map +1 -1
- package/dist/context/manager.js +48 -36
- package/dist/context/media-helpers.js +1 -1
- package/dist/context/schemas.cjs +77 -0
- package/dist/context/schemas.d.ts +5 -0
- package/dist/context/schemas.d.ts.map +1 -0
- package/dist/context/schemas.js +53 -0
- package/dist/context/types.js +1 -1
- package/dist/context/utils.cjs +70 -69
- package/dist/context/utils.d.ts +3 -3
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/context/utils.js +71 -70
- package/dist/errors/DextoBaseError.js +1 -1
- package/dist/errors/DextoRuntimeError.js +1 -1
- package/dist/errors/DextoValidationError.js +1 -1
- package/dist/errors/index.js +1 -1
- package/dist/errors/result-bridge.js +1 -1
- package/dist/errors/types.js +1 -1
- package/dist/events/index.cjs +9 -1
- package/dist/events/index.d.ts +20 -8
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +10 -2
- package/dist/hooks/builtins/content-policy.js +1 -1
- package/dist/hooks/builtins/response-sanitizer.js +1 -1
- package/dist/hooks/error-codes.js +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/manager.cjs +1 -1
- package/dist/hooks/manager.d.ts +2 -2
- package/dist/hooks/manager.d.ts.map +1 -1
- package/dist/hooks/manager.js +2 -2
- package/dist/hooks/types.d.ts +2 -2
- package/dist/hooks/types.d.ts.map +1 -1
- package/dist/index.browser.js +1 -1
- package/dist/index.cjs +2 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/llm/curation-config.js +1 -1
- package/dist/llm/curation.js +1 -1
- package/dist/llm/error-codes.js +1 -1
- package/dist/llm/errors.js +1 -1
- package/dist/llm/executor/index.cjs +32 -0
- package/dist/llm/executor/index.d.ts +2 -0
- package/dist/llm/executor/index.d.ts.map +1 -0
- package/dist/llm/executor/index.js +11 -0
- package/dist/llm/executor/provider-options.js +1 -1
- package/dist/llm/executor/stream-processor.cjs +28 -139
- package/dist/llm/executor/stream-processor.d.ts +2 -13
- package/dist/llm/executor/stream-processor.d.ts.map +1 -1
- package/dist/llm/executor/stream-processor.js +29 -140
- package/dist/{session/history/memory.cjs → llm/executor/tool-definitions.cjs} +21 -33
- package/dist/llm/executor/tool-definitions.d.ts +4 -0
- package/dist/llm/executor/tool-definitions.d.ts.map +1 -0
- package/dist/llm/executor/tool-definitions.js +22 -0
- package/dist/llm/executor/tool-output-truncator.js +1 -1
- package/dist/llm/executor/turn-executor.cjs +1093 -458
- package/dist/llm/executor/turn-executor.d.ts +269 -43
- package/dist/llm/executor/turn-executor.d.ts.map +1 -1
- package/dist/llm/executor/turn-executor.js +1079 -405
- package/dist/llm/executor/types.d.ts +6 -0
- package/dist/llm/executor/types.d.ts.map +1 -1
- package/dist/llm/formatters/vercel.js +1 -1
- package/dist/llm/index.cjs +2 -0
- package/dist/llm/index.d.ts +1 -0
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +2 -1
- package/dist/llm/providers/codex-app-server.cjs +22 -2
- package/dist/llm/providers/codex-app-server.d.ts.map +1 -1
- package/dist/llm/providers/codex-app-server.js +23 -3
- package/dist/llm/providers/codex-base-url.js +1 -1
- package/dist/llm/providers/local/ai-sdk-adapter.js +1 -1
- package/dist/llm/providers/local/downloader.js +1 -1
- package/dist/llm/providers/local/error-codes.js +1 -1
- package/dist/llm/providers/local/errors.js +1 -1
- package/dist/llm/providers/local/gpu-detector.js +1 -1
- package/dist/llm/providers/local/index.js +1 -1
- package/dist/llm/providers/local/node-llama-provider.js +1 -1
- package/dist/llm/providers/local/ollama-provider.js +1 -1
- package/dist/llm/providers/local/registry.js +1 -1
- package/dist/llm/providers/local/schemas.js +1 -1
- package/dist/llm/providers/openrouter-model-registry.js +1 -1
- package/dist/llm/reasoning/anthropic-betas.js +1 -1
- package/dist/llm/reasoning/anthropic-thinking.js +1 -1
- package/dist/llm/reasoning/openai-reasoning-effort.js +1 -1
- package/dist/llm/reasoning/profile.js +1 -1
- package/dist/llm/reasoning/profiles/anthropic.js +1 -1
- package/dist/llm/reasoning/profiles/bedrock.js +1 -1
- package/dist/llm/reasoning/profiles/google.js +1 -1
- package/dist/llm/reasoning/profiles/openai-compatible.js +1 -1
- package/dist/llm/reasoning/profiles/openai.js +1 -1
- package/dist/llm/reasoning/profiles/openrouter.js +1 -1
- package/dist/llm/reasoning/profiles/shared.js +1 -1
- package/dist/llm/reasoning/profiles/vertex.js +1 -1
- package/dist/llm/registry/auto-update.js +1 -1
- package/dist/llm/registry/index.js +1 -1
- package/dist/llm/registry/models.generated.js +1 -1
- package/dist/llm/registry/models.manual.js +1 -1
- package/dist/llm/registry/sync.js +1 -1
- package/dist/llm/resolver.js +1 -1
- package/dist/llm/schemas.js +1 -1
- package/dist/llm/services/factory.cjs +5 -4
- package/dist/llm/services/factory.d.ts +3 -3
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +6 -5
- package/dist/llm/services/types.d.ts +10 -1
- package/dist/llm/services/types.d.ts.map +1 -1
- package/dist/llm/services/vercel.cjs +23 -8
- package/dist/llm/services/vercel.d.ts +11 -7
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +24 -9
- package/dist/llm/types.js +1 -1
- package/dist/llm/usage-metadata.cjs +20 -3
- package/dist/llm/usage-metadata.d.ts +1 -0
- package/dist/llm/usage-metadata.d.ts.map +1 -1
- package/dist/llm/usage-metadata.js +19 -3
- package/dist/llm/usage-scope.js +1 -1
- package/dist/llm/usage-summary.js +1 -1
- package/dist/llm/validation.js +1 -1
- package/dist/logger/browser.js +1 -1
- package/dist/logger/default-logger-factory.js +1 -1
- package/dist/logger/factory.js +1 -1
- package/dist/logger/index.js +1 -1
- package/dist/logger/logger.js +1 -1
- package/dist/logger/v2/dexto-logger.js +1 -1
- package/dist/logger/v2/error-codes.js +1 -1
- package/dist/logger/v2/errors.js +1 -1
- package/dist/logger/v2/schemas.js +1 -1
- package/dist/logger/v2/test-utils.js +1 -1
- package/dist/logger/v2/transport-factory.js +1 -1
- package/dist/logger/v2/transports/console-transport.js +1 -1
- package/dist/logger/v2/transports/file-transport.js +1 -1
- package/dist/logger/v2/transports/silent-transport.js +1 -1
- package/dist/logger/v2/types.js +1 -1
- package/dist/mcp/bundled-config.js +1 -1
- package/dist/mcp/error-codes.js +1 -1
- package/dist/mcp/errors.js +1 -1
- package/dist/mcp/index.js +1 -1
- package/dist/mcp/manager.js +1 -1
- package/dist/mcp/mcp-client.js +1 -1
- package/dist/mcp/resolver.js +1 -1
- package/dist/mcp/schemas.js +1 -1
- package/dist/memory/error-codes.js +1 -1
- package/dist/memory/errors.js +1 -1
- package/dist/memory/index.js +1 -1
- package/dist/memory/manager.cjs +7 -27
- package/dist/memory/manager.d.ts +4 -12
- package/dist/memory/manager.d.ts.map +1 -1
- package/dist/memory/manager.js +8 -28
- package/dist/memory/schemas.js +1 -1
- package/dist/prompts/error-codes.js +1 -1
- package/dist/prompts/errors.js +1 -1
- package/dist/prompts/index.js +1 -1
- package/dist/prompts/name-validation.js +1 -1
- package/dist/prompts/prompt-manager.cjs +9 -38
- package/dist/prompts/prompt-manager.d.ts +2 -10
- package/dist/prompts/prompt-manager.d.ts.map +1 -1
- package/dist/prompts/prompt-manager.js +10 -39
- package/dist/prompts/providers/config-prompt-provider.cjs +8 -87
- package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/config-prompt-provider.js +9 -88
- package/dist/prompts/providers/custom-prompt-provider.cjs +21 -22
- package/dist/prompts/providers/custom-prompt-provider.d.ts +19 -4
- package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/custom-prompt-provider.js +22 -23
- package/dist/prompts/providers/mcp-prompt-provider.js +1 -1
- package/dist/prompts/schemas.cjs +2 -24
- package/dist/prompts/schemas.d.ts +0 -52
- package/dist/prompts/schemas.d.ts.map +1 -1
- package/dist/prompts/schemas.js +3 -25
- package/dist/prompts/types.d.ts +5 -32
- package/dist/prompts/types.d.ts.map +1 -1
- package/dist/prompts/utils.js +1 -1
- package/dist/resources/agent-resources-provider.js +1 -1
- package/dist/resources/error-codes.js +1 -1
- package/dist/resources/errors.js +1 -1
- package/dist/resources/handlers/blob-handler.cjs +14 -11
- package/dist/resources/handlers/blob-handler.d.ts +4 -4
- package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
- package/dist/resources/handlers/blob-handler.js +15 -12
- package/dist/resources/handlers/factory.cjs +3 -3
- package/dist/resources/handlers/factory.js +4 -4
- package/dist/resources/handlers/filesystem-handler.js +1 -1
- package/dist/resources/handlers/types.d.ts +2 -2
- package/dist/resources/handlers/types.d.ts.map +1 -1
- package/dist/resources/index.js +1 -1
- package/dist/resources/manager.cjs +10 -7
- package/dist/resources/manager.d.ts +4 -4
- package/dist/resources/manager.d.ts.map +1 -1
- package/dist/resources/manager.js +11 -8
- package/dist/resources/reference-parser.js +1 -1
- package/dist/resources/schemas.cjs +1 -1
- package/dist/resources/schemas.d.ts +2 -2
- package/dist/resources/schemas.js +2 -2
- package/dist/runtime/host-runtime.js +1 -1
- package/dist/runtime/index.cjs +3 -0
- package/dist/runtime/index.d.ts +2 -0
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +3 -1
- package/dist/runtime/run-context.js +1 -1
- package/dist/search/index.js +1 -1
- package/dist/search/search-service.cjs +6 -13
- package/dist/search/search-service.d.ts +5 -3
- package/dist/search/search-service.d.ts.map +1 -1
- package/dist/search/search-service.js +7 -14
- package/dist/session/chat-session.cjs +264 -108
- package/dist/session/chat-session.d.ts +75 -21
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +268 -108
- package/dist/session/error-codes.js +1 -1
- package/dist/session/errors.js +1 -1
- package/dist/session/index.cjs +19 -2
- package/dist/session/index.d.ts +4 -3
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +19 -3
- package/dist/session/message-queue.cjs +82 -51
- package/dist/session/message-queue.d.ts +13 -8
- package/dist/session/message-queue.d.ts.map +1 -1
- package/dist/session/message-queue.js +83 -52
- package/dist/session/queue-clone.cjs +50 -0
- package/dist/session/queue-clone.d.ts +5 -0
- package/dist/session/queue-clone.d.ts.map +1 -0
- package/dist/session/queue-clone.js +25 -0
- package/dist/session/schemas.cjs +74 -2
- package/dist/session/schemas.d.ts +94 -0
- package/dist/session/schemas.d.ts.map +1 -1
- package/dist/session/schemas.js +69 -2
- package/dist/session/session-manager.cjs +107 -123
- package/dist/session/session-manager.d.ts +7 -6
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +108 -124
- package/dist/session/title-generator.cjs +14 -26
- package/dist/session/title-generator.d.ts +4 -6
- package/dist/session/title-generator.d.ts.map +1 -1
- package/dist/session/title-generator.js +16 -28
- package/dist/session/types.cjs +28 -0
- package/dist/session/types.d.ts +5 -1
- package/dist/session/types.d.ts.map +1 -1
- package/dist/session/types.js +19 -0
- package/dist/{session/history/factory.cjs → skills/index.cjs} +9 -9
- package/dist/skills/index.d.ts +4 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +7 -0
- package/dist/skills/skill-manager.cjs +76 -0
- package/dist/skills/skill-manager.d.ts +13 -0
- package/dist/skills/skill-manager.d.ts.map +1 -0
- package/dist/skills/skill-manager.js +53 -0
- package/dist/skills/types.d.ts +24 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/workspace-skill-source.cjs +120 -0
- package/dist/skills/workspace-skill-source.d.ts +16 -0
- package/dist/skills/workspace-skill-source.d.ts.map +1 -0
- package/dist/skills/workspace-skill-source.js +97 -0
- package/dist/storage/approvals/types.cjs +38 -0
- package/dist/storage/approvals/types.d.ts +54 -0
- package/dist/storage/approvals/types.d.ts.map +1 -0
- package/dist/storage/approvals/types.js +14 -0
- package/dist/storage/artifacts/types.d.ts +73 -0
- package/dist/storage/artifacts/types.d.ts.map +1 -0
- package/dist/storage/conversation/database.cjs +233 -0
- package/dist/storage/conversation/database.d.ts +38 -0
- package/dist/storage/conversation/database.d.ts.map +1 -0
- package/dist/storage/conversation/database.js +210 -0
- package/dist/storage/conversation/types.cjs +16 -0
- package/dist/storage/conversation/types.d.ts +21 -0
- package/dist/storage/conversation/types.d.ts.map +1 -0
- package/dist/storage/conversation/types.js +0 -0
- package/dist/storage/database/types.d.ts +4 -0
- package/dist/storage/database/types.d.ts.map +1 -1
- package/dist/storage/error-codes.js +1 -1
- package/dist/storage/errors.cjs +6 -6
- package/dist/storage/errors.d.ts +2 -2
- package/dist/storage/errors.js +7 -7
- package/dist/storage/index.cjs +42 -5
- package/dist/storage/index.d.ts +19 -8
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +39 -4
- package/dist/storage/memories/types.cjs +16 -0
- package/dist/storage/memories/types.d.ts +17 -0
- package/dist/storage/memories/types.d.ts.map +1 -0
- package/dist/storage/memories/types.js +0 -0
- package/dist/storage/message-queue/types.cjs +16 -0
- package/dist/storage/message-queue/types.d.ts +15 -0
- package/dist/storage/message-queue/types.d.ts.map +1 -0
- package/dist/storage/message-queue/types.js +0 -0
- package/dist/storage/prompts/types.cjs +16 -0
- package/dist/storage/prompts/types.d.ts +14 -0
- package/dist/storage/prompts/types.d.ts.map +1 -0
- package/dist/storage/prompts/types.js +0 -0
- package/dist/storage/runtime-events/types.cjs +16 -0
- package/dist/storage/runtime-events/types.d.ts +19 -0
- package/dist/storage/runtime-events/types.d.ts.map +1 -0
- package/dist/storage/runtime-events/types.js +0 -0
- package/dist/storage/sessions/types.cjs +16 -0
- package/dist/storage/sessions/types.d.ts +19 -0
- package/dist/storage/sessions/types.d.ts.map +1 -0
- package/dist/storage/sessions/types.js +0 -0
- package/dist/storage/stores/backend.cjs +702 -0
- package/dist/storage/stores/backend.d.ts +303 -0
- package/dist/storage/stores/backend.d.ts.map +1 -0
- package/dist/storage/stores/backend.js +677 -0
- package/dist/storage/stores/in-memory.cjs +510 -0
- package/dist/storage/stores/in-memory.d.ts +11 -0
- package/dist/storage/stores/in-memory.d.ts.map +1 -0
- package/dist/storage/stores/in-memory.js +487 -0
- package/dist/storage/stores/types.cjs +16 -0
- package/dist/storage/stores/types.d.ts +36 -0
- package/dist/storage/stores/types.d.ts.map +1 -0
- package/dist/storage/stores/types.js +0 -0
- package/dist/storage/tool-executions/types.cjs +127 -0
- package/dist/storage/tool-executions/types.d.ts +193 -0
- package/dist/storage/tool-executions/types.d.ts.map +1 -0
- package/dist/storage/tool-executions/types.js +96 -0
- package/dist/storage/tool-preferences/types.cjs +16 -0
- package/dist/storage/tool-preferences/types.d.ts +29 -0
- package/dist/storage/tool-preferences/types.d.ts.map +1 -0
- package/dist/storage/tool-preferences/types.js +0 -0
- package/dist/storage/tool-state/types.cjs +16 -0
- package/dist/storage/tool-state/types.d.ts +20 -0
- package/dist/storage/tool-state/types.d.ts.map +1 -0
- package/dist/storage/tool-state/types.js +0 -0
- package/dist/storage/workspaces/types.cjs +16 -0
- package/dist/storage/workspaces/types.d.ts +19 -0
- package/dist/storage/workspaces/types.d.ts.map +1 -0
- package/dist/storage/workspaces/types.js +0 -0
- package/dist/systemPrompt/contributors.cjs +10 -14
- package/dist/systemPrompt/contributors.d.ts +3 -3
- package/dist/systemPrompt/contributors.d.ts.map +1 -1
- package/dist/systemPrompt/contributors.js +11 -15
- package/dist/systemPrompt/error-codes.js +1 -1
- package/dist/systemPrompt/errors.js +1 -1
- package/dist/systemPrompt/in-built-prompts.js +1 -1
- package/dist/systemPrompt/index.js +1 -1
- package/dist/systemPrompt/manager.js +1 -1
- package/dist/systemPrompt/registry.js +1 -1
- package/dist/systemPrompt/schemas.js +1 -1
- package/dist/telemetry/decorators.js +1 -1
- package/dist/telemetry/error-codes.js +1 -1
- package/dist/telemetry/errors.js +1 -1
- package/dist/telemetry/exporters.js +1 -1
- package/dist/telemetry/index.js +1 -1
- package/dist/telemetry/schemas.js +1 -1
- package/dist/telemetry/telemetry.js +1 -1
- package/dist/telemetry/utils.js +1 -1
- package/dist/test-utils/in-memory-storage.cjs +9 -17
- package/dist/test-utils/in-memory-storage.js +9 -16
- package/dist/test-utils/session-state-stores.cjs +21 -24
- package/dist/test-utils/session-state-stores.js +22 -24
- package/dist/tools/{confirmation → approval}/allowed-tools-provider/factory.cjs +1 -1
- package/dist/tools/{confirmation → approval}/allowed-tools-provider/factory.d.ts +2 -2
- package/dist/tools/approval/allowed-tools-provider/factory.d.ts.map +1 -0
- package/dist/tools/{confirmation → approval}/allowed-tools-provider/factory.js +2 -2
- package/dist/tools/approval/allowed-tools-provider/in-memory.d.ts.map +1 -0
- package/dist/tools/{confirmation → approval}/allowed-tools-provider/in-memory.js +1 -1
- package/dist/tools/approval/allowed-tools-provider/storage.cjs +66 -0
- package/dist/tools/{confirmation → approval}/allowed-tools-provider/storage.d.ts +4 -10
- package/dist/tools/approval/allowed-tools-provider/storage.d.ts.map +1 -0
- package/dist/tools/approval/allowed-tools-provider/storage.js +43 -0
- package/dist/tools/approval/allowed-tools-provider/types.cjs +16 -0
- package/dist/tools/approval/allowed-tools-provider/types.d.ts.map +1 -0
- package/dist/tools/approval/allowed-tools-provider/types.js +0 -0
- package/dist/tools/approval/session-tool-policy.cjs +269 -0
- package/dist/tools/approval/session-tool-policy.d.ts +43 -0
- package/dist/tools/approval/session-tool-policy.d.ts.map +1 -0
- package/dist/tools/approval/session-tool-policy.js +245 -0
- package/dist/tools/define-tool.js +1 -1
- package/dist/tools/display-types.js +1 -1
- package/dist/tools/error-codes.cjs +3 -3
- package/dist/tools/error-codes.d.ts +4 -4
- package/dist/tools/error-codes.d.ts.map +1 -1
- package/dist/tools/error-codes.js +4 -4
- package/dist/tools/errors.cjs +12 -12
- package/dist/tools/errors.d.ts +6 -6
- package/dist/tools/errors.d.ts.map +1 -1
- package/dist/tools/errors.js +13 -13
- package/dist/tools/index.cjs +3 -0
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +3 -1
- package/dist/tools/pattern-utils.js +1 -1
- package/dist/tools/presentation/tool-presentation.cjs +182 -0
- package/dist/tools/presentation/tool-presentation.d.ts +51 -0
- package/dist/tools/presentation/tool-presentation.d.ts.map +1 -0
- package/dist/tools/presentation/tool-presentation.js +159 -0
- package/dist/tools/presentation.js +1 -1
- package/dist/tools/schemas.cjs +5 -10
- package/dist/tools/schemas.d.ts +1 -4
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +6 -11
- package/dist/tools/session-tool-preferences-store.cjs +12 -28
- package/dist/tools/session-tool-preferences-store.d.ts +4 -7
- package/dist/tools/session-tool-preferences-store.d.ts.map +1 -1
- package/dist/tools/session-tool-preferences-store.js +12 -29
- package/dist/tools/tool-call-metadata.js +1 -1
- package/dist/tools/tool-manager.cjs +871 -834
- package/dist/tools/tool-manager.d.ts +94 -96
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +876 -833
- package/dist/tools/types.d.ts +10 -14
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils/api-key-resolver.js +1 -1
- package/dist/utils/async-context.js +1 -1
- package/dist/utils/debug.js +1 -1
- package/dist/utils/defer.js +1 -1
- package/dist/utils/env.js +1 -1
- package/dist/utils/error-conversion.js +1 -1
- package/dist/utils/execution-context.js +1 -1
- package/dist/utils/fs-walk.js +1 -1
- package/dist/utils/path.js +1 -1
- package/dist/utils/redactor.js +1 -1
- package/dist/utils/result.js +1 -1
- package/dist/utils/safe-stringify.js +1 -1
- package/dist/utils/schema.js +1 -1
- package/dist/utils/service-initializer.cjs +37 -33
- package/dist/utils/service-initializer.d.ts +9 -5
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +38 -34
- package/dist/utils/zod-schema-converter.js +1 -1
- package/dist/workspace/error-codes.cjs +5 -1
- package/dist/workspace/error-codes.d.ts +4 -0
- package/dist/workspace/error-codes.d.ts.map +1 -1
- package/dist/workspace/error-codes.js +6 -2
- package/dist/workspace/errors.cjs +43 -0
- package/dist/workspace/errors.d.ts +9 -0
- package/dist/workspace/errors.d.ts.map +1 -1
- package/dist/workspace/errors.js +44 -1
- package/dist/workspace/index.d.ts +1 -1
- package/dist/workspace/index.d.ts.map +1 -1
- package/dist/workspace/index.js +1 -1
- package/dist/workspace/manager.cjs +21 -29
- package/dist/workspace/manager.d.ts +6 -6
- package/dist/workspace/manager.d.ts.map +1 -1
- package/dist/workspace/manager.js +22 -30
- package/dist/workspace/types.d.ts +47 -0
- package/dist/workspace/types.d.ts.map +1 -1
- package/package.json +114 -2
- package/dist/approval/session-approval-store.cjs +0 -91
- package/dist/approval/session-approval-store.d.ts +0 -37
- package/dist/approval/session-approval-store.d.ts.map +0 -1
- package/dist/approval/session-approval-store.js +0 -68
- package/dist/session/history/database.cjs +0 -232
- package/dist/session/history/database.d.ts +0 -41
- package/dist/session/history/database.d.ts.map +0 -1
- package/dist/session/history/database.js +0 -209
- package/dist/session/history/factory.d.ts +0 -11
- package/dist/session/history/factory.d.ts.map +0 -1
- package/dist/session/history/factory.js +0 -8
- package/dist/session/history/memory.d.ts +0 -22
- package/dist/session/history/memory.d.ts.map +0 -1
- package/dist/session/history/memory.js +0 -34
- package/dist/session/history/types.d.ts +0 -26
- package/dist/session/history/types.d.ts.map +0 -1
- package/dist/session/message-queue-store.cjs +0 -75
- package/dist/session/message-queue-store.d.ts +0 -16
- package/dist/session/message-queue-store.d.ts.map +0 -1
- package/dist/session/message-queue-store.js +0 -52
- package/dist/storage/storage-manager.cjs +0 -209
- package/dist/storage/storage-manager.d.ts +0 -77
- package/dist/storage/storage-manager.d.ts.map +0 -1
- package/dist/storage/storage-manager.js +0 -186
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +0 -1
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts.map +0 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +0 -69
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +0 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.js +0 -46
- package/dist/tools/confirmation/allowed-tools-provider/types.d.ts.map +0 -1
- /package/dist/{session/history → skills}/types.cjs +0 -0
- /package/dist/{session/history → skills}/types.js +0 -0
- /package/dist/{tools/confirmation/allowed-tools-provider → storage/artifacts}/types.cjs +0 -0
- /package/dist/{tools/confirmation/allowed-tools-provider → storage/artifacts}/types.js +0 -0
- /package/dist/tools/{confirmation → approval}/allowed-tools-provider/in-memory.cjs +0 -0
- /package/dist/tools/{confirmation → approval}/allowed-tools-provider/in-memory.d.ts +0 -0
- /package/dist/tools/{confirmation → approval}/allowed-tools-provider/types.d.ts +0 -0
|
@@ -21,29 +21,26 @@ __export(stream_processor_exports, {
|
|
|
21
21
|
StreamProcessor: () => StreamProcessor
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(stream_processor_exports);
|
|
24
|
-
var import_tool_output_truncator = require("./tool-output-truncator.js");
|
|
25
|
-
var import_utils = require("../../context/utils.js");
|
|
26
24
|
var import_types2 = require("../../logger/v2/types.js");
|
|
27
25
|
var import_usage_metadata = require("../usage-metadata.js");
|
|
26
|
+
function finiteUsageCount(value) {
|
|
27
|
+
return typeof value === "number" && Number.isFinite(value) ? value : void 0;
|
|
28
|
+
}
|
|
28
29
|
class StreamProcessor {
|
|
29
30
|
/**
|
|
30
31
|
* @param contextManager Context manager for message persistence
|
|
31
32
|
* @param eventBus Event bus for emitting events
|
|
32
|
-
* @param resourceManager Resource manager for blob storage
|
|
33
33
|
* @param abortSignal Abort signal for cancellation
|
|
34
34
|
* @param config Provider/model configuration
|
|
35
35
|
* @param logger Logger instance
|
|
36
36
|
* @param streaming If true, emits llm:chunk events. Default true.
|
|
37
|
-
* @param toolCallMetadata Map of tool call IDs to tool-call metadata (approval + presentation)
|
|
38
37
|
*/
|
|
39
|
-
constructor(contextManager, eventBus,
|
|
38
|
+
constructor(contextManager, eventBus, abortSignal, config, logger, streaming = true) {
|
|
40
39
|
this.contextManager = contextManager;
|
|
41
40
|
this.eventBus = eventBus;
|
|
42
|
-
this.resourceManager = resourceManager;
|
|
43
41
|
this.abortSignal = abortSignal;
|
|
44
42
|
this.config = config;
|
|
45
43
|
this.streaming = streaming;
|
|
46
|
-
this.toolCallMetadata = toolCallMetadata;
|
|
47
44
|
this.logger = logger.createChild(import_types2.DextoLogComponent.EXECUTOR);
|
|
48
45
|
this.usageScopeId = config.usageScopeId;
|
|
49
46
|
}
|
|
@@ -56,6 +53,7 @@ class StreamProcessor {
|
|
|
56
53
|
logger;
|
|
57
54
|
hasStepUsage = false;
|
|
58
55
|
usageScopeId;
|
|
56
|
+
modelToolCalls = [];
|
|
59
57
|
/**
|
|
60
58
|
* Track pending tool calls (added to context but no result yet).
|
|
61
59
|
* On cancel/abort, we add synthetic "cancelled" results to maintain tool_use/tool_result pairing.
|
|
@@ -170,60 +168,14 @@ class StreamProcessor {
|
|
|
170
168
|
};
|
|
171
169
|
}
|
|
172
170
|
await this.contextManager.addToolCall(this.assistantMessageId, toolCall);
|
|
173
|
-
this.
|
|
174
|
-
toolName: event.toolName
|
|
175
|
-
});
|
|
176
|
-
this.partialToolCalls.delete(event.toolCallId);
|
|
177
|
-
break;
|
|
178
|
-
}
|
|
179
|
-
case "tool-result": {
|
|
180
|
-
const rawResult = event.output;
|
|
181
|
-
this.logger.debug("Tool result received", {
|
|
182
|
-
toolName: event.toolName,
|
|
171
|
+
this.modelToolCalls.push({
|
|
183
172
|
toolCallId: event.toolCallId,
|
|
184
|
-
rawResult
|
|
185
|
-
});
|
|
186
|
-
const sanitized = await (0, import_utils.sanitizeToolResult)(
|
|
187
|
-
rawResult,
|
|
188
|
-
{
|
|
189
|
-
blobStore: this.resourceManager.getBlobStore(),
|
|
190
|
-
toolName: event.toolName,
|
|
191
|
-
toolCallId: event.toolCallId,
|
|
192
|
-
success: true
|
|
193
|
-
},
|
|
194
|
-
this.logger
|
|
195
|
-
);
|
|
196
|
-
const truncated = (0, import_tool_output_truncator.truncateToolResult)(sanitized);
|
|
197
|
-
const metadata = this.toolCallMetadata?.get(event.toolCallId);
|
|
198
|
-
await this.contextManager.addToolResult(
|
|
199
|
-
event.toolCallId,
|
|
200
|
-
event.toolName,
|
|
201
|
-
truncated,
|
|
202
|
-
// Includes meta.success from sanitization
|
|
203
|
-
metadata
|
|
204
|
-
// Only tool-call metadata if present
|
|
205
|
-
);
|
|
206
|
-
this.eventBus.emit("llm:tool-result", {
|
|
207
173
|
toolName: event.toolName,
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
meta: metadata.meta
|
|
213
|
-
},
|
|
214
|
-
callId: event.toolCallId,
|
|
215
|
-
success: true,
|
|
216
|
-
sanitized: truncated,
|
|
217
|
-
rawResult,
|
|
218
|
-
...metadata?.requireApproval !== void 0 && {
|
|
219
|
-
requireApproval: metadata.requireApproval
|
|
220
|
-
},
|
|
221
|
-
...metadata?.approvalStatus !== void 0 && {
|
|
222
|
-
approvalStatus: metadata.approvalStatus
|
|
223
|
-
}
|
|
174
|
+
input: event.input
|
|
175
|
+
});
|
|
176
|
+
this.pendingToolCalls.set(event.toolCallId, {
|
|
177
|
+
toolName: event.toolName
|
|
224
178
|
});
|
|
225
|
-
this.toolCallMetadata?.delete(event.toolCallId);
|
|
226
|
-
this.pendingToolCalls.delete(event.toolCallId);
|
|
227
179
|
this.partialToolCalls.delete(event.toolCallId);
|
|
228
180
|
break;
|
|
229
181
|
}
|
|
@@ -314,58 +266,6 @@ class StreamProcessor {
|
|
|
314
266
|
}
|
|
315
267
|
break;
|
|
316
268
|
}
|
|
317
|
-
case "tool-error": {
|
|
318
|
-
this.logger.error("Tool execution failed", {
|
|
319
|
-
toolName: event.toolName,
|
|
320
|
-
toolCallId: event.toolCallId,
|
|
321
|
-
error: event.error
|
|
322
|
-
});
|
|
323
|
-
const errorMessage = event.error instanceof Error ? event.error.message : String(event.error);
|
|
324
|
-
const metadata = this.toolCallMetadata?.get(event.toolCallId);
|
|
325
|
-
const errorResult = {
|
|
326
|
-
content: [{ type: "text", text: `Error: ${errorMessage}` }],
|
|
327
|
-
meta: {
|
|
328
|
-
toolName: event.toolName,
|
|
329
|
-
toolCallId: event.toolCallId,
|
|
330
|
-
success: false
|
|
331
|
-
}
|
|
332
|
-
};
|
|
333
|
-
await this.contextManager.addToolResult(
|
|
334
|
-
event.toolCallId,
|
|
335
|
-
event.toolName,
|
|
336
|
-
errorResult,
|
|
337
|
-
metadata
|
|
338
|
-
);
|
|
339
|
-
this.eventBus.emit("llm:tool-result", {
|
|
340
|
-
toolName: event.toolName,
|
|
341
|
-
...metadata?.presentationSnapshot !== void 0 && {
|
|
342
|
-
presentationSnapshot: metadata.presentationSnapshot
|
|
343
|
-
},
|
|
344
|
-
...metadata?.meta !== void 0 && {
|
|
345
|
-
meta: metadata.meta
|
|
346
|
-
},
|
|
347
|
-
callId: event.toolCallId,
|
|
348
|
-
success: false,
|
|
349
|
-
error: errorMessage,
|
|
350
|
-
...metadata?.requireApproval !== void 0 && {
|
|
351
|
-
requireApproval: metadata.requireApproval
|
|
352
|
-
},
|
|
353
|
-
...metadata?.approvalStatus !== void 0 && {
|
|
354
|
-
approvalStatus: metadata.approvalStatus
|
|
355
|
-
}
|
|
356
|
-
});
|
|
357
|
-
this.eventBus.emit("llm:error", {
|
|
358
|
-
error: event.error instanceof Error ? event.error : new Error(String(event.error)),
|
|
359
|
-
context: `Tool execution failed: ${event.toolName}`,
|
|
360
|
-
toolCallId: event.toolCallId,
|
|
361
|
-
recoverable: true
|
|
362
|
-
// Tool errors are typically recoverable
|
|
363
|
-
});
|
|
364
|
-
this.toolCallMetadata?.delete(event.toolCallId);
|
|
365
|
-
this.pendingToolCalls.delete(event.toolCallId);
|
|
366
|
-
this.partialToolCalls.delete(event.toolCallId);
|
|
367
|
-
break;
|
|
368
|
-
}
|
|
369
269
|
case "error": {
|
|
370
270
|
const err = event.error instanceof Error ? event.error : new Error(String(event.error));
|
|
371
271
|
await this.persistFailedToolResults(err.message);
|
|
@@ -392,7 +292,8 @@ class StreamProcessor {
|
|
|
392
292
|
return {
|
|
393
293
|
text: this.accumulatedText,
|
|
394
294
|
finishReason: "cancelled",
|
|
395
|
-
usage: this.actualTokens
|
|
295
|
+
usage: this.actualTokens,
|
|
296
|
+
toolCalls: this.modelToolCalls
|
|
396
297
|
};
|
|
397
298
|
}
|
|
398
299
|
}
|
|
@@ -420,7 +321,8 @@ class StreamProcessor {
|
|
|
420
321
|
return {
|
|
421
322
|
text: this.accumulatedText,
|
|
422
323
|
finishReason: "cancelled",
|
|
423
|
-
usage: this.actualTokens
|
|
324
|
+
usage: this.actualTokens,
|
|
325
|
+
toolCalls: this.modelToolCalls
|
|
424
326
|
};
|
|
425
327
|
}
|
|
426
328
|
this.logger.error("Stream processing failed", { error });
|
|
@@ -429,28 +331,29 @@ class StreamProcessor {
|
|
|
429
331
|
return {
|
|
430
332
|
text: this.accumulatedText,
|
|
431
333
|
finishReason: this.finishReason,
|
|
432
|
-
usage: this.actualTokens
|
|
334
|
+
usage: this.actualTokens,
|
|
335
|
+
toolCalls: this.modelToolCalls
|
|
433
336
|
};
|
|
434
337
|
}
|
|
435
338
|
getCacheTokensFromProviderMetadata(providerMetadata) {
|
|
436
339
|
const anthropicMeta = providerMetadata?.["anthropic"];
|
|
437
340
|
const bedrockMeta = providerMetadata?.["bedrock"];
|
|
438
|
-
const cacheWriteTokens = anthropicMeta?.["cacheCreationInputTokens"] ?? bedrockMeta?.usage?.["cacheWriteInputTokens"] ?? 0;
|
|
439
|
-
const cacheReadTokens = anthropicMeta?.["cacheReadInputTokens"] ?? bedrockMeta?.usage?.["cacheReadInputTokens"] ?? 0;
|
|
341
|
+
const cacheWriteTokens = finiteUsageCount(anthropicMeta?.["cacheCreationInputTokens"]) ?? finiteUsageCount(bedrockMeta?.usage?.["cacheWriteInputTokens"]) ?? 0;
|
|
342
|
+
const cacheReadTokens = finiteUsageCount(anthropicMeta?.["cacheReadInputTokens"]) ?? finiteUsageCount(bedrockMeta?.usage?.["cacheReadInputTokens"]) ?? 0;
|
|
440
343
|
return { cacheReadTokens, cacheWriteTokens };
|
|
441
344
|
}
|
|
442
345
|
normalizeUsage(usage, providerMetadata) {
|
|
443
|
-
const inputTokensRaw = usage?.inputTokens ?? 0;
|
|
444
|
-
const outputTokens = usage?.outputTokens ?? 0;
|
|
445
|
-
const totalTokens = usage?.totalTokens ?? 0;
|
|
446
|
-
const reasoningTokens = usage?.reasoningTokens;
|
|
447
|
-
const cachedInputTokens = usage?.cachedInputTokens;
|
|
346
|
+
const inputTokensRaw = finiteUsageCount(usage?.inputTokens) ?? 0;
|
|
347
|
+
const outputTokens = finiteUsageCount(usage?.outputTokens) ?? 0;
|
|
348
|
+
const totalTokens = finiteUsageCount(usage?.totalTokens) ?? 0;
|
|
349
|
+
const reasoningTokens = finiteUsageCount(usage?.reasoningTokens);
|
|
350
|
+
const cachedInputTokens = finiteUsageCount(usage?.cachedInputTokens);
|
|
448
351
|
const inputTokenDetails = usage?.inputTokenDetails;
|
|
449
352
|
const providerCache = this.getCacheTokensFromProviderMetadata(providerMetadata);
|
|
450
|
-
const cacheReadTokens = inputTokenDetails?.cacheReadTokens ?? cachedInputTokens ?? providerCache.cacheReadTokens ?? 0;
|
|
451
|
-
const cacheWriteTokens = inputTokenDetails?.cacheWriteTokens ?? providerCache.cacheWriteTokens ?? 0;
|
|
353
|
+
const cacheReadTokens = finiteUsageCount(inputTokenDetails?.cacheReadTokens) ?? cachedInputTokens ?? providerCache.cacheReadTokens ?? 0;
|
|
354
|
+
const cacheWriteTokens = finiteUsageCount(inputTokenDetails?.cacheWriteTokens) ?? providerCache.cacheWriteTokens ?? 0;
|
|
452
355
|
const needsCacheWriteAdjustment = inputTokenDetails === void 0 && cachedInputTokens !== void 0 && providerCache.cacheWriteTokens > 0;
|
|
453
|
-
const noCacheTokens = inputTokenDetails?.noCacheTokens ?? (cachedInputTokens !== void 0 ? inputTokensRaw - cachedInputTokens - (needsCacheWriteAdjustment ? providerCache.cacheWriteTokens : 0) : inputTokensRaw);
|
|
356
|
+
const noCacheTokens = finiteUsageCount(inputTokenDetails?.noCacheTokens) ?? (cachedInputTokens !== void 0 ? inputTokensRaw - cachedInputTokens - (needsCacheWriteAdjustment ? providerCache.cacheWriteTokens : 0) : inputTokensRaw);
|
|
454
357
|
return {
|
|
455
358
|
inputTokens: Math.max(0, noCacheTokens),
|
|
456
359
|
outputTokens,
|
|
@@ -581,7 +484,6 @@ class StreamProcessor {
|
|
|
581
484
|
`Persisting ${options.logLabel} results for ${this.pendingToolCalls.size} pending tool call(s)`
|
|
582
485
|
);
|
|
583
486
|
for (const [toolCallId, { toolName }] of this.pendingToolCalls) {
|
|
584
|
-
const metadata = this.toolCallMetadata?.get(toolCallId);
|
|
585
487
|
const syntheticResult = {
|
|
586
488
|
content: [{ type: "text", text: options.resultText }],
|
|
587
489
|
meta: {
|
|
@@ -594,27 +496,14 @@ class StreamProcessor {
|
|
|
594
496
|
toolCallId,
|
|
595
497
|
toolName,
|
|
596
498
|
syntheticResult,
|
|
597
|
-
|
|
499
|
+
void 0
|
|
598
500
|
);
|
|
599
501
|
this.eventBus.emit("llm:tool-result", {
|
|
600
502
|
toolName,
|
|
601
|
-
...metadata?.presentationSnapshot !== void 0 && {
|
|
602
|
-
presentationSnapshot: metadata.presentationSnapshot
|
|
603
|
-
},
|
|
604
|
-
...metadata?.meta !== void 0 && {
|
|
605
|
-
meta: metadata.meta
|
|
606
|
-
},
|
|
607
503
|
callId: toolCallId,
|
|
608
504
|
success: false,
|
|
609
|
-
error: options.errorMessage
|
|
610
|
-
...metadata?.requireApproval !== void 0 && {
|
|
611
|
-
requireApproval: metadata.requireApproval
|
|
612
|
-
},
|
|
613
|
-
...metadata?.approvalStatus !== void 0 && {
|
|
614
|
-
approvalStatus: metadata.approvalStatus
|
|
615
|
-
}
|
|
505
|
+
error: options.errorMessage
|
|
616
506
|
});
|
|
617
|
-
this.toolCallMetadata?.delete(toolCallId);
|
|
618
507
|
}
|
|
619
508
|
this.pendingToolCalls.clear();
|
|
620
509
|
}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import { StreamTextResult, ToolSet as VercelToolSet } from 'ai';
|
|
2
2
|
import { ContextManager } from '../../context/manager.js';
|
|
3
3
|
import { SessionEventBus } from '../../events/index.js';
|
|
4
|
-
import { ResourceManager } from '../../resources/index.js';
|
|
5
4
|
import { StreamProcessorResult } from './types.js';
|
|
6
5
|
import type { Logger } from '../../logger/v2/types.js';
|
|
7
|
-
import type { ToolPresentationSnapshotV1 } from '../../tools/types.js';
|
|
8
|
-
import type { ToolCallMetadata } from '../../tools/tool-call-metadata.js';
|
|
9
6
|
import type { LLMProvider, ReasoningVariant } from '../types.js';
|
|
10
7
|
export interface StreamProcessorConfig {
|
|
11
8
|
provider: LLMProvider;
|
|
@@ -21,11 +18,9 @@ export interface StreamProcessorConfig {
|
|
|
21
18
|
export declare class StreamProcessor {
|
|
22
19
|
private contextManager;
|
|
23
20
|
private eventBus;
|
|
24
|
-
private resourceManager;
|
|
25
21
|
private abortSignal;
|
|
26
22
|
private config;
|
|
27
23
|
private streaming;
|
|
28
|
-
private toolCallMetadata?;
|
|
29
24
|
private assistantMessageId;
|
|
30
25
|
private actualTokens;
|
|
31
26
|
private finishReason;
|
|
@@ -35,6 +30,7 @@ export declare class StreamProcessor {
|
|
|
35
30
|
private logger;
|
|
36
31
|
private hasStepUsage;
|
|
37
32
|
private readonly usageScopeId;
|
|
33
|
+
private modelToolCalls;
|
|
38
34
|
/**
|
|
39
35
|
* Track pending tool calls (added to context but no result yet).
|
|
40
36
|
* On cancel/abort, we add synthetic "cancelled" results to maintain tool_use/tool_result pairing.
|
|
@@ -44,19 +40,12 @@ export declare class StreamProcessor {
|
|
|
44
40
|
/**
|
|
45
41
|
* @param contextManager Context manager for message persistence
|
|
46
42
|
* @param eventBus Event bus for emitting events
|
|
47
|
-
* @param resourceManager Resource manager for blob storage
|
|
48
43
|
* @param abortSignal Abort signal for cancellation
|
|
49
44
|
* @param config Provider/model configuration
|
|
50
45
|
* @param logger Logger instance
|
|
51
46
|
* @param streaming If true, emits llm:chunk events. Default true.
|
|
52
|
-
* @param toolCallMetadata Map of tool call IDs to tool-call metadata (approval + presentation)
|
|
53
47
|
*/
|
|
54
|
-
constructor(contextManager: ContextManager, eventBus: SessionEventBus,
|
|
55
|
-
presentationSnapshot?: ToolPresentationSnapshotV1;
|
|
56
|
-
meta?: ToolCallMetadata;
|
|
57
|
-
requireApproval?: boolean;
|
|
58
|
-
approvalStatus?: "approved" | "rejected";
|
|
59
|
-
}> | undefined);
|
|
48
|
+
constructor(contextManager: ContextManager, eventBus: SessionEventBus, abortSignal: AbortSignal, config: StreamProcessorConfig, logger: Logger, streaming?: boolean);
|
|
60
49
|
process(streamFn: () => StreamTextResult<VercelToolSet, unknown>): Promise<StreamProcessorResult>;
|
|
61
50
|
private getCacheTokensFromProviderMetadata;
|
|
62
51
|
private normalizeUsage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-processor.d.ts","sourceRoot":"","sources":["../../../src/llm/executor/stream-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,IAAI,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAmB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"stream-processor.d.ts","sourceRoot":"","sources":["../../../src/llm/executor/stream-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,IAAI,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAmB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAKvD,OAAO,KAAK,EAAE,WAAW,EAAoB,gBAAgB,EAAc,MAAM,aAAa,CAAC;AAgD/F,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,gFAAgF;IAChF,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,qBAAa,eAAe;IA2BpB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,SAAS;IA/BrB,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,YAAY,CAAmE;IACvF,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,iBAAiB,CAAsC;IAC/D,OAAO,CAAC,eAAe,CAAc;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,cAAc,CAAuB;IAC7C;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAAgD;IACxE,OAAO,CAAC,gBAAgB,CAAkE;IAE1F;;;;;;;OAOG;gBAES,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,eAAe,EACzB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,qBAAqB,EACrC,MAAM,EAAE,MAAM,EACN,SAAS,GAAE,OAAc;IAM/B,OAAO,CACT,QAAQ,EAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,GACzD,OAAO,CAAC,qBAAqB,CAAC;IAiYjC,OAAO,CAAC,kCAAkC;IAoB1C,OAAO,CAAC,cAAc;IA4CtB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,0BAA0B;IAclC,OAAO,CAAC,eAAe;YA8BT,gCAAgC;IA0B9C,OAAO,CAAC,sBAAsB;YAwChB,sBAAsB;YAKtB,gBAAgB;IAO9B;;;;OAIG;YACW,2BAA2B;IAQzC;;OAEG;YACW,wBAAwB;YAQxB,yBAAyB;CAuC1C"}
|
|
@@ -1,27 +1,24 @@
|
|
|
1
|
-
import "../../chunk-
|
|
2
|
-
import { truncateToolResult } from "./tool-output-truncator.js";
|
|
3
|
-
import { sanitizeToolResult } from "../../context/utils.js";
|
|
1
|
+
import "../../chunk-C6A6W6XS.js";
|
|
4
2
|
import { DextoLogComponent } from "../../logger/v2/types.js";
|
|
5
3
|
import { getUsagePricingMetadata } from "../usage-metadata.js";
|
|
4
|
+
function finiteUsageCount(value) {
|
|
5
|
+
return typeof value === "number" && Number.isFinite(value) ? value : void 0;
|
|
6
|
+
}
|
|
6
7
|
class StreamProcessor {
|
|
7
8
|
/**
|
|
8
9
|
* @param contextManager Context manager for message persistence
|
|
9
10
|
* @param eventBus Event bus for emitting events
|
|
10
|
-
* @param resourceManager Resource manager for blob storage
|
|
11
11
|
* @param abortSignal Abort signal for cancellation
|
|
12
12
|
* @param config Provider/model configuration
|
|
13
13
|
* @param logger Logger instance
|
|
14
14
|
* @param streaming If true, emits llm:chunk events. Default true.
|
|
15
|
-
* @param toolCallMetadata Map of tool call IDs to tool-call metadata (approval + presentation)
|
|
16
15
|
*/
|
|
17
|
-
constructor(contextManager, eventBus,
|
|
16
|
+
constructor(contextManager, eventBus, abortSignal, config, logger, streaming = true) {
|
|
18
17
|
this.contextManager = contextManager;
|
|
19
18
|
this.eventBus = eventBus;
|
|
20
|
-
this.resourceManager = resourceManager;
|
|
21
19
|
this.abortSignal = abortSignal;
|
|
22
20
|
this.config = config;
|
|
23
21
|
this.streaming = streaming;
|
|
24
|
-
this.toolCallMetadata = toolCallMetadata;
|
|
25
22
|
this.logger = logger.createChild(DextoLogComponent.EXECUTOR);
|
|
26
23
|
this.usageScopeId = config.usageScopeId;
|
|
27
24
|
}
|
|
@@ -34,6 +31,7 @@ class StreamProcessor {
|
|
|
34
31
|
logger;
|
|
35
32
|
hasStepUsage = false;
|
|
36
33
|
usageScopeId;
|
|
34
|
+
modelToolCalls = [];
|
|
37
35
|
/**
|
|
38
36
|
* Track pending tool calls (added to context but no result yet).
|
|
39
37
|
* On cancel/abort, we add synthetic "cancelled" results to maintain tool_use/tool_result pairing.
|
|
@@ -148,60 +146,14 @@ class StreamProcessor {
|
|
|
148
146
|
};
|
|
149
147
|
}
|
|
150
148
|
await this.contextManager.addToolCall(this.assistantMessageId, toolCall);
|
|
151
|
-
this.
|
|
152
|
-
toolName: event.toolName
|
|
153
|
-
});
|
|
154
|
-
this.partialToolCalls.delete(event.toolCallId);
|
|
155
|
-
break;
|
|
156
|
-
}
|
|
157
|
-
case "tool-result": {
|
|
158
|
-
const rawResult = event.output;
|
|
159
|
-
this.logger.debug("Tool result received", {
|
|
160
|
-
toolName: event.toolName,
|
|
149
|
+
this.modelToolCalls.push({
|
|
161
150
|
toolCallId: event.toolCallId,
|
|
162
|
-
rawResult
|
|
163
|
-
});
|
|
164
|
-
const sanitized = await sanitizeToolResult(
|
|
165
|
-
rawResult,
|
|
166
|
-
{
|
|
167
|
-
blobStore: this.resourceManager.getBlobStore(),
|
|
168
|
-
toolName: event.toolName,
|
|
169
|
-
toolCallId: event.toolCallId,
|
|
170
|
-
success: true
|
|
171
|
-
},
|
|
172
|
-
this.logger
|
|
173
|
-
);
|
|
174
|
-
const truncated = truncateToolResult(sanitized);
|
|
175
|
-
const metadata = this.toolCallMetadata?.get(event.toolCallId);
|
|
176
|
-
await this.contextManager.addToolResult(
|
|
177
|
-
event.toolCallId,
|
|
178
|
-
event.toolName,
|
|
179
|
-
truncated,
|
|
180
|
-
// Includes meta.success from sanitization
|
|
181
|
-
metadata
|
|
182
|
-
// Only tool-call metadata if present
|
|
183
|
-
);
|
|
184
|
-
this.eventBus.emit("llm:tool-result", {
|
|
185
151
|
toolName: event.toolName,
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
meta: metadata.meta
|
|
191
|
-
},
|
|
192
|
-
callId: event.toolCallId,
|
|
193
|
-
success: true,
|
|
194
|
-
sanitized: truncated,
|
|
195
|
-
rawResult,
|
|
196
|
-
...metadata?.requireApproval !== void 0 && {
|
|
197
|
-
requireApproval: metadata.requireApproval
|
|
198
|
-
},
|
|
199
|
-
...metadata?.approvalStatus !== void 0 && {
|
|
200
|
-
approvalStatus: metadata.approvalStatus
|
|
201
|
-
}
|
|
152
|
+
input: event.input
|
|
153
|
+
});
|
|
154
|
+
this.pendingToolCalls.set(event.toolCallId, {
|
|
155
|
+
toolName: event.toolName
|
|
202
156
|
});
|
|
203
|
-
this.toolCallMetadata?.delete(event.toolCallId);
|
|
204
|
-
this.pendingToolCalls.delete(event.toolCallId);
|
|
205
157
|
this.partialToolCalls.delete(event.toolCallId);
|
|
206
158
|
break;
|
|
207
159
|
}
|
|
@@ -292,58 +244,6 @@ class StreamProcessor {
|
|
|
292
244
|
}
|
|
293
245
|
break;
|
|
294
246
|
}
|
|
295
|
-
case "tool-error": {
|
|
296
|
-
this.logger.error("Tool execution failed", {
|
|
297
|
-
toolName: event.toolName,
|
|
298
|
-
toolCallId: event.toolCallId,
|
|
299
|
-
error: event.error
|
|
300
|
-
});
|
|
301
|
-
const errorMessage = event.error instanceof Error ? event.error.message : String(event.error);
|
|
302
|
-
const metadata = this.toolCallMetadata?.get(event.toolCallId);
|
|
303
|
-
const errorResult = {
|
|
304
|
-
content: [{ type: "text", text: `Error: ${errorMessage}` }],
|
|
305
|
-
meta: {
|
|
306
|
-
toolName: event.toolName,
|
|
307
|
-
toolCallId: event.toolCallId,
|
|
308
|
-
success: false
|
|
309
|
-
}
|
|
310
|
-
};
|
|
311
|
-
await this.contextManager.addToolResult(
|
|
312
|
-
event.toolCallId,
|
|
313
|
-
event.toolName,
|
|
314
|
-
errorResult,
|
|
315
|
-
metadata
|
|
316
|
-
);
|
|
317
|
-
this.eventBus.emit("llm:tool-result", {
|
|
318
|
-
toolName: event.toolName,
|
|
319
|
-
...metadata?.presentationSnapshot !== void 0 && {
|
|
320
|
-
presentationSnapshot: metadata.presentationSnapshot
|
|
321
|
-
},
|
|
322
|
-
...metadata?.meta !== void 0 && {
|
|
323
|
-
meta: metadata.meta
|
|
324
|
-
},
|
|
325
|
-
callId: event.toolCallId,
|
|
326
|
-
success: false,
|
|
327
|
-
error: errorMessage,
|
|
328
|
-
...metadata?.requireApproval !== void 0 && {
|
|
329
|
-
requireApproval: metadata.requireApproval
|
|
330
|
-
},
|
|
331
|
-
...metadata?.approvalStatus !== void 0 && {
|
|
332
|
-
approvalStatus: metadata.approvalStatus
|
|
333
|
-
}
|
|
334
|
-
});
|
|
335
|
-
this.eventBus.emit("llm:error", {
|
|
336
|
-
error: event.error instanceof Error ? event.error : new Error(String(event.error)),
|
|
337
|
-
context: `Tool execution failed: ${event.toolName}`,
|
|
338
|
-
toolCallId: event.toolCallId,
|
|
339
|
-
recoverable: true
|
|
340
|
-
// Tool errors are typically recoverable
|
|
341
|
-
});
|
|
342
|
-
this.toolCallMetadata?.delete(event.toolCallId);
|
|
343
|
-
this.pendingToolCalls.delete(event.toolCallId);
|
|
344
|
-
this.partialToolCalls.delete(event.toolCallId);
|
|
345
|
-
break;
|
|
346
|
-
}
|
|
347
247
|
case "error": {
|
|
348
248
|
const err = event.error instanceof Error ? event.error : new Error(String(event.error));
|
|
349
249
|
await this.persistFailedToolResults(err.message);
|
|
@@ -370,7 +270,8 @@ class StreamProcessor {
|
|
|
370
270
|
return {
|
|
371
271
|
text: this.accumulatedText,
|
|
372
272
|
finishReason: "cancelled",
|
|
373
|
-
usage: this.actualTokens
|
|
273
|
+
usage: this.actualTokens,
|
|
274
|
+
toolCalls: this.modelToolCalls
|
|
374
275
|
};
|
|
375
276
|
}
|
|
376
277
|
}
|
|
@@ -398,7 +299,8 @@ class StreamProcessor {
|
|
|
398
299
|
return {
|
|
399
300
|
text: this.accumulatedText,
|
|
400
301
|
finishReason: "cancelled",
|
|
401
|
-
usage: this.actualTokens
|
|
302
|
+
usage: this.actualTokens,
|
|
303
|
+
toolCalls: this.modelToolCalls
|
|
402
304
|
};
|
|
403
305
|
}
|
|
404
306
|
this.logger.error("Stream processing failed", { error });
|
|
@@ -407,28 +309,29 @@ class StreamProcessor {
|
|
|
407
309
|
return {
|
|
408
310
|
text: this.accumulatedText,
|
|
409
311
|
finishReason: this.finishReason,
|
|
410
|
-
usage: this.actualTokens
|
|
312
|
+
usage: this.actualTokens,
|
|
313
|
+
toolCalls: this.modelToolCalls
|
|
411
314
|
};
|
|
412
315
|
}
|
|
413
316
|
getCacheTokensFromProviderMetadata(providerMetadata) {
|
|
414
317
|
const anthropicMeta = providerMetadata?.["anthropic"];
|
|
415
318
|
const bedrockMeta = providerMetadata?.["bedrock"];
|
|
416
|
-
const cacheWriteTokens = anthropicMeta?.["cacheCreationInputTokens"] ?? bedrockMeta?.usage?.["cacheWriteInputTokens"] ?? 0;
|
|
417
|
-
const cacheReadTokens = anthropicMeta?.["cacheReadInputTokens"] ?? bedrockMeta?.usage?.["cacheReadInputTokens"] ?? 0;
|
|
319
|
+
const cacheWriteTokens = finiteUsageCount(anthropicMeta?.["cacheCreationInputTokens"]) ?? finiteUsageCount(bedrockMeta?.usage?.["cacheWriteInputTokens"]) ?? 0;
|
|
320
|
+
const cacheReadTokens = finiteUsageCount(anthropicMeta?.["cacheReadInputTokens"]) ?? finiteUsageCount(bedrockMeta?.usage?.["cacheReadInputTokens"]) ?? 0;
|
|
418
321
|
return { cacheReadTokens, cacheWriteTokens };
|
|
419
322
|
}
|
|
420
323
|
normalizeUsage(usage, providerMetadata) {
|
|
421
|
-
const inputTokensRaw = usage?.inputTokens ?? 0;
|
|
422
|
-
const outputTokens = usage?.outputTokens ?? 0;
|
|
423
|
-
const totalTokens = usage?.totalTokens ?? 0;
|
|
424
|
-
const reasoningTokens = usage?.reasoningTokens;
|
|
425
|
-
const cachedInputTokens = usage?.cachedInputTokens;
|
|
324
|
+
const inputTokensRaw = finiteUsageCount(usage?.inputTokens) ?? 0;
|
|
325
|
+
const outputTokens = finiteUsageCount(usage?.outputTokens) ?? 0;
|
|
326
|
+
const totalTokens = finiteUsageCount(usage?.totalTokens) ?? 0;
|
|
327
|
+
const reasoningTokens = finiteUsageCount(usage?.reasoningTokens);
|
|
328
|
+
const cachedInputTokens = finiteUsageCount(usage?.cachedInputTokens);
|
|
426
329
|
const inputTokenDetails = usage?.inputTokenDetails;
|
|
427
330
|
const providerCache = this.getCacheTokensFromProviderMetadata(providerMetadata);
|
|
428
|
-
const cacheReadTokens = inputTokenDetails?.cacheReadTokens ?? cachedInputTokens ?? providerCache.cacheReadTokens ?? 0;
|
|
429
|
-
const cacheWriteTokens = inputTokenDetails?.cacheWriteTokens ?? providerCache.cacheWriteTokens ?? 0;
|
|
331
|
+
const cacheReadTokens = finiteUsageCount(inputTokenDetails?.cacheReadTokens) ?? cachedInputTokens ?? providerCache.cacheReadTokens ?? 0;
|
|
332
|
+
const cacheWriteTokens = finiteUsageCount(inputTokenDetails?.cacheWriteTokens) ?? providerCache.cacheWriteTokens ?? 0;
|
|
430
333
|
const needsCacheWriteAdjustment = inputTokenDetails === void 0 && cachedInputTokens !== void 0 && providerCache.cacheWriteTokens > 0;
|
|
431
|
-
const noCacheTokens = inputTokenDetails?.noCacheTokens ?? (cachedInputTokens !== void 0 ? inputTokensRaw - cachedInputTokens - (needsCacheWriteAdjustment ? providerCache.cacheWriteTokens : 0) : inputTokensRaw);
|
|
334
|
+
const noCacheTokens = finiteUsageCount(inputTokenDetails?.noCacheTokens) ?? (cachedInputTokens !== void 0 ? inputTokensRaw - cachedInputTokens - (needsCacheWriteAdjustment ? providerCache.cacheWriteTokens : 0) : inputTokensRaw);
|
|
432
335
|
return {
|
|
433
336
|
inputTokens: Math.max(0, noCacheTokens),
|
|
434
337
|
outputTokens,
|
|
@@ -559,7 +462,6 @@ class StreamProcessor {
|
|
|
559
462
|
`Persisting ${options.logLabel} results for ${this.pendingToolCalls.size} pending tool call(s)`
|
|
560
463
|
);
|
|
561
464
|
for (const [toolCallId, { toolName }] of this.pendingToolCalls) {
|
|
562
|
-
const metadata = this.toolCallMetadata?.get(toolCallId);
|
|
563
465
|
const syntheticResult = {
|
|
564
466
|
content: [{ type: "text", text: options.resultText }],
|
|
565
467
|
meta: {
|
|
@@ -572,27 +474,14 @@ class StreamProcessor {
|
|
|
572
474
|
toolCallId,
|
|
573
475
|
toolName,
|
|
574
476
|
syntheticResult,
|
|
575
|
-
|
|
477
|
+
void 0
|
|
576
478
|
);
|
|
577
479
|
this.eventBus.emit("llm:tool-result", {
|
|
578
480
|
toolName,
|
|
579
|
-
...metadata?.presentationSnapshot !== void 0 && {
|
|
580
|
-
presentationSnapshot: metadata.presentationSnapshot
|
|
581
|
-
},
|
|
582
|
-
...metadata?.meta !== void 0 && {
|
|
583
|
-
meta: metadata.meta
|
|
584
|
-
},
|
|
585
481
|
callId: toolCallId,
|
|
586
482
|
success: false,
|
|
587
|
-
error: options.errorMessage
|
|
588
|
-
...metadata?.requireApproval !== void 0 && {
|
|
589
|
-
requireApproval: metadata.requireApproval
|
|
590
|
-
},
|
|
591
|
-
...metadata?.approvalStatus !== void 0 && {
|
|
592
|
-
approvalStatus: metadata.approvalStatus
|
|
593
|
-
}
|
|
483
|
+
error: options.errorMessage
|
|
594
484
|
});
|
|
595
|
-
this.toolCallMetadata?.delete(toolCallId);
|
|
596
485
|
}
|
|
597
486
|
this.pendingToolCalls.clear();
|
|
598
487
|
}
|
|
@@ -16,42 +16,30 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
21
|
-
|
|
19
|
+
var tool_definitions_exports = {};
|
|
20
|
+
__export(tool_definitions_exports, {
|
|
21
|
+
createModelToolDefinitions: () => createModelToolDefinitions
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
const index = this.messages.findIndex((m) => m.id === message.id);
|
|
41
|
-
if (index !== -1) {
|
|
42
|
-
this.messages[index] = message;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
async clearHistory() {
|
|
46
|
-
this.messages = [];
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* No-op for in-memory provider - all operations are already "flushed".
|
|
50
|
-
*/
|
|
51
|
-
async flush() {
|
|
23
|
+
module.exports = __toCommonJS(tool_definitions_exports);
|
|
24
|
+
var import_ai = require("ai");
|
|
25
|
+
const modelToolResultSchema = (0, import_ai.jsonSchema)({});
|
|
26
|
+
function createToolDefinitionBase(tool) {
|
|
27
|
+
return {
|
|
28
|
+
inputSchema: (0, import_ai.jsonSchema)(tool.parameters),
|
|
29
|
+
...tool.description ? { description: tool.description } : {}
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function createModelToolDefinitions(tools) {
|
|
33
|
+
const definitions = {};
|
|
34
|
+
for (const [toolName, tool] of Object.entries(tools)) {
|
|
35
|
+
definitions[toolName] = {
|
|
36
|
+
...createToolDefinitionBase(tool),
|
|
37
|
+
outputSchema: modelToolResultSchema
|
|
38
|
+
};
|
|
52
39
|
}
|
|
40
|
+
return definitions;
|
|
53
41
|
}
|
|
54
42
|
// Annotate the CommonJS export names for ESM import in node:
|
|
55
43
|
0 && (module.exports = {
|
|
56
|
-
|
|
44
|
+
createModelToolDefinitions
|
|
57
45
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-definitions.d.ts","sourceRoot":"","sources":["../../../src/llm/executor/tool-definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,OAAO,IAAI,aAAa,EAAE,MAAM,IAAI,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAWpD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CASxE"}
|