@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
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { Tracer, Context, BaggageEntry } from '@opentelemetry/api';
|
|
2
|
+
import type { OtelConfiguration } from './schemas.js';
|
|
3
|
+
declare global {
|
|
4
|
+
var __TELEMETRY__: Telemetry | undefined;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* TODO (Telemetry): enhancements
|
|
8
|
+
* - Implement sampling strategies (ratio-based, parent-based, always-on/off)
|
|
9
|
+
* - Add custom span processors for filtering/enrichment
|
|
10
|
+
* - Support context propagation across A2A (agent-to-agent) calls
|
|
11
|
+
* - Add cost tracking per trace (token costs, API costs)
|
|
12
|
+
* - Add static shutdownGlobal() method for agent switching
|
|
13
|
+
* See feature-plans/telemetry.md for details
|
|
14
|
+
*/
|
|
15
|
+
export declare class Telemetry {
|
|
16
|
+
tracer: Tracer;
|
|
17
|
+
name: string;
|
|
18
|
+
private _isInitialized;
|
|
19
|
+
private _sdk?;
|
|
20
|
+
private static _initPromise?;
|
|
21
|
+
private static _signalHandlers?;
|
|
22
|
+
private constructor();
|
|
23
|
+
private static buildTraceExporter;
|
|
24
|
+
/**
|
|
25
|
+
* Initialize telemetry with the given configuration
|
|
26
|
+
* @param config - Optional telemetry configuration object
|
|
27
|
+
* @param exporter - Optional custom span exporter (overrides config.export, useful for testing)
|
|
28
|
+
* @returns Telemetry instance that can be used for tracing
|
|
29
|
+
*/
|
|
30
|
+
static init(config?: OtelConfiguration, exporter?: import('@opentelemetry/sdk-trace-base').SpanExporter): Promise<Telemetry>;
|
|
31
|
+
static getActiveSpan(): import("@opentelemetry/api").Span | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Get the global telemetry instance
|
|
34
|
+
* @throws {Error} If telemetry has not been initialized
|
|
35
|
+
* @returns {Telemetry} The global telemetry instance
|
|
36
|
+
*/
|
|
37
|
+
static get(): Telemetry;
|
|
38
|
+
/**
|
|
39
|
+
* Check if global telemetry instance exists
|
|
40
|
+
* @returns True if telemetry has been initialized, false otherwise
|
|
41
|
+
*/
|
|
42
|
+
static hasGlobalInstance(): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Shutdown global telemetry instance
|
|
45
|
+
* Used during agent switching to cleanly shutdown old agent's telemetry
|
|
46
|
+
* before initializing new agent's telemetry with potentially different config
|
|
47
|
+
* @returns Promise that resolves when shutdown is complete
|
|
48
|
+
*/
|
|
49
|
+
static shutdownGlobal(): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* Checks if the Telemetry instance has been successfully initialized.
|
|
52
|
+
* @returns True if the instance is initialized, false otherwise.
|
|
53
|
+
*/
|
|
54
|
+
isInitialized(): boolean;
|
|
55
|
+
static setBaggage(baggage: Record<string, BaggageEntry>, ctx?: Context): Context;
|
|
56
|
+
static withContext(ctx: Context, fn: () => void): void;
|
|
57
|
+
/**
|
|
58
|
+
* Forces pending spans to be exported immediately.
|
|
59
|
+
* Useful for testing to ensure spans are available in exporters.
|
|
60
|
+
*/
|
|
61
|
+
forceFlush(): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* Shuts down the OpenTelemetry SDK, flushing any pending spans.
|
|
64
|
+
* This should be called before the application exits.
|
|
65
|
+
*
|
|
66
|
+
* Uses two-phase shutdown:
|
|
67
|
+
* 1. Best-effort flush - Try to export pending spans (can fail if backend unavailable)
|
|
68
|
+
* 2. Force cleanup - Always clear global state to allow re-initialization
|
|
69
|
+
*
|
|
70
|
+
* This ensures agent switching works even when telemetry export fails.
|
|
71
|
+
*/
|
|
72
|
+
shutdown(): Promise<void>;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=telemetry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry/telemetry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAYtD,OAAO,CAAC,MAAM,CAAC;IACX,IAAI,aAAa,EAAE,SAAS,GAAG,SAAS,CAAC;CAC5C;AAED;;;;;;;;GAQG;AACH,qBAAa,SAAS;IACX,MAAM,EAAE,MAAM,CAA4B;IACjD,IAAI,EAAE,MAAM,CAAmB;IAC/B,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,IAAI,CAAC,CAAsB;IACnC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAiC;IAC7D,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAA0D;IAEzF,OAAO;IAYP,OAAO,CAAC,MAAM,CAAC,kBAAkB;IA0BjC;;;;;OAKG;WACU,IAAI,CACb,MAAM,GAAE,iBAAsB,EAC9B,QAAQ,CAAC,EAAE,OAAO,+BAA+B,EAAE,YAAY,GAChE,OAAO,CAAC,SAAS,CAAC;IA8DrB,MAAM,CAAC,aAAa;IAKpB;;;;OAIG;IACH,MAAM,CAAC,GAAG,IAAI,SAAS;IAOvB;;;OAGG;IACH,MAAM,CAAC,iBAAiB,IAAI,OAAO;IAInC;;;;;OAKG;WACU,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5C;;;OAGG;IACI,aAAa,IAAI,OAAO;IAI/B,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,GAAE,OAA8B;IAc5F,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,IAAI;IAI/C;;;OAGG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAUxC;;;;;;;;;OASG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CA8BzC"}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import "../chunk-C6A6W6XS.js";
|
|
2
|
+
import { context as otlpContext, trace, propagation } from "@opentelemetry/api";
|
|
3
|
+
import { NodeSDK } from "@opentelemetry/sdk-node";
|
|
4
|
+
import { ConsoleSpanExporter } from "@opentelemetry/sdk-trace-base";
|
|
5
|
+
import { OTLPTraceExporter as OTLPHttpExporter } from "@opentelemetry/exporter-trace-otlp-http";
|
|
6
|
+
import { OTLPTraceExporter as OTLPGrpcExporter } from "@opentelemetry/exporter-trace-otlp-grpc";
|
|
7
|
+
import { getNodeAutoInstrumentations } from "@opentelemetry/auto-instrumentations-node";
|
|
8
|
+
import { Resource } from "@opentelemetry/resources";
|
|
9
|
+
import { ATTR_SERVICE_NAME } from "@opentelemetry/semantic-conventions";
|
|
10
|
+
import { CompositeExporter } from "./exporters.js";
|
|
11
|
+
import { logger } from "../logger/logger.js";
|
|
12
|
+
class Telemetry {
|
|
13
|
+
tracer = trace.getTracer("dexto");
|
|
14
|
+
name = "dexto-service";
|
|
15
|
+
_isInitialized = false;
|
|
16
|
+
_sdk;
|
|
17
|
+
static _initPromise;
|
|
18
|
+
static _signalHandlers;
|
|
19
|
+
constructor(config, enabled, sdk) {
|
|
20
|
+
const serviceName = config.serviceName ?? "dexto-service";
|
|
21
|
+
const tracerName = config.tracerName ?? serviceName;
|
|
22
|
+
this.name = serviceName;
|
|
23
|
+
this.tracer = trace.getTracer(tracerName);
|
|
24
|
+
if (sdk) {
|
|
25
|
+
this._sdk = sdk;
|
|
26
|
+
}
|
|
27
|
+
this._isInitialized = enabled && !!sdk;
|
|
28
|
+
}
|
|
29
|
+
static buildTraceExporter(config) {
|
|
30
|
+
const e = config?.export;
|
|
31
|
+
if (!e || e.type === "console") {
|
|
32
|
+
return new ConsoleSpanExporter();
|
|
33
|
+
}
|
|
34
|
+
if (e.type === "otlp") {
|
|
35
|
+
if (e.protocol === "grpc") {
|
|
36
|
+
const options2 = {};
|
|
37
|
+
if (e.endpoint) {
|
|
38
|
+
options2.url = e.endpoint;
|
|
39
|
+
}
|
|
40
|
+
return new OTLPGrpcExporter(options2);
|
|
41
|
+
}
|
|
42
|
+
const options = {};
|
|
43
|
+
if (e.endpoint) {
|
|
44
|
+
options.url = e.endpoint;
|
|
45
|
+
}
|
|
46
|
+
if (e.headers) {
|
|
47
|
+
options.headers = e.headers;
|
|
48
|
+
}
|
|
49
|
+
return new OTLPHttpExporter(options);
|
|
50
|
+
}
|
|
51
|
+
return new ConsoleSpanExporter();
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Initialize telemetry with the given configuration
|
|
55
|
+
* @param config - Optional telemetry configuration object
|
|
56
|
+
* @param exporter - Optional custom span exporter (overrides config.export, useful for testing)
|
|
57
|
+
* @returns Telemetry instance that can be used for tracing
|
|
58
|
+
*/
|
|
59
|
+
static async init(config = {}, exporter) {
|
|
60
|
+
try {
|
|
61
|
+
if (globalThis.__TELEMETRY__) return globalThis.__TELEMETRY__;
|
|
62
|
+
if (Telemetry._initPromise) return Telemetry._initPromise;
|
|
63
|
+
Telemetry._initPromise = (async () => {
|
|
64
|
+
if (!globalThis.__TELEMETRY__) {
|
|
65
|
+
const enabled = config.enabled !== false;
|
|
66
|
+
let sdk;
|
|
67
|
+
if (enabled) {
|
|
68
|
+
const resource = new Resource({
|
|
69
|
+
[ATTR_SERVICE_NAME]: config.serviceName ?? "dexto-service"
|
|
70
|
+
});
|
|
71
|
+
const spanExporter = exporter || Telemetry.buildTraceExporter(config);
|
|
72
|
+
const traceExporter = spanExporter instanceof CompositeExporter ? spanExporter : new CompositeExporter([spanExporter]);
|
|
73
|
+
sdk = new NodeSDK({
|
|
74
|
+
resource,
|
|
75
|
+
traceExporter,
|
|
76
|
+
instrumentations: [getNodeAutoInstrumentations()]
|
|
77
|
+
});
|
|
78
|
+
await sdk.start();
|
|
79
|
+
const sigterm = () => {
|
|
80
|
+
void sdk?.shutdown();
|
|
81
|
+
};
|
|
82
|
+
const sigint = () => {
|
|
83
|
+
void sdk?.shutdown();
|
|
84
|
+
};
|
|
85
|
+
process.once("SIGTERM", sigterm);
|
|
86
|
+
process.once("SIGINT", sigint);
|
|
87
|
+
Telemetry._signalHandlers = { sigterm, sigint };
|
|
88
|
+
}
|
|
89
|
+
globalThis.__TELEMETRY__ = new Telemetry(config, enabled, sdk);
|
|
90
|
+
}
|
|
91
|
+
return globalThis.__TELEMETRY__;
|
|
92
|
+
})();
|
|
93
|
+
return Telemetry._initPromise;
|
|
94
|
+
} catch (error) {
|
|
95
|
+
const wrappedError = new Error(
|
|
96
|
+
`Failed to initialize telemetry: ${error instanceof Error ? error.message : String(error)}`
|
|
97
|
+
);
|
|
98
|
+
Telemetry._initPromise = void 0;
|
|
99
|
+
throw wrappedError;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
static getActiveSpan() {
|
|
103
|
+
const span = trace.getActiveSpan();
|
|
104
|
+
return span;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Get the global telemetry instance
|
|
108
|
+
* @throws {Error} If telemetry has not been initialized
|
|
109
|
+
* @returns {Telemetry} The global telemetry instance
|
|
110
|
+
*/
|
|
111
|
+
static get() {
|
|
112
|
+
if (!globalThis.__TELEMETRY__) {
|
|
113
|
+
throw new Error("Telemetry not initialized");
|
|
114
|
+
}
|
|
115
|
+
return globalThis.__TELEMETRY__;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Check if global telemetry instance exists
|
|
119
|
+
* @returns True if telemetry has been initialized, false otherwise
|
|
120
|
+
*/
|
|
121
|
+
static hasGlobalInstance() {
|
|
122
|
+
return globalThis.__TELEMETRY__ !== void 0;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Shutdown global telemetry instance
|
|
126
|
+
* Used during agent switching to cleanly shutdown old agent's telemetry
|
|
127
|
+
* before initializing new agent's telemetry with potentially different config
|
|
128
|
+
* @returns Promise that resolves when shutdown is complete
|
|
129
|
+
*/
|
|
130
|
+
static async shutdownGlobal() {
|
|
131
|
+
if (globalThis.__TELEMETRY__) {
|
|
132
|
+
await globalThis.__TELEMETRY__.shutdown();
|
|
133
|
+
globalThis.__TELEMETRY__ = void 0;
|
|
134
|
+
}
|
|
135
|
+
Telemetry._initPromise = void 0;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Checks if the Telemetry instance has been successfully initialized.
|
|
139
|
+
* @returns True if the instance is initialized, false otherwise.
|
|
140
|
+
*/
|
|
141
|
+
isInitialized() {
|
|
142
|
+
return this._isInitialized;
|
|
143
|
+
}
|
|
144
|
+
static setBaggage(baggage, ctx = otlpContext.active()) {
|
|
145
|
+
const currentBaggage = Object.fromEntries(
|
|
146
|
+
propagation.getBaggage(ctx)?.getAllEntries() ?? []
|
|
147
|
+
);
|
|
148
|
+
const newCtx = propagation.setBaggage(
|
|
149
|
+
ctx,
|
|
150
|
+
propagation.createBaggage({
|
|
151
|
+
...currentBaggage,
|
|
152
|
+
...baggage
|
|
153
|
+
})
|
|
154
|
+
);
|
|
155
|
+
return newCtx;
|
|
156
|
+
}
|
|
157
|
+
static withContext(ctx, fn) {
|
|
158
|
+
return otlpContext.with(ctx, fn);
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Forces pending spans to be exported immediately.
|
|
162
|
+
* Useful for testing to ensure spans are available in exporters.
|
|
163
|
+
*/
|
|
164
|
+
async forceFlush() {
|
|
165
|
+
if (this._isInitialized) {
|
|
166
|
+
const provider = trace.getTracerProvider();
|
|
167
|
+
if (provider && typeof provider.forceFlush === "function") {
|
|
168
|
+
await provider.forceFlush();
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Shuts down the OpenTelemetry SDK, flushing any pending spans.
|
|
174
|
+
* This should be called before the application exits.
|
|
175
|
+
*
|
|
176
|
+
* Uses two-phase shutdown:
|
|
177
|
+
* 1. Best-effort flush - Try to export pending spans (can fail if backend unavailable)
|
|
178
|
+
* 2. Force cleanup - Always clear global state to allow re-initialization
|
|
179
|
+
*
|
|
180
|
+
* This ensures agent switching works even when telemetry export fails.
|
|
181
|
+
*/
|
|
182
|
+
async shutdown() {
|
|
183
|
+
if (this._sdk) {
|
|
184
|
+
try {
|
|
185
|
+
await this._sdk.shutdown();
|
|
186
|
+
} catch (error) {
|
|
187
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
188
|
+
logger.warn(`Telemetry shutdown failed to flush spans (non-blocking): ${errorMsg}`);
|
|
189
|
+
} finally {
|
|
190
|
+
this._isInitialized = false;
|
|
191
|
+
globalThis.__TELEMETRY__ = void 0;
|
|
192
|
+
if (Telemetry._signalHandlers) {
|
|
193
|
+
process.off("SIGTERM", Telemetry._signalHandlers.sigterm);
|
|
194
|
+
process.off("SIGINT", Telemetry._signalHandlers.sigint);
|
|
195
|
+
Telemetry._signalHandlers = void 0;
|
|
196
|
+
}
|
|
197
|
+
this._sdk = void 0;
|
|
198
|
+
Telemetry._initPromise = void 0;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
export {
|
|
204
|
+
Telemetry
|
|
205
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
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 __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
var types_exports = {};
|
|
16
|
+
module.exports = __toCommonJS(types_exports);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ReadableSpan } from '@opentelemetry/sdk-trace-base';
|
|
2
|
+
/**
|
|
3
|
+
* Trace data structure for storage/retrieval
|
|
4
|
+
* Used by telemetry storage exporters for persisting trace data
|
|
5
|
+
*/
|
|
6
|
+
export type Trace = {
|
|
7
|
+
id: string;
|
|
8
|
+
parentSpanId: string;
|
|
9
|
+
name: string;
|
|
10
|
+
traceId: string;
|
|
11
|
+
scope: string;
|
|
12
|
+
kind: ReadableSpan['kind'];
|
|
13
|
+
attributes: ReadableSpan['attributes'];
|
|
14
|
+
status: ReadableSpan['status'];
|
|
15
|
+
events: ReadableSpan['events'];
|
|
16
|
+
links: ReadableSpan['links'];
|
|
17
|
+
other: Record<string, any>;
|
|
18
|
+
startTime: number;
|
|
19
|
+
endTime: number;
|
|
20
|
+
createdAt: string;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/telemetry/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3B,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC/B,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC/B,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC"}
|
|
File without changes
|
|
@@ -0,0 +1,87 @@
|
|
|
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 utils_exports = {};
|
|
20
|
+
__export(utils_exports, {
|
|
21
|
+
addBaggageAttributesToSpan: () => addBaggageAttributesToSpan,
|
|
22
|
+
getBaggageValues: () => getBaggageValues,
|
|
23
|
+
hasActiveTelemetry: () => hasActiveTelemetry
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(utils_exports);
|
|
26
|
+
var import_api = require("@opentelemetry/api");
|
|
27
|
+
var import_telemetry = require("./telemetry.js");
|
|
28
|
+
var import_logger = require("../logger/index.js");
|
|
29
|
+
function hasActiveTelemetry() {
|
|
30
|
+
import_logger.logger.silly("hasActiveTelemetry called.");
|
|
31
|
+
try {
|
|
32
|
+
const telemetryInstance = import_telemetry.Telemetry.get();
|
|
33
|
+
const isActive = telemetryInstance.isInitialized();
|
|
34
|
+
import_logger.logger.silly(`hasActiveTelemetry: Telemetry is initialized: ${isActive}`);
|
|
35
|
+
return isActive;
|
|
36
|
+
} catch (error) {
|
|
37
|
+
import_logger.logger.silly(
|
|
38
|
+
`hasActiveTelemetry: Telemetry not active or initialized. Error: ${error instanceof Error ? error.message : String(error)}`
|
|
39
|
+
);
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function getBaggageValues(ctx) {
|
|
44
|
+
import_logger.logger.silly("getBaggageValues called.");
|
|
45
|
+
const currentBaggage = import_api.propagation.getBaggage(ctx);
|
|
46
|
+
const requestId = currentBaggage?.getEntry("http.request_id")?.value;
|
|
47
|
+
const componentName = currentBaggage?.getEntry("componentName")?.value;
|
|
48
|
+
const runId = currentBaggage?.getEntry("runId")?.value;
|
|
49
|
+
const threadId = currentBaggage?.getEntry("threadId")?.value;
|
|
50
|
+
const resourceId = currentBaggage?.getEntry("resourceId")?.value;
|
|
51
|
+
import_logger.logger.silly(
|
|
52
|
+
`getBaggageValues: Extracted - requestId: ${requestId}, componentName: ${componentName}, runId: ${runId}, threadId: ${threadId}, resourceId: ${resourceId}`
|
|
53
|
+
);
|
|
54
|
+
return {
|
|
55
|
+
requestId,
|
|
56
|
+
componentName,
|
|
57
|
+
runId,
|
|
58
|
+
threadId,
|
|
59
|
+
resourceId
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function addBaggageAttributesToSpan(span, ctx) {
|
|
63
|
+
import_logger.logger.debug("addBaggageAttributesToSpan called.");
|
|
64
|
+
const { requestId, componentName, runId, threadId, resourceId } = getBaggageValues(ctx);
|
|
65
|
+
if (componentName) {
|
|
66
|
+
span.setAttribute("componentName", componentName);
|
|
67
|
+
}
|
|
68
|
+
if (runId) {
|
|
69
|
+
span.setAttribute("runId", runId);
|
|
70
|
+
}
|
|
71
|
+
if (requestId) {
|
|
72
|
+
span.setAttribute("http.request_id", requestId);
|
|
73
|
+
}
|
|
74
|
+
if (threadId) {
|
|
75
|
+
span.setAttribute("threadId", threadId);
|
|
76
|
+
}
|
|
77
|
+
if (resourceId) {
|
|
78
|
+
span.setAttribute("resourceId", resourceId);
|
|
79
|
+
}
|
|
80
|
+
import_logger.logger.debug("addBaggageAttributesToSpan: Baggage attributes added to span.");
|
|
81
|
+
}
|
|
82
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
83
|
+
0 && (module.exports = {
|
|
84
|
+
addBaggageAttributesToSpan,
|
|
85
|
+
getBaggageValues,
|
|
86
|
+
hasActiveTelemetry
|
|
87
|
+
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Context, Span } from '@opentelemetry/api';
|
|
2
|
+
export declare function hasActiveTelemetry(): boolean;
|
|
3
|
+
/**
|
|
4
|
+
* Get baggage values from context
|
|
5
|
+
* @param ctx The context to get baggage values from
|
|
6
|
+
* @returns
|
|
7
|
+
*/
|
|
8
|
+
export declare function getBaggageValues(ctx: Context): {
|
|
9
|
+
requestId: string | undefined;
|
|
10
|
+
componentName: string | undefined;
|
|
11
|
+
runId: string | undefined;
|
|
12
|
+
threadId: string | undefined;
|
|
13
|
+
resourceId: string | undefined;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Attaches baggage values from the given context to the provided span as attributes.
|
|
17
|
+
* @param span The OpenTelemetry Span to add attributes to.
|
|
18
|
+
* @param ctx The OpenTelemetry Context from which to extract baggage values.
|
|
19
|
+
*/
|
|
20
|
+
export declare function addBaggageAttributesToSpan(span: Span, ctx: Context): void;
|
|
21
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/telemetry/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAKxD,wBAAgB,kBAAkB,IAAI,OAAO,CAa5C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO;;;;;;EAkB5C;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CAoBzE"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import "../chunk-C6A6W6XS.js";
|
|
2
|
+
import { propagation } from "@opentelemetry/api";
|
|
3
|
+
import { Telemetry } from "./telemetry.js";
|
|
4
|
+
import { logger } from "../logger/index.js";
|
|
5
|
+
function hasActiveTelemetry() {
|
|
6
|
+
logger.silly("hasActiveTelemetry called.");
|
|
7
|
+
try {
|
|
8
|
+
const telemetryInstance = Telemetry.get();
|
|
9
|
+
const isActive = telemetryInstance.isInitialized();
|
|
10
|
+
logger.silly(`hasActiveTelemetry: Telemetry is initialized: ${isActive}`);
|
|
11
|
+
return isActive;
|
|
12
|
+
} catch (error) {
|
|
13
|
+
logger.silly(
|
|
14
|
+
`hasActiveTelemetry: Telemetry not active or initialized. Error: ${error instanceof Error ? error.message : String(error)}`
|
|
15
|
+
);
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function getBaggageValues(ctx) {
|
|
20
|
+
logger.silly("getBaggageValues called.");
|
|
21
|
+
const currentBaggage = propagation.getBaggage(ctx);
|
|
22
|
+
const requestId = currentBaggage?.getEntry("http.request_id")?.value;
|
|
23
|
+
const componentName = currentBaggage?.getEntry("componentName")?.value;
|
|
24
|
+
const runId = currentBaggage?.getEntry("runId")?.value;
|
|
25
|
+
const threadId = currentBaggage?.getEntry("threadId")?.value;
|
|
26
|
+
const resourceId = currentBaggage?.getEntry("resourceId")?.value;
|
|
27
|
+
logger.silly(
|
|
28
|
+
`getBaggageValues: Extracted - requestId: ${requestId}, componentName: ${componentName}, runId: ${runId}, threadId: ${threadId}, resourceId: ${resourceId}`
|
|
29
|
+
);
|
|
30
|
+
return {
|
|
31
|
+
requestId,
|
|
32
|
+
componentName,
|
|
33
|
+
runId,
|
|
34
|
+
threadId,
|
|
35
|
+
resourceId
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
function addBaggageAttributesToSpan(span, ctx) {
|
|
39
|
+
logger.debug("addBaggageAttributesToSpan called.");
|
|
40
|
+
const { requestId, componentName, runId, threadId, resourceId } = getBaggageValues(ctx);
|
|
41
|
+
if (componentName) {
|
|
42
|
+
span.setAttribute("componentName", componentName);
|
|
43
|
+
}
|
|
44
|
+
if (runId) {
|
|
45
|
+
span.setAttribute("runId", runId);
|
|
46
|
+
}
|
|
47
|
+
if (requestId) {
|
|
48
|
+
span.setAttribute("http.request_id", requestId);
|
|
49
|
+
}
|
|
50
|
+
if (threadId) {
|
|
51
|
+
span.setAttribute("threadId", threadId);
|
|
52
|
+
}
|
|
53
|
+
if (resourceId) {
|
|
54
|
+
span.setAttribute("resourceId", resourceId);
|
|
55
|
+
}
|
|
56
|
+
logger.debug("addBaggageAttributesToSpan: Baggage attributes added to span.");
|
|
57
|
+
}
|
|
58
|
+
export {
|
|
59
|
+
addBaggageAttributesToSpan,
|
|
60
|
+
getBaggageValues,
|
|
61
|
+
hasActiveTelemetry
|
|
62
|
+
};
|
package/dist/tools/errors.js
CHANGED
package/dist/tools/index.js
CHANGED
|
@@ -0,0 +1,39 @@
|
|
|
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 constants_exports = {};
|
|
20
|
+
__export(constants_exports, {
|
|
21
|
+
INTERNAL_TOOL_NAMES: () => INTERNAL_TOOL_NAMES
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(constants_exports);
|
|
24
|
+
const INTERNAL_TOOL_NAMES = [
|
|
25
|
+
"search_history",
|
|
26
|
+
"ask_user",
|
|
27
|
+
"read_file",
|
|
28
|
+
"glob_files",
|
|
29
|
+
"grep_content",
|
|
30
|
+
"write_file",
|
|
31
|
+
"edit_file",
|
|
32
|
+
"bash_exec",
|
|
33
|
+
"bash_output",
|
|
34
|
+
"kill_process"
|
|
35
|
+
];
|
|
36
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
37
|
+
0 && (module.exports = {
|
|
38
|
+
INTERNAL_TOOL_NAMES
|
|
39
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal tool constants
|
|
3
|
+
*
|
|
4
|
+
* Separated from registry to avoid circular dependencies and browser bundle pollution
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Available internal tool names
|
|
8
|
+
* Must be kept in sync with INTERNAL_TOOL_REGISTRY in registry.ts
|
|
9
|
+
*/
|
|
10
|
+
export declare const INTERNAL_TOOL_NAMES: readonly ["search_history", "ask_user", "read_file", "glob_files", "grep_content", "write_file", "edit_file", "bash_exec", "bash_output", "kill_process"];
|
|
11
|
+
export type KnownInternalTool = (typeof INTERNAL_TOOL_NAMES)[number];
|
|
12
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/tools/internal-tools/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,eAAO,MAAM,mBAAmB,2JAWtB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import "../../chunk-C6A6W6XS.js";
|
|
2
|
+
const INTERNAL_TOOL_NAMES = [
|
|
3
|
+
"search_history",
|
|
4
|
+
"ask_user",
|
|
5
|
+
"read_file",
|
|
6
|
+
"glob_files",
|
|
7
|
+
"grep_content",
|
|
8
|
+
"write_file",
|
|
9
|
+
"edit_file",
|
|
10
|
+
"bash_exec",
|
|
11
|
+
"bash_output",
|
|
12
|
+
"kill_process"
|
|
13
|
+
];
|
|
14
|
+
export {
|
|
15
|
+
INTERNAL_TOOL_NAMES
|
|
16
|
+
};
|