@qodo/sdk 0.13.3 → 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 -104
- package/dist/api/agent.d.ts.map +0 -1
- package/dist/api/agent.js +0 -939
- 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,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `${ENV_VAR}` substitution for MCP header values.
|
|
3
|
+
*
|
|
4
|
+
* SDK1 ergonomic — header values like `"Bearer ${HANDBOOK_API_TOKEN}"` are
|
|
5
|
+
* resolved against `process.env` at connect time so consumers can author
|
|
6
|
+
* static `mcpServers` configs (typically loaded from disk or embedded in
|
|
7
|
+
* source) without committing secrets. Preserved verbatim to keep SDK1 →
|
|
8
|
+
* SDK2 migration ergonomically equivalent for typical MCP-header
|
|
9
|
+
* substitution use cases.
|
|
10
|
+
*
|
|
11
|
+
* Semantics:
|
|
12
|
+
* - `${VAR}` references `process.env.VAR`. Unset variables resolve to the
|
|
13
|
+
* empty string; this matches shell expansion (`echo "$UNSET"` → `""`)
|
|
14
|
+
* and SDK1's behavior.
|
|
15
|
+
* - `$VAR` (no braces) is NOT substituted — we keep substitution explicit
|
|
16
|
+
* so a literal `$200` in a header isn't accidentally interpreted as a
|
|
17
|
+
* reference to `process.env[200]`.
|
|
18
|
+
* - `\${VAR}` is an escape — emits the literal `${VAR}` without
|
|
19
|
+
* substitution. Useful for the rare case where the header value
|
|
20
|
+
* genuinely contains `${...}` literals.
|
|
21
|
+
*
|
|
22
|
+
* The implementation is platform-neutral: `process.env` is the only OS
|
|
23
|
+
* touchpoint. Browsers don't run the MCP bridge (subprocess + arbitrary
|
|
24
|
+
* fetch authority are server-side concerns), so a Node-only assumption is
|
|
25
|
+
* fine; the browser shim falls through to identity behavior.
|
|
26
|
+
*/
|
|
27
|
+
/**
|
|
28
|
+
* Substitute `${VAR}` references in a single string against `process.env`.
|
|
29
|
+
* Returns the resolved string; unset references collapse to empty.
|
|
30
|
+
*
|
|
31
|
+
* `\${VAR}` is the escape form — it emits the literal `${VAR}` so callers
|
|
32
|
+
* can carry through a value that contains the syntax verbatim.
|
|
33
|
+
*/
|
|
34
|
+
export declare function substituteEnvInString(value: string, env?: NodeJS.ProcessEnv): string;
|
|
35
|
+
/**
|
|
36
|
+
* Substitute `${VAR}` references across every value in a string-keyed map.
|
|
37
|
+
* Returns a fresh object; the input is not mutated. Keys are passed through
|
|
38
|
+
* unchanged (header names aren't subject to env substitution).
|
|
39
|
+
*/
|
|
40
|
+
export declare function substituteEnvInHeaders(headers: {
|
|
41
|
+
readonly [key: string]: string;
|
|
42
|
+
} | undefined, env?: NodeJS.ProcessEnv): {
|
|
43
|
+
[key: string]: string;
|
|
44
|
+
} | undefined;
|
|
45
|
+
//# sourceMappingURL=substituteEnv.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"substituteEnv.d.ts","sourceRoot":"","sources":["../../../src/client/mcp/substituteEnv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAajG;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,SAAS,EACvD,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,SAAS,CAOvC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `${ENV_VAR}` substitution for MCP header values.
|
|
3
|
+
*
|
|
4
|
+
* SDK1 ergonomic — header values like `"Bearer ${HANDBOOK_API_TOKEN}"` are
|
|
5
|
+
* resolved against `process.env` at connect time so consumers can author
|
|
6
|
+
* static `mcpServers` configs (typically loaded from disk or embedded in
|
|
7
|
+
* source) without committing secrets. Preserved verbatim to keep SDK1 →
|
|
8
|
+
* SDK2 migration ergonomically equivalent for typical MCP-header
|
|
9
|
+
* substitution use cases.
|
|
10
|
+
*
|
|
11
|
+
* Semantics:
|
|
12
|
+
* - `${VAR}` references `process.env.VAR`. Unset variables resolve to the
|
|
13
|
+
* empty string; this matches shell expansion (`echo "$UNSET"` → `""`)
|
|
14
|
+
* and SDK1's behavior.
|
|
15
|
+
* - `$VAR` (no braces) is NOT substituted — we keep substitution explicit
|
|
16
|
+
* so a literal `$200` in a header isn't accidentally interpreted as a
|
|
17
|
+
* reference to `process.env[200]`.
|
|
18
|
+
* - `\${VAR}` is an escape — emits the literal `${VAR}` without
|
|
19
|
+
* substitution. Useful for the rare case where the header value
|
|
20
|
+
* genuinely contains `${...}` literals.
|
|
21
|
+
*
|
|
22
|
+
* The implementation is platform-neutral: `process.env` is the only OS
|
|
23
|
+
* touchpoint. Browsers don't run the MCP bridge (subprocess + arbitrary
|
|
24
|
+
* fetch authority are server-side concerns), so a Node-only assumption is
|
|
25
|
+
* fine; the browser shim falls through to identity behavior.
|
|
26
|
+
*/
|
|
27
|
+
const ENV_PATTERN = /\\\$\{([A-Za-z_][A-Za-z0-9_]*)\}|\$\{([A-Za-z_][A-Za-z0-9_]*)\}/g;
|
|
28
|
+
/**
|
|
29
|
+
* Substitute `${VAR}` references in a single string against `process.env`.
|
|
30
|
+
* Returns the resolved string; unset references collapse to empty.
|
|
31
|
+
*
|
|
32
|
+
* `\${VAR}` is the escape form — it emits the literal `${VAR}` so callers
|
|
33
|
+
* can carry through a value that contains the syntax verbatim.
|
|
34
|
+
*/
|
|
35
|
+
export function substituteEnvInString(value, env = process.env) {
|
|
36
|
+
return value.replace(ENV_PATTERN, (_match, escaped, ref) => {
|
|
37
|
+
if (escaped !== undefined) {
|
|
38
|
+
// Escape sequence — emit literal `${VAR}` without substitution.
|
|
39
|
+
return `\${${escaped}}`;
|
|
40
|
+
}
|
|
41
|
+
if (ref === undefined) {
|
|
42
|
+
// Defensive — the regex always matches one of the two capture groups.
|
|
43
|
+
return _match;
|
|
44
|
+
}
|
|
45
|
+
const resolved = env[ref];
|
|
46
|
+
return resolved ?? '';
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Substitute `${VAR}` references across every value in a string-keyed map.
|
|
51
|
+
* Returns a fresh object; the input is not mutated. Keys are passed through
|
|
52
|
+
* unchanged (header names aren't subject to env substitution).
|
|
53
|
+
*/
|
|
54
|
+
export function substituteEnvInHeaders(headers, env = process.env) {
|
|
55
|
+
if (headers === undefined)
|
|
56
|
+
return undefined;
|
|
57
|
+
const out = {};
|
|
58
|
+
for (const [key, value] of Object.entries(headers)) {
|
|
59
|
+
out[key] = substituteEnvInString(value, env);
|
|
60
|
+
}
|
|
61
|
+
return out;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=substituteEnv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"substituteEnv.js","sourceRoot":"","sources":["../../../src/client/mcp/substituteEnv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,WAAW,GAAG,kEAAkE,CAAC;AAEvF;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa,EAAE,MAAyB,OAAO,CAAC,GAAG;IACvF,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,OAA2B,EAAE,GAAuB,EAAE,EAAE;QACjG,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,gEAAgE;YAChE,OAAO,MAAM,OAAO,GAAG,CAAC;QAC1B,CAAC;QACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,sEAAsE;YACtE,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO,QAAQ,IAAI,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAuD,EACvD,MAAyB,OAAO,CAAC,GAAG;IAEpC,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,GAAG,GAA8B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Building blocks for the read-only sub-clients that surface QAR's
|
|
3
|
+
* `bulletin.post`, `artifact.add`, `state.update`, and `agent.spawn`
|
|
4
|
+
* envelopes to opt-in consumers.
|
|
5
|
+
*
|
|
6
|
+
* These sub-clients are observers — they tap inbound envelopes alongside the
|
|
7
|
+
* `TaskSubscription` chain (so the same envelope still drives the canonical
|
|
8
|
+
* `AsyncIterable<TaskEvent>` from `client.tasks.start()`). Multiple handlers
|
|
9
|
+
* per kind are allowed and run in registration order; throws are swallowed
|
|
10
|
+
* so a misbehaving consumer never crashes the WS loop.
|
|
11
|
+
*/
|
|
12
|
+
import type { Envelope, EnvelopeKind } from '../qar/envelopes.js';
|
|
13
|
+
/**
|
|
14
|
+
* Token returned by the four `client.{bulletin,artifacts,state,agents}.on*`
|
|
15
|
+
* methods. `close()` deregisters the handler; subsequent envelopes do not
|
|
16
|
+
* invoke it. Idempotent.
|
|
17
|
+
*
|
|
18
|
+
* Distinct from `Subscription` (`unsubscribe()`) on `ToolClient` — the four
|
|
19
|
+
* read-only event surfaces use `close()` to mirror QAR's spawn-lifecycle
|
|
20
|
+
* vocabulary (see `docs/sdk2/event-surfaces.md`).
|
|
21
|
+
*/
|
|
22
|
+
export interface EventSubscription {
|
|
23
|
+
close(): void;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Shared base for the four kind-filtered observer sub-clients. Holds the
|
|
27
|
+
* handler registry; `attach`/`detach` are called by `QodoClient` on
|
|
28
|
+
* `connect`/`disconnect`. Registrations made before `connect()` are honored
|
|
29
|
+
* once the WS opens — consumers can wire handlers eagerly during construction.
|
|
30
|
+
*/
|
|
31
|
+
export declare abstract class KindObserverClient<K extends EnvelopeKind, E extends Envelope & {
|
|
32
|
+
readonly kind: K;
|
|
33
|
+
}> {
|
|
34
|
+
private readonly kind;
|
|
35
|
+
private port;
|
|
36
|
+
private connection;
|
|
37
|
+
private readonly registrations;
|
|
38
|
+
protected constructor(kind: K);
|
|
39
|
+
/**
|
|
40
|
+
* Called by the port from `close()` / `fail()`. The connection is already
|
|
41
|
+
* tearing itself down (it cleared its own subscription set), so do NOT
|
|
42
|
+
* call `unsubscribe` here — just clear the sub-client's pointers so a
|
|
43
|
+
* later `attach()` against a fresh connection starts cleanly. Guards on
|
|
44
|
+
* identity in case a stale port from a prior attach cycle fires after
|
|
45
|
+
* the sub-client already moved on.
|
|
46
|
+
*/
|
|
47
|
+
private onPortUnbound;
|
|
48
|
+
/**
|
|
49
|
+
* Register a handler. The optional `matches` predicate runs per envelope —
|
|
50
|
+
* sub-classes pass their filter shape through it. Returns an
|
|
51
|
+
* `EventSubscription` whose `close()` is idempotent.
|
|
52
|
+
*/
|
|
53
|
+
protected register(handler: (env: E) => void, matches?: (env: E) => boolean): EventSubscription;
|
|
54
|
+
private dispatch;
|
|
55
|
+
private logHandlerError;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=observers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observers.d.ts","sourceRoot":"","sources":["../../src/client/observers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKlE;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,IAAI,IAAI,CAAC;CACf;AA4ED;;;;;GAKG;AACH,8BAAsB,kBAAkB,CACtC,CAAC,SAAS,YAAY,EACtB,CAAC,SAAS,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;CAAE;IAMnB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJ3C,OAAO,CAAC,IAAI,CAAuC;IACnD,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAE5D,SAAS,aAA8B,IAAI,EAAE,CAAC;IA4B9C;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAMrB;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAChB,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EACzB,OAAO,GAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAoB,GACxC,iBAAiB;IAcpB,OAAO,CAAC,QAAQ;IAgChB,OAAO,CAAC,eAAe;CAqBxB"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Building blocks for the read-only sub-clients that surface QAR's
|
|
3
|
+
* `bulletin.post`, `artifact.add`, `state.update`, and `agent.spawn`
|
|
4
|
+
* envelopes to opt-in consumers.
|
|
5
|
+
*
|
|
6
|
+
* These sub-clients are observers — they tap inbound envelopes alongside the
|
|
7
|
+
* `TaskSubscription` chain (so the same envelope still drives the canonical
|
|
8
|
+
* `AsyncIterable<TaskEvent>` from `client.tasks.start()`). Multiple handlers
|
|
9
|
+
* per kind are allowed and run in registration order; throws are swallowed
|
|
10
|
+
* so a misbehaving consumer never crashes the WS loop.
|
|
11
|
+
*/
|
|
12
|
+
import { isThenable } from './internal/thenable.js';
|
|
13
|
+
/**
|
|
14
|
+
* Inbound subscription that filters by `kind` and fans out to a sub-client's
|
|
15
|
+
* handler list.
|
|
16
|
+
*
|
|
17
|
+
* `Connection.fanout` invokes `consider` on every registered subscription
|
|
18
|
+
* unconditionally — the boolean return is a leftover hook from an earlier
|
|
19
|
+
* design and is not used to short-circuit fan-out today. So observer ports
|
|
20
|
+
* coexist naturally with `TaskSubscription`: the same envelope flows down
|
|
21
|
+
* both paths without one preventing the other.
|
|
22
|
+
*
|
|
23
|
+
* `fail`/`close` notify the owning client through `onUnbound` so it can drop
|
|
24
|
+
* its `connection`/`port` pointers when the transport tears down without an
|
|
25
|
+
* explicit `disconnect()`.
|
|
26
|
+
*/
|
|
27
|
+
class KindObserverPort {
|
|
28
|
+
kind;
|
|
29
|
+
dispatch;
|
|
30
|
+
onUnbound;
|
|
31
|
+
constructor(kind, dispatch, onUnbound) {
|
|
32
|
+
this.kind = kind;
|
|
33
|
+
this.dispatch = dispatch;
|
|
34
|
+
this.onUnbound = onUnbound;
|
|
35
|
+
}
|
|
36
|
+
consider(env) {
|
|
37
|
+
if (env.kind === this.kind) {
|
|
38
|
+
// Defense-in-depth: even though `dispatch` already routes handler
|
|
39
|
+
// throws through `logHandlerError`, an exception inside the logger
|
|
40
|
+
// itself would otherwise escape into `Connection.fanout` and break
|
|
41
|
+
// every other subscription on this socket. Any throw at this seam is
|
|
42
|
+
// dropped — there is no recovery surface.
|
|
43
|
+
try {
|
|
44
|
+
this.dispatch(env);
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
// Last-ditch: never let an observer crash the WS dispatch loop.
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// Return value is informational; fan-out on `Connection` does not branch
|
|
51
|
+
// on it. Kept `false` for consistency with `RawSubscription`'s tap pattern.
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
// `qar.client.*` reconnect/replay events flow through `client.receive()`
|
|
55
|
+
// consumers and `TaskSubscription`s, not through observer surfaces
|
|
56
|
+
// (those are envelope-only — the four QAR envelope kinds the sub-clients
|
|
57
|
+
// care about). No-op so the interface contract is satisfied without
|
|
58
|
+
// expanding the public surface.
|
|
59
|
+
considerClient(_ev) { }
|
|
60
|
+
fail(_err) {
|
|
61
|
+
// The `error` envelope is the consumer-facing failure signal; observers
|
|
62
|
+
// don't surface transport-level failures separately. But we DO need to
|
|
63
|
+
// tell the owning sub-client that its port is now orphaned, so a future
|
|
64
|
+
// `attach()` doesn't try to `unsubscribe` from a torn-down connection.
|
|
65
|
+
this.onUnbound();
|
|
66
|
+
}
|
|
67
|
+
close() {
|
|
68
|
+
// Connection closed cleanly: drop the port reference on the owning
|
|
69
|
+
// sub-client. Handler registrations stay on the sub-client; the next
|
|
70
|
+
// `attach()` will create a fresh port.
|
|
71
|
+
this.onUnbound();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Shared base for the four kind-filtered observer sub-clients. Holds the
|
|
76
|
+
* handler registry; `attach`/`detach` are called by `QodoClient` on
|
|
77
|
+
* `connect`/`disconnect`. Registrations made before `connect()` are honored
|
|
78
|
+
* once the WS opens — consumers can wire handlers eagerly during construction.
|
|
79
|
+
*/
|
|
80
|
+
export class KindObserverClient {
|
|
81
|
+
kind;
|
|
82
|
+
port = null;
|
|
83
|
+
connection = null;
|
|
84
|
+
registrations = [];
|
|
85
|
+
constructor(kind) {
|
|
86
|
+
this.kind = kind;
|
|
87
|
+
}
|
|
88
|
+
/** @internal — invoked by `QodoClient.connect()`. */
|
|
89
|
+
attach(connection) {
|
|
90
|
+
if (this.connection !== null) {
|
|
91
|
+
// Defensive: a second `attach()` without a `detach()` would leak the
|
|
92
|
+
// previous port. Drop it cleanly first.
|
|
93
|
+
this.detach();
|
|
94
|
+
}
|
|
95
|
+
const port = new KindObserverPort(this.kind, (env) => this.dispatch(env), () => this.onPortUnbound(port));
|
|
96
|
+
connection.subscribe(port);
|
|
97
|
+
this.connection = connection;
|
|
98
|
+
this.port = port;
|
|
99
|
+
}
|
|
100
|
+
/** @internal — invoked by `QodoClient.disconnect()`. */
|
|
101
|
+
detach() {
|
|
102
|
+
if (this.connection !== null && this.port !== null) {
|
|
103
|
+
this.connection.unsubscribe(this.port);
|
|
104
|
+
}
|
|
105
|
+
this.connection = null;
|
|
106
|
+
this.port = null;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Called by the port from `close()` / `fail()`. The connection is already
|
|
110
|
+
* tearing itself down (it cleared its own subscription set), so do NOT
|
|
111
|
+
* call `unsubscribe` here — just clear the sub-client's pointers so a
|
|
112
|
+
* later `attach()` against a fresh connection starts cleanly. Guards on
|
|
113
|
+
* identity in case a stale port from a prior attach cycle fires after
|
|
114
|
+
* the sub-client already moved on.
|
|
115
|
+
*/
|
|
116
|
+
onPortUnbound(port) {
|
|
117
|
+
if (this.port !== port)
|
|
118
|
+
return;
|
|
119
|
+
this.connection = null;
|
|
120
|
+
this.port = null;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Register a handler. The optional `matches` predicate runs per envelope —
|
|
124
|
+
* sub-classes pass their filter shape through it. Returns an
|
|
125
|
+
* `EventSubscription` whose `close()` is idempotent.
|
|
126
|
+
*/
|
|
127
|
+
register(handler, matches = () => true) {
|
|
128
|
+
const reg = { handler, matches };
|
|
129
|
+
this.registrations.push(reg);
|
|
130
|
+
let closed = false;
|
|
131
|
+
return {
|
|
132
|
+
close: () => {
|
|
133
|
+
if (closed)
|
|
134
|
+
return;
|
|
135
|
+
closed = true;
|
|
136
|
+
const idx = this.registrations.indexOf(reg);
|
|
137
|
+
if (idx !== -1)
|
|
138
|
+
this.registrations.splice(idx, 1);
|
|
139
|
+
},
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
dispatch(env) {
|
|
143
|
+
// Snapshot so a handler that closes its own subscription (or registers a
|
|
144
|
+
// sibling) doesn't disturb the in-flight iteration.
|
|
145
|
+
const snapshot = [...this.registrations];
|
|
146
|
+
for (const reg of snapshot) {
|
|
147
|
+
let isMatch;
|
|
148
|
+
try {
|
|
149
|
+
isMatch = reg.matches(env);
|
|
150
|
+
}
|
|
151
|
+
catch (err) {
|
|
152
|
+
// A throwing predicate is a consumer bug, not a transport bug. Treat
|
|
153
|
+
// it the same as a throwing handler: log + skip, keep the WS alive.
|
|
154
|
+
this.logHandlerError(err);
|
|
155
|
+
continue;
|
|
156
|
+
}
|
|
157
|
+
if (!isMatch)
|
|
158
|
+
continue;
|
|
159
|
+
// Both synchronous throws AND async (Promise) rejections must be
|
|
160
|
+
// routed through `logHandlerError` so the documented "handler failures
|
|
161
|
+
// are swallowed" guarantee holds for `async` consumers too. The
|
|
162
|
+
// try/catch covers sync; the `isThenable` branch covers async without
|
|
163
|
+
// allocating a Promise wrapper for every synchronous handler call —
|
|
164
|
+
// dispatch is on the WS hot path, so the per-call cost matters.
|
|
165
|
+
try {
|
|
166
|
+
const ret = reg.handler(env);
|
|
167
|
+
if (isThenable(ret)) {
|
|
168
|
+
ret.then(undefined, (err) => this.logHandlerError(err));
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
catch (err) {
|
|
172
|
+
this.logHandlerError(err);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
logHandlerError(err) {
|
|
177
|
+
// The "handler failures are swallowed" guarantee extends to the logger
|
|
178
|
+
// itself. A hostile `Error` whose `stack`/`message` getters throw, or a
|
|
179
|
+
// user-overridden `console.error` that throws, would otherwise escape
|
|
180
|
+
// into `KindObserverPort.consider` and onward into `Connection.fanout`.
|
|
181
|
+
// Wrap the body so the library never crashes the WS loop just to print a
|
|
182
|
+
// diagnostic.
|
|
183
|
+
try {
|
|
184
|
+
const msg = err instanceof Error ? err.stack ?? err.message : String(err);
|
|
185
|
+
console.error(`[@qodo/sdk] ${this.kind} handler threw — swallowed: ${msg}`);
|
|
186
|
+
}
|
|
187
|
+
catch {
|
|
188
|
+
try {
|
|
189
|
+
// Fallback: print without `String(err)` / message extraction in case
|
|
190
|
+
// `err` itself is the throwing party.
|
|
191
|
+
console.error(`[@qodo/sdk] ${this.kind} handler threw — swallowed (logger error)`);
|
|
192
|
+
}
|
|
193
|
+
catch {
|
|
194
|
+
// Even the fallback failed (e.g. a fully wedged `console`). Drop
|
|
195
|
+
// silently — the priority is keeping dispatch alive.
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
// `isThenable` lives in `./internal/thenable.ts` so `ToolClient.ts` and
|
|
201
|
+
// this module share one canonical implementation — diverging copies were
|
|
202
|
+
// a maintenance trap.
|
|
203
|
+
//# sourceMappingURL=observers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observers.js","sourceRoot":"","sources":["../../src/client/observers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Construction options for `QodoClient` and friends.
|
|
3
|
+
*
|
|
4
|
+
* Strict — no `any` at the public surface. Optional fields that may grow over
|
|
5
|
+
* time (e.g. `headers`, `transport`) carry an index-signature-free interface so
|
|
6
|
+
* adding a key is a SemVer-additive change rather than a silent extension.
|
|
7
|
+
*/
|
|
8
|
+
import type { OTelAPI } from '../tracing/types.js';
|
|
9
|
+
import type { MessageId, SessionId } from '../qar/ids.js';
|
|
10
|
+
import type { WSTransportFactory } from './transport.js';
|
|
11
|
+
import type { SkillsConfig, SkillSpecifier } from '../skills/types.js';
|
|
12
|
+
/**
|
|
13
|
+
* Auth strategy passed to the client.
|
|
14
|
+
*
|
|
15
|
+
* `'env'` reads `QODO_API_KEY` (and falls back to `~/.qodo/auth.key`) via the
|
|
16
|
+
* existing `AuthProvider`; explicit `{ apiKey }` uses the literal value.
|
|
17
|
+
*
|
|
18
|
+
* No environment selector beyond this — 2.0 talks to QAR only. The endpoint
|
|
19
|
+
* itself is `baseUrl`.
|
|
20
|
+
*/
|
|
21
|
+
export type ClientAuth = 'env' | {
|
|
22
|
+
readonly apiKey: string;
|
|
23
|
+
};
|
|
24
|
+
/** Connection-level retry / backoff hints. */
|
|
25
|
+
export interface ClientReconnectOptions {
|
|
26
|
+
/** Hard cap on reconnect attempts before the iterator throws. */
|
|
27
|
+
readonly maxAttempts?: number;
|
|
28
|
+
/** Initial backoff delay in milliseconds. */
|
|
29
|
+
readonly initialBackoffMs?: number;
|
|
30
|
+
/** Backoff multiplier applied each attempt. */
|
|
31
|
+
readonly backoffMultiplier?: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* App-level backpressure tuning. QAR emits `flow.pause` when its
|
|
35
|
+
* per-session in-flight envelope counter crosses the high watermark; the SDK
|
|
36
|
+
* queues subsequent `task.start` / `task.continue` until `flow.resume`
|
|
37
|
+
* arrives. `tool.response` and `task.cancel` ignore the pause — the server is
|
|
38
|
+
* either awaiting them (tool answer) or the user wants out (cancel).
|
|
39
|
+
*/
|
|
40
|
+
export interface ClientBackpressureOptions {
|
|
41
|
+
/**
|
|
42
|
+
* Soft cap on the number of envelopes the SDK will hold in its paused queue.
|
|
43
|
+
* Past this, public-API calls reject with `QodoBackpressureError`. Default
|
|
44
|
+
* `100`. Healthy traffic typically queues 0–2 envelopes; reaching the cap
|
|
45
|
+
* means the consumer is driving far above QAR's in-flight ceiling.
|
|
46
|
+
*/
|
|
47
|
+
readonly maxPausedQueueSize?: number;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Construction options for `QodoClient`.
|
|
51
|
+
*
|
|
52
|
+
* Required: `baseUrl` (the QAR deployment), `auth`. Everything else is optional.
|
|
53
|
+
*/
|
|
54
|
+
export interface ClientOptions {
|
|
55
|
+
/**
|
|
56
|
+
* Base URL of the QAR deployment, e.g. `https://qar.qodo.ai`. The client
|
|
57
|
+
* derives the WS endpoint (`wss://<base>/v2/qar/ws/connect`) and HTTP routes
|
|
58
|
+
* (`<base>/v1/info`, `<base>/v1/auth/me`, …) from this.
|
|
59
|
+
*/
|
|
60
|
+
readonly baseUrl: string;
|
|
61
|
+
/** How to obtain the bearer token. */
|
|
62
|
+
readonly auth: ClientAuth;
|
|
63
|
+
/**
|
|
64
|
+
* Optional OTel API surface (typically `import * as otel from '@opentelemetry/api'`).
|
|
65
|
+
*
|
|
66
|
+
* If provided, the client emits `qar.client.*` spans and propagates W3C
|
|
67
|
+
* Trace Context on every outbound envelope. If omitted, the client
|
|
68
|
+
* no-ops cleanly — no warnings, no bundled fallback TracerProvider.
|
|
69
|
+
*/
|
|
70
|
+
readonly otel?: OTelAPI;
|
|
71
|
+
/** Reconnect / backoff hints. */
|
|
72
|
+
readonly reconnect?: ClientReconnectOptions;
|
|
73
|
+
/** App-level backpressure tuning. */
|
|
74
|
+
readonly backpressure?: ClientBackpressureOptions;
|
|
75
|
+
/**
|
|
76
|
+
* Extra HTTP headers attached to non-WS calls (`/v1/info`, `/v1/auth/me`, …).
|
|
77
|
+
* The bearer header is set automatically from `auth`.
|
|
78
|
+
*/
|
|
79
|
+
readonly headers?: {
|
|
80
|
+
readonly [name: string]: string;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Override the WebSocket transport factory.
|
|
84
|
+
*
|
|
85
|
+
* Default: `defaultTransportFactory`, which opens a real WS connection via the
|
|
86
|
+
* `ws` package. Tests inject a fake factory to avoid the network. Useful for
|
|
87
|
+
* consumers running in environments where `ws` doesn't fit (e.g. browsers
|
|
88
|
+
* with the WHATWG WebSocket — they'd write a thin adapter here).
|
|
89
|
+
*/
|
|
90
|
+
readonly transport?: WSTransportFactory;
|
|
91
|
+
/**
|
|
92
|
+
* Skills foundation config. When provided, the client builds a
|
|
93
|
+
* `SkillsManager` at construction; `tasks.startWithAgent` and
|
|
94
|
+
* `tasks.startWithGraph` auto-inject a slim `<available_skills>` block
|
|
95
|
+
* into inline-agent instructions before the envelope hits the wire.
|
|
96
|
+
*
|
|
97
|
+
* Omit to disable; pass `{ sources: [] }` to opt in to the manager
|
|
98
|
+
* surface but ship no skills. The block lands inside the consumer's
|
|
99
|
+
* existing instructions text — a first-class `available_skills` wire
|
|
100
|
+
* field is a follow-up.
|
|
101
|
+
*/
|
|
102
|
+
readonly skills?: SkillsConfig;
|
|
103
|
+
/**
|
|
104
|
+
* Opt in to sending the bearer token over an insecure (`http://` / `ws://`)
|
|
105
|
+
* transport.
|
|
106
|
+
*
|
|
107
|
+
* `connect()` always emits the `Authorization: Bearer <token>` header on the
|
|
108
|
+
* upgrade. Over `ws://` that header is plaintext on the wire — a passive
|
|
109
|
+
* observer can capture the token. The default rejects insecure URLs in
|
|
110
|
+
* `connect()` (before the upgrade actually happens) so the failure surfaces
|
|
111
|
+
* with a typed `QodoClientOptionsError` and the bearer is never sent.
|
|
112
|
+
*
|
|
113
|
+
* Set to `true` for **local development only** (e.g. `ws://localhost:8000`
|
|
114
|
+
* against a dev QAR). Production consumers must use `wss://`.
|
|
115
|
+
*
|
|
116
|
+
* Default: `false`.
|
|
117
|
+
*/
|
|
118
|
+
readonly allowInsecureTransport?: boolean;
|
|
119
|
+
}
|
|
120
|
+
/** Per-task options forwarded to `tasks.start` / `tasks.continue`. */
|
|
121
|
+
export interface TaskOptions {
|
|
122
|
+
/**
|
|
123
|
+
* Abort signal for cooperative cancellation. The iterator stops yielding and
|
|
124
|
+
* an in-flight task is cancelled via `task.cancel`.
|
|
125
|
+
*/
|
|
126
|
+
readonly signal?: AbortSignal;
|
|
127
|
+
/**
|
|
128
|
+
* Caller-pinned skills for this run. Each entry is a bare name,
|
|
129
|
+
* vendor/name, or vendor/name@version specifier; the SkillsManager
|
|
130
|
+
* resolves and marks them `[loaded]` in the slim index. Unresolved
|
|
131
|
+
* names throw `SkillNotFoundError` synchronously. `undefined` falls
|
|
132
|
+
* back to `SkillsConfig.activate`; `[]` is "explicitly pinned nothing"
|
|
133
|
+
* (overrides constructor default).
|
|
134
|
+
*
|
|
135
|
+
* Records the pinned set in the slim index; runtime body injection
|
|
136
|
+
* (the L1 caller-pinned activation path) is provided by the
|
|
137
|
+
* `qodo-skills` MCP server.
|
|
138
|
+
*/
|
|
139
|
+
readonly skills?: readonly SkillSpecifier[];
|
|
140
|
+
/**
|
|
141
|
+
* "Current file" context for the `paths:` filter. Consumers without a
|
|
142
|
+
* current-file concept omit this; the renderer treats `paths:` as
|
|
143
|
+
* no-op for those skills.
|
|
144
|
+
*/
|
|
145
|
+
readonly skillsCurrentFile?: string;
|
|
146
|
+
/**
|
|
147
|
+
* Optional caller-supplied work-unit identity for cross-pod session
|
|
148
|
+
* serialization on the deterministic-key path.
|
|
149
|
+
*
|
|
150
|
+
* When OMITTED (default), QAR mints a fresh `uuidv7()` and derives
|
|
151
|
+
* `session_id` from that — every `task.start` call produces a unique
|
|
152
|
+
* session_id and no two pods coordinate. This is the **DX default** —
|
|
153
|
+
* the right shape for one-shot scripts, CLI tools, single-process
|
|
154
|
+
* consumers, and any caller that doesn't need cross-pod coordination.
|
|
155
|
+
*
|
|
156
|
+
* When PRESENT, QAR derives `session_id = uuidv5(QAR_NS_V1,
|
|
157
|
+
* tenant_id + ":" + idempotencyKey)`. Two pods receiving the same
|
|
158
|
+
* `(tenant_id, idempotencyKey)` derive the same `session_id` and
|
|
159
|
+
* serialize on the same lease key (`qar.session_runs`) — the basis
|
|
160
|
+
* for Slack-thread-per-pod, PR-per-pod, customer-issue-per-pod
|
|
161
|
+
* scale-out topologies. Encode your app-level fine scope INTO the
|
|
162
|
+
* string:
|
|
163
|
+
*
|
|
164
|
+
* - Slack threads: `${teamId}:${channelId}:${threadTs}` (or
|
|
165
|
+
* `${teamId}:dm:${userId}` for DM fallback)
|
|
166
|
+
* - GitHub PRs: `${owner}/${repo}:pr:${prNumber}`
|
|
167
|
+
* - Customer issues: `${customerId}:${issueId}`
|
|
168
|
+
*
|
|
169
|
+
* **Validation** (mirrors QAR's `Field(min_length=1, max_length=512,
|
|
170
|
+
* pattern=r"^[^\x00]+$")`): 1–512 **Unicode code points** (NOT bytes
|
|
171
|
+
* — counted with `[...str].length`), no NUL byte. Invalid values
|
|
172
|
+
* throw {@link QodoIdempotencyKeyValidationError} synchronously,
|
|
173
|
+
* before the wire write.
|
|
174
|
+
*
|
|
175
|
+
* **Anti-patterns**:
|
|
176
|
+
* - `idempotencyKey = Date.now()` — looks deterministic, collides
|
|
177
|
+
* on rapid-fire calls within clock resolution.
|
|
178
|
+
* - `idempotencyKey = randomUUID()` / fresh random per call — works
|
|
179
|
+
* correctly (every call gets a unique session_id) but defeats
|
|
180
|
+
* the purpose; omit the field and let the server mint instead.
|
|
181
|
+
*
|
|
182
|
+
* **Lost-ack retry contract** (mandatory): the omitted-key path is
|
|
183
|
+
* **non-idempotent** across `task.start` retries. If the client
|
|
184
|
+
* issues `task.start` without `idempotencyKey`, doesn't receive the
|
|
185
|
+
* `task.started` ack (transport drop, timeout), and naively retries,
|
|
186
|
+
* the server mints a NEW uuidv7 and a SECOND fresh session starts.
|
|
187
|
+
* The SDK MUST NOT silently retry an uncertain `task.start` without
|
|
188
|
+
* a sticky key. Consumers requiring lost-ack idempotent retry MUST
|
|
189
|
+
* pass a deterministic key (domain-derived or a sticky per-attempt
|
|
190
|
+
* UUIDv7). A Phase-2 `attemptKey()` helper that codifies the
|
|
191
|
+
* sticky-per-attempt pattern is tracked separately.
|
|
192
|
+
*/
|
|
193
|
+
readonly idempotencyKey?: string;
|
|
194
|
+
/**
|
|
195
|
+
* Explicit cold-address `session_id`.
|
|
196
|
+
*
|
|
197
|
+
* Meaningful only for `tasks.continue` (and via {@link ResubscribeOptions}
|
|
198
|
+
* for `tasks.resubscribe`). On `tasks.start` this field is IGNORED at
|
|
199
|
+
* both the wire and span layers:
|
|
200
|
+
* - The wire envelope strips `session_id` (admission CREATES the
|
|
201
|
+
* session); a caller-supplied value cannot reach the server.
|
|
202
|
+
* - SDK-side span attribution (`subscribeAndSend`) explicitly gates
|
|
203
|
+
* this field on `outbound.kind !== 'task.start'` so a stale caller
|
|
204
|
+
* value can't pollute the `task.start` span's `qar.session_id`
|
|
205
|
+
* attribute before the server-derived id arrives via the
|
|
206
|
+
* `task.started` ack.
|
|
207
|
+
*
|
|
208
|
+
* Pass the value the SDK previously exposed on `await stream.sessionId`
|
|
209
|
+
* (or persisted alongside the `taskId` from a prior admission) when
|
|
210
|
+
* reusing the `taskId` across processes.
|
|
211
|
+
*
|
|
212
|
+
* When OMITTED on a continue call, the SDK looks up the per-Task
|
|
213
|
+
* session captured from the in-process `task.started` ack. If neither
|
|
214
|
+
* a captured session nor an explicit override is available, the SDK
|
|
215
|
+
* throws {@link QodoColdAddressError} synchronously BEFORE the wire
|
|
216
|
+
* write — the doctrinal correct shape for cross-process recovery,
|
|
217
|
+
* replacing a zero-UUID sentinel that would otherwise send a rejected
|
|
218
|
+
* frame to the wire.
|
|
219
|
+
*/
|
|
220
|
+
readonly sessionId?: SessionId;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Options for `tasks.cancel`. The payload arg already carries the cancel
|
|
224
|
+
* reason; this options bag is for control fields (abort signal,
|
|
225
|
+
* cold-address `sessionId`).
|
|
226
|
+
*/
|
|
227
|
+
export interface TaskCancelOptions {
|
|
228
|
+
/** Abort signal for cooperative cancellation of the cancel itself. */
|
|
229
|
+
readonly signal?: AbortSignal;
|
|
230
|
+
/**
|
|
231
|
+
* Explicit cold-address `session_id` for cancelling a task across
|
|
232
|
+
* processes. Same semantics as the `sessionId` field on {@link TaskOptions}:
|
|
233
|
+
* required when the `taskId` was hydrated from durable storage rather
|
|
234
|
+
* than observed from an in-process `task.started`.
|
|
235
|
+
*/
|
|
236
|
+
readonly sessionId?: SessionId;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Options for `tools.respond`. Today carries only the cold-address
|
|
240
|
+
* `sessionId` override; an explicit options bag is the right shape for
|
|
241
|
+
* future control fields (e.g. per-call abort, span overrides) without
|
|
242
|
+
* breaking the existing overload signature.
|
|
243
|
+
*/
|
|
244
|
+
export interface ToolRespondOptions {
|
|
245
|
+
/**
|
|
246
|
+
* Explicit cold-address `session_id` for responding to a `tool_call_id`
|
|
247
|
+
* whose originating `tool.request` was never observed in this process
|
|
248
|
+
* (cross-process HITL flow: a long-running approval lands on a
|
|
249
|
+
* different SDK instance than the one that emitted the request).
|
|
250
|
+
*/
|
|
251
|
+
readonly sessionId?: SessionId;
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Options for `tasks.resubscribe`. Mirrors `TaskResubscribePayload` so consumers
|
|
255
|
+
* can hand the same shape they'd hand the wire.
|
|
256
|
+
*/
|
|
257
|
+
export interface ResubscribeOptions extends TaskOptions {
|
|
258
|
+
/**
|
|
259
|
+
* The most recent `message_id` the client has already observed. QAR replays
|
|
260
|
+
* from immediately after this point (server-side per-session ring buffer,
|
|
261
|
+
* cap 1000 envelopes per the design doc).
|
|
262
|
+
*
|
|
263
|
+
* Maps to `since_message_id` on the wire when the client encodes the
|
|
264
|
+
* envelope. Branded `MessageId` so consumers can't accidentally pass a
|
|
265
|
+
* `TaskId` / `SessionId` here.
|
|
266
|
+
*/
|
|
267
|
+
readonly sinceMessageId?: MessageId;
|
|
268
|
+
}
|
|
269
|
+
//# sourceMappingURL=options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/client/options.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEvE;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D,8CAA8C;AAC9C,MAAM,WAAW,sBAAsB;IACrC,iEAAiE;IACjE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,6CAA6C;IAC7C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,+CAA+C;IAC/C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,sCAAsC;IACtC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAE1B;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAExB,iCAAiC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,sBAAsB,CAAC;IAE5C,qCAAqC;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,yBAAyB,CAAC;IAElD;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAEvD;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAExC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAE/B;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAC3C;AAED,sEAAsE;AACtE,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAE9B;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAE5C;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAEjC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,sEAAsE;IACtE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAE9B;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;CAChC;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD;;;;;;;;OAQG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC;CACrC"}
|