@convex-dev/agent 0.2.0-alpha.2 → 0.2.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 (96) hide show
  1. package/dist/client/createTool.d.ts +3 -5
  2. package/dist/client/createTool.d.ts.map +1 -1
  3. package/dist/client/createTool.js +0 -1
  4. package/dist/client/createTool.js.map +1 -1
  5. package/dist/client/definePlaygroundAPI.d.ts +28 -28
  6. package/dist/client/files.d.ts +8 -1
  7. package/dist/client/files.d.ts.map +1 -1
  8. package/dist/client/files.js +60 -5
  9. package/dist/client/files.js.map +1 -1
  10. package/dist/client/index.d.ts +223 -239
  11. package/dist/client/index.d.ts.map +1 -1
  12. package/dist/client/index.js +368 -382
  13. package/dist/client/index.js.map +1 -1
  14. package/dist/client/messages.d.ts +91 -373
  15. package/dist/client/messages.d.ts.map +1 -1
  16. package/dist/client/messages.js +7 -1
  17. package/dist/client/messages.js.map +1 -1
  18. package/dist/client/search.d.ts +15 -15
  19. package/dist/client/search.d.ts.map +1 -1
  20. package/dist/client/search.js +3 -3
  21. package/dist/client/search.js.map +1 -1
  22. package/dist/client/streaming.d.ts +21 -22
  23. package/dist/client/streaming.d.ts.map +1 -1
  24. package/dist/client/streaming.js +35 -40
  25. package/dist/client/streaming.js.map +1 -1
  26. package/dist/client/types.d.ts +148 -61
  27. package/dist/client/types.d.ts.map +1 -1
  28. package/dist/component/_generated/api.d.ts +47 -357
  29. package/dist/component/messages.d.ts +157 -150
  30. package/dist/component/messages.d.ts.map +1 -1
  31. package/dist/component/messages.js +124 -70
  32. package/dist/component/messages.js.map +1 -1
  33. package/dist/component/schema.d.ts +1147 -2687
  34. package/dist/component/schema.d.ts.map +1 -1
  35. package/dist/component/schema.js +5 -4
  36. package/dist/component/schema.js.map +1 -1
  37. package/dist/component/streams.d.ts +29 -323
  38. package/dist/component/streams.d.ts.map +1 -1
  39. package/dist/component/streams.js +104 -60
  40. package/dist/component/streams.js.map +1 -1
  41. package/dist/component/threads.d.ts +4 -4
  42. package/dist/component/users.d.ts +3 -3
  43. package/dist/mapping.d.ts +4 -1
  44. package/dist/mapping.d.ts.map +1 -1
  45. package/dist/mapping.js +17 -1
  46. package/dist/mapping.js.map +1 -1
  47. package/dist/parts.d.ts +3 -0
  48. package/dist/parts.d.ts.map +1 -0
  49. package/dist/parts.js +34 -0
  50. package/dist/parts.js.map +1 -0
  51. package/dist/react/SmoothText.d.ts +5 -0
  52. package/dist/react/SmoothText.d.ts.map +1 -0
  53. package/dist/react/SmoothText.js +6 -0
  54. package/dist/react/SmoothText.js.map +1 -0
  55. package/dist/react/deltas.d.ts +3 -2
  56. package/dist/react/deltas.d.ts.map +1 -1
  57. package/dist/react/deltas.js +19 -79
  58. package/dist/react/deltas.js.map +1 -1
  59. package/dist/react/index.d.ts +1 -0
  60. package/dist/react/index.d.ts.map +1 -1
  61. package/dist/react/index.js +31 -11
  62. package/dist/react/index.js.map +1 -1
  63. package/dist/react/optimisticallySendMessage.d.ts.map +1 -1
  64. package/dist/react/optimisticallySendMessage.js +2 -8
  65. package/dist/react/optimisticallySendMessage.js.map +1 -1
  66. package/dist/react/useSmoothText.d.ts +13 -12
  67. package/dist/react/useSmoothText.d.ts.map +1 -1
  68. package/dist/react/useSmoothText.js +1 -1
  69. package/dist/react/useSmoothText.js.map +1 -1
  70. package/dist/validators.d.ts +109 -1590
  71. package/dist/validators.d.ts.map +1 -1
  72. package/dist/validators.js +4 -81
  73. package/dist/validators.js.map +1 -1
  74. package/package.json +3 -3
  75. package/src/client/createTool.ts +4 -9
  76. package/src/client/files.ts +88 -10
  77. package/src/client/index.test.ts +9 -21
  78. package/src/client/index.ts +664 -650
  79. package/src/client/messages.ts +16 -2
  80. package/src/client/search.ts +10 -7
  81. package/src/client/streaming.ts +53 -57
  82. package/src/client/types.ts +227 -97
  83. package/src/component/_generated/api.d.ts +47 -357
  84. package/src/component/messages.ts +157 -96
  85. package/src/component/schema.ts +4 -4
  86. package/src/component/streams.ts +180 -69
  87. package/src/mapping.ts +23 -2
  88. package/src/parts.ts +39 -0
  89. package/src/react/SmoothText.tsx +9 -0
  90. package/src/react/deltas.test.ts +38 -42
  91. package/src/react/deltas.ts +24 -86
  92. package/src/react/index.ts +35 -13
  93. package/src/react/optimisticallySendMessage.ts +2 -8
  94. package/src/react/useSmoothText.ts +14 -15
  95. package/src/validators.test.ts +0 -17
  96. package/src/validators.ts +8 -101
