@sensigo/realm 0.38.0 → 0.40.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 (70) hide show
  1. package/dist/engine/abandon-run.d.ts.map +1 -1
  2. package/dist/engine/abandon-run.js +5 -7
  3. package/dist/engine/abandon-run.js.map +1 -1
  4. package/dist/engine/apply-resume.d.ts.map +1 -1
  5. package/dist/engine/apply-resume.js +17 -1
  6. package/dist/engine/apply-resume.js.map +1 -1
  7. package/dist/engine/eligibility.d.ts +85 -2
  8. package/dist/engine/eligibility.d.ts.map +1 -1
  9. package/dist/engine/eligibility.js +271 -14
  10. package/dist/engine/eligibility.js.map +1 -1
  11. package/dist/engine/execution-loop.d.ts.map +1 -1
  12. package/dist/engine/execution-loop.js +172 -37
  13. package/dist/engine/execution-loop.js.map +1 -1
  14. package/dist/engine/run-health.d.ts +1 -1
  15. package/dist/engine/run-health.d.ts.map +1 -1
  16. package/dist/engine/run-health.js +89 -0
  17. package/dist/engine/run-health.js.map +1 -1
  18. package/dist/engine/settlement.d.ts +61 -6
  19. package/dist/engine/settlement.d.ts.map +1 -1
  20. package/dist/engine/settlement.js +190 -25
  21. package/dist/engine/settlement.js.map +1 -1
  22. package/dist/index.d.ts +4 -3
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +9 -2
  25. package/dist/index.js.map +1 -1
  26. package/dist/store/failed-attempt-store.d.ts +9 -1
  27. package/dist/store/failed-attempt-store.d.ts.map +1 -1
  28. package/dist/store/failed-attempt-store.js +12 -1
  29. package/dist/store/failed-attempt-store.js.map +1 -1
  30. package/dist/store/json-file-store.d.ts +28 -4
  31. package/dist/store/json-file-store.d.ts.map +1 -1
  32. package/dist/store/json-file-store.js +133 -5
  33. package/dist/store/json-file-store.js.map +1 -1
  34. package/dist/store/per-run-artifact-store.d.ts +42 -1
  35. package/dist/store/per-run-artifact-store.d.ts.map +1 -1
  36. package/dist/store/seal-integrity.d.ts +9 -0
  37. package/dist/store/seal-integrity.d.ts.map +1 -0
  38. package/dist/store/seal-integrity.js +249 -0
  39. package/dist/store/seal-integrity.js.map +1 -0
  40. package/dist/store/store-interface.d.ts +47 -2
  41. package/dist/store/store-interface.d.ts.map +1 -1
  42. package/dist/store/trace-buffer-store.d.ts +32 -6
  43. package/dist/store/trace-buffer-store.d.ts.map +1 -1
  44. package/dist/store/trace-buffer-store.js +39 -6
  45. package/dist/store/trace-buffer-store.js.map +1 -1
  46. package/dist/types/response-envelope.d.ts +0 -1
  47. package/dist/types/response-envelope.d.ts.map +1 -1
  48. package/dist/types/run-record.d.ts +201 -6
  49. package/dist/types/run-record.d.ts.map +1 -1
  50. package/dist/types/run-record.js +25 -1
  51. package/dist/types/run-record.js.map +1 -1
  52. package/dist/types/workflow-definition.d.ts +11 -1
  53. package/dist/types/workflow-definition.d.ts.map +1 -1
  54. package/dist/types/workflow-definition.js +1 -0
  55. package/dist/types/workflow-definition.js.map +1 -1
  56. package/dist/types/workflow-error.d.ts +1 -1
  57. package/dist/types/workflow-error.d.ts.map +1 -1
  58. package/dist/types/workflow-error.js.map +1 -1
  59. package/dist/workflow/diagnostics.d.ts +39 -3
  60. package/dist/workflow/diagnostics.d.ts.map +1 -1
  61. package/dist/workflow/diagnostics.js +37 -10
  62. package/dist/workflow/diagnostics.js.map +1 -1
  63. package/dist/workflow/source-positions.d.ts +39 -0
  64. package/dist/workflow/source-positions.d.ts.map +1 -0
  65. package/dist/workflow/source-positions.js +107 -0
  66. package/dist/workflow/source-positions.js.map +1 -0
  67. package/dist/workflow/yaml-loader.d.ts.map +1 -1
  68. package/dist/workflow/yaml-loader.js +436 -117
  69. package/dist/workflow/yaml-loader.js.map +1 -1
  70. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/workflow/diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/workflow/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import type { State } from 'js-yaml';
