@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
@@ -0,0 +1,304 @@
1
+ /**
2
+ * Execution — how the haibun runtime drives features, scenarios, and steps.
3
+ *
4
+ * Answers "what is the world at runtime, how are features structured, and what is a stepper's lifecycle?"
5
+ * Pure type declarations — browser-safe. All runtime behavior lives in the phases/* and lib/core/*
6
+ * implementations; this file only holds the shapes those implementations use.
7
+ *
8
+ * Contents:
9
+ * - World/runtime: TWorld, TRuntime, options
10
+ * - Features: TFeature, TFeatureStep, TResolvedFeature, source locations
11
+ * - Steppers: CStepper, IStepperCycles, IStepperWhen, IStepperConcerns, TStepperStep
12
+ * - Lifecycle args: TStartFeature, TEndFeature, TBeforeStep, TAfterStep, …
13
+ * - CycleWhen: ordering hints for cycle execution
14
+ * - IObservationSource, IRouteRegistry: runtime-plug interfaces
15
+ *
16
+ * Resource vocabulary (topology, rels, access, etc.) lives in resources.ts — import from there.
17
+ */
18
+ import type { z } from "zod";
19
+ import type { AStepper } from "./astepper.js";
20
+ import type { TAnyFixme } from "./fixme.js";
21
+ import type { TTag } from "./ttag.js";
22
+ import type { FeatureVariables } from "./feature-variables.js";
23
+ import type { Prompter } from "./prompter.js";
24
+ import type { IEventLogger } from "./EventLogger.js";
25
+ import type { ExecutionIntent, TSeqPath, TStepResult, TFeatureResult, TExecutorResult, TStepArgs, TStepValue, Timer, THaibunEvent, TActionResult } from "../schema/protocol.js";
26
+ import { CONTINUE_AFTER_ERROR } from "../schema/protocol.js";
27
+ import type { TDomainDefinition, TRegisteredDomain } from "./resources.js";
28
+ export type TWorld = {
29
+ tag: TTag;
30
+ shared: FeatureVariables;
31
+ runtime: TRuntime;
32
+ prompter: Prompter;
33
+ options: TBaseOptions;
34
+ moduleOptions: TModuleOptions;
35
+ timer: Timer;
36
+ bases: TBase;
37
+ domains: Record<string, TRegisteredDomain>;
38
+ eventLogger: IEventLogger;
39
+ };
40
+ export type TRuntime = {
41
+ backgrounds?: TFeature[];
42
+ scenario?: string;
43
+ feature?: string;
44
+ /** Current feature file path (for dynamic statement execution) */
45
+ currentFeaturePath?: string;
46
+ stepResults: TStepResult[];
47
+ /** Active steppers for this execution. Set by Executor, used by populateActionArgs / domain coercion. */
48
+ steppers?: AStepper[];
49
+ /** Shared step registry. Set by Executor, used for dynamic step registration. */
50
+ stepRegistry?: import("./step-dispatch.js").StepRegistry;
51
+ /** Generic storage for observation data, cleared between features */
52
+ observations: Map<string, TAnyFixme>;
53
+ /** If non-empty, execution was aborted due to exhaustion (description explains why). */
54
+ exhaustionError?: string;
55
+ /**
56
+ * Monotonic counter for synthetic seqPaths produced by external-protocol
57
+ * entry points (MCP) that have no caller seqPath to thread. See
58
+ * `syntheticSeqPath(hostId, adHocSeq)` in host-id.ts — synthetic paths
59
+ * are [hostId, SYNTHETIC_FEATURE_NUM, adHocSeq] so they sort distinctly
60
+ * from any feature path. Internal dispatches (RPC, subprocess) now
61
+ * require the caller's seqPath instead of producing a synthetic.
62
+ */
63
+ adHocSeq?: number;
64
+ [name: string]: TAnyFixme;
65
+ };
66
+ export type TBaseOptions = {
67
+ DEST: string;
68
+ KEY?: string;
69
+ DESCRIPTION?: string;
70
+ LOG_LEVEL?: string;
71
+ LOG_FOLLOW?: string;
72
+ STAY?: string;
73
+ SETTING?: string;
74
+ STEP_DELAY?: number;
75
+ [CONTINUE_AFTER_ERROR]?: boolean;
76
+ envVariables?: TEnvVariables;
77
+ };
78
+ export type TEnvVariables = {
79
+ [name: string]: string;
80
+ };
81
+ export type TModuleOptions = {
82
+ [name: string]: string;
83
+ };
84
+ export type TProtoOptions = {
85
+ options: TBaseOptions;
86
+ moduleOptions: TModuleOptions;
87
+ };
88
+ export type TBase = string[];
89
+ export declare const RemoteStepperSchema: z.ZodObject<{
90
+ remote: z.ZodString;
91
+ token: z.ZodOptional<z.ZodString>;
92
+ }, z.core.$strip>;
93
+ export type TRemoteStepper = z.infer<typeof RemoteStepperSchema>;
94
+ export declare const StepperEntrySchema: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
95
+ remote: z.ZodString;
96
+ token: z.ZodOptional<z.ZodString>;
97
+ }, z.core.$strip>]>;
98
+ export type TStepperEntry = z.infer<typeof StepperEntrySchema>;
99
+ export declare const SpeclSchema: z.ZodObject<{
100
+ $schema: z.ZodOptional<z.ZodString>;
101
+ steppers: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
102
+ remote: z.ZodString;
103
+ token: z.ZodOptional<z.ZodString>;
104
+ }, z.core.$strip>]>>;
105
+ runPolicy: z.ZodOptional<z.ZodString>;
106
+ appParameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
107
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
108
+ }, z.core.$loose>;
109
+ export type TSpecl = z.infer<typeof SpeclSchema>;
110
+ export type TFeatureMeta = {
111
+ base: string;
112
+ name: string;
113
+ path: string;
114
+ };
115
+ export type TFeature = TFeatureMeta & {
116
+ content: string;
117
+ /** For kireji files: maps BDD line number (1-indexed) to TypeScript step index (0-indexed) */
118
+ kirejiLineMap?: Map<number, number>;
119
+ };
120
+ export type TFeatures = TFeature[];
121
+ export type TExpandedFeature = TFeatureMeta & {
122
+ expanded: TExpandedLine[];
123
+ };
124
+ export type TExpandedLine = {
125
+ line: string;
126
+ rawLine?: string;
127
+ lineNumber?: number;
128
+ feature: TFeature;
129
+ };
130
+ export interface TSourceLocation {
131
+ source: {
132
+ /** Absolute path to the source file */
133
+ path: string;
134
+ /** 1-indexed line number in the source file */
135
+ lineNumber?: number;
136
+ };
137
+ }
138
+ /** A statement with its source location */
139
+ export type TStepInput = TSourceLocation & {
140
+ in: string;
141
+ };
142
+ export type TResolvedFeature = {
143
+ path: string;
144
+ base: string;
145
+ name: string;
146
+ featureSteps: TFeatureStep[];
147
+ };
148
+ export type TFeatureStep = TSourceLocation & {
149
+ in: string;
150
+ seqPath: TSeqPath;
151
+ action: TStepAction;
152
+ isSubStep?: boolean;
153
+ /** True if this step was triggered by an afterEvery hook (prevents recursive afterEvery) */
154
+ isAfterEveryStep?: boolean;
155
+ intent?: ExecutionIntent;
156
+ /** Runtime args for variable binding in nested quantifier calls */
157
+ runtimeArgs?: Record<string, string>;
158
+ /**
159
+ * Routing hint: when set, dispatch resolves the tool via the
160
+ * hostId-prefixed registry key (`${targetHostId}:${method}`) — the
161
+ * step runs against that remote host. Set by composition verbs like
162
+ * `on host {hostId} {statement}` in haibun.ts.
163
+ */
164
+ targetHostId?: number;
165
+ };
166
+ export type TStepAction = {
167
+ actionName: string;
168
+ stepperName: string;
169
+ step: TStepperStep;
170
+ stepValuesMap?: TStepValuesMap;
171
+ };
172
+ export type TStepValuesMap = Record<string, TStepValue>;
173
+ type TStepperStepBase = {
174
+ handlesUndefined?: true | string[];
175
+ description?: string;
176
+ precludes?: string[];
177
+ unique?: boolean;
178
+ fallback?: boolean;
179
+ exposeMCP?: boolean;
180
+ /** Optional capability label required for external dispatch. */
181
+ capability?: string;
182
+ virtual?: boolean;
183
+ /** For dynamically generated steps (like waypoints): source location metadata */
184
+ source?: {
185
+ path: string;
186
+ lineNumber?: number;
187
+ };
188
+ match?: RegExp;
189
+ gwta?: string;
190
+ exact?: string;
191
+ resolveFeatureLine?(line: string, path: string, stepper: AStepper, backgrounds: TFeatures, allLines?: string[], lineIndex?: number, actualSourcePath?: string): boolean | void;
192
+ };
193
+ /** Step that declares an output schema — action MUST return products on success. */
194
+ type TStepperStepWithProducts = TStepperStepBase & {
195
+ outputSchema: z.ZodType;
196
+ action(args: TStepArgs, featureStep?: TFeatureStep): Promise<TActionResult> | TActionResult;
197
+ };
198
+ /** Step without output schema — no products on success. */
199
+ type TStepperStepPlain = TStepperStepBase & {
200
+ outputSchema?: undefined;
201
+ action(args: TStepArgs, featureStep?: TFeatureStep): Promise<TActionResult> | TActionResult;
202
+ };
203
+ export type TStepperStep = TStepperStepWithProducts | TStepperStepPlain;
204
+ export interface CStepper {
205
+ new (): AStepper;
206
+ }
207
+ export interface IStepperWhen {
208
+ startExecution?: number;
209
+ startFeature?: number;
210
+ endFeature?: number;
211
+ }
212
+ export declare const CycleWhen: {
213
+ FIRST: number;
214
+ LAST: number;
215
+ };
216
+ /**
217
+ * Observation source for the 'observed in' quantifier pattern.
218
+ * Provides ephemeral iteration over runtime metrics.
219
+ */
220
+ export interface IObservationSource {
221
+ name: string;
222
+ observe(world: TWorld): {
223
+ items: string[];
224
+ metrics: Record<string, Record<string, unknown>>;
225
+ };
226
+ }
227
+ export interface IStepperConcerns {
228
+ domains?: TDomainDefinition[];
229
+ sources?: IObservationSource[];
230
+ quadStore?: {
231
+ store: import("./quad-types.js").IQuadStore;
232
+ namedGraphs: string[];
233
+ };
234
+ }
235
+ export interface IStepperCycles {
236
+ getConcerns?(): IStepperConcerns;
237
+ /** Return registered outcome definitions for artifact emission. Used by ActivitiesStepper. */
238
+ getRegisteredOutcomes?(): Record<string, unknown>;
239
+ startExecution?(features: TStartExecution): Promise<void> | void;
240
+ startFeature?(startFeature: TStartFeature): Promise<void> | void;
241
+ startScenario?(startScenario: TStartScenario): Promise<void>;
242
+ beforeStep?(beforeStep: TBeforeStep): Promise<void>;
243
+ afterStep?(afterStep: TAfterStep): Promise<TAfterStepResult>;
244
+ endScenario?(): Promise<void>;
245
+ endFeature?(endedWith?: TEndFeature): Promise<void>;
246
+ onFailure?(result: TFailureArgs): Promise<void>;
247
+ endExecution?(results: TExecutorResult): Promise<void>;
248
+ onEvent?(event: THaibunEvent): Promise<void> | void;
249
+ }
250
+ export type TStartExecution = TResolvedFeature[];
251
+ export type TEndFeature = {
252
+ featurePath: string;
253
+ shouldClose: boolean;
254
+ isLast: boolean;
255
+ okSoFar: boolean;
256
+ continueAfterError: boolean;
257
+ stayOnFailure: boolean;
258
+ thisFeatureOK: boolean;
259
+ };
260
+ export type TStartFeature = {
261
+ resolvedFeature: TResolvedFeature;
262
+ index: number;
263
+ };
264
+ export type TStartScenario = {
265
+ scopedVars: FeatureVariables;
266
+ };
267
+ export type TBeforeStep = {
268
+ featureStep: TFeatureStep;
269
+ };
270
+ export type TAfterStep = {
271
+ featureStep: TFeatureStep;
272
+ actionResult: TActionResult;
273
+ };
274
+ export type TFailureArgs = {
275
+ featureResult: TFeatureResult;
276
+ failedStep: TStepResult;
277
+ };
278
+ export type TAfterStepResult = {
279
+ rerunStep?: boolean;
280
+ nextStep?: boolean;
281
+ failed: boolean;
282
+ };
283
+ export type StepperMethodArgs = {
284
+ [K in keyof IStepperCycles]: Parameters<NonNullable<IStepperCycles[K]>>[0];
285
+ };
286
+ /** A vertex returned from graph operations, with routing metadata. */
287
+ export type TVertexResult = Record<string, unknown> & {
288
+ _id: string;
289
+ _label?: string;
290
+ _inReplyTo?: string;
291
+ _edges?: Array<{
292
+ type: string;
293
+ targetId: string;
294
+ }>;
295
+ };
296
+ /** Minimal route registry interface — implemented by IWebServer, consumed by http-observations. */
297
+ export interface IRouteRegistry {
298
+ readonly mounted: Record<string, Record<string, string>>;
299
+ }
300
+ /** Extract all registered route paths from a route registry. */
301
+ export declare function registeredPaths(registry: IRouteRegistry): Set<string>;
302
+ export type TOptionValue = TAnyFixme;
303
+ export {};
304
+ //# sourceMappingURL=execution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/lib/execution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { z as zr } from "zod";
2
+ import { CONTINUE_AFTER_ERROR } from "../schema/protocol.js";
3
+ // ============================================================================
4
+ // Specl (runtime config file)
5
+ // ============================================================================
6
+ export const RemoteStepperSchema = zr.object({ remote: zr.string(), token: zr.string().optional() });
7
+ export const StepperEntrySchema = zr.union([zr.string(), RemoteStepperSchema]);
8
+ export const SpeclSchema = zr.looseObject({
9
+ $schema: zr.string().optional(),
10
+ steppers: zr.array(StepperEntrySchema),
11
+ runPolicy: zr.string().optional(),
12
+ appParameters: zr.record(zr.string(), zr.record(zr.string(), zr.unknown())).optional(),
13
+ options: zr.record(zr.string(), zr.unknown()).optional(),
14
+ });
15
+ export const CycleWhen = {
16
+ FIRST: -999,
17
+ LAST: 999,
18
+ };
19
+ /** Extract all registered route paths from a route registry. */
20
+ export function registeredPaths(registry) {
21
+ return new Set(Object.values(registry.mounted).flatMap((m) => Object.keys(m)));
22
+ }
23
+ //# sourceMappingURL=execution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/lib/execution.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,MAAM,KAAK,CAAC;AAS9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AA0E7D,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAGrG,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAG/E,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;IACzC,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC;IACtC,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,aAAa,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtF,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CACxD,CAAC,CAAC;AA+IH,MAAM,CAAC,MAAM,SAAS,GAAG;IACxB,KAAK,EAAE,CAAC,GAAG;IACX,IAAI,EAAE,GAAG;CACT,CAAC;AAkFF,gEAAgE;AAChE,MAAM,UAAU,eAAe,CAAC,QAAwB;IACvD,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC"}
@@ -1,77 +1,48 @@
1
1
  import { AStepper } from "./astepper.js";
