zeitlich 0.2.21 → 0.2.22

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 (117) hide show
  1. package/README.md +70 -55
  2. package/dist/adapters/sandbox/daytona/index.cjs +3 -0
  3. package/dist/adapters/sandbox/daytona/index.cjs.map +1 -1
  4. package/dist/adapters/sandbox/daytona/index.d.cts +2 -1
  5. package/dist/adapters/sandbox/daytona/index.d.ts +2 -1
  6. package/dist/adapters/sandbox/daytona/index.js +3 -0
  7. package/dist/adapters/sandbox/daytona/index.js.map +1 -1
  8. package/dist/adapters/sandbox/daytona/workflow.cjs +32 -0
  9. package/dist/adapters/sandbox/daytona/workflow.cjs.map +1 -0
  10. package/dist/adapters/sandbox/daytona/workflow.d.cts +27 -0
  11. package/dist/adapters/sandbox/daytona/workflow.d.ts +27 -0
  12. package/dist/adapters/sandbox/daytona/workflow.js +30 -0
  13. package/dist/adapters/sandbox/daytona/workflow.js.map +1 -0
  14. package/dist/adapters/sandbox/inmemory/index.cjs +4 -1
  15. package/dist/adapters/sandbox/inmemory/index.cjs.map +1 -1
  16. package/dist/adapters/sandbox/inmemory/index.d.cts +3 -2
  17. package/dist/adapters/sandbox/inmemory/index.d.ts +3 -2
  18. package/dist/adapters/sandbox/inmemory/index.js +4 -1
  19. package/dist/adapters/sandbox/inmemory/index.js.map +1 -1
  20. package/dist/adapters/sandbox/inmemory/workflow.cjs +32 -0
  21. package/dist/adapters/sandbox/inmemory/workflow.cjs.map +1 -0
  22. package/dist/adapters/sandbox/inmemory/workflow.d.cts +25 -0
  23. package/dist/adapters/sandbox/inmemory/workflow.d.ts +25 -0
  24. package/dist/adapters/sandbox/inmemory/workflow.js +30 -0
  25. package/dist/adapters/sandbox/inmemory/workflow.js.map +1 -0
  26. package/dist/adapters/sandbox/virtual/index.cjs +3 -0
  27. package/dist/adapters/sandbox/virtual/index.cjs.map +1 -1
  28. package/dist/adapters/sandbox/virtual/index.d.cts +6 -4
  29. package/dist/adapters/sandbox/virtual/index.d.ts +6 -4
  30. package/dist/adapters/sandbox/virtual/index.js +3 -0
  31. package/dist/adapters/sandbox/virtual/index.js.map +1 -1
  32. package/dist/adapters/sandbox/virtual/workflow.cjs +32 -0
  33. package/dist/adapters/sandbox/virtual/workflow.cjs.map +1 -0
  34. package/dist/adapters/sandbox/virtual/workflow.d.cts +27 -0
  35. package/dist/adapters/sandbox/virtual/workflow.d.ts +27 -0
  36. package/dist/adapters/sandbox/virtual/workflow.js +30 -0
  37. package/dist/adapters/sandbox/virtual/workflow.js.map +1 -0
  38. package/dist/adapters/thread/google-genai/index.cjs +9 -1
  39. package/dist/adapters/thread/google-genai/index.cjs.map +1 -1
  40. package/dist/adapters/thread/google-genai/index.d.cts +30 -18
  41. package/dist/adapters/thread/google-genai/index.d.ts +30 -18
  42. package/dist/adapters/thread/google-genai/index.js +9 -1
  43. package/dist/adapters/thread/google-genai/index.js.map +1 -1
  44. package/dist/adapters/thread/google-genai/workflow.cjs +33 -0
  45. package/dist/adapters/thread/google-genai/workflow.cjs.map +1 -0
  46. package/dist/adapters/thread/google-genai/workflow.d.cts +32 -0
  47. package/dist/adapters/thread/google-genai/workflow.d.ts +32 -0
  48. package/dist/adapters/thread/google-genai/workflow.js +31 -0
  49. package/dist/adapters/thread/google-genai/workflow.js.map +1 -0
  50. package/dist/adapters/thread/langchain/index.cjs +9 -1
  51. package/dist/adapters/thread/langchain/index.cjs.map +1 -1
  52. package/dist/adapters/thread/langchain/index.d.cts +26 -15
  53. package/dist/adapters/thread/langchain/index.d.ts +26 -15
  54. package/dist/adapters/thread/langchain/index.js +9 -1
  55. package/dist/adapters/thread/langchain/index.js.map +1 -1
  56. package/dist/adapters/thread/langchain/workflow.cjs +33 -0
  57. package/dist/adapters/thread/langchain/workflow.cjs.map +1 -0
  58. package/dist/adapters/thread/langchain/workflow.d.cts +32 -0
  59. package/dist/adapters/thread/langchain/workflow.d.ts +32 -0
  60. package/dist/adapters/thread/langchain/workflow.js +31 -0
  61. package/dist/adapters/thread/langchain/workflow.js.map +1 -0
  62. package/dist/index.cjs +36 -34
  63. package/dist/index.cjs.map +1 -1
  64. package/dist/index.d.cts +35 -14
  65. package/dist/index.d.ts +35 -14
  66. package/dist/index.js +38 -34
  67. package/dist/index.js.map +1 -1
  68. package/dist/queries-Bw6WEPMw.d.cts +44 -0
  69. package/dist/queries-C27raDaB.d.ts +44 -0
  70. package/dist/{queries-CHa2iv_I.d.cts → types-BJ8itUAl.d.cts} +2 -43
  71. package/dist/{types-BkAYmc96.d.ts → types-C5bkx6kQ.d.ts} +33 -5
  72. package/dist/{types-CES_30qx.d.cts → types-ClsHhtwL.d.cts} +33 -5
  73. package/dist/{queries-6Avfh74U.d.ts → types-ENYCKFBk.d.ts} +2 -43
  74. package/dist/{types-BMRzfELQ.d.cts → types-HBosetv3.d.cts} +15 -1
  75. package/dist/{types-BMRzfELQ.d.ts → types-HBosetv3.d.ts} +15 -1
  76. package/dist/workflow.cjs +4 -30
  77. package/dist/workflow.cjs.map +1 -1
  78. package/dist/workflow.d.cts +13 -41
  79. package/dist/workflow.d.ts +13 -41
  80. package/dist/workflow.js +6 -30
  81. package/dist/workflow.js.map +1 -1
  82. package/package.json +53 -1
  83. package/src/adapters/sandbox/daytona/index.ts +4 -0
  84. package/src/adapters/sandbox/daytona/proxy.ts +55 -0
  85. package/src/adapters/sandbox/e2b/filesystem.ts +147 -0
  86. package/src/adapters/sandbox/e2b/index.ts +159 -0
  87. package/src/adapters/sandbox/e2b/types.ts +23 -0
  88. package/src/adapters/sandbox/inmemory/index.ts +5 -1
  89. package/src/adapters/sandbox/inmemory/proxy.ts +53 -0
  90. package/src/adapters/sandbox/virtual/provider.ts +5 -1
  91. package/src/adapters/sandbox/virtual/proxy.ts +52 -0
  92. package/src/adapters/thread/google-genai/activities.ts +51 -17
  93. package/src/adapters/thread/google-genai/index.ts +1 -0
  94. package/src/adapters/thread/google-genai/proxy.ts +61 -0
  95. package/src/adapters/thread/langchain/activities.ts +47 -14
  96. package/src/adapters/thread/langchain/index.ts +1 -0
  97. package/src/adapters/thread/langchain/proxy.ts +61 -0
  98. package/src/lib/sandbox/manager.ts +40 -6
  99. package/src/lib/sandbox/sandbox.test.ts +12 -11
  100. package/src/lib/sandbox/types.ts +18 -0
  101. package/src/lib/session/index.ts +3 -5
  102. package/src/lib/session/session-edge-cases.integration.test.ts +45 -34
  103. package/src/lib/session/session.integration.test.ts +40 -48
  104. package/src/lib/session/session.ts +4 -66
  105. package/src/lib/session/types.ts +32 -1
  106. package/src/lib/subagent/define.ts +1 -1
  107. package/src/lib/subagent/handler.ts +9 -2
  108. package/src/lib/subagent/index.ts +1 -0
  109. package/src/lib/subagent/subagent.integration.test.ts +62 -0
  110. package/src/lib/subagent/types.ts +7 -2
  111. package/src/lib/tool-router/router-edge-cases.integration.test.ts +4 -1
  112. package/src/lib/tool-router/router.integration.test.ts +4 -1
  113. package/src/lib/workflow.test.ts +19 -10
  114. package/src/lib/workflow.ts +4 -1
  115. package/src/tools/bash/bash.test.ts +16 -7
  116. package/src/workflow.ts +6 -14
  117. package/tsup.config.ts +6 -0
