@grimoirelabs/core 0.6.0 → 0.8.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 (90) hide show
  1. package/dist/compiler/expression-parser.d.ts.map +1 -1
  2. package/dist/compiler/expression-parser.js +2 -0
  3. package/dist/compiler/expression-parser.js.map +1 -1
  4. package/dist/compiler/grimoire/ast.d.ts +5 -0
  5. package/dist/compiler/grimoire/ast.d.ts.map +1 -1
  6. package/dist/compiler/grimoire/ast.js.map +1 -1
  7. package/dist/compiler/grimoire/errors.d.ts +1 -1
  8. package/dist/compiler/grimoire/errors.d.ts.map +1 -1
  9. package/dist/compiler/grimoire/errors.js +2 -2
  10. package/dist/compiler/grimoire/errors.js.map +1 -1
  11. package/dist/compiler/grimoire/index.d.ts.map +1 -1
  12. package/dist/compiler/grimoire/index.js +22 -5
  13. package/dist/compiler/grimoire/index.js.map +1 -1
  14. package/dist/compiler/grimoire/parser.d.ts +3 -0
  15. package/dist/compiler/grimoire/parser.d.ts.map +1 -1
  16. package/dist/compiler/grimoire/parser.js +106 -25
  17. package/dist/compiler/grimoire/parser.js.map +1 -1
  18. package/dist/compiler/grimoire/transformer.d.ts +0 -1
  19. package/dist/compiler/grimoire/transformer.d.ts.map +1 -1
  20. package/dist/compiler/grimoire/transformer.js +57 -100
  21. package/dist/compiler/grimoire/transformer.js.map +1 -1
  22. package/dist/compiler/index.d.ts +2 -1
  23. package/dist/compiler/index.d.ts.map +1 -1
  24. package/dist/compiler/index.js +6 -1
  25. package/dist/compiler/index.js.map +1 -1
  26. package/dist/compiler/ir-generator.js +33 -0
  27. package/dist/compiler/ir-generator.js.map +1 -1
  28. package/dist/compiler/type-checker.d.ts +31 -0
  29. package/dist/compiler/type-checker.d.ts.map +1 -0
  30. package/dist/compiler/type-checker.js +676 -0
  31. package/dist/compiler/type-checker.js.map +1 -0
  32. package/dist/compiler/validator.d.ts +8 -0
  33. package/dist/compiler/validator.d.ts.map +1 -1
  34. package/dist/compiler/validator.js +223 -0
  35. package/dist/compiler/validator.js.map +1 -1
  36. package/dist/index.d.ts +4 -4
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +2 -2
  39. package/dist/index.js.map +1 -1
  40. package/dist/runtime/context.d.ts +1 -0
  41. package/dist/runtime/context.d.ts.map +1 -1
  42. package/dist/runtime/context.js +14 -2
  43. package/dist/runtime/context.js.map +1 -1
  44. package/dist/runtime/expression-evaluator.d.ts.map +1 -1
  45. package/dist/runtime/expression-evaluator.js +18 -0
  46. package/dist/runtime/expression-evaluator.js.map +1 -1
  47. package/dist/runtime/index.d.ts +3 -1
  48. package/dist/runtime/index.d.ts.map +1 -1
  49. package/dist/runtime/index.js +3 -1
  50. package/dist/runtime/index.js.map +1 -1
  51. package/dist/runtime/interpreter.d.ts +49 -3
  52. package/dist/runtime/interpreter.d.ts.map +1 -1
  53. package/dist/runtime/interpreter.js +774 -131
  54. package/dist/runtime/interpreter.js.map +1 -1
  55. package/dist/runtime/session-views.d.ts +37 -0
  56. package/dist/runtime/session-views.d.ts.map +1 -0
  57. package/dist/runtime/session-views.js +97 -0
  58. package/dist/runtime/session-views.js.map +1 -0
  59. package/dist/runtime/session.d.ts +35 -0
  60. package/dist/runtime/session.d.ts.map +1 -0
  61. package/dist/runtime/session.js +57 -0
  62. package/dist/runtime/session.js.map +1 -0
  63. package/dist/runtime/steps/action.d.ts +22 -0
  64. package/dist/runtime/steps/action.d.ts.map +1 -1
  65. package/dist/runtime/steps/action.js +209 -0
  66. package/dist/runtime/steps/action.js.map +1 -1
  67. package/dist/runtime/steps/advisory.d.ts +1 -0
  68. package/dist/runtime/steps/advisory.d.ts.map +1 -1
  69. package/dist/runtime/steps/advisory.js +277 -11
  70. package/dist/runtime/steps/advisory.js.map +1 -1
  71. package/dist/runtime/value-flow.d.ts +27 -0
  72. package/dist/runtime/value-flow.d.ts.map +1 -0
  73. package/dist/runtime/value-flow.js +566 -0
  74. package/dist/runtime/value-flow.js.map +1 -0
  75. package/dist/types/execution.d.ts +67 -1
  76. package/dist/types/execution.d.ts.map +1 -1
  77. package/dist/types/expressions.d.ts +1 -1
  78. package/dist/types/expressions.d.ts.map +1 -1
  79. package/dist/types/expressions.js.map +1 -1
  80. package/dist/types/index.d.ts +2 -1
  81. package/dist/types/index.d.ts.map +1 -1
  82. package/dist/types/receipt.d.ts +193 -0
  83. package/dist/types/receipt.d.ts.map +1 -0
  84. package/dist/types/receipt.js +5 -0
  85. package/dist/types/receipt.js.map +1 -0
  86. package/dist/types/steps.d.ts +6 -0
  87. package/dist/types/steps.d.ts.map +1 -1
  88. package/dist/wallet/tx-builder.js +3 -3
  89. package/dist/wallet/tx-builder.js.map +1 -1
  90. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-checker.js","sourceRoot":"","sources":["../../src/compiler/type-checker.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,14 @@ export interface ValidationResult {
7
7
  valid: boolean;
8
8
  errors: CompilationError[];
9
9
  warnings: CompilationWarning[];
10
+ advisorySummaries: AdvisorySummary[];
11
+ }
12
+ export interface AdvisorySummary {
13
+ advisory_id: string;
14
+ output_schema: Record<string, unknown>;
15
+ dependent_paths: string[];
16
+ irreversible_actions_downstream: number;
17
+ governing_constraints: string[];
10
18
  }
