@dexto/core 1.7.2 → 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 +44 -33
- package/dist/context/manager.d.ts +7 -7
- package/dist/context/manager.d.ts.map +1 -1
- package/dist/context/manager.js +45 -34
- 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
|
@@ -5,19 +5,19 @@ import type { Logger } from '../logger/v2/types.js';
|
|
|
5
5
|
import type { SanitizedToolResult } from './types.js';
|
|
6
6
|
import { DynamicContributorContext } from '../systemPrompt/types.js';
|
|
7
7
|
import { SystemPromptManager } from '../systemPrompt/manager.js';
|
|
8
|
-
import type {
|
|
8
|
+
import type { ConversationStore } from '../storage/conversation/types.js';
|
|
9
9
|
import { ValidatedLLMConfig } from '../llm/schemas.js';
|
|
10
10
|
import type { ToolPresentationSnapshotV1 } from '../tools/types.js';
|
|
11
11
|
import type { ToolCallMetadata } from '../tools/tool-call-metadata.js';
|
|
12
12
|
/**
|
|
13
13
|
* Manages conversation history and provides message formatting capabilities for the LLM context.
|
|
14
14
|
* The ContextManager is responsible for:
|
|
15
|
-
* - Validating and storing conversation messages via the
|
|
15
|
+
* - Validating and storing conversation messages via the conversation store
|
|
16
16
|
* - Managing the system prompt
|
|
17
17
|
* - Formatting messages for specific LLM providers through an injected formatter
|
|
18
18
|
* - Providing access to conversation history
|
|
19
19
|
*
|
|
20
|
-
* Note: All conversation history is stored and retrieved via the injected
|
|
20
|
+
* Note: All conversation history is stored and retrieved via the injected ConversationStore.
|
|
21
21
|
* The ContextManager does not maintain an internal history cache.
|
|
22
22
|
* Token counting is handled by the LLM API response, not local estimation.
|
|
23
23
|
*
|
|
@@ -58,7 +58,7 @@ export declare class ContextManager<TMessage = unknown> {
|
|
|
58
58
|
* Messages after this index are estimated with length/4 heuristic.
|
|
59
59
|
*/
|
|
60
60
|
private lastCallMessageCount;
|
|
61
|
-
private
|
|
61
|
+
private conversationStore;
|
|
62
62
|
private readonly sessionId;
|
|
63
63
|
/**
|
|
64
64
|
* ResourceManager for resolving blob references in message content.
|
|
@@ -76,12 +76,12 @@ export declare class ContextManager<TMessage = unknown> {
|
|
|
76
76
|
* @param formatter Formatter implementation for the target LLM provider
|
|
77
77
|
* @param systemPromptManager SystemPromptManager instance for the conversation
|
|
78
78
|
* @param maxInputTokens Maximum token limit for the conversation history.
|
|
79
|
-
* @param
|
|
79
|
+
* @param conversationStore Store for managing conversation history
|
|
80
80
|
* @param sessionId Unique identifier for the conversation session (readonly, for debugging)
|
|
81
81
|
* @param resourceManager ResourceManager for resolving blob references in messages
|
|
82
82
|
* @param logger Logger instance for logging
|
|
83
83
|
*/
|
|
84
|
-
constructor(llmConfig: ValidatedLLMConfig, formatter: VercelMessageFormatter, systemPromptManager: SystemPromptManager, maxInputTokens: number,
|
|
84
|
+
constructor(llmConfig: ValidatedLLMConfig, formatter: VercelMessageFormatter, systemPromptManager: SystemPromptManager, maxInputTokens: number, conversationStore: ConversationStore, sessionId: string, resourceManager: import('../resources/index.js').ResourceManager, logger: Logger);
|
|
85
85
|
/**
|
|
86
86
|
* Get the ResourceManager instance
|
|
87
87
|
*/
|
|
@@ -275,7 +275,7 @@ export declare class ContextManager<TMessage = unknown> {
|
|
|
275
275
|
* @param contributorContext The DynamicContributorContext for system prompt contributors and formatting
|
|
276
276
|
* @param llmContext The llmContext for the formatter to decide which messages to include based on the model's capabilities
|
|
277
277
|
* @param systemPrompt (Optional) Precomputed system prompt string. If provided, it will be used instead of recomputing the system prompt. Useful for avoiding duplicate computation when both the formatted messages and the raw system prompt are needed in the same request.
|
|
278
|
-
* @param history (Optional) Pre-fetched and potentially compressed history. If not provided, will fetch from
|
|
278
|
+
* @param history (Optional) Pre-fetched and potentially compressed history. If not provided, will fetch from the conversation store.
|
|
279
279
|
* @returns Formatted messages ready to send to the LLM provider API
|
|
280
280
|
* @throws Error if formatting or compression fails critically
|
|
281
281
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/context/manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAUpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/context/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/context/manager.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "../chunk-
|
|
1
|
+
import "../chunk-C6A6W6XS.js";
|
|
2
2
|
import { randomUUID } from "crypto";
|
|
3
3
|
import { isSystemMessage, isUserMessage, isAssistantMessage, isToolMessage } from "./types.js";
|
|
4
4
|
import { DextoLogComponent } from "../logger/v2/types.js";
|
|
@@ -47,7 +47,7 @@ class ContextManager {
|
|
|
47
47
|
* Messages after this index are estimated with length/4 heuristic.
|
|
48
48
|
*/
|
|
49
49
|
lastCallMessageCount = null;
|
|
50
|
-
|
|
50
|
+
conversationStore;
|
|
51
51
|
sessionId;
|
|
52
52
|
/**
|
|
53
53
|
* ResourceManager for resolving blob references in message content.
|
|
@@ -170,22 +170,22 @@ class ContextManager {
|
|
|
170
170
|
* @param formatter Formatter implementation for the target LLM provider
|
|
171
171
|
* @param systemPromptManager SystemPromptManager instance for the conversation
|
|
172
172
|
* @param maxInputTokens Maximum token limit for the conversation history.
|
|
173
|
-
* @param
|
|
173
|
+
* @param conversationStore Store for managing conversation history
|
|
174
174
|
* @param sessionId Unique identifier for the conversation session (readonly, for debugging)
|
|
175
175
|
* @param resourceManager ResourceManager for resolving blob references in messages
|
|
176
176
|
* @param logger Logger instance for logging
|
|
177
177
|
*/
|
|
178
|
-
constructor(llmConfig, formatter, systemPromptManager, maxInputTokens,
|
|
178
|
+
constructor(llmConfig, formatter, systemPromptManager, maxInputTokens, conversationStore, sessionId, resourceManager, logger) {
|
|
179
179
|
this.llmConfig = llmConfig;
|
|
180
180
|
this.formatter = formatter;
|
|
181
181
|
this.systemPromptManager = systemPromptManager;
|
|
182
182
|
this.maxInputTokens = maxInputTokens;
|
|
183
|
-
this.
|
|
183
|
+
this.conversationStore = conversationStore;
|
|
184
184
|
this.sessionId = sessionId;
|
|
185
185
|
this.resourceManager = resourceManager;
|
|
186
186
|
this.logger = logger.createChild(DextoLogComponent.CONTEXT);
|
|
187
187
|
this.logger.debug(
|
|
188
|
-
`ContextManager: Initialized for session ${sessionId} - history will be managed by ${
|
|
188
|
+
`ContextManager: Initialized for session ${sessionId} - history will be managed by ${conversationStore.constructor.name}`
|
|
189
189
|
);
|
|
190
190
|
}
|
|
191
191
|
/**
|
|
@@ -199,7 +199,7 @@ class ContextManager {
|
|
|
199
199
|
* Returns either the original data or a blob reference (@blob:id).
|
|
200
200
|
*/
|
|
201
201
|
async processUserInput(data, metadata) {
|
|
202
|
-
const
|
|
202
|
+
const artifactStore = this.resourceManager.getArtifactStore();
|
|
203
203
|
let shouldStoreAsBlob = false;
|
|
204
204
|
let estimatedSize = 0;
|
|
205
205
|
if (typeof data === "string") {
|
|
@@ -226,20 +226,25 @@ class ContextManager {
|
|
|
226
226
|
if (shouldStoreAsBlob) {
|
|
227
227
|
try {
|
|
228
228
|
const blobInput = typeof data === "string" && !data.startsWith("data:") && !isLikelyBase64String(data) && !isLikelyBinary ? Buffer.from(data, "utf-8") : data;
|
|
229
|
-
const
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
229
|
+
const artifactRef = await artifactStore.store({
|
|
230
|
+
data: blobInput,
|
|
231
|
+
metadata: {
|
|
232
|
+
mimeType: metadata.mimeType,
|
|
233
|
+
...metadata.originalName !== void 0 && {
|
|
234
|
+
originalName: metadata.originalName
|
|
235
|
+
},
|
|
236
|
+
source: metadata.source || "user"
|
|
237
|
+
}
|
|
233
238
|
});
|
|
234
239
|
this.logger.info(
|
|
235
|
-
`Stored user input as
|
|
240
|
+
`Stored user input as artifact: ${artifactRef.uri} (${estimatedSize} bytes, ${metadata.mimeType})`
|
|
236
241
|
);
|
|
237
242
|
this.resourceManager.emitCacheInvalidated({
|
|
238
|
-
resourceUri:
|
|
243
|
+
resourceUri: artifactRef.uri,
|
|
239
244
|
serverName: "internal",
|
|
240
245
|
action: "blob_stored"
|
|
241
246
|
});
|
|
242
|
-
return `@${
|
|
247
|
+
return `@${artifactRef.uri}`;
|
|
243
248
|
} catch (error) {
|
|
244
249
|
this.logger.warn(`Failed to store user input as blob: ${String(error)}`);
|
|
245
250
|
return data;
|
|
@@ -295,7 +300,7 @@ class ContextManager {
|
|
|
295
300
|
* This marks the boundary for "new messages" calculation.
|
|
296
301
|
*/
|
|
297
302
|
async recordLastCallMessageCount() {
|
|
298
|
-
const history = await this.
|
|
303
|
+
const history = await this.conversationStore.listMessages({ sessionId: this.sessionId });
|
|
299
304
|
this.lastCallMessageCount = history.length;
|
|
300
305
|
this.logger.debug(`Recorded lastCallMessageCount: ${this.lastCallMessageCount}`);
|
|
301
306
|
}
|
|
@@ -330,7 +335,9 @@ class ContextManager {
|
|
|
330
335
|
* @returns Prepared history and statistics about the transformations
|
|
331
336
|
*/
|
|
332
337
|
async prepareHistory() {
|
|
333
|
-
const fullHistory = await this.
|
|
338
|
+
const fullHistory = await this.conversationStore.listMessages({
|
|
339
|
+
sessionId: this.sessionId
|
|
340
|
+
});
|
|
334
341
|
const originalCount = fullHistory.length;
|
|
335
342
|
let history = filterCompacted(fullHistory);
|
|
336
343
|
const filteredCount = history.length;
|
|
@@ -382,7 +389,7 @@ ${prompt}`);
|
|
|
382
389
|
* @returns Promise that resolves to a read-only copy of the conversation history
|
|
383
390
|
*/
|
|
384
391
|
async getHistory() {
|
|
385
|
-
const history = await this.
|
|
392
|
+
const history = await this.conversationStore.listMessages({ sessionId: this.sessionId });
|
|
386
393
|
return [...history];
|
|
387
394
|
}
|
|
388
395
|
/**
|
|
@@ -391,7 +398,7 @@ ${prompt}`);
|
|
|
391
398
|
* This ensures all message updates are persisted before returning control to the caller.
|
|
392
399
|
*/
|
|
393
400
|
async flush() {
|
|
394
|
-
await this.
|
|
401
|
+
await this.conversationStore.flush({ sessionId: this.sessionId });
|
|
395
402
|
}
|
|
396
403
|
/**
|
|
397
404
|
* Clears the context window without deleting history.
|
|
@@ -422,7 +429,7 @@ ${prompt}`);
|
|
|
422
429
|
* Used for streaming responses.
|
|
423
430
|
*/
|
|
424
431
|
async appendAssistantText(messageId, text) {
|
|
425
|
-
const history = await this.
|
|
432
|
+
const history = await this.conversationStore.listMessages({ sessionId: this.sessionId });
|
|
426
433
|
const messageIndex = history.findIndex((m) => m.id === messageId);
|
|
427
434
|
if (messageIndex === -1) {
|
|
428
435
|
throw ContextError.messageNotFound(messageId);
|
|
@@ -444,14 +451,14 @@ ${prompt}`);
|
|
|
444
451
|
message.content.push({ type: "text", text });
|
|
445
452
|
}
|
|
446
453
|
}
|
|
447
|
-
await this.
|
|
454
|
+
await this.conversationStore.updateMessage({ sessionId: this.sessionId, message });
|
|
448
455
|
}
|
|
449
456
|
/**
|
|
450
457
|
* Adds a tool call to an existing assistant message.
|
|
451
458
|
* Used for streaming responses.
|
|
452
459
|
*/
|
|
453
460
|
async addToolCall(messageId, toolCall) {
|
|
454
|
-
const history = await this.
|
|
461
|
+
const history = await this.conversationStore.listMessages({ sessionId: this.sessionId });
|
|
455
462
|
const messageIndex = history.findIndex((m) => m.id === messageId);
|
|
456
463
|
if (messageIndex === -1) {
|
|
457
464
|
throw ContextError.messageNotFound(messageId);
|
|
@@ -467,14 +474,14 @@ ${prompt}`);
|
|
|
467
474
|
message.toolCalls = [];
|
|
468
475
|
}
|
|
469
476
|
message.toolCalls.push(toolCall);
|
|
470
|
-
await this.
|
|
477
|
+
await this.conversationStore.updateMessage({ sessionId: this.sessionId, message });
|
|
471
478
|
}
|
|
472
479
|
/**
|
|
473
480
|
* Updates an existing assistant message with new properties.
|
|
474
481
|
* Used for finalizing streaming responses (e.g. adding token usage).
|
|
475
482
|
*/
|
|
476
483
|
async updateAssistantMessage(messageId, updates) {
|
|
477
|
-
const history = await this.
|
|
484
|
+
const history = await this.conversationStore.listMessages({ sessionId: this.sessionId });
|
|
478
485
|
const messageIndex = history.findIndex((m) => m.id === messageId);
|
|
479
486
|
if (messageIndex === -1) {
|
|
480
487
|
throw ContextError.messageNotFound(messageId);
|
|
@@ -487,7 +494,7 @@ ${prompt}`);
|
|
|
487
494
|
throw ContextError.messageNotAssistant(messageId);
|
|
488
495
|
}
|
|
489
496
|
Object.assign(message, updates);
|
|
490
|
-
await this.
|
|
497
|
+
await this.conversationStore.updateMessage({ sessionId: this.sessionId, message });
|
|
491
498
|
}
|
|
492
499
|
/**
|
|
493
500
|
* Marks tool messages as compacted (pruned).
|
|
@@ -505,7 +512,7 @@ ${prompt}`);
|
|
|
505
512
|
if (messageIds.length === 0) {
|
|
506
513
|
return 0;
|
|
507
514
|
}
|
|
508
|
-
const history = await this.
|
|
515
|
+
const history = await this.conversationStore.listMessages({ sessionId: this.sessionId });
|
|
509
516
|
const timestamp = Date.now();
|
|
510
517
|
let markedCount = 0;
|
|
511
518
|
for (const messageId of messageIds) {
|
|
@@ -524,7 +531,7 @@ ${prompt}`);
|
|
|
524
531
|
continue;
|
|
525
532
|
}
|
|
526
533
|
message.compactedAt = timestamp;
|
|
527
|
-
await this.
|
|
534
|
+
await this.conversationStore.updateMessage({ sessionId: this.sessionId, message });
|
|
528
535
|
markedCount++;
|
|
529
536
|
}
|
|
530
537
|
if (markedCount > 0) {
|
|
@@ -586,10 +593,10 @@ ${prompt}`);
|
|
|
586
593
|
message.timestamp = Date.now();
|
|
587
594
|
}
|
|
588
595
|
this.logger.debug(
|
|
589
|
-
`ContextManager: Adding message to
|
|
596
|
+
`ContextManager: Adding message to conversation store: ${JSON.stringify(message, null, 2)}`
|
|
590
597
|
);
|
|
591
|
-
await this.
|
|
592
|
-
const history = await this.
|
|
598
|
+
await this.conversationStore.saveMessage({ sessionId: this.sessionId, message });
|
|
599
|
+
const history = await this.conversationStore.listMessages({ sessionId: this.sessionId });
|
|
593
600
|
this.logger.debug(`ContextManager: History now contains ${history.length} messages`);
|
|
594
601
|
}
|
|
595
602
|
/**
|
|
@@ -719,12 +726,12 @@ ${prompt}`);
|
|
|
719
726
|
* @param contributorContext The DynamicContributorContext for system prompt contributors and formatting
|
|
720
727
|
* @param llmContext The llmContext for the formatter to decide which messages to include based on the model's capabilities
|
|
721
728
|
* @param systemPrompt (Optional) Precomputed system prompt string. If provided, it will be used instead of recomputing the system prompt. Useful for avoiding duplicate computation when both the formatted messages and the raw system prompt are needed in the same request.
|
|
722
|
-
* @param history (Optional) Pre-fetched and potentially compressed history. If not provided, will fetch from
|
|
729
|
+
* @param history (Optional) Pre-fetched and potentially compressed history. If not provided, will fetch from the conversation store.
|
|
723
730
|
* @returns Formatted messages ready to send to the LLM provider API
|
|
724
731
|
* @throws Error if formatting or compression fails critically
|
|
725
732
|
*/
|
|
726
733
|
async getFormattedMessages(contributorContext, llmContext, systemPrompt, history) {
|
|
727
|
-
let messageHistory = history ?? await this.
|
|
734
|
+
let messageHistory = history ?? await this.conversationStore.listMessages({ sessionId: this.sessionId });
|
|
728
735
|
let allowedMediaTypes = this.llmConfig.allowedMediaTypes;
|
|
729
736
|
if (!allowedMediaTypes) {
|
|
730
737
|
try {
|
|
@@ -843,7 +850,9 @@ ${prompt}`);
|
|
|
843
850
|
const lastInput = this.lastActualInputTokens;
|
|
844
851
|
const lastOutput = this.lastActualOutputTokens;
|
|
845
852
|
const lastMsgCount = this.lastCallMessageCount;
|
|
846
|
-
const currentHistory = await this.
|
|
853
|
+
const currentHistory = await this.conversationStore.listMessages({
|
|
854
|
+
sessionId: this.sessionId
|
|
855
|
+
});
|
|
847
856
|
const pureEstimate = estimateContextTokens(systemPrompt, preparedHistory, tools);
|
|
848
857
|
let total;
|
|
849
858
|
let calculationBasis;
|
|
@@ -943,7 +952,9 @@ ${prompt}`);
|
|
|
943
952
|
const lastInput = this.lastActualInputTokens;
|
|
944
953
|
const lastOutput = this.lastActualOutputTokens;
|
|
945
954
|
const lastMsgCount = this.lastCallMessageCount;
|
|
946
|
-
const currentHistory = await this.
|
|
955
|
+
const currentHistory = await this.conversationStore.listMessages({
|
|
956
|
+
sessionId: this.sessionId
|
|
957
|
+
});
|
|
947
958
|
if (lastInput !== null && lastOutput !== null && lastMsgCount !== null) {
|
|
948
959
|
const newMessages = currentHistory.slice(lastMsgCount);
|
|
949
960
|
const newMessagesEstimate = estimateMessagesTokens(newMessages);
|
|
@@ -972,7 +983,7 @@ ${prompt}`);
|
|
|
972
983
|
* Does not reset the system prompt
|
|
973
984
|
*/
|
|
974
985
|
async resetConversation() {
|
|
975
|
-
await this.
|
|
986
|
+
await this.conversationStore.clearMessages({ sessionId: this.sessionId });
|
|
976
987
|
this.resetActualTokenTracking();
|
|
977
988
|
this.logger.debug(
|
|
978
989
|
`ContextManager: Conversation history cleared for session ${this.sessionId}`
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var schemas_exports = {};
|
|
20
|
+
__export(schemas_exports, {
|
|
21
|
+
ContentPartSchema: () => ContentPartSchema,
|
|
22
|
+
InternalMessageSchema: () => InternalMessageSchema
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(schemas_exports);
|
|
25
|
+
var import_zod = require("zod");
|
|
26
|
+
function isRecord(value) {
|
|
27
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
28
|
+
}
|
|
29
|
+
function isContentPart(value) {
|
|
30
|
+
if (!isRecord(value) || typeof value.type !== "string") {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
switch (value.type) {
|
|
34
|
+
case "text":
|
|
35
|
+
return typeof value.text === "string";
|
|
36
|
+
case "image":
|
|
37
|
+
return "image" in value;
|
|
38
|
+
case "file":
|
|
39
|
+
return "data" in value && typeof value.mimeType === "string";
|
|
40
|
+
case "resource":
|
|
41
|
+
return typeof value.uri === "string" && typeof value.name === "string" && typeof value.mimeType === "string" && ["text", "image", "audio", "video", "binary"].includes(String(value.kind));
|
|
42
|
+
case "ui-resource":
|
|
43
|
+
return typeof value.uri === "string" && typeof value.mimeType === "string";
|
|
44
|
+
default:
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
function isContentParts(value) {
|
|
49
|
+
return Array.isArray(value) && value.every(isContentPart);
|
|
50
|
+
}
|
|
51
|
+
const ContentPartSchema = import_zod.z.custom(isContentPart, {
|
|
52
|
+
message: "Expected a Dexto content part."
|
|
53
|
+
});
|
|
54
|
+
const InternalMessageSchema = import_zod.z.custom(
|
|
55
|
+
(value) => {
|
|
56
|
+
if (!isRecord(value)) {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
switch (value.role) {
|
|
60
|
+
case "system":
|
|
61
|
+
case "user":
|
|
62
|
+
return isContentParts(value.content);
|
|
63
|
+
case "assistant":
|
|
64
|
+
return value.content === null || isContentParts(value.content);
|
|
65
|
+
case "tool":
|
|
66
|
+
return isContentParts(value.content) && typeof value.toolCallId === "string" && typeof value.name === "string";
|
|
67
|
+
default:
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
{ message: "Expected a Dexto internal message." }
|
|
72
|
+
);
|
|
73
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
74
|
+
0 && (module.exports = {
|
|
75
|
+
ContentPartSchema,
|
|
76
|
+
InternalMessageSchema
|
|
77
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/context/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAoC/D,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAEnD,CAAC;AAEH,eAAO,MAAM,qBAAqB,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAuB5D,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import "../chunk-C6A6W6XS.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
function isRecord(value) {
|
|
4
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
5
|
+
}
|
|
6
|
+
function isContentPart(value) {
|
|
7
|
+
if (!isRecord(value) || typeof value.type !== "string") {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
switch (value.type) {
|
|
11
|
+
case "text":
|
|
12
|
+
return typeof value.text === "string";
|
|
13
|
+
case "image":
|
|
14
|
+
return "image" in value;
|
|
15
|
+
case "file":
|
|
16
|
+
return "data" in value && typeof value.mimeType === "string";
|
|
17
|
+
case "resource":
|
|
18
|
+
return typeof value.uri === "string" && typeof value.name === "string" && typeof value.mimeType === "string" && ["text", "image", "audio", "video", "binary"].includes(String(value.kind));
|
|
19
|
+
case "ui-resource":
|
|
20
|
+
return typeof value.uri === "string" && typeof value.mimeType === "string";
|
|
21
|
+
default:
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function isContentParts(value) {
|
|
26
|
+
return Array.isArray(value) && value.every(isContentPart);
|
|
27
|
+
}
|
|
28
|
+
const ContentPartSchema = z.custom(isContentPart, {
|
|
29
|
+
message: "Expected a Dexto content part."
|
|
30
|
+
});
|
|
31
|
+
const InternalMessageSchema = z.custom(
|
|
32
|
+
(value) => {
|
|
33
|
+
if (!isRecord(value)) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
switch (value.role) {
|
|
37
|
+
case "system":
|
|
38
|
+
case "user":
|
|
39
|
+
return isContentParts(value.content);
|
|
40
|
+
case "assistant":
|
|
41
|
+
return value.content === null || isContentParts(value.content);
|
|
42
|
+
case "tool":
|
|
43
|
+
return isContentParts(value.content) && typeof value.toolCallId === "string" && typeof value.name === "string";
|
|
44
|
+
default:
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
{ message: "Expected a Dexto internal message." }
|
|
49
|
+
);
|
|
50
|
+
export {
|
|
51
|
+
ContentPartSchema,
|
|
52
|
+
InternalMessageSchema
|
|
53
|
+
};
|
package/dist/context/types.js
CHANGED