@schnick371/devsteps-shared 1.1.0-next.3 → 2.0.0-next.1
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/LICENSE.md +115 -0
- package/README.md +14 -3
- package/dist/constants/index.d.ts +40 -56
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +7 -23
- package/dist/constants/index.js.map +1 -1
- package/dist/core/add-batch-input.d.ts +28 -0
- package/dist/core/add-batch-input.d.ts.map +1 -0
- package/dist/core/add-batch-input.js +106 -0
- package/dist/core/add-batch-input.js.map +1 -0
- package/dist/core/add-batch.d.ts +37 -0
- package/dist/core/add-batch.d.ts.map +1 -0
- package/dist/core/add-batch.js +219 -0
- package/dist/core/add-batch.js.map +1 -0
- package/dist/core/add-preparation.d.ts +40 -0
- package/dist/core/add-preparation.d.ts.map +1 -0
- package/dist/core/add-preparation.js +208 -0
- package/dist/core/add-preparation.js.map +1 -0
- package/dist/core/add.d.ts +29 -6
- package/dist/core/add.d.ts.map +1 -1
- package/dist/core/add.js +54 -64
- package/dist/core/add.js.map +1 -1
- package/dist/core/archive.d.ts +18 -3
- package/dist/core/archive.d.ts.map +1 -1
- package/dist/core/archive.js +80 -35
- package/dist/core/archive.js.map +1 -1
- package/dist/core/auto-migrate-detect.d.ts +51 -16
- package/dist/core/auto-migrate-detect.d.ts.map +1 -1
- package/dist/core/auto-migrate-detect.js +128 -29
- package/dist/core/auto-migrate-detect.js.map +1 -1
- package/dist/core/auto-migrate-folders.d.ts +35 -0
- package/dist/core/auto-migrate-folders.d.ts.map +1 -0
- package/dist/core/auto-migrate-folders.js +104 -0
- package/dist/core/auto-migrate-folders.js.map +1 -0
- package/dist/core/auto-migrate-impl.d.ts +12 -10
- package/dist/core/auto-migrate-impl.d.ts.map +1 -1
- package/dist/core/auto-migrate-impl.js +79 -64
- package/dist/core/auto-migrate-impl.js.map +1 -1
- package/dist/core/auto-migrate.d.ts +16 -20
- package/dist/core/auto-migrate.d.ts.map +1 -1
- package/dist/core/auto-migrate.js +65 -56
- package/dist/core/auto-migrate.js.map +1 -1
- package/dist/core/board.d.ts +34 -0
- package/dist/core/board.d.ts.map +1 -0
- package/dist/core/board.js +64 -0
- package/dist/core/board.js.map +1 -0
- package/dist/core/bulk-update.d.ts +2 -0
- package/dist/core/bulk-update.d.ts.map +1 -1
- package/dist/core/bulk-update.js +45 -76
- package/dist/core/bulk-update.js.map +1 -1
- package/dist/core/child-relations.d.ts +26 -0
- package/dist/core/child-relations.d.ts.map +1 -0
- package/dist/core/child-relations.js +50 -0
- package/dist/core/child-relations.js.map +1 -0
- package/dist/core/classification-defaults.d.ts +20 -0
- package/dist/core/classification-defaults.d.ts.map +1 -0
- package/dist/core/classification-defaults.js +253 -0
- package/dist/core/classification-defaults.js.map +1 -0
- package/dist/core/classification-exports.d.ts +16 -0
- package/dist/core/classification-exports.d.ts.map +1 -0
- package/dist/core/classification-exports.js +16 -0
- package/dist/core/classification-exports.js.map +1 -0
- package/dist/core/classification-gate.d.ts +86 -0
- package/dist/core/classification-gate.d.ts.map +1 -0
- package/dist/core/classification-gate.js +250 -0
- package/dist/core/classification-gate.js.map +1 -0
- package/dist/core/classification-leaf.d.ts +50 -0
- package/dist/core/classification-leaf.d.ts.map +1 -0
- package/dist/core/classification-leaf.js +134 -0
- package/dist/core/classification-leaf.js.map +1 -0
- package/dist/core/classification-registry-action.d.ts +34 -0
- package/dist/core/classification-registry-action.d.ts.map +1 -0
- package/dist/core/classification-registry-action.js +71 -0
- package/dist/core/classification-registry-action.js.map +1 -0
- package/dist/core/classification-registry-ops.d.ts +30 -0
- package/dist/core/classification-registry-ops.d.ts.map +1 -0
- package/dist/core/classification-registry-ops.js +122 -0
- package/dist/core/classification-registry-ops.js.map +1 -0
- package/dist/core/classification-registry.d.ts +132 -0
- package/dist/core/classification-registry.d.ts.map +1 -0
- package/dist/core/classification-registry.js +141 -0
- package/dist/core/classification-registry.js.map +1 -0
- package/dist/core/classification-resolve.d.ts +31 -0
- package/dist/core/classification-resolve.d.ts.map +1 -0
- package/dist/core/classification-resolve.js +69 -0
- package/dist/core/classification-resolve.js.map +1 -0
- package/dist/core/classification-score.d.ts +50 -0
- package/dist/core/classification-score.d.ts.map +1 -0
- package/dist/core/classification-score.js +107 -0
- package/dist/core/classification-score.js.map +1 -0
- package/dist/core/classification-snapshot.d.ts +55 -0
- package/dist/core/classification-snapshot.d.ts.map +1 -0
- package/dist/core/classification-snapshot.js +85 -0
- package/dist/core/classification-snapshot.js.map +1 -0
- package/dist/core/closeout-branch-record.d.ts +56 -0
- package/dist/core/closeout-branch-record.d.ts.map +1 -0
- package/dist/core/closeout-branch-record.js +201 -0
- package/dist/core/closeout-branch-record.js.map +1 -0
- package/dist/core/closeout-classify.d.ts +25 -0
- package/dist/core/closeout-classify.d.ts.map +1 -0
- package/dist/core/closeout-classify.js +271 -0
- package/dist/core/closeout-classify.js.map +1 -0
- package/dist/core/closeout-git.d.ts +52 -0
- package/dist/core/closeout-git.d.ts.map +1 -0
- package/dist/core/closeout-git.js +94 -0
- package/dist/core/closeout-git.js.map +1 -0
- package/dist/core/closeout-handover-draft.d.ts +19 -0
- package/dist/core/closeout-handover-draft.d.ts.map +1 -0
- package/dist/core/closeout-handover-draft.js +144 -0
- package/dist/core/closeout-handover-draft.js.map +1 -0
- package/dist/core/closeout-inventory.d.ts +18 -0
- package/dist/core/closeout-inventory.d.ts.map +1 -0
- package/dist/core/closeout-inventory.js +251 -0
- package/dist/core/closeout-inventory.js.map +1 -0
- package/dist/core/closeout-preserve.d.ts +23 -0
- package/dist/core/closeout-preserve.d.ts.map +1 -0
- package/dist/core/closeout-preserve.js +123 -0
- package/dist/core/closeout-preserve.js.map +1 -0
- package/dist/core/closeout-record-write.d.ts +29 -0
- package/dist/core/closeout-record-write.d.ts.map +1 -0
- package/dist/core/closeout-record-write.js +69 -0
- package/dist/core/closeout-record-write.js.map +1 -0
- package/dist/core/closeout-repository.d.ts +16 -0
- package/dist/core/closeout-repository.d.ts.map +1 -0
- package/dist/core/closeout-repository.js +84 -0
- package/dist/core/closeout-repository.js.map +1 -0
- package/dist/core/closeout-rescue-refs.d.ts +18 -0
- package/dist/core/closeout-rescue-refs.d.ts.map +1 -0
- package/dist/core/closeout-rescue-refs.js +90 -0
- package/dist/core/closeout-rescue-refs.js.map +1 -0
- package/dist/core/closeout-rescue-run.d.ts +29 -0
- package/dist/core/closeout-rescue-run.d.ts.map +1 -0
- package/dist/core/closeout-rescue-run.js +66 -0
- package/dist/core/closeout-rescue-run.js.map +1 -0
- package/dist/core/closeout-rescue.d.ts +66 -0
- package/dist/core/closeout-rescue.d.ts.map +1 -0
- package/dist/core/closeout-rescue.js +302 -0
- package/dist/core/closeout-rescue.js.map +1 -0
- package/dist/core/closeout-rows.d.ts +10 -0
- package/dist/core/closeout-rows.d.ts.map +1 -0
- package/dist/core/closeout-rows.js +103 -0
- package/dist/core/closeout-rows.js.map +1 -0
- package/dist/core/closeout-secrets.d.ts +20 -0
- package/dist/core/closeout-secrets.d.ts.map +1 -0
- package/dist/core/closeout-secrets.js +119 -0
- package/dist/core/closeout-secrets.js.map +1 -0
- package/dist/core/closeout-types.d.ts +140 -0
- package/dist/core/closeout-types.d.ts.map +1 -0
- package/dist/core/closeout-types.js +9 -0
- package/dist/core/closeout-types.js.map +1 -0
- package/dist/core/closeout-worktree-links.d.ts +27 -0
- package/dist/core/closeout-worktree-links.d.ts.map +1 -0
- package/dist/core/closeout-worktree-links.js +112 -0
- package/dist/core/closeout-worktree-links.js.map +1 -0
- package/dist/core/closeout-worktrees.d.ts +54 -0
- package/dist/core/closeout-worktrees.d.ts.map +1 -0
- package/dist/core/closeout-worktrees.js +250 -0
- package/dist/core/closeout-worktrees.js.map +1 -0
- package/dist/core/commit-hint.d.ts +30 -0
- package/dist/core/commit-hint.d.ts.map +1 -0
- package/dist/core/commit-hint.js +34 -0
- package/dist/core/commit-hint.js.map +1 -0
- package/dist/core/compass-chain.d.ts +32 -0
- package/dist/core/compass-chain.d.ts.map +1 -0
- package/dist/core/compass-chain.js +90 -0
- package/dist/core/compass-chain.js.map +1 -0
- package/dist/core/compass-render.d.ts +16 -0
- package/dist/core/compass-render.d.ts.map +1 -0
- package/dist/core/compass-render.js +87 -0
- package/dist/core/compass-render.js.map +1 -0
- package/dist/core/compass-types.d.ts +93 -0
- package/dist/core/compass-types.d.ts.map +1 -0
- package/dist/core/compass-types.js +12 -0
- package/dist/core/compass-types.js.map +1 -0
- package/dist/core/compass.d.ts +31 -0
- package/dist/core/compass.d.ts.map +1 -0
- package/dist/core/compass.js +207 -0
- package/dist/core/compass.js.map +1 -0
- package/dist/core/config.d.ts +11 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +33 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/context-items.d.ts +61 -0
- package/dist/core/context-items.d.ts.map +1 -0
- package/dist/core/context-items.js +111 -0
- package/dist/core/context-items.js.map +1 -0
- package/dist/core/context-render.d.ts +23 -0
- package/dist/core/context-render.d.ts.map +1 -0
- package/dist/core/context-render.js +228 -0
- package/dist/core/context-render.js.map +1 -0
- package/dist/core/context.d.ts +5 -35
- package/dist/core/context.d.ts.map +1 -1
- package/dist/core/context.js +11 -316
- package/dist/core/context.js.map +1 -1
- package/dist/core/coord-handover-notice.d.ts +32 -0
- package/dist/core/coord-handover-notice.d.ts.map +1 -0
- package/dist/core/coord-handover-notice.js +66 -0
- package/dist/core/coord-handover-notice.js.map +1 -0
- package/dist/core/coord-input.d.ts +106 -0
- package/dist/core/coord-input.d.ts.map +1 -0
- package/dist/core/coord-input.js +142 -0
- package/dist/core/coord-input.js.map +1 -0
- package/dist/core/coord-journal.d.ts +28 -0
- package/dist/core/coord-journal.d.ts.map +1 -0
- package/dist/core/coord-journal.js +51 -0
- package/dist/core/coord-journal.js.map +1 -0
- package/dist/core/coord-paths.d.ts +30 -0
- package/dist/core/coord-paths.d.ts.map +1 -0
- package/dist/core/coord-paths.js +65 -0
- package/dist/core/coord-paths.js.map +1 -0
- package/dist/core/coord-read.d.ts +135 -0
- package/dist/core/coord-read.d.ts.map +1 -0
- package/dist/core/coord-read.js +154 -0
- package/dist/core/coord-read.js.map +1 -0
- package/dist/core/coord-store.d.ts +51 -0
- package/dist/core/coord-store.d.ts.map +1 -0
- package/dist/core/coord-store.js +188 -0
- package/dist/core/coord-store.js.map +1 -0
- package/dist/core/coord-summary.d.ts +23 -0
- package/dist/core/coord-summary.d.ts.map +1 -0
- package/dist/core/coord-summary.js +70 -0
- package/dist/core/coord-summary.js.map +1 -0
- package/dist/core/coord-sweep.d.ts +20 -0
- package/dist/core/coord-sweep.d.ts.map +1 -0
- package/dist/core/coord-sweep.js +60 -0
- package/dist/core/coord-sweep.js.map +1 -0
- package/dist/core/coord-target.d.ts +13 -0
- package/dist/core/coord-target.d.ts.map +1 -0
- package/dist/core/coord-target.js +20 -0
- package/dist/core/coord-target.js.map +1 -0
- package/dist/core/coord-write.d.ts +43 -0
- package/dist/core/coord-write.d.ts.map +1 -0
- package/dist/core/coord-write.js +210 -0
- package/dist/core/coord-write.js.map +1 -0
- package/dist/core/coordination-text.d.ts +49 -0
- package/dist/core/coordination-text.d.ts.map +1 -0
- package/dist/core/coordination-text.js +159 -0
- package/dist/core/coordination-text.js.map +1 -0
- package/dist/core/counter-lock-owner.d.ts +33 -0
- package/dist/core/counter-lock-owner.d.ts.map +1 -0
- package/dist/core/counter-lock-owner.js +129 -0
- package/dist/core/counter-lock-owner.js.map +1 -0
- package/dist/core/counter-lock-types.d.ts +39 -0
- package/dist/core/counter-lock-types.d.ts.map +1 -0
- package/dist/core/counter-lock-types.js +21 -0
- package/dist/core/counter-lock-types.js.map +1 -0
- package/dist/core/counter-lock.d.ts +33 -0
- package/dist/core/counter-lock.d.ts.map +1 -0
- package/dist/core/counter-lock.js +295 -0
- package/dist/core/counter-lock.js.map +1 -0
- package/dist/core/counters.d.ts +58 -0
- package/dist/core/counters.d.ts.map +1 -0
- package/dist/core/counters.js +244 -0
- package/dist/core/counters.js.map +1 -0
- package/dist/core/dashboard-insights.d.ts +101 -0
- package/dist/core/dashboard-insights.d.ts.map +1 -0
- package/dist/core/dashboard-insights.js +175 -0
- package/dist/core/dashboard-insights.js.map +1 -0
- package/dist/core/dashboard-model.d.ts +106 -0
- package/dist/core/dashboard-model.d.ts.map +1 -0
- package/dist/core/dashboard-model.js +176 -0
- package/dist/core/dashboard-model.js.map +1 -0
- package/dist/core/decision-count.d.ts +18 -0
- package/dist/core/decision-count.d.ts.map +1 -0
- package/dist/core/decision-count.js +74 -0
- package/dist/core/decision-count.js.map +1 -0
- package/dist/core/decision-question-status.d.ts +36 -0
- package/dist/core/decision-question-status.d.ts.map +1 -0
- package/dist/core/decision-question-status.js +106 -0
- package/dist/core/decision-question-status.js.map +1 -0
- package/dist/core/decision-question.d.ts +73 -0
- package/dist/core/decision-question.d.ts.map +1 -0
- package/dist/core/decision-question.js +203 -0
- package/dist/core/decision-question.js.map +1 -0
- package/dist/core/decision-round-actions.d.ts +49 -0
- package/dist/core/decision-round-actions.d.ts.map +1 -0
- package/dist/core/decision-round-actions.js +114 -0
- package/dist/core/decision-round-actions.js.map +1 -0
- package/dist/core/decision-round-owner.d.ts +29 -0
- package/dist/core/decision-round-owner.d.ts.map +1 -0
- package/dist/core/decision-round-owner.js +130 -0
- package/dist/core/decision-round-owner.js.map +1 -0
- package/dist/core/decision-round-text.d.ts +43 -0
- package/dist/core/decision-round-text.d.ts.map +1 -0
- package/dist/core/decision-round-text.js +146 -0
- package/dist/core/decision-round-text.js.map +1 -0
- package/dist/core/decision-round-types.d.ts +108 -0
- package/dist/core/decision-round-types.d.ts.map +1 -0
- package/dist/core/decision-round-types.js +11 -0
- package/dist/core/decision-round-types.js.map +1 -0
- package/dist/core/decision-round.d.ts +19 -0
- package/dist/core/decision-round.d.ts.map +1 -0
- package/dist/core/decision-round.js +166 -0
- package/dist/core/decision-round.js.map +1 -0
- package/dist/core/description-patch.d.ts +39 -0
- package/dist/core/description-patch.d.ts.map +1 -0
- package/dist/core/description-patch.js +107 -0
- package/dist/core/description-patch.js.map +1 -0
- package/dist/core/docs-assemble.d.ts +91 -0
- package/dist/core/docs-assemble.d.ts.map +1 -0
- package/dist/core/docs-assemble.js +210 -0
- package/dist/core/docs-assemble.js.map +1 -0
- package/dist/core/docs-map.d.ts +74 -0
- package/dist/core/docs-map.d.ts.map +1 -0
- package/dist/core/docs-map.js +247 -0
- package/dist/core/docs-map.js.map +1 -0
- package/dist/core/doctor-attachments.d.ts +29 -0
- package/dist/core/doctor-attachments.d.ts.map +1 -0
- package/dist/core/doctor-attachments.js +95 -0
- package/dist/core/doctor-attachments.js.map +1 -0
- package/dist/core/doctor-classification.d.ts +14 -0
- package/dist/core/doctor-classification.d.ts.map +1 -0
- package/dist/core/doctor-classification.js +55 -0
- package/dist/core/doctor-classification.js.map +1 -0
- package/dist/core/doctor-commit-evidence-git.d.ts +19 -0
- package/dist/core/doctor-commit-evidence-git.d.ts.map +1 -0
- package/dist/core/doctor-commit-evidence-git.js +278 -0
- package/dist/core/doctor-commit-evidence-git.js.map +1 -0
- package/dist/core/doctor-commit-evidence.d.ts +11 -0
- package/dist/core/doctor-commit-evidence.d.ts.map +1 -0
- package/dist/core/doctor-commit-evidence.js +139 -0
- package/dist/core/doctor-commit-evidence.js.map +1 -0
- package/dist/core/doctor-coordination.d.ts +20 -0
- package/dist/core/doctor-coordination.d.ts.map +1 -0
- package/dist/core/doctor-coordination.js +88 -0
- package/dist/core/doctor-coordination.js.map +1 -0
- package/dist/core/doctor-counters.d.ts +13 -0
- package/dist/core/doctor-counters.d.ts.map +1 -0
- package/dist/core/doctor-counters.js +46 -0
- package/dist/core/doctor-counters.js.map +1 -0
- package/dist/core/doctor-generated-files.d.ts +32 -0
- package/dist/core/doctor-generated-files.d.ts.map +1 -0
- package/dist/core/doctor-generated-files.js +178 -0
- package/dist/core/doctor-generated-files.js.map +1 -0
- package/dist/core/doctor-placeholders.d.ts +10 -0
- package/dist/core/doctor-placeholders.d.ts.map +1 -0
- package/dist/core/doctor-placeholders.js +49 -0
- package/dist/core/doctor-placeholders.js.map +1 -0
- package/dist/core/doctor-relations.d.ts +27 -0
- package/dist/core/doctor-relations.d.ts.map +1 -0
- package/dist/core/doctor-relations.js +179 -0
- package/dist/core/doctor-relations.js.map +1 -0
- package/dist/core/doctor-schema-normalize.d.ts +16 -0
- package/dist/core/doctor-schema-normalize.d.ts.map +1 -0
- package/dist/core/doctor-schema-normalize.js +63 -0
- package/dist/core/doctor-schema-normalize.js.map +1 -0
- package/dist/core/doctor-schema-repair-types.d.ts +37 -0
- package/dist/core/doctor-schema-repair-types.d.ts.map +1 -0
- package/dist/core/doctor-schema-repair-types.js +8 -0
- package/dist/core/doctor-schema-repair-types.js.map +1 -0
- package/dist/core/doctor-schema-repair.d.ts +17 -0
- package/dist/core/doctor-schema-repair.d.ts.map +1 -0
- package/dist/core/doctor-schema-repair.js +113 -0
- package/dist/core/doctor-schema-repair.js.map +1 -0
- package/dist/core/doctor-schema-set.d.ts +11 -0
- package/dist/core/doctor-schema-set.d.ts.map +1 -0
- package/dist/core/doctor-schema-set.js +57 -0
- package/dist/core/doctor-schema-set.js.map +1 -0
- package/dist/core/doctor-schema-tokens.d.ts +21 -0
- package/dist/core/doctor-schema-tokens.d.ts.map +1 -0
- package/dist/core/doctor-schema-tokens.js +88 -0
- package/dist/core/doctor-schema-tokens.js.map +1 -0
- package/dist/core/doctor-schema.d.ts +16 -0
- package/dist/core/doctor-schema.d.ts.map +1 -0
- package/dist/core/doctor-schema.js +59 -0
- package/dist/core/doctor-schema.js.map +1 -0
- package/dist/core/doctor-types.d.ts +23 -0
- package/dist/core/doctor-types.d.ts.map +1 -0
- package/dist/core/doctor-types.js +14 -0
- package/dist/core/doctor-types.js.map +1 -0
- package/dist/core/doctor.d.ts +17 -0
- package/dist/core/doctor.d.ts.map +1 -0
- package/dist/core/doctor.js +132 -0
- package/dist/core/doctor.js.map +1 -0
- package/dist/core/epic-sections.d.ts +39 -0
- package/dist/core/epic-sections.d.ts.map +1 -0
- package/dist/core/epic-sections.js +147 -0
- package/dist/core/epic-sections.js.map +1 -0
- package/dist/core/expedition-metadata.d.ts +42 -0
- package/dist/core/expedition-metadata.d.ts.map +1 -0
- package/dist/core/expedition-metadata.js +54 -0
- package/dist/core/expedition-metadata.js.map +1 -0
- package/dist/core/expedition-paths.d.ts +31 -0
- package/dist/core/expedition-paths.d.ts.map +1 -0
- package/dist/core/expedition-paths.js +52 -0
- package/dist/core/expedition-paths.js.map +1 -0
- package/dist/core/export-render.d.ts +29 -0
- package/dist/core/export-render.d.ts.map +1 -0
- package/dist/core/export-render.js +105 -0
- package/dist/core/export-render.js.map +1 -0
- package/dist/core/export.d.ts +24 -0
- package/dist/core/export.d.ts.map +1 -0
- package/dist/core/export.js +61 -0
- package/dist/core/export.js.map +1 -0
- package/dist/core/focus-work.d.ts +13 -0
- package/dist/core/focus-work.d.ts.map +1 -0
- package/dist/core/focus-work.js +13 -0
- package/dist/core/focus-work.js.map +1 -0
- package/dist/core/focus.d.ts +35 -0
- package/dist/core/focus.d.ts.map +1 -0
- package/dist/core/focus.js +60 -0
- package/dist/core/focus.js.map +1 -0
- package/dist/core/frontmatter.d.ts +58 -0
- package/dist/core/frontmatter.d.ts.map +1 -0
- package/dist/core/frontmatter.js +178 -0
- package/dist/core/frontmatter.js.map +1 -0
- package/dist/core/get-fields.d.ts +27 -0
- package/dist/core/get-fields.d.ts.map +1 -0
- package/dist/core/get-fields.js +60 -0
- package/dist/core/get-fields.js.map +1 -0
- package/dist/core/get.d.ts +36 -2
- package/dist/core/get.d.ts.map +1 -1
- package/dist/core/get.js +54 -12
- package/dist/core/get.js.map +1 -1
- package/dist/core/guide-acceptance.d.ts +21 -0
- package/dist/core/guide-acceptance.d.ts.map +1 -0
- package/dist/core/guide-acceptance.js +311 -0
- package/dist/core/guide-acceptance.js.map +1 -0
- package/dist/core/guide-step-list.d.ts +25 -0
- package/dist/core/guide-step-list.d.ts.map +1 -0
- package/dist/core/guide-step-list.js +91 -0
- package/dist/core/guide-step-list.js.map +1 -0
- package/dist/core/heuristic-classify.d.ts +44 -0
- package/dist/core/heuristic-classify.d.ts.map +1 -0
- package/dist/core/heuristic-classify.js +147 -0
- package/dist/core/heuristic-classify.js.map +1 -0
- package/dist/core/host-config.d.ts +80 -0
- package/dist/core/host-config.d.ts.map +1 -0
- package/dist/core/host-config.js +121 -0
- package/dist/core/host-config.js.map +1 -0
- package/dist/core/host-setup.d.ts +146 -0
- package/dist/core/host-setup.d.ts.map +1 -0
- package/dist/core/host-setup.js +277 -0
- package/dist/core/host-setup.js.map +1 -0
- package/dist/core/import-excerpt.d.ts +9 -0
- package/dist/core/import-excerpt.d.ts.map +1 -0
- package/dist/core/import-excerpt.js +17 -0
- package/dist/core/import-excerpt.js.map +1 -0
- package/dist/core/import-materialize.d.ts +66 -0
- package/dist/core/import-materialize.d.ts.map +1 -0
- package/dist/core/import-materialize.js +217 -0
- package/dist/core/import-materialize.js.map +1 -0
- package/dist/core/import-session.d.ts +85 -0
- package/dist/core/import-session.d.ts.map +1 -0
- package/dist/core/import-session.js +192 -0
- package/dist/core/import-session.js.map +1 -0
- package/dist/core/import-source.d.ts +15 -0
- package/dist/core/import-source.d.ts.map +1 -0
- package/dist/core/import-source.js +57 -0
- package/dist/core/import-source.js.map +1 -0
- package/dist/core/index-rebuild.js.map +1 -1
- package/dist/core/index-refs-core.d.ts +23 -0
- package/dist/core/index-refs-core.d.ts.map +1 -1
- package/dist/core/index-refs-core.js +54 -7
- package/dist/core/index-refs-core.js.map +1 -1
- package/dist/core/index-refs.d.ts +13 -0
- package/dist/core/index-refs.d.ts.map +1 -1
- package/dist/core/index-refs.js +42 -1
- package/dist/core/index-refs.js.map +1 -1
- package/dist/core/index.d.ts +90 -8
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +90 -10
- package/dist/core/index.js.map +1 -1
- package/dist/core/init-project.d.ts +69 -0
- package/dist/core/init-project.d.ts.map +1 -0
- package/dist/core/init-project.js +177 -0
- package/dist/core/init-project.js.map +1 -0
- package/dist/core/item-attachments-error.d.ts +22 -0
- package/dist/core/item-attachments-error.d.ts.map +1 -0
- package/dist/core/item-attachments-error.js +23 -0
- package/dist/core/item-attachments-error.js.map +1 -0
- package/dist/core/item-attachments-io.d.ts +37 -0
- package/dist/core/item-attachments-io.d.ts.map +1 -0
- package/dist/core/item-attachments-io.js +156 -0
- package/dist/core/item-attachments-io.js.map +1 -0
- package/dist/core/item-attachments-storage.d.ts +15 -0
- package/dist/core/item-attachments-storage.d.ts.map +1 -0
- package/dist/core/item-attachments-storage.js +81 -0
- package/dist/core/item-attachments-storage.js.map +1 -0
- package/dist/core/item-attachments.d.ts +58 -0
- package/dist/core/item-attachments.d.ts.map +1 -0
- package/dist/core/item-attachments.js +317 -0
- package/dist/core/item-attachments.js.map +1 -0
- package/dist/core/item-paths.d.ts +70 -0
- package/dist/core/item-paths.d.ts.map +1 -0
- package/dist/core/item-paths.js +135 -0
- package/dist/core/item-paths.js.map +1 -0
- package/dist/core/item-raw.d.ts +36 -0
- package/dist/core/item-raw.d.ts.map +1 -0
- package/dist/core/item-raw.js +98 -0
- package/dist/core/item-raw.js.map +1 -0
- package/dist/core/item-store.d.ts +120 -0
- package/dist/core/item-store.d.ts.map +1 -0
- package/dist/core/item-store.js +269 -0
- package/dist/core/item-store.js.map +1 -0
- package/dist/core/item-type-availability.d.ts +9 -0
- package/dist/core/item-type-availability.d.ts.map +1 -0
- package/dist/core/item-type-availability.js +29 -0
- package/dist/core/item-type-availability.js.map +1 -0
- package/dist/core/item-validation.d.ts +35 -0
- package/dist/core/item-validation.d.ts.map +1 -0
- package/dist/core/item-validation.js +99 -0
- package/dist/core/item-validation.js.map +1 -0
- package/dist/core/item-write-pair.d.ts +25 -0
- package/dist/core/item-write-pair.d.ts.map +1 -0
- package/dist/core/item-write-pair.js +71 -0
- package/dist/core/item-write-pair.js.map +1 -0
- package/dist/core/link-conflicts.d.ts +11 -0
- package/dist/core/link-conflicts.d.ts.map +1 -0
- package/dist/core/link-conflicts.js +45 -0
- package/dist/core/link-conflicts.js.map +1 -0
- package/dist/core/link-write.d.ts +15 -0
- package/dist/core/link-write.d.ts.map +1 -0
- package/dist/core/link-write.js +63 -0
- package/dist/core/link-write.js.map +1 -0
- package/dist/core/link.d.ts +10 -0
- package/dist/core/link.d.ts.map +1 -1
- package/dist/core/link.js +52 -65
- package/dist/core/link.js.map +1 -1
- package/dist/core/list-page.d.ts +42 -0
- package/dist/core/list-page.d.ts.map +1 -0
- package/dist/core/list-page.js +70 -0
- package/dist/core/list-page.js.map +1 -0
- package/dist/core/list.d.ts +36 -3
- package/dist/core/list.d.ts.map +1 -1
- package/dist/core/list.js +67 -107
- package/dist/core/list.js.map +1 -1
- package/dist/core/markdown-heading-ranges.d.ts +23 -0
- package/dist/core/markdown-heading-ranges.d.ts.map +1 -0
- package/dist/core/markdown-heading-ranges.js +163 -0
- package/dist/core/markdown-heading-ranges.js.map +1 -0
- package/dist/core/path-guard.d.ts +48 -0
- package/dist/core/path-guard.d.ts.map +1 -0
- package/dist/core/path-guard.js +120 -0
- package/dist/core/path-guard.js.map +1 -0
- package/dist/core/process-definition-hint.d.ts +16 -0
- package/dist/core/process-definition-hint.d.ts.map +1 -0
- package/dist/core/process-definition-hint.js +37 -0
- package/dist/core/process-definition-hint.js.map +1 -0
- package/dist/core/project-status.d.ts +56 -0
- package/dist/core/project-status.d.ts.map +1 -0
- package/dist/core/project-status.js +94 -0
- package/dist/core/project-status.js.map +1 -0
- package/dist/core/promote.d.ts +26 -0
- package/dist/core/promote.d.ts.map +1 -0
- package/dist/core/promote.js +62 -0
- package/dist/core/promote.js.map +1 -0
- package/dist/core/relationship-completeness.d.ts +32 -0
- package/dist/core/relationship-completeness.d.ts.map +1 -0
- package/dist/core/relationship-completeness.js +82 -0
- package/dist/core/relationship-completeness.js.map +1 -0
- package/dist/core/relationship-lock.d.ts +2 -0
- package/dist/core/relationship-lock.d.ts.map +1 -0
- package/dist/core/relationship-lock.js +32 -0
- package/dist/core/relationship-lock.js.map +1 -0
- package/dist/core/relationship-map.d.ts +10 -0
- package/dist/core/relationship-map.d.ts.map +1 -0
- package/dist/core/relationship-map.js +25 -0
- package/dist/core/relationship-map.js.map +1 -0
- package/dist/core/search.d.ts +53 -0
- package/dist/core/search.d.ts.map +1 -0
- package/dist/core/search.js +122 -0
- package/dist/core/search.js.map +1 -0
- package/dist/core/task-workflow-loader.d.ts +37 -0
- package/dist/core/task-workflow-loader.d.ts.map +1 -0
- package/dist/core/task-workflow-loader.js +162 -0
- package/dist/core/task-workflow-loader.js.map +1 -0
- package/dist/core/test-workflow-loader.d.ts +32 -0
- package/dist/core/test-workflow-loader.d.ts.map +1 -0
- package/dist/core/test-workflow-loader.js +98 -0
- package/dist/core/test-workflow-loader.js.map +1 -0
- package/dist/core/trace.d.ts +51 -0
- package/dist/core/trace.d.ts.map +1 -0
- package/dist/core/trace.js +193 -0
- package/dist/core/trace.js.map +1 -0
- package/dist/core/traceability-narrative.d.ts +67 -0
- package/dist/core/traceability-narrative.d.ts.map +1 -0
- package/dist/core/traceability-narrative.js +149 -0
- package/dist/core/traceability-narrative.js.map +1 -0
- package/dist/core/unlink.d.ts +4 -0
- package/dist/core/unlink.d.ts.map +1 -1
- package/dist/core/unlink.js +62 -56
- package/dist/core/unlink.js.map +1 -1
- package/dist/core/update-category-receipt.d.ts +19 -0
- package/dist/core/update-category-receipt.d.ts.map +1 -0
- package/dist/core/update-category-receipt.js +25 -0
- package/dist/core/update-category-receipt.js.map +1 -0
- package/dist/core/update-category.d.ts +12 -0
- package/dist/core/update-category.d.ts.map +1 -0
- package/dist/core/update-category.js +59 -0
- package/dist/core/update-category.js.map +1 -0
- package/dist/core/update-reminders.d.ts +30 -0
- package/dist/core/update-reminders.d.ts.map +1 -0
- package/dist/core/update-reminders.js +48 -0
- package/dist/core/update-reminders.js.map +1 -0
- package/dist/core/update.d.ts +46 -2
- package/dist/core/update.d.ts.map +1 -1
- package/dist/core/update.js +182 -28
- package/dist/core/update.js.map +1 -1
- package/dist/core/validation.d.ts +4 -2
- package/dist/core/validation.d.ts.map +1 -1
- package/dist/core/validation.js +61 -29
- package/dist/core/validation.js.map +1 -1
- package/dist/core/workflow-compiler-host-rules.d.ts +32 -0
- package/dist/core/workflow-compiler-host-rules.d.ts.map +1 -0
- package/dist/core/workflow-compiler-host-rules.js +266 -0
- package/dist/core/workflow-compiler-host-rules.js.map +1 -0
- package/dist/core/workflow-compiler-loop-rules.d.ts +13 -0
- package/dist/core/workflow-compiler-loop-rules.d.ts.map +1 -0
- package/dist/core/workflow-compiler-loop-rules.js +31 -0
- package/dist/core/workflow-compiler-loop-rules.js.map +1 -0
- package/dist/core/workflow-compiler-optional-rules.d.ts +14 -0
- package/dist/core/workflow-compiler-optional-rules.d.ts.map +1 -0
- package/dist/core/workflow-compiler-optional-rules.js +76 -0
- package/dist/core/workflow-compiler-optional-rules.js.map +1 -0
- package/dist/core/workflow-compiler-party-rules.d.ts +22 -0
- package/dist/core/workflow-compiler-party-rules.d.ts.map +1 -0
- package/dist/core/workflow-compiler-party-rules.js +146 -0
- package/dist/core/workflow-compiler-party-rules.js.map +1 -0
- package/dist/core/workflow-compiler-rules.d.ts +27 -0
- package/dist/core/workflow-compiler-rules.d.ts.map +1 -0
- package/dist/core/workflow-compiler-rules.js +284 -0
- package/dist/core/workflow-compiler-rules.js.map +1 -0
- package/dist/core/workflow-compiler-section-rules.d.ts +13 -0
- package/dist/core/workflow-compiler-section-rules.d.ts.map +1 -0
- package/dist/core/workflow-compiler-section-rules.js +57 -0
- package/dist/core/workflow-compiler-section-rules.js.map +1 -0
- package/dist/core/workflow-compiler-text-rules.d.ts +18 -0
- package/dist/core/workflow-compiler-text-rules.d.ts.map +1 -0
- package/dist/core/workflow-compiler-text-rules.js +82 -0
- package/dist/core/workflow-compiler-text-rules.js.map +1 -0
- package/dist/core/workflow-compiler.d.ts +52 -0
- package/dist/core/workflow-compiler.d.ts.map +1 -0
- package/dist/core/workflow-compiler.js +130 -0
- package/dist/core/workflow-compiler.js.map +1 -0
- package/dist/core/workflow-definition-facts.d.ts +32 -0
- package/dist/core/workflow-definition-facts.d.ts.map +1 -0
- package/dist/core/workflow-definition-facts.js +48 -0
- package/dist/core/workflow-definition-facts.js.map +1 -0
- package/dist/core/workflow-exports.d.ts +17 -0
- package/dist/core/workflow-exports.d.ts.map +1 -0
- package/dist/core/workflow-exports.js +17 -0
- package/dist/core/workflow-exports.js.map +1 -0
- package/dist/core/workflow-host-profiles.d.ts +44 -0
- package/dist/core/workflow-host-profiles.d.ts.map +1 -0
- package/dist/core/workflow-host-profiles.js +147 -0
- package/dist/core/workflow-host-profiles.js.map +1 -0
- package/dist/core/workflow-v2-authoring.d.ts +22 -0
- package/dist/core/workflow-v2-authoring.d.ts.map +1 -0
- package/dist/core/workflow-v2-authoring.js +88 -0
- package/dist/core/workflow-v2-authoring.js.map +1 -0
- package/dist/core/workflow-v2-loader.d.ts +26 -0
- package/dist/core/workflow-v2-loader.d.ts.map +1 -0
- package/dist/core/workflow-v2-loader.js +50 -0
- package/dist/core/workflow-v2-loader.js.map +1 -0
- package/dist/core/write-diagnostics.d.ts +69 -0
- package/dist/core/write-diagnostics.d.ts.map +1 -0
- package/dist/core/write-diagnostics.js +126 -0
- package/dist/core/write-diagnostics.js.map +1 -0
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime/controls.d.ts +26 -0
- package/dist/runtime/controls.d.ts.map +1 -0
- package/dist/runtime/controls.js +54 -0
- package/dist/runtime/controls.js.map +1 -0
- package/dist/runtime/dispatcher.d.ts +73 -0
- package/dist/runtime/dispatcher.d.ts.map +1 -0
- package/dist/runtime/dispatcher.js +178 -0
- package/dist/runtime/dispatcher.js.map +1 -0
- package/dist/runtime/event-log.d.ts +65 -0
- package/dist/runtime/event-log.d.ts.map +1 -0
- package/dist/runtime/event-log.js +189 -0
- package/dist/runtime/event-log.js.map +1 -0
- package/dist/runtime/evidence.d.ts +72 -0
- package/dist/runtime/evidence.d.ts.map +1 -0
- package/dist/runtime/evidence.js +80 -0
- package/dist/runtime/evidence.js.map +1 -0
- package/dist/runtime/guide-catalog.d.ts +70 -0
- package/dist/runtime/guide-catalog.d.ts.map +1 -0
- package/dist/runtime/guide-catalog.js +132 -0
- package/dist/runtime/guide-catalog.js.map +1 -0
- package/dist/runtime/human-checkpoint.d.ts +45 -0
- package/dist/runtime/human-checkpoint.d.ts.map +1 -0
- package/dist/runtime/human-checkpoint.js +73 -0
- package/dist/runtime/human-checkpoint.js.map +1 -0
- package/dist/runtime/index.d.ts +201 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +171 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/json-path.d.ts +31 -0
- package/dist/runtime/json-path.d.ts.map +1 -0
- package/dist/runtime/json-path.js +120 -0
- package/dist/runtime/json-path.js.map +1 -0
- package/dist/runtime/predicates.d.ts +37 -0
- package/dist/runtime/predicates.d.ts.map +1 -0
- package/dist/runtime/predicates.js +185 -0
- package/dist/runtime/predicates.js.map +1 -0
- package/dist/runtime/process-report-render.d.ts +10 -0
- package/dist/runtime/process-report-render.d.ts.map +1 -0
- package/dist/runtime/process-report-render.js +93 -0
- package/dist/runtime/process-report-render.js.map +1 -0
- package/dist/runtime/process-report.d.ts +78 -0
- package/dist/runtime/process-report.d.ts.map +1 -0
- package/dist/runtime/process-report.js +228 -0
- package/dist/runtime/process-report.js.map +1 -0
- package/dist/runtime/reconciliation.d.ts +31 -0
- package/dist/runtime/reconciliation.d.ts.map +1 -0
- package/dist/runtime/reconciliation.js +42 -0
- package/dist/runtime/reconciliation.js.map +1 -0
- package/dist/runtime/redaction.d.ts +19 -0
- package/dist/runtime/redaction.d.ts.map +1 -0
- package/dist/runtime/redaction.js +80 -0
- package/dist/runtime/redaction.js.map +1 -0
- package/dist/runtime/run-catalog.d.ts +65 -0
- package/dist/runtime/run-catalog.d.ts.map +1 -0
- package/dist/runtime/run-catalog.js +218 -0
- package/dist/runtime/run-catalog.js.map +1 -0
- package/dist/runtime/run-event-payload.d.ts +52 -0
- package/dist/runtime/run-event-payload.d.ts.map +1 -0
- package/dist/runtime/run-event-payload.js +60 -0
- package/dist/runtime/run-event-payload.js.map +1 -0
- package/dist/runtime/run-history.d.ts +80 -0
- package/dist/runtime/run-history.d.ts.map +1 -0
- package/dist/runtime/run-history.js +222 -0
- package/dist/runtime/run-history.js.map +1 -0
- package/dist/runtime/run-store.d.ts +60 -0
- package/dist/runtime/run-store.d.ts.map +1 -0
- package/dist/runtime/run-store.js +233 -0
- package/dist/runtime/run-store.js.map +1 -0
- package/dist/runtime/run-trail.d.ts +112 -0
- package/dist/runtime/run-trail.d.ts.map +1 -0
- package/dist/runtime/run-trail.js +187 -0
- package/dist/runtime/run-trail.js.map +1 -0
- package/dist/runtime/state-machine.d.ts +30 -0
- package/dist/runtime/state-machine.d.ts.map +1 -0
- package/dist/runtime/state-machine.js +170 -0
- package/dist/runtime/state-machine.js.map +1 -0
- package/dist/runtime/workflow-contract.d.ts +60 -0
- package/dist/runtime/workflow-contract.d.ts.map +1 -0
- package/dist/runtime/workflow-contract.js +142 -0
- package/dist/runtime/workflow-contract.js.map +1 -0
- package/dist/runtime/workflow-response.d.ts +27 -0
- package/dist/runtime/workflow-response.d.ts.map +1 -0
- package/dist/runtime/workflow-response.js +41 -0
- package/dist/runtime/workflow-response.js.map +1 -0
- package/dist/runtime/workflow-template.d.ts +18 -0
- package/dist/runtime/workflow-template.d.ts.map +1 -0
- package/dist/runtime/workflow-template.js +65 -0
- package/dist/runtime/workflow-template.js.map +1 -0
- package/dist/runtime/workflow-v1-cancel.d.ts +30 -0
- package/dist/runtime/workflow-v1-cancel.d.ts.map +1 -0
- package/dist/runtime/workflow-v1-cancel.js +89 -0
- package/dist/runtime/workflow-v1-cancel.js.map +1 -0
- package/dist/runtime/workflow-v2-context.d.ts +27 -0
- package/dist/runtime/workflow-v2-context.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-context.js +62 -0
- package/dist/runtime/workflow-v2-context.js.map +1 -0
- package/dist/runtime/workflow-v2-continuation.d.ts +23 -0
- package/dist/runtime/workflow-v2-continuation.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-continuation.js +36 -0
- package/dist/runtime/workflow-v2-continuation.js.map +1 -0
- package/dist/runtime/workflow-v2-dispatch.d.ts +58 -0
- package/dist/runtime/workflow-v2-dispatch.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-dispatch.js +125 -0
- package/dist/runtime/workflow-v2-dispatch.js.map +1 -0
- package/dist/runtime/workflow-v2-engine.d.ts +28 -0
- package/dist/runtime/workflow-v2-engine.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-engine.js +166 -0
- package/dist/runtime/workflow-v2-engine.js.map +1 -0
- package/dist/runtime/workflow-v2-failure-route.d.ts +28 -0
- package/dist/runtime/workflow-v2-failure-route.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-failure-route.js +101 -0
- package/dist/runtime/workflow-v2-failure-route.js.map +1 -0
- package/dist/runtime/workflow-v2-fields.d.ts +40 -0
- package/dist/runtime/workflow-v2-fields.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-fields.js +112 -0
- package/dist/runtime/workflow-v2-fields.js.map +1 -0
- package/dist/runtime/workflow-v2-finalize.d.ts +29 -0
- package/dist/runtime/workflow-v2-finalize.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-finalize.js +167 -0
- package/dist/runtime/workflow-v2-finalize.js.map +1 -0
- package/dist/runtime/workflow-v2-handover.d.ts +43 -0
- package/dist/runtime/workflow-v2-handover.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-handover.js +124 -0
- package/dist/runtime/workflow-v2-handover.js.map +1 -0
- package/dist/runtime/workflow-v2-human-response.d.ts +17 -0
- package/dist/runtime/workflow-v2-human-response.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-human-response.js +133 -0
- package/dist/runtime/workflow-v2-human-response.js.map +1 -0
- package/dist/runtime/workflow-v2-human.d.ts +46 -0
- package/dist/runtime/workflow-v2-human.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-human.js +132 -0
- package/dist/runtime/workflow-v2-human.js.map +1 -0
- package/dist/runtime/workflow-v2-labels.d.ts +26 -0
- package/dist/runtime/workflow-v2-labels.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-labels.js +75 -0
- package/dist/runtime/workflow-v2-labels.js.map +1 -0
- package/dist/runtime/workflow-v2-notes.d.ts +58 -0
- package/dist/runtime/workflow-v2-notes.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-notes.js +124 -0
- package/dist/runtime/workflow-v2-notes.js.map +1 -0
- package/dist/runtime/workflow-v2-observation.d.ts +22 -0
- package/dist/runtime/workflow-v2-observation.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-observation.js +163 -0
- package/dist/runtime/workflow-v2-observation.js.map +1 -0
- package/dist/runtime/workflow-v2-operator-words.d.ts +50 -0
- package/dist/runtime/workflow-v2-operator-words.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-operator-words.js +93 -0
- package/dist/runtime/workflow-v2-operator-words.js.map +1 -0
- package/dist/runtime/workflow-v2-parties.d.ts +60 -0
- package/dist/runtime/workflow-v2-parties.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-parties.js +115 -0
- package/dist/runtime/workflow-v2-parties.js.map +1 -0
- package/dist/runtime/workflow-v2-party-state.d.ts +75 -0
- package/dist/runtime/workflow-v2-party-state.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-party-state.js +98 -0
- package/dist/runtime/workflow-v2-party-state.js.map +1 -0
- package/dist/runtime/workflow-v2-receipt.d.ts +54 -0
- package/dist/runtime/workflow-v2-receipt.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-receipt.js +252 -0
- package/dist/runtime/workflow-v2-receipt.js.map +1 -0
- package/dist/runtime/workflow-v2-reply.d.ts +30 -0
- package/dist/runtime/workflow-v2-reply.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-reply.js +52 -0
- package/dist/runtime/workflow-v2-reply.js.map +1 -0
- package/dist/runtime/workflow-v2-report-events.d.ts +70 -0
- package/dist/runtime/workflow-v2-report-events.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-report-events.js +97 -0
- package/dist/runtime/workflow-v2-report-events.js.map +1 -0
- package/dist/runtime/workflow-v2-report-render.d.ts +18 -0
- package/dist/runtime/workflow-v2-report-render.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-report-render.js +248 -0
- package/dist/runtime/workflow-v2-report-render.js.map +1 -0
- package/dist/runtime/workflow-v2-report.d.ts +134 -0
- package/dist/runtime/workflow-v2-report.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-report.js +206 -0
- package/dist/runtime/workflow-v2-report.js.map +1 -0
- package/dist/runtime/workflow-v2-revise-open.d.ts +27 -0
- package/dist/runtime/workflow-v2-revise-open.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-revise-open.js +79 -0
- package/dist/runtime/workflow-v2-revise-open.js.map +1 -0
- package/dist/runtime/workflow-v2-revise.d.ts +24 -0
- package/dist/runtime/workflow-v2-revise.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-revise.js +192 -0
- package/dist/runtime/workflow-v2-revise.js.map +1 -0
- package/dist/runtime/workflow-v2-routing.d.ts +43 -0
- package/dist/runtime/workflow-v2-routing.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-routing.js +123 -0
- package/dist/runtime/workflow-v2-routing.js.map +1 -0
- package/dist/runtime/workflow-v2-run-events.d.ts +49 -0
- package/dist/runtime/workflow-v2-run-events.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-run-events.js +85 -0
- package/dist/runtime/workflow-v2-run-events.js.map +1 -0
- package/dist/runtime/workflow-v2-run.d.ts +80 -0
- package/dist/runtime/workflow-v2-run.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-run.js +137 -0
- package/dist/runtime/workflow-v2-run.js.map +1 -0
- package/dist/runtime/workflow-v2-runtime-steps.d.ts +35 -0
- package/dist/runtime/workflow-v2-runtime-steps.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-runtime-steps.js +138 -0
- package/dist/runtime/workflow-v2-runtime-steps.js.map +1 -0
- package/dist/runtime/workflow-v2-skip.d.ts +20 -0
- package/dist/runtime/workflow-v2-skip.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-skip.js +77 -0
- package/dist/runtime/workflow-v2-skip.js.map +1 -0
- package/dist/runtime/workflow-v2-step-text.d.ts +23 -0
- package/dist/runtime/workflow-v2-step-text.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-step-text.js +34 -0
- package/dist/runtime/workflow-v2-step-text.js.map +1 -0
- package/dist/runtime/workflow-v2-submission.d.ts +64 -0
- package/dist/runtime/workflow-v2-submission.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-submission.js +99 -0
- package/dist/runtime/workflow-v2-submission.js.map +1 -0
- package/dist/runtime/workflow-v2-types.d.ts +208 -0
- package/dist/runtime/workflow-v2-types.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-types.js +140 -0
- package/dist/runtime/workflow-v2-types.js.map +1 -0
- package/dist/runtime/workflow-v2-variables.d.ts +11 -0
- package/dist/runtime/workflow-v2-variables.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-variables.js +63 -0
- package/dist/runtime/workflow-v2-variables.js.map +1 -0
- package/dist/runtime/workflow-v2-wait.d.ts +34 -0
- package/dist/runtime/workflow-v2-wait.d.ts.map +1 -0
- package/dist/runtime/workflow-v2-wait.js +53 -0
- package/dist/runtime/workflow-v2-wait.js.map +1 -0
- package/dist/runtime/workspace-fingerprint.d.ts +15 -0
- package/dist/runtime/workspace-fingerprint.d.ts.map +1 -0
- package/dist/runtime/workspace-fingerprint.js +36 -0
- package/dist/runtime/workspace-fingerprint.js.map +1 -0
- package/dist/schemas/coord.d.ts +246 -0
- package/dist/schemas/coord.d.ts.map +1 -0
- package/dist/schemas/coord.js +122 -0
- package/dist/schemas/coord.js.map +1 -0
- package/dist/schemas/counters.schema.d.ts +10 -0
- package/dist/schemas/counters.schema.d.ts.map +1 -0
- package/dist/schemas/counters.schema.js +13 -0
- package/dist/schemas/counters.schema.js.map +1 -0
- package/dist/schemas/expedition.d.ts +52 -0
- package/dist/schemas/expedition.d.ts.map +1 -0
- package/dist/schemas/expedition.js +45 -0
- package/dist/schemas/expedition.js.map +1 -0
- package/dist/schemas/guide-acceptance.d.ts +170 -0
- package/dist/schemas/guide-acceptance.d.ts.map +1 -0
- package/dist/schemas/guide-acceptance.js +93 -0
- package/dist/schemas/guide-acceptance.js.map +1 -0
- package/dist/schemas/index-refs.schema.d.ts +12 -11
- package/dist/schemas/index-refs.schema.d.ts.map +1 -1
- package/dist/schemas/index-refs.schema.js +13 -6
- package/dist/schemas/index-refs.schema.js.map +1 -1
- package/dist/schemas/index.d.ts +118 -81
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +83 -27
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/item-id.d.ts +15 -0
- package/dist/schemas/item-id.d.ts.map +1 -0
- package/dist/schemas/item-id.js +29 -0
- package/dist/schemas/item-id.js.map +1 -0
- package/dist/schemas/relationships.d.ts +6 -7
- package/dist/schemas/relationships.d.ts.map +1 -1
- package/dist/schemas/relationships.js +11 -11
- package/dist/schemas/relationships.js.map +1 -1
- package/dist/schemas/task-workflow.d.ts +206 -0
- package/dist/schemas/task-workflow.d.ts.map +1 -0
- package/dist/schemas/task-workflow.js +102 -0
- package/dist/schemas/task-workflow.js.map +1 -0
- package/dist/schemas/test-profile.d.ts +13 -0
- package/dist/schemas/test-profile.d.ts.map +1 -0
- package/dist/schemas/test-profile.js +9 -0
- package/dist/schemas/test-profile.js.map +1 -0
- package/dist/schemas/test-workflow.d.ts +117 -0
- package/dist/schemas/test-workflow.d.ts.map +1 -0
- package/dist/schemas/test-workflow.js +69 -0
- package/dist/schemas/test-workflow.js.map +1 -0
- package/dist/schemas/workflow-definition-v2.d.ts +554 -0
- package/dist/schemas/workflow-definition-v2.d.ts.map +1 -0
- package/dist/schemas/workflow-definition-v2.js +161 -0
- package/dist/schemas/workflow-definition-v2.js.map +1 -0
- package/dist/schemas/workflow-graph.d.ts +29 -0
- package/dist/schemas/workflow-graph.d.ts.map +1 -0
- package/dist/schemas/workflow-graph.js +83 -0
- package/dist/schemas/workflow-graph.js.map +1 -0
- package/dist/schemas/workflow-v2-contracts.d.ts +248 -0
- package/dist/schemas/workflow-v2-contracts.d.ts.map +1 -0
- package/dist/schemas/workflow-v2-contracts.js +236 -0
- package/dist/schemas/workflow-v2-contracts.js.map +1 -0
- package/dist/schemas/workflow-v2-vocabulary.d.ts +93 -0
- package/dist/schemas/workflow-v2-vocabulary.d.ts.map +1 -0
- package/dist/schemas/workflow-v2-vocabulary.js +89 -0
- package/dist/schemas/workflow-v2-vocabulary.js.map +1 -0
- package/dist/templates/diataxis.d.ts +20 -0
- package/dist/templates/diataxis.d.ts.map +1 -0
- package/dist/templates/diataxis.js +176 -0
- package/dist/templates/diataxis.js.map +1 -0
- package/dist/templates/epic.d.ts +27 -0
- package/dist/templates/epic.d.ts.map +1 -0
- package/dist/templates/epic.js +67 -0
- package/dist/templates/epic.js.map +1 -0
- package/dist/templates/madr.d.ts +17 -0
- package/dist/templates/madr.d.ts.map +1 -0
- package/dist/templates/madr.js +61 -0
- package/dist/templates/madr.js.map +1 -0
- package/dist/templates/reminders.d.ts +28 -0
- package/dist/templates/reminders.d.ts.map +1 -0
- package/dist/templates/reminders.js +54 -0
- package/dist/templates/reminders.js.map +1 -0
- package/dist/templates/story.d.ts +24 -0
- package/dist/templates/story.d.ts.map +1 -0
- package/dist/templates/story.js +36 -0
- package/dist/templates/story.js.map +1 -0
- package/dist/templates/task-workflow.d.ts +9 -0
- package/dist/templates/task-workflow.d.ts.map +1 -0
- package/dist/templates/task-workflow.js +39 -0
- package/dist/templates/task-workflow.js.map +1 -0
- package/dist/templates/test-workflow.d.ts +9 -0
- package/dist/templates/test-workflow.d.ts.map +1 -0
- package/dist/templates/test-workflow.js +36 -0
- package/dist/templates/test-workflow.js.map +1 -0
- package/dist/types/commands.d.ts +1 -0
- package/dist/types/commands.d.ts.map +1 -1
- package/dist/types/commands.js +3 -0
- package/dist/types/commands.js.map +1 -1
- package/dist/types/docs-map.d.ts +110 -0
- package/dist/types/docs-map.d.ts.map +1 -0
- package/dist/types/docs-map.js +15 -0
- package/dist/types/docs-map.js.map +1 -0
- package/dist/types/index-refs.types.d.ts.map +1 -1
- package/dist/types/index-refs.types.js +1 -0
- package/dist/types/index-refs.types.js.map +1 -1
- package/dist/types/index.d.ts +2 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/agent-files-payload.d.ts +66 -0
- package/dist/utils/agent-files-payload.d.ts.map +1 -0
- package/dist/utils/agent-files-payload.js +153 -0
- package/dist/utils/agent-files-payload.js.map +1 -0
- package/dist/utils/agent-files-prune.d.ts +49 -0
- package/dist/utils/agent-files-prune.d.ts.map +1 -0
- package/dist/utils/agent-files-prune.js +164 -0
- package/dist/utils/agent-files-prune.js.map +1 -0
- package/dist/utils/agent-files-snapshot.d.ts +31 -0
- package/dist/utils/agent-files-snapshot.d.ts.map +1 -0
- package/dist/utils/agent-files-snapshot.js +128 -0
- package/dist/utils/agent-files-snapshot.js.map +1 -0
- package/dist/utils/atomic-write.d.ts +56 -0
- package/dist/utils/atomic-write.d.ts.map +1 -0
- package/dist/utils/atomic-write.js +129 -0
- package/dist/utils/atomic-write.js.map +1 -0
- package/dist/utils/backup-github-files.d.ts +7 -26
- package/dist/utils/backup-github-files.d.ts.map +1 -1
- package/dist/utils/backup-github-files.js +36 -113
- package/dist/utils/backup-github-files.js.map +1 -1
- package/dist/utils/cache.d.ts.map +1 -1
- package/dist/utils/claude-host.d.ts +48 -0
- package/dist/utils/claude-host.d.ts.map +1 -0
- package/dist/utils/claude-host.js +72 -0
- package/dist/utils/claude-host.js.map +1 -0
- package/dist/utils/codex-config.d.ts +14 -0
- package/dist/utils/codex-config.d.ts.map +1 -0
- package/dist/utils/codex-config.js +93 -0
- package/dist/utils/codex-config.js.map +1 -0
- package/dist/utils/codex-ignore.d.ts +19 -0
- package/dist/utils/codex-ignore.d.ts.map +1 -0
- package/dist/utils/codex-ignore.js +92 -0
- package/dist/utils/codex-ignore.js.map +1 -0
- package/dist/utils/codex-manifest.d.ts +72 -0
- package/dist/utils/codex-manifest.d.ts.map +1 -0
- package/dist/utils/codex-manifest.js +63 -0
- package/dist/utils/codex-manifest.js.map +1 -0
- package/dist/utils/codex-mcp-input.d.ts +7 -0
- package/dist/utils/codex-mcp-input.d.ts.map +1 -0
- package/dist/utils/codex-mcp-input.js +14 -0
- package/dist/utils/codex-mcp-input.js.map +1 -0
- package/dist/utils/codex-payload.d.ts +19 -0
- package/dist/utils/codex-payload.d.ts.map +1 -0
- package/dist/utils/codex-payload.js +133 -0
- package/dist/utils/codex-payload.js.map +1 -0
- package/dist/utils/codex-plan.d.ts +8 -0
- package/dist/utils/codex-plan.d.ts.map +1 -0
- package/dist/utils/codex-plan.js +137 -0
- package/dist/utils/codex-plan.js.map +1 -0
- package/dist/utils/codex-setup.d.ts +12 -0
- package/dist/utils/codex-setup.d.ts.map +1 -0
- package/dist/utils/codex-setup.js +130 -0
- package/dist/utils/codex-setup.js.map +1 -0
- package/dist/utils/codex-spans.d.ts +27 -0
- package/dist/utils/codex-spans.d.ts.map +1 -0
- package/dist/utils/codex-spans.js +69 -0
- package/dist/utils/codex-spans.js.map +1 -0
- package/dist/utils/codex-state.d.ts +14 -0
- package/dist/utils/codex-state.d.ts.map +1 -0
- package/dist/utils/codex-state.js +64 -0
- package/dist/utils/codex-state.js.map +1 -0
- package/dist/utils/codex-types.d.ts +49 -0
- package/dist/utils/codex-types.d.ts.map +1 -0
- package/dist/utils/codex-types.js +46 -0
- package/dist/utils/codex-types.js.map +1 -0
- package/dist/utils/contract-block.d.ts +79 -0
- package/dist/utils/contract-block.d.ts.map +1 -0
- package/dist/utils/contract-block.js +153 -0
- package/dist/utils/contract-block.js.map +1 -0
- package/dist/utils/contract-staleness.d.ts +22 -0
- package/dist/utils/contract-staleness.d.ts.map +1 -0
- package/dist/utils/contract-staleness.js +67 -0
- package/dist/utils/contract-staleness.js.map +1 -0
- package/dist/utils/index.d.ts +14 -37
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +68 -120
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/init-helpers.d.ts +8 -6
- package/dist/utils/init-helpers.d.ts.map +1 -1
- package/dist/utils/init-helpers.js +54 -102
- package/dist/utils/init-helpers.js.map +1 -1
- package/dist/utils/mcp-tool-groups.d.ts +101 -0
- package/dist/utils/mcp-tool-groups.d.ts.map +1 -0
- package/dist/utils/mcp-tool-groups.js +117 -0
- package/dist/utils/mcp-tool-groups.js.map +1 -0
- package/dist/utils/packaged-github.d.ts +23 -0
- package/dist/utils/packaged-github.d.ts.map +1 -0
- package/dist/utils/packaged-github.js +38 -0
- package/dist/utils/packaged-github.js.map +1 -0
- package/dist/utils/setup-guide.d.ts +7 -0
- package/dist/utils/setup-guide.d.ts.map +1 -0
- package/dist/utils/setup-guide.js +87 -0
- package/dist/utils/setup-guide.js.map +1 -0
- package/dist/utils/snapshot-manifest.d.ts +36 -0
- package/dist/utils/snapshot-manifest.d.ts.map +1 -0
- package/dist/utils/snapshot-manifest.js +116 -0
- package/dist/utils/snapshot-manifest.js.map +1 -0
- package/dist/utils/snapshot-paths.d.ts +21 -0
- package/dist/utils/snapshot-paths.d.ts.map +1 -0
- package/dist/utils/snapshot-paths.js +111 -0
- package/dist/utils/snapshot-paths.js.map +1 -0
- package/dist/utils/snapshot-retention.d.ts +12 -0
- package/dist/utils/snapshot-retention.d.ts.map +1 -0
- package/dist/utils/snapshot-retention.js +71 -0
- package/dist/utils/snapshot-retention.js.map +1 -0
- package/dist/utils/text-file.d.ts +13 -0
- package/dist/utils/text-file.d.ts.map +1 -0
- package/dist/utils/text-file.js +19 -0
- package/dist/utils/text-file.js.map +1 -0
- package/dist/utils/update-agent-files.d.ts +63 -0
- package/dist/utils/update-agent-files.d.ts.map +1 -0
- package/dist/utils/update-agent-files.js +248 -0
- package/dist/utils/update-agent-files.js.map +1 -0
- package/dist/utils/update-copilot-files.d.ts +4 -2
- package/dist/utils/update-copilot-files.d.ts.map +1 -1
- package/dist/utils/update-copilot-files.js +52 -12
- package/dist/utils/update-copilot-files.js.map +1 -1
- package/package.json +14 -10
- package/dist/core/auto-migrate.test.d.ts +0 -7
- package/dist/core/auto-migrate.test.d.ts.map +0 -1
- package/dist/core/auto-migrate.test.js +0 -368
- package/dist/core/auto-migrate.test.js.map +0 -1
- package/dist/core/context.test.d.ts +0 -10
- package/dist/core/context.test.d.ts.map +0 -1
- package/dist/core/context.test.js +0 -239
- package/dist/core/context.test.js.map +0 -1
- package/dist/core/index-rebuild.test.d.ts +0 -8
- package/dist/core/index-rebuild.test.d.ts.map +0 -1
- package/dist/core/index-rebuild.test.js +0 -563
- package/dist/core/index-rebuild.test.js.map +0 -1
- package/dist/core/index-refs.test.d.ts +0 -7
- package/dist/core/index-refs.test.d.ts.map +0 -1
- package/dist/core/index-refs.test.js +0 -367
- package/dist/core/index-refs.test.js.map +0 -1
- package/dist/schemas/analysis.d.ts +0 -206
- package/dist/schemas/analysis.d.ts.map +0 -1
- package/dist/schemas/analysis.js +0 -138
- package/dist/schemas/analysis.js.map +0 -1
- package/dist/schemas/cbp-loops.d.ts +0 -154
- package/dist/schemas/cbp-loops.d.ts.map +0 -1
- package/dist/schemas/cbp-loops.js +0 -160
- package/dist/schemas/cbp-loops.js.map +0 -1
- package/dist/schemas/cbp-loops.test.d.ts +0 -10
- package/dist/schemas/cbp-loops.test.d.ts.map +0 -1
- package/dist/schemas/cbp-loops.test.js +0 -268
- package/dist/schemas/cbp-loops.test.js.map +0 -1
- package/dist/schemas/cbp-mandate.d.ts +0 -107
- package/dist/schemas/cbp-mandate.d.ts.map +0 -1
- package/dist/schemas/cbp-mandate.js +0 -107
- package/dist/schemas/cbp-mandate.js.map +0 -1
- package/dist/schemas/cbp-mandate.test.d.ts +0 -10
- package/dist/schemas/cbp-mandate.test.d.ts.map +0 -1
- package/dist/schemas/cbp-mandate.test.js +0 -188
- package/dist/schemas/cbp-mandate.test.js.map +0 -1
- package/dist/utils/normalize.test.d.ts +0 -15
- package/dist/utils/normalize.test.d.ts.map +0 -1
- package/dist/utils/normalize.test.js +0 -101
- package/dist/utils/normalize.test.js.map +0 -1
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright © 2026 Thomas Hertel (the@devsteps.dev)
|
|
3
|
+
* Licensed under the Apache License, Version 2.0
|
|
4
|
+
*
|
|
5
|
+
* What each party of a v2 run needs to know next: the run's mode, who carries out the current
|
|
6
|
+
* step, which problems and questions are still open, and — while the run waits on the operator —
|
|
7
|
+
* how an agent waits for it without being told (DEC-022). The wait recipe travels in band with
|
|
8
|
+
* every answer, so no tool text has to carry it.
|
|
9
|
+
* @see STORY-463
|
|
10
|
+
*/
|
|
11
|
+
import type { WorkflowExecutionManifest } from '../core/workflow-compiler.js';
|
|
12
|
+
import type { ProcessEvent, ProcessRun } from './index.js';
|
|
13
|
+
import { type WorkflowV2StepNoteView } from './workflow-v2-notes.js';
|
|
14
|
+
import type { WorkflowParty, WorkflowRunMode } from './workflow-v2-types.js';
|
|
15
|
+
/** The text a waiting agent matches in the run's event log. */
|
|
16
|
+
export declare const AGENT_WAKE_MATCH = "\"notify\":\"agent\"";
|
|
17
|
+
/** How often the poll recipe looks, and how long it waits before it returns empty-handed. */
|
|
18
|
+
export declare const AGENT_POLL_INTERVAL_SECONDS = 5;
|
|
19
|
+
export declare const AGENT_POLL_TIMEOUT_SECONDS = 540;
|
|
20
|
+
/**
|
|
21
|
+
* A wait for hosts without a streaming monitor (BUG-189): one command that reads only the lines
|
|
22
|
+
* after `after_line` every `interval_seconds` and returns as soon as one is addressed to the agent
|
|
23
|
+
* and the writer is done (exit 0), or after `timeout_seconds` (exit 1). A pipe from `tail -F`
|
|
24
|
+
* would return only at its timeout, because tail lives on until it writes again.
|
|
25
|
+
*/
|
|
26
|
+
export type WorkflowV2Poll = Readonly<{
|
|
27
|
+
interval_seconds: number;
|
|
28
|
+
timeout_seconds: number;
|
|
29
|
+
/** Lines of the event log when the answer was given; only later lines can wake the agent. */
|
|
30
|
+
after_line: number;
|
|
31
|
+
sh: string;
|
|
32
|
+
powershell: string;
|
|
33
|
+
}>;
|
|
34
|
+
/** The wait as one tool call: workflow_run_get with these arguments (BUG-210). */
|
|
35
|
+
export type WorkflowV2WaitCall = Readonly<{
|
|
36
|
+
tool: 'workflow_run_get';
|
|
37
|
+
wait_seconds: number;
|
|
38
|
+
after_version: number;
|
|
39
|
+
}>;
|
|
40
|
+
export type WorkflowV2Wait = Readonly<{
|
|
41
|
+
/** Who the run waits on: the operator for a step or for the verdict. */
|
|
42
|
+
for: 'operator';
|
|
43
|
+
call?: WorkflowV2WaitCall;
|
|
44
|
+
events_file: string;
|
|
45
|
+
match: string;
|
|
46
|
+
how: string;
|
|
47
|
+
poll: WorkflowV2Poll;
|
|
48
|
+
}>;
|
|
49
|
+
export type WorkflowV2PartyState = Readonly<{
|
|
50
|
+
mode: WorkflowRunMode;
|
|
51
|
+
/** Who carries out the current step; absent once no step is current. */
|
|
52
|
+
current_assignee?: WorkflowParty;
|
|
53
|
+
assignments: Readonly<Record<string, WorkflowParty>>;
|
|
54
|
+
open_notes: readonly WorkflowV2StepNoteView[];
|
|
55
|
+
wait?: WorkflowV2Wait;
|
|
56
|
+
}>;
|
|
57
|
+
/** The poll commands for an event log; `timing` exists for tests, answers use the defaults. */
|
|
58
|
+
export declare function agentPoll(eventsFile: string, afterLine: number, timing?: {
|
|
59
|
+
interval: number;
|
|
60
|
+
timeout: number;
|
|
61
|
+
}): WorkflowV2Poll;
|
|
62
|
+
/**
|
|
63
|
+
* The recipe for an agent that waits on the operator. First the wait as one tool call, which
|
|
64
|
+
* returns with the operator's events (BUG-210); then, for a host that cuts long tool calls, a
|
|
65
|
+
* watch on the run's own event log for the next line addressed to the agent, read through the
|
|
66
|
+
* tools once the writer is done. No wait opens run.json, because on Windows an open reader can
|
|
67
|
+
* make the writer's rename fail.
|
|
68
|
+
*/
|
|
69
|
+
export declare function agentWaitRecipe(eventsFile: string, afterLine?: number, afterVersion?: number): WorkflowV2Wait;
|
|
70
|
+
/**
|
|
71
|
+
* `eventLines` is the event log's physical line count (`RunStore.eventLineCount`); without it the
|
|
72
|
+
* events are counted, which is the same for a log no repair touched.
|
|
73
|
+
*/
|
|
74
|
+
export declare function workflowV2PartyState(manifest: WorkflowExecutionManifest, run: ProcessRun, events: readonly ProcessEvent[], eventsFile: string, eventLines?: number): WorkflowV2PartyState;
|
|
75
|
+
//# sourceMappingURL=workflow-v2-party-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-v2-party-state.d.ts","sourceRoot":"","sources":["../../src/runtime/workflow-v2-party-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,KAAK,sBAAsB,EAAuB,MAAM,wBAAwB,CAAC;AAE1F,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG7E,+DAA+D;AAC/D,eAAO,MAAM,gBAAgB,yBAAqB,CAAC;AAEnD,6FAA6F;AAC7F,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAC7C,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,6FAA6F;IAC7F,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH,kFAAkF;AAClF,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC,IAAI,EAAE,kBAAkB,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,wEAAwE;IACxE,GAAG,EAAE,UAAU,CAAC;IAChB,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,cAAc,CAAC;CACtB,CAAC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC;IAC1C,IAAI,EAAE,eAAe,CAAC;IACtB,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,aAAa,CAAC;IACjC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;IACrD,UAAU,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC9C,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB,CAAC,CAAC;AAKH,+FAA+F;AAC/F,wBAAgB,SAAS,CACvB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,MAAM;;;CAAiF,GACtF,cAAc,CAuBhB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,SAAS,SAAI,EACb,YAAY,CAAC,EAAE,MAAM,GACpB,cAAc,CA4BhB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,yBAAyB,EACnC,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,UAAU,EAAE,MAAM,EAClB,UAAU,SAAgB,GACzB,oBAAoB,CAetB"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright © 2026 Thomas Hertel (the@devsteps.dev)
|
|
3
|
+
* Licensed under the Apache License, Version 2.0
|
|
4
|
+
*
|
|
5
|
+
* What each party of a v2 run needs to know next: the run's mode, who carries out the current
|
|
6
|
+
* step, which problems and questions are still open, and — while the run waits on the operator —
|
|
7
|
+
* how an agent waits for it without being told (DEC-022). The wait recipe travels in band with
|
|
8
|
+
* every answer, so no tool text has to carry it.
|
|
9
|
+
* @see STORY-463
|
|
10
|
+
*/
|
|
11
|
+
import { workflowV2StepNotes } from './workflow-v2-notes.js';
|
|
12
|
+
import { awaitedParty, workflowRunMode } from './workflow-v2-parties.js';
|
|
13
|
+
import { AGENT_WAIT_MAX_SECONDS } from './workflow-v2-wait.js';
|
|
14
|
+
/** The text a waiting agent matches in the run's event log. */
|
|
15
|
+
export const AGENT_WAKE_MATCH = '"notify":"agent"';
|
|
16
|
+
/** How often the poll recipe looks, and how long it waits before it returns empty-handed. */
|
|
17
|
+
export const AGENT_POLL_INTERVAL_SECONDS = 5;
|
|
18
|
+
export const AGENT_POLL_TIMEOUT_SECONDS = 540;
|
|
19
|
+
const shQuote = (value) => `'${value.replaceAll("'", "'\\''")}'`;
|
|
20
|
+
const psQuote = (value) => `'${value.replaceAll("'", "''")}'`;
|
|
21
|
+
/** The poll commands for an event log; `timing` exists for tests, answers use the defaults. */
|
|
22
|
+
export function agentPoll(eventsFile, afterLine, timing = { interval: AGENT_POLL_INTERVAL_SECONDS, timeout: AGENT_POLL_TIMEOUT_SECONDS }) {
|
|
23
|
+
const directory = eventsFile.replace(/[\\/][^\\/]+$/, '');
|
|
24
|
+
const rounds = Math.ceil(timing.timeout / timing.interval);
|
|
25
|
+
const sh = `f=${shQuote(eventsFile)}; d=${shQuote(directory)}; i=0; while [ $i -lt ${rounds} ]; do ` +
|
|
26
|
+
`if tail -n +${afterLine + 1} "$f" | grep -qF '${AGENT_WAKE_MATCH}' && ` +
|
|
27
|
+
`[ ! -e "$d/run.lock" ] && [ ! -e "$d/pending-transition.json" ]; then break; fi; ` +
|
|
28
|
+
`sleep ${timing.interval}; i=$((i+1)); done; [ $i -lt ${rounds} ]`;
|
|
29
|
+
const powershell = `$f=${psQuote(eventsFile)}; $d=${psQuote(directory)}; $hit=$false; ` +
|
|
30
|
+
`for ($i=0; $i -lt ${rounds}; $i++) { ` +
|
|
31
|
+
`if ((Get-Content -LiteralPath $f | Select-Object -Skip ${afterLine} | ` +
|
|
32
|
+
`Select-String -SimpleMatch '${AGENT_WAKE_MATCH}' -Quiet) -and ` +
|
|
33
|
+
`-not (Test-Path -LiteralPath "$d/run.lock") -and ` +
|
|
34
|
+
`-not (Test-Path -LiteralPath "$d/pending-transition.json")) { $hit=$true; break }; ` +
|
|
35
|
+
`Start-Sleep -Seconds ${timing.interval} }; if (-not $hit) { exit 1 }`;
|
|
36
|
+
return {
|
|
37
|
+
interval_seconds: timing.interval,
|
|
38
|
+
timeout_seconds: timing.timeout,
|
|
39
|
+
after_line: afterLine,
|
|
40
|
+
sh,
|
|
41
|
+
powershell,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* The recipe for an agent that waits on the operator. First the wait as one tool call, which
|
|
46
|
+
* returns with the operator's events (BUG-210); then, for a host that cuts long tool calls, a
|
|
47
|
+
* watch on the run's own event log for the next line addressed to the agent, read through the
|
|
48
|
+
* tools once the writer is done. No wait opens run.json, because on Windows an open reader can
|
|
49
|
+
* make the writer's rename fail.
|
|
50
|
+
*/
|
|
51
|
+
export function agentWaitRecipe(eventsFile, afterLine = 0, afterVersion) {
|
|
52
|
+
const directory = eventsFile.replace(/[\\/][^\\/]+$/, '');
|
|
53
|
+
const timeout = AGENT_POLL_TIMEOUT_SECONDS;
|
|
54
|
+
const call = afterVersion === undefined
|
|
55
|
+
? undefined
|
|
56
|
+
: {
|
|
57
|
+
tool: 'workflow_run_get',
|
|
58
|
+
wait_seconds: AGENT_WAIT_MAX_SECONDS,
|
|
59
|
+
after_version: afterVersion,
|
|
60
|
+
};
|
|
61
|
+
const first = call
|
|
62
|
+
? `The run waits on the operator. Call workflow_run_get with wait_seconds ${call.wait_seconds} and after_version ${call.after_version} (wait.call): it answers woke: true with the events as soon as the operator reports, answers or writes a note, else woke: false; then call it again with the run.version it answered. Claude Code runs a long call in the background and resumes you when it returns. Without a long tool call: `
|
|
63
|
+
: 'The run waits on the operator. ';
|
|
64
|
+
return {
|
|
65
|
+
for: 'operator',
|
|
66
|
+
...(call ? { call } : {}),
|
|
67
|
+
events_file: eventsFile,
|
|
68
|
+
match: AGENT_WAKE_MATCH,
|
|
69
|
+
how: `${first}Claude Code: Monitor with tail -n0 -F "${eventsFile}" | grep --line-buffered '${AGENT_WAKE_MATCH}'. ` +
|
|
70
|
+
`When a line arrives and neither "${directory}/run.lock" nor "${directory}/pending-transition.json" exists, call workflow_dispatch_get (or workflow_run_get for open_notes). ` +
|
|
71
|
+
`A host without a monitor runs poll.sh or poll.powershell as one shell command from the workspace root, with a tool timeout above ${timeout} s: ` +
|
|
72
|
+
`it looks every ${AGENT_POLL_INTERVAL_SECONDS} s and ends with exit 0 once such a line has arrived and the writer is done, or with exit 1 after ${timeout} s; then call workflow_run_get and wait again with its new poll. ` +
|
|
73
|
+
// BUG-224: a Done or an answer can carry the operator's own words; they are no note.
|
|
74
|
+
"A report or answer of the operator can carry their words (operator_said in the wait call, executor_report.observation or human_answer in the line): compare them with the step's expected observation, and answer a deviation, a remark or a question with workflow_run_record note before you go on.",
|
|
75
|
+
poll: agentPoll(eventsFile, afterLine),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* `eventLines` is the event log's physical line count (`RunStore.eventLineCount`); without it the
|
|
80
|
+
* events are counted, which is the same for a log no repair touched.
|
|
81
|
+
*/
|
|
82
|
+
export function workflowV2PartyState(manifest, run, events, eventsFile, eventLines = events.length) {
|
|
83
|
+
const mode = workflowRunMode(run);
|
|
84
|
+
const awaited = awaitedParty(manifest, run);
|
|
85
|
+
const open = workflowV2StepNotes(events).filter((note) => note.open);
|
|
86
|
+
const waitsOnOperator = awaited === 'operator' || (awaited === 'finalize' && mode !== 'agent');
|
|
87
|
+
return {
|
|
88
|
+
mode,
|
|
89
|
+
...(awaited === 'operator' || awaited === 'agent' ? { current_assignee: awaited } : {}),
|
|
90
|
+
assignments: run.assignments ?? {},
|
|
91
|
+
open_notes: open,
|
|
92
|
+
// Open notes from the operator are the agent's to answer first; then it waits.
|
|
93
|
+
...(waitsOnOperator && !open.some((note) => note.actor !== 'agent')
|
|
94
|
+
? { wait: agentWaitRecipe(eventsFile, eventLines, run.version) }
|
|
95
|
+
: {}),
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=workflow-v2-party-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-v2-party-state.js","sourceRoot":"","sources":["../../src/runtime/workflow-v2-party-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright © 2026 Thomas Hertel (the@devsteps.dev)
|
|
3
|
+
* Licensed under the Apache License, Version 2.0
|
|
4
|
+
*
|
|
5
|
+
* Step receipts of compiled workflow runs.
|
|
6
|
+
* Verifies a host receipt against the dispatch, maps it into step outputs, judges the declared
|
|
7
|
+
* predicates, routes, and builds the event. Nothing here touches the filesystem.
|
|
8
|
+
*/
|
|
9
|
+
import { type WorkflowExecutionManifest } from '../core/workflow-compiler.js';
|
|
10
|
+
import type { WorkflowStep } from '../schemas/workflow-definition-v2.js';
|
|
11
|
+
import { type EvidenceFile } from './evidence.js';
|
|
12
|
+
import type { ProcessEvent, ProcessRun, RuntimeActor } from './index.js';
|
|
13
|
+
import { type WorkflowPredicateResult } from './predicates.js';
|
|
14
|
+
import type { WorkflowRunDispatch } from './workflow-v2-dispatch.js';
|
|
15
|
+
import { type WorkflowRoute } from './workflow-v2-routing.js';
|
|
16
|
+
import { type WorkflowStepOutput, type WorkflowStepReceipt } from './workflow-v2-types.js';
|
|
17
|
+
export declare const CAPTURE_PREVIEW_LIMIT = 2000;
|
|
18
|
+
export type StepApplicationInput = Readonly<{
|
|
19
|
+
actor: RuntimeActor;
|
|
20
|
+
/** The actor's name, carried onto the event so the record says who discharged the step. */
|
|
21
|
+
actorName?: string;
|
|
22
|
+
occurredAt: string;
|
|
23
|
+
idempotencyKey?: string;
|
|
24
|
+
requestDigest: string;
|
|
25
|
+
}>;
|
|
26
|
+
export type StepApplication = Readonly<{
|
|
27
|
+
run: ProcessRun;
|
|
28
|
+
event: ProcessEvent;
|
|
29
|
+
route: WorkflowRoute;
|
|
30
|
+
/** Redacted captures above the preview limit, written under the run directory before commit. */
|
|
31
|
+
evidenceFiles: readonly EvidenceFile[];
|
|
32
|
+
}>;
|
|
33
|
+
export declare function capturePreview(text: string, limit?: number): string;
|
|
34
|
+
/** Digest of what a caller submitted, over redacted content, used to recognise a retried request. */
|
|
35
|
+
export declare function requestDigest(kind: string, content: unknown): string;
|
|
36
|
+
export declare function verifyReceiptAgainstDispatch(dispatch: WorkflowRunDispatch, receipt: WorkflowStepReceipt): void;
|
|
37
|
+
/** How much of stdout the extracts read, and how long one value may be (BUG-216). */
|
|
38
|
+
export declare const EXTRACT_INPUT_LIMIT = 262144;
|
|
39
|
+
export declare const EXTRACT_VALUE_LIMIT = 2000;
|
|
40
|
+
/**
|
|
41
|
+
* The script's declared extracts read from stdout (BUG-216): group 1 of each multiline pattern,
|
|
42
|
+
* else its whole match, trimmed and bounded; a pattern that matches nothing is named in
|
|
43
|
+
* `missing`. CRLF lines are read as LF, so `$` ends a Windows line too; only the first
|
|
44
|
+
* `EXTRACT_INPUT_LIMIT` characters are searched, which bounds an authored pattern's cost.
|
|
45
|
+
*/
|
|
46
|
+
export declare function extractValues(step: WorkflowStep, stdout: string | undefined): {
|
|
47
|
+
declared: boolean;
|
|
48
|
+
values: Record<string, string>;
|
|
49
|
+
missing: string[];
|
|
50
|
+
};
|
|
51
|
+
export declare function evaluateStepPredicates(manifest: WorkflowExecutionManifest, step: WorkflowStep, run: ProcessRun, stepOutput: WorkflowStepOutput | undefined, receipt?: unknown, predicateIds?: readonly string[]): WorkflowPredicateResult[];
|
|
52
|
+
/** Apply a verified tool, script, artifact, or cleanup receipt to the run. */
|
|
53
|
+
export declare function applyStepReceipt(manifest: WorkflowExecutionManifest, run: ProcessRun, dispatch: WorkflowRunDispatch, step: WorkflowStep, receipt: WorkflowStepReceipt, input: StepApplicationInput): StepApplication;
|
|
54
|
+
//# sourceMappingURL=workflow-v2-receipt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-v2-receipt.d.ts","sourceRoot":"","sources":["../../src/runtime/workflow-v2-receipt.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,yBAAyB,EAAkB,MAAM,8BAA8B,CAAC;AAC9F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,EAEL,KAAK,YAAY,EAGlB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACzB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC;IAC1C,KAAK,EAAE,YAAY,CAAC;IACpB,2FAA2F;IAC3F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,GAAG,EAAE,UAAU,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,aAAa,CAAC;IACrB,gGAAgG;IAChG,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;CACxC,CAAC,CAAC;AAuCH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAwB,GAAG,MAAM,CAMlF;AAED,qGAAqG;AACrG,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAEpE;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,EAAE,mBAAmB,GAC3B,IAAI,CA2BN;AAWD,qFAAqF;AACrF,eAAO,MAAM,mBAAmB,SAAU,CAAC;AAC3C,eAAO,MAAM,mBAAmB,OAAQ,CAAC;AAEzC;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS;;;;EAW3E;AAmDD,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,YAAY,EAClB,GAAG,EAAE,UAAU,EACf,UAAU,EAAE,kBAAkB,GAAG,SAAS,EAC1C,OAAO,CAAC,EAAE,OAAO,EACjB,YAAY,GAAE,SAAS,MAAM,EAA0B,GACtD,uBAAuB,EAAE,CAU3B;AAqDD,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,yBAAyB,EACnC,GAAG,EAAE,UAAU,EACf,QAAQ,EAAE,mBAAmB,EAC7B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,oBAAoB,GAC1B,eAAe,CA2DjB"}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright © 2026 Thomas Hertel (the@devsteps.dev)
|
|
3
|
+
* Licensed under the Apache License, Version 2.0
|
|
4
|
+
*
|
|
5
|
+
* Step receipts of compiled workflow runs.
|
|
6
|
+
* Verifies a host receipt against the dispatch, maps it into step outputs, judges the declared
|
|
7
|
+
* predicates, routes, and builds the event. Nothing here touches the filesystem.
|
|
8
|
+
*/
|
|
9
|
+
import { workflowDigest } from '../core/workflow-compiler.js';
|
|
10
|
+
import { stableJson } from './dispatcher.js';
|
|
11
|
+
import { captureEvidence, normalizeEvidence, } from './evidence.js';
|
|
12
|
+
import { evaluateSemanticJudgment, evaluateWorkflowPredicateInContext, } from './predicates.js';
|
|
13
|
+
import { redactText, redactValue } from './redaction.js';
|
|
14
|
+
import { advanceWorkflowCursor, resolveWorkflowRoute, } from './workflow-v2-routing.js';
|
|
15
|
+
import { workflowV2Event } from './workflow-v2-run.js';
|
|
16
|
+
import { WorkflowRunV2Error, } from './workflow-v2-types.js';
|
|
17
|
+
export const CAPTURE_PREVIEW_LIMIT = 2000;
|
|
18
|
+
function receiptEvidence(step, dispatch, receipt, sequence, capturedAt) {
|
|
19
|
+
const evidence = [];
|
|
20
|
+
const files = [];
|
|
21
|
+
const captured = {
|
|
22
|
+
stdout: receipt.captures.stdout,
|
|
23
|
+
stderr: receipt.captures.stderr,
|
|
24
|
+
response: receipt.captures.response === undefined
|
|
25
|
+
? undefined
|
|
26
|
+
: JSON.stringify(receipt.captures.response),
|
|
27
|
+
};
|
|
28
|
+
for (const [type, text] of Object.entries(captured)) {
|
|
29
|
+
if (text === undefined)
|
|
30
|
+
continue;
|
|
31
|
+
const { entry, file } = captureEvidence({
|
|
32
|
+
stepId: step.id,
|
|
33
|
+
attempt: dispatch.attempt,
|
|
34
|
+
sequence,
|
|
35
|
+
type: type,
|
|
36
|
+
text,
|
|
37
|
+
capturedAt,
|
|
38
|
+
});
|
|
39
|
+
evidence.push(entry);
|
|
40
|
+
if (file)
|
|
41
|
+
files.push(file);
|
|
42
|
+
}
|
|
43
|
+
const prefix = `${step.id}-${dispatch.attempt}`;
|
|
44
|
+
return {
|
|
45
|
+
evidence: [...evidence, ...normalizeEvidence(receipt.artifacts, prefix, capturedAt)],
|
|
46
|
+
files,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
export function capturePreview(text, limit = CAPTURE_PREVIEW_LIMIT) {
|
|
50
|
+
const redacted = redactText(text);
|
|
51
|
+
if (redacted.length <= limit)
|
|
52
|
+
return redacted;
|
|
53
|
+
const head = Math.ceil(limit / 2);
|
|
54
|
+
const tail = Math.floor(limit / 2);
|
|
55
|
+
return `${redacted.slice(0, head)}... [${redacted.length - head - tail} chars omitted] ...${redacted.slice(-tail)}`;
|
|
56
|
+
}
|
|
57
|
+
/** Digest of what a caller submitted, over redacted content, used to recognise a retried request. */
|
|
58
|
+
export function requestDigest(kind, content) {
|
|
59
|
+
return workflowDigest({ kind, content: redactValue(content) });
|
|
60
|
+
}
|
|
61
|
+
export function verifyReceiptAgainstDispatch(dispatch, receipt) {
|
|
62
|
+
if (receipt.step_id !== dispatch.step_id) {
|
|
63
|
+
throw new WorkflowRunV2Error('PROTOCOL_ERROR', `Receipt is for step ${receipt.step_id} but the run dispatched ${dispatch.step_id}`);
|
|
64
|
+
}
|
|
65
|
+
if (dispatch.kind === 'human') {
|
|
66
|
+
throw new WorkflowRunV2Error('PROTOCOL_ERROR', `Step ${dispatch.step_id} is a human step; record it with human_response, not receipt`);
|
|
67
|
+
}
|
|
68
|
+
const mutated = [];
|
|
69
|
+
if (receipt.dispatch_digest !== dispatch.dispatch_digest)
|
|
70
|
+
mutated.push('dispatch_digest');
|
|
71
|
+
if (receipt.host_tool_name !== dispatch.host_tool_name)
|
|
72
|
+
mutated.push('host_tool_name');
|
|
73
|
+
if (stableJson(receipt.arguments) !== stableJson(dispatch.arguments))
|
|
74
|
+
mutated.push('arguments');
|
|
75
|
+
if (dispatch.idempotency_key && receipt.idempotency_key !== dispatch.idempotency_key) {
|
|
76
|
+
mutated.push('idempotency_key');
|
|
77
|
+
}
|
|
78
|
+
if (mutated.length > 0) {
|
|
79
|
+
throw new WorkflowRunV2Error('PARAMETER_MUTATION', `Receipt for step ${dispatch.step_id} differs from the dispatch in ${mutated.join(', ')}; execute exactly the dispatched tool with the dispatched arguments and echo dispatch_digest`, { mismatched: mutated });
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
function parseJsonCapture(step, stdout) {
|
|
83
|
+
if (!step.script?.expect_json)
|
|
84
|
+
return {};
|
|
85
|
+
try {
|
|
86
|
+
return { json: JSON.parse(stdout ?? '') };
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
return { error_code: 'ARTIFACT_INVALID' };
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/** How much of stdout the extracts read, and how long one value may be (BUG-216). */
|
|
93
|
+
export const EXTRACT_INPUT_LIMIT = 262_144;
|
|
94
|
+
export const EXTRACT_VALUE_LIMIT = 2_000;
|
|
95
|
+
/**
|
|
96
|
+
* The script's declared extracts read from stdout (BUG-216): group 1 of each multiline pattern,
|
|
97
|
+
* else its whole match, trimmed and bounded; a pattern that matches nothing is named in
|
|
98
|
+
* `missing`. CRLF lines are read as LF, so `$` ends a Windows line too; only the first
|
|
99
|
+
* `EXTRACT_INPUT_LIMIT` characters are searched, which bounds an authored pattern's cost.
|
|
100
|
+
*/
|
|
101
|
+
export function extractValues(step, stdout) {
|
|
102
|
+
const declared = Object.entries(step.script?.extract ?? {});
|
|
103
|
+
const values = {};
|
|
104
|
+
const missing = [];
|
|
105
|
+
const text = stdout?.slice(0, EXTRACT_INPUT_LIMIT).replace(/\r\n/g, '\n');
|
|
106
|
+
for (const [name, pattern] of declared) {
|
|
107
|
+
const match = text === undefined ? null : new RegExp(pattern, 'm').exec(text);
|
|
108
|
+
if (match)
|
|
109
|
+
values[name] = (match[1] ?? match[0]).trim().slice(0, EXTRACT_VALUE_LIMIT);
|
|
110
|
+
else
|
|
111
|
+
missing.push(name);
|
|
112
|
+
}
|
|
113
|
+
return { declared: declared.length > 0, values, missing };
|
|
114
|
+
}
|
|
115
|
+
function outputOf(step, receipt, attempt) {
|
|
116
|
+
const parsed = parseJsonCapture(step, receipt.captures.stdout);
|
|
117
|
+
const extracted = extractValues(step, receipt.captures.stdout);
|
|
118
|
+
// Only a run that succeeded owes its values; a failed one already says why.
|
|
119
|
+
const missingText = extracted.missing.length > 0 && receipt.status === 'succeeded' && !receipt.error_code
|
|
120
|
+
? `No match in stdout for extract ${extracted.missing.map((name) => `${name} (${step.script?.extract?.[name]})`).join(', ')}`
|
|
121
|
+
: undefined;
|
|
122
|
+
const errorCode = receipt.error_code ?? parsed.error_code;
|
|
123
|
+
const full = {
|
|
124
|
+
attempt,
|
|
125
|
+
status: receipt.status,
|
|
126
|
+
...(receipt.exit_code !== undefined ? { exit_code: receipt.exit_code } : {}),
|
|
127
|
+
...(errorCode ? { error_code: errorCode } : {}),
|
|
128
|
+
...(receipt.captures.stdout !== undefined ? { stdout: receipt.captures.stdout } : {}),
|
|
129
|
+
...(receipt.captures.stderr !== undefined ? { stderr: receipt.captures.stderr } : {}),
|
|
130
|
+
...(receipt.captures.response !== undefined ? { response: receipt.captures.response } : {}),
|
|
131
|
+
...('json' in parsed ? { json: parsed.json } : {}),
|
|
132
|
+
...(extracted.declared ? { values: extracted.values } : {}),
|
|
133
|
+
...(missingText ? { error_text: missingText } : {}),
|
|
134
|
+
...(receipt.artifacts.length > 0 ? { artifacts: receipt.artifacts } : {}),
|
|
135
|
+
};
|
|
136
|
+
const stored = {
|
|
137
|
+
...redactValue(full),
|
|
138
|
+
...(full.stdout !== undefined ? { stdout: capturePreview(full.stdout) } : {}),
|
|
139
|
+
...(full.stderr !== undefined ? { stderr: capturePreview(full.stderr) } : {}),
|
|
140
|
+
};
|
|
141
|
+
return { full, stored };
|
|
142
|
+
}
|
|
143
|
+
function slotOf(step, output, predicates, receipt) {
|
|
144
|
+
if (output.error_code || output.status === 'blocked' || output.status === 'inconclusive') {
|
|
145
|
+
return 'error';
|
|
146
|
+
}
|
|
147
|
+
if (output.status === 'failed')
|
|
148
|
+
return 'fail';
|
|
149
|
+
// BUG-216: a declared extract that found nothing fails the step; error_text names it.
|
|
150
|
+
const extracts = Object.keys(step.script?.extract ?? {});
|
|
151
|
+
if (extracts.some((name) => !Object.hasOwn(output.values ?? {}, name)))
|
|
152
|
+
return 'fail';
|
|
153
|
+
if (predicates.some((result) => result.verdict !== 'PASS'))
|
|
154
|
+
return 'fail';
|
|
155
|
+
if (step.expected_results.length === 0 && (output.exit_code ?? 0) !== 0)
|
|
156
|
+
return 'fail';
|
|
157
|
+
if (receipt.judgment)
|
|
158
|
+
return receipt.judgment.verdict === 'PASS' ? 'pass' : 'fail';
|
|
159
|
+
return 'pass';
|
|
160
|
+
}
|
|
161
|
+
export function evaluateStepPredicates(manifest, step, run, stepOutput, receipt, predicateIds = step.expected_results) {
|
|
162
|
+
const outputs = stepOutput ? { ...(run.outputs ?? {}), [step.id]: stepOutput } : run.outputs;
|
|
163
|
+
const context = { variables: run.variables ?? {}, outputs: outputs ?? {}, receipt };
|
|
164
|
+
return predicateIds.map((id) => {
|
|
165
|
+
const predicate = manifest.definition.predicates.find((candidate) => candidate.id === id);
|
|
166
|
+
if (!predicate) {
|
|
167
|
+
return { predicate_id: id, verdict: 'FAIL', detail: 'predicate is not declared' };
|
|
168
|
+
}
|
|
169
|
+
return evaluateWorkflowPredicateInContext(predicate, context, stepOutput?.status);
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
function outcomeOf(slot, status) {
|
|
173
|
+
if (slot === 'pass')
|
|
174
|
+
return 'recorded';
|
|
175
|
+
if (slot === 'fail')
|
|
176
|
+
return 'failed';
|
|
177
|
+
return status === 'inconclusive' ? 'inconclusive' : 'blocked';
|
|
178
|
+
}
|
|
179
|
+
function receiptPayload(step, dispatch, receipt, input, outcome) {
|
|
180
|
+
const { full, stored, predicates, route, nextRun } = outcome;
|
|
181
|
+
const slot = route.slot;
|
|
182
|
+
return {
|
|
183
|
+
protocol: 'workflow-v2',
|
|
184
|
+
step_id: step.id,
|
|
185
|
+
kind: step.kind,
|
|
186
|
+
attempt: dispatch.attempt,
|
|
187
|
+
host_tool_name: dispatch.host_tool_name,
|
|
188
|
+
arguments: dispatch.arguments,
|
|
189
|
+
side_effect: step.side_effect,
|
|
190
|
+
dispatch_digest: dispatch.dispatch_digest,
|
|
191
|
+
request_digest: input.requestDigest,
|
|
192
|
+
status: receipt.status,
|
|
193
|
+
outcome: outcomeOf(slot, receipt.status),
|
|
194
|
+
...(full.exit_code !== undefined ? { exit_code: full.exit_code } : {}),
|
|
195
|
+
...(full.error_code ? { error_code: full.error_code } : {}),
|
|
196
|
+
predicates,
|
|
197
|
+
route,
|
|
198
|
+
pending_verdict: nextRun.pending_verdict ?? null,
|
|
199
|
+
...(stored.stdout !== undefined ? { stdout_preview: stored.stdout } : {}),
|
|
200
|
+
...(stored.stderr !== undefined ? { stderr_preview: stored.stderr } : {}),
|
|
201
|
+
...(stored.response !== undefined ? { response: stored.response } : {}),
|
|
202
|
+
artifacts: receipt.artifacts,
|
|
203
|
+
...(dispatch.idempotency_key ? { step_idempotency_key: dispatch.idempotency_key } : {}),
|
|
204
|
+
...(receipt.judgment ? { judgment: receipt.judgment } : {}),
|
|
205
|
+
...(receipt.started_at ? { started_at: receipt.started_at } : {}),
|
|
206
|
+
...(receipt.finished_at ? { finished_at: receipt.finished_at } : {}),
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
/** Apply a verified tool, script, artifact, or cleanup receipt to the run. */
|
|
210
|
+
export function applyStepReceipt(manifest, run, dispatch, step, receipt, input) {
|
|
211
|
+
verifyReceiptAgainstDispatch(dispatch, receipt);
|
|
212
|
+
const { full, stored } = outputOf(step, receipt, dispatch.attempt);
|
|
213
|
+
if (receipt.judgment && step.semantic_judgment) {
|
|
214
|
+
const judged = evaluateSemanticJudgment(step.semantic_judgment, receipt.judgment);
|
|
215
|
+
if (judged.verdict === 'INCONCLUSIVE')
|
|
216
|
+
full.error_code = 'SEMANTIC_INCONCLUSIVE';
|
|
217
|
+
stored.error_code = full.error_code;
|
|
218
|
+
}
|
|
219
|
+
const predicates = evaluateStepPredicates(manifest, step, run, full, receipt);
|
|
220
|
+
const slot = slotOf(step, full, predicates, receipt);
|
|
221
|
+
const route = resolveWorkflowRoute(manifest.definition, step, slot, dispatch.attempt, full.error_code, run.step_attempts ?? {});
|
|
222
|
+
const advanced = advanceWorkflowCursor(manifest.definition, run, step, { ...stored, slot }, route);
|
|
223
|
+
const nextRun = {
|
|
224
|
+
...advanced,
|
|
225
|
+
version: run.version + 1,
|
|
226
|
+
updated_at: input.occurredAt,
|
|
227
|
+
};
|
|
228
|
+
const payload = receiptPayload(step, dispatch, receipt, input, {
|
|
229
|
+
full,
|
|
230
|
+
stored,
|
|
231
|
+
predicates,
|
|
232
|
+
route,
|
|
233
|
+
nextRun,
|
|
234
|
+
});
|
|
235
|
+
const { evidence, files } = receiptEvidence(step, dispatch, receipt, run.version, input.occurredAt);
|
|
236
|
+
payload.evidence = evidence;
|
|
237
|
+
return {
|
|
238
|
+
run: nextRun,
|
|
239
|
+
event: workflowV2Event(run, {
|
|
240
|
+
type: step.id,
|
|
241
|
+
actor: input.actor,
|
|
242
|
+
actorName: input.actorName,
|
|
243
|
+
toState: nextRun.state,
|
|
244
|
+
payload: redactValue(payload),
|
|
245
|
+
idempotencyKey: input.idempotencyKey,
|
|
246
|
+
occurredAt: input.occurredAt,
|
|
247
|
+
}),
|
|
248
|
+
route,
|
|
249
|
+
evidenceFiles: files,
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
//# sourceMappingURL=workflow-v2-receipt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-v2-receipt.js","sourceRoot":"","sources":["../../src/runtime/workflow-v2-receipt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright © 2026 Thomas Hertel (the@devsteps.dev)
|
|
3
|
+
* Licensed under the Apache License, Version 2.0
|
|
4
|
+
*
|
|
5
|
+
* What a v2 step expects back (TASK-968, SPIKE-074). Several rules govern meaning, not shape:
|
|
6
|
+
* a wrong but valid receipt status is accepted and judged wrongly. So the rules for the
|
|
7
|
+
* dispatched step travel with the dispatch as `reply`, before the step is reported, and the same
|
|
8
|
+
* text returns as `hint` when a report is refused for the wrong step or a changed dispatch.
|
|
9
|
+
* One constant per channel; no example values a model could copy.
|
|
10
|
+
*/
|
|
11
|
+
export type WorkflowReplyChannel = 'receipt' | 'human_response' | 'observation';
|
|
12
|
+
export declare const WORKFLOW_REPLY_RULES: Readonly<Record<WorkflowReplyChannel, string>>;
|
|
13
|
+
/** The channel a dispatched step is reported through. */
|
|
14
|
+
export declare function replyChannel(dispatch: Readonly<{
|
|
15
|
+
kind: string;
|
|
16
|
+
host_tool_name: string | null;
|
|
17
|
+
}>): WorkflowReplyChannel;
|
|
18
|
+
export declare function replyRules(dispatch: Readonly<{
|
|
19
|
+
kind: string;
|
|
20
|
+
host_tool_name: string | null;
|
|
21
|
+
}>): string;
|
|
22
|
+
/**
|
|
23
|
+
* Attach the reply rules of the current dispatch to a refusal for the wrong step or a changed
|
|
24
|
+
* dispatch; any other error passes unchanged.
|
|
25
|
+
*/
|
|
26
|
+
export declare function withReplyHint(error: unknown, dispatch: Readonly<{
|
|
27
|
+
kind: string;
|
|
28
|
+
host_tool_name: string | null;
|
|
29
|
+
}> | undefined): unknown;
|
|
30
|
+
//# sourceMappingURL=workflow-v2-reply.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-v2-reply.d.ts","sourceRoot":"","sources":["../../src/runtime/workflow-v2-reply.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,gBAAgB,GAAG,aAAa,CAAC;AAEhF,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAqB/E,CAAC;AAEF,yDAAyD;AACzD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,GAClE,oBAAoB,CAGtB;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,GAClE,MAAM,CAER;AAID;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,GAAG,SAAS,GAC9E,OAAO,CAKT"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright © 2026 Thomas Hertel (the@devsteps.dev)
|
|
3
|
+
* Licensed under the Apache License, Version 2.0
|
|
4
|
+
*
|
|
5
|
+
* What a v2 step expects back (TASK-968, SPIKE-074). Several rules govern meaning, not shape:
|
|
6
|
+
* a wrong but valid receipt status is accepted and judged wrongly. So the rules for the
|
|
7
|
+
* dispatched step travel with the dispatch as `reply`, before the step is reported, and the same
|
|
8
|
+
* text returns as `hint` when a report is refused for the wrong step or a changed dispatch.
|
|
9
|
+
* One constant per channel; no example values a model could copy.
|
|
10
|
+
*/
|
|
11
|
+
import { OPERATOR_HOST_TOOL } from '../core/workflow-host-profiles.js';
|
|
12
|
+
import { WorkflowRunV2Error } from './workflow-v2-types.js';
|
|
13
|
+
export const WORKFLOW_REPLY_RULES = {
|
|
14
|
+
receipt: 'Reply with receipt: echo step_id, dispatch_digest, host_tool_name, arguments (unchanged; ' +
|
|
15
|
+
'secret references stay references) and idempotency_key from this dispatch, and set status: ' +
|
|
16
|
+
'succeeded = the tool ran, whatever its exit code (the expected_results judge it); failed = ' +
|
|
17
|
+
'the tool reported a failure; blocked = it could not run; inconclusive. exit_code and ' +
|
|
18
|
+
'captures (stdout, stderr, response) feed outputs.<step> and the predicates; with ' +
|
|
19
|
+
'script.expect_json, stdout must be JSON (else ARTIFACT_INVALID). error_code selects ' +
|
|
20
|
+
'error_routes and retries. Secret-shaped text is redacted; captures above 2000 characters ' +
|
|
21
|
+
'are stored as evidence files.',
|
|
22
|
+
human_response: 'Reply with human_response: echo step_id and dispatch_digest; option is one of human.options ' +
|
|
23
|
+
'(matched case- and whitespace-insensitively); freeform only when human.allow_freeform, ' +
|
|
24
|
+
'mapped through response_mapping.freeform; observation and evidence (notes or artifact ' +
|
|
25
|
+
'references) as given. A FAIL answer to a non-approval step needs evidence; a declined ' +
|
|
26
|
+
'required step is HUMAN_DECLINED.',
|
|
27
|
+
observation: 'Reply with observation: echo step_id and dispatch_digest; observation is the report of what ' +
|
|
28
|
+
'was done by hand, status succeeded, failed, blocked or inconclusive, error_text any ' +
|
|
29
|
+
'verbatim error, plus error_code and artifacts when there are any. The report reaches ' +
|
|
30
|
+
'outputs.<step>.observation for later predicates.',
|
|
31
|
+
};
|
|
32
|
+
/** The channel a dispatched step is reported through. */
|
|
33
|
+
export function replyChannel(dispatch) {
|
|
34
|
+
if (dispatch.kind === 'human')
|
|
35
|
+
return 'human_response';
|
|
36
|
+
return dispatch.host_tool_name === OPERATOR_HOST_TOOL ? 'observation' : 'receipt';
|
|
37
|
+
}
|
|
38
|
+
export function replyRules(dispatch) {
|
|
39
|
+
return WORKFLOW_REPLY_RULES[replyChannel(dispatch)];
|
|
40
|
+
}
|
|
41
|
+
const HINTED_CODES = new Set(['PROTOCOL_ERROR', 'PARAMETER_MUTATION']);
|
|
42
|
+
/**
|
|
43
|
+
* Attach the reply rules of the current dispatch to a refusal for the wrong step or a changed
|
|
44
|
+
* dispatch; any other error passes unchanged.
|
|
45
|
+
*/
|
|
46
|
+
export function withReplyHint(error, dispatch) {
|
|
47
|
+
if (error instanceof WorkflowRunV2Error && dispatch && HINTED_CODES.has(error.code)) {
|
|
48
|
+
error.hint = replyRules(dispatch);
|
|
49
|
+
}
|
|
50
|
+
return error;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=workflow-v2-reply.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-v2-reply.js","sourceRoot":"","sources":["../../src/runtime/workflow-v2-reply.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAI5D,MAAM,CAAC,MAAM,oBAAoB,GAAmD;IAClF,OAAO,EACL,2FAA2F;QAC3F,6FAA6F;QAC7F,6FAA6F;QAC7F,uFAAuF;QACvF,mFAAmF;QACnF,sFAAsF;QACtF,2FAA2F;QAC3F,+BAA+B;IACjC,cAAc,EACZ,8FAA8F;QAC9F,yFAAyF;QACzF,wFAAwF;QACxF,wFAAwF;QACxF,kCAAkC;IACpC,WAAW,EACT,8FAA8F;QAC9F,sFAAsF;QACtF,uFAAuF;QACvF,kDAAkD;CACrD,CAAC;AAEF,yDAAyD;AACzD,MAAM,UAAU,YAAY,CAC1B,QAAmE;IAEnE,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,gBAAgB,CAAC;IACvD,OAAO,QAAQ,CAAC,cAAc,KAAK,kBAAkB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,QAAmE;IAEnE,OAAO,oBAAoB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAEvE;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAc,EACd,QAA+E;IAE/E,IAAI,KAAK,YAAY,kBAAkB,IAAI,QAAQ,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpF,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|