apcore-js 0.19.0 → 0.20.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.
Files changed (186) hide show
  1. package/README.md +110 -9
  2. package/dist/acl.d.ts +18 -0
  3. package/dist/acl.d.ts.map +1 -1
  4. package/dist/acl.js +54 -17
  5. package/dist/acl.js.map +1 -1
  6. package/dist/async-task.d.ts +70 -16
  7. package/dist/async-task.d.ts.map +1 -1
  8. package/dist/async-task.js +212 -72
  9. package/dist/async-task.js.map +1 -1
  10. package/dist/builtin-steps.d.ts +16 -5
  11. package/dist/builtin-steps.d.ts.map +1 -1
  12. package/dist/builtin-steps.js +45 -28
  13. package/dist/builtin-steps.js.map +1 -1
  14. package/dist/config.d.ts +38 -0
  15. package/dist/config.d.ts.map +1 -1
  16. package/dist/config.js +163 -33
  17. package/dist/config.js.map +1 -1
  18. package/dist/context.d.ts.map +1 -1
  19. package/dist/context.js +12 -1
  20. package/dist/context.js.map +1 -1
  21. package/dist/errors.d.ts +32 -10
  22. package/dist/errors.d.ts.map +1 -1
  23. package/dist/errors.js +55 -16
  24. package/dist/errors.js.map +1 -1
  25. package/dist/events/circuit-breaker.d.ts +45 -0
  26. package/dist/events/circuit-breaker.d.ts.map +1 -0
  27. package/dist/events/circuit-breaker.js +115 -0
  28. package/dist/events/circuit-breaker.js.map +1 -0
  29. package/dist/events/emitter.d.ts +22 -1
  30. package/dist/events/emitter.d.ts.map +1 -1
  31. package/dist/events/emitter.js +66 -2
  32. package/dist/events/emitter.js.map +1 -1
  33. package/dist/events/index.d.ts +4 -2
  34. package/dist/events/index.d.ts.map +1 -1
  35. package/dist/events/index.js +3 -2
  36. package/dist/events/index.js.map +1 -1
  37. package/dist/events/subscribers.d.ts +33 -1
  38. package/dist/events/subscribers.d.ts.map +1 -1
  39. package/dist/events/subscribers.js +124 -1
  40. package/dist/events/subscribers.js.map +1 -1
  41. package/dist/executor.d.ts +10 -2
  42. package/dist/executor.d.ts.map +1 -1
  43. package/dist/executor.js +134 -51
  44. package/dist/executor.js.map +1 -1
  45. package/dist/generated/version.d.ts +1 -1
  46. package/dist/generated/version.js +1 -1
  47. package/dist/index.d.ts +35 -25
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +23 -17
  50. package/dist/index.js.map +1 -1
  51. package/dist/middleware/base.d.ts +25 -3
  52. package/dist/middleware/base.d.ts.map +1 -1
  53. package/dist/middleware/base.js +24 -0
  54. package/dist/middleware/base.js.map +1 -1
  55. package/dist/middleware/circuit-breaker.d.ts +54 -0
  56. package/dist/middleware/circuit-breaker.d.ts.map +1 -0
  57. package/dist/middleware/circuit-breaker.js +168 -0
  58. package/dist/middleware/circuit-breaker.js.map +1 -0
  59. package/dist/middleware/context-namespace.d.ts +30 -0
  60. package/dist/middleware/context-namespace.d.ts.map +1 -0
  61. package/dist/middleware/context-namespace.js +38 -0
  62. package/dist/middleware/context-namespace.js.map +1 -0
  63. package/dist/middleware/index.d.ts +7 -1
  64. package/dist/middleware/index.d.ts.map +1 -1
  65. package/dist/middleware/index.js +4 -1
  66. package/dist/middleware/index.js.map +1 -1
  67. package/dist/middleware/manager.d.ts +11 -4
  68. package/dist/middleware/manager.d.ts.map +1 -1
  69. package/dist/middleware/manager.js +25 -9
  70. package/dist/middleware/manager.js.map +1 -1
  71. package/dist/middleware/platform-notify.d.ts +8 -4
  72. package/dist/middleware/platform-notify.d.ts.map +1 -1
  73. package/dist/middleware/platform-notify.js +11 -7
  74. package/dist/middleware/platform-notify.js.map +1 -1
  75. package/dist/middleware/tracing.d.ts +50 -0
  76. package/dist/middleware/tracing.d.ts.map +1 -0
  77. package/dist/middleware/tracing.js +89 -0
  78. package/dist/middleware/tracing.js.map +1 -0
  79. package/dist/observability/batch-span-processor.d.ts +48 -0
  80. package/dist/observability/batch-span-processor.d.ts.map +1 -0
  81. package/dist/observability/batch-span-processor.js +89 -0
  82. package/dist/observability/batch-span-processor.js.map +1 -0
  83. package/dist/observability/context-logger.d.ts +54 -1
  84. package/dist/observability/context-logger.d.ts.map +1 -1
  85. package/dist/observability/context-logger.js +270 -6
  86. package/dist/observability/context-logger.js.map +1 -1
  87. package/dist/observability/error-history.d.ts +36 -7
  88. package/dist/observability/error-history.d.ts.map +1 -1
  89. package/dist/observability/error-history.js +169 -50
  90. package/dist/observability/error-history.js.map +1 -1
  91. package/dist/observability/index.d.ts +16 -5
  92. package/dist/observability/index.d.ts.map +1 -1
  93. package/dist/observability/index.js +8 -3
  94. package/dist/observability/index.js.map +1 -1
  95. package/dist/observability/metrics.d.ts +14 -1
  96. package/dist/observability/metrics.d.ts.map +1 -1
  97. package/dist/observability/metrics.js +23 -2
  98. package/dist/observability/metrics.js.map +1 -1
  99. package/dist/observability/prometheus-exporter.d.ts +37 -0
  100. package/dist/observability/prometheus-exporter.d.ts.map +1 -0
  101. package/dist/observability/prometheus-exporter.js +135 -0
  102. package/dist/observability/prometheus-exporter.js.map +1 -0
  103. package/dist/observability/storage.d.ts +43 -0
  104. package/dist/observability/storage.d.ts.map +1 -0
  105. package/dist/observability/storage.js +58 -0
  106. package/dist/observability/storage.js.map +1 -0
  107. package/dist/observability/store.d.ts +29 -0
  108. package/dist/observability/store.d.ts.map +1 -0
  109. package/dist/observability/store.js +36 -0
  110. package/dist/observability/store.js.map +1 -0
  111. package/dist/observability/usage-exporter.d.ts +58 -0
  112. package/dist/observability/usage-exporter.d.ts.map +1 -0
  113. package/dist/observability/usage-exporter.js +86 -0
  114. package/dist/observability/usage-exporter.js.map +1 -0
  115. package/dist/observability/usage.d.ts +18 -1
  116. package/dist/observability/usage.d.ts.map +1 -1
  117. package/dist/observability/usage.js +25 -3
  118. package/dist/observability/usage.js.map +1 -1
  119. package/dist/pipeline-config.d.ts +11 -0
  120. package/dist/pipeline-config.d.ts.map +1 -1
  121. package/dist/pipeline-config.js +36 -10
  122. package/dist/pipeline-config.js.map +1 -1
  123. package/dist/pipeline.d.ts +123 -2
  124. package/dist/pipeline.d.ts.map +1 -1
  125. package/dist/pipeline.js +249 -50
  126. package/dist/pipeline.js.map +1 -1
  127. package/dist/registry/index.d.ts +2 -0
  128. package/dist/registry/index.d.ts.map +1 -1
  129. package/dist/registry/index.js +1 -0
  130. package/dist/registry/index.js.map +1 -1
  131. package/dist/registry/multi-class.d.ts +57 -0
  132. package/dist/registry/multi-class.d.ts.map +1 -0
  133. package/dist/registry/multi-class.js +120 -0
  134. package/dist/registry/multi-class.js.map +1 -0
  135. package/dist/registry/registry.d.ts +91 -3
  136. package/dist/registry/registry.d.ts.map +1 -1
  137. package/dist/registry/registry.js +181 -11
  138. package/dist/registry/registry.js.map +1 -1
  139. package/dist/schema/constants.d.ts +9 -0
  140. package/dist/schema/constants.d.ts.map +1 -0
  141. package/dist/schema/constants.js +9 -0
  142. package/dist/schema/constants.js.map +1 -0
  143. package/dist/schema/index.d.ts +1 -1
  144. package/dist/schema/index.d.ts.map +1 -1
  145. package/dist/schema/index.js +1 -1
  146. package/dist/schema/index.js.map +1 -1
  147. package/dist/schema/loader.d.ts +27 -3
  148. package/dist/schema/loader.d.ts.map +1 -1
  149. package/dist/schema/loader.js +137 -32
  150. package/dist/schema/loader.js.map +1 -1
  151. package/dist/schema/types.d.ts +4 -0
  152. package/dist/schema/types.d.ts.map +1 -1
  153. package/dist/schema/types.js.map +1 -1
  154. package/dist/schema/validator.d.ts +9 -0
  155. package/dist/schema/validator.d.ts.map +1 -1
  156. package/dist/schema/validator.js +153 -4
  157. package/dist/schema/validator.js.map +1 -1
  158. package/dist/sys-modules/audit.d.ts +50 -0
  159. package/dist/sys-modules/audit.d.ts.map +1 -0
  160. package/dist/sys-modules/audit.js +89 -0
  161. package/dist/sys-modules/audit.js.map +1 -0
  162. package/dist/sys-modules/control.d.ts +32 -4
  163. package/dist/sys-modules/control.d.ts.map +1 -1
  164. package/dist/sys-modules/control.js +196 -25
  165. package/dist/sys-modules/control.js.map +1 -1
  166. package/dist/sys-modules/index.d.ts +7 -2
  167. package/dist/sys-modules/index.d.ts.map +1 -1
  168. package/dist/sys-modules/index.js +3 -1
  169. package/dist/sys-modules/index.js.map +1 -1
  170. package/dist/sys-modules/overrides.d.ts +58 -0
  171. package/dist/sys-modules/overrides.d.ts.map +1 -0
  172. package/dist/sys-modules/overrides.js +106 -0
  173. package/dist/sys-modules/overrides.js.map +1 -0
  174. package/dist/sys-modules/registration.d.ts +17 -12
  175. package/dist/sys-modules/registration.d.ts.map +1 -1
  176. package/dist/sys-modules/registration.js +115 -23
  177. package/dist/sys-modules/registration.js.map +1 -1
  178. package/dist/sys-modules/toggle.d.ts +7 -2
  179. package/dist/sys-modules/toggle.d.ts.map +1 -1
  180. package/dist/sys-modules/toggle.js +61 -5
  181. package/dist/sys-modules/toggle.js.map +1 -1
  182. package/dist/trace-context.d.ts +47 -9
  183. package/dist/trace-context.d.ts.map +1 -1
  184. package/dist/trace-context.js +139 -16
  185. package/dist/trace-context.js.map +1 -1
  186. package/package.json +1 -1
