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.
- package/README.md +12 -1
- package/dist/{activities-CvUrG3YG.d.cts → activities-Coafq5zr.d.cts} +2 -2
- package/dist/{activities-CULxRzJ1.d.ts → activities-CrN-ghLo.d.ts} +2 -2
- package/dist/adapters/sandbox/daytona/index.cjs +4 -23
- package/dist/adapters/sandbox/daytona/index.cjs.map +1 -1
- package/dist/adapters/sandbox/daytona/index.d.cts +18 -86
- package/dist/adapters/sandbox/daytona/index.d.ts +18 -86
- package/dist/adapters/sandbox/daytona/index.js +4 -23
- package/dist/adapters/sandbox/daytona/index.js.map +1 -1
- package/dist/adapters/sandbox/daytona/workflow.cjs +1 -7
- package/dist/adapters/sandbox/daytona/workflow.cjs.map +1 -1
- package/dist/adapters/sandbox/daytona/workflow.d.cts +9 -2
- package/dist/adapters/sandbox/daytona/workflow.d.ts +9 -2
- package/dist/adapters/sandbox/daytona/workflow.js +1 -7
- package/dist/adapters/sandbox/daytona/workflow.js.map +1 -1
- package/dist/adapters/sandbox/e2b/index.cjs +21 -3
- package/dist/adapters/sandbox/e2b/index.cjs.map +1 -1
- package/dist/adapters/sandbox/e2b/index.d.cts +48 -7
- package/dist/adapters/sandbox/e2b/index.d.ts +48 -7
- package/dist/adapters/sandbox/e2b/index.js +22 -5
- package/dist/adapters/sandbox/e2b/index.js.map +1 -1
- package/dist/adapters/sandbox/e2b/workflow.cjs.map +1 -1
- package/dist/adapters/sandbox/e2b/workflow.d.cts +4 -2
- package/dist/adapters/sandbox/e2b/workflow.d.ts +4 -2
- package/dist/adapters/sandbox/e2b/workflow.js.map +1 -1
- package/dist/adapters/sandbox/inmemory/index.cjs +11 -0
- package/dist/adapters/sandbox/inmemory/index.cjs.map +1 -1
- package/dist/adapters/sandbox/inmemory/index.d.cts +11 -3
- package/dist/adapters/sandbox/inmemory/index.d.ts +11 -3
- package/dist/adapters/sandbox/inmemory/index.js +11 -1
- package/dist/adapters/sandbox/inmemory/index.js.map +1 -1
- package/dist/adapters/sandbox/inmemory/workflow.cjs.map +1 -1
- package/dist/adapters/sandbox/inmemory/workflow.d.cts +4 -2
- package/dist/adapters/sandbox/inmemory/workflow.d.ts +4 -2
- package/dist/adapters/sandbox/inmemory/workflow.js.map +1 -1
- package/dist/adapters/thread/anthropic/index.cjs.map +1 -1
- package/dist/adapters/thread/anthropic/index.d.cts +6 -6
- package/dist/adapters/thread/anthropic/index.d.ts +6 -6
- package/dist/adapters/thread/anthropic/index.js.map +1 -1
- package/dist/adapters/thread/anthropic/workflow.d.cts +6 -6
- package/dist/adapters/thread/anthropic/workflow.d.ts +6 -6
- package/dist/adapters/thread/google-genai/index.cjs.map +1 -1
- package/dist/adapters/thread/google-genai/index.d.cts +6 -6
- package/dist/adapters/thread/google-genai/index.d.ts +6 -6
- package/dist/adapters/thread/google-genai/index.js.map +1 -1
- package/dist/adapters/thread/google-genai/workflow.d.cts +6 -6
- package/dist/adapters/thread/google-genai/workflow.d.ts +6 -6
- package/dist/adapters/thread/langchain/index.cjs.map +1 -1
- package/dist/adapters/thread/langchain/index.d.cts +6 -6
- package/dist/adapters/thread/langchain/index.d.ts +6 -6
- package/dist/adapters/thread/langchain/index.js.map +1 -1
- package/dist/adapters/thread/langchain/workflow.d.cts +6 -6
- package/dist/adapters/thread/langchain/workflow.d.ts +6 -6
- package/dist/index.cjs +316 -119
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +93 -17
- package/dist/index.d.ts +93 -17
- package/dist/index.js +317 -120
- package/dist/index.js.map +1 -1
- package/dist/{proxy-5EbwzaY4.d.cts → proxy-Bf7uI-Hw.d.cts} +1 -1
- package/dist/{proxy-wZufFfBh.d.ts → proxy-COqA95FW.d.ts} +1 -1
- package/dist/{thread-manager-BqBAIsED.d.ts → thread-manager-BhkOyQ1I.d.ts} +2 -2
- package/dist/{thread-manager-BNiIt5r8.d.ts → thread-manager-Bi1XlbpJ.d.ts} +2 -2
- package/dist/{thread-manager-DF8WuCRs.d.cts → thread-manager-BsLO3Fgc.d.cts} +2 -2
- package/dist/{thread-manager-BoN5DOvG.d.cts → thread-manager-wRVVBFgj.d.cts} +2 -2
- package/dist/{types-C7OoY7h8.d.ts → types-BkX4HLzi.d.ts} +1 -1
- package/dist/{types-CuISs0Ub.d.cts → types-C66-BVBr.d.cts} +1 -1
- package/dist/types-CJ7tCdl6.d.cts +266 -0
- package/dist/types-CJ7tCdl6.d.ts +266 -0
- package/dist/{types-DeQH84C_.d.ts → types-CdALEF3z.d.cts} +342 -23
- package/dist/{types-Cn2r3ol3.d.cts → types-ChAy_jSP.d.ts} +342 -23
- package/dist/types-CjY93AWZ.d.cts +84 -0
- package/dist/types-gVa5XCWD.d.ts +84 -0
- package/dist/{workflow-DhplIN65.d.cts → workflow-BwT5EybR.d.ts} +7 -6
- package/dist/{workflow-C2MZZj5K.d.ts → workflow-DMmiaw6w.d.cts} +7 -6
- package/dist/workflow.cjs +138 -77
- package/dist/workflow.cjs.map +1 -1
- package/dist/workflow.d.cts +4 -4
- package/dist/workflow.d.ts +4 -4
- package/dist/workflow.js +139 -78
- package/dist/workflow.js.map +1 -1
- package/package.json +17 -33
- package/src/adapters/sandbox/daytona/index.ts +25 -48
- package/src/adapters/sandbox/daytona/proxy.ts +7 -8
- package/src/adapters/sandbox/e2b/README.md +81 -0
- package/src/adapters/sandbox/e2b/index.ts +53 -11
- package/src/adapters/sandbox/e2b/keep-alive.test.ts +115 -0
- package/src/adapters/sandbox/e2b/proxy.ts +3 -2
- package/src/adapters/sandbox/e2b/types.ts +34 -2
- package/src/adapters/sandbox/inmemory/index.ts +21 -1
- package/src/adapters/sandbox/inmemory/proxy.ts +7 -3
- package/src/index.ts +1 -1
- package/src/lib/activity.ts +5 -0
- package/src/lib/sandbox/capability-types.test.ts +859 -0
- package/src/lib/sandbox/index.ts +1 -0
- package/src/lib/sandbox/manager.ts +187 -31
- package/src/lib/sandbox/types.ts +189 -46
- package/src/lib/session/index.ts +1 -0
- package/src/lib/session/session.integration.test.ts +58 -0
- package/src/lib/session/session.ts +109 -50
- package/src/lib/session/types.ts +189 -8
- package/src/lib/subagent/handler.ts +66 -43
- package/src/lib/subagent/subagent.integration.test.ts +2 -0
- package/src/lib/subagent/types.ts +492 -16
- package/src/lib/subagent/workflow.ts +11 -1
- package/src/lib/tool-router/auto-append-sandbox.integration.test.ts +158 -0
- package/src/lib/tool-router/index.ts +1 -1
- package/src/lib/tool-router/with-sandbox.ts +45 -2
- package/src/lib/virtual-fs/filesystem.ts +41 -16
- package/src/lib/virtual-fs/types.ts +19 -0
- package/src/lib/virtual-fs/virtual-fs.test.ts +204 -1
- package/src/tools/read-file/handler.test.ts +83 -0
- package/src/workflow.ts +3 -0
- package/tsup.config.ts +0 -4
- package/dist/adapters/sandbox/bedrock/index.cjs +0 -457
- package/dist/adapters/sandbox/bedrock/index.cjs.map +0 -1
- package/dist/adapters/sandbox/bedrock/index.d.cts +0 -25
- package/dist/adapters/sandbox/bedrock/index.d.ts +0 -25
- package/dist/adapters/sandbox/bedrock/index.js +0 -454
- package/dist/adapters/sandbox/bedrock/index.js.map +0 -1
- package/dist/adapters/sandbox/bedrock/workflow.cjs +0 -36
- package/dist/adapters/sandbox/bedrock/workflow.cjs.map +0 -1
- package/dist/adapters/sandbox/bedrock/workflow.d.cts +0 -29
- package/dist/adapters/sandbox/bedrock/workflow.d.ts +0 -29
- package/dist/adapters/sandbox/bedrock/workflow.js +0 -34
- package/dist/adapters/sandbox/bedrock/workflow.js.map +0 -1
- package/dist/types-DAsQ21Rt.d.ts +0 -74
- package/dist/types-lm8tMNJQ.d.cts +0 -74
- package/dist/types-yx0LzPGn.d.cts +0 -173
- package/dist/types-yx0LzPGn.d.ts +0 -173
- package/src/adapters/sandbox/bedrock/filesystem.ts +0 -340
- package/src/adapters/sandbox/bedrock/index.ts +0 -274
- package/src/adapters/sandbox/bedrock/proxy.ts +0 -59
- package/src/adapters/sandbox/bedrock/types.ts +0 -24
package/dist/index.d.cts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { B as BashArgs, F as FileEditArgs, G as GlobArgs, a as FileReadArgs, b as FileWriteArgs } from './workflow-
|
|
2
|
-
export { A as AskUserQuestionArgs, D as DEFAULT_SUBAGENT_WORKFLOW_RUN_TIMEOUT, c as FileTreeAccessor, 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-
|
|
3
|
-
import { R as RouterContext, e as ToolResultConfig, d as ActivityToolHandler, J as JsonValue, c as ToolHandlerResponse, B as BaseAgentState, f as RunAgentConfig, g as SkillProvider, h as SkillMetadata, i as Skill, F as FileEntryMetadata, j as FileResolver, V as VirtualFsContext, k as TreeMutation, l as PrefixedVirtualFsOps } from './types-
|
|
4
|
-
export { m as AgentConfig, n as AgentFile, A as AgentResponse, o as AgentState, p as AgentStateManager, q as AgentStatus, r as AppendToolResultFn, s as FileEntry, H as Hooks, I as InferToolResults, t as JsonPrimitive, u as JsonSerializable, a as ModelInvoker, M as ModelInvokerConfig, v as ParsedToolCall, w as ParsedToolCallUnion, P as PersistedThreadState, x as PostHumanMessageAppendHook, y as PostHumanMessageAppendHookContext, z as PostToolUseFailureHook, C as PostToolUseFailureHookContext, D as PostToolUseFailureHookResult, E as PostToolUseHook, G as PostToolUseHookContext, K as PreHumanMessageAppendHook, L as PreHumanMessageAppendHookContext, N as PreToolUseHook, O as PreToolUseHookContext, Q as PreToolUseHookResult, b as PrefixedThreadOps, U as ProcessToolCallsContext, W as ProcessToolCallsResult, X as RawToolCall, Y as RewindSignal, Z as RunAgentActivity, _ as SandboxInit, $ as SandboxShutdown, S as ScopedPrefix, a0 as SerializableToolDefinition, a1 as SessionConfig, a2 as SessionEndHook, a3 as SessionEndHookContext, a4 as SessionExitReason, a5 as
|
|
5
|
-
import {
|
|
6
|
-
export {
|
|
1
|
+
import { B as BashArgs, F as FileEditArgs, G as GlobArgs, a as FileReadArgs, b as FileWriteArgs } from './workflow-DMmiaw6w.cjs';
|
|
2
|
+
export { A as AskUserQuestionArgs, D as DEFAULT_SUBAGENT_WORKFLOW_RUN_TIMEOUT, c as FileTreeAccessor, 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';
|
|
3
|
+
import { R as RouterContext, e as ToolResultConfig, d as ActivityToolHandler, J as JsonValue, c as ToolHandlerResponse, B as BaseAgentState, f as RunAgentConfig, g as SkillProvider, h as SkillMetadata, i as Skill, F as FileEntryMetadata, j as FileResolver, V as VirtualFsContext, k as TreeMutation, l as PrefixedVirtualFsOps } from './types-CdALEF3z.cjs';
|
|
4
|
+
export { m as AgentConfig, n as AgentFile, A as AgentResponse, o as AgentState, p as AgentStateManager, q as AgentStatus, r as AppendToolResultFn, s as FileEntry, H as Hooks, I as InferToolResults, t as JsonPrimitive, u as JsonSerializable, a as ModelInvoker, M as ModelInvokerConfig, v as ParsedToolCall, w as ParsedToolCallUnion, P as PersistedThreadState, x as PostHumanMessageAppendHook, y as PostHumanMessageAppendHookContext, z as PostToolUseFailureHook, C as PostToolUseFailureHookContext, D as PostToolUseFailureHookResult, E as PostToolUseHook, G as PostToolUseHookContext, K as PreHumanMessageAppendHook, L as PreHumanMessageAppendHookContext, N as PreToolUseHook, O as PreToolUseHookContext, Q as PreToolUseHookResult, b as PrefixedThreadOps, U as ProcessToolCallsContext, W as ProcessToolCallsResult, X as RawToolCall, Y as RewindSignal, Z as RunAgentActivity, _ as SandboxInit, $ as SandboxShutdown, S as ScopedPrefix, a0 as SerializableToolDefinition, a1 as SessionConfig, a2 as SessionEndHook, a3 as SessionEndHookContext, a4 as SessionExitReason, a5 as SessionRequiredCaps, a6 as SessionResult, a7 as SessionStartHook, a8 as SessionStartHookContext, a9 as SubagentChildWorkflowOptions, aa as SubagentConfig, ab as SubagentContinuationCaps, ac as SubagentDefinition, ad as SubagentFnResult, ae as SubagentHandlerResponse, af as SubagentHooks, ag as SubagentSandboxConfig, ah as SubagentSandboxShutdown, ai as SubagentSessionInput, aj as SubagentWorkflow, ak as SubagentWorkflowInput, al as TaskStatus, am as ThreadInit, T as ThreadOps, an as TokenUsage, ao as ToolArgs, ap as ToolCallResult, aq as ToolCallResultUnion, ar as ToolDefinition, as as ToolHandler, at as ToolHooks, au as ToolMap, av as ToolNames, aw as ToolResult, ax as ToolRouter, ay as ToolRouterHooks, az as ToolWithHandler, aA as VirtualFileSystem, aB as VirtualFileTree, aC as VirtualFsOps, aD as VirtualFsState, aE as WorkflowTask, aF as ZeitlichSession, aG as isTerminalStatus } from './types-CdALEF3z.cjs';
|
|
5
|
+
import { b as Sandbox, c as SandboxFileSystem, a as SandboxCreateOptions, h as SandboxCapability, d as SandboxProvider, g as SandboxSnapshot, P as PrefixedSandboxOps, F as FileStat, D as DirentEntry, E as ExecResult } from './types-CJ7tCdl6.cjs';
|
|
6
|
+
export { i as ExecOptions, e as SandboxCapabilities, f as SandboxCreateResult, j as SandboxNotFoundError, k as SandboxNotSupportedError, S as SandboxOps } from './types-CJ7tCdl6.cjs';
|
|
7
7
|
import { WorkflowClient } from '@temporalio/client';
|
|
8
|
-
import { a as ThreadManagerConfig, B as BaseThreadManager } from './types-
|
|
9
|
-
export { P as ProviderThreadManager } from './types-
|
|
8
|
+
import { a as ThreadManagerConfig, B as BaseThreadManager } from './types-C66-BVBr.cjs';
|
|
9
|
+
export { P as ProviderThreadManager } from './types-C66-BVBr.cjs';
|
|
10
10
|
import 'zod';
|
|
11
|
-
import '@temporalio/workflow';
|
|
12
11
|
import '@temporalio/common';
|
|
12
|
+
import '@temporalio/workflow';
|
|
13
13
|
import '@temporalio/common/lib/interfaces';
|
|
14
14
|
import 'ioredis';
|
|
15
15
|
|
|
@@ -42,6 +42,32 @@ import 'ioredis';
|
|
|
42
42
|
*/
|
|
43
43
|
declare function withAutoAppend<TArgs, TResult, TContext extends RouterContext = RouterContext, TToolResponse = unknown>(threadHandler: (id: string, config: ToolResultConfig) => Promise<void>, handler: ActivityToolHandler<TArgs, TResult, TContext, TToolResponse>): ActivityToolHandler<TArgs, TResult, TContext>;
|
|
44
44
|
|
|
45
|
+
/**
|
|
46
|
+
* Options for {@link withSandbox}.
|
|
47
|
+
*/
|
|
48
|
+
interface WithSandboxOptions {
|
|
49
|
+
/**
|
|
50
|
+
* If `true`, a {@link SandboxNotFoundError} thrown by `manager.getSandbox`
|
|
51
|
+
* is translated into a structured tool-handler response (instead of
|
|
52
|
+
* propagating). This lets the agent return a graceful error to the model
|
|
53
|
+
* rather than crashing the workflow when the backing sandbox has been
|
|
54
|
+
* killed mid-run (e.g. because the E2B `timeoutMs` lifetime elapsed).
|
|
55
|
+
*
|
|
56
|
+
* Off by default to preserve the existing contract for callers that rely
|
|
57
|
+
* on the error bubbling out. New callers should generally enable this in
|
|
58
|
+
* combination with the E2B `keepAliveMs` provider option.
|
|
59
|
+
*
|
|
60
|
+
* @default false
|
|
61
|
+
*/
|
|
62
|
+
translateSandboxNotFound?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Custom tool response returned to the agent when the backing sandbox
|
|
65
|
+
* is not found and `translateSandboxNotFound` is `true`. Defaults to a
|
|
66
|
+
* generic English message. Use this to localize, match agent persona,
|
|
67
|
+
* or give the model more specific recovery instructions.
|
|
68
|
+
*/
|
|
69
|
+
sandboxNotFoundToolResponse?: string;
|
|
70
|
+
}
|
|
45
71
|
/**
|
|
46
72
|
* Extended router context with a resolved {@link Sandbox} instance.
|
|
47
73
|
*
|
|
@@ -95,7 +121,7 @@ declare function withSandbox<TArgs, TResult, TSandbox extends Sandbox = Sandbox,
|
|
|
95
121
|
}, handler: (args: TArgs, context: RouterContext & {
|
|
96
122
|
sandbox: TSandbox;
|
|
97
123
|
sandboxId: string;
|
|
98
|
-
}) => Promise<ToolHandlerResponse<TResult, TToolResponse
|
|
124
|
+
}) => Promise<ToolHandlerResponse<TResult, TToolResponse>>, options?: WithSandboxOptions): ActivityToolHandler<TArgs, TResult | null, RouterContext, TToolResponse | string>;
|
|
99
125
|
|
|
100
126
|
/**
|
|
101
127
|
* Safely retrieve Temporal activity heartbeat and cancellation signal.
|
|
@@ -249,8 +275,16 @@ interface SandboxManagerHooks<TOptions extends SandboxCreateOptions = SandboxCre
|
|
|
249
275
|
/**
|
|
250
276
|
* Stateless facade over a {@link SandboxProvider}.
|
|
251
277
|
*
|
|
252
|
-
*
|
|
253
|
-
*
|
|
278
|
+
* Generic over the same capability set (`TCaps`) as the underlying
|
|
279
|
+
* provider. The manager's lifecycle methods are always present on the
|
|
280
|
+
* class (so existing call sites compile unchanged), but
|
|
281
|
+
* {@link SandboxManager.createActivities} is capability-gated: only
|
|
282
|
+
* activities whose capability the provider declares via
|
|
283
|
+
* {@link SandboxProvider.supportedCapabilities} are wrapped, and the
|
|
284
|
+
* returned object's type omits absent ones.
|
|
285
|
+
*
|
|
286
|
+
* The default `TCaps = SandboxCapability` keeps the full method surface
|
|
287
|
+
* for existing usages that only pass `TOptions` / `TSandbox` / `TId`.
|
|
254
288
|
*
|
|
255
289
|
* Optional {@link SandboxManagerHooks} can be passed at construction time.
|
|
256
290
|
* The `onPreCreate` hook runs inside the `createSandbox` activity, receiving
|
|
@@ -288,25 +322,61 @@ interface SandboxManagerHooks<TOptions extends SandboxCreateOptions = SandboxCre
|
|
|
288
322
|
* );
|
|
289
323
|
* ```
|
|
290
324
|
*/
|
|
291
|
-
declare class SandboxManager<TOptions extends SandboxCreateOptions = SandboxCreateOptions, TSandbox extends Sandbox = Sandbox, TId extends string = string, TCtx = unknown> {
|
|
325
|
+
declare class SandboxManager<TOptions extends SandboxCreateOptions = SandboxCreateOptions, TSandbox extends Sandbox = Sandbox, TId extends string = string, TCtx = unknown, TCaps extends SandboxCapability = SandboxCapability> {
|
|
292
326
|
private provider;
|
|
293
327
|
private hooks;
|
|
294
|
-
constructor(provider: SandboxProvider<TOptions, TSandbox> & {
|
|
328
|
+
constructor(provider: SandboxProvider<TOptions, TSandbox, TCaps> & {
|
|
295
329
|
readonly id: TId;
|
|
296
330
|
}, options?: {
|
|
297
331
|
hooks?: SandboxManagerHooks<TOptions, TCtx>;
|
|
298
332
|
});
|
|
333
|
+
/**
|
|
334
|
+
* Verifies that the provider's runtime `supportedCapabilities` set is
|
|
335
|
+
* consistent with the gated methods physically present on the provider.
|
|
336
|
+
*
|
|
337
|
+
* Belt-and-suspenders complement to the type-level
|
|
338
|
+
* `ReadonlySet<TCaps & SandboxCapability>` constraint: TypeScript can
|
|
339
|
+
* prevent the runtime set from containing capabilities not declared in
|
|
340
|
+
* `TCaps`, but it cannot detect a provider that **declares** a cap in
|
|
341
|
+
* `TCaps` and forgets to include it in the runtime set (or that ships
|
|
342
|
+
* a method without listing its cap). Both shapes silently break
|
|
343
|
+
* activity registration, so we trip a loud failure at construction
|
|
344
|
+
* time instead.
|
|
345
|
+
*
|
|
346
|
+
* Adapters that derive both surfaces from a single `as const`
|
|
347
|
+
* capability array (the recommended pattern) pass this check by
|
|
348
|
+
* construction.
|
|
349
|
+
*/
|
|
350
|
+
private assertCapabilityRuntimeConsistency;
|
|
299
351
|
create(options?: TOptions, ctx?: TCtx): Promise<{
|
|
300
352
|
sandboxId: string;
|
|
301
353
|
} | null>;
|
|
302
354
|
getSandbox(id: string): Promise<TSandbox>;
|
|
303
355
|
destroy(id: string): Promise<void>;
|
|
356
|
+
/**
|
|
357
|
+
* Capability-gated lifecycle methods on the underlying provider.
|
|
358
|
+
*
|
|
359
|
+
* These manager methods always exist at runtime; calling one whose
|
|
360
|
+
* capability is absent from the provider's `supportedCapabilities`
|
|
361
|
+
* throws an error. The activities returned from
|
|
362
|
+
* {@link SandboxManager.createActivities} are gated at the type level
|
|
363
|
+
* via `TCaps`, which is where compile-time safety is enforced.
|
|
364
|
+
*/
|
|
304
365
|
pause(id: string, ttlSeconds?: number): Promise<void>;
|
|
305
366
|
resume(id: string): Promise<void>;
|
|
306
367
|
snapshot(id: string, options?: TOptions): Promise<SandboxSnapshot>;
|
|
307
368
|
restore(snapshot: SandboxSnapshot, options?: TOptions): Promise<string>;
|
|
308
369
|
deleteSnapshot(snapshot: SandboxSnapshot): Promise<void>;
|
|
309
370
|
fork(sandboxId: string, options?: TOptions): Promise<string>;
|
|
371
|
+
private providerMethod;
|
|
372
|
+
/**
|
|
373
|
+
* Constructs the structured error thrown when an unsupported lifecycle
|
|
374
|
+
* method is invoked through the manager. Uses the public
|
|
375
|
+
* {@link SandboxNotSupportedError} symbol so consumers that catch on
|
|
376
|
+
* `instanceof SandboxNotSupportedError` (the documented compatibility
|
|
377
|
+
* path) keep matching after the refactor.
|
|
378
|
+
*/
|
|
379
|
+
private unsupported;
|
|
310
380
|
/**
|
|
311
381
|
* Returns Temporal activity functions with prefixed names.
|
|
312
382
|
*
|
|
@@ -314,6 +384,11 @@ declare class SandboxManager<TOptions extends SandboxCreateOptions = SandboxCrea
|
|
|
314
384
|
* to pass the workflow/scope name. Use the matching `proxy*SandboxOps()`
|
|
315
385
|
* helper from the adapter's `/workflow` entrypoint on the workflow side.
|
|
316
386
|
*
|
|
387
|
+
* Activities are only registered for capabilities the provider declares
|
|
388
|
+
* via {@link SandboxProvider.supportedCapabilities}: methods omitted
|
|
389
|
+
* from the cap set are not wrapped, and the returned object's type
|
|
390
|
+
* omits the corresponding keys.
|
|
391
|
+
*
|
|
317
392
|
* @param scope - Workflow name (appended to the provider id)
|
|
318
393
|
*
|
|
319
394
|
* @example
|
|
@@ -324,10 +399,11 @@ declare class SandboxManager<TOptions extends SandboxCreateOptions = SandboxCrea
|
|
|
324
399
|
*
|
|
325
400
|
* const dmgr = new SandboxManager(new DaytonaSandboxProvider(config));
|
|
326
401
|
* dmgr.createActivities("CodingAgent");
|
|
327
|
-
* // registers: daytonaCodingAgentCreateSandbox,
|
|
402
|
+
* // registers: daytonaCodingAgentCreateSandbox, daytonaCodingAgentDestroySandbox
|
|
403
|
+
* // (snapshot/restore/fork/pause/resume omitted — Daytona doesn't declare them)
|
|
328
404
|
* ```
|
|
329
405
|
*/
|
|
330
|
-
createActivities<S extends string>(scope: S): PrefixedSandboxOps<`${TId}${Capitalize<S>}`, TOptions, TCtx>;
|
|
406
|
+
createActivities<S extends string>(scope: S): PrefixedSandboxOps<`${TId}${Capitalize<S>}`, TOptions, TCtx, TCaps>;
|
|
331
407
|
}
|
|
332
408
|
|
|
333
409
|
/**
|
|
@@ -518,4 +594,4 @@ declare const toTree: (fs: SandboxFileSystem, opts?: {
|
|
|
518
594
|
sort?: boolean;
|
|
519
595
|
}) => Promise<string>;
|
|
520
596
|
|
|
521
|
-
export { ActivityToolHandler, type AgentStateContext, BaseAgentState, BaseThreadManager, BashArgs, ExecResult, FileEditArgs, FileEntryMetadata, FileReadArgs, FileResolver, FileSystemSkillProvider, FileWriteArgs, GlobArgs, JsonValue, NodeFsSandboxFileSystem, type PreCreateHookResult, PrefixedSandboxOps, PrefixedVirtualFsOps, RouterContext, RunAgentConfig, Sandbox, type SandboxContext, SandboxCreateOptions, DirentEntry as SandboxDirentEntry, FileStat as SandboxFileStat, SandboxFileSystem, SandboxManager, type SandboxManagerHooks, SandboxProvider, SandboxSnapshot, Skill, SkillMetadata, SkillProvider, ThreadManagerConfig, ToolHandlerResponse, ToolResultConfig, TreeMutation, VirtualFsContext, bashHandler, createRunAgentActivity, createThreadManager, createVirtualFsActivities, editHandler, getActivityContext, globHandler, queryParentWorkflowState, readFileHandler, toTree, withAutoAppend, withParentWorkflowState, withSandbox, withVirtualFs, writeFileHandler };
|
|
597
|
+
export { ActivityToolHandler, type AgentStateContext, BaseAgentState, BaseThreadManager, BashArgs, ExecResult, FileEditArgs, FileEntryMetadata, FileReadArgs, FileResolver, FileSystemSkillProvider, FileWriteArgs, GlobArgs, JsonValue, NodeFsSandboxFileSystem, type PreCreateHookResult, PrefixedSandboxOps, PrefixedVirtualFsOps, RouterContext, RunAgentConfig, Sandbox, SandboxCapability, type SandboxContext, SandboxCreateOptions, DirentEntry as SandboxDirentEntry, FileStat as SandboxFileStat, SandboxFileSystem, SandboxManager, type SandboxManagerHooks, SandboxProvider, SandboxSnapshot, Skill, SkillMetadata, SkillProvider, ThreadManagerConfig, ToolHandlerResponse, ToolResultConfig, TreeMutation, VirtualFsContext, type WithSandboxOptions, bashHandler, createRunAgentActivity, createThreadManager, createVirtualFsActivities, editHandler, getActivityContext, globHandler, queryParentWorkflowState, readFileHandler, toTree, withAutoAppend, withParentWorkflowState, withSandbox, withVirtualFs, writeFileHandler };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { B as BashArgs, F as FileEditArgs, G as GlobArgs, a as FileReadArgs, b as FileWriteArgs } from './workflow-
|
|
2
|
-
export { A as AskUserQuestionArgs, D as DEFAULT_SUBAGENT_WORKFLOW_RUN_TIMEOUT, c as FileTreeAccessor, 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-
|
|
3
|
-
import { R as RouterContext, e as ToolResultConfig, d as ActivityToolHandler, J as JsonValue, c as ToolHandlerResponse, B as BaseAgentState, f as RunAgentConfig, g as SkillProvider, h as SkillMetadata, i as Skill, F as FileEntryMetadata, j as FileResolver, V as VirtualFsContext, k as TreeMutation, l as PrefixedVirtualFsOps } from './types-
|
|
4
|
-
export { m as AgentConfig, n as AgentFile, A as AgentResponse, o as AgentState, p as AgentStateManager, q as AgentStatus, r as AppendToolResultFn, s as FileEntry, H as Hooks, I as InferToolResults, t as JsonPrimitive, u as JsonSerializable, a as ModelInvoker, M as ModelInvokerConfig, v as ParsedToolCall, w as ParsedToolCallUnion, P as PersistedThreadState, x as PostHumanMessageAppendHook, y as PostHumanMessageAppendHookContext, z as PostToolUseFailureHook, C as PostToolUseFailureHookContext, D as PostToolUseFailureHookResult, E as PostToolUseHook, G as PostToolUseHookContext, K as PreHumanMessageAppendHook, L as PreHumanMessageAppendHookContext, N as PreToolUseHook, O as PreToolUseHookContext, Q as PreToolUseHookResult, b as PrefixedThreadOps, U as ProcessToolCallsContext, W as ProcessToolCallsResult, X as RawToolCall, Y as RewindSignal, Z as RunAgentActivity, _ as SandboxInit, $ as SandboxShutdown, S as ScopedPrefix, a0 as SerializableToolDefinition, a1 as SessionConfig, a2 as SessionEndHook, a3 as SessionEndHookContext, a4 as SessionExitReason, a5 as
|
|
5
|
-
import {
|
|
6
|
-
export {
|
|
1
|
+
import { B as BashArgs, F as FileEditArgs, G as GlobArgs, a as FileReadArgs, b as FileWriteArgs } from './workflow-BwT5EybR.js';
|
|
2
|
+
export { A as AskUserQuestionArgs, D as DEFAULT_SUBAGENT_WORKFLOW_RUN_TIMEOUT, c as FileTreeAccessor, 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';
|
|
3
|
+
import { R as RouterContext, e as ToolResultConfig, d as ActivityToolHandler, J as JsonValue, c as ToolHandlerResponse, B as BaseAgentState, f as RunAgentConfig, g as SkillProvider, h as SkillMetadata, i as Skill, F as FileEntryMetadata, j as FileResolver, V as VirtualFsContext, k as TreeMutation, l as PrefixedVirtualFsOps } from './types-ChAy_jSP.js';
|
|
4
|
+
export { m as AgentConfig, n as AgentFile, A as AgentResponse, o as AgentState, p as AgentStateManager, q as AgentStatus, r as AppendToolResultFn, s as FileEntry, H as Hooks, I as InferToolResults, t as JsonPrimitive, u as JsonSerializable, a as ModelInvoker, M as ModelInvokerConfig, v as ParsedToolCall, w as ParsedToolCallUnion, P as PersistedThreadState, x as PostHumanMessageAppendHook, y as PostHumanMessageAppendHookContext, z as PostToolUseFailureHook, C as PostToolUseFailureHookContext, D as PostToolUseFailureHookResult, E as PostToolUseHook, G as PostToolUseHookContext, K as PreHumanMessageAppendHook, L as PreHumanMessageAppendHookContext, N as PreToolUseHook, O as PreToolUseHookContext, Q as PreToolUseHookResult, b as PrefixedThreadOps, U as ProcessToolCallsContext, W as ProcessToolCallsResult, X as RawToolCall, Y as RewindSignal, Z as RunAgentActivity, _ as SandboxInit, $ as SandboxShutdown, S as ScopedPrefix, a0 as SerializableToolDefinition, a1 as SessionConfig, a2 as SessionEndHook, a3 as SessionEndHookContext, a4 as SessionExitReason, a5 as SessionRequiredCaps, a6 as SessionResult, a7 as SessionStartHook, a8 as SessionStartHookContext, a9 as SubagentChildWorkflowOptions, aa as SubagentConfig, ab as SubagentContinuationCaps, ac as SubagentDefinition, ad as SubagentFnResult, ae as SubagentHandlerResponse, af as SubagentHooks, ag as SubagentSandboxConfig, ah as SubagentSandboxShutdown, ai as SubagentSessionInput, aj as SubagentWorkflow, ak as SubagentWorkflowInput, al as TaskStatus, am as ThreadInit, T as ThreadOps, an as TokenUsage, ao as ToolArgs, ap as ToolCallResult, aq as ToolCallResultUnion, ar as ToolDefinition, as as ToolHandler, at as ToolHooks, au as ToolMap, av as ToolNames, aw as ToolResult, ax as ToolRouter, ay as ToolRouterHooks, az as ToolWithHandler, aA as VirtualFileSystem, aB as VirtualFileTree, aC as VirtualFsOps, aD as VirtualFsState, aE as WorkflowTask, aF as ZeitlichSession, aG as isTerminalStatus } from './types-ChAy_jSP.js';
|
|
5
|
+
import { b as Sandbox, c as SandboxFileSystem, a as SandboxCreateOptions, h as SandboxCapability, d as SandboxProvider, g as SandboxSnapshot, P as PrefixedSandboxOps, F as FileStat, D as DirentEntry, E as ExecResult } from './types-CJ7tCdl6.js';
|
|
6
|
+
export { i as ExecOptions, e as SandboxCapabilities, f as SandboxCreateResult, j as SandboxNotFoundError, k as SandboxNotSupportedError, S as SandboxOps } from './types-CJ7tCdl6.js';
|
|
7
7
|
import { WorkflowClient } from '@temporalio/client';
|
|
8
|
-
import { a as ThreadManagerConfig, B as BaseThreadManager } from './types-
|
|
9
|
-
export { P as ProviderThreadManager } from './types-
|
|
8
|
+
import { a as ThreadManagerConfig, B as BaseThreadManager } from './types-BkX4HLzi.js';
|
|
9
|
+
export { P as ProviderThreadManager } from './types-BkX4HLzi.js';
|
|
10
10
|
import 'zod';
|
|
11
|
-
import '@temporalio/workflow';
|
|
12
11
|
import '@temporalio/common';
|
|
12
|
+
import '@temporalio/workflow';
|
|
13
13
|
import '@temporalio/common/lib/interfaces';
|
|
14
14
|
import 'ioredis';
|
|
15
15
|
|
|
@@ -42,6 +42,32 @@ import 'ioredis';
|
|
|
42
42
|
*/
|
|
43
43
|
declare function withAutoAppend<TArgs, TResult, TContext extends RouterContext = RouterContext, TToolResponse = unknown>(threadHandler: (id: string, config: ToolResultConfig) => Promise<void>, handler: ActivityToolHandler<TArgs, TResult, TContext, TToolResponse>): ActivityToolHandler<TArgs, TResult, TContext>;
|
|
44
44
|
|
|
45
|
+
/**
|
|
46
|
+
* Options for {@link withSandbox}.
|
|
47
|
+
*/
|
|
48
|
+
interface WithSandboxOptions {
|
|
49
|
+
/**
|
|
50
|
+
* If `true`, a {@link SandboxNotFoundError} thrown by `manager.getSandbox`
|
|
51
|
+
* is translated into a structured tool-handler response (instead of
|
|
52
|
+
* propagating). This lets the agent return a graceful error to the model
|
|
53
|
+
* rather than crashing the workflow when the backing sandbox has been
|
|
54
|
+
* killed mid-run (e.g. because the E2B `timeoutMs` lifetime elapsed).
|
|
55
|
+
*
|
|
56
|
+
* Off by default to preserve the existing contract for callers that rely
|
|
57
|
+
* on the error bubbling out. New callers should generally enable this in
|
|
58
|
+
* combination with the E2B `keepAliveMs` provider option.
|
|
59
|
+
*
|
|
60
|
+
* @default false
|
|
61
|
+
*/
|
|
62
|
+
translateSandboxNotFound?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Custom tool response returned to the agent when the backing sandbox
|
|
65
|
+
* is not found and `translateSandboxNotFound` is `true`. Defaults to a
|
|
66
|
+
* generic English message. Use this to localize, match agent persona,
|
|
67
|
+
* or give the model more specific recovery instructions.
|
|
68
|
+
*/
|
|
69
|
+
sandboxNotFoundToolResponse?: string;
|
|
70
|
+
}
|
|
45
71
|
/**
|
|
46
72
|
* Extended router context with a resolved {@link Sandbox} instance.
|
|
47
73
|
*
|
|
@@ -95,7 +121,7 @@ declare function withSandbox<TArgs, TResult, TSandbox extends Sandbox = Sandbox,
|
|
|
95
121
|
}, handler: (args: TArgs, context: RouterContext & {
|
|
96
122
|
sandbox: TSandbox;
|
|
97
123
|
sandboxId: string;
|
|
98
|
-
}) => Promise<ToolHandlerResponse<TResult, TToolResponse
|
|
124
|
+
}) => Promise<ToolHandlerResponse<TResult, TToolResponse>>, options?: WithSandboxOptions): ActivityToolHandler<TArgs, TResult | null, RouterContext, TToolResponse | string>;
|
|
99
125
|
|
|
100
126
|
/**
|
|
101
127
|
* Safely retrieve Temporal activity heartbeat and cancellation signal.
|
|
@@ -249,8 +275,16 @@ interface SandboxManagerHooks<TOptions extends SandboxCreateOptions = SandboxCre
|
|
|
249
275
|
/**
|
|
250
276
|
* Stateless facade over a {@link SandboxProvider}.
|
|
251
277
|
*
|
|
252
|
-
*
|
|
253
|
-
*
|
|
278
|
+
* Generic over the same capability set (`TCaps`) as the underlying
|
|
279
|
+
* provider. The manager's lifecycle methods are always present on the
|
|
280
|
+
* class (so existing call sites compile unchanged), but
|
|
281
|
+
* {@link SandboxManager.createActivities} is capability-gated: only
|
|
282
|
+
* activities whose capability the provider declares via
|
|
283
|
+
* {@link SandboxProvider.supportedCapabilities} are wrapped, and the
|
|
284
|
+
* returned object's type omits absent ones.
|
|
285
|
+
*
|
|
286
|
+
* The default `TCaps = SandboxCapability` keeps the full method surface
|
|
287
|
+
* for existing usages that only pass `TOptions` / `TSandbox` / `TId`.
|
|
254
288
|
*
|
|
255
289
|
* Optional {@link SandboxManagerHooks} can be passed at construction time.
|
|
256
290
|
* The `onPreCreate` hook runs inside the `createSandbox` activity, receiving
|
|
@@ -288,25 +322,61 @@ interface SandboxManagerHooks<TOptions extends SandboxCreateOptions = SandboxCre
|
|
|
288
322
|
* );
|
|
289
323
|
* ```
|
|
290
324
|
*/
|
|
291
|
-
declare class SandboxManager<TOptions extends SandboxCreateOptions = SandboxCreateOptions, TSandbox extends Sandbox = Sandbox, TId extends string = string, TCtx = unknown> {
|
|
325
|
+
declare class SandboxManager<TOptions extends SandboxCreateOptions = SandboxCreateOptions, TSandbox extends Sandbox = Sandbox, TId extends string = string, TCtx = unknown, TCaps extends SandboxCapability = SandboxCapability> {
|
|
292
326
|
private provider;
|
|
293
327
|
private hooks;
|
|
294
|
-
constructor(provider: SandboxProvider<TOptions, TSandbox> & {
|
|
328
|
+
constructor(provider: SandboxProvider<TOptions, TSandbox, TCaps> & {
|
|
295
329
|
readonly id: TId;
|
|
296
330
|
}, options?: {
|
|
297
331
|
hooks?: SandboxManagerHooks<TOptions, TCtx>;
|
|
298
332
|
});
|
|
333
|
+
/**
|
|
334
|
+
* Verifies that the provider's runtime `supportedCapabilities` set is
|
|
335
|
+
* consistent with the gated methods physically present on the provider.
|
|
336
|
+
*
|
|
337
|
+
* Belt-and-suspenders complement to the type-level
|
|
338
|
+
* `ReadonlySet<TCaps & SandboxCapability>` constraint: TypeScript can
|
|
339
|
+
* prevent the runtime set from containing capabilities not declared in
|
|
340
|
+
* `TCaps`, but it cannot detect a provider that **declares** a cap in
|
|
341
|
+
* `TCaps` and forgets to include it in the runtime set (or that ships
|
|
342
|
+
* a method without listing its cap). Both shapes silently break
|
|
343
|
+
* activity registration, so we trip a loud failure at construction
|
|
344
|
+
* time instead.
|
|
345
|
+
*
|
|
346
|
+
* Adapters that derive both surfaces from a single `as const`
|
|
347
|
+
* capability array (the recommended pattern) pass this check by
|
|
348
|
+
* construction.
|
|
349
|
+
*/
|
|
350
|
+
private assertCapabilityRuntimeConsistency;
|
|
299
351
|
create(options?: TOptions, ctx?: TCtx): Promise<{
|
|
300
352
|
sandboxId: string;
|
|
301
353
|
} | null>;
|
|
302
354
|
getSandbox(id: string): Promise<TSandbox>;
|
|
303
355
|
destroy(id: string): Promise<void>;
|
|
356
|
+
/**
|
|
357
|
+
* Capability-gated lifecycle methods on the underlying provider.
|
|
358
|
+
*
|
|
359
|
+
* These manager methods always exist at runtime; calling one whose
|
|
360
|
+
* capability is absent from the provider's `supportedCapabilities`
|
|
361
|
+
* throws an error. The activities returned from
|
|
362
|
+
* {@link SandboxManager.createActivities} are gated at the type level
|
|
363
|
+
* via `TCaps`, which is where compile-time safety is enforced.
|
|
364
|
+
*/
|
|
304
365
|
pause(id: string, ttlSeconds?: number): Promise<void>;
|
|
305
366
|
resume(id: string): Promise<void>;
|
|
306
367
|
snapshot(id: string, options?: TOptions): Promise<SandboxSnapshot>;
|
|
307
368
|
restore(snapshot: SandboxSnapshot, options?: TOptions): Promise<string>;
|
|
308
369
|
deleteSnapshot(snapshot: SandboxSnapshot): Promise<void>;
|
|
309
370
|
fork(sandboxId: string, options?: TOptions): Promise<string>;
|
|
371
|
+
private providerMethod;
|
|
372
|
+
/**
|
|
373
|
+
* Constructs the structured error thrown when an unsupported lifecycle
|
|
374
|
+
* method is invoked through the manager. Uses the public
|
|
375
|
+
* {@link SandboxNotSupportedError} symbol so consumers that catch on
|
|
376
|
+
* `instanceof SandboxNotSupportedError` (the documented compatibility
|
|
377
|
+
* path) keep matching after the refactor.
|
|
378
|
+
*/
|
|
379
|
+
private unsupported;
|
|
310
380
|
/**
|
|
311
381
|
* Returns Temporal activity functions with prefixed names.
|
|
312
382
|
*
|
|
@@ -314,6 +384,11 @@ declare class SandboxManager<TOptions extends SandboxCreateOptions = SandboxCrea
|
|
|
314
384
|
* to pass the workflow/scope name. Use the matching `proxy*SandboxOps()`
|
|
315
385
|
* helper from the adapter's `/workflow` entrypoint on the workflow side.
|
|
316
386
|
*
|
|
387
|
+
* Activities are only registered for capabilities the provider declares
|
|
388
|
+
* via {@link SandboxProvider.supportedCapabilities}: methods omitted
|
|
389
|
+
* from the cap set are not wrapped, and the returned object's type
|
|
390
|
+
* omits the corresponding keys.
|
|
391
|
+
*
|
|
317
392
|
* @param scope - Workflow name (appended to the provider id)
|
|
318
393
|
*
|
|
319
394
|
* @example
|
|
@@ -324,10 +399,11 @@ declare class SandboxManager<TOptions extends SandboxCreateOptions = SandboxCrea
|
|
|
324
399
|
*
|
|
325
400
|
* const dmgr = new SandboxManager(new DaytonaSandboxProvider(config));
|
|
326
401
|
* dmgr.createActivities("CodingAgent");
|
|
327
|
-
* // registers: daytonaCodingAgentCreateSandbox,
|
|
402
|
+
* // registers: daytonaCodingAgentCreateSandbox, daytonaCodingAgentDestroySandbox
|
|
403
|
+
* // (snapshot/restore/fork/pause/resume omitted — Daytona doesn't declare them)
|
|
328
404
|
* ```
|
|
329
405
|
*/
|
|
330
|
-
createActivities<S extends string>(scope: S): PrefixedSandboxOps<`${TId}${Capitalize<S>}`, TOptions, TCtx>;
|
|
406
|
+
createActivities<S extends string>(scope: S): PrefixedSandboxOps<`${TId}${Capitalize<S>}`, TOptions, TCtx, TCaps>;
|
|
331
407
|
}
|
|
332
408
|
|
|
333
409
|
/**
|
|
@@ -518,4 +594,4 @@ declare const toTree: (fs: SandboxFileSystem, opts?: {
|
|
|
518
594
|
sort?: boolean;
|
|
519
595
|
}) => Promise<string>;
|
|
520
596
|
|
|
521
|
-
export { ActivityToolHandler, type AgentStateContext, BaseAgentState, BaseThreadManager, BashArgs, ExecResult, FileEditArgs, FileEntryMetadata, FileReadArgs, FileResolver, FileSystemSkillProvider, FileWriteArgs, GlobArgs, JsonValue, NodeFsSandboxFileSystem, type PreCreateHookResult, PrefixedSandboxOps, PrefixedVirtualFsOps, RouterContext, RunAgentConfig, Sandbox, type SandboxContext, SandboxCreateOptions, DirentEntry as SandboxDirentEntry, FileStat as SandboxFileStat, SandboxFileSystem, SandboxManager, type SandboxManagerHooks, SandboxProvider, SandboxSnapshot, Skill, SkillMetadata, SkillProvider, ThreadManagerConfig, ToolHandlerResponse, ToolResultConfig, TreeMutation, VirtualFsContext, bashHandler, createRunAgentActivity, createThreadManager, createVirtualFsActivities, editHandler, getActivityContext, globHandler, queryParentWorkflowState, readFileHandler, toTree, withAutoAppend, withParentWorkflowState, withSandbox, withVirtualFs, writeFileHandler };
|
|
597
|
+
export { ActivityToolHandler, type AgentStateContext, BaseAgentState, BaseThreadManager, BashArgs, ExecResult, FileEditArgs, FileEntryMetadata, FileReadArgs, FileResolver, FileSystemSkillProvider, FileWriteArgs, GlobArgs, JsonValue, NodeFsSandboxFileSystem, type PreCreateHookResult, PrefixedSandboxOps, PrefixedVirtualFsOps, RouterContext, RunAgentConfig, Sandbox, SandboxCapability, type SandboxContext, SandboxCreateOptions, DirentEntry as SandboxDirentEntry, FileStat as SandboxFileStat, SandboxFileSystem, SandboxManager, type SandboxManagerHooks, SandboxProvider, SandboxSnapshot, Skill, SkillMetadata, SkillProvider, ThreadManagerConfig, ToolHandlerResponse, ToolResultConfig, TreeMutation, VirtualFsContext, type WithSandboxOptions, bashHandler, createRunAgentActivity, createThreadManager, createVirtualFsActivities, editHandler, getActivityContext, globHandler, queryParentWorkflowState, readFileHandler, toTree, withAutoAppend, withParentWorkflowState, withSandbox, withVirtualFs, writeFileHandler };
|