zeitlich 0.2.46 → 0.2.48

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 (89) hide show
  1. package/README.md +66 -6
  2. package/dist/{activities-CyeiqK_f.d.cts → activities-BlQR5gX4.d.cts} +3 -3
  3. package/dist/{activities-Bm4TLTid.d.ts → activities-DCaIPQBT.d.ts} +3 -3
  4. package/dist/adapters/thread/anthropic/index.cjs +105 -6
  5. package/dist/adapters/thread/anthropic/index.cjs.map +1 -1
  6. package/dist/adapters/thread/anthropic/index.d.cts +48 -9
  7. package/dist/adapters/thread/anthropic/index.d.ts +48 -9
  8. package/dist/adapters/thread/anthropic/index.js +104 -7
  9. package/dist/adapters/thread/anthropic/index.js.map +1 -1
  10. package/dist/adapters/thread/anthropic/workflow.cjs +38 -22
  11. package/dist/adapters/thread/anthropic/workflow.cjs.map +1 -1
  12. package/dist/adapters/thread/anthropic/workflow.d.cts +5 -4
  13. package/dist/adapters/thread/anthropic/workflow.d.ts +5 -4
  14. package/dist/adapters/thread/anthropic/workflow.js +38 -22
  15. package/dist/adapters/thread/anthropic/workflow.js.map +1 -1
  16. package/dist/adapters/thread/google-genai/index.d.cts +6 -5
  17. package/dist/adapters/thread/google-genai/index.d.ts +6 -5
  18. package/dist/adapters/thread/google-genai/workflow.cjs +38 -22
  19. package/dist/adapters/thread/google-genai/workflow.cjs.map +1 -1
  20. package/dist/adapters/thread/google-genai/workflow.d.cts +7 -5
  21. package/dist/adapters/thread/google-genai/workflow.d.ts +7 -5
  22. package/dist/adapters/thread/google-genai/workflow.js +38 -22
  23. package/dist/adapters/thread/google-genai/workflow.js.map +1 -1
  24. package/dist/adapters/thread/langchain/index.d.cts +6 -5
  25. package/dist/adapters/thread/langchain/index.d.ts +6 -5
  26. package/dist/adapters/thread/langchain/workflow.cjs +38 -22
  27. package/dist/adapters/thread/langchain/workflow.cjs.map +1 -1
  28. package/dist/adapters/thread/langchain/workflow.d.cts +5 -4
  29. package/dist/adapters/thread/langchain/workflow.d.ts +5 -4
  30. package/dist/adapters/thread/langchain/workflow.js +38 -22
  31. package/dist/adapters/thread/langchain/workflow.js.map +1 -1
  32. package/dist/{cold-store-BC5L5Z8A.d.cts → cold-store-UL13Sstw.d.cts} +8 -11
  33. package/dist/{cold-store-CFHwemBJ.d.ts → cold-store-aD4TSKlU.d.ts} +8 -11
  34. package/dist/index.cjs +311 -99
  35. package/dist/index.cjs.map +1 -1
  36. package/dist/index.d.cts +21 -9
  37. package/dist/index.d.ts +21 -9
  38. package/dist/index.js +312 -102
  39. package/dist/index.js.map +1 -1
  40. package/dist/proxy-BAty3CWM.d.cts +40 -0
  41. package/dist/proxy-mbnwBhHw.d.ts +40 -0
  42. package/dist/{thread-manager-DduoSkvJ.d.ts → thread-manager-CICj68PI.d.ts} +2 -2
  43. package/dist/{thread-manager-D33SUmZa.d.cts → thread-manager-DsXvJ5cJ.d.cts} +2 -2
  44. package/dist/{thread-manager-B-zy3xrs.d.ts → thread-manager-DtEtbUkp.d.ts} +2 -2
  45. package/dist/{thread-manager-9tezUcLW.d.cts → thread-manager-R6c3lnJy.d.cts} +2 -2
  46. package/dist/{types-oxt8GN97.d.cts → types-DDLPnxBh.d.cts} +1 -1
  47. package/dist/{types-L5bvbF-n.d.ts → types-DF4wzWQG.d.ts} +1 -1
  48. package/dist/{types-CnuN9T6t.d.cts → types-DWeyCTYK.d.cts} +47 -0
  49. package/dist/{types-CwN6_tAL.d.ts → types-DwBYd0ij.d.ts} +47 -0
  50. package/dist/{workflow-DIaIV7L2.d.cts → workflow-DVNPR7eX.d.cts} +17 -2
  51. package/dist/{workflow-B1TOcHbt.d.ts → workflow-DdaU7_j4.d.ts} +17 -2
  52. package/dist/workflow.cjs +80 -12
  53. package/dist/workflow.cjs.map +1 -1
  54. package/dist/workflow.d.cts +2 -2
  55. package/dist/workflow.d.ts +2 -2
  56. package/dist/workflow.js +80 -13
  57. package/dist/workflow.js.map +1 -1
  58. package/package.json +14 -8
  59. package/src/adapters/thread/anthropic/activities.ts +18 -11
  60. package/src/adapters/thread/anthropic/index.ts +8 -0
  61. package/src/adapters/thread/anthropic/model-invoker.test.ts +110 -0
  62. package/src/adapters/thread/anthropic/model-invoker.ts +26 -5
  63. package/src/adapters/thread/anthropic/prompt-cache.test.ts +134 -0
  64. package/src/adapters/thread/anthropic/prompt-cache.ts +163 -0
  65. package/src/adapters/thread/anthropic/proxy.ts +1 -0
  66. package/src/adapters/thread/google-genai/proxy.ts +1 -0
  67. package/src/adapters/thread/langchain/proxy.ts +1 -0
  68. package/src/index.ts +1 -1
  69. package/src/lib/lifecycle.ts +13 -1
  70. package/src/lib/session/session-edge-cases.integration.test.ts +44 -0
  71. package/src/lib/session/session.ts +15 -0
  72. package/src/lib/subagent/define.ts +1 -0
  73. package/src/lib/subagent/handler.ts +41 -6
  74. package/src/lib/subagent/subagent.integration.test.ts +178 -0
  75. package/src/lib/subagent/types.ts +16 -0
  76. package/src/lib/thread/cold-store.test.ts +33 -5
  77. package/src/lib/thread/cold-store.ts +50 -31
  78. package/src/lib/thread/proxy.ts +79 -29
  79. package/src/lib/tool-router/router-edge-cases.integration.test.ts +36 -0
  80. package/src/lib/tool-router/router.ts +21 -3
  81. package/src/lib/tool-router/types.ts +20 -0
  82. package/src/tools/edit/handler.test.ts +177 -0
  83. package/src/tools/edit/handler.ts +249 -47
  84. package/src/tools/edit/tool.ts +40 -0
  85. package/src/tools/task-create/handler.ts +1 -1
  86. package/src/tools/task-update/handler.ts +1 -1
  87. package/src/workflow.ts +2 -2
  88. package/dist/proxy-BxFyd6cg.d.cts +0 -24
  89. package/dist/proxy-Cskmj4Yx.d.ts +0 -24
