agents 0.22.0 → 0.23.0

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 (186) hide show
  1. package/README.md +20 -1
  2. package/dist/{agent-routing-CnkaHb-v.d.ts → agent-routing-DE5zmCQ8.d.ts} +1038 -394
  3. package/dist/agent-routing.d.ts +1 -1
  4. package/dist/agent-tool-types.d.ts +26 -26
  5. package/dist/{agent-tools-C0XJqWzB.d.ts → agent-tools-DtXMTDGM.d.ts} +7 -7
  6. package/dist/agent-tools.d.ts +21 -21
  7. package/dist/browser/ai.js +4 -1
  8. package/dist/browser/ai.js.map +1 -1
  9. package/dist/browser/tanstack-ai.js.map +1 -1
  10. package/dist/callable-decorator-DP__HhBA.d.ts +72 -0
  11. package/dist/callable-decorator.d.ts +18 -0
  12. package/dist/callable-decorator.js +71 -0
  13. package/dist/callable-decorator.js.map +1 -0
  14. package/dist/capability-BjSKYpzg.js.map +1 -1
  15. package/dist/capability-runner-Be_-PLR1.d.ts +459 -0
  16. package/dist/channel-Bnm4S7T2.d.ts +491 -0
  17. package/dist/channels/ai-sdk.d.ts +46 -0
  18. package/dist/channels/ai-sdk.js +120 -0
  19. package/dist/channels/ai-sdk.js.map +1 -0
  20. package/dist/channels/email.d.ts +95 -0
  21. package/dist/channels/email.js +323 -0
  22. package/dist/channels/email.js.map +1 -0
  23. package/dist/channels/index.d.ts +233 -0
  24. package/dist/channels/index.js +608 -0
  25. package/dist/channels/index.js.map +1 -0
  26. package/dist/channels/slack.d.ts +140 -0
  27. package/dist/channels/slack.js +614 -0
  28. package/dist/channels/slack.js.map +1 -0
  29. package/dist/channels/tanstack-ai.d.ts +39 -0
  30. package/dist/channels/tanstack-ai.js +17 -0
  31. package/dist/channels/tanstack-ai.js.map +1 -0
  32. package/dist/channels/telegram.d.ts +106 -0
  33. package/dist/channels/telegram.js +427 -0
  34. package/dist/channels/telegram.js.map +1 -0
  35. package/dist/channels/voice.d.ts +45 -0
  36. package/dist/channels/voice.js +122 -0
  37. package/dist/channels/voice.js.map +1 -0
  38. package/dist/chat/index.d.ts +2325 -2019
  39. package/dist/chat/index.js +888 -518
  40. package/dist/chat/index.js.map +1 -1
  41. package/dist/chat-sdk/index.d.ts +7 -7
  42. package/dist/chat-sdk/index.js +1 -1
  43. package/dist/client.d.ts +1 -1
  44. package/dist/context/index.d.ts +216 -0
  45. package/dist/context/index.js +454 -0
  46. package/dist/context/index.js.map +1 -0
  47. package/dist/{current-agent-CuMErtly.d.ts → current-agent-Da_C9a3b.d.ts} +90 -107
  48. package/dist/current-agent-DhoDkSnH.js.map +1 -1
  49. package/dist/{diagnostics-CaBjfz4J.js → diagnostics-BzvaX2UT.js} +5 -1
  50. package/dist/diagnostics-BzvaX2UT.js.map +1 -0
  51. package/dist/diagnostics-C4jcz3VK.js +360 -0
  52. package/dist/diagnostics-C4jcz3VK.js.map +1 -0
  53. package/dist/index-BB0kqhIz.d.ts +101 -0
  54. package/dist/index-BVVgDSdq.d.ts +1 -0
  55. package/dist/index-XDkuQ7zm.d.ts +89 -0
  56. package/dist/{index-DcSAZKsB.d.ts → index-YSKgfgg9.d.ts} +3 -1
  57. package/dist/index.d.ts +91 -82
  58. package/dist/index.js +3 -2
  59. package/dist/ingress-BfetZbMO.js +83 -0
  60. package/dist/ingress-BfetZbMO.js.map +1 -0
  61. package/dist/internal-CYlgHl1l.js +59 -0
  62. package/dist/internal-CYlgHl1l.js.map +1 -0
  63. package/dist/internal_context.d.ts +1 -1
  64. package/dist/lifecycle/index.d.ts +35 -17
  65. package/dist/lifecycle/index.js +1 -1
  66. package/dist/lifecycle-CMRGjZdw.js +1299 -0
  67. package/dist/lifecycle-CMRGjZdw.js.map +1 -0
  68. package/dist/mcp/client/index.d.ts +20 -20
  69. package/dist/mcp/index.d.ts +35 -35
  70. package/dist/mcp/index.js +1 -1
  71. package/dist/observability/index.d.ts +1 -1
  72. package/dist/observability/index.js +1 -1
  73. package/dist/react.d.ts +4 -4
  74. package/dist/{retries-CAvxtG9d.d.ts → retries-D9Ds-1lz.d.ts} +17 -6
  75. package/dist/retries.d.ts +8 -6
  76. package/dist/retries.js +13 -1
  77. package/dist/retries.js.map +1 -1
  78. package/dist/routing/index.d.ts +137 -0
  79. package/dist/routing/index.js +244 -0
  80. package/dist/routing/index.js.map +1 -0
  81. package/dist/sanitize-D9TujEK8.js +79 -0
  82. package/dist/sanitize-D9TujEK8.js.map +1 -0
  83. package/dist/scheduler-DD9NdYbF.js +665 -0
  84. package/dist/scheduler-DD9NdYbF.js.map +1 -0
  85. package/dist/{scheduler-DQoTGoAW.d.ts → scheduler-Dwh85ZGl.d.ts} +21 -22
  86. package/dist/schedules/index.d.ts +1 -1
  87. package/dist/schedules/index.js +1 -1
  88. package/dist/sentence-chunker-BAidJ4DA.d.ts +68 -0
  89. package/dist/serializable.d.ts +1 -1
  90. package/dist/sessions/index.d.ts +441 -0
  91. package/dist/sessions/index.js +2063 -0
  92. package/dist/sessions/index.js.map +1 -0
  93. package/dist/skills/index.d.ts +99 -0
  94. package/dist/skills/index.js +254 -5
  95. package/dist/skills/index.js.map +1 -1
  96. package/dist/{src-5W6JNKVb.js → src-DlSHshb2.js} +1460 -1110
  97. package/dist/src-DlSHshb2.js.map +1 -0
  98. package/dist/streams/index.d.ts +120 -0
  99. package/dist/streams/index.js +107 -0
  100. package/dist/streams/index.js.map +1 -0
  101. package/dist/streams-D6tJ0NN9.d.ts +370 -0
  102. package/dist/streams-DZKgAj9b.js +709 -0
  103. package/dist/streams-DZKgAj9b.js.map +1 -0
  104. package/dist/sub-routing.d.ts +12 -12
  105. package/dist/surface-bZZJqBka.js +17 -0
  106. package/dist/surface-bZZJqBka.js.map +1 -0
  107. package/dist/tasks/index.d.ts +64 -0
  108. package/dist/tasks/index.js +2 -0
  109. package/dist/tasks-BRJ5zgya.d.ts +517 -0
  110. package/dist/tasks-ylZgBjhj.js +1656 -0
  111. package/dist/tasks-ylZgBjhj.js.map +1 -0
  112. package/dist/text-segment-joiner-BtAFQSA_.js +57 -0
  113. package/dist/text-segment-joiner-BtAFQSA_.js.map +1 -0
  114. package/dist/text-stream-CpdiKrJB.js +272 -0
  115. package/dist/text-stream-CpdiKrJB.js.map +1 -0
  116. package/dist/tokens-nHAKcN6M.js +52 -0
  117. package/dist/tokens-nHAKcN6M.js.map +1 -0
  118. package/dist/tool-schema-CBjGPrsQ.js +31 -0
  119. package/dist/tool-schema-CBjGPrsQ.js.map +1 -0
  120. package/dist/types-B7LojTe4.d.ts +202 -0
  121. package/dist/types-_Faxb570.d.ts +439 -0
  122. package/dist/voice/client.d.ts +226 -0
  123. package/dist/voice/client.js +932 -0
  124. package/dist/voice/client.js.map +1 -0
  125. package/dist/voice/errors.d.ts +43 -0
  126. package/dist/voice/errors.js +41 -0
  127. package/dist/voice/errors.js.map +1 -0
  128. package/dist/voice/index.d.ts +271 -0
  129. package/dist/voice/index.js +1812 -0
  130. package/dist/voice/index.js.map +1 -0
  131. package/dist/voice/react.d.ts +167 -0
  132. package/dist/voice/react.js +234 -0
  133. package/dist/voice/react.js.map +1 -0
  134. package/dist/voice/sfu.d.ts +71 -0
  135. package/dist/voice/sfu.js +157 -0
  136. package/dist/voice/sfu.js.map +1 -0
  137. package/dist/voice/text.d.ts +6 -0
  138. package/dist/voice/text.js +2 -0
  139. package/dist/voice/types.d.ts +58 -0
  140. package/dist/voice/types.js +18 -0
  141. package/dist/voice/types.js.map +1 -0
  142. package/dist/voice/workers-ai.d.ts +136 -0
  143. package/dist/voice/workers-ai.js +568 -0
  144. package/dist/voice/workers-ai.js.map +1 -0
  145. package/dist/websockets/index.d.ts +192 -0
  146. package/dist/websockets/index.js +2 -0
  147. package/dist/websockets-DUfRHPRq.js +502 -0
  148. package/dist/websockets-DUfRHPRq.js.map +1 -0
  149. package/dist/workflow-types.d.ts +25 -25
  150. package/dist/workflows.d.ts +21 -21
  151. package/dist/workflows.js +1 -1
  152. package/docs/agent-class.md +2 -2
  153. package/docs/agent-tools.md +2 -1
  154. package/docs/channels.md +323 -0
  155. package/docs/chat-agents.md +6 -13
  156. package/docs/context.md +131 -0
  157. package/docs/index.md +15 -12
  158. package/docs/lifecycle.md +102 -55
  159. package/docs/long-running-agents.md +2 -2
  160. package/docs/mcp-servers.md +5 -1
  161. package/docs/resumable-streaming.md +1 -1
  162. package/docs/routing.md +105 -0
  163. package/docs/sessions.md +237 -871
  164. package/docs/streams.md +213 -0
  165. package/docs/sub-agents.md +184 -124
  166. package/docs/tasks.md +246 -0
  167. package/docs/voice.md +745 -0
  168. package/package.json +115 -13
  169. package/dist/capability-runner-CvHGZqUu.d.ts +0 -150
  170. package/dist/compaction-helpers-iiKMr2TQ.js +0 -340
  171. package/dist/compaction-helpers-iiKMr2TQ.js.map +0 -1
  172. package/dist/compaction-helpers-wUz6M3us.d.ts +0 -621
  173. package/dist/diagnostics-CaBjfz4J.js.map +0 -1
  174. package/dist/durable-object-lifecycle-D6nNQJJd.js +0 -862
  175. package/dist/durable-object-lifecycle-D6nNQJJd.js.map +0 -1
  176. package/dist/experimental/memory/session/index.d.ts +0 -671
  177. package/dist/experimental/memory/session/index.js +0 -2379
  178. package/dist/experimental/memory/session/index.js.map +0 -1
  179. package/dist/experimental/memory/utils/index.d.ts +0 -96
  180. package/dist/experimental/memory/utils/index.js +0 -79
  181. package/dist/experimental/memory/utils/index.js.map +0 -1
  182. package/dist/scheduler-CR9RHGos.js +0 -857
  183. package/dist/scheduler-CR9RHGos.js.map +0 -1
  184. package/dist/src-5W6JNKVb.js.map +0 -1
  185. package/dist/tool-output-truncation-CNnnGZQ3.js +0 -98
  186. package/dist/tool-output-truncation-CNnnGZQ3.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  import {
2
- M as SubAgentClass,
3
- N as SubAgentStub,
4
- c as Agent
5
- } from "../agent-routing-CnkaHb-v.js";
2
+ c as Agent,
3
+ vn as DynamicAgentClass,
4
+ yn as DynamicAgentStub
5
+ } from "../agent-routing-DE5zmCQ8.js";
6
6
  import { Lock, QueueEntry, StateAdapter } from "chat";