@@ -10,6 +10,70 @@ export var TaskStatus;
10
10
  TaskStatus["FAILED"] = "failed";
11
11
  TaskStatus["CANCELLED"] = "cancelled";
12
12
  })(TaskStatus || (TaskStatus = {}));
13
+ const TERMINAL_STATUSES = new Set([TaskStatus.COMPLETED, TaskStatus.FAILED, TaskStatus.CANCELLED]);
14
+ export class InMemoryTaskStore {
15
+ _data = new Map();
16
+ save(task) {
17
+ this._data.set(task.taskId, task);
18
+ }
19
+ get(taskId) {
20
+ return this._data.get(taskId) ?? null;
21
+ }
22
+ list(status) {
23
+ const all = [...this._data.values()];
24
+ return status ? all.filter(t => t.status === status) : all;
25
+ }
26
+ delete(taskId) {
27
+ this._data.delete(taskId);
28
+ }
29
+ listExpired(beforeTimestamp) {
30
+ return [...this._data.values()].filter(t => TERMINAL_STATUSES.has(t.status) && t.completedAt !== null && t.completedAt < beforeTimestamp);
31
+ }
32
+ }
33
+ /**
34
+ * Process-wide one-shot deprecation warning bookkeeping for {@link RetryConfig}
35
+ * (sync finding D-08). Mirrors the cross-language convention: warn once per
36
+ * unique deprecation key, then stay silent.
37
+ */
38
+ const _RETRY_CONFIG_DEPRECATIONS_EMITTED = new Set();
39
+ function _emitRetryConfigDeprecation(key, message) {
40
+ if (_RETRY_CONFIG_DEPRECATIONS_EMITTED.has(key))
41
+ return;
42
+ _RETRY_CONFIG_DEPRECATIONS_EMITTED.add(key);
43
+ console.warn(message);
44
+ }
45
+ export class RetryConfig {
46
+ maxRetries;
47
+ retryDelayMs;
48
+ backoffMultiplier;
49
+ maxRetryDelayMs;
50
+ constructor(opts = {}) {
51
+ this.maxRetries = opts.maxRetries ?? 0;
52
+ this.retryDelayMs = opts.retryDelayMs ?? 1000;
53
+ this.backoffMultiplier = opts.backoffMultiplier ?? 2.0;
54
+ this.maxRetryDelayMs = opts.maxRetryDelayMs ?? 60000;
55
+ }
56
+ /**
57
+ * Compute the delay in milliseconds before the given retry attempt.
58
+ *
59
+ * Canonical cross-language name (sync finding D-08). Mirrors
60
+ * `RetryConfig.compute_delay_ms` in apcore-python and
61
+ * `RetryConfig::compute_delay_ms` in apcore-rust.
62
+ */
63
+ computeDelayMs(attempt) {
64
+ return Math.min(this.retryDelayMs * Math.pow(this.backoffMultiplier, attempt), this.maxRetryDelayMs);
65
+ }
66
+ /**
67
+ * @deprecated Use {@link RetryConfig.computeDelayMs} instead. Will be removed
68
+ * in the next minor release. Sync finding D-08 — the canonical cross-language
69
+ * method name is `computeDelayMs` (Python `compute_delay_ms`,
70
+ * Rust `compute_delay_ms`).
71
+ */
72
+ computeDelay(attempt) {
73
+ _emitRetryConfigDeprecation('RetryConfig.computeDelay', '[apcore] RetryConfig.computeDelay is deprecated; use computeDelayMs');
74
+ return this.computeDelayMs(attempt);
75
+ }
76
+ }
13
77
  /**
14
78
  * Manages background execution of modules via Promises.
15
79
  *
@@ -17,26 +81,33 @@ export var TaskStatus;
17
81
  */
