zeitlich 0.2.32 → 0.2.34

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 (143) hide show
  1. package/README.md +28 -16
  2. package/dist/{activities-FIXVz7DT.d.ts → activities-JOqPfKP0.d.cts} +6 -5
  3. package/dist/{activities-DA-bQM12.d.cts → activities-WwMsjRwm.d.ts} +6 -5
  4. package/dist/adapters/sandbox/bedrock/index.cjs +2 -0
  5. package/dist/adapters/sandbox/bedrock/index.cjs.map +1 -1
  6. package/dist/adapters/sandbox/bedrock/index.d.cts +4 -3
  7. package/dist/adapters/sandbox/bedrock/index.d.ts +4 -3
  8. package/dist/adapters/sandbox/bedrock/index.js +2 -0
  9. package/dist/adapters/sandbox/bedrock/index.js.map +1 -1
  10. package/dist/adapters/sandbox/bedrock/workflow.cjs +1 -0
  11. package/dist/adapters/sandbox/bedrock/workflow.cjs.map +1 -1
  12. package/dist/adapters/sandbox/bedrock/workflow.d.cts +2 -2
  13. package/dist/adapters/sandbox/bedrock/workflow.d.ts +2 -2
  14. package/dist/adapters/sandbox/bedrock/workflow.js +1 -0
  15. package/dist/adapters/sandbox/bedrock/workflow.js.map +1 -1
  16. package/dist/adapters/sandbox/daytona/index.cjs +2 -0
  17. package/dist/adapters/sandbox/daytona/index.cjs.map +1 -1
  18. package/dist/adapters/sandbox/daytona/index.d.cts +2 -1
  19. package/dist/adapters/sandbox/daytona/index.d.ts +2 -1
  20. package/dist/adapters/sandbox/daytona/index.js +2 -0
  21. package/dist/adapters/sandbox/daytona/index.js.map +1 -1
  22. package/dist/adapters/sandbox/daytona/workflow.cjs +1 -0
  23. package/dist/adapters/sandbox/daytona/workflow.cjs.map +1 -1
  24. package/dist/adapters/sandbox/daytona/workflow.d.cts +1 -1
  25. package/dist/adapters/sandbox/daytona/workflow.d.ts +1 -1
  26. package/dist/adapters/sandbox/daytona/workflow.js +1 -0
  27. package/dist/adapters/sandbox/daytona/workflow.js.map +1 -1
  28. package/dist/adapters/sandbox/e2b/index.cjs +3 -0
  29. package/dist/adapters/sandbox/e2b/index.cjs.map +1 -1
  30. package/dist/adapters/sandbox/e2b/index.d.cts +2 -1
  31. package/dist/adapters/sandbox/e2b/index.d.ts +2 -1
  32. package/dist/adapters/sandbox/e2b/index.js +3 -0
  33. package/dist/adapters/sandbox/e2b/index.js.map +1 -1
  34. package/dist/adapters/sandbox/e2b/workflow.cjs +1 -0
  35. package/dist/adapters/sandbox/e2b/workflow.cjs.map +1 -1
  36. package/dist/adapters/sandbox/e2b/workflow.d.cts +1 -1
  37. package/dist/adapters/sandbox/e2b/workflow.d.ts +1 -1
  38. package/dist/adapters/sandbox/e2b/workflow.js +1 -0
  39. package/dist/adapters/sandbox/e2b/workflow.js.map +1 -1
  40. package/dist/adapters/sandbox/inmemory/index.cjs +2 -0
  41. package/dist/adapters/sandbox/inmemory/index.cjs.map +1 -1
  42. package/dist/adapters/sandbox/inmemory/index.d.cts +2 -1
  43. package/dist/adapters/sandbox/inmemory/index.d.ts +2 -1
  44. package/dist/adapters/sandbox/inmemory/index.js +2 -0
  45. package/dist/adapters/sandbox/inmemory/index.js.map +1 -1
  46. package/dist/adapters/sandbox/inmemory/workflow.cjs +1 -0
  47. package/dist/adapters/sandbox/inmemory/workflow.cjs.map +1 -1
  48. package/dist/adapters/sandbox/inmemory/workflow.d.cts +1 -1
  49. package/dist/adapters/sandbox/inmemory/workflow.d.ts +1 -1
  50. package/dist/adapters/sandbox/inmemory/workflow.js +1 -0
  51. package/dist/adapters/sandbox/inmemory/workflow.js.map +1 -1
  52. package/dist/adapters/thread/anthropic/index.cjs +18 -2
  53. package/dist/adapters/thread/anthropic/index.cjs.map +1 -1
  54. package/dist/adapters/thread/anthropic/index.d.cts +12 -11
  55. package/dist/adapters/thread/anthropic/index.d.ts +12 -11
  56. package/dist/adapters/thread/anthropic/index.js +18 -2
  57. package/dist/adapters/thread/anthropic/index.js.map +1 -1
  58. package/dist/adapters/thread/anthropic/workflow.d.cts +5 -5
  59. package/dist/adapters/thread/anthropic/workflow.d.ts +5 -5
  60. package/dist/adapters/thread/google-genai/index.cjs +29 -8
  61. package/dist/adapters/thread/google-genai/index.cjs.map +1 -1
  62. package/dist/adapters/thread/google-genai/index.d.cts +8 -8
  63. package/dist/adapters/thread/google-genai/index.d.ts +8 -8
  64. package/dist/adapters/thread/google-genai/index.js +29 -8
  65. package/dist/adapters/thread/google-genai/index.js.map +1 -1
  66. package/dist/adapters/thread/google-genai/workflow.d.cts +5 -5
  67. package/dist/adapters/thread/google-genai/workflow.d.ts +5 -5
  68. package/dist/adapters/thread/langchain/index.cjs +42 -23
  69. package/dist/adapters/thread/langchain/index.cjs.map +1 -1
  70. package/dist/adapters/thread/langchain/index.d.cts +13 -11
  71. package/dist/adapters/thread/langchain/index.d.ts +13 -11
  72. package/dist/adapters/thread/langchain/index.js +42 -23
  73. package/dist/adapters/thread/langchain/index.js.map +1 -1
  74. package/dist/adapters/thread/langchain/workflow.d.cts +5 -5
  75. package/dist/adapters/thread/langchain/workflow.d.ts +5 -5
  76. package/dist/index.cjs +148 -34
  77. package/dist/index.cjs.map +1 -1
  78. package/dist/index.d.cts +32 -16
  79. package/dist/index.d.ts +32 -16
  80. package/dist/index.js +147 -35
  81. package/dist/index.js.map +1 -1
  82. package/dist/{proxy-CTCYWjkr.d.cts → proxy-BesT2ioL.d.cts} +1 -1
  83. package/dist/{proxy-Br4unLTC.d.ts → proxy-Bz6wXYW-.d.ts} +1 -1
  84. package/dist/{thread-manager-Cv_BR28i.d.cts → thread-manager-CCVAOK8g.d.cts} +1 -1
  85. package/dist/{thread-manager-CUubPYPH.d.cts → thread-manager-Cf_34H8w.d.cts} +1 -1
  86. package/dist/{thread-manager-YJLoc1vH.d.ts → thread-manager-ClKAQx78.d.ts} +1 -1
  87. package/dist/{thread-manager-DKWxHUzD.d.ts → thread-manager-DarJIK_b.d.ts} +1 -1
  88. package/dist/{types-Bpq5fDI5.d.cts → types-BGLW5Zyj.d.ts} +35 -20
  89. package/dist/{types-BxiT8w9d.d.ts → types-BVUmLYpj.d.ts} +1 -1
  90. package/dist/{types-DUvEZSDe.d.cts → types-CBH54cwr.d.cts} +1 -1
  91. package/dist/{types-NJDyMyUx.d.cts → types-DPAZ3KCs.d.cts} +1 -1
  92. package/dist/{types-CheCTLeV.d.ts → types-DlLajQcu.d.cts} +35 -20
  93. package/dist/{types-AujBIMMn.d.cts → types-DxCpFNv_.d.cts} +4 -0
  94. package/dist/{types-AujBIMMn.d.ts → types-DxCpFNv_.d.ts} +4 -0
  95. package/dist/{types-DBk-C8zM.d.ts → types-wiGLvxWf.d.ts} +1 -1
  96. package/dist/{workflow-BWKQcz9d.d.cts → workflow-_ZGcacCK.d.ts} +32 -4
  97. package/dist/{workflow-D8wK7TJY.d.ts → workflow-hocXpLwg.d.cts} +32 -4
  98. package/dist/workflow.cjs +126 -30
  99. package/dist/workflow.cjs.map +1 -1
  100. package/dist/workflow.d.cts +3 -3
  101. package/dist/workflow.d.ts +3 -3
  102. package/dist/workflow.js +126 -31
  103. package/dist/workflow.js.map +1 -1
  104. package/package.json +1 -1
  105. package/src/adapters/sandbox/bedrock/index.ts +4 -0
  106. package/src/adapters/sandbox/bedrock/proxy.ts +1 -0
  107. package/src/adapters/sandbox/daytona/index.ts +4 -0
  108. package/src/adapters/sandbox/daytona/proxy.ts +1 -0
  109. package/src/adapters/sandbox/e2b/index.ts +4 -0
  110. package/src/adapters/sandbox/e2b/proxy.ts +1 -0
  111. package/src/adapters/sandbox/inmemory/index.ts +4 -0
  112. package/src/adapters/sandbox/inmemory/proxy.ts +1 -0
  113. package/src/adapters/thread/anthropic/activities.ts +4 -3
  114. package/src/adapters/thread/anthropic/model-invoker.ts +15 -5
  115. package/src/adapters/thread/google-genai/activities.ts +4 -3
  116. package/src/adapters/thread/google-genai/model-invoker.ts +24 -11
  117. package/src/adapters/thread/langchain/activities.ts +3 -3
  118. package/src/adapters/thread/langchain/model-invoker.ts +63 -34
  119. package/src/index.ts +1 -0
  120. package/src/lib/activity.ts +36 -9
  121. package/src/lib/lifecycle.ts +7 -3
  122. package/src/lib/model/helpers.ts +1 -0
  123. package/src/lib/model/index.ts +1 -0
  124. package/src/lib/model/proxy.ts +50 -0
  125. package/src/lib/sandbox/manager.ts +7 -0
  126. package/src/lib/sandbox/types.ts +4 -0
  127. package/src/lib/session/session-edge-cases.integration.test.ts +194 -0
  128. package/src/lib/session/session.integration.test.ts +5 -0
  129. package/src/lib/session/session.ts +9 -0
  130. package/src/lib/session/types.ts +5 -0
  131. package/src/lib/subagent/define.ts +1 -1
  132. package/src/lib/subagent/handler.ts +142 -32
  133. package/src/lib/subagent/index.ts +5 -1
  134. package/src/lib/subagent/signals.ts +8 -1
  135. package/src/lib/subagent/subagent.integration.test.ts +532 -25
  136. package/src/lib/subagent/types.ts +32 -15
  137. package/src/lib/subagent/workflow.ts +26 -13
  138. package/src/lib/virtual-fs/manager.ts +1 -1
  139. package/src/lib/virtual-fs/types.ts +2 -2
  140. package/src/lib/virtual-fs/virtual-fs.test.ts +2 -2
  141. package/src/workflow.ts +3 -0
  142. package/src/lib/.env +0 -1
  143. package/src/tools/bash/.env +0 -1
