@grimoirelabs/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/dist/builders/expressions.d.ts +33 -0
  2. package/dist/builders/expressions.d.ts.map +1 -0
  3. package/dist/builders/expressions.js +57 -0
  4. package/dist/builders/expressions.js.map +1 -0
  5. package/dist/builders/index.d.ts +44 -0
  6. package/dist/builders/index.d.ts.map +1 -0
  7. package/dist/builders/index.js +32 -0
  8. package/dist/builders/index.js.map +1 -0
  9. package/dist/builders/spell-builder.d.ts +124 -0
  10. package/dist/builders/spell-builder.d.ts.map +1 -0
  11. package/dist/builders/spell-builder.js +299 -0
  12. package/dist/builders/spell-builder.js.map +1 -0
  13. package/dist/builders/step-builder.d.ts +212 -0
  14. package/dist/builders/step-builder.d.ts.map +1 -0
  15. package/dist/builders/step-builder.js +499 -0
  16. package/dist/builders/step-builder.js.map +1 -0
  17. package/dist/compiler/expression-parser.d.ts +14 -0
  18. package/dist/compiler/expression-parser.d.ts.map +1 -0
  19. package/dist/compiler/expression-parser.js +460 -0
  20. package/dist/compiler/expression-parser.js.map +1 -0
  21. package/dist/compiler/grimoire/ast.d.ts +450 -0
  22. package/dist/compiler/grimoire/ast.d.ts.map +1 -0
  23. package/dist/compiler/grimoire/ast.js +19 -0
  24. package/dist/compiler/grimoire/ast.js.map +1 -0
  25. package/dist/compiler/grimoire/errors.d.ts +65 -0
  26. package/dist/compiler/grimoire/errors.d.ts.map +1 -0
  27. package/dist/compiler/grimoire/errors.js +86 -0
  28. package/dist/compiler/grimoire/errors.js.map +1 -0
  29. package/dist/compiler/grimoire/index.d.ts +24 -0
  30. package/dist/compiler/grimoire/index.d.ts.map +1 -0
  31. package/dist/compiler/grimoire/index.js +63 -0
  32. package/dist/compiler/grimoire/index.js.map +1 -0
  33. package/dist/compiler/grimoire/parser.d.ts +135 -0
  34. package/dist/compiler/grimoire/parser.d.ts.map +1 -0
  35. package/dist/compiler/grimoire/parser.js +2148 -0
  36. package/dist/compiler/grimoire/parser.js.map +1 -0
  37. package/dist/compiler/grimoire/tokenizer.d.ts +59 -0
  38. package/dist/compiler/grimoire/tokenizer.d.ts.map +1 -0
  39. package/dist/compiler/grimoire/tokenizer.js +509 -0
  40. package/dist/compiler/grimoire/tokenizer.js.map +1 -0
  41. package/dist/compiler/grimoire/transformer.d.ts +71 -0
  42. package/dist/compiler/grimoire/transformer.d.ts.map +1 -0
  43. package/dist/compiler/grimoire/transformer.js +1011 -0
  44. package/dist/compiler/grimoire/transformer.js.map +1 -0
  45. package/dist/compiler/index.d.ts +45 -0
  46. package/dist/compiler/index.d.ts.map +1 -0
  47. package/dist/compiler/index.js +97 -0
  48. package/dist/compiler/index.js.map +1 -0
  49. package/dist/compiler/ir-generator.d.ts +16 -0
  50. package/dist/compiler/ir-generator.d.ts.map +1 -0
  51. package/dist/compiler/ir-generator.js +997 -0
  52. package/dist/compiler/ir-generator.js.map +1 -0
  53. package/dist/compiler/validator.d.ts +15 -0
  54. package/dist/compiler/validator.d.ts.map +1 -0
  55. package/dist/compiler/validator.js +401 -0
  56. package/dist/compiler/validator.js.map +1 -0
  57. package/dist/index.d.ts +16 -0
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/index.js +17 -0
  60. package/dist/index.js.map +1 -0
  61. package/dist/runtime/circuit-breaker.d.ts +59 -0
  62. package/dist/runtime/circuit-breaker.d.ts.map +1 -0
  63. package/dist/runtime/circuit-breaker.js +155 -0
  64. package/dist/runtime/circuit-breaker.js.map +1 -0
  65. package/dist/runtime/context.d.ts +92 -0
  66. package/dist/runtime/context.d.ts.map +1 -0
  67. package/dist/runtime/context.js +219 -0
  68. package/dist/runtime/context.js.map +1 -0
  69. package/dist/runtime/error-classifier.d.ts +16 -0
  70. package/dist/runtime/error-classifier.d.ts.map +1 -0
  71. package/dist/runtime/error-classifier.js +38 -0
  72. package/dist/runtime/error-classifier.js.map +1 -0
  73. package/dist/runtime/expression-evaluator.d.ts +36 -0
  74. package/dist/runtime/expression-evaluator.d.ts.map +1 -0
  75. package/dist/runtime/expression-evaluator.js +391 -0
  76. package/dist/runtime/expression-evaluator.js.map +1 -0
  77. package/dist/runtime/index.d.ts +12 -0
  78. package/dist/runtime/index.d.ts.map +1 -0
  79. package/dist/runtime/index.js +11 -0
  80. package/dist/runtime/index.js.map +1 -0
  81. package/dist/runtime/interpreter.d.ts +59 -0
  82. package/dist/runtime/interpreter.d.ts.map +1 -0
  83. package/dist/runtime/interpreter.js +414 -0
  84. package/dist/runtime/interpreter.js.map +1 -0
  85. package/dist/runtime/skills/registry.d.ts +11 -0
  86. package/dist/runtime/skills/registry.d.ts.map +1 -0
  87. package/dist/runtime/skills/registry.js +73 -0
  88. package/dist/runtime/skills/registry.js.map +1 -0
  89. package/dist/runtime/sqlite-state-store.d.ts +28 -0
  90. package/dist/runtime/sqlite-state-store.d.ts.map +1 -0
  91. package/dist/runtime/sqlite-state-store.js +180 -0
  92. package/dist/runtime/sqlite-state-store.js.map +1 -0
  93. package/dist/runtime/state-store.d.ts +52 -0
  94. package/dist/runtime/state-store.d.ts.map +1 -0
  95. package/dist/runtime/state-store.js +32 -0
  96. package/dist/runtime/state-store.js.map +1 -0
  97. package/dist/runtime/steps/action.d.ts +17 -0
  98. package/dist/runtime/steps/action.d.ts.map +1 -0
  99. package/dist/runtime/steps/action.js +430 -0
  100. package/dist/runtime/steps/action.js.map +1 -0
  101. package/dist/runtime/steps/advisory.d.ts +28 -0
  102. package/dist/runtime/steps/advisory.d.ts.map +1 -0
  103. package/dist/runtime/steps/advisory.js +209 -0
  104. package/dist/runtime/steps/advisory.js.map +1 -0
  105. package/dist/runtime/steps/compute.d.ts +9 -0
  106. package/dist/runtime/steps/compute.d.ts.map +1 -0
  107. package/dist/runtime/steps/compute.js +74 -0
  108. package/dist/runtime/steps/compute.js.map +1 -0
  109. package/dist/runtime/steps/conditional.d.ts +14 -0
  110. package/dist/runtime/steps/conditional.d.ts.map +1 -0
  111. package/dist/runtime/steps/conditional.js +58 -0
  112. package/dist/runtime/steps/conditional.js.map +1 -0
  113. package/dist/runtime/steps/emit.d.ts +9 -0
  114. package/dist/runtime/steps/emit.d.ts.map +1 -0
  115. package/dist/runtime/steps/emit.js +70 -0
  116. package/dist/runtime/steps/emit.js.map +1 -0
  117. package/dist/runtime/steps/halt.d.ts +9 -0
  118. package/dist/runtime/steps/halt.d.ts.map +1 -0
  119. package/dist/runtime/steps/halt.js +19 -0
  120. package/dist/runtime/steps/halt.js.map +1 -0
  121. package/dist/runtime/steps/loop.d.ts +14 -0
  122. package/dist/runtime/steps/loop.d.ts.map +1 -0
  123. package/dist/runtime/steps/loop.js +109 -0
  124. package/dist/runtime/steps/loop.js.map +1 -0
  125. package/dist/runtime/steps/parallel.d.ts +9 -0
  126. package/dist/runtime/steps/parallel.d.ts.map +1 -0
  127. package/dist/runtime/steps/parallel.js +87 -0
  128. package/dist/runtime/steps/parallel.js.map +1 -0
  129. package/dist/runtime/steps/pipeline.d.ts +9 -0
  130. package/dist/runtime/steps/pipeline.d.ts.map +1 -0
  131. package/dist/runtime/steps/pipeline.js +125 -0
  132. package/dist/runtime/steps/pipeline.js.map +1 -0
  133. package/dist/runtime/steps/try.d.ts +13 -0
  134. package/dist/runtime/steps/try.d.ts.map +1 -0
  135. package/dist/runtime/steps/try.js +222 -0
  136. package/dist/runtime/steps/try.js.map +1 -0
  137. package/dist/runtime/steps/wait.d.ts +9 -0
  138. package/dist/runtime/steps/wait.d.ts.map +1 -0
  139. package/dist/runtime/steps/wait.js +38 -0
  140. package/dist/runtime/steps/wait.js.map +1 -0
  141. package/dist/types/actions.d.ts +162 -0
  142. package/dist/types/actions.d.ts.map +1 -0
  143. package/dist/types/actions.js +5 -0
  144. package/dist/types/actions.js.map +1 -0
  145. package/dist/types/execution.d.ts +276 -0
  146. package/dist/types/execution.d.ts.map +1 -0
  147. package/dist/types/execution.js +5 -0
  148. package/dist/types/execution.js.map +1 -0
  149. package/dist/types/expressions.d.ts +100 -0
  150. package/dist/types/expressions.d.ts.map +1 -0
  151. package/dist/types/expressions.js +48 -0
  152. package/dist/types/expressions.js.map +1 -0
  153. package/dist/types/index.d.ts +14 -0
  154. package/dist/types/index.d.ts.map +1 -0
  155. package/dist/types/index.js +5 -0
  156. package/dist/types/index.js.map +1 -0
  157. package/dist/types/ir.d.ts +187 -0
  158. package/dist/types/ir.d.ts.map +1 -0
  159. package/dist/types/ir.js +5 -0
  160. package/dist/types/ir.js.map +1 -0
  161. package/dist/types/policy.d.ts +123 -0
  162. package/dist/types/policy.d.ts.map +1 -0
  163. package/dist/types/policy.js +5 -0
  164. package/dist/types/policy.js.map +1 -0
  165. package/dist/types/primitives.d.ts +76 -0
  166. package/dist/types/primitives.d.ts.map +1 -0
  167. package/dist/types/primitives.js +10 -0
  168. package/dist/types/primitives.js.map +1 -0
  169. package/dist/types/steps.d.ts +226 -0
  170. package/dist/types/steps.d.ts.map +1 -0
  171. package/dist/types/steps.js +5 -0
  172. package/dist/types/steps.js.map +1 -0
  173. package/dist/venues/index.d.ts +6 -0
  174. package/dist/venues/index.d.ts.map +1 -0
  175. package/dist/venues/index.js +26 -0
  176. package/dist/venues/index.js.map +1 -0
  177. package/dist/venues/types.d.ts +40 -0
  178. package/dist/venues/types.d.ts.map +1 -0
  179. package/dist/venues/types.js +5 -0
  180. package/dist/venues/types.js.map +1 -0
  181. package/dist/wallet/executor.d.ts +109 -0
  182. package/dist/wallet/executor.d.ts.map +1 -0
  183. package/dist/wallet/executor.js +354 -0
  184. package/dist/wallet/executor.js.map +1 -0
  185. package/dist/wallet/index.d.ts +14 -0
  186. package/dist/wallet/index.d.ts.map +1 -0
  187. package/dist/wallet/index.js +13 -0
  188. package/dist/wallet/index.js.map +1 -0
  189. package/dist/wallet/keystore.d.ts +44 -0
  190. package/dist/wallet/keystore.d.ts.map +1 -0
  191. package/dist/wallet/keystore.js +296 -0
  192. package/dist/wallet/keystore.js.map +1 -0
  193. package/dist/wallet/provider.d.ts +111 -0
  194. package/dist/wallet/provider.d.ts.map +1 -0
  195. package/dist/wallet/provider.js +309 -0
  196. package/dist/wallet/provider.js.map +1 -0
  197. package/dist/wallet/tx-builder.d.ts +85 -0
  198. package/dist/wallet/tx-builder.d.ts.map +1 -0
  199. package/dist/wallet/tx-builder.js +290 -0
  200. package/dist/wallet/tx-builder.js.map +1 -0
  201. package/dist/wallet/types.d.ts +116 -0
  202. package/dist/wallet/types.d.ts.map +1 -0
  203. package/dist/wallet/types.js +86 -0
  204. package/dist/wallet/types.js.map +1 -0
  205. package/package.json +39 -0
