@revisium/orchestrator 0.2.0-alpha.3 → 0.2.0-alpha.5

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.
Files changed (323) hide show
  1. package/README.md +4 -4
  2. package/control-plane/bootstrap.config.json +108 -550
  3. package/control-plane/default-playbook/catalog/pipelines.json +446 -1123
  4. package/control-plane/default-playbook/catalog/roles.json +1 -1
  5. package/control-plane/default-playbook/catalog/run-profiles.json +338 -0
  6. package/control-plane/default-playbook/package.json +1 -1
  7. package/control-plane/default-playbook/playbook.json +2 -1
  8. package/control-plane/default-playbook/prompts/developer.md +6 -6
  9. package/control-plane/default-playbook/prompts/integrator.md +1 -1
  10. package/dist/__generated__/client/browser.js +18 -0
  11. package/dist/__generated__/client/browser.js.map +1 -0
  12. package/dist/__generated__/client/client.js +32 -0
  13. package/dist/__generated__/client/client.js.map +1 -0
  14. package/dist/__generated__/client/commonInputTypes.js +11 -0
  15. package/dist/__generated__/client/commonInputTypes.js.map +1 -0
  16. package/dist/__generated__/client/enums.js +19 -0
  17. package/dist/__generated__/client/enums.js.map +1 -0
  18. package/dist/__generated__/client/internal/class.js +53 -0
  19. package/dist/__generated__/client/internal/class.js.map +1 -0
  20. package/dist/__generated__/client/internal/prismaNamespace.js +450 -0
  21. package/dist/__generated__/client/internal/prismaNamespace.js.map +1 -0
  22. package/dist/__generated__/client/internal/prismaNamespaceBrowser.js +421 -0
  23. package/dist/__generated__/client/internal/prismaNamespaceBrowser.js.map +1 -0
  24. package/dist/__generated__/client/models/Branch.js +2 -0
  25. package/dist/__generated__/client/models/Branch.js.map +1 -0
  26. package/dist/__generated__/client/models/CostLedgerEntry.js +2 -0
  27. package/dist/__generated__/client/models/CostLedgerEntry.js.map +1 -0
  28. package/dist/__generated__/client/models/FileBlob.js +2 -0
  29. package/dist/__generated__/client/models/FileBlob.js.map +1 -0
  30. package/dist/__generated__/client/models/InboxItem.js +2 -0
  31. package/dist/__generated__/client/models/InboxItem.js.map +1 -0
  32. package/dist/__generated__/client/models/ProjectFileUsage.js +2 -0
  33. package/dist/__generated__/client/models/ProjectFileUsage.js.map +1 -0
  34. package/dist/__generated__/client/models/Revision.js +2 -0
  35. package/dist/__generated__/client/models/Revision.js.map +1 -0
  36. package/dist/__generated__/client/models/RevoProject.js +2 -0
  37. package/dist/__generated__/client/models/RevoProject.js.map +1 -0
  38. package/dist/__generated__/client/models/Row.js +2 -0
  39. package/dist/__generated__/client/models/Row.js.map +1 -0
  40. package/dist/__generated__/client/models/RunAttempt.js +2 -0
  41. package/dist/__generated__/client/models/RunAttempt.js.map +1 -0
  42. package/dist/__generated__/client/models/RunEvent.js +2 -0
  43. package/dist/__generated__/client/models/RunEvent.js.map +1 -0
  44. package/dist/__generated__/client/models/RunOutput.js +2 -0
  45. package/dist/__generated__/client/models/RunOutput.js.map +1 -0
  46. package/dist/__generated__/client/models/RunTask.js +2 -0
  47. package/dist/__generated__/client/models/RunTask.js.map +1 -0
  48. package/dist/__generated__/client/models/Table.js +2 -0
  49. package/dist/__generated__/client/models/Table.js.map +1 -0
  50. package/dist/__generated__/client/models/TableMigration.js +2 -0
  51. package/dist/__generated__/client/models/TableMigration.js.map +1 -0
  52. package/dist/__generated__/client/models/TaskRun.js +2 -0
  53. package/dist/__generated__/client/models/TaskRun.js.map +1 -0
  54. package/dist/__generated__/client/models.js +2 -0
  55. package/dist/__generated__/client/models.js.map +1 -0
  56. package/dist/api/graphql-api/graphql-ws/pubsub.module.js +2 -1
  57. package/dist/api/graphql-api/graphql-ws/pubsub.module.js.map +1 -1
  58. package/dist/api/graphql-api/graphql-ws/subscription-bridge.service.js +110 -28
  59. package/dist/api/graphql-api/graphql-ws/subscription-bridge.service.js.map +1 -1
  60. package/dist/api/graphql-api/graphql-ws/subscription-mappers.js +3 -1
  61. package/dist/api/graphql-api/graphql-ws/subscription-mappers.js.map +1 -1
  62. package/dist/api/graphql-api/inbox/inputs/resolve-gate.input.js +9 -0
  63. package/dist/api/graphql-api/inbox/inputs/resolve-gate.input.js.map +1 -1
  64. package/dist/api/graphql-api/method/inputs/create-run-profile.input.js +54 -0
  65. package/dist/api/graphql-api/method/inputs/create-run-profile.input.js.map +1 -0
  66. package/dist/api/graphql-api/method/inputs/deprecate-run-profile.input.js +37 -0
  67. package/dist/api/graphql-api/method/inputs/deprecate-run-profile.input.js.map +1 -0
  68. package/dist/api/graphql-api/method/inputs/get-run-profile.input.js +32 -0
  69. package/dist/api/graphql-api/method/inputs/get-run-profile.input.js.map +1 -0
  70. package/dist/api/graphql-api/method/inputs/list-run-profiles.input.js +33 -0
  71. package/dist/api/graphql-api/method/inputs/list-run-profiles.input.js.map +1 -0
  72. package/dist/api/graphql-api/method/inputs/update-run-profile.input.js +59 -0
  73. package/dist/api/graphql-api/method/inputs/update-run-profile.input.js.map +1 -0
  74. package/dist/api/graphql-api/method/inputs/validate-run-profile.input.js +33 -0
  75. package/dist/api/graphql-api/method/inputs/validate-run-profile.input.js.map +1 -0
  76. package/dist/api/graphql-api/method/method.resolver.js +76 -1
  77. package/dist/api/graphql-api/method/method.resolver.js.map +1 -1
  78. package/dist/api/graphql-api/method/model/run-profile-connection.model.js +16 -0
  79. package/dist/api/graphql-api/method/model/run-profile-connection.model.js.map +1 -0
  80. package/dist/api/graphql-api/method/model/run-profile-status.model.js +6 -0
  81. package/dist/api/graphql-api/method/model/run-profile-status.model.js.map +1 -0
  82. package/dist/api/graphql-api/method/model/run-profile.model.js +79 -0
  83. package/dist/api/graphql-api/method/model/run-profile.model.js.map +1 -0
  84. package/dist/api/graphql-api/pr/inputs/pr-readiness.input.js +6 -0
  85. package/dist/api/graphql-api/pr/inputs/pr-readiness.input.js.map +1 -1
  86. package/dist/api/graphql-api/registerGraphqlEnums.js +6 -0
  87. package/dist/api/graphql-api/registerGraphqlEnums.js.map +1 -1
  88. package/dist/api/graphql-api/runs/inputs/create-run.input.js +17 -1
  89. package/dist/api/graphql-api/runs/inputs/create-run.input.js.map +1 -1
  90. package/dist/api/graphql-api/runs/inputs/simulate-route.input.js +11 -1
  91. package/dist/api/graphql-api/runs/inputs/simulate-route.input.js.map +1 -1
  92. package/dist/api/graphql-api/runs/model/run-workflow.model.js +5 -0
  93. package/dist/api/graphql-api/runs/model/run-workflow.model.js.map +1 -1
  94. package/dist/api/graphql-api/share/model/issue-action.model.js +7 -0
  95. package/dist/api/graphql-api/share/model/issue-action.model.js.map +1 -0
  96. package/dist/cli/commands/doctor-report.js +1 -13
  97. package/dist/cli/commands/doctor-report.js.map +1 -1
  98. package/dist/cli/commands/lifecycle.js +50 -65
  99. package/dist/cli/commands/lifecycle.js.map +1 -1
  100. package/dist/cli/commands/{revisium-helpers.js → process-helpers.js} +1 -24
  101. package/dist/cli/commands/process-helpers.js.map +1 -0
  102. package/dist/config.js +17 -55
  103. package/dist/config.js.map +1 -1
  104. package/dist/control-plane/bootstrap-json-validator.js +65 -0
  105. package/dist/control-plane/bootstrap-json-validator.js.map +1 -0
  106. package/dist/control-plane/bootstrap.js +25 -38
  107. package/dist/control-plane/bootstrap.js.map +1 -1
  108. package/dist/control-plane/change-notifications.js +45 -14
  109. package/dist/control-plane/change-notifications.js.map +1 -1
  110. package/dist/control-plane/data-access.js +1 -106
  111. package/dist/control-plane/data-access.js.map +1 -1
  112. package/dist/control-plane/default-playbook-policy.js +488 -94
  113. package/dist/control-plane/default-playbook-policy.js.map +1 -1
  114. package/dist/control-plane/definitions.js +4 -5
  115. package/dist/control-plane/definitions.js.map +1 -1
  116. package/dist/control-plane/engine-transport.js +383 -0
  117. package/dist/control-plane/engine-transport.js.map +1 -0
  118. package/dist/control-plane/inbox.js +15 -7
  119. package/dist/control-plane/inbox.js.map +1 -1
  120. package/dist/control-plane/index.js +0 -1
  121. package/dist/control-plane/index.js.map +1 -1
  122. package/dist/control-plane/json-fields.js +1 -1
  123. package/dist/control-plane/json-fields.js.map +1 -1
  124. package/dist/control-plane/merge-override-audit.js +2 -2
  125. package/dist/control-plane/merge-override-audit.js.map +1 -1
  126. package/dist/control-plane/pipeline-coverage-registry.js +486 -0
  127. package/dist/control-plane/pipeline-coverage-registry.js.map +1 -0
  128. package/dist/control-plane/query-types.js +2 -0
  129. package/dist/control-plane/query-types.js.map +1 -0
  130. package/dist/control-plane/run-profiles.js +175 -0
  131. package/dist/control-plane/run-profiles.js.map +1 -0
  132. package/dist/control-plane/schema-migration.js +0 -35
  133. package/dist/control-plane/schema-migration.js.map +1 -1
  134. package/dist/control-plane/seed-default-playbook.js +2 -31
  135. package/dist/control-plane/seed-default-playbook.js.map +1 -1
  136. package/dist/control-plane/tables.js +8 -0
  137. package/dist/control-plane/tables.js.map +1 -1
  138. package/dist/control-plane/transport.js +16 -0
  139. package/dist/control-plane/transport.js.map +1 -0
  140. package/dist/control-plane/versioned-meaning.js +72 -15
  141. package/dist/control-plane/versioned-meaning.js.map +1 -1
  142. package/dist/e2e/kit/agents.js +63 -8
  143. package/dist/e2e/kit/agents.js.map +1 -1
  144. package/dist/e2e/kit/assertions.js +15 -3
  145. package/dist/e2e/kit/assertions.js.map +1 -1
  146. package/dist/e2e/kit/crash.js +8 -4
  147. package/dist/e2e/kit/crash.js.map +1 -1
  148. package/dist/e2e/kit/drive.js +46 -11
  149. package/dist/e2e/kit/drive.js.map +1 -1
  150. package/dist/e2e/kit/env.js +17 -1
  151. package/dist/e2e/kit/env.js.map +1 -1
  152. package/dist/e2e/kit/fake-integrator.js +9 -22
  153. package/dist/e2e/kit/fake-integrator.js.map +1 -1
  154. package/dist/e2e/kit/gh-emulator.js +166 -26
  155. package/dist/e2e/kit/gh-emulator.js.map +1 -1
  156. package/dist/e2e/kit/harness.js +44 -10
  157. package/dist/e2e/kit/harness.js.map +1 -1
  158. package/dist/e2e/kit/index.js +2 -0
  159. package/dist/e2e/kit/index.js.map +1 -1
  160. package/dist/e2e/kit/run-profiles.js +50 -0
  161. package/dist/e2e/kit/run-profiles.js.map +1 -0
  162. package/dist/e2e/kit/scenario.js +207 -0
  163. package/dist/e2e/kit/scenario.js.map +1 -0
  164. package/dist/e2e/kit/scenarios.js +38 -45
  165. package/dist/e2e/kit/scenarios.js.map +1 -1
  166. package/dist/e2e/recovery-crash-child.js +2 -2
  167. package/dist/e2e/recovery-crash-child.js.map +1 -1
  168. package/dist/e2e/recovery-dd-crash-child.js +8 -6
  169. package/dist/e2e/recovery-dd-crash-child.js.map +1 -1
  170. package/dist/engine/dbos.service.js +8 -1
  171. package/dist/engine/dbos.service.js.map +1 -1
  172. package/dist/features/inbox/commands/impl/resolve-gate.command.js.map +1 -1
  173. package/dist/features/method/commands/handlers/method-command.handlers.js +64 -0
  174. package/dist/features/method/commands/handlers/method-command.handlers.js.map +1 -0
  175. package/dist/features/method/commands/impl/create-run-profile.command.js +7 -0
  176. package/dist/features/method/commands/impl/create-run-profile.command.js.map +1 -0
  177. package/dist/features/method/commands/impl/deprecate-run-profile.command.js +7 -0
  178. package/dist/features/method/commands/impl/deprecate-run-profile.command.js.map +1 -0
  179. package/dist/features/method/commands/impl/update-run-profile.command.js +7 -0
  180. package/dist/features/method/commands/impl/update-run-profile.command.js.map +1 -0
  181. package/dist/features/method/commands/index.js +6 -1
  182. package/dist/features/method/commands/index.js.map +1 -1
  183. package/dist/features/method/method-api.service.js +31 -3
  184. package/dist/features/method/method-api.service.js.map +1 -1
  185. package/dist/features/method/queries/handlers/method-query.handlers.js +58 -1
  186. package/dist/features/method/queries/handlers/method-query.handlers.js.map +1 -1
  187. package/dist/features/method/queries/impl/get-run-profile.query.js +7 -0
  188. package/dist/features/method/queries/impl/get-run-profile.query.js.map +1 -0
  189. package/dist/features/method/queries/impl/list-run-profiles.query.js +7 -0
  190. package/dist/features/method/queries/impl/list-run-profiles.query.js.map +1 -0
  191. package/dist/features/method/queries/impl/validate-run-profile.query.js +7 -0
  192. package/dist/features/method/queries/impl/validate-run-profile.query.js.map +1 -0
  193. package/dist/features/method/queries/index.js +4 -1
  194. package/dist/features/method/queries/index.js.map +1 -1
  195. package/dist/features/pr/queries/impl/get-pr-readiness.query.js.map +1 -1
  196. package/dist/features/runs/commands/impl/create-run.command.js.map +1 -1
  197. package/dist/features/runs/queries/impl/simulate-route.query.js.map +1 -1
  198. package/dist/features/shared/connection.js +6 -3
  199. package/dist/features/shared/connection.js.map +1 -1
  200. package/dist/host/daemon.js +32 -8
  201. package/dist/host/daemon.js.map +1 -1
  202. package/dist/host/ensure-host.js +3 -3
  203. package/dist/host/ensure-host.js.map +1 -1
  204. package/dist/host/host-runtime.js.map +1 -1
  205. package/dist/host/host.lifecycle.js +3 -16
  206. package/dist/host/host.lifecycle.js.map +1 -1
  207. package/dist/http/graphql-host.js +17 -8
  208. package/dist/http/graphql-host.js.map +1 -1
  209. package/dist/mcp/mcp-capabilities.js +8 -2
  210. package/dist/mcp/mcp-capabilities.js.map +1 -1
  211. package/dist/mcp/mcp-facade.service.js +53 -10
  212. package/dist/mcp/mcp-facade.service.js.map +1 -1
  213. package/dist/mcp/mcp-tool-result.js +22 -0
  214. package/dist/mcp/mcp-tool-result.js.map +1 -0
  215. package/dist/mcp/mcp-tools.js +108 -1
  216. package/dist/mcp/mcp-tools.js.map +1 -1
  217. package/dist/pipeline/await-human.js +27 -8
  218. package/dist/pipeline/await-human.js.map +1 -1
  219. package/dist/pipeline/data-driven-task.workflow.js +573 -105
  220. package/dist/pipeline/data-driven-task.workflow.js.map +1 -1
  221. package/dist/pipeline/pipeline.service.js +28 -12
  222. package/dist/pipeline/pipeline.service.js.map +1 -1
  223. package/dist/pipeline/route-contract.js +80 -39
  224. package/dist/pipeline/route-contract.js.map +1 -1
  225. package/dist/pipeline-core/condition-scopes.js +15 -0
  226. package/dist/pipeline-core/condition-scopes.js.map +1 -0
  227. package/dist/pipeline-core/index.js +2 -0
  228. package/dist/pipeline-core/index.js.map +1 -1
  229. package/dist/pipeline-core/kit/fixtures.js +81 -44
  230. package/dist/pipeline-core/kit/fixtures.js.map +1 -1
  231. package/dist/pipeline-core/materialize.js +221 -0
  232. package/dist/pipeline-core/materialize.js.map +1 -0
  233. package/dist/pipeline-core/types.js +5 -0
  234. package/dist/pipeline-core/types.js.map +1 -1
  235. package/dist/pipeline-core/validate-loops.js +2 -15
  236. package/dist/pipeline-core/validate-loops.js.map +1 -1
  237. package/dist/pipeline-core/validate-resilience.js +257 -0
  238. package/dist/pipeline-core/validate-resilience.js.map +1 -0
  239. package/dist/pipeline-core/validate.js +2 -0
  240. package/dist/pipeline-core/validate.js.map +1 -1
  241. package/dist/playbook/catalog-loader.js +40 -3
  242. package/dist/playbook/catalog-loader.js.map +1 -1
  243. package/dist/playbook/catalog-schema-validator.js +468 -0
  244. package/dist/playbook/catalog-schema-validator.js.map +1 -0
  245. package/dist/playbook/import-mapper.js +55 -3
  246. package/dist/playbook/import-mapper.js.map +1 -1
  247. package/dist/playbook/manifest.js +5 -0
  248. package/dist/playbook/manifest.js.map +1 -1
  249. package/dist/playbook/playbook-installer.js +17 -1
  250. package/dist/playbook/playbook-installer.js.map +1 -1
  251. package/dist/poller/pr-readiness-core.js +257 -93
  252. package/dist/poller/pr-readiness-core.js.map +1 -1
  253. package/dist/poller/pr-readiness.js +2 -2
  254. package/dist/poller/pr-readiness.js.map +1 -1
  255. package/dist/revisium/inbox.service.js +8 -8
  256. package/dist/revisium/inbox.service.js.map +1 -1
  257. package/dist/revisium/playbooks.service.js +311 -21
  258. package/dist/revisium/playbooks.service.js.map +1 -1
  259. package/dist/revisium/revisium.module.js +8 -8
  260. package/dist/revisium/revisium.module.js.map +1 -1
  261. package/dist/revisium/roles.service.js +3 -1
  262. package/dist/revisium/roles.service.js.map +1 -1
  263. package/dist/revisium/run.service.js +9 -8
  264. package/dist/revisium/run.service.js.map +1 -1
  265. package/dist/revisium/tokens.js +0 -1
  266. package/dist/revisium/tokens.js.map +1 -1
  267. package/dist/run/create-run.js +1 -4
  268. package/dist/run/create-run.js.map +1 -1
  269. package/dist/run/inspect-run.js +33 -29
  270. package/dist/run/inspect-run.js.map +1 -1
  271. package/dist/run/issue-ref.js +97 -2
  272. package/dist/run/issue-ref.js.map +1 -1
  273. package/dist/run/prisma-runtime-data-access.js +616 -0
  274. package/dist/run/prisma-runtime-data-access.js.map +1 -0
  275. package/dist/run/run-outputs.js +39 -14
  276. package/dist/run/run-outputs.js.map +1 -1
  277. package/dist/run/terminal-run-status.js.map +1 -1
  278. package/dist/runners/gh-identity.js +29 -7
  279. package/dist/runners/gh-identity.js.map +1 -1
  280. package/dist/runners/integrator.js +692 -89
  281. package/dist/runners/integrator.js.map +1 -1
  282. package/dist/runners/worktree.service.js +10 -8
  283. package/dist/runners/worktree.service.js.map +1 -1
  284. package/dist/schema/ajv-errors.js +15 -0
  285. package/dist/schema/ajv-errors.js.map +1 -0
  286. package/dist/smoke/isolation.js +7 -16
  287. package/dist/smoke/isolation.js.map +1 -1
  288. package/dist/storage/ensure-storage.js +118 -0
  289. package/dist/storage/ensure-storage.js.map +1 -0
  290. package/dist/storage/revo-database.js +39 -0
  291. package/dist/storage/revo-database.js.map +1 -0
  292. package/dist/storage/revo-prisma.service.js +31 -0
  293. package/dist/storage/revo-prisma.service.js.map +1 -0
  294. package/dist/storage/revo-storage.module.js +18 -0
  295. package/dist/storage/revo-storage.module.js.map +1 -0
  296. package/dist/task-control-plane/pr-readiness.service.js +5 -2
  297. package/dist/task-control-plane/pr-readiness.service.js.map +1 -1
  298. package/dist/task-control-plane/run-watch.service.js +3 -6
  299. package/dist/task-control-plane/run-watch.service.js.map +1 -1
  300. package/dist/task-control-plane/task-control-plane-api.service.js +518 -85
  301. package/dist/task-control-plane/task-control-plane-api.service.js.map +1 -1
  302. package/dist/testing/runtime-data-access.js +175 -0
  303. package/dist/testing/runtime-data-access.js.map +1 -0
  304. package/dist/worker/build-context.js +178 -2
  305. package/dist/worker/build-context.js.map +1 -1
  306. package/dist/worker/claude-code-runner.js +23 -6
  307. package/dist/worker/claude-code-runner.js.map +1 -1
  308. package/dist/worker/codex-runner.js +6 -1
  309. package/dist/worker/codex-runner.js.map +1 -1
  310. package/package.json +20 -7
  311. package/prisma/migrations/20260707080500_initial_schema/migration.sql +259 -0
  312. package/prisma/migrations/20260707103000_prisma_runtime_tables/migration.sql +234 -0
  313. package/prisma/migrations/migration_lock.toml +3 -0
  314. package/prisma/schema.prisma +338 -0
  315. package/prisma.config.ts +11 -0
  316. package/dist/cli/commands/revisium-helpers.js.map +0 -1
  317. package/dist/control-plane/client-transport.js +0 -168
  318. package/dist/control-plane/client-transport.js.map +0 -1
  319. package/dist/engine/ensure-postgres.js +0 -46
  320. package/dist/engine/ensure-postgres.js.map +0 -1
  321. package/dist/host/ensure-revisium.js +0 -135
  322. package/dist/host/ensure-revisium.js.map +0 -1
  323. package/revisium.config.json +0 -10
