@forgehive/task 0.1.6 → 0.1.8
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/index.d.ts +39 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +145 -77
- package/dist/index.js.map +1 -1
- package/dist/test/safe-replay-complex-boundary.test.d.ts +2 -0
- package/dist/test/safe-replay-complex-boundary.test.d.ts.map +1 -0
- package/dist/test/safe-replay-complex-boundary.test.js +314 -0
- package/dist/test/safe-replay-complex-boundary.test.js.map +1 -0
- package/dist/test/safe-replay.test.d.ts +2 -0
- package/dist/test/safe-replay.test.d.ts.map +1 -0
- package/dist/test/safe-replay.test.js +159 -0
- package/dist/test/safe-replay.test.js.map +1 -0
- package/dist/test/safe-run.test.js +55 -29
- package/dist/test/safe-run.test.js.map +1 -1
- package/dist/test/task-with-boundaries.test.js.map +1 -1
- package/dist/utils/boundary.d.ts +24 -5
- package/dist/utils/boundary.d.ts.map +1 -1
- package/dist/utils/boundary.js +16 -10
- package/dist/utils/boundary.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +258 -96
- package/src/test/safe-replay-complex-boundary.test.ts +385 -0
- package/src/test/safe-replay.test.ts +189 -0
- package/src/test/safe-run.test.ts +58 -31
- package/src/test/task-with-boundaries.test.ts +2 -2
- package/src/utils/boundary.ts +44 -17
package/dist/index.d.ts
CHANGED
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
import { Schema, type SchemaType, type InferSchema, type SchemaDescription } from '@forgehive/schema';
|
|
2
|
-
import { type Mode, type Boundaries, type WrappedBoundaries, type WrappedBoundaryFunction } from './utils/boundary';
|
|
2
|
+
import { type Mode, type Boundaries, type WrappedBoundaries, type WrappedBoundaryFunction, type BoundaryRecord, type BoundaryTapeData } from './utils/boundary';
|
|
3
3
|
export interface Task {
|
|
4
4
|
id: string;
|
|
5
5
|
title: string;
|
|
6
6
|
completed: boolean;
|
|
7
7
|
}
|
|
8
8
|
export type BaseFunction = (...args: any[]) => any;
|
|
9
|
-
export type { BoundaryFunction, WrappedBoundaryFunction, Boundaries, WrappedBoundaries, Mode } from './utils/boundary';
|
|
9
|
+
export type { BoundaryFunction, WrappedBoundaryFunction, Boundaries, WrappedBoundaries, Mode, BoundarySuccessRecord, BoundaryErrorRecord, BoundaryRecord, BoundaryTapeData } from './utils/boundary';
|
|
10
10
|
export { Schema };
|
|
11
11
|
export interface TaskConfig<B extends Boundaries = Boundaries> {
|
|
12
12
|
schema?: Schema<Record<string, SchemaType>>;
|
|
13
13
|
mode?: Mode;
|
|
14
14
|
boundaries?: B;
|
|
15
|
-
boundariesData?:
|
|
15
|
+
boundariesData?: BoundaryTapeData;
|
|
16
|
+
}
|
|
17
|
+
export interface ReplayConfig<B extends Boundaries = Boundaries> {
|
|
18
|
+
boundaries: {
|
|
19
|
+
[K in keyof B]?: Mode;
|
|
20
|
+
};
|
|
16
21
|
}
|
|
17
22
|
/**
|
|
18
23
|
* Represents the record passed to task listeners
|
|
@@ -27,7 +32,25 @@ export interface TaskRecord<InputType = unknown, OutputType = unknown> {
|
|
|
27
32
|
/** Boundary execution data */
|
|
28
33
|
boundaries?: Record<string, unknown>;
|
|
29
34
|
}
|
|
35
|
+
export type BoundaryLog<I extends unknown[] = unknown[], O = unknown> = BoundaryRecord<I, O>;
|
|
36
|
+
export type BoundaryLogsFor<B extends Boundaries> = {
|
|
37
|
+
[K in keyof B]: B[K] extends (...args: infer I) => Promise<infer O> ? BoundaryLog<I, O>[] : BoundaryLog[];
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Represents the execution record of a task, including input, output, error, and boundary data
|
|
41
|
+
*/
|
|
42
|
+
export interface ExecutionRecord<InputType = unknown, OutputType = unknown, B extends Boundaries = Boundaries> {
|
|
43
|
+
/** The input arguments passed to the task */
|
|
44
|
+
input: InputType;
|
|
45
|
+
/** The output returned by the task (if successful) */
|
|
46
|
+
output?: OutputType | null;
|
|
47
|
+
/** The error message if the task failed */
|
|
48
|
+
error?: string;
|
|
49
|
+
/** Boundary execution data */
|
|
50
|
+
boundaries: BoundaryLogsFor<B>;
|
|
51
|
+
}
|
|
30
52
|
export interface TaskInstanceType<Func extends BaseFunction = BaseFunction, B extends Boundaries = Boundaries> {
|
|
53
|
+
version: string;
|
|
31
54
|
getMode: () => Mode;
|
|
32
55
|
setMode: (mode: Mode) => void;
|
|
33
56
|
setSchema: (base: Schema<Record<string, SchemaType>>) => void;
|
|
@@ -42,28 +65,30 @@ export interface TaskInstanceType<Func extends BaseFunction = BaseFunction, B ex
|
|
|
42
65
|
emit: (data: Partial<TaskRecord>) => void;
|
|
43
66
|
asBoundary: () => (args: Parameters<Func>[0]) => Promise<ReturnType<Func>>;
|
|
44
67
|
getBoundaries: () => WrappedBoundaries<B>;
|
|
45
|
-
setBoundariesData: (boundariesData:
|
|
68
|
+
setBoundariesData: (boundariesData: BoundaryTapeData) => void;
|
|
46
69
|
getBondariesData: () => Record<string, unknown>;
|
|
47
70
|
mockBoundary: <K extends keyof B>(name: K, mockFn: WrappedBoundaryFunction) => void;
|
|
48
71
|
resetMock: <K extends keyof B>(name: K) => void;
|
|
49
72
|
resetMocks: () => void;
|
|
50
73
|
run: (argv?: Parameters<Func>[0]) => Promise<ReturnType<Func>>;
|
|
51
|
-
safeRun: (argv?: Parameters<Func>[0]) => Promise<[
|
|
74
|
+
safeRun: (argv?: Parameters<Func>[0]) => Promise<[ReturnType<Func> | null, Error | null, ExecutionRecord<Parameters<Func>[0], ReturnType<Func>, B>]>;
|
|
75
|
+
safeReplay: (executionLog: ExecutionRecord<Parameters<Func>[0], ReturnType<Func>, B>, config: ReplayConfig<B>) => Promise<[ReturnType<Func> | null, Error | null, ExecutionRecord<Parameters<Func>[0], ReturnType<Func>, B>]>;
|
|
52
76
|
}
|
|
53
|
-
export type InferSchemaType<S> = S extends Schema<any> ? InferSchema<S> : Record<string, unknown>;
|
|
54
|
-
export type TaskFunction<S, B extends Boundaries> = (argv: InferSchemaType<S>, boundaries: WrappedBoundaries<B>) => Promise<any>;
|
|
55
77
|
type BoundaryData = Array<{
|
|
56
78
|
input: unknown[];
|
|
57
79
|
output?: unknown;
|
|
58
80
|
}>;
|
|
81
|
+
export type InferSchemaType<S> = S extends Schema<any> ? InferSchema<S> : Record<string, unknown>;
|
|
82
|
+
export type TaskFunction<S, B extends Boundaries> = (argv: InferSchemaType<S>, boundaries: WrappedBoundaries<B>) => Promise<any>;
|
|
59
83
|
export declare const Task: {
|
|
60
84
|
new <B extends Boundaries = Boundaries, Func extends BaseFunction = BaseFunction>(fn: Func, conf?: TaskConfig<B>): {
|
|
85
|
+
version: string;
|
|
61
86
|
_fn: Func;
|
|
62
87
|
_mode: Mode;
|
|
63
88
|
_coolDown: number;
|
|
64
89
|
_description?: string;
|
|
65
90
|
_boundariesDefinition: B;
|
|
66
|
-
_boundariesData:
|
|
91
|
+
_boundariesData: BoundaryTapeData | null;
|
|
67
92
|
_accumulatedBoundariesData: Record<string, BoundaryData>;
|
|
68
93
|
_boundaryMocks: Record<string, WrappedBoundaryFunction>;
|
|
69
94
|
_schema: Schema<Record<string, SchemaType>> | undefined;
|
|
@@ -81,7 +106,7 @@ export declare const Task: {
|
|
|
81
106
|
removeListener(): void;
|
|
82
107
|
emit(data: Partial<TaskRecord>): void;
|
|
83
108
|
getBoundaries(): WrappedBoundaries<B>;
|
|
84
|
-
setBoundariesData(boundariesData:
|
|
109
|
+
setBoundariesData(boundariesData: BoundaryTapeData): void;
|
|
85
110
|
getBondariesData(): Record<string, unknown>;
|
|
86
111
|
/**
|
|
87
112
|
* Mocks a specific boundary function for testing
|
|
@@ -98,13 +123,15 @@ export declare const Task: {
|
|
|
98
123
|
* Resets all mocked boundaries back to their original functions
|
|
99
124
|
*/
|
|
100
125
|
resetMocks(): void;
|
|
101
|
-
_createBounderies({ definition, baseData, mode }: {
|
|
126
|
+
_createBounderies({ definition, baseData, mode, boundaryModes }: {
|
|
102
127
|
definition: B;
|
|
103
|
-
baseData:
|
|
128
|
+
baseData: BoundaryTapeData | null;
|
|
104
129
|
mode?: Mode;
|
|
130
|
+
boundaryModes?: Record<string, Mode | undefined>;
|
|
105
131
|
}): WrappedBoundaries<B>;
|
|
106
132
|
asBoundary(): (args: Parameters<Func>[0]) => Promise<ReturnType<Func>>;
|
|
107
|
-
safeRun(argv?: Parameters<Func>[0]): Promise<[
|
|
133
|
+
safeRun(argv?: Parameters<Func>[0]): Promise<[ReturnType<Func> | null, Error | null, ExecutionRecord<Parameters<Func>[0], ReturnType<Func>, B>]>;
|
|
134
|
+
safeReplay(executionLog: ExecutionRecord<Parameters<Func>[0], ReturnType<Func>, B>, config?: ReplayConfig<B>): Promise<[ReturnType<Func> | null, Error | null, ExecutionRecord<Parameters<Func>[0], ReturnType<Func>, B>]>;
|
|
108
135
|
run(argv?: Parameters<Func>[0]): Promise<ReturnType<Func>>;
|
|
109
136
|
};
|
|
110
137
|
};
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrG,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -13,6 +13,7 @@ const Task = class Task {
|
|
|
13
13
|
boundariesData: undefined
|
|
14
14
|
}) {
|
|
15
15
|
var _a, _b, _c;
|
|
16
|
+
this.version = '0.1.7';
|
|
16
17
|
this._accumulatedBoundariesData = {};
|
|
17
18
|
// For storing mocks
|
|
18
19
|
this._boundaryMocks = {};
|
|
@@ -146,22 +147,24 @@ const Task = class Task {
|
|
|
146
147
|
resetMocks() {
|
|
147
148
|
this._boundaryMocks = {};
|
|
148
149
|
}
|
|
149
|
-
_createBounderies({ definition, baseData, mode = 'proxy' }) {
|
|
150
|
+
_createBounderies({ definition, baseData, mode = 'proxy', boundaryModes = {} }) {
|
|
150
151
|
const boundariesFns = {};
|
|
151
152
|
for (const name in definition) {
|
|
153
|
+
// Get the configured mode for this boundary or use default
|
|
154
|
+
const boundaryMode = boundaryModes[name] || mode;
|
|
152
155
|
// Check if we have a mock for this boundary
|
|
153
156
|
if (this._boundaryMocks[name]) {
|
|
154
157
|
boundariesFns[name] = this._boundaryMocks[name];
|
|
155
158
|
continue;
|
|
156
159
|
}
|
|
157
|
-
//
|
|
160
|
+
// Create the boundary
|
|
158
161
|
const boundary = (0, boundary_1.createBoundary)(definition[name]);
|
|
159
162
|
if (baseData !== null && typeof baseData[name] !== 'undefined') {
|
|
160
|
-
const
|
|
161
|
-
|
|
162
|
-
boundary.setTape(tape);
|
|
163
|
+
const boundaryData = baseData[name];
|
|
164
|
+
boundary.setTape(boundaryData);
|
|
163
165
|
}
|
|
164
|
-
|
|
166
|
+
// Set the mode after setting the tape
|
|
167
|
+
boundary.setMode(boundaryMode);
|
|
165
168
|
boundariesFns[name] = boundary;
|
|
166
169
|
}
|
|
167
170
|
return boundariesFns;
|
|
@@ -173,99 +176,164 @@ const Task = class Task {
|
|
|
173
176
|
}
|
|
174
177
|
async safeRun(argv) {
|
|
175
178
|
var _a;
|
|
179
|
+
// Initialize log item
|
|
180
|
+
const logItem = {
|
|
181
|
+
input: argv,
|
|
182
|
+
boundaries: {}
|
|
183
|
+
};
|
|
184
|
+
// Create fresh boundaries for this execution
|
|
185
|
+
const executionBoundaries = this._createBounderies({
|
|
186
|
+
definition: this._boundariesDefinition,
|
|
187
|
+
baseData: this._boundariesData,
|
|
188
|
+
mode: this._mode
|
|
189
|
+
});
|
|
190
|
+
// Start run for each boundary
|
|
191
|
+
for (const name in executionBoundaries) {
|
|
192
|
+
const boundary = executionBoundaries[name];
|
|
193
|
+
boundary.startRun();
|
|
194
|
+
}
|
|
176
195
|
// Handle schema validation
|
|
177
196
|
if (this._schema) {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
});
|
|
190
|
-
return [new Error(errorMessage), null, null];
|
|
197
|
+
const validation = this._schema.safeParse(argv);
|
|
198
|
+
if (!validation.success) {
|
|
199
|
+
const errorDetails = (_a = validation.error) === null || _a === void 0 ? void 0 : _a.errors.map(err => `${err.path.join('.')}: ${err.message}`).join(', ');
|
|
200
|
+
const errorMessage = errorDetails
|
|
201
|
+
? `Invalid input on: ${errorDetails}`
|
|
202
|
+
: 'Invalid input';
|
|
203
|
+
logItem.error = errorMessage;
|
|
204
|
+
logItem.boundaries = {};
|
|
205
|
+
// Add boundary elements empty
|
|
206
|
+
for (const name in executionBoundaries) {
|
|
207
|
+
logItem.boundaries[name] = [];
|
|
191
208
|
}
|
|
209
|
+
this.emit(logItem);
|
|
210
|
+
return [null, new Error(errorMessage), logItem];
|
|
192
211
|
}
|
|
193
|
-
|
|
194
|
-
|
|
212
|
+
}
|
|
213
|
+
let output = null;
|
|
214
|
+
let error = null;
|
|
215
|
+
try {
|
|
216
|
+
// Execute the task function
|
|
217
|
+
output = await this._fn(argv, executionBoundaries);
|
|
218
|
+
logItem.output = output;
|
|
219
|
+
}
|
|
220
|
+
catch (caughtError) {
|
|
221
|
+
const errorMessage = caughtError instanceof Error ? caughtError.message : String(caughtError);
|
|
222
|
+
logItem.error = errorMessage;
|
|
223
|
+
error = new Error(errorMessage);
|
|
224
|
+
}
|
|
225
|
+
// Process boundary data after execution (both success and error cases)
|
|
226
|
+
const boundariesRunLog = {};
|
|
227
|
+
for (const name in executionBoundaries) {
|
|
228
|
+
const boundary = executionBoundaries[name];
|
|
229
|
+
const runData = boundary.getRunData();
|
|
230
|
+
// Add to the run log
|
|
231
|
+
boundariesRunLog[name] = runData;
|
|
232
|
+
// Accumulate in the task's total boundaries data
|
|
233
|
+
if (!this._accumulatedBoundariesData[name]) {
|
|
234
|
+
this._accumulatedBoundariesData[name] = [];
|
|
235
|
+
}
|
|
236
|
+
// Get the current accumulated data for this boundary
|
|
237
|
+
const currentData = this._accumulatedBoundariesData[name];
|
|
238
|
+
// Add the new run data
|
|
239
|
+
if (Array.isArray(runData) && runData.length > 0) {
|
|
240
|
+
// Cast the run data to the correct type
|
|
241
|
+
this._accumulatedBoundariesData[name] = [...currentData, ...runData];
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
// Set boundaries in log item before emitting
|
|
245
|
+
logItem.boundaries = boundariesRunLog;
|
|
246
|
+
// Emit the log item
|
|
247
|
+
this.emit(logItem);
|
|
248
|
+
// Return the error, output and log item
|
|
249
|
+
return [output, error, logItem];
|
|
250
|
+
}
|
|
251
|
+
async safeReplay(executionLog, config = {
|
|
252
|
+
boundaries: {}
|
|
253
|
+
}) {
|
|
254
|
+
var _a;
|
|
255
|
+
// Extract the input from the execution log
|
|
256
|
+
const argv = executionLog.input;
|
|
257
|
+
// Initialize log item for this replay
|
|
258
|
+
const logItem = {
|
|
259
|
+
input: argv,
|
|
260
|
+
boundaries: {}
|
|
261
|
+
};
|
|
262
|
+
// Create boundaries for this replay execution with custom modes based on config
|
|
263
|
+
const boundariesConfig = {};
|
|
264
|
+
// Setup boundary data for replay mode boundaries
|
|
265
|
+
for (const name in this._boundariesDefinition) {
|
|
266
|
+
// Check if this boundary is configured for replay mode
|
|
267
|
+
const mode = config.boundaries[name] || 'proxy';
|
|
268
|
+
if (mode === 'replay' && executionLog.boundaries[name]) {
|
|
269
|
+
// Add boundary data from the execution log for replay mode
|
|
270
|
+
boundariesConfig[name] = executionLog.boundaries[name];
|
|
195
271
|
}
|
|
196
272
|
}
|
|
197
273
|
// Create fresh boundaries for this execution
|
|
198
274
|
const executionBoundaries = this._createBounderies({
|
|
199
275
|
definition: this._boundariesDefinition,
|
|
200
|
-
baseData:
|
|
201
|
-
mode:
|
|
276
|
+
baseData: boundariesConfig,
|
|
277
|
+
mode: 'proxy',
|
|
278
|
+
boundaryModes: config.boundaries
|
|
202
279
|
});
|
|
203
280
|
// Start run for each boundary
|
|
204
281
|
for (const name in executionBoundaries) {
|
|
205
282
|
const boundary = executionBoundaries[name];
|
|
206
283
|
boundary.startRun();
|
|
207
284
|
}
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
const
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
//
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
// Get the current accumulated data for this boundary
|
|
223
|
-
const currentData = this._accumulatedBoundariesData[name];
|
|
224
|
-
// Add the new run data
|
|
225
|
-
if (Array.isArray(runData) && runData.length > 0) {
|
|
226
|
-
// Cast the run data to the correct type
|
|
227
|
-
this._accumulatedBoundariesData[name] = [...currentData, ...runData];
|
|
228
|
-
}
|
|
285
|
+
// Handle schema validation - reusing the input from the execution log
|
|
286
|
+
if (this._schema) {
|
|
287
|
+
const validation = this._schema.safeParse(argv);
|
|
288
|
+
if (!validation.success) {
|
|
289
|
+
const errorDetails = (_a = validation.error) === null || _a === void 0 ? void 0 : _a.errors.map(err => `${err.path.join('.')}: ${err.message}`).join(', ');
|
|
290
|
+
const errorMessage = errorDetails
|
|
291
|
+
? `Invalid input on: ${errorDetails}`
|
|
292
|
+
: 'Invalid input';
|
|
293
|
+
logItem.error = errorMessage;
|
|
294
|
+
logItem.output = executionLog.output; // Keep the original output
|
|
295
|
+
// Copy the boundary data from the execution log
|
|
296
|
+
logItem.boundaries = executionLog.boundaries;
|
|
297
|
+
this.emit(logItem);
|
|
298
|
+
return [null, new Error(errorMessage), logItem];
|
|
229
299
|
}
|
|
230
|
-
// Emit the success event with boundary data
|
|
231
|
-
this.emit({
|
|
232
|
-
input: argv,
|
|
233
|
-
output,
|
|
234
|
-
boundaries: boundariesRunLog
|
|
235
|
-
});
|
|
236
|
-
return [null, output, boundariesRunLog];
|
|
237
300
|
}
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
301
|
+
let output = null;
|
|
302
|
+
let error = null;
|
|
303
|
+
try {
|
|
304
|
+
// Execute the task function with replay boundaries
|
|
305
|
+
output = await this._fn(argv, executionBoundaries);
|
|
306
|
+
logItem.output = output;
|
|
307
|
+
}
|
|
308
|
+
catch (caughtError) {
|
|
309
|
+
const errorMessage = caughtError instanceof Error ? caughtError.message : String(caughtError);
|
|
310
|
+
logItem.error = errorMessage;
|
|
311
|
+
error = new Error(errorMessage);
|
|
312
|
+
}
|
|
313
|
+
// Process boundary data after execution
|
|
314
|
+
const boundariesRunLog = {};
|
|
315
|
+
for (const name in executionBoundaries) {
|
|
316
|
+
const boundary = executionBoundaries[name];
|
|
317
|
+
const runData = boundary.getRunData();
|
|
318
|
+
// For boundaries in replay mode, use the original log data instead
|
|
319
|
+
const mode = config.boundaries[name] || 'proxy';
|
|
320
|
+
if (mode === 'replay' && executionLog.boundaries[name]) {
|
|
321
|
+
boundariesRunLog[name] = executionLog.boundaries[name];
|
|
322
|
+
}
|
|
323
|
+
else {
|
|
324
|
+
// For other modes, use the actual run data
|
|
245
325
|
boundariesRunLog[name] = runData;
|
|
246
|
-
// Accumulate in the task's total boundaries data
|
|
247
|
-
if (!this._accumulatedBoundariesData[name]) {
|
|
248
|
-
this._accumulatedBoundariesData[name] = [];
|
|
249
|
-
}
|
|
250
|
-
// Get the current accumulated data for this boundary
|
|
251
|
-
const currentData = this._accumulatedBoundariesData[name];
|
|
252
|
-
// Add the new run data
|
|
253
|
-
if (Array.isArray(runData) && runData.length > 0) {
|
|
254
|
-
// Cast the run data to the correct type
|
|
255
|
-
this._accumulatedBoundariesData[name] = [...currentData, ...runData];
|
|
256
|
-
}
|
|
257
326
|
}
|
|
258
|
-
// Emit the error event with boundary data
|
|
259
|
-
this.emit({
|
|
260
|
-
input: argv,
|
|
261
|
-
error: error instanceof Error ? error.message : String(error),
|
|
262
|
-
boundaries: boundariesRunLog
|
|
263
|
-
});
|
|
264
|
-
return [error instanceof Error ? error : new Error(String(error)), null, boundariesRunLog];
|
|
265
327
|
}
|
|
328
|
+
// Set boundaries in log item before emitting
|
|
329
|
+
logItem.boundaries = boundariesRunLog;
|
|
330
|
+
// Emit the log item
|
|
331
|
+
this.emit(logItem);
|
|
332
|
+
// Return the output, error, and log item
|
|
333
|
+
return [output, error, logItem];
|
|
266
334
|
}
|
|
267
335
|
async run(argv) {
|
|
268
|
-
const [
|
|
336
|
+
const [result, error] = await this.safeRun(argv);
|
|
269
337
|
if (error) {
|
|
270
338
|
throw error;
|
|
271
339
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe-replay-complex-boundary.test.d.ts","sourceRoot":"","sources":["../../src/test/safe-replay-complex-boundary.test.ts"],"names":[],"mappings":""}
|