zeitlich 0.2.40 → 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.
Files changed (134) hide show
  1. package/README.md +12 -1
  2. package/dist/{activities-CvUrG3YG.d.cts → activities-Coafq5zr.d.cts} +2 -2
  3. package/dist/{activities-CULxRzJ1.d.ts → activities-CrN-ghLo.d.ts} +2 -2
  4. package/dist/adapters/sandbox/daytona/index.cjs +4 -23
  5. package/dist/adapters/sandbox/daytona/index.cjs.map +1 -1
  6. package/dist/adapters/sandbox/daytona/index.d.cts +18 -86
  7. package/dist/adapters/sandbox/daytona/index.d.ts +18 -86
  8. package/dist/adapters/sandbox/daytona/index.js +4 -23
  9. package/dist/adapters/sandbox/daytona/index.js.map +1 -1
  10. package/dist/adapters/sandbox/daytona/workflow.cjs +1 -7
  11. package/dist/adapters/sandbox/daytona/workflow.cjs.map +1 -1
  12. package/dist/adapters/sandbox/daytona/workflow.d.cts +9 -2
  13. package/dist/adapters/sandbox/daytona/workflow.d.ts +9 -2
  14. package/dist/adapters/sandbox/daytona/workflow.js +1 -7
  15. package/dist/adapters/sandbox/daytona/workflow.js.map +1 -1
  16. package/dist/adapters/sandbox/e2b/index.cjs +21 -3
  17. package/dist/adapters/sandbox/e2b/index.cjs.map +1 -1
  18. package/dist/adapters/sandbox/e2b/index.d.cts +48 -7
  19. package/dist/adapters/sandbox/e2b/index.d.ts +48 -7
  20. package/dist/adapters/sandbox/e2b/index.js +22 -5
  21. package/dist/adapters/sandbox/e2b/index.js.map +1 -1
  22. package/dist/adapters/sandbox/e2b/workflow.cjs.map +1 -1
  23. package/dist/adapters/sandbox/e2b/workflow.d.cts +4 -2
  24. package/dist/adapters/sandbox/e2b/workflow.d.ts +4 -2
  25. package/dist/adapters/sandbox/e2b/workflow.js.map +1 -1
  26. package/dist/adapters/sandbox/inmemory/index.cjs +11 -0
  27. package/dist/adapters/sandbox/inmemory/index.cjs.map +1 -1
  28. package/dist/adapters/sandbox/inmemory/index.d.cts +11 -3
  29. package/dist/adapters/sandbox/inmemory/index.d.ts +11 -3
  30. package/dist/adapters/sandbox/inmemory/index.js +11 -1
  31. package/dist/adapters/sandbox/inmemory/index.js.map +1 -1
  32. package/dist/adapters/sandbox/inmemory/workflow.cjs.map +1 -1
  33. package/dist/adapters/sandbox/inmemory/workflow.d.cts +4 -2
  34. package/dist/adapters/sandbox/inmemory/workflow.d.ts +4 -2
  35. package/dist/adapters/sandbox/inmemory/workflow.js.map +1 -1
  36. package/dist/adapters/thread/anthropic/index.cjs.map +1 -1
  37. package/dist/adapters/thread/anthropic/index.d.cts +6 -6
  38. package/dist/adapters/thread/anthropic/index.d.ts +6 -6
  39. package/dist/adapters/thread/anthropic/index.js.map +1 -1
  40. package/dist/adapters/thread/anthropic/workflow.d.cts +6 -6
  41. package/dist/adapters/thread/anthropic/workflow.d.ts +6 -6
  42. package/dist/adapters/thread/google-genai/index.cjs.map +1 -1
  43. package/dist/adapters/thread/google-genai/index.d.cts +6 -6
  44. package/dist/adapters/thread/google-genai/index.d.ts +6 -6
  45. package/dist/adapters/thread/google-genai/index.js.map +1 -1
  46. package/dist/adapters/thread/google-genai/workflow.d.cts +6 -6
  47. package/dist/adapters/thread/google-genai/workflow.d.ts +6 -6
  48. package/dist/adapters/thread/langchain/index.cjs.map +1 -1
  49. package/dist/adapters/thread/langchain/index.d.cts +6 -6
  50. package/dist/adapters/thread/langchain/index.d.ts +6 -6
  51. package/dist/adapters/thread/langchain/index.js.map +1 -1
  52. package/dist/adapters/thread/langchain/workflow.d.cts +6 -6
  53. package/dist/adapters/thread/langchain/workflow.d.ts +6 -6
  54. package/dist/index.cjs +316 -119
  55. package/dist/index.cjs.map +1 -1
  56. package/dist/index.d.cts +93 -17
  57. package/dist/index.d.ts +93 -17
  58. package/dist/index.js +317 -120
  59. package/dist/index.js.map +1 -1
  60. package/dist/{proxy-5EbwzaY4.d.cts → proxy-Bf7uI-Hw.d.cts} +1 -1
  61. package/dist/{proxy-wZufFfBh.d.ts → proxy-COqA95FW.d.ts} +1 -1
  62. package/dist/{thread-manager-BqBAIsED.d.ts → thread-manager-BhkOyQ1I.d.ts} +2 -2
  63. package/dist/{thread-manager-BNiIt5r8.d.ts → thread-manager-Bi1XlbpJ.d.ts} +2 -2
  64. package/dist/{thread-manager-DF8WuCRs.d.cts → thread-manager-BsLO3Fgc.d.cts} +2 -2
  65. package/dist/{thread-manager-BoN5DOvG.d.cts → thread-manager-wRVVBFgj.d.cts} +2 -2
  66. package/dist/{types-C7OoY7h8.d.ts → types-BkX4HLzi.d.ts} +1 -1
  67. package/dist/{types-CuISs0Ub.d.cts → types-C66-BVBr.d.cts} +1 -1
  68. package/dist/types-CJ7tCdl6.d.cts +266 -0
  69. package/dist/types-CJ7tCdl6.d.ts +266 -0
  70. package/dist/{types-DeQH84C_.d.ts → types-CdALEF3z.d.cts} +342 -23
  71. package/dist/{types-Cn2r3ol3.d.cts → types-ChAy_jSP.d.ts} +342 -23
  72. package/dist/types-CjY93AWZ.d.cts +84 -0
  73. package/dist/types-gVa5XCWD.d.ts +84 -0
  74. package/dist/{workflow-DhplIN65.d.cts → workflow-BwT5EybR.d.ts} +7 -6
  75. package/dist/{workflow-C2MZZj5K.d.ts → workflow-DMmiaw6w.d.cts} +7 -6
  76. package/dist/workflow.cjs +138 -77
  77. package/dist/workflow.cjs.map +1 -1
  78. package/dist/workflow.d.cts +4 -4
  79. package/dist/workflow.d.ts +4 -4
  80. package/dist/workflow.js +139 -78
  81. package/dist/workflow.js.map +1 -1
  82. package/package.json +17 -33
  83. package/src/adapters/sandbox/daytona/index.ts +25 -48
  84. package/src/adapters/sandbox/daytona/proxy.ts +7 -8
  85. package/src/adapters/sandbox/e2b/README.md +81 -0
  86. package/src/adapters/sandbox/e2b/index.ts +53 -11
  87. package/src/adapters/sandbox/e2b/keep-alive.test.ts +115 -0
  88. package/src/adapters/sandbox/e2b/proxy.ts +3 -2
  89. package/src/adapters/sandbox/e2b/types.ts +34 -2
  90. package/src/adapters/sandbox/inmemory/index.ts +21 -1
  91. package/src/adapters/sandbox/inmemory/proxy.ts +7 -3
  92. package/src/index.ts +1 -1
  93. package/src/lib/activity.ts +5 -0
  94. package/src/lib/sandbox/capability-types.test.ts +859 -0
  95. package/src/lib/sandbox/index.ts +1 -0
  96. package/src/lib/sandbox/manager.ts +187 -31
  97. package/src/lib/sandbox/types.ts +189 -46
  98. package/src/lib/session/index.ts +1 -0
  99. package/src/lib/session/session.integration.test.ts +58 -0
  100. package/src/lib/session/session.ts +109 -50
  101. package/src/lib/session/types.ts +189 -8
  102. package/src/lib/subagent/handler.ts +66 -43
  103. package/src/lib/subagent/subagent.integration.test.ts +2 -0
  104. package/src/lib/subagent/types.ts +492 -16
  105. package/src/lib/subagent/workflow.ts +11 -1
  106. package/src/lib/tool-router/auto-append-sandbox.integration.test.ts +158 -0
  107. package/src/lib/tool-router/index.ts +1 -1
  108. package/src/lib/tool-router/with-sandbox.ts +45 -2
  109. package/src/lib/virtual-fs/filesystem.ts +41 -16
  110. package/src/lib/virtual-fs/types.ts +19 -0
  111. package/src/lib/virtual-fs/virtual-fs.test.ts +204 -1
  112. package/src/tools/read-file/handler.test.ts +83 -0
  113. package/src/workflow.ts +3 -0
  114. package/tsup.config.ts +0 -4
  115. package/dist/adapters/sandbox/bedrock/index.cjs +0 -457
  116. package/dist/adapters/sandbox/bedrock/index.cjs.map +0 -1
  117. package/dist/adapters/sandbox/bedrock/index.d.cts +0 -25
  118. package/dist/adapters/sandbox/bedrock/index.d.ts +0 -25
  119. package/dist/adapters/sandbox/bedrock/index.js +0 -454
  120. package/dist/adapters/sandbox/bedrock/index.js.map +0 -1
  121. package/dist/adapters/sandbox/bedrock/workflow.cjs +0 -36
  122. package/dist/adapters/sandbox/bedrock/workflow.cjs.map +0 -1
  123. package/dist/adapters/sandbox/bedrock/workflow.d.cts +0 -29
  124. package/dist/adapters/sandbox/bedrock/workflow.d.ts +0 -29
  125. package/dist/adapters/sandbox/bedrock/workflow.js +0 -34
  126. package/dist/adapters/sandbox/bedrock/workflow.js.map +0 -1
  127. package/dist/types-DAsQ21Rt.d.ts +0 -74
  128. package/dist/types-lm8tMNJQ.d.cts +0 -74
  129. package/dist/types-yx0LzPGn.d.cts +0 -173
  130. package/dist/types-yx0LzPGn.d.ts +0 -173
  131. package/src/adapters/sandbox/bedrock/filesystem.ts +0 -340
  132. package/src/adapters/sandbox/bedrock/index.ts +0 -274
  133. package/src/adapters/sandbox/bedrock/proxy.ts +0 -59
  134. package/src/adapters/sandbox/bedrock/types.ts +0 -24