@@ -1,5 +1,5 @@
1
1
  import { proxyActivities, ActivityInterfaceFor } from '@temporalio/workflow';
2
- import { T as ThreadOps } from './types-Bpq5fDI5.cjs';
2
+ import { T as ThreadOps } from './types-DlLajQcu.cjs';
3
3
 
4
4
  /**
5
5
  * Shared proxy helper for thread operations.
@@ -1,5 +1,5 @@
1
1
  import { proxyActivities, ActivityInterfaceFor } from '@temporalio/workflow';
2
- import { T as ThreadOps } from './types-CheCTLeV.js';
2
+ import { T as ThreadOps } from './types-BGLW5Zyj.js';
3
3
 
4
4
  /**
5
5
  * Shared proxy helper for thread operations.
@@ -1,6 +1,6 @@
1
1
  import Redis from 'ioredis';
2
2
  import { MessageContent, StoredMessage, BaseMessage } from '@langchain/core/messages';
3
- import { T as ThreadManagerHooks, P as ProviderThreadManager } from './types-NJDyMyUx.cjs';
3
+ import { T as ThreadManagerHooks, P as ProviderThreadManager } from './types-DPAZ3KCs.cjs';
4
4
 
5
5
  /** SDK-native content type for LangChain human messages */
6
6
  type LangChainContent = string | MessageContent;
@@ -1,6 +1,6 @@
1
1
  import Redis from 'ioredis';
2
2
  import Anthropic from '@anthropic-ai/sdk';
3
- import { T as ThreadManagerHooks, P as ProviderThreadManager } from './types-NJDyMyUx.cjs';
3
+ import { T as ThreadManagerHooks, P as ProviderThreadManager } from './types-DPAZ3KCs.cjs';
4
4
 
