apcore-js 0.21.1 → 0.23.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/README.md +37 -3
- package/dist/acl-handlers.d.ts.map +1 -1
- package/dist/acl-handlers.js +5 -0
- package/dist/acl-handlers.js.map +1 -1
- package/dist/async-task.d.ts +49 -14
- package/dist/async-task.d.ts.map +1 -1
- package/dist/async-task.js +134 -39
- package/dist/async-task.js.map +1 -1
- package/dist/bindings.d.ts +13 -1
- package/dist/bindings.d.ts.map +1 -1
- package/dist/bindings.js +21 -5
- package/dist/bindings.js.map +1 -1
- package/dist/browser/index.d.ts +2 -2
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.js +2 -2
- package/dist/browser/index.js.map +1 -1
- package/dist/builtin-steps.d.ts +14 -12
- package/dist/builtin-steps.d.ts.map +1 -1
- package/dist/builtin-steps.js +99 -30
- package/dist/builtin-steps.js.map +1 -1
- package/dist/cancel.d.ts +23 -2
- package/dist/cancel.d.ts.map +1 -1
- package/dist/cancel.js +31 -6
- package/dist/cancel.js.map +1 -1
- package/dist/client.d.ts +3 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +7 -3
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +31 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +108 -14
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +36 -3
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +111 -20
- package/dist/context.js.map +1 -1
- package/dist/errors.d.ts +74 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +158 -11
- package/dist/errors.js.map +1 -1
- package/dist/events/emitter.d.ts +54 -16
- package/dist/events/emitter.d.ts.map +1 -1
- package/dist/events/emitter.js +162 -73
- package/dist/events/emitter.js.map +1 -1
- package/dist/events/index.d.ts +2 -1
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +1 -1
- package/dist/events/index.js.map +1 -1
- package/dist/events/retry.d.ts +35 -0
- package/dist/events/retry.d.ts.map +1 -0
- package/dist/events/retry.js +52 -0
- package/dist/events/retry.js.map +1 -0
- package/dist/events/subscribers.d.ts +54 -9
- package/dist/events/subscribers.d.ts.map +1 -1
- package/dist/events/subscribers.js +109 -67
- package/dist/events/subscribers.js.map +1 -1
- package/dist/executor.d.ts +4 -1
- package/dist/executor.d.ts.map +1 -1
- package/dist/executor.js +157 -21
- package/dist/executor.js.map +1 -1
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/index.d.ts +8 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/dist/middleware/circuit-breaker.d.ts +10 -4
- package/dist/middleware/circuit-breaker.d.ts.map +1 -1
- package/dist/middleware/circuit-breaker.js +49 -24
- package/dist/middleware/circuit-breaker.js.map +1 -1
- package/dist/middleware/index.d.ts +2 -2
- package/dist/middleware/index.d.ts.map +1 -1
- package/dist/middleware/index.js +2 -2
- package/dist/middleware/index.js.map +1 -1
- package/dist/middleware/manager.d.ts +6 -2
- package/dist/middleware/manager.d.ts.map +1 -1
- package/dist/middleware/manager.js +36 -1
- package/dist/middleware/manager.js.map +1 -1
- package/dist/middleware/platform-notify.d.ts +2 -3
- package/dist/middleware/platform-notify.d.ts.map +1 -1
- package/dist/middleware/platform-notify.js +5 -6
- package/dist/middleware/platform-notify.js.map +1 -1
- package/dist/middleware/retry.d.ts +33 -15
- package/dist/middleware/retry.d.ts.map +1 -1
- package/dist/middleware/retry.js +48 -23
- package/dist/middleware/retry.js.map +1 -1
- package/dist/observability/context-logger.d.ts +15 -11
- package/dist/observability/context-logger.d.ts.map +1 -1
- package/dist/observability/context-logger.js +40 -14
- package/dist/observability/context-logger.js.map +1 -1
- package/dist/pipeline.d.ts +1 -1
- package/dist/pipeline.js +11 -11
- package/dist/pipeline.js.map +1 -1
- package/dist/registry/multi-class.js +6 -17
- package/dist/registry/multi-class.js.map +1 -1
- package/dist/registry/registry.d.ts +46 -2
- package/dist/registry/registry.d.ts.map +1 -1
- package/dist/registry/registry.js +276 -36
- package/dist/registry/registry.js.map +1 -1
- package/dist/registry/version.d.ts.map +1 -1
- package/dist/registry/version.js +9 -2
- package/dist/registry/version.js.map +1 -1
- package/dist/schema/ref-resolver.d.ts.map +1 -1
- package/dist/schema/ref-resolver.js +2 -2
- package/dist/schema/ref-resolver.js.map +1 -1
- package/dist/schema/strict.d.ts.map +1 -1
- package/dist/schema/strict.js +4 -1
- package/dist/schema/strict.js.map +1 -1
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/schema/types.js +1 -1
- package/dist/schema/types.js.map +1 -1
- package/dist/schema/validator.d.ts.map +1 -1
- package/dist/schema/validator.js +11 -20
- package/dist/schema/validator.js.map +1 -1
- package/dist/streaming.d.ts +21 -0
- package/dist/streaming.d.ts.map +1 -0
- package/dist/streaming.js +32 -0
- package/dist/streaming.js.map +1 -0
- package/dist/sys-modules/control.d.ts +7 -0
- package/dist/sys-modules/control.d.ts.map +1 -1
- package/dist/sys-modules/control.js +32 -7
- package/dist/sys-modules/control.js.map +1 -1
- package/dist/sys-modules/manifest.js +7 -0
- package/dist/sys-modules/manifest.js.map +1 -1
- package/dist/sys-modules/registration.d.ts.map +1 -1
- package/dist/sys-modules/registration.js +18 -8
- package/dist/sys-modules/registration.js.map +1 -1
- package/dist/trace-context.d.ts.map +1 -1
- package/dist/trace-context.js +14 -3
- package/dist/trace-context.js.map +1 -1
- package/package.json +8 -4
- package/dist/registry/index.d.ts +0 -15
- package/dist/registry/index.d.ts.map +0 -1
- package/dist/registry/index.js +0 -11
- package/dist/registry/index.js.map +0 -1
- package/dist/schema/index.d.ts +0 -11
- package/dist/schema/index.d.ts.map +0 -1
- package/dist/schema/index.js +0 -9
- package/dist/schema/index.js.map +0 -1
|
@@ -2,46 +2,53 @@
|
|
|
2
2
|
* Event subscribers for webhook, A2A, file, stdout, and filter delivery.
|
|
3
3
|
*/
|
|
4
4
|
import * as fs from 'node:fs';
|
|
5
|
+
import { DEFAULT_RETRY, fnmatch } from './retry.js';
|
|
5
6
|
const SEVERITY_ORDER = { info: 0, warn: 1, error: 2, fatal: 3 };
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return '.*';
|
|
14
|
-
if (c === '?')
|
|
15
|
-
return '.';
|
|
16
|
-
return c.replace(/[$()*+.?[\]^{|}-]/g, '\\$&');
|
|
17
|
-
})
|
|
18
|
-
.join('');
|
|
19
|
-
regex = new RegExp(`^${regexStr}$`);
|
|
20
|
-
_patternCache.set(pattern, regex);
|
|
21
|
-
}
|
|
22
|
-
return regex.test(text);
|
|
7
|
+
// Per-type monotonic counters for auto-generated subscriber IDs.
|
|
8
|
+
// Pattern: `^{type}-[0-9]+$` per spec event_delivery_semantics fixture.
|
|
9
|
+
const _subscriberCounters = new Map();
|
|
10
|
+
function _nextSubscriberId(typeName) {
|
|
11
|
+
const next = (_subscriberCounters.get(typeName) ?? 0);
|
|
12
|
+
_subscriberCounters.set(typeName, next + 1);
|
|
13
|
+
return `${typeName}-${next}`;
|
|
23
14
|
}
|
|
24
15
|
/**
|
|
25
16
|
* Delivers events via HTTP POST to a webhook URL.
|
|
26
17
|
*
|
|
27
|
-
* Retries on 5xx and connection errors
|
|
28
|
-
*
|
|
18
|
+
* Retries on 5xx and connection errors. As of v0.22.0 finding A-D-EVT-001,
|
|
19
|
+
* the retry policy is unified across event subscribers: the subscriber MUST
|
|
20
|
+
* NOT loop internally. Instead, it rethrows on 5xx / network errors and the
|
|
21
|
+
* outer `EventEmitter._deliver` applies the spec retry policy declared via
|
|
22
|
+
* the `retry` field (defaults to `DEFAULT_RETRY` — 3 attempts, 100 ms initial
|
|
23
|
+
* backoff, 2× multiplier, 30 s cap). 4xx responses are treated as
|
|
24
|
+
* non-retryable: a warning is logged and the call returns normally.
|
|
29
25
|
*/
|
|
30
26
|
export class WebhookSubscriber {
|
|
27
|
+
/** Declared subscriber kind for DLQ payloads (A-D-029). */
|
|
28
|
+
subscriberType = 'webhook';
|
|
29
|
+
subscriberId;
|
|
30
|
+
retry;
|
|
31
31
|
_url;
|
|
32
32
|
_headers;
|
|
33
|
-
_retryCount;
|
|
34
33
|
_timeoutMs;
|
|
35
|
-
constructor(url, headers,
|
|
34
|
+
constructor(url, headers, timeoutMsOrOpts = 5000, id) {
|
|
35
|
+
if (typeof timeoutMsOrOpts === 'number') {
|
|
36
|
+
this._timeoutMs = timeoutMsOrOpts;
|
|
37
|
+
this.retry = { ...DEFAULT_RETRY };
|
|
38
|
+
this.subscriberId = id ?? _nextSubscriberId('webhook');
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
this._timeoutMs = timeoutMsOrOpts.timeoutMs ?? 5000;
|
|
42
|
+
this.retry = { ...DEFAULT_RETRY, ...(timeoutMsOrOpts.retry ?? {}) };
|
|
43
|
+
this.subscriberId = timeoutMsOrOpts.id ?? id ?? _nextSubscriberId('webhook');
|
|
44
|
+
}
|
|
36
45
|
this._url = url;
|
|
37
46
|
this._headers = headers ?? {};
|
|
38
|
-
this._retryCount = retryCount;
|
|
39
|
-
this._timeoutMs = timeoutMs;
|
|
40
47
|
}
|
|
41
48
|
async onEvent(event) {
|
|
42
49
|
const payload = {
|
|
43
|
-
|
|
44
|
-
|
|
50
|
+
event_type: event.eventType,
|
|
51
|
+
module_id: event.moduleId,
|
|
45
52
|
timestamp: event.timestamp,
|
|
46
53
|
severity: event.severity,
|
|
47
54
|
data: event.data,
|
|
@@ -50,38 +57,26 @@ export class WebhookSubscriber {
|
|
|
50
57
|
'Content-Type': 'application/json',
|
|
51
58
|
...this._headers,
|
|
52
59
|
};
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
});
|
|
65
|
-
if (response.status < 500) {
|
|
66
|
-
if (response.status >= 400) {
|
|
67
|
-
console.warn('[apcore:events]', `Webhook ${this._url} returned ${response.status} for event ${event.eventType}`);
|
|
68
|
-
}
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
// 5xx -- retry
|
|
72
|
-
lastError = new Error(`Webhook returned ${response.status}`);
|
|
73
|
-
console.warn('[apcore:events]', `Webhook ${this._url} returned ${response.status} (attempt ${attempt + 1}/${attempts})`);
|
|
74
|
-
}
|
|
75
|
-
catch (err) {
|
|
76
|
-
lastError = err;
|
|
77
|
-
console.warn('[apcore:events]', `Webhook ${this._url} failed (attempt ${attempt + 1}/${attempts}):`, err);
|
|
60
|
+
const controller = new AbortController();
|
|
61
|
+
const timer = setTimeout(() => controller.abort(), this._timeoutMs);
|
|
62
|
+
try {
|
|
63
|
+
const response = await fetch(this._url, {
|
|
64
|
+
method: 'POST',
|
|
65
|
+
headers: mergedHeaders,
|
|
66
|
+
body: JSON.stringify(payload),
|
|
67
|
+
signal: controller.signal,
|
|
68
|
+
});
|
|
69
|
+
if (response.status >= 500) {
|
|
70
|
+
// Server error — rethrow so the EventEmitter retry policy applies.
|
|
71
|
+
throw new Error(`Webhook ${this._url} returned ${response.status}`);
|
|
78
72
|
}
|
|
79
|
-
|
|
80
|
-
|
|
73
|
+
if (response.status >= 400) {
|
|
74
|
+
// Client error — non-retryable; log and return.
|
|
75
|
+
console.warn('[apcore:events]', `Webhook ${this._url} returned ${response.status} for event ${event.eventType}`);
|
|
81
76
|
}
|
|
82
77
|
}
|
|
83
|
-
|
|
84
|
-
|
|
78
|
+
finally {
|
|
79
|
+
clearTimeout(timer);
|
|
85
80
|
}
|
|
86
81
|
}
|
|
87
82
|
}
|
|
@@ -89,23 +84,46 @@ export class WebhookSubscriber {
|
|
|
89
84
|
* Delivers events via the A2A protocol to the platform.
|
|
90
85
|
*
|
|
91
86
|
* Sends a POST with `skillId="apevo.event_receiver"` and the
|
|
92
|
-
* serialized event in the payload.
|
|
87
|
+
* serialized event in the payload. As of v0.22.0 finding A-D-EVT-001 the
|
|
88
|
+
* subscriber no longer silently swallows errors. Mirroring
|
|
89
|
+
* `WebhookSubscriber`, it rethrows on 5xx / network errors so the unified
|
|
90
|
+
* `EventEmitter._deliver` retry policy applies (defaults to `DEFAULT_RETRY`
|
|
91
|
+
* — 3 attempts, 100 ms initial backoff, 2× multiplier, 30 s cap); after
|
|
92
|
+
* exhaustion the EventEmitter routes the failure through the DLQ +
|
|
93
|
+
* `onFailure` path. 4xx responses are treated as non-retryable: a warning
|
|
94
|
+
* is logged and the call returns normally (no retry, no DLQ).
|
|
93
95
|
*/
|
|
94
96
|
export class A2ASubscriber {
|
|
97
|
+
/** Declared subscriber kind for DLQ payloads (A-D-029). */
|
|
98
|
+
subscriberType = 'a2a';
|
|
99
|
+
subscriberId;
|
|
100
|
+
retry;
|
|
95
101
|
_platformUrl;
|
|
96
102
|
_auth;
|
|
97
103
|
_timeoutMs;
|
|
98
|
-
|
|
104
|
+
_skillId;
|
|
105
|
+
constructor(platformUrl, auth, timeoutMsOrOpts = 5000, id, skillId = 'apevo.event_receiver') {
|
|
106
|
+
if (typeof timeoutMsOrOpts === 'number') {
|
|
107
|
+
this._timeoutMs = timeoutMsOrOpts;
|
|
108
|
+
this.retry = { ...DEFAULT_RETRY };
|
|
109
|
+
this.subscriberId = id ?? _nextSubscriberId('a2a');
|
|
110
|
+
this._skillId = skillId;
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
this._timeoutMs = timeoutMsOrOpts.timeoutMs ?? 5000;
|
|
114
|
+
this.retry = { ...DEFAULT_RETRY, ...(timeoutMsOrOpts.retry ?? {}) };
|
|
115
|
+
this.subscriberId = timeoutMsOrOpts.id ?? id ?? _nextSubscriberId('a2a');
|
|
116
|
+
this._skillId = timeoutMsOrOpts.skillId ?? skillId;
|
|
117
|
+
}
|
|
99
118
|
this._platformUrl = platformUrl;
|
|
100
119
|
this._auth = auth;
|
|
101
|
-
this._timeoutMs = timeoutMs;
|
|
102
120
|
}
|
|
103
121
|
async onEvent(event) {
|
|
104
122
|
const payload = {
|
|
105
|
-
skillId:
|
|
123
|
+
skillId: this._skillId,
|
|
106
124
|
event: {
|
|
107
|
-
|
|
108
|
-
|
|
125
|
+
event_type: event.eventType,
|
|
126
|
+
module_id: event.moduleId,
|
|
109
127
|
timestamp: event.timestamp,
|
|
110
128
|
severity: event.severity,
|
|
111
129
|
data: event.data,
|
|
@@ -137,13 +155,15 @@ export class A2ASubscriber {
|
|
|
137
155
|
body: JSON.stringify(payload),
|
|
138
156
|
signal: controller.signal,
|
|
139
157
|
});
|
|
158
|
+
if (response.status >= 500) {
|
|
159
|
+
// Server error — rethrow so the EventEmitter retry policy applies.
|
|
160
|
+
throw new Error(`A2A delivery to ${this._platformUrl} failed with status ${response.status}`);
|
|
161
|
+
}
|
|
140
162
|
if (response.status >= 400) {
|
|
141
|
-
|
|
163
|
+
// Client error — non-retryable; log and return.
|
|
164
|
+
console.warn('[apcore:events]', `A2A delivery to ${this._platformUrl} returned ${response.status} for event ${event.eventType}`);
|
|
142
165
|
}
|
|
143
166
|
}
|
|
144
|
-
catch (err) {
|
|
145
|
-
console.warn('[apcore:events]', `A2A delivery to ${this._platformUrl} failed for event ${event.eventType}:`, err);
|
|
146
|
-
}
|
|
147
167
|
finally {
|
|
148
168
|
clearTimeout(timer);
|
|
149
169
|
}
|
|
@@ -151,11 +171,15 @@ export class A2ASubscriber {
|
|
|
151
171
|
}
|
|
152
172
|
/** Writes events to a local file (built-in type: 'file'). */
|
|
153
173
|
export class FileSubscriber {
|
|
174
|
+
/** Declared subscriber kind for DLQ payloads (A-D-029). */
|
|
175
|
+
subscriberType = 'file';
|
|
176
|
+
subscriberId;
|
|
154
177
|
_path;
|
|
155
178
|
_append;
|
|
156
179
|
_format;
|
|
157
180
|
_rotateBytes;
|
|
158
|
-
constructor(path, append = true, format = 'json', rotateBytes) {
|
|
181
|
+
constructor(path, append = true, format = 'json', rotateBytes, id) {
|
|
182
|
+
this.subscriberId = id ?? _nextSubscriberId('file');
|
|
159
183
|
this._path = path;
|
|
160
184
|
this._append = append;
|
|
161
185
|
this._format = format;
|
|
@@ -187,14 +211,21 @@ export class FileSubscriber {
|
|
|
187
211
|
}
|
|
188
212
|
catch (err) {
|
|
189
213
|
console.warn('[apcore:events]', `FileSubscriber failed to write event ${event.eventType} to ${this._path}:`, err);
|
|
214
|
+
// Surface the failure so it reaches the emitter's retry/DLQ path
|
|
215
|
+
// (mirrors Python/Rust, which re-raise after logging).
|
|
216
|
+
throw err;
|
|
190
217
|
}
|
|
191
218
|
}
|
|
192
219
|
}
|
|
193
220
|
/** Writes events to stdout (built-in type: 'stdout'). */
|
|
194
221
|
export class StdoutSubscriber {
|
|
222
|
+
/** Declared subscriber kind for DLQ payloads (A-D-029). */
|
|
223
|
+
subscriberType = 'stdout';
|
|
224
|
+
subscriberId;
|
|
195
225
|
_format;
|
|
196
226
|
_levelFilter;
|
|
197
|
-
constructor(format = 'text', levelFilter) {
|
|
227
|
+
constructor(format = 'text', levelFilter, id) {
|
|
228
|
+
this.subscriberId = id ?? _nextSubscriberId('stdout');
|
|
198
229
|
this._format = format;
|
|
199
230
|
if (levelFilter !== undefined && !(levelFilter in SEVERITY_ORDER)) {
|
|
200
231
|
console.warn(`[apcore:events] StdoutSubscriber: unknown level_filter '${levelFilter}' — valid values: info, warn, error, fatal. All events will pass.`);
|
|
@@ -229,13 +260,24 @@ export class StdoutSubscriber {
|
|
|
229
260
|
* 3. If neither is set, forward all events.
|
|
230
261
|
*/
|
|
231
262
|
export class FilterSubscriber {
|
|
263
|
+
/** Declared subscriber kind for DLQ payloads (A-D-029). */
|
|
264
|
+
subscriberType = 'filter';
|
|
265
|
+
/** Stable identity for DLQ payloads and dedup (A-D-022). */
|
|
266
|
+
subscriberId;
|
|
267
|
+
/** Retry policy applied by EventEmitter._deliver (A-D-022). */
|
|
268
|
+
retry;
|
|
232
269
|
_delegate;
|
|
233
270
|
_includeEvents;
|
|
234
271
|
_excludeEvents;
|
|
235
|
-
constructor(delegate, includeEvents, excludeEvents) {
|
|
272
|
+
constructor(delegate, includeEvents, excludeEvents, opts) {
|
|
236
273
|
this._delegate = delegate;
|
|
237
274
|
this._includeEvents = includeEvents ?? null;
|
|
238
275
|
this._excludeEvents = excludeEvents ?? null;
|
|
276
|
+
// Mirror the id/retry surface of the other subscriber types (A-D-022;
|
|
277
|
+
// Python subscribers.py FilterSubscriber accepts id + retry too). When
|
|
278
|
+
// retry is omitted, delivery uses DEFAULT_RETRY via EventEmitter._deliver.
|
|
279
|
+
this.subscriberId = opts?.id ?? _nextSubscriberId('filter');
|
|
280
|
+
this.retry = { ...DEFAULT_RETRY, ...(opts?.retry ?? {}) };
|
|
239
281
|
}
|
|
240
282
|
async onEvent(event) {
|
|
241
283
|
if (this._matches(event.eventType)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscribers.js","sourceRoot":"","sources":["../../src/events/subscribers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"subscribers.js","sourceRoot":"","sources":["../../src/events/subscribers.ts"],"names":[],"mappings":"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"}
|
package/dist/executor.d.ts
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import type { ACL } from './acl.js';
|
|
8
8
|
import type { ApprovalHandler } from './approval.js';
|
|
9
9
|
import type { Config } from './config.js';
|
|
10
|
+
import { type EventEmitter } from './events/emitter.js';
|
|
10
11
|
import { Context } from './context.js';
|
|
11
12
|
import { type Middleware } from './middleware/index.js';
|
|
12
13
|
import type { PreflightResult } from './module.js';
|
|
@@ -27,6 +28,7 @@ export declare class Executor {
|
|
|
27
28
|
private _config;
|
|
28
29
|
private _approvalHandler;
|
|
29
30
|
private _toggleState;
|
|
31
|
+
private _eventEmitter;
|
|
30
32
|
private _strategy;
|
|
31
33
|
private _pipelineEngine;
|
|
32
34
|
/** Global strategy registry for name-based resolution. */
|
|
@@ -39,6 +41,7 @@ export declare class Executor {
|
|
|
39
41
|
config?: Config | null;
|
|
40
42
|
approvalHandler?: ApprovalHandler | null;
|
|
41
43
|
toggleState?: ToggleState | null;
|
|
44
|
+
eventEmitter?: EventEmitter | null;
|
|
42
45
|
});
|
|
43
46
|
/** Build the dependency bag for strategy factories. */
|
|
44
47
|
private _buildStrategyDeps;
|
|
@@ -82,7 +85,7 @@ export declare class Executor {
|
|
|
82
85
|
*/
|
|
83
86
|
callWithTrace(moduleId: string, inputs?: Record<string, unknown> | null, context?: Context | null, options?: {
|
|
84
87
|
strategy?: ExecutionStrategy | null;
|
|
85
|
-
} | null): Promise<[Record<string, unknown>, PipelineTrace]>;
|
|
88
|
+
} | null, versionHint?: string | null): Promise<[Record<string, unknown>, PipelineTrace]>;
|
|
86
89
|
/**
|
|
87
90
|
* Streaming execution pipeline. If the module exposes a stream() async generator,
|
|
88
91
|
* yields each chunk. Otherwise falls back to call() and yields a single chunk.
|
package/dist/executor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAYrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
|