@xyne/workflow-sdk 3.2.19 → 3.2.21

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 (49) hide show
  1. package/dist/agents/citation-resolve.d.ts +23 -12
  2. package/dist/agents/citation-resolve.d.ts.map +1 -1
  3. package/dist/agents/citation-resolve.js +125 -24
  4. package/dist/agents/citation-resolve.js.map +1 -1
  5. package/dist/builder/index.d.ts +2 -2
  6. package/dist/builder/index.d.ts.map +1 -1
  7. package/dist/builder/index.js +1 -1
  8. package/dist/builder/index.js.map +1 -1
  9. package/dist/common/citation-ref.d.ts +525 -11
  10. package/dist/common/citation-ref.d.ts.map +1 -1
  11. package/dist/common/citation-ref.js +105 -14
  12. package/dist/common/citation-ref.js.map +1 -1
  13. package/dist/common/expression-eval.d.ts +35 -0
  14. package/dist/common/expression-eval.d.ts.map +1 -0
  15. package/dist/common/expression-eval.js +214 -0
  16. package/dist/common/expression-eval.js.map +1 -0
  17. package/dist/common/index.d.ts +2 -2
  18. package/dist/common/index.d.ts.map +1 -1
  19. package/dist/common/index.js +1 -1
  20. package/dist/common/index.js.map +1 -1
  21. package/dist/common/principal.d.ts +45 -0
  22. package/dist/common/principal.d.ts.map +1 -0
  23. package/dist/common/principal.js +9 -0
  24. package/dist/common/principal.js.map +1 -0
  25. package/dist/index.d.ts +2 -2
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +1 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/steps/builtin/transform.step.d.ts +247 -0
  30. package/dist/steps/builtin/transform.step.d.ts.map +1 -0
  31. package/dist/steps/builtin/transform.step.js +135 -0
  32. package/dist/steps/builtin/transform.step.js.map +1 -0
  33. package/dist/types/attachment.d.ts +23 -0
  34. package/dist/types/attachment.d.ts.map +1 -0
  35. package/dist/types/attachment.js +2 -0
  36. package/dist/types/attachment.js.map +1 -0
  37. package/dist/types/resume-payload.d.ts +34 -0
  38. package/dist/types/resume-payload.d.ts.map +1 -0
  39. package/dist/types/resume-payload.js +12 -0
  40. package/dist/types/resume-payload.js.map +1 -0
  41. package/dist/util/executable-check.d.ts +42 -0
  42. package/dist/util/executable-check.d.ts.map +1 -0
  43. package/dist/util/executable-check.js +115 -0
  44. package/dist/util/executable-check.js.map +1 -0
  45. package/package.json +1 -1
  46. package/dist/authz/principal-field.d.ts +0 -23
  47. package/dist/authz/principal-field.d.ts.map +0 -1
  48. package/dist/authz/principal-field.js +0 -34
  49. package/dist/authz/principal-field.js.map +0 -1
@@ -9,7 +9,7 @@ import { zodToJsonSchemaRecord } from '../util/schema-convert.js';
9
9
  * execution time and travels *with the output data* — `output.response.citation`,
10
10
  * a structural mirror of `output.response.value`.
11
11
  *
12
- * Two kinds, because exactly two things are knowable to a model:
12
+ * Three kinds everything a model can honestly say about where a value came from:
13
13
  *
14
14
  * - `ref` — a path the agent was explicitly shown (the `[source: ...]` labels the
15
15
  * agent step injects around resolved `{{refs}}`). An agent can never emit an
@@ -17,26 +17,66 @@ import { zodToJsonSchemaRecord } from '../util/schema-convert.js';
17
17
  * to know. Turning a `ref` into an openable document happens in the UI, which
18
18
  * alone holds the workflow config + step outputs required to walk to the source.
19
19
  * - `url` — an external link the agent browsed. Already concrete; nothing to resolve.
20
+ * - `derived` — the value was **computed**, so it appears nowhere to be quoted;
21
+ * its provenance is the inputs it combined and how. See {@link DerivedCitationSchema}.
20
22
  *