package/dist/index.d.cts CHANGED
@@ -1,17 +1,18 @@
1
1
  import { BashArgs, FileEditArgs, GlobArgs, FileReadArgs, FileWriteArgs } from './workflow.cjs';
2
- export { AskUserQuestionArgs, GrepArgs, ReadSkillArgs, SubagentArgs, TaskCreateArgs, TaskGetArgs, TaskListArgs, TaskUpdateArgs, WorkflowConfig, WorkflowInput, WorkflowSessionInput, applyVirtualTreeMutations, askUserQuestionTool, bashTool, createAgentStateManager, createAskUserQuestionHandler, createBashToolDescription, createReadSkillHandler, createReadSkillTool, createSession, createTaskCreateHandler, createTaskGetHandler, createTaskListHandler, createTaskUpdateHandler, createToolRouter, defineSubagent, defineSubagentWorkflow, defineTool, defineWorkflow, editTool, formatVirtualFileTree, getShortId, globTool, grepTool, hasNoOtherToolCalls, parseSkillFile, proxyDefaultThreadOps, proxySandboxOps, readFileTool, taskCreateTool, taskGetTool, taskListTool, taskUpdateTool, writeFileTool } from './workflow.cjs';
3
- import { S as SkillProvider, b as SkillMetadata, c as Skill } from './types-CES_30qx.cjs';
4
- export { A as AgentResponse, d as AgentState, e as AgentStateManager, H as Hooks, J as JsonPrimitive, f as JsonSerializable, g as JsonValue, M as ModelInvoker, a as ModelInvokerConfig, P as PostHumanMessageAppendHook, h as PostHumanMessageAppendHookContext, i as PreHumanMessageAppendHook, j as PreHumanMessageAppendHookContext, R as RunAgentActivity, k as SessionConfig, l as SessionEndHook, m as SessionEndHookContext, n as SessionStartHook, o as SessionStartHookContext, p as SubagentConfig, q as SubagentDefinition, r as SubagentHandlerResponse, s as SubagentHooks, t as SubagentSessionInput, u as SubagentWorkflow, v as SubagentWorkflowInput, T as ThreadOps, Z as ZeitlichSession } from './types-CES_30qx.cjs';
2
+ export { AskUserQuestionArgs, GrepArgs, ReadSkillArgs, SubagentArgs, TaskCreateArgs, TaskGetArgs, TaskListArgs, TaskUpdateArgs, WorkflowConfig, WorkflowInput, WorkflowSessionInput, applyVirtualTreeMutations, askUserQuestionTool, bashTool, createAgentStateManager, createAskUserQuestionHandler, createBashToolDescription, createReadSkillHandler, createReadSkillTool, createSession, createTaskCreateHandler, createTaskGetHandler, createTaskListHandler, createTaskUpdateHandler, createToolRouter, defineSubagent, defineSubagentWorkflow, defineTool, defineWorkflow, editTool, formatVirtualFileTree, getShortId, globTool, grepTool, hasNoOtherToolCalls, parseSkillFile, readFileTool, taskCreateTool, taskGetTool, taskListTool, taskUpdateTool, writeFileTool } from './workflow.cjs';
3
+ import { b as SkillProvider, c as SkillMetadata, d as Skill } from './types-ClsHhtwL.cjs';
4
+ export { A as AgentResponse, e as AgentState, f as AgentStateManager, H as Hooks, J as JsonPrimitive, g as JsonSerializable, h as JsonValue, M as ModelInvoker, a as ModelInvokerConfig, i as PostHumanMessageAppendHook, j as PostHumanMessageAppendHookContext, k as PreHumanMessageAppendHook, l as PreHumanMessageAppendHookContext, P as PrefixedThreadOps, R as RunAgentActivity, S as ScopedPrefix, m as SessionConfig, n as SessionEndHook, o as SessionEndHookContext, p as SessionStartHook, q as SessionStartHookContext, r as SubagentConfig, s as SubagentDefinition, t as SubagentHandlerResponse, u as SubagentHooks, v as SubagentSessionInput, w as SubagentWorkflow, x as SubagentWorkflowInput, T as ThreadOps, Z as ZeitlichSession } from './types-ClsHhtwL.cjs';
5
5
  import { R as RouterContext, j as ToolResultConfig, A as ActivityToolHandler, c as ToolHandlerResponse, B as BaseAgentState, g as RunAgentConfig } from './types-YbL7JpEA.cjs';
