zeitlich 0.2.48 → 0.2.49

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 (46) hide show
  1. package/dist/{activities-BlQR5gX4.d.cts → activities-7OcT_vdR.d.cts} +3 -3
  2. package/dist/{activities-DCaIPQBT.d.ts → activities-zG_FBoY2.d.ts} +3 -3
  3. package/dist/adapters/thread/anthropic/index.d.cts +5 -5
  4. package/dist/adapters/thread/anthropic/index.d.ts +5 -5
  5. package/dist/adapters/thread/anthropic/workflow.d.cts +5 -5
  6. package/dist/adapters/thread/anthropic/workflow.d.ts +5 -5
  7. package/dist/adapters/thread/google-genai/index.d.cts +5 -5
  8. package/dist/adapters/thread/google-genai/index.d.ts +5 -5
  9. package/dist/adapters/thread/google-genai/workflow.d.cts +6 -6
  10. package/dist/adapters/thread/google-genai/workflow.d.ts +6 -6
  11. package/dist/adapters/thread/langchain/index.d.cts +5 -5
  12. package/dist/adapters/thread/langchain/index.d.ts +5 -5
  13. package/dist/adapters/thread/langchain/workflow.d.cts +5 -5
  14. package/dist/adapters/thread/langchain/workflow.d.ts +5 -5
  15. package/dist/{cold-store-UL13Sstw.d.cts → cold-store-CkWoNtMh.d.cts} +1 -1
  16. package/dist/{cold-store-aD4TSKlU.d.ts → cold-store-DKMAO1Dd.d.ts} +1 -1
  17. package/dist/index.cjs +33 -5
  18. package/dist/index.cjs.map +1 -1
  19. package/dist/index.d.cts +8 -8
  20. package/dist/index.d.ts +8 -8
  21. package/dist/index.js +33 -5
  22. package/dist/index.js.map +1 -1
  23. package/dist/{proxy-BAty3CWM.d.cts → proxy-B7CWEV-T.d.cts} +1 -1
  24. package/dist/{proxy-mbnwBhHw.d.ts → proxy-ByFHMVRX.d.ts} +1 -1
  25. package/dist/{thread-manager-DtEtbUkp.d.ts → thread-manager-7AW4rhfu.d.ts} +2 -2
  26. package/dist/{thread-manager-R6c3lnJy.d.cts → thread-manager-B9rtMEVn.d.cts} +2 -2
  27. package/dist/{thread-manager-DsXvJ5cJ.d.cts → thread-manager-Cibe0X5m.d.cts} +2 -2
  28. package/dist/{thread-manager-CICj68PI.d.ts → thread-manager-nK-WcFzM.d.ts} +2 -2
  29. package/dist/{types-DDLPnxBh.d.cts → types-BR-k7h0e.d.cts} +1 -1
  30. package/dist/{types-DF4wzWQG.d.ts → types-DO4Tkwxo.d.ts} +1 -1
  31. package/dist/{types-DwBYd0ij.d.ts → types-DeVNWqlb.d.ts} +23 -0
  32. package/dist/{types-DWeyCTYK.d.cts → types-XUUFvrJ9.d.cts} +23 -0
  33. package/dist/{workflow-DVNPR7eX.d.cts → workflow-KbGsxpfh.d.cts} +1 -1
  34. package/dist/{workflow-DdaU7_j4.d.ts → workflow-uhOIj9D-.d.ts} +1 -1
  35. package/dist/workflow.cjs +33 -5
  36. package/dist/workflow.cjs.map +1 -1
  37. package/dist/workflow.d.cts +2 -2
  38. package/dist/workflow.d.ts +2 -2
  39. package/dist/workflow.js +33 -5
  40. package/dist/workflow.js.map +1 -1
  41. package/package.json +1 -1
  42. package/src/lib/session/session.ts +11 -0
  43. package/src/lib/subagent/handler.ts +23 -0
  44. package/src/lib/subagent/subagent.integration.test.ts +198 -0
  45. package/src/lib/tool-router/router.ts +11 -3
  46. package/src/lib/tool-router/types.ts +23 -0
