@dexto/core 1.1.11 → 1.2.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 +24 -4
- package/dist/Dexto.cjs +4 -14
- package/dist/Dexto.d.ts +8 -29
- package/dist/Dexto.d.ts.map +1 -1
- package/dist/Dexto.js +4 -12
- package/dist/agent/DextoAgent.cjs +92 -3
- package/dist/agent/DextoAgent.d.ts +12 -4
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +52 -3
- package/dist/agent/agentCard.js +1 -0
- package/dist/agent/error-codes.cjs +1 -0
- package/dist/agent/error-codes.d.ts +1 -0
- package/dist/agent/error-codes.d.ts.map +1 -1
- package/dist/agent/error-codes.js +2 -0
- package/dist/agent/errors.cjs +13 -0
- package/dist/agent/errors.d.ts +4 -0
- package/dist/agent/errors.d.ts.map +1 -1
- package/dist/agent/errors.js +14 -0
- package/dist/agent/index.js +1 -0
- package/dist/agent/registry/error-codes.js +1 -0
- package/dist/agent/registry/errors.js +1 -0
- package/dist/agent/registry/registry.js +1 -0
- package/dist/agent/registry/types.js +1 -0
- package/dist/agent/registry/user-registry.js +1 -0
- package/dist/agent/schemas.cjs +6 -1
- package/dist/agent/schemas.d.ts +113 -3
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +7 -1
- package/dist/agent/state-manager.js +1 -0
- package/dist/approval/error-codes.js +1 -0
- package/dist/approval/errors.js +1 -0
- package/dist/approval/index.js +1 -0
- package/dist/approval/manager.cjs +30 -0
- package/dist/approval/manager.d.ts +23 -1
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +31 -0
- package/dist/approval/providers/event-based-approval-provider.js +1 -0
- package/dist/approval/providers/factory.js +1 -0
- package/dist/approval/providers/noop-approval-provider.js +1 -0
- package/dist/approval/schemas.cjs +36 -0
- package/dist/approval/schemas.d.ts +173 -0
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +33 -0
- package/dist/approval/types.cjs +1 -0
- package/dist/approval/types.d.ts +27 -1
- package/dist/approval/types.d.ts.map +1 -1
- package/dist/approval/types.js +2 -0
- package/dist/chunk-C6A6W6XS.js +53 -0
- package/dist/config/agent-resolver.js +1 -0
- package/dist/config/error-codes.js +1 -0
- package/dist/config/errors.js +1 -0
- package/dist/config/loader.js +1 -0
- package/dist/config/writer.js +1 -0
- package/dist/context/compression/middle-removal.js +1 -0
- package/dist/context/compression/oldest-removal.js +1 -0
- package/dist/context/error-codes.js +1 -0
- package/dist/context/errors.js +1 -0
- package/dist/context/index.js +1 -0
- package/dist/context/manager.cjs +36 -1
- package/dist/context/manager.d.ts.map +1 -1
- package/dist/context/manager.js +27 -1
- package/dist/context/media-helpers.js +1 -0
- package/dist/context/utils.cjs +102 -6
- package/dist/context/utils.d.ts +35 -2
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/context/utils.js +100 -6
- package/dist/errors/DextoBaseError.js +1 -0
- package/dist/errors/DextoRuntimeError.js +1 -0
- package/dist/errors/DextoValidationError.js +1 -0
- package/dist/errors/index.js +1 -0
- package/dist/errors/result-bridge.js +1 -0
- package/dist/errors/types.cjs +3 -0
- package/dist/errors/types.d.ts +7 -2
- package/dist/errors/types.d.ts.map +1 -1
- package/dist/errors/types.js +4 -0
- package/dist/events/index.cjs +1 -0
- package/dist/events/index.d.ts +6 -2
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +2 -0
- package/dist/filesystem/error-codes.cjs +53 -0
- package/dist/filesystem/error-codes.d.ts +31 -0
- package/dist/filesystem/error-codes.d.ts.map +1 -0
- package/dist/filesystem/error-codes.js +30 -0
- package/dist/filesystem/errors.cjs +303 -0
- package/dist/filesystem/errors.d.ts +109 -0
- package/dist/filesystem/errors.d.ts.map +1 -0
- package/dist/filesystem/errors.js +280 -0
- package/dist/filesystem/filesystem-service.cjs +482 -0
- package/dist/filesystem/filesystem-service.d.ts +57 -0
- package/dist/filesystem/filesystem-service.d.ts.map +1 -0
- package/dist/filesystem/filesystem-service.js +449 -0
- package/dist/filesystem/index.cjs +37 -0
- package/dist/filesystem/index.d.ts +11 -0
- package/dist/filesystem/index.d.ts.map +1 -0
- package/dist/filesystem/index.js +11 -0
- package/dist/filesystem/path-validator.cjs +172 -0
- package/dist/filesystem/path-validator.d.ts +53 -0
- package/dist/filesystem/path-validator.d.ts.map +1 -0
- package/dist/filesystem/path-validator.js +139 -0
- package/dist/filesystem/types.cjs +16 -0
- package/dist/filesystem/types.d.ts +171 -0
- package/dist/filesystem/types.d.ts.map +1 -0
- package/dist/filesystem/types.js +0 -0
- package/dist/index.browser.js +1 -0
- package/dist/index.cjs +3 -3
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/llm/error-codes.js +1 -0
- package/dist/llm/errors.js +1 -0
- package/dist/llm/formatters/anthropic.js +1 -0
- package/dist/llm/formatters/factory.js +1 -0
- package/dist/llm/formatters/openai.js +1 -0
- package/dist/llm/formatters/vercel.js +1 -0
- package/dist/llm/registry.cjs +15 -15
- package/dist/llm/registry.d.ts +1 -1
- package/dist/llm/registry.js +16 -15
- package/dist/llm/resolver.js +1 -0
- package/dist/llm/schemas.cjs +6 -2
- package/dist/llm/schemas.d.ts +10 -0
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +7 -2
- package/dist/llm/services/anthropic.cjs +67 -0
- package/dist/llm/services/anthropic.d.ts +6 -0
- package/dist/llm/services/anthropic.d.ts.map +1 -1
- package/dist/llm/services/anthropic.js +27 -0
- package/dist/llm/services/factory.js +1 -0
- package/dist/llm/services/openai.cjs +87 -0
- package/dist/llm/services/openai.d.ts +6 -0
- package/dist/llm/services/openai.d.ts.map +1 -1
- package/dist/llm/services/openai.js +47 -0
- package/dist/llm/services/test-utils.integration.cjs +1 -1
- package/dist/llm/services/test-utils.integration.js +2 -1
- package/dist/llm/services/vercel.cjs +144 -97
- package/dist/llm/services/vercel.d.ts +6 -1
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +105 -98
- package/dist/llm/tokenizer/anthropic.js +1 -0
- package/dist/llm/tokenizer/default.js +1 -0
- package/dist/llm/tokenizer/factory.js +1 -0
- package/dist/llm/tokenizer/google.js +1 -0
- package/dist/llm/tokenizer/openai.cjs +1 -1
- package/dist/llm/tokenizer/openai.d.ts +1 -1
- package/dist/llm/tokenizer/openai.js +2 -1
- package/dist/llm/tokenizer/types.js +1 -0
- package/dist/llm/types.d.ts +2 -2
- package/dist/llm/types.d.ts.map +1 -1
- package/dist/llm/types.js +1 -0
- package/dist/llm/validation.js +1 -0
- package/dist/logger/browser.js +1 -0
- package/dist/logger/logger.d.ts +42 -0
- package/dist/logger/logger.d.ts.map +1 -1
- package/dist/logger/logger.js +1 -0
- package/dist/mcp/error-codes.cjs +1 -0
- package/dist/mcp/error-codes.d.ts +1 -0
- package/dist/mcp/error-codes.d.ts.map +1 -1
- package/dist/mcp/error-codes.js +2 -0
- package/dist/mcp/errors.cjs +12 -0
- package/dist/mcp/errors.d.ts +7 -0
- package/dist/mcp/errors.d.ts.map +1 -1
- package/dist/mcp/errors.js +13 -0
- package/dist/mcp/manager.cjs +66 -16
- package/dist/mcp/manager.d.ts +7 -0
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +67 -16
- package/dist/mcp/mcp-client.js +1 -0
- package/dist/mcp/resolver.js +1 -0
- package/dist/mcp/schemas.js +1 -0
- package/dist/mcp/types.d.ts +1 -1
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/memory/error-codes.js +1 -0
- package/dist/memory/errors.js +1 -0
- package/dist/memory/index.js +1 -0
- package/dist/memory/manager.js +1 -0
- package/dist/memory/schemas.js +1 -0
- package/dist/plugins/builtins/content-policy.js +1 -0
- package/dist/plugins/builtins/response-sanitizer.js +1 -0
- package/dist/plugins/error-codes.js +1 -0
- package/dist/plugins/index.js +1 -0
- package/dist/plugins/loader.js +1 -0
- package/dist/plugins/manager.js +1 -0
- package/dist/plugins/registrations/builtins.js +1 -0
- package/dist/plugins/schemas.js +1 -0
- package/dist/preferences/constants.js +1 -0
- package/dist/preferences/error-codes.js +1 -0
- package/dist/preferences/errors.js +1 -0
- package/dist/preferences/index.js +1 -0
- package/dist/preferences/loader.cjs +3 -1
- package/dist/preferences/loader.d.ts +10 -1
- package/dist/preferences/loader.d.ts.map +1 -1
- package/dist/preferences/loader.js +4 -1
- package/dist/preferences/schemas.cjs +2 -1
- package/dist/preferences/schemas.d.ts +8 -0
- package/dist/preferences/schemas.d.ts.map +1 -1
- package/dist/preferences/schemas.js +3 -1
- package/dist/process/command-validator.cjs +544 -0
- package/dist/process/command-validator.d.ts +46 -0
- package/dist/process/command-validator.d.ts.map +1 -0
- package/dist/process/command-validator.js +521 -0
- package/dist/process/error-codes.cjs +47 -0
- package/dist/process/error-codes.d.ts +25 -0
- package/dist/process/error-codes.d.ts.map +1 -0
- package/dist/process/error-codes.js +24 -0
- package/dist/process/errors.cjs +244 -0
- package/dist/process/errors.d.ts +87 -0
- package/dist/process/errors.d.ts.map +1 -0
- package/dist/process/errors.js +221 -0
- package/dist/process/index.cjs +37 -0
- package/dist/process/index.d.ts +11 -0
- package/dist/process/index.d.ts.map +1 -0
- package/dist/process/index.js +11 -0
- package/dist/process/process-service.cjs +443 -0
- package/dist/process/process-service.d.ts +62 -0
- package/dist/process/process-service.d.ts.map +1 -0
- package/dist/process/process-service.js +410 -0
- package/dist/process/types.cjs +16 -0
- package/dist/process/types.d.ts +107 -0
- package/dist/process/types.d.ts.map +1 -0
- package/dist/process/types.js +0 -0
- package/dist/prompts/error-codes.js +1 -0
- package/dist/prompts/errors.js +1 -0
- package/dist/prompts/index.js +1 -0
- package/dist/prompts/name-validation.js +1 -0
- package/dist/prompts/prompt-manager.js +1 -0
- package/dist/prompts/providers/custom-prompt-provider.js +1 -0
- package/dist/prompts/providers/file-prompt-provider.js +1 -0
- package/dist/prompts/providers/mcp-prompt-provider.js +1 -0
- package/dist/prompts/providers/starter-prompt-provider.js +1 -0
- package/dist/prompts/schemas.js +1 -0
- package/dist/prompts/utils.js +1 -0
- package/dist/resources/error-codes.js +1 -0
- package/dist/resources/errors.js +1 -0
- package/dist/resources/handlers/blob-handler.js +1 -0
- package/dist/resources/handlers/factory.js +1 -0
- package/dist/resources/handlers/filesystem-handler.cjs +1 -1
- package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
- package/dist/resources/handlers/filesystem-handler.js +2 -1
- package/dist/resources/index.js +1 -0
- package/dist/resources/internal-provider.js +1 -0
- package/dist/resources/manager.js +1 -0
- package/dist/resources/reference-parser.js +1 -0
- package/dist/resources/schemas.js +1 -0
- package/dist/search/index.js +1 -0
- package/dist/search/search-service.js +1 -0
- package/dist/session/chat-session.cjs +2 -2
- package/dist/session/chat-session.d.ts +2 -2
- package/dist/session/chat-session.js +3 -2
- package/dist/session/error-codes.js +1 -0
- package/dist/session/errors.js +1 -0
- package/dist/session/history/database.js +1 -0
- package/dist/session/history/factory.js +1 -0
- package/dist/session/history/memory.js +1 -0
- package/dist/session/index.js +1 -0
- package/dist/session/schemas.js +1 -0
- package/dist/session/session-manager.d.ts +6 -0
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +1 -0
- package/dist/session/title-generator.js +1 -0
- package/dist/storage/blob/factory.cjs +3 -3
- package/dist/storage/blob/factory.d.ts +3 -1
- package/dist/storage/blob/factory.d.ts.map +1 -1
- package/dist/storage/blob/factory.js +4 -3
- package/dist/storage/blob/local-blob-store.cjs +18 -2
- package/dist/storage/blob/local-blob-store.d.ts +2 -1
- package/dist/storage/blob/local-blob-store.d.ts.map +1 -1
- package/dist/storage/blob/local-blob-store.js +19 -2
- package/dist/storage/blob/schemas.js +1 -0
- package/dist/storage/cache/factory.js +1 -0
- package/dist/storage/cache/memory-cache-store.js +1 -0
- package/dist/storage/cache/redis-store.js +1 -0
- package/dist/storage/cache/schemas.js +1 -0
- package/dist/storage/database/factory.cjs +7 -5
- package/dist/storage/database/factory.d.ts +3 -1
- package/dist/storage/database/factory.d.ts.map +1 -1
- package/dist/storage/database/factory.js +8 -5
- package/dist/storage/database/memory-database-store.js +1 -0
- package/dist/storage/database/postgres-store.js +1 -0
- package/dist/storage/database/schemas.cjs +1 -1
- package/dist/storage/database/schemas.js +2 -1
- package/dist/storage/database/sqlite-store.cjs +20 -2
- package/dist/storage/database/sqlite-store.d.ts +2 -1
- package/dist/storage/database/sqlite-store.d.ts.map +1 -1
- package/dist/storage/database/sqlite-store.js +21 -2
- package/dist/storage/error-codes.cjs +1 -0
- package/dist/storage/error-codes.d.ts +1 -0
- package/dist/storage/error-codes.d.ts.map +1 -1
- package/dist/storage/error-codes.js +2 -0
- package/dist/storage/errors.cjs +15 -0
- package/dist/storage/errors.d.ts +4 -0
- package/dist/storage/errors.d.ts.map +1 -1
- package/dist/storage/errors.js +16 -0
- package/dist/storage/index.js +1 -0
- package/dist/storage/schemas.js +1 -0
- package/dist/storage/storage-manager.cjs +7 -5
- package/dist/storage/storage-manager.d.ts +5 -2
- package/dist/storage/storage-manager.d.ts.map +1 -1
- package/dist/storage/storage-manager.js +8 -5
- package/dist/systemPrompt/contributors.js +1 -0
- package/dist/systemPrompt/error-codes.js +1 -0
- package/dist/systemPrompt/errors.js +1 -0
- package/dist/systemPrompt/in-built-prompts.js +1 -0
- package/dist/systemPrompt/index.js +1 -0
- package/dist/systemPrompt/manager.js +1 -0
- package/dist/systemPrompt/registry.js +1 -0
- package/dist/systemPrompt/schemas.js +1 -0
- package/dist/telemetry/decorators.cjs +175 -0
- package/dist/telemetry/decorators.d.ts +17 -0
- package/dist/telemetry/decorators.d.ts.map +1 -0
- package/dist/telemetry/decorators.js +157 -0
- package/dist/telemetry/exporters.cjs +108 -0
- package/dist/telemetry/exporters.d.ts +29 -0
- package/dist/telemetry/exporters.d.ts.map +1 -0
- package/dist/telemetry/exporters.js +85 -0
- package/dist/telemetry/index.cjs +28 -0
- package/dist/telemetry/index.d.ts +2 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +5 -0
- package/dist/telemetry/schemas.cjs +71 -0
- package/dist/telemetry/schemas.d.ts +54 -0
- package/dist/telemetry/schemas.d.ts.map +1 -0
- package/dist/telemetry/schemas.js +48 -0
- package/dist/telemetry/telemetry.cjs +228 -0
- package/dist/telemetry/telemetry.d.ts +74 -0
- package/dist/telemetry/telemetry.d.ts.map +1 -0
- package/dist/telemetry/telemetry.js +205 -0
- package/dist/telemetry/types.cjs +16 -0
- package/dist/telemetry/types.d.ts +22 -0
- package/dist/telemetry/types.d.ts.map +1 -0
- package/dist/telemetry/types.js +0 -0
- package/dist/telemetry/utils.cjs +87 -0
- package/dist/telemetry/utils.d.ts +21 -0
- package/dist/telemetry/utils.d.ts.map +1 -0
- package/dist/telemetry/utils.js +62 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.js +1 -0
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +1 -0
- package/dist/tools/confirmation/allowed-tools-provider/storage.js +1 -0
- package/dist/tools/error-codes.js +1 -0
- package/dist/tools/errors.js +1 -0
- package/dist/tools/index.js +1 -0
- package/dist/tools/internal-tools/constants.cjs +39 -0
- package/dist/tools/internal-tools/constants.d.ts +12 -0
- package/dist/tools/internal-tools/constants.d.ts.map +1 -0
- package/dist/tools/internal-tools/constants.js +16 -0
- package/dist/tools/internal-tools/implementations/ask-user-tool.js +1 -0
- package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +106 -0
- package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts +13 -0
- package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/bash-exec-tool.js +73 -0
- package/dist/tools/internal-tools/implementations/bash-output-tool.cjs +49 -0
- package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/bash-output-tool.js +26 -0
- package/dist/tools/internal-tools/implementations/edit-file-tool.cjs +62 -0
- package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/edit-file-tool.js +39 -0
- package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +57 -0
- package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/glob-files-tool.js +34 -0
- package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +71 -0
- package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/grep-content-tool.js +48 -0
- package/dist/tools/internal-tools/implementations/kill-process-tool.cjs +47 -0
- package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/kill-process-tool.js +24 -0
- package/dist/tools/internal-tools/implementations/read-file-tool.cjs +55 -0
- package/dist/tools/internal-tools/implementations/read-file-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/read-file-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/read-file-tool.js +32 -0
- package/dist/tools/internal-tools/implementations/search-history-tool.js +1 -0
- package/dist/tools/internal-tools/implementations/write-file-tool.cjs +56 -0
- package/dist/tools/internal-tools/implementations/write-file-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/write-file-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/write-file-tool.js +33 -0
- package/dist/tools/internal-tools/index.cjs +3 -1
- package/dist/tools/internal-tools/index.d.ts +1 -0
- package/dist/tools/internal-tools/index.d.ts.map +1 -1
- package/dist/tools/internal-tools/index.js +1 -0
- package/dist/tools/internal-tools/provider.js +1 -0
- package/dist/tools/internal-tools/registry.cjs +40 -4
- package/dist/tools/internal-tools/registry.d.ts +5 -9
- package/dist/tools/internal-tools/registry.d.ts.map +1 -1
- package/dist/tools/internal-tools/registry.js +41 -3
- package/dist/tools/schemas.cjs +18 -5
- package/dist/tools/schemas.d.ts +30 -1
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +15 -2
- package/dist/tools/tool-manager.cjs +158 -19
- package/dist/tools/tool-manager.d.ts +48 -2
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +118 -19
- package/dist/utils/api-key-resolver.js +1 -0
- package/dist/utils/api-key-store.js +1 -0
- package/dist/utils/async-context.js +1 -0
- package/dist/utils/debug.js +1 -0
- package/dist/utils/env.js +1 -0
- package/dist/utils/error-conversion.js +1 -0
- package/dist/utils/execution-context.js +1 -0
- package/dist/utils/fs-walk.js +1 -0
- package/dist/utils/path.js +1 -0
- package/dist/utils/port-utils.js +1 -0
- package/dist/utils/redactor.js +1 -0
- package/dist/utils/result.js +1 -0
- package/dist/utils/safe-stringify.js +1 -0
- package/dist/utils/schema-metadata.js +1 -0
- package/dist/utils/schema.js +1 -0
- package/dist/utils/service-initializer.cjs +42 -4
- package/dist/utils/service-initializer.d.ts +2 -1
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +33 -4
- package/dist/utils/user-info.js +1 -0
- package/dist/utils/zod-schema-converter.js +1 -0
- package/package.json +11 -1
package/dist/search/index.js
CHANGED
|
@@ -351,10 +351,10 @@ class ChatSession {
|
|
|
351
351
|
*
|
|
352
352
|
* @example
|
|
353
353
|
* ```typescript
|
|
354
|
-
* // Switch from Claude to GPT-
|
|
354
|
+
* // Switch from Claude to GPT-5 while keeping conversation history
|
|
355
355
|
* session.switchLLM({
|
|
356
356
|
* provider: 'openai',
|
|
357
|
-
* model: 'gpt-
|
|
357
|
+
* model: 'gpt-5',
|
|
358
358
|
* apiKey: process.env.OPENAI_API_KEY,
|
|
359
359
|
* router: 'in-built'
|
|
360
360
|
* });
|
|
@@ -240,10 +240,10 @@ export declare class ChatSession {
|
|
|
240
240
|
*
|
|
241
241
|
* @example
|
|
242
242
|
* ```typescript
|
|
243
|
-
* // Switch from Claude to GPT-
|
|
243
|
+
* // Switch from Claude to GPT-5 while keeping conversation history
|
|
244
244
|
* session.switchLLM({
|
|
245
245
|
* provider: 'openai',
|
|
246
|
-
* model: 'gpt-
|
|
246
|
+
* model: 'gpt-5',
|
|
247
247
|
* apiKey: process.env.OPENAI_API_KEY,
|
|
248
248
|
* router: 'in-built'
|
|
249
249
|
* });
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "../chunk-C6A6W6XS.js";
|
|
1
2
|
import { createDatabaseHistoryProvider } from "./history/factory.js";
|
|
2
3
|
import { createLLMService } from "../llm/services/factory.js";
|
|
3
4
|
import {
|
|
@@ -331,10 +332,10 @@ class ChatSession {
|
|
|
331
332
|
*
|
|
332
333
|
* @example
|
|
333
334
|
* ```typescript
|
|
334
|
-
* // Switch from Claude to GPT-
|
|
335
|
+
* // Switch from Claude to GPT-5 while keeping conversation history
|
|
335
336
|
* session.switchLLM({
|
|
336
337
|
* provider: 'openai',
|
|
337
|
-
* model: 'gpt-
|
|
338
|
+
* model: 'gpt-5',
|
|
338
339
|
* apiKey: process.env.OPENAI_API_KEY,
|
|
339
340
|
* router: 'in-built'
|
|
340
341
|
* });
|
package/dist/session/errors.js
CHANGED
package/dist/session/index.js
CHANGED
package/dist/session/schemas.js
CHANGED
|
@@ -33,6 +33,12 @@ export interface SessionData {
|
|
|
33
33
|
* - Cleaning up expired sessions
|
|
34
34
|
* - Providing session lifecycle management
|
|
35
35
|
* - Persisting session data using the simplified storage backends
|
|
36
|
+
*
|
|
37
|
+
* TODO (Telemetry): Add OpenTelemetry metrics collection later if needed
|
|
38
|
+
* - Active session gauges (current count)
|
|
39
|
+
* - Session creation/deletion counters
|
|
40
|
+
* - Session duration histograms
|
|
41
|
+
* - Messages per session histograms
|
|
36
42
|
*/
|
|
37
43
|
export declare class SessionManager {
|
|
38
44
|
private services;
|
|
@@ -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;AAEnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D,MAAM,WAAW,eAAe;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAElB;AAED,MAAM,WAAW,oBAAoB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED
|
|
1
|
+
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/session/session-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,11 +23,11 @@ __export(factory_exports, {
|
|
|
23
23
|
module.exports = __toCommonJS(factory_exports);
|
|
24
24
|
var import_local_blob_store = require("./local-blob-store.js");
|
|
25
25
|
var import_logger = require("../../logger/index.js");
|
|
26
|
-
function createBlobStore(config) {
|
|
26
|
+
function createBlobStore(config, agentId) {
|
|
27
27
|
switch (config.type) {
|
|
28
28
|
case "local":
|
|
29
29
|
import_logger.logger.info("Using local file-based blob store");
|
|
30
|
-
return new import_local_blob_store.LocalBlobStore(config);
|
|
30
|
+
return new import_local_blob_store.LocalBlobStore(config, agentId);
|
|
31
31
|
case "in-memory":
|
|
32
32
|
default: {
|
|
33
33
|
import_logger.logger.info(
|
|
@@ -40,7 +40,7 @@ function createBlobStore(config) {
|
|
|
40
40
|
cleanupAfterDays: 30
|
|
41
41
|
// Default for in-memory fallback
|
|
42
42
|
};
|
|
43
|
-
return new import_local_blob_store.LocalBlobStore(localConfig);
|
|
43
|
+
return new import_local_blob_store.LocalBlobStore(localConfig, agentId);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
}
|
|
@@ -3,6 +3,8 @@ import type { BlobStoreConfig } from '../schemas.js';
|
|
|
3
3
|
/**
|
|
4
4
|
* Create a blob store based on configuration.
|
|
5
5
|
* Note: In-memory blob store defaults to local file-based storage.
|
|
6
|
+
* @param config Blob store configuration
|
|
7
|
+
* @param agentId Optional agent identifier for per-agent blob isolation
|
|
6
8
|
*/
|
|
7
|
-
export declare function createBlobStore(config: BlobStoreConfig): BlobStore;
|
|
9
|
+
export declare function createBlobStore(config: BlobStoreConfig, agentId?: string): BlobStore;
|
|
8
10
|
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/storage/blob/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAwB,MAAM,eAAe,CAAC;AAI3E
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/storage/blob/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAwB,MAAM,eAAe,CAAC;AAI3E;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAqBpF"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import "../../chunk-C6A6W6XS.js";
|
|
1
2
|
import { LocalBlobStore } from "./local-blob-store.js";
|
|
2
3
|
import { logger } from "../../logger/index.js";
|
|
3
|
-
function createBlobStore(config) {
|
|
4
|
+
function createBlobStore(config, agentId) {
|
|
4
5
|
switch (config.type) {
|
|
5
6
|
case "local":
|
|
6
7
|
logger.info("Using local file-based blob store");
|
|
7
|
-
return new LocalBlobStore(config);
|
|
8
|
+
return new LocalBlobStore(config, agentId);
|
|
8
9
|
case "in-memory":
|
|
9
10
|
default: {
|
|
10
11
|
logger.info(
|
|
@@ -17,7 +18,7 @@ function createBlobStore(config) {
|
|
|
17
18
|
cleanupAfterDays: 30
|
|
18
19
|
// Default for in-memory fallback
|
|
19
20
|
};
|
|
20
|
-
return new LocalBlobStore(localConfig);
|
|
21
|
+
return new LocalBlobStore(localConfig, agentId);
|
|
21
22
|
}
|
|
22
23
|
}
|
|
23
24
|
}
|
|
@@ -45,11 +45,27 @@ class LocalBlobStore {
|
|
|
45
45
|
statsCache = null;
|
|
46
46
|
statsCachePromise = null;
|
|
47
47
|
lastStatsRefresh = 0;
|
|
48
|
+
agentId;
|
|
48
49
|
static STATS_REFRESH_INTERVAL_MS = 6e4;
|
|
49
50
|
// 1 minute
|
|
50
|
-
constructor(config) {
|
|
51
|
+
constructor(config, agentId) {
|
|
51
52
|
this.config = config;
|
|
52
|
-
|
|
53
|
+
if (agentId) {
|
|
54
|
+
const trimmed = agentId.trim();
|
|
55
|
+
if (!trimmed) {
|
|
56
|
+
throw import_errors.StorageError.blobInvalidConfig("agentId cannot be empty or whitespace-only");
|
|
57
|
+
}
|
|
58
|
+
if (!/^[a-zA-Z0-9_-]+$/.test(trimmed)) {
|
|
59
|
+
throw import_errors.StorageError.blobInvalidConfig(
|
|
60
|
+
"agentId must contain only alphanumeric characters, hyphens, and underscores"
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
this.agentId = trimmed;
|
|
64
|
+
} else {
|
|
65
|
+
this.agentId = agentId;
|
|
66
|
+
}
|
|
67
|
+
const blobSubdir = this.agentId ? `blobs-${this.agentId}` : "blobs";
|
|
68
|
+
this.storePath = config.storePath || (0, import_path2.getDextoPath)("data", blobSubdir);
|
|
53
69
|
}
|
|
54
70
|
async connect() {
|
|
55
71
|
if (this.connected) return;
|
|
@@ -14,8 +14,9 @@ export declare class LocalBlobStore implements BlobStore {
|
|
|
14
14
|
private statsCache;
|
|
15
15
|
private statsCachePromise;
|
|
16
16
|
private lastStatsRefresh;
|
|
17
|
+
private agentId;
|
|
17
18
|
private static readonly STATS_REFRESH_INTERVAL_MS;
|
|
18
|
-
constructor(config: LocalBlobStoreConfig);
|
|
19
|
+
constructor(config: LocalBlobStoreConfig, agentId?: string);
|
|
19
20
|
connect(): Promise<void>;
|
|
20
21
|
disconnect(): Promise<void>;
|
|
21
22
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-blob-store.d.ts","sourceRoot":"","sources":["../../../src/storage/blob/local-blob-store.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACR,SAAS,EACT,SAAS,EACT,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,SAAS,EAEZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;;GAMG;AACH,qBAAa,cAAe,YAAW,SAAS;IAC5C,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAqD;IACvE,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,gBAAgB,CAAa;
|
|
1
|
+
{"version":3,"file":"local-blob-store.d.ts","sourceRoot":"","sources":["../../../src/storage/blob/local-blob-store.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACR,SAAS,EACT,SAAS,EACT,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,SAAS,EAEZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;;GAMG;AACH,qBAAa,cAAe,YAAW,SAAS;IAC5C,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAqD;IACvE,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,OAAO,CAAqB;IAEpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAS;gBAE9C,MAAM,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,MAAM;IAwBpD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB,WAAW,IAAI,OAAO;IAItB,YAAY,IAAI,MAAM;IAIhB,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,GAAE,YAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAqF5E,QAAQ,CACV,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAgB,GACnE,OAAO,CAAC,QAAQ,CAAC;IAsDd,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB3C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBxC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IA+C1C,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC;IAepC,cAAc,IAAI,MAAM,GAAG,SAAS;IAI9B,SAAS,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAmC7B,gBAAgB;YAsBhB,iBAAiB;IAwB/B,OAAO,CAAC,0BAA0B;IASlC,OAAO,CAAC,2BAA2B;IASnC;;OAEG;YACW,aAAa;IAgD3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAiDtB;;OAEG;IACH,OAAO,CAAC,YAAY;CAiBvB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "../../chunk-C6A6W6XS.js";
|
|
1
2
|
import { promises as fs, createReadStream } from "fs";
|
|
2
3
|
import path from "path";
|
|
3
4
|
import { createHash } from "crypto";
|
|
@@ -12,11 +13,27 @@ class LocalBlobStore {
|
|
|
12
13
|
statsCache = null;
|
|
13
14
|
statsCachePromise = null;
|
|
14
15
|
lastStatsRefresh = 0;
|
|
16
|
+
agentId;
|
|
15
17
|
static STATS_REFRESH_INTERVAL_MS = 6e4;
|
|
16
18
|
// 1 minute
|
|
17
|
-
constructor(config) {
|
|
19
|
+
constructor(config, agentId) {
|
|
18
20
|
this.config = config;
|
|
19
|
-
|
|
21
|
+
if (agentId) {
|
|
22
|
+
const trimmed = agentId.trim();
|
|
23
|
+
if (!trimmed) {
|
|
24
|
+
throw StorageError.blobInvalidConfig("agentId cannot be empty or whitespace-only");
|
|
25
|
+
}
|
|
26
|
+
if (!/^[a-zA-Z0-9_-]+$/.test(trimmed)) {
|
|
27
|
+
throw StorageError.blobInvalidConfig(
|
|
28
|
+
"agentId must contain only alphanumeric characters, hyphens, and underscores"
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
this.agentId = trimmed;
|
|
32
|
+
} else {
|
|
33
|
+
this.agentId = agentId;
|
|
34
|
+
}
|
|
35
|
+
const blobSubdir = this.agentId ? `blobs-${this.agentId}` : "blobs";
|
|
36
|
+
this.storePath = config.storePath || getDextoPath("data", blobSubdir);
|
|
20
37
|
}
|
|
21
38
|
async connect() {
|
|
22
39
|
if (this.connected) return;
|
|
@@ -35,12 +35,12 @@ var import_memory_database_store = require("./memory-database-store.js");
|
|
|
35
35
|
var import_logger = require("../../logger/index.js");
|
|
36
36
|
let SQLiteStore = null;
|
|
37
37
|
let PostgresStore = null;
|
|
38
|
-
async function createDatabase(config) {
|
|
38
|
+
async function createDatabase(config, agentId) {
|
|
39
39
|
switch (config.type) {
|
|
40
40
|
case "postgres":
|
|
41
41
|
return createPostgresStore(config);
|
|
42
42
|
case "sqlite":
|
|
43
|
-
return createSQLiteStore(config);
|
|
43
|
+
return createSQLiteStore(config, agentId);
|
|
44
44
|
case "in-memory":
|
|
45
45
|
default:
|
|
46
46
|
import_logger.logger.info("Using in-memory database store");
|
|
@@ -63,14 +63,16 @@ async function createPostgresStore(config) {
|
|
|
63
63
|
return new import_memory_database_store.MemoryDatabaseStore();
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
|
-
async function createSQLiteStore(config) {
|
|
66
|
+
async function createSQLiteStore(config, agentId) {
|
|
67
67
|
try {
|
|
68
68
|
if (!SQLiteStore) {
|
|
69
69
|
const module2 = await import("./sqlite-store.js");
|
|
70
70
|
SQLiteStore = module2.SQLiteStore;
|
|
71
71
|
}
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
const defaultFilename = agentId ? `${agentId}.db` : "dexto.db";
|
|
73
|
+
const effectivePath = config.path || defaultFilename;
|
|
74
|
+
import_logger.logger.info(`Creating SQLite database store: ${effectivePath}`);
|
|
75
|
+
return new SQLiteStore(config, agentId);
|
|
74
76
|
} catch (error) {
|
|
75
77
|
const err = error instanceof Error ? error : new Error(String(error));
|
|
76
78
|
import_logger.logger.error(`SQLite store failed to load: ${err.message}`, err);
|
|
@@ -3,6 +3,8 @@ import type { DatabaseConfig } from '../schemas.js';
|
|
|
3
3
|
/**
|
|
4
4
|
* Create a database store based on configuration.
|
|
5
5
|
* Handles lazy loading of optional dependencies with automatic fallback.
|
|
6
|
+
* @param config Database configuration
|
|
7
|
+
* @param agentId Optional agent identifier for database naming (used for SQLite default filename)
|
|
6
8
|
*/
|
|
7
|
-
export declare function createDatabase(config: DatabaseConfig): Promise<Database>;
|
|
9
|
+
export declare function createDatabase(config: DatabaseConfig, agentId?: string): Promise<Database>;
|
|
8
10
|
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/storage/database/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAgD,MAAM,eAAe,CAAC;AAiBlG
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/storage/database/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAgD,MAAM,eAAe,CAAC;AAiBlG;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAahG"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
+
import "../../chunk-C6A6W6XS.js";
|
|
1
2
|
import { MemoryDatabaseStore } from "./memory-database-store.js";
|
|
2
3
|
import { logger } from "../../logger/index.js";
|
|
3
4
|
let SQLiteStore = null;
|
|
4
5
|
let PostgresStore = null;
|
|
5
|
-
async function createDatabase(config) {
|
|
6
|
+
async function createDatabase(config, agentId) {
|
|
6
7
|
switch (config.type) {
|
|
7
8
|
case "postgres":
|
|
8
9
|
return createPostgresStore(config);
|
|
9
10
|
case "sqlite":
|
|
10
|
-
return createSQLiteStore(config);
|
|
11
|
+
return createSQLiteStore(config, agentId);
|
|
11
12
|
case "in-memory":
|
|
12
13
|
default:
|
|
13
14
|
logger.info("Using in-memory database store");
|
|
@@ -30,14 +31,16 @@ async function createPostgresStore(config) {
|
|
|
30
31
|
return new MemoryDatabaseStore();
|
|
31
32
|
}
|
|
32
33
|
}
|
|
33
|
-
async function createSQLiteStore(config) {
|
|
34
|
+
async function createSQLiteStore(config, agentId) {
|
|
34
35
|
try {
|
|
35
36
|
if (!SQLiteStore) {
|
|
36
37
|
const module = await import("./sqlite-store.js");
|
|
37
38
|
SQLiteStore = module.SQLiteStore;
|
|
38
39
|
}
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
const defaultFilename = agentId ? `${agentId}.db` : "dexto.db";
|
|
41
|
+
const effectivePath = config.path || defaultFilename;
|
|
42
|
+
logger.info(`Creating SQLite database store: ${effectivePath}`);
|
|
43
|
+
return new SQLiteStore(config, agentId);
|
|
41
44
|
} catch (error) {
|
|
42
45
|
const err = error instanceof Error ? error : new Error(String(error));
|
|
43
46
|
logger.error(`SQLite store failed to load: ${err.message}`, err);
|
|
@@ -42,7 +42,7 @@ const SqliteDatabaseSchema = BaseDatabaseSchema.extend({
|
|
|
42
42
|
path: import_zod.z.string().optional().describe(
|
|
43
43
|
"SQLite database file path (optional, will auto-detect using path resolver if not provided)"
|
|
44
44
|
),
|
|
45
|
-
database: import_zod.z.string().optional().describe("Database filename (default:
|
|
45
|
+
database: import_zod.z.string().optional().describe("Database filename (default: <agent-id>.db)")
|
|
46
46
|
}).strict();
|
|
47
47
|
const PostgresDatabaseSchema = BaseDatabaseSchema.extend({
|
|
48
48
|
type: import_zod.z.literal("postgres"),
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "../../chunk-C6A6W6XS.js";
|
|
1
2
|
import { z } from "zod";
|
|
2
3
|
import { EnvExpandedString } from "../../utils/result.js";
|
|
3
4
|
import { StorageErrorCode } from "../error-codes.js";
|
|
@@ -18,7 +19,7 @@ const SqliteDatabaseSchema = BaseDatabaseSchema.extend({
|
|
|
18
19
|
path: z.string().optional().describe(
|
|
19
20
|
"SQLite database file path (optional, will auto-detect using path resolver if not provided)"
|
|
20
21
|
),
|
|
21
|
-
database: z.string().optional().describe("Database filename (default:
|
|
22
|
+
database: z.string().optional().describe("Database filename (default: <agent-id>.db)")
|
|
22
23
|
}).strict();
|
|
23
24
|
const PostgresDatabaseSchema = BaseDatabaseSchema.extend({
|
|
24
25
|
type: z.literal("postgres"),
|
|
@@ -43,8 +43,25 @@ class SQLiteStore {
|
|
|
43
43
|
// Database.Database
|
|
44
44
|
dbPath;
|
|
45
45
|
config;
|
|
46
|
-
|
|
46
|
+
agentId;
|
|
47
|
+
constructor(config, agentId) {
|
|
47
48
|
this.config = config;
|
|
49
|
+
if (agentId) {
|
|
50
|
+
const trimmed = agentId.trim();
|
|
51
|
+
if (!trimmed) {
|
|
52
|
+
throw import_errors.StorageError.databaseInvalidConfig(
|
|
53
|
+
"agentId cannot be empty or whitespace-only"
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
if (!/^[a-zA-Z0-9_-]+$/.test(trimmed)) {
|
|
57
|
+
throw import_errors.StorageError.databaseInvalidConfig(
|
|
58
|
+
"agentId must contain only alphanumeric characters, hyphens, and underscores"
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
this.agentId = trimmed;
|
|
62
|
+
} else {
|
|
63
|
+
this.agentId = agentId;
|
|
64
|
+
}
|
|
48
65
|
this.dbPath = "";
|
|
49
66
|
}
|
|
50
67
|
resolveDefaultPath(dbName) {
|
|
@@ -107,7 +124,8 @@ class SQLiteStore {
|
|
|
107
124
|
this.dbPath = this.config.path;
|
|
108
125
|
import_logger.logger.info(`SQLite using custom path: ${this.dbPath}`);
|
|
109
126
|
} else {
|
|
110
|
-
|
|
127
|
+
const defaultFilename = this.agentId ? `${this.agentId}.db` : "dexto.db";
|
|
128
|
+
this.dbPath = this.resolveDefaultPath(this.config.database || defaultFilename);
|
|
111
129
|
}
|
|
112
130
|
const dir = (0, import_path.dirname)(this.dbPath);
|
|
113
131
|
import_logger.logger.debug(`SQLite ensuring directory exists: ${dir}`);
|
|
@@ -8,7 +8,8 @@ export declare class SQLiteStore implements Database {
|
|
|
8
8
|
private db;
|
|
9
9
|
private dbPath;
|
|
10
10
|
private config;
|
|
11
|
-
|
|
11
|
+
private agentId;
|
|
12
|
+
constructor(config: SqliteDatabaseConfig, agentId?: string);
|
|
12
13
|
private resolveDefaultPath;
|
|
13
14
|
private initializeTables;
|
|
14
15
|
connect(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-store.d.ts","sourceRoot":"","sources":["../../../src/storage/database/sqlite-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAQzD;;;GAGG;AACH,qBAAa,WAAY,YAAW,QAAQ;IACxC,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAuB;
|
|
1
|
+
{"version":3,"file":"sqlite-store.d.ts","sourceRoot":"","sources":["../../../src/storage/database/sqlite-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAQzD;;;GAGG;AACH,qBAAa,WAAY,YAAW,QAAQ;IACxC,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAqB;gBAExB,MAAM,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,MAAM;IAyB1D,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,gBAAgB;IA8ClB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAoExB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC,WAAW,IAAI,OAAO;IAItB,YAAY,IAAI,MAAM;IAKhB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAgB3C,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB5C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAelC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA0BvC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB9C,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAqB1E,OAAO,CAAC,eAAe;IAOjB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAKvB,QAAQ,IAAI,OAAO,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;CAqBL"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "../../chunk-C6A6W6XS.js";
|
|
1
2
|
import { dirname } from "path";
|
|
2
3
|
import { mkdirSync } from "fs";
|
|
3
4
|
import { logger } from "../../logger/index.js";
|
|
@@ -10,8 +11,25 @@ class SQLiteStore {
|
|
|
10
11
|
// Database.Database
|
|
11
12
|
dbPath;
|
|
12
13
|
config;
|
|
13
|
-
|
|
14
|
+
agentId;
|
|
15
|
+
constructor(config, agentId) {
|
|
14
16
|
this.config = config;
|
|
17
|
+
if (agentId) {
|
|
18
|
+
const trimmed = agentId.trim();
|
|
19
|
+
if (!trimmed) {
|
|
20
|
+
throw StorageError.databaseInvalidConfig(
|
|
21
|
+
"agentId cannot be empty or whitespace-only"
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
if (!/^[a-zA-Z0-9_-]+$/.test(trimmed)) {
|
|
25
|
+
throw StorageError.databaseInvalidConfig(
|
|
26
|
+
"agentId must contain only alphanumeric characters, hyphens, and underscores"
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
this.agentId = trimmed;
|
|
30
|
+
} else {
|
|
31
|
+
this.agentId = agentId;
|
|
32
|
+
}
|
|
15
33
|
this.dbPath = "";
|
|
16
34
|
}
|
|
17
35
|
resolveDefaultPath(dbName) {
|
|
@@ -74,7 +92,8 @@ class SQLiteStore {
|
|
|
74
92
|
this.dbPath = this.config.path;
|
|
75
93
|
logger.info(`SQLite using custom path: ${this.dbPath}`);
|
|
76
94
|
} else {
|
|
77
|
-
|
|
95
|
+
const defaultFilename = this.agentId ? `${this.agentId}.db` : "dexto.db";
|
|
96
|
+
this.dbPath = this.resolveDefaultPath(this.config.database || defaultFilename);
|
|
78
97
|
}
|
|
79
98
|
const dir = dirname(this.dbPath);
|
|
80
99
|
logger.debug(`SQLite ensuring directory exists: ${dir}`);
|
|
@@ -30,6 +30,7 @@ var StorageErrorCode = /* @__PURE__ */ ((StorageErrorCode2) => {
|
|
|
30
30
|
StorageErrorCode2["WRITE_FAILED"] = "storage_write_failed";
|
|
31
31
|
StorageErrorCode2["DELETE_FAILED"] = "storage_delete_failed";
|
|
32
32
|
StorageErrorCode2["MIGRATION_FAILED"] = "storage_migration_failed";
|
|
33
|
+
StorageErrorCode2["DATABASE_INVALID_CONFIG"] = "storage_database_invalid_config";
|
|
33
34
|
StorageErrorCode2["BLOB_INVALID_CONFIG"] = "BLOB_INVALID_CONFIG";
|
|
34
35
|
StorageErrorCode2["BLOB_SIZE_EXCEEDED"] = "BLOB_SIZE_EXCEEDED";
|
|
35
36
|
StorageErrorCode2["BLOB_TOTAL_SIZE_EXCEEDED"] = "BLOB_TOTAL_SIZE_EXCEEDED";
|
|
@@ -11,6 +11,7 @@ export declare enum StorageErrorCode {
|
|
|
11
11
|
WRITE_FAILED = "storage_write_failed",
|
|
12
12
|
DELETE_FAILED = "storage_delete_failed",
|
|
13
13
|
MIGRATION_FAILED = "storage_migration_failed",
|
|
14
|
+
DATABASE_INVALID_CONFIG = "storage_database_invalid_config",
|
|
14
15
|
BLOB_INVALID_CONFIG = "BLOB_INVALID_CONFIG",
|
|
15
16
|
BLOB_SIZE_EXCEEDED = "BLOB_SIZE_EXCEEDED",
|
|
16
17
|
BLOB_TOTAL_SIZE_EXCEEDED = "BLOB_TOTAL_SIZE_EXCEEDED",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../src/storage/error-codes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,gBAAgB;IAExB,uBAAuB,oCAAoC;IAC3D,qBAAqB,kCAAkC;IAGvD,iBAAiB,8BAA8B;IAC/C,yBAAyB,sCAAsC;IAG/D,WAAW,wBAAwB;IACnC,YAAY,yBAAyB;IACrC,aAAa,0BAA0B;IAGvC,gBAAgB,6BAA6B;
|
|
1
|
+
{"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../src/storage/error-codes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,gBAAgB;IAExB,uBAAuB,oCAAoC;IAC3D,qBAAqB,kCAAkC;IAGvD,iBAAiB,8BAA8B;IAC/C,yBAAyB,sCAAsC;IAG/D,WAAW,wBAAwB;IACnC,YAAY,yBAAyB;IACrC,aAAa,0BAA0B;IAGvC,gBAAgB,6BAA6B;IAC7C,uBAAuB,oCAAoC;IAG3D,mBAAmB,wBAAwB;IAG3C,kBAAkB,uBAAuB;IACzC,wBAAwB,6BAA6B;IACrD,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAG3C,cAAc,mBAAmB;IACjC,sBAAsB,2BAA2B;IACjD,kBAAkB,uBAAuB;IACzC,cAAc,mBAAmB;IAGjC,0BAA0B,+BAA+B;IACzD,wBAAwB,6BAA6B;IAGrD,mBAAmB,wBAAwB;IAC3C,qBAAqB,0BAA0B;CAClD"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "../chunk-C6A6W6XS.js";
|
|
1
2
|
var StorageErrorCode = /* @__PURE__ */ ((StorageErrorCode2) => {
|
|
2
3
|
StorageErrorCode2["MANAGER_NOT_INITIALIZED"] = "storage_manager_not_initialized";
|
|
3
4
|
StorageErrorCode2["MANAGER_NOT_CONNECTED"] = "storage_manager_not_connected";
|
|
@@ -7,6 +8,7 @@ var StorageErrorCode = /* @__PURE__ */ ((StorageErrorCode2) => {
|
|
|
7
8
|
StorageErrorCode2["WRITE_FAILED"] = "storage_write_failed";
|
|
8
9
|
StorageErrorCode2["DELETE_FAILED"] = "storage_delete_failed";
|
|
9
10
|
StorageErrorCode2["MIGRATION_FAILED"] = "storage_migration_failed";
|
|
11
|
+
StorageErrorCode2["DATABASE_INVALID_CONFIG"] = "storage_database_invalid_config";
|
|
10
12
|
StorageErrorCode2["BLOB_INVALID_CONFIG"] = "BLOB_INVALID_CONFIG";
|
|
11
13
|
StorageErrorCode2["BLOB_SIZE_EXCEEDED"] = "BLOB_SIZE_EXCEEDED";
|
|
12
14
|
StorageErrorCode2["BLOB_TOTAL_SIZE_EXCEEDED"] = "BLOB_TOTAL_SIZE_EXCEEDED";
|