@@ -0,0 +1,499 @@
1
+ /**
2
+ * Step builders - fluent API for creating execution steps
3
+ */
4
+ import { literal } from "./expressions.js";
5
+ /** Base step builder */
6
+ export class StepBuilder {
7
+ _id;
8
+ _dependsOn = [];
9
+ constructor(id) {
10
+ this._id = id;
11
+ }
12
+ /** Set dependencies on other steps */
13
+ dependsOn(...stepIds) {
14
+ this._dependsOn = stepIds;
15
+ return this;
16
+ }
17
+ }
18
+ // =============================================================================
19
+ // COMPUTE STEP
20
+ // =============================================================================
21
+ export class ComputeBuilder extends StepBuilder {
22
+ _assignments = [];
23
+ /** Add an assignment */
24
+ assign(variable, expression) {
25
+ this._assignments.push({ variable, expression });
26
+ return this;
27
+ }
28
+ /** Build the compute step */
29
+ build() {
30
+ return {
31
+ kind: "compute",
32
+ id: this._id,
33
+ assignments: this._assignments,
34
+ dependsOn: this._dependsOn,
35
+ };
36
+ }
37
+ }
38
+ /** Create a compute step builder */
39
+ export function compute(id) {
40
+ return new ComputeBuilder(id);
41
+ }
42
+ // =============================================================================
43
+ // ACTION STEP
44
+ // =============================================================================
45
+ export class ActionBuilder extends StepBuilder {
46
+ _skill;
47
+ _action;
48
+ _constraints = {};
49
+ _outputBinding;
50
+ constructor(act) {
51
+ super(`action-${act.type}-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`);
52
+ this._action = act;
53
+ }
54
+ /** Set the skill name */
55
+ skill(name) {
56
+ this._skill = name;
57
+ return this;
58
+ }
59
+ /** Set action constraints */
60
+ constraints(constraints) {
61
+ this._constraints = constraints;
62
+ return this;
63
+ }
64
+ /** Set output binding */
65
+ outputBinding(name) {
66
+ this._outputBinding = name;
67
+ return this;
68
+ }
69
+ /** Build the action step */
70
+ build() {
71
+ return {
72
+ kind: "action",
73
+ id: this._id,
74
+ skill: this._skill,
75
+ action: this._action,
76
+ constraints: this._constraints,
77
+ outputBinding: this._outputBinding,
78
+ dependsOn: this._dependsOn,
79
+ onFailure: "revert",
80
+ };
81
+ }
82
+ }
83
+ /** Create an action step builder */
84
+ export function action(act) {
85
+ return new ActionBuilder(act);
86
+ }
87
+ // =============================================================================
88
+ // CONDITIONAL STEP
89
+ // =============================================================================
90
+ export class ConditionalBuilder extends StepBuilder {
91
+ _condition;
92
+ _thenSteps = [];
93
+ _elseSteps = [];
94
+ constructor(condition) {
95
+ super(`conditional-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`);
96
+ this._condition = condition;
97
+ }
98
+ /** Add a then step */
99
+ then(stepId) {
100
+ this._thenSteps.push(stepId);
101
+ return this;
102
+ }
103
+ /** Add an else step */
104
+ else(stepId) {
105
+ this._elseSteps.push(stepId);
106
+ return this;
107
+ }
108
+ /** Build the conditional step */
109
+ build() {
110
+ return {
111
+ kind: "conditional",
112
+ id: this._id,
113
+ condition: this._condition,
114
+ thenSteps: this._thenSteps,
115
+ elseSteps: this._elseSteps,
116
+ dependsOn: this._dependsOn,
117
+ };
118
+ }
119
+ }
120
+ /** Create a conditional step builder */
121
+ export function conditional(condition) {
122
+ return new ConditionalBuilder(condition);
123
+ }
124
+ // =============================================================================
125
+ // LOOP STEP
126
+ // =============================================================================
127
+ export class LoopBuilder extends StepBuilder {
128
+ _loopType;
129
+ _bodySteps = [];
130
+ _maxIterations;
131
+ _parallel;
132
+ _outputBinding;
133
+ constructor(loopType, maxIterations) {
134
+ super(`loop-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`);
135
+ this._loopType = loopType;
136
+ this._maxIterations = maxIterations;
137
+ }
138
+ /** Add a body step */
139
+ body(stepId) {
140
+ this._bodySteps.push(stepId);
141
+ return this;
142
+ }
143
+ /** Set parallel execution */
144
+ parallel() {
145
+ this._parallel = true;
146
+ return this;
147
+ }
148
+ /** Set output binding */
149
+ outputBinding(name) {
150
+ this._outputBinding = name;
151
+ return this;
152
+ }
153
+ /** Build the loop step */
154
+ build() {
155
+ return {
156
+ kind: "loop",
157
+ id: this._id,
158
+ loopType: this._loopType,
159
+ bodySteps: this._bodySteps,
160
+ maxIterations: this._maxIterations,
161
+ parallel: this._parallel,
162
+ outputBinding: this._outputBinding,
163
+ dependsOn: this._dependsOn,
164
+ };
165
+ }
166
+ }
167
+ /** Create a repeat loop builder */
168
+ export function repeat(count, maxIterations) {
169
+ return new LoopBuilder({ type: "repeat", count }, maxIterations);
170
+ }
171
+ /** Create a for loop builder */
172
+ export function forLoop(variable, source, maxIterations) {
173
+ return new LoopBuilder({ type: "for", variable, source }, maxIterations);
174
+ }
175
+ /** Create an until loop builder */
176
+ export function until(condition, maxIterations) {
177
+ return new LoopBuilder({ type: "until", condition }, maxIterations);
178
+ }
179
+ // =============================================================================
180
+ // PARALLEL STEP
181
+ // =============================================================================
182
+ export class ParallelBuilder extends StepBuilder {
183
+ _branches = [];
184
+ _join = { type: "all" };
185
+ _onFail = "abort";
186
+ _timeout;
187
+ _outputBinding;
188
+ /** Add a branch */
189
+ branch(name, steps) {
190
+ this._branches.push({
191
+ id: `branch-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`,
192
+ name,
193
+ steps,
194
+ });
195
+ return this;
196
+ }
197
+ /** Set join strategy */
198
+ join(strategy) {
199
+ this._join = strategy;
200
+ return this;
201
+ }
202
+ /** Set on fail behavior */
203
+ onFail(behavior) {
204
+ this._onFail = behavior;
205
+ return this;
206
+ }
207
+ /** Set timeout */
208
+ timeout(seconds) {
209
+ this._timeout = seconds;
210
+ return this;
211
+ }
212
+ /** Set output binding */
213
+ outputBinding(name) {
214
+ this._outputBinding = name;
215
+ return this;
216
+ }
217
+ /** Build the parallel step */
218
+ build() {
219
+ return {
220
+ kind: "parallel",
221
+ id: this._id,
222
+ branches: this._branches,
223
+ join: this._join,
224
+ onFail: this._onFail,
225
+ timeout: this._timeout,
226
+ outputBinding: this._outputBinding,
227
+ dependsOn: this._dependsOn,
228
+ };
229
+ }
230
+ }
231
+ /** Create a parallel step builder */
232
+ export function parallel(id) {
233
+ return new ParallelBuilder(id);
234
+ }
235
+ // =============================================================================
236
+ // PIPELINE STEP
237
+ // =============================================================================
238
+ export class PipelineBuilder extends StepBuilder {
239
+ _source;
240
+ _stages = [];
241
+ _parallel;
242
+ _parallelConfig;
243
+ _outputBinding;
244
+ constructor(source) {
245
+ super(`pipeline-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`);
246
+ this._source = source;
247
+ }
248
+ /** Add a where stage */
249
+ where(predicate) {
250
+ this._stages.push({ op: "where", predicate });
251
+ return this;
252
+ }
253
+ /** Add a map stage */
254
+ map(stepId) {
255
+ this._stages.push({ op: "map", step: stepId });
256
+ return this;
257
+ }
258
+ /** Add a filter stage */
259
+ filter(stepId) {
260
+ this._stages.push({ op: "filter", step: stepId });
261
+ return this;
262
+ }
263
+ /** Add a reduce stage */
264
+ reduce(stepId, initial) {
265
+ this._stages.push({ op: "reduce", step: stepId, initial });
266
+ return this;
267
+ }
268
+ /** Add a take stage */
269
+ take(count) {
270
+ this._stages.push({ op: "take", count });
271
+ return this;
272
+ }
273
+ /** Add a skip stage */
274
+ skip(count) {
275
+ this._stages.push({ op: "skip", count });
276
+ return this;
277
+ }
278
+ /** Add a sort stage */
279
+ sort(by, order) {
280
+ this._stages.push({ op: "sort", by, order });
281
+ return this;
282
+ }
283
+ /** Set parallel execution */
284
+ parallel(maxConcurrency, onFail = "abort") {
285
+ this._parallel = true;
286
+ this._parallelConfig = {
287
+ maxConcurrency,
288
+ onFail,
289
+ };
290
+ return this;
291
+ }
292
+ /** Set output binding */
293
+ outputBinding(name) {
294
+ this._outputBinding = name;
295
+ return this;
296
+ }
297
+ /** Build the pipeline step */
298
+ build() {
299
+ return {
300
+ kind: "pipeline",
301
+ id: this._id,
302
+ source: this._source,
303
+ stages: this._stages,
304
+ parallel: this._parallel,
305
+ parallelConfig: this._parallelConfig,
306
+ outputBinding: this._outputBinding,
307
+ dependsOn: this._dependsOn,
308
+ };
309
+ }
310
+ }
311
+ /** Create a pipeline step builder */
312
+ export function pipeline(source) {
313
+ return new PipelineBuilder(source);
314
+ }
315
+ // =============================================================================
316
+ // TRY STEP
317
+ // =============================================================================
318
+ export class TryBuilder extends StepBuilder {
319
+ _trySteps = [];
320
+ _catchBlocks = [];
321
+ _finallySteps;
322
+ /** Add a try step */
323
+ tryStep(stepId) {
324
+ this._trySteps.push(stepId);
325
+ return this;
326
+ }
327
+ /** Add a catch block */
328
+ catchBlock(config) {
329
+ this._catchBlocks.push({
330
+ errorType: config.errorType,
331
+ steps: config.steps,
332
+ retry: config.retry,
333
+ action: config.action,
334
+ alert: config.alert,
335
+ });
336
+ return this;
337
+ }
338
+ /** Add a finally step */
339
+ finallyStep(stepId) {
340
+ this._finallySteps = this._finallySteps ?? [];
341
+ this._finallySteps.push(stepId);
342
+ return this;
343
+ }
344
+ /** Build the try step */
345
+ build() {
346
+ return {
347
+ kind: "try",
348
+ id: this._id,
349
+ trySteps: this._trySteps,
350
+ catchBlocks: this._catchBlocks,
351
+ finallySteps: this._finallySteps,
352
+ dependsOn: this._dependsOn,
353
+ };
354
+ }
355
+ }
356
+ /** Create a try block builder */
357
+ export function tryBlock(id) {
358
+ return new TryBuilder(id);
359
+ }
360
+ // =============================================================================
361
+ // ADVISORY STEP
362
+ // =============================================================================
363
+ export class AdvisoryBuilder extends StepBuilder {
364
+ _advisor;
365
+ _prompt;
366
+ _context;
367
+ _outputSchema;
368
+ _outputBinding;
369
+ _timeout;
370
+ _fallback;
371
+ constructor(advisor, prompt, outputBinding) {
372
+ super(`advisory-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`);
373
+ this._advisor = advisor;
374
+ this._prompt = prompt;
375
+ this._outputBinding = outputBinding;
376
+ this._outputSchema = {
377
+ type: "boolean",
378
+ };
379
+ this._timeout = 30000;
380
+ this._fallback = literal(false);
381
+ }
382
+ /** Set context variables */
383
+ context(key, value) {
384
+ this._context = this._context ?? {};
385
+ this._context[key] = value;
386
+ return this;
387
+ }
388
+ /** Set output schema */
389
+ outputSchema(schema) {
390
+ this._outputSchema = schema;
391
+ return this;
392
+ }
393
+ /** Set timeout */
394
+ timeout(seconds) {
395
+ this._timeout = seconds;
396
+ return this;
397
+ }
398
+ /** Set fallback value */
399
+ fallback(value) {
400
+ this._fallback = value;
401
+ return this;
402
+ }
403
+ /** Build the advisory step */
404
+ build() {
405
+ return {
406
+ kind: "advisory",
407
+ id: this._id,
408
+ advisor: this._advisor,
409
+ prompt: this._prompt,
410
+ context: this._context,
411
+ outputSchema: this._outputSchema,
412
+ outputBinding: this._outputBinding,
413
+ timeout: this._timeout,
414
+ fallback: this._fallback,
415
+ dependsOn: this._dependsOn,
416
+ };
417
+ }
418
+ }
419
+ /** Create an advisory step builder */
420
+ export function advisory(advisor, prompt, outputBinding) {
421
+ return new AdvisoryBuilder(advisor, prompt, outputBinding);
422
+ }
423
+ // =============================================================================
424
+ // WAIT STEP
425
+ // =============================================================================
426
+ export class WaitBuilder extends StepBuilder {
427
+ _duration;
428
+ constructor(duration) {
429
+ super(`wait-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`);
430
+ this._duration = duration;
431
+ }
432
+ /** Build the wait step */
433
+ build() {
434
+ return {
435
+ kind: "wait",
436
+ id: this._id,
437
+ duration: this._duration,
438
+ dependsOn: this._dependsOn,
439
+ };
440
+ }
441
+ }
442
+ /** Create a wait step builder */
443
+ export function wait(seconds) {
444
+ return new WaitBuilder(seconds);
445
+ }
446
+ // =============================================================================
447
+ // EMIT STEP
448
+ // =============================================================================
449
+ export class EmitBuilder extends StepBuilder {
450
+ _event;
451
+ _data = {};
452
+ constructor(event) {
453
+ super(`emit-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`);
454
+ this._event = event;
455
+ }
456
+ /** Add an event data field */
457
+ data(key, value) {
458
+ this._data[key] = value;
459
+ return this;
460
+ }
461
+ /** Build the emit step */
462
+ build() {
463
+ return {
464
+ kind: "emit",
465
+ id: this._id,
466
+ event: this._event,
467
+ data: this._data,
468
+ dependsOn: this._dependsOn,
469
+ };
470
+ }
471
+ }
472
+ /** Create an emit step builder */
473
+ export function emit(event) {
474
+ return new EmitBuilder(event);
475
+ }
476
+ // =============================================================================
477
+ // HALT STEP
478
+ // =============================================================================
479
+ export class HaltBuilder extends StepBuilder {
480
+ _reason;
481
+ constructor(reason) {
482
+ super(`halt-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`);
483
+ this._reason = reason;
484
+ }
485
+ /** Build the halt step */
486
+ build() {
487
+ return {
488
+ kind: "halt",
489
+ id: this._id,
490
+ reason: this._reason,
491
+ dependsOn: this._dependsOn,
492
+ };
493
+ }
494
+ }
495
+ /** Create a halt step builder */
496
+ export function halt(reason) {
497
+ return new HaltBuilder(reason);
498
+ }
499
+ //# sourceMappingURL=step-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step-builder.js","sourceRoot":"","sources":["../../src/builders/step-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Expression parser
3
+ * Converts string expressions to Expression IR nodes
4
+ */
5
+ import type { Expression } from "../types/expressions.js";
6
+ /**
7
+ * Parse an expression string into an Expression AST
8
+ */
9
+ export declare function parseExpression(input: string): Expression;
10
+ /**
11
+ * Try to parse an expression, returning null on failure
12
+ */
13
+ export declare function tryParseExpression(input: string): Expression | null;
14
+ //# sourceMappingURL=expression-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-parser.d.ts","sourceRoot":"","sources":["../../src/compiler/expression-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAuB,UAAU,EAAW,MAAM,yBAAyB,CAAC;AAohBxF;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAIzD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAMnE"}