@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,183 @@
1
+ // Ported unchanged logic from MCode bootstrap/src/app/workflow-git-world-read.ts. Only runtime import paths adapted.
2
+ import { WorkflowError } from "../dynamic-workflow/index.js";
3
+ const GIT_REF_PATTERN = /^[A-Za-z0-9][A-Za-z0-9._/@^~-]*$/;
4
+ export const GIT_LOG_PRETTY = "--pretty=format:%H%x00%s%x00%an%x00%aI";
5
+ export const GIT_SHOW_PREFIX_ARGV = ["rev-parse", "--show-prefix"];
6
+ export const GIT_STATUS_ARGV = [
7
+ "status",
8
+ "--porcelain=v2",
9
+ "-z",
10
+ "--branch",
11
+ "--",
12
+ ".",
13
+ ];
14
+ export const GIT_UNTRACKED_ARGV = [
15
+ "ls-files",
16
+ "--others",
17
+ "--exclude-standard",
18
+ "-z",
19
+ "--full-name",
20
+ "--",
21
+ ".",
22
+ ];
23
+ const WORKSPACE_PATHSPEC = ".";
24
+ function validateGitRef(op, value) {
25
+ if (value.length === 0) {
26
+ throw new WorkflowError("DriverError", `world-read ${op}: base must not be empty. Pass a ref such as "main" or omit it.`);
27
+ }
28
+ if (value.startsWith("-")) {
29
+ throw new WorkflowError("DriverError", `world-read ${op}: base '${value}' starts with '-', which git would read as an option, ` +
30
+ `not a ref. Pass a plain ref.`);
31
+ }
32
+ if (value.includes("..")) {
33
+ throw new WorkflowError("DriverError", `world-read ${op}: base '${value}' is a '..' range; only a single ref is accepted. Pass ` +
34
+ `one ref.`);
35
+ }
36
+ if (!GIT_REF_PATTERN.test(value)) {
37
+ throw new WorkflowError("DriverError", `world-read ${op}: base '${value}' is not a valid ref. A ref starts with a letter or ` +
38
+ `digit, followed by letters, digits and . _ / @ ^ ~ - (no whitespace or syntax ` +
39
+ `characters such as {} :).`);
40
+ }
41
+ return value;
42
+ }
43
+ function validateGitPath(op, value) {
44
+ if (value.length === 0) {
45
+ throw new WorkflowError("DriverError", `world-read ${op}: path must not be empty. Pass a workspace-relative path or omit it.`);
46
+ }
47
+ if (value.startsWith("-")) {
48
+ throw new WorkflowError("DriverError", `world-read ${op}: path '${value}' starts with '-', which git could read as an option. ` +
49
+ `Pass a path that does not start with '-'.`);
50
+ }
51
+ if (looksAbsolute(value)) {
52
+ throw new WorkflowError("DriverError", `world-read ${op}: path '${value}' is absolute; only workspace-relative paths are ` +
53
+ `accepted. Pass the path relative to the workspace root.`);
54
+ }
55
+ const normalized = value.replace(/\\/g, "/");
56
+ if (normalized.split("/").includes("..")) {
57
+ throw new WorkflowError("DriverError", `world-read ${op}: path '${value}' contains a '..' segment and would leave the ` +
58
+ `workspace. Pass a path inside the workspace.`);
59
+ }
60
+ return normalized;
61
+ }
62
+ function looksAbsolute(value) {
63
+ return value.startsWith("/") || value.startsWith("\\") || /^[A-Za-z]:[\\/]?/.test(value);
64
+ }
65
+ export function gitChangedFilesPlan(base) {
66
+ const ref = base === undefined ? "HEAD" : validateGitRef("git-changed-files", base);
67
+ const tracked = {
68
+ argv: ["diff", "--name-only", "-z", ref, "--", WORKSPACE_PATHSPEC],
69
+ };
70
+ if (base !== undefined)
71
+ return [tracked];
72
+ return [tracked, { argv: [...GIT_UNTRACKED_ARGV] }];
73
+ }
74
+ export function gitDiffArgv(base, path) {
75
+ const ref = base === undefined ? "HEAD" : validateGitRef("git-diff", base);
76
+ const pathspec = path === undefined ? WORKSPACE_PATHSPEC : validateGitPath("git-diff", path);
77
+ return ["diff", "--relative", ref, "--", pathspec];
78
+ }
79
+ export function gitLogArgv(count) {
80
+ return ["log", `-n${count}`, GIT_LOG_PRETTY];
81
+ }
82
+ export function parseGitShowPrefix(stdout) {
83
+ return stdout.replace(/\r?\n$/, "");
84
+ }
85
+ function nulSegments(stdout) {
86
+ return stdout.split("\u0000").filter((segment) => segment.length > 0);
87
+ }
88
+ function stripWorkspacePrefix(prefix, path) {
89
+ if (prefix.length === 0)
90
+ return path;
91
+ if (path.startsWith(prefix))
92
+ return path.slice(prefix.length);
93
+ throw new WorkflowError("DriverError", `git reported path '${path}' outside the workspace prefix '${prefix}'. The pathspec should ` +
94
+ `have scoped the read to the workspace, so the scoping is broken; report this as a bug.`);
95
+ }
96
+ export function parseGitStatusPorcelainV2(stdout, prefix = "") {
97
+ const staged = [];
98
+ const unstaged = [];
99
+ const untracked = [];
100
+ let branch;
101
+ const segments = nulSegments(stdout);
102
+ for (let index = 0; index < segments.length; index += 1) {
103
+ const segment = segments[index];
104
+ if (segment.startsWith("# branch.head ")) {
105
+ const head = segment.slice("# branch.head ".length);
106
+ if (head !== "(detached)")
107
+ branch = head;
108
+ continue;
109
+ }
110
+ if (segment.startsWith("#"))
111
+ continue;
112
+ const kind = segment[0];
113
+ if (kind === "1" || kind === "2") {
114
+ const xy = segment.split(" ")[1] ?? "..";
115
+ const path = fieldTail(segment, kind === "1" ? 8 : 9);
116
+ if (kind === "2")
117
+ index += 1;
118
+ if (path.length === 0)
119
+ continue;
120
+ const relative = stripWorkspacePrefix(prefix, path);
121
+ if (xy[0] !== undefined && xy[0] !== ".")
122
+ staged.push(relative);
123
+ if (xy[1] !== undefined && xy[1] !== ".")
124
+ unstaged.push(relative);
125
+ continue;
126
+ }
127
+ if (kind === "u") {
128
+ const path = fieldTail(segment, 10);
129
+ if (path.length > 0)
130
+ unstaged.push(stripWorkspacePrefix(prefix, path));
131
+ continue;
132
+ }
133
+ if (kind === "?") {
134
+ const path = fieldTail(segment, 1);
135
+ if (path.length > 0)
136
+ untracked.push(stripWorkspacePrefix(prefix, path));
137
+ }
138
+ }
139
+ const clean = staged.length === 0 && unstaged.length === 0 && untracked.length === 0;
140
+ return {
141
+ ...(branch === undefined ? {} : { branch }),
142
+ clean,
143
+ staged: sortedUnique(staged),
144
+ unstaged: sortedUnique(unstaged),
145
+ untracked: sortedUnique(untracked),
146
+ };
147
+ }
148
+ export function parseGitLog(stdout) {
149
+ const commits = [];
150
+ for (const raw of stdout.split("\n")) {
151
+ const record = raw.endsWith("\r") ? raw.slice(0, -1) : raw;
152
+ if (record.length === 0)
153
+ continue;
154
+ const fields = record.split("\u0000");
155
+ if (fields.length !== 4) {
156
+ throw new WorkflowError("DriverError", `world-read git-log: cannot parse the output; a record should have 4 NUL-separated ` +
157
+ `fields, got ${fields.length}. Retry, and report this as a bug if it persists.`);
158
+ }
159
+ commits.push({
160
+ hash: fields[0],
161
+ subject: fields[1],
162
+ author: fields[2],
163
+ date: fields[3],
164
+ });
165
+ }
166
+ return commits;
167
+ }
168
+ export function parseGitPathList(stdout, prefix = "") {
169
+ return nulSegments(stdout).map((path) => stripWorkspacePrefix(prefix, path));
170
+ }
171
+ function fieldTail(line, index) {
172
+ let at = 0;
173
+ for (let i = 0; i < index; i += 1) {
174
+ const next = line.indexOf(" ", at);
175
+ if (next === -1)
176
+ return "";
177
+ at = next + 1;
178
+ }
179
+ return line.slice(at);
180
+ }
181
+ function sortedUnique(values) {
182
+ return [...new Set(values)].sort((a, b) => (a < b ? -1 : a > b ? 1 : 0));
183
+ }
@@ -0,0 +1,282 @@
1
+ // Ported unchanged logic from MCode bootstrap/src/app/workflow-world-read.ts. Only runtime import paths adapted.
2
+ import { isAbsolute as isAbsolutePath, relative as relativePath, resolve as resolvePath, sep, } from "node:path";
3
+ import { WORLD_READ_CAPS, WorkflowError } from "../dynamic-workflow/index.js";
4
+ import { GIT_SHOW_PREFIX_ARGV, GIT_STATUS_ARGV, gitChangedFilesPlan, gitDiffArgv, gitLogArgv, parseGitLog, parseGitPathList, parseGitShowPrefix, parseGitStatusPorcelainV2, } from "./workflow-git-world-read.js";
5
+ export async function executeWorldRead(deps, op, args) {
6
+ switch (op) {
7
+ case "glob":
8
+ return await worldGlob(deps, worldReadStringArgs(op, args, ["pattern"])[0]);
9
+ case "read":
10
+ return await worldRead(deps, worldReadStringArgs(op, args, ["path"])[0]);
11
+ case "grep": {
12
+ const [pattern, glob] = worldReadOptionalStringArgs(op, args, ["pattern"], ["glob"]);
13
+ return await worldGrep(deps, pattern, glob);
14
+ }
15
+ case "git-changed-files": {
16
+ const [base] = worldReadOptionalStringArgs(op, args, [], ["base"]);
17
+ return await gitChangedFiles(deps, base);
18
+ }
19
+ case "git-diff": {
20
+ const [base, path] = worldReadOptionalStringArgs(op, args, [], ["base", "path"]);
21
+ return await gitDiff(deps, base, path);
22
+ }
23
+ case "git-status": {
24
+ worldReadStringArgs(op, args, []);
25
+ return await gitStatus(deps);
26
+ }
27
+ case "git-log":
28
+ return await gitLog(deps, worldReadOptionalCount(op, args, "count"));
29
+ case "run":
30
+ return await worldRun(deps, args);
31
+ default: {
32
+ const unknownOp = op;
33
+ throw new WorkflowError("DriverError", `Unsupported world-read op "${String(unknownOp)}".`);
34
+ }
35
+ }
36
+ }
37
+ async function worldGlob(deps, pattern) {
38
+ const cap = WORLD_READ_CAPS.globMaxFiles;
39
+ const result = await deps.fileSystemPort.searchFiles({
40
+ path: deps.cwd,
41
+ pattern,
42
+ maxResults: cap + 1,
43
+ });
44
+ if (result.files.length > cap || result.truncated) {
45
+ throw capExceeded(`files.glob: over ${cap} files match (the cap). Narrow the pattern.`);
46
+ }
47
+ return result.files.map((path) => toWorkspaceRelative(deps.cwd, path)).sort();
48
+ }
49
+ async function worldRead(deps, arg) {
50
+ const path = assertWithinWorkspace("read", deps.cwd, arg);
51
+ const result = await deps.fileSystemPort.readTextFile({ path });
52
+ return result.content;
53
+ }
54
+ async function worldGrep(deps, pattern, glob) {
55
+ const cap = WORLD_READ_CAPS.grepMaxMatches;
56
+ const result = await deps.fileSystemPort.searchText({
57
+ path: deps.cwd,
58
+ pattern,
59
+ ...(glob === undefined ? {} : { glob }),
60
+ outputMode: "content",
61
+ showLineNumbers: true,
62
+ headLimit: cap + 1,
63
+ });
64
+ if (result.entries.length > cap || result.truncated) {
65
+ throw capExceeded(`files.grep: over ${cap} matches (the cap). Narrow the pattern or add a glob.`);
66
+ }
67
+ const matches = [];
68
+ for (const entry of result.entries) {
69
+ if (entry.lineNumber === undefined || entry.text === undefined)
70
+ continue;
71
+ matches.push({
72
+ path: toWorkspaceRelative(deps.cwd, entry.path),
73
+ line: entry.lineNumber,
74
+ text: entry.text,
75
+ });
76
+ }
77
+ const serializedBytes = Buffer.byteLength(JSON.stringify(matches), "utf8");
78
+ if (serializedBytes > WORLD_READ_CAPS.grepMaxSerializedBytes) {
79
+ throw capExceeded(`files.grep: result is ${serializedBytes} bytes, over the ` +
80
+ `${WORLD_READ_CAPS.grepMaxSerializedBytes}-byte cap. Narrow the pattern or add a glob.`);
81
+ }
82
+ return matches;
83
+ }
84
+ async function runGit(deps, op, argv, maxInlineBytes) {
85
+ const result = await deps.executionPort.run({
86
+ command: { mode: "argv", file: "git", args: [...argv] },
87
+ cwd: deps.cwd,
88
+ outputLimit: { maxInlineBytes },
89
+ });
90
+ if (result.status !== "completed" || (result.exitCode ?? 0) !== 0) {
91
+ const detail = firstLine(result.stderr.text) || firstLine(result.stdout.text) || result.status;
92
+ throw new WorkflowError("DriverError", `git ${argv.join(" ")} failed (${result.status}, exit=${result.exitCode ?? "n/a"}): ${detail}`);
93
+ }
94
+ return {
95
+ text: result.stdout.text,
96
+ bytes: result.stdout.bytes,
97
+ truncated: result.stdout.truncated,
98
+ };
99
+ }
100
+ async function gitWorkspacePrefix(deps, op) {
101
+ const out = await runGit(deps, op, GIT_SHOW_PREFIX_ARGV, GIT_TEXT_OUTPUT_BYTES);
102
+ return parseGitShowPrefix(out.text);
103
+ }
104
+ async function gitChangedFiles(deps, base) {
105
+ const plans = gitChangedFilesPlan(base);
106
+ const prefix = await gitWorkspacePrefix(deps, "git-changed-files");
107
+ const paths = [];
108
+ for (const plan of plans) {
109
+ const out = await runGit(deps, "git-changed-files", plan.argv, GIT_TEXT_OUTPUT_BYTES);
110
+ paths.push(...parseGitPathList(out.text, prefix));
111
+ }
112
+ return [...new Set(paths)].sort((a, b) => (a < b ? -1 : a > b ? 1 : 0));
113
+ }
114
+ async function gitDiff(deps, base, path) {
115
+ const cap = WORLD_READ_CAPS.gitDiffMaxBytes;
116
+ const out = await runGit(deps, "git-diff", gitDiffArgv(base, path), cap + 1);
117
+ if (out.bytes > cap || out.truncated) {
118
+ throw capExceeded(`git.diff: output is ${out.bytes} bytes, over the ${cap}-byte cap. Pass a path to narrow.`);
119
+ }
120
+ return out.text;
121
+ }
122
+ async function gitStatus(deps) {
123
+ const prefix = await gitWorkspacePrefix(deps, "git-status");
124
+ const out = await runGit(deps, "git-status", GIT_STATUS_ARGV, GIT_TEXT_OUTPUT_BYTES);
125
+ return parseGitStatusPorcelainV2(out.text, prefix);
126
+ }
127
+ async function gitLog(deps, count) {
128
+ const out = await runGit(deps, "git-log", gitLogArgv(count), GIT_TEXT_OUTPUT_BYTES);
129
+ return parseGitLog(out.text);
130
+ }
131
+ async function worldRun(deps, args) {
132
+ const { argv, cmd, timeoutMs } = worldRunArgs(args);
133
+ const stdoutCap = WORLD_READ_CAPS.runStdoutMaxBytes;
134
+ const stderrCap = WORLD_READ_CAPS.runStderrMaxBytes;
135
+ const result = await deps.executionPort.run({
136
+ command: { mode: "argv", file: cmd, args: argv },
137
+ cwd: deps.cwd,
138
+ timeoutMs,
139
+ outputLimit: { maxInlineBytes: Math.max(stdoutCap, stderrCap) + 1 },
140
+ });
141
+ if (result.status === "timed_out") {
142
+ throw new WorkflowError("DriverError", `world.run '${cmd}' timed out after ${timeoutMs}ms. Raise opts.timeoutMs or narrow the work.`);
143
+ }
144
+ const ranToExit = result.status === "completed" ||
145
+ (result.status === "failed" &&
146
+ result.error === undefined &&
147
+ typeof result.exitCode === "number");
148
+ if (!ranToExit) {
149
+ const detail = result.error?.message ?? (firstLine(result.stderr.text) || result.status);
150
+ throw new WorkflowError("DriverError", `world.run '${cmd}' did not run to completion (${result.status}): ${detail}`);
151
+ }
152
+ if (result.stdout.bytes > stdoutCap || result.stdout.truncated) {
153
+ throw capExceeded(`world.run '${cmd}': stdout is ${result.stdout.bytes} bytes, over the ${stdoutCap}-byte cap. ` +
154
+ `Quiet the output (e.g. --quiet), or write a file and files.read a summary.`);
155
+ }
156
+ if (result.stderr.bytes > stderrCap || result.stderr.truncated) {
157
+ throw capExceeded(`world.run '${cmd}': stderr is ${result.stderr.bytes} bytes, over the ${stderrCap}-byte cap. ` +
158
+ `Reduce the diagnostics, or write a file and files.read a summary.`);
159
+ }
160
+ return {
161
+ exitCode: result.exitCode ?? 0,
162
+ stdout: result.stdout.text,
163
+ stderr: result.stderr.text,
164
+ };
165
+ }
166
+ function worldRunArgs(args) {
167
+ if (args.length < 1 || args.length > 3) {
168
+ throw new WorkflowError("DriverError", `world.run takes 1 to 3 arguments (cmd, args?, opts?), got ${args.length}.`);
169
+ }
170
+ const cmd = requireStringArg("run", args[0], "cmd", 0);
171
+ const rawArgv = args[1];
172
+ let argv = [];
173
+ if (rawArgv !== undefined) {
174
+ if (!Array.isArray(rawArgv)) {
175
+ throw new WorkflowError("DriverError", `world.run: argument 2 (args) must be an array of strings, got ${describeArg(rawArgv)}.`);
176
+ }
177
+ argv = rawArgv.map((item, index) => {
178
+ if (typeof item !== "string") {
179
+ throw new WorkflowError("DriverError", `world.run: args[${index}] must be a string, got ${describeArg(item)}. Stringify values.`);
180
+ }
181
+ return item;
182
+ });
183
+ }
184
+ const rawOpts = args[2];
185
+ let timeoutMs = WORLD_READ_CAPS.runDefaultTimeoutMs;
186
+ if (rawOpts !== undefined) {
187
+ if (typeof rawOpts !== "object" || rawOpts === null || Array.isArray(rawOpts)) {
188
+ throw new WorkflowError("DriverError", `world.run: arg 3 (opts) must be an options object or omitted, got ${describeArg(rawOpts)}.`);
189
+ }
190
+ const rawTimeout = rawOpts.timeoutMs;
191
+ if (rawTimeout !== undefined) {
192
+ if (typeof rawTimeout !== "number" || !Number.isInteger(rawTimeout) || rawTimeout < 1) {
193
+ throw new WorkflowError("DriverError", `world.run: opts.timeoutMs must be an integer >= 1, got ${describeArg(rawTimeout)}.`);
194
+ }
195
+ timeoutMs = rawTimeout;
196
+ }
197
+ }
198
+ return { argv, cmd, timeoutMs };
199
+ }
200
+ function worldReadStringArgs(op, args, names) {
201
+ if (args.length !== names.length) {
202
+ throw new WorkflowError("DriverError", `world-read ${op} takes ${names.length} arguments (${names.join(", ")}), got ${args.length}.`);
203
+ }
204
+ return names.map((name, index) => requireStringArg(op, args[index], name, index));
205
+ }
206
+ function worldReadOptionalStringArgs(op, args, required, optional) {
207
+ const max = required.length + optional.length;
208
+ if (args.length < required.length || args.length > max) {
209
+ const range = required.length === max ? `${max}` : `${required.length}~${max}`;
210
+ throw new WorkflowError("DriverError", `world-read ${op} takes ${range} arguments ` +
211
+ `(${[...required, ...optional.map((n) => `${n}?`)].join(", ")}), got ${args.length}.`);
212
+ }
213
+ const out = [];
214
+ required.forEach((name, index) => out.push(requireStringArg(op, args[index], name, index)));
215
+ optional.forEach((name, offset) => {
216
+ const index = required.length + offset;
217
+ if (index >= args.length) {
218
+ out.push(undefined);
219
+ return;
220
+ }
221
+ const value = args[index];
222
+ if (value === undefined) {
223
+ out.push(undefined);
224
+ return;
225
+ }
226
+ out.push(requireStringArg(op, value, name, index));
227
+ });
228
+ return out;
229
+ }
230
+ function worldReadOptionalCount(op, args, name) {
231
+ const max = WORLD_READ_CAPS.gitLogMaxCount;
232
+ if (args.length > 1) {
233
+ throw new WorkflowError("DriverError", `world-read ${op} takes at most 1 argument (${name}?), got ${args.length}.`);
234
+ }
235
+ const raw = args[0];
236
+ if (raw === undefined)
237
+ return WORLD_READ_CAPS.gitLogDefaultCount;
238
+ if (typeof raw !== "number" || !Number.isInteger(raw) || raw < 1) {
239
+ throw new WorkflowError("DriverError", `world-read ${op}: argument '${name}' must be an integer >= 1, got ${describeArg(raw)}.`);
240
+ }
241
+ if (raw > max) {
242
+ throw new WorkflowError("DriverError", `world-read ${op}: argument '${name}'=${raw} is over the cap of ${max}; pass at most ${max}.`);
243
+ }
244
+ return raw;
245
+ }
246
+ function requireStringArg(op, value, name, index) {
247
+ if (typeof value !== "string") {
248
+ throw new WorkflowError("DriverError", `world-read ${op}: arg ${index + 1} (${name}) must be a string, got ${describeArg(value)}.`);
249
+ }
250
+ return value;
251
+ }
252
+ function capExceeded(message) {
253
+ return new WorkflowError("WorldReadCapExceeded", message);
254
+ }
255
+ export function resolveWithinWorkspace(cwd, arg) {
256
+ const resolved = resolvePath(cwd, arg);
257
+ const rel = relativePath(cwd, resolved);
258
+ const escapes = rel === ".." || rel.startsWith(`..${sep}`) || rel.startsWith("../");
259
+ return escapes || isAbsolutePath(rel) ? undefined : resolved;
260
+ }
261
+ function assertWithinWorkspace(op, cwd, arg) {
262
+ const resolved = resolveWithinWorkspace(cwd, arg);
263
+ if (resolved === undefined) {
264
+ throw new WorkflowError("DriverError", `world-read ${op}: path '${arg}' is outside the workspace; pass a path inside it.`);
265
+ }
266
+ return resolved;
267
+ }
268
+ export function toWorkspaceRelative(cwd, path) {
269
+ const rel = resolvePath(cwd, path) === path ? relativePath(cwd, path) : path;
270
+ return rel.replace(/\\/g, "/");
271
+ }
272
+ function firstLine(text) {
273
+ return text.split("\n", 1)[0]?.trim() ?? "";
274
+ }
275
+ const GIT_TEXT_OUTPUT_BYTES = 4 * 1024 * 1024;
276
+ function describeArg(value) {
277
+ if (value === undefined)
278
+ return "undefined";
279
+ if (value === null)
280
+ return "null";
281
+ return Array.isArray(value) ? "array" : typeof value;
282
+ }