@sunshaobei/dsh-workflow 0.0.0-stage → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/README.md +43 -2
  2. package/cordis.patch.yml +17 -0
  3. package/lib/client.js +14708 -0
  4. package/lib/core.js +137 -0
  5. package/lib/engine-adapter.js +1387 -0
  6. package/lib/host-driver.js +298 -0
  7. package/lib/index.js +536 -0
  8. package/lib/projection.js +159 -0
  9. package/lib/registry.js +218 -0
  10. package/lib/session-records.js +54 -0
  11. package/lib/submission-commit.js +34 -0
  12. package/lib/world-driver.js +275 -0
  13. package/package.json +64 -4
  14. package/vendor/PROVENANCE.md +9 -0
  15. package/vendor/dynamic-workflow/analysis/actor-graph.d.ts +47 -0
  16. package/vendor/dynamic-workflow/analysis/actor-graph.d.ts.map +1 -0
  17. package/vendor/dynamic-workflow/analysis/actor-graph.js +95 -0
  18. package/vendor/dynamic-workflow/analysis/actor-models.d.ts +60 -0
  19. package/vendor/dynamic-workflow/analysis/actor-models.d.ts.map +1 -0
  20. package/vendor/dynamic-workflow/analysis/actor-models.js +208 -0
  21. package/vendor/dynamic-workflow/analysis/actor-names.d.ts +56 -0
  22. package/vendor/dynamic-workflow/analysis/actor-names.d.ts.map +1 -0
  23. package/vendor/dynamic-workflow/analysis/actor-names.js +155 -0
  24. package/vendor/dynamic-workflow/analysis/analyze.d.ts +63 -0
  25. package/vendor/dynamic-workflow/analysis/analyze.d.ts.map +1 -0
  26. package/vendor/dynamic-workflow/analysis/analyze.js +92 -0
  27. package/vendor/dynamic-workflow/analysis/array-methods.d.ts +21 -0
  28. package/vendor/dynamic-workflow/analysis/array-methods.d.ts.map +1 -0
  29. package/vendor/dynamic-workflow/analysis/array-methods.js +132 -0
  30. package/vendor/dynamic-workflow/analysis/artifact-types.d.ts +39 -0
  31. package/vendor/dynamic-workflow/analysis/artifact-types.d.ts.map +1 -0
  32. package/vendor/dynamic-workflow/analysis/artifact-types.js +114 -0
  33. package/vendor/dynamic-workflow/analysis/artifacts.d.ts +67 -0
  34. package/vendor/dynamic-workflow/analysis/artifacts.d.ts.map +1 -0
  35. package/vendor/dynamic-workflow/analysis/artifacts.js +263 -0
  36. package/vendor/dynamic-workflow/analysis/assign.d.ts +42 -0
  37. package/vendor/dynamic-workflow/analysis/assign.d.ts.map +1 -0
  38. package/vendor/dynamic-workflow/analysis/assign.js +287 -0
  39. package/vendor/dynamic-workflow/analysis/callbacks.d.ts +71 -0
  40. package/vendor/dynamic-workflow/analysis/callbacks.d.ts.map +1 -0
  41. package/vendor/dynamic-workflow/analysis/callbacks.js +133 -0
  42. package/vendor/dynamic-workflow/analysis/calls.d.ts +40 -0
  43. package/vendor/dynamic-workflow/analysis/calls.d.ts.map +1 -0
  44. package/vendor/dynamic-workflow/analysis/calls.js +495 -0
  45. package/vendor/dynamic-workflow/analysis/causality-graph-lanes.d.ts +25 -0
  46. package/vendor/dynamic-workflow/analysis/causality-graph-lanes.d.ts.map +1 -0
  47. package/vendor/dynamic-workflow/analysis/causality-graph-lanes.js +161 -0
  48. package/vendor/dynamic-workflow/analysis/causality-graph-types.d.ts +163 -0
  49. package/vendor/dynamic-workflow/analysis/causality-graph-types.d.ts.map +1 -0
  50. package/vendor/dynamic-workflow/analysis/causality-graph-types.js +8 -0
  51. package/vendor/dynamic-workflow/analysis/causality-graph.d.ts +39 -0
  52. package/vendor/dynamic-workflow/analysis/causality-graph.d.ts.map +1 -0
  53. package/vendor/dynamic-workflow/analysis/causality-graph.js +530 -0
  54. package/vendor/dynamic-workflow/analysis/causality-order-calls.d.ts +29 -0
  55. package/vendor/dynamic-workflow/analysis/causality-order-calls.d.ts.map +1 -0
  56. package/vendor/dynamic-workflow/analysis/causality-order-calls.js +266 -0
  57. package/vendor/dynamic-workflow/analysis/causality-order-functions.d.ts +26 -0
  58. package/vendor/dynamic-workflow/analysis/causality-order-functions.d.ts.map +1 -0
  59. package/vendor/dynamic-workflow/analysis/causality-order-functions.js +116 -0
  60. package/vendor/dynamic-workflow/analysis/causality-order-loops.d.ts +5 -0
  61. package/vendor/dynamic-workflow/analysis/causality-order-loops.d.ts.map +1 -0
  62. package/vendor/dynamic-workflow/analysis/causality-order-loops.js +148 -0
  63. package/vendor/dynamic-workflow/analysis/causality-order-settle.d.ts +39 -0
  64. package/vendor/dynamic-workflow/analysis/causality-order-settle.d.ts.map +1 -0
  65. package/vendor/dynamic-workflow/analysis/causality-order-settle.js +263 -0
  66. package/vendor/dynamic-workflow/analysis/causality-order-state.d.ts +110 -0
  67. package/vendor/dynamic-workflow/analysis/causality-order-state.d.ts.map +1 -0
  68. package/vendor/dynamic-workflow/analysis/causality-order-state.js +162 -0
  69. package/vendor/dynamic-workflow/analysis/causality-order-strands.d.ts +79 -0
  70. package/vendor/dynamic-workflow/analysis/causality-order-strands.d.ts.map +1 -0
  71. package/vendor/dynamic-workflow/analysis/causality-order-strands.js +154 -0
  72. package/vendor/dynamic-workflow/analysis/causality-order-types.d.ts +174 -0
  73. package/vendor/dynamic-workflow/analysis/causality-order-types.d.ts.map +1 -0
  74. package/vendor/dynamic-workflow/analysis/causality-order-types.js +1 -0
  75. package/vendor/dynamic-workflow/analysis/causality-order-walk.d.ts +17 -0
  76. package/vendor/dynamic-workflow/analysis/causality-order-walk.d.ts.map +1 -0
  77. package/vendor/dynamic-workflow/analysis/causality-order-walk.js +282 -0
  78. package/vendor/dynamic-workflow/analysis/causality-order.d.ts +60 -0
  79. package/vendor/dynamic-workflow/analysis/causality-order.d.ts.map +1 -0
  80. package/vendor/dynamic-workflow/analysis/causality-order.js +110 -0
  81. package/vendor/dynamic-workflow/analysis/causality-reduce.d.ts +60 -0
  82. package/vendor/dynamic-workflow/analysis/causality-reduce.d.ts.map +1 -0
  83. package/vendor/dynamic-workflow/analysis/causality-reduce.js +198 -0
  84. package/vendor/dynamic-workflow/analysis/classes.d.ts +47 -0
  85. package/vendor/dynamic-workflow/analysis/classes.d.ts.map +1 -0
  86. package/vendor/dynamic-workflow/analysis/classes.js +264 -0
  87. package/vendor/dynamic-workflow/analysis/constants.d.ts +35 -0
  88. package/vendor/dynamic-workflow/analysis/constants.d.ts.map +1 -0
  89. package/vendor/dynamic-workflow/analysis/constants.js +23 -0
  90. package/vendor/dynamic-workflow/analysis/control-flow.d.ts +26 -0
  91. package/vendor/dynamic-workflow/analysis/control-flow.d.ts.map +1 -0
  92. package/vendor/dynamic-workflow/analysis/control-flow.js +132 -0
  93. package/vendor/dynamic-workflow/analysis/core-json.d.ts +45 -0
  94. package/vendor/dynamic-workflow/analysis/core-json.d.ts.map +1 -0
  95. package/vendor/dynamic-workflow/analysis/core-json.js +49 -0
  96. package/vendor/dynamic-workflow/analysis/core.d.ts +194 -0
  97. package/vendor/dynamic-workflow/analysis/core.d.ts.map +1 -0
  98. package/vendor/dynamic-workflow/analysis/core.js +204 -0
  99. package/vendor/dynamic-workflow/analysis/domain.d.ts +269 -0
  100. package/vendor/dynamic-workflow/analysis/domain.d.ts.map +1 -0
  101. package/vendor/dynamic-workflow/analysis/domain.js +523 -0
  102. package/vendor/dynamic-workflow/analysis/facade-misuse.d.ts +56 -0
  103. package/vendor/dynamic-workflow/analysis/facade-misuse.d.ts.map +1 -0
  104. package/vendor/dynamic-workflow/analysis/facade-misuse.js +350 -0
  105. package/vendor/dynamic-workflow/analysis/fanout-cardinality.d.ts +11 -0
  106. package/vendor/dynamic-workflow/analysis/fanout-cardinality.d.ts.map +1 -0
  107. package/vendor/dynamic-workflow/analysis/fanout-cardinality.js +121 -0
  108. package/vendor/dynamic-workflow/analysis/flow-graph.d.ts +113 -0
  109. package/vendor/dynamic-workflow/analysis/flow-graph.d.ts.map +1 -0
  110. package/vendor/dynamic-workflow/analysis/flow-graph.js +411 -0
  111. package/vendor/dynamic-workflow/analysis/flow-phase.d.ts +28 -0
  112. package/vendor/dynamic-workflow/analysis/flow-phase.d.ts.map +1 -0
  113. package/vendor/dynamic-workflow/analysis/flow-phase.js +104 -0
  114. package/vendor/dynamic-workflow/analysis/flow-strands.d.ts +39 -0
  115. package/vendor/dynamic-workflow/analysis/flow-strands.d.ts.map +1 -0
  116. package/vendor/dynamic-workflow/analysis/flow-strands.js +47 -0
  117. package/vendor/dynamic-workflow/analysis/flow-tree.d.ts +35 -0
  118. package/vendor/dynamic-workflow/analysis/flow-tree.d.ts.map +1 -0
  119. package/vendor/dynamic-workflow/analysis/flow-tree.js +33 -0
  120. package/vendor/dynamic-workflow/analysis/graph.d.ts +5 -0
  121. package/vendor/dynamic-workflow/analysis/graph.d.ts.map +1 -0
  122. package/vendor/dynamic-workflow/analysis/graph.js +199 -0
  123. package/vendor/dynamic-workflow/analysis/handoff-graph.d.ts +48 -0
  124. package/vendor/dynamic-workflow/analysis/handoff-graph.d.ts.map +1 -0
  125. package/vendor/dynamic-workflow/analysis/handoff-graph.js +0 -0
  126. package/vendor/dynamic-workflow/analysis/heap-ops.d.ts +14 -0
  127. package/vendor/dynamic-workflow/analysis/heap-ops.d.ts.map +1 -0
  128. package/vendor/dynamic-workflow/analysis/heap-ops.js +70 -0
  129. package/vendor/dynamic-workflow/analysis/hole-id.d.ts +28 -0
  130. package/vendor/dynamic-workflow/analysis/hole-id.d.ts.map +1 -0
  131. package/vendor/dynamic-workflow/analysis/hole-id.js +41 -0
  132. package/vendor/dynamic-workflow/analysis/hole-sites.d.ts +32 -0
  133. package/vendor/dynamic-workflow/analysis/hole-sites.d.ts.map +1 -0
  134. package/vendor/dynamic-workflow/analysis/hole-sites.js +215 -0
  135. package/vendor/dynamic-workflow/analysis/hole-splice.d.ts +45 -0
  136. package/vendor/dynamic-workflow/analysis/hole-splice.d.ts.map +1 -0
  137. package/vendor/dynamic-workflow/analysis/hole-splice.js +100 -0
  138. package/vendor/dynamic-workflow/analysis/interpret.d.ts +26 -0
  139. package/vendor/dynamic-workflow/analysis/interpret.d.ts.map +1 -0
  140. package/vendor/dynamic-workflow/analysis/interpret.js +200 -0
  141. package/vendor/dynamic-workflow/analysis/literals.d.ts +18 -0
  142. package/vendor/dynamic-workflow/analysis/literals.d.ts.map +1 -0
  143. package/vendor/dynamic-workflow/analysis/literals.js +125 -0
  144. package/vendor/dynamic-workflow/analysis/mermaid.d.ts +60 -0
  145. package/vendor/dynamic-workflow/analysis/mermaid.d.ts.map +1 -0
  146. package/vendor/dynamic-workflow/analysis/mermaid.js +477 -0
  147. package/vendor/dynamic-workflow/analysis/patterns.d.ts +31 -0
  148. package/vendor/dynamic-workflow/analysis/patterns.d.ts.map +1 -0
  149. package/vendor/dynamic-workflow/analysis/patterns.js +94 -0
  150. package/vendor/dynamic-workflow/analysis/phase-graph.d.ts +47 -0
  151. package/vendor/dynamic-workflow/analysis/phase-graph.d.ts.map +1 -0
  152. package/vendor/dynamic-workflow/analysis/phase-graph.js +334 -0
  153. package/vendor/dynamic-workflow/analysis/phases.d.ts +24 -0
  154. package/vendor/dynamic-workflow/analysis/phases.d.ts.map +1 -0
  155. package/vendor/dynamic-workflow/analysis/phases.js +54 -0
  156. package/vendor/dynamic-workflow/analysis/promise-ops.d.ts +52 -0
  157. package/vendor/dynamic-workflow/analysis/promise-ops.d.ts.map +1 -0
  158. package/vendor/dynamic-workflow/analysis/promise-ops.js +123 -0
  159. package/vendor/dynamic-workflow/analysis/relays.d.ts +12 -0
  160. package/vendor/dynamic-workflow/analysis/relays.d.ts.map +1 -0
  161. package/vendor/dynamic-workflow/analysis/relays.js +78 -0
  162. package/vendor/dynamic-workflow/analysis/serialize.d.ts +125 -0
  163. package/vendor/dynamic-workflow/analysis/serialize.d.ts.map +1 -0
  164. package/vendor/dynamic-workflow/analysis/serialize.js +321 -0
  165. package/vendor/dynamic-workflow/analysis/site-phases.d.ts +32 -0
  166. package/vendor/dynamic-workflow/analysis/site-phases.d.ts.map +1 -0
  167. package/vendor/dynamic-workflow/analysis/site-phases.js +69 -0
  168. package/vendor/dynamic-workflow/analysis/sites-labels.d.ts +71 -0
  169. package/vendor/dynamic-workflow/analysis/sites-labels.d.ts.map +1 -0
  170. package/vendor/dynamic-workflow/analysis/sites-labels.js +189 -0
  171. package/vendor/dynamic-workflow/analysis/sites.d.ts +267 -0
  172. package/vendor/dynamic-workflow/analysis/sites.d.ts.map +1 -0
  173. package/vendor/dynamic-workflow/analysis/sites.js +225 -0
  174. package/vendor/dynamic-workflow/analysis/state.d.ts +254 -0
  175. package/vendor/dynamic-workflow/analysis/state.d.ts.map +1 -0
  176. package/vendor/dynamic-workflow/analysis/state.js +569 -0
  177. package/vendor/dynamic-workflow/analysis/taint.d.ts +97 -0
  178. package/vendor/dynamic-workflow/analysis/taint.d.ts.map +1 -0
  179. package/vendor/dynamic-workflow/analysis/taint.js +649 -0
  180. package/vendor/dynamic-workflow/analysis/types.d.ts +100 -0
  181. package/vendor/dynamic-workflow/analysis/types.d.ts.map +1 -0
  182. package/vendor/dynamic-workflow/analysis/types.js +1 -0
  183. package/vendor/dynamic-workflow/analysis/world-run.d.ts +27 -0
  184. package/vendor/dynamic-workflow/analysis/world-run.d.ts.map +1 -0
  185. package/vendor/dynamic-workflow/analysis/world-run.js +44 -0
  186. package/vendor/dynamic-workflow/compiler/compile.d.ts +59 -0
  187. package/vendor/dynamic-workflow/compiler/compile.d.ts.map +1 -0
  188. package/vendor/dynamic-workflow/compiler/compile.js +159 -0
  189. package/vendor/dynamic-workflow/compiler/libs.generated.d.ts +3 -0
  190. package/vendor/dynamic-workflow/compiler/libs.generated.d.ts.map +1 -0
  191. package/vendor/dynamic-workflow/compiler/libs.generated.js +64 -0
  192. package/vendor/dynamic-workflow/engine/artifact-spec.d.ts +26 -0
  193. package/vendor/dynamic-workflow/engine/artifact-spec.d.ts.map +1 -0
  194. package/vendor/dynamic-workflow/engine/artifact-spec.js +173 -0
  195. package/vendor/dynamic-workflow/engine/ask-observation-types.d.ts +54 -0
  196. package/vendor/dynamic-workflow/engine/ask-observation-types.d.ts.map +1 -0
  197. package/vendor/dynamic-workflow/engine/ask-observation-types.js +19 -0
  198. package/vendor/dynamic-workflow/engine/cached-ask-facts.d.ts +28 -0
  199. package/vendor/dynamic-workflow/engine/cached-ask-facts.d.ts.map +1 -0
  200. package/vendor/dynamic-workflow/engine/cached-ask-facts.js +35 -0
  201. package/vendor/dynamic-workflow/engine/concurrency.d.ts +151 -0
  202. package/vendor/dynamic-workflow/engine/concurrency.d.ts.map +1 -0
  203. package/vendor/dynamic-workflow/engine/concurrency.js +282 -0
  204. package/vendor/dynamic-workflow/engine/engine-artifacts-primary.d.ts +17 -0
  205. package/vendor/dynamic-workflow/engine/engine-artifacts-primary.d.ts.map +1 -0
  206. package/vendor/dynamic-workflow/engine/engine-artifacts-primary.js +29 -0
  207. package/vendor/dynamic-workflow/engine/engine-artifacts.d.ts +55 -0
  208. package/vendor/dynamic-workflow/engine/engine-artifacts.d.ts.map +1 -0
  209. package/vendor/dynamic-workflow/engine/engine-artifacts.js +367 -0
  210. package/vendor/dynamic-workflow/engine/engine-config.d.ts +90 -0
  211. package/vendor/dynamic-workflow/engine/engine-config.d.ts.map +1 -0
  212. package/vendor/dynamic-workflow/engine/engine-config.js +6 -0
  213. package/vendor/dynamic-workflow/engine/engine-holes.d.ts +116 -0
  214. package/vendor/dynamic-workflow/engine/engine-holes.d.ts.map +1 -0
  215. package/vendor/dynamic-workflow/engine/engine-holes.js +142 -0
  216. package/vendor/dynamic-workflow/engine/engine-launch.d.ts +34 -0
  217. package/vendor/dynamic-workflow/engine/engine-launch.d.ts.map +1 -0
  218. package/vendor/dynamic-workflow/engine/engine-launch.js +26 -0
  219. package/vendor/dynamic-workflow/engine/engine-phase-stamp.d.ts +35 -0
  220. package/vendor/dynamic-workflow/engine/engine-phase-stamp.d.ts.map +1 -0
  221. package/vendor/dynamic-workflow/engine/engine-phase-stamp.js +74 -0
  222. package/vendor/dynamic-workflow/engine/engine-report.d.ts +27 -0
  223. package/vendor/dynamic-workflow/engine/engine-report.d.ts.map +1 -0
  224. package/vendor/dynamic-workflow/engine/engine-report.js +151 -0
  225. package/vendor/dynamic-workflow/engine/engine-resume.d.ts +18 -0
  226. package/vendor/dynamic-workflow/engine/engine-resume.d.ts.map +1 -0
  227. package/vendor/dynamic-workflow/engine/engine-resume.js +38 -0
  228. package/vendor/dynamic-workflow/engine/engine-settlement.d.ts +30 -0
  229. package/vendor/dynamic-workflow/engine/engine-settlement.d.ts.map +1 -0
  230. package/vendor/dynamic-workflow/engine/engine-settlement.js +79 -0
  231. package/vendor/dynamic-workflow/engine/engine-state.d.ts +99 -0
  232. package/vendor/dynamic-workflow/engine/engine-state.d.ts.map +1 -0
  233. package/vendor/dynamic-workflow/engine/engine-state.js +13 -0
  234. package/vendor/dynamic-workflow/engine/engine-world.d.ts +36 -0
  235. package/vendor/dynamic-workflow/engine/engine-world.d.ts.map +1 -0
  236. package/vendor/dynamic-workflow/engine/engine-world.js +189 -0
  237. package/vendor/dynamic-workflow/engine/engine.d.ts +263 -0
  238. package/vendor/dynamic-workflow/engine/engine.d.ts.map +1 -0
  239. package/vendor/dynamic-workflow/engine/engine.js +602 -0
  240. package/vendor/dynamic-workflow/engine/errors.d.ts +87 -0
  241. package/vendor/dynamic-workflow/engine/errors.d.ts.map +1 -0
  242. package/vendor/dynamic-workflow/engine/errors.js +56 -0
  243. package/vendor/dynamic-workflow/engine/hash-mismatch.d.ts +10 -0
  244. package/vendor/dynamic-workflow/engine/hash-mismatch.d.ts.map +1 -0
  245. package/vendor/dynamic-workflow/engine/hash-mismatch.js +15 -0
  246. package/vendor/dynamic-workflow/engine/hash.d.ts +16 -0
  247. package/vendor/dynamic-workflow/engine/hash.d.ts.map +1 -0
  248. package/vendor/dynamic-workflow/engine/hash.js +48 -0
  249. package/vendor/dynamic-workflow/engine/imported-cache-types.d.ts +96 -0
  250. package/vendor/dynamic-workflow/engine/imported-cache-types.d.ts.map +1 -0
  251. package/vendor/dynamic-workflow/engine/imported-cache-types.js +6 -0
  252. package/vendor/dynamic-workflow/engine/imported-cache.d.ts +127 -0
  253. package/vendor/dynamic-workflow/engine/imported-cache.d.ts.map +1 -0
  254. package/vendor/dynamic-workflow/engine/imported-cache.js +244 -0
  255. package/vendor/dynamic-workflow/engine/index.d.ts +11 -0
  256. package/vendor/dynamic-workflow/engine/index.d.ts.map +1 -0
  257. package/vendor/dynamic-workflow/engine/index.js +10 -0
  258. package/vendor/dynamic-workflow/engine/journal-memory.d.ts +32 -0
  259. package/vendor/dynamic-workflow/engine/journal-memory.d.ts.map +1 -0
  260. package/vendor/dynamic-workflow/engine/journal-memory.js +243 -0
  261. package/vendor/dynamic-workflow/engine/journal-read-types.d.ts +72 -0
  262. package/vendor/dynamic-workflow/engine/journal-read-types.d.ts.map +1 -0
  263. package/vendor/dynamic-workflow/engine/journal-read-types.js +28 -0
  264. package/vendor/dynamic-workflow/engine/persona.d.ts +20 -0
  265. package/vendor/dynamic-workflow/engine/persona.d.ts.map +1 -0
  266. package/vendor/dynamic-workflow/engine/persona.js +43 -0
  267. package/vendor/dynamic-workflow/engine/replay-order.d.ts +96 -0
  268. package/vendor/dynamic-workflow/engine/replay-order.d.ts.map +1 -0
  269. package/vendor/dynamic-workflow/engine/replay-order.js +229 -0
  270. package/vendor/dynamic-workflow/engine/run-terminal.d.ts +35 -0
  271. package/vendor/dynamic-workflow/engine/run-terminal.d.ts.map +1 -0
  272. package/vendor/dynamic-workflow/engine/run-terminal.js +7 -0
  273. package/vendor/dynamic-workflow/engine/scheduler-submit.d.ts +22 -0
  274. package/vendor/dynamic-workflow/engine/scheduler-submit.d.ts.map +1 -0
  275. package/vendor/dynamic-workflow/engine/scheduler-submit.js +84 -0
  276. package/vendor/dynamic-workflow/engine/scheduler-types.d.ts +105 -0
  277. package/vendor/dynamic-workflow/engine/scheduler-types.d.ts.map +1 -0
  278. package/vendor/dynamic-workflow/engine/scheduler-types.js +17 -0
  279. package/vendor/dynamic-workflow/engine/scheduler.d.ts +113 -0
  280. package/vendor/dynamic-workflow/engine/scheduler.d.ts.map +1 -0
  281. package/vendor/dynamic-workflow/engine/scheduler.js +484 -0
  282. package/vendor/dynamic-workflow/engine/types.d.ts +979 -0
  283. package/vendor/dynamic-workflow/engine/types.d.ts.map +1 -0
  284. package/vendor/dynamic-workflow/engine/types.js +26 -0
  285. package/vendor/dynamic-workflow/engine/world-read-input.d.ts +10 -0
  286. package/vendor/dynamic-workflow/engine/world-read-input.d.ts.map +1 -0
  287. package/vendor/dynamic-workflow/engine/world-read-input.js +55 -0
  288. package/vendor/dynamic-workflow/facade/artifact-caps.d.ts +48 -0
  289. package/vendor/dynamic-workflow/facade/artifact-caps.d.ts.map +1 -0
  290. package/vendor/dynamic-workflow/facade/artifact-caps.js +47 -0
  291. package/vendor/dynamic-workflow/facade/dts-hole.d.ts +16 -0
  292. package/vendor/dynamic-workflow/facade/dts-hole.d.ts.map +1 -0
  293. package/vendor/dynamic-workflow/facade/dts-hole.js +26 -0
  294. package/vendor/dynamic-workflow/facade/dts-model.d.ts +11 -0
  295. package/vendor/dynamic-workflow/facade/dts-model.d.ts.map +1 -0
  296. package/vendor/dynamic-workflow/facade/dts-model.js +18 -0
  297. package/vendor/dynamic-workflow/facade/dts-stream.d.ts +15 -0
  298. package/vendor/dynamic-workflow/facade/dts-stream.d.ts.map +1 -0
  299. package/vendor/dynamic-workflow/facade/dts-stream.js +41 -0
  300. package/vendor/dynamic-workflow/facade/dts.d.ts +29 -0
  301. package/vendor/dynamic-workflow/facade/dts.d.ts.map +1 -0
  302. package/vendor/dynamic-workflow/facade/dts.js +324 -0
  303. package/vendor/dynamic-workflow/facade/registry.d.ts +218 -0
  304. package/vendor/dynamic-workflow/facade/registry.d.ts.map +1 -0
  305. package/vendor/dynamic-workflow/facade/registry.js +203 -0
  306. package/vendor/dynamic-workflow/facade/report-caps.d.ts +40 -0
  307. package/vendor/dynamic-workflow/facade/report-caps.d.ts.map +1 -0
  308. package/vendor/dynamic-workflow/facade/report-caps.js +39 -0
  309. package/vendor/dynamic-workflow/facade/world-read-caps.d.ts +37 -0
  310. package/vendor/dynamic-workflow/facade/world-read-caps.d.ts.map +1 -0
  311. package/vendor/dynamic-workflow/facade/world-read-caps.js +36 -0
  312. package/vendor/dynamic-workflow/index.d.ts +41 -0
  313. package/vendor/dynamic-workflow/index.d.ts.map +1 -0
  314. package/vendor/dynamic-workflow/index.js +51 -0
  315. package/vendor/dynamic-workflow/lowering/index.d.ts +2 -0
  316. package/vendor/dynamic-workflow/lowering/index.d.ts.map +1 -0
  317. package/vendor/dynamic-workflow/lowering/index.js +1 -0
  318. package/vendor/dynamic-workflow/lowering/lower-hole.d.ts +16 -0
  319. package/vendor/dynamic-workflow/lowering/lower-hole.d.ts.map +1 -0
  320. package/vendor/dynamic-workflow/lowering/lower-hole.js +63 -0
  321. package/vendor/dynamic-workflow/lowering/lower.d.ts +82 -0
  322. package/vendor/dynamic-workflow/lowering/lower.d.ts.map +1 -0
  323. package/vendor/dynamic-workflow/lowering/lower.js +333 -0
  324. package/vendor/dynamic-workflow/projections.d.ts +26 -0
  325. package/vendor/dynamic-workflow/projections.d.ts.map +1 -0
  326. package/vendor/dynamic-workflow/projections.js +23 -0
  327. package/vendor/dynamic-workflow/schema/actor-submit-profiles.d.ts +49 -0
  328. package/vendor/dynamic-workflow/schema/actor-submit-profiles.d.ts.map +1 -0
  329. package/vendor/dynamic-workflow/schema/actor-submit-profiles.js +69 -0
  330. package/vendor/dynamic-workflow/schema/emit.d.ts +55 -0
  331. package/vendor/dynamic-workflow/schema/emit.d.ts.map +1 -0
  332. package/vendor/dynamic-workflow/schema/emit.js +325 -0
  333. package/vendor/dynamic-workflow/schema/jsdoc.d.ts +10 -0
  334. package/vendor/dynamic-workflow/schema/jsdoc.d.ts.map +1 -0
  335. package/vendor/dynamic-workflow/schema/jsdoc.js +83 -0
  336. package/vendor/dynamic-workflow/schema/serialize.d.ts +8 -0
  337. package/vendor/dynamic-workflow/schema/serialize.d.ts.map +1 -0
  338. package/vendor/dynamic-workflow/schema/serialize.js +20 -0
  339. package/vendor/dynamic-workflow/schema/synthesize.d.ts +48 -0
  340. package/vendor/dynamic-workflow/schema/synthesize.d.ts.map +1 -0
  341. package/vendor/dynamic-workflow/schema/synthesize.js +138 -0
  342. package/vendor/dynamic-workflow/schema/types.d.ts +67 -0
  343. package/vendor/dynamic-workflow/schema/types.d.ts.map +1 -0
  344. package/vendor/dynamic-workflow/schema/types.js +18 -0
  345. package/vendor/dynamic-workflow/schema/validate.d.ts +15 -0
  346. package/vendor/dynamic-workflow/schema/validate.d.ts.map +1 -0
  347. package/vendor/dynamic-workflow/schema/validate.js +213 -0
  348. package/vendor/dynamic-workflow/testing/index.d.ts +6 -0
  349. package/vendor/dynamic-workflow/testing/index.d.ts.map +1 -0
  350. package/vendor/dynamic-workflow/testing/index.js +5 -0
  351. package/vendor/dynamic-workflow/testing/journal-contract-artifacts.d.ts +9 -0
  352. package/vendor/dynamic-workflow/testing/journal-contract-artifacts.d.ts.map +1 -0
  353. package/vendor/dynamic-workflow/testing/journal-contract-artifacts.js +195 -0
  354. package/vendor/dynamic-workflow/testing/journal-contract-events.d.ts +9 -0
  355. package/vendor/dynamic-workflow/testing/journal-contract-events.d.ts.map +1 -0
  356. package/vendor/dynamic-workflow/testing/journal-contract-events.js +163 -0
  357. package/vendor/dynamic-workflow/testing/journal-contract-helpers.d.ts +9 -0
  358. package/vendor/dynamic-workflow/testing/journal-contract-helpers.d.ts.map +1 -0
  359. package/vendor/dynamic-workflow/testing/journal-contract-helpers.js +12 -0
  360. package/vendor/dynamic-workflow/testing/journal-contract-isolation.d.ts +9 -0
  361. package/vendor/dynamic-workflow/testing/journal-contract-isolation.d.ts.map +1 -0
  362. package/vendor/dynamic-workflow/testing/journal-contract-isolation.js +46 -0
  363. package/vendor/dynamic-workflow/testing/journal-contract-nodes.d.ts +9 -0
  364. package/vendor/dynamic-workflow/testing/journal-contract-nodes.d.ts.map +1 -0
  365. package/vendor/dynamic-workflow/testing/journal-contract-nodes.js +234 -0
  366. package/vendor/dynamic-workflow/testing/journal-contract-reads.d.ts +11 -0
  367. package/vendor/dynamic-workflow/testing/journal-contract-reads.d.ts.map +1 -0
  368. package/vendor/dynamic-workflow/testing/journal-contract-reads.js +281 -0
  369. package/vendor/dynamic-workflow/testing/journal-contract-runs.d.ts +9 -0
  370. package/vendor/dynamic-workflow/testing/journal-contract-runs.d.ts.map +1 -0
  371. package/vendor/dynamic-workflow/testing/journal-contract-runs.js +396 -0
  372. package/vendor/dynamic-workflow/testing/journal-contract-script.d.ts +12 -0
  373. package/vendor/dynamic-workflow/testing/journal-contract-script.d.ts.map +1 -0
  374. package/vendor/dynamic-workflow/testing/journal-contract-script.js +82 -0
  375. package/vendor/dynamic-workflow/testing/journal-contract.d.ts +15 -0
  376. package/vendor/dynamic-workflow/testing/journal-contract.d.ts.map +1 -0
  377. package/vendor/dynamic-workflow/testing/journal-contract.js +31 -0
  378. package/vendor/dynamic-workflow-runtime/child-cell-streams.js +128 -0
  379. package/vendor/dynamic-workflow-runtime/child-entry-file.js +43 -0
  380. package/vendor/dynamic-workflow-runtime/child-source.js +299 -0
  381. package/vendor/dynamic-workflow-runtime/harness.js +302 -0
  382. package/vendor/dynamic-workflow-runtime/index.js +4 -0
  383. package/vendor/dynamic-workflow-runtime/protocol.js +2 -0
  384. package/vendor/mcode-host/dynamic-workflow-import.js +269 -0
  385. package/vendor/mcode-host/workflow-git-world-read.js +183 -0
  386. package/vendor/mcode-host/workflow-world-read.js +282 -0
