@polpo-ai/node 0.15.144 → 0.16.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.
Files changed (64) hide show
  1. package/dist/adapters/composite-spawner.d.ts +1 -0
  2. package/dist/adapters/composite-spawner.d.ts.map +1 -1
  3. package/dist/adapters/composite-spawner.js +3 -0
  4. package/dist/adapters/composite-spawner.js.map +1 -1
  5. package/dist/adapters/in-process-spawner.d.ts +9 -2
  6. package/dist/adapters/in-process-spawner.d.ts.map +1 -1
  7. package/dist/adapters/in-process-spawner.js +9 -7
  8. package/dist/adapters/in-process-spawner.js.map +1 -1
  9. package/dist/adapters/loop-engine.d.ts.map +1 -1
  10. package/dist/adapters/loop-engine.js +510 -491
  11. package/dist/adapters/loop-engine.js.map +1 -1
  12. package/dist/adapters/node-spawner.d.ts +2 -0
  13. package/dist/adapters/node-spawner.d.ts.map +1 -1
  14. package/dist/adapters/node-spawner.js +15 -0
  15. package/dist/adapters/node-spawner.js.map +1 -1
  16. package/dist/adapters/spawn-helpers.d.ts +8 -2
  17. package/dist/adapters/spawn-helpers.d.ts.map +1 -1
  18. package/dist/adapters/spawn-helpers.js +31 -13
  19. package/dist/adapters/spawn-helpers.js.map +1 -1
  20. package/dist/core/deadlock-resolver.d.ts +8 -10
  21. package/dist/core/deadlock-resolver.d.ts.map +1 -1
  22. package/dist/core/deadlock-resolver.js +125 -132
  23. package/dist/core/deadlock-resolver.js.map +1 -1
  24. package/dist/core/index.d.ts +1 -1
  25. package/dist/core/index.d.ts.map +1 -1
  26. package/dist/core/index.js +1 -1
  27. package/dist/core/index.js.map +1 -1
  28. package/dist/core/orchestrator.d.ts +8 -4
  29. package/dist/core/orchestrator.d.ts.map +1 -1
  30. package/dist/core/orchestrator.js +43 -79
  31. package/dist/core/orchestrator.js.map +1 -1
  32. package/dist/core/run-lifecycle.d.ts +11 -2
  33. package/dist/core/run-lifecycle.d.ts.map +1 -1
  34. package/dist/core/run-lifecycle.js +197 -45
  35. package/dist/core/run-lifecycle.js.map +1 -1
  36. package/dist/core/runner-capability-bootstrap.d.ts +19 -0
  37. package/dist/core/runner-capability-bootstrap.d.ts.map +1 -0
  38. package/dist/core/runner-capability-bootstrap.js +98 -0
  39. package/dist/core/runner-capability-bootstrap.js.map +1 -0
  40. package/dist/core/runner.js +10 -0
  41. package/dist/core/runner.js.map +1 -1
  42. package/dist/sandbox/lease.d.ts +7 -0
  43. package/dist/sandbox/lease.d.ts.map +1 -1
  44. package/dist/sandbox/lease.js +35 -5
  45. package/dist/sandbox/lease.js.map +1 -1
  46. package/dist/server/app.d.ts +4 -1
  47. package/dist/server/app.d.ts.map +1 -1
  48. package/dist/server/app.js +28 -12
  49. package/dist/server/app.js.map +1 -1
  50. package/dist/server/deps.d.ts +5 -4
  51. package/dist/server/deps.d.ts.map +1 -1
  52. package/dist/server/deps.js +0 -7
  53. package/dist/server/deps.js.map +1 -1
  54. package/dist/server/ephemeral-run-store.d.ts +2 -1
  55. package/dist/server/ephemeral-run-store.d.ts.map +1 -1
  56. package/dist/server/ephemeral-run-store.js +14 -1
  57. package/dist/server/ephemeral-run-store.js.map +1 -1
  58. package/dist/server/index.d.ts +1 -1
  59. package/dist/server/index.d.ts.map +1 -1
  60. package/dist/server/index.js +6 -2
  61. package/dist/server/index.js.map +1 -1
  62. package/dist/server/types.d.ts +3 -0
  63. package/dist/server/types.d.ts.map +1 -1
  64. package/package.json +9 -9
