@chances-ai/runtime 3.1.0 → 3.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.
@@ -11,4 +11,12 @@ export declare class CancellationTokenSource {
11
11
  readonly token: CancellationToken;
12
12
  cancel(): void;
13
13
  }
14
+ /**
15
+ * Adapts an existing `AbortSignal` (e.g. the one threaded into a `ToolContext`)
16
+ * as a `CancellationToken` so it can be passed into something that runs its
17
+ * own engine loop, like the `task` subagent tool. The wrapped signal is
18
+ * read-only — there is no `cancel()` because the caller doesn't own the
19
+ * lifetime; abort propagation happens upstream on the original signal.
20
+ */
21
+ export declare function tokenFromSignal(signal: AbortSignal): CancellationToken;
14
22
  //# sourceMappingURL=cancellation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cancellation.d.ts","sourceRoot":"","sources":["../src/cancellation.ts"],"names":[],"mappings":"AAEA,+EAA+E;AAC/E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,gBAAgB,IAAI,IAAI,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CAC3C;AAyBD,iDAAiD;AACjD,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAA8B;IAE/D,MAAM,IAAI,IAAI;CAGf"}
1
+ {"version":3,"file":"cancellation.d.ts","sourceRoot":"","sources":["../src/cancellation.ts"],"names":[],"mappings":"AAEA,+EAA+E;AAC/E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,gBAAgB,IAAI,IAAI,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CAC3C;AAyBD,iDAAiD;AACjD,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAA8B;IAE/D,MAAM,IAAI,IAAI;CAGf;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB,CA8BtE"}
@@ -28,4 +28,42 @@ export class CancellationTokenSource {
28
28
  this.controller.abort();
29
29
  }
30
30
  }
31
+ /**
32
+ * Adapts an existing `AbortSignal` (e.g. the one threaded into a `ToolContext`)
33
+ * as a `CancellationToken` so it can be passed into something that runs its
34
+ * own engine loop, like the `task` subagent tool. The wrapped signal is
35
+ * read-only — there is no `cancel()` because the caller doesn't own the
36
+ * lifetime; abort propagation happens upstream on the original signal.
37
+ */
38
+ export function tokenFromSignal(signal) {
39
+ return {
40
+ get isCancelled() {
41
+ return signal.aborted;
42
+ },
43
+ signal,
44
+ throwIfCancelled() {
45
+ if (signal.aborted) {
46
+ throw new AppError(ErrorCode.Cancelled, "Operation cancelled");
47
+ }
48
+ },
49
+ onCancel(handler) {
50
+ if (signal.aborted) {
51
+ // Already aborted — fire the handler asynchronously so callers don't
52
+ // need to special-case "is the signal already done" before subscribing.
53
+ // **Limitation:** the returned unsubscribe cannot cancel the queued
54
+ // microtask (no API for that in the platform). Callers who must
55
+ // suppress already-queued firings should guard the handler itself
56
+ // (e.g. an `if (this.disposed) return;` check). This is fine for the
57
+ // current callsites — they always treat onCancel as edge-triggered
58
+ // cleanup — but worth knowing.
59
+ queueMicrotask(handler);
60
+ return () => {
61
+ /* no-op: handler already queued; see Limitation above. */
62
+ };
63
+ }
64
+ signal.addEventListener("abort", handler, { once: true });
65
+ return () => signal.removeEventListener("abort", handler);
66
+ },
67
+ };
68
+ }
31
69
  //# sourceMappingURL=cancellation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cancellation.js","sourceRoot":"","sources":["../src/cancellation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAUlD,MAAM,KAAK;IACoB;IAA7B,YAA6B,UAA2B;QAA3B,eAAU,GAAV,UAAU,CAAiB;IAAG,CAAC;IAE5D,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;IACxC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAChC,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,OAAmB;QAC1B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;CACF;AAED,iDAAiD;AACjD,MAAM,OAAO,uBAAuB;IACjB,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IAC3C,KAAK,GAAsB,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAE/D,MAAM;QACJ,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF"}
1
+ {"version":3,"file":"cancellation.js","sourceRoot":"","sources":["../src/cancellation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAUlD,MAAM,KAAK;IACoB;IAA7B,YAA6B,UAA2B;QAA3B,eAAU,GAAV,UAAU,CAAiB;IAAG,CAAC;IAE5D,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;IACxC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAChC,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,OAAmB;QAC1B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;CACF;AAED,iDAAiD;AACjD,MAAM,OAAO,uBAAuB;IACjB,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IAC3C,KAAK,GAAsB,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAE/D,MAAM;QACJ,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,MAAmB;IACjD,OAAO;QACL,IAAI,WAAW;YACb,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;QACD,MAAM;QACN,gBAAgB;YACd,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,OAAmB;YAC1B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,qEAAqE;gBACrE,wEAAwE;gBACxE,oEAAoE;gBACpE,gEAAgE;gBAChE,kEAAkE;gBAClE,qEAAqE;gBACrE,mEAAmE;gBACnE,+BAA+B;gBAC/B,cAAc,CAAC,OAAO,CAAC,CAAC;gBACxB,OAAO,GAAG,EAAE;oBACV,0DAA0D;gBAC5D,CAAC,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC;KACF,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { type JSONValue, createId } from "./ids.js";
2
2
  export { AppError, ErrorCode, exitCodeFor } from "./errors.js";
3
- export { type CancellationToken, CancellationTokenSource } from "./cancellation.js";
3
+ export { type CancellationToken, CancellationTokenSource, tokenFromSignal } from "./cancellation.js";
4
4
  export { type AppEvent, type AppEventType, type LogLevel, EventBus } from "./events.js";
5
5
  export { Logger } from "./logger.js";
6
6
  export { FeatureFlags } from "./flags.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,KAAK,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,KAAK,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,KAAK,iBAAiB,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,KAAK,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export { createId } from "./ids.js";
2
2
  export { AppError, ErrorCode, exitCodeFor } from "./errors.js";
3
- export { CancellationTokenSource } from "./cancellation.js";
3
+ export { CancellationTokenSource, tokenFromSignal } from "./cancellation.js";
4
4
  export { EventBus } from "./events.js";
5
5
  export { Logger } from "./logger.js";
6
6
  export { FeatureFlags } from "./flags.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAA0B,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAAmD,QAAQ,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAoB,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAA0B,uBAAuB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,EAAmD,QAAQ,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAoB,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chances-ai/runtime",
3
- "version": "3.1.0",
3
+ "version": "3.2.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",