convex-durable-agents 0.2.3 → 0.2.5

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 (75) hide show
  1. package/README.md +81 -7
  2. package/dist/client/api.d.ts.map +1 -1
  3. package/dist/client/api.js +23 -4
  4. package/dist/client/api.js.map +1 -1
  5. package/dist/client/handler.d.ts +22 -0
  6. package/dist/client/handler.d.ts.map +1 -1
  7. package/dist/client/handler.js +261 -118
  8. package/dist/client/handler.js.map +1 -1
  9. package/dist/client/streamer.js +1 -1
  10. package/dist/client/streamer.js.map +1 -1
  11. package/dist/client/tools.d.ts +17 -0
  12. package/dist/client/tools.d.ts.map +1 -1
  13. package/dist/client/tools.js +16 -0
  14. package/dist/client/tools.js.map +1 -1
  15. package/dist/client/types.d.ts +75 -1
  16. package/dist/client/types.d.ts.map +1 -1
  17. package/dist/client/types.js +11 -0
  18. package/dist/client/types.js.map +1 -1
  19. package/dist/component/_generated/component.d.ts +89 -0
  20. package/dist/component/_generated/component.d.ts.map +1 -1
  21. package/dist/component/agent.d.ts.map +1 -1
  22. package/dist/component/agent.js +21 -2
  23. package/dist/component/agent.js.map +1 -1
  24. package/dist/component/schema.d.ts +70 -2
  25. package/dist/component/schema.d.ts.map +1 -1
  26. package/dist/component/schema.js +21 -0
  27. package/dist/component/schema.js.map +1 -1
  28. package/dist/component/streams.js +2 -2
  29. package/dist/component/streams.js.map +1 -1
  30. package/dist/component/threads.d.ts +92 -2
  31. package/dist/component/threads.d.ts.map +1 -1
  32. package/dist/component/threads.js +83 -2
  33. package/dist/component/threads.js.map +1 -1
  34. package/dist/component/tool_calls.d.ts +55 -3
  35. package/dist/component/tool_calls.d.ts.map +1 -1
  36. package/dist/component/tool_calls.js +352 -35
  37. package/dist/component/tool_calls.js.map +1 -1
  38. package/dist/utils/logger.d.ts.map +1 -0
  39. package/dist/utils/logger.js.map +1 -0
  40. package/dist/utils/msg.d.ts +3 -0
  41. package/dist/utils/msg.d.ts.map +1 -0
  42. package/dist/utils/msg.js +7 -0
  43. package/dist/utils/msg.js.map +1 -0
  44. package/dist/utils/retry.d.ts +69 -0
  45. package/dist/utils/retry.d.ts.map +1 -0
  46. package/dist/utils/retry.js +404 -0
  47. package/dist/utils/retry.js.map +1 -0
  48. package/dist/utils/streaming.d.ts +4 -0
  49. package/dist/utils/streaming.d.ts.map +1 -0
  50. package/dist/utils/streaming.js +4 -0
  51. package/dist/utils/streaming.js.map +1 -0
  52. package/package.json +1 -1
  53. package/src/client/api.ts +24 -4
  54. package/src/client/handler.ts +337 -134
  55. package/src/client/streamer.ts +1 -1
  56. package/src/client/tools.ts +43 -1
  57. package/src/client/types.ts +60 -0
  58. package/src/component/_generated/component.ts +103 -0
  59. package/src/component/agent.ts +24 -2
  60. package/src/component/schema.ts +22 -0
  61. package/src/component/streams.ts +2 -2
  62. package/src/component/threads.ts +92 -3
  63. package/src/component/tool_calls.ts +430 -44
  64. package/src/utils/msg.ts +8 -0
  65. package/src/utils/retry.ts +528 -0
  66. package/src/{streaming.ts → utils/streaming.ts} +2 -3
  67. package/dist/logger.d.ts.map +0 -1
  68. package/dist/logger.js.map +0 -1
  69. package/dist/streaming.d.ts +0 -3
  70. package/dist/streaming.d.ts.map +0 -1
  71. package/dist/streaming.js +0 -4
  72. package/dist/streaming.js.map +0 -1
  73. /package/dist/{logger.d.ts → utils/logger.d.ts} +0 -0
  74. /package/dist/{logger.js → utils/logger.js} +0 -0
  75. /package/src/{logger.ts → utils/logger.ts} +0 -0
