@sema-agent/core 1.416.0 → 1.417.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/dist/core/background-shell.d.ts +6 -0
- package/dist/core/background-shell.d.ts.map +1 -1
- package/dist/core/background-shell.js +8 -0
- package/dist/core/background-shell.js.map +1 -1
- package/dist/core/runner/prepare-task.js +7 -7
- package/dist/core/runner/prepare-task.js.map +1 -1
- package/dist/core/runner/runtask.d.ts.map +1 -1
- package/dist/core/runner/runtask.js +2 -2
- package/dist/core/runner/runtask.js.map +1 -1
- package/dist/core/task-registry.d.ts +1 -0
- package/dist/core/task-registry.d.ts.map +1 -1
- package/dist/core/task-registry.js +17 -0
- package/dist/core/task-registry.js.map +1 -1
- package/package.json +1 -1
|
@@ -40,4 +40,10 @@ export interface BackgroundShellCapability {
|
|
|
40
40
|
}): Promise<void>;
|
|
41
41
|
}
|
|
42
42
|
export declare function hasBackgroundShell(env: ExecutionEnv): env is ExecutionEnv & BackgroundShellCapability;
|
|
43
|
+
export interface EnvSweepAttribution {
|
|
44
|
+
markStopSourceForEnvSweep(env: unknown, source: string, except?: readonly string[]): string[];
|
|
45
|
+
}
|
|
46
|
+
export declare function sweepBackgroundShells(env: ExecutionEnv & BackgroundShellCapability, attribution: EnvSweepAttribution | undefined, opts?: {
|
|
47
|
+
except?: readonly string[];
|
|
48
|
+
}): Promise<void>;
|
|
43
49
|
//# sourceMappingURL=background-shell.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background-shell.d.ts","sourceRoot":"","sources":["../../src/core/background-shell.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAM5F,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAGnF,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAM/E,MAAM,MAAM,wBAAwB,GAChC,aAAa,GACb,WAAW,GACX,cAAc,GACd,gBAAgB,GAChB,SAAS,GACT,IAAI,CAAC;AAGT,qBAAa,oBAAqB,SAAQ,KAAK;IAE3C,QAAQ,CAAC,IAAI,EAAE,wBAAwB;IAEvC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;gBAFf,IAAI,EAAE,wBAAwB,EACvC,OAAO,EAAE,MAAM,EACN,KAAK,CAAC,EAAE,OAAO,YAAA;CAK3B;AAQD,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,uBAAuB,EAAE,UAAU,GAAG,UAAU,GAAG,aAAa,CAAC,CAAC;AAG5G,MAAM,WAAW,cAAc;IAE7B,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,EAAE,qBAAqB,CAAC;IAE9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAMlB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAIlC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD,MAAM,WAAW,yBAAyB;IAExC,QAAQ,CAAC,sBAAsB,EAAE;QAE/B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;QAE5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAE/B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;QAErC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QAGjC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAQlC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,OAAO,CAAC;KAC9C,CAAC;IAMF,eAAe,CACb,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,iBAAiB,CAAA;KAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAQzE,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAGlG,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAYxF,uBAAuB,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1F;AAQD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,GAAG,IAAI,YAAY,GAAG,yBAAyB,CAWrG"}
|
|
1
|
+
{"version":3,"file":"background-shell.d.ts","sourceRoot":"","sources":["../../src/core/background-shell.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAM5F,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAGnF,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAM/E,MAAM,MAAM,wBAAwB,GAChC,aAAa,GACb,WAAW,GACX,cAAc,GACd,gBAAgB,GAChB,SAAS,GACT,IAAI,CAAC;AAGT,qBAAa,oBAAqB,SAAQ,KAAK;IAE3C,QAAQ,CAAC,IAAI,EAAE,wBAAwB;IAEvC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;gBAFf,IAAI,EAAE,wBAAwB,EACvC,OAAO,EAAE,MAAM,EACN,KAAK,CAAC,EAAE,OAAO,YAAA;CAK3B;AAQD,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,uBAAuB,EAAE,UAAU,GAAG,UAAU,GAAG,aAAa,CAAC,CAAC;AAG5G,MAAM,WAAW,cAAc;IAE7B,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,EAAE,qBAAqB,CAAC;IAE9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAMlB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAIlC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD,MAAM,WAAW,yBAAyB;IAExC,QAAQ,CAAC,sBAAsB,EAAE;QAE/B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;QAE5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAE/B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;QAErC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QAGjC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAQlC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,OAAO,CAAC;KAC9C,CAAC;IAMF,eAAe,CACb,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,iBAAiB,CAAA;KAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAQzE,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAGlG,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAYxF,uBAAuB,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1F;AAQD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,GAAG,IAAI,YAAY,GAAG,yBAAyB,CAWrG;AAoBD,MAAM,WAAW,mBAAmB;IAClC,yBAAyB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;CAC/F;AAED,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,YAAY,GAAG,yBAAyB,EAC7C,WAAW,EAAE,mBAAmB,GAAG,SAAS,EAC5C,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACpC,OAAO,CAAC,IAAI,CAAC,CAUf"}
|
|
@@ -18,4 +18,12 @@ export function hasBackgroundShell(env) {
|
|
|
18
18
|
e.backgroundCapabilities !== null &&
|
|
19
19
|
e.backgroundCapabilities.supported === true);
|
|
20
20
|
}
|
|
21
|
+
export async function sweepBackgroundShells(env, attribution, opts) {
|
|
22
|
+
try {
|
|
23
|
+
attribution?.markStopSourceForEnvSweep(env, "env_sweep", opts?.except);
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
}
|
|
27
|
+
await env.disposeBackgroundShells(opts?.except !== undefined ? { except: opts.except } : undefined);
|
|
28
|
+
}
|
|
21
29
|
//# sourceMappingURL=background-shell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background-shell.js","sourceRoot":"","sources":["../../src/core/background-shell.ts"],"names":[],"mappings":"AAuCA,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAElC;IAEA;IAHX,YACW,IAA8B,EACvC,OAAe,EACN,KAAe;QAExB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJN,SAAI,GAAJ,IAAI,CAA0B;QAE9B,UAAK,GAAL,KAAK,CAAU;QAGxB,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AA0GD,MAAM,UAAU,kBAAkB,CAAC,GAAiB;IAClD,MAAM,CAAC,GAAG,GAAyC,CAAC;IACpD,OAAO,CACL,OAAO,CAAC,CAAC,eAAe,KAAK,UAAU;QACvC,OAAO,CAAC,CAAC,cAAc,KAAK,UAAU;QACtC,OAAO,CAAC,CAAC,cAAc,KAAK,UAAU;QACtC,OAAO,CAAC,CAAC,uBAAuB,KAAK,UAAU;QAC/C,OAAO,CAAC,CAAC,sBAAsB,KAAK,QAAQ;QAC5C,CAAC,CAAC,sBAAsB,KAAK,IAAI;QACjC,CAAC,CAAC,sBAAsB,CAAC,SAAS,KAAK,IAAI,CAC5C,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"background-shell.js","sourceRoot":"","sources":["../../src/core/background-shell.ts"],"names":[],"mappings":"AAuCA,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAElC;IAEA;IAHX,YACW,IAA8B,EACvC,OAAe,EACN,KAAe;QAExB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJN,SAAI,GAAJ,IAAI,CAA0B;QAE9B,UAAK,GAAL,KAAK,CAAU;QAGxB,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AA0GD,MAAM,UAAU,kBAAkB,CAAC,GAAiB;IAClD,MAAM,CAAC,GAAG,GAAyC,CAAC;IACpD,OAAO,CACL,OAAO,CAAC,CAAC,eAAe,KAAK,UAAU;QACvC,OAAO,CAAC,CAAC,cAAc,KAAK,UAAU;QACtC,OAAO,CAAC,CAAC,cAAc,KAAK,UAAU;QACtC,OAAO,CAAC,CAAC,uBAAuB,KAAK,UAAU;QAC/C,OAAO,CAAC,CAAC,sBAAsB,KAAK,QAAQ;QAC5C,CAAC,CAAC,sBAAsB,KAAK,IAAI;QACjC,CAAC,CAAC,sBAAsB,CAAC,SAAS,KAAK,IAAI,CAC5C,CAAC;AACJ,CAAC;AAwBD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,GAA6C,EAC7C,WAA4C,EAC5C,IAAqC;IAKrC,IAAI,CAAC;QACH,WAAW,EAAE,yBAAyB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;IACD,MAAM,GAAG,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC/G,CAAC"}
|
|
@@ -51,7 +51,7 @@ import { capAggregateMediaBytes, AGGREGATE_MEDIA_BUDGET_BYTES } from "../media-b
|
|
|
51
51
|
import { dropOrphanToolResults, guardBudget, insertTrimNotice, trimToBudget } from "../context-guard.js";
|
|
52
52
|
import { StubExecutionEnv } from "../stub-env.js";
|
|
53
53
|
import { hasDestroy, isIsolated, isRemoteExecutionEnv, isSuspendable } from "../remote-env.js";
|
|
54
|
-
import { hasBackgroundShell } from "../background-shell.js";
|
|
54
|
+
import { hasBackgroundShell, sweepBackgroundShells } from "../background-shell.js";
|
|
55
55
|
import { createTaskOutputTool, createTaskStopTool, defaultTaskRegistry } from "../task-registry.js";
|
|
56
56
|
import { createMonitorTool } from "../../tools/monitor.js";
|
|
57
57
|
import { createWorktreeTools } from "../../tools/worktree.js";
|
|
@@ -2800,7 +2800,7 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
2800
2800
|
let remoteHandle;
|
|
2801
2801
|
if (suspendableEnv !== undefined) {
|
|
2802
2802
|
if (hasBackgroundShell(suspendableEnv))
|
|
2803
|
-
await suspendableEnv
|
|
2803
|
+
await sweepBackgroundShells(suspendableEnv, defaultTaskRegistry);
|
|
2804
2804
|
const snap = await suspendableEnv.suspendVM({ abortSignal: abortController.signal });
|
|
2805
2805
|
if (!snap.ok) {
|
|
2806
2806
|
deps.onError?.(new Error(`resource suspendVM failed (${snap.error.code}): ${snap.error.message}`, { cause: snap.error }), { phase: "config", sessionId });
|
|
@@ -2810,7 +2810,7 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
2810
2810
|
}
|
|
2811
2811
|
else if (parkOnlyRemoteEnv !== undefined) {
|
|
2812
2812
|
if (hasBackgroundShell(parkOnlyRemoteEnv) && spec.retainBackgroundProcesses !== true)
|
|
2813
|
-
await parkOnlyRemoteEnv
|
|
2813
|
+
await sweepBackgroundShells(parkOnlyRemoteEnv, defaultTaskRegistry);
|
|
2814
2814
|
remoteHandle = parkOnlyHandle(parkOnlyRemoteEnv);
|
|
2815
2815
|
}
|
|
2816
2816
|
const token = mintCheckpointToken();
|
|
@@ -2870,7 +2870,7 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
2870
2870
|
let remoteHandle;
|
|
2871
2871
|
if (suspendableEnv !== undefined) {
|
|
2872
2872
|
if (hasBackgroundShell(suspendableEnv))
|
|
2873
|
-
await suspendableEnv
|
|
2873
|
+
await sweepBackgroundShells(suspendableEnv, defaultTaskRegistry);
|
|
2874
2874
|
const snap = await suspendableEnv.suspendVM({ abortSignal: abortController.signal });
|
|
2875
2875
|
if (!snap.ok) {
|
|
2876
2876
|
deps.onError?.(new Error(`plan_review suspendVM failed (${snap.error.code}): ${snap.error.message}`, { cause: snap.error }), { phase: "config", sessionId });
|
|
@@ -2880,7 +2880,7 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
2880
2880
|
}
|
|
2881
2881
|
else if (parkOnlyRemoteEnv !== undefined) {
|
|
2882
2882
|
if (hasBackgroundShell(parkOnlyRemoteEnv) && spec.retainBackgroundProcesses !== true)
|
|
2883
|
-
await parkOnlyRemoteEnv
|
|
2883
|
+
await sweepBackgroundShells(parkOnlyRemoteEnv, defaultTaskRegistry);
|
|
2884
2884
|
remoteHandle = parkOnlyHandle(parkOnlyRemoteEnv);
|
|
2885
2885
|
}
|
|
2886
2886
|
const token = mintCheckpointToken();
|
|
@@ -2963,7 +2963,7 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
2963
2963
|
return undefined;
|
|
2964
2964
|
if (remoteEnv !== undefined) {
|
|
2965
2965
|
if (hasBackgroundShell(remoteEnv))
|
|
2966
|
-
await remoteEnv
|
|
2966
|
+
await sweepBackgroundShells(remoteEnv, defaultTaskRegistry);
|
|
2967
2967
|
const snap = await remoteEnv.suspendVM({ abortSignal: abortController.signal });
|
|
2968
2968
|
if (!snap.ok) {
|
|
2969
2969
|
throw new Error(`suspendVM failed (${snap.error.code}): ${snap.error.message}`, { cause: snap.error });
|
|
@@ -2972,7 +2972,7 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
2972
2972
|
}
|
|
2973
2973
|
else if (parkOnlyRemoteEnv !== undefined) {
|
|
2974
2974
|
if (hasBackgroundShell(parkOnlyRemoteEnv) && spec.retainBackgroundProcesses !== true)
|
|
2975
|
-
await parkOnlyRemoteEnv
|
|
2975
|
+
await sweepBackgroundShells(parkOnlyRemoteEnv, defaultTaskRegistry);
|
|
2976
2976
|
remoteHandle = parkOnlyHandle(parkOnlyRemoteEnv);
|
|
2977
2977
|
}
|
|
2978
2978
|
token = mintCheckpointToken();
|