11
19
  /**
12
20
  * Validate a SpellIR
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/compiler/validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAGlB,OAAO,EACR,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,gBAAgB,CA+GxD"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/compiler/validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAGlB,OAAO,EACR,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,iBAAiB,EAAE,eAAe,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,+BAA+B,EAAE,MAAM,CAAC;IACxC,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,gBAAgB,CAoLxD"}
@@ -63,6 +63,11 @@ export function validateIR(ir) {
63
63
  }
64
64
  }
65
65
  // Validate advisory steps have timeout and fallback
66
+ const nonClampableConstraints = new Set([
67
+ "max_single_move",
68
+ "max_value_at_risk",
69
+ "allowed_venues",
70
+ ]);
66
71
  for (const step of ir.steps) {
67
72
  if (step.kind === "advisory") {
68
73
  const advisoryStep = step;
@@ -78,12 +83,73 @@ export function validateIR(ir) {
78
83
  message: `Advisory step '${step.id}' must have a fallback value`,
79
84
  });
80
85
  }
86
+ if (!advisoryStep.prompt || advisoryStep.prompt.trim().length === 0) {
87
+ errors.push({
88
+ code: "ADVISORY_NO_PROMPT",
89
+ message: `Advisory step '${step.id}' must provide a prompt`,
90
+ });
91
+ }
92
+ if (!advisoryStep.outputBinding || advisoryStep.outputBinding.trim().length === 0) {
93
+ errors.push({
94
+ code: "ADVISORY_NO_OUTPUT_BINDING",
95
+ message: `Advisory step '${step.id}' must bind output to a named variable`,
96
+ });
97
+ }
98
+ if (!advisoryStep.outputSchema) {
99
+ errors.push({
100
+ code: "ADVISORY_NO_OUTPUT_SCHEMA",
101
+ message: `Advisory step '${step.id}' must define an output schema`,
102
+ });
103
+ }
81
104
  if (!advisorNames.has(advisoryStep.advisor)) {
82
105
  errors.push({
83
106
  code: "UNKNOWN_ADVISOR",
84
107
  message: `Advisory step '${step.id}' references unknown advisor '${advisoryStep.advisor}'`,
85
108
  });
86
109
  }
110
+ if (!advisoryStep.context || Object.keys(advisoryStep.context).length === 0) {
111
+ warnings.push({
112
+ code: "ADVISORY_MISSING_CONTEXT",
113
+ message: `Advisory step '${step.id}' should declare explicit context inputs (required in strict mode)`,
114
+ });
115
+ }
116
+ if (!advisoryStep.policyScope) {
117
+ warnings.push({
118
+ code: "ADVISORY_MISSING_POLICY_SCOPE",
119
+ message: `Advisory step '${step.id}' should declare 'within' policy scope (required in strict mode)`,
120
+ });
121
+ }
122
+ const violationPolicy = advisoryStep.violationPolicy ?? "reject";
123
+ if (violationPolicy !== "reject" && violationPolicy !== "clamp") {
124
+ errors.push({
125
+ code: "ADVISORY_INVALID_VIOLATION_POLICY",
126
+ message: `Advisory step '${step.id}' has unsupported on_violation policy '${violationPolicy}'`,
127
+ });
128
+ }
129
+ if (!advisoryStep.violationPolicyExplicit) {
130
+ warnings.push({
131
+ code: "ADVISORY_MISSING_VIOLATION_POLICY",
132
+ message: `Advisory step '${step.id}' should explicitly declare on_violation (required in strict mode)`,
133
+ });
134
+ }
135
+ if (violationPolicy === "clamp") {
136
+ if (!advisoryStep.clampConstraints || advisoryStep.clampConstraints.length === 0) {
137
+ errors.push({
138
+ code: "ADVISORY_CLAMP_REQUIRES_CONSTRAINTS",
139
+ message: `Advisory step '${step.id}' enables clamp but has no clamp_constraints`,
140
+ });
141
+ }
142
+ else {
143
+ for (const constraint of advisoryStep.clampConstraints) {
144
+ if (nonClampableConstraints.has(constraint)) {
145
+ errors.push({
146
+ code: "ADVISORY_NON_CLAMPABLE_CONSTRAINT",
147
+ message: `Advisory step '${step.id}' cannot clamp non-clampable constraint '${constraint}'`,
148
+ });
149
+ }
150
+ }
151
+ }
152
+ }
87
153
  }
88
154
  }
89
155
  // Warn if no steps
@@ -93,10 +159,12 @@ export function validateIR(ir) {
93
159
  message: "Spell has no steps defined",
94
160
  });
95
161
  }
162
+ const advisorySummaries = buildAdvisorySummaries(ir);
96
163
  return {
97
164
  valid: errors.length === 0,
98
165
  errors,
99
166
  warnings,
167
+ advisorySummaries,
100
168
  };
101
169
  }
102
170
  /**
@@ -398,4 +466,159 @@ function detectCycles(steps) {
398
466
  }
399
467
  return cycles;
400
468
  }
469
+ function buildAdvisorySummaries(ir) {
470
+ const stepMap = new Map(ir.steps.map((step) => [step.id, step]));
471
+ const summaries = [];
472
+ for (const step of ir.steps) {
473
+ if (step.kind !== "advisory")
474
+ continue;
475
+ const dependentPaths = [];
476
+ const downstreamRoots = [];
477
+ for (const candidate of ir.steps) {
478
+ if (candidate.kind !== "conditional")
479
+ continue;
480
+ if (!expressionReferencesBinding(candidate.condition, step.outputBinding))
481
+ continue;
482
+ dependentPaths.push(`conditional:${candidate.id}:then`);
483
+ dependentPaths.push(`conditional:${candidate.id}:else`);
484
+ downstreamRoots.push(...candidate.thenSteps, ...candidate.elseSteps);
485
+ }
486
+ const downstreamActions = new Set();
487
+ const governingConstraints = new Set();
488
+ const visited = new Set();
489
+ const stack = [...downstreamRoots];
490
+ while (stack.length > 0) {
491
+ const nextId = stack.pop();
492
+ if (!nextId || visited.has(nextId))
493
+ continue;
494
+ visited.add(nextId);
495
+ const child = stepMap.get(nextId);
496
+ if (!child)
497
+ continue;
498
+ if (child.kind === "action") {
499
+ downstreamActions.add(child.id);
500
+ for (const [key, value] of Object.entries(child.constraints)) {
501
+ if (value !== undefined) {
502
+ governingConstraints.add(normalizeConstraintName(key));
503
+ }
504
+ }
505
+ }
506
+ for (const nested of getChildStepIds(child)) {
507
+ stack.push(nested);
508
+ }
509
+ }
510
+ if (step.policyScope) {
511
+ governingConstraints.add(step.policyScope);
512
+ }
513
+ if (step.clampConstraints) {
514
+ for (const constraint of step.clampConstraints) {
515
+ governingConstraints.add(constraint);
516
+ }
517
+ }
518
+ summaries.push({
519
+ advisory_id: step.id,
520
+ output_schema: advisorySchemaToSummary(step.outputSchema),
521
+ dependent_paths: dependentPaths,
522
+ irreversible_actions_downstream: downstreamActions.size,
523
+ governing_constraints: Array.from(governingConstraints).sort(),
524
+ });
525
+ }
526
+ return summaries;
527
+ }
528
+ function expressionReferencesBinding(expr, bindingName) {
529
+ switch (expr.kind) {
530
+ case "binding":
531
+ return expr.name === bindingName;
532
+ case "binary":
533
+ return (expressionReferencesBinding(expr.left, bindingName) ||
534
+ expressionReferencesBinding(expr.right, bindingName));
535
+ case "unary":
536
+ return expressionReferencesBinding(expr.arg, bindingName);
537
+ case "ternary":
538
+ return (expressionReferencesBinding(expr.condition, bindingName) ||
539
+ expressionReferencesBinding(expr.then, bindingName) ||
540
+ expressionReferencesBinding(expr.else, bindingName));
541
+ case "call":
542
+ return expr.args.some((arg) => expressionReferencesBinding(arg, bindingName));
543
+ case "array_access":
544
+ return (expressionReferencesBinding(expr.array, bindingName) ||
545
+ expressionReferencesBinding(expr.index, bindingName));
546
+ case "property_access":
547
+ return expressionReferencesBinding(expr.object, bindingName);
548
+ default:
549
+ return false;
550
+ }
551
+ }
552
+ function getChildStepIds(step) {
553
+ switch (step.kind) {
554
+ case "conditional":
555
+ return [...step.thenSteps, ...step.elseSteps];
556
+ case "loop":
557
+ return [...step.bodySteps];
558
+ case "parallel":
559
+ return step.branches.flatMap((branch) => branch.steps);
560
+ case "pipeline":
561
+ return step.stages
562
+ .flatMap((stage) => {
563
+ if (stage.op === "map" || stage.op === "filter" || stage.op === "reduce") {
564
+ return [stage.step];
565
+ }
566
+ return [];
567
+ })
568
+ .filter((id) => typeof id === "string");
569
+ case "try":
570
+ return [
571
+ ...step.trySteps,
572
+ ...step.catchBlocks.flatMap((block) => block.steps ?? []),
573
+ ...(step.finallySteps ?? []),
574
+ ];
575
+ default:
576
+ return [];
577
+ }
578
+ }
579
+ function advisorySchemaToSummary(schema) {
580
+ switch (schema.type) {
581
+ case "boolean":
582
+ return { type: "boolean" };
583
+ case "number":
584
+ return { type: "number", min: schema.min, max: schema.max };
585
+ case "enum":
586
+ return { type: "enum", values: schema.values ?? [] };
587
+ case "string":
588
+ return {
589
+ type: "string",
590
+ min_length: schema.minLength,
591
+ max_length: schema.maxLength,
592
+ pattern: schema.pattern,
593
+ };
594
+ case "object":
595
+ return {
596
+ type: "object",
597
+ fields: schema.fields
598
+ ? Object.fromEntries(Object.entries(schema.fields).map(([key, value]) => [
599
+ key,
600
+ advisorySchemaToSummary(value),
601
+ ]))
602
+ : undefined,
603
+ };
604
+ case "array":
605
+ return {
606
+ type: "array",
607
+ items: schema.items ? advisorySchemaToSummary(schema.items) : undefined,
608
+ };
609
+ }
610
+ }
611
+ function normalizeConstraintName(key) {
612
+ const map = {
613
+ maxSlippageBps: "max_slippage",
614
+ maxPriceImpactBps: "max_price_impact",
615
+ minOutput: "min_output",
616
+ maxInput: "max_input",
617
+ minLiquidity: "min_liquidity",
618
+ requireQuote: "require_quote",
619
+ requireSimulation: "require_simulation",
620
+ maxGas: "max_gas",
621
+ };
622
+ return map[key] ?? key;
623
+ }
401
624
  //# sourceMappingURL=validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/compiler/validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/compiler/validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA2BH;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,EAAW;IACpC,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAE1C,gCAAgC;IAChC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAmB,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAElF,iBAAiB;IACjB,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;QAC5B,YAAY,CACV,IAAI,EACJ;YACE,YAAY;YACZ,YAAY;YACZ,UAAU;YACV,OAAO;YACP,YAAY;YACZ,UAAU;YACV,YAAY;YACZ,eAAe,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC1D,cAAc,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SACzD,EACD,MAAM,EACN,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,kBAAkB;IAClB,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAC9B,aAAa,CACX,KAAK,EACL;YACE,YAAY;YACZ,YAAY;YACZ,UAAU;YACV,YAAY;YACZ,YAAY;YACZ,eAAe,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC1D,cAAc,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SACzD,EACD,MAAM,EACN,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACtC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,8BAA8B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;SAC5D,CAAC,CAAC;IACL,CAAC;IAED,yCAAyC;IACzC,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAgB,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC;gBAC3D,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,sCAAsC;iBAChE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;QACtC,iBAAiB;QACjB,mBAAmB;QACnB,gBAAgB;KACjB,CAAC,CAAC;IACH,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,IAAoB,CAAC;YAC1C,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;gBACvD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAE,kBAAkB,IAAI,CAAC,EAAE,gCAAgC;iBACnE,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,sBAAsB;oBAC5B,OAAO,EAAE,kBAAkB,IAAI,CAAC,EAAE,8BAA8B;iBACjE,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpE,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,oBAAoB;oBAC1B,OAAO,EAAE,kBAAkB,IAAI,CAAC,EAAE,yBAAyB;iBAC5D,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,aAAa,IAAI,YAAY,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClF,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,4BAA4B;oBAClC,OAAO,EAAE,kBAAkB,IAAI,CAAC,EAAE,wCAAwC;iBAC3E,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,2BAA2B;oBACjC,OAAO,EAAE,kBAAkB,IAAI,CAAC,EAAE,gCAAgC;iBACnE,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,iBAAiB;oBACvB,OAAO,EAAE,kBAAkB,IAAI,CAAC,EAAE,iCAAiC,YAAY,CAAC,OAAO,GAAG;iBAC3F,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5E,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,0BAA0B;oBAChC,OAAO,EAAE,kBAAkB,IAAI,CAAC,EAAE,oEAAoE;iBACvG,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;gBAC9B,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,+BAA+B;oBACrC,OAAO,EAAE,kBAAkB,IAAI,CAAC,EAAE,kEAAkE;iBACrG,CAAC,CAAC;YACL,CAAC;YAED,MAAM,eAAe,GAAG,YAAY,CAAC,eAAe,IAAI,QAAQ,CAAC;YACjE,IAAI,eAAe,KAAK,QAAQ,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;gBAChE,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,mCAAmC;oBACzC,OAAO,EAAE,kBAAkB,IAAI,CAAC,EAAE,0CAA0C,eAAe,GAAG;iBAC/F,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,CAAC;gBAC1C,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,mCAAmC;oBACzC,OAAO,EAAE,kBAAkB,IAAI,CAAC,EAAE,oEAAoE;iBACvG,CAAC,CAAC;YACL,CAAC;YACD,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;gBAChC,IAAI,CAAC,YAAY,CAAC,gBAAgB,IAAI,YAAY,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjF,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,qCAAqC;wBAC3C,OAAO,EAAE,kBAAkB,IAAI,CAAC,EAAE,8CAA8C;qBACjF,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,KAAK,MAAM,UAAU,IAAI,YAAY,CAAC,gBAAgB,EAAE,CAAC;wBACvD,IAAI,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;4BAC5C,MAAM,CAAC,IAAI,CAAC;gCACV,IAAI,EAAE,mCAAmC;gCACzC,OAAO,EAAE,kBAAkB,IAAI,CAAC,EAAE,4CAA4C,UAAU,GAAG;6BAC5F,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,4BAA4B;SACtC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAErD,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM;QACN,QAAQ;QACR,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAcD;;GAEG;AACH,SAAS,YAAY,CACnB,IAAU,EACV,GAAsB,EACtB,MAA0B,EAC1B,QAA8B;IAE9B,gCAAgC;IAChC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,8BAA8B,GAAG,GAAG;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,SAAS;YACZ,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1C,kBAAkB,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YAC9E,CAAC;YACD,MAAM;QAER,KAAK,QAAQ;YACX,2BAA2B;YAC3B,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAChC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAChF,MAAM,aAAa,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC/E,MAAM,KAAK,GAAG,aAAa,IAAI,aAAa,CAAC;gBAC7C,MAAM,aAAa,GACjB,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;gBAE7E,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjC,IAAI,aAAa,EAAE,CAAC;wBAClB,QAAQ,CAAC,IAAI,CAAC;4BACZ,IAAI,EAAE,YAAY;4BAClB,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,0CAA0C,KAAK,EAAE,IAAI,IAAI,SAAS,GAAG;yBAC/F,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,eAAe;4BACrB,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,+BAA+B,KAAK,GAAG;yBACjE,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;qBAAM,IAAI,aAAa,IAAI,aAAa,IAAI,CAAC,aAAa,EAAE,CAAC;oBAC5D,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,uBAAuB;wBAC7B,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,WAAW,KAAK,oFAAoF;qBAC9H,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,4BAA4B;YAC5B,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3E,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,iCAAiC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG;iBACjF,CAAC,CAAC;YACL,CAAC;YACD,IAAI,UAAU,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7E,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,iCAAiC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG;iBAClF,CAAC,CAAC;YACL,CAAC;YACD,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvE,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,iCAAiC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG;iBAC/E,CAAC,CAAC;YACL,CAAC;YAED,0CAA0C;YAC1C,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC5D,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAoB,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YACzF,CAAC;YAED,2BAA2B;YAC3B,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,+BAA+B,IAAI,CAAC,KAAK,GAAG;iBACtE,CAAC,CAAC;YACL,CAAC;YACD,MAAM;QAER,KAAK,aAAa;YAChB,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YACrE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC/B,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,wBAAwB;wBAC9B,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,0CAA0C,QAAQ,GAAG;qBAC/E,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC/B,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,wBAAwB;wBAC9B,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,0CAA0C,QAAQ,GAAG;qBAC/E,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,MAAM;QAER,KAAK,MAAM;YACT,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC/B,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,wBAAwB;wBAC9B,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,mCAAmC,QAAQ,GAAG;qBACxE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACjC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YAC7E,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACnC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YAChF,CAAC;YACD,MAAM;QAER,KAAK,UAAU;YACb,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACtC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;wBACjC,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,wBAAwB;4BAC9B,OAAO,EAAE,aAAa,IAAI,CAAC,EAAE,aAAa,MAAM,CAAC,IAAI,8BAA8B,UAAU,GAAG;yBACjG,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM;QAER,KAAK,UAAU;YACb,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YACtE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChC,IAAI,KAAK,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC;oBACzB,kBAAkB,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC5E,CAAC;gBACD,IAAI,KAAK,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;oBACxB,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;gBACrE,CAAC;gBACD,IAAI,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;oBACzE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBACjC,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,wBAAwB;4BAC9B,OAAO,EAAE,aAAa,IAAI,CAAC,EAAE,oCAAoC,KAAK,CAAC,IAAI,GAAG;yBAC/E,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM;QAER,KAAK,KAAK;YACR,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC9B,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,wBAAwB;wBAC9B,OAAO,EAAE,QAAQ,IAAI,CAAC,EAAE,8BAA8B,OAAO,GAAG;qBACjE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC5C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;wBAClC,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,wBAAwB;4BAC9B,OAAO,EAAE,QAAQ,IAAI,CAAC,EAAE,sCAAsC,WAAW,GAAG;yBAC7E,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM;QAER,KAAK,UAAU;YACb,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YACxE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACvD,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,IAAI,CAAC,EAAE,cAAc,GAAG,GAAG,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC;YACD,MAAM;QAER,KAAK,MAAM;YACT,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,IAAI,CAAC,EAAE,WAAW,GAAG,GAAG,CAAC,CAAC;YAC3E,CAAC;YACD,MAAM;QAER,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACT,kCAAkC;YAClC,MAAM;IACV,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,IAAgB,EAChB,GAAsD,EACtD,MAA0B,EAC1B,QAAgB;IAEhB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,OAAO;YACV,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,GAAG,QAAQ,wBAAwB,IAAI,CAAC,IAAI,GAAG;iBACzD,CAAC,CAAC;YACL,CAAC;YACD,MAAM;QAER,KAAK,OAAO;YACV,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtE,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,GAAG,QAAQ,mCAAmC,IAAI,CAAC,GAAG,GAAG;iBACnE,CAAC,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpE,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,GAAG,QAAQ,kCAAkC,IAAI,CAAC,GAAG,GAAG;iBAClE,CAAC,CAAC;YACL,CAAC;YACD,MAAM;QAER,KAAK,QAAQ;YACX,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YACrD,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YACtD,MAAM;QAER,KAAK,OAAO;YACV,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YACpD,MAAM;QAER,KAAK,SAAS;YACZ,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC1D,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YACrD,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YACrD,MAAM;QAER,KAAK,MAAM;YACT,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YACjD,CAAC;YACD,MAAM;QAER,KAAK,cAAc;YACjB,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YACtD,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YACtD,MAAM;QAER,KAAK,iBAAiB;YACpB,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YACvD,MAAM;QAER,KAAK,SAAS,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,yBAAyB;YACzB,MAAM;IACV,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CACpB,KAAe,EACf,GAAsD,EACtD,MAA0B,EAC1B,SAA+B;IAE/B,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QACvB,iBAAiB;QACjB,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,UAAU,KAAK,CAAC,EAAE,iCAAiC,KAAK,CAAC,OAAO,GAAG;aAC7E,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,CAAC;QACN,mBAAmB;QACnB,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,SAAS,GAAG,CAAC,MAAc;QACzB,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,gBAAgB;YAChB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAElB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjC,GAAG,CAAC,GAAG,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,EAAW;IACzC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACjE,MAAM,SAAS,GAAsB,EAAE,CAAC;IAExC,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU;YAAE,SAAS;QAEvC,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,KAAK,MAAM,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa;gBAAE,SAAS;YAC/C,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC;gBAAE,SAAS;YACpF,cAAc,CAAC,IAAI,CAAC,eAAe,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;YACxD,cAAc,CAAC,IAAI,CAAC,eAAe,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;YACxD,eAAe,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,SAAS,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC5C,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,KAAK,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;QAEnC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAS;YAC7C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEpB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK;gBAAE,SAAS;YAErB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAChC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC7D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACxB,oBAAoB,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;oBACzD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,KAAK,MAAM,MAAM,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC/C,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,SAAS,CAAC,IAAI,CAAC;YACb,WAAW,EAAE,IAAI,CAAC,EAAE;YACpB,aAAa,EAAE,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC;YACzD,eAAe,EAAE,cAAc;YAC/B,+BAA+B,EAAE,iBAAiB,CAAC,IAAI;YACvD,qBAAqB,EAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE;SAC/D,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAgB,EAAE,WAAmB;IACxE,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC;QACnC,KAAK,QAAQ;YACX,OAAO,CACL,2BAA2B,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;gBACnD,2BAA2B,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CACrD,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,2BAA2B,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC5D,KAAK,SAAS;YACZ,OAAO,CACL,2BAA2B,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC;gBACxD,2BAA2B,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;gBACnD,2BAA2B,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CACpD,CAAC;QACJ,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,2BAA2B,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;QAChF,KAAK,cAAc;YACjB,OAAO,CACL,2BAA2B,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC;gBACpD,2BAA2B,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CACrD,CAAC;QACJ,KAAK,iBAAiB;YACpB,OAAO,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC/D;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAAU;IACjC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,aAAa;YAChB,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,KAAK,MAAM;YACT,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,KAAK,UAAU;YACb,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzD,KAAK,UAAU;YACb,OAAO,IAAI,CAAC,MAAM;iBACf,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,IAAI,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;oBACzE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC;QAC1D,KAAK,KAAK;YACR,OAAO;gBACL,GAAG,IAAI,CAAC,QAAQ;gBAChB,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;gBACzD,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;aAC7B,CAAC;QACJ;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,MAA4B;IAC3D,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7B,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;QAC9D,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACvD,KAAK,QAAQ;YACX,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,MAAM,CAAC,SAAS;gBAC5B,UAAU,EAAE,MAAM,CAAC,SAAS;gBAC5B,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CAAC;QACJ,KAAK,QAAQ;YACX,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,MAAM,CAAC,MAAM;oBACnB,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;wBAClD,GAAG;wBACH,uBAAuB,CAAC,KAAK,CAAC;qBAC/B,CAAC,CACH;oBACH,CAAC,CAAC,SAAS;aACd,CAAC;QACJ,KAAK,OAAO;YACV,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;aACxE,CAAC;IACN,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAW;IAC1C,MAAM,GAAG,GAA2B;QAClC,cAAc,EAAE,cAAc;QAC9B,iBAAiB,EAAE,kBAAkB;QACrC,SAAS,EAAE,YAAY;QACvB,QAAQ,EAAE,WAAW;QACrB,YAAY,EAAE,eAAe;QAC7B,YAAY,EAAE,eAAe;QAC7B,iBAAiB,EAAE,oBAAoB;QACvC,MAAM,EAAE,SAAS;KAClB,CAAC;IACF,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;AACzB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -3,10 +3,10 @@
3
3
  * Core compiler and runtime for Grimoire spell execution
4
4
  */
