@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 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,0CAA0C;IAC1B,IAAI,GAAG,yBAAyB,CAAC;IACjD,yEAAyE;IACzD,GAAG,CAAS;IAC5B,sCAAsC;IACtB,MAAM,CAAS;IAE/B,YAAY,GAAW,EAAE,MAAc;QACrC,KAAK,CACH,GAAG,GAAG,4FAA4F,MAAM,0BAA0B,CACnI,CAAC;QACF,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/B,IAAI,GAAG,wBAAwB,CAAC;IAChD,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;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/B,IAAI,GAAG,wBAAwB,CAAC;IAChC,MAAM,CAAS;IACf,IAAI,CAAuC;IAE3D,YACE,IAA0C,EAC1C,MAAc,EACd,MAAgB;QAEhB,MAAM,SAAS,GACb,MAAM,KAAK,SAAS;YAClB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,MAAM,YAAY,KAAK;gBACvB,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE;gBACvB,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,MAAM,OAAO,GACX,IAAI,KAAK,aAAa;YACpB,CAAC,CAAC,gBAAgB,MAAM,wCAAwC;gBAC9D,mCAAmC,SAAS,wBAAwB;gBACpE,kDAAkD;YACpD,CAAC,CAAC,gBAAgB,MAAM,0CAA0C;gBAChE,2BAA2B,SAAS,6BAA6B;gBACjE,gEAAgE;gBAChE,4DAA4D,CAAC;QACnE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7B,IAAI,GAAG,sBAAsB,CAAC;IAC9B,IAAI,CAAuB;IAC3B,SAAS,CAAS;IAElC,YAAY,IAA0B,EAAE,SAAiB;QACvD,uDAAuD;QACvD,8DAA8D;QAC9D,sEAAsE;QACtE,gEAAgE;QAChE,+BAA+B;QAC/B,MAAM,OAAO,GACX,IAAI,KAAK,MAAM;YACb,CAAC,CAAC,mDAAmD;YACrD,CAAC,CAAC,eAAe,CAAC;QACtB,KAAK,CACH,4BAA4B,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,IAAI,SAAS,IAAI;YACtF,2EAA2E;YAC3E,mBAAmB,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,YAAY;YAChF,4EAA4E;YAC5E,0CAA0C,OAAO,GAAG,CACvD,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,iCAAkC,SAAQ,KAAK;IAC1C,IAAI,GAAG,mCAAmC,CAAC;IAC3C,MAAM,CAA4C;IAClD,UAAU,CAAS;IAEnC,YAAY,MAAiD,EAAE,UAAkB;QAC/E,MAAM,QAAQ,GAAkC;YAC9C,SAAS,EACP,gEAAgE;gBAChE,uEAAuE;YACzE,QAAQ,EACN,8DAA8D,UAAU,IAAI;gBAC5E,4EAA4E;YAC9E,YAAY,EACV,oEAAoE,UAAU,GAAG;gBACjF,yCAAyC;SAC5C,CAAC;QACF,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/B,IAAI,GAAG,wBAAwB,CAAC;IAChC,cAAc,CAAS;IAEvC,YAAY,cAAsB;QAChC,KAAK,CACH,qEAAqE;YACnE,mBAAmB,cAAc,yCAAyC;YAC1E,uEAAuE;YACvE,eAAe,CAClB,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3B,IAAI,GAAG,oBAAoB,CAAC;IAC5C,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,qBAAsB,SAAQ,KAAK;IAC9B,IAAI,GAAG,uBAAuB,CAAC;IAC/C,+BAA+B;IACf,IAAI,GAAG,uBAAuB,CAAC;IAC/C,0EAA0E;IAC1D,SAAS,CAAS;IAClC,0BAA0B;IACV,QAAQ,CAAS;IAEjC,YAAY,SAAiB,EAAE,QAAgB;QAC7C,KAAK,CACH,6EAA6E;YAC3E,IAAI,SAAS,IAAI,QAAQ,kDAAkD;YAC3E,wCAAwC,CAC3C,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChC,IAAI,GAAG,yBAAyB,CAAC;IACjD,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;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClC,IAAI,GAAG,2BAA2B,CAAC;IACnD,6CAA6C;IAC7B,MAAM,CAA0B;IAChD,6CAA6C;IAC7B,SAAS,CAAS;IAElC,YAAY,MAA+B,EAAE,SAAiB,EAAE,OAAe;QAC7E,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AA0BD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChC,IAAI,GAAW,yBAAyB,CAAC;IACzD,kDAAkD;IAClC,OAAO,CAAwB;IAE/C,YAAY,OAAe,EAAE,UAAiC,EAAE,KAAK,EAAE,UAAU,EAAE;QACjF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAED,8EAA8E;AAC9E,2EAA2E;AAC3E,qEAAqE;AACrE,6EAA6E;AAC7E,kDAAkD;AAClD,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,OAAO,mBAAoB,SAAQ,uBAAuB;IACrC,IAAI,GAAG,qBAAqB,CAAC;IACtD,mFAAmF;IACnE,QAAQ,CAAoB;IAE5C,YAAY,QAA2B;QACrC,KAAK,CACH,wCAAwC,QAAQ,CAAC,MAAM,oBAAoB;YACzE,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACxF,6EAA6E;YAC7E,yBAAyB,EAC3B,EAAE,KAAK,EAAE,UAAU,EAAE,CACtB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,MAAM,OAAO,uBAAwB,SAAQ,uBAAuB;IACzC,IAAI,GAAG,yBAAyB,CAAC;IAC1D,oFAAoF;IACpE,WAAW,CAAoB;IAE/C,YAAY,WAA8B;QACxC,KAAK,CACH,2DAA2D,WAAW,CAAC,MAAM,GAAG;YAC9E,OAAO,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,gCAAgC;YAC1E,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAClD,uEAAuE;YACvE,kDAAkD,EACpD,EAAE,KAAK,EAAE,UAAU,EAAE,CACtB,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,uBAAwB,SAAQ,uBAAuB;IACzC,IAAI,GAAG,yBAAyB,CAAC;IAC1D,gGAAgG;IAChF,QAAQ,CAAoB;IAE5C,YAAY,QAA2B;QACrC,KAAK,CACH,GAAG,QAAQ,CAAC,MAAM,kBAAkB,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;YACrE,iEAAiE;YACjE,4BAA4B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACxE,yDAAyD;YACzD,mDAAmD,EACrD,EAAE,KAAK,EAAE,UAAU,EAAE,CACtB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAiBD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IACvC,IAAI,GAAG,gCAAgC,CAAC;IACxD,wEAAwE;IACxD,QAAQ,CAA0C;IAElE,YAAY,QAAiD;QAC3D,KAAK,CACH,2BAA2B,QAAQ,CAAC,MAAM,+BAA+B,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI;YAC3G,QAAQ;iBACL,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;iBAChF,IAAI,CAAC,IAAI,CAAC,CAChB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AA4BD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IACvC,IAAI,GAAG,gCAAgC,CAAC;IACxD,oDAAoD;IACpC,MAAM,CAAkC;IAExD,YAAY,MAAuC;QACjD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,OAAO,GACX,IAAI,KAAK,SAAS;YAChB,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,MAAM,IAAI,CAAC,IAAI,IAAI,QAAQ,KAAK,IAAI,CAAC,OAAO,EAAE;YAC/D,CAAC,CAAC,gDAAgD,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,KAAK,CAAC,yCAAyC,OAAO,GAAG,IAAI,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IACnC,IAAI,GAAG,4BAA4B,CAAC;IACpD,+BAA+B;IACf,IAAI,GAAG,qBAAqB,CAAC;IAC7C,oDAAoD;IACpC,MAAM,CAAkC;IACxD,iFAAiF;IACjE,OAAO,CAAS;IAChC,8EAA8E;IAC9D,IAAI,CAAS;IAE7B,YAAY,MAAuC,EAAE,OAAgB;QACnE,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,SAAS,CACjB,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,MAAM,OAAO,CAAC,IAAI,IAAI,QAAQ,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;QACvF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,KAAK,CAAC,OAAO,IAAI,yCAAyC,OAAO,GAAG,IAAI,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAuBD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,sDAAsD;IACtC,IAAI,CAAS;IAC7B;;;OAGG;IACa,MAAM,CAA8B;IACpD,8EAA8E;IAC9D,kBAAkB,CAAU;IAE5C;;;;;;OAMG;IACH,YACE,IAAY,EACZ,IAAY,EACZ,OAAe,EACf,SAAsC,EAAE,EACxC,kBAA2B;QAE3B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,kBAAkB,KAAK,SAAS;YAAE,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QACnF,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAED,oEAAoE;AACpE,MAAM,OAAO,4BAA6B,SAAQ,eAAe;IAC/C,IAAI,GAAG,8BAA8B,CAAC;IACtD,YAAY,OAAe,EAAE,MAAoC,EAAE,kBAA2B;QAC5F,KAAK,CAAC,8BAA8B,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACtG,CAAC;CACF;AAED,8DAA8D;AAC9D,MAAM,OAAO,qBAAsB,SAAQ,eAAe;IACxC,IAAI,GAAG,uBAAuB,CAAC;IAC/C,YAAY,OAAe,EAAE,MAAoC,EAAE,kBAA2B;QAC5F,KAAK,CAAC,uBAAuB,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACvF,CAAC;CACF;AAED,yEAAyE;AACzE,MAAM,OAAO,qBAAsB,SAAQ,eAAe;IACxC,IAAI,GAAG,uBAAuB,CAAC;IAC/C,YAAY,OAAe,EAAE,MAAoC,EAAE,kBAA2B;QAC5F,KAAK,CAAC,uBAAuB,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACxF,CAAC;CACF;AAED,+EAA+E;AAC/E,MAAM,OAAO,uBAAwB,SAAQ,eAAe;IAC1C,IAAI,GAAG,yBAAyB,CAAC;IACjD,YAAY,OAAe,EAAE,MAAoC,EAAE,kBAA2B;QAC5F,KAAK,CAAC,yBAAyB,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC5F,CAAC;CACF;AAED,gEAAgE;AAChE,MAAM,OAAO,kCAAmC,SAAQ,eAAe;IACrD,IAAI,GAAG,oCAAoC,CAAC;IAC5D,YAAY,OAAe,EAAE,MAAoC,EAAE,kBAA2B;QAC5F,KAAK,CAAC,oCAAoC,EAAE,6BAA6B,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAClH,CAAC;CACF;AAED,+DAA+D;AAC/D,MAAM,OAAO,8BAA+B,SAAQ,eAAe;IACjD,IAAI,GAAG,gCAAgC,CAAC;IACxD,YAAY,OAAe,EAAE,MAAoC,EAAE,kBAA2B;QAC5F,KAAK,CAAC,gCAAgC,EAAE,0BAA0B,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC3G,CAAC;CACF;AAED,sEAAsE;AACtE,MAAM,OAAO,+BAAgC,SAAQ,eAAe;IAClD,IAAI,GAAG,iCAAiC,CAAC;IACzD,YAAY,OAAe,EAAE,MAAoC,EAAE,kBAA2B;QAC5F,KAAK,CAAC,iCAAiC,EAAE,0BAA0B,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC5G,CAAC;CACF;AAED,4DAA4D;AAC5D,MAAM,OAAO,iCAAkC,SAAQ,eAAe;IACpD,IAAI,GAAG,mCAAmC,CAAC;IAC3D,YAAY,OAAe,EAAE,MAAoC,EAAE,kBAA2B;QAC5F,KAAK,CAAC,mCAAmC,EAAE,6BAA6B,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACjH,CAAC;CACF;AAED,gFAAgF;AAChF,MAAM,OAAO,0BAA2B,SAAQ,eAAe;IAC7C,IAAI,GAAG,4BAA4B,CAAC;IACpD,YAAY,OAAe,EAAE,MAAoC,EAAE,kBAA2B;QAC5F,KAAK,CAAC,4BAA4B,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAClG,CAAC;CACF;AAED,yEAAyE;AACzE,MAAM,OAAO,iCAAkC,SAAQ,eAAe;IACpD,IAAI,GAAG,mCAAmC,CAAC;IAC3D,YAAY,OAAe,EAAE,MAAoC,EAAE,kBAA2B;QAC5F,KAAK,CAAC,mCAAmC,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAChH,CAAC;CACF;AAED,8DAA8D;AAC9D,MAAM,OAAO,6BAA8B,SAAQ,eAAe;IAChD,IAAI,GAAG,+BAA+B,CAAC;IACvD,YAAY,OAAe,EAAE,MAAoC,EAAE,kBAA2B;QAC5F,KAAK,CAAC,+BAA+B,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACvG,CAAC;CACF;AAED,6EAA6E;AAC7E,MAAM,OAAO,0BAA2B,SAAQ,eAAe;IAC7C,IAAI,GAAG,4BAA4B,CAAC;IACpD,YAAY,OAAe,EAAE,MAAoC,EAAE,kBAA2B;QAC5F,KAAK,CAAC,4BAA4B,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACjG,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,0BAA2B,SAAQ,eAAe;IAC7C,IAAI,GAAG,4BAA4B,CAAC;IACpD,YAAY,OAAe,EAAE,MAAoC,EAAE,kBAA2B;QAC5F,KAAK,CAAC,4BAA4B,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAClG,CAAC;CACF;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,wBAAyB,SAAQ,eAAe;IAC3C,IAAI,GAAG,0BAA0B,CAAC;IAClD,YAAY,OAAe,EAAE,MAAoC,EAAE,kBAA2B;QAC5F,KAAK,CAAC,0BAA0B,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC7F,CAAC;CACF;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,yBAA0B,SAAQ,eAAe;IAC5C,IAAI,GAAG,2BAA2B,CAAC;IACnD;;;;;;;;OAQG;IACI,SAAS,CAAU;IAC1B,YACE,OAAe,EACf,MAAoC,EACpC,kBAA2B;QAE3B,KAAK,CAAC,2BAA2B,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC/F,CAAC;IACD,iFAAiF;IAC1E,eAAe,CAAC,SAAiB;QACtC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/D,CAAC;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/B,IAAI,GAAG,wBAAwB,CAAC;IAChD,YAAY,OAAgB;QAC1B,KAAK,CACH,OAAO;YACL,6EAA6E;gBAC3E,gFAAgF,CACrF,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClC,IAAI,GAAG,2BAA2B,CAAC;IACnD,qEAAqE;IACrD,SAAS,CAAS;IAClC,8EAA8E;IAC9D,QAAQ,CAAS;IACjC,iEAAiE;IACjD,SAAS,CAAU;IAEnC,YAAY,SAAiB,EAAE,QAAgB,EAAE,SAAkB;QACjE,KAAK,CACH,+DAA+D,SAAS,KAAK;YAC3E,UAAU,QAAQ,4DAA4D;YAC9E,+DAA+D,CAClE,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QACxD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,sBAAuB,SAAQ,eAAe;IACzC,IAAI,GAAG,wBAAwB,CAAC;IAChD,YAAY,IAAY,EAAE,OAAe,EAAE,MAAoC,EAAE,kBAA2B;QAC1G,KAAK,CAAC,wBAAwB,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC7E,CAAC;CACF;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAAY;IAMZ,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,uBAAuB;YAC1B,OAAO,4BAA4B,CAAC;QACtC,KAAK,eAAe;YAClB,OAAO,qBAAqB,CAAC;QAC/B,KAAK,gBAAgB;YACnB,OAAO,qBAAqB,CAAC;QAC/B,KAAK,kBAAkB;YACrB,OAAO,uBAAuB,CAAC;QACjC,KAAK,6BAA6B;YAChC,OAAO,kCAAkC,CAAC;QAC5C,KAAK,0BAA0B;YAC7B,OAAO,8BAA8B,CAAC;QACxC,KAAK,0BAA0B;YAC7B,OAAO,+BAA+B,CAAC;QACzC,KAAK,6BAA6B;YAChC,OAAO,iCAAiC,CAAC;QAC3C,KAAK,qBAAqB;YACxB,OAAO,0BAA0B,CAAC;QACpC,KAAK,4BAA4B;YAC/B,OAAO,iCAAiC,CAAC;QAC3C,KAAK,uBAAuB;YAC1B,OAAO,6BAA6B,CAAC;QACvC,KAAK,oBAAoB;YACvB,OAAO,0BAA0B,CAAC;QACpC,KAAK,qBAAqB;YACxB,OAAO,0BAA0B,CAAC;QACpC,KAAK,mBAAmB;YACtB,kEAAkE;YAClE,mEAAmE;YACnE,mEAAmE;YACnE,sDAAsD;YACtD,kEAAkE;YAClE,gBAAgB;YAChB,OAAO,yBAAyB,CAAC;QACnC,KAAK,kBAAkB;YACrB,0DAA0D;YAC1D,gEAAgE;YAChE,2DAA2D;YAC3D,iEAAiE;YACjE,gEAAgE;YAChE,kEAAkE;YAClE,gEAAgE;YAChE,0DAA0D;YAC1D,gCAAgC;YAChC,OAAO,wBAAwB,CAAC;QAClC;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3B,IAAI,GAAG,oBAAoB,CAAC;IAC5C,6EAA6E;IAC7D,OAAO,CAAS;IAChC,uDAAuD;IACvC,SAAS,CAAS;IAElC,YAAY,OAAe,EAAE,SAAiB,EAAE,OAAe,EAAE,KAAe;QAC9E,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzB,IAAI,GAAG,kBAAkB,CAAC;IAC1C,6EAA6E;IAC7D,OAAO,CAAS;IAChC,8EAA8E;IAC9D,QAAQ,CAAS;IACjC;;;OAGG;IACa,SAAS,CAAwE;IAEjG,YACE,OAAe,EACf,QAAgB,EAChB,OAAe,EACf,IAA8H;QAE9H,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC9E,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,IAAI,EAAE,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACnE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxB,IAAI,GAAG,iBAAiB,CAAC;IACzC,YAAY,MAAc;QACxB,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SDK 2.0 client surface — public re-exports.
|
|
3
|
+
*/
|
|
4
|
+
export { QodoClient } from './QodoClient.js';
|
|
5
|
+
export { TaskClient } from './TaskClient.js';
|
|
6
|
+
export { ToolClient } from './ToolClient.js';
|
|
7
|
+
export type { InfoClient } from './InfoClient.js';
|
|
8
|
+
export { PipelineClient, PipelineBuilder } from './PipelineClient.js';
|
|
9
|
+
export { BulletinClient } from './BulletinClient.js';
|
|
10
|
+
export { ArtifactsClient } from './ArtifactsClient.js';
|
|
11
|
+
export { StateClient } from './StateClient.js';
|
|
12
|
+
export { AgentsClient } from './AgentsClient.js';
|
|
13
|
+
export { QodoNotImplementedError, QodoClientOptionsError, QodoBackpressureError, QodoServerError, QodoCancelRoutingFailedError, QodoCancelFailedError, QodoTaskNotFoundError, QodoTaskNotWaitingError, QodoAgentReconstructionFailedError, QodoCrossPodResumeAbortedError, QodoDepsConstructionFailedError, QodoMessageHistoryLoadFailedError, QodoHitlPersistFailedError, QodoHitlSubstrateUnavailableError, QodoUnauthorizedResolverError, QodoInvalidResolutionError, QodoGraphSpecRejectedError, QodoUnknownServerError, QodoIdempotencyKeyValidationError, QodoAdmissionStalledError, QodoAdmissionTimeoutError, QodoStreamAbortedError, QodoSessionMismatchError, classForServerErrorCode, } from './errors.js';
|
|
14
|
+
export type { ServerErrorEntry } from './errors.js';
|
|
15
|
+
export type { ClientOptions, ClientAuth, ClientReconnectOptions, ClientBackpressureOptions, TaskOptions, ResubscribeOptions, } from './options.js';
|
|
16
|
+
export type { ToolRequestHandler, Subscription } from './ToolClient.js';
|
|
17
|
+
export type { TaskCancelResult } from './TaskClient.js';
|
|
18
|
+
export type { EventSubscription } from './observers.js';
|
|
19
|
+
export type { BulletinFilter, BulletinHandler } from './BulletinClient.js';
|
|
20
|
+
export type { ArtifactFilter, ArtifactHandler } from './ArtifactsClient.js';
|
|
21
|
+
export type { StateFilter, StateHandler } from './StateClient.js';
|
|
22
|
+
export type { AgentSpawnFilter, AgentSpawnHandler } from './AgentsClient.js';
|
|
23
|
+
export type { WSTransport, WSTransportFactory, WSTransportFactoryArgs, WSEventHandlers, } from './transport.js';
|
|
24
|
+
export { defaultTransportFactory } from './transport.js';
|
|
25
|
+
export type { PipelineStepFn, PipelineStepContext, PipelineGateFn, PipelineErrorStrategy, PipelineResult, PipelineStepLog, PipelineStepError, } from './PipelineClient.js';
|
|
26
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EAErB,eAAe,EACf,4BAA4B,EAC5B,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,kCAAkC,EAClC,8BAA8B,EAC9B,+BAA+B,EAC/B,iCAAiC,EACjC,0BAA0B,EAC1B,iCAAiC,EACjC,6BAA6B,EAC7B,0BAA0B,EAC1B,0BAA0B,EAC1B,sBAAsB,EAEtB,iCAAiC,EACjC,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EAEtB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,YAAY,EACV,aAAa,EACb,UAAU,EACV,sBAAsB,EACtB,yBAAyB,EACzB,WAAW,EACX,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACxE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3E,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5E,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAClE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,iBAAiB,GAClB,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SDK 2.0 client surface — public re-exports.
|
|
3
|
+
*/
|
|
4
|
+
export { QodoClient } from './QodoClient.js';
|
|
5
|
+
export { TaskClient } from './TaskClient.js';
|
|
6
|
+
export { ToolClient } from './ToolClient.js';
|
|
7
|
+
export { PipelineClient, PipelineBuilder } from './PipelineClient.js';
|
|
8
|
+
export { BulletinClient } from './BulletinClient.js';
|
|
9
|
+
export { ArtifactsClient } from './ArtifactsClient.js';
|
|
10
|
+
export { StateClient } from './StateClient.js';
|
|
11
|
+
export { AgentsClient } from './AgentsClient.js';
|
|
12
|
+
export { QodoNotImplementedError, QodoClientOptionsError, QodoBackpressureError,
|
|
13
|
+
// Typed server-error family.
|
|
14
|
+
QodoServerError, QodoCancelRoutingFailedError, QodoCancelFailedError, QodoTaskNotFoundError, QodoTaskNotWaitingError, QodoAgentReconstructionFailedError, QodoCrossPodResumeAbortedError, QodoDepsConstructionFailedError, QodoMessageHistoryLoadFailedError, QodoHitlPersistFailedError, QodoHitlSubstrateUnavailableError, QodoUnauthorizedResolverError, QodoInvalidResolutionError, QodoGraphSpecRejectedError, QodoUnknownServerError,
|
|
15
|
+
// Admission / idempotency-key error family.
|
|
16
|
+
QodoIdempotencyKeyValidationError, QodoAdmissionStalledError, QodoAdmissionTimeoutError, QodoStreamAbortedError,
|
|
17
|
+
// Session-id wire mismatch typed error.
|
|
18
|
+
QodoSessionMismatchError, classForServerErrorCode, } from './errors.js';
|
|
19
|
+
export { defaultTransportFactory } from './transport.js';
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAI7C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB;AACrB,6BAA6B;AAC7B,eAAe,EACf,4BAA4B,EAC5B,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,kCAAkC,EAClC,8BAA8B,EAC9B,+BAA+B,EAC/B,iCAAiC,EACjC,0BAA0B,EAC1B,iCAAiC,EACjC,6BAA6B,EAC7B,0BAA0B,EAC1B,0BAA0B,EAC1B,sBAAsB;AACtB,4CAA4C;AAC5C,iCAAiC,EACjC,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB;AACtB,wCAAwC;AACxC,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAyBrB,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pre-wire validator for inline `InlineGraphSpec` payloads — walks the
|
|
3
|
+
* dict-keyed QAR-native shape.
|
|
4
|
+
*
|
|
5
|
+
* Runs synchronously inside `client.tasks.startWithGraph(...)` so a malformed
|
|
6
|
+
* graph is rejected before it crosses the WebSocket. The check set mirrors
|
|
7
|
+
* the SDK-enforceable subset of QAR's wire rules — anything requiring
|
|
8
|
+
* server-side state (model registry, tenant catalog, AgentSpec
|
|
9
|
+
* composition against the live agent table, transitive budget caps) is left
|
|
10
|
+
* to QAR's `task.start` validator or the opt-in
|
|
11
|
+
* `client.specs.validate(...)` pre-flight.
|
|
12
|
+
*
|
|
13
|
+
* Output: a `QodoInlineGraphValidationError` carrying every failure observed,
|
|
14
|
+
* with the same `{ rule_id, path, message }` shape as `SpecValidationError`
|
|
15
|
+
* so consumers can route SDK-side and server-side rejections through the same
|
|
16
|
+
* branch logic.
|
|
17
|
+
*/
|
|
18
|
+
import type { InlineGraphEdge, InlineGraphSpec } from '../qar/specs.js';
|
|
19
|
+
/**
|
|
20
|
+
* Default cap for graph depth (longest acyclic path from entry).
|
|
21
|
+
*
|
|
22
|
+
* Matches QAR's `MAX_GRAPH_DEPTH` operator default (4). Operators running a
|
|
23
|
+
* higher-limit deployment can raise this per-call via the
|
|
24
|
+
* `maxDepth` option; the pre-flight `client.specs.validate(...)` is
|
|
25
|
+
* the path for non-default deployment caps.
|
|
26
|
+
*/
|
|
27
|
+
export declare const DEFAULT_INLINE_GRAPH_MAX_DEPTH = 4;
|
|
28
|
+
/** Options accepted by `validateInlineGraphSpec`. */
|
|
29
|
+
export interface InlineGraphValidationOptions {
|
|
30
|
+
/** Override the depth cap. Default `DEFAULT_INLINE_GRAPH_MAX_DEPTH`. */
|
|
31
|
+
readonly maxDepth?: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Validate `graph` against the SDK-side rule subset. Throws
|
|
35
|
+
* `QodoInlineGraphValidationError` when any rule fails — every failure is
|
|
36
|
+
* carried on `.failures`, in stable depth-first order. Returns void on
|
|
37
|
+
* success.
|
|
38
|
+
*
|
|
39
|
+
* Stable order matters: consumers gating CI on a sorted failure dump don't
|
|
40
|
+
* want spurious diffs from set / map iteration nondeterminism. Object key
|
|
41
|
+
* iteration in JS follows insertion order for non-integer string keys, so
|
|
42
|
+
* agent traversal mirrors the consumer's source-text order.
|
|
43
|
+
*/
|
|
44
|
+
export declare function validateInlineGraphSpec(graph: InlineGraphSpec, opts?: InlineGraphValidationOptions): void;
|
|
45
|
+
/**
|
|
46
|
+
* Compute the longest acyclic path length (edge count) starting at `entry`.
|
|
47
|
+
*
|
|
48
|
+
* Exported so `TaskClient` can reuse the same impl for the `qar.graph.depth`
|
|
49
|
+
* OTel span attr — keeping one implementation prevents the two copies from
|
|
50
|
+
* drifting on cycle-handling semantics.
|
|
51
|
+
*
|
|
52
|
+
* Iterative postorder DFS with a visited stack — addresses two failure modes:
|
|
53
|
+
*
|
|
54
|
+
* 1. Cycles through undeclared endpoints. `findCycle` only walks
|
|
55
|
+
* declared-node cycles, so an edge to/from an undeclared node could
|
|
56
|
+
* shape a cycle that slipped past R6/R7. The `onStack` set short-
|
|
57
|
+
* circuits any back-edge before it re-enters an in-flight node — the
|
|
58
|
+
* back-edge contributes `0` so the longest-path search still
|
|
59
|
+
* terminates.
|
|
60
|
+
* 2. Stack overflow on deeply nested chains. Recursive DFS blows the
|
|
61
|
+
* JS stack when an operator raises `maxDepth` and supplies a deep
|
|
62
|
+
* graph. Iterative postorder (enter / exit phases on an explicit
|
|
63
|
+
* stack) keeps the heap bounded by graph size instead of call depth.
|
|
64
|
+
*/
|
|
65
|
+
export declare function longestPathFrom(entry: string, edges: readonly InlineGraphEdge[]): number;
|
|
66
|
+
//# sourceMappingURL=inlineGraph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inlineGraph.d.ts","sourceRoot":"","sources":["../../src/client/inlineGraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,KAAK,EAEV,eAAe,EACf,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,qDAAqD;AACrD,MAAM,WAAW,4BAA4B;IAC3C,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,eAAe,EACtB,IAAI,CAAC,EAAE,4BAA4B,GAClC,IAAI,CAUN;AAwQD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,eAAe,EAAE,GAChC,MAAM,CA2CR"}
|
|
@@ -0,0 +1,500 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pre-wire validator for inline `InlineGraphSpec` payloads — walks the
|
|
3
|
+
* dict-keyed QAR-native shape.
|
|
4
|
+
*
|
|
5
|
+
* Runs synchronously inside `client.tasks.startWithGraph(...)` so a malformed
|
|
6
|
+
* graph is rejected before it crosses the WebSocket. The check set mirrors
|
|
7
|
+
* the SDK-enforceable subset of QAR's wire rules — anything requiring
|
|
8
|
+
* server-side state (model registry, tenant catalog, AgentSpec
|
|
9
|
+
* composition against the live agent table, transitive budget caps) is left
|
|
10
|
+
* to QAR's `task.start` validator or the opt-in
|
|
11
|
+
* `client.specs.validate(...)` pre-flight.
|
|
12
|
+
*
|
|
13
|
+
* Output: a `QodoInlineGraphValidationError` carrying every failure observed,
|
|
14
|
+
* with the same `{ rule_id, path, message }` shape as `SpecValidationError`
|
|
15
|
+
* so consumers can route SDK-side and server-side rejections through the same
|
|
16
|
+
* branch logic.
|
|
17
|
+
*/
|
|
18
|
+
import { QodoInlineGraphValidationError, } from './errors.js';
|
|
19
|
+
/**
|
|
20
|
+
* Default cap for graph depth (longest acyclic path from entry).
|
|
21
|
+
*
|
|
22
|
+
* Matches QAR's `MAX_GRAPH_DEPTH` operator default (4). Operators running a
|
|
23
|
+
* higher-limit deployment can raise this per-call via the
|
|
24
|
+
* `maxDepth` option; the pre-flight `client.specs.validate(...)` is
|
|
25
|
+
* the path for non-default deployment caps.
|
|
26
|
+
*/
|
|
27
|
+
export const DEFAULT_INLINE_GRAPH_MAX_DEPTH = 4;
|
|
28
|
+
/**
|
|
29
|
+
* Validate `graph` against the SDK-side rule subset. Throws
|
|
30
|
+
* `QodoInlineGraphValidationError` when any rule fails — every failure is
|
|
31
|
+
* carried on `.failures`, in stable depth-first order. Returns void on
|
|
32
|
+
* success.
|
|
33
|
+
*
|
|
34
|
+
* Stable order matters: consumers gating CI on a sorted failure dump don't
|
|
35
|
+
* want spurious diffs from set / map iteration nondeterminism. Object key
|
|
36
|
+
* iteration in JS follows insertion order for non-integer string keys, so
|
|
37
|
+
* agent traversal mirrors the consumer's source-text order.
|
|
38
|
+
*/
|
|
39
|
+
export function validateInlineGraphSpec(graph, opts) {
|
|
40
|
+
// Track every `InlineGraphSpec` object reference we've entered during the
|
|
41
|
+
// recursive walk. Object-graph cycles (the same outer graph reachable
|
|
42
|
+
// from one of its nested nodes via shared in-memory reference) would
|
|
43
|
+
// otherwise blow the stack — a JS-callable client-side DoS surface, even
|
|
44
|
+
// though `JSON.stringify` on a cyclic object would reject the eventual
|
|
45
|
+
// wire write. Defense in depth: catch cycles in the validator so a hostile
|
|
46
|
+
// or buggy consumer payload crashes cleanly with a typed failure, not
|
|
47
|
+
// `RangeError: Maximum call stack size exceeded`.
|
|
48
|
+
validateInlineGraphSpecImpl(graph, opts, new WeakSet());
|
|
49
|
+
}
|
|
50
|
+
function validateInlineGraphSpecImpl(graph, opts, visited) {
|
|
51
|
+
const failures = [];
|
|
52
|
+
// Object-cycle guard. `WeakSet` keeps refs without holding them alive
|
|
53
|
+
// beyond the walk; `Object.add` returns the set for chaining. We register
|
|
54
|
+
// the *current* graph before recursing so a self-reference is caught.
|
|
55
|
+
if (visited.has(graph)) {
|
|
56
|
+
throw new QodoInlineGraphValidationError([
|
|
57
|
+
{
|
|
58
|
+
rule_id: 'D13-Rcycle',
|
|
59
|
+
path: '',
|
|
60
|
+
message: 'graph contains a recursive object-reference cycle — a nested ' +
|
|
61
|
+
'InlineGraphSpec node shares the same in-memory object as an ancestor',
|
|
62
|
+
},
|
|
63
|
+
]);
|
|
64
|
+
}
|
|
65
|
+
visited.add(graph);
|
|
66
|
+
// The SDK type marks `limits` as required, but JS-side callers can pass
|
|
67
|
+
// anything. Coalesce defensively so a malformed input throws with a typed
|
|
68
|
+
// failure instead of a `TypeError: Cannot read properties of undefined`.
|
|
69
|
+
const specMaxDepth = graph.limits?.max_depth;
|
|
70
|
+
const optsMaxDepth = opts?.maxDepth;
|
|
71
|
+
// Effective cap policy:
|
|
72
|
+
// - When the spec declares `limits.max_depth`, that's a hard ceiling
|
|
73
|
+
// the SDK enforces locally — `opts.maxDepth` can lower it but not
|
|
74
|
+
// raise it. Mirrors QAR's wire validator (`D13-R2` clamps spec-declared
|
|
75
|
+
// max_depth against the deployment's effective cap).
|
|
76
|
+
// - When the spec doesn't declare a cap, `opts.maxDepth` is the
|
|
77
|
+
// override; absent both, the operator default.
|
|
78
|
+
const maxDepth = specMaxDepth !== undefined && optsMaxDepth !== undefined
|
|
79
|
+
? Math.min(specMaxDepth, optsMaxDepth)
|
|
80
|
+
: (specMaxDepth ?? optsMaxDepth ?? DEFAULT_INLINE_GRAPH_MAX_DEPTH);
|
|
81
|
+
const agents = graph.agents ?? {};
|
|
82
|
+
const edges = graph.edges ?? [];
|
|
83
|
+
// Runtime well-formedness: the SDK type forbids it, but a JS caller (or a
|
|
84
|
+
// consumer porting from an older array-shape SDK) can pass an array
|
|
85
|
+
// here. Catch it explicitly so the diagnostic is helpful instead of the
|
|
86
|
+
// validator quietly walking `agents[0] = …` as if `'0'` were a node name.
|
|
87
|
+
if (Array.isArray(agents)) {
|
|
88
|
+
throw new QodoInlineGraphValidationError([
|
|
89
|
+
{
|
|
90
|
+
rule_id: 'D11-R2',
|
|
91
|
+
path: '/agents',
|
|
92
|
+
message: 'agents must be a mapping (dict) keyed by node name, not an array — ' +
|
|
93
|
+
'array-shape agents are the legacy SDK shape that QAR rejects',
|
|
94
|
+
},
|
|
95
|
+
]);
|
|
96
|
+
}
|
|
97
|
+
const agentNames = Object.keys(agents);
|
|
98
|
+
const declaredNames = new Set(agentNames);
|
|
99
|
+
// D11-R2 — agents must be a non-empty mapping.
|
|
100
|
+
if (agentNames.length === 0) {
|
|
101
|
+
failures.push({
|
|
102
|
+
rule_id: 'D11-R2',
|
|
103
|
+
path: '/agents',
|
|
104
|
+
message: 'agents must be a non-empty mapping',
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
// Well-formedness: termination must be a non-empty list. QAR's Pydantic
|
|
108
|
+
// model has no `min_length` constraint on `termination`, but a graph with
|
|
109
|
+
// zero termination conditions has no exit — the supervisor would loop
|
|
110
|
+
// forever (or until `max_steps`). Flagging this client-side surfaces the
|
|
111
|
+
// authoring mistake before it reaches QAR.
|
|
112
|
+
if (!Array.isArray(graph.termination) || graph.termination.length === 0) {
|
|
113
|
+
failures.push({
|
|
114
|
+
rule_id: 'D11-R1',
|
|
115
|
+
path: '/termination',
|
|
116
|
+
message: 'termination must be a non-empty list of TerminationCondition entries',
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
// D11-R1 — entry is required.
|
|
120
|
+
if (graph.entry === undefined || graph.entry === '') {
|
|
121
|
+
failures.push({
|
|
122
|
+
rule_id: 'D11-R1',
|
|
123
|
+
path: '/entry',
|
|
124
|
+
message: 'entry is required',
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
// D11-R3 (well-formedness): node keys must be non-empty. Dict-key
|
|
128
|
+
// uniqueness gives us R3-style "names must be unique" for free — the JSON
|
|
129
|
+
// shape simply cannot carry two agents under the same key.
|
|
130
|
+
for (const name of agentNames) {
|
|
131
|
+
if (name === '') {
|
|
132
|
+
failures.push({
|
|
133
|
+
rule_id: 'D11-R3',
|
|
134
|
+
path: '/agents',
|
|
135
|
+
message: 'agent name (mapping key) must be a non-empty string',
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
// D11-R8 — entry references a declared agent.
|
|
140
|
+
if (graph.entry !== undefined &&
|
|
141
|
+
graph.entry !== '' &&
|
|
142
|
+
!declaredNames.has(graph.entry)) {
|
|
143
|
+
failures.push({
|
|
144
|
+
rule_id: 'D11-R8',
|
|
145
|
+
path: '/entry',
|
|
146
|
+
message: `entry '${graph.entry}' is not a declared agent name`,
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
// D11-R6/R7 — edges must reference declared agents (both endpoints + any
|
|
150
|
+
// `on_error.route_to` recovery target).
|
|
151
|
+
edges.forEach((edge, idx) => {
|
|
152
|
+
if (!declaredNames.has(edge.from)) {
|
|
153
|
+
failures.push({
|
|
154
|
+
rule_id: 'D11-R6',
|
|
155
|
+
path: `/edges/${idx}/from`,
|
|
156
|
+
message: `edge.from '${edge.from}' is not a declared agent name`,
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
if (!declaredNames.has(edge.to)) {
|
|
160
|
+
failures.push({
|
|
161
|
+
rule_id: 'D11-R7',
|
|
162
|
+
path: `/edges/${idx}/to`,
|
|
163
|
+
message: `edge.to '${edge.to}' is not a declared agent name`,
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
// D11-R7 (extended): `on_error.route_to` is also a node reference and
|
|
167
|
+
// must resolve. The `{ abort: true }` arm has no target so it's fine.
|
|
168
|
+
if (edge.on_error !== undefined &&
|
|
169
|
+
edge.on_error !== null &&
|
|
170
|
+
'route_to' in edge.on_error &&
|
|
171
|
+
!declaredNames.has(edge.on_error.route_to)) {
|
|
172
|
+
failures.push({
|
|
173
|
+
rule_id: 'D11-R7',
|
|
174
|
+
path: `/edges/${idx}/on_error/route_to`,
|
|
175
|
+
message: `edge.on_error.route_to '${edge.on_error.route_to}' is not a declared agent name`,
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
// D11-R9 — `evaluate` edges only target evaluator-role nodes.
|
|
180
|
+
// D11-R11 — evaluator nodes have no outbound edges (they're leaves).
|
|
181
|
+
edges.forEach((edge, idx) => {
|
|
182
|
+
if (!declaredNames.has(edge.to))
|
|
183
|
+
return; // already flagged above
|
|
184
|
+
const toRole = agents[edge.to]?.role;
|
|
185
|
+
if (edge.kind === 'evaluate' && toRole !== 'evaluator') {
|
|
186
|
+
failures.push({
|
|
187
|
+
rule_id: 'D11-R9',
|
|
188
|
+
path: `/edges/${idx}`,
|
|
189
|
+
message: `evaluate-kind edge targets non-evaluator node '${edge.to}' (role ${toRole ?? '<undeclared>'})`,
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
if (declaredNames.has(edge.from) && agents[edge.from]?.role === 'evaluator') {
|
|
193
|
+
failures.push({
|
|
194
|
+
rule_id: 'D11-R11',
|
|
195
|
+
path: `/edges/${idx}/from`,
|
|
196
|
+
message: `evaluator node '${edge.from}' has an outbound edge — evaluators must be leaves`,
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
// D11-R12 — evaluator nodes with an inline AgentSpec must declare an
|
|
201
|
+
// output_schema shaped like VerdictResult (object schema with a `verdict`
|
|
202
|
+
// property whose enum is the closed three-arm set). Server-side
|
|
203
|
+
// (`agent_id`) evaluators are validated by QAR — we can't probe the
|
|
204
|
+
// remote spec from the client. Nested `InlineGraphSpec` evaluator nodes
|
|
205
|
+
// are unusual but legal; we skip the fingerprint check there
|
|
206
|
+
// since the inner graph's output_schema lives one layer deeper.
|
|
207
|
+
for (const name of agentNames) {
|
|
208
|
+
const agent = agents[name];
|
|
209
|
+
if (agent.role !== 'evaluator')
|
|
210
|
+
continue;
|
|
211
|
+
const inner = agent.spec;
|
|
212
|
+
if (!isInlineAgentSpec(inner))
|
|
213
|
+
continue;
|
|
214
|
+
if (!isVerdictResultSchema(inner.output_schema)) {
|
|
215
|
+
failures.push({
|
|
216
|
+
rule_id: 'D11-R12',
|
|
217
|
+
path: `/agents/${name}/spec/output_schema`,
|
|
218
|
+
message: `evaluator node '${name}' output_schema must be shaped like VerdictResult ` +
|
|
219
|
+
`(object schema with a 'verdict' property restricted to ['pass', 'fail', 'needs_revision'])`,
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
// D11-Rcycle — acyclicity. Iterative DFS from every node so disconnected
|
|
224
|
+
// components are scanned. The cycle finder runs over the post-edge graph
|
|
225
|
+
// regardless of edge kind; the wire validator forbids cycles across all kinds.
|
|
226
|
+
if (declaredNames.size > 0) {
|
|
227
|
+
const cycle = findCycle(declaredNames, edges);
|
|
228
|
+
if (cycle !== null) {
|
|
229
|
+
failures.push({
|
|
230
|
+
rule_id: 'D11-Rcycle',
|
|
231
|
+
path: '',
|
|
232
|
+
message: `graph contains a cycle: ${cycle.join(' -> ')}`,
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
// D11-R10 — graph depth (longest acyclic walk from entry) ≤ maxDepth.
|
|
237
|
+
// Skip when the structure is already broken (no entry, or entry isn't
|
|
238
|
+
// declared) — the longest-path search has no anchor.
|
|
239
|
+
if (graph.entry !== undefined &&
|
|
240
|
+
declaredNames.has(graph.entry) &&
|
|
241
|
+
failures.every((f) => f.rule_id !== 'D11-Rcycle')) {
|
|
242
|
+
const depth = longestPathFrom(graph.entry, edges);
|
|
243
|
+
if (depth > maxDepth) {
|
|
244
|
+
failures.push({
|
|
245
|
+
rule_id: 'D11-R10',
|
|
246
|
+
path: '',
|
|
247
|
+
message: `graph depth ${depth} exceeds configured maximum ${maxDepth}`,
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
// D13-R1 — nested `InlineGraphSpec` nodes recursively respect the depth
|
|
252
|
+
// cap. The deeper rule set (transitive AgentSpec / GraphSpec propagation)
|
|
253
|
+
// lives in QAR's compose-time validator; we only do the local check here
|
|
254
|
+
// so a malformed inner graph fails fast. `visited` is threaded so an
|
|
255
|
+
// object-reference cycle terminates with a typed `D13-Rcycle` failure
|
|
256
|
+
// instead of unbounded recursion.
|
|
257
|
+
for (const name of agentNames) {
|
|
258
|
+
const agent = agents[name];
|
|
259
|
+
const inner = agent.spec;
|
|
260
|
+
if (!isInlineGraphSpec(inner))
|
|
261
|
+
continue;
|
|
262
|
+
try {
|
|
263
|
+
validateInlineGraphSpecImpl(inner, opts, visited);
|
|
264
|
+
}
|
|
265
|
+
catch (err) {
|
|
266
|
+
if (err instanceof QodoInlineGraphValidationError) {
|
|
267
|
+
for (const innerFailure of err.failures) {
|
|
268
|
+
failures.push({
|
|
269
|
+
rule_id: innerFailure.rule_id,
|
|
270
|
+
path: `/agents/${name}/spec${innerFailure.path}`,
|
|
271
|
+
message: innerFailure.message,
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
throw err;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
if (failures.length > 0) {
|
|
281
|
+
throw new QodoInlineGraphValidationError(failures);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Compute the longest acyclic path length (edge count) starting at `entry`.
|
|
286
|
+
*
|
|
287
|
+
* Exported so `TaskClient` can reuse the same impl for the `qar.graph.depth`
|
|
288
|
+
* OTel span attr — keeping one implementation prevents the two copies from
|
|
289
|
+
* drifting on cycle-handling semantics.
|
|
290
|
+
*
|
|
291
|
+
* Iterative postorder DFS with a visited stack — addresses two failure modes:
|
|
292
|
+
*
|
|
293
|
+
* 1. Cycles through undeclared endpoints. `findCycle` only walks
|
|
294
|
+
* declared-node cycles, so an edge to/from an undeclared node could
|
|
295
|
+
* shape a cycle that slipped past R6/R7. The `onStack` set short-
|
|
296
|
+
* circuits any back-edge before it re-enters an in-flight node — the
|
|
297
|
+
* back-edge contributes `0` so the longest-path search still
|
|
298
|
+
* terminates.
|
|
299
|
+
* 2. Stack overflow on deeply nested chains. Recursive DFS blows the
|
|
300
|
+
* JS stack when an operator raises `maxDepth` and supplies a deep
|
|
301
|
+
* graph. Iterative postorder (enter / exit phases on an explicit
|
|
302
|
+
* stack) keeps the heap bounded by graph size instead of call depth.
|
|
303
|
+
*/
|
|
304
|
+
export function longestPathFrom(entry, edges) {
|
|
305
|
+
const adjacency = new Map();
|
|
306
|
+
for (const edge of edges) {
|
|
307
|
+
const targets = adjacency.get(edge.from) ?? [];
|
|
308
|
+
targets.push(edge.to);
|
|
309
|
+
adjacency.set(edge.from, targets);
|
|
310
|
+
}
|
|
311
|
+
const memo = new Map();
|
|
312
|
+
const onStack = new Set();
|
|
313
|
+
const stack = [{ node: entry, phase: 'enter' }];
|
|
314
|
+
while (stack.length > 0) {
|
|
315
|
+
const frame = stack.pop();
|
|
316
|
+
if (frame.phase === 'enter') {
|
|
317
|
+
if (memo.has(frame.node))
|
|
318
|
+
continue;
|
|
319
|
+
if (onStack.has(frame.node))
|
|
320
|
+
continue; // back-edge — contributes 0
|
|
321
|
+
onStack.add(frame.node);
|
|
322
|
+
// Schedule the exit phase to run AFTER all children resolve their memo.
|
|
323
|
+
// Pushing exit before children means the exit pops last.
|
|
324
|
+
stack.push({ node: frame.node, phase: 'exit' });
|
|
325
|
+
const outs = adjacency.get(frame.node) ?? [];
|
|
326
|
+
for (const target of outs) {
|
|
327
|
+
if (memo.has(target) || onStack.has(target))
|
|
328
|
+
continue;
|
|
329
|
+
stack.push({ node: target, phase: 'enter' });
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
else {
|
|
333
|
+
const outs = adjacency.get(frame.node) ?? [];
|
|
334
|
+
let best = 0;
|
|
335
|
+
for (const target of outs) {
|
|
336
|
+
const cached = memo.get(target);
|
|
337
|
+
// `cached === undefined` means the target is on the current DFS
|
|
338
|
+
// path (back-edge) — it contributes 0 and never gets a memo entry
|
|
339
|
+
// because we short-circuited the enter phase above. Targets we
|
|
340
|
+
// resolved sit in `memo`.
|
|
341
|
+
if (cached === undefined)
|
|
342
|
+
continue;
|
|
343
|
+
const sub = cached + 1;
|
|
344
|
+
if (sub > best)
|
|
345
|
+
best = sub;
|
|
346
|
+
}
|
|
347
|
+
memo.set(frame.node, best);
|
|
348
|
+
onStack.delete(frame.node);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
return memo.get(entry) ?? 0;
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Detect a cycle via iterative DFS over every declared node. Returns the
|
|
355
|
+
* cycle as `['a', 'b', 'a']` (closed loop) the moment one is found, or `null`
|
|
356
|
+
* when the graph is acyclic. Stable: walks node names in their declaration
|
|
357
|
+
* order, edges in their declaration order — same input gives same diagnostic.
|
|
358
|
+
*/
|
|
359
|
+
function findCycle(declared, edges) {
|
|
360
|
+
const adjacency = new Map();
|
|
361
|
+
for (const edge of edges) {
|
|
362
|
+
if (!declared.has(edge.from) || !declared.has(edge.to))
|
|
363
|
+
continue;
|
|
364
|
+
const targets = adjacency.get(edge.from) ?? [];
|
|
365
|
+
targets.push(edge.to);
|
|
366
|
+
adjacency.set(edge.from, targets);
|
|
367
|
+
}
|
|
368
|
+
const WHITE = 0;
|
|
369
|
+
const GRAY = 1;
|
|
370
|
+
const BLACK = 2;
|
|
371
|
+
const color = new Map();
|
|
372
|
+
for (const name of declared)
|
|
373
|
+
color.set(name, WHITE);
|
|
374
|
+
const parent = new Map();
|
|
375
|
+
// Build a closed-loop diagnostic for a back-edge `end -> start`. We walk
|
|
376
|
+
// the parent chain from `end` back to `start` (inclusive), reverse so the
|
|
377
|
+
// path reads in forward order, then append `start` again so the loop
|
|
378
|
+
// visibly closes. Example: a back-edge from `c` (current node) to `a`
|
|
379
|
+
// (its ancestor on the DFS stack) produces `['a', 'b', 'c', 'a']` — the
|
|
380
|
+
// shape consumers expect from `cycle.join(' -> ')`. Appending `end`
|
|
381
|
+
// instead of `start` would produce `a -> b -> c -> c` — a non-closing
|
|
382
|
+
// path that's misleading to debuggers.
|
|
383
|
+
const buildCycle = (start, end) => {
|
|
384
|
+
const path = [end];
|
|
385
|
+
let cursor = end;
|
|
386
|
+
while (cursor !== undefined && cursor !== start) {
|
|
387
|
+
cursor = parent.get(cursor);
|
|
388
|
+
if (cursor === undefined)
|
|
389
|
+
break;
|
|
390
|
+
path.push(cursor);
|
|
391
|
+
}
|
|
392
|
+
path.reverse();
|
|
393
|
+
path.push(start);
|
|
394
|
+
return path;
|
|
395
|
+
};
|
|
396
|
+
for (const root of declared) {
|
|
397
|
+
if (color.get(root) !== WHITE)
|
|
398
|
+
continue;
|
|
399
|
+
const stack = [{ node: root, idx: 0 }];
|
|
400
|
+
color.set(root, GRAY);
|
|
401
|
+
while (stack.length > 0) {
|
|
402
|
+
const top = stack[stack.length - 1];
|
|
403
|
+
const outs = adjacency.get(top.node) ?? [];
|
|
404
|
+
if (top.idx >= outs.length) {
|
|
405
|
+
color.set(top.node, BLACK);
|
|
406
|
+
stack.pop();
|
|
407
|
+
continue;
|
|
408
|
+
}
|
|
409
|
+
const next = outs[top.idx];
|
|
410
|
+
top.idx += 1;
|
|
411
|
+
const c = color.get(next);
|
|
412
|
+
if (c === GRAY) {
|
|
413
|
+
return buildCycle(next, top.node);
|
|
414
|
+
}
|
|
415
|
+
if (c === WHITE) {
|
|
416
|
+
color.set(next, GRAY);
|
|
417
|
+
parent.set(next, top.node);
|
|
418
|
+
stack.push({ node: next, idx: 0 });
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
return null;
|
|
423
|
+
}
|
|
424
|
+
/**
|
|
425
|
+
* Discriminate the `InlineGraphAgent.spec` union arms at runtime. The wire
|
|
426
|
+
* type carries `kind: 'AgentSpec' | 'GraphSpec'` on the two spec arms; the
|
|
427
|
+
* static-ref arm carries `agent_id` and no `kind`.
|
|
428
|
+
*/
|
|
429
|
+
function isInlineAgentSpec(spec) {
|
|
430
|
+
return (typeof spec === 'object' &&
|
|
431
|
+
spec !== null &&
|
|
432
|
+
'kind' in spec &&
|
|
433
|
+
spec.kind === 'AgentSpec');
|
|
434
|
+
}
|
|
435
|
+
function isInlineGraphSpec(spec) {
|
|
436
|
+
return (typeof spec === 'object' &&
|
|
437
|
+
spec !== null &&
|
|
438
|
+
'kind' in spec &&
|
|
439
|
+
spec.kind === 'GraphSpec');
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* Heuristic check that an output_schema is shaped like `VerdictResult`.
|
|
443
|
+
*
|
|
444
|
+
* Rather than running a full JSON Schema validator (we don't ship one), we
|
|
445
|
+
* spot-check the structural fingerprint that distinguishes a verdict schema
|
|
446
|
+
* from a generic object schema:
|
|
447
|
+
*
|
|
448
|
+
* - It's a JSON object.
|
|
449
|
+
* - It has `type: "object"` (the dominant convention; absent is tolerated
|
|
450
|
+
* for schemas that compose via `allOf` / `anyOf`).
|
|
451
|
+
* - `properties.verdict` exists and restricts to the closed three-arm enum
|
|
452
|
+
* `["pass", "fail", "needs_revision"]` — order doesn't matter, but the
|
|
453
|
+
* set must match exactly.
|
|
454
|
+
*
|
|
455
|
+
* The wire shape is wrapped:
|
|
456
|
+
* `output_schema = { json_schema: { name, schema, strict? } }` (matches
|
|
457
|
+
* the OpenAI strict-mode envelope). This helper unwraps the
|
|
458
|
+
* `json_schema.schema` field before fingerprinting. The bare-schema
|
|
459
|
+
* fallback path is kept for back-compat with consumers carrying older
|
|
460
|
+
* unwrapped shapes.
|
|
461
|
+
*
|
|
462
|
+
* The QAR validator runs a full Pydantic shape check on dispatch; this
|
|
463
|
+
* client-side gate catches the most common authoring mistake (forgot
|
|
464
|
+
* the schema, or the verdict enum is wrong) without dragging in a JSON
|
|
465
|
+
* Schema runtime dep.
|
|
466
|
+
*/
|
|
467
|
+
function isVerdictResultSchema(schema) {
|
|
468
|
+
if (typeof schema !== 'object' || schema === null)
|
|
469
|
+
return false;
|
|
470
|
+
// Unwrap the `OutputSchemaSpec` wrapper if present so the
|
|
471
|
+
// structural fingerprint check runs on the inner JSON Schema.
|
|
472
|
+
const top = schema;
|
|
473
|
+
const wrapped = top.json_schema;
|
|
474
|
+
const inner = wrapped !== undefined && wrapped !== null
|
|
475
|
+
? wrapped.schema
|
|
476
|
+
: schema;
|
|
477
|
+
if (typeof inner !== 'object' || inner === null)
|
|
478
|
+
return false;
|
|
479
|
+
const obj = inner;
|
|
480
|
+
if (obj.type !== undefined && obj.type !== 'object')
|
|
481
|
+
return false;
|
|
482
|
+
const props = obj.properties;
|
|
483
|
+
if (typeof props !== 'object' || props === null)
|
|
484
|
+
return false;
|
|
485
|
+
const verdict = props.verdict;
|
|
486
|
+
if (typeof verdict !== 'object' || verdict === null)
|
|
487
|
+
return false;
|
|
488
|
+
const enumField = verdict.enum;
|
|
489
|
+
if (!Array.isArray(enumField))
|
|
490
|
+
return false;
|
|
491
|
+
const required = new Set(['pass', 'fail', 'needs_revision']);
|
|
492
|
+
if (enumField.length !== required.size)
|
|
493
|
+
return false;
|
|
494
|
+
for (const value of enumField) {
|
|
495
|
+
if (typeof value !== 'string' || !required.has(value))
|
|
496
|
+
return false;
|
|
497
|
+
}
|
|
498
|
+
return true;
|
|
499
|
+
}
|
|
500
|
+
//# sourceMappingURL=inlineGraph.js.map
|