@@ -1,7 +1,7 @@
1
- export { A as AskUserQuestionArgs, B as BashArgs, D as DEFAULT_SUBAGENT_WORKFLOW_RUN_TIMEOUT, F as FileEditArgs, a as FileReadArgs, b as FileWriteArgs, G as GlobArgs, d as GrepArgs, O as ObservabilityHooks, R as ReadSkillArgs, S as SessionEndedEvent, e as SessionStartedEvent, f as SubagentArgs, T as THREAD_TTL_SECONDS, g as TaskCreateArgs, h as TaskGetArgs, i as TaskListArgs, j as TaskUpdateArgs, k as ToolExecutedEvent, l as TurnCompletedEvent, W as WorkflowConfig, m as WorkflowInput, n as WorkflowSessionInput, Z as ZeitlichObservabilitySinks, o as applyVirtualTreeMutations, p as askUserQuestionTool, q as bashTool, r as composeHooks, s as createAgentStateManager, t as createAskUserQuestionHandler, u as createBashToolDescription, v as createObservabilityHooks, w as createReadSkillHandler, x as createReadSkillTool, y as createSession, z as createTaskCreateHandler, C as createTaskGetHandler, E as createTaskListHandler, H as createTaskUpdateHandler, I as createToolRouter, J as defineSubagent, K as defineSubagentWorkflow, L as defineTool, M as defineWorkflow, N as editTool, P as filesWithMimeType, Q as formatVirtualFileTree, U as getShortId, V as getThreadListKey, X as getThreadMetaKey, Y as globTool, _ as grepTool, $ as hasDirectory, a0 as hasFileWithMimeType, a1 as hasNoOtherToolCalls, a2 as parseSkillFile, a3 as proxyRunAgent, a4 as proxyVirtualFsOps, a5 as readFileTool, a6 as taskCreateTool, a7 as taskGetTool, a8 as taskListTool, a9 as taskUpdateTool, aa as writeFileTool } from './workflow-DhplIN65.cjs';
2
- export { d as ActivityToolHandler, m as AgentConfig, n as AgentFile, A as AgentResponse, o as AgentState, p as AgentStateManager, q as AgentStatus, r as AppendToolResultFn, B as BaseAgentState, s as FileEntry, F as FileEntryMetadata, j as FileResolver, H as Hooks, I as InferToolResults, t as JsonPrimitive, u as JsonSerializable, J as JsonValue, 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, l as PrefixedVirtualFsOps, U as ProcessToolCallsContext, W as ProcessToolCallsResult, X as RawToolCall, Y as RewindSignal, R as RouterContext, Z as RunAgentActivity, f as RunAgentConfig, _ as SandboxInit, $ as SandboxShutdown, S as ScopedPrefix, a0 as SerializableToolDefinition, a1 as SessionConfig, a2 as SessionEndHook, a3 as SessionEndHookContext, a4 as SessionExitReason, a5 as SessionResult, a6 as SessionStartHook, a7 as SessionStartHookContext, i as Skill, h as SkillMetadata, g as SkillProvider, a8 as SubagentChildWorkflowOptions, a9 as SubagentConfig, aa as SubagentDefinition, ab as SubagentFnResult, ac as SubagentHandlerResponse, ad as SubagentHooks, ae as SubagentSandboxConfig, af as SubagentSandboxShutdown, ag as SubagentSessionInput, ah as SubagentWorkflow, ai as SubagentWorkflowInput, aj as TaskStatus, ak as ThreadInit, T as ThreadOps, al as TokenUsage, am as ToolArgs, an as ToolCallResult, ao as ToolCallResultUnion, ap as ToolDefinition, aq as ToolHandler, c as ToolHandlerResponse, ar as ToolHooks, as as ToolMap, at as ToolNames, au as ToolResult, e as ToolResultConfig, av as ToolRouter, aw as ToolRouterHooks, ax as ToolWithHandler, k as TreeMutation, az as VirtualFileTree, aA as VirtualFsOps, aB as VirtualFsState, aC as WorkflowTask, aD as ZeitlichSession, aE as isTerminalStatus } from './types-Cn2r3ol3.cjs';
3
- export { h as ExecOptions, E as ExecResult, P as PrefixedSandboxOps, S as Sandbox, c as SandboxCapabilities, d as SandboxCreateOptions, e as SandboxCreateResult, D as SandboxDirentEntry, F as SandboxFileStat, a as SandboxFileSystem, i as SandboxNotFoundError, j as SandboxNotSupportedError, g as SandboxOps, b as SandboxProvider, f as SandboxSnapshot } from './types-yx0LzPGn.cjs';
1
+ export { A as AskUserQuestionArgs, B as BashArgs, D as DEFAULT_SUBAGENT_WORKFLOW_RUN_TIMEOUT, F as FileEditArgs, a as FileReadArgs, b as FileWriteArgs, G as GlobArgs, d as GrepArgs, O as ObservabilityHooks, R as ReadSkillArgs, S as SessionEndedEvent, e as SessionStartedEvent, f as SubagentArgs, T as THREAD_TTL_SECONDS, g as TaskCreateArgs, h as TaskGetArgs, i as TaskListArgs, j as TaskUpdateArgs, k as ToolExecutedEvent, l as TurnCompletedEvent, W as WorkflowConfig, m as WorkflowInput, n as WorkflowSessionInput, Z as ZeitlichObservabilitySinks, o as applyVirtualTreeMutations, p as askUserQuestionTool, q as bashTool, r as composeHooks, s as createAgentStateManager, t as createAskUserQuestionHandler, u as createBashToolDescription, v as createObservabilityHooks, w as createReadSkillHandler, x as createReadSkillTool, y as createSession, z as createTaskCreateHandler, C as createTaskGetHandler, E as createTaskListHandler, H as createTaskUpdateHandler, I as createToolRouter, J as defineSubagent, K as defineSubagentWorkflow, L as defineTool, M as defineWorkflow, N as editTool, P as filesWithMimeType, Q as formatVirtualFileTree, U as getShortId, V as getThreadListKey, X as getThreadMetaKey, Y as globTool, _ as grepTool, $ as hasDirectory, a0 as hasFileWithMimeType, a1 as hasNoOtherToolCalls, a2 as parseSkillFile, a3 as proxyRunAgent, a4 as proxyVirtualFsOps, a5 as readFileTool, a6 as taskCreateTool, a7 as taskGetTool, a8 as taskListTool, a9 as taskUpdateTool, aa as writeFileTool } from './workflow-DMmiaw6w.cjs';
2
+ export { d as ActivityToolHandler, m as AgentConfig, n as AgentFile, A as AgentResponse, o as AgentState, p as AgentStateManager, q as AgentStatus, r as AppendToolResultFn, B as BaseAgentState, s as FileEntry, F as FileEntryMetadata, j as FileResolver, H as Hooks, I as InferToolResults, t as JsonPrimitive, u as JsonSerializable, J as JsonValue, 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, l as PrefixedVirtualFsOps, U as ProcessToolCallsContext, W as ProcessToolCallsResult, X as RawToolCall, Y as RewindSignal, R as RouterContext, Z as RunAgentActivity, f as RunAgentConfig, _ 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, i as Skill, h as SkillMetadata, g as SkillProvider, 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, c as ToolHandlerResponse, at as ToolHooks, au as ToolMap, av as ToolNames, aw as ToolResult, e as ToolResultConfig, ax as ToolRouter, ay as ToolRouterHooks, az as ToolWithHandler, k as TreeMutation, aB as VirtualFileTree, aC as VirtualFsOps, aD as VirtualFsState, aE as WorkflowTask, aF as ZeitlichSession, aG as isTerminalStatus } from './types-CdALEF3z.cjs';
3
+ export { i as ExecOptions, E as ExecResult, P as PrefixedSandboxOps, b as Sandbox, e as SandboxCapabilities, h as SandboxCapability, a as SandboxCreateOptions, f as SandboxCreateResult, D as SandboxDirentEntry, F as SandboxFileStat, c as SandboxFileSystem, j as SandboxNotFoundError, k as SandboxNotSupportedError, S as SandboxOps, d as SandboxProvider, g as SandboxSnapshot } from './types-CJ7tCdl6.cjs';
4
4
  import 'zod';
