@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.
- package/dist/database/actions/output-contract.d.ts +46 -0
- package/dist/database/actions/output-contract.js +139 -0
- package/dist/database/actions/output-contract.js.map +1 -0
- package/dist/database/databases.service.d.ts +2 -2
- package/dist/database/databases.service.js.map +1 -1
- package/dist/database/index.d.ts +3 -1
- package/dist/database/index.js +5 -2
- package/dist/database/index.js.map +1 -1
- package/dist/database/types/action.interface.d.ts +26 -5
- package/dist/features/feature-executor.js +9 -0
- package/dist/features/feature-executor.js.map +1 -1
- package/dist/features/features.service.js +24 -3
- package/dist/features/features.service.js.map +1 -1
- package/dist/features/types/features.types.d.ts +29 -5
- package/dist/features/types/features.types.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/products/services/products.service.d.ts +1 -0
- package/dist/products/services/products.service.js +21 -2
- package/dist/products/services/products.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/productsBuilder.types.d.ts +16 -0
- package/dist/types/productsBuilder.types.js.map +1 -1
- package/package.json +1 -1
|
@@ -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 =
|
|
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.
|