@dexto/core 1.5.8 → 1.6.1
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/README.md +19 -8
- package/dist/agent/DextoAgent.cjs +318 -159
- package/dist/agent/DextoAgent.d.ts +94 -56
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +315 -156
- package/dist/{context/compaction/provider.cjs → agent/agent-options.cjs} +2 -2
- package/dist/agent/agent-options.d.ts +53 -0
- package/dist/agent/agent-options.d.ts.map +1 -0
- package/dist/agent/agentCard.cjs +1 -1
- package/dist/agent/errors.cjs +2 -2
- package/dist/agent/errors.d.ts.map +1 -1
- package/dist/agent/index.cjs +1 -6
- package/dist/agent/index.d.ts +3 -2
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +1 -7
- package/dist/{storage/blob/provider.cjs → agent/runtime-config.cjs} +2 -2
- package/dist/agent/runtime-config.d.ts +53 -0
- package/dist/agent/runtime-config.d.ts.map +1 -0
- package/dist/agent/schemas.cjs +2 -104
- package/dist/agent/schemas.d.ts +8 -9197
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +1 -109
- package/dist/agent/state-manager.d.ts +5 -5
- package/dist/agent/state-manager.d.ts.map +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 +1 -1
- package/dist/approval/errors.cjs +5 -5
- package/dist/approval/errors.d.ts +2 -2
- package/dist/approval/errors.d.ts.map +1 -1
- package/dist/approval/errors.js +5 -5
- package/dist/approval/index.cjs +8 -8
- package/dist/approval/index.d.ts +2 -2
- package/dist/approval/index.d.ts.map +1 -1
- package/dist/approval/index.js +8 -8
- package/dist/approval/manager.cjs +163 -83
- package/dist/approval/manager.d.ts +50 -43
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +161 -81
- package/dist/approval/schemas.cjs +47 -32
- package/dist/approval/schemas.d.ts +291 -97
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +43 -28
- package/dist/approval/types.cjs +1 -1
- package/dist/approval/types.d.ts +14 -14
- package/dist/approval/types.d.ts.map +1 -1
- package/dist/approval/types.js +1 -1
- package/dist/context/compaction/index.cjs +2 -23
- package/dist/context/compaction/index.d.ts +1 -7
- package/dist/context/compaction/index.d.ts.map +1 -1
- package/dist/context/compaction/index.js +1 -16
- package/dist/context/compaction/strategies/noop.cjs +19 -1
- package/dist/context/compaction/strategies/noop.d.ts +13 -3
- package/dist/context/compaction/strategies/noop.d.ts.map +1 -1
- package/dist/context/compaction/strategies/noop.js +19 -1
- package/dist/context/compaction/strategies/{reactive-overflow.cjs → reactive-overflow-compaction.cjs} +67 -64
- package/dist/context/compaction/strategies/{reactive-overflow.d.ts → reactive-overflow-compaction.d.ts} +19 -36
- package/dist/context/compaction/strategies/reactive-overflow-compaction.d.ts.map +1 -0
- package/dist/context/compaction/strategies/{reactive-overflow.js → reactive-overflow-compaction.js} +63 -60
- package/dist/context/compaction/types.d.ts +40 -8
- package/dist/context/compaction/types.d.ts.map +1 -1
- package/dist/context/manager.cjs +4 -2
- package/dist/context/manager.d.ts +5 -3
- package/dist/context/manager.d.ts.map +1 -1
- package/dist/context/manager.js +4 -2
- package/dist/context/types.d.ts +3 -0
- package/dist/context/types.d.ts.map +1 -1
- package/dist/context/utils.cjs +2 -2
- package/dist/context/utils.d.ts +14 -14
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/errors/result-bridge.d.ts +2 -2
- package/dist/errors/result-bridge.d.ts.map +1 -1
- package/dist/errors/types.cjs +1 -1
- package/dist/errors/types.d.ts +3 -3
- package/dist/errors/types.d.ts.map +1 -1
- package/dist/errors/types.js +1 -1
- package/dist/events/index.cjs +11 -1
- package/dist/events/index.d.ts +48 -7
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +11 -1
- package/dist/{plugins → hooks}/builtins/content-policy.cjs +7 -6
- package/dist/hooks/builtins/content-policy.d.ts +24 -0
- package/dist/hooks/builtins/content-policy.d.ts.map +1 -0
- package/dist/{plugins → hooks}/builtins/content-policy.js +6 -5
- package/dist/{plugins → hooks}/builtins/response-sanitizer.cjs +3 -3
- package/dist/hooks/builtins/response-sanitizer.d.ts +22 -0
- package/dist/hooks/builtins/response-sanitizer.d.ts.map +1 -0
- package/dist/{plugins → hooks}/builtins/response-sanitizer.js +2 -2
- package/dist/hooks/error-codes.cjs +43 -0
- package/dist/hooks/error-codes.d.ts +34 -0
- package/dist/hooks/error-codes.d.ts.map +1 -0
- package/dist/hooks/error-codes.js +20 -0
- package/dist/{storage/cache/providers/memory.cjs → hooks/index.cjs} +15 -18
- package/dist/hooks/index.d.ts +14 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +11 -0
- package/dist/hooks/manager.cjs +354 -0
- package/dist/hooks/manager.d.ts +103 -0
- package/dist/hooks/manager.d.ts.map +1 -0
- package/dist/hooks/manager.js +331 -0
- package/dist/{plugins → hooks}/types.d.ts +26 -45
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/index.browser.cjs +13 -12
- package/dist/index.browser.d.ts +5 -5
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +8 -7
- package/dist/index.cjs +5 -7
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -3
- package/dist/llm/errors.cjs +1 -1
- package/dist/llm/executor/stream-processor.cjs +131 -11
- package/dist/llm/executor/stream-processor.d.ts +8 -5
- package/dist/llm/executor/stream-processor.d.ts.map +1 -1
- package/dist/llm/executor/stream-processor.js +131 -11
- package/dist/llm/executor/turn-executor.cjs +49 -54
- package/dist/llm/executor/turn-executor.d.ts +7 -8
- package/dist/llm/executor/turn-executor.d.ts.map +1 -1
- package/dist/llm/executor/turn-executor.js +49 -54
- package/dist/llm/formatters/vercel.cjs +2 -2
- package/dist/llm/formatters/vercel.d.ts +2 -2
- package/dist/llm/formatters/vercel.d.ts.map +1 -1
- package/dist/llm/providers/local/schemas.d.ts +12 -12
- package/dist/llm/registry/auto-update.d.ts +2 -2
- package/dist/llm/registry/auto-update.d.ts.map +1 -1
- package/dist/llm/registry/index.d.ts +3 -3
- package/dist/llm/registry/index.d.ts.map +1 -1
- package/dist/llm/resolver.cjs +2 -2
- package/dist/llm/resolver.d.ts +4 -4
- package/dist/llm/resolver.d.ts.map +1 -1
- package/dist/llm/schemas.cjs +67 -104
- package/dist/llm/schemas.d.ts +10 -149
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +64 -101
- package/dist/llm/services/factory.cjs +2 -3
- package/dist/llm/services/factory.d.ts +3 -4
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +2 -3
- package/dist/llm/services/vercel.cjs +8 -15
- package/dist/llm/services/vercel.d.ts +6 -7
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +8 -15
- package/dist/llm/validation.cjs +1 -1
- package/dist/llm/validation.d.ts +2 -2
- package/dist/llm/validation.d.ts.map +1 -1
- package/dist/logger/browser.cjs +4 -4
- package/dist/logger/browser.d.ts +4 -4
- package/dist/logger/browser.d.ts.map +1 -1
- package/dist/logger/browser.js +3 -3
- package/dist/{context/compaction/providers/noop-provider.cjs → logger/default-logger-factory.cjs} +16 -22
- package/dist/logger/default-logger-factory.d.ts +301 -0
- package/dist/logger/default-logger-factory.d.ts.map +1 -0
- package/dist/logger/default-logger-factory.js +18 -0
- package/dist/logger/factory.d.ts +2 -2
- package/dist/logger/factory.d.ts.map +1 -1
- package/dist/logger/index.cjs +7 -2
- package/dist/logger/index.d.ts +5 -3
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js +8 -2
- package/dist/logger/logger.cjs +4 -4
- package/dist/logger/logger.d.ts +4 -4
- package/dist/logger/logger.d.ts.map +1 -1
- package/dist/logger/logger.js +3 -3
- package/dist/logger/v2/dexto-logger.cjs +35 -0
- package/dist/logger/v2/dexto-logger.d.ts +22 -3
- package/dist/logger/v2/dexto-logger.d.ts.map +1 -1
- package/dist/logger/v2/dexto-logger.js +35 -0
- package/dist/logger/v2/schemas.d.ts +6 -6
- package/dist/logger/v2/test-utils.cjs +2 -0
- package/dist/logger/v2/test-utils.d.ts +5 -5
- package/dist/logger/v2/test-utils.d.ts.map +1 -1
- package/dist/logger/v2/test-utils.js +2 -0
- package/dist/logger/v2/transport-factory.d.ts +3 -3
- package/dist/logger/v2/transport-factory.d.ts.map +1 -1
- package/dist/logger/v2/transports/console-transport.d.ts +2 -2
- package/dist/logger/v2/transports/console-transport.d.ts.map +1 -1
- package/dist/logger/v2/transports/file-transport.d.ts +2 -2
- package/dist/logger/v2/transports/file-transport.d.ts.map +1 -1
- package/dist/logger/v2/transports/silent-transport.d.ts +2 -2
- package/dist/logger/v2/transports/silent-transport.d.ts.map +1 -1
- package/dist/logger/v2/types.cjs +1 -1
- package/dist/logger/v2/types.d.ts +22 -9
- package/dist/logger/v2/types.d.ts.map +1 -1
- package/dist/logger/v2/types.js +1 -1
- package/dist/mcp/errors.cjs +2 -2
- package/dist/mcp/errors.d.ts.map +1 -1
- package/dist/mcp/manager.cjs +16 -11
- package/dist/mcp/manager.d.ts +16 -13
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +17 -12
- package/dist/mcp/mcp-client.cjs +25 -20
- package/dist/mcp/mcp-client.d.ts +5 -5
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +20 -15
- package/dist/mcp/resolver.cjs +1 -1
- package/dist/mcp/schemas.cjs +5 -5
- package/dist/mcp/schemas.d.ts +19 -19
- package/dist/mcp/schemas.js +2 -2
- package/dist/mcp/types.d.ts +7 -7
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/memory/manager.d.ts +2 -2
- package/dist/memory/manager.d.ts.map +1 -1
- package/dist/memory/schemas.d.ts +2 -2
- package/dist/prompts/errors.cjs +3 -3
- package/dist/prompts/errors.d.ts.map +1 -1
- package/dist/prompts/prompt-manager.d.ts +3 -3
- package/dist/prompts/prompt-manager.d.ts.map +1 -1
- package/dist/prompts/providers/config-prompt-provider.cjs +15 -29
- package/dist/prompts/providers/config-prompt-provider.d.ts +3 -3
- package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/config-prompt-provider.js +15 -29
- package/dist/prompts/providers/custom-prompt-provider.d.ts +2 -2
- package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/mcp-prompt-provider.d.ts +2 -2
- package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/schemas.d.ts +7 -7
- package/dist/resources/{internal-provider.cjs → agent-resources-provider.cjs} +16 -16
- package/dist/resources/{internal-provider.d.ts → agent-resources-provider.d.ts} +6 -6
- package/dist/resources/agent-resources-provider.d.ts.map +1 -0
- package/dist/resources/{internal-provider.js → agent-resources-provider.js} +13 -13
- package/dist/resources/errors.cjs +2 -2
- package/dist/resources/errors.d.ts.map +1 -1
- package/dist/resources/handlers/blob-handler.d.ts +2 -2
- package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
- package/dist/resources/handlers/factory.d.ts +3 -3
- package/dist/resources/handlers/factory.d.ts.map +1 -1
- package/dist/resources/handlers/filesystem-handler.d.ts +2 -2
- package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
- package/dist/resources/index.cjs +7 -9
- package/dist/resources/index.d.ts +3 -3
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +5 -10
- package/dist/resources/manager.cjs +77 -74
- package/dist/resources/manager.d.ts +16 -7
- package/dist/resources/manager.d.ts.map +1 -1
- package/dist/resources/manager.js +77 -74
- package/dist/resources/schemas.cjs +6 -26
- package/dist/resources/schemas.d.ts +8 -100
- package/dist/resources/schemas.d.ts.map +1 -1
- package/dist/resources/schemas.js +4 -23
- package/dist/search/search-service.d.ts +2 -2
- package/dist/search/search-service.d.ts.map +1 -1
- package/dist/session/chat-session.cjs +15 -25
- package/dist/session/chat-session.d.ts +7 -5
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +16 -26
- package/dist/session/errors.cjs +2 -2
- package/dist/session/errors.d.ts.map +1 -1
- package/dist/session/history/database.cjs +1 -1
- package/dist/session/history/database.d.ts +4 -4
- package/dist/session/history/database.d.ts.map +1 -1
- package/dist/session/history/factory.d.ts +3 -3
- package/dist/session/history/factory.d.ts.map +1 -1
- package/dist/session/history/memory.d.ts +4 -4
- package/dist/session/history/memory.d.ts.map +1 -1
- package/dist/session/history/types.d.ts +2 -2
- package/dist/session/history/types.d.ts.map +1 -1
- package/dist/session/index.cjs +3 -0
- package/dist/session/index.d.ts +2 -0
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +2 -0
- package/dist/session/message-queue.d.ts +2 -2
- package/dist/session/message-queue.d.ts.map +1 -1
- package/dist/session/session-manager.cjs +67 -9
- package/dist/session/session-manager.d.ts +46 -7
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +67 -9
- package/dist/session/title-generator.cjs +2 -2
- package/dist/session/title-generator.d.ts +2 -2
- package/dist/session/title-generator.d.ts.map +1 -1
- package/dist/storage/blob/index.cjs +0 -40
- package/dist/storage/blob/index.d.ts +2 -44
- package/dist/storage/blob/index.d.ts.map +1 -1
- package/dist/storage/blob/index.js +0 -30
- package/dist/storage/cache/index.cjs +0 -37
- package/dist/storage/cache/index.d.ts +0 -42
- package/dist/storage/cache/index.d.ts.map +1 -1
- package/dist/storage/cache/index.js +0 -28
- package/dist/storage/database/index.cjs +0 -42
- package/dist/storage/database/index.d.ts +0 -43
- package/dist/storage/database/index.d.ts.map +1 -1
- package/dist/storage/database/index.js +0 -37
- package/dist/storage/error-codes.cjs +1 -6
- package/dist/storage/error-codes.d.ts +2 -7
- package/dist/storage/error-codes.d.ts.map +1 -1
- package/dist/storage/error-codes.js +1 -6
- package/dist/storage/errors.cjs +18 -82
- package/dist/storage/errors.d.ts +4 -24
- package/dist/storage/errors.d.ts.map +1 -1
- package/dist/storage/errors.js +16 -80
- package/dist/storage/index.cjs +8 -69
- package/dist/storage/index.d.ts +11 -66
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +6 -50
- package/dist/storage/storage-manager.cjs +9 -25
- package/dist/storage/storage-manager.d.ts +11 -15
- package/dist/storage/storage-manager.d.ts.map +1 -1
- package/dist/storage/storage-manager.js +8 -23
- package/dist/storage/types.d.ts +0 -1
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/systemPrompt/contributors.d.ts +4 -4
- package/dist/systemPrompt/contributors.d.ts.map +1 -1
- package/dist/systemPrompt/errors.cjs +2 -2
- package/dist/systemPrompt/errors.d.ts.map +1 -1
- package/dist/systemPrompt/in-built-prompts.cjs +5 -5
- package/dist/systemPrompt/in-built-prompts.d.ts +1 -1
- package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
- package/dist/systemPrompt/in-built-prompts.js +5 -5
- package/dist/systemPrompt/manager.cjs +1 -5
- package/dist/systemPrompt/manager.d.ts +2 -3
- package/dist/systemPrompt/manager.d.ts.map +1 -1
- package/dist/systemPrompt/manager.js +1 -5
- package/dist/systemPrompt/schemas.d.ts +5 -5
- package/dist/systemPrompt/types.d.ts +11 -0
- package/dist/systemPrompt/types.d.ts.map +1 -1
- package/dist/telemetry/index.cjs +3 -0
- package/dist/telemetry/index.d.ts +2 -0
- package/dist/telemetry/index.d.ts.map +1 -1
- package/dist/telemetry/index.js +2 -0
- package/dist/telemetry/utils.d.ts +4 -4
- package/dist/telemetry/utils.d.ts.map +1 -1
- package/dist/test-utils/in-memory-storage.cjs +288 -0
- package/dist/test-utils/in-memory-storage.js +252 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +3 -3
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts +2 -2
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +4 -4
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/types.d.ts +2 -2
- package/dist/tools/confirmation/allowed-tools-provider/types.d.ts.map +1 -1
- package/dist/tools/{internal-tools/constants.cjs → define-tool.cjs} +8 -13
- package/dist/tools/define-tool.d.ts +11 -0
- package/dist/tools/define-tool.d.ts.map +1 -0
- package/dist/tools/define-tool.js +7 -0
- package/dist/tools/display-types.d.ts +10 -0
- package/dist/tools/display-types.d.ts.map +1 -1
- package/dist/tools/error-codes.cjs +2 -2
- package/dist/tools/error-codes.d.ts +2 -2
- package/dist/tools/error-codes.d.ts.map +1 -1
- package/dist/tools/error-codes.js +2 -2
- package/dist/tools/errors.cjs +11 -23
- package/dist/tools/errors.d.ts +4 -10
- package/dist/tools/errors.d.ts.map +1 -1
- package/dist/tools/errors.js +9 -21
- package/dist/tools/index.cjs +6 -9
- package/dist/tools/index.d.ts +3 -4
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +3 -7
- package/dist/{storage/blob/providers/index.cjs → tools/pattern-utils.cjs} +11 -9
- package/dist/tools/pattern-utils.d.ts +20 -0
- package/dist/tools/pattern-utils.d.ts.map +1 -0
- package/dist/tools/pattern-utils.js +10 -0
- package/dist/{storage/cache/factory.cjs → tools/presentation.cjs} +26 -15
- package/dist/tools/presentation.d.ts +11 -0
- package/dist/tools/presentation.d.ts.map +1 -0
- package/dist/tools/presentation.js +24 -0
- package/dist/tools/schemas.cjs +14 -40
- package/dist/tools/schemas.d.ts +6 -50
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +11 -32
- package/dist/tools/tool-call-metadata.cjs +3 -3
- package/dist/tools/tool-call-metadata.d.ts +1 -1
- package/dist/tools/tool-call-metadata.d.ts.map +1 -1
- package/dist/tools/tool-call-metadata.js +3 -3
- package/dist/tools/tool-manager.cjs +608 -392
- package/dist/tools/tool-manager.d.ts +79 -98
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +608 -396
- package/dist/tools/types.d.ts +223 -45
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils/error-conversion.d.ts +2 -2
- package/dist/utils/error-conversion.d.ts.map +1 -1
- package/dist/utils/path.cjs +10 -1
- package/dist/utils/path.d.ts +7 -4
- package/dist/utils/path.d.ts.map +1 -1
- package/dist/utils/path.js +10 -1
- package/dist/utils/result.cjs +1 -1
- package/dist/utils/result.d.ts.map +1 -1
- package/dist/utils/schema.cjs +9 -5
- package/dist/utils/schema.d.ts +4 -2
- package/dist/utils/schema.d.ts.map +1 -1
- package/dist/utils/schema.js +9 -5
- package/dist/utils/service-initializer.cjs +51 -56
- package/dist/utils/service-initializer.d.ts +17 -14
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +51 -56
- package/dist/{storage/cache/providers/index.cjs → workspace/error-codes.cjs} +8 -9
- package/dist/workspace/error-codes.d.ts +5 -0
- package/dist/workspace/error-codes.d.ts.map +1 -0
- package/dist/workspace/error-codes.js +7 -0
- package/dist/{storage/blob/factory.cjs → workspace/errors.cjs} +20 -14
- package/dist/workspace/errors.d.ts +5 -0
- package/dist/workspace/errors.d.ts.map +1 -0
- package/dist/workspace/errors.js +21 -0
- package/dist/{image → workspace}/index.cjs +12 -10
- package/dist/workspace/index.d.ts +5 -0
- package/dist/workspace/index.d.ts.map +1 -0
- package/dist/workspace/index.js +9 -0
- package/dist/workspace/manager.cjs +113 -0
- package/dist/workspace/manager.d.ts +18 -0
- package/dist/workspace/manager.d.ts.map +1 -0
- package/dist/workspace/manager.js +90 -0
- package/dist/workspace/types.d.ts +14 -0
- package/dist/workspace/types.d.ts.map +1 -0
- package/package.json +2 -2
- package/dist/context/compaction/factory.cjs +0 -57
- package/dist/context/compaction/factory.d.ts +0 -17
- package/dist/context/compaction/factory.d.ts.map +0 -1
- package/dist/context/compaction/factory.js +0 -34
- package/dist/context/compaction/provider.d.ts +0 -48
- package/dist/context/compaction/provider.d.ts.map +0 -1
- package/dist/context/compaction/providers/noop-provider.d.ts +0 -24
- package/dist/context/compaction/providers/noop-provider.d.ts.map +0 -1
- package/dist/context/compaction/providers/noop-provider.js +0 -24
- package/dist/context/compaction/providers/reactive-overflow-provider.cjs +0 -76
- package/dist/context/compaction/providers/reactive-overflow-provider.d.ts +0 -51
- package/dist/context/compaction/providers/reactive-overflow-provider.d.ts.map +0 -1
- package/dist/context/compaction/providers/reactive-overflow-provider.js +0 -52
- package/dist/context/compaction/registry.cjs +0 -39
- package/dist/context/compaction/registry.d.ts +0 -19
- package/dist/context/compaction/registry.d.ts.map +0 -1
- package/dist/context/compaction/registry.js +0 -16
- package/dist/context/compaction/schemas.cjs +0 -58
- package/dist/context/compaction/schemas.d.ts +0 -69
- package/dist/context/compaction/schemas.d.ts.map +0 -1
- package/dist/context/compaction/schemas.js +0 -34
- package/dist/context/compaction/strategies/reactive-overflow.d.ts.map +0 -1
- package/dist/image/define-image.cjs +0 -146
- package/dist/image/define-image.d.ts +0 -71
- package/dist/image/define-image.d.ts.map +0 -1
- package/dist/image/define-image.js +0 -121
- package/dist/image/index.d.ts +0 -53
- package/dist/image/index.d.ts.map +0 -1
- package/dist/image/index.js +0 -7
- package/dist/image/types.d.ts +0 -246
- package/dist/image/types.d.ts.map +0 -1
- package/dist/llm/services/test-utils.integration.cjs +0 -237
- package/dist/llm/services/test-utils.integration.d.ts +0 -48
- package/dist/llm/services/test-utils.integration.d.ts.map +0 -1
- package/dist/llm/services/test-utils.integration.js +0 -214
- package/dist/plugins/builtins/content-policy.d.ts +0 -26
- package/dist/plugins/builtins/content-policy.d.ts.map +0 -1
- package/dist/plugins/builtins/response-sanitizer.d.ts +0 -25
- package/dist/plugins/builtins/response-sanitizer.d.ts.map +0 -1
- package/dist/plugins/error-codes.cjs +0 -43
- package/dist/plugins/error-codes.d.ts +0 -34
- package/dist/plugins/error-codes.d.ts.map +0 -1
- package/dist/plugins/error-codes.js +0 -20
- package/dist/plugins/index.cjs +0 -61
- package/dist/plugins/index.d.ts +0 -21
- package/dist/plugins/index.d.ts.map +0 -1
- package/dist/plugins/index.js +0 -30
- package/dist/plugins/loader.cjs +0 -171
- package/dist/plugins/loader.d.ts +0 -30
- package/dist/plugins/loader.d.ts.map +0 -1
- package/dist/plugins/loader.js +0 -145
- package/dist/plugins/manager.cjs +0 -473
- package/dist/plugins/manager.d.ts +0 -106
- package/dist/plugins/manager.d.ts.map +0 -1
- package/dist/plugins/manager.js +0 -450
- package/dist/plugins/registrations/builtins.cjs +0 -51
- package/dist/plugins/registrations/builtins.d.ts +0 -17
- package/dist/plugins/registrations/builtins.d.ts.map +0 -1
- package/dist/plugins/registrations/builtins.js +0 -28
- package/dist/plugins/registry.cjs +0 -63
- package/dist/plugins/registry.d.ts +0 -101
- package/dist/plugins/registry.d.ts.map +0 -1
- package/dist/plugins/registry.js +0 -39
- package/dist/plugins/schemas.cjs +0 -73
- package/dist/plugins/schemas.d.ts +0 -195
- package/dist/plugins/schemas.d.ts.map +0 -1
- package/dist/plugins/schemas.js +0 -47
- package/dist/plugins/types.d.ts.map +0 -1
- package/dist/providers/base-registry.cjs +0 -147
- package/dist/providers/base-registry.d.ts +0 -147
- package/dist/providers/base-registry.d.ts.map +0 -1
- package/dist/providers/base-registry.js +0 -123
- package/dist/providers/discovery.cjs +0 -109
- package/dist/providers/discovery.d.ts +0 -96
- package/dist/providers/discovery.d.ts.map +0 -1
- package/dist/providers/discovery.js +0 -84
- package/dist/providers/index.cjs +0 -24
- package/dist/providers/index.d.ts +0 -32
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/providers/index.js +0 -2
- package/dist/resources/internal-provider.d.ts.map +0 -1
- package/dist/storage/blob/factory.d.ts +0 -37
- package/dist/storage/blob/factory.d.ts.map +0 -1
- package/dist/storage/blob/factory.js +0 -15
- package/dist/storage/blob/local-blob-store.cjs +0 -496
- package/dist/storage/blob/local-blob-store.d.ts +0 -58
- package/dist/storage/blob/local-blob-store.d.ts.map +0 -1
- package/dist/storage/blob/local-blob-store.js +0 -463
- package/dist/storage/blob/memory-blob-store.cjs +0 -326
- package/dist/storage/blob/memory-blob-store.d.ts +0 -66
- package/dist/storage/blob/memory-blob-store.d.ts.map +0 -1
- package/dist/storage/blob/memory-blob-store.js +0 -303
- package/dist/storage/blob/provider.d.ts +0 -50
- package/dist/storage/blob/provider.d.ts.map +0 -1
- package/dist/storage/blob/providers/index.d.ts +0 -8
- package/dist/storage/blob/providers/index.d.ts.map +0 -1
- package/dist/storage/blob/providers/index.js +0 -7
- package/dist/storage/blob/providers/local.cjs +0 -39
- package/dist/storage/blob/providers/local.d.ts +0 -17
- package/dist/storage/blob/providers/local.d.ts.map +0 -1
- package/dist/storage/blob/providers/local.js +0 -16
- package/dist/storage/blob/providers/memory.cjs +0 -39
- package/dist/storage/blob/providers/memory.d.ts +0 -17
- package/dist/storage/blob/providers/memory.d.ts.map +0 -1
- package/dist/storage/blob/providers/memory.js +0 -16
- package/dist/storage/blob/registry.cjs +0 -50
- package/dist/storage/blob/registry.d.ts +0 -42
- package/dist/storage/blob/registry.d.ts.map +0 -1
- package/dist/storage/blob/registry.js +0 -26
- package/dist/storage/blob/schemas.cjs +0 -52
- package/dist/storage/blob/schemas.d.ts +0 -85
- package/dist/storage/blob/schemas.d.ts.map +0 -1
- package/dist/storage/blob/schemas.js +0 -26
- package/dist/storage/cache/factory.d.ts +0 -37
- package/dist/storage/cache/factory.d.ts.map +0 -1
- package/dist/storage/cache/factory.js +0 -15
- package/dist/storage/cache/memory-cache-store.cjs +0 -107
- package/dist/storage/cache/memory-cache-store.d.ts +0 -26
- package/dist/storage/cache/memory-cache-store.d.ts.map +0 -1
- package/dist/storage/cache/memory-cache-store.js +0 -84
- package/dist/storage/cache/provider.cjs +0 -16
- package/dist/storage/cache/provider.d.ts +0 -56
- package/dist/storage/cache/provider.d.ts.map +0 -1
- package/dist/storage/cache/provider.js +0 -0
- package/dist/storage/cache/providers/index.d.ts +0 -8
- package/dist/storage/cache/providers/index.d.ts.map +0 -1
- package/dist/storage/cache/providers/index.js +0 -7
- package/dist/storage/cache/providers/memory.d.ts +0 -17
- package/dist/storage/cache/providers/memory.d.ts.map +0 -1
- package/dist/storage/cache/providers/memory.js +0 -17
- package/dist/storage/cache/providers/redis.cjs +0 -66
- package/dist/storage/cache/providers/redis.d.ts +0 -20
- package/dist/storage/cache/providers/redis.d.ts.map +0 -1
- package/dist/storage/cache/providers/redis.js +0 -33
- package/dist/storage/cache/redis-store.cjs +0 -173
- package/dist/storage/cache/redis-store.d.ts +0 -32
- package/dist/storage/cache/redis-store.d.ts.map +0 -1
- package/dist/storage/cache/redis-store.js +0 -150
- package/dist/storage/cache/registry.cjs +0 -50
- package/dist/storage/cache/registry.d.ts +0 -42
- package/dist/storage/cache/registry.d.ts.map +0 -1
- package/dist/storage/cache/registry.js +0 -26
- package/dist/storage/cache/schemas.cjs +0 -81
- package/dist/storage/cache/schemas.d.ts +0 -150
- package/dist/storage/cache/schemas.d.ts.map +0 -1
- package/dist/storage/cache/schemas.js +0 -55
- package/dist/storage/database/factory.cjs +0 -38
- package/dist/storage/database/factory.d.ts +0 -39
- package/dist/storage/database/factory.d.ts.map +0 -1
- package/dist/storage/database/factory.js +0 -15
- package/dist/storage/database/memory-database-store.cjs +0 -122
- package/dist/storage/database/memory-database-store.d.ts +0 -29
- package/dist/storage/database/memory-database-store.d.ts.map +0 -1
- package/dist/storage/database/memory-database-store.js +0 -99
- package/dist/storage/database/postgres-store.cjs +0 -342
- package/dist/storage/database/postgres-store.d.ts +0 -55
- package/dist/storage/database/postgres-store.d.ts.map +0 -1
- package/dist/storage/database/postgres-store.js +0 -319
- package/dist/storage/database/provider.cjs +0 -16
- package/dist/storage/database/provider.d.ts +0 -56
- package/dist/storage/database/provider.d.ts.map +0 -1
- package/dist/storage/database/provider.js +0 -0
- package/dist/storage/database/providers/index.cjs +0 -34
- package/dist/storage/database/providers/index.d.ts +0 -9
- package/dist/storage/database/providers/index.d.ts.map +0 -1
- package/dist/storage/database/providers/index.js +0 -9
- package/dist/storage/database/providers/memory.cjs +0 -40
- package/dist/storage/database/providers/memory.d.ts +0 -16
- package/dist/storage/database/providers/memory.d.ts.map +0 -1
- package/dist/storage/database/providers/memory.js +0 -17
- package/dist/storage/database/providers/postgres.cjs +0 -62
- package/dist/storage/database/providers/postgres.d.ts +0 -19
- package/dist/storage/database/providers/postgres.d.ts.map +0 -1
- package/dist/storage/database/providers/postgres.js +0 -29
- package/dist/storage/database/providers/sqlite.cjs +0 -66
- package/dist/storage/database/providers/sqlite.d.ts +0 -20
- package/dist/storage/database/providers/sqlite.d.ts.map +0 -1
- package/dist/storage/database/providers/sqlite.js +0 -33
- package/dist/storage/database/registry.cjs +0 -50
- package/dist/storage/database/registry.d.ts +0 -42
- package/dist/storage/database/registry.d.ts.map +0 -1
- package/dist/storage/database/registry.js +0 -26
- package/dist/storage/database/schemas.cjs +0 -97
- package/dist/storage/database/schemas.d.ts +0 -226
- package/dist/storage/database/schemas.d.ts.map +0 -1
- package/dist/storage/database/schemas.js +0 -70
- package/dist/storage/database/sqlite-store.cjs +0 -270
- package/dist/storage/database/sqlite-store.d.ts +0 -33
- package/dist/storage/database/sqlite-store.d.ts.map +0 -1
- package/dist/storage/database/sqlite-store.js +0 -237
- package/dist/storage/schemas.cjs +0 -57
- package/dist/storage/schemas.d.ts +0 -347
- package/dist/storage/schemas.d.ts.map +0 -1
- package/dist/storage/schemas.js +0 -37
- package/dist/tools/bash-pattern-utils.cjs +0 -91
- package/dist/tools/bash-pattern-utils.d.ts +0 -58
- package/dist/tools/bash-pattern-utils.d.ts.map +0 -1
- package/dist/tools/bash-pattern-utils.js +0 -64
- package/dist/tools/custom-tool-registry.cjs +0 -64
- package/dist/tools/custom-tool-registry.d.ts +0 -126
- package/dist/tools/custom-tool-registry.d.ts.map +0 -1
- package/dist/tools/custom-tool-registry.js +0 -40
- package/dist/tools/custom-tool-schema-registry.cjs +0 -164
- package/dist/tools/custom-tool-schema-registry.d.ts +0 -86
- package/dist/tools/custom-tool-schema-registry.d.ts.map +0 -1
- package/dist/tools/custom-tool-schema-registry.js +0 -140
- package/dist/tools/internal-tools/constants.d.ts +0 -12
- package/dist/tools/internal-tools/constants.d.ts.map +0 -1
- package/dist/tools/internal-tools/constants.js +0 -12
- package/dist/tools/internal-tools/implementations/ask-user-tool.cjs +0 -57
- package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts +0 -18
- package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/ask-user-tool.js +0 -34
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.cjs +0 -192
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts +0 -33
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +0 -169
- package/dist/tools/internal-tools/implementations/get-resource-tool.cjs +0 -113
- package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts +0 -30
- package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/get-resource-tool.js +0 -90
- package/dist/tools/internal-tools/implementations/invoke-skill-tool.cjs +0 -140
- package/dist/tools/internal-tools/implementations/invoke-skill-tool.d.ts +0 -24
- package/dist/tools/internal-tools/implementations/invoke-skill-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/invoke-skill-tool.js +0 -117
- package/dist/tools/internal-tools/implementations/list-resources-tool.cjs +0 -91
- package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts +0 -24
- package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/list-resources-tool.js +0 -68
- package/dist/tools/internal-tools/implementations/search-history-tool.cjs +0 -61
- package/dist/tools/internal-tools/implementations/search-history-tool.d.ts +0 -7
- package/dist/tools/internal-tools/implementations/search-history-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/search-history-tool.js +0 -38
- package/dist/tools/internal-tools/index.cjs +0 -26
- package/dist/tools/internal-tools/index.d.ts +0 -4
- package/dist/tools/internal-tools/index.d.ts.map +0 -1
- package/dist/tools/internal-tools/index.js +0 -3
- package/dist/tools/internal-tools/provider.cjs +0 -324
- package/dist/tools/internal-tools/provider.d.ts +0 -116
- package/dist/tools/internal-tools/provider.d.ts.map +0 -1
- package/dist/tools/internal-tools/provider.js +0 -301
- package/dist/tools/internal-tools/registry.cjs +0 -71
- package/dist/tools/internal-tools/registry.d.ts +0 -91
- package/dist/tools/internal-tools/registry.d.ts.map +0 -1
- package/dist/tools/internal-tools/registry.js +0 -47
- /package/dist/{context/compaction/provider.js → agent/agent-options.js} +0 -0
- /package/dist/{image/types.js → agent/runtime-config.js} +0 -0
- /package/dist/{image → hooks}/types.cjs +0 -0
- /package/dist/{plugins → hooks}/types.js +0 -0
- /package/dist/{plugins → workspace}/types.cjs +0 -0
- /package/dist/{storage/blob/provider.js → workspace/types.js} +0 -0
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import "../chunk-PTJYTZNU.js";
|
|
2
2
|
import { createDatabaseHistoryProvider } from "./history/factory.js";
|
|
3
|
-
import { createLLMService
|
|
4
|
-
import { createCompactionStrategy } from "../context/compaction/index.js";
|
|
3
|
+
import { createLLMService } from "../llm/services/factory.js";
|
|
5
4
|
import {
|
|
6
5
|
SessionEventBus,
|
|
7
6
|
SessionEventNames
|
|
8
7
|
} from "../events/index.js";
|
|
9
8
|
import { DextoLogComponent } from "../logger/v2/types.js";
|
|
10
9
|
import { DextoRuntimeError, ErrorScope, ErrorType } from "../errors/index.js";
|
|
11
|
-
import {
|
|
10
|
+
import { HookErrorCode } from "../hooks/error-codes.js";
|
|
12
11
|
import { getModelPricing, calculateCost } from "../llm/registry/index.js";
|
|
13
12
|
class ChatSession {
|
|
14
13
|
/**
|
|
@@ -106,13 +105,17 @@ class ChatSession {
|
|
|
106
105
|
setupTokenAccumulation() {
|
|
107
106
|
this.tokenAccumulatorListener = (payload) => {
|
|
108
107
|
if (payload.tokenUsage) {
|
|
109
|
-
let cost;
|
|
110
108
|
const llmConfig = this.services.stateManager.getLLMConfig(this.id);
|
|
111
|
-
const
|
|
109
|
+
const modelInfo = {
|
|
110
|
+
provider: payload.provider ?? llmConfig.provider,
|
|
111
|
+
model: payload.model ?? llmConfig.model
|
|
112
|
+
};
|
|
113
|
+
let cost;
|
|
114
|
+
const pricing = getModelPricing(modelInfo.provider, modelInfo.model);
|
|
112
115
|
if (pricing) {
|
|
113
116
|
cost = calculateCost(payload.tokenUsage, pricing);
|
|
114
117
|
}
|
|
115
|
-
this.services.sessionManager.accumulateTokenUsage(this.id, payload.tokenUsage, cost).catch((err) => {
|
|
118
|
+
this.services.sessionManager.accumulateTokenUsage(this.id, payload.tokenUsage, cost, modelInfo).catch((err) => {
|
|
116
119
|
this.logger.warn(
|
|
117
120
|
`Failed to accumulate token usage: ${err instanceof Error ? err.message : String(err)}`
|
|
118
121
|
);
|
|
@@ -132,11 +135,7 @@ class ChatSession {
|
|
|
132
135
|
this.id,
|
|
133
136
|
this.logger
|
|
134
137
|
);
|
|
135
|
-
const
|
|
136
|
-
const compactionStrategy = await createCompactionStrategy(runtimeConfig.compaction, {
|
|
137
|
-
logger: this.logger,
|
|
138
|
-
model
|
|
139
|
-
});
|
|
138
|
+
const compactionStrategy = this.services.compactionStrategy;
|
|
140
139
|
this.llmService = createLLMService(
|
|
141
140
|
llmConfig,
|
|
142
141
|
this.services.toolManager,
|
|
@@ -150,10 +149,8 @@ class ChatSession {
|
|
|
150
149
|
// Pass ResourceManager for blob storage
|
|
151
150
|
this.logger,
|
|
152
151
|
// Pass logger for dependency injection
|
|
153
|
-
compactionStrategy
|
|
152
|
+
compactionStrategy
|
|
154
153
|
// Pass compaction strategy
|
|
155
|
-
runtimeConfig.compaction
|
|
156
|
-
// Pass compaction config for threshold settings
|
|
157
154
|
);
|
|
158
155
|
this.logger.debug(`ChatSession ${this.id}: Services initialized with storage`);
|
|
159
156
|
}
|
|
@@ -241,7 +238,7 @@ class ChatSession {
|
|
|
241
238
|
},
|
|
242
239
|
sessionId: this.id
|
|
243
240
|
};
|
|
244
|
-
const modifiedBeforePayload = await this.services.
|
|
241
|
+
const modifiedBeforePayload = await this.services.hookManager.executeHooks(
|
|
245
242
|
"beforeLLMRequest",
|
|
246
243
|
beforeLLMPayload,
|
|
247
244
|
{
|
|
@@ -266,7 +263,7 @@ class ChatSession {
|
|
|
266
263
|
model: llmConfig.model,
|
|
267
264
|
sessionId: this.id
|
|
268
265
|
};
|
|
269
|
-
const modifiedResponsePayload = await this.services.
|
|
266
|
+
const modifiedResponsePayload = await this.services.hookManager.executeHooks(
|
|
270
267
|
"beforeResponse",
|
|
271
268
|
beforeResponsePayload,
|
|
272
269
|
{
|
|
@@ -310,7 +307,7 @@ class ChatSession {
|
|
|
310
307
|
}
|
|
311
308
|
return { text: "" };
|
|
312
309
|
}
|
|
313
|
-
if (error instanceof DextoRuntimeError && error.code ===
|
|
310
|
+
if (error instanceof DextoRuntimeError && error.code === HookErrorCode.HOOK_BLOCKED_EXECUTION && error.scope === ErrorScope.HOOK && error.type === ErrorType.FORBIDDEN) {
|
|
314
311
|
const textContent = parts.filter((p) => p.type === "text").map((p) => p.text).join("\n");
|
|
315
312
|
try {
|
|
316
313
|
await this.saveBlockedInteraction(textContent, error.message);
|
|
@@ -433,12 +430,7 @@ class ChatSession {
|
|
|
433
430
|
*/
|
|
434
431
|
async switchLLM(newLLMConfig) {
|
|
435
432
|
try {
|
|
436
|
-
const
|
|
437
|
-
const model = createVercelModel(newLLMConfig);
|
|
438
|
-
const compactionStrategy = await createCompactionStrategy(runtimeConfig.compaction, {
|
|
439
|
-
logger: this.logger,
|
|
440
|
-
model
|
|
441
|
-
});
|
|
433
|
+
const compactionStrategy = this.services.compactionStrategy;
|
|
442
434
|
const newLLMService = createLLMService(
|
|
443
435
|
newLLMConfig,
|
|
444
436
|
this.services.toolManager,
|
|
@@ -450,10 +442,8 @@ class ChatSession {
|
|
|
450
442
|
this.id,
|
|
451
443
|
this.services.resourceManager,
|
|
452
444
|
this.logger,
|
|
453
|
-
compactionStrategy
|
|
445
|
+
compactionStrategy
|
|
454
446
|
// Pass compaction strategy
|
|
455
|
-
runtimeConfig.compaction
|
|
456
|
-
// Pass compaction config for threshold settings
|
|
457
447
|
);
|
|
458
448
|
this.llmService = newLLMService;
|
|
459
449
|
this.logger.info(
|
package/dist/session/errors.cjs
CHANGED
|
@@ -21,8 +21,8 @@ __export(errors_exports, {
|
|
|
21
21
|
SessionError: () => SessionError
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(errors_exports);
|
|
24
|
-
var import_DextoRuntimeError = require("../errors/DextoRuntimeError.
|
|
25
|
-
var import_types = require("../errors/types.
|
|
24
|
+
var import_DextoRuntimeError = require("../errors/DextoRuntimeError.js");
|
|
25
|
+
var import_types = require("../errors/types.js");
|
|
26
26
|
var import_error_codes = require("./error-codes.js");
|
|
27
27
|
class SessionError {
|
|
28
28
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/session/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/session/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAInE;;;GAGG;AACH,qBAAa,YAAY;IACrB;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM;;;IAUjC;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;IAU7D;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;;;;IAWpE;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;IAUzE;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;CASvD"}
|
|
@@ -21,7 +21,7 @@ __export(database_exports, {
|
|
|
21
21
|
DatabaseHistoryProvider: () => DatabaseHistoryProvider
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(database_exports);
|
|
24
|
-
var import_types = require("../../logger/v2/types.
|
|
24
|
+
var import_types = require("../../logger/v2/types.js");
|
|
25
25
|
var import_errors = require("../errors.js");
|
|
26
26
|
class DatabaseHistoryProvider {
|
|
27
27
|
// Debounce window for batching updates
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Logger } from '../../logger/v2/types.js';
|
|
2
2
|
import type { Database } from '../../storage/types.js';
|
|
3
3
|
import type { InternalMessage } from '../../context/types.js';
|
|
4
|
-
import type {
|
|
4
|
+
import type { ConversationHistoryProvider } from './types.js';
|
|
5
5
|
/**
|
|
6
6
|
* History provider that works directly with DatabaseBackend.
|
|
7
7
|
* Uses write-through caching for read performance while maintaining durability.
|
|
@@ -18,7 +18,7 @@ import type { IConversationHistoryProvider } from './types.js';
|
|
|
18
18
|
* - Updates (updateMessage) are durable within flush interval or on explicit flush()
|
|
19
19
|
* - Worst case on crash: lose updates from last flush interval (typically <100ms)
|
|
20
20
|
*/
|
|
21
|
-
export declare class DatabaseHistoryProvider implements
|
|
21
|
+
export declare class DatabaseHistoryProvider implements ConversationHistoryProvider {
|
|
22
22
|
private sessionId;
|
|
23
23
|
private database;
|
|
24
24
|
private logger;
|
|
@@ -27,7 +27,7 @@ export declare class DatabaseHistoryProvider implements IConversationHistoryProv
|
|
|
27
27
|
private flushTimer;
|
|
28
28
|
private flushPromise;
|
|
29
29
|
private static readonly FLUSH_DELAY_MS;
|
|
30
|
-
constructor(sessionId: string, database: Database, logger:
|
|
30
|
+
constructor(sessionId: string, database: Database, logger: Logger);
|
|
31
31
|
getHistory(): Promise<InternalMessage[]>;
|
|
32
32
|
saveMessage(message: InternalMessage): Promise<void>;
|
|
33
33
|
updateMessage(message: InternalMessage): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/session/history/database.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/session/history/database.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAE9D;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,uBAAwB,YAAW,2BAA2B;IAanE,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,QAAQ;IAbpB,OAAO,CAAC,MAAM,CAAS;IAGvB,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,YAAY,CAA8B;IAGlD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAO;gBAGjC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAC1B,MAAM,EAAE,MAAM;IAKZ,UAAU,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IA2DxC,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAwCpD,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCtD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BnC;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB5B;;;OAGG;YACW,OAAO;IA+CrB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAerB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,cAAc;CAGzB"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ConversationHistoryProvider } from './types.js';
|
|
2
2
|
import type { Database } from '../../storage/types.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { Logger } from '../../logger/v2/types.js';
|
|
4
4
|
/**
|
|
5
5
|
* Create a history provider directly with database backend
|
|
6
6
|
* @param database Database instance
|
|
7
7
|
* @param sessionId Session ID
|
|
8
8
|
* @param logger Logger instance for logging
|
|
9
9
|
*/
|
|
10
|
-
export declare function createDatabaseHistoryProvider(database: Database, sessionId: string, logger:
|
|
10
|
+
export declare function createDatabaseHistoryProvider(database: Database, sessionId: string, logger: Logger): ConversationHistoryProvider;
|
|
11
11
|
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/session/history/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/session/history/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGvD;;;;;GAKG;AACH,wBAAgB,6BAA6B,CACzC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACf,2BAA2B,CAE7B"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import type { InternalMessage } from '../../context/types.js';
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
2
|
+
import type { ConversationHistoryProvider } from './types.js';
|
|
3
|
+
import type { Logger } from '../../logger/v2/types.js';
|
|
4
4
|
/**
|
|
5
5
|
* Lightweight in-memory history provider for ephemeral, isolated LLM calls.
|
|
6
6
|
* Used to run background tasks (e.g., title generation) without touching
|
|
7
7
|
* the real session history or emitting history-related side effects.
|
|
8
8
|
*/
|
|
9
|
-
export declare class MemoryHistoryProvider implements
|
|
9
|
+
export declare class MemoryHistoryProvider implements ConversationHistoryProvider {
|
|
10
10
|
private logger;
|
|
11
11
|
private messages;
|
|
12
|
-
constructor(logger:
|
|
12
|
+
constructor(logger: Logger);
|
|
13
13
|
getHistory(): Promise<InternalMessage[]>;
|
|
14
14
|
saveMessage(message: InternalMessage): Promise<void>;
|
|
15
15
|
updateMessage(message: InternalMessage): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/session/history/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/session/history/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,2BAA2B;IAGzD,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,QAAQ,CAAyB;gBAErB,MAAM,EAAE,MAAM;IAE5B,UAAU,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAKxC,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAYtD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
|
|
@@ -7,7 +7,7 @@ import type { InternalMessage } from '../../context/types.js';
|
|
|
7
7
|
* the flush() method should be called at turn boundaries to ensure all updates
|
|
8
8
|
* are persisted to durable storage.
|
|
9
9
|
*/
|
|
10
|
-
export
|
|
10
|
+
export type ConversationHistoryProvider = {
|
|
11
11
|
/** Load the full message history for this session */
|
|
12
12
|
getHistory(): Promise<InternalMessage[]>;
|
|
13
13
|
/** Append a message to this session's history (must be durable immediately) */
|
|
@@ -22,5 +22,5 @@ export interface IConversationHistoryProvider {
|
|
|
22
22
|
* Implementations without caching can make this a no-op.
|
|
23
23
|
*/
|
|
24
24
|
flush(): Promise<void>;
|
|
25
|
-
}
|
|
25
|
+
};
|
|
26
26
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/session/history/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;;;;;GAOG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/session/history/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;;;;;GAOG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACtC,qDAAqD;IACrD,UAAU,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAEzC,+EAA+E;IAC/E,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD,mFAAmF;IACnF,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvD,0CAA0C;IAC1C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B,CAAC"}
|
package/dist/session/index.cjs
CHANGED
|
@@ -20,6 +20,7 @@ var session_exports = {};
|
|
|
20
20
|
__export(session_exports, {
|
|
21
21
|
ChatSession: () => import_chat_session.ChatSession,
|
|
22
22
|
MessageQueueService: () => import_message_queue.MessageQueueService,
|
|
23
|
+
SessionConfigSchema: () => import_schemas.SessionConfigSchema,
|
|
23
24
|
SessionError: () => import_errors.SessionError,
|
|
24
25
|
SessionErrorCode: () => import_error_codes.SessionErrorCode,
|
|
25
26
|
SessionManager: () => import_session_manager.SessionManager
|
|
@@ -30,10 +31,12 @@ var import_session_manager = require("./session-manager.js");
|
|
|
30
31
|
var import_error_codes = require("./error-codes.js");
|
|
31
32
|
var import_errors = require("./errors.js");
|
|
32
33
|
var import_message_queue = require("./message-queue.js");
|
|
34
|
+
var import_schemas = require("./schemas.js");
|
|
33
35
|
// Annotate the CommonJS export names for ESM import in node:
|
|
34
36
|
0 && (module.exports = {
|
|
35
37
|
ChatSession,
|
|
36
38
|
MessageQueueService,
|
|
39
|
+
SessionConfigSchema,
|
|
37
40
|
SessionError,
|
|
38
41
|
SessionErrorCode,
|
|
39
42
|
SessionManager
|
package/dist/session/index.d.ts
CHANGED
|
@@ -6,4 +6,6 @@ export { SessionError } from './errors.js';
|
|
|
6
6
|
export { MessageQueueService } from './message-queue.js';
|
|
7
7
|
export type { UserMessageInput } from './message-queue.js';
|
|
8
8
|
export type { QueuedMessage, CoalescedMessage } from './types.js';
|
|
9
|
+
export { SessionConfigSchema } from './schemas.js';
|
|
10
|
+
export type { SessionConfig, ValidatedSessionConfig } from './schemas.js';
|
|
9
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/session/index.js
CHANGED
|
@@ -4,9 +4,11 @@ import { SessionManager } from "./session-manager.js";
|
|
|
4
4
|
import { SessionErrorCode } from "./error-codes.js";
|
|
5
5
|
import { SessionError } from "./errors.js";
|
|
6
6
|
import { MessageQueueService } from "./message-queue.js";
|
|
7
|
+
import { SessionConfigSchema } from "./schemas.js";
|
|
7
8
|
export {
|
|
8
9
|
ChatSession,
|
|
9
10
|
MessageQueueService,
|
|
11
|
+
SessionConfigSchema,
|
|
10
12
|
SessionError,
|
|
11
13
|
SessionErrorCode,
|
|
12
14
|
SessionManager
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { SessionEventBus } from '../events/index.js';
|
|
2
2
|
import type { QueuedMessage, CoalescedMessage } from './types.js';
|
|
3
3
|
import type { ContentPart } from '../context/types.js';
|
|
4
|
-
import type {
|
|
4
|
+
import type { Logger } from '../logger/v2/types.js';
|
|
5
5
|
/**
|
|
6
6
|
* Input for enqueuing a user message to the queue.
|
|
7
7
|
* (Not to be confused with UserMessage from context/types.ts which represents
|
|
@@ -47,7 +47,7 @@ export declare class MessageQueueService {
|
|
|
47
47
|
private eventBus;
|
|
48
48
|
private logger;
|
|
49
49
|
private queue;
|
|
50
|
-
constructor(eventBus: SessionEventBus, logger:
|
|
50
|
+
constructor(eventBus: SessionEventBus, logger: Logger);
|
|
51
51
|
/**
|
|
52
52
|
* Add a message to the queue.
|
|
53
53
|
* Called by API endpoint - returns immediately with queue position.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-queue.d.ts","sourceRoot":"","sources":["../../src/session/message-queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"message-queue.d.ts","sourceRoot":"","sources":["../../src/session/message-queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AASpD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC7B,2DAA2D;IAC3D,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,sCAAsC;IACtC,IAAI,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,mBAAmB;IAIxB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;IAJlB,OAAO,CAAC,KAAK,CAAuB;gBAGxB,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,MAAM;IAG1B;;;;;;OAMG;IACH,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG;QAAE,MAAM,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE;IAyBlF;;;;;;;;;;;;;;;;;;OAkBG;IACH,UAAU,IAAI,gBAAgB,GAAG,IAAI;IAuBrC;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAuGhB;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;;OAGG;IACH,KAAK,IAAI,IAAI;IAIb;;;OAGG;IACH,MAAM,IAAI,aAAa,EAAE;IAIzB;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI1C;;;OAGG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;CAY9B"}
|
|
@@ -192,11 +192,13 @@ class SessionManager {
|
|
|
192
192
|
if (activeSessionKeys.length >= this.maxSessions) {
|
|
193
193
|
throw import_errors.SessionError.maxSessionsExceeded(activeSessionKeys.length, this.maxSessions);
|
|
194
194
|
}
|
|
195
|
+
const workspace = await this.services.workspaceManager?.getWorkspace();
|
|
195
196
|
const sessionData = {
|
|
196
197
|
id,
|
|
197
198
|
createdAt: Date.now(),
|
|
198
199
|
lastActivity: Date.now(),
|
|
199
|
-
messageCount: 0
|
|
200
|
+
messageCount: 0,
|
|
201
|
+
...workspace?.id !== void 0 && { workspaceId: workspace.id }
|
|
200
202
|
};
|
|
201
203
|
try {
|
|
202
204
|
await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
|
|
@@ -380,7 +382,9 @@ class SessionManager {
|
|
|
380
382
|
...sessionData.tokenUsage && { tokenUsage: sessionData.tokenUsage },
|
|
381
383
|
...sessionData.estimatedCost !== void 0 && {
|
|
382
384
|
estimatedCost: sessionData.estimatedCost
|
|
383
|
-
}
|
|
385
|
+
},
|
|
386
|
+
...sessionData.modelStats && { modelStats: sessionData.modelStats },
|
|
387
|
+
...sessionData.workspaceId && { workspaceId: sessionData.workspaceId }
|
|
384
388
|
};
|
|
385
389
|
}
|
|
386
390
|
/**
|
|
@@ -423,14 +427,22 @@ class SessionManager {
|
|
|
423
427
|
* Called after each LLM response to update session-level totals.
|
|
424
428
|
*
|
|
425
429
|
* Uses per-session locking to prevent lost updates from concurrent calls.
|
|
430
|
+
*
|
|
431
|
+
* @param sessionId The session ID
|
|
432
|
+
* @param usage Token usage to accumulate
|
|
433
|
+
* @param cost Estimated cost for this usage
|
|
434
|
+
* @param modelInfo Optional model info for per-model tracking
|
|
426
435
|
*/
|
|
427
|
-
async accumulateTokenUsage(sessionId, usage, cost) {
|
|
436
|
+
async accumulateTokenUsage(sessionId, usage, cost, modelInfo) {
|
|
428
437
|
await this.ensureInitialized();
|
|
429
438
|
const sessionKey = `session:${sessionId}`;
|
|
430
439
|
const previousLock = this.tokenUsageLocks.get(sessionKey) ?? Promise.resolve();
|
|
431
440
|
const currentLock = previousLock.then(async () => {
|
|
432
441
|
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
433
442
|
if (!sessionData) return;
|
|
443
|
+
if (modelInfo) {
|
|
444
|
+
this.updateModelStats(sessionData, usage, cost, modelInfo);
|
|
445
|
+
}
|
|
434
446
|
if (!sessionData.tokenUsage) {
|
|
435
447
|
sessionData.tokenUsage = {
|
|
436
448
|
inputTokens: 0,
|
|
@@ -441,12 +453,7 @@ class SessionManager {
|
|
|
441
453
|
totalTokens: 0
|
|
442
454
|
};
|
|
443
455
|
}
|
|
444
|
-
sessionData.tokenUsage
|
|
445
|
-
sessionData.tokenUsage.outputTokens += usage.outputTokens ?? 0;
|
|
446
|
-
sessionData.tokenUsage.reasoningTokens += usage.reasoningTokens ?? 0;
|
|
447
|
-
sessionData.tokenUsage.cacheReadTokens += usage.cacheReadTokens ?? 0;
|
|
448
|
-
sessionData.tokenUsage.cacheWriteTokens += usage.cacheWriteTokens ?? 0;
|
|
449
|
-
sessionData.tokenUsage.totalTokens += usage.totalTokens ?? 0;
|
|
456
|
+
this.accumulateTokensInto(sessionData.tokenUsage, usage);
|
|
450
457
|
if (cost !== void 0) {
|
|
451
458
|
sessionData.estimatedCost = (sessionData.estimatedCost ?? 0) + cost;
|
|
452
459
|
}
|
|
@@ -463,6 +470,57 @@ class SessionManager {
|
|
|
463
470
|
}
|
|
464
471
|
}
|
|
465
472
|
}
|
|
473
|
+
/**
|
|
474
|
+
* Helper to accumulate token usage into a target SessionTokenUsage object.
|
|
475
|
+
* Used for both session-level and per-model token tracking.
|
|
476
|
+
*/
|
|
477
|
+
accumulateTokensInto(target, usage) {
|
|
478
|
+
target.inputTokens += usage.inputTokens ?? 0;
|
|
479
|
+
target.outputTokens += usage.outputTokens ?? 0;
|
|
480
|
+
target.reasoningTokens += usage.reasoningTokens ?? 0;
|
|
481
|
+
target.cacheReadTokens += usage.cacheReadTokens ?? 0;
|
|
482
|
+
target.cacheWriteTokens += usage.cacheWriteTokens ?? 0;
|
|
483
|
+
target.totalTokens += usage.totalTokens ?? 0;
|
|
484
|
+
}
|
|
485
|
+
/**
|
|
486
|
+
* Updates per-model statistics for a session.
|
|
487
|
+
* Finds or creates a model entry and accumulates tokens and cost.
|
|
488
|
+
*
|
|
489
|
+
* @private
|
|
490
|
+
*/
|
|
491
|
+
updateModelStats(sessionData, usage, cost, modelInfo) {
|
|
492
|
+
if (!sessionData.modelStats) {
|
|
493
|
+
sessionData.modelStats = [];
|
|
494
|
+
}
|
|
495
|
+
let modelStat = sessionData.modelStats.find(
|
|
496
|
+
(s) => s.provider === modelInfo.provider && s.model === modelInfo.model
|
|
497
|
+
);
|
|
498
|
+
if (!modelStat) {
|
|
499
|
+
modelStat = {
|
|
500
|
+
provider: modelInfo.provider,
|
|
501
|
+
model: modelInfo.model,
|
|
502
|
+
messageCount: 0,
|
|
503
|
+
tokenUsage: {
|
|
504
|
+
inputTokens: 0,
|
|
505
|
+
outputTokens: 0,
|
|
506
|
+
reasoningTokens: 0,
|
|
507
|
+
cacheReadTokens: 0,
|
|
508
|
+
cacheWriteTokens: 0,
|
|
509
|
+
totalTokens: 0
|
|
510
|
+
},
|
|
511
|
+
estimatedCost: 0,
|
|
512
|
+
firstUsedAt: Date.now(),
|
|
513
|
+
lastUsedAt: Date.now()
|
|
514
|
+
};
|
|
515
|
+
sessionData.modelStats.push(modelStat);
|
|
516
|
+
}
|
|
517
|
+
this.accumulateTokensInto(modelStat.tokenUsage, usage);
|
|
518
|
+
if (cost !== void 0) {
|
|
519
|
+
modelStat.estimatedCost += cost;
|
|
520
|
+
}
|
|
521
|
+
modelStat.messageCount += 1;
|
|
522
|
+
modelStat.lastUsedAt = Date.now();
|
|
523
|
+
}
|
|
466
524
|
/**
|
|
467
525
|
* Sets the human-friendly title for a session.
|
|
468
526
|
* Title is stored in session metadata and cached with TTL.
|
|
@@ -2,22 +2,35 @@ import { ChatSession } from './chat-session.js';
|
|
|
2
2
|
import { SystemPromptManager } from '../systemPrompt/manager.js';
|
|
3
3
|
import { ToolManager } from '../tools/tool-manager.js';
|
|
4
4
|
import { AgentEventBus } from '../events/index.js';
|
|
5
|
-
import type {
|
|
5
|
+
import type { Logger } from '../logger/v2/types.js';
|
|
6
6
|
import type { AgentStateManager } from '../agent/state-manager.js';
|
|
7
7
|
import type { ValidatedLLMConfig } from '../llm/schemas.js';
|
|
8
8
|
import type { StorageManager } from '../storage/index.js';
|
|
9
|
-
import type {
|
|
9
|
+
import type { HookManager } from '../hooks/manager.js';
|
|
10
10
|
import type { TokenUsage } from '../llm/types.js';
|
|
11
|
+
import type { CompactionStrategy } from '../context/compaction/types.js';
|
|
11
12
|
export type SessionLoggerFactory = (options: {
|
|
12
|
-
baseLogger:
|
|
13
|
+
baseLogger: Logger;
|
|
13
14
|
agentId: string;
|
|
14
15
|
sessionId: string;
|
|
15
|
-
}) =>
|
|
16
|
+
}) => Logger;
|
|
16
17
|
/**
|
|
17
18
|
* Session-level token usage totals (accumulated across all messages).
|
|
18
19
|
* All fields required since we track cumulative totals (defaulting to 0).
|
|
19
20
|
*/
|
|
20
21
|
export type SessionTokenUsage = Required<TokenUsage>;
|
|
22
|
+
/**
|
|
23
|
+
* Per-model statistics for tracking usage across multiple models within a session.
|
|
24
|
+
*/
|
|
25
|
+
export interface ModelStatistics {
|
|
26
|
+
provider: string;
|
|
27
|
+
model: string;
|
|
28
|
+
messageCount: number;
|
|
29
|
+
tokenUsage: SessionTokenUsage;
|
|
30
|
+
estimatedCost: number;
|
|
31
|
+
firstUsedAt: number;
|
|
32
|
+
lastUsedAt: number;
|
|
33
|
+
}
|
|
21
34
|
export interface SessionMetadata {
|
|
22
35
|
createdAt: number;
|
|
23
36
|
lastActivity: number;
|
|
@@ -25,6 +38,8 @@ export interface SessionMetadata {
|
|
|
25
38
|
title?: string;
|
|
26
39
|
tokenUsage?: SessionTokenUsage;
|
|
27
40
|
estimatedCost?: number;
|
|
41
|
+
modelStats?: ModelStatistics[];
|
|
42
|
+
workspaceId?: string;
|
|
28
43
|
}
|
|
29
44
|
export interface SessionManagerConfig {
|
|
30
45
|
maxSessions?: number;
|
|
@@ -42,6 +57,8 @@ export interface SessionData {
|
|
|
42
57
|
metadata?: Record<string, any>;
|
|
43
58
|
tokenUsage?: SessionTokenUsage;
|
|
44
59
|
estimatedCost?: number;
|
|
60
|
+
modelStats?: ModelStatistics[];
|
|
61
|
+
workspaceId?: string;
|
|
45
62
|
/** Persisted LLM config override for this session */
|
|
46
63
|
llmOverride?: PersistedLLMConfig;
|
|
47
64
|
}
|
|
@@ -80,9 +97,11 @@ export declare class SessionManager {
|
|
|
80
97
|
agentEventBus: AgentEventBus;
|
|
81
98
|
storageManager: StorageManager;
|
|
82
99
|
resourceManager: import('../resources/index.js').ResourceManager;
|
|
83
|
-
|
|
100
|
+
hookManager: HookManager;
|
|
84
101
|
mcpManager: import('../mcp/manager.js').MCPManager;
|
|
85
|
-
|
|
102
|
+
compactionStrategy: CompactionStrategy | null;
|
|
103
|
+
workspaceManager?: import('../workspace/manager.js').WorkspaceManager;
|
|
104
|
+
}, config: SessionManagerConfig | undefined, logger: Logger);
|
|
86
105
|
/**
|
|
87
106
|
* Initialize the SessionManager with persistent storage.
|
|
88
107
|
* This must be called before using any session operations.
|
|
@@ -169,8 +188,28 @@ export declare class SessionManager {
|
|
|
169
188
|
* Called after each LLM response to update session-level totals.
|
|
170
189
|
*
|
|
171
190
|
* Uses per-session locking to prevent lost updates from concurrent calls.
|
|
191
|
+
*
|
|
192
|
+
* @param sessionId The session ID
|
|
193
|
+
* @param usage Token usage to accumulate
|
|
194
|
+
* @param cost Estimated cost for this usage
|
|
195
|
+
* @param modelInfo Optional model info for per-model tracking
|
|
196
|
+
*/
|
|
197
|
+
accumulateTokenUsage(sessionId: string, usage: TokenUsage, cost?: number, modelInfo?: {
|
|
198
|
+
provider: string;
|
|
199
|
+
model: string;
|
|
200
|
+
}): Promise<void>;
|
|
201
|
+
/**
|
|
202
|
+
* Helper to accumulate token usage into a target SessionTokenUsage object.
|
|
203
|
+
* Used for both session-level and per-model token tracking.
|
|
204
|
+
*/
|
|
205
|
+
private accumulateTokensInto;
|
|
206
|
+
/**
|
|
207
|
+
* Updates per-model statistics for a session.
|
|
208
|
+
* Finds or creates a model entry and accumulates tokens and cost.
|
|
209
|
+
*
|
|
210
|
+
* @private
|
|
172
211
|
*/
|
|
173
|
-
|
|
212
|
+
private updateModelStats;
|
|
174
213
|
/**
|
|
175
214
|
* Sets the human-friendly title for a session.
|
|
176
215
|
* Title is stored in session metadata and cached with TTL.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/session/session-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/session/session-manager.ts"],"names":[],"mappings":"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"}
|