@ductape/sdk 0.1.153 → 0.1.154

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.
@@ -0,0 +1,46 @@
1
+ import type { IActionDefinition } from '../types/action.interface';
2
+ export interface IDatabaseActionSchemaNode {
3
+ type?: string | string[];
4
+ properties?: Record<string, IDatabaseActionSchemaNode>;
5
+ required?: string[];
6
+ items?: IDatabaseActionSchemaNode;
7
+ description?: string;
8
+ additionalProperties?: boolean;
9
+ }
10
+ export interface IDatabaseActionOutputContract {
11
+ operation: string;
12
+ adapter: string;
13
+ adapterVersion?: string;
14
+ table: string;
15
+ input: IDatabaseActionSchemaNode;
16
+ normalizedOutput: IDatabaseActionSchemaNode | null;
17
+ adapterOutput?: IDatabaseActionSchemaNode;
18
+ rowSchema: IDatabaseActionSchemaNode | null;
19
+ cardinality: 'many' | 'zero_or_one' | 'mutation_many' | 'unknown';
20
+ returnsAffectedRows: boolean;
21
+ returnedRows: 'always' | 'when_returning' | 'never' | 'unknown';
22
+ createdRecordPath?: string;
23
+ followUpQueryRequired: boolean;
24
+ example: Record<string, unknown> | null;
25
+ confidence: 'exact' | 'partial' | 'unknown';
26
+ warnings: string[];
27
+ }
28
+ export interface IDatabaseTableColumnMetadata {
29
+ name: string;
30
+ type?: string;
31
+ nullable?: boolean;
32
+ defaultValue?: unknown;
33
+ description?: string;
34
+ }
35
+ export interface IDatabaseActionOutputValidation {
36
+ valid: boolean;
37
+ errors: string[];
38
+ }
39
+ /** Derive a static Feature-facing action contract without executing the action. */
40
+ export declare function deriveDatabaseActionOutputContract(action: IActionDefinition | any, options: {
41
+ adapter: string;
42
+ adapterVersion?: string;
43
+ columns?: IDatabaseTableColumnMetadata[];
44
+ }): IDatabaseActionOutputContract;
45
+ /** Validate a runtime value at the producing step boundary against its declared contract. */
46
+ export declare function validateDatabaseActionOutput(value: unknown, contract: IDatabaseActionOutputContract): IDatabaseActionOutputValidation;
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deriveDatabaseActionOutputContract = deriveDatabaseActionOutputContract;
4
+ exports.validateDatabaseActionOutput = validateDatabaseActionOutput;
5
+ const jsonType = (type) => {
6
+ const value = String(type !== null && type !== void 0 ? type : '').toLowerCase();
7
+ if (/int|number|decimal|float|double|numeric|serial/.test(value))
8
+ return 'number';
9
+ if (/bool/.test(value))
10
+ return 'boolean';
11
+ if (/json|object|map/.test(value))
12
+ return 'object';
13
+ if (/array|list|set/.test(value))
14
+ return 'array';
15
+ return 'string';
16
+ };
17
+ const parseTemplate = (value) => {
18
+ if (value && typeof value === 'object')
19
+ return value;
20
+ if (typeof value !== 'string')
21
+ return {};
22
+ try {
23
+ const parsed = JSON.parse(value);
24
+ return parsed && typeof parsed === 'object' ? parsed : {};
25
+ }
26
+ catch (_a) {
27
+ return {};
28
+ }
29
+ };
30
+ const rowSchemaFor = (table, columns) => {
31
+ if (!columns.length)
32
+ return null;
33
+ const properties = {};
34
+ const required = [];
35
+ for (const column of columns) {
36
+ if (!(column === null || column === void 0 ? void 0 : column.name))
37
+ continue;
38
+ const type = jsonType(column.type);
39
+ properties[column.name] = Object.assign({ type: column.nullable ? [type, 'null'] : type }, (column.description ? { description: column.description } : {}));
40
+ if (!column.nullable && column.defaultValue == null)
41
+ required.push(column.name);
42
+ }
43
+ return {
44
+ type: 'object',
45
+ properties,
46
+ required,
47
+ additionalProperties: true,
48
+ description: `${table}.row`,
49
+ };
50
+ };
51
+ const inputSchemaFor = (action) => {
52
+ var _a;
53
+ const properties = {};
54
+ const required = [];
55
+ for (const field of [...(action.data || []), ...(action.filterData || [])]) {
56
+ if (!(field === null || field === void 0 ? void 0 : field.key))
57
+ continue;
58
+ properties[field.key] = Object.assign({ type: jsonType((_a = field.type) !== null && _a !== void 0 ? _a : field.category) }, (field.description ? { description: field.description } : {}));
59
+ if (field.required)
60
+ required.push(field.key);
61
+ }
62
+ return { type: 'object', properties, required, additionalProperties: false };
63
+ };
64
+ const objectEnvelope = (properties, required) => ({ type: 'object', properties, required, additionalProperties: false });
65
+ /** Derive a static Feature-facing action contract without executing the action. */
66
+ function deriveDatabaseActionOutputContract(action, options) {
67
+ var _a, _b, _c;
68
+ const operation = String((_b = (_a = action.operation) !== null && _a !== void 0 ? _a : action.type) !== null && _b !== void 0 ? _b : '').toUpperCase();
69
+ const template = parseTemplate(action.template);
70
+ const returning = template.returning === true;
71
+ const rowSchema = rowSchemaFor(action.tableName, (_c = options.columns) !== null && _c !== void 0 ? _c : []);
72
+ const rowItems = rowSchema !== null && rowSchema !== void 0 ? rowSchema : { type: 'object', additionalProperties: true, description: `${action.tableName}.row (schema unknown)` };
73
+ const rows = { type: 'array', items: rowItems };
74
+ const count = { type: 'number' };
75
+ const warnings = [];
76
+ if (!rowSchema)
77
+ warnings.push(`No static table schema is available for ${action.tableName}; row fields are unknown.`);
78
+ const base = Object.assign(Object.assign({ operation, adapter: options.adapter }, (options.adapterVersion ? { adapterVersion: options.adapterVersion } : {})), { table: action.tableName, input: inputSchemaFor(action), rowSchema, returnsAffectedRows: false, warnings });
79
+ if (operation === 'QUERY' || operation === 'READ') {
80
+ const output = objectEnvelope({ data: rows, count, fields: { type: 'array', items: { type: 'string' } } }, ['data', 'count']);
81
+ const single = Number(template.limit) === 1 || template.single === true || template.findOne === true;
82
+ return Object.assign(Object.assign({}, base), { normalizedOutput: output, adapterOutput: output, cardinality: single ? 'zero_or_one' : 'many', returnedRows: 'always', followUpQueryRequired: false, example: { data: [], count: 0 }, confidence: rowSchema ? 'exact' : 'partial' });
83
+ }
84
+ if (operation === 'INSERT' || operation === 'CREATE') {
85
+ const output = objectEnvelope({ data: rows, count, insertedIds: { type: 'array', items: {} } }, ['data', 'count', 'insertedIds']);
86
+ return Object.assign(Object.assign(Object.assign(Object.assign({}, base), { normalizedOutput: output, adapterOutput: output, cardinality: 'mutation_many', returnsAffectedRows: returning, returnedRows: returning ? 'always' : 'never' }), (returning ? { createdRecordPath: 'data[0]' } : {})), { followUpQueryRequired: !returning, example: { data: returning ? ['<created-row>'] : [], count: '<inserted-count>', insertedIds: ['<inserted-id>'] }, confidence: rowSchema ? 'exact' : 'partial' });
87
+ }
88
+ if (operation === 'UPDATE') {
89
+ const output = objectEnvelope({ data: rows, count }, ['data', 'count']);
90
+ return Object.assign(Object.assign({}, base), { normalizedOutput: output, adapterOutput: output, cardinality: 'mutation_many', returnsAffectedRows: returning, returnedRows: returning ? 'always' : 'never', followUpQueryRequired: false, example: { data: returning ? ['<updated-row>'] : [], count: '<updated-count>' }, confidence: rowSchema ? 'exact' : 'partial' });
91
+ }
92
+ if (operation === 'DELETE') {
93
+ const output = objectEnvelope({ count, data: rows }, ['count']);
94
+ return Object.assign(Object.assign({}, base), { normalizedOutput: output, adapterOutput: output, cardinality: 'mutation_many', returnsAffectedRows: returning, returnedRows: returning ? 'always' : 'never', followUpQueryRequired: false, example: returning ? { count: '<deleted-count>', data: ['<deleted-row>'] } : { count: '<deleted-count>' }, confidence: rowSchema ? 'exact' : 'partial' });
95
+ }
96
+ if (operation === 'RAW_SQL' || operation === 'EXECUTE' || operation === 'RAW') {
97
+ const output = objectEnvelope({
98
+ data: rows,
99
+ count,
100
+ fields: { type: 'array', items: { type: 'string' } },
101
+ rowsAffected: { type: 'number' },
102
+ }, ['data', 'count']);
103
+ return Object.assign(Object.assign({}, base), { normalizedOutput: output, adapterOutput: output, cardinality: 'unknown', returnedRows: 'unknown', followUpQueryRequired: false, example: { data: [], count: 0 }, confidence: 'partial', warnings: [...warnings, 'RAW/EXECUTE cardinality depends on the declared query and cannot be inferred from its operation name.'] });
104
+ }
105
+ return Object.assign(Object.assign({}, base), { normalizedOutput: null, cardinality: 'unknown', returnedRows: 'unknown', followUpQueryRequired: false, example: null, confidence: 'unknown', warnings: [...warnings, `No normalized output contract is registered for operation ${operation || '<missing>'}.`] });
106
+ }
107
+ /** Validate a runtime value at the producing step boundary against its declared contract. */
108
+ function validateDatabaseActionOutput(value, contract) {
109
+ const errors = [];
110
+ const visit = (current, schema, path) => {
111
+ var _a, _b;
112
+ const allowed = Array.isArray(schema.type) ? schema.type : schema.type ? [schema.type] : [];
113
+ const actual = current === null ? 'null' : Array.isArray(current) ? 'array' : typeof current;
114
+ if (allowed.length && !allowed.includes(actual)) {
115
+ errors.push(`${path} must be ${allowed.join(' or ')}, received ${actual}`);
116
+ return;
117
+ }
118
+ if (actual === 'object' && current !== null && !Array.isArray(current)) {
119
+ const object = current;
120
+ for (const required of (_a = schema.required) !== null && _a !== void 0 ? _a : []) {
121
+ if (!(required in object) || object[required] === undefined)
122
+ errors.push(`${path}.${required} is required`);
123
+ }
124
+ for (const [key, child] of Object.entries((_b = schema.properties) !== null && _b !== void 0 ? _b : {})) {
125
+ if (key in object && object[key] !== undefined)
126
+ visit(object[key], child, `${path}.${key}`);
127
+ }
128
+ }
129
+ if (actual === 'array' && schema.items) {
130
+ current.forEach((item, index) => visit(item, schema.items, `${path}[${index}]`));
131
+ }
132
+ };
133
+ if (!contract.normalizedOutput) {
134
+ return { valid: false, errors: ['The action has no declared normalized output contract.'] };
135
+ }
136
+ visit(value, contract.normalizedOutput, '$');
137
+ return { valid: errors.length === 0, errors };
138
+ }
139
+ //# sourceMappingURL=output-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-contract.js","sourceRoot":"","sources":["../../../src/database/actions/output-contract.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ import { IAggregateOptions, IAggregateResult, ICountOptions, ISumOptions, IAvgOp
15
15
  import { ICreateTableOptions, ITableDefinition, IAlterTableOperation, ITableSchema, ITableInfo, ICreateIndexOptions, IDropIndexOptions, IListIndexesOptions, IIndexInfo, IIndexStatistics, SimpleFieldType, ISimpleFieldDefinition, ISimpleSchemaDefinition, ISimpleCreateOptions, ISimpleDropOptions, ISimpleIndexOptions } from './types/schema.interface';
