@haibun/core 3.1.3 → 3.3.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 (240) hide show
  1. package/build/currentVersion.d.ts +1 -1
  2. package/build/currentVersion.js +1 -1
  3. package/build/kireji/converter.d.ts +16 -1
  4. package/build/kireji/converter.d.ts.map +1 -1
  5. package/build/kireji/converter.js +19 -2
  6. package/build/kireji/converter.js.map +1 -1
  7. package/build/lib/EventLogger.d.ts +16 -10
  8. package/build/lib/EventLogger.d.ts.map +1 -1
  9. package/build/lib/EventLogger.js +54 -21
  10. package/build/lib/EventLogger.js.map +1 -1
  11. package/build/lib/astepper.d.ts +6 -0
  12. package/build/lib/astepper.d.ts.map +1 -1
  13. package/build/lib/astepper.js +1 -0
  14. package/build/lib/astepper.js.map +1 -1
  15. package/build/lib/base-prompt-manager.d.ts.map +1 -1
  16. package/build/lib/base-prompt-manager.js +2 -2
  17. package/build/lib/base-prompt-manager.js.map +1 -1
  18. package/build/lib/capture-locator.d.ts +1 -1
  19. package/build/lib/capture-locator.d.ts.map +1 -1
  20. package/build/lib/capture-locator.js +4 -2
  21. package/build/lib/capture-locator.js.map +1 -1
  22. package/build/lib/core/flow-runner.d.ts +5 -4
  23. package/build/lib/core/flow-runner.d.ts.map +1 -1
  24. package/build/lib/core/flow-runner.js +48 -15
  25. package/build/lib/core/flow-runner.js.map +1 -1
  26. package/build/lib/core-domains.d.ts +1 -1
  27. package/build/lib/core-domains.d.ts.map +1 -1
  28. package/build/lib/core-domains.js +1 -1
  29. package/build/lib/core-domains.js.map +1 -1
  30. package/build/lib/defs.d.ts +103 -200
  31. package/build/lib/defs.d.ts.map +1 -1
  32. package/build/lib/defs.js +4 -46
  33. package/build/lib/defs.js.map +1 -1
  34. package/build/lib/feature-variables.d.ts +2 -1
  35. package/build/lib/feature-variables.d.ts.map +1 -1
  36. package/build/lib/feature-variables.js +1 -2
  37. package/build/lib/feature-variables.js.map +1 -1
  38. package/build/lib/features.d.ts +5 -4
  39. package/build/lib/features.d.ts.map +1 -1
  40. package/build/lib/features.js +26 -16
  41. package/build/lib/features.js.map +1 -1
  42. package/build/lib/fixme.d.ts +1 -1
  43. package/build/lib/fixme.d.ts.map +1 -1
  44. package/build/lib/http-observations.d.ts +25 -0
  45. package/build/lib/http-observations.d.ts.map +1 -0
  46. package/build/lib/http-observations.js +40 -0
  47. package/build/lib/http-observations.js.map +1 -0
  48. package/build/lib/namedVars.d.ts +5 -1
  49. package/build/lib/namedVars.d.ts.map +1 -1
  50. package/build/lib/namedVars.js +11 -1
  51. package/build/lib/namedVars.js.map +1 -1
  52. package/build/lib/node-http-events.d.ts +16 -0
  53. package/build/lib/node-http-events.d.ts.map +1 -0
  54. package/build/lib/node-http-events.js +125 -0
  55. package/build/lib/node-http-events.js.map +1 -0
  56. package/build/lib/populateActionArgs.d.ts +2 -1
  57. package/build/lib/populateActionArgs.d.ts.map +1 -1
  58. package/build/lib/populateActionArgs.js.map +1 -1
  59. package/build/lib/resolver-features.d.ts +2 -1
  60. package/build/lib/resolver-features.d.ts.map +1 -1
  61. package/build/lib/resolver-features.js +2 -2
  62. package/build/lib/resolver-features.js.map +1 -1
  63. package/build/lib/step-trace.d.ts +10 -0
  64. package/build/lib/step-trace.d.ts.map +1 -0
  65. package/build/lib/step-trace.js +3 -0
  66. package/build/lib/step-trace.js.map +1 -0
  67. package/build/lib/stepper-registry.d.ts +28 -0
  68. package/build/lib/stepper-registry.d.ts.map +1 -0
  69. package/build/lib/stepper-registry.js +42 -0
  70. package/build/lib/stepper-registry.js.map +1 -0
  71. package/build/lib/test/SetTimeStepper.d.ts +2 -2
  72. package/build/lib/test/SetTimeStepper.d.ts.map +1 -1
  73. package/build/lib/test/SetTimeStepper.js +1 -1
  74. package/build/lib/test/SetTimeStepper.js.map +1 -1
  75. package/build/lib/test/TestSteps.d.ts +5 -3
  76. package/build/lib/test/TestSteps.d.ts.map +1 -1
  77. package/build/lib/test/TestStepsWithOptions.d.ts +3 -1
  78. package/build/lib/test/TestStepsWithOptions.d.ts.map +1 -1
  79. package/build/lib/test/TestStepsWithOptions.js +3 -5
  80. package/build/lib/test/TestStepsWithOptions.js.map +1 -1
  81. package/build/lib/test/lib.d.ts +4 -3
  82. package/build/lib/test/lib.d.ts.map +1 -1
  83. package/build/lib/test/lib.js +12 -12
  84. package/build/lib/test/lib.js.map +1 -1
  85. package/build/lib/test/resolvedTestFeatures.d.ts +5 -5
  86. package/build/lib/test/resolvedTestFeatures.js +1 -1
  87. package/build/lib/test/resolvedTestFeatures.js.map +1 -1
  88. package/build/lib/ttag.d.ts +2 -2
  89. package/build/lib/ttag.d.ts.map +1 -1
  90. package/build/lib/ttag.js +5 -5
  91. package/build/lib/ttag.js.map +1 -1
  92. package/build/lib/util/index.d.ts +20 -12
  93. package/build/lib/util/index.d.ts.map +1 -1
  94. package/build/lib/util/index.js +53 -17
  95. package/build/lib/util/index.js.map +1 -1
  96. package/build/lib/workspace-discovery.d.ts +37 -0
  97. package/build/lib/workspace-discovery.d.ts.map +1 -0
  98. package/build/lib/workspace-discovery.js +96 -0
  99. package/build/lib/workspace-discovery.js.map +1 -0
  100. package/build/monitor/index.d.ts +1 -10
  101. package/build/monitor/index.d.ts.map +1 -1
  102. package/build/monitor/index.js +1 -14
  103. package/build/monitor/index.js.map +1 -1
  104. package/build/phases/Executor.d.ts +3 -11
  105. package/build/phases/Executor.d.ts.map +1 -1
  106. package/build/phases/Executor.js +76 -169
  107. package/build/phases/Executor.js.map +1 -1
  108. package/build/phases/Resolver.d.ts +25 -1
  109. package/build/phases/Resolver.d.ts.map +1 -1
  110. package/build/phases/Resolver.js +88 -22
  111. package/build/phases/Resolver.js.map +1 -1
  112. package/build/phases/collector.d.ts +1 -0
  113. package/build/phases/collector.d.ts.map +1 -1
  114. package/build/phases/collector.js +7 -3
  115. package/build/phases/collector.js.map +1 -1
  116. package/build/runner.d.ts +3 -2
  117. package/build/runner.d.ts.map +1 -1
  118. package/build/runner.js +0 -1
  119. package/build/runner.js.map +1 -1
  120. package/build/schema/protocol.d.ts +1443 -0
  121. package/build/schema/protocol.d.ts.map +1 -0
  122. package/build/schema/protocol.js +429 -0
  123. package/build/schema/protocol.js.map +1 -0
  124. package/build/steps/activities-stepper.d.ts +24 -28
  125. package/build/steps/activities-stepper.d.ts.map +1 -1
  126. package/build/steps/activities-stepper.js +150 -162
  127. package/build/steps/activities-stepper.js.map +1 -1
  128. package/build/steps/conformance.d.ts +3 -1
  129. package/build/steps/conformance.d.ts.map +1 -1
  130. package/build/steps/conformance.js +1 -0
  131. package/build/steps/conformance.js.map +1 -1
  132. package/build/steps/console-monitor-stepper.d.ts +3 -6
  133. package/build/steps/console-monitor-stepper.d.ts.map +1 -1
  134. package/build/steps/console-monitor-stepper.js +23 -64
  135. package/build/steps/console-monitor-stepper.js.map +1 -1
  136. package/build/steps/debugger-stepper.d.ts +7 -4
  137. package/build/steps/debugger-stepper.d.ts.map +1 -1
  138. package/build/steps/debugger-stepper.js +36 -43
  139. package/build/steps/debugger-stepper.js.map +1 -1
  140. package/build/steps/haibun.d.ts +24 -16
  141. package/build/steps/haibun.d.ts.map +1 -1
  142. package/build/steps/haibun.js +68 -31
  143. package/build/steps/haibun.js.map +1 -1
  144. package/build/steps/lib/tts.d.ts +2 -3
  145. package/build/steps/lib/tts.d.ts.map +1 -1
  146. package/build/steps/lib/tts.js +4 -5
  147. package/build/steps/lib/tts.js.map +1 -1
  148. package/build/steps/logic-stepper.d.ts +14 -3
  149. package/build/steps/logic-stepper.d.ts.map +1 -1
  150. package/build/steps/logic-stepper.js +116 -17
  151. package/build/steps/logic-stepper.js.map +1 -1
  152. package/build/steps/narrator.d.ts +7 -5
  153. package/build/steps/narrator.d.ts.map +1 -1
  154. package/build/steps/narrator.js +30 -18
  155. package/build/steps/narrator.js.map +1 -1
  156. package/build/steps/parse.d.ts +5 -3
  157. package/build/steps/parse.d.ts.map +1 -1
  158. package/build/steps/parse.js +2 -1
  159. package/build/steps/parse.js.map +1 -1
  160. package/build/steps/variables-stepper.d.ts +285 -4
  161. package/build/steps/variables-stepper.d.ts.map +1 -1
  162. package/build/steps/variables-stepper.js +44 -50
  163. package/build/steps/variables-stepper.js.map +1 -1
  164. package/package.json +9 -16
  165. package/build/lib/Logger.d.ts +0 -48
  166. package/build/lib/Logger.d.ts.map +0 -1
  167. package/build/lib/Logger.js +0 -85
  168. package/build/lib/Logger.js.map +0 -1
  169. package/build/lib/TestLogger.d.ts +0 -12
  170. package/build/lib/TestLogger.d.ts.map +0 -1
  171. package/build/lib/TestLogger.js +0 -12
  172. package/build/lib/TestLogger.js.map +0 -1
  173. package/build/lib/Timer.d.ts +0 -7
  174. package/build/lib/Timer.d.ts.map +0 -1
  175. package/build/lib/Timer.js +0 -9
  176. package/build/lib/Timer.js.map +0 -1
  177. package/build/lib/core/protocol.d.ts +0 -58
  178. package/build/lib/core/protocol.d.ts.map +0 -1
  179. package/build/lib/core/protocol.js +0 -18
  180. package/build/lib/core/protocol.js.map +0 -1
  181. package/build/lib/event-bridge.d.ts +0 -42
  182. package/build/lib/event-bridge.d.ts.map +0 -1
  183. package/build/lib/event-bridge.js +0 -214
  184. package/build/lib/event-bridge.js.map +0 -1
  185. package/build/lib/interfaces/logger.d.ts +0 -123
  186. package/build/lib/interfaces/logger.d.ts.map +0 -1
  187. package/build/lib/interfaces/logger.js +0 -29
  188. package/build/lib/interfaces/logger.js.map +0 -1
  189. package/build/lib/util/variables.d.ts +0 -9
  190. package/build/lib/util/variables.d.ts.map +0 -1
  191. package/build/lib/util/variables.js +0 -40
  192. package/build/lib/util/variables.js.map +0 -1
  193. package/build/monitor/browser-stubs.d.ts +0 -12
  194. package/build/monitor/browser-stubs.d.ts.map +0 -1
  195. package/build/monitor/browser-stubs.js +0 -20
  196. package/build/monitor/browser-stubs.js.map +0 -1
  197. package/build/monitor/constants.d.ts +0 -9
  198. package/build/monitor/constants.d.ts.map +0 -1
  199. package/build/monitor/constants.js +0 -9
  200. package/build/monitor/constants.js.map +0 -1
  201. package/build/monitor/event-view.d.ts +0 -40
  202. package/build/monitor/event-view.d.ts.map +0 -1
  203. package/build/monitor/event-view.js +0 -104
  204. package/build/monitor/event-view.js.map +0 -1
  205. package/build/monitor/filters.d.ts +0 -17
  206. package/build/monitor/filters.d.ts.map +0 -1
  207. package/build/monitor/filters.js +0 -32
  208. package/build/monitor/filters.js.map +0 -1
  209. package/build/monitor/formatters.d.ts +0 -27
  210. package/build/monitor/formatters.d.ts.map +0 -1
  211. package/build/monitor/formatters.js +0 -89
  212. package/build/monitor/formatters.js.map +0 -1
  213. package/build/monitor/jit-serialization.d.ts +0 -9
  214. package/build/monitor/jit-serialization.d.ts.map +0 -1
  215. package/build/monitor/jit-serialization.js +0 -73
  216. package/build/monitor/jit-serialization.js.map +0 -1
  217. package/build/monitor/monitor-types.d.ts +0 -119
  218. package/build/monitor/monitor-types.d.ts.map +0 -1
  219. package/build/monitor/monitor-types.js +0 -43
  220. package/build/monitor/monitor-types.js.map +0 -1
  221. package/build/monitor/speculative-tracker.d.ts +0 -20
  222. package/build/monitor/speculative-tracker.d.ts.map +0 -1
  223. package/build/monitor/speculative-tracker.js +0 -38
  224. package/build/monitor/speculative-tracker.js.map +0 -1
  225. package/build/monitor/state.d.ts +0 -31
  226. package/build/monitor/state.d.ts.map +0 -1
  227. package/build/monitor/state.js +0 -110
  228. package/build/monitor/state.js.map +0 -1
  229. package/build/monitor/timer.d.ts +0 -11
  230. package/build/monitor/timer.d.ts.map +0 -1
  231. package/build/monitor/timer.js +0 -13
  232. package/build/monitor/timer.js.map +0 -1
  233. package/build/monitor/tree-builder.d.ts +0 -25
  234. package/build/monitor/tree-builder.d.ts.map +0 -1
  235. package/build/monitor/tree-builder.js +0 -36
  236. package/build/monitor/tree-builder.js.map +0 -1
  237. package/build/schema/events.d.ts +0 -426
  238. package/build/schema/events.d.ts.map +0 -1
  239. package/build/schema/events.js +0 -123
  240. package/build/schema/events.js.map +0 -1
