node-type-registry 0.34.0 → 0.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/blueprint-types.generated.d.ts +263 -60
  2. package/blueprint-types.generated.js +30 -0
  3. package/codegen/generate-types.js +3 -1
  4. package/data/data-aggregate-limit-counter.d.ts +1 -1
  5. package/data/data-aggregate-limit-counter.js +4 -4
  6. package/data/data-billing-meter.d.ts +1 -1
  7. package/data/data-billing-meter.js +4 -4
  8. package/data/data-chunks.d.ts +2 -2
  9. package/data/data-chunks.js +6 -6
  10. package/data/data-composite-field.js +4 -2
  11. package/data/data-direct-owner.js +5 -0
  12. package/data/data-entity-membership.js +5 -0
  13. package/data/data-feature-flag.d.ts +1 -1
  14. package/data/data-feature-flag.js +4 -4
  15. package/data/data-file-embedding.d.ts +1 -1
  16. package/data/data-file-embedding.js +9 -27
  17. package/data/data-image-embedding.d.ts +4 -4
  18. package/data/data-image-embedding.js +13 -31
  19. package/data/data-job-trigger.d.ts +1 -1
  20. package/data/data-job-trigger.js +4 -4
  21. package/data/data-jsonb.js +2 -1
  22. package/data/data-limit-counter.d.ts +1 -1
  23. package/data/data-limit-counter.js +4 -4
  24. package/data/data-ownership-in-entity.js +5 -0
  25. package/data/data-peoplestamps.js +5 -0
  26. package/data/data-publishable.js +2 -2
  27. package/data/data-slug.js +3 -4
  28. package/data/data-tags.js +2 -1
  29. package/data/index.d.ts +10 -8
  30. package/data/index.js +13 -9
  31. package/data/process-extraction.d.ts +14 -0
  32. package/data/process-extraction.js +108 -0
  33. package/data/process-image-versions.d.ts +15 -0
  34. package/data/process-image-versions.js +139 -0
  35. package/data/search-unified.js +12 -0
  36. package/data/search-vector.js +1 -16
  37. package/esm/blueprint-types.generated.d.ts +263 -60
  38. package/esm/blueprint-types.generated.js +30 -0
  39. package/esm/codegen/generate-types.js +3 -1
  40. package/esm/data/data-aggregate-limit-counter.d.ts +1 -1
  41. package/esm/data/data-aggregate-limit-counter.js +3 -3
  42. package/esm/data/data-billing-meter.d.ts +1 -1
  43. package/esm/data/data-billing-meter.js +3 -3
  44. package/esm/data/data-chunks.d.ts +2 -2
  45. package/esm/data/data-chunks.js +5 -5
  46. package/esm/data/data-composite-field.js +4 -2
  47. package/esm/data/data-direct-owner.js +5 -0
  48. package/esm/data/data-entity-membership.js +5 -0
  49. package/esm/data/data-feature-flag.d.ts +1 -1
  50. package/esm/data/data-feature-flag.js +3 -3
  51. package/esm/data/data-file-embedding.d.ts +1 -1
  52. package/esm/data/data-file-embedding.js +8 -26
  53. package/esm/data/data-image-embedding.d.ts +4 -4
  54. package/esm/data/data-image-embedding.js +12 -30
  55. package/esm/data/data-job-trigger.d.ts +1 -1
  56. package/esm/data/data-job-trigger.js +3 -3
  57. package/esm/data/data-jsonb.js +2 -1
  58. package/esm/data/data-limit-counter.d.ts +1 -1
  59. package/esm/data/data-limit-counter.js +3 -3
  60. package/esm/data/data-ownership-in-entity.js +5 -0
  61. package/esm/data/data-peoplestamps.js +5 -0
  62. package/esm/data/data-publishable.js +2 -2
  63. package/esm/data/data-slug.js +3 -4
  64. package/esm/data/data-tags.js +2 -1
  65. package/esm/data/index.d.ts +10 -8
  66. package/esm/data/index.js +10 -8
  67. package/esm/data/process-extraction.d.ts +14 -0
  68. package/esm/data/process-extraction.js +105 -0
  69. package/esm/data/process-image-versions.d.ts +15 -0
  70. package/esm/data/process-image-versions.js +136 -0
  71. package/esm/data/search-unified.js +12 -0
  72. package/esm/data/search-vector.js +1 -16
  73. package/esm/module-presets/auth-hardened.js +4 -2
  74. package/esm/module-presets/b2b-storage.js +4 -2
  75. package/esm/module-presets/b2b.js +4 -2
  76. package/module-presets/auth-hardened.js +4 -2
  77. package/module-presets/b2b-storage.js +4 -2
  78. package/module-presets/b2b.js +4 -2
  79. package/package.json +2 -2