5
5
  /** SDK-native content type for Anthropic human messages */
6
6
  type AnthropicContent = string | Anthropic.Messages.ContentBlockParam[];
@@ -1,6 +1,6 @@
1
1
  import Redis from 'ioredis';
2
2
  import Anthropic from '@anthropic-ai/sdk';
3
- import { T as ThreadManagerHooks, P as ProviderThreadManager } from './types-BxiT8w9d.js';
3
+ import { T as ThreadManagerHooks, P as ProviderThreadManager } from './types-BVUmLYpj.js';
4
4
 
5
5
  /** SDK-native content type for Anthropic human messages */
6
6
  type AnthropicContent = string | Anthropic.Messages.ContentBlockParam[];
@@ -1,6 +1,6 @@
1
1
  import Redis from 'ioredis';
2
2
  import { MessageContent, StoredMessage, BaseMessage } from '@langchain/core/messages';
3
- import { T as ThreadManagerHooks, P as ProviderThreadManager } from './types-BxiT8w9d.js';
3
+ import { T as ThreadManagerHooks, P as ProviderThreadManager } from './types-BVUmLYpj.js';
4
4
 
5
5
  /** SDK-native content type for LangChain human messages */
6
6
  type LangChainContent = string | MessageContent;
@@ -2,7 +2,7 @@ import { Duration } from '@temporalio/common';
2
2
  import { ActivityFunctionWithOptions, QueryDefinition, ActivityInterfaceFor } from '@temporalio/workflow';
3
3
  import { UpdateDefinition } from '@temporalio/common/lib/interfaces';
4
4
  import { z } from 'zod';
5
- import { a as SandboxFileSystem, F as FileStat, D as DirentEntry, g as SandboxOps } from './types-AujBIMMn.cjs';
5
+ import { a as SandboxFileSystem, F as FileStat, D as DirentEntry, g as SandboxOps } from './types-DxCpFNv_.js';
6
6
 
7
7
  /**
8
8
  * A tool definition with a name, description, and Zod schema for arguments.
@@ -565,11 +565,11 @@ interface VirtualFsOps<TCtx = unknown, TMeta = FileEntryMetadata> {
565
565
  * @example
566
566
  * ```typescript
567
567
  * type Ops = PrefixedVirtualFsOps<"codingAgent">;
568
- * // → { codingAgentResolveFileTree: ... }
568
+ * // → { virtualFsCodingAgentResolveFileTree: ... }
569
569
  * ```
570
570
  */
571
571
  type PrefixedVirtualFsOps<TPrefix extends string, TCtx = unknown, TMeta = FileEntryMetadata> = {
572
- [K in keyof VirtualFsOps<TCtx, TMeta> as `${TPrefix}${Capitalize<K & string>}`]: VirtualFsOps<TCtx, TMeta>[K];
572
+ [K in keyof VirtualFsOps<TCtx, TMeta> as `virtualFs${Capitalize<TPrefix>}${Capitalize<K & string>}`]: VirtualFsOps<TCtx, TMeta>[K];
573
573
  };
574
574
  /**
575
575
  * The portion of workflow `AgentState` that the virtual filesystem reads via
@@ -803,8 +803,9 @@ type ThreadInit = {
803
803
  * - `"new"` — create a fresh sandbox. Optionally pass `ctx` to
804
804
  * have the {@link SandboxManager}'s resolver produce creation options
805
805
  * (e.g. initial files) from workflow arguments.
806
- * - `"continue"` — resume a previously-paused sandbox (this session takes
807
- * ownership and the shutdown policy applies on exit).
806
+ * - `"continue"` — take ownership of an existing sandbox (paused or running).
807
+ * Paused sandboxes are automatically resumed. The shutdown policy applies
808
+ * on exit.
808
809
  * - `"fork"` — fork from an existing (or paused) sandbox; a new sandbox is
809
810
  * created and owned by this session.
810
811
  * - `"inherit"` — use a sandbox owned by someone else (e.g. a parent agent).
@@ -837,8 +838,10 @@ type SandboxShutdown = "destroy" | "pause" | "keep";
837
838
  * Includes all base {@link SandboxShutdown} values plus:
838
839
  * - `"pause-until-parent-close"` — pause the sandbox on exit, then wait for
839
840
  * the parent workflow to signal when to destroy it.
841
+ * - `"keep-until-parent-close"` — leave the sandbox running on exit, then
842
+ * wait for the parent workflow to signal when to destroy it.
840
843
  */
841
- type SubagentSandboxShutdown = SandboxShutdown | "pause-until-parent-close";
844
+ type SubagentSandboxShutdown = SandboxShutdown | "pause-until-parent-close" | "keep-until-parent-close";
842
845
 
843
846
  /** ToolHandlerResponse with threadId required (subagents must always surface their thread) */
