node-type-registry 0.35.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.
@@ -66,12 +66,14 @@ export interface DataDirectOwnerParams {
66
66
  owner_field_name?: string;
67
67
  include_id?: boolean;
68
68
  include_user_fk?: boolean;
69
+ create_index?: boolean;
69
70
  }
70
71
  /** Adds entity reference for organization/group scoping. Enables AuthzEntityMembership, AuthzMembership, AuthzOrgHierarchy authorization. */
71
72
  export interface DataEntityMembershipParams {
72
73
  entity_field_name?: string;
73
74
  include_id?: boolean;
74
75
  include_user_fk?: boolean;
76
+ create_index?: boolean;
75
77
  }
76
78
  /** BEFORE INSERT trigger that forces a field to the value of jwt_public.current_user_id(). Prevents clients from spoofing the actor/uploader identity. The field value is always overwritten regardless of what the client provides. */
77
79
  export interface DataForceCurrentUserParams {
@@ -115,6 +117,7 @@ export interface DataOwnershipInEntityParams {
115
117
  entity_field_name?: string;
116
118
  include_id?: boolean;
117
119
  include_user_fk?: boolean;
120
+ create_index?: boolean;
118
121
  }
119
122
  /** Adds user tracking for creates/updates with created_by and updated_by columns. */
120
123
  export interface DataPeoplestampsParams {
@@ -122,6 +125,7 @@ export interface DataPeoplestampsParams {
122
125
  updated_by_field?: string;
123
126
  include_id?: boolean;
124
127
  include_user_fk?: boolean;
128
+ create_index?: boolean;
125
129
  }
126
130
  /** Adds publish state columns (is_published, published_at) for content visibility. Enables AuthzPublishable and AuthzTemporal authorization. */
127
131
  export interface DataPublishableParams {
@@ -136,7 +140,7 @@ export interface DataRealtimeParams {
136
140
  }
137
141
  /** Auto-generates URL-friendly slugs from field values on insert/update. Attaches BEFORE INSERT and BEFORE UPDATE triggers that call inflection.slugify() on the target field. References fields by name in data jsonb. */
138
142
  export interface DataSlugParams {
139
- field_name: string;
143
+ field_name?: string;
140
144
  source_field_name?: string;
141
145
  }
142
146
  /** Adds soft delete support with deleted_at and is_deleted columns. */
@@ -271,6 +275,8 @@ export interface SearchUnifiedParams {
271
275
  chunking_task_name?: string;
272
276
  };
273
277
  };
278
+ embedding_text_field?: string;
279
+ composite_format?: 'labeled' | 'plain';
274
280
  trgm_fields?: string[];
275
281
  search_config?: {
276
282
  weights?: {
@@ -13,7 +13,8 @@ exports.DataCompositeField = {
13
13
  target: {
14
14
  type: 'string',
15
15
  format: 'column-ref',
16
- description: "Name of the derived text field to create (default: 'embedding_text')"
16
+ description: 'Name of the derived text field to create',
17
+ default: 'embedding_text'
17
18
  },
18
19
  source_fields: {
19
20
  type: 'array',
@@ -26,7 +27,8 @@ exports.DataCompositeField = {
26
27
  format: {
27
28
  type: 'string',
28
29
  enum: ['labeled', 'plain'],
29
- description: "Output format: 'labeled' (field_name: value) or 'plain' (values only). Default: 'labeled'"
30
+ description: "Output format: 'labeled' (field_name: value) or 'plain' (values only)",
31
+ default: 'labeled'
30
32
  }
31
33
  },
32
34
  required: [
@@ -25,6 +25,11 @@ exports.DataDirectOwner = {
25
25
  type: 'boolean',
26
26
  description: 'If true, adds a foreign key constraint from owner_id to the users table',
27
27
  default: true
28
+ },
29
+ create_index: {
30
+ type: 'boolean',
31
+ description: 'If true, creates a B-tree index on the owner column',
32
+ default: true
28
33
  }
29
34
  }
30
35
  },
@@ -25,6 +25,11 @@ exports.DataEntityMembership = {
25
25
  type: 'boolean',
26
26
  description: 'If true, adds a foreign key constraint from entity_id to the users table',
27
27
  default: true
28
+ },
29
+ create_index: {
30
+ type: 'boolean',
31
+ description: 'If true, creates a B-tree index on the entity column',
32
+ default: true
28
33
  }
29
34
  }
30
35
  },
@@ -121,6 +121,7 @@ exports.ProcessFileEmbedding = {
121
121
  description: 'Chunking configuration passed through to ProcessChunks. When ' +
122
122
  'include_chunks is true (or defaults to true in extract mode), these ' +
123
123
  'params configure the chunks table, embedding dimensions, strategy, etc.',
124
+ default: {},
124
125
  properties: {
125
126
  content_field_name: {
126
127
  type: 'string',
@@ -18,7 +18,8 @@ exports.DataJsonb = {
18
18
  },
19
19
  default_value: {
20
20
  type: 'string',
21
- description: 'Default value expression'
21
+ description: 'Default value expression',
22
+ default: "'{}'::jsonb"
22
23
  },
23
24
  is_required: {
24
25
  type: 'boolean',
@@ -31,6 +31,11 @@ exports.DataOwnershipInEntity = {
31
31
  type: 'boolean',
32
32
  description: 'If true, adds foreign key constraints from owner_id and entity_id to the users table',
33
33
  default: true
34
+ },
35
+ create_index: {
36
+ type: 'boolean',
37
+ description: 'If true, creates B-tree indexes on the owner and entity columns',
38
+ default: true
34
39
  }
35
40
  }
36
41
  },
@@ -31,6 +31,11 @@ exports.DataPeoplestamps = {
31
31
  type: 'boolean',
32
32
  description: 'If true, adds foreign key constraints from created_by and updated_by to the users table',
33
33
  default: false
34
+ },
35
+ create_index: {
36
+ type: 'boolean',
37
+ description: 'If true, creates B-tree indexes on the peoplestamp columns',
38
+ default: true
34
39
  }
35
40
  }
36
41
  },
@@ -10,13 +10,13 @@ exports.DataPublishable = {
10
10
  parameter_schema: {
11
11
  type: 'object',
12
12
  properties: {
13
- is_published_field: {
13
+ is_published_field_name: {
14
14
  type: 'string',
15
15
  format: 'column-ref',
16
16
  description: 'Column name for the published boolean flag',
17
17
  default: 'is_published'
18
18
  },
19
- published_at_field: {
19
+ published_at_field_name: {
20
20
  type: 'string',
21
21
  format: 'column-ref',
22
22
  description: 'Column name for the publish timestamp',
package/data/data-slug.js CHANGED
@@ -13,7 +13,8 @@ exports.DataSlug = {
13
13
  field_name: {
14
14
  type: 'string',
15
15
  format: 'column-ref',
16
- description: 'Name of the field to slugify'
16
+ description: 'Name of the field to slugify',
17
+ default: 'slug'
17
18
  },
18
19
  source_field_name: {
19
20
  type: 'string',
@@ -21,9 +22,7 @@ exports.DataSlug = {
21
22
  description: 'Optional source field name (defaults to field_name)'
22
23
  }
23
24
  },
24
- required: [
25
- 'field_name'
26
- ]
25
+ required: []
27
26
  },
28
27
  tags: [
29
28
  'transform',
package/data/data-tags.js CHANGED
@@ -18,7 +18,8 @@ exports.DataTags = {
18
18
  },
19
19
  default_value: {
20
20
  type: 'string',
21
- description: 'Default value expression for the tags column'
21
+ description: 'Default value expression for the tags column',
22
+ default: 'ARRAY[]::citext[]'
22
23
  },
23
24
  is_required: {
24
25
  type: 'boolean',
@@ -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: {
@@ -66,12 +66,14 @@ export interface DataDirectOwnerParams {
66
66
  owner_field_name?: string;
67
67
  include_id?: boolean;
68
68
  include_user_fk?: boolean;
69
+ create_index?: boolean;
69
70
  }
70
71
  /** Adds entity reference for organization/group scoping. Enables AuthzEntityMembership, AuthzMembership, AuthzOrgHierarchy authorization. */
71
72
  export interface DataEntityMembershipParams {
72
73
  entity_field_name?: string;
73
74
  include_id?: boolean;
74
75
  include_user_fk?: boolean;
76
+ create_index?: boolean;
75
77
  }
76
78
  /** BEFORE INSERT trigger that forces a field to the value of jwt_public.current_user_id(). Prevents clients from spoofing the actor/uploader identity. The field value is always overwritten regardless of what the client provides. */
77
79
  export interface DataForceCurrentUserParams {
@@ -115,6 +117,7 @@ export interface DataOwnershipInEntityParams {
115
117
  entity_field_name?: string;
116
118
  include_id?: boolean;
117
119
  include_user_fk?: boolean;
120
+ create_index?: boolean;
118
121
  }
119
122
  /** Adds user tracking for creates/updates with created_by and updated_by columns. */
120
123
  export interface DataPeoplestampsParams {
@@ -122,6 +125,7 @@ export interface DataPeoplestampsParams {
122
125
  updated_by_field?: string;
123
126
  include_id?: boolean;
124
127
  include_user_fk?: boolean;
128
+ create_index?: boolean;
125
129
  }
126
130
  /** Adds publish state columns (is_published, published_at) for content visibility. Enables AuthzPublishable and AuthzTemporal authorization. */
127
131
  export interface DataPublishableParams {
@@ -136,7 +140,7 @@ export interface DataRealtimeParams {
136
140
  }
137
141
  /** Auto-generates URL-friendly slugs from field values on insert/update. Attaches BEFORE INSERT and BEFORE UPDATE triggers that call inflection.slugify() on the target field. References fields by name in data jsonb. */
138
142
  export interface DataSlugParams {
139
- field_name: string;
143
+ field_name?: string;
140
144
  source_field_name?: string;
141
145
  }
142
146
  /** Adds soft delete support with deleted_at and is_deleted columns. */
@@ -271,6 +275,8 @@ export interface SearchUnifiedParams {
271
275
  chunking_task_name?: string;
272
276
  };
273
277
  };
278
+ embedding_text_field?: string;
279
+ composite_format?: 'labeled' | 'plain';
274
280
  trgm_fields?: string[];
275
281
  search_config?: {
276
282
  weights?: {
@@ -10,7 +10,8 @@ export const DataCompositeField = {
10
10
  target: {
11
11
  type: 'string',
12
12
  format: 'column-ref',
13
- description: "Name of the derived text field to create (default: 'embedding_text')"
13
+ description: 'Name of the derived text field to create',
14
+ default: 'embedding_text'
14
15
  },
15
16
  source_fields: {
16
17
  type: 'array',
@@ -23,7 +24,8 @@ export const DataCompositeField = {
23
24
  format: {
24
25
  type: 'string',
25
26
  enum: ['labeled', 'plain'],
26
- description: "Output format: 'labeled' (field_name: value) or 'plain' (values only). Default: 'labeled'"
27
+ description: "Output format: 'labeled' (field_name: value) or 'plain' (values only)",
28
+ default: 'labeled'
27
29
  }
28
30
  },
29
31
  required: [
@@ -22,6 +22,11 @@ export const DataDirectOwner = {
22
22
  type: 'boolean',
23
23
  description: 'If true, adds a foreign key constraint from owner_id to the users table',
24
24
  default: true
25
+ },
26
+ create_index: {
27
+ type: 'boolean',
28
+ description: 'If true, creates a B-tree index on the owner column',
29
+ default: true
25
30
  }
26
31
  }
27
32
  },
@@ -22,6 +22,11 @@ export const DataEntityMembership = {
22
22
  type: 'boolean',
23
23
  description: 'If true, adds a foreign key constraint from entity_id to the users table',
24
24
  default: true
25
+ },
26
+ create_index: {
27
+ type: 'boolean',
28
+ description: 'If true, creates a B-tree index on the entity column',
29
+ default: true
25
30
  }
26
31
  }
27
32
  },
@@ -118,6 +118,7 @@ export const ProcessFileEmbedding = {
118
118
  description: 'Chunking configuration passed through to ProcessChunks. When ' +
119
119
  'include_chunks is true (or defaults to true in extract mode), these ' +
120
120
  'params configure the chunks table, embedding dimensions, strategy, etc.',
121
+ default: {},
121
122
  properties: {
122
123
  content_field_name: {
123
124
  type: 'string',
@@ -15,7 +15,8 @@ export const DataJsonb = {
15
15
  },
16
16
  default_value: {
17
17
  type: 'string',
18
- description: 'Default value expression'
18
+ description: 'Default value expression',
19
+ default: "'{}'::jsonb"
19
20
  },
20
21
  is_required: {
21
22
  type: 'boolean',
@@ -28,6 +28,11 @@ export const DataOwnershipInEntity = {
28
28
  type: 'boolean',
29
29
  description: 'If true, adds foreign key constraints from owner_id and entity_id to the users table',
30
30
  default: true
31
+ },
32
+ create_index: {
33
+ type: 'boolean',
34
+ description: 'If true, creates B-tree indexes on the owner and entity columns',
35
+ default: true
31
36
  }
32
37
  }
33
38
  },
@@ -28,6 +28,11 @@ export const DataPeoplestamps = {
28
28
  type: 'boolean',
29
29
  description: 'If true, adds foreign key constraints from created_by and updated_by to the users table',
30
30
  default: false
31
+ },
32
+ create_index: {
33
+ type: 'boolean',
34
+ description: 'If true, creates B-tree indexes on the peoplestamp columns',
35
+ default: true
31
36
  }
32
37
  }
33
38
  },
@@ -7,13 +7,13 @@ export const DataPublishable = {
7
7
  parameter_schema: {
8
8
  type: 'object',
9
9
  properties: {
10
- is_published_field: {
10
+ is_published_field_name: {
11
11
  type: 'string',
12
12
  format: 'column-ref',
13
13
  description: 'Column name for the published boolean flag',
14
14
  default: 'is_published'
15
15
  },
16
- published_at_field: {
16
+ published_at_field_name: {
17
17
  type: 'string',
18
18
  format: 'column-ref',
19
19
  description: 'Column name for the publish timestamp',
@@ -10,7 +10,8 @@ export const DataSlug = {
10
10
  field_name: {
11
11
  type: 'string',
12
12
  format: 'column-ref',
13
- description: 'Name of the field to slugify'
13
+ description: 'Name of the field to slugify',
14
+ default: 'slug'
14
15
  },
15
16
  source_field_name: {
16
17
  type: 'string',
@@ -18,9 +19,7 @@ export const DataSlug = {
18
19
  description: 'Optional source field name (defaults to field_name)'
19
20
  }
20
21
  },
21
- required: [
22
- 'field_name'
23
- ]
22
+ required: []
24
23
  },
25
24
  tags: [
26
25
  'transform',
@@ -15,7 +15,8 @@ export const DataTags = {
15
15
  },
16
16
  default_value: {
17
17
  type: 'string',
18
- description: 'Default value expression for the tags column'
18
+ description: 'Default value expression for the tags column',
19
+ default: 'ARRAY[]::citext[]'
19
20
  },
20
21
  is_required: {
21
22
  type: 'boolean',
@@ -161,6 +161,18 @@ export const SearchUnified = {
161
161
  }
162
162
  }
163
163
  },
164
+ embedding_text_field: {
165
+ type: 'string',
166
+ format: 'column-ref',
167
+ description: 'Name of the composite text field created for embedding input',
168
+ default: 'embedding_text'
169
+ },
170
+ composite_format: {
171
+ type: 'string',
172
+ enum: ['labeled', 'plain'],
173
+ description: 'Output format for the composite text field',
174
+ default: 'labeled'
175
+ },
164
176
  trgm_fields: {
165
177
  type: 'array',
166
178
  items: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-type-registry",
3
- "version": "0.35.0",
3
+ "version": "0.36.0",
4
4
  "description": "Node type definitions for the Constructive blueprint system. Single source of truth for all Authz*, Data*, Relation*, and View* node types.",
5
5
  "author": "Constructive <developers@constructive.io>",
6
6
  "main": "index.js",
@@ -47,5 +47,5 @@
47
47
  "registry",
48
48
  "graphile"
49
49
  ],
50
- "gitHead": "50dc1d69049c207b46c237eba1e1b1cb7a5f928f"
50
+ "gitHead": "79f9109e05713e24fbef527864e0df02634aa891"
51
51
  }