@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,75 @@
|
|
|
1
|
+
import { packageAuditDigest } from "../coding/registry/audit-mode.js";
|
|
2
|
+
import { blockingRefusals, collectPackageAudit, collectRunOutcome, isBlockedByRefusals } from "./host-status.js";
|
|
3
|
+
import { logger } from "./logger.js";
|
|
4
|
+
import { dedupeKeys, emitWorkflowEvent, shortReason } from "./workflow-events.js";
|
|
5
|
+
const log = logger.child({ module: "workflow-run-events" });
|
|
6
|
+
const FAILED = new Set(["failed", "budget_exhausted", "cancelled", "lost", "refused"]);
|
|
7
|
+
const VERDICTS = new Set(["APPROVE", "CHANGES_REQUESTED", "COMMENT"]);
|
|
8
|
+
/** Emits top-level run outcomes and published review verdicts. Never throws. */
|
|
9
|
+
export async function emitRunFinishedEvents(db, run) {
|
|
10
|
+
try {
|
|
11
|
+
const agentName = (await db.agent.findUnique({ where: { id: run.agentId }, select: { name: true } }))?.name ?? run.agentId;
|
|
12
|
+
if (!run.parentRunId) {
|
|
13
|
+
try {
|
|
14
|
+
// Only a succeeded run can be blocked (isBlockedByRefusals), so only it needs its children read.
|
|
15
|
+
const succeeded = { id: run.id, status: "succeeded", finalText: null };
|
|
16
|
+
const outcome = run.status === "succeeded" ? await collectRunOutcome(db, succeeded) : null;
|
|
17
|
+
if (outcome && isBlockedByRefusals(succeeded, outcome)) {
|
|
18
|
+
await emitWorkflowEvent({
|
|
19
|
+
dedupeKey: dedupeKeys.runBlocked(run.id),
|
|
20
|
+
runId: run.id,
|
|
21
|
+
agentId: run.agentId,
|
|
22
|
+
payload: { kind: "run_blocked", agentName, packageRefusals: blockingRefusals(outcome) },
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
// Any terminal status: what audit mode let in is worth knowing whether or not the run succeeded.
|
|
26
|
+
const audit = outcome ? outcome.packageAudit : await collectPackageAudit(db, run.id);
|
|
27
|
+
if (audit && audit.summary.entries.length > 0) {
|
|
28
|
+
await emitWorkflowEvent({
|
|
29
|
+
dedupeKey: dedupeKeys.packagesAudited(run.id),
|
|
30
|
+
runId: run.id,
|
|
31
|
+
agentId: run.agentId,
|
|
32
|
+
payload: {
|
|
33
|
+
kind: "packages_audited",
|
|
34
|
+
agentName,
|
|
35
|
+
mode: audit.mode,
|
|
36
|
+
...packageAuditDigest(audit.mode, audit.summary),
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
// A reporting read failure must not prevent other workflow events.
|
|
43
|
+
}
|
|
44
|
+
if (FAILED.has(run.status)) {
|
|
45
|
+
await emitWorkflowEvent({
|
|
46
|
+
dedupeKey: dedupeKeys.runFailed(run.id),
|
|
47
|
+
runId: run.id,
|
|
48
|
+
agentId: run.agentId,
|
|
49
|
+
payload: { kind: "run_failed", agentName, status: run.status, reason: shortReason(run.error) },
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const check = await db.runHostCheck.findUnique({ where: { runId: run.id } });
|
|
54
|
+
if (check?.verdict && VERDICTS.has(check.verdict) && check.prNumber !== null) {
|
|
55
|
+
const prLabel = `${check.repository}#${check.prNumber}`;
|
|
56
|
+
await emitWorkflowEvent({
|
|
57
|
+
dedupeKey: dedupeKeys.reviewPosted(run.id),
|
|
58
|
+
runId: run.id,
|
|
59
|
+
agentId: run.agentId,
|
|
60
|
+
pullRequest: { codeProvider: check.provider, repository: check.repository, number: check.prNumber },
|
|
61
|
+
payload: {
|
|
62
|
+
kind: "review_posted",
|
|
63
|
+
agentName,
|
|
64
|
+
verdict: check.verdict,
|
|
65
|
+
prLabel,
|
|
66
|
+
prUrl: check.provider === "github" ? `https://github.com/${check.repository}/pull/${check.prNumber}` : null,
|
|
67
|
+
ciPending: check.ciPendingAtReview === true,
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
log.warn({ err, runId: run.id }, "could not emit run workflow events");
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
function isStringKeySchema(value) {
|
|
2
|
+
return (!!value &&
|
|
3
|
+
typeof value === "object" &&
|
|
4
|
+
!Array.isArray(value) &&
|
|
5
|
+
Object.keys(value).length === 1 &&
|
|
6
|
+
value.type === "string");
|
|
7
|
+
}
|
|
8
|
+
export function legacyJsonSchema(node, options = {}) {
|
|
9
|
+
if (Array.isArray(node))
|
|
10
|
+
return node.map((item) => legacyJsonSchema(item, options));
|
|
11
|
+
if (!node || typeof node !== "object")
|
|
12
|
+
return node;
|
|
13
|
+
const source = node;
|
|
14
|
+
const out = {};
|
|
15
|
+
for (const [key, value] of Object.entries(source)) {
|
|
16
|
+
if (source.type === "integer" && key === "minimum" && value === Number.MIN_SAFE_INTEGER)
|
|
17
|
+
continue;
|
|
18
|
+
if (source.type === "integer" && key === "maximum" && value === Number.MAX_SAFE_INTEGER)
|
|
19
|
+
continue;
|
|
20
|
+
if (key === "propertyNames" && isStringKeySchema(value))
|
|
21
|
+
continue;
|
|
22
|
+
if (options.closeObjects &&
|
|
23
|
+
key === "additionalProperties" &&
|
|
24
|
+
value &&
|
|
25
|
+
typeof value === "object" &&
|
|
26
|
+
Object.keys(value).length === 0) {
|
|
27
|
+
out[key] = true;
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
// A `properties` map's keys are names, not keywords: only its values are schemas.
|
|
31
|
+
out[key === "oneOf" ? "anyOf" : key] =
|
|
32
|
+
key === "properties" && value && typeof value === "object"
|
|
33
|
+
? Object.fromEntries(Object.entries(value).map(([name, sub]) => [name, legacyJsonSchema(sub, options)]))
|
|
34
|
+
: legacyJsonSchema(value, options);
|
|
35
|
+
}
|
|
36
|
+
if (options.closeObjects && source.type === "object" && "properties" in source && !("additionalProperties" in source))
|
|
37
|
+
out.additionalProperties = false;
|
|
38
|
+
return out;
|
|
39
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { PrismaClient } from "#prisma";
|
|
2
|
+
import { type Zod4Compatibility } from "../sandbox/zod-params.js";
|
|
3
|
+
import type { SandboxResult } from "../sandbox/eval-core.js";
|
|
4
|
+
export declare const ZOD3_WINDOW_ENDS = "Zod 3 schemas stop working in the next release";
|
|
5
|
+
/** The warning for one paramsZod, or undefined when Zod 4 compiles it (or there is nothing to say). */
|
|
6
|
+
export declare function zod3WindowWarning(subject: string, compatibility: Zod4Compatibility): string | undefined;
|
|
7
|
+
/** How a warning names a tool. */
|
|
8
|
+
export declare function toolSubject(name: string): string;
|
|
9
|
+
export declare function cachedZod4Compatibility(paramsZod: string): Promise<Zod4Compatibility>;
|
|
10
|
+
/** Test hook: empties the compatibility cache. */
|
|
11
|
+
export declare function clearZod4CompatibilityCache(): void;
|
|
12
|
+
/** The warnings for one tool's paramsZod (empty or one entry), ready for a result's `warnings`. */
|
|
13
|
+
export declare function zod3ToolWarnings(subject: string, paramsZod: string): Promise<string[]>;
|
|
14
|
+
/**
|
|
15
|
+
* A tool row with its Zod 3 window warnings, for a caller who owns it (and so
|
|
16
|
+
* already sees its paramsZod). Rows projected for anyone else, which carry no
|
|
17
|
+
* paramsZod, pass through unchanged: a warning would reveal part of the schema.
|
|
18
|
+
*/
|
|
19
|
+
export declare function withZod3ToolWarnings<T extends object>(projected: T): Promise<T | (T & {
|
|
20
|
+
warnings: string[];
|
|
21
|
+
})>;
|
|
22
|
+
/**
|
|
23
|
+
* dry_run_tool's check of a schema Zod 4 does compile: whether Zod 4 treats
|
|
24
|
+
* the sample arguments as the current release does. Names no values.
|
|
25
|
+
*/
|
|
26
|
+
export declare function zod3SampleArgsWarning(subject: string, current: SandboxResult, zod4: SandboxResult): string | undefined;
|
|
27
|
+
interface WarnLog {
|
|
28
|
+
warn(fields: object, message: string): void;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Logs one warning per stored tool whose paramsZod Zod 4 can't compile. Runs
|
|
32
|
+
* in the background at startup; never throws.
|
|
33
|
+
*/
|
|
34
|
+
export declare function logZod3ToolWarnings(db: Pick<PrismaClient, "tool">, log: WarnLog): Promise<number>;
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Zod 3 compatibility window's warnings (one release; see
|
|
3
|
+
* sandbox/zod-params.ts). A custom tool whose paramsZod Zod 4 can't compile
|
|
4
|
+
* still works this release, compiled with Zod 3, and stops working in the
|
|
5
|
+
* next. The operator hears about it in create_tool, update_tool,
|
|
6
|
+
* dry_run_tool, list_tools and get_agent results (on tools the caller owns),
|
|
7
|
+
* in import results, from `wardby tool create`, and once per tool in the
|
|
8
|
+
* server log at startup.
|
|
9
|
+
*
|
|
10
|
+
* A warning names only the tool and the removed Zod 3 API it uses (fixed
|
|
11
|
+
* labels from zod-params.ts): never the schema's text or anything else from
|
|
12
|
+
* the tool.
|
|
13
|
+
*/
|
|
14
|
+
import { createHash } from "node:crypto";
|
|
15
|
+
import { zod4Compatibility } from "../sandbox/zod-params.js";
|
|
16
|
+
export const ZOD3_WINDOW_ENDS = "Zod 3 schemas stop working in the next release";
|
|
17
|
+
/** The warning for one paramsZod, or undefined when Zod 4 compiles it (or there is nothing to say). */
|
|
18
|
+
export function zod3WindowWarning(subject, compatibility) {
|
|
19
|
+
if (compatibility.compatible !== false)
|
|
20
|
+
return undefined;
|
|
21
|
+
const what = compatibility.removed.length
|
|
22
|
+
? `uses Zod 3 API that Zod 4 removed: ${compatibility.removed.join(", ")}`
|
|
23
|
+
: "does not compile with Zod 4";
|
|
24
|
+
return (`${subject} ${what}. Wardby still compiles it with Zod 3 in this release, but ${ZOD3_WINDOW_ENDS}: ` +
|
|
25
|
+
"rewrite it with the Zod 4 API and check it with dry_run_tool.");
|
|
26
|
+
}
|
|
27
|
+
/** How a warning names a tool. */
|
|
28
|
+
export function toolSubject(name) {
|
|
29
|
+
return `Tool ${JSON.stringify(name)}'s paramsZod`;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Compatibility depends on the paramsZod text alone, so results are cached in
|
|
33
|
+
* memory keyed by a SHA-256 of that text: a changed paramsZod is a different
|
|
34
|
+
* key and is always probed afresh, so the cache can never hide a warning for
|
|
35
|
+
* it. The tool's name is not part of the result (the warning text is built
|
|
36
|
+
* from the current name each time). The startup scan fills the cache, so
|
|
37
|
+
* list_tools usually probes nothing. Bounded; the oldest entry goes first.
|
|
38
|
+
* An "unknown" result (a probe that hit a sandbox limit) is not cached.
|
|
39
|
+
*/
|
|
40
|
+
const COMPATIBILITY_CACHE_LIMIT = 2000;
|
|
41
|
+
const compatibilityCache = new Map();
|
|
42
|
+
export function cachedZod4Compatibility(paramsZod) {
|
|
43
|
+
const key = createHash("sha256").update(paramsZod).digest("hex");
|
|
44
|
+
const hit = compatibilityCache.get(key);
|
|
45
|
+
if (hit)
|
|
46
|
+
return hit;
|
|
47
|
+
const pending = zod4Compatibility(paramsZod).then((result) => {
|
|
48
|
+
if (result.compatible === "unknown")
|
|
49
|
+
compatibilityCache.delete(key);
|
|
50
|
+
return result;
|
|
51
|
+
}, (err) => {
|
|
52
|
+
compatibilityCache.delete(key);
|
|
53
|
+
throw err;
|
|
54
|
+
});
|
|
55
|
+
compatibilityCache.set(key, pending);
|
|
56
|
+
while (compatibilityCache.size > COMPATIBILITY_CACHE_LIMIT) {
|
|
57
|
+
compatibilityCache.delete(compatibilityCache.keys().next().value);
|
|
58
|
+
}
|
|
59
|
+
return pending;
|
|
60
|
+
}
|
|
61
|
+
/** Test hook: empties the compatibility cache. */
|
|
62
|
+
export function clearZod4CompatibilityCache() {
|
|
63
|
+
compatibilityCache.clear();
|
|
64
|
+
}
|
|
65
|
+
/** The warnings for one tool's paramsZod (empty or one entry), ready for a result's `warnings`. */
|
|
66
|
+
export async function zod3ToolWarnings(subject, paramsZod) {
|
|
67
|
+
const warning = zod3WindowWarning(subject, await cachedZod4Compatibility(paramsZod));
|
|
68
|
+
return warning ? [warning] : [];
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* A tool row with its Zod 3 window warnings, for a caller who owns it (and so
|
|
72
|
+
* already sees its paramsZod). Rows projected for anyone else, which carry no
|
|
73
|
+
* paramsZod, pass through unchanged: a warning would reveal part of the schema.
|
|
74
|
+
*/
|
|
75
|
+
export async function withZod3ToolWarnings(projected) {
|
|
76
|
+
const row = projected;
|
|
77
|
+
if (typeof row.paramsZod !== "string" || typeof row.name !== "string")
|
|
78
|
+
return projected;
|
|
79
|
+
const warnings = await zod3ToolWarnings(toolSubject(row.name), row.paramsZod);
|
|
80
|
+
return warnings.length ? { ...projected, warnings } : projected;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* dry_run_tool's check of a schema Zod 4 does compile: whether Zod 4 treats
|
|
84
|
+
* the sample arguments as the current release does. Names no values.
|
|
85
|
+
*/
|
|
86
|
+
export function zod3SampleArgsWarning(subject, current, zod4) {
|
|
87
|
+
let how;
|
|
88
|
+
if (current.ok && zod4.ok) {
|
|
89
|
+
if (JSON.stringify(current.value) === JSON.stringify(zod4.value))
|
|
90
|
+
return undefined;
|
|
91
|
+
how = "parses the sample arguments to a different value with Zod 4";
|
|
92
|
+
}
|
|
93
|
+
else if (current.ok !== zod4.ok) {
|
|
94
|
+
how = current.ok ? "rejects the sample arguments with Zod 4" : "accepts the sample arguments with Zod 4";
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
return (`${subject} ${how}. Wardby still compiles it with Zod 3 in this release, but ${ZOD3_WINDOW_ENDS}: ` +
|
|
100
|
+
"check the schema against the Zod 4 API.");
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Logs one warning per stored tool whose paramsZod Zod 4 can't compile. Runs
|
|
104
|
+
* in the background at startup; never throws.
|
|
105
|
+
*/
|
|
106
|
+
export async function logZod3ToolWarnings(db, log) {
|
|
107
|
+
let warned = 0;
|
|
108
|
+
try {
|
|
109
|
+
const tools = await db.tool.findMany({ select: { id: true, name: true, paramsZod: true }, orderBy: { id: "asc" } });
|
|
110
|
+
for (const tool of tools) {
|
|
111
|
+
const compatibility = await cachedZod4Compatibility(tool.paramsZod);
|
|
112
|
+
const warning = zod3WindowWarning(toolSubject(tool.name), compatibility);
|
|
113
|
+
if (!warning)
|
|
114
|
+
continue;
|
|
115
|
+
const removed = compatibility.compatible === false ? compatibility.removed : [];
|
|
116
|
+
log.warn({ toolId: tool.id, toolName: tool.name, removed }, warning);
|
|
117
|
+
warned += 1;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
catch (err) {
|
|
121
|
+
log.warn({ errorName: err instanceof Error ? err.name : typeof err }, "zod3_window_check_failed");
|
|
122
|
+
}
|
|
123
|
+
return warned;
|
|
124
|
+
}
|
|
@@ -111,6 +111,12 @@ export type CodingAgentProfile = Prisma.CodingAgentProfileModel;
|
|
|
111
111
|
* one coding run. Policy is copied from the profile before work starts.
|
|
112
112
|
*/
|
|
113
113
|
export type CodingRun = Prisma.CodingRunModel;
|
|
114
|
+
/**
|
|
115
|
+
* Model RunTranscript
|
|
116
|
+
* A coding run's session transcript for local resume: metadata only. The redacted content lives in
|
|
117
|
+
* the blob store under blobKey; the unredacted transcript is never stored.
|
|
118
|
+
*/
|
|
119
|
+
export type RunTranscript = Prisma.RunTranscriptModel;
|
|
114
120
|
/**
|
|
115
121
|
* Model CodingService
|
|
116
122
|
* Coding-run services (docs/coding-services.md): the catalog a repository's
|
|
@@ -134,6 +140,42 @@ export type CodingService = Prisma.CodingServiceModel;
|
|
|
134
140
|
* never probe output.
|
|
135
141
|
*/
|
|
136
142
|
export type CodingRunServiceStatus = Prisma.CodingRunServiceStatusModel;
|
|
143
|
+
/**
|
|
144
|
+
* Model RunBudgetEvent
|
|
145
|
+
* One budget decision about a run: a refusal by the coding proxy or at
|
|
146
|
+
* dispatch, or an overrun top-up with no room, with the numbers behind it.
|
|
147
|
+
* `limit` names what refused it: run, run-tree, day, week or month. `details`
|
|
148
|
+
* holds amounts, the model and the turn; never secrets or message text.
|
|
149
|
+
*/
|
|
150
|
+
export type RunBudgetEvent = Prisma.RunBudgetEventModel;
|
|
151
|
+
/**
|
|
152
|
+
* Model NativeGatewaySession
|
|
153
|
+
* The trusted gateway's record of one sandbox-mode native run (native
|
|
154
|
+
* sandbox phase 3): the worker authenticates with a capability whose hash is
|
|
155
|
+
* stored here (the raw token is never persisted), and any control-plane
|
|
156
|
+
* replica can serve it from this row. `snapshot` is what the run loaded --
|
|
157
|
+
* the worker's input plus trusted-only capabilities and links -- and never
|
|
158
|
+
* holds a secret value.
|
|
159
|
+
*/
|
|
160
|
+
export type NativeGatewaySession = Prisma.NativeGatewaySessionModel;
|
|
161
|
+
/**
|
|
162
|
+
* Model NativeWarmWorker
|
|
163
|
+
* One worker of the native sandbox warm pool (native sandbox phase 6): an
|
|
164
|
+
* isolated worker started before any run exists, holding no run data or
|
|
165
|
+
* capability. A run claims an idle one with a compare-and-swap on this row
|
|
166
|
+
* (`runId` is set at the claim), its input is delivered only after, and the
|
|
167
|
+
* worker is destroyed after that one run. The row is inserted before the
|
|
168
|
+
* worker is created, so a worker with no row is an orphan.
|
|
169
|
+
*/
|
|
170
|
+
export type NativeWarmWorker = Prisma.NativeWarmWorkerModel;
|
|
171
|
+
/**
|
|
172
|
+
* Model NativeGatewayCall
|
|
173
|
+
* One worker call through the gateway, keyed by its callId: model calls are
|
|
174
|
+
* reserved before the provider is called and settled after; side-effecting
|
|
175
|
+
* built-in and bridge calls keep their result so a retried callId replays it;
|
|
176
|
+
* a delegation records the child run it started.
|
|
177
|
+
*/
|
|
178
|
+
export type NativeGatewayCall = Prisma.NativeGatewayCallModel;
|
|
137
179
|
/**
|
|
138
180
|
* Model CodingProxySession
|
|
139
181
|
* Trusted-boundary state for one coding run. Only a capability digest and an
|
|
@@ -142,10 +184,17 @@ export type CodingRunServiceStatus = Prisma.CodingRunServiceStatusModel;
|
|
|
142
184
|
export type CodingProxySession = Prisma.CodingProxySessionModel;
|
|
143
185
|
/**
|
|
144
186
|
* Model CodingProxyRequest
|
|
145
|
-
* Monotonic per-upstream-call ledger.
|
|
146
|
-
*
|
|
187
|
+
* Monotonic per-upstream-call ledger. An uncertain request without an
|
|
188
|
+
* estimate stays held in full; one the proxy estimated (costEstimated) counts
|
|
189
|
+
* at that estimate.
|
|
147
190
|
*/
|
|
148
191
|
export type CodingProxyRequest = Prisma.CodingProxyRequestModel;
|
|
192
|
+
/**
|
|
193
|
+
* Model RegistryAuditRecord
|
|
194
|
+
* One package version a run's registry served only because of package audit mode (or, in full mode,
|
|
195
|
+
* served despite blocking advisories). Insert-only for the proxy.
|
|
196
|
+
*/
|
|
197
|
+
export type RegistryAuditRecord = Prisma.RegistryAuditRecordModel;
|
|
149
198
|
/**
|
|
150
199
|
* Model RegistryAllowance
|
|
151
200
|
* One package a run's profile has approved from a given ecosystem, resolved
|
|
@@ -183,6 +232,15 @@ export type RegistryApprovedVersion = Prisma.RegistryApprovedVersionModel;
|
|
|
183
232
|
* from here with the same code and reason, without a graph walk.
|
|
184
233
|
*/
|
|
185
234
|
export type RegistryPlanRefusal = Prisma.RegistryPlanRefusalModel;
|
|
235
|
+
/**
|
|
236
|
+
* Model DependencySnapshot
|
|
237
|
+
* A cached node_modules snapshot for one npm project of a repository, keyed
|
|
238
|
+
* server-side by the coding proxy. The archive lives in the blob store under
|
|
239
|
+
* blobKey; only trusted wardby code writes it, before a run's agent starts.
|
|
240
|
+
* Outlives the run that created it (createdByRunId is cleared when that run is
|
|
241
|
+
* deleted); evicted least-recently-used.
|
|
242
|
+
*/
|
|
243
|
+
export type DependencySnapshot = Prisma.DependencySnapshotModel;
|
|
186
244
|
/**
|
|
187
245
|
* Model SchedulerLease
|
|
188
246
|
* Phase 2: single-row-per-scope lease so exactly one scheduler process
|
|
@@ -218,6 +276,12 @@ export type Task = Prisma.TaskModel;
|
|
|
218
276
|
* produces plaintext, and only at point-of-use inside the sandbox.
|
|
219
277
|
*/
|
|
220
278
|
export type Secret = Prisma.SecretModel;
|
|
279
|
+
/**
|
|
280
|
+
* Model SecretBrokerChange
|
|
281
|
+
* Audit trail of every change to a secret's broker config. No FK to Secret,
|
|
282
|
+
* so the history survives deleting the secret. Never holds a value.
|
|
283
|
+
*/
|
|
284
|
+
export type SecretBrokerChange = Prisma.SecretBrokerChangeModel;
|
|
221
285
|
/**
|
|
222
286
|
* Model AgentSecret
|
|
223
287
|
* Phase 4: attaches a secret to an agent, addressed at sandbox point-of-use
|
|
@@ -364,7 +428,8 @@ export type AgentIssueProject = Prisma.AgentIssueProjectModel;
|
|
|
364
428
|
export type IssueFingerprint = Prisma.IssueFingerprintModel;
|
|
365
429
|
/**
|
|
366
430
|
* Model IssuePullRequest
|
|
367
|
-
* A pull request wardby opened for
|
|
431
|
+
* A pull request wardby opened for an issue (a Jira issue, a GitHub issue): one shape for every issue
|
|
432
|
+
* provider. Provider-neutral on both sides.
|
|
368
433
|
* Deliberately no foreign keys to Agent or Run: audit-style rows that survive agent/run deletion.
|
|
369
434
|
*/
|
|
370
435
|
export type IssuePullRequest = Prisma.IssuePullRequestModel;
|
|
@@ -415,3 +480,27 @@ export type LocalPullRequest = Prisma.LocalPullRequestModel;
|
|
|
415
480
|
* A review (or a plain comment, verdict COMMENT) published on a LocalPullRequest.
|
|
416
481
|
*/
|
|
417
482
|
export type LocalReview = Prisma.LocalReviewModel;
|
|
483
|
+
/**
|
|
484
|
+
* Model NotificationChannel
|
|
485
|
+
* A Slack (chat) channel that receives workflow notifications for a Jira
|
|
486
|
+
* project or for one agent. Exactly one subject: (issueProvider, projectKey)
|
|
487
|
+
* or agentId (enforced in code and by a CHECK constraint). Admin-approved.
|
|
488
|
+
* See docs/slack-notifications.md.
|
|
489
|
+
*/
|
|
490
|
+
export type NotificationChannel = Prisma.NotificationChannelModel;
|
|
491
|
+
/**
|
|
492
|
+
* Model WorkflowEvent
|
|
493
|
+
* One workflow fact (a card picked up, a PR opened, ...). Written only when
|
|
494
|
+
* at least one channel matches. No FKs to Run/Agent: audit-style rows.
|
|
495
|
+
*/
|
|
496
|
+
export type WorkflowEvent = Prisma.WorkflowEventModel;
|
|
497
|
+
/**
|
|
498
|
+
* Model NotificationDelivery
|
|
499
|
+
* One event's delivery to one channel (the outbox row the dispatcher works).
|
|
500
|
+
*/
|
|
501
|
+
export type NotificationDelivery = Prisma.NotificationDeliveryModel;
|
|
502
|
+
/**
|
|
503
|
+
* Model NotificationThread
|
|
504
|
+
* The parent message of a work item's (or PR's) thread in one channel.
|
|
505
|
+
*/
|
|
506
|
+
export type NotificationThread = Prisma.NotificationThreadModel;
|
|
@@ -130,6 +130,12 @@ export type CodingAgentProfile = Prisma.CodingAgentProfileModel;
|
|
|
130
130
|
* one coding run. Policy is copied from the profile before work starts.
|
|
131
131
|
*/
|
|
132
132
|
export type CodingRun = Prisma.CodingRunModel;
|
|
133
|
+
/**
|
|
134
|
+
* Model RunTranscript
|
|
135
|
+
* A coding run's session transcript for local resume: metadata only. The redacted content lives in
|
|
136
|
+
* the blob store under blobKey; the unredacted transcript is never stored.
|
|
137
|
+
*/
|
|
138
|
+
export type RunTranscript = Prisma.RunTranscriptModel;
|
|
133
139
|
/**
|
|
134
140
|
* Model CodingService
|
|
135
141
|
* Coding-run services (docs/coding-services.md): the catalog a repository's
|
|
@@ -153,6 +159,42 @@ export type CodingService = Prisma.CodingServiceModel;
|
|
|
153
159
|
* never probe output.
|
|
154
160
|
*/
|
|
155
161
|
export type CodingRunServiceStatus = Prisma.CodingRunServiceStatusModel;
|
|
162
|
+
/**
|
|
163
|
+
* Model RunBudgetEvent
|
|
164
|
+
* One budget decision about a run: a refusal by the coding proxy or at
|
|
165
|
+
* dispatch, or an overrun top-up with no room, with the numbers behind it.
|
|
166
|
+
* `limit` names what refused it: run, run-tree, day, week or month. `details`
|
|
167
|
+
* holds amounts, the model and the turn; never secrets or message text.
|
|
168
|
+
*/
|
|
169
|
+
export type RunBudgetEvent = Prisma.RunBudgetEventModel;
|
|
170
|
+
/**
|
|
171
|
+
* Model NativeGatewaySession
|
|
172
|
+
* The trusted gateway's record of one sandbox-mode native run (native
|
|
173
|
+
* sandbox phase 3): the worker authenticates with a capability whose hash is
|
|
174
|
+
* stored here (the raw token is never persisted), and any control-plane
|
|
175
|
+
* replica can serve it from this row. `snapshot` is what the run loaded --
|
|
176
|
+
* the worker's input plus trusted-only capabilities and links -- and never
|
|
177
|
+
* holds a secret value.
|
|
178
|
+
*/
|
|
179
|
+
export type NativeGatewaySession = Prisma.NativeGatewaySessionModel;
|
|
180
|
+
/**
|
|
181
|
+
* Model NativeWarmWorker
|
|
182
|
+
* One worker of the native sandbox warm pool (native sandbox phase 6): an
|
|
183
|
+
* isolated worker started before any run exists, holding no run data or
|
|
184
|
+
* capability. A run claims an idle one with a compare-and-swap on this row
|
|
185
|
+
* (`runId` is set at the claim), its input is delivered only after, and the
|
|
186
|
+
* worker is destroyed after that one run. The row is inserted before the
|
|
187
|
+
* worker is created, so a worker with no row is an orphan.
|
|
188
|
+
*/
|
|
189
|
+
export type NativeWarmWorker = Prisma.NativeWarmWorkerModel;
|
|
190
|
+
/**
|
|
191
|
+
* Model NativeGatewayCall
|
|
192
|
+
* One worker call through the gateway, keyed by its callId: model calls are
|
|
193
|
+
* reserved before the provider is called and settled after; side-effecting
|
|
194
|
+
* built-in and bridge calls keep their result so a retried callId replays it;
|
|
195
|
+
* a delegation records the child run it started.
|
|
196
|
+
*/
|
|
197
|
+
export type NativeGatewayCall = Prisma.NativeGatewayCallModel;
|
|
156
198
|
/**
|
|
157
199
|
* Model CodingProxySession
|
|
158
200
|
* Trusted-boundary state for one coding run. Only a capability digest and an
|
|
@@ -161,10 +203,17 @@ export type CodingRunServiceStatus = Prisma.CodingRunServiceStatusModel;
|
|
|
161
203
|
export type CodingProxySession = Prisma.CodingProxySessionModel;
|
|
162
204
|
/**
|
|
163
205
|
* Model CodingProxyRequest
|
|
164
|
-
* Monotonic per-upstream-call ledger.
|
|
165
|
-
*
|
|
206
|
+
* Monotonic per-upstream-call ledger. An uncertain request without an
|
|
207
|
+
* estimate stays held in full; one the proxy estimated (costEstimated) counts
|
|
208
|
+
* at that estimate.
|
|
166
209
|
*/
|
|
167
210
|
export type CodingProxyRequest = Prisma.CodingProxyRequestModel;
|
|
211
|
+
/**
|
|
212
|
+
* Model RegistryAuditRecord
|
|
213
|
+
* One package version a run's registry served only because of package audit mode (or, in full mode,
|
|
214
|
+
* served despite blocking advisories). Insert-only for the proxy.
|
|
215
|
+
*/
|
|
216
|
+
export type RegistryAuditRecord = Prisma.RegistryAuditRecordModel;
|
|
168
217
|
/**
|
|
169
218
|
* Model RegistryAllowance
|
|
170
219
|
* One package a run's profile has approved from a given ecosystem, resolved
|
|
@@ -202,6 +251,15 @@ export type RegistryApprovedVersion = Prisma.RegistryApprovedVersionModel;
|
|
|
202
251
|
* from here with the same code and reason, without a graph walk.
|
|
203
252
|
*/
|
|
204
253
|
export type RegistryPlanRefusal = Prisma.RegistryPlanRefusalModel;
|
|
254
|
+
/**
|
|
255
|
+
* Model DependencySnapshot
|
|
256
|
+
* A cached node_modules snapshot for one npm project of a repository, keyed
|
|
257
|
+
* server-side by the coding proxy. The archive lives in the blob store under
|
|
258
|
+
* blobKey; only trusted wardby code writes it, before a run's agent starts.
|
|
259
|
+
* Outlives the run that created it (createdByRunId is cleared when that run is
|
|
260
|
+
* deleted); evicted least-recently-used.
|
|
261
|
+
*/
|
|
262
|
+
export type DependencySnapshot = Prisma.DependencySnapshotModel;
|
|
205
263
|
/**
|
|
206
264
|
* Model SchedulerLease
|
|
207
265
|
* Phase 2: single-row-per-scope lease so exactly one scheduler process
|
|
@@ -237,6 +295,12 @@ export type Task = Prisma.TaskModel;
|
|
|
237
295
|
* produces plaintext, and only at point-of-use inside the sandbox.
|
|
238
296
|
*/
|
|
239
297
|
export type Secret = Prisma.SecretModel;
|
|
298
|
+
/**
|
|
299
|
+
* Model SecretBrokerChange
|
|
300
|
+
* Audit trail of every change to a secret's broker config. No FK to Secret,
|
|
301
|
+
* so the history survives deleting the secret. Never holds a value.
|
|
302
|
+
*/
|
|
303
|
+
export type SecretBrokerChange = Prisma.SecretBrokerChangeModel;
|
|
240
304
|
/**
|
|
241
305
|
* Model AgentSecret
|
|
242
306
|
* Phase 4: attaches a secret to an agent, addressed at sandbox point-of-use
|
|
@@ -383,7 +447,8 @@ export type AgentIssueProject = Prisma.AgentIssueProjectModel;
|
|
|
383
447
|
export type IssueFingerprint = Prisma.IssueFingerprintModel;
|
|
384
448
|
/**
|
|
385
449
|
* Model IssuePullRequest
|
|
386
|
-
* A pull request wardby opened for
|
|
450
|
+
* A pull request wardby opened for an issue (a Jira issue, a GitHub issue): one shape for every issue
|
|
451
|
+
* provider. Provider-neutral on both sides.
|
|
387
452
|
* Deliberately no foreign keys to Agent or Run: audit-style rows that survive agent/run deletion.
|
|
388
453
|
*/
|
|
389
454
|
export type IssuePullRequest = Prisma.IssuePullRequestModel;
|
|
@@ -434,3 +499,27 @@ export type LocalPullRequest = Prisma.LocalPullRequestModel;
|
|
|
434
499
|
* A review (or a plain comment, verdict COMMENT) published on a LocalPullRequest.
|
|
435
500
|
*/
|
|
436
501
|
export type LocalReview = Prisma.LocalReviewModel;
|
|
502
|
+
/**
|
|
503
|
+
* Model NotificationChannel
|
|
504
|
+
* A Slack (chat) channel that receives workflow notifications for a Jira
|
|
505
|
+
* project or for one agent. Exactly one subject: (issueProvider, projectKey)
|
|
506
|
+
* or agentId (enforced in code and by a CHECK constraint). Admin-approved.
|
|
507
|
+
* See docs/slack-notifications.md.
|
|
508
|
+
*/
|
|
509
|
+
export type NotificationChannel = Prisma.NotificationChannelModel;
|
|
510
|
+
/**
|
|
511
|
+
* Model WorkflowEvent
|
|
512
|
+
* One workflow fact (a card picked up, a PR opened, ...). Written only when
|
|
513
|
+
* at least one channel matches. No FKs to Run/Agent: audit-style rows.
|
|
514
|
+
*/
|
|
515
|
+
export type WorkflowEvent = Prisma.WorkflowEventModel;
|
|
516
|
+
/**
|
|
517
|
+
* Model NotificationDelivery
|
|
518
|
+
* One event's delivery to one channel (the outbox row the dispatcher works).
|
|
519
|
+
*/
|
|
520
|
+
export type NotificationDelivery = Prisma.NotificationDeliveryModel;
|
|
521
|
+
/**
|
|
522
|
+
* Model NotificationThread
|
|
523
|
+
* The parent message of a work item's (or PR's) thread in one channel.
|
|
524
|
+
*/
|
|
525
|
+
export type NotificationThread = Prisma.NotificationThreadModel;
|