@@ -0,0 +1,282 @@
1
+ /**
2
+ * 自适应并发控制器:一个 provider key 上的纯 AIMD 状态机。
3
+ *
4
+ * 纯包纪律:不读时钟、不做 I/O——`now`(ms since epoch)一律由调用方传入;本类只回答
5
+ * 「cap 现在是多少、能不能准入、这次信号让 cap 变了没有」。谁喂信号、谁排队(bootstrap 的进程级
6
+ * 治理器)都在包外。
7
+ *
8
+ * 度量单位是**模型请求**(每一次尝试):`inFlight` = 已准入、尚未 release 的请求数。
9
+ * 没有 ask 级计数——一个子代理同时只有一个请求在飞,「≤ N 个请求」与「≤ N 个子代理在跑」等价。
10
+ *
11
+ * 批次阻尼靠 **epoch**:每次准入记下当时的 epoch,每次限流裁决 epoch += 1。一个 429 只在
12
+ * 它的请求是在**当前** cap 下发出(epoch 相同)时才评价当前 cap;旧 epoch 的 429 评价的是一个已被
13
+ * 砍掉的 cap,只清 streak、刷新 cooldown。成功同理:只有当前 epoch 的成功计入 streak。
14
+ *
15
+ * 信号方法都返回本次信号引起的 cap 变化列表(通常 0 或 1 条;空闲重置紧接着一次限流时会是 2 条),
16
+ * 调用方原样扇出成 `concurrency-changed` 事件。
17
+ */
18
+ /**
19
+ * 限流即 `cap = max(FLOOR, floor(cap × 0.75))`(系数从 0.5 改为 0.75):
20
+ * 减半对「只多了一两个」的越界反应过猛——闸门是请求级的,一次 429 说明 cap 高了,很少说明高了一倍。
21
+ */
22
+ export const CONCURRENCY_DECREASE_FACTOR = 0.75;
23
+ /** 加性递增步长。 */
24
+ export const CONCURRENCY_INCREASE_STEP = 1;
25
+ /**
26
+ * 每 +1 需要的连续成功模型请求数 K。只有一档。该值从 40 降到 4:
27
+ * 探测失败的代价只是一个请求撞一次 429 然后退回 `lastGood`(已证明可用的水位),不值得用 40 次
28
+ * 成功去换一次试探。
29
+ */
30
+ export const CONCURRENCY_INCREASE_AFTER_SUCCESSES = 4;
31
+ /** 永远至少有一个探针在跑。 */
32
+ export const CONCURRENCY_FLOOR = 1;
33
+ /** 某 key 空闲这么久(且无在飞)后遗忘学到的 cap,回起点 `initial`(决策 20)。 */
34
+ export const CONCURRENCY_IDLE_RESET_MS = 300_000;
35
+ export class ConcurrencyController {
36
+ key;
37
+ initial;
38
+ cap;
39
+ growthLimit_;
40
+ epoch = 0;
41
+ inFlight = 0;
42
+ waiters_ = 0;
43
+ successStreak = 0;
44
+ cooldownUntil;
45
+ lastRequestAt;
46
+ lastGood;
47
+ lastBad;
48
+ lastThrottledAt;
49
+ /**
50
+ * @param key provider key(`${providerId}/${modelId}`),只用于填进 change 事件——控制器自己
51
+ * 对它无感。放在构造参数而不是每次信号传入:一个控制器只服务一个 key,这是身份不是参数。
52
+ * @param initial 默认并发 D(docs/dynamic-workflow/concurrency.md「Two bounds on a run」):cap 的
53
+ * 起点,也是空闲重置的落点。它**不是**上界。
54
+ * @param growthLimit 自动增长的上界;缺省即 `initial`(只回落、不越过起点的旧行为)。治理器按
55
+ * `max(2D, 用过这个 key 的在飞 run 的最大上界)` 给出并随时经 {@link setGrowthLimit} 挪动。
56
+ */
57
+ constructor(key, initial, growthLimit = initial) {
58
+ this.key = key;
59
+ this.initial = initial;
60
+ this.cap = initial;
61
+ this.growthLimit_ = Math.max(initial, growthLimit);
62
+ }
63
+ snapshot() {
64
+ return {
65
+ key: this.key,
66
+ initial: this.initial,
67
+ growthLimit: this.growthLimit_,
68
+ cap: this.cap,
69
+ epoch: this.epoch,
70
+ inFlight: this.inFlight,
71
+ waiters: this.waiters_,
72
+ successStreak: this.successStreak,
73
+ ...(this.cooldownUntil === undefined ? {} : { cooldownUntil: this.cooldownUntil }),
74
+ ...(this.lastRequestAt === undefined ? {} : { lastRequestAt: this.lastRequestAt }),
75
+ ...(this.lastGood === undefined ? {} : { lastGood: this.lastGood }),
76
+ ...(this.lastBad === undefined ? {} : { lastBad: this.lastBad }),
77
+ ...(this.lastThrottledAt === undefined ? {} : { lastThrottledAt: this.lastThrottledAt }),
78
+ };
79
+ }
80
+ /**
81
+ * 闸门(准入条件):在飞请求数低于 cap 且不在 Retry-After 冷却中。纯查询,不做空闲重置——
82
+ * 调用方(治理器)在准入路径上先调 {@link observe}(准入也是一次「信号」,空闲一小时后的第一个
83
+ * run 要立刻从起点 `initial` 起步,决策 20)。
84
+ */
85
+ canAdmit(now) {
86
+ return (this.inFlight < this.cap && (this.cooldownUntil === undefined || now >= this.cooldownUntil));
87
+ }
88
+ /** 只做空闲重置检查的「空信号」(准入前、observer 放行前用)。 */
89
+ observe(now) {
90
+ return this.idleReset(now);
91
+ }
92
+ /**
93
+ * 一个请求被准入:`inFlight++`、刷新 `lastRequestAt`,返回它所属的 epoch(请求结束时带回来)。
94
+ * 不做空闲重置——调用方已在 {@link observe} 里做过;这里若再做,一个刚被 observe 判定「不空闲」
95
+ * 的准入不可能变成空闲。
96
+ */
97
+ admitted(now) {
98
+ this.lastRequestAt = now;
99
+ this.inFlight += 1;
100
+ return this.epoch;
101
+ }
102
+ /**
103
+ * 一个请求成功结束:`inFlight--`;只有**当前 epoch** 的成功使
104
+ * `successStreak++`——旧 epoch 的成功证明的是旧 cap 下退避压低后的负载,不是新 cap 可以更高。
105
+ * `successStreak ≥ K` 即**证明**当前 cap 可用:`lastGood = max(lastGood, cap)`(决策 40:只有
106
+ * 完成的 streak 能设 lastGood,减少 cap 不能)。再满足有等待者 **且** `cap < growthLimit` → +1。
107
+ * 无等待者时 streak 照累积但不兑现(决策 15)。
108
+ */
109
+ succeeded(now, epoch) {
110
+ const changes = this.idleReset(now);
111
+ this.inFlight = Math.max(0, this.inFlight - 1);
112
+ if (epoch !== this.epoch)
113
+ return changes;
114
+ this.successStreak += 1;
115
+ if (this.successStreak < CONCURRENCY_INCREASE_AFTER_SUCCESSES)
116
+ return changes;
117
+ // 这一级被一整段 streak 证明可用——不论此刻有没有人等着往上爬。
118
+ if (this.lastGood === undefined || this.cap > this.lastGood)
119
+ this.lastGood = this.cap;
120
+ if (this.waiters_ <= 0 || this.cap >= this.growthLimit_)
121
+ return changes;
122
+ const previous = this.cap;
123
+ this.cap = Math.min(this.growthLimit_, previous + CONCURRENCY_INCREASE_STEP);
124
+ this.successStreak = 0;
125
+ changes.push(this.change(previous, "recovered"));
126
+ return changes;
127
+ }
128
+ /**
129
+ * 被限流/过载。一律 `inFlight--`、清 streak、带 Retry-After 则把 cooldown
130
+ * 推到更晚者。
131
+ *
132
+ * 只有 `epoch === 当前 epoch` 的 429 才动 cap:它是在当前 cap 下发出的请求,是对当前 cap 的评价;
133
+ * 旧 epoch 的 429 忽略(不发事件)。当前 epoch 的分两档:在 `lastGood` **之上**探测被限流 → 退回
134
+ * `lastGood`(记 `lastBad`,不按系数减);否则(`lastGood` 缺席或 `cap ≤ lastGood`:墙下移了)→
135
+ * `cap = max(FLOOR, floor(cap × 0.75))`,记 `lastBad = 旧 cap`,并**清掉** `lastGood`——它刚被
136
+ * 证伪,而新 cap 还没被任何 streak 证明(减 cap 不设 lastGood)。两档之后 `epoch += 1`——
137
+ * 即便 cap 已在地板、数值没变,也翻一页:同一批请求只能触发一次裁决。
138
+ */
139
+ throttled(now, epoch, reason, retryAfterMs) {
140
+ const changes = this.idleReset(now);
141
+ this.inFlight = Math.max(0, this.inFlight - 1);
142
+ this.successStreak = 0;
143
+ // 旧 epoch 的拒绝同样记:它不评价当前 cap,却足以说明 provider 此刻就在墙上(起跳看它)。
144
+ this.lastThrottledAt = now;
145
+ const cooldownMs = retryAfterMs !== undefined && retryAfterMs > 0 ? retryAfterMs : undefined;
146
+ if (cooldownMs !== undefined) {
147
+ this.cooldownUntil = Math.max(this.cooldownUntil ?? 0, now + cooldownMs);
148
+ }
149
+ if (epoch !== this.epoch)
150
+ return changes;
151
+ const previous = this.cap;
152
+ if (this.lastGood !== undefined && this.cap > this.lastGood) {
153
+ this.lastBad = this.cap;
154
+ this.cap = this.lastGood;
155
+ }
156
+ else {
157
+ this.cap = Math.max(CONCURRENCY_FLOOR, Math.floor(this.cap * CONCURRENCY_DECREASE_FACTOR));
158
+ this.lastBad = previous;
159
+ this.lastGood = undefined;
160
+ }
161
+ this.epoch += 1;
162
+ // cap 已在地板且无 Retry-After 时确实什么都没变,不发事件;带 Retry-After 的限流即便 cap 不动
163
+ // 也要让 run 头知道「冷却至…」,所以带 cooldownMs 的一律发。
164
+ if (previous === this.cap && cooldownMs === undefined)
165
+ return changes;
166
+ changes.push(this.change(previous, reason, cooldownMs));
167
+ return changes;
168
+ }
169
+ /** 瞬态但非限流的失败(timeout / 5xx / 网络):`inFlight--`、清 streak,cap 不动。 */
170
+ failedTransient(now) {
171
+ const changes = this.idleReset(now);
172
+ this.inFlight = Math.max(0, this.inFlight - 1);
173
+ this.successStreak = 0;
174
+ return changes;
175
+ }
176
+ /** 一个请求以永久失败 / 取消终结,或 ticket 只见 release 没见终结事件:只做 `inFlight--`。 */
177
+ ended(now) {
178
+ const changes = this.idleReset(now);
179
+ this.inFlight = Math.max(0, this.inFlight - 1);
180
+ return changes;
181
+ }
182
+ /** 治理器在队列变化时喂入的等待者数(有需求才加 cap)。 */
183
+ waiters(now, count) {
184
+ const changes = this.idleReset(now);
185
+ this.waiters_ = Math.max(0, count);
186
+ return changes;
187
+ }
188
+ /**
189
+ * 挪动自动增长的上界(docs/dynamic-workflow/concurrency.md「Increase」)。这是控制器里唯一一个
190
+ * 不归它自己管的数:治理器按「2D 与用过这个 key 的在飞 run 的最大上界取大」算出来,run 来去、
191
+ * retune 都会让它变。恒夹到 ≥ initial。
192
+ *
193
+ * 抬高什么都不立刻改:cap 照旧一级一级爬。压低到 cap 之下则当场把 cap 拉到新上界并发一条
194
+ * `limit_lowered`——否则一个为大 run 学到的高 cap 会留给之后的默认 run 共用,直到空闲重置。
195
+ * 同时夹 `lastGood`、清 streak、翻 epoch:旧 cap 下发出的请求撞的 429 不是对新 cap 的裁决。
196
+ */
197
+ setGrowthLimit(now, limit) {
198
+ const changes = this.idleReset(now);
199
+ this.growthLimit_ = Math.max(this.initial, Math.floor(limit));
200
+ if (this.cap <= this.growthLimit_)
201
+ return changes;
202
+ const previous = this.cap;
203
+ this.cap = this.growthLimit_;
204
+ if (this.lastGood !== undefined && this.lastGood > this.cap)
205
+ this.lastGood = this.cap;
206
+ this.successStreak = 0;
207
+ this.epoch += 1;
208
+ changes.push(this.change(previous, "limit_lowered"));
209
+ return changes;
210
+ }
211
+ /**
212
+ * 起跳(docs/dynamic-workflow/concurrency.md「Seeding」):用户把一个 run 的上界调高时,治理器请
213
+ * cap 直接跳到 `min(target, growthLimit)`,而不是每 K 次成功爬一级——从 8 爬到 32 要约 96 次
214
+ * 成功,用户看到的是「设置没生效」。
215
+ *
216
+ * 清 `lastGood`:起跳点是新的起点,不是在已证明水位之上的探测;否则第一次 429 会一路退回旧的
217
+ * 已证明水位,而不是按系数减(32 → 24 → 18 …)。同时清 `lastBad`、清 streak、翻 epoch。
218
+ *
219
+ * 两种情况不跳:目标不高于 cap;五分钟内(空闲重置同一窗口)有过任何一次拒绝——那时起跳就是
220
+ * 明知故犯地对着刚撞过的墙再冲一波,cap 改为照常一级一级爬。
221
+ */
222
+ seed(now, target) {
223
+ const changes = this.idleReset(now);
224
+ const next = Math.min(this.growthLimit_, Math.floor(target));
225
+ if (next <= this.cap)
226
+ return changes;
227
+ if (this.lastThrottledAt !== undefined &&
228
+ now - this.lastThrottledAt < CONCURRENCY_IDLE_RESET_MS) {
229
+ return changes;
230
+ }
231
+ const previous = this.cap;
232
+ this.cap = next;
233
+ this.lastGood = undefined;
234
+ this.lastBad = undefined;
235
+ this.successStreak = 0;
236
+ this.epoch += 1;
237
+ changes.push(this.change(previous, "seeded"));
238
+ return changes;
239
+ }
240
+ // ——————————————————————————————— 内部 ———————————————————————————————
241
+ /**
242
+ * 空闲重置(决策 20):`now − lastRequestAt ≥ IDLE_RESET_MS` 且无在飞 → cap 回起点 `initial`,
243
+ * 清 streak / cooldown / lastGood / lastBad,epoch += 1。惰性发生在任一信号到达时(无定时器)。
244
+ */
245
+ idleReset(now) {
246
+ if (this.lastRequestAt === undefined ||
247
+ this.inFlight !== 0 ||
248
+ now - this.lastRequestAt < CONCURRENCY_IDLE_RESET_MS) {
249
+ return [];
250
+ }
251
+ const previous = this.cap;
252
+ // 幂等:已在起点且状态干净时什么都不做(否则每个空闲信号都翻一页 epoch)。
253
+ if (previous === this.initial &&
254
+ this.successStreak === 0 &&
255
+ this.cooldownUntil === undefined &&
256
+ this.lastGood === undefined &&
257
+ this.lastBad === undefined &&
258
+ this.lastThrottledAt === undefined) {
259
+ return [];
260
+ }
261
+ this.cap = this.initial;
262
+ this.successStreak = 0;
263
+ this.cooldownUntil = undefined;
264
+ this.lastGood = undefined;
265
+ this.lastBad = undefined;
266
+ this.lastThrottledAt = undefined;
267
+ this.epoch += 1;
268
+ // lastRequestAt 保留:下一次仍空闲的信号不该再「重置」一次;反正状态已在起点。
269
+ return previous === this.cap ? [] : [this.change(previous, "idle_reset")];
270
+ }
271
+ change(previous, reason, cooldownMs) {
272
+ return {
273
+ key: this.key,
274
+ previous,
275
+ next: this.cap,
276
+ reason,
277
+ ...(this.lastGood === undefined ? {} : { lastGood: this.lastGood }),
278
+ ...(this.lastBad === undefined ? {} : { lastBad: this.lastBad }),
279
+ ...(cooldownMs === undefined ? {} : { cooldownMs }),
280
+ };
281
+ }
282
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * 修复原因:engine-artifacts.ts 顶到 oxlint max-lines 上限(400 行)。拆出来的是一个完整的
3
+ * 概念——**交付物旗子**(`primary`):全 run 至多一个 id 带它(docs/dynamic-workflow/authoring.md
4
+ * 「Ids, tags and versions」),内容成员与预置成员两族各自的准入都要问同一组判据,所以它本就
5
+ * 该有自己的模块,而不是散在发布路径里。
6
+ *
7
+ * 三个函数都是**纯**的:只读 `state.artifacts`(由 journal 行派生,resume 后自然一致),
8
+ * 不落库、不发事件——调用方拿到判据之后自己决定是拒绝还是 failRun。
9
+ */
10
+ import type { EngineState } from "./engine-state.js";
11
+ import type { InstanceRef } from "./types.js";
12
+ /** 本 run 目前的 primary id(至多一个);没有则 undefined。从 `state.artifacts` 派生,resume 后自然一致。 */
13
+ export declare function primaryArtifactId(state: EngineState): string | undefined;
14
+ /** `id` 想当 primary 而**别的** id 已经是 ⇒ 返回那个 id;否则 undefined(不想当 / 就是它自己)。 */
15
+ export declare function primaryConflict(state: EngineState, id: string, primary: boolean): string | undefined;
16
+ export declare function primaryConflictMessage(id: string, holder: string, fix: string, instance: InstanceRef | undefined): string;
17
+ //# sourceMappingURL=engine-artifacts-primary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine-artifacts-primary.d.ts","sourceRoot":"","sources":["../../src/engine/engine-artifacts-primary.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAGxE;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAC7B,KAAK,EAAE,WAAW,EAClB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,GACf,MAAM,GAAG,SAAS,CAIpB;AAED,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,WAAW,GAAG,SAAS,GAChC,MAAM,CAMR"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * 修复原因:engine-artifacts.ts 顶到 oxlint max-lines 上限(400 行)。拆出来的是一个完整的
3
+ * 概念——**交付物旗子**(`primary`):全 run 至多一个 id 带它(docs/dynamic-workflow/authoring.md
4
+ * 「Ids, tags and versions」),内容成员与预置成员两族各自的准入都要问同一组判据,所以它本就
5
+ * 该有自己的模块,而不是散在发布路径里。
6
+ *
7
+ * 三个函数都是**纯**的:只读 `state.artifacts`(由 journal 行派生,resume 后自然一致),
8
+ * 不落库、不发事件——调用方拿到判据之后自己决定是拒绝还是 failRun。
9
+ */
10
+ import { refToString } from "./types.js";
11
+ /** 本 run 目前的 primary id(至多一个);没有则 undefined。从 `state.artifacts` 派生,resume 后自然一致。 */
12
+ export function primaryArtifactId(state) {
13
+ for (const [id, idState] of state.artifacts)
14
+ if (idState.primary)
15
+ return id;
16
+ return undefined;
17
+ }
18
+ /** `id` 想当 primary 而**别的** id 已经是 ⇒ 返回那个 id;否则 undefined(不想当 / 就是它自己)。 */
19
+ export function primaryConflict(state, id, primary) {
20
+ if (!primary)
21
+ return undefined;
22
+ const holder = primaryArtifactId(state);
23
+ return holder === undefined || holder === id ? undefined : holder;
24
+ }
25
+ export function primaryConflictMessage(id, holder, fix, instance) {
26
+ const where = instance === undefined ? "" : ` (at ${refToString(instance)})`;
27
+ return (`Cannot mark "${id}" as primary${where}: "${holder}" is already this run's primary artifact. ` +
28
+ `A run has one deliverable; ${fix}, or publish it as a new version of "${holder}".`);
29
+ }
@@ -0,0 +1,55 @@
1
+ /**
2
+ * engine.ts 顶到 oxlint max-lines 上限(400 行),把**用户面产物**(`artifact.*`)的
3
+ * 发布 / 声明 / 准入 / 结算 / resume 恢复拆到本文件;公开面仍从 engine.ts 导出。
4
+ *
5
+ * ⚠ 术语:以下一律指**用户面产物**(脚本发布给用户看的产出),不是 RunSettlement.artifact。
6
+ * 自由函数经 {@link EngineState} 接缝读写引擎状态;WorkflowEngine 上的同名方法只是薄委托。
7
+ */
8
+ import { type ArtifactContentOp, type ArtifactPresetOp } from "../facade/registry.js";
9
+ import type { EngineState } from "./engine-state.js";
10
+ import type { ArtifactRef } from "./types.js";
11
+ /**
12
+ * 发布一个**内容产物**(`artifact.file` / `artifact.markdown`)。效应族:经 driver 拷字节进
13
+ * store,成功兑现 {@link ArtifactRef},失败**可 catch 地拒绝**——脚本的门控习语是
14
+ * `try { await artifact.file(...) } catch { …让子代理补写… }`。
15
+ *
16
+ * 顺序:
17
+ * 1. `nextOrdinal` → journal 命中?命中即短路:比 inputHash,成功记录返回它的 ArtifactRef,
18
+ * **失败记录按记录重新拒绝**(resume 是崩溃恢复,不是复验:一次失败的发布在恢复后仍然
19
+ * 是那次失败,重跑它会让脚本的 catch 分支走两次不同的路)。命中一律**不重发事件**(同 report)。
20
+ * 2. 未命中:种类归属 → id 数上限 → 版本数上限,三条都是节点级拒绝(有 promise 可拒)。
21
+ * 3. 版本号在 dispatch **之前**算好并传给 driver(store 的 toolCallId 里要带它,每版一份字节)。
22
+ * 4. `putNode(running)` → driver → 成功 `putNode(completed)` + `artifact-published`;
23
+ * 失败 `putNode(failed)` + `artifact-failed` → reject。
24
+ *
25
+ * 两条路都**不发任何节点生命周期事件**(node-queued / dispatched / settled):产物站点在两张
26
+ * 图里都不是节点,一条 node-settled 落在这样的站点上会被投影归约进 `nodes[]`,在 run 面板里
27
+ * 变成一个无从解释的未知节点。
28
+ */
29
+ export declare function publishContentArtifact(state: EngineState, siteId: string, op: ArtifactContentOp, args: unknown[]): Promise<ArtifactRef>;
30
+ /**
31
+ * 声明一个**预置产物**(`artifact.chart` / `table` / `metrics` / `board`)。声明族:同步、
32
+ * 无返回值、**不经 driver**——一个声明没有可等的东西。
33
+ *
34
+ * 顺序:`nextOrdinal` → 命中即返回 → spec 形状校验
35
+ * → 同 id 既有声明?相同 canonical ⇒ 幂等 no-op(不落新行、不发事件);不同 ⇒ failRun
36
+ * → 上限 → `putNode(completed)` + `artifact-published`。
37
+ *
38
+ * 三种失败(spec 非法 / 同 id 异 spec / 超上限)全是 failRun 而不是拒绝:void 返回没有拒绝
39
+ * 通道,与 `report` 的两个上限同一条论证。
40
+ */
41
+ export declare function declarePresetArtifact(state: EngineState, siteId: string, op: ArtifactPresetOp, args: unknown[]): void;
42
+ /**
43
+ * resume 恢复:把 journal 里一行**已完成**的产物记录并进内存状态。
44
+ *
45
+ * **只有 completed 行才认领 id**:失败的发布不占 id、不占种类、不占版本。这不只是图简洁——
46
+ * 失败行的 `result` 是空的,种类无从恢复,若让 live 那一侧认领而 resume 那一侧认领不了,
47
+ * 同一个脚本在崩溃前后就会得到两套上限账。种类冲突另有编译期诊断把守,运行期这条
48
+ * (`ArtifactKindMismatch`)管的是真正发布成功过的那些 id。
49
+ */
50
+ export declare function rememberArtifactRow(state: EngineState, id: string | undefined, result: unknown): void;
51
+ /** 该 id 是否已被声明为**预置**产物(`report` 标签的合法目标)。 */
52
+ export declare function isDeclaredPreset(state: EngineState, id: string): boolean;
53
+ /** 已声明的预置 id(字典序)——只用于把 `ArtifactUndeclared` 的消息写得能照做。 */
54
+ export declare function declaredPresetIds(state: EngineState): string[];
55
+ //# sourceMappingURL=engine-artifacts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine-artifacts.d.ts","sourceRoot":"","sources":["../../src/engine/engine-artifacts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAS/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAEV,WAAW,EAGZ,MAAM,YAAY,CAAC;AAGpB;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,iBAAiB,EACrB,IAAI,EAAE,OAAO,EAAE,GACd,OAAO,CAAC,WAAW,CAAC,CAqItB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,gBAAgB,EACpB,IAAI,EAAE,OAAO,EAAE,GACd,IAAI,CA0GN;AA2ID;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,WAAW,EAClB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,MAAM,EAAE,OAAO,GACd,IAAI,CAaN;AAED,8CAA8C;AAC9C,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAGxE;AAED,0DAA0D;AAC1D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,EAAE,CAK9D"}