@haibun/core 4.0.0-alpha.2 → 4.0.0-alpha.3

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 (297) hide show
  1. package/build/currentVersion.d.ts +1 -1
  2. package/build/currentVersion.js +1 -1
  3. package/build/index.d.ts +1 -1
  4. package/build/index.d.ts.map +1 -1
  5. package/build/index.js +1 -1
  6. package/build/index.js.map +1 -1
  7. package/build/kireji/converter.d.ts +2 -2
  8. package/build/kireji/converter.d.ts.map +1 -1
  9. package/build/kireji/converter.js +12 -9
  10. package/build/kireji/converter.js.map +1 -1
  11. package/build/kireji/withAction.d.ts +16 -4
  12. package/build/kireji/withAction.d.ts.map +1 -1
  13. package/build/kireji/withAction.js +40 -11
  14. package/build/kireji/withAction.js.map +1 -1
  15. package/build/lib/EventLogger.d.ts +5 -5
  16. package/build/lib/EventLogger.d.ts.map +1 -1
  17. package/build/lib/EventLogger.js +39 -37
  18. package/build/lib/EventLogger.js.map +1 -1
  19. package/build/lib/PhaseRunner.d.ts +3 -3
  20. package/build/lib/PhaseRunner.d.ts.map +1 -1
  21. package/build/lib/PhaseRunner.js +7 -5
  22. package/build/lib/PhaseRunner.js.map +1 -1
  23. package/build/lib/astepper.d.ts +90 -13
  24. package/build/lib/astepper.d.ts.map +1 -1
  25. package/build/lib/astepper.js +35 -6
  26. package/build/lib/astepper.js.map +1 -1
  27. package/build/lib/base-prompt-manager.d.ts +1 -1
  28. package/build/lib/base-prompt-manager.d.ts.map +1 -1
  29. package/build/lib/base-prompt-manager.js.map +1 -1
  30. package/build/lib/capture-locator.d.ts +1 -1
  31. package/build/lib/capture-locator.d.ts.map +1 -1
  32. package/build/lib/capture-locator.js +5 -5
  33. package/build/lib/capture-locator.js.map +1 -1
  34. package/build/lib/core/flow-runner.d.ts +8 -7
  35. package/build/lib/core/flow-runner.d.ts.map +1 -1
  36. package/build/lib/core/flow-runner.js +42 -71
  37. package/build/lib/core/flow-runner.js.map +1 -1
  38. package/build/lib/core-domains.d.ts +2 -2
  39. package/build/lib/core-domains.d.ts.map +1 -1
  40. package/build/lib/core-domains.js +17 -18
  41. package/build/lib/core-domains.js.map +1 -1
  42. package/build/lib/defs.d.ts +2 -13
  43. package/build/lib/defs.d.ts.map +1 -1
  44. package/build/lib/defs.js.map +1 -1
  45. package/build/lib/document-content.d.ts +18 -0
  46. package/build/lib/document-content.d.ts.map +1 -0
  47. package/build/lib/document-content.js +158 -0
  48. package/build/lib/document-content.js.map +1 -0
  49. package/build/lib/domains.d.ts +31 -0
  50. package/build/lib/domains.d.ts.map +1 -0
  51. package/build/lib/domains.js +105 -0
  52. package/build/lib/domains.js.map +1 -0
  53. package/build/lib/execution.d.ts +304 -0
  54. package/build/lib/execution.d.ts.map +1 -0
  55. package/build/lib/execution.js +23 -0
  56. package/build/lib/execution.js.map +1 -0
  57. package/build/lib/feature-variables.d.ts +21 -50
  58. package/build/lib/feature-variables.d.ts.map +1 -1
  59. package/build/lib/feature-variables.js +122 -232
  60. package/build/lib/feature-variables.js.map +1 -1
  61. package/build/lib/features.d.ts +2 -2
  62. package/build/lib/features.d.ts.map +1 -1
  63. package/build/lib/features.js +13 -17
  64. package/build/lib/features.js.map +1 -1
  65. package/build/lib/fixme.d.ts.map +1 -1
  66. package/build/lib/host-id.d.ts +44 -0
  67. package/build/lib/host-id.d.ts.map +1 -0
  68. package/build/lib/host-id.js +51 -0
  69. package/build/lib/host-id.js.map +1 -0
  70. package/build/lib/http-observations.d.ts +15 -2
  71. package/build/lib/http-observations.d.ts.map +1 -1
  72. package/build/lib/http-observations.js +40 -23
  73. package/build/lib/http-observations.js.map +1 -1
  74. package/build/lib/hypermedia.d.ts +62 -0
  75. package/build/lib/hypermedia.d.ts.map +1 -0
  76. package/build/lib/hypermedia.js +228 -0
  77. package/build/lib/hypermedia.js.map +1 -0
  78. package/build/lib/namedVars.d.ts +2 -2
  79. package/build/lib/namedVars.d.ts.map +1 -1
  80. package/build/lib/namedVars.js +25 -30
  81. package/build/lib/namedVars.js.map +1 -1
  82. package/build/lib/node-http-events.d.ts +3 -3
  83. package/build/lib/node-http-events.d.ts.map +1 -1
  84. package/build/lib/node-http-events.js +26 -26
  85. package/build/lib/node-http-events.js.map +1 -1
  86. package/build/lib/populateActionArgs.d.ts +4 -4
  87. package/build/lib/populateActionArgs.d.ts.map +1 -1
  88. package/build/lib/populateActionArgs.js +4 -6
  89. package/build/lib/populateActionArgs.js.map +1 -1
  90. package/build/lib/prompter.d.ts.map +1 -1
  91. package/build/lib/prompter.js +10 -7
  92. package/build/lib/prompter.js.map +1 -1
  93. package/build/lib/quad-store.d.ts +34 -10
  94. package/build/lib/quad-store.d.ts.map +1 -1
  95. package/build/lib/quad-store.js +169 -21
  96. package/build/lib/quad-store.js.map +1 -1
  97. package/build/lib/quad-types.d.ts +80 -9
  98. package/build/lib/quad-types.d.ts.map +1 -1
  99. package/build/lib/quad-types.js +46 -2
  100. package/build/lib/quad-types.js.map +1 -1
  101. package/build/lib/readline-prompter.d.ts +1 -1
  102. package/build/lib/readline-prompter.js +4 -4
  103. package/build/lib/remote-stepper-proxy.d.ts +56 -0
  104. package/build/lib/remote-stepper-proxy.d.ts.map +1 -0
  105. package/build/lib/remote-stepper-proxy.js +123 -0
  106. package/build/lib/remote-stepper-proxy.js.map +1 -0
  107. package/build/lib/resolver-features.d.ts +1 -1
  108. package/build/lib/resolver-features.d.ts.map +1 -1
  109. package/build/lib/resolver-features.js +2 -2
  110. package/build/lib/resolver-features.js.map +1 -1
  111. package/build/lib/resources.d.ts +461 -0
  112. package/build/lib/resources.d.ts.map +1 -0
  113. package/build/lib/resources.js +249 -0
  114. package/build/lib/resources.js.map +1 -0
  115. package/build/lib/rpc-client.d.ts +68 -0
  116. package/build/lib/rpc-client.d.ts.map +1 -0
  117. package/build/lib/rpc-client.js +186 -0
  118. package/build/lib/rpc-client.js.map +1 -0
  119. package/build/lib/sse-subscriber.d.ts +57 -0
  120. package/build/lib/sse-subscriber.d.ts.map +1 -0
  121. package/build/lib/sse-subscriber.js +110 -0
  122. package/build/lib/sse-subscriber.js.map +1 -0
  123. package/build/lib/step-dispatch.d.ts +92 -28
  124. package/build/lib/step-dispatch.d.ts.map +1 -1
  125. package/build/lib/step-dispatch.js +331 -75
  126. package/build/lib/step-dispatch.js.map +1 -1
  127. package/build/lib/step-validation.d.ts +3 -3
  128. package/build/lib/step-validation.d.ts.map +1 -1
  129. package/build/lib/step-validation.js +2 -2
  130. package/build/lib/step-validation.js.map +1 -1
  131. package/build/lib/stepper-cycles.d.ts +5 -0
  132. package/build/lib/stepper-cycles.d.ts.map +1 -0
  133. package/build/lib/stepper-cycles.js +31 -0
  134. package/build/lib/stepper-cycles.js.map +1 -0
  135. package/build/lib/stepper-registry.d.ts +6 -3
  136. package/build/lib/stepper-registry.d.ts.map +1 -1
  137. package/build/lib/stepper-registry.js +9 -8
  138. package/build/lib/stepper-registry.js.map +1 -1
  139. package/build/lib/subprocess-runner.d.ts +35 -0
  140. package/build/lib/subprocess-runner.d.ts.map +1 -0
  141. package/build/lib/subprocess-runner.js +60 -0
  142. package/build/lib/subprocess-runner.js.map +1 -0
  143. package/build/lib/subprocess-transport.d.ts +37 -0
  144. package/build/lib/subprocess-transport.d.ts.map +1 -0
  145. package/build/lib/subprocess-transport.js +113 -0
  146. package/build/lib/subprocess-transport.js.map +1 -0
  147. package/build/lib/test/EventCollectorStepper.d.ts +3 -3
  148. package/build/lib/test/EventCollectorStepper.d.ts.map +1 -1
  149. package/build/lib/test/EventCollectorStepper.js +3 -3
  150. package/build/lib/test/EventCollectorStepper.js.map +1 -1
  151. package/build/lib/test/SetTimeStepper.d.ts +3 -3
  152. package/build/lib/test/SetTimeStepper.d.ts.map +1 -1
  153. package/build/lib/test/SetTimeStepper.js +7 -7
  154. package/build/lib/test/SetTimeStepper.js.map +1 -1
  155. package/build/lib/test/TestSteps.d.ts +7 -7
  156. package/build/lib/test/TestSteps.d.ts.map +1 -1
  157. package/build/lib/test/TestSteps.js +7 -7
  158. package/build/lib/test/TestSteps.js.map +1 -1
  159. package/build/lib/test/TestStepsWithOptions.d.ts +6 -6
  160. package/build/lib/test/TestStepsWithOptions.js +7 -7
  161. package/build/lib/test/lib.d.ts +3 -3
  162. package/build/lib/test/lib.d.ts.map +1 -1
  163. package/build/lib/test/lib.js +27 -21
  164. package/build/lib/test/lib.js.map +1 -1
  165. package/build/lib/test/resolvedTestFeatures.d.ts +6 -6
  166. package/build/lib/test/resolvedTestFeatures.d.ts.map +1 -1
  167. package/build/lib/test/resolvedTestFeatures.js +5 -5
  168. package/build/lib/test/subprocess-fixture.d.ts +8 -0
  169. package/build/lib/test/subprocess-fixture.d.ts.map +1 -0
  170. package/build/lib/test/subprocess-fixture.js +27 -0
  171. package/build/lib/test/subprocess-fixture.js.map +1 -0
  172. package/build/lib/ttag.d.ts +7 -1
  173. package/build/lib/ttag.d.ts.map +1 -1
  174. package/build/lib/ttag.js +5 -4
  175. package/build/lib/ttag.js.map +1 -1
  176. package/build/lib/util/dot-path.d.ts +2 -2
  177. package/build/lib/util/dot-path.d.ts.map +1 -1
  178. package/build/lib/util/dot-path.js +8 -7
  179. package/build/lib/util/dot-path.js.map +1 -1
  180. package/build/lib/util/index.d.ts +10 -24
  181. package/build/lib/util/index.d.ts.map +1 -1
  182. package/build/lib/util/index.js +43 -93
  183. package/build/lib/util/index.js.map +1 -1
  184. package/build/lib/util/node/actualURI.d.ts +4 -0
  185. package/build/lib/util/node/actualURI.d.ts.map +1 -0
  186. package/build/lib/util/node/actualURI.js +10 -0
  187. package/build/lib/util/node/actualURI.js.map +1 -0
  188. package/build/lib/util/node/module-loader.d.ts +14 -0
  189. package/build/lib/util/node/module-loader.d.ts.map +1 -0
  190. package/build/lib/util/node/module-loader.js +51 -0
  191. package/build/lib/util/node/module-loader.js.map +1 -0
  192. package/build/lib/util/node/workspace-lib.d.ts +15 -0
  193. package/build/lib/util/node/workspace-lib.d.ts.map +1 -0
  194. package/build/lib/util/node/workspace-lib.js +119 -0
  195. package/build/lib/util/node/workspace-lib.js.map +1 -0
  196. package/build/lib/util/secret-utils.d.ts.map +1 -1
  197. package/build/lib/util/secret-utils.js +2 -2
  198. package/build/lib/util/secret-utils.js.map +1 -1
  199. package/build/lib/vertex-crud.d.ts +22 -0
  200. package/build/lib/vertex-crud.d.ts.map +1 -0
  201. package/build/lib/vertex-crud.js +73 -0
  202. package/build/lib/vertex-crud.js.map +1 -0
  203. package/build/lib/workspace-discovery.d.ts +1 -1
  204. package/build/lib/workspace-discovery.d.ts.map +1 -1
  205. package/build/lib/workspace-discovery.js +10 -10
  206. package/build/lib/workspace-discovery.js.map +1 -1
  207. package/build/lib/zcap-like-authority.d.ts +38 -0
  208. package/build/lib/zcap-like-authority.d.ts.map +1 -0
  209. package/build/lib/zcap-like-authority.js +56 -0
  210. package/build/lib/zcap-like-authority.js.map +1 -0
  211. package/build/monitor/index.d.ts +1 -1
  212. package/build/monitor/index.d.ts.map +1 -1
  213. package/build/monitor/index.js +1 -1
  214. package/build/monitor/index.js.map +1 -1
  215. package/build/phases/Executor.d.ts +31 -7
  216. package/build/phases/Executor.d.ts.map +1 -1
  217. package/build/phases/Executor.js +201 -219
  218. package/build/phases/Executor.js.map +1 -1
  219. package/build/phases/Resolver.d.ts +2 -2
  220. package/build/phases/Resolver.d.ts.map +1 -1
  221. package/build/phases/Resolver.js +35 -30
  222. package/build/phases/Resolver.js.map +1 -1
  223. package/build/phases/collector.d.ts +3 -3
  224. package/build/phases/collector.d.ts.map +1 -1
  225. package/build/phases/collector.js +19 -17
  226. package/build/phases/collector.js.map +1 -1
  227. package/build/run-policy/run-policy-schema.d.ts +3 -5
  228. package/build/run-policy/run-policy-schema.d.ts.map +1 -1
  229. package/build/run-policy/run-policy-schema.js +41 -37
  230. package/build/run-policy/run-policy-schema.js.map +1 -1
  231. package/build/run-policy/run-policy-types.d.ts +1 -1
  232. package/build/run-policy/run-policy-types.d.ts.map +1 -1
  233. package/build/run-policy/run-policy-types.js +19 -16
  234. package/build/run-policy/run-policy-types.js.map +1 -1
  235. package/build/runner.d.ts +4 -4
  236. package/build/runner.d.ts.map +1 -1
  237. package/build/runner.js +15 -13
  238. package/build/runner.js.map +1 -1
  239. package/build/schema/protocol.d.ts +153 -61
  240. package/build/schema/protocol.d.ts.map +1 -1
  241. package/build/schema/protocol.js +177 -148
  242. package/build/schema/protocol.js.map +1 -1
  243. package/build/steps/activities-stepper.d.ts +13 -13
  244. package/build/steps/activities-stepper.d.ts.map +1 -1
  245. package/build/steps/activities-stepper.js +105 -79
  246. package/build/steps/activities-stepper.js.map +1 -1
  247. package/build/steps/conformance.d.ts +5 -5
  248. package/build/steps/conformance.js +4 -4
  249. package/build/steps/console-monitor-stepper.d.ts +2 -2
  250. package/build/steps/console-monitor-stepper.d.ts.map +1 -1
  251. package/build/steps/console-monitor-stepper.js +22 -22
  252. package/build/steps/console-monitor-stepper.js.map +1 -1
  253. package/build/steps/debugger-stepper.d.ts +11 -11
  254. package/build/steps/debugger-stepper.d.ts.map +1 -1
  255. package/build/steps/debugger-stepper.js +65 -64
  256. package/build/steps/debugger-stepper.js.map +1 -1
  257. package/build/steps/finalizer-stepper.d.ts +3 -4
  258. package/build/steps/finalizer-stepper.d.ts.map +1 -1
  259. package/build/steps/finalizer-stepper.js +16 -19
  260. package/build/steps/finalizer-stepper.js.map +1 -1
  261. package/build/steps/haibun.d.ts +27 -20
  262. package/build/steps/haibun.d.ts.map +1 -1
  263. package/build/steps/haibun.js +76 -67
  264. package/build/steps/haibun.js.map +1 -1
  265. package/build/steps/lib/tts.d.ts +1 -1
  266. package/build/steps/lib/tts.d.ts.map +1 -1
  267. package/build/steps/lib/tts.js +28 -28
  268. package/build/steps/lib/tts.js.map +1 -1
  269. package/build/steps/logic-stepper.d.ts +5 -5
  270. package/build/steps/logic-stepper.d.ts.map +1 -1
  271. package/build/steps/logic-stepper.js +76 -76
  272. package/build/steps/logic-stepper.js.map +1 -1
  273. package/build/steps/narrator.d.ts +9 -9
  274. package/build/steps/narrator.d.ts.map +1 -1
  275. package/build/steps/narrator.js +32 -28
  276. package/build/steps/narrator.js.map +1 -1
  277. package/build/steps/resources-stepper.d.ts +47 -0
  278. package/build/steps/resources-stepper.d.ts.map +1 -0
  279. package/build/steps/resources-stepper.js +100 -0
  280. package/build/steps/resources-stepper.js.map +1 -0
  281. package/build/steps/variables-stepper.d.ts +57 -57
  282. package/build/steps/variables-stepper.d.ts.map +1 -1
  283. package/build/steps/variables-stepper.js +252 -224
  284. package/build/steps/variables-stepper.js.map +1 -1
  285. package/build/steps/zcap-like-stepper.d.ts +50 -0
  286. package/build/steps/zcap-like-stepper.d.ts.map +1 -0
  287. package/build/steps/zcap-like-stepper.js +113 -0
  288. package/build/steps/zcap-like-stepper.js.map +1 -0
  289. package/package.json +1 -1
  290. package/build/lib/consts.d.ts +0 -5
  291. package/build/lib/consts.d.ts.map +0 -1
  292. package/build/lib/consts.js +0 -5
  293. package/build/lib/consts.js.map +0 -1
  294. package/build/lib/step-helpers.d.ts +0 -10
  295. package/build/lib/step-helpers.d.ts.map +0 -1
  296. package/build/lib/step-helpers.js +0 -16
  297. package/build/lib/step-helpers.js.map +0 -1
