@openfn/ws-worker 0.6.0 → 0.7.0
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/CHANGELOG.md +6 -0
- package/dist/index.d.ts +11 -11
- package/dist/index.js +30 -30
- package/dist/start.js +28 -28
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -73,7 +73,7 @@ type AttemptOptions = {
|
|
|
73
73
|
|
|
74
74
|
// Internal server state for each attempt
|
|
75
75
|
type AttemptState = {
|
|
76
|
-
|
|
76
|
+
activeStep?: string;
|
|
77
77
|
activeJob?: string;
|
|
78
78
|
plan: ExecutionPlan;
|
|
79
79
|
options: AttemptOptions;
|
|
@@ -142,27 +142,27 @@ declare type AttemptLogPayload = {
|
|
|
142
142
|
level?: string;
|
|
143
143
|
source?: string;
|
|
144
144
|
job_id?: string;
|
|
145
|
-
|
|
145
|
+
step_id?: string;
|
|
146
146
|
};
|
|
147
147
|
declare type AttemptLogReply = void;
|
|
148
|
-
declare const
|
|
149
|
-
declare type
|
|
148
|
+
declare const STEP_START = "step:start";
|
|
149
|
+
declare type StepStartPayload = {
|
|
150
150
|
job_id: string;
|
|
151
|
-
|
|
151
|
+
step_id: string;
|
|
152
152
|
attempt_id?: string;
|
|
153
153
|
input_dataclip_id?: string;
|
|
154
154
|
versions: Record<string, string>;
|
|
155
155
|
};
|
|
156
|
-
declare type
|
|
157
|
-
declare const
|
|
158
|
-
declare type
|
|
156
|
+
declare type StepStartReply = void;
|
|
157
|
+
declare const STEP_COMPLETE = "step:complete";
|
|
158
|
+
declare type StepCompletePayload = ExitReason & {
|
|
159
159
|
attempt_id?: string;
|
|
160
160
|
job_id: string;
|
|
161
|
-
|
|
161
|
+
step_id: string;
|
|
162
162
|
output_dataclip?: string;
|
|
163
163
|
output_dataclip_id?: string;
|
|
164
164
|
};
|
|
165
|
-
declare type
|
|
165
|
+
declare type StepCompleteReply = void;
|
|
166
166
|
declare const INTERNAL_ATTEMPT_COMPLETE = "server:attempt-complete";
|
|
167
167
|
|
|
168
168
|
declare type Context = {
|
|
@@ -200,4 +200,4 @@ interface ServerApp extends Koa {
|
|
|
200
200
|
}
|
|
201
201
|
declare function createServer(engine: RuntimeEngine, options?: ServerOptions): ServerApp;
|
|
202
202
|
|
|
203
|
-
export { ATTEMPT_COMPLETE, ATTEMPT_LOG, ATTEMPT_START, AttemptCompletePayload, AttemptCompleteReply, AttemptLogPayload, AttemptLogReply, AttemptStartPayload, AttemptStartReply, CLAIM, ClaimAttempt, ClaimPayload, ClaimReply, GET_ATTEMPT, GET_CREDENTIAL, GET_DATACLIP, GetAttemptPayload, GetAttemptReply, GetCredentialPayload, GetCredentialReply, GetDataClipReply, GetDataclipPayload, INTERNAL_ATTEMPT_COMPLETE,
|
|
203
|
+
export { ATTEMPT_COMPLETE, ATTEMPT_LOG, ATTEMPT_START, AttemptCompletePayload, AttemptCompleteReply, AttemptLogPayload, AttemptLogReply, AttemptStartPayload, AttemptStartReply, CLAIM, ClaimAttempt, ClaimPayload, ClaimReply, GET_ATTEMPT, GET_CREDENTIAL, GET_DATACLIP, GetAttemptPayload, GetAttemptReply, GetCredentialPayload, GetCredentialReply, GetDataClipReply, GetDataclipPayload, INTERNAL_ATTEMPT_COMPLETE, STEP_COMPLETE, STEP_START, StepCompletePayload, StepCompleteReply, StepStartPayload, StepStartReply, createServer as default };
|
package/dist/index.js
CHANGED
|
@@ -15,8 +15,8 @@ var GET_DATACLIP = "fetch:dataclip";
|
|
|
15
15
|
var ATTEMPT_START = "attempt:start";
|
|
16
16
|
var ATTEMPT_COMPLETE = "attempt:complete";
|
|
17
17
|
var ATTEMPT_LOG = "attempt:log";
|
|
18
|
-
var
|
|
19
|
-
var
|
|
18
|
+
var STEP_START = "step:start";
|
|
19
|
+
var STEP_COMPLETE = "step:complete";
|
|
20
20
|
var INTERNAL_ATTEMPT_COMPLETE = "server:attempt-complete";
|
|
21
21
|
|
|
22
22
|
// src/api/destroy.ts
|
|
@@ -306,7 +306,7 @@ var create_attempt_state_default = (plan, options = {}) => {
|
|
|
306
306
|
return state;
|
|
307
307
|
};
|
|
308
308
|
|
|
309
|
-
// src/events/
|
|
309
|
+
// src/events/step-complete.ts
|
|
310
310
|
import crypto2 from "node:crypto";
|
|
311
311
|
|
|
312
312
|
// src/api/reasons.ts
|
|
@@ -342,17 +342,17 @@ var calculateAttemptExitReason = (state) => {
|
|
|
342
342
|
return { reason: "success", error_type: null, error_message: null };
|
|
343
343
|
};
|
|
344
344
|
|
|
345
|
-
// src/events/
|
|
346
|
-
function
|
|
345
|
+
// src/events/step-complete.ts
|
|
346
|
+
function onStepComplete({ channel, state }, event, error) {
|
|
347
347
|
const dataclipId = crypto2.randomUUID();
|
|
348
|
-
const
|
|
348
|
+
const step_id = state.activeStep;
|
|
349
349
|
const job_id = state.activeJob;
|
|
350
350
|
if (!state.dataclips) {
|
|
351
351
|
state.dataclips = {};
|
|
352
352
|
}
|
|
353
353
|
const outputState = event.state || {};
|
|
354
354
|
state.dataclips[dataclipId] = event.state;
|
|
355
|
-
delete state.
|
|
355
|
+
delete state.activeStep;
|
|
356
356
|
delete state.activeJob;
|
|
357
357
|
state.lastDataclipId = dataclipId;
|
|
358
358
|
event.next?.forEach((nextJobId) => {
|
|
@@ -365,7 +365,7 @@ function onRunComplete({ channel, state }, event, error) {
|
|
|
365
365
|
);
|
|
366
366
|
state.reasons[job_id] = { reason, error_message, error_type };
|
|
367
367
|
const evt = {
|
|
368
|
-
|
|
368
|
+
step_id,
|
|
369
369
|
job_id,
|
|
370
370
|
output_dataclip_id: dataclipId,
|
|
371
371
|
output_dataclip: stringify_default(outputState),
|
|
@@ -376,17 +376,17 @@ function onRunComplete({ channel, state }, event, error) {
|
|
|
376
376
|
duration: event.duration,
|
|
377
377
|
thread_id: event.threadId
|
|
378
378
|
};
|
|
379
|
-
return sendEvent(channel,
|
|
379
|
+
return sendEvent(channel, STEP_COMPLETE, evt);
|
|
380
380
|
}
|
|
381
381
|
|
|
382
|
-
// src/events/
|
|
382
|
+
// src/events/step-start.ts
|
|
383
383
|
import crypto3 from "node:crypto";
|
|
384
384
|
import { timestamp } from "@openfn/logger";
|
|
385
385
|
|
|
386
386
|
// package.json
|
|
387
387
|
var package_default = {
|
|
388
388
|
name: "@openfn/ws-worker",
|
|
389
|
-
version: "0.
|
|
389
|
+
version: "0.7.0",
|
|
390
390
|
description: "A Websocket Worker to connect Lightning to a Runtime Engine",
|
|
391
391
|
main: "dist/index.js",
|
|
392
392
|
type: "module",
|
|
@@ -449,14 +449,14 @@ var package_default = {
|
|
|
449
449
|
// src/util/versions.ts
|
|
450
450
|
import { mainSymbols } from "figures";
|
|
451
451
|
var { triangleRightSmall: t } = mainSymbols;
|
|
452
|
-
var versions_default = (
|
|
452
|
+
var versions_default = (stepId, versions, adaptor) => {
|
|
453
453
|
let longest = "compiler".length;
|
|
454
454
|
for (const v in versions) {
|
|
455
455
|
longest = Math.max(v.length, longest);
|
|
456
456
|
}
|
|
457
457
|
const { node, compiler, engine, worker, runtime, ...adaptors } = versions;
|
|
458
458
|
const prefix = (str2) => ` ${t} ${str2.padEnd(longest + 4, " ")}`;
|
|
459
|
-
let str = `Versions for
|
|
459
|
+
let str = `Versions for step ${stepId}:
|
|
460
460
|
${prefix("node.js")}${versions.node || "unknown"}
|
|
461
461
|
${prefix("worker")}${versions.worker || "unknown"}
|
|
462
462
|
${prefix("engine")}${versions.engine || "unknown"}`;
|
|
@@ -470,11 +470,11 @@ ${prefix("engine")}${versions.engine || "unknown"}`;
|
|
|
470
470
|
return str;
|
|
471
471
|
};
|
|
472
472
|
|
|
473
|
-
// src/events/
|
|
474
|
-
async function
|
|
473
|
+
// src/events/step-start.ts
|
|
474
|
+
async function onStepStart(context, event) {
|
|
475
475
|
const time = (timestamp() - BigInt(1e7)).toString();
|
|
476
476
|
const { channel, state } = context;
|
|
477
|
-
state.
|
|
477
|
+
state.activeStep = crypto3.randomUUID();
|
|
478
478
|
state.activeJob = event.jobId;
|
|
479
479
|
const job = state.plan.jobs.find(({ id }) => id === event.jobId);
|
|
480
480
|
const input_dataclip_id = state.inputDataclips[event.jobId];
|
|
@@ -486,17 +486,17 @@ async function onRunStart(context, event) {
|
|
|
486
486
|
...context,
|
|
487
487
|
state: {
|
|
488
488
|
...state,
|
|
489
|
-
|
|
489
|
+
activeStep: state.activeStep
|
|
490
490
|
}
|
|
491
491
|
};
|
|
492
|
-
await sendEvent(channel,
|
|
493
|
-
|
|
492
|
+
await sendEvent(channel, STEP_START, {
|
|
493
|
+
step_id: state.activeStep,
|
|
494
494
|
job_id: state.activeJob,
|
|
495
495
|
input_dataclip_id,
|
|
496
496
|
versions
|
|
497
497
|
});
|
|
498
498
|
const versionMessage = versions_default(
|
|
499
|
-
versionLogContext.state.
|
|
499
|
+
versionLogContext.state.activeStep,
|
|
500
500
|
versions,
|
|
501
501
|
job?.adaptor
|
|
502
502
|
);
|
|
@@ -591,8 +591,8 @@ var throttle_default = createThrottler;
|
|
|
591
591
|
var enc = new TextDecoder("utf-8");
|
|
592
592
|
var eventMap = {
|
|
593
593
|
"workflow-start": ATTEMPT_START,
|
|
594
|
-
"job-start":
|
|
595
|
-
"job-complete":
|
|
594
|
+
"job-start": STEP_START,
|
|
595
|
+
"job-complete": STEP_COMPLETE,
|
|
596
596
|
"workflow-log": ATTEMPT_LOG,
|
|
597
597
|
"workflow-complete": ATTEMPT_COMPLETE
|
|
598
598
|
};
|
|
@@ -622,8 +622,8 @@ function execute(channel, engine, logger, plan, options = {}, onFinish = (_resul
|
|
|
622
622
|
const listeners = Object.assign(
|
|
623
623
|
{},
|
|
624
624
|
addEvent("workflow-start", throttle(onWorkflowStart)),
|
|
625
|
-
addEvent("job-start", throttle(
|
|
626
|
-
addEvent("job-complete", throttle(
|
|
625
|
+
addEvent("job-start", throttle(onStepStart)),
|
|
626
|
+
addEvent("job-complete", throttle(onStepComplete)),
|
|
627
627
|
addEvent("job-error", throttle(onJobError)),
|
|
628
628
|
addEvent("workflow-log", throttle(onJobLog)),
|
|
629
629
|
addEvent("workflow-complete", throttle(onWorkflowComplete)),
|
|
@@ -663,9 +663,9 @@ var sendEvent = (channel, event, payload) => new Promise((resolve, reject) => {
|
|
|
663
663
|
function onJobError(context, event) {
|
|
664
664
|
const { state, error, jobId } = event;
|
|
665
665
|
if (state?.errors?.[jobId]?.message === error.message) {
|
|
666
|
-
return
|
|
666
|
+
return onStepComplete(context, event);
|
|
667
667
|
} else {
|
|
668
|
-
return
|
|
668
|
+
return onStepComplete(context, event, event.error);
|
|
669
669
|
}
|
|
670
670
|
}
|
|
671
671
|
function onWorkflowStart({ channel }, _event) {
|
|
@@ -680,8 +680,8 @@ function onJobLog({ channel, state }, event) {
|
|
|
680
680
|
level: event.level,
|
|
681
681
|
timestamp: timeInMicroseconds.toString()
|
|
682
682
|
};
|
|
683
|
-
if (state.
|
|
684
|
-
log.
|
|
683
|
+
if (state.activeStep) {
|
|
684
|
+
log.step_id = state.activeStep;
|
|
685
685
|
}
|
|
686
686
|
return sendEvent(channel, ATTEMPT_LOG, log);
|
|
687
687
|
}
|
|
@@ -935,7 +935,7 @@ export {
|
|
|
935
935
|
GET_CREDENTIAL,
|
|
936
936
|
GET_DATACLIP,
|
|
937
937
|
INTERNAL_ATTEMPT_COMPLETE,
|
|
938
|
-
|
|
939
|
-
|
|
938
|
+
STEP_COMPLETE,
|
|
939
|
+
STEP_START,
|
|
940
940
|
src_default as default
|
|
941
941
|
};
|
package/dist/start.js
CHANGED
|
@@ -5004,8 +5004,8 @@ var GET_DATACLIP = "fetch:dataclip";
|
|
|
5004
5004
|
var ATTEMPT_START = "attempt:start";
|
|
5005
5005
|
var ATTEMPT_COMPLETE = "attempt:complete";
|
|
5006
5006
|
var ATTEMPT_LOG = "attempt:log";
|
|
5007
|
-
var
|
|
5008
|
-
var
|
|
5007
|
+
var STEP_START = "step:start";
|
|
5008
|
+
var STEP_COMPLETE = "step:complete";
|
|
5009
5009
|
var INTERNAL_ATTEMPT_COMPLETE = "server:attempt-complete";
|
|
5010
5010
|
|
|
5011
5011
|
// src/api/destroy.ts
|
|
@@ -5295,7 +5295,7 @@ var create_attempt_state_default = (plan, options = {}) => {
|
|
|
5295
5295
|
return state;
|
|
5296
5296
|
};
|
|
5297
5297
|
|
|
5298
|
-
// src/events/
|
|
5298
|
+
// src/events/step-complete.ts
|
|
5299
5299
|
import crypto3 from "node:crypto";
|
|
5300
5300
|
|
|
5301
5301
|
// src/api/reasons.ts
|
|
@@ -5331,17 +5331,17 @@ var calculateAttemptExitReason = (state) => {
|
|
|
5331
5331
|
return { reason: "success", error_type: null, error_message: null };
|
|
5332
5332
|
};
|
|
5333
5333
|
|
|
5334
|
-
// src/events/
|
|
5335
|
-
function
|
|
5334
|
+
// src/events/step-complete.ts
|
|
5335
|
+
function onStepComplete({ channel, state }, event, error) {
|
|
5336
5336
|
const dataclipId = crypto3.randomUUID();
|
|
5337
|
-
const
|
|
5337
|
+
const step_id = state.activeStep;
|
|
5338
5338
|
const job_id = state.activeJob;
|
|
5339
5339
|
if (!state.dataclips) {
|
|
5340
5340
|
state.dataclips = {};
|
|
5341
5341
|
}
|
|
5342
5342
|
const outputState = event.state || {};
|
|
5343
5343
|
state.dataclips[dataclipId] = event.state;
|
|
5344
|
-
delete state.
|
|
5344
|
+
delete state.activeStep;
|
|
5345
5345
|
delete state.activeJob;
|
|
5346
5346
|
state.lastDataclipId = dataclipId;
|
|
5347
5347
|
event.next?.forEach((nextJobId) => {
|
|
@@ -5354,7 +5354,7 @@ function onRunComplete({ channel, state }, event, error) {
|
|
|
5354
5354
|
);
|
|
5355
5355
|
state.reasons[job_id] = { reason, error_message, error_type };
|
|
5356
5356
|
const evt = {
|
|
5357
|
-
|
|
5357
|
+
step_id,
|
|
5358
5358
|
job_id,
|
|
5359
5359
|
output_dataclip_id: dataclipId,
|
|
5360
5360
|
output_dataclip: stringify_default(outputState),
|
|
@@ -5365,17 +5365,17 @@ function onRunComplete({ channel, state }, event, error) {
|
|
|
5365
5365
|
duration: event.duration,
|
|
5366
5366
|
thread_id: event.threadId
|
|
5367
5367
|
};
|
|
5368
|
-
return sendEvent(channel,
|
|
5368
|
+
return sendEvent(channel, STEP_COMPLETE, evt);
|
|
5369
5369
|
}
|
|
5370
5370
|
|
|
5371
|
-
// src/events/
|
|
5371
|
+
// src/events/step-start.ts
|
|
5372
5372
|
import crypto4 from "node:crypto";
|
|
5373
5373
|
import { timestamp } from "@openfn/logger";
|
|
5374
5374
|
|
|
5375
5375
|
// package.json
|
|
5376
5376
|
var package_default = {
|
|
5377
5377
|
name: "@openfn/ws-worker",
|
|
5378
|
-
version: "0.
|
|
5378
|
+
version: "0.7.0",
|
|
5379
5379
|
description: "A Websocket Worker to connect Lightning to a Runtime Engine",
|
|
5380
5380
|
main: "dist/index.js",
|
|
5381
5381
|
type: "module",
|
|
@@ -5438,14 +5438,14 @@ var package_default = {
|
|
|
5438
5438
|
// src/util/versions.ts
|
|
5439
5439
|
import { mainSymbols } from "figures";
|
|
5440
5440
|
var { triangleRightSmall: t } = mainSymbols;
|
|
5441
|
-
var versions_default = (
|
|
5441
|
+
var versions_default = (stepId, versions, adaptor) => {
|
|
5442
5442
|
let longest = "compiler".length;
|
|
5443
5443
|
for (const v in versions) {
|
|
5444
5444
|
longest = Math.max(v.length, longest);
|
|
5445
5445
|
}
|
|
5446
5446
|
const { node, compiler, engine, worker, runtime, ...adaptors } = versions;
|
|
5447
5447
|
const prefix = (str2) => ` ${t} ${str2.padEnd(longest + 4, " ")}`;
|
|
5448
|
-
let str = `Versions for
|
|
5448
|
+
let str = `Versions for step ${stepId}:
|
|
5449
5449
|
${prefix("node.js")}${versions.node || "unknown"}
|
|
5450
5450
|
${prefix("worker")}${versions.worker || "unknown"}
|
|
5451
5451
|
${prefix("engine")}${versions.engine || "unknown"}`;
|
|
@@ -5459,11 +5459,11 @@ ${prefix("engine")}${versions.engine || "unknown"}`;
|
|
|
5459
5459
|
return str;
|
|
5460
5460
|
};
|
|
5461
5461
|
|
|
5462
|
-
// src/events/
|
|
5463
|
-
async function
|
|
5462
|
+
// src/events/step-start.ts
|
|
5463
|
+
async function onStepStart(context, event) {
|
|
5464
5464
|
const time = (timestamp() - BigInt(1e7)).toString();
|
|
5465
5465
|
const { channel, state } = context;
|
|
5466
|
-
state.
|
|
5466
|
+
state.activeStep = crypto4.randomUUID();
|
|
5467
5467
|
state.activeJob = event.jobId;
|
|
5468
5468
|
const job = state.plan.jobs.find(({ id }) => id === event.jobId);
|
|
5469
5469
|
const input_dataclip_id = state.inputDataclips[event.jobId];
|
|
@@ -5475,17 +5475,17 @@ async function onRunStart(context, event) {
|
|
|
5475
5475
|
...context,
|
|
5476
5476
|
state: {
|
|
5477
5477
|
...state,
|
|
5478
|
-
|
|
5478
|
+
activeStep: state.activeStep
|
|
5479
5479
|
}
|
|
5480
5480
|
};
|
|
5481
|
-
await sendEvent(channel,
|
|
5482
|
-
|
|
5481
|
+
await sendEvent(channel, STEP_START, {
|
|
5482
|
+
step_id: state.activeStep,
|
|
5483
5483
|
job_id: state.activeJob,
|
|
5484
5484
|
input_dataclip_id,
|
|
5485
5485
|
versions
|
|
5486
5486
|
});
|
|
5487
5487
|
const versionMessage = versions_default(
|
|
5488
|
-
versionLogContext.state.
|
|
5488
|
+
versionLogContext.state.activeStep,
|
|
5489
5489
|
versions,
|
|
5490
5490
|
job?.adaptor
|
|
5491
5491
|
);
|
|
@@ -5580,8 +5580,8 @@ var throttle_default = createThrottler;
|
|
|
5580
5580
|
var enc = new TextDecoder("utf-8");
|
|
5581
5581
|
var eventMap = {
|
|
5582
5582
|
"workflow-start": ATTEMPT_START,
|
|
5583
|
-
"job-start":
|
|
5584
|
-
"job-complete":
|
|
5583
|
+
"job-start": STEP_START,
|
|
5584
|
+
"job-complete": STEP_COMPLETE,
|
|
5585
5585
|
"workflow-log": ATTEMPT_LOG,
|
|
5586
5586
|
"workflow-complete": ATTEMPT_COMPLETE
|
|
5587
5587
|
};
|
|
@@ -5611,8 +5611,8 @@ function execute(channel, engine, logger2, plan, options = {}, onFinish = (_resu
|
|
|
5611
5611
|
const listeners = Object.assign(
|
|
5612
5612
|
{},
|
|
5613
5613
|
addEvent("workflow-start", throttle(onWorkflowStart)),
|
|
5614
|
-
addEvent("job-start", throttle(
|
|
5615
|
-
addEvent("job-complete", throttle(
|
|
5614
|
+
addEvent("job-start", throttle(onStepStart)),
|
|
5615
|
+
addEvent("job-complete", throttle(onStepComplete)),
|
|
5616
5616
|
addEvent("job-error", throttle(onJobError)),
|
|
5617
5617
|
addEvent("workflow-log", throttle(onJobLog)),
|
|
5618
5618
|
addEvent("workflow-complete", throttle(onWorkflowComplete)),
|
|
@@ -5652,9 +5652,9 @@ var sendEvent = (channel, event, payload) => new Promise((resolve5, reject) => {
|
|
|
5652
5652
|
function onJobError(context, event) {
|
|
5653
5653
|
const { state, error, jobId } = event;
|
|
5654
5654
|
if (state?.errors?.[jobId]?.message === error.message) {
|
|
5655
|
-
return
|
|
5655
|
+
return onStepComplete(context, event);
|
|
5656
5656
|
} else {
|
|
5657
|
-
return
|
|
5657
|
+
return onStepComplete(context, event, event.error);
|
|
5658
5658
|
}
|
|
5659
5659
|
}
|
|
5660
5660
|
function onWorkflowStart({ channel }, _event) {
|
|
@@ -5669,8 +5669,8 @@ function onJobLog({ channel, state }, event) {
|
|
|
5669
5669
|
level: event.level,
|
|
5670
5670
|
timestamp: timeInMicroseconds.toString()
|
|
5671
5671
|
};
|
|
5672
|
-
if (state.
|
|
5673
|
-
log.
|
|
5672
|
+
if (state.activeStep) {
|
|
5673
|
+
log.step_id = state.activeStep;
|
|
5674
5674
|
}
|
|
5675
5675
|
return sendEvent(channel, ATTEMPT_LOG, log);
|
|
5676
5676
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openfn/ws-worker",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "A Websocket Worker to connect Lightning to a Runtime Engine",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"tsup": "^6.2.3",
|
|
42
42
|
"typescript": "^4.6.4",
|
|
43
43
|
"yargs": "^17.6.2",
|
|
44
|
-
"@openfn/lightning-mock": "1.1.
|
|
44
|
+
"@openfn/lightning-mock": "1.1.11"
|
|
45
45
|
},
|
|
46
46
|
"files": [
|
|
47
47
|
"dist",
|