2
- import { TFeatureStep, TWorld } from './defs.js';
3
- import { TOrigin, TProvenanceIdentifier, TStepValue } from '../schema/protocol.js';
2
+ import { TFeatureStep, TWorld } from "./execution.js";
3
+ import { TOrigin, TProvenanceIdentifier, TStepValue } from "../schema/protocol.js";
4
4
  import { IQuadStore, TQuad } from "./quad-types.js";
5
5
  export declare const SHARED_GRAPH = "variables";
6
- export declare const META_GRAPH = "meta";
7
6
  export declare const OBSERVATION_GRAPH = "observation";
8
7
  export declare const OBSCURED_VALUE = "[o\u0334b\u0335s\u0335c\u0337u\u0336r\u0338e\u0335d\u0335]";
9
8
  export declare class FeatureVariables {
10
9
  private world;
11
10
  private store;
12
- private values;
13
11
  constructor(world: TWorld, initial?: {
14
12
  [name: string]: TStepValue;
15
13
  });
16
14
  getStore(): IQuadStore;
17
- clear(): void;
18
- all(): {
15
+ all(): Promise<{
19
16
  [name: string]: TStepValue;
20
- };
17
+ }>;
21
18
  toString(): string;
22
- setJSON(label: string, value: object, origin: TOrigin, source: TFeatureStep): void;
23
- setForStepper(stepper: string, sv: TStepValue, provenance: TProvenanceIdentifier, namedGraph?: string): void;
24
- unset(name: string): void;
25
- set(sv: TStepValue, provenance: TProvenanceIdentifier, namedGraph?: string): void;
26
- _set(sv: TStepValue, provenance: TProvenanceIdentifier, namedGraph?: string): void;
27
- /**
28
- * Resolves a variable and its domain based on its actual origin.
29
- * Requires explicit options.secure to return the real value of a secret.
30
- */
19
+ setJSON(label: string, value: object, origin: TOrigin, source: TFeatureStep): Promise<void>;
20
+ setForStepper(stepper: string, sv: TStepValue, provenance: TProvenanceIdentifier, namedGraph?: string): Promise<void>;
21
+ unset(name: string): Promise<void>;
22
+ set(sv: TStepValue, provenance: TProvenanceIdentifier, namedGraph?: string): Promise<void>;
23
+ _set(sv: TStepValue, provenance: TProvenanceIdentifier, namedGraph?: string): Promise<void>;
24
+ /** Look up a variable from store or dot-path. Shared by Origin.var, Origin.defined, Origin.quoted. */
25
+ private lookupVariable;
31
26
  resolveVariable(input: {
32
27
  term: string;
33
28
  origin: TOrigin;
34
29
  domain?: string;
35
30
  }, featureStep?: TFeatureStep, steppers?: AStepper[], options?: {
36
31
  secure: boolean;
37
- }): TStepValue;
38
- /** Try dot-path navigation into a stored structured value. */
32
+ }): Promise<TStepValue>;
33
+ /** Reconstruct a stored variable entry from the quad's properties. */
34
+ private getStoredEntry;
39
35
  private resolveDotPath;