21
- * `page` / `quote` are the half only the reader of the text can supply: they
22
- * locate the passage *inside* the resolved document. Which document a value came
23
- * from is structural (the workflow knows it); where inside it is data (only the
24
- * agent knows it) — this split is why citations are never inferred by tracing.
23
+ * `locator` / `quote` are the half only the reader of the text can supply: they
24
+ * locate the passage *inside* the source the `ref` names. Which source a value
25
+ * came from is structural (the workflow knows it); where inside it is data (only
26
+ * the agent knows it) — this split is why citations are never inferred by tracing.
27
+ *
28
+ * **There is deliberately no separate "document" vs "value" kind.** Whether a ref
29
+ * resolves to an openable document or to plain step output is a *structural* fact
30
+ * the model cannot know — it saw text, not the workflow graph. Asking it to
31
+ * classify would guarantee confident mis-labelling, and a wrong discriminator is
32
+ * far worse than an omitted optional field. So the emitted union is shaped by what
33
+ * the agent can know; the *resolved* union (UI) splits `doc` from `value`, where
34
+ * the answer is actually available. When there is nothing to locate within, the
35
+ * agent simply omits `locator`/`quote`.
36
+ */
37
+ /**
38
+ * Where inside a source a value sits.
39
+ *
40
+ * Discriminated rather than a bag of optional fields: a spreadsheet has no pages
41
+ * and a PDF has no rows, so `page?`/`row?`/`line?` side by side would make most
42
+ * combinations meaningless and every consumer defensive.
43
+ *
44
+ * The agent asserts this only because the `[source: …]` label *shows* it — it is
45
+ * copied, never inferred. Anything a label can't show stays out of this union
46
+ * (an image bounding box, for instance, which no reader of text could know).
25
47
  */