@@ -1,11 +1,292 @@
1
- import { TFeatureStep, TWorld, IStepperCycles, TProvenanceIdentifier } from '../lib/defs.js';
2
- import { AStepper, IHasCycles, TStepperSteps } from '../lib/astepper.js';
1
+ import { TFeatureStep, TWorld, IStepperCycles } from '../lib/defs.js';
2
+ import { TStepArgs, TProvenanceIdentifier, TActionResult } from '../schema/protocol.js';
3
+ import { AStepper, IHasCycles } from '../lib/astepper.js';
3
4
  declare class VariablesStepper extends AStepper implements IHasCycles {
5
+ description: string;
4
6
  cycles: IStepperCycles;
5
7
  steppers: AStepper[];
6
8
  setWorld(world: TWorld, steppers: AStepper[]): Promise<void>;
7
- steps: TStepperSteps;
8
- compareValues(featureStep: TFeatureStep, rawTerm: string, value: string, operator: string): import("../lib/defs.js").TNotOKActionResult | import("../lib/defs.js").TOKActionResult;
9
+ steps: {
10
+ defineOpenSet: {
11
+ gwta: string;
12
+ handlesUndefined: string[];
13
+ action: ({ domain, superdomains }: {
14
+ domain: string;
15
+ superdomains: TFeatureStep[];
16
+ }, featureStep: TFeatureStep) => import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
17
+ };
18
+ defineOrderedSet: {
19
+ precludes: string[];
20
+ handlesUndefined: string[];
21
+ gwta: string;
22
+ action: ({ domain, values }: {
23
+ domain: string;
24
+ values: TFeatureStep[];
25
+ }, featureStep: TFeatureStep) => import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
26
+ };
27
+ defineValuesSet: {
28
+ gwta: string;
29
+ handlesUndefined: string[];
30
+ action: ({ domain, values }: {
31
+ domain: string;
32
+ values: TFeatureStep[];
33
+ }, featureStep: TFeatureStep) => import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
34
+ };
35
+ statementSetValues: {
36
+ expose: false;
37
+ gwta: string;
38
+ action: () => import("../schema/protocol.js").TOKActionResult;
39
+ };
40
+ composeAs: {
41
+ gwta: string;
42
+ handlesUndefined: string[];
43
+ precludes: string[];
44
+ action: ({ domain }: {
45
+ domain: string;
46
+ }, featureStep: TFeatureStep) => TActionResult;
47
+ };
48
+ compose: {
49
+ gwta: string;
50
+ handlesUndefined: string[];
51
+ action: (_: TStepArgs, featureStep: TFeatureStep) => TActionResult;
52
+ };
53
+ increment: {
54
+ gwta: string;
55
+ handlesUndefined: string[];
56
+ action: (_: TStepArgs, featureStep: TFeatureStep) => import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
57
+ };
58
+ showEnv: {
59
+ gwta: string;
60
+ expose: false;
61
+ action: () => Promise<import("../schema/protocol.js").TOKActionResult>;
62
+ };
63
+ showVars: {
64
+ gwta: string;
65
+ action: () => import("../schema/protocol.js").TOKActionResult;
66
+ };
67
+ set: {
68
+ gwta: string;
69
+ handlesUndefined: string[];
70
+ precludes: string[];
71
+ action: (args: TStepArgs, featureStep: TFeatureStep) => TActionResult;
72
+ };
73
+ setAs: {
74
+ gwta: string;
75
+ handlesUndefined: string[];
76
+ precludes: string[];
77
+ action: ({ value, domain }: {
78
+ value: string;
79
+ domain: string;
80
+ }, featureStep: TFeatureStep) => TActionResult;
81
+ };
82
+ unset: {
83
+ gwta: string;
84
+ action: ({ what }: TStepArgs, featureStep: TFeatureStep) => Promise<import("../schema/protocol.js").TOKActionResult>;
85
+ };
86
+ setRandom: {
87
+ precludes: string[];
88
+ gwta: string;
89
+ handlesUndefined: string[];
90
+ action: ({ length }: {
91
+ length: number;
92
+ }, featureStep: TFeatureStep) => TActionResult;
93
+ };
94
+ is: {
95
+ gwta: string;
96
+ handlesUndefined: string[];
97
+ action: (args: TStepArgs, featureStep: TFeatureStep) => import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
98
+ };
99
+ isLessThan: {
100
+ gwta: string;
101
+ handlesUndefined: string[];
102
+ precludes: string[];
103
+ action: ({ what, value }: {
104
+ what: string;
105
+ value: string;
106
+ }, featureStep: TFeatureStep) => import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
107
+ };
108
+ isMoreThan: {
109
+ gwta: string;
110
+ handlesUndefined: string[];
111
+ precludes: string[];
112
+ action: ({ what, value }: {
113
+ what: string;
114
+ value: string;
115
+ }, featureStep: TFeatureStep) => import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
116
+ };
117
+ exists: {
118
+ gwta: string;
119
+ handlesUndefined: string[];
120
+ action: ({ what }: TStepArgs, featureStep: TFeatureStep) => import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
121
+ };
122
+ showVar: {
123
+ gwta: string;
124
+ handlesUndefined: string[];
125
+ action: (_: TStepArgs, featureStep: TFeatureStep) => import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
126
+ };
127
+ showDomains: {
128
+ gwta: string;
129
+ action: () => import("../schema/protocol.js").TOKActionResult;
130
+ };
131
+ showDomain: {
132
+ gwta: string;
133
+ handlesUndefined: string[];
134
+ action: (_: TStepArgs, featureStep: TFeatureStep) => import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
135
+ };
136
+ isIn: {
137
+ match: RegExp;
138
+ fallback: true;
139
+ action: (_: unknown, featureStep: TFeatureStep) => import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
140
+ };
141
+ matches: {
142
+ gwta: string;
143
+ action: ({ value, pattern }: {
144
+ value: string;
145
+ pattern: string;
146
+ }, featureStep: TFeatureStep) => import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
147
+ };
148
+ };
149
+ readonly typedSteps: {
150
+ defineOpenSet: {
151
+ gwta: string;
152
+ handlesUndefined: string[];
153
+ action: ({ domain, superdomains }: {
154
+ domain: string;
155
+ superdomains: TFeatureStep[];
156
+ }, featureStep: TFeatureStep) => import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
157
+ };
158
+ defineOrderedSet: {
159
+ precludes: string[];
160
+ handlesUndefined: string[];
161
+ gwta: string;
162
+ action: ({ domain, values }: {
163
+ domain: string;
164
+ values: TFeatureStep[];
165
+ }, featureStep: TFeatureStep) => import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
166
+ };
167
+ defineValuesSet: {
168
+ gwta: string;
169
+ handlesUndefined: string[];
170
+ action: ({ domain, values }: {
171
+ domain: string;
172
+ values: TFeatureStep[];
173
+ }, featureStep: TFeatureStep) => import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
174
+ };
175
+ statementSetValues: {
176
+ expose: false;
177
+ gwta: string;
178
+ action: () => import("../schema/protocol.js").TOKActionResult;
179
+ };
180
+ composeAs: {
181
+ gwta: string;
182
+ handlesUndefined: string[];
183
+ precludes: string[];
184
+ action: ({ domain }: {
185
+ domain: string;
186
+ }, featureStep: TFeatureStep) => TActionResult;
187
+ };
188
+ compose: {
189
+ gwta: string;
190
+ handlesUndefined: string[];
191
+ action: (_: TStepArgs, featureStep: TFeatureStep) => TActionResult;
192
+ };
193
+ increment: {
194
+ gwta: string;
195
+ handlesUndefined: string[];
196
+ action: (_: TStepArgs, featureStep: TFeatureStep) => import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
197
+ };
198
+ showEnv: {
199
+ gwta: string;
200
+ expose: false;
201
+ action: () => Promise<import("../schema/protocol.js").TOKActionResult>;
202
+ };
203
+ showVars: {
204
+ gwta: string;
205
+ action: () => import("../schema/protocol.js").TOKActionResult;
206
+ };
207
+ set: {
208
+ gwta: string;
209
+ handlesUndefined: string[];
210
+ precludes: string[];
211
+ action: (args: TStepArgs, featureStep: TFeatureStep) => TActionResult;
212
+ };
213
+ setAs: {
214
+ gwta: string;
215
+ handlesUndefined: string[];
216
+ precludes: string[];
217
+ action: ({ value, domain }: {
218
+ value: string;
219
+ domain: string;
220
+ }, featureStep: TFeatureStep) => TActionResult;
221
+ };
222
+ unset: {
223
+ gwta: string;
224
+ action: ({ what }: TStepArgs, featureStep: TFeatureStep) => Promise<import("../schema/protocol.js").TOKActionResult>;
225
+ };
226
+ setRandom: {
227
+ precludes: string[];
228
+ gwta: string;
229
+ handlesUndefined: string[];
230
+ action: ({ length }: {
231
+ length: number;
232
+ }, featureStep: TFeatureStep) => TActionResult;
233
+ };
234
+ is: {
235
+ gwta: string;
236
+ handlesUndefined: string[];
237
+ action: (args: TStepArgs, featureStep: TFeatureStep) => import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
238
+ };
239
+ isLessThan: {
240
+ gwta: string;
241
+ handlesUndefined: string[];
242
+ precludes: string[];
243
+ action: ({ what, value }: {
244
+ what: string;
245
+ value: string;
246
+ }, featureStep: TFeatureStep) => import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
247
+ };
248
+ isMoreThan: {
249
+ gwta: string;
250
+ handlesUndefined: string[];
251
+ precludes: string[];
252
+ action: ({ what, value }: {
253
+ what: string;
254
+ value: string;
255
+ }, featureStep: TFeatureStep) => import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
256
+ };
257
+ exists: {
258
+ gwta: string;
259
+ handlesUndefined: string[];
260
+ action: ({ what }: TStepArgs, featureStep: TFeatureStep) => import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
261
+ };
262
+ showVar: {
263
+ gwta: string;
264
+ handlesUndefined: string[];
265
+ action: (_: TStepArgs, featureStep: TFeatureStep) => import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
266
+ };
267
+ showDomains: {
268
+ gwta: string;
269
+ action: () => import("../schema/protocol.js").TOKActionResult;
270
+ };
271
+ showDomain: {
272
+ gwta: string;
273
+ handlesUndefined: string[];
274
+ action: (_: TStepArgs, featureStep: TFeatureStep) => import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
275
+ };
276
+ isIn: {
277
+ match: RegExp;
278
+ fallback: true;
279
+ action: (_: unknown, featureStep: TFeatureStep) => import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
280
+ };
281
+ matches: {
282
+ gwta: string;
283
+ action: ({ value, pattern }: {
284
+ value: string;
285
+ pattern: string;
286
+ }, featureStep: TFeatureStep) => import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
287
+ };
288
+ };
289
+ compareValues(featureStep: TFeatureStep, rawTerm: string, value: string, operator: string): import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult;
9
290
  /**
10
291
  * Interpolates a template string by replacing {varName} placeholders with variable values.
11
292
  * Returns the interpolated string or an error if a variable is not found.
@@ -1 +1 @@
1
- {"version":3,"file":"variables-stepper.d.ts","sourceRoot":"","sources":["../../src/steps/variables-stepper.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,YAAY,EAAE,MAAM,EAAE,cAAc,EAA0B,qBAAqB,EAAgE,MAAM,gBAAgB,CAAC;AAElM,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAsBzE,cAAM,gBAAiB,SAAQ,QAAS,YAAW,UAAU;IAC5D,MAAM,iBAAgB;IACtB,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACf,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAKlD,KAAK,EAAE,aAAa,CA8ZM;IAE1B,aAAa,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAsCzF;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA0B3B,OAAO,CAAC,8BAA8B;IAmDtC,OAAO,CAAC,iCAAiC;CAgBzC;AAED,eAAe,gBAAgB,CAAC;AAEhC,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,EAAE,OAAO,MAAM;;;;CAE1E,CAAC;AAEH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,YAAY,GAAG,qBAAqB,CAM1F"}
1
+ {"version":3,"file":"variables-stepper.d.ts","sourceRoot":"","sources":["../../src/steps/variables-stepper.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,9 @@
1
1
  import { z } from 'zod';
2
- import { OK, Origin } from '../lib/defs.js';
2
+ import { OK, Origin } from '../schema/protocol.js';
3
3
  import { AStepper } from '../lib/astepper.js';
4
- import { actionOK, actionNotOK, getStepTerm, isLiteralValue } from '../lib/util/index.js';
4
+ import { actionOK, actionNotOK, getStepTerm } from '../lib/util/index.js';
5
5
  import { FeatureVariables } from '../lib/feature-variables.js';
6
6
  import { DOMAIN_STATEMENT, DOMAIN_STRING, normalizeDomainKey, createEnumDomainDefinition, registerDomains } from '../lib/domain-types.js';
7
- import { EExecutionMessageType } from '../lib/interfaces/logger.js';
8
7
  const clearVars = (vars) => () => {
9
8
  vars.getWorld().shared.clear();
10
9
  return;
@@ -17,6 +16,7 @@ const cycles = (variablesStepper) => ({
17
16
  },
18
17
  });
19
18
  class VariablesStepper extends AStepper {
19
+ description = 'Set, get, and compare variables; define domains and check membership';
20
20
  cycles = cycles(this);
21
21
  steppers;
22
22
  async setWorld(world, steppers) {
@@ -83,7 +83,7 @@ class VariablesStepper extends AStepper {
83
83
  const interpolated = this.interpolateTemplate(rawTerm, featureStep);
84
84
  if (interpolated.error)
85
85
  return actionNotOK(interpolated.error);
86
- const term = interpolated.value;
86
+ const term = interpolated?.value;
87
87
  const resolved = this.getWorld().shared.resolveVariable({ term, origin: Origin.var, domain }, featureStep);
88
88
  const presentVal = resolved.value;
89
89
  const effectiveDomain = resolved.domain;
@@ -114,10 +114,6 @@ class VariablesStepper extends AStepper {
114
114
  }
115
115
  const newNum = numVal + 1;
116
116
  this.getWorld().shared.set({ term: String(term), value: String(newNum), domain: effectiveDomain, origin: Origin.var }, provenanceFromFeatureStep(featureStep));
117
- this.getWorld().logger.info(`incremented ${term} to ${newNum}`, {
118
- incident: EExecutionMessageType.ACTION,
119
- incidentDetails: { json: { incremented: { [term]: newNum } } },
120
- });
121
117
  this.getWorld().eventLogger.log(featureStep, 'info', `incremented ${term} to ${newNum}`, {
122
118
  variable: term,
123
119
  oldValue: presentVal,
@@ -140,8 +136,8 @@ class VariablesStepper extends AStepper {
140
136
  gwta: 'show vars',
141
137
  action: () => {
142
138
  const displayVars = Object.fromEntries(Object.entries(this.getWorld().shared.all()).map(([k, v]) => [k, v.value]));
143
- console.info('vars', displayVars);
144
- return actionOK({ artifact: { artifactType: 'json', json: { vars: displayVars } } });
139
+ this.getWorld().eventLogger.info(`vars: ${JSON.stringify(displayVars, null, 2)}`, { vars: displayVars });
140
+ return actionOK();
145
141
  },
146
142
  },
147
143
  set: {
@@ -157,7 +153,7 @@ class VariablesStepper extends AStepper {
157
153
  const interpolated = this.interpolateTemplate(rawTerm, featureStep);
158
154
  if (interpolated.error)
159
155
  return actionNotOK(interpolated.error);
160
- const term = interpolated.value;
156
+ const term = interpolated?.value;
161
157
  const skip = shouldSkipEmpty(featureStep, term, this.getWorld().shared);
162
158
  if (skip)
163
159
  return skip;
@@ -299,16 +295,16 @@ class VariablesStepper extends AStepper {
299
295
  const interpolated = this.interpolateTemplate(rawTerm, featureStep);
300
296
  if (interpolated.error)
301
297
  return actionNotOK(interpolated.error);
302
- const term = interpolated.value;
298
+ const term = interpolated.value || '';
303
299
  const stepValue = this.getWorld().shared.resolveVariable({ term, origin: Origin.defined }, featureStep);
304
300
  if (stepValue.value === undefined) {
305
- this.getWorld().logger.info(`is undefined`);
301
+ this.getWorld().eventLogger.info(`${term} is undefined`);
306
302
  }
307
303
  else {
308
304
  const provenance = featureStep.action.stepValuesMap.what.provenance?.map((p, i) => ({ [i]: { in: p.in, seq: p.seq.join(','), when: p.when } }));
309
- this.getWorld().logger.info(`is ${JSON.stringify({ ...stepValue, provenance }, null, 2)}`);
305
+ this.getWorld().eventLogger.info(`${term} is ${JSON.stringify({ ...stepValue, provenance }, null, 2)}`, { variable: term, value: stepValue });
310
306
  }
311
- return actionOK({ artifact: { artifactType: 'json', json: { json: stepValue } } });
307
+ return actionOK();
312
308
  }
313
309
  },
314
310
  showDomains: {
@@ -318,14 +314,12 @@ class VariablesStepper extends AStepper {
318
314
  const allVars = this.getWorld().shared.all();
319
315
  const summary = {};
320
316
  for (const [name, def] of Object.entries(domains)) {
321
- // Count variables in this domain
322
317
  let members = 0;
323
318
  for (const variable of Object.values(allVars)) {
324
319
  if (variable.domain && normalizeDomainKey(variable.domain) === name) {
325
320
  members++;
326
321
  }
327
322
  }
328
- // Determine type from schema or values
329
323
  let type = 'schema';
330
324
  if (def.values) {
331
325
  type = def.values;
@@ -339,7 +333,7 @@ class VariablesStepper extends AStepper {
339
333
  ordered: !!def.comparator
340
334
  };
341
335
  }
342
- this.getWorld().logger.info(`Domains: ${JSON.stringify(summary, null, 2)}`);
336
+ this.getWorld().eventLogger.info(`Domains: ${JSON.stringify(summary, null, 2)}`, { domains: summary });
343
337
  return OK;
344
338
  }
345
339
  },
@@ -359,7 +353,7 @@ class VariablesStepper extends AStepper {
359
353
  members[key] = variable.value;
360
354
  }
361
355
  }
362
- this.getWorld().logger.info(`Domain "${name}": ${JSON.stringify({ ...domain, members }, null, 2)}`);
356
+ this.getWorld().eventLogger.info(`Domain "${name}": ${JSON.stringify({ ...domain, members }, null, 2)}`, { domain: name, ...domain, members });
363
357
  return OK;
364
358
  }
365
359
  },
@@ -407,20 +401,41 @@ class VariablesStepper extends AStepper {
407
401
  : actionNotOK(`"${actualValue}" is not in ${domainName}`);
408
402
  }
409
403
  },
410
- // Starts with: predicate for prefix checking
411
- // Starts with literal 'that' for unambiguous parsing in compositions
412
- // Usage: that {page} starts with {prefix}
413
- startsWith: {
414
- gwta: 'that {value} starts with {prefix}',
415
- action: ({ value, prefix }) => {
416
- const actualValue = String(value);
417
- const actualPrefix = String(prefix);
418
- return actualValue.startsWith(actualPrefix)
404
+ // Pattern matching: glob-style patterns for human-readable matching
405
+ // Usage: matches {host} with "*.wikipedia.org"
406
+ // matches {path} with "/api/*"
407
+ // matches {name} with "*test*"
408
+ // Supports * as wildcard (matches any characters)
409
+ // Variables in pattern are interpolated: "{counter URI}*" resolves to actual value
410
+ matches: {
411
+ gwta: 'matches {value} with {pattern}',
412
+ action: ({ value, pattern }, featureStep) => {
413
+ // Interpolate value (e.g. "{request}/url" -> "req-1/url")
414
+ const interpolatedValue = this.interpolateTemplate(value, featureStep);
415
+ if (interpolatedValue.error)
416
+ return actionNotOK(interpolatedValue.error);
417
+ const term = interpolatedValue.value;
418
+ // Resolve value as a variable (e.g., "WebPlaywright/currentURI" -> actual URL)
419
+ const resolved = this.getWorld().shared.resolveVariable({ term, origin: Origin.defined }, featureStep);
420
+ const actualValue = resolved.value !== undefined ? String(resolved.value) : String(term);
421
+ // Interpolate variables in pattern (e.g., "{counter URI}*" -> "http://localhost:8123/*")
422
+ const interpolated = this.interpolateTemplate(pattern, featureStep);
423
+ if (interpolated.error)
424
+ return actionNotOK(interpolated.error);
425
+ const actualPattern = interpolated.value;
426
+ // Convert glob pattern to regex
427
+ // Escape regex special chars except *, then replace * with .*
428
+ const escaped = actualPattern.replace(/[.+?^${}()|[\]\\]/g, '\\$&');
429
+ const regexPattern = escaped.replace(/\*/g, '.*');
430
+ const regex = new RegExp(`^${regexPattern}$`);
431
+ const isMatch = regex.test(actualValue);
432
+ return isMatch
419
433
  ? OK