844
847
  type SubagentHandlerResponse<TResult = null, TToolResponse = JsonValue> = ToolHandlerResponse<TResult, TToolResponse> & {
@@ -872,16 +875,23 @@ type SubagentContext = Record<string, unknown> | (() => Record<string, unknown>)
872
875
  /**
873
876
  * Sandbox configuration for a subagent.
874
877
  *
875
- * String shorthands:
876
878
  * - `"none"` — no sandbox (default).
877
- * - `"inherit"` — reuse the parent's sandbox (shared filesystem/exec).
878
- * - `"own"` the child creates and owns its own sandbox (shutdown defaults to `"destroy"`).
879
- *
880
- * Object form (only for `source: "own"`):
881
- * - `{ source: "own", shutdown?: SubagentSandboxShutdown }` own sandbox with explicit shutdown policy.
882
- */
883
- type SubagentSandboxConfig = "none" | "inherit" | "own" | {
879
+ * - `{ source: "inherit", continuation }` — reuse the parent's sandbox.
880
+ * `continuation: "continue"` shares the parent sandbox directly;
881
+ * `continuation: "fork"` forks from the parent on every call.
882
+ * - `{ source: "own", init?, continuation }` — the child gets its own sandbox.
883
+ * `init: "per-call"` (default) creates fresh each call (thread continuation
884
+ * uses the previous sandbox). `init: "once"` creates on the first call and
885
+ * stores it for all subsequent calls.
886
+ */
887
+ type SubagentSandboxConfig = "none" | {
888
+ source: "inherit";
889
+ continuation: "continue" | "fork";
890
+ shutdown?: SubagentSandboxShutdown;
891
+ } | {
884
892
  source: "own";
893
+ init?: "per-call" | "once";
894
+ continuation: "continue" | "fork";
885
895
  shutdown?: SubagentSandboxShutdown;
886
896
  };
887
897
  /**
@@ -919,9 +929,6 @@ interface SubagentConfig<TResult extends z.ZodType = z.ZodType> {
919
929
  /**
920
930
  * Sandbox strategy for this subagent.
921
931
  *
922
- * String shorthands: `"none"` (default) | `"inherit"` | `"own"`.
923
- * Object form: `{ source: "own", shutdown?: SubagentSandboxShutdown }`.
924
- *
925
932
  * @see {@link SubagentSandboxConfig}
926
933
  */
927
934
  sandbox?: SubagentSandboxConfig;
@@ -959,10 +966,11 @@ interface SubagentHooks<TArgs = unknown, TResult = unknown> {
959
966
  * Extended response from the subagent `fn` — includes optional cleanup callbacks
960
967
  * stripped before signaling the parent.
961
968
  *
962
- * When `TSandboxShutdown` is `"pause-until-parent-close"`, both `destroySandbox`
963
- * and `sandboxId` become required so the parent can coordinate cleanup.
969
+ * When `TSandboxShutdown` is `"pause-until-parent-close"` or
970
+ * `"keep-until-parent-close"`, both `destroySandbox` and `sandboxId` become
971
+ * required so the parent can coordinate cleanup.
964
972
  */
965
- type SubagentFnResult<TResult = null, TSandboxShutdown extends SubagentSandboxShutdown = SubagentSandboxShutdown> = SubagentHandlerResponse<TResult> & (TSandboxShutdown extends "pause-until-parent-close" ? {
973
+ type SubagentFnResult<TResult = null, TSandboxShutdown extends SubagentSandboxShutdown = SubagentSandboxShutdown> = SubagentHandlerResponse<TResult> & (TSandboxShutdown extends "pause-until-parent-close" | "keep-until-parent-close" ? {
966
974
  destroySandbox: () => Promise<void>;
967
975
  sandboxId: string;
968
976
  } : {
@@ -980,6 +988,8 @@ interface SubagentSessionInput {
980
988
  sandbox?: SandboxInit;
981
989
  /** Sandbox shutdown policy (default: "destroy") */
982
990
  sandboxShutdown?: SubagentSandboxShutdown;
991
+ /** Called by the session as soon as the sandbox is created, before the agent loop starts. */
992
+ onSandboxReady?: (sandboxId: string) => void;
983
993
  }
984
994
 
985
995
  /**
@@ -1186,6 +1196,11 @@ interface SessionConfig<T extends ToolMap, M = unknown, TContent = string> {
1186
1196
  * Has no effect when the sandbox is inherited (`sandbox.mode === "inherit"`).
1187
1197
  */
1188
1198
  sandboxShutdown?: SubagentSandboxShutdown;
1199
+ /**
1200
+ * Called as soon as the sandbox is created (or resumed/forked), before the
1201
+ * agent loop starts. Useful for signalling sandbox readiness to a parent.
1202
+ */
1203
+ onSandboxReady?: (sandboxId: string) => void;
1189
1204
  virtualFsOps?: VirtualFsOps;
1190
1205
  /**
1191
1206
  * Virtual filesystem configuration (optional — independent of sandbox).
@@ -1,5 +1,5 @@
1
1
  import Redis from 'ioredis';
2
- import { J as JsonValue } from './types-CheCTLeV.js';
2
+ import { J as JsonValue } from './types-BGLW5Zyj.js';
3
3
 
4
4
  interface ThreadManagerConfig<T> {
5
5
  redis: Redis;
@@ -1,4 +1,4 @@
1
- import { a as SandboxFileSystem, F as FileStat, D as DirentEntry, S as Sandbox, d as SandboxCreateOptions } from './types-AujBIMMn.cjs';
1
+ import { a as SandboxFileSystem, F as FileStat, D as DirentEntry, S as Sandbox, d as SandboxCreateOptions } from './types-DxCpFNv_.cjs';
2
2
  import { BedrockAgentCoreClient, BedrockAgentCoreClientConfig } from '@aws-sdk/client-bedrock-agentcore';
3
3
 
4
4
  /**
@@ -1,5 +1,5 @@
1
1
  import Redis from 'ioredis';
2
- import { J as JsonValue } from './types-Bpq5fDI5.cjs';
2
+ import { J as JsonValue } from './types-DlLajQcu.cjs';
3
3
 
4
4
  interface ThreadManagerConfig<T> {
5
5
  redis: Redis;
@@ -2,7 +2,7 @@ import { Duration } from '@temporalio/common';
2
2
  import { ActivityFunctionWithOptions, QueryDefinition, ActivityInterfaceFor } from '@temporalio/workflow';
3
3
  import { UpdateDefinition } from '@temporalio/common/lib/interfaces';
4
4
  import { z } from 'zod';
5
- import { a as SandboxFileSystem, F as FileStat, D as DirentEntry, g as SandboxOps } from './types-AujBIMMn.js';
5
+ import { a as SandboxFileSystem, F as FileStat, D as DirentEntry, g as SandboxOps } from './types-DxCpFNv_.cjs';
6
6
 
7
7
  /**
8
8
  * A tool definition with a name, description, and Zod schema for arguments.
@@ -565,11 +565,11 @@ interface VirtualFsOps<TCtx = unknown, TMeta = FileEntryMetadata> {
565
565
  * @example
566
566
  * ```typescript
567
567
  * type Ops = PrefixedVirtualFsOps<"codingAgent">;
568
- * // → { codingAgentResolveFileTree: ... }
568
+ * // → { virtualFsCodingAgentResolveFileTree: ... }
569
569
  * ```
570
570
  */
571
571
  type PrefixedVirtualFsOps<TPrefix extends string, TCtx = unknown, TMeta = FileEntryMetadata> = {
572
- [K in keyof VirtualFsOps<TCtx, TMeta> as `${TPrefix}${Capitalize<K & string>}`]: VirtualFsOps<TCtx, TMeta>[K];
572
+ [K in keyof VirtualFsOps<TCtx, TMeta> as `virtualFs${Capitalize<TPrefix>}${Capitalize<K & string>}`]: VirtualFsOps<TCtx, TMeta>[K];
573
573
  };
574
574
  /**
575
575
  * The portion of workflow `AgentState` that the virtual filesystem reads via
@@ -803,8 +803,9 @@ type ThreadInit = {
803
803
  * - `"new"` — create a fresh sandbox. Optionally pass `ctx` to
804
804
  * have the {@link SandboxManager}'s resolver produce creation options
805
805
  * (e.g. initial files) from workflow arguments.
806
- * - `"continue"` — resume a previously-paused sandbox (this session takes
807
- * ownership and the shutdown policy applies on exit).
806
+ * - `"continue"` — take ownership of an existing sandbox (paused or running).
807
+ * Paused sandboxes are automatically resumed. The shutdown policy applies
808
+ * on exit.
808
809
  * - `"fork"` — fork from an existing (or paused) sandbox; a new sandbox is
809
810
  * created and owned by this session.
810
811
  * - `"inherit"` — use a sandbox owned by someone else (e.g. a parent agent).
@@ -837,8 +838,10 @@ type SandboxShutdown = "destroy" | "pause" | "keep";
837
838
  * Includes all base {@link SandboxShutdown} values plus:
838
839
  * - `"pause-until-parent-close"` — pause the sandbox on exit, then wait for
839
840
  * the parent workflow to signal when to destroy it.
841
+ * - `"keep-until-parent-close"` — leave the sandbox running on exit, then
842
+ * wait for the parent workflow to signal when to destroy it.
840
843
  */
841
- type SubagentSandboxShutdown = SandboxShutdown | "pause-until-parent-close";
844
+ type SubagentSandboxShutdown = SandboxShutdown | "pause-until-parent-close" | "keep-until-parent-close";
842
845
 
843
846
  /** ToolHandlerResponse with threadId required (subagents must always surface their thread) */
844
847
  type SubagentHandlerResponse<TResult = null, TToolResponse = JsonValue> = ToolHandlerResponse<TResult, TToolResponse> & {
@@ -872,16 +875,23 @@ type SubagentContext = Record<string, unknown> | (() => Record<string, unknown>)
872
875
  /**
873
876
  * Sandbox configuration for a subagent.
874
877
  *
875
- * String shorthands:
876
878
  * - `"none"` — no sandbox (default).
877
- * - `"inherit"` — reuse the parent's sandbox (shared filesystem/exec).
878
- * - `"own"` the child creates and owns its own sandbox (shutdown defaults to `"destroy"`).
879
- *
880
- * Object form (only for `source: "own"`):
881
- * - `{ source: "own", shutdown?: SubagentSandboxShutdown }` own sandbox with explicit shutdown policy.
882
- */
883
- type SubagentSandboxConfig = "none" | "inherit" | "own" | {
879
+ * - `{ source: "inherit", continuation }` — reuse the parent's sandbox.
880
+ * `continuation: "continue"` shares the parent sandbox directly;
881
+ * `continuation: "fork"` forks from the parent on every call.
882
+ * - `{ source: "own", init?, continuation }` — the child gets its own sandbox.
883
+ * `init: "per-call"` (default) creates fresh each call (thread continuation
884
+ * uses the previous sandbox). `init: "once"` creates on the first call and
885
+ * stores it for all subsequent calls.
886
+ */
887
+ type SubagentSandboxConfig = "none" | {
888
+ source: "inherit";
889
+ continuation: "continue" | "fork";
890
+ shutdown?: SubagentSandboxShutdown;
891
+ } | {
884
892
  source: "own";
893
+ init?: "per-call" | "once";
894
+ continuation: "continue" | "fork";
885
895
  shutdown?: SubagentSandboxShutdown;
886
896
  };
887
897
  /**
@@ -919,9 +929,6 @@ interface SubagentConfig<TResult extends z.ZodType = z.ZodType> {
919
929
  /**
920
930
  * Sandbox strategy for this subagent.
921
931
  *
922
- * String shorthands: `"none"` (default) | `"inherit"` | `"own"`.
923
- * Object form: `{ source: "own", shutdown?: SubagentSandboxShutdown }`.
924
- *
925
932
  * @see {@link SubagentSandboxConfig}
926
933
  */
927
934
  sandbox?: SubagentSandboxConfig;
@@ -959,10 +966,11 @@ interface SubagentHooks<TArgs = unknown, TResult = unknown> {
959
966
  * Extended response from the subagent `fn` — includes optional cleanup callbacks
960
967
  * stripped before signaling the parent.
961
968
  *
962
- * When `TSandboxShutdown` is `"pause-until-parent-close"`, both `destroySandbox`
963
- * and `sandboxId` become required so the parent can coordinate cleanup.
969
+ * When `TSandboxShutdown` is `"pause-until-parent-close"` or
970
+ * `"keep-until-parent-close"`, both `destroySandbox` and `sandboxId` become
971
+ * required so the parent can coordinate cleanup.
964
972
  */
965
- type SubagentFnResult<TResult = null, TSandboxShutdown extends SubagentSandboxShutdown = SubagentSandboxShutdown> = SubagentHandlerResponse<TResult> & (TSandboxShutdown extends "pause-until-parent-close" ? {
973
+ type SubagentFnResult<TResult = null, TSandboxShutdown extends SubagentSandboxShutdown = SubagentSandboxShutdown> = SubagentHandlerResponse<TResult> & (TSandboxShutdown extends "pause-until-parent-close" | "keep-until-parent-close" ? {
966
974
  destroySandbox: () => Promise<void>;
967
975
  sandboxId: string;
968
976
  } : {
@@ -980,6 +988,8 @@ interface SubagentSessionInput {
980
988
  sandbox?: SandboxInit;
981
989
  /** Sandbox shutdown policy (default: "destroy") */
982
990
  sandboxShutdown?: SubagentSandboxShutdown;
991
+ /** Called by the session as soon as the sandbox is created, before the agent loop starts. */
992
+ onSandboxReady?: (sandboxId: string) => void;
983
993
  }
984
994
 
985
995
  /**
@@ -1186,6 +1196,11 @@ interface SessionConfig<T extends ToolMap, M = unknown, TContent = string> {
1186
1196
  * Has no effect when the sandbox is inherited (`sandbox.mode === "inherit"`).
1187
1197
  */
1188
1198
  sandboxShutdown?: SubagentSandboxShutdown;
1199
+ /**
1200
+ * Called as soon as the sandbox is created (or resumed/forked), before the
1201
+ * agent loop starts. Useful for signalling sandbox readiness to a parent.
1202
+ */
1203
+ onSandboxReady?: (sandboxId: string) => void;
1189
1204
  virtualFsOps?: VirtualFsOps;
1190
1205
  /**
1191
1206
  * Virtual filesystem configuration (optional — independent of sandbox).
@@ -94,6 +94,8 @@ interface SandboxProvider<TOptions extends SandboxCreateOptions = SandboxCreateO
94
94
  get(sandboxId: string): Promise<TSandbox>;
95
95
  destroy(sandboxId: string): Promise<void>;
96
96
  pause(sandboxId: string, ttlSeconds?: number): Promise<void>;
97
+ /** Resume a paused sandbox. No-op if already running. */
98
+ resume(sandboxId: string): Promise<void>;
97
99
  snapshot(sandboxId: string): Promise<SandboxSnapshot>;
98
100
  restore(snapshot: SandboxSnapshot): Promise<Sandbox>;
99
101
  fork(sandboxId: string): Promise<Sandbox>;
@@ -104,6 +106,8 @@ interface SandboxOps<TOptions extends SandboxCreateOptions = SandboxCreateOption
104
106
  } | null>;
105
107
  destroySandbox(sandboxId: string): Promise<void>;
106
108
  pauseSandbox(sandboxId: string): Promise<void>;
109
+ /** Resume a paused sandbox. No-op if already running. */
110
+ resumeSandbox(sandboxId: string): Promise<void>;
107
111
  snapshotSandbox(sandboxId: string): Promise<SandboxSnapshot>;
108
112
  forkSandbox(sandboxId: string): Promise<string>;
109
113
  }
@@ -94,6 +94,8 @@ interface SandboxProvider<TOptions extends SandboxCreateOptions = SandboxCreateO
94
94
  get(sandboxId: string): Promise<TSandbox>;
95
95
  destroy(sandboxId: string): Promise<void>;
96
96
  pause(sandboxId: string, ttlSeconds?: number): Promise<void>;
97
+ /** Resume a paused sandbox. No-op if already running. */
98
+ resume(sandboxId: string): Promise<void>;
97
99
  snapshot(sandboxId: string): Promise<SandboxSnapshot>;
98
100
  restore(snapshot: SandboxSnapshot): Promise<Sandbox>;
99
101
  fork(sandboxId: string): Promise<Sandbox>;
@@ -104,6 +106,8 @@ interface SandboxOps<TOptions extends SandboxCreateOptions = SandboxCreateOption
104
106
  } | null>;
105
107
  destroySandbox(sandboxId: string): Promise<void>;
106
108
  pauseSandbox(sandboxId: string): Promise<void>;
109
+ /** Resume a paused sandbox. No-op if already running. */
110
+ resumeSandbox(sandboxId: string): Promise<void>;
107
111
  snapshotSandbox(sandboxId: string): Promise<SandboxSnapshot>;
108
112
  forkSandbox(sandboxId: string): Promise<string>;
109
113
  }
@@ -1,4 +1,4 @@
1
- import { a as SandboxFileSystem, F as FileStat, D as DirentEntry, S as Sandbox, d as SandboxCreateOptions } from './types-AujBIMMn.js';
1
+ import { a as SandboxFileSystem, F as FileStat, D as DirentEntry, S as Sandbox, d as SandboxCreateOptions } from './types-DxCpFNv_.js';
2
2
  import { BedrockAgentCoreClient, BedrockAgentCoreClientConfig } from '@aws-sdk/client-bedrock-agentcore';
3
3
 
4
4
  /**
@@ -1,5 +1,5 @@
1
- import { ao as ToolMap, _ as SessionConfig, az as ZeitlichSession, Y as SandboxShutdown, ag as ThreadInit, X as SandboxInit, t as JsonSerializable, B as BaseAgentState, o as AgentStateManager, aB as ToolRouterOptions, ar as ToolRouter, R as RouterContext, J as JsonValue, at as ToolWithHandler, v as ParsedToolCallUnion, ap as ToolNames, a6 as SubagentDefinition, a9 as SubagentHooks, aa as SubagentSandboxConfig, a5 as SubagentConfig, ab as SubagentSandboxShutdown, ac as SubagentSessionInput, a7 as SubagentFnResult, a3 as SessionStartHook, $ as SessionEndHook, D as PostToolUseHook, y as PostToolUseFailureHook, a1 as SessionExitReason, ah as TokenUsage, F as FileEntryMetadata, av as VirtualFileTree, j as TreeMutation, r as FileEntry, aw as VirtualFsOps, g as SkillMetadata, h as Skill, b as ToolHandlerResponse, am as ToolHandler, ay as WorkflowTask, c as ActivityToolHandler } from './types-Bpq5fDI5.cjs';
2
- import { g as SandboxOps } from './types-AujBIMMn.cjs';
1
+ import { ao as ToolMap, _ as SessionConfig, az as ZeitlichSession, Y as SandboxShutdown, ag as ThreadInit, X as SandboxInit, t as JsonSerializable, B as BaseAgentState, o as AgentStateManager, aB as ToolRouterOptions, ar as ToolRouter, R as RouterContext, J as JsonValue, at as ToolWithHandler, v as ParsedToolCallUnion, ap as ToolNames, a6 as SubagentDefinition, a9 as SubagentHooks, aa as SubagentSandboxConfig, a5 as SubagentConfig, ab as SubagentSandboxShutdown, ac as SubagentSessionInput, a7 as SubagentFnResult, a3 as SessionStartHook, $ as SessionEndHook, D as PostToolUseHook, y as PostToolUseFailureHook, a1 as SessionExitReason, ah as TokenUsage, e as RunAgentConfig, A as AgentResponse, F as FileEntryMetadata, av as VirtualFileTree, j as TreeMutation, r as FileEntry, aw as VirtualFsOps, g as SkillMetadata, h as Skill, b as ToolHandlerResponse, am as ToolHandler, ay as WorkflowTask, c as ActivityToolHandler } from './types-BGLW5Zyj.js';
2
+ import { g as SandboxOps } from './types-DxCpFNv_.js';
3
3
  import z$1, { z } from 'zod';
4
4
  import { Sinks, proxyActivities } from '@temporalio/workflow';
5
5
 
@@ -207,7 +207,7 @@ type SubagentArgs = {
207
207
  * // With parent-specific overrides
208
208
  * export const researcher = defineSubagent(researcherWorkflow, {
209
209
  * thread: "fork",
210
- * sandbox: { source: "own", shutdown: "pause" },
210
+ * sandbox: { source: "own", continuation: "fork", shutdown: "pause" },
211
211
  * hooks: {
212
212
  * onPostExecution: ({ result }) => console.log(result),
213
213
  * },
@@ -405,6 +405,34 @@ interface ZeitlichObservabilitySinks extends Sinks {
405
405
  };
406
406
  }
407
407
 
408
+ /**
409
+ * Workflow-safe proxy for runAgent activities with LLM-optimised defaults.
410
+ *
411
+ * Resolves the activity name from the scope using the same convention as
412
+ * {@link createRunAgentActivity}: `run<Scope>`.
413
+ * When no scope is provided, defaults to `workflowInfo().workflowType`.
414
+ *
415
+ * Import this from `zeitlich/workflow` in your Temporal workflow files.
416
+ *
417
+ * @typeParam M - SDK-native message type (e.g. `StoredMessage` for LangChain,
418
+ * `Anthropic.Messages.Message` for Anthropic, `Content` for Google GenAI).
419
+ * Must be provided for `SessionResult.finalMessage` to be correctly typed.
420
+ *
421
+ * @example
422
+ * ```typescript
423
+ * import { proxyRunAgent } from 'zeitlich/workflow';
424
+ * import type { StoredMessage } from '@langchain/core/messages';
425
+ *
426
+ * // Auto-scoped to the current workflow name
427
+ * const runAgent = proxyRunAgent<StoredMessage>();
428
+ *
429
+ * // Explicit scope for subagents
430
+ * const runResearcher = proxyRunAgent<StoredMessage>("Researcher");
431
+ * ```
432
+ */
433
+
434
+ declare function proxyRunAgent<M = unknown>(scope?: string, options?: Parameters<typeof proxyActivities>[0]): (config: RunAgentConfig) => Promise<AgentResponse<M>>;
435
+
408
436
  /**
409
437
  * Apply a list of {@link TreeMutation}s to the `fileTree` stored in a state
410
438
  * manager instance, updating it in place and returning the new tree.
@@ -747,4 +775,4 @@ declare const createAskUserQuestionHandler: () => ActivityToolHandler<AskUserQue
747
775
  }[];
748
776
  }>;
749
777
 
750
- export { proxyVirtualFsOps as $, type AskUserQuestionArgs as A, type BashArgs as B, createTaskListHandler as C, createTaskUpdateHandler as D, createToolRouter as E, type FileEditArgs as F, type GlobArgs as G, defineSubagent as H, defineSubagentWorkflow as I, defineTool as J, defineWorkflow as K, editTool as L, filesWithMimeType as M, formatVirtualFileTree as N, type ObservabilityHooks as O, getShortId as P, globTool as Q, type ReadSkillArgs as R, type SessionEndedEvent as S, type TaskCreateArgs as T, grepTool as U, hasDirectory as V, type WorkflowConfig as W, hasFileWithMimeType as X, hasNoOtherToolCalls as Y, type ZeitlichObservabilitySinks as Z, parseSkillFile as _, type FileReadArgs as a, readFileTool as a0, taskCreateTool as a1, taskGetTool as a2, taskListTool as a3, taskUpdateTool as a4, writeFileTool as a5, type FileWriteArgs as b, type FileTreeAccessor as c, type GrepArgs as d, type SessionStartedEvent as e, type SubagentArgs as f, type TaskGetArgs as g, type TaskListArgs as h, type TaskUpdateArgs as i, type ToolExecutedEvent as j, type TurnCompletedEvent as k, type WorkflowInput as l, type WorkflowSessionInput as m, applyVirtualTreeMutations as n, askUserQuestionTool as o, bashTool as p, composeHooks as q, createAgentStateManager as r, createAskUserQuestionHandler as s, createBashToolDescription as t, createObservabilityHooks as u, createReadSkillHandler as v, createReadSkillTool as w, createSession as x, createTaskCreateHandler as y, createTaskGetHandler as z };
778
+ export { proxyRunAgent as $, type AskUserQuestionArgs as A, type BashArgs as B, createTaskListHandler as C, createTaskUpdateHandler as D, createToolRouter as E, type FileEditArgs as F, type GlobArgs as G, defineSubagent as H, defineSubagentWorkflow as I, defineTool as J, defineWorkflow as K, editTool as L, filesWithMimeType as M, formatVirtualFileTree as N, type ObservabilityHooks as O, getShortId as P, globTool as Q, type ReadSkillArgs as R, type SessionEndedEvent as S, type TaskCreateArgs as T, grepTool as U, hasDirectory as V, type WorkflowConfig as W, hasFileWithMimeType as X, hasNoOtherToolCalls as Y, type ZeitlichObservabilitySinks as Z, parseSkillFile as _, type FileReadArgs as a, proxyVirtualFsOps as a0, readFileTool as a1, taskCreateTool as a2, taskGetTool as a3, taskListTool as a4, taskUpdateTool as a5, writeFileTool as a6, type FileWriteArgs as b, type FileTreeAccessor as c, type GrepArgs as d, type SessionStartedEvent as e, type SubagentArgs as f, type TaskGetArgs as g, type TaskListArgs as h, type TaskUpdateArgs as i, type ToolExecutedEvent as j, type TurnCompletedEvent as k, type WorkflowInput as l, type WorkflowSessionInput as m, applyVirtualTreeMutations as n, askUserQuestionTool as o, bashTool as p, composeHooks as q, createAgentStateManager as r, createAskUserQuestionHandler as s, createBashToolDescription as t, createObservabilityHooks as u, createReadSkillHandler as v, createReadSkillTool as w, createSession as x, createTaskCreateHandler as y, createTaskGetHandler as z };
@@ -1,5 +1,5 @@
1
- import { ao as ToolMap, _ as SessionConfig, az as ZeitlichSession, Y as SandboxShutdown, ag as ThreadInit, X as SandboxInit, t as JsonSerializable, B as BaseAgentState, o as AgentStateManager, aB as ToolRouterOptions, ar as ToolRouter, R as RouterContext, J as JsonValue, at as ToolWithHandler, v as ParsedToolCallUnion, ap as ToolNames, a6 as SubagentDefinition, a9 as SubagentHooks, aa as SubagentSandboxConfig, a5 as SubagentConfig, ab as SubagentSandboxShutdown, ac as SubagentSessionInput, a7 as SubagentFnResult, a3 as SessionStartHook, $ as SessionEndHook, D as PostToolUseHook, y as PostToolUseFailureHook, a1 as SessionExitReason, ah as TokenUsage, F as FileEntryMetadata, av as VirtualFileTree, j as TreeMutation, r as FileEntry, aw as VirtualFsOps, g as SkillMetadata, h as Skill, b as ToolHandlerResponse, am as ToolHandler, ay as WorkflowTask, c as ActivityToolHandler } from './types-CheCTLeV.js';
2
- import { g as SandboxOps } from './types-AujBIMMn.js';
1
+ import { ao as ToolMap, _ as SessionConfig, az as ZeitlichSession, Y as SandboxShutdown, ag as ThreadInit, X as SandboxInit, t as JsonSerializable, B as BaseAgentState, o as AgentStateManager, aB as ToolRouterOptions, ar as ToolRouter, R as RouterContext, J as JsonValue, at as ToolWithHandler, v as ParsedToolCallUnion, ap as ToolNames, a6 as SubagentDefinition, a9 as SubagentHooks, aa as SubagentSandboxConfig, a5 as SubagentConfig, ab as SubagentSandboxShutdown, ac as SubagentSessionInput, a7 as SubagentFnResult, a3 as SessionStartHook, $ as SessionEndHook, D as PostToolUseHook, y as PostToolUseFailureHook, a1 as SessionExitReason, ah as TokenUsage, e as RunAgentConfig, A as AgentResponse, F as FileEntryMetadata, av as VirtualFileTree, j as TreeMutation, r as FileEntry, aw as VirtualFsOps, g as SkillMetadata, h as Skill, b as ToolHandlerResponse, am as ToolHandler, ay as WorkflowTask, c as ActivityToolHandler } from './types-DlLajQcu.cjs';
2
+ import { g as SandboxOps } from './types-DxCpFNv_.cjs';
3
3
  import z$1, { z } from 'zod';
4
4
  import { Sinks, proxyActivities } from '@temporalio/workflow';
5
5
 
@@ -207,7 +207,7 @@ type SubagentArgs = {
207
207
  * // With parent-specific overrides
208
208
  * export const researcher = defineSubagent(researcherWorkflow, {
209
209
  * thread: "fork",
210
- * sandbox: { source: "own", shutdown: "pause" },
210
+ * sandbox: { source: "own", continuation: "fork", shutdown: "pause" },
211
211
  * hooks: {
212
212
  * onPostExecution: ({ result }) => console.log(result),
213
213
  * },
@@ -405,6 +405,34 @@ interface ZeitlichObservabilitySinks extends Sinks {
405
405
  };
406
406
  }
407
407
 
408
+ /**
409
+ * Workflow-safe proxy for runAgent activities with LLM-optimised defaults.
410
+ *
411
+ * Resolves the activity name from the scope using the same convention as
412
+ * {@link createRunAgentActivity}: `run<Scope>`.
413
+ * When no scope is provided, defaults to `workflowInfo().workflowType`.
414
+ *
415
+ * Import this from `zeitlich/workflow` in your Temporal workflow files.
416
+ *
417
+ * @typeParam M - SDK-native message type (e.g. `StoredMessage` for LangChain,
418
+ * `Anthropic.Messages.Message` for Anthropic, `Content` for Google GenAI).
419
+ * Must be provided for `SessionResult.finalMessage` to be correctly typed.
420
+ *
421
+ * @example
422
+ * ```typescript
423
+ * import { proxyRunAgent } from 'zeitlich/workflow';
424
+ * import type { StoredMessage } from '@langchain/core/messages';
425
+ *
426
+ * // Auto-scoped to the current workflow name
427
+ * const runAgent = proxyRunAgent<StoredMessage>();
428
+ *
429
+ * // Explicit scope for subagents
430
+ * const runResearcher = proxyRunAgent<StoredMessage>("Researcher");
431
+ * ```
432
+ */
433
+
434
+ declare function proxyRunAgent<M = unknown>(scope?: string, options?: Parameters<typeof proxyActivities>[0]): (config: RunAgentConfig) => Promise<AgentResponse<M>>;
435
+
408
436
  /**
409
437
  * Apply a list of {@link TreeMutation}s to the `fileTree` stored in a state
410
438
  * manager instance, updating it in place and returning the new tree.
@@ -747,4 +775,4 @@ declare const createAskUserQuestionHandler: () => ActivityToolHandler<AskUserQue
747
775
  }[];
748
776
  }>;
749
777
 
750
- export { proxyVirtualFsOps as $, type AskUserQuestionArgs as A, type BashArgs as B, createTaskListHandler as C, createTaskUpdateHandler as D, createToolRouter as E, type FileEditArgs as F, type GlobArgs as G, defineSubagent as H, defineSubagentWorkflow as I, defineTool as J, defineWorkflow as K, editTool as L, filesWithMimeType as M, formatVirtualFileTree as N, type ObservabilityHooks as O, getShortId as P, globTool as Q, type ReadSkillArgs as R, type SessionEndedEvent as S, type TaskCreateArgs as T, grepTool as U, hasDirectory as V, type WorkflowConfig as W, hasFileWithMimeType as X, hasNoOtherToolCalls as Y, type ZeitlichObservabilitySinks as Z, parseSkillFile as _, type FileReadArgs as a, readFileTool as a0, taskCreateTool as a1, taskGetTool as a2, taskListTool as a3, taskUpdateTool as a4, writeFileTool as a5, type FileWriteArgs as b, type FileTreeAccessor as c, type GrepArgs as d, type SessionStartedEvent as e, type SubagentArgs as f, type TaskGetArgs as g, type TaskListArgs as h, type TaskUpdateArgs as i, type ToolExecutedEvent as j, type TurnCompletedEvent as k, type WorkflowInput as l, type WorkflowSessionInput as m, applyVirtualTreeMutations as n, askUserQuestionTool as o, bashTool as p, composeHooks as q, createAgentStateManager as r, createAskUserQuestionHandler as s, createBashToolDescription as t, createObservabilityHooks as u, createReadSkillHandler as v, createReadSkillTool as w, createSession as x, createTaskCreateHandler as y, createTaskGetHandler as z };
778
+ export { proxyRunAgent as $, type AskUserQuestionArgs as A, type BashArgs as B, createTaskListHandler as C, createTaskUpdateHandler as D, createToolRouter as E, type FileEditArgs as F, type GlobArgs as G, defineSubagent as H, defineSubagentWorkflow as I, defineTool as J, defineWorkflow as K, editTool as L, filesWithMimeType as M, formatVirtualFileTree as N, type ObservabilityHooks as O, getShortId as P, globTool as Q, type ReadSkillArgs as R, type SessionEndedEvent as S, type TaskCreateArgs as T, grepTool as U, hasDirectory as V, type WorkflowConfig as W, hasFileWithMimeType as X, hasNoOtherToolCalls as Y, type ZeitlichObservabilitySinks as Z, parseSkillFile as _, type FileReadArgs as a, proxyVirtualFsOps as a0, readFileTool as a1, taskCreateTool as a2, taskGetTool as a3, taskListTool as a4, taskUpdateTool as a5, writeFileTool as a6, type FileWriteArgs as b, type FileTreeAccessor as c, type GrepArgs as d, type SessionStartedEvent as e, type SubagentArgs as f, type TaskGetArgs as g, type TaskListArgs as h, type TaskUpdateArgs as i, type ToolExecutedEvent as j, type TurnCompletedEvent as k, type WorkflowInput as l, type WorkflowSessionInput as m, applyVirtualTreeMutations as n, askUserQuestionTool as o, bashTool as p, composeHooks as q, createAgentStateManager as r, createAskUserQuestionHandler as s, createBashToolDescription as t, createObservabilityHooks as u, createReadSkillHandler as v, createReadSkillTool as w, createSession as x, createTaskCreateHandler as y, createTaskGetHandler as z };