@qodo/sdk 0.13.4 → 2.0.0-next.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/LICENSE +31 -118
- package/README.md +133 -121
- package/bin/qodo-skills.mjs +13 -0
- package/bundled-skills/code-review/SKILL.md +41 -0
- package/bundled-skills/pr-summary/SKILL.md +59 -0
- package/bundled-skills/test-gen/SKILL.md +47 -0
- package/dist/auth/index.browser.d.ts +38 -0
- package/dist/auth/index.browser.d.ts.map +1 -0
- package/dist/auth/index.browser.js +62 -0
- package/dist/auth/index.browser.js.map +1 -0
- package/dist/auth/index.d.ts +44 -30
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +57 -110
- package/dist/auth/index.js.map +1 -1
- package/dist/client/AgentsClient.d.ts +33 -0
- package/dist/client/AgentsClient.d.ts.map +1 -0
- package/dist/client/AgentsClient.js +40 -0
- package/dist/client/AgentsClient.js.map +1 -0
- package/dist/client/ArtifactsClient.d.ts +43 -0
- package/dist/client/ArtifactsClient.d.ts.map +1 -0
- package/dist/client/ArtifactsClient.js +54 -0
- package/dist/client/ArtifactsClient.js.map +1 -0
- package/dist/client/BulletinClient.d.ts +45 -0
- package/dist/client/BulletinClient.d.ts.map +1 -0
- package/dist/client/BulletinClient.js +51 -0
- package/dist/client/BulletinClient.js.map +1 -0
- package/dist/client/InfoClient.d.ts +58 -0
- package/dist/client/InfoClient.d.ts.map +1 -0
- package/dist/client/InfoClient.js +135 -0
- package/dist/client/InfoClient.js.map +1 -0
- package/dist/client/PipelineClient.d.ts +162 -0
- package/dist/client/PipelineClient.d.ts.map +1 -0
- package/dist/client/PipelineClient.js +340 -0
- package/dist/client/PipelineClient.js.map +1 -0
- package/dist/client/QarRegistryClient.d.ts +396 -0
- package/dist/client/QarRegistryClient.d.ts.map +1 -0
- package/dist/client/QarRegistryClient.js +536 -0
- package/dist/client/QarRegistryClient.js.map +1 -0
- package/dist/client/QodoClient.d.ts +296 -0
- package/dist/client/QodoClient.d.ts.map +1 -0
- package/dist/client/QodoClient.js +803 -0
- package/dist/client/QodoClient.js.map +1 -0
- package/dist/client/SpecsClient.d.ts +121 -0
- package/dist/client/SpecsClient.d.ts.map +1 -0
- package/dist/client/SpecsClient.js +252 -0
- package/dist/client/SpecsClient.js.map +1 -0
- package/dist/client/StateClient.d.ts +35 -0
- package/dist/client/StateClient.d.ts.map +1 -0
- package/dist/client/StateClient.js +36 -0
- package/dist/client/StateClient.js.map +1 -0
- package/dist/client/TaskClient.d.ts +706 -0
- package/dist/client/TaskClient.d.ts.map +1 -0
- package/dist/client/TaskClient.js +2522 -0
- package/dist/client/TaskClient.js.map +1 -0
- package/dist/client/ToolClient.d.ts +278 -0
- package/dist/client/ToolClient.d.ts.map +1 -0
- package/dist/client/ToolClient.js +1115 -0
- package/dist/client/ToolClient.js.map +1 -0
- package/dist/client/a2a/index.d.ts +10 -0
- package/dist/client/a2a/index.d.ts.map +1 -0
- package/dist/client/a2a/index.js +9 -0
- package/dist/client/a2a/index.js.map +1 -0
- package/dist/client/a2a/registerA2A.d.ts +170 -0
- package/dist/client/a2a/registerA2A.d.ts.map +1 -0
- package/dist/client/a2a/registerA2A.js +85 -0
- package/dist/client/a2a/registerA2A.js.map +1 -0
- package/dist/client/connection.d.ts +800 -0
- package/dist/client/connection.d.ts.map +1 -0
- package/dist/client/connection.js +2020 -0
- package/dist/client/connection.js.map +1 -0
- package/dist/client/errors.d.ts +735 -0
- package/dist/client/errors.d.ts.map +1 -0
- package/dist/client/errors.js +921 -0
- package/dist/client/errors.js.map +1 -0
- package/dist/client/index.d.ts +26 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +20 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/inlineGraph.d.ts +66 -0
- package/dist/client/inlineGraph.d.ts.map +1 -0
- package/dist/client/inlineGraph.js +500 -0
- package/dist/client/inlineGraph.js.map +1 -0
- package/dist/client/internal/thenable.d.ts +27 -0
- package/dist/client/internal/thenable.d.ts.map +1 -0
- package/dist/client/internal/thenable.js +31 -0
- package/dist/client/internal/thenable.js.map +1 -0
- package/dist/client/iterator.d.ts +32 -0
- package/dist/client/iterator.d.ts.map +1 -0
- package/dist/client/iterator.js +73 -0
- package/dist/client/iterator.js.map +1 -0
- package/dist/client/mcp/McpClientPool.browser.d.ts +76 -0
- package/dist/client/mcp/McpClientPool.browser.d.ts.map +1 -0
- package/dist/client/mcp/McpClientPool.browser.js +78 -0
- package/dist/client/mcp/McpClientPool.browser.js.map +1 -0
- package/dist/client/mcp/McpClientPool.d.ts +236 -0
- package/dist/client/mcp/McpClientPool.d.ts.map +1 -0
- package/dist/client/mcp/McpClientPool.js +585 -0
- package/dist/client/mcp/McpClientPool.js.map +1 -0
- package/dist/client/mcp/projection.d.ts +109 -0
- package/dist/client/mcp/projection.d.ts.map +1 -0
- package/dist/client/mcp/projection.js +446 -0
- package/dist/client/mcp/projection.js.map +1 -0
- package/dist/client/mcp/substituteEnv.browser.d.ts +18 -0
- package/dist/client/mcp/substituteEnv.browser.d.ts.map +1 -0
- package/dist/client/mcp/substituteEnv.browser.js +20 -0
- package/dist/client/mcp/substituteEnv.browser.js.map +1 -0
- package/dist/client/mcp/substituteEnv.d.ts +45 -0
- package/dist/client/mcp/substituteEnv.d.ts.map +1 -0
- package/dist/client/mcp/substituteEnv.js +63 -0
- package/dist/client/mcp/substituteEnv.js.map +1 -0
- package/dist/client/observers.d.ts +57 -0
- package/dist/client/observers.d.ts.map +1 -0
- package/dist/client/observers.js +203 -0
- package/dist/client/observers.js.map +1 -0
- package/dist/client/options.d.ts +269 -0
- package/dist/client/options.d.ts.map +1 -0
- package/dist/client/options.js +9 -0
- package/dist/client/options.js.map +1 -0
- package/dist/client/tools/_readlineApprovalPrompt.browser.d.ts +17 -0
- package/dist/client/tools/_readlineApprovalPrompt.browser.d.ts.map +1 -0
- package/dist/client/tools/_readlineApprovalPrompt.browser.js +24 -0
- package/dist/client/tools/_readlineApprovalPrompt.browser.js.map +1 -0
- package/dist/client/tools/_readlineApprovalPrompt.d.ts +33 -0
- package/dist/client/tools/_readlineApprovalPrompt.d.ts.map +1 -0
- package/dist/client/tools/_readlineApprovalPrompt.js +90 -0
- package/dist/client/tools/_readlineApprovalPrompt.js.map +1 -0
- package/dist/client/tools/approval.d.ts +280 -0
- package/dist/client/tools/approval.d.ts.map +1 -0
- package/dist/client/tools/approval.js +229 -0
- package/dist/client/tools/approval.js.map +1 -0
- package/dist/client/tools/bindFunctionToolDefs.d.ts +156 -0
- package/dist/client/tools/bindFunctionToolDefs.d.ts.map +1 -0
- package/dist/client/tools/bindFunctionToolDefs.js +360 -0
- package/dist/client/tools/bindFunctionToolDefs.js.map +1 -0
- package/dist/client/tools/defineFunctionTool.d.ts +277 -0
- package/dist/client/tools/defineFunctionTool.d.ts.map +1 -0
- package/dist/client/tools/defineFunctionTool.js +190 -0
- package/dist/client/tools/defineFunctionTool.js.map +1 -0
- package/dist/client/transport.browser.d.ts +20 -0
- package/dist/client/transport.browser.d.ts.map +1 -0
- package/dist/client/transport.browser.js +29 -0
- package/dist/client/transport.browser.js.map +1 -0
- package/dist/client/transport.d.ts +47 -0
- package/dist/client/transport.d.ts.map +1 -0
- package/dist/client/transport.js +102 -0
- package/dist/client/transport.js.map +1 -0
- package/dist/client/transport.shared.d.ts +30 -0
- package/dist/client/transport.shared.d.ts.map +1 -0
- package/dist/client/transport.shared.js +40 -0
- package/dist/client/transport.shared.js.map +1 -0
- package/dist/client/uuid.d.ts +32 -0
- package/dist/client/uuid.d.ts.map +1 -0
- package/dist/client/uuid.js +65 -0
- package/dist/client/uuid.js.map +1 -0
- package/dist/index.d.ts +88 -39
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +166 -43
- package/dist/index.js.map +1 -1
- package/dist/observability/attributes.d.ts +136 -0
- package/dist/observability/attributes.d.ts.map +1 -0
- package/dist/observability/attributes.js +184 -0
- package/dist/observability/attributes.js.map +1 -0
- package/dist/observability/index.d.ts +14 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +11 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/resolveOTel.browser.d.ts +13 -0
- package/dist/observability/resolveOTel.browser.d.ts.map +1 -0
- package/dist/observability/resolveOTel.browser.js +14 -0
- package/dist/observability/resolveOTel.browser.js.map +1 -0
- package/dist/observability/resolveOTel.d.ts +28 -0
- package/dist/observability/resolveOTel.d.ts.map +1 -0
- package/dist/observability/resolveOTel.js +74 -0
- package/dist/observability/resolveOTel.js.map +1 -0
- package/dist/observability/spans.d.ts +198 -0
- package/dist/observability/spans.d.ts.map +1 -0
- package/dist/observability/spans.js +300 -0
- package/dist/observability/spans.js.map +1 -0
- package/dist/observability/traceContext.d.ts +51 -0
- package/dist/observability/traceContext.d.ts.map +1 -0
- package/dist/observability/traceContext.js +151 -0
- package/dist/observability/traceContext.js.map +1 -0
- package/dist/observability/transportMetrics.d.ts +58 -0
- package/dist/observability/transportMetrics.d.ts.map +1 -0
- package/dist/observability/transportMetrics.js +55 -0
- package/dist/observability/transportMetrics.js.map +1 -0
- package/dist/qar/agentSpec.d.ts +93 -0
- package/dist/qar/agentSpec.d.ts.map +1 -0
- package/dist/qar/agentSpec.js +184 -0
- package/dist/qar/agentSpec.js.map +1 -0
- package/dist/qar/clientEvents.d.ts +86 -0
- package/dist/qar/clientEvents.d.ts.map +1 -0
- package/dist/qar/clientEvents.js +36 -0
- package/dist/qar/clientEvents.js.map +1 -0
- package/dist/qar/envelopes.d.ts +227 -0
- package/dist/qar/envelopes.d.ts.map +1 -0
- package/dist/qar/envelopes.js +67 -0
- package/dist/qar/envelopes.js.map +1 -0
- package/dist/qar/generated/envelope.d.ts +332 -0
- package/dist/qar/generated/envelope.d.ts.map +1 -0
- package/dist/qar/generated/envelope.js +15 -0
- package/dist/qar/generated/envelope.js.map +1 -0
- package/dist/qar/generated/qar-info.d.ts +76 -0
- package/dist/qar/generated/qar-info.d.ts.map +1 -0
- package/dist/qar/generated/qar-info.js +15 -0
- package/dist/qar/generated/qar-info.js.map +1 -0
- package/dist/qar/generated/qodo-task-start-payload.d.ts +54 -0
- package/dist/qar/generated/qodo-task-start-payload.d.ts.map +1 -0
- package/dist/qar/generated/qodo-task-start-payload.js +15 -0
- package/dist/qar/generated/qodo-task-start-payload.js.map +1 -0
- package/dist/qar/ids.d.ts +19 -0
- package/dist/qar/ids.d.ts.map +1 -0
- package/dist/qar/ids.js +11 -0
- package/dist/qar/ids.js.map +1 -0
- package/dist/qar/index.d.ts +24 -0
- package/dist/qar/index.d.ts.map +1 -0
- package/dist/qar/index.js +16 -0
- package/dist/qar/index.js.map +1 -0
- package/dist/qar/info.d.ts +37 -0
- package/dist/qar/info.d.ts.map +1 -0
- package/dist/qar/info.js +17 -0
- package/dist/qar/info.js.map +1 -0
- package/dist/qar/json.d.ts +14 -0
- package/dist/qar/json.d.ts.map +1 -0
- package/dist/qar/json.js +9 -0
- package/dist/qar/json.js.map +1 -0
- package/dist/qar/payloads.d.ts +480 -0
- package/dist/qar/payloads.d.ts.map +1 -0
- package/dist/qar/payloads.js +37 -0
- package/dist/qar/payloads.js.map +1 -0
- package/dist/qar/specs.d.ts +604 -0
- package/dist/qar/specs.d.ts.map +1 -0
- package/dist/qar/specs.js +29 -0
- package/dist/qar/specs.js.map +1 -0
- package/dist/qar/taskEvents.d.ts +25 -0
- package/dist/qar/taskEvents.d.ts.map +1 -0
- package/dist/qar/taskEvents.js +22 -0
- package/dist/qar/taskEvents.js.map +1 -0
- package/dist/qar/trace.d.ts +12 -0
- package/dist/qar/trace.d.ts.map +1 -0
- package/dist/qar/trace.js +12 -0
- package/dist/qar/trace.js.map +1 -0
- package/dist/skills/activation.d.ts +177 -0
- package/dist/skills/activation.d.ts.map +1 -0
- package/dist/skills/activation.js +428 -0
- package/dist/skills/activation.js.map +1 -0
- package/dist/skills/cli/index.browser.d.ts +18 -0
- package/dist/skills/cli/index.browser.d.ts.map +1 -0
- package/dist/skills/cli/index.browser.js +27 -0
- package/dist/skills/cli/index.browser.js.map +1 -0
- package/dist/skills/cli/index.d.ts +37 -0
- package/dist/skills/cli/index.d.ts.map +1 -0
- package/dist/skills/cli/index.js +494 -0
- package/dist/skills/cli/index.js.map +1 -0
- package/dist/skills/events.d.ts +255 -0
- package/dist/skills/events.d.ts.map +1 -0
- package/dist/skills/events.js +224 -0
- package/dist/skills/events.js.map +1 -0
- package/dist/skills/index.d.ts +45 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +34 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/inject.d.ts +57 -0
- package/dist/skills/inject.d.ts.map +1 -0
- package/dist/skills/inject.js +162 -0
- package/dist/skills/inject.js.map +1 -0
- package/dist/skills/lockfile.browser.d.ts +56 -0
- package/dist/skills/lockfile.browser.d.ts.map +1 -0
- package/dist/skills/lockfile.browser.js +55 -0
- package/dist/skills/lockfile.browser.js.map +1 -0
- package/dist/skills/lockfile.d.ts +137 -0
- package/dist/skills/lockfile.d.ts.map +1 -0
- package/dist/skills/lockfile.js +423 -0
- package/dist/skills/lockfile.js.map +1 -0
- package/dist/skills/manager.browser.d.ts +94 -0
- package/dist/skills/manager.browser.d.ts.map +1 -0
- package/dist/skills/manager.browser.js +159 -0
- package/dist/skills/manager.browser.js.map +1 -0
- package/dist/skills/manager.d.ts +362 -0
- package/dist/skills/manager.d.ts.map +1 -0
- package/dist/skills/manager.js +1386 -0
- package/dist/skills/manager.js.map +1 -0
- package/dist/skills/mcp/index.d.ts +15 -0
- package/dist/skills/mcp/index.d.ts.map +1 -0
- package/dist/skills/mcp/index.js +12 -0
- package/dist/skills/mcp/index.js.map +1 -0
- package/dist/skills/mcp/path.browser.d.ts +27 -0
- package/dist/skills/mcp/path.browser.d.ts.map +1 -0
- package/dist/skills/mcp/path.browser.js +33 -0
- package/dist/skills/mcp/path.browser.js.map +1 -0
- package/dist/skills/mcp/path.d.ts +57 -0
- package/dist/skills/mcp/path.d.ts.map +1 -0
- package/dist/skills/mcp/path.js +150 -0
- package/dist/skills/mcp/path.js.map +1 -0
- package/dist/skills/mcp/server.browser.d.ts +32 -0
- package/dist/skills/mcp/server.browser.d.ts.map +1 -0
- package/dist/skills/mcp/server.browser.js +53 -0
- package/dist/skills/mcp/server.browser.js.map +1 -0
- package/dist/skills/mcp/server.d.ts +144 -0
- package/dist/skills/mcp/server.d.ts.map +1 -0
- package/dist/skills/mcp/server.js +841 -0
- package/dist/skills/mcp/server.js.map +1 -0
- package/dist/skills/mcp/types.d.ts +72 -0
- package/dist/skills/mcp/types.d.ts.map +1 -0
- package/dist/skills/mcp/types.js +20 -0
- package/dist/skills/mcp/types.js.map +1 -0
- package/dist/skills/mcp/wireDefs.d.ts +58 -0
- package/dist/skills/mcp/wireDefs.d.ts.map +1 -0
- package/dist/skills/mcp/wireDefs.js +141 -0
- package/dist/skills/mcp/wireDefs.js.map +1 -0
- package/dist/skills/parser.d.ts +63 -0
- package/dist/skills/parser.d.ts.map +1 -0
- package/dist/skills/parser.js +755 -0
- package/dist/skills/parser.js.map +1 -0
- package/dist/skills/prefilter.d.ts +104 -0
- package/dist/skills/prefilter.d.ts.map +1 -0
- package/dist/skills/prefilter.js +398 -0
- package/dist/skills/prefilter.js.map +1 -0
- package/dist/skills/preprocess.d.ts +169 -0
- package/dist/skills/preprocess.d.ts.map +1 -0
- package/dist/skills/preprocess.js +535 -0
- package/dist/skills/preprocess.js.map +1 -0
- package/dist/skills/render.d.ts +83 -0
- package/dist/skills/render.d.ts.map +1 -0
- package/dist/skills/render.js +397 -0
- package/dist/skills/render.js.map +1 -0
- package/dist/skills/sources/index.browser.d.ts +29 -0
- package/dist/skills/sources/index.browser.d.ts.map +1 -0
- package/dist/skills/sources/index.browser.js +16 -0
- package/dist/skills/sources/index.browser.js.map +1 -0
- package/dist/skills/sources/index.d.ts +59 -0
- package/dist/skills/sources/index.d.ts.map +1 -0
- package/dist/skills/sources/index.js +471 -0
- package/dist/skills/sources/index.js.map +1 -0
- package/dist/skills/sources/walk.browser.d.ts +17 -0
- package/dist/skills/sources/walk.browser.d.ts.map +1 -0
- package/dist/skills/sources/walk.browser.js +19 -0
- package/dist/skills/sources/walk.browser.js.map +1 -0
- package/dist/skills/sources/walk.d.ts +68 -0
- package/dist/skills/sources/walk.d.ts.map +1 -0
- package/dist/skills/sources/walk.js +264 -0
- package/dist/skills/sources/walk.js.map +1 -0
- package/dist/skills/substitute.d.ts +87 -0
- package/dist/skills/substitute.d.ts.map +1 -0
- package/dist/skills/substitute.js +322 -0
- package/dist/skills/substitute.js.map +1 -0
- package/dist/skills/testing/SkillKit.browser.d.ts +62 -0
- package/dist/skills/testing/SkillKit.browser.d.ts.map +1 -0
- package/dist/skills/testing/SkillKit.browser.js +41 -0
- package/dist/skills/testing/SkillKit.browser.js.map +1 -0
- package/dist/skills/testing/SkillKit.d.ts +130 -0
- package/dist/skills/testing/SkillKit.d.ts.map +1 -0
- package/dist/skills/testing/SkillKit.js +316 -0
- package/dist/skills/testing/SkillKit.js.map +1 -0
- package/dist/skills/testing/index.d.ts +9 -0
- package/dist/skills/testing/index.d.ts.map +1 -0
- package/dist/skills/testing/index.js +8 -0
- package/dist/skills/testing/index.js.map +1 -0
- package/dist/skills/trust.d.ts +72 -0
- package/dist/skills/trust.d.ts.map +1 -0
- package/dist/skills/trust.js +183 -0
- package/dist/skills/trust.js.map +1 -0
- package/dist/skills/types.d.ts +627 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/types.js +85 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/skills/validator.d.ts +95 -0
- package/dist/skills/validator.d.ts.map +1 -0
- package/dist/skills/validator.js +486 -0
- package/dist/skills/validator.js.map +1 -0
- package/dist/tracing/PipelineTracer.d.ts +35 -22
- package/dist/tracing/PipelineTracer.d.ts.map +1 -1
- package/dist/tracing/PipelineTracer.js +106 -61
- package/dist/tracing/PipelineTracer.js.map +1 -1
- package/dist/tracing/SdkTracer.d.ts +63 -61
- package/dist/tracing/SdkTracer.d.ts.map +1 -1
- package/dist/tracing/SdkTracer.js +185 -177
- package/dist/tracing/SdkTracer.js.map +1 -1
- package/dist/tracing/index.d.ts +10 -1
- package/dist/tracing/index.d.ts.map +1 -1
- package/dist/tracing/index.js +9 -0
- package/dist/tracing/index.js.map +1 -1
- package/dist/tracing/types.d.ts +89 -16
- package/dist/tracing/types.d.ts.map +1 -1
- package/dist/tracing/types.js +17 -4
- package/dist/tracing/types.js.map +1 -1
- package/dist/types.d.ts +6 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +10 -20
- package/dist/version.js.map +1 -1
- package/package.json +53 -39
- package/.claude/skills/qodo-agent/SKILL.md +0 -974
- package/.claude/skills/qodo-agent/assets/programmatic-agent.ts +0 -407
- package/.claude/skills/qodo-agent/references/builtin-tools.md +0 -342
- package/.claude/skills/qodo-agent/references/common-issues.md +0 -537
- package/bin/rg +0 -0
- package/dist/api/agent.d.ts +0 -105
- package/dist/api/agent.d.ts.map +0 -1
- package/dist/api/agent.js +0 -963
- package/dist/api/agent.js.map +0 -1
- package/dist/api/analytics.d.ts +0 -43
- package/dist/api/analytics.d.ts.map +0 -1
- package/dist/api/analytics.js +0 -163
- package/dist/api/analytics.js.map +0 -1
- package/dist/api/http.d.ts +0 -5
- package/dist/api/http.d.ts.map +0 -1
- package/dist/api/http.js +0 -62
- package/dist/api/http.js.map +0 -1
- package/dist/api/index.d.ts +0 -12
- package/dist/api/index.d.ts.map +0 -1
- package/dist/api/index.js +0 -17
- package/dist/api/index.js.map +0 -1
- package/dist/api/taskTracking.d.ts +0 -54
- package/dist/api/taskTracking.d.ts.map +0 -1
- package/dist/api/taskTracking.js +0 -208
- package/dist/api/taskTracking.js.map +0 -1
- package/dist/api/types.d.ts +0 -93
- package/dist/api/types.d.ts.map +0 -1
- package/dist/api/types.js +0 -2
- package/dist/api/types.js.map +0 -1
- package/dist/api/utils.d.ts +0 -8
- package/dist/api/utils.d.ts.map +0 -1
- package/dist/api/utils.js +0 -63
- package/dist/api/utils.js.map +0 -1
- package/dist/api/websocket.d.ts +0 -203
- package/dist/api/websocket.d.ts.map +0 -1
- package/dist/api/websocket.js +0 -1166
- package/dist/api/websocket.js.map +0 -1
- package/dist/bin/install-skill.d.ts +0 -14
- package/dist/bin/install-skill.d.ts.map +0 -1
- package/dist/bin/install-skill.js +0 -125
- package/dist/bin/install-skill.js.map +0 -1
- package/dist/bin/run-helpers.d.ts +0 -34
- package/dist/bin/run-helpers.d.ts.map +0 -1
- package/dist/bin/run-helpers.js +0 -186
- package/dist/bin/run-helpers.js.map +0 -1
- package/dist/bin/run.d.ts +0 -13
- package/dist/bin/run.d.ts.map +0 -1
- package/dist/bin/run.js +0 -57
- package/dist/bin/run.js.map +0 -1
- package/dist/clients/index.d.ts +0 -10
- package/dist/clients/index.d.ts.map +0 -1
- package/dist/clients/index.js +0 -8
- package/dist/clients/index.js.map +0 -1
- package/dist/clients/info/InfoClient.d.ts +0 -37
- package/dist/clients/info/InfoClient.d.ts.map +0 -1
- package/dist/clients/info/InfoClient.js +0 -69
- package/dist/clients/info/InfoClient.js.map +0 -1
- package/dist/clients/info/index.d.ts +0 -4
- package/dist/clients/info/index.d.ts.map +0 -1
- package/dist/clients/info/index.js +0 -2
- package/dist/clients/info/index.js.map +0 -1
- package/dist/clients/info/types.d.ts +0 -21
- package/dist/clients/info/types.d.ts.map +0 -1
- package/dist/clients/info/types.js +0 -2
- package/dist/clients/info/types.js.map +0 -1
- package/dist/clients/sessions/SessionsClient.d.ts +0 -34
- package/dist/clients/sessions/SessionsClient.d.ts.map +0 -1
- package/dist/clients/sessions/SessionsClient.js +0 -71
- package/dist/clients/sessions/SessionsClient.js.map +0 -1
- package/dist/clients/sessions/index.d.ts +0 -4
- package/dist/clients/sessions/index.d.ts.map +0 -1
- package/dist/clients/sessions/index.js +0 -2
- package/dist/clients/sessions/index.js.map +0 -1
- package/dist/clients/sessions/types.d.ts +0 -20
- package/dist/clients/sessions/types.d.ts.map +0 -1
- package/dist/clients/sessions/types.js +0 -2
- package/dist/clients/sessions/types.js.map +0 -1
- package/dist/clients/tools/ToolsClient.d.ts +0 -39
- package/dist/clients/tools/ToolsClient.d.ts.map +0 -1
- package/dist/clients/tools/ToolsClient.js +0 -95
- package/dist/clients/tools/ToolsClient.js.map +0 -1
- package/dist/clients/tools/index.d.ts +0 -4
- package/dist/clients/tools/index.d.ts.map +0 -1
- package/dist/clients/tools/index.js +0 -2
- package/dist/clients/tools/index.js.map +0 -1
- package/dist/clients/tools/types.d.ts +0 -14
- package/dist/clients/tools/types.d.ts.map +0 -1
- package/dist/clients/tools/types.js +0 -2
- package/dist/clients/tools/types.js.map +0 -1
- package/dist/config/ConfigManager.d.ts +0 -43
- package/dist/config/ConfigManager.d.ts.map +0 -1
- package/dist/config/ConfigManager.js +0 -472
- package/dist/config/ConfigManager.js.map +0 -1
- package/dist/config/index.d.ts +0 -6
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -7
- package/dist/config/index.js.map +0 -1
- package/dist/config/urlConfig.d.ts +0 -15
- package/dist/config/urlConfig.d.ts.map +0 -1
- package/dist/config/urlConfig.js +0 -75
- package/dist/config/urlConfig.js.map +0 -1
- package/dist/constants/errors.d.ts +0 -2
- package/dist/constants/errors.d.ts.map +0 -1
- package/dist/constants/errors.js +0 -2
- package/dist/constants/errors.js.map +0 -1
- package/dist/constants/index.d.ts +0 -7
- package/dist/constants/index.d.ts.map +0 -1
- package/dist/constants/index.js +0 -11
- package/dist/constants/index.js.map +0 -1
- package/dist/constants/tools.d.ts +0 -4
- package/dist/constants/tools.d.ts.map +0 -1
- package/dist/constants/tools.js +0 -4
- package/dist/constants/tools.js.map +0 -1
- package/dist/constants/versions.d.ts +0 -2
- package/dist/constants/versions.d.ts.map +0 -1
- package/dist/constants/versions.js +0 -2
- package/dist/constants/versions.js.map +0 -1
- package/dist/context/buildUserContext.d.ts +0 -18
- package/dist/context/buildUserContext.d.ts.map +0 -1
- package/dist/context/buildUserContext.js +0 -34
- package/dist/context/buildUserContext.js.map +0 -1
- package/dist/context/index.d.ts +0 -9
- package/dist/context/index.d.ts.map +0 -1
- package/dist/context/index.js +0 -9
- package/dist/context/index.js.map +0 -1
- package/dist/context/messageManager.d.ts +0 -42
- package/dist/context/messageManager.d.ts.map +0 -1
- package/dist/context/messageManager.js +0 -322
- package/dist/context/messageManager.js.map +0 -1
- package/dist/context/taskFocus.d.ts +0 -2
- package/dist/context/taskFocus.d.ts.map +0 -1
- package/dist/context/taskFocus.js +0 -26
- package/dist/context/taskFocus.js.map +0 -1
- package/dist/context/userInput.d.ts +0 -3
- package/dist/context/userInput.d.ts.map +0 -1
- package/dist/context/userInput.js +0 -20
- package/dist/context/userInput.js.map +0 -1
- package/dist/mcp/MCPManager.d.ts +0 -109
- package/dist/mcp/MCPManager.d.ts.map +0 -1
- package/dist/mcp/MCPManager.js +0 -592
- package/dist/mcp/MCPManager.js.map +0 -1
- package/dist/mcp/approvedTools.d.ts +0 -4
- package/dist/mcp/approvedTools.d.ts.map +0 -1
- package/dist/mcp/approvedTools.js +0 -19
- package/dist/mcp/approvedTools.js.map +0 -1
- package/dist/mcp/baseServer.d.ts +0 -75
- package/dist/mcp/baseServer.d.ts.map +0 -1
- package/dist/mcp/baseServer.js +0 -107
- package/dist/mcp/baseServer.js.map +0 -1
- package/dist/mcp/builtinServers.d.ts +0 -15
- package/dist/mcp/builtinServers.d.ts.map +0 -1
- package/dist/mcp/builtinServers.js +0 -141
- package/dist/mcp/builtinServers.js.map +0 -1
- package/dist/mcp/dynamicBEServer.d.ts +0 -20
- package/dist/mcp/dynamicBEServer.d.ts.map +0 -1
- package/dist/mcp/dynamicBEServer.js +0 -52
- package/dist/mcp/dynamicBEServer.js.map +0 -1
- package/dist/mcp/index.d.ts +0 -18
- package/dist/mcp/index.d.ts.map +0 -1
- package/dist/mcp/index.js +0 -23
- package/dist/mcp/index.js.map +0 -1
- package/dist/mcp/mcpInitialization.d.ts +0 -2
- package/dist/mcp/mcpInitialization.d.ts.map +0 -1
- package/dist/mcp/mcpInitialization.js +0 -56
- package/dist/mcp/mcpInitialization.js.map +0 -1
- package/dist/mcp/servers/filesystem.d.ts +0 -44
- package/dist/mcp/servers/filesystem.d.ts.map +0 -1
- package/dist/mcp/servers/filesystem.js +0 -776
- package/dist/mcp/servers/filesystem.js.map +0 -1
- package/dist/mcp/servers/git.d.ts +0 -18
- package/dist/mcp/servers/git.d.ts.map +0 -1
- package/dist/mcp/servers/git.js +0 -441
- package/dist/mcp/servers/git.js.map +0 -1
- package/dist/mcp/servers/ripgrep.d.ts +0 -39
- package/dist/mcp/servers/ripgrep.d.ts.map +0 -1
- package/dist/mcp/servers/ripgrep.js +0 -550
- package/dist/mcp/servers/ripgrep.js.map +0 -1
- package/dist/mcp/servers/shell.d.ts +0 -20
- package/dist/mcp/servers/shell.d.ts.map +0 -1
- package/dist/mcp/servers/shell.js +0 -519
- package/dist/mcp/servers/shell.js.map +0 -1
- package/dist/mcp/serversRegistry.d.ts +0 -55
- package/dist/mcp/serversRegistry.d.ts.map +0 -1
- package/dist/mcp/serversRegistry.js +0 -416
- package/dist/mcp/serversRegistry.js.map +0 -1
- package/dist/mcp/toolProcessor.d.ts +0 -82
- package/dist/mcp/toolProcessor.d.ts.map +0 -1
- package/dist/mcp/toolProcessor.js +0 -392
- package/dist/mcp/toolProcessor.js.map +0 -1
- package/dist/mcp/types.d.ts +0 -29
- package/dist/mcp/types.d.ts.map +0 -1
- package/dist/mcp/types.js +0 -2
- package/dist/mcp/types.js.map +0 -1
- package/dist/messages/index.d.ts +0 -8
- package/dist/messages/index.d.ts.map +0 -1
- package/dist/messages/index.js +0 -7
- package/dist/messages/index.js.map +0 -1
- package/dist/messages/openai.d.ts +0 -26
- package/dist/messages/openai.d.ts.map +0 -1
- package/dist/messages/openai.js +0 -55
- package/dist/messages/openai.js.map +0 -1
- package/dist/messages/types.d.ts +0 -73
- package/dist/messages/types.d.ts.map +0 -1
- package/dist/messages/types.js +0 -78
- package/dist/messages/types.js.map +0 -1
- package/dist/parser/index.d.ts +0 -72
- package/dist/parser/index.d.ts.map +0 -1
- package/dist/parser/index.js +0 -967
- package/dist/parser/index.js.map +0 -1
- package/dist/parser/types.d.ts +0 -153
- package/dist/parser/types.d.ts.map +0 -1
- package/dist/parser/types.js +0 -6
- package/dist/parser/types.js.map +0 -1
- package/dist/parser/utils.d.ts +0 -18
- package/dist/parser/utils.d.ts.map +0 -1
- package/dist/parser/utils.js +0 -64
- package/dist/parser/utils.js.map +0 -1
- package/dist/sdk/QodoSDK.d.ts +0 -218
- package/dist/sdk/QodoSDK.d.ts.map +0 -1
- package/dist/sdk/QodoSDK.js +0 -1115
- package/dist/sdk/QodoSDK.js.map +0 -1
- package/dist/sdk/artifacts.d.ts +0 -156
- package/dist/sdk/artifacts.d.ts.map +0 -1
- package/dist/sdk/artifacts.js +0 -166
- package/dist/sdk/artifacts.js.map +0 -1
- package/dist/sdk/bootstrap.d.ts +0 -16
- package/dist/sdk/bootstrap.d.ts.map +0 -1
- package/dist/sdk/bootstrap.js +0 -28
- package/dist/sdk/bootstrap.js.map +0 -1
- package/dist/sdk/builders.d.ts +0 -54
- package/dist/sdk/builders.d.ts.map +0 -1
- package/dist/sdk/builders.js +0 -117
- package/dist/sdk/builders.js.map +0 -1
- package/dist/sdk/defaults.d.ts +0 -11
- package/dist/sdk/defaults.d.ts.map +0 -1
- package/dist/sdk/defaults.js +0 -39
- package/dist/sdk/defaults.js.map +0 -1
- package/dist/sdk/discovery.d.ts +0 -2
- package/dist/sdk/discovery.d.ts.map +0 -1
- package/dist/sdk/discovery.js +0 -25
- package/dist/sdk/discovery.js.map +0 -1
- package/dist/sdk/events.d.ts +0 -269
- package/dist/sdk/events.d.ts.map +0 -1
- package/dist/sdk/events.js +0 -69
- package/dist/sdk/events.js.map +0 -1
- package/dist/sdk/exit-expression.d.ts +0 -13
- package/dist/sdk/exit-expression.d.ts.map +0 -1
- package/dist/sdk/exit-expression.js +0 -35
- package/dist/sdk/exit-expression.js.map +0 -1
- package/dist/sdk/index.d.ts +0 -17
- package/dist/sdk/index.d.ts.map +0 -1
- package/dist/sdk/index.js +0 -17
- package/dist/sdk/index.js.map +0 -1
- package/dist/sdk/middleware.d.ts +0 -59
- package/dist/sdk/middleware.d.ts.map +0 -1
- package/dist/sdk/middleware.js +0 -69
- package/dist/sdk/middleware.js.map +0 -1
- package/dist/sdk/pipeline/PipelineBuilder.d.ts +0 -79
- package/dist/sdk/pipeline/PipelineBuilder.d.ts.map +0 -1
- package/dist/sdk/pipeline/PipelineBuilder.js +0 -129
- package/dist/sdk/pipeline/PipelineBuilder.js.map +0 -1
- package/dist/sdk/pipeline/PipelineRunner.d.ts +0 -28
- package/dist/sdk/pipeline/PipelineRunner.d.ts.map +0 -1
- package/dist/sdk/pipeline/PipelineRunner.js +0 -326
- package/dist/sdk/pipeline/PipelineRunner.js.map +0 -1
- package/dist/sdk/pipeline/compiler.d.ts +0 -24
- package/dist/sdk/pipeline/compiler.d.ts.map +0 -1
- package/dist/sdk/pipeline/compiler.js +0 -199
- package/dist/sdk/pipeline/compiler.js.map +0 -1
- package/dist/sdk/pipeline/declarative.d.ts +0 -34
- package/dist/sdk/pipeline/declarative.d.ts.map +0 -1
- package/dist/sdk/pipeline/declarative.js +0 -9
- package/dist/sdk/pipeline/declarative.js.map +0 -1
- package/dist/sdk/pipeline/index.d.ts +0 -20
- package/dist/sdk/pipeline/index.d.ts.map +0 -1
- package/dist/sdk/pipeline/index.js +0 -19
- package/dist/sdk/pipeline/index.js.map +0 -1
- package/dist/sdk/pipeline/types.d.ts +0 -93
- package/dist/sdk/pipeline/types.d.ts.map +0 -1
- package/dist/sdk/pipeline/types.js +0 -10
- package/dist/sdk/pipeline/types.js.map +0 -1
- package/dist/sdk/policies.d.ts +0 -163
- package/dist/sdk/policies.d.ts.map +0 -1
- package/dist/sdk/policies.js +0 -243
- package/dist/sdk/policies.js.map +0 -1
- package/dist/sdk/runner/AgentRunner.d.ts +0 -22
- package/dist/sdk/runner/AgentRunner.d.ts.map +0 -1
- package/dist/sdk/runner/AgentRunner.js +0 -222
- package/dist/sdk/runner/AgentRunner.js.map +0 -1
- package/dist/sdk/runner/finalize.d.ts +0 -56
- package/dist/sdk/runner/finalize.d.ts.map +0 -1
- package/dist/sdk/runner/finalize.js +0 -155
- package/dist/sdk/runner/finalize.js.map +0 -1
- package/dist/sdk/runner/formats.d.ts +0 -7
- package/dist/sdk/runner/formats.d.ts.map +0 -1
- package/dist/sdk/runner/formats.js +0 -76
- package/dist/sdk/runner/formats.js.map +0 -1
- package/dist/sdk/runner/index.d.ts +0 -9
- package/dist/sdk/runner/index.d.ts.map +0 -1
- package/dist/sdk/runner/index.js +0 -9
- package/dist/sdk/runner/index.js.map +0 -1
- package/dist/sdk/runner/progress.d.ts +0 -3
- package/dist/sdk/runner/progress.d.ts.map +0 -1
- package/dist/sdk/runner/progress.js +0 -16
- package/dist/sdk/runner/progress.js.map +0 -1
- package/dist/sdk/schemas.d.ts +0 -72
- package/dist/sdk/schemas.d.ts.map +0 -1
- package/dist/sdk/schemas.js +0 -282
- package/dist/sdk/schemas.js.map +0 -1
- package/dist/sdk/trigger-context.d.ts +0 -24
- package/dist/sdk/trigger-context.d.ts.map +0 -1
- package/dist/sdk/trigger-context.js +0 -136
- package/dist/sdk/trigger-context.js.map +0 -1
- package/dist/session/SessionContext.d.ts +0 -89
- package/dist/session/SessionContext.d.ts.map +0 -1
- package/dist/session/SessionContext.js +0 -410
- package/dist/session/SessionContext.js.map +0 -1
- package/dist/session/environment.d.ts +0 -52
- package/dist/session/environment.d.ts.map +0 -1
- package/dist/session/environment.js +0 -27
- package/dist/session/environment.js.map +0 -1
- package/dist/session/history.d.ts +0 -18
- package/dist/session/history.d.ts.map +0 -1
- package/dist/session/history.js +0 -68
- package/dist/session/history.js.map +0 -1
- package/dist/session/index.d.ts +0 -10
- package/dist/session/index.d.ts.map +0 -1
- package/dist/session/index.js +0 -9
- package/dist/session/index.js.map +0 -1
- package/dist/session/serverData.d.ts +0 -38
- package/dist/session/serverData.d.ts.map +0 -1
- package/dist/session/serverData.js +0 -261
- package/dist/session/serverData.js.map +0 -1
- package/dist/tracing/pipelineHelpers.d.ts +0 -29
- package/dist/tracing/pipelineHelpers.d.ts.map +0 -1
- package/dist/tracing/pipelineHelpers.js +0 -224
- package/dist/tracing/pipelineHelpers.js.map +0 -1
- package/dist/tracking/Tracker.d.ts +0 -55
- package/dist/tracking/Tracker.d.ts.map +0 -1
- package/dist/tracking/Tracker.js +0 -217
- package/dist/tracking/Tracker.js.map +0 -1
- package/dist/tracking/index.d.ts +0 -8
- package/dist/tracking/index.d.ts.map +0 -1
- package/dist/tracking/index.js +0 -8
- package/dist/tracking/index.js.map +0 -1
- package/dist/tracking/schemas.d.ts +0 -292
- package/dist/tracking/schemas.d.ts.map +0 -1
- package/dist/tracking/schemas.js +0 -91
- package/dist/tracking/schemas.js.map +0 -1
- package/dist/utils/extractSetFlags.d.ts +0 -6
- package/dist/utils/extractSetFlags.d.ts.map +0 -1
- package/dist/utils/extractSetFlags.js +0 -16
- package/dist/utils/extractSetFlags.js.map +0 -1
- package/dist/utils/formatTimeAgo.d.ts +0 -2
- package/dist/utils/formatTimeAgo.d.ts.map +0 -1
- package/dist/utils/formatTimeAgo.js +0 -20
- package/dist/utils/formatTimeAgo.js.map +0 -1
- package/dist/utils/index.d.ts +0 -12
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -12
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/machineId.d.ts +0 -14
- package/dist/utils/machineId.d.ts.map +0 -1
- package/dist/utils/machineId.js +0 -66
- package/dist/utils/machineId.js.map +0 -1
- package/dist/utils/pathUtils.d.ts +0 -22
- package/dist/utils/pathUtils.d.ts.map +0 -1
- package/dist/utils/pathUtils.js +0 -54
- package/dist/utils/pathUtils.js.map +0 -1
- package/scripts/download-ripgrep.js +0 -269
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OTel attribute keys used by the SDK 2.0 observability layer.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors QAR's `src/qar/observability/attributes.py` discipline: every attribute
|
|
5
|
+
* string lives here, never inline. Per-attribute notes record the rationale so
|
|
6
|
+
* future implementers don't accidentally re-add keys that were
|
|
7
|
+
* intentionally skipped on the SDK side.
|
|
8
|
+
*
|
|
9
|
+
* Span emission lives in `src/observability/spans.ts` (per-public-API,
|
|
10
|
+
* client-side) and `src/tracing/SdkTracer.ts` (observer-side). Attribute
|
|
11
|
+
* strings are read from this module exclusively — grep for `qar.` /
|
|
12
|
+
* `gen_ai.` outside this file fails the audit test.
|
|
13
|
+
*/
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
// Service-level (SDK process identity)
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
export const SERVICE_NAME = 'service.name';
|
|
18
|
+
export const SERVICE_VERSION = 'service.version';
|
|
19
|
+
export const SERVICE_NAMESPACE = 'service.namespace';
|
|
20
|
+
/** Stamped on every SDK-side span. QAR's spans carry `service.name = "qar"`; correlation across the wire is by `trace_id`, never service identity. */
|
|
21
|
+
export const SERVICE_NAME_VALUE = '@qodo/sdk';
|
|
22
|
+
/** Same `qodo` namespace QAR uses, so a Phoenix query filtering `service.namespace = "qodo"` returns SDK + runtime spans. */
|
|
23
|
+
export const SERVICE_NAMESPACE_VALUE = 'qodo';
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
// QAR runtime — applied on the SDK side (the SDK has the knowledge to set these)
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
export const QAR_SESSION_ID = 'qar.session_id';
|
|
28
|
+
export const QAR_MESSAGE_ID = 'qar.message_id';
|
|
29
|
+
export const QAR_PARENT_MESSAGE_ID = 'qar.parent_message_id';
|
|
30
|
+
export const QAR_TASK_ID = 'qar.task_id';
|
|
31
|
+
export const QAR_ENVELOPE_KIND = 'qar.envelope.kind';
|
|
32
|
+
export const QAR_TOOL_NAME = 'qar.tool_name';
|
|
33
|
+
export const QAR_TOOL_CALL_ID = 'qar.tool_call_id';
|
|
34
|
+
/** `"sdk-side"` on every tool span the SDK opens; QAR sets `"runtime-side"` / `"mcp:<server>"` on its own. */
|
|
35
|
+
export const QAR_TOOL_ORIGIN = 'qar.tool_origin';
|
|
36
|
+
export const QAR_TOOL_OUTCOME = 'qar.tool_outcome';
|
|
37
|
+
/**
|
|
38
|
+
* Originating node name for parallel-batched tool calls. Set on every
|
|
39
|
+
* `qar.client.tool.handler` and `qar.client.tool.respond` span:
|
|
40
|
+
* `default` (or the configured agent
|
|
41
|
+
* identifier) for single-agent Pattern A/B, the graph node id for Pattern C.
|
|
42
|
+
* Without this, multi-node graphs with parallel in-flight tool calls couldn't
|
|
43
|
+
* be disambiguated in traces.
|
|
44
|
+
*/
|
|
45
|
+
export const QAR_NODE_NAME = 'qar.node_name';
|
|
46
|
+
export const QAR_SKILL_NAME = 'qar.skill_name';
|
|
47
|
+
export const QAR_AGENT_ID = 'qar.agent_id';
|
|
48
|
+
/**
|
|
49
|
+
* Inline-graph attributes. Set on the `qar.client.task.start` span the
|
|
50
|
+
* SDK opens for an inline-graph dispatch.
|
|
51
|
+
*
|
|
52
|
+
* - `qar.graph.entry` — entry-point node name (`graph.entry`).
|
|
53
|
+
* - `qar.graph.depth` — longest acyclic path length from `entry`, computed
|
|
54
|
+
* client-side at validate-time. Lets traces distinguish flat fan-outs
|
|
55
|
+
* (depth 1) from deeply-nested chains without re-parsing the spec.
|
|
56
|
+
* - `qar.agent.kind` — closed value set `"inline" | "agent_id"`. The
|
|
57
|
+
* SDK stamps the parent `qar.client.task.start` span with `"inline"`
|
|
58
|
+
* when *any* node carries an inline `AgentSpec` and `"agent_id"` when
|
|
59
|
+
* every node is a server-static reference. QAR's per-node spans use
|
|
60
|
+
* the same vocabulary, set per-node from each agent's shape.
|
|
61
|
+
*/
|
|
62
|
+
export const QAR_GRAPH_ENTRY = 'qar.graph.entry';
|
|
63
|
+
export const QAR_GRAPH_DEPTH = 'qar.graph.depth';
|
|
64
|
+
export const QAR_AGENT_KIND = 'qar.agent.kind';
|
|
65
|
+
/**
|
|
66
|
+
* Evaluator attributes. Set on per-node spans QAR emits when the runtime
|
|
67
|
+
* dispatches an evaluator node and a `VerdictResult` returns.
|
|
68
|
+
*
|
|
69
|
+
* - `qar.agent.role` — closed enum from `InlineGraphRole`.
|
|
70
|
+
* - `qar.evaluator.verdict` — `verdict` from the returned `VerdictResult`.
|
|
71
|
+
* - `qar.evaluator.confidence` — `confidence` from the same (if present).
|
|
72
|
+
*
|
|
73
|
+
* SDK-side these are exported strings; QAR's `dispatch_evaluator` stamps
|
|
74
|
+
* them on the matching server-side span. The SDK never sees the verdict
|
|
75
|
+
* payload directly — it surfaces through QAR's runtime trace.
|
|
76
|
+
*/
|
|
77
|
+
export const QAR_AGENT_ROLE = 'qar.agent.role';
|
|
78
|
+
export const QAR_EVALUATOR_VERDICT = 'qar.evaluator.verdict';
|
|
79
|
+
export const QAR_EVALUATOR_CONFIDENCE = 'qar.evaluator.confidence';
|
|
80
|
+
// ---------------------------------------------------------------------------
|
|
81
|
+
// gen_ai semconv — the SDK contributes the conversation correlation
|
|
82
|
+
// ---------------------------------------------------------------------------
|
|
83
|
+
export const GEN_AI_CONVERSATION_ID = 'gen_ai.conversation.id';
|
|
84
|
+
export const GEN_AI_OPERATION_NAME = 'gen_ai.operation.name';
|
|
85
|
+
/** Sub-agent activation reports `"invoke_agent"`; the spawn-vs-invoke nuance lives on `qar.spawn_protocol`, not by overloading the operation name. */
|
|
86
|
+
export const GEN_AI_OP_INVOKE_AGENT = 'invoke_agent';
|
|
87
|
+
/** Per OTel GenAI semconv: tool execution. */
|
|
88
|
+
export const GEN_AI_OP_EXECUTE_TOOL = 'execute_tool';
|
|
89
|
+
// ---------------------------------------------------------------------------
|
|
90
|
+
// Skipped on the SDK side — server-only knowledge.
|
|
91
|
+
//
|
|
92
|
+
// Each entry pairs the attribute key with a one-line rationale. `SKIPPED_ATTRIBUTES`
|
|
93
|
+
// is the array consumers + the `attributes-skip.test.ts` audit walk; the per-attr
|
|
94
|
+
// reasons live next to the key so a future contributor opening this file in a
|
|
95
|
+
// PR diff sees *why* they're not exported. If you find yourself wanting to set
|
|
96
|
+
// one of these on an SDK span, the right answer is almost always "no — let the
|
|
97
|
+
// server-side span carry it."
|
|
98
|
+
// ---------------------------------------------------------------------------
|
|
99
|
+
/**
|
|
100
|
+
* Tuple of attribute strings the SDK is intentionally NOT setting on its own
|
|
101
|
+
* spans. Tests + audits import this; emission code never does.
|
|
102
|
+
*
|
|
103
|
+
* Rationale per entry:
|
|
104
|
+
* - `qar.tenant_id` — resolved by QAR via `/platform/v2/users`. SDK never sees the tenant id.
|
|
105
|
+
* - `qar.principal_id` — same: resolved server-side from the bearer token.
|
|
106
|
+
* - `qar.deployment_kind` — server-side concept (`qodo-cloud` vs `self-tenant`); the SDK is identical across both.
|
|
107
|
+
* - `qar.skill_version` — bound at task-start by QAR's skill registry.
|
|
108
|
+
* - `qar.skill_state_schema_v` — same: resolved by the server's skill loader.
|
|
109
|
+
* - `qar.skill_invocation_id` — minted by QAR per skill activation.
|
|
110
|
+
* - `qar.skill_activation` — `"agent" | "user" | "always"`; server-side bookkeeping.
|
|
111
|
+
* - `gen_ai.provider.name` — provider chosen by QAR's gateway/router; SDK never sees model details.
|
|
112
|
+
* - `gen_ai.request.model` — same: chosen at dispatch time.
|
|
113
|
+
* - `gen_ai.request.temperature`, `gen_ai.request.top_p`, `gen_ai.request.max_tokens` — request params QAR sends to the LLM provider.
|
|
114
|
+
* - `gen_ai.response.model` — model that actually answered (provider may downgrade); only QAR sees it.
|
|
115
|
+
* - `gen_ai.response.finish_reason` / `gen_ai.response.finish_reasons` — emitted by the LLM provider span.
|
|
116
|
+
* - `gen_ai.usage.input_tokens`, `gen_ai.usage.output_tokens`, `gen_ai.usage.total_tokens` — token accounting attached to the LLM-provider span.
|
|
117
|
+
* - `qar.usage.cost_usd` — cost rollup computed by QAR over the LLM response.
|
|
118
|
+
* - `qar.bulletin.topic`, `qar.bulletin.from_agent`, `qar.bulletin.to_agent` — server-emitted on `bulletin.post` envelopes; the SDK forwards as wire payloads, doesn't attach to its own spans.
|
|
119
|
+
* - `qar.state.skill`, `qar.state.op`, `qar.state.size_bytes`, `qar.state.schema_version` — server-emitted on `state.update` envelopes; same forwarding rule.
|
|
120
|
+
*
|
|
121
|
+
* (Order: server-only identity first (tenant / principal / deployment),
|
|
122
|
+
* then skill bookkeeping, then `gen_ai.*` LLM-call detail, then
|
|
123
|
+
* per-envelope server-side attrs.)
|
|
124
|
+
*/
|
|
125
|
+
export const SKIPPED_ATTRIBUTES = [
|
|
126
|
+
'qar.tenant_id',
|
|
127
|
+
'qar.principal_id',
|
|
128
|
+
'qar.deployment_kind',
|
|
129
|
+
'qar.skill_version',
|
|
130
|
+
'qar.skill_state_schema_v',
|
|
131
|
+
'qar.skill_invocation_id',
|
|
132
|
+
'qar.skill_activation',
|
|
133
|
+
'gen_ai.provider.name',
|
|
134
|
+
'gen_ai.request.model',
|
|
135
|
+
'gen_ai.request.temperature',
|
|
136
|
+
'gen_ai.request.top_p',
|
|
137
|
+
'gen_ai.request.max_tokens',
|
|
138
|
+
'gen_ai.response.model',
|
|
139
|
+
'gen_ai.response.finish_reason',
|
|
140
|
+
'gen_ai.response.finish_reasons',
|
|
141
|
+
'gen_ai.usage.input_tokens',
|
|
142
|
+
'gen_ai.usage.output_tokens',
|
|
143
|
+
'gen_ai.usage.total_tokens',
|
|
144
|
+
'qar.usage.cost_usd',
|
|
145
|
+
'qar.bulletin.topic',
|
|
146
|
+
'qar.bulletin.from_agent',
|
|
147
|
+
'qar.bulletin.to_agent',
|
|
148
|
+
'qar.state.skill',
|
|
149
|
+
'qar.state.op',
|
|
150
|
+
'qar.state.size_bytes',
|
|
151
|
+
'qar.state.schema_version',
|
|
152
|
+
];
|
|
153
|
+
// ---------------------------------------------------------------------------
|
|
154
|
+
// Span names — `qar.client.<kind>` mirroring QAR's `qar.protocol.<kind>` convention
|
|
155
|
+
// ---------------------------------------------------------------------------
|
|
156
|
+
/** Observer-side span name — used by `SdkTracer.onEvent` for the per-task lifecycle it stitches from inbound envelopes. Distinct from the per-public-API `qar.client.task.start`. */
|
|
157
|
+
export const SPAN_TASK_OBSERVED = 'qar.client.task.observed';
|
|
158
|
+
export const SPAN_TASK_START = 'qar.client.task.start';
|
|
159
|
+
export const SPAN_TASK_CONTINUE = 'qar.client.task.continue';
|
|
160
|
+
export const SPAN_TASK_CANCEL = 'qar.client.task.cancel';
|
|
161
|
+
export const SPAN_TASK_RESUBSCRIBE = 'qar.client.task.resubscribe';
|
|
162
|
+
export const SPAN_TOOL_REQUEST = 'qar.client.tool.request';
|
|
163
|
+
export const SPAN_TOOL_RESPOND = 'qar.client.tool.respond';
|
|
164
|
+
/** Span around an inbound `tool.request` → registered handler invocation. Distinct from `tool.respond` (which covers the WS write). */
|
|
165
|
+
export const SPAN_TOOL_HANDLER = 'qar.client.tool.handler';
|
|
166
|
+
export const SPAN_CONNECT = 'qar.client.connect';
|
|
167
|
+
export const SPAN_DISCONNECT = 'qar.client.disconnect';
|
|
168
|
+
export const SPAN_PIPELINE = 'qar.client.pipeline';
|
|
169
|
+
export const SPAN_PIPELINE_STEP = 'qar.client.pipeline.step';
|
|
170
|
+
/** Pipeline child-span attribute — name of the executed step (or gate). */
|
|
171
|
+
export const QAR_PIPELINE_STEP_NAME = 'qar.pipeline.step_name';
|
|
172
|
+
/** Pipeline gate child-span attribute — whether the predicate evaluated truthy. */
|
|
173
|
+
export const QAR_PIPELINE_GATE_PASSED = 'qar.pipeline.gate_passed';
|
|
174
|
+
/** Pipeline root-span attribute — count of errors aggregated under `collect` strategy. */
|
|
175
|
+
export const QAR_PIPELINE_COLLECTED_ERRORS = 'qar.pipeline.collected_errors';
|
|
176
|
+
/** Pipeline root-span attribute — `true` when a gate short-circuited the run. */
|
|
177
|
+
export const QAR_PIPELINE_GATED = 'qar.pipeline.gated';
|
|
178
|
+
/** Constant value the SDK stamps on tool spans so server-side tools are distinguishable. */
|
|
179
|
+
export const TOOL_ORIGIN_SDK_SIDE = 'sdk-side';
|
|
180
|
+
/** Tool-outcome value enums — the SDK reports one of these on every closed tool span. */
|
|
181
|
+
export const TOOL_OUTCOME_SUCCESS = 'success';
|
|
182
|
+
export const TOOL_OUTCOME_ERROR = 'error';
|
|
183
|
+
export const TOOL_OUTCOME_DENIED = 'denied';
|
|
184
|
+
//# sourceMappingURL=attributes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attributes.js","sourceRoot":"","sources":["../../src/observability/attributes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public re-exports for the SDK 2.0 observability layer.
|
|
3
|
+
*
|
|
4
|
+
* Attribute constants are re-exported by name; consumers who need to set their
|
|
5
|
+
* own `qar.*` attributes (e.g., wrapping a custom tool handler) import from here
|
|
6
|
+
* rather than reaching into `src/observability/attributes.ts` directly.
|
|
7
|
+
*/
|
|
8
|
+
export { SERVICE_NAME, SERVICE_VERSION, SERVICE_NAMESPACE, SERVICE_NAME_VALUE, SERVICE_NAMESPACE_VALUE, QAR_SESSION_ID, QAR_MESSAGE_ID, QAR_PARENT_MESSAGE_ID, QAR_TASK_ID, QAR_ENVELOPE_KIND, QAR_TOOL_NAME, QAR_TOOL_CALL_ID, QAR_TOOL_ORIGIN, QAR_TOOL_OUTCOME, QAR_NODE_NAME, QAR_SKILL_NAME, QAR_AGENT_ID, QAR_GRAPH_ENTRY, QAR_GRAPH_DEPTH, QAR_AGENT_KIND, QAR_AGENT_ROLE, QAR_EVALUATOR_VERDICT, QAR_EVALUATOR_CONFIDENCE, GEN_AI_CONVERSATION_ID, GEN_AI_OPERATION_NAME, GEN_AI_OP_INVOKE_AGENT, GEN_AI_OP_EXECUTE_TOOL, SKIPPED_ATTRIBUTES, SPAN_TASK_OBSERVED, SPAN_TASK_START, SPAN_TASK_CONTINUE, SPAN_TASK_CANCEL, SPAN_TASK_RESUBSCRIBE, SPAN_TOOL_REQUEST, SPAN_TOOL_RESPOND, SPAN_TOOL_HANDLER, SPAN_CONNECT, SPAN_DISCONNECT, SPAN_PIPELINE, SPAN_PIPELINE_STEP, QAR_PIPELINE_STEP_NAME, QAR_PIPELINE_GATE_PASSED, QAR_PIPELINE_COLLECTED_ERRORS, QAR_PIPELINE_GATED, TOOL_ORIGIN_SDK_SIDE, TOOL_OUTCOME_SUCCESS, TOOL_OUTCOME_ERROR, TOOL_OUTCOME_DENIED, } from './attributes.js';
|
|
9
|
+
export type { SkippedAttribute } from './attributes.js';
|
|
10
|
+
export { TraceContextProvider, formatTraceparent } from './traceContext.js';
|
|
11
|
+
export type { TraceContextValue } from './traceContext.js';
|
|
12
|
+
export { SpanRecorder } from './spans.js';
|
|
13
|
+
export type { SpanLifecycle, ToolHandlerOutcome, TaskSpanContext } from './spans.js';
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/observability/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,6BAA6B,EAC7B,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public re-exports for the SDK 2.0 observability layer.
|
|
3
|
+
*
|
|
4
|
+
* Attribute constants are re-exported by name; consumers who need to set their
|
|
5
|
+
* own `qar.*` attributes (e.g., wrapping a custom tool handler) import from here
|
|
6
|
+
* rather than reaching into `src/observability/attributes.ts` directly.
|
|
7
|
+
*/
|
|
8
|
+
export { SERVICE_NAME, SERVICE_VERSION, SERVICE_NAMESPACE, SERVICE_NAME_VALUE, SERVICE_NAMESPACE_VALUE, QAR_SESSION_ID, QAR_MESSAGE_ID, QAR_PARENT_MESSAGE_ID, QAR_TASK_ID, QAR_ENVELOPE_KIND, QAR_TOOL_NAME, QAR_TOOL_CALL_ID, QAR_TOOL_ORIGIN, QAR_TOOL_OUTCOME, QAR_NODE_NAME, QAR_SKILL_NAME, QAR_AGENT_ID, QAR_GRAPH_ENTRY, QAR_GRAPH_DEPTH, QAR_AGENT_KIND, QAR_AGENT_ROLE, QAR_EVALUATOR_VERDICT, QAR_EVALUATOR_CONFIDENCE, GEN_AI_CONVERSATION_ID, GEN_AI_OPERATION_NAME, GEN_AI_OP_INVOKE_AGENT, GEN_AI_OP_EXECUTE_TOOL, SKIPPED_ATTRIBUTES, SPAN_TASK_OBSERVED, SPAN_TASK_START, SPAN_TASK_CONTINUE, SPAN_TASK_CANCEL, SPAN_TASK_RESUBSCRIBE, SPAN_TOOL_REQUEST, SPAN_TOOL_RESPOND, SPAN_TOOL_HANDLER, SPAN_CONNECT, SPAN_DISCONNECT, SPAN_PIPELINE, SPAN_PIPELINE_STEP, QAR_PIPELINE_STEP_NAME, QAR_PIPELINE_GATE_PASSED, QAR_PIPELINE_COLLECTED_ERRORS, QAR_PIPELINE_GATED, TOOL_ORIGIN_SDK_SIDE, TOOL_OUTCOME_SUCCESS, TOOL_OUTCOME_ERROR, TOOL_OUTCOME_DENIED, } from './attributes.js';
|
|
9
|
+
export { TraceContextProvider, formatTraceparent } from './traceContext.js';
|
|
10
|
+
export { SpanRecorder } from './spans.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/observability/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,6BAA6B,EAC7B,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG5E,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser stub for `resolveOTel`. The Node version uses
|
|
3
|
+
* `createRequire(import.meta.url)` from `node:module` to synchronously probe
|
|
4
|
+
* for an installed `@opentelemetry/api`. That probe makes no sense in
|
|
5
|
+
* browser — `node:module` is unavailable, and a browser consumer who wants
|
|
6
|
+
* OTel passes the API explicitly via `ClientOptions.otel`.
|
|
7
|
+
*
|
|
8
|
+
* So this stub: explicit-only. Returns `undefined` when nothing was passed,
|
|
9
|
+
* which the SDK's emission layer treats as "no-op every span call".
|
|
10
|
+
*/
|
|
11
|
+
import type { OTelAPI } from '../tracing/types.js';
|
|
12
|
+
export declare function resolveOTel(explicit: OTelAPI | undefined): OTelAPI | undefined;
|
|
13
|
+
//# sourceMappingURL=resolveOTel.browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveOTel.browser.d.ts","sourceRoot":"","sources":["../../src/observability/resolveOTel.browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAE9E"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser stub for `resolveOTel`. The Node version uses
|
|
3
|
+
* `createRequire(import.meta.url)` from `node:module` to synchronously probe
|
|
4
|
+
* for an installed `@opentelemetry/api`. That probe makes no sense in
|
|
5
|
+
* browser — `node:module` is unavailable, and a browser consumer who wants
|
|
6
|
+
* OTel passes the API explicitly via `ClientOptions.otel`.
|
|
7
|
+
*
|
|
8
|
+
* So this stub: explicit-only. Returns `undefined` when nothing was passed,
|
|
9
|
+
* which the SDK's emission layer treats as "no-op every span call".
|
|
10
|
+
*/
|
|
11
|
+
export function resolveOTel(explicit) {
|
|
12
|
+
return explicit;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=resolveOTel.browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveOTel.browser.js","sourceRoot":"","sources":["../../src/observability/resolveOTel.browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,MAAM,UAAU,WAAW,CAAC,QAA6B;IACvD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve the OTel API the SDK should emit spans against.
|
|
3
|
+
*
|
|
4
|
+
* Priority:
|
|
5
|
+
* 1. Explicit `ClientOptions.otel` — pass it through.
|
|
6
|
+
* 2. Module already on the dependency graph at construction time —
|
|
7
|
+
* `require('@opentelemetry/api')` succeeds when the consumer has it
|
|
8
|
+
* installed, returns `undefined` otherwise.
|
|
9
|
+
*
|
|
10
|
+
* Resolution is synchronous + best-effort. If `@opentelemetry/api` isn't
|
|
11
|
+
* installed (it's an OPTIONAL peer), the SDK proceeds with `undefined` and
|
|
12
|
+
* every span call is a no-op. No warnings, no bundled fallback.
|
|
13
|
+
*
|
|
14
|
+
* Why `createRequire` rather than dynamic `import('@opentelemetry/api')`?
|
|
15
|
+
* Dynamic `import()` is async; widening every call site that wants the OTel
|
|
16
|
+
* API to be async would push the resolution into the hot path. The peer
|
|
17
|
+
* module is small and synchronously-loadable; resolving once at construction
|
|
18
|
+
* is the right tradeoff.
|
|
19
|
+
*/
|
|
20
|
+
import type { OTelAPI } from '../tracing/types.js';
|
|
21
|
+
/**
|
|
22
|
+
* Resolve an OTel API instance given an explicit override. Returns
|
|
23
|
+
* `undefined` if neither the override nor a global `@opentelemetry/api` is
|
|
24
|
+
* available — the SDK's emission layer treats `undefined` as "no-op every
|
|
25
|
+
* span call".
|
|
26
|
+
*/
|
|
27
|
+
export declare function resolveOTel(explicit: OTelAPI | undefined): OTelAPI | undefined;
|
|
28
|
+
//# sourceMappingURL=resolveOTel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveOTel.d.ts","sourceRoot":"","sources":["../../src/observability/resolveOTel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAa9E"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve the OTel API the SDK should emit spans against.
|
|
3
|
+
*
|
|
4
|
+
* Priority:
|
|
5
|
+
* 1. Explicit `ClientOptions.otel` — pass it through.
|
|
6
|
+
* 2. Module already on the dependency graph at construction time —
|
|
7
|
+
* `require('@opentelemetry/api')` succeeds when the consumer has it
|
|
8
|
+
* installed, returns `undefined` otherwise.
|
|
9
|
+
*
|
|
10
|
+
* Resolution is synchronous + best-effort. If `@opentelemetry/api` isn't
|
|
11
|
+
* installed (it's an OPTIONAL peer), the SDK proceeds with `undefined` and
|
|
12
|
+
* every span call is a no-op. No warnings, no bundled fallback.
|
|
13
|
+
*
|
|
14
|
+
* Why `createRequire` rather than dynamic `import('@opentelemetry/api')`?
|
|
15
|
+
* Dynamic `import()` is async; widening every call site that wants the OTel
|
|
16
|
+
* API to be async would push the resolution into the hot path. The peer
|
|
17
|
+
* module is small and synchronously-loadable; resolving once at construction
|
|
18
|
+
* is the right tradeoff.
|
|
19
|
+
*/
|
|
20
|
+
import { createRequire } from 'node:module';
|
|
21
|
+
/**
|
|
22
|
+
* Resolve an OTel API instance given an explicit override. Returns
|
|
23
|
+
* `undefined` if neither the override nor a global `@opentelemetry/api` is
|
|
24
|
+
* available — the SDK's emission layer treats `undefined` as "no-op every
|
|
25
|
+
* span call".
|
|
26
|
+
*/
|
|
27
|
+
export function resolveOTel(explicit) {
|
|
28
|
+
if (explicit !== undefined)
|
|
29
|
+
return explicit;
|
|
30
|
+
try {
|
|
31
|
+
// `createRequire` keeps this CJS-style synchronous resolve usable from
|
|
32
|
+
// the SDK's ESM source; `require` in pure ESM throws.
|
|
33
|
+
const req = createRequire(import.meta.url);
|
|
34
|
+
const mod = req('@opentelemetry/api');
|
|
35
|
+
if (looksLikeOTelAPI(mod))
|
|
36
|
+
return mod;
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
// Module not installed (the typical case for SDK consumers without OTel)
|
|
40
|
+
// — fall through to undefined.
|
|
41
|
+
}
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Duck-type check: a value is `OTelAPI`-shaped when it carries the three
|
|
46
|
+
* surfaces the SDK touches. Strict enough to reject malformed shims; loose
|
|
47
|
+
* enough that an `@opentelemetry/api` major-version bump doesn't
|
|
48
|
+
* false-negative as long as the documented surface is preserved.
|
|
49
|
+
*/
|
|
50
|
+
function looksLikeOTelAPI(x) {
|
|
51
|
+
if (typeof x !== 'object' || x === null)
|
|
52
|
+
return false;
|
|
53
|
+
const obj = x;
|
|
54
|
+
if (typeof obj.trace !== 'object' || obj.trace === null)
|
|
55
|
+
return false;
|
|
56
|
+
if (typeof obj.context !== 'object' || obj.context === null)
|
|
57
|
+
return false;
|
|
58
|
+
const traceObj = obj.trace;
|
|
59
|
+
if (typeof traceObj.getTracer !== 'function')
|
|
60
|
+
return false;
|
|
61
|
+
if (typeof traceObj.getActiveSpan !== 'function')
|
|
62
|
+
return false;
|
|
63
|
+
if (typeof traceObj.setSpan !== 'function')
|
|
64
|
+
return false;
|
|
65
|
+
const ctxObj = obj.context;
|
|
66
|
+
if (typeof ctxObj.active !== 'function')
|
|
67
|
+
return false;
|
|
68
|
+
if (typeof ctxObj.with !== 'function')
|
|
69
|
+
return false;
|
|
70
|
+
if (typeof obj.SpanStatusCode !== 'object' || obj.SpanStatusCode === null)
|
|
71
|
+
return false;
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=resolveOTel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveOTel.js","sourceRoot":"","sources":["../../src/observability/resolveOTel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5C;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,QAA6B;IACvD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,IAAI,CAAC;QACH,uEAAuE;QACvE,sDAAsD;QACtD,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,GAAG,CAAC,oBAAoB,CAAY,CAAC;QACjD,IAAI,gBAAgB,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;QACzE,+BAA+B;IACjC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,CAAU;IAClC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,GAAG,GAAG,CAA4B,CAAC;IACzC,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACtE,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC1E,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAgC,CAAC;IACtD,IAAI,OAAO,QAAQ,CAAC,SAAS,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAC3D,IAAI,OAAO,QAAQ,CAAC,aAAa,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAC/D,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IACzD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAkC,CAAC;IACtD,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IACtD,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IACpD,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,IAAI,GAAG,CAAC,cAAc,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACxF,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SDK 2.0 span emission helpers.
|
|
3
|
+
*
|
|
4
|
+
* Public-API methods on the client open and close spans through `SpanRecorder`.
|
|
5
|
+
* The recorder is the single place that knows about the OTel API: when no OTel
|
|
6
|
+
* is configured, every method returns a no-op `SpanLifecycle` so the call
|
|
7
|
+
* sites don't branch.
|
|
8
|
+
*
|
|
9
|
+
* Span boundaries:
|
|
10
|
+
*
|
|
11
|
+
* - `qar.client.connect` — wraps `client.connect()` until the WS upgrade resolves.
|
|
12
|
+
* - `qar.client.disconnect` — short-lived; ends when teardown returns.
|
|
13
|
+
* - `qar.client.task.start` — wraps `tasks.start`; ends when the iterator closes.
|
|
14
|
+
* - `qar.client.task.continue` — same shape, distinct name.
|
|
15
|
+
* - `qar.client.task.cancel` — short-lived; ends when `task.done(canceled)` arrives.
|
|
16
|
+
* - `qar.client.task.resubscribe` — wraps `tasks.resubscribe` invocation.
|
|
17
|
+
* - `qar.client.tool.respond` — short-lived; ends when the WS write resolves.
|
|
18
|
+
* - `qar.client.tool.handler` — wraps the inbound `tool.request` → handler invocation.
|
|
19
|
+
*
|
|
20
|
+
* Spans inherit from the consumer's currently-active OTel context. Errors
|
|
21
|
+
* record an exception and set `ERROR` status. Cleanly-terminated spans set
|
|
22
|
+
* `OK`. Iterator early-termination still records `OK` (cancellation isn't an
|
|
23
|
+
* error), with an attribute distinguishing terminal vs cancel paths.
|
|
24
|
+
*/
|
|
25
|
+
import { TOOL_OUTCOME_DENIED, TOOL_OUTCOME_ERROR, TOOL_OUTCOME_SUCCESS } from './attributes.js';
|
|
26
|
+
import type { OTelAPI, OTelContext } from '../tracing/types.js';
|
|
27
|
+
/** Tool-handler outcome the SDK reports as a span attribute on `qar.client.tool.handler`. */
|
|
28
|
+
export type ToolHandlerOutcome = typeof TOOL_OUTCOME_SUCCESS | typeof TOOL_OUTCOME_ERROR | typeof TOOL_OUTCOME_DENIED;
|
|
29
|
+
/**
|
|
30
|
+
* A span's lifecycle handle. Non-recording when no OTel API is configured —
|
|
31
|
+
* every method is a no-op, so call sites never branch.
|
|
32
|
+
*/
|
|
33
|
+
export interface SpanLifecycle {
|
|
34
|
+
/** Set an attribute on the underlying span. No-op without OTel. */
|
|
35
|
+
setAttribute(key: string, value: string | number | boolean): void;
|
|
36
|
+
/** Close the span with `OK` status. No-op if already closed. */
|
|
37
|
+
succeed(): void;
|
|
38
|
+
/** Close the span with `ERROR` status, recording the exception. */
|
|
39
|
+
fail(err: unknown): void;
|
|
40
|
+
/**
|
|
41
|
+
* Run `fn` with this span's context active. Used to chain child operations
|
|
42
|
+
* (e.g. an outbound `task.continue` from inside a `task.start` span).
|
|
43
|
+
*/
|
|
44
|
+
withContext<T>(fn: () => T): T;
|
|
45
|
+
/**
|
|
46
|
+
* Return the OTel `Context` carrying this span. `undefined` when no OTel —
|
|
47
|
+
* call sites use this to reattach context to async iterator boundaries.
|
|
48
|
+
*/
|
|
49
|
+
context(): OTelContext | undefined;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* A live task span's context handle. Threaded through `TaskSubscription` so the
|
|
53
|
+
* subscription can re-attach the span's context every time it pushes an event
|
|
54
|
+
* to the consumer's iterator (otherwise the consumer's `for await` resumes
|
|
55
|
+
* outside the span and child spans would parent against the wrong frame).
|
|
56
|
+
*/
|
|
57
|
+
export interface TaskSpanContext {
|
|
58
|
+
/** Span lifecycle handle — call sites end / fail this directly. */
|
|
59
|
+
readonly lifecycle: SpanLifecycle;
|
|
60
|
+
/** OTel context carrying the span. `undefined` when no OTel. */
|
|
61
|
+
readonly otelContext: OTelContext | undefined;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Span emission entry-point. One instance per `QodoClient`. Methods return a
|
|
65
|
+
* `SpanLifecycle` the call site closes when the operation completes (or fails).
|
|
66
|
+
*
|
|
67
|
+
* A `SpanRecorder` constructed with `otel === undefined` returns a single
|
|
68
|
+
* shared no-op lifecycle for every method. No allocations, no overhead beyond
|
|
69
|
+
* a method-call dispatch.
|
|
70
|
+
*/
|
|
71
|
+
export declare class SpanRecorder {
|
|
72
|
+
private readonly otel;
|
|
73
|
+
private readonly tracer;
|
|
74
|
+
private readonly statusOk;
|
|
75
|
+
private readonly statusError;
|
|
76
|
+
/** Cached resource attrs stamped on every span so Phoenix groups by service. */
|
|
77
|
+
private readonly resourceAttrs;
|
|
78
|
+
constructor(otel: OTelAPI | undefined, sdkVersion: string);
|
|
79
|
+
/** Whether OTel emission is wired (vs no-op). */
|
|
80
|
+
get isEnabled(): boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Open a `qar.client.task.start` span. The caller is responsible for closing
|
|
83
|
+
* it — typically via the `TaskSubscription` lifecycle wired in `TaskClient`.
|
|
84
|
+
*/
|
|
85
|
+
startTaskStartSpan(attrs: TaskStartSpanAttrs): TaskSpanContext;
|
|
86
|
+
/** Open a `qar.client.task.continue` span. */
|
|
87
|
+
startTaskContinueSpan(attrs: TaskContinueSpanAttrs): TaskSpanContext;
|
|
88
|
+
/** Open a `qar.client.task.cancel` span. */
|
|
89
|
+
startTaskCancelSpan(attrs: TaskCancelSpanAttrs): SpanLifecycle;
|
|
90
|
+
/** Open a `qar.client.task.resubscribe` span. */
|
|
91
|
+
startTaskResubscribeSpan(attrs: TaskResubscribeSpanAttrs): TaskSpanContext;
|
|
92
|
+
/**
|
|
93
|
+
* Open a `qar.client.tool.respond` span — short-lived, ends on WS write.
|
|
94
|
+
*
|
|
95
|
+
* Every outbound `tool.response` envelope carries a `node_name` so the
|
|
96
|
+
* span records it for parallel-graph telemetry routing.
|
|
97
|
+
*/
|
|
98
|
+
startToolRespondSpan(attrs: ToolRespondSpanAttrs): SpanLifecycle;
|
|
99
|
+
/**
|
|
100
|
+
* Open a `qar.client.tool.handler` span around the invocation of a registered
|
|
101
|
+
* handler for one `ToolCall` from an inbound `tool.request`. Caller updates
|
|
102
|
+
* `qar.tool_outcome` and closes via `succeed()` / `fail()` based on the
|
|
103
|
+
* handler's per-call result.
|
|
104
|
+
*
|
|
105
|
+
* A parallel-batched `tool.request` carrying N calls opens N sibling
|
|
106
|
+
* spans (one per call), each tagged with its own
|
|
107
|
+
* `qar.tool_call_id` and the request's `qar.node_name`. The shared parent
|
|
108
|
+
* is whatever OTel context was active when the inbound envelope arrived —
|
|
109
|
+
* typically the task span.
|
|
110
|
+
*/
|
|
111
|
+
startToolHandlerSpan(attrs: ToolHandlerSpanAttrs): SpanLifecycle;
|
|
112
|
+
/** Open a `qar.client.connect` span. Ends when the WS upgrade resolves. */
|
|
113
|
+
startConnectSpan(): SpanLifecycle;
|
|
114
|
+
/** Open a `qar.client.disconnect` span. */
|
|
115
|
+
startDisconnectSpan(attrs: DisconnectSpanAttrs): SpanLifecycle;
|
|
116
|
+
/**
|
|
117
|
+
* Internal: open a span as a child of the consumer's currently-active
|
|
118
|
+
* context, attaching attributes + the resource attrs. Returns a
|
|
119
|
+
* `SpanLifecycle` the caller closes.
|
|
120
|
+
*/
|
|
121
|
+
private openSpan;
|
|
122
|
+
/**
|
|
123
|
+
* Internal: open a span and return both the lifecycle and the OTel context
|
|
124
|
+
* pinning that span — so a caller (e.g. `TaskSubscription`) can re-attach
|
|
125
|
+
* the context every time it yields an event to the consumer's iterator.
|
|
126
|
+
*/
|
|
127
|
+
private openTaskSpan;
|
|
128
|
+
}
|
|
129
|
+
/** Outcome-attribute helper used by `TaskClient`/`ToolClient` call sites. */
|
|
130
|
+
export declare function toolOutcomeFor(outcome: 'success' | 'error' | 'denied'): ToolHandlerOutcome;
|
|
131
|
+
export interface TaskStartSpanAttrs {
|
|
132
|
+
/**
|
|
133
|
+
* Optional — `task.start` opens its span BEFORE the server's
|
|
134
|
+
* `task.started` ack arrives with the derived `session_id`. The span
|
|
135
|
+
* lifecycle remains correct without the attribute; consumers correlate
|
|
136
|
+
* via `qar.task_id` (set lazily on first inbound) and `qar.message_id`.
|
|
137
|
+
* The attribute is stamped onto the span by the subscription's later
|
|
138
|
+
* `setAttribute` call when admission completes.
|
|
139
|
+
*/
|
|
140
|
+
readonly sessionId?: string;
|
|
141
|
+
readonly messageId: string;
|
|
142
|
+
readonly agentId?: string;
|
|
143
|
+
readonly skillName?: string;
|
|
144
|
+
/** Optional `gen_ai.operation.name` value, e.g. `"invoke_agent"`. */
|
|
145
|
+
readonly operationName?: string;
|
|
146
|
+
/**
|
|
147
|
+
* Inline-graph dispatch attrs. Set when the `task.start` payload
|
|
148
|
+
* is `{ graph, input }`; absent for `{ agent_id }` / `{ agent }` shapes.
|
|
149
|
+
*/
|
|
150
|
+
readonly graphEntry?: string;
|
|
151
|
+
/** Longest acyclic path length from `entry`, computed at validate-time. */
|
|
152
|
+
readonly graphDepth?: number;
|
|
153
|
+
/**
|
|
154
|
+
* `"inline"` when the dispatch carries an inline `AgentSpec` or a
|
|
155
|
+
* graph with any inline-spec node; absent for purely server-static
|
|
156
|
+
* `agent_id` dispatches.
|
|
157
|
+
*/
|
|
158
|
+
readonly agentKind?: string;
|
|
159
|
+
}
|
|
160
|
+
export interface TaskContinueSpanAttrs {
|
|
161
|
+
/** Optional — see {@link TaskStartSpanAttrs.sessionId}. */
|
|
162
|
+
readonly sessionId?: string;
|
|
163
|
+
readonly messageId: string;
|
|
164
|
+
readonly taskId: string;
|
|
165
|
+
}
|
|
166
|
+
export interface TaskCancelSpanAttrs {
|
|
167
|
+
/** Optional — see {@link TaskStartSpanAttrs.sessionId}. */
|
|
168
|
+
readonly sessionId?: string;
|
|
169
|
+
readonly messageId: string;
|
|
170
|
+
readonly taskId: string;
|
|
171
|
+
}
|
|
172
|
+
export interface TaskResubscribeSpanAttrs {
|
|
173
|
+
/** Optional — see {@link TaskStartSpanAttrs.sessionId}. */
|
|
174
|
+
readonly sessionId?: string;
|
|
175
|
+
readonly messageId: string;
|
|
176
|
+
readonly taskId: string;
|
|
177
|
+
readonly sinceMessageId?: string;
|
|
178
|
+
}
|
|
179
|
+
export interface ToolRespondSpanAttrs {
|
|
180
|
+
/** Optional — see {@link TaskStartSpanAttrs.sessionId}. */
|
|
181
|
+
readonly sessionId?: string;
|
|
182
|
+
readonly toolCallId: string;
|
|
183
|
+
readonly outcome: ToolHandlerOutcome;
|
|
184
|
+
/** Required `node_name` of the originating `tool.request`. */
|
|
185
|
+
readonly nodeName: string;
|
|
186
|
+
}
|
|
187
|
+
export interface ToolHandlerSpanAttrs {
|
|
188
|
+
/** Optional — see {@link TaskStartSpanAttrs.sessionId}. */
|
|
189
|
+
readonly sessionId?: string;
|
|
190
|
+
readonly toolCallId: string;
|
|
191
|
+
readonly toolName: string;
|
|
192
|
+
/** Required `node_name` of the inbound `tool.request`. */
|
|
193
|
+
readonly nodeName: string;
|
|
194
|
+
}
|
|
195
|
+
export interface DisconnectSpanAttrs {
|
|
196
|
+
readonly sessionId?: string;
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=spans.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spans.d.ts","sourceRoot":"","sources":["../../src/observability/spans.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAgCL,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAY,MAAM,qBAAqB,CAAC;AAK1E,6FAA6F;AAC7F,MAAM,MAAM,kBAAkB,GAC1B,OAAO,oBAAoB,GAC3B,OAAO,kBAAkB,GACzB,OAAO,mBAAmB,CAAC;AAE/B;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAClE,gEAAgE;IAChE,OAAO,IAAI,IAAI,CAAC;IAChB,mEAAmE;IACnE,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB;;;OAGG;IACH,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/B;;;OAGG;IACH,OAAO,IAAI,WAAW,GAAG,SAAS,CAAC;CACpC;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,gEAAgE;IAChE,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;CAC/C;AAED;;;;;;;GAOG;AACH,qBAAa,YAAY;IAQrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAPvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwD;IAC/E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;gBAGpC,IAAI,EAAE,OAAO,GAAG,SAAS,EAC1C,UAAU,EAAE,MAAM;IAcpB,iDAAiD;IACjD,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED;;;OAGG;IACI,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,eAAe;IAkBrE,8CAA8C;IACvC,qBAAqB,CAAC,KAAK,EAAE,qBAAqB,GAAG,eAAe;IAa3E,4CAA4C;IACrC,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,GAAG,aAAa;IAarE,iDAAiD;IAC1C,wBAAwB,CAAC,KAAK,EAAE,wBAAwB,GAAG,eAAe;IAgBjF;;;;;OAKG;IACI,oBAAoB,CAAC,KAAK,EAAE,oBAAoB,GAAG,aAAa;IAgBvE;;;;;;;;;;;OAWG;IACI,oBAAoB,CAAC,KAAK,EAAE,oBAAoB,GAAG,aAAa;IAgBvE,2EAA2E;IACpE,gBAAgB,IAAI,aAAa;IAIxC,2CAA2C;IACpC,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,GAAG,aAAa;IAMrE;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAgBhB;;;;OAIG;IACH,OAAO,CAAC,YAAY;CAOrB;AAED,6EAA6E;AAC7E,wBAAgB,cAAc,CAC5B,OAAO,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,GACtC,kBAAkB,CASpB;AAMD,MAAM,WAAW,kBAAkB;IACjC;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,qEAAqE;IACrE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACvC,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,8DAA8D;IAC9D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B"}
|