@qodo/sdk 0.13.4 → 2.0.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +1139 -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 +893 -0
- package/dist/client/connection.d.ts.map +1 -0
- package/dist/client/connection.js +2189 -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,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auth — browser stub. Same API surface as `auth/index.ts`; explicit-`apiKey`
|
|
3
|
+
* only.
|
|
4
|
+
*
|
|
5
|
+
* The Node version supports two implicit resolution paths — `QODO_API_KEY`
|
|
6
|
+
* env var and a `~/.qodo/auth.key` file. Neither belongs in browser:
|
|
7
|
+
* - Filesystem (`os`/`fs`/`path`) doesn't exist in browser at all.
|
|
8
|
+
* - `process.env.QODO_API_KEY` is more dangerous than useful — bundlers
|
|
9
|
+
* like Vite/Next/webpack-DefinePlugin commonly inline `process.env.*`
|
|
10
|
+
* at build time, which would embed the secret into the shipped JS
|
|
11
|
+
* where any user can read it. The safe answer is "browser consumers
|
|
12
|
+
* pass `apiKey` explicitly."
|
|
13
|
+
*
|
|
14
|
+
* So `validate()` throws `QodoAuthError` directing the consumer to wire
|
|
15
|
+
* `apiKey` through their own server-side handshake (token vending) rather
|
|
16
|
+
* than letting it leak through the build.
|
|
17
|
+
*
|
|
18
|
+
* The Node version of this file is `auth/index.ts`; the swap is wired via the
|
|
19
|
+
* `browser` field in `package.json` so consumers don't change a single import.
|
|
20
|
+
*/
|
|
21
|
+
export type AuthSource = 'env' | 'file' | 'explicit';
|
|
22
|
+
export interface AuthConfig {
|
|
23
|
+
readonly token: string;
|
|
24
|
+
readonly source: AuthSource;
|
|
25
|
+
}
|
|
26
|
+
export declare class QodoAuthError extends Error {
|
|
27
|
+
readonly name = "QodoAuthError";
|
|
28
|
+
constructor(message: string);
|
|
29
|
+
}
|
|
30
|
+
export declare class AuthProvider {
|
|
31
|
+
private key;
|
|
32
|
+
private keySource;
|
|
33
|
+
constructor(apiKey?: string);
|
|
34
|
+
validate(): void;
|
|
35
|
+
getAuthConfig(): AuthConfig;
|
|
36
|
+
handle401Error(): never;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=index.browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../../src/auth/index.browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;AAErD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC7B;AAED,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAgB,IAAI,mBAAmB;gBAC3B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,GAAG,CAAqB;IAChC,OAAO,CAAC,SAAS,CAAa;gBAElB,MAAM,CAAC,EAAE,MAAM;IAapB,QAAQ,IAAI,IAAI;IAShB,aAAa,IAAI,UAAU;IAI3B,cAAc,IAAI,KAAK;CAS/B"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auth — browser stub. Same API surface as `auth/index.ts`; explicit-`apiKey`
|
|
3
|
+
* only.
|
|
4
|
+
*
|
|
5
|
+
* The Node version supports two implicit resolution paths — `QODO_API_KEY`
|
|
6
|
+
* env var and a `~/.qodo/auth.key` file. Neither belongs in browser:
|
|
7
|
+
* - Filesystem (`os`/`fs`/`path`) doesn't exist in browser at all.
|
|
8
|
+
* - `process.env.QODO_API_KEY` is more dangerous than useful — bundlers
|
|
9
|
+
* like Vite/Next/webpack-DefinePlugin commonly inline `process.env.*`
|
|
10
|
+
* at build time, which would embed the secret into the shipped JS
|
|
11
|
+
* where any user can read it. The safe answer is "browser consumers
|
|
12
|
+
* pass `apiKey` explicitly."
|
|
13
|
+
*
|
|
14
|
+
* So `validate()` throws `QodoAuthError` directing the consumer to wire
|
|
15
|
+
* `apiKey` through their own server-side handshake (token vending) rather
|
|
16
|
+
* than letting it leak through the build.
|
|
17
|
+
*
|
|
18
|
+
* The Node version of this file is `auth/index.ts`; the swap is wired via the
|
|
19
|
+
* `browser` field in `package.json` so consumers don't change a single import.
|
|
20
|
+
*/
|
|
21
|
+
export class QodoAuthError extends Error {
|
|
22
|
+
name = 'QodoAuthError';
|
|
23
|
+
constructor(message) {
|
|
24
|
+
super(message);
|
|
25
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export class AuthProvider {
|
|
29
|
+
key;
|
|
30
|
+
keySource;
|
|
31
|
+
constructor(apiKey) {
|
|
32
|
+
if (apiKey !== undefined && apiKey.length > 0) {
|
|
33
|
+
this.key = apiKey;
|
|
34
|
+
this.keySource = 'explicit';
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
// Browser path: no env-var, no file fallback. The `keySource` is set to
|
|
38
|
+
// `'explicit'` (the only legal browser source) so `handle401Error()`'s
|
|
39
|
+
// diagnostic points the user at the right surface to fix.
|
|
40
|
+
this.key = undefined;
|
|
41
|
+
this.keySource = 'explicit';
|
|
42
|
+
}
|
|
43
|
+
validate() {
|
|
44
|
+
if (this.key !== undefined && this.key.length > 0)
|
|
45
|
+
return;
|
|
46
|
+
throw new QodoAuthError('Qodo API key not found. In browser bundles, pass an explicit `apiKey` ' +
|
|
47
|
+
'to QodoClient — env-var and filesystem fallbacks are Node-only and ' +
|
|
48
|
+
'would risk embedding the secret in the shipped JS.');
|
|
49
|
+
}
|
|
50
|
+
getAuthConfig() {
|
|
51
|
+
return { token: this.key ?? '', source: this.keySource };
|
|
52
|
+
}
|
|
53
|
+
handle401Error() {
|
|
54
|
+
const where = this.keySource === 'env'
|
|
55
|
+
? 'QODO_API_KEY environment variable'
|
|
56
|
+
: this.keySource === 'file'
|
|
57
|
+
? '~/.qodo/auth.key'
|
|
58
|
+
: 'apiKey passed to QodoClient';
|
|
59
|
+
throw new QodoAuthError(`Invalid API key (source: ${where})`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=index.browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../../src/auth/index.browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AASH,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtB,IAAI,GAAG,eAAe,CAAC;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAED,MAAM,OAAO,YAAY;IACf,GAAG,CAAqB;IACxB,SAAS,CAAa;IAE9B,YAAY,MAAe;QACzB,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC;YAClB,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,wEAAwE;QACxE,uEAAuE;QACvE,0DAA0D;QAC1D,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;IAC9B,CAAC;IAEM,QAAQ;QACb,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO;QAC1D,MAAM,IAAI,aAAa,CACrB,wEAAwE;YACtE,qEAAqE;YACrE,oDAAoD,CACvD,CAAC;IACJ,CAAC;IAEM,aAAa;QAClB,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;IAC3D,CAAC;IAEM,cAAc;QACnB,MAAM,KAAK,GACT,IAAI,CAAC,SAAS,KAAK,KAAK;YACtB,CAAC,CAAC,mCAAmC;YACrC,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM;gBACzB,CAAC,CAAC,kBAAkB;gBACpB,CAAC,CAAC,6BAA6B,CAAC;QACtC,MAAM,IAAI,aAAa,CAAC,4BAA4B,KAAK,GAAG,CAAC,CAAC;IAChE,CAAC;CACF"}
|
package/dist/auth/index.d.ts
CHANGED
|
@@ -1,43 +1,57 @@
|
|
|
1
|
-
import { AuthConfig } from "../api/types.js";
|
|
2
|
-
export declare const CONFIG: {
|
|
3
|
-
readonly PRODUCTION: "https://api.ng.command.qodo.ai";
|
|
4
|
-
readonly BETA: "https://api.ng.beta.command.qodo.ai";
|
|
5
|
-
readonly LOCAL: "http://0.0.0.0:5432";
|
|
6
|
-
readonly DEFAULT_ENV: "https://api.ng.command.qodo.ai";
|
|
7
|
-
};
|
|
8
1
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
2
|
+
* Auth — environment-scoped bearer-key resolution.
|
|
3
|
+
*
|
|
4
|
+
* The bearer model is unchanged from 1.x. `Authorization: Bearer <token>`
|
|
5
|
+
* on the WS upgrade and HTTP routes; QAR forwards to qodo-platform.
|
|
6
|
+
* The SDK's job is to produce a valid bearer when asked, and to throw
|
|
7
|
+
* a typed error when it can't.
|
|
8
|
+
*
|
|
9
|
+
* Multiple `QodoClient` instances can run in the same Node.js process (Studio,
|
|
10
|
+
* IDE extension, CI runner all in one host). Each holds an `AuthProvider`
|
|
11
|
+
* instance so they don't trample each other's keys via module-level state.
|
|
12
|
+
*/
|
|
13
|
+
/** Where the bearer came from. Used in error messages so consumers know what to fix. */
|
|
14
|
+
export type AuthSource = 'env' | 'file' | 'explicit';
|
|
15
|
+
/** Resolved bearer + provenance. Returned by `AuthProvider.getAuthConfig()`. */
|
|
16
|
+
export interface AuthConfig {
|
|
17
|
+
readonly token: string;
|
|
18
|
+
readonly source: AuthSource;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Auth-related failure. Constructor signature unchanged from 1.x for binary
|
|
22
|
+
* compatibility with existing handlers (Studio, IDE extension catch by `name`).
|
|
23
|
+
*/
|
|
24
|
+
export declare class QodoAuthError extends Error {
|
|
25
|
+
readonly name = "QodoAuthError";
|
|
26
|
+
constructor(message: string);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Resolves and validates a Qodo API key.
|
|
30
|
+
*
|
|
31
|
+
* Resolution order:
|
|
32
|
+
* 1. Explicit `apiKey` argument to the constructor (`source: 'explicit'`).
|
|
33
|
+
* 2. `QODO_API_KEY` environment variable (`source: 'env'`).
|
|
34
|
+
* 3. `~/.qodo/auth.key` (`source: 'file'`).
|
|
35
|
+
*
|
|
36
|
+
* `validate()` is the lazy probe — call it before the first network use; it
|
|
37
|
+
* touches the filesystem only if the env var was unset.
|
|
13
38
|
*/
|
|
14
39
|
export declare class AuthProvider {
|
|
15
40
|
private key;
|
|
16
41
|
private keySource;
|
|
17
42
|
constructor(apiKey?: string);
|
|
18
43
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
44
|
+
* Ensure a key is available. Falls back to `~/.qodo/auth.key` if neither
|
|
45
|
+
* explicit nor env-provided. Throws `QodoAuthError` on failure.
|
|
21
46
|
*/
|
|
22
47
|
validate(): void;
|
|
48
|
+
/** Resolved bearer + provenance. Call `validate()` first; this returns `''` if the key isn't loaded. */
|
|
23
49
|
getAuthConfig(): AuthConfig;
|
|
50
|
+
/**
|
|
51
|
+
* Throw a `QodoAuthError` whose message names the auth source — useful when
|
|
52
|
+
* an HTTP/WS round-trip returns 401 and the caller wants the user to fix
|
|
53
|
+
* the right place.
|
|
54
|
+
*/
|
|
24
55
|
handle401Error(): never;
|
|
25
56
|
}
|
|
26
|
-
/**
|
|
27
|
-
* Validates and loads the API key from environment or file.
|
|
28
|
-
* Throws QodoAuthError if no valid key is found.
|
|
29
|
-
*/
|
|
30
|
-
export declare const validateKey: () => void;
|
|
31
|
-
export declare function getAuthConfig(): AuthConfig;
|
|
32
|
-
export declare class QodoAuthError extends Error {
|
|
33
|
-
constructor(message: string);
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Handles 401 authentication errors by throwing QodoAuthError.
|
|
37
|
-
*/
|
|
38
|
-
export declare function handle401Error(): never;
|
|
39
|
-
export declare function isBetaVersion(): boolean;
|
|
40
|
-
export declare function getApiEndpoint(): string;
|
|
41
|
-
export declare function shouldDisplayEndpoint(): boolean;
|
|
42
|
-
export declare function getEndpointDisplayMessage(): string | null;
|
|
43
57
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/auth/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,wFAAwF;AACxF,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;AAErD,gFAAgF;AAChF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC7B;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAgB,IAAI,mBAAmB;gBAC3B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;;;;GAUG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,GAAG,CAAqB;IAChC,OAAO,CAAC,SAAS,CAAa;gBAElB,MAAM,CAAC,EAAE,MAAM;IAU3B;;;OAGG;IACI,QAAQ,IAAI,IAAI;IAsBvB,wGAAwG;IACjG,aAAa,IAAI,UAAU;IAIlC;;;;OAIG;IACI,cAAc,IAAI,KAAK;CAS/B"}
|
package/dist/auth/index.js
CHANGED
|
@@ -1,46 +1,59 @@
|
|
|
1
|
-
import os from "node:os";
|
|
2
|
-
import path from "path";
|
|
3
|
-
import fs from "fs";
|
|
4
|
-
import { getCurrentVersion } from "../version.js";
|
|
5
|
-
// Constants
|
|
6
|
-
export const CONFIG = {
|
|
7
|
-
PRODUCTION: "https://api.ng.command.qodo.ai",
|
|
8
|
-
BETA: "https://api.ng.beta.command.qodo.ai",
|
|
9
|
-
LOCAL: "http://0.0.0.0:5432",
|
|
10
|
-
DEFAULT_ENV: "https://api.ng.command.qodo.ai",
|
|
11
|
-
};
|
|
12
|
-
// ---------------------------------------------------------------------------
|
|
13
|
-
// AuthProvider — environment-scoped auth state
|
|
14
|
-
// ---------------------------------------------------------------------------
|
|
15
1
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
2
|
+
* Auth — environment-scoped bearer-key resolution.
|
|
3
|
+
*
|
|
4
|
+
* The bearer model is unchanged from 1.x. `Authorization: Bearer <token>`
|
|
5
|
+
* on the WS upgrade and HTTP routes; QAR forwards to qodo-platform.
|
|
6
|
+
* The SDK's job is to produce a valid bearer when asked, and to throw
|
|
7
|
+
* a typed error when it can't.
|
|
8
|
+
*
|
|
9
|
+
* Multiple `QodoClient` instances can run in the same Node.js process (Studio,
|
|
10
|
+
* IDE extension, CI runner all in one host). Each holds an `AuthProvider`
|
|
11
|
+
* instance so they don't trample each other's keys via module-level state.
|
|
12
|
+
*/
|
|
13
|
+
import os from 'node:os';
|
|
14
|
+
import path from 'node:path';
|
|
15
|
+
import fs from 'node:fs';
|
|
16
|
+
/**
|
|
17
|
+
* Auth-related failure. Constructor signature unchanged from 1.x for binary
|
|
18
|
+
* compatibility with existing handlers (Studio, IDE extension catch by `name`).
|
|
19
|
+
*/
|
|
20
|
+
export class QodoAuthError extends Error {
|
|
21
|
+
name = 'QodoAuthError';
|
|
22
|
+
constructor(message) {
|
|
23
|
+
super(message);
|
|
24
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Resolves and validates a Qodo API key.
|
|
29
|
+
*
|
|
30
|
+
* Resolution order:
|
|
31
|
+
* 1. Explicit `apiKey` argument to the constructor (`source: 'explicit'`).
|
|
32
|
+
* 2. `QODO_API_KEY` environment variable (`source: 'env'`).
|
|
33
|
+
* 3. `~/.qodo/auth.key` (`source: 'file'`).
|
|
34
|
+
*
|
|
35
|
+
* `validate()` is the lazy probe — call it before the first network use; it
|
|
36
|
+
* touches the filesystem only if the env var was unset.
|
|
20
37
|
*/
|
|
21
38
|
export class AuthProvider {
|
|
22
39
|
key;
|
|
23
|
-
keySource
|
|
40
|
+
keySource;
|
|
24
41
|
constructor(apiKey) {
|
|
25
|
-
if (apiKey) {
|
|
42
|
+
if (apiKey !== undefined && apiKey.length > 0) {
|
|
26
43
|
this.key = apiKey;
|
|
27
|
-
this.keySource = '
|
|
44
|
+
this.keySource = 'explicit';
|
|
28
45
|
return;
|
|
29
46
|
}
|
|
30
|
-
// Read from environment (but DO NOT mutate process.env)
|
|
31
47
|
this.key = process.env.QODO_API_KEY;
|
|
32
|
-
|
|
33
|
-
this.keySource = 'env';
|
|
34
|
-
}
|
|
48
|
+
this.keySource = 'env';
|
|
35
49
|
}
|
|
36
50
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
51
|
+
* Ensure a key is available. Falls back to `~/.qodo/auth.key` if neither
|
|
52
|
+
* explicit nor env-provided. Throws `QodoAuthError` on failure.
|
|
39
53
|
*/
|
|
40
54
|
validate() {
|
|
41
|
-
if (this.key)
|
|
55
|
+
if (this.key !== undefined && this.key.length > 0)
|
|
42
56
|
return;
|
|
43
|
-
// Try reading from auth file
|
|
44
57
|
try {
|
|
45
58
|
const home = os.homedir();
|
|
46
59
|
const authFile = path.join(home, '.qodo', 'auth.key');
|
|
@@ -50,95 +63,29 @@ export class AuthProvider {
|
|
|
50
63
|
}
|
|
51
64
|
}
|
|
52
65
|
catch {
|
|
53
|
-
//
|
|
66
|
+
// File-read errors are non-fatal — the throw below is the canonical
|
|
67
|
+
// diagnostic for "I couldn't find a key anywhere."
|
|
54
68
|
}
|
|
55
|
-
if (
|
|
69
|
+
if (this.key === undefined || this.key.length === 0) {
|
|
56
70
|
throw new QodoAuthError('Qodo API key not found. Set the QODO_API_KEY environment variable or create ~/.qodo/auth.key');
|
|
57
71
|
}
|
|
58
72
|
}
|
|
73
|
+
/** Resolved bearer + provenance. Call `validate()` first; this returns `''` if the key isn't loaded. */
|
|
59
74
|
getAuthConfig() {
|
|
60
75
|
return { token: this.key ?? '', source: this.keySource };
|
|
61
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* Throw a `QodoAuthError` whose message names the auth source — useful when
|
|
79
|
+
* an HTTP/WS round-trip returns 401 and the caller wants the user to fix
|
|
80
|
+
* the right place.
|
|
81
|
+
*/
|
|
62
82
|
handle401Error() {
|
|
63
|
-
const
|
|
64
|
-
? '
|
|
65
|
-
:
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
// ---------------------------------------------------------------------------
|
|
70
|
-
// Legacy free functions — kept for backward compatibility (CLI / non-SDK paths)
|
|
71
|
-
// ---------------------------------------------------------------------------
|
|
72
|
-
let key = process.env.QODO_API_KEY;
|
|
73
|
-
let keySource = 'env';
|
|
74
|
-
/**
|
|
75
|
-
* Validates and loads the API key from environment or file.
|
|
76
|
-
* Throws QodoAuthError if no valid key is found.
|
|
77
|
-
*/
|
|
78
|
-
export const validateKey = () => {
|
|
79
|
-
if (!key && !process.env.QODO_API_KEY) {
|
|
80
|
-
try {
|
|
81
|
-
const home = os.homedir();
|
|
82
|
-
const authFile = path.join(home, '.qodo', 'auth.key');
|
|
83
|
-
if (fs.existsSync(authFile)) {
|
|
84
|
-
key = fs.readFileSync(authFile, 'utf-8').trim();
|
|
85
|
-
keySource = 'file';
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
catch {
|
|
89
|
-
// intentionally suppressed: file read errors are non-fatal
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
else if (!key) {
|
|
93
|
-
key = process.env.QODO_API_KEY;
|
|
94
|
-
}
|
|
95
|
-
if (!key) {
|
|
96
|
-
throw new QodoAuthError('Qodo API key not found. Set the QODO_API_KEY environment variable or create ~/.qodo/auth.key');
|
|
97
|
-
}
|
|
98
|
-
};
|
|
99
|
-
export function getAuthConfig() {
|
|
100
|
-
const token = key ?? process.env.QODO_API_KEY ?? "";
|
|
101
|
-
return { token, source: keySource };
|
|
102
|
-
}
|
|
103
|
-
export class QodoAuthError extends Error {
|
|
104
|
-
constructor(message) {
|
|
105
|
-
super(message);
|
|
106
|
-
this.name = 'QodoAuthError';
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Handles 401 authentication errors by throwing QodoAuthError.
|
|
111
|
-
*/
|
|
112
|
-
export function handle401Error() {
|
|
113
|
-
const authConfig = getAuthConfig();
|
|
114
|
-
const msg = authConfig.source === 'env'
|
|
115
|
-
? "Invalid API key. Please check your QODO_API_KEY environment variable."
|
|
116
|
-
: "Invalid API key stored in ~/.qodo/auth.key";
|
|
117
|
-
throw new QodoAuthError(msg);
|
|
118
|
-
}
|
|
119
|
-
export function isBetaVersion() {
|
|
120
|
-
const version = getCurrentVersion();
|
|
121
|
-
return version.includes('-beta');
|
|
122
|
-
}
|
|
123
|
-
export function getApiEndpoint() {
|
|
124
|
-
const currentEndpoint = process.env.QODO_API_BASE_URL || CONFIG.DEFAULT_ENV;
|
|
125
|
-
if (process.env.QODO_API_BASE_URL) {
|
|
126
|
-
return currentEndpoint;
|
|
127
|
-
}
|
|
128
|
-
return isBetaVersion() ? CONFIG.BETA : CONFIG.PRODUCTION;
|
|
129
|
-
}
|
|
130
|
-
export function shouldDisplayEndpoint() {
|
|
131
|
-
const endpoint = getApiEndpoint();
|
|
132
|
-
return endpoint !== CONFIG.PRODUCTION;
|
|
133
|
-
}
|
|
134
|
-
export function getEndpointDisplayMessage() {
|
|
135
|
-
if (!shouldDisplayEndpoint()) {
|
|
136
|
-
return null;
|
|
137
|
-
}
|
|
138
|
-
const endpoint = getApiEndpoint();
|
|
139
|
-
if (endpoint === CONFIG.BETA) {
|
|
140
|
-
return `Using beta endpoint: ${endpoint}`;
|
|
83
|
+
const where = this.keySource === 'env'
|
|
84
|
+
? 'QODO_API_KEY environment variable'
|
|
85
|
+
: this.keySource === 'file'
|
|
86
|
+
? '~/.qodo/auth.key'
|
|
87
|
+
: 'apiKey passed to QodoClient';
|
|
88
|
+
throw new QodoAuthError(`Invalid API key (source: ${where})`);
|
|
141
89
|
}
|
|
142
|
-
return `Using custom endpoint: ${endpoint}`;
|
|
143
90
|
}
|
|
144
91
|
//# sourceMappingURL=index.js.map
|
package/dist/auth/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAWzB;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtB,IAAI,GAAG,eAAe,CAAC;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,MAAM,OAAO,YAAY;IACf,GAAG,CAAqB;IACxB,SAAS,CAAa;IAE9B,YAAY,MAAe;QACzB,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC;YAClB,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED;;;OAGG;IACI,QAAQ;QACb,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO;QAE1D,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YACtD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;YAC1B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;YACpE,mDAAmD;QACrD,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,aAAa,CACrB,8FAA8F,CAC/F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,wGAAwG;IACjG,aAAa;QAClB,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACI,cAAc;QACnB,MAAM,KAAK,GACT,IAAI,CAAC,SAAS,KAAK,KAAK;YACtB,CAAC,CAAC,mCAAmC;YACrC,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM;gBACzB,CAAC,CAAC,kBAAkB;gBACpB,CAAC,CAAC,6BAA6B,CAAC;QACtC,MAAM,IAAI,aAAa,CAAC,4BAA4B,KAAK,GAAG,CAAC,CAAC;IAChE,CAAC;CACF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `AgentsClient` — observer for QAR's `agent.spawn` envelopes.
|
|
3
|
+
*
|
|
4
|
+
* Each envelope reports a sub-agent spawn: `child_agent_id` /
|
|
5
|
+
* `parent_agent_id` / `spawn_protocol` (`bulletin` or `direct`).
|
|
6
|
+
* Surfacing this stream lets consumers like Studio render a
|
|
7
|
+
* multi-agent run's topology live without scraping a side-channel.
|
|
8
|
+
*
|
|
9
|
+
* Filter helpers narrow by parent agent (rendering one tree branch) or by
|
|
10
|
+
* spawn protocol (bulletin-only vs direct-only views).
|
|
11
|
+
*/
|
|
12
|
+
import type { AgentSpawnEnvelope } from '../qar/envelopes.js';
|
|
13
|
+
import type { SpawnProtocol } from '../qar/payloads.js';
|
|
14
|
+
import { KindObserverClient } from './observers.js';
|
|
15
|
+
import type { EventSubscription } from './observers.js';
|
|
16
|
+
export interface AgentSpawnFilter {
|
|
17
|
+
/** Match against `payload.parent_agent_id` — useful for tree-branch views. */
|
|
18
|
+
readonly parent_agent_id?: string;
|
|
19
|
+
/** Match against `payload.spawn_protocol` — `'bulletin'` or `'direct'`. */
|
|
20
|
+
readonly spawn_protocol?: SpawnProtocol;
|
|
21
|
+
}
|
|
22
|
+
export type AgentSpawnHandler = (env: AgentSpawnEnvelope) => void;
|
|
23
|
+
export declare class AgentsClient extends KindObserverClient<'agent.spawn', AgentSpawnEnvelope> {
|
|
24
|
+
/**
|
|
25
|
+
* Register a handler invoked for every inbound `agent.spawn` envelope.
|
|
26
|
+
*
|
|
27
|
+
* Same multi-handler / fan-out / throw-swallowing semantics as the other
|
|
28
|
+
* observer surfaces.
|
|
29
|
+
*/
|
|
30
|
+
onSpawn(handler: AgentSpawnHandler): EventSubscription;
|
|
31
|
+
onSpawn(filter: AgentSpawnFilter, handler: AgentSpawnHandler): EventSubscription;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=AgentsClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentsClient.d.ts","sourceRoot":"","sources":["../../src/client/AgentsClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC;CACzC;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,kBAAkB,KAAK,IAAI,CAAC;AAElE,qBAAa,YAAa,SAAQ,kBAAkB,CAAC,aAAa,EAAE,kBAAkB,CAAC;IAMrF;;;;;OAKG;IACI,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,iBAAiB;IACtD,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,iBAAiB,GAAG,iBAAiB;CAcxF"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `AgentsClient` — observer for QAR's `agent.spawn` envelopes.
|
|
3
|
+
*
|
|
4
|
+
* Each envelope reports a sub-agent spawn: `child_agent_id` /
|
|
5
|
+
* `parent_agent_id` / `spawn_protocol` (`bulletin` or `direct`).
|
|
6
|
+
* Surfacing this stream lets consumers like Studio render a
|
|
7
|
+
* multi-agent run's topology live without scraping a side-channel.
|
|
8
|
+
*
|
|
9
|
+
* Filter helpers narrow by parent agent (rendering one tree branch) or by
|
|
10
|
+
* spawn protocol (bulletin-only vs direct-only views).
|
|
11
|
+
*/
|
|
12
|
+
import { KindObserverClient } from './observers.js';
|
|
13
|
+
export class AgentsClient extends KindObserverClient {
|
|
14
|
+
/** @internal — instantiated by `QodoClient`. */
|
|
15
|
+
constructor() {
|
|
16
|
+
super('agent.spawn');
|
|
17
|
+
}
|
|
18
|
+
onSpawn(filterOrHandler, maybeHandler) {
|
|
19
|
+
if (typeof filterOrHandler === 'function') {
|
|
20
|
+
return this.register(filterOrHandler);
|
|
21
|
+
}
|
|
22
|
+
if (maybeHandler === undefined) {
|
|
23
|
+
throw new Error('AgentsClient.onSpawn: handler is required when a filter is supplied');
|
|
24
|
+
}
|
|
25
|
+
const filter = filterOrHandler;
|
|
26
|
+
return this.register(maybeHandler, (env) => agentSpawnMatches(env, filter));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function agentSpawnMatches(env, filter) {
|
|
30
|
+
if (filter.parent_agent_id !== undefined &&
|
|
31
|
+
env.payload.parent_agent_id !== filter.parent_agent_id) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
if (filter.spawn_protocol !== undefined &&
|
|
35
|
+
env.payload.spawn_protocol !== filter.spawn_protocol) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=AgentsClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentsClient.js","sourceRoot":"","sources":["../../src/client/AgentsClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAYpD,MAAM,OAAO,YAAa,SAAQ,kBAAqD;IACrF,gDAAgD;IAChD;QACE,KAAK,CAAC,aAAa,CAAC,CAAC;IACvB,CAAC;IAUM,OAAO,CACZ,eAAqD,EACrD,YAAgC;QAEhC,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,MAAM,GAAG,eAAe,CAAC;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9E,CAAC;CACF;AAED,SAAS,iBAAiB,CAAC,GAAuB,EAAE,MAAwB;IAC1E,IACE,MAAM,CAAC,eAAe,KAAK,SAAS;QACpC,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,MAAM,CAAC,eAAe,EACtD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IACE,MAAM,CAAC,cAAc,KAAK,SAAS;QACnC,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,MAAM,CAAC,cAAc,EACpD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ArtifactsClient` — observer for QAR's `artifact.add` envelopes.
|
|
3
|
+
*
|
|
4
|
+
* Artifacts are durable outputs from a task or sub-agent: files,
|
|
5
|
+
* structured records, references the consumer can fetch later. The wire
|
|
6
|
+
* payload is `JsonObject`-shaped today; consumers narrow against their
|
|
7
|
+
* agent's known artifact schema. The filter helper below matches against
|
|
8
|
+
* the two fields QAR's runtime exposes consistently (`kind`, `agent_id`).
|
|
9
|
+
*
|
|
10
|
+
* Observer-only **today**, bidirectional on the wire. QAR's
|
|
11
|
+
* `BIDIRECTIONAL_KINDS` whitelist accepts `artifact.add` in either
|
|
12
|
+
* direction; the SDK aligns its taxonomy in `envelopes.ts` accordingly.
|
|
13
|
+
* The current SDK surface does not expose a client emitter — tool
|
|
14
|
+
* handlers that need to write artifacts route them through the agent
|
|
15
|
+
* loop on the QAR side. A future addition may surface
|
|
16
|
+
* `ArtifactsClient.emit(...)` without a wire-contract change.
|
|
17
|
+
*/
|
|
18
|
+
import type { ArtifactAddEnvelope } from '../qar/envelopes.js';
|
|
19
|
+
import { KindObserverClient } from './observers.js';
|
|
20
|
+
import type { EventSubscription } from './observers.js';
|
|
21
|
+
/**
|
|
22
|
+
* Best-effort filter for `artifact.add` envelopes. Each field, when set,
|
|
23
|
+
* must equal the same-named field in the envelope payload.
|
|
24
|
+
*/
|
|
25
|
+
export interface ArtifactFilter {
|
|
26
|
+
/** Match against `payload.kind` (artifact schema discriminator). */
|
|
27
|
+
readonly kind?: string;
|
|
28
|
+
/** Match against `payload.agent_id` (the agent that produced the artifact). */
|
|
29
|
+
readonly agent_id?: string;
|
|
30
|
+
}
|
|
31
|
+
export type ArtifactHandler = (env: ArtifactAddEnvelope) => void;
|
|
32
|
+
export declare class ArtifactsClient extends KindObserverClient<'artifact.add', ArtifactAddEnvelope> {
|
|
33
|
+
/**
|
|
34
|
+
* Register a handler invoked for every inbound `artifact.add` envelope.
|
|
35
|
+
*
|
|
36
|
+
* Same multi-handler / fan-out / throw-swallowing semantics as the other
|
|
37
|
+
* observer surfaces. The two-arg overload accepts an `ArtifactFilter`;
|
|
38
|
+
* only envelopes whose payload matches every set field invoke the handler.
|
|
39
|
+
*/
|
|
40
|
+
onArtifact(handler: ArtifactHandler): EventSubscription;
|
|
41
|
+
onArtifact(filter: ArtifactFilter, handler: ArtifactHandler): EventSubscription;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=ArtifactsClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArtifactsClient.d.ts","sourceRoot":"","sources":["../../src/client/ArtifactsClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,mBAAmB,KAAK,IAAI,CAAC;AAEjE,qBAAa,eAAgB,SAAQ,kBAAkB,CAAC,cAAc,EAAE,mBAAmB,CAAC;IAM1F;;;;;;OAMG;IACI,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,iBAAiB;IACvD,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe,GAAG,iBAAiB;CAcvF"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ArtifactsClient` — observer for QAR's `artifact.add` envelopes.
|
|
3
|
+
*
|
|
4
|
+
* Artifacts are durable outputs from a task or sub-agent: files,
|
|
5
|
+
* structured records, references the consumer can fetch later. The wire
|
|
6
|
+
* payload is `JsonObject`-shaped today; consumers narrow against their
|
|
7
|
+
* agent's known artifact schema. The filter helper below matches against
|
|
8
|
+
* the two fields QAR's runtime exposes consistently (`kind`, `agent_id`).
|
|
9
|
+
*
|
|
10
|
+
* Observer-only **today**, bidirectional on the wire. QAR's
|
|
11
|
+
* `BIDIRECTIONAL_KINDS` whitelist accepts `artifact.add` in either
|
|
12
|
+
* direction; the SDK aligns its taxonomy in `envelopes.ts` accordingly.
|
|
13
|
+
* The current SDK surface does not expose a client emitter — tool
|
|
14
|
+
* handlers that need to write artifacts route them through the agent
|
|
15
|
+
* loop on the QAR side. A future addition may surface
|
|
16
|
+
* `ArtifactsClient.emit(...)` without a wire-contract change.
|
|
17
|
+
*/
|
|
18
|
+
import { KindObserverClient } from './observers.js';
|
|
19
|
+
export class ArtifactsClient extends KindObserverClient {
|
|
20
|
+
/** @internal — instantiated by `QodoClient`. */
|
|
21
|
+
constructor() {
|
|
22
|
+
super('artifact.add');
|
|
23
|
+
}
|
|
24
|
+
onArtifact(filterOrHandler, maybeHandler) {
|
|
25
|
+
if (typeof filterOrHandler === 'function') {
|
|
26
|
+
return this.register(filterOrHandler);
|
|
27
|
+
}
|
|
28
|
+
if (maybeHandler === undefined) {
|
|
29
|
+
throw new Error('ArtifactsClient.onArtifact: handler is required when a filter is supplied');
|
|
30
|
+
}
|
|
31
|
+
const filter = filterOrHandler;
|
|
32
|
+
return this.register(maybeHandler, (env) => artifactMatches(env, filter));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function artifactMatches(env, filter) {
|
|
36
|
+
// Filter helpers are best-effort — a malformed payload (null, primitive,
|
|
37
|
+
// array) or a hostile property getter must behave like a non-match rather
|
|
38
|
+
// than throwing inside the predicate and getting logged as a handler error.
|
|
39
|
+
try {
|
|
40
|
+
const payload = env.payload;
|
|
41
|
+
if (payload === null || typeof payload !== 'object')
|
|
42
|
+
return false;
|
|
43
|
+
const obj = payload;
|
|
44
|
+
if (filter.kind !== undefined && obj.kind !== filter.kind)
|
|
45
|
+
return false;
|
|
46
|
+
if (filter.agent_id !== undefined && obj.agent_id !== filter.agent_id)
|
|
47
|
+
return false;
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=ArtifactsClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArtifactsClient.js","sourceRoot":"","sources":["../../src/client/ArtifactsClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAgBpD,MAAM,OAAO,eAAgB,SAAQ,kBAAuD;IAC1F,gDAAgD;IAChD;QACE,KAAK,CAAC,cAAc,CAAC,CAAC;IACxB,CAAC;IAWM,UAAU,CACf,eAAiD,EACjD,YAA8B;QAE9B,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;QAC/F,CAAC;QACD,MAAM,MAAM,GAAG,eAAe,CAAC;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5E,CAAC;CACF;AAED,SAAS,eAAe,CAAC,GAAwB,EAAE,MAAsB;IACvE,yEAAyE;IACzE,0EAA0E;IAC1E,4EAA4E;IAC5E,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,GAAG,CAAC,OAAkB,CAAC;QACvC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAClE,MAAM,GAAG,GAAG,OAAkC,CAAC;QAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxE,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QACpF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|