@dexto/core 1.1.11 → 1.2.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 +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/storage/errors.cjs
CHANGED
|
@@ -121,6 +121,21 @@ class StorageError {
|
|
|
121
121
|
{ reason, ...details }
|
|
122
122
|
);
|
|
123
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* Invalid database configuration
|
|
126
|
+
*/
|
|
127
|
+
static databaseInvalidConfig(message, context) {
|
|
128
|
+
return new import_errors.DextoValidationError([
|
|
129
|
+
{
|
|
130
|
+
code: import_error_codes.StorageErrorCode.DATABASE_INVALID_CONFIG,
|
|
131
|
+
message,
|
|
132
|
+
scope: import_types.ErrorScope.STORAGE,
|
|
133
|
+
type: import_types.ErrorType.USER,
|
|
134
|
+
severity: "error",
|
|
135
|
+
context: context || {}
|
|
136
|
+
}
|
|
137
|
+
]);
|
|
138
|
+
}
|
|
124
139
|
// ==================== Blob Storage Errors ====================
|
|
125
140
|
/**
|
|
126
141
|
* Invalid blob configuration
|
package/dist/storage/errors.d.ts
CHANGED
|
@@ -59,6 +59,10 @@ export declare class StorageError {
|
|
|
59
59
|
static migrationFailed(reason: string, details?: Record<string, unknown>): DextoRuntimeError<{
|
|
60
60
|
reason: string;
|
|
61
61
|
}>;
|
|
62
|
+
/**
|
|
63
|
+
* Invalid database configuration
|
|
64
|
+
*/
|
|
65
|
+
static databaseInvalidConfig(message: string, context?: Record<string, unknown>): DextoValidationError;
|
|
62
66
|
/**
|
|
63
67
|
* Invalid blob configuration
|
|
64
68
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/storage/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAIhF;;;;GAIG;AACH,qBAAa,YAAY;IACrB;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;IAUxE;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM;;;IAUvC;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM;;;;IAU3C;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM;;;;IAUzC;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;IAUtF;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;IAUvF;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;IAUxF;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/storage/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/errors.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "../chunk-C6A6W6XS.js";
|
|
1
2
|
import { DextoRuntimeError, DextoValidationError } from "../errors/index.js";
|
|
2
3
|
import { ErrorScope, ErrorType } from "../errors/types.js";
|
|
3
4
|
import { StorageErrorCode } from "./error-codes.js";
|
|
@@ -98,6 +99,21 @@ class StorageError {
|
|
|
98
99
|
{ reason, ...details }
|
|
99
100
|
);
|
|
100
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* Invalid database configuration
|
|
104
|
+
*/
|
|
105
|
+
static databaseInvalidConfig(message, context) {
|
|
106
|
+
return new DextoValidationError([
|
|
107
|
+
{
|
|
108
|
+
code: StorageErrorCode.DATABASE_INVALID_CONFIG,
|
|
109
|
+
message,
|
|
110
|
+
scope: ErrorScope.STORAGE,
|
|
111
|
+
type: ErrorType.USER,
|
|
112
|
+
severity: "error",
|
|
113
|
+
context: context || {}
|
|
114
|
+
}
|
|
115
|
+
]);
|
|
116
|
+
}
|
|
101
117
|
// ==================== Blob Storage Errors ====================
|
|
102
118
|
/**
|
|
103
119
|
* Invalid blob configuration
|
package/dist/storage/index.js
CHANGED
package/dist/storage/schemas.js
CHANGED
|
@@ -35,8 +35,10 @@ class StorageManager {
|
|
|
35
35
|
blobStore;
|
|
36
36
|
initialized = false;
|
|
37
37
|
connected = false;
|
|
38
|
-
|
|
38
|
+
agentId;
|
|
39
|
+
constructor(config, agentId) {
|
|
39
40
|
this.config = config;
|
|
41
|
+
this.agentId = agentId;
|
|
40
42
|
}
|
|
41
43
|
/**
|
|
42
44
|
* Initialize storage instances without connecting.
|
|
@@ -47,8 +49,8 @@ class StorageManager {
|
|
|
47
49
|
return;
|
|
48
50
|
}
|
|
49
51
|
this.cache = await (0, import_factory.createCache)(this.config.cache);
|
|
50
|
-
this.database = await (0, import_factory2.createDatabase)(this.config.database);
|
|
51
|
-
this.blobStore = (0, import_factory3.createBlobStore)(this.config.blob);
|
|
52
|
+
this.database = await (0, import_factory2.createDatabase)(this.config.database, this.agentId);
|
|
53
|
+
this.blobStore = (0, import_factory3.createBlobStore)(this.config.blob, this.agentId);
|
|
52
54
|
this.initialized = true;
|
|
53
55
|
}
|
|
54
56
|
/**
|
|
@@ -210,8 +212,8 @@ class StorageManager {
|
|
|
210
212
|
};
|
|
211
213
|
}
|
|
212
214
|
}
|
|
213
|
-
async function createStorageManager(config) {
|
|
214
|
-
const manager = new StorageManager(config);
|
|
215
|
+
async function createStorageManager(config, agentId) {
|
|
216
|
+
const manager = new StorageManager(config, agentId);
|
|
215
217
|
await manager.initialize();
|
|
216
218
|
await manager.connect();
|
|
217
219
|
return manager;
|
|
@@ -19,7 +19,8 @@ export declare class StorageManager {
|
|
|
19
19
|
private blobStore;
|
|
20
20
|
private initialized;
|
|
21
21
|
private connected;
|
|
22
|
-
|
|
22
|
+
private agentId;
|
|
23
|
+
constructor(config: ValidatedStorageConfig, agentId?: string);
|
|
23
24
|
/**
|
|
24
25
|
* Initialize storage instances without connecting.
|
|
25
26
|
* This allows configuration and inspection before establishing connections.
|
|
@@ -73,6 +74,8 @@ export declare class StorageManager {
|
|
|
73
74
|
* Create and initialize a storage manager.
|
|
74
75
|
* This is a convenience helper that combines initialization and connection.
|
|
75
76
|
* This allows multiple agent instances to have independent storage.
|
|
77
|
+
* @param config Storage configuration
|
|
78
|
+
* @param agentId Optional agent identifier for database naming (used for SQLite default filename)
|
|
76
79
|
*/
|
|
77
|
-
export declare function createStorageManager(config: ValidatedStorageConfig): Promise<StorageManager>;
|
|
80
|
+
export declare function createStorageManager(config: ValidatedStorageConfig, agentId?: string): Promise<StorageManager>;
|
|
78
81
|
//# sourceMappingURL=storage-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-manager.d.ts","sourceRoot":"","sources":["../../src/storage/storage-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAS3D;;;;;;;;;GASG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;
|
|
1
|
+
{"version":3,"file":"storage-manager.d.ts","sourceRoot":"","sources":["../../src/storage/storage-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAS3D;;;;;;;;;GASG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAqB;gBAExB,MAAM,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE,MAAM;IAK5D;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA0CxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiCjC,WAAW,IAAI,OAAO;IAStB;;;OAGG;IACH,QAAQ,IAAI,KAAK;IAOjB;;;OAGG;IACH,WAAW,IAAI,QAAQ;IAOvB;;;OAGG;IACH,YAAY,IAAI,SAAS;IAQnB,OAAO,IAAI,OAAO,CAAC;QACrB,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,CAAC;QAC5C,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,CAAC;QAC/C,IAAI,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,CAAC;QAC3C,SAAS,EAAE,OAAO,CAAC;KACtB,CAAC;IAuBI,WAAW,IAAI,OAAO,CAAC;QACzB,KAAK,EAAE,OAAO,CAAC;QACf,QAAQ,EAAE,OAAO,CAAC;QAClB,IAAI,EAAE,OAAO,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;KACpB,CAAC;CA+CL;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,sBAAsB,EAC9B,OAAO,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC,CAKzB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "../chunk-C6A6W6XS.js";
|
|
1
2
|
import { createCache } from "./cache/factory.js";
|
|
2
3
|
import { createDatabase } from "./database/factory.js";
|
|
3
4
|
import { createBlobStore } from "./blob/factory.js";
|
|
@@ -11,8 +12,10 @@ class StorageManager {
|
|
|
11
12
|
blobStore;
|
|
12
13
|
initialized = false;
|
|
13
14
|
connected = false;
|
|
14
|
-
|
|
15
|
+
agentId;
|
|
16
|
+
constructor(config, agentId) {
|
|
15
17
|
this.config = config;
|
|
18
|
+
this.agentId = agentId;
|
|
16
19
|
}
|
|
17
20
|
/**
|
|
18
21
|
* Initialize storage instances without connecting.
|
|
@@ -23,8 +26,8 @@ class StorageManager {
|
|
|
23
26
|
return;
|
|
24
27
|
}
|
|
25
28
|
this.cache = await createCache(this.config.cache);
|
|
26
|
-
this.database = await createDatabase(this.config.database);
|
|
27
|
-
this.blobStore = createBlobStore(this.config.blob);
|
|
29
|
+
this.database = await createDatabase(this.config.database, this.agentId);
|
|
30
|
+
this.blobStore = createBlobStore(this.config.blob, this.agentId);
|
|
28
31
|
this.initialized = true;
|
|
29
32
|
}
|
|
30
33
|
/**
|
|
@@ -186,8 +189,8 @@ class StorageManager {
|
|
|
186
189
|
};
|
|
187
190
|
}
|
|
188
191
|
}
|
|
189
|
-
async function createStorageManager(config) {
|
|
190
|
-
const manager = new StorageManager(config);
|
|
192
|
+
async function createStorageManager(config, agentId) {
|
|
193
|
+
const manager = new StorageManager(config, agentId);
|
|
191
194
|
await manager.initialize();
|
|
192
195
|
await manager.connect();
|
|
193
196
|
return manager;
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var decorators_exports = {};
|
|
20
|
+
__export(decorators_exports, {
|
|
21
|
+
InstrumentClass: () => InstrumentClass,
|
|
22
|
+
withSpan: () => withSpan
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(decorators_exports);
|
|
25
|
+
var import_api = require("@opentelemetry/api");
|
|
26
|
+
var import_logger = require("../logger/index.js");
|
|
27
|
+
var import_utils = require("./utils.js");
|
|
28
|
+
var import_safe_stringify = require("../utils/safe-stringify.js");
|
|
29
|
+
function withSpan(options) {
|
|
30
|
+
return function(_target, propertyKey, descriptor) {
|
|
31
|
+
if (!descriptor || typeof descriptor === "number") return;
|
|
32
|
+
const originalMethod = descriptor.value;
|
|
33
|
+
const methodName = String(propertyKey);
|
|
34
|
+
descriptor.value = function(...args) {
|
|
35
|
+
if (options?.skipIfNoTelemetry && (!globalThis.__TELEMETRY__ || !(0, import_utils.hasActiveTelemetry)())) {
|
|
36
|
+
return originalMethod.apply(this, args);
|
|
37
|
+
}
|
|
38
|
+
const tracer = import_api.trace.getTracer(options?.tracerName ?? "dexto");
|
|
39
|
+
let spanName = methodName;
|
|
40
|
+
let spanKind;
|
|
41
|
+
if (options) {
|
|
42
|
+
spanName = options.spanName ?? methodName;
|
|
43
|
+
if (options.spanKind !== void 0) {
|
|
44
|
+
spanKind = options.spanKind;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
const spanOptions = {};
|
|
48
|
+
if (spanKind !== void 0) {
|
|
49
|
+
spanOptions.kind = spanKind;
|
|
50
|
+
}
|
|
51
|
+
const span = tracer.startSpan(spanName, spanOptions);
|
|
52
|
+
let ctx = import_api.trace.setSpan(import_api.context.active(), span);
|
|
53
|
+
args.forEach((arg, index) => {
|
|
54
|
+
span.setAttribute(`${spanName}.argument.${index}`, (0, import_safe_stringify.safeStringify)(arg, 8192));
|
|
55
|
+
});
|
|
56
|
+
const { requestId, componentName, runId, threadId, resourceId } = (0, import_utils.getBaggageValues)(ctx);
|
|
57
|
+
if (requestId) {
|
|
58
|
+
span.setAttribute("http.request_id", requestId);
|
|
59
|
+
}
|
|
60
|
+
if (threadId) {
|
|
61
|
+
span.setAttribute("threadId", threadId);
|
|
62
|
+
}
|
|
63
|
+
if (resourceId) {
|
|
64
|
+
span.setAttribute("resourceId", resourceId);
|
|
65
|
+
}
|
|
66
|
+
if (componentName) {
|
|
67
|
+
span.setAttribute("componentName", componentName);
|
|
68
|
+
if (runId !== void 0) {
|
|
69
|
+
span.setAttribute("runId", String(runId));
|
|
70
|
+
}
|
|
71
|
+
} else if (this && typeof this === "object") {
|
|
72
|
+
const contextObj = this;
|
|
73
|
+
const inferredName = contextObj.name ?? contextObj.constructor?.name;
|
|
74
|
+
if (inferredName) {
|
|
75
|
+
span.setAttribute("componentName", inferredName);
|
|
76
|
+
}
|
|
77
|
+
if (contextObj.runId) {
|
|
78
|
+
span.setAttribute("runId", contextObj.runId);
|
|
79
|
+
}
|
|
80
|
+
const baggageEntries = {};
|
|
81
|
+
if (inferredName !== void 0) {
|
|
82
|
+
baggageEntries.componentName = { value: String(inferredName) };
|
|
83
|
+
}
|
|
84
|
+
if (contextObj.runId !== void 0) {
|
|
85
|
+
baggageEntries.runId = { value: String(contextObj.runId) };
|
|
86
|
+
}
|
|
87
|
+
if (requestId !== void 0) {
|
|
88
|
+
baggageEntries["http.request_id"] = { value: String(requestId) };
|
|
89
|
+
}
|
|
90
|
+
if (threadId !== void 0) {
|
|
91
|
+
baggageEntries.threadId = { value: String(threadId) };
|
|
92
|
+
}
|
|
93
|
+
if (resourceId !== void 0) {
|
|
94
|
+
baggageEntries.resourceId = { value: String(resourceId) };
|
|
95
|
+
}
|
|
96
|
+
if (Object.keys(baggageEntries).length > 0) {
|
|
97
|
+
ctx = import_api.propagation.setBaggage(ctx, import_api.propagation.createBaggage(baggageEntries));
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
let result;
|
|
101
|
+
try {
|
|
102
|
+
result = import_api.context.with(ctx, () => originalMethod.apply(this, args));
|
|
103
|
+
if (result instanceof Promise) {
|
|
104
|
+
return result.then((resolvedValue) => {
|
|
105
|
+
span.setAttribute(
|
|
106
|
+
`${spanName}.result`,
|
|
107
|
+
(0, import_safe_stringify.safeStringify)(resolvedValue, 8192)
|
|
108
|
+
);
|
|
109
|
+
return resolvedValue;
|
|
110
|
+
}).catch((error) => {
|
|
111
|
+
span.recordException(error);
|
|
112
|
+
span.setStatus({
|
|
113
|
+
code: import_api.SpanStatusCode.ERROR,
|
|
114
|
+
message: error?.toString()
|
|
115
|
+
});
|
|
116
|
+
throw error;
|
|
117
|
+
}).finally(() => {
|
|
118
|
+
span.end();
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
span.setAttribute(`${spanName}.result`, (0, import_safe_stringify.safeStringify)(result, 8192));
|
|
122
|
+
return result;
|
|
123
|
+
} catch (error) {
|
|
124
|
+
import_logger.logger.error(
|
|
125
|
+
`withSpan: Error in method '${methodName}': ${error instanceof Error ? error.message : String(error)}`
|
|
126
|
+
);
|
|
127
|
+
span.setStatus({
|
|
128
|
+
code: import_api.SpanStatusCode.ERROR,
|
|
129
|
+
message: error instanceof Error ? error.message : "Unknown error"
|
|
130
|
+
});
|
|
131
|
+
if (error instanceof Error) {
|
|
132
|
+
span.recordException(error);
|
|
133
|
+
}
|
|
134
|
+
throw error;
|
|
135
|
+
} finally {
|
|
136
|
+
if (!(result instanceof Promise)) {
|
|
137
|
+
span.end();
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
return descriptor;
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
function InstrumentClass(options) {
|
|
145
|
+
return function(target) {
|
|
146
|
+
const methods = Object.getOwnPropertyNames(target.prototype);
|
|
147
|
+
methods.forEach((method) => {
|
|
148
|
+
if (options?.excludeMethods?.includes(method) || method === "constructor") {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
if (options?.methodFilter && !options.methodFilter(method)) return;
|
|
152
|
+
const descriptor = Object.getOwnPropertyDescriptor(target.prototype, method);
|
|
153
|
+
if (descriptor && typeof descriptor.value === "function") {
|
|
154
|
+
Object.defineProperty(
|
|
155
|
+
target.prototype,
|
|
156
|
+
method,
|
|
157
|
+
withSpan({
|
|
158
|
+
spanName: options?.prefix ? `${options.prefix}.${method}` : method,
|
|
159
|
+
skipIfNoTelemetry: true,
|
|
160
|
+
spanKind: options?.spanKind || import_api.SpanKind.INTERNAL,
|
|
161
|
+
...options?.tracerName !== void 0 && {
|
|
162
|
+
tracerName: options.tracerName
|
|
163
|
+
}
|
|
164
|
+
})(target, method, descriptor)
|
|
165
|
+
);
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
return target;
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
172
|
+
0 && (module.exports = {
|
|
173
|
+
InstrumentClass,
|
|
174
|
+
withSpan
|
|
175
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SpanKind } from '@opentelemetry/api';
|
|
2
|
+
export declare function withSpan(options: {
|
|
3
|
+
spanName?: string;
|
|
4
|
+
skipIfNoTelemetry?: boolean;
|
|
5
|
+
spanKind?: SpanKind;
|
|
6
|
+
tracerName?: string;
|
|
7
|
+
}): any;
|
|
8
|
+
export declare function InstrumentClass(options?: {
|
|
9
|
+
prefix?: string;
|
|
10
|
+
spanKind?: SpanKind;
|
|
11
|
+
excludeMethods?: string[];
|
|
12
|
+
methodFilter?: (methodName: string) => boolean;
|
|
13
|
+
tracerName?: string;
|
|
14
|
+
}): <T extends {
|
|
15
|
+
new (...args: any[]): {};
|
|
16
|
+
}>(target: T) => T;
|
|
17
|
+
//# sourceMappingURL=decorators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/telemetry/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,QAAQ,EAGX,MAAM,oBAAoB,CAAC;AAM5B,wBAAgB,QAAQ,CAAC,OAAO,EAAE;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,GAAG,CA6JN;AAGD,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,IACoB,CAAC,SAAS;IAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;CAAE,EAAE,QAAQ,CAAC,OA4BrE"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import "../chunk-C6A6W6XS.js";
|
|
2
|
+
import {
|
|
3
|
+
trace,
|
|
4
|
+
context,
|
|
5
|
+
SpanStatusCode,
|
|
6
|
+
SpanKind,
|
|
7
|
+
propagation
|
|
8
|
+
} from "@opentelemetry/api";
|
|
9
|
+
import { logger } from "../logger/index.js";
|
|
10
|
+
import { hasActiveTelemetry, getBaggageValues } from "./utils.js";
|
|
11
|
+
import { safeStringify } from "../utils/safe-stringify.js";
|
|
12
|
+
function withSpan(options) {
|
|
13
|
+
return function(_target, propertyKey, descriptor) {
|
|
14
|
+
if (!descriptor || typeof descriptor === "number") return;
|
|
15
|
+
const originalMethod = descriptor.value;
|
|
16
|
+
const methodName = String(propertyKey);
|
|
17
|
+
descriptor.value = function(...args) {
|
|
18
|
+
if (options?.skipIfNoTelemetry && (!globalThis.__TELEMETRY__ || !hasActiveTelemetry())) {
|
|
19
|
+
return originalMethod.apply(this, args);
|
|
20
|
+
}
|
|
21
|
+
const tracer = trace.getTracer(options?.tracerName ?? "dexto");
|
|
22
|
+
let spanName = methodName;
|
|
23
|
+
let spanKind;
|
|
24
|
+
if (options) {
|
|
25
|
+
spanName = options.spanName ?? methodName;
|
|
26
|
+
if (options.spanKind !== void 0) {
|
|
27
|
+
spanKind = options.spanKind;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
const spanOptions = {};
|
|
31
|
+
if (spanKind !== void 0) {
|
|
32
|
+
spanOptions.kind = spanKind;
|
|
33
|
+
}
|
|
34
|
+
const span = tracer.startSpan(spanName, spanOptions);
|
|
35
|
+
let ctx = trace.setSpan(context.active(), span);
|
|
36
|
+
args.forEach((arg, index) => {
|
|
37
|
+
span.setAttribute(`${spanName}.argument.${index}`, safeStringify(arg, 8192));
|
|
38
|
+
});
|
|
39
|
+
const { requestId, componentName, runId, threadId, resourceId } = getBaggageValues(ctx);
|
|
40
|
+
if (requestId) {
|
|
41
|
+
span.setAttribute("http.request_id", requestId);
|
|
42
|
+
}
|
|
43
|
+
if (threadId) {
|
|
44
|
+
span.setAttribute("threadId", threadId);
|
|
45
|
+
}
|
|
46
|
+
if (resourceId) {
|
|
47
|
+
span.setAttribute("resourceId", resourceId);
|
|
48
|
+
}
|
|
49
|
+
if (componentName) {
|
|
50
|
+
span.setAttribute("componentName", componentName);
|
|
51
|
+
if (runId !== void 0) {
|
|
52
|
+
span.setAttribute("runId", String(runId));
|
|
53
|
+
}
|
|
54
|
+
} else if (this && typeof this === "object") {
|
|
55
|
+
const contextObj = this;
|
|
56
|
+
const inferredName = contextObj.name ?? contextObj.constructor?.name;
|
|
57
|
+
if (inferredName) {
|
|
58
|
+
span.setAttribute("componentName", inferredName);
|
|
59
|
+
}
|
|
60
|
+
if (contextObj.runId) {
|
|
61
|
+
span.setAttribute("runId", contextObj.runId);
|
|
62
|
+
}
|
|
63
|
+
const baggageEntries = {};
|
|
64
|
+
if (inferredName !== void 0) {
|
|
65
|
+
baggageEntries.componentName = { value: String(inferredName) };
|
|
66
|
+
}
|
|
67
|
+
if (contextObj.runId !== void 0) {
|
|
68
|
+
baggageEntries.runId = { value: String(contextObj.runId) };
|
|
69
|
+
}
|
|
70
|
+
if (requestId !== void 0) {
|
|
71
|
+
baggageEntries["http.request_id"] = { value: String(requestId) };
|
|
72
|
+
}
|
|
73
|
+
if (threadId !== void 0) {
|
|
74
|
+
baggageEntries.threadId = { value: String(threadId) };
|
|
75
|
+
}
|
|
76
|
+
if (resourceId !== void 0) {
|
|
77
|
+
baggageEntries.resourceId = { value: String(resourceId) };
|
|
78
|
+
}
|
|
79
|
+
if (Object.keys(baggageEntries).length > 0) {
|
|
80
|
+
ctx = propagation.setBaggage(ctx, propagation.createBaggage(baggageEntries));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
let result;
|
|
84
|
+
try {
|
|
85
|
+
result = context.with(ctx, () => originalMethod.apply(this, args));
|
|
86
|
+
if (result instanceof Promise) {
|
|
87
|
+
return result.then((resolvedValue) => {
|
|
88
|
+
span.setAttribute(
|
|
89
|
+
`${spanName}.result`,
|
|
90
|
+
safeStringify(resolvedValue, 8192)
|
|
91
|
+
);
|
|
92
|
+
return resolvedValue;
|
|
93
|
+
}).catch((error) => {
|
|
94
|
+
span.recordException(error);
|
|
95
|
+
span.setStatus({
|
|
96
|
+
code: SpanStatusCode.ERROR,
|
|
97
|
+
message: error?.toString()
|
|
98
|
+
});
|
|
99
|
+
throw error;
|
|
100
|
+
}).finally(() => {
|
|
101
|
+
span.end();
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
span.setAttribute(`${spanName}.result`, safeStringify(result, 8192));
|
|
105
|
+
return result;
|
|
106
|
+
} catch (error) {
|
|
107
|
+
logger.error(
|
|
108
|
+
`withSpan: Error in method '${methodName}': ${error instanceof Error ? error.message : String(error)}`
|
|
109
|
+
);
|
|
110
|
+
span.setStatus({
|
|
111
|
+
code: SpanStatusCode.ERROR,
|
|
112
|
+
message: error instanceof Error ? error.message : "Unknown error"
|
|
113
|
+
});
|
|
114
|
+
if (error instanceof Error) {
|
|
115
|
+
span.recordException(error);
|
|
116
|
+
}
|
|
117
|
+
throw error;
|
|
118
|
+
} finally {
|
|
119
|
+
if (!(result instanceof Promise)) {
|
|
120
|
+
span.end();
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
return descriptor;
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
function InstrumentClass(options) {
|
|
128
|
+
return function(target) {
|
|
129
|
+
const methods = Object.getOwnPropertyNames(target.prototype);
|
|
130
|
+
methods.forEach((method) => {
|
|
131
|
+
if (options?.excludeMethods?.includes(method) || method === "constructor") {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
if (options?.methodFilter && !options.methodFilter(method)) return;
|
|
135
|
+
const descriptor = Object.getOwnPropertyDescriptor(target.prototype, method);
|
|
136
|
+
if (descriptor && typeof descriptor.value === "function") {
|
|
137
|
+
Object.defineProperty(
|
|
138
|
+
target.prototype,
|
|
139
|
+
method,
|
|
140
|
+
withSpan({
|
|
141
|
+
spanName: options?.prefix ? `${options.prefix}.${method}` : method,
|
|
142
|
+
skipIfNoTelemetry: true,
|
|
143
|
+
spanKind: options?.spanKind || SpanKind.INTERNAL,
|
|
144
|
+
...options?.tracerName !== void 0 && {
|
|
145
|
+
tracerName: options.tracerName
|
|
146
|
+
}
|
|
147
|
+
})(target, method, descriptor)
|
|
148
|
+
);
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
return target;
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
export {
|
|
155
|
+
InstrumentClass,
|
|
156
|
+
withSpan
|
|
157
|
+
};
|