@dexto/core 1.5.8 → 1.6.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/README.md +19 -8
- package/dist/agent/DextoAgent.cjs +293 -154
- package/dist/agent/DextoAgent.d.ts +83 -56
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +290 -151
- 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 +10 -9199
- 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 +77 -57
- package/dist/approval/manager.d.ts +41 -43
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +75 -55
- package/dist/approval/schemas.cjs +26 -25
- package/dist/approval/schemas.d.ts +35 -15
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +22 -21
- 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 +4 -3
- package/dist/context/manager.d.ts.map +1 -1
- package/dist/context/manager.js +4 -2
- package/dist/context/types.d.ts +2 -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 +43 -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 +36 -34
- 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 +7 -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 +10 -10
- 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 +6 -145
- 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 +7 -14
- 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 +7 -14
- 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.d.ts +3 -3
- package/dist/logger/v2/dexto-logger.d.ts.map +1 -1
- package/dist/logger/v2/schemas.d.ts +12 -12
- 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/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 +8 -8
- 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 +4 -4
- 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 +4 -4
- 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/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/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/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 +3 -8
- package/dist/tools/index.d.ts +2 -4
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -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/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 +376 -327
- package/dist/tools/tool-manager.d.ts +63 -80
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +376 -331
- package/dist/tools/types.d.ts +112 -13
- 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.d.ts +2 -2
- package/dist/utils/path.d.ts.map +1 -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.cjs +0 -38
- 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
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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"}
|
|
@@ -160,11 +160,13 @@ class SessionManager {
|
|
|
160
160
|
if (activeSessionKeys.length >= this.maxSessions) {
|
|
161
161
|
throw SessionError.maxSessionsExceeded(activeSessionKeys.length, this.maxSessions);
|
|
162
162
|
}
|
|
163
|
+
const workspace = await this.services.workspaceManager?.getWorkspace();
|
|
163
164
|
const sessionData = {
|
|
164
165
|
id,
|
|
165
166
|
createdAt: Date.now(),
|
|
166
167
|
lastActivity: Date.now(),
|
|
167
|
-
messageCount: 0
|
|
168
|
+
messageCount: 0,
|
|
169
|
+
...workspace?.id !== void 0 && { workspaceId: workspace.id }
|
|
168
170
|
};
|
|
169
171
|
try {
|
|
170
172
|
await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
|
|
@@ -348,7 +350,9 @@ class SessionManager {
|
|
|
348
350
|
...sessionData.tokenUsage && { tokenUsage: sessionData.tokenUsage },
|
|
349
351
|
...sessionData.estimatedCost !== void 0 && {
|
|
350
352
|
estimatedCost: sessionData.estimatedCost
|
|
351
|
-
}
|
|
353
|
+
},
|
|
354
|
+
...sessionData.modelStats && { modelStats: sessionData.modelStats },
|
|
355
|
+
...sessionData.workspaceId && { workspaceId: sessionData.workspaceId }
|
|
352
356
|
};
|
|
353
357
|
}
|
|
354
358
|
/**
|
|
@@ -391,14 +395,22 @@ class SessionManager {
|
|
|
391
395
|
* Called after each LLM response to update session-level totals.
|
|
392
396
|
*
|
|
393
397
|
* Uses per-session locking to prevent lost updates from concurrent calls.
|
|
398
|
+
*
|
|
399
|
+
* @param sessionId The session ID
|
|
400
|
+
* @param usage Token usage to accumulate
|
|
401
|
+
* @param cost Estimated cost for this usage
|
|
402
|
+
* @param modelInfo Optional model info for per-model tracking
|
|
394
403
|
*/
|
|
395
|
-
async accumulateTokenUsage(sessionId, usage, cost) {
|
|
404
|
+
async accumulateTokenUsage(sessionId, usage, cost, modelInfo) {
|
|
396
405
|
await this.ensureInitialized();
|
|
397
406
|
const sessionKey = `session:${sessionId}`;
|
|
398
407
|
const previousLock = this.tokenUsageLocks.get(sessionKey) ?? Promise.resolve();
|
|
399
408
|
const currentLock = previousLock.then(async () => {
|
|
400
409
|
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
401
410
|
if (!sessionData) return;
|
|
411
|
+
if (modelInfo) {
|
|
412
|
+
this.updateModelStats(sessionData, usage, cost, modelInfo);
|
|
413
|
+
}
|
|
402
414
|
if (!sessionData.tokenUsage) {
|
|
403
415
|
sessionData.tokenUsage = {
|
|
404
416
|
inputTokens: 0,
|
|
@@ -409,12 +421,7 @@ class SessionManager {
|
|
|
409
421
|
totalTokens: 0
|
|
410
422
|
};
|
|
411
423
|
}
|
|
412
|
-
sessionData.tokenUsage
|
|
413
|
-
sessionData.tokenUsage.outputTokens += usage.outputTokens ?? 0;
|
|
414
|
-
sessionData.tokenUsage.reasoningTokens += usage.reasoningTokens ?? 0;
|
|
415
|
-
sessionData.tokenUsage.cacheReadTokens += usage.cacheReadTokens ?? 0;
|
|
416
|
-
sessionData.tokenUsage.cacheWriteTokens += usage.cacheWriteTokens ?? 0;
|
|
417
|
-
sessionData.tokenUsage.totalTokens += usage.totalTokens ?? 0;
|
|
424
|
+
this.accumulateTokensInto(sessionData.tokenUsage, usage);
|
|
418
425
|
if (cost !== void 0) {
|
|
419
426
|
sessionData.estimatedCost = (sessionData.estimatedCost ?? 0) + cost;
|
|
420
427
|
}
|
|
@@ -431,6 +438,57 @@ class SessionManager {
|
|
|
431
438
|
}
|
|
432
439
|
}
|
|
433
440
|
}
|
|
441
|
+
/**
|
|
442
|
+
* Helper to accumulate token usage into a target SessionTokenUsage object.
|
|
443
|
+
* Used for both session-level and per-model token tracking.
|
|
444
|
+
*/
|
|
445
|
+
accumulateTokensInto(target, usage) {
|
|
446
|
+
target.inputTokens += usage.inputTokens ?? 0;
|
|
447
|
+
target.outputTokens += usage.outputTokens ?? 0;
|
|
448
|
+
target.reasoningTokens += usage.reasoningTokens ?? 0;
|
|
449
|
+
target.cacheReadTokens += usage.cacheReadTokens ?? 0;
|
|
450
|
+
target.cacheWriteTokens += usage.cacheWriteTokens ?? 0;
|
|
451
|
+
target.totalTokens += usage.totalTokens ?? 0;
|
|
452
|
+
}
|
|
453
|
+
/**
|
|
454
|
+
* Updates per-model statistics for a session.
|
|
455
|
+
* Finds or creates a model entry and accumulates tokens and cost.
|
|
456
|
+
*
|
|
457
|
+
* @private
|
|
458
|
+
*/
|
|
459
|
+
updateModelStats(sessionData, usage, cost, modelInfo) {
|
|
460
|
+
if (!sessionData.modelStats) {
|
|
461
|
+
sessionData.modelStats = [];
|
|
462
|
+
}
|
|
463
|
+
let modelStat = sessionData.modelStats.find(
|
|
464
|
+
(s) => s.provider === modelInfo.provider && s.model === modelInfo.model
|
|
465
|
+
);
|
|
466
|
+
if (!modelStat) {
|
|
467
|
+
modelStat = {
|
|
468
|
+
provider: modelInfo.provider,
|
|
469
|
+
model: modelInfo.model,
|
|
470
|
+
messageCount: 0,
|
|
471
|
+
tokenUsage: {
|
|
472
|
+
inputTokens: 0,
|
|
473
|
+
outputTokens: 0,
|
|
474
|
+
reasoningTokens: 0,
|
|
475
|
+
cacheReadTokens: 0,
|
|
476
|
+
cacheWriteTokens: 0,
|
|
477
|
+
totalTokens: 0
|
|
478
|
+
},
|
|
479
|
+
estimatedCost: 0,
|
|
480
|
+
firstUsedAt: Date.now(),
|
|
481
|
+
lastUsedAt: Date.now()
|
|
482
|
+
};
|
|
483
|
+
sessionData.modelStats.push(modelStat);
|
|
484
|
+
}
|
|
485
|
+
this.accumulateTokensInto(modelStat.tokenUsage, usage);
|
|
486
|
+
if (cost !== void 0) {
|
|
487
|
+
modelStat.estimatedCost += cost;
|
|
488
|
+
}
|
|
489
|
+
modelStat.messageCount += 1;
|
|
490
|
+
modelStat.lastUsedAt = Date.now();
|
|
491
|
+
}
|
|
434
492
|
/**
|
|
435
493
|
* Sets the human-friendly title for a session.
|
|
436
494
|
* Title is stored in session metadata and cached with TTL.
|
|
@@ -22,8 +22,8 @@ __export(title_generator_exports, {
|
|
|
22
22
|
generateSessionTitle: () => generateSessionTitle
|
|
23
23
|
});
|
|
24
24
|
module.exports = __toCommonJS(title_generator_exports);
|
|
25
|
-
var import_factory = require("../llm/services/factory.
|
|
26
|
-
var import_events = require("../events/index.
|
|
25
|
+
var import_factory = require("../llm/services/factory.js");
|
|
26
|
+
var import_events = require("../events/index.js");
|
|
27
27
|
var import_memory = require("./history/memory.js");
|
|
28
28
|
async function generateSessionTitle(config, toolManager, systemPromptManager, resourceManager, userText, logger, opts = {}) {
|
|
29
29
|
const timeoutMs = opts.timeoutMs;
|
|
@@ -2,7 +2,7 @@ import type { ValidatedLLMConfig } from '../llm/schemas.js';
|
|
|
2
2
|
import type { ToolManager } from '../tools/tool-manager.js';
|
|
3
3
|
import type { SystemPromptManager } from '../systemPrompt/manager.js';
|
|
4
4
|
import type { ResourceManager } from '../resources/index.js';
|
|
5
|
-
import type {
|
|
5
|
+
import type { Logger } from '../logger/v2/types.js';
|
|
6
6
|
export interface GenerateSessionTitleResult {
|
|
7
7
|
title?: string;
|
|
8
8
|
error?: string;
|
|
@@ -12,7 +12,7 @@ export interface GenerateSessionTitleResult {
|
|
|
12
12
|
* Generate a concise title for a chat based on the first user message.
|
|
13
13
|
* Runs a lightweight, isolated LLM completion that does not touch real history.
|
|
14
14
|
*/
|
|
15
|
-
export declare function generateSessionTitle(config: ValidatedLLMConfig, toolManager: ToolManager, systemPromptManager: SystemPromptManager, resourceManager: ResourceManager, userText: string, logger:
|
|
15
|
+
export declare function generateSessionTitle(config: ValidatedLLMConfig, toolManager: ToolManager, systemPromptManager: SystemPromptManager, resourceManager: ResourceManager, userText: string, logger: Logger, opts?: {
|
|
16
16
|
timeoutMs?: number;
|
|
17
17
|
}): Promise<GenerateSessionTitleResult>;
|
|
18
18
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"title-generator.d.ts","sourceRoot":"","sources":["../../src/session/title-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"title-generator.d.ts","sourceRoot":"","sources":["../../src/session/title-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAKpD,MAAM,WAAW,0BAA0B;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,kBAAkB,EAC1B,WAAW,EAAE,WAAW,EACxB,mBAAmB,EAAE,mBAAmB,EACxC,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,OAAO,CAAC,0BAA0B,CAAC,CAmDrC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA8BzE"}
|
|
@@ -3,10 +3,6 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
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
6
|
var __copyProps = (to, from, except, desc) => {
|
|
11
7
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
8
|
for (let key of __getOwnPropNames(from))
|
|
@@ -17,40 +13,4 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
13
|
};
|
|
18
14
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
15
|
var blob_exports = {};
|
|
20
|
-
__export(blob_exports, {
|
|
21
|
-
BLOB_STORE_TYPES: () => import_schemas.BLOB_STORE_TYPES,
|
|
22
|
-
BlobStoreConfigSchema: () => import_schemas.BlobStoreConfigSchema,
|
|
23
|
-
BlobStoreRegistry: () => import_registry2.BlobStoreRegistry,
|
|
24
|
-
InMemoryBlobStore: () => import_memory_blob_store.InMemoryBlobStore,
|
|
25
|
-
InMemoryBlobStoreSchema: () => import_schemas.InMemoryBlobStoreSchema,
|
|
26
|
-
LocalBlobStore: () => import_local_blob_store.LocalBlobStore,
|
|
27
|
-
LocalBlobStoreSchema: () => import_schemas.LocalBlobStoreSchema,
|
|
28
|
-
blobStoreRegistry: () => import_registry2.blobStoreRegistry,
|
|
29
|
-
createBlobStore: () => import_factory.createBlobStore
|
|
30
|
-
});
|
|
31
16
|
module.exports = __toCommonJS(blob_exports);
|
|
32
|
-
var import_registry = require("./registry.js");
|
|
33
|
-
var import_providers = require("./providers/index.js");
|
|
34
|
-
var import_factory = require("./factory.js");
|
|
35
|
-
var import_registry2 = require("./registry.js");
|
|
36
|
-
var import_schemas = require("./schemas.js");
|
|
37
|
-
var import_local_blob_store = require("./local-blob-store.js");
|
|
38
|
-
var import_memory_blob_store = require("./memory-blob-store.js");
|
|
39
|
-
if (!import_registry.blobStoreRegistry.has("local")) {
|
|
40
|
-
import_registry.blobStoreRegistry.register(import_providers.localBlobStoreProvider);
|
|
41
|
-
}
|
|
42
|
-
if (!import_registry.blobStoreRegistry.has("in-memory")) {
|
|
43
|
-
import_registry.blobStoreRegistry.register(import_providers.inMemoryBlobStoreProvider);
|
|
44
|
-
}
|
|
45
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
46
|
-
0 && (module.exports = {
|
|
47
|
-
BLOB_STORE_TYPES,
|
|
48
|
-
BlobStoreConfigSchema,
|
|
49
|
-
BlobStoreRegistry,
|
|
50
|
-
InMemoryBlobStore,
|
|
51
|
-
InMemoryBlobStoreSchema,
|
|
52
|
-
LocalBlobStore,
|
|
53
|
-
LocalBlobStoreSchema,
|
|
54
|
-
blobStoreRegistry,
|
|
55
|
-
createBlobStore
|
|
56
|
-
});
|
|
@@ -1,45 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* This module provides a flexible blob storage system with support for
|
|
5
|
-
* multiple backends through a provider pattern.
|
|
6
|
-
*
|
|
7
|
-
* ## Built-in Providers
|
|
8
|
-
* - `local`: Store blobs on the local filesystem
|
|
9
|
-
* - `in-memory`: Store blobs in RAM (for testing/development)
|
|
10
|
-
*
|
|
11
|
-
* ## Custom Providers
|
|
12
|
-
* Custom providers (e.g., S3, Azure, Supabase) can be registered at the
|
|
13
|
-
* CLI/server layer before configuration loading.
|
|
14
|
-
*
|
|
15
|
-
* ## Usage
|
|
16
|
-
*
|
|
17
|
-
* ### Using built-in providers
|
|
18
|
-
* ```typescript
|
|
19
|
-
* import { createBlobStore } from '@dexto/core';
|
|
20
|
-
*
|
|
21
|
-
* const blob = createBlobStore({ type: 'local', storePath: '/tmp' }, logger);
|
|
22
|
-
* ```
|
|
23
|
-
*
|
|
24
|
-
* ### Registering custom providers
|
|
25
|
-
* ```typescript
|
|
26
|
-
* import { blobStoreRegistry, type BlobStoreProvider } from '@dexto/core';
|
|
27
|
-
*
|
|
28
|
-
* const s3Provider: BlobStoreProvider<'s3', S3Config> = {
|
|
29
|
-
* type: 's3',
|
|
30
|
-
* configSchema: S3ConfigSchema,
|
|
31
|
-
* create: (config, logger) => new S3BlobStore(config, logger),
|
|
32
|
-
* };
|
|
33
|
-
*
|
|
34
|
-
* blobStoreRegistry.register(s3Provider);
|
|
35
|
-
* const blob = createBlobStore({ type: 's3', bucket: 'my-bucket' }, logger);
|
|
36
|
-
* ```
|
|
37
|
-
*/
|
|
38
|
-
export { createBlobStore } from './factory.js';
|
|
39
|
-
export { blobStoreRegistry, BlobStoreRegistry } from './registry.js';
|
|
40
|
-
export type { BlobStoreProvider } from './provider.js';
|
|
41
|
-
export type { BlobStore, BlobInput, BlobMetadata, BlobReference, BlobData, BlobStats, StoredBlobMetadata, } from './types.js';
|
|
42
|
-
export { BLOB_STORE_TYPES, BlobStoreConfigSchema, InMemoryBlobStoreSchema, LocalBlobStoreSchema, type BlobStoreType, type BlobStoreConfig, type InMemoryBlobStoreConfig, type LocalBlobStoreConfig, } from './schemas.js';
|
|
43
|
-
export { LocalBlobStore } from './local-blob-store.js';
|
|
44
|
-
export { InMemoryBlobStore } from './memory-blob-store.js';
|
|
1
|
+
export type { BlobStore } from './types.js';
|
|
2
|
+
export type { BlobInput, BlobMetadata, StoredBlobMetadata, BlobReference, BlobData, BlobStats, } from './types.js';
|
|
45
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/blob/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/blob/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,YAAY,EACR,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,QAAQ,EACR,SAAS,GACZ,MAAM,YAAY,CAAC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import "../../chunk-PTJYTZNU.js";
|
|
2
|
-
import { blobStoreRegistry } from "./registry.js";
|
|
3
|
-
import { localBlobStoreProvider, inMemoryBlobStoreProvider } from "./providers/index.js";
|
|
4
|
-
if (!blobStoreRegistry.has("local")) {
|
|
5
|
-
blobStoreRegistry.register(localBlobStoreProvider);
|
|
6
|
-
}
|
|
7
|
-
if (!blobStoreRegistry.has("in-memory")) {
|
|
8
|
-
blobStoreRegistry.register(inMemoryBlobStoreProvider);
|
|
9
|
-
}
|
|
10
|
-
import { createBlobStore } from "./factory.js";
|
|
11
|
-
import { blobStoreRegistry as blobStoreRegistry2, BlobStoreRegistry } from "./registry.js";
|
|
12
|
-
import {
|
|
13
|
-
BLOB_STORE_TYPES,
|
|
14
|
-
BlobStoreConfigSchema,
|
|
15
|
-
InMemoryBlobStoreSchema,
|
|
16
|
-
LocalBlobStoreSchema
|
|
17
|
-
} from "./schemas.js";
|
|
18
|
-
import { LocalBlobStore } from "./local-blob-store.js";
|
|
19
|
-
import { InMemoryBlobStore } from "./memory-blob-store.js";
|
|
20
|
-
export {
|
|
21
|
-
BLOB_STORE_TYPES,
|
|
22
|
-
BlobStoreConfigSchema,
|
|
23
|
-
BlobStoreRegistry,
|
|
24
|
-
InMemoryBlobStore,
|
|
25
|
-
InMemoryBlobStoreSchema,
|
|
26
|
-
LocalBlobStore,
|
|
27
|
-
LocalBlobStoreSchema,
|
|
28
|
-
blobStoreRegistry2 as blobStoreRegistry,
|
|
29
|
-
createBlobStore
|
|
30
|
-
};
|
|
@@ -3,10 +3,6 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
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
6
|
var __copyProps = (to, from, except, desc) => {
|
|
11
7
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
8
|
for (let key of __getOwnPropNames(from))
|
|
@@ -17,37 +13,4 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
13
|
};
|
|
18
14
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
15
|
var cache_exports = {};
|
|
20
|
-
__export(cache_exports, {
|
|
21
|
-
CACHE_TYPES: () => import_schemas.CACHE_TYPES,
|
|
22
|
-
CacheConfigSchema: () => import_schemas.CacheConfigSchema,
|
|
23
|
-
CacheRegistry: () => import_registry2.CacheRegistry,
|
|
24
|
-
InMemoryCacheSchema: () => import_schemas.InMemoryCacheSchema,
|
|
25
|
-
MemoryCacheStore: () => import_memory_cache_store.MemoryCacheStore,
|
|
26
|
-
RedisCacheSchema: () => import_schemas.RedisCacheSchema,
|
|
27
|
-
cacheRegistry: () => import_registry2.cacheRegistry,
|
|
28
|
-
createCache: () => import_factory.createCache
|
|
29
|
-
});
|
|
30
16
|
module.exports = __toCommonJS(cache_exports);
|
|
31
|
-
var import_registry = require("./registry.js");
|
|
32
|
-
var import_providers = require("./providers/index.js");
|
|
33
|
-
var import_factory = require("./factory.js");
|
|
34
|
-
var import_registry2 = require("./registry.js");
|
|
35
|
-
var import_schemas = require("./schemas.js");
|
|
36
|
-
var import_memory_cache_store = require("./memory-cache-store.js");
|
|
37
|
-
if (!import_registry.cacheRegistry.has("in-memory")) {
|
|
38
|
-
import_registry.cacheRegistry.register(import_providers.inMemoryCacheProvider);
|
|
39
|
-
}
|
|
40
|
-
if (!import_registry.cacheRegistry.has("redis")) {
|
|
41
|
-
import_registry.cacheRegistry.register(import_providers.redisCacheProvider);
|
|
42
|
-
}
|
|
43
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
44
|
-
0 && (module.exports = {
|
|
45
|
-
CACHE_TYPES,
|
|
46
|
-
CacheConfigSchema,
|
|
47
|
-
CacheRegistry,
|
|
48
|
-
InMemoryCacheSchema,
|
|
49
|
-
MemoryCacheStore,
|
|
50
|
-
RedisCacheSchema,
|
|
51
|
-
cacheRegistry,
|
|
52
|
-
createCache
|
|
53
|
-
});
|