@@ -1,5 +1,5 @@
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, X as getThreadListKey, Y as getThreadMetaKey, $ as globTool, a0 as grepTool, a1 as hasDirectory, a2 as hasFileWithMimeType, a3 as hasNoOtherToolCalls, a4 as parseSkillFile, a5 as proxyRunAgent, a6 as proxyVirtualFsOps, a7 as readFileTool, a8 as taskCreateTool, a9 as taskGetTool, aa as taskListTool, ab as taskUpdateTool, ac as writeFileTool } from './workflow-DIaIV7L2.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-CnuN9T6t.cjs';
1
+ export { A as AskUserQuestionArgs, B as BashArgs, D as DEFAULT_SUBAGENT_WORKFLOW_RUN_TIMEOUT, F as FileEditArgs, a as FileMultiEditArgs, b as FileReadArgs, c as FileWriteArgs, G as GlobArgs, 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, Y as getThreadListKey, _ as getThreadMetaKey, 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';
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-DWeyCTYK.cjs';
3
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
5
  import '@temporalio/common';
@@ -1,5 +1,5 @@
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, X as getThreadListKey, Y as getThreadMetaKey, $ as globTool, a0 as grepTool, a1 as hasDirectory, a2 as hasFileWithMimeType, a3 as hasNoOtherToolCalls, a4 as parseSkillFile, a5 as proxyRunAgent, a6 as proxyVirtualFsOps, a7 as readFileTool, a8 as taskCreateTool, a9 as taskGetTool, aa as taskListTool, ab as taskUpdateTool, ac as writeFileTool } from './workflow-B1TOcHbt.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-CwN6_tAL.js';
1
+ export { A as AskUserQuestionArgs, B as BashArgs, D as DEFAULT_SUBAGENT_WORKFLOW_RUN_TIMEOUT, F as FileEditArgs, a as FileMultiEditArgs, b as FileReadArgs, c as FileWriteArgs, G as GlobArgs, 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, Y as getThreadListKey, _ as getThreadMetaKey, 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';
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-DwBYd0ij.js';
3
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
5
  import '@temporalio/common';
package/dist/workflow.js CHANGED
@@ -117,7 +117,7 @@ function createToolRouter(options) {
117
117
  });