package/dist/index.d.cts CHANGED
@@ -1,14 +1,14 @@
1
- import { B as BashArgs, F as FileEditArgs, a as FileMultiEditArgs, G as GlobArgs, b as FileReadArgs, c as FileWriteArgs } from './workflow-DVNPR7eX.cjs';
2
- export { A as AskUserQuestionArgs, D as DEFAULT_SUBAGENT_WORKFLOW_RUN_TIMEOUT, d as FileTreeAccessor, e as GrepArgs, O as ObservabilityHooks, R as ReadSkillArgs, S as SessionEndedEvent, f as SessionStartedEvent, g as SubagentArgs, T as THREAD_TTL_SECONDS, h as TaskCreateArgs, i as TaskGetArgs, j as TaskListArgs, k as TaskUpdateArgs, l as ToolExecutedEvent, m as TurnCompletedEvent, W as WorkflowConfig, n as WorkflowInput, o as WorkflowSessionInput, Z as ZeitlichObservabilitySinks, p as applyVirtualTreeMutations, q as askUserQuestionTool, r as bashTool, s as composeHooks, t as createAgentStateManager, u as createAskUserQuestionHandler, v as createBashToolDescription, w as createObservabilityHooks, x as createReadSkillHandler, y as createReadSkillTool, z as createSession, C as createTaskCreateHandler, E as createTaskGetHandler, H as createTaskListHandler, I as createTaskUpdateHandler, J as createToolRouter, K as defineSubagent, L as defineSubagentWorkflow, M as defineTool, N as defineWorkflow, P as editTool, Q as filesWithMimeType, U as formatVirtualFileTree, V as getShortId, X as getThreadDedupKey, Y as getThreadListKey, _ as getThreadMetaKey, $ as getThreadStateKey, a0 as globTool, a1 as grepTool, a2 as hasDirectory, a3 as hasFileWithMimeType, a4 as hasNoOtherToolCalls, a5 as multiEditTool, a6 as parseSkillFile, a7 as proxyRunAgent, a8 as proxyVirtualFsOps, a9 as readFileTool, aa as taskCreateTool, ab as taskGetTool, ac as taskListTool, ad as taskUpdateTool, ae as writeFileTool } from './workflow-DVNPR7eX.cjs';
3
- import { R as RouterContext, e as ToolResultConfig, d as ActivityToolHandler, J as JsonValue, c as ToolHandlerResponse, B as BaseAgentState, f as RunAgentConfig, g as SkillProvider, h as SkillMetadata, i as Skill, F as FileEntryMetadata, j as FileResolver, V as VirtualFsContext, k as TreeMutation, l as PrefixedVirtualFsOps } from './types-DWeyCTYK.cjs';
4
- export { m as AgentConfig, n as AgentFile, A as AgentResponse, o as AgentState, p as AgentStateManager, q as AgentStatus, r as AppendToolResultFn, s as FileEntry, H as Hooks, I as InferToolResults, t as JsonPrimitive, u as JsonSerializable, a as ModelInvoker, M as ModelInvokerConfig, v as ParsedToolCall, w as ParsedToolCallUnion, P as PersistedThreadState, x as PostHumanMessageAppendHook, y as PostHumanMessageAppendHookContext, z as PostToolUseFailureHook, C as PostToolUseFailureHookContext, D as PostToolUseFailureHookResult, E as PostToolUseHook, G as PostToolUseHookContext, K as PreHumanMessageAppendHook, L as PreHumanMessageAppendHookContext, N as PreToolUseHook, O as PreToolUseHookContext, Q as PreToolUseHookResult, b as PrefixedThreadOps, U as ProcessToolCallsContext, W as ProcessToolCallsResult, X as RawToolCall, Y as RewindSignal, Z as RunAgentActivity, _ as SandboxInit, $ as SandboxShutdown, S as ScopedPrefix, a0 as SerializableToolDefinition, a1 as SessionConfig, a2 as SessionEndHook, a3 as SessionEndHookContext, a4 as SessionExitReason, a5 as SessionRequiredCaps, a6 as SessionResult, a7 as SessionStartHook, a8 as SessionStartHookContext, a9 as SubagentChildWorkflowOptions, aa as SubagentConfig, ab as SubagentContinuationCaps, ac as SubagentDefinition, ad as SubagentFnResult, ae as SubagentHandlerResponse, af as SubagentHooks, ag as SubagentSandboxConfig, ah as SubagentSandboxShutdown, ai as SubagentSessionInput, aj as SubagentWorkflow, ak as SubagentWorkflowInput, al as TaskStatus, am as ThreadInit, T as ThreadOps, an as TokenUsage, ao as ToolArgs, ap as ToolCallResult, aq as ToolCallResultUnion, ar as ToolDefinition, as as ToolHandler, at as ToolHooks, au as ToolMap, av as ToolNames, aw as ToolResult, ax as ToolRouter, ay as ToolRouterHooks, az as ToolWithHandler, aA as VirtualFileSystem, aB as VirtualFileTree, aC as VirtualFsOps, aD as VirtualFsState, aE as WorkflowTask, aF as ZeitlichSession, aG as isTerminalStatus } from './types-DWeyCTYK.cjs';
1
+ import { B as BashArgs, F as FileEditArgs, a as FileMultiEditArgs, G as GlobArgs, b as FileReadArgs, c as FileWriteArgs } from './workflow-KbGsxpfh.cjs';
2
+ export { A as AskUserQuestionArgs, D as DEFAULT_SUBAGENT_WORKFLOW_RUN_TIMEOUT, d as FileTreeAccessor, e as GrepArgs, O as ObservabilityHooks, R as ReadSkillArgs, S as SessionEndedEvent, f as SessionStartedEvent, g as SubagentArgs, T as THREAD_TTL_SECONDS, h as TaskCreateArgs, i as TaskGetArgs, j as TaskListArgs, k as TaskUpdateArgs, l as ToolExecutedEvent, m as TurnCompletedEvent, W as WorkflowConfig, n as WorkflowInput, o as WorkflowSessionInput, Z as ZeitlichObservabilitySinks, p as applyVirtualTreeMutations, q as askUserQuestionTool, r as bashTool, s as composeHooks, t as createAgentStateManager, u as createAskUserQuestionHandler, v as createBashToolDescription, w as createObservabilityHooks, x as createReadSkillHandler, y as createReadSkillTool, z as createSession, C as createTaskCreateHandler, E as createTaskGetHandler, H as createTaskListHandler, I as createTaskUpdateHandler, J as createToolRouter, K as defineSubagent, L as defineSubagentWorkflow, M as defineTool, N as defineWorkflow, P as editTool, Q as filesWithMimeType, U as formatVirtualFileTree, V as getShortId, X as getThreadDedupKey, Y as getThreadListKey, _ as getThreadMetaKey, $ as getThreadStateKey, a0 as globTool, a1 as grepTool, a2 as hasDirectory, a3 as hasFileWithMimeType, a4 as hasNoOtherToolCalls, a5 as multiEditTool, a6 as parseSkillFile, a7 as proxyRunAgent, a8 as proxyVirtualFsOps, a9 as readFileTool, aa as taskCreateTool, ab as taskGetTool, ac as taskListTool, ad as taskUpdateTool, ae as writeFileTool } from './workflow-KbGsxpfh.cjs';
3
+ import { R as RouterContext, e as ToolResultConfig, d as ActivityToolHandler, J as JsonValue, c as ToolHandlerResponse, B as BaseAgentState, f as RunAgentConfig, g as SkillProvider, h as SkillMetadata, i as Skill, F as FileEntryMetadata, j as FileResolver, V as VirtualFsContext, k as TreeMutation, l as PrefixedVirtualFsOps } from './types-XUUFvrJ9.cjs';
4
+ export { m as AgentConfig, n as AgentFile, A as AgentResponse, o as AgentState, p as AgentStateManager, q as AgentStatus, r as AppendToolResultFn, s as FileEntry, H as Hooks, I as InferToolResults, t as JsonPrimitive, u as JsonSerializable, a as ModelInvoker, M as ModelInvokerConfig, v as ParsedToolCall, w as ParsedToolCallUnion, P as PersistedThreadState, x as PostHumanMessageAppendHook, y as PostHumanMessageAppendHookContext, z as PostToolUseFailureHook, C as PostToolUseFailureHookContext, D as PostToolUseFailureHookResult, E as PostToolUseHook, G as PostToolUseHookContext, K as PreHumanMessageAppendHook, L as PreHumanMessageAppendHookContext, N as PreToolUseHook, O as PreToolUseHookContext, Q as PreToolUseHookResult, b as PrefixedThreadOps, U as ProcessToolCallsContext, W as ProcessToolCallsResult, X as RawToolCall, Y as RewindSignal, Z as RunAgentActivity, _ as SandboxInit, $ as SandboxShutdown, S as ScopedPrefix, a0 as SerializableToolDefinition, a1 as SessionConfig, a2 as SessionEndHook, a3 as SessionEndHookContext, a4 as SessionExitReason, a5 as SessionRequiredCaps, a6 as SessionResult, a7 as SessionStartHook, a8 as SessionStartHookContext, a9 as SubagentChildWorkflowOptions, aa as SubagentConfig, ab as SubagentContinuationCaps, ac as SubagentDefinition, ad as SubagentFnResult, ae as SubagentHandlerResponse, af as SubagentHooks, ag as SubagentSandboxConfig, ah as SubagentSandboxShutdown, ai as SubagentSessionInput, aj as SubagentWorkflow, ak as SubagentWorkflowInput, al as TaskStatus, am as ThreadInit, T as ThreadOps, an as TokenUsage, ao as ToolArgs, ap as ToolCallResult, aq as ToolCallResultUnion, ar as ToolDefinition, as as ToolHandler, at as ToolHooks, au as ToolMap, av as ToolNames, aw as ToolResult, ax as ToolRouter, ay as ToolRouterHooks, az as ToolWithHandler, aA as VirtualFileSystem, aB as VirtualFileTree, aC as VirtualFsOps, aD as VirtualFsState, aE as WorkflowTask, aF as ZeitlichSession, aG as isTerminalStatus } from './types-XUUFvrJ9.cjs';
5
5
  import { b as Sandbox, c as SandboxFileSystem, a as SandboxCreateOptions, h as SandboxCapability, d as SandboxProvider, g as SandboxSnapshot, P as PrefixedSandboxOps, F as FileStat, D as DirentEntry, E as ExecResult } from './types-CJ7tCdl6.cjs';