5
5
  export * from "./types/index.js";
6
- export { compile, compileFile, parseSpell, parseExpression, validateIR } from "./compiler/index.js";
7
- export type { ParseResult, IRGeneratorResult, ValidationResult } from "./compiler/index.js";
8
- export { execute, createContext, InMemoryLedger, evaluate, evaluateAsync, createRunRecord, SqliteStateStore, CircuitBreakerManager, } from "./runtime/index.js";
9
- export type { ExecuteOptions, CreateContextOptions, EvalContext, EvalValue, AdvisoryHandler, AdvisoryHandlerInput, StateStore, RunRecord, RunMetrics, RunProvenance, SqliteStateStoreOptions, BreakerState, BreakerRecord, TimestampedEvent, CircuitBreakerCheckResult, CircuitBreakerTriggerResult, } from "./runtime/index.js";
6
+ export { compile, compileFile, parseSpell, parseExpression, validateIR, typeCheckIR, } from "./compiler/index.js";
7
+ export type { AdvisorySummary, ParseResult, IRGeneratorResult, ValidationResult, TypeCheckResult, } from "./compiler/index.js";
8
+ export { execute, preview, commit, runSession, runOneShotSession, runManagedSession, getSessionLedgerView, getSessionPnlView, createContext, InMemoryLedger, evaluate, evaluateAsync, createRunRecord, SqliteStateStore, CircuitBreakerManager, } from "./runtime/index.js";
9
+ export type { ExecuteOptions, PreviewOptions, CommitOptions, CreateContextOptions, EvalContext, EvalValue, AdvisoryHandler, AdvisoryHandlerInput, SessionMode, SessionRunOptions, SessionRunResult, SessionLedgerView, SessionPnlView, SessionPnlAssetView, StateStore, RunRecord, RunMetrics, RunProvenance, SqliteStateStoreOptions, BreakerState, BreakerRecord, TimestampedEvent, CircuitBreakerCheckResult, CircuitBreakerTriggerResult, } from "./runtime/index.js";
10
10
  export { createWallet, createWalletFromMnemonic, createWalletFromConfig, getAddressFromConfig, generatePrivateKey, createKeystore, loadPrivateKey, KeyLoadError, Provider, createProvider, formatWei, formatGasCostUsd, TransactionBuilder, createTransactionBuilder, Executor, createExecutor, CHAIN_CONFIGS, isTestnet, getChainName, getNativeCurrencySymbol, isNativeCurrency, } from "./wallet/index.js";
