node-type-registry 0.33.1 → 0.35.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/blueprint-types.generated.d.ts +256 -59
- package/blueprint-types.generated.js +30 -0
- package/codegen/generate-types.js +3 -1
- package/data/data-aggregate-limit-counter.d.ts +1 -1
- package/data/data-aggregate-limit-counter.js +4 -4
- package/data/data-billing-meter.d.ts +1 -1
- package/data/data-billing-meter.js +4 -4
- package/data/data-bulk.d.ts +2 -0
- package/data/data-bulk.js +40 -0
- package/data/data-chunks.d.ts +2 -2
- package/data/data-chunks.js +6 -6
- package/data/data-feature-flag.d.ts +1 -1
- package/data/data-feature-flag.js +4 -4
- package/data/data-file-embedding.d.ts +1 -1
- package/data/data-file-embedding.js +8 -27
- package/data/data-image-embedding.d.ts +4 -4
- package/data/data-image-embedding.js +13 -31
- package/data/data-job-trigger.d.ts +1 -1
- package/data/data-job-trigger.js +4 -4
- package/data/data-limit-counter.d.ts +1 -1
- package/data/data-limit-counter.js +4 -4
- package/data/index.d.ts +11 -8
- package/data/index.js +15 -9
- package/data/process-extraction.d.ts +14 -0
- package/data/process-extraction.js +108 -0
- package/data/process-image-versions.d.ts +15 -0
- package/data/process-image-versions.js +139 -0
- package/data/search-vector.js +1 -16
- package/esm/blueprint-types.generated.d.ts +256 -59
- package/esm/blueprint-types.generated.js +30 -0
- package/esm/codegen/generate-types.js +3 -1
- package/esm/data/data-aggregate-limit-counter.d.ts +1 -1
- package/esm/data/data-aggregate-limit-counter.js +3 -3
- package/esm/data/data-billing-meter.d.ts +1 -1
- package/esm/data/data-billing-meter.js +3 -3
- package/esm/data/data-bulk.d.ts +2 -0
- package/esm/data/data-bulk.js +37 -0
- package/esm/data/data-chunks.d.ts +2 -2
- package/esm/data/data-chunks.js +5 -5
- package/esm/data/data-feature-flag.d.ts +1 -1
- package/esm/data/data-feature-flag.js +3 -3
- package/esm/data/data-file-embedding.d.ts +1 -1
- package/esm/data/data-file-embedding.js +7 -26
- package/esm/data/data-image-embedding.d.ts +4 -4
- package/esm/data/data-image-embedding.js +12 -30
- package/esm/data/data-job-trigger.d.ts +1 -1
- package/esm/data/data-job-trigger.js +3 -3
- package/esm/data/data-limit-counter.d.ts +1 -1
- package/esm/data/data-limit-counter.js +3 -3
- package/esm/data/index.d.ts +11 -8
- package/esm/data/index.js +11 -8
- package/esm/data/process-extraction.d.ts +14 -0
- package/esm/data/process-extraction.js +105 -0
- package/esm/data/process-image-versions.d.ts +15 -0
- package/esm/data/process-image-versions.js +136 -0
- package/esm/data/search-vector.js +1 -16
- package/esm/module-presets/auth-hardened.js +4 -2
- package/esm/module-presets/b2b-storage.js +4 -2
- package/esm/module-presets/b2b.js +4 -2
- package/module-presets/auth-hardened.js +4 -2
- package/module-presets/b2b-storage.js +4 -2
- package/module-presets/b2b.js +4 -2
- package/package.json +2 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { NodeTypeDefinition } from '../types';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const LimitFeatureFlag: NodeTypeDefinition;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.
|
|
5
|
-
name: '
|
|
3
|
+
exports.LimitFeatureFlag = void 0;
|
|
4
|
+
exports.LimitFeatureFlag = {
|
|
5
|
+
name: 'LimitFeatureFlag',
|
|
6
6
|
slug: 'data_feature_flag',
|
|
7
|
-
category: '
|
|
7
|
+
category: 'limit',
|
|
8
8
|
display_name: 'Feature Flag',
|
|
9
9
|
description: 'Gates a table behind a feature flag backed by the cap tables. Attaches a BEFORE INSERT trigger that checks whether the named feature cap value is > 0. Features are modeled as caps with max=0 (disabled) or max=1 (enabled) in limit_caps / limit_caps_defaults tables. Resolution: COALESCE(per-entity cap, scope default, 0).',
|
|
10
10
|
parameter_schema: {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { NodeTypeDefinition } from '../types';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const ProcessFileEmbedding: NodeTypeDefinition;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.
|
|
5
|
-
name: '
|
|
3
|
+
exports.ProcessFileEmbedding = void 0;
|
|
4
|
+
exports.ProcessFileEmbedding = {
|
|
5
|
+
name: 'ProcessFileEmbedding',
|
|
6
6
|
slug: 'data_file_embedding',
|
|
7
|
-
category: '
|
|
7
|
+
category: 'process',
|
|
8
8
|
display_name: 'File Embedding',
|
|
9
9
|
description: 'Generic, MIME-scoped embedding node for file tables. Supports two modes: ' +
|
|
10
10
|
'direct (whole-file to single vector, e.g. CLIP for images) when extraction ' +
|
|
11
11
|
'is omitted, or extract (file to text to chunks to per-chunk vectors) when ' +
|
|
12
|
-
'extraction config is provided. Composes SearchVector +
|
|
13
|
-
'
|
|
12
|
+
'extraction config is provided. Composes SearchVector + JobTrigger + ' +
|
|
13
|
+
'ProcessChunks (enabled by default in extract mode) internally. Multiple ' +
|
|
14
14
|
'instances can coexist on the same table with different MIME scopes, field ' +
|
|
15
15
|
'names, and embedding strategies.',
|
|
16
16
|
parameter_schema: {
|
|
@@ -106,25 +106,19 @@ exports.DataFileEmbedding = {
|
|
|
106
106
|
format: 'column-ref',
|
|
107
107
|
description: 'JSONB field for extraction metadata (page count, language, etc.)',
|
|
108
108
|
default: 'extracted_metadata'
|
|
109
|
-
},
|
|
110
|
-
status_field: {
|
|
111
|
-
type: 'string',
|
|
112
|
-
format: 'column-ref',
|
|
113
|
-
description: 'Extraction lifecycle status field',
|
|
114
|
-
default: 'extraction_status'
|
|
115
109
|
}
|
|
116
110
|
}
|
|
117
111
|
},
|
|
118
112
|
// ── Chunking (enabled by default in extract mode) ──────────────
|
|
119
113
|
include_chunks: {
|
|
120
114
|
type: 'boolean',
|
|
121
|
-
description: 'Whether to create a chunks table via
|
|
115
|
+
description: 'Whether to create a chunks table via ProcessChunks. Defaults to true ' +
|
|
122
116
|
'when extraction is provided, false in direct mode. Set explicitly ' +
|
|
123
117
|
'to override.',
|
|
124
118
|
},
|
|
125
119
|
chunks: {
|
|
126
120
|
type: 'object',
|
|
127
|
-
description: 'Chunking configuration passed through to
|
|
121
|
+
description: 'Chunking configuration passed through to ProcessChunks. When ' +
|
|
128
122
|
'include_chunks is true (or defaults to true in extract mode), these ' +
|
|
129
123
|
'params configure the chunks table, embedding dimensions, strategy, etc.',
|
|
130
124
|
properties: {
|
|
@@ -166,19 +160,6 @@ exports.DataFileEmbedding = {
|
|
|
166
160
|
default: 'generate_chunks'
|
|
167
161
|
}
|
|
168
162
|
}
|
|
169
|
-
},
|
|
170
|
-
// ── Stale tracking (meaningful in extract mode) ────────────────
|
|
171
|
-
stale_strategy: {
|
|
172
|
-
type: 'string',
|
|
173
|
-
enum: ['column', 'null', 'hash'],
|
|
174
|
-
description: 'Strategy for tracking embedding staleness when extraction is enabled. ' +
|
|
175
|
-
'column: embedding_stale boolean. null: set embedding to NULL. hash: md5 hash.',
|
|
176
|
-
default: 'column'
|
|
177
|
-
},
|
|
178
|
-
include_stale_field: {
|
|
179
|
-
type: 'boolean',
|
|
180
|
-
description: 'Whether to include the embedding_stale boolean field (extract mode)',
|
|
181
|
-
default: true
|
|
182
163
|
}
|
|
183
164
|
}
|
|
184
165
|
},
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { NodeTypeDefinition } from '../types';
|
|
2
2
|
/**
|
|
3
|
-
* Image-specific preset of
|
|
3
|
+
* Image-specific preset of ProcessFileEmbedding.
|
|
4
4
|
*
|
|
5
5
|
* At the SQL layer, data_image_embedding delegates entirely to
|
|
6
6
|
* data_file_embedding, merging image-specific defaults before forwarding.
|
|
7
|
-
* The parameter schema here is intentionally identical to
|
|
7
|
+
* The parameter schema here is intentionally identical to ProcessFileEmbedding;
|
|
8
8
|
* only the defaults differ (dimensions: 512, task: process_image_embedding,
|
|
9
9
|
* mime_patterns: ['image/%']).
|
|
10
10
|
*
|
|
11
11
|
* Kept as a separate node type for backward compatibility — existing
|
|
12
|
-
* blueprints that reference
|
|
12
|
+
* blueprints that reference ProcessImageEmbedding continue to work unchanged.
|
|
13
13
|
*/
|
|
14
|
-
export declare const
|
|
14
|
+
export declare const ProcessImageEmbedding: NodeTypeDefinition;
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.ProcessImageEmbedding = void 0;
|
|
4
4
|
/**
|
|
5
|
-
* Image-specific preset of
|
|
5
|
+
* Image-specific preset of ProcessFileEmbedding.
|
|
6
6
|
*
|
|
7
7
|
* At the SQL layer, data_image_embedding delegates entirely to
|
|
8
8
|
* data_file_embedding, merging image-specific defaults before forwarding.
|
|
9
|
-
* The parameter schema here is intentionally identical to
|
|
9
|
+
* The parameter schema here is intentionally identical to ProcessFileEmbedding;
|
|
10
10
|
* only the defaults differ (dimensions: 512, task: process_image_embedding,
|
|
11
11
|
* mime_patterns: ['image/%']).
|
|
12
12
|
*
|
|
13
13
|
* Kept as a separate node type for backward compatibility — existing
|
|
14
|
-
* blueprints that reference
|
|
14
|
+
* blueprints that reference ProcessImageEmbedding continue to work unchanged.
|
|
15
15
|
*/
|
|
16
|
-
exports.
|
|
17
|
-
name: '
|
|
16
|
+
exports.ProcessImageEmbedding = {
|
|
17
|
+
name: 'ProcessImageEmbedding',
|
|
18
18
|
slug: 'data_image_embedding',
|
|
19
|
-
category: '
|
|
19
|
+
category: 'process',
|
|
20
20
|
display_name: 'Image Embedding',
|
|
21
|
-
description: 'Image-specific preset of
|
|
21
|
+
description: 'Image-specific preset of ProcessFileEmbedding. Delegates to ProcessFileEmbedding ' +
|
|
22
22
|
'with image-oriented defaults: dimensions=512 (CLIP), mime_patterns=[\'image/%\'], ' +
|
|
23
23
|
'task_identifier=\'process_image_embedding\', direct mode (no extraction). ' +
|
|
24
|
-
'Accepts all
|
|
24
|
+
'Accepts all ProcessFileEmbedding parameters — any overrides are forwarded through.',
|
|
25
25
|
parameter_schema: {
|
|
26
26
|
type: 'object',
|
|
27
27
|
properties: {
|
|
28
|
-
// ── Vector config (passed through to
|
|
28
|
+
// ── Vector config (passed through to ProcessFileEmbedding) ──────────
|
|
29
29
|
field_name: {
|
|
30
30
|
type: 'string',
|
|
31
31
|
format: 'column-ref',
|
|
@@ -96,7 +96,7 @@ exports.DataImageEmbedding = {
|
|
|
96
96
|
// ── Extraction config (optional — enables extract mode) ────────
|
|
97
97
|
extraction: {
|
|
98
98
|
type: 'object',
|
|
99
|
-
description: 'Text extraction configuration. Forwarded to
|
|
99
|
+
description: 'Text extraction configuration. Forwarded to ProcessFileEmbedding. ' +
|
|
100
100
|
'When present, enables extract mode (e.g., OCR for images).',
|
|
101
101
|
properties: {
|
|
102
102
|
text_field: {
|
|
@@ -110,19 +110,13 @@ exports.DataImageEmbedding = {
|
|
|
110
110
|
format: 'column-ref',
|
|
111
111
|
description: 'JSONB field for extraction metadata',
|
|
112
112
|
default: 'extracted_metadata'
|
|
113
|
-
},
|
|
114
|
-
status_field: {
|
|
115
|
-
type: 'string',
|
|
116
|
-
format: 'column-ref',
|
|
117
|
-
description: 'Extraction lifecycle status field',
|
|
118
|
-
default: 'extraction_status'
|
|
119
113
|
}
|
|
120
114
|
}
|
|
121
115
|
},
|
|
122
|
-
// ── Chunking config (optional — forwarded to
|
|
116
|
+
// ── Chunking config (optional — forwarded to ProcessFileEmbedding) ─
|
|
123
117
|
chunks: {
|
|
124
118
|
type: 'object',
|
|
125
|
-
description: 'Chunking configuration. Forwarded to
|
|
119
|
+
description: 'Chunking configuration. Forwarded to ProcessFileEmbedding. ' +
|
|
126
120
|
'Only meaningful when extraction is also provided.',
|
|
127
121
|
properties: {
|
|
128
122
|
content_field_name: {
|
|
@@ -141,18 +135,6 @@ exports.DataImageEmbedding = {
|
|
|
141
135
|
enqueue_chunking_job: { type: 'boolean', default: true },
|
|
142
136
|
chunking_task_name: { type: 'string', default: 'generate_chunks' }
|
|
143
137
|
}
|
|
144
|
-
},
|
|
145
|
-
// ── Stale tracking (forwarded to DataFileEmbedding) ────────────
|
|
146
|
-
stale_strategy: {
|
|
147
|
-
type: 'string',
|
|
148
|
-
enum: ['column', 'null', 'hash'],
|
|
149
|
-
description: 'Strategy for tracking embedding staleness in extract mode',
|
|
150
|
-
default: 'column'
|
|
151
|
-
},
|
|
152
|
-
include_stale_field: {
|
|
153
|
-
type: 'boolean',
|
|
154
|
-
description: 'Whether to include the embedding_stale boolean field',
|
|
155
|
-
default: true
|
|
156
138
|
}
|
|
157
139
|
}
|
|
158
140
|
},
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { NodeTypeDefinition } from '../types';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const JobTrigger: NodeTypeDefinition;
|
package/data/data-job-trigger.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.JobTrigger = void 0;
|
|
4
4
|
const triggerConditionSchema = {
|
|
5
5
|
type: 'object',
|
|
6
6
|
description: 'A leaf condition ({field, op, value?, row?, ref?}) or a combinator ({AND, OR, NOT}).',
|
|
@@ -26,10 +26,10 @@ const triggerConditionSchema = {
|
|
|
26
26
|
NOT: { $ref: '#/$defs/triggerCondition', description: 'Negated condition.' }
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
|
-
exports.
|
|
30
|
-
name: '
|
|
29
|
+
exports.JobTrigger = {
|
|
30
|
+
name: 'JobTrigger',
|
|
31
31
|
slug: 'data_job_trigger',
|
|
32
|
-
category: '
|
|
32
|
+
category: 'job',
|
|
33
33
|
display_name: 'Job Trigger',
|
|
34
34
|
description: 'Dynamically creates PostgreSQL triggers that enqueue jobs via app_jobs.add_job() when table rows are inserted, updated, or deleted. Supports configurable payload strategies (full row, row ID, selected fields, or custom mapping), conditional firing via WHEN clauses, watched field changes, and extended job options (queue, priority, delay, max attempts).',
|
|
35
35
|
parameter_schema: {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { NodeTypeDefinition } from '../types';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const LimitCounter: NodeTypeDefinition;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.
|
|
5
|
-
name: '
|
|
3
|
+
exports.LimitCounter = void 0;
|
|
4
|
+
exports.LimitCounter = {
|
|
5
|
+
name: 'LimitCounter',
|
|
6
6
|
slug: 'data_limit_counter',
|
|
7
|
-
category: '
|
|
7
|
+
category: 'limit',
|
|
8
8
|
display_name: 'Limit Counter',
|
|
9
9
|
description: 'Declaratively attaches limit-tracking triggers to a table. On INSERT the named limit is incremented; on DELETE it is decremented. Requires a provisioned limits_module for the target scope.',
|
|
10
10
|
parameter_schema: {
|
package/data/index.d.ts
CHANGED
|
@@ -2,24 +2,27 @@ export { CheckGreaterThan } from './check-greater-than';
|
|
|
2
2
|
export { CheckLessThan } from './check-less-than';
|
|
3
3
|
export { CheckNotEqual } from './check-not-equal';
|
|
4
4
|
export { CheckOneOf } from './check-one-of';
|
|
5
|
-
export {
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
5
|
+
export { LimitAggregate } from './data-aggregate-limit-counter';
|
|
6
|
+
export { BillingMeter } from './data-billing-meter';
|
|
7
|
+
export { DataBulk } from './data-bulk';
|
|
8
|
+
export { ProcessChunks } from './data-chunks';
|
|
8
9
|
export { DataCompositeField } from './data-composite-field';
|
|
9
10
|
export { DataDirectOwner } from './data-direct-owner';
|
|
10
11
|
export { DataEntityMembership } from './data-entity-membership';
|
|
11
|
-
export {
|
|
12
|
-
export {
|
|
12
|
+
export { ProcessFileEmbedding } from './data-file-embedding';
|
|
13
|
+
export { LimitFeatureFlag } from './data-feature-flag';
|
|
13
14
|
export { DataForceCurrentUser } from './data-force-current-user';
|
|
14
15
|
export { DataId } from './data-id';
|
|
15
|
-
export {
|
|
16
|
+
export { ProcessImageEmbedding } from './data-image-embedding';
|
|
16
17
|
export { DataImmutableFields } from './data-immutable-fields';
|
|
17
18
|
export { DataInflection } from './data-inflection';
|
|
18
19
|
export { DataInheritFromParent } from './data-inherit-from-parent';
|
|
19
|
-
export {
|
|
20
|
-
export {
|
|
20
|
+
export { JobTrigger } from './data-job-trigger';
|
|
21
|
+
export { LimitCounter } from './data-limit-counter';
|
|
21
22
|
export { DataJsonb } from './data-jsonb';
|
|
22
23
|
export { DataOwnedFields } from './data-owned-fields';
|
|
24
|
+
export { ProcessExtraction } from './process-extraction';
|
|
25
|
+
export { ProcessImageVersions } from './process-image-versions';
|
|
23
26
|
export { DataOwnershipInEntity } from './data-ownership-in-entity';
|
|
24
27
|
export { DataPeoplestamps } from './data-peoplestamps';
|
|
25
28
|
export { DataPublishable } from './data-publishable';
|
package/data/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TableUserSettings = exports.TableUserProfiles = exports.TableOrganizationSettings = exports.SearchVector = exports.SearchUnified = exports.SearchTrgm = exports.SearchSpatialAggregate = exports.SearchSpatial = exports.SearchFullText = exports.SearchBm25 = exports.DataTimestamps = exports.DataTags = exports.DataStatusField = exports.DataSoftDelete = exports.DataSlug = exports.DataRealtime = exports.DataPublishable = exports.DataPeoplestamps = exports.DataOwnershipInEntity = exports.DataOwnedFields = exports.DataJsonb = exports.
|
|
3
|
+
exports.TableUserSettings = exports.TableUserProfiles = exports.TableOrganizationSettings = exports.SearchVector = exports.SearchUnified = exports.SearchTrgm = exports.SearchSpatialAggregate = exports.SearchSpatial = exports.SearchFullText = exports.SearchBm25 = exports.DataTimestamps = exports.DataTags = exports.DataStatusField = exports.DataSoftDelete = exports.DataSlug = exports.DataRealtime = exports.DataPublishable = exports.DataPeoplestamps = exports.DataOwnershipInEntity = exports.ProcessImageVersions = exports.ProcessExtraction = exports.DataOwnedFields = exports.DataJsonb = exports.LimitCounter = exports.JobTrigger = exports.DataInheritFromParent = exports.DataInflection = exports.DataImmutableFields = exports.ProcessImageEmbedding = exports.DataId = exports.DataForceCurrentUser = exports.LimitFeatureFlag = exports.ProcessFileEmbedding = exports.DataEntityMembership = exports.DataDirectOwner = exports.DataCompositeField = exports.ProcessChunks = exports.DataBulk = exports.BillingMeter = exports.LimitAggregate = exports.CheckOneOf = exports.CheckNotEqual = exports.CheckLessThan = exports.CheckGreaterThan = void 0;
|
|
4
4
|
var check_greater_than_1 = require("./check-greater-than");
|
|
5
5
|
Object.defineProperty(exports, "CheckGreaterThan", { enumerable: true, get: function () { return check_greater_than_1.CheckGreaterThan; } });
|
|
6
6
|
var check_less_than_1 = require("./check-less-than");
|
|
@@ -10,11 +10,13 @@ Object.defineProperty(exports, "CheckNotEqual", { enumerable: true, get: functio
|
|
|
10
10
|
var check_one_of_1 = require("./check-one-of");
|
|
11
11
|
Object.defineProperty(exports, "CheckOneOf", { enumerable: true, get: function () { return check_one_of_1.CheckOneOf; } });
|
|
12
12
|
var data_aggregate_limit_counter_1 = require("./data-aggregate-limit-counter");
|
|
13
|
-
Object.defineProperty(exports, "
|
|
13
|
+
Object.defineProperty(exports, "LimitAggregate", { enumerable: true, get: function () { return data_aggregate_limit_counter_1.LimitAggregate; } });
|
|
14
14
|
var data_billing_meter_1 = require("./data-billing-meter");
|
|
15
|
-
Object.defineProperty(exports, "
|
|
15
|
+
Object.defineProperty(exports, "BillingMeter", { enumerable: true, get: function () { return data_billing_meter_1.BillingMeter; } });
|
|
16
|
+
var data_bulk_1 = require("./data-bulk");
|
|
17
|
+
Object.defineProperty(exports, "DataBulk", { enumerable: true, get: function () { return data_bulk_1.DataBulk; } });
|
|
16
18
|
var data_chunks_1 = require("./data-chunks");
|
|
17
|
-
Object.defineProperty(exports, "
|
|
19
|
+
Object.defineProperty(exports, "ProcessChunks", { enumerable: true, get: function () { return data_chunks_1.ProcessChunks; } });
|
|
18
20
|
var data_composite_field_1 = require("./data-composite-field");
|
|
19
21
|
Object.defineProperty(exports, "DataCompositeField", { enumerable: true, get: function () { return data_composite_field_1.DataCompositeField; } });
|
|
20
22
|
var data_direct_owner_1 = require("./data-direct-owner");
|
|
@@ -22,15 +24,15 @@ Object.defineProperty(exports, "DataDirectOwner", { enumerable: true, get: funct
|
|
|
22
24
|
var data_entity_membership_1 = require("./data-entity-membership");
|
|
23
25
|
Object.defineProperty(exports, "DataEntityMembership", { enumerable: true, get: function () { return data_entity_membership_1.DataEntityMembership; } });
|
|
24
26
|
var data_file_embedding_1 = require("./data-file-embedding");
|
|
25
|
-
Object.defineProperty(exports, "
|
|
27
|
+
Object.defineProperty(exports, "ProcessFileEmbedding", { enumerable: true, get: function () { return data_file_embedding_1.ProcessFileEmbedding; } });
|
|
26
28
|
var data_feature_flag_1 = require("./data-feature-flag");
|
|
27
|
-
Object.defineProperty(exports, "
|
|
29
|
+
Object.defineProperty(exports, "LimitFeatureFlag", { enumerable: true, get: function () { return data_feature_flag_1.LimitFeatureFlag; } });
|
|
28
30
|
var data_force_current_user_1 = require("./data-force-current-user");
|
|
29
31
|
Object.defineProperty(exports, "DataForceCurrentUser", { enumerable: true, get: function () { return data_force_current_user_1.DataForceCurrentUser; } });
|
|
30
32
|
var data_id_1 = require("./data-id");
|
|
31
33
|
Object.defineProperty(exports, "DataId", { enumerable: true, get: function () { return data_id_1.DataId; } });
|
|
32
34
|
var data_image_embedding_1 = require("./data-image-embedding");
|
|
33
|
-
Object.defineProperty(exports, "
|
|
35
|
+
Object.defineProperty(exports, "ProcessImageEmbedding", { enumerable: true, get: function () { return data_image_embedding_1.ProcessImageEmbedding; } });
|
|
34
36
|
var data_immutable_fields_1 = require("./data-immutable-fields");
|
|
35
37
|
Object.defineProperty(exports, "DataImmutableFields", { enumerable: true, get: function () { return data_immutable_fields_1.DataImmutableFields; } });
|
|
36
38
|
var data_inflection_1 = require("./data-inflection");
|
|
@@ -38,13 +40,17 @@ Object.defineProperty(exports, "DataInflection", { enumerable: true, get: functi
|
|
|
38
40
|
var data_inherit_from_parent_1 = require("./data-inherit-from-parent");
|
|
39
41
|
Object.defineProperty(exports, "DataInheritFromParent", { enumerable: true, get: function () { return data_inherit_from_parent_1.DataInheritFromParent; } });
|
|
40
42
|
var data_job_trigger_1 = require("./data-job-trigger");
|
|
41
|
-
Object.defineProperty(exports, "
|
|
43
|
+
Object.defineProperty(exports, "JobTrigger", { enumerable: true, get: function () { return data_job_trigger_1.JobTrigger; } });
|
|
42
44
|
var data_limit_counter_1 = require("./data-limit-counter");
|
|
43
|
-
Object.defineProperty(exports, "
|
|
45
|
+
Object.defineProperty(exports, "LimitCounter", { enumerable: true, get: function () { return data_limit_counter_1.LimitCounter; } });
|
|
44
46
|
var data_jsonb_1 = require("./data-jsonb");
|
|
45
47
|
Object.defineProperty(exports, "DataJsonb", { enumerable: true, get: function () { return data_jsonb_1.DataJsonb; } });
|
|
46
48
|
var data_owned_fields_1 = require("./data-owned-fields");
|
|
47
49
|
Object.defineProperty(exports, "DataOwnedFields", { enumerable: true, get: function () { return data_owned_fields_1.DataOwnedFields; } });
|
|
50
|
+
var process_extraction_1 = require("./process-extraction");
|
|
51
|
+
Object.defineProperty(exports, "ProcessExtraction", { enumerable: true, get: function () { return process_extraction_1.ProcessExtraction; } });
|
|
52
|
+
var process_image_versions_1 = require("./process-image-versions");
|
|
53
|
+
Object.defineProperty(exports, "ProcessImageVersions", { enumerable: true, get: function () { return process_image_versions_1.ProcessImageVersions; } });
|
|
48
54
|
var data_ownership_in_entity_1 = require("./data-ownership-in-entity");
|
|
49
55
|
Object.defineProperty(exports, "DataOwnershipInEntity", { enumerable: true, get: function () { return data_ownership_in_entity_1.DataOwnershipInEntity; } });
|
|
50
56
|
var data_peoplestamps_1 = require("./data-peoplestamps");
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { NodeTypeDefinition } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* File extraction processing node.
|
|
4
|
+
*
|
|
5
|
+
* Composes a JobTrigger that fires when a file transitions to status = 'uploaded'
|
|
6
|
+
* (or on INSERT if confirm_upload is not enabled). The trigger enqueues a
|
|
7
|
+
* text-extraction job that converts the file contents (PDF, DOCX, HTML, etc.)
|
|
8
|
+
* into plain text or markdown, storing the result in configurable output fields.
|
|
9
|
+
*
|
|
10
|
+
* The extraction worker is external (Knative function) — this node only creates
|
|
11
|
+
* the trigger infrastructure and output fields. The worker calls back into the
|
|
12
|
+
* database to write extracted text and metadata.
|
|
13
|
+
*/
|
|
14
|
+
export declare const ProcessExtraction: NodeTypeDefinition;
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProcessExtraction = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* File extraction processing node.
|
|
6
|
+
*
|
|
7
|
+
* Composes a JobTrigger that fires when a file transitions to status = 'uploaded'
|
|
8
|
+
* (or on INSERT if confirm_upload is not enabled). The trigger enqueues a
|
|
9
|
+
* text-extraction job that converts the file contents (PDF, DOCX, HTML, etc.)
|
|
10
|
+
* into plain text or markdown, storing the result in configurable output fields.
|
|
11
|
+
*
|
|
12
|
+
* The extraction worker is external (Knative function) — this node only creates
|
|
13
|
+
* the trigger infrastructure and output fields. The worker calls back into the
|
|
14
|
+
* database to write extracted text and metadata.
|
|
15
|
+
*/
|
|
16
|
+
exports.ProcessExtraction = {
|
|
17
|
+
name: 'ProcessExtraction',
|
|
18
|
+
slug: 'process_extraction',
|
|
19
|
+
category: 'process',
|
|
20
|
+
display_name: 'File Extraction',
|
|
21
|
+
description: 'Creates extraction output fields and a job trigger for file text extraction. ' +
|
|
22
|
+
'Fires when a file is uploaded (status = \'uploaded\') or on INSERT. ' +
|
|
23
|
+
'The external worker extracts text/metadata from the file (PDF, DOCX, HTML, etc.) ' +
|
|
24
|
+
'and writes the result back to the configured output fields. ' +
|
|
25
|
+
'Typically used upstream of ProcessFileEmbedding or ProcessChunks.',
|
|
26
|
+
parameter_schema: {
|
|
27
|
+
type: 'object',
|
|
28
|
+
properties: {
|
|
29
|
+
// ── Output fields ─────────────────────────────────────────────
|
|
30
|
+
text_field: {
|
|
31
|
+
type: 'string',
|
|
32
|
+
format: 'column-ref',
|
|
33
|
+
description: 'Field to store extracted text/markdown',
|
|
34
|
+
default: 'extracted_text'
|
|
35
|
+
},
|
|
36
|
+
metadata_field: {
|
|
37
|
+
type: 'string',
|
|
38
|
+
format: 'column-ref',
|
|
39
|
+
description: 'JSONB field for extraction metadata (page count, language, etc.)',
|
|
40
|
+
default: 'extracted_metadata'
|
|
41
|
+
},
|
|
42
|
+
// ── MIME scoping ──────────────────────────────────────────────
|
|
43
|
+
mime_patterns: {
|
|
44
|
+
type: 'array',
|
|
45
|
+
items: { type: 'string' },
|
|
46
|
+
description: 'MIME type LIKE patterns to match. Multiple patterns are OR\'d together. ' +
|
|
47
|
+
'Examples: [\'application/pdf\', \'text/%\'], [\'application/vnd.openxmlformats%\'].',
|
|
48
|
+
default: ['application/pdf', 'text/%']
|
|
49
|
+
},
|
|
50
|
+
// ── Job routing ───────────────────────────────────────────────
|
|
51
|
+
task_identifier: {
|
|
52
|
+
type: 'string',
|
|
53
|
+
description: 'Job task identifier for the extraction worker',
|
|
54
|
+
default: 'extract_file_text'
|
|
55
|
+
},
|
|
56
|
+
events: {
|
|
57
|
+
type: 'array',
|
|
58
|
+
items: { type: 'string', enum: ['INSERT', 'UPDATE'] },
|
|
59
|
+
description: 'Trigger events that fire the job',
|
|
60
|
+
default: ['INSERT']
|
|
61
|
+
},
|
|
62
|
+
payload_custom: {
|
|
63
|
+
type: 'object',
|
|
64
|
+
additionalProperties: { type: 'string', format: 'column-ref' },
|
|
65
|
+
description: 'Custom payload key-to-column mapping for the job trigger',
|
|
66
|
+
default: {
|
|
67
|
+
file_id: 'id',
|
|
68
|
+
key: 'key',
|
|
69
|
+
mime_type: 'mime_type',
|
|
70
|
+
bucket_id: 'bucket_id'
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
trigger_conditions: {
|
|
74
|
+
description: 'Additional compound conditions beyond MIME filtering. ' +
|
|
75
|
+
'Merged with the auto-generated MIME conditions via AND. ' +
|
|
76
|
+
'Use this to add status checks (e.g., status = \'uploaded\').',
|
|
77
|
+
'x-codegen-type': 'TriggerCondition | TriggerCondition[]',
|
|
78
|
+
oneOf: [
|
|
79
|
+
{ $ref: '#/$defs/triggerCondition' },
|
|
80
|
+
{ type: 'array', items: { $ref: '#/$defs/triggerCondition' } }
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
// ── Job options ───────────────────────────────────────────────
|
|
84
|
+
queue_name: {
|
|
85
|
+
type: 'string',
|
|
86
|
+
description: 'Job queue name for extraction tasks',
|
|
87
|
+
default: 'extraction'
|
|
88
|
+
},
|
|
89
|
+
max_attempts: {
|
|
90
|
+
type: 'integer',
|
|
91
|
+
description: 'Maximum number of retry attempts',
|
|
92
|
+
default: 5
|
|
93
|
+
},
|
|
94
|
+
priority: {
|
|
95
|
+
type: 'integer',
|
|
96
|
+
description: 'Job priority (lower = higher priority)',
|
|
97
|
+
default: 0
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
tags: [
|
|
102
|
+
'extraction',
|
|
103
|
+
'files',
|
|
104
|
+
'processing',
|
|
105
|
+
'jobs',
|
|
106
|
+
'text'
|
|
107
|
+
]
|
|
108
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { NodeTypeDefinition } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Image version processing node.
|
|
4
|
+
*
|
|
5
|
+
* Composes a JobTrigger that fires when an image file transitions to
|
|
6
|
+
* status = 'uploaded' (or on INSERT if confirm_upload is not enabled).
|
|
7
|
+
* The trigger enqueues an image-processing job that generates resized,
|
|
8
|
+
* cropped, or reformatted variants of the source image.
|
|
9
|
+
*
|
|
10
|
+
* The image processing worker is external (Knative function) — this node
|
|
11
|
+
* only creates the trigger infrastructure. The worker generates the variants
|
|
12
|
+
* and writes them back to the storage system as new file records linked to
|
|
13
|
+
* the source file.
|
|
14
|
+
*/
|
|
15
|
+
export declare const ProcessImageVersions: NodeTypeDefinition;
|