5
- import '@temporalio/workflow';
6
5
  import '@temporalio/common';
6
+ import '@temporalio/workflow';
7
7
  import '@temporalio/common/lib/interfaces';
@@ -1,7 +1,7 @@
1
- export { A as AskUserQuestionArgs, B as BashArgs, D as DEFAULT_SUBAGENT_WORKFLOW_RUN_TIMEOUT, F as FileEditArgs, a as FileReadArgs, b as FileWriteArgs, G as GlobArgs, d as GrepArgs, O as ObservabilityHooks, R as ReadSkillArgs, S as SessionEndedEvent, e as SessionStartedEvent, f as SubagentArgs, T as THREAD_TTL_SECONDS, g as TaskCreateArgs, h as TaskGetArgs, i as TaskListArgs, j as TaskUpdateArgs, k as ToolExecutedEvent, l as TurnCompletedEvent, W as WorkflowConfig, m as WorkflowInput, n as WorkflowSessionInput, Z as ZeitlichObservabilitySinks, o as applyVirtualTreeMutations, p as askUserQuestionTool, q as bashTool, r as composeHooks, s as createAgentStateManager, t as createAskUserQuestionHandler, u as createBashToolDescription, v as createObservabilityHooks, w as createReadSkillHandler, x as createReadSkillTool, y as createSession, z as createTaskCreateHandler, C as createTaskGetHandler, E as createTaskListHandler, H as createTaskUpdateHandler, I as createToolRouter, J as defineSubagent, K as defineSubagentWorkflow, L as defineTool, M as defineWorkflow, N as editTool, P as filesWithMimeType, Q as formatVirtualFileTree, U as getShortId, V as getThreadListKey, X as getThreadMetaKey, Y as globTool, _ as grepTool, $ as hasDirectory, a0 as hasFileWithMimeType, a1 as hasNoOtherToolCalls, a2 as parseSkillFile, a3 as proxyRunAgent, a4 as proxyVirtualFsOps, a5 as readFileTool, a6 as taskCreateTool, a7 as taskGetTool, a8 as taskListTool, a9 as taskUpdateTool, aa as writeFileTool } from './workflow-C2MZZj5K.js';
2
- export { d as ActivityToolHandler, m as AgentConfig, n as AgentFile, A as AgentResponse, o as AgentState, p as AgentStateManager, q as AgentStatus, r as AppendToolResultFn, B as BaseAgentState, s as FileEntry, F as FileEntryMetadata, j as FileResolver, H as Hooks, I as InferToolResults, t as JsonPrimitive, u as JsonSerializable, J as JsonValue, 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, l as PrefixedVirtualFsOps, U as ProcessToolCallsContext, W as ProcessToolCallsResult, X as RawToolCall, Y as RewindSignal, R as RouterContext, Z as RunAgentActivity, f as RunAgentConfig, _ as SandboxInit, $ as SandboxShutdown, S as ScopedPrefix, a0 as SerializableToolDefinition, a1 as SessionConfig, a2 as SessionEndHook, a3 as SessionEndHookContext, a4 as SessionExitReason, a5 as SessionResult, a6 as SessionStartHook, a7 as SessionStartHookContext, i as Skill, h as SkillMetadata, g as SkillProvider, a8 as SubagentChildWorkflowOptions, a9 as SubagentConfig, aa as SubagentDefinition, ab as SubagentFnResult, ac as SubagentHandlerResponse, ad as SubagentHooks, ae as SubagentSandboxConfig, af as SubagentSandboxShutdown, ag as SubagentSessionInput, ah as SubagentWorkflow, ai as SubagentWorkflowInput, aj as TaskStatus, ak as ThreadInit, T as ThreadOps, al as TokenUsage, am as ToolArgs, an as ToolCallResult, ao as ToolCallResultUnion, ap as ToolDefinition, aq as ToolHandler, c as ToolHandlerResponse, ar as ToolHooks, as as ToolMap, at as ToolNames, au as ToolResult, e as ToolResultConfig, av as ToolRouter, aw as ToolRouterHooks, ax as ToolWithHandler, k as TreeMutation, az as VirtualFileTree, aA as VirtualFsOps, aB as VirtualFsState, aC as WorkflowTask, aD as ZeitlichSession, aE as isTerminalStatus } from './types-DeQH84C_.js';
3
- export { h as ExecOptions, E as ExecResult, P as PrefixedSandboxOps, S as Sandbox, c as SandboxCapabilities, d as SandboxCreateOptions, e as SandboxCreateResult, D as SandboxDirentEntry, F as SandboxFileStat, a as SandboxFileSystem, i as SandboxNotFoundError, j as SandboxNotSupportedError, g as SandboxOps, b as SandboxProvider, f as SandboxSnapshot } from './types-yx0LzPGn.js';
1
+ export { A as AskUserQuestionArgs, B as BashArgs, D as DEFAULT_SUBAGENT_WORKFLOW_RUN_TIMEOUT, F as FileEditArgs, a as FileReadArgs, b as FileWriteArgs, G as GlobArgs, d as GrepArgs, O as ObservabilityHooks, R as ReadSkillArgs, S as SessionEndedEvent, e as SessionStartedEvent, f as SubagentArgs, T as THREAD_TTL_SECONDS, g as TaskCreateArgs, h as TaskGetArgs, i as TaskListArgs, j as TaskUpdateArgs, k as ToolExecutedEvent, l as TurnCompletedEvent, W as WorkflowConfig, m as WorkflowInput, n as WorkflowSessionInput, Z as ZeitlichObservabilitySinks, o as applyVirtualTreeMutations, p as askUserQuestionTool, q as bashTool, r as composeHooks, s as createAgentStateManager, t as createAskUserQuestionHandler, u as createBashToolDescription, v as createObservabilityHooks, w as createReadSkillHandler, x as createReadSkillTool, y as createSession, z as createTaskCreateHandler, C as createTaskGetHandler, E as createTaskListHandler, H as createTaskUpdateHandler, I as createToolRouter, J as defineSubagent, K as defineSubagentWorkflow, L as defineTool, M as defineWorkflow, N as editTool, P as filesWithMimeType, Q as formatVirtualFileTree, U as getShortId, V as getThreadListKey, X as getThreadMetaKey, Y as globTool, _ as grepTool, $ as hasDirectory, a0 as hasFileWithMimeType, a1 as hasNoOtherToolCalls, a2 as parseSkillFile, a3 as proxyRunAgent, a4 as proxyVirtualFsOps, a5 as readFileTool, a6 as taskCreateTool, a7 as taskGetTool, a8 as taskListTool, a9 as taskUpdateTool, aa as writeFileTool } from './workflow-BwT5EybR.js';
2
+ export { d as ActivityToolHandler, m as AgentConfig, n as AgentFile, A as AgentResponse, o as AgentState, p as AgentStateManager, q as AgentStatus, r as AppendToolResultFn, B as BaseAgentState, s as FileEntry, F as FileEntryMetadata, j as FileResolver, H as Hooks, I as InferToolResults, t as JsonPrimitive, u as JsonSerializable, J as JsonValue, 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, l as PrefixedVirtualFsOps, U as ProcessToolCallsContext, W as ProcessToolCallsResult, X as RawToolCall, Y as RewindSignal, R as RouterContext, Z as RunAgentActivity, f as RunAgentConfig, _ 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, i as Skill, h as SkillMetadata, g as SkillProvider, 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, c as ToolHandlerResponse, at as ToolHooks, au as ToolMap, av as ToolNames, aw as ToolResult, e as ToolResultConfig, ax as ToolRouter, ay as ToolRouterHooks, az as ToolWithHandler, k as TreeMutation, aB as VirtualFileTree, aC as VirtualFsOps, aD as VirtualFsState, aE as WorkflowTask, aF as ZeitlichSession, aG as isTerminalStatus } from './types-ChAy_jSP.js';
3
+ export { i as ExecOptions, E as ExecResult, P as PrefixedSandboxOps, b as Sandbox, e as SandboxCapabilities, h as SandboxCapability, a as SandboxCreateOptions, f as SandboxCreateResult, D as SandboxDirentEntry, F as SandboxFileStat, c as SandboxFileSystem, j as SandboxNotFoundError, k as SandboxNotSupportedError, S as SandboxOps, d as SandboxProvider, g as SandboxSnapshot } from './types-CJ7tCdl6.js';
4
4
  import 'zod';
