agents 0.13.0 → 0.13.1

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 CHANGED
@@ -110,7 +110,7 @@ State changes sync to all connected clients automatically. Call methods like the
110
110
  Core State sync · Routing · HTTP & WebSockets · @callable RPC · Sub-agents (facets)
111
111
  Clients React hook · Vanilla JS · Real-time state sync
112
112
  Channels WebSocket · HTTP · Email · (coming: SMS, Voice, Messengers)
113
- Background Queue · Scheduling · Workflows · Human-in-the-loop
113
+ Background Queue · Scheduling · Managed fibers · Workflows · Human-in-the-loop
114
114
  AI Chat agents · Agent tools · Tool calling · MCP servers & clients
115
115
  Platform Observability · Cross-domain auth · Resumable streams
116
116
  ```
@@ -1825,19 +1825,85 @@ type ScheduleCriteria = {
1825
1825
  * and identity for durable execution.
1826
1826
  */
1827
1827
  type FiberContext = {
1828
- /** Unique identifier for this fiber execution. */ id: string /** Checkpoint data during execution. Synchronous SQLite write. */;
1828
+ /** Unique identifier for this fiber execution. */ id: string /** Cooperative cancellation signal for managed fiber callers. */;
1829
+ signal: AbortSignal /** Checkpoint data during execution. Synchronous SQLite write. */;
1829
1830
  stash(
1830
1831
  data: unknown
1831
- ): void /** Last checkpoint data (null on first run, populated on recovery re-invocation). */;
1832
+ ): void /** Currently null during execution; recovered snapshots are passed to onFiberRecovered(). */;
1832
1833
  snapshot: unknown | null;
1833
1834
  };
1835
+ type FiberStatus =
1836
+ | "pending"
1837
+ | "running"
1838
+ | "completed"
1839
+ | "aborted"
1840
+ | "interrupted"
1841
+ | "error";
1842
+ type StartFiberOptions = {
1843
+ fiberId?: string;
1844
+ idempotencyKey?: string;
1845
+ metadata?: Record<string, unknown>;
1846
+ waitForCompletion?: boolean;
1847
+ };
1848
+ type FiberInspection = {
1849
+ fiberId: string;
1850
+ name: string;
1851
+ idempotencyKey?: string;
1852
+ status: FiberStatus;
1853
+ snapshot?: unknown;
1854
+ error?: string;
1855
+ metadata?: Record<string, unknown>;
1856
+ createdAt: number;
1857
+ startedAt?: number;
1858
+ settledAt?: number;
1859
+ };
1860
+ type StartFiberResult = FiberInspection & {
1861
+ accepted: boolean;
1862
+ };
1863
+ type FiberRecoveryResult =
1864
+ | {
1865
+ status: "completed";
1866
+ snapshot?: unknown;
1867
+ metadata?: Record<string, unknown>;
1868
+ }
1869
+ | {
1870
+ status: "error";
1871
+ error?: unknown;
1872
+ snapshot?: unknown;
1873
+ }
1874
+ | {
1875
+ status: "aborted";
1876
+ reason?: string;
1877
+ snapshot?: unknown;
1878
+ }
1879
+ | {
1880
+ status: "interrupted";
1881
+ reason?: string;
1882
+ snapshot?: unknown;
1883
+ };
1884
+ type ListFibersOptions = {
1885
+ status?: FiberStatus | FiberStatus[];
1886
+ name?: string;
1887
+ limit?: number;
1888
+ };
1889
+ type DeleteFibersOptions = {
1890
+ status?: FiberStatus | FiberStatus[];
1891
+ settledBefore?: Date;
1892
+ limit?: number;
1893
+ };
1834
1894
  /**
1835
1895
  * Context passed to the `onFiberRecovered` hook when an interrupted
1836
1896
  * fiber is detected after DO restart.
1837
1897
  */
1838
1898
  type FiberRecoveryContext = {
1839
1899
  /** Fiber ID. */ id: string /** Name passed to `runFiber`. */;
1840
- name: string /** Last checkpoint data from `stash()`, or null if never stashed. */;
1900
+ name: string /** Status for managed fibers recovered through the retained ledger. */;
1901
+ status?: FiberStatus /** Idempotency key for managed fibers, if one was supplied. */;
1902
+ idempotencyKey?: string /** Metadata for managed fibers, if one was supplied. */;
1903
+ metadata?: Record<
1904
+ string,
1905
+ unknown
1906
+ > | null /** Last checkpoint data from `stash()`, or null if never stashed. */;
1841
1907
  snapshot: unknown | null;
1842
1908
  /**
1843
1909
  * Epoch milliseconds when the fiber row was inserted (when `runFiber`
@@ -2033,6 +2099,12 @@ declare class Agent<
2033
2099
  private _facetKeepAliveTokens;
2034
2100
  /** @internal In-memory set of fiber IDs running in this process. */
2035
2101
  private _runFiberActiveFibers;
2102
+ /** @internal In-memory abort controllers for managed running fibers. */
2103
+ private _managedFiberAbortControllers;
2104
+ /** @internal In-memory executions for callers that want to await accepted work. */
2105
+ private _managedFiberExecutions;
2106
+ /** @internal In-memory waiters for managed fibers reaching terminal ledger state. */
2107
+ private _managedFiberTerminalWaiters;
2036
2108
  /** @internal Prevents re-entrant recovery from overlapping alarm ticks. */
2037
2109
  private _runFiberRecoveryInProgress;
2038
2110
  private _ParentClass;
@@ -2715,6 +2787,33 @@ declare class Agent<
2715
2787
  * ```