6
6
  export { i as ExecOptions, e as SandboxCapabilities, f as SandboxCreateResult, j as SandboxNotFoundError, k as SandboxNotSupportedError, S as SandboxOps } from './types-CJ7tCdl6.cjs';
7
7
  import { WorkflowClient } from '@temporalio/client';
8
- import { a as ThreadManagerConfig, B as BaseThreadManager } from './types-DDLPnxBh.cjs';
9
- export { P as ProviderThreadManager } from './types-DDLPnxBh.cjs';
10
- import { C as ColdThreadStore, T as ThreadSnapshot } from './cold-store-UL13Sstw.cjs';
11
- export { S as S3ColdStoreConfig, a as S3LikeClient, c as createS3ColdStore } from './cold-store-UL13Sstw.cjs';
8
+ import { a as ThreadManagerConfig, B as BaseThreadManager } from './types-BR-k7h0e.cjs';
9
+ export { P as ProviderThreadManager } from './types-BR-k7h0e.cjs';
10
+ import { C as ColdThreadStore, T as ThreadSnapshot } from './cold-store-CkWoNtMh.cjs';
11
+ export { S as S3ColdStoreConfig, a as S3LikeClient, c as createS3ColdStore } from './cold-store-CkWoNtMh.cjs';
12
12
  import Redis from 'ioredis';