@@ -1,50 +1,108 @@
1
- import { z } from 'zod';
2
- import { namedInterpolation, mapInputToStepValues } from './namedVars.js';
3
- import { constructorName } from './util/index.js';
4
- import { DOMAIN_STRING, normalizeDomainKey } from './domain-types.js';
5
- import { StepperRegistry } from './stepper-registry.js';
1
+ import { z } from "zod";
2
+ import { buildConcernCatalog } from "./hypermedia.js";
3
+ import { TRACE_SEQ_PATH, Timer, FEATURE_START, SCENARIO_START, DispatchTraceArtifact } from "../schema/protocol.js";
4
+ import { namedInterpolation, mapInputToStepValues } from "./namedVars.js";
5
+ import { constructorName, actionNotOK } from "./util/index.js";
6
+ import { populateActionArgs } from "./populateActionArgs.js";
7
+ import { DOMAIN_STRING, normalizeDomainKey } from "./domains.js";
8
+ import { StepperRegistry } from "./stepper-registry.js";
9
+ import { doStepperCycle } from "./stepper-cycles.js";
10
+ /**
11
+ * Live-refreshable step registry. Single source of truth for all transports (SSE, MCP, subprocess).
12
+ * Call refresh() to rebuild in-place when steppers change without restarting.
13
+ */
14
+ export class StepRegistry {
15
+ tools = new Map();
16
+ /** Names injected via set() — survive refresh() so transports (RemoteStepperProxy, subprocess) register once and stay live across per-feature rebuilds. */
17
+ injectedNames = new Set();
18
+ constructor(steppers, world) {
19
+ this.refresh(steppers, world);
20
+ }
21
+ /** Rebuild stepper-owned entries in-place. Externally-injected tools (via set()) are preserved. */
22
+ refresh(steppers, world) {
23
+ const next = buildStepRegistry(steppers, world);
24
+ for (const name of this.injectedNames) {
25
+ const existing = this.tools.get(name);
26
+ if (existing)
27
+ next.set(name, existing);
28
+ }
29
+ this.tools = next;
30
+ }
31
+ get(name) {
32
+ return this.tools.get(name);
33
+ }
34
+ list() {
35
+ return Array.from(this.tools.values());
36
+ }
37
+ get size() {
38
+ return this.tools.size;
39
+ }
40
+ has(name) {
41
+ return this.tools.has(name);
42
+ }
43
+ /** Inject or overwrite a single tool (used by transports to register remote/child steps). Survives refresh(). */
44
+ set(tool) {
45
+ this.tools.set(tool.name, tool);
46
+ this.injectedNames.add(tool.name);
47
+ }
48
+ /** Remove an injected tool. Used by transport detach(). */
49
+ unset(name) {
50
+ this.tools.delete(name);
51
+ this.injectedNames.delete(name);
52
+ }
53
+ }
54
+ /** Registry key for a step routed at a specific hostId: `${hostId}:${method}`. */
55
+ export function hostScopedMethodName(hostId, bareMethod) {
56
+ return `${hostId}:${bareMethod}`;
57
+ }
6
58
  /**
7
59
  * Build a registry of step tools from the given steppers.
8
60
  * Each key is `${stepperName}-${stepName}` (e.g. `MuskegStepper-getTypes`).
9
- * Steps with `expose: false` are excluded.
10
- *
11
- * Used by MCP, SSE, and any future transport.
61
+ * All steps are included. MCP filters `exposeMCP: false` separately.
12
62
  */