11
11
  export type { KeySourceType, KeyConfig, Wallet, TransactionRequest, TransactionReceipt, TransactionLog, ProviderConfig, GasEstimate, BuiltTransaction, ExecutionMode, ExecutorOptions, TransactionResult, ExecutionResult as WalletExecutionResult, } from "./wallet/index.js";
12
12
  export { spell, action, conditional, repeat, forLoop, until, parallel, compute, wait, emit, halt, tryBlock, advisory, pipeline, arrayAccess, propertyAccess, literal, param, binding, binary, call, } from "./builders/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACpG,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5F,OAAO,EACL,OAAO,EACP,aAAa,EACb,cAAc,EACd,QAAQ,EACR,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,WAAW,EACX,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,uBAAuB,EACvB,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,QAAQ,EACR,cAAc,EACd,aAAa,EACb,SAAS,EACT,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,aAAa,EACb,SAAS,EACT,MAAM,EACN,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,eAAe,IAAI,qBAAqB,GACzC,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,KAAK,EACL,MAAM,EACN,WAAW,EACX,MAAM,EACN,OAAO,EACP,KAAK,EACL,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,cAAc,EACd,OAAO,EACP,KAAK,EACL,OAAO,EACP,MAAM,EACN,IAAI,GACL,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,EACV,eAAe,EACf,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EACL,OAAO,EACP,WAAW,EACX,UAAU,EACV,eAAe,EACf,UAAU,EACV,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACN,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,QAAQ,EACR,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,UAAU,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,uBAAuB,EACvB,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,QAAQ,EACR,cAAc,EACd,aAAa,EACb,SAAS,EACT,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,aAAa,EACb,SAAS,EACT,MAAM,EACN,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,eAAe,IAAI,qBAAqB,GACzC,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,KAAK,EACL,MAAM,EACN,WAAW,EACX,MAAM,EACN,OAAO,EACP,KAAK,EACL,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,cAAc,EACd,OAAO,EACP,KAAK,EACL,OAAO,EACP,MAAM,EACN,IAAI,GACL,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,EACV,eAAe,EACf,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -5,9 +5,9 @@
