@wardby/cli 0.6.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +5 -5
- package/README.md +6 -1
- package/deploy/local/docker-compose.quickstart-coding.yml +19 -0
- package/dist/claude-coding-worker/driver.d.ts +33 -3
- package/dist/claude-coding-worker/driver.js +151 -21
- package/dist/claude-coding-worker/main.js +38 -6
- package/dist/claude-coding-worker/sdk.js +29 -2
- package/dist/claude-coding-worker/tool-socket.d.ts +27 -0
- package/dist/claude-coding-worker/tool-socket.js +111 -0
- package/dist/claude-coding-worker/transcript.d.ts +18 -0
- package/dist/claude-coding-worker/transcript.js +77 -0
- package/dist/claude-plugin/command.d.ts +61 -0
- package/dist/claude-plugin/command.js +376 -0
- package/dist/cli-help.d.ts +1 -1
- package/dist/cli-help.js +3 -1
- package/dist/cli.js +71 -13
- package/dist/coding/code-host.d.ts +16 -0
- package/dist/coding/code-host.js +60 -0
- package/dist/coding/continuation-wording.d.ts +35 -0
- package/dist/coding/continuation-wording.js +73 -0
- package/dist/coding/linked-issue-note.d.ts +23 -0
- package/dist/coding/linked-issue-note.js +47 -0
- package/dist/coding/mcp-token.d.ts +12 -0
- package/dist/coding/mcp-token.js +26 -0
- package/dist/coding/merge-wording.d.ts +28 -0
- package/dist/coding/merge-wording.js +78 -0
- package/dist/coding/pr-description-note.d.ts +9 -0
- package/dist/coding/pr-description-note.js +32 -0
- package/dist/coding/profile.d.ts +46 -126
- package/dist/coding/profile.js +45 -4
- package/dist/coding/protected-path-wording.d.ts +8 -0
- package/dist/coding/protected-path-wording.js +1 -1
- package/dist/coding/protocol.d.ts +264 -346
- package/dist/coding/protocol.js +237 -12
- package/dist/coding/redact.d.ts +3 -0
- package/dist/coding/redact.js +17 -0
- package/dist/coding/registry/allowlist.d.ts +12 -0
- package/dist/coding/registry/allowlist.js +14 -1
- package/dist/coding/registry/audit-mode.d.ts +153 -0
- package/dist/coding/registry/audit-mode.js +304 -0
- package/dist/coding/registry/lockfile-shared.d.ts +36 -0
- package/dist/coding/registry/lockfile-shared.js +128 -0
- package/dist/coding/registry/lockfiles.js +1 -1
- package/dist/coding/registry/npm-lockfile-formats.d.ts +11 -0
- package/dist/coding/registry/npm-lockfile-formats.js +41 -0
- package/dist/coding/registry/npm-lockfile.d.ts +8 -4
- package/dist/coding/registry/npm-lockfile.js +4 -6
- package/dist/coding/registry/npm.js +78 -8
- package/dist/coding/registry/pnpm-lockfile.d.ts +17 -0
- package/dist/coding/registry/pnpm-lockfile.js +189 -0
- package/dist/coding/registry/pypi-plan.d.ts +50 -0
- package/dist/coding/registry/pypi-plan.js +406 -0
- package/dist/coding/registry/pypi-requirements.d.ts +58 -0
- package/dist/coding/registry/pypi-requirements.js +155 -0
- package/dist/coding/registry/pypi.d.ts +3 -27
- package/dist/coding/registry/pypi.js +40 -154
- package/dist/coding/registry/refusal-hints.d.ts +20 -0
- package/dist/coding/registry/refusal-hints.js +61 -0
- package/dist/coding/registry/refusal-wording.d.ts +11 -0
- package/dist/coding/registry/refusal-wording.js +56 -0
- package/dist/coding/registry/report.d.ts +70 -8
- package/dist/coding/registry/report.js +112 -5
- package/dist/coding/registry/types.d.ts +58 -8
- package/dist/coding/registry/yarn-lockfile.d.ts +30 -0
- package/dist/coding/registry/yarn-lockfile.js +367 -0
- package/dist/coding/services/catalog.d.ts +37 -351
- package/dist/coding/transcript/claude-code.d.ts +13 -0
- package/dist/coding/transcript/claude-code.js +273 -0
- package/dist/coding/transcript/download-protocol.d.ts +30 -0
- package/dist/coding/transcript/download-protocol.js +18 -0
- package/dist/coding/transcript/format.d.ts +20 -0
- package/dist/coding/transcript/format.js +32 -0
- package/dist/coding/transcript/recorder.d.ts +52 -0
- package/dist/coding/transcript/recorder.js +225 -0
- package/dist/coding/transcript/resume/checkout.d.ts +31 -0
- package/dist/coding/transcript/resume/checkout.js +203 -0
- package/dist/coding/transcript/resume/command.d.ts +17 -0
- package/dist/coding/transcript/resume/command.js +176 -0
- package/dist/coding/transcript/resume/download.d.ts +20 -0
- package/dist/coding/transcript/resume/download.js +153 -0
- package/dist/coding/transcript/resume/launch.d.ts +38 -0
- package/dist/coding/transcript/resume/launch.js +128 -0
- package/dist/coding/transcript/resume/session-file.d.ts +13 -0
- package/dist/coding/transcript/resume/session-file.js +79 -0
- package/dist/coding/transcript/resume/stand-in.d.ts +11 -0
- package/dist/coding/transcript/resume/stand-in.js +49 -0
- package/dist/coding-worker/artifact.d.ts +8 -3
- package/dist/coding-worker/artifact.js +3 -1
- package/dist/coding-worker/debug-trace.d.ts +9 -6
- package/dist/coding-worker/debug-trace.js +16 -19
- package/dist/coding-worker/dependency-cache.d.mts +229 -0
- package/dist/coding-worker/dependency-cache.mjs +2123 -0
- package/dist/coding-worker/driver.d.ts +4 -3
- package/dist/coding-worker/driver.js +124 -39
- package/dist/coding-worker/errors.d.ts +1 -0
- package/dist/coding-worker/errors.js +32 -0
- package/dist/coding-worker/main.js +5 -1
- package/dist/coding-worker/mcp-config.d.ts +27 -0
- package/dist/coding-worker/mcp-config.js +32 -0
- package/dist/coding-worker/sdk.d.ts +36 -0
- package/dist/coding-worker/sdk.js +28 -1
- package/dist/coding-worker/task-note.d.ts +11 -0
- package/dist/coding-worker/task-note.js +13 -0
- package/dist/coding-worker/types.d.ts +15 -0
- package/dist/config/dependency-cache.d.ts +23 -0
- package/dist/config/dependency-cache.js +32 -0
- package/dist/config/mcp-call-limit.d.ts +8 -0
- package/dist/config/mcp-call-limit.js +18 -0
- package/dist/config/mcp-servers.d.ts +8 -0
- package/dist/config/mcp-servers.js +12 -0
- package/dist/config/providers.d.ts +12 -3
- package/dist/config/providers.js +55 -5
- package/dist/config/test-simulators.d.ts +92 -0
- package/dist/config/test-simulators.js +333 -0
- package/dist/config/tool-timeout.d.ts +1 -0
- package/dist/config/tool-timeout.js +18 -0
- package/dist/core/async-context.d.ts +2 -0
- package/dist/core/async-context.js +12 -0
- package/dist/core/budget-events.d.ts +108 -0
- package/dist/core/budget-events.js +346 -0
- package/dist/core/budget-groups.d.ts +50 -1
- package/dist/core/budget-groups.js +236 -27
- package/dist/core/budget-stopped-head.d.ts +46 -0
- package/dist/core/budget-stopped-head.js +81 -0
- package/dist/core/budget-topup.d.ts +51 -0
- package/dist/core/budget-topup.js +156 -0
- package/dist/core/budget-wording.d.ts +16 -2
- package/dist/core/budget-wording.js +40 -2
- package/dist/core/coding-mcp.d.ts +36 -0
- package/dist/core/coding-mcp.js +253 -0
- package/dist/core/coding-queue.d.ts +2 -1
- package/dist/core/coding-queue.js +7 -0
- package/dist/core/coding-repository.d.ts +46 -0
- package/dist/core/coding-repository.js +92 -0
- package/dist/core/cron.d.ts +19 -1
- package/dist/core/cron.js +17 -0
- package/dist/core/datastores.js +1 -1
- package/dist/core/deferred-coding.d.ts +14 -0
- package/dist/core/deferred-coding.js +62 -0
- package/dist/core/delegation-child.d.ts +25 -0
- package/dist/core/delegation-child.js +37 -0
- package/dist/core/delegation-slots.d.ts +27 -0
- package/dist/core/delegation-slots.js +44 -0
- package/dist/core/dispatch.d.ts +48 -2
- package/dist/core/dispatch.js +166 -66
- package/dist/core/engine-native.js +1 -1
- package/dist/core/error-code.d.ts +38 -0
- package/dist/core/error-code.js +169 -0
- package/dist/core/grants.d.ts +46 -8
- package/dist/core/grants.js +99 -8
- package/dist/core/host-events.d.ts +18 -2
- package/dist/core/host-events.js +291 -27
- package/dist/core/host-status.d.ts +85 -3
- package/dist/core/host-status.js +300 -22
- package/dist/core/issue-bridge.d.ts +50 -6
- package/dist/core/issue-bridge.js +124 -33
- package/dist/core/issue-events.d.ts +1 -1
- package/dist/core/issue-events.js +4 -10
- package/dist/core/issue-status.d.ts +1 -1
- package/dist/core/issue-status.js +58 -29
- package/dist/core/logger.d.ts +5 -0
- package/dist/core/logger.js +14 -1
- package/dist/core/lost-run-children.d.ts +6 -0
- package/dist/core/lost-run-children.js +32 -0
- package/dist/core/mark-ready.d.ts +34 -0
- package/dist/core/mark-ready.js +152 -0
- package/dist/core/markdown-code.d.ts +8 -0
- package/dist/core/markdown-code.js +107 -0
- package/dist/core/mcp-client/client.d.ts +47 -0
- package/dist/core/mcp-client/client.js +141 -0
- package/dist/core/mcp-client/jsonrpc.d.ts +15 -0
- package/dist/core/mcp-client/jsonrpc.js +54 -0
- package/dist/core/mcp-client/results.d.ts +13 -0
- package/dist/core/mcp-client/results.js +42 -0
- package/dist/core/mcp-servers.d.ts +90 -0
- package/dist/core/mcp-servers.js +230 -0
- package/dist/core/mcp-tools.d.ts +108 -0
- package/dist/core/mcp-tools.js +287 -0
- package/dist/core/memory-tools.js +7 -0
- package/dist/core/merge-order-check.d.ts +2 -1
- package/dist/core/merge-order-check.js +44 -18
- package/dist/core/notification-dispatcher.js +2 -1
- package/dist/core/notification-templates.d.ts +1 -7
- package/dist/core/notification-templates.js +36 -2
- package/dist/core/pull-request-state-sync.js +2 -2
- package/dist/core/reconciler.d.ts +4 -3
- package/dist/core/reconciler.js +8 -1
- package/dist/core/related-pull-requests.d.ts +11 -3
- package/dist/core/related-pull-requests.js +49 -20
- package/dist/core/reply-parts.d.ts +21 -0
- package/dist/core/reply-parts.js +73 -0
- package/dist/core/review-fix.d.ts +1 -1
- package/dist/core/review-fix.js +4 -3
- package/dist/core/review-host-checks.d.ts +1 -1
- package/dist/core/review-host-tools.d.ts +3 -0
- package/dist/core/review-host-tools.js +102 -14
- package/dist/core/review-reads.d.ts +55 -0
- package/dist/core/review-reads.js +233 -0
- package/dist/core/run-status.d.ts +12 -0
- package/dist/core/run-status.js +12 -0
- package/dist/core/runner.d.ts +145 -49
- package/dist/core/runner.js +719 -216
- package/dist/core/schedule-start.d.ts +12 -0
- package/dist/core/schedule-start.js +14 -0
- package/dist/core/secret-broker-config.d.ts +12 -74
- package/dist/core/secret-broker-config.js +1 -1
- package/dist/core/secret-guard.d.ts +49 -0
- package/dist/core/secret-guard.js +119 -0
- package/dist/core/secret-guarded-stores.d.ts +12 -0
- package/dist/core/secret-guarded-stores.js +41 -0
- package/dist/core/secret-spans.d.ts +50 -0
- package/dist/core/secret-spans.js +94 -0
- package/dist/core/secrets.d.ts +11 -1
- package/dist/core/secrets.js +27 -1
- package/dist/core/serializable-retry.d.ts +18 -0
- package/dist/core/serializable-retry.js +43 -0
- package/dist/core/stop-run.d.ts +46 -0
- package/dist/core/stop-run.js +61 -0
- package/dist/core/tool-admin.d.ts +5 -1
- package/dist/core/tool-admin.js +7 -2
- package/dist/core/tool-names.d.ts +13 -0
- package/dist/core/tool-names.js +20 -0
- package/dist/core/webhooks.d.ts +4 -0
- package/dist/core/webhooks.js +68 -49
- package/dist/core/workflow-events.d.ts +14 -2
- package/dist/core/workflow-events.js +4 -0
- package/dist/core/workflow-run-events.d.ts +5 -3
- package/dist/core/workflow-run-events.js +45 -9
- package/dist/core/zod-json-schema.d.ts +4 -0
- package/dist/core/zod-json-schema.js +39 -0
- package/dist/core/zod3-window.d.ts +35 -0
- package/dist/core/zod3-window.js +124 -0
- package/dist/generated/prisma/browser.d.ts +65 -3
- package/dist/generated/prisma/client.d.ts +65 -3
- package/dist/generated/prisma/commonInputTypes.d.ts +266 -106
- package/dist/generated/prisma/enums.d.ts +10 -0
- package/dist/generated/prisma/enums.js +8 -0
- package/dist/generated/prisma/internal/class.d.ts +110 -0
- package/dist/generated/prisma/internal/class.js +4 -4
- package/dist/generated/prisma/internal/prismaNamespace.d.ts +957 -9
- package/dist/generated/prisma/internal/prismaNamespace.js +166 -2
- package/dist/generated/prisma/internal/prismaNamespaceBrowser.d.ts +174 -0
- package/dist/generated/prisma/internal/prismaNamespaceBrowser.js +166 -2
- package/dist/generated/prisma/models/Agent.d.ts +377 -8
- package/dist/generated/prisma/models/AgentMcpServer.d.ts +1412 -0
- package/dist/generated/prisma/models/AgentMcpServer.js +1 -0
- package/dist/generated/prisma/models/AgentRepository.d.ts +81 -1
- package/dist/generated/prisma/models/AuthUser.d.ts +1 -1
- package/dist/generated/prisma/models/CodingAgentProfile.d.ts +228 -7
- package/dist/generated/prisma/models/CodingProxyRequest.d.ts +207 -3
- package/dist/generated/prisma/models/CodingProxySession.d.ts +232 -2
- package/dist/generated/prisma/models/CodingRun.d.ts +1712 -1
- package/dist/generated/prisma/models/DependencySnapshot.d.ts +1668 -0
- package/dist/generated/prisma/models/DependencySnapshot.js +1 -0
- package/dist/generated/prisma/models/HostProvider.d.ts +2176 -0
- package/dist/generated/prisma/models/HostProvider.js +1 -0
- package/dist/generated/prisma/models/HostProviderCredential.d.ts +1285 -0
- package/dist/generated/prisma/models/HostProviderCredential.js +1 -0
- package/dist/generated/prisma/models/HostProviderOperation.d.ts +1470 -0
- package/dist/generated/prisma/models/HostProviderOperation.js +1 -0
- package/dist/generated/prisma/models/HostProviderTrustedAccount.d.ts +1145 -0
- package/dist/generated/prisma/models/HostProviderTrustedAccount.js +1 -0
- package/dist/generated/prisma/models/IssuePullRequest.d.ts +6 -2
- package/dist/generated/prisma/models/LocalReview.d.ts +40 -1
- package/dist/generated/prisma/models/McpServer.d.ts +1500 -0
- package/dist/generated/prisma/models/McpServer.js +1 -0
- package/dist/generated/prisma/models/NativeGatewayCall.d.ts +77 -1
- package/dist/generated/prisma/models/NativeGatewaySession.d.ts +35 -1
- package/dist/generated/prisma/models/Principal.d.ts +167 -0
- package/dist/generated/prisma/models/RegistryAllowance.d.ts +41 -1
- package/dist/generated/prisma/models/RegistryApprovedVersion.d.ts +75 -1
- package/dist/generated/prisma/models/RegistryAuditRecord.d.ts +1364 -0
- package/dist/generated/prisma/models/RegistryAuditRecord.js +1 -0
- package/dist/generated/prisma/models/ResourceGrant.d.ts +1 -1
- package/dist/generated/prisma/models/Run.d.ts +738 -2
- package/dist/generated/prisma/models/RunBudgetEvent.d.ts +1211 -0
- package/dist/generated/prisma/models/RunBudgetEvent.js +1 -0
- package/dist/generated/prisma/models/RunTranscript.d.ts +1339 -0
- package/dist/generated/prisma/models/RunTranscript.js +1 -0
- package/dist/generated/prisma/models/Secret.d.ts +387 -0
- package/dist/generated/prisma/models/Tool.d.ts +223 -1
- package/dist/generated/prisma/models.d.ts +10 -0
- package/dist/help/search.js +12 -3
- package/dist/help-index.json +2033 -110
- package/dist/import/create.js +48 -4
- package/dist/import/neutral-schema.d.ts +51 -281
- package/dist/import/neutral-schema.js +7 -4
- package/dist/knowledge/check.d.ts +1 -1
- package/dist/knowledge/cli.d.ts +11 -1
- package/dist/knowledge/cli.js +37 -4
- package/dist/knowledge/concept.d.ts +3 -19
- package/dist/knowledge/location.d.ts +31 -0
- package/dist/knowledge/location.js +78 -0
- package/dist/mcp/auth/access.d.ts +10 -2
- package/dist/mcp/auth/access.js +15 -1
- package/dist/mcp/auth/grants-cli.d.ts +6 -4
- package/dist/mcp/auth/grants-cli.js +42 -3
- package/dist/mcp/auth/ownership.d.ts +7 -7
- package/dist/mcp/auth/resource-server.d.ts +3 -1
- package/dist/mcp/auth/resource-server.js +17 -2
- package/dist/mcp/auth/self-hosted/credentials.d.ts +3 -3
- package/dist/mcp/auth/self-hosted/session.d.ts +2 -2
- package/dist/mcp/context.d.ts +3 -0
- package/dist/mcp/host-events/github-ingress.d.ts +2 -0
- package/dist/mcp/host-events/github-ingress.js +2 -1
- package/dist/mcp/index.d.ts +6 -0
- package/dist/mcp/index.js +69 -10
- package/dist/mcp/server.d.ts +13 -0
- package/dist/mcp/server.js +33 -14
- package/dist/mcp/tools/agents.d.ts +4 -0
- package/dist/mcp/tools/agents.js +295 -28
- package/dist/mcp/tools/datastore.js +17 -8
- package/dist/mcp/tools/grants.js +73 -29
- package/dist/mcp/tools/host-providers.d.ts +2 -0
- package/dist/mcp/tools/host-providers.js +215 -0
- package/dist/mcp/tools/mcp-servers.d.ts +26 -0
- package/dist/mcp/tools/mcp-servers.js +481 -0
- package/dist/mcp/tools/memory.js +11 -1
- package/dist/mcp/tools/notification-channels.js +2 -2
- package/dist/mcp/tools/packages.d.ts +2 -0
- package/dist/mcp/tools/packages.js +195 -0
- package/dist/mcp/tools/repositories.js +65 -12
- package/dist/mcp/tools/run-access.d.ts +16 -0
- package/dist/mcp/tools/run-access.js +25 -0
- package/dist/mcp/tools/run-transcript-download.d.ts +30 -0
- package/dist/mcp/tools/run-transcript-download.js +129 -0
- package/dist/mcp/tools/run-transcript.d.ts +19 -0
- package/dist/mcp/tools/run-transcript.js +70 -0
- package/dist/mcp/tools/runs.js +209 -27
- package/dist/mcp/tools/scheduling.js +3 -1
- package/dist/mcp/tools/secret-elicitation-form.js +5 -0
- package/dist/mcp/tools/secret-elicitation-server.d.ts +6 -0
- package/dist/mcp/tools/secret-elicitation-server.js +10 -61
- package/dist/mcp/tools/secret-elicitation.d.ts +2 -0
- package/dist/mcp/tools/secret-elicitation.js +25 -2
- package/dist/mcp/tools/secrets.js +40 -6
- package/dist/mcp/tools/stop-run.d.ts +2 -0
- package/dist/mcp/tools/stop-run.js +82 -0
- package/dist/mcp/tools/subagents.js +2 -2
- package/dist/mcp/tools/tools.d.ts +7 -5
- package/dist/mcp/tools/tools.js +64 -16
- package/dist/mcp/tools/trigger.js +28 -6
- package/dist/mcp/transport/http-limits.d.ts +2 -0
- package/dist/mcp/transport/http-limits.js +6 -2
- package/dist/mcp/transport/stdio-link-host.d.ts +20 -0
- package/dist/mcp/transport/stdio-link-host.js +67 -0
- package/dist/mcp/transport/streamable-http.d.ts +13 -0
- package/dist/mcp/transport/streamable-http.js +41 -1
- package/dist/mcp/webhooks/ingress.js +10 -0
- package/dist/native-worker/docker-launcher.d.ts +38 -2
- package/dist/native-worker/docker-launcher.js +65 -5
- package/dist/native-worker/gateway-server.d.ts +55 -3
- package/dist/native-worker/gateway-server.js +152 -34
- package/dist/native-worker/gateway.d.ts +29 -1
- package/dist/native-worker/gateway.js +74 -4
- package/dist/native-worker/http-server.d.ts +7 -1
- package/dist/native-worker/http-server.js +62 -7
- package/dist/native-worker/http-transport.js +1 -1
- package/dist/native-worker/kubernetes-launcher.d.ts +7 -3
- package/dist/native-worker/kubernetes-launcher.js +43 -3
- package/dist/native-worker/launch.d.ts +18 -1
- package/dist/native-worker/launch.js +6 -1
- package/dist/native-worker/ledger.d.ts +24 -4
- package/dist/native-worker/ledger.js +62 -8
- package/dist/native-worker/loopback.js +3 -8
- package/dist/native-worker/main.d.ts +2 -1
- package/dist/native-worker/main.js +14 -3
- package/dist/native-worker/protocol.d.ts +130 -577
- package/dist/native-worker/protocol.js +51 -2
- package/dist/native-worker/sandbox-executor.d.ts +17 -2
- package/dist/native-worker/sandbox-executor.js +78 -4
- package/dist/native-worker/stderr-redaction.d.ts +77 -0
- package/dist/native-worker/stderr-redaction.js +237 -0
- package/dist/native-worker/stdio.d.ts +1 -1
- package/dist/native-worker/stdio.js +6 -5
- package/dist/native-worker/warm-pool.d.ts +2 -2
- package/dist/native-worker/warm-pool.js +4 -4
- package/dist/native-worker/worker.js +28 -2
- package/dist/observability/metrics.js +6 -1
- package/dist/providers/auth/self-hosted.d.ts +1 -1
- package/dist/providers/coding-proxy/capability-hash.d.ts +2 -0
- package/dist/providers/coding-proxy/capability-hash.js +5 -0
- package/dist/providers/coding-proxy/dependency-cache/eviction.d.ts +29 -0
- package/dist/providers/coding-proxy/dependency-cache/eviction.js +87 -0
- package/dist/providers/coding-proxy/dependency-cache/key.d.ts +33 -0
- package/dist/providers/coding-proxy/dependency-cache/key.js +86 -0
- package/dist/providers/coding-proxy/dependency-cache/model-request-seal.d.ts +18 -0
- package/dist/providers/coding-proxy/dependency-cache/model-request-seal.js +40 -0
- package/dist/providers/coding-proxy/dependency-cache/prisma-store.d.ts +25 -0
- package/dist/providers/coding-proxy/dependency-cache/prisma-store.js +131 -0
- package/dist/providers/coding-proxy/dependency-cache/service.d.ts +70 -0
- package/dist/providers/coding-proxy/dependency-cache/service.js +409 -0
- package/dist/providers/coding-proxy/dependency-cache/store.d.ts +85 -0
- package/dist/providers/coding-proxy/dependency-cache/store.js +95 -0
- package/dist/providers/coding-proxy/hold.d.ts +32 -0
- package/dist/providers/coding-proxy/hold.js +86 -0
- package/dist/providers/coding-proxy/interrupted.d.ts +70 -0
- package/dist/providers/coding-proxy/interrupted.js +104 -0
- package/dist/providers/coding-proxy/mcp-route.d.ts +34 -0
- package/dist/providers/coding-proxy/mcp-route.js +166 -0
- package/dist/providers/coding-proxy/memory-ledger.d.ts +17 -2
- package/dist/providers/coding-proxy/memory-ledger.js +99 -8
- package/dist/providers/coding-proxy/metering.d.ts +16 -0
- package/dist/providers/coding-proxy/metering.js +27 -4
- package/dist/providers/coding-proxy/prisma-ledger.d.ts +16 -2
- package/dist/providers/coding-proxy/prisma-ledger.js +209 -69
- package/dist/providers/coding-proxy/proxy.d.ts +21 -2
- package/dist/providers/coding-proxy/proxy.js +300 -48
- package/dist/providers/coding-proxy/registry/audit.d.ts +53 -10
- package/dist/providers/coding-proxy/registry/audit.js +94 -17
- package/dist/providers/coding-proxy/registry/lockfile-parse-worker.d.ts +36 -0
- package/dist/providers/coding-proxy/registry/lockfile-parse-worker.js +67 -0
- package/dist/providers/coding-proxy/registry/lockfile-parse.d.ts +16 -0
- package/dist/providers/coding-proxy/registry/lockfile-parse.js +110 -0
- package/dist/providers/coding-proxy/registry/plan.d.ts +9 -0
- package/dist/providers/coding-proxy/registry/plan.js +201 -48
- package/dist/providers/coding-proxy/registry/prisma-store.d.ts +11 -5
- package/dist/providers/coding-proxy/registry/prisma-store.js +120 -17
- package/dist/providers/coding-proxy/registry/service.d.ts +97 -16
- package/dist/providers/coding-proxy/registry/service.js +579 -112
- package/dist/providers/coding-proxy/registry/store.d.ts +84 -9
- package/dist/providers/coding-proxy/registry/store.js +54 -1
- package/dist/providers/coding-proxy/runtime.d.ts +10 -0
- package/dist/providers/coding-proxy/runtime.js +109 -16
- package/dist/providers/coding-proxy/server.d.ts +9 -1
- package/dist/providers/coding-proxy/server.js +55 -1
- package/dist/providers/coding-proxy/types.d.ts +78 -1
- package/dist/providers/datastore/types.d.ts +5 -0
- package/dist/providers/engine/types.d.ts +17 -2
- package/dist/providers/engine/types.js +17 -0
- package/dist/providers/executor/composition.d.ts +10 -3
- package/dist/providers/executor/composition.js +52 -7
- package/dist/providers/executor/container.d.ts +394 -9
- package/dist/providers/executor/container.js +1210 -96
- package/dist/providers/executor/dbos-status.d.ts +31 -0
- package/dist/providers/executor/dbos-status.js +64 -0
- package/dist/providers/executor/dbos.d.ts +50 -1
- package/dist/providers/executor/dbos.js +207 -20
- package/dist/providers/executor/deferred.d.ts +12 -24
- package/dist/providers/executor/deferred.js +10 -29
- package/dist/providers/executor/in-process.d.ts +9 -1
- package/dist/providers/executor/in-process.js +14 -4
- package/dist/providers/executor/linked-issue-reader.d.ts +16 -0
- package/dist/providers/executor/linked-issue-reader.js +30 -0
- package/dist/providers/executor/routing.d.ts +2 -0
- package/dist/providers/executor/routing.js +4 -0
- package/dist/providers/executor/types.d.ts +13 -0
- package/dist/providers/host-tools/invoke.d.ts +37 -0
- package/dist/providers/host-tools/invoke.js +117 -0
- package/dist/providers/host-tools/operations.d.ts +65 -0
- package/dist/providers/host-tools/operations.js +149 -0
- package/dist/providers/host-tools/registry.d.ts +79 -0
- package/dist/providers/host-tools/registry.js +362 -0
- package/dist/providers/host-tools/request-guard.d.ts +17 -0
- package/dist/providers/host-tools/request-guard.js +99 -0
- package/dist/providers/host-tools/self-test.d.ts +64 -0
- package/dist/providers/host-tools/self-test.js +142 -0
- package/dist/providers/index.d.ts +2 -1
- package/dist/providers/issue-tracker/types.d.ts +17 -0
- package/dist/providers/issue-tracker/types.js +39 -1
- package/dist/providers/jobs/claude-tool-setup.d.ts +4 -0
- package/dist/providers/jobs/claude-tool-setup.js +5 -2
- package/dist/providers/jobs/docker-isolation.d.ts +10 -2
- package/dist/providers/jobs/docker-isolation.js +47 -8
- package/dist/providers/jobs/docker.d.ts +9 -0
- package/dist/providers/jobs/docker.js +60 -11
- package/dist/providers/jobs/fake-kubernetes-api.d.ts +2 -0
- package/dist/providers/jobs/fake-kubernetes-api.js +3 -0
- package/dist/providers/jobs/kubernetes-api.d.ts +8 -0
- package/dist/providers/jobs/kubernetes-api.js +10 -0
- package/dist/providers/jobs/kubernetes-client.js +10 -1
- package/dist/providers/jobs/kubernetes-isolation.d.ts +5 -1
- package/dist/providers/jobs/kubernetes-isolation.js +32 -3
- package/dist/providers/jobs/kubernetes.d.ts +11 -1
- package/dist/providers/jobs/kubernetes.js +111 -17
- package/dist/providers/jobs/types.d.ts +39 -0
- package/dist/providers/jobs/types.js +13 -1
- package/dist/providers/llm/anthropic.js +5 -1
- package/dist/providers/llm/bedrock.d.ts +0 -12
- package/dist/providers/llm/bedrock.js +4 -0
- package/dist/providers/llm/claude-messages.d.ts +3 -1
- package/dist/providers/llm/claude-messages.js +4 -1
- package/dist/providers/llm/claude-provider.d.ts +2 -2
- package/dist/providers/llm/claude-provider.js +2 -2
- package/dist/providers/llm/openai.d.ts +2 -2
- package/dist/providers/llm/openai.js +6 -2
- package/dist/providers/llm/routing.d.ts +2 -2
- package/dist/providers/llm/routing.js +2 -2
- package/dist/providers/llm/types.d.ts +12 -2
- package/dist/providers/review-host/github-events.d.ts +9 -1
- package/dist/providers/review-host/github-events.js +34 -12
- package/dist/providers/review-host/github.d.ts +29 -2
- package/dist/providers/review-host/github.js +224 -29
- package/dist/providers/review-host/local.d.ts +8 -4
- package/dist/providers/review-host/local.js +49 -31
- package/dist/providers/review-host/patch-pages.d.ts +41 -0
- package/dist/providers/review-host/patch-pages.js +176 -0
- package/dist/providers/review-host/review-format.d.ts +19 -1
- package/dist/providers/review-host/review-format.js +38 -7
- package/dist/providers/review-host/types.d.ts +140 -6
- package/dist/providers/review-host/types.js +9 -1
- package/dist/providers/storage/gcs.d.ts +63 -0
- package/dist/providers/storage/gcs.js +69 -0
- package/dist/providers/storage/index.d.ts +15 -0
- package/dist/providers/storage/index.js +14 -0
- package/dist/providers/storage/local.d.ts +24 -0
- package/dist/providers/storage/local.js +92 -0
- package/dist/providers/storage/meter.d.ts +14 -0
- package/dist/providers/storage/meter.js +34 -0
- package/dist/providers/storage/s3.d.ts +41 -0
- package/dist/providers/storage/s3.js +107 -0
- package/dist/providers/storage/types.d.ts +37 -3
- package/dist/providers/storage/types.js +21 -4
- package/dist/providers/vcs/git.d.ts +39 -4
- package/dist/providers/vcs/git.js +339 -26
- package/dist/providers/vcs/github-remote.d.ts +26 -3
- package/dist/providers/vcs/github-remote.js +124 -14
- package/dist/providers/vcs/github.d.ts +183 -44
- package/dist/providers/vcs/github.js +455 -56
- package/dist/providers/vcs/index.d.ts +1 -1
- package/dist/providers/vcs/index.js +9 -2
- package/dist/providers/vcs/pr-description.d.ts +127 -0
- package/dist/providers/vcs/pr-description.js +270 -0
- package/dist/providers/vcs/remote.d.ts +37 -1
- package/dist/providers/vcs/remote.js +7 -1
- package/dist/providers/vcs/routing.d.ts +16 -8
- package/dist/providers/vcs/routing.js +27 -6
- package/dist/providers/vcs/types.d.ts +150 -5
- package/dist/quickstart/coding-seed.d.ts +14 -3
- package/dist/quickstart/coding-seed.js +213 -4
- package/dist/quickstart/index.d.ts +5 -0
- package/dist/quickstart/index.js +21 -0
- package/dist/quickstart/reviewer-prompt.d.ts +1 -1
- package/dist/quickstart/reviewer-prompt.js +6 -6
- package/dist/quickstart-images.json +1 -1
- package/dist/sandbox/eval-core.d.ts +12 -2
- package/dist/sandbox/eval-core.js +20 -4
- package/dist/sandbox/generated/zod.bundle.js +62 -1
- package/dist/sandbox/generated/zod3.bundle.js +5 -0
- package/dist/sandbox/host-functions.d.ts +5 -0
- package/dist/sandbox/host-functions.js +13 -13
- package/dist/sandbox/limits.d.ts +4 -1
- package/dist/sandbox/limits.js +4 -1
- package/dist/sandbox/run-in-sandbox.d.ts +6 -0
- package/dist/sandbox/run-in-sandbox.js +14 -2
- package/dist/sandbox/safe-fetch.d.ts +2 -0
- package/dist/sandbox/safe-fetch.js +1 -1
- package/dist/sandbox/secret-broker.d.ts +1 -0
- package/dist/sandbox/secret-broker.js +4 -5
- package/dist/sandbox/tool-capabilities.d.ts +10 -30
- package/dist/sandbox/tool-timeout.d.ts +32 -0
- package/dist/sandbox/tool-timeout.js +52 -0
- package/dist/sandbox/user-tool.d.ts +8 -1
- package/dist/sandbox/user-tool.js +9 -3
- package/dist/sandbox/zod-params.d.ts +37 -5
- package/dist/sandbox/zod-params.js +181 -26
- package/dist/serve.js +8 -1
- package/dist/viewer/api-schema.d.ts +349 -2627
- package/dist/viewer/api-schema.js +7 -0
- package/dist/viewer/build-schemas.js +6 -2
- package/dist/viewer/graph.js +2 -1
- package/dist/viewer/openapi.js +2 -4
- package/dist/wardby-bin.js +15 -0
- package/docs/README.md +11 -1
- package/docs/agent-recipes.md +95 -24
- package/docs/architecture-runtime.md +1 -1
- package/docs/claude-code-plugin.md +164 -0
- package/docs/code-review-agents.md +557 -41
- package/docs/coding-agent-setup.md +566 -8
- package/docs/coding-packages.md +1033 -90
- package/docs/coding-services.md +27 -12
- package/docs/coding-worker-byo-images.md +24 -2
- package/docs/coding-worker-isolation.md +183 -37
- package/docs/debugging-agent-runs.md +242 -0
- package/docs/getting-started-gke.md +129 -141
- package/docs/getting-started-identity-provider.md +53 -38
- package/docs/getting-started.md +17 -0
- package/docs/host-providers.md +294 -0
- package/docs/jira-agents.md +17 -8
- package/docs/knowledge/blob-not-found-semantics.md +41 -0
- package/docs/knowledge/bounded-file-descriptor.md +52 -0
- package/docs/knowledge/delegation-admission-slots.md +52 -0
- package/docs/knowledge/http-dispatcher-bootstrap.md +61 -0
- package/docs/knowledge/import-rename-target.md +52 -0
- package/docs/knowledge/index.md +57 -0
- package/docs/knowledge/log.md +9 -0
- package/docs/knowledge/mcp-cancelled-task-precedence.md +41 -0
- package/docs/knowledge/mcp-http-prompt-discovery.md +41 -0
- package/docs/knowledge/mcp-schema-module-boundary.md +41 -0
- package/docs/knowledge/nullable-tool-uniqueness.md +52 -0
- package/docs/knowledge/overview-cli.md +74 -0
- package/docs/knowledge/overview-coding-proxy.md +72 -0
- package/docs/knowledge/overview-coding.md +72 -0
- package/docs/knowledge/overview-config.md +60 -0
- package/docs/knowledge/overview-core.md +72 -0
- package/docs/knowledge/overview-deploy.md +83 -0
- package/docs/knowledge/overview-mcp.md +61 -0
- package/docs/knowledge/overview-prisma.md +72 -0
- package/docs/knowledge/overview-providers.md +89 -0
- package/docs/knowledge/overview-sandbox.md +83 -0
- package/docs/knowledge/overview-surfaces.md +83 -0
- package/docs/knowledge/private-datastore-shared-boundary.md +54 -0
- package/docs/knowledge/proxy-settlement-projections.md +41 -0
- package/docs/knowledge/run-pricing-first-writer.md +43 -0
- package/docs/knowledge/schedule-claim-transaction.md +41 -0
- package/docs/knowledge/secret-entry-replica-contract.md +52 -0
- package/docs/knowledge/terminal-run-first-writer.md +41 -0
- package/docs/knowledge/transactional-agent-authorization.md +52 -0
- package/docs/knowledge/viewer-notify-write-isolation.md +30 -0
- package/docs/knowledge/warm-input-publication.md +30 -0
- package/docs/knowledge/workspace-staging-failure.md +54 -0
- package/docs/knowledge.md +54 -14
- package/docs/mcp-servers.md +254 -0
- package/docs/native-sandbox.md +143 -31
- package/docs/observability.md +4 -0
- package/docs/security-deployment.md +139 -29
- package/docs/slack-notifications.md +35 -19
- package/docs/tool-secrets.md +45 -10
- package/docs/viewer-api.md +6 -0
- package/docs/viewer-api.openapi.yml +1 -1
- package/help/admin-viewer.md +28 -2
- package/help/agent-recipes.md +33 -2
- package/help/architecture-agent.md +11 -6
- package/help/brokered-secrets.md +3 -0
- package/help/build-claude-code-image.md +1 -1
- package/help/build-worker-image.md +3 -1
- package/help/builder-agent.md +19 -6
- package/help/claude-code-run-pane.md +40 -0
- package/help/code-review-agents.md +177 -6
- package/help/coding-packages.md +156 -6
- package/help/cost-attribution.md +9 -5
- package/help/creating-agents.md +14 -1
- package/help/dependency-cache.md +143 -0
- package/help/deploy-gke.md +15 -8
- package/help/errors/budget-exhausted.md +187 -0
- package/help/errors/budget-group-exhausted.md +5 -1
- package/help/errors/coding-mcp-pins-unavailable.md +35 -0
- package/help/errors/coding-stream-quota-exceeded.md +33 -0
- package/help/errors/coding-workspace-disk-exceeds-limit.md +39 -0
- package/help/errors/continuation-closed.md +9 -12
- package/help/errors/database-auth-invalid.md +1 -1
- package/help/errors/delegation-conflict.md +24 -0
- package/help/errors/file-list-truncated.md +45 -0
- package/help/errors/full-read-required.md +49 -0
- package/help/errors/github-account-not-allowed.md +4 -0
- package/help/errors/graph-incomplete.md +43 -0
- package/help/errors/graph-limit.md +43 -0
- package/help/errors/host-provider-error.md +40 -0
- package/help/errors/host-tool-failed.md +36 -0
- package/help/errors/mcp-call-limit.md +22 -0
- package/help/errors/mcp-call-timeout.md +22 -0
- package/help/errors/mcp-server-auth-failed.md +22 -0
- package/help/errors/mcp-server-credentials-unavailable.md +45 -0
- package/help/errors/mcp-server-error.md +28 -0
- package/help/errors/mcp-server-unreachable.md +22 -0
- package/help/errors/mcp-servers-off.md +21 -0
- package/help/errors/mcp-tool-not-allowed.md +26 -0
- package/help/errors/mcp-tool-removed.md +22 -0
- package/help/errors/mcp-unavailable.md +25 -0
- package/help/errors/merge-conflict.md +49 -0
- package/help/errors/native-sandbox-capacity.md +1 -1
- package/help/errors/native-sandbox-deadline-exceeded.md +1 -1
- package/help/errors/native-sandbox-docker-failed.md +1 -1
- package/help/errors/native-sandbox-gateway-error.md +20 -0
- package/help/errors/native-sandbox-gateway-unavailable.md +1 -1
- package/help/errors/native-sandbox-image-not-pinned.md +1 -1
- package/help/errors/native-sandbox-isolation-mismatch.md +1 -1
- package/help/errors/native-sandbox-launch-abandoned.md +21 -0
- package/help/errors/native-sandbox-network-unenforced.md +1 -1
- package/help/errors/native-sandbox-requires-catalog.md +1 -1
- package/help/errors/native-sandbox-unavailable.md +1 -1
- package/help/errors/native-sandbox-warm-delivery-failed.md +1 -1
- package/help/errors/native-sandbox-worker-exited.md +4 -3
- package/help/errors/native-sandbox-worker-lost.md +1 -1
- package/help/errors/native-sandbox-worker-unready.md +1 -1
- package/help/errors/package-not-allowed-pending.md +52 -0
- package/help/errors/package-not-allowed.md +51 -0
- package/help/errors/package-refusals.md +43 -0
- package/help/errors/patch-cursor-malformed.md +31 -0
- package/help/errors/repository-not-listed.md +36 -0
- package/help/errors/repository-required.md +36 -0
- package/help/errors/run-lost.md +39 -0
- package/help/errors/run-transcript-download.md +44 -0
- package/help/errors/secret-in-value.md +69 -0
- package/help/errors/target-merge.md +40 -0
- package/help/errors/tool-timeout.md +38 -0
- package/help/fix-merge-conflicts.md +73 -0
- package/help/github-app-setup.md +132 -0
- package/help/github.md +22 -0
- package/help/host-providers.md +40 -0
- package/help/identity-and-access.md +6 -1
- package/help/jira.md +23 -6
- package/help/knowledge.md +16 -7
- package/help/local-repositories.md +1 -1
- package/help/low-power-mode.md +7 -1
- package/help/mcp-servers.md +73 -0
- package/help/mcp.md +7 -2
- package/help/merge-order-check.md +5 -0
- package/help/native-capabilities.md +55 -1
- package/help/native-sandbox.md +16 -2
- package/help/operating-agents.md +21 -0
- package/help/package-audit-mode.md +91 -0
- package/help/related-pull-requests.md +17 -10
- package/help/repo-instructions-and-skills.md +3 -1
- package/help/resume-runs-locally.md +134 -0
- package/help/review-fix-rounds.md +33 -1
- package/help/sharing-agents.md +59 -0
- package/help/slack-notifications.md +19 -5
- package/help/status-comments.md +31 -0
- package/help/stop-run.md +58 -0
- package/help/troubleshooting/budgets.md +28 -0
- package/help/troubleshooting/coding-workers.md +86 -7
- package/help/troubleshooting/debugging-agent-runs.md +29 -0
- package/package.json +18 -10
- package/prisma/migrations/20261016000000_registry_approved_accepted_advisories/migration.sql +3 -0
- package/prisma/migrations/20261016000001_mark_ready_when_passing/migration.sql +3 -0
- package/prisma/migrations/20261017000000_debug_trace_max_mb/migration.sql +4 -0
- package/prisma/migrations/20261018000000_dependency_cache/migration.sql +53 -0
- package/prisma/migrations/20261019000000_claude_max_output_tokens/migration.sql +5 -0
- package/prisma/migrations/20261021000000_pr_description_hash/migration.sql +4 -0
- package/prisma/migrations/20261022000000_dependency_snapshot_validation_metadata/migration.sql +4 -0
- package/prisma/migrations/20261023000000_package_audit_mode/migration.sql +27 -0
- package/prisma/migrations/20261024000000_budget_events/migration.sql +26 -0
- package/prisma/migrations/20261025000000_cache_aware_holds/migration.sql +9 -0
- package/prisma/migrations/20261026000000_budget_overrun/migration.sql +4 -0
- package/prisma/migrations/20261027000000_coding_run_request/migration.sql +1 -0
- package/prisma/migrations/20261028000000_native_gateway_review_reads/migration.sql +6 -0
- package/prisma/migrations/20261029000000_lead_survives_deploy/migration.sql +6 -0
- package/prisma/migrations/20261030000000_local_review_covered_sha/migration.sql +2 -0
- package/prisma/migrations/20261031000000_coding_run_budget_limit/migration.sql +9 -0
- package/prisma/migrations/20261101000000_run_transcripts/migration.sql +22 -0
- package/prisma/migrations/20261102000000_host_providers/migration.sql +56 -0
- package/prisma/migrations/20261104000000_coding_agent_repository_list/migration.sql +5 -0
- package/prisma/migrations/20261106000000_tool_timeout/migration.sql +4 -0
- package/prisma/migrations/20261107000000_mcp_servers/migration.sql +33 -0
- package/prisma/migrations/20261108000000_coding_mcp/migration.sql +5 -0
- package/prisma/migrations/20261109000000_task_run_index/migration.sql +3 -0
- package/prisma/schema.prisma +468 -109
- package/scripts/git-askpass.sh +1 -1
- package/dist/sandbox/generated/zod-to-json-schema.bundle.js +0 -5
|
@@ -3,7 +3,7 @@ id: troubleshooting/coding-workers
|
|
|
3
3
|
title: Troubleshoot coding workers
|
|
4
4
|
summary: Investigate coding-worker setup, isolation preflight, and safe failure handling.
|
|
5
5
|
audience: operator
|
|
6
|
-
tags: [coding-agents, docker, kubernetes, isolation, services]
|
|
6
|
+
tags: [coding-agents, get_run, request, requestUnavailable, quota, coding_queue_timeout, docker, kubernetes, isolation, services, debug-trace, debugTraceMinutes, debugTraceMaxMb, maxOutputTokens, output-tokens, claude-code, codex, memory, CODING_MEMORY_MB, CODING_CPUS, out-of-memory]
|
|
7
7
|
appliesTo: >=0.2.1
|
|
8
8
|
---
|
|
9
9
|
|
|
@@ -54,14 +54,93 @@ raise `codingProfile.maxTurns` (up to 1000) with `update_agent` for the first,
|
|
|
54
54
|
or narrow the task for the second. Codex runs have no turn limit. See
|
|
55
55
|
[Coding run reached its turn limit](../errors/coding-turn-limit.md).
|
|
56
56
|
|
|
57
|
+
## Claude Code replies that exceed the output token maximum
|
|
58
|
+
|
|
59
|
+
A Claude Code run caps each model reply at 32000 output tokens by default,
|
|
60
|
+
thinking included. When a reply needs more, Claude Code ends with an error
|
|
61
|
+
that the response exceeded the output token maximum and the run fails as a
|
|
62
|
+
stream failure. Raise `codingProfile.maxOutputTokens` (1024 to 128000; `null`
|
|
63
|
+
restores the default) with `update_agent`, for example
|
|
64
|
+
`{ "id": "<agent id>", "codingProfile": { "maxOutputTokens": 64000 } }`. The
|
|
65
|
+
coding proxy reserves `maxOutputTokens` × the model's output price against the
|
|
66
|
+
run's budget for every model request, so a higher value needs a larger
|
|
67
|
+
`budgetUsd`; a request whose reservation does not fit ends the run as
|
|
68
|
+
`budget_exhausted` (see the help article `errors/budget-exhausted`), so a small
|
|
69
|
+
budget runs out sooner. Codex agents refuse the
|
|
70
|
+
setting. The default and the setting need a Claude Code worker image from
|
|
71
|
+
Wardby 0.7.0 or later: an older pinned image still caps replies at 4096 tokens
|
|
72
|
+
and rejects a run whose agent sets `maxOutputTokens`.
|
|
73
|
+
|
|
74
|
+
## Runs refused because the provider is out of credit
|
|
75
|
+
|
|
76
|
+
A diagnostic of `job_coding_stream_quota_exceeded` means the model provider
|
|
77
|
+
behind the coding proxy refused the run because its account is out of credit or
|
|
78
|
+
over a spend limit, not that the run's own budget ran out. Every run on that
|
|
79
|
+
account fails the same way until the limit is raised; see the help article
|
|
80
|
+
`errors/coding-stream-quota-exceeded`.
|
|
81
|
+
|
|
82
|
+
## Runs that die while running checks (out of memory)
|
|
83
|
+
|
|
84
|
+
A run that fails with `coding_failure_executor` while it runs a linter, a type
|
|
85
|
+
check or a test suite has often run out of memory. Each coding pod gets
|
|
86
|
+
`CODING_MEMORY_MB` (2048 MiB by default) and `CODING_CPUS` (1 by default). In a
|
|
87
|
+
Codex run the agent and its commands share that pod. In a Claude Code run the
|
|
88
|
+
commands run in a tool-runner container limited to at most 512 MiB and 0.25 CPU.
|
|
89
|
+
|
|
90
|
+
1. Turn on a debug trace (below) and run it again. A Node.js crash shows as
|
|
91
|
+
`Aborted` with exit code 134 in a command's output.
|
|
92
|
+
2. Raise `CODING_MEMORY_MB` and `CODING_CPUS` on the control plane. On GKE, deploy
|
|
93
|
+
with `CODING_MEMORY_MB=6144 CODING_CPUS=2 deploy/gke/up.sh` (see the GKE deploy
|
|
94
|
+
guide). This applies to every coding run.
|
|
95
|
+
3. For a Claude Code agent with heavy checks, run it on Codex instead, since raising
|
|
96
|
+
the pod's memory doesn't raise the tool runner's limit.
|
|
97
|
+
|
|
98
|
+
## See what a run was asked to do
|
|
99
|
+
|
|
100
|
+
From Wardby 0.8.0, `get_run` returns a coding run's `request`: the task it
|
|
101
|
+
received from `trigger_agent`, a webhook or a lead, without the agent's standing
|
|
102
|
+
instructions. Use it to check what a lead told a coding agent. The agent's secret
|
|
103
|
+
values and token-shaped values are masked. If the secrets can't be read, you get
|
|
104
|
+
`requestUnavailable: true` instead of the text.
|
|
105
|
+
|
|
106
|
+
## Debug trace
|
|
107
|
+
|
|
108
|
+
When a run's fixed error code or a slow run doesn't say enough, an admin can
|
|
109
|
+
trace the agent's runs for a while:
|
|
110
|
+
`update_agent { "id": "<agent id>", "codingProfile": { "debugTraceMinutes": 30 } }`.
|
|
111
|
+
Each run dispatched in that window writes its whole agent stream, redacted, to
|
|
112
|
+
its worker container's log under a `debugTrace` key. That covers Codex events,
|
|
113
|
+
or, for Claude Code (Wardby 0.7.0 or later), every Agent SDK message:
|
|
114
|
+
each command the agent ran with its output, the final usage and duration, plus
|
|
115
|
+
stream failures in full. For Claude Code, the time between a command's
|
|
116
|
+
`tool_use` and its `tool_result` line is how long that command took. A run's
|
|
117
|
+
trace stops at 2 MiB by default; set `codingProfile.debugTraceMaxMb` (1 to 64,
|
|
118
|
+
admin only) for more. The trace can hold prompts and repository content, so
|
|
119
|
+
keep it on briefly. See
|
|
120
|
+
[the debug trace section](../../docs/coding-worker-isolation.md#debug-trace)
|
|
121
|
+
for where the log lives and what is redacted.
|
|
122
|
+
|
|
57
123
|
## Runs that wait for cluster capacity
|
|
58
124
|
|
|
59
|
-
On Kubernetes
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
125
|
+
On Kubernetes, a run whose pod would not fit the namespace quota waits instead
|
|
126
|
+
of failing. With `KUBERNETES_RESOURCE_QUOTA` set, it is held before it starts;
|
|
127
|
+
without it, or if the quota fills up meanwhile, the cluster refuses the pod and
|
|
128
|
+
the run returns to the queue. Either way it stays `pending` with
|
|
129
|
+
`codingQueuedAt` set, like a run over `CODING_MAX_CONCURRENT`, and is retried
|
|
130
|
+
(a refused run no sooner than about a minute later). A refused run shows
|
|
131
|
+
`running` briefly, then `pending` again.
|
|
132
|
+
|
|
133
|
+
A run still waiting after `CODING_QUEUE_TIMEOUT_SEC` fails with
|
|
134
|
+
`coding_queue_timeout`. That can mean either the concurrency limit or the
|
|
135
|
+
namespace quota. To tell which, look for the control-plane log line
|
|
136
|
+
`coding run waiting for capacity: the cluster refused its pod` (quota), and run
|
|
137
|
+
`kubectl describe resourcequota -n <namespace>` to compare used against hard
|
|
138
|
+
limits. If the quota is full, raise it, lower the run pods' size, or lower
|
|
139
|
+
`CODING_MAX_CONCURRENT` so fewer runs compete; size the quota for
|
|
140
|
+
`CODING_MAX_CONCURRENT` times the run pod's requests. If the log line
|
|
141
|
+
`kubernetes_resource_quota_unconfigured` appears, set `KUBERNETES_RESOURCE_QUOTA`
|
|
142
|
+
to the named quota and grant the launcher `get` on it. See
|
|
143
|
+
[the queue section](../../docs/coding-worker-isolation.md#control-plane-configuration).
|
|
65
144
|
|
|
66
145
|
A lead agent with `parallelDelegations` starts several coding runs together;
|
|
67
146
|
expect some of them to queue when the lead fans out wider than the free slots.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: troubleshooting/debugging-agent-runs
|
|
3
|
+
title: Debug an agent run
|
|
4
|
+
summary: Triage a run that failed, opened no pull request, or missed what you expected, using the MCP tools and GitHub without server logs.
|
|
5
|
+
audience: operator
|
|
6
|
+
tags: [debugging, triage, get_run, list_runs, failureCategory, diagnosticId, get_run_transcript, no_changes]
|
|
7
|
+
appliesTo: >=0.7.0
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Debug an agent run
|
|
11
|
+
|
|
12
|
+
Find the run with `list_runs`, read it with `get_run`, then follow what you see.
|
|
13
|
+
Without an `agentId`, `list_runs` lists your runs across every agent (from
|
|
14
|
+
Wardby 0.8.0); add `active: true` or `since` to narrow it.
|
|
15
|
+
|
|
16
|
+
| What you see | What to check |
|
|
17
|
+
| ----------------------------- | -------------------------------------------------------------------------------------------------- |
|
|
18
|
+
| No run started | `list_repositories` on the router: is a link holding the trigger you used? |
|
|
19
|
+
| Failed or refused | `status`, `error`, `failureCategory` and the final text. Call `search_help` with the category |
|
|
20
|
+
| Lead ran, no coding run | The lead's final text, which should say why it didn't delegate |
|
|
21
|
+
| Succeeded, no pull request | `codingResult.outcome`: `no_changes`, `budget_exhausted`, or `branch_pushed` on a local repository |
|
|
22
|
+
| Pull request missed the point | The diff, the review, the original request, and `request` on `get_run` (from Wardby 0.8.0) |
|
|
23
|
+
|
|
24
|
+
A failed coding run's specific reason is only in the server log. Send an operator
|
|
25
|
+
the run ID and its `diagnosticId`. For Claude Code agents with `sessionResume` on,
|
|
26
|
+
`get_run_transcript` shows what the agent did; see
|
|
27
|
+
[Resume Claude Code runs locally](../resume-runs-locally.md).
|
|
28
|
+
|
|
29
|
+
The full guide is [Debugging an agent run](../../docs/debugging-agent-runs.md).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wardby/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Self-hosted control plane for budget-guarded AI agents.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://github.com/wardby/wardby#readme",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"build:help": "tsx src/help/build.ts",
|
|
59
59
|
"sync:reviewer-prompt": "tsx src/quickstart/sync-reviewer-prompt.ts",
|
|
60
60
|
"build:viewer-schemas": "tsx src/viewer/build-schemas.ts",
|
|
61
|
-
"build": "npm run build:vendor && PRISMA_HIDE_UPDATE_MESSAGE=1 prisma generate && tsc -p tsconfig.build.json && npm run build:help",
|
|
61
|
+
"build": "npm run build:vendor && PRISMA_HIDE_UPDATE_MESSAGE=1 prisma generate && tsc -p tsconfig.build.json && node scripts/copy-build-modules.mjs && npm run build:help",
|
|
62
62
|
"prepare": "npm run build:vendor && PRISMA_HIDE_UPDATE_MESSAGE=1 prisma generate",
|
|
63
63
|
"prepack": "npm run build",
|
|
64
64
|
"cli": "tsx --conditions=wardby-source src/wardby-bin.ts",
|
|
@@ -67,6 +67,7 @@
|
|
|
67
67
|
"test": "npm run build:vendor && vitest run",
|
|
68
68
|
"test:package": "node scripts/npm-package-acceptance.mjs",
|
|
69
69
|
"test:contract": "vitest run --config vitest.contract.config.ts",
|
|
70
|
+
"test:release": "npm run build:vendor && vitest run --config vitest.release.config.ts",
|
|
70
71
|
"test:kubernetes": "WARDBY_KUBERNETES_TEST=1 vitest run src/providers/jobs/kubernetes.integration.test.ts",
|
|
71
72
|
"test:native-docker": "WARDBY_NATIVE_DOCKER_TEST=1 vitest run src/native-worker/docker.acceptance.test.ts",
|
|
72
73
|
"test:native-kind": "WARDBY_NATIVE_KIND_TEST=1 vitest run src/native-worker/kubernetes.acceptance.test.ts",
|
|
@@ -100,12 +101,16 @@
|
|
|
100
101
|
"@anthropic-ai/bedrock-sdk": "^0.33.4",
|
|
101
102
|
"@anthropic-ai/sdk": "^0.124.0",
|
|
102
103
|
"@aws-crypto/sha256-js": "4.0.0",
|
|
104
|
+
"@aws-sdk/client-s3": "3.1140.0",
|
|
105
|
+
"@aws-sdk/lib-storage": "3.1140.0",
|
|
103
106
|
"@aws-sdk/rds-signer": "3.1140.0",
|
|
107
|
+
"@aws-sdk/s3-request-presigner": "3.1140.0",
|
|
104
108
|
"@dbos-inc/dbos-sdk": "4.27.6",
|
|
109
|
+
"@google-cloud/storage": "8.2.0",
|
|
105
110
|
"@kubernetes/client-node": "^2.0.0",
|
|
106
|
-
"@modelcontextprotocol/client": "^2.
|
|
107
|
-
"@modelcontextprotocol/node": "^2.
|
|
108
|
-
"@modelcontextprotocol/server": "^2.
|
|
111
|
+
"@modelcontextprotocol/client": "^2.4.0",
|
|
112
|
+
"@modelcontextprotocol/node": "^2.1.2",
|
|
113
|
+
"@modelcontextprotocol/server": "^2.4.0",
|
|
109
114
|
"@prisma/adapter-pg": "7.10.0",
|
|
110
115
|
"@prisma/client": "7.10.0",
|
|
111
116
|
"@prometheus-io/client": "^0.16.1",
|
|
@@ -124,11 +129,11 @@
|
|
|
124
129
|
"pino": "^9.14.0",
|
|
125
130
|
"quickjs-emscripten": "^0.32.0",
|
|
126
131
|
"semver": "^7.8.5",
|
|
132
|
+
"smol-toml": "1.9.0",
|
|
127
133
|
"tar-stream": "^3.2.1",
|
|
128
|
-
"undici": "^8.
|
|
134
|
+
"undici": "^8.12.3",
|
|
129
135
|
"yaml": "^2.9.1",
|
|
130
|
-
"zod": "^
|
|
131
|
-
"zod-to-json-schema": "^3.25.2"
|
|
136
|
+
"zod": "^4.6.7"
|
|
132
137
|
},
|
|
133
138
|
"devDependencies": {
|
|
134
139
|
"@eslint/js": "^10.0.1",
|
|
@@ -148,10 +153,13 @@
|
|
|
148
153
|
"tsx": "^4.19.0",
|
|
149
154
|
"typescript": "^5.6.0",
|
|
150
155
|
"typescript-eslint": "^8.69.0",
|
|
151
|
-
"vitest": "^4.1.
|
|
156
|
+
"vitest": "^4.1.12",
|
|
157
|
+
"zod-to-json-schema": "^3.25.2"
|
|
152
158
|
},
|
|
153
159
|
"overrides": {
|
|
154
160
|
"deepmerge-ts": "8.0.2",
|
|
155
|
-
"
|
|
161
|
+
"minimatch": "11.0.3",
|
|
162
|
+
"mysql2": "3.24.4",
|
|
163
|
+
"uuid": "11.1.1"
|
|
156
164
|
}
|
|
157
165
|
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
-- Configurable per-run debug-trace cap: the profile carries the admin-set cap
|
|
2
|
+
-- (MiB), and each traced run records at dispatch the cap it used.
|
|
3
|
+
ALTER TABLE "CodingAgentProfile" ADD COLUMN "debugTraceMaxMb" INTEGER;
|
|
4
|
+
ALTER TABLE "CodingRun" ADD COLUMN "debugTraceMaxMb" INTEGER;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
-- Additive: the run dependency cache. An agent flag snapshotted onto each
|
|
2
|
+
-- coding run, the run's reported cache result, the proxy session's approved
|
|
3
|
+
-- lock hashes and seal, and the snapshot metadata the coding proxy keeps.
|
|
4
|
+
-- A snapshot outlives the run that created it: createdByRunId is cleared, not
|
|
5
|
+
-- cascaded, when that run is deleted.
|
|
6
|
+
|
|
7
|
+
-- AlterTable
|
|
8
|
+
ALTER TABLE "CodingAgentProfile" ADD COLUMN "dependencyCache" BOOLEAN NOT NULL DEFAULT false;
|
|
9
|
+
|
|
10
|
+
-- AlterTable
|
|
11
|
+
ALTER TABLE "CodingRun" ADD COLUMN "dependencyCache" BOOLEAN NOT NULL DEFAULT false,
|
|
12
|
+
ADD COLUMN "dependencyCacheResult" JSONB;
|
|
13
|
+
|
|
14
|
+
-- AlterTable
|
|
15
|
+
ALTER TABLE "CodingProxySession" ADD COLUMN "dependencyCacheLockHashes" TEXT[] DEFAULT ARRAY[]::TEXT[],
|
|
16
|
+
ADD COLUMN "dependencyCacheSealedAt" TIMESTAMP(3);
|
|
17
|
+
|
|
18
|
+
-- CreateTable
|
|
19
|
+
CREATE TABLE "DependencySnapshot" (
|
|
20
|
+
"id" TEXT NOT NULL,
|
|
21
|
+
"ecosystem" TEXT NOT NULL,
|
|
22
|
+
"repository" TEXT NOT NULL,
|
|
23
|
+
"projectPath" TEXT NOT NULL DEFAULT '.',
|
|
24
|
+
"lockHash" TEXT NOT NULL,
|
|
25
|
+
"workerImage" TEXT NOT NULL,
|
|
26
|
+
"policyHash" TEXT NOT NULL,
|
|
27
|
+
"blobKey" TEXT NOT NULL,
|
|
28
|
+
"sha256" TEXT NOT NULL,
|
|
29
|
+
"sizeBytes" BIGINT NOT NULL,
|
|
30
|
+
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
31
|
+
"lastUsedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
32
|
+
"createdByRunId" TEXT,
|
|
33
|
+
|
|
34
|
+
CONSTRAINT "DependencySnapshot_pkey" PRIMARY KEY ("id")
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
-- CreateIndex
|
|
38
|
+
CREATE UNIQUE INDEX "DependencySnapshot_blobKey_key" ON "DependencySnapshot"("blobKey");
|
|
39
|
+
|
|
40
|
+
-- CreateIndex
|
|
41
|
+
CREATE UNIQUE INDEX "DependencySnapshot_ecosystem_repository_projectPath_lockHas_key" ON "DependencySnapshot"("ecosystem", "repository", "projectPath", "lockHash", "workerImage", "policyHash");
|
|
42
|
+
|
|
43
|
+
-- CreateIndex
|
|
44
|
+
CREATE INDEX "DependencySnapshot_ecosystem_repository_projectPath_workerI_idx" ON "DependencySnapshot"("ecosystem", "repository", "projectPath", "workerImage", "policyHash", "createdAt");
|
|
45
|
+
|
|
46
|
+
-- CreateIndex
|
|
47
|
+
CREATE INDEX "DependencySnapshot_lastUsedAt_idx" ON "DependencySnapshot"("lastUsedAt");
|
|
48
|
+
|
|
49
|
+
-- CreateIndex
|
|
50
|
+
CREATE INDEX "DependencySnapshot_createdByRunId_projectPath_idx" ON "DependencySnapshot"("createdByRunId", "projectPath");
|
|
51
|
+
|
|
52
|
+
-- AddForeignKey
|
|
53
|
+
ALTER TABLE "DependencySnapshot" ADD CONSTRAINT "DependencySnapshot_createdByRunId_fkey" FOREIGN KEY ("createdByRunId") REFERENCES "CodingRun"("runId") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
-- Claude Code output tokens per model reply: the profile carries the agent's
|
|
2
|
+
-- setting, and each run records at dispatch the value it used. Null = the
|
|
3
|
+
-- worker default.
|
|
4
|
+
ALTER TABLE "CodingAgentProfile" ADD COLUMN "maxOutputTokens" INTEGER;
|
|
5
|
+
ALTER TABLE "CodingRun" ADD COLUMN "maxOutputTokens" INTEGER;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
-- Additive: the pull request description Wardby last wrote (hash + author run, root rows only), and each run's description update outcome.
|
|
2
|
+
ALTER TABLE "CodingRun" ADD COLUMN "prDescriptionSha256" TEXT;
|
|
3
|
+
ALTER TABLE "CodingRun" ADD COLUMN "prDescriptionRunId" TEXT;
|
|
4
|
+
ALTER TABLE "CodingRun" ADD COLUMN "prDescriptionOutcome" TEXT;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
-- Package audit mode (docs/coding-packages.md#package-audit-mode): a timed
|
|
2
|
+
-- per-agent mode, fixed on each coding run at dispatch, and the run's record
|
|
3
|
+
-- of what the registry served only because of it.
|
|
4
|
+
CREATE TYPE "PackageAuditMode" AS ENUM ('audit', 'full');
|
|
5
|
+
|
|
6
|
+
ALTER TABLE "CodingAgentProfile" ADD COLUMN "packageAuditMode" "PackageAuditMode";
|
|
7
|
+
ALTER TABLE "CodingAgentProfile" ADD COLUMN "packageAuditUntil" TIMESTAMP(3);
|
|
8
|
+
ALTER TABLE "CodingRun" ADD COLUMN "packageAuditMode" "PackageAuditMode";
|
|
9
|
+
ALTER TABLE "RegistryAllowance" ADD COLUMN "auditedVia" TEXT;
|
|
10
|
+
ALTER TABLE "RegistryApprovedVersion" ADD COLUMN "audit" JSONB;
|
|
11
|
+
|
|
12
|
+
CREATE TABLE "RegistryAuditRecord" (
|
|
13
|
+
"runId" TEXT NOT NULL,
|
|
14
|
+
"ecosystem" TEXT NOT NULL,
|
|
15
|
+
"name" TEXT NOT NULL,
|
|
16
|
+
"version" TEXT NOT NULL,
|
|
17
|
+
"relation" TEXT NOT NULL,
|
|
18
|
+
"via" TEXT,
|
|
19
|
+
"sizeBytes" INTEGER,
|
|
20
|
+
"advisories" JSONB NOT NULL DEFAULT '[]',
|
|
21
|
+
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
22
|
+
|
|
23
|
+
CONSTRAINT "RegistryAuditRecord_pkey" PRIMARY KEY ("runId","ecosystem","name","version")
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
ALTER TABLE "RegistryAuditRecord" ADD CONSTRAINT "RegistryAuditRecord_runId_fkey"
|
|
27
|
+
FOREIGN KEY ("runId") REFERENCES "CodingRun"("runId") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
-- Budget refusal records and estimated settlement of interrupted requests.
|
|
2
|
+
|
|
3
|
+
CREATE TYPE "RunBudgetEventKind" AS ENUM ('refused');
|
|
4
|
+
|
|
5
|
+
CREATE TABLE "RunBudgetEvent" (
|
|
6
|
+
"id" TEXT NOT NULL,
|
|
7
|
+
"runId" TEXT NOT NULL,
|
|
8
|
+
"kind" "RunBudgetEventKind" NOT NULL,
|
|
9
|
+
"limit" TEXT NOT NULL,
|
|
10
|
+
"at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
11
|
+
"details" JSONB NOT NULL,
|
|
12
|
+
CONSTRAINT "RunBudgetEvent_pkey" PRIMARY KEY ("id")
|
|
13
|
+
);
|
|
14
|
+
|
|
15
|
+
CREATE INDEX "RunBudgetEvent_runId_at_idx" ON "RunBudgetEvent"("runId", "at");
|
|
16
|
+
|
|
17
|
+
ALTER TABLE "RunBudgetEvent" ADD CONSTRAINT "RunBudgetEvent_runId_fkey"
|
|
18
|
+
FOREIGN KEY ("runId") REFERENCES "Run"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
19
|
+
|
|
20
|
+
ALTER TABLE "CodingRun" ADD COLUMN "budgetLimitedBy" TEXT;
|
|
21
|
+
|
|
22
|
+
ALTER TABLE "CodingProxyRequest" ADD COLUMN "costEstimated" BOOLEAN NOT NULL DEFAULT false;
|
|
23
|
+
|
|
24
|
+
ALTER TABLE "NativeGatewayCall" ADD COLUMN "costEstimated" BOOLEAN NOT NULL DEFAULT false;
|
|
25
|
+
|
|
26
|
+
ALTER TABLE "CodingProxySession" ADD COLUMN "budgetRefusal" JSONB;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
-- Cache-aware holds: per-request size, ceiling, basis and conversation key.
|
|
2
|
+
|
|
3
|
+
ALTER TABLE "CodingProxyRequest" ADD COLUMN "requestBytes" INTEGER;
|
|
4
|
+
ALTER TABLE "CodingProxyRequest" ADD COLUMN "ceilingUsd" DECIMAL(18,10);
|
|
5
|
+
ALTER TABLE "CodingProxyRequest" ADD COLUMN "reservationBasis" TEXT;
|
|
6
|
+
ALTER TABLE "CodingProxyRequest" ADD COLUMN "conversationKey" TEXT;
|
|
7
|
+
|
|
8
|
+
CREATE INDEX "CodingProxyRequest_sessionId_conversationKey_idx"
|
|
9
|
+
ON "CodingProxyRequest"("sessionId", "conversationKey");
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
-- Per-agent allowed overrun (percent above budgetUsd) for coding runs, and the
|
|
2
|
+
-- pre-overrun budget recorded on each coding run.
|
|
3
|
+
ALTER TABLE "Agent" ADD COLUMN "allowedOverrunPercent" INTEGER NOT NULL DEFAULT 0;
|
|
4
|
+
ALTER TABLE "CodingRun" ADD COLUMN "budgetBaseUsd" DECIMAL(10,6);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ALTER TABLE "CodingRun" ADD COLUMN "request" TEXT;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
-- Additive: what a native sandbox run's review tools have read (repo_pr_read pages and
|
|
2
|
+
-- repo_read_file reads), saved between gateway requests so repo_publish_review can refuse
|
|
3
|
+
-- unread_files. Null until the run reads a pull request.
|
|
4
|
+
|
|
5
|
+
-- AlterTable
|
|
6
|
+
ALTER TABLE "NativeGatewaySession" ADD COLUMN "reviewReads" JSONB;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
-- A run's current DBOS workflow when a cross-version takeover forked it (null = the run id),
|
|
2
|
+
-- and the delegation call that created a child run.
|
|
3
|
+
ALTER TABLE "Run" ADD COLUMN "executionWorkflowId" TEXT;
|
|
4
|
+
ALTER TABLE "Run" ADD COLUMN "parentCallId" TEXT;
|
|
5
|
+
|
|
6
|
+
CREATE UNIQUE INDEX "Run_parentRunId_parentCallId_key" ON "Run"("parentRunId", "parentCallId");
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
-- Overrun from available room: a coding run reserves its base budget, and may
|
|
2
|
+
-- spend past it up to the limit recorded here only through top-ups its budget
|
|
3
|
+
-- group and run tree have room for. Null = no top-ups (older runs, or no
|
|
4
|
+
-- allowed overrun): the reservation is the run's limit, as before.
|
|
5
|
+
ALTER TABLE "CodingRun" ADD COLUMN "budgetLimitUsd" DECIMAL(10,6);
|
|
6
|
+
|
|
7
|
+
-- A top-up the group or run tree had no room for. Postgres 12+ allows ADD VALUE
|
|
8
|
+
-- inside a transaction as long as the new value is not used in the same one.
|
|
9
|
+
ALTER TYPE "RunBudgetEventKind" ADD VALUE 'overrun_unavailable';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
-- Session resume: per-agent setting, per-run copy, and transcript metadata.
|
|
2
|
+
ALTER TABLE "CodingAgentProfile" ADD COLUMN "sessionResume" BOOLEAN NOT NULL DEFAULT false;
|
|
3
|
+
ALTER TABLE "CodingRun" ADD COLUMN "sessionResume" BOOLEAN NOT NULL DEFAULT false;
|
|
4
|
+
|
|
5
|
+
CREATE TABLE "RunTranscript" (
|
|
6
|
+
"runId" TEXT NOT NULL,
|
|
7
|
+
"provider" TEXT NOT NULL,
|
|
8
|
+
"status" TEXT NOT NULL,
|
|
9
|
+
"reason" TEXT,
|
|
10
|
+
"sessionId" TEXT,
|
|
11
|
+
"blobKey" TEXT,
|
|
12
|
+
"sizeBytes" INTEGER,
|
|
13
|
+
"sha256" TEXT,
|
|
14
|
+
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
15
|
+
"expiresAt" TIMESTAMP(3) NOT NULL,
|
|
16
|
+
CONSTRAINT "RunTranscript_pkey" PRIMARY KEY ("runId")
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
CREATE INDEX "RunTranscript_expiresAt_idx" ON "RunTranscript"("expiresAt");
|
|
20
|
+
|
|
21
|
+
ALTER TABLE "RunTranscript" ADD CONSTRAINT "RunTranscript_runId_fkey"
|
|
22
|
+
FOREIGN KEY ("runId") REFERENCES "Run"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
-- Tool-backed host providers: config and approved snapshots. No secret values.
|
|
2
|
+
CREATE TABLE "HostProvider" (
|
|
3
|
+
"name" TEXT NOT NULL,
|
|
4
|
+
"contractVersion" INTEGER NOT NULL,
|
|
5
|
+
"gitHost" TEXT NOT NULL,
|
|
6
|
+
"apiHosts" TEXT[],
|
|
7
|
+
"gitUsername" TEXT NOT NULL,
|
|
8
|
+
"pullRequestUrlTemplate" TEXT NOT NULL,
|
|
9
|
+
"repositoryApiPath" TEXT NOT NULL,
|
|
10
|
+
"permissionApiPath" TEXT,
|
|
11
|
+
"webhook" JSONB NOT NULL,
|
|
12
|
+
"webhookSecretId" TEXT NOT NULL,
|
|
13
|
+
"permissionSecretId" TEXT,
|
|
14
|
+
"createdById" TEXT NOT NULL,
|
|
15
|
+
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
16
|
+
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
17
|
+
CONSTRAINT "HostProvider_pkey" PRIMARY KEY ("name")
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
CREATE TABLE "HostProviderOperation" (
|
|
21
|
+
"provider" TEXT NOT NULL,
|
|
22
|
+
"operation" TEXT NOT NULL,
|
|
23
|
+
"toolId" TEXT,
|
|
24
|
+
"code" TEXT NOT NULL,
|
|
25
|
+
"paramsZod" TEXT NOT NULL,
|
|
26
|
+
"approvedById" TEXT NOT NULL,
|
|
27
|
+
"approvedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
28
|
+
CONSTRAINT "HostProviderOperation_pkey" PRIMARY KEY ("provider", "operation")
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
CREATE TABLE "HostProviderCredential" (
|
|
32
|
+
"id" TEXT NOT NULL,
|
|
33
|
+
"provider" TEXT NOT NULL,
|
|
34
|
+
"repositoryPattern" TEXT NOT NULL,
|
|
35
|
+
"secretId" TEXT NOT NULL,
|
|
36
|
+
"credentialKind" TEXT NOT NULL DEFAULT 'static',
|
|
37
|
+
CONSTRAINT "HostProviderCredential_pkey" PRIMARY KEY ("id")
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
CREATE TABLE "HostProviderTrustedAccount" (
|
|
41
|
+
"provider" TEXT NOT NULL,
|
|
42
|
+
"accountId" TEXT NOT NULL,
|
|
43
|
+
"addedById" TEXT NOT NULL,
|
|
44
|
+
"addedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
45
|
+
CONSTRAINT "HostProviderTrustedAccount_pkey" PRIMARY KEY ("provider", "accountId")
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
CREATE UNIQUE INDEX "HostProviderCredential_provider_repositoryPattern_key" ON "HostProviderCredential"("provider", "repositoryPattern");
|
|
49
|
+
|
|
50
|
+
ALTER TABLE "HostProvider" ADD CONSTRAINT "HostProvider_webhookSecretId_fkey" FOREIGN KEY ("webhookSecretId") REFERENCES "Secret"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
51
|
+
ALTER TABLE "HostProvider" ADD CONSTRAINT "HostProvider_permissionSecretId_fkey" FOREIGN KEY ("permissionSecretId") REFERENCES "Secret"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
52
|
+
ALTER TABLE "HostProviderOperation" ADD CONSTRAINT "HostProviderOperation_provider_fkey" FOREIGN KEY ("provider") REFERENCES "HostProvider"("name") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
53
|
+
ALTER TABLE "HostProviderOperation" ADD CONSTRAINT "HostProviderOperation_toolId_fkey" FOREIGN KEY ("toolId") REFERENCES "Tool"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
54
|
+
ALTER TABLE "HostProviderCredential" ADD CONSTRAINT "HostProviderCredential_provider_fkey" FOREIGN KEY ("provider") REFERENCES "HostProvider"("name") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
55
|
+
ALTER TABLE "HostProviderCredential" ADD CONSTRAINT "HostProviderCredential_secretId_fkey" FOREIGN KEY ("secretId") REFERENCES "Secret"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
56
|
+
ALTER TABLE "HostProviderTrustedAccount" ADD CONSTRAINT "HostProviderTrustedAccount_provider_fkey" FOREIGN KEY ("provider") REFERENCES "HostProvider"("name") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
-- A coding agent may work in several repositories: each link can name its own base
|
|
2
|
+
-- branch, and a run records that its repository came from a link.
|
|
3
|
+
ALTER TABLE "AgentRepository" ADD COLUMN "baseRef" TEXT;
|
|
4
|
+
ALTER TABLE "CodingRun" ADD COLUMN "viaRepositoryLink" BOOLEAN NOT NULL DEFAULT false;
|
|
5
|
+
ALTER TABLE "NativeGatewayCall" ADD COLUMN "childRepository" TEXT;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
-- A sandboxed tool may set its own time limit per call, in milliseconds. Null keeps the
|
|
2
|
+
-- default limit. A host provider's approved snapshot of a tool keeps the value it approved.
|
|
3
|
+
ALTER TABLE "Tool" ADD COLUMN "timeoutMs" INTEGER;
|
|
4
|
+
ALTER TABLE "HostProviderOperation" ADD COLUMN "timeoutMs" INTEGER;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
-- Remote MCP servers an owner registers, and their attachments to native agents.
|
|
2
|
+
CREATE TABLE "McpServer" (
|
|
3
|
+
"id" TEXT NOT NULL,
|
|
4
|
+
"ownerId" TEXT NOT NULL,
|
|
5
|
+
"name" TEXT NOT NULL,
|
|
6
|
+
"url" TEXT NOT NULL,
|
|
7
|
+
"secretNames" TEXT[] DEFAULT ARRAY[]::TEXT[],
|
|
8
|
+
"toolSnapshot" JSONB NOT NULL DEFAULT '[]',
|
|
9
|
+
"snapshotAt" TIMESTAMP(3),
|
|
10
|
+
"serverInfo" JSONB,
|
|
11
|
+
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
12
|
+
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
13
|
+
CONSTRAINT "McpServer_pkey" PRIMARY KEY ("id")
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
CREATE TABLE "AgentMcpServer" (
|
|
17
|
+
"agentId" TEXT NOT NULL,
|
|
18
|
+
"serverId" TEXT NOT NULL,
|
|
19
|
+
"allowedTools" TEXT[],
|
|
20
|
+
"callTimeoutMs" INTEGER,
|
|
21
|
+
"attachedById" TEXT NOT NULL,
|
|
22
|
+
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
23
|
+
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
24
|
+
CONSTRAINT "AgentMcpServer_pkey" PRIMARY KEY ("agentId", "serverId")
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
CREATE UNIQUE INDEX "McpServer_ownerId_name_key" ON "McpServer"("ownerId", "name");
|
|
28
|
+
CREATE INDEX "McpServer_ownerId_idx" ON "McpServer"("ownerId");
|
|
29
|
+
CREATE INDEX "AgentMcpServer_serverId_idx" ON "AgentMcpServer"("serverId");
|
|
30
|
+
|
|
31
|
+
ALTER TABLE "McpServer" ADD CONSTRAINT "McpServer_ownerId_fkey" FOREIGN KEY ("ownerId") REFERENCES "Principal"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
32
|
+
ALTER TABLE "AgentMcpServer" ADD CONSTRAINT "AgentMcpServer_agentId_fkey" FOREIGN KEY ("agentId") REFERENCES "Agent"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
33
|
+
ALTER TABLE "AgentMcpServer" ADD CONSTRAINT "AgentMcpServer_serverId_fkey" FOREIGN KEY ("serverId") REFERENCES "McpServer"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
-- Coding runs: pinned MCP tools, the MCP token's hash, and a call counter.
|
|
2
|
+
ALTER TABLE "CodingProxySession" ADD COLUMN "mcpTools" JSONB;
|
|
3
|
+
ALTER TABLE "CodingProxySession" ADD COLUMN "mcpTokenHash" TEXT;
|
|
4
|
+
ALTER TABLE "CodingProxySession" ADD COLUMN "mcpCallCount" INTEGER NOT NULL DEFAULT 0;
|
|
5
|
+
CREATE UNIQUE INDEX "CodingProxySession_mcpTokenHash_key" ON "CodingProxySession"("mcpTokenHash");
|