2716
2788
  */
2717
2789
  keepAliveWhile<T>(fn: () => Promise<T>): Promise<T>;
2790
+ private _isTerminalFiberStatus;
2791
+ private _notifyManagedFiberTerminal;
2792
+ private _waitForManagedFiberTerminal;
2793
+ private _normalizeFiberStatusFilter;
2794
+ private _parseFiberJsonObject;
2795
+ private _parseFiberSnapshot;
2796
+ private _fiberErrorMessage;
2797
+ private _stringifyFiberSnapshot;
2798
+ private _fiberRecoveryErrorMessage;
2799
+ private _applyManagedFiberRecoveryResult;
2800
+ private _settleManagedFiberExecution;
2801
+ private _parseFiberRecoverySnapshot;
2802
+ private _runFiberRecoveryHook;
2803
+ private _fiberInspectionFromRow;
2804
+ private _waitForManagedFiber;
2805
+ private _readFiber;
2806
+ private _readFiberByKey;
2807
+ private _listFiberRows;
2808
+ private _listFiberRowsByStatus;
2809
+ inspectFiber(fiberId: string): Promise<FiberInspection | null>;
2810
+ inspectFiberByKey(idempotencyKey: string): Promise<FiberInspection | null>;
2811
+ listFibers(options?: ListFibersOptions): Promise<FiberInspection[]>;
2812
+ cancelFiber(fiberId: string, reason?: string): Promise<boolean>;
2813
+ cancelFiberByKey(idempotencyKey: string, reason?: string): Promise<boolean>;
2814
+ resolveFiber(fiberId: string, result: FiberRecoveryResult): Promise<boolean>;
2815
+ deleteFibers(options?: DeleteFibersOptions): Promise<number>;
2816
+ private _listTerminalFiberRowsForDelete;
2718
2817
  /**
2719
2818
  * Run a function as a durable fiber. The fiber is registered in SQLite
2720
2819
  * before execution, checkpointable during execution via `ctx.stash()`,
@@ -2729,6 +2828,13 @@ declare class Agent<
2729
2828
  * @returns The return value of fn
2730
2829
  */
2731
2830
  runFiber<T>(name: string, fn: (ctx: FiberContext) => Promise<T>): Promise<T>;
2831
+ startFiber(
2832
+ name: string,
2833
+ fn: (ctx: FiberContext) => Promise<void>,
2834
+ options?: StartFiberOptions
2835
+ ): Promise<StartFiberResult>;
2836
+ private _executeManagedFiber;
2837
+ private _runFiberInternal;
2732
2838
  /**
2733
2839
  * Checkpoint data for the currently executing fiber.
2734
2840
  * Uses AsyncLocalStorage to identify the correct fiber,
@@ -2746,7 +2852,9 @@ declare class Agent<
2746
2852
  *
2747
2853
  * Default: logs a warning.
2748
2854
  */
