@wardby/cli 0.6.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +5 -5
- package/README.md +6 -1
- package/deploy/local/docker-compose.quickstart-coding.yml +19 -0
- package/dist/claude-coding-worker/driver.d.ts +33 -3
- package/dist/claude-coding-worker/driver.js +151 -21
- package/dist/claude-coding-worker/main.js +38 -6
- package/dist/claude-coding-worker/sdk.js +29 -2
- package/dist/claude-coding-worker/tool-socket.d.ts +27 -0
- package/dist/claude-coding-worker/tool-socket.js +111 -0
- package/dist/claude-coding-worker/transcript.d.ts +18 -0
- package/dist/claude-coding-worker/transcript.js +77 -0
- package/dist/claude-plugin/command.d.ts +61 -0
- package/dist/claude-plugin/command.js +376 -0
- package/dist/cli-help.d.ts +1 -1
- package/dist/cli-help.js +3 -1
- package/dist/cli.js +71 -13
- package/dist/coding/code-host.d.ts +16 -0
- package/dist/coding/code-host.js +60 -0
- package/dist/coding/continuation-wording.d.ts +35 -0
- package/dist/coding/continuation-wording.js +73 -0
- package/dist/coding/linked-issue-note.d.ts +23 -0
- package/dist/coding/linked-issue-note.js +47 -0
- package/dist/coding/mcp-token.d.ts +12 -0
- package/dist/coding/mcp-token.js +26 -0
- package/dist/coding/merge-wording.d.ts +28 -0
- package/dist/coding/merge-wording.js +78 -0
- package/dist/coding/pr-description-note.d.ts +9 -0
- package/dist/coding/pr-description-note.js +32 -0
- package/dist/coding/profile.d.ts +46 -126
- package/dist/coding/profile.js +45 -4
- package/dist/coding/protected-path-wording.d.ts +8 -0
- package/dist/coding/protected-path-wording.js +1 -1
- package/dist/coding/protocol.d.ts +264 -346
- package/dist/coding/protocol.js +237 -12
- package/dist/coding/redact.d.ts +3 -0
- package/dist/coding/redact.js +17 -0
- package/dist/coding/registry/allowlist.d.ts +12 -0
- package/dist/coding/registry/allowlist.js +14 -1
- package/dist/coding/registry/audit-mode.d.ts +153 -0
- package/dist/coding/registry/audit-mode.js +304 -0
- package/dist/coding/registry/lockfile-shared.d.ts +36 -0
- package/dist/coding/registry/lockfile-shared.js +128 -0
- package/dist/coding/registry/lockfiles.js +1 -1
- package/dist/coding/registry/npm-lockfile-formats.d.ts +11 -0
- package/dist/coding/registry/npm-lockfile-formats.js +41 -0
- package/dist/coding/registry/npm-lockfile.d.ts +8 -4
- package/dist/coding/registry/npm-lockfile.js +4 -6
- package/dist/coding/registry/npm.js +78 -8
- package/dist/coding/registry/pnpm-lockfile.d.ts +17 -0
- package/dist/coding/registry/pnpm-lockfile.js +189 -0
- package/dist/coding/registry/pypi-plan.d.ts +50 -0
- package/dist/coding/registry/pypi-plan.js +406 -0
- package/dist/coding/registry/pypi-requirements.d.ts +58 -0
- package/dist/coding/registry/pypi-requirements.js +155 -0
- package/dist/coding/registry/pypi.d.ts +3 -27
- package/dist/coding/registry/pypi.js +40 -154
- package/dist/coding/registry/refusal-hints.d.ts +20 -0
- package/dist/coding/registry/refusal-hints.js +61 -0
- package/dist/coding/registry/refusal-wording.d.ts +11 -0
- package/dist/coding/registry/refusal-wording.js +56 -0
- package/dist/coding/registry/report.d.ts +70 -8
- package/dist/coding/registry/report.js +112 -5
- package/dist/coding/registry/types.d.ts +58 -8
- package/dist/coding/registry/yarn-lockfile.d.ts +30 -0
- package/dist/coding/registry/yarn-lockfile.js +367 -0
- package/dist/coding/services/catalog.d.ts +37 -351
- package/dist/coding/transcript/claude-code.d.ts +13 -0
- package/dist/coding/transcript/claude-code.js +273 -0
- package/dist/coding/transcript/download-protocol.d.ts +30 -0
- package/dist/coding/transcript/download-protocol.js +18 -0
- package/dist/coding/transcript/format.d.ts +20 -0
- package/dist/coding/transcript/format.js +32 -0
- package/dist/coding/transcript/recorder.d.ts +52 -0
- package/dist/coding/transcript/recorder.js +225 -0
- package/dist/coding/transcript/resume/checkout.d.ts +31 -0
- package/dist/coding/transcript/resume/checkout.js +203 -0
- package/dist/coding/transcript/resume/command.d.ts +17 -0
- package/dist/coding/transcript/resume/command.js +176 -0
- package/dist/coding/transcript/resume/download.d.ts +20 -0
- package/dist/coding/transcript/resume/download.js +153 -0
- package/dist/coding/transcript/resume/launch.d.ts +38 -0
- package/dist/coding/transcript/resume/launch.js +128 -0
- package/dist/coding/transcript/resume/session-file.d.ts +13 -0
- package/dist/coding/transcript/resume/session-file.js +79 -0
- package/dist/coding/transcript/resume/stand-in.d.ts +11 -0
- package/dist/coding/transcript/resume/stand-in.js +49 -0
- package/dist/coding-worker/artifact.d.ts +8 -3
- package/dist/coding-worker/artifact.js +3 -1
- package/dist/coding-worker/debug-trace.d.ts +9 -6
- package/dist/coding-worker/debug-trace.js +16 -19
- package/dist/coding-worker/dependency-cache.d.mts +229 -0
- package/dist/coding-worker/dependency-cache.mjs +2123 -0
- package/dist/coding-worker/driver.d.ts +4 -3
- package/dist/coding-worker/driver.js +124 -39
- package/dist/coding-worker/errors.d.ts +1 -0
- package/dist/coding-worker/errors.js +32 -0
- package/dist/coding-worker/main.js +5 -1
- package/dist/coding-worker/mcp-config.d.ts +27 -0
- package/dist/coding-worker/mcp-config.js +32 -0
- package/dist/coding-worker/sdk.d.ts +36 -0
- package/dist/coding-worker/sdk.js +28 -1
- package/dist/coding-worker/task-note.d.ts +11 -0
- package/dist/coding-worker/task-note.js +13 -0
- package/dist/coding-worker/types.d.ts +15 -0
- package/dist/config/dependency-cache.d.ts +23 -0
- package/dist/config/dependency-cache.js +32 -0
- package/dist/config/mcp-call-limit.d.ts +8 -0
- package/dist/config/mcp-call-limit.js +18 -0
- package/dist/config/mcp-servers.d.ts +8 -0
- package/dist/config/mcp-servers.js +12 -0
- package/dist/config/providers.d.ts +12 -3
- package/dist/config/providers.js +55 -5
- package/dist/config/test-simulators.d.ts +92 -0
- package/dist/config/test-simulators.js +333 -0
- package/dist/config/tool-timeout.d.ts +1 -0
- package/dist/config/tool-timeout.js +18 -0
- package/dist/core/async-context.d.ts +2 -0
- package/dist/core/async-context.js +12 -0
- package/dist/core/budget-events.d.ts +108 -0
- package/dist/core/budget-events.js +346 -0
- package/dist/core/budget-groups.d.ts +50 -1
- package/dist/core/budget-groups.js +236 -27
- package/dist/core/budget-stopped-head.d.ts +46 -0
- package/dist/core/budget-stopped-head.js +81 -0
- package/dist/core/budget-topup.d.ts +51 -0
- package/dist/core/budget-topup.js +156 -0
- package/dist/core/budget-wording.d.ts +16 -2
- package/dist/core/budget-wording.js +40 -2
- package/dist/core/coding-mcp.d.ts +36 -0
- package/dist/core/coding-mcp.js +253 -0
- package/dist/core/coding-queue.d.ts +2 -1
- package/dist/core/coding-queue.js +7 -0
- package/dist/core/coding-repository.d.ts +46 -0
- package/dist/core/coding-repository.js +92 -0
- package/dist/core/cron.d.ts +19 -1
- package/dist/core/cron.js +17 -0
- package/dist/core/datastores.js +1 -1
- package/dist/core/deferred-coding.d.ts +14 -0
- package/dist/core/deferred-coding.js +62 -0
- package/dist/core/delegation-child.d.ts +25 -0
- package/dist/core/delegation-child.js +37 -0
- package/dist/core/delegation-slots.d.ts +27 -0
- package/dist/core/delegation-slots.js +44 -0
- package/dist/core/dispatch.d.ts +48 -2
- package/dist/core/dispatch.js +166 -66
- package/dist/core/engine-native.js +1 -1
- package/dist/core/error-code.d.ts +38 -0
- package/dist/core/error-code.js +169 -0
- package/dist/core/grants.d.ts +46 -8
- package/dist/core/grants.js +99 -8
- package/dist/core/host-events.d.ts +18 -2
- package/dist/core/host-events.js +291 -27
- package/dist/core/host-status.d.ts +85 -3
- package/dist/core/host-status.js +300 -22
- package/dist/core/issue-bridge.d.ts +50 -6
- package/dist/core/issue-bridge.js +124 -33
- package/dist/core/issue-events.d.ts +1 -1
- package/dist/core/issue-events.js +4 -10
- package/dist/core/issue-status.d.ts +1 -1
- package/dist/core/issue-status.js +58 -29
- package/dist/core/logger.d.ts +5 -0
- package/dist/core/logger.js +14 -1
- package/dist/core/lost-run-children.d.ts +6 -0
- package/dist/core/lost-run-children.js +32 -0
- package/dist/core/mark-ready.d.ts +34 -0
- package/dist/core/mark-ready.js +152 -0
- package/dist/core/markdown-code.d.ts +8 -0
- package/dist/core/markdown-code.js +107 -0
- package/dist/core/mcp-client/client.d.ts +47 -0
- package/dist/core/mcp-client/client.js +141 -0
- package/dist/core/mcp-client/jsonrpc.d.ts +15 -0
- package/dist/core/mcp-client/jsonrpc.js +54 -0
- package/dist/core/mcp-client/results.d.ts +13 -0
- package/dist/core/mcp-client/results.js +42 -0
- package/dist/core/mcp-servers.d.ts +90 -0
- package/dist/core/mcp-servers.js +230 -0
- package/dist/core/mcp-tools.d.ts +108 -0
- package/dist/core/mcp-tools.js +287 -0
- package/dist/core/memory-tools.js +7 -0
- package/dist/core/merge-order-check.d.ts +2 -1
- package/dist/core/merge-order-check.js +44 -18
- package/dist/core/notification-dispatcher.js +2 -1
- package/dist/core/notification-templates.d.ts +1 -7
- package/dist/core/notification-templates.js +36 -2
- package/dist/core/pull-request-state-sync.js +2 -2
- package/dist/core/reconciler.d.ts +4 -3
- package/dist/core/reconciler.js +8 -1
- package/dist/core/related-pull-requests.d.ts +11 -3
- package/dist/core/related-pull-requests.js +49 -20
- package/dist/core/reply-parts.d.ts +21 -0
- package/dist/core/reply-parts.js +73 -0
- package/dist/core/review-fix.d.ts +1 -1
- package/dist/core/review-fix.js +4 -3
- package/dist/core/review-host-checks.d.ts +1 -1
- package/dist/core/review-host-tools.d.ts +3 -0
- package/dist/core/review-host-tools.js +102 -14
- package/dist/core/review-reads.d.ts +55 -0
- package/dist/core/review-reads.js +233 -0
- package/dist/core/run-status.d.ts +12 -0
- package/dist/core/run-status.js +12 -0
- package/dist/core/runner.d.ts +145 -49
- package/dist/core/runner.js +719 -216
- package/dist/core/schedule-start.d.ts +12 -0
- package/dist/core/schedule-start.js +14 -0
- package/dist/core/secret-broker-config.d.ts +12 -74
- package/dist/core/secret-broker-config.js +1 -1
- package/dist/core/secret-guard.d.ts +49 -0
- package/dist/core/secret-guard.js +119 -0
- package/dist/core/secret-guarded-stores.d.ts +12 -0
- package/dist/core/secret-guarded-stores.js +41 -0
- package/dist/core/secret-spans.d.ts +50 -0
- package/dist/core/secret-spans.js +94 -0
- package/dist/core/secrets.d.ts +11 -1
- package/dist/core/secrets.js +27 -1
- package/dist/core/serializable-retry.d.ts +18 -0
- package/dist/core/serializable-retry.js +43 -0
- package/dist/core/stop-run.d.ts +46 -0
- package/dist/core/stop-run.js +61 -0
- package/dist/core/tool-admin.d.ts +5 -1
- package/dist/core/tool-admin.js +7 -2
- package/dist/core/tool-names.d.ts +13 -0
- package/dist/core/tool-names.js +20 -0
- package/dist/core/webhooks.d.ts +4 -0
- package/dist/core/webhooks.js +68 -49
- package/dist/core/workflow-events.d.ts +14 -2
- package/dist/core/workflow-events.js +4 -0
- package/dist/core/workflow-run-events.d.ts +5 -3
- package/dist/core/workflow-run-events.js +45 -9
- package/dist/core/zod-json-schema.d.ts +4 -0
- package/dist/core/zod-json-schema.js +39 -0
- package/dist/core/zod3-window.d.ts +35 -0
- package/dist/core/zod3-window.js +124 -0
- package/dist/generated/prisma/browser.d.ts +65 -3
- package/dist/generated/prisma/client.d.ts +65 -3
- package/dist/generated/prisma/commonInputTypes.d.ts +266 -106
- package/dist/generated/prisma/enums.d.ts +10 -0
- package/dist/generated/prisma/enums.js +8 -0
- package/dist/generated/prisma/internal/class.d.ts +110 -0
- package/dist/generated/prisma/internal/class.js +4 -4
- package/dist/generated/prisma/internal/prismaNamespace.d.ts +957 -9
- package/dist/generated/prisma/internal/prismaNamespace.js +166 -2
- package/dist/generated/prisma/internal/prismaNamespaceBrowser.d.ts +174 -0
- package/dist/generated/prisma/internal/prismaNamespaceBrowser.js +166 -2
- package/dist/generated/prisma/models/Agent.d.ts +377 -8
- package/dist/generated/prisma/models/AgentMcpServer.d.ts +1412 -0
- package/dist/generated/prisma/models/AgentMcpServer.js +1 -0
- package/dist/generated/prisma/models/AgentRepository.d.ts +81 -1
- package/dist/generated/prisma/models/AuthUser.d.ts +1 -1
- package/dist/generated/prisma/models/CodingAgentProfile.d.ts +228 -7
- package/dist/generated/prisma/models/CodingProxyRequest.d.ts +207 -3
- package/dist/generated/prisma/models/CodingProxySession.d.ts +232 -2
- package/dist/generated/prisma/models/CodingRun.d.ts +1712 -1
- package/dist/generated/prisma/models/DependencySnapshot.d.ts +1668 -0
- package/dist/generated/prisma/models/DependencySnapshot.js +1 -0
- package/dist/generated/prisma/models/HostProvider.d.ts +2176 -0
- package/dist/generated/prisma/models/HostProvider.js +1 -0
- package/dist/generated/prisma/models/HostProviderCredential.d.ts +1285 -0
- package/dist/generated/prisma/models/HostProviderCredential.js +1 -0
- package/dist/generated/prisma/models/HostProviderOperation.d.ts +1470 -0
- package/dist/generated/prisma/models/HostProviderOperation.js +1 -0
- package/dist/generated/prisma/models/HostProviderTrustedAccount.d.ts +1145 -0
- package/dist/generated/prisma/models/HostProviderTrustedAccount.js +1 -0
- package/dist/generated/prisma/models/IssuePullRequest.d.ts +6 -2
- package/dist/generated/prisma/models/LocalReview.d.ts +40 -1
- package/dist/generated/prisma/models/McpServer.d.ts +1500 -0
- package/dist/generated/prisma/models/McpServer.js +1 -0
- package/dist/generated/prisma/models/NativeGatewayCall.d.ts +77 -1
- package/dist/generated/prisma/models/NativeGatewaySession.d.ts +35 -1
- package/dist/generated/prisma/models/Principal.d.ts +167 -0
- package/dist/generated/prisma/models/RegistryAllowance.d.ts +41 -1
- package/dist/generated/prisma/models/RegistryApprovedVersion.d.ts +75 -1
- package/dist/generated/prisma/models/RegistryAuditRecord.d.ts +1364 -0
- package/dist/generated/prisma/models/RegistryAuditRecord.js +1 -0
- package/dist/generated/prisma/models/ResourceGrant.d.ts +1 -1
- package/dist/generated/prisma/models/Run.d.ts +738 -2
- package/dist/generated/prisma/models/RunBudgetEvent.d.ts +1211 -0
- package/dist/generated/prisma/models/RunBudgetEvent.js +1 -0
- package/dist/generated/prisma/models/RunTranscript.d.ts +1339 -0
- package/dist/generated/prisma/models/RunTranscript.js +1 -0
- package/dist/generated/prisma/models/Secret.d.ts +387 -0
- package/dist/generated/prisma/models/Tool.d.ts +223 -1
- package/dist/generated/prisma/models.d.ts +10 -0
- package/dist/help/search.js +12 -3
- package/dist/help-index.json +2033 -110
- package/dist/import/create.js +48 -4
- package/dist/import/neutral-schema.d.ts +51 -281
- package/dist/import/neutral-schema.js +7 -4
- package/dist/knowledge/check.d.ts +1 -1
- package/dist/knowledge/cli.d.ts +11 -1
- package/dist/knowledge/cli.js +37 -4
- package/dist/knowledge/concept.d.ts +3 -19
- package/dist/knowledge/location.d.ts +31 -0
- package/dist/knowledge/location.js +78 -0
- package/dist/mcp/auth/access.d.ts +10 -2
- package/dist/mcp/auth/access.js +15 -1
- package/dist/mcp/auth/grants-cli.d.ts +6 -4
- package/dist/mcp/auth/grants-cli.js +42 -3
- package/dist/mcp/auth/ownership.d.ts +7 -7
- package/dist/mcp/auth/resource-server.d.ts +3 -1
- package/dist/mcp/auth/resource-server.js +17 -2
- package/dist/mcp/auth/self-hosted/credentials.d.ts +3 -3
- package/dist/mcp/auth/self-hosted/session.d.ts +2 -2
- package/dist/mcp/context.d.ts +3 -0
- package/dist/mcp/host-events/github-ingress.d.ts +2 -0
- package/dist/mcp/host-events/github-ingress.js +2 -1
- package/dist/mcp/index.d.ts +6 -0
- package/dist/mcp/index.js +69 -10
- package/dist/mcp/server.d.ts +13 -0
- package/dist/mcp/server.js +33 -14
- package/dist/mcp/tools/agents.d.ts +4 -0
- package/dist/mcp/tools/agents.js +295 -28
- package/dist/mcp/tools/datastore.js +17 -8
- package/dist/mcp/tools/grants.js +73 -29
- package/dist/mcp/tools/host-providers.d.ts +2 -0
- package/dist/mcp/tools/host-providers.js +215 -0
- package/dist/mcp/tools/mcp-servers.d.ts +26 -0
- package/dist/mcp/tools/mcp-servers.js +481 -0
- package/dist/mcp/tools/memory.js +11 -1
- package/dist/mcp/tools/notification-channels.js +2 -2
- package/dist/mcp/tools/packages.d.ts +2 -0
- package/dist/mcp/tools/packages.js +195 -0
- package/dist/mcp/tools/repositories.js +65 -12
- package/dist/mcp/tools/run-access.d.ts +16 -0
- package/dist/mcp/tools/run-access.js +25 -0
- package/dist/mcp/tools/run-transcript-download.d.ts +30 -0
- package/dist/mcp/tools/run-transcript-download.js +129 -0
- package/dist/mcp/tools/run-transcript.d.ts +19 -0
- package/dist/mcp/tools/run-transcript.js +70 -0
- package/dist/mcp/tools/runs.js +209 -27
- package/dist/mcp/tools/scheduling.js +3 -1
- package/dist/mcp/tools/secret-elicitation-form.js +5 -0
- package/dist/mcp/tools/secret-elicitation-server.d.ts +6 -0
- package/dist/mcp/tools/secret-elicitation-server.js +10 -61
- package/dist/mcp/tools/secret-elicitation.d.ts +2 -0
- package/dist/mcp/tools/secret-elicitation.js +25 -2
- package/dist/mcp/tools/secrets.js +40 -6
- package/dist/mcp/tools/stop-run.d.ts +2 -0
- package/dist/mcp/tools/stop-run.js +82 -0
- package/dist/mcp/tools/subagents.js +2 -2
- package/dist/mcp/tools/tools.d.ts +7 -5
- package/dist/mcp/tools/tools.js +64 -16
- package/dist/mcp/tools/trigger.js +28 -6
- package/dist/mcp/transport/http-limits.d.ts +2 -0
- package/dist/mcp/transport/http-limits.js +6 -2
- package/dist/mcp/transport/stdio-link-host.d.ts +20 -0
- package/dist/mcp/transport/stdio-link-host.js +67 -0
- package/dist/mcp/transport/streamable-http.d.ts +13 -0
- package/dist/mcp/transport/streamable-http.js +41 -1
- package/dist/mcp/webhooks/ingress.js +10 -0
- package/dist/native-worker/docker-launcher.d.ts +38 -2
- package/dist/native-worker/docker-launcher.js +65 -5
- package/dist/native-worker/gateway-server.d.ts +55 -3
- package/dist/native-worker/gateway-server.js +152 -34
- package/dist/native-worker/gateway.d.ts +29 -1
- package/dist/native-worker/gateway.js +74 -4
- package/dist/native-worker/http-server.d.ts +7 -1
- package/dist/native-worker/http-server.js +62 -7
- package/dist/native-worker/http-transport.js +1 -1
- package/dist/native-worker/kubernetes-launcher.d.ts +7 -3
- package/dist/native-worker/kubernetes-launcher.js +43 -3
- package/dist/native-worker/launch.d.ts +18 -1
- package/dist/native-worker/launch.js +6 -1
- package/dist/native-worker/ledger.d.ts +24 -4
- package/dist/native-worker/ledger.js +62 -8
- package/dist/native-worker/loopback.js +3 -8
- package/dist/native-worker/main.d.ts +2 -1
- package/dist/native-worker/main.js +14 -3
- package/dist/native-worker/protocol.d.ts +130 -577
- package/dist/native-worker/protocol.js +51 -2
- package/dist/native-worker/sandbox-executor.d.ts +17 -2
- package/dist/native-worker/sandbox-executor.js +78 -4
- package/dist/native-worker/stderr-redaction.d.ts +77 -0
- package/dist/native-worker/stderr-redaction.js +237 -0
- package/dist/native-worker/stdio.d.ts +1 -1
- package/dist/native-worker/stdio.js +6 -5
- package/dist/native-worker/warm-pool.d.ts +2 -2
- package/dist/native-worker/warm-pool.js +4 -4
- package/dist/native-worker/worker.js +28 -2
- package/dist/observability/metrics.js +6 -1
- package/dist/providers/auth/self-hosted.d.ts +1 -1
- package/dist/providers/coding-proxy/capability-hash.d.ts +2 -0
- package/dist/providers/coding-proxy/capability-hash.js +5 -0
- package/dist/providers/coding-proxy/dependency-cache/eviction.d.ts +29 -0
- package/dist/providers/coding-proxy/dependency-cache/eviction.js +87 -0
- package/dist/providers/coding-proxy/dependency-cache/key.d.ts +33 -0
- package/dist/providers/coding-proxy/dependency-cache/key.js +86 -0
- package/dist/providers/coding-proxy/dependency-cache/model-request-seal.d.ts +18 -0
- package/dist/providers/coding-proxy/dependency-cache/model-request-seal.js +40 -0
- package/dist/providers/coding-proxy/dependency-cache/prisma-store.d.ts +25 -0
- package/dist/providers/coding-proxy/dependency-cache/prisma-store.js +131 -0
- package/dist/providers/coding-proxy/dependency-cache/service.d.ts +70 -0
- package/dist/providers/coding-proxy/dependency-cache/service.js +409 -0
- package/dist/providers/coding-proxy/dependency-cache/store.d.ts +85 -0
- package/dist/providers/coding-proxy/dependency-cache/store.js +95 -0
- package/dist/providers/coding-proxy/hold.d.ts +32 -0
- package/dist/providers/coding-proxy/hold.js +86 -0
- package/dist/providers/coding-proxy/interrupted.d.ts +70 -0
- package/dist/providers/coding-proxy/interrupted.js +104 -0
- package/dist/providers/coding-proxy/mcp-route.d.ts +34 -0
- package/dist/providers/coding-proxy/mcp-route.js +166 -0
- package/dist/providers/coding-proxy/memory-ledger.d.ts +17 -2
- package/dist/providers/coding-proxy/memory-ledger.js +99 -8
- package/dist/providers/coding-proxy/metering.d.ts +16 -0
- package/dist/providers/coding-proxy/metering.js +27 -4
- package/dist/providers/coding-proxy/prisma-ledger.d.ts +16 -2
- package/dist/providers/coding-proxy/prisma-ledger.js +209 -69
- package/dist/providers/coding-proxy/proxy.d.ts +21 -2
- package/dist/providers/coding-proxy/proxy.js +300 -48
- package/dist/providers/coding-proxy/registry/audit.d.ts +53 -10
- package/dist/providers/coding-proxy/registry/audit.js +94 -17
- package/dist/providers/coding-proxy/registry/lockfile-parse-worker.d.ts +36 -0
- package/dist/providers/coding-proxy/registry/lockfile-parse-worker.js +67 -0
- package/dist/providers/coding-proxy/registry/lockfile-parse.d.ts +16 -0
- package/dist/providers/coding-proxy/registry/lockfile-parse.js +110 -0
- package/dist/providers/coding-proxy/registry/plan.d.ts +9 -0
- package/dist/providers/coding-proxy/registry/plan.js +201 -48
- package/dist/providers/coding-proxy/registry/prisma-store.d.ts +11 -5
- package/dist/providers/coding-proxy/registry/prisma-store.js +120 -17
- package/dist/providers/coding-proxy/registry/service.d.ts +97 -16
- package/dist/providers/coding-proxy/registry/service.js +579 -112
- package/dist/providers/coding-proxy/registry/store.d.ts +84 -9
- package/dist/providers/coding-proxy/registry/store.js +54 -1
- package/dist/providers/coding-proxy/runtime.d.ts +10 -0
- package/dist/providers/coding-proxy/runtime.js +109 -16
- package/dist/providers/coding-proxy/server.d.ts +9 -1
- package/dist/providers/coding-proxy/server.js +55 -1
- package/dist/providers/coding-proxy/types.d.ts +78 -1
- package/dist/providers/datastore/types.d.ts +5 -0
- package/dist/providers/engine/types.d.ts +17 -2
- package/dist/providers/engine/types.js +17 -0
- package/dist/providers/executor/composition.d.ts +10 -3
- package/dist/providers/executor/composition.js +52 -7
- package/dist/providers/executor/container.d.ts +394 -9
- package/dist/providers/executor/container.js +1210 -96
- package/dist/providers/executor/dbos-status.d.ts +31 -0
- package/dist/providers/executor/dbos-status.js +64 -0
- package/dist/providers/executor/dbos.d.ts +50 -1
- package/dist/providers/executor/dbos.js +207 -20
- package/dist/providers/executor/deferred.d.ts +12 -24
- package/dist/providers/executor/deferred.js +10 -29
- package/dist/providers/executor/in-process.d.ts +9 -1
- package/dist/providers/executor/in-process.js +14 -4
- package/dist/providers/executor/linked-issue-reader.d.ts +16 -0
- package/dist/providers/executor/linked-issue-reader.js +30 -0
- package/dist/providers/executor/routing.d.ts +2 -0
- package/dist/providers/executor/routing.js +4 -0
- package/dist/providers/executor/types.d.ts +13 -0
- package/dist/providers/host-tools/invoke.d.ts +37 -0
- package/dist/providers/host-tools/invoke.js +117 -0
- package/dist/providers/host-tools/operations.d.ts +65 -0
- package/dist/providers/host-tools/operations.js +149 -0
- package/dist/providers/host-tools/registry.d.ts +79 -0
- package/dist/providers/host-tools/registry.js +362 -0
- package/dist/providers/host-tools/request-guard.d.ts +17 -0
- package/dist/providers/host-tools/request-guard.js +99 -0
- package/dist/providers/host-tools/self-test.d.ts +64 -0
- package/dist/providers/host-tools/self-test.js +142 -0
- package/dist/providers/index.d.ts +2 -1
- package/dist/providers/issue-tracker/types.d.ts +17 -0
- package/dist/providers/issue-tracker/types.js +39 -1
- package/dist/providers/jobs/claude-tool-setup.d.ts +4 -0
- package/dist/providers/jobs/claude-tool-setup.js +5 -2
- package/dist/providers/jobs/docker-isolation.d.ts +10 -2
- package/dist/providers/jobs/docker-isolation.js +47 -8
- package/dist/providers/jobs/docker.d.ts +9 -0
- package/dist/providers/jobs/docker.js +60 -11
- package/dist/providers/jobs/fake-kubernetes-api.d.ts +2 -0
- package/dist/providers/jobs/fake-kubernetes-api.js +3 -0
- package/dist/providers/jobs/kubernetes-api.d.ts +8 -0
- package/dist/providers/jobs/kubernetes-api.js +10 -0
- package/dist/providers/jobs/kubernetes-client.js +10 -1
- package/dist/providers/jobs/kubernetes-isolation.d.ts +5 -1
- package/dist/providers/jobs/kubernetes-isolation.js +32 -3
- package/dist/providers/jobs/kubernetes.d.ts +11 -1
- package/dist/providers/jobs/kubernetes.js +111 -17
- package/dist/providers/jobs/types.d.ts +39 -0
- package/dist/providers/jobs/types.js +13 -1
- package/dist/providers/llm/anthropic.js +5 -1
- package/dist/providers/llm/bedrock.d.ts +0 -12
- package/dist/providers/llm/bedrock.js +4 -0
- package/dist/providers/llm/claude-messages.d.ts +3 -1
- package/dist/providers/llm/claude-messages.js +4 -1
- package/dist/providers/llm/claude-provider.d.ts +2 -2
- package/dist/providers/llm/claude-provider.js +2 -2
- package/dist/providers/llm/openai.d.ts +2 -2
- package/dist/providers/llm/openai.js +6 -2
- package/dist/providers/llm/routing.d.ts +2 -2
- package/dist/providers/llm/routing.js +2 -2
- package/dist/providers/llm/types.d.ts +12 -2
- package/dist/providers/review-host/github-events.d.ts +9 -1
- package/dist/providers/review-host/github-events.js +34 -12
- package/dist/providers/review-host/github.d.ts +29 -2
- package/dist/providers/review-host/github.js +224 -29
- package/dist/providers/review-host/local.d.ts +8 -4
- package/dist/providers/review-host/local.js +49 -31
- package/dist/providers/review-host/patch-pages.d.ts +41 -0
- package/dist/providers/review-host/patch-pages.js +176 -0
- package/dist/providers/review-host/review-format.d.ts +19 -1
- package/dist/providers/review-host/review-format.js +38 -7
- package/dist/providers/review-host/types.d.ts +140 -6
- package/dist/providers/review-host/types.js +9 -1
- package/dist/providers/storage/gcs.d.ts +63 -0
- package/dist/providers/storage/gcs.js +69 -0
- package/dist/providers/storage/index.d.ts +15 -0
- package/dist/providers/storage/index.js +14 -0
- package/dist/providers/storage/local.d.ts +24 -0
- package/dist/providers/storage/local.js +92 -0
- package/dist/providers/storage/meter.d.ts +14 -0
- package/dist/providers/storage/meter.js +34 -0
- package/dist/providers/storage/s3.d.ts +41 -0
- package/dist/providers/storage/s3.js +107 -0
- package/dist/providers/storage/types.d.ts +37 -3
- package/dist/providers/storage/types.js +21 -4
- package/dist/providers/vcs/git.d.ts +39 -4
- package/dist/providers/vcs/git.js +339 -26
- package/dist/providers/vcs/github-remote.d.ts +26 -3
- package/dist/providers/vcs/github-remote.js +124 -14
- package/dist/providers/vcs/github.d.ts +183 -44
- package/dist/providers/vcs/github.js +455 -56
- package/dist/providers/vcs/index.d.ts +1 -1
- package/dist/providers/vcs/index.js +9 -2
- package/dist/providers/vcs/pr-description.d.ts +127 -0
- package/dist/providers/vcs/pr-description.js +270 -0
- package/dist/providers/vcs/remote.d.ts +37 -1
- package/dist/providers/vcs/remote.js +7 -1
- package/dist/providers/vcs/routing.d.ts +16 -8
- package/dist/providers/vcs/routing.js +27 -6
- package/dist/providers/vcs/types.d.ts +150 -5
- package/dist/quickstart/coding-seed.d.ts +14 -3
- package/dist/quickstart/coding-seed.js +213 -4
- package/dist/quickstart/index.d.ts +5 -0
- package/dist/quickstart/index.js +21 -0
- package/dist/quickstart/reviewer-prompt.d.ts +1 -1
- package/dist/quickstart/reviewer-prompt.js +6 -6
- package/dist/quickstart-images.json +1 -1
- package/dist/sandbox/eval-core.d.ts +12 -2
- package/dist/sandbox/eval-core.js +20 -4
- package/dist/sandbox/generated/zod.bundle.js +62 -1
- package/dist/sandbox/generated/zod3.bundle.js +5 -0
- package/dist/sandbox/host-functions.d.ts +5 -0
- package/dist/sandbox/host-functions.js +13 -13
- package/dist/sandbox/limits.d.ts +4 -1
- package/dist/sandbox/limits.js +4 -1
- package/dist/sandbox/run-in-sandbox.d.ts +6 -0
- package/dist/sandbox/run-in-sandbox.js +14 -2
- package/dist/sandbox/safe-fetch.d.ts +2 -0
- package/dist/sandbox/safe-fetch.js +1 -1
- package/dist/sandbox/secret-broker.d.ts +1 -0
- package/dist/sandbox/secret-broker.js +4 -5
- package/dist/sandbox/tool-capabilities.d.ts +10 -30
- package/dist/sandbox/tool-timeout.d.ts +32 -0
- package/dist/sandbox/tool-timeout.js +52 -0
- package/dist/sandbox/user-tool.d.ts +8 -1
- package/dist/sandbox/user-tool.js +9 -3
- package/dist/sandbox/zod-params.d.ts +37 -5
- package/dist/sandbox/zod-params.js +181 -26
- package/dist/serve.js +8 -1
- package/dist/viewer/api-schema.d.ts +349 -2627
- package/dist/viewer/api-schema.js +7 -0
- package/dist/viewer/build-schemas.js +6 -2
- package/dist/viewer/graph.js +2 -1
- package/dist/viewer/openapi.js +2 -4
- package/dist/wardby-bin.js +15 -0
- package/docs/README.md +11 -1
- package/docs/agent-recipes.md +95 -24
- package/docs/architecture-runtime.md +1 -1
- package/docs/claude-code-plugin.md +164 -0
- package/docs/code-review-agents.md +557 -41
- package/docs/coding-agent-setup.md +566 -8
- package/docs/coding-packages.md +1033 -90
- package/docs/coding-services.md +27 -12
- package/docs/coding-worker-byo-images.md +24 -2
- package/docs/coding-worker-isolation.md +183 -37
- package/docs/debugging-agent-runs.md +242 -0
- package/docs/getting-started-gke.md +129 -141
- package/docs/getting-started-identity-provider.md +53 -38
- package/docs/getting-started.md +17 -0
- package/docs/host-providers.md +294 -0
- package/docs/jira-agents.md +17 -8
- package/docs/knowledge/blob-not-found-semantics.md +41 -0
- package/docs/knowledge/bounded-file-descriptor.md +52 -0
- package/docs/knowledge/delegation-admission-slots.md +52 -0
- package/docs/knowledge/http-dispatcher-bootstrap.md +61 -0
- package/docs/knowledge/import-rename-target.md +52 -0
- package/docs/knowledge/index.md +57 -0
- package/docs/knowledge/log.md +9 -0
- package/docs/knowledge/mcp-cancelled-task-precedence.md +41 -0
- package/docs/knowledge/mcp-http-prompt-discovery.md +41 -0
- package/docs/knowledge/mcp-schema-module-boundary.md +41 -0
- package/docs/knowledge/nullable-tool-uniqueness.md +52 -0
- package/docs/knowledge/overview-cli.md +74 -0
- package/docs/knowledge/overview-coding-proxy.md +72 -0
- package/docs/knowledge/overview-coding.md +72 -0
- package/docs/knowledge/overview-config.md +60 -0
- package/docs/knowledge/overview-core.md +72 -0
- package/docs/knowledge/overview-deploy.md +83 -0
- package/docs/knowledge/overview-mcp.md +61 -0
- package/docs/knowledge/overview-prisma.md +72 -0
- package/docs/knowledge/overview-providers.md +89 -0
- package/docs/knowledge/overview-sandbox.md +83 -0
- package/docs/knowledge/overview-surfaces.md +83 -0
- package/docs/knowledge/private-datastore-shared-boundary.md +54 -0
- package/docs/knowledge/proxy-settlement-projections.md +41 -0
- package/docs/knowledge/run-pricing-first-writer.md +43 -0
- package/docs/knowledge/schedule-claim-transaction.md +41 -0
- package/docs/knowledge/secret-entry-replica-contract.md +52 -0
- package/docs/knowledge/terminal-run-first-writer.md +41 -0
- package/docs/knowledge/transactional-agent-authorization.md +52 -0
- package/docs/knowledge/viewer-notify-write-isolation.md +30 -0
- package/docs/knowledge/warm-input-publication.md +30 -0
- package/docs/knowledge/workspace-staging-failure.md +54 -0
- package/docs/knowledge.md +54 -14
- package/docs/mcp-servers.md +254 -0
- package/docs/native-sandbox.md +143 -31
- package/docs/observability.md +4 -0
- package/docs/security-deployment.md +139 -29
- package/docs/slack-notifications.md +35 -19
- package/docs/tool-secrets.md +45 -10
- package/docs/viewer-api.md +6 -0
- package/docs/viewer-api.openapi.yml +1 -1
- package/help/admin-viewer.md +28 -2
- package/help/agent-recipes.md +33 -2
- package/help/architecture-agent.md +11 -6
- package/help/brokered-secrets.md +3 -0
- package/help/build-claude-code-image.md +1 -1
- package/help/build-worker-image.md +3 -1
- package/help/builder-agent.md +19 -6
- package/help/claude-code-run-pane.md +40 -0
- package/help/code-review-agents.md +177 -6
- package/help/coding-packages.md +156 -6
- package/help/cost-attribution.md +9 -5
- package/help/creating-agents.md +14 -1
- package/help/dependency-cache.md +143 -0
- package/help/deploy-gke.md +15 -8
- package/help/errors/budget-exhausted.md +187 -0
- package/help/errors/budget-group-exhausted.md +5 -1
- package/help/errors/coding-mcp-pins-unavailable.md +35 -0
- package/help/errors/coding-stream-quota-exceeded.md +33 -0
- package/help/errors/coding-workspace-disk-exceeds-limit.md +39 -0
- package/help/errors/continuation-closed.md +9 -12
- package/help/errors/database-auth-invalid.md +1 -1
- package/help/errors/delegation-conflict.md +24 -0
- package/help/errors/file-list-truncated.md +45 -0
- package/help/errors/full-read-required.md +49 -0
- package/help/errors/github-account-not-allowed.md +4 -0
- package/help/errors/graph-incomplete.md +43 -0
- package/help/errors/graph-limit.md +43 -0
- package/help/errors/host-provider-error.md +40 -0
- package/help/errors/host-tool-failed.md +36 -0
- package/help/errors/mcp-call-limit.md +22 -0
- package/help/errors/mcp-call-timeout.md +22 -0
- package/help/errors/mcp-server-auth-failed.md +22 -0
- package/help/errors/mcp-server-credentials-unavailable.md +45 -0
- package/help/errors/mcp-server-error.md +28 -0
- package/help/errors/mcp-server-unreachable.md +22 -0
- package/help/errors/mcp-servers-off.md +21 -0
- package/help/errors/mcp-tool-not-allowed.md +26 -0
- package/help/errors/mcp-tool-removed.md +22 -0
- package/help/errors/mcp-unavailable.md +25 -0
- package/help/errors/merge-conflict.md +49 -0
- package/help/errors/native-sandbox-capacity.md +1 -1
- package/help/errors/native-sandbox-deadline-exceeded.md +1 -1
- package/help/errors/native-sandbox-docker-failed.md +1 -1
- package/help/errors/native-sandbox-gateway-error.md +20 -0
- package/help/errors/native-sandbox-gateway-unavailable.md +1 -1
- package/help/errors/native-sandbox-image-not-pinned.md +1 -1
- package/help/errors/native-sandbox-isolation-mismatch.md +1 -1
- package/help/errors/native-sandbox-launch-abandoned.md +21 -0
- package/help/errors/native-sandbox-network-unenforced.md +1 -1
- package/help/errors/native-sandbox-requires-catalog.md +1 -1
- package/help/errors/native-sandbox-unavailable.md +1 -1
- package/help/errors/native-sandbox-warm-delivery-failed.md +1 -1
- package/help/errors/native-sandbox-worker-exited.md +4 -3
- package/help/errors/native-sandbox-worker-lost.md +1 -1
- package/help/errors/native-sandbox-worker-unready.md +1 -1
- package/help/errors/package-not-allowed-pending.md +52 -0
- package/help/errors/package-not-allowed.md +51 -0
- package/help/errors/package-refusals.md +43 -0
- package/help/errors/patch-cursor-malformed.md +31 -0
- package/help/errors/repository-not-listed.md +36 -0
- package/help/errors/repository-required.md +36 -0
- package/help/errors/run-lost.md +39 -0
- package/help/errors/run-transcript-download.md +44 -0
- package/help/errors/secret-in-value.md +69 -0
- package/help/errors/target-merge.md +40 -0
- package/help/errors/tool-timeout.md +38 -0
- package/help/fix-merge-conflicts.md +73 -0
- package/help/github-app-setup.md +132 -0
- package/help/github.md +22 -0
- package/help/host-providers.md +40 -0
- package/help/identity-and-access.md +6 -1
- package/help/jira.md +23 -6
- package/help/knowledge.md +16 -7
- package/help/local-repositories.md +1 -1
- package/help/low-power-mode.md +7 -1
- package/help/mcp-servers.md +73 -0
- package/help/mcp.md +7 -2
- package/help/merge-order-check.md +5 -0
- package/help/native-capabilities.md +55 -1
- package/help/native-sandbox.md +16 -2
- package/help/operating-agents.md +21 -0
- package/help/package-audit-mode.md +91 -0
- package/help/related-pull-requests.md +17 -10
- package/help/repo-instructions-and-skills.md +3 -1
- package/help/resume-runs-locally.md +134 -0
- package/help/review-fix-rounds.md +33 -1
- package/help/sharing-agents.md +59 -0
- package/help/slack-notifications.md +19 -5
- package/help/status-comments.md +31 -0
- package/help/stop-run.md +58 -0
- package/help/troubleshooting/budgets.md +28 -0
- package/help/troubleshooting/coding-workers.md +86 -7
- package/help/troubleshooting/debugging-agent-runs.md +29 -0
- package/package.json +18 -10
- package/prisma/migrations/20261016000000_registry_approved_accepted_advisories/migration.sql +3 -0
- package/prisma/migrations/20261016000001_mark_ready_when_passing/migration.sql +3 -0
- package/prisma/migrations/20261017000000_debug_trace_max_mb/migration.sql +4 -0
- package/prisma/migrations/20261018000000_dependency_cache/migration.sql +53 -0
- package/prisma/migrations/20261019000000_claude_max_output_tokens/migration.sql +5 -0
- package/prisma/migrations/20261021000000_pr_description_hash/migration.sql +4 -0
- package/prisma/migrations/20261022000000_dependency_snapshot_validation_metadata/migration.sql +4 -0
- package/prisma/migrations/20261023000000_package_audit_mode/migration.sql +27 -0
- package/prisma/migrations/20261024000000_budget_events/migration.sql +26 -0
- package/prisma/migrations/20261025000000_cache_aware_holds/migration.sql +9 -0
- package/prisma/migrations/20261026000000_budget_overrun/migration.sql +4 -0
- package/prisma/migrations/20261027000000_coding_run_request/migration.sql +1 -0
- package/prisma/migrations/20261028000000_native_gateway_review_reads/migration.sql +6 -0
- package/prisma/migrations/20261029000000_lead_survives_deploy/migration.sql +6 -0
- package/prisma/migrations/20261030000000_local_review_covered_sha/migration.sql +2 -0
- package/prisma/migrations/20261031000000_coding_run_budget_limit/migration.sql +9 -0
- package/prisma/migrations/20261101000000_run_transcripts/migration.sql +22 -0
- package/prisma/migrations/20261102000000_host_providers/migration.sql +56 -0
- package/prisma/migrations/20261104000000_coding_agent_repository_list/migration.sql +5 -0
- package/prisma/migrations/20261106000000_tool_timeout/migration.sql +4 -0
- package/prisma/migrations/20261107000000_mcp_servers/migration.sql +33 -0
- package/prisma/migrations/20261108000000_coding_mcp/migration.sql +5 -0
- package/prisma/migrations/20261109000000_task_run_index/migration.sql +3 -0
- package/prisma/schema.prisma +468 -109
- package/scripts/git-askpass.sh +1 -1
- package/dist/sandbox/generated/zod-to-json-schema.bundle.js +0 -5
|
@@ -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,14 @@ 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;
|
|
137
151
|
/**
|
|
138
152
|
* Model NativeGatewaySession
|
|
139
153
|
* The trusted gateway's record of one sandbox-mode native run (native
|
|
@@ -170,10 +184,17 @@ export type NativeGatewayCall = Prisma.NativeGatewayCallModel;
|
|
|
170
184
|
export type CodingProxySession = Prisma.CodingProxySessionModel;
|
|
171
185
|
/**
|
|
172
186
|
* Model CodingProxyRequest
|
|
173
|
-
* Monotonic per-upstream-call ledger.
|
|
174
|
-
*
|
|
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.
|
|
175
190
|
*/
|
|
176
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;
|
|
177
198
|
/**
|
|
178
199
|
* Model RegistryAllowance
|
|
179
200
|
* One package a run's profile has approved from a given ecosystem, resolved
|
|
@@ -211,6 +232,15 @@ export type RegistryApprovedVersion = Prisma.RegistryApprovedVersionModel;
|
|
|
211
232
|
* from here with the same code and reason, without a graph walk.
|
|
212
233
|
*/
|
|
213
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;
|
|
214
244
|
/**
|
|
215
245
|
* Model SchedulerLease
|
|
216
246
|
* Phase 2: single-row-per-scope lease so exactly one scheduler process
|
|
@@ -391,6 +421,16 @@ export type HostIdentityLinkRequest = Prisma.HostIdentityLinkRequestModel;
|
|
|
391
421
|
* docs/private/2026-09-30-jira-issue-tracker-design.md §3.
|
|
392
422
|
*/
|
|
393
423
|
export type AgentIssueProject = Prisma.AgentIssueProjectModel;
|
|
424
|
+
/**
|
|
425
|
+
* Model McpServer
|
|
426
|
+
* A remote MCP server an owner registered (Streamable HTTP, HTTPS only).
|
|
427
|
+
*/
|
|
428
|
+
export type McpServer = Prisma.McpServerModel;
|
|
429
|
+
/**
|
|
430
|
+
* Model AgentMcpServer
|
|
431
|
+
* An MCP server attached to an agent, with the server tools it may call.
|
|
432
|
+
*/
|
|
433
|
+
export type AgentMcpServer = Prisma.AgentMcpServerModel;
|
|
394
434
|
/**
|
|
395
435
|
* Model IssueFingerprint
|
|
396
436
|
* Dedupe record: an issue wardby created for a fingerprint (several over time — regressions).
|
|
@@ -398,7 +438,8 @@ export type AgentIssueProject = Prisma.AgentIssueProjectModel;
|
|
|
398
438
|
export type IssueFingerprint = Prisma.IssueFingerprintModel;
|
|
399
439
|
/**
|
|
400
440
|
* Model IssuePullRequest
|
|
401
|
-
* A pull request wardby opened for
|
|
441
|
+
* A pull request wardby opened for an issue (a Jira issue, a GitHub issue): one shape for every issue
|
|
442
|
+
* provider. Provider-neutral on both sides.
|
|
402
443
|
* Deliberately no foreign keys to Agent or Run: audit-style rows that survive agent/run deletion.
|
|
403
444
|
*/
|
|
404
445
|
export type IssuePullRequest = Prisma.IssuePullRequestModel;
|
|
@@ -473,3 +514,24 @@ export type NotificationDelivery = Prisma.NotificationDeliveryModel;
|
|
|
473
514
|
* The parent message of a work item's (or PR's) thread in one channel.
|
|
474
515
|
*/
|
|
475
516
|
export type NotificationThread = Prisma.NotificationThreadModel;
|
|
517
|
+
/**
|
|
518
|
+
* Model HostProvider
|
|
519
|
+
* A code host implemented by operator-approved custom tools (docs/host-providers.md).
|
|
520
|
+
* `name` is the prefix of its repository ids: `<name>:<workspace>/<repo>`. Holds no secret values.
|
|
521
|
+
*/
|
|
522
|
+
export type HostProvider = Prisma.HostProviderModel;
|
|
523
|
+
/**
|
|
524
|
+
* Model HostProviderOperation
|
|
525
|
+
* One approved snapshot: the code Wardby runs. `update_tool` changes nothing here until approved again.
|
|
526
|
+
*/
|
|
527
|
+
export type HostProviderOperation = Prisma.HostProviderOperationModel;
|
|
528
|
+
/**
|
|
529
|
+
* Model HostProviderCredential
|
|
530
|
+
* Which brokered secret serves which repositories. `credentialKind` is `static` only in v1.
|
|
531
|
+
*/
|
|
532
|
+
export type HostProviderCredential = Prisma.HostProviderCredentialModel;
|
|
533
|
+
/**
|
|
534
|
+
* Model HostProviderTrustedAccount
|
|
535
|
+
* Host accounts allowed to start runs when the provider has no permission secret.
|
|
536
|
+
*/
|
|
537
|
+
export type HostProviderTrustedAccount = Prisma.HostProviderTrustedAccountModel;
|
|
@@ -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,14 @@ 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;
|
|
156
170
|
/**
|
|
157
171
|
* Model NativeGatewaySession
|
|
158
172
|
* The trusted gateway's record of one sandbox-mode native run (native
|
|
@@ -189,10 +203,17 @@ export type NativeGatewayCall = Prisma.NativeGatewayCallModel;
|
|
|
189
203
|
export type CodingProxySession = Prisma.CodingProxySessionModel;
|
|
190
204
|
/**
|
|
191
205
|
* Model CodingProxyRequest
|
|
192
|
-
* Monotonic per-upstream-call ledger.
|
|
193
|
-
*
|
|
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.
|
|
194
209
|
*/
|
|
195
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;
|
|
196
217
|
/**
|
|
197
218
|
* Model RegistryAllowance
|
|
198
219
|
* One package a run's profile has approved from a given ecosystem, resolved
|
|
@@ -230,6 +251,15 @@ export type RegistryApprovedVersion = Prisma.RegistryApprovedVersionModel;
|
|
|
230
251
|
* from here with the same code and reason, without a graph walk.
|
|
231
252
|
*/
|
|
232
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;
|
|
233
263
|
/**
|
|
234
264
|
* Model SchedulerLease
|
|
235
265
|
* Phase 2: single-row-per-scope lease so exactly one scheduler process
|
|
@@ -410,6 +440,16 @@ export type HostIdentityLinkRequest = Prisma.HostIdentityLinkRequestModel;
|
|
|
410
440
|
* docs/private/2026-09-30-jira-issue-tracker-design.md §3.
|
|
411
441
|
*/
|
|
412
442
|
export type AgentIssueProject = Prisma.AgentIssueProjectModel;
|
|
443
|
+
/**
|
|
444
|
+
* Model McpServer
|
|
445
|
+
* A remote MCP server an owner registered (Streamable HTTP, HTTPS only).
|
|
446
|
+
*/
|
|
447
|
+
export type McpServer = Prisma.McpServerModel;
|
|
448
|
+
/**
|
|
449
|
+
* Model AgentMcpServer
|
|
450
|
+
* An MCP server attached to an agent, with the server tools it may call.
|
|
451
|
+
*/
|
|
452
|
+
export type AgentMcpServer = Prisma.AgentMcpServerModel;
|
|
413
453
|
/**
|
|
414
454
|
* Model IssueFingerprint
|
|
415
455
|
* Dedupe record: an issue wardby created for a fingerprint (several over time — regressions).
|
|
@@ -417,7 +457,8 @@ export type AgentIssueProject = Prisma.AgentIssueProjectModel;
|
|
|
417
457
|
export type IssueFingerprint = Prisma.IssueFingerprintModel;
|
|
418
458
|
/**
|
|
419
459
|
* Model IssuePullRequest
|
|
420
|
-
* A pull request wardby opened for
|
|
460
|
+
* A pull request wardby opened for an issue (a Jira issue, a GitHub issue): one shape for every issue
|
|
461
|
+
* provider. Provider-neutral on both sides.
|
|
421
462
|
* Deliberately no foreign keys to Agent or Run: audit-style rows that survive agent/run deletion.
|
|
422
463
|
*/
|
|
423
464
|
export type IssuePullRequest = Prisma.IssuePullRequestModel;
|
|
@@ -492,3 +533,24 @@ export type NotificationDelivery = Prisma.NotificationDeliveryModel;
|
|
|
492
533
|
* The parent message of a work item's (or PR's) thread in one channel.
|
|
493
534
|
*/
|
|
494
535
|
export type NotificationThread = Prisma.NotificationThreadModel;
|
|
536
|
+
/**
|
|
537
|
+
* Model HostProvider
|
|
538
|
+
* A code host implemented by operator-approved custom tools (docs/host-providers.md).
|
|
539
|
+
* `name` is the prefix of its repository ids: `<name>:<workspace>/<repo>`. Holds no secret values.
|
|
540
|
+
*/
|
|
541
|
+
export type HostProvider = Prisma.HostProviderModel;
|
|
542
|
+
/**
|
|
543
|
+
* Model HostProviderOperation
|
|
544
|
+
* One approved snapshot: the code Wardby runs. `update_tool` changes nothing here until approved again.
|
|
545
|
+
*/
|
|
546
|
+
export type HostProviderOperation = Prisma.HostProviderOperationModel;
|
|
547
|
+
/**
|
|
548
|
+
* Model HostProviderCredential
|
|
549
|
+
* Which brokered secret serves which repositories. `credentialKind` is `static` only in v1.
|
|
550
|
+
*/
|
|
551
|
+
export type HostProviderCredential = Prisma.HostProviderCredentialModel;
|
|
552
|
+
/**
|
|
553
|
+
* Model HostProviderTrustedAccount
|
|
554
|
+
* Host accounts allowed to start runs when the provider has no permission secret.
|
|
555
|
+
*/
|
|
556
|
+
export type HostProviderTrustedAccount = Prisma.HostProviderTrustedAccountModel;
|