apcore-js 0.21.1 → 0.22.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 +33 -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 +1 -1
- package/dist/bindings.d.ts.map +1 -1
- package/dist/bindings.js +8 -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 +81 -28
- 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 +27 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +33 -1
- 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 +94 -11
- package/dist/context.js.map +1 -1
- package/dist/errors.d.ts +64 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +101 -7
- package/dist/errors.js.map +1 -1
- package/dist/events/emitter.d.ts +46 -12
- package/dist/events/emitter.d.ts.map +1 -1
- package/dist/events/emitter.js +146 -56
- 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 +52 -9
- package/dist/events/subscribers.d.ts.map +1 -1
- package/dist/events/subscribers.js +96 -63
- 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 +143 -16
- 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 +7 -5
- 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 +2 -2
- package/dist/middleware/circuit-breaker.d.ts.map +1 -1
- package/dist/middleware/circuit-breaker.js +19 -19
- package/dist/middleware/circuit-breaker.js.map +1 -1
- package/dist/middleware/index.d.ts +1 -1
- package/dist/middleware/index.d.ts.map +1 -1
- package/dist/middleware/index.js +1 -1
- 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/pipeline.d.ts +1 -1
- package/dist/pipeline.js +11 -11
- package/dist/pipeline.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 +271 -31
- package/dist/registry/registry.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/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/registration.d.ts.map +1 -1
- package/dist/sys-modules/registration.js +18 -8
- package/dist/sys-modules/registration.js.map +1 -1
- package/package.json +6 -3
- 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
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# apcore
|
|
6
6
|
|
|
7
|
-
[](https://github.com/aiperceivable/apcore-typescript)
|
|
8
8
|
[](https://opensource.org/licenses/Apache-2.0)
|
|
9
9
|
[](https://www.bestpractices.dev/projects/12294)
|
|
10
10
|
|
|
@@ -33,6 +33,17 @@ apcore is an AI-Perceivable module standard that makes every interface naturally
|
|
|
33
33
|
- **Caching & pagination annotations** — `cacheable`, `cacheTtl`, `cacheKeyFields` for result caching; `paginated`, `paginationStyle` for paginated modules
|
|
34
34
|
- **Config Bus** — Namespace-based configuration registry with typed access, env prefix dispatch, hot-reload, and external config mounting (`Config.registerNamespace()`, `config.namespace()`, `config.bind<T>()`, `config.mount()`)
|
|
35
35
|
|
|
36
|
+
## What's New in v0.22.0
|
|
37
|
+
|
|
38
|
+
- **`ContextKey<T>` typed context state** (#63) — Type-safe accessor for `Context.data` slots with `get`/`set`/`delete`/`exists`/`scoped`; also available via the `apcore-js/context-keys` subpath import for tree-shakeable consumers.
|
|
39
|
+
- **`StreamingModule` interface** (#62) — Formal streaming contract via `STREAMING_MARKER` symbol; `isStreamingModule()` detects implementations and emits `StreamingInterfaceError` when contract is violated.
|
|
40
|
+
- **Middleware duplicate detection** (#64) — `MiddlewareManager.add(mw, { allowDuplicate, identityKey })` rejects accidental double-registration; opt-out and custom identity keys supported for explicit duplicates.
|
|
41
|
+
- **Event retry + DLQ** (#61) — `EventSubscriber` now exposes a `retry` config field (max attempts + exponential backoff) and an optional `onFailure(event, error, attemptCount)` hook acting as a per-subscriber dead-letter queue.
|
|
42
|
+
- **Registry async deferred-publish** (#65) — `Registry.register()` returns a `Promise<void>`; modules with an async `onLoad()` stay hidden from `get()`/`has()` until load completes, and `apcore.registry.module_load_failed` is emitted on rejection.
|
|
43
|
+
- **Reserved-namespace query API** (#60) — `Config.reservedNamespaces` static getter and top-level `RESERVED_NAMESPACES` export let callers pre-validate namespace names before calling `Config.registerNamespace()`.
|
|
44
|
+
|
|
45
|
+
See [`examples/v022-tour.ts`](./examples/v022-tour.ts) for a runnable tour of each surface.
|
|
46
|
+
|
|
36
47
|
## Documentation
|
|
37
48
|
|
|
38
49
|
For full documentation, including Quick Start guides and API reference, visit:
|
|
@@ -40,7 +51,7 @@ For full documentation, including Quick Start guides and API reference, visit:
|
|
|
40
51
|
|
|
41
52
|
## Requirements
|
|
42
53
|
|
|
43
|
-
- Node.js >=
|
|
54
|
+
- Node.js >= 20.0.0
|
|
44
55
|
- TypeScript >= 5.5
|
|
45
56
|
|
|
46
57
|
## Installation
|
|
@@ -51,6 +62,25 @@ npm install apcore-js
|
|
|
51
62
|
|
|
52
63
|
> **Note:** The npm package is published as `apcore-js` (the `apcore` name is reserved on npm). Python uses `apcore`, Rust uses the `apcore` crate.
|
|
53
64
|
|
|
65
|
+
## Browser support
|
|
66
|
+
|
|
67
|
+
`apcore-js` ships dual entry points via `package.json` conditional exports:
|
|
68
|
+
|
|
69
|
+
- **Node (default):** `./dist/index.js` — the full surface.
|
|
70
|
+
- **Browser:** `./dist/browser/index.js` — auto-selected by tree-shaking bundlers (Vite, Webpack, esbuild, Rollup) through the `"browser"` exports condition.
|
|
71
|
+
|
|
72
|
+
The browser bundle **excludes** Node-only surfaces:
|
|
73
|
+
|
|
74
|
+
- `Config` class, `BindingLoader`, `SchemaLoader` (filesystem-bound)
|
|
75
|
+
- All `system.*` sys-modules (control, manifest, health, usage, audit)
|
|
76
|
+
- Events runtime: `EventEmitter`, all built-in subscribers, `AsyncTaskManager`, `TaskStatus`
|
|
77
|
+
- Observability runtime: `TracingMiddleware`, `MetricsCollector`, exporters, `PrometheusExporter`
|
|
78
|
+
- `RESERVED_NAMESPACES`, `StreamingInterfaceError`, `DuplicateModuleIdError`
|
|
79
|
+
|
|
80
|
+
`ACL.load(yamlPath)` throws `ACLRuleError` in the browser because the filesystem is unavailable; ACL programmatic construction still works.
|
|
81
|
+
|
|
82
|
+
**Available in the browser:** `Registry` programmatic `register`/`get`/`list`/`iter`/`unregister`, `Executor`, `ACL` programmatic, `Context`, middleware pipeline, schema validation, all error classes, and the utility helpers.
|
|
83
|
+
|
|
54
84
|
## Quick Start
|
|
55
85
|
|
|
56
86
|
### Simplified Client (Recommended)
|
|
@@ -241,7 +271,7 @@ Configuration files support two modes. **Legacy mode** (no `apcore:` key) is ful
|
|
|
241
271
|
```yaml
|
|
242
272
|
# Namespace mode
|
|
243
273
|
apcore:
|
|
244
|
-
version: "0.
|
|
274
|
+
version: "0.22.0"
|
|
245
275
|
|
|
246
276
|
_config:
|
|
247
277
|
strict: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acl-handlers.d.ts","sourceRoot":"","sources":["../src/acl-handlers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,+DAA+D;AAC/D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxE;AAED,kFAAkF;AAClF,MAAM,MAAM,MAAM,GAAG,CACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,OAAO,EAAE,OAAO,KACb,OAAO,CAAC;AAEb,0DAA0D;AAC1D,MAAM,MAAM,WAAW,GAAG,CACxB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,OAAO,CAAC,CAAC;AAMtB,0DAA0D;AAC1D,qBAAa,oBAAqB,YAAW,mBAAmB;IAC9D,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;CAKpD;AAED,4EAA4E;AAC5E,qBAAa,YAAa,YAAW,mBAAmB;IACtD,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;CAMpD;AAED,yDAAyD;AACzD,qBAAa,mBAAoB,YAAW,mBAAmB;IAC7D,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"acl-handlers.d.ts","sourceRoot":"","sources":["../src/acl-handlers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,+DAA+D;AAC/D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxE;AAED,kFAAkF;AAClF,MAAM,MAAM,MAAM,GAAG,CACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,OAAO,EAAE,OAAO,KACb,OAAO,CAAC;AAEb,0DAA0D;AAC1D,MAAM,MAAM,WAAW,GAAG,CACxB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,OAAO,CAAC,CAAC;AAMtB,0DAA0D;AAC1D,qBAAa,oBAAqB,YAAW,mBAAmB;IAC9D,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;CAKpD;AAED,4EAA4E;AAC5E,qBAAa,YAAa,YAAW,mBAAmB;IACtD,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;CAMpD;AAED,yDAAyD;AACzD,qBAAa,mBAAoB,YAAW,mBAAmB;IAC7D,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;CAqBpD;AAMD,wEAAwE;AACxE,qBAAa,SAAU,YAAW,mBAAmB;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,UAAU,EAAE,MAAM;IAI9B,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;CAQpD;AAED,sEAAsE;AACtE,qBAAa,UAAW,YAAW,mBAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,UAAU,EAAE,MAAM;IAI9B,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;CAIpD;AAED,4EAA4E;AAC5E,qBAAa,cAAe,YAAW,mBAAmB;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;gBAE5B,UAAU,EAAE,WAAW;IAI7B,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAQnE;AAED,2EAA2E;AAC3E,qBAAa,eAAgB,YAAW,mBAAmB;IACzD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;gBAE5B,UAAU,EAAE,WAAW;IAI7B,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAInE;AAMD,oDAAoD;AACpD,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAM/D;AAED,+DAA+D;AAC/D,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAyBzD"}
|
package/dist/acl-handlers.js
CHANGED
|
@@ -44,6 +44,11 @@ export class MaxCallDepthHandler {
|
|
|
44
44
|
else {
|
|
45
45
|
return false;
|
|
46
46
|
}
|
|
47
|
+
// Fail closed on non-integer thresholds (e.g. 5.5). A fractional depth is
|
|
48
|
+
// meaningless and must not silently ALLOW where Python/Rust reject.
|
|
49
|
+
if (!Number.isInteger(threshold)) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
47
52
|
return context.callChain.length <= threshold;
|
|
48
53
|
}
|
|
49
54
|
}
|
package/dist/acl-handlers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acl-handlers.js","sourceRoot":"","sources":["../src/acl-handlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acl-handlers.js","sourceRoot":"","sources":["../src/acl-handlers.ts"],"names":[],"mappings":"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"}
|
package/dist/async-task.d.ts
CHANGED
|
@@ -22,20 +22,30 @@ export interface TaskInfo {
|
|
|
22
22
|
readonly retryCount: number;
|
|
23
23
|
readonly maxRetries: number;
|
|
24
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Pluggable task storage backend.
|
|
27
|
+
*
|
|
28
|
+
* Spec D-17 (apcore v0.22.0): every method MUST be asynchronous so that
|
|
29
|
+
* Redis-, SQL-, and other I/O-backed stores can be plugged in without
|
|
30
|
+
* blocking the event loop. `InMemoryTaskStore` exposes async signatures
|
|
31
|
+
* even though its operations are CPU-only — uniform shape lets stores
|
|
32
|
+
* compose generically. Supersedes the partially-sync contract that
|
|
33
|
+
* existed in apcore-typescript through v0.21.x.
|
|
34
|
+
*/
|
|
25
35
|
export interface TaskStore {
|
|
26
|
-
save(task: TaskInfo): void
|
|
27
|
-
get(taskId: string): TaskInfo | null
|
|
28
|
-
list(status?: TaskStatus): TaskInfo[]
|
|
29
|
-
delete(taskId: string): void
|
|
30
|
-
listExpired(beforeTimestamp: number): TaskInfo[]
|
|
36
|
+
save(task: TaskInfo): Promise<void>;
|
|
37
|
+
get(taskId: string): Promise<TaskInfo | null>;
|
|
38
|
+
list(status?: TaskStatus): Promise<TaskInfo[]>;
|
|
39
|
+
delete(taskId: string): Promise<void>;
|
|
40
|
+
listExpired(beforeTimestamp: number): Promise<TaskInfo[]>;
|
|
31
41
|
}
|
|
32
42
|
export declare class InMemoryTaskStore implements TaskStore {
|
|
33
43
|
private readonly _data;
|
|
34
|
-
save(task: TaskInfo): void
|
|
35
|
-
get(taskId: string): TaskInfo | null
|
|
36
|
-
list(status?: TaskStatus): TaskInfo[]
|
|
37
|
-
delete(taskId: string): void
|
|
38
|
-
listExpired(beforeTimestamp: number): TaskInfo[]
|
|
44
|
+
save(task: TaskInfo): Promise<void>;
|
|
45
|
+
get(taskId: string): Promise<TaskInfo | null>;
|
|
46
|
+
list(status?: TaskStatus): Promise<TaskInfo[]>;
|
|
47
|
+
delete(taskId: string): Promise<void>;
|
|
48
|
+
listExpired(beforeTimestamp: number): Promise<TaskInfo[]>;
|
|
39
49
|
}
|
|
40
50
|
export declare class RetryConfig {
|
|
41
51
|
readonly maxRetries: number;
|
|
@@ -101,33 +111,39 @@ export declare class AsyncTaskManager {
|
|
|
101
111
|
/**
|
|
102
112
|
* Return the TaskInfo for a task, or null if not found.
|
|
103
113
|
*/
|
|
104
|
-
getStatus(taskId: string): TaskInfo | null
|
|
114
|
+
getStatus(taskId: string): Promise<TaskInfo | null>;
|
|
105
115
|
/**
|
|
106
116
|
* Return the result of a completed task.
|
|
107
117
|
*
|
|
108
118
|
* Throws if the task is not found or not in COMPLETED status.
|
|
109
119
|
*/
|
|
110
|
-
getResult(taskId: string): Record<string, unknown
|
|
120
|
+
getResult(taskId: string): Promise<Record<string, unknown>>;
|
|
111
121
|
/**
|
|
112
122
|
* Cancel a running or pending task.
|
|
113
123
|
*
|
|
114
124
|
* Returns true if the task was successfully marked as cancelled.
|
|
125
|
+
*
|
|
126
|
+
* D-18 (v0.22.0): calling `cancel()` aborts the running executor invocation
|
|
127
|
+
* via the CancelToken's underlying AbortSignal — modules performing standard
|
|
128
|
+
* Web-API I/O (`fetch`, `setTimeout`, Web Streams) participate in real abort.
|
|
115
129
|
*/
|
|
116
130
|
cancel(taskId: string): Promise<boolean>;
|
|
117
131
|
/**
|
|
118
132
|
* Return all tasks, optionally filtered by status.
|
|
119
133
|
*/
|
|
120
|
-
listTasks(status?: TaskStatus): TaskInfo[]
|
|
134
|
+
listTasks(status?: TaskStatus): Promise<TaskInfo[]>;
|
|
121
135
|
/**
|
|
122
136
|
* Remove terminal-state tasks older than maxAgeSeconds seconds.
|
|
123
137
|
*
|
|
124
138
|
* Returns the number of tasks removed.
|
|
125
139
|
*/
|
|
126
|
-
cleanup(maxAgeSeconds?: number): number
|
|
140
|
+
cleanup(maxAgeSeconds?: number): Promise<number>;
|
|
127
141
|
/**
|
|
128
142
|
* Cancel all pending and running tasks and wait for them to settle.
|
|
129
143
|
*/
|
|
130
144
|
shutdown(): Promise<void>;
|
|
145
|
+
/** Count tasks in PENDING or RUNNING state across the store. */
|
|
146
|
+
private _countActiveTasks;
|
|
131
147
|
/**
|
|
132
148
|
* Start a background reaper that periodically deletes expired terminal tasks.
|
|
133
149
|
*
|
|
@@ -140,6 +156,25 @@ export declare class AsyncTaskManager {
|
|
|
140
156
|
private _acquireSlot;
|
|
141
157
|
private _releaseSlot;
|
|
142
158
|
private _enqueue;
|
|
159
|
+
/**
|
|
160
|
+
* Sleep for `delayMs`, resolving early if `cancelToken` is aborted (A-D-004).
|
|
161
|
+
*
|
|
162
|
+
* The timer is cleared and the abort listener detached on whichever path
|
|
163
|
+
* resolves first, so neither leaks. A cancel issued mid-backoff resolves
|
|
164
|
+
* promptly rather than waiting out the full retry delay.
|
|
165
|
+
*/
|
|
166
|
+
private _sleepUntilCancelled;
|
|
167
|
+
/**
|
|
168
|
+
* Build the Context to hand to `executor.call()` for a task attempt.
|
|
169
|
+
*
|
|
170
|
+
* If the caller supplied a Context we shallow-clone it with the task's
|
|
171
|
+
* CancelToken attached; if no Context was supplied we create a fresh one
|
|
172
|
+
* via the public `Context.create()` factory with the token already bound
|
|
173
|
+
* (per Issue #66, `cancelToken` is now a first-class create() parameter).
|
|
174
|
+
* Either way the executor sees a Context whose `cancelToken` is the same
|
|
175
|
+
* instance that `AsyncTaskManager.cancel()` aborts (D-18).
|
|
176
|
+
*/
|
|
177
|
+
private _buildTaskContext;
|
|
143
178
|
}
|
|
144
179
|
export {};
|
|
145
180
|
//# sourceMappingURL=async-task.d.ts.map
|
package/dist/async-task.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-task.d.ts","sourceRoot":"","sources":["../src/async-task.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"async-task.d.ts","sourceRoot":"","sources":["../src/async-task.ts"],"names":[],"mappings":"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"}
|
package/dist/async-task.js
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
* Async task manager for background module execution.
|
|
3
3
|
*/
|
|
4
4
|
import { v4 as uuidv4 } from 'uuid';
|
|
5
|
+
import { CancelToken } from './cancel.js';
|
|
6
|
+
import { TaskLimitExceededError } from './errors.js';
|
|
5
7
|
export var TaskStatus;
|
|
6
8
|
(function (TaskStatus) {
|
|
7
9
|
TaskStatus["PENDING"] = "pending";
|
|
@@ -13,20 +15,20 @@ export var TaskStatus;
|
|
|
13
15
|
const TERMINAL_STATUSES = new Set([TaskStatus.COMPLETED, TaskStatus.FAILED, TaskStatus.CANCELLED]);
|
|
14
16
|
export class InMemoryTaskStore {
|
|
15
17
|
_data = new Map();
|
|
16
|
-
save(task) {
|
|
18
|
+
async save(task) {
|
|
17
19
|
this._data.set(task.taskId, task);
|
|
18
20
|
}
|
|
19
|
-
get(taskId) {
|
|
21
|
+
async get(taskId) {
|
|
20
22
|
return this._data.get(taskId) ?? null;
|
|
21
23
|
}
|
|
22
|
-
list(status) {
|
|
24
|
+
async list(status) {
|
|
23
25
|
const all = [...this._data.values()];
|
|
24
26
|
return status ? all.filter(t => t.status === status) : all;
|
|
25
27
|
}
|
|
26
|
-
delete(taskId) {
|
|
28
|
+
async delete(taskId) {
|
|
27
29
|
this._data.delete(taskId);
|
|
28
30
|
}
|
|
29
|
-
listExpired(beforeTimestamp) {
|
|
31
|
+
async listExpired(beforeTimestamp) {
|
|
30
32
|
return [...this._data.values()].filter(t => TERMINAL_STATUSES.has(t.status) && t.completedAt !== null && t.completedAt < beforeTimestamp);
|
|
31
33
|
}
|
|
32
34
|
}
|
|
@@ -103,8 +105,13 @@ export class AsyncTaskManager {
|
|
|
103
105
|
* Returns the generated task_id. Async to satisfy the cross-SDK protocol contract.
|
|
104
106
|
*/
|
|
105
107
|
async submit(moduleId, inputs, opts) {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
+
// A-D-AT-01 (apcore v0.22.0): max_tasks counts active (PENDING|RUNNING)
|
|
109
|
+
// tasks only — completed/failed/cancelled tasks remain in `_internal` for
|
|
110
|
+
// bookkeeping but must not count toward the live concurrency cap. Mirrors
|
|
111
|
+
// Python `_ACTIVE_STATUSES` filter.
|
|
112
|
+
const active = await this._countActiveTasks();
|
|
113
|
+
if (active >= this._maxTasks) {
|
|
114
|
+
throw new TaskLimitExceededError(this._maxTasks);
|
|
108
115
|
}
|
|
109
116
|
const taskId = uuidv4();
|
|
110
117
|
const retry = opts?.retry ?? null;
|
|
@@ -120,25 +127,29 @@ export class AsyncTaskManager {
|
|
|
120
127
|
retryCount: 0,
|
|
121
128
|
maxRetries: retry?.maxRetries ?? 0,
|
|
122
129
|
};
|
|
123
|
-
this._store.save(info);
|
|
130
|
+
await this._store.save(info);
|
|
124
131
|
let resolvePromise;
|
|
125
132
|
const promise = new Promise((resolve) => {
|
|
126
133
|
resolvePromise = resolve;
|
|
127
134
|
});
|
|
135
|
+
// D-18: every submitted task owns a CancelToken so AsyncTaskManager.cancel()
|
|
136
|
+
// produces a real AbortSignal abort, not just a cooperative flag.
|
|
137
|
+
const cancelToken = new CancelToken();
|
|
128
138
|
const internal = {
|
|
129
139
|
promise,
|
|
130
140
|
cancelled: false,
|
|
131
141
|
resolve: resolvePromise,
|
|
142
|
+
cancelToken,
|
|
132
143
|
};
|
|
133
144
|
this._internal.set(taskId, internal);
|
|
134
|
-
this._enqueue(taskId, moduleId, inputs, opts?.context ?? null, retry);
|
|
145
|
+
this._enqueue(taskId, moduleId, inputs, opts?.context ?? null, retry, cancelToken);
|
|
135
146
|
return taskId;
|
|
136
147
|
}
|
|
137
148
|
/**
|
|
138
149
|
* Return the TaskInfo for a task, or null if not found.
|
|
139
150
|
*/
|
|
140
|
-
getStatus(taskId) {
|
|
141
|
-
const info = this._store.get(taskId);
|
|
151
|
+
async getStatus(taskId) {
|
|
152
|
+
const info = await this._store.get(taskId);
|
|
142
153
|
return info ? { ...info } : null;
|
|
143
154
|
}
|
|
144
155
|
/**
|
|
@@ -146,8 +157,8 @@ export class AsyncTaskManager {
|
|
|
146
157
|
*
|
|
147
158
|
* Throws if the task is not found or not in COMPLETED status.
|
|
148
159
|
*/
|
|
149
|
-
getResult(taskId) {
|
|
150
|
-
const info = this._store.get(taskId);
|
|
160
|
+
async getResult(taskId) {
|
|
161
|
+
const info = await this._store.get(taskId);
|
|
151
162
|
if (!info) {
|
|
152
163
|
throw new Error(`Task not found: ${taskId}`);
|
|
153
164
|
}
|
|
@@ -160,9 +171,13 @@ export class AsyncTaskManager {
|
|
|
160
171
|
* Cancel a running or pending task.
|
|
161
172
|
*
|
|
162
173
|
* Returns true if the task was successfully marked as cancelled.
|
|
174
|
+
*
|
|
175
|
+
* D-18 (v0.22.0): calling `cancel()` aborts the running executor invocation
|
|
176
|
+
* via the CancelToken's underlying AbortSignal — modules performing standard
|
|
177
|
+
* Web-API I/O (`fetch`, `setTimeout`, Web Streams) participate in real abort.
|
|
163
178
|
*/
|
|
164
179
|
async cancel(taskId) {
|
|
165
|
-
const info = this._store.get(taskId);
|
|
180
|
+
const info = await this._store.get(taskId);
|
|
166
181
|
if (!info)
|
|
167
182
|
return false;
|
|
168
183
|
if (info.status !== TaskStatus.PENDING && info.status !== TaskStatus.RUNNING) {
|
|
@@ -172,31 +187,33 @@ export class AsyncTaskManager {
|
|
|
172
187
|
if (!internal)
|
|
173
188
|
return false;
|
|
174
189
|
internal.cancelled = true;
|
|
190
|
+
internal.cancelToken.cancel();
|
|
175
191
|
info.status = TaskStatus.CANCELLED;
|
|
176
192
|
info.completedAt = Date.now() / 1000;
|
|
177
|
-
this._store.save(info);
|
|
193
|
+
await this._store.save(info);
|
|
178
194
|
return true;
|
|
179
195
|
}
|
|
180
196
|
/**
|
|
181
197
|
* Return all tasks, optionally filtered by status.
|
|
182
198
|
*/
|
|
183
|
-
listTasks(status) {
|
|
184
|
-
|
|
199
|
+
async listTasks(status) {
|
|
200
|
+
const items = await this._store.list(status);
|
|
201
|
+
return items.map(t => ({ ...t }));
|
|
185
202
|
}
|
|
186
203
|
/**
|
|
187
204
|
* Remove terminal-state tasks older than maxAgeSeconds seconds.
|
|
188
205
|
*
|
|
189
206
|
* Returns the number of tasks removed.
|
|
190
207
|
*/
|
|
191
|
-
cleanup(maxAgeSeconds = 3600) {
|
|
208
|
+
async cleanup(maxAgeSeconds = 3600) {
|
|
192
209
|
const threshold = Date.now() / 1000 - maxAgeSeconds;
|
|
193
210
|
let removed = 0;
|
|
194
|
-
for (const task of this._store.list()) {
|
|
211
|
+
for (const task of await this._store.list()) {
|
|
195
212
|
if (!TERMINAL_STATUSES.has(task.status))
|
|
196
213
|
continue;
|
|
197
214
|
const refTime = task.completedAt ?? task.submittedAt;
|
|
198
215
|
if (refTime <= threshold) {
|
|
199
|
-
this._store.delete(task.taskId);
|
|
216
|
+
await this._store.delete(task.taskId);
|
|
200
217
|
this._internal.delete(task.taskId);
|
|
201
218
|
removed++;
|
|
202
219
|
}
|
|
@@ -208,7 +225,7 @@ export class AsyncTaskManager {
|
|
|
208
225
|
*/
|
|
209
226
|
async shutdown() {
|
|
210
227
|
const promises = [];
|
|
211
|
-
for (const task of this._store.list()) {
|
|
228
|
+
for (const task of await this._store.list()) {
|
|
212
229
|
if (task.status === TaskStatus.PENDING || task.status === TaskStatus.RUNNING) {
|
|
213
230
|
const internal = this._internal.get(task.taskId);
|
|
214
231
|
void this.cancel(task.taskId);
|
|
@@ -221,6 +238,16 @@ export class AsyncTaskManager {
|
|
|
221
238
|
}
|
|
222
239
|
await Promise.allSettled(promises);
|
|
223
240
|
}
|
|
241
|
+
/** Count tasks in PENDING or RUNNING state across the store. */
|
|
242
|
+
async _countActiveTasks() {
|
|
243
|
+
let count = 0;
|
|
244
|
+
for (const t of await this._store.list()) {
|
|
245
|
+
if (t.status === TaskStatus.PENDING || t.status === TaskStatus.RUNNING) {
|
|
246
|
+
count++;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
return count;
|
|
250
|
+
}
|
|
224
251
|
/**
|
|
225
252
|
* Start a background reaper that periodically deletes expired terminal tasks.
|
|
226
253
|
*
|
|
@@ -236,20 +263,25 @@ export class AsyncTaskManager {
|
|
|
236
263
|
let timeoutHandle = null;
|
|
237
264
|
let resolveStop;
|
|
238
265
|
const stopPromise = new Promise((resolve) => { resolveStop = resolve; });
|
|
239
|
-
const sweep = () => {
|
|
266
|
+
const sweep = async () => {
|
|
240
267
|
if (stopped)
|
|
241
268
|
return;
|
|
242
269
|
const threshold = Date.now() / 1000 - ttlSeconds;
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
270
|
+
try {
|
|
271
|
+
const expired = await this._store.listExpired(threshold);
|
|
272
|
+
for (const task of expired) {
|
|
273
|
+
await this._store.delete(task.taskId);
|
|
274
|
+
this._internal.delete(task.taskId);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
catch (err) {
|
|
278
|
+
console.warn('[apcore:async-task] Reaper sweep failed:', err);
|
|
247
279
|
}
|
|
248
280
|
if (!stopped) {
|
|
249
|
-
timeoutHandle = setTimeout(sweep, sweepIntervalMs);
|
|
281
|
+
timeoutHandle = setTimeout(() => { void sweep(); }, sweepIntervalMs);
|
|
250
282
|
}
|
|
251
283
|
};
|
|
252
|
-
timeoutHandle = setTimeout(sweep, sweepIntervalMs);
|
|
284
|
+
timeoutHandle = setTimeout(() => { void sweep(); }, sweepIntervalMs);
|
|
253
285
|
const handle = {
|
|
254
286
|
stop: async () => {
|
|
255
287
|
stopped = true;
|
|
@@ -284,11 +316,16 @@ export class AsyncTaskManager {
|
|
|
284
316
|
next();
|
|
285
317
|
}
|
|
286
318
|
}
|
|
287
|
-
_enqueue(taskId, moduleId, inputs, context, retry) {
|
|
319
|
+
_enqueue(taskId, moduleId, inputs, context, retry, cancelToken) {
|
|
288
320
|
const run = async () => {
|
|
289
321
|
const internal = this._internal.get(taskId);
|
|
290
322
|
if (!internal)
|
|
291
323
|
return;
|
|
324
|
+
// Per-task Context augmented with the task's cancel token so the
|
|
325
|
+
// executor sees real cancellation (D-18). When the caller already
|
|
326
|
+
// supplied a Context we shallow-clone it to attach the token without
|
|
327
|
+
// mutating the caller's instance.
|
|
328
|
+
const taskContext = await this._buildTaskContext(context, cancelToken);
|
|
292
329
|
// slotHeld tracks whether we currently hold a concurrency slot.
|
|
293
330
|
// We release it during backoff waits so other tasks can run.
|
|
294
331
|
let slotHeld = false;
|
|
@@ -299,21 +336,26 @@ export class AsyncTaskManager {
|
|
|
299
336
|
slotHeld = true;
|
|
300
337
|
if (internal.cancelled)
|
|
301
338
|
return;
|
|
302
|
-
const info = this._store.get(taskId);
|
|
339
|
+
const info = await this._store.get(taskId);
|
|
303
340
|
if (!info)
|
|
304
341
|
return;
|
|
305
342
|
info.status = TaskStatus.RUNNING;
|
|
306
|
-
|
|
307
|
-
|
|
343
|
+
// A-D-AT-08: preserve startedAt across retries (set only on first
|
|
344
|
+
// attempt). Mirrors Python + Rust semantics — `startedAt` reflects
|
|
345
|
+
// when the task first started running, not the latest attempt.
|
|
346
|
+
if (info.startedAt === null) {
|
|
347
|
+
info.startedAt = Date.now() / 1000;
|
|
348
|
+
}
|
|
349
|
+
await this._store.save(info);
|
|
308
350
|
let execError = null;
|
|
309
351
|
let succeeded = false;
|
|
310
352
|
try {
|
|
311
|
-
const result = await this._executor.call(moduleId, inputs,
|
|
353
|
+
const result = await this._executor.call(moduleId, inputs, taskContext);
|
|
312
354
|
if (!internal.cancelled) {
|
|
313
355
|
info.status = TaskStatus.COMPLETED;
|
|
314
356
|
info.completedAt = Date.now() / 1000;
|
|
315
357
|
info.result = result;
|
|
316
|
-
this._store.save(info);
|
|
358
|
+
await this._store.save(info);
|
|
317
359
|
succeeded = true;
|
|
318
360
|
}
|
|
319
361
|
}
|
|
@@ -328,10 +370,16 @@ export class AsyncTaskManager {
|
|
|
328
370
|
const delay = retry.computeDelayMs(info.retryCount);
|
|
329
371
|
info.retryCount += 1;
|
|
330
372
|
info.status = TaskStatus.PENDING;
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
await
|
|
373
|
+
// Intentionally do NOT reset startedAt / completedAt (A-D-AT-08):
|
|
374
|
+
// startedAt reflects first-run timestamp; completedAt remains null
|
|
375
|
+
// because the task has not yet terminated.
|
|
376
|
+
await this._store.save(info);
|
|
377
|
+
// A-D-004 (apcore v0.22.0): race the backoff wait against the
|
|
378
|
+
// task's cancel signal so a cancel() issued mid-backoff unwinds
|
|
379
|
+
// immediately instead of waiting out the full delay (up to
|
|
380
|
+
// maxRetryDelayMs). Mirrors Python/Rust cancellable-sleep
|
|
381
|
+
// semantics during retry backoff.
|
|
382
|
+
await this._sleepUntilCancelled(delay, cancelToken);
|
|
335
383
|
if (internal.cancelled)
|
|
336
384
|
return;
|
|
337
385
|
// Loop continues: re-acquire slot and retry
|
|
@@ -340,7 +388,7 @@ export class AsyncTaskManager {
|
|
|
340
388
|
info.status = TaskStatus.FAILED;
|
|
341
389
|
info.completedAt = Date.now() / 1000;
|
|
342
390
|
info.error = execError instanceof Error ? execError.message : String(execError);
|
|
343
|
-
this._store.save(info);
|
|
391
|
+
await this._store.save(info);
|
|
344
392
|
return;
|
|
345
393
|
}
|
|
346
394
|
}
|
|
@@ -355,5 +403,52 @@ export class AsyncTaskManager {
|
|
|
355
403
|
console.warn('[apcore:async-task] Unexpected error in task runner:', err);
|
|
356
404
|
});
|
|
357
405
|
}
|
|
406
|
+
/**
|
|
407
|
+
* Sleep for `delayMs`, resolving early if `cancelToken` is aborted (A-D-004).
|
|
408
|
+
*
|
|
409
|
+
* The timer is cleared and the abort listener detached on whichever path
|
|
410
|
+
* resolves first, so neither leaks. A cancel issued mid-backoff resolves
|
|
411
|
+
* promptly rather than waiting out the full retry delay.
|
|
412
|
+
*/
|
|
413
|
+
_sleepUntilCancelled(delayMs, cancelToken) {
|
|
414
|
+
if (cancelToken.signal.aborted) {
|
|
415
|
+
return Promise.resolve();
|
|
416
|
+
}
|
|
417
|
+
return new Promise((resolve) => {
|
|
418
|
+
const signal = cancelToken.signal;
|
|
419
|
+
const timer = setTimeout(() => {
|
|
420
|
+
signal.removeEventListener('abort', onAbort);
|
|
421
|
+
resolve();
|
|
422
|
+
}, delayMs);
|
|
423
|
+
const onAbort = () => {
|
|
424
|
+
clearTimeout(timer);
|
|
425
|
+
signal.removeEventListener('abort', onAbort);
|
|
426
|
+
resolve();
|
|
427
|
+
};
|
|
428
|
+
signal.addEventListener('abort', onAbort, { once: true });
|
|
429
|
+
});
|
|
430
|
+
}
|
|
431
|
+
/**
|
|
432
|
+
* Build the Context to hand to `executor.call()` for a task attempt.
|
|
433
|
+
*
|
|
434
|
+
* If the caller supplied a Context we shallow-clone it with the task's
|
|
435
|
+
* CancelToken attached; if no Context was supplied we create a fresh one
|
|
436
|
+
* via the public `Context.create()` factory with the token already bound
|
|
437
|
+
* (per Issue #66, `cancelToken` is now a first-class create() parameter).
|
|
438
|
+
* Either way the executor sees a Context whose `cancelToken` is the same
|
|
439
|
+
* instance that `AsyncTaskManager.cancel()` aborts (D-18).
|
|
440
|
+
*/
|
|
441
|
+
async _buildTaskContext(callerContext, cancelToken) {
|
|
442
|
+
// Lazy import to avoid a static circular dep between async-task and context.
|
|
443
|
+
const { Context: CtxClass } = await import('./context.js');
|
|
444
|
+
if (callerContext === null) {
|
|
445
|
+
// Executor binding is deferred to the first executor.call() — Issue #66
|
|
446
|
+
// removes `executor` from Context.create()'s public surface.
|
|
447
|
+
return CtxClass.create(undefined, undefined, cancelToken);
|
|
448
|
+
}
|
|
449
|
+
// Shallow clone (preserve identity/data/etc.) and overwrite cancelToken.
|
|
450
|
+
const cloned = new CtxClass(callerContext.traceId, callerContext.callerId, [...callerContext.callChain], callerContext.executor, callerContext.identity, callerContext.redactedInputs, callerContext.data, cancelToken, callerContext.services, callerContext.globalDeadline);
|
|
451
|
+
return cloned;
|
|
452
|
+
}
|
|
358
453
|
}
|
|
359
454
|
//# sourceMappingURL=async-task.js.map
|
package/dist/async-task.js.map
CHANGED
|
@@ -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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"}
|