zeitlich 0.2.26 → 0.2.28
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-BEJRyDVU.d.cts → activities-3xj_fEJK.d.ts} +7 -4
- package/dist/{activities-LVQdLF6I.d.ts → activities-BzYq6jf7.d.cts} +7 -4
- package/dist/adapters/sandbox/e2b/index.cjs +230 -0
- package/dist/adapters/sandbox/e2b/index.cjs.map +1 -0
- package/dist/adapters/sandbox/e2b/index.d.cts +77 -0
- package/dist/adapters/sandbox/e2b/index.d.ts +77 -0
- package/dist/adapters/sandbox/e2b/index.js +227 -0
- package/dist/adapters/sandbox/e2b/index.js.map +1 -0
- package/dist/adapters/sandbox/e2b/workflow.cjs +33 -0
- package/dist/adapters/sandbox/e2b/workflow.cjs.map +1 -0
- package/dist/adapters/sandbox/e2b/workflow.d.cts +27 -0
- package/dist/adapters/sandbox/e2b/workflow.d.ts +27 -0
- package/dist/adapters/sandbox/e2b/workflow.js +31 -0
- package/dist/adapters/sandbox/e2b/workflow.js.map +1 -0
- package/dist/adapters/sandbox/virtual/index.d.cts +4 -4
- package/dist/adapters/sandbox/virtual/index.d.ts +4 -4
- package/dist/adapters/sandbox/virtual/workflow.d.cts +2 -2
- package/dist/adapters/sandbox/virtual/workflow.d.ts +2 -2
- package/dist/adapters/thread/anthropic/index.cjs +13 -6
- package/dist/adapters/thread/anthropic/index.cjs.map +1 -1
- package/dist/adapters/thread/anthropic/index.d.cts +10 -7
- package/dist/adapters/thread/anthropic/index.d.ts +10 -7
- package/dist/adapters/thread/anthropic/index.js +13 -6
- 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 +11 -6
- package/dist/adapters/thread/google-genai/index.cjs.map +1 -1
- package/dist/adapters/thread/google-genai/index.d.cts +9 -6
- package/dist/adapters/thread/google-genai/index.d.ts +9 -6
- package/dist/adapters/thread/google-genai/index.js +11 -6
- 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 +44 -5
- package/dist/adapters/thread/langchain/index.cjs.map +1 -1
- package/dist/adapters/thread/langchain/index.d.cts +25 -9
- package/dist/adapters/thread/langchain/index.d.ts +25 -9
- package/dist/adapters/thread/langchain/index.js +44 -6
- 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 +27 -16
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +8 -8
- package/dist/index.d.ts +8 -8
- package/dist/index.js +27 -16
- package/dist/index.js.map +1 -1
- package/dist/{proxy-BK1ydQt0.d.ts → proxy-7e7v8ccg.d.ts} +1 -1
- package/dist/{proxy-BMAsMHdp.d.cts → proxy-CsB8r0RR.d.cts} +1 -1
- package/dist/{queries-DwnE2bu3.d.cts → queries-DVnukByF.d.cts} +1 -1
- package/dist/{queries-BCgJ9Sr5.d.ts → queries-kjlvsUfz.d.ts} +1 -1
- package/dist/{thread-manager-DOnQzImf.d.cts → thread-manager-B5qA4v7V.d.ts} +5 -3
- package/dist/{thread-manager-b4DML-qu.d.cts → thread-manager-D8C5QvLi.d.ts} +4 -2
- package/dist/{thread-manager-CH9krS3h.d.ts → thread-manager-DFJ3sKKU.d.cts} +4 -2
- package/dist/{thread-manager-Czhpxbt6.d.ts → thread-manager-DdVFl1IY.d.cts} +5 -3
- package/dist/{types-BDRDbm3h.d.cts → types-BZ75HpYd.d.ts} +14 -2
- package/dist/{types-mCVxKIZb.d.cts → types-BclYm5Ic.d.cts} +0 -4
- package/dist/{types-mCVxKIZb.d.ts → types-BclYm5Ic.d.ts} +0 -4
- package/dist/{types-DRnz-OZp.d.cts → types-BgsAwN3L.d.cts} +1 -1
- package/dist/{types-CvJyXDYt.d.ts → types-BtqbM1bO.d.ts} +1 -1
- package/dist/{types-DSOefLpY.d.cts → types-BuCEZ4dF.d.cts} +1 -1
- package/dist/{types-WNSeZbWa.d.ts → types-HbjqzyJH.d.cts} +14 -2
- package/dist/{types-DFUNSYbj.d.ts → types-yU5AINiP.d.ts} +1 -1
- package/dist/workflow.cjs +27 -16
- package/dist/workflow.cjs.map +1 -1
- package/dist/workflow.d.cts +7 -7
- package/dist/workflow.d.ts +7 -7
- package/dist/workflow.js +27 -16
- package/dist/workflow.js.map +1 -1
- package/package.json +21 -1
- package/src/adapters/sandbox/e2b/proxy.ts +56 -0
- package/src/adapters/thread/anthropic/activities.ts +3 -0
- package/src/adapters/thread/anthropic/model-invoker.ts +7 -2
- package/src/adapters/thread/anthropic/thread-manager.test.ts +137 -0
- package/src/adapters/thread/anthropic/thread-manager.ts +13 -2
- package/src/adapters/thread/google-genai/activities.ts +3 -1
- package/src/adapters/thread/google-genai/model-invoker.ts +7 -3
- package/src/adapters/thread/google-genai/thread-manager.test.ts +159 -0
- package/src/adapters/thread/google-genai/thread-manager.ts +13 -2
- package/src/adapters/thread/langchain/activities.ts +3 -1
- package/src/adapters/thread/langchain/hooks.test.ts +195 -0
- package/src/adapters/thread/langchain/hooks.ts +54 -0
- package/src/adapters/thread/langchain/index.ts +3 -0
- package/src/adapters/thread/langchain/model-invoker.ts +7 -4
- package/src/adapters/thread/langchain/thread-manager.test.ts +144 -0
- package/src/adapters/thread/langchain/thread-manager.ts +12 -1
- package/src/lib/.env +1 -0
- package/src/lib/session/session.ts +16 -5
- package/src/lib/subagent/handler.ts +5 -2
- package/src/lib/subagent/register.ts +7 -2
- package/src/lib/thread/index.ts +1 -0
- package/src/lib/thread/types.ts +13 -0
- package/src/lib/tool-router/router.ts +2 -5
- package/src/lib/tool-router/types.ts +0 -4
- package/src/tools/bash/.env +1 -0
- package/tsup.config.ts +3 -0
package/dist/index.d.cts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { BashArgs, FileEditArgs, GlobArgs, FileReadArgs, FileWriteArgs } from './workflow.cjs';
|
|
2
2
|
export { AskUserQuestionArgs, GrepArgs, ReadSkillArgs, SubagentArgs, TaskCreateArgs, TaskGetArgs, TaskListArgs, TaskUpdateArgs, WorkflowConfig, WorkflowInput, WorkflowSessionInput, applyVirtualTreeMutations, askUserQuestionTool, bashTool, createAgentStateManager, createAskUserQuestionHandler, createBashToolDescription, createReadSkillHandler, createReadSkillTool, createSession, createTaskCreateHandler, createTaskGetHandler, createTaskListHandler, createTaskUpdateHandler, createToolRouter, defineSubagent, defineSubagentWorkflow, defineTool, defineWorkflow, editTool, formatVirtualFileTree, getShortId, globTool, grepTool, hasNoOtherToolCalls, parseSkillFile, readFileTool, taskCreateTool, taskGetTool, taskListTool, taskUpdateTool, writeFileTool } from './workflow.cjs';
|
|
3
|
-
import { b as SkillProvider, c as SkillMetadata, d as Skill } from './types-
|
|
4
|
-
export { A as AgentResponse, H as Hooks, a as ModelInvoker, M as ModelInvokerConfig, e as PostHumanMessageAppendHook, f as PostHumanMessageAppendHookContext, g as PreHumanMessageAppendHook, h as PreHumanMessageAppendHookContext, P as PrefixedThreadOps, R as RunAgentActivity, i as SandboxInit, j as SandboxShutdown, S as ScopedPrefix, k as SessionConfig, l as SessionEndHook, m as SessionEndHookContext, n as SessionResult, o as SessionStartHook, p as SessionStartHookContext, q as SubagentConfig, r as SubagentDefinition, s as SubagentFnResult, t as SubagentHandlerResponse, u as SubagentHooks, v as SubagentSandboxConfig, w as SubagentSandboxShutdown, x as SubagentSessionInput, y as SubagentWorkflow, z as SubagentWorkflowInput, B as ThreadInit, T as ThreadOps, Z as ZeitlichSession } from './types-
|
|
5
|
-
import { R as RouterContext, g as ToolResultConfig, A as ActivityToolHandler, J as JsonValue, T as ToolHandlerResponse, B as BaseAgentState, f as RunAgentConfig } from './types-
|
|
6
|
-
export { k as AgentConfig, l as AgentFile, m as AgentState, j as AgentStateManager, n as AgentStatus, o as AppendToolResultFn, I as InferToolResults, p as JsonPrimitive, i as JsonSerializable, q as ParsedToolCall, r as ParsedToolCallUnion, s as PostToolUseFailureHook, t as PostToolUseFailureHookContext, c as PostToolUseFailureHookResult, u as PostToolUseHook, v as PostToolUseHookContext, w as PreToolUseHook, x as PreToolUseHookContext, P as PreToolUseHookResult, y as ProcessToolCallsContext, d as RawToolCall, z as SerializableToolDefinition, S as SessionExitReason, C as TaskStatus, e as TokenUsage, D as ToolArgs, E as ToolCallResult, h as ToolCallResultUnion, F as ToolDefinition, G as ToolHandler, H as ToolHooks, a as ToolMap, K as ToolNames, L as ToolResult, M as ToolRouter, b as ToolRouterHooks, N as ToolWithHandler, W as WorkflowTask, O as isTerminalStatus } from './types-
|
|
3
|
+
import { b as SkillProvider, c as SkillMetadata, d as Skill } from './types-BuCEZ4dF.cjs';
|
|
4
|
+
export { A as AgentResponse, H as Hooks, a as ModelInvoker, M as ModelInvokerConfig, e as PostHumanMessageAppendHook, f as PostHumanMessageAppendHookContext, g as PreHumanMessageAppendHook, h as PreHumanMessageAppendHookContext, P as PrefixedThreadOps, R as RunAgentActivity, i as SandboxInit, j as SandboxShutdown, S as ScopedPrefix, k as SessionConfig, l as SessionEndHook, m as SessionEndHookContext, n as SessionResult, o as SessionStartHook, p as SessionStartHookContext, q as SubagentConfig, r as SubagentDefinition, s as SubagentFnResult, t as SubagentHandlerResponse, u as SubagentHooks, v as SubagentSandboxConfig, w as SubagentSandboxShutdown, x as SubagentSessionInput, y as SubagentWorkflow, z as SubagentWorkflowInput, B as ThreadInit, T as ThreadOps, Z as ZeitlichSession } from './types-BuCEZ4dF.cjs';
|
|
5
|
+
import { R as RouterContext, g as ToolResultConfig, A as ActivityToolHandler, J as JsonValue, T as ToolHandlerResponse, B as BaseAgentState, f as RunAgentConfig } from './types-BclYm5Ic.cjs';
|
|
6
|
+
export { k as AgentConfig, l as AgentFile, m as AgentState, j as AgentStateManager, n as AgentStatus, o as AppendToolResultFn, I as InferToolResults, p as JsonPrimitive, i as JsonSerializable, q as ParsedToolCall, r as ParsedToolCallUnion, s as PostToolUseFailureHook, t as PostToolUseFailureHookContext, c as PostToolUseFailureHookResult, u as PostToolUseHook, v as PostToolUseHookContext, w as PreToolUseHook, x as PreToolUseHookContext, P as PreToolUseHookResult, y as ProcessToolCallsContext, d as RawToolCall, z as SerializableToolDefinition, S as SessionExitReason, C as TaskStatus, e as TokenUsage, D as ToolArgs, E as ToolCallResult, h as ToolCallResultUnion, F as ToolDefinition, G as ToolHandler, H as ToolHooks, a as ToolMap, K as ToolNames, L as ToolResult, M as ToolRouter, b as ToolRouterHooks, N as ToolWithHandler, W as WorkflowTask, O as isTerminalStatus } from './types-BclYm5Ic.cjs';
|
|
7
7
|
import { S as Sandbox, a as SandboxFileSystem, d as SandboxCreateOptions, b as SandboxProvider, f as SandboxSnapshot, P as PrefixedSandboxOps, F as FileStat, D as DirentEntry, E as ExecResult } from './types-ChAMwU3q.cjs';
|
|
8
8
|
export { h as ExecOptions, c as SandboxCapabilities, e as SandboxCreateResult, i as SandboxNotFoundError, j as SandboxNotSupportedError, g as SandboxOps } from './types-ChAMwU3q.cjs';
|
|
9
9
|
import { WorkflowClient } from '@temporalio/client';
|
|
10
|
-
export { f as filesWithMimeType, h as hasDirectory, a as hasFileWithMimeType } from './queries-
|
|
11
|
-
export { F as FileEntry, a as FileEntryMetadata, b as FileResolver, T as TreeMutation, e as VirtualFileTree, g as VirtualSandboxState } from './types-
|
|
12
|
-
import {
|
|
13
|
-
export { P as ProviderThreadManager } from './types-
|
|
10
|
+
export { f as filesWithMimeType, h as hasDirectory, a as hasFileWithMimeType } from './queries-DVnukByF.cjs';
|
|
11
|
+
export { F as FileEntry, a as FileEntryMetadata, b as FileResolver, T as TreeMutation, e as VirtualFileTree, g as VirtualSandboxState } from './types-BgsAwN3L.cjs';
|
|
12
|
+
import { a as ThreadManagerConfig, B as BaseThreadManager } from './types-HbjqzyJH.cjs';
|
|
13
|
+
export { P as ProviderThreadManager } from './types-HbjqzyJH.cjs';
|
|
14
14
|
import 'zod';
|
|
15
15
|
import '@temporalio/common';
|
|
16
16
|
import '@temporalio/workflow';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { BashArgs, FileEditArgs, GlobArgs, FileReadArgs, FileWriteArgs } from './workflow.js';
|
|
2
2
|
export { AskUserQuestionArgs, GrepArgs, ReadSkillArgs, SubagentArgs, TaskCreateArgs, TaskGetArgs, TaskListArgs, TaskUpdateArgs, WorkflowConfig, WorkflowInput, WorkflowSessionInput, applyVirtualTreeMutations, askUserQuestionTool, bashTool, createAgentStateManager, createAskUserQuestionHandler, createBashToolDescription, createReadSkillHandler, createReadSkillTool, createSession, createTaskCreateHandler, createTaskGetHandler, createTaskListHandler, createTaskUpdateHandler, createToolRouter, defineSubagent, defineSubagentWorkflow, defineTool, defineWorkflow, editTool, formatVirtualFileTree, getShortId, globTool, grepTool, hasNoOtherToolCalls, parseSkillFile, readFileTool, taskCreateTool, taskGetTool, taskListTool, taskUpdateTool, writeFileTool } from './workflow.js';
|
|
3
|
-
import { b as SkillProvider, c as SkillMetadata, d as Skill } from './types-
|
|
4
|
-
export { A as AgentResponse, H as Hooks, a as ModelInvoker, M as ModelInvokerConfig, e as PostHumanMessageAppendHook, f as PostHumanMessageAppendHookContext, g as PreHumanMessageAppendHook, h as PreHumanMessageAppendHookContext, P as PrefixedThreadOps, R as RunAgentActivity, i as SandboxInit, j as SandboxShutdown, S as ScopedPrefix, k as SessionConfig, l as SessionEndHook, m as SessionEndHookContext, n as SessionResult, o as SessionStartHook, p as SessionStartHookContext, q as SubagentConfig, r as SubagentDefinition, s as SubagentFnResult, t as SubagentHandlerResponse, u as SubagentHooks, v as SubagentSandboxConfig, w as SubagentSandboxShutdown, x as SubagentSessionInput, y as SubagentWorkflow, z as SubagentWorkflowInput, B as ThreadInit, T as ThreadOps, Z as ZeitlichSession } from './types-
|
|
5
|
-
import { R as RouterContext, g as ToolResultConfig, A as ActivityToolHandler, J as JsonValue, T as ToolHandlerResponse, B as BaseAgentState, f as RunAgentConfig } from './types-
|
|
6
|
-
export { k as AgentConfig, l as AgentFile, m as AgentState, j as AgentStateManager, n as AgentStatus, o as AppendToolResultFn, I as InferToolResults, p as JsonPrimitive, i as JsonSerializable, q as ParsedToolCall, r as ParsedToolCallUnion, s as PostToolUseFailureHook, t as PostToolUseFailureHookContext, c as PostToolUseFailureHookResult, u as PostToolUseHook, v as PostToolUseHookContext, w as PreToolUseHook, x as PreToolUseHookContext, P as PreToolUseHookResult, y as ProcessToolCallsContext, d as RawToolCall, z as SerializableToolDefinition, S as SessionExitReason, C as TaskStatus, e as TokenUsage, D as ToolArgs, E as ToolCallResult, h as ToolCallResultUnion, F as ToolDefinition, G as ToolHandler, H as ToolHooks, a as ToolMap, K as ToolNames, L as ToolResult, M as ToolRouter, b as ToolRouterHooks, N as ToolWithHandler, W as WorkflowTask, O as isTerminalStatus } from './types-
|
|
3
|
+
import { b as SkillProvider, c as SkillMetadata, d as Skill } from './types-BtqbM1bO.js';
|
|
4
|
+
export { A as AgentResponse, H as Hooks, a as ModelInvoker, M as ModelInvokerConfig, e as PostHumanMessageAppendHook, f as PostHumanMessageAppendHookContext, g as PreHumanMessageAppendHook, h as PreHumanMessageAppendHookContext, P as PrefixedThreadOps, R as RunAgentActivity, i as SandboxInit, j as SandboxShutdown, S as ScopedPrefix, k as SessionConfig, l as SessionEndHook, m as SessionEndHookContext, n as SessionResult, o as SessionStartHook, p as SessionStartHookContext, q as SubagentConfig, r as SubagentDefinition, s as SubagentFnResult, t as SubagentHandlerResponse, u as SubagentHooks, v as SubagentSandboxConfig, w as SubagentSandboxShutdown, x as SubagentSessionInput, y as SubagentWorkflow, z as SubagentWorkflowInput, B as ThreadInit, T as ThreadOps, Z as ZeitlichSession } from './types-BtqbM1bO.js';
|
|
5
|
+
import { R as RouterContext, g as ToolResultConfig, A as ActivityToolHandler, J as JsonValue, T as ToolHandlerResponse, B as BaseAgentState, f as RunAgentConfig } from './types-BclYm5Ic.js';
|
|
6
|
+
export { k as AgentConfig, l as AgentFile, m as AgentState, j as AgentStateManager, n as AgentStatus, o as AppendToolResultFn, I as InferToolResults, p as JsonPrimitive, i as JsonSerializable, q as ParsedToolCall, r as ParsedToolCallUnion, s as PostToolUseFailureHook, t as PostToolUseFailureHookContext, c as PostToolUseFailureHookResult, u as PostToolUseHook, v as PostToolUseHookContext, w as PreToolUseHook, x as PreToolUseHookContext, P as PreToolUseHookResult, y as ProcessToolCallsContext, d as RawToolCall, z as SerializableToolDefinition, S as SessionExitReason, C as TaskStatus, e as TokenUsage, D as ToolArgs, E as ToolCallResult, h as ToolCallResultUnion, F as ToolDefinition, G as ToolHandler, H as ToolHooks, a as ToolMap, K as ToolNames, L as ToolResult, M as ToolRouter, b as ToolRouterHooks, N as ToolWithHandler, W as WorkflowTask, O as isTerminalStatus } from './types-BclYm5Ic.js';
|
|
7
7
|
import { S as Sandbox, a as SandboxFileSystem, d as SandboxCreateOptions, b as SandboxProvider, f as SandboxSnapshot, P as PrefixedSandboxOps, F as FileStat, D as DirentEntry, E as ExecResult } from './types-ChAMwU3q.js';
|
|
8
8
|
export { h as ExecOptions, c as SandboxCapabilities, e as SandboxCreateResult, i as SandboxNotFoundError, j as SandboxNotSupportedError, g as SandboxOps } from './types-ChAMwU3q.js';
|
|
9
9
|
import { WorkflowClient } from '@temporalio/client';
|
|
10
|
-
export { f as filesWithMimeType, h as hasDirectory, a as hasFileWithMimeType } from './queries-
|
|
11
|
-
export { F as FileEntry, a as FileEntryMetadata, b as FileResolver, T as TreeMutation, e as VirtualFileTree, g as VirtualSandboxState } from './types-
|
|
12
|
-
import {
|
|
13
|
-
export { P as ProviderThreadManager } from './types-
|
|
10
|
+
export { f as filesWithMimeType, h as hasDirectory, a as hasFileWithMimeType } from './queries-kjlvsUfz.js';
|
|
11
|
+
export { F as FileEntry, a as FileEntryMetadata, b as FileResolver, T as TreeMutation, e as VirtualFileTree, g as VirtualSandboxState } from './types-yU5AINiP.js';
|
|
12
|
+
import { a as ThreadManagerConfig, B as BaseThreadManager } from './types-BZ75HpYd.js';
|
|
13
|
+
export { P as ProviderThreadManager } from './types-BZ75HpYd.js';
|
|
14
14
|
import 'zod';
|
|
15
15
|
import '@temporalio/common';
|
|
16
16
|
import '@temporalio/workflow';
|
package/dist/index.js
CHANGED
|
@@ -111,7 +111,7 @@ function createToolRouter(options) {
|
|
|
111
111
|
});
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
|
-
async function processToolCall(toolCall, turn, sandboxId
|
|
114
|
+
async function processToolCall(toolCall, turn, sandboxId) {
|
|
115
115
|
const startTime = Date.now();
|
|
116
116
|
const tool = toolMap.get(toolCall.name);
|
|
117
117
|
const preResult = await runPreHooks(toolCall, tool, turn);
|
|
@@ -140,8 +140,7 @@ function createToolRouter(options) {
|
|
|
140
140
|
...options.threadKey && { threadKey: options.threadKey },
|
|
141
141
|
toolCallId: toolCall.id,
|
|
142
142
|
toolName: toolCall.name,
|
|
143
|
-
...sandboxId !== void 0 && { sandboxId }
|
|
144
|
-
...sandboxStateUpdate && { sandboxStateUpdate }
|
|
143
|
+
...sandboxId !== void 0 && { sandboxId }
|
|
145
144
|
};
|
|
146
145
|
const response = await tool.handler(
|
|
147
146
|
effectiveArgs,
|
|
@@ -235,10 +234,9 @@ function createToolRouter(options) {
|
|
|
235
234
|
}
|
|
236
235
|
const turn = context?.turn ?? 0;
|
|
237
236
|
const sandboxId = context?.sandboxId;
|
|
238
|
-
const sandboxStateUpdate = context?.sandboxStateUpdate;
|
|
239
237
|
if (options.parallel) {
|
|
240
238
|
const results2 = await Promise.all(
|
|
241
|
-
toolCalls.map((tc) => processToolCall(tc, turn, sandboxId
|
|
239
|
+
toolCalls.map((tc) => processToolCall(tc, turn, sandboxId))
|
|
242
240
|
);
|
|
243
241
|
return results2.filter(
|
|
244
242
|
(r) => r !== null
|
|
@@ -246,7 +244,7 @@ function createToolRouter(options) {
|
|
|
246
244
|
}
|
|
247
245
|
const results = [];
|
|
248
246
|
for (const toolCall of toolCalls) {
|
|
249
|
-
const result = await processToolCall(toolCall, turn, sandboxId
|
|
247
|
+
const result = await processToolCall(toolCall, turn, sandboxId);
|
|
250
248
|
if (result !== null) {
|
|
251
249
|
results.push(result);
|
|
252
250
|
}
|
|
@@ -382,7 +380,7 @@ function resolveSandboxConfig(config) {
|
|
|
382
380
|
if (config === "own") return { source: "own" };
|
|
383
381
|
return { source: "own", shutdown: config.shutdown };
|
|
384
382
|
}
|
|
385
|
-
function createSubagentHandler(subagents) {
|
|
383
|
+
function createSubagentHandler(subagents, options) {
|
|
386
384
|
const { taskQueue: parentTaskQueue } = workflowInfo();
|
|
387
385
|
const childResults = /* @__PURE__ */ new Map();
|
|
388
386
|
const pendingDestroys = /* @__PURE__ */ new Map();
|
|
@@ -414,10 +412,11 @@ function createSubagentHandler(subagents) {
|
|
|
414
412
|
}
|
|
415
413
|
let sandbox;
|
|
416
414
|
if (sandboxCfg.source === "inherit" && parentSandboxId) {
|
|
415
|
+
const stateUpdate = options?.getSandboxStateForInheritance?.();
|
|
417
416
|
sandbox = {
|
|
418
417
|
mode: "inherit",
|
|
419
418
|
sandboxId: parentSandboxId,
|
|
420
|
-
...
|
|
419
|
+
...stateUpdate && { stateUpdate }
|
|
421
420
|
};
|
|
422
421
|
} else if (sandboxCfg.source === "own") {
|
|
423
422
|
const prevSbId = continuationThreadId ? threadSandboxes.get(continuationThreadId) : void 0;
|
|
@@ -522,7 +521,7 @@ function createSubagentHandler(subagents) {
|
|
|
522
521
|
}
|
|
523
522
|
|
|
524
523
|
// src/lib/subagent/register.ts
|
|
525
|
-
function buildSubagentRegistration(subagents) {
|
|
524
|
+
function buildSubagentRegistration(subagents, options) {
|
|
526
525
|
if (subagents.length === 0) return null;
|
|
527
526
|
const getEnabled = () => subagents.filter(
|
|
528
527
|
(s) => typeof s.enabled === "function" ? s.enabled() : s.enabled ?? true
|
|
@@ -532,7 +531,9 @@ function buildSubagentRegistration(subagents) {
|
|
|
532
531
|
if (s.hooks) subagentHooksMap.set(s.agentName, s.hooks);
|
|
533
532
|
}
|
|
534
533
|
const resolveSubagentName = (args) => args.subagent;
|
|
535
|
-
const { handler, destroySubagentSandboxes } = createSubagentHandler(subagents
|
|
534
|
+
const { handler, destroySubagentSandboxes } = createSubagentHandler(subagents, {
|
|
535
|
+
getSandboxStateForInheritance: options?.getSandboxStateForInheritance
|
|
536
|
+
});
|
|
536
537
|
const registration = {
|
|
537
538
|
name: SUBAGENT_TOOL_NAME,
|
|
538
539
|
enabled: () => getEnabled().length > 0,
|
|
@@ -697,8 +698,11 @@ async function createSession({
|
|
|
697
698
|
} = threadOps;
|
|
698
699
|
const plugins = [];
|
|
699
700
|
let destroySubagentSandboxes;
|
|
701
|
+
let sandboxStateGetter;
|
|
700
702
|
if (subagents) {
|
|
701
|
-
const result = buildSubagentRegistration(subagents
|
|
703
|
+
const result = buildSubagentRegistration(subagents, {
|
|
704
|
+
getSandboxStateForInheritance: () => sandboxStateGetter?.()
|
|
705
|
+
});
|
|
702
706
|
if (result) {
|
|
703
707
|
plugins.push(result.registration);
|
|
704
708
|
destroySubagentSandboxes = result.destroySubagentSandboxes;
|
|
@@ -754,12 +758,21 @@ async function createSession({
|
|
|
754
758
|
const sandboxMode = sandboxInit?.mode;
|
|
755
759
|
let sandboxId;
|
|
756
760
|
let sandboxOwned = false;
|
|
757
|
-
|
|
761
|
+
sandboxStateGetter = () => {
|
|
762
|
+
const fileTree = stateManager.get("fileTree");
|
|
763
|
+
const resolverContext = stateManager.get("resolverContext");
|
|
764
|
+
const workspaceBase = stateManager.get("workspaceBase");
|
|
765
|
+
if (!fileTree && !resolverContext && !workspaceBase) return void 0;
|
|
766
|
+
return {
|
|
767
|
+
...fileTree !== void 0 && { fileTree },
|
|
768
|
+
...resolverContext !== void 0 && { resolverContext },
|
|
769
|
+
...workspaceBase !== void 0 && { workspaceBase }
|
|
770
|
+
};
|
|
771
|
+
};
|
|
758
772
|
if (sandboxMode === "inherit") {
|
|
759
773
|
const inheritInit = sandboxInit;
|
|
760
774
|
sandboxId = inheritInit.sandboxId;
|
|
761
775
|
if (inheritInit.stateUpdate) {
|
|
762
|
-
sandboxStateUpdate = inheritInit.stateUpdate;
|
|
763
776
|
stateManager.mergeUpdate(inheritInit.stateUpdate);
|
|
764
777
|
}
|
|
765
778
|
if (!sandboxOps) {
|
|
@@ -796,7 +809,6 @@ async function createSession({
|
|
|
796
809
|
sandboxId = result.sandboxId;
|
|
797
810
|
sandboxOwned = true;
|
|
798
811
|
if (result.stateUpdate) {
|
|
799
|
-
sandboxStateUpdate = result.stateUpdate;
|
|
800
812
|
stateManager.mergeUpdate(result.stateUpdate);
|
|
801
813
|
}
|
|
802
814
|
}
|
|
@@ -870,8 +882,7 @@ async function createSession({
|
|
|
870
882
|
parsedToolCalls,
|
|
871
883
|
{
|
|
872
884
|
turn: currentTurn,
|
|
873
|
-
...sandboxId !== void 0 && { sandboxId }
|
|
874
|
-
...sandboxStateUpdate && { sandboxStateUpdate }
|
|
885
|
+
...sandboxId !== void 0 && { sandboxId }
|
|
875
886
|
}
|
|
876
887
|
);
|
|
877
888
|
for (const result of toolCallResults) {
|