@taifoon/n8n-nodes-typesafe 1.1.0 → 1.3.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.
- package/README.md +23 -0
- package/dist/credentials/{TypeSafeApi.credentials.d.ts → TaifoonTypeSafeApi.credentials.d.ts} +1 -1
- package/dist/credentials/{TypeSafeApi.credentials.js → TaifoonTypeSafeApi.credentials.js} +6 -6
- package/dist/credentials/TaifoonTypeSafeApi.credentials.js.map +1 -0
- package/dist/nodes/TaifoonTypeSafe/TaifoonTypeSafe.node.js +46 -19
- package/dist/nodes/TaifoonTypeSafe/TaifoonTypeSafe.node.js.map +1 -1
- package/dist/nodes/TaifoonTypeSafe/translate.d.ts +1 -0
- package/dist/nodes/TaifoonTypeSafe/translate.js +47 -11
- package/dist/nodes/TaifoonTypeSafe/translate.js.map +1 -1
- package/dist/package.json +3 -3
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/docs/MCP.md +57 -0
- package/docs/SECURE_KEYS.md +1 -1
- package/docs/WORKFLOWS.md +8 -0
- package/package.json +3 -3
- package/dist/credentials/TypeSafeApi.credentials.js.map +0 -1
package/README.md
CHANGED
|
@@ -70,6 +70,13 @@ It is not for writing text, summarising, or reasoning about code. We measured th
|
|
|
70
70
|
| **Pick one** ("Choice") | the option, a probability for every option, and a `confidence` | a Switch that knows when it is guessing |
|
|
71
71
|
| **Rate it** ("Score") | a level on a rubric you write, and a `confidence` | a ranking you can threshold |
|
|
72
72
|
|
|
73
|
+
Two things make the answers sharper, and both are optional:
|
|
74
|
+
|
|
75
|
+
- **Describe the options.** Write `billing = payments and refunds; technical = bugs and outages; other = fits none`.
|
|
76
|
+
The descriptions go to the model and are what separates options that sound alike. Add an `other`: a message
|
|
77
|
+
that fits nowhere is then answered *other* with confidence, instead of being forced into a team.
|
|
78
|
+
- **Say what yes and no mean.** A yes/no question has *Yes Means* and *No Means* fields for where the line is.
|
|
79
|
+
|
|
73
80
|
Ask all the questions that might matter in the same node. They are answered at once and independently,
|
|
74
81
|
so ten questions cost about the same as one.
|
|
75
82
|
|
|
@@ -85,6 +92,12 @@ When you are ready, create a **TypeSafe API** credential and paste your key. The
|
|
|
85
92
|
you find out immediately whether the key works. Running n8n for a team? You can provision the key from a
|
|
86
93
|
secrets file so nobody ever sees it: [Supplying keys securely](docs/SECURE_KEYS.md).
|
|
87
94
|
|
|
95
|
+
**Upgrading from 1.1 or earlier?** The credential type was renamed (from `typeSafeApi` to
|
|
96
|
+
`taifoonTypeSafeApi`) so it cannot collide with other TypeSafe packages or a future built-in node. After
|
|
97
|
+
updating, create the **TypeSafe API** credential again and select it in your TypeSafe nodes. Nothing else
|
|
98
|
+
changed. If you pre-fill credentials from a file, use the new name as the key
|
|
99
|
+
([Supplying keys securely](docs/SECURE_KEYS.md)).
|
|
100
|
+
|
|
88
101
|
## Try it in two minutes
|
|
89
102
|
|
|
90
103
|
1. Add a **Manual Trigger** and an **Edit Fields** node with a `subject` and a `body`: paste in any
|
|
@@ -121,6 +134,11 @@ and a four-level default rubric. No logic changes. Add the pack, add one test se
|
|
|
121
134
|
open a pull request. Native speakers catch what we cannot: we would especially welcome Chinese, Korean,
|
|
122
135
|
Hindi, Turkish, Ukrainian, Swedish, Hebrew and Indonesian, and corrections to the eleven we ship.
|
|
123
136
|
|
|
137
|
+
It splits a sentence that holds several jobs (*check if it is a refund and rate the urgency*), keeps the levels you
|
|
138
|
+
name (*rate the tone as polite, neutral or rude*) and reads *from 5 to 1* as the 1 to 5 scale. When it cannot do what
|
|
139
|
+
you wrote it says so in `warnings` rather than substituting quietly: a *0 to 10* scale has eleven steps and a rating
|
|
140
|
+
takes at most ten, and *is the customer new or returning?* asked as a yes/no answers whether EITHER holds, not which.
|
|
141
|
+
|
|
124
142
|
It is deliberately literal. It will not invent categories you did not name: *"classify this ticket"*
|
|
125
143
|
with no list comes back flagged `needs_input`. It suggests thresholds but never applies them for you,
|
|
126
144
|
for the reason in the next section.
|
|
@@ -241,6 +259,10 @@ questions you actually want to gate on. If you route `urgency` as well, a perfec
|
|
|
241
259
|
| Pick one | `minConfidence`, and `in` for the options you accept | below the confidence → **Review** |
|
|
242
260
|
| Rate it | `min`, `max` on the level, and optionally `minConfidence` | pass or fail; below the confidence → **Review** |
|
|
243
261
|
|
|
262
|
+
A mistake in Routing never reads as a pass. A rule that names a question you did not ask (a typo, a renamed ID), a
|
|
263
|
+
yes/no rule with no threshold, or a confidence bar on an answer that carries no confidence all send the item to
|
|
264
|
+
**Review**, with the reason in `decisions`.
|
|
265
|
+
|
|
244
266
|
Two details: a rating is a **zero-based level number** (0 is your first level; every answer includes a
|
|
245
267
|
`legend`), and an answer that does not validate always goes to Review. Nothing fails open.
|
|
246
268
|
|
|
@@ -277,6 +299,7 @@ are retried with backoff. Input is text or JSON; no images or audio.
|
|
|
277
299
|
|
|
278
300
|
## More
|
|
279
301
|
|
|
302
|
+
[TypeSafe over MCP, and an approval gate for agent tool calls](docs/MCP.md) ·
|
|
280
303
|
[Supplying keys securely](docs/SECURE_KEYS.md) · [Workflow patterns](docs/WORKFLOWS.md) ·
|
|
281
304
|
[How Translate works, rule by rule](docs/TRANSLATION.md) · [Trading gates in eleven languages](docs/TRADING_GATES.md) · [Key policy and rotation](docs/KEY_POLICY.md)
|
|
282
305
|
|
package/dist/credentials/{TypeSafeApi.credentials.d.ts → TaifoonTypeSafeApi.credentials.d.ts}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
|
|
2
|
-
export declare class
|
|
2
|
+
export declare class TaifoonTypeSafeApi implements ICredentialType {
|
|
3
3
|
name: string;
|
|
4
4
|
displayName: string;
|
|
5
5
|
icon: {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
class
|
|
3
|
+
exports.TaifoonTypeSafeApi = void 0;
|
|
4
|
+
class TaifoonTypeSafeApi {
|
|
5
5
|
constructor() {
|
|
6
|
-
this.name = '
|
|
6
|
+
this.name = 'taifoonTypeSafeApi';
|
|
7
7
|
this.displayName = 'TypeSafe API';
|
|
8
8
|
this.icon = { light: 'file:taifoon.svg', dark: 'file:taifoon.dark.svg' };
|
|
9
9
|
this.documentationUrl = 'https://docs.typesafe.ai/introduction/quickstart';
|
|
10
10
|
this.properties = [
|
|
11
11
|
{ displayName: 'API Key', name: 'apiKey', type: 'string', typeOptions: { password: true }, default: '', required: true, description: 'From console.typesafe.ai' },
|
|
12
|
-
{ displayName: 'Base URL', name: 'baseUrl', type: 'string', default: 'https://api.typesafe.ai', description: 'Change only for a
|
|
12
|
+
{ displayName: 'Base URL', name: 'baseUrl', type: 'string', default: 'https://api.typesafe.ai', description: 'Change only for a private deployment. Must be https: the node refuses to send your key anywhere else.' },
|
|
13
13
|
];
|
|
14
14
|
this.authenticate = { type: 'generic', properties: { headers: { Authorization: '=Bearer {{$credentials.apiKey}}' } } };
|
|
15
15
|
this.test = {
|
|
@@ -18,5 +18,5 @@ class TypeSafeApi {
|
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
exports.
|
|
22
|
-
//# sourceMappingURL=
|
|
21
|
+
exports.TaifoonTypeSafeApi = TaifoonTypeSafeApi;
|
|
22
|
+
//# sourceMappingURL=TaifoonTypeSafeApi.credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaifoonTypeSafeApi.credentials.js","sourceRoot":"","sources":["../../credentials/TaifoonTypeSafeApi.credentials.ts"],"names":[],"mappings":";;;AAMA,MAAa,kBAAkB;IAA/B;QAGC,SAAI,GAAG,oBAAoB,CAAC;QAE5B,gBAAW,GAAG,cAAc,CAAC;QAE7B,SAAI,GAAG,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,uBAAuB,EAAW,CAAC;QAE7E,qBAAgB,GAAG,kDAAkD,CAAC;QAEtE,eAAU,GAAsB;YAC/B,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,0BAA0B,EAAE;YACjK,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,uGAAuG,EAAE;SACtN,CAAC;QAEF,iBAAY,GAAyB,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,iCAAiC,EAAE,EAAE,EAAE,CAAC;QAGxI,SAAI,GAA2B;YAC9B,OAAO,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM;gBACpF,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,kCAAkC,EAAE,EAAE,EAAE,EAAE;SACjJ,CAAC;IACH,CAAC;CAAA;AAvBD,gDAuBC"}
|
|
@@ -3,7 +3,7 @@ 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) => String(s !== null && s !== void 0 ? s : '').split(sep).map((x) => x.trim()).filter(Boolean);
|
|
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);
|
|
7
7
|
const REDACT = /(apikey_|tfn_live_|npm_|Bearer\s+)[A-Za-z0-9_.-]+/g;
|
|
8
8
|
function safeError(error) {
|
|
9
9
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
@@ -28,8 +28,24 @@ function nextStep(status, connection) {
|
|
|
28
28
|
return 'TypeSafe reports the account has no credit. Top it up at console.typesafe.ai.';
|
|
29
29
|
return undefined;
|
|
30
30
|
}
|
|
31
|
+
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
|
+
if (raw === undefined || raw === null || raw === '')
|
|
36
|
+
return undefined;
|
|
37
|
+
const secs = Number(raw);
|
|
38
|
+
const ms = Number.isFinite(secs) ? secs * 1000 : Date.parse(String(raw)) - Date.now();
|
|
39
|
+
return Number.isFinite(ms) && ms >= 0 ? Math.min(ms, 30000) : undefined;
|
|
40
|
+
}
|
|
41
|
+
function parseOptions(raw) {
|
|
42
|
+
if (raw && typeof raw === 'object' && !Array.isArray(raw))
|
|
43
|
+
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*/);
|
|
45
|
+
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
|
+
}
|
|
31
47
|
async function withBackoff(node, call) {
|
|
32
|
-
var _a, _b;
|
|
48
|
+
var _a, _b, _c;
|
|
33
49
|
for (let attempt = 0;; attempt++) {
|
|
34
50
|
try {
|
|
35
51
|
return await call();
|
|
@@ -37,7 +53,7 @@ async function withBackoff(node, call) {
|
|
|
37
53
|
catch (error) {
|
|
38
54
|
const status = Number((_a = error.httpCode) !== null && _a !== void 0 ? _a : (_b = error.response) === null || _b === void 0 ? void 0 : _b.status);
|
|
39
55
|
if ((status === 429 || status === 529) && attempt < 3) {
|
|
40
|
-
await (0, n8n_workflow_1.sleep)(500 * 2 ** attempt);
|
|
56
|
+
await (0, n8n_workflow_1.sleep)((_c = retryAfterMs(error)) !== null && _c !== void 0 ? _c : 500 * 2 ** attempt);
|
|
41
57
|
continue;
|
|
42
58
|
}
|
|
43
59
|
throw new n8n_workflow_1.NodeApiError(node, safeError(error));
|
|
@@ -64,7 +80,7 @@ class TaifoonTypeSafe {
|
|
|
64
80
|
outputNames: ['Pass', 'Fail', 'Review'],
|
|
65
81
|
usableAsTool: true,
|
|
66
82
|
credentials: [
|
|
67
|
-
{ name: '
|
|
83
|
+
{ name: 'taifoonTypeSafeApi', required: true, displayOptions: { show: { operation: ['ask'], connection: ['direct'] } } },
|
|
68
84
|
],
|
|
69
85
|
properties: [
|
|
70
86
|
{ displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, default: 'ask',
|
|
@@ -83,12 +99,14 @@ class TaifoonTypeSafe {
|
|
|
83
99
|
description: 'Ask every question that might matter in one call: they are answered in parallel and in isolation, so ten cost about what one does',
|
|
84
100
|
options: [{ name: 'question', displayName: 'Question', values: [
|
|
85
101
|
{ displayName: 'ID', name: 'id', type: 'string', default: '', placeholder: 'is_refund', description: 'Lower-case name the answer is returned under' },
|
|
86
|
-
{ displayName: 'Levels', name: 'levels', type: 'string', default: '', placeholder: 'None | Low | Medium | High', displayOptions: { show: { kind: ['score'] } }, description: 'Pipe-separated rubric, lowest first, 2 to 10 levels' },
|
|
87
|
-
{ displayName: '
|
|
102
|
+
{ displayName: 'Levels', name: 'levels', type: 'string', default: '', placeholder: 'None | Low | Medium | High', displayOptions: { show: { kind: ['score'] } }, description: 'Pipe-separated rubric, lowest first, 2 to 10 levels. Each level is a description: write what that level looks like. The answer is a zero-based position on this list and can land between levels.' },
|
|
103
|
+
{ displayName: 'No Means', name: 'noMeans', type: 'string', default: '', placeholder: 'No urgency expressed', displayOptions: { show: { kind: ['noul'] } }, description: 'Optional. What a "no" means, in your words. Helps when the question alone could be read two ways.' },
|
|
104
|
+
{ displayName: 'Options', name: 'options', type: 'string', default: '', placeholder: 'billing = payments and refunds; technical = bugs and outages; sales', displayOptions: { show: { kind: ['choice'] } }, description: 'The options, 2 to 255, separated by commas. To describe an option write "name = description"; separate the entries with semicolons or new lines if a description contains a comma. Descriptions are sent to the model and are what separates options that sound alike.' },
|
|
88
105
|
{ displayName: 'Question Text', name: 'text', type: 'string', default: '', description: 'One atomic question. Anything that weighs several factors should be several questions.' },
|
|
89
106
|
{ displayName: 'Type', name: 'kind', type: 'options', default: 'noul', options: [
|
|
90
107
|
{ name: 'Choice (Pick One of a Set)', value: 'choice' }, { name: 'Noul (Yes/No as a Probability)', value: 'noul' }, { name: 'Score (Level on a Rubric)', value: 'score' }
|
|
91
108
|
] },
|
|
109
|
+
{ displayName: 'Yes Means', name: 'yesMeans', type: 'string', default: '', placeholder: 'Explicitly time-sensitive', displayOptions: { show: { kind: ['noul'] } }, description: 'Optional. What a "yes" means, in your words.' },
|
|
92
110
|
] }] },
|
|
93
111
|
{ displayName: 'Questions From Translate (JSON)', name: 'questionsJson', type: 'json', default: '[]', displayOptions: { show: { operation: ['ask'] } },
|
|
94
112
|
description: 'Optional. The "questions" array produced by the Translate operation, for example {{ $JSON.ask.questions }}. Added to the questions above.' },
|
|
@@ -114,7 +132,7 @@ class TaifoonTypeSafe {
|
|
|
114
132
|
};
|
|
115
133
|
}
|
|
116
134
|
async execute() {
|
|
117
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
135
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
118
136
|
const items = this.getInputData();
|
|
119
137
|
const pass = [];
|
|
120
138
|
const fail = [];
|
|
@@ -128,6 +146,7 @@ class TaifoonTypeSafe {
|
|
|
128
146
|
const runnable = questions.filter((q) => !q.needs_input);
|
|
129
147
|
pass.push({ pairedItem: { item: i }, json: {
|
|
130
148
|
ready: questions.length > 0 && runnable.length === questions.length, deterministic: true, languages: langs, questions, dropped, notes,
|
|
149
|
+
warnings: questions.filter((q) => q.warning).map((q) => ({ id: q.id, warning: q.warning })),
|
|
131
150
|
ask: { questions: runnable.map((q) => ({ id: q.id, kind: q.kind, text: q.text, source: q.source, ...(q.options ? { options: q.options.join(', ') } : {}), ...(q.levels ? { levels: q.levels.join(' | ') } : {}) })),
|
|
132
151
|
routing: {} },
|
|
133
152
|
suggestedRouting: Object.fromEntries(runnable.map((q) => [q.id, q.routing])),
|
|
@@ -157,16 +176,20 @@ class TaifoonTypeSafe {
|
|
|
157
176
|
let answers = [];
|
|
158
177
|
let meta = {};
|
|
159
178
|
if (connection === 'direct') {
|
|
160
|
-
const cred = await this.getCredentials('
|
|
179
|
+
const cred = await this.getCredentials('taifoonTypeSafeApi');
|
|
161
180
|
const questions = {};
|
|
162
181
|
for (const q of qs) {
|
|
163
|
-
|
|
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])) }
|
|
164
184
|
: q.kind === 'score' ? { type: 'score', instructions: q.text, criteria: split(q.levels, /\s*\|\s*/) }
|
|
165
|
-
: { type: 'noul', instructions: q.text };
|
|
185
|
+
: { type: 'noul', instructions: q.text, ...(Object.keys(means).length ? { criteria: means } : {}) };
|
|
166
186
|
}
|
|
167
|
-
const
|
|
187
|
+
const base = String(cred.baseUrl || 'https://api.typesafe.ai').replace(/\/$/, '');
|
|
188
|
+
if (!/^https:\/\/[^\s/]+/i.test(base))
|
|
189
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'The Base URL in the TypeSafe API credential must start with https://', { itemIndex: i });
|
|
190
|
+
const req = { method: 'POST', url: `${base}/v1/systemone`, body: { model: 'jev-latest', state, questions }, json: true, timeout: 60000 };
|
|
168
191
|
const started = Date.now();
|
|
169
|
-
const res = (await withBackoff(this.getNode(), () => this.helpers.httpRequestWithAuthentication.call(this, '
|
|
192
|
+
const res = (await withBackoff(this.getNode(), () => this.helpers.httpRequestWithAuthentication.call(this, 'taifoonTypeSafeApi', req)));
|
|
170
193
|
answers = qs.map((q) => {
|
|
171
194
|
var _a, _b, _c, _d, _e, _f;
|
|
172
195
|
const a = ((_a = res.answers) !== null && _a !== void 0 ? _a : {})[q.id];
|
|
@@ -178,12 +201,16 @@ class TaifoonTypeSafe {
|
|
|
178
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 };
|
|
179
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 };
|
|
180
203
|
});
|
|
181
|
-
meta = { model: (
|
|
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 : {} };
|
|
182
205
|
}
|
|
183
206
|
else if (connection === 'trial') {
|
|
184
|
-
const res = await askTrial(this, { state: state, questions: qs.map((q) =>
|
|
185
|
-
|
|
186
|
-
|
|
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 : [];
|
|
187
214
|
meta = { model: res.model, provider: 'typesafe', connection, latency_ms: res.latency_ms, usage: res.usage, trial: res.trial, next: res.next };
|
|
188
215
|
}
|
|
189
216
|
else {
|
|
@@ -207,15 +234,15 @@ class TaifoonTypeSafe {
|
|
|
207
234
|
}
|
|
208
235
|
catch (error) {
|
|
209
236
|
if (this.continueOnFail()) {
|
|
210
|
-
review.push({ json: { error: String((
|
|
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 } });
|
|
211
238
|
continue;
|
|
212
239
|
}
|
|
213
240
|
if (error instanceof n8n_workflow_1.NodeOperationError)
|
|
214
|
-
throw new n8n_workflow_1.NodeOperationError(this.getNode(), error.message, { itemIndex: i, description: (
|
|
241
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), error.message, { itemIndex: i, description: (_j = error.description) !== null && _j !== void 0 ? _j : undefined });
|
|
215
242
|
const safe = safeError(error);
|
|
216
243
|
const step = nextStep(Number(safe.httpCode), String(this.getNodeParameter('connection', i, 'direct')));
|
|
217
244
|
if (step)
|
|
218
|
-
throw new n8n_workflow_1.NodeOperationError(this.getNode(), step, { itemIndex: i, description: String((
|
|
245
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), step, { itemIndex: i, description: String((_k = safe.description) !== null && _k !== void 0 ? _k : '') });
|
|
219
246
|
throw new n8n_workflow_1.NodeApiError(this.getNode(), safe, { itemIndex: i });
|
|
220
247
|
}
|
|
221
248
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaifoonTypeSafe.node.js","sourceRoot":"","sources":["../../../nodes/TaifoonTypeSafe/TaifoonTypeSafe.node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TaifoonTypeSafe.node.js","sourceRoot":"","sources":["../../../nodes/TaifoonTypeSafe/TaifoonTypeSafe.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -115,15 +115,21 @@ function extractOptions(clause, lang = "en") {
|
|
|
115
115
|
function levelsFor(clause, lang) {
|
|
116
116
|
const p = PACKS[lang];
|
|
117
117
|
const r = clause.match(p.loose
|
|
118
|
-
? new RegExp(`${p.from ? `(?:(?:${p.from})\\s*)?` : ""}(\\d{1,
|
|
119
|
-
: new RegExp(`${NB}(?:(?:${p.from})\\s+)?(\\d{1,
|
|
118
|
+
? new RegExp(`${p.from ? `(?:(?:${p.from})\\s*)?` : ""}(\\d{1,3})\\s*(?:-|–|—|〜|~|${p.to})\\s*(\\d{1,3})|(\\d{1,3})\\s*(?:${p.outOf})`, "iu")
|
|
119
|
+
: new RegExp(`${NB}(?:(?:${p.from})\\s+)?(\\d{1,3})\\s*(?:-|–|—|${NB}(?:${p.to})${NA})\\s*(\\d{1,3})${NA}|${NB}(?:${p.outOf})\\s+(\\d{1,3})${NA}(?!\\s*\\p{L})`, "iu"));
|
|
120
120
|
if (r) {
|
|
121
|
-
const
|
|
122
|
-
const
|
|
121
|
+
const first = r[3] ? 1 : Number(r[1]);
|
|
122
|
+
const second = r[3] ? Number(r[3]) : Number(r[2]);
|
|
123
|
+
const lo = Math.min(first, second);
|
|
124
|
+
const hi = Math.max(first, second);
|
|
123
125
|
const n = hi - lo + 1;
|
|
124
|
-
if (
|
|
126
|
+
if (n >= 2 && n <= 10) {
|
|
125
127
|
return { levels: Array.from({ length: n }, (_, k) => `${lo + k}${k === 0 ? " (lowest)" : k === n - 1 ? " (highest)" : ""}`), why: `the task names a ${lo} to ${hi} scale`, matched: r[0] };
|
|
126
128
|
}
|
|
129
|
+
if (n > 10) {
|
|
130
|
+
return { levels: [...p.rubric], why: `the task names a ${lo} to ${hi} scale (${n} steps), more than the 10 levels a rating can have`, matched: r[0],
|
|
131
|
+
warning: `a ${lo} to ${hi} scale has ${n} steps and a rating takes at most 10 levels, so the default ${p.rubric.length}-level rubric is used instead: the answer is a level on THAT rubric, not a number from ${lo} to ${hi}. Name a scale of up to 10 steps or write your own levels.` };
|
|
132
|
+
}
|
|
127
133
|
}
|
|
128
134
|
return { levels: [...p.rubric], why: "no scale was named, so a four-level rubric is used: replace it with your own", matched: null };
|
|
129
135
|
}
|
|
@@ -146,7 +152,14 @@ const asQuestion = (c, lang) => {
|
|
|
146
152
|
return /[??؟]$/u.test(q) ? q : `${q}${lang === "ar" ? "؟" : lang === "ja" ? "?" : "?"}`;
|
|
147
153
|
};
|
|
148
154
|
function translateTask(task, maxQuestions = 8, lang) {
|
|
149
|
-
const all = clauses(task)
|
|
155
|
+
const all = clauses(task).flatMap((c) => {
|
|
156
|
+
const l = detectLang(c, lang);
|
|
157
|
+
const pk = PACKS[l];
|
|
158
|
+
if (pk.loose || !pk.and)
|
|
159
|
+
return [c];
|
|
160
|
+
const parts = c.split(new RegExp(`\\s*(?:,\\s+(?:(?:${pk.and})\\s+)?|\\s+(?:${pk.and})\\s+)(?=(?:${pk.choice}|${pk.score}${pk.lead ? `|${pk.lead}` : ""})${NA})`, "iu")).map((x) => x.trim()).filter((x) => x.length >= 4);
|
|
161
|
+
return parts.length > 1 ? parts : [c];
|
|
162
|
+
}).slice(0, 12);
|
|
150
163
|
const taken = new Set();
|
|
151
164
|
const questions = [];
|
|
152
165
|
const seen = new Set();
|
|
@@ -165,12 +178,20 @@ function translateTask(task, maxQuestions = 8, lang) {
|
|
|
165
178
|
});
|
|
166
179
|
}
|
|
167
180
|
else if (RX[l].score.test(c)) {
|
|
168
|
-
const
|
|
169
|
-
const
|
|
170
|
-
|
|
181
|
+
const scale = levelsFor(c, l);
|
|
182
|
+
const named = scale.matched ? [] : extractOptions(c, l);
|
|
183
|
+
const useNamed = named.length >= 2 && named.length <= 10;
|
|
184
|
+
const levels = useNamed ? named : scale.levels;
|
|
185
|
+
const why = useNamed ? `the task names its own ${named.length} levels` : scale.why;
|
|
186
|
+
const stem = useNamed ? c.replace(new RegExp(`(?::|${nb(l)}(?:${PACKS[l].intro})${na(l)}[:\\s]).*$`, "iu"), "").trim() || c : c;
|
|
187
|
+
const text = (scale.matched ? stem.replace(scale.matched, "") : stem).replace(/\s{2,}/g, " ").trim();
|
|
188
|
+
questions.push({ id: slug(stem, taken, l), kind: "score", text: asQuestion(text, l), levels, source: c, lang: l, explain: `a rating verb -> score; ${why}${tag}`,
|
|
189
|
+
...(scale.warning && !useNamed ? { warning: scale.warning } : {}), routing: { min: Math.ceil((levels.length - 1) / 2) } });
|
|
171
190
|
}
|
|
172
191
|
else {
|
|
173
|
-
|
|
192
|
+
const eitherOr = !PACKS[l].loose && new RegExp(`${NB}(?:${PACKS[l].or})${NA}`, "iu").test(c);
|
|
193
|
+
questions.push({ id: slug(c, taken, l), kind: "noul", text: asQuestion(c, l), source: c, lang: l, explain: `a statement that is true or false -> noul (the probability it is true)${tag}`,
|
|
194
|
+
...(eitherOr ? { warning: "this names alternatives and is asked as a yes/no: the probability is that EITHER holds, not which one. To get the pick, phrase it as a selection and list the options." } : {}), routing: { gte: 0.5 } });
|
|
174
195
|
}
|
|
175
196
|
}
|
|
176
197
|
const notes = [
|
|
@@ -191,13 +212,20 @@ function decide(answers, routing) {
|
|
|
191
212
|
continue;
|
|
192
213
|
}
|
|
193
214
|
if (a.kind === "noul") {
|
|
215
|
+
if (r.gte === undefined && r.lte === undefined) {
|
|
216
|
+
decisions.push({ id: a.id, outcome: "review", reason: "routed without a threshold (gte or lte): failing closed to review" });
|
|
217
|
+
continue;
|
|
218
|
+
}
|
|
194
219
|
const p = typeof a.p === "number" ? a.p : a.value === true ? 1 : 0;
|
|
195
220
|
const ok = (r.gte === undefined || p >= r.gte) && (r.lte === undefined || p <= r.lte);
|
|
196
221
|
decisions.push({ id: a.id, outcome: ok ? "pass" : "fail", reason: `p=${p.toFixed(3)} against ${r.gte !== undefined ? `>= ${r.gte}` : ""}${r.lte !== undefined ? ` <= ${r.lte}` : ""}`.trim() });
|
|
197
222
|
}
|
|
198
223
|
else if (a.kind === "choice") {
|
|
199
224
|
const conf = typeof a.confidence === "number" ? a.confidence : null;
|
|
200
|
-
if (r.minConfidence !== undefined && conf
|
|
225
|
+
if (r.minConfidence !== undefined && conf === null) {
|
|
226
|
+
decisions.push({ id: a.id, outcome: "review", reason: `a confidence of at least ${r.minConfidence} was asked for and the answer carries none: failing closed to review` });
|
|
227
|
+
}
|
|
228
|
+
else if (r.minConfidence !== undefined && conf !== null && conf < r.minConfidence) {
|
|
201
229
|
decisions.push({ id: a.id, outcome: "review", reason: `chose ${String(a.value)} at confidence ${conf.toFixed(2)}, below ${r.minConfidence}: a person should look` });
|
|
202
230
|
}
|
|
203
231
|
else {
|
|
@@ -208,6 +236,10 @@ function decide(answers, routing) {
|
|
|
208
236
|
else {
|
|
209
237
|
const v = Number(a.value);
|
|
210
238
|
const conf = typeof a.confidence === "number" ? a.confidence : null;
|
|
239
|
+
if (r.minConfidence !== undefined && conf === null) {
|
|
240
|
+
decisions.push({ id: a.id, outcome: "review", reason: `a confidence of at least ${r.minConfidence} was asked for and the answer carries none: failing closed to review` });
|
|
241
|
+
continue;
|
|
242
|
+
}
|
|
211
243
|
if (r.minConfidence !== undefined && conf !== null && conf < r.minConfidence) {
|
|
212
244
|
decisions.push({ id: a.id, outcome: "review", reason: `score ${v} at confidence ${conf.toFixed(2)}, below ${r.minConfidence}: a person should look` });
|
|
213
245
|
continue;
|
|
@@ -216,6 +248,10 @@ function decide(answers, routing) {
|
|
|
216
248
|
decisions.push({ id: a.id, outcome: ok ? "pass" : "fail", reason: `score ${v} against ${r.min !== undefined ? `>= ${r.min}` : ""}${r.max !== undefined ? ` <= ${r.max}` : ""}`.trim() });
|
|
217
249
|
}
|
|
218
250
|
}
|
|
251
|
+
const asked = new Set(answers.map((x) => x.id));
|
|
252
|
+
for (const id of Object.keys(routing))
|
|
253
|
+
if (!asked.has(id))
|
|
254
|
+
decisions.push({ id, outcome: "review", reason: "routing names a question that was not asked: failing closed to review" });
|
|
219
255
|
const branch = decisions.some((d) => d.outcome === "review") ? "review" : decisions.every((d) => d.outcome === "pass") && decisions.length > 0 ? "pass" : "fail";
|
|
220
256
|
return { decisions, allPass: branch === "pass", branch };
|
|
221
257
|
}
|