5
5
  // Types
6
6
  export * from "./types/index.js";
7
7
  // Compiler
8
- export { compile, compileFile, parseSpell, parseExpression, validateIR } from "./compiler/index.js";
8
+ export { compile, compileFile, parseSpell, parseExpression, validateIR, typeCheckIR, } from "./compiler/index.js";
9
9
  // Runtime
10
- export { execute, createContext, InMemoryLedger, evaluate, evaluateAsync, createRunRecord, SqliteStateStore, CircuitBreakerManager, } from "./runtime/index.js";
10
+ export { execute, preview, commit, runSession, runOneShotSession, runManagedSession, getSessionLedgerView, getSessionPnlView, createContext, InMemoryLedger, evaluate, evaluateAsync, createRunRecord, SqliteStateStore, CircuitBreakerManager, } from "./runtime/index.js";
11
11
  // Wallet
12
12
  export { createWallet, createWalletFromMnemonic, createWalletFromConfig, getAddressFromConfig, generatePrivateKey, createKeystore, loadPrivateKey, KeyLoadError, Provider, createProvider, formatWei, formatGasCostUsd, TransactionBuilder, createTransactionBuilder, Executor, createExecutor, CHAIN_CONFIGS, isTestnet, getChainName, getNativeCurrencySymbol, isNativeCurrency, } from "./wallet/index.js";