@@ -47,7 +47,7 @@ export async function fetchContextMessages(ctx, component, args) {
47
47
  if (opts.searchOptions?.vectorSearch && !args.getEmbedding) {
48
48
  throw new Error("You must provide an embedding and embeddingModel to use vector search");
49
49
  }
50
- const embeddingFields = opts.searchOptions?.vectorSearch
50
+ const embeddingFields = opts.searchOptions?.vectorSearch && text
51
51
  ? await args.getEmbedding?.(text)
52
52
  : undefined;
53
53
  const searchMessages = await ctx.runAction(component.messages.searchMessages, {
@@ -69,8 +69,8 @@ export async function fetchContextMessages(ctx, component, args) {
69
69
  vectorScoreThreshold: opts.searchOptions?.vectorScoreThreshold ??
70
70
  DEFAULT_VECTOR_SCORE_THRESHOLD,
71
71
  embedding: embeddingFields?.embedding,
72
- embeddingModel: embeddingFields?.embeddingModel
73
- ? getModelName(embeddingFields.embeddingModel)
72
+ embeddingModel: embeddingFields?.textEmbeddingModel
73
+ ? getModelName(embeddingFields.textEmbeddingModel)
74
74
  : undefined,
75
75
  });
76
76
  // TODO: track what messages we used for context
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/client/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/client/search.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,WAAW,GACZ,MAAM,cAAc,CAAC;AAGtB,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAS3C;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,GAA+B,EAC/B,SAAyB,EACzB,IAYC;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;IACjC,4CAA4C;IAC5C,IAAI,QAAiC,CAAC;IACtC,MAAM,eAAe,GAAiB,EAAE,CAAC;IACzC,IACE,IAAI,CAAC,QAAQ;QACb,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,IAAI,IAAI,CAAC,yBAAyB,CAAC,EAC7D,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CACjC,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EACzC;YACE,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,cAAc,EAAE;gBACd,QAAQ,EAAE,IAAI,CAAC,cAAc,IAAI,uBAAuB;gBACxD,MAAM,EAAE,IAAI;aACb;YACD,yBAAyB,EAAE,IAAI,CAAC,yBAAyB;YACzD,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB,CACF,CAAC;QACF,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3C,eAAe,CAAC,IAAI;QAClB,+CAA+C;QAC/C,GAAG,IAAI,CAAC,OAAO,EAAE,CAClB,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,aAAa,EAAE,UAAU,IAAI,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC;QACvE,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,yBAAyB,CAChD,EAAE,OAAO,CAAC;QACX,MAAM,gBAAgB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzE,IAAI,CAAC,CAAC,WAAW,IAAI,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,WAAW,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;QAC7C,MAAM,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,EAAE,gCAAgC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC5E,MAAM,CACJ,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,EAAE,YAAY,IAAI,WAAW,IAAI,GAAG,EACvE,0CAA0C,CAC3C,CAAC;QACF,IAAI,IAAI,CAAC,aAAa,EAAE,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,uEAAuE,CACxE,CAAC;QACJ,CAAC;QACD,MAAM,eAAe,GACnB,IAAI,CAAC,aAAa,EAAE,YAAY,IAAI,IAAI;YACtC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC;YACjC,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,SAAS,CACxC,SAAS,CAAC,QAAQ,CAAC,cAAc,EACjC;YACE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB;gBAClD,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;oBACZ,CAAC,IAAI,CAAC,QAAQ;wBACZ,CACE,MAAM,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE;4BAC9C,QAAQ,EAAE,IAAI,CAAC,QAAQ;yBACxB,CAAC,CACH,EAAE,MAAM,CAAC,CAAC;gBACf,CAAC,CAAC,SAAS;YACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,eAAe,EAAE,IAAI,CAAC,yBAAyB;YAC/C,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;YACtC,YAAY,EAAE;gBACZ,GAAG,qBAAqB;gBACxB,GAAG,IAAI,CAAC,aAAa,EAAE,YAAY;aACpC;YACD,IAAI;YACJ,oBAAoB,EAClB,IAAI,CAAC,aAAa,EAAE,oBAAoB;gBACxC,8BAA8B;YAChC,SAAS,EAAE,eAAe,EAAE,SAAS;YACrC,cAAc,EAAE,eAAe,EAAE,kBAAkB;gBACjD,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,kBAAkB,CAAC;gBAClD,CAAC,CAAC,SAAS;SACd,CACF,CAAC;QACF,gDAAgD;QAChD,eAAe,CAAC,OAAO,CACrB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CACvD,CAAC;IACJ,CAAC;IACD,0EAA0E;IAC1E,OAAO,6BAA6B,CAClC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;IAC5B,kDAAkD;IAClD,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CACpE,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAAkB;IAC9D,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IACE,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,WAAW;YACjC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAClC,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC1C,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACjC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;aAAM,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;YACxC,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;gBACpE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,cAA+D;IAE/D,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACvC,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,OAAO,cAAc,CAAC,OAAO,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,cAA+D;IAE/D,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC;IAC1C,CAAC;IACD,OAAO,cAAc,CAAC,QAAQ,CAAC;AACjC,CAAC"}
@@ -1,8 +1,6 @@
1
- import { type ChunkDetector, type StreamTextTransform, type ToolSet } from "ai";
2
- import type { ProviderOptions, StreamArgs, StreamMessage, vTextStreamPartV5 } from "../validators.js";
3
- import type { MessageDoc } from "../component/schema.js";
1
+ import { type ChunkDetector, type StreamTextTransform, type TextStreamPart, type ToolSet } from "ai";
2
+ import type { ProviderOptions, StreamArgs, StreamMessage } from "../validators.js";
4
3
  import type { AgentComponent, RunActionCtx, RunMutationCtx, RunQueryCtx, SyncStreamsReturnValue } from "./types.js";
5
- import type { Infer } from "convex/values";
6
4
  /**
7
5
  * A function that handles fetching stream deltas, used with the React hooks
8
6
  * `useThreadMessages` or `useStreamingThreadMessages`.
@@ -65,30 +63,31 @@ export declare class DeltaStreamer {
65
63
  readonly ctx: RunActionCtx;
66
64
  readonly metadata: {
67
65
  threadId: string;
68
- agentName: string | undefined;
69
- model: string | undefined;
70
- provider: string | undefined;
71
- providerOptions: ProviderOptions | undefined;
72
- userId: string | undefined;
73
- order: number | undefined;
74
- stepOrder: number | undefined;
75
- abortSignal: AbortSignal | undefined;
66
+ userId?: string;
67
+ order: number;
68
+ stepOrder: number;
69
+ agentName?: string;
70
+ model?: string;
71
+ provider?: string;
72
+ providerOptions?: ProviderOptions;
73
+ abortSignal?: AbortSignal;
76
74
  };
77
75
  streamId: string | undefined;
78
76
  readonly options: Required<StreamingOptions>;
79
77
  abortController: AbortController;
80
78
  constructor(component: AgentComponent, ctx: RunActionCtx, options: true | StreamingOptions, metadata: {
81
79
  threadId: string;
82
- agentName: string | undefined;
83
- model: string | undefined;
84
- provider: string | undefined;
85
- providerOptions: ProviderOptions | undefined;
86
- userId: string | undefined;
87
- order: number | undefined;
88
- stepOrder: number | undefined;
89
- abortSignal: AbortSignal | undefined;
80
+ userId?: string;
81
+ order: number;
82
+ stepOrder: number;
83
+ agentName?: string;
84
+ model?: string;
85
+ provider?: string;
86
+ providerOptions?: ProviderOptions;
87
+ abortSignal?: AbortSignal;
90
88
  });
91
- addParts(parts: Infer<typeof vTextStreamPartV5>[]): Promise<void>;
92
- finish(messages: MessageDoc[]): Promise<void>;
89
+ addParts(parts: TextStreamPart<ToolSet>[]): Promise<void>;
90
+ finish(): Promise<void>;
91
+ fail(reason: string): Promise<void>;
93
92
  }
94
93
  //# sourceMappingURL=streaming.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/client/streaming.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,mBAAmB,EACxB,KAAK,OAAO,EACb,MAAM,IAAI,CAAC;AACZ,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EAEV,aAAa,EACb,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,cAAc,EACzB,IAAI,EAAE;IACJ,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IAEnC,eAAe,CAAC,EAAE,CAAC,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;CAC5D,GACA,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAoB7C;AAED,wBAAsB,WAAW,CAC/B,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,cAAc,EACzB,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/D,OAAO,CAAC,OAAO,CAAC,CAalB;AAED;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,cAAc,EACzB,EACE,QAAQ,EACR,UAAU,EACV,eAAe,GAChB,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,CAAC,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;CAC5D,GACA,OAAO,CAAC,aAAa,EAAE,CAAC,CAM1B;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC;IACpD;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,eAAO,MAAM,yBAAyB;;;CAIV,CAAC;AAE7B,wBAAgB,eAAe,CAAC,KAAK,SAAS,OAAO,EACnD,OAAO,EAAE,gBAAgB,GAAG,OAAO,GAAG,SAAS,EAC/C,QAAQ,EACJ,mBAAmB,CAAC,KAAK,CAAC,GAC1B,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,GACjC,SAAS,yEAgBd;AAED,qBAAa,aAAa;;aAYN,SAAS,EAAE,cAAc;aACzB,GAAG,EAAE,YAAY;aAEjB,QAAQ,EAAE;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,eAAe,EAAE,eAAe,GAAG,SAAS,CAAC;QAC7C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;KACtC;IAxBI,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,SAAgB,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAO7C,eAAe,EAAE,eAAe,CAAC;gBAGtB,SAAS,EAAE,cAAc,EACzB,GAAG,EAAE,YAAY,EACjC,OAAO,EAAE,IAAI,GAAG,gBAAgB,EAChB,QAAQ,EAAE;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,eAAe,EAAE,eAAe,GAAG,SAAS,CAAC;QAC7C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;KACtC;IAyBU,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,iBAAiB,CAAC,EAAE;IAsEjD,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE;CA0B3C"}
1
+ {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/client/streaming.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { smoothStream, } from "ai";
2
2
  import { omit } from "convex-helpers";
3
+ import { serializeTextStreamingPartsV5 } from "../parts.js";
3
4
  /**
4
5
  * A function that handles fetching stream deltas, used with the React hooks
5
6
  * `useThreadMessages` or `useStreamingThreadMessages`.
@@ -90,8 +91,6 @@ export class DeltaStreamer {
90
91
  streamId;
91
92
  options;
92
93
  #nextParts = [];
93
- #nextOrder;
94
- #nextStepOrder;
95
94
  #latestWrite = 0;
96
95
  #ongoingWrite;
97
96
  #cursor = 0;
@@ -103,23 +102,21 @@ export class DeltaStreamer {
103
102
  this.options =
104
103
  typeof options === "boolean"
105
104
  ? DEFAULT_STREAMING_OPTIONS
106
- : {
107
- ...DEFAULT_STREAMING_OPTIONS,
108
- ...options,
109
- };
105
+ : { ...DEFAULT_STREAMING_OPTIONS, ...options };
110
106
  this.#nextParts = [];
111
- this.#nextOrder = metadata.order ?? 0;
112
- this.#nextStepOrder = (metadata.stepOrder ?? 0) + 1;
113
107
  this.abortController = new AbortController();
114
108
  if (metadata.abortSignal) {
115
109
  metadata.abortSignal.addEventListener("abort", async () => {
116
110
  if (this.streamId) {
111
+ this.abortController.abort();
112
+ const finalDelta = this.#createDelta();
113
+ await this.#ongoingWrite;
117
114
  await this.ctx.runMutation(this.component.streams.abort, {
118
115
  streamId: this.streamId,
119
116
  reason: "abortSignal",
117
+ finalDelta,
120
118
  });
121
119
  }
122
- this.abortController.abort();
123
120
  });
124
121
  }
125
122
  }
@@ -128,11 +125,7 @@ export class DeltaStreamer {
128
125
  return;
129
126
  }
130
127
  if (!this.streamId) {
131
- this.streamId = await this.ctx.runMutation(this.component.streams.create, {
132
- ...omit(this.metadata, ["abortSignal"]),
133
- order: this.#nextOrder,
134
- stepOrder: this.#nextStepOrder,
135
- });
128
+ this.streamId = await this.ctx.runMutation(this.component.streams.create, omit(this.metadata, ["abortSignal"]));
136
129
  }
137
130
  this.#nextParts.push(...parts);
138
131
  if (!this.#ongoingWrite &&
@@ -145,6 +138,9 @@ export class DeltaStreamer {
145
138
  return;
146
139
  }
147
140
  const delta = this.#createDelta();
141
+ if (!delta) {
142
+ return;
143
+ }
148
144
  this.#latestWrite = Date.now();
149
145
  try {
150
146
  const success = await this.ctx.runMutation(this.component.streams.addDelta, delta);
@@ -167,44 +163,43 @@ export class DeltaStreamer {
167
163
  }
168
164
  }
169
165
  #createDelta() {
166
+ if (this.#nextParts.length === 0) {
167
+ return undefined;
168
+ }
170
169
  const start = this.#cursor;
171
170
  const end = start + this.#nextParts.length;
172
171
  this.#cursor = end;
173
- const parts = this.#nextParts;
172
+ const parts = serializeTextStreamingPartsV5(this.#nextParts);
174
173
  this.#nextParts = [];
175
174
  if (!this.streamId) {
176
175
  throw new Error("Creating a delta before the stream is created");
177
176
  }
178
- return {
179
- streamId: this.streamId,
180
- start,
181
- end,
182
- parts,
183
- };
177
+ return { streamId: this.streamId, start, end, parts };
184
178
  }
185
- async finish(messages) {
186
- if (this.#ongoingWrite) {
187
- await this.#ongoingWrite;
188
- this.#ongoingWrite = undefined;
189
- }
179
+ async finish() {
190
180
  if (!this.streamId) {
191
- throw new Error("Finish called before stream is created");
181
+ return;
192
182
  }
193
- const lastMessage = messages.at(-1);
194
- if (lastMessage) {
195
- this.#nextOrder = lastMessage.order;
196
- this.#nextStepOrder = lastMessage.stepOrder + 1;
183
+ const finalDelta = this.#createDelta();
184
+ await this.#ongoingWrite;
185
+ await this.ctx.runMutation(this.component.streams.finish, {
186
+ streamId: this.streamId,
187
+ finalDelta,
188
+ });
189
+ }
190
+ async fail(reason) {
191
+ if (this.abortController.signal.aborted) {
192
+ return;
197
193
  }
198
- else {
199
- console.warn("Step finished without generating a message");
194
+ this.abortController.abort();
195
+ if (!this.streamId) {
196
+ return;
200
197
  }
201
- const finalDelta = this.#nextParts.length > 0 ? this.#createDelta() : undefined;
202
- this.#nextParts = [];
203
- const streamId = this.streamId;
204
- this.streamId = undefined;
205
- this.#cursor = 0;
206
- await this.ctx.runMutation(this.component.streams.finish, {
207
- streamId,
198
+ const finalDelta = this.#createDelta();
199
+ await this.#ongoingWrite;
200
+ await this.ctx.runMutation(this.component.streams.abort, {
201
+ streamId: this.streamId,
202
+ reason,
208
203
  finalDelta,
209
204
  });
210
205
  }
@@ -1 +1 @@
1
- {"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../src/client/streaming.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../src/client/streaming.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
- import type { LanguageModelV2 } from "@ai-sdk/provider";
2
- import type { ModelMessage, DeepPartial, generateObject, GenerateObjectResult, generateText, GenerateTextResult, JSONValue, LanguageModelRequestMetadata, LanguageModelResponseMetadata, RepairTextFunction, streamObject, StreamObjectResult, streamText, StreamTextResult, TelemetrySettings, ToolChoice, ToolSet, Schema, LanguageModelUsage } from "ai";
3
- import type { Auth, Expand, FunctionReference, StorageActionWriter, StorageReader, WithoutSystemFields, FunctionArgs, FunctionReturnType, GenericActionCtx, GenericDataModel } from "convex/server";
1
+ import type { InferSchema, ProviderOptions, Schema } from "@ai-sdk/provider-utils";
2
+ import type { JSONValue } from "@ai-sdk/provider";
3
+ import type { GenerateObjectResult, generateText, GenerateTextResult, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, LanguageModel, streamObject, streamText, StreamTextResult, ToolChoice, ToolSet, RepairTextFunction, TelemetrySettings, CallSettings, Prompt } from "ai";
4
+ import type { Auth, Expand, FunctionArgs, FunctionReference, FunctionReturnType, GenericActionCtx, GenericDataModel, StorageActionWriter, StorageReader, WithoutSystemFields } from "convex/server";
4
5
  import type { GenericId } from "convex/values";
5
- import type { z } from "zod/v3";
6
6
  import type { Mounts } from "../component/_generated/api.js";
7
7
  import type { MessageDoc, ThreadDoc } from "../component/schema.js";
8
- import type { CallSettings, ProviderMetadata, ProviderOptions, StreamDelta, StreamMessage } from "../validators.js";
8
+ import type { ProviderMetadata, StreamDelta, StreamMessage } from "../validators.js";
9
9
  import type { StreamingOptions } from "./streaming.js";
10
+ import type * as z3 from "zod/v3";
11
+ import type * as z4 from "zod/v4";
10
12
  /**
11
13
  * Options to configure what messages are fetched as context,
12
14
  * automatically with thread.generateText, or directly via search.
@@ -82,16 +84,23 @@ export type GenerationOutputMetadata = {
82
84
  /**
83
85
  * The ID of the prompt message for the generation.
84
86
  */
85
- messageId?: string;
87
+ promptMessageId?: string;
86
88
  /**
87
- * The order of the prompt message for the generation.
89
+ * The order of the prompt message and responses for the generation.
90
+ * Each order starts with a user message, then followed by agent responses.
91
+ * If a promptMessageId is provided, that dictates the order.
88
92
  */
89
93
  order?: number;
90
94
  /**
91
95
  * The messages saved for the generation - both saved input and output.
92
96
  * If you passed promptMessageId, it will not include that message.
93
97
  */
94
- messages?: MessageDoc[];
98
+ savedMessages?: MessageDoc[];
99
+ /**
100
+ * @deprecated Use promptMessageId instead.
101
+ * The ID of the prompt message for the generation.
102
+ */
103
+ messageId?: string;
95
104
  };
96
105
  export type UsageHandler = (ctx: RunActionCtx, args: {
97
106
  userId: string | undefined;
@@ -122,7 +131,7 @@ export type TextArgs<AgentTools extends ToolSet, TOOLS extends ToolSet | undefin
122
131
  * The model to use for the LLM calls. This will override the model specified
123
132
  * in the Agent constructor.
124
133
  */
125
- model?: LanguageModelV2;
134
+ model?: LanguageModel;
126
135
  /**
127
136
  * The tools to use for the tool calls. This will override tools specified
128
137
  * in the Agent constructor or createThread / continueThread.
@@ -146,7 +155,7 @@ export type StreamingTextArgs<AgentTools extends ToolSet, TOOLS extends ToolSet
146
155
  * The model to use for the tool calls. This will override the model specified
147
156
  * in the Agent constructor.
148
157
  */
149
- model?: LanguageModelV2;
158
+ model?: LanguageModel;
150
159
  /**
151
160
  * The tools to use for the tool calls. This will override tools specified
152
161
  * in the Agent constructor or createThread / continueThread.
@@ -158,63 +167,106 @@ export type StreamingTextArgs<AgentTools extends ToolSet, TOOLS extends ToolSet
158
167
  */
159
168
  toolChoice?: ToolChoice<TOOLS extends undefined ? AgentTools : TOOLS>;
160
169
  };
161
- type BaseGenerateObjectOptions = CallSettings & {
170
+ export type ObjectMode = "object" | "array" | "enum" | "no-schema";
171
+ export type ObjectSchema = z3.Schema | z4.core.$ZodType | Schema;
172
+ export type DefaultObjectSchema = z4.core.$ZodType<JSONValue>;
173
+ /**
174
+ * Due to some issues with the type inference of the ai sdk, we need to
175
+ * manually type the arguments for the generateObject function.
176
+ * This is a workaround to allow the model to be optional.
177
+ */
178
+ export type GenerateObjectArgs<SCHEMA extends ObjectSchema = DefaultObjectSchema, OUTPUT extends ObjectMode = InferSchema<SCHEMA> extends string ? "enum" : "object", RESULT = OUTPUT extends "array" ? Array<InferSchema<SCHEMA>> : InferSchema<SCHEMA>> = Omit<CallSettings, "stopSequences"> & Prompt & (OUTPUT extends "enum" ? {
162
179
  /**
163
- * The model to use for the object generation. This will override the model
164
- * specified in the Agent constructor.
165
- */
166
- model?: LanguageModelV2;
180
+ The enum values that the model should use.
181
+ */
182
+ enum: Array<RESULT>;
183
+ mode?: "json";
184
+ output: "enum";
185
+ } : OUTPUT extends "no-schema" ? {} : {
167
186
  /**
168
- * The system prompt to use for the object generation. This will override the
169
- * system prompt specified in the Agent constructor.
170
- */
171
- system?: string;
187
+ The schema of the object that the model should generate.
188
+ */
189
+ schema: SCHEMA;
172
190
  /**
173
- * The prompt to the LLM to use for the object generation.
174
- * Specify this or messages, but not both.
175
- */
176
- prompt?: string | Array<ModelMessage>;
191
+ Optional name of the output that should be generated.
192
+ Used by some providers for additional LLM guidance, e.g.
193
+ via tool or schema name.
194
+ */
195
+ schemaName?: string;
177
196
  /**
178
- * The messages to use for the object generation.
179
- * Note: recent messages are automatically added based on the thread it's
180
- * associated with and your contextOptions.
181
- */
182
- messages?: Array<ModelMessage>;
197
+ Optional description of the output that should be generated.
198
+ Used by some providers for additional LLM guidance, e.g.
199
+ via tool or schema description.
200
+ */
201
+ schemaDescription?: string;
183
202
  /**
184
- * The message to use as the "prompt" for the object generation.
185
- * If this is provided, it will be used instead of the prompt or messages.
186
- * This is useful if you want to first save a user message, then use it as
187
- * the prompt for the object generation in another call.
188
- */
189
- promptMessageId?: string;
203
+ The mode to use for object generation.
204
+
205
+ The schema is converted into a JSON schema and used in one of the following ways
206
+
207
+ - 'auto': The provider will choose the best mode for the model.
208
+ - 'tool': A tool with the JSON schema as parameters is provided and the provider is instructed to use it.
209
+ - 'json': The JSON schema and an instruction are injected into the prompt. If the provider supports JSON mode, it is enabled. If the provider supports JSON grammars, the grammar is used.
210
+
211
+ Please note that most providers do not support all modes.
212
+
213
+ Default and recommended: 'auto' (best mode for the model).
214
+ */
215
+ mode?: "auto" | "json" | "tool";
216
+ }) & {
217
+ output?: OUTPUT;
218
+ /**
219
+ The language model to use.
220
+ */
221
+ model?: LanguageModel;
222
+ /**
223
+ A function that attempts to repair the raw output of the model
224
+ to enable JSON parsing.
225
+ */
190
226
  experimental_repairText?: RepairTextFunction;
227
+ /**
228
+ Optional telemetry configuration (experimental).
229
+ */
191
230
  experimental_telemetry?: TelemetrySettings;
231
+ /**
232
+ Additional provider-specific options. They are passed through
233
+ to the provider from the AI SDK and enable provider-specific
234
+ functionality that can be fully encapsulated in the provider.
235
+ */
192
236
  providerOptions?: ProviderOptions;
193
- experimental_providerMetadata?: ProviderMetadata;
237
+ /**
238
+ * Internal. For test use only. May change without notice.
239
+ */
240
+ _internal?: {
241
+ generateId?: () => string;
242
+ currentDate?: () => Date;
243
+ };
194
244
  };
195
- type StandardGenerateObjectOptions<T> = {
196
- schema: z.Schema<T>;
197
- schemaName?: string;
198
- schemaDescription?: string;
199
- output?: "object" | "array";
200
- mode?: "auto" | "json" | "tool";
245
+ export type StreamObjectArgs<SCHEMA extends ObjectSchema = DefaultObjectSchema, OUTPUT extends ObjectMode = InferSchema<SCHEMA> extends string ? "enum" : "object", RESULT = OUTPUT extends "array" ? Array<InferSchema<SCHEMA>> : InferSchema<SCHEMA>> = GenerateObjectArgs<SCHEMA, OUTPUT, RESULT> & Pick<Parameters<typeof streamObject<SCHEMA, OUTPUT, RESULT>>[0], "onError" | "onFinish" | "_internal">;
246
+ export type MaybeCustomCtx<CustomCtx, DataModel extends GenericDataModel, AgentTools extends ToolSet> = CustomCtx extends Record<string, unknown> ? {
247
+ /**
248
+ * If you have a custom ctx that you use with the Agent
249
+ * (e.g. new Agent<{ orgId: string }>(...))
250
+ * you need to provide this function to add any extra fields.
251
+ * e.g.
252
+ * ```ts
253
+ * const myAgent = new Agent<{ orgId: string }>(...);
254
+ * const myAction = myAgent.asTextAction({
255
+ * customCtx: (ctx: ActionCtx, target, llmArgs) => {
256
+ * const orgId = await lookupOrgId(ctx, target.threadId);
257
+ * return { orgId };
258
+ * },
259
+ * });
260
+ * ```
261
+ * Then, in your tools, you can
262
+ */
263
+ customCtx: (ctx: GenericActionCtx<DataModel>, target: {
264
+ userId?: string | undefined;
265
+ threadId?: string | undefined;
266
+ }, llmArgs: TextArgs<AgentTools>) => CustomCtx;
267
+ } : {
268
+ customCtx?: never;
201
269
  };
202
- type GenerateObjectArgs<T> = BaseGenerateObjectOptions & (StandardGenerateObjectOptions<T> | {
203
- output: "enum";
204
- enum: Array<T>;
205
- mode?: "auto" | "json" | "tool";
206
- } | {
207
- output: "any";
208
- schema: undefined;
209
- mode: "json";
210
- });
211
- type StreamObjectArgs<T> = BaseGenerateObjectOptions & (StandardGenerateObjectOptions<T> | {
212
- output: "any";
213
- schema: undefined;
214
- mode: "json";
215
- });
216
- export type OurObjectArgs<T> = GenerateObjectArgs<T> & Pick<Parameters<typeof generateObject<any>>[0], "experimental_repairText" | "abortSignal">;
217
- export type OurStreamObjectArgs<T extends Schema | z.Schema> = StreamObjectArgs<T> & Pick<Parameters<typeof streamObject<T>>[0], "onError" | "onFinish" | "abortSignal">;
218
270
  type ThreadOutputMetadata = Required<GenerationOutputMetadata>;
219
271
  /**
220
272
  * The interface for a thread returned from {@link createThread} or {@link continueThread}.
@@ -243,7 +295,7 @@ export interface Thread<DefaultTools extends ToolSet> {
243
295
  * for the {@link ContextOptions} and {@link StorageOptions}.
244
296
  * @returns The result of the generateText function.
245
297
  */
246
- generateText<TOOLS extends ToolSet | undefined = undefined, OUTPUT = never, OUTPUT_PARTIAL = never>(args: TextArgs<TOOLS extends undefined ? DefaultTools : TOOLS, TOOLS, OUTPUT, OUTPUT_PARTIAL>, options?: Options): Promise<GenerateTextResult<TOOLS extends undefined ? DefaultTools : TOOLS, OUTPUT> & ThreadOutputMetadata>;
298
+ generateText<TOOLS extends ToolSet | undefined = undefined, OUTPUT = never, OUTPUT_PARTIAL = never>(generateTextArgs: TextArgs<TOOLS extends undefined ? DefaultTools : TOOLS, TOOLS, OUTPUT, OUTPUT_PARTIAL>, options?: Options): Promise<GenerateTextResult<TOOLS extends undefined ? DefaultTools : TOOLS, OUTPUT> & ThreadOutputMetadata>;
247
299
  /**
248
300
  * This behaves like {@link streamText} from the "ai" package except that
249
301
  * it add context based on the userId and threadId and saves the input and
@@ -254,7 +306,7 @@ export interface Thread<DefaultTools extends ToolSet> {
254
306
  * for the {@link ContextOptions} and {@link StorageOptions}.
255
307
  * @returns The result of the streamText function.
256
308
  */
257
- streamText<TOOLS extends ToolSet | undefined = undefined, OUTPUT = never, PARTIAL_OUTPUT = never>(args: StreamingTextArgs<TOOLS extends undefined ? DefaultTools : TOOLS, TOOLS, OUTPUT, PARTIAL_OUTPUT>, options?: Options & {
309
+ streamText<TOOLS extends ToolSet | undefined = undefined, OUTPUT = never, PARTIAL_OUTPUT = never>(streamTextArgs: StreamingTextArgs<TOOLS extends undefined ? DefaultTools : TOOLS, TOOLS, OUTPUT, PARTIAL_OUTPUT>, options?: Options & {
258
310
  /**
259
311
  * Whether to save incremental data (deltas) from streaming responses.
260
312
  * Defaults to false.
@@ -277,7 +329,20 @@ export interface Thread<DefaultTools extends ToolSet> {
277
329
  * for the {@link ContextOptions} and {@link StorageOptions}.
278
330
  * @returns The result of the generateObject function.
279
331
  */
280
- generateObject<T = JSONValue>(args: OurObjectArgs<T>, options?: Options): Promise<GenerateObjectResult<T> & ThreadOutputMetadata>;
332
+ generateObject<SCHEMA extends ObjectSchema = DefaultObjectSchema, OUTPUT extends ObjectMode = InferSchema<SCHEMA> extends string ? "enum" : "object", RESULT = OUTPUT extends "array" ? Array<InferSchema<SCHEMA>> : InferSchema<SCHEMA>>(generateObjectArgs: GenerateObjectArgs<SCHEMA, OUTPUT, RESULT> & {
333
+ /**
334
+ * If provided, this message will be used as the "prompt" for the LLM call,
335
+ * instead of the prompt or messages.
336
+ * This is useful if you want to first save a user message, then use it as
337
+ * the prompt for the LLM call in another call.
338
+ */
339
+ promptMessageId?: string;
340
+ /**
341
+ * The model to use for the LLM calls. This will override the model specified
342
+ * in the Agent constructor.
343
+ */
344
+ model?: LanguageModel;
345
+ }, options?: Options): Promise<GenerateObjectResult<RESULT> & ThreadOutputMetadata>;
281
346
  /**
282
347
  * This behaves like {@link streamObject} from the "ai" package except that
283
348
  * it add context based on the userId and threadId and saves the input and
@@ -288,7 +353,24 @@ export interface Thread<DefaultTools extends ToolSet> {
288
353
  * for the {@link ContextOptions} and {@link StorageOptions}.
289
354
  * @returns The result of the streamObject function.
290
355
  */
291
- streamObject<T extends z.Schema | Schema>(args: OurStreamObjectArgs<T>, options?: Options): Promise<StreamObjectResult<DeepPartial<T>, T, never> & ThreadOutputMetadata>;
356
+ streamObject<SCHEMA extends ObjectSchema = DefaultObjectSchema, OUTPUT extends ObjectMode = InferSchema<SCHEMA> extends string ? "enum" : "object", RESULT = OUTPUT extends "array" ? Array<InferSchema<SCHEMA>> : InferSchema<SCHEMA>>(
357
+ /**
358
+ * The same arguments you'd pass to "ai" sdk {@link streamObject}.
359
+ */
360
+ streamObjectArgs: StreamObjectArgs<SCHEMA, OUTPUT, RESULT> & {
361
+ /**
362
+ * If provided, this message will be used as the "prompt" for the LLM call,
363
+ * instead of the prompt or messages.
364
+ * This is useful if you want to first save a user message, then use it as
365
+ * the prompt for the LLM call in another call.
366
+ */
367
+ promptMessageId?: string;
368
+ /**
369
+ * The model to use for the LLM calls. This will override the model specified
370
+ * in the Agent constructor.
371
+ */
372
+ model?: LanguageModel;
373
+ }, options?: Options): Promise<ReturnType<typeof streamObject<SCHEMA, OUTPUT, RESULT>> & ThreadOutputMetadata>;
292
374
  }
293
375
  export type Options = {
294
376
  /**
@@ -299,6 +381,11 @@ export type Options = {
299
381
  * The storage options to use for saving the input and output messages to the thread.
300
382
  */
301
383
  storageOptions?: StorageOptions;
384
+ /**
385
+ * The usage handler to use for this thread. Overrides any handler
386
+ * set in the agent constructor.
387
+ */
388
+ usageHandler?: UsageHandler;
302
389
  };
303
390
  export type SyncStreamsReturnValue = {
304
391
  kind: "list";