13
13
  import 'zod';
14
14
  import '@temporalio/common';
package/dist/index.d.ts CHANGED
@@ -1,14 +1,14 @@
1
- import { B as BashArgs, F as FileEditArgs, a as FileMultiEditArgs, G as GlobArgs, b as FileReadArgs, c as FileWriteArgs } from './workflow-DdaU7_j4.js';
2
- export { A as AskUserQuestionArgs, D as DEFAULT_SUBAGENT_WORKFLOW_RUN_TIMEOUT, d as FileTreeAccessor, e as GrepArgs, O as ObservabilityHooks, R as ReadSkillArgs, S as SessionEndedEvent, f as SessionStartedEvent, g as SubagentArgs, T as THREAD_TTL_SECONDS, h as TaskCreateArgs, i as TaskGetArgs, j as TaskListArgs, k as TaskUpdateArgs, l as ToolExecutedEvent, m as TurnCompletedEvent, W as WorkflowConfig, n as WorkflowInput, o as WorkflowSessionInput, Z as ZeitlichObservabilitySinks, p as applyVirtualTreeMutations, q as askUserQuestionTool, r as bashTool, s as composeHooks, t as createAgentStateManager, u as createAskUserQuestionHandler, v as createBashToolDescription, w as createObservabilityHooks, x as createReadSkillHandler, y as createReadSkillTool, z as createSession, C as createTaskCreateHandler, E as createTaskGetHandler, H as createTaskListHandler, I as createTaskUpdateHandler, J as createToolRouter, K as defineSubagent, L as defineSubagentWorkflow, M as defineTool, N as defineWorkflow, P as editTool, Q as filesWithMimeType, U as formatVirtualFileTree, V as getShortId, X as getThreadDedupKey, Y as getThreadListKey, _ as getThreadMetaKey, $ as getThreadStateKey, a0 as globTool, a1 as grepTool, a2 as hasDirectory, a3 as hasFileWithMimeType, a4 as hasNoOtherToolCalls, a5 as multiEditTool, a6 as parseSkillFile, a7 as proxyRunAgent, a8 as proxyVirtualFsOps, a9 as readFileTool, aa as taskCreateTool, ab as taskGetTool, ac as taskListTool, ad as taskUpdateTool, ae as writeFileTool } from './workflow-DdaU7_j4.js';
3
- import { R as RouterContext, e as ToolResultConfig, d as ActivityToolHandler, J as JsonValue, c as ToolHandlerResponse, B as BaseAgentState, f as RunAgentConfig, g as SkillProvider, h as SkillMetadata, i as Skill, F as FileEntryMetadata, j as FileResolver, V as VirtualFsContext, k as TreeMutation, l as PrefixedVirtualFsOps } from './types-DwBYd0ij.js';
4
- export { m as AgentConfig, n as AgentFile, A as AgentResponse, o as AgentState, p as AgentStateManager, q as AgentStatus, r as AppendToolResultFn, s as FileEntry, H as Hooks, I as InferToolResults, t as JsonPrimitive, u as JsonSerializable, a as ModelInvoker, M as ModelInvokerConfig, v as ParsedToolCall, w as ParsedToolCallUnion, P as PersistedThreadState, x as PostHumanMessageAppendHook, y as PostHumanMessageAppendHookContext, z as PostToolUseFailureHook, C as PostToolUseFailureHookContext, D as PostToolUseFailureHookResult, E as PostToolUseHook, G as PostToolUseHookContext, K as PreHumanMessageAppendHook, L as PreHumanMessageAppendHookContext, N as PreToolUseHook, O as PreToolUseHookContext, Q as PreToolUseHookResult, b as PrefixedThreadOps, U as ProcessToolCallsContext, W as ProcessToolCallsResult, X as RawToolCall, Y as RewindSignal, Z as RunAgentActivity, _ as SandboxInit, $ as SandboxShutdown, S as ScopedPrefix, a0 as SerializableToolDefinition, a1 as SessionConfig, a2 as SessionEndHook, a3 as SessionEndHookContext, a4 as SessionExitReason, a5 as SessionRequiredCaps, a6 as SessionResult, a7 as SessionStartHook, a8 as SessionStartHookContext, a9 as SubagentChildWorkflowOptions, aa as SubagentConfig, ab as SubagentContinuationCaps, ac as SubagentDefinition, ad as SubagentFnResult, ae as SubagentHandlerResponse, af as SubagentHooks, ag as SubagentSandboxConfig, ah as SubagentSandboxShutdown, ai as SubagentSessionInput, aj as SubagentWorkflow, ak as SubagentWorkflowInput, al as TaskStatus, am as ThreadInit, T as ThreadOps, an as TokenUsage, ao as ToolArgs, ap as ToolCallResult, aq as ToolCallResultUnion, ar as ToolDefinition, as as ToolHandler, at as ToolHooks, au as ToolMap, av as ToolNames, aw as ToolResult, ax as ToolRouter, ay as ToolRouterHooks, az as ToolWithHandler, aA as VirtualFileSystem, aB as VirtualFileTree, aC as VirtualFsOps, aD as VirtualFsState, aE as WorkflowTask, aF as ZeitlichSession, aG as isTerminalStatus } from './types-DwBYd0ij.js';
1
+ import { B as BashArgs, F as FileEditArgs, a as FileMultiEditArgs, G as GlobArgs, b as FileReadArgs, c as FileWriteArgs } from './workflow-uhOIj9D-.js';
2
+ export { A as AskUserQuestionArgs, D as DEFAULT_SUBAGENT_WORKFLOW_RUN_TIMEOUT, d as FileTreeAccessor, e as GrepArgs, O as ObservabilityHooks, R as ReadSkillArgs, S as SessionEndedEvent, f as SessionStartedEvent, g as SubagentArgs, T as THREAD_TTL_SECONDS, h as TaskCreateArgs, i as TaskGetArgs, j as TaskListArgs, k as TaskUpdateArgs, l as ToolExecutedEvent, m as TurnCompletedEvent, W as WorkflowConfig, n as WorkflowInput, o as WorkflowSessionInput, Z as ZeitlichObservabilitySinks, p as applyVirtualTreeMutations, q as askUserQuestionTool, r as bashTool, s as composeHooks, t as createAgentStateManager, u as createAskUserQuestionHandler, v as createBashToolDescription, w as createObservabilityHooks, x as createReadSkillHandler, y as createReadSkillTool, z as createSession, C as createTaskCreateHandler, E as createTaskGetHandler, H as createTaskListHandler, I as createTaskUpdateHandler, J as createToolRouter, K as defineSubagent, L as defineSubagentWorkflow, M as defineTool, N as defineWorkflow, P as editTool, Q as filesWithMimeType, U as formatVirtualFileTree, V as getShortId, X as getThreadDedupKey, Y as getThreadListKey, _ as getThreadMetaKey, $ as getThreadStateKey, a0 as globTool, a1 as grepTool, a2 as hasDirectory, a3 as hasFileWithMimeType, a4 as hasNoOtherToolCalls, a5 as multiEditTool, a6 as parseSkillFile, a7 as proxyRunAgent, a8 as proxyVirtualFsOps, a9 as readFileTool, aa as taskCreateTool, ab as taskGetTool, ac as taskListTool, ad as taskUpdateTool, ae as writeFileTool } from './workflow-uhOIj9D-.js';
3
+ import { R as RouterContext, e as ToolResultConfig, d as ActivityToolHandler, J as JsonValue, c as ToolHandlerResponse, B as BaseAgentState, f as RunAgentConfig, g as SkillProvider, h as SkillMetadata, i as Skill, F as FileEntryMetadata, j as FileResolver, V as VirtualFsContext, k as TreeMutation, l as PrefixedVirtualFsOps } from './types-DeVNWqlb.js';
4
+ export { m as AgentConfig, n as AgentFile, A as AgentResponse, o as AgentState, p as AgentStateManager, q as AgentStatus, r as AppendToolResultFn, s as FileEntry, H as Hooks, I as InferToolResults, t as JsonPrimitive, u as JsonSerializable, a as ModelInvoker, M as ModelInvokerConfig, v as ParsedToolCall, w as ParsedToolCallUnion, P as PersistedThreadState, x as PostHumanMessageAppendHook, y as PostHumanMessageAppendHookContext, z as PostToolUseFailureHook, C as PostToolUseFailureHookContext, D as PostToolUseFailureHookResult, E as PostToolUseHook, G as PostToolUseHookContext, K as PreHumanMessageAppendHook, L as PreHumanMessageAppendHookContext, N as PreToolUseHook, O as PreToolUseHookContext, Q as PreToolUseHookResult, b as PrefixedThreadOps, U as ProcessToolCallsContext, W as ProcessToolCallsResult, X as RawToolCall, Y as RewindSignal, Z as RunAgentActivity, _ as SandboxInit, $ as SandboxShutdown, S as ScopedPrefix, a0 as SerializableToolDefinition, a1 as SessionConfig, a2 as SessionEndHook, a3 as SessionEndHookContext, a4 as SessionExitReason, a5 as SessionRequiredCaps, a6 as SessionResult, a7 as SessionStartHook, a8 as SessionStartHookContext, a9 as SubagentChildWorkflowOptions, aa as SubagentConfig, ab as SubagentContinuationCaps, ac as SubagentDefinition, ad as SubagentFnResult, ae as SubagentHandlerResponse, af as SubagentHooks, ag as SubagentSandboxConfig, ah as SubagentSandboxShutdown, ai as SubagentSessionInput, aj as SubagentWorkflow, ak as SubagentWorkflowInput, al as TaskStatus, am as ThreadInit, T as ThreadOps, an as TokenUsage, ao as ToolArgs, ap as ToolCallResult, aq as ToolCallResultUnion, ar as ToolDefinition, as as ToolHandler, at as ToolHooks, au as ToolMap, av as ToolNames, aw as ToolResult, ax as ToolRouter, ay as ToolRouterHooks, az as ToolWithHandler, aA as VirtualFileSystem, aB as VirtualFileTree, aC as VirtualFsOps, aD as VirtualFsState, aE as WorkflowTask, aF as ZeitlichSession, aG as isTerminalStatus } from './types-DeVNWqlb.js';
5
5
  import { b as Sandbox, c as SandboxFileSystem, a as SandboxCreateOptions, h as SandboxCapability, d as SandboxProvider, g as SandboxSnapshot, P as PrefixedSandboxOps, F as FileStat, D as DirentEntry, E as ExecResult } from './types-CJ7tCdl6.js';