@@ -0,0 +1,15 @@
1
+ export function conditionReadsAnyScope(cond, scopes) {
2
+ switch (cond.op) {
3
+ case 'counter.lt':
4
+ case 'counter.gte':
5
+ return scopes.has(cond.scope);
6
+ case 'all':
7
+ case 'any':
8
+ return cond.of.some((item) => conditionReadsAnyScope(item, scopes));
9
+ case 'not':
10
+ return conditionReadsAnyScope(cond.cond, scopes);
11
+ default:
12
+ return false;
13
+ }
14
+ }
15
+ //# sourceMappingURL=condition-scopes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"condition-scopes.js","sourceRoot":"","sources":["../../src/pipeline-core/condition-scopes.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CAAC,IAAe,EAAE,MAA2B;IACjF,QAAQ,IAAI,CAAC,EAAE,EAAE,CAAC;QAChB,KAAK,YAAY,CAAC;QAClB,KAAK,aAAa;YAChB,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,KAAK,KAAK,CAAC;QACX,KAAK,KAAK;YACR,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACtE,KAAK,KAAK;YACR,OAAO,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnD;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC"}
@@ -1,4 +1,6 @@
1
1
  export * from './types.js';
2
2
  export { validateTemplate, classifyTemplateDiff } from './validate.js';