7
7
 
8
8
  //#region src/chat-sdk/agent.d.ts
@@ -54,12 +54,12 @@ declare class ChatSdkStateAgent extends Agent {
54
54
  //#region src/chat-sdk/types.d.ts
55
55
  interface ChatSdkStateParent {
56
56
  subAgent<T extends ChatSdkStateAgent>(
57
- agentClass: SubAgentClass<T>,
57
+ agentClass: DynamicAgentClass<T>,
58
58
  name: string
59
- ): Promise<SubAgentStub<T>>;
59
+ ): Promise<DynamicAgentStub<T>>;
60
60
  }
61
61
  interface ChatSdkStateAdapterOptions {
62
- agent?: SubAgentClass<ChatSdkStateAgent>;
62
+ agent?: DynamicAgentClass<ChatSdkStateAgent>;
63
63
  parent?: ChatSdkStateParent;
64
64
  name?: string;
65
65
  keyShard?: (key: string) => string | undefined;
@@ -1,4 +1,4 @@
1
- import { a as getCurrentAgent, t as Agent } from "../src-5W6JNKVb.js";
1
+ import { i as getCurrentAgent, t as Agent } from "../src-DlSHshb2.js";
2
2
  //#region src/chat-sdk/agent.ts
3
3
  const NEXT_CLEANUP_AT_KEY = "next_cleanup_at";
4
4
  const CLEANUP_SCHEDULE_ID_KEY = "cleanup_schedule_id";
package/dist/client.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { c as Agent } from "./agent-routing-CnkaHb-v.js";
1
+ import { c as Agent } from "./agent-routing-DE5zmCQ8.js";
2
2
  import {
3
3
  ClientParameters,
4
4
  Method,
@@ -0,0 +1,216 @@
1
+ import { ToolSet } from "ai";
2
+
3
+ //#region src/context/sqlite-provider.d.ts
4
+ /** Minimal tagged-template SQL surface used by SQLite context providers. */
5
+ interface SqlProvider {
6
+ sql<T = Record<string, string | number | boolean | null>>(
7
+ strings: TemplateStringsArray,
8
+ ...values: (string | number | boolean | null)[]
9
+ ): T[];
10
+ }
11
+ /** SQLite-backed writable context block provider. */
12
+ declare class AgentContextProvider implements WritableContextProvider {
13
+ private agent;
14
+ private label;
15
+ private initialized;
16
+ constructor(agent: SqlProvider, label?: string);
17
+ init(label: string): void;
18
+ private ensureTable;
19
+ get(): Promise<string | null>;
20
+ set(content: string): Promise<void>;
21
+ }
22
+ //#endregion
23
+ //#region src/context/search.d.ts
24
+ /**
25
+ * Storage interface for searchable context.
26
+ *
27
+ * - `get()` returns a summary of indexed content (rendered into system prompt)
28
+ * - `search(query)` full-text search (via search_context tool)
29
+ * - `set(key, content)` indexes content under a key (via set_context tool)
30
+ */
31
+ interface SearchProvider extends ContextProvider {
32
+ search(query: string): Promise<string | null>;
33
+ set?(key: string, content: string): Promise<void>;
34
+ }
35
+ /**
36
+ * SearchProvider backed by Durable Object SQLite with FTS5.
37
+ *
38
+ * - `get()` returns a count of indexed entries
39
+ * - `search(query)` full-text search using FTS5
40
+ * - `set(key, content)` indexes or replaces content under a key
41
+ *
42
+ * Entries live in one namespaced FTS5 table, separate from the session
43
+ * message index.
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * const context = new ContextBlocks([
48
+ * { label: "knowledge", provider: new AgentSearchProvider(this) }
49
+ * ]);
50
+ * ```
51
+ */
52
+ declare class AgentSearchProvider implements SearchProvider {
53
+ private agent;
54
+ private label;
55
+ private initialized;
56
+ constructor(agent: SqlProvider);
57
+ init(label: string): void;
58
+ private ensureTable;
59
+ get(): Promise<string | null>;
60
+ search(query: string): Promise<string | null>;
61
+ set(key: string, content: string): Promise<void>;
62
+ }
63
+ //#endregion
64
+ //#region src/context/blocks.d.ts
65
+ /**
66
+ * Base storage interface for a context block.
67
+ * A provider with only `get()` is readonly.
68
+ */
69
+ interface ContextProvider {
70
+ get(): Promise<string | null>;
71
+ /** Called by the context system to provide the block label before first use. */
72
+ init?(label: string): void;
73
+ }
74
+ /**
75
+ * Writable context provider — extends ContextProvider with `set()`.
76
+ * Blocks backed by this provider are writable via the `set_context` tool.
77
+ */
78
+ interface WritableContextProvider extends ContextProvider {
79
+ set(content: string): Promise<void>;
80
+ }
81
+ /**
82
+ * Configuration for a context block.
83
+ */
84
+ interface ContextConfig {
85
+ /** Block label — used as key and in tool descriptions */
86
+ label: string;
87
+ /** Human-readable description (shown to AI in tool) */
88
+ description?: string;
89
+ /** Maximum tokens allowed. Enforced on set. */
90
+ maxTokens?: number;
91
+ /** Storage provider. Determines block behavior:
92
+ * - ContextProvider (get only) → readonly
93
+ * - WritableContextProvider (get+set) → writable via set_context
94
+ * - SearchProvider (get+search+set?) → searchable via search_context
95
+ * If omitted, auto-wired to writable SQLite when using builder. */
96
+ provider?: ContextProvider | WritableContextProvider | SearchProvider;
97
+ }
98
+ /**
99
+ * A loaded context block with computed token count.
100
+ */
101
+ interface ContextBlock {
102
+ label: string;
103
+ description?: string;
104
+ content: string;
105
+ tokens: number;
106
+ maxTokens?: number;
107
+ /** True if provider is writable (has set) */
108
+ writable: boolean;
109
+ /** True if backed by a SearchProvider */
110
+ isSearchable: boolean;
111
+ }
112
+ /**
113
+ * Manages context blocks with frozen snapshot support.
114
+ */
115
+ declare class ContextBlocks {
116
+ private configs;
117
+ private blocks;
118
+ private snapshot;
119
+ private loaded;
120
+ private promptStore;
121
+ private defaultProvider;
122
+ /**
123
+ * @param configs Blocks to load on first use.
124
+ * @param promptStore Persists the frozen system prompt, keeping the
125
+ * provider's prefix cache warm across wakes.
126
+ * @param defaultProvider Supplies storage for blocks declared without a
127
+ * provider, so a host can offer durable writable blocks by label alone.
128
+ */
129
+ constructor(
130
+ configs: ContextConfig[],
131
+ promptStore?: WritableContextProvider,
132
+ defaultProvider?: (label: string) => ContextProvider
133
+ );
134
+ /** Fill in the host's storage for a block declared without a provider. */
135
+ private withDefaultProvider;
136
+ /**
137
+ * Load all blocks from their providers. Hosts call this once at startup;
138
+ * every other entry point loads lazily.
139
+ */
140
+ load(): Promise<void>;
141
+ /** Initialize a block's provider and read its current content. */
142
+ private loadBlock;
143
+ /**
144
+ * Dynamically register a new context block after initialization.
145
+ * Used by extensions to contribute context at runtime.
146
+ *
147
+ * If blocks have already been loaded, the new block's provider is
148
+ * initialized and loaded immediately. The snapshot is NOT updated
149
+ * automatically — call `refreshSystemPrompt()` to rebuild.
150
+ */
151
+ addBlock(input: ContextConfig): Promise<ContextBlock>;
152
+ /**
153
+ * Remove a dynamically registered context block.
154
+ * Used during extension unload cleanup.
155
+ *
156
+ * Returns true if the block existed and was removed.
157
+ * The snapshot is NOT updated automatically — call
158
+ * `refreshSystemPrompt()` to rebuild.
159
+ */
160
+ removeBlock(label: string): boolean;
161
+ /**
162
+ * Get a block by label.
163
+ */
164
+ getBlock(label: string): ContextBlock | null;
165
+ /**
166
+ * Get all blocks.
167
+ */
168
+ getBlocks(): ContextBlock[];
169
+ /**
170
+ * Set block content. Writes to provider immediately.
171
+ * Does NOT update the frozen snapshot.
172
+ */
173
+ setBlock(label: string, content: string): Promise<ContextBlock>;
174
+ /** Index a search entry within a searchable block. */
175
+ private setSearchEntry;
176
+ /** Search a searchable block. */
177
+ private searchContext;
178
+ /**
179
+ * Append content to a block.
180
+ */
181
+ appendToBlock(label: string, content: string): Promise<ContextBlock>;
182
+ private renderPrompt;
183
+ /**
184
+ * The frozen system prompt. The first call renders the blocks and stores
185
+ * the result; every later call returns that same string, so the model
186
+ * provider's prefix cache stays warm. Block edits do not change it until
187
+ * `refreshSystemPrompt()` is called.
188
+ */
189
+ freezeSystemPrompt(): Promise<string>;
190
+ /**
191
+ * Reload every block from its provider, re-render the system prompt, and
192
+ * persist it. Use this after block content has changed.
193
+ */
194
+ refreshSystemPrompt(): Promise<string>;
195
+ /**
196
+ * AI tools for context blocks.
197
+ *
198
+ * Auto-wired based on provider capabilities:
199
+ * - `set_context` — when any block is writable
200
+ * - `search_context` — when any block is a search provider
201
+ */
202
+ tools(): Promise<ToolSet>;
203
+ }
204
+ //#endregion
205
+ export {
206
+ AgentContextProvider,
207
+ AgentSearchProvider,
208
+ type ContextBlock,
209
+ ContextBlocks,
210
+ type ContextConfig,
211
+ type ContextProvider,
212
+ type SearchProvider,
213
+ type SqlProvider,
214
+ type WritableContextProvider
215
+ };
216
+ //# sourceMappingURL=index.d.ts.map