5
- import '@temporalio/workflow';
6
5
  import '@temporalio/common';
6
+ import '@temporalio/workflow';
7
7
  import '@temporalio/common/lib/interfaces';
package/dist/workflow.js CHANGED
@@ -1,8 +1,18 @@
1
- import { defineSignal, CancellationScope, isCancellation, uuid4, setHandler, defineUpdate, ApplicationFailure, log, condition, defineQuery, proxySinks, workflowInfo, proxyActivities, getExternalWorkflowHandle, executeChild } from '@temporalio/workflow';
1
+ import { defineSignal, CancellationScope, isCancellation, uuid4, setHandler, defineUpdate, ApplicationFailure, log, defineQuery, condition, proxySinks, workflowInfo, proxyActivities, getExternalWorkflowHandle, executeChild } from '@temporalio/workflow';
2
2
  import z14, { z } from 'zod';
3
3
  import { ApplicationFailure as ApplicationFailure$1 } from '@temporalio/common';
4
4
 
5
5
  // src/lib/session/session.ts
6
+
7
+ // src/lib/session/types.ts
8
+ function resolveSessionLifecycle(init, shutdown) {
9
+ const resolvedInit = init ?? { mode: "new" };
10
+ const resolvedShutdown = shutdown ?? "destroy";
11
+ return {
12
+ mode: resolvedInit.mode,
13
+ shutdown: resolvedShutdown
14
+ };
15
+ }
6
16
  function createToolRouter(options) {
7
17
  const { appendToolResult } = options;
8
18
  const toolMap = /* @__PURE__ */ new Map();
@@ -431,6 +441,37 @@ function createSubagentTool(subagents) {
431
441
  schema
432
442
  };
433
443
  }
