@sunshaobei/dsh-workflow 0.0.0-stage → 2.1.0

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 (386) hide show
  1. package/README.md +43 -2
  2. package/cordis.patch.yml +17 -0
  3. package/lib/client.js +14708 -0
  4. package/lib/core.js +137 -0
  5. package/lib/engine-adapter.js +1387 -0
  6. package/lib/host-driver.js +298 -0
  7. package/lib/index.js +536 -0
  8. package/lib/projection.js +159 -0
  9. package/lib/registry.js +218 -0
  10. package/lib/session-records.js +54 -0
  11. package/lib/submission-commit.js +34 -0
  12. package/lib/world-driver.js +275 -0
  13. package/package.json +64 -4
  14. package/vendor/PROVENANCE.md +9 -0
  15. package/vendor/dynamic-workflow/analysis/actor-graph.d.ts +47 -0
  16. package/vendor/dynamic-workflow/analysis/actor-graph.d.ts.map +1 -0
  17. package/vendor/dynamic-workflow/analysis/actor-graph.js +95 -0
  18. package/vendor/dynamic-workflow/analysis/actor-models.d.ts +60 -0
  19. package/vendor/dynamic-workflow/analysis/actor-models.d.ts.map +1 -0
  20. package/vendor/dynamic-workflow/analysis/actor-models.js +208 -0
  21. package/vendor/dynamic-workflow/analysis/actor-names.d.ts +56 -0
  22. package/vendor/dynamic-workflow/analysis/actor-names.d.ts.map +1 -0
  23. package/vendor/dynamic-workflow/analysis/actor-names.js +155 -0
  24. package/vendor/dynamic-workflow/analysis/analyze.d.ts +63 -0
  25. package/vendor/dynamic-workflow/analysis/analyze.d.ts.map +1 -0
  26. package/vendor/dynamic-workflow/analysis/analyze.js +92 -0
  27. package/vendor/dynamic-workflow/analysis/array-methods.d.ts +21 -0
  28. package/vendor/dynamic-workflow/analysis/array-methods.d.ts.map +1 -0
  29. package/vendor/dynamic-workflow/analysis/array-methods.js +132 -0
  30. package/vendor/dynamic-workflow/analysis/artifact-types.d.ts +39 -0
  31. package/vendor/dynamic-workflow/analysis/artifact-types.d.ts.map +1 -0
  32. package/vendor/dynamic-workflow/analysis/artifact-types.js +114 -0
  33. package/vendor/dynamic-workflow/analysis/artifacts.d.ts +67 -0
  34. package/vendor/dynamic-workflow/analysis/artifacts.d.ts.map +1 -0
  35. package/vendor/dynamic-workflow/analysis/artifacts.js +263 -0
  36. package/vendor/dynamic-workflow/analysis/assign.d.ts +42 -0
  37. package/vendor/dynamic-workflow/analysis/assign.d.ts.map +1 -0
  38. package/vendor/dynamic-workflow/analysis/assign.js +287 -0
  39. package/vendor/dynamic-workflow/analysis/callbacks.d.ts +71 -0
  40. package/vendor/dynamic-workflow/analysis/callbacks.d.ts.map +1 -0
  41. package/vendor/dynamic-workflow/analysis/callbacks.js +133 -0
  42. package/vendor/dynamic-workflow/analysis/calls.d.ts +40 -0
  43. package/vendor/dynamic-workflow/analysis/calls.d.ts.map +1 -0
  44. package/vendor/dynamic-workflow/analysis/calls.js +495 -0
  45. package/vendor/dynamic-workflow/analysis/causality-graph-lanes.d.ts +25 -0
  46. package/vendor/dynamic-workflow/analysis/causality-graph-lanes.d.ts.map +1 -0
  47. package/vendor/dynamic-workflow/analysis/causality-graph-lanes.js +161 -0
  48. package/vendor/dynamic-workflow/analysis/causality-graph-types.d.ts +163 -0
  49. package/vendor/dynamic-workflow/analysis/causality-graph-types.d.ts.map +1 -0
  50. package/vendor/dynamic-workflow/analysis/causality-graph-types.js +8 -0
  51. package/vendor/dynamic-workflow/analysis/causality-graph.d.ts +39 -0
  52. package/vendor/dynamic-workflow/analysis/causality-graph.d.ts.map +1 -0
  53. package/vendor/dynamic-workflow/analysis/causality-graph.js +530 -0
  54. package/vendor/dynamic-workflow/analysis/causality-order-calls.d.ts +29 -0
  55. package/vendor/dynamic-workflow/analysis/causality-order-calls.d.ts.map +1 -0
  56. package/vendor/dynamic-workflow/analysis/causality-order-calls.js +266 -0
  57. package/vendor/dynamic-workflow/analysis/causality-order-functions.d.ts +26 -0
  58. package/vendor/dynamic-workflow/analysis/causality-order-functions.d.ts.map +1 -0
  59. package/vendor/dynamic-workflow/analysis/causality-order-functions.js +116 -0
  60. package/vendor/dynamic-workflow/analysis/causality-order-loops.d.ts +5 -0
  61. package/vendor/dynamic-workflow/analysis/causality-order-loops.d.ts.map +1 -0
  62. package/vendor/dynamic-workflow/analysis/causality-order-loops.js +148 -0
  63. package/vendor/dynamic-workflow/analysis/causality-order-settle.d.ts +39 -0
  64. package/vendor/dynamic-workflow/analysis/causality-order-settle.d.ts.map +1 -0
  65. package/vendor/dynamic-workflow/analysis/causality-order-settle.js +263 -0
  66. package/vendor/dynamic-workflow/analysis/causality-order-state.d.ts +110 -0
  67. package/vendor/dynamic-workflow/analysis/causality-order-state.d.ts.map +1 -0
  68. package/vendor/dynamic-workflow/analysis/causality-order-state.js +162 -0
  69. package/vendor/dynamic-workflow/analysis/causality-order-strands.d.ts +79 -0
  70. package/vendor/dynamic-workflow/analysis/causality-order-strands.d.ts.map +1 -0
  71. package/vendor/dynamic-workflow/analysis/causality-order-strands.js +154 -0
  72. package/vendor/dynamic-workflow/analysis/causality-order-types.d.ts +174 -0
  73. package/vendor/dynamic-workflow/analysis/causality-order-types.d.ts.map +1 -0
  74. package/vendor/dynamic-workflow/analysis/causality-order-types.js +1 -0
  75. package/vendor/dynamic-workflow/analysis/causality-order-walk.d.ts +17 -0
  76. package/vendor/dynamic-workflow/analysis/causality-order-walk.d.ts.map +1 -0
  77. package/vendor/dynamic-workflow/analysis/causality-order-walk.js +282 -0
  78. package/vendor/dynamic-workflow/analysis/causality-order.d.ts +60 -0
  79. package/vendor/dynamic-workflow/analysis/causality-order.d.ts.map +1 -0
  80. package/vendor/dynamic-workflow/analysis/causality-order.js +110 -0
  81. package/vendor/dynamic-workflow/analysis/causality-reduce.d.ts +60 -0
  82. package/vendor/dynamic-workflow/analysis/causality-reduce.d.ts.map +1 -0
  83. package/vendor/dynamic-workflow/analysis/causality-reduce.js +198 -0
  84. package/vendor/dynamic-workflow/analysis/classes.d.ts +47 -0
  85. package/vendor/dynamic-workflow/analysis/classes.d.ts.map +1 -0
  86. package/vendor/dynamic-workflow/analysis/classes.js +264 -0
  87. package/vendor/dynamic-workflow/analysis/constants.d.ts +35 -0
  88. package/vendor/dynamic-workflow/analysis/constants.d.ts.map +1 -0
  89. package/vendor/dynamic-workflow/analysis/constants.js +23 -0
  90. package/vendor/dynamic-workflow/analysis/control-flow.d.ts +26 -0
  91. package/vendor/dynamic-workflow/analysis/control-flow.d.ts.map +1 -0
  92. package/vendor/dynamic-workflow/analysis/control-flow.js +132 -0
  93. package/vendor/dynamic-workflow/analysis/core-json.d.ts +45 -0
  94. package/vendor/dynamic-workflow/analysis/core-json.d.ts.map +1 -0
  95. package/vendor/dynamic-workflow/analysis/core-json.js +49 -0
  96. package/vendor/dynamic-workflow/analysis/core.d.ts +194 -0
  97. package/vendor/dynamic-workflow/analysis/core.d.ts.map +1 -0
  98. package/vendor/dynamic-workflow/analysis/core.js +204 -0
  99. package/vendor/dynamic-workflow/analysis/domain.d.ts +269 -0
  100. package/vendor/dynamic-workflow/analysis/domain.d.ts.map +1 -0
  101. package/vendor/dynamic-workflow/analysis/domain.js +523 -0
  102. package/vendor/dynamic-workflow/analysis/facade-misuse.d.ts +56 -0
  103. package/vendor/dynamic-workflow/analysis/facade-misuse.d.ts.map +1 -0
  104. package/vendor/dynamic-workflow/analysis/facade-misuse.js +350 -0
  105. package/vendor/dynamic-workflow/analysis/fanout-cardinality.d.ts +11 -0
  106. package/vendor/dynamic-workflow/analysis/fanout-cardinality.d.ts.map +1 -0
  107. package/vendor/dynamic-workflow/analysis/fanout-cardinality.js +121 -0
  108. package/vendor/dynamic-workflow/analysis/flow-graph.d.ts +113 -0
  109. package/vendor/dynamic-workflow/analysis/flow-graph.d.ts.map +1 -0
  110. package/vendor/dynamic-workflow/analysis/flow-graph.js +411 -0
  111. package/vendor/dynamic-workflow/analysis/flow-phase.d.ts +28 -0
  112. package/vendor/dynamic-workflow/analysis/flow-phase.d.ts.map +1 -0
  113. package/vendor/dynamic-workflow/analysis/flow-phase.js +104 -0
  114. package/vendor/dynamic-workflow/analysis/flow-strands.d.ts +39 -0
  115. package/vendor/dynamic-workflow/analysis/flow-strands.d.ts.map +1 -0
  116. package/vendor/dynamic-workflow/analysis/flow-strands.js +47 -0
  117. package/vendor/dynamic-workflow/analysis/flow-tree.d.ts +35 -0
  118. package/vendor/dynamic-workflow/analysis/flow-tree.d.ts.map +1 -0
  119. package/vendor/dynamic-workflow/analysis/flow-tree.js +33 -0
  120. package/vendor/dynamic-workflow/analysis/graph.d.ts +5 -0
  121. package/vendor/dynamic-workflow/analysis/graph.d.ts.map +1 -0
  122. package/vendor/dynamic-workflow/analysis/graph.js +199 -0
  123. package/vendor/dynamic-workflow/analysis/handoff-graph.d.ts +48 -0
  124. package/vendor/dynamic-workflow/analysis/handoff-graph.d.ts.map +1 -0
  125. package/vendor/dynamic-workflow/analysis/handoff-graph.js +0 -0
  126. package/vendor/dynamic-workflow/analysis/heap-ops.d.ts +14 -0
  127. package/vendor/dynamic-workflow/analysis/heap-ops.d.ts.map +1 -0
  128. package/vendor/dynamic-workflow/analysis/heap-ops.js +70 -0
  129. package/vendor/dynamic-workflow/analysis/hole-id.d.ts +28 -0
  130. package/vendor/dynamic-workflow/analysis/hole-id.d.ts.map +1 -0
  131. package/vendor/dynamic-workflow/analysis/hole-id.js +41 -0
  132. package/vendor/dynamic-workflow/analysis/hole-sites.d.ts +32 -0
  133. package/vendor/dynamic-workflow/analysis/hole-sites.d.ts.map +1 -0
  134. package/vendor/dynamic-workflow/analysis/hole-sites.js +215 -0
  135. package/vendor/dynamic-workflow/analysis/hole-splice.d.ts +45 -0
  136. package/vendor/dynamic-workflow/analysis/hole-splice.d.ts.map +1 -0
  137. package/vendor/dynamic-workflow/analysis/hole-splice.js +100 -0
  138. package/vendor/dynamic-workflow/analysis/interpret.d.ts +26 -0
  139. package/vendor/dynamic-workflow/analysis/interpret.d.ts.map +1 -0
  140. package/vendor/dynamic-workflow/analysis/interpret.js +200 -0
  141. package/vendor/dynamic-workflow/analysis/literals.d.ts +18 -0
  142. package/vendor/dynamic-workflow/analysis/literals.d.ts.map +1 -0
  143. package/vendor/dynamic-workflow/analysis/literals.js +125 -0
  144. package/vendor/dynamic-workflow/analysis/mermaid.d.ts +60 -0
  145. package/vendor/dynamic-workflow/analysis/mermaid.d.ts.map +1 -0
  146. package/vendor/dynamic-workflow/analysis/mermaid.js +477 -0
  147. package/vendor/dynamic-workflow/analysis/patterns.d.ts +31 -0
  148. package/vendor/dynamic-workflow/analysis/patterns.d.ts.map +1 -0
  149. package/vendor/dynamic-workflow/analysis/patterns.js +94 -0
  150. package/vendor/dynamic-workflow/analysis/phase-graph.d.ts +47 -0
  151. package/vendor/dynamic-workflow/analysis/phase-graph.d.ts.map +1 -0
  152. package/vendor/dynamic-workflow/analysis/phase-graph.js +334 -0
  153. package/vendor/dynamic-workflow/analysis/phases.d.ts +24 -0
  154. package/vendor/dynamic-workflow/analysis/phases.d.ts.map +1 -0
  155. package/vendor/dynamic-workflow/analysis/phases.js +54 -0
  156. package/vendor/dynamic-workflow/analysis/promise-ops.d.ts +52 -0
  157. package/vendor/dynamic-workflow/analysis/promise-ops.d.ts.map +1 -0
  158. package/vendor/dynamic-workflow/analysis/promise-ops.js +123 -0
  159. package/vendor/dynamic-workflow/analysis/relays.d.ts +12 -0
  160. package/vendor/dynamic-workflow/analysis/relays.d.ts.map +1 -0
  161. package/vendor/dynamic-workflow/analysis/relays.js +78 -0
  162. package/vendor/dynamic-workflow/analysis/serialize.d.ts +125 -0
  163. package/vendor/dynamic-workflow/analysis/serialize.d.ts.map +1 -0
  164. package/vendor/dynamic-workflow/analysis/serialize.js +321 -0
  165. package/vendor/dynamic-workflow/analysis/site-phases.d.ts +32 -0
  166. package/vendor/dynamic-workflow/analysis/site-phases.d.ts.map +1 -0
  167. package/vendor/dynamic-workflow/analysis/site-phases.js +69 -0
  168. package/vendor/dynamic-workflow/analysis/sites-labels.d.ts +71 -0
  169. package/vendor/dynamic-workflow/analysis/sites-labels.d.ts.map +1 -0
  170. package/vendor/dynamic-workflow/analysis/sites-labels.js +189 -0
  171. package/vendor/dynamic-workflow/analysis/sites.d.ts +267 -0
  172. package/vendor/dynamic-workflow/analysis/sites.d.ts.map +1 -0
  173. package/vendor/dynamic-workflow/analysis/sites.js +225 -0
  174. package/vendor/dynamic-workflow/analysis/state.d.ts +254 -0
  175. package/vendor/dynamic-workflow/analysis/state.d.ts.map +1 -0
  176. package/vendor/dynamic-workflow/analysis/state.js +569 -0
  177. package/vendor/dynamic-workflow/analysis/taint.d.ts +97 -0
  178. package/vendor/dynamic-workflow/analysis/taint.d.ts.map +1 -0
  179. package/vendor/dynamic-workflow/analysis/taint.js +649 -0
  180. package/vendor/dynamic-workflow/analysis/types.d.ts +100 -0
  181. package/vendor/dynamic-workflow/analysis/types.d.ts.map +1 -0
  182. package/vendor/dynamic-workflow/analysis/types.js +1 -0
  183. package/vendor/dynamic-workflow/analysis/world-run.d.ts +27 -0
  184. package/vendor/dynamic-workflow/analysis/world-run.d.ts.map +1 -0
  185. package/vendor/dynamic-workflow/analysis/world-run.js +44 -0
  186. package/vendor/dynamic-workflow/compiler/compile.d.ts +59 -0
  187. package/vendor/dynamic-workflow/compiler/compile.d.ts.map +1 -0
  188. package/vendor/dynamic-workflow/compiler/compile.js +159 -0
  189. package/vendor/dynamic-workflow/compiler/libs.generated.d.ts +3 -0
  190. package/vendor/dynamic-workflow/compiler/libs.generated.d.ts.map +1 -0
  191. package/vendor/dynamic-workflow/compiler/libs.generated.js +64 -0
  192. package/vendor/dynamic-workflow/engine/artifact-spec.d.ts +26 -0
  193. package/vendor/dynamic-workflow/engine/artifact-spec.d.ts.map +1 -0
  194. package/vendor/dynamic-workflow/engine/artifact-spec.js +173 -0
  195. package/vendor/dynamic-workflow/engine/ask-observation-types.d.ts +54 -0
  196. package/vendor/dynamic-workflow/engine/ask-observation-types.d.ts.map +1 -0
  197. package/vendor/dynamic-workflow/engine/ask-observation-types.js +19 -0
  198. package/vendor/dynamic-workflow/engine/cached-ask-facts.d.ts +28 -0
  199. package/vendor/dynamic-workflow/engine/cached-ask-facts.d.ts.map +1 -0
  200. package/vendor/dynamic-workflow/engine/cached-ask-facts.js +35 -0
  201. package/vendor/dynamic-workflow/engine/concurrency.d.ts +151 -0
  202. package/vendor/dynamic-workflow/engine/concurrency.d.ts.map +1 -0
  203. package/vendor/dynamic-workflow/engine/concurrency.js +282 -0
  204. package/vendor/dynamic-workflow/engine/engine-artifacts-primary.d.ts +17 -0
  205. package/vendor/dynamic-workflow/engine/engine-artifacts-primary.d.ts.map +1 -0
  206. package/vendor/dynamic-workflow/engine/engine-artifacts-primary.js +29 -0
  207. package/vendor/dynamic-workflow/engine/engine-artifacts.d.ts +55 -0
  208. package/vendor/dynamic-workflow/engine/engine-artifacts.d.ts.map +1 -0
  209. package/vendor/dynamic-workflow/engine/engine-artifacts.js +367 -0
  210. package/vendor/dynamic-workflow/engine/engine-config.d.ts +90 -0
  211. package/vendor/dynamic-workflow/engine/engine-config.d.ts.map +1 -0
  212. package/vendor/dynamic-workflow/engine/engine-config.js +6 -0
  213. package/vendor/dynamic-workflow/engine/engine-holes.d.ts +116 -0
  214. package/vendor/dynamic-workflow/engine/engine-holes.d.ts.map +1 -0
  215. package/vendor/dynamic-workflow/engine/engine-holes.js +142 -0
  216. package/vendor/dynamic-workflow/engine/engine-launch.d.ts +34 -0
  217. package/vendor/dynamic-workflow/engine/engine-launch.d.ts.map +1 -0
  218. package/vendor/dynamic-workflow/engine/engine-launch.js +26 -0
  219. package/vendor/dynamic-workflow/engine/engine-phase-stamp.d.ts +35 -0
  220. package/vendor/dynamic-workflow/engine/engine-phase-stamp.d.ts.map +1 -0
  221. package/vendor/dynamic-workflow/engine/engine-phase-stamp.js +74 -0
  222. package/vendor/dynamic-workflow/engine/engine-report.d.ts +27 -0
  223. package/vendor/dynamic-workflow/engine/engine-report.d.ts.map +1 -0
  224. package/vendor/dynamic-workflow/engine/engine-report.js +151 -0
  225. package/vendor/dynamic-workflow/engine/engine-resume.d.ts +18 -0
  226. package/vendor/dynamic-workflow/engine/engine-resume.d.ts.map +1 -0
  227. package/vendor/dynamic-workflow/engine/engine-resume.js +38 -0
  228. package/vendor/dynamic-workflow/engine/engine-settlement.d.ts +30 -0
  229. package/vendor/dynamic-workflow/engine/engine-settlement.d.ts.map +1 -0
  230. package/vendor/dynamic-workflow/engine/engine-settlement.js +79 -0
  231. package/vendor/dynamic-workflow/engine/engine-state.d.ts +99 -0
  232. package/vendor/dynamic-workflow/engine/engine-state.d.ts.map +1 -0
  233. package/vendor/dynamic-workflow/engine/engine-state.js +13 -0
  234. package/vendor/dynamic-workflow/engine/engine-world.d.ts +36 -0
  235. package/vendor/dynamic-workflow/engine/engine-world.d.ts.map +1 -0
  236. package/vendor/dynamic-workflow/engine/engine-world.js +189 -0
  237. package/vendor/dynamic-workflow/engine/engine.d.ts +263 -0
  238. package/vendor/dynamic-workflow/engine/engine.d.ts.map +1 -0
  239. package/vendor/dynamic-workflow/engine/engine.js +602 -0
  240. package/vendor/dynamic-workflow/engine/errors.d.ts +87 -0
  241. package/vendor/dynamic-workflow/engine/errors.d.ts.map +1 -0
  242. package/vendor/dynamic-workflow/engine/errors.js +56 -0
  243. package/vendor/dynamic-workflow/engine/hash-mismatch.d.ts +10 -0
  244. package/vendor/dynamic-workflow/engine/hash-mismatch.d.ts.map +1 -0
  245. package/vendor/dynamic-workflow/engine/hash-mismatch.js +15 -0
  246. package/vendor/dynamic-workflow/engine/hash.d.ts +16 -0
  247. package/vendor/dynamic-workflow/engine/hash.d.ts.map +1 -0
  248. package/vendor/dynamic-workflow/engine/hash.js +48 -0
  249. package/vendor/dynamic-workflow/engine/imported-cache-types.d.ts +96 -0
  250. package/vendor/dynamic-workflow/engine/imported-cache-types.d.ts.map +1 -0
  251. package/vendor/dynamic-workflow/engine/imported-cache-types.js +6 -0
  252. package/vendor/dynamic-workflow/engine/imported-cache.d.ts +127 -0
  253. package/vendor/dynamic-workflow/engine/imported-cache.d.ts.map +1 -0
  254. package/vendor/dynamic-workflow/engine/imported-cache.js +244 -0
  255. package/vendor/dynamic-workflow/engine/index.d.ts +11 -0
  256. package/vendor/dynamic-workflow/engine/index.d.ts.map +1 -0
  257. package/vendor/dynamic-workflow/engine/index.js +10 -0
  258. package/vendor/dynamic-workflow/engine/journal-memory.d.ts +32 -0
  259. package/vendor/dynamic-workflow/engine/journal-memory.d.ts.map +1 -0
  260. package/vendor/dynamic-workflow/engine/journal-memory.js +243 -0
  261. package/vendor/dynamic-workflow/engine/journal-read-types.d.ts +72 -0
  262. package/vendor/dynamic-workflow/engine/journal-read-types.d.ts.map +1 -0
  263. package/vendor/dynamic-workflow/engine/journal-read-types.js +28 -0
  264. package/vendor/dynamic-workflow/engine/persona.d.ts +20 -0
  265. package/vendor/dynamic-workflow/engine/persona.d.ts.map +1 -0
  266. package/vendor/dynamic-workflow/engine/persona.js +43 -0
  267. package/vendor/dynamic-workflow/engine/replay-order.d.ts +96 -0
  268. package/vendor/dynamic-workflow/engine/replay-order.d.ts.map +1 -0
  269. package/vendor/dynamic-workflow/engine/replay-order.js +229 -0
  270. package/vendor/dynamic-workflow/engine/run-terminal.d.ts +35 -0
  271. package/vendor/dynamic-workflow/engine/run-terminal.d.ts.map +1 -0
  272. package/vendor/dynamic-workflow/engine/run-terminal.js +7 -0
  273. package/vendor/dynamic-workflow/engine/scheduler-submit.d.ts +22 -0
  274. package/vendor/dynamic-workflow/engine/scheduler-submit.d.ts.map +1 -0
  275. package/vendor/dynamic-workflow/engine/scheduler-submit.js +84 -0
  276. package/vendor/dynamic-workflow/engine/scheduler-types.d.ts +105 -0
  277. package/vendor/dynamic-workflow/engine/scheduler-types.d.ts.map +1 -0
  278. package/vendor/dynamic-workflow/engine/scheduler-types.js +17 -0
  279. package/vendor/dynamic-workflow/engine/scheduler.d.ts +113 -0
  280. package/vendor/dynamic-workflow/engine/scheduler.d.ts.map +1 -0
  281. package/vendor/dynamic-workflow/engine/scheduler.js +484 -0
  282. package/vendor/dynamic-workflow/engine/types.d.ts +979 -0
  283. package/vendor/dynamic-workflow/engine/types.d.ts.map +1 -0
  284. package/vendor/dynamic-workflow/engine/types.js +26 -0
  285. package/vendor/dynamic-workflow/engine/world-read-input.d.ts +10 -0
  286. package/vendor/dynamic-workflow/engine/world-read-input.d.ts.map +1 -0
  287. package/vendor/dynamic-workflow/engine/world-read-input.js +55 -0
  288. package/vendor/dynamic-workflow/facade/artifact-caps.d.ts +48 -0
  289. package/vendor/dynamic-workflow/facade/artifact-caps.d.ts.map +1 -0
  290. package/vendor/dynamic-workflow/facade/artifact-caps.js +47 -0
  291. package/vendor/dynamic-workflow/facade/dts-hole.d.ts +16 -0
  292. package/vendor/dynamic-workflow/facade/dts-hole.d.ts.map +1 -0
  293. package/vendor/dynamic-workflow/facade/dts-hole.js +26 -0
  294. package/vendor/dynamic-workflow/facade/dts-model.d.ts +11 -0
  295. package/vendor/dynamic-workflow/facade/dts-model.d.ts.map +1 -0
  296. package/vendor/dynamic-workflow/facade/dts-model.js +18 -0
  297. package/vendor/dynamic-workflow/facade/dts-stream.d.ts +15 -0
  298. package/vendor/dynamic-workflow/facade/dts-stream.d.ts.map +1 -0
  299. package/vendor/dynamic-workflow/facade/dts-stream.js +41 -0
  300. package/vendor/dynamic-workflow/facade/dts.d.ts +29 -0
  301. package/vendor/dynamic-workflow/facade/dts.d.ts.map +1 -0
  302. package/vendor/dynamic-workflow/facade/dts.js +324 -0
  303. package/vendor/dynamic-workflow/facade/registry.d.ts +218 -0
  304. package/vendor/dynamic-workflow/facade/registry.d.ts.map +1 -0
  305. package/vendor/dynamic-workflow/facade/registry.js +203 -0
  306. package/vendor/dynamic-workflow/facade/report-caps.d.ts +40 -0
  307. package/vendor/dynamic-workflow/facade/report-caps.d.ts.map +1 -0
  308. package/vendor/dynamic-workflow/facade/report-caps.js +39 -0
  309. package/vendor/dynamic-workflow/facade/world-read-caps.d.ts +37 -0
  310. package/vendor/dynamic-workflow/facade/world-read-caps.d.ts.map +1 -0
  311. package/vendor/dynamic-workflow/facade/world-read-caps.js +36 -0
  312. package/vendor/dynamic-workflow/index.d.ts +41 -0
  313. package/vendor/dynamic-workflow/index.d.ts.map +1 -0
  314. package/vendor/dynamic-workflow/index.js +51 -0
  315. package/vendor/dynamic-workflow/lowering/index.d.ts +2 -0
  316. package/vendor/dynamic-workflow/lowering/index.d.ts.map +1 -0
  317. package/vendor/dynamic-workflow/lowering/index.js +1 -0
  318. package/vendor/dynamic-workflow/lowering/lower-hole.d.ts +16 -0
  319. package/vendor/dynamic-workflow/lowering/lower-hole.d.ts.map +1 -0
  320. package/vendor/dynamic-workflow/lowering/lower-hole.js +63 -0
  321. package/vendor/dynamic-workflow/lowering/lower.d.ts +82 -0
  322. package/vendor/dynamic-workflow/lowering/lower.d.ts.map +1 -0
  323. package/vendor/dynamic-workflow/lowering/lower.js +333 -0
  324. package/vendor/dynamic-workflow/projections.d.ts +26 -0
  325. package/vendor/dynamic-workflow/projections.d.ts.map +1 -0
  326. package/vendor/dynamic-workflow/projections.js +23 -0
  327. package/vendor/dynamic-workflow/schema/actor-submit-profiles.d.ts +49 -0
  328. package/vendor/dynamic-workflow/schema/actor-submit-profiles.d.ts.map +1 -0
  329. package/vendor/dynamic-workflow/schema/actor-submit-profiles.js +69 -0
  330. package/vendor/dynamic-workflow/schema/emit.d.ts +55 -0
  331. package/vendor/dynamic-workflow/schema/emit.d.ts.map +1 -0
  332. package/vendor/dynamic-workflow/schema/emit.js +325 -0
  333. package/vendor/dynamic-workflow/schema/jsdoc.d.ts +10 -0
  334. package/vendor/dynamic-workflow/schema/jsdoc.d.ts.map +1 -0
  335. package/vendor/dynamic-workflow/schema/jsdoc.js +83 -0
  336. package/vendor/dynamic-workflow/schema/serialize.d.ts +8 -0
  337. package/vendor/dynamic-workflow/schema/serialize.d.ts.map +1 -0
  338. package/vendor/dynamic-workflow/schema/serialize.js +20 -0
  339. package/vendor/dynamic-workflow/schema/synthesize.d.ts +48 -0
  340. package/vendor/dynamic-workflow/schema/synthesize.d.ts.map +1 -0
  341. package/vendor/dynamic-workflow/schema/synthesize.js +138 -0
  342. package/vendor/dynamic-workflow/schema/types.d.ts +67 -0
  343. package/vendor/dynamic-workflow/schema/types.d.ts.map +1 -0
  344. package/vendor/dynamic-workflow/schema/types.js +18 -0
  345. package/vendor/dynamic-workflow/schema/validate.d.ts +15 -0
  346. package/vendor/dynamic-workflow/schema/validate.d.ts.map +1 -0
  347. package/vendor/dynamic-workflow/schema/validate.js +213 -0
  348. package/vendor/dynamic-workflow/testing/index.d.ts +6 -0
  349. package/vendor/dynamic-workflow/testing/index.d.ts.map +1 -0
  350. package/vendor/dynamic-workflow/testing/index.js +5 -0
  351. package/vendor/dynamic-workflow/testing/journal-contract-artifacts.d.ts +9 -0
  352. package/vendor/dynamic-workflow/testing/journal-contract-artifacts.d.ts.map +1 -0
  353. package/vendor/dynamic-workflow/testing/journal-contract-artifacts.js +195 -0
  354. package/vendor/dynamic-workflow/testing/journal-contract-events.d.ts +9 -0
  355. package/vendor/dynamic-workflow/testing/journal-contract-events.d.ts.map +1 -0
  356. package/vendor/dynamic-workflow/testing/journal-contract-events.js +163 -0
  357. package/vendor/dynamic-workflow/testing/journal-contract-helpers.d.ts +9 -0
  358. package/vendor/dynamic-workflow/testing/journal-contract-helpers.d.ts.map +1 -0
  359. package/vendor/dynamic-workflow/testing/journal-contract-helpers.js +12 -0
  360. package/vendor/dynamic-workflow/testing/journal-contract-isolation.d.ts +9 -0
  361. package/vendor/dynamic-workflow/testing/journal-contract-isolation.d.ts.map +1 -0
  362. package/vendor/dynamic-workflow/testing/journal-contract-isolation.js +46 -0
  363. package/vendor/dynamic-workflow/testing/journal-contract-nodes.d.ts +9 -0
  364. package/vendor/dynamic-workflow/testing/journal-contract-nodes.d.ts.map +1 -0
  365. package/vendor/dynamic-workflow/testing/journal-contract-nodes.js +234 -0
  366. package/vendor/dynamic-workflow/testing/journal-contract-reads.d.ts +11 -0
  367. package/vendor/dynamic-workflow/testing/journal-contract-reads.d.ts.map +1 -0
  368. package/vendor/dynamic-workflow/testing/journal-contract-reads.js +281 -0
  369. package/vendor/dynamic-workflow/testing/journal-contract-runs.d.ts +9 -0
  370. package/vendor/dynamic-workflow/testing/journal-contract-runs.d.ts.map +1 -0
  371. package/vendor/dynamic-workflow/testing/journal-contract-runs.js +396 -0
  372. package/vendor/dynamic-workflow/testing/journal-contract-script.d.ts +12 -0
  373. package/vendor/dynamic-workflow/testing/journal-contract-script.d.ts.map +1 -0
  374. package/vendor/dynamic-workflow/testing/journal-contract-script.js +82 -0
  375. package/vendor/dynamic-workflow/testing/journal-contract.d.ts +15 -0
  376. package/vendor/dynamic-workflow/testing/journal-contract.d.ts.map +1 -0
  377. package/vendor/dynamic-workflow/testing/journal-contract.js +31 -0
  378. package/vendor/dynamic-workflow-runtime/child-cell-streams.js +128 -0
  379. package/vendor/dynamic-workflow-runtime/child-entry-file.js +43 -0
  380. package/vendor/dynamic-workflow-runtime/child-source.js +299 -0
  381. package/vendor/dynamic-workflow-runtime/harness.js +302 -0
  382. package/vendor/dynamic-workflow-runtime/index.js +4 -0
  383. package/vendor/dynamic-workflow-runtime/protocol.js +2 -0
  384. package/vendor/mcode-host/dynamic-workflow-import.js +269 -0
  385. package/vendor/mcode-host/workflow-git-world-read.js +183 -0
  386. package/vendor/mcode-host/workflow-world-read.js +282 -0
