@taifoon/n8n-nodes-typesafe 1.3.0 → 1.5.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 (50) hide show
  1. package/README.md +63 -0
  2. package/dist/nodes/TaifoonTypeSafe/TaifoonTypeSafe.node.js +102 -37
  3. package/dist/nodes/TaifoonTypeSafe/TaifoonTypeSafe.node.js.map +1 -1
  4. package/dist/nodes/TaifoonTypeSafe/jev/abi.d.ts +7 -0
  5. package/dist/nodes/TaifoonTypeSafe/jev/abi.js +83 -0
  6. package/dist/nodes/TaifoonTypeSafe/jev/abi.js.map +1 -0
  7. package/dist/nodes/TaifoonTypeSafe/jev/contracts.d.ts +32 -0
  8. package/dist/nodes/TaifoonTypeSafe/jev/contracts.js +24 -0
  9. package/dist/nodes/TaifoonTypeSafe/jev/contracts.js.map +1 -0
  10. package/dist/nodes/TaifoonTypeSafe/jev/evaluator/assurance-hook.d.ts +6 -0
  11. package/dist/nodes/TaifoonTypeSafe/jev/evaluator/assurance-hook.js +17 -0
  12. package/dist/nodes/TaifoonTypeSafe/jev/evaluator/assurance-hook.js.map +1 -0
  13. package/dist/nodes/TaifoonTypeSafe/jev/evaluator/bitagent-erc8183.d.ts +7 -0
  14. package/dist/nodes/TaifoonTypeSafe/jev/evaluator/bitagent-erc8183.js +17 -0
  15. package/dist/nodes/TaifoonTypeSafe/jev/evaluator/bitagent-erc8183.js.map +1 -0
  16. package/dist/nodes/TaifoonTypeSafe/jev/evaluator/index.d.ts +12 -0
  17. package/dist/nodes/TaifoonTypeSafe/jev/evaluator/index.js +25 -0
  18. package/dist/nodes/TaifoonTypeSafe/jev/evaluator/index.js.map +1 -0
  19. package/dist/nodes/TaifoonTypeSafe/jev/evaluator/judge-adapter.d.ts +5 -0
  20. package/dist/nodes/TaifoonTypeSafe/jev/evaluator/judge-adapter.js +17 -0
  21. package/dist/nodes/TaifoonTypeSafe/jev/evaluator/judge-adapter.js.map +1 -0
  22. package/dist/nodes/TaifoonTypeSafe/jev/evaluator/types.d.ts +25 -0
  23. package/dist/nodes/TaifoonTypeSafe/jev/evaluator/types.js +13 -0
  24. package/dist/nodes/TaifoonTypeSafe/jev/evaluator/types.js.map +1 -0
  25. package/dist/nodes/TaifoonTypeSafe/jev/evaluator/virtuals-erc8183.d.ts +6 -0
  26. package/dist/nodes/TaifoonTypeSafe/jev/evaluator/virtuals-erc8183.js +17 -0
  27. package/dist/nodes/TaifoonTypeSafe/jev/evaluator/virtuals-erc8183.js.map +1 -0
  28. package/dist/nodes/TaifoonTypeSafe/jev/evaluator/virtuals-memo-acp.d.ts +5 -0
  29. package/dist/nodes/TaifoonTypeSafe/jev/evaluator/virtuals-memo-acp.js +17 -0
  30. package/dist/nodes/TaifoonTypeSafe/jev/evaluator/virtuals-memo-acp.js.map +1 -0
  31. package/dist/nodes/TaifoonTypeSafe/jev/hash.d.ts +8 -0
  32. package/dist/nodes/TaifoonTypeSafe/jev/hash.js +139 -0
  33. package/dist/nodes/TaifoonTypeSafe/jev/hash.js.map +1 -0
  34. package/dist/nodes/TaifoonTypeSafe/jev/receipt.d.ts +64 -0
  35. package/dist/nodes/TaifoonTypeSafe/jev/receipt.js +47 -0
  36. package/dist/nodes/TaifoonTypeSafe/jev/receipt.js.map +1 -0
  37. package/dist/nodes/TaifoonTypeSafe/jev/record.d.ts +31 -0
  38. package/dist/nodes/TaifoonTypeSafe/jev/record.js +43 -0
  39. package/dist/nodes/TaifoonTypeSafe/jev/record.js.map +1 -0
  40. package/dist/nodes/TaifoonTypeSafe/jev/records.d.ts +74 -0
  41. package/dist/nodes/TaifoonTypeSafe/jev/records.js +61 -0
  42. package/dist/nodes/TaifoonTypeSafe/jev/records.js.map +1 -0
  43. package/dist/nodes/TaifoonTypeSafe/jev/rubric.d.ts +97 -0
  44. package/dist/nodes/TaifoonTypeSafe/jev/rubric.js +89 -0
  45. package/dist/nodes/TaifoonTypeSafe/jev/rubric.js.map +1 -0
  46. package/dist/nodes/TaifoonTypeSafe/translate.js +15 -18
  47. package/dist/nodes/TaifoonTypeSafe/translate.js.map +1 -1
  48. package/dist/package.json +1 -1
  49. package/dist/tsconfig.tsbuildinfo +1 -1
  50. package/package.json +1 -1
package/README.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # TypeSafe for n8n
2
2
 
3
+ > **Publish mirror.** The source of this package moved to `taifoon-io/taifoon-agents` (private), directory
4
+ > `judge/n8n-typesafe`, on 2026-09-27. This public repository is the publish mirror that npm provenance and the n8n
5
+ > community listing point at; it is updated from there.
6
+
3
7
  Most automations have a moment where someone has to *decide*: is this a refund request, which team
4
8
  gets this ticket, how urgent is it, is this invoice a duplicate. Today you either write brittle rules
5
9
  for that, or you ask a chat model and then fight with its prose: parse the answer, handle the day it
@@ -167,6 +171,65 @@ the output gains a `reply`:
167
171
  The same eleven languages as Translate, and the same request: a voice is one row of thirteen short
168
172
  strings in [`translate.ts`](nodes/TaifoonTypeSafe/translate.ts). Native speakers, please correct ours.
169
173
 
