@sensigo/realm 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 (222) hide show
  1. package/README.md +150 -0
  2. package/dist/adapters/adapter-utils.d.ts +14 -0
  3. package/dist/adapters/adapter-utils.d.ts.map +1 -0
  4. package/dist/adapters/adapter-utils.js +18 -0
  5. package/dist/adapters/adapter-utils.js.map +1 -0
  6. package/dist/adapters/airtable-adapter.d.ts +51 -0
  7. package/dist/adapters/airtable-adapter.d.ts.map +1 -0
  8. package/dist/adapters/airtable-adapter.js +425 -0
  9. package/dist/adapters/airtable-adapter.js.map +1 -0
  10. package/dist/adapters/file-adapter.d.ts +14 -0
  11. package/dist/adapters/file-adapter.d.ts.map +1 -0
  12. package/dist/adapters/file-adapter.js +89 -0
  13. package/dist/adapters/file-adapter.js.map +1 -0
  14. package/dist/adapters/github-adapter.d.ts +40 -0
  15. package/dist/adapters/github-adapter.d.ts.map +1 -0
  16. package/dist/adapters/github-adapter.js +286 -0
  17. package/dist/adapters/github-adapter.js.map +1 -0
  18. package/dist/adapters/gorgias-adapter.d.ts +40 -0
  19. package/dist/adapters/gorgias-adapter.d.ts.map +1 -0
  20. package/dist/adapters/gorgias-adapter.js +300 -0
  21. package/dist/adapters/gorgias-adapter.js.map +1 -0
  22. package/dist/adapters/http-adapter.d.ts +28 -0
  23. package/dist/adapters/http-adapter.d.ts.map +1 -0
  24. package/dist/adapters/http-adapter.js +97 -0
  25. package/dist/adapters/http-adapter.js.map +1 -0
  26. package/dist/adapters/mock-adapter.d.ts +16 -0
  27. package/dist/adapters/mock-adapter.d.ts.map +1 -0
  28. package/dist/adapters/mock-adapter.js +61 -0
  29. package/dist/adapters/mock-adapter.js.map +1 -0
  30. package/dist/adapters/notion-adapter.d.ts +54 -0
  31. package/dist/adapters/notion-adapter.d.ts.map +1 -0
  32. package/dist/adapters/notion-adapter.js +751 -0
  33. package/dist/adapters/notion-adapter.js.map +1 -0
  34. package/dist/adapters/parcelpanel-adapter.d.ts +60 -0
  35. package/dist/adapters/parcelpanel-adapter.d.ts.map +1 -0
  36. package/dist/adapters/parcelpanel-adapter.js +251 -0
  37. package/dist/adapters/parcelpanel-adapter.js.map +1 -0
  38. package/dist/adapters/rate-limiter.d.ts +26 -0
  39. package/dist/adapters/rate-limiter.d.ts.map +1 -0
  40. package/dist/adapters/rate-limiter.js +3 -0
  41. package/dist/adapters/rate-limiter.js.map +1 -0
  42. package/dist/adapters/shopify-adapter.d.ts +92 -0
  43. package/dist/adapters/shopify-adapter.d.ts.map +1 -0
  44. package/dist/adapters/shopify-adapter.js +415 -0
  45. package/dist/adapters/shopify-adapter.js.map +1 -0
  46. package/dist/adapters/slack-adapter.d.ts +18 -0
  47. package/dist/adapters/slack-adapter.d.ts.map +1 -0
  48. package/dist/adapters/slack-adapter.js +81 -0
  49. package/dist/adapters/slack-adapter.js.map +1 -0
  50. package/dist/adapters/token-bucket.d.ts +27 -0
  51. package/dist/adapters/token-bucket.d.ts.map +1 -0
  52. package/dist/adapters/token-bucket.js +109 -0
  53. package/dist/adapters/token-bucket.js.map +1 -0
  54. package/dist/config/secrets.d.ts +15 -0
  55. package/dist/config/secrets.d.ts.map +1 -0
  56. package/dist/config/secrets.js +33 -0
  57. package/dist/config/secrets.js.map +1 -0
  58. package/dist/engine/eligibility.d.ts +50 -0
  59. package/dist/engine/eligibility.d.ts.map +1 -0
  60. package/dist/engine/eligibility.js +267 -0
  61. package/dist/engine/eligibility.js.map +1 -0
  62. package/dist/engine/error-resolution.d.ts +20 -0
  63. package/dist/engine/error-resolution.d.ts.map +1 -0
  64. package/dist/engine/error-resolution.js +32 -0
  65. package/dist/engine/error-resolution.js.map +1 -0
  66. package/dist/engine/execution-loop.d.ts +101 -0
  67. package/dist/engine/execution-loop.d.ts.map +1 -0
  68. package/dist/engine/execution-loop.js +1156 -0
  69. package/dist/engine/execution-loop.js.map +1 -0
  70. package/dist/engine/lifecycle.d.ts +14 -0
  71. package/dist/engine/lifecycle.d.ts.map +1 -0
  72. package/dist/engine/lifecycle.js +17 -0
  73. package/dist/engine/lifecycle.js.map +1 -0
  74. package/dist/engine/precondition.d.ts +30 -0
  75. package/dist/engine/precondition.d.ts.map +1 -0
  76. package/dist/engine/precondition.js +125 -0
  77. package/dist/engine/precondition.js.map +1 -0
  78. package/dist/engine/prompt-template.d.ts +25 -0
  79. package/dist/engine/prompt-template.d.ts.map +1 -0
  80. package/dist/engine/prompt-template.js +66 -0
  81. package/dist/engine/prompt-template.js.map +1 -0
  82. package/dist/engine/render-template.d.ts +52 -0
  83. package/dist/engine/render-template.d.ts.map +1 -0
  84. package/dist/engine/render-template.js +548 -0
  85. package/dist/engine/render-template.js.map +1 -0
  86. package/dist/engine/state-guard.d.ts +15 -0
  87. package/dist/engine/state-guard.d.ts.map +1 -0
  88. package/dist/engine/state-guard.js +40 -0
  89. package/dist/engine/state-guard.js.map +1 -0
  90. package/dist/engine/trace-normalizer.d.ts +36 -0
  91. package/dist/engine/trace-normalizer.d.ts.map +1 -0
  92. package/dist/engine/trace-normalizer.js +146 -0
  93. package/dist/engine/trace-normalizer.js.map +1 -0
  94. package/dist/engine/trace-policy.d.ts +53 -0
  95. package/dist/engine/trace-policy.d.ts.map +1 -0
  96. package/dist/engine/trace-policy.js +35 -0
  97. package/dist/engine/trace-policy.js.map +1 -0
  98. package/dist/engine/workflow-context-loader.d.ts +9 -0
  99. package/dist/engine/workflow-context-loader.d.ts.map +1 -0
  100. package/dist/engine/workflow-context-loader.js +41 -0
  101. package/dist/engine/workflow-context-loader.js.map +1 -0
  102. package/dist/evidence/snapshot.d.ts +38 -0
  103. package/dist/evidence/snapshot.d.ts.map +1 -0
  104. package/dist/evidence/snapshot.js +53 -0
  105. package/dist/evidence/snapshot.js.map +1 -0
  106. package/dist/extensions/default-registry.d.ts +19 -0
  107. package/dist/extensions/default-registry.d.ts.map +1 -0
  108. package/dist/extensions/default-registry.js +31 -0
  109. package/dist/extensions/default-registry.js.map +1 -0
  110. package/dist/extensions/processor.d.ts +13 -0
  111. package/dist/extensions/processor.d.ts.map +1 -0
  112. package/dist/extensions/processor.js +3 -0
  113. package/dist/extensions/processor.js.map +1 -0
  114. package/dist/extensions/registry.d.ts +25 -0
  115. package/dist/extensions/registry.d.ts.map +1 -0
  116. package/dist/extensions/registry.js +43 -0
  117. package/dist/extensions/registry.js.map +1 -0
  118. package/dist/extensions/service-adapter.d.ts +35 -0
  119. package/dist/extensions/service-adapter.d.ts.map +1 -0
  120. package/dist/extensions/service-adapter.js +3 -0
  121. package/dist/extensions/service-adapter.js.map +1 -0
  122. package/dist/extensions/step-handler.d.ts +28 -0
  123. package/dist/extensions/step-handler.d.ts.map +1 -0
  124. package/dist/extensions/step-handler.js +3 -0
  125. package/dist/extensions/step-handler.js.map +1 -0
  126. package/dist/handlers/primitives/compare-strings.d.ts +13 -0
  127. package/dist/handlers/primitives/compare-strings.d.ts.map +1 -0
  128. package/dist/handlers/primitives/compare-strings.js +28 -0
  129. package/dist/handlers/primitives/compare-strings.js.map +1 -0
  130. package/dist/handlers/primitives/count-results.d.ts +21 -0
  131. package/dist/handlers/primitives/count-results.d.ts.map +1 -0
  132. package/dist/handlers/primitives/count-results.js +23 -0
  133. package/dist/handlers/primitives/count-results.js.map +1 -0
  134. package/dist/handlers/primitives/partition-by-substring.d.ts +18 -0
  135. package/dist/handlers/primitives/partition-by-substring.d.ts.map +1 -0
  136. package/dist/handlers/primitives/partition-by-substring.js +28 -0
  137. package/dist/handlers/primitives/partition-by-substring.js.map +1 -0
  138. package/dist/handlers/primitives/resolve-resource.d.ts +13 -0
  139. package/dist/handlers/primitives/resolve-resource.d.ts.map +1 -0
  140. package/dist/handlers/primitives/resolve-resource.js +21 -0
  141. package/dist/handlers/primitives/resolve-resource.js.map +1 -0
  142. package/dist/handlers/primitives/walk-field.d.ts +11 -0
  143. package/dist/handlers/primitives/walk-field.d.ts.map +1 -0
  144. package/dist/handlers/primitives/walk-field.js +31 -0
  145. package/dist/handlers/primitives/walk-field.js.map +1 -0
  146. package/dist/handlers/validate-field-match.d.ts +11 -0
  147. package/dist/handlers/validate-field-match.d.ts.map +1 -0
  148. package/dist/handlers/validate-field-match.js +39 -0
  149. package/dist/handlers/validate-field-match.js.map +1 -0
  150. package/dist/handlers/validate-verbatim-quotes.d.ts +11 -0
  151. package/dist/handlers/validate-verbatim-quotes.d.ts.map +1 -0
  152. package/dist/handlers/validate-verbatim-quotes.js +37 -0
  153. package/dist/handlers/validate-verbatim-quotes.js.map +1 -0
  154. package/dist/index.d.ts +57 -0
  155. package/dist/index.d.ts.map +1 -0
  156. package/dist/index.js +45 -0
  157. package/dist/index.js.map +1 -0
  158. package/dist/pipeline/processing-pipeline.d.ts +24 -0
  159. package/dist/pipeline/processing-pipeline.d.ts.map +1 -0
  160. package/dist/pipeline/processing-pipeline.js +53 -0
  161. package/dist/pipeline/processing-pipeline.js.map +1 -0
  162. package/dist/processors/compute-hash.d.ts +4 -0
  163. package/dist/processors/compute-hash.d.ts.map +1 -0
  164. package/dist/processors/compute-hash.js +14 -0
  165. package/dist/processors/compute-hash.js.map +1 -0
  166. package/dist/processors/normalize-text.d.ts +8 -0
  167. package/dist/processors/normalize-text.d.ts.map +1 -0
  168. package/dist/processors/normalize-text.js +47 -0
  169. package/dist/processors/normalize-text.js.map +1 -0
  170. package/dist/store/json-file-store.d.ts +24 -0
  171. package/dist/store/json-file-store.d.ts.map +1 -0
  172. package/dist/store/json-file-store.js +210 -0
  173. package/dist/store/json-file-store.js.map +1 -0
  174. package/dist/store/store-interface.d.ts +33 -0
  175. package/dist/store/store-interface.d.ts.map +1 -0
  176. package/dist/store/store-interface.js +2 -0
  177. package/dist/store/store-interface.js.map +1 -0
  178. package/dist/store/trace-buffer-store.d.ts +55 -0
  179. package/dist/store/trace-buffer-store.d.ts.map +1 -0
  180. package/dist/store/trace-buffer-store.js +113 -0
  181. package/dist/store/trace-buffer-store.js.map +1 -0
  182. package/dist/types/mcp-types.d.ts +17 -0
  183. package/dist/types/mcp-types.d.ts.map +1 -0
  184. package/dist/types/mcp-types.js +5 -0
  185. package/dist/types/mcp-types.js.map +1 -0
  186. package/dist/types/response-envelope.d.ts +96 -0
  187. package/dist/types/response-envelope.d.ts.map +1 -0
  188. package/dist/types/response-envelope.js +2 -0
  189. package/dist/types/response-envelope.js.map +1 -0
  190. package/dist/types/run-record.d.ts +169 -0
  191. package/dist/types/run-record.d.ts.map +1 -0
  192. package/dist/types/run-record.js +2 -0
  193. package/dist/types/run-record.js.map +1 -0
  194. package/dist/types/workflow-definition.d.ts +292 -0
  195. package/dist/types/workflow-definition.d.ts.map +1 -0
  196. package/dist/types/workflow-definition.js +2 -0
  197. package/dist/types/workflow-definition.js.map +1 -0
  198. package/dist/types/workflow-error.d.ts +26 -0
  199. package/dist/types/workflow-error.d.ts.map +1 -0
  200. package/dist/types/workflow-error.js +28 -0
  201. package/dist/types/workflow-error.js.map +1 -0
  202. package/dist/utils/schema-skeleton.d.ts +11 -0
  203. package/dist/utils/schema-skeleton.d.ts.map +1 -0
  204. package/dist/utils/schema-skeleton.js +40 -0
  205. package/dist/utils/schema-skeleton.js.map +1 -0
  206. package/dist/validation/input-schema.d.ts +26 -0
  207. package/dist/validation/input-schema.d.ts.map +1 -0
  208. package/dist/validation/input-schema.js +67 -0
  209. package/dist/validation/input-schema.js.map +1 -0
  210. package/dist/workflow/registrar.d.ts +20 -0
  211. package/dist/workflow/registrar.d.ts.map +1 -0
  212. package/dist/workflow/registrar.js +61 -0
  213. package/dist/workflow/registrar.js.map +1 -0
  214. package/dist/workflow/template-resolver.d.ts +25 -0
  215. package/dist/workflow/template-resolver.d.ts.map +1 -0
  216. package/dist/workflow/template-resolver.js +112 -0
  217. package/dist/workflow/template-resolver.js.map +1 -0
  218. package/dist/workflow/yaml-loader.d.ts +15 -0
  219. package/dist/workflow/yaml-loader.d.ts.map +1 -0
  220. package/dist/workflow/yaml-loader.js +408 -0
  221. package/dist/workflow/yaml-loader.js.map +1 -0
  222. package/package.json +61 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-loop.js","sourceRoot":"","sources":["../../src/engine/execution-loop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { RunPhase } from '../types/run-record.js';
