@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,319 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { randomUUID } from "node:crypto";
|
|
4
|
+
import { canonicalizePactileJsonV1, fingerprintPactileContractV1, } from "../../core/index.js";
|
|
5
|
+
import { readSessionJevReceiptV1, sessionJevApplicationV1, } from "../task/session-jev-receipt.js";
|
|
6
|
+
import { assertCanonicalWriteTarget, resolveCanonicalPaths, } from "../runtime/paths.js";
|
|
7
|
+
import { buildTileCatalog } from "./catalog.js";
|
|
8
|
+
import { normalizeTileSelectionReplayInput, normalizeTileSelectionRequest, prepareTileSelection, replayTileSelectionDecision, replayTileSelectionDecisionFromOffer, sanitizeTileSelectionDecisionForOffer, sanitizeTileSelectionDecisionForReplay, } from "./selection.js";
|
|
9
|
+
import { TILE_COMPILER_ABI_VERSION } from "./loader.js";
|
|
10
|
+
const TILE_SELECTION_SNAPSHOT_SCHEMA_VERSION = 2;
|
|
11
|
+
const TILE_SELECTION_SNAPSHOT_KIND = "pactile.tile-selection-replay";
|
|
12
|
+
const MAX_TILE_SELECTION_SNAPSHOT_BYTES = 4 * 1024 * 1024;
|
|
13
|
+
function hasSessionJev(snapshot) {
|
|
14
|
+
return snapshot.schemaVersion === 3;
|
|
15
|
+
}
|
|
16
|
+
function failure(code) {
|
|
17
|
+
return {
|
|
18
|
+
success: false,
|
|
19
|
+
diagnostics: [{ code, tileRef: null, relatedRef: null, path: "$.snapshot" }],
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function stableFilesystemPath(value) {
|
|
23
|
+
const resolved = fs.realpathSync.native(path.resolve(value)).replaceAll("\\", "/");
|
|
24
|
+
return process.platform === "win32" ? resolved.toLowerCase() : resolved;
|
|
25
|
+
}
|
|
26
|
+
function projectFingerprint(projectRoot) {
|
|
27
|
+
return fingerprintPactileContractV1({
|
|
28
|
+
schemaVersion: 1,
|
|
29
|
+
kind: "pactile.tile-selection.project-scope",
|
|
30
|
+
root: stableFilesystemPath(projectRoot),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
function receiptTarget(projectRoot, fingerprint) {
|
|
34
|
+
if (!/^sha256:[a-f0-9]{64}$/.test(fingerprint))
|
|
35
|
+
throw new Error("tile-selection-snapshot-fingerprint-invalid");
|
|
36
|
+
const target = path.join(resolveCanonicalPaths(projectRoot).receiptsPath, `tile-selection-${fingerprint.slice(7)}.json`);
|
|
37
|
+
return assertCanonicalWriteTarget(projectRoot, target);
|
|
38
|
+
}
|
|
39
|
+
function sameBytes(left, right) {
|
|
40
|
+
return left.byteLength === right.byteLength && left.equals(right);
|
|
41
|
+
}
|
|
42
|
+
function sameJson(left, right) {
|
|
43
|
+
return canonicalizePactileJsonV1(left) === canonicalizePactileJsonV1(right);
|
|
44
|
+
}
|
|
45
|
+
function ensureNoExistingConflict(target, expected) {
|
|
46
|
+
try {
|
|
47
|
+
const stat = fs.lstatSync(target);
|
|
48
|
+
if (!stat.isFile() || stat.isSymbolicLink() || stat.size > MAX_TILE_SELECTION_SNAPSHOT_BYTES)
|
|
49
|
+
throw new Error("tile-selection-snapshot-unsafe-existing-file");
|
|
50
|
+
if (!sameBytes(fs.readFileSync(target), expected))
|
|
51
|
+
throw new Error("tile-selection-snapshot-conflict");
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
if (error instanceof Error && "code" in error && error.code === "ENOENT")
|
|
56
|
+
return false;
|
|
57
|
+
throw error;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
function completeSnapshot(body) {
|
|
61
|
+
return { ...body, fingerprint: fingerprintPactileContractV1(body) };
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Persist the normalized Task decision and immutable compiler inputs. This is
|
|
65
|
+
* intentionally called only by the current-Task registry seam, which supplies
|
|
66
|
+
* the bundled catalog rather than caller-authored Skill bodies.
|
|
67
|
+
*/
|
|
68
|
+
export function writeTileSelectionSnapshot(projectRoot, catalog, request, facts, decision, receipt, sessionJevAdviceFingerprint, sessionJevRunIdentity) {
|
|
69
|
+
try {
|
|
70
|
+
const expectedProjectFingerprint = projectFingerprint(projectRoot);
|
|
71
|
+
const checkedCatalog = buildTileCatalog(catalog.entries);
|
|
72
|
+
if (!checkedCatalog.success)
|
|
73
|
+
return checkedCatalog;
|
|
74
|
+
const normalized = normalizeTileSelectionReplayInput(checkedCatalog.data, request, facts);
|
|
75
|
+
if (!normalized.success)
|
|
76
|
+
return normalized;
|
|
77
|
+
const taskLifecycle = normalized.data.request.taskLifecycle;
|
|
78
|
+
if (taskLifecycle?.projectFingerprint !== expectedProjectFingerprint ||
|
|
79
|
+
!taskLifecycle?.scopeFingerprint ||
|
|
80
|
+
taskLifecycle.taskId.length === 0)
|
|
81
|
+
return failure("tile-selection-snapshot-task-scope-mismatch");
|
|
82
|
+
const safeDecision = sanitizeTileSelectionDecisionForReplay(checkedCatalog.data, normalized.data.request, normalized.data.facts, decision);
|
|
83
|
+
if (!safeDecision.success)
|
|
84
|
+
return safeDecision;
|
|
85
|
+
const replayed = replayTileSelectionDecision(checkedCatalog.data, normalized.data.request, normalized.data.facts, safeDecision.data);
|
|
86
|
+
if (!replayed.success ||
|
|
87
|
+
replayed.data.fingerprint !== receipt.fingerprint ||
|
|
88
|
+
replayed.data.offerFingerprint !== receipt.offerFingerprint)
|
|
89
|
+
return failure("tile-selection-snapshot-receipt-mismatch");
|
|
90
|
+
const offer = prepareTileSelection(checkedCatalog.data, normalized.data.request, normalized.data.facts);
|
|
91
|
+
if (!offer.success || offer.data.offer.fingerprint !== receipt.offerFingerprint)
|
|
92
|
+
return failure("tile-selection-snapshot-offer-mismatch");
|
|
93
|
+
const offeredRefs = new Set(offer.data.offer.candidates.flatMap((candidate) => [
|
|
94
|
+
candidate.ref,
|
|
95
|
+
...candidate.dependencyClosure,
|
|
96
|
+
]));
|
|
97
|
+
const candidateFacts = normalized.data.facts.filter((fact) => offeredRefs.has(fact.ref));
|
|
98
|
+
if (candidateFacts.length !== offeredRefs.size)
|
|
99
|
+
return failure("tile-selection-snapshot-offer-mismatch");
|
|
100
|
+
let sessionJev;
|
|
101
|
+
if (sessionJevAdviceFingerprint !== undefined) {
|
|
102
|
+
if (!sessionJevRunIdentity)
|
|
103
|
+
return failure("tile-selection-snapshot-jev-run-identity-unavailable");
|
|
104
|
+
let advice;
|
|
105
|
+
try {
|
|
106
|
+
advice = readSessionJevReceiptV1(projectRoot, sessionJevAdviceFingerprint, offer.data.offer, sessionJevRunIdentity);
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
if (error instanceof Error &&
|
|
110
|
+
error.message === "session-jev-advice-run-identity-mismatch")
|
|
111
|
+
return failure("tile-selection-snapshot-jev-run-identity-mismatch");
|
|
112
|
+
return failure("tile-selection-snapshot-jev-advice-invalid");
|
|
113
|
+
}
|
|
114
|
+
const application = sessionJevApplicationV1(advice, receipt);
|
|
115
|
+
if (!application || !normalized.data.request.taskLifecycle)
|
|
116
|
+
return failure("tile-selection-snapshot-jev-decision-mismatch");
|
|
117
|
+
sessionJev = {
|
|
118
|
+
adviceFingerprint: sessionJevAdviceFingerprint,
|
|
119
|
+
activeRunId: sessionJevRunIdentity.activeRunId,
|
|
120
|
+
approvalRunId: sessionJevRunIdentity.approvalRunId,
|
|
121
|
+
offerFingerprint: receipt.offerFingerprint,
|
|
122
|
+
decisionFingerprint: receipt.fingerprint,
|
|
123
|
+
taskLifecycleFingerprint: fingerprintPactileContractV1(normalized.data.request.taskLifecycle),
|
|
124
|
+
application,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
const commonBody = {
|
|
128
|
+
kind: TILE_SELECTION_SNAPSHOT_KIND,
|
|
129
|
+
compilerAbiVersion: TILE_COMPILER_ABI_VERSION,
|
|
130
|
+
projectFingerprint: expectedProjectFingerprint,
|
|
131
|
+
scopeFingerprint: taskLifecycle.scopeFingerprint,
|
|
132
|
+
taskId: taskLifecycle.taskId,
|
|
133
|
+
catalogFingerprint: checkedCatalog.data.fingerprint,
|
|
134
|
+
offer: offer.data.offer,
|
|
135
|
+
request: normalized.data.request,
|
|
136
|
+
candidateFacts,
|
|
137
|
+
decision: safeDecision.data,
|
|
138
|
+
offerFingerprint: receipt.offerFingerprint,
|
|
139
|
+
receipt,
|
|
140
|
+
};
|
|
141
|
+
const body = sessionJev
|
|
142
|
+
? { ...commonBody, schemaVersion: 3, sessionJev }
|
|
143
|
+
: { ...commonBody, schemaVersion: TILE_SELECTION_SNAPSHOT_SCHEMA_VERSION };
|
|
144
|
+
const snapshot = completeSnapshot(body);
|
|
145
|
+
const bytes = Buffer.from(canonicalizePactileJsonV1(snapshot), "utf8");
|
|
146
|
+
if (bytes.byteLength > MAX_TILE_SELECTION_SNAPSHOT_BYTES)
|
|
147
|
+
return failure("tile-selection-snapshot-size-limit");
|
|
148
|
+
const target = receiptTarget(projectRoot, snapshot.fingerprint);
|
|
149
|
+
const parent = assertCanonicalWriteTarget(projectRoot, path.dirname(target));
|
|
150
|
+
fs.mkdirSync(parent, { recursive: true });
|
|
151
|
+
assertCanonicalWriteTarget(projectRoot, parent);
|
|
152
|
+
if (ensureNoExistingConflict(target, bytes))
|
|
153
|
+
return {
|
|
154
|
+
success: true,
|
|
155
|
+
data: {
|
|
156
|
+
fingerprint: snapshot.fingerprint,
|
|
157
|
+
fileName: path.basename(target),
|
|
158
|
+
...(sessionJev ? { sessionJev } : {}),
|
|
159
|
+
},
|
|
160
|
+
};
|
|
161
|
+
const temporary = assertCanonicalWriteTarget(projectRoot, `${target}.tmp-${randomUUID()}`);
|
|
162
|
+
let descriptor;
|
|
163
|
+
try {
|
|
164
|
+
descriptor = fs.openSync(temporary, fs.constants.O_WRONLY |
|
|
165
|
+
fs.constants.O_CREAT |
|
|
166
|
+
fs.constants.O_EXCL |
|
|
167
|
+
(fs.constants.O_NOFOLLOW ?? 0), 0o600);
|
|
168
|
+
const stat = fs.fstatSync(descriptor);
|
|
169
|
+
if (!stat.isFile() || stat.nlink !== 1)
|
|
170
|
+
return failure("tile-selection-snapshot-unsafe-target");
|
|
171
|
+
fs.writeFileSync(descriptor, bytes);
|
|
172
|
+
fs.fsyncSync(descriptor);
|
|
173
|
+
fs.closeSync(descriptor);
|
|
174
|
+
descriptor = undefined;
|
|
175
|
+
assertCanonicalWriteTarget(projectRoot, target);
|
|
176
|
+
assertCanonicalWriteTarget(projectRoot, temporary);
|
|
177
|
+
try {
|
|
178
|
+
fs.linkSync(temporary, target);
|
|
179
|
+
}
|
|
180
|
+
catch (error) {
|
|
181
|
+
if (error instanceof Error && "code" in error && error.code === "EEXIST") {
|
|
182
|
+
if (ensureNoExistingConflict(target, bytes))
|
|
183
|
+
return {
|
|
184
|
+
success: true,
|
|
185
|
+
data: {
|
|
186
|
+
fingerprint: snapshot.fingerprint,
|
|
187
|
+
fileName: path.basename(target),
|
|
188
|
+
...(sessionJev ? { sessionJev } : {}),
|
|
189
|
+
},
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
throw error;
|
|
193
|
+
}
|
|
194
|
+
fs.unlinkSync(temporary);
|
|
195
|
+
}
|
|
196
|
+
finally {
|
|
197
|
+
if (descriptor !== undefined)
|
|
198
|
+
fs.closeSync(descriptor);
|
|
199
|
+
try {
|
|
200
|
+
if (fs.existsSync(temporary))
|
|
201
|
+
fs.unlinkSync(temporary);
|
|
202
|
+
}
|
|
203
|
+
catch {
|
|
204
|
+
// An unexpected residue remains discoverable and is never replaced.
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
return {
|
|
208
|
+
success: true,
|
|
209
|
+
data: {
|
|
210
|
+
fingerprint: snapshot.fingerprint,
|
|
211
|
+
fileName: path.basename(target),
|
|
212
|
+
...(sessionJev ? { sessionJev } : {}),
|
|
213
|
+
},
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
catch {
|
|
217
|
+
return failure("tile-selection-snapshot-write-failed");
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
function isRecord(value) {
|
|
221
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
222
|
+
}
|
|
223
|
+
function readSnapshot(projectRoot, fingerprint) {
|
|
224
|
+
if (!/^sha256:[a-f0-9]{64}$/.test(fingerprint))
|
|
225
|
+
return failure("tile-selection-snapshot-fingerprint-invalid");
|
|
226
|
+
try {
|
|
227
|
+
const target = receiptTarget(projectRoot, fingerprint);
|
|
228
|
+
const stat = fs.lstatSync(target);
|
|
229
|
+
if (!stat.isFile() || stat.isSymbolicLink() || stat.size > MAX_TILE_SELECTION_SNAPSHOT_BYTES)
|
|
230
|
+
return failure("tile-selection-snapshot-unsafe-target");
|
|
231
|
+
const bytes = fs.readFileSync(target);
|
|
232
|
+
const parsed = JSON.parse(bytes.toString("utf8"));
|
|
233
|
+
if (!isRecord(parsed) || canonicalizePactileJsonV1(parsed) !== bytes.toString("utf8"))
|
|
234
|
+
return failure("tile-selection-snapshot-malformed");
|
|
235
|
+
const { fingerprint: storedFingerprint, ...body } = parsed;
|
|
236
|
+
if (storedFingerprint !== fingerprint ||
|
|
237
|
+
fingerprintPactileContractV1(body) !== fingerprint ||
|
|
238
|
+
(parsed.schemaVersion !== TILE_SELECTION_SNAPSHOT_SCHEMA_VERSION && parsed.schemaVersion !== 3) ||
|
|
239
|
+
(parsed.schemaVersion === TILE_SELECTION_SNAPSHOT_SCHEMA_VERSION && "sessionJev" in parsed) ||
|
|
240
|
+
(parsed.schemaVersion === 3 && !isRecord(parsed.sessionJev)) ||
|
|
241
|
+
parsed.kind !== TILE_SELECTION_SNAPSHOT_KIND ||
|
|
242
|
+
parsed.compilerAbiVersion !== TILE_COMPILER_ABI_VERSION ||
|
|
243
|
+
parsed.projectFingerprint !== projectFingerprint(projectRoot))
|
|
244
|
+
return failure("tile-selection-snapshot-identity-mismatch");
|
|
245
|
+
return { success: true, data: parsed };
|
|
246
|
+
}
|
|
247
|
+
catch (error) {
|
|
248
|
+
if (error instanceof Error && "code" in error && error.code === "ENOENT")
|
|
249
|
+
return failure("tile-selection-snapshot-not-found");
|
|
250
|
+
return failure("tile-selection-snapshot-read-failed");
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
/** Replay against the matching installed catalog; the snapshot has no hidden manifests or Skill bodies. */
|
|
254
|
+
export function replayTileSelectionSnapshot(projectRoot, fingerprint, sourceCatalog) {
|
|
255
|
+
const loaded = readSnapshot(projectRoot, fingerprint);
|
|
256
|
+
if (!loaded.success)
|
|
257
|
+
return loaded;
|
|
258
|
+
const snapshot = loaded.data;
|
|
259
|
+
try {
|
|
260
|
+
const catalog = buildTileCatalog(sourceCatalog.entries);
|
|
261
|
+
if (!catalog.success || catalog.data.fingerprint !== snapshot.catalogFingerprint ||
|
|
262
|
+
catalog.data.fingerprint !== snapshot.receipt.catalogFingerprint)
|
|
263
|
+
return failure("tile-selection-snapshot-historical-catalog-unavailable");
|
|
264
|
+
const lifecycle = snapshot.request.taskLifecycle;
|
|
265
|
+
if (lifecycle?.projectFingerprint !== snapshot.projectFingerprint ||
|
|
266
|
+
lifecycle.scopeFingerprint !== snapshot.scopeFingerprint ||
|
|
267
|
+
lifecycle.taskId !== snapshot.taskId)
|
|
268
|
+
return failure("tile-selection-snapshot-task-scope-mismatch");
|
|
269
|
+
const normalized = normalizeTileSelectionRequest(catalog.data, snapshot.request);
|
|
270
|
+
if (!normalized.success ||
|
|
271
|
+
!sameJson(normalized.data, snapshot.request) ||
|
|
272
|
+
!isRecord(snapshot.offer) ||
|
|
273
|
+
snapshot.offer.fingerprint !== snapshot.offerFingerprint ||
|
|
274
|
+
snapshot.offer.catalogFingerprint !== snapshot.catalogFingerprint ||
|
|
275
|
+
snapshot.offer.inputFingerprint !== snapshot.receipt.inputFingerprint ||
|
|
276
|
+
snapshot.receipt.offerFingerprint !== snapshot.offerFingerprint)
|
|
277
|
+
return failure("tile-selection-snapshot-input-mismatch");
|
|
278
|
+
const safeDecision = sanitizeTileSelectionDecisionForOffer(snapshot.offer, snapshot.decision);
|
|
279
|
+
if (!safeDecision.success || !sameJson(safeDecision.data, snapshot.decision))
|
|
280
|
+
return failure("tile-selection-snapshot-decision-mismatch");
|
|
281
|
+
const replayed = replayTileSelectionDecisionFromOffer(catalog.data, normalized.data, snapshot.offer, snapshot.candidateFacts, snapshot.decision);
|
|
282
|
+
if (!replayed.success || replayed.data.fingerprint !== snapshot.receipt.fingerprint ||
|
|
283
|
+
!sameJson(replayed.data, snapshot.receipt))
|
|
284
|
+
return failure("tile-selection-snapshot-replay-mismatch");
|
|
285
|
+
if (hasSessionJev(snapshot)) {
|
|
286
|
+
let advice;
|
|
287
|
+
try {
|
|
288
|
+
advice = readSessionJevReceiptV1(projectRoot, snapshot.sessionJev.adviceFingerprint, snapshot.offer);
|
|
289
|
+
}
|
|
290
|
+
catch {
|
|
291
|
+
return failure("tile-selection-snapshot-jev-advice-mismatch");
|
|
292
|
+
}
|
|
293
|
+
const application = sessionJevApplicationV1(advice, replayed.data);
|
|
294
|
+
if (!normalized.data.taskLifecycle ||
|
|
295
|
+
snapshot.sessionJev.offerFingerprint !== snapshot.offerFingerprint ||
|
|
296
|
+
snapshot.sessionJev.activeRunId !== advice.activeRunId ||
|
|
297
|
+
snapshot.sessionJev.approvalRunId !== advice.approvalRunId ||
|
|
298
|
+
snapshot.sessionJev.decisionFingerprint !== replayed.data.fingerprint ||
|
|
299
|
+
snapshot.sessionJev.taskLifecycleFingerprint !== fingerprintPactileContractV1(normalized.data.taskLifecycle) ||
|
|
300
|
+
!application ||
|
|
301
|
+
snapshot.sessionJev.application !== application)
|
|
302
|
+
return failure("tile-selection-snapshot-jev-decision-mismatch");
|
|
303
|
+
}
|
|
304
|
+
return {
|
|
305
|
+
success: true,
|
|
306
|
+
data: {
|
|
307
|
+
snapshotFingerprint: fingerprint,
|
|
308
|
+
offerFingerprint: snapshot.offer.fingerprint,
|
|
309
|
+
offer: snapshot.offer,
|
|
310
|
+
receipt: replayed.data,
|
|
311
|
+
...(hasSessionJev(snapshot) ? { sessionJev: snapshot.sessionJev } : {}),
|
|
312
|
+
},
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
catch {
|
|
316
|
+
return failure("tile-selection-snapshot-replay-failed");
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
//# sourceMappingURL=selection-receipts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection-receipts.js","sourceRoot":"","sources":["../../../src/pactile/tiles/selection-receipts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,EACvB,uBAAuB,GAGxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAoB,MAAM,cAAc,CAAC;AAClE,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,oBAAoB,EACpB,2BAA2B,EAC3B,oCAAoC,EACpC,qCAAqC,EACrC,sCAAsC,GAMvC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAuB,MAAM,aAAa,CAAC;AAE7E,MAAM,sCAAsC,GAAG,CAAU,CAAC;AAC1D,MAAM,4BAA4B,GAAG,+BAAwC,CAAC;AAC9E,MAAM,iCAAiC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AA+C1D,SAAS,aAAa,CAAC,QAA+B;IACpD,OAAO,QAAQ,CAAC,aAAa,KAAK,CAAC,CAAC;AACtC,CAAC;AAoBD,SAAS,OAAO,CAAY,IAAY;IACtC,OAAO;QACL,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;KAC7E,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACnF,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC1E,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,OAAO,4BAA4B,CAAC;QAClC,aAAa,EAAE,CAAC;QAChB,IAAI,EAAE,sCAAsC;QAC5C,IAAI,EAAE,oBAAoB,CAAC,WAAW,CAAC;KACxC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,WAAmB,EAAE,WAAmB;IAC7D,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CACtB,qBAAqB,CAAC,WAAW,CAAC,CAAC,YAAY,EAC/C,kBAAkB,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAC9C,CAAC;IACF,OAAO,0BAA0B,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,KAAa;IAC5C,OAAO,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,QAAQ,CAAC,IAAa,EAAE,KAAc;IAC7C,OAAO,yBAAyB,CAAC,IAAI,CAAC,KAAK,yBAAyB,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAc,EAAE,QAAgB;IAChE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG,iCAAiC;YAC1F,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YACtE,OAAO,KAAK,CAAC;QACf,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAA+B;IACvD,OAAO,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,4BAA4B,CAAC,IAAI,CAAC,EAA2B,CAAC;AAC/F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,WAAmB,EACnB,OAAoB,EACpB,OAA6B,EAC7B,KAAmC,EACnC,QAA+B,EAC/B,OAAqC,EACrC,2BAAoC,EACpC,qBAA+C;IAE/C,IAAI,CAAC;QACH,MAAM,0BAA0B,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACnE,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,cAAc,CAAC,OAAO;YAAE,OAAO,cAAc,CAAC;QACnD,MAAM,UAAU,GAAG,iCAAiC,CAClD,cAAc,CAAC,IAAI,EACnB,OAAO,EACP,KAAK,CACN,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,OAAO;YAAE,OAAO,UAAU,CAAC;QAC3C,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QAC5D,IACE,aAAa,EAAE,kBAAkB,KAAK,0BAA0B;YAChE,CAAC,aAAa,EAAE,gBAAgB;YAChC,aAAa,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAEjC,OAAO,OAAO,CAAC,6CAA6C,CAAC,CAAC;QAChE,MAAM,YAAY,GAAG,sCAAsC,CACzD,cAAc,CAAC,IAAI,EACnB,UAAU,CAAC,IAAI,CAAC,OAAO,EACvB,UAAU,CAAC,IAAI,CAAC,KAAK,EACrB,QAAQ,CACT,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,OAAO;YAAE,OAAO,YAAY,CAAC;QAC/C,MAAM,QAAQ,GAAG,2BAA2B,CAC1C,cAAc,CAAC,IAAI,EACnB,UAAU,CAAC,IAAI,CAAC,OAAO,EACvB,UAAU,CAAC,IAAI,CAAC,KAAK,EACrB,YAAY,CAAC,IAAI,CAClB,CAAC;QACF,IACE,CAAC,QAAQ,CAAC,OAAO;YACjB,QAAQ,CAAC,IAAI,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW;YACjD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,KAAK,OAAO,CAAC,gBAAgB;YAE3D,OAAO,OAAO,CAAC,0CAA0C,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,oBAAoB,CAChC,cAAc,CAAC,IAAI,EACnB,UAAU,CAAC,IAAI,CAAC,OAAO,EACvB,UAAU,CAAC,IAAI,CAAC,KAAK,CACtB,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,OAAO,CAAC,gBAAgB;YAC7E,OAAO,OAAO,CAAC,wCAAwC,CAAC,CAAC;QAE3D,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC;YAC7E,SAAS,CAAC,GAAG;YACb,GAAG,SAAS,CAAC,iBAAiB;SAC/B,CAAC,CAAC,CAAC;QACJ,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACzF,IAAI,cAAc,CAAC,MAAM,KAAK,WAAW,CAAC,IAAI;YAC5C,OAAO,OAAO,CAAC,wCAAwC,CAAC,CAAC;QAE3D,IAAI,UAAwD,CAAC;QAC7D,IAAI,2BAA2B,KAAK,SAAS,EAAE,CAAC;YAC9C,IAAI,CAAC,qBAAqB;gBACxB,OAAO,OAAO,CAAC,sDAAsD,CAAC,CAAC;YACzE,IAAI,MAAM,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,GAAG,uBAAuB,CAC9B,WAAW,EACX,2BAA2B,EAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,EAChB,qBAAqB,CACtB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IACE,KAAK,YAAY,KAAK;oBACtB,KAAK,CAAC,OAAO,KAAK,0CAA0C;oBAE5D,OAAO,OAAO,CAAC,mDAAmD,CAAC,CAAC;gBACtE,OAAO,OAAO,CAAC,4CAA4C,CAAC,CAAC;YAC/D,CAAC;YACD,MAAM,WAAW,GAAG,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC7D,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;gBACxD,OAAO,OAAO,CAAC,+CAA+C,CAAC,CAAC;YAClE,UAAU,GAAG;gBACX,iBAAiB,EAAE,2BAA2B;gBAC9C,WAAW,EAAE,qBAAqB,CAAC,WAAW;gBAC9C,aAAa,EAAE,qBAAqB,CAAC,aAAa;gBAClD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,mBAAmB,EAAE,OAAO,CAAC,WAAW;gBACxC,wBAAwB,EAAE,4BAA4B,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;gBAC7F,WAAW;aACZ,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAoC;YAClD,IAAI,EAAE,4BAA4B;YAClC,kBAAkB,EAAE,yBAAyB;YAC7C,kBAAkB,EAAE,0BAA0B;YAC9C,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;YAChD,MAAM,EAAE,aAAa,CAAC,MAAM;YAC5B,kBAAkB,EAAE,cAAc,CAAC,IAAI,CAAC,WAAW;YACnD,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;YACvB,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO;YAChC,cAAc;YACd,QAAQ,EAAE,YAAY,CAAC,IAAI;YAC3B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,OAAO;SACR,CAAC;QACF,MAAM,IAAI,GAA8B,UAAU;YAChD,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,aAAa,EAAE,CAAC,EAAE,UAAU,EAAE;YACjD,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,aAAa,EAAE,sCAAsC,EAAE,CAAC;QAC7E,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACvE,IAAI,KAAK,CAAC,UAAU,GAAG,iCAAiC;YACtD,OAAO,OAAO,CAAC,oCAAoC,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,0BAA0B,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7E,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,0BAA0B,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC;YACzC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAC/B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACtC;aACF,CAAC;QAEJ,MAAM,SAAS,GAAG,0BAA0B,CAC1C,WAAW,EACX,GAAG,MAAM,QAAQ,UAAU,EAAE,EAAE,CAChC,CAAC;QACF,IAAI,UAA8B,CAAC;QACnC,IAAI,CAAC;YACH,UAAU,GAAG,EAAE,CAAC,QAAQ,CACtB,SAAS,EACT,EAAE,CAAC,SAAS,CAAC,QAAQ;gBACnB,EAAE,CAAC,SAAS,CAAC,OAAO;gBACpB,EAAE,CAAC,SAAS,CAAC,MAAM;gBACnB,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC,CAAC,EAChC,KAAK,CACN,CAAC;YACF,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;gBACpC,OAAO,OAAO,CAAC,uCAAuC,CAAC,CAAC;YAC1D,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACpC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACzB,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACzB,UAAU,GAAG,SAAS,CAAC;YACvB,0BAA0B,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAChD,0BAA0B,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YACnD,IAAI,CAAC;gBACH,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACzE,IAAI,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC;wBACzC,OAAO;4BACL,OAAO,EAAE,IAAI;4BACb,IAAI,EAAE;gCACJ,WAAW,EAAE,QAAQ,CAAC,WAAW;gCACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gCAC/B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;6BACtC;yBACF,CAAC;gBACN,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,IAAI,UAAU,KAAK,SAAS;gBAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACvD,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;oBAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACzD,CAAC;YAAC,MAAM,CAAC;gBACP,oEAAoE;YACtE,CAAC;QACH,CAAC;QACD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC/B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtC;SACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,sCAAsC,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,YAAY,CAAC,WAAmB,EAAE,WAAmB;IAC5D,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC;QAC5C,OAAO,OAAO,CAAC,6CAA6C,CAAC,CAAC;IAChE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG,iCAAiC;YAC1F,OAAO,OAAO,CAAC,uCAAuC,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,yBAAyB,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;YACnF,OAAO,OAAO,CAAC,mCAAmC,CAAC,CAAC;QACtD,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAC3D,IACE,iBAAiB,KAAK,WAAW;YACjC,4BAA4B,CAAC,IAAI,CAAC,KAAK,WAAW;YAClD,CAAC,MAAM,CAAC,aAAa,KAAK,sCAAsC,IAAI,MAAM,CAAC,aAAa,KAAK,CAAC,CAAC;YAC/F,CAAC,MAAM,CAAC,aAAa,KAAK,sCAAsC,IAAI,YAAY,IAAI,MAAM,CAAC;YAC3F,CAAC,MAAM,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC5D,MAAM,CAAC,IAAI,KAAK,4BAA4B;YAC5C,MAAM,CAAC,kBAAkB,KAAK,yBAAyB;YACvD,MAAM,CAAC,kBAAkB,KAAK,kBAAkB,CAAC,WAAW,CAAC;YAE7D,OAAO,OAAO,CAAC,2CAA2C,CAAC,CAAC;QAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAA0C,EAAE,CAAC;IAC7E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YACtE,OAAO,OAAO,CAAC,mCAAmC,CAAC,CAAC;QACtD,OAAO,OAAO,CAAC,qCAAqC,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,2GAA2G;AAC3G,MAAM,UAAU,2BAA2B,CACzC,WAAmB,EACnB,WAAmB,EACnB,aAA0B;IAE1B,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC;IACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,kBAAkB;YAC9E,OAAO,CAAC,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,OAAO,CAAC,kBAAkB;YAChE,OAAO,OAAO,CAAC,wDAAwD,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC;QACjD,IACE,SAAS,EAAE,kBAAkB,KAAK,QAAQ,CAAC,kBAAkB;YAC7D,SAAS,CAAC,gBAAgB,KAAK,QAAQ,CAAC,gBAAgB;YACxD,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;YAEpC,OAAO,OAAO,CAAC,6CAA6C,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,6BAA6B,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACjF,IACE,CAAC,UAAU,CAAC,OAAO;YACnB,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;YAC5C,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;YACzB,QAAQ,CAAC,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,gBAAgB;YACxD,QAAQ,CAAC,KAAK,CAAC,kBAAkB,KAAK,QAAQ,CAAC,kBAAkB;YACjE,QAAQ,CAAC,KAAK,CAAC,gBAAgB,KAAK,QAAQ,CAAC,OAAO,CAAC,gBAAgB;YACrE,QAAQ,CAAC,OAAO,CAAC,gBAAgB,KAAK,QAAQ,CAAC,gBAAgB;YAE/D,OAAO,OAAO,CAAC,wCAAwC,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,qCAAqC,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9F,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC;YAC1E,OAAO,OAAO,CAAC,2CAA2C,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,oCAAoC,CACnD,OAAO,CAAC,IAAI,EACZ,UAAU,CAAC,IAAI,EACf,QAAQ,CAAC,KAAK,EACd,QAAQ,CAAC,cAAc,EACvB,QAAQ,CAAC,QAAQ,CAClB,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,OAAO,CAAC,WAAW;YACjF,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;YAC1C,OAAO,OAAO,CAAC,yCAAyC,CAAC,CAAC;QAC5D,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,IAAI,MAAM,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,GAAG,uBAAuB,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YACvG,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,OAAO,CAAC,6CAA6C,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,WAAW,GAAG,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa;gBAChC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,KAAK,QAAQ,CAAC,gBAAgB;gBAClE,QAAQ,CAAC,UAAU,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW;gBACtD,QAAQ,CAAC,UAAU,CAAC,aAAa,KAAK,MAAM,CAAC,aAAa;gBAC1D,QAAQ,CAAC,UAAU,CAAC,mBAAmB,KAAK,QAAQ,CAAC,IAAI,CAAC,WAAW;gBACrE,QAAQ,CAAC,UAAU,CAAC,wBAAwB,KAAK,4BAA4B,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC;gBAC5G,CAAC,WAAW;gBACZ,QAAQ,CAAC,UAAU,CAAC,WAAW,KAAK,WAAW;gBAC/C,OAAO,OAAO,CAAC,+CAA+C,CAAC,CAAC;QACpE,CAAC;QACD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,mBAAmB,EAAE,WAAW;gBAChC,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW;gBAC5C,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,OAAO,EAAE,QAAQ,CAAC,IAAI;gBACtB,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxE;SACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,uCAAuC,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { type AssuranceLevelV1, type PactileIntentV1, type PolicyCeilingV1 } from "../../core/index.js";
|
|
2
|
+
import { type KernelCondition, type KernelOutcome, type KernelPhase } from "../../core/task/index.js";
|
|
3
|
+
import { type TileCatalog } from "./catalog.js";
|
|
4
|
+
import { type TileCapabilityFact, type TileProviderFact } from "./compiler.js";
|
|
5
|
+
import { TILE_COMPILER_ABI_VERSION, type TileCatalogEntry, type TileDiagnostic, type TileResult } from "./loader.js";
|
|
6
|
+
export declare const TILE_SELECTION_SCHEMA_VERSION: 1;
|
|
7
|
+
export declare const MAX_TILE_SELECTION_CATALOG = 128;
|
|
8
|
+
export declare const MAX_TILE_SELECTION_OUTPUTS = 32;
|
|
9
|
+
export declare const MAX_TILE_SELECTION_CAPABILITIES = 128;
|
|
10
|
+
export declare const MAX_TILE_SELECTION_REFERENCES = 32;
|
|
11
|
+
export declare const MAX_TILE_SELECTION_SEARCH_NODES = 4096;
|
|
12
|
+
export declare const BASELINE_TILE_PHASES: Readonly<Record<string, readonly KernelPhase[]>>;
|
|
13
|
+
export declare const ONDEMAND_TILE_PHASES: Readonly<Record<string, readonly KernelPhase[]>>;
|
|
14
|
+
export type TileSelectionTier = "baseline" | "on-demand";
|
|
15
|
+
export type TileLifecycleState = "active" | "registered" | "deprecated" | "disabled" | "retired" | "degraded";
|
|
16
|
+
export type TileSelectionChannel = "agent" | "explicit";
|
|
17
|
+
export interface TileSelectionGrantFact {
|
|
18
|
+
readonly source: "safe-default" | "task-kernel-approval-snapshot";
|
|
19
|
+
/** The Kernel records a caller assertion; this does not authenticate identity. */
|
|
20
|
+
readonly assurance: "no-grant" | "recorded-user-assertion";
|
|
21
|
+
readonly fingerprint: string;
|
|
22
|
+
}
|
|
23
|
+
export declare function tileAllowedInTaskPhase(tileId: string, tier: TileSelectionTier, phase: KernelPhase): boolean;
|
|
24
|
+
export interface TileTaskLifecycleFact {
|
|
25
|
+
readonly taskId: string;
|
|
26
|
+
/** Stable hash of the project root; the path itself is never exposed. */
|
|
27
|
+
readonly projectFingerprint: string;
|
|
28
|
+
/** Hashed project-root + Task-directory identity; no local path is exposed. */
|
|
29
|
+
readonly scopeFingerprint: string;
|
|
30
|
+
readonly selectionGrant: TileSelectionGrantFact;
|
|
31
|
+
readonly revision: number;
|
|
32
|
+
readonly phase: KernelPhase;
|
|
33
|
+
readonly condition: KernelCondition;
|
|
34
|
+
readonly outcome: KernelOutcome | null;
|
|
35
|
+
}
|
|
36
|
+
export type TileSelectionLifecycleFailureCode = "tile-selection-no-current-task" | "tile-selection-task-stale" | "tile-selection-task-read-failed" | "tile-selection-task-lifecycle-missing" | "tile-selection-task-lifecycle-invalid";
|
|
37
|
+
/** Safe, deterministic receipt for a closed task-selection boundary. */
|
|
38
|
+
export interface TileSelectionLifecycleFailureReceipt {
|
|
39
|
+
readonly schemaVersion: typeof TILE_SELECTION_SCHEMA_VERSION;
|
|
40
|
+
readonly outcome: "lifecycle-unavailable";
|
|
41
|
+
readonly reasonCode: TileSelectionLifecycleFailureCode;
|
|
42
|
+
readonly taskLifecycle: TileTaskLifecycleFact | null;
|
|
43
|
+
readonly fingerprint: string;
|
|
44
|
+
}
|
|
45
|
+
export declare function createTileSelectionLifecycleFailureReceipt(reasonCode: TileSelectionLifecycleFailureCode, taskLifecycle?: TileTaskLifecycleFact | null): TileSelectionLifecycleFailureReceipt;
|
|
46
|
+
/** Registry-owned facts stay separate from the frozen Tile manifest contract. */
|
|
47
|
+
export interface TileSelectionFact {
|
|
48
|
+
readonly ref: string;
|
|
49
|
+
readonly tier: TileSelectionTier;
|
|
50
|
+
readonly lifecycle: TileLifecycleState;
|
|
51
|
+
}
|
|
52
|
+
export interface TileSelectionRequest {
|
|
53
|
+
readonly intent: PactileIntentV1;
|
|
54
|
+
readonly requiredOutputs: readonly string[];
|
|
55
|
+
readonly policyCeiling: PolicyCeilingV1;
|
|
56
|
+
readonly capabilities: readonly TileCapabilityFact[];
|
|
57
|
+
readonly providerFacts?: readonly TileProviderFact[];
|
|
58
|
+
/** `agent` also covers an optional configured Jev caller. */
|
|
59
|
+
readonly channel?: TileSelectionChannel;
|
|
60
|
+
/** Present on the current-task entry point and fingerprinted into the offer. */
|
|
61
|
+
readonly taskLifecycle?: TileTaskLifecycleFact;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Read-only request profile used by the built-in Task/Agent entry points.
|
|
65
|
+
* Callers may further restrict it; the selected-Task registry intersects it
|
|
66
|
+
* with the Task's recorded Tile grant before preparing an offer.
|
|
67
|
+
*/
|
|
68
|
+
export declare function taskTileSelectionRequest(phase: KernelPhase): Omit<TileSelectionRequest, "taskLifecycle">;
|
|
69
|
+
export interface TileSelectionCandidate {
|
|
70
|
+
readonly ref: string;
|
|
71
|
+
readonly tier: TileSelectionTier;
|
|
72
|
+
readonly lifecycle: TileLifecycleState;
|
|
73
|
+
readonly summary: string;
|
|
74
|
+
readonly trigger: TileCatalogEntry["manifest"]["trigger"];
|
|
75
|
+
readonly inputs: readonly string[];
|
|
76
|
+
readonly outputs: readonly string[];
|
|
77
|
+
readonly dependencies: readonly string[];
|
|
78
|
+
readonly conflicts: readonly string[];
|
|
79
|
+
readonly dependencyClosure: readonly string[];
|
|
80
|
+
readonly minimumAssurance: AssuranceLevelV1;
|
|
81
|
+
readonly fingerprint: string;
|
|
82
|
+
readonly outputScore: number;
|
|
83
|
+
readonly explanations: readonly string[];
|
|
84
|
+
}
|
|
85
|
+
export interface TileSelectionSuggestion {
|
|
86
|
+
/** Requested roots. The compiler expands dependencies again at decision time. */
|
|
87
|
+
readonly selectedRefs: readonly string[];
|
|
88
|
+
readonly expandedSelection: readonly string[];
|
|
89
|
+
readonly coveredOutputs: readonly string[];
|
|
90
|
+
readonly missingOutputs: readonly string[];
|
|
91
|
+
readonly complete: boolean;
|
|
92
|
+
readonly searchStatus: "solution-found" | "no-solution" | "budget-exhausted";
|
|
93
|
+
}
|
|
94
|
+
export interface TileSelectionOffer {
|
|
95
|
+
readonly schemaVersion: typeof TILE_SELECTION_SCHEMA_VERSION;
|
|
96
|
+
readonly compilerAbiVersion: typeof TILE_COMPILER_ABI_VERSION;
|
|
97
|
+
readonly catalogFingerprint: string;
|
|
98
|
+
readonly inputFingerprint: string;
|
|
99
|
+
readonly intent: PactileIntentV1;
|
|
100
|
+
readonly channel: TileSelectionChannel;
|
|
101
|
+
readonly requiredOutputs: readonly string[];
|
|
102
|
+
readonly taskLifecycle: TileTaskLifecycleFact | null;
|
|
103
|
+
/** Only candidates that passed every hard filter are exposed here. */
|
|
104
|
+
readonly candidates: readonly TileSelectionCandidate[];
|
|
105
|
+
readonly suggestion: TileSelectionSuggestion;
|
|
106
|
+
readonly fingerprint: string;
|
|
107
|
+
}
|
|
108
|
+
/** Internal audit accompanies the offer but is not part of its Agent-facing payload. */
|
|
109
|
+
export interface TileSelectionAuditItem {
|
|
110
|
+
readonly ref: string;
|
|
111
|
+
readonly tier: TileSelectionTier;
|
|
112
|
+
readonly lifecycle: TileLifecycleState;
|
|
113
|
+
readonly eligible: boolean;
|
|
114
|
+
readonly filterCodes: readonly string[];
|
|
115
|
+
}
|
|
116
|
+
export interface TileSelectionPlan {
|
|
117
|
+
readonly offer: TileSelectionOffer;
|
|
118
|
+
readonly audit: readonly TileSelectionAuditItem[];
|
|
119
|
+
}
|
|
120
|
+
export type TileSelectionDecisionKind = "adopt" | "override" | "no-match";
|
|
121
|
+
export type TileSelectionOutcome = "selected" | "overridden" | "mis-selection" | "no-match" | "invalid-selection" | "compile-rejected" | "search-incomplete" | "stale-offer";
|
|
122
|
+
export interface TileSelectionDecision {
|
|
123
|
+
/** `invalid` is the safe replay encoding for an unsupported user choice. */
|
|
124
|
+
readonly kind: TileSelectionDecisionKind | "invalid";
|
|
125
|
+
readonly offerFingerprint: string;
|
|
126
|
+
/** Required for override. Invalid references are counted and redacted. */
|
|
127
|
+
readonly selectedRefs?: readonly string[];
|
|
128
|
+
/** Optional earlier attempt retained when a user corrects a mistaken choice. */
|
|
129
|
+
readonly priorAttemptRefs?: readonly string[];
|
|
130
|
+
}
|
|
131
|
+
export interface TileSelectionAttemptReceipt {
|
|
132
|
+
readonly outcome: "valid" | "mis-selection" | "invalid-selection";
|
|
133
|
+
readonly selectedRefs: readonly string[];
|
|
134
|
+
readonly invalidReferenceCount: number;
|
|
135
|
+
readonly compilerPassed: boolean;
|
|
136
|
+
readonly coveredOutputs: readonly string[];
|
|
137
|
+
readonly missingOutputs: readonly string[];
|
|
138
|
+
readonly diagnosticCodes: readonly string[];
|
|
139
|
+
}
|
|
140
|
+
export interface TileSelectionDecisionReceipt {
|
|
141
|
+
readonly schemaVersion: typeof TILE_SELECTION_SCHEMA_VERSION;
|
|
142
|
+
readonly catalogFingerprint: string;
|
|
143
|
+
readonly inputFingerprint: string;
|
|
144
|
+
readonly offerFingerprint: string;
|
|
145
|
+
readonly decision: TileSelectionDecisionKind | "invalid";
|
|
146
|
+
readonly outcome: TileSelectionOutcome;
|
|
147
|
+
readonly selectedRefs: readonly string[];
|
|
148
|
+
readonly expandedSelection: readonly string[];
|
|
149
|
+
readonly invalidReferenceCount: number;
|
|
150
|
+
readonly compilerPassed: boolean;
|
|
151
|
+
readonly compositionFingerprint: string | null;
|
|
152
|
+
readonly coveredOutputs: readonly string[];
|
|
153
|
+
readonly missingOutputs: readonly string[];
|
|
154
|
+
readonly taskLifecycle: TileTaskLifecycleFact | null;
|
|
155
|
+
readonly diagnostics: readonly TileDiagnostic[];
|
|
156
|
+
readonly priorAttempt: TileSelectionAttemptReceipt | null;
|
|
157
|
+
readonly fingerprint: string;
|
|
158
|
+
}
|
|
159
|
+
/** Canonical request validation without requiring a full catalog fact table. */
|
|
160
|
+
export declare function normalizeTileSelectionRequest(catalog: TileCatalog, request: TileSelectionRequest): TileResult<TileSelectionRequest>;
|
|
161
|
+
export interface NormalizedTileSelectionReplayInput {
|
|
162
|
+
readonly request: TileSelectionRequest;
|
|
163
|
+
readonly facts: readonly TileSelectionFact[];
|
|
164
|
+
}
|
|
165
|
+
/** Canonical, validated inputs for a durable decision replay snapshot. */
|
|
166
|
+
export declare function normalizeTileSelectionReplayInput(catalog: TileCatalog, request: TileSelectionRequest, facts: readonly TileSelectionFact[]): TileResult<NormalizedTileSelectionReplayInput>;
|
|
167
|
+
/**
|
|
168
|
+
* Build an Agent-facing offer only after intent, lifecycle, dependency,
|
|
169
|
+
* permission, conflict and compiler checks have accepted each candidate.
|
|
170
|
+
*/
|
|
171
|
+
export declare function prepareTileSelection(sourceCatalog: TileCatalog, request: TileSelectionRequest, facts: readonly TileSelectionFact[]): TileResult<TileSelectionPlan>;
|
|
172
|
+
/** Redact caller strings using only references already present in the offer. */
|
|
173
|
+
export declare function sanitizeTileSelectionDecisionForOffer(offer: TileSelectionOffer, decision: TileSelectionDecision): TileResult<TileSelectionDecision>;
|
|
174
|
+
/** Redact invalid refs before comparing current-input replay receipts. */
|
|
175
|
+
export declare function sanitizeTileSelectionDecisionForReplay(catalog: TileCatalog, request: TileSelectionRequest, facts: readonly TileSelectionFact[], decision: TileSelectionDecision): TileResult<TileSelectionDecision>;
|
|
176
|
+
/** Re-run a historical decision from a filtered Offer and the matching catalog version. */
|
|
177
|
+
export declare function replayTileSelectionDecisionFromOffer(sourceCatalog: TileCatalog, request: TileSelectionRequest, offer: TileSelectionOffer, candidateFacts: readonly TileSelectionFact[], decision: TileSelectionDecision): TileResult<TileSelectionDecisionReceipt>;
|
|
178
|
+
/**
|
|
179
|
+
* Produce a replayable decision result. Adoption and override both re-run the
|
|
180
|
+
* compiler; overrides can change the suggestion but cannot bypass its checks.
|
|
181
|
+
*/
|
|
182
|
+
export declare function decideTileSelection(catalog: TileCatalog, request: TileSelectionRequest, facts: readonly TileSelectionFact[], decision: TileSelectionDecision): TileResult<TileSelectionDecisionReceipt>;
|
|
183
|
+
/** Recompute the same offer and decision receipt from their original inputs. */
|
|
184
|
+
export declare function replayTileSelectionDecision(catalog: TileCatalog, request: TileSelectionRequest, facts: readonly TileSelectionFact[], decision: TileSelectionDecision): TileResult<TileSelectionDecisionReceipt>;
|
|
185
|
+
//# sourceMappingURL=selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../../src/pactile/tiles/selection.ts"],"names":[],"mappings":"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"}
|