n8n-nodes-2kw 5.3.0-dev.22

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 (56) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +129 -0
  3. package/dist/credentials/TwoKwApi.credentials.d.ts +9 -0
  4. package/dist/credentials/TwoKwApi.credentials.js +43 -0
  5. package/dist/credentials/TwoKwApi.credentials.js.map +1 -0
  6. package/dist/nodes/TwoKw/TwoKw.node.d.ts +9 -0
  7. package/dist/nodes/TwoKw/TwoKw.node.js +76 -0
  8. package/dist/nodes/TwoKw/TwoKw.node.js.map +1 -0
  9. package/dist/nodes/TwoKw/descriptions/document.d.ts +3 -0
  10. package/dist/nodes/TwoKw/descriptions/document.js +128 -0
  11. package/dist/nodes/TwoKw/descriptions/document.js.map +1 -0
  12. package/dist/nodes/TwoKw/descriptions/extraction.d.ts +3 -0
  13. package/dist/nodes/TwoKw/descriptions/extraction.js +173 -0
  14. package/dist/nodes/TwoKw/descriptions/extraction.js.map +1 -0
  15. package/dist/nodes/TwoKw/descriptions/index.d.ts +3 -0
  16. package/dist/nodes/TwoKw/descriptions/index.js +35 -0
  17. package/dist/nodes/TwoKw/descriptions/index.js.map +1 -0
  18. package/dist/nodes/TwoKw/descriptions/prompt.d.ts +3 -0
  19. package/dist/nodes/TwoKw/descriptions/prompt.js +113 -0
  20. package/dist/nodes/TwoKw/descriptions/prompt.js.map +1 -0
  21. package/dist/nodes/TwoKw/descriptions/schema.d.ts +3 -0
  22. package/dist/nodes/TwoKw/descriptions/schema.js +45 -0
  23. package/dist/nodes/TwoKw/descriptions/schema.js.map +1 -0
  24. package/dist/nodes/TwoKw/descriptions/transcription.d.ts +3 -0
  25. package/dist/nodes/TwoKw/descriptions/transcription.js +76 -0
  26. package/dist/nodes/TwoKw/descriptions/transcription.js.map +1 -0
  27. package/dist/nodes/TwoKw/icon.svg +4 -0
  28. package/dist/nodes/TwoKw/methods.d.ts +11 -0
  29. package/dist/nodes/TwoKw/methods.js +95 -0
  30. package/dist/nodes/TwoKw/methods.js.map +1 -0
  31. package/dist/nodes/TwoKw/operations/document.d.ts +2 -0
  32. package/dist/nodes/TwoKw/operations/document.js +64 -0
  33. package/dist/nodes/TwoKw/operations/document.js.map +1 -0
  34. package/dist/nodes/TwoKw/operations/extraction.d.ts +2 -0
  35. package/dist/nodes/TwoKw/operations/extraction.js +92 -0
  36. package/dist/nodes/TwoKw/operations/extraction.js.map +1 -0
  37. package/dist/nodes/TwoKw/operations/prompt.d.ts +2 -0
  38. package/dist/nodes/TwoKw/operations/prompt.js +48 -0
  39. package/dist/nodes/TwoKw/operations/prompt.js.map +1 -0
  40. package/dist/nodes/TwoKw/operations/schema.d.ts +2 -0
  41. package/dist/nodes/TwoKw/operations/schema.js +18 -0
  42. package/dist/nodes/TwoKw/operations/schema.js.map +1 -0
  43. package/dist/nodes/TwoKw/operations/transcription.d.ts +2 -0
  44. package/dist/nodes/TwoKw/operations/transcription.js +42 -0
  45. package/dist/nodes/TwoKw/operations/transcription.js.map +1 -0
  46. package/dist/nodes/TwoKw/polling.d.ts +8 -0
  47. package/dist/nodes/TwoKw/polling.js +17 -0
  48. package/dist/nodes/TwoKw/polling.js.map +1 -0
  49. package/dist/nodes/TwoKw/splitConvert.d.ts +10 -0
  50. package/dist/nodes/TwoKw/splitConvert.js +20 -0
  51. package/dist/nodes/TwoKw/splitConvert.js.map +1 -0
  52. package/dist/nodes/TwoKw/transport.d.ts +17 -0
  53. package/dist/nodes/TwoKw/transport.js +51 -0
  54. package/dist/nodes/TwoKw/transport.js.map +1 -0
  55. package/index.js +8 -0
  56. package/package.json +62 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025-present Manfred Kunze Dev
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,129 @@
1
+ # n8n-nodes-2kw
2
+
3
+ n8n community node for the [2kw.ai](https://2kw.ai) platform (engineering name: Backbone).
4
+
5
+ Use 2kw.ai inside n8n workflows: extract structured data with schemas, fetch and compile prompts, convert documents to markdown, transcribe audio, and append items to datasets.
6
+
7
+ ## Installation
8
+
9
+ The package is published on npm as [`n8n-nodes-2kw`](https://www.npmjs.com/package/n8n-nodes-2kw).
10
+
11
+ **In n8n (recommended).** Open *Settings → Community Nodes → Install*, enter `n8n-nodes-2kw`, accept the community-node risk prompt, and confirm. n8n installs it from npm and the **2kw** node appears in the node picker.
12
+
13
+ **Manually into `~/.n8n/custom`.** `npm install n8n-nodes-2kw` inside `~/.n8n/custom/` and restart n8n. The node loader picks it up by the `n8n` field in `package.json`.
14
+
15
+ **From source.** `cd n8n && npm install && npm run build && npm pack` produces a tarball you can point the same install dialog at. Useful for testing an unreleased change.
16
+
17
+ Releases are cut from the backbone monorepo, so the package version tracks the platform version rather than counting up on its own — see "Versioning" below.
18
+
19
+ ### Configure credentials
20
+
21
+ In n8n, open *Credentials → New → 2kw API* and provide:
22
+
23
+ - **Base URL:** `https://api.2kw.ai` (or your self-hosted Backbone URL)
24
+ - **API Key:** a personal access token created in the 2kw.ai dashboard under *Settings → API Keys*
25
+
26
+ n8n's credential test calls `GET /v1/models` against your base URL — if it succeeds, the key is valid.
27
+
28
+ ## Usage
29
+
30
+ Drop the **2kw** node into a workflow. Pick a Resource and Operation.
31
+
32
+ Schema, Prompt, Schema Version, and Prompt Label fields are **searchable dropdowns** populated from the 2kw API on demand. Switch the field to **By ID** if you want to paste a UUID or use an n8n expression instead.
33
+
34
+ | Resource | Operation | Notes |
35
+ | --- | --- | --- |
36
+ | Schema | Get | Searchable picker. Returns schema metadata + active version. |
37
+ | Prompt | Get | Searchable picker. Returns prompt metadata. |
38
+ | Prompt | Compile | Compiles a prompt with a `Variables` JSON map. Optional `Version ID` (string) or `Label` (picker, depends on prompt). |
39
+ | Prompt | Resolve | Returns the active prompt content (no variable interpolation). Optional `Label` (picker, depends on prompt). |
40
+ | Extraction | Run | Sync or async-with-polling (toggle `Wait For Completion`, default on). `Schema` and `Schema Version` are searchable pickers. |
41
+ | Extraction | Get | Look up a previous extraction by ID. |
42
+ | Extraction | Estimate | Estimate token usage + recommended strategy without running. |
43
+ | Document | Convert | Multipart upload from a binary property. `Output Formats` selects which representations to include. Returns one item per converted document. |
44
+ | Document | Convert From Source | URL or base64 (no binary upload). Same `Output Formats` + per-document item split as Convert. Pipeline option: fast / ocr / vlm. |
45
+ | Transcription | Transcribe | Multipart audio upload. Required: `Model`. Optional: `Language`, `Prompt`, `Response Format`, `Temperature`. |
46
+
47
+ ## Chat completions (via n8n's OpenAI node)
48
+
49
+ The 2kw API exposes an OpenAI-compatible `/v1/chat/completions` endpoint. To use chat models, embeddings, vision, tool calling, or n8n's AI Agent against 2kw, **use n8n's built-in OpenAI node** rather than this package — that gives you the full OpenAI surface for free.
50
+
51
+ Setup (one-time):
52
+
53
+ 1. In n8n, *Credentials → New → OpenAI*.
54
+ 2. **Base URL:** `https://api.2kw.ai/v1`
55
+ 3. **API Key:** your 2kw PAT (the same key your `2kw API` credential uses).
56
+ 4. Save.
57
+
58
+ After that, any n8n node that consumes an OpenAI credential — Chat Model, Embeddings, AI Agent, Tools — works against 2kw with no further setup. Use 2kw's `provider/model` format in the model field (e.g. `openai/gpt-4o-mini`).
59
+
60
+ ## Local development with Docker Compose
61
+
62
+ The repository's `compose.yaml` includes an off-by-default n8n service under the `n8n` profile. It bind-mounts `./n8n/dist` and `./n8n/package.json` into the container's custom-node folder so a `npm run build` is all that's needed to pick up code changes.
63
+
64
+ ```bash
65
+ cd n8n && npm install && npm run build # build the package once
66
+ docker compose --profile n8n up -d n8n # start n8n on http://localhost:5678
67
+ # iterate:
68
+ cd n8n && npm run build # after edits
69
+ docker compose --profile n8n restart n8n # reload the bind-mounted dist
70
+ ```
71
+
72
+ n8n's first launch asks you to create an owner account in the UI. After that, *Credentials → New → 2kw API* and *the* `2kw` *node* are immediately available.
73
+
74
+ ## Smoke test (required before each release)
75
+
76
+ 1. Build the package: `cd n8n && npm install && npm run build`.
77
+ 2. Either install a locally packed tarball into your existing n8n, **or** start the local Docker n8n: `docker compose --profile n8n up -d n8n`.
78
+ 3. Configure a `2kw API` credential pointing at dev backbone with your API key.
79
+ 4. Build a 2-node workflow: a manual trigger → 2kw (Schema → Get) using a known schema ID. Run it. Confirm the output JSON contains the schema definition.
80
+ 5. Repeat with `Extraction → Run` against a small schema and a one-line `inputText`. Confirm the output contains a result object.
81
+
82
+ ## Versioning
83
+
84
+ The published version is the backbone platform version, stamped by release CI — the same scheme `@2kw/ai` (CLI) and `@2kw/ai-mcp-server` already use. The `version` field committed here is a placeholder and is never what ships.
85
+
86
+ The first npm release therefore jumps from the internal `0.3.0` to the platform's current major. There were no `1.x`–`4.x` releases of this node; the numbers are shared with the platform, not skipped.
87
+
88
+ Prereleases publish under the `dev` dist-tag (`npm install n8n-nodes-2kw@dev`), stable releases under `latest`.
89
+
90
+ ## Changelog
91
+
92
+ Entries below `1.0.0` predate npm publication and use the node's own numbering.
93
+
94
+ ### 0.3.0
95
+ - Resource locators for Schema, Prompt, Schema Version, Prompt Label (searchable dropdowns).
96
+ - Document conversion: `Output Formats` multi-select (`MD`, `TEXT`, `JSON`, `HTML`); response split into one n8n item per converted document.
97
+ - **Breaking:** removed Dataset resource. Workflows using `Dataset.AppendItem` will fail to load. Replace with a generic HTTP Request node hitting `POST /v1/datasets/{id}/versions/{versionId}/items`.
98
+
99
+ ### 0.2.0
100
+ - Added Extraction.Get, Extraction.Estimate, Prompt.Resolve, Document.Convert From Source.
101
+ - Extraction.Run gained `Wait For Completion` toggle (default on) — submits to async + polls.
102
+
103
+ ### 0.1.0
104
+ - Initial release: Schema.Get, Prompt.Get/Compile, Extraction.Run (sync), Document.Convert, Transcription.Transcribe, Dataset.AppendItem.
105
+
106
+ ## Roadmap
107
+
108
+ - n8n verified-community-node submission.
109
+ - Trigger nodes (require backend webhook events).
110
+ - Async document conversion + Wait For Completion (sync covers most cases today).
111
+
112
+ ## Development
113
+
114
+ Source of truth is the `n8n/` directory of the backbone monorepo. `github.com/2kw-ai/n8n-nodes-2kw` is a **one-way mirror written only by release CI** — pull requests and direct commits there are overwritten by the next release. Report issues there; send patches against the monorepo.
115
+
116
+ ```bash
117
+ cd n8n
118
+ npm install
119
+ npm run sync-types # copy OpenAPI types from mcp/
120
+ npm run dev # tsc --watch
121
+ npm test # vitest
122
+ npm run build # tsc + gulp icons
123
+ ```
124
+
125
+ Type drift check fails the build if `generated/openapi.d.ts` no longer matches `mcp/src/generated/openapi.d.ts`. Run `npm run sync-types` after any MCP regeneration. In a standalone checkout of the mirror there is no `mcp/` to compare against, so the check accepts the committed copy and the drift guard runs in the monorepo pipeline only.
126
+
127
+ ## License
128
+
129
+ MIT — see [LICENSE](LICENSE). Note that this applies to the n8n node package only; the rest of the 2kw.ai platform is proprietary.
@@ -0,0 +1,9 @@
1
+ import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class TwoKwApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ properties: INodeProperties[];
7
+ authenticate: IAuthenticateGeneric;
8
+ test: ICredentialTestRequest;
9
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TwoKwApi = void 0;
4
+ class TwoKwApi {
5
+ name = '2kwApi';
6
+ displayName = '2kw API';
7
+ documentationUrl = 'https://docs.2kw.ai';
8
+ properties = [
9
+ {
10
+ displayName: 'Base URL',
11
+ name: 'baseUrl',
12
+ type: 'string',
13
+ default: 'https://api.2kw.ai',
14
+ description: 'Base URL of the 2kw.ai API. Override for self-hosted Backbone.',
15
+ },
16
+ {
17
+ displayName: 'API Key',
18
+ name: 'apiKey',
19
+ type: 'string',
20
+ typeOptions: { password: true },
21
+ default: '',
22
+ required: true,
23
+ description: 'Personal access token (Bearer). Created in the 2kw.ai dashboard under Settings → API Keys.',
24
+ },
25
+ ];
26
+ authenticate = {
27
+ type: 'generic',
28
+ properties: {
29
+ headers: {
30
+ Authorization: '=Bearer {{$credentials.apiKey}}',
31
+ },
32
+ },
33
+ };
34
+ test = {
35
+ request: {
36
+ baseURL: '={{$credentials.baseUrl}}',
37
+ url: '/v1/models',
38
+ method: 'GET',
39
+ },
40
+ };
41
+ }
42
+ exports.TwoKwApi = TwoKwApi;
43
+ //# sourceMappingURL=TwoKwApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TwoKwApi.credentials.js","sourceRoot":"","sources":["../../credentials/TwoKwApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,QAAQ;IACnB,IAAI,GAAG,QAAQ,CAAC;IAChB,WAAW,GAAG,SAAS,CAAC;IACxB,gBAAgB,GAAG,qBAAqB,CAAC;IAEzC,UAAU,GAAsB;QAC9B;YACE,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,oBAAoB;YAC7B,WAAW,EAAE,gEAAgE;SAC9E;QACD;YACE,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC/B,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,4FAA4F;SAC1G;KACF,CAAC;IAEF,YAAY,GAAyB;QACnC,IAAI,EAAE,SAAS;QACf,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,aAAa,EAAE,iCAAiC;aACjD;SACF;KACF,CAAC;IAEF,IAAI,GAA2B;QAC7B,OAAO,EAAE;YACP,OAAO,EAAE,2BAA2B;YACpC,GAAG,EAAE,YAAY;YACjB,MAAM,EAAE,KAAK;SACd;KACF,CAAC;CACH;AAxCD,4BAwCC"}
@@ -0,0 +1,9 @@
1
+ import { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ type ResourceHandler = (this: IExecuteFunctions, itemIndex: number, operation: string) => Promise<INodeExecutionData[]>;
3
+ export declare function registerResource(name: string, handler: ResourceHandler): void;
4
+ export declare class TwoKw implements INodeType {
5
+ description: INodeTypeDescription;
6
+ methods: INodeType["methods"];
7
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
8
+ }
9
+ export {};
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TwoKw = void 0;
4
+ exports.registerResource = registerResource;
5
+ const n8n_workflow_1 = require("n8n-workflow");
6
+ const descriptions_1 = require("./descriptions");
7
+ const methods_1 = require("./methods");
8
+ const schema_1 = require("./operations/schema");
9
+ const prompt_1 = require("./operations/prompt");
10
+ const extraction_1 = require("./operations/extraction");
11
+ const document_1 = require("./operations/document");
12
+ const transcription_1 = require("./operations/transcription");
13
+ const resourceHandlers = {};
14
+ function registerResource(name, handler) {
15
+ resourceHandlers[name] = handler;
16
+ }
17
+ class TwoKw {
18
+ description = {
19
+ displayName: '2kw',
20
+ name: 'twoKw',
21
+ icon: 'file:icon.svg',
22
+ group: ['transform'],
23
+ version: 1,
24
+ subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
25
+ description: 'Use 2kw.ai (Backbone) for AI extraction, prompts, and more',
26
+ defaults: { name: '2kw' },
27
+ inputs: ['main'],
28
+ outputs: ['main'],
29
+ credentials: [{ name: '2kwApi', required: true }],
30
+ properties: [descriptions_1.resourceField, ...descriptions_1.resourceProperties],
31
+ };
32
+ methods = methods_1.methods;
33
+ async execute() {
34
+ const items = this.getInputData();
35
+ const returnData = [];
36
+ for (let i = 0; i < items.length; i++) {
37
+ try {
38
+ const resource = this.getNodeParameter('resource', i);
39
+ const operation = this.getNodeParameter('operation', i);
40
+ const handler = resourceHandlers[resource];
41
+ if (!handler) {
42
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Unknown resource: ${resource}`, {
43
+ itemIndex: i,
44
+ });
45
+ }
46
+ const result = await handler.call(this, i, operation);
47
+ returnData.push(...result);
48
+ }
49
+ catch (error) {
50
+ if (this.continueOnFail()) {
51
+ returnData.push({ json: { error: error.message }, pairedItem: i });
52
+ continue;
53
+ }
54
+ throw error;
55
+ }
56
+ }
57
+ return [returnData];
58
+ }
59
+ }
60
+ exports.TwoKw = TwoKw;
61
+ registerResource('schema', async function (itemIndex, operation) {
62
+ return schema_1.executeSchema.call(this, itemIndex, operation);
63
+ });
64
+ registerResource('prompt', async function (itemIndex, operation) {
65
+ return prompt_1.executePrompt.call(this, itemIndex, operation);
66
+ });
67
+ registerResource('extraction', async function (itemIndex, operation) {
68
+ return extraction_1.executeExtraction.call(this, itemIndex, operation);
69
+ });
70
+ registerResource('document', async function (itemIndex, operation) {
71
+ return document_1.executeDocument.call(this, itemIndex, operation);
72
+ });
73
+ registerResource('transcription', async function (itemIndex, operation) {
74
+ return transcription_1.executeTranscription.call(this, itemIndex, operation);
75
+ });
76
+ //# sourceMappingURL=TwoKw.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TwoKw.node.js","sourceRoot":"","sources":["../../../nodes/TwoKw/TwoKw.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { INodeProperties } from 'n8n-workflow';
2
+ export declare const documentOperations: INodeProperties;
3
+ export declare const documentFields: INodeProperties[];
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.documentFields = exports.documentOperations = void 0;
4
+ exports.documentOperations = {
5
+ displayName: 'Operation',
6
+ name: 'operation',
7
+ type: 'options',
8
+ noDataExpression: true,
9
+ displayOptions: { show: { resource: ['document'] } },
10
+ default: 'convert',
11
+ options: [
12
+ {
13
+ name: 'Convert',
14
+ value: 'convert',
15
+ description: 'Convert a document (PDF, DOCX, XLSX, etc.) to markdown',
16
+ action: 'Convert a document',
17
+ },
18
+ {
19
+ name: 'Convert From Source',
20
+ value: 'convertSource',
21
+ description: 'Convert a document from a URL or base64 string (no binary upload)',
22
+ action: 'Convert from source',
23
+ },
24
+ ],
25
+ };
26
+ exports.documentFields = [
27
+ {
28
+ displayName: 'Binary Property Name',
29
+ name: 'binaryPropertyName',
30
+ type: 'string',
31
+ required: true,
32
+ default: 'data',
33
+ description: 'Name of the binary property on the input item to upload',
34
+ displayOptions: { show: { resource: ['document'], operation: ['convert'] } },
35
+ },
36
+ {
37
+ displayName: 'Source Type',
38
+ name: 'sourceType',
39
+ type: 'options',
40
+ default: 'url',
41
+ options: [
42
+ { name: 'URL', value: 'url' },
43
+ { name: 'Base64', value: 'base64' },
44
+ ],
45
+ displayOptions: { show: { resource: ['document'], operation: ['convertSource'] } },
46
+ },
47
+ {
48
+ displayName: 'URL',
49
+ name: 'sourceUrl',
50
+ type: 'string',
51
+ default: '',
52
+ required: true,
53
+ displayOptions: {
54
+ show: { resource: ['document'], operation: ['convertSource'], sourceType: ['url'] },
55
+ },
56
+ },
57
+ {
58
+ displayName: 'Headers',
59
+ name: 'sourceHeaders',
60
+ type: 'json',
61
+ default: '{}',
62
+ description: 'Optional HTTP headers (JSON object)',
63
+ displayOptions: {
64
+ show: { resource: ['document'], operation: ['convertSource'], sourceType: ['url'] },
65
+ },
66
+ },
67
+ {
68
+ displayName: 'Data (Base64)',
69
+ name: 'sourceData',
70
+ type: 'string',
71
+ default: '',
72
+ required: true,
73
+ description: 'Base64-encoded file contents',
74
+ displayOptions: {
75
+ show: { resource: ['document'], operation: ['convertSource'], sourceType: ['base64'] },
76
+ },
77
+ },
78
+ {
79
+ displayName: 'MIME Type',
80
+ name: 'sourceMimeType',
81
+ type: 'string',
82
+ default: 'application/pdf',
83
+ required: true,
84
+ displayOptions: {
85
+ show: { resource: ['document'], operation: ['convertSource'], sourceType: ['base64'] },
86
+ },
87
+ },
88
+ {
89
+ displayName: 'Filename',
90
+ name: 'sourceFilename',
91
+ type: 'string',
92
+ default: 'document',
93
+ required: true,
94
+ displayOptions: {
95
+ show: { resource: ['document'], operation: ['convertSource'], sourceType: ['base64'] },
96
+ },
97
+ },
98
+ {
99
+ displayName: 'Pipeline',
100
+ name: 'pipeline',
101
+ type: 'options',
102
+ default: 'fast',
103
+ options: [
104
+ { name: 'Fast', value: 'fast' },
105
+ { name: 'OCR', value: 'ocr' },
106
+ { name: 'VLM', value: 'vlm' },
107
+ ],
108
+ description: 'fast (text-heavy), ocr (scanned), vlm (image-heavy / complex layout)',
109
+ displayOptions: { show: { resource: ['document'], operation: ['convertSource'] } },
110
+ },
111
+ {
112
+ displayName: 'Output Formats',
113
+ name: 'outputFormats',
114
+ type: 'multiOptions',
115
+ default: ['MD'],
116
+ description: 'Which content representations to include on each document item',
117
+ options: [
118
+ { name: 'Markdown', value: 'MD' },
119
+ { name: 'Plain Text', value: 'TEXT' },
120
+ { name: 'JSON', value: 'JSON' },
121
+ { name: 'HTML', value: 'HTML' },
122
+ ],
123
+ displayOptions: {
124
+ show: { resource: ['document'], operation: ['convert', 'convertSource'] },
125
+ },
126
+ },
127
+ ];
128
+ //# sourceMappingURL=document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../nodes/TwoKw/descriptions/document.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { INodeProperties } from 'n8n-workflow';
2
+ export declare const extractionOperations: INodeProperties;
3
+ export declare const extractionFields: INodeProperties[];
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractionFields = exports.extractionOperations = void 0;
4
+ exports.extractionOperations = {
5
+ displayName: 'Operation',
6
+ name: 'operation',
7
+ type: 'options',
8
+ noDataExpression: true,
9
+ displayOptions: { show: { resource: ['extraction'] } },
10
+ default: 'run',
11
+ options: [
12
+ {
13
+ name: 'Run',
14
+ value: 'run',
15
+ description: 'Extract structured data using a schema',
16
+ action: 'Run an extraction',
17
+ },
18
+ {
19
+ name: 'Get',
20
+ value: 'get',
21
+ description: 'Look up an existing extraction by ID',
22
+ action: 'Get an extraction',
23
+ },
24
+ {
25
+ name: 'Estimate',
26
+ value: 'estimate',
27
+ description: 'Estimate token usage for an extraction without running it',
28
+ action: 'Estimate extraction tokens',
29
+ },
30
+ ],
31
+ };
32
+ const schemaResourceLocator = (operationScope) => ({
33
+ displayName: 'Schema',
34
+ name: 'schema',
35
+ type: 'resourceLocator',
36
+ default: { mode: 'list', value: '' },
37
+ required: true,
38
+ displayOptions: { show: { resource: ['extraction'], operation: operationScope } },
39
+ description: 'Pick from a list or paste a schema ID',
40
+ modes: [
41
+ {
42
+ displayName: 'From List',
43
+ name: 'list',
44
+ type: 'list',
45
+ typeOptions: { searchListMethod: 'searchSchemas', searchable: true },
46
+ },
47
+ {
48
+ displayName: 'By ID',
49
+ name: 'id',
50
+ type: 'string',
51
+ placeholder: '78af6e26-30b4-4677-bb3f-a2494444380c',
52
+ },
53
+ ],
54
+ });
55
+ const schemaVersionResourceLocator = (operationScope) => ({
56
+ displayName: 'Schema Version',
57
+ name: 'schemaVersion',
58
+ type: 'resourceLocator',
59
+ default: { mode: 'list', value: '' },
60
+ description: 'Optional. Leave empty for the latest active version. Pick a specific version, a label, or paste an ID. Depends on selected Schema.',
61
+ displayOptions: { show: { resource: ['extraction'], operation: operationScope } },
62
+ modes: [
63
+ {
64
+ displayName: 'From Versions',
65
+ name: 'list',
66
+ type: 'list',
67
+ typeOptions: { searchListMethod: 'searchSchemaVersions', searchable: false },
68
+ },
69
+ {
70
+ displayName: 'From Labels',
71
+ name: 'label',
72
+ type: 'list',
73
+ typeOptions: { searchListMethod: 'searchSchemaLabels', searchable: false },
74
+ },
75
+ {
76
+ displayName: 'By ID',
77
+ name: 'id',
78
+ type: 'string',
79
+ placeholder: '32d956ac-401d-43e7-9dcc-01c672e8f717',
80
+ },
81
+ ],
82
+ });
83
+ exports.extractionFields = [
84
+ // Run op fields
85
+ schemaResourceLocator(['run']),
86
+ schemaVersionResourceLocator(['run']),
87
+ {
88
+ displayName: 'Model',
89
+ name: 'model',
90
+ type: 'string',
91
+ required: true,
92
+ default: 'openai/gpt-4o',
93
+ description: 'Format: provider/model (e.g. openai/gpt-4o)',
94
+ displayOptions: { show: { resource: ['extraction'], operation: ['run'] } },
95
+ },
96
+ {
97
+ displayName: 'Input Text',
98
+ name: 'inputText',
99
+ type: 'string',
100
+ typeOptions: { rows: 6 },
101
+ default: '',
102
+ displayOptions: { show: { resource: ['extraction'], operation: ['run'] } },
103
+ },
104
+ {
105
+ displayName: 'Use Binary Images',
106
+ name: 'useBinaryImages',
107
+ type: 'boolean',
108
+ default: false,
109
+ description: 'Read images from binary properties on the input item (vision extraction)',
110
+ displayOptions: { show: { resource: ['extraction'], operation: ['run'] } },
111
+ },
112
+ {
113
+ displayName: 'Binary Properties',
114
+ name: 'binaryProperties',
115
+ type: 'string',
116
+ default: 'data',
117
+ description: 'Comma-separated list of binary property names (max 10)',
118
+ displayOptions: {
119
+ show: { resource: ['extraction'], operation: ['run'], useBinaryImages: [true] },
120
+ },
121
+ },
122
+ {
123
+ displayName: 'Wait For Completion',
124
+ name: 'waitForCompletion',
125
+ type: 'boolean',
126
+ default: true,
127
+ description: 'Submit asynchronously and poll until the extraction completes. Recommended for documents that take longer than ~30 seconds.',
128
+ displayOptions: { show: { resource: ['extraction'], operation: ['run'] } },
129
+ },
130
+ {
131
+ displayName: 'Poll Interval (S)',
132
+ name: 'pollIntervalSec',
133
+ type: 'number',
134
+ default: 2,
135
+ description: 'How often to poll the extraction status (seconds)',
136
+ displayOptions: {
137
+ show: { resource: ['extraction'], operation: ['run'], waitForCompletion: [true] },
138
+ },
139
+ },
140
+ {
141
+ displayName: 'Poll Timeout (S)',
142
+ name: 'pollTimeoutSec',
143
+ type: 'number',
144
+ default: 600,
145
+ description: 'Maximum time to wait for completion (seconds). Default: 600 (10 min).',
146
+ displayOptions: {
147
+ show: { resource: ['extraction'], operation: ['run'], waitForCompletion: [true] },
148
+ },
149
+ },
150
+ // Get op fields
151
+ {
152
+ displayName: 'Extraction ID',
153
+ name: 'extractionId',
154
+ type: 'string',
155
+ required: true,
156
+ default: '',
157
+ displayOptions: { show: { resource: ['extraction'], operation: ['get'] } },
158
+ description: 'ID of the extraction to retrieve',
159
+ },
160
+ // Estimate op fields
161
+ schemaResourceLocator(['estimate']),
162
+ schemaVersionResourceLocator(['estimate']),
163
+ {
164
+ displayName: 'Input Text',
165
+ name: 'estimateInputText',
166
+ type: 'string',
167
+ typeOptions: { rows: 6 },
168
+ required: true,
169
+ default: '',
170
+ displayOptions: { show: { resource: ['extraction'], operation: ['estimate'] } },
171
+ },
172
+ ];
173
+ //# sourceMappingURL=extraction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extraction.js","sourceRoot":"","sources":["../../../../nodes/TwoKw/descriptions/extraction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { INodeProperties } from 'n8n-workflow';
2
+ export declare const resourceField: INodeProperties;
3
+ export declare const resourceProperties: INodeProperties[];