zeitlich 0.2.41 → 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/dist/{activities-qUflxmfS.d.cts → activities-Coafq5zr.d.cts} +2 -2
- package/dist/{activities-D_g13S3y.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 +9 -0
- package/dist/adapters/sandbox/e2b/index.cjs.map +1 -1
- package/dist/adapters/sandbox/e2b/index.d.cts +13 -5
- package/dist/adapters/sandbox/e2b/index.d.ts +13 -5
- package/dist/adapters/sandbox/e2b/index.js +9 -1
- 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 +5 -5
- package/dist/adapters/thread/anthropic/index.d.ts +5 -5
- package/dist/adapters/thread/anthropic/index.js.map +1 -1
- package/dist/adapters/thread/anthropic/workflow.d.cts +5 -5
- package/dist/adapters/thread/anthropic/workflow.d.ts +5 -5
- package/dist/adapters/thread/google-genai/index.cjs.map +1 -1
- package/dist/adapters/thread/google-genai/index.d.cts +5 -5
- package/dist/adapters/thread/google-genai/index.d.ts +5 -5
- package/dist/adapters/thread/google-genai/index.js.map +1 -1
- package/dist/adapters/thread/google-genai/workflow.d.cts +5 -5
- package/dist/adapters/thread/google-genai/workflow.d.ts +5 -5
- package/dist/adapters/thread/langchain/index.cjs.map +1 -1
- package/dist/adapters/thread/langchain/index.d.cts +5 -5
- package/dist/adapters/thread/langchain/index.d.ts +5 -5
- package/dist/adapters/thread/langchain/index.js.map +1 -1
- package/dist/adapters/thread/langchain/workflow.d.cts +5 -5
- package/dist/adapters/thread/langchain/workflow.d.ts +5 -5
- package/dist/index.cjs +224 -70
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +66 -16
- package/dist/index.d.ts +66 -16
- package/dist/index.js +224 -70
- package/dist/index.js.map +1 -1
- package/dist/{proxy-D7mvDEO6.d.cts → proxy-Bf7uI-Hw.d.cts} +1 -1
- package/dist/{proxy-BbcgoXg1.d.ts → proxy-COqA95FW.d.ts} +1 -1
- package/dist/{thread-manager-CTXPCu9W.d.ts → thread-manager-BhkOyQ1I.d.ts} +2 -2
- package/dist/{thread-manager-Dqstsw4i.d.ts → thread-manager-Bi1XlbpJ.d.ts} +2 -2
- package/dist/{thread-manager-cLhDhRRc.d.cts → thread-manager-BsLO3Fgc.d.cts} +2 -2
- package/dist/{thread-manager-DrWfVjlj.d.cts → thread-manager-wRVVBFgj.d.cts} +2 -2
- package/dist/{types-CjF1_Idx.d.ts → types-BkX4HLzi.d.ts} +1 -1
- package/dist/{types-CdvcmXb6.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-DjaQKUJx.d.cts → types-CdALEF3z.d.cts} +300 -20
- package/dist/{types-BqTmyH31.d.ts → types-ChAy_jSP.d.ts} +300 -20
- package/dist/types-CjY93AWZ.d.cts +84 -0
- package/dist/types-gVa5XCWD.d.ts +84 -0
- package/dist/{workflow-N1MNDoul.d.ts → workflow-BwT5EybR.d.ts} +7 -6
- package/dist/{workflow-CuqxgS6X.d.cts → workflow-DMmiaw6w.d.cts} +7 -6
- package/dist/workflow.cjs +99 -46
- 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 +99 -46
- package/dist/workflow.js.map +1 -1
- package/package.json +7 -32
- package/src/adapters/sandbox/daytona/index.ts +25 -48
- package/src/adapters/sandbox/daytona/proxy.ts +7 -8
- package/src/adapters/sandbox/e2b/index.ts +21 -6
- package/src/adapters/sandbox/e2b/proxy.ts +3 -2
- package/src/adapters/sandbox/inmemory/index.ts +21 -1
- package/src/adapters/sandbox/inmemory/proxy.ts +7 -3
- 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.ts +97 -35
- package/src/lib/session/types.ts +181 -5
- package/src/lib/subagent/handler.ts +66 -43
- package/src/lib/subagent/types.ts +484 -16
- 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,16 +1,16 @@
|
|
|
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/common';
|
|
11
12
|
import '@temporalio/workflow';
|
|
12
13
|
import '@temporalio/common/lib/interfaces';
|
|
13
|
-
import '@temporalio/common';
|
|
14
14
|
import 'ioredis';
|
|
15
15
|
|
|
16
16
|
/**
|
|
@@ -275,8 +275,16 @@ interface SandboxManagerHooks<TOptions extends SandboxCreateOptions = SandboxCre
|
|
|
275
275
|
/**
|
|
276
276
|
* Stateless facade over a {@link SandboxProvider}.
|
|
277
277
|
*
|
|
278
|
-
*
|
|
279
|
-
*
|
|
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`.
|
|
280
288
|
*
|
|
281
289
|
* Optional {@link SandboxManagerHooks} can be passed at construction time.
|
|
282
290
|
* The `onPreCreate` hook runs inside the `createSandbox` activity, receiving
|
|
@@ -314,25 +322,61 @@ interface SandboxManagerHooks<TOptions extends SandboxCreateOptions = SandboxCre
|
|
|
314
322
|
* );
|
|
315
323
|
* ```
|
|
316
324
|
*/
|
|
317
|
-
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> {
|
|
318
326
|
private provider;
|
|
319
327
|
private hooks;
|
|
320
|
-
constructor(provider: SandboxProvider<TOptions, TSandbox> & {
|
|
328
|
+
constructor(provider: SandboxProvider<TOptions, TSandbox, TCaps> & {
|
|
321
329
|
readonly id: TId;
|
|
322
330
|
}, options?: {
|
|
323
331
|
hooks?: SandboxManagerHooks<TOptions, TCtx>;
|
|
324
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;
|
|
325
351
|
create(options?: TOptions, ctx?: TCtx): Promise<{
|
|
326
352
|
sandboxId: string;
|
|
327
353
|
} | null>;
|
|
328
354
|
getSandbox(id: string): Promise<TSandbox>;
|
|
329
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
|
+
*/
|
|
330
365
|
pause(id: string, ttlSeconds?: number): Promise<void>;
|
|
331
366
|
resume(id: string): Promise<void>;
|
|
332
367
|
snapshot(id: string, options?: TOptions): Promise<SandboxSnapshot>;
|
|
333
368
|
restore(snapshot: SandboxSnapshot, options?: TOptions): Promise<string>;
|
|
334
369
|
deleteSnapshot(snapshot: SandboxSnapshot): Promise<void>;
|
|
335
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;
|
|
336
380
|
/**
|
|
337
381
|
* Returns Temporal activity functions with prefixed names.
|
|
338
382
|
*
|
|
@@ -340,6 +384,11 @@ declare class SandboxManager<TOptions extends SandboxCreateOptions = SandboxCrea
|
|
|
340
384
|
* to pass the workflow/scope name. Use the matching `proxy*SandboxOps()`
|
|
341
385
|
* helper from the adapter's `/workflow` entrypoint on the workflow side.
|
|
342
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
|
+
*
|
|
343
392
|
* @param scope - Workflow name (appended to the provider id)
|
|
344
393
|
*
|
|
345
394
|
* @example
|
|
@@ -350,10 +399,11 @@ declare class SandboxManager<TOptions extends SandboxCreateOptions = SandboxCrea
|
|
|
350
399
|
*
|
|
351
400
|
* const dmgr = new SandboxManager(new DaytonaSandboxProvider(config));
|
|
352
401
|
* dmgr.createActivities("CodingAgent");
|
|
353
|
-
* // registers: daytonaCodingAgentCreateSandbox,
|
|
402
|
+
* // registers: daytonaCodingAgentCreateSandbox, daytonaCodingAgentDestroySandbox
|
|
403
|
+
* // (snapshot/restore/fork/pause/resume omitted — Daytona doesn't declare them)
|
|
354
404
|
* ```
|
|
355
405
|
*/
|
|
356
|
-
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>;
|
|
357
407
|
}
|
|
358
408
|
|
|
359
409
|
/**
|
|
@@ -544,4 +594,4 @@ declare const toTree: (fs: SandboxFileSystem, opts?: {
|
|
|
544
594
|
sort?: boolean;
|
|
545
595
|
}) => Promise<string>;
|
|
546
596
|
|
|
547
|
-
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, type WithSandboxOptions, 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,16 +1,16 @@
|
|
|
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/common';
|
|
11
12
|
import '@temporalio/workflow';
|
|
12
13
|
import '@temporalio/common/lib/interfaces';
|
|
13
|
-
import '@temporalio/common';
|
|
14
14
|
import 'ioredis';
|
|
15
15
|
|
|
16
16
|
/**
|
|
@@ -275,8 +275,16 @@ interface SandboxManagerHooks<TOptions extends SandboxCreateOptions = SandboxCre
|
|
|
275
275
|
/**
|
|
276
276
|
* Stateless facade over a {@link SandboxProvider}.
|
|
277
277
|
*
|
|
278
|
-
*
|
|
279
|
-
*
|
|
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`.
|
|
280
288
|
*
|
|
281
289
|
* Optional {@link SandboxManagerHooks} can be passed at construction time.
|
|
282
290
|
* The `onPreCreate` hook runs inside the `createSandbox` activity, receiving
|
|
@@ -314,25 +322,61 @@ interface SandboxManagerHooks<TOptions extends SandboxCreateOptions = SandboxCre
|
|
|
314
322
|
* );
|
|
315
323
|
* ```
|
|
316
324
|
*/
|
|
317
|
-
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> {
|
|
318
326
|
private provider;
|
|
319
327
|
private hooks;
|
|
320
|
-
constructor(provider: SandboxProvider<TOptions, TSandbox> & {
|
|
328
|
+
constructor(provider: SandboxProvider<TOptions, TSandbox, TCaps> & {
|
|
321
329
|
readonly id: TId;
|
|
322
330
|
}, options?: {
|
|
323
331
|
hooks?: SandboxManagerHooks<TOptions, TCtx>;
|
|
324
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;
|
|
325
351
|
create(options?: TOptions, ctx?: TCtx): Promise<{
|
|
326
352
|
sandboxId: string;
|
|
327
353
|
} | null>;
|
|
328
354
|
getSandbox(id: string): Promise<TSandbox>;
|
|
329
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
|
+
*/
|
|
330
365
|
pause(id: string, ttlSeconds?: number): Promise<void>;
|
|
331
366
|
resume(id: string): Promise<void>;
|
|
332
367
|
snapshot(id: string, options?: TOptions): Promise<SandboxSnapshot>;
|
|
333
368
|
restore(snapshot: SandboxSnapshot, options?: TOptions): Promise<string>;
|
|
334
369
|
deleteSnapshot(snapshot: SandboxSnapshot): Promise<void>;
|
|
335
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;
|
|
336
380
|
/**
|
|
337
381
|
* Returns Temporal activity functions with prefixed names.
|
|
338
382
|
*
|
|
@@ -340,6 +384,11 @@ declare class SandboxManager<TOptions extends SandboxCreateOptions = SandboxCrea
|
|
|
340
384
|
* to pass the workflow/scope name. Use the matching `proxy*SandboxOps()`
|
|
341
385
|
* helper from the adapter's `/workflow` entrypoint on the workflow side.
|
|
342
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
|
+
*
|
|
343
392
|
* @param scope - Workflow name (appended to the provider id)
|
|
344
393
|
*
|
|
345
394
|
* @example
|
|
@@ -350,10 +399,11 @@ declare class SandboxManager<TOptions extends SandboxCreateOptions = SandboxCrea
|
|
|
350
399
|
*
|
|
351
400
|
* const dmgr = new SandboxManager(new DaytonaSandboxProvider(config));
|
|
352
401
|
* dmgr.createActivities("CodingAgent");
|
|
353
|
-
* // registers: daytonaCodingAgentCreateSandbox,
|
|
402
|
+
* // registers: daytonaCodingAgentCreateSandbox, daytonaCodingAgentDestroySandbox
|
|
403
|
+
* // (snapshot/restore/fork/pause/resume omitted — Daytona doesn't declare them)
|
|
354
404
|
* ```
|
|
355
405
|
*/
|
|
356
|
-
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>;
|
|
357
407
|
}
|
|
358
408
|
|
|
359
409
|
/**
|
|
@@ -544,4 +594,4 @@ declare const toTree: (fs: SandboxFileSystem, opts?: {
|
|
|
544
594
|
sort?: boolean;
|
|
545
595
|
}) => Promise<string>;
|
|
546
596
|
|
|
547
|
-
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, type WithSandboxOptions, 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 };
|