package/README.md CHANGED
@@ -6,7 +6,7 @@ A Convex component for building durable AI agents with an async tool loop. The g
6
6
  way to build AI agents that can run indefinitely and survive failures and restarts. It provides some of the
7
7
  functionality of the [Convex Agents Component](https://www.convex.dev/components/agent) (such as persistent streaming),
8
8
  while deliberately leaving out some of the more advanced features (context management, RAG, rate limiting, etc.). The
9
- component is built on top of the [AI SDK v6](https://ai-sdk.dev/) SDK and aims to expose its full `streamText` API with
9
+ component is built on top of the [AI SDK v6](https://ai-sdk.dev/) and aims to expose its full `streamText` API with
10
10
  persistence and durable execution.
11
11
 
12
12
  **Note:** This component is still in early development and is not yet ready for production use. The API will very likely
@@ -16,13 +16,9 @@ change before a first stable release.
16
16
 
17
17
  - **Async Execution**: Agent tool loop is executed asynchronously to avoid time limits of convex actions
18
18
  - **Tool Execution**: via convex actions - support for both sync and async tools
19
- - **Automatic Retries**: Failed tool calls are automatically retried
20
- - **Workpool Support**: Optionally route agent and tool execution through `@convex-dev/workpool` for parallelism control
21
- and retry mechanisms
22
-
23
- ## Roadmap
24
-
19
+ - **Automatic Retries**: Failed tool calls are automatically retried (opt-in)
25
20
  - **Durable Execution**: Agent tool loops survive crashes and dev server restarts
21
+ - **Workpool Support**: Optionally route agent and tool execution through `@convex-dev/workpool` for parallelism control
26
22
 
27
23
  ## Installation
28
24
 
@@ -66,6 +62,10 @@ export const chatAgentHandler = streamHandlerAction(components.durableAgents, {
66
62
  description: "Get weather for a location",
67
63
  args: z.object({ location: z.string() }),
68
64
  handler: internal.tools.weather.getWeather,
65
+ retry: {
66
+ enabled: true,
67
+ maxAttempts: 5,
68
+ },
69
69
  }),
70
70
  },
71
71
  saveStreamDeltas: true, // Enable real-time streaming
@@ -291,9 +291,29 @@ createActionTool({
291
291
  description: string,
292
292
  args: ZodSchema,
293
293
  handler: FunctionReference<"action">,
294
+ retry?: true | {
295
+ enabled: true,
296
+ maxAttempts?: number, // default 3
297
+ backoff?: {
298
+ strategy?: "fixed",
299
+ delayMs: number,
300
+ jitter?: boolean,
301
+ } | {
302
+ strategy: "exponential",
303
+ initialDelayMs: number,
304
+ multiplier?: number, // default 2
305
+ maxDelayMs?: number,
306
+ jitter?: boolean,
307
+ },
308
+ shouldRetryError?: FunctionReference<"action">,
309
+ },
294
310
  });
295
311
  ```
296
312
 
313
+ Pass `retry: true` for defaults (3 attempts, exponential backoff) or provide a full config object.
314
+ The optional `shouldRetryError` action receives `{ threadId, toolCallId, toolName, args, error, attempt, maxAttempts }`
315
+ and should return a truthy value to retry or falsy to fail immediately.
316
+
297
317
  #### `createAsyncTool(options)`
298
318
 
299
319
  Creates an async tool where results are provided later:
@@ -462,6 +482,60 @@ defineAgentApi(components.durableAgents, internal.chat.chatAgentHandler, {
462
482
  });
463
483
  ```
464
484
 
485
+ ## Recovering Interrupted Threads
486
+
487
+ If a Convex dev server restarts or an action crashes mid-execution, threads and tool calls can get stuck in an
488
+ intermediate state. To automatically recover them, add a `crons.ts` file that periodically resumes any interrupted work:
489
+
490
+ ```ts
491
+ // convex/crons.ts
492
+ import { cronJobs } from "convex/server";
493
+ import { components, internal } from "./_generated/api";
494
+ import { internalAction } from "./_generated/server";
495
+
496
+ const crons = cronJobs();
497
+
498
+ export const recoverAgents = internalAction({
499
+ args: {},
500
+ handler: async (ctx) => {
501
+ // Resume threads that were interrupted mid-stream
502
+ await ctx.runAction(components.durableAgents.agent.tryContinueAllThreads, {});
503
+ // Retry pending sync tool calls that lost their executor
504
+ await ctx.runMutation(components.durableAgents.tool_calls.resumePendingSyncToolExecutions, {});
505
+ return null;
506
+ },
507
+ });
508
+
509
+ crons.interval("recoverAgents", { minutes: 1 }, internal.crons.recoverAgents);
510
+
511
+ export default crons;
512
+ ```
513
+
514
+ `tryContinueAllThreads` scans for threads in `streaming` or `awaiting_tool_results` whose active stream or tool
515
+ executor is no longer alive, and re-schedules them. `resumePendingSyncToolExecutions` picks up any `pending` sync tool
516
+ calls that don't have an active scheduled retry function and re-enqueues them. Running both on a short interval ensures
517
+ your agents self-heal without manual intervention.
518
+
519
+ ## Usage Tracking
520
+
521
+ You can record token usage for each LLM response using the `onMessageComplete` callback. This callback is invoked after
522
+ every streamed response with token counts and provider metadata, making it easy to log costs, enforce budgets, or build
523
+ usage dashboards.
524
+
525
+ ```ts
526
+ export const chatAgentHandler = streamHandlerAction(components.durableAgents, {
527
+ model: "anthropic/claude-haiku-4.5",
528
+ system: "You are a helpful AI assistant.",
529
+ tools: { /* ... */ },
530
+ onMessageComplete: async (ctx, args) => {
531
+ await ctx.runMutation(internal.usage.recordUsage, {
532
+ threadId: args.threadId,
533
+ usage: args.usage,
534
+ });
535
+ },
536
+ });
537
+ ```
538
+
465
539
  ## Architecture
466
540
 
467
541
  ```
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":"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"}
@@ -11,12 +11,24 @@ async function checkThreadIsIdle(component, ctx, threadId) {
11
11
  if (!thread) {
12
12
  throw new Error(`Thread ${threadId} not found`);
13
13
  }
14
+ if (thread.retryState) {
15
+ throw new Error(`Thread ${threadId} has retry pending; stop the thread to interrupt the retry flow`);
16
+ }
14
17
  switch (thread.status) {
15
18
  case "awaiting_tool_results":
16
19
  case "streaming":
17
20
  throw new Error(`Thread ${threadId} status=${thread.status}, cannot resume`);
18
21
  }
19
22
  }
23
+ async function assertNoRetryPending(component, ctx, threadId) {
24
+ const thread = await ctx.runQuery(component.threads.get, { threadId });
25
+ if (!thread) {
26
+ throw new Error(`Thread ${threadId} not found`);
27
+ }
28
+ if (thread.retryState) {
29
+ throw new Error(`Thread ${threadId} has retry pending; stop the thread to interrupt the retry flow`);
30
+ }
31
+ }
20
32
  async function serializeThreadOptions(options) {
21
33
  const result = {};
22
34
  if (options?.workpoolEnqueueAction) {
@@ -86,15 +98,17 @@ function createAgentApi(component, ref, _action, query, mutation, options) {
86
98
  handler: async (ctx, args) => {
87
99
  if (authorize)
88
100
  await authorize(ctx, args.threadId);
101
+ const threadId = args.threadId;
102
+ await assertNoRetryPending(component, ctx, threadId);
89
103
  await ctx.runMutation(component.messages.add, {
90
- threadId: args.threadId,
104
+ threadId,
91
105
  msg: { role: "user", parts: [{ type: "text", text: args.prompt }] },
92
106
  });
93
107
  await ctx.runMutation(component.threads.resume, {
94
- threadId: args.threadId,
108
+ threadId,
95
109
  });
96
110
  await ctx.scheduler.runAfter(0, component.agent.continueStream, {
97
- threadId: args.threadId,
111
+ threadId,
98
112
  });
99
113
  return null;
100
114
  },
@@ -126,6 +140,7 @@ function createAgentApi(component, ref, _action, query, mutation, options) {
126
140
  if (authorize)
127
141
  await authorize(ctx, args.threadId);
128
142
  const threadId = args.threadId;
143
+ await assertNoRetryPending(component, ctx, threadId);
129
144
  if (args.prompt) {
130
145
  await ctx.runMutation(component.messages.add, {
131
146
  threadId,
@@ -153,10 +168,14 @@ function createAgentApi(component, ref, _action, query, mutation, options) {
153
168
  handler: async (ctx, args) => {
154
169
  if (authorize)
155
170
  await authorize(ctx, args.threadId);
171
+ const threadId = args.threadId;
156
172
  await ctx.runMutation(component.threads.setStopSignal, {
157
- threadId: args.threadId,
173
+ threadId,
158
174
  stopSignal: true,
159
175
  });
176
+ await ctx.runMutation(component.threads.clearRetryState, {
177
+ threadId,
178
+ });
160
179
  return null;
161
180
  },
162
181
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
1
  import { type ModelMessage, streamText, type UIMessage } from "ai";
2
2
  import { type FunctionReference } from "convex/server";
3
3
  import type { ComponentApi } from "../component/_generated/component.js";
4
+ import { type RetryErrorKind, type RetryOptions } from "../utils/retry.js";
4
5
  import { type ActionCtx, type DurableTool } from "./types.js";
5
6
  import { type UsageInfo } from "./usage.js";
6
7
  export type StreamingOptions = {
7
8
  throttleMs?: number;
8
9
  returnImmediately?: boolean;
9
10
  };
11
+ export type { RetryContext, RetryDecision, RetryErrorClassification, RetryErrorKind, RetryErrorSignal, RetryOptions, } from "../utils/retry.js";
10
12
  export type MessageReceivedCallbackArgs = {
11
13
  threadId: string;
12
14
  streamId: string;
@@ -26,10 +28,17 @@ export type ErrorHandlerArgs = {
26
28
  threadId: string;
27
29
  streamId: string;
28
30
  error: string;
31
+ kind?: RetryErrorKind | "tool_execution";
32
+ retryable?: boolean;
33
+ attempt?: number;
34
+ maxAttempts?: number;
35
+ requiresExplicitHandling?: boolean;
29
36
  };
30
37
  export type ErrorHandlerCallback = (ctx: ActionCtx, args: ErrorHandlerArgs) => void | Promise<void>;
31
38
  export type StreamHandlerArgs = Omit<Parameters<typeof streamText>[0], "tools" | "messages" | "prompt"> & {
32
39
  tools: Record<string, DurableTool<unknown, unknown>>;
40
+ /** Optional: provider-native tools that should be passed through directly to streamText */
41
+ providerTools?: NonNullable<Parameters<typeof streamText>[0]["tools"]>;
33
42
  /** Optional: Save streaming deltas to the database for real-time client updates */
34
43
  saveStreamDeltas?: boolean | StreamingOptions;
35
44
  /** Optional: Transform the messages before sending them to the model */
@@ -40,6 +49,19 @@ export type StreamHandlerArgs = Omit<Parameters<typeof streamText>[0], "tools" |
40
49
  onTurnComplete?: TurnCompleteCallback;
41
50
  /** Optional: Callback when an error occurs during the stream handler invocation */
42
51
  onError?: ErrorHandlerCallback;
52
+ /** Optional: Configure automatic retry handling for stream failures */
53
+ retry?: false | RetryOptions;
54
+ /** Optional: Callback invoked when a retry is scheduled */
55
+ onRetry?: (ctx: ActionCtx, args: {
56
+ scope: "stream";
57
+ threadId: string;
58
+ streamId: string;
59
+ attempt: number;
60
+ maxAttempts: number;
61
+ delayMs: number;
62
+ kind?: RetryErrorKind;
63
+ error: string;
64
+ }) => void | Promise<void>;
43
65
  /** Optional: Function to enqueue actions via workpool (used for both stream handler and tools unless overridden) */
44
66
  workpoolEnqueueAction?: FunctionReference<"mutation", "internal">;
45
67
  /** Optional: Override workpool for tool execution only */
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/client/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,YAAY,EACjB,UAAU,EAGV,KAAK,SAAS,EACf,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,KAAK,iBAAiB,EAAgD,MAAM,eAAe,CAAC;AAErG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAOzE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAA0C,MAAM,YAAY,CAAC;AACtG,OAAO,EAAqD,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAM/F,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAWF,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,SAAS,CAAC;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,2BAA2B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAElH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpG,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpG,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC,GAAG;IACxG,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;IAC9C,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,CAAC;IACjE,mGAAmG;IACnG,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C,+GAA+G;IAC/G,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,mFAAmF;IACnF,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,oHAAoH;IACpH,qBAAqB,CAAC,EAAE,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAClE,0DAA0D;IAC1D,kCAAkC,CAAC,EAAE,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;CAChF,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,CACrC,GAAG,EAAE,SAAS,EACd,QAAQ,EAAE,MAAM,KACb,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEpD,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,YAAY,EACvB,aAAa,EAAE,iBAAiB,GAAG,wBAAwB;;;kBAiU5D"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/client/handler.ts"],"names":[],"mappings":"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"}