@@ -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;
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProcessImageVersions = void 0;
4
+ /**
5
+ * Image version processing node.
6
+ *
7
+ * Composes a JobTrigger that fires when an image file transitions to
8
+ * status = 'uploaded' (or on INSERT if confirm_upload is not enabled).
9
+ * The trigger enqueues an image-processing job that generates resized,
10
+ * cropped, or reformatted variants of the source image.
11
+ *
12
+ * The image processing worker is external (Knative function) — this node
13
+ * only creates the trigger infrastructure. The worker generates the variants
14
+ * and writes them back to the storage system as new file records linked to
15
+ * the source file.
16
+ */
17
+ exports.ProcessImageVersions = {
18
+ name: 'ProcessImageVersions',
19
+ slug: 'process_image_versions',
20
+ category: 'process',
21
+ display_name: 'Image Versions',
22
+ description: 'Creates a job trigger for image variant generation. ' +
23
+ 'Fires when an image file is uploaded (status = \'uploaded\') or on INSERT. ' +
24
+ 'The external worker generates resized, cropped, or reformatted versions ' +
25
+ '(thumbnails, previews, WebP conversions, etc.) and stores them as new ' +
26
+ 'file records linked to the source image.',
27
+ parameter_schema: {
28
+ type: 'object',
29
+ required: ['versions'],
30
+ properties: {
31
+ // ── Version definitions ───────────────────────────────────────
32
+ versions: {
33
+ type: 'array',
34
+ items: {
35
+ type: 'object',
36
+ properties: {
37
+ name: {
38
+ type: 'string',
39
+ description: 'Version identifier (e.g., "thumb", "preview", "hero")'
40
+ },
41
+ width: {
42
+ type: 'integer',
43
+ description: 'Target width in pixels'
44
+ },
45
+ height: {
46
+ type: 'integer',
47
+ description: 'Target height in pixels'
48
+ },
49
+ fit: {
50
+ type: 'string',
51
+ enum: ['cover', 'contain', 'fill', 'inside', 'outside'],
52
+ description: 'Resize fitting strategy',
53
+ default: 'cover'
54
+ },
55
+ format: {
56
+ type: 'string',
57
+ enum: ['jpeg', 'png', 'webp', 'avif'],
58
+ description: 'Output image format',
59
+ default: 'webp'
60
+ },
61
+ quality: {
62
+ type: 'integer',
63
+ description: 'Output quality (1-100)',
64
+ default: 80
65
+ }
66
+ },
67
+ required: ['name']
68
+ },
69
+ description: 'Array of version definitions. Each version specifies dimensions, ' +
70
+ 'format, and quality for a generated image variant. ' +
71
+ 'Required — the blueprint must explicitly define what variants to generate.',
72
+ minItems: 1
73
+ },
74
+ // ── MIME scoping ──────────────────────────────────────────────
75
+ mime_patterns: {
76
+ type: 'array',
77
+ items: { type: 'string' },
78
+ description: 'MIME type LIKE patterns to match. Defaults to all image types.',
79
+ default: ['image/%']
80
+ },
81
+ // ── Job routing ───────────────────────────────────────────────
82
+ task_identifier: {
83
+ type: 'string',
84
+ description: 'Job task identifier for the image processing worker',
85
+ default: 'process_image_versions'
86
+ },
87
+ events: {
88
+ type: 'array',
89
+ items: { type: 'string', enum: ['INSERT', 'UPDATE'] },
90
+ description: 'Trigger events that fire the job',
91
+ default: ['INSERT']
92
+ },
93
+ payload_custom: {
94
+ type: 'object',
95
+ additionalProperties: { type: 'string', format: 'column-ref' },
96
+ description: 'Custom payload key-to-column mapping for the job trigger',
97
+ default: {
98
+ file_id: 'id',
99
+ key: 'key',
100
+ mime_type: 'mime_type',
101
+ bucket_id: 'bucket_id'
102
+ }
103
+ },
104
+ trigger_conditions: {
105
+ description: 'Additional compound conditions beyond MIME filtering. ' +
106
+ 'Merged with the auto-generated MIME conditions via AND.',
107
+ 'x-codegen-type': 'TriggerCondition | TriggerCondition[]',
108
+ oneOf: [
109
+ { $ref: '#/$defs/triggerCondition' },
110
+ { type: 'array', items: { $ref: '#/$defs/triggerCondition' } }
111
+ ]
112
+ },
113
+ // ── Job options ───────────────────────────────────────────────
114
+ queue_name: {
115
+ type: 'string',
116
+ description: 'Job queue name for image processing tasks',
117
+ default: 'image_processing'
118
+ },
119
+ max_attempts: {
120
+ type: 'integer',
121
+ description: 'Maximum number of retry attempts',
122
+ default: 5
123
+ },
124
+ priority: {
125
+ type: 'integer',
126
+ description: 'Job priority (lower = higher priority)',
127
+ default: 0
128
+ }
129
+ }
130
+ },
131
+ tags: [
132
+ 'images',
133
+ 'processing',
134
+ 'jobs',
135
+ 'resize',
136
+ 'thumbnails',
137
+ 'files'
138
+ ]
139
+ };
@@ -164,6 +164,18 @@ exports.SearchUnified = {
164
164
  }
