@ductape/sdk 0.1.26 → 0.1.27

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 (152) hide show
  1. package/README.md +83 -52
  2. package/dist/agents/agent-context.d.ts +1 -1
  3. package/dist/agents/agent-context.js +1 -1
  4. package/dist/agents/agent-context.js.map +1 -1
  5. package/dist/agents/agents.service.js +4 -4
  6. package/dist/agents/agents.service.js.map +1 -1
  7. package/dist/agents/types/agents.types.d.ts +6 -6
  8. package/dist/api/services/featureApi.service.d.ts +199 -0
  9. package/dist/api/services/featureApi.service.js +201 -0
  10. package/dist/api/services/featureApi.service.js.map +1 -0
  11. package/dist/api/services/processorApi.service.d.ts +2 -2
  12. package/dist/api/services/processorApi.service.js +1 -1
  13. package/dist/api/services/productsApi.service.d.ts +6 -6
  14. package/dist/api/services/productsApi.service.js +3 -3
  15. package/dist/api/services/productsApi.service.js.map +1 -1
  16. package/dist/api/urls.d.ts +12 -12
  17. package/dist/api/urls.js +22 -22
  18. package/dist/api/urls.js.map +1 -1
  19. package/dist/apps/validators/index.d.ts +5 -1
  20. package/dist/apps/validators/index.js +9 -1
  21. package/dist/apps/validators/index.js.map +1 -1
  22. package/dist/apps/validators/joi-validators/create.appWebhook.validator.d.ts +1 -0
  23. package/dist/apps/validators/joi-validators/create.appWebhook.validator.js +1 -0
  24. package/dist/apps/validators/joi-validators/create.appWebhook.validator.js.map +1 -1
  25. package/dist/apps/validators/joi-validators/create.appWebhookEvent.validator.d.ts +1 -0
  26. package/dist/apps/validators/joi-validators/create.appWebhookEvent.validator.js +1 -0
  27. package/dist/apps/validators/joi-validators/create.appWebhookEvent.validator.js.map +1 -1
  28. package/dist/apps/validators/joi-validators/update.appWebhook.validator.d.ts +1 -0
  29. package/dist/apps/validators/joi-validators/update.appWebhook.validator.js +1 -0
  30. package/dist/apps/validators/joi-validators/update.appWebhook.validator.js.map +1 -1
  31. package/dist/apps/validators/joi-validators/update.appWebhookEvent.validator.d.ts +1 -0
  32. package/dist/apps/validators/joi-validators/update.appWebhookEvent.validator.js +1 -0
  33. package/dist/apps/validators/joi-validators/update.appWebhookEvent.validator.js.map +1 -1
  34. package/dist/brokers/brokers.service.d.ts +2 -2
  35. package/dist/brokers/brokers.service.js +2 -2
  36. package/dist/brokers/brokers.service.js.map +1 -1
  37. package/dist/brokers/types/index.d.ts +1 -1
  38. package/dist/cloud/cloud-database-link.util.js +22 -3
  39. package/dist/cloud/cloud-database-link.util.js.map +1 -1
  40. package/dist/cloud/cloud-service-map.util.js +6 -5
  41. package/dist/cloud/cloud-service-map.util.js.map +1 -1
  42. package/dist/cloud/index.d.ts +1 -1
  43. package/dist/cloud/index.js +3 -1
  44. package/dist/cloud/index.js.map +1 -1
  45. package/dist/cloud/types/cloud.types.d.ts +1 -1
  46. package/dist/cloud/vpc-connector-connect.util.d.ts +11 -2
  47. package/dist/cloud/vpc-connector-connect.util.js +7 -0
  48. package/dist/cloud/vpc-connector-connect.util.js.map +1 -1
  49. package/dist/cloud/vpc-connector-tunnel.client.d.ts +26 -0
  50. package/dist/cloud/vpc-connector-tunnel.client.js +70 -0
  51. package/dist/cloud/vpc-connector-tunnel.client.js.map +1 -1
  52. package/dist/database/adapters/mysql.adapter.js +15 -0
  53. package/dist/database/adapters/mysql.adapter.js.map +1 -1
  54. package/dist/database/adapters/postgresql.adapter.js +11 -55
  55. package/dist/database/adapters/postgresql.adapter.js.map +1 -1
  56. package/dist/database/databases.service.d.ts +3 -3
  57. package/dist/database/databases.service.js +18 -18
  58. package/dist/database/databases.service.js.map +1 -1
  59. package/dist/database/index.d.ts +1 -1
  60. package/dist/database/triggers/trigger-processor.d.ts +7 -7
  61. package/dist/database/triggers/trigger-processor.js +17 -17
  62. package/dist/database/triggers/trigger-processor.js.map +1 -1
  63. package/dist/database/types/connection.interface.d.ts +0 -2
  64. package/dist/database/types/index.d.ts +1 -1
  65. package/dist/database/types/trigger.interface.d.ts +9 -9
  66. package/dist/database/types/trigger.interface.js +3 -3
  67. package/dist/database/types/trigger.interface.js.map +1 -1
  68. package/dist/features/feature-builder.d.ts +70 -0
  69. package/dist/features/feature-builder.js +348 -0
  70. package/dist/features/feature-builder.js.map +1 -0
  71. package/dist/features/feature-executor.d.ts +289 -0
  72. package/dist/features/feature-executor.js +2444 -0
  73. package/dist/features/feature-executor.js.map +1 -0
  74. package/dist/features/features.service.d.ts +412 -0
  75. package/dist/features/features.service.js +2222 -0
  76. package/dist/features/features.service.js.map +1 -0
  77. package/dist/features/index.d.ts +30 -0
  78. package/dist/features/index.js +64 -0
  79. package/dist/features/index.js.map +1 -0
  80. package/dist/features/types/features.types.d.ts +1081 -0
  81. package/dist/features/types/features.types.js +13 -0
  82. package/dist/features/types/features.types.js.map +1 -0
  83. package/dist/features/types/index.d.ts +6 -0
  84. package/dist/features/types/index.js +23 -0
  85. package/dist/features/types/index.js.map +1 -0
  86. package/dist/index.d.ts +35 -48
  87. package/dist/index.js +48 -63
  88. package/dist/index.js.map +1 -1
  89. package/dist/init.interface.d.ts +1 -11
  90. package/dist/inputs/inputs.service.d.ts +4 -4
  91. package/dist/inputs/inputs.service.js.map +1 -1
  92. package/dist/introspect/index.d.ts +31 -0
  93. package/dist/introspect/index.js +168 -0
  94. package/dist/introspect/index.js.map +1 -0
  95. package/dist/jobs/index.d.ts +1 -1
  96. package/dist/jobs/types.d.ts +3 -3
  97. package/dist/logs/logs.service.d.ts +0 -3
  98. package/dist/logs/logs.service.js +1 -4
  99. package/dist/logs/logs.service.js.map +1 -1
  100. package/dist/logs/logs.types.d.ts +4 -7
  101. package/dist/logs/logs.types.js +2 -3
  102. package/dist/logs/logs.types.js.map +1 -1
  103. package/dist/processor/services/processor.service.d.ts +27 -26
  104. package/dist/processor/services/processor.service.js +71 -72
  105. package/dist/processor/services/processor.service.js.map +1 -1
  106. package/dist/processor/utils/processor.utils.d.ts +2 -2
  107. package/dist/processor/utils/processor.utils.js.map +1 -1
  108. package/dist/products/bootstrap-cache.d.ts +2 -2
  109. package/dist/products/bootstrap-cache.js +3 -3
  110. package/dist/products/bootstrap-cache.js.map +1 -1
  111. package/dist/products/services/products.service.d.ts +32 -57
  112. package/dist/products/services/products.service.js +44 -397
  113. package/dist/products/services/products.service.js.map +1 -1
  114. package/dist/products/validators/index.d.ts +1 -3
  115. package/dist/products/validators/index.js +1 -5
  116. package/dist/products/validators/index.js.map +1 -1
  117. package/dist/products/validators/joi-validators/create.productDatabase.validator.js +1 -1
  118. package/dist/products/validators/joi-validators/create.productDatabase.validator.js.map +1 -1
  119. package/dist/products/validators/joi-validators/create.productFeature.validator.d.ts +1 -7
  120. package/dist/products/validators/joi-validators/create.productFeature.validator.js +6 -61
  121. package/dist/products/validators/joi-validators/create.productFeature.validator.js.map +1 -1
  122. package/dist/products/validators/joi-validators/update.productDatabase.validator.js +23 -27
  123. package/dist/products/validators/joi-validators/update.productDatabase.validator.js.map +1 -1
  124. package/dist/resilience/fallback.service.js +19 -41
  125. package/dist/resilience/fallback.service.js.map +1 -1
  126. package/dist/resilience/healthcheck.service.d.ts +5 -5
  127. package/dist/resilience/healthcheck.service.js +26 -26
  128. package/dist/resilience/healthcheck.service.js.map +1 -1
  129. package/dist/resilience/quota.service.js +17 -27
  130. package/dist/resilience/quota.service.js.map +1 -1
  131. package/dist/resilience/resilience-execution.utils.d.ts +2 -2
  132. package/dist/resilience/resilience-execution.utils.js +7 -7
  133. package/dist/resilience/resilience-execution.utils.js.map +1 -1
  134. package/dist/resilience/resilience.service.js +14 -30
  135. package/dist/resilience/resilience.service.js.map +1 -1
  136. package/dist/resilience/types/index.d.ts +20 -23
  137. package/dist/resilience/types/index.js +2 -3
  138. package/dist/resilience/types/index.js.map +1 -1
  139. package/dist/types/enums.d.ts +1 -2
  140. package/dist/types/enums.js +1 -2
  141. package/dist/types/enums.js.map +1 -1
  142. package/dist/types/index.types.d.ts +3 -4
  143. package/dist/types/index.types.js +2 -2
  144. package/dist/types/index.types.js.map +1 -1
  145. package/dist/types/logs.types.d.ts +0 -1
  146. package/dist/types/logs.types.js.map +1 -1
  147. package/dist/types/processor.types.d.ts +11 -13
  148. package/dist/types/processor.types.js.map +1 -1
  149. package/dist/types/productsBuilder.types.d.ts +52 -58
  150. package/dist/types/productsBuilder.types.js +57 -55
  151. package/dist/types/productsBuilder.types.js.map +1 -1
  152. package/package.json +5 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-builder.js","sourceRoot":"","sources":["../../src/features/feature-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,289 @@
