diff --git a/packages/node-type-registry/src/blueprint-types.generated.ts b/packages/node-type-registry/src/blueprint-types.generated.ts index a40baf74a..0b0663ce1 100644 --- a/packages/node-type-registry/src/blueprint-types.generated.ts +++ b/packages/node-type-registry/src/blueprint-types.generated.ts @@ -183,6 +183,10 @@ export interface DataOwnedFieldsParams { } /** Combines direct ownership with entity scoping. Adds both owner_id and entity_id columns. Enables AuthzDirectOwner, AuthzEntityMembership, and AuthzOrgHierarchy authorization. Particularly useful for OrgHierarchy where a user owns a row (owner_id) within an entity (entity_id), and managers above can see subordinate-owned records via the hierarchy closure table. */ export interface DataOwnershipInEntityParams { + /* Column name for the owner reference */ + owner_field_name?: string; + /* Column name for the entity reference */ + entity_field_name?: string; /* If true, also adds a UUID primary key column with auto-generation */ include_id?: boolean; /* If true, adds foreign key constraints from owner_id and entity_id to the users table */ @@ -190,6 +194,10 @@ export interface DataOwnershipInEntityParams { } /** Adds user tracking for creates/updates with created_by and updated_by columns. */ export interface DataPeoplestampsParams { + /* Column name for the creating user reference */ + created_by_field?: string; + /* Column name for the last-updating user reference */ + updated_by_field?: string; /* If true, also adds a UUID primary key column with auto-generation */ include_id?: boolean; /* If true, adds foreign key constraints from created_by and updated_by to the users table */ @@ -197,6 +205,10 @@ export interface DataPeoplestampsParams { } /** Adds publish state columns (is_published, published_at) for content visibility. Enables AuthzPublishable and AuthzTemporal authorization. */ export interface DataPublishableParams { + /* Column name for the published boolean flag */ + is_published_field?: string; + /* Column name for the publish timestamp */ + published_at_field?: string; /* If true, also adds a UUID primary key column with auto-generation */ include_id?: boolean; } @@ -209,6 +221,10 @@ export interface DataSlugParams { } /** Adds soft delete support with deleted_at and is_deleted columns. */ export interface DataSoftDeleteParams { + /* Column name for the soft-delete timestamp */ + deleted_at_field?: string; + /* Column name for the soft-delete boolean flag */ + is_deleted_field?: string; /* If true, also adds a UUID primary key column with auto-generation */ include_id?: boolean; } @@ -236,6 +252,10 @@ export interface DataTagsParams { } /** Adds automatic timestamp tracking with created_at and updated_at columns. */ export interface DataTimestampsParams { + /* Column name for the creation timestamp */ + created_at_field?: string; + /* Column name for the last-updated timestamp */ + updated_at_field?: string; /* If true, also adds a UUID primary key column with auto-generation */ include_id?: boolean; } diff --git a/packages/node-type-registry/src/data/data-image-embedding.ts b/packages/node-type-registry/src/data/data-image-embedding.ts index 544957c7b..f7f4dc748 100644 --- a/packages/node-type-registry/src/data/data-image-embedding.ts +++ b/packages/node-type-registry/src/data/data-image-embedding.ts @@ -71,7 +71,8 @@ export const DataImageEmbedding: NodeTypeDefinition = { payload_custom: { type: 'object', additionalProperties: { - type: 'string' + type: 'string', + format: 'column-ref' }, description: 'Custom payload key-to-column mapping for the job trigger', default: { diff --git a/packages/node-type-registry/src/data/data-job-trigger.ts b/packages/node-type-registry/src/data/data-job-trigger.ts index 06b0b99e1..490b7d640 100644 --- a/packages/node-type-registry/src/data/data-job-trigger.ts +++ b/packages/node-type-registry/src/data/data-job-trigger.ts @@ -64,7 +64,8 @@ export const DataJobTrigger: NodeTypeDefinition = { payload_custom: { type: 'object', additionalProperties: { - type: 'string' + type: 'string', + format: 'column-ref' }, description: 'Key-to-column mapping for custom payload (e.g., {"invoice_id": "id", "total": "amount"})' }, diff --git a/packages/node-type-registry/src/data/data-ownership-in-entity.ts b/packages/node-type-registry/src/data/data-ownership-in-entity.ts index f8473bcdc..e79f48ea9 100644 --- a/packages/node-type-registry/src/data/data-ownership-in-entity.ts +++ b/packages/node-type-registry/src/data/data-ownership-in-entity.ts @@ -9,6 +9,18 @@ export const DataOwnershipInEntity: NodeTypeDefinition = { parameter_schema: { type: 'object', properties: { + owner_field_name: { + type: 'string', + format: 'column-ref', + description: 'Column name for the owner reference', + default: 'owner_id' + }, + entity_field_name: { + type: 'string', + format: 'column-ref', + description: 'Column name for the entity reference', + default: 'entity_id' + }, include_id: { type: 'boolean', description: 'If true, also adds a UUID primary key column with auto-generation', diff --git a/packages/node-type-registry/src/data/data-peoplestamps.ts b/packages/node-type-registry/src/data/data-peoplestamps.ts index 7598287e3..6322153b4 100644 --- a/packages/node-type-registry/src/data/data-peoplestamps.ts +++ b/packages/node-type-registry/src/data/data-peoplestamps.ts @@ -9,6 +9,18 @@ export const DataPeoplestamps: NodeTypeDefinition = { parameter_schema: { type: 'object', properties: { + created_by_field: { + type: 'string', + format: 'column-ref', + description: 'Column name for the creating user reference', + default: 'created_by' + }, + updated_by_field: { + type: 'string', + format: 'column-ref', + description: 'Column name for the last-updating user reference', + default: 'updated_by' + }, include_id: { type: 'boolean', description: 'If true, also adds a UUID primary key column with auto-generation', diff --git a/packages/node-type-registry/src/data/data-publishable.ts b/packages/node-type-registry/src/data/data-publishable.ts index 374e83560..65499523a 100644 --- a/packages/node-type-registry/src/data/data-publishable.ts +++ b/packages/node-type-registry/src/data/data-publishable.ts @@ -9,6 +9,18 @@ export const DataPublishable: NodeTypeDefinition = { parameter_schema: { type: 'object', properties: { + is_published_field: { + type: 'string', + format: 'column-ref', + description: 'Column name for the published boolean flag', + default: 'is_published' + }, + published_at_field: { + type: 'string', + format: 'column-ref', + description: 'Column name for the publish timestamp', + default: 'published_at' + }, include_id: { type: 'boolean', description: 'If true, also adds a UUID primary key column with auto-generation', diff --git a/packages/node-type-registry/src/data/data-soft-delete.ts b/packages/node-type-registry/src/data/data-soft-delete.ts index fc656aade..9406e4ea3 100644 --- a/packages/node-type-registry/src/data/data-soft-delete.ts +++ b/packages/node-type-registry/src/data/data-soft-delete.ts @@ -9,6 +9,18 @@ export const DataSoftDelete: NodeTypeDefinition = { parameter_schema: { type: 'object', properties: { + deleted_at_field: { + type: 'string', + format: 'column-ref', + description: 'Column name for the soft-delete timestamp', + default: 'deleted_at' + }, + is_deleted_field: { + type: 'string', + format: 'column-ref', + description: 'Column name for the soft-delete boolean flag', + default: 'is_deleted' + }, include_id: { type: 'boolean', description: 'If true, also adds a UUID primary key column with auto-generation', diff --git a/packages/node-type-registry/src/data/data-timestamps.ts b/packages/node-type-registry/src/data/data-timestamps.ts index 6d01e37b1..2ae70e07a 100644 --- a/packages/node-type-registry/src/data/data-timestamps.ts +++ b/packages/node-type-registry/src/data/data-timestamps.ts @@ -9,6 +9,18 @@ export const DataTimestamps: NodeTypeDefinition = { parameter_schema: { type: 'object', properties: { + created_at_field: { + type: 'string', + format: 'column-ref', + description: 'Column name for the creation timestamp', + default: 'created_at' + }, + updated_at_field: { + type: 'string', + format: 'column-ref', + description: 'Column name for the last-updated timestamp', + default: 'updated_at' + }, include_id: { type: 'boolean', description: 'If true, also adds a UUID primary key column with auto-generation', diff --git a/packages/node-type-registry/src/view/view-aggregated.ts b/packages/node-type-registry/src/view/view-aggregated.ts index a99f4e1ae..c031b0679 100644 --- a/packages/node-type-registry/src/view/view-aggregated.ts +++ b/packages/node-type-registry/src/view/view-aggregated.ts @@ -44,6 +44,7 @@ export const ViewAggregated: NodeTypeDefinition = { }, alias: { type: 'string', + format: 'column-ref', description: 'Output column name' } },