16
16
  import { IIndexFieldDefinition, IConstraintDefinition as IMigrationConstraintDefinition, IMigration, IMigrationHistory, IMigrationStatusResult, IMigrationResult } from './types/migration.interface';
17
17
  import { ISchemaOperationResult } from './schema/schema-manager';
18
- import { IActionDefinition, IActionCreateOptions, IActionUpdateOptions, IActionExecuteOptions } from './types/action.interface';
18
+ import { IActionDefinition, IActionCreateOptions, IActionUpdateOptions, IActionExecuteOptions, IActionResult } from './types/action.interface';
19
19
  import { BaseAdapter } from './adapters/base.adapter';
20
20
  import { TriggerProcessor } from './triggers/trigger-processor';
21
21
  import { TriggerEvent, TriggerTiming, TriggerActionType, ITriggerDefinition, ITriggerContext, ITriggerResult } from './types/trigger.interface';
@@ -1038,7 +1038,7 @@ export declare class DatabaseService {
1038
1038
  * },
1039
1039
  * });
1040
1040
  */
1041
- execute<T = any>(options: IActionExecuteOptions): Promise<T>;
1041
+ execute<T = IActionResult<Record<string, unknown>>>(options: IActionExecuteOptions): Promise<T>;
1042
1042
  private executeResolvedAction;
1043
1043
  /**
1044
1044
  * Dispatches a database operation to run as a scheduled job.