1
+ /**
2
+ * FeatureExecutor - Executes feature steps and manages rollbacks
3
+ *
4
+ * Handles the actual execution of feature steps, including:
5
+ * - Processing each step type (action, database, notification, etc.)
6
+ * - Managing rollback on failure
7
+ * - Tracking feature state and completed steps
8
+ * - Handling signals and checkpoints
9
+ */
10
+ import ProductBuilder from '../products/services/products.service';
11
+ import { IProductFeature } from '../types';
12
+ import { IFeatureServiceConfig, IFeatureExecutionResult, IExecuteFeatureOptions } from './types';
13
+ /**
14
+ * FeatureExecutor handles the execution of feature steps
15
+ */
16
+ export declare class FeatureExecutor {
17
+ private config;
18
+ private _processorService;
19
+ private productBuilder;
20
+ private processorApiService;
21
+ private featureApiService;
22
+ private _graphService;
23
+ private _databaseService;
24
+ private _brokersService;
25
+ private _storageService;
26
+ private _vectorService;
27
+ private _quotaService;
28
+ private _fallbackService;
29
+ private state;
30
+ private feature;
31
+ private productId;
32
+ /** Pending signals waiting to be resolved */
33
+ private pendingSignals;
34
+ /** Signal polling interval (ms) */
35
+ private signalPollInterval;
36
+ /** Signal polling timer */
37
+ private signalPollTimer;
38
+ /** Session log fields for logging */
39
+ private sessionLogFields;
40
+ /** LogService instance for logging operations */
41
+ private logService;
42
+ /** Base log fields inherited by all step logs */
43
+ private baseLogs;
44
+ private _privateKey;
45
+ /** When true, product was already loaded by caller (e.g. FeatureService); skip duplicate init in execute(). */
46
+ private readonly preInitializedProduct;
47
+ /** Set when a graph step runs; we disconnect once at end of execute() instead of per-step. */
48
+ private graphConnectionUsed;
49
+ /** Pre-fetched bootstrap data per step tag (feature batch prefetch). */
50
+ private stepBootstrapCache;
51
+ constructor(config: IFeatureServiceConfig & {
52
+ access_key: string;
53
+ }, feature: IProductFeature, options: IExecuteFeatureOptions, private_key: string, sessionLogFields?: {
54
+ session_user_id?: string;
55
+ session_id?: string;
56
+ session_tag?: string;
57
+ }, preInitializedBuilder?: ProductBuilder);
58
+ /**
59
+ * Get auth payload for API calls
60
+ */
61
+ private getAuthPayload;
62
+ /** Product private key for processor result encryption; must always match backend decryption key. No fallback to workspace key. */
63
+ private getProcessorResultEncryptionKey;
64
+ /** Lazy-initialized processor (shares productBuilder to avoid duplicate product init per step). */
65
+ private getProcessorService;
66
+ /** Lazy-initialized graph service. */
67
+ private getGraphService;
68
+ /** Lazy-initialized database service. */
69
+ private getDatabaseService;
70
+ /** Lazy-initialized brokers service. Used for produce steps so ctx.messaging.produce uses the same path as ductape.messaging.produce (pool, tracking, cache). */
71
+ private getBrokersService;
72
+ /** Lazy-initialized storage service. Used for storage steps (upload/download/delete) instead of processor. */
73
+ private getStorageService;
74
+ /** Lazy-initialized vector service. Used for vector steps (query/upsert/delete/execute action). */
75
+ private getVectorService;
76
+ /** Lazy-initialized quota service. */
77
+ private getQuotaService;
78
+ /** Lazy-initialized fallback service. */
79
+ private getFallbackService;
80
+ /**
81
+ * Persist feature execution result to backend
82
+ */
83
+ private persistExecutionResult;
84
+ /**
85
+ * Step processor results must always use component: 'feature_step'.
86
+ * step_type is the step kind: action, notification, storage, produce, database_action, graph, vector, quota, fallback, child_workflow, sleep, wait_for_signal, checkpoint, feature.
87
+ */
88
+ private getStepTypeForResult;
89
+ /**
90
+ * Persist individual step execution to backend (input/output per step in processor result).
91
+ * Processor results for steps always have component: 'feature_step' and step_type set to the step kind.
92
+ */
93
+ private persistStepResult;
94
+ /**
95
+ * Initialize logging service and base log fields
96
+ */
97
+ private initializeLogging;
98
+ /**
99
+ * Log a step execution event
100
+ */
101
+ private logStepEvent;
102
+ /**
103
+ * Execute the feature
104
+ */
105
+ execute<T = unknown>(): Promise<IFeatureExecutionResult<T>>;
106
+ /**
107
+ * Execute a single step
108
+ */
109
+ private executeStep;
110
+ /**
111
+ * Execute an action step
112
+ */
113
+ private executeActionStep;
114
+ /**
115
+ * Execute a database step: use query/insert/update/delete/upsert for DB operations, execute() for named actions.
116
+ */
117
+ private executeDatabaseStep;
118
+ /**
119
+ * Execute a notification step
120
+ */
121
+ private executeNotificationStep;
122
+ /**
123
+ * Execute a storage step using StorageService (upload, download, or delete by input shape).
124
+ */
125
+ private executeStorageStep;
126
+ /**
127
+ * Execute a produce step (message broker produce to topic).
128
+ * Uses BrokersService so ctx.messaging.produce has the same behavior as ductape.messaging.produce (pool, tracking, cache).
129
+ */
130
+ private executeProduceStep;
131
+ /**
132
+ * Execute a graph step
133
+ * Supports: execute (custom action), createNode, updateNode, deleteNode,
134
+ * createRelationship, deleteRelationship, query
135
+ */
136
+ private executeGraphStep;
137
+ /**
138
+ * Execute a vector step (query, upsert, deleteVectors, or custom action via execute).
139
+ */
140
+ private executeVectorStep;
141
+ /**
142
+ * Execute a quota step
143
+ */
144
+ private executeQuotaStep;
145
+ /**
146
+ * Execute a fallback step
147
+ */
148
+ private executeFallbackStep;
149
+ /**
150
+ * Execute a child feature step
151
+ */
152
+ private executeChildWorkflowStep;
153
+ /**
154
+ * Execute a sleep step
155
+ */
156
+ private executeSleepStep;
157
+ /**
158
+ * Execute a wait for signal step
159
+ * Polls the backend API for signal delivery until received or timeout
160
+ */
161
+ private executeWaitForSignalStep;
162
+ /**
163
+ * Start polling the backend for signal delivery
164
+ */
165
+ private startSignalPolling;
166
+ /**
167
+ * Stop the signal polling timer
168
+ */
169
+ private stopSignalPolling;
170
+ /**
171
+ * Deliver a signal to this feature (called by external signal handler)
172
+ */
173
+ deliverSignal(signalName: string, payload: unknown): boolean;
174
+ /**
175
+ * Execute a checkpoint step
176
+ */
177
+ private executeCheckpointStep;
178
+ /**
179
+ * Execute rollback for completed steps
180
+ */
181
+ private executeRollback;
182
+ /**
183
+ * Execute a rollback handler
184
+ */
185
+ private executeRollbackHandler;
186
+ /**
187
+ * Resolve input by replacing data references and all $ operators (per docs/operators).
188
+ * Top-level keys are resolved in parallel for better performance.
189
+ */
190
+ private resolveInput;
191
+ /**
192
+ * Resolve a single value: refs ($Input{}, $Step{}, etc.) and operators ($Add, $Concat, etc.)
193
+ */
194
+ private resolveValue;
195
+ /** Strip surrounding quotes from a string literal (e.g. '"foo"' -> 'foo') */
196
+ private unquote;
197
+ /**
198
+ * Resolve string value: data references and all $ operators from docs/operators
199
+ * Supports: $Input{}, $Step{}, $Sequence{}, $State{}, $StepOutput{}, $Now,
200
+ * $Add, $Subtract, $Concat, $Substring, $Trim, $Split, $Pick, $Join,
201
+ * $Uppercase, $Lowercase, $Dateformat, $Replace, $Filter, $Find, $Size, $Length
202
+ */
203
+ private resolveStringValue;
204
+ /**
205
+ * Get nested value from object using dot notation
206
+ */
207
+ private getNestedValue;
208
+ /**
209
+ * Get ordered steps respecting dependencies
210
+ */
211
+ private getOrderedSteps;
212
+ /**
213
+ * Pre-fetch all action/notification/storage bootstrap data for the given steps in one backend call.
214
+ * Results are cached in stepBootstrapCache by step tag so step executors can skip their own bootstrap calls.
215
+ */
216
+ private prefetchStepBootstrap;
217
+ /**
218
+ * Find a step by tag
219
+ */
220
+ private findStep;
221
+ /**
222
+ * Evaluate a condition string.
223
+ * Supports: (cond1) || (cond2), (cond1) && (cond2), and in each part: ==, ===, !=, !==, >, <, >=, <=.
224
+ * Left/right can be $Step{}, $Input{}, etc. (resolved before comparison).
225
+ */
226
+ private evaluateCondition;
227
+ /** Comparison operators in parse order (multi-char before single-char). */
228
+ private static readonly CONDITION_OP_REGEX;
229
+ /**
230
+ * Coerce a trimmed condition literal (after resolve) to a comparable value: boolean, number, or string.
231
+ */
232
+ private conditionLiteral;
233
+ private evaluateConditionPart;
234
+ private compareLooseEqual;
235
+ /**
236
+ * Compare for ordering (>, <, >=, <=). Uses numeric comparison when both sides are numeric, else string.
237
+ */
238
+ private compareOrdered;
239
+ /**
240
+ * Returns true if the value tree contains any $ operator reference ($Input{}, $Step{}, $Sequence{}, etc.).
241
+ * Used to distinguish output templates (to resolve) from type-only schemas (to ignore for persistence).
242
+ */
243
+ private hasOperatorRefsInOutput;
244
+ /**
245
+ * Returns true if the object looks like a feature output type schema (e.g. { orderId: { type: 'string' }, ... })
246
+ * rather than a template with $ operators or literal values.
247
+ */
248
+ private isOutputTypeSchema;
249
+ /**
250
+ * Determine feature output for persistence and return value.
251
+ * - If feature.output has $ operator refs: resolve template to actual values (matches definition).
252
+ * - If feature.output is a type-only schema: use execution result (last step or step_outputs) so stored result matches runtime output, not the schema.
253
+ * - If no feature.output: use last step result or {}.
254
+ */
255
+ private determineWorkflowOutput;
256
+ /**
257
+ * Build output with same keys as feature definition, values from step_outputs (last step first, then others).
258
+ * Ensures persisted result shape matches the feature definition output shape.
259
+ */
260
+ private buildOutputFromStepsToMatchDefinition;
261
+ /**
262
+ * Sleep for specified duration
263
+ */
264
+ private sleep;
265
+ /**
266
+ * Resume a feature from a previous state
267
+ *
268
+ * @param options - Resume options including completed steps, state, and starting point
269
+ */
270
+ resume<T = unknown>(options: IResumeOptions): Promise<IFeatureExecutionResult<T>>;
271
+ }
272
+ /**
273
+ * Options for resuming a feature
274
+ */
275
+ export interface IResumeOptions {
276
+ /** Previously completed steps */
277
+ completed_steps?: string[];
278
+ /** Previous feature state */
279
+ state?: Record<string, unknown>;
280
+ /** Resume from specific checkpoint */
281
+ from_checkpoint?: string;
282
+ /** Resume from specific step */
283
+ from_step?: string;
284
+ /** Steps to skip */
285
+ skip_steps?: string[];
286
+ /** Override step outputs */
287
+ step_outputs?: Record<string, unknown>;
288
+ }
289
+ export default FeatureExecutor;