165
165
  }
166
166
  },
167
+ embedding_text_field: {
168
+ type: 'string',
169
+ format: 'column-ref',
170
+ description: 'Name of the composite text field created for embedding input',
171
+ default: 'embedding_text'
172
+ },
173
+ composite_format: {
174
+ type: 'string',
175
+ enum: ['labeled', 'plain'],
176
+ description: 'Output format for the composite text field',
177
+ default: 'labeled'
178
+ },
167
179
  trgm_fields: {
168
180
  type: 'array',
169
181
  items: {
@@ -6,7 +6,7 @@ exports.SearchVector = {
6
6
  slug: 'search_vector',
7
7
  category: 'search',
8
8
  display_name: 'Vector Search',
9
- description: 'Adds a vector embedding column with HNSW or IVFFlat index for similarity search. Supports configurable dimensions, distance metrics (cosine, l2, ip), stale tracking strategies (column, null, hash), and automatic job enqueue triggers for embedding generation.',
9
+ description: 'Adds a vector embedding column with HNSW or IVFFlat index for similarity search. Supports configurable dimensions, distance metrics (cosine, l2, ip), per-field {field_name}_updated_at timestamp tracking (read-only in GraphQL), and automatic job enqueue triggers for embedding generation.',
10
10
  parameter_schema: {
11
11
  type: 'object',
12
12
  properties: {
@@ -45,11 +45,6 @@ exports.SearchVector = {
45
45
  description: 'Index-specific options. HNSW: {m, ef_construction}. IVFFlat: {lists}.',
46
46
  default: {}
47
47
  },
48
- include_stale_field: {
49
- type: 'boolean',
50
- description: 'When stale_strategy is column, adds an embedding_stale boolean field',
51
- default: true
52
- },
53
48
  source_fields: {
54
49
  type: 'array',
55
50
  items: {
@@ -68,16 +63,6 @@ exports.SearchVector = {
68
63
  description: 'Task identifier for the job queue',
69
64
  default: 'generate_embedding'
70
65
  },
71
- stale_strategy: {
72
- type: 'string',
73
- enum: [
74
- 'column',
75
- 'null',
76
- 'hash'
77
- ],
78
- description: 'Strategy for tracking embedding staleness. column: embedding_stale boolean. null: set embedding to NULL. hash: md5 hash of source fields.',
79
- default: 'column'
80
- },
81
66
  chunks: {
82
67
  type: 'object',
83
68
  description: 'Chunking configuration for long-text embedding. Creates an embedding_chunks record that drives automatic text splitting and per-chunk embedding. Omit to skip chunking.',