@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.
- package/README.md +83 -52
- package/dist/agents/agent-context.d.ts +1 -1
- package/dist/agents/agent-context.js +1 -1
- package/dist/agents/agent-context.js.map +1 -1
- package/dist/agents/agents.service.js +4 -4
- package/dist/agents/agents.service.js.map +1 -1
- package/dist/agents/types/agents.types.d.ts +6 -6
- package/dist/api/services/featureApi.service.d.ts +199 -0
- package/dist/api/services/featureApi.service.js +201 -0
- package/dist/api/services/featureApi.service.js.map +1 -0
- package/dist/api/services/processorApi.service.d.ts +2 -2
- package/dist/api/services/processorApi.service.js +1 -1
- package/dist/api/services/productsApi.service.d.ts +6 -6
- package/dist/api/services/productsApi.service.js +3 -3
- package/dist/api/services/productsApi.service.js.map +1 -1
- package/dist/api/urls.d.ts +12 -12
- package/dist/api/urls.js +22 -22
- package/dist/api/urls.js.map +1 -1
- package/dist/apps/validators/index.d.ts +5 -1
- package/dist/apps/validators/index.js +9 -1
- package/dist/apps/validators/index.js.map +1 -1
- package/dist/apps/validators/joi-validators/create.appWebhook.validator.d.ts +1 -0
- package/dist/apps/validators/joi-validators/create.appWebhook.validator.js +1 -0
- package/dist/apps/validators/joi-validators/create.appWebhook.validator.js.map +1 -1
- package/dist/apps/validators/joi-validators/create.appWebhookEvent.validator.d.ts +1 -0
- package/dist/apps/validators/joi-validators/create.appWebhookEvent.validator.js +1 -0
- package/dist/apps/validators/joi-validators/create.appWebhookEvent.validator.js.map +1 -1
- package/dist/apps/validators/joi-validators/update.appWebhook.validator.d.ts +1 -0
- package/dist/apps/validators/joi-validators/update.appWebhook.validator.js +1 -0
- package/dist/apps/validators/joi-validators/update.appWebhook.validator.js.map +1 -1
- package/dist/apps/validators/joi-validators/update.appWebhookEvent.validator.d.ts +1 -0
- package/dist/apps/validators/joi-validators/update.appWebhookEvent.validator.js +1 -0
- package/dist/apps/validators/joi-validators/update.appWebhookEvent.validator.js.map +1 -1
- package/dist/brokers/brokers.service.d.ts +2 -2
- package/dist/brokers/brokers.service.js +2 -2
- package/dist/brokers/brokers.service.js.map +1 -1
- package/dist/brokers/types/index.d.ts +1 -1
- package/dist/cloud/cloud-database-link.util.js +22 -3
- package/dist/cloud/cloud-database-link.util.js.map +1 -1
- package/dist/cloud/cloud-service-map.util.js +6 -5
- package/dist/cloud/cloud-service-map.util.js.map +1 -1
- package/dist/cloud/index.d.ts +1 -1
- package/dist/cloud/index.js +3 -1
- package/dist/cloud/index.js.map +1 -1
- package/dist/cloud/types/cloud.types.d.ts +1 -1
- package/dist/cloud/vpc-connector-connect.util.d.ts +11 -2
- package/dist/cloud/vpc-connector-connect.util.js +7 -0
- package/dist/cloud/vpc-connector-connect.util.js.map +1 -1
- package/dist/cloud/vpc-connector-tunnel.client.d.ts +26 -0
- package/dist/cloud/vpc-connector-tunnel.client.js +70 -0
- package/dist/cloud/vpc-connector-tunnel.client.js.map +1 -1
- package/dist/database/adapters/mysql.adapter.js +15 -0
- package/dist/database/adapters/mysql.adapter.js.map +1 -1
- package/dist/database/adapters/postgresql.adapter.js +11 -55
- package/dist/database/adapters/postgresql.adapter.js.map +1 -1
- package/dist/database/databases.service.d.ts +3 -3
- package/dist/database/databases.service.js +18 -18
- package/dist/database/databases.service.js.map +1 -1
- package/dist/database/index.d.ts +1 -1
- package/dist/database/triggers/trigger-processor.d.ts +7 -7
- package/dist/database/triggers/trigger-processor.js +17 -17
- package/dist/database/triggers/trigger-processor.js.map +1 -1
- package/dist/database/types/connection.interface.d.ts +0 -2
- package/dist/database/types/index.d.ts +1 -1
- package/dist/database/types/trigger.interface.d.ts +9 -9
- package/dist/database/types/trigger.interface.js +3 -3
- package/dist/database/types/trigger.interface.js.map +1 -1
- package/dist/features/feature-builder.d.ts +70 -0
- package/dist/features/feature-builder.js +348 -0
- package/dist/features/feature-builder.js.map +1 -0
- package/dist/features/feature-executor.d.ts +289 -0
- package/dist/features/feature-executor.js +2444 -0
- package/dist/features/feature-executor.js.map +1 -0
- package/dist/features/features.service.d.ts +412 -0
- package/dist/features/features.service.js +2222 -0
- package/dist/features/features.service.js.map +1 -0
- package/dist/features/index.d.ts +30 -0
- package/dist/features/index.js +64 -0
- package/dist/features/index.js.map +1 -0
- package/dist/features/types/features.types.d.ts +1081 -0
- package/dist/features/types/features.types.js +13 -0
- package/dist/features/types/features.types.js.map +1 -0
- package/dist/features/types/index.d.ts +6 -0
- package/dist/features/types/index.js +23 -0
- package/dist/features/types/index.js.map +1 -0
- package/dist/index.d.ts +35 -48
- package/dist/index.js +48 -63
- package/dist/index.js.map +1 -1
- package/dist/init.interface.d.ts +1 -11
- package/dist/inputs/inputs.service.d.ts +4 -4
- package/dist/inputs/inputs.service.js.map +1 -1
- package/dist/introspect/index.d.ts +31 -0
- package/dist/introspect/index.js +168 -0
- package/dist/introspect/index.js.map +1 -0
- package/dist/jobs/index.d.ts +1 -1
- package/dist/jobs/types.d.ts +3 -3
- package/dist/logs/logs.service.d.ts +0 -3
- package/dist/logs/logs.service.js +1 -4
- package/dist/logs/logs.service.js.map +1 -1
- package/dist/logs/logs.types.d.ts +4 -7
- package/dist/logs/logs.types.js +2 -3
- package/dist/logs/logs.types.js.map +1 -1
- package/dist/processor/services/processor.service.d.ts +27 -26
- package/dist/processor/services/processor.service.js +71 -72
- package/dist/processor/services/processor.service.js.map +1 -1
- package/dist/processor/utils/processor.utils.d.ts +2 -2
- package/dist/processor/utils/processor.utils.js.map +1 -1
- package/dist/products/bootstrap-cache.d.ts +2 -2
- package/dist/products/bootstrap-cache.js +3 -3
- package/dist/products/bootstrap-cache.js.map +1 -1
- package/dist/products/services/products.service.d.ts +32 -57
- package/dist/products/services/products.service.js +44 -397
- package/dist/products/services/products.service.js.map +1 -1
- package/dist/products/validators/index.d.ts +1 -3
- package/dist/products/validators/index.js +1 -5
- package/dist/products/validators/index.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productDatabase.validator.js +1 -1
- package/dist/products/validators/joi-validators/create.productDatabase.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productFeature.validator.d.ts +1 -7
- package/dist/products/validators/joi-validators/create.productFeature.validator.js +6 -61
- package/dist/products/validators/joi-validators/create.productFeature.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/update.productDatabase.validator.js +23 -27
- package/dist/products/validators/joi-validators/update.productDatabase.validator.js.map +1 -1
- package/dist/resilience/fallback.service.js +19 -41
- package/dist/resilience/fallback.service.js.map +1 -1
- package/dist/resilience/healthcheck.service.d.ts +5 -5
- package/dist/resilience/healthcheck.service.js +26 -26
- package/dist/resilience/healthcheck.service.js.map +1 -1
- package/dist/resilience/quota.service.js +17 -27
- package/dist/resilience/quota.service.js.map +1 -1
- package/dist/resilience/resilience-execution.utils.d.ts +2 -2
- package/dist/resilience/resilience-execution.utils.js +7 -7
- package/dist/resilience/resilience-execution.utils.js.map +1 -1
- package/dist/resilience/resilience.service.js +14 -30
- package/dist/resilience/resilience.service.js.map +1 -1
- package/dist/resilience/types/index.d.ts +20 -23
- package/dist/resilience/types/index.js +2 -3
- package/dist/resilience/types/index.js.map +1 -1
- package/dist/types/enums.d.ts +1 -2
- package/dist/types/enums.js +1 -2
- package/dist/types/enums.js.map +1 -1
- package/dist/types/index.types.d.ts +3 -4
- package/dist/types/index.types.js +2 -2
- package/dist/types/index.types.js.map +1 -1
- package/dist/types/logs.types.d.ts +0 -1
- package/dist/types/logs.types.js.map +1 -1
- package/dist/types/processor.types.d.ts +11 -13
- package/dist/types/processor.types.js.map +1 -1
- package/dist/types/productsBuilder.types.d.ts +52 -58
- package/dist/types/productsBuilder.types.js +57 -55
- package/dist/types/productsBuilder.types.js.map +1 -1
- 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;
|