@siglo/core 1.1.0 → 1.2.1
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 +11 -10
- package/dist/features/cache/index.d.ts.map +1 -1
- package/dist/features/cache/index.js +16 -16
- package/dist/features/cache/index.js.map +1 -1
- package/dist/features/combinators/branch.d.ts.map +1 -1
- package/dist/features/combinators/branch.js +31 -21
- package/dist/features/combinators/branch.js.map +1 -1
- package/dist/features/combinators/map.d.ts.map +1 -1
- package/dist/features/combinators/map.js +17 -13
- package/dist/features/combinators/map.js.map +1 -1
- package/dist/features/combinators/parallel.d.ts.map +1 -1
- package/dist/features/combinators/parallel.js +58 -24
- package/dist/features/combinators/parallel.js.map +1 -1
- package/dist/features/compensation/manager.d.ts.map +1 -1
- package/dist/features/compensation/manager.js +11 -5
- package/dist/features/compensation/manager.js.map +1 -1
- package/dist/features/compensation/reconciler.d.ts.map +1 -1
- package/dist/features/compensation/reconciler.js +5 -5
- package/dist/features/compensation/reconciler.js.map +1 -1
- package/dist/features/compensation/types.d.ts.map +1 -1
- package/dist/features/context/index.d.ts.map +1 -1
- package/dist/features/context/index.js +1 -2
- package/dist/features/context/index.js.map +1 -1
- package/dist/features/context/proxy.d.ts.map +1 -1
- package/dist/features/context/proxy.js +20 -4
- package/dist/features/context/proxy.js.map +1 -1
- package/dist/features/context/set.d.ts.map +1 -1
- package/dist/features/context/set.js +3 -0
- package/dist/features/context/set.js.map +1 -1
- package/dist/features/context/validators.d.ts.map +1 -1
- package/dist/features/context/validators.js.map +1 -1
- package/dist/features/durable/lock.d.ts.map +1 -1
- package/dist/features/durable/lock.js.map +1 -1
- package/dist/features/durable/resume.d.ts.map +1 -1
- package/dist/features/durable/resume.js +34 -13
- package/dist/features/durable/resume.js.map +1 -1
- package/dist/features/durable/wait.d.ts.map +1 -1
- package/dist/features/durable/wait.js +16 -11
- package/dist/features/durable/wait.js.map +1 -1
- package/dist/features/events/capture.d.ts.map +1 -1
- package/dist/features/events/capture.js +27 -6
- package/dist/features/events/capture.js.map +1 -1
- package/dist/features/events/emitter.d.ts.map +1 -1
- package/dist/features/events/emitter.js +12 -9
- package/dist/features/events/emitter.js.map +1 -1
- package/dist/features/events/inspection.d.ts.map +1 -1
- package/dist/features/events/inspection.js +87 -16
- package/dist/features/events/inspection.js.map +1 -1
- package/dist/features/events/redaction.d.ts.map +1 -1
- package/dist/features/events/redaction.js +22 -6
- package/dist/features/events/redaction.js.map +1 -1
- package/dist/features/events/types.d.ts.map +1 -1
- package/dist/features/executer/SingleChain/Helpers/ResolveChain.d.ts.map +1 -1
- package/dist/features/executer/SingleChain/Helpers/ResolveChain.js +7 -7
- package/dist/features/executer/SingleChain/Helpers/ResolveChain.js.map +1 -1
- package/dist/features/executer/SingleChain/LifeCycle/OnAfter.d.ts.map +1 -1
- package/dist/features/executer/SingleChain/LifeCycle/OnAfter.js +4 -2
- package/dist/features/executer/SingleChain/LifeCycle/OnAfter.js.map +1 -1
- package/dist/features/executer/SingleChain/LifeCycle/OnBefore.d.ts.map +1 -1
- package/dist/features/executer/SingleChain/LifeCycle/OnBefore.js +5 -3
- package/dist/features/executer/SingleChain/LifeCycle/OnBefore.js.map +1 -1
- package/dist/features/executer/SingleChain/LifeCycle/OnFail.d.ts.map +1 -1
- package/dist/features/executer/SingleChain/LifeCycle/OnFail.js +21 -12
- package/dist/features/executer/SingleChain/LifeCycle/OnFail.js.map +1 -1
- package/dist/features/executer/SingleChain/LifeCycle/OnSkip.d.ts.map +1 -1
- package/dist/features/executer/SingleChain/LifeCycle/OnSkip.js +4 -2
- package/dist/features/executer/SingleChain/LifeCycle/OnSkip.js.map +1 -1
- package/dist/features/executer/SingleChain/StartChain.d.ts.map +1 -1
- package/dist/features/executer/SingleChain/StartChain.js +130 -55
- package/dist/features/executer/SingleChain/StartChain.js.map +1 -1
- package/dist/features/executer/array-chain.d.ts.map +1 -1
- package/dist/features/executer/array-chain.js +12 -12
- package/dist/features/executer/array-chain.js.map +1 -1
- package/dist/features/executer/exceptions.d.ts.map +1 -1
- package/dist/features/executer/exceptions.js +37 -33
- package/dist/features/executer/exceptions.js.map +1 -1
- package/dist/features/executer/hooks.d.ts.map +1 -1
- package/dist/features/executer/hooks.js.map +1 -1
- package/dist/features/executer/index.d.ts +2 -2
- package/dist/features/executer/index.d.ts.map +1 -1
- package/dist/features/executer/reducer.d.ts.map +1 -1
- package/dist/features/executer/reducer.js +5 -3
- package/dist/features/executer/reducer.js.map +1 -1
- package/dist/features/executer/runner.d.ts.map +1 -1
- package/dist/features/executer/runner.js +24 -24
- package/dist/features/executer/runner.js.map +1 -1
- package/dist/features/executer/signals.d.ts.map +1 -1
- package/dist/features/executer/signals.js.map +1 -1
- package/dist/features/graph/export.d.ts.map +1 -1
- package/dist/features/graph/export.js +1 -1
- package/dist/features/graph/export.js.map +1 -1
- package/dist/features/graph/inspector.js +2 -2
- package/dist/features/graph/toGraph.d.ts.map +1 -1
- package/dist/features/graph/toGraph.js +13 -11
- package/dist/features/graph/toGraph.js.map +1 -1
- package/dist/features/graph/types.d.ts.map +1 -1
- package/dist/features/graph/validator.d.ts.map +1 -1
- package/dist/features/graph/validator.js +1 -1
- package/dist/features/graph/validator.js.map +1 -1
- package/dist/features/idempotency/store.js +2 -2
- package/dist/features/logger/Log.js +1 -1
- package/dist/features/network/interceptor.d.ts.map +1 -1
- package/dist/features/network/interceptor.js +37 -10
- package/dist/features/network/interceptor.js.map +1 -1
- package/dist/features/network/ip.d.ts.map +1 -1
- package/dist/features/network/ip.js +11 -33
- package/dist/features/network/ip.js.map +1 -1
- package/dist/features/network/matcher.d.ts.map +1 -1
- package/dist/features/network/matcher.js +7 -6
- package/dist/features/network/matcher.js.map +1 -1
- package/dist/features/network/resolver.js +7 -7
- package/dist/features/network/resolver.js.map +1 -1
- package/dist/features/plugins/after.d.ts.map +1 -1
- package/dist/features/plugins/after.js +6 -2
- package/dist/features/plugins/after.js.map +1 -1
- package/dist/features/plugins/before.d.ts.map +1 -1
- package/dist/features/plugins/before.js +6 -2
- package/dist/features/plugins/before.js.map +1 -1
- package/dist/features/spec/SpecFailedException.js +1 -1
- package/dist/features/spec/defaults.d.ts.map +1 -1
- package/dist/features/spec/defaults.js.map +1 -1
- package/dist/features/spec/index.d.ts.map +1 -1
- package/dist/features/spec/index.js +4 -2
- package/dist/features/spec/index.js.map +1 -1
- package/dist/features/spec/transformer.d.ts.map +1 -1
- package/dist/features/spec/transformer.js +3 -1
- package/dist/features/spec/transformer.js.map +1 -1
- package/dist/features/spec/translator.d.ts.map +1 -1
- package/dist/features/spec/translator.js +3 -1
- package/dist/features/spec/translator.js.map +1 -1
- package/dist/features/spec/validators.d.ts.map +1 -1
- package/dist/features/spec/validators.js +2 -2
- package/dist/features/spec/validators.js.map +1 -1
- package/dist/features/step/index.d.ts +12 -14
- package/dist/features/step/index.d.ts.map +1 -1
- package/dist/features/step/index.js +27 -19
- package/dist/features/step/index.js.map +1 -1
- package/dist/features/storage/adapter.d.ts.map +1 -1
- package/dist/features/storage/get.d.ts.map +1 -1
- package/dist/features/storage/get.js +2 -6
- package/dist/features/storage/get.js.map +1 -1
- package/dist/features/storage/index.d.ts +6 -6
- package/dist/features/storage/index.d.ts.map +1 -1
- package/dist/features/storage/index.js +48 -45
- package/dist/features/storage/index.js.map +1 -1
- package/dist/features/storage/put.d.ts.map +1 -1
- package/dist/features/storage/put.js +13 -6
- package/dist/features/storage/put.js.map +1 -1
- package/dist/features/storage/state.d.ts.map +1 -1
- package/dist/features/storage/state.js +1 -1
- package/dist/features/storage/state.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -3
- package/dist/index.js.map +1 -1
- package/dist/shared/ReservedKey.d.ts.map +1 -1
- package/dist/shared/ReservedKey.js +3 -0
- package/dist/shared/ReservedKey.js.map +1 -1
- package/dist/shared/Util.d.ts.map +1 -1
- package/dist/shared/Util.js +1 -1
- package/dist/shared/Util.js.map +1 -1
- package/package.json +1 -1
|
@@ -46,19 +46,31 @@ async function resumeWorkflow(flowInstance, correlationKeyOrStackId, eventPayloa
|
|
|
46
46
|
}
|
|
47
47
|
const isTimerExpired = eventPayload?.event?.type === 'timer:expired' || options?.allowExpired === true;
|
|
48
48
|
const adapter = storage_1.defaultStorageManager.getAdapter();
|
|
49
|
-
const storedRecord = adapter?.getWaitRecord
|
|
49
|
+
const storedRecord = adapter?.getWaitRecord
|
|
50
|
+
? await adapter.getWaitRecord(correlationKey)
|
|
51
|
+
: manager_1.defaultDurableManager.getWaiting(correlationKey);
|
|
50
52
|
const execute = async () => {
|
|
51
53
|
let waitRecord;
|
|
52
54
|
const claimantId = options?.stackId || `resume-${Date.now()}-${Math.random()}`;
|
|
53
|
-
const checkpoint = storedRecord
|
|
55
|
+
const checkpoint = storedRecord
|
|
56
|
+
? adapter?.getCheckpoint
|
|
57
|
+
? await adapter.getCheckpoint(storedRecord.stackId)
|
|
58
|
+
: await storage_1.defaultStorageManager.getCheckpoint(storedRecord.stackId)
|
|
59
|
+
: undefined;
|
|
54
60
|
if (checkpoint?.status === 'cancelled')
|
|
55
61
|
throw new exceptions_1.WorkflowAlreadyResumedException(correlationKey);
|
|
56
62
|
if (adapter && typeof adapter.claimWaitRecord === 'function') {
|
|
57
|
-
waitRecord = await adapter.claimWaitRecord(correlationKey, claimantId, {
|
|
63
|
+
waitRecord = await adapter.claimWaitRecord(correlationKey, claimantId, {
|
|
64
|
+
allowExpired: isTimerExpired,
|
|
65
|
+
eventPayload,
|
|
66
|
+
});
|
|
58
67
|
if (!waitRecord)
|
|
59
68
|
throw new exceptions_1.WorkflowAlreadyResumedException(correlationKey);
|
|
60
69
|
// Storage owns expiry validation and claim state. Never suppress validation errors.
|
|
61
|
-
if (!isTimerExpired &&
|
|
70
|
+
if (!isTimerExpired &&
|
|
71
|
+
!waitRecord.resumePayload &&
|
|
72
|
+
waitRecord.expiresAt !== undefined &&
|
|
73
|
+
waitRecord.expiresAt <= Date.now()) {
|
|
62
74
|
throw new exceptions_1.ExpiredWaitException(correlationKey, waitRecord.expiresAt, waitRecord.eventName);
|
|
63
75
|
}
|
|
64
76
|
}
|
|
@@ -77,7 +89,9 @@ async function resumeWorkflow(flowInstance, correlationKeyOrStackId, eventPayloa
|
|
|
77
89
|
// ignore
|
|
78
90
|
}
|
|
79
91
|
}
|
|
80
|
-
const effectiveMonitor = options?.monitor ||
|
|
92
|
+
const effectiveMonitor = options?.monitor ||
|
|
93
|
+
flowInstance?.monitorEmitter ||
|
|
94
|
+
storage_1.defaultStorageManager.getStack(waitRecord.stackId)?.monitor;
|
|
81
95
|
const effectiveNamespace = options?.namespace || waitRecord.namespace;
|
|
82
96
|
const targetVersion = options?.targetVersion ?? flowInstance?.workflowVersion ?? waitRecord.version;
|
|
83
97
|
const effectiveOptions = {
|
|
@@ -87,7 +101,7 @@ async function resumeWorkflow(flowInstance, correlationKeyOrStackId, eventPayloa
|
|
|
87
101
|
monitor: effectiveMonitor,
|
|
88
102
|
workflowVersion: targetVersion,
|
|
89
103
|
isResume: true,
|
|
90
|
-
durable: options?.durable ?? true
|
|
104
|
+
durable: options?.durable ?? true,
|
|
91
105
|
};
|
|
92
106
|
(0, events_1.emitMonitoringEvent)(effectiveOptions, {
|
|
93
107
|
type: 'flow:resumed',
|
|
@@ -97,13 +111,15 @@ async function resumeWorkflow(flowInstance, correlationKeyOrStackId, eventPayloa
|
|
|
97
111
|
correlationKey: waitRecord.correlationKey,
|
|
98
112
|
eventName: waitRecord.eventName,
|
|
99
113
|
timestamp: Date.now(),
|
|
100
|
-
namespace: effectiveNamespace
|
|
114
|
+
namespace: effectiveNamespace,
|
|
101
115
|
});
|
|
102
|
-
const cp = checkpoint ?? await storage_1.defaultStorageManager.getCheckpoint(waitRecord.stackId);
|
|
116
|
+
const cp = checkpoint ?? (await storage_1.defaultStorageManager.getCheckpoint(waitRecord.stackId));
|
|
103
117
|
const recordedVersion = waitRecord.version ?? cp?.workflowVersion;
|
|
104
118
|
let restoredState = cp?.metadata?.accumulatedContext
|
|
105
119
|
? (0, shared_1.safeClone)(cp.metadata.accumulatedContext)
|
|
106
|
-
:
|
|
120
|
+
: cp?.contexts
|
|
121
|
+
? Object.assign({}, ...Object.values(cp.contexts))
|
|
122
|
+
: {};
|
|
107
123
|
const stepsData = cp?.metadata?.steps;
|
|
108
124
|
let stepsAccessor;
|
|
109
125
|
if (stepsData && typeof stepsData === 'object') {
|
|
@@ -132,7 +148,10 @@ async function resumeWorkflow(flowInstance, correlationKeyOrStackId, eventPayloa
|
|
|
132
148
|
else {
|
|
133
149
|
const waitStepIdx = steps.findIndex((s) => {
|
|
134
150
|
const node = s?.workflowNode;
|
|
135
|
-
return node?.type === 'wait' ||
|
|
151
|
+
return (node?.type === 'wait' ||
|
|
152
|
+
s?.name === waitRecord.stepId ||
|
|
153
|
+
s?.name === 'wait' ||
|
|
154
|
+
s?.name === 'waitForEvent');
|
|
136
155
|
});
|
|
137
156
|
if (waitStepIdx !== -1) {
|
|
138
157
|
remainingSteps = steps.slice(waitStepIdx + 1);
|
|
@@ -148,7 +167,7 @@ async function resumeWorkflow(flowInstance, correlationKeyOrStackId, eventPayloa
|
|
|
148
167
|
durationMs: Date.now() - (waitRecord.createdAt || Date.now()),
|
|
149
168
|
status: 'COMPLETED',
|
|
150
169
|
timestamp: Date.now(),
|
|
151
|
-
namespace: effectiveNamespace
|
|
170
|
+
namespace: effectiveNamespace,
|
|
152
171
|
});
|
|
153
172
|
await adapter?.completeWaitRecord?.(correlationKey, claimantId);
|
|
154
173
|
return cleanInput;
|
|
@@ -159,12 +178,14 @@ async function resumeWorkflow(flowInstance, correlationKeyOrStackId, eventPayloa
|
|
|
159
178
|
}
|
|
160
179
|
// Durable suspension is returned as a descriptor by the runner. Both completion
|
|
161
180
|
// and suspension are handoffs; failures leave the accepted event recoverable.
|
|
162
|
-
const result = await resumedFlow.
|
|
181
|
+
const result = await resumedFlow.run(cleanInput, effectiveOptions);
|
|
163
182
|
await adapter?.completeWaitRecord?.(correlationKey, claimantId);
|
|
164
183
|
return result;
|
|
165
184
|
};
|
|
166
185
|
return adapter?.withWorkflowLock && storedRecord
|
|
167
186
|
? adapter.withWorkflowLock(storedRecord.stackId, execute)
|
|
168
|
-
: storedRecord
|
|
187
|
+
: storedRecord
|
|
188
|
+
? (0, lock_1.withLocalWorkflowLock)(storedRecord.stackId, execute)
|
|
189
|
+
: execute();
|
|
169
190
|
}
|
|
170
191
|
//# sourceMappingURL=resume.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../src/features/durable/resume.ts"],"names":[],"mappings":";;AAiBA,
|
|
1
|
+
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../src/features/durable/resume.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../../src/features/durable/wait.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAG9C,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../../src/features/durable/wait.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAG9C,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAqBvF;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAgD5F;AAED,wBAAgB,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAgClE"}
|
|
@@ -18,12 +18,17 @@ function parseDuration(duration) {
|
|
|
18
18
|
const val = parseFloat(match[1]);
|
|
19
19
|
const unit = match[2] || 'ms';
|
|
20
20
|
switch (unit) {
|
|
21
|
-
case 'd':
|
|
22
|
-
|
|
23
|
-
case '
|
|
24
|
-
|
|
21
|
+
case 'd':
|
|
22
|
+
return val * 24 * 60 * 60 * 1000;
|
|
23
|
+
case 'h':
|
|
24
|
+
return val * 60 * 60 * 1000;
|
|
25
|
+
case 'm':
|
|
26
|
+
return val * 60 * 1000;
|
|
27
|
+
case 's':
|
|
28
|
+
return val * 1000;
|
|
25
29
|
case 'ms':
|
|
26
|
-
default:
|
|
30
|
+
default:
|
|
31
|
+
return val;
|
|
27
32
|
}
|
|
28
33
|
}
|
|
29
34
|
function waitForEvent(eventName, options) {
|
|
@@ -35,7 +40,7 @@ function waitForEvent(eventName, options) {
|
|
|
35
40
|
type: shared_1.WorkflowNodeType.WAIT,
|
|
36
41
|
eventName,
|
|
37
42
|
correlationKey: options.correlationKey,
|
|
38
|
-
timeoutMs
|
|
43
|
+
timeoutMs,
|
|
39
44
|
};
|
|
40
45
|
const step = step_1.Step.create(stepName, async (param) => {
|
|
41
46
|
const correlationKey = (0, shared_1.isFunction)(options.correlationKey)
|
|
@@ -48,21 +53,21 @@ function waitForEvent(eventName, options) {
|
|
|
48
53
|
correlationKey,
|
|
49
54
|
eventName,
|
|
50
55
|
expiresAt,
|
|
51
|
-
continuationNodeId: waitNode.id
|
|
56
|
+
continuationNodeId: waitNode.id,
|
|
52
57
|
});
|
|
53
58
|
}
|
|
54
59
|
// Non-durable in-memory fallback
|
|
55
60
|
return {
|
|
56
61
|
eventName,
|
|
57
62
|
correlationKey,
|
|
58
|
-
waited: true
|
|
63
|
+
waited: true,
|
|
59
64
|
};
|
|
60
65
|
});
|
|
61
66
|
step.workflowNode = waitNode;
|
|
62
67
|
step.waitConfig = {
|
|
63
68
|
eventName,
|
|
64
69
|
correlationKey: options.correlationKey,
|
|
65
|
-
timeoutMs
|
|
70
|
+
timeoutMs,
|
|
66
71
|
};
|
|
67
72
|
return step;
|
|
68
73
|
}
|
|
@@ -73,7 +78,7 @@ function wait(durationOrMs) {
|
|
|
73
78
|
id: (0, shared_1.generateUUID)(),
|
|
74
79
|
name: stepName,
|
|
75
80
|
type: 'wait',
|
|
76
|
-
durationMs
|
|
81
|
+
durationMs,
|
|
77
82
|
};
|
|
78
83
|
const step = step_1.Step.create(stepName, async (param) => {
|
|
79
84
|
const isDurable = param?.$isDurable === true;
|
|
@@ -84,7 +89,7 @@ function wait(durationOrMs) {
|
|
|
84
89
|
correlationKey,
|
|
85
90
|
eventName: 'timer',
|
|
86
91
|
expiresAt,
|
|
87
|
-
continuationNodeId: waitNode.id
|
|
92
|
+
continuationNodeId: waitNode.id,
|
|
88
93
|
});
|
|
89
94
|
}
|
|
90
95
|
if (durationMs > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wait.js","sourceRoot":"","sources":["../../../src/features/durable/wait.ts"],"names":[],"mappings":";;AAMA,
|
|
1
|
+
{"version":3,"file":"wait.js","sourceRoot":"","sources":["../../../src/features/durable/wait.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../src/features/events/capture.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../src/features/events/capture.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,sBAAsB,GAC5B,gBAAgB,GAChB,aAAa,GACb,iBAAiB,GACjB,cAAc,GACd,QAAQ,GACR,QAAQ,GACR,cAAc,GACd,SAAS,CAAC;AAChB,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,MAAM,EAAE,CAAC,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACtE;AACD,MAAM,WAAW,uBAAuB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACtB;AACD,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,CAAC,CAAC;AAyDjG,mFAAmF;AACnF,wBAAgB,iBAAiB,CAC7B,MAAM,EAAE,uBAAuB,GAAG,SAAS,EAC3C,KAAK,EAAE,sBAAsB,EAC7B,KAAK,EAAE,OAAO,GACf,iBAAiB,CAWnB;AACD,wFAAwF;AACxF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CA2BjG"}
|
|
@@ -3,7 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.captureInspection = captureInspection;
|
|
4
4
|
exports.sanitizeInspectionContent = sanitizeInspectionContent;
|
|
5
5
|
const redaction_1 = require("./redaction");
|
|
6
|
-
const fields = [
|
|
6
|
+
const fields = [
|
|
7
|
+
'requestHeaders',
|
|
8
|
+
'requestBody',
|
|
9
|
+
'responseHeaders',
|
|
10
|
+
'responseBody',
|
|
11
|
+
'prompt',
|
|
12
|
+
'output',
|
|
13
|
+
'parsedOutput',
|
|
14
|
+
'preview',
|
|
15
|
+
];
|
|
7
16
|
function bounded(text, max) {
|
|
8
17
|
// Decode only complete code points so the byte cap also holds for Unicode.
|
|
9
18
|
let result = '', bytes = 0;
|
|
@@ -17,20 +26,26 @@ function bounded(text, max) {
|
|
|
17
26
|
return { text: result, truncated: result !== text };
|
|
18
27
|
}
|
|
19
28
|
function cleanText(value) {
|
|
20
|
-
if (value === undefined ||
|
|
21
|
-
|
|
29
|
+
if (value === undefined ||
|
|
30
|
+
(typeof value === 'object' &&
|
|
31
|
+
value !== null &&
|
|
32
|
+
!Array.isArray(value) &&
|
|
33
|
+
Object.getPrototypeOf(value) !== Object.prototype))
|
|
22
34
|
return undefined;
|
|
23
35
|
let safe = value;
|
|
24
36
|
if (typeof safe === 'string') {
|
|
25
37
|
try {
|
|
26
38
|
safe = JSON.parse(safe);
|
|
27
39
|
}
|
|
28
|
-
catch {
|
|
40
|
+
catch {
|
|
41
|
+
/* Plain text/HTML. */
|
|
42
|
+
}
|
|
29
43
|
}
|
|
30
44
|
const redacted = (0, redaction_1.redactValue)(safe);
|
|
31
45
|
const text = typeof redacted === 'string' ? redacted : JSON.stringify(redacted);
|
|
32
46
|
// URLs can contain credentials in paths, queries and callback tokens. Omit all.
|
|
33
|
-
return text
|
|
47
|
+
return text
|
|
48
|
+
?.replace(/https?:\/\/[^\s<>"']+/gi, '[URL omitted]')
|
|
34
49
|
.replace(/\b(?:Bearer|Basic)\s+[A-Za-z0-9+/_.=-]+/gi, '[Credential omitted]');
|
|
35
50
|
}
|
|
36
51
|
function safeHeaders(value) {
|
|
@@ -61,7 +76,13 @@ function captureInspection(policy, field, value) {
|
|
|
61
76
|
}
|
|
62
77
|
/** Revalidate untrusted transport data; never retain extra fields or unbounded text. */
|
|
63
78
|
function sanitizeInspectionContent(value, kind) {
|
|
64
|
-
const allowed = kind === 'http'
|
|
79
|
+
const allowed = kind === 'http'
|
|
80
|
+
? fields.slice(0, 4)
|
|
81
|
+
: kind === 'ai'
|
|
82
|
+
? fields.slice(4, 7)
|
|
83
|
+
: kind === 'notification'
|
|
84
|
+
? ['preview']
|
|
85
|
+
: [];
|
|
65
86
|
const result = {};
|
|
66
87
|
for (const field of allowed) {
|
|
67
88
|
const entry = value?.[field];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../../src/features/events/capture.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../../src/features/events/capture.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../../src/features/events/emitter.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../../src/features/events/emitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAExG,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,sBAAsB,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE3F,qBAAa,oBAAoB;IAC7B,OAAO,CAAC,SAAS,CAAmD;IACpE,OAAO,CAAC,iBAAiB,CAAyD;IAClF,OAAO,CAAC,eAAe,CAAC,CAAS;gBAErB,eAAe,CAAC,EAAE,MAAM;IAIpC,EAAE,CAAC,CAAC,SAAS,0BAA0B,EACnC,eAAe,EAAE,CAAC,GAAG,GAAG,GAAG,aAAa,CAAC,sBAAsB,CAAC,EAChE,QAAQ,CAAC,EAAE,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,GACvD,IAAI;IAsBP,IAAI,CAAC,CAAC,SAAS,0BAA0B,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI;IAQ9F,GAAG,CAAC,CAAC,SAAS,0BAA0B,EACpC,eAAe,EAAE,CAAC,GAAG,GAAG,GAAG,aAAa,CAAC,sBAAsB,CAAC,EAChE,QAAQ,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,GAC9B,IAAI;IA2BP,IAAI,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;IACzC,IAAI,CAAC,CAAC,SAAS,0BAA0B,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,yBAAyB,CAAC,CAAC,CAAC,GAAG,IAAI;IAwC9F,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAYxC,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;IAcrC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB;IAUxD,gBAAgB,IAAI,cAAc;CA8CrC;AAED,eAAO,MAAM,2BAA2B,sBAA6B,CAAC;AAItE,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAEtE;AAED,wBAAgB,iBAAiB,IAAI,oBAAoB,GAAG,SAAS,CAEpE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAgCrF"}
|
|
@@ -70,7 +70,10 @@ class WorkflowEventEmitter {
|
|
|
70
70
|
}
|
|
71
71
|
emit(eventOrType, maybePayload) {
|
|
72
72
|
const event = typeof eventOrType === 'string'
|
|
73
|
-
? Object.assign({}, maybePayload, {
|
|
73
|
+
? Object.assign({}, maybePayload, {
|
|
74
|
+
type: eventOrType,
|
|
75
|
+
timestamp: maybePayload?.timestamp || Date.now(),
|
|
76
|
+
})
|
|
74
77
|
: eventOrType;
|
|
75
78
|
if (!event || !event.type) {
|
|
76
79
|
return;
|
|
@@ -128,7 +131,7 @@ class WorkflowEventEmitter {
|
|
|
128
131
|
}
|
|
129
132
|
filterNamespace(namespace) {
|
|
130
133
|
const scoped = new WorkflowEventEmitter(namespace);
|
|
131
|
-
this.on('*',
|
|
134
|
+
this.on('*', ev => {
|
|
132
135
|
if (!ev.namespace || ev.namespace === namespace) {
|
|
133
136
|
scoped.emit(ev);
|
|
134
137
|
}
|
|
@@ -138,7 +141,7 @@ class WorkflowEventEmitter {
|
|
|
138
141
|
toStorageAdapter() {
|
|
139
142
|
return {
|
|
140
143
|
name: 'workflow-event-emitter',
|
|
141
|
-
onContextChange:
|
|
144
|
+
onContextChange: entry => {
|
|
142
145
|
this.emit({
|
|
143
146
|
type: 'context:change',
|
|
144
147
|
stackId: entry.stackId,
|
|
@@ -146,10 +149,10 @@ class WorkflowEventEmitter {
|
|
|
146
149
|
field: entry.field,
|
|
147
150
|
value: entry.value,
|
|
148
151
|
timestamp: entry.timestamp,
|
|
149
|
-
namespace: entry.namespace
|
|
152
|
+
namespace: entry.namespace,
|
|
150
153
|
});
|
|
151
154
|
},
|
|
152
|
-
onCacheEvent:
|
|
155
|
+
onCacheEvent: event => {
|
|
153
156
|
if (event.type === 'hit') {
|
|
154
157
|
this.emit({
|
|
155
158
|
type: 'cache:hit',
|
|
@@ -157,7 +160,7 @@ class WorkflowEventEmitter {
|
|
|
157
160
|
stepId: event.stepId,
|
|
158
161
|
key: event.key,
|
|
159
162
|
timestamp: event.timestamp,
|
|
160
|
-
namespace: event.namespace
|
|
163
|
+
namespace: event.namespace,
|
|
161
164
|
});
|
|
162
165
|
}
|
|
163
166
|
else {
|
|
@@ -167,7 +170,7 @@ class WorkflowEventEmitter {
|
|
|
167
170
|
stepId: event.stepId,
|
|
168
171
|
key: event.key,
|
|
169
172
|
timestamp: event.timestamp,
|
|
170
|
-
namespace: event.namespace
|
|
173
|
+
namespace: event.namespace,
|
|
171
174
|
});
|
|
172
175
|
}
|
|
173
176
|
},
|
|
@@ -177,9 +180,9 @@ class WorkflowEventEmitter {
|
|
|
177
180
|
stackId: checkpoint.stackId,
|
|
178
181
|
status: checkpoint.status,
|
|
179
182
|
timestamp: checkpoint.timestamp || Date.now(),
|
|
180
|
-
namespace: checkpoint.namespace
|
|
183
|
+
namespace: checkpoint.namespace,
|
|
181
184
|
});
|
|
182
|
-
}
|
|
185
|
+
},
|
|
183
186
|
};
|
|
184
187
|
}
|
|
185
188
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../../src/features/events/emitter.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../../src/features/events/emitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspection.d.ts","sourceRoot":"","sources":["../../../src/features/events/inspection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAA6B,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,MAAM,MAAM,mBAAmB,GAAG;IAC9B,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC/B,GAAG,CACE;
|
|
1
|
+
{"version":3,"file":"inspection.d.ts","sourceRoot":"","sources":["../../../src/features/events/inspection.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,24 +27,79 @@ function markEcosystemStack(stackId) {
|
|
|
27
27
|
exports.stepInspectionStorage = new node_async_hooks_1.AsyncLocalStorage();
|
|
28
28
|
/** Strict metadata and bounded opt-in content allowlists. */
|
|
29
29
|
function sanitizeInspection(value) {
|
|
30
|
-
if (!value ||
|
|
31
|
-
|
|
30
|
+
if (!value ||
|
|
31
|
+
value.version !== 1 ||
|
|
32
|
+
!['http', 'crypto', 'notification', 'ai'].includes(value.kind) ||
|
|
33
|
+
!['success', 'failure'].includes(value.outcome))
|
|
32
34
|
return undefined;
|
|
33
35
|
const clean = { version: 1, kind: value.kind, outcome: value.outcome };
|
|
34
36
|
const fields = {
|
|
35
|
-
http: [
|
|
37
|
+
http: [
|
|
38
|
+
'method',
|
|
39
|
+
'url',
|
|
40
|
+
'status',
|
|
41
|
+
'retryAttempts',
|
|
42
|
+
'requestAttempt',
|
|
43
|
+
'retryDelayMs',
|
|
44
|
+
'retryAfterMs',
|
|
45
|
+
'retryDelaySource',
|
|
46
|
+
'traceId',
|
|
47
|
+
'policy',
|
|
48
|
+
],
|
|
36
49
|
crypto: ['provider', 'payloadBytes', 'category', 'timestampCheck', 'replayCheck'],
|
|
37
50
|
notification: ['channel', 'notificationId', 'approval', 'tokenStatus', 'approvalExpiresAt', 'approvalState'],
|
|
38
|
-
ai: [
|
|
51
|
+
ai: [
|
|
52
|
+
'inferenceAttempt',
|
|
53
|
+
'phase',
|
|
54
|
+
'provider',
|
|
55
|
+
'model',
|
|
56
|
+
'promptTokens',
|
|
57
|
+
'completionTokens',
|
|
58
|
+
'totalTokens',
|
|
59
|
+
'estimatedCostUsd',
|
|
60
|
+
'repairAttempts',
|
|
61
|
+
'fallbackCount',
|
|
62
|
+
],
|
|
39
63
|
};
|
|
40
|
-
const numeric = new Set([
|
|
41
|
-
|
|
64
|
+
const numeric = new Set([
|
|
65
|
+
'status',
|
|
66
|
+
'retryAttempts',
|
|
67
|
+
'payloadBytes',
|
|
68
|
+
'promptTokens',
|
|
69
|
+
'completionTokens',
|
|
70
|
+
'totalTokens',
|
|
71
|
+
'estimatedCostUsd',
|
|
72
|
+
'repairAttempts',
|
|
73
|
+
'fallbackCount',
|
|
74
|
+
'durationMs',
|
|
75
|
+
'inferenceAttempt',
|
|
76
|
+
'requestAttempt',
|
|
77
|
+
'retryDelayMs',
|
|
78
|
+
'retryAfterMs',
|
|
79
|
+
]);
|
|
80
|
+
const enums = {
|
|
81
|
+
method: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS'],
|
|
42
82
|
phase: ['attempt', 'completion', 'preflight'],
|
|
43
83
|
retryDelaySource: ['retry-after', 'backoff'],
|
|
44
|
-
policy: ['allowed', 'denied', 'unknown'],
|
|
45
|
-
|
|
84
|
+
policy: ['allowed', 'denied', 'unknown'],
|
|
85
|
+
category: [
|
|
86
|
+
'verified',
|
|
87
|
+
'rejected',
|
|
88
|
+
'invalid-payload',
|
|
89
|
+
'payload-too-large',
|
|
90
|
+
'missing-secret',
|
|
91
|
+
'unknown-provider',
|
|
92
|
+
'missing-signature',
|
|
93
|
+
'timestamp-rejected',
|
|
94
|
+
'replay-detected',
|
|
95
|
+
'invalid-signature',
|
|
96
|
+
],
|
|
97
|
+
timestampCheck: ['passed', 'failed', 'unavailable'],
|
|
98
|
+
replayCheck: ['passed', 'failed', 'unavailable'],
|
|
46
99
|
approvalState: ['requested', 'approved', 'rejected', 'forbidden', 'cancelled', 'expired', 'conflict', 'failed'],
|
|
47
|
-
tokenStatus: ['issued', 'unavailable'],
|
|
100
|
+
tokenStatus: ['issued', 'unavailable'],
|
|
101
|
+
channel: ['email', 'slack', 'discord', 'sms', 'push'],
|
|
102
|
+
};
|
|
48
103
|
for (const key of [...fields[value.kind], 'durationMs']) {
|
|
49
104
|
const val = value[key];
|
|
50
105
|
if (key === 'url') {
|
|
@@ -53,7 +108,9 @@ function sanitizeInspection(value) {
|
|
|
53
108
|
if (['http:', 'https:'].includes(u.protocol))
|
|
54
109
|
clean.url = u.origin;
|
|
55
110
|
}
|
|
56
|
-
catch {
|
|
111
|
+
catch {
|
|
112
|
+
/* unavailable */
|
|
113
|
+
}
|
|
57
114
|
}
|
|
58
115
|
else if (key === 'approvalExpiresAt') {
|
|
59
116
|
if (typeof val === 'number' && Number.isSafeInteger(val) && val >= 0 && val <= 8640000000000000)
|
|
@@ -97,12 +154,19 @@ function recordInspection(inspection) {
|
|
|
97
154
|
const safe = sanitizeInspection(inspection);
|
|
98
155
|
if (scope && safe)
|
|
99
156
|
(0, emitter_1.emitMonitoringEvent)({ monitor: scope.monitor }, {
|
|
100
|
-
type: 'step:inspection',
|
|
101
|
-
|
|
102
|
-
|
|
157
|
+
type: 'step:inspection',
|
|
158
|
+
stackId: scope.stackId,
|
|
159
|
+
stepId: scope.stepId,
|
|
160
|
+
stepName: scope.stepName,
|
|
161
|
+
attempt: scope.attempt,
|
|
162
|
+
namespace: scope.namespace,
|
|
163
|
+
timestamp: Date.now(),
|
|
164
|
+
inspection: safe,
|
|
103
165
|
});
|
|
104
166
|
}
|
|
105
|
-
catch {
|
|
167
|
+
catch {
|
|
168
|
+
/* Diagnostics cannot affect execution. */
|
|
169
|
+
}
|
|
106
170
|
}
|
|
107
171
|
async function observeEcosystem(base, action, summary) {
|
|
108
172
|
const scope = exports.stepInspectionStorage.getStore();
|
|
@@ -113,9 +177,16 @@ async function observeEcosystem(base, action, summary) {
|
|
|
113
177
|
try {
|
|
114
178
|
const result = await action();
|
|
115
179
|
try {
|
|
116
|
-
recordInspection({
|
|
180
|
+
recordInspection({
|
|
181
|
+
...base,
|
|
182
|
+
...summary?.(result),
|
|
183
|
+
outcome: 'success',
|
|
184
|
+
durationMs: Date.now() - start,
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
catch {
|
|
188
|
+
/* best effort */
|
|
117
189
|
}
|
|
118
|
-
catch { /* best effort */ }
|
|
119
190
|
return result;
|
|
120
191
|
}
|
|
121
192
|
catch (error) {
|