6
6
  export { i as ExecOptions, e as SandboxCapabilities, f as SandboxCreateResult, j as SandboxNotFoundError, k as SandboxNotSupportedError, S as SandboxOps } from './types-CJ7tCdl6.js';
7
7
  import { WorkflowClient } from '@temporalio/client';
8
- import { a as ThreadManagerConfig, B as BaseThreadManager } from './types-DF4wzWQG.js';
9
- export { P as ProviderThreadManager } from './types-DF4wzWQG.js';
10
- import { C as ColdThreadStore, T as ThreadSnapshot } from './cold-store-aD4TSKlU.js';
11
- export { S as S3ColdStoreConfig, a as S3LikeClient, c as createS3ColdStore } from './cold-store-aD4TSKlU.js';
8
+ import { a as ThreadManagerConfig, B as BaseThreadManager } from './types-DO4Tkwxo.js';
9
+ export { P as ProviderThreadManager } from './types-DO4Tkwxo.js';
10
+ import { C as ColdThreadStore, T as ThreadSnapshot } from './cold-store-DKMAO1Dd.js';
11
+ export { S as S3ColdStoreConfig, a as S3LikeClient, c as createS3ColdStore } from './cold-store-DKMAO1Dd.js';
12
12
  import Redis from 'ioredis';