2
+ /**
3
+ * Where a key sits in the source. 1-based. `endColumn` is exclusive — one past the last character
4
+ * (the editor convention); all other bounds inclusive.
5
+ */
6
+ export interface SourcePosition {
7
+ line: number;
8
+ column: number;
9
+ endLine: number;
10
+ endColumn: number;
11
+ }
12
+ /**
13
+ * Resolves a semantic path to its position in the source, or `undefined` if it cannot.
14
+ *
15
+ * The path is a SEQUENCE OF SEGMENTS — `['steps', 'my_step', 'execution']` — never a joined
16
+ * string, and that is a correctness requirement rather than a style preference. A dotted path
17
+ * aliases: a step literally named `a.b` and a field `b` on a step named `a` both flatten to
18
+ * `steps.a.b`, and last-write-wins hands one of them the OTHER's line. That is lawful YAML
19
+ * producing a confidently wrong position — the one outcome this module exists to make impossible.
20
+ *
21
+ * No separator fixes it. NUL does not: js-yaml parses `"a\0b"` into a key that CONTAINS a literal
22
+ * NUL, so a NUL-join aliases exactly as the dot did. There is no character a YAML key cannot hold,
23
+ * so only structure can carry the distinction.
24
+ */
25
+ export interface SourcePositionMap {
26
+ posOf(segments: readonly string[]): SourcePosition | undefined;
27
+ }
28
+ /** A map that resolves nothing — for callers with no source text to map against. */
29
+ export declare function emptySourcePositionMap(): SourcePositionMap;
30
+ /**
31
+ * Collects positions during a parse. Create one, hand `listener` to `yaml.load`, then call
32
+ * `finish()`. One instance per parse — there is no module state, so concurrent loads cannot see
33
+ * each other's positions.
34
+ */
35
+ export declare function createSourcePositionCollector(): {
36
+ listener: (event: 'open' | 'close', state: State) => void;
37
+ finish: () => SourcePositionMap;
38
+ };
39
+ //# sourceMappingURL=source-positions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-positions.d.ts","sourceRoot":"","sources":["../../src/workflow/source-positions.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,cAAc,GAAG,SAAS,CAAC;CAChE;AAgCD,oFAAoF;AACpF,wBAAgB,sBAAsB,IAAI,iBAAiB,CAE1D;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,IAAI;IAC/C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC1D,MAAM,EAAE,MAAM,iBAAiB,CAAC;CACjC,CA0CA"}
@@ -0,0 +1,107 @@
1
+ const EMPTY_MAP = { posOf: () => undefined };
2
+ /**
3
+ * The map's internal key. `JSON.stringify` of a string array is injective — the escaping is
4
+ * deterministic and the array brackets/commas are part of the encoding — so two different segment
5
+ * sequences can never produce the same key. `['a.b']` encodes as `["a.b"]` and `['a','b']` as
6
+ * `["a","b"]`; there is no input that collapses them.
7
+ */
8
+ function keyOf(segments) {
9
+ return JSON.stringify(segments);
10
+ }
11
+ /** A map that resolves nothing — for callers with no source text to map against. */
12
+ export function emptySourcePositionMap() {
13
+ return EMPTY_MAP;
14
+ }
15
+ /**
16
+ * Collects positions during a parse. Create one, hand `listener` to `yaml.load`, then call
17
+ * `finish()`. One instance per parse — there is no module state, so concurrent loads cannot see
18
+ * each other's positions.
19
+ */
20
+ export function createSourcePositionCollector() {
21
+ // The root frame is a container for whatever closes at the top level; the document's own node
22
+ // lands in its children.
23
+ const stack = [{ startLine: 0, startColumn: 0, children: [] }];
24
+ return {
25
+ listener(event, state) {
26
+ if (event === 'open') {
27
+ stack.push({
28
+ startLine: state.line,
29
+ startColumn: state.position - state.lineStart,
30
+ children: [],
31
+ });
32
+ return;
33
+ }
34
+ // A close with nothing open would mean the stream is not balanced. It is, on every input
35
+ // this parser accepts — but if it ever were not, dropping the event is the behaviour that
36
+ // preserves the invariant.
37
+ if (stack.length <= 1)
38
+ return;
39
+ const frame = stack.pop();
40
+ const parent = stack[stack.length - 1];
41
+ parent.children.push({
42
+ kind: state.kind,
43
+ result: state.result,
44
+ startLine: frame.startLine,
45
+ startColumn: frame.startColumn,
46
+ endLine: state.line,
47
+ endColumn: state.position - state.lineStart,
48
+ children: frame.children,
49
+ });
50
+ },
51
+ finish() {
52
+ const positions = new Map();
53
+ // The document node is the last thing to close at the top level.
54
+ const root = stack[0]?.children[stack[0].children.length - 1];
55
+ if (root !== undefined)
56
+ collect(root, [], positions);
57
+ return {
58
+ posOf: (segments) => positions.get(keyOf(segments)),
59
+ };
60
+ },
61
+ };
62
+ }
63
+ /**
64
+ * Walks a mapping and records one position per key, then descends.
65
+ *
66
+ * THE STRICT PAIRING RULE. A block mapping's immediate children arrive as key, value, key, value
67
+ * — so `children.length` must be exactly twice the key count, and each even child must BE the
68
+ * corresponding key. Anything else means this node's children do not line up with its keys the
69
+ * way they normally do: a flow mapping with a valueless key, a merge key that expanded, an anchor
70
+ * replayed from elsewhere in the document. In every one of those the positions would be off by
71
+ * some amount that is not knowable from here.
72
+ *
73
+ * So on any mismatch this records NOTHING for the whole mapping — not a best guess for the keys
74
+ * that happened to line up. That is the absent-never-wrong invariant, and it is deliberately
75
+ * blunt: the cost is a missing line number on an exotic shape, and the alternative is a confident
76
+ * wrong one on the same shape.
77
+ */
78
+ function collect(node, path, into) {
79
+ // Only structural nodes are walked. Anchor replays surface as events nested inside scalars,
80
+ // which have no keys to map and are never descended into.
81
+ if (node.kind !== 'mapping')
82
+ return;
83
+ if (typeof node.result !== 'object' || node.result === null || Array.isArray(node.result))
84
+ return;
85
+ const keys = Object.keys(node.result);
86
+ if (node.children.length !== 2 * keys.length)
87
+ return;
88
+ for (let i = 0; i < keys.length; i++) {
89
+ if (node.children[2 * i].result !== keys[i])
90
+ return;
91
+ }
92
+ for (let i = 0; i < keys.length; i++) {
93
+ const keyNode = node.children[2 * i];
94
+ const valueNode = node.children[2 * i + 1];
95
+ const childPath = [...path, keys[i]];
96
+ // +1 on every coordinate: this is the ONE place 0-based parser state becomes 1-based
97
+ // human/agent coordinates.
98
+ into.set(keyOf(childPath), {
99
+ line: keyNode.startLine + 1,
100
+ column: keyNode.startColumn + 1,
101
+ endLine: keyNode.endLine + 1,
102
+ endColumn: keyNode.endColumn + 1,
103
+ });
104
+ collect(valueNode, childPath, into);
105
+ }
106
+ }
107
+ //# sourceMappingURL=source-positions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-positions.js","sourceRoot":"","sources":["../../src/workflow/source-positions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"yaml-loader.d.ts","sourceRoot":"","sources":["../../src/workflow/yaml-loader.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,iCAAiC,CAAC;AAQzC,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAyKnE,iFAAiF;AACjF,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAkFjD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAUjD;AA4JD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,kBAAkB,CAIpB;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B;IAAE,UAAU,EAAE,kBAAkB,CAAC;IAAC,QAAQ,EAAE,aAAa,EAAE,CAAA;CAAE,CAE/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,kBAAkB,CAMpB;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,iBAAiB,GAC3B;IAAE,UAAU,EAAE,kBAAkB,CAAC;IAAC,QAAQ,EAAE,aAAa,EAAE,CAAA;CAAE,CAE/D"}
1
+ {"version":3,"file":"yaml-loader.d.ts","sourceRoot":"","sources":["../../src/workflow/yaml-loader.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,iCAAiC,CAAC;AAQzC,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAsOnE,iFAAiF;AACjF,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAkFjD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAUjD;AA4JD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,kBAAkB,CAIpB;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B;IAAE,UAAU,EAAE,kBAAkB,CAAC;IAAC,QAAQ,EAAE,aAAa,EAAE,CAAA;CAAE,CAE/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,kBAAkB,CAMpB;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,iBAAiB,GAC3B;IAAE,UAAU,EAAE,kBAAkB,CAAC;IAAC,QAAQ,EAAE,aAAa,EAAE,CAAA;CAAE,CAE/D"}