@wardby/cli 0.5.3 → 0.7.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 +33 -0
- package/README.md +25 -14
- package/deploy/local/docker-compose.quickstart-coding.yml +13 -0
- package/dist/claude-coding-worker/context.d.ts +22 -0
- package/dist/claude-coding-worker/context.js +92 -0
- package/dist/claude-coding-worker/driver.d.ts +27 -3
- package/dist/claude-coding-worker/driver.js +161 -20
- package/dist/claude-coding-worker/main.js +34 -6
- package/dist/claude-coding-worker/sdk.js +25 -5
- 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/cli-help.d.ts +1 -1
- package/dist/cli-help.js +6 -2
- package/dist/cli-native-mode.d.ts +9 -0
- package/dist/cli-native-mode.js +20 -0
- package/dist/cli.d.ts +3 -1
- package/dist/cli.js +161 -11
- package/dist/coding/claude-context.d.ts +45 -0
- package/dist/coding/claude-context.js +434 -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/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 +50 -118
- package/dist/coding/profile.js +51 -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 +292 -270
- package/dist/coding/protocol.js +322 -15
- package/dist/coding/redact.d.ts +3 -0
- package/dist/coding/redact.js +12 -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 +51 -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 +16 -3
- package/dist/coding-worker/artifact.js +5 -3
- package/dist/coding-worker/debug-trace.d.ts +6 -5
- package/dist/coding-worker/debug-trace.js +13 -18
- 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 +118 -38
- package/dist/coding-worker/errors.d.ts +1 -0
- package/dist/coding-worker/errors.js +32 -0
- package/dist/coding-worker/sdk.d.ts +6 -0
- package/dist/coding-worker/sdk.js +1 -0
- package/dist/coding-worker/skills.d.ts +23 -0
- package/dist/coding-worker/skills.js +117 -0
- 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 +13 -0
- package/dist/config/dependency-cache.d.ts +23 -0
- package/dist/config/dependency-cache.js +32 -0
- package/dist/config/github-allowed-accounts.d.ts +15 -0
- package/dist/config/github-allowed-accounts.js +36 -0
- package/dist/config/low-power.d.ts +12 -0
- package/dist/config/low-power.js +18 -0
- package/dist/config/mobile.d.ts +12 -0
- package/dist/config/mobile.js +18 -0
- package/dist/config/providers.d.ts +65 -3
- package/dist/config/providers.js +147 -11
- package/dist/config/test-simulators.d.ts +82 -0
- package/dist/config/test-simulators.js +305 -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-queue.d.ts +2 -1
- package/dist/core/coding-queue.js +7 -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/db.d.ts +16 -6
- package/dist/core/db.js +12 -10
- 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/dispatch.d.ts +53 -0
- package/dist/core/dispatch.js +167 -57
- package/dist/core/engine-native.js +10 -6
- package/dist/core/error-code.d.ts +38 -0
- package/dist/core/error-code.js +168 -0
- package/dist/core/grants.d.ts +19 -6
- package/dist/core/grants.js +55 -6
- package/dist/core/host-events.d.ts +67 -5
- package/dist/core/host-events.js +571 -37
- package/dist/core/host-status.d.ts +85 -3
- package/dist/core/host-status.js +298 -20
- package/dist/core/issue-bridge.d.ts +50 -6
- package/dist/core/issue-bridge.js +151 -20
- package/dist/core/issue-events.d.ts +1 -1
- package/dist/core/issue-events.js +16 -11
- package/dist/core/issue-status.d.ts +1 -1
- package/dist/core/issue-status.js +68 -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/memory-tools.js +7 -0
- package/dist/core/merge-order-check.d.ts +130 -0
- package/dist/core/merge-order-check.js +343 -0
- package/dist/core/notification-dispatcher.d.ts +70 -0
- package/dist/core/notification-dispatcher.js +368 -0
- package/dist/core/notification-templates.d.ts +19 -0
- package/dist/core/notification-templates.js +139 -0
- package/dist/core/notifications.d.ts +10 -0
- package/dist/core/notifications.js +38 -0
- package/dist/core/pg-auth.d.ts +22 -0
- package/dist/core/pg-auth.js +152 -0
- package/dist/core/power-composition.d.ts +16 -0
- package/dist/core/power-composition.js +37 -0
- package/dist/core/power-idle.d.ts +14 -0
- package/dist/core/power-idle.js +30 -0
- package/dist/core/power.d.ts +71 -0
- package/dist/core/power.js +202 -0
- package/dist/core/pull-request-state-sync.js +2 -2
- package/dist/core/reconciler.d.ts +8 -5
- package/dist/core/reconciler.js +37 -6
- package/dist/core/related-pull-requests.d.ts +59 -7
- package/dist/core/related-pull-requests.js +140 -25
- package/dist/core/reply-parts.d.ts +21 -0
- package/dist/core/reply-parts.js +73 -0
- package/dist/core/repo-access.d.ts +15 -0
- package/dist/core/repo-access.js +66 -0
- package/dist/core/review-fix.d.ts +38 -1
- package/dist/core/review-fix.js +209 -7
- package/dist/core/review-host-checks.d.ts +1 -1
- package/dist/core/review-host-tools.d.ts +23 -0
- package/dist/core/review-host-tools.js +156 -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 +384 -5
- package/dist/core/runner.js +1244 -372
- 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 +39 -0
- package/dist/core/secret-broker-config.js +112 -0
- package/dist/core/secret-guard.d.ts +46 -0
- package/dist/core/secret-guard.js +104 -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 +39 -4
- package/dist/core/secrets.js +148 -40
- package/dist/core/stop-run.d.ts +46 -0
- package/dist/core/stop-run.js +61 -0
- package/dist/core/workflow-event-recorder.d.ts +14 -0
- package/dist/core/workflow-event-recorder.js +120 -0
- package/dist/core/workflow-events.d.ts +94 -0
- package/dist/core/workflow-events.js +48 -0
- package/dist/core/workflow-run-events.d.ts +18 -0
- package/dist/core/workflow-run-events.js +75 -0
- 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 +92 -3
- package/dist/generated/prisma/client.d.ts +92 -3
- package/dist/generated/prisma/commonInputTypes.d.ts +364 -54
- package/dist/generated/prisma/enums.d.ts +37 -0
- package/dist/generated/prisma/enums.js +31 -0
- package/dist/generated/prisma/internal/class.d.ts +132 -0
- package/dist/generated/prisma/internal/class.js +4 -4
- package/dist/generated/prisma/internal/prismaNamespace.d.ts +1332 -142
- package/dist/generated/prisma/internal/prismaNamespace.js +227 -5
- package/dist/generated/prisma/internal/prismaNamespaceBrowser.d.ts +234 -0
- package/dist/generated/prisma/internal/prismaNamespaceBrowser.js +227 -5
- package/dist/generated/prisma/models/Agent.d.ts +464 -7
- package/dist/generated/prisma/models/AgentRepository.d.ts +42 -1
- package/dist/generated/prisma/models/CodingAgentProfile.d.ts +301 -1
- package/dist/generated/prisma/models/CodingProxyRequest.d.ts +207 -3
- package/dist/generated/prisma/models/CodingProxySession.d.ts +114 -1
- package/dist/generated/prisma/models/CodingRun.d.ts +1841 -1
- package/dist/generated/prisma/models/DeferredReview.d.ts +78 -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/IssuePullRequest.d.ts +6 -2
- package/dist/generated/prisma/models/LocalReview.d.ts +40 -1
- package/dist/generated/prisma/models/NativeGatewayCall.d.ts +1713 -0
- package/dist/generated/prisma/models/NativeGatewayCall.js +1 -0
- package/dist/generated/prisma/models/NativeGatewaySession.d.ts +1551 -0
- package/dist/generated/prisma/models/NativeGatewaySession.js +1 -0
- package/dist/generated/prisma/models/NativeWarmWorker.d.ts +1296 -0
- package/dist/generated/prisma/models/NativeWarmWorker.js +1 -0
- package/dist/generated/prisma/models/NotificationChannel.d.ts +1543 -0
- package/dist/generated/prisma/models/NotificationChannel.js +1 -0
- package/dist/generated/prisma/models/NotificationDelivery.d.ts +1502 -0
- package/dist/generated/prisma/models/NotificationDelivery.js +1 -0
- package/dist/generated/prisma/models/NotificationThread.d.ts +1090 -0
- package/dist/generated/prisma/models/NotificationThread.js +1 -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/Run.d.ts +1619 -58
- package/dist/generated/prisma/models/RunBudgetEvent.d.ts +1211 -0
- package/dist/generated/prisma/models/RunBudgetEvent.js +1 -0
- package/dist/generated/prisma/models/RunHostCheck.d.ts +36 -1
- 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 +37 -1
- package/dist/generated/prisma/models/SecretBrokerChange.d.ts +1101 -0
- package/dist/generated/prisma/models/SecretBrokerChange.js +1 -0
- package/dist/generated/prisma/models/WorkflowEvent.d.ts +1422 -0
- package/dist/generated/prisma/models/WorkflowEvent.js +1 -0
- package/dist/generated/prisma/models.d.ts +12 -0
- package/dist/help/build.js +4 -2
- package/dist/help/catalog.d.ts +1 -1
- package/dist/help/catalog.js +31 -6
- package/dist/help-index.json +2584 -146
- package/dist/import/create.js +49 -3
- package/dist/import/neutral-schema.d.ts +50 -277
- 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 +11 -2
- package/dist/mcp/auth/access.js +15 -1
- package/dist/mcp/auth/ownership.d.ts +7 -7
- package/dist/mcp/auth/repo-authorization.js +14 -0
- package/dist/mcp/auth/resource-server.d.ts +2 -1
- package/dist/mcp/auth/resource-server.js +7 -2
- package/dist/mcp/auth/self-hosted/browser.d.ts +1 -1
- package/dist/mcp/auth/self-hosted/browser.js +19 -6
- 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 +6 -0
- package/dist/mcp/host-events/github-ingress.d.ts +25 -1
- package/dist/mcp/host-events/github-ingress.js +70 -1
- package/dist/mcp/index.d.ts +19 -0
- package/dist/mcp/index.js +117 -20
- 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 +277 -24
- package/dist/mcp/tools/datastore.js +17 -8
- package/dist/mcp/tools/grants.js +9 -3
- package/dist/mcp/tools/memory.js +11 -1
- package/dist/mcp/tools/notification-channels.d.ts +2 -0
- package/dist/mcp/tools/notification-channels.js +293 -0
- package/dist/mcp/tools/packages.d.ts +2 -0
- package/dist/mcp/tools/packages.js +195 -0
- package/dist/mcp/tools/power.d.ts +2 -0
- package/dist/mcp/tools/power.js +77 -0
- package/dist/mcp/tools/repositories.js +18 -5
- 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.d.ts +0 -6
- package/dist/mcp/tools/runs.js +41 -14
- package/dist/mcp/tools/scheduling.js +3 -1
- package/dist/mcp/tools/secret-broker-compat.d.ts +12 -0
- package/dist/mcp/tools/secret-broker-compat.js +23 -0
- package/dist/mcp/tools/secret-elicitation-form.d.ts +22 -2
- package/dist/mcp/tools/secret-elicitation-form.js +205 -10
- package/dist/mcp/tools/secret-elicitation-server.d.ts +6 -0
- package/dist/mcp/tools/secret-elicitation-server.js +10 -54
- package/dist/mcp/tools/secret-elicitation.d.ts +38 -3
- package/dist/mcp/tools/secret-elicitation.js +110 -12
- package/dist/mcp/tools/secrets.js +186 -9
- 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 +2 -2
- package/dist/mcp/tools/tools.js +47 -11
- 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/native-worker/composition.d.ts +23 -0
- package/dist/native-worker/composition.js +77 -0
- package/dist/native-worker/docker-isolation.d.ts +65 -0
- package/dist/native-worker/docker-isolation.js +183 -0
- package/dist/native-worker/docker-launcher.d.ts +110 -0
- package/dist/native-worker/docker-launcher.js +297 -0
- package/dist/native-worker/gateway-server.d.ts +77 -0
- package/dist/native-worker/gateway-server.js +412 -0
- package/dist/native-worker/gateway.d.ts +70 -0
- package/dist/native-worker/gateway.js +263 -0
- package/dist/native-worker/http-server.d.ts +24 -0
- package/dist/native-worker/http-server.js +113 -0
- package/dist/native-worker/http-transport.d.ts +17 -0
- package/dist/native-worker/http-transport.js +88 -0
- package/dist/native-worker/kubernetes-isolation.d.ts +90 -0
- package/dist/native-worker/kubernetes-isolation.js +218 -0
- package/dist/native-worker/kubernetes-launcher.d.ts +106 -0
- package/dist/native-worker/kubernetes-launcher.js +375 -0
- package/dist/native-worker/launch.d.ts +62 -0
- package/dist/native-worker/launch.js +49 -0
- package/dist/native-worker/ledger.d.ts +125 -0
- package/dist/native-worker/ledger.js +245 -0
- package/dist/native-worker/loopback.d.ts +12 -0
- package/dist/native-worker/loopback.js +44 -0
- package/dist/native-worker/main.d.ts +8 -0
- package/dist/native-worker/main.js +85 -0
- package/dist/native-worker/protocol.d.ts +296 -0
- package/dist/native-worker/protocol.js +246 -0
- package/dist/native-worker/sandbox-executor.d.ts +83 -0
- package/dist/native-worker/sandbox-executor.js +284 -0
- 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 +29 -0
- package/dist/native-worker/stdio.js +189 -0
- package/dist/native-worker/warm-delivery.d.ts +16 -0
- package/dist/native-worker/warm-delivery.js +33 -0
- package/dist/native-worker/warm-pool-ledger.d.ts +39 -0
- package/dist/native-worker/warm-pool-ledger.js +73 -0
- package/dist/native-worker/warm-pool.d.ts +107 -0
- package/dist/native-worker/warm-pool.js +283 -0
- package/dist/native-worker/worker.d.ts +17 -0
- package/dist/native-worker/worker.js +141 -0
- package/dist/observability/metrics.js +6 -1
- package/dist/providers/auth/authorization-server.d.ts +3 -0
- package/dist/providers/auth/index.js +2 -0
- package/dist/providers/auth/self-hosted.d.ts +14 -2
- package/dist/providers/auth/self-hosted.js +54 -4
- package/dist/providers/chat/fake.d.ts +46 -0
- package/dist/providers/chat/fake.js +39 -0
- package/dist/providers/chat/index.d.ts +4 -0
- package/dist/providers/chat/index.js +8 -0
- package/dist/providers/chat/slack.d.ts +37 -0
- package/dist/providers/chat/slack.js +105 -0
- package/dist/providers/chat/types.d.ts +42 -0
- package/dist/providers/chat/types.js +19 -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/memory-ledger.d.ts +15 -2
- package/dist/providers/coding-proxy/memory-ledger.js +84 -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 +15 -2
- package/dist/providers/coding-proxy/prisma-ledger.js +179 -67
- package/dist/providers/coding-proxy/proxy.d.ts +14 -1
- package/dist/providers/coding-proxy/proxy.js +166 -14
- 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 +4 -0
- package/dist/providers/coding-proxy/runtime.js +78 -16
- package/dist/providers/coding-proxy/server.d.ts +6 -1
- package/dist/providers/coding-proxy/server.js +45 -1
- package/dist/providers/coding-proxy/types.d.ts +65 -1
- package/dist/providers/datastore/types.d.ts +5 -0
- package/dist/providers/engine/types.d.ts +36 -2
- package/dist/providers/engine/types.js +39 -0
- package/dist/providers/executor/composition.d.ts +31 -1
- package/dist/providers/executor/composition.js +81 -8
- package/dist/providers/executor/container.d.ts +385 -9
- package/dist/providers/executor/container.js +1234 -99
- 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 +91 -0
- package/dist/providers/executor/dbos.js +319 -26
- package/dist/providers/executor/deferred.d.ts +44 -0
- package/dist/providers/executor/deferred.js +100 -0
- 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 +39 -10
- package/dist/providers/executor/routing.js +77 -32
- package/dist/providers/executor/types.d.ts +25 -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 +8 -0
- package/dist/providers/jobs/docker-isolation.js +17 -0
- package/dist/providers/jobs/docker.d.ts +1 -0
- package/dist/providers/jobs/docker.js +29 -4
- package/dist/providers/jobs/fake-kubernetes-api.d.ts +23 -2
- package/dist/providers/jobs/fake-kubernetes-api.js +45 -1
- package/dist/providers/jobs/kubernetes-api.d.ts +25 -1
- package/dist/providers/jobs/kubernetes-api.js +17 -0
- package/dist/providers/jobs/kubernetes-client.d.ts +10 -1
- package/dist/providers/jobs/kubernetes-client.js +61 -3
- package/dist/providers/jobs/kubernetes-dry-run-fixture.d.ts +6 -1
- package/dist/providers/jobs/kubernetes-dry-run-fixture.js +6 -3
- package/dist/providers/jobs/kubernetes-isolation.d.ts +5 -1
- package/dist/providers/jobs/kubernetes-isolation.js +23 -1
- package/dist/providers/jobs/kubernetes-platform.d.ts +4 -1
- package/dist/providers/jobs/kubernetes-platform.js +38 -1
- package/dist/providers/jobs/kubernetes-preflight.d.ts +2 -1
- package/dist/providers/jobs/kubernetes-preflight.js +4 -2
- package/dist/providers/jobs/kubernetes.d.ts +42 -2
- package/dist/providers/jobs/kubernetes.js +178 -19
- package/dist/providers/jobs/metadata-probes.d.ts +11 -0
- package/dist/providers/jobs/metadata-probes.js +13 -0
- package/dist/providers/jobs/types.d.ts +42 -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 +39 -2
- package/dist/providers/review-host/github.js +274 -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 +157 -2
- package/dist/providers/review-host/types.js +8 -0
- 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 +33 -2
- package/dist/providers/vcs/git.js +324 -22
- 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 +246 -12
- package/dist/providers/vcs/github.js +521 -61
- package/dist/providers/vcs/index.js +8 -1
- 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 +33 -1
- package/dist/providers/vcs/routing.d.ts +4 -2
- package/dist/providers/vcs/routing.js +6 -0
- package/dist/providers/vcs/types.d.ts +80 -3
- package/dist/quickstart/coding-seed.d.ts +21 -3
- package/dist/quickstart/coding-seed.js +283 -3
- package/dist/quickstart/images.d.ts +2 -0
- package/dist/quickstart/images.js +7 -1
- 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/brokered-fetch.d.ts +23 -0
- package/dist/sandbox/brokered-fetch.js +37 -0
- 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 +35 -0
- package/dist/sandbox/host-functions.js +150 -91
- package/dist/sandbox/prelude.js +7 -1
- package/dist/sandbox/run-in-sandbox.d.ts +19 -0
- package/dist/sandbox/run-in-sandbox.js +28 -10
- package/dist/sandbox/safe-fetch.d.ts +2 -0
- package/dist/sandbox/safe-fetch.js +3 -1
- package/dist/sandbox/secret-broker-sigv4.d.ts +2 -0
- package/dist/sandbox/secret-broker-sigv4.js +49 -0
- package/dist/sandbox/secret-broker.d.ts +34 -0
- package/dist/sandbox/secret-broker.js +161 -0
- package/dist/sandbox/tool-capabilities.d.ts +10 -30
- package/dist/sandbox/user-tool.d.ts +14 -0
- package/dist/sandbox/user-tool.js +32 -0
- package/dist/sandbox/zod-params.d.ts +37 -5
- package/dist/sandbox/zod-params.js +181 -26
- package/dist/serve.js +25 -0
- package/dist/viewer/api-schema.d.ts +372 -2454
- package/dist/viewer/api-schema.js +29 -0
- package/dist/viewer/build-schemas.js +10 -3
- package/dist/viewer/event-bus.d.ts +6 -0
- package/dist/viewer/event-bus.js +16 -7
- package/dist/viewer/graph.d.ts +5 -2
- package/dist/viewer/graph.js +7 -2
- package/dist/viewer/http.d.ts +0 -1
- package/dist/viewer/http.js +2 -2
- package/dist/viewer/infra.js +25 -2
- package/dist/viewer/limits.d.ts +4 -0
- package/dist/viewer/limits.js +4 -0
- package/dist/viewer/openapi.d.ts +15 -0
- package/dist/viewer/openapi.js +170 -0
- package/dist/wardby-bin.js +10 -0
- package/docs/README.md +7 -0
- package/docs/agent-recipes.md +114 -27
- package/docs/architecture-runtime.md +16 -1
- package/docs/code-review-agents.md +689 -45
- package/docs/coding-agent-setup.md +602 -12
- package/docs/coding-packages.md +1037 -92
- package/docs/coding-services.md +30 -13
- package/docs/coding-worker-byo-images.md +218 -6
- package/docs/coding-worker-isolation.md +173 -44
- package/docs/getting-started-gke.md +332 -129
- package/docs/getting-started-identity-provider.md +31 -11
- package/docs/getting-started.md +14 -4
- package/docs/jira-agents.md +22 -9
- 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/native-sandbox.md +731 -0
- package/docs/observability.md +4 -0
- package/docs/release-verification.md +9 -0
- package/docs/security-deployment.md +146 -14
- package/docs/slack-notifications.md +268 -0
- package/docs/tool-secrets.md +284 -0
- package/docs/viewer-api.md +46 -5
- package/docs/viewer-api.openapi.yml +1404 -0
- package/help/admin-viewer.md +29 -3
- package/help/agent-recipes.md +27 -0
- package/help/architecture-agent.md +11 -6
- package/help/brokered-secrets.md +79 -0
- package/help/build-claude-code-image.md +131 -0
- package/help/build-worker-image.md +6 -7
- package/help/builder-agent.md +19 -6
- package/help/code-review-agents.md +243 -10
- 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 +23 -9
- package/help/deployment-targets.md +25 -14
- package/help/errors/budget-exhausted.md +187 -0
- package/help/errors/budget-group-exhausted.md +5 -1
- package/help/errors/coding-provider-not-configured.md +2 -2
- 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 +28 -0
- 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 +29 -0
- package/help/errors/graph-incomplete.md +43 -0
- package/help/errors/graph-limit.md +43 -0
- package/help/errors/low-power-disabled.md +29 -0
- package/help/errors/low-power-scale-forbidden.md +35 -0
- package/help/errors/low-power-wake-timeout.md +30 -0
- package/help/errors/merge-conflict.md +49 -0
- package/help/errors/mobile-disabled.md +31 -0
- package/help/errors/native-sandbox-capacity.md +22 -0
- package/help/errors/native-sandbox-deadline-exceeded.md +19 -0
- package/help/errors/native-sandbox-docker-failed.md +20 -0
- package/help/errors/native-sandbox-gateway-error.md +20 -0
- package/help/errors/native-sandbox-gateway-unavailable.md +21 -0
- package/help/errors/native-sandbox-image-not-pinned.md +19 -0
- package/help/errors/native-sandbox-isolation-mismatch.md +20 -0
- package/help/errors/native-sandbox-launch-abandoned.md +21 -0
- package/help/errors/native-sandbox-network-unenforced.md +22 -0
- package/help/errors/native-sandbox-requires-catalog.md +31 -0
- package/help/errors/native-sandbox-unavailable.md +19 -0
- package/help/errors/native-sandbox-warm-delivery-failed.md +21 -0
- package/help/errors/native-sandbox-worker-exited.md +21 -0
- package/help/errors/native-sandbox-worker-lost.md +20 -0
- package/help/errors/native-sandbox-worker-unready.md +22 -0
- 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/run-lost.md +39 -0
- package/help/errors/run-transcript-download.md +44 -0
- package/help/errors/secret-broker-body-invalid.md +26 -0
- package/help/errors/secret-broker-changed.md +20 -0
- package/help/errors/secret-broker-config-invalid.md +30 -0
- package/help/errors/secret-broker-conflict.md +27 -0
- package/help/errors/secret-broker-destination-denied.md +28 -0
- package/help/errors/secret-broker-value-invalid.md +28 -0
- package/help/errors/secret-brokered.md +24 -0
- package/help/errors/secret-in-value.md +69 -0
- package/help/errors/secret-not-brokered.md +25 -0
- package/help/errors/slack-auth-failed.md +48 -0
- package/help/errors/slack-channel-unreachable.md +39 -0
- package/help/errors/slack-not-configured.md +33 -0
- package/help/errors/target-merge.md +40 -0
- package/help/fix-merge-conflicts.md +73 -0
- package/help/getting-started.md +4 -5
- package/help/github-app-setup.md +132 -0
- package/help/github.md +40 -1
- package/help/identity-and-access.md +7 -1
- package/help/jira.md +23 -6
- package/help/knowledge.md +16 -7
- package/help/local-repositories.md +3 -4
- package/help/low-power-mode.md +131 -0
- package/help/merge-order-check.md +122 -0
- package/help/mobile-app.md +54 -0
- package/help/native-capabilities.md +29 -1
- package/help/native-sandbox.md +150 -0
- package/help/observability.md +8 -0
- package/help/operating-agents.md +5 -0
- package/help/package-audit-mode.md +91 -0
- package/help/related-pull-requests.md +80 -16
- package/help/repo-instructions-and-skills.md +91 -0
- package/help/resume-runs-locally.md +131 -0
- package/help/review-fix-rounds.md +43 -1
- package/help/sharing-agents.md +59 -0
- package/help/slack-notifications.md +76 -0
- 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 +99 -7
- package/package.json +27 -13
- package/prisma/migrations/20261009000003_native_execution_mode/migration.sql +12 -0
- package/prisma/migrations/20261009000004_native_gateway_ledger/migration.sql +65 -0
- package/prisma/migrations/20261009000005_native_gateway_call_child_agent/migration.sql +5 -0
- package/prisma/migrations/20261009000006_run_deferred_start_stop/migration.sql +14 -0
- package/prisma/migrations/20261009000007_native_gateway_network_ready/migration.sql +5 -0
- package/prisma/migrations/20261010000001_workflow_notifications/migration.sql +99 -0
- package/prisma/migrations/20261011000001_native_gateway_session_status_index/migration.sql +2 -0
- package/prisma/migrations/20261012000001_native_warm_worker/migration.sql +32 -0
- package/prisma/migrations/20261013000001_coding_run_merge_order/migration.sql +2 -0
- package/prisma/migrations/20261013000001_secret_broker/migration.sql +17 -0
- package/prisma/migrations/20261013000002_deferred_review_request/migration.sql +4 -0
- package/prisma/migrations/20261014000000_repo_skills/migration.sql +15 -0
- package/prisma/migrations/20261015000001_coding_run_merge_order_index/migration.sql +2 -0
- package/prisma/migrations/20261015000002_no_change_rereview/migration.sql +2 -0
- 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/schema.prisma +631 -146
- package/dist/sandbox/generated/zod-to-json-schema.bundle.js +0 -5
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The code a wardby error message leads with (`some_code` or `some_code: detail`), or undefined.
|
|
3
|
+
* Worker-safe: the native sandbox worker image ships this module.
|
|
4
|
+
*/
|
|
5
|
+
export function errorCodeOf(message) {
|
|
6
|
+
return message ? /^([a-z][a-z0-9_]*)(:|$)/.exec(message)?.[1] : undefined;
|
|
7
|
+
}
|
|
8
|
+
/** The longest cause code carried; a longer leading word is not a code. */
|
|
9
|
+
const MAX_CAUSE_CODE_LENGTH = 64;
|
|
10
|
+
/** The code an unexpected error's message leads with, if it is code-shaped (has an underscore) and short enough. */
|
|
11
|
+
export function causeCodeOf(err) {
|
|
12
|
+
const code = errorCodeOf(err instanceof Error ? err.message : typeof err === "string" ? err : undefined);
|
|
13
|
+
// Only the code form leaves a boundary: snake_case with an underscore, so a bare word
|
|
14
|
+
// (which could be a token) never crosses.
|
|
15
|
+
return code && code.includes("_") && code.length <= MAX_CAUSE_CODE_LENGTH ? code : undefined;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* The only codes that may be shown from an arbitrary error's text (to a worker, or to the model in a
|
|
19
|
+
* tool result): wardby's own codes that an unexpected error on those paths can lead with. Anything
|
|
20
|
+
* else, however code-shaped, could be a value from an error's text, so it never crosses.
|
|
21
|
+
* - coding_execution_not_configured, coding_profile_missing: a coding delegation reaching a process
|
|
22
|
+
* that cannot start coding runs (core/deferred-coding.ts, providers/executor/routing.ts).
|
|
23
|
+
* - message_too_large, message_not_json, message_invalid, unsupported_protocol_version: the native
|
|
24
|
+
* worker protocol's own ProtocolError codes (native-worker/protocol.ts).
|
|
25
|
+
* - invalid_merge_order: dispatchRun's refusal of a bad mergeOrder (core/dispatch.ts).
|
|
26
|
+
* - coding_worker_image_invalid: a coding worker image that is not pinned by digest
|
|
27
|
+
* (providers/executor/container.ts).
|
|
28
|
+
* - native_sandbox_unavailable: createRun/the router refusing a sandbox-mode agent with no sandbox executor
|
|
29
|
+
* (core/runner.ts).
|
|
30
|
+
* - run_tree_exhausted: dispatchRun refusing a run whose tree budget is spent (core/dispatch.ts).
|
|
31
|
+
* - secret_in_value, secret_check_unavailable: the datastore and memory write guard refusing a value
|
|
32
|
+
* that holds an attached secret's value (core/secret-guard.ts); the code carries only the name of
|
|
33
|
+
* the secret, never its value, across the gateway.
|
|
34
|
+
*/
|
|
35
|
+
export const GATEWAY_CAUSE_CODES = new Set([
|
|
36
|
+
"coding_execution_not_configured",
|
|
37
|
+
"coding_profile_missing",
|
|
38
|
+
"message_too_large",
|
|
39
|
+
"message_not_json",
|
|
40
|
+
"message_invalid",
|
|
41
|
+
"unsupported_protocol_version",
|
|
42
|
+
"invalid_merge_order",
|
|
43
|
+
"coding_worker_image_invalid",
|
|
44
|
+
"native_sandbox_unavailable",
|
|
45
|
+
"run_tree_exhausted",
|
|
46
|
+
"secret_in_value",
|
|
47
|
+
"secret_check_unavailable",
|
|
48
|
+
]);
|
|
49
|
+
/**
|
|
50
|
+
* The codes wardby itself writes as a failed coding or native child run's Run.error (read from the
|
|
51
|
+
* literals in core/dispatch.ts, core/coding-queue.ts, providers/executor/*, core/run-pricing.ts,
|
|
52
|
+
* providers/llm/catalog-types.ts and the native sandbox). A parent may be told which of these a
|
|
53
|
+
* child failed with; any other leading word is not shown. Includes GATEWAY_CAUSE_CODES, and the
|
|
54
|
+
* container executor's terminal codes: `coding_failure_<category>` for every category
|
|
55
|
+
* failureCategory files a failure under (providers/executor/container.ts), and
|
|
56
|
+
* `coding_provider_<class>` for every provider failure class (core/provider-wording.ts).
|
|
57
|
+
*/
|
|
58
|
+
export const CHILD_RUN_FAILURE_CODES = new Set([
|
|
59
|
+
...GATEWAY_CAUSE_CODES,
|
|
60
|
+
"coding_failure_turn_limit",
|
|
61
|
+
"coding_failure_service_unready",
|
|
62
|
+
"coding_failure_preflight",
|
|
63
|
+
"coding_failure_job",
|
|
64
|
+
"coding_failure_repo_access_unavailable",
|
|
65
|
+
"coding_failure_repo_access",
|
|
66
|
+
"coding_failure_github",
|
|
67
|
+
"coding_failure_protected_path",
|
|
68
|
+
"coding_failure_continuation_closed",
|
|
69
|
+
"coding_failure_merge_conflict",
|
|
70
|
+
"coding_failure_target_merge",
|
|
71
|
+
"coding_failure_workspace",
|
|
72
|
+
"coding_failure_budget",
|
|
73
|
+
"coding_failure_artifact",
|
|
74
|
+
"coding_failure_cancelled",
|
|
75
|
+
"coding_failure_executor",
|
|
76
|
+
"coding_provider_quota",
|
|
77
|
+
"coding_provider_rate_limited",
|
|
78
|
+
"coding_provider_unavailable",
|
|
79
|
+
"coding_provider_rejected",
|
|
80
|
+
"coding_ambiguous_provisioning",
|
|
81
|
+
"coding_artifact_duplicate_key",
|
|
82
|
+
"coding_artifact_invalid_json",
|
|
83
|
+
"coding_artifact_nesting_limit",
|
|
84
|
+
"coding_artifact_path_invalid",
|
|
85
|
+
"coding_artifact_root_invalid",
|
|
86
|
+
"coding_artifact_size_limit",
|
|
87
|
+
"coding_budget_exhausted",
|
|
88
|
+
"coding_capability_exists",
|
|
89
|
+
"coding_capability_unavailable",
|
|
90
|
+
"coding_credential_ref_invalid",
|
|
91
|
+
"coding_credential_reference_invalid",
|
|
92
|
+
"coding_credential_unavailable",
|
|
93
|
+
"coding_dispatch_unavailable",
|
|
94
|
+
"coding_head_ref_invalid",
|
|
95
|
+
"coding_input_invalid_file",
|
|
96
|
+
"coding_job_handle_conflict",
|
|
97
|
+
"coding_job_handle_mismatch",
|
|
98
|
+
"coding_job_status_unavailable",
|
|
99
|
+
"coding_output_invalid",
|
|
100
|
+
"coding_output_missing",
|
|
101
|
+
"coding_output_run_mismatch",
|
|
102
|
+
"coding_output_size_limit",
|
|
103
|
+
"coding_provider_not_configured",
|
|
104
|
+
"coding_provider_unsupported",
|
|
105
|
+
"coding_queue_timeout",
|
|
106
|
+
"coding_recovery_incomplete",
|
|
107
|
+
"coding_recovery_unavailable",
|
|
108
|
+
"coding_resource_limits_invalid",
|
|
109
|
+
"coding_result_missing",
|
|
110
|
+
"coding_result_run_mismatch",
|
|
111
|
+
"coding_run_budget_invalid",
|
|
112
|
+
"coding_run_no_longer_active",
|
|
113
|
+
"coding_run_not_active",
|
|
114
|
+
"coding_run_not_found",
|
|
115
|
+
"coding_run_ownership_invalid",
|
|
116
|
+
"coding_run_pricing_mismatch",
|
|
117
|
+
"coding_run_status_invalid",
|
|
118
|
+
"coding_run_terminal_conflict",
|
|
119
|
+
"coding_service_catalog_invalid",
|
|
120
|
+
"coding_service_unready",
|
|
121
|
+
"coding_services_unsupported",
|
|
122
|
+
"coding_services_unsupported_launcher",
|
|
123
|
+
"coding_stream_agent_exited",
|
|
124
|
+
"coding_stream_failed",
|
|
125
|
+
"coding_stream_proxy_denied",
|
|
126
|
+
"coding_stream_proxy_unreachable",
|
|
127
|
+
"coding_stream_quota_exceeded",
|
|
128
|
+
"coding_stream_rate_limited",
|
|
129
|
+
"coding_stream_timeout",
|
|
130
|
+
"coding_stream_upstream_error",
|
|
131
|
+
"coding_toolchain_unsupported",
|
|
132
|
+
"coding_turn_failed",
|
|
133
|
+
"coding_turn_limit",
|
|
134
|
+
"coding_workspace_disk_exceeds_limit",
|
|
135
|
+
"coding_workspace_lost",
|
|
136
|
+
"model_unavailable",
|
|
137
|
+
"model_not_allowed",
|
|
138
|
+
"executor_run_not_found",
|
|
139
|
+
"run_not_drivable",
|
|
140
|
+
"ownership_lost",
|
|
141
|
+
"step_replay_mismatch",
|
|
142
|
+
"worker_error",
|
|
143
|
+
"worker_tool_runner_unreachable",
|
|
144
|
+
"sandbox_dispatch_unavailable",
|
|
145
|
+
"native_sandbox_capacity",
|
|
146
|
+
"native_sandbox_deadline_exceeded",
|
|
147
|
+
"native_sandbox_docker_failed",
|
|
148
|
+
"native_sandbox_gateway_error",
|
|
149
|
+
"native_sandbox_gateway_unavailable",
|
|
150
|
+
"native_sandbox_image_not_pinned",
|
|
151
|
+
"native_sandbox_invalid_run_id",
|
|
152
|
+
"native_sandbox_invalid_warm_token",
|
|
153
|
+
"native_sandbox_isolation_mismatch",
|
|
154
|
+
"native_sandbox_launch_abandoned",
|
|
155
|
+
"native_sandbox_network_unenforced",
|
|
156
|
+
"native_sandbox_platform_unsupported",
|
|
157
|
+
"native_sandbox_recovery_unavailable",
|
|
158
|
+
"native_sandbox_requires_catalog",
|
|
159
|
+
"native_sandbox_warm_delivery_failed",
|
|
160
|
+
"native_sandbox_worker_exited",
|
|
161
|
+
"native_sandbox_worker_lost",
|
|
162
|
+
"native_sandbox_worker_unready",
|
|
163
|
+
]);
|
|
164
|
+
/** The leading code of an arbitrary error or message, only when it is declared in `allowed`. */
|
|
165
|
+
export function declaredCodeOf(err, allowed = GATEWAY_CAUSE_CODES) {
|
|
166
|
+
const code = causeCodeOf(err);
|
|
167
|
+
return code && allowed.has(code) ? code : undefined;
|
|
168
|
+
}
|
package/dist/core/grants.d.ts
CHANGED
|
@@ -19,14 +19,14 @@ export type ResourceType = keyof typeof LEVELS;
|
|
|
19
19
|
export type Level<T extends ResourceType = ResourceType> = (typeof LEVELS)[T][number];
|
|
20
20
|
export type Access<T extends ResourceType = ResourceType> = "none" | Level<T> | "owner";
|
|
21
21
|
/**
|
|
22
|
-
* Highest level an "everyone" grant may carry
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
22
|
+
* Highest level an "everyone" grant may carry. Agents may be public-write
|
|
23
|
+
* (anyone signed in can edit them) but only while they hold none of their
|
|
24
|
+
* owner's bindings: see agentOwnerBindings and the guard in grant_access and
|
|
25
|
+
* the binding tools. Otherwise anyone could rewrite the prompt of an agent
|
|
26
|
+
* that holds its owner's secrets.
|
|
27
27
|
*/
|
|
28
28
|
export declare const EVERYONE_MAX: {
|
|
29
|
-
readonly agent: "
|
|
29
|
+
readonly agent: "write";
|
|
30
30
|
readonly tool: "use";
|
|
31
31
|
readonly budget_group: "use";
|
|
32
32
|
};
|
|
@@ -84,3 +84,16 @@ export declare function everyoneGrantData(type: ResourceType, resourceId: string
|
|
|
84
84
|
};
|
|
85
85
|
/** Every resource delete path calls this in the same transaction (no FK on resourceId). */
|
|
86
86
|
export declare function deleteGrantsFor(db: GrantDb, type: ResourceType, resourceId: string): Promise<number>;
|
|
87
|
+
type BindingDb = Pick<PrismaClient, "agentSecret" | "agentDatastore" | "agentRepository" | "agentSubAgent" | "agentTool" | "codingAgentProfile">;
|
|
88
|
+
/**
|
|
89
|
+
* The owner-only bindings an agent holds, by kind (empty = none). An agent
|
|
90
|
+
* may be public-write only while this is empty; binding a secret, datastore,
|
|
91
|
+
* repository, sub-agent or owner-granted tool capability to a public-write
|
|
92
|
+
* agent is refused for the same reason. A coding profile counts: its
|
|
93
|
+
* repository is the owner's GitHub access, and the prompt is part of every
|
|
94
|
+
* coding task.
|
|
95
|
+
*/
|
|
96
|
+
export declare function agentOwnerBindings(db: BindingDb, agentId: string): Promise<string[]>;
|
|
97
|
+
/** True when everyone holds write on the agent. */
|
|
98
|
+
export declare function isPublicWritable(db: GrantDb, agentId: string): Promise<boolean>;
|
|
99
|
+
export {};
|
package/dist/core/grants.js
CHANGED
|
@@ -4,13 +4,13 @@ export const LEVELS = {
|
|
|
4
4
|
budget_group: ["read", "use", "write"],
|
|
5
5
|
};
|
|
6
6
|
/**
|
|
7
|
-
* Highest level an "everyone" grant may carry
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
7
|
+
* Highest level an "everyone" grant may carry. Agents may be public-write
|
|
8
|
+
* (anyone signed in can edit them) but only while they hold none of their
|
|
9
|
+
* owner's bindings: see agentOwnerBindings and the guard in grant_access and
|
|
10
|
+
* the binding tools. Otherwise anyone could rewrite the prompt of an agent
|
|
11
|
+
* that holds its owner's secrets.
|
|
12
12
|
*/
|
|
13
|
-
export const EVERYONE_MAX = { agent: "
|
|
13
|
+
export const EVERYONE_MAX = { agent: "write", tool: "use", budget_group: "use" };
|
|
14
14
|
/** Types grant_access/revoke_access accept today (Phase 1: agents only). */
|
|
15
15
|
export const SHAREABLE_TYPES = ["agent"];
|
|
16
16
|
export const EVERYONE_KEY = "everyone";
|
|
@@ -124,3 +124,52 @@ export async function deleteGrantsFor(db, type, resourceId) {
|
|
|
124
124
|
const { count } = await db.resourceGrant.deleteMany({ where: { resourceType: type, resourceId } });
|
|
125
125
|
return count;
|
|
126
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* The owner-only bindings an agent holds, by kind (empty = none). An agent
|
|
129
|
+
* may be public-write only while this is empty; binding a secret, datastore,
|
|
130
|
+
* repository, sub-agent or owner-granted tool capability to a public-write
|
|
131
|
+
* agent is refused for the same reason. A coding profile counts: its
|
|
132
|
+
* repository is the owner's GitHub access, and the prompt is part of every
|
|
133
|
+
* coding task.
|
|
134
|
+
*/
|
|
135
|
+
export async function agentOwnerBindings(db, agentId) {
|
|
136
|
+
const [secrets, datastores, repositories, subagents, capabilityTools, codingProfiles] = await Promise.all([
|
|
137
|
+
db.agentSecret.count({ where: { agentId } }),
|
|
138
|
+
db.agentDatastore.count({ where: { agentId } }),
|
|
139
|
+
db.agentRepository.count({ where: { agentId } }),
|
|
140
|
+
db.agentSubAgent.count({ where: { parentAgentId: agentId } }),
|
|
141
|
+
// The owner's attach_tool stamps its consent even when it grants nothing:
|
|
142
|
+
// only an attachment that carries a capability counts.
|
|
143
|
+
db.agentTool.count({
|
|
144
|
+
where: {
|
|
145
|
+
agentId,
|
|
146
|
+
capabilitiesGrantedById: { not: null },
|
|
147
|
+
NOT: {
|
|
148
|
+
allowedSecrets: { equals: [] },
|
|
149
|
+
allowedDatastorePrefixes: { equals: [] },
|
|
150
|
+
allowedHosts: { equals: [] },
|
|
151
|
+
allowedSharedDatastorePrefixes: { equals: {} },
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
}),
|
|
155
|
+
db.codingAgentProfile.count({ where: { agentId } }),
|
|
156
|
+
]);
|
|
157
|
+
return Object.entries({
|
|
158
|
+
secrets,
|
|
159
|
+
datastores,
|
|
160
|
+
repositories,
|
|
161
|
+
"sub-agents": subagents,
|
|
162
|
+
"tool capabilities": capabilityTools,
|
|
163
|
+
"a coding repository": codingProfiles,
|
|
164
|
+
})
|
|
165
|
+
.filter(([, count]) => count > 0)
|
|
166
|
+
.map(([kind]) => kind);
|
|
167
|
+
}
|
|
168
|
+
/** True when everyone holds write on the agent. */
|
|
169
|
+
export async function isPublicWritable(db, agentId) {
|
|
170
|
+
const row = await db.resourceGrant.findFirst({
|
|
171
|
+
where: { resourceType: "agent", resourceId: agentId, granteeKey: EVERYONE_KEY },
|
|
172
|
+
select: { level: true },
|
|
173
|
+
});
|
|
174
|
+
return row !== null && atLeast("agent", row.level, "write");
|
|
175
|
+
}
|
|
@@ -5,15 +5,15 @@
|
|
|
5
5
|
* module decides which agents run. See
|
|
6
6
|
* docs/private/2026-09-25-code-review-host-design.md §6.3.
|
|
7
7
|
*/
|
|
8
|
-
import type
|
|
8
|
+
import { type PrismaClient } from "#prisma";
|
|
9
9
|
import type { Executor } from "../providers/executor/types.js";
|
|
10
10
|
import type { IssueTrackerRegistry } from "../providers/issue-tracker/types.js";
|
|
11
|
-
import type { HostEvent, ReviewHostRegistry } from "../providers/review-host/types.js";
|
|
11
|
+
import type { CodeReviewHost, HostEvent, ReviewHostRegistry } from "../providers/review-host/types.js";
|
|
12
12
|
import { type OpenSibling } from "./related-pull-requests.js";
|
|
13
13
|
import { type RepoAccessGate } from "./repo-access.js";
|
|
14
14
|
import { type DriftScope } from "../knowledge/relevance.js";
|
|
15
15
|
export type { HostEvent };
|
|
16
|
-
export type HostEventDb = Pick<PrismaClient, "agentRepository" | "deferredReview" | "agent" | "run" | "runHostCheck" | "runHostStatus" | "codingRun" | "task" | "webhook" | "budgetGroup" | "issuePullRequest" | "workItem" | "runAttribution" | "agentIssueProject" | "$transaction" | "$queryRaw">;
|
|
16
|
+
export type HostEventDb = Pick<PrismaClient, "runBudgetEvent" | "agentRepository" | "deferredReview" | "agent" | "run" | "runHostCheck" | "runHostStatus" | "codingRun" | "registryFetch" | "registryAuditRecord" | "task" | "webhook" | "budgetGroup" | "issuePullRequest" | "workItem" | "runAttribution" | "agentIssueProject" | "$transaction" | "$queryRaw">;
|
|
17
17
|
export interface RouteHostEventDeps {
|
|
18
18
|
db: HostEventDb;
|
|
19
19
|
executor: Executor;
|
|
@@ -24,6 +24,12 @@ export interface RouteHostEventDeps {
|
|
|
24
24
|
repoAccess: RepoAccessGate;
|
|
25
25
|
/** Issue trackers for moving/commenting on the issue a closed PR was opened for; absent → pr_closed is ignored. */
|
|
26
26
|
issueTrackers?: IssueTrackerRegistry;
|
|
27
|
+
/**
|
|
28
|
+
* False (WARDBY_MENTION_EXPLANATIONS=false): a mention that starts nothing gets no
|
|
29
|
+
* reply saying why. The reply is a comment anyone who can see the repository reads,
|
|
30
|
+
* so a deployment may keep what is linked there to itself. Absent = true.
|
|
31
|
+
*/
|
|
32
|
+
mentionExplanations?: boolean;
|
|
27
33
|
}
|
|
28
34
|
/** What starting a review needs: everything routing needs except the mention handle. */
|
|
29
35
|
export type ReviewStartDeps = Omit<RouteHostEventDeps, "mentionHandle">;
|
|
@@ -38,6 +44,7 @@ export interface RouteResult {
|
|
|
38
44
|
/** Cosmetic work to do after the webhook response is sent (reactions, status comments). */
|
|
39
45
|
followUps: Array<() => Promise<void>>;
|
|
40
46
|
}
|
|
47
|
+
/** A `@app review` outside code: quoting the command in code documents it. */
|
|
41
48
|
export declare function isReviewCommand(body: string, mentionHandle: string): boolean;
|
|
42
49
|
type PushEvent = Extract<HostEvent, {
|
|
43
50
|
kind: "push";
|
|
@@ -56,7 +63,7 @@ type ConceptCitationStatus = {
|
|
|
56
63
|
* commits, so they and the affected concept paths travel as untrusted context.
|
|
57
64
|
* Commit messages and author names are never included.
|
|
58
65
|
*/
|
|
59
|
-
export declare function mergeTaskText(event: PushEvent, scope: DriftScope | null, bundleComplete?: boolean, citations?: ReadonlyMap<string, ConceptCitationStatus
|
|
66
|
+
export declare function mergeTaskText(event: PushEvent, scope: DriftScope | null, bundleComplete?: boolean, citations?: ReadonlyMap<string, ConceptCitationStatus>, bundlePath?: string): string;
|
|
60
67
|
type MentionEvent = Extract<HostEvent, {
|
|
61
68
|
kind: "mention";
|
|
62
69
|
}>;
|
|
@@ -83,13 +90,68 @@ export declare function siblingContinuationHints(siblings: readonly OpenSibling[
|
|
|
83
90
|
* taskOverride column.
|
|
84
91
|
*/
|
|
85
92
|
export declare function mentionTaskText(event: MentionEvent, siblings?: readonly OpenSibling[]): string;
|
|
93
|
+
/** The reply to a mention whose author can see the repository but cannot push to it. */
|
|
94
|
+
export declare const NO_WRITE_ACCESS_BODY: string;
|
|
86
95
|
export declare function unknownPriorRunBody(priorRunId: string): string;
|
|
96
|
+
/** Why a mention from someone allowed to use wardby started nothing; posted so they are not left guessing. */
|
|
97
|
+
export type MentionDeclineReason = "no_responder" | "no_reviewer" | "agent_not_authorized" | "pull_request_not_reviewable";
|
|
98
|
+
/**
|
|
99
|
+
* Never names the App's handle: this comment is posted by the App, and a
|
|
100
|
+
* body that mentioned it could be matched as a mention of itself.
|
|
101
|
+
*/
|
|
102
|
+
export declare function mentionDeclinedBody(reason: MentionDeclineReason): string;
|
|
103
|
+
export interface ReviewTarget {
|
|
104
|
+
agentId: string;
|
|
105
|
+
checkName: string;
|
|
106
|
+
}
|
|
107
|
+
/** A review run's task: the head to review, plus any extra context its trigger adds. */
|
|
108
|
+
export declare function reviewTaskText(repository: string, prNumber: number, headSha: string, context?: {
|
|
109
|
+
task: string;
|
|
110
|
+
untrustedContext: string;
|
|
111
|
+
}): string;
|
|
112
|
+
/** Starts one review run per target on a pull request head; returns the started run ids. */
|
|
113
|
+
export declare function startReviews(deps: ReviewStartDeps, host: CodeReviewHost, repository: string, prNumber: number, headSha: string, targets: ReviewTarget[],
|
|
114
|
+
/** True for automatic triggers; an explicit re-run or `@wardby review` always runs. */
|
|
115
|
+
skipReviewedCommits?: boolean,
|
|
116
|
+
/**
|
|
117
|
+
* Extra context for this review: `task` (written by wardby, trusted) is appended to the
|
|
118
|
+
* review task; `untrustedContext` (anything a model or a person wrote) travels separately,
|
|
119
|
+
* delivered as data.
|
|
120
|
+
*/
|
|
121
|
+
context?: {
|
|
122
|
+
task: string;
|
|
123
|
+
untrustedContext: string;
|
|
124
|
+
}): Promise<string[]>;
|
|
87
125
|
/**
|
|
88
126
|
* The reconciler's fallback for deferred reviews: drops rows older than
|
|
89
127
|
* DEFERRED_REVIEW_MAX_AGE_MS, and starts (regardless of CI) those waiting
|
|
90
128
|
* longer than DEFERRED_REVIEW_MAX_WAIT_MS, at most DEFERRED_REVIEW_BATCH per
|
|
91
129
|
* pass, oldest first. Covers CI that never reported, ran very long, or whose
|
|
92
|
-
* completion webhook was missed.
|
|
130
|
+
* completion webhook was missed. Rows waiting for a delegating run (reason
|
|
131
|
+
* "request") are released the same way once they are that old, but only when
|
|
132
|
+
* that run is terminal (or gone): a lead the reconciler marked lost never
|
|
133
|
+
* reaches its finalizer. Never throws; returns the runs started.
|
|
93
134
|
*/
|
|
94
135
|
export declare function startDeferredReviews(deps: ReviewStartDeps, now?: Date): Promise<string[]>;
|
|
136
|
+
/**
|
|
137
|
+
* The run whose finish a review of this pull request waits for: the root of
|
|
138
|
+
* the run tree when the PR's opening coding run was delegated (it has a
|
|
139
|
+
* parent run) and that root is not terminal yet; otherwise null (a
|
|
140
|
+
* non-delegated coding PR, a finished request, or an unknown marker). A lead's
|
|
141
|
+
* delegate_to_* calls block until each child is terminal, so a terminal root
|
|
142
|
+
* means every sibling coding run of the request has finished and opened its
|
|
143
|
+
* pull request. A continuation's marker resolves to its root coding run, then
|
|
144
|
+
* up that run's parents. `repository`, when given, must be the coding run's.
|
|
145
|
+
*/
|
|
146
|
+
export declare function requestLeadRunId(db: Pick<HostEventDb, "$queryRaw">, prMarkerRunId: string, repository?: string): Promise<string | null>;
|
|
147
|
+
/**
|
|
148
|
+
* The delegating run `leadRunId` is terminal (it succeeded, failed, or was
|
|
149
|
+
* cancelled): releases every review that waited for it. A reviewer linked
|
|
150
|
+
* with waitForCi whose head's CI is still pending is handed to CI (the row
|
|
151
|
+
* becomes reason "ci", its max wait counted from now); every other row is
|
|
152
|
+
* started (claimed by delete, so concurrent releases start each review once).
|
|
153
|
+
* Called from the lead's finalizer, after the related pull requests sections
|
|
154
|
+
* were rewritten. Never throws.
|
|
155
|
+
*/
|
|
156
|
+
export declare function startDeferredForRequest(deps: ReviewStartDeps, leadRunId: string): Promise<void>;
|
|
95
157
|
export declare function routeHostEvent(event: HostEvent, deps: RouteHostEventDeps): Promise<RouteResult>;
|