@@ -17,5 +17,6 @@ export declare class CompositeSpawner implements Spawner {
17
17
  spawn(config: RunnerConfig): Promise<SpawnResult>;
18
18
  isAlive(pid: number): boolean;
19
19
  kill(pid: number): void;
20
+ cancelRun(runId: string): Promise<void>;
20
21
  }
21
22
  //# sourceMappingURL=composite-spawner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"composite-spawner.d.ts","sourceRoot":"","sources":["../../src/adapters/composite-spawner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,qBAAa,gBAAiB,YAAW,OAAO;IAE5C,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,SAAS;gBADT,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,OAAO;IAGtB,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAKvD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI7B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAIxB"}
1
+ {"version":3,"file":"composite-spawner.d.ts","sourceRoot":"","sources":["../../src/adapters/composite-spawner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,qBAAa,gBAAiB,YAAW,OAAO;IAE5C,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,SAAS;gBADT,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,OAAO;IAGtB,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAKvD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI7B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKjB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG9C"}
@@ -28,5 +28,8 @@ export class CompositeSpawner {
28
28
  else
29
29
  this.subprocess.kill(pid);
30
30
  }
31
+ async cancelRun(runId) {
32
+ await Promise.all([this.subprocess.cancelRun?.(runId), this.inProcess.cancelRun?.(runId)]);
33
+ }
31
34
  }
32
35
  //# sourceMappingURL=composite-spawner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"composite-spawner.js","sourceRoot":"","sources":["../../src/adapters/composite-spawner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,MAAM,OAAO,gBAAgB;IAEjB;IACA;IAFV,YACU,UAAmB,EACnB,SAAkB;QADlB,eAAU,GAAV,UAAU,CAAS;QACnB,cAAS,GAAT,SAAS,CAAS;IACzB,CAAC;IAEJ,KAAK,CAAC,KAAK,CAAC,MAAoB;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QACxF,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,CAAC,GAAW;QACd,IAAI,GAAG,GAAG,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;YACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;CACF"}
