@sunshaobei/dsh-workflow 0.0.0-stage → 2.1.2

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 +67 -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,100 @@
1
+ import type { ScriptLoc } from "../compiler/compile.js";
2
+ /**
3
+ * The site-graph types: the may-flow digraph over facade call sites emitted by the
4
+ * analyzer. This module is the
5
+ * shared vocabulary; the taint pass (later step) fills in the edges.
6
+ */
7
+ /**
8
+ * A node kind. `source`/`sink` are the two virtual endpoints; the rest are facade
9
+ * call sites. `fan-out` nodes are only emitted by the taint pass once an iteration
10
+ * candidate is shown to reach a facade site — this substrate never produces them.
11
+ */
12
+ export type SiteKind = "ask" | "world-read" | "join" | "fan-out" | "hole" | "source" | "sink";
13
+ /** A 1-based, prelude-stripped location in the author's script. */
14
+ export type SiteLoc = ScriptLoc;
15
+ /**
16
+ * 名字只在运行时才成形(`` agent(`研究员${i + 1}`) ``)时,静态能拿到的那部分形状:
17
+ * 第一个洞之前的字面量(`head`)与最后一个洞之后的字面量(`tail`)。
18
+ *
19
+ * 为什么只能拿到形状:把模板折成 8 个具体名字要求把 `map` 展开,而 `×N` 与
20
+ * `maybe stack` 存在的意义正是拒绝展开。所以这里给出的是形状,不是名字。
21
+ *
22
+ * 不变量:`head`/`tail` 至少有一个在场(拿不到就返回 undefined,不返回空 pattern),
23
+ * 两者都已 trim,且各自至少含一个字母或数字——`` `${x}-` `` 渲染成 `…-` 比「未命名智能体」
24
+ * 更差,所以那种 affix 直接丢弃。省略号在**渲染时**才加,这里只搬数据。
25
+ */
26
+ export interface NamePattern {
27
+ head?: string;
28
+ tail?: string;
29
+ }
30
+ /**
31
+ * A graph node. The virtual `source`/`sink` carry no location and a fixed label;
32
+ * a `hole` node is an OPEN `hole<T>()` site (docs/analysis.md「Sites」): its label is the
33
+ * hole's name, its prompt is a sink and its result a value of type T from outside the run;
34
+ * every other node is positioned at its facade call site. `actors` is populated for
35
+ * `ask` nodes only: the may-set of actor site ids the ask's receiver resolves to
36
+ * (the same set that drives the context relation), so the renderer can place the
37
+ * node in its actor lane(s). Ordered by actor source order, deduped. `within` is the
38
+ * id of the nearest enclosing promoted fan-out node when the site's call lies
39
+ * lexically inside a promoted iteration candidate's body — the site then executes
40
+ * once per element;
41
+ * omitted otherwise. `artifactType` is the producer's statically known artifact type
42
+ * (a human-readable type name, provenance semantics) for `ask`/`world-read`/`join`/
43
+ * `fan-out` nodes; absent on the virtual endpoints and when the type is
44
+ * unknowable/uninformative (`any`/`unknown`/`never`/`void`).
45
+ */
46
+ export interface SiteNode {
47
+ id: string;
48
+ kind: SiteKind;
49
+ loc?: SiteLoc;
50
+ label: string;
51
+ /**
52
+ * `label` 只拿到兜底串(内联的 `` agent(`研究员${i}`).ask(…) ``——receiver 是调用式,
53
+ * 既非字面量也非标识符,于是落到 `"ask"`)时,模板的静态形状。仅 `ask` 节点可能有。
54
+ */
55
+ labelPattern?: NamePattern;
56
+ actors?: string[];
57
+ within?: string;
58
+ artifactType?: string;
59
+ }
60
+ /**
61
+ * An actor (`agent()` site). Rendered as a lane, not a graph node. `within` is the
62
+ * id of the nearest enclosing promoted fan-out when the `agent()` call lies inside
63
+ * that fan-out's body: a lane FAMILY (one fresh actor per element) rather than a
64
+ * single shared lane. Omitted for actors created outside any fan-out.
65
+ */
66
+ export interface ActorSite {
67
+ id: string;
68
+ loc: SiteLoc;
69
+ name?: string;
70
+ /**
71
+ * `name` 缺席(`agent()` 的首参不是字面量)而首参是模板字符串时的静态形状。与 `name`
72
+ * 实际互斥:字面量给名字,模板给形状。**刻意不写进 `name`**——`name` 的契约是「作者原样
73
+ * 写下的那个词」,把重建物混进去,下游就再也分不清看到的是字面量还是推断。
74
+ */
75
+ namePattern?: NamePattern;
76
+ within?: string;
77
+ }
78
+ /**
79
+ * A may-flow edge: "the output of `from` may feed `to`". `data` edges carry
80
+ * artifacts; `context` edges relate asks sharing an actor. `exact` is false once
81
+ * any widening rule fired along the witness path. `port` records a join input /
82
+ * element position when the join argument is a static array literal. `type` is the
83
+ * producer's artifact type name (provenance: the value feeding `to` was computed from
84
+ * `from`'s output), port-refined for edges OUT OF a join; absent on context edges,
85
+ * source-completion edges, and when the type is unknowable/uninformative.
86
+ */
87
+ export interface SiteEdge {
88
+ from: string;
89
+ to: string;
90
+ kind: "data" | "context";
91
+ exact: boolean;
92
+ port?: number;
93
+ type?: string;
94
+ }
95
+ export interface SiteGraph {
96
+ nodes: SiteNode[];
97
+ actors: ActorSite[];
98
+ edges: SiteEdge[];
99
+ }
100
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/analysis/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;;GAIG;AAEH;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9F,mEAAmE;AACnE,MAAM,MAAM,OAAO,GAAG,SAAS,CAAC;AAEhC;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,27 @@
1
+ /**
2
+ * world.run 的编译期命令收集。
3
+ *
4
+ * `world.run` 的授权面是**批准 + 钉死**:cmd 必须是编译期字符串字面量,脚本的命令集因此
5
+ * 在提交前就是一个封闭集合——确认窗展示它,driver 执行时复验它。一个运行期才成形的 cmd
6
+ * 没有可展示的授权对象,所以是定位诊断而不是运行期拒绝(教改写发生在便宜的那一侧,
7
+ * 与 facade-siting 规则同一姿态)。
8
+ *
9
+ * 只看第一实参:args 数组与 opts 允许携带运行期值(ask 产物插值进 args 正是数据边的
10
+ * 来源);被钉住的是「跑哪个命令」,不是「拿什么跑」。
11
+ */
12
+ import type { CompileDiagnostic, WorkflowProgram } from "../compiler/compile.js";
13
+ import type { SiteTable } from "./sites.js";
14
+ /** world.run 非字面量 cmd 的诊断码(9001 = facade-siting、9002 = schema,顺延)。 */
15
+ export declare const WORLD_RUN_LITERAL_CODE = 9003;
16
+ export interface WorldRunCommands {
17
+ /** 脚本声明的命令集:去重、字典序(确认窗与 driver 复验共用的形状)。 */
18
+ commands: string[];
19
+ /** 非字面量 cmd 的定位诊断;非空即脚本不可提交。 */
20
+ diagnostics: CompileDiagnostic[];
21
+ }
22
+ /**
23
+ * 从站点表收集 world.run 的命令集。cmd 必须是无洞字符串字面量(`"lean"` 或
24
+ * `` `lean` ``——`ts.isStringLiteralLike` 覆盖两者;带洞模板与任意表达式都拒绝)。
25
+ */
26
+ export declare function collectWorldRunCommands(workflow: WorkflowProgram, table: SiteTable): WorldRunCommands;
27
+ //# sourceMappingURL=world-run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"world-run.d.ts","sourceRoot":"","sources":["../../src/analysis/world-run.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,sEAAsE;AACtE,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gCAAgC;IAChC,WAAW,EAAE,iBAAiB,EAAE,CAAC;CAClC;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,SAAS,GACf,gBAAgB,CAyBlB"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * world.run 的编译期命令收集。
3
+ *
4
+ * `world.run` 的授权面是**批准 + 钉死**:cmd 必须是编译期字符串字面量,脚本的命令集因此
5
+ * 在提交前就是一个封闭集合——确认窗展示它,driver 执行时复验它。一个运行期才成形的 cmd
6
+ * 没有可展示的授权对象,所以是定位诊断而不是运行期拒绝(教改写发生在便宜的那一侧,
7
+ * 与 facade-siting 规则同一姿态)。
8
+ *
9
+ * 只看第一实参:args 数组与 opts 允许携带运行期值(ask 产物插值进 args 正是数据边的
10
+ * 来源);被钉住的是「跑哪个命令」,不是「拿什么跑」。
11
+ */
12
+ import ts from "typescript";
13
+ /** world.run 非字面量 cmd 的诊断码(9001 = facade-siting、9002 = schema,顺延)。 */
14
+ export const WORLD_RUN_LITERAL_CODE = 9003;
15
+ /**
16
+ * 从站点表收集 world.run 的命令集。cmd 必须是无洞字符串字面量(`"lean"` 或
17
+ * `` `lean` ``——`ts.isStringLiteralLike` 覆盖两者;带洞模板与任意表达式都拒绝)。
18
+ */
19
+ export function collectWorldRunCommands(workflow, table) {
20
+ const commands = new Set();
21
+ const diagnostics = [];
22
+ for (const site of table.worldReads) {
23
+ if (site.op !== "run")
24
+ continue;
25
+ const cmd = site.args[0];
26
+ if (cmd !== undefined && ts.isStringLiteralLike(cmd)) {
27
+ commands.add(cmd.text);
28
+ continue;
29
+ }
30
+ // 元数错误(cmd 缺席)由类型检查先拦:能走到这里的缺席意味着调用点连编译都不该过,
31
+ // 但诊断收集不该依赖这条推断——按站点位置报,宁可多一条可定位的错误。
32
+ const loc = cmd === undefined ? site.loc : workflow.toScriptLoc(cmd.getStart());
33
+ diagnostics.push({
34
+ code: WORLD_RUN_LITERAL_CODE,
35
+ column: loc.column,
36
+ line: loc.line,
37
+ message: "world.run's first argument must be a compile-time string literal (\"lean\" or a " +
38
+ "no-substitution template): the script's command set is shown to the user at " +
39
+ "confirmation and only those commands are executable. Move the command name out of " +
40
+ "the variable/template, and put runtime values in the args array instead.",
41
+ });
42
+ }
43
+ return { commands: [...commands].sort(), diagnostics };
44
+ }
@@ -0,0 +1,59 @@
1
+ import ts from "typescript";
2
+ /** One diagnostic, positioned in the author's script (1-based line/column). */
3
+ export interface CompileDiagnostic {
4
+ code: number;
5
+ column: number;
6
+ line: number;
7
+ message: string;
8
+ }
9
+ export interface CompileResult {
10
+ diagnostics: CompileDiagnostic[];
11
+ ok: boolean;
12
+ }
13
+ export declare const SCRIPT_FILE_NAME = "workflow-script.ts";
14
+ export declare const WORKFLOW_FUNCTION_NAME = "__workflowScript__";
15
+ /**
16
+ * 包装前缀的长度:wrapped 源码里的位置减去它就是作者原文里的偏移。留白补全的拼接
17
+ * (analysis/hole-splice.ts)要按站点表里的节点位置在原文上插入文本,走的正是这条换算。
18
+ */
19
+ export declare const SCRIPT_PRELUDE_LENGTH: number;
20
+ /** A prelude-adjusted, 1-based location in the author's script coordinates. */
21
+ export interface ScriptLoc {
22
+ line: number;
23
+ column: number;
24
+ }
25
+ /**
26
+ * The typed program plus the two things every downstream analysis needs: the
27
+ * wrapped script's source file (to walk) and a mapper from raw scanner positions
28
+ * back into the author's 1-based, prelude-stripped coordinates.
29
+ */
30
+ export interface WorkflowProgram {
31
+ program: ts.Program;
32
+ scriptFile: ts.SourceFile;
33
+ toScriptLoc(pos: number): ScriptLoc;
34
+ }
35
+ /**
36
+ * {@link createWorkflowProgram} 的选项。`facadeDts` 允许注入一份**替代的 facade 文本**
37
+ * (snippet eval 的 scratch facade);它永远以
38
+ * {@link FACADE_FILE_NAME} 为文件名进虚拟 host——facade 身份在 registry / sites /
39
+ * facade-misuse / lowering 五处按声明文件名判定,换名字会让站点收集静默变空。
40
+ */
41
+ export interface CreateWorkflowProgramOptions {
42
+ facadeDts?: string;
43
+ }
44
+ /**
45
+ * Build the typed program for a workflow script: the wrapped script + facade
46
+ * `.d.ts` + embedded stdlib, compiled in the virtual host. This is the shared
47
+ * substrate — diagnostics, schema synthesis and site-graph extraction all hang
48
+ * off the one Program and checker built here.
49
+ */
50
+ export declare function createWorkflowProgram(scriptText: string, options?: CreateWorkflowProgramOptions): WorkflowProgram;
51
+ /** Collect and script-position the program's syntactic + semantic diagnostics. */
52
+ export declare function collectDiagnostics(program: ts.Program): CompileDiagnostic[];
53
+ /**
54
+ * Typecheck a workflow script against the facade in a fully virtual compiler host.
55
+ * Scaffold scope: diagnostics only. Schema synthesis, site-graph extraction and
56
+ * dependency inference build on the same Program in later steps.
57
+ */
58
+ export declare function compileWorkflowScript(scriptText: string): CompileResult;
59
+ //# sourceMappingURL=compile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/compiler/compile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAI5B,+EAA+E;AAC/E,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,EAAE,EAAE,OAAO,CAAC;CACb;AAED,eAAO,MAAM,gBAAgB,uBAAuB,CAAC;AAKrD,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AAS3D;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAwB,CAAC;AA0B3D,+EAA+E;AAC/E,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;IACpB,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC;IAC1B,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED;;;;;GAKG;AACH,MAAM,WAAW,4BAA4B;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,4BAA4B,GACrC,eAAe,CAiBjB;AAED,kFAAkF;AAClF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,iBAAiB,EAAE,CAI3E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAIvE"}
@@ -0,0 +1,159 @@
1
+ import ts from "typescript";
2
+ import { FACADE_DTS, FACADE_FILE_NAME } from "../facade/dts.js";
3
+ import { TS_LIBS } from "./libs.generated.js";
4
+ export const SCRIPT_FILE_NAME = "workflow-script.ts";
5
+ // Name of the wrapper function the script body is spliced into (see SCRIPT_PRELUDE).
6
+ // The site walk locates this declaration to bound its traversal to the authored
7
+ // body and to tell top-level `return`s apart from ones in nested functions.
8
+ export const WORKFLOW_FUNCTION_NAME = "__workflowScript__";
9
+ // The script is wrapped in an async function before typechecking, mirroring the
10
+ // runtime execution shape (AsyncFunction body): top-level await and a final
11
+ // `return <artifact>` are both legal, and the file stays a non-module global
12
+ // script so the facade declarations are in scope without imports.
13
+ // No return-type annotation: an annotated Promise<unknown> would demand a return
14
+ // statement (TS2355), but scripts may legitimately end without one.
15
+ const SCRIPT_PRELUDE = `async function ${WORKFLOW_FUNCTION_NAME}() {\n`;
16
+ /**
17
+ * 包装前缀的长度:wrapped 源码里的位置减去它就是作者原文里的偏移。留白补全的拼接
18
+ * (analysis/hole-splice.ts)要按站点表里的节点位置在原文上插入文本,走的正是这条换算。
19
+ */
20
+ export const SCRIPT_PRELUDE_LENGTH = SCRIPT_PRELUDE.length;
21
+ const SCRIPT_EPILOGUE = "\n}\nexport {};\n";
22
+ const PRELUDE_LINES = 1;
23
+ const COMPILER_OPTIONS = {
24
+ allowJs: false,
25
+ lib: ["lib.es2022.d.ts"],
26
+ module: ts.ModuleKind.ESNext,
27
+ moduleResolution: ts.ModuleResolutionKind.Bundler,
28
+ noEmit: true,
29
+ skipLibCheck: true,
30
+ // `strict` on, `noUncheckedIndexedAccess` deliberately OFF. Models write TS as
31
+ // if the flag were off — training corpora almost universally have it off — so
32
+ // with it on, TS2532/TS18048 on `items[i]` was the single largest source of
33
+ // compile failures (96% of the undefined-family diagnostics in local runs),
34
+ // almost all on indexes whose bounds the surrounding logic already proved.
35
+ // `strictNullChecks` stays: `.find()` / `match()` / optional properties are
36
+ // real hazards and their messages name the cause.
37
+ strict: true,
38
+ target: ts.ScriptTarget.ES2022,
39
+ // No ambient @types: the script sees ES2022 + the facade and nothing else.
40
+ // `process`, `fetch`, `require` etc. fail typechecking — the purity contract
41
+ // starts at compile time.
42
+ types: [],
43
+ };
44
+ /**
45
+ * Build the typed program for a workflow script: the wrapped script + facade
46
+ * `.d.ts` + embedded stdlib, compiled in the virtual host. This is the shared
47
+ * substrate — diagnostics, schema synthesis and site-graph extraction all hang
48
+ * off the one Program and checker built here.
49
+ */
50
+ export function createWorkflowProgram(scriptText, options) {
51
+ const wrapped = `${SCRIPT_PRELUDE}${scriptText}${SCRIPT_EPILOGUE}`;
52
+ const host = createVirtualHost(wrapped, options?.facadeDts ?? FACADE_DTS);
53
+ const program = ts.createProgram({
54
+ host,
55
+ options: COMPILER_OPTIONS,
56
+ rootNames: [SCRIPT_FILE_NAME, FACADE_FILE_NAME],
57
+ });
58
+ const scriptFile = program.getSourceFile(SCRIPT_FILE_NAME);
59
+ if (scriptFile === undefined) {
60
+ throw new Error("workflow script source file missing from program");
61
+ }
62
+ const toScriptLoc = (pos) => {
63
+ const { character, line } = scriptFile.getLineAndCharacterOfPosition(pos);
64
+ return { column: character + 1, line: Math.max(1, line - PRELUDE_LINES + 1) };
65
+ };
66
+ return { program, scriptFile, toScriptLoc };
67
+ }
68
+ /** Collect and script-position the program's syntactic + semantic diagnostics. */
69
+ export function collectDiagnostics(program) {
70
+ return [...program.getSyntacticDiagnostics(), ...program.getSemanticDiagnostics()].map(toCompileDiagnostic);
71
+ }
72
+ /**
73
+ * Typecheck a workflow script against the facade in a fully virtual compiler host.
74
+ * Scaffold scope: diagnostics only. Schema synthesis, site-graph extraction and
75
+ * dependency inference build on the same Program in later steps.
76
+ */
77
+ export function compileWorkflowScript(scriptText) {
78
+ const { program } = createWorkflowProgram(scriptText);
79
+ const diagnostics = collectDiagnostics(program);
80
+ return { diagnostics, ok: diagnostics.length === 0 };
81
+ }
82
+ // Fully virtual compiler host: every file the program can see — the wrapped
83
+ // script, the facade, and the embedded TS stdlib closure (TS_LIBS) — is served
84
+ // from an in-memory Map. Nothing touches disk, so the bundled/SEA CLI (no
85
+ // node_modules) behaves identically to dev: a missing lib fails package tests
86
+ // too, instead of only breaking in the bundle.
87
+ function createVirtualHost(wrappedScript, facadeDts) {
88
+ const virtualFiles = new Map([
89
+ [SCRIPT_FILE_NAME, wrappedScript],
90
+ [FACADE_FILE_NAME, facadeDts],
91
+ ...Object.entries(TS_LIBS),
92
+ ]);
93
+ const sourceFileCache = new Map();
94
+ return {
95
+ getSourceFile: (fileName, languageVersionOrOptions) => {
96
+ const cached = sourceFileCache.get(fileName);
97
+ if (cached !== undefined)
98
+ return cached;
99
+ const text = virtualFiles.get(fileName);
100
+ if (text === undefined)
101
+ return undefined;
102
+ const sourceFile = ts.createSourceFile(fileName, text, languageVersionOrOptions, true);
103
+ sourceFileCache.set(fileName, sourceFile);
104
+ return sourceFile;
105
+ },
106
+ getDefaultLibFileName: (options) => ts.getDefaultLibFileName(options),
107
+ writeFile: () => {
108
+ throw new Error("workflow compile is noEmit; nothing may write output");
109
+ },
110
+ getCurrentDirectory: () => "/",
111
+ getCanonicalFileName: (fileName) => fileName,
112
+ useCaseSensitiveFileNames: () => true,
113
+ getNewLine: () => "\n",
114
+ fileExists: (fileName) => virtualFiles.has(fileName),
115
+ readFile: (fileName) => virtualFiles.get(fileName),
116
+ };
117
+ }
118
+ // TS1184 ("Modifiers cannot appear here.") is what a script-top-level `declare`
119
+ // or `export` compiles to, because the body is spliced into SCRIPT_PRELUDE's
120
+ // function — ambient declarations and exports are both illegal there. The raw
121
+ // text never names the offending modifier, so the model's self-repair loop can
122
+ // only guess; these rewrites name it and give the fix. Keyed on the exact
123
+ // modifier span, so any other misplaced modifier keeps the compiler's wording.
124
+ const AMBIENT_MODIFIER_MESSAGES = new Map([
125
+ [
126
+ "declare",
127
+ "The `declare` modifier is not allowed in a workflow script: the script is compiled inside a function body, where ambient declarations are illegal. Remove `declare` and write a plain declaration (e.g. `interface Foo { ... }`).",
128
+ ],
129
+ [
130
+ "export",
131
+ "`export` is not allowed in a workflow script: the script is compiled inside a function body. Remove `export` — the workflow's output is its final `return` value.",
132
+ ],
133
+ ]);
134
+ const MISPLACED_MODIFIER_CODE = 1184;
135
+ function toCompileDiagnostic(diagnostic) {
136
+ const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n");
137
+ if (diagnostic.file === undefined || diagnostic.start === undefined) {
138
+ return { code: diagnostic.code, column: 1, line: 1, message };
139
+ }
140
+ const { character, line } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);
141
+ const scriptLine = diagnostic.file.fileName === SCRIPT_FILE_NAME ? line - PRELUDE_LINES : line;
142
+ return {
143
+ code: diagnostic.code,
144
+ column: character + 1,
145
+ line: Math.max(1, scriptLine + 1),
146
+ message: rewriteAmbientModifierMessage(diagnostic) ?? message,
147
+ };
148
+ }
149
+ /** The actionable replacement for a script-level `declare` / `export`, if this is one. */
150
+ function rewriteAmbientModifierMessage(diagnostic) {
151
+ if (diagnostic.code !== MISPLACED_MODIFIER_CODE ||
152
+ diagnostic.file?.fileName !== SCRIPT_FILE_NAME ||
153
+ diagnostic.start === undefined ||
154
+ diagnostic.length === undefined) {
155
+ return undefined;
156
+ }
157
+ const span = diagnostic.file.text.slice(diagnostic.start, diagnostic.start + diagnostic.length);
158
+ return AMBIENT_MODIFIER_MESSAGES.get(span);
159
+ }
@@ -0,0 +1,3 @@
1
+ export declare const TS_LIB_VERSION = "5.9.3";
2
+ export declare const TS_LIBS: Record<string, string>;
3
+ //# sourceMappingURL=libs.generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libs.generated.d.ts","sourceRoot":"","sources":["../../src/compiler/libs.generated.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA0D1C,CAAC"}