6
6
  export { l as AgentConfig, m as AgentFile, h as AgentStatus, n as AppendToolResultFn, C as ContentPart, I as InferToolResults, M as MessageContent, o as ParsedToolCall, p as ParsedToolCallUnion, q as PostToolUseFailureHook, r as PostToolUseFailureHookContext, d as PostToolUseFailureHookResult, s as PostToolUseHook, t as PostToolUseHookContext, u as PreToolUseHook, v as PreToolUseHookContext, P as PreToolUseHookResult, w as ProcessToolCallsContext, e as RawToolCall, x as SerializableToolDefinition, S as SessionExitReason, y as TaskStatus, f as TokenUsage, z as ToolArgs, D as ToolCallResult, k as ToolCallResultUnion, i as ToolDefinition, E as ToolHandler, F as ToolHooks, a as ToolMap, T as ToolMessageContent, G as ToolNames, H as ToolResult, J as ToolRouter, b as ToolRouterHooks, K as ToolWithHandler, W as WorkflowTask, L as isTerminalStatus } from './types-YbL7JpEA.cjs';
7
- import { S as Sandbox, a as SandboxFileSystem, d as SandboxCreateOptions, b as SandboxProvider, f as SandboxSnapshot, g as SandboxOps, E as ExecResult } from './types-BMRzfELQ.cjs';
8
- export { h as ExecOptions, c as SandboxCapabilities, e as SandboxCreateResult, D as SandboxDirentEntry, F as SandboxFileStat, i as SandboxNotFoundError, j as SandboxNotSupportedError } from './types-BMRzfELQ.cjs';
7
+ import { S as Sandbox, a as SandboxFileSystem, d as SandboxCreateOptions, b as SandboxProvider, f as SandboxSnapshot, P as PrefixedSandboxOps, E as ExecResult } from './types-HBosetv3.cjs';
8
+ export { h as ExecOptions, c as SandboxCapabilities, e as SandboxCreateResult, D as SandboxDirentEntry, F as SandboxFileStat, i as SandboxNotFoundError, j as SandboxNotSupportedError, g as SandboxOps } from './types-HBosetv3.cjs';
9
9
  import { WorkflowClient } from '@temporalio/client';
