@superblocksteam/vite-plugin-file-sync 2.0.82 → 2.0.83-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai-service/agent/middleware.d.ts +36 -0
- package/dist/ai-service/agent/middleware.d.ts.map +1 -1
- package/dist/ai-service/agent/middleware.js +65 -1
- package/dist/ai-service/agent/middleware.js.map +1 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +1 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js +101 -57
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.js +1 -1
- package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/api-executor.js +1 -1
- package/dist/ai-service/agent/tools/apis/api-executor.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.js +1 -1
- package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/build-api-artifact.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/build-api-artifact.js +23 -7
- package/dist/ai-service/agent/tools/apis/build-api-artifact.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/build-api.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/build-api.js +36 -19
- package/dist/ai-service/agent/tools/apis/build-api.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/get-api-docs.d.ts +1 -1
- package/dist/ai-service/agent/tools/apis/sample-json.js +1 -1
- package/dist/ai-service/agent/tools/apis/sample-json.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.d.ts +11 -1
- package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.js +95 -54
- package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
- package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts +3 -0
- package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-capture-screenshot.js +12 -8
- package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
- package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-debug.js +30 -10
- package/dist/ai-service/agent/tools/build-debug.js.map +1 -1
- package/dist/ai-service/agent/tools/build-delete-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-delete-file.js +6 -2
- package/dist/ai-service/agent/tools/build-delete-file.js.map +1 -1
- package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-edit-file.js +20 -5
- package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
- package/dist/ai-service/agent/tools/build-finalize.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-finalize.js +30 -4
- package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
- package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +1 -1
- package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-multi-edit-file.js +14 -4
- package/dist/ai-service/agent/tools/build-multi-edit-file.js.map +1 -1
- package/dist/ai-service/agent/tools/build-read-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-read-file.js +23 -11
- package/dist/ai-service/agent/tools/build-read-file.js.map +1 -1
- package/dist/ai-service/agent/tools/debug-cache.js +1 -1
- package/dist/ai-service/agent/tools/debug-cache.js.map +1 -1
- package/dist/ai-service/agent/tools/get-logs.d.ts +72 -0
- package/dist/ai-service/agent/tools/get-logs.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/get-logs.js +343 -0
- package/dist/ai-service/agent/tools/get-logs.js.map +1 -0
- package/dist/ai-service/agent/tools/index.d.ts +1 -1
- package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/index.js +1 -1
- package/dist/ai-service/agent/tools/index.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/errors.d.ts +9 -0
- package/dist/ai-service/agent/tools/integrations/errors.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/integrations/errors.js +35 -0
- package/dist/ai-service/agent/tools/integrations/errors.js.map +1 -0
- package/dist/ai-service/agent/tools/integrations/execute-request.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.js +20 -5
- package/dist/ai-service/agent/tools/integrations/execute-request.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/internal.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/internal.js +12 -3
- package/dist/ai-service/agent/tools/integrations/internal.js.map +1 -1
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +19 -28
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/registry.js +37 -15
- package/dist/ai-service/agent/tools2/registry.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/bash.d.ts +1 -1
- package/dist/ai-service/agent/tools2/tools/edit.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/edit.js +9 -4
- package/dist/ai-service/agent/tools2/tools/edit.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep.js +73 -7
- package/dist/ai-service/agent/tools2/tools/grep.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/read.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/read.js +9 -4
- package/dist/ai-service/agent/tools2/tools/read.js.map +1 -1
- package/dist/ai-service/agent/tools2/types.d.ts +40 -8
- package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/types.js +41 -3
- package/dist/ai-service/agent/tools2/types.js.map +1 -1
- package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts +0 -1
- package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts.map +1 -1
- package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js +60 -54
- package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js.map +1 -1
- package/dist/ai-service/chat/chat-session-store.d.ts +6 -0
- package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store.js +44 -0
- package/dist/ai-service/chat/chat-session-store.js.map +1 -1
- package/dist/ai-service/facts/helpers.d.ts +9 -0
- package/dist/ai-service/facts/helpers.d.ts.map +1 -0
- package/dist/ai-service/facts/helpers.js +72 -0
- package/dist/ai-service/facts/helpers.js.map +1 -0
- package/dist/ai-service/facts/index.d.ts +4 -0
- package/dist/ai-service/facts/index.d.ts.map +1 -0
- package/dist/ai-service/facts/index.js +3 -0
- package/dist/ai-service/facts/index.js.map +1 -0
- package/dist/ai-service/facts/knowledge-manager.d.ts +50 -0
- package/dist/ai-service/facts/knowledge-manager.d.ts.map +1 -0
- package/dist/ai-service/facts/knowledge-manager.js +195 -0
- package/dist/ai-service/facts/knowledge-manager.js.map +1 -0
- package/dist/ai-service/features.d.ts +8 -0
- package/dist/ai-service/features.d.ts.map +1 -1
- package/dist/ai-service/features.js +8 -0
- package/dist/ai-service/features.js.map +1 -1
- package/dist/ai-service/index.d.ts +34 -2
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +112 -18
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/integrations/metadata-storage/local.d.ts.map +1 -1
- package/dist/ai-service/integrations/metadata-storage/local.js +4 -2
- package/dist/ai-service/integrations/metadata-storage/local.js.map +1 -1
- package/dist/ai-service/integrations/store.d.ts +6 -3
- package/dist/ai-service/integrations/store.d.ts.map +1 -1
- package/dist/ai-service/integrations/store.js +96 -6
- package/dist/ai-service/integrations/store.js.map +1 -1
- package/dist/ai-service/judge/judge-executor.js +1 -1
- package/dist/ai-service/judge/judge-executor.js.map +1 -1
- package/dist/ai-service/judge/tools/playwright-action.d.ts +1 -1
- package/dist/ai-service/llm/client.d.ts.map +1 -1
- package/dist/ai-service/llm/client.js +26 -13
- package/dist/ai-service/llm/client.js.map +1 -1
- package/dist/ai-service/llm/context-v2/adapter.d.ts +2 -0
- package/dist/ai-service/llm/context-v2/adapter.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/adapter.js +6 -0
- package/dist/ai-service/llm/context-v2/adapter.js.map +1 -1
- package/dist/ai-service/llm/context-v2/context.d.ts +17 -0
- package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/context.js +54 -1
- package/dist/ai-service/llm/context-v2/context.js.map +1 -1
- package/dist/ai-service/llm/context-v2/conversation-context.d.ts +11 -1
- package/dist/ai-service/llm/context-v2/conversation-context.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.d.ts +1 -1
- package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.js +42 -6
- package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.js.map +1 -1
- package/dist/ai-service/llm/context-v2/types.d.ts +4 -0
- package/dist/ai-service/llm/context-v2/types.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/types.js.map +1 -1
- package/dist/ai-service/llm/error.js +1 -1
- package/dist/ai-service/llm/error.js.map +1 -1
- package/dist/ai-service/llm/interaction/adapters/vercel.js +5 -5
- package/dist/ai-service/llm/stream/config.d.ts +1 -1
- package/dist/ai-service/llm/stream/config.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/config.js.map +1 -1
- package/dist/ai-service/llm/stream/observers/llmobs.js +1 -1
- package/dist/ai-service/llm/stream/observers/llmobs.js.map +1 -1
- package/dist/ai-service/llm/stream/observers/logging.d.ts +20 -0
- package/dist/ai-service/llm/stream/observers/logging.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/observers/logging.js +115 -18
- package/dist/ai-service/llm/stream/observers/logging.js.map +1 -1
- package/dist/ai-service/llm/stream/observers/retry-notification.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/observers/retry-notification.js +2 -1
- package/dist/ai-service/llm/stream/observers/retry-notification.js.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.js +4 -4
- package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
- package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/retry-engine.js +1 -1
- package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
- package/dist/ai-service/llmobs/otel-exporter.d.ts +111 -14
- package/dist/ai-service/llmobs/otel-exporter.d.ts.map +1 -1
- package/dist/ai-service/llmobs/otel-exporter.js +441 -66
- package/dist/ai-service/llmobs/otel-exporter.js.map +1 -1
- package/dist/ai-service/llmobs/tracer.d.ts.map +1 -1
- package/dist/ai-service/llmobs/tracer.js +40 -4
- package/dist/ai-service/llmobs/tracer.js.map +1 -1
- package/dist/ai-service/mcp/playwright-server.d.ts.map +1 -1
- package/dist/ai-service/mcp/playwright-server.js +11 -2
- package/dist/ai-service/mcp/playwright-server.js.map +1 -1
- package/dist/ai-service/recording/index.d.ts +25 -0
- package/dist/ai-service/recording/index.d.ts.map +1 -0
- package/dist/ai-service/recording/index.js +27 -0
- package/dist/ai-service/recording/index.js.map +1 -0
- package/dist/ai-service/recording/recorders/llm-recorder.d.ts +35 -0
- package/dist/ai-service/recording/recorders/llm-recorder.d.ts.map +1 -0
- package/dist/ai-service/recording/recorders/llm-recorder.js +221 -0
- package/dist/ai-service/recording/recorders/llm-recorder.js.map +1 -0
- package/dist/ai-service/recording/recorders/socket-recorder.d.ts +38 -0
- package/dist/ai-service/recording/recorders/socket-recorder.d.ts.map +1 -0
- package/dist/ai-service/recording/recorders/socket-recorder.js +44 -0
- package/dist/ai-service/recording/recorders/socket-recorder.js.map +1 -0
- package/dist/ai-service/recording/recorders/tool-recorder.d.ts +25 -0
- package/dist/ai-service/recording/recorders/tool-recorder.d.ts.map +1 -0
- package/dist/ai-service/recording/recorders/tool-recorder.js +58 -0
- package/dist/ai-service/recording/recorders/tool-recorder.js.map +1 -0
- package/dist/ai-service/recording/recording-manager.d.ts +104 -0
- package/dist/ai-service/recording/recording-manager.d.ts.map +1 -0
- package/dist/ai-service/recording/recording-manager.js +308 -0
- package/dist/ai-service/recording/recording-manager.js.map +1 -0
- package/dist/ai-service/recording/storage/session-recording-storage.d.ts +143 -0
- package/dist/ai-service/recording/storage/session-recording-storage.d.ts.map +1 -0
- package/dist/ai-service/recording/storage/session-recording-storage.js +374 -0
- package/dist/ai-service/recording/storage/session-recording-storage.js.map +1 -0
- package/dist/ai-service/recording/types.d.ts +148 -0
- package/dist/ai-service/recording/types.d.ts.map +1 -0
- package/dist/ai-service/recording/types.js +8 -0
- package/dist/ai-service/recording/types.js.map +1 -0
- package/dist/ai-service/security/safety-classifier.d.ts.map +1 -1
- package/dist/ai-service/security/safety-classifier.js +9 -3
- package/dist/ai-service/security/safety-classifier.js.map +1 -1
- package/dist/ai-service/skills/index.d.ts +23 -11
- package/dist/ai-service/skills/index.d.ts.map +1 -1
- package/dist/ai-service/skills/index.js +86 -21
- package/dist/ai-service/skills/index.js.map +1 -1
- package/dist/ai-service/skills/system/_registry.generated.d.ts +6 -0
- package/dist/ai-service/skills/system/_registry.generated.d.ts.map +1 -0
- package/dist/ai-service/skills/system/_registry.generated.js +24 -0
- package/dist/ai-service/skills/system/_registry.generated.js.map +1 -0
- package/dist/ai-service/skills/system/superblocks-api/references/code-blocks.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-api/references/code-blocks.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/superblocks-api/references/code-blocks.generated.js +56 -0
- package/dist/ai-service/skills/system/superblocks-api/references/code-blocks.generated.js.map +1 -1
- package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.js +143 -11
- package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.js.map +1 -1
- package/dist/ai-service/skills/system/superblocks-api/skill.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-api/skill.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/superblocks-api/skill.generated.js +130 -3
- package/dist/ai-service/skills/system/superblocks-api/skill.generated.js.map +1 -1
- package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.d.ts +2 -0
- package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.d.ts.map +1 -0
- package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.js +155 -0
- package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.js.map +1 -0
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +97 -17
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js.map +1 -1
- package/dist/ai-service/skills/types.d.ts +24 -0
- package/dist/ai-service/skills/types.d.ts.map +1 -1
- package/dist/ai-service/skills/types.js +45 -0
- package/dist/ai-service/skills/types.js.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts +33 -2
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js +6 -1
- package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.js +24 -21
- package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.js +120 -5
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
- package/dist/ai-service/state-machine/mocks.js +23 -0
- package/dist/ai-service/state-machine/mocks.js.map +1 -1
- package/dist/ai-service/state-machine/traced-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/traced-fsm.js +1 -1
- package/dist/ai-service/state-machine/traced-fsm.js.map +1 -1
- package/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +52 -22
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/ids.d.ts +1 -0
- package/dist/ids.d.ts.map +1 -1
- package/dist/ids.js +3 -0
- package/dist/ids.js.map +1 -1
- package/dist/refactor/entities.d.ts.map +1 -1
- package/dist/refactor/entities.js +0 -1
- package/dist/refactor/entities.js.map +1 -1
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +21 -3
- package/dist/socket-manager.js.map +1 -1
- package/dist/sync-service/index.d.ts +4 -0
- package/dist/sync-service/index.d.ts.map +1 -1
- package/dist/sync-service/index.js +6 -0
- package/dist/sync-service/index.js.map +1 -1
- package/dist/util/log-sanitizer.d.ts +42 -0
- package/dist/util/log-sanitizer.d.ts.map +1 -0
- package/dist/util/log-sanitizer.js +177 -0
- package/dist/util/log-sanitizer.js.map +1 -0
- package/dist/util/logger.d.ts +4 -0
- package/dist/util/logger.d.ts.map +1 -1
- package/dist/util/logger.js +77 -19
- package/dist/util/logger.js.map +1 -1
- package/package.json +17 -14
- package/dist/ai-service/agent/tools/get-console-logs.d.ts +0 -29
- package/dist/ai-service/agent/tools/get-console-logs.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/get-console-logs.js +0 -171
- package/dist/ai-service/agent/tools/get-console-logs.js.map +0 -1
- package/dist/ai-service/test-utils/anthropic-service-mock.d.ts +0 -2
- package/dist/ai-service/test-utils/anthropic-service-mock.d.ts.map +0 -1
- package/dist/ai-service/test-utils/anthropic-service-mock.js +0 -91
- package/dist/ai-service/test-utils/anthropic-service-mock.js.map +0 -1
- package/dist/ai-service/test-utils/app-generation-mocks/orders-app.d.ts +0 -3
- package/dist/ai-service/test-utils/app-generation-mocks/orders-app.d.ts.map +0 -1
- package/dist/ai-service/test-utils/app-generation-mocks/orders-app.js +0 -886
- package/dist/ai-service/test-utils/app-generation-mocks/orders-app.js.map +0 -1
- package/dist/ai-service/test-utils/app-generation-mocks/reprompt.d.ts +0 -3
- package/dist/ai-service/test-utils/app-generation-mocks/reprompt.d.ts.map +0 -1
- package/dist/ai-service/test-utils/app-generation-mocks/reprompt.js +0 -70
- package/dist/ai-service/test-utils/app-generation-mocks/reprompt.js.map +0 -1
- package/dist/ai-service/test-utils/app-generation-mocks/smoketest.d.ts +0 -3
- package/dist/ai-service/test-utils/app-generation-mocks/smoketest.d.ts.map +0 -1
- package/dist/ai-service/test-utils/app-generation-mocks/smoketest.js +0 -109
- package/dist/ai-service/test-utils/app-generation-mocks/smoketest.js.map +0 -1
- package/dist/ai-service/test-utils/mock-utils.d.ts +0 -12
- package/dist/ai-service/test-utils/mock-utils.d.ts.map +0 -1
- package/dist/ai-service/test-utils/mock-utils.js +0 -70
- package/dist/ai-service/test-utils/mock-utils.js.map +0 -1
- package/dist/ai-service/util/safe-stringify.d.ts +0 -2
- package/dist/ai-service/util/safe-stringify.d.ts.map +0 -1
- package/dist/ai-service/util/safe-stringify.js +0 -75
- package/dist/ai-service/util/safe-stringify.js.map +0 -1
|
@@ -5,14 +5,49 @@
|
|
|
5
5
|
* for export via OTEL collector. Used in CLOUD_PREM deployments where direct
|
|
6
6
|
* Datadog API access is not available.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
8
|
+
* TIERED TELEMETRY ARCHITECTURE (v0.3.0):
|
|
9
|
+
*
|
|
10
|
+
* This exporter emits FULL-FIDELITY spans to the OTEL Collector with the
|
|
11
|
+
* `include_tier3` tier policy hint. The Collector is responsible for tier separation:
|
|
12
|
+
*
|
|
13
|
+
* - Tier 1: Full data (prompts, user-email, org-id) → Customer's local observability
|
|
14
|
+
* - Tier 2: Sanitized data (hashed IDs, no content) → Superblocks-managed observability
|
|
15
|
+
* - Tier 3: AI content with identity stripped → AI quality analysis
|
|
16
|
+
*
|
|
17
|
+
* The SDK's job is to:
|
|
18
|
+
* 1. Convert LLMObs spans to OTEL format
|
|
19
|
+
* 2. Emit ALL data (including content and identity)
|
|
20
|
+
* 3. Use gen_ai.* semantic conventions ONLY (no legacy llm.* prefixes)
|
|
21
|
+
* 4. Set `superblocks.tier_hint: "include_tier3"` for AI quality analysis
|
|
22
|
+
*
|
|
23
|
+
* The Collector's job is to:
|
|
24
|
+
* 1. Hash identity attributes (user-email → user.hash) for Tier 2
|
|
25
|
+
* 2. Strip forbidden attributes (llmobs.input, llmobs.output) for Tier 2
|
|
26
|
+
* 3. Strip identity (no hashing) for Tier 3, but preserve content
|
|
27
|
+
* 4. Route to appropriate tier pipelines based on tier_hint
|
|
28
|
+
*
|
|
29
|
+
* Contract: tier2-traces.v0.3.0.json
|
|
30
|
+
* See also: sdk-tier-policy-hints.md
|
|
12
31
|
*/
|
|
13
32
|
import { SpanKind, trace } from "@opentelemetry/api";
|
|
14
33
|
import { getLogger } from "../../util/logger.js";
|
|
15
|
-
|
|
34
|
+
/**
|
|
35
|
+
* Tier policy hint attribute key.
|
|
36
|
+
* Must match TIER_HINT_ATTRIBUTE from @superblocksteam/telemetry.
|
|
37
|
+
*/
|
|
38
|
+
const TIER_HINT_ATTRIBUTE = "superblocks.tier_hint";
|
|
39
|
+
/**
|
|
40
|
+
* Tier policy hint for AI quality analysis.
|
|
41
|
+
* All LLMObs spans get this hint so they're routed to Tier 3.
|
|
42
|
+
* Must match TierPolicyHint.INCLUDE_TIER3 from @superblocksteam/telemetry.
|
|
43
|
+
*/
|
|
44
|
+
const TIER_HINT_INCLUDE_TIER3 = "include_tier3";
|
|
45
|
+
/**
|
|
46
|
+
* Maximum length for llmobs.input / llmobs.output span attributes.
|
|
47
|
+
* Very large LLM responses (100K+ tokens) can create spans that are
|
|
48
|
+
* rejected by the OTEL Collector or cause memory pressure.
|
|
49
|
+
*/
|
|
50
|
+
const MAX_ATTRIBUTE_LENGTH = 64_000;
|
|
16
51
|
/**
|
|
17
52
|
* Lazily loaded LLMObsSpanWriter from dd-trace internals.
|
|
18
53
|
* Must be loaded after dd-trace is initialized to avoid accessing
|
|
@@ -27,19 +62,64 @@ async function loadLLMObsSpanWriter() {
|
|
|
27
62
|
return LLMObsSpanWriter;
|
|
28
63
|
}
|
|
29
64
|
/**
|
|
30
|
-
*
|
|
31
|
-
|
|
65
|
+
* GenAI system (provider) values per OTEL canonical naming.
|
|
66
|
+
*/
|
|
67
|
+
const GENAI_SYSTEM_MAPPING = {
|
|
68
|
+
openai: "openai",
|
|
69
|
+
anthropic: "anthropic",
|
|
70
|
+
claude: "anthropic",
|
|
71
|
+
azure: "azure.ai.openai",
|
|
72
|
+
azure_openai: "azure.ai.openai",
|
|
73
|
+
bedrock: "aws.bedrock",
|
|
74
|
+
aws_bedrock: "aws.bedrock",
|
|
75
|
+
google: "gcp.gemini",
|
|
76
|
+
gemini: "gcp.gemini",
|
|
77
|
+
vertex: "gcp.vertex_ai",
|
|
78
|
+
cohere: "cohere",
|
|
79
|
+
mistral: "mistral_ai",
|
|
80
|
+
deepseek: "deepseek",
|
|
81
|
+
groq: "groq",
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Valid error categories per tier2-traces.v0.3.0.json contract.
|
|
32
85
|
*/
|
|
33
|
-
const
|
|
86
|
+
const VALID_ERROR_CATEGORIES = new Set([
|
|
87
|
+
"none",
|
|
88
|
+
"rate_limit",
|
|
89
|
+
"context_length",
|
|
90
|
+
"content_filter",
|
|
91
|
+
"quota",
|
|
92
|
+
"network",
|
|
93
|
+
"timeout",
|
|
94
|
+
"auth_error",
|
|
95
|
+
"api_error",
|
|
96
|
+
"validation_error",
|
|
97
|
+
"aborted",
|
|
98
|
+
"unknown",
|
|
99
|
+
]);
|
|
100
|
+
/**
|
|
101
|
+
* Valid finish reasons per tier2-traces.v0.3.0.json contract.
|
|
102
|
+
*/
|
|
103
|
+
const VALID_FINISH_REASONS = new Set([
|
|
104
|
+
"stop",
|
|
105
|
+
"length",
|
|
106
|
+
"content_filter",
|
|
107
|
+
"tool_calls",
|
|
108
|
+
"error",
|
|
109
|
+
]);
|
|
34
110
|
/**
|
|
35
111
|
* Converts LLMObs spans to OTEL spans for CLOUD_PREM deployments.
|
|
36
112
|
*
|
|
113
|
+
* This exporter emits FULL-FIDELITY spans. The OTEL Collector handles
|
|
114
|
+
* tier separation (hashing, stripping, routing).
|
|
115
|
+
*
|
|
37
116
|
* When initialized, patches LLMObsSpanWriter.flush to:
|
|
38
117
|
* 1. Intercept all buffered span events
|
|
39
|
-
* 2. Convert each to
|
|
40
|
-
* 3.
|
|
118
|
+
* 2. Convert each to a FULL OTEL span with gen_ai.* attributes
|
|
119
|
+
* 3. Include identity and content (Collector will sanitize for Tier 2)
|
|
120
|
+
* 4. Drop original spans (prevent Datadog LLMObs API submission)
|
|
41
121
|
*/
|
|
42
|
-
class LLMObsOtelExporter {
|
|
122
|
+
export class LLMObsOtelExporter {
|
|
43
123
|
originalFlush = null;
|
|
44
124
|
/**
|
|
45
125
|
* Get the OTEL tracer lazily to ensure it's fetched after NodeSDK is started.
|
|
@@ -64,91 +144,383 @@ class LLMObsOtelExporter {
|
|
|
64
144
|
const self = this;
|
|
65
145
|
SpanWriter.prototype.flush = function () {
|
|
66
146
|
if (this._buffer.length > 0) {
|
|
67
|
-
getLogger().debug(`LLMObsOtelExporter: Converting ${this._buffer.length} spans to OTEL`);
|
|
147
|
+
getLogger().debug(`LLMObsOtelExporter: Converting ${this._buffer.length} spans to OTEL (gen_ai.*)`);
|
|
68
148
|
for (const spanEvent of this._buffer) {
|
|
69
|
-
|
|
149
|
+
try {
|
|
150
|
+
self.emitFullFidelitySpan(spanEvent);
|
|
151
|
+
}
|
|
152
|
+
catch (err) {
|
|
153
|
+
getLogger().error(`LLMObsOtelExporter: Failed to convert span: ${err instanceof Error ? err.message : String(err)}`);
|
|
154
|
+
}
|
|
70
155
|
}
|
|
71
156
|
}
|
|
72
157
|
// Clear buffer - don't send to Datadog
|
|
73
158
|
this._buffer = [];
|
|
74
159
|
this._bufferSize = 0;
|
|
75
|
-
getLogger().debug("LLMObsOtelExporter: Spans converted to OTEL, dropped from Datadog export");
|
|
76
160
|
};
|
|
77
|
-
getLogger().info("LLMObsOtelExporter:
|
|
161
|
+
getLogger().info("LLMObsOtelExporter: Initialized for CLOUD_PREM mode (Collector handles tier separation)");
|
|
78
162
|
}
|
|
79
163
|
/**
|
|
80
|
-
*
|
|
164
|
+
* Emit a FULL-FIDELITY OTEL span from an LLMObs event.
|
|
165
|
+
*
|
|
166
|
+
* This method includes ALL data - the Collector is responsible for
|
|
167
|
+
* sanitizing and routing to the appropriate tier.
|
|
168
|
+
*
|
|
169
|
+
* Attributes emitted (gen_ai.* only, per v0.3.0 contract):
|
|
170
|
+
* - gen_ai.system (provider)
|
|
171
|
+
* - gen_ai.request.model
|
|
172
|
+
* - gen_ai.operation.name
|
|
173
|
+
* - gen_ai.usage.* (token counts)
|
|
174
|
+
* - gen_ai.request.status
|
|
175
|
+
* - gen_ai.client.duration_ms
|
|
176
|
+
* - gen_ai.error.category
|
|
177
|
+
* - gen_ai.response.finish_reasons
|
|
178
|
+
* - gen_ai.client.time_to_first_token
|
|
179
|
+
*
|
|
180
|
+
* Identity attributes (Collector will hash for Tier 2):
|
|
181
|
+
* - user-email
|
|
182
|
+
* - organization-id
|
|
183
|
+
* - application-id
|
|
184
|
+
* - session.id
|
|
81
185
|
*
|
|
82
|
-
*
|
|
83
|
-
* -
|
|
84
|
-
* -
|
|
85
|
-
* - Model info, input/output, metadata, and metrics preserved
|
|
186
|
+
* Content attributes (Collector will strip for Tier 2):
|
|
187
|
+
* - llmobs.input
|
|
188
|
+
* - llmobs.output
|
|
86
189
|
*/
|
|
87
|
-
|
|
190
|
+
emitFullFidelitySpan(event) {
|
|
88
191
|
const spanKind = event.meta["span.kind"] || "unknown";
|
|
89
192
|
const otelKind = spanKind === "llm" ? SpanKind.CLIENT : SpanKind.INTERNAL;
|
|
90
193
|
// Convert nanoseconds to milliseconds for OTEL
|
|
91
194
|
const startTimeMs = event.start_ns / 1e6;
|
|
92
195
|
const endTimeMs = startTimeMs + event.duration / 1e6;
|
|
196
|
+
const durationMs = event.duration / 1e6;
|
|
197
|
+
// Map LLMObs span kind to OTEL span name pattern
|
|
198
|
+
const spanName = this.mapToSpanName(event.name, spanKind);
|
|
199
|
+
// Build FULL-FIDELITY attributes using gen_ai.* ONLY
|
|
93
200
|
const attributes = {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
"
|
|
100
|
-
//
|
|
101
|
-
"
|
|
102
|
-
|
|
201
|
+
// === Tier policy hint (tells Collector to include in Tier 3) ===
|
|
202
|
+
[TIER_HINT_ATTRIBUTE]: TIER_HINT_INCLUDE_TIER3,
|
|
203
|
+
// === OTEL GenAI semantic conventions (required) ===
|
|
204
|
+
"gen_ai.system": this.normalizeSystem(event.meta.model_provider),
|
|
205
|
+
"gen_ai.request.model": event.meta.model_name,
|
|
206
|
+
"gen_ai.operation.name": this.extractOperationName(event),
|
|
207
|
+
// === Status ===
|
|
208
|
+
"gen_ai.request.status": event.status === "error" ? "error" : "success",
|
|
209
|
+
// === Timing ===
|
|
210
|
+
"gen_ai.client.duration_ms": Math.round(durationMs),
|
|
211
|
+
// === Token metrics (gen_ai.usage.*) ===
|
|
212
|
+
...this.extractTokenMetrics(event.metrics),
|
|
213
|
+
// === Identity from tags (Collector will hash for Tier 2) ===
|
|
214
|
+
...this.extractIdentityFromTags(event.tags),
|
|
215
|
+
// === Full content (Collector will strip for Tier 2, preserve for Tier 3) ===
|
|
216
|
+
"llmobs.input": event.meta.input
|
|
217
|
+
? this.truncateAttribute(this.safeStringify(event.meta.input))
|
|
218
|
+
: undefined,
|
|
219
|
+
"llmobs.output": event.meta.output
|
|
220
|
+
? this.truncateAttribute(this.safeStringify(event.meta.output))
|
|
221
|
+
: undefined,
|
|
103
222
|
};
|
|
104
|
-
//
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
: outputJson;
|
|
119
|
-
}
|
|
120
|
-
// Metadata as JSON
|
|
121
|
-
if (event.meta.metadata) {
|
|
122
|
-
attributes["llmobs.metadata"] = safeJsonStringify(event.meta.metadata);
|
|
223
|
+
// Error handling
|
|
224
|
+
if (event.status === "error") {
|
|
225
|
+
attributes["error"] = true;
|
|
226
|
+
attributes["gen_ai.error.category"] = this.extractErrorCategory(event);
|
|
227
|
+
}
|
|
228
|
+
// Finish reason
|
|
229
|
+
const finishReason = this.extractFinishReason(event);
|
|
230
|
+
if (finishReason) {
|
|
231
|
+
attributes["gen_ai.response.finish_reasons"] = finishReason;
|
|
232
|
+
}
|
|
233
|
+
// Time to first token
|
|
234
|
+
const timeToFirstToken = this.extractTimeToFirstToken(event);
|
|
235
|
+
if (timeToFirstToken !== undefined) {
|
|
236
|
+
attributes["gen_ai.client.time_to_first_token"] = timeToFirstToken;
|
|
123
237
|
}
|
|
124
238
|
// Create the OTEL span
|
|
125
|
-
const otelSpan = this.otelTracer.startSpan(
|
|
239
|
+
const otelSpan = this.otelTracer.startSpan(spanName, {
|
|
126
240
|
kind: otelKind,
|
|
127
241
|
startTime: startTimeMs,
|
|
128
242
|
attributes: this.filterUndefined(attributes),
|
|
129
243
|
});
|
|
130
|
-
//
|
|
131
|
-
if (event.
|
|
132
|
-
|
|
133
|
-
|
|
244
|
+
// Set OTEL status for errors
|
|
245
|
+
if (event.status === "error") {
|
|
246
|
+
otelSpan.setStatus({
|
|
247
|
+
code: 2, // SpanStatusCode.ERROR
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
// End span with correct end time
|
|
251
|
+
otelSpan.end(endTimeMs);
|
|
252
|
+
getLogger().debug(`LLMObsOtelExporter: Emitted span ${spanName} (${spanKind})`);
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Map LLMObs span name to contract-defined span pattern.
|
|
256
|
+
* Uses gen_ai.* naming per v0.3.0 contract.
|
|
257
|
+
*/
|
|
258
|
+
mapToSpanName(originalName, spanKind) {
|
|
259
|
+
// Map to contract-defined span names (gen_ai.* per v0.3.0)
|
|
260
|
+
if (spanKind === "llm") {
|
|
261
|
+
return "gen_ai.request";
|
|
262
|
+
}
|
|
263
|
+
if (spanKind === "tool") {
|
|
264
|
+
return "gen_ai.tool_call";
|
|
265
|
+
}
|
|
266
|
+
// Map ai.streamText before the generic workflow/task handler,
|
|
267
|
+
// since these spans may have spanKind "task" and would otherwise
|
|
268
|
+
// be caught by the block below.
|
|
269
|
+
if (originalName === "ai.streamText") {
|
|
270
|
+
return "gen_ai.stream";
|
|
271
|
+
}
|
|
272
|
+
if (originalName === "ai.streamText.step") {
|
|
273
|
+
return "gen_ai.stream.step";
|
|
274
|
+
}
|
|
275
|
+
if (spanKind === "workflow" || spanKind === "task") {
|
|
276
|
+
// Clark session spans
|
|
277
|
+
if (originalName.includes("clark") || originalName.includes("Clark")) {
|
|
278
|
+
return "clark.session";
|
|
134
279
|
}
|
|
280
|
+
return originalName.startsWith("ai.")
|
|
281
|
+
? originalName
|
|
282
|
+
: `ai.${originalName}`;
|
|
135
283
|
}
|
|
136
|
-
|
|
137
|
-
|
|
284
|
+
return originalName;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Extract token metrics with gen_ai.usage.* naming.
|
|
288
|
+
*/
|
|
289
|
+
extractTokenMetrics(metrics) {
|
|
290
|
+
if (!metrics)
|
|
291
|
+
return {};
|
|
292
|
+
const result = {};
|
|
293
|
+
// Input tokens
|
|
294
|
+
const inputTokens = metrics.input_tokens ??
|
|
295
|
+
metrics.inputTokens ??
|
|
296
|
+
metrics.prompt_tokens ??
|
|
297
|
+
metrics.promptTokens;
|
|
298
|
+
if (inputTokens !== undefined) {
|
|
299
|
+
result["gen_ai.usage.input_tokens"] = inputTokens;
|
|
300
|
+
}
|
|
301
|
+
// Output tokens
|
|
302
|
+
const outputTokens = metrics.output_tokens ??
|
|
303
|
+
metrics.outputTokens ??
|
|
304
|
+
metrics.completion_tokens ??
|
|
305
|
+
metrics.completionTokens;
|
|
306
|
+
if (outputTokens !== undefined) {
|
|
307
|
+
result["gen_ai.usage.output_tokens"] = outputTokens;
|
|
308
|
+
}
|
|
309
|
+
// Total tokens
|
|
310
|
+
const totalTokens = metrics.total_tokens ??
|
|
311
|
+
metrics.totalTokens ??
|
|
312
|
+
(inputTokens !== undefined && outputTokens !== undefined
|
|
313
|
+
? inputTokens + outputTokens
|
|
314
|
+
: undefined);
|
|
315
|
+
if (totalTokens !== undefined) {
|
|
316
|
+
result["gen_ai.usage.total_tokens"] = totalTokens;
|
|
317
|
+
}
|
|
318
|
+
// Reasoning tokens (o1-style models)
|
|
319
|
+
const reasoningTokens = metrics.reasoning_tokens ?? metrics.reasoningTokens;
|
|
320
|
+
if (reasoningTokens !== undefined) {
|
|
321
|
+
result["gen_ai.usage.reasoning_tokens"] = reasoningTokens;
|
|
322
|
+
}
|
|
323
|
+
// Cached tokens
|
|
324
|
+
const cachedTokens = metrics.cached_tokens ??
|
|
325
|
+
metrics.cachedTokens ??
|
|
326
|
+
metrics.cache_read_tokens ??
|
|
327
|
+
metrics.cacheReadTokens;
|
|
328
|
+
if (cachedTokens !== undefined) {
|
|
329
|
+
result["gen_ai.usage.cached_tokens"] = cachedTokens;
|
|
330
|
+
}
|
|
331
|
+
return result;
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* Extract identity attributes from tags.
|
|
335
|
+
* These will be hashed by the Collector for Tier 2.
|
|
336
|
+
*/
|
|
337
|
+
extractIdentityFromTags(tags) {
|
|
338
|
+
const result = {};
|
|
339
|
+
for (const tag of tags) {
|
|
138
340
|
const colonIndex = tag.indexOf(":");
|
|
139
|
-
if (colonIndex
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
341
|
+
if (colonIndex === -1)
|
|
342
|
+
continue;
|
|
343
|
+
const key = tag.slice(0, colonIndex);
|
|
344
|
+
const value = tag.slice(colonIndex + 1);
|
|
345
|
+
// Map known identity tags
|
|
346
|
+
switch (key) {
|
|
347
|
+
case "user_email":
|
|
348
|
+
case "userEmail":
|
|
349
|
+
case "user.email":
|
|
350
|
+
result["user-email"] = value;
|
|
351
|
+
break;
|
|
352
|
+
case "org_id":
|
|
353
|
+
case "orgId":
|
|
354
|
+
case "org.id":
|
|
355
|
+
case "organization_id":
|
|
356
|
+
case "organizationId":
|
|
357
|
+
result["organization-id"] = value;
|
|
358
|
+
break;
|
|
359
|
+
case "app_id":
|
|
360
|
+
case "appId":
|
|
361
|
+
case "app.id":
|
|
362
|
+
case "application_id":
|
|
363
|
+
case "applicationId":
|
|
364
|
+
result["application-id"] = value;
|
|
365
|
+
break;
|
|
366
|
+
case "session_id":
|
|
367
|
+
case "sessionId":
|
|
368
|
+
result["session.id"] = value;
|
|
369
|
+
break;
|
|
370
|
+
default:
|
|
371
|
+
// Only pass through explicitly known identity-related tags
|
|
372
|
+
break;
|
|
143
373
|
}
|
|
144
374
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
375
|
+
return result;
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* Normalize provider to OTEL gen_ai.system canonical names.
|
|
379
|
+
*/
|
|
380
|
+
normalizeSystem(provider) {
|
|
381
|
+
if (!provider)
|
|
382
|
+
return undefined;
|
|
383
|
+
const trimmed = provider.trim();
|
|
384
|
+
if (!trimmed)
|
|
385
|
+
return undefined;
|
|
386
|
+
const normalized = trimmed.toLowerCase().replace(/[-_\s]/g, "_");
|
|
387
|
+
return GENAI_SYSTEM_MAPPING[normalized] || trimmed.toLowerCase();
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* Extract operation name from event.
|
|
391
|
+
* Maps span kind to OTEL gen_ai.operation.name values.
|
|
392
|
+
*/
|
|
393
|
+
extractOperationName(event) {
|
|
394
|
+
const spanKind = event.meta["span.kind"] || "";
|
|
395
|
+
const name = event.name.toLowerCase();
|
|
396
|
+
// Map span kind
|
|
397
|
+
if (spanKind === "tool")
|
|
398
|
+
return "execute_tool";
|
|
399
|
+
if (spanKind === "workflow" || spanKind === "agent")
|
|
400
|
+
return "invoke_agent";
|
|
401
|
+
if (spanKind === "embedding")
|
|
402
|
+
return "embeddings";
|
|
403
|
+
// Infer from span name
|
|
404
|
+
if (name.includes("embed"))
|
|
405
|
+
return "embeddings";
|
|
406
|
+
if (name.includes("agent") || name.includes("clark"))
|
|
407
|
+
return "invoke_agent";
|
|
408
|
+
if (name.includes("tool"))
|
|
409
|
+
return "execute_tool";
|
|
410
|
+
if (name.includes("complete") && !name.includes("chat"))
|
|
411
|
+
return "text_completion";
|
|
412
|
+
// Default to chat
|
|
413
|
+
return "chat";
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Extract error category from event metadata.
|
|
417
|
+
*/
|
|
418
|
+
extractErrorCategory(event) {
|
|
419
|
+
// Check metadata for explicit error category
|
|
420
|
+
const metadata = event.meta.metadata;
|
|
421
|
+
if (metadata) {
|
|
422
|
+
const category = metadata.errorCategory;
|
|
423
|
+
if (category && this.isValidErrorCategory(category)) {
|
|
424
|
+
return category;
|
|
425
|
+
}
|
|
148
426
|
}
|
|
149
|
-
//
|
|
150
|
-
|
|
151
|
-
|
|
427
|
+
// Check tags for error category
|
|
428
|
+
for (const tag of event.tags) {
|
|
429
|
+
if (tag.startsWith("errorCategory:")) {
|
|
430
|
+
const category = tag.slice("errorCategory:".length);
|
|
431
|
+
if (this.isValidErrorCategory(category)) {
|
|
432
|
+
return category;
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
if (tag === "wasAborted:true") {
|
|
436
|
+
return "aborted";
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
return "unknown";
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* Extract finish reason from event.
|
|
443
|
+
*/
|
|
444
|
+
extractFinishReason(event) {
|
|
445
|
+
const metadata = event.meta.metadata;
|
|
446
|
+
if (metadata) {
|
|
447
|
+
const reason = metadata.finishReason;
|
|
448
|
+
if (reason && this.isValidFinishReason(reason)) {
|
|
449
|
+
return reason;
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
// Check tags
|
|
453
|
+
for (const tag of event.tags) {
|
|
454
|
+
if (tag.startsWith("finishReason:")) {
|
|
455
|
+
const reason = tag.slice("finishReason:".length);
|
|
456
|
+
if (this.isValidFinishReason(reason)) {
|
|
457
|
+
return reason;
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
return undefined;
|
|
462
|
+
}
|
|
463
|
+
/**
|
|
464
|
+
* Extract time to first token from event metadata.
|
|
465
|
+
* Returns value in seconds (OTEL convention).
|
|
466
|
+
*/
|
|
467
|
+
extractTimeToFirstToken(event) {
|
|
468
|
+
const metadata = event.meta.metadata;
|
|
469
|
+
if (!metadata)
|
|
470
|
+
return undefined;
|
|
471
|
+
// Check for timeToFirstToken (in seconds, from Datadog LLMObs)
|
|
472
|
+
const ttftSeconds = metadata.timeToFirstToken;
|
|
473
|
+
if (typeof ttftSeconds === "number" && ttftSeconds > 0) {
|
|
474
|
+
return ttftSeconds;
|
|
475
|
+
}
|
|
476
|
+
// Check for timeToFirstTokenMs (in milliseconds)
|
|
477
|
+
const ttftMs = metadata.timeToFirstTokenMs;
|
|
478
|
+
if (typeof ttftMs === "number" && ttftMs > 0) {
|
|
479
|
+
return ttftMs / 1000;
|
|
480
|
+
}
|
|
481
|
+
// Check metrics for timeToFirstToken
|
|
482
|
+
if (event.metrics) {
|
|
483
|
+
const metricsttft = event.metrics.timeToFirstToken;
|
|
484
|
+
if (typeof metricsttft === "number" && metricsttft > 0) {
|
|
485
|
+
return metricsttft;
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
return undefined;
|
|
489
|
+
}
|
|
490
|
+
/**
|
|
491
|
+
* Safely stringify a value for span attributes.
|
|
492
|
+
*/
|
|
493
|
+
safeStringify(value) {
|
|
494
|
+
if (typeof value === "string")
|
|
495
|
+
return value;
|
|
496
|
+
try {
|
|
497
|
+
return JSON.stringify(value);
|
|
498
|
+
}
|
|
499
|
+
catch {
|
|
500
|
+
return String(value);
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
/**
|
|
504
|
+
* Truncate an attribute value to MAX_ATTRIBUTE_LENGTH.
|
|
505
|
+
* Prevents OTEL Collector rejection and memory pressure from very large values.
|
|
506
|
+
*/
|
|
507
|
+
truncateAttribute(value) {
|
|
508
|
+
if (value.length <= MAX_ATTRIBUTE_LENGTH)
|
|
509
|
+
return value;
|
|
510
|
+
return (value.slice(0, MAX_ATTRIBUTE_LENGTH) +
|
|
511
|
+
`... [truncated ${value.length - MAX_ATTRIBUTE_LENGTH} chars]`);
|
|
512
|
+
}
|
|
513
|
+
/**
|
|
514
|
+
* Validate error category is in the allowed enum.
|
|
515
|
+
*/
|
|
516
|
+
isValidErrorCategory(category) {
|
|
517
|
+
return VALID_ERROR_CATEGORIES.has(category);
|
|
518
|
+
}
|
|
519
|
+
/**
|
|
520
|
+
* Validate finish reason is in the allowed enum.
|
|
521
|
+
*/
|
|
522
|
+
isValidFinishReason(reason) {
|
|
523
|
+
return VALID_FINISH_REASONS.has(reason);
|
|
152
524
|
}
|
|
153
525
|
/**
|
|
154
526
|
* Filter out undefined values from attributes object.
|
|
@@ -177,6 +549,9 @@ class LLMObsOtelExporter {
|
|
|
177
549
|
/**
|
|
178
550
|
* Singleton instance of the LLMObs-to-OTEL exporter.
|
|
179
551
|
* Call llmobsOtelExporter.init() in CLOUD_PREM mode to enable.
|
|
552
|
+
*
|
|
553
|
+
* NOTE: This exporter emits FULL-FIDELITY spans.
|
|
554
|
+
* The OTEL Collector handles tier separation (hashing, stripping, routing).
|
|
180
555
|
*/
|
|
181
556
|
export const llmobsOtelExporter = new LLMObsOtelExporter();
|
|
182
557
|
//# sourceMappingURL=otel-exporter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otel-exporter.js","sourceRoot":"","sources":["../../../src/ai-service/llmobs/otel-exporter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"otel-exporter.js","sourceRoot":"","sources":["../../../src/ai-service/llmobs/otel-exporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../../src/ai-service/llmobs/tracer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../../src/ai-service/llmobs/tracer.ts"],"names":[],"mappings":"AA0CA,OAAO,KAAK,EACV,kBAAkB,EAElB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,EAChB,UAAU,EAEX,MAAM,YAAY,CAAC;AAkCpB;;;;;GAKG;AAEH,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,YAAY,CAAqD;IACzE,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,iBAAiB,CAAmB;IAC5C,OAAO,CAAC,MAAM,CAAC,SAAS,CAAoC;IAErD,QAAQ,CAAC,EAAE,UAAU,CAAC;IAE7B,SAAS,aAAa,EACpB,iBAA2B,GAC5B,GAAE;QACD,iBAAiB,CAAC,EAAE,gBAAgB,CAAC;KACjC;IAMN,WAAkB,QAAQ,IAAI,YAAY,CAEzC;IAED;;;;OAIG;IACI,oBAAoB,CAAC,MAAM,EAAE,gBAAgB;IAIpD;;;OAGG;IACI,KAAK,CAAC,CAAC,EACZ,OAAO,EAAE,sBAAsB,EAC/B,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,CAAC,GAC1B,CAAC;IAIJ;;;OAGG;IACI,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAC3C,OAAO,EAAE,yBAAyB,EAClC,EAAE,EAAE,CAAC,GACJ,CAAC;IAQG,eAAe,CAAC,OAAO,EAAE,uBAAuB,GAAG,UAAU;IAQpE;;OAEG;IACI,KAAK,IAAI,IAAI;IAQpB;;;OAGG;IACI,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,kBAAkB;IAgBxD;;;OAGG;IACI,QAAQ,CAAC,WAAW,EAAE,uBAAuB,GAAG,IAAI;IACpD,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,uBAAuB,GAAG,IAAI;IAoC7E,kEAAkE;IAC3D,gBAAgB,CACrB,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,uBAAuB,GAC9B,IAAI;IAIP;;;OAGG;IACI,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAC/C,OAAO,EAAE,yBAAyB,GACjC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;IAMnB,wEAAwE;IACjE,MAAM,IAAI,UAAU,GAAG,SAAS;IAIvC;;;OAGG;IACI,aAAa,CAAC,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;IAIjD;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAiChB;;;OAGG;IACH,OAAO,CAAC,MAAM;IA4Dd,OAAO,CAAC,MAAM,CAAC,cAAc;IAkB7B,2EAA2E;IAC3E,OAAO,CAAC,QAAQ;IAahB,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,CAAC,MAAM,CAAC,OAAO,CAAsC;IAC5D,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAS;IAChD,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAwB;IAEzD,OAAO,KAAK,MAAM,GA+BjB;IAED;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IA2B1B,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,MAAM;IAQd;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAkCpC,gEAAgE;IAChE,OAAO,CAAC,MAAM,CAAC,YAAY;IAI3B,kFAAkF;IAClF,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAsC1C;AAsCD,eAAO,MAAM,MAAM,cAAwB,CAAC;AAC5C,eAAe,MAAM,CAAC"}
|