13
13
  // Builders
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,QAAQ;AACR,cAAc,kBAAkB,CAAC;AAEjC,WAAW;AACX,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGpG,UAAU;AACV,OAAO,EACL,OAAO,EACP,aAAa,EACb,cAAc,EACd,QAAQ,EACR,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAoB5B,SAAS;AACT,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,QAAQ,EACR,cAAc,EACd,aAAa,EACb,SAAS,EACT,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAiB3B,WAAW;AACX,OAAO,EACL,KAAK,EACL,MAAM,EACN,WAAW,EACX,MAAM,EACN,OAAO,EACP,KAAK,EACL,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,cAAc,EACd,OAAO,EACP,KAAK,EACL,OAAO,EACP,MAAM,EACN,IAAI,GACL,MAAM,qBAAqB,CAAC;AAgB7B,SAAS;AACT,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,QAAQ;AACR,cAAc,kBAAkB,CAAC;AAEjC,WAAW;AACX,OAAO,EACL,OAAO,EACP,WAAW,EACX,UAAU,EACV,eAAe,EACf,UAAU,EACV,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAS7B,UAAU;AACV,OAAO,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACN,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,QAAQ,EACR,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AA4B5B,SAAS;AACT,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,QAAQ,EACR,cAAc,EACd,aAAa,EACb,SAAS,EACT,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAiB3B,WAAW;AACX,OAAO,EACL,KAAK,EACL,MAAM,EACN,WAAW,EACX,MAAM,EACN,OAAO,EACP,KAAK,EACL,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,cAAc,EACd,OAAO,EACP,KAAK,EACL,OAAO,EACP,MAAM,EACN,IAAI,GACL,MAAM,qBAAqB,CAAC;AAgB7B,SAAS;AACT,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -14,6 +14,7 @@ export interface CreateContextOptions {
14
14
  policy?: PolicySet;
15
15
  vault: Address;
16
16
  chain: ChainId;
17
+ trigger?: ExecutionContext["trigger"];
17
18
  params?: Record<string, unknown>;
18
19
  persistentState?: Record<string, unknown>;
19
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/runtime/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/runtime/context.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  * Create a new execution context
7
7
  */
8
8
  export function createContext(options) {
9
- const { spell, policy, vault, chain, params = {}, persistentState = {} } = options;
9
+ const { spell, policy, vault, chain, trigger, params = {}, persistentState = {} } = options;
10
10
  // Generate run ID
11
11
  const now = new Date();
12
12
  const timestamp = now
@@ -62,7 +62,7 @@ export function createContext(options) {
62
62
  policy,
63
63
  runId,
64
64
  startTime: now.getTime(),
65
- trigger: { type: "manual" },
65
+ trigger: trigger ?? normalizeTrigger(spell.triggers[0]),
66
66
  vault,
67
67
  chain,
68
68
  state: { persistent, ephemeral },
@@ -79,6 +79,18 @@ export function createContext(options) {
79
79
  },
80
80
  };
81
81
  }
82
+ function normalizeTrigger(trigger) {
83
+ if (!trigger) {
84
+ return { type: "manual" };
85
+ }
86
+ if (trigger.type === "any" && "triggers" in trigger && Array.isArray(trigger.triggers)) {
87
+ return {
88
+ type: "any",
89
+ triggers: trigger.triggers.map((item) => normalizeTrigger(item)),
90
+ };
91
+ }
92
+ return { ...trigger };
93
+ }
82
94
  /**
83
95
  * Push a call frame onto the stack
84
96
  */
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/runtime/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/runtime/context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"expression-evaluator.d.ts","sourceRoot":"","sources":["../../src/runtime/expression-evaluator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAa,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErE,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,MAAM,GACN,OAAO,EAAE,GACT,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,IAAI,CAAC;AAET,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,KAAK,EAAE;QACL,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,CAAC;IACF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACpE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,GAAG,SAAS,CAwFtE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CA6C1F;AA8QD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,WAAW,CAWxE"}
1
+ {"version":3,"file":"expression-evaluator.d.ts","sourceRoot":"","sources":["../../src/runtime/expression-evaluator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAa,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErE,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,MAAM,GACN,OAAO,EAAE,GACT,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,IAAI,CAAC;AAET,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,KAAK,EAAE;QACL,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,CAAC;IACF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACpE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,GAAG,SAAS,CAwFtE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CA6C1F;AA8RD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,WAAW,CAWxE"}
@@ -302,6 +302,22 @@ function evaluateCall(fn, args) {
302
302
  const sum = arr.reduce((s, v) => s + v, 0);
303
303
  return sum / arr.length;
304
304
  }
305
+ case "to_number": {
306
+ const v = args[0];
307
+ if (typeof v === "number")
308
+ return v;
309
+ if (typeof v === "bigint")
310
+ return Number(v);
311
+ throw new Error(`to_number: cannot convert ${typeof v}`);
312
+ }
313
+ case "to_bigint": {
314
+ const v = args[0];
315
+ if (typeof v === "bigint")
316
+ return v;
317
+ if (typeof v === "number")
318
+ return BigInt(Math.trunc(v));
319
+ throw new Error(`to_bigint: cannot convert ${typeof v}`);
320
+ }
305
321
  // Async functions should not be called synchronously
306
322
  case "balance":
307
323
  case "price":
@@ -369,6 +385,8 @@ async function evaluateCallAsync(fn, argExprs, ctx) {
369
385
  case "abs":
370
386
  case "sum":
371
387
  case "avg":
388
+ case "to_number":
389
+ case "to_bigint":
372
390
  return evaluateCall(fn, args);
373
391
  default:
374
392
  throw new Error(`Unknown function: ${fn}`);