18
82
  export class AsyncTaskManager {
19
83
  _executor;
84
+ _store;
20
85
  _maxConcurrent;
21
86
  _maxTasks;
22
- _tasks = new Map();
87
+ _internal = new Map();
23
88
  _runningCount = 0;
24
89
  _waitQueue = [];
25
- constructor(executor, maxConcurrent = 10, maxTasks = 1000) {
26
- this._executor = executor;
27
- this._maxConcurrent = maxConcurrent;
28
- this._maxTasks = maxTasks;
90
+ _reaper = null;
91
+ constructor(opts) {
92
+ this._executor = opts.executor;
93
+ this._store = opts.store ?? new InMemoryTaskStore();
94
+ this._maxConcurrent = opts.maxConcurrent ?? 10;
95
+ this._maxTasks = opts.maxTasks ?? 1000;
96
+ }
97
+ get store() {
98
+ return this._store;
29
99
  }
30
100
  /**
31
101
  * Submit a module for background execution.
32
102
  *
33
103
  * Returns the generated task_id. Async to satisfy the cross-SDK protocol contract.
34
104
  */
35
- async submit(moduleId, inputs, context) {
36
- if (this._tasks.size >= this._maxTasks) {
105
+ async submit(moduleId, inputs, opts) {
106
+ if (this._internal.size >= this._maxTasks) {
37
107
  throw new Error(`Task limit reached (${this._maxTasks})`);
38
108
  }
39
109
  const taskId = uuidv4();
110
+ const retry = opts?.retry ?? null;
40
111
  const info = {
41
112
  taskId,
42
113
  moduleId,
@@ -46,27 +117,29 @@ export class AsyncTaskManager {
46
117
  completedAt: null,
47
118
  result: null,
48
119
  error: null,
120
+ retryCount: 0,
121
+ maxRetries: retry?.maxRetries ?? 0,
49
122
  };
123
+ this._store.save(info);
50
124
  let resolvePromise;
51
125
  const promise = new Promise((resolve) => {
52
126
  resolvePromise = resolve;
53
127
  });
54
128
  const internal = {
55
- info,
56
129
  promise,
57
130
  cancelled: false,
58
131
  resolve: resolvePromise,
59
132
  };
60
- this._tasks.set(taskId, internal);
61
- this._enqueue(taskId, moduleId, inputs, context ?? null);
133
+ this._internal.set(taskId, internal);
134
+ this._enqueue(taskId, moduleId, inputs, opts?.context ?? null, retry);
62
135
  return taskId;
63
136
  }
64
137
  /**
65
138
  * Return the TaskInfo for a task, or null if not found.
66
139
  */
67
140
  getStatus(taskId) {
68
- const internal = this._tasks.get(taskId);
69
- return internal ? { ...internal.info } : null;
141
+ const info = this._store.get(taskId);
142
+ return info ? { ...info } : null;
70
143
  }
71
144
  /**
72
145
  * Return the result of a completed task.
@@ -74,62 +147,57 @@ export class AsyncTaskManager {
74
147
  * Throws if the task is not found or not in COMPLETED status.
75
148
  */
76
149
  getResult(taskId) {
77
- const internal = this._tasks.get(taskId);
78
- if (!internal) {
150
+ const info = this._store.get(taskId);
151
+ if (!info) {
79
152
  throw new Error(`Task not found: ${taskId}`);
80
153
  }
81
- if (internal.info.status !== TaskStatus.COMPLETED) {
82
- throw new Error(`Task ${taskId} is not completed (status=${internal.info.status})`);
154
+ if (info.status !== TaskStatus.COMPLETED) {
155
+ throw new Error(`Task ${taskId} is not completed (status=${info.status})`);
83
156
  }
84
- return internal.info.result;
157
+ return info.result;
85
158
  }
86
159
  /**
87
160
  * Cancel a running or pending task.
88
161
  *
89
- * Sets the cancelled flag and updates status immediately.
90
- * The underlying execution may still be in-flight but its result
91
- * will be discarded when it completes.
92
- *
93
162
  * Returns true if the task was successfully marked as cancelled.
94
- * Async to satisfy the cross-SDK protocol contract.
95
163
  */
96
164
  async cancel(taskId) {
97
- const internal = this._tasks.get(taskId);
98
- if (!internal)
165
+ const info = this._store.get(taskId);
166
+ if (!info)
99
167
  return false;
100
- const { info } = internal;
101
168
  if (info.status !== TaskStatus.PENDING && info.status !== TaskStatus.RUNNING) {
102
169
  return false;
103
170
  }
171
+ const internal = this._internal.get(taskId);
172
+ if (!internal)
173
+ return false;
104
174
  internal.cancelled = true;
105
175
  info.status = TaskStatus.CANCELLED;
106
176
  info.completedAt = Date.now() / 1000;
177
+ this._store.save(info);
107
178
  return true;
108
179
  }
109
180
  /**
110
181
  * Return all tasks, optionally filtered by status.
111
182
  */
112
183
  listTasks(status) {
113
- const tasks = [...this._tasks.values()];
114
- const filtered = status ? tasks.filter(t => t.info.status === status) : tasks;
115
- return filtered.map(t => ({ ...t.info }));
184
+ return this._store.list(status).map(t => ({ ...t }));
116
185
  }
117
186
  /**
118
187
  * Remove terminal-state tasks older than maxAgeSeconds seconds.
119
188
  *
120
- * Terminal states: COMPLETED, FAILED, CANCELLED.
121
189
  * Returns the number of tasks removed.
122
190
  */
123
191
  cleanup(maxAgeSeconds = 3600) {
124
- const terminal = new Set([TaskStatus.COMPLETED, TaskStatus.FAILED, TaskStatus.CANCELLED]);
125
- const now = Date.now() / 1000;
192
+ const threshold = Date.now() / 1000 - maxAgeSeconds;
126
193
  let removed = 0;
127
- for (const [taskId, internal] of this._tasks.entries()) {
128
- if (!terminal.has(internal.info.status))
194
+ for (const task of this._store.list()) {
195
+ if (!TERMINAL_STATUSES.has(task.status))
129
196
  continue;
130
- const refTime = internal.info.completedAt ?? internal.info.submittedAt;
131
- if ((now - refTime) >= maxAgeSeconds) {
132
- this._tasks.delete(taskId);
197
+ const refTime = task.completedAt ?? task.submittedAt;
198
+ if (refTime <= threshold) {
199
+ this._store.delete(task.taskId);
200
+ this._internal.delete(task.taskId);
133
201
  removed++;
134
202
  }
135
203
  }
@@ -140,17 +208,63 @@ export class AsyncTaskManager {
140
208
  */
141
209
  async shutdown() {
142
210
  const promises = [];
143
- for (const [taskId, task] of this._tasks) {
144
- if (task.info.status === TaskStatus.PENDING || task.info.status === TaskStatus.RUNNING) {
145
- void this.cancel(taskId);
146
- promises.push(task.promise);
211
+ for (const task of this._store.list()) {
212
+ if (task.status === TaskStatus.PENDING || task.status === TaskStatus.RUNNING) {
213
+ const internal = this._internal.get(task.taskId);
214
+ void this.cancel(task.taskId);
215
+ if (internal)
216
+ promises.push(internal.promise);
147
217
  }
148
218
  }
219
+ if (this._reaper) {
220
+ await this._reaper.stop();
221
+ }
149
222
  await Promise.allSettled(promises);
150
223
  }
151
224
  /**
152
- * Acquire a concurrency slot. Resolves when a slot is available.
225
+ * Start a background reaper that periodically deletes expired terminal tasks.
226
+ *
227
+ * Returns a handle to stop the reaper. Throws if a reaper is already running.
153
228
  */
229
+ startReaper(opts = {}) {
230
+ if (this._reaper !== null) {
231
+ throw new Error('[apcore:async-task] Reaper already running; call stop() before starting again');
232
+ }
233
+ const ttlSeconds = opts.ttlSeconds ?? 3600;
234
+ const sweepIntervalMs = opts.sweepIntervalMs ?? 300000;
235
+ let stopped = false;
236
+ let timeoutHandle = null;
237
+ let resolveStop;
238
+ const stopPromise = new Promise((resolve) => { resolveStop = resolve; });
239
+ const sweep = () => {
240
+ if (stopped)
241
+ return;
242
+ const threshold = Date.now() / 1000 - ttlSeconds;
243
+ const expired = this._store.listExpired(threshold);
244
+ for (const task of expired) {
245
+ this._store.delete(task.taskId);
246
+ this._internal.delete(task.taskId);
247
+ }
248
+ if (!stopped) {
249
+ timeoutHandle = setTimeout(sweep, sweepIntervalMs);
250
+ }
251
+ };
252
+ timeoutHandle = setTimeout(sweep, sweepIntervalMs);
253
+ const handle = {
254
+ stop: async () => {
255
+ stopped = true;
256
+ this._reaper = null;
257
+ if (timeoutHandle !== null) {
258
+ clearTimeout(timeoutHandle);
259
+ timeoutHandle = null;
260
+ }
261
+ resolveStop();
262
+ await stopPromise;
263
+ },
264
+ };
265
+ this._reaper = handle;
266
+ return handle;
267
+ }
154
268
  _acquireSlot() {
155
269
  if (this._runningCount < this._maxConcurrent) {
156
270
  this._runningCount++;
@@ -163,9 +277,6 @@ export class AsyncTaskManager {
163
277
  });
164
278
  });
165
279
  }
166
- /**
167
- * Release a concurrency slot and notify the next waiter.
168
- */
169
280
  _releaseSlot() {
170
281
  this._runningCount--;
171
282
  if (this._waitQueue.length > 0) {
@@ -173,44 +284,73 @@ export class AsyncTaskManager {
173
284
  next();
174
285
  }
175
286
  }
176
- /**
177
- * Enqueue the task for execution under the concurrency limit.
178
- */
179
- _enqueue(taskId, moduleId, inputs, context) {
287
+ _enqueue(taskId, moduleId, inputs, context, retry) {
180
288
  const run = async () => {
181
- const internal = this._tasks.get(taskId);
289
+ const internal = this._internal.get(taskId);
182
290
  if (!internal)
183
291
  return;
292
+ // slotHeld tracks whether we currently hold a concurrency slot.
293
+ // We release it during backoff waits so other tasks can run.
294
+ let slotHeld = false;
184
295
  try {
185
- await this._acquireSlot();
186
- // Check if cancelled while waiting for a slot
187
- if (internal.cancelled) {
188
- return; // finally block handles releaseSlot + resolve
189
- }
190
- internal.info.status = TaskStatus.RUNNING;
191
- internal.info.startedAt = Date.now() / 1000;
192
- const result = await this._executor.call(moduleId, inputs, context);
193
- // Check if cancelled during execution
194
- if (internal.cancelled) {
195
- return; // finally block handles releaseSlot + resolve
196
- }
197
- internal.info.status = TaskStatus.COMPLETED;
198
- internal.info.completedAt = Date.now() / 1000;
199
- internal.info.result = result;
200
- }
201
- catch (err) {
202
- if (!internal.cancelled) {
203
- internal.info.status = TaskStatus.FAILED;
204
- internal.info.completedAt = Date.now() / 1000;
205
- internal.info.error = err instanceof Error ? err.message : String(err);
296
+ // eslint-disable-next-line no-constant-condition
297
+ while (true) {
298
+ await this._acquireSlot();
299
+ slotHeld = true;
300
+ if (internal.cancelled)
301
+ return;
302
+ const info = this._store.get(taskId);
303
+ if (!info)
304
+ return;
305
+ info.status = TaskStatus.RUNNING;
306
+ info.startedAt = Date.now() / 1000;
307
+ this._store.save(info);
308
+ let execError = null;
309
+ let succeeded = false;
310
+ try {
311
+ const result = await this._executor.call(moduleId, inputs, context);
312
+ if (!internal.cancelled) {
313
+ info.status = TaskStatus.COMPLETED;
314
+ info.completedAt = Date.now() / 1000;
315
+ info.result = result;
316
+ this._store.save(info);
317
+ succeeded = true;
318
+ }
319
+ }
320
+ catch (err) {
321
+ execError = err;
322
+ }
323
+ this._releaseSlot();
324
+ slotHeld = false;
325
+ if (succeeded || internal.cancelled)
326
+ return;
327
+ if (retry && info.retryCount < retry.maxRetries) {
328
+ const delay = retry.computeDelayMs(info.retryCount);
329
+ info.retryCount += 1;
330
+ info.status = TaskStatus.PENDING;
331
+ info.startedAt = null;
332
+ info.completedAt = null;
333
+ this._store.save(info);
334
+ await new Promise((resolve) => setTimeout(resolve, delay));
335
+ if (internal.cancelled)
336
+ return;
337
+ // Loop continues: re-acquire slot and retry
338
+ }
339
+ else {
340
+ info.status = TaskStatus.FAILED;
341
+ info.completedAt = Date.now() / 1000;
342
+ info.error = execError instanceof Error ? execError.message : String(execError);
343
+ this._store.save(info);
344
+ return;
345
+ }
206
346
  }
207
347
  }
208
348
  finally {
209
- this._releaseSlot();
349
+ if (slotHeld)
350
+ this._releaseSlot();
210
351
  internal.resolve();
211
352
  }
212
353
  };
213
- // Fire and forget -- errors are captured inside run()
214
354
  run().catch((err) => {
215
355
  console.warn('[apcore:async-task] Unexpected error in task runner:', err);
216
356
  });
@@ -1 +1 @@
1
- {"version":3,"file":"async-task.js","sourceRoot":"","sources":["../src/async-task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"async-task.js","sourceRoot":"","sources":["../src/async-task.ts"],"names":[],"mappings":"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"}
@@ -38,16 +38,22 @@ export declare class BuiltinCallChainGuard implements Step {
38
38
  constructor(config: Config | null);
39
39
  execute(ctx: PipelineContext): Promise<StepResult>;
40
40
  }
41
- /** Resolves the module from the registry and sets ctx.module. */
41
+ /** Resolves the module from the registry and sets ctx.module.
42
+ *
43
+ * Also checks the toggle state and raises ModuleDisabledError if the module
44
+ * has been disabled — inlined here to match the 11-step pipeline spec and
45
+ * apcore-python/apcore-rust implementations (sync finding A-D-011).
46
+ */
42
47
  export declare class BuiltinModuleLookup implements Step {
43
48
  readonly name = "module_lookup";
44
- readonly description = "Resolve module from registry";
49
+ readonly description = "Resolve module from registry, enforce toggle state";
45
50
  readonly removable = false;
46
51
  readonly replaceable = false;
47
52
  readonly pure = true;
48
53
  readonly provides: readonly ["module"];
49
54
  private _registry;
50
- constructor(registry: Registry);
55
+ private readonly _toggleState;
56
+ constructor(registry: Registry, toggleState?: ToggleState);
51
57
  execute(ctx: PipelineContext): Promise<StepResult>;
52
58
  }
53
59
  /** Blocks execution if the module has been disabled via the toggle system. */
@@ -165,7 +171,11 @@ export interface StandardStrategyDeps {
165
171
  middlewareManager: MiddlewareManager;
166
172
  toggleState?: ToggleState | null;
167
173
  }
168
- /** Build the standard 12-step execution strategy matching the current Executor. */
174
+ /** Build the standard 11-step execution strategy matching PROTOCOL_SPEC §5 pipeline.
175
+ *
176
+ * Toggle-state check is inlined inside BuiltinModuleLookup (step 3), matching
177
+ * apcore-python and apcore-rust 11-step implementations (sync finding A-D-011).
178
+ */
169
179
  export declare function buildStandardStrategy(deps: StandardStrategyDeps): ExecutionStrategy;
170
180
  /**
171
181
  * Build an internal-only strategy: skips ACL and approval gates.
@@ -179,7 +189,8 @@ export declare function buildInternalStrategy(deps: StandardStrategyDeps): Execu
179
189
  export declare function buildTestingStrategy(deps: StandardStrategyDeps): ExecutionStrategy;
180
190
  /**
181
191
  * Build a performance strategy: skips middleware before/after for reduced overhead.
182
- * Retains toggle gate, ACL, approval, and validation for correctness.
192
+ * Retains toggle state, ACL, approval, and validation for correctness.
193
+ * Toggle-state check is inlined in BuiltinModuleLookup (sync finding A-D-011).
183
194
  */
184
195
  export declare function buildPerformanceStrategy(deps: StandardStrategyDeps): ExecutionStrategy;
185
196
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"builtin-steps.d.ts","sourceRoot":"","sources":["../src/builtin-steps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builtin-steps.d.ts","sourceRoot":"","sources":["../src/builtin-steps.ts"],"names":[],"mappings":"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"}