2
+ /** Phases that mark a run as finished — no further steps will execute. */
3
+ export declare const TERMINAL_PHASES: Set<RunPhase>;
4
+ /** Phases from which a run can be resumed by removing steps from failed_steps. */
5
+ export declare const RESUMABLE_PHASES: Set<RunPhase>;
6
+ /** Phases in which a run is waiting for a human gate response. */
7
+ export declare const WAITING_PHASES: Set<RunPhase>;
8
+ /** Returns true when a run in the given phase will not execute any more steps. */
9
+ export declare function isTerminalPhase(phase: RunPhase): boolean;
10
+ export declare const TERMINAL_STATES: Set<RunPhase>;
11
+ export declare const RESUMABLE_STATES: Set<RunPhase>;
12
+ export declare const WAITING_STATES: Set<RunPhase>;
13
+ export declare const isTerminalState: typeof isTerminalPhase;
14
+ //# sourceMappingURL=lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/engine/lifecycle.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,0EAA0E;AAC1E,eAAO,MAAM,eAAe,eAA0D,CAAC;AAEvF,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,eAA6C,CAAC;AAE3E,kEAAkE;AAClE,eAAO,MAAM,cAAc,eAAsC,CAAC;AAElE,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAExD;AAID,eAAO,MAAM,eAAe,eAAkB,CAAC;AAC/C,eAAO,MAAM,gBAAgB,eAAmB,CAAC;AACjD,eAAO,MAAM,cAAc,eAAiB,CAAC;AAC7C,eAAO,MAAM,eAAe,wBAAkB,CAAC"}
@@ -0,0 +1,17 @@
1
+ /** Phases that mark a run as finished — no further steps will execute. */
2
+ export const TERMINAL_PHASES = new Set(['completed', 'failed', 'abandoned']);
3
+ /** Phases from which a run can be resumed by removing steps from failed_steps. */
4
+ export const RESUMABLE_PHASES = new Set(['failed', 'abandoned']);
5
+ /** Phases in which a run is waiting for a human gate response. */
6
+ export const WAITING_PHASES = new Set(['gate_waiting']);
7
+ /** Returns true when a run in the given phase will not execute any more steps. */
8
+ export function isTerminalPhase(phase) {
9
+ return TERMINAL_PHASES.has(phase);
10
+ }
11
+ // Legacy aliases — kept for backward compatibility with existing imports.
12
+ // New code should use TERMINAL_PHASES, RESUMABLE_PHASES, WAITING_PHASES, isTerminalPhase.
13
+ export const TERMINAL_STATES = TERMINAL_PHASES;
14
+ export const RESUMABLE_STATES = RESUMABLE_PHASES;
15
+ export const WAITING_STATES = WAITING_PHASES;
16
+ export const isTerminalState = isTerminalPhase;
17
+ //# sourceMappingURL=lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/engine/lifecycle.ts"],"names":[],"mappings":"AAIA,0EAA0E;AAC1E,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAW,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;AAEvF,kFAAkF;AAClF,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;AAE3E,kEAAkE;AAClE,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAW,CAAC,cAAc,CAAC,CAAC,CAAC;AAElE,kFAAkF;AAClF,MAAM,UAAU,eAAe,CAAC,KAAe;IAC7C,OAAO,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,0EAA0E;AAC1E,0FAA0F;AAC1F,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;AAC/C,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AACjD,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Evaluates a precondition expression against collected step outputs.
3
+ *
4
+ * Syntax: "<step_name>.<field_path> <op> <literal>"
5
+ * step_name — name of a previously executed step
6
+ * field_path — dot-separated path into that step's output_summary
7
+ * (e.g. result.accepted_count)
8
+ * op — one of: > < >= <= == !=
9
+ * literal — number, true, false, or a string (quoted or unquoted)
10
+ *
11
+ * Example: "validate_candidates.result.accepted_count > 0"
12
+ */
13
+ export declare function evaluatePrecondition(expression: string, evidenceByStep: Record<string, Record<string, unknown>>): boolean;
14
+ export interface PreconditionResult {
15
+ expression: string;
16
+ passed: boolean;
17
+ /** LHS value as resolved from evidence, or undefined if not resolved. */
18
+ resolved_value: unknown;
19
+ }
20
+ /**
21
+ * Evaluates all preconditions in order. Returns the first failure, or null if all pass.
22
+ */
23
+ export declare function checkPreconditions(preconditions: string[], evidenceByStep: Record<string, Record<string, unknown>>): PreconditionResult | null;
24
+ /**
25
+ * Evaluates all preconditions and returns results for every expression.
26
+ * Unlike checkPreconditions, does not stop at the first failure.
27
+ * Used to build precondition_trace for StepDiagnostics.
28
+ */
29
+ export declare function evaluateAllPreconditions(preconditions: string[], evidenceByStep: Record<string, Record<string, unknown>>): PreconditionResult[];
30
+ //# sourceMappingURL=precondition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"precondition.d.ts","sourceRoot":"","sources":["../../src/engine/precondition.ts"],"names":[],"mappings":"AAyDA;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACtD,OAAO,CAiBT;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,yEAAyE;IACzE,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,MAAM,EAAE,EACvB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACtD,kBAAkB,GAAG,IAAI,CAiB3B;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,MAAM,EAAE,EACvB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACtD,kBAAkB,EAAE,CAatB"}
@@ -0,0 +1,125 @@
1
+ // Precondition evaluator — evaluates step precondition expressions against
2
+ // the run's collected evidence map before allowing a step to execute.
3
+ /**
4
+ * Resolves a dot-separated path into a nested object.
5
+ * Returns `undefined` if any segment is missing.
6
+ */
7
+ function resolvePath(obj, path) {
8
+ const parts = path.split('.');
9
+ let current = obj;
10
+ for (const part of parts) {
11
+ if (current === null || typeof current !== 'object')
12
+ return undefined;
13
+ current = current[part];
14
+ }
15
+ return current;
16
+ }
17
+ /**
18
+ * Parses a literal string into a typed value.
19
+ * Handles numbers, booleans, and strings (strips surrounding quotes).
20
+ */
21
+ function parseLiteral(raw) {
22
+ const trimmed = raw.trim();
23
+ if (trimmed === 'true')
24
+ return true;
25
+ if (trimmed === 'false')
26
+ return false;
27
+ const num = Number(trimmed);
28
+ if (!Number.isNaN(num) && trimmed !== '')
29
+ return num;
30
+ // Strip surrounding single or double quotes.
31
+ if ((trimmed.startsWith('"') && trimmed.endsWith('"')) ||
32
+ (trimmed.startsWith("'") && trimmed.endsWith("'"))) {
33
+ return trimmed.slice(1, -1);
34
+ }
35
+ return trimmed;
36
+ }
37
+ /** Compares lhs to rhs using the given operator. Returns false if types are incompatible. */
38
+ function compare(lhs, op, rhs) {
39
+ switch (op) {
40
+ case '==':
41
+ return lhs === rhs;
42
+ case '!=':
43
+ return lhs !== rhs;
44
+ case '>':
45
+ return typeof lhs === 'number' && typeof rhs === 'number' && lhs > rhs;
46
+ case '<':
47
+ return typeof lhs === 'number' && typeof rhs === 'number' && lhs < rhs;
48
+ case '>=':
49
+ return typeof lhs === 'number' && typeof rhs === 'number' && lhs >= rhs;
50
+ case '<=':
51
+ return typeof lhs === 'number' && typeof rhs === 'number' && lhs <= rhs;
52
+ default:
53
+ return false;
54
+ }
55
+ }
56
+ /**
57
+ * Evaluates a precondition expression against collected step outputs.
58
+ *
59
+ * Syntax: "<step_name>.<field_path> <op> <literal>"
60
+ * step_name — name of a previously executed step
61
+ * field_path — dot-separated path into that step's output_summary
62
+ * (e.g. result.accepted_count)
63
+ * op — one of: > < >= <= == !=
64
+ * literal — number, true, false, or a string (quoted or unquoted)
65
+ *
66
+ * Example: "validate_candidates.result.accepted_count > 0"
67
+ */
68
+ export function evaluatePrecondition(expression, evidenceByStep) {
69
+ const match = /^([\w-]+)\.([\w.]+)\s*(>=|<=|!=|>|<|==)\s*(.+)$/.exec(expression);
70
+ if (match === null)
71
+ return false;
72
+ const stepName = match[1];
73
+ const fieldPath = match[2];
74
+ const op = match[3];
75
+ const literalRaw = match[4];
76
+ const stepEvidence = evidenceByStep[stepName];
77
+ if (stepEvidence === undefined)
78
+ return false;
79
+ const lhs = resolvePath(stepEvidence, fieldPath);
80
+ if (lhs === undefined)
81
+ return false;
82
+ const rhs = parseLiteral(literalRaw);
83
+ return compare(lhs, op, rhs);
84
+ }
85
+ /**
86
+ * Evaluates all preconditions in order. Returns the first failure, or null if all pass.
87
+ */
88
+ export function checkPreconditions(preconditions, evidenceByStep) {
89
+ for (const expression of preconditions) {
90
+ const passed = evaluatePrecondition(expression, evidenceByStep);
91
+ if (!passed) {
92
+ // Resolve the LHS value for the failure message.
93
+ const match = /^([\w-]+)\.([\w.]+)/.exec(expression);
94
+ let resolvedValue = undefined;
95
+ if (match !== null) {
96
+ const stepEvidence = evidenceByStep[match[1]];
97
+ if (stepEvidence !== undefined) {
98
+ resolvedValue = resolvePath(stepEvidence, match[2]);
99
+ }
100
+ }
101
+ return { expression, passed: false, resolved_value: resolvedValue };
102
+ }
103
+ }
104
+ return null;
105
+ }
106
+ /**
107
+ * Evaluates all preconditions and returns results for every expression.
108
+ * Unlike checkPreconditions, does not stop at the first failure.
109
+ * Used to build precondition_trace for StepDiagnostics.
110
+ */
111
+ export function evaluateAllPreconditions(preconditions, evidenceByStep) {
112
+ return preconditions.map((expression) => {
113
+ const passed = evaluatePrecondition(expression, evidenceByStep);
114
+ const match = /^([\w-]+)\.([\w.]+)/.exec(expression);
115
+ let resolvedValue = undefined;
116
+ if (match !== null) {
117
+ const stepEvidence = evidenceByStep[match[1]];
118
+ if (stepEvidence !== undefined) {
119
+ resolvedValue = resolvePath(stepEvidence, match[2]);
120
+ }
121
+ }
122
+ return { expression, passed, resolved_value: resolvedValue };
123
+ });
124
+ }
125
+ //# sourceMappingURL=precondition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"precondition.js","sourceRoot":"","sources":["../../src/engine/precondition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { WorkflowContextSnapshot } from '../types/run-record.js';
2
+ import type { ContextWrapperFormat } from '../types/workflow-definition.js';
3
+ /**
4
+ * Resolves a dot-path like "context.resources.review_security.findings"
5
+ * against the given root object. Returns undefined if any segment is missing.
6
+ */
7
+ export declare function resolvePath(path: string, root: Record<string, unknown>): unknown;
8
+ /**
9
+ * Renders all {{ ... }} expressions in a template string against the provided context.
10
+ * - Strings: inserted as-is
11
+ * - Objects/arrays: JSON.stringify with 2-space indent
12
+ * - undefined/unresolvable: left as {{ expression }}
13
+ *
14
+ * Handles the workflow.context.* namespace when workflowContext is provided.
15
+ * workflowContext is optional so all existing call sites compile without change.
16
+ */
17
+ export declare function renderTemplate(template: string, context: {
18
+ evidenceByStep: Record<string, Record<string, unknown>>;
19
+ runParams: Record<string, unknown>;
20
+ workflowContext?: {
21
+ snapshots: Record<string, WorkflowContextSnapshot>;
22
+ wrapper: ContextWrapperFormat;
23
+ };
24
+ }): string;
25
+ //# sourceMappingURL=prompt-template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-template.d.ts","sourceRoot":"","sources":["../../src/engine/prompt-template.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAE5E;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAQhF;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IACP,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,eAAe,CAAC,EAAE;QAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;QACnD,OAAO,EAAE,oBAAoB,CAAC;KAC/B,CAAC;CACH,GACA,MAAM,CAiBR"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Resolves a dot-path like "context.resources.review_security.findings"
3
+ * against the given root object. Returns undefined if any segment is missing.
4
+ */
5
+ export function resolvePath(path, root) {
6
+ const parts = path.trim().split('.');
7
+ let current = root;
8
+ for (const part of parts) {
9
+ if (typeof current !== 'object' || current === null)
10
+ return undefined;
11
+ current = current[part];
12
+ }
13
+ return current;
14
+ }
15
+ /**
16
+ * Renders all {{ ... }} expressions in a template string against the provided context.
17
+ * - Strings: inserted as-is
18
+ * - Objects/arrays: JSON.stringify with 2-space indent
19
+ * - undefined/unresolvable: left as {{ expression }}
20
+ *
21
+ * Handles the workflow.context.* namespace when workflowContext is provided.
22
+ * workflowContext is optional so all existing call sites compile without change.
23
+ */
24
+ export function renderTemplate(template, context) {
25
+ return template.replace(/\{\{\s*([\w.-]+)\s*\}\}/g, (_match, path) => {
26
+ // Workflow context namespace — handled before the generic path resolver.
27
+ if (path.startsWith('workflow.context.') && context.workflowContext) {
28
+ return resolveWorkflowContextRef(path, context.workflowContext) ?? `{{ ${path} }}`;
29
+ }
30
+ // Existing logic: context.resources.* and run.params.*
31
+ const root = {
32
+ context: { resources: context.evidenceByStep },
33
+ run: { params: context.runParams },
34
+ };
35
+ const value = resolvePath(path, root);
36
+ if (value === undefined)
37
+ return `{{ ${path} }}`;
38
+ if (typeof value === 'string')
39
+ return value;
40
+ return JSON.stringify(value, null, 2);
41
+ });
42
+ }
43
+ function resolveWorkflowContextRef(path, ctx) {
44
+ // path format: "workflow.context.NAME" or "workflow.context.NAME.raw"
45
+ const segments = path.split('.');
46
+ if (segments.length < 3)
47
+ return undefined;
48
+ const isRaw = segments[segments.length - 1] === 'raw';
49
+ // Name is everything between "workflow.context." and the optional ".raw"
50
+ const name = isRaw ? segments.slice(2, -1).join('.') : segments.slice(2).join('.');
51
+ const snapshot = ctx.snapshots[name];
52
+ if (!snapshot || snapshot.error !== undefined)
53
+ return undefined;
54
+ return isRaw ? snapshot.content : wrapContent(name, snapshot.content, ctx.wrapper);
55
+ }
56
+ function wrapContent(name, content, wrapper) {
57
+ switch (wrapper) {
58
+ case 'xml':
59
+ return `<${name}>\n${content}\n</${name}>`;
60
+ case 'brackets':
61
+ return `[${name}]\n${content}\n[/${name}]`;
62
+ case 'none':
63
+ return content;
64
+ }
65
+ }
66
+ //# sourceMappingURL=prompt-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-template.js","sourceRoot":"","sources":["../../src/engine/prompt-template.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import type { WorkflowContextSnapshot } from '../types/run-record.js';
2
+ import type { ContextWrapperFormat } from '../types/workflow-definition.js';
3
+ /**
4
+ * Resolves a dot-path like "context.resources.review_security.findings"
5
+ * against the given root object. Returns undefined if any segment is missing.
6
+ */
7
+ export declare function resolvePath(path: string, root: Record<string, unknown>): unknown;
8
+ type FilterResult = {
9
+ ok: true;
10
+ value: unknown;
11
+ } | {
12
+ ok: false;
13
+ reason: 'unknown_filter';
14
+ filterName: string;
15
+ } | {
16
+ ok: false;
17
+ reason: 'type_mismatch';
18
+ };
19
+ /** Thrown by renderTemplate when strict mode is on and an unknown filter is encountered. */
20
+ export declare class UnknownFilterError extends Error {
21
+ readonly filterName: string;
22
+ constructor(filterName: string);
23
+ }
24
+ /**
25
+ * Applies a single named filter to a value and returns a FilterResult.
26
+ * Exported for direct testing of individual filter behaviour.
27
+ */
28
+ export declare function applyFilter(value: unknown, filterName: string, args: string[]): FilterResult;
29
+ /**
30
+ * Renders all {{ ... }} expressions in a template string against the provided context.
31
+ * Supports pipe-filter syntax: {{ path | filter1: arg | filter2 }}
32
+ *
33
+ * - Strings: inserted as-is (after filter chain)
34
+ * - Objects/arrays: JSON.stringify with 2-space indent (no filters)
35
+ * - undefined/unresolvable or type_mismatch: left as {{ expression }}
36
+ * - unknown_filter in strict mode: throws UnknownFilterError
37
+ * - unknown_filter in lenient mode: leaves placeholder intact
38
+ *
39
+ * Handles the workflow.context.* namespace when workflowContext is provided.
40
+ */
41
+ export declare function renderTemplate(template: string, context: {
42
+ evidenceByStep: Record<string, Record<string, unknown>>;
43
+ runParams: Record<string, unknown>;
44
+ workflowContext?: {
45
+ snapshots: Record<string, WorkflowContextSnapshot>;
46
+ wrapper: ContextWrapperFormat;
47
+ };
48
+ }, options?: {
49
+ strict?: boolean;
50
+ }): string;
51
+ export {};
52
+ //# sourceMappingURL=render-template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-template.d.ts","sourceRoot":"","sources":["../../src/engine/render-template.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAE5E;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAQhF;AAID,KAAK,YAAY,GACb;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC5B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,CAAC;AAE3C,4FAA4F;AAC5F,qBAAa,kBAAmB,SAAQ,KAAK;aACf,UAAU,EAAE,MAAM;gBAAlB,UAAU,EAAE,MAAM;CAI/C;AAsCD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CAgT5F;AAyED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IACP,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,eAAe,CAAC,EAAE;QAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;QACnD,OAAO,EAAE,oBAAoB,CAAC;KAC/B,CAAC;CACH,EACD,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7B,MAAM,CA2DR"}