@blxzer/pactile 0.6.0-beta.2 → 0.6.0-beta.4
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 +93 -84
- package/README.zh-CN.md +90 -81
- package/dist/bin/compat-warning.d.ts +2 -0
- package/dist/bin/compat-warning.d.ts.map +1 -0
- package/dist/bin/compat-warning.js +8 -0
- package/dist/bin/compat-warning.js.map +1 -0
- package/dist/bin/cstl.d.ts +3 -0
- package/dist/bin/cstl.d.ts.map +1 -0
- package/{bin → dist/bin}/cstl.js +2 -3
- package/dist/bin/cstl.js.map +1 -0
- package/dist/bin/pactile.d.ts +3 -0
- package/dist/bin/pactile.d.ts.map +1 -0
- package/dist/bin/pactile.js +4 -0
- package/dist/bin/pactile.js.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +77 -17
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/capability.d.ts +3 -0
- package/dist/commands/capability.d.ts.map +1 -0
- package/dist/commands/capability.js +129 -0
- package/dist/commands/capability.js.map +1 -0
- package/dist/commands/codex.d.ts.map +1 -1
- package/dist/commands/codex.js +54 -6
- package/dist/commands/codex.js.map +1 -1
- package/dist/commands/context.d.ts +2 -0
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +367 -41
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/detach.d.ts.map +1 -1
- package/dist/commands/detach.js +5 -4
- package/dist/commands/detach.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +615 -259
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/legacy-task.d.ts +3 -0
- package/dist/commands/legacy-task.d.ts.map +1 -0
- package/dist/commands/legacy-task.js +295 -0
- package/dist/commands/legacy-task.js.map +1 -0
- package/dist/commands/pi.d.ts +3 -2
- package/dist/commands/pi.d.ts.map +1 -1
- package/dist/commands/pi.js +333 -10
- package/dist/commands/pi.js.map +1 -1
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +148 -24
- package/dist/commands/session.js.map +1 -1
- package/dist/commands/task-schedule.d.ts +17 -0
- package/dist/commands/task-schedule.d.ts.map +1 -0
- package/dist/commands/task-schedule.js +395 -0
- package/dist/commands/task-schedule.js.map +1 -0
- package/dist/commands/task-verify-plan.d.ts +3 -0
- package/dist/commands/task-verify-plan.d.ts.map +1 -0
- package/dist/commands/task-verify-plan.js +503 -0
- package/dist/commands/task-verify-plan.js.map +1 -0
- package/dist/commands/task-worktree-close.d.ts +4 -0
- package/dist/commands/task-worktree-close.d.ts.map +1 -0
- package/dist/commands/task-worktree-close.js +81 -0
- package/dist/commands/task-worktree-close.js.map +1 -0
- package/dist/commands/task.d.ts +3 -0
- package/dist/commands/task.d.ts.map +1 -1
- package/dist/commands/task.js +1373 -184
- package/dist/commands/task.js.map +1 -1
- package/dist/commands/tile-selection.d.ts +3 -0
- package/dist/commands/tile-selection.d.ts.map +1 -0
- package/dist/commands/tile-selection.js +174 -0
- package/dist/commands/tile-selection.js.map +1 -0
- package/dist/commands/update.d.ts +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +80 -55
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/worktree.d.ts +4 -0
- package/dist/commands/worktree.d.ts.map +1 -0
- package/dist/commands/worktree.js +198 -0
- package/dist/commands/worktree.js.map +1 -0
- package/dist/configurators/shared.js +1 -1
- package/dist/configurators/shared.js.map +1 -1
- package/dist/core/compat/environment.d.ts +0 -1
- package/dist/core/compat/environment.d.ts.map +1 -1
- package/dist/core/compat/environment.js +1 -9
- package/dist/core/compat/environment.js.map +1 -1
- package/dist/core/pactile/bounded-capabilities.d.ts +127 -0
- package/dist/core/pactile/bounded-capabilities.d.ts.map +1 -0
- package/dist/core/pactile/bounded-capabilities.js +188 -0
- package/dist/core/pactile/bounded-capabilities.js.map +1 -0
- package/dist/core/pactile/index.d.ts +1 -0
- package/dist/core/pactile/index.d.ts.map +1 -1
- package/dist/core/pactile/index.js +1 -0
- package/dist/core/pactile/index.js.map +1 -1
- package/dist/core/task/index.d.ts +4 -2
- package/dist/core/task/index.d.ts.map +1 -1
- package/dist/core/task/index.js +2 -1
- package/dist/core/task/index.js.map +1 -1
- package/dist/core/task/kernel-cli.d.ts +14 -1
- package/dist/core/task/kernel-cli.d.ts.map +1 -1
- package/dist/core/task/kernel-cli.js +128 -0
- package/dist/core/task/kernel-cli.js.map +1 -1
- package/dist/core/task/kernel-contract.d.ts +6 -3
- package/dist/core/task/kernel-contract.d.ts.map +1 -1
- package/dist/core/task/kernel-contract.js +71 -23
- package/dist/core/task/kernel-contract.js.map +1 -1
- package/dist/core/task/kernel-store.d.ts +6 -0
- package/dist/core/task/kernel-store.d.ts.map +1 -1
- package/dist/core/task/kernel-store.js +54 -2
- package/dist/core/task/kernel-store.js.map +1 -1
- package/dist/core/task/legacy-task-migration-reader.d.ts +137 -0
- package/dist/core/task/legacy-task-migration-reader.d.ts.map +1 -0
- package/dist/core/task/legacy-task-migration-reader.js +512 -0
- package/dist/core/task/legacy-task-migration-reader.js.map +1 -0
- package/dist/core/task/legacy-task-migration.d.ts +105 -0
- package/dist/core/task/legacy-task-migration.d.ts.map +1 -0
- package/dist/core/task/legacy-task-migration.js +562 -0
- package/dist/core/task/legacy-task-migration.js.map +1 -0
- package/dist/core/task/legacy-task-overlay-durable-io.d.ts +18 -0
- package/dist/core/task/legacy-task-overlay-durable-io.d.ts.map +1 -0
- package/dist/core/task/legacy-task-overlay-durable-io.js +66 -0
- package/dist/core/task/legacy-task-overlay-durable-io.js.map +1 -0
- package/dist/core/task/legacy-task-reconciliation-reader.d.ts +26 -0
- package/dist/core/task/legacy-task-reconciliation-reader.d.ts.map +1 -0
- package/dist/core/task/legacy-task-reconciliation-reader.js +324 -0
- package/dist/core/task/legacy-task-reconciliation-reader.js.map +1 -0
- package/dist/core/task/legacy-task-v2-import.d.ts +67 -0
- package/dist/core/task/legacy-task-v2-import.d.ts.map +1 -0
- package/dist/core/task/legacy-task-v2-import.js +1046 -0
- package/dist/core/task/legacy-task-v2-import.js.map +1 -0
- package/dist/core/task/project-file-observer.d.ts +46 -0
- package/dist/core/task/project-file-observer.d.ts.map +1 -0
- package/dist/core/task/project-file-observer.js +618 -0
- package/dist/core/task/project-file-observer.js.map +1 -0
- package/dist/core/task/start-authority.d.ts +14 -0
- package/dist/core/task/start-authority.d.ts.map +1 -0
- package/dist/core/task/start-authority.js +146 -0
- package/dist/core/task/start-authority.js.map +1 -0
- package/dist/core/task/strategy.d.ts +24 -0
- package/dist/core/task/strategy.d.ts.map +1 -0
- package/dist/core/task/strategy.js +136 -0
- package/dist/core/task/strategy.js.map +1 -0
- package/dist/core/task/task-candidate-observer.d.ts +111 -0
- package/dist/core/task/task-candidate-observer.d.ts.map +1 -0
- package/dist/core/task/task-candidate-observer.js +762 -0
- package/dist/core/task/task-candidate-observer.js.map +1 -0
- package/dist/core/task/task-kernel-close.d.ts +5 -0
- package/dist/core/task/task-kernel-close.d.ts.map +1 -0
- package/dist/core/task/task-kernel-close.js +367 -0
- package/dist/core/task/task-kernel-close.js.map +1 -0
- package/dist/core/task/task-kernel-dependencies.d.ts +3 -0
- package/dist/core/task/task-kernel-dependencies.d.ts.map +1 -0
- package/dist/core/task/task-kernel-dependencies.js +24 -0
- package/dist/core/task/task-kernel-dependencies.js.map +1 -0
- package/dist/core/task/task-kernel-host.d.ts +5 -0
- package/dist/core/task/task-kernel-host.d.ts.map +1 -0
- package/dist/core/task/task-kernel-host.js +136 -0
- package/dist/core/task/task-kernel-host.js.map +1 -0
- package/dist/core/task/task-kernel-paths.d.ts +19 -0
- package/dist/core/task/task-kernel-paths.d.ts.map +1 -0
- package/dist/core/task/task-kernel-paths.js +237 -0
- package/dist/core/task/task-kernel-paths.js.map +1 -0
- package/dist/core/task/task-kernel-reviews.d.ts +3 -0
- package/dist/core/task/task-kernel-reviews.d.ts.map +1 -0
- package/dist/core/task/task-kernel-reviews.js +100 -0
- package/dist/core/task/task-kernel-reviews.js.map +1 -0
- package/dist/core/task/task-kernel-runs.d.ts +5 -0
- package/dist/core/task/task-kernel-runs.d.ts.map +1 -0
- package/dist/core/task/task-kernel-runs.js +196 -0
- package/dist/core/task/task-kernel-runs.js.map +1 -0
- package/dist/core/task/task-kernel-schema.d.ts +29 -0
- package/dist/core/task/task-kernel-schema.d.ts.map +1 -0
- package/dist/core/task/task-kernel-schema.js +1169 -0
- package/dist/core/task/task-kernel-schema.js.map +1 -0
- package/dist/core/task/task-kernel-store-v2.d.ts +33 -0
- package/dist/core/task/task-kernel-store-v2.d.ts.map +1 -0
- package/dist/core/task/task-kernel-store-v2.js +574 -0
- package/dist/core/task/task-kernel-store-v2.js.map +1 -0
- package/dist/core/task/task-kernel-types.d.ts +585 -0
- package/dist/core/task/task-kernel-types.d.ts.map +1 -0
- package/dist/core/task/task-kernel-types.js +31 -0
- package/dist/core/task/task-kernel-types.js.map +1 -0
- package/dist/core/task/task-kernel-workspaces.d.ts +10 -0
- package/dist/core/task/task-kernel-workspaces.d.ts.map +1 -0
- package/dist/core/task/task-kernel-workspaces.js +250 -0
- package/dist/core/task/task-kernel-workspaces.js.map +1 -0
- package/dist/core/task/task-kernel-write-set.d.ts +3 -0
- package/dist/core/task/task-kernel-write-set.d.ts.map +1 -0
- package/dist/core/task/task-kernel-write-set.js +12 -0
- package/dist/core/task/task-kernel-write-set.js.map +1 -0
- package/dist/core/task/task-kernel.d.ts +19 -0
- package/dist/core/task/task-kernel.d.ts.map +1 -0
- package/dist/core/task/task-kernel.js +17 -0
- package/dist/core/task/task-kernel.js.map +1 -0
- package/dist/core/task/task-pull-request-observer.d.ts +25 -0
- package/dist/core/task/task-pull-request-observer.d.ts.map +1 -0
- package/dist/core/task/task-pull-request-observer.js +187 -0
- package/dist/core/task/task-pull-request-observer.js.map +1 -0
- package/dist/core/task/task-review-evidence.d.ts +27 -0
- package/dist/core/task/task-review-evidence.d.ts.map +1 -0
- package/dist/core/task/task-review-evidence.js +383 -0
- package/dist/core/task/task-review-evidence.js.map +1 -0
- package/dist/migrations/index.d.ts +1 -1
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +5 -3
- package/dist/migrations/index.js.map +1 -1
- package/dist/migrations/manifests/0.6.0-beta.3.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.4.json +9 -0
- package/dist/pactile/artifacts/documents.d.ts +72 -0
- package/dist/pactile/artifacts/documents.d.ts.map +1 -0
- package/dist/pactile/artifacts/documents.js +406 -0
- package/dist/pactile/artifacts/documents.js.map +1 -0
- package/dist/pactile/artifacts/index.d.ts +6 -0
- package/dist/pactile/artifacts/index.d.ts.map +1 -0
- package/dist/pactile/artifacts/index.js +6 -0
- package/dist/pactile/artifacts/index.js.map +1 -0
- package/dist/pactile/artifacts/projection.d.ts +50 -0
- package/dist/pactile/artifacts/projection.d.ts.map +1 -0
- package/dist/pactile/artifacts/projection.js +139 -0
- package/dist/pactile/artifacts/projection.js.map +1 -0
- package/dist/pactile/artifacts/reader.d.ts +20 -0
- package/dist/pactile/artifacts/reader.d.ts.map +1 -0
- package/dist/pactile/artifacts/reader.js +559 -0
- package/dist/pactile/artifacts/reader.js.map +1 -0
- package/dist/pactile/artifacts/schema.d.ts +4 -0
- package/dist/pactile/artifacts/schema.d.ts.map +1 -0
- package/dist/pactile/artifacts/schema.js +217 -0
- package/dist/pactile/artifacts/schema.js.map +1 -0
- package/dist/pactile/artifacts/types.d.ts +66 -0
- package/dist/pactile/artifacts/types.d.ts.map +1 -0
- package/dist/pactile/artifacts/types.js +45 -0
- package/dist/pactile/artifacts/types.js.map +1 -0
- package/dist/pactile/capabilities/claim.d.ts +3 -0
- package/dist/pactile/capabilities/claim.d.ts.map +1 -0
- package/dist/pactile/capabilities/claim.js +97 -0
- package/dist/pactile/capabilities/claim.js.map +1 -0
- package/dist/pactile/capabilities/command.d.ts +6 -0
- package/dist/pactile/capabilities/command.d.ts.map +1 -0
- package/dist/pactile/capabilities/command.js +253 -0
- package/dist/pactile/capabilities/command.js.map +1 -0
- package/dist/pactile/capabilities/discover.d.ts +6 -0
- package/dist/pactile/capabilities/discover.d.ts.map +1 -0
- package/dist/pactile/capabilities/discover.js +48 -0
- package/dist/pactile/capabilities/discover.js.map +1 -0
- package/dist/pactile/capabilities/node.d.ts +15 -0
- package/dist/pactile/capabilities/node.d.ts.map +1 -0
- package/dist/pactile/capabilities/node.js +292 -0
- package/dist/pactile/capabilities/node.js.map +1 -0
- package/dist/pactile/capabilities/read.d.ts +6 -0
- package/dist/pactile/capabilities/read.d.ts.map +1 -0
- package/dist/pactile/capabilities/read.js +100 -0
- package/dist/pactile/capabilities/read.js.map +1 -0
- package/dist/pactile/capabilities/receipts.d.ts +17 -0
- package/dist/pactile/capabilities/receipts.d.ts.map +1 -0
- package/dist/pactile/capabilities/receipts.js +90 -0
- package/dist/pactile/capabilities/receipts.js.map +1 -0
- package/dist/pactile/capabilities/search.d.ts +6 -0
- package/dist/pactile/capabilities/search.d.ts.map +1 -0
- package/dist/pactile/capabilities/search.js +181 -0
- package/dist/pactile/capabilities/search.js.map +1 -0
- package/dist/pactile/capabilities/shared.d.ts +29 -0
- package/dist/pactile/capabilities/shared.d.ts.map +1 -0
- package/dist/pactile/capabilities/shared.js +134 -0
- package/dist/pactile/capabilities/shared.js.map +1 -0
- package/dist/pactile/capabilities/workspace.d.ts +19 -0
- package/dist/pactile/capabilities/workspace.d.ts.map +1 -0
- package/dist/pactile/capabilities/workspace.js +273 -0
- package/dist/pactile/capabilities/workspace.js.map +1 -0
- package/dist/pactile/codex/bridge.d.ts +105 -2
- package/dist/pactile/codex/bridge.d.ts.map +1 -1
- package/dist/pactile/codex/bridge.js +1266 -92
- package/dist/pactile/codex/bridge.js.map +1 -1
- package/dist/pactile/codex/dispatch-stop-proof.d.ts +43 -0
- package/dist/pactile/codex/dispatch-stop-proof.d.ts.map +1 -0
- package/dist/pactile/codex/dispatch-stop-proof.js +177 -0
- package/dist/pactile/codex/dispatch-stop-proof.js.map +1 -0
- package/dist/pactile/codex/host-stop.d.ts +47 -0
- package/dist/pactile/codex/host-stop.d.ts.map +1 -0
- package/dist/pactile/codex/host-stop.js +344 -0
- package/dist/pactile/codex/host-stop.js.map +1 -0
- package/dist/pactile/coordination/index.d.ts +4 -0
- package/dist/pactile/coordination/index.d.ts.map +1 -0
- package/dist/pactile/coordination/index.js +4 -0
- package/dist/pactile/coordination/index.js.map +1 -0
- package/dist/pactile/coordination/journal.d.ts +10 -0
- package/dist/pactile/coordination/journal.d.ts.map +1 -0
- package/dist/pactile/coordination/journal.js +255 -0
- package/dist/pactile/coordination/journal.js.map +1 -0
- package/dist/pactile/coordination/kernel-resume.d.ts +8 -0
- package/dist/pactile/coordination/kernel-resume.d.ts.map +1 -0
- package/dist/pactile/coordination/kernel-resume.js +87 -0
- package/dist/pactile/coordination/kernel-resume.js.map +1 -0
- package/dist/pactile/coordination/model.d.ts +553 -0
- package/dist/pactile/coordination/model.d.ts.map +1 -0
- package/dist/pactile/coordination/model.js +239 -0
- package/dist/pactile/coordination/model.js.map +1 -0
- package/dist/pactile/coordination/state.d.ts +46 -0
- package/dist/pactile/coordination/state.d.ts.map +1 -0
- package/dist/pactile/coordination/state.js +301 -0
- package/dist/pactile/coordination/state.js.map +1 -0
- package/dist/pactile/coordination/store.d.ts +94 -0
- package/dist/pactile/coordination/store.d.ts.map +1 -0
- package/dist/pactile/coordination/store.js +396 -0
- package/dist/pactile/coordination/store.js.map +1 -0
- package/dist/pactile/index.d.ts +7 -1
- package/dist/pactile/index.d.ts.map +1 -1
- package/dist/pactile/index.js +7 -1
- package/dist/pactile/index.js.map +1 -1
- package/dist/pactile/jev/contracts.d.ts +104 -0
- package/dist/pactile/jev/contracts.d.ts.map +1 -0
- package/dist/pactile/jev/contracts.js +53 -0
- package/dist/pactile/jev/contracts.js.map +1 -0
- package/dist/pactile/jev/decision.d.ts +58 -0
- package/dist/pactile/jev/decision.d.ts.map +1 -0
- package/dist/pactile/jev/decision.js +149 -0
- package/dist/pactile/jev/decision.js.map +1 -0
- package/dist/pactile/jev/http.d.ts +25 -0
- package/dist/pactile/jev/http.d.ts.map +1 -0
- package/dist/pactile/jev/http.js +234 -0
- package/dist/pactile/jev/http.js.map +1 -0
- package/dist/pactile/jev/index.d.ts +8 -0
- package/dist/pactile/jev/index.d.ts.map +1 -0
- package/dist/pactile/jev/index.js +4 -0
- package/dist/pactile/jev/index.js.map +1 -0
- package/dist/pactile/jev/outbound.d.ts +15 -0
- package/dist/pactile/jev/outbound.d.ts.map +1 -0
- package/dist/pactile/jev/outbound.js +264 -0
- package/dist/pactile/jev/outbound.js.map +1 -0
- package/dist/pactile/jev/project-policy.d.ts +10 -0
- package/dist/pactile/jev/project-policy.d.ts.map +1 -0
- package/dist/pactile/jev/project-policy.js +53 -0
- package/dist/pactile/jev/project-policy.js.map +1 -0
- package/dist/pactile/jev/response.d.ts +17 -0
- package/dist/pactile/jev/response.d.ts.map +1 -0
- package/dist/pactile/jev/response.js +280 -0
- package/dist/pactile/jev/response.js.map +1 -0
- package/dist/pactile/jev/scheduler-advice.d.ts +92 -0
- package/dist/pactile/jev/scheduler-advice.d.ts.map +1 -0
- package/dist/pactile/jev/scheduler-advice.js +323 -0
- package/dist/pactile/jev/scheduler-advice.js.map +1 -0
- package/dist/pactile/jev/transport.d.ts +6 -0
- package/dist/pactile/jev/transport.d.ts.map +1 -0
- package/dist/pactile/jev/transport.js +87 -0
- package/dist/pactile/jev/transport.js.map +1 -0
- package/dist/pactile/lifecycle/deferred-live.d.ts +17 -0
- package/dist/pactile/lifecycle/deferred-live.d.ts.map +1 -0
- package/dist/pactile/lifecycle/deferred-live.js +173 -0
- package/dist/pactile/lifecycle/deferred-live.js.map +1 -0
- package/dist/pactile/lifecycle/legacy-import.d.ts +1 -1
- package/dist/pactile/lifecycle/legacy-import.js +3 -3
- package/dist/pactile/lifecycle/legacy-import.js.map +1 -1
- package/dist/pactile/lifecycle/project-files.d.ts.map +1 -1
- package/dist/pactile/lifecycle/project-files.js +1 -0
- package/dist/pactile/lifecycle/project-files.js.map +1 -1
- package/dist/pactile/migration/legacy-task-batch-generation.d.ts +23 -0
- package/dist/pactile/migration/legacy-task-batch-generation.d.ts.map +1 -0
- package/dist/pactile/migration/legacy-task-batch-generation.js +102 -0
- package/dist/pactile/migration/legacy-task-batch-generation.js.map +1 -0
- package/dist/pactile/migration/legacy-task-batch-io.d.ts +9 -0
- package/dist/pactile/migration/legacy-task-batch-io.d.ts.map +1 -0
- package/dist/pactile/migration/legacy-task-batch-io.js +208 -0
- package/dist/pactile/migration/legacy-task-batch-io.js.map +1 -0
- package/dist/pactile/migration/legacy-task-batch-journal.d.ts +6 -0
- package/dist/pactile/migration/legacy-task-batch-journal.d.ts.map +1 -0
- package/dist/pactile/migration/legacy-task-batch-journal.js +121 -0
- package/dist/pactile/migration/legacy-task-batch-journal.js.map +1 -0
- package/dist/pactile/migration/legacy-task-batch-orchestrator.d.ts +18 -0
- package/dist/pactile/migration/legacy-task-batch-orchestrator.d.ts.map +1 -0
- package/dist/pactile/migration/legacy-task-batch-orchestrator.js +634 -0
- package/dist/pactile/migration/legacy-task-batch-orchestrator.js.map +1 -0
- package/dist/pactile/migration/legacy-task-batch-source.d.ts +8 -0
- package/dist/pactile/migration/legacy-task-batch-source.d.ts.map +1 -0
- package/dist/pactile/migration/legacy-task-batch-source.js +158 -0
- package/dist/pactile/migration/legacy-task-batch-source.js.map +1 -0
- package/dist/pactile/migration/legacy-task-batch-types.d.ts +127 -0
- package/dist/pactile/migration/legacy-task-batch-types.d.ts.map +1 -0
- package/dist/pactile/migration/legacy-task-batch-types.js +127 -0
- package/dist/pactile/migration/legacy-task-batch-types.js.map +1 -0
- package/dist/pactile/migration/legacy-task-batch.d.ts +3 -0
- package/dist/pactile/migration/legacy-task-batch.d.ts.map +1 -0
- package/dist/pactile/migration/legacy-task-batch.js +2 -0
- package/dist/pactile/migration/legacy-task-batch.js.map +1 -0
- package/dist/pactile/migration/legacy-task-held-source-reader.d.ts +27 -0
- package/dist/pactile/migration/legacy-task-held-source-reader.d.ts.map +1 -0
- package/dist/pactile/migration/legacy-task-held-source-reader.js +261 -0
- package/dist/pactile/migration/legacy-task-held-source-reader.js.map +1 -0
- package/dist/pactile/migration/legacy-task-reconciliation.d.ts +46 -0
- package/dist/pactile/migration/legacy-task-reconciliation.d.ts.map +1 -0
- package/dist/pactile/migration/legacy-task-reconciliation.js +589 -0
- package/dist/pactile/migration/legacy-task-reconciliation.js.map +1 -0
- package/dist/pactile/migration/legacy-task-update.d.ts +19 -0
- package/dist/pactile/migration/legacy-task-update.d.ts.map +1 -0
- package/dist/pactile/migration/legacy-task-update.js +164 -0
- package/dist/pactile/migration/legacy-task-update.js.map +1 -0
- package/dist/pactile/parallel/batch.d.ts +21 -2
- package/dist/pactile/parallel/batch.d.ts.map +1 -1
- package/dist/pactile/parallel/batch.js +271 -50
- package/dist/pactile/parallel/batch.js.map +1 -1
- package/dist/pactile/parallel/policy.d.ts +1 -1
- package/dist/pactile/parallel/policy.d.ts.map +1 -1
- package/dist/pactile/parallel/policy.js +130 -102
- package/dist/pactile/parallel/policy.js.map +1 -1
- package/dist/pactile/pi/bridge.d.ts +139 -2
- package/dist/pactile/pi/bridge.d.ts.map +1 -1
- package/dist/pactile/pi/bridge.js +1317 -106
- package/dist/pactile/pi/bridge.js.map +1 -1
- package/dist/pactile/pi/rpc.d.ts +23 -4
- package/dist/pactile/pi/rpc.d.ts.map +1 -1
- package/dist/pactile/pi/rpc.js +243 -42
- package/dist/pactile/pi/rpc.js.map +1 -1
- package/dist/pactile/pi/v2-dispatch.d.ts +113 -0
- package/dist/pactile/pi/v2-dispatch.d.ts.map +1 -0
- package/dist/pactile/pi/v2-dispatch.js +919 -0
- package/dist/pactile/pi/v2-dispatch.js.map +1 -0
- package/dist/pactile/projection/planner.js +1 -1
- package/dist/pactile/projection/planner.js.map +1 -1
- package/dist/pactile/registry.d.ts +63 -1
- package/dist/pactile/registry.d.ts.map +1 -1
- package/dist/pactile/registry.js +633 -4
- package/dist/pactile/registry.js.map +1 -1
- package/dist/pactile/retrieval/index.d.ts +1 -0
- package/dist/pactile/retrieval/index.d.ts.map +1 -1
- package/dist/pactile/retrieval/index.js +1 -0
- package/dist/pactile/retrieval/index.js.map +1 -1
- package/dist/pactile/retrieval/jev-planning.d.ts +28 -0
- package/dist/pactile/retrieval/jev-planning.d.ts.map +1 -0
- package/dist/pactile/retrieval/jev-planning.js +96 -0
- package/dist/pactile/retrieval/jev-planning.js.map +1 -0
- package/dist/pactile/review/contract.d.ts +232 -0
- package/dist/pactile/review/contract.d.ts.map +1 -0
- package/dist/pactile/review/contract.js +695 -0
- package/dist/pactile/review/contract.js.map +1 -0
- package/dist/pactile/review/escalation-artifacts.d.ts +41 -0
- package/dist/pactile/review/escalation-artifacts.d.ts.map +1 -0
- package/dist/pactile/review/escalation-artifacts.js +415 -0
- package/dist/pactile/review/escalation-artifacts.js.map +1 -0
- package/dist/pactile/review/escalation-contract.d.ts +115 -0
- package/dist/pactile/review/escalation-contract.d.ts.map +1 -0
- package/dist/pactile/review/escalation-contract.js +151 -0
- package/dist/pactile/review/escalation-contract.js.map +1 -0
- package/dist/pactile/review/escalation-finalize.d.ts +14 -0
- package/dist/pactile/review/escalation-finalize.d.ts.map +1 -0
- package/dist/pactile/review/escalation-finalize.js +319 -0
- package/dist/pactile/review/escalation-finalize.js.map +1 -0
- package/dist/pactile/review/escalation-reply.d.ts +10 -0
- package/dist/pactile/review/escalation-reply.d.ts.map +1 -0
- package/dist/pactile/review/escalation-reply.js +61 -0
- package/dist/pactile/review/escalation-reply.js.map +1 -0
- package/dist/pactile/review/escalation-transport.d.ts +32 -0
- package/dist/pactile/review/escalation-transport.d.ts.map +1 -0
- package/dist/pactile/review/escalation-transport.js +216 -0
- package/dist/pactile/review/escalation-transport.js.map +1 -0
- package/dist/pactile/review/escalation.d.ts +7 -0
- package/dist/pactile/review/escalation.d.ts.map +1 -0
- package/dist/pactile/review/escalation.js +6 -0
- package/dist/pactile/review/escalation.js.map +1 -0
- package/dist/pactile/review/evidence.d.ts +25 -0
- package/dist/pactile/review/evidence.d.ts.map +1 -0
- package/dist/pactile/review/evidence.js +58 -0
- package/dist/pactile/review/evidence.js.map +1 -0
- package/dist/pactile/review/jev-escalation-advice.d.ts +77 -0
- package/dist/pactile/review/jev-escalation-advice.d.ts.map +1 -0
- package/dist/pactile/review/jev-escalation-advice.js +358 -0
- package/dist/pactile/review/jev-escalation-advice.js.map +1 -0
- package/dist/pactile/scheduler/index.d.ts +6 -0
- package/dist/pactile/scheduler/index.d.ts.map +1 -0
- package/dist/pactile/scheduler/index.js +5 -0
- package/dist/pactile/scheduler/index.js.map +1 -0
- package/dist/pactile/scheduler/project-lease-store.d.ts +35 -0
- package/dist/pactile/scheduler/project-lease-store.d.ts.map +1 -0
- package/dist/pactile/scheduler/project-lease-store.js +189 -0
- package/dist/pactile/scheduler/project-lease-store.js.map +1 -0
- package/dist/pactile/scheduler/scheduler.d.ts +91 -0
- package/dist/pactile/scheduler/scheduler.d.ts.map +1 -0
- package/dist/pactile/scheduler/scheduler.js +589 -0
- package/dist/pactile/scheduler/scheduler.js.map +1 -0
- package/dist/pactile/scheduler/task-kernel-admission.d.ts +173 -0
- package/dist/pactile/scheduler/task-kernel-admission.d.ts.map +1 -0
- package/dist/pactile/scheduler/task-kernel-admission.js +1560 -0
- package/dist/pactile/scheduler/task-kernel-admission.js.map +1 -0
- package/dist/pactile/scheduler/task-kernel-wave-dispatch.d.ts +184 -0
- package/dist/pactile/scheduler/task-kernel-wave-dispatch.d.ts.map +1 -0
- package/dist/pactile/scheduler/task-kernel-wave-dispatch.js +952 -0
- package/dist/pactile/scheduler/task-kernel-wave-dispatch.js.map +1 -0
- package/dist/pactile/scheduler/task-map-scheduler.d.ts +116 -0
- package/dist/pactile/scheduler/task-map-scheduler.d.ts.map +1 -0
- package/dist/pactile/scheduler/task-map-scheduler.js +1448 -0
- package/dist/pactile/scheduler/task-map-scheduler.js.map +1 -0
- package/dist/pactile/scheduler/task-run-dispatch-state.d.ts +7 -0
- package/dist/pactile/scheduler/task-run-dispatch-state.d.ts.map +1 -0
- package/dist/pactile/scheduler/task-run-dispatch-state.js +69 -0
- package/dist/pactile/scheduler/task-run-dispatch-state.js.map +1 -0
- package/dist/pactile/task/authorization.d.ts +3 -0
- package/dist/pactile/task/authorization.d.ts.map +1 -0
- package/dist/pactile/task/authorization.js +43 -0
- package/dist/pactile/task/authorization.js.map +1 -0
- package/dist/pactile/task/creation.d.ts +22 -0
- package/dist/pactile/task/creation.d.ts.map +1 -0
- package/dist/pactile/task/creation.js +95 -0
- package/dist/pactile/task/creation.js.map +1 -0
- package/dist/pactile/task/guards.d.ts +1 -4
- package/dist/pactile/task/guards.d.ts.map +1 -1
- package/dist/pactile/task/guards.js +5 -57
- package/dist/pactile/task/guards.js.map +1 -1
- package/dist/pactile/task/session-jev-receipt.d.ts +58 -0
- package/dist/pactile/task/session-jev-receipt.d.ts.map +1 -0
- package/dist/pactile/task/session-jev-receipt.js +375 -0
- package/dist/pactile/task/session-jev-receipt.js.map +1 -0
- package/dist/pactile/task/session-jev.d.ts +7 -0
- package/dist/pactile/task/session-jev.d.ts.map +1 -0
- package/dist/pactile/task/session-jev.js +217 -0
- package/dist/pactile/task/session-jev.js.map +1 -0
- package/dist/pactile/task/session-pack.d.ts.map +1 -1
- package/dist/pactile/task/session-pack.js +155 -16
- package/dist/pactile/task/session-pack.js.map +1 -1
- package/dist/pactile/task/session-retrieval-jev-receipt.d.ts +49 -0
- package/dist/pactile/task/session-retrieval-jev-receipt.d.ts.map +1 -0
- package/dist/pactile/task/session-retrieval-jev-receipt.js +97 -0
- package/dist/pactile/task/session-retrieval-jev-receipt.js.map +1 -0
- package/dist/pactile/task/session-retrieval-jev.d.ts +8 -0
- package/dist/pactile/task/session-retrieval-jev.d.ts.map +1 -0
- package/dist/pactile/task/session-retrieval-jev.js +352 -0
- package/dist/pactile/task/session-retrieval-jev.js.map +1 -0
- package/dist/pactile/task/strategy.d.ts +1 -23
- package/dist/pactile/task/strategy.d.ts.map +1 -1
- package/dist/pactile/task/strategy.js +2 -135
- package/dist/pactile/task/strategy.js.map +1 -1
- package/dist/pactile/tiles/jev-selection.d.ts +44 -0
- package/dist/pactile/tiles/jev-selection.d.ts.map +1 -0
- package/dist/pactile/tiles/jev-selection.js +210 -0
- package/dist/pactile/tiles/jev-selection.js.map +1 -0
- package/dist/pactile/tiles/safe-yaml.d.ts +5 -1
- package/dist/pactile/tiles/safe-yaml.d.ts.map +1 -1
- package/dist/pactile/tiles/safe-yaml.js +8 -8
- package/dist/pactile/tiles/safe-yaml.js.map +1 -1
- package/dist/pactile/tiles/selection-receipts.d.ts +71 -0
- package/dist/pactile/tiles/selection-receipts.d.ts.map +1 -0
- package/dist/pactile/tiles/selection-receipts.js +319 -0
- package/dist/pactile/tiles/selection-receipts.js.map +1 -0
- package/dist/pactile/tiles/selection.d.ts +185 -0
- package/dist/pactile/tiles/selection.d.ts.map +1 -0
- package/dist/pactile/tiles/selection.js +985 -0
- package/dist/pactile/tiles/selection.js.map +1 -0
- package/dist/pactile/verification/git-observer.d.ts +3 -0
- package/dist/pactile/verification/git-observer.d.ts.map +1 -0
- package/dist/pactile/verification/git-observer.js +3 -0
- package/dist/pactile/verification/git-observer.js.map +1 -0
- package/dist/pactile/verification/index.d.ts +11 -0
- package/dist/pactile/verification/index.d.ts.map +1 -0
- package/dist/pactile/verification/index.js +6 -0
- package/dist/pactile/verification/index.js.map +1 -0
- package/dist/pactile/verification/jev-advice.d.ts +78 -0
- package/dist/pactile/verification/jev-advice.d.ts.map +1 -0
- package/dist/pactile/verification/jev-advice.js +397 -0
- package/dist/pactile/verification/jev-advice.js.map +1 -0
- package/dist/pactile/verification/planner.d.ts +15 -0
- package/dist/pactile/verification/planner.d.ts.map +1 -0
- package/dist/pactile/verification/planner.js +412 -0
- package/dist/pactile/verification/planner.js.map +1 -0
- package/dist/pactile/verification/receipt.d.ts +101 -0
- package/dist/pactile/verification/receipt.d.ts.map +1 -0
- package/dist/pactile/verification/receipt.js +400 -0
- package/dist/pactile/verification/receipt.js.map +1 -0
- package/dist/pactile/verification/types.d.ts +72 -0
- package/dist/pactile/verification/types.d.ts.map +1 -0
- package/dist/pactile/verification/types.js +21 -0
- package/dist/pactile/verification/types.js.map +1 -0
- package/dist/pactile/worktree/git-probe.d.ts +32 -0
- package/dist/pactile/worktree/git-probe.d.ts.map +1 -0
- package/dist/pactile/worktree/git-probe.js +336 -0
- package/dist/pactile/worktree/git-probe.js.map +1 -0
- package/dist/pactile/worktree/git-removal.d.ts +3 -0
- package/dist/pactile/worktree/git-removal.d.ts.map +1 -0
- package/dist/pactile/worktree/git-removal.js +11 -0
- package/dist/pactile/worktree/git-removal.js.map +1 -0
- package/dist/pactile/worktree/index.d.ts +2 -0
- package/dist/pactile/worktree/index.d.ts.map +1 -0
- package/dist/pactile/worktree/index.js +2 -0
- package/dist/pactile/worktree/index.js.map +1 -0
- package/dist/pactile/worktree/integration-evidence.d.ts +80 -0
- package/dist/pactile/worktree/integration-evidence.d.ts.map +1 -0
- package/dist/pactile/worktree/integration-evidence.js +166 -0
- package/dist/pactile/worktree/integration-evidence.js.map +1 -0
- package/dist/pactile/worktree/manager-core.d.ts +50 -0
- package/dist/pactile/worktree/manager-core.d.ts.map +1 -0
- package/dist/pactile/worktree/manager-core.js +359 -0
- package/dist/pactile/worktree/manager-core.js.map +1 -0
- package/dist/pactile/worktree/manager-provenance.d.ts +32 -0
- package/dist/pactile/worktree/manager-provenance.d.ts.map +1 -0
- package/dist/pactile/worktree/manager-provenance.js +409 -0
- package/dist/pactile/worktree/manager-provenance.js.map +1 -0
- package/dist/pactile/worktree/manager-types.d.ts +84 -0
- package/dist/pactile/worktree/manager-types.d.ts.map +1 -0
- package/dist/pactile/worktree/manager-types.js +11 -0
- package/dist/pactile/worktree/manager-types.js.map +1 -0
- package/dist/pactile/worktree/manager.d.ts +10 -0
- package/dist/pactile/worktree/manager.d.ts.map +1 -0
- package/dist/pactile/worktree/manager.js +6 -0
- package/dist/pactile/worktree/manager.js.map +1 -0
- package/dist/pactile/worktree/run-workspace-cleanup.d.ts +10 -0
- package/dist/pactile/worktree/run-workspace-cleanup.d.ts.map +1 -0
- package/dist/pactile/worktree/run-workspace-cleanup.js +695 -0
- package/dist/pactile/worktree/run-workspace-cleanup.js.map +1 -0
- package/dist/pactile/worktree/run-workspace-lifecycle.d.ts +65 -0
- package/dist/pactile/worktree/run-workspace-lifecycle.d.ts.map +1 -0
- package/dist/pactile/worktree/run-workspace-lifecycle.js +276 -0
- package/dist/pactile/worktree/run-workspace-lifecycle.js.map +1 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-hooks.md +1 -1
- package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/generated-files.md +1 -1
- package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/hooks-and-settings.md +1 -1
- package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/overview.md +1 -1
- package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/platform-map.md +1 -1
- package/dist/templates/common/bundled-skills/smart-search-cli/SKILL.md +2 -0
- package/dist/templates/common/skills/brainstorm.md +19 -13
- package/dist/templates/markdown/agents.md +2 -2
- package/dist/templates/markdown/framework/execution-strategy.md.txt +1 -1
- package/dist/templates/markdown/framework/index.md.txt +1 -1
- package/dist/templates/markdown/framework/parallel-first-execution.md.txt +17 -105
- package/dist/templates/markdown/framework/prd-grill-frontier.md.txt +3 -3
- package/dist/templates/markdown/framework/release-boundary.md.txt +9 -10
- package/dist/templates/markdown/framework/retrieval-daily-guide.md.txt +1 -1
- package/dist/templates/pactile/CONTEXT.md +48 -36
- package/dist/templates/pactile/modules/approval-personal/contract.md +12 -24
- package/dist/templates/pactile/modules/close-basic/contract.md +15 -18
- package/dist/templates/pactile/modules/debug-recovery/contract.md +4 -4
- package/dist/templates/pactile/modules/define-basic/contract.md +15 -19
- package/dist/templates/pactile/modules/define-extended/contract.md +3 -3
- package/dist/templates/pactile/modules/execute-agent/contract.md +11 -19
- package/dist/templates/pactile/modules/intake-basic/contract.md +16 -13
- package/dist/templates/pactile/modules/verify-basic/contract.md +11 -20
- package/dist/templates/pactile/tasks/templates/release-execution/design.md +5 -5
- package/dist/templates/pactile/tasks/templates/release-readiness/design.md +6 -6
- package/dist/templates/pactile/tasks/templates/release-readiness/handoff-template.md +8 -2
- package/dist/templates/pactile/workflow.md +37 -41
- package/dist/templates/template-utils.d.ts +1 -2
- package/dist/templates/template-utils.d.ts.map +1 -1
- package/dist/templates/template-utils.js +2 -13
- package/dist/templates/template-utils.js.map +1 -1
- package/dist/types/ai-tools.d.ts +1 -1
- package/dist/types/ai-tools.js +1 -1
- package/dist/utils/manifest-prune.js +1 -1
- package/dist/utils/manifest-prune.js.map +1 -1
- package/dist/utils/p36-upgrade.d.ts +2 -2
- package/dist/utils/p36-upgrade.d.ts.map +1 -1
- package/dist/utils/p36-upgrade.js +2 -10
- package/dist/utils/p36-upgrade.js.map +1 -1
- package/dist/utils/post-update-smoke.js +1 -1
- package/dist/utils/post-update-smoke.js.map +1 -1
- package/dist/utils/readiness.d.ts +2 -2
- package/dist/utils/readiness.js +2 -2
- package/dist/utils/uninstall-scrubbers.js +1 -1
- package/dist/utils/workflow-dir.d.ts +1 -1
- package/dist/utils/workflow-dir.d.ts.map +1 -1
- package/dist/utils/workflow-dir.js +1 -1
- package/dist/utils/workflow-dir.js.map +1 -1
- package/package.json +42 -37
- package/CHANGELOG.md +0 -651
- package/bin/compat-warning.js +0 -11
- package/bin/pactile.js +0 -3
- package/bin/smart-search.js +0 -38
- package/dist/migrations/manifests/0.1.0.json +0 -9
- package/dist/migrations/manifests/0.1.1.json +0 -9
- package/dist/migrations/manifests/0.1.2.json +0 -9
- package/dist/migrations/manifests/0.1.3.json +0 -9
- package/dist/migrations/manifests/0.1.4.json +0 -9
- package/dist/migrations/manifests/0.2.1.json +0 -9
- package/dist/migrations/manifests/0.2.10.json +0 -374
- package/dist/migrations/manifests/0.2.2.json +0 -9
- package/dist/migrations/manifests/0.2.3.json +0 -9
- package/dist/migrations/manifests/0.2.4.json +0 -9
- package/dist/migrations/manifests/0.2.5.json +0 -9
- package/dist/migrations/manifests/0.2.6.json +0 -9
- package/dist/migrations/manifests/0.2.7.json +0 -9
- package/dist/migrations/manifests/0.2.8.json +0 -9
- package/dist/migrations/manifests/0.2.9.json +0 -9
- package/dist/migrations/manifests/0.3.0.json +0 -89
- package/dist/migrations/manifests/0.3.1.json +0 -32
- package/dist/migrations/manifests/0.3.2.json +0 -16
- package/dist/migrations/manifests/0.3.3.json +0 -9
- package/dist/migrations/manifests/0.3.4.json +0 -9
- package/dist/migrations/manifests/0.3.5.json +0 -9
- package/dist/migrations/manifests/0.3.6.json +0 -9
- package/dist/migrations/manifests/0.4.0.json +0 -9
- package/dist/migrations/manifests/0.4.1.json +0 -9
- package/dist/migrations/manifests/0.4.2.json +0 -9
- package/dist/migrations/manifests/0.4.3.json +0 -9
- package/dist/migrations/manifests/0.5.0-beta.0.json +0 -9
- package/dist/migrations/manifests/0.5.0-beta.1.json +0 -9
- package/dist/migrations/manifests/0.5.0-beta.2.json +0 -9
- package/dist/migrations/manifests/0.5.0-beta.3.json +0 -9
- package/dist/migrations/manifests/0.5.0-beta.4.json +0 -9
- package/dist/migrations/manifests/0.5.0-beta.5.json +0 -9
- package/dist/migrations/manifests/0.5.0.json +0 -9
- package/dist/pactile/compat/retired-alternate-client.d.ts +0 -42
- package/dist/pactile/compat/retired-alternate-client.d.ts.map +0 -1
- package/dist/pactile/compat/retired-alternate-client.js +0 -153
- package/dist/pactile/compat/retired-alternate-client.js.map +0 -1
- package/dist/pactile/compat/update-residue.d.ts +0 -4
- package/dist/pactile/compat/update-residue.d.ts.map +0 -1
- package/dist/pactile/compat/update-residue.js +0 -55
- package/dist/pactile/compat/update-residue.js.map +0 -1
- package/dist/utils/cursor-retrieval-env.d.ts +0 -17
- package/dist/utils/cursor-retrieval-env.d.ts.map +0 -1
- package/dist/utils/cursor-retrieval-env.js +0 -19
- package/dist/utils/cursor-retrieval-env.js.map +0 -1
- package/dist/utils/proxy.d.ts +0 -25
- package/dist/utils/proxy.d.ts.map +0 -1
- package/dist/utils/proxy.js +0 -60
- package/dist/utils/proxy.js.map +0 -1
- package/scripts/postinstall.js +0 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-candidate-observer.js","sourceRoot":"","sources":["../../../src/core/task/task-candidate-observer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { CheckTaskCloseRequest, CloseTaskKernelRequest, TaskCandidateObservation, TaskDeliveryEvidence, TaskKernelMutationResult, TaskKernelSnapshotV2 } from "./task-kernel-types.js";
|
|
2
|
+
export declare function checkTaskClose(request: CheckTaskCloseRequest): string[];
|
|
3
|
+
export declare function closeTaskKernel(request: CloseTaskKernelRequest): TaskKernelMutationResult;
|
|
4
|
+
export declare function taskCloseErrors(kernel: TaskKernelSnapshotV2, root: string, runId: string, reviewId: string, observationInput: TaskCandidateObservation, deliveryInput: TaskDeliveryEvidence, currentTaskDir?: string): string[];
|
|
5
|
+
//# sourceMappingURL=task-kernel-close.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-kernel-close.d.ts","sourceRoot":"","sources":["../../../src/core/task/task-kernel-close.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EAExB,oBAAoB,EAEpB,wBAAwB,EACxB,oBAAoB,EAErB,MAAM,wBAAwB,CAAC;AAQhC,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM,EAAE,CAiCvE;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,sBAAsB,GAC9B,wBAAwB,CAqF1B;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,oBAAoB,EAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,wBAAwB,EAC1C,aAAa,EAAE,oBAAoB,EACnC,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,EAAE,CAUV"}
|
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
import { KernelError, requireNonEmptyString } from "./kernel-contract.js";
|
|
2
|
+
import { appendDomainEvent, appendPhase, mutateTaskKernel, readTaskKernel, } from "./task-kernel-store-v2.js";
|
|
3
|
+
import { fingerprintTaskValue, getOwnRecordValue, parseCandidateObservation, parseDeliveryEvidence, } from "./task-kernel-schema.js";
|
|
4
|
+
import { assertHardDependenciesSatisfied, canonicalProjectRoot, resolveInsideTaskRoot, } from "./task-kernel-paths.js";
|
|
5
|
+
import { GIT_CANDIDATE_OBSERVER_VERSION, fingerprintCurrentRepositoryFile, fingerprintGitTreeFile, isRunCandidateObservationEntry, isGitCommitAncestor, isTaskRunPathInWriteSet, observeTaskRunCandidate, resolveGitLocalBranchSha, taskCandidateObservationEntryRef, } from "./task-candidate-observer.js";
|
|
6
|
+
import { observeGitHubPullRequest, } from "./task-pull-request-observer.js";
|
|
7
|
+
import { verifyTaskReviewEvidenceV1 } from "./task-review-evidence.js";
|
|
8
|
+
export function checkTaskClose(request) {
|
|
9
|
+
const root = canonicalProjectRoot(request.root, request.cwd);
|
|
10
|
+
const read = readTaskKernel({
|
|
11
|
+
root,
|
|
12
|
+
taskDir: request.taskDir,
|
|
13
|
+
cwd: request.cwd,
|
|
14
|
+
});
|
|
15
|
+
if (read.kind !== "task-kernel-v2") {
|
|
16
|
+
throw new KernelError("INVALID_REQUEST", "Close requires a Task Kernel schema v2 task");
|
|
17
|
+
}
|
|
18
|
+
const currentTaskDir = resolveInsideTaskRoot(root, request.taskDir, request.cwd);
|
|
19
|
+
const verification = evaluateTaskClose(read.kernel, root, request.runId, request.reviewId, request.candidateObservation, request.deliveryEvidence, currentTaskDir);
|
|
20
|
+
if (request.expectedRevision !== read.kernel.revision) {
|
|
21
|
+
verification.errors.unshift(`revision conflict: expected ${request.expectedRevision}, current ${read.kernel.revision}`);
|
|
22
|
+
}
|
|
23
|
+
return verification.errors;
|
|
24
|
+
}
|
|
25
|
+
export function closeTaskKernel(request) {
|
|
26
|
+
const root = canonicalProjectRoot(request.root, request.cwd);
|
|
27
|
+
const actor = requireNonEmptyString(request.actor, "actor");
|
|
28
|
+
const fingerprint = fingerprintTaskValue({
|
|
29
|
+
runId: request.runId,
|
|
30
|
+
reviewId: request.reviewId,
|
|
31
|
+
candidateObservation: request.candidateObservation,
|
|
32
|
+
deliveryEvidence: request.deliveryEvidence,
|
|
33
|
+
});
|
|
34
|
+
return mutateTaskKernel(root, request.taskDir, request.expectedRevision, actor, request.idempotencyKey, fingerprint, request.cwd, (current, dir) => {
|
|
35
|
+
const verification = evaluateTaskClose(current, root, request.runId, request.reviewId, request.candidateObservation, request.deliveryEvidence, dir);
|
|
36
|
+
if (verification.errors.length) {
|
|
37
|
+
throw new KernelError("TASK_GATE_UNSATISFIED", verification.errors.join("; "));
|
|
38
|
+
}
|
|
39
|
+
const run = current.runs.find((item) => item.id === request.runId);
|
|
40
|
+
const review = current.reviews.find((item) => item.id === request.reviewId);
|
|
41
|
+
if (!run ||
|
|
42
|
+
!review ||
|
|
43
|
+
!run.candidateSnapshot ||
|
|
44
|
+
!verification.candidateObservation ||
|
|
45
|
+
!verification.deliveryVerification) {
|
|
46
|
+
throw new KernelError("TASK_GATE_UNSATISFIED", "Close is missing a machine-observed candidate or delivery verification.");
|
|
47
|
+
}
|
|
48
|
+
const closure = {
|
|
49
|
+
runId: run.id,
|
|
50
|
+
reviewId: review.id,
|
|
51
|
+
candidateSnapshotId: run.candidateSnapshot.id,
|
|
52
|
+
candidateFingerprint: run.candidateSnapshot.fingerprint,
|
|
53
|
+
candidateObservation: verification.candidateObservation,
|
|
54
|
+
deliveryEvidence: {
|
|
55
|
+
...parseDeliveryEvidence(request.deliveryEvidence, current.definition.deliveryLevel),
|
|
56
|
+
path: verification.deliveryVerification.path,
|
|
57
|
+
},
|
|
58
|
+
deliveryVerification: verification.deliveryVerification,
|
|
59
|
+
acceptanceEvidence: review.acceptanceEvidence,
|
|
60
|
+
closedAt: new Date().toISOString(),
|
|
61
|
+
closedBy: actor,
|
|
62
|
+
};
|
|
63
|
+
let kernel = appendPhase(current, "close", actor, `${request.idempotencyKey}#close`, "Task acceptance and machine-observed delivery evidence satisfied.");
|
|
64
|
+
kernel = { ...kernel, outcome: "completed", condition: "ready", closure };
|
|
65
|
+
return appendDomainEvent(kernel, actor, request.idempotencyKey, "task.closed", current.identity.taskId, fingerprint);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
export function taskCloseErrors(kernel, root, runId, reviewId, observationInput, deliveryInput, currentTaskDir) {
|
|
69
|
+
return evaluateTaskClose(kernel, root, runId, reviewId, observationInput, deliveryInput, currentTaskDir).errors;
|
|
70
|
+
}
|
|
71
|
+
function evaluateTaskClose(kernel, root, runId, reviewId, observationInput, deliveryInput, currentTaskDir) {
|
|
72
|
+
const errors = [];
|
|
73
|
+
if (kernel.phase !== "verify") {
|
|
74
|
+
errors.push(`Task must reach Verify before Close (current phase: ${kernel.phase})`);
|
|
75
|
+
}
|
|
76
|
+
if (kernel.closure || kernel.phase === "close") {
|
|
77
|
+
errors.push("Task is already closed");
|
|
78
|
+
}
|
|
79
|
+
const run = kernel.runs.find((item) => item.id === runId);
|
|
80
|
+
if (run?.state !== "completed" || !run.candidateSnapshot) {
|
|
81
|
+
errors.push("Close requires a completed Run with a frozen candidate snapshot");
|
|
82
|
+
}
|
|
83
|
+
if (run && kernel.runs.at(-1)?.id !== run.id) {
|
|
84
|
+
errors.push("Close requires the latest recorded Run; older candidates cannot be closed after a retry");
|
|
85
|
+
}
|
|
86
|
+
const review = kernel.reviews.find((item) => item.id === reviewId);
|
|
87
|
+
if (!review)
|
|
88
|
+
errors.push("Close requires a recorded independent Review");
|
|
89
|
+
if (run && review) {
|
|
90
|
+
if (review.runId !== run.id)
|
|
91
|
+
errors.push("Review must belong to the selected Run");
|
|
92
|
+
if (review.candidateSnapshotId !== run.candidateSnapshot?.id ||
|
|
93
|
+
review.candidateFingerprint !== run.candidateSnapshot.fingerprint) {
|
|
94
|
+
errors.push("Review must match the selected Run candidate snapshot ID and fingerprint");
|
|
95
|
+
}
|
|
96
|
+
if (review.independent !== true ||
|
|
97
|
+
review.reviewer === run.startedBy ||
|
|
98
|
+
review.reviewer === run.authorization.approvedBy) {
|
|
99
|
+
errors.push("Review must be independent from the Run executor and approver");
|
|
100
|
+
}
|
|
101
|
+
const later = kernel.reviews
|
|
102
|
+
.filter((candidate) => candidate.runId === run.id &&
|
|
103
|
+
candidate.candidateSnapshotId === review.candidateSnapshotId &&
|
|
104
|
+
candidate.candidateFingerprint === review.candidateFingerprint)
|
|
105
|
+
.at(-1);
|
|
106
|
+
if (later?.id !== review.id) {
|
|
107
|
+
errors.push("the latest Review for the selected candidate must be used");
|
|
108
|
+
}
|
|
109
|
+
if (review.decision !== "pass") {
|
|
110
|
+
errors.push("the latest Review for the selected candidate must pass");
|
|
111
|
+
}
|
|
112
|
+
if (review.unresolvedBlockers.length) {
|
|
113
|
+
errors.push("the latest Review has unresolved blockers");
|
|
114
|
+
}
|
|
115
|
+
if (!review.evidenceRefs.length) {
|
|
116
|
+
errors.push("the latest Review must include structured evidence references");
|
|
117
|
+
}
|
|
118
|
+
if (!review.evidenceVerification) {
|
|
119
|
+
errors.push("the latest Review has no Core-observed evidence verification");
|
|
120
|
+
}
|
|
121
|
+
else if (!currentTaskDir) {
|
|
122
|
+
errors.push("Close cannot re-observe Review evidence without the Task directory");
|
|
123
|
+
}
|
|
124
|
+
else if (run.candidateSnapshot) {
|
|
125
|
+
try {
|
|
126
|
+
verifyTaskReviewEvidenceV1({
|
|
127
|
+
root,
|
|
128
|
+
taskDir: currentTaskDir,
|
|
129
|
+
run,
|
|
130
|
+
candidateSnapshotId: run.candidateSnapshot.id,
|
|
131
|
+
candidateFingerprint: run.candidateSnapshot.fingerprint,
|
|
132
|
+
evidenceRefs: [
|
|
133
|
+
...new Set([
|
|
134
|
+
...review.evidenceRefs,
|
|
135
|
+
...Object.values(review.acceptanceEvidence).flat(),
|
|
136
|
+
]),
|
|
137
|
+
],
|
|
138
|
+
expected: review.evidenceVerification,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
errors.push(error instanceof Error ? error.message : String(error));
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
for (const criterion of kernel.definition.acceptanceCriteria) {
|
|
146
|
+
const refs = getOwnRecordValue(review.acceptanceEvidence, criterion.id);
|
|
147
|
+
if (!refs?.length) {
|
|
148
|
+
errors.push(`acceptance evidence missing for ${criterion.id}`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
let trustedCandidateObservation;
|
|
153
|
+
let currentCandidate;
|
|
154
|
+
if (run?.candidateSnapshot) {
|
|
155
|
+
try {
|
|
156
|
+
const callerObservation = parseCandidateObservation(observationInput);
|
|
157
|
+
if (callerObservation.snapshotId !== run.candidateSnapshot.id ||
|
|
158
|
+
callerObservation.fingerprint !== run.candidateSnapshot.fingerprint) {
|
|
159
|
+
errors.push("Close request must name the selected Run candidate snapshot ID and fingerprint");
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
catch (error) {
|
|
163
|
+
errors.push(error instanceof Error ? error.message : String(error));
|
|
164
|
+
}
|
|
165
|
+
try {
|
|
166
|
+
if (run.candidateBaseSha === null &&
|
|
167
|
+
run.workspace === null &&
|
|
168
|
+
!run.candidateFileBaseline) {
|
|
169
|
+
throw new Error("Selected Run has no Git or bounded non-Git baseline; Close cannot re-observe candidate scope");
|
|
170
|
+
}
|
|
171
|
+
const current = observeTaskRunCandidate({
|
|
172
|
+
run,
|
|
173
|
+
...(run.workspace === null ? { repositoryRoot: root } : {}),
|
|
174
|
+
});
|
|
175
|
+
currentCandidate = current;
|
|
176
|
+
const expectedCandidateRef = taskCandidateObservationEntryRef(current);
|
|
177
|
+
const candidateEntries = run.candidateSnapshot.entries.filter((entry) => isRunCandidateObservationEntry(entry.ref));
|
|
178
|
+
if (candidateEntries.length !== 1 ||
|
|
179
|
+
candidateEntries[0]?.ref !== expectedCandidateRef) {
|
|
180
|
+
errors.push("Run candidate must contain exactly one P41 machine-observed candidate entry");
|
|
181
|
+
}
|
|
182
|
+
else if (candidateEntries[0]?.fingerprint !== current.fingerprint) {
|
|
183
|
+
errors.push("Run candidate is stale: current Git or allowed file bytes no longer match the frozen candidate fingerprint");
|
|
184
|
+
}
|
|
185
|
+
if (current.scopeStatus !== "within-write-set") {
|
|
186
|
+
errors.push(`Current Run candidate is ${current.scopeStatus}; Close requires all changed paths inside the frozen write set`);
|
|
187
|
+
}
|
|
188
|
+
if (candidateEntries.length === 1 &&
|
|
189
|
+
candidateEntries[0]?.ref === expectedCandidateRef &&
|
|
190
|
+
candidateEntries[0]?.fingerprint === current.fingerprint) {
|
|
191
|
+
trustedCandidateObservation = {
|
|
192
|
+
snapshotId: run.candidateSnapshot.id,
|
|
193
|
+
fingerprint: run.candidateSnapshot.fingerprint,
|
|
194
|
+
observedBy: "pactile-core-task-close",
|
|
195
|
+
observedAt: current.observedAt,
|
|
196
|
+
source: current.source,
|
|
197
|
+
evidenceRef: expectedCandidateRef,
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
catch (error) {
|
|
202
|
+
errors.push(`Cannot re-observe the current Run candidate: ${error instanceof Error ? error.message : String(error)}`);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
try {
|
|
206
|
+
assertHardDependenciesSatisfied(root, kernel.definition.dependencies, currentTaskDir);
|
|
207
|
+
}
|
|
208
|
+
catch (error) {
|
|
209
|
+
errors.push(error instanceof Error ? error.message : String(error));
|
|
210
|
+
}
|
|
211
|
+
let parsedDelivery;
|
|
212
|
+
try {
|
|
213
|
+
parsedDelivery = parseDeliveryEvidence(deliveryInput, kernel.definition.deliveryLevel);
|
|
214
|
+
}
|
|
215
|
+
catch (error) {
|
|
216
|
+
errors.push(error instanceof Error ? error.message : String(error));
|
|
217
|
+
}
|
|
218
|
+
if (run &&
|
|
219
|
+
trustedCandidateObservation &&
|
|
220
|
+
currentCandidate &&
|
|
221
|
+
parsedDelivery) {
|
|
222
|
+
try {
|
|
223
|
+
const deliveryVerification = verifyDelivery(run, parsedDelivery, currentCandidate);
|
|
224
|
+
if (deliveryVerification) {
|
|
225
|
+
return {
|
|
226
|
+
errors,
|
|
227
|
+
candidateObservation: trustedCandidateObservation,
|
|
228
|
+
deliveryVerification,
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
catch (error) {
|
|
233
|
+
errors.push(error instanceof Error ? error.message : String(error));
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
return {
|
|
237
|
+
errors,
|
|
238
|
+
...(trustedCandidateObservation === undefined
|
|
239
|
+
? {}
|
|
240
|
+
: { candidateObservation: trustedCandidateObservation }),
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
function verifyDelivery(run, delivery, observation) {
|
|
244
|
+
const gitObservation = observation.source === GIT_CANDIDATE_OBSERVER_VERSION ? observation : null;
|
|
245
|
+
if (gitObservation === null &&
|
|
246
|
+
delivery.level !== "local-result" &&
|
|
247
|
+
delivery.level !== "documentation") {
|
|
248
|
+
throw new KernelError("INVALID_DELIVERY_EVIDENCE", `${delivery.level} delivery requires a Git-observed candidate`);
|
|
249
|
+
}
|
|
250
|
+
const repositoryRoot = observation.repositoryRoot;
|
|
251
|
+
const repositoryPath = delivery.path ??
|
|
252
|
+
(delivery.level === "local-result" || delivery.level === "documentation"
|
|
253
|
+
? delivery.reference
|
|
254
|
+
: undefined);
|
|
255
|
+
if (!repositoryPath) {
|
|
256
|
+
throw new KernelError("INVALID_DELIVERY_EVIDENCE", `${delivery.level} delivery requires --delivery-path inside the Run write set`);
|
|
257
|
+
}
|
|
258
|
+
if (!isTaskRunPathInWriteSet(run, repositoryPath)) {
|
|
259
|
+
throw new KernelError("INVALID_DELIVERY_EVIDENCE", `Delivery path ${repositoryPath} is outside the frozen Run write set`);
|
|
260
|
+
}
|
|
261
|
+
const currentCandidateFile = observation.currentFiles.find((entry) => entry.path === repositoryPath);
|
|
262
|
+
const currentFile = gitObservation
|
|
263
|
+
? fingerprintCurrentRepositoryFile(repositoryRoot, repositoryPath)
|
|
264
|
+
: currentCandidateFile;
|
|
265
|
+
if (currentFile?.kind !== "regular-file" || currentFile.sha256 === null) {
|
|
266
|
+
throw new KernelError("INVALID_DELIVERY_EVIDENCE", `Delivery path ${repositoryPath} is not a current regular file`);
|
|
267
|
+
}
|
|
268
|
+
if (currentCandidateFile &&
|
|
269
|
+
(currentCandidateFile.kind !== "regular-file" ||
|
|
270
|
+
currentCandidateFile.sha256 !== currentFile.sha256)) {
|
|
271
|
+
throw new KernelError("INVALID_DELIVERY_EVIDENCE", `Delivery path ${repositoryPath} changed after candidate observation`);
|
|
272
|
+
}
|
|
273
|
+
const candidateGitFile = gitObservation
|
|
274
|
+
? fingerprintGitTreeFile(repositoryRoot, gitObservation.head, repositoryPath)
|
|
275
|
+
: null;
|
|
276
|
+
if (!currentCandidateFile && !candidateGitFile) {
|
|
277
|
+
throw new KernelError("INVALID_DELIVERY_EVIDENCE", `Delivery path ${repositoryPath} is not bound to changed candidate bytes or the frozen Git HEAD`);
|
|
278
|
+
}
|
|
279
|
+
const result = {
|
|
280
|
+
schemaVersion: 1,
|
|
281
|
+
source: "pactile-task-delivery-observer-v1",
|
|
282
|
+
observedAt: new Date().toISOString(),
|
|
283
|
+
candidateFingerprint: run.candidateSnapshot?.fingerprint ?? "",
|
|
284
|
+
candidateSource: gitObservation ? "git-working-tree-v1" : "project-files-v1",
|
|
285
|
+
candidateHead: gitObservation ? gitObservation.head : null,
|
|
286
|
+
level: delivery.level,
|
|
287
|
+
path: currentFile.path,
|
|
288
|
+
fileSha256: currentFile.sha256,
|
|
289
|
+
gitBlobSha256: candidateGitFile?.sha256 ?? null,
|
|
290
|
+
targetBranch: null,
|
|
291
|
+
targetSha: null,
|
|
292
|
+
integrationCommitSha: null,
|
|
293
|
+
ancestryVerified: null,
|
|
294
|
+
pullRequest: null,
|
|
295
|
+
};
|
|
296
|
+
if (delivery.level === "local-result" || delivery.level === "documentation") {
|
|
297
|
+
return result;
|
|
298
|
+
}
|
|
299
|
+
if (!gitObservation) {
|
|
300
|
+
throw new KernelError("INVALID_DELIVERY_EVIDENCE", `${delivery.level} delivery requires a Git-observed candidate`);
|
|
301
|
+
}
|
|
302
|
+
if (gitObservation.stagedPaths.length > 0 ||
|
|
303
|
+
gitObservation.unstagedPaths.length > 0 ||
|
|
304
|
+
gitObservation.untrackedPaths.length > 0 ||
|
|
305
|
+
gitObservation.conflictPaths.length > 0) {
|
|
306
|
+
throw new KernelError("INVALID_DELIVERY_EVIDENCE", `${delivery.level} delivery requires a clean candidate Git worktree with no staged, unstaged, untracked, or conflicted paths`);
|
|
307
|
+
}
|
|
308
|
+
if (!candidateGitFile) {
|
|
309
|
+
throw new KernelError("INVALID_DELIVERY_EVIDENCE", `Delivery path ${repositoryPath} is not present at the frozen candidate HEAD`);
|
|
310
|
+
}
|
|
311
|
+
if (currentFile.sha256 !== candidateGitFile.sha256) {
|
|
312
|
+
throw new KernelError("INVALID_DELIVERY_EVIDENCE", `Delivery path ${repositoryPath} current bytes do not match the frozen candidate HEAD blob`);
|
|
313
|
+
}
|
|
314
|
+
const pullRequest = observeGitHubPullRequest(repositoryRoot, delivery.reference);
|
|
315
|
+
assertPullRequestMatchesCandidate(pullRequest, gitObservation.head);
|
|
316
|
+
if (delivery.level === "pull-request") {
|
|
317
|
+
if (pullRequest.state !== "open" || pullRequest.merged) {
|
|
318
|
+
throw new KernelError("INVALID_DELIVERY_EVIDENCE", "pull-request delivery requires a provider-confirmed open Pull Request");
|
|
319
|
+
}
|
|
320
|
+
return {
|
|
321
|
+
...result,
|
|
322
|
+
pullRequest,
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
const targetBranch = delivery.targetBranch;
|
|
326
|
+
if (!targetBranch) {
|
|
327
|
+
throw new KernelError("INVALID_DELIVERY_EVIDENCE", "merged-result delivery requires --target-branch for local ancestry verification");
|
|
328
|
+
}
|
|
329
|
+
if (!pullRequest.merged || pullRequest.state !== "closed") {
|
|
330
|
+
throw new KernelError("INVALID_DELIVERY_EVIDENCE", "merged-result delivery requires provider-confirmed merged Pull Request state");
|
|
331
|
+
}
|
|
332
|
+
if (pullRequest.baseBranch !== targetBranch) {
|
|
333
|
+
throw new KernelError("INVALID_DELIVERY_EVIDENCE", `Pull Request base branch ${pullRequest.baseBranch} does not match target branch ${targetBranch}`);
|
|
334
|
+
}
|
|
335
|
+
const integrationCommitSha = pullRequest.mergeCommitSha;
|
|
336
|
+
if (!integrationCommitSha) {
|
|
337
|
+
throw new KernelError("INVALID_DELIVERY_EVIDENCE", "Merged Pull Request has no provider-confirmed merge commit SHA");
|
|
338
|
+
}
|
|
339
|
+
const targetSha = resolveGitLocalBranchSha(repositoryRoot, targetBranch);
|
|
340
|
+
if (!isGitCommitAncestor(repositoryRoot, integrationCommitSha, targetSha)) {
|
|
341
|
+
throw new KernelError("INVALID_DELIVERY_EVIDENCE", `Provider merge commit ${integrationCommitSha} is not an ancestor of local target ${targetBranch} (${targetSha})`);
|
|
342
|
+
}
|
|
343
|
+
const targetFile = fingerprintGitTreeFile(repositoryRoot, targetSha, repositoryPath);
|
|
344
|
+
if (targetFile?.sha256 !== candidateGitFile.sha256) {
|
|
345
|
+
throw new KernelError("INVALID_DELIVERY_EVIDENCE", `Target branch ${targetBranch} does not contain the same delivery bytes at ${repositoryPath}`);
|
|
346
|
+
}
|
|
347
|
+
return {
|
|
348
|
+
...result,
|
|
349
|
+
targetBranch,
|
|
350
|
+
targetSha,
|
|
351
|
+
integrationCommitSha,
|
|
352
|
+
ancestryVerified: true,
|
|
353
|
+
pullRequest,
|
|
354
|
+
};
|
|
355
|
+
}
|
|
356
|
+
function assertPullRequestMatchesCandidate(pullRequest, candidateHead) {
|
|
357
|
+
if (pullRequest.headSha !== candidateHead) {
|
|
358
|
+
throw new KernelError("INVALID_DELIVERY_EVIDENCE", `Provider Pull Request head ${pullRequest.headSha} does not match frozen candidate HEAD ${candidateHead}`);
|
|
359
|
+
}
|
|
360
|
+
if (pullRequest.draft) {
|
|
361
|
+
throw new KernelError("INVALID_DELIVERY_EVIDENCE", "Draft Pull Requests cannot satisfy delivery evidence");
|
|
362
|
+
}
|
|
363
|
+
if (pullRequest.state !== "open" && !pullRequest.merged) {
|
|
364
|
+
throw new KernelError("INVALID_DELIVERY_EVIDENCE", "Pull Request is closed without being merged");
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
//# sourceMappingURL=task-kernel-close.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-kernel-close.js","sourceRoot":"","sources":["../../../src/core/task/task-kernel-close.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-kernel-dependencies.d.ts","sourceRoot":"","sources":["../../../src/core/task/task-kernel-dependencies.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAEjG,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,wBAAwB,CAe7F"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { KernelError, requireNonEmptyString } from "./kernel-contract.js";
|
|
2
|
+
import { appendMutation, mutateTaskKernel } from "./task-kernel-store-v2.js";
|
|
3
|
+
import { fingerprintTaskValue, requireTaskId } from "./task-kernel-schema.js";
|
|
4
|
+
import { assertDependenciesResolvable, assertNoDependencyCycle, canonicalProjectRoot, } from "./task-kernel-paths.js";
|
|
5
|
+
export function addTaskDependency(request) {
|
|
6
|
+
const root = canonicalProjectRoot(request.root, request.cwd);
|
|
7
|
+
const actor = requireNonEmptyString(request.actor, "actor");
|
|
8
|
+
const dependencyId = requireTaskId(request.dependencyId, "dependencyId");
|
|
9
|
+
const fingerprint = fingerprintTaskValue({ dependencyId });
|
|
10
|
+
return mutateTaskKernel(root, request.taskDir, request.expectedRevision, actor, request.idempotencyKey, fingerprint, request.cwd, (current, dir) => {
|
|
11
|
+
if (current.phase !== "define")
|
|
12
|
+
throw new KernelError("INVALID_TRANSITION", "hard dependencies can be changed only while Task is in Define");
|
|
13
|
+
if (dependencyId === current.identity.taskId)
|
|
14
|
+
throw new KernelError("INVALID_REQUEST", "a Task cannot depend on itself");
|
|
15
|
+
if (current.definition.dependencies.includes(dependencyId))
|
|
16
|
+
throw new KernelError("INVALID_REQUEST", `hard dependency already exists: ${dependencyId}`);
|
|
17
|
+
assertDependenciesResolvable(root, current.identity.taskId, [dependencyId], dir);
|
|
18
|
+
const dependencies = [...current.definition.dependencies, dependencyId];
|
|
19
|
+
assertNoDependencyCycle(root, current.identity.taskId, dependencies, dir);
|
|
20
|
+
const definition = { ...current.definition, dependencies };
|
|
21
|
+
return appendMutation(current, actor, request.idempotencyKey, "task.dependency-added", dependencyId, fingerprint, { definition }, "Hard dependency added.");
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=task-kernel-dependencies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-kernel-dependencies.js","sourceRoot":"","sources":["../../../src/core/task/task-kernel-dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAGhC,MAAM,UAAU,iBAAiB,CAAC,OAAiC;IACjE,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,qBAAqB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,oBAAoB,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;IAC3D,OAAO,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,EAAE,KAAK,EAAE,OAAO,CAAC,cAAc,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;QACjJ,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ;YAAE,MAAM,IAAI,WAAW,CAAC,oBAAoB,EAAE,+DAA+D,CAAC,CAAC;QAC7I,IAAI,YAAY,KAAK,OAAO,CAAC,QAAQ,CAAC,MAAM;YAAE,MAAM,IAAI,WAAW,CAAC,iBAAiB,EAAE,gCAAgC,CAAC,CAAC;QACzH,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,MAAM,IAAI,WAAW,CAAC,iBAAiB,EAAE,mCAAmC,YAAY,EAAE,CAAC,CAAC;QACxJ,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;QACjF,MAAM,YAAY,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACxE,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC;QAC3D,OAAO,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,cAAc,EAAE,uBAAuB,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,EAAE,wBAAwB,CAAC,CAAC;IAC9J,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { AppendTaskRunHostSettlementRefsRequest, BindTaskRunHostReceiptRequest, RecordTaskRunHostStopReceiptRequest, TaskKernelMutationResult } from "./task-kernel-types.js";
|
|
2
|
+
export declare function bindTaskRunHostReceipt(request: BindTaskRunHostReceiptRequest): TaskKernelMutationResult;
|
|
3
|
+
export declare function appendTaskRunHostSettlementRefs(request: AppendTaskRunHostSettlementRefsRequest): TaskKernelMutationResult;
|
|
4
|
+
export declare function recordTaskRunHostStopReceipt(request: RecordTaskRunHostStopReceiptRequest): TaskKernelMutationResult;
|
|
5
|
+
//# sourceMappingURL=task-kernel-host.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-kernel-host.d.ts","sourceRoot":"","sources":["../../../src/core/task/task-kernel-host.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,sCAAsC,EACtC,6BAA6B,EAC7B,mCAAmC,EACnC,wBAAwB,EAGzB,MAAM,wBAAwB,CAAC;AAchC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,6BAA6B,GAAG,wBAAwB,CAyBvG;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,sCAAsC,GAAG,wBAAwB,CAoCzH;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,mCAAmC,GAAG,wBAAwB,CA+CnH"}
|