420
- : actionNotOK(`"${actualValue}" does not start with "${actualPrefix}"`);
434
+ : actionNotOK(`"${actualValue}" does not match pattern "${actualPattern}"`);
421
435
  }
422
436
  },
423
437
  };
438
+ typedSteps = this.steps;
424
439
  compareValues(featureStep, rawTerm, value, operator) {
425
440
  const interpolated = this.interpolateTemplate(rawTerm, featureStep);
426
441
  if (interpolated.error)
@@ -466,12 +481,6 @@ class VariablesStepper extends AStepper {
466
481
  let match;
467
482
  while ((match = placeholderRegex.exec(template)) !== null) {
468
483
  const varName = match[1];
469
- // Origin.defined checks runtimeArgs -> env -> literal fallback?
470
- // We want strict. If resolves to literal, that's fine if user quoted it?
471
- // But {unknown} resolves to undefined if not found?
472
- // In feature-variables.ts, resolveVariable defaults to input.term if isLiteralValue.
473
- // {unknown} is NOT literal value (braces).
474
- // So resolveVariable returns undefined.
475
484
  const resolved = this.getWorld().shared.resolveVariable({ term: varName, origin: Origin.defined }, featureStep);
476
485
  if (resolved.value === undefined) {
477
486
  return { error: `Variable ${varName} not found` };
@@ -613,22 +622,7 @@ const compareDomainValues = (domain, left, right, domainName) => {
613
622
  }
614
623
  throw new Error(`Domain ${domainName} does not support magnitude comparison`);
615
624
  };
616
- const renderComparable = (value) => {
617
- if (value instanceof Date) {
618
- return value.toISOString();
619
- }
620
- return JSON.stringify(value);
621
- };
622
625
  // ======== Helpers ========
623
- // Resolves undefined value to literal if it looks like a string
624
- function resolveValueOrLiteral(valMap, value) {
625
- if (valMap && valMap.origin === Origin.defined && value === undefined) {
626
- return isLiteralValue(valMap.term)
627
- ? { value: String(valMap.term) }
628
- : { value: undefined, error: `Variable ${valMap.term} is not defined` };
629
- }
630
- return { value };
631
- }
632
626
  // Returns OK if "set empty" and variable exists
633
627
  function shouldSkipEmpty(featureStep, term, shared) {
634
628
  return (featureStep.in.includes('set empty ') && shared.get(term) !== undefined) ? OK : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"variables-stepper.js","sourceRoot":"","sources":["../../src/steps/variables-stepper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"variables-stepper.js","sourceRoot":"","sources":["../../src/steps/variables-stepper.ts"],"names":[],"mappings":"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"}