3
3
  export { step, initialState, evalCondition, selectJoinWinner, reduceJoinVerdict, applyCounterMutations, InterpretError } from './interpret.js';
4
+ export { materializeTemplate, hashTemplate } from './materialize.js';
5
+ export { MATERIALIZE_CODES } from './materialize.js';
4
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pipeline-core/index.ts"],"names":[],"mappings":"AAWA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pipeline-core/index.ts"],"names":[],"mappings":"AAWA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC/I,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -73,27 +73,10 @@ export function confirmMergeFlow() {
73
73
  }), node.terminal('mergedEnd', 'succeeded'), node.terminal('blockedEnd', 'blocked'), node.terminal('failedEnd', 'failed'))
74
74
  .build();
75
75
  }
76
- function blockedOrFailedCatch() {
76
+ function recoveryCatch() {
77
77
  return [
78
- { onError: 'revo.ScriptBlocked', goto: 'blockedEnd' },
79
- { onError: 'revo.ScriptFailed', goto: 'failedEnd' },
80
- ];
81
- }
82
- function prReadinessScript(id, next) {
83
- return node.script(id, 'script:pollPr', next, {
84
- resultSchema: 'schema:prFeedback',
85
- onFailure: 'route',
86
- produces: { name: 'prFeedback' },
87
- catch: blockedOrFailedCatch(),
88
- });
89
- }
90
- function prReadinessBranches(cleanGoto, recheckGoto) {
91
- return [
92
- on(verdictEq('clean'), cleanGoto),
93
- on(verdictEq('recheck'), recheckGoto),
94
- on(verdictEq('review_changes'), 'triage'),
95
- on(allOf(verdictEq('ci_changes'), counterLt('ciLoop', 3)), 'ciRework'),
96
- otherwise('blockedEnd'),
78
+ { onError: 'revo.ScriptBlocked', goto: 'classifyRecovery' },
79
+ { onError: 'revo.ScriptFailed', goto: 'classifyRecovery' },
97
80
  ];
98
81
  }
99
82
  function freshMergeFeedbackConsume() {
@@ -106,17 +89,37 @@ function prFeedbackConsumes() {
106
89
  { node: 'mergeRecheck', as: 'recheckFeedback', optional: true, staleOk: true },
107
90
  ];
108
91
  }
92
+ function readinessScript(id, next, countPollLoop = false) {
93
+ return node.script(id, 'script:pollPr', next, {
94
+ resultSchema: 'schema:prFeedback',
95
+ onFailure: 'route',
96
+ produces: { name: 'prFeedback' },
97
+ ...(countPollLoop ? { incrementCounters: ['pollLoop'] } : {}),
98
+ catch: recoveryCatch(),
99
+ });
100
+ }
101
+ function readinessRouter(id, cleanTo, recheckTo, boundRecheck = false) {
102
+ return node.choice(id, [
103
+ on(verdictEq('clean'), cleanTo),
104
+ on(boundRecheck ? allOf(verdictEq('recheck'), counterLt('pollLoop', 8)) : verdictEq('recheck'), recheckTo),
105
+ on(verdictEq('review_changes'), 'triage'),
106
+ on(allOf(verdictEq('ci_changes'), counterLt('ciLoop', 3)), 'ciRework'),
107
+ otherwise('recoveryGate'),
108
+ ]);
109
+ }
109
110
  export function featureDevelopmentPrReview() {
110
111
  return template('feature-development-pr-review')
111
112
  .title('Feature development with a PR review-feedback loop (plan 0018)')
112
113
  .specVersion('1.0')
113
114
  .entry('analyst')
114
- .domain('approved', 'changes_requested', 'blocker', 'clean', 'review_changes', 'ci_changes', 'fix', 'wontfix', 'question', 'recheck')
115
+ .domain('approved', 'changes_requested', 'blocker', 'clean', 'review_changes', 'ci_changes', 'fix', 'wontfix', 'question', 'recheck', 'cancel', 'override_merge')
115
116
  .policy({ conflicts: [['developer', 'reviewer']], enforcement: 'strict' })
116
117
  .scope('codeReviewLoop', { cap: 3, parent: null })
117
118
  .scope('ciLoop', { cap: 3, parent: null })
119
+ .scope('pollLoop', { cap: 8, parent: null })
118
120
  .scope('reviewLoop', { cap: 3, parent: null })
119
121
  .scope('questionLoop', { cap: 3, parent: null })
122
+ .scope('recoveryLoop', { cap: 3, parent: null })
120
123
  .add(node.agent('analyst', 'role:analyst', 'planGate', { resultSchema: 'schema:plan', onFailure: 'abort', produces: { name: 'plan' } }), node.humanGate('planGate', 'plan-review', ['approved', 'changes_requested'], [
121
124
  on(verdictEq('approved'), 'developer'),
122
125
  on(verdictEq('changes_requested'), 'analyst'),
@@ -148,8 +151,8 @@ export function featureDevelopmentPrReview() {
148
151
  { node: 'reworkDeveloper', as: 'reworkChange', optional: true },
149
152
  { node: 'ciRework', as: 'ciChange', optional: true, staleOk: true },
150
153
  ],
151
- catch: [{ onError: 'revo.ScriptFailed', goto: 'failedEnd' }],
152
- }), prReadinessScript('pollPr', 'prRouter'), node.choice('prRouter', prReadinessBranches('mergeReadiness', 'pollPr')), prReadinessScript('mergeReadiness', 'mergeReadinessRouter'), node.choice('mergeReadinessRouter', prReadinessBranches('mergeGate', 'mergeReadiness')), node.agent('ciRework', 'role:developer', 'integrator', {
154
+ catch: recoveryCatch(),
155
+ }), readinessScript('pollPr', 'prRouter', true), readinessRouter('prRouter', 'mergeReadiness', 'pollPr', true), readinessScript('mergeReadiness', 'mergeReadinessRouter', true), readinessRouter('mergeReadinessRouter', 'mergeGate', 'mergeReadiness', true), node.agent('ciRework', 'role:developer', 'integrator', {
153
156
  resultSchema: 'schema:change', incrementCounters: ['ciLoop'], onFailure: 'abort',
154
157
  produces: { name: 'change' },
155
158
  consumes: prFeedbackConsumes(),
@@ -163,41 +166,75 @@ export function featureDevelopmentPrReview() {
163
166
  on(allOf(verdictEq('question'), counterLt('questionLoop', 3)), 'questionGate'),
164
167
  on(allOf(verdictEq('fix'), counterLt('reviewLoop', 3)), 'reviewRework'),
165
168
  on(verdictEq('wontfix'), 'respondThreads'),
166
- otherwise('blockedEnd'),
167
- ]), node.humanGate('questionGate', 'review-question', ['approved', 'changes_requested'], [
168
- on(verdictEq('approved'), 'triage'),
169
- otherwise('blockedEnd'),
170
- ], { incrementCounters: ['questionLoop'] }), node.agent('reviewRework', 'role:developer', 'reviewIntegrator', {
169
+ otherwise('recoveryGate'),
170
+ ]), node.humanGate('questionGate', 'review-question', ['fix', 'wontfix', 'cancel'], [
171
+ on(verdictEq('fix'), 'questionReviewRework'),
172
+ on(verdictEq('wontfix'), 'respondThreads'),
173
+ on(verdictEq('cancel'), 'cancelledEnd'),
174
+ otherwise('recoveryGate'),
175
+ ], { incrementCounters: ['questionLoop'], produces: { name: 'gateResolution' } }), node.agent('questionReviewRework', 'role:developer', 'questionReviewIntegrator', {
176
+ resultSchema: 'schema:change', incrementCounters: ['reviewLoop'], onFailure: 'abort',
177
+ produces: { name: 'change' },
178
+ consumes: [
179
+ { node: 'triage', as: 'triage' },
180
+ { node: 'questionGate', as: 'gateResolution' },
181
+ ],
182
+ }), node.script('questionReviewIntegrator', 'script:integrator', 'respondThreads', {
183
+ resultSchema: 'schema:integration', onFailure: 'route',
184
+ consumes: [{ node: 'questionReviewRework', as: 'reviewChange' }],
185
+ catch: recoveryCatch(),
186
+ }), node.agent('reviewRework', 'role:developer', 'reviewIntegrator', {
171
187
  resultSchema: 'schema:change', incrementCounters: ['reviewLoop'], onFailure: 'abort',
172
188
  produces: { name: 'change' },
173
189
  consumes: [{ node: 'triage', as: 'triage' }],
174
190
  }), node.script('reviewIntegrator', 'script:integrator', 'respondThreads', {
175
191
  resultSchema: 'schema:integration', onFailure: 'route',
176
192
  consumes: [{ node: 'reviewRework', as: 'reviewChange' }],
177
- catch: blockedOrFailedCatch(),
193
+ catch: recoveryCatch(),
178
194
  }), node.script('respondThreads', 'script:respondThreads', 'pollPr', {
179
- resultSchema: 'schema:respond', onFailure: 'route', consumes: [{ node: 'triage', as: 'triage' }],
180
- catch: blockedOrFailedCatch(),
181
- }), node.humanGate('mergeGate', 'merge-review', ['approved', 'recheck'], [
182
- on(verdictEq('approved'), 'confirmMerge'),
195
+ resultSchema: 'schema:respond', onFailure: 'route', consumes: [
196
+ { node: 'triage', as: 'triage' },
197
+ { node: 'questionGate', as: 'gateResolution', optional: true, staleOk: true },
198
+ ],
199
+ catch: recoveryCatch(),
200
+ }), node.humanGate('mergeGate', 'merge-review', ['approved', 'recheck', 'override_merge', 'cancel'], [
201
+ on(verdictEq('approved'), 'mergeApproveReverify'),
183
202
  on(verdictEq('recheck'), 'mergeRecheck'),
203
+ on(verdictEq('override_merge'), 'mergeApproveReverify'),
204
+ on(verdictEq('cancel'), 'cancelledEnd'),
184
205
  otherwise('blockedEnd'),
185
- ], { gatedArtifact: { node: 'mergeReadiness', as: 'prFeedback' } }), node.script('mergeRecheck', 'script:pollPr', 'mergeRecheckRouter', {
186
- resultSchema: 'schema:prFeedback',
187
- onFailure: 'route',
188
- produces: { name: 'prFeedback' },
189
- catch: blockedOrFailedCatch(),
190
- }), node.choice('mergeRecheckRouter', [
191
- on(verdictEq('clean'), 'blockedEnd'),
206
+ ], { gatedArtifact: { node: 'mergeReadiness', as: 'prFeedback' } }), readinessScript('mergeRecheck', 'mergeRecheckRouter'), node.choice('mergeRecheckRouter', [
207
+ on(verdictEq('clean'), 'mergeGate'),
192
208
  on(verdictEq('review_changes'), 'triage'),
193
209
  on(allOf(verdictEq('ci_changes'), counterLt('ciLoop', 3)), 'ciRework'),
194
210
  on(verdictEq('recheck'), 'mergeReadiness'),
211
+ otherwise('recoveryGate'),
212
+ ]), readinessScript('mergeApproveReverify', 'mergeApproveReverifyRouter'), node.choice('mergeApproveReverifyRouter', [
213
+ on(verdictEq('clean'), 'confirmMerge'),
214
+ otherwise('classifyRecovery'),
215
+ ]), node.agent('classifyRecovery', 'role:triager', 'recoveryRouter', {
216
+ resultSchema: 'schema:triage', onFailure: 'abort',
217
+ produces: { name: 'recoveryTriage' },
218
+ incrementCounters: ['recoveryLoop'],
219
+ consumes: [
220
+ { node: 'analyst', as: 'plan', optional: true, staleOk: true },
221
+ { node: 'pollPr', as: 'feedback', optional: true, staleOk: true },
222
+ { node: 'mergeReadiness', as: 'mergeFeedback', optional: true, staleOk: true },
223
+ { node: 'mergeApproveReverify', as: 'approveFeedback', optional: true, staleOk: true },
224
+ { node: 'mergeRecheck', as: 'recheckFeedback', optional: true, staleOk: true },
225
+ ],
226
+ }), node.choice('recoveryRouter', [
227
+ on(allOf(verdictEq('fix'), counterLt('recoveryLoop', 3)), 'pollPr'),
228
+ otherwise('recoveryGate'),
229
+ ]), node.humanGate('recoveryGate', 'merge-recovery', ['recheck', 'cancel'], [
230
+ on(verdictEq('recheck'), 'pollPr'),
231
+ on(verdictEq('cancel'), 'cancelledEnd'),
195
232
  otherwise('blockedEnd'),
196
- ]), node.script('confirmMerge', 'script:confirmMerge', 'mergedEnd', {
233
+ ], { gatedArtifact: { node: 'pollPr', as: 'prFeedback' } }), node.script('confirmMerge', 'script:confirmMerge', 'mergedEnd', {
197
234
  resultSchema: 'schema:integration', onFailure: 'route',
198
- consumes: [{ node: 'mergeReadiness', as: 'mergeReadiness' }],
199
- catch: blockedOrFailedCatch(),
200
- }), node.terminal('mergedEnd', 'succeeded'), node.terminal('failedEnd', 'failed'), node.terminal('blockedEnd', 'blocked'))
235
+ consumes: [{ node: 'mergeApproveReverify', as: 'mergeReadiness' }],
236
+ catch: recoveryCatch(),
237
+ }), node.terminal('mergedEnd', 'succeeded'), node.terminal('blockedEnd', 'blocked'), node.terminal('cancelledEnd', 'cancelled'))
201
238
  .build();