13
63
  export function buildStepRegistry(steppers, world) {
14
64
  const registry = new Map();
15
65
  for (const stepper of steppers) {
16
66
  const stepperName = constructorName(stepper);
17
67
  for (const [stepName, stepDef] of Object.entries(stepper.steps)) {
18
- if (stepDef.expose === false)
19
- continue;
20
- const { inputSchema, paramSchemas } = buildInputSchema(stepDef, world);
21
- const name = stepMethodName(stepperName, stepName);
22
- let outputSchema;
23
- if (stepDef.outputSchema) {
24
- try {
25
- outputSchema = z.toJSONSchema(stepDef.outputSchema);
26
- }
27
- catch { /* skip if schema can't be converted */ }
28
- }
29
- registry.set(name, {
30
- name,
31
- description: stepDef.gwta || stepName,
32
- inputSchema,
33
- paramSchemas,
34
- outputSchema,
35
- stepperName,
36
- stepName,
37
- handler: createStepHandler(stepperName, stepName, stepDef),
38
- });
68
+ const tool = createStepTool(stepperName, stepName, stepDef, world);
69
+ registry.set(tool.name, tool);
39
70
  }
40
71
  }
41
72
  return registry;
42
73
  }
74
+ export function createStepTool(stepperName, stepName, stepDef, world) {
75
+ const { inputSchema, paramSchemas, paramDomainKeys } = buildInputSchema(stepDef, world);
76
+ const name = stepMethodName(stepperName, stepName);
77
+ let outputSchema;
78
+ if (stepDef.outputSchema) {
79
+ try {
80
+ outputSchema = z.toJSONSchema(stepDef.outputSchema);
81
+ }
82
+ catch {
83
+ /* skip if schema can't be converted */
84
+ }
85
+ }
86
+ return {
87
+ name,
88
+ description: stepDef.gwta || stepName,
89
+ inputSchema,
90
+ paramSchemas,
91
+ paramDomainKeys,
92
+ outputSchema,
93
+ stepperName,
94
+ stepName,
95
+ capability: stepDef.capability,
96
+ isAsync: stepDef.action.constructor.name === "AsyncFunction",
97
+ handler: createStepHandler(stepperName, stepName, stepDef),
98
+ };
99
+ }
43
100
  /**
44
- * Validate input against a step tool's Zod schemas.
45
- * Returns validated (parsed) input on success, throws with descriptive errors on failure.
101
+ * Validate input against a step tool's Zod schemas, then apply domain.coerce() if available.
102
+ * Returns validated (and coerced) input on success, throws with descriptive errors on failure.
103
+ * Pass world to enable domain coercion (aligns RPC dispatch with feature-file execution).
46
104
  */