10
- export { c as FileEntry, F as FileEntryMetadata, a as FileResolver, T as TreeMutation, f as VirtualFileTree, h as VirtualSandboxState, i as filesWithMimeType, j as hasDirectory, k as hasFileWithMimeType } from './queries-CHa2iv_I.cjs';
10
+ export { f as filesWithMimeType, h as hasDirectory, a as hasFileWithMimeType } from './queries-Bw6WEPMw.cjs';
11
+ export { F as FileEntry, a as FileEntryMetadata, b as FileResolver, T as TreeMutation, e as VirtualFileTree, g as VirtualSandboxState } from './types-BJ8itUAl.cjs';
11
12
  import { T as ThreadManagerConfig, B as BaseThreadManager } from './types-35POpVfa.cjs';
12
- import '@temporalio/workflow';
13
13
  import 'zod';
14
14
  import '@temporalio/common';
15
+ import '@temporalio/workflow';
15
16
  import '@temporalio/common/lib/interfaces';
16
17
  import 'ioredis';
17
18
 
@@ -193,14 +194,17 @@ declare function createThreadManager<T>(config: ThreadManagerConfig<T>): BaseThr
193
194
  * ```typescript
194
195
  * const manager = new SandboxManager(new InMemorySandboxProvider());
195
196
  * const activities = {
196
- * ...manager.createActivities(),
197
+ * ...manager.createActivities("CodingAgent"),
197
198
  * bashHandler: withSandbox(manager, bashHandler),
198
199
  * };
200
+ * // registers: inMemoryCodingAgentCreateSandbox, …
199
201
  * ```
200
202
  */
