n8n-nodes-2kw 6.2.0-dev.14 → 6.2.0-dev.42

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 CHANGED
@@ -33,7 +33,8 @@ Agent, Label, Schema, Prompt, Schema Version, and Prompt Label fields are **sear
33
33
 
34
34
  | Resource | Operation | Notes |
35
35
  | --- | --- | --- |
36
- | Agent | Send Message | Runs one turn of a stored agent. `Agent` and `Label` are pickers (empty label = latest). Options: `Binary Properties` (comma-separated, uploaded as attachments), `Conversation ID`, `Previous Response ID`, `Simplify Output`. Fails if the agent pauses — see [Agents in n8n](#agents-in-n8n). |
36
+ | Agent | Decide Approval | Approves or rejects every pending approval of a paused run and continues it. Required: `Agent`, `Response ID`, `Decision` (`Approve All` / `Reject All`, default reject). Optional: `Label` (the one the run used), `Reason`, `Remember for Conversation` (approvals only). Options: `Return Paused Runs`, `Simplify Output`. See [Human approval from a workflow](#human-approval-from-a-workflow). |
37
+ | Agent | Send Message | Runs one turn of a stored agent. `Agent` and `Label` are pickers (empty label = latest). Options: `Binary Properties` (comma-separated, uploaded as attachments), `Conversation ID`, `Previous Response ID`, `Return Paused Runs`, `Simplify Output`. Fails if the agent pauses unless `Return Paused Runs` is on — see [Agents in n8n](#agents-in-n8n). |
37
38
  | Schema | Get | Searchable picker. Returns schema metadata + active version. |
38
39
  | Prompt | Get | Searchable picker. Returns prompt metadata. |
39
40
  | Prompt | Compile | Compiles a prompt with a `Variables` JSON map. Optional `Version ID` (string) or `Label` (picker, depends on prompt). |
@@ -49,7 +50,27 @@ Agent, Label, Schema, Prompt, Schema Version, and Prompt Label fields are **sear
49
50
 
50
51
  **Agent › Send Message** runs one turn of an agent you built in 2kw and returns its answer as `text`, together with `status`, `responseId`, `conversationId`, `model` and `usage`. Pass `conversationId` (or `responseId` as *Previous Response ID*) to a later Send Message to continue the thread. Files from binary properties are uploaded and attached to the message; images reach the model as pixels.
51
52
 
52
- **n8n runs agents unattended.** When an agent's policy wants a human to approve a tool call, the run pauses and this operation fails with the tools that are waiting, for example `Agent paused for approval: create_invoice (apreq_…)`. For agents you call from n8n, use tools their policy lets run without a human decision — once auto-approval is available, set `classes.write` to `auto` in the agent's policy. A run that asks for a client-side tool fails the same way (`Agent requested client-side tool …`), because n8n cannot execute it. A run that stops early (`status: incomplete`, e.g. too many tool iterations) is returned, not failed; check `incompleteReason`. Leave *Retry On Fail* off for agents with write tools: a timed-out turn may still be running, and a retry repeats its tool calls.
53
+ **n8n runs agents unattended by default.** When an agent's policy wants a human to approve a tool call, the run pauses and this operation fails with the tools that are waiting, for example `Agent paused for approval: create_invoice (apreq_…)`. To ask a person instead, see [Human approval from a workflow](#human-approval-from-a-workflow). For agents you call from n8n, use tools their policy lets run without a human decision — once auto-approval is available, set `classes.write` to `auto` in the agent's policy. A run that asks for a client-side tool fails the same way (`Agent requested client-side tool …`), because n8n cannot execute it. A run that stops early (`status: incomplete`, e.g. too many tool iterations) is returned, not failed; check `incompleteReason`. Leave *Retry On Fail* off for agents with write tools: a timed-out turn may still be running, and a retry repeats its tool calls.
54
+
55
+ ### Human approval from a workflow
56
+
57
+ To put a person in the loop instead of failing, turn on **Return Paused Runs** in Send Message. A run that pauses for approval then comes out as an item with `status: requires_action`, its `responseId`, and `pendingApprovals` — one entry per waiting call, with `approvalId`, `tool`, `arguments`, `policyClass` and `reason` (why the auto-approver escalated it, or `null`). Route on `status` with an IF node, ask a person with any Send-and-Wait node (Slack, email, Telegram), and pass the answer to **Agent › Decide Approval**:
58
+
59
+ - **Agent** and **Label**: the same agent and label the run used. The platform resolves the approved calls' tools from the continued version.
60
+ - **Response ID**: `{{ $json.responseId }}` from the paused item.
61
+ - **Decision**: `Approve All` or `Reject All`, or an expression returning `approve` or `reject`. It applies to every pending approval of the response; the platform accepts a continuation only when all of them are decided.
62
+ - **Reason**: optional. It is recorded on each decision, and on a rejection the agent reads it.
63
+ - **Remember for Conversation**: approvals only. Later calls of the same tools in this conversation run without asking. Destructive tools are approved once and never remembered.
64
+
65
+ Decide Approval reads the pending approvals from `GET /v1/agents/{agentId}/approvals?status=pending`, sends one `backbone:approval_response` per approval on `POST /v1/responses` with `previous_response_id`, and returns the continued run in Send Message's output shape. A continued run can pause again; with Return Paused Runs on it comes out the same way, so a loop back to the person works.
66
+
67
+ It fails the item when:
68
+
69
+ - nothing is pending on the response: already decided by a person, a conversation grant or the auto-approver, or the ID is not a paused run of this agent;
70
+ - the platform refuses the decision, for example because an approval was decided automatically (`2kw refused the decision on response …`) or is no longer pending;
71
+ - the continued run asks for a client-side tool, which n8n still cannot execute. A turn can wait for approvals and a client-side tool at once; deciding the approvals does not run the client-side tool.
72
+
73
+ Approvals remain a human decision. Do not give Decide Approval to an AI Agent as a tool, and do not wire it to approve without asking someone. For tools that should run without a person, set `classes.write` to `auto` in the agent's policy once auto-approval is available.
53
74
 
54
75
  **Using n8n's OpenAI node instead.** With the OpenAI credential set up as below, *OpenAI › Message a Model* (n8n 1.117 or later) can call an agent too: pick the model **By ID** and enter `agent/<name>` or `agent/<name>@<label>`. That is fine for text-only turns with agents that never pause. It cannot attach files, and its default *Simplify* setting hides a paused run — the workflow receives empty output and carries on. The OpenAI *Chat Model* inside n8n's AI Agent is not supported for agents: with a streaming trigger it requests streaming, which the 2kw Responses API does not offer yet.
55
76
 
@@ -100,6 +121,7 @@ Prereleases publish under the `dev` dist-tag (`npm install n8n-nodes-2kw@dev`),
100
121
 
101
122
  ### Unreleased
102
123
  - Added Agent › Send Message: agent and label pickers, file attachments, loud failure when the agent pauses for approval.
124
+ - Added Agent › Decide Approval: approve or reject every pending approval of a paused run and continue it. Send Message and Decide Approval gained `Return Paused Runs`, which returns an approval pause as an item with `pendingApprovals` instead of failing.
103
125
 
104
126
  Entries below `1.0.0` predate npm publication and use the node's own numbering.
105
127
 
@@ -2,6 +2,22 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.agentFields = exports.agentOperations = void 0;
4
4
  const showSendMessage = { resource: ['agent'], operation: ['sendMessage'] };
5
+ const showDecideApproval = { resource: ['agent'], operation: ['decideApproval'] };
6
+ const showAgentRun = { resource: ['agent'], operation: ['sendMessage', 'decideApproval'] };
7
+ const returnPausedRuns = {
8
+ displayName: 'Return Paused Runs',
9
+ name: 'returnPausedRuns',
10
+ type: 'boolean',
11
+ default: false,
12
+ description: 'Whether to return a run that pauses for approval as an item (status requires_action, with pendingApprovals) instead of failing, so Agent › Decide Approval can continue it',
13
+ };
14
+ const simplifyOutput = {
15
+ displayName: 'Simplify Output',
16
+ name: 'simplify',
17
+ type: 'boolean',
18
+ default: true,
19
+ description: 'Whether to return text, status, IDs and usage instead of the raw response',
20
+ };
5
21
  exports.agentOperations = {
6
22
  displayName: 'Operation',
7
23
  name: 'operation',
@@ -10,6 +26,12 @@ exports.agentOperations = {
10
26
  displayOptions: { show: { resource: ['agent'] } },
11
27
  default: 'sendMessage',
12
28
  options: [
29
+ {
30
+ name: 'Decide Approval',
31
+ value: 'decideApproval',
32
+ description: 'Approve or reject every pending approval of a paused run and continue it',
33
+ action: 'Decide the approvals of a paused agent run',
34
+ },
13
35
  {
14
36
  name: 'Send Message',
15
37
  value: 'sendMessage',
@@ -25,7 +47,7 @@ exports.agentFields = [
25
47
  type: 'resourceLocator',
26
48
  default: { mode: 'list', value: '' },
27
49
  required: true,
28
- displayOptions: { show: showSendMessage },
50
+ displayOptions: { show: showAgentRun },
29
51
  description: 'Pick from a list, or enter an agent ID or name',
30
52
  modes: [
31
53
  {
@@ -47,8 +69,8 @@ exports.agentFields = [
47
69
  name: 'label',
48
70
  type: 'resourceLocator',
49
71
  default: { mode: 'list', value: '' },
50
- displayOptions: { show: showSendMessage },
51
- description: 'Optional. Run the agent version this label points at (e.g. "prod"). Empty runs the latest version. The list needs the agent picked from the list or by ID.',
72
+ displayOptions: { show: showAgentRun },
73
+ description: 'Optional. Run the agent version this label points at (e.g. "prod"). Empty runs the latest version. To decide approvals, use the label the paused run used. The list needs the agent picked from the list or by ID.',
52
74
  modes: [
53
75
  {
54
76
  displayName: 'From List',
@@ -104,14 +126,57 @@ exports.agentFields = [
104
126
  default: '',
105
127
  description: 'Continue from a previous response of this agent',
106
128
  },
107
- {
108
- displayName: 'Simplify Output',
109
- name: 'simplify',
110
- type: 'boolean',
111
- default: true,
112
- description: 'Whether to return text, status, IDs and usage instead of the raw response',
113
- },
129
+ returnPausedRuns,
130
+ simplifyOutput,
131
+ ],
132
+ },
133
+ {
134
+ displayName: 'Response ID',
135
+ name: 'responseId',
136
+ type: 'string',
137
+ required: true,
138
+ default: '',
139
+ placeholder: 'resp_...',
140
+ displayOptions: { show: showDecideApproval },
141
+ description: 'The paused run to continue: the responseId of a Send Message (or Decide Approval) item returned with Return Paused Runs on',
142
+ },
143
+ {
144
+ displayName: 'Decision',
145
+ name: 'decision',
146
+ type: 'options',
147
+ required: true,
148
+ default: 'reject',
149
+ displayOptions: { show: showDecideApproval },
150
+ description: 'Applied to every pending approval of the response; the platform accepts a continuation only when all of them are decided',
151
+ options: [
152
+ { name: 'Approve All', value: 'approve', description: 'Let every waiting tool call run' },
153
+ { name: 'Reject All', value: 'reject', description: 'Refuse every waiting tool call; the agent is told' },
114
154
  ],
115
155
  },
156
+ {
157
+ displayName: 'Reason',
158
+ name: 'reason',
159
+ type: 'string',
160
+ default: '',
161
+ displayOptions: { show: showDecideApproval },
162
+ description: 'Optional. Recorded on every decision; on a rejection the agent reads it.',
163
+ },
164
+ {
165
+ displayName: 'Remember for Conversation',
166
+ name: 'rememberForConversation',
167
+ type: 'boolean',
168
+ default: false,
169
+ displayOptions: { show: { ...showDecideApproval, decision: ['approve'] } },
170
+ description: 'Whether to also approve later calls of the same tools in this conversation without asking. Destructive tools are approved once and never remembered.',
171
+ },
172
+ {
173
+ displayName: 'Options',
174
+ name: 'decideOptions',
175
+ type: 'collection',
176
+ placeholder: 'Add Option',
177
+ default: {},
178
+ displayOptions: { show: showDecideApproval },
179
+ options: [returnPausedRuns, simplifyOutput],
180
+ },
116
181
  ];
117
182
  //# sourceMappingURL=agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../../nodes/TwoKw/descriptions/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../../nodes/TwoKw/descriptions/agent.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,9 @@ interface OutputItem {
10
10
  tool?: string;
11
11
  name?: string;
12
12
  status?: string;
13
+ arguments?: string;
14
+ policy_class?: string;
15
+ reason?: string | null;
13
16
  }
14
17
  export interface AgentResponse {
15
18
  id: string;
@@ -24,9 +27,28 @@ export interface AgentResponse {
24
27
  id?: string;
25
28
  } | null;
26
29
  }
30
+ /** A `GET /v1/agents/{agentId}/approvals` row; only the fields a decision needs. */
31
+ interface ApprovalRow {
32
+ id?: string;
33
+ responseId?: string;
34
+ hmac?: string;
35
+ policyClass?: string;
36
+ tool?: string;
37
+ }
27
38
  /** `agent/<ref>` at the latest label (`agent/<ref>@` if the ref contains `@`), or `agent/<ref>@<label>`. */
28
39
  export declare function buildAgentModel(ref: string, label: string): string;
29
40
  /** Every assistant `output_text` part, in output order — the resource has no `output_text` field. */
30
41
  export declare function responseText(response: AgentResponse): string;
42
+ /**
43
+ * One `backbone:approval_response` per pending approval, with the backend's field
44
+ * names (ApprovalResponseItem). `remember` is sent only on an approval, and never for
45
+ * a destructive call: the backend refuses both (ApprovalDecisionValidator).
46
+ */
47
+ export declare function approvalResponseItems(rows: ApprovalRow[], decision: 'approve' | 'reject', reason: string, remember: boolean): IDataObject[];
48
+ /** The OpenAI-style `error.code` / `error.message` of a gateway error, wherever n8n put the body. */
49
+ export declare function gatewayError(error: unknown): {
50
+ code?: string;
51
+ message?: string;
52
+ };
31
53
  export declare function executeAgent(this: IExecuteFunctions, itemIndex: number, operation: string): Promise<INodeExecutionData[]>;
32
54
  export {};
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.buildAgentModel = buildAgentModel;
4
4
  exports.responseText = responseText;
5
+ exports.approvalResponseItems = approvalResponseItems;
6
+ exports.gatewayError = gatewayError;
5
7
  exports.executeAgent = executeAgent;
6
8
  const n8n_workflow_1 = require("n8n-workflow");
7
9
  const transport_1 = require("../transport");
@@ -56,6 +58,15 @@ async function uploadAttachments(ctx, itemIndex, binaryProperties) {
56
58
  }
57
59
  return parts;
58
60
  }
61
+ const APPROVAL_REQUEST = 'backbone:approval_request';
62
+ const APPROVAL_RESPONSE = 'backbone:approval_response';
63
+ /**
64
+ * Approval requests still waiting for a decision. Requests the auto-approver or a
65
+ * conversation grant already decided carry another status and are not pending (#634).
66
+ */
67
+ function pendingApprovalItems(response) {
68
+ return (response.output ?? []).filter((item) => item.type === APPROVAL_REQUEST && item.status === 'in_progress');
69
+ }
59
70
  function simplify(response) {
60
71
  const json = {
61
72
  text: responseText(response),
@@ -68,21 +79,32 @@ function simplify(response) {
68
79
  if (response.status === 'incomplete') {
69
80
  json.incompleteReason = response.incomplete_details?.reason ?? null;
70
81
  }
82
+ if (response.status === 'requires_action') {
83
+ json.pendingApprovals = pendingApprovalItems(response).map((item) => ({
84
+ approvalId: item.id ?? null,
85
+ tool: item.tool ?? null,
86
+ arguments: item.arguments ?? null,
87
+ policyClass: item.policy_class ?? null,
88
+ reason: item.reason ?? null,
89
+ }));
90
+ }
71
91
  return json;
72
92
  }
73
- const APPROVAL_REQUEST = 'backbone:approval_request';
74
93
  /**
75
94
  * n8n runs agents unattended (spec D2): a turn that waits for a human or for a
76
95
  * client-side tool fails the item loudly instead of reaching the workflow as
77
- * empty output.
96
+ * empty output. With Return Paused Runs on, an approval pause is returned as an
97
+ * item instead, for a later Decide Approval (#660); a relay pause still fails.
78
98
  */
79
- function assertNotPaused(ctx, response, itemIndex) {
99
+ function assertNotPaused(ctx, response, itemIndex, returnPausedRuns) {
80
100
  if (response.status === 'completed' || response.status === 'incomplete')
81
101
  return;
82
102
  const output = response.output ?? [];
83
103
  if (response.status === 'requires_action') {
84
- const pending = output.filter((item) => item.type === APPROVAL_REQUEST && item.status === 'in_progress');
104
+ const pending = pendingApprovalItems(response);
85
105
  if (pending.length > 0) {
106
+ if (returnPausedRuns)
107
+ return;
86
108
  throw new n8n_workflow_1.NodeOperationError(ctx.getNode(), `Agent paused for approval: ${pending.map((a) => `${a.tool} (${a.id})`).join(', ')}`, {
87
109
  itemIndex,
88
110
  description: `Response ${response.id} is waiting for a human decision, and n8n runs agents unattended. ` +
@@ -103,19 +125,19 @@ function assertNotPaused(ctx, response, itemIndex) {
103
125
  }
104
126
  throw new n8n_workflow_1.NodeOperationError(ctx.getNode(), `Agent run ended with unexpected status "${response.status}"`, { itemIndex, description: `Response ${response.id}.` });
105
127
  }
106
- async function executeAgent(itemIndex, operation) {
107
- if (operation !== 'sendMessage') {
108
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Unknown agent operation: ${operation}`, {
109
- itemIndex,
110
- });
111
- }
112
- const ref = (0, transport_1.extractResourceId)(this.getNodeParameter('agent', itemIndex)).trim();
113
- const label = (0, transport_1.extractResourceId)(this.getNodeParameter('label', itemIndex, '')).trim();
114
- const message = this.getNodeParameter('message', itemIndex);
115
- const options = this.getNodeParameter('options', itemIndex, {});
128
+ function runResult(ctx, response, itemIndex, options) {
129
+ assertNotPaused(ctx, response, itemIndex, options.returnPausedRuns === true);
130
+ const json = options.simplify === false ? response : simplify(response);
131
+ return [{ json, pairedItem: itemIndex }];
132
+ }
133
+ async function sendMessage(ctx, itemIndex) {
134
+ const ref = (0, transport_1.extractResourceId)(ctx.getNodeParameter('agent', itemIndex)).trim();
135
+ const label = (0, transport_1.extractResourceId)(ctx.getNodeParameter('label', itemIndex, '')).trim();
136
+ const message = ctx.getNodeParameter('message', itemIndex);
137
+ const options = ctx.getNodeParameter('options', itemIndex, {});
116
138
  const content = [{ type: 'input_text', text: message }];
117
139
  if (options.binaryProperties) {
118
- content.push(...(await uploadAttachments(this, itemIndex, options.binaryProperties)));
140
+ content.push(...(await uploadAttachments(ctx, itemIndex, options.binaryProperties)));
119
141
  }
120
142
  const body = {
121
143
  model: buildAgentModel(ref, label),
@@ -127,9 +149,171 @@ async function executeAgent(itemIndex, operation) {
127
149
  body.conversation = conversationId;
128
150
  if (previousResponseId)
129
151
  body.previous_response_id = previousResponseId;
130
- const response = await (0, transport_1.apiRequest)(this, 'POST', '/v1/responses', { body });
131
- assertNotPaused(this, response, itemIndex);
132
- const json = options.simplify === false ? response : simplify(response);
133
- return [{ json, pairedItem: itemIndex }];
152
+ const response = await (0, transport_1.apiRequest)(ctx, 'POST', '/v1/responses', { body });
153
+ return runResult(ctx, response, itemIndex, options);
154
+ }
155
+ const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
156
+ const PAGE_SIZE = 100;
157
+ const MAX_PAGES = 50;
158
+ /**
159
+ * The approvals listing is addressed by agent id only, while the Agent field also
160
+ * takes a name. A name is matched exactly; the API offers only a substring search.
161
+ */
162
+ async function resolveAgentId(ctx, ref, itemIndex) {
163
+ if (UUID.test(ref))
164
+ return ref;
165
+ for (let page = 0; page < MAX_PAGES; page++) {
166
+ const data = await (0, transport_1.apiRequest)(ctx, 'GET', '/v1/agents', {
167
+ query: { search: ref, page, size: PAGE_SIZE, sort: 'id,asc' },
168
+ });
169
+ const content = data?.content ?? [];
170
+ const hit = content.find((a) => a.name === ref);
171
+ if (hit)
172
+ return hit.id;
173
+ if (data?.last !== false || content.length === 0)
174
+ break;
175
+ }
176
+ throw new n8n_workflow_1.NodeOperationError(ctx.getNode(), `Agent "${ref}" not found`, { itemIndex });
177
+ }
178
+ async function pendingApprovalRows(ctx, agentId, responseId) {
179
+ const rows = [];
180
+ for (let page = 0; page < MAX_PAGES; page++) {
181
+ const data = await (0, transport_1.apiRequest)(ctx, 'GET', '/v1/agents/{agentId}/approvals', {
182
+ pathParams: { agentId },
183
+ query: { status: 'pending', page, size: PAGE_SIZE },
184
+ });
185
+ const content = data?.content ?? [];
186
+ rows.push(...content.filter((row) => row.responseId === responseId));
187
+ if (data?.last !== false || content.length === 0)
188
+ break;
189
+ }
190
+ return rows;
191
+ }
192
+ /**
193
+ * One `backbone:approval_response` per pending approval, with the backend's field
194
+ * names (ApprovalResponseItem). `remember` is sent only on an approval, and never for
195
+ * a destructive call: the backend refuses both (ApprovalDecisionValidator).
196
+ */
197
+ function approvalResponseItems(rows, decision, reason, remember) {
198
+ return rows.map((row) => {
199
+ const item = {
200
+ type: APPROVAL_RESPONSE,
201
+ approval_id: row.id,
202
+ decision,
203
+ hmac: row.hmac,
204
+ };
205
+ if (reason)
206
+ item.reason = reason;
207
+ if (remember && decision === 'approve' && (row.policyClass ?? '').toUpperCase() !== 'DESTRUCTIVE') {
208
+ item.remember = 'conversation';
209
+ }
210
+ return item;
211
+ });
212
+ }
213
+ /** The OpenAI-style `error.code` / `error.message` of a gateway error, wherever n8n put the body. */
214
+ function gatewayError(error) {
215
+ const e = error;
216
+ const candidates = [
217
+ e?.context?.data,
218
+ e?.errorResponse?.response?.data,
219
+ e?.errorResponse?.response?.body,
220
+ e?.cause?.response?.data,
221
+ e?.cause?.response?.body,
222
+ e?.response?.data,
223
+ e?.response?.body,
224
+ ];
225
+ for (const body of candidates) {
226
+ const inner = body?.error;
227
+ if (inner && typeof inner.code === 'string') {
228
+ return { code: inner.code, message: typeof inner.message === 'string' ? inner.message : undefined };
229
+ }
230
+ }
231
+ return {};
232
+ }
233
+ /** Gateway refusals of a decision continuation (approval-gate spec §7), rewritten for a workflow author. */
234
+ function decisionError(ctx, error, itemIndex, responseId) {
235
+ const { code, message } = gatewayError(error);
236
+ const detail = message ? ` ${message}` : '';
237
+ switch (code) {
238
+ case 'invalid_approval_decision':
239
+ return new n8n_workflow_1.NodeOperationError(ctx.getNode(), `2kw refused the decision on response ${responseId}`, {
240
+ itemIndex,
241
+ description: `An approval that was already decided — by the auto-approver or a conversation grant — accepts no decision.${detail}`,
242
+ });
243
+ case 'unknown_approval_id':
244
+ return new n8n_workflow_1.NodeOperationError(ctx.getNode(), `An approval is no longer pending on response ${responseId}`, {
245
+ itemIndex,
246
+ description: `It was cancelled or expired, or this is not the response that raised it.${detail}`,
247
+ });
248
+ case 'incomplete_tool_outputs':
249
+ return new n8n_workflow_1.NodeOperationError(ctx.getNode(), `Response ${responseId} has pending approvals this decision did not cover`, {
250
+ itemIndex,
251
+ description: `Run Decide Approval again to decide them all.${detail}`,
252
+ });
253
+ case 'approval_hmac_mismatch':
254
+ return new n8n_workflow_1.NodeOperationError(ctx.getNode(), `An approval of response ${responseId} does not match its tool call`, {
255
+ itemIndex,
256
+ description: `The approval binds other arguments than the call being released.${detail}`,
257
+ });
258
+ default:
259
+ return error;
260
+ }
261
+ }
262
+ async function decideApproval(ctx, itemIndex) {
263
+ const ref = (0, transport_1.extractResourceId)(ctx.getNodeParameter('agent', itemIndex)).trim();
264
+ const label = (0, transport_1.extractResourceId)(ctx.getNodeParameter('label', itemIndex, '')).trim();
265
+ const responseId = ctx.getNodeParameter('responseId', itemIndex).trim();
266
+ const decision = ctx.getNodeParameter('decision', itemIndex);
267
+ const reason = ctx.getNodeParameter('reason', itemIndex, '').trim();
268
+ const remember = decision === 'approve' && ctx.getNodeParameter('rememberForConversation', itemIndex, false);
269
+ const options = ctx.getNodeParameter('decideOptions', itemIndex, {});
270
+ if (!responseId) {
271
+ throw new n8n_workflow_1.NodeOperationError(ctx.getNode(), 'Response ID is required', { itemIndex });
272
+ }
273
+ if (decision !== 'approve' && decision !== 'reject') {
274
+ throw new n8n_workflow_1.NodeOperationError(ctx.getNode(), `Decision must be "approve" or "reject", got "${decision}"`, {
275
+ itemIndex,
276
+ });
277
+ }
278
+ const agentId = await resolveAgentId(ctx, ref, itemIndex);
279
+ const rows = await pendingApprovalRows(ctx, agentId, responseId);
280
+ // Never send a continuation without decisions: it would be a new turn, not a decision.
281
+ if (rows.length === 0) {
282
+ throw new n8n_workflow_1.NodeOperationError(ctx.getNode(), `No pending approvals on response ${responseId}`, {
283
+ itemIndex,
284
+ description: 'They were already decided (by a person, a conversation grant or the auto-approver), ' +
285
+ 'or the response ID is not a paused run of this agent.',
286
+ });
287
+ }
288
+ const unbound = rows.find((row) => !row.id || !row.hmac);
289
+ if (unbound) {
290
+ throw new n8n_workflow_1.NodeOperationError(ctx.getNode(), `Approval ${unbound.id ?? '?'} carries no binding and cannot be decided`, {
291
+ itemIndex,
292
+ });
293
+ }
294
+ // Continue on the agent id and the run's label: the platform resolves the approved
295
+ // calls' tools from the continuation's version.
296
+ const body = {
297
+ model: buildAgentModel(agentId, label),
298
+ previous_response_id: responseId,
299
+ input: approvalResponseItems(rows, decision, reason, remember),
300
+ };
301
+ let response;
302
+ try {
303
+ response = await (0, transport_1.apiRequest)(ctx, 'POST', '/v1/responses', { body });
304
+ }
305
+ catch (error) {
306
+ throw decisionError(ctx, error, itemIndex, responseId);
307
+ }
308
+ return runResult(ctx, response, itemIndex, options);
309
+ }
310
+ async function executeAgent(itemIndex, operation) {
311
+ if (operation === 'sendMessage')
312
+ return sendMessage(this, itemIndex);
313
+ if (operation === 'decideApproval')
314
+ return decideApproval(this, itemIndex);
315
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Unknown agent operation: ${operation}`, {
316
+ itemIndex,
317
+ });
134
318
  }
135
319
  //# sourceMappingURL=agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../../nodes/TwoKw/operations/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../../nodes/TwoKw/operations/agent.ts"],"names":[],"mappings":";;AA8DA,0CAGC;AAGD,oCASC;AA0ND,sDAmBC;AAGD,oCAuBC;AA4FD,oCAUC;AA1bD,+CAKsB;AACtB,4CAA6D;AAuD7D,4GAA4G;AAC5G,SAAgB,eAAe,CAAC,GAAW,EAAE,KAAa;IACxD,IAAI,KAAK;QAAE,OAAO,SAAS,GAAG,IAAI,KAAK,EAAE,CAAC;IAC1C,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;AAC9D,CAAC;AAED,qGAAqG;AACrG,SAAgB,YAAY,CAAC,QAAuB;IAClD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;YAAE,SAAS;QACnE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,GAAsB,EACtB,SAAiB,EACjB,gBAAwB;IAExB,MAAM,KAAK,GAAG,gBAAgB;SAC3B,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,CAAC;IAE3C,0EAA0E;IAC1E,uDAAuD;IACvD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,iCAAkB,CAC1B,GAAG,CAAC,OAAO,EAAE,EACb,oBAAoB,IAAI,2BAA2B,EACnD,EAAE,SAAS,EAAE,CACd,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAgE,EAAE,CAAC;IAC9E,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,IAAA,sBAAU,EAAe,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE;YACpE,QAAQ,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;YACpC,MAAM,EAAE;gBACN,SAAS,EAAE,MAAM;gBACjB,MAAM;gBACN,QAAQ;gBACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,0BAA0B;aACvD;SACF,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,gBAAgB,GAAG,2BAA2B,CAAC;AACrD,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;AAEvD;;;GAGG;AACH,SAAS,oBAAoB,CAAC,QAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CACnC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,CAC1E,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,QAAuB;IACvC,MAAM,IAAI,GAAgB;QACxB,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;QAC5B,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,cAAc,EAAE,QAAQ,CAAC,YAAY,EAAE,EAAE,IAAI,IAAI;QACjD,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,IAAI;KAC9B,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QACrC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,kBAAkB,EAAE,MAAM,IAAI,IAAI,CAAC;IACtE,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;QAC1C,IAAI,CAAC,gBAAgB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpE,UAAU,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;YACjC,WAAW,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;YACtC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;SAC5B,CAAC,CAAC,CAAC;IACN,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CACtB,GAAsB,EACtB,QAAuB,EACvB,SAAiB,EACjB,gBAAyB;IAEzB,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,IAAI,QAAQ,CAAC,MAAM,KAAK,YAAY;QAAE,OAAO;IAEhF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;IACrC,IAAI,QAAQ,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,gBAAgB;gBAAE,OAAO;YAC7B,MAAM,IAAI,iCAAkB,CAC1B,GAAG,CAAC,OAAO,EAAE,EACb,8BAA8B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACpF;gBACE,SAAS;gBACT,WAAW,EACT,YAAY,QAAQ,CAAC,EAAE,oEAAoE;oBAC3F,2EAA2E;oBAC3E,mEAAmE;oBACnE,+CAA+C;aAClD,CACF,CAAC;QACJ,CAAC;QACD,qEAAqE;QACrE,sEAAsE;QACtE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAC1B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,CACzE,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,iCAAkB,CAC1B,GAAG,CAAC,OAAO,EAAE,EACb,oCAAoC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,EACpG;gBACE,SAAS;gBACT,WAAW,EAAE,YAAY,QAAQ,CAAC,EAAE,gDAAgD;aACrF,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,IAAI,iCAAkB,CAC1B,GAAG,CAAC,OAAO,EAAE,EACb,2CAA2C,QAAQ,CAAC,MAAM,GAAG,EAC7D,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,QAAQ,CAAC,EAAE,GAAG,EAAE,CACvD,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAChB,GAAsB,EACtB,QAAuB,EACvB,SAAiB,EACjB,OAAmB;IAEnB,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,gBAAgB,KAAK,IAAI,CAAC,CAAC;IAC7E,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAE,QAAmC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpG,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAsB,EAAE,SAAiB;IAClE,MAAM,GAAG,GAAG,IAAA,6BAAiB,EAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/E,MAAM,KAAK,GAAG,IAAA,6BAAiB,EAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrF,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAW,CAAC;IACrE,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,CAAuB,CAAC;IAErF,MAAM,OAAO,GAAkB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACvE,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,IAAI,GAAgB;QACxB,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC;QAClC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;KACpD,CAAC;IACF,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;IACtD,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;IAC9D,IAAI,cAAc;QAAE,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC;IACvD,IAAI,kBAAkB;QAAE,IAAI,CAAC,oBAAoB,GAAG,kBAAkB,CAAC;IAEvE,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAU,EAAgB,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACzF,OAAO,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,IAAI,GAAG,iEAAiE,CAAC;AAC/E,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB;;;GAGG;AACH,KAAK,UAAU,cAAc,CAAC,GAAsB,EAAE,GAAW,EAAE,SAAiB;IAClF,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAC/B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,IAAA,sBAAU,EAAqC,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE;YAC1F,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC9D,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;QAChD,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,IAAI,EAAE,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM;IAC1D,CAAC;IACD,MAAM,IAAI,iCAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,UAAU,GAAG,aAAa,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;AACzF,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,GAAsB,EACtB,OAAe,EACf,UAAkB;IAElB,MAAM,IAAI,GAAkB,EAAE,CAAC;IAC/B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,IAAA,sBAAU,EAAoB,GAAG,EAAE,KAAK,EAAE,gCAAgC,EAAE;YAC7F,UAAU,EAAE,EAAE,OAAO,EAAE;YACvB,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;SACpD,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC;QACrE,IAAI,IAAI,EAAE,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM;IAC1D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAgB,qBAAqB,CACnC,IAAmB,EACnB,QAA8B,EAC9B,MAAc,EACd,QAAiB;IAEjB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,MAAM,IAAI,GAAgB;YACxB,IAAI,EAAE,iBAAiB;YACvB,WAAW,EAAE,GAAG,CAAC,EAAE;YACnB,QAAQ;YACR,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC;QACF,IAAI,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACjC,IAAI,QAAQ,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,aAAa,EAAE,CAAC;YAClG,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,qGAAqG;AACrG,SAAgB,YAAY,CAAC,KAAc;IACzC,MAAM,CAAC,GAAG,KAKF,CAAC;IACT,MAAM,UAAU,GAAG;QACjB,CAAC,EAAE,OAAO,EAAE,IAAI;QAChB,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI;QAChC,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI;QAChC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI;QACxB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI;QACxB,CAAC,EAAE,QAAQ,EAAE,IAAI;QACjB,CAAC,EAAE,QAAQ,EAAE,IAAI;KAClB,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAI,IAAsE,EAAE,KAAK,CAAC;QAC7F,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QACtG,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,4GAA4G;AAC5G,SAAS,aAAa,CACpB,GAAsB,EACtB,KAAc,EACd,SAAiB,EACjB,UAAkB;IAElB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,2BAA2B;YAC9B,OAAO,IAAI,iCAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,wCAAwC,UAAU,EAAE,EAAE;gBACjG,SAAS;gBACT,WAAW,EACT,6GAA6G,MAAM,EAAE;aACxH,CAAC,CAAC;QACL,KAAK,qBAAqB;YACxB,OAAO,IAAI,iCAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,gDAAgD,UAAU,EAAE,EAAE;gBACzG,SAAS;gBACT,WAAW,EAAE,2EAA2E,MAAM,EAAE;aACjG,CAAC,CAAC;QACL,KAAK,yBAAyB;YAC5B,OAAO,IAAI,iCAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,YAAY,UAAU,oDAAoD,EAAE;gBACvH,SAAS;gBACT,WAAW,EAAE,gDAAgD,MAAM,EAAE;aACtE,CAAC,CAAC;QACL,KAAK,wBAAwB;YAC3B,OAAO,IAAI,iCAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,2BAA2B,UAAU,+BAA+B,EAAE;gBACjH,SAAS;gBACT,WAAW,EAAE,mEAAmE,MAAM,EAAE;aACzF,CAAC,CAAC;QACL;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,GAAsB,EAAE,SAAiB;IACrE,MAAM,GAAG,GAAG,IAAA,6BAAiB,EAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/E,MAAM,KAAK,GAAG,IAAA,6BAAiB,EAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrF,MAAM,UAAU,GAAI,GAAG,CAAC,gBAAgB,CAAC,YAAY,EAAE,SAAS,CAAY,CAAC,IAAI,EAAE,CAAC;IACpF,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAW,CAAC;IACvE,MAAM,MAAM,GAAI,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAY,CAAC,IAAI,EAAE,CAAC;IAChF,MAAM,QAAQ,GACZ,QAAQ,KAAK,SAAS,IAAK,GAAG,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,SAAS,EAAE,KAAK,CAAa,CAAC;IAC3G,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAAC,eAAe,EAAE,SAAS,EAAE,EAAE,CAAe,CAAC;IAEnF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,iCAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,yBAAyB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACpD,MAAM,IAAI,iCAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,gDAAgD,QAAQ,GAAG,EAAE;YACvG,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACjE,uFAAuF;IACvF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,iCAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,oCAAoC,UAAU,EAAE,EAAE;YAC5F,SAAS;YACT,WAAW,EACT,sFAAsF;gBACtF,uDAAuD;SAC1D,CAAC,CAAC;IACL,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,iCAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,YAAY,OAAO,CAAC,EAAE,IAAI,GAAG,2CAA2C,EAAE;YACpH,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED,mFAAmF;IACnF,gDAAgD;IAChD,MAAM,IAAI,GAAgB;QACxB,KAAK,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC;QACtC,oBAAoB,EAAE,UAAU;QAChC,KAAK,EAAE,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;KAC/D,CAAC;IAEF,IAAI,QAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,IAAA,sBAAU,EAAgB,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACrF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAEM,KAAK,UAAU,YAAY,CAEhC,SAAiB,EACjB,SAAiB;IAEjB,IAAI,SAAS,KAAK,aAAa;QAAE,OAAO,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACrE,IAAI,SAAS,KAAK,gBAAgB;QAAE,OAAO,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3E,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,4BAA4B,SAAS,EAAE,EAAE;QACpF,SAAS;KACV,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-2kw",
3
- "version": "6.2.0-dev.14",
3
+ "version": "6.2.0-dev.42",
4
4
  "description": "n8n community node for the 2kw.ai platform (engineering name: Backbone)",
5
5
  "license": "MIT",
6
6
  "author": {