1
+ {"version":3,"file":"composite-spawner.js","sourceRoot":"","sources":["../../src/adapters/composite-spawner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,MAAM,OAAO,gBAAgB;IAEjB;IACA;IAFV,YACU,UAAmB,EACnB,SAAkB;QADlB,eAAU,GAAV,UAAU,CAAS;QACnB,cAAS,GAAT,SAAS,CAAS;IACzB,CAAC;IAEJ,KAAK,CAAC,KAAK,CAAC,MAAoB;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QACxF,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,CAAC,GAAW;QACd,IAAI,GAAG,GAAG,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;YACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa;QAC3B,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC;CACF"}
@@ -8,7 +8,7 @@ import type { FileSystem } from "@polpo-ai/core/filesystem";
8
8
  import type { Shell } from "@polpo-ai/core/shell";
9
9
  import type { RunPreflightPolicy, RunToolMiddleware } from "@polpo-ai/core/guardrails";
10
10
  import type { BrainReadService, BrainServiceContext } from "@polpo-ai/core/brain";
11
- import { type TranscriptSession } from "../core/run-lifecycle.js";
11
+ import { type ExecuteRunDeps } from "../core/run-lifecycle.js";
12
12
  /**
13
13
  * Stores and ports the in-process lifecycle runs against — the
14
14
  * orchestrator's own instances (see ExecuteRunDeps for per-field
@@ -18,7 +18,10 @@ import { type TranscriptSession } from "../core/run-lifecycle.js";
18
18
  */
19
19
  export interface InProcessSpawnerDeps {
20
20
  runStore: RunStore;
21
- createLogSession?: () => Promise<TranscriptSession>;
21
+ createLogSession?: ExecuteRunDeps["createLogSession"];
22
+ /** Host-only live transcript observer; never serialized into RunnerConfig. */
23
+ onEvent?: ExecuteRunDeps["onEvent"];
24
+ preparationTimeoutMs?: ExecuteRunDeps["preparationTimeoutMs"];
22
25
  vaultStore?: VaultStore;
23
26
  memoryStore?: MemoryStore;
24
27
  memoryItemStore?: MemoryItemStore;
@@ -30,6 +33,8 @@ export interface InProcessSpawnerDeps {
30
33
  /** Optional host checkpoint for manually managed hydrated sandbox volumes. */
31
34
  checkpointSandboxVolume?: (name?: string) => Promise<void>;
32
35
  connectionCapabilityResolver?: import("@polpo-ai/core").ConnectionCapabilityResolver;
36
+ resolveCustomTools?: import("@polpo-ai/core").ResolveCustomTools;
37
+ resolveMcpCapabilities?: import("@polpo-ai/core").ResolveMcpRuntimeCapabilities;
33
38
  /** Finalize run-scoped host resources before the run becomes terminal. */
34
39
  finalize?: () => Promise<void>;
35
40
  /** Optional host-resolved guardrail middleware. */
@@ -46,6 +51,7 @@ export declare class InProcessSpawner implements Spawner {
46
51
  private pidSeq;
47
52
  /** Active in-process runs, keyed by synthetic pid. */
48
53
  private active;
54
+ private runOwners;
49
55
  /**
50
56
  * Deps are resolved lazily at spawn() time: the orchestrator constructs
51
57
  * the spawner during init before some stores exist (e.g. the vault), and
@@ -55,5 +61,6 @@ export declare class InProcessSpawner implements Spawner {
55
61
  spawn(config: RunnerConfig): Promise<SpawnResult>;
56
62
  isAlive(pid: number): boolean;
57
63
  kill(pid: number): void;
64
+ cancelRun(runId: string): void;
58
65
  }
59
66
  //# sourceMappingURL=in-process-spawner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"in-process-spawner.d.ts","sourceRoot":"","sources":["../../src/adapters/in-process-spawner.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE3F;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,IAAI,CAAC,EAAE,OAAO,qBAAqB,EAAE,UAAU,CAAC;IAChD,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,8EAA8E;IAC9E,uBAAuB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,4BAA4B,CAAC,EAAE,OAAO,gBAAgB,EAAE,4BAA4B,CAAC;IACrF,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,mDAAmD;IACnD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,mEAAmE;IACnE,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC;2EACuE;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,gBAAiB,YAAW,OAAO;IAWlC,OAAO,CAAC,OAAO;IAV3B,6DAA6D;IAC7D,OAAO,CAAC,MAAM,CAAK;IACnB,sDAAsD;IACtD,OAAO,CAAC,MAAM,CAAsC;IAEpD;;;;OAIG;gBACiB,OAAO,EAAE,MAAM,oBAAoB;IAEjD,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAkEvD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI7B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAGxB"}
1
+ {"version":3,"file":"in-process-spawner.d.ts","sourceRoot":"","sources":["../../src/adapters/in-process-spawner.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAA2B,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAExF;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,CAAC,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAAC;IACtD,8EAA8E;IAC9E,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACpC,oBAAoB,CAAC,EAAE,cAAc,CAAC,sBAAsB,CAAC,CAAC;IAC9D,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,IAAI,CAAC,EAAE,OAAO,qBAAqB,EAAE,UAAU,CAAC;IAChD,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,8EAA8E;IAC9E,uBAAuB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,4BAA4B,CAAC,EAAE,OAAO,gBAAgB,EAAE,4BAA4B,CAAC;IACrF,kBAAkB,CAAC,EAAE,OAAO,gBAAgB,EAAE,kBAAkB,CAAC;IACjE,sBAAsB,CAAC,EAAE,OAAO,gBAAgB,EAAE,6BAA6B,CAAC;IAChF,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,mDAAmD;IACnD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,mEAAmE;IACnE,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC;2EACuE;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,gBAAiB,YAAW,OAAO;IAYlC,OAAO,CAAC,OAAO;IAX3B,6DAA6D;IAC7D,OAAO,CAAC,MAAM,CAAK;IACnB,sDAAsD;IACtD,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,SAAS,CAAsC;IAEvD;;;;OAIG;gBACiB,OAAO,EAAE,MAAM,oBAAoB;IAEjD,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAgEvD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI7B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIvB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAG/B"}
@@ -33,6 +33,7 @@ export class InProcessSpawner {
33
33
  pidSeq = 0;
34
34
  /** Active in-process runs, keyed by synthetic pid. */
35
35
  active = new Map();
36
+ runOwners = new Map();
36
37
  /**
37
38
  * Deps are resolved lazily at spawn() time: the orchestrator constructs
38
39
  * the spawner during init before some stores exist (e.g. the vault), and
@@ -43,13 +44,8 @@ export class InProcessSpawner {
43
44
  }
44
45
  async spawn(config) {
45
46
  const deps = this.getDeps();
46
- let finalized = false;
47
- const finalize = async () => {
48
- if (finalized)
49
- return;
50
- finalized = true;
51
- await deps.finalize?.();
52
- };
47
+ let finalization;
48
+ const finalize = () => finalization ??= Promise.resolve().then(() => deps.finalize?.());
53
49
  // Parity with NodeSpawner for local execution. When a host injects a
54
50
  // remote filesystem (for example a sandbox proxy), config.outputDir is a
55
51
  // path in that filesystem and must never be touched through node:fs. The
@@ -61,6 +57,7 @@ export class InProcessSpawner {
61
57
  const pid = --this.pidSeq;
62
58
  const abort = new AbortController();
63
59
  this.active.set(pid, abort);
60
+ this.runOwners.set(config.runId, abort);
64
61
  // Nothing is written to disk — the config only lives on the run record
65
62
  // (TaskRunner persists it right after spawn, as with every spawner).
66
63
  const configPath = `memory://run-${config.runId}`;
@@ -93,6 +90,8 @@ export class InProcessSpawner {
93
90
  }
94
91
  exited = true;
95
92
  this.active.delete(pid);
93
+ if (this.runOwners.get(config.runId) === abort)
94
+ this.runOwners.delete(config.runId);
96
95
  for (const cb of exitCallbacks.splice(0))
97
96
  cb();
98
97
  });
@@ -113,5 +112,8 @@ export class InProcessSpawner {
113
112
  kill(pid) {
114
113
  this.active.get(pid)?.abort();
115
114
  }
115
+ cancelRun(runId) {
116
+ this.runOwners.get(runId)?.abort();
117
+ }
116
118
  }
117
119
  //# sourceMappingURL=in-process-spawner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"in-process-spawner.js","sourceRoot":"","sources":["../../src/adapters/in-process-spawner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"in-process-spawner.js","sourceRoot":"","sources":["../../src/adapters/in-process-spawner.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"loop-engine.d.ts","sourceRoot":"","sources":["../../src/adapters/loop-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAc,MAAM,sBAAsB,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAGL,KAAK,YAAY,EAGlB,MAAM,IAAI,CAAC;AAuCZ,OAAO,EAEL,KAAK,eAAe,EAErB,MAAM,yBAAyB,CAAC;AA8CjC;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,YAAY,CAwB7E;AA8CD;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,QAAkB,CAAC;AAiCpD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,YAAY,GAAG,WAAW,CAw+BlH"}
1
+ {"version":3,"file":"loop-engine.d.ts","sourceRoot":"","sources":["../../src/adapters/loop-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAc,MAAM,sBAAsB,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAGL,KAAK,YAAY,EAGlB,MAAM,IAAI,CAAC;AAuCZ,OAAO,EAEL,KAAK,eAAe,EAErB,MAAM,yBAAyB,CAAC;AA8CjC;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,YAAY,CAwB7E;AA8CD;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,QAAkB,CAAC;AAiCpD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,YAAY,GAAG,WAAW,CA2/BlH"}