zeitlich 0.2.41 → 0.2.42
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/{activities-qUflxmfS.d.cts → activities-Coafq5zr.d.cts} +2 -2
- package/dist/{activities-D_g13S3y.d.ts → activities-CrN-ghLo.d.ts} +2 -2
- package/dist/adapters/sandbox/daytona/index.cjs +4 -23
- package/dist/adapters/sandbox/daytona/index.cjs.map +1 -1
- package/dist/adapters/sandbox/daytona/index.d.cts +18 -86
- package/dist/adapters/sandbox/daytona/index.d.ts +18 -86
- package/dist/adapters/sandbox/daytona/index.js +4 -23
- package/dist/adapters/sandbox/daytona/index.js.map +1 -1
- package/dist/adapters/sandbox/daytona/workflow.cjs +1 -7
- package/dist/adapters/sandbox/daytona/workflow.cjs.map +1 -1
- package/dist/adapters/sandbox/daytona/workflow.d.cts +9 -2
- package/dist/adapters/sandbox/daytona/workflow.d.ts +9 -2
- package/dist/adapters/sandbox/daytona/workflow.js +1 -7
- package/dist/adapters/sandbox/daytona/workflow.js.map +1 -1
- package/dist/adapters/sandbox/e2b/index.cjs +9 -0
- package/dist/adapters/sandbox/e2b/index.cjs.map +1 -1
- package/dist/adapters/sandbox/e2b/index.d.cts +13 -5
- package/dist/adapters/sandbox/e2b/index.d.ts +13 -5
- package/dist/adapters/sandbox/e2b/index.js +9 -1
- package/dist/adapters/sandbox/e2b/index.js.map +1 -1
- package/dist/adapters/sandbox/e2b/workflow.cjs.map +1 -1
- package/dist/adapters/sandbox/e2b/workflow.d.cts +4 -2
- package/dist/adapters/sandbox/e2b/workflow.d.ts +4 -2
- package/dist/adapters/sandbox/e2b/workflow.js.map +1 -1
- package/dist/adapters/sandbox/inmemory/index.cjs +11 -0
- package/dist/adapters/sandbox/inmemory/index.cjs.map +1 -1
- package/dist/adapters/sandbox/inmemory/index.d.cts +11 -3
- package/dist/adapters/sandbox/inmemory/index.d.ts +11 -3
- package/dist/adapters/sandbox/inmemory/index.js +11 -1
- package/dist/adapters/sandbox/inmemory/index.js.map +1 -1
- package/dist/adapters/sandbox/inmemory/workflow.cjs.map +1 -1
- package/dist/adapters/sandbox/inmemory/workflow.d.cts +4 -2
- package/dist/adapters/sandbox/inmemory/workflow.d.ts +4 -2
- package/dist/adapters/sandbox/inmemory/workflow.js.map +1 -1
- package/dist/adapters/thread/anthropic/index.cjs.map +1 -1
- package/dist/adapters/thread/anthropic/index.d.cts +5 -5
- package/dist/adapters/thread/anthropic/index.d.ts +5 -5
- package/dist/adapters/thread/anthropic/index.js.map +1 -1
- package/dist/adapters/thread/anthropic/workflow.d.cts +5 -5
- package/dist/adapters/thread/anthropic/workflow.d.ts +5 -5
- package/dist/adapters/thread/google-genai/index.cjs.map +1 -1
- package/dist/adapters/thread/google-genai/index.d.cts +5 -5
- package/dist/adapters/thread/google-genai/index.d.ts +5 -5
- package/dist/adapters/thread/google-genai/index.js.map +1 -1
- package/dist/adapters/thread/google-genai/workflow.d.cts +5 -5
- package/dist/adapters/thread/google-genai/workflow.d.ts +5 -5
- package/dist/adapters/thread/langchain/index.cjs.map +1 -1
- package/dist/adapters/thread/langchain/index.d.cts +5 -5
- package/dist/adapters/thread/langchain/index.d.ts +5 -5
- package/dist/adapters/thread/langchain/index.js.map +1 -1
- package/dist/adapters/thread/langchain/workflow.d.cts +5 -5
- package/dist/adapters/thread/langchain/workflow.d.ts +5 -5
- package/dist/index.cjs +224 -70
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +66 -16
- package/dist/index.d.ts +66 -16
- package/dist/index.js +224 -70
- package/dist/index.js.map +1 -1
- package/dist/{proxy-D7mvDEO6.d.cts → proxy-Bf7uI-Hw.d.cts} +1 -1
- package/dist/{proxy-BbcgoXg1.d.ts → proxy-COqA95FW.d.ts} +1 -1
- package/dist/{thread-manager-CTXPCu9W.d.ts → thread-manager-BhkOyQ1I.d.ts} +2 -2
- package/dist/{thread-manager-Dqstsw4i.d.ts → thread-manager-Bi1XlbpJ.d.ts} +2 -2
- package/dist/{thread-manager-cLhDhRRc.d.cts → thread-manager-BsLO3Fgc.d.cts} +2 -2
- package/dist/{thread-manager-DrWfVjlj.d.cts → thread-manager-wRVVBFgj.d.cts} +2 -2
- package/dist/{types-CjF1_Idx.d.ts → types-BkX4HLzi.d.ts} +1 -1
- package/dist/{types-CdvcmXb6.d.cts → types-C66-BVBr.d.cts} +1 -1
- package/dist/types-CJ7tCdl6.d.cts +266 -0
- package/dist/types-CJ7tCdl6.d.ts +266 -0
- package/dist/{types-DjaQKUJx.d.cts → types-CdALEF3z.d.cts} +300 -20
- package/dist/{types-BqTmyH31.d.ts → types-ChAy_jSP.d.ts} +300 -20
- package/dist/types-CjY93AWZ.d.cts +84 -0
- package/dist/types-gVa5XCWD.d.ts +84 -0
- package/dist/{workflow-N1MNDoul.d.ts → workflow-BwT5EybR.d.ts} +7 -6
- package/dist/{workflow-CuqxgS6X.d.cts → workflow-DMmiaw6w.d.cts} +7 -6
- package/dist/workflow.cjs +99 -46
- package/dist/workflow.cjs.map +1 -1
- package/dist/workflow.d.cts +4 -4
- package/dist/workflow.d.ts +4 -4
- package/dist/workflow.js +99 -46
- package/dist/workflow.js.map +1 -1
- package/package.json +7 -32
- package/src/adapters/sandbox/daytona/index.ts +25 -48
- package/src/adapters/sandbox/daytona/proxy.ts +7 -8
- package/src/adapters/sandbox/e2b/index.ts +21 -6
- package/src/adapters/sandbox/e2b/proxy.ts +3 -2
- package/src/adapters/sandbox/inmemory/index.ts +21 -1
- package/src/adapters/sandbox/inmemory/proxy.ts +7 -3
- package/src/lib/activity.ts +5 -0
- package/src/lib/sandbox/capability-types.test.ts +859 -0
- package/src/lib/sandbox/index.ts +1 -0
- package/src/lib/sandbox/manager.ts +187 -31
- package/src/lib/sandbox/types.ts +189 -46
- package/src/lib/session/index.ts +1 -0
- package/src/lib/session/session.ts +97 -35
- package/src/lib/session/types.ts +181 -5
- package/src/lib/subagent/handler.ts +66 -43
- package/src/lib/subagent/types.ts +484 -16
- package/src/workflow.ts +3 -0
- package/tsup.config.ts +0 -4
- package/dist/adapters/sandbox/bedrock/index.cjs +0 -457
- package/dist/adapters/sandbox/bedrock/index.cjs.map +0 -1
- package/dist/adapters/sandbox/bedrock/index.d.cts +0 -25
- package/dist/adapters/sandbox/bedrock/index.d.ts +0 -25
- package/dist/adapters/sandbox/bedrock/index.js +0 -454
- package/dist/adapters/sandbox/bedrock/index.js.map +0 -1
- package/dist/adapters/sandbox/bedrock/workflow.cjs +0 -36
- package/dist/adapters/sandbox/bedrock/workflow.cjs.map +0 -1
- package/dist/adapters/sandbox/bedrock/workflow.d.cts +0 -29
- package/dist/adapters/sandbox/bedrock/workflow.d.ts +0 -29
- package/dist/adapters/sandbox/bedrock/workflow.js +0 -34
- package/dist/adapters/sandbox/bedrock/workflow.js.map +0 -1
- package/dist/types-DAsQ21Rt.d.ts +0 -74
- package/dist/types-lm8tMNJQ.d.cts +0 -74
- package/dist/types-yx0LzPGn.d.cts +0 -173
- package/dist/types-yx0LzPGn.d.ts +0 -173
- package/src/adapters/sandbox/bedrock/filesystem.ts +0 -340
- package/src/adapters/sandbox/bedrock/index.ts +0 -274
- package/src/adapters/sandbox/bedrock/proxy.ts +0 -59
- package/src/adapters/sandbox/bedrock/types.ts +0 -24
package/dist/workflow.cjs
CHANGED
|
@@ -9,6 +9,16 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
9
9
|
var z14__default = /*#__PURE__*/_interopDefault(z14);
|
|
10
10
|
|
|
11
11
|
// src/lib/session/session.ts
|
|
12
|
+
|
|
13
|
+
// src/lib/session/types.ts
|
|
14
|
+
function resolveSessionLifecycle(init, shutdown) {
|
|
15
|
+
const resolvedInit = init ?? { mode: "new" };
|
|
16
|
+
const resolvedShutdown = shutdown ?? "destroy";
|
|
17
|
+
return {
|
|
18
|
+
mode: resolvedInit.mode,
|
|
19
|
+
shutdown: resolvedShutdown
|
|
20
|
+
};
|
|
21
|
+
}
|
|
12
22
|
function createToolRouter(options) {
|
|
13
23
|
const { appendToolResult } = options;
|
|
14
24
|
const toolMap = /* @__PURE__ */ new Map();
|
|
@@ -437,6 +447,37 @@ function createSubagentTool(subagents) {
|
|
|
437
447
|
schema
|
|
438
448
|
};
|
|
439
449
|
}
|
|
450
|
+
|
|
451
|
+
// src/lib/subagent/types.ts
|
|
452
|
+
function isSurvivalShutdown(s) {
|
|
453
|
+
return s === "pause" || s === "pause-until-parent-close" || s === "keep" || s === "keep-until-parent-close";
|
|
454
|
+
}
|
|
455
|
+
function resolveSubagentLifecycle(cfg, isLazyCreator) {
|
|
456
|
+
if (cfg.source !== "own") {
|
|
457
|
+
return {
|
|
458
|
+
shutdownOverride: cfg.shutdown,
|
|
459
|
+
mustSurvive: false
|
|
460
|
+
};
|
|
461
|
+
}
|
|
462
|
+
if (cfg.continuation === "snapshot") {
|
|
463
|
+
return {
|
|
464
|
+
shutdownOverride: "snapshot",
|
|
465
|
+
mustSurvive: false
|
|
466
|
+
};
|
|
467
|
+
}
|
|
468
|
+
const isLazy = cfg.init === "once";
|
|
469
|
+
const mustSurvive = isLazyCreator || cfg.continuation === "continue" || isLazy && cfg.continuation === "fork";
|
|
470
|
+
if (!mustSurvive) {
|
|
471
|
+
return { shutdownOverride: cfg.shutdown, mustSurvive: false };
|
|
472
|
+
}
|
|
473
|
+
if (isSurvivalShutdown(cfg.shutdown)) {
|
|
474
|
+
return { shutdownOverride: cfg.shutdown, mustSurvive };
|
|
475
|
+
}
|
|
476
|
+
return {
|
|
477
|
+
shutdownOverride: isLazyCreator ? "pause-until-parent-close" : "pause",
|
|
478
|
+
mustSurvive
|
|
479
|
+
};
|
|
480
|
+
}
|
|
440
481
|
var childSandboxReadySignal = workflow.defineSignal("childSandboxReady");
|
|
441
482
|
|
|
442
483
|
// src/lib/subagent/handler.ts
|
|
@@ -462,10 +503,18 @@ function resolveSandboxConfig(config) {
|
|
|
462
503
|
}
|
|
463
504
|
function createSubagentHandler(subagents) {
|
|
464
505
|
const { taskQueue: parentTaskQueue } = workflow.workflowInfo();
|
|
465
|
-
const
|
|
506
|
+
const agentDestroyOps = /* @__PURE__ */ new Map();
|
|
507
|
+
const agentDeleteSnapshotOps = /* @__PURE__ */ new Map();
|
|
466
508
|
for (const cfg of subagents) {
|
|
467
|
-
|
|
468
|
-
|
|
509
|
+
const cfgSandbox = cfg.sandbox;
|
|
510
|
+
if (!cfgSandbox || cfgSandbox === "none") continue;
|
|
511
|
+
if (cfgSandbox.continuation === "snapshot") {
|
|
512
|
+
const proxy = cfgSandbox.proxy(cfg.agentName);
|
|
513
|
+
agentDestroyOps.set(cfg.agentName, proxy);
|
|
514
|
+
agentDeleteSnapshotOps.set(cfg.agentName, proxy);
|
|
515
|
+
} else {
|
|
516
|
+
const proxy = cfgSandbox.proxy(cfg.agentName);
|
|
517
|
+
agentDestroyOps.set(cfg.agentName, proxy);
|
|
469
518
|
}
|
|
470
519
|
}
|
|
471
520
|
const pendingDestroys = /* @__PURE__ */ new Map();
|
|
@@ -504,7 +553,7 @@ function createSubagentHandler(subagents) {
|
|
|
504
553
|
const childWorkflowId = `${args.subagent}-${getShortId()}`;
|
|
505
554
|
const { sandboxId: parentSandboxId } = context;
|
|
506
555
|
const sandboxCfg = resolveSandboxConfig(config.sandbox);
|
|
507
|
-
if (sandboxCfg.source !== "none" && !
|
|
556
|
+
if (sandboxCfg.source !== "none" && !agentDestroyOps.has(config.agentName)) {
|
|
508
557
|
throw workflow.ApplicationFailure.create({
|
|
509
558
|
message: `Subagent "${config.agentName}" uses a sandbox but no \`sandbox.proxy\` is configured on its SubagentConfig`,
|
|
510
559
|
nonRetryable: true
|
|
@@ -572,7 +621,6 @@ function createSubagentHandler(subagents) {
|
|
|
572
621
|
if (baseSnap) {
|
|
573
622
|
sandbox = { mode: "from-snapshot", snapshot: baseSnap };
|
|
574
623
|
}
|
|
575
|
-
sandboxShutdownOverride = "snapshot";
|
|
576
624
|
} else if (sandboxCfg.source === "own") {
|
|
577
625
|
const isLazy = sandboxCfg.init === "once";
|
|
578
626
|
let baseSandboxId;
|
|
@@ -608,12 +656,10 @@ function createSubagentHandler(subagents) {
|
|
|
608
656
|
sandboxId: baseSandboxId
|
|
609
657
|
};
|
|
610
658
|
}
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
const
|
|
614
|
-
|
|
615
|
-
sandboxShutdownOverride = isLazyCreator ? "pause-until-parent-close" : "pause";
|
|
616
|
-
}
|
|
659
|
+
}
|
|
660
|
+
{
|
|
661
|
+
const lifecycle = resolveSubagentLifecycle(sandboxCfg, isLazyCreator);
|
|
662
|
+
sandboxShutdownOverride = lifecycle.shutdownOverride;
|
|
617
663
|
}
|
|
618
664
|
const workflowInput = {
|
|
619
665
|
...thread && { thread },
|
|
@@ -758,7 +804,7 @@ function createSubagentHandler(subagents) {
|
|
|
758
804
|
pendingDestroys.clear();
|
|
759
805
|
await Promise.all(
|
|
760
806
|
entries.map(async ({ agentName, sandboxId }) => {
|
|
761
|
-
const ops =
|
|
807
|
+
const ops = agentDestroyOps.get(agentName);
|
|
762
808
|
if (!ops) {
|
|
763
809
|
workflow.log.warn(
|
|
764
810
|
"Skipping sandbox destroy \u2014 no sandbox.proxy registered for agent",
|
|
@@ -788,7 +834,7 @@ function createSubagentHandler(subagents) {
|
|
|
788
834
|
persistentBaseSnapshot.clear();
|
|
789
835
|
await Promise.all(
|
|
790
836
|
tagged.map(async ({ agentName, snapshot }) => {
|
|
791
|
-
const ops =
|
|
837
|
+
const ops = agentDeleteSnapshotOps.get(agentName);
|
|
792
838
|
if (!ops) {
|
|
793
839
|
workflow.log.warn(
|
|
794
840
|
"Skipping snapshot delete \u2014 no sandbox.proxy registered for agent",
|
|
@@ -940,29 +986,31 @@ function collectSkillFiles(skills) {
|
|
|
940
986
|
}
|
|
941
987
|
return files;
|
|
942
988
|
}
|
|
943
|
-
async function createSession({
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
989
|
+
async function createSession(config) {
|
|
990
|
+
const {
|
|
991
|
+
agentName,
|
|
992
|
+
maxTurns = 50,
|
|
993
|
+
metadata = {},
|
|
994
|
+
runAgent,
|
|
995
|
+
threadOps,
|
|
996
|
+
buildContextMessage,
|
|
997
|
+
subagents,
|
|
998
|
+
skills,
|
|
999
|
+
tools = {},
|
|
1000
|
+
processToolsInParallel = true,
|
|
1001
|
+
hooks = {},
|
|
1002
|
+
appendSystemPrompt = true,
|
|
1003
|
+
threadKey,
|
|
1004
|
+
sandboxOps,
|
|
1005
|
+
thread: threadInit,
|
|
1006
|
+
sandbox: sandboxInit,
|
|
1007
|
+
sandboxShutdown,
|
|
1008
|
+
onSandboxReady,
|
|
1009
|
+
onSessionExit,
|
|
1010
|
+
virtualFs: virtualFsConfig,
|
|
1011
|
+
virtualFsOps
|
|
1012
|
+
} = config;
|
|
1013
|
+
const wideOps = () => sandboxOps;
|
|
966
1014
|
const threadMode = threadInit?.mode ?? "new";
|
|
967
1015
|
let threadId;
|
|
968
1016
|
let sourceThreadId;
|
|
@@ -1046,7 +1094,12 @@ async function createSession({
|
|
|
1046
1094
|
stateManager.run();
|
|
1047
1095
|
}
|
|
1048
1096
|
);
|
|
1049
|
-
const
|
|
1097
|
+
const lifecycle = resolveSessionLifecycle(
|
|
1098
|
+
sandboxInit,
|
|
1099
|
+
sandboxShutdown
|
|
1100
|
+
);
|
|
1101
|
+
const sandboxMode = lifecycle.mode;
|
|
1102
|
+
const resolvedShutdown = lifecycle.shutdown;
|
|
1050
1103
|
let sandboxId;
|
|
1051
1104
|
let sandboxOwned = false;
|
|
1052
1105
|
let baseSnapshot;
|
|
@@ -1069,8 +1122,8 @@ async function createSession({
|
|
|
1069
1122
|
});
|
|
1070
1123
|
}
|
|
1071
1124
|
sandboxId = sandboxInit.sandboxId;
|
|
1072
|
-
if (
|
|
1073
|
-
await
|
|
1125
|
+
if (resolvedShutdown === "pause-until-parent-close") {
|
|
1126
|
+
await wideOps().resumeSandbox(sandboxId);
|
|
1074
1127
|
}
|
|
1075
1128
|
sandboxOwned = true;
|
|
1076
1129
|
} else if (sandboxMode === "fork") {
|
|
@@ -1081,7 +1134,7 @@ async function createSession({
|
|
|
1081
1134
|
});
|
|
1082
1135
|
}
|
|
1083
1136
|
const forkInit = sandboxInit;
|
|
1084
|
-
sandboxId = await
|
|
1137
|
+
sandboxId = await wideOps().forkSandbox(
|
|
1085
1138
|
forkInit.sandboxId,
|
|
1086
1139
|
forkInit.options
|
|
1087
1140
|
);
|
|
@@ -1094,7 +1147,7 @@ async function createSession({
|
|
|
1094
1147
|
});
|
|
1095
1148
|
}
|
|
1096
1149
|
const restoreInit = sandboxInit;
|
|
1097
|
-
sandboxId = await
|
|
1150
|
+
sandboxId = await wideOps().restoreSandbox(
|
|
1098
1151
|
restoreInit.snapshot,
|
|
1099
1152
|
restoreInit.options
|
|
1100
1153
|
);
|
|
@@ -1110,8 +1163,8 @@ async function createSession({
|
|
|
1110
1163
|
freshlyCreated = true;
|
|
1111
1164
|
}
|
|
1112
1165
|
}
|
|
1113
|
-
if (sandboxId && sandboxOwned && freshlyCreated &&
|
|
1114
|
-
baseSnapshot = await
|
|
1166
|
+
if (sandboxId && sandboxOwned && freshlyCreated && resolvedShutdown === "snapshot" && sandboxOps) {
|
|
1167
|
+
baseSnapshot = await wideOps().snapshotSandbox(sandboxId);
|
|
1115
1168
|
}
|
|
1116
1169
|
if (sandboxId && sandboxOwned && onSandboxReady) {
|
|
1117
1170
|
onSandboxReady({
|
|
@@ -1312,19 +1365,19 @@ async function createSession({
|
|
|
1312
1365
|
}
|
|
1313
1366
|
await callSessionEnd(exitReason, stateManager.getTurns());
|
|
1314
1367
|
if (sandboxOwned && sandboxId && sandboxOps) {
|
|
1315
|
-
switch (
|
|
1368
|
+
switch (resolvedShutdown) {
|
|
1316
1369
|
case "destroy":
|
|
1317
1370
|
await sandboxOps.destroySandbox(sandboxId);
|
|
1318
1371
|
break;
|
|
1319
1372
|
case "pause":
|
|
1320
1373
|
case "pause-until-parent-close":
|
|
1321
|
-
await
|
|
1374
|
+
await wideOps().pauseSandbox(sandboxId);
|
|
1322
1375
|
break;
|
|
1323
1376
|
case "keep":
|
|
1324
1377
|
case "keep-until-parent-close":
|
|
1325
1378
|
break;
|
|
1326
1379
|
case "snapshot":
|
|
1327
|
-
exitSnapshot = await
|
|
1380
|
+
exitSnapshot = await wideOps().snapshotSandbox(sandboxId);
|
|
1328
1381
|
await sandboxOps.destroySandbox(sandboxId);
|
|
1329
1382
|
break;
|
|
1330
1383
|
}
|