40
- getDomainValues(domainName: string): {
36
+ getDomainValues(domainName: string): Promise<{
41
37
  values: unknown[];
42
38
  error?: string;
43
- };
44
- get(term: string, secure?: boolean): unknown;
45
- queryQuads(pattern: {
46
- subject?: string;
47
- predicate?: string;
48
- object?: unknown;
49
- namedGraph?: string;
50
- }): TQuad[];
51
- existsQuad(pattern: {
52
- subject?: string;
53
- predicate?: string;
54
- object?: unknown;
55
- namedGraph?: string;
56
- }): boolean;
57
- countQuads(pattern: {
58
- subject?: string;
59
- predicate?: string;
60
- object?: unknown;
61
- namedGraph?: string;
62
- }): number;
63
- addQuad(quad: Omit<TQuad, 'timestamp'>): void;
64
- removeQuad(pattern: {
65
- subject?: string;
66
- predicate?: string;
67
- object?: unknown;
68
- namedGraph?: string;
69
- }): void;
70
- allQuads(): TQuad[];
39
+ }>;
40
+ get(term: string, secure?: boolean): Promise<unknown>;
41
+ allQuads(): Promise<TQuad[]>;
71
42
  isSecret(name: string): boolean;
72
- getSecrets(): {
43
+ getSecrets(): Promise<{
73
44
  [name: string]: string;
74
- };
75
- private storeAsQuad;
45
+ }>;
46
+ private writeQuads;
76
47
  }
