@vercel/factory 0.0.13 → 0.0.15
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/README.md +307 -1
- package/dist/agent-routes.d.mts +69 -0
- package/dist/agent-routes.mjs +64 -0
- package/dist/agent-routes.mjs.map +1 -0
- package/dist/api-contracts.d.mts +1749 -0
- package/dist/api-contracts.mjs +118 -0
- package/dist/api-contracts.mjs.map +1 -0
- package/dist/api-images.d.mts +30 -0
- package/dist/api-images.mjs +28 -0
- package/dist/api-images.mjs.map +1 -0
- package/dist/api-task-graph.mjs +57 -0
- package/dist/api-task-graph.mjs.map +1 -0
- package/dist/api.d.mts +77 -0
- package/dist/api.mjs +1087 -0
- package/dist/api.mjs.map +1 -0
- package/dist/approval-access.d.mts +39 -0
- package/dist/approval-access.mjs +62 -0
- package/dist/approval-access.mjs.map +1 -0
- package/dist/approval-contracts.d.mts +692 -0
- package/dist/approval-contracts.mjs +27 -0
- package/dist/approval-contracts.mjs.map +1 -0
- package/dist/approval.d.mts +49 -0
- package/dist/approval.mjs +39 -0
- package/dist/approval.mjs.map +1 -0
- package/dist/blob/artifacts.d.mts +37 -0
- package/dist/blob/artifacts.mjs +45 -0
- package/dist/blob/artifacts.mjs.map +1 -0
- package/dist/blob/index.d.mts +44 -8
- package/dist/blob/index.mjs +159 -35
- package/dist/blob/index.mjs.map +1 -1
- package/dist/budget.d.mts +108 -0
- package/dist/budget.mjs +141 -0
- package/dist/budget.mjs.map +1 -0
- package/dist/budgets.d.mts +4 -0
- package/dist/budgets.mjs +4 -0
- package/dist/build-factory.d.mts +6 -4
- package/dist/build-factory.mjs +2 -1
- package/dist/build-factory.mjs.map +1 -1
- package/dist/change-verification/brief.d.mts +9 -0
- package/dist/change-verification/brief.mjs +13 -0
- package/dist/change-verification/brief.mjs.map +1 -0
- package/dist/change-verification/dispatch.d.mts +24 -0
- package/dist/change-verification/dispatch.mjs +45 -0
- package/dist/change-verification/dispatch.mjs.map +1 -0
- package/dist/change-verification/eve-tool.d.mts +60 -0
- package/dist/change-verification/eve-tool.mjs +101 -0
- package/dist/change-verification/eve-tool.mjs.map +1 -0
- package/dist/changes/eve-record-change.d.mts +56 -0
- package/dist/changes/eve-record-change.mjs +97 -0
- package/dist/changes/eve-record-change.mjs.map +1 -0
- package/dist/changes/presentation.d.mts +14 -0
- package/dist/changes.d.mts +23 -0
- package/dist/changes.mjs +29 -0
- package/dist/changes.mjs.map +1 -0
- package/dist/client-events.d.mts +18 -0
- package/dist/client-events.mjs +41 -0
- package/dist/client-events.mjs.map +1 -0
- package/dist/client-stream.d.mts +28 -0
- package/dist/client-stream.mjs +204 -0
- package/dist/client-stream.mjs.map +1 -0
- package/dist/client-transcript.d.mts +41 -0
- package/dist/client-transcript.mjs +229 -0
- package/dist/client-transcript.mjs.map +1 -0
- package/dist/client.d.mts +234 -0
- package/dist/client.mjs +258 -0
- package/dist/client.mjs.map +1 -0
- package/dist/code-review/contracts.d.mts +26 -0
- package/dist/code-review/eve-post-review.d.mts +70 -0
- package/dist/code-review/eve-post-review.mjs +183 -0
- package/dist/code-review/eve-post-review.mjs.map +1 -0
- package/dist/code-review/eve-review-comments.d.mts +64 -0
- package/dist/code-review/eve-review-comments.mjs +159 -0
- package/dist/code-review/eve-review-comments.mjs.map +1 -0
- package/dist/code-review/github-contracts.d.mts +10 -0
- package/dist/code-review/github-reporter.d.mts +44 -0
- package/dist/code-review/github-reporter.mjs +260 -0
- package/dist/code-review/github-reporter.mjs.map +1 -0
- package/dist/code-review/preparation.d.mts +34 -0
- package/dist/code-review/preparation.mjs +23 -0
- package/dist/code-review/preparation.mjs.map +1 -0
- package/dist/code-review/stall.d.mts +17 -0
- package/dist/code-review/stall.mjs +30 -0
- package/dist/code-review/stall.mjs.map +1 -0
- package/dist/code-review.d.mts +6 -0
- package/dist/code-review.mjs +5 -0
- package/dist/communication.d.mts +9 -0
- package/dist/communication.mjs +9 -0
- package/dist/connectors/github.d.mts +26 -0
- package/dist/connectors/github.mjs +55 -0
- package/dist/connectors/github.mjs.map +1 -0
- package/dist/connectors/index.d.mts +35 -2
- package/dist/connectors/index.mjs +4 -26
- package/dist/connectors/index.mjs.map +1 -1
- package/dist/connectors/outbox.d.mts +34 -0
- package/dist/connectors/outbox.mjs +50 -0
- package/dist/connectors/outbox.mjs.map +1 -0
- package/dist/connectors/slack-approval-blocks.mjs +136 -0
- package/dist/connectors/slack-approval-blocks.mjs.map +1 -0
- package/dist/connectors/slack-approvals.d.mts +29 -0
- package/dist/connectors/slack-approvals.mjs +346 -0
- package/dist/connectors/slack-approvals.mjs.map +1 -0
- package/dist/connectors/slack.d.mts +35 -41
- package/dist/connectors/slack.mjs +13 -69
- package/dist/connectors/slack.mjs.map +1 -1
- package/dist/deepsec/eve-tool.d.mts +110 -0
- package/dist/deepsec/eve-tool.mjs +164 -0
- package/dist/deepsec/eve-tool.mjs.map +1 -0
- package/dist/deepsec/finding.d.mts +84 -0
- package/dist/deepsec/finding.mjs +56 -0
- package/dist/deepsec/finding.mjs.map +1 -0
- package/dist/deepsec.d.mts +3 -0
- package/dist/delivery-metrics/metrics.d.mts +93 -0
- package/dist/delivery-metrics/metrics.mjs +200 -0
- package/dist/delivery-metrics/metrics.mjs.map +1 -0
- package/dist/delivery-metrics.d.mts +2 -0
- package/dist/delivery-metrics.mjs +2 -0
- package/dist/dispatch.d.mts +81 -0
- package/dist/dispatch.mjs +140 -0
- package/dist/dispatch.mjs.map +1 -0
- package/dist/errors.d.mts +15 -0
- package/dist/errors.mjs +38 -0
- package/dist/errors.mjs.map +1 -0
- package/dist/eve/index.d.mts +143 -1561
- package/dist/eve/index.mjs +244 -1063
- package/dist/eve/index.mjs.map +1 -1
- package/dist/eve/invoke.d.mts +144 -0
- package/dist/eve/invoke.mjs +241 -0
- package/dist/eve/invoke.mjs.map +1 -0
- package/dist/eve/session-client.d.mts +68 -0
- package/dist/eve/session-client.mjs +131 -0
- package/dist/eve/session-client.mjs.map +1 -0
- package/dist/eve/task-execution.mjs +18 -0
- package/dist/eve/task-execution.mjs.map +1 -0
- package/dist/eve/task-session.d.mts +87 -0
- package/dist/eve/task-session.mjs +203 -0
- package/dist/eve/task-session.mjs.map +1 -0
- package/dist/eve/transcript.d.mts +37 -0
- package/dist/eve/transcript.mjs +65 -0
- package/dist/eve/transcript.mjs.map +1 -0
- package/dist/execution-public.d.mts +8 -0
- package/dist/execution-public.mjs +7 -0
- package/dist/execution.d.mts +75 -0
- package/dist/execution.mjs +153 -0
- package/dist/execution.mjs.map +1 -0
- package/dist/finding-remediation/admission.d.mts +51 -0
- package/dist/finding-remediation/admission.mjs +87 -0
- package/dist/finding-remediation/admission.mjs.map +1 -0
- package/dist/finding-remediation/brief.d.mts +14 -0
- package/dist/finding-remediation/brief.mjs +25 -0
- package/dist/finding-remediation/brief.mjs.map +1 -0
- package/dist/finding-remediation/eve-tool.d.mts +29 -0
- package/dist/finding-remediation/eve-tool.mjs +34 -0
- package/dist/finding-remediation/eve-tool.mjs.map +1 -0
- package/dist/findings/fingerprint.d.mts +14 -0
- package/dist/findings/fingerprint.mjs +28 -0
- package/dist/findings/fingerprint.mjs.map +1 -0
- package/dist/findings.d.mts +6 -0
- package/dist/findings.mjs +6 -0
- package/dist/github-app.d.mts +54 -0
- package/dist/github-app.mjs +121 -0
- package/dist/github-app.mjs.map +1 -0
- package/dist/github-publication.d.mts +198 -0
- package/dist/github-publication.mjs +429 -0
- package/dist/github-publication.mjs.map +1 -0
- package/dist/github-transfer.d.mts +72 -0
- package/dist/github-transfer.mjs +125 -0
- package/dist/github-transfer.mjs.map +1 -0
- package/dist/github.d.mts +406 -2
- package/dist/github.mjs +250 -37
- package/dist/github.mjs.map +1 -1
- package/dist/image-input.d.mts +51 -0
- package/dist/image-input.mjs +63 -0
- package/dist/image-input.mjs.map +1 -0
- package/dist/index.d.mts +14 -314
- package/dist/index.mjs +14 -1124
- package/dist/intake-contracts.d.mts +56 -0
- package/dist/intake-contracts.mjs +33 -0
- package/dist/intake-contracts.mjs.map +1 -0
- package/dist/integrations/deepsec.d.mts +4 -0
- package/dist/integrations/deepsec.mjs +3 -0
- package/dist/integrations/github.d.mts +11 -0
- package/dist/integrations/github.mjs +9 -0
- package/dist/integrations/slack.d.mts +3 -0
- package/dist/integrations/slack.mjs +3 -0
- package/dist/integrations/vercel.d.mts +3 -0
- package/dist/integrations/vercel.mjs +3 -0
- package/dist/merge-resolution/contracts.d.mts +17 -0
- package/dist/merge-resolution/contracts.mjs +19 -0
- package/dist/merge-resolution/contracts.mjs.map +1 -0
- package/dist/merge-resolution/eve-tools.d.mts +46 -0
- package/dist/merge-resolution/eve-tools.mjs +117 -0
- package/dist/merge-resolution/eve-tools.mjs.map +1 -0
- package/dist/multi-repository-changes/coordination.d.mts +49 -0
- package/dist/multi-repository-changes/coordination.mjs +115 -0
- package/dist/multi-repository-changes/coordination.mjs.map +1 -0
- package/dist/planning/cancellation.mjs +82 -0
- package/dist/planning/cancellation.mjs.map +1 -0
- package/dist/planning/configuration.d.mts +23 -0
- package/dist/planning/configuration.mjs +56 -0
- package/dist/planning/configuration.mjs.map +1 -0
- package/dist/planning/contracts.d.mts +136 -0
- package/dist/planning/contracts.mjs +42 -0
- package/dist/planning/contracts.mjs.map +1 -0
- package/dist/planning/dependencies.mjs +44 -0
- package/dist/planning/dependencies.mjs.map +1 -0
- package/dist/planning/effects.mjs +122 -0
- package/dist/planning/effects.mjs.map +1 -0
- package/dist/planning/reconcile.mjs +273 -0
- package/dist/planning/reconcile.mjs.map +1 -0
- package/dist/planning/runtime.d.mts +27 -0
- package/dist/planning/runtime.mjs +25 -0
- package/dist/planning/runtime.mjs.map +1 -0
- package/dist/planning/state.mjs +92 -0
- package/dist/planning/state.mjs.map +1 -0
- package/dist/planning/turns.mjs +262 -0
- package/dist/planning/turns.mjs.map +1 -0
- package/dist/planning/validation.mjs +106 -0
- package/dist/planning/validation.mjs.map +1 -0
- package/dist/postgres/index.d.mts +7 -1
- package/dist/postgres/index.mjs +7 -3
- package/dist/postgres/index.mjs.map +1 -1
- package/dist/presets/software-development/approval.d.mts +14 -0
- package/dist/presets/software-development/approval.mjs +21 -0
- package/dist/presets/software-development/approval.mjs.map +1 -0
- package/dist/presets/software-development/deepsec-brief.d.mts +8 -0
- package/dist/presets/software-development/deepsec-brief.mjs +14 -0
- package/dist/presets/software-development/deepsec-brief.mjs.map +1 -0
- package/dist/presets/software-development/dispatch.d.mts +53 -0
- package/dist/presets/software-development/dispatch.mjs +66 -0
- package/dist/presets/software-development/dispatch.mjs.map +1 -0
- package/dist/presets/software-development/eve-delegation-policy.d.mts +7 -0
- package/dist/presets/software-development/eve-delegation-policy.mjs +34 -0
- package/dist/presets/software-development/eve-delegation-policy.mjs.map +1 -0
- package/dist/presets/software-development/eve.d.mts +18 -0
- package/dist/presets/software-development/eve.mjs +19 -0
- package/dist/presets/software-development/eve.mjs.map +1 -0
- package/dist/presets/software-development/finish-task-policy.d.mts +7 -0
- package/dist/presets/software-development/finish-task-policy.mjs +9 -0
- package/dist/presets/software-development/finish-task-policy.mjs.map +1 -0
- package/dist/presets/software-development/recovery.d.mts +32 -0
- package/dist/presets/software-development/recovery.mjs +120 -0
- package/dist/presets/software-development/recovery.mjs.map +1 -0
- package/dist/presets/software-development/task-communication.d.mts +23 -0
- package/dist/presets/software-development/task-communication.mjs +120 -0
- package/dist/presets/software-development/task-communication.mjs.map +1 -0
- package/dist/presets/software-development.d.mts +9 -0
- package/dist/presets/software-development.mjs +9 -0
- package/dist/pull-requests/contracts.d.mts +72 -0
- package/dist/pull-requests/eve-fetch.d.mts +57 -0
- package/dist/pull-requests/eve-fetch.mjs +151 -0
- package/dist/pull-requests/eve-fetch.mjs.map +1 -0
- package/dist/pull-requests/github-label-manager.d.mts +27 -0
- package/dist/pull-requests/github-label-manager.mjs +40 -0
- package/dist/pull-requests/github-label-manager.mjs.map +1 -0
- package/dist/pull-requests/github-publisher.d.mts +53 -0
- package/dist/pull-requests/github-publisher.mjs +345 -0
- package/dist/pull-requests/github-publisher.mjs.map +1 -0
- package/dist/pull-requests.d.mts +5 -0
- package/dist/pull-requests.mjs +4 -0
- package/dist/receipts.d.mts +4 -0
- package/dist/receipts.mjs +3 -0
- package/dist/repositories.d.mts +18 -0
- package/dist/repositories.mjs +33 -0
- package/dist/repositories.mjs.map +1 -0
- package/dist/sandbox/command.d.mts +18 -0
- package/dist/sandbox/execution-abort.d.mts +16 -0
- package/dist/sandbox/execution-abort.mjs +49 -0
- package/dist/sandbox/execution-abort.mjs.map +1 -0
- package/dist/sandbox/execution-environment.d.mts +25 -0
- package/dist/sandbox/execution-run-ledger.d.mts +115 -0
- package/dist/sandbox/execution-run-ledger.mjs +209 -0
- package/dist/sandbox/execution-run-ledger.mjs.map +1 -0
- package/dist/sandbox/execution.d.mts +54 -0
- package/dist/sandbox/execution.mjs +228 -0
- package/dist/sandbox/execution.mjs.map +1 -0
- package/dist/sandbox/harness-runner.d.mts +79 -0
- package/dist/sandbox/harness-runner.mjs +162 -0
- package/dist/sandbox/harness-runner.mjs.map +1 -0
- package/dist/sandbox/index.d.mts +9 -0
- package/dist/sandbox/index.mjs +7 -0
- package/dist/sandbox/task-environment.d.mts +50 -0
- package/dist/sandbox/task-environment.mjs +140 -0
- package/dist/sandbox/task-environment.mjs.map +1 -0
- package/dist/sandbox/workspace.d.mts +29 -0
- package/dist/sandbox/workspace.mjs +28 -0
- package/dist/sandbox/workspace.mjs.map +1 -0
- package/dist/schema/agent-route.d.mts +22 -0
- package/dist/schema/agent-route.mjs +15 -0
- package/dist/schema/agent-route.mjs.map +1 -0
- package/dist/schema/answer.d.mts +23 -0
- package/dist/schema/answer.mjs +21 -0
- package/dist/schema/answer.mjs.map +1 -0
- package/dist/schema/budget.d.mts +38 -0
- package/dist/schema/budget.mjs +30 -0
- package/dist/schema/budget.mjs.map +1 -0
- package/dist/schema/catalog.mjs +72 -0
- package/dist/schema/catalog.mjs.map +1 -0
- package/dist/schema/change.d.mts +117 -0
- package/dist/schema/change.mjs +68 -0
- package/dist/schema/change.mjs.map +1 -0
- package/dist/schema/common.d.mts +33 -0
- package/dist/{id-DwCihQr4.mjs → schema/common.mjs} +7 -14
- package/dist/schema/common.mjs.map +1 -0
- package/dist/schema/communication.d.mts +52 -0
- package/dist/schema/communication.mjs +35 -0
- package/dist/schema/communication.mjs.map +1 -0
- package/dist/schema/execution.d.mts +101 -0
- package/dist/schema/execution.mjs +86 -0
- package/dist/schema/execution.mjs.map +1 -0
- package/dist/schema/factory-config.d.mts +95 -0
- package/dist/schema/factory-config.mjs +60 -0
- package/dist/schema/factory-config.mjs.map +1 -0
- package/dist/schema/finding.d.mts +125 -0
- package/dist/schema/finding.mjs +67 -0
- package/dist/schema/finding.mjs.map +1 -0
- package/dist/schema/id.d.mts +43 -0
- package/dist/schema/id.mjs +32 -0
- package/dist/schema/id.mjs.map +1 -0
- package/dist/schema/outbox.d.mts +240 -0
- package/dist/schema/outbox.mjs +53 -0
- package/dist/schema/outbox.mjs.map +1 -0
- package/dist/schema/question-route.mjs +16 -0
- package/dist/schema/question-route.mjs.map +1 -0
- package/dist/schema/receipt.d.mts +81 -0
- package/dist/schema/receipt.mjs +94 -0
- package/dist/schema/receipt.mjs.map +1 -0
- package/dist/schema/repository.d.mts +26 -0
- package/dist/schema/repository.mjs +25 -0
- package/dist/schema/repository.mjs.map +1 -0
- package/dist/schema/session.d.mts +135 -0
- package/dist/schema/session.mjs +53 -0
- package/dist/schema/session.mjs.map +1 -0
- package/dist/schema/signal.d.mts +105 -0
- package/dist/schema/signal.mjs +81 -0
- package/dist/schema/signal.mjs.map +1 -0
- package/dist/schema/stored-session.mjs +10 -0
- package/dist/schema/stored-session.mjs.map +1 -0
- package/dist/schema/stored-task.mjs +20 -0
- package/dist/schema/stored-task.mjs.map +1 -0
- package/dist/schema/task-effect.d.mts +39 -0
- package/dist/schema/task-effect.mjs +29 -0
- package/dist/schema/task-effect.mjs.map +1 -0
- package/dist/schema/task-graph.d.mts +3134 -0
- package/dist/schema/task-graph.mjs +97 -0
- package/dist/schema/task-graph.mjs.map +1 -0
- package/dist/schema/task-message.d.mts +254 -0
- package/dist/schema/task-message.mjs +189 -0
- package/dist/schema/task-message.mjs.map +1 -0
- package/dist/schema/task.d.mts +272 -0
- package/dist/schema/task.mjs +199 -0
- package/dist/schema/task.mjs.map +1 -0
- package/dist/schema/transcript.d.mts +170 -0
- package/dist/schema/transcript.mjs +86 -0
- package/dist/schema/transcript.mjs.map +1 -0
- package/dist/schema/transitions.d.mts +50 -0
- package/dist/schema/transitions.mjs +303 -0
- package/dist/schema/transitions.mjs.map +1 -0
- package/dist/schema/work.d.mts +101 -0
- package/dist/schema/work.mjs +102 -0
- package/dist/schema/work.mjs.map +1 -0
- package/dist/signal-triage.d.mts +20 -0
- package/dist/signal-triage.mjs +85 -0
- package/dist/signal-triage.mjs.map +1 -0
- package/dist/signals.d.mts +19 -0
- package/dist/signals.mjs +19 -0
- package/dist/signals.mjs.map +1 -0
- package/dist/stall.d.mts +38 -0
- package/dist/stall.mjs +79 -0
- package/dist/stall.mjs.map +1 -0
- package/dist/storage.d.mts +4 -0
- package/dist/storage.mjs +4 -0
- package/dist/store/driver.d.mts +65 -0
- package/dist/store/driver.mjs +42 -0
- package/dist/store/driver.mjs.map +1 -0
- package/dist/store/engine.d.mts +485 -0
- package/dist/store/engine.mjs +2175 -0
- package/dist/store/engine.mjs.map +1 -0
- package/dist/store/memory.d.mts +7 -0
- package/dist/store/memory.mjs +52 -0
- package/dist/store/memory.mjs.map +1 -0
- package/dist/store/task-effects.d.mts +38 -0
- package/dist/store/task-effects.mjs +118 -0
- package/dist/store/task-effects.mjs.map +1 -0
- package/dist/store/task-graphs.d.mts +60 -0
- package/dist/store/task-graphs.mjs +212 -0
- package/dist/store/task-graphs.mjs.map +1 -0
- package/dist/store/task-messages.d.mts +136 -0
- package/dist/store/task-messages.mjs +475 -0
- package/dist/store/task-messages.mjs.map +1 -0
- package/dist/store/task-work.d.mts +65 -0
- package/dist/store/task-work.mjs +134 -0
- package/dist/store/task-work.mjs.map +1 -0
- package/dist/store/work-notifications.d.mts +19 -0
- package/dist/store/work-notifications.mjs +48 -0
- package/dist/store/work-notifications.mjs.map +1 -0
- package/dist/sweep.d.mts +57 -0
- package/dist/sweep.mjs +143 -0
- package/dist/sweep.mjs.map +1 -0
- package/dist/task-communication.d.mts +35 -0
- package/dist/task-communication.mjs +47 -0
- package/dist/task-communication.mjs.map +1 -0
- package/dist/task-graph-view.d.mts +264 -0
- package/dist/task-graph-view.mjs +17 -0
- package/dist/task-graph-view.mjs.map +1 -0
- package/dist/task-message-processing.d.mts +60 -0
- package/dist/task-message-processing.mjs +200 -0
- package/dist/task-message-processing.mjs.map +1 -0
- package/dist/task-protocols.d.mts +80 -0
- package/dist/task-protocols.mjs +47 -0
- package/dist/task-protocols.mjs.map +1 -0
- package/dist/tasks.d.mts +17 -0
- package/dist/tasks.mjs +17 -0
- package/dist/vercel-git.d.mts +21 -0
- package/dist/vercel-git.mjs +112 -0
- package/dist/vercel-git.mjs.map +1 -0
- package/dist/vercel.d.mts +33 -2
- package/dist/vercel.mjs +48 -3
- package/dist/vercel.mjs.map +1 -1
- package/dist/work-triage/eve-tool.d.mts +29 -0
- package/dist/work-triage/eve-tool.mjs +32 -0
- package/dist/work-triage/eve-tool.mjs.map +1 -0
- package/dist/work-triage/find-existing-work.d.mts +32 -0
- package/dist/work-triage/find-existing-work.mjs +31 -0
- package/dist/work-triage/find-existing-work.mjs.map +1 -0
- package/dist/work-triage/github.d.mts +15 -0
- package/dist/work-triage/github.mjs +14 -0
- package/dist/work-triage/github.mjs.map +1 -0
- package/dist/work-triage.d.mts +3 -0
- package/dist/work-triage.mjs +3 -0
- package/dist/workflows.d.mts +48 -0
- package/dist/workflows.mjs +86 -0
- package/dist/workflows.mjs.map +1 -0
- package/dist/workspace-diff-assembly.d.mts +33 -0
- package/dist/workspace-diff-assembly.mjs +95 -0
- package/dist/workspace-diff-assembly.mjs.map +1 -0
- package/dist/workspace-diff.d.mts +90 -0
- package/dist/workspace-diff.mjs +61 -0
- package/dist/workspace-diff.mjs.map +1 -0
- package/dist/workspace-snapshot.d.mts +26 -0
- package/dist/workspace-snapshot.mjs +80 -0
- package/dist/workspace-snapshot.mjs.map +1 -0
- package/package.json +129 -40
- package/dist/approval-CwhTP1XB.mjs +0 -269
- package/dist/approval-CwhTP1XB.mjs.map +0 -1
- package/dist/change-CzEAoFVE.mjs +0 -620
- package/dist/change-CzEAoFVE.mjs.map +0 -1
- package/dist/dispatch-B77cuPxh.d.mts +0 -713
- package/dist/driver-BJutB0PE.d.mts +0 -34
- package/dist/driver-Bbd25rNM.mjs +0 -23
- package/dist/driver-Bbd25rNM.mjs.map +0 -1
- package/dist/factory-config-BJcjsPKl.mjs +0 -86
- package/dist/factory-config-BJcjsPKl.mjs.map +0 -1
- package/dist/factory-config-D2yU3G0c.d.mts +0 -58
- package/dist/github-DXsxboUL.d.mts +0 -271
- package/dist/id-DwCihQr4.mjs.map +0 -1
- package/dist/index-Cy4jfXh5.d.mts +0 -67
- package/dist/index.mjs.map +0 -1
- package/dist/signal-CHVEmzvI.d.mts +0 -59
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { TaskId } from "./id.mjs";
|
|
2
|
+
import { Task } from "./task.mjs";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
//#region src/schema/execution.d.ts
|
|
5
|
+
/** Validates a durable evidence reference returned by an execution provider. */
|
|
6
|
+
declare const executionArtifactSchema: z.ZodObject<{
|
|
7
|
+
kind: z.ZodEnum<{
|
|
8
|
+
patch: "patch";
|
|
9
|
+
report: "report";
|
|
10
|
+
log: "log";
|
|
11
|
+
}>;
|
|
12
|
+
ref: z.ZodString;
|
|
13
|
+
}, z.core.$strict>;
|
|
14
|
+
/** Validates a Task identity paired with its positive execution-attempt fence. */
|
|
15
|
+
declare const taskAttemptRefSchema: z.ZodReadonly<z.ZodObject<{
|
|
16
|
+
taskId: z.ZodType<`task_${string}`, string, z.core.$ZodTypeInternals<`task_${string}`, string>>;
|
|
17
|
+
attempt: z.ZodNumber;
|
|
18
|
+
}, z.core.$strict>>;
|
|
19
|
+
/** Stable provider idempotency key derived from one exact Task attempt. */
|
|
20
|
+
type ExecutionLaunchKey = `factory-task:${TaskId}:${number}`;
|
|
21
|
+
/** Validates the stable provider idempotency key for one exact Task attempt. */
|
|
22
|
+
declare const executionLaunchKeySchema: z.ZodType<ExecutionLaunchKey, string>;
|
|
23
|
+
/** Validates the immutable, bounded coding request captured before provider execution. */
|
|
24
|
+
declare const codingExecutionRequestSchema: z.ZodObject<{
|
|
25
|
+
repository: z.ZodObject<{
|
|
26
|
+
slug: z.ZodType<`${string}/${string}`, string, z.core.$ZodTypeInternals<`${string}/${string}`, string>>;
|
|
27
|
+
baseSha: z.ZodString;
|
|
28
|
+
}, z.core.$strict>;
|
|
29
|
+
harness: z.ZodEnum<{
|
|
30
|
+
"claude-code": "claude-code";
|
|
31
|
+
codex: "codex";
|
|
32
|
+
fx: "fx";
|
|
33
|
+
pi: "pi";
|
|
34
|
+
}>;
|
|
35
|
+
prompt: z.ZodString;
|
|
36
|
+
allowedConstructs: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
37
|
+
environment: z.ZodObject<{
|
|
38
|
+
snapshotId: z.ZodOptional<z.ZodString>;
|
|
39
|
+
timeoutMs: z.ZodNumber;
|
|
40
|
+
}, z.core.$strict>;
|
|
41
|
+
limits: z.ZodObject<{
|
|
42
|
+
maxTokens: z.ZodOptional<z.ZodNumber>;
|
|
43
|
+
maxCostUsd: z.ZodOptional<z.ZodNumber>;
|
|
44
|
+
}, z.core.$strict>;
|
|
45
|
+
taskId: z.ZodType<`task_${string}`, string, z.core.$ZodTypeInternals<`task_${string}`, string>>;
|
|
46
|
+
attempt: z.ZodNumber;
|
|
47
|
+
}, z.core.$strict>;
|
|
48
|
+
declare const executionResultFieldsSchema: z.ZodObject<{
|
|
49
|
+
execution: z.ZodObject<{
|
|
50
|
+
provider: z.ZodString;
|
|
51
|
+
sessionId: z.ZodString;
|
|
52
|
+
environmentId: z.ZodOptional<z.ZodString>;
|
|
53
|
+
harness: z.ZodOptional<z.ZodString>;
|
|
54
|
+
traceId: z.ZodOptional<z.ZodString>;
|
|
55
|
+
}, z.core.$strict>;
|
|
56
|
+
artifacts: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
57
|
+
kind: z.ZodEnum<{
|
|
58
|
+
patch: "patch";
|
|
59
|
+
report: "report";
|
|
60
|
+
log: "log";
|
|
61
|
+
}>;
|
|
62
|
+
ref: z.ZodString;
|
|
63
|
+
}, z.core.$strict>>>;
|
|
64
|
+
usage: z.ZodObject<{
|
|
65
|
+
inputTokens: z.ZodOptional<z.ZodNumber>;
|
|
66
|
+
outputTokens: z.ZodOptional<z.ZodNumber>;
|
|
67
|
+
computeMs: z.ZodNumber;
|
|
68
|
+
costUsd: z.ZodOptional<z.ZodNumber>;
|
|
69
|
+
}, z.core.$strict>;
|
|
70
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
71
|
+
}, z.core.$strict>;
|
|
72
|
+
type ExecutionResultFields = z.infer<typeof executionResultFieldsSchema>;
|
|
73
|
+
/** Provider outcome, evidence references, and cumulative usage for one execution attempt. */
|
|
74
|
+
type ExecutionResult = ExecutionResultFields & ({
|
|
75
|
+
status: "completed";
|
|
76
|
+
failureCode?: never;
|
|
77
|
+
} | {
|
|
78
|
+
status: "needs_input";
|
|
79
|
+
failureCode?: never;
|
|
80
|
+
} | {
|
|
81
|
+
status: "cancelled";
|
|
82
|
+
failureCode?: never;
|
|
83
|
+
} | {
|
|
84
|
+
status: "failed";
|
|
85
|
+
failureCode?: "missing_output";
|
|
86
|
+
});
|
|
87
|
+
/** Validates a provider outcome and cumulative usage without inferring Task success. */
|
|
88
|
+
declare const executionResultSchema: z.ZodType<ExecutionResult>;
|
|
89
|
+
/** Task identity and attempt fence used by execution operations and launch keys. */
|
|
90
|
+
type TaskAttemptRef = z.infer<typeof taskAttemptRefSchema>;
|
|
91
|
+
/** Constructs and validates a Task identity with its positive execution-attempt fence. */
|
|
92
|
+
declare function taskAttemptRef(taskId: TaskAttemptRef["taskId"], attempt: number): TaskAttemptRef;
|
|
93
|
+
/** Converts a Task-shaped value into the canonical Task identity and attempt fence. */
|
|
94
|
+
declare function taskAttemptRefFromTask(task: Pick<Task, "id" | "attempt">): TaskAttemptRef;
|
|
95
|
+
/** Immutable repository, harness, capability, environment, and limit request for one coding Task attempt. */
|
|
96
|
+
type CodingExecutionRequest = z.infer<typeof codingExecutionRequestSchema>;
|
|
97
|
+
/** Durable evidence reference returned by an execution provider. */
|
|
98
|
+
type ExecutionArtifact = z.infer<typeof executionArtifactSchema>;
|
|
99
|
+
//#endregion
|
|
100
|
+
export { CodingExecutionRequest, ExecutionArtifact, ExecutionLaunchKey, ExecutionResult, TaskAttemptRef, codingExecutionRequestSchema, executionArtifactSchema, executionLaunchKeySchema, executionResultSchema, taskAttemptRef, taskAttemptRefFromTask, taskAttemptRefSchema };
|
|
101
|
+
//# sourceMappingURL=execution.d.mts.map
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { taskIdSchema } from "./id.mjs";
|
|
2
|
+
import { usdSchema } from "./common.mjs";
|
|
3
|
+
import { repositorySlugSchema } from "./repository.mjs";
|
|
4
|
+
import { jsonValueSchema } from "./work.mjs";
|
|
5
|
+
import { executionReferenceSchema } from "./task.mjs";
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
//#region src/schema/execution.ts
|
|
8
|
+
/** Validates a durable evidence reference returned by an execution provider. */
|
|
9
|
+
const executionArtifactSchema = z.strictObject({
|
|
10
|
+
kind: z.enum([
|
|
11
|
+
"patch",
|
|
12
|
+
"report",
|
|
13
|
+
"log"
|
|
14
|
+
]).describe("Evidence artifact type."),
|
|
15
|
+
ref: z.string().min(1).max(2048).describe("Durable artifact reference; grants no read authority.")
|
|
16
|
+
});
|
|
17
|
+
const artifacts = z.array(executionArtifactSchema).max(32).readonly().describe("Bounded durable evidence references.");
|
|
18
|
+
/** Validates a Task ID and execution-attempt fence that must travel together. */
|
|
19
|
+
const taskAttemptRefFields = {
|
|
20
|
+
taskId: taskIdSchema.describe("Task that owns the operation."),
|
|
21
|
+
attempt: z.number().int().positive().describe("Current Task execution attempt.")
|
|
22
|
+
};
|
|
23
|
+
/** Validates a Task identity paired with its positive execution-attempt fence. */
|
|
24
|
+
const taskAttemptRefSchema = z.strictObject(taskAttemptRefFields).readonly();
|
|
25
|
+
/** Validates the stable provider idempotency key for one exact Task attempt. */
|
|
26
|
+
const executionLaunchKeySchema = z.string().regex(/^factory-task:task_[a-z0-9]{6,64}:[1-9]\d*$/u, "Expected factory-task:<task-id>:<positive-attempt>");
|
|
27
|
+
/** Validates the immutable, bounded coding request captured before provider execution. */
|
|
28
|
+
const codingExecutionRequestSchema = z.strictObject({
|
|
29
|
+
...taskAttemptRefFields,
|
|
30
|
+
repository: z.strictObject({
|
|
31
|
+
slug: repositorySlugSchema,
|
|
32
|
+
baseSha: z.string().regex(/^[0-9a-f]{40}$/).describe("Immutable source commit to check out.")
|
|
33
|
+
}).describe("Explicit repository and immutable starting code."),
|
|
34
|
+
harness: z.enum([
|
|
35
|
+
"claude-code",
|
|
36
|
+
"codex",
|
|
37
|
+
"fx",
|
|
38
|
+
"pi"
|
|
39
|
+
]).describe("Configured V1 coding harness."),
|
|
40
|
+
prompt: z.string().min(1).max(32e3).describe("Bounded instructions captured before launching."),
|
|
41
|
+
allowedConstructs: z.array(z.string().min(1).max(128)).max(64).readonly().describe("Only the capabilities granted by the workflow."),
|
|
42
|
+
environment: z.strictObject({
|
|
43
|
+
snapshotId: z.string().min(1).max(2048).optional().describe("Optional immutable environment snapshot."),
|
|
44
|
+
timeoutMs: z.number().int().positive().describe("Maximum execution duration in milliseconds.")
|
|
45
|
+
}).describe("Reproducible environment policy."),
|
|
46
|
+
limits: z.strictObject({
|
|
47
|
+
maxTokens: z.number().int().positive().optional().describe("Maximum tokens for this execution."),
|
|
48
|
+
maxCostUsd: usdSchema.optional().describe("Maximum execution spend.")
|
|
49
|
+
}).describe("Adapter-enforced execution limits.")
|
|
50
|
+
}).refine((value) => jsonValueSchema.safeParse(value).success, "Execution request must fit bounded work JSON");
|
|
51
|
+
const executionResultFieldsSchema = z.strictObject({
|
|
52
|
+
execution: executionReferenceSchema,
|
|
53
|
+
artifacts,
|
|
54
|
+
usage: z.strictObject({
|
|
55
|
+
inputTokens: z.number().int().nonnegative().optional().describe("Total input tokens for this attempt."),
|
|
56
|
+
outputTokens: z.number().int().nonnegative().optional().describe("Total output tokens for this attempt."),
|
|
57
|
+
computeMs: z.number().int().nonnegative().describe("Observed compute duration."),
|
|
58
|
+
costUsd: usdSchema.optional().describe("Observed attempt cost; absent means unknown, never free.")
|
|
59
|
+
}).describe("Cumulative usage for this attempt, recorded once."),
|
|
60
|
+
reason: z.string().min(1).max(2e3).optional().describe("Human-readable outcome explanation.")
|
|
61
|
+
});
|
|
62
|
+
/** Validates a provider outcome and cumulative usage without inferring Task success. */
|
|
63
|
+
const executionResultSchema = z.discriminatedUnion("status", [
|
|
64
|
+
executionResultFieldsSchema.extend({ status: z.literal("completed").describe("The provider completed its bounded execution.") }),
|
|
65
|
+
executionResultFieldsSchema.extend({ status: z.literal("needs_input").describe("The provider requires additional input.") }),
|
|
66
|
+
executionResultFieldsSchema.extend({ status: z.literal("cancelled").describe("The execution was cancelled.") }),
|
|
67
|
+
executionResultFieldsSchema.extend({
|
|
68
|
+
status: z.literal("failed").describe("The execution failed."),
|
|
69
|
+
failureCode: z.literal("missing_output").optional().describe("Required output was absent. Workflow policy, not this code, authorizes replacement.")
|
|
70
|
+
})
|
|
71
|
+
]).refine((value) => jsonValueSchema.safeParse(value).success, "Execution result must fit bounded work JSON");
|
|
72
|
+
/** Constructs and validates a Task identity with its positive execution-attempt fence. */
|
|
73
|
+
function taskAttemptRef(taskId, attempt) {
|
|
74
|
+
return taskAttemptRefSchema.parse({
|
|
75
|
+
taskId,
|
|
76
|
+
attempt
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
/** Converts a Task-shaped value into the canonical Task identity and attempt fence. */
|
|
80
|
+
function taskAttemptRefFromTask(task) {
|
|
81
|
+
return taskAttemptRef(task.id, task.attempt);
|
|
82
|
+
}
|
|
83
|
+
//#endregion
|
|
84
|
+
export { codingExecutionRequestSchema, executionArtifactSchema, executionLaunchKeySchema, executionResultSchema, taskAttemptRef, taskAttemptRefFromTask, taskAttemptRefSchema };
|
|
85
|
+
|
|
86
|
+
//# sourceMappingURL=execution.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution.mjs","names":[],"sources":["../../src/schema/execution.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { usdSchema } from \"./common\";\nimport { taskIdSchema, type TaskId } from \"./id\";\nimport { repositorySlugSchema } from \"./repository\";\nimport { jsonValueSchema } from \"./work\";\n\nimport { executionReferenceSchema } from \"./task\";\n\n/** Validates a durable evidence reference returned by an execution provider. */\nexport const executionArtifactSchema = z.strictObject({\n kind: z.enum([\"patch\", \"report\", \"log\"]).describe(\"Evidence artifact type.\"),\n ref: z\n .string()\n .min(1)\n .max(2048)\n .describe(\"Durable artifact reference; grants no read authority.\"),\n});\nconst artifacts = z\n .array(executionArtifactSchema)\n .max(32)\n .readonly()\n .describe(\"Bounded durable evidence references.\");\n/** Validates a Task ID and execution-attempt fence that must travel together. */\nconst taskAttemptRefFields = {\n taskId: taskIdSchema.describe(\"Task that owns the operation.\"),\n attempt: z.number().int().positive().describe(\"Current Task execution attempt.\"),\n} as const;\n/** Validates a Task identity paired with its positive execution-attempt fence. */\nexport const taskAttemptRefSchema = z.strictObject(taskAttemptRefFields).readonly();\n\n/** Stable provider idempotency key derived from one exact Task attempt. */\nexport type ExecutionLaunchKey = `factory-task:${TaskId}:${number}`;\n/** Validates the stable provider idempotency key for one exact Task attempt. */\nexport const executionLaunchKeySchema = z\n .string()\n .regex(\n /^factory-task:task_[a-z0-9]{6,64}:[1-9]\\d*$/u,\n \"Expected factory-task:<task-id>:<positive-attempt>\",\n ) as z.ZodType<ExecutionLaunchKey, string>;\n\n/** Validates the immutable, bounded coding request captured before provider execution. */\nexport const codingExecutionRequestSchema = z\n .strictObject({\n ...taskAttemptRefFields,\n repository: z\n .strictObject({\n slug: repositorySlugSchema,\n baseSha: z\n .string()\n .regex(/^[0-9a-f]{40}$/)\n .describe(\"Immutable source commit to check out.\"),\n })\n .describe(\"Explicit repository and immutable starting code.\"),\n harness: z.enum([\"claude-code\", \"codex\", \"fx\", \"pi\"]).describe(\"Configured V1 coding harness.\"),\n prompt: z\n .string()\n .min(1)\n .max(32_000)\n .describe(\"Bounded instructions captured before launching.\"),\n allowedConstructs: z\n .array(z.string().min(1).max(128))\n .max(64)\n .readonly()\n .describe(\"Only the capabilities granted by the workflow.\"),\n environment: z\n .strictObject({\n snapshotId: z\n .string()\n .min(1)\n .max(2048)\n .optional()\n .describe(\"Optional immutable environment snapshot.\"),\n timeoutMs: z\n .number()\n .int()\n .positive()\n .describe(\"Maximum execution duration in milliseconds.\"),\n })\n .describe(\"Reproducible environment policy.\"),\n limits: z\n .strictObject({\n maxTokens: z\n .number()\n .int()\n .positive()\n .optional()\n .describe(\"Maximum tokens for this execution.\"),\n maxCostUsd: usdSchema.optional().describe(\"Maximum execution spend.\"),\n })\n .describe(\"Adapter-enforced execution limits.\"),\n })\n .refine(\n (value) => jsonValueSchema.safeParse(value).success,\n \"Execution request must fit bounded work JSON\",\n );\n\nconst executionResultFieldsSchema = z.strictObject({\n execution: executionReferenceSchema,\n artifacts,\n usage: z\n .strictObject({\n inputTokens: z\n .number()\n .int()\n .nonnegative()\n .optional()\n .describe(\"Total input tokens for this attempt.\"),\n outputTokens: z\n .number()\n .int()\n .nonnegative()\n .optional()\n .describe(\"Total output tokens for this attempt.\"),\n computeMs: z.number().int().nonnegative().describe(\"Observed compute duration.\"),\n costUsd: usdSchema\n .optional()\n .describe(\"Observed attempt cost; absent means unknown, never free.\"),\n })\n .describe(\"Cumulative usage for this attempt, recorded once.\"),\n reason: z.string().min(1).max(2000).optional().describe(\"Human-readable outcome explanation.\"),\n});\n\ntype ExecutionResultFields = z.infer<typeof executionResultFieldsSchema>;\n\n/** Provider outcome, evidence references, and cumulative usage for one execution attempt. */\nexport type ExecutionResult = ExecutionResultFields &\n (\n | { status: \"completed\"; failureCode?: never }\n | { status: \"needs_input\"; failureCode?: never }\n | { status: \"cancelled\"; failureCode?: never }\n | { status: \"failed\"; failureCode?: \"missing_output\" }\n );\n\n/** Validates a provider outcome and cumulative usage without inferring Task success. */\nexport const executionResultSchema = z\n .discriminatedUnion(\"status\", [\n executionResultFieldsSchema.extend({\n status: z.literal(\"completed\").describe(\"The provider completed its bounded execution.\"),\n }),\n executionResultFieldsSchema.extend({\n status: z.literal(\"needs_input\").describe(\"The provider requires additional input.\"),\n }),\n executionResultFieldsSchema.extend({\n status: z.literal(\"cancelled\").describe(\"The execution was cancelled.\"),\n }),\n executionResultFieldsSchema.extend({\n status: z.literal(\"failed\").describe(\"The execution failed.\"),\n failureCode: z\n .literal(\"missing_output\")\n .optional()\n .describe(\n \"Required output was absent. Workflow policy, not this code, authorizes replacement.\",\n ),\n }),\n ])\n .refine(\n (value) => jsonValueSchema.safeParse(value).success,\n \"Execution result must fit bounded work JSON\",\n ) as z.ZodType<ExecutionResult>;\n\n/** Task identity and attempt fence used by execution operations and launch keys. */\nexport type TaskAttemptRef = z.infer<typeof taskAttemptRefSchema>;\n/** Constructs and validates a Task identity with its positive execution-attempt fence. */\nexport function taskAttemptRef(taskId: TaskAttemptRef[\"taskId\"], attempt: number): TaskAttemptRef {\n return taskAttemptRefSchema.parse({ taskId, attempt });\n}\n/** Converts a Task-shaped value into the canonical Task identity and attempt fence. */\nexport function taskAttemptRefFromTask(\n task: Pick<import(\"./task\").Task, \"id\" | \"attempt\">,\n): TaskAttemptRef {\n return taskAttemptRef(task.id, task.attempt);\n}\n/** Immutable repository, harness, capability, environment, and limit request for one coding Task attempt. */\nexport type CodingExecutionRequest = z.infer<typeof codingExecutionRequestSchema>;\n/** Durable evidence reference returned by an execution provider. */\nexport type ExecutionArtifact = z.infer<typeof executionArtifactSchema>;\n"],"mappings":";;;;;;;;AASA,MAAa,0BAA0B,EAAE,aAAa;CACpD,MAAM,EAAE,KAAK;EAAC;EAAS;EAAU;CAAK,CAAC,CAAC,CAAC,SAAS,yBAAyB;CAC3E,KAAK,EACF,OAAO,CAAC,CACR,IAAI,CAAC,CAAC,CACN,IAAI,IAAI,CAAC,CACT,SAAS,uDAAuD;AACrE,CAAC;AACD,MAAM,YAAY,EACf,MAAM,uBAAuB,CAAC,CAC9B,IAAI,EAAE,CAAC,CACP,SAAS,CAAC,CACV,SAAS,sCAAsC;;AAElD,MAAM,uBAAuB;CAC3B,QAAQ,aAAa,SAAS,+BAA+B;CAC7D,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,iCAAiC;AACjF;;AAEA,MAAa,uBAAuB,EAAE,aAAa,oBAAoB,CAAC,CAAC,SAAS;;AAKlF,MAAa,2BAA2B,EACrC,OAAO,CAAC,CACR,MACC,gDACA,oDACF;;AAGF,MAAa,+BAA+B,EACzC,aAAa;CACZ,GAAG;CACH,YAAY,EACT,aAAa;EACZ,MAAM;EACN,SAAS,EACN,OAAO,CAAC,CACR,MAAM,gBAAgB,CAAC,CACvB,SAAS,uCAAuC;CACrD,CAAC,CAAC,CACD,SAAS,kDAAkD;CAC9D,SAAS,EAAE,KAAK;EAAC;EAAe;EAAS;EAAM;CAAI,CAAC,CAAC,CAAC,SAAS,+BAA+B;CAC9F,QAAQ,EACL,OAAO,CAAC,CACR,IAAI,CAAC,CAAC,CACN,IAAI,IAAM,CAAC,CACX,SAAS,iDAAiD;CAC7D,mBAAmB,EAChB,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CACjC,IAAI,EAAE,CAAC,CACP,SAAS,CAAC,CACV,SAAS,gDAAgD;CAC5D,aAAa,EACV,aAAa;EACZ,YAAY,EACT,OAAO,CAAC,CACR,IAAI,CAAC,CAAC,CACN,IAAI,IAAI,CAAC,CACT,SAAS,CAAC,CACV,SAAS,0CAA0C;EACtD,WAAW,EACR,OAAO,CAAC,CACR,IAAI,CAAC,CACL,SAAS,CAAC,CACV,SAAS,6CAA6C;CAC3D,CAAC,CAAC,CACD,SAAS,kCAAkC;CAC9C,QAAQ,EACL,aAAa;EACZ,WAAW,EACR,OAAO,CAAC,CACR,IAAI,CAAC,CACL,SAAS,CAAC,CACV,SAAS,CAAC,CACV,SAAS,oCAAoC;EAChD,YAAY,UAAU,SAAS,CAAC,CAAC,SAAS,0BAA0B;CACtE,CAAC,CAAC,CACD,SAAS,oCAAoC;AAClD,CAAC,CAAC,CACD,QACE,UAAU,gBAAgB,UAAU,KAAK,CAAC,CAAC,SAC5C,8CACF;AAEF,MAAM,8BAA8B,EAAE,aAAa;CACjD,WAAW;CACX;CACA,OAAO,EACJ,aAAa;EACZ,aAAa,EACV,OAAO,CAAC,CACR,IAAI,CAAC,CACL,YAAY,CAAC,CACb,SAAS,CAAC,CACV,SAAS,sCAAsC;EAClD,cAAc,EACX,OAAO,CAAC,CACR,IAAI,CAAC,CACL,YAAY,CAAC,CACb,SAAS,CAAC,CACV,SAAS,uCAAuC;EACnD,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,4BAA4B;EAC/E,SAAS,UACN,SAAS,CAAC,CACV,SAAS,0DAA0D;CACxE,CAAC,CAAC,CACD,SAAS,mDAAmD;CAC/D,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAI,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,qCAAqC;AAC/F,CAAC;;AAcD,MAAa,wBAAwB,EAClC,mBAAmB,UAAU;CAC5B,4BAA4B,OAAO,EACjC,QAAQ,EAAE,QAAQ,WAAW,CAAC,CAAC,SAAS,+CAA+C,EACzF,CAAC;CACD,4BAA4B,OAAO,EACjC,QAAQ,EAAE,QAAQ,aAAa,CAAC,CAAC,SAAS,yCAAyC,EACrF,CAAC;CACD,4BAA4B,OAAO,EACjC,QAAQ,EAAE,QAAQ,WAAW,CAAC,CAAC,SAAS,8BAA8B,EACxE,CAAC;CACD,4BAA4B,OAAO;EACjC,QAAQ,EAAE,QAAQ,QAAQ,CAAC,CAAC,SAAS,uBAAuB;EAC5D,aAAa,EACV,QAAQ,gBAAgB,CAAC,CACzB,SAAS,CAAC,CACV,SACC,qFACF;CACJ,CAAC;AACH,CAAC,CAAC,CACD,QACE,UAAU,gBAAgB,UAAU,KAAK,CAAC,CAAC,SAC5C,6CACF;;AAKF,SAAgB,eAAe,QAAkC,SAAiC;CAChG,OAAO,qBAAqB,MAAM;EAAE;EAAQ;CAAQ,CAAC;AACvD;;AAEA,SAAgB,uBACd,MACgB;CAChB,OAAO,eAAe,KAAK,IAAI,KAAK,OAAO;AAC7C"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { RepositorySlug } from "./repository.mjs";
|
|
2
|
+
import { TaskKind } from "./task.mjs";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
//#region src/schema/factory-config.d.ts
|
|
5
|
+
/** Validates one repository allowlist entry and its configured dependency ordering. */
|
|
6
|
+
declare const factoryConfigRepositorySchema: z.ZodReadonly<z.ZodObject<{
|
|
7
|
+
slug: z.ZodType<`${string}/${string}`, string, z.core.$ZodTypeInternals<`${string}/${string}`, string>>;
|
|
8
|
+
defaultBranch: z.ZodDefault<z.ZodString>;
|
|
9
|
+
dependsOn: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodType<`${string}/${string}`, string, z.core.$ZodTypeInternals<`${string}/${string}`, string>>>>>;
|
|
10
|
+
}, z.core.$strict>>;
|
|
11
|
+
declare const githubConnectorSchema: z.ZodReadonly<z.ZodObject<{
|
|
12
|
+
owner: z.ZodString;
|
|
13
|
+
connector: z.ZodString;
|
|
14
|
+
}, z.core.$strict>>;
|
|
15
|
+
declare const slackConnectorSchema: z.ZodReadonly<z.ZodObject<{
|
|
16
|
+
connector: z.ZodString;
|
|
17
|
+
approvalChannel: z.ZodOptional<z.ZodString>;
|
|
18
|
+
}, z.core.$strict>>;
|
|
19
|
+
/** Validates stall detection and replacement-attempt limits for running Tasks. */
|
|
20
|
+
declare const executionPolicySchema: z.ZodReadonly<z.ZodObject<{
|
|
21
|
+
maxAttempts: z.ZodNumber;
|
|
22
|
+
stallMinutes: z.ZodNumber;
|
|
23
|
+
stallMinutesByKind: z.ZodDefault<z.ZodReadonly<z.ZodRecord<z.ZodType<TaskKind, unknown, z.core.$ZodTypeInternals<TaskKind, unknown>> & z.core.$partial, z.ZodNumber>>>;
|
|
24
|
+
}, z.core.$strict>>;
|
|
25
|
+
/** Stall detection and retry limits applied to running Tasks. */
|
|
26
|
+
type ExecutionPolicy = z.infer<typeof executionPolicySchema>;
|
|
27
|
+
/** Conservative default stall window and three-attempt execution policy. */
|
|
28
|
+
declare const defaultExecutionPolicy: Readonly<{
|
|
29
|
+
maxAttempts: number;
|
|
30
|
+
stallMinutes: number;
|
|
31
|
+
stallMinutesByKind: Readonly<Partial<Record<TaskKind, number>>>;
|
|
32
|
+
}>;
|
|
33
|
+
/** Validates the repositories, operators, connectors, budget, and policies of a Factory. */
|
|
34
|
+
declare const factoryConfigSchema: z.ZodReadonly<z.ZodObject<{
|
|
35
|
+
connectors: z.ZodDefault<z.ZodReadonly<z.ZodObject<{
|
|
36
|
+
github: z.ZodReadonly<z.ZodArray<z.ZodReadonly<z.ZodObject<{
|
|
37
|
+
owner: z.ZodString;
|
|
38
|
+
connector: z.ZodString;
|
|
39
|
+
}, z.core.$strict>>>>;
|
|
40
|
+
slack: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodReadonly<z.ZodObject<{
|
|
41
|
+
connector: z.ZodString;
|
|
42
|
+
approvalChannel: z.ZodOptional<z.ZodString>;
|
|
43
|
+
}, z.core.$strict>>>>>;
|
|
44
|
+
}, z.core.$strict>>>;
|
|
45
|
+
repositories: z.ZodReadonly<z.ZodArray<z.ZodReadonly<z.ZodObject<{
|
|
46
|
+
slug: z.ZodType<`${string}/${string}`, string, z.core.$ZodTypeInternals<`${string}/${string}`, string>>;
|
|
47
|
+
defaultBranch: z.ZodDefault<z.ZodString>;
|
|
48
|
+
dependsOn: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodType<`${string}/${string}`, string, z.core.$ZodTypeInternals<`${string}/${string}`, string>>>>>;
|
|
49
|
+
}, z.core.$strict>>>>;
|
|
50
|
+
operators: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
51
|
+
approval: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodReadonly<z.ZodObject<{
|
|
52
|
+
source: z.ZodOptional<z.ZodString>;
|
|
53
|
+
kind: z.ZodOptional<z.ZodString>;
|
|
54
|
+
priority: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
55
|
+
require: z.ZodBoolean;
|
|
56
|
+
}, z.core.$strict>>>>>;
|
|
57
|
+
budget: z.ZodDefault<z.ZodReadonly<z.ZodObject<{
|
|
58
|
+
totalUsd: z.ZodNumber;
|
|
59
|
+
investigationUsd: z.ZodNumber;
|
|
60
|
+
perTaskReservationUsd: z.ZodNumber;
|
|
61
|
+
warningPercent: z.ZodNumber;
|
|
62
|
+
perRepositoryUsd: z.ZodOptional<z.ZodReadonly<z.ZodRecord<z.ZodType<`${string}/${string}`, string, z.core.$ZodTypeInternals<`${string}/${string}`, string>>, z.ZodNumber>>>;
|
|
63
|
+
}, z.core.$strict>>>;
|
|
64
|
+
execution: z.ZodDefault<z.ZodReadonly<z.ZodObject<{
|
|
65
|
+
maxAttempts: z.ZodNumber;
|
|
66
|
+
stallMinutes: z.ZodNumber;
|
|
67
|
+
stallMinutesByKind: z.ZodDefault<z.ZodReadonly<z.ZodRecord<z.ZodType<TaskKind, unknown, z.core.$ZodTypeInternals<TaskKind, unknown>> & z.core.$partial, z.ZodNumber>>>;
|
|
68
|
+
}, z.core.$strict>>>;
|
|
69
|
+
}, z.core.$strict>>;
|
|
70
|
+
/** Fully resolved repository allowlist entry in a Factory configuration. */
|
|
71
|
+
type FactoryConfigRepository = z.infer<typeof factoryConfigRepositorySchema>;
|
|
72
|
+
/** Fully resolved and validated Factory configuration. */
|
|
73
|
+
type FactoryConfig = z.infer<typeof factoryConfigSchema>;
|
|
74
|
+
type FactoryConfigSchemaInput = z.input<typeof factoryConfigSchema>;
|
|
75
|
+
type FactoryConfigConnectorsInput = Readonly<{
|
|
76
|
+
github: readonly Readonly<z.input<typeof githubConnectorSchema>>[];
|
|
77
|
+
slack?: readonly Readonly<z.input<typeof slackConnectorSchema>>[];
|
|
78
|
+
}>;
|
|
79
|
+
/** Repository allowlist entry accepted when defining a Factory, before defaults are applied. */
|
|
80
|
+
type FactoryConfigRepositoryInput = Readonly<{
|
|
81
|
+
slug: RepositorySlug;
|
|
82
|
+
defaultBranch?: string;
|
|
83
|
+
dependsOn?: readonly RepositorySlug[];
|
|
84
|
+
}>;
|
|
85
|
+
/** Caller input accepted when defining a Factory, before schema defaults are applied. */
|
|
86
|
+
type FactoryConfigInput = Readonly<Omit<FactoryConfigSchemaInput, "connectors" | "repositories" | "operators"> & {
|
|
87
|
+
connectors?: FactoryConfigConnectorsInput;
|
|
88
|
+
repositories: readonly FactoryConfigRepositoryInput[];
|
|
89
|
+
operators: readonly string[];
|
|
90
|
+
}>;
|
|
91
|
+
/** Validates a Factory configuration and applies its declared defaults. */
|
|
92
|
+
declare function defineFactory(config: FactoryConfigInput): FactoryConfig;
|
|
93
|
+
//#endregion
|
|
94
|
+
export { ExecutionPolicy, FactoryConfig, FactoryConfigInput, FactoryConfigRepository, FactoryConfigRepositoryInput, defaultExecutionPolicy, defineFactory, executionPolicySchema, factoryConfigRepositorySchema, factoryConfigSchema };
|
|
95
|
+
//# sourceMappingURL=factory-config.d.mts.map
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { repositorySlugSchema } from "./repository.mjs";
|
|
2
|
+
import { budgetLimitsSchema } from "./budget.mjs";
|
|
3
|
+
import { allowByDefaultApprovalPolicy, approvalPolicySchema } from "../approval.mjs";
|
|
4
|
+
import { taskKindSchema } from "./task.mjs";
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
//#region src/schema/factory-config.ts
|
|
7
|
+
/** Validates one repository allowlist entry and its configured dependency ordering. */
|
|
8
|
+
const factoryConfigRepositorySchema = z.strictObject({
|
|
9
|
+
slug: repositorySlugSchema.describe("Repository this factory may work on."),
|
|
10
|
+
defaultBranch: z.string().min(1).default("main").describe("Branch changes land on, usually main."),
|
|
11
|
+
dependsOn: z.array(repositorySlugSchema).readonly().default([]).describe("Repositories that must land changes before this repository.")
|
|
12
|
+
}).readonly();
|
|
13
|
+
const githubConnectorSchema = z.strictObject({
|
|
14
|
+
owner: z.string().regex(/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/).describe("GitHub user or organization that owns this connector installation."),
|
|
15
|
+
connector: z.string().regex(/^github\/[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/).describe("Vercel Connect UID installed for this GitHub owner.")
|
|
16
|
+
}).readonly();
|
|
17
|
+
const slackConnectorSchema = z.strictObject({
|
|
18
|
+
connector: z.string().regex(/^slack\/[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/).describe("Vercel Connect UID installed for this Slack app."),
|
|
19
|
+
approvalChannel: z.string().regex(/^[CDG][A-Z0-9]+$/u).optional().describe("Explicit Slack channel for approval proposals that have no originating Slack thread. Absent disables cross-channel approval notifications.")
|
|
20
|
+
}).readonly();
|
|
21
|
+
/** Validates stall detection and replacement-attempt limits for running Tasks. */
|
|
22
|
+
const executionPolicySchema = z.strictObject({
|
|
23
|
+
maxAttempts: z.number().int().min(1).describe("Attempts a task may consume before a stall fails it for good."),
|
|
24
|
+
stallMinutes: z.number().int().min(1).describe("Minutes without progress before a running task is marked stalled."),
|
|
25
|
+
stallMinutesByKind: z.partialRecord(taskKindSchema, z.number().int().min(1)).readonly().default({}).describe("Per-kind stall windows for long single-step work, e.g. security_scan: 300.")
|
|
26
|
+
}).readonly();
|
|
27
|
+
/** Conservative default stall window and three-attempt execution policy. */
|
|
28
|
+
const defaultExecutionPolicy = executionPolicySchema.parse({
|
|
29
|
+
maxAttempts: 3,
|
|
30
|
+
stallMinutes: 45,
|
|
31
|
+
stallMinutesByKind: {}
|
|
32
|
+
});
|
|
33
|
+
/** Validates the repositories, operators, connectors, budget, and policies of a Factory. */
|
|
34
|
+
const factoryConfigSchema = z.strictObject({
|
|
35
|
+
connectors: z.strictObject({
|
|
36
|
+
github: z.array(githubConnectorSchema).readonly().refine((connectors) => new Set(connectors.map(({ owner }) => owner)).size === connectors.length, "GitHub connector owners must be unique."),
|
|
37
|
+
slack: z.array(slackConnectorSchema).max(1, "A factory may configure one Slack connector.").readonly().default([])
|
|
38
|
+
}).readonly().default({
|
|
39
|
+
github: [],
|
|
40
|
+
slack: []
|
|
41
|
+
}).describe("Provider connections available to this factory."),
|
|
42
|
+
repositories: z.array(factoryConfigRepositorySchema).min(1).readonly().describe("Repositories this factory is allowed to inspect and change."),
|
|
43
|
+
operators: z.array(z.string().min(1)).min(1).readonly().describe("Provider-qualified identities allowed to operate this factory."),
|
|
44
|
+
approval: approvalPolicySchema.default(allowByDefaultApprovalPolicy).describe("Which Tasks wait for a human before they run. First match wins."),
|
|
45
|
+
budget: budgetLimitsSchema.default({
|
|
46
|
+
totalUsd: 500,
|
|
47
|
+
investigationUsd: 100,
|
|
48
|
+
perTaskReservationUsd: 5,
|
|
49
|
+
warningPercent: 80
|
|
50
|
+
}).describe("Monthly spend limits. One non-disableable budget per factory per month."),
|
|
51
|
+
execution: executionPolicySchema.default(defaultExecutionPolicy).describe("Stall detection and retry limits for running tasks.")
|
|
52
|
+
}).readonly();
|
|
53
|
+
/** Validates a Factory configuration and applies its declared defaults. */
|
|
54
|
+
function defineFactory(config) {
|
|
55
|
+
return factoryConfigSchema.parse(config);
|
|
56
|
+
}
|
|
57
|
+
//#endregion
|
|
58
|
+
export { defaultExecutionPolicy, defineFactory, executionPolicySchema, factoryConfigRepositorySchema, factoryConfigSchema };
|
|
59
|
+
|
|
60
|
+
//# sourceMappingURL=factory-config.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory-config.mjs","names":[],"sources":["../../src/schema/factory-config.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { allowByDefaultApprovalPolicy, approvalPolicySchema } from \"../approval\";\nimport { budgetLimitsSchema } from \"./budget\";\nimport { repositorySlugSchema, type RepositorySlug } from \"./repository\";\nimport { taskKindSchema } from \"./task\";\n\n/** Validates one repository allowlist entry and its configured dependency ordering. */\nexport const factoryConfigRepositorySchema = z\n .strictObject({\n slug: repositorySlugSchema.describe(\"Repository this factory may work on.\"),\n defaultBranch: z\n .string()\n .min(1)\n .default(\"main\")\n .describe(\"Branch changes land on, usually main.\"),\n dependsOn: z\n .array(repositorySlugSchema)\n .readonly()\n .default([])\n .describe(\"Repositories that must land changes before this repository.\"),\n })\n .readonly();\n\nconst githubConnectorSchema = z\n .strictObject({\n owner: z\n .string()\n .regex(/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/)\n .describe(\"GitHub user or organization that owns this connector installation.\"),\n connector: z\n .string()\n .regex(/^github\\/[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/)\n .describe(\"Vercel Connect UID installed for this GitHub owner.\"),\n })\n .readonly();\n\nconst slackConnectorSchema = z\n .strictObject({\n connector: z\n .string()\n .regex(/^slack\\/[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/)\n .describe(\"Vercel Connect UID installed for this Slack app.\"),\n approvalChannel: z\n .string()\n .regex(/^[CDG][A-Z0-9]+$/u)\n .optional()\n .describe(\n \"Explicit Slack channel for approval proposals that have no originating Slack thread. Absent disables cross-channel approval notifications.\",\n ),\n })\n .readonly();\n\n/** Validates stall detection and replacement-attempt limits for running Tasks. */\nexport const executionPolicySchema = z\n .strictObject({\n maxAttempts: z\n .number()\n .int()\n .min(1)\n .describe(\"Attempts a task may consume before a stall fails it for good.\"),\n stallMinutes: z\n .number()\n .int()\n .min(1)\n .describe(\"Minutes without progress before a running task is marked stalled.\"),\n stallMinutesByKind: z\n .partialRecord(taskKindSchema, z.number().int().min(1))\n .readonly()\n .default({})\n .describe(\"Per-kind stall windows for long single-step work, e.g. security_scan: 300.\"),\n })\n .readonly();\n\n/** Stall detection and retry limits applied to running Tasks. */\nexport type ExecutionPolicy = z.infer<typeof executionPolicySchema>;\n\n/** Conservative default stall window and three-attempt execution policy. */\nexport const defaultExecutionPolicy = executionPolicySchema.parse({\n maxAttempts: 3,\n stallMinutes: 45,\n stallMinutesByKind: {},\n});\n\n/** Validates the repositories, operators, connectors, budget, and policies of a Factory. */\nexport const factoryConfigSchema = z\n .strictObject({\n connectors: z\n .strictObject({\n github: z\n .array(githubConnectorSchema)\n .readonly()\n .refine(\n (connectors) =>\n new Set(connectors.map(({ owner }) => owner)).size === connectors.length,\n \"GitHub connector owners must be unique.\",\n ),\n slack: z\n .array(slackConnectorSchema)\n .max(1, \"A factory may configure one Slack connector.\")\n .readonly()\n .default([]),\n })\n .readonly()\n .default({ github: [], slack: [] })\n .describe(\"Provider connections available to this factory.\"),\n repositories: z\n .array(factoryConfigRepositorySchema)\n .min(1)\n .readonly()\n .describe(\"Repositories this factory is allowed to inspect and change.\"),\n operators: z\n .array(z.string().min(1))\n .min(1)\n .readonly()\n .describe(\"Provider-qualified identities allowed to operate this factory.\"),\n approval: approvalPolicySchema\n .default(allowByDefaultApprovalPolicy)\n .describe(\"Which Tasks wait for a human before they run. First match wins.\"),\n budget: budgetLimitsSchema\n .default({\n totalUsd: 500,\n investigationUsd: 100,\n perTaskReservationUsd: 5,\n warningPercent: 80,\n })\n .describe(\"Monthly spend limits. One non-disableable budget per factory per month.\"),\n execution: executionPolicySchema\n .default(defaultExecutionPolicy)\n .describe(\"Stall detection and retry limits for running tasks.\"),\n })\n .readonly();\n\n/** Fully resolved repository allowlist entry in a Factory configuration. */\nexport type FactoryConfigRepository = z.infer<typeof factoryConfigRepositorySchema>;\n\n/** Fully resolved and validated Factory configuration. */\nexport type FactoryConfig = z.infer<typeof factoryConfigSchema>;\ntype FactoryConfigSchemaInput = z.input<typeof factoryConfigSchema>;\ntype FactoryConfigConnectorsInput = Readonly<{\n github: readonly Readonly<z.input<typeof githubConnectorSchema>>[];\n slack?: readonly Readonly<z.input<typeof slackConnectorSchema>>[];\n}>;\n/** Repository allowlist entry accepted when defining a Factory, before defaults are applied. */\nexport type FactoryConfigRepositoryInput = Readonly<{\n slug: RepositorySlug;\n defaultBranch?: string;\n dependsOn?: readonly RepositorySlug[];\n}>;\n/** Caller input accepted when defining a Factory, before schema defaults are applied. */\nexport type FactoryConfigInput = Readonly<\n Omit<FactoryConfigSchemaInput, \"connectors\" | \"repositories\" | \"operators\"> & {\n connectors?: FactoryConfigConnectorsInput;\n repositories: readonly FactoryConfigRepositoryInput[];\n operators: readonly string[];\n }\n>;\n\n/** Validates a Factory configuration and applies its declared defaults. */\nexport function defineFactory(config: FactoryConfigInput): FactoryConfig {\n return factoryConfigSchema.parse(config);\n}\n"],"mappings":";;;;;;;AAOA,MAAa,gCAAgC,EAC1C,aAAa;CACZ,MAAM,qBAAqB,SAAS,sCAAsC;CAC1E,eAAe,EACZ,OAAO,CAAC,CACR,IAAI,CAAC,CAAC,CACN,QAAQ,MAAM,CAAC,CACf,SAAS,uCAAuC;CACnD,WAAW,EACR,MAAM,oBAAoB,CAAC,CAC3B,SAAS,CAAC,CACV,QAAQ,CAAC,CAAC,CAAC,CACX,SAAS,6DAA6D;AAC3E,CAAC,CAAC,CACD,SAAS;AAEZ,MAAM,wBAAwB,EAC3B,aAAa;CACZ,OAAO,EACJ,OAAO,CAAC,CACR,MAAM,mCAAmC,CAAC,CAC1C,SAAS,oEAAoE;CAChF,WAAW,EACR,OAAO,CAAC,CACR,MAAM,2CAA2C,CAAC,CAClD,SAAS,qDAAqD;AACnE,CAAC,CAAC,CACD,SAAS;AAEZ,MAAM,uBAAuB,EAC1B,aAAa;CACZ,WAAW,EACR,OAAO,CAAC,CACR,MAAM,0CAA0C,CAAC,CACjD,SAAS,kDAAkD;CAC9D,iBAAiB,EACd,OAAO,CAAC,CACR,MAAM,mBAAmB,CAAC,CAC1B,SAAS,CAAC,CACV,SACC,4IACF;AACJ,CAAC,CAAC,CACD,SAAS;;AAGZ,MAAa,wBAAwB,EAClC,aAAa;CACZ,aAAa,EACV,OAAO,CAAC,CACR,IAAI,CAAC,CACL,IAAI,CAAC,CAAC,CACN,SAAS,+DAA+D;CAC3E,cAAc,EACX,OAAO,CAAC,CACR,IAAI,CAAC,CACL,IAAI,CAAC,CAAC,CACN,SAAS,mEAAmE;CAC/E,oBAAoB,EACjB,cAAc,gBAAgB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACtD,SAAS,CAAC,CACV,QAAQ,CAAC,CAAC,CAAC,CACX,SAAS,4EAA4E;AAC1F,CAAC,CAAC,CACD,SAAS;;AAMZ,MAAa,yBAAyB,sBAAsB,MAAM;CAChE,aAAa;CACb,cAAc;CACd,oBAAoB,CAAC;AACvB,CAAC;;AAGD,MAAa,sBAAsB,EAChC,aAAa;CACZ,YAAY,EACT,aAAa;EACZ,QAAQ,EACL,MAAM,qBAAqB,CAAC,CAC5B,SAAS,CAAC,CACV,QACE,eACC,IAAI,IAAI,WAAW,KAAK,EAAE,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,WAAW,QACpE,yCACF;EACF,OAAO,EACJ,MAAM,oBAAoB,CAAC,CAC3B,IAAI,GAAG,8CAA8C,CAAC,CACtD,SAAS,CAAC,CACV,QAAQ,CAAC,CAAC;CACf,CAAC,CAAC,CACD,SAAS,CAAC,CACV,QAAQ;EAAE,QAAQ,CAAC;EAAG,OAAO,CAAC;CAAE,CAAC,CAAC,CAClC,SAAS,iDAAiD;CAC7D,cAAc,EACX,MAAM,6BAA6B,CAAC,CACpC,IAAI,CAAC,CAAC,CACN,SAAS,CAAC,CACV,SAAS,6DAA6D;CACzE,WAAW,EACR,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACxB,IAAI,CAAC,CAAC,CACN,SAAS,CAAC,CACV,SAAS,gEAAgE;CAC5E,UAAU,qBACP,QAAQ,4BAA4B,CAAC,CACrC,SAAS,iEAAiE;CAC7E,QAAQ,mBACL,QAAQ;EACP,UAAU;EACV,kBAAkB;EAClB,uBAAuB;EACvB,gBAAgB;CAClB,CAAC,CAAC,CACD,SAAS,yEAAyE;CACrF,WAAW,sBACR,QAAQ,sBAAsB,CAAC,CAC/B,SAAS,qDAAqD;AACnE,CAAC,CAAC,CACD,SAAS;;AA4BZ,SAAgB,cAAc,QAA2C;CACvE,OAAO,oBAAoB,MAAM,MAAM;AACzC"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
//#region src/schema/finding.d.ts
|
|
3
|
+
/** Validates the operational urgency assigned to a repository finding. */
|
|
4
|
+
declare const findingPrioritySchema: z.ZodEnum<{
|
|
5
|
+
P0: "P0";
|
|
6
|
+
P1: "P1";
|
|
7
|
+
P2: "P2";
|
|
8
|
+
P3: "P3";
|
|
9
|
+
}>;
|
|
10
|
+
/** Validates the engineering concern category assigned to a finding. */
|
|
11
|
+
declare const findingCategorySchema: z.ZodEnum<{
|
|
12
|
+
security: "security";
|
|
13
|
+
correctness: "correctness";
|
|
14
|
+
reliability: "reliability";
|
|
15
|
+
performance: "performance";
|
|
16
|
+
compatibility: "compatibility";
|
|
17
|
+
accessibility: "accessibility";
|
|
18
|
+
documentation: "documentation";
|
|
19
|
+
maintainability: "maintainability";
|
|
20
|
+
testing: "testing";
|
|
21
|
+
usability: "usability";
|
|
22
|
+
}>;
|
|
23
|
+
/** Validates how strongly the available evidence supports a finding. */
|
|
24
|
+
declare const findingVerificationLevelSchema: z.ZodEnum<{
|
|
25
|
+
unverified: "unverified";
|
|
26
|
+
supported: "supported";
|
|
27
|
+
confirmed: "confirmed";
|
|
28
|
+
}>;
|
|
29
|
+
/** Validates the method used to investigate or demonstrate a finding. */
|
|
30
|
+
declare const findingVerificationMethodSchema: z.ZodEnum<{
|
|
31
|
+
documentation: "documentation";
|
|
32
|
+
code_inspection: "code_inspection";
|
|
33
|
+
static_analysis: "static_analysis";
|
|
34
|
+
manual_reproduction: "manual_reproduction";
|
|
35
|
+
unit_test: "unit_test";
|
|
36
|
+
integration_test: "integration_test";
|
|
37
|
+
e2e_test: "e2e_test";
|
|
38
|
+
runtime_observation: "runtime_observation";
|
|
39
|
+
}>;
|
|
40
|
+
/**
|
|
41
|
+
* What was done to check the finding. Forces a reporter to distinguish "I
|
|
42
|
+
* think this is a problem" from "I demonstrated it", which is the axis a human
|
|
43
|
+
* approving fixes cares about most.
|
|
44
|
+
*/
|
|
45
|
+
declare const findingVerificationSchema: z.ZodObject<{
|
|
46
|
+
level: z.ZodEnum<{
|
|
47
|
+
unverified: "unverified";
|
|
48
|
+
supported: "supported";
|
|
49
|
+
confirmed: "confirmed";
|
|
50
|
+
}>;
|
|
51
|
+
method: z.ZodEnum<{
|
|
52
|
+
documentation: "documentation";
|
|
53
|
+
code_inspection: "code_inspection";
|
|
54
|
+
static_analysis: "static_analysis";
|
|
55
|
+
manual_reproduction: "manual_reproduction";
|
|
56
|
+
unit_test: "unit_test";
|
|
57
|
+
integration_test: "integration_test";
|
|
58
|
+
e2e_test: "e2e_test";
|
|
59
|
+
runtime_observation: "runtime_observation";
|
|
60
|
+
}>;
|
|
61
|
+
summary: z.ZodString;
|
|
62
|
+
limitations: z.ZodOptional<z.ZodString>;
|
|
63
|
+
}, z.core.$strict>;
|
|
64
|
+
/** A single problem found in a repository, as a scanner or agent reports it. */
|
|
65
|
+
declare const findingSchema: z.ZodObject<{
|
|
66
|
+
title: z.ZodString;
|
|
67
|
+
body: z.ZodString;
|
|
68
|
+
path: z.ZodOptional<z.ZodString>;
|
|
69
|
+
line: z.ZodOptional<z.ZodNumber>;
|
|
70
|
+
endLine: z.ZodOptional<z.ZodNumber>;
|
|
71
|
+
priority: z.ZodEnum<{
|
|
72
|
+
P0: "P0";
|
|
73
|
+
P1: "P1";
|
|
74
|
+
P2: "P2";
|
|
75
|
+
P3: "P3";
|
|
76
|
+
}>;
|
|
77
|
+
category: z.ZodEnum<{
|
|
78
|
+
security: "security";
|
|
79
|
+
correctness: "correctness";
|
|
80
|
+
reliability: "reliability";
|
|
81
|
+
performance: "performance";
|
|
82
|
+
compatibility: "compatibility";
|
|
83
|
+
accessibility: "accessibility";
|
|
84
|
+
documentation: "documentation";
|
|
85
|
+
maintainability: "maintainability";
|
|
86
|
+
testing: "testing";
|
|
87
|
+
usability: "usability";
|
|
88
|
+
}>;
|
|
89
|
+
verification: z.ZodObject<{
|
|
90
|
+
level: z.ZodEnum<{
|
|
91
|
+
unverified: "unverified";
|
|
92
|
+
supported: "supported";
|
|
93
|
+
confirmed: "confirmed";
|
|
94
|
+
}>;
|
|
95
|
+
method: z.ZodEnum<{
|
|
96
|
+
documentation: "documentation";
|
|
97
|
+
code_inspection: "code_inspection";
|
|
98
|
+
static_analysis: "static_analysis";
|
|
99
|
+
manual_reproduction: "manual_reproduction";
|
|
100
|
+
unit_test: "unit_test";
|
|
101
|
+
integration_test: "integration_test";
|
|
102
|
+
e2e_test: "e2e_test";
|
|
103
|
+
runtime_observation: "runtime_observation";
|
|
104
|
+
}>;
|
|
105
|
+
summary: z.ZodString;
|
|
106
|
+
limitations: z.ZodOptional<z.ZodString>;
|
|
107
|
+
}, z.core.$strict>;
|
|
108
|
+
tool: z.ZodOptional<z.ZodString>;
|
|
109
|
+
ruleId: z.ZodOptional<z.ZodString>;
|
|
110
|
+
}, z.core.$strict>;
|
|
111
|
+
/** Operational urgency of a repository finding, from P0 through P3. */
|
|
112
|
+
type FindingPriority = z.infer<typeof findingPrioritySchema>;
|
|
113
|
+
/** Engineering concern category used to group a repository finding. */
|
|
114
|
+
type FindingCategory = z.infer<typeof findingCategorySchema>;
|
|
115
|
+
/** Strength of evidence supporting a reported finding. */
|
|
116
|
+
type FindingVerificationLevel = z.infer<typeof findingVerificationLevelSchema>;
|
|
117
|
+
/** Investigation method used to support a reported finding. */
|
|
118
|
+
type FindingVerificationMethod = z.infer<typeof findingVerificationMethodSchema>;
|
|
119
|
+
/** Evidence level, method, and limitations recorded for a finding. */
|
|
120
|
+
type FindingVerification = z.infer<typeof findingVerificationSchema>;
|
|
121
|
+
/** Structured repository problem reported by a scanner or agent. */
|
|
122
|
+
type Finding = z.infer<typeof findingSchema>;
|
|
123
|
+
//#endregion
|
|
124
|
+
export { Finding, FindingCategory, FindingPriority, FindingVerification, FindingVerificationLevel, FindingVerificationMethod, findingCategorySchema, findingPrioritySchema, findingSchema, findingVerificationLevelSchema, findingVerificationMethodSchema, findingVerificationSchema };
|
|
125
|
+
//# sourceMappingURL=finding.d.mts.map
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
//#region src/schema/finding.ts
|
|
3
|
+
/** Validates the operational urgency assigned to a repository finding. */
|
|
4
|
+
const findingPrioritySchema = z.enum([
|
|
5
|
+
"P0",
|
|
6
|
+
"P1",
|
|
7
|
+
"P2",
|
|
8
|
+
"P3"
|
|
9
|
+
]).describe("Urgency of a finding: P0 is drop-everything, P3 is nice-to-have.");
|
|
10
|
+
/** Validates the engineering concern category assigned to a finding. */
|
|
11
|
+
const findingCategorySchema = z.enum([
|
|
12
|
+
"security",
|
|
13
|
+
"correctness",
|
|
14
|
+
"reliability",
|
|
15
|
+
"performance",
|
|
16
|
+
"compatibility",
|
|
17
|
+
"accessibility",
|
|
18
|
+
"documentation",
|
|
19
|
+
"maintainability",
|
|
20
|
+
"testing",
|
|
21
|
+
"usability"
|
|
22
|
+
]);
|
|
23
|
+
/** Validates how strongly the available evidence supports a finding. */
|
|
24
|
+
const findingVerificationLevelSchema = z.enum([
|
|
25
|
+
"unverified",
|
|
26
|
+
"supported",
|
|
27
|
+
"confirmed"
|
|
28
|
+
]).describe("How sure the reporter is: unverified = suspected from reading; supported = evidence points to it; confirmed = demonstrated.");
|
|
29
|
+
/** Validates the method used to investigate or demonstrate a finding. */
|
|
30
|
+
const findingVerificationMethodSchema = z.enum([
|
|
31
|
+
"code_inspection",
|
|
32
|
+
"static_analysis",
|
|
33
|
+
"manual_reproduction",
|
|
34
|
+
"unit_test",
|
|
35
|
+
"integration_test",
|
|
36
|
+
"e2e_test",
|
|
37
|
+
"runtime_observation",
|
|
38
|
+
"documentation"
|
|
39
|
+
]);
|
|
40
|
+
/**
|
|
41
|
+
* What was done to check the finding. Forces a reporter to distinguish "I
|
|
42
|
+
* think this is a problem" from "I demonstrated it", which is the axis a human
|
|
43
|
+
* approving fixes cares about most.
|
|
44
|
+
*/
|
|
45
|
+
const findingVerificationSchema = z.strictObject({
|
|
46
|
+
level: findingVerificationLevelSchema,
|
|
47
|
+
method: findingVerificationMethodSchema,
|
|
48
|
+
summary: z.string().min(1).max(2e3).describe("What was checked and what it showed."),
|
|
49
|
+
limitations: z.string().min(1).max(2e3).optional().describe("What could not be checked.")
|
|
50
|
+
});
|
|
51
|
+
/** A single problem found in a repository, as a scanner or agent reports it. */
|
|
52
|
+
const findingSchema = z.strictObject({
|
|
53
|
+
title: z.string().min(1).max(200),
|
|
54
|
+
body: z.string().min(1).max(8e3).describe("The problem, its impact, and how to fix it. Markdown."),
|
|
55
|
+
path: z.string().min(1).max(500).optional().describe("Repository-relative file path."),
|
|
56
|
+
line: z.number().int().min(1).optional(),
|
|
57
|
+
endLine: z.number().int().min(1).optional(),
|
|
58
|
+
priority: findingPrioritySchema,
|
|
59
|
+
category: findingCategorySchema,
|
|
60
|
+
verification: findingVerificationSchema,
|
|
61
|
+
tool: z.string().min(1).max(100).optional().describe("Scanner that produced it, e.g. deepsec."),
|
|
62
|
+
ruleId: z.string().min(1).max(200).optional().describe("Scanner rule or check id, when there is one.")
|
|
63
|
+
});
|
|
64
|
+
//#endregion
|
|
65
|
+
export { findingCategorySchema, findingPrioritySchema, findingSchema, findingVerificationLevelSchema, findingVerificationMethodSchema, findingVerificationSchema };
|
|
66
|
+
|
|
67
|
+
//# sourceMappingURL=finding.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"finding.mjs","names":[],"sources":["../../src/schema/finding.ts"],"sourcesContent":["import { z } from \"zod\";\n\n/** Validates the operational urgency assigned to a repository finding. */\nexport const findingPrioritySchema = z\n .enum([\"P0\", \"P1\", \"P2\", \"P3\"])\n .describe(\"Urgency of a finding: P0 is drop-everything, P3 is nice-to-have.\");\n\n/** Validates the engineering concern category assigned to a finding. */\nexport const findingCategorySchema = z.enum([\n \"security\",\n \"correctness\",\n \"reliability\",\n \"performance\",\n \"compatibility\",\n \"accessibility\",\n \"documentation\",\n \"maintainability\",\n \"testing\",\n \"usability\",\n]);\n\n/** Validates how strongly the available evidence supports a finding. */\nexport const findingVerificationLevelSchema = z\n .enum([\"unverified\", \"supported\", \"confirmed\"])\n .describe(\n \"How sure the reporter is: unverified = suspected from reading; supported = evidence points to it; confirmed = demonstrated.\",\n );\n\n/** Validates the method used to investigate or demonstrate a finding. */\nexport const findingVerificationMethodSchema = z.enum([\n \"code_inspection\",\n \"static_analysis\",\n \"manual_reproduction\",\n \"unit_test\",\n \"integration_test\",\n \"e2e_test\",\n \"runtime_observation\",\n \"documentation\",\n]);\n\n/**\n * What was done to check the finding. Forces a reporter to distinguish \"I\n * think this is a problem\" from \"I demonstrated it\", which is the axis a human\n * approving fixes cares about most.\n */\nexport const findingVerificationSchema = z.strictObject({\n level: findingVerificationLevelSchema,\n method: findingVerificationMethodSchema,\n summary: z.string().min(1).max(2000).describe(\"What was checked and what it showed.\"),\n limitations: z.string().min(1).max(2000).optional().describe(\"What could not be checked.\"),\n});\n\n/** A single problem found in a repository, as a scanner or agent reports it. */\nexport const findingSchema = z.strictObject({\n title: z.string().min(1).max(200),\n body: z\n .string()\n .min(1)\n .max(8000)\n .describe(\"The problem, its impact, and how to fix it. Markdown.\"),\n path: z.string().min(1).max(500).optional().describe(\"Repository-relative file path.\"),\n line: z.number().int().min(1).optional(),\n endLine: z.number().int().min(1).optional(),\n priority: findingPrioritySchema,\n category: findingCategorySchema,\n verification: findingVerificationSchema,\n tool: z.string().min(1).max(100).optional().describe(\"Scanner that produced it, e.g. deepsec.\"),\n ruleId: z\n .string()\n .min(1)\n .max(200)\n .optional()\n .describe(\"Scanner rule or check id, when there is one.\"),\n});\n\n/** Operational urgency of a repository finding, from P0 through P3. */\nexport type FindingPriority = z.infer<typeof findingPrioritySchema>;\n/** Engineering concern category used to group a repository finding. */\nexport type FindingCategory = z.infer<typeof findingCategorySchema>;\n/** Strength of evidence supporting a reported finding. */\nexport type FindingVerificationLevel = z.infer<typeof findingVerificationLevelSchema>;\n/** Investigation method used to support a reported finding. */\nexport type FindingVerificationMethod = z.infer<typeof findingVerificationMethodSchema>;\n/** Evidence level, method, and limitations recorded for a finding. */\nexport type FindingVerification = z.infer<typeof findingVerificationSchema>;\n/** Structured repository problem reported by a scanner or agent. */\nexport type Finding = z.infer<typeof findingSchema>;\n"],"mappings":";;;AAGA,MAAa,wBAAwB,EAClC,KAAK;CAAC;CAAM;CAAM;CAAM;AAAI,CAAC,CAAC,CAC9B,SAAS,kEAAkE;;AAG9E,MAAa,wBAAwB,EAAE,KAAK;CAC1C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;;AAGD,MAAa,iCAAiC,EAC3C,KAAK;CAAC;CAAc;CAAa;AAAW,CAAC,CAAC,CAC9C,SACC,6HACF;;AAGF,MAAa,kCAAkC,EAAE,KAAK;CACpD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;;;;;;AAOD,MAAa,4BAA4B,EAAE,aAAa;CACtD,OAAO;CACP,QAAQ;CACR,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAI,CAAC,CAAC,SAAS,sCAAsC;CACpF,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAI,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,4BAA4B;AAC3F,CAAC;;AAGD,MAAa,gBAAgB,EAAE,aAAa;CAC1C,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG;CAChC,MAAM,EACH,OAAO,CAAC,CACR,IAAI,CAAC,CAAC,CACN,IAAI,GAAI,CAAC,CACT,SAAS,uDAAuD;CACnE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,gCAAgC;CACrF,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;CACvC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;CAC1C,UAAU;CACV,UAAU;CACV,cAAc;CACd,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,yCAAyC;CAC9F,QAAQ,EACL,OAAO,CAAC,CACR,IAAI,CAAC,CAAC,CACN,IAAI,GAAG,CAAC,CACR,SAAS,CAAC,CACV,SAAS,8CAA8C;AAC5D,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
//#region src/schema/id.d.ts
|
|
3
|
+
/** Validates a stable Factory identifier. */
|
|
4
|
+
declare const factoryIdSchema: z.ZodType<`fac_${string}`, string, z.core.$ZodTypeInternals<`fac_${string}`, string>>;
|
|
5
|
+
/** Validates a stable repository identifier. */
|
|
6
|
+
declare const repositoryIdSchema: z.ZodType<`repo_${string}`, string, z.core.$ZodTypeInternals<`repo_${string}`, string>>;
|
|
7
|
+
/** Validates a stable inbound Signal identifier. */
|
|
8
|
+
declare const signalIdSchema: z.ZodType<`sig_${string}`, string, z.core.$ZodTypeInternals<`sig_${string}`, string>>;
|
|
9
|
+
/** Validates a stable Task identifier. */
|
|
10
|
+
declare const taskIdSchema: z.ZodType<`task_${string}`, string, z.core.$ZodTypeInternals<`task_${string}`, string>>;
|
|
11
|
+
/** Validates a stable Change identifier. */
|
|
12
|
+
declare const changeIdSchema: z.ZodType<`chg_${string}`, string, z.core.$ZodTypeInternals<`chg_${string}`, string>>;
|
|
13
|
+
/** Validates a stable immutable Receipt identifier. */
|
|
14
|
+
declare const receiptIdSchema: z.ZodType<`rcpt_${string}`, string, z.core.$ZodTypeInternals<`rcpt_${string}`, string>>;
|
|
15
|
+
/** Validates a stable communication outbox identifier. */
|
|
16
|
+
declare const outboxIdSchema: z.ZodType<`out_${string}`, string, z.core.$ZodTypeInternals<`out_${string}`, string>>;
|
|
17
|
+
/** Validates a stable immutable answer-event identifier. */
|
|
18
|
+
declare const answerIdSchema: z.ZodType<`ans_${string}`, string, z.core.$ZodTypeInternals<`ans_${string}`, string>>;
|
|
19
|
+
/** Validates a nonempty repository scope expressed as repository identifiers. */
|
|
20
|
+
declare const repositoryIdsSchema: z.ZodReadonly<z.ZodTuple<[z.ZodType<`repo_${string}`, string, z.core.$ZodTypeInternals<`repo_${string}`, string>>], z.ZodType<`repo_${string}`, string, z.core.$ZodTypeInternals<`repo_${string}`, string>>>>;
|
|
21
|
+
/** Constructs a validated nonempty repository scope from typed identifiers. */
|
|
22
|
+
declare function repositoryScope(first: RepositoryId, ...rest: readonly RepositoryId[]): RepositoryIds;
|
|
23
|
+
/** Stable identifier for one configured Factory. */
|
|
24
|
+
type FactoryId = z.infer<typeof factoryIdSchema>;
|
|
25
|
+
/** Stable identifier for one configured repository. */
|
|
26
|
+
type RepositoryId = z.infer<typeof repositoryIdSchema>;
|
|
27
|
+
/** Nonempty ordered repository scope attached to one Task or event. */
|
|
28
|
+
type RepositoryIds = z.infer<typeof repositoryIdsSchema>;
|
|
29
|
+
/** Stable identifier for one normalized inbound Signal. */
|
|
30
|
+
type SignalId = z.infer<typeof signalIdSchema>;
|
|
31
|
+
/** Stable identifier for one durable unit of workflow work. */
|
|
32
|
+
type TaskId = z.infer<typeof taskIdSchema>;
|
|
33
|
+
/** Stable identifier for one human-visible pull-request Change. */
|
|
34
|
+
type ChangeId = z.infer<typeof changeIdSchema>;
|
|
35
|
+
/** Stable identifier for one immutable audit Receipt. */
|
|
36
|
+
type ReceiptId = z.infer<typeof receiptIdSchema>;
|
|
37
|
+
/** Stable identifier for one communication outbox event. */
|
|
38
|
+
type OutboxId = z.infer<typeof outboxIdSchema>;
|
|
39
|
+
/** Stable identifier for one immutable authenticated answer event. */
|
|
40
|
+
type AnswerId = z.infer<typeof answerIdSchema>;
|
|
41
|
+
//#endregion
|
|
42
|
+
export { AnswerId, ChangeId, FactoryId, OutboxId, ReceiptId, RepositoryId, RepositoryIds, SignalId, TaskId, answerIdSchema, changeIdSchema, factoryIdSchema, outboxIdSchema, receiptIdSchema, repositoryIdSchema, repositoryIdsSchema, repositoryScope, signalIdSchema, taskIdSchema };
|
|
43
|
+
//# sourceMappingURL=id.d.mts.map
|