13
13
  import 'zod';
14
14
  import '@temporalio/common';
package/dist/index.js CHANGED
@@ -125,7 +125,7 @@ function createToolRouter(options) {
125
125
  });
126
126
  }
127
127
  }
128
- async function processToolCall(toolCall, turn, sandboxId, onRewindRequested, assistantMessageId) {
128
+ async function processToolCall(toolCall, turn, sandboxId, onRewindRequested, assistantMessageId, persistThreadState) {
129
129
  const startTime = Date.now();
130
130
  const tool = toolMap.get(toolCall.name);
131
131
  const preResult = await runPreHooks(toolCall, tool, turn);
@@ -161,7 +161,8 @@ function createToolRouter(options) {
161
161
  toolCallId: toolCall.id,
162
162
  toolName: toolCall.name,
163
163
  ...sandboxId !== void 0 && { sandboxId },
164
- ...assistantMessageId !== void 0 && { assistantMessageId }
164
+ ...assistantMessageId !== void 0 && { assistantMessageId },
165
+ ...persistThreadState !== void 0 && { persistThreadState }
165
166
  };
166
167
  const response = await tool.handler(
167
168
  effectiveArgs,
@@ -289,6 +290,7 @@ function createToolRouter(options) {
289
290
  const turn = context?.turn ?? 0;
290
291
  const sandboxId = context?.sandboxId;
291
292
  const assistantMessageId = context?.assistantMessageId;
293
+ const persistThreadState = context?.persistThreadState;
292
294
  let rewindSignal;
293
295
  if (options.parallel) {
294
296
  const scope = new CancellationScope({ cancellable: true });
@@ -306,7 +308,8 @@ function createToolRouter(options) {
306
308
  turn,
307
309
  sandboxId,
308
310
  onRewindRequested,
309
- assistantMessageId
311
+ assistantMessageId,
312
+ persistThreadState
310
313
  )
311
314
  )
312
315
  )
@@ -332,7 +335,8 @@ function createToolRouter(options) {
332
335
  turn,
333
336
  sandboxId,
334
337
  void 0,
335
- assistantMessageId
338
+ assistantMessageId,
339
+ persistThreadState
336
340
  );
337
341
  if (outcome.kind === "rewind") {
338
342
  rewindSignal = outcome.signal;
@@ -360,6 +364,9 @@ function createToolRouter(options) {
360
364
  },
361
365
  ...context?.assistantMessageId !== void 0 && {
362
366
  assistantMessageId: context.assistantMessageId
367
+ },
368
+ ...context?.persistThreadState !== void 0 && {
369
+ persistThreadState: context.persistThreadState
363
370
  }
364
371
  };
365
372
  const response = await handler(
@@ -717,6 +724,17 @@ function createSubagentHandler(subagents) {
717
724
  if (isSnapshotBaseCreator) {
718
725
  snapshotBaseCreatorAgent.set(childWorkflowId, config.agentName);
719
726
  }
727
+ if (continuationThreadId && continuationThreadId === context.threadId && context.persistThreadState) {
728
+ try {
729
+ await context.persistThreadState();
730
+ } catch (err) {
731
+ log.warn("failed to persist parent thread state for subagent", {
732
+ subagent: config.agentName,
733
+ childWorkflowId,
734
+ error: err instanceof Error ? err.message : String(err)
735
+ });
736
+ }
737
+ }
720
738
  log.info("subagent spawned", {
721
739
  subagent: config.agentName,
722
740
  childWorkflowId,
@@ -1352,7 +1370,17 @@ async function createSession(config) {
1352
1370
  ...sandboxId !== void 0 && { sandboxId },
1353
1371
  ...assistantId !== void 0 && {
1354
1372
  assistantMessageId: assistantId
1355
- }
1373
+ },
1374
+ // Hand handlers a way to persist the parent's slice
1375
+ // mid-loop (subagents that fork or continue the parent's
1376
+ // thread need this — otherwise the child loads a stale
1377
+ // snapshot from the prior session, since `saveThreadState`
1378
+ // would otherwise only run in the `finally` below).
1379
+ persistThreadState: () => saveThreadState(
1380
+ threadId,
1381
+ stateManager.getPersistedSlice(),
1382
+ threadKey
1383
+ )
1356
1384
  }
1357
1385
  );
1358
1386
  for (const result of toolCallResults) {