2749
- onFiberRecovered(_ctx: FiberRecoveryContext): Promise<void>;
2855
+ onFiberRecovered(
2856
+ _ctx: FiberRecoveryContext
2857
+ ): Promise<void | FiberRecoveryResult>;
2750
2858
  /**
2751
2859
  * Override point for subclasses to handle internal (framework) fibers
2752
2860
  * before the user's recovery hook fires. Return `true` if handled.
@@ -4031,95 +4139,102 @@ type AgentToolEventState = {
4031
4139
  };
4032
4140
  //#endregion
4033
4141
  export {
4034
- unstable_callable as $,
4035
- FiberContext as A,
4036
- McpClientOptions as At,
4037
- ScheduleCriteria as B,
4142
+ SubAgentStub as $,
4143
+ EmailSendBinding as A,
4144
+ McpAuthContext as At,
4145
+ QueueItem as B,
4146
+ SubAgentPathMatch as Bt,
4038
4147
  AgentStaticOptions as C,
4039
- McpAuthContext as Ct,
4148
+ ElicitRequest$1 as Ct,
4040
4149
  DEFAULT_AGENT_STATIC_OPTIONS as D,
4041
- WorkerTransportOptions as Dt,
4150
+ CreateMcpHandlerOptions as Dt,
4042
4151
  ConnectionContext$1 as E,
4043
- WorkerTransport as Et,
4044
- QueueItem as F,
4045
- parseSubAgentPath as Ft,
4046
- SubAgentClass as G,
4047
- SqlError as H,
4048
- RPCRequest as I,
4049
- routeSubAgentRequest as It,
4050
- callable as J,
4051
- SubAgentStub as K,
4052
- RPCResponse as L,
4053
- MCPServer as M,
4054
- SUB_PREFIX as Mt,
4055
- MCPServerMessage as N,
4056
- SubAgentPathMatch as Nt,
4057
- EmailRoutingOptions as O,
4058
- SSEEdgeClientTransport as Ot,
4059
- MCPServersState as P,
4060
- getSubAgentByName as Pt,
4061
- routeAgentRequest as Q,
4062
- RoutingRetryOptions as R,
4152
+ McpAgent as Et,
4153
+ FiberStatus as F,
4154
+ SSEEdgeClientTransport as Ft,
4155
+ ScheduleCriteria as G,
4156
+ RPCResponse as H,
4157
+ parseSubAgentPath as Ht,
4158
+ ListFibersOptions as I,
4159
+ StreamableHTTPEdgeClientTransport as It,
4160
+ StartFiberOptions as J,
4161
+ SendEmailOptions as K,
4162
+ MCPServer as L,
4163
+ McpClientOptions as Lt,
4164
+ FiberInspection as M,
4165
+ TransportState as Mt,
4166
+ FiberRecoveryContext as N,
4167
+ WorkerTransport as Nt,
4168
+ DeleteFibersOptions as O,
4169
+ createMcpHandler as Ot,
4170
+ FiberRecoveryResult as P,
4171
+ WorkerTransportOptions as Pt,
4172
+ SubAgentClass as Q,
4173
+ MCPServerMessage as R,
4174
+ TransportType as Rt,
4063
4175
  AgentOptions as S,
4064
- experimental_createMcpHandler as St,
4176
+ RPC_DO_PREFIX as St,
4065
4177
  Connection$1 as T,
4066
- TransportState as Tt,
4067
- StateUpdateMessage as U,
4068
- SendEmailOptions as V,
4069
- StreamingResponse as W,
4070
- getCurrentAgent as X,
4071
- getAgentByName as Y,
4072
- routeAgentEmail as Z,
4178
+ ElicitResult$1 as Tt,
4179
+ RoutingRetryOptions as U,
4180
+ routeSubAgentRequest as Ut,
4181
+ RPCRequest as V,
4182
+ getSubAgentByName as Vt,
4183
+ Schedule as W,
4184
+ StateUpdateMessage as X,
4185
+ StartFiberResult as Y,
4186
+ StreamingResponse as Z,
4073
4187
  AddRpcMcpServerOptions as _,
4074
- ElicitRequestSchema$1 as _t,
4188
+ getNamespacedData as _t,
4075
4189
  AgentToolEventState as a,
4076
- MCPDiscoverResult as at,
4190
+ routeAgentRequest as at,
4077
4191
  AgentGetOptions as b,
4078
- CreateMcpHandlerOptions as bt,
4192
+ RPCServerTransport as bt,
4079
4193
  AgentToolRunInspection as c,
4080
- MCPServerOptions as ct,
4194
+ MCPClientManagerOptions as ct,
4081
4195
  AgentToolStoredChunk as d,
4082
- RPCClientTransport as dt,
4083
- MCPClientManager as et,
4196
+ MCPConnectionResult as dt,
4197
+ WSMessage$1 as et,
4084
4198
  AgentToolTerminalStatus as f,
4085
- RPCClientTransportOptions as ft,
4199
+ MCPDiscoverResult as ft,
4086
4200
  AddMcpServerOptions as g,
4087
- ElicitRequest$1 as gt,
4201
+ RegisterServerOptions as gt,
4088
4202
  RunAgentToolResult as h,
4089
- RPC_DO_PREFIX as ht,
4203
+ MCPServerOptions as ht,
4090
4204
  AgentToolEventMessage as i,
4091
- MCPConnectionResult as it,
4092
- FiberRecoveryContext as j,
4093
- TransportType as jt,
4094
- EmailSendBinding as k,
4095
- StreamableHTTPEdgeClientTransport as kt,
4205
+ routeAgentEmail as it,
4206
+ FiberContext as j,
4207
+ getMcpAuthContext as jt,
4208
+ EmailRoutingOptions as k,
4209
+ experimental_createMcpHandler as kt,
4096
4210
  AgentToolRunState as l,
4097
- RegisterServerOptions as lt,
4211
+ MCPClientOAuthCallbackConfig as lt,
4098
4212
  RunAgentToolOptions as m,
4099
- RPCServerTransportOptions as mt,
4213
+ MCPServerFilter as mt,
4100
4214
  AgentToolDisplayMetadata as n,
4101
- MCPClientOAuthCallbackConfig as nt,
4215
+ getAgentByName as nt,
4102
4216
  AgentToolLifecycleResult as o,
4103
- MCPOAuthCallbackResult as ot,
4217
+ unstable_callable as ot,
4104
4218
  ChatCapableAgentClass as p,
4105
- RPCServerTransport as pt,
4106
- WSMessage$1 as q,
4219
+ MCPOAuthCallbackResult as pt,
4220
+ SqlError as q,
4107
4221
  AgentToolEvent as r,
4108
- MCPClientOAuthResult as rt,
4222
+ getCurrentAgent as rt,
4109
4223
  AgentToolRunInfo as s,
4110
- MCPServerFilter as st,
4224
+ MCPClientManager as st,
4111
4225
  AgentToolChildAdapter as t,
4112
- MCPClientManagerOptions as tt,
4226
+ callable as tt,
4113
4227
  AgentToolRunStatus as u,
4114
- getNamespacedData as ut,
4228
+ MCPClientOAuthResult as ut,
4115
4229
  Agent as v,
4116
- ElicitResult$1 as vt,
4230
+ RPCClientTransport as vt,
4117
4231
  CallableMetadata as w,
4118
- getMcpAuthContext as wt,
4232
+ ElicitRequestSchema$1 as wt,
4119
4233
  AgentNamespace as x,
4120
- createMcpHandler as xt,
4234
+ RPCServerTransportOptions as xt,
4121
4235
  AgentContext as y,
4122
- McpAgent as yt,
4123
- Schedule as z
4236
+ RPCClientTransportOptions as yt,
4237
+ MCPServersState as z,
4238
+ SUB_PREFIX as zt
4124
4239
  };
4125
- //# sourceMappingURL=agent-tool-types-BVgYyKO9.d.ts.map
4240
+ //# sourceMappingURL=agent-tool-types-Dn9n-3SI.d.ts.map
@@ -14,7 +14,7 @@ import {
14
14
  s as AgentToolRunInfo,
15
15
  t as AgentToolChildAdapter,
16
16
  u as AgentToolRunStatus
17
- } from "./agent-tool-types-BVgYyKO9.js";
17
+ } from "./agent-tool-types-Dn9n-3SI.js";
18
18
  export {
19
19
  AgentToolChildAdapter,
20
20
  AgentToolDisplayMetadata,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  a as AgentToolEventState,
3
3
  i as AgentToolEventMessage
4
- } from "./agent-tool-types-BVgYyKO9.js";
4
+ } from "./agent-tool-types-Dn9n-3SI.js";
5
5
 
6
6
  //#region src/chat/agent-tools.d.ts
7
7
  declare function createAgentToolEventState(): AgentToolEventState;
@@ -11,4 +11,4 @@ declare function applyAgentToolEvent(
11
11
  ): AgentToolEventState;
12
12
  //#endregion
13
13
  export { createAgentToolEventState as n, applyAgentToolEvent as t };
14
- //# sourceMappingURL=agent-tools-C-Ch8Thl.d.ts.map
14
+ //# sourceMappingURL=agent-tools-B1ttU-pq.d.ts.map
@@ -14,7 +14,7 @@ import {
14
14
  s as AgentToolRunInfo,
15
15
  t as AgentToolChildAdapter,
16
16
  u as AgentToolRunStatus
17
- } from "./agent-tool-types-BVgYyKO9.js";
17
+ } from "./agent-tool-types-Dn9n-3SI.js";
18
18
  import { Tool } from "ai";
19
19
 
20
20
  //#region src/agent-tools.d.ts
@@ -3,11 +3,11 @@ import {
3
3
  i as AgentToolEventMessage,
4
4
  l as AgentToolRunState,
5
5
  r as AgentToolEvent
6
- } from "../agent-tool-types-BVgYyKO9.js";
6
+ } from "../agent-tool-types-Dn9n-3SI.js";
7
7
  import {
8
8
  n as createAgentToolEventState,
9
9
  t as applyAgentToolEvent
10
- } from "../agent-tools-C-Ch8Thl.js";
10
+ } from "../agent-tools-B1ttU-pq.js";
11
11
  import { JSONSchema7, Tool, ToolSet, UIMessage } from "ai";
12
12
  import { Connection } from "agents";
13
13
 
package/dist/client.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { v as Agent } from "./agent-tool-types-BVgYyKO9.js";
1
+ import { v as Agent } from "./agent-tool-types-Dn9n-3SI.js";
2
2
  import {
3
3
  ClientParameters,
4
4
  Method,
package/dist/index.d.ts CHANGED
@@ -1,65 +1,72 @@
1
1
  import { r as __DO_NOT_USE_WILL_BREAK__agentContext } from "./internal_context-BZrMS0B5.js";
2
2
  import {
3
- $ as unstable_callable,
4
- A as FiberContext,
5
- B as ScheduleCriteria,
3
+ $ as SubAgentStub,
4
+ A as EmailSendBinding,
5
+ B as QueueItem,
6
+ Bt as SubAgentPathMatch,
6
7
  C as AgentStaticOptions,
7
8
  D as DEFAULT_AGENT_STATIC_OPTIONS,
8
9
  E as ConnectionContext,
9
- F as QueueItem,
10
- Ft as parseSubAgentPath,
11
- G as SubAgentClass,
12
- H as SqlError,
13
- I as RPCRequest,
14
- It as routeSubAgentRequest,
15
- J as callable,
16
- K as SubAgentStub,
17
- L as RPCResponse,
18
- M as MCPServer,
19
- Mt as SUB_PREFIX,
20
- N as MCPServerMessage,
21
- Nt as SubAgentPathMatch,
22
- O as EmailRoutingOptions,
23
- P as MCPServersState,
24
- Pt as getSubAgentByName,
25
- Q as routeAgentRequest,
26
- R as RoutingRetryOptions,
10
+ F as FiberStatus,
11
+ G as ScheduleCriteria,
12
+ H as RPCResponse,
13
+ Ht as parseSubAgentPath,
14
+ I as ListFibersOptions,
15
+ J as StartFiberOptions,
16
+ K as SendEmailOptions,
17
+ L as MCPServer,
18
+ M as FiberInspection,
19
+ N as FiberRecoveryContext,
20
+ O as DeleteFibersOptions,
21
+ P as FiberRecoveryResult,
22
+ Q as SubAgentClass,
23
+ R as MCPServerMessage,
24
+ Rt as TransportType,
27
25
  S as AgentOptions,
28
26
  T as Connection,
29
- U as StateUpdateMessage,
30
- V as SendEmailOptions,
31
- W as StreamingResponse,
32
- X as getCurrentAgent,
33
- Y as getAgentByName,
34
- Z as routeAgentEmail,
27
+ U as RoutingRetryOptions,
28
+ Ut as routeSubAgentRequest,
29
+ V as RPCRequest,
30
+ Vt as getSubAgentByName,
31
+ W as Schedule,
32
+ X as StateUpdateMessage,
33
+ Y as StartFiberResult,
34
+ Z as StreamingResponse,
35
35
  _ as AddRpcMcpServerOptions,
36
36
  a as AgentToolEventState,
37
+ at as routeAgentRequest,
37
38
  b as AgentGetOptions,
38
39
  c as AgentToolRunInspection,
39
40
  d as AgentToolStoredChunk,
41
+ et as WSMessage,
40
42
  f as AgentToolTerminalStatus,
41
43
  g as AddMcpServerOptions,
42
44
  h as RunAgentToolResult,
43
45
  i as AgentToolEventMessage,
44
- j as FiberRecoveryContext,
45
- jt as TransportType,
46
- k as EmailSendBinding,
46
+ it as routeAgentEmail,
47
+ j as FiberContext,
48
+ k as EmailRoutingOptions,
47
49
  l as AgentToolRunState,
48
50
  m as RunAgentToolOptions,
49
51
  n as AgentToolDisplayMetadata,
52
+ nt as getAgentByName,
50
53
  o as AgentToolLifecycleResult,
54
+ ot as unstable_callable,
51
55
  p as ChatCapableAgentClass,
52
- q as WSMessage,
56
+ q as SqlError,
53
57
  r as AgentToolEvent,
58
+ rt as getCurrentAgent,
54
59
  s as AgentToolRunInfo,
55
60
  t as AgentToolChildAdapter,
61
+ tt as callable,
56
62
  u as AgentToolRunStatus,
57
63
  v as Agent,
58
64
  w as CallableMetadata,
59
65
  x as AgentNamespace,
60
66
  y as AgentContext,
61
- z as Schedule
62
- } from "./agent-tool-types-BVgYyKO9.js";
67
+ z as MCPServersState,
68
+ zt as SUB_PREFIX
69
+ } from "./agent-tool-types-Dn9n-3SI.js";
63
70
  import { t as RetryOptions } from "./retries-BVdRl5ZE.js";
64
71
  import {
65
72
  n as AgentsOAuthProvider,
@@ -96,11 +103,16 @@ export {
96
103
  type Connection,
97
104
  type ConnectionContext,
98
105
  DEFAULT_AGENT_STATIC_OPTIONS,
106
+ DeleteFibersOptions,
99
107
  DurableObjectOAuthClientProvider,
100
108
  EmailRoutingOptions,
101
109
  EmailSendBinding,
102
110
  FiberContext,
111
+ FiberInspection,
103
112
  FiberRecoveryContext,
113
+ FiberRecoveryResult,
114
+ FiberStatus,
115
+ ListFibersOptions,
104
116
  MCPServer,
105
117
  MCPServerMessage,
106
118
  MCPServersState,
@@ -117,6 +129,8 @@ export {
117
129
  ScheduleCriteria,
118
130
  SendEmailOptions,
119
131
  SqlError,
132
+ StartFiberOptions,
133
+ StartFiberResult,
120
134
  StateUpdateMessage,
121
135
  StreamingResponse,
122
136
  SubAgentClass,