444
+
445
+ // src/lib/subagent/types.ts
446
+ function isSurvivalShutdown(s) {
447
+ return s === "pause" || s === "pause-until-parent-close" || s === "keep" || s === "keep-until-parent-close";
448
+ }
449
+ function resolveSubagentLifecycle(cfg, isLazyCreator) {
450
+ if (cfg.source !== "own") {
451
+ return {
452
+ shutdownOverride: cfg.shutdown,
453
+ mustSurvive: false
454
+ };
455
+ }
456
+ if (cfg.continuation === "snapshot") {
457
+ return {
458
+ shutdownOverride: "snapshot",
459
+ mustSurvive: false
460
+ };
461
+ }
462
+ const isLazy = cfg.init === "once";
463
+ const mustSurvive = isLazyCreator || cfg.continuation === "continue" || isLazy && cfg.continuation === "fork";
464
+ if (!mustSurvive) {
465
+ return { shutdownOverride: cfg.shutdown, mustSurvive: false };
466
+ }
467
+ if (isSurvivalShutdown(cfg.shutdown)) {
468
+ return { shutdownOverride: cfg.shutdown, mustSurvive };
469
+ }
470
+ return {
471
+ shutdownOverride: isLazyCreator ? "pause-until-parent-close" : "pause",
472
+ mustSurvive
473
+ };
474
+ }
434
475
  var childSandboxReadySignal = defineSignal("childSandboxReady");