201
- declare class SandboxManager<TOptions extends SandboxCreateOptions = SandboxCreateOptions, TSandbox extends Sandbox = Sandbox> {
203
+ declare class SandboxManager<TOptions extends SandboxCreateOptions = SandboxCreateOptions, TSandbox extends Sandbox = Sandbox, TId extends string = string> {
202
204
  private provider;
203
- constructor(provider: SandboxProvider<TOptions, TSandbox>);
205
+ constructor(provider: SandboxProvider<TOptions, TSandbox> & {
206
+ readonly id: TId;
207
+ });
204
208
  create(options?: TOptions): Promise<{
205
209
  sandboxId: string;
206
210
  stateUpdate?: Record<string, unknown>;
@@ -209,11 +213,28 @@ declare class SandboxManager<TOptions extends SandboxCreateOptions = SandboxCrea
209
213
  destroy(id: string): Promise<void>;
210
214
  snapshot(id: string): Promise<SandboxSnapshot>;
211
215
  restore(snapshot: SandboxSnapshot): Promise<string>;
216
+ fork(sandboxId: string): Promise<string>;
212
217
  /**
213
- * Returns Temporal activity functions matching {@link SandboxOps}.
214
- * Spread these into your worker's activity map.
218
+ * Returns Temporal activity functions with prefixed names.
219
+ *
220
+ * The provider's `id` is automatically prepended, so you only need
221
+ * to pass the workflow/scope name. Use the matching `proxy*SandboxOps()`
222
+ * helper from the adapter's `/workflow` entrypoint on the workflow side.
223
+ *
224
+ * @param scope - Workflow name (appended to the provider id)
225
+ *
226
+ * @example
227
+ * ```typescript
228
+ * const manager = new SandboxManager(new InMemorySandboxProvider());
229
+ * manager.createActivities("CodingAgent");
230
+ * // registers: inMemoryCodingAgentCreateSandbox, inMemoryCodingAgentDestroySandbox, …
231
+ *
232
+ * const vmgr = new SandboxManager(new VirtualSandboxProvider(resolver));
233
+ * vmgr.createActivities("CodingAgent");
234
+ * // registers: virtualCodingAgentCreateSandbox, …
235
+ * ```
215
236
  */
216
- createActivities(): SandboxOps<TOptions>;
237
+ createActivities<S extends string>(scope: S): PrefixedSandboxOps<`${TId}${Capitalize<S>}`, TOptions>;
217
238
  }
218
239
 
219
240
  /**
@@ -306,4 +327,4 @@ declare const toTree: (fs: SandboxFileSystem, opts?: {
306
327
  sort?: boolean;
307
328
  }) => Promise<string>;
308
329
 
309
- export { ActivityToolHandler, type AgentStateContext, BaseAgentState, BaseThreadManager, BashArgs, ExecResult, FileEditArgs, FileReadArgs, FileSystemSkillProvider, FileWriteArgs, GlobArgs, RouterContext, RunAgentConfig, Sandbox, type SandboxContext, SandboxCreateOptions, SandboxFileSystem, SandboxManager, SandboxOps, SandboxProvider, SandboxSnapshot, Skill, SkillMetadata, SkillProvider, ThreadManagerConfig, ToolHandlerResponse, ToolResultConfig, bashHandler, createRunAgentActivity, createThreadManager, editHandler, globHandler, queryParentWorkflowState, readFileHandler, toTree, withAutoAppend, withParentWorkflowState, withSandbox, writeFileHandler };
330
+ export { ActivityToolHandler, type AgentStateContext, BaseAgentState, BaseThreadManager, BashArgs, ExecResult, FileEditArgs, FileReadArgs, FileSystemSkillProvider, FileWriteArgs, GlobArgs, PrefixedSandboxOps, RouterContext, RunAgentConfig, Sandbox, type SandboxContext, SandboxCreateOptions, SandboxFileSystem, SandboxManager, SandboxProvider, SandboxSnapshot, Skill, SkillMetadata, SkillProvider, ThreadManagerConfig, ToolHandlerResponse, ToolResultConfig, bashHandler, createRunAgentActivity, createThreadManager, editHandler, globHandler, queryParentWorkflowState, readFileHandler, toTree, withAutoAppend, withParentWorkflowState, withSandbox, writeFileHandler };
package/dist/index.d.ts CHANGED
@@ -1,17 +1,18 @@
1
1
  import { BashArgs, FileEditArgs, GlobArgs, FileReadArgs, FileWriteArgs } from './workflow.js';
2
- export { AskUserQuestionArgs, GrepArgs, ReadSkillArgs, SubagentArgs, TaskCreateArgs, TaskGetArgs, TaskListArgs, TaskUpdateArgs, WorkflowConfig, WorkflowInput, WorkflowSessionInput, applyVirtualTreeMutations, askUserQuestionTool, bashTool, createAgentStateManager, createAskUserQuestionHandler, createBashToolDescription, createReadSkillHandler, createReadSkillTool, createSession, createTaskCreateHandler, createTaskGetHandler, createTaskListHandler, createTaskUpdateHandler, createToolRouter, defineSubagent, defineSubagentWorkflow, defineTool, defineWorkflow, editTool, formatVirtualFileTree, getShortId, globTool, grepTool, hasNoOtherToolCalls, parseSkillFile, proxyDefaultThreadOps, proxySandboxOps, readFileTool, taskCreateTool, taskGetTool, taskListTool, taskUpdateTool, writeFileTool } from './workflow.js';
3
- import { S as SkillProvider, b as SkillMetadata, c as Skill } from './types-BkAYmc96.js';
4
- export { A as AgentResponse, d as AgentState, e as AgentStateManager, H as Hooks, J as JsonPrimitive, f as JsonSerializable, g as JsonValue, M as ModelInvoker, a as ModelInvokerConfig, P as PostHumanMessageAppendHook, h as PostHumanMessageAppendHookContext, i as PreHumanMessageAppendHook, j as PreHumanMessageAppendHookContext, R as RunAgentActivity, k as SessionConfig, l as SessionEndHook, m as SessionEndHookContext, n as SessionStartHook, o as SessionStartHookContext, p as SubagentConfig, q as SubagentDefinition, r as SubagentHandlerResponse, s as SubagentHooks, t as SubagentSessionInput, u as SubagentWorkflow, v as SubagentWorkflowInput, T as ThreadOps, Z as ZeitlichSession } from './types-BkAYmc96.js';
2
+ export { AskUserQuestionArgs, GrepArgs, ReadSkillArgs, SubagentArgs, TaskCreateArgs, TaskGetArgs, TaskListArgs, TaskUpdateArgs, WorkflowConfig, WorkflowInput, WorkflowSessionInput, applyVirtualTreeMutations, askUserQuestionTool, bashTool, createAgentStateManager, createAskUserQuestionHandler, createBashToolDescription, createReadSkillHandler, createReadSkillTool, createSession, createTaskCreateHandler, createTaskGetHandler, createTaskListHandler, createTaskUpdateHandler, createToolRouter, defineSubagent, defineSubagentWorkflow, defineTool, defineWorkflow, editTool, formatVirtualFileTree, getShortId, globTool, grepTool, hasNoOtherToolCalls, parseSkillFile, readFileTool, taskCreateTool, taskGetTool, taskListTool, taskUpdateTool, writeFileTool } from './workflow.js';
3
+ import { b as SkillProvider, c as SkillMetadata, d as Skill } from './types-C5bkx6kQ.js';
4
+ export { A as AgentResponse, e as AgentState, f as AgentStateManager, H as Hooks, J as JsonPrimitive, g as JsonSerializable, h as JsonValue, M as ModelInvoker, a as ModelInvokerConfig, i as PostHumanMessageAppendHook, j as PostHumanMessageAppendHookContext, k as PreHumanMessageAppendHook, l as PreHumanMessageAppendHookContext, P as PrefixedThreadOps, R as RunAgentActivity, S as ScopedPrefix, m as SessionConfig, n as SessionEndHook, o as SessionEndHookContext, p as SessionStartHook, q as SessionStartHookContext, r as SubagentConfig, s as SubagentDefinition, t as SubagentHandlerResponse, u as SubagentHooks, v as SubagentSessionInput, w as SubagentWorkflow, x as SubagentWorkflowInput, T as ThreadOps, Z as ZeitlichSession } from './types-C5bkx6kQ.js';
5
5
  import { R as RouterContext, j as ToolResultConfig, A as ActivityToolHandler, c as ToolHandlerResponse, B as BaseAgentState, g as RunAgentConfig } from './types-YbL7JpEA.js';
6
6
  export { l as AgentConfig, m as AgentFile, h as AgentStatus, n as AppendToolResultFn, C as ContentPart, I as InferToolResults, M as MessageContent, o as ParsedToolCall, p as ParsedToolCallUnion, q as PostToolUseFailureHook, r as PostToolUseFailureHookContext, d as PostToolUseFailureHookResult, s as PostToolUseHook, t as PostToolUseHookContext, u as PreToolUseHook, v as PreToolUseHookContext, P as PreToolUseHookResult, w as ProcessToolCallsContext, e as RawToolCall, x as SerializableToolDefinition, S as SessionExitReason, y as TaskStatus, f as TokenUsage, z as ToolArgs, D as ToolCallResult, k as ToolCallResultUnion, i as ToolDefinition, E as ToolHandler, F as ToolHooks, a as ToolMap, T as ToolMessageContent, G as ToolNames, H as ToolResult, J as ToolRouter, b as ToolRouterHooks, K as ToolWithHandler, W as WorkflowTask, L as isTerminalStatus } from './types-YbL7JpEA.js';
7
- import { S as Sandbox, a as SandboxFileSystem, d as SandboxCreateOptions, b as SandboxProvider, f as SandboxSnapshot, g as SandboxOps, E as ExecResult } from './types-BMRzfELQ.js';
8
- export { h as ExecOptions, c as SandboxCapabilities, e as SandboxCreateResult, D as SandboxDirentEntry, F as SandboxFileStat, i as SandboxNotFoundError, j as SandboxNotSupportedError } from './types-BMRzfELQ.js';
7
+ import { S as Sandbox, a as SandboxFileSystem, d as SandboxCreateOptions, b as SandboxProvider, f as SandboxSnapshot, P as PrefixedSandboxOps, E as ExecResult } from './types-HBosetv3.js';
8
+ export { h as ExecOptions, c as SandboxCapabilities, e as SandboxCreateResult, D as SandboxDirentEntry, F as SandboxFileStat, i as SandboxNotFoundError, j as SandboxNotSupportedError, g as SandboxOps } from './types-HBosetv3.js';
9
9
  import { WorkflowClient } from '@temporalio/client';
10
- export { c as FileEntry, F as FileEntryMetadata, a as FileResolver, T as TreeMutation, f as VirtualFileTree, h as VirtualSandboxState, i as filesWithMimeType, j as hasDirectory, k as hasFileWithMimeType } from './queries-6Avfh74U.js';
10
+ export { f as filesWithMimeType, h as hasDirectory, a as hasFileWithMimeType } from './queries-C27raDaB.js';
11
+ export { F as FileEntry, a as FileEntryMetadata, b as FileResolver, T as TreeMutation, e as VirtualFileTree, g as VirtualSandboxState } from './types-ENYCKFBk.js';
11
12
  import { T as ThreadManagerConfig, B as BaseThreadManager } from './types-35POpVfa.js';
12
- import '@temporalio/workflow';
13
13
  import 'zod';
14
14
  import '@temporalio/common';
15
+ import '@temporalio/workflow';
15
16
  import '@temporalio/common/lib/interfaces';
16
17
  import 'ioredis';
17
18
 
@@ -193,14 +194,17 @@ declare function createThreadManager<T>(config: ThreadManagerConfig<T>): BaseThr
193
194
  * ```typescript
194
195
  * const manager = new SandboxManager(new InMemorySandboxProvider());
195
196
  * const activities = {
196
- * ...manager.createActivities(),
197
+ * ...manager.createActivities("CodingAgent"),
197
198
  * bashHandler: withSandbox(manager, bashHandler),
198
199
  * };
200
+ * // registers: inMemoryCodingAgentCreateSandbox, …
199
201
  * ```
200
202
  */
201
- declare class SandboxManager<TOptions extends SandboxCreateOptions = SandboxCreateOptions, TSandbox extends Sandbox = Sandbox> {
203
+ declare class SandboxManager<TOptions extends SandboxCreateOptions = SandboxCreateOptions, TSandbox extends Sandbox = Sandbox, TId extends string = string> {
202
204
  private provider;
203
- constructor(provider: SandboxProvider<TOptions, TSandbox>);
205
+ constructor(provider: SandboxProvider<TOptions, TSandbox> & {
206
+ readonly id: TId;
207
+ });
204
208
  create(options?: TOptions): Promise<{
205
209
  sandboxId: string;
206
210
  stateUpdate?: Record<string, unknown>;
@@ -209,11 +213,28 @@ declare class SandboxManager<TOptions extends SandboxCreateOptions = SandboxCrea
209
213
  destroy(id: string): Promise<void>;
210
214
  snapshot(id: string): Promise<SandboxSnapshot>;
211
215
  restore(snapshot: SandboxSnapshot): Promise<string>;
216
+ fork(sandboxId: string): Promise<string>;
212
217
  /**
213
- * Returns Temporal activity functions matching {@link SandboxOps}.
214
- * Spread these into your worker's activity map.
218
+ * Returns Temporal activity functions with prefixed names.
219
+ *
220
+ * The provider's `id` is automatically prepended, so you only need
221
+ * to pass the workflow/scope name. Use the matching `proxy*SandboxOps()`
222
+ * helper from the adapter's `/workflow` entrypoint on the workflow side.
223
+ *
224
+ * @param scope - Workflow name (appended to the provider id)
225
+ *
226
+ * @example
227
+ * ```typescript
228
+ * const manager = new SandboxManager(new InMemorySandboxProvider());
229
+ * manager.createActivities("CodingAgent");
230
+ * // registers: inMemoryCodingAgentCreateSandbox, inMemoryCodingAgentDestroySandbox, …
231
+ *
232
+ * const vmgr = new SandboxManager(new VirtualSandboxProvider(resolver));
233
+ * vmgr.createActivities("CodingAgent");
234
+ * // registers: virtualCodingAgentCreateSandbox, …
235
+ * ```
215
236
  */
216
- createActivities(): SandboxOps<TOptions>;
237
+ createActivities<S extends string>(scope: S): PrefixedSandboxOps<`${TId}${Capitalize<S>}`, TOptions>;
217
238
  }
218
239
 
219
240
  /**
@@ -306,4 +327,4 @@ declare const toTree: (fs: SandboxFileSystem, opts?: {
306
327
  sort?: boolean;
307
328
  }) => Promise<string>;
308
329
 
309
- export { ActivityToolHandler, type AgentStateContext, BaseAgentState, BaseThreadManager, BashArgs, ExecResult, FileEditArgs, FileReadArgs, FileSystemSkillProvider, FileWriteArgs, GlobArgs, RouterContext, RunAgentConfig, Sandbox, type SandboxContext, SandboxCreateOptions, SandboxFileSystem, SandboxManager, SandboxOps, SandboxProvider, SandboxSnapshot, Skill, SkillMetadata, SkillProvider, ThreadManagerConfig, ToolHandlerResponse, ToolResultConfig, bashHandler, createRunAgentActivity, createThreadManager, editHandler, globHandler, queryParentWorkflowState, readFileHandler, toTree, withAutoAppend, withParentWorkflowState, withSandbox, writeFileHandler };
330
+ export { ActivityToolHandler, type AgentStateContext, BaseAgentState, BaseThreadManager, BashArgs, ExecResult, FileEditArgs, FileReadArgs, FileSystemSkillProvider, FileWriteArgs, GlobArgs, PrefixedSandboxOps, RouterContext, RunAgentConfig, Sandbox, type SandboxContext, SandboxCreateOptions, SandboxFileSystem, SandboxManager, SandboxProvider, SandboxSnapshot, Skill, SkillMetadata, SkillProvider, ThreadManagerConfig, ToolHandlerResponse, ToolResultConfig, bashHandler, createRunAgentActivity, createThreadManager, editHandler, globHandler, queryParentWorkflowState, readFileHandler, toTree, withAutoAppend, withParentWorkflowState, withSandbox, writeFileHandler };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { uuid4, setHandler, defineUpdate, ApplicationFailure, condition, proxyActivities, defineQuery, workflowInfo, executeChild } from '@temporalio/workflow';
1
+ import { uuid4, setHandler, defineUpdate, ApplicationFailure, condition, defineQuery, workflowInfo, executeChild } from '@temporalio/workflow';
2
2
  import z14, { z } from 'zod';
3
3
  import { randomUUID, randomFillSync } from 'crypto';
4
4
  import { ApplicationFailure as ApplicationFailure$1 } from '@temporalio/common';
@@ -372,9 +372,10 @@ function createSubagentHandler(subagents) {
372
372
  },
373
373
  ...inheritSandbox && { sandboxId: parentSandboxId }
374
374
  };
375
+ const resolvedContext = config.context === void 0 ? void 0 : typeof config.context === "function" ? config.context() : config.context;
375
376
  const childOpts = {
376
377
  workflowId: childWorkflowId,
377
- args: config.context === void 0 ? [args.prompt, workflowInput] : [args.prompt, workflowInput, config.context],
378
+ args: resolvedContext === void 0 ? [args.prompt, workflowInput] : [args.prompt, workflowInput, resolvedContext],
378
379
  taskQueue: config.taskQueue ?? parentTaskQueue
379
380
  };
380
381
  const {
@@ -525,7 +526,7 @@ var createSession = async ({
525
526
  initializeThread,
526
527
  appendSystemMessage,
527
528
  forkThread
528
- } = threadOps ?? proxyDefaultThreadOps();
529
+ } = threadOps;
529
530
  const plugins = [];
530
531
  if (subagents) {
531
532
  const reg = buildSubagentRegistration(subagents);
@@ -695,37 +696,12 @@ var createSession = async ({
695
696
  }
696
697
  };
697
698
  };
698
- function proxyDefaultThreadOps(options) {
699
- return proxyActivities(
700
- options ?? {
701
- startToCloseTimeout: "10s",
702
- retry: {
703
- maximumAttempts: 6,
704
- initialInterval: "5s",
705
- maximumInterval: "15m",
706
- backoffCoefficient: 4
707
- }
708
- }
709
- );
710
- }
711
- function proxySandboxOps(options) {
712
- return proxyActivities(
713
- options ?? {
714
- startToCloseTimeout: "30s",
715
- retry: {
716
- maximumAttempts: 3,
717
- initialInterval: "2s",
718
- maximumInterval: "30s",
719
- backoffCoefficient: 2
720
- }
721
- }
722
- );
723
- }
724
699
 
725
700
  // src/lib/workflow.ts
726
701
  function defineWorkflow(config, fn) {
727
702
  const workflow = async (input, workflowInput = {}) => {
728
703
  const sessionInput = {
704
+ agentName: config.name,
729
705
  ...workflowInput.previousThreadId && {
730
706
  threadId: workflowInput.previousThreadId,
731
707
  continueThread: true
@@ -1742,12 +1718,33 @@ var SandboxManager = class {
1742
1718
  const sandbox = await this.provider.restore(snapshot);
1743
1719
  return sandbox.id;
1744
1720
  }
1721
+ async fork(sandboxId) {
1722
+ const sandbox = await this.provider.fork(sandboxId);
1723
+ return sandbox.id;
1724
+ }
1745
1725
  /**
1746
- * Returns Temporal activity functions matching {@link SandboxOps}.
1747
- * Spread these into your worker's activity map.
1726
+ * Returns Temporal activity functions with prefixed names.
1727
+ *
1728
+ * The provider's `id` is automatically prepended, so you only need
1729
+ * to pass the workflow/scope name. Use the matching `proxy*SandboxOps()`
1730
+ * helper from the adapter's `/workflow` entrypoint on the workflow side.
1731
+ *
1732
+ * @param scope - Workflow name (appended to the provider id)
1733
+ *
1734
+ * @example
1735
+ * ```typescript
1736
+ * const manager = new SandboxManager(new InMemorySandboxProvider());
1737
+ * manager.createActivities("CodingAgent");
1738
+ * // registers: inMemoryCodingAgentCreateSandbox, inMemoryCodingAgentDestroySandbox, …
1739
+ *
1740
+ * const vmgr = new SandboxManager(new VirtualSandboxProvider(resolver));
1741
+ * vmgr.createActivities("CodingAgent");
1742
+ * // registers: virtualCodingAgentCreateSandbox, …
1743
+ * ```
1748
1744
  */
1749
- createActivities() {
1750
- return {
1745
+ createActivities(scope) {
1746
+ const prefix = `${this.provider.id}${scope.charAt(0).toUpperCase()}${scope.slice(1)}`;
1747
+ const ops = {
1751
1748
  createSandbox: async (options) => {
1752
1749
  return this.create(options);
1753
1750
  },
@@ -1756,8 +1753,15 @@ var SandboxManager = class {
1756
1753
  },
1757
1754
  snapshotSandbox: async (sandboxId) => {
1758
1755
  return this.snapshot(sandboxId);
1756
+ },
1757
+ forkSandbox: async (sandboxId) => {
1758
+ return this.fork(sandboxId);
1759
1759
  }
1760
1760
  };
1761
+ const cap = (s) => s.charAt(0).toUpperCase() + s.slice(1);
1762
+ return Object.fromEntries(
1763
+ Object.entries(ops).map(([k, v]) => [`${prefix}${cap(k)}`, v])
1764
+ );
1761
1765
  }
1762
1766
  };
1763
1767
 
@@ -2015,6 +2019,6 @@ var toTree = async (fs, opts = {}) => {
2015
2019
  return base + subtree;
2016
2020
  };
2017
2021
 
2018
- export { FileSystemSkillProvider, SandboxManager, SandboxNotFoundError, SandboxNotSupportedError, applyVirtualTreeMutations, askUserQuestionTool, bashHandler, bashTool, createAgentStateManager, createAskUserQuestionHandler, createBashToolDescription, createReadSkillHandler, createReadSkillTool, createRunAgentActivity, createSession, createTaskCreateHandler, createTaskGetHandler, createTaskListHandler, createTaskUpdateHandler, createThreadManager, createToolRouter, defineSubagent, defineSubagentWorkflow, defineTool, defineWorkflow, editHandler, editTool, filesWithMimeType, formatVirtualFileTree, getShortId, globHandler, globTool, grepTool, hasDirectory, hasFileWithMimeType, hasNoOtherToolCalls, isTerminalStatus, parseSkillFile, proxyDefaultThreadOps, proxySandboxOps, queryParentWorkflowState, readFileHandler, readFileTool, taskCreateTool, taskGetTool, taskListTool, taskUpdateTool, toTree, withAutoAppend, withParentWorkflowState, withSandbox, writeFileHandler, writeFileTool };
2022
+ export { FileSystemSkillProvider, SandboxManager, SandboxNotFoundError, SandboxNotSupportedError, applyVirtualTreeMutations, askUserQuestionTool, bashHandler, bashTool, createAgentStateManager, createAskUserQuestionHandler, createBashToolDescription, createReadSkillHandler, createReadSkillTool, createRunAgentActivity, createSession, createTaskCreateHandler, createTaskGetHandler, createTaskListHandler, createTaskUpdateHandler, createThreadManager, createToolRouter, defineSubagent, defineSubagentWorkflow, defineTool, defineWorkflow, editHandler, editTool, filesWithMimeType, formatVirtualFileTree, getShortId, globHandler, globTool, grepTool, hasDirectory, hasFileWithMimeType, hasNoOtherToolCalls, isTerminalStatus, parseSkillFile, queryParentWorkflowState, readFileHandler, readFileTool, taskCreateTool, taskGetTool, taskListTool, taskUpdateTool, toTree, withAutoAppend, withParentWorkflowState, withSandbox, writeFileHandler, writeFileTool };
2019
2023
  //# sourceMappingURL=index.js.map
2020
2024
  //# sourceMappingURL=index.js.map