48
+ export const LocatorSchema = z.discriminatedUnion('at', [
49
+ z.object({
50
+ at: z.literal('page'),
51
+ page: z.number().int().positive().describe('1-based page'),
52
+ }),
53
+ z.object({
54
+ at: z.literal('cell'),
55
+ sheet: z.string().optional().describe('Sheet name, when the file has several'),
56
+ row: z.number().int().describe('1-based row, header included — as shown in Excel'),
57
+ col: z.union([z.string(), z.number()]).describe('Column letter ("B") or index'),
58
+ }),
59
+ z.object({
60
+ at: z.literal('line'),
61
+ from: z.number().int().describe('1-based first line'),
62
+ to: z.number().int().optional().describe('Last line, for a range'),
63
+ }),
64
+ ]);
26
65
  export const RefCitationSchema = z.object({
27
66
  kind: z.literal('ref'),
28
67
  // The `{{ref}}` grammar (see util/variable-ref.ts + engine/resolvePath): dotted
29
- // throughout, arrays indexed as plain segments (`results.0.data`). NOT the
30
- // bracketed CitationPath grammar (`results[id].data`), which addresses config.
68
+ // throughout, arrays indexed as plain segments (`results.0.source`). NOT the
69
+ // bracketed CitationPath grammar (`results[id].text`), which addresses config.
70
+ //
71
+ // Names the SOURCE, not the text: `labelSources` surfaces the owning document
72
+ // when there is one, so a cited passage points at the document it lives in
73
+ // rather than at an internal text path. That keeps citations decoupled from a
74
+ // producer's output shape, and means the document is a direct lookup rather
75
+ // than something reconstructed by climbing the tree.
31
76
  ref: z
32
77
  .string()
33
- .describe('Path to the cited source, e.g. "steps.ocr.output.results.0.data"'),
34
- page: z
35
- .number()
36
- .int()
37
- .positive()
38
- .optional()
39
- .describe('1-based page within the resolved document'),
78
+ .describe('Path to the cited source, e.g. "steps.ocr.output.results.0.source"'),
79
+ locator: LocatorSchema.optional().describe('Where inside that source the value sits'),
40
80
  quote: z
41
81
  .string()
42
82
  .optional()
@@ -49,11 +89,56 @@ export const RefCitationSchema = z.object({
49
89
  export const UrlCitationSchema = z.object({
50
90
  kind: z.literal('url'),
51
91
  url: z.string().describe('External source — http(s) only'),
92
+ quote: z.string().optional().describe('Exact text quoted from the page'),
52
93
  title: z.string().optional().describe('Short title shown instead of the bare URL'),
53
94
  });
95
+ /**
96
+ * A value the agent **computed** rather than read — a total, a ratio, a growth
97
+ * rate. It appears nowhere in the source, so there is no passage to quote and no
98
+ * page to open; its provenance is *these inputs, combined this way*.
99
+ *
100
+ * This is a distinct kind rather than "several citations on one value" because
101
+ * the two mean opposite things. Two citations on a name are **corroboration** —
102
+ * either alone still supports it. Two inputs to a subtraction are **required** —
103
+ * if one is wrong, the value is wrong. Rendering them identically would hide that.
104
+ *
105
+ * `inputs` is deliberately only one level deep (an input can't itself be
106
+ * `derived`): it keeps every union member a plain `ZodObject`, which is what
107
+ * `z.discriminatedUnion` requires — a recursive member would force `z.union` plus
108
+ * lazy schemas for no real gain, since a chain of derivations is already handled
109
+ * by resolving *through* the upstream agent's own citation.
110
+ */
111
+ export const DerivedCitationSchema = z.object({
112
+ kind: z.literal('derived'),
113
+ expression: z
114
+ .string()
115
+ .optional()
116
+ .describe('Arithmetic over the inputs, referenced positionally: "(#2 - #1) / #1". '
117
+ + 'Only + - * / ( ) and numbers — no names or function calls, so it can be '
118
+ + 'recomputed and verified.'),
119
+ // Validated all-or-nothing, unlike a list of plain citations where a malformed
120
+ // entry is dropped and the rest kept. That is a correctness requirement, not
121
+ // strictness: `expression` addresses inputs *by position*, so silently dropping
122
+ // a bad one shifts every later index and the recomputation would quietly
123
+ // evaluate something different. An unparseable derivation must fail whole.
124
+ inputs: z
125
+ .array(z.discriminatedUnion('kind', [RefCitationSchema, UrlCitationSchema]))
126
+ .min(1)
127
+ .describe('The values that were combined, in the order `#1`, `#2`, … refer to'),
128
+ // The prompt asks the agent to always supply this (an expression like
129
+ // `(#1+#2+#3)/(#4+#5)` is meaningless without a name), but it stays schema-optional
130
+ // so a derivation is never dropped for lacking it — the UI falls back to the
131
+ // expression. Hard-enforcement (required + sanitize backfill) is a later step.
132
+ label: z
133
+ .string()
134
+ .optional()
135
+ .describe('Plain-language name of what the value represents — e.g. "Debt Service '
136
+ + 'Coverage Ratio" — so a reader understands what the expression computes.'),
137
+ });
54
138
  export const CitationRefSchema = z.discriminatedUnion('kind', [
55
139
  RefCitationSchema,
56
140
  UrlCitationSchema,
141
+ DerivedCitationSchema,
57
142
  ]);
58
143
  /**
59
144
  * JSON Schema for one CitationRef — DERIVED from the Zod members (the single
@@ -63,6 +148,7 @@ export const CITATION_REF_JSON_SCHEMA = {
63
148
  oneOf: [
64
149
  zodToJsonSchemaRecord(RefCitationSchema),
65
150
  zodToJsonSchemaRecord(UrlCitationSchema),
151
+ zodToJsonSchemaRecord(DerivedCitationSchema),
66
152
  ],
67
153
  };
68
154
  /**
@@ -81,6 +167,11 @@ export function isCitationRef(value) {
81
167
  return typeof v['ref'] === 'string';
82
168
  if (v['kind'] === 'url')
83
169
  return typeof v['url'] === 'string';
170
+ // Load-bearing: `isCitationRefArray` uses this to tell a citation *leaf* from a
171
+ // mirror *branch*. Omit `derived` here and a computed value's citation would be
172
+ // walked past as if it were structure, and never render.
173
+ if (v['kind'] === 'derived')
174
+ return Array.isArray(v['inputs']);
84
175
  return false;
85
176
  }
86
177
  /** Is `value` a citation *leaf* — a non-empty array of {@link CitationRef}? */
@@ -1 +1 @@
1
- {"version":3,"file":"citation-ref.js","sourceRoot":"","sources":["../../src/common/citation-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACtB,gFAAgF;IAChF,2EAA2E;IAC3E,+EAA+E;IAC/E,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,QAAQ,CAAC,kEAAkE,CAAC;IAC/E,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,2CAA2C,CAAC;IACxD,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,wDAAwD,CAAC;IACrE,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uDAAuD,CAAC;CACrE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACtB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC1D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;CACnF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC5D,iBAAiB;IACjB,iBAAiB;CAClB,CAAC,CAAC;AAkBH;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAA4B;IAC/D,KAAK,EAAE;QACL,qBAAqB,CAAC,iBAAiB,CAAC;QACxC,qBAAqB,CAAC,iBAAiB,CAAC;KACzC;CACF,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK;QAAE,OAAO,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC;IAC7D,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK;QAAE,OAAO,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC;IAC7D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAChF,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC"}
1
+ {"version":3,"file":"citation-ref.js","sourceRoot":"","sources":["../../src/common/citation-ref.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Recomputing an agent's arithmetic, safely.
3
+ *
4
+ * A derived value (a growth rate, a ratio, a total) appears **nowhere** in the
5
+ * source, so there is no passage to quote and no page to open — the only honest
6
+ * provenance is *these inputs, combined this way*. Given both, the arithmetic
7
+ * stops being a claim and becomes checkable: the reader is shown a ✓ when the
8
+ * numbers reproduce and a ⚠ when they don't. LLM arithmetic is the least reliable
9
+ * step in the pipeline, and this makes it the most verified.
10
+ *
11
+ * Inputs are referenced **positionally** (`#1`, `#2`) rather than by name or cell.
12
+ * That is the security property, not a convenience: the grammar then contains no
13
+ * identifiers at all, so an expression *cannot* name anything outside the inputs
14
+ * array. No `eval`, no `Function`, no scope to escape into — the worst a
15
+ * malformed expression can do is fail to parse.
16
+ */
17
+ /**
18
+ * Evaluate `expr` over `inputs`, or `undefined` when it cannot be evaluated
19
+ * with certainty.
20
+ *
21
+ * `undefined` is deliberately indistinguishable between "malformed" and
22
+ * "unsupported": in either case the UI shows the expression without a verdict.
23
+ * Showing a wrong ✓ would be worse than showing none.
24
+ */
25
+ export declare function evaluateExpression(expr: string, inputs: number[]): number | undefined;
26
+ /**
27
+ * Parse a number out of a cited value as it appears in a document —
28
+ * `"₹36,816.00"`, `"1 234,5"`, `"(1,200)"` (accounting negative), `"12%"`.
29
+ *
30
+ * Needed because an input's value arrives as source text, not a number, and a
31
+ * verification that only worked on already-clean numbers would rarely fire on
32
+ * real documents. Returns `undefined` when there is no unambiguous number.
33
+ */
34
+ export declare function parseNumericValue(value: unknown): number | undefined;
35
+ //# sourceMappingURL=expression-eval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-eval.d.ts","sourceRoot":"","sources":["../../src/common/expression-eval.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAwHH;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAIrF;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAyCpE"}
@@ -0,0 +1,214 @@
1
+ /**
2
+ * Recomputing an agent's arithmetic, safely.
3
+ *
4
+ * A derived value (a growth rate, a ratio, a total) appears **nowhere** in the
5
+ * source, so there is no passage to quote and no page to open — the only honest
6
+ * provenance is *these inputs, combined this way*. Given both, the arithmetic
7
+ * stops being a claim and becomes checkable: the reader is shown a ✓ when the
8
+ * numbers reproduce and a ⚠ when they don't. LLM arithmetic is the least reliable
9
+ * step in the pipeline, and this makes it the most verified.
10
+ *
11
+ * Inputs are referenced **positionally** (`#1`, `#2`) rather than by name or cell.
12
+ * That is the security property, not a convenience: the grammar then contains no
13
+ * identifiers at all, so an expression *cannot* name anything outside the inputs
14
+ * array. No `eval`, no `Function`, no scope to escape into — the worst a
15
+ * malformed expression can do is fail to parse.
16
+ */
17
+ function tokenize(expr) {
18
+ const out = [];
19
+ let i = 0;
20
+ while (i < expr.length) {
21
+ const ch = expr[i];
22
+ if (/\s/.test(ch)) {
23
+ i++;
24
+ continue;
25
+ }
26
+ if (ch === '#') {
27
+ const m = /^#(\d+)/.exec(expr.slice(i));
28
+ if (!m)
29
+ return null;
30
+ const idx = Number(m[1]);
31
+ if (!Number.isInteger(idx) || idx < 1)
32
+ return null;
33
+ out.push({ t: 'ref', i: idx - 1 }); // `#1` is inputs[0] — 1-based reads naturally
34
+ i += m[0].length;
35
+ continue;
36
+ }
37
+ if (/[0-9.]/.test(ch)) {
38
+ const m = /^\d*\.?\d+/.exec(expr.slice(i));
39
+ if (!m)
40
+ return null;
41
+ out.push({ t: 'num', v: Number(m[0]) });
42
+ i += m[0].length;
43
+ continue;
44
+ }
45
+ if (ch === '+' || ch === '-' || ch === '*' || ch === '/') {
46
+ out.push({ t: 'op', v: ch });
47
+ i++;
48
+ continue;
49
+ }
50
+ if (ch === '(') {
51
+ out.push({ t: 'lparen' });
52
+ i++;
53
+ continue;
54
+ }
55
+ if (ch === ')') {
56
+ out.push({ t: 'rparen' });
57
+ i++;
58
+ continue;
59
+ }
60
+ // Anything else — a letter, a call, a property access — is not in the
61
+ // language. Refuse rather than try to interpret it.
62
+ return null;
63
+ }
64
+ return out.length > 0 ? out : null;
65
+ }
66
+ /**
67
+ * Recursive-descent over `expr := term (('+'|'-') term)*`,
68
+ * `term := factor (('*'|'/') factor)*`, `factor := '-'? (num | ref | '(' expr ')')`.
69
+ */
70
+ function parseAndEval(tokens, inputs) {
71
+ let pos = 0;
72
+ let failed = false;
73
+ const fail = () => { failed = true; return undefined; };
74
+ const factor = () => {
75
+ const tok = tokens[pos];
76
+ if (!tok)
77
+ return fail();
78
+ if (tok.t === 'op' && tok.v === '-') { // unary minus
79
+ pos++;
80
+ const v = factor();
81
+ return v === undefined ? undefined : -v;
82
+ }
83
+ if (tok.t === 'num') {
84
+ pos++;
85
+ return tok.v;
86
+ }
87
+ if (tok.t === 'ref') {
88
+ pos++;
89
+ const v = inputs[tok.i];
90
+ // A reference past the inputs it was given is a malformed citation, not a zero.
91
+ return v === undefined || !Number.isFinite(v) ? fail() : v;
92
+ }
93
+ if (tok.t === 'lparen') {
94
+ pos++;
95
+ const v = expression();
96
+ if (failed)
97
+ return undefined;
98
+ if (tokens[pos]?.t !== 'rparen')
99
+ return fail();
100
+ pos++;
101
+ return v;
102
+ }
103
+ return fail();
104
+ };
105
+ const term = () => {
106
+ let left = factor();
107
+ if (left === undefined)
108
+ return undefined;
109
+ for (;;) {
110
+ const tok = tokens[pos];
111
+ if (!tok || tok.t !== 'op' || (tok.v !== '*' && tok.v !== '/'))
112
+ return left;
113
+ pos++;
114
+ const right = factor();
115
+ if (right === undefined)
116
+ return undefined;
117
+ // Division by zero yields Infinity/NaN — not a number a reader can verify.
118
+ if (tok.v === '/' && right === 0)
119
+ return fail();
120
+ left = tok.v === '*' ? left * right : left / right;
121
+ }
122
+ };
123
+ const expression = () => {
124
+ let left = term();
125
+ if (left === undefined)
126
+ return undefined;
127
+ for (;;) {
128
+ const tok = tokens[pos];
129
+ if (!tok || tok.t !== 'op' || (tok.v !== '+' && tok.v !== '-'))
130
+ return left;
131
+ pos++;
132
+ const right = term();
133
+ if (right === undefined)
134
+ return undefined;
135
+ left = tok.v === '+' ? left + right : left - right;
136
+ }
137
+ };
138
+ const result = expression();
139
+ // Trailing tokens mean we understood only a prefix — that is a parse failure,
140
+ // not a partial answer.
141
+ if (failed || pos !== tokens.length || result === undefined)
142
+ return undefined;
143
+ return Number.isFinite(result) ? result : undefined;
144
+ }
145
+ /**
146
+ * Evaluate `expr` over `inputs`, or `undefined` when it cannot be evaluated
147
+ * with certainty.
148
+ *
149
+ * `undefined` is deliberately indistinguishable between "malformed" and
150
+ * "unsupported": in either case the UI shows the expression without a verdict.
151
+ * Showing a wrong ✓ would be worse than showing none.
152
+ */
153
+ export function evaluateExpression(expr, inputs) {
154
+ const tokens = tokenize(expr);
155
+ if (!tokens)
156
+ return undefined;
157
+ return parseAndEval(tokens, inputs);
158
+ }
159
+ /**
160
+ * Parse a number out of a cited value as it appears in a document —
161
+ * `"₹36,816.00"`, `"1 234,5"`, `"(1,200)"` (accounting negative), `"12%"`.
162
+ *
163
+ * Needed because an input's value arrives as source text, not a number, and a
164
+ * verification that only worked on already-clean numbers would rarely fire on
165
+ * real documents. Returns `undefined` when there is no unambiguous number.
166
+ */
167
+ export function parseNumericValue(value) {
168
+ if (typeof value === 'number')
169
+ return Number.isFinite(value) ? value : undefined;
170
+ if (typeof value !== 'string')
171
+ return undefined;
172
+ let s = value.trim();
173
+ if (!s)
174
+ return undefined;
175
+ // Accounting negatives: (1,200) === -1200
176
+ let negative = false;
177
+ if (/^\(.*\)$/.test(s)) {
178
+ negative = true;
179
+ s = s.slice(1, -1);
180
+ }
181
+ // Strip currency symbols, spaces and percent — keep digits, separators, sign.
182
+ s = s.replace(/[^\d.,\-+]/g, '');
183
+ if (!s)
184
+ return undefined;
185
+ // Which separator is the decimal point?
186
+ // both present → the LAST one ("1.234,5" European, "1,234.5" Anglo)
187
+ // one, repeated → thousands ("1,234,567")
188
+ // one, followed by exactly 3 digits → thousands ("1,200" is twelve hundred,
189
+ // not 1.2 — the case that makes a lone
190
+ // separator genuinely ambiguous)
191
+ // otherwise → decimal ("1,5" European, "1.5" Anglo)
192
+ const lastComma = s.lastIndexOf(',');
193
+ const lastDot = s.lastIndexOf('.');
194
+ if (lastComma !== -1 && lastDot !== -1) {
195
+ if (lastComma > lastDot)
196
+ s = s.replace(/\./g, '').replace(',', '.');
197
+ else
198
+ s = s.replace(/,/g, '');
199
+ }
200
+ else if (lastComma !== -1 || lastDot !== -1) {
201
+ const sep = lastComma !== -1 ? ',' : '.';
202
+ const occurrences = s.split(sep).length - 1;
203
+ const tail = s.slice(s.lastIndexOf(sep) + 1);
204
+ const isThousands = occurrences > 1 || /^\d{3}$/.test(tail);
205
+ s = isThousands
206
+ ? s.split(sep).join('')
207
+ : s.replace(sep, '.');
208
+ }
209
+ const n = Number(s);
210
+ if (!Number.isFinite(n))
211
+ return undefined;
212
+ return negative ? -n : n;
213
+ }
214
+ //# sourceMappingURL=expression-eval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-eval.js","sourceRoot":"","sources":["../../src/common/expression-eval.ts"],"names":[],"mappings":"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"}
@@ -17,8 +17,8 @@
17
17
  */
18
18
  export type { Attachment } from './attachment.js';
19
19
  export { AttachmentSchema, ATTACHMENT_FORMAT, ATTACHMENT_JSON_SCHEMA, ATTACHMENT_ARRAY_JSON_SCHEMA, markAttachmentFields, isAttachment, mimeAccepted, attachmentProperty, } from './attachment.js';
20
- export type { CitationRef, RefCitation, UrlCitation, CitationMap, } from './citation-ref.js';
21
- export { CitationRefSchema, RefCitationSchema, UrlCitationSchema, CITATION_REF_JSON_SCHEMA, CITATION_DIRECTIVE_ATTRS, isCitationRef, isCitationRefArray, } from './citation-ref.js';
20
+ export type { CitationRef, Locator, RefCitation, UrlCitation, DerivedCitation, SourceCitation, CitationMap, } from './citation-ref.js';
21
+ export { CitationRefSchema, LocatorSchema, RefCitationSchema, UrlCitationSchema, DerivedCitationSchema, CITATION_REF_JSON_SCHEMA, CITATION_DIRECTIVE_ATTRS, isCitationRef, isCitationRefArray, } from './citation-ref.js';
22
22
  export type { PayloadError } from './validate-payload.js';
23
23
  export { validateTriggerPayload } from './validate-payload.js';
24
24
  export type { ResumePayload, ResumeAttachment, ResumeAction, } from './resume-payload.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC5B,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,EACb,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,YAAY,GACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,WAAW,EACX,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC5B,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,WAAW,EACX,OAAO,EACP,WAAW,EACX,WAAW,EACX,eAAe,EACf,cAAc,EACd,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,EACb,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,YAAY,GACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,WAAW,EACX,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC"}
@@ -16,7 +16,7 @@
16
16
  * browser bundle.
17
17
  */
18
18
  export { AttachmentSchema, ATTACHMENT_FORMAT, ATTACHMENT_JSON_SCHEMA, ATTACHMENT_ARRAY_JSON_SCHEMA, markAttachmentFields, isAttachment, mimeAccepted, attachmentProperty, } from './attachment.js';
19
- export { CitationRefSchema, RefCitationSchema, UrlCitationSchema, CITATION_REF_JSON_SCHEMA, CITATION_DIRECTIVE_ATTRS, isCitationRef, isCitationRefArray, } from './citation-ref.js';
19
+ export { CitationRefSchema, LocatorSchema, RefCitationSchema, UrlCitationSchema, DerivedCitationSchema, CITATION_REF_JSON_SCHEMA, CITATION_DIRECTIVE_ATTRS, isCitationRef, isCitationRefArray, } from './citation-ref.js';
20
20
  export { validateTriggerPayload } from './validate-payload.js';
21
21
  export { isExecutable, extensionOf, BLOCKED_EXECUTABLE_MIME_TYPES, BLOCKED_EXECUTABLE_EXTENSIONS, } from './executable-check.js';
22
22
  // Node-path addressing for step records — pure string utilities (no Node deps),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC5B,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,EACb,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAM/D,OAAO,EACL,YAAY,EACZ,WAAW,EACX,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC;AAC/B,gFAAgF;AAChF,kFAAkF;AAClF,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC5B,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAUzB,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,EACb,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAM/D,OAAO,EACL,YAAY,EACZ,WAAW,EACX,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC;AAC/B,gFAAgF;AAChF,kFAAkF;AAClF,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Principal + authorization descriptors — browser-safe shared types.
3
+ *
4
+ * The host authenticates a request into an {@link AuthContext} (the principal).
5
+ * The SDK never interprets `metadata` — it's an opaque claims bag (teamIds,
6
+ * roles, deptId, …). Scoping is derived from the principal by host hooks.
7
+ */
8
+ /** The authenticated principal, produced by the host's `authenticate()` hook. */
9
+ export interface AuthContext {
10
+ userId: string;
11
+ /** Host-defined claims — workspaceId, tenantId, teamIds, roles, etc. Opaque to the SDK. */
12
+ metadata: Record<string, unknown>;
13
+ }
14
+ /** Verbs the scope hooks can differentiate on. Resource types extend this over time. */
15
+ export type WorkflowAction = 'workflow.list' | 'workflow.read' | 'workflow.write' | 'workflow.trigger' | 'execution.list' | 'execution.read' | 'execution.write';
16
+ /**
17
+ * One node in the host's scope hierarchy — what the UI renders in the scope
18
+ * navigator. The host (not the SDK) decides what a node represents
19
+ * (department, team, project); `kind` is a display label only.
20
+ */
21
+ export interface ScopeNode {
22
+ /** Opaque scope id — matches `WorkflowRecord.scope`. */
23
+ id: string;
24
+ label: string;
25
+ /** Display grouping/icon hint, e.g. 'Department' | 'Team'. Not used for routing. */
26
+ kind?: string;
27
+ parentId?: string | null;
28
+ hasChildren?: boolean;
29
+ counts?: {
30
+ workflows?: number;
31
+ running?: number;
32
+ };
33
+ }
34
+ /**
35
+ * What the UI bootstraps from on load. Drives the scope navigator and gates
36
+ * cross-scope ("admin") affordances.
37
+ */
38
+ export interface SessionDescriptor {
39
+ userId: string;
40
+ /** Top-level scopes the principal can reach. */
41
+ scopes: ScopeNode[];
42
+ /** Opaque capability flags, e.g. 'workflow.list.crossScope' for an admin view. */
43
+ capabilities: string[];
44
+ }
45
+ //# sourceMappingURL=principal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"principal.d.ts","sourceRoot":"","sources":["../../src/common/principal.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,iFAAiF;AACjF,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,2FAA2F;IAC3F,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,wFAAwF;AACxF,MAAM,MAAM,cAAc,GACtB,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,kBAAkB,GAClB,gBAAgB,GAChB,gBAAgB,GAChB,iBAAiB,CAAC;AAEtB;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,kFAAkF;IAClF,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Principal + authorization descriptors — browser-safe shared types.
3
+ *
4
+ * The host authenticates a request into an {@link AuthContext} (the principal).
5
+ * The SDK never interprets `metadata` — it's an opaque claims bag (teamIds,
6
+ * roles, deptId, …). Scoping is derived from the principal by host hooks.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=principal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"principal.js","sourceRoot":"","sources":["../../src/common/principal.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
package/dist/index.d.ts CHANGED
@@ -37,8 +37,8 @@ export type { OperatorDescriptor, StepType, TriggerType, StepCategory, Validatio
37
37
  export { VARIABLE_REF_REGEX, VARIABLE_REF_DESCRIPTION_PREFIX, tokenize, isPureRef, extractRefPath, collectRefs, parseRef, findStepsReferencing, } from './util/variable-ref.js';
38
38
  export type { VariableRefToken, FoundRef, ParsedRef } from './util/variable-ref.js';
39
39
  export { ensureCitationPath, tryCitationPath, parseCitationPath, resolveCitationPath, } from './util/citation-path.js';
40
- export type { Attachment, CitationRef, RefCitation, UrlCitation, CitationMap, ResumePayload, ResumeAttachment, ResumeAction, } from './common/index.js';
41
- export { isExecutable, extensionOf, BLOCKED_EXECUTABLE_MIME_TYPES, BLOCKED_EXECUTABLE_EXTENSIONS, AttachmentSchema, CitationRefSchema, CITATION_REF_JSON_SCHEMA, CITATION_DIRECTIVE_ATTRS, isCitationRef, isCitationRefArray, } from './common/index.js';
40
+ export type { Attachment, CitationRef, Locator, RefCitation, UrlCitation, DerivedCitation, SourceCitation, CitationMap, ResumePayload, ResumeAttachment, ResumeAction, } from './common/index.js';
41
+ export { isExecutable, extensionOf, BLOCKED_EXECUTABLE_MIME_TYPES, BLOCKED_EXECUTABLE_EXTENSIONS, AttachmentSchema, CitationRefSchema, LocatorSchema, DerivedCitationSchema, CITATION_REF_JSON_SCHEMA, CITATION_DIRECTIVE_ATTRS, isCitationRef, isCitationRefArray, } from './common/index.js';
42
42
  export { zodToJsonSchemaRecord } from './util/schema-convert.js';
43
43
  export { TYPE_KINDS, kindsCompatible } from './util/type-compat.js';
44
44
  export type { TypeKind } from './util/type-compat.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -44,7 +44,7 @@ WorkflowVariableSchema, VariableKeySchema, projectVariables, varsJsonSchema, } f
44
44
  // ─── Util ───
45
45
  export { VARIABLE_REF_REGEX, VARIABLE_REF_DESCRIPTION_PREFIX, tokenize, isPureRef, extractRefPath, collectRefs, parseRef, findStepsReferencing, } from './util/variable-ref.js';
46
46
  export { ensureCitationPath, tryCitationPath, parseCitationPath, resolveCitationPath, } from './util/citation-path.js';
47
- export { isExecutable, extensionOf, BLOCKED_EXECUTABLE_MIME_TYPES, BLOCKED_EXECUTABLE_EXTENSIONS, AttachmentSchema, CitationRefSchema, CITATION_REF_JSON_SCHEMA, CITATION_DIRECTIVE_ATTRS, isCitationRef, isCitationRefArray, } from './common/index.js';
47
+ export { isExecutable, extensionOf, BLOCKED_EXECUTABLE_MIME_TYPES, BLOCKED_EXECUTABLE_EXTENSIONS, AttachmentSchema, CitationRefSchema, LocatorSchema, DerivedCitationSchema, CITATION_REF_JSON_SCHEMA, CITATION_DIRECTIVE_ATTRS, isCitationRef, isCitationRefArray, } from './common/index.js';
48
48
  export { zodToJsonSchemaRecord } from './util/schema-convert.js';
49
49
  // ─── Type Compatibility (shared by picker, validator, runtime) ───
50
50
  export { TYPE_KINDS, kindsCompatible } from './util/type-compat.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAE1C,iBAAiB;AAEjB,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAMjE,gBAAgB;AAEhB,OAAO,EACL,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,QAAQ,EACR,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAY9B,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG1E,mBAAmB;AAEnB,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAO/D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAMzD,OAAO,EACL,eAAe,EACf,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AAMxC,sDAAsD;AAEtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAmBlF,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAKhF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAUxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAKxD,OAAO;AACL,cAAc;AACd,eAAe,EACf,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,kBAAkB,EAClB,wBAAwB;AACxB,aAAa;AACb,eAAe,EACf,qBAAqB;AACrB,YAAY;AACZ,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB;AACpB,SAAS;AACT,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,EACf,qBAAqB;AACrB,aAAa;AACb,mBAAmB,EACnB,yBAAyB;AACzB,0BAA0B;AAC1B,WAAW,EACX,yBAAyB,EACzB,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,cAAc;AACd,6CAA6C;AAC7C,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAmD1B,eAAe;AAEf,OAAO,EACL,kBAAkB,EAClB,+BAA+B,EAC/B,QAAQ,EACR,SAAS,EACT,cAAc,EACd,WAAW,EACX,QAAQ,EACR,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAIhC,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAiBjC,OAAO,EACL,YAAY,EACZ,WAAW,EACX,6BAA6B,EAC7B,6BAA6B,EAC7B,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,EACb,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,oEAAoE;AAEpE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGpE,mFAAmF;AAEnF,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAE1F,6EAA6E;AAC7E,iFAAiF;AACjF,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAEhC,yBAAyB;AAEzB,OAAO,EACL,QAAQ,EACR,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EACL,OAAO,EACP,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EACL,QAAQ,EACR,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EACL,SAAS,EACT,qBAAqB,GACtB,MAAM,+BAA+B,CAAC;AAMvC,OAAO,EACL,YAAY,EACZ,wBAAwB,GACzB,MAAM,kCAAkC,CAAC;AAS1C,OAAO,EACL,QAAQ,EACR,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EACL,eAAe,EACf,2BAA2B,EAC3B,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,cAAc,GACf,MAAM,sCAAsC,CAAC;AAY9C,kBAAkB;AAElB,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAqBzF,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAE5B,iBAAiB;AAEjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}