@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
|
@@ -4,7 +4,7 @@ title: Native gateway Service unavailable
|
|
|
4
4
|
summary: On Kubernetes, Wardby could not find a usable native gateway Service, so a sandbox run could not start.
|
|
5
5
|
audience: operator
|
|
6
6
|
tags: [error, native-agents, sandbox, kubernetes, native_sandbox_gateway_unavailable]
|
|
7
|
-
appliesTo: ">=0.
|
|
7
|
+
appliesTo: ">=0.6.0"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Native gateway Service unavailable
|
|
@@ -4,7 +4,7 @@ title: Native worker image not pinned
|
|
|
4
4
|
summary: NATIVE_SANDBOX_WORKER_IMAGE is a mutable tag, so Wardby refused to launch a sandbox worker.
|
|
5
5
|
audience: operator
|
|
6
6
|
tags: [error, native-agents, sandbox, native_sandbox_image_not_pinned]
|
|
7
|
-
appliesTo: ">=0.
|
|
7
|
+
appliesTo: ">=0.6.0"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Native worker image not pinned
|
|
@@ -4,7 +4,7 @@ title: Native worker pod differs from what Wardby built
|
|
|
4
4
|
summary: On Kubernetes, the sandbox pod or its NetworkPolicy as stored by the cluster differs from what Wardby created, so the run failed before starting.
|
|
5
5
|
audience: operator
|
|
6
6
|
tags: [error, native-agents, sandbox, kubernetes, native_sandbox_isolation_mismatch]
|
|
7
|
-
appliesTo: ">=0.
|
|
7
|
+
appliesTo: ">=0.6.0"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Native worker pod differs from what Wardby built
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: errors/native-sandbox-launch-abandoned
|
|
3
|
+
title: Native worker launch abandoned
|
|
4
|
+
summary: A sandbox run ended while its worker was launching (usually stopped during a low-power gateway wake), so no worker pod was created.
|
|
5
|
+
audience: operator
|
|
6
|
+
tags: [error, native-agents, sandbox, kubernetes, low-power, native_sandbox_launch_abandoned]
|
|
7
|
+
appliesTo: ">=0.7.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Native worker launch abandoned
|
|
11
|
+
|
|
12
|
+
`native_sandbox_launch_abandoned` means a sandbox run ended while its worker was being launched, so Wardby did not create the worker pod. Most often the run was stopped (`stop_run`, or its parent run was cancelled) while the native gateway was waking in low-power mode, which can take a few minutes on a cold node.
|
|
13
|
+
|
|
14
|
+
The run already has its own final status, such as `cancelled`. This code only appears in the control-plane log, as the reason the launch stopped. Nothing is left to clean up.
|
|
15
|
+
|
|
16
|
+
1. If the run was stopped on purpose, there is nothing to do.
|
|
17
|
+
2. If you did not stop it, check the run with `get_run`: its status and error say what ended it.
|
|
18
|
+
3. Trigger the run again if you still want it.
|
|
19
|
+
|
|
20
|
+
See [Low-power mode](../low-power-mode.md) and the
|
|
21
|
+
[native sandbox guide](../../docs/native-sandbox.md).
|
|
@@ -4,7 +4,7 @@ title: Native worker network isolation not proven
|
|
|
4
4
|
summary: On Kubernetes, Wardby could not prove a sandbox pod's network isolation in time, so it removed the pod and failed the run.
|
|
5
5
|
audience: operator
|
|
6
6
|
tags: [error, native-agents, sandbox, kubernetes, native_sandbox_network_unenforced]
|
|
7
|
-
appliesTo: ">=0.
|
|
7
|
+
appliesTo: ">=0.6.0"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Native worker network isolation not proven
|
|
@@ -4,7 +4,7 @@ title: Sandbox run has no model catalog entry
|
|
|
4
4
|
summary: A sandbox-mode run could not start because no model catalog entry was recorded for it.
|
|
5
5
|
audience: operator
|
|
6
6
|
tags: [error, native-agents, sandbox, model-catalog, native_sandbox_requires_catalog]
|
|
7
|
-
appliesTo: ">=0.
|
|
7
|
+
appliesTo: ">=0.6.0"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Sandbox run has no model catalog entry
|
|
@@ -4,7 +4,7 @@ title: Native execution mode unavailable
|
|
|
4
4
|
summary: A run failed with native_sandbox_unavailable because its agent is in sandbox mode but the server has no native sandbox configured.
|
|
5
5
|
audience: operator
|
|
6
6
|
tags: [error, native-agents, sandbox, native_sandbox_unavailable]
|
|
7
|
-
appliesTo: ">=0.
|
|
7
|
+
appliesTo: ">=0.6.0"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Native execution mode unavailable
|
|
@@ -4,7 +4,7 @@ title: Native sandbox warm worker could not take the run
|
|
|
4
4
|
summary: A run claimed an idle warm-pool worker, delivering its input failed, and the worker could not be confirmed stopped within 30 seconds, so the run failed instead of cold-launching.
|
|
5
5
|
audience: operator
|
|
6
6
|
tags: [error, native-agents, sandbox, warm-pool, kubernetes, docker, native_sandbox_warm_delivery_failed]
|
|
7
|
-
appliesTo: ">=0.
|
|
7
|
+
appliesTo: ">=0.6.0"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Native sandbox warm worker could not take the run
|
|
@@ -4,7 +4,7 @@ title: Native worker exited without a result
|
|
|
4
4
|
summary: The sandbox worker container ended without producing a result.
|
|
5
5
|
audience: operator
|
|
6
6
|
tags: [error, native-agents, sandbox, native_sandbox_worker_exited]
|
|
7
|
-
appliesTo: ">=0.
|
|
7
|
+
appliesTo: ">=0.6.0"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Native worker exited without a result
|
|
@@ -13,8 +13,9 @@ appliesTo: ">=0.5.4"
|
|
|
13
13
|
|
|
14
14
|
1. Read the exit code in the run's error (`get_run`). Code 137 usually means the memory limit was hit.
|
|
15
15
|
2. If limits are the cause, raise `NATIVE_SANDBOX_MEMORY_MB`, `NATIVE_SANDBOX_PIDS`, or `NATIVE_SANDBOX_CPUS` on the server and restart it.
|
|
16
|
-
3.
|
|
17
|
-
4.
|
|
16
|
+
3. Read the server log line `native worker exited non-zero` (Docker and Kubernetes): its `stderrTail` is the end of the worker's output. The server masks the run's gateway capability and every secret value the agent's tools can read (six characters or longer, as in tool console output) as `[REDACTED]`. If the line has `stderrTailOmitted` instead, there is no tail: `secrets_unavailable` means the server could not read one of those secrets (check the secret store and the tools' attached secrets); `log_read_failed` means it could not read the worker pod's log on Kubernetes (check that the server's Role allows `get` on `pods/log`).
|
|
17
|
+
4. Otherwise test the agent's tools with `dry_run_tool` and fix the failing code.
|
|
18
|
+
5. Trigger the run again.
|
|
18
19
|
|
|
19
20
|
See [Run native agents in a sandbox](../native-sandbox.md) and the
|
|
20
21
|
[native sandbox guide](../../docs/native-sandbox.md).
|
|
@@ -4,7 +4,7 @@ title: Native worker lost
|
|
|
4
4
|
summary: The sandbox worker container disappeared and was not relaunched.
|
|
5
5
|
audience: operator
|
|
6
6
|
tags: [error, native-agents, sandbox, native_sandbox_worker_lost]
|
|
7
|
-
appliesTo: ">=0.
|
|
7
|
+
appliesTo: ">=0.6.0"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Native worker lost
|
|
@@ -4,7 +4,7 @@ title: Native worker pod did not start
|
|
|
4
4
|
summary: On Kubernetes, the sandbox worker pod did not reach the Running state in time, so the run failed before starting.
|
|
5
5
|
audience: operator
|
|
6
6
|
tags: [error, native-agents, sandbox, kubernetes, native_sandbox_worker_unready]
|
|
7
|
-
appliesTo: ">=0.
|
|
7
|
+
appliesTo: ">=0.6.0"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Native worker pod did not start
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: errors/package-not-allowed-pending
|
|
3
|
+
title: Package not reached (wardby_package_not_allowed_pending)
|
|
4
|
+
summary: The dependency-graph walk stopped before reaching the requested package; the owner should allowlist it directly because retrying rarely helps.
|
|
5
|
+
audience: operator
|
|
6
|
+
tags: [error, coding-agents, packages, allowlist, wardby_package_not_allowed_pending]
|
|
7
|
+
appliesTo: ">=0.7.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Package not reached
|
|
11
|
+
|
|
12
|
+
`wardby_package_not_allowed_pending` (HTTP 403) means the registry's
|
|
13
|
+
dependency-graph walk ended before it reached the requested package. The
|
|
14
|
+
package may still be reachable from an allowlisted one, but the walk was cut
|
|
15
|
+
short (by `REGISTRY_GRAPH_TIMEOUT_MS`), so it was not proven allowed. The error message shows
|
|
16
|
+
how many packages were walked and how many were still queued. It arises only when the
|
|
17
|
+
registry walks the graph: for a tarball download the run hasn't resolved (a
|
|
18
|
+
lockfile install), or for a metadata request after a lockfile plan of the run
|
|
19
|
+
failed or refused an entry. Otherwise a metadata request gets
|
|
20
|
+
`wardby_package_not_allowed` at once instead.
|
|
21
|
+
|
|
22
|
+
The answer is final for the agent and is not transient: the walk resumes
|
|
23
|
+
within the run, but each request continues the walk for at most
|
|
24
|
+
`REGISTRY_GRAPH_TIMEOUT_MS`, so a large allowlist can take several requests or
|
|
25
|
+
never finish in time. Retrying rarely helps; allowlisting the package directly
|
|
26
|
+
is the reliable fix.
|
|
27
|
+
|
|
28
|
+
## What the agent should do
|
|
29
|
+
|
|
30
|
+
Stop retrying. Report the package name so its owner can allowlist it.
|
|
31
|
+
|
|
32
|
+
## What the owner does
|
|
33
|
+
|
|
34
|
+
1. Open the agent with `get_agent`, then add the package (or the top-level package that needs it) to `codingProfile.packageAllowlist` with `update_agent`. This needs `packages:approve` or `agents:admin`.
|
|
35
|
+
2. Run the request again. Allowing a package name allows all of its kept versions, subject to the release-age and vulnerability checks.
|
|
36
|
+
|
|
37
|
+
Large frameworks (for example Expo) can have a very large graph, because the
|
|
38
|
+
walk follows every in-range version plus optional and peer dependencies.
|
|
39
|
+
Allowlisting the packages the project needs directly avoids the walk for them.
|
|
40
|
+
|
|
41
|
+
## Operator knobs
|
|
42
|
+
|
|
43
|
+
`REGISTRY_GRAPH_TIMEOUT_MS` is the time one request's walk may take. See
|
|
44
|
+
[Operator limits](../../docs/coding-packages.md#operator-limits).
|
|
45
|
+
|
|
46
|
+
## Related
|
|
47
|
+
|
|
48
|
+
- [Not allowed: `wardby_package_not_allowed`](package-not-allowed.md)
|
|
49
|
+
- [Graph limit: `wardby_graph_limit`](graph-limit.md)
|
|
50
|
+
- [Still being checked: `wardby_graph_incomplete`](graph-incomplete.md)
|
|
51
|
+
- [Package audit mode](../package-audit-mode.md): find out which packages a task needs without refusals, for a limited time.
|
|
52
|
+
- [Coding packages](../coding-packages.md)
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: errors/package-not-allowed
|
|
3
|
+
title: Package not allowed (wardby_package_not_allowed)
|
|
4
|
+
summary: The coding package registry refused a package because it is not on the agent's allowlist, or is only reachable through a refused package.
|
|
5
|
+
audience: operator
|
|
6
|
+
tags: [error, coding-agents, packages, allowlist, wardby_package_not_allowed]
|
|
7
|
+
appliesTo: ">=0.7.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Package not allowed
|
|
11
|
+
|
|
12
|
+
`wardby_package_not_allowed` (HTTP 403) is a final answer from the package
|
|
13
|
+
registry: the package is not on the agent's `packageAllowlist`, and nothing
|
|
14
|
+
the run has resolved allows it. It is also returned for a package reachable
|
|
15
|
+
only through a package that was itself refused (for example one with a
|
|
16
|
+
high-severity advisory).
|
|
17
|
+
|
|
18
|
+
- When npm resolves a package (a metadata request), the package is refused at
|
|
19
|
+
once unless it is allowlisted, was declared as a dependency by a package
|
|
20
|
+
already resolved in the run, or was approved by the run's lockfile plan. So
|
|
21
|
+
a new top-level package must be allowlisted, even if an allowlisted
|
|
22
|
+
package's dependency graph contains it. (After a lockfile plan of the run
|
|
23
|
+
failed or refused an entry, the metadata request walks the dependency graph
|
|
24
|
+
first, as a download does.)
|
|
25
|
+
- When npm downloads a tarball the run has not resolved (a lockfile install),
|
|
26
|
+
it is refused once the dependency-graph walk finds no allowlisted package
|
|
27
|
+
that reaches it.
|
|
28
|
+
|
|
29
|
+
## What the agent should do
|
|
30
|
+
|
|
31
|
+
Stop. Do not retry, and do not look for a way around the refusal. Pick an
|
|
32
|
+
already-approved alternative, or report that the package needs approval.
|
|
33
|
+
|
|
34
|
+
## What the owner does
|
|
35
|
+
|
|
36
|
+
1. Open the agent with `get_agent`, then add the package to `codingProfile.packageAllowlist` with `update_agent`. This needs `packages:approve` or `agents:admin`. For a package the project adds directly, allowlist the package itself; allowlisting a dependent only helps for a package something already in the project depends on.
|
|
37
|
+
2. Run the request again. Allowing a package name allows all of its kept versions, subject to the release-age and vulnerability checks.
|
|
38
|
+
|
|
39
|
+
For a PyPI package pulled in by an extra (`psycopg-binary` for
|
|
40
|
+
`psycopg[binary]`), name the extra on the entry instead.
|
|
41
|
+
|
|
42
|
+
If the package is only reachable through a refused one, allowlisting more
|
|
43
|
+
packages will not help; change or drop the refused dependency.
|
|
44
|
+
|
|
45
|
+
## Related
|
|
46
|
+
|
|
47
|
+
- [Pending answer: `wardby_package_not_allowed_pending`](package-not-allowed-pending.md): the walk stopped before reaching the name.
|
|
48
|
+
- [Graph limit: `wardby_graph_limit`](graph-limit.md)
|
|
49
|
+
- [Still being checked: `wardby_graph_incomplete`](graph-incomplete.md)
|
|
50
|
+
- [Package audit mode](../package-audit-mode.md): find out which packages a task needs without refusals, for a limited time.
|
|
51
|
+
- [Coding packages](../coding-packages.md): the allowlist, the walk and the full error table.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: errors/package-refusals
|
|
3
|
+
title: Package registry refused an install
|
|
4
|
+
summary: Understand package refusal codes and unblock a coding run's blocked status.
|
|
5
|
+
audience: operator
|
|
6
|
+
tags: [error, packages, allowlist, wardby_graph_incomplete, wardby_graph_limit, wardby_package_not_allowed, wardby_package_not_allowed_pending, wardby_version_filtered, wardby_lockfile_entry_unsupported]
|
|
7
|
+
appliesTo: >=0.2.1
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Package registry refused an install
|
|
11
|
+
|
|
12
|
+
A coding run can finish successfully after restoring its changes because a
|
|
13
|
+
needed package was refused. When no pull request or pushed changes result,
|
|
14
|
+
the parent status says ⛔ **Blocked by the package registry: no changes were
|
|
15
|
+
made.** With a pull request, the link stays and a ⚠️ warning lists refusals.
|
|
16
|
+
|
|
17
|
+
- `wardby_package_not_allowed`, `wardby_package_not_allowed_pending`, and
|
|
18
|
+
`wardby_graph_limit`: add the needed package to the coding agent's
|
|
19
|
+
`codingProfile.packageAllowlist` with `update_agent`.
|
|
20
|
+
- `wardby_graph_incomplete`, `wardby_upstream_error`,
|
|
21
|
+
`wardby_upstream_unavailable`, `wardby_audit_unavailable`, and
|
|
22
|
+
`wardby_download_idle`: the registry could not finish checking the package,
|
|
23
|
+
usually because an upstream was slow or failing. Mention `@wardby` again to
|
|
24
|
+
retry.
|
|
25
|
+
- `wardby_version_filtered`: no version passed the release-age, advisory, or
|
|
26
|
+
malware checks. For release age, wait or adjust
|
|
27
|
+
`codingProfile.packagePolicy.minReleaseAgeDays`. For an advisory, upgrade
|
|
28
|
+
to a safe version or accept the advisory after reviewing exposure using
|
|
29
|
+
`codingProfile.packagePolicy.acceptedAdvisories`. Malware is never waivable:
|
|
30
|
+
use a safe alternative, never bypass the malware check. The code alone
|
|
31
|
+
does not distinguish which check blocked the version.
|
|
32
|
+
- `wardby_lockfile_entry_unsupported`: the lock file installs the package
|
|
33
|
+
from git or a URL, which the registry cannot verify. Depend on a registry
|
|
34
|
+
version instead.
|
|
35
|
+
- Other codes: inspect the registry error and package policy before retrying.
|
|
36
|
+
|
|
37
|
+
Changing allowlists or policy needs `packages:approve` or `agents:admin`.
|
|
38
|
+
`update_agent` replaces the whole package policy, so send all intended fields.
|
|
39
|
+
After fixing the refusal, mention `@wardby` again. An existing run's package
|
|
40
|
+
policy does not change.
|
|
41
|
+
|
|
42
|
+
See [Approve packages for coding agents](../coding-packages.md) and
|
|
43
|
+
[Run status comments](../status-comments.md).
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: errors/patch-cursor-malformed
|
|
3
|
+
title: Patch cursor is malformed
|
|
4
|
+
summary: A repo_pr_read call passed a patchCursor that is not a well-formed cursor for the pull request (edited, truncated, retyped or too long).
|
|
5
|
+
audience: operator
|
|
6
|
+
tags: [error, code-review-agents, repo_pr_read, patchCursor, patch_cursor_malformed, patch_cursor_stale]
|
|
7
|
+
appliesTo: ">=0.7.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Patch cursor is malformed
|
|
11
|
+
|
|
12
|
+
`repo_pr_read` returns `patch_cursor_malformed` to a review agent when the
|
|
13
|
+
`patchCursor` it passed is not a well-formed cursor for this pull request: the
|
|
14
|
+
value was edited, truncated, damaged in transit, retyped by the model, or is
|
|
15
|
+
over-long. No page is returned or recorded as read, and nothing else changes;
|
|
16
|
+
the call can be made again.
|
|
17
|
+
|
|
18
|
+
A cursor is also tied to the pull request's head and compare. When the pull
|
|
19
|
+
request has moved on since the cursor was issued, the call returns
|
|
20
|
+
`patch_cursor_stale` instead.
|
|
21
|
+
|
|
22
|
+
## What to do
|
|
23
|
+
|
|
24
|
+
- Pass `nextPatchCursor` back exactly as `repo_pr_read` returned it, with the
|
|
25
|
+
same arguments as the call that produced it.
|
|
26
|
+
- After `patch_cursor_stale`, or if no valid cursor is at hand, call
|
|
27
|
+
`repo_pr_read` again without `patchCursor` to start from the first page.
|
|
28
|
+
- If a model keeps rewriting the cursor, tell it in the agent's prompt to copy
|
|
29
|
+
`nextPatchCursor` verbatim.
|
|
30
|
+
|
|
31
|
+
See [Code review agents](../code-review-agents.md) for how patch pages work.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: errors/repository-not-listed
|
|
3
|
+
title: Repository not on the agent's list (repository_not_listed)
|
|
4
|
+
summary: The repository named for a coding run is not the agent's default or one of its write links; name a listed one, or add it with link_repository.
|
|
5
|
+
audience: operator
|
|
6
|
+
tags: [error, coding-agents, repository_not_listed, invalid_repository, link_repository]
|
|
7
|
+
appliesTo: ">=0.8.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Repository not on the agent's list
|
|
11
|
+
|
|
12
|
+
`repository_not_listed` means the `repository` given to `trigger_agent` or to a
|
|
13
|
+
`delegate_to_<name>` call is neither the coding agent's default
|
|
14
|
+
(`codingProfile.repository`) nor one of its repository links (write access, no
|
|
15
|
+
triggers). No run was started. The message lists the repositories that are
|
|
16
|
+
allowed and never repeats the value that was sent.
|
|
17
|
+
|
|
18
|
+
A webhook that sends `wardbyRepository` gets the same refusal as a 400
|
|
19
|
+
`{ "error": "invalid_repository" }` when
|
|
20
|
+
`codingProfile.allowWebhookTaskOverride` is on. A malformed value (not a string,
|
|
21
|
+
empty, or over 300 characters) is that same 400 with the flag on or off. With
|
|
22
|
+
the flag off, a well-formed value is refused with 403 `{ "error": "disabled" }`
|
|
23
|
+
before it is compared with the list, whoever created the webhook.
|
|
24
|
+
|
|
25
|
+
## What to do
|
|
26
|
+
|
|
27
|
+
- Name one of the listed repositories, spelled as `your-org/your-repo`.
|
|
28
|
+
- To add a repository, the agent's owner calls `link_repository` with
|
|
29
|
+
`access: "write"`, no triggers and, optionally, a `baseRef`. The owner needs
|
|
30
|
+
write access to it on the host, or an admin approves it.
|
|
31
|
+
- If a native (non-coding) sub-agent is the target, `repository` is refused
|
|
32
|
+
with `repository_requires_coding_agent`: drop the argument.
|
|
33
|
+
|
|
34
|
+
See [Repository required](repository-required.md),
|
|
35
|
+
[Agent recipes](../agent-recipes.md) and the operator guide
|
|
36
|
+
`docs/coding-agent-setup.md`, section "A coding agent's repositories".
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: errors/repository-required
|
|
3
|
+
title: Repository required (repository_required)
|
|
4
|
+
summary: A coding agent with several repositories was asked to work without being told which one; pass repository, or use continuePriorRun.
|
|
5
|
+
audience: operator
|
|
6
|
+
tags: [error, coding-agents, repository_required, repository, link_repository, delegation]
|
|
7
|
+
appliesTo: ">=0.8.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Repository required
|
|
11
|
+
|
|
12
|
+
`repository_required` means a coding agent has more than its default repository
|
|
13
|
+
(it has write links without triggers added with `link_repository`), and the
|
|
14
|
+
request did not say which one to work in. Nothing was started.
|
|
15
|
+
|
|
16
|
+
A `delegate_to_<name>` call to such a sub-agent must name a repository. The
|
|
17
|
+
exception is a follow-up: with `continuePriorRun`, the run works in the
|
|
18
|
+
repository of the run it continues. The message lists the repositories on the
|
|
19
|
+
agent's list.
|
|
20
|
+
|
|
21
|
+
## What to do
|
|
22
|
+
|
|
23
|
+
- Pass `repository` on the call, using one of the listed repositories, for
|
|
24
|
+
example `your-org/your-repo`.
|
|
25
|
+
- Tell the lead agent in its system prompt which repository each kind of
|
|
26
|
+
change belongs to.
|
|
27
|
+
- If the agent should only work in one repository, remove the extra ones with
|
|
28
|
+
`unlink_repository`.
|
|
29
|
+
|
|
30
|
+
On `trigger_agent` and webhooks, leaving `repository` out uses the default
|
|
31
|
+
repository (`codingProfile.repository`) and is not an error. Webhooks use the
|
|
32
|
+
body field `wardbyRepository`.
|
|
33
|
+
|
|
34
|
+
See [Repository not on the agent's list](repository-not-listed.md),
|
|
35
|
+
[Agent recipes](../agent-recipes.md) and the operator guide
|
|
36
|
+
`docs/coding-agent-setup.md`, section "A coding agent's repositories".
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: errors/run-lost
|
|
3
|
+
title: Run lost
|
|
4
|
+
summary: A run ended as lost, usually because a deploy replaced the version that was executing it.
|
|
5
|
+
audience: operator
|
|
6
|
+
tags: [error, runs, deploy, lost]
|
|
7
|
+
appliesTo: ">=0.7.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Run lost
|
|
11
|
+
|
|
12
|
+
A run with status `lost` stopped without finishing and without a result. Read its `error` with `get_run`. The usual cause is a deploy that changed the application version while the run was still going.
|
|
13
|
+
|
|
14
|
+
## When a deploy does not lose a run
|
|
15
|
+
|
|
16
|
+
A native run that is waiting in a `delegate_to_*` call on a coding sub-agent, or on a native sub-agent running in `sandbox` mode, is taken over by the new version. It continues when the sub-agent finishes, and the turns it already took are not repeated.
|
|
17
|
+
|
|
18
|
+
## Reasons
|
|
19
|
+
|
|
20
|
+
- `Durable workflow belongs to application version <old>; this process runs <new>.` The run was mid-turn, waiting on a tool that is not a delegation, or waiting on a control-plane native sub-agent, so the new version could not take it over.
|
|
21
|
+
- `Could not continue across versions: the run's steps changed in the new version.` The run was waiting on a sub-agent, but the new code no longer matches the steps the run had recorded.
|
|
22
|
+
- `Durable workflow could not be re-driven after 3 adoption attempts…` Wardby tried three times to resume the run and gave up.
|
|
23
|
+
- `Orphaned: no heartbeat/progress since before <time>.` Nothing was executing the run and it stopped reporting progress, for example because its process was killed.
|
|
24
|
+
|
|
25
|
+
## Sub-agents of a lost run
|
|
26
|
+
|
|
27
|
+
When a run is marked lost, sub-agent runs it started that are still going are stopped with the reason `parent run lost`. They are not left running for nobody.
|
|
28
|
+
|
|
29
|
+
A run that continues after a restart of the same version cannot continue a control-plane native sub-agent it was waiting on: that sub-agent ran inside the process that stopped. (After a deploy, a run waiting on such a sub-agent is not taken over at all; it is marked lost, as above.) The sub-agent run is stopped with the reason `parent resumed without it`, and no new one is started. The parent run goes on, and its `delegate_to_*` call returns the error `subagent_interrupted` ("The sub-agent was interrupted by a restart and cannot be resumed; no new sub-agent run was started."), so the model can report it.
|
|
30
|
+
|
|
31
|
+
If two executions of the same `delegate_to_*` step overlap and the call id is already held by a run of a different sub-agent, the call returns `delegation_conflict` instead; see [Delegation conflict](delegation-conflict.md).
|
|
32
|
+
|
|
33
|
+
## What to do
|
|
34
|
+
|
|
35
|
+
1. Read the reason with `get_run`.
|
|
36
|
+
2. Trigger the request again. If an `@`-mention started the run, its status comment says the request was interrupted and should be repeated.
|
|
37
|
+
3. To lose fewer runs, deploy when few runs are executing. The old version first waits for its runs to finish, up to `SHUTDOWN_DRAIN_SECONDS`; only runs still going after that limit are affected.
|
|
38
|
+
|
|
39
|
+
See [Operating agents](../operating-agents.md) and the [GKE guide](../../docs/getting-started-gke.md).
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: errors/run-transcript-download
|
|
3
|
+
title: Run transcript download refused
|
|
4
|
+
summary: What each refusal from a get_run_transcript download link means (link_invalid, not_found, transcript_expired, transcript_unavailable, transcript_corrupt, local_repository_refused) and what to do.
|
|
5
|
+
audience: operator
|
|
6
|
+
tags: [wardby resume, get_run_transcript, link_invalid, transcript_expired, local_repository_refused, download]
|
|
7
|
+
appliesTo: ">=0.7.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Run transcript download refused
|
|
11
|
+
|
|
12
|
+
`wardby resume` downloads a run's transcript from the link
|
|
13
|
+
`get_run_transcript` returned. When the server refuses, it answers with JSON
|
|
14
|
+
`{ "error": "<code>" }`, and `wardby resume` prints what the code means.
|
|
15
|
+
Nothing is written to your machine.
|
|
16
|
+
|
|
17
|
+
| Code | HTTP | Meaning and what to do |
|
|
18
|
+
| ------------------------ | ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
19
|
+
| `link_invalid` | 403 | The link is malformed, was changed, was made by another server (or by a stdio server, on the HTTP route), or is older than 10 minutes. Call `get_run_transcript` again for a new link. Every HTTP instance must share `SECRET_APP_KEY` (or `REQUEST_STATE_KEY`, if set). |
|
|
20
|
+
| `not_found` | 404 | The person the link was made for can no longer read the run, or the run has no stored transcript. |
|
|
21
|
+
| `transcript_expired` | 410 | The transcript was deleted after `RUN_TRANSCRIPT_RETENTION_DAYS`. |
|
|
22
|
+
| `transcript_unavailable` | 503 | The server has no blob store configured (`BLOB_STORE`), or could not read the object. Check the blob store settings on the server process. |
|
|
23
|
+
| `transcript_corrupt` | 500 | The stored object no longer matches the SHA-256 recorded when it was stored, so the server refused to send it. |
|
|
24
|
+
|
|
25
|
+
`wardby resume` also refuses a download whose bytes do not match the
|
|
26
|
+
server's SHA-256 header, a response larger than it accepts or with an invalid
|
|
27
|
+
length, and run details with control characters, and never writes a partial
|
|
28
|
+
file.
|
|
29
|
+
|
|
30
|
+
## local_repository_refused
|
|
31
|
+
|
|
32
|
+
Printed by `wardby resume`, not the server. The run's repository is a
|
|
33
|
+
`local:` folder, which names a path on the server's machine, but the link
|
|
34
|
+
comes from another machine. Checking it out would let that server choose any
|
|
35
|
+
repository on yours, so nothing was written. Run the command on the server's
|
|
36
|
+
machine with a link from its stdio MCP server, or pass `--here` to continue
|
|
37
|
+
in the current directory, or `--dir <path>` to check the run out from that
|
|
38
|
+
folder anyway.
|
|
39
|
+
|
|
40
|
+
Over stdio, the link points at a local port the MCP server opens while links
|
|
41
|
+
are in use: if `wardby resume` cannot reach it, keep your MCP client
|
|
42
|
+
connected and request a new link.
|
|
43
|
+
|
|
44
|
+
See [Resume Claude Code runs locally](../resume-runs-locally.md).
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: errors/secret-in-value
|
|
3
|
+
title: A value was not stored because it contains a secret (secret_in_value)
|
|
4
|
+
summary: A datastore or agent memory write was refused because the value contains the value of a secret attached to the agent; store the secret's name and read it when needed.
|
|
5
|
+
audience: operator
|
|
6
|
+
tags: [error, secrets, datastore, memory, secret_in_value, secret_check_unavailable, datastore set, memory set]
|
|
7
|
+
appliesTo: ">=0.7.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# A value was not stored because it contains a secret (secret_in_value)
|
|
11
|
+
|
|
12
|
+
`secret_in_value` means a write to a datastore or agent memory contained the
|
|
13
|
+
value of a secret attached to the agent, in the value or in the key. The write
|
|
14
|
+
came from a tool's `datastore.set` (or a shared datastore's `set`), from the
|
|
15
|
+
`memory_set` tool, from the `datastore_set` or `set_agent_memory` MCP tools, or
|
|
16
|
+
from a bundle import. The error names the secret. Nothing was stored.
|
|
17
|
+
|
|
18
|
+
Secret values are never stored in datastores or agent memory, because anything
|
|
19
|
+
stored there can be read back by other tools and later runs that were never
|
|
20
|
+
given the secret, and can be printed.
|
|
21
|
+
|
|
22
|
+
## What to do
|
|
23
|
+
|
|
24
|
+
Store the secret's **name**, not its value, and read the secret when you need it:
|
|
25
|
+
|
|
26
|
+
- `secrets.get("NAME")` in a tool that is allowed to read the secret, or
|
|
27
|
+
- `fetch(url, { secrets: ["NAME"] })` for a brokered secret.
|
|
28
|
+
|
|
29
|
+
See [Secrets and tools](../../docs/tool-secrets.md#secret-values-are-never-stored).
|
|
30
|
+
|
|
31
|
+
## `secret_check_unavailable`
|
|
32
|
+
|
|
33
|
+
The agent's secrets could not be read, so the value could not be checked and was
|
|
34
|
+
not stored. Try the write again. If it keeps happening, check the database
|
|
35
|
+
connection and the secret encryption configuration on the server.
|
|
36
|
+
|
|
37
|
+
## Bundle imports
|
|
38
|
+
|
|
39
|
+
A seeded datastore entry in an imported bundle, per-agent or shared, whose key
|
|
40
|
+
or value contains an attached secret's value is skipped, and the import reports
|
|
41
|
+
a warning that names the secret (the entry's key is withheld from the warning).
|
|
42
|
+
The rest of the bundle is still imported.
|
|
43
|
+
|
|
44
|
+
## Also masked
|
|
45
|
+
|
|
46
|
+
Secret values are also kept out of other output:
|
|
47
|
+
|
|
48
|
+
- A native run's final text and error have attached secret values replaced with
|
|
49
|
+
`[REDACTED]`.
|
|
50
|
+
- The task text of a `delegate_to_*` call has the delegating agent's attached
|
|
51
|
+
secret values replaced with `[REDACTED]` before the sub-agent's run is created.
|
|
52
|
+
- Comments, reviews, and Jira posts made through built-in tools have attached
|
|
53
|
+
secret values replaced with `[REDACTED]`.
|
|
54
|
+
- If the secrets cannot be read when a run ends, both its stored final text and
|
|
55
|
+
its stored error are
|
|
56
|
+
`[withheld: this text could not be checked for secret values]`.
|
|
57
|
+
- If the secrets cannot be read when a posting tool or a `delegate_to_*` call
|
|
58
|
+
runs, the tool returns `secret_check_unavailable` and posts nothing or creates
|
|
59
|
+
no sub-agent run.
|
|
60
|
+
|
|
61
|
+
## Limits
|
|
62
|
+
|
|
63
|
+
Matching is by exact value, including its JSON-escaped forms and, for brokered
|
|
64
|
+
secrets, the encoded forms that the broker scrubs. Values shorter than 6
|
|
65
|
+
characters are not matched. A value that is split, re-encoded, or otherwise
|
|
66
|
+
transformed is not detected. Values stored before this check existed are not
|
|
67
|
+
scanned.
|
|
68
|
+
|
|
69
|
+
See also [Brokered secrets](../brokered-secrets.md).
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: errors/target-merge
|
|
3
|
+
title: Target branch could not be merged
|
|
4
|
+
summary: A follow-up run could not fetch or merge its pull request's target branch, so it stopped before the agent started.
|
|
5
|
+
audience: operator
|
|
6
|
+
tags: [error, coding-agents, vcs, merge-conflict, target-branch, pull-requests]
|
|
7
|
+
appliesTo: ">=0.7.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Target branch could not be merged
|
|
11
|
+
|
|
12
|
+
Before a follow-up run on a wardby pull request starts its agent, wardby
|
|
13
|
+
merges the branch the pull request currently targets into the workspace (see
|
|
14
|
+
[Fix merge conflicts on a wardby pull request](../fix-merge-conflicts.md)).
|
|
15
|
+
A run stops with failure category `target_merge` (error
|
|
16
|
+
`vcs_target_merge_failed`) when that could not be done:
|
|
17
|
+
|
|
18
|
+
- the target branch could not be fetched from the repository (it was deleted,
|
|
19
|
+
or the fetch failed);
|
|
20
|
+
- the pull request's branch and its target share no history wardby could
|
|
21
|
+
find: the branches are unrelated, or their common commit is more than about
|
|
22
|
+
5,000 commits back;
|
|
23
|
+
- the merge itself failed for a reason other than a content conflict (content
|
|
24
|
+
conflicts are handed to the agent, not failed);
|
|
25
|
+
- the git on the machine that runs wardby is older than 2.38, which does not
|
|
26
|
+
support the `merge-tree --write-tree` form the merge uses.
|
|
27
|
+
|
|
28
|
+
Nothing is pushed and no agent work is lost, since the agent had not started.
|
|
29
|
+
|
|
30
|
+
## What to do
|
|
31
|
+
|
|
32
|
+
- Check the pull request's base branch on GitHub. Retarget it if the branch
|
|
33
|
+
it names no longer exists or is not the one it should merge into.
|
|
34
|
+
- For unrelated histories, merge the branches by hand once; later follow-ups
|
|
35
|
+
then find the merge base.
|
|
36
|
+
- A transient fetch failure succeeds on the next request.
|
|
37
|
+
- Upgrade the machine's git to 2.38 or newer (`git --version` shows it).
|
|
38
|
+
|
|
39
|
+
Related: [Conflict markers remain](merge-conflict.md),
|
|
40
|
+
[Continuation's pull request is no longer open](continuation-closed.md).
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: errors/tool-timeout
|
|
3
|
+
title: A tool call ran out of time (timeout, fetch_cancelled_or_timeout)
|
|
4
|
+
summary: A sandboxed tool call hit its time limit; raise the tool's timeoutMs, up to the server's WARDBY_TOOL_MAX_TIMEOUT_MS.
|
|
5
|
+
audience: developer
|
|
6
|
+
tags: [timeout, timeoutMs, wall-time, fetch_cancelled_or_timeout, sleep_limit, WARDBY_TOOL_MAX_TIMEOUT_MS]
|
|
7
|
+
appliesTo: ">=0.8.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# A tool call ran out of time
|
|
11
|
+
|
|
12
|
+
## What happened
|
|
13
|
+
|
|
14
|
+
A tool's result was `{"error":"timeout","message":"Exceeded the 10000ms wall-time limit. ..."}`.
|
|
15
|
+
The call ran longer than the tool's time limit, so it was stopped. The run goes on: only this call
|
|
16
|
+
failed. The message names the limit. Without `timeoutMs` a tool has 10 seconds.
|
|
17
|
+
|
|
18
|
+
Related results:
|
|
19
|
+
|
|
20
|
+
- `fetch_cancelled_or_timeout` from inside the tool: a `fetch` was aborted because the call ran
|
|
21
|
+
out of time or the run stopped.
|
|
22
|
+
- `sleep_limit`: the tool asked to wait longer than its own limit.
|
|
23
|
+
- `{"error":"cancelled"}`: the run was stopped while the call was running.
|
|
24
|
+
|
|
25
|
+
## What to do
|
|
26
|
+
|
|
27
|
+
1. Check how long the API the tool calls really takes.
|
|
28
|
+
2. Give the tool a longer limit with `update_tool` (`timeoutMs`, in milliseconds), or
|
|
29
|
+
`wardby tool update <tool> --timeout-ms <ms>`.
|
|
30
|
+
3. Test it with `dry_run_tool` and the same `timeoutMs`.
|
|
31
|
+
|
|
32
|
+
`timeoutMs` can't exceed the server's `WARDBY_TOOL_MAX_TIMEOUT_MS` (default `300000`); a larger
|
|
33
|
+
value is refused with an error naming the ceiling. If you need more, ask the operator to raise it.
|
|
34
|
+
If the operator lowers the ceiling, a tool with a larger `timeoutMs` runs with the ceiling.
|
|
35
|
+
|
|
36
|
+
Runs that started before the change keep the limit they loaded; the next run uses the new one.
|
|
37
|
+
|
|
38
|
+
See [Use native agents, tools, and data](../native-capabilities.md#tool-time-limits).
|