118
118
  }
119
119
  }
120
- async function processToolCall(toolCall, turn, sandboxId, onRewindRequested) {
120
+ async function processToolCall(toolCall, turn, sandboxId, onRewindRequested, assistantMessageId) {
121
121
  const startTime = Date.now();
122
122
  const tool = toolMap.get(toolCall.name);
123
123
  const preResult = await runPreHooks(toolCall, tool, turn);
@@ -152,7 +152,8 @@ function createToolRouter(options) {
152
152
  ...options.threadKey && { threadKey: options.threadKey },
153
153
  toolCallId: toolCall.id,
154
154
  toolName: toolCall.name,
155
- ...sandboxId !== void 0 && { sandboxId }
155
+ ...sandboxId !== void 0 && { sandboxId },
156
+ ...assistantMessageId !== void 0 && { assistantMessageId }
156
157
  };
157
158
  const response = await tool.handler(
158
159
  effectiveArgs,
@@ -279,6 +280,7 @@ function createToolRouter(options) {
279
280
  }
280
281
  const turn = context?.turn ?? 0;
281
282
  const sandboxId = context?.sandboxId;
283
+ const assistantMessageId = context?.assistantMessageId;
282
284
  let rewindSignal;
283
285
  if (options.parallel) {
284
286
  const scope = new CancellationScope({ cancellable: true });
@@ -291,7 +293,13 @@ function createToolRouter(options) {
291
293
  const outcomes = await scope.run(
292
294
  async () => Promise.allSettled(
293
295
  toolCalls.map(
294
- (tc) => processToolCall(tc, turn, sandboxId, onRewindRequested)
296
+ (tc) => processToolCall(
297
+ tc,
298
+ turn,
299
+ sandboxId,
300
+ onRewindRequested,
301
+ assistantMessageId
302
+ )
295
303
  )
296
304
  )
297
305
  );
@@ -311,7 +319,13 @@ function createToolRouter(options) {
311
319
  }
312
320
  const results = [];
313
321
  for (const toolCall of toolCalls) {
314
- const outcome = await processToolCall(toolCall, turn, sandboxId);
322
+ const outcome = await processToolCall(
323
+ toolCall,
324
+ turn,
325
+ sandboxId,
326
+ void 0,
327
+ assistantMessageId
328
+ );
315
329
  if (outcome.kind === "rewind") {
316
330
  rewindSignal = outcome.signal;
317
331
  break;
@@ -335,6 +349,9 @@ function createToolRouter(options) {
335
349
  toolName: toolCall.name,
336
350
  ...context?.sandboxId !== void 0 && {
337
351
  sandboxId: context.sandboxId
352
+ },
353
+ ...context?.assistantMessageId !== void 0 && {
354
+ assistantMessageId: context.assistantMessageId
338
355
  }
339
356
  };
340
357
  const response = await handler(
@@ -560,13 +577,27 @@ function createSubagentHandler(subagents) {
560
577
  }
561
578
  const threadMode = config.thread ?? "new";
562
579
  const allowsContinuation = threadMode !== "new";
563
- const continuationThreadId = args.threadId && allowsContinuation ? args.threadId : void 0;
580
+ const newThreadSource = config.newThreadSource ?? "new";
581
+ const usingParentFallback = allowsContinuation && !args.threadId && newThreadSource === "from-parent";
582
+ const continuationThreadId = !allowsContinuation ? void 0 : args.threadId ?? (usingParentFallback ? context.threadId : void 0);
564
583
  let thread;
565
584
  if (continuationThreadId) {
566
- thread = {
567
- mode: threadMode,
568
- threadId: continuationThreadId
569
- };
585
+ if (threadMode === "fork") {
586
+ thread = {
587
+ mode: "fork",
588
+ threadId: continuationThreadId,
589
+ ...usingParentFallback && context.assistantMessageId ? {
590
+ truncateAfterFork: {
591
+ fromMessageId: context.assistantMessageId
592
+ }
593
+ } : {}
594
+ };
595
+ } else {
596
+ thread = {
597
+ mode: "continue",
598
+ threadId: continuationThreadId
599
+ };
600
+ }
570
601
  }
571
602
  let sandbox;
572
603
  let sandboxShutdownOverride;
@@ -1027,6 +1058,7 @@ async function createSession(config) {
1027
1058
  appendSystemMessage,
1028
1059
  appendAgentMessage,
1029
1060
  forkThread,
1061
+ truncateThread,
1030
1062
  loadThreadState,
1031
1063
  saveThreadState,
1032
1064
  hydrateThread,
@@ -1176,6 +1208,10 @@ async function createSession(config) {
1176
1208
  if (threadMode === "fork" && sourceThreadId) {
1177
1209
  await hydrateThread(sourceThreadId, threadKey);
1178
1210
  await forkThread(sourceThreadId, threadId, threadKey);
1211
+ const truncate = threadInit.truncateAfterFork;
1212
+ if (truncate?.fromMessageId) {
1213
+ await truncateThread(threadId, truncate.fromMessageId, threadKey);
1214
+ }
1179
1215
  const forkedSlice = await loadThreadState(threadId, threadKey);
1180
1216
  if (forkedSlice) rehydrateFromSlice(forkedSlice);
1181
1217
  } else if (threadMode === "continue") {
@@ -1305,7 +1341,10 @@ async function createSession(config) {
1305
1341
  parsedToolCalls,
1306
1342
  {
1307
1343
  turn: currentTurn,
1308
- ...sandboxId !== void 0 && { sandboxId }
1344
+ ...sandboxId !== void 0 && { sandboxId },
1345
+ ...assistantId !== void 0 && {
1346
+ assistantMessageId: assistantId
1347
+ }
1309
1348
  }
1310
1349
  );
1311
1350
  for (const result of toolCallResults) {
@@ -2112,6 +2151,13 @@ IMPORTANT:
2112
2151
  }),
2113
2152
  strict: true
2114
2153
  };
2154
+ var textEditSchema = z.object({
2155
+ old_string: z.string().describe("The exact text to replace"),
2156
+ new_string: z.string().describe("The text to replace it with"),
2157
+ replace_all: z.boolean().optional().describe(
2158
+ "If true, replace all occurrences of old_string for this edit (default: false)"
2159
+ )
2160
+ });
2115
2161
  var editTool = {
2116
2162
  name: "FileEdit",
2117
2163
  description: `Edit specific sections of a file by replacing text.
@@ -2140,6 +2186,27 @@ IMPORTANT:
2140
2186
  }),
2141
2187
  strict: true
2142
2188
  };
2189
+ var multiEditTool = {
2190
+ name: "FileMultiEdit",
2191
+ description: `Apply multiple exact text replacements to one file in order.
2192
+
2193
+ Usage:
2194
+ - Use this when a task needs several related edits in the same file
2195
+ - Each edit is applied to the file content produced by the prior edit
2196
+ - The operation is atomic: if any edit fails, the file is left unchanged
2197
+
2198
+ IMPORTANT:
2199
+ - You must read the file first (in this session) before editing it
2200
+ - Each old_string must match exactly (whitespace-sensitive)
2201
+ - Each old_string must be unique unless that edit uses replace_all: true
2202
+ - old_string and new_string must be different for every edit
2203
+ `,
2204
+ schema: z.object({
2205
+ file_path: z.string().describe("The absolute virtual path to the file to modify"),
2206
+ edits: z.array(textEditSchema).min(1).describe("Exact replacements to apply sequentially to the file")
2207
+ }),
2208
+ strict: true
2209
+ };
2143
2210
  var taskCreateTool = {
2144
2211
  name: "TaskCreate",
2145
2212
  description: `Use this tool to create a structured task list. This helps you track progress, organize complex tasks, and demonstrate thoroughness to the user.
@@ -2210,7 +2277,7 @@ function createTaskCreateHandler(stateManager) {
2210
2277
  };
2211
2278
  stateManager.setTask(task);
2212
2279
  return {
2213
- toolResponse: JSON.stringify(task, null, 2),
2280
+ toolResponse: `Task ${task.id} created`,
2214
2281
  data: task
2215
2282
  };
2216
2283
  };
@@ -2309,7 +2376,7 @@ function createTaskUpdateHandler(stateManager) {
2309
2376
  }
2310
2377
  stateManager.setTask(task);
2311
2378
  return {
2312
- toolResponse: JSON.stringify(task, null, 2),
2379
+ toolResponse: `Task ${task.id} updated`,
2313
2380
  data: task
2314
2381
  };
2315
2382
  };
@@ -2382,6 +2449,6 @@ var createAskUserQuestionHandler = () => async (args) => {
2382
2449
  };
2383
2450
  };
2384
2451
 
2385
- export { DEFAULT_SUBAGENT_WORKFLOW_RUN_TIMEOUT, SandboxNotFoundError, SandboxNotSupportedError, THREAD_TTL_SECONDS, applyVirtualTreeMutations, askUserQuestionTool, bashTool, composeHooks, createAgentStateManager, createAskUserQuestionHandler, createBashToolDescription, createObservabilityHooks, createReadSkillHandler, createReadSkillTool, createSession, createTaskCreateHandler, createTaskGetHandler, createTaskListHandler, createTaskUpdateHandler, createToolRouter, defineSubagent, defineSubagentWorkflow, defineTool, defineWorkflow, editTool, filesWithMimeType, formatVirtualFileTree, getShortId, getThreadListKey, getThreadMetaKey, globTool, grepTool, hasDirectory, hasFileWithMimeType, hasNoOtherToolCalls, isTerminalStatus, parseSkillFile, proxyRunAgent, proxyVirtualFsOps, readFileTool, taskCreateTool, taskGetTool, taskListTool, taskUpdateTool, writeFileTool };
2452
+ export { DEFAULT_SUBAGENT_WORKFLOW_RUN_TIMEOUT, SandboxNotFoundError, SandboxNotSupportedError, THREAD_TTL_SECONDS, applyVirtualTreeMutations, askUserQuestionTool, bashTool, composeHooks, createAgentStateManager, createAskUserQuestionHandler, createBashToolDescription, createObservabilityHooks, createReadSkillHandler, createReadSkillTool, createSession, createTaskCreateHandler, createTaskGetHandler, createTaskListHandler, createTaskUpdateHandler, createToolRouter, defineSubagent, defineSubagentWorkflow, defineTool, defineWorkflow, editTool, filesWithMimeType, formatVirtualFileTree, getShortId, getThreadListKey, getThreadMetaKey, globTool, grepTool, hasDirectory, hasFileWithMimeType, hasNoOtherToolCalls, isTerminalStatus, multiEditTool, parseSkillFile, proxyRunAgent, proxyVirtualFsOps, readFileTool, taskCreateTool, taskGetTool, taskListTool, taskUpdateTool, writeFileTool };
2386
2453
  //# sourceMappingURL=workflow.js.map
2387
2454
  //# sourceMappingURL=workflow.js.map