174
+ ## Raw output: the model's own numbers, untouched
175
+
176
+ Everything above — Routing, Reply, the per-question shaping — is this node interpreting the answer for
177
+ you. When you would rather do that yourself, turn on **Raw Output** on the Ask operation. The node then
178
+ returns the API's answer *exactly as TypeSafe sent it*, with none of its interpretation:
179
+
180
+ ```json
181
+ { "model": "jev-latest", "provider": "typesafe", "connection": "direct", "latency_ms": 812,
182
+ "usage": { "input_tokens": 545 },
183
+ "raw": { "model": "jev-latest",
184
+ "answers": {
185
+ "is_refund": { "noul": 0.98 },
186
+ "urgency": { "score": 3.6, "confidence": 0.41, "probabilities": [ ... ], "legend": [ ... ] },
187
+ "which_lane": { "choice": "billing", "confidence": 0.77, "probabilities": { "billing": 0.77, "shipping": 0.19, "other": 0.04 } }
188
+ } } }
189
+ ```
190
+
191
+ - **No Routing, no Reply, no reshaping.** `raw` is the whole `{answers, model, usage}` object the model
192
+ returned. The probabilities, confidences and `noul`/`score`/`choice` values are the model's own — this
193
+ is the `--raw` form for when you want the raw calibration to feed your own logic, a training set, or a
194
+ model that learns from Jev's best cases.
195
+ - **Everything flows on the first output.** The fail/review outputs are a Routing feature, and Routing
196
+ is skipped in raw mode, so nothing is split off.
197
+ - Works on both connections (your key and the free trial). `Fail Closed` still applies before the raw
198
+ object is emitted, so a malformed answer still stops the item unless you turn it off.
199
+
200
+ ## Grade a job with Jev, and put it on chain (Jev Options, 1.5.0)
201
+
202
+ For agent jobs with an escrow and an evaluator seat, the Ask operation has **Jev Options**. All of them are off by
203
+ default, and without them the node behaves exactly as 1.4.0.
204
+
205
+ - **Ask RUBRIC_v1** adds the four questions of the published rubric: spec_met, unsupported_claim, ending and
206
+ cheat_shaped. Jev reads the item, then a section listing the facts your workflow established. The node composes
207
+ **complete / reject / needs_review** under THRESHOLDS_v1 and routes them to Pass / Fail / Review.
208
+ - **Facts (JSON)** holds the checks you already made, e.g. `{"delivered": true, "checks": {"proof_verifies": true}}`.
209
+ A false check rejects on Fail, and Jev is not asked.
210
+ - **Record On** (`none`, `devnet`, `base`, `both`) adds the unsigned calls that record the receipt on JevAnswerLog
211
+ and JevDecisionLog. On devnet 36927 the calls carry the logs' addresses. In this version the Base calls carry
212
+ `to: null`.
213
+ - **Evaluator Call**, **Job ID** and **Evaluator Address** add the one unsigned call that ends the job as its
214
+ evaluator. The protocols are Virtuals ERC-8183, Virtuals memo-ACP, BitAgent ERC-8183, an assurance hook or the judge
215
+ adapter. For needs_review the call is `null`.
216
+
217
+ The output carries `jev: { verdict, reasons, receiptHash, decisionDigest, answersDigest, record?, evaluator?, receipt }`.
218
+ Nothing is signed or sent: a signer node or your wallet does that. The same code, with its tests against real
219
+ transactions, is the standalone package [`@taifoon/jev`](jev/README.md).
220
+
221
+ ## n8n verification (Creator Portal) — status
222
+
223
+ | Requirement | Status | Proof |
224
+ |---|---|---|
225
+ | Public source repository | done | this repository, `taifoon-io/n8n-nodes-typesafe` (public) |
226
+ | No run-time dependencies; no environment or file-system access in `nodes/` and `credentials/` | done | `ci.yml` checks both on every push |
227
+ | Lint with n8n's community-node ruleset | done | `npm run lint` in `ci.yml` and `publish.yml` |
228
+ | `author.email` is a real mailbox (n8n sends the ownership token there) | done | `publish.yml` refuses a noreply address |
229
+ | npm publish with provenance from GitHub Actions | done | 1.4.0 carries an SLSA provenance attestation ([npm](https://www.npmjs.com/package/@taifoon/n8n-nodes-typesafe)); release run [35778144807](https://github.com/taifoon-io/n8n-nodes-typesafe/actions/runs/35778144807) |
230
+ | n8n's community-package scanner passes on the published package | done | the same run's scanner step (success) |
231
+ | Submission on [creators.n8n.io](https://creators.n8n.io) | **not submitted** | needs the npm package owner (`taifoon`) to sign in and submit `@taifoon/n8n-nodes-typesafe` |
232
+
170
233
  ## Basic trading tasks, with gates
171
234
 
172
235
  A worked example of the whole loop on something less forgiving than support tickets. These are real:
@@ -3,13 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TaifoonTypeSafe = void 0;
4
4
  const n8n_workflow_1 = require("n8n-workflow");
5
5
  const translate_1 = require("./translate");
6
- const split = (s, sep) => (Array.isArray(s) ? s.map(String) : String(s !== null && s !== void 0 ? s : '').split(sep)).map((x) => x.trim()).filter(Boolean);
6
+ const receipt_1 = require("./jev/receipt");
7
+ const rubric_1 = require("./jev/rubric");
8
+ const record_1 = require("./jev/record");
9
+ const index_1 = require("./jev/evaluator/index");
10
+ const split = (s, sep) => (Array.isArray(s) ? s.map(String) : String(s ?? '').split(sep)).map((x) => x.trim()).filter(Boolean);
7
11
  const REDACT = /(apikey_|tfn_live_|npm_|Bearer\s+)[A-Za-z0-9_.-]+/g;
8
12
  function safeError(error) {
9
- var _a, _b, _c, _d, _e, _f, _g;
10
13
  const e = error;
11
- const status = (_c = (_a = e.httpCode) !== null && _a !== void 0 ? _a : (_b = e.response) === null || _b === void 0 ? void 0 : _b.status) !== null && _c !== void 0 ? _c : 'unknown';
12
- const said = typeof ((_d = e.response) === null || _d === void 0 ? void 0 : _d.data) === 'object' && ((_e = e.response) === null || _e === void 0 ? void 0 : _e.data) !== null ? JSON.stringify(e.response.data).slice(0, 300) : String((_g = (_f = e.description) !== null && _f !== void 0 ? _f : e.message) !== null && _g !== void 0 ? _g : '').slice(0, 300);
14
+ const status = e.httpCode ?? e.response?.status ?? 'unknown';
15
+ const said = typeof e.response?.data === 'object' && e.response?.data !== null ? JSON.stringify(e.response.data).slice(0, 300) : String(e.description ?? e.message ?? '').slice(0, 300);
13
16
  return { message: `Request failed (${status})`, description: said.replace(REDACT, '$1[redacted]'), httpCode: String(status) };
14
17
  }
15
18
  function nextStep(status, connection) {
@@ -29,9 +32,9 @@ function nextStep(status, connection) {
29
32
  return undefined;
30
33
  }
31
34
  function retryAfterMs(error) {
32
- var _a, _b, _c, _d, _e;
33
- const headers = (_b = (_a = error.response) === null || _a === void 0 ? void 0 : _a.headers) !== null && _b !== void 0 ? _b : (_d = (_c = error.cause) === null || _c === void 0 ? void 0 : _c.response) === null || _d === void 0 ? void 0 : _d.headers;
34
- const raw = (_e = headers === null || headers === void 0 ? void 0 : headers['retry-after']) !== null && _e !== void 0 ? _e : headers === null || headers === void 0 ? void 0 : headers['Retry-After'];
35
+ const headers = error.response?.headers
36
+ ?? error.cause?.response?.headers;
37
+ const raw = headers?.['retry-after'] ?? headers?.['Retry-After'];
35
38
  if (raw === undefined || raw === null || raw === '')
36
39
  return undefined;
37
40
  const secs = Number(raw);
@@ -41,19 +44,18 @@ function retryAfterMs(error) {
41
44
  function parseOptions(raw) {
42
45
  if (raw && typeof raw === 'object' && !Array.isArray(raw))
43
46
  return Object.entries(raw).map(([k, v]) => [k.trim(), v === null || v === undefined || String(v).trim() === '' ? null : String(v).trim()]).filter(([k]) => k);
44
- const entries = Array.isArray(raw) ? raw.map(String) : String(raw !== null && raw !== void 0 ? raw : '').split(/[\n;]/.test(String(raw !== null && raw !== void 0 ? raw : '')) ? /\s*[\n;]\s*/ : /\s*,\s*/);
47
+ const entries = Array.isArray(raw) ? raw.map(String) : String(raw ?? '').split(/[\n;]/.test(String(raw ?? '')) ? /\s*[\n;]\s*/ : /\s*,\s*/);
45
48
  return entries.map((e) => { const at = e.indexOf('='); return (at < 0 ? [e.trim(), null] : [e.slice(0, at).trim(), e.slice(at + 1).trim() || null]); }).filter(([k]) => k);
46
49
  }
47
50
  async function withBackoff(node, call) {
48
- var _a, _b, _c;
49
51
  for (let attempt = 0;; attempt++) {
50
52
  try {
51
53
  return await call();
52
54
  }
53
55
  catch (error) {
54
- const status = Number((_a = error.httpCode) !== null && _a !== void 0 ? _a : (_b = error.response) === null || _b === void 0 ? void 0 : _b.status);
56
+ const status = Number(error.httpCode ?? error.response?.status);
55
57
  if ((status === 429 || status === 529) && attempt < 3) {
56
- await (0, n8n_workflow_1.sleep)((_c = retryAfterMs(error)) !== null && _c !== void 0 ? _c : 500 * 2 ** attempt);
58
+ await (0, n8n_workflow_1.sleep)(retryAfterMs(error) ?? 500 * 2 ** attempt);
57
59
  continue;
58
60
  }
59
61
  throw new n8n_workflow_1.NodeApiError(node, safeError(error));
@@ -64,6 +66,22 @@ const TRIAL_URL = 'https://typesafe.taifoon.dev/v1/trial';
64
66
  async function askTrial(ctx, body) {
65
67
  return (await ctx.helpers.httpRequest({ method: 'POST', url: TRIAL_URL, body, json: true, timeout: 60000 }));
66
68
  }
69
+ const BRANCH_OF = { complete: 'pass', reject: 'fail', needs_review: 'review' };
70
+ const VERDICT_OF = { pass: 'complete', fail: 'reject', review: 'needs_review' };
71
+ function jevFacts(raw) {
72
+ const f = (typeof raw === 'string' ? JSON.parse(raw || '{}') : raw ?? {});
73
+ const checks = Object.fromEntries(Object.entries(f.checks ?? {}).map(([k, v]) => [k, v === true ? true : v === false ? false : null]));
74
+ const vals = Object.values(checks);
75
+ return { delivered: f.delivered !== false, checksOk: vals.includes(false) ? false : vals.includes(true) ? true : null, checks, priceUsdc: typeof f.priceUsdc === 'number' ? f.priceUsdc : null };
76
+ }
77
+ async function jevOutput(o, receipt) {
78
+ const rec = o.record && o.record !== 'none' && receipt.decision ? await (0, record_1.record)(receipt, { network: o.record }) : null;
79
+ const proto = o.evaluator && o.evaluator !== 'none' ? o.evaluator : null;
80
+ const call = proto && o.jobId ? (0, index_1.evaluatorCall)(proto, o.jobId, receipt.verdict, receipt.decision?.digest ?? receipt.receiptHash, { to: o.evaluatorAddress || undefined }) : null;
81
+ return { verdict: receipt.verdict, reasons: receipt.reasons, receiptHash: receipt.receiptHash, decisionDigest: receipt.decision?.digest ?? null, answersDigest: receipt.answersDigest,
82
+ ...(rec ? { record: { network: rec.network, status: rec.status, calls: rec.calls, notes: rec.notes } } : {}),
83
+ ...(proto ? { evaluator: call ?? null } : {}), receipt };
84
+ }
67
85
  class TaifoonTypeSafe {
68
86
  constructor() {
69
87
  this.description = {
@@ -128,11 +146,29 @@ class TaifoonTypeSafe {
128
146
  ] },
129
147
  { displayName: 'Fail Closed', name: 'failClosed', type: 'boolean', default: true, displayOptions: { show: { operation: ['ask'] } },
130
148
  description: 'Whether an answer that did not validate stops the item with an error instead of flowing on as a null' },
149
+ { displayName: 'Jev Options', name: 'jev', type: 'collection', placeholder: 'Add Jev Option', default: {}, displayOptions: { show: { operation: ['ask'] } },
150
+ description: 'Grade with Jev and put the result on chain: a receipt, the unsigned record calls, the unsigned evaluator call. Nothing is signed or sent by this node. Off by default.',
151
+ options: [
152
+ { displayName: 'Ask RUBRIC_v1', name: 'rubric', type: 'boolean', default: false, description: 'Whether to ask the four RUBRIC_v1 questions (spec_met, unsupported_claim, ending, cheat_shaped) about the item and compose complete / reject / needs_review under THRESHOLDS_v1. A failed fact rejects without asking Jev. Pass = complete, Fail = reject, Review = needs_review.' },
153
+ { displayName: 'Evaluator Address', name: 'evaluatorAddress', type: 'string', default: '', description: 'The contract the evaluator call goes to, when it is not the protocol default (required for an assurance hook)' },
154
+ { displayName: 'Evaluator Call', name: 'evaluator', type: 'options', default: 'none', description: 'Adds the unsigned call that ends the job on this protocol, as its evaluator (null for needs_review)',
155
+ options: [
156
+ { name: 'Assurance Hook', value: 'assurance-hook' }, { name: 'BitAgent ERC-8183', value: 'bitagent-erc8183' }, { name: 'Judge Adapter (Devnet)', value: 'judge-adapter' },
157
+ { name: 'None', value: 'none' }, { name: 'Virtuals ERC-8183', value: 'virtuals-erc8183' }, { name: 'Virtuals Memo-ACP', value: 'virtuals-memo-acp' }
158
+ ] },
159
+ { displayName: 'Facts (JSON)', name: 'factsJson', type: 'json', default: '{"delivered": true, "checks": {}}', description: 'The deterministic checks your workflow already made, e.g. {"delivered": true, "checks": {"proof_verifies": true}, "priceUsdc": 5}. A false check is final.' },
160
+ { displayName: 'Job ID', name: 'jobId', type: 'string', default: '', description: 'The job (or evaluation memo) the evaluator call ends' },
161
+ { displayName: 'Record On', name: 'record', type: 'options', default: 'none', description: 'Adds the unsigned JevAnswerLog and JevDecisionLog record calls for this receipt, on this network',
162
+ options: [{ name: 'Base', value: 'base' }, { name: 'Both', value: 'both' }, { name: 'Devnet 36927', value: 'devnet' }, { name: 'None', value: 'none' }] },
163
+ { displayName: 'Subject', name: 'subject', type: 'string', default: '', description: 'What is being graded: the job reference the receipt and the on-chain subject are keyed by' },
164
+ { displayName: 'Subject Chain ID', name: 'chainId', type: 'number', default: 0, description: 'The chain the subject lives on (0 = off chain)' },
165
+ ] },
166
+ { displayName: 'Raw Output', name: 'rawOutput', type: 'boolean', default: false, displayOptions: { show: { operation: ['ask'] } },
167
+ description: 'Whether to return Jev\'s answer exactly as TypeSafe sends it, with none of this node\'s interpretation. Skips Translate/Routing/Reply and the per-question shaping: the output is the raw {answers, model, usage} the API returned. Use this to get the model\'s own numbers and probabilities untouched and do your own downstream logic. Routing outputs (fail/review) are not produced in raw mode — everything flows on the first output.' },
131
168
  ],
132
169
  };
133
170
  }
134
171
  async execute() {
135
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
136
172
  const items = this.getInputData();
137
173
  const pass = [];
138
174
  const fail = [];
@@ -142,7 +178,7 @@ class TaifoonTypeSafe {
142
178
  const operation = this.getNodeParameter('operation', i);
143
179
  if (operation === 'translate') {
144
180
  const pinned = this.getNodeParameter('language', i, 'auto');
145
- const { questions, dropped, notes, langs } = (0, translate_1.translateTask)(String((_a = this.getNodeParameter('task', i)) !== null && _a !== void 0 ? _a : ''), 8, pinned === 'auto' ? undefined : pinned);
181
+ const { questions, dropped, notes, langs } = (0, translate_1.translateTask)(String(this.getNodeParameter('task', i) ?? ''), 8, pinned === 'auto' ? undefined : pinned);
146
182
  const runnable = questions.filter((q) => !q.needs_input);
147
183
  pass.push({ pairedItem: { item: i }, json: {
148
184
  ready: questions.length > 0 && runnable.length === questions.length, deterministic: true, languages: langs, questions, dropped, notes,
@@ -165,22 +201,37 @@ class TaifoonTypeSafe {
165
201
  state = stateRaw;
166
202
  }
167
203
  }
168
- const ui = (_b = this.getNodeParameter('questions', i).question) !== null && _b !== void 0 ? _b : [];
204
+ const ui = this.getNodeParameter('questions', i).question ?? [];
169
205
  const extraRaw = this.getNodeParameter('questionsJson', i, '[]');
170
206
  const extra = (typeof extraRaw === 'string' ? JSON.parse(extraRaw || '[]') : extraRaw);
171
- const qs = [...ui, ...(Array.isArray(extra) ? extra : [])].filter((q) => (q === null || q === void 0 ? void 0 : q.id) && (q === null || q === void 0 ? void 0 : q.text));
207
+ const jev = this.getNodeParameter('jev', i, {}) ?? {};
208
+ const jevOn = Object.keys(jev).length > 0;
209
+ const rubricOn = jev.rubric === true;
210
+ const rubricQs = rubricOn ? rubric_1.RUBRIC_v1.asked.map((q) => ({ id: q.id, kind: 'choice', text: q.text, options: q.options.join(', ') })) : [];
211
+ const qs = [...ui, ...(Array.isArray(extra) ? extra : []), ...rubricQs].filter((q) => q?.id && q?.text);
172
212
  if (!qs.length)
173
213
  throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Add at least one question', { itemIndex: i });
214
+ const facts = jevOn ? jevFacts(jev.factsJson) : null;
215
+ const subject = { chainId: Number(jev.chainId ?? 0), ref: String(jev.subject || `n8n-item-${i}`) };
216
+ const input = rubricOn ? (0, receipt_1.inputFor)((0, receipt_1.packOf)(state), facts, connection === 'trial' ? 4000 : undefined) : null;
217
+ if (rubricOn && rubric_1.RUBRIC_v1.compose(facts, null).forced === 'hard_fail') {
218
+ const receipt = (0, receipt_1.buildReceipt)({ rubric: rubric_1.RUBRIC_v1, subject, state: input.state, jevState: input.jevState, facts: facts, answers: null, model: null, connection: 'none', caller: 'n8n' });
219
+ fail.push({ pairedItem: { item: i }, json: { branch: 'fail', jev: await jevOutput(jev, receipt) } });
220
+ continue;
221
+ }
222
+ if (input)
223
+ state = input.jevState;
174
224
  const routingRaw = this.getNodeParameter('routing', i, '{}');
175
225
  const routing = (typeof routingRaw === 'string' ? JSON.parse(routingRaw || '{}') : routingRaw);
176
226
  let answers = [];
177
227
  let meta = {};
228
+ let rawRes = {};
178
229
  if (connection === 'direct') {
179
230
  const cred = await this.getCredentials('taifoonTypeSafeApi');
180
231
  const questions = {};
181
232
  for (const q of qs) {
182
- const means = { ...(((_c = q.yesMeans) === null || _c === void 0 ? void 0 : _c.trim()) ? { true: q.yesMeans.trim() } : {}), ...(((_d = q.noMeans) === null || _d === void 0 ? void 0 : _d.trim()) ? { false: q.noMeans.trim() } : {}) };
183
- questions[q.id] = q.kind === 'choice' ? { type: 'choice', instructions: q.text, criteria: Object.fromEntries(parseOptions(q.options).map(([o, d]) => [o, d !== null && d !== void 0 ? d : o])) }
233
+ const means = { ...(q.yesMeans?.trim() ? { true: q.yesMeans.trim() } : {}), ...(q.noMeans?.trim() ? { false: q.noMeans.trim() } : {}) };
234
+ questions[q.id] = q.kind === 'choice' ? { type: 'choice', instructions: q.text, criteria: Object.fromEntries(parseOptions(q.options).map(([o, d]) => [o, d ?? o])) }
184
235
  : q.kind === 'score' ? { type: 'score', instructions: q.text, criteria: split(q.levels, /\s*\|\s*/) }
185
236
  : { type: 'noul', instructions: q.text, ...(Object.keys(means).length ? { criteria: means } : {}) };
186
237
  }
@@ -190,27 +241,25 @@ class TaifoonTypeSafe {
190
241
  const req = { method: 'POST', url: `${base}/v1/systemone`, body: { model: 'jev-latest', state, questions }, json: true, timeout: 60000 };
191
242
  const started = Date.now();
192
243
  const res = (await withBackoff(this.getNode(), () => this.helpers.httpRequestWithAuthentication.call(this, 'taifoonTypeSafeApi', req)));
244
+ rawRes = res;
193
245
  answers = qs.map((q) => {
194
- var _a, _b, _c, _d, _e, _f;
195
- const a = ((_a = res.answers) !== null && _a !== void 0 ? _a : {})[q.id];
246
+ const a = (res.answers ?? {})[q.id];
196
247
  if (!a)
197
248
  return { id: q.id, kind: q.kind, schema_ok: false, value: null };
198
249
  if (q.kind === 'noul')
199
- return { id: q.id, kind: q.kind, schema_ok: typeof a.noul === 'number', p: (_b = a.noul) !== null && _b !== void 0 ? _b : null, value: typeof a.noul === 'number' ? a.noul >= 0.5 : null };
250
+ return { id: q.id, kind: q.kind, schema_ok: typeof a.noul === 'number', p: a.noul ?? null, value: typeof a.noul === 'number' ? a.noul >= 0.5 : null };
200
251
  if (q.kind === 'choice')
201
- return { id: q.id, kind: q.kind, schema_ok: typeof a.choice === 'string', value: (_c = a.choice) !== null && _c !== void 0 ? _c : null, confidence: (_d = a.confidence) !== null && _d !== void 0 ? _d : null, probabilities: a.probabilities };
202
- return { id: q.id, kind: q.kind, schema_ok: typeof a.score === 'number', value: (_e = a.score) !== null && _e !== void 0 ? _e : null, confidence: (_f = a.confidence) !== null && _f !== void 0 ? _f : null, probabilities: a.probabilities, legend: a.legend };
252
+ return { id: q.id, kind: q.kind, schema_ok: typeof a.choice === 'string', value: a.choice ?? null, confidence: a.confidence ?? null, probabilities: a.probabilities };
253
+ return { id: q.id, kind: q.kind, schema_ok: typeof a.score === 'number', value: a.score ?? null, confidence: a.confidence ?? null, probabilities: a.probabilities, legend: a.legend };
203
254
  });
204
- meta = { model: (_e = res.model) !== null && _e !== void 0 ? _e : 'jev-latest', provider: 'typesafe', connection, latency_ms: Date.now() - started, usage: (_f = res.usage) !== null && _f !== void 0 ? _f : {} };
255
+ meta = { model: res.model ?? 'jev-latest', provider: 'typesafe', connection, latency_ms: Date.now() - started, usage: res.usage ?? {} };
205
256
  }
206
257
  else if (connection === 'trial') {
207
- const res = await askTrial(this, { state: state, questions: qs.map((q) => {
208
- var _a, _b;
209
- return ({ id: q.id, kind: q.kind, text: q.text,
210
- ...(q.kind === 'choice' ? { options: Object.fromEntries(parseOptions(q.options)) } : {}), ...(q.kind === 'score' ? { levels: split(q.levels, /\s*\|\s*/) } : {}),
211
- ...(q.kind === 'noul' && ((_a = q.yesMeans) === null || _a === void 0 ? void 0 : _a.trim()) ? { yes_means: q.yesMeans.trim() } : {}), ...(q.kind === 'noul' && ((_b = q.noMeans) === null || _b === void 0 ? void 0 : _b.trim()) ? { no_means: q.noMeans.trim() } : {}) });
212
- }) });
213
- answers = (_g = res.answers) !== null && _g !== void 0 ? _g : [];
258
+ const res = await askTrial(this, { state: state, questions: qs.map((q) => ({ id: q.id, kind: q.kind, text: q.text,
259
+ ...(q.kind === 'choice' ? { options: Object.fromEntries(parseOptions(q.options)) } : {}), ...(q.kind === 'score' ? { levels: split(q.levels, /\s*\|\s*/) } : {}),
260
+ ...(q.kind === 'noul' && q.yesMeans?.trim() ? { yes_means: q.yesMeans.trim() } : {}), ...(q.kind === 'noul' && q.noMeans?.trim() ? { no_means: q.noMeans.trim() } : {}) })) });
261
+ rawRes = res;
262
+ answers = res.answers ?? [];
214
263
  meta = { model: res.model, provider: 'typesafe', connection, latency_ms: res.latency_ms, usage: res.usage, trial: res.trial, next: res.next };
215
264
  }
216
265
  else {
@@ -220,29 +269,45 @@ class TaifoonTypeSafe {
220
269
  if (this.getNodeParameter('failClosed', i) && !schemaOk) {
221
270
  throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'An answer did not validate; failing closed', { itemIndex: i, description: JSON.stringify(answers.filter((a) => a.schema_ok === false).map((a) => a.id)) });
222
271
  }
272
+ if (this.getNodeParameter('rawOutput', i, false)) {
273
+ pass.push({ pairedItem: { item: i }, json: { ...meta, schema_ok: schemaOk, raw: rawRes } });
274
+ continue;
275
+ }
223
276
  const routed = Object.keys(routing).length ? (0, translate_1.decide)(answers, routing) : null;
277
+ let jevOut = null;
278
+ if (jevOn) {
279
+ const model = String(rawRes.upstreamModel ?? meta.model ?? '') || null;
280
+ const asked = answers.filter((a) => a.schema_ok !== false).map((a) => ({ id: a.id, value: a.value, confidence: a.confidence ?? (typeof a.p === 'number' ? Math.max(a.p, 1 - a.p) : 0),
281
+ probabilities: a.probabilities ?? (typeof a.p === 'number' ? { yes: a.p, no: 1 - a.p } : {}) }));
282
+ const rubric = rubricOn ? rubric_1.RUBRIC_v1 : (0, rubric_1.defineRubric)({ version: 'n8n-routing.v1', questions: qs.map((q) => ({ id: q.id, text: q.text, options: q.kind === 'choice' ? parseOptions(q.options).map(([o]) => o) : q.kind === 'noul' ? ['yes', 'no'] : split(q.levels, /\s*\|\s*/) })),
283
+ compose: () => { const b = routed?.branch ?? 'pass'; return { verdict: VERDICT_OF[b] ?? 'needs_review', auto: b !== 'review', forced: null, reasons: [`routing branch ${b}`], scores: { spec_met: null, unsupported_claim: null, scope_ok: null, cheat_shaped: null, ending: null, severity: null } }; } });
284
+ const sent = input ?? { state: (0, receipt_1.packOf)(state), jevState: (0, receipt_1.packOf)(state) };
285
+ const receipt = (0, receipt_1.buildReceipt)({ rubric, subject, state: sent.state, jevState: sent.jevState, facts: facts, answers: (0, receipt_1.answersOf)(asked), model, connection: connection === 'trial' ? 'trial' : 'key', latency_ms: typeof meta.latency_ms === 'number' ? meta.latency_ms : null, caller: 'n8n' });
286
+ jevOut = await jevOutput(jev, receipt);
287
+ }
224
288
  const byId = {};
225
289
  for (const a of answers)
226
290
  byId[a.id] = a;
227
291
  const replyIn = this.getNodeParameter('replyLanguage', i, 'off');
228
292
  const said = replyIn === 'off' ? null : (0, translate_1.reply)(answers, { lang: replyIn === 'auto' ? undefined : replyIn, questions: qs.map((q) => ({ id: q.id, text: q.text, source: q.source, levels: q.levels })),
229
- decisions: routed === null || routed === void 0 ? void 0 : routed.decisions, branch: routed === null || routed === void 0 ? void 0 : routed.branch });
293
+ decisions: routed?.decisions, branch: routed?.branch });
294
+ const branch = rubricOn && !routed && jevOut ? BRANCH_OF[jevOut.verdict] : routed?.branch ?? 'pass';
230
295
  const out = { pairedItem: { item: i }, json: { ...meta, schema_ok: schemaOk, answers: byId,
231
- ...(routed ? { decisions: routed.decisions, allPass: routed.allPass, branch: routed.branch } : { branch: 'pass' }),
232
- ...(said ? { reply: said } : {}) } };
233
- ((routed === null || routed === void 0 ? void 0 : routed.branch) === 'fail' ? fail : (routed === null || routed === void 0 ? void 0 : routed.branch) === 'review' ? review : pass).push(out);
296
+ ...(routed ? { decisions: routed.decisions, allPass: routed.allPass, branch } : { branch }),
297
+ ...(said ? { reply: said } : {}), ...(jevOut ? { jev: jevOut } : {}) } };
298
+ (branch === 'fail' ? fail : branch === 'review' ? review : pass).push(out);
234
299
  }
235
300
  catch (error) {
236
301
  if (this.continueOnFail()) {
237
- review.push({ json: { error: String((_h = error.message) !== null && _h !== void 0 ? _h : 'request failed').replace(/(apikey_|tfn_live_|Bearer\s+)[A-Za-z0-9_.-]+/g, '$1[redacted]'), branch: 'review' }, pairedItem: { item: i } });
302
+ review.push({ json: { error: String(error.message ?? 'request failed').replace(/(apikey_|tfn_live_|Bearer\s+)[A-Za-z0-9_.-]+/g, '$1[redacted]'), branch: 'review' }, pairedItem: { item: i } });
238
303
  continue;
239
304
  }
240
305
  if (error instanceof n8n_workflow_1.NodeOperationError)
241
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), error.message, { itemIndex: i, description: (_j = error.description) !== null && _j !== void 0 ? _j : undefined });
306
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), error.message, { itemIndex: i, description: error.description ?? undefined });
242
307
  const safe = safeError(error);
243
308
  const step = nextStep(Number(safe.httpCode), String(this.getNodeParameter('connection', i, 'direct')));
244
309
  if (step)
245
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), step, { itemIndex: i, description: String((_k = safe.description) !== null && _k !== void 0 ? _k : '') });
310
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), step, { itemIndex: i, description: String(safe.description ?? '') });
246
311
  throw new n8n_workflow_1.NodeApiError(this.getNode(), safe, { itemIndex: i });
247
312
  }
248
313
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TaifoonTypeSafe.node.js","sourceRoot":"","sources":["../../../nodes/TaifoonTypeSafe/TaifoonTypeSafe.node.ts"],"names":[],"mappings":";;;AACA,+CAA4F;AAE5F,2CAAmG;AAiBnG,MAAM,KAAK,GAAG,CAAC,CAAgC,EAAE,GAAW,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAEtK,MAAM,MAAM,GAAG,oDAAoD,CAAC;AACpE,SAAS,SAAS,CAAC,KAAc;;IAChC,MAAM,CAAC,GAAG,KAA+H,CAAC;IAC1I,MAAM,MAAM,GAAG,MAAA,MAAA,CAAC,CAAC,QAAQ,mCAAI,MAAA,CAAC,CAAC,QAAQ,0CAAE,MAAM,mCAAI,SAAS,CAAC;IAC7D,MAAM,IAAI,GAAG,OAAO,CAAA,MAAA,CAAC,CAAC,QAAQ,0CAAE,IAAI,CAAA,KAAK,QAAQ,IAAI,CAAA,MAAA,CAAC,CAAC,QAAQ,0CAAE,IAAI,MAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAA,MAAA,CAAC,CAAC,WAAW,mCAAI,CAAC,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACxL,OAAO,EAAE,OAAO,EAAE,mBAAmB,MAAM,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;AAC/H,CAAC;AAID,SAAS,QAAQ,CAAC,MAAc,EAAE,UAAkB;IACnD,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,wKAAwK,CAAC;QACpM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,uGAAuG,CAAC;QACrJ,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,6DAA6D,CAAC;QACzF,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,gIAAgI,CAAC;IAC9K,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,+EAA+E,CAAC;IAC3G,OAAO,SAAS,CAAC;AAClB,CAAC;AAGD,SAAS,YAAY,CAAC,KAAc;;IACnC,MAAM,OAAO,GAAG,MAAA,MAAC,KAA8D,CAAC,QAAQ,0CAAE,OAAO,mCAC7F,MAAA,MAAC,KAA0E,CAAC,KAAK,0CAAE,QAAQ,0CAAE,OAAO,CAAC;IACzG,MAAM,GAAG,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,aAAa,CAAC,mCAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,aAAa,CAAC,CAAC;IACjE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IACtE,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtF,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,CAAC;AAQD,SAAS,YAAY,CAAC,GAA0B;IAC/C,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAA4B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACpP,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5I,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AACvM,CAAC;AAGD,KAAK,UAAU,WAAW,CAAI,IAAW,EAAE,IAAsB;;IAChE,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QACnC,IAAI,CAAC;YACJ,OAAO,MAAM,IAAI,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAC,KAAwE,CAAC,QAAQ,mCAAI,MAAC,KAA4C,CAAC,QAAQ,0CAAE,MAAM,CAAC,CAAC;YAC5K,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAA,oBAAK,EAAC,MAAA,YAAY,CAAC,KAAK,CAAC,mCAAI,GAAG,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC;gBACvD,SAAS;YACV,CAAC;YACD,MAAM,IAAI,2BAAY,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;IACF,CAAC;AACF,CAAC;AAID,MAAM,SAAS,GAAG,uCAAuC,CAAC;AAC1D,KAAK,UAAU,QAAQ,CAAC,GAAsB,EAAE,IAAiB;IAChE,OAAO,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAgB,CAAC;AAC7H,CAAC;AAED,MAAa,eAAe;IAA5B;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,kBAAkB;YAC/B,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,+BAA+B,EAAE;YAClF,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,8BAA8B;YACxC,WAAW,EAAE,2FAA2F;YACxG,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;YAC9B,MAAM,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;YAClC,OAAO,EAAE,CAAC,kCAAmB,CAAC,IAAI,EAAE,kCAAmB,CAAC,IAAI,EAAE,kCAAmB,CAAC,IAAI,CAAC;YACvF,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;YACvC,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE;gBACZ,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE;aACxH;YACD,UAAU,EAAE;gBACX,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK;oBACrG,OAAO,EAAE;wBACR,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,mCAAmC,EAAE,WAAW,EAAE,qEAAqE,EAAE;wBAC9J,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,uCAAuC,EAAE,WAAW,EAAE,mGAAmG,EAAE;qBAC5M,EAAE;gBACJ,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE;oBACpI,OAAO,EAAE;wBACR,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,iDAAiD,EAAE;wBAC/G,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,sHAAsH,EAAE;qBAC7L,EAAE;gBACJ,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,8BAA8B,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE;oBACrK,WAAW,EAAE,mIAAmI,EAAE;gBACnJ,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE;oBACxM,WAAW,EAAE,mIAAmI;oBAChJ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE;gCAC9D,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,8CAA8C,EAAE;gCACrJ,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,4BAA4B,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,mMAAmM,EAAE;gCAClX,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,sBAAsB,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,mGAAmG,EAAE;gCAC9Q,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,qEAAqE,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,wQAAwQ,EAAE;gCACne,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,wFAAwF,EAAE;gCAClL,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;wCAC/E,EAAE,IAAI,EAAE,4BAA4B,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gCAAgC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,OAAO,EAAE;qCAAC,EAAE;gCAC7K,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,2BAA2B,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,8CAA8C,EAAE;6BAChO,EAAE,CAAC,EAAE;gBACP,EAAE,WAAW,EAAE,iCAAiC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE;oBACrJ,WAAW,EAAE,2IAA2I,EAAE;gBAC3J,EAAE,WAAW,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE;oBAC9H,WAAW,EAAE,6KAA6K,EAAE;gBAC7L,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,kIAAkI,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE;oBAClS,WAAW,EAAE,4EAA4E,EAAE;gBAC5F,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE;oBACpI,WAAW,EAAE,2FAA2F;oBACxG,OAAO,EAAE;wBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE;wBAC3M,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;qBAAC,EAAE;gBAClN,EAAE,WAAW,EAAE,gBAAgB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE;oBACxI,WAAW,EAAE,uQAAuQ;oBACpR,OAAO,EAAE;wBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;wBACrM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;qBAAC,EAAE;gBAC3P,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE;oBACjI,WAAW,EAAE,sGAAsG,EAAE;aACtH;SACD,CAAC;IAwGH,CAAC;IAtGA,KAAK,CAAC,OAAO;;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,IAAI,GAAyB,EAAE,CAAC;QACtC,MAAM,IAAI,GAAyB,EAAE,CAAC;QACtC,MAAM,MAAM,GAAyB,EAAE,CAAC;QAExC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC;gBACJ,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAW,CAAC;gBAElE,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;oBAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,CAAW,CAAC;oBACtE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAa,EAAC,MAAM,CAAC,MAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,mCAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,MAAe,CAAC,CAAC;oBAChK,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;oBACzD,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE;4BAC1C,KAAK,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK;4BACrI,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;4BAC3F,GAAG,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gCAGlN,OAAO,EAAE,EAAE,EAAE;4BACd,gBAAgB,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;4BAC5E,WAAW,EAAE,gJAAgJ;yBAA4B,EAAE,CAAC,CAAC;oBAC9L,SAAS;gBACV,CAAC;gBAED,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAW,CAAC;gBAGpE,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAyB,CAAC;gBAC3E,IAAI,KAAK,GAAY,QAAQ,CAAC;gBAC9B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAAC,IAAI,CAAC;wBAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC;wBAAC,KAAK,GAAG,QAAQ,CAAC;oBAAC,CAAC;gBAAC,CAAC;gBACvG,MAAM,EAAE,GAAG,MAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAiB,CAAC,QAAgD,mCAAI,EAAE,CAAC;gBAC1H,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,EAAE,IAAI,CAA0B,CAAC;gBAC1F,MAAM,KAAK,GAAG,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAiB,CAAC;gBACvG,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,EAAE,MAAI,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,CAAA,CAAC,CAAC;gBAC3F,IAAI,CAAC,EAAE,CAAC,MAAM;oBAAE,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,2BAA2B,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC5G,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,CAAyB,CAAC;gBACrF,MAAM,OAAO,GAAG,CAAC,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAA0B,CAAC;gBAExH,IAAI,OAAO,GAAiB,EAAE,CAAC;gBAC/B,IAAI,IAAI,GAAgB,EAAE,CAAC;gBAC3B,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;oBAC7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;oBAC7D,MAAM,SAAS,GAAgC,EAAE,CAAC;oBAClD,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;wBACpB,MAAM,KAAK,GAAG,EAAE,GAAG,CAAC,CAAA,MAAA,CAAC,CAAC,QAAQ,0CAAE,IAAI,EAAE,EAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA,MAAA,CAAC,CAAC,OAAO,0CAAE,IAAI,EAAE,EAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;wBACxI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,CAAC,CAAC,CAAC,CAAC,EAAE;4BACnK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;gCACrG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;oBACtG,CAAC;oBACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,yBAAyB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAElF,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;wBAAE,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,sEAAsE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC9K,MAAM,GAAG,GAAwB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,eAAe,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;oBAC9J,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAC3B,MAAM,GAAG,GAAG,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAmF,CAAC;oBAC1N,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;;wBACtB,MAAM,CAAC,GAAG,CAAC,MAAA,GAAG,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACpC,IAAI,CAAC,CAAC;4BAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;wBACzE,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;4BAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC,EAAE,MAAC,CAAC,CAAC,IAAe,mCAAI,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC,IAAe,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wBACrM,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;4BAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE,KAAK,EAAE,MAAA,CAAC,CAAC,MAAM,mCAAI,IAAI,EAAE,UAAU,EAAE,MAAC,CAAC,CAAC,UAAqB,mCAAI,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAgB,CAAC;wBACzN,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE,KAAK,EAAE,MAAA,CAAC,CAAC,KAAK,mCAAI,IAAI,EAAE,UAAU,EAAE,MAAC,CAAC,CAAC,UAAqB,mCAAI,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAgB,CAAC;oBACjN,CAAC,CAAC,CAAC;oBACH,IAAI,GAAG,EAAE,KAAK,EAAE,MAAA,GAAG,CAAC,KAAK,mCAAI,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,MAAA,GAAG,CAAC,KAAK,mCAAI,EAAE,EAAE,CAAC;gBACzI,CAAC;qBAAM,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;oBACnC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAoB,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;;4BAAC,OAAA,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;gCAC/H,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gCAChK,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,KAAI,MAAA,CAAC,CAAC,QAAQ,0CAAE,IAAI,EAAE,CAAA,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,KAAI,MAAA,CAAC,CAAC,OAAO,0CAAE,IAAI,EAAE,CAAA,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;yBAAA,CAAC,EAAE,CAAC,CAAC;oBAChL,OAAO,GAAG,MAAC,GAAG,CAAC,OAAmC,mCAAI,EAAE,CAAC;oBACzD,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC/I,CAAC;qBAAM,CAAC;oBACP,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,uBAAuB,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;gBACrG,CAAC;gBAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;gBAC7D,IAAI,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACzD,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,4CAA4C,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC1M,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,kBAAM,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7E,MAAM,IAAI,GAAgB,EAAE,CAAC;gBAC7B,KAAK,MAAM,CAAC,IAAI,OAAO;oBAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAA2B,CAAC;gBAClE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,EAAE,KAAK,CAAW,CAAC;gBAC3E,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,iBAAK,EAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,OAAgB,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC5M,SAAS,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAE,CAAC,CAAC;gBACzD,MAAM,GAAG,GAAuB,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI;wBAC7G,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAqC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;wBAC9I,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAA8B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChE,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,MAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,MAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;oBAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAC,KAAe,CAAC,OAAO,mCAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,+CAA+C,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBACpP,IAAI,KAAK,YAAY,iCAAkB;oBAAE,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,MAAA,KAAK,CAAC,WAAW,mCAAI,SAAS,EAAE,CAAC,CAAC;gBACpK,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACvG,IAAI,IAAI;oBAAE,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,MAAA,IAAI,CAAC,WAAW,mCAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBAE5H,MAAM,IAAI,2BAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;YAChE,CAAC;QACF,CAAC;QACD,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;CACD;AArKD,0CAqKC"}
1
+ {"version":3,"file":"TaifoonTypeSafe.node.js","sourceRoot":"","sources":["../../../nodes/TaifoonTypeSafe/TaifoonTypeSafe.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type Hex } from './hash.js';
2
+ export type AbiType = 'bytes32' | 'uint256' | 'uint64' | 'uint16' | 'uint8' | 'bool' | 'address' | 'bytes' | 'string';
3
+ export type AbiValue = string | number | bigint | boolean;
4
+ export declare function encode(types: readonly AbiType[], values: readonly AbiValue[]): Hex;
5
+ export declare const selector: (signature: string) => Hex;
6
+ export declare function encodeCall(signature: string, values: readonly AbiValue[]): Hex;
7
+ export declare function decode(types: readonly AbiType[], data: Hex): AbiValue[];
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.selector = void 0;
4
+ exports.encode = encode;
5
+ exports.encodeCall = encodeCall;
6
+ exports.decode = decode;
7
+ const hash_js_1 = require("./hash.js");
8
+ const word = (n) => { if (n < 0n || n >= 1n << 256n)
9
+ throw new Error('uint out of range'); return n.toString(16).padStart(64, '0'); };
10
+ const isDynamic = (t) => t === 'bytes' || t === 'string';
11
+ function staticWord(t, v) {
12
+ switch (t) {
13
+ case 'bool': return word(v ? 1n : 0n);
14
+ case 'address': {
15
+ const s = String(v);
16
+ if (!/^0x[0-9a-fA-F]{40}$/.test(s))
17
+ throw new Error(`not an address: ${s}`);
18
+ return s.slice(2).toLowerCase().padStart(64, '0');
19
+ }
20
+ case 'bytes32': {
21
+ const s = String(v);
22
+ if (!/^0x[0-9a-fA-F]{64}$/.test(s))
23
+ throw new Error(`not a bytes32: ${s}`);
24
+ return s.slice(2).toLowerCase();
25
+ }
26
+ default: {
27
+ const bits = Number(t.slice(4));
28
+ const n = BigInt(v);
29
+ if (n < 0n || n >= 1n << BigInt(bits))
30
+ throw new Error(`${String(v)} does not fit ${t}`);
31
+ return word(n);
32
+ }
33
+ }
34
+ }
35
+ function tail(t, v) {
36
+ const b = t === 'string' ? (0, hash_js_1.utf8)(String(v)) : (0, hash_js_1.fromHex)(String(v));
37
+ const hex = (0, hash_js_1.toHex)(b).slice(2);
38
+ return word(BigInt(b.length)) + hex.padEnd(Math.ceil(hex.length / 64) * 64, '0');
39
+ }
40
+ function encode(types, values) {
41
+ if (types.length !== values.length)
42
+ throw new Error('types and values differ in length');
43
+ let head = '';
44
+ let body = '';
45
+ const headLen = types.length * 32;
46
+ types.forEach((t, i) => {
47
+ if (isDynamic(t)) {
48
+ head += word(BigInt(headLen + body.length / 2));
49
+ body += tail(t, values[i]);
50
+ }
51
+ else
52
+ head += staticWord(t, values[i]);
53
+ });
54
+ return `0x${head}${body}`;
55
+ }
56
+ const selector = (signature) => (0, hash_js_1.keccakHex)(signature).slice(0, 10);
57
+ exports.selector = selector;
58
+ function encodeCall(signature, values) {
59
+ const inner = signature.slice(signature.indexOf('(') + 1, -1);
60
+ const types = (inner ? inner.split(',') : []);
61
+ return `${(0, exports.selector)(signature)}${encode(types, values).slice(2)}`;
62
+ }
63
+ function decode(types, data) {
64
+ const h = data.slice(2);
65
+ const at = (i) => h.slice(i * 64, i * 64 + 64);
66
+ return types.map((t, i) => {
67
+ const w = at(i);
68
+ if (isDynamic(t)) {
69
+ const off = Number(BigInt('0x' + w)) * 2;
70
+ const len = Number(BigInt('0x' + h.slice(off, off + 64)));
71
+ const raw = h.slice(off + 64, off + 64 + len * 2);
72
+ return t === 'string' ? new TextDecoder().decode((0, hash_js_1.fromHex)(raw)) : `0x${raw}`;
73
+ }
74
+ if (t === 'bool')
75
+ return BigInt('0x' + w) !== 0n;
76
+ if (t === 'address')
77
+ return `0x${w.slice(24)}`;
78
+ if (t === 'bytes32')
79
+ return `0x${w}`;
80
+ return BigInt('0x' + w);
81
+ });
82
+ }
83
+ //# sourceMappingURL=abi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abi.js","sourceRoot":"","sources":["../../../../nodes/TaifoonTypeSafe/jev/abi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ export declare const CONTRACTS: Readonly<{
2
+ readonly devnet: {
3
+ readonly chainId: 36927;
4
+ readonly rpc: "https://rpc.taifoon.dev";
5
+ readonly answerLog: {
6
+ readonly address: "0xD8c1d8188Fc8EE388792f6EB3B3dbd4f341Ba8e3";
7
+ readonly fromBlock: 1106754;
8
+ };
9
+ readonly decisionLog: {
10
+ readonly address: "0x1D622511862DD7DEffB8fEeBc225E0FAdA1e9A05";
11
+ readonly fromBlock: 981099;
12
+ };
13
+ readonly judgeAdapter: "0xbd4c9e797a8DBbfdde9C77bc5A5b21ACf611Db8f";
14
+ readonly assuranceHook: "0x7110c8951d17b69054395742e265bbd98259564a";
15
+ };
16
+ readonly base: {
17
+ readonly chainId: 8453;
18
+ readonly rpc: "https://mainnet.base.org";
19
+ readonly answerLog: {
20
+ address: string;
21
+ fromBlock: number;
22
+ } | null;
23
+ readonly decisionLog: {
24
+ address: string;
25
+ fromBlock: number;
26
+ } | null;
27
+ readonly virtualsErc8183: "0x238E541BfefD82238730D00a2208E5497F1832E0";
28
+ readonly virtualsMemoAcpRouter: "0xa6C9BA866992cfD7fd6460ba912bfa405adA9df0";
29
+ readonly bitagentErc8183: "0x5009ABB3A309115a4a682C66BAf3BC9E0329BaB7";
30
+ readonly bitagentEvaluator: "0x4302e523D982f3b89Cfc43cE4530C012b495Ec11";
31
+ };
32
+ }>;