435
476
 
436
477
  // src/lib/subagent/handler.ts
@@ -456,10 +497,18 @@ function resolveSandboxConfig(config) {
456
497
  }
457
498
  function createSubagentHandler(subagents) {
458
499
  const { taskQueue: parentTaskQueue } = workflowInfo();
459
- const agentSandboxOps = /* @__PURE__ */ new Map();
500
+ const agentDestroyOps = /* @__PURE__ */ new Map();
501
+ const agentDeleteSnapshotOps = /* @__PURE__ */ new Map();
460
502
  for (const cfg of subagents) {
461
- if (cfg.sandbox && cfg.sandbox !== "none") {
462
- agentSandboxOps.set(cfg.agentName, cfg.sandbox.proxy(cfg.agentName));
503
+ const cfgSandbox = cfg.sandbox;
504
+ if (!cfgSandbox || cfgSandbox === "none") continue;
505
+ if (cfgSandbox.continuation === "snapshot") {
506
+ const proxy = cfgSandbox.proxy(cfg.agentName);
507
+ agentDestroyOps.set(cfg.agentName, proxy);
508
+ agentDeleteSnapshotOps.set(cfg.agentName, proxy);
509
+ } else {
510
+ const proxy = cfgSandbox.proxy(cfg.agentName);
511
+ agentDestroyOps.set(cfg.agentName, proxy);
463
512
  }
464
513
  }
465
514
  const pendingDestroys = /* @__PURE__ */ new Map();
@@ -498,7 +547,7 @@ function createSubagentHandler(subagents) {
498
547
  const childWorkflowId = `${args.subagent}-${getShortId()}`;
499
548
  const { sandboxId: parentSandboxId } = context;
500
549
  const sandboxCfg = resolveSandboxConfig(config.sandbox);
501
- if (sandboxCfg.source !== "none" && !agentSandboxOps.has(config.agentName)) {
550
+ if (sandboxCfg.source !== "none" && !agentDestroyOps.has(config.agentName)) {
502
551
  throw ApplicationFailure.create({
503
552
  message: `Subagent "${config.agentName}" uses a sandbox but no \`sandbox.proxy\` is configured on its SubagentConfig`,
504
553
  nonRetryable: true
@@ -566,7 +615,6 @@ function createSubagentHandler(subagents) {
566
615
  if (baseSnap) {
567
616
  sandbox = { mode: "from-snapshot", snapshot: baseSnap };
568
617
  }
569
- sandboxShutdownOverride = "snapshot";
570
618
  } else if (sandboxCfg.source === "own") {
571
619
  const isLazy = sandboxCfg.init === "once";
572
620
  let baseSandboxId;
@@ -602,12 +650,10 @@ function createSubagentHandler(subagents) {
602
650
  sandboxId: baseSandboxId
603
651
  };
604
652
  }
605
- const userShutdown = sandboxCfg.shutdown;
606
- const alreadySurvives = userShutdown === "pause-until-parent-close" || userShutdown === "keep-until-parent-close" || userShutdown === "pause" || userShutdown === "keep";
607
- const mustSurvive = isLazyCreator || sandboxCfg.continuation === "continue" || isLazy && sandboxCfg.continuation === "fork";
608
- if (mustSurvive && !alreadySurvives) {
609
- sandboxShutdownOverride = isLazyCreator ? "pause-until-parent-close" : "pause";
610
- }
653
+ }
654
+ {
655
+ const lifecycle = resolveSubagentLifecycle(sandboxCfg, isLazyCreator);
656
+ sandboxShutdownOverride = lifecycle.shutdownOverride;
611
657
  }
612
658
  const workflowInput = {
613
659
  ...thread && { thread },
@@ -752,7 +798,7 @@ function createSubagentHandler(subagents) {
752
798
  pendingDestroys.clear();
753
799
  await Promise.all(
754
800
  entries.map(async ({ agentName, sandboxId }) => {
755
- const ops = agentSandboxOps.get(agentName);
801
+ const ops = agentDestroyOps.get(agentName);
756
802
  if (!ops) {
757
803
  log.warn(
758
804
  "Skipping sandbox destroy \u2014 no sandbox.proxy registered for agent",
@@ -782,7 +828,7 @@ function createSubagentHandler(subagents) {
782
828
  persistentBaseSnapshot.clear();
783
829
  await Promise.all(
784
830
  tagged.map(async ({ agentName, snapshot }) => {
785
- const ops = agentSandboxOps.get(agentName);
831
+ const ops = agentDeleteSnapshotOps.get(agentName);
786
832
  if (!ops) {
787
833
  log.warn(
788
834
  "Skipping snapshot delete \u2014 no sandbox.proxy registered for agent",
@@ -934,30 +980,31 @@ function collectSkillFiles(skills) {
934
980
  }
935
981
  return files;
936
982
  }
937
- async function createSession({
938
- agentName,
939
- maxTurns = 50,
940
- metadata = {},
941
- runAgent,
942
- threadOps,
943
- buildContextMessage,
944
- subagents,
945
- skills,
946
- tools = {},
947
- processToolsInParallel = true,
948
- hooks = {},
949
- appendSystemPrompt = true,
950
- waitForInputTimeout = "48h",
951
- threadKey,
952
- sandboxOps,
953
- thread: threadInit,
954
- sandbox: sandboxInit,
955
- sandboxShutdown = "destroy",
956
- onSandboxReady,
957
- onSessionExit,
958
- virtualFs: virtualFsConfig,
959
- virtualFsOps
960
- }) {
983
+ async function createSession(config) {
984
+ const {
985
+ agentName,
986
+ maxTurns = 50,
987
+ metadata = {},
988
+ runAgent,
989
+ threadOps,
990
+ buildContextMessage,
991
+ subagents,
992
+ skills,
993
+ tools = {},
994
+ processToolsInParallel = true,
995
+ hooks = {},
996
+ appendSystemPrompt = true,
997
+ threadKey,
998
+ sandboxOps,
999
+ thread: threadInit,
1000
+ sandbox: sandboxInit,
1001
+ sandboxShutdown,
1002
+ onSandboxReady,
1003
+ onSessionExit,
1004
+ virtualFs: virtualFsConfig,
1005
+ virtualFsOps
1006
+ } = config;
1007
+ const wideOps = () => sandboxOps;
961
1008
  const threadMode = threadInit?.mode ?? "new";
962
1009
  let threadId;
963
1010
  let sourceThreadId;
@@ -1041,7 +1088,12 @@ async function createSession({
1041
1088
  stateManager.run();
1042
1089
  }
1043
1090
  );
1044
- const sandboxMode = sandboxInit?.mode;
1091
+ const lifecycle = resolveSessionLifecycle(
1092
+ sandboxInit,
1093
+ sandboxShutdown
1094
+ );
1095
+ const sandboxMode = lifecycle.mode;
1096
+ const resolvedShutdown = lifecycle.shutdown;
1045
1097
  let sandboxId;
1046
1098
  let sandboxOwned = false;
1047
1099
  let baseSnapshot;
@@ -1064,8 +1116,8 @@ async function createSession({
1064
1116
  });
1065
1117
  }
1066
1118
  sandboxId = sandboxInit.sandboxId;
1067
- if (sandboxShutdown === "pause-until-parent-close") {
1068
- await sandboxOps.resumeSandbox(sandboxId);
1119
+ if (resolvedShutdown === "pause-until-parent-close") {
1120
+ await wideOps().resumeSandbox(sandboxId);
1069
1121
  }
1070
1122
  sandboxOwned = true;
1071
1123
  } else if (sandboxMode === "fork") {
@@ -1076,7 +1128,7 @@ async function createSession({
1076
1128
  });
1077
1129
  }
1078
1130
  const forkInit = sandboxInit;
1079
- sandboxId = await sandboxOps.forkSandbox(
1131
+ sandboxId = await wideOps().forkSandbox(
1080
1132
  forkInit.sandboxId,
1081
1133
  forkInit.options
1082
1134
  );
@@ -1089,7 +1141,7 @@ async function createSession({
1089
1141
  });
1090
1142
  }
1091
1143
  const restoreInit = sandboxInit;
1092
- sandboxId = await sandboxOps.restoreSandbox(
1144
+ sandboxId = await wideOps().restoreSandbox(
1093
1145
  restoreInit.snapshot,
1094
1146
  restoreInit.options
1095
1147
  );
@@ -1105,8 +1157,8 @@ async function createSession({
1105
1157
  freshlyCreated = true;
1106
1158
  }
1107
1159
  }
1108
- if (sandboxId && sandboxOwned && freshlyCreated && sandboxShutdown === "snapshot" && sandboxOps) {
1109
- baseSnapshot = await sandboxOps.snapshotSandbox(sandboxId);
1160
+ if (sandboxId && sandboxOwned && freshlyCreated && resolvedShutdown === "snapshot" && sandboxOps) {
1161
+ baseSnapshot = await wideOps().snapshotSandbox(sandboxId);
1110
1162
  }
1111
1163
  if (sandboxId && sandboxOwned && onSandboxReady) {
1112
1164
  onSandboxReady({
@@ -1130,12 +1182,23 @@ async function createSession({
1130
1182
  path,
1131
1183
  size: content.length,
1132
1184
  mtime: (/* @__PURE__ */ new Date()).toISOString(),
1133
- metadata: {}
1185
+ metadata: {},
1186
+ // Carry the content directly on the entry so any handler that
1187
+ // constructs a VirtualFileSystem from `fileTree` can read it
1188
+ // without needing to also wire up `inlineFiles` from state.
1189
+ inlineContent: content
1134
1190
  }))
1135
1191
  ] : result.fileTree;
1136
1192
  stateManager.mergeUpdate({
1137
1193
  fileTree,
1138
1194
  virtualFsCtx: virtualFsConfig.ctx,
1195
+ // `inlineFiles` is still the source of truth at read time:
1196
+ // VirtualFileSystem checks the inlineFiles map first and only
1197
+ // falls through to entry.inlineContent. Embedding the content on
1198
+ // the entry is the migration target so that handlers building a
1199
+ // VirtualFileSystem from `fileTree` alone (without forwarding
1200
+ // `inlineFiles` from state) can read skill resources. Until a
1201
+ // follow-up drops `inlineFiles`, both fields are populated.
1139
1202
  ...skillFiles && { inlineFiles: skillFiles }
1140
1203
  });
1141
1204
  }
@@ -1261,18 +1324,6 @@ async function createSession({
1261
1324
  continue;
1262
1325
  }
1263
1326
  assistantId = void 0;
1264
- if (stateManager.getStatus() === "WAITING_FOR_INPUT") {
1265
- const conditionMet = await condition(
1266
- () => stateManager.getStatus() === "RUNNING",
1267
- waitForInputTimeout
1268
- );
1269
- if (!conditionMet) {
1270
- stateManager.cancel();
1271
- exitReason = "cancelled";
1272
- await condition(() => false, "2s");
1273
- break;
1274
- }
1275
- }
1276
1327
  }
1277
1328
  if (stateManager.getTurns() >= maxTurns && stateManager.isRunning()) {
1278
1329
  exitReason = "max_turns";
@@ -1308,19 +1359,19 @@ async function createSession({
1308
1359
  }
1309
1360
  await callSessionEnd(exitReason, stateManager.getTurns());
1310
1361
  if (sandboxOwned && sandboxId && sandboxOps) {
1311
- switch (sandboxShutdown) {
1362
+ switch (resolvedShutdown) {
1312
1363
  case "destroy":
1313
1364
  await sandboxOps.destroySandbox(sandboxId);
1314
1365
  break;
1315
1366
  case "pause":
1316
1367
  case "pause-until-parent-close":
1317
- await sandboxOps.pauseSandbox(sandboxId);
1368
+ await wideOps().pauseSandbox(sandboxId);
1318
1369
  break;
1319
1370
  case "keep":
1320
1371
  case "keep-until-parent-close":
1321
1372
  break;
1322
1373
  case "snapshot":
1323
- exitSnapshot = await sandboxOps.snapshotSandbox(sandboxId);
1374
+ exitSnapshot = await wideOps().snapshotSandbox(sandboxId);
1324
1375
  await sandboxOps.destroySandbox(sandboxId);
1325
1376
  break;
1326
1377
  }
@@ -1346,7 +1397,8 @@ async function createSession({
1346
1397
  onSessionExit({
1347
1398
  ...sandboxId && { sandboxId },
1348
1399
  ...exitSnapshot && { snapshot: exitSnapshot },
1349
- threadId
1400
+ threadId,
1401
+ usage: stateManager.getTotalUsage()
1350
1402
  });
1351
1403
  }
1352
1404
  return {
@@ -1567,6 +1619,20 @@ function createAgentStateManager({
1567
1619
  }
1568
1620
  };
1569
1621
  }
1622
+ var SandboxNotSupportedError = class extends ApplicationFailure$1 {
1623
+ constructor(operation) {
1624
+ super(
1625
+ `Sandbox does not support: ${operation}`,
1626
+ "SandboxNotSupportedError",
1627
+ true
1628
+ );
1629
+ }
1630
+ };
1631
+ var SandboxNotFoundError = class extends ApplicationFailure$1 {
1632
+ constructor(sandboxId) {
1633
+ super(`Sandbox not found: ${sandboxId}`, "SandboxNotFoundError", true);
1634
+ }
1635
+ };
1570
1636
 
1571
1637
  // src/lib/subagent/define.ts
1572
1638
  function defineSubagent(definition, overrides) {
@@ -1595,6 +1661,7 @@ function defineSubagentWorkflow(config, fn) {
1595
1661
  let capturedSnapshot;
1596
1662
  let capturedBaseSnapshot;
1597
1663
  let capturedThreadId;
1664
+ let capturedUsage;
1598
1665
  const sessionInput = {
1599
1666
  agentName: config.name,
1600
1667
  sandboxShutdown: effectiveShutdown,
@@ -1611,10 +1678,17 @@ function defineSubagentWorkflow(config, fn) {
1611
1678
  });
1612
1679
  }
1613
1680
  },
1614
- onSessionExit: ({ sandboxId, snapshot, threadId }) => {
1681
+ onSessionExit: ({ sandboxId, snapshot, threadId, usage }) => {
1615
1682
  capturedSandboxId = sandboxId;
1616
1683
  capturedSnapshot = snapshot;
1617
1684
  capturedThreadId = threadId;
1685
+ capturedUsage = {
1686
+ inputTokens: usage.totalInputTokens,
1687
+ outputTokens: usage.totalOutputTokens,
1688
+ cachedWriteTokens: usage.totalCachedWriteTokens,
1689
+ cachedReadTokens: usage.totalCachedReadTokens,
1690
+ reasonTokens: usage.totalReasonTokens
1691
+ };
1618
1692
  }
1619
1693
  };
1620
1694
  const result = await fn(prompt, sessionInput, context ?? {});
@@ -1625,7 +1699,8 @@ function defineSubagentWorkflow(config, fn) {
1625
1699
  ...capturedSnapshot !== void 0 && { snapshot: capturedSnapshot },
1626
1700
  ...capturedBaseSnapshot !== void 0 && {
1627
1701
  baseSnapshot: capturedBaseSnapshot
1628
- }
1702
+ },
1703
+ ...capturedUsage !== void 0 && { usage: capturedUsage }
1629
1704
  };
1630
1705
  };
1631
1706
  Object.defineProperty(workflow, "name", { value: config.name });
@@ -1709,20 +1784,6 @@ function proxyRunAgent(scope, options) {
1709
1784
  );
1710
1785
  return acts[name];
1711
1786
  }
1712
- var SandboxNotSupportedError = class extends ApplicationFailure$1 {
1713
- constructor(operation) {
1714
- super(
1715
- `Sandbox does not support: ${operation}`,
1716
- "SandboxNotSupportedError",
1717
- true
1718
- );
1719
- }
1720
- };
1721
- var SandboxNotFoundError = class extends ApplicationFailure$1 {
1722
- constructor(sandboxId) {
1723
- super(`Sandbox not found: ${sandboxId}`, "SandboxNotFoundError", true);
1724
- }
1725
- };
1726
1787
 
1727
1788
  // src/lib/virtual-fs/mutations.ts
1728
1789
  function applyVirtualTreeMutations(stateManager, mutations) {