202
239
  }
203
240
  export function localChange() {
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../../src/pipeline-core/kit/fixtures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../../src/pipeline-core/kit/fixtures.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,221 @@
1
+ import { createHash } from 'node:crypto';
2
+ export const MATERIALIZE_CODES = [
3
+ 'MATERIALIZE_UNKNOWN_PROFILE',
4
+ 'MATERIALIZE_UNKNOWN_PROFILE_KEY',
5
+ 'MATERIALIZE_TOGGLE_NOT_ALLOWLISTED',
6
+ 'MATERIALIZE_TOGGLE_UNRESOLVED',
7
+ 'MATERIALIZE_TOGGLE_NOT_AGENT',
8
+ 'MATERIALIZE_TOGGLE_DUPLICATE_TARGET',
9
+ 'MATERIALIZE_TOGGLE_INVALID_BRANCH_COUNT',
10
+ ];
11
+ const PROFILE_KEYS = new Set(['profileId', 'pipelineId', 'toggles']);
12
+ const TOGGLE_KEYS = new Set(['target', 'baseName', 'fanout', 'join']);
13
+ export function materializeTemplate(base, profile, opts) {
14
+ const diagnostics = [];
15
+ for (const key of Object.keys(profile)) {
16
+ if (!PROFILE_KEYS.has(key)) {
17
+ diagnostics.push({ code: 'MATERIALIZE_UNKNOWN_PROFILE_KEY', severity: 'error', message: `TopologyProfile has unknown key "${key}"` });
18
+ }
19
+ }
20
+ if (profile.pipelineId !== base.pipelineId) {
21
+ diagnostics.push({
22
+ code: 'MATERIALIZE_UNKNOWN_PROFILE',
23
+ severity: 'error',
24
+ message: `profile pipelineId "${profile.pipelineId}" does not match base pipelineId "${base.pipelineId}"`,
25
+ });
26
+ }
27
+ for (const toggle of profile.toggles ?? []) {
28
+ for (const key of Object.keys(toggle)) {
29
+ if (!TOGGLE_KEYS.has(key)) {
30
+ diagnostics.push({
31
+ code: 'MATERIALIZE_UNKNOWN_PROFILE_KEY',
32
+ severity: 'error',
33
+ message: `ConsensusToggle has unknown key "${key}"`,
34
+ target: toggle.target,
35
+ });
36
+ }
37
+ }
38
+ }
39
+ if (diagnostics.length > 0) {
40
+ const template = structuredClone(base);
41
+ return { template, materializedTemplateHash: hashTemplate(template), diagnostics };
42
+ }
43
+ if (!profile.toggles || profile.toggles.length === 0) {
44
+ const template = structuredClone(base);
45
+ return { template, materializedTemplateHash: hashTemplate(template), diagnostics };
46
+ }
47
+ const seenTargets = new Set();
48
+ for (const toggle of profile.toggles) {
49
+ if (seenTargets.has(toggle.target)) {
50
+ diagnostics.push({
51
+ code: 'MATERIALIZE_TOGGLE_DUPLICATE_TARGET',
52
+ severity: 'error',
53
+ message: `toggle target "${toggle.target}" is targeted by more than one toggle`,
54
+ target: toggle.target,
55
+ });
56
+ continue;
57
+ }
58
+ seenTargets.add(toggle.target);
59
+ if (!opts.allowlist.includes(toggle.target)) {
60
+ diagnostics.push({
61
+ code: 'MATERIALIZE_TOGGLE_NOT_ALLOWLISTED',
62
+ severity: 'error',
63
+ message: `toggle target "${toggle.target}" is not in the allowlist`,
64
+ target: toggle.target,
65
+ });
66
+ continue;
67
+ }
68
+ const targetNode = base.nodes[toggle.target];
69
+ if (!targetNode) {
70
+ diagnostics.push({
71
+ code: 'MATERIALIZE_TOGGLE_UNRESOLVED',
72
+ severity: 'error',
73
+ message: `toggle target "${toggle.target}" does not exist in the base template`,
74
+ target: toggle.target,
75
+ });
76
+ continue;
77
+ }
78
+ if (targetNode.kind !== 'agent') {
79
+ diagnostics.push({
80
+ code: 'MATERIALIZE_TOGGLE_NOT_AGENT',
81
+ severity: 'error',
82
+ message: `toggle target "${toggle.target}" is kind "${targetNode.kind}", expected "agent"`,
83
+ target: toggle.target,
84
+ });
85
+ continue;
86
+ }
87
+ const n = toggle.fanout.branches;
88
+ if (!Number.isInteger(n) || n < 2 || n > BRANCH_NAMES.length) {
89
+ diagnostics.push({
90
+ code: 'MATERIALIZE_TOGGLE_INVALID_BRANCH_COUNT',
91
+ severity: 'error',
92
+ message: `toggle target "${toggle.target}" fanout.branches must be an integer between 2 and ${BRANCH_NAMES.length}, got ${n}`,
93
+ target: toggle.target,
94
+ });
95
+ }
96
+ }
97
+ if (diagnostics.length > 0) {
98
+ const template = structuredClone(base);
99
+ return { template, materializedTemplateHash: hashTemplate(template), diagnostics };
100
+ }
101
+ let nodes = structuredClone(base.nodes);
102
+ for (const toggle of profile.toggles) {
103
+ nodes = applyToggle(nodes, toggle);
104
+ }
105
+ const template = { ...structuredClone(base), nodes };
106
+ return { template, materializedTemplateHash: hashTemplate(template), diagnostics };
107
+ }
108
+ const BRANCH_NAMES = ['Primary', 'Secondary', 'Tertiary', 'Quaternary', 'Quinary', 'Senary', 'Septenary', 'Octonary'];
109
+ const BRANCH_IDS = ['primary', 'secondary', 'tertiary', 'quaternary', 'quinary', 'senary', 'septenary', 'octonary'];
110
+ function applyToggle(nodes, toggle) {
111
+ const collapsed = nodes[toggle.target];
112
+ const base = toggle.baseName ?? toggle.target;
113
+ const n = toggle.fanout.branches;
114
+ const branchSuffixes = BRANCH_NAMES.slice(0, n);
115
+ const branchIds = BRANCH_IDS.slice(0, n);
116
+ const fanoutId = `${base}Fanout`;
117
+ const joinId = `${base}Join`;
118
+ const fanoutNode = {
119
+ id: fanoutId,
120
+ kind: 'parallel',
121
+ branches: branchIds.map((bid, i) => ({ id: bid, entry: `${base}${branchSuffixes[i]}` })),
122
+ join: joinId,
123
+ };
124
+ // Clone every field of the collapsed node (onFailure/resultSchema/produces/consumes and also
125
+ // catch/escalateTo/incrementCounters, which the original per-field copy silently dropped) —
126
+ // each branch is a full parallel copy of the collapsed agent, routed to the join instead.
127
+ const branchNodes = branchSuffixes.map((suffix) => {
128
+ const branchNode = {
129
+ ...structuredClone(collapsed),
130
+ id: `${base}${suffix}`,
131
+ next: joinId,
132
+ };
133
+ return branchNode;
134
+ });
135
+ const joinNode = {
136
+ id: joinId,
137
+ kind: 'join',
138
+ joinMode: toggle.join.joinMode,
139
+ ...(toggle.join.verdictReducer !== undefined && { verdictReducer: toggle.join.verdictReducer }),
140
+ ...(toggle.join.merge !== undefined && { merge: toggle.join.merge }),
141
+ next: collapsed.next,
142
+ };
143
+ const result = {};
144
+ for (const [id, node] of Object.entries(nodes)) {
145
+ if (id === toggle.target)
146
+ continue;
147
+ result[id] = rewireNode(structuredClone(node), toggle.target, fanoutId, branchIds, base);
148
+ }
149
+ result[fanoutId] = fanoutNode;
150
+ for (const bn of branchNodes)
151
+ result[bn.id] = bn;
152
+ result[joinId] = joinNode;
153
+ return result;
154
+ }
155
+ function rewireNode(node, collapsedId, fanoutId, branchIds, base) {
156
+ rewireEdges(node, collapsedId, fanoutId);
157
+ if ((node.kind === 'agent' || node.kind === 'script') && node.consumes) {
158
+ node.consumes = rewireConsumes(node.consumes, collapsedId, branchIds, base);
159
+ }
160
+ return node;
161
+ }
162
+ function rewireEdges(node, from, to) {
163
+ const n = node;
164
+ if (n['next'] === from)
165
+ n['next'] = to;
166
+ const branches = n['branches'];
167
+ if (Array.isArray(branches)) {
168
+ for (const branch of branches) {
169
+ if (branch['goto'] === from)
170
+ branch['goto'] = to;
171
+ if (branch['default'] === from)
172
+ branch['default'] = to;
173
+ }
174
+ }
175
+ const catchArr = n['catch'];
176
+ if (Array.isArray(catchArr)) {
177
+ for (const entry of catchArr) {
178
+ if (entry['goto'] === from)
179
+ entry['goto'] = to;
180
+ }
181
+ }
182
+ if (n['join'] === from)
183
+ n['join'] = to;
184
+ }
185
+ function rewireConsumes(consumes, collapsedId, branchIds, base) {
186
+ const result = [];
187
+ for (const ref of consumes) {
188
+ if (ref.node !== collapsedId) {
189
+ result.push(ref);
190
+ continue;
191
+ }
192
+ for (let i = 0; i < branchIds.length; i++) {
193
+ result.push({
194
+ ...ref,
195
+ node: `${base}${BRANCH_NAMES[i]}`,
196
+ as: `${ref.as}${BRANCH_NAMES[i]}`,
197
+ });
198
+ }
199
+ }
200
+ return result;
201
+ }
202
+ function stableStringify(value) {
203
+ if (Array.isArray(value))
204
+ return `[${value.map(stableStringify).join(',')}]`;
205
+ if (value !== null && typeof value === 'object') {
206
+ const record = value;
207
+ return `{${Object.keys(record)
208
+ .sort((a, b) => (a < b ? -1 : a > b ? 1 : 0))
209
+ .map((key) => `${JSON.stringify(key)}:${stableStringify(record[key])}`)
210
+ .join(',')}}`;
211
+ }
212
+ return JSON.stringify(value);
213
+ }
214
+ export const MATERIALIZER_VERSION = '1';
215
+ export function hashTemplate(template) {
216
+ return createHash('sha256').update(stableStringify(template)).digest('hex');
217
+ }
218
+ export function hashProfile(profile) {
219
+ return createHash('sha256').update(stableStringify(profile)).digest('hex');
220
+ }
221
+ //# sourceMappingURL=materialize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"materialize.js","sourceRoot":"","sources":["../../src/pipeline-core/materialize.ts"],"names":[],"mappings":"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"}
@@ -86,6 +86,11 @@ export const DIAGNOSTIC_CODES = [
86
86
  'PRODUCES_NAME_DUP',
87
87
  'GATE_REF_UNRESOLVED',
88
88
  'GATE_ARTIFACT_NO_PRODUCES',
89
+ 'GATE_OUTCOME_UNROUTED',
90
+ 'CYCLE_WITHOUT_COUNTER',
91
+ 'SCRIPT_FAILURE_UNROUTED',
92
+ 'HUMAN_OFFRAMP_UNREACHABLE',
93
+ 'AGENT_FAILURE_UNROUTED',
89
94
  'DIFF_UNCLASSIFIED',
90
95
  'DIFF_NODE_DELETED',
91
96
  'DIFF_NODE_KIND_CHANGED',
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/pipeline-core/types.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAU,CAAC;AAItF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAU,CAAC;AAc1F,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,KAAK;IACL,KAAK;IACL,KAAK;CACG,CAAC;AASX,MAAM,UAAU,eAAe,CAAC,CAAS;IACvC,OAAO,SAAS,IAAI,CAAC,CAAC;AACxB,CAAC;AACD,MAAM,UAAU,eAAe,CAAC,CAAS;IACvC,OAAO,MAAM,IAAI,CAAC,CAAC;AACrB,CAAC;AAMD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAU,CAAC;AAMxE,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,OAAO;IACP,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,UAAU;IACV,MAAM;IACN,MAAM;IACN,UAAU;CACF,CAAC;AA+EX,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAU,CAAC;AAGjE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,qBAAqB,CAAU,CAAC;AAQ5E,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,OAAO,CAAU,CAAC;AAgD7D,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpD,CAAC;AAkED,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,eAAe;IACf,kBAAkB;IAClB,gBAAgB;IAChB,qBAAqB;IACrB,mBAAmB;IACnB,qBAAqB;IACrB,oBAAoB;IACpB,6BAA6B;IAC7B,0BAA0B;IAC1B,kBAAkB;IAClB,gBAAgB;IAChB,kBAAkB;IAClB,yBAAyB;IACzB,aAAa;IACb,2BAA2B;IAC3B,sBAAsB;IACtB,0BAA0B;IAC1B,oBAAoB;IACpB,yBAAyB;IACzB,mBAAmB;IACnB,mBAAmB;IACnB,6BAA6B;IAC7B,yBAAyB;IACzB,eAAe;IACf,eAAe;IACf,0BAA0B;IAC1B,oBAAoB;IACpB,uBAAuB;IACvB,6BAA6B;IAC7B,yBAAyB;IACzB,0BAA0B;IAC1B,2BAA2B;IAC3B,yBAAyB;IACzB,qBAAqB;IACrB,sBAAsB;IACtB,cAAc;IACd,gBAAgB;IAChB,4BAA4B;IAC5B,sBAAsB;IACtB,wBAAwB;IACxB,4BAA4B;IAC5B,gBAAgB;IAChB,kBAAkB;IAClB,qBAAqB;IACrB,0BAA0B;IAC1B,2BAA2B;IAC3B,wBAAwB;IACxB,qBAAqB;IACrB,gCAAgC;IAChC,iBAAiB;IACjB,mBAAmB;IACnB,qBAAqB;IACrB,2BAA2B;IAC3B,mBAAmB;IACnB,mBAAmB;IACnB,wBAAwB;IACxB,4BAA4B;IAC5B,6BAA6B;CACrB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/pipeline-core/types.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAU,CAAC;AAItF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAU,CAAC;AAc1F,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,KAAK;IACL,KAAK;IACL,KAAK;CACG,CAAC;AASX,MAAM,UAAU,eAAe,CAAC,CAAS;IACvC,OAAO,SAAS,IAAI,CAAC,CAAC;AACxB,CAAC;AACD,MAAM,UAAU,eAAe,CAAC,CAAS;IACvC,OAAO,MAAM,IAAI,CAAC,CAAC;AACrB,CAAC;AAMD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAU,CAAC;AAMxE,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,OAAO;IACP,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,UAAU;IACV,MAAM;IACN,MAAM;IACN,UAAU;CACF,CAAC;AA+EX,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAU,CAAC;AAGjE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,qBAAqB,CAAU,CAAC;AAQ5E,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,OAAO,CAAU,CAAC;AAgD7D,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpD,CAAC;AAkED,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,eAAe;IACf,kBAAkB;IAClB,gBAAgB;IAChB,qBAAqB;IACrB,mBAAmB;IACnB,qBAAqB;IACrB,oBAAoB;IACpB,6BAA6B;IAC7B,0BAA0B;IAC1B,kBAAkB;IAClB,gBAAgB;IAChB,kBAAkB;IAClB,yBAAyB;IACzB,aAAa;IACb,2BAA2B;IAC3B,sBAAsB;IACtB,0BAA0B;IAC1B,oBAAoB;IACpB,yBAAyB;IACzB,mBAAmB;IACnB,mBAAmB;IACnB,6BAA6B;IAC7B,yBAAyB;IACzB,eAAe;IACf,eAAe;IACf,0BAA0B;IAC1B,oBAAoB;IACpB,uBAAuB;IACvB,6BAA6B;IAC7B,yBAAyB;IACzB,0BAA0B;IAC1B,2BAA2B;IAC3B,yBAAyB;IACzB,qBAAqB;IACrB,sBAAsB;IACtB,cAAc;IACd,gBAAgB;IAChB,4BAA4B;IAC5B,sBAAsB;IACtB,wBAAwB;IACxB,4BAA4B;IAC5B,gBAAgB;IAChB,kBAAkB;IAClB,qBAAqB;IACrB,0BAA0B;IAC1B,2BAA2B;IAC3B,wBAAwB;IACxB,qBAAqB;IACrB,gCAAgC;IAChC,iBAAiB;IACjB,mBAAmB;IACnB,qBAAqB;IACrB,2BAA2B;IAC3B,uBAAuB;IACvB,uBAAuB;IACvB,yBAAyB;IACzB,2BAA2B;IAC3B,wBAAwB;IACxB,mBAAmB;IACnB,mBAAmB;IACnB,wBAAwB;IACxB,4BAA4B;IAC5B,6BAA6B;CACrB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { isGuardedBranch } from './types.js';
2
2
  import { backwardReach, branchSubgraph, cycleNodes, findBackEdges, forwardReach, guardConditionsOf } from './validate-graph.js';
3
+ import { conditionReadsAnyScope } from './condition-scopes.js';
3
4
  export function ruleLoopCap(template, d) {
4
5
  if (!template.entry || !template.nodes[template.entry])
5
6
  return;
@@ -29,21 +30,7 @@ function choiceGatesCycleByCounter(template, id, incrementedOnCycle) {
29
30
  const node = template.nodes[id];
30
31
  if (node?.kind !== 'choice')
31
32
  return false;
32
- return node.branches.filter(isGuardedBranch).some((b) => conditionGatesOnScopes(b.when, incrementedOnCycle));
33
- }
34
- function conditionGatesOnScopes(cond, scopes) {
35
- switch (cond.op) {
36
- case 'counter.lt':
37
- case 'counter.gte':
38
- return scopes.has(cond.scope);
39
- case 'all':
40
- case 'any':
41
- return cond.of.some((c) => conditionGatesOnScopes(c, scopes));
42
- case 'not':
43
- return conditionGatesOnScopes(cond.cond, scopes);
44
- default:
45
- return false;
46
- }
33
+ return node.branches.filter(isGuardedBranch).some((b) => conditionReadsAnyScope(b.when, incrementedOnCycle));
47
34
  }
48
35
  export function ruleCounterScopes(template, d) {
49
36
  const scopes = template.scopes ?? {};