@@ -0,0 +1,194 @@
1
+ import type { ScriptLoc } from "../compiler/compile.js";
2
+ import type { TaintOcc } from "./domain.js";
3
+ import type { OrderTrace } from "./causality-order.js";
4
+ import type { NamePattern } from "./types.js";
5
+ /**
6
+ * The analysis core: the single, self-contained artifact one interpretation of a
7
+ * workflow script produces. It carries the
8
+ * data-dependency half (the taint facts) AND the temporal half (the ordering trace) in
9
+ * one value, and every graph the analyzer serves — site graph, causality graph, actor
10
+ * graph — is a pure projection of it.
11
+ *
12
+ * The design principle is **no position dependence**: anything that needs raw source
13
+ * offsets or the TypeScript checker is resolved when the core is minted
14
+ * (interpret.ts), never by a projection. That is what "projections never look at the
15
+ * code again" means mechanically, and it is checkable: a projection module must not
16
+ * import `typescript`.
17
+ *
18
+ * - `within` containment (site lexically inside a promoted fan-out body) is resolved
19
+ * onto each site entry here — the projection reads a string, not a span;
20
+ * - fan-out ids are FINAL (`fan-out#N`); the taint pass's provisional `fan-out@order`
21
+ * vocabulary dies at minting, including inside every occurrence and type key;
22
+ * - artifact types are materialized strings (the checker's answers), keyed by final id.
23
+ *
24
+ * `ScriptLoc` (line:column) fields remain — they are rendering data, not AST access.
25
+ */
26
+ /** An `ask` site, AST-free. `within` is the enclosing promoted fan-out, when any. */
27
+ export interface CoreAskSite {
28
+ id: string;
29
+ order: number;
30
+ label: string;
31
+ labelPattern?: NamePattern;
32
+ loc: ScriptLoc;
33
+ within?: string;
34
+ }
35
+ /** A world-read or join site, AST-free. */
36
+ export interface CoreSimpleSite {
37
+ id: string;
38
+ order: number;
39
+ label: string;
40
+ loc: ScriptLoc;
41
+ within?: string;
42
+ }
43
+ /** An `agent()` site, AST-free. */
44
+ export interface CoreActorSite {
45
+ id: string;
46
+ order: number;
47
+ loc: ScriptLoc;
48
+ name?: string;
49
+ namePattern?: NamePattern;
50
+ within?: string;
51
+ }
52
+ /**
53
+ * A PROMOTED fan-out, under its final `fan-out#N` id (source order). Non-promoted
54
+ * iteration candidates are not part of the core — they are graph nodes in nothing.
55
+ */
56
+ export interface CoreFanoutSite {
57
+ id: string;
58
+ order: number;
59
+ label: string;
60
+ loc: ScriptLoc;
61
+ within?: string;
62
+ /**
63
+ * 字面量基数:被迭代的是无展开的数组字面量
64
+ * 或从未被写入的 `const` 字面量绑定时的元素个数;其余缺席。铸造期算好,投影只读。
65
+ */
66
+ cardinality?: number;
67
+ }
68
+ /**
69
+ * An OPEN `hole<T>()` site, AST-free (docs/analysis.md「Sites」). A filled hole is not a
70
+ * step and is not listed here — it survives only as a phase in the trace.
71
+ */
72
+ export interface CoreHoleSite {
73
+ id: string;
74
+ /** The filled hole whose body holds this hole (docs/analysis.md「Sites」); absent at the top level. */
75
+ fill?: string;
76
+ order: number;
77
+ /** The hole's literal name (its phase name; unique by rule 9012). */
78
+ name: string;
79
+ /** The author's spelling of the type argument (`Plan`), the contract the fill is checked against. */
80
+ type: string;
81
+ loc: ScriptLoc;
82
+ /** The call is the (awaited) operand of a top-level `return`: the script's end is open. */
83
+ tail?: true;
84
+ within?: string;
85
+ }
86
+ export interface CoreSites {
87
+ asks: CoreAskSite[];
88
+ worldReads: CoreSimpleSite[];
89
+ joins: CoreSimpleSite[];
90
+ actors: CoreActorSite[];
91
+ fanouts: CoreFanoutSite[];
92
+ /** Open holes, source order (see {@link CoreHoleSite}). */
93
+ holes: CoreHoleSite[];
94
+ }
95
+ /**
96
+ * The edge-bearing taint facts, exactly {@link TaintFacts} minus `promoted` (folded
97
+ * into {@link CoreSites.fanouts}) — with every occurrence site and every `fanoutIn`
98
+ * key already renamed to final ids.
99
+ */
100
+ export interface CoreFacts {
101
+ askData: Map<string, TaintOcc[]>;
102
+ askActor: Map<string, TaintOcc[]>;
103
+ worldReadData: Map<string, TaintOcc[]>;
104
+ joinIn: Map<string, TaintOcc[]>;
105
+ fanoutIn: Map<string, TaintOcc[]>;
106
+ /** Artifact occurrences reaching each open hole's prompt. */
107
+ holeData: Map<string, TaintOcc[]>;
108
+ returnData: TaintOcc[];
109
+ }
110
+ /** The checker's answers, materialized. Keys are final site ids. */
111
+ export interface CoreTypes {
112
+ /** Whole-value artifact type per producer site. */
113
+ siteType: Map<string, string>;
114
+ /** Per-element awaited types of a join over a static array literal. */
115
+ joinPortTypes: Map<string, (string | undefined)[]>;
116
+ }
117
+ export interface AnalysisCore {
118
+ sites: CoreSites;
119
+ facts: CoreFacts;
120
+ /** The raw temporal trace — issue/settle/spawn events, regions, controls, phases. */
121
+ trace: OrderTrace;
122
+ types: CoreTypes;
123
+ }
124
+ /**
125
+ * Site-id vocabulary: is this label an actor site? (Actor labels never make data edges.)
126
+ *
127
+ * 修复原因:留白函数体里的站点带留白 id 的前缀(`hole#21b40fca/actor#1`,docs/analysis.md「Sites」),
128
+ * 原先的 `startsWith("actor#")` 认不出它们,于是补全体内的 ask 全部解析不到 receiver、落到
129
+ * `unknown` 车道。按**最后一段**判种类。
130
+ */
131
+ export declare function isActorSite(site: string): boolean;
132
+ /**
133
+ * Canonical, deterministic text form of the core — its golden and debugging surface,
134
+ * fourth sibling of the three graph serializers. Grammar, by fixed section order:
135
+ *
136
+ * ask ask#1 "scanner" @3:24 order=1 within=fan-out#1 type="Flaky"
137
+ * world-read world-read#1 "glob src" @1:20 order=0
138
+ * join join#1 "join" @4:9 order=3 ports="A",-,"B"
139
+ * actor actor#1 "planner" @2:17 order=2
140
+ * fan-out fan-out#1 "fan-out" @5:11 order=4 type="Review[]"
141
+ * hole hole#1 "决定分组" @7:14 order=5 type="Plan" tail
142
+ * fact ask-data ask#2 <- ask#1 exact
143
+ * fact ask-actor ask#2 <- actor#1 exact
144
+ * fact world-read-data world-read#2 <- ask#1 inexact
145
+ * fact join-in join#1 <- ask#1 exact port=0
146
+ * fact fan-out-in fan-out#1 <- ask#1 exact
147
+ * fact hole-data hole#1 <- ask#1 exact
148
+ * fact return <- ask#2 exact
149
+ * region seq#1 seq entered
150
+ * region loop#1 loop parent=seq#1 @3:1 bound=3 label="helper"
151
+ * region choice#1 choice parent=loop#1 @5:3 entered exhaustive
152
+ * region choice#2 choice parent=seq#1 @9:1 entered fallthrough
153
+ * region branch#1 branch parent=choice#1 @5:12
154
+ * region branch#4 branch parent=seq#1 @20:1 label="onDone" detached
155
+ * region call#1 call parent=seq#1 @7:15 entered label="helper"
156
+ * region fanout#1 fanout parent=seq#1 @9:15 label="map" strand
157
+ * region try#1 try parent=seq#1 @12:1 entered
158
+ * region attempt#1 attempt parent=try#1 @12:5 entered
159
+ * region catch#1 catch parent=try#1 @15:3
160
+ * region finally#1 finally parent=try#1 @18:3 entered
161
+ * issue ask#1 in=seq#1>loop#1 phase=unphased
162
+ * settle ask#1,ask#2 in=seq#1
163
+ * settle ask#4 in=seq#1 joins=fanout#1
164
+ * settle in=seq#1 joins=call#1
165
+ * settle maybe ask#3 in=seq#1
166
+ * spawn actor#1 in=seq#1
167
+ * mark phase#1 in=seq#1
168
+ * jump continue loop#1 in=seq#1>loop#1>choice#1>branch#1 phase=phase#1
169
+ * jump return call#1 in=seq#1>call#1 phase=unphased
170
+ * jump throw attempt#1 in=seq#1>try#1>attempt#1 phase=unphased
171
+ * control branch#1 by=ask#1 maybe=ask#2
172
+ * phase phase#1 "gate" @2:1
173
+ * phase hole#21b40fca "决定分组" @7:14
174
+ *
175
+ * A `hole` line is an OPEN hole (a filled one is not a step; `tail` marks the tail form and
176
+ * `type=` is the author's spelling of the type argument); `fill=` on a phase names the filled
177
+ * hole whose body wrote it (docs/analysis.md「Sites」).
178
+ *
179
+ * Sites come first in source (`order`) order, kinds interleaved; `type=` carries the
180
+ * materialized artifact type and `ports=` a join's per-port types (`-` = unknown).
181
+ * Fact lines are grouped by kind in the order above; within a kind, by the sink
182
+ * site's source order, occurrences in stored (emission) order. Trace events are NOT
183
+ * sorted — their sequence IS the temporal content; regions/controls/phases follow in
184
+ * creation order. `issue` always carries its phase (`unphased` outside every marker's
185
+ * extent), and a `settle` line carries `maybe` only when the barrier was a may-claim and
186
+ * `joins=` only when it waited for strands (`strand` on the region line marks those). A
187
+ * settle that ONLY joined strands names no step and prints without the step token.
188
+ *
189
+ * The structural regions (`choice` / `call` / `try` / `attempt` / `catch` / `finally`) and
190
+ * the `mark` / `jump` leaves are the control-flow projection's input; the causality projection looks through
191
+ * them. A `jump` names its resolved target region; `throw` targeting the root is uncaught.
192
+ */
193
+ export declare function serializeCore(core: AnalysisCore): string;
194
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/analysis/core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,204 @@
1
+ /**
2
+ * Site-id vocabulary: is this label an actor site? (Actor labels never make data edges.)
3
+ *
4
+ * 修复原因:留白函数体里的站点带留白 id 的前缀(`hole#21b40fca/actor#1`,docs/analysis.md「Sites」),
5
+ * 原先的 `startsWith("actor#")` 认不出它们,于是补全体内的 ask 全部解析不到 receiver、落到
6
+ * `unknown` 车道。按**最后一段**判种类。
7
+ */
8
+ export function isActorSite(site) {
9
+ return /(^|\/)actor#/.test(site);
10
+ }
11
+ /** Quote a string field: embedded `"` escaped as `\"` (same rule as serialize.ts). */
12
+ function quote(text) {
13
+ return `"${text.replace(/"/g, '\\"')}"`;
14
+ }
15
+ function renderPattern(pattern) {
16
+ if (pattern === undefined)
17
+ return "";
18
+ let out = "";
19
+ if (pattern.head !== undefined)
20
+ out += ` head=${quote(pattern.head)}`;
21
+ if (pattern.tail !== undefined)
22
+ out += ` tail=${quote(pattern.tail)}`;
23
+ return out;
24
+ }
25
+ function at(loc) {
26
+ return `@${loc.line}:${loc.column}`;
27
+ }
28
+ /**
29
+ * Canonical, deterministic text form of the core — its golden and debugging surface,
30
+ * fourth sibling of the three graph serializers. Grammar, by fixed section order:
31
+ *
32
+ * ask ask#1 "scanner" @3:24 order=1 within=fan-out#1 type="Flaky"
33
+ * world-read world-read#1 "glob src" @1:20 order=0
34
+ * join join#1 "join" @4:9 order=3 ports="A",-,"B"
35
+ * actor actor#1 "planner" @2:17 order=2
36
+ * fan-out fan-out#1 "fan-out" @5:11 order=4 type="Review[]"
37
+ * hole hole#1 "决定分组" @7:14 order=5 type="Plan" tail
38
+ * fact ask-data ask#2 <- ask#1 exact
39
+ * fact ask-actor ask#2 <- actor#1 exact
40
+ * fact world-read-data world-read#2 <- ask#1 inexact
41
+ * fact join-in join#1 <- ask#1 exact port=0
42
+ * fact fan-out-in fan-out#1 <- ask#1 exact
43
+ * fact hole-data hole#1 <- ask#1 exact
44
+ * fact return <- ask#2 exact
45
+ * region seq#1 seq entered
46
+ * region loop#1 loop parent=seq#1 @3:1 bound=3 label="helper"
47
+ * region choice#1 choice parent=loop#1 @5:3 entered exhaustive
48
+ * region choice#2 choice parent=seq#1 @9:1 entered fallthrough
49
+ * region branch#1 branch parent=choice#1 @5:12
50
+ * region branch#4 branch parent=seq#1 @20:1 label="onDone" detached
51
+ * region call#1 call parent=seq#1 @7:15 entered label="helper"
52
+ * region fanout#1 fanout parent=seq#1 @9:15 label="map" strand
53
+ * region try#1 try parent=seq#1 @12:1 entered
54
+ * region attempt#1 attempt parent=try#1 @12:5 entered
55
+ * region catch#1 catch parent=try#1 @15:3
56
+ * region finally#1 finally parent=try#1 @18:3 entered
57
+ * issue ask#1 in=seq#1>loop#1 phase=unphased
58
+ * settle ask#1,ask#2 in=seq#1
59
+ * settle ask#4 in=seq#1 joins=fanout#1
60
+ * settle in=seq#1 joins=call#1
61
+ * settle maybe ask#3 in=seq#1
62
+ * spawn actor#1 in=seq#1
63
+ * mark phase#1 in=seq#1
64
+ * jump continue loop#1 in=seq#1>loop#1>choice#1>branch#1 phase=phase#1
65
+ * jump return call#1 in=seq#1>call#1 phase=unphased
66
+ * jump throw attempt#1 in=seq#1>try#1>attempt#1 phase=unphased
67
+ * control branch#1 by=ask#1 maybe=ask#2
68
+ * phase phase#1 "gate" @2:1
69
+ * phase hole#21b40fca "决定分组" @7:14
70
+ *
71
+ * A `hole` line is an OPEN hole (a filled one is not a step; `tail` marks the tail form and
72
+ * `type=` is the author's spelling of the type argument); `fill=` on a phase names the filled
73
+ * hole whose body wrote it (docs/analysis.md「Sites」).
74
+ *
75
+ * Sites come first in source (`order`) order, kinds interleaved; `type=` carries the
76
+ * materialized artifact type and `ports=` a join's per-port types (`-` = unknown).
77
+ * Fact lines are grouped by kind in the order above; within a kind, by the sink
78
+ * site's source order, occurrences in stored (emission) order. Trace events are NOT
79
+ * sorted — their sequence IS the temporal content; regions/controls/phases follow in
80
+ * creation order. `issue` always carries its phase (`unphased` outside every marker's
81
+ * extent), and a `settle` line carries `maybe` only when the barrier was a may-claim and
82
+ * `joins=` only when it waited for strands (`strand` on the region line marks those). A
83
+ * settle that ONLY joined strands names no step and prints without the step token.
84
+ *
85
+ * The structural regions (`choice` / `call` / `try` / `attempt` / `catch` / `finally`) and
86
+ * the `mark` / `jump` leaves are the control-flow projection's input; the causality projection looks through
87
+ * them. A `jump` names its resolved target region; `throw` targeting the root is uncaught.
88
+ */
89
+ export function serializeCore(core) {
90
+ return `${[
91
+ ...renderSites(core),
92
+ ...renderFacts(core.facts),
93
+ ...core.trace.regions.map((region) => `region ${region.id} ${region.kind}` +
94
+ (region.parent === undefined ? "" : ` parent=${region.parent}`) +
95
+ (region.loc === undefined ? "" : ` ${at(region.loc)}`) +
96
+ (region.entered ? " entered" : "") +
97
+ (region.exhaustive ? " exhaustive" : "") +
98
+ (region.fallthrough ? " fallthrough" : "") +
99
+ (region.recursive ? " recursive" : "") +
100
+ (region.detached ? " detached" : "") +
101
+ (region.bound === undefined ? "" : ` bound=${region.bound}`) +
102
+ (region.label === undefined ? "" : ` label=${quote(region.label)}`) +
103
+ (region.strand ? " strand" : "")),
104
+ ...core.trace.events.map(renderEvent),
105
+ ...core.trace.controls.map((control) => `control ${control.region}` +
106
+ (control.controllers.length > 0 ? ` by=${control.controllers.join(",")}` : "") +
107
+ (control.maybeControllers.length > 0 ? ` maybe=${control.maybeControllers.join(",")}` : "")),
108
+ ...core.trace.phases.map((phase) => `phase ${phase.id} ${quote(phase.name)} ${at(phase.loc)}` +
109
+ (phase.fill === undefined ? "" : ` fill=${phase.fill}`)),
110
+ ].join("\n")}\n`;
111
+ }
112
+ function renderSites(core) {
113
+ const typeOf = (id) => {
114
+ const type = core.types.siteType.get(id);
115
+ return type === undefined ? "" : ` type=${quote(type)}`;
116
+ };
117
+ const withinOf = (within) => within === undefined ? "" : ` within=${within}`;
118
+ const lines = [
119
+ ...core.sites.asks.map((site) => ({
120
+ line: `ask ${site.id} ${quote(site.label)}${renderPattern(site.labelPattern)} ${at(site.loc)}` +
121
+ ` order=${site.order}${withinOf(site.within)}${typeOf(site.id)}`,
122
+ order: site.order,
123
+ })),
124
+ ...core.sites.worldReads.map((site) => ({
125
+ line: `world-read ${site.id} ${quote(site.label)} ${at(site.loc)}` +
126
+ ` order=${site.order}${withinOf(site.within)}${typeOf(site.id)}`,
127
+ order: site.order,
128
+ })),
129
+ ...core.sites.joins.map((site) => {
130
+ const ports = core.types.joinPortTypes.get(site.id);
131
+ const portsText = ports === undefined
132
+ ? ""
133
+ : ` ports=${ports.map((port) => (port === undefined ? "-" : quote(port))).join(",")}`;
134
+ return {
135
+ line: `join ${site.id} ${quote(site.label)} ${at(site.loc)}` +
136
+ ` order=${site.order}${withinOf(site.within)}${typeOf(site.id)}${portsText}`,
137
+ order: site.order,
138
+ };
139
+ }),
140
+ ...core.sites.actors.map((site) => ({
141
+ line: `actor ${site.id}${site.name === undefined ? "" : ` ${quote(site.name)}`}` +
142
+ `${renderPattern(site.namePattern)} ${at(site.loc)} order=${site.order}${withinOf(site.within)}`,
143
+ order: site.order,
144
+ })),
145
+ ...core.sites.fanouts.map((site) => ({
146
+ line: `fan-out ${site.id} ${quote(site.label)} ${at(site.loc)}` +
147
+ ` order=${site.order}${withinOf(site.within)}` +
148
+ `${site.cardinality === undefined ? "" : ` count=${site.cardinality}`}${typeOf(site.id)}`,
149
+ order: site.order,
150
+ })),
151
+ ...core.sites.holes.map((site) => ({
152
+ line: `hole ${site.id} ${quote(site.name)} ${at(site.loc)} order=${site.order}` +
153
+ `${withinOf(site.within)} type=${quote(site.type)}${site.tail ? " tail" : ""}`,
154
+ order: site.order,
155
+ })),
156
+ ];
157
+ return lines.sort((a, b) => a.order - b.order).map((entry) => entry.line);
158
+ }
159
+ function renderFacts(facts) {
160
+ const occText = (occ) => `${occ.site} ${occ.exact ? "exact" : "inexact"}${occ.port === undefined ? "" : ` port=${occ.port}`}`;
161
+ const group = (kind, map) => {
162
+ // Emission (state.ts) fills these maps in deterministic evaluation order; sorting
163
+ // by sink id keeps the section readable and independent of that order.
164
+ const entries = [...map.entries()].sort(([a], [b]) => a.localeCompare(b));
165
+ const lines = [];
166
+ for (const [sink, occs] of entries) {
167
+ for (const occ of occs)
168
+ lines.push(`fact ${kind} ${sink} <- ${occText(occ)}`);
169
+ }
170
+ return lines;
171
+ };
172
+ return [
173
+ ...group("ask-data", facts.askData),
174
+ ...group("ask-actor", facts.askActor),
175
+ ...group("world-read-data", facts.worldReadData),
176
+ ...group("join-in", facts.joinIn),
177
+ ...group("fan-out-in", facts.fanoutIn),
178
+ ...group("hole-data", facts.holeData),
179
+ ...facts.returnData.map((occ) => `fact return <- ${occText(occ)}`),
180
+ ];
181
+ }
182
+ function renderEvent(event) {
183
+ const chain = (regions) => regions.length === 0 ? "" : ` in=${regions.join(">")}`;
184
+ if (event.at === "issue") {
185
+ return `issue ${event.step}${chain(event.regions)} phase=${event.phase}`;
186
+ }
187
+ if (event.at === "settle") {
188
+ // A join-only barrier carries no steps; the token is omitted rather than written as an
189
+ // empty string, so the line keeps single spaces throughout.
190
+ return ("settle" +
191
+ (event.maybe ? " maybe" : "") +
192
+ (event.steps.length === 0 ? "" : ` ${event.steps.join(",")}`) +
193
+ chain(event.regions) +
194
+ (event.joins === undefined || event.joins.length === 0
195
+ ? ""
196
+ : ` joins=${event.joins.join(",")}`));
197
+ }
198
+ if (event.at === "mark")
199
+ return `mark ${event.phase}${chain(event.regions)}`;
200
+ if (event.at === "jump") {
201
+ return `jump ${event.kind} ${event.target}${chain(event.regions)} phase=${event.phase}`;
202
+ }
203
+ return `spawn ${event.actor}${chain(event.regions)}`;
204
+ }