@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
|
@@ -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 {
|
|
@@ -756,7 +763,8 @@ ${prompt}`);
|
|
|
756
763
|
if (retainedMediaMessages >= ContextManager.PROMPT_MEDIA_RETENTION_MESSAGES) {
|
|
757
764
|
break;
|
|
758
765
|
}
|
|
759
|
-
|
|
766
|
+
const message = messageHistory[index];
|
|
767
|
+
if (isUserMessage(message) && ContextManager.hasRetainableMedia(message)) {
|
|
760
768
|
retainedMediaMessageIndexes.add(index);
|
|
761
769
|
retainedMediaMessages += 1;
|
|
762
770
|
}
|
|
@@ -783,7 +791,7 @@ ${prompt}`);
|
|
|
783
791
|
this.resourceManager,
|
|
784
792
|
this.logger,
|
|
785
793
|
allowedMediaTypes,
|
|
786
|
-
|
|
794
|
+
false
|
|
787
795
|
);
|
|
788
796
|
return { ...message, content: expandedContent };
|
|
789
797
|
}
|
|
@@ -842,7 +850,9 @@ ${prompt}`);
|
|
|
842
850
|
const lastInput = this.lastActualInputTokens;
|
|
843
851
|
const lastOutput = this.lastActualOutputTokens;
|
|
844
852
|
const lastMsgCount = this.lastCallMessageCount;
|
|
845
|
-
const currentHistory = await this.
|
|
853
|
+
const currentHistory = await this.conversationStore.listMessages({
|
|
854
|
+
sessionId: this.sessionId
|
|
855
|
+
});
|
|
846
856
|
const pureEstimate = estimateContextTokens(systemPrompt, preparedHistory, tools);
|
|
847
857
|
let total;
|
|
848
858
|
let calculationBasis;
|
|
@@ -942,7 +952,9 @@ ${prompt}`);
|
|
|
942
952
|
const lastInput = this.lastActualInputTokens;
|
|
943
953
|
const lastOutput = this.lastActualOutputTokens;
|
|
944
954
|
const lastMsgCount = this.lastCallMessageCount;
|
|
945
|
-
const currentHistory = await this.
|
|
955
|
+
const currentHistory = await this.conversationStore.listMessages({
|
|
956
|
+
sessionId: this.sessionId
|
|
957
|
+
});
|
|
946
958
|
if (lastInput !== null && lastOutput !== null && lastMsgCount !== null) {
|
|
947
959
|
const newMessages = currentHistory.slice(lastMsgCount);
|
|
948
960
|
const newMessagesEstimate = estimateMessagesTokens(newMessages);
|
|
@@ -971,7 +983,7 @@ ${prompt}`);
|
|
|
971
983
|
* Does not reset the system prompt
|
|
972
984
|
*/
|
|
973
985
|
async resetConversation() {
|
|
974
|
-
await this.
|
|
986
|
+
await this.conversationStore.clearMessages({ sessionId: this.sessionId });
|
|
975
987
|
this.resetActualTokenTracking();
|
|
976
988
|
this.logger.debug(
|
|
977
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