47
- export function validateToolInput(tool, input) {
105
+ export function validateToolInput(tool, input, world) {
48
106
  const validated = { ...input };
49
107
  const errors = [];
50
108
  const required = tool.inputSchema.required || [];
@@ -58,16 +116,29 @@ export function validateToolInput(tool, input) {
58
116
  if (schema) {
59
117
  const result = schema.safeParse(value);
60
118
  if (result.success) {
61
- validated[key] = result.data;
119
+ // Apply domain.coerce() after Zod validation if world is provided
120
+ if (world) {
121
+ const domainKey = tool.paramDomainKeys.get(key);
122
+ const domain = domainKey ? world.domains?.[domainKey] : undefined;
123
+ if (domain?.coerce) {
124
+ validated[key] = domain.coerce({ value: result.data, domain: domainKey || "", term: key, origin: "defined" });
125
+ }
126
+ else {
127
+ validated[key] = result.data;
128
+ }
129
+ }
130
+ else {
131
+ validated[key] = result.data;
132
+ }
62
133
  }
63
134
  else {
64
- const issues = result.error.issues.map(i => i.path.length ? `${i.path.join('.')}: ${i.message}` : i.message).join('; ');
135
+ const issues = result.error.issues.map((i) => (i.path.length ? `${i.path.join(".")}: ${i.message}` : i.message)).join("; ");
65
136
  errors.push(`"${key}": ${issues}`);
66
137
  }
67
138
  }
68
139
  }
69
140
  if (errors.length) {
70
- throw new Error(`${tool.name} validation failed: ${errors.join(', ')}`);
141
+ throw new Error(`${tool.name} validation failed: ${errors.join(", ")}`);
71
142
  }
72
143
  return validated;
73
144
  }
@@ -78,44 +149,183 @@ export function validateToolInput(tool, input) {
78
149
  * Accepts either a stepper class/instance or a stepper name string.
79
150
  */
80
151
  export function stepMethodName(stepperOrName, stepName) {
81
- const name = typeof stepperOrName === 'string'
152
+ const name = typeof stepperOrName === "string"
82
153
  ? stepperOrName
83
- : ('steps' in stepperOrName ? constructorName(stepperOrName) : stepperOrName.name);
154
+ : "steps" in stepperOrName
155
+ ? constructorName(stepperOrName)
156
+ : stepperOrName.name;
84
157
  return `${name}-${stepName}`;
85
158
  }
86
159
  /**
87
- * Create a handler that calls the step action directly with validated input.
88
- * RPC transports validate input via validateToolInput() then call this handler.
89
- * The action receives typed values directly — no string round-tripping through
90
- * mapInputToStepValues/resolveVariable. A minimal featureStep is provided for provenance.
160
+ * Create a handler that populates args from featureStep.action.stepValuesMap,
161
+ * calls stepDef.action, and returns TActionResult.
162
+ *
163
+ * All callers (feature loop, FlowRunner, RPC, MCP, subprocess) use the same signature.
164
+ * External transports build a synthetic featureStep before calling.
91
165
  */
92
166
  export function createStepHandler(stepperName, stepName, stepDef) {
93
- return async (input) => {
94
- const featureStep = {
95
- in: stepDef.gwta || '',
96
- action: {
97
- stepperName,
98
- actionName: stepName,
99
- step: stepDef,
100
- stepValuesMap: mapInputToStepValues(input, stepDef.gwta || ''),
101
- },
102
- seqPath: [0],
103
- source: { path: 'step-dispatch' },
104
- };
167
+ return async (featureStep, world) => {
105
168
  try {
106
- const actionResult = await stepDef.action(input, featureStep);
107
- if (actionResult.ok) {
108
- const products = 'products' in actionResult ? actionResult.products : {};
109
- return { ok: true, products: products || {} };
169
+ const args = await populateActionArgs(featureStep, world, world.runtime.steppers);
170
+ const result = await stepDef.action(args, featureStep);
171
+ if (result.ok && result.products) {
172
+ return { ...result, products: { ...result.products, [TRACE_SEQ_PATH]: featureStep.seqPath } };
110
173
  }
111
- return { ok: false, error: actionResult.message || 'Step failed' };
174
+ return result;
112
175
  }
113
176
  catch (caught) {
114
177
  const err = caught instanceof Error ? caught : new Error(String(caught));
115
- return { ok: false, error: `${stepperName}-${stepName}: ${err.message}` };
178
+ return actionNotOK(`${stepperName}-${stepName}: ${err.message}`);
116
179
  }
117
180
  };
118
181
  }
182
+ /**
183
+ * Build a synthetic featureStep from raw RPC input params.
184
+ * Used by external transports (SSE, MCP, subprocess) that don't have a real featureStep.
185
+ */
186
+ export function buildSyntheticFeatureStep(tool, input, seqPath) {
187
+ return {
188
+ in: tool.description,
189
+ action: {
190
+ stepperName: tool.stepperName,
191
+ actionName: tool.stepName,
192
+ step: { gwta: tool.description, action: () => actionNotOK("synthetic step — dispatch through handler") },
193
+ stepValuesMap: mapInputToStepValues(input, tool.description),
194
+ },
195
+ seqPath,
196
+ source: { path: "rpc" },
197
+ };
198
+ }
199
+ const MAX_DISPATCH_SEQPATH = 50;
200
+ /**
201
+ * Unified step dispatch. Every step invocation — feature execution, FlowRunner,
202
+ * RPC, MCP, subprocess — enters through here. Applies capability auth, lifecycle
203
+ * cycles (beforeStep/afterStep), event logging, and result tracking uniformly.
204
+ */
205
+ export async function dispatchStep(ctx, featureStep) {
206
+ const { registry, world, steppers, grantedCapability } = ctx;
207
+ const { action } = featureStep;
208
+ const start = Timer.since();
209
+ if (!world.runtime.observations)
210
+ world.runtime.observations = new Map();
211
+ if (!world.runtime.stepResults)
212
+ world.runtime.stepResults = [];
213
+ const pushAndReturn = (result) => {
214
+ world.runtime.stepResults.push(result);
215
+ return result;
216
+ };
217
+ if (world.runtime.exhaustionError) {
218
+ return pushAndReturn(stepResultFromActionResult(actionNotOK(`Execution halted: ${world.runtime.exhaustionError}`), action, start, Timer.since(), featureStep, false));
219
+ }
220
+ if (featureStep.seqPath.length > MAX_DISPATCH_SEQPATH) {
221
+ const msg = `Execution depth limit exceeded (${featureStep.seqPath.length} > ${MAX_DISPATCH_SEQPATH}). Possible infinite recursion in step: ${featureStep.in}`;
222
+ world.runtime.exhaustionError = msg;
223
+ return pushAndReturn(stepResultFromActionResult(actionNotOK(msg), action, start, Timer.since(), featureStep, false));
224
+ }
225
+ const isLifecycle = action.actionName === FEATURE_START || action.actionName === SCENARIO_START;
226
+ if (isLifecycle) {
227
+ return stepResultFromActionResult({ ok: true }, action, start, Timer.since(), featureStep, true);
228
+ }
229
+ const bareMethod = stepMethodName(action.stepperName, action.actionName);
230
+ const method = featureStep.targetHostId !== undefined ? hostScopedMethodName(featureStep.targetHostId, bareMethod) : bareMethod;
231
+ const tool = registry.get(method);
232
+ if (!tool) {
233
+ return pushAndReturn(stepResultFromActionResult(actionNotOK(`Step not found in registry: ${method}`), action, start, Timer.since(), featureStep, false));
234
+ }
235
+ authorizeToolCapability(tool, grantedCapability);
236
+ const usageKey = `${action.stepperName}.${action.actionName}`;
237
+ let stepUsage = world.runtime.observations.get("stepUsage");
238
+ if (!stepUsage) {
239
+ stepUsage = new Map();
240
+ world.runtime.observations.set("stepUsage", stepUsage);
241
+ }
242
+ stepUsage.set(usageKey, (stepUsage.get(usageKey) ?? 0) + 1);
243
+ world.eventLogger.stepStart(featureStep, action.stepperName, action.actionName, {}, featureStep.action.stepValuesMap, tool.isAsync);
244
+ let actionResult;
245
+ let ok = true;
246
+ let lastStepResult;
247
+ let doAction = true;
248
+ while (doAction) {
249
+ await doStepperCycle(steppers, "beforeStep", { featureStep });
250
+ actionResult = await tool.handler(featureStep, world);
251
+ if (!actionResult.ok && actionResult.errorMessage && featureStep.intent?.mode !== "speculative") {
252
+ world.eventLogger.log(featureStep, "error", actionResult.errorMessage);
253
+ }
254
+ lastStepResult = stepResultFromActionResult(actionResult, action, start, Timer.since(), featureStep, ok && actionResult.ok);
255
+ world.runtime.stepResults.push(lastStepResult);
256
+ const instructions = await doStepperCycle(steppers, "afterStep", { featureStep, actionResult }, action.actionName);
257
+ doAction = instructions.some((i) => i?.rerunStep);
258
+ if (instructions.some((i) => i?.failed)) {
259
+ ok = false;
260
+ }
261
+ else if (instructions.some((i) => i?.nextStep)) {
262
+ actionResult = { ...actionResult, ok: true };
263
+ }
264
+ }
265
+ if (!actionResult || !lastStepResult) {
266
+ throw new Error(`No action result recorded for ${action.stepperName}.${action.actionName}`);
267
+ }
268
+ ok = ok && actionResult.ok;
269
+ world.eventLogger.stepEnd(featureStep, action.stepperName, action.actionName, ok, !ok ? actionResult.errorMessage : undefined, {}, featureStep.action.stepValuesMap, actionResult.products);
270
+ lastStepResult.ok = ok;
271
+ const end = Timer.since();
272
+ world.eventLogger.emit(DispatchTraceArtifact.parse({
273
+ id: `dispatch.${featureStep.seqPath.join(".")}`,
274
+ timestamp: Date.now(),
275
+ kind: "artifact",
276
+ artifactType: "dispatch-trace",
277
+ trace: {
278
+ stepName: tool.name,
279
+ transport: tool.transport ?? "local",
280
+ remoteHost: tool.remoteHost,
281
+ capabilityRequired: tool.capability,
282
+ capabilityGranted: Array.isArray(grantedCapability)
283
+ ? grantedCapability
284
+ : grantedCapability
285
+ ? [grantedCapability]
286
+ : undefined,
287
+ authorized: ok || !tool.capability,
288
+ seqPath: featureStep.seqPath,
289
+ durationMs: end - start,
290
+ productKeys: ok && actionResult.products ? Object.keys(actionResult.products).filter((k) => !k.startsWith("_")) : undefined,
291
+ },
292
+ }));
293
+ return lastStepResult;
294
+ }
295
+ export function stepResultFromActionResult(actionResult, action, start, end, featureStep, ok) {
296
+ return {
297
+ ...actionResult,
298
+ ok,
299
+ name: action.actionName,
300
+ in: featureStep.in,
301
+ path: featureStep.source.path,
302
+ lineNumber: featureStep.source.lineNumber,
303
+ seqPath: featureStep.seqPath,
304
+ intent: featureStep.intent,
305
+ start,
306
+ end,
307
+ };
308
+ }
309
+ export function capabilityAllows(granted, required) {
310
+ if (!granted)
311
+ return false;
312
+ const grantedValues = Array.isArray(granted) ? granted : [granted];
313
+ return grantedValues.some((entry) => {
314
+ if (entry === "*" || entry === required)
315
+ return true;
316
+ if (!entry.endsWith("*"))
317
+ return false;
318
+ const prefix = entry.slice(0, -1);
319
+ return required.startsWith(prefix);
320
+ });
321
+ }
322
+ export function authorizeToolCapability(tool, granted) {
323
+ if (!tool.capability)
324
+ return;
325
+ if (capabilityAllows(granted, tool.capability))
326
+ return;
327
+ throw new Error(`${tool.name}: capability ${tool.capability} required`);
328
+ }
119
329
  /**
120
330
  * Build a JSON Schema and Zod param schemas for a step's input parameters.
121
331
  * Uses z.toJSONSchema() to convert Zod domain schemas into full JSON Schema
@@ -126,14 +336,16 @@ function buildInputSchema(stepDef, world) {
126
336
  const properties = {};
127
337
  const required = [];
128
338
  const paramSchemas = new Map();
339
+ const paramDomainKeys = new Map();
129
340
  if (stepDef.gwta) {
130
341
  const { stepValuesMap } = namedInterpolation(stepDef.gwta);
131
342
  if (stepValuesMap) {
132
343
  for (const v of Object.values(stepValuesMap)) {
133
344
  const rawDomain = v.domain || DOMAIN_STRING;
134
- const parts = rawDomain.split(' | ').sort();
135
- const domainKey = normalizeDomainKey(parts.join(' | '));
345
+ const parts = rawDomain.split(" | ").sort();
346
+ const domainKey = normalizeDomainKey(parts.join(" | "));
136
347
  const domain = world.domains?.[domainKey];
348
+ paramDomainKeys.set(v.term, domainKey);
137
349
  if (domain?.schema) {
138
350
  paramSchemas.set(v.term, domain.schema);
139
351
  try {
@@ -145,37 +357,47 @@ function buildInputSchema(stepDef, world) {
145
357
  properties[v.term] = prop;
146
358
  }
147
359
  catch {
148
- properties[v.term] = { type: 'string', description: domain.description };
360
+ properties[v.term] = {
361
+ type: "string",
362
+ description: domain.description,
363
+ };
149
364
  }
150
365
  }
151
366
  else {
152
- properties[v.term] = { type: 'string' };
367
+ properties[v.term] = { type: "string" };
153
368
  }
154
369
  required.push(v.term);
155
370
  }
156
371
  }
157
372
  }
158
- return { inputSchema: { type: 'object', properties, required }, paramSchemas };
373
+ return {
374
+ inputSchema: { type: "object", properties, required },
375
+ paramSchemas,
376
+ paramDomainKeys,
377
+ };
159
378
  }
160
379
  // --- RPC Message Schemas ---
161
380
  /** Incoming JSON-RPC 2.0 request from client (POST /rpc/:method). */
162
381
  export const RpcRequestSchema = z.object({
163
- jsonrpc: z.literal('2.0'),
382
+ jsonrpc: z.literal("2.0"),
164
383
  id: z.string(),
165
384
  method: z.string(),
166
385
  params: z.record(z.string(), z.unknown()).optional().default({}),
386
+ capability: z.string().optional(),
167
387
  stream: z.boolean().optional(),
388
+ /** Caller's seqPath for threading hierarchical step identity through RPC. */
389
+ seqPath: z.array(z.number()).optional(),
168
390
  });
169
391
  /** Outgoing JSON-RPC 2.0 response to client. */
170
392
  export const RpcResponseSchema = z.object({
171
- jsonrpc: z.literal('2.0'),
393
+ jsonrpc: z.literal("2.0"),
172
394
  id: z.string(),
173
395
  result: z.unknown().optional(),
174
396
  error: z.string().optional(),
175
397
  });
176
398
  /** Outgoing JSON-RPC 2.0 stream chunk to client. */
177
399
  export const RpcStreamSchema = z.object({
178
- jsonrpc: z.literal('2.0'),
400
+ jsonrpc: z.literal("2.0"),
179
401
  id: z.string(),
180
402
  stream: z.literal(true),
181
403
  data: z.unknown(),
@@ -191,17 +413,51 @@ export function parseRpcRequest(raw) {
191
413
  /**
192
414
  * Build a step registry and enrich metadata with input/output schemas.
193
415
  * Single entry point for both SSE and MCP transports.
416
+ * Accepts an existing StepRegistry instance to update in-place (for live refresh).
194
417
  */
195
- export function discoverSteps(steppers, world) {
196
- const registry = buildStepRegistry(steppers, world);
197
- const metadata = StepperRegistry.getMetadata(steppers);
198
- for (const meta of metadata) {
199
- const tool = registry.get(meta.method);
418
+ export function discoverSteps(steppers, world, stepRegistry, options) {
419
+ if (stepRegistry) {
420
+ stepRegistry.refresh(steppers, world);
421
+ }
422
+ const registry = stepRegistry ?? new StepRegistry(steppers, world);
423
+ const all = StepperRegistry.getMetadata(steppers);
424
+ // When a capability context is supplied, drop steps that require a
425
+ // capability the caller wasn't granted. Steps with no capability stay
426
+ // visible to everyone. When no context is supplied, return everything
427
+ // (unchanged behaviour — existing callers keep the full manifest).
428
+ const steps = options?.grantedCapability !== undefined
429
+ ? all.filter((s) => !s.capability || capabilityAllows(options.grantedCapability, s.capability))
430
+ : all;
431
+ for (const step of steps) {
432
+ const tool = registry.get(step.method);
200
433
  if (tool) {
201
- meta.inputSchema = tool.inputSchema;
202
- meta.outputSchema = tool.outputSchema;
434
+ step.inputSchema = tool.inputSchema;
435
+ step.outputSchema = tool.outputSchema;
203
436
  }
204
437
  }
205
- return { registry, metadata };
438
+ const domains = {};
439
+ for (const [key, domain] of Object.entries(world.domains)) {
440
+ // Prefer explicit values; fall back to extracting enum values from z.enum schemas
441
+ let values = domain.values;
442
+ if (!values && domain.schema) {
443
+ try {
444
+ const jsonSchema = z.toJSONSchema(domain.schema);
445
+ if (Array.isArray(jsonSchema.enum)) {
446
+ values = jsonSchema.enum;
447
+ }
448
+ }
449
+ catch {
450
+ // schema not convertible — leave values undefined
451
+ }
452
+ }
453
+ domains[key] = {
454
+ description: domain.description,
455
+ values,
456
+ stepperName: domain.stepperName,
457
+ vertexLabel: domain.topology?.vertexLabel,
458
+ };
459
+ }
460
+ const concerns = buildConcernCatalog(world.domains);
461
+ return { steps, domains, concerns };
206
462
  }
207
463
  //# sourceMappingURL=step-dispatch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"step-dispatch.js","sourceRoot":"","sources":["../../src/lib/step-dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-dispatch.js","sourceRoot":"","sources":["../../src/lib/step-dispatch.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { AStepper } from './astepper.js';
2
- import type { TStepAction, TFeatures } from './defs.js';
3
- import { type StepDescriptor } from './stepper-registry.js';
1
+ import { AStepper } from "./astepper.js";
2
+ import type { TStepAction, TFeatures } from "./execution.js";
3
+ import { type StepDescriptor } from "./stepper-registry.js";
4
4
  /**
5
5
  * Result of validating a step text against registered steppers.
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"step-validation.d.ts","sourceRoot":"","sources":["../../src/lib/step-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAExD,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE7E;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAClC,KAAK,EAAE,IAAI,CAAC;IACZ,MAAM,EAAE,WAAW,CAAC;CACpB,GAAG;IACH,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,WAAW,CAAC,EAAE,SAAS,GAAG,oBAAoB,CAQ9G;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,cAAc,EAAE,CAEzE"}
1
+ {"version":3,"file":"step-validation.d.ts","sourceRoot":"","sources":["../../src/lib/step-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE7D,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE7E;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAC7B;IACA,KAAK,EAAE,IAAI,CAAC;IACZ,MAAM,EAAE,WAAW,CAAC;CACnB,GACD;IACA,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACb,CAAC;AAEL;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,WAAW,CAAC,EAAE,SAAS,GAAG,oBAAoB,CAQ9G;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,cAAc,EAAE,CAEzE"}
@@ -1,5 +1,5 @@
1
- import { Resolver } from '../phases/Resolver.js';
2
- import { StepperRegistry } from './stepper-registry.js';
1
+ import { Resolver } from "../phases/Resolver.js";
2
+ import { StepperRegistry } from "./stepper-registry.js";
3
3
  /**
4
4
  * Validate a step text against the registered steppers.
5
5
  * Returns the matched action if valid, or an error message if not.
@@ -1 +1 @@
1
- {"version":3,"file":"step-validation.js","sourceRoot":"","sources":["../../src/lib/step-validation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAuB,MAAM,uBAAuB,CAAC;AAa7E;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,QAAoB,EAAE,WAAuB;IACvF,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,QAAQ,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;IAC3D,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACnD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAChC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAoB;IACtD,OAAO,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"step-validation.js","sourceRoot":"","sources":["../../src/lib/step-validation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAuB,MAAM,uBAAuB,CAAC;AAe7E;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,QAAoB,EAAE,WAAuB;IACvF,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,QAAQ,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;IAC3D,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACnD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAChC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAoB;IACtD,OAAO,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { StepperMethodArgs, IStepperCycles } from "./execution.js";
2
+ import { AStepper } from "./astepper.js";
3
+ export declare const doStepperCycle: <K extends keyof IStepperCycles>(steppers: AStepper[], method: K, args: StepperMethodArgs[K], guidance?: string) => Promise<Awaited<ReturnType<NonNullable<IStepperCycles[K]>>>[]>;
4
+ export declare const doStepperCycleSync: <K extends keyof IStepperCycles>(steppers: AStepper[], method: K, args: StepperMethodArgs[K]) => void;
5
+ //# sourceMappingURL=stepper-cycles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper-cycles.d.ts","sourceRoot":"","sources":["../../src/lib/stepper-cycles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAc,MAAM,eAAe,CAAC;AAErD,eAAO,MAAM,cAAc,GAAU,CAAC,SAAS,MAAM,cAAc,EAClE,UAAU,QAAQ,EAAE,EACpB,QAAQ,CAAC,EACT,MAAM,iBAAiB,CAAC,CAAC,CAAC,EAC1B,iBAAa,KACX,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAmB/D,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,MAAM,cAAc,EAChE,UAAU,QAAQ,EAAE,EACpB,QAAQ,CAAC,EACT,MAAM,iBAAiB,CAAC,CAAC,CAAC,KACxB,IASF,CAAC"}
@@ -0,0 +1,31 @@
1
+ export const doStepperCycle = async (steppers, method, args, guidance = "") => {
2
+ const results = [];
3
+ const hasCycles = steppers
4
+ .filter((c) => c.cycles && c.cycles[method])
5
+ .sort((a, b) => {
6
+ const key = method;
7
+ const aVal = a.cyclesWhen?.[key];
8
+ const bVal = b.cyclesWhen?.[key];
9
+ return (aVal ?? 0) - (bVal ?? 0);
10
+ });
11
+ for (const cycling of hasCycles) {
12
+ const cycle = cycling.cycles[method];
13
+ if (cycle) {
14
+ const paramsForApply = args === undefined ? [] : [args];
15
+ const result = await cycle.apply(cycling, paramsForApply);
16
+ results.push(result);
17
+ }
18
+ }
19
+ return results;
20
+ };
21
+ export const doStepperCycleSync = (steppers, method, args) => {
22
+ const hasCycles = steppers.filter((c) => c.cycles && c.cycles[method]);
23
+ for (const cycling of hasCycles) {
24
+ const cycle = cycling.cycles[method];
25
+ if (cycle) {
26
+ const paramsForApply = args === undefined ? [] : [args];
27
+ cycle.apply(cycling, paramsForApply);
28
+ }
29
+ }
30
+ };
31
+ //# sourceMappingURL=stepper-cycles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper-cycles.js","sourceRoot":"","sources":["../../src/lib/stepper-cycles.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAClC,QAAoB,EACpB,MAAS,EACT,IAA0B,EAC1B,QAAQ,GAAG,EAAE,EACoD,EAAE;IACnE,MAAM,OAAO,GAA0D,EAAE,CAAC;IAC1E,MAAM,SAAS,GAAI,QAAmD;SACpE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAC3C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACd,MAAM,GAAG,GAAG,MAAmC,CAAC;QAChD,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IACJ,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,KAAK,EAAE,CAAC;YACX,MAAM,cAAc,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,MAAO,KAA+C,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YACrG,OAAO,CAAC,IAAI,CAAC,MAA6D,CAAC,CAAC;QAC7E,CAAC;IACF,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CACjC,QAAoB,EACpB,MAAS,EACT,IAA0B,EACnB,EAAE;IACT,MAAM,SAAS,GAAI,QAAmD,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACnH,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,KAAK,EAAE,CAAC;YACX,MAAM,cAAc,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACvD,KAAmC,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACrE,CAAC;IACF,CAAC;AACF,CAAC,CAAC"}