77
48
  //# sourceMappingURL=feature-variables.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-variables.d.ts","sourceRoot":"","sources":["../../src/lib/feature-variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAU,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAgB,MAAM,uBAAuB,CAAC;AAGzG,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEpD,eAAO,MAAM,YAAY,cAAc,CAAC;AACxC,eAAO,MAAM,UAAU,SAAS,CAAC;AACjC,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAC/C,eAAO,MAAM,cAAc,+DAAuB,CAAC;AAEnD,qBAAa,gBAAgB;IAKhB,OAAO,CAAC,KAAK;IAJzB,OAAO,CAAC,KAAK,CAAa;IAE1B,OAAO,CAAC,MAAM,CAAkC;gBAE5B,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;KAAE;IAY5E,QAAQ,IAAI,UAAU;IAItB,KAAK;IAKL,GAAG;;;IAIH,QAAQ;IAIR,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY;IAI3E,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,qBAAqB,EAAE,UAAU,CAAC,EAAE,MAAM;IAIrG,KAAK,CAAC,IAAI,EAAE,MAAM;IAIlB,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,qBAAqB,EAAE,UAAU,CAAC,EAAE,MAAM;IAgB1E,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,qBAAqB,EAAE,UAAU,GAAE,MAAqB;IA0DzF;;;OAGG;IACH,eAAe,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,WAAW,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,GAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAsB,GAAG,UAAU;IAkI3L,8DAA8D;IAC9D,OAAO,CAAC,cAAc;IActB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAoB1E,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe;IAIzC,UAAU,CAAC,OAAO,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,EAAE;IAK7G,UAAU,CAAC,OAAO,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;IAI7G,UAAU,CAAC,OAAO,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAI5G,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,IAAI;IAoB7C,UAAU,CAAC,OAAO,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAI1G,QAAQ,IAAI,KAAK,EAAE;IAInB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAU/B,UAAU,IAAI;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;IAoBxC,OAAO,CAAC,WAAW;CAenB"}
1
+ {"version":3,"file":"feature-variables.d.ts","sourceRoot":"","sources":["../../src/lib/feature-variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAU,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAG3F,OAAO,EAAE,UAAU,EAAE,KAAK,EAAuB,MAAM,iBAAiB,CAAC;AAEzE,eAAO,MAAM,YAAY,cAAc,CAAC;AACxC,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAC/C,eAAO,MAAM,cAAc,+DAAuB,CAAC;AAEnD,qBAAa,gBAAgB;IAI3B,OAAO,CAAC,KAAK;IAHd,OAAO,CAAC,KAAK,CAAa;gBAGjB,KAAK,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE;IAczC,QAAQ,IAAI,UAAU;IAIhB,GAAG,IAAI,OAAO,CAAC;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAC;IAepD,QAAQ;IAIF,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY;IAO3E,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,qBAAqB,EAAE,UAAU,CAAC,EAAE,MAAM;IAIrG,KAAK,CAAC,IAAI,EAAE,MAAM;IAIlB,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,qBAAqB,EAAE,UAAU,CAAC,EAAE,MAAM;IAQ1E,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,qBAAqB,EAAE,UAAU,GAAE,MAAqB;IAY/F,sGAAsG;YACxF,cAAc;IAUtB,eAAe,CACpB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EACzD,WAAW,CAAC,EAAE,YAAY,EAC1B,QAAQ,CAAC,EAAE,QAAQ,EAAE,EACrB,OAAO,GAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAsB,GAC9C,OAAO,CAAC,UAAU,CAAC;IAyEtB,sEAAsE;YACxD,cAAc;YAed,cAAc;IAiBtB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAYnF,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe;IAIzC,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAIlC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIzB,UAAU,IAAI,OAAO,CAAC;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;YAazC,UAAU;CAkBxB"}