@convex-dev/agent 0.1.18 → 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 (122) hide show
  1. package/dist/client/createTool.d.ts +30 -11
  2. package/dist/client/createTool.d.ts.map +1 -1
  3. package/dist/client/createTool.js +24 -10
  4. package/dist/client/createTool.js.map +1 -1
  5. package/dist/client/defaultComponent.d.ts +11 -0
  6. package/dist/client/defaultComponent.d.ts.map +1 -0
  7. package/dist/client/defaultComponent.js +7 -0
  8. package/dist/client/defaultComponent.js.map +1 -0
  9. package/dist/client/definePlaygroundAPI.d.ts +68 -23
  10. package/dist/client/definePlaygroundAPI.d.ts.map +1 -1
  11. package/dist/client/definePlaygroundAPI.js +7 -20
  12. package/dist/client/definePlaygroundAPI.js.map +1 -1
  13. package/dist/client/files.d.ts +14 -4
  14. package/dist/client/files.d.ts.map +1 -1
  15. package/dist/client/files.js +66 -11
  16. package/dist/client/files.js.map +1 -1
  17. package/dist/client/index.d.ts +323 -780
  18. package/dist/client/index.d.ts.map +1 -1
  19. package/dist/client/index.js +445 -543
  20. package/dist/client/index.js.map +1 -1
  21. package/dist/client/messages.d.ts +256 -0
  22. package/dist/client/messages.d.ts.map +1 -0
  23. package/dist/client/messages.js +97 -0
  24. package/dist/client/messages.js.map +1 -0
  25. package/dist/client/search.d.ts +35 -12
  26. package/dist/client/search.d.ts.map +1 -1
  27. package/dist/client/search.js +21 -4
  28. package/dist/client/search.js.map +1 -1
  29. package/dist/client/streaming.d.ts +21 -21
  30. package/dist/client/streaming.d.ts.map +1 -1
  31. package/dist/client/streaming.js +35 -40
  32. package/dist/client/streaming.js.map +1 -1
  33. package/dist/client/threads.d.ts +46 -0
  34. package/dist/client/threads.d.ts.map +1 -0
  35. package/dist/client/threads.js +49 -0
  36. package/dist/client/threads.js.map +1 -0
  37. package/dist/client/types.d.ts +159 -75
  38. package/dist/client/types.d.ts.map +1 -1
  39. package/dist/component/_generated/api.d.ts +261 -209
  40. package/dist/component/messages.d.ts +314 -105
  41. package/dist/component/messages.d.ts.map +1 -1
  42. package/dist/component/messages.js +141 -83
  43. package/dist/component/messages.js.map +1 -1
  44. package/dist/component/schema.d.ts +631 -870
  45. package/dist/component/schema.d.ts.map +1 -1
  46. package/dist/component/schema.js +11 -16
  47. package/dist/component/schema.js.map +1 -1
  48. package/dist/component/streams.d.ts +29 -149
  49. package/dist/component/streams.d.ts.map +1 -1
  50. package/dist/component/streams.js +104 -60
  51. package/dist/component/streams.js.map +1 -1
  52. package/dist/component/threads.d.ts +4 -4
  53. package/dist/component/users.d.ts +3 -3
  54. package/dist/mapping.d.ts +15 -16
  55. package/dist/mapping.d.ts.map +1 -1
  56. package/dist/mapping.js +208 -62
  57. package/dist/mapping.js.map +1 -1
  58. package/dist/parts.d.ts +3 -0
  59. package/dist/parts.d.ts.map +1 -0
  60. package/dist/parts.js +34 -0
  61. package/dist/parts.js.map +1 -0
  62. package/dist/react/SmoothText.d.ts +5 -0
  63. package/dist/react/SmoothText.d.ts.map +1 -0
  64. package/dist/react/SmoothText.js +6 -0
  65. package/dist/react/SmoothText.js.map +1 -0
  66. package/dist/react/deltas.d.ts +3 -5
  67. package/dist/react/deltas.d.ts.map +1 -1
  68. package/dist/react/deltas.js +89 -53
  69. package/dist/react/deltas.js.map +1 -1
  70. package/dist/react/index.d.ts +1 -0
  71. package/dist/react/index.d.ts.map +1 -1
  72. package/dist/react/index.js +31 -11
  73. package/dist/react/index.js.map +1 -1
  74. package/dist/react/optimisticallySendMessage.d.ts.map +1 -1
  75. package/dist/react/optimisticallySendMessage.js +2 -8
  76. package/dist/react/optimisticallySendMessage.js.map +1 -1
  77. package/dist/react/toUIMessages.d.ts +5 -4
  78. package/dist/react/toUIMessages.d.ts.map +1 -1
  79. package/dist/react/toUIMessages.js +103 -40
  80. package/dist/react/toUIMessages.js.map +1 -1
  81. package/dist/react/useSmoothText.d.ts +13 -12
  82. package/dist/react/useSmoothText.d.ts.map +1 -1
  83. package/dist/react/useSmoothText.js +1 -1
  84. package/dist/react/useSmoothText.js.map +1 -1
  85. package/dist/validators.d.ts +751 -1464
  86. package/dist/validators.d.ts.map +1 -1
  87. package/dist/validators.js +39 -80
  88. package/dist/validators.js.map +1 -1
  89. package/package.json +34 -30
  90. package/src/client/createTool.ts +66 -40
  91. package/src/client/defaultComponent.ts +17 -0
  92. package/src/client/definePlaygroundAPI.ts +17 -31
  93. package/src/client/files.ts +94 -17
  94. package/src/client/index.test.ts +28 -38
  95. package/src/client/index.ts +785 -977
  96. package/src/client/messages.ts +205 -0
  97. package/src/client/search.ts +37 -10
  98. package/src/client/streaming.ts +53 -56
  99. package/src/client/threads.ts +78 -0
  100. package/src/client/types.ts +239 -131
  101. package/src/component/_generated/api.d.ts +261 -209
  102. package/src/component/messages.test.ts +182 -40
  103. package/src/component/messages.ts +165 -108
  104. package/src/component/schema.ts +11 -17
  105. package/src/component/streams.ts +180 -69
  106. package/src/mapping.ts +253 -96
  107. package/src/parts.ts +39 -0
  108. package/src/react/SmoothText.tsx +9 -0
  109. package/src/react/deltas.test.ts +38 -42
  110. package/src/react/deltas.ts +116 -65
  111. package/src/react/index.ts +35 -13
  112. package/src/react/optimisticallySendMessage.ts +2 -8
  113. package/src/react/toUIMessages.test.ts +154 -36
  114. package/src/react/toUIMessages.ts +136 -57
  115. package/src/react/useSmoothText.ts +14 -15
  116. package/src/validators.test.ts +1 -117
  117. package/src/validators.ts +57 -107
  118. package/dist/client/listMessages.d.ts +0 -22
  119. package/dist/client/listMessages.d.ts.map +0 -1
  120. package/dist/client/listMessages.js +0 -25
  121. package/dist/client/listMessages.js.map +0 -1
  122. package/src/client/listMessages.ts +0 -38
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAK,MAAM,eAAe,CAAC;AAkB9C,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAiFf;;;;WAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA+DL,CAAC;AAEH,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YArEX;;;;eAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gMAgGgvM,eAAgB,qEAAqE,CAAC,2HAA0H,aAAc,uLAAuL,eAAe;;mFAAkV,GAAG,gDAAwB,WAAW,2BAA0B,WAAY;;;CA/BzhO,CAAC;AACjC,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;AAGnB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;mFAOrB,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEjD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8jBAatB,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEnD,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAK,MAAM,eAAe,CAAC;AAiB9C,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA+Ef;;;;WAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4DL,CAAC;AAEH,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAlEX;;;;eAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gMA6Fw4O,eAAgB,qEAAqE,CAAC,2HAA0H,aAAc,uLAAuL,eAAe;;mFAAkV,GAAG,gDAAwB,WAAW,2BAA0B,WAAY;;;CA/BjrQ,CAAC;AACjC,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;AAGnB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;mFAOrB,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEjD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;onBAatB,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEnD,eAAe,MAAM,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { defineSchema, defineTable } from "convex/server";
2
2
  import { v } from "convex/values";
3
- import { vThreadStatus, vMessage, vMessageStatus, vUsage, vSource, vLanguageModelV1CallWarning, vFinishReason, vProviderOptions, vProviderMetadata, vReasoningDetails, vTextStreamPart, } from "../validators.js";
3
+ import { vThreadStatus, vMessage, vMessageStatus, vUsage, vSource, vLanguageModelCallWarning, vFinishReason, vProviderOptions, vProviderMetadata, vReasoningDetails, } from "../validators.js";
4
4
  import { typedV } from "convex-helpers/validators";
5
5
  import vectorTables, { vVectorId } from "./vector/tables.js";
6
6
  import { omit } from "convex-helpers";
@@ -16,12 +16,8 @@ export const schema = defineSchema({
16
16
  order: /*DEPRECATED*/ v.optional(v.number()),
17
17
  })
18
18
  .index("userId", ["userId"])
19
- .searchIndex("title", {
20
- searchField: "title",
21
- filterFields: ["userId"],
22
- }),
19
+ .searchIndex("title", { searchField: "title", filterFields: ["userId"] }),
23
20
  messages: defineTable({
24
- id: v.optional(v.string()), // external id, e.g. from Vercel AI SDK
25
21
  userId: v.optional(v.string()), // useful for searching across threads
26
22
  threadId: v.id("threads"),
27
23
  order: v.number(),
@@ -44,11 +40,13 @@ export const schema = defineSchema({
44
40
  usage: v.optional(vUsage),
45
41
  providerMetadata: v.optional(vProviderMetadata), // Received from model
46
42
  sources: v.optional(v.array(vSource)),
43
+ warnings: v.optional(v.array(vLanguageModelCallWarning)),
44
+ finishReason: v.optional(vFinishReason),
45
+ // Likely deprecated soon
47
46
  reasoning: v.optional(v.string()),
48
47
  reasoningDetails: v.optional(vReasoningDetails),
49
- warnings: v.optional(v.array(vLanguageModelV1CallWarning)),
50
- finishReason: v.optional(vFinishReason),
51
48
  // DEPRECATED
49
+ id: v.optional(v.string()), // external id, e.g. from Vercel AI SDK
52
50
  parentMessageId: v.optional(v.id("messages")),
53
51
  stepId: v.optional(v.string()),
54
52
  files: v.optional(v.array(v.any())),
@@ -94,10 +92,7 @@ export const schema = defineSchema({
94
92
  kind: v.literal("finished"),
95
93
  endedAt: v.number(),
96
94
  cleanupFnId: v.optional(v.id("_scheduled_functions")),
97
- }), v.object({
98
- kind: v.literal("aborted"),
99
- reason: v.string(),
100
- })),
95
+ }), v.object({ kind: v.literal("aborted"), reason: v.string() })),
101
96
  })
102
97
  // There should only be one per "order" index
103
98
  // If another exists, it's deleted and replaced
@@ -112,7 +107,7 @@ export const schema = defineSchema({
112
107
  // the indexes work like: 0 <first> 1 <second> 2 <third> 3 ...
113
108
  start: v.number(), // inclusive
114
109
  end: v.number(), // exclusive
115
- parts: v.array(vTextStreamPart),
110
+ parts: v.array(v.any()),
116
111
  }).index("streamId_start_end", ["streamId", "start", "end"]),
117
112
  memories: defineTable({
118
113
  threadId: v.optional(v.id("threads")),
@@ -137,9 +132,9 @@ export const schema = defineSchema({
137
132
  // To authenticate playground usage
138
133
  // Delete a key to invalidate it
139
134
  // Provide a name to easily identify it / invalidate by name
140
- apiKeys: defineTable({
141
- name: v.optional(v.string()),
142
- }).index("name", ["name"]),
135
+ apiKeys: defineTable({ name: v.optional(v.string()) }).index("name", [
136
+ "name",
137
+ ]),
143
138
  });
144
139
  export const vv = typedV(schema);
145
140
  export { vv as v };
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAc,CAAC,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EACL,aAAa,EACb,QAAQ,EACR,cAAc,EACd,MAAM,EACN,OAAO,EACP,2BAA2B,EAC3B,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,YAAY,EAAE,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;IACjC,OAAO,EAAE,WAAW,CAAC;QACnB,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,sBAAsB;QACtD,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,EAAE,aAAa;QACrB,aAAa;QACb,mBAAmB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3C,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACrD,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAC7C,CAAC;SACC,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC;SAC3B,WAAW,CAAC,OAAO,EAAE;QACpB,WAAW,EAAE,OAAO;QACpB,YAAY,EAAE,CAAC,QAAQ,CAAC;KACzB,CAAC;IACJ,QAAQ,EAAE,WAAW,CAAC;QACpB,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,uCAAuC;QACnE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,sCAAsC;QACtE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC;QACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QAClC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3C,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,EAAE,cAAc;QAEtB,kCAAkC;QAClC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACjC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7B,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAChC,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB;QAE/D,aAAa;QACb,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC7B,gDAAgD;QAChD,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,qDAAqD;QACxE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAE5B,kBAAkB;QAClB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QACzB,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,sBAAsB;QACvE,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACjC,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAC/C,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC1D,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;QACvC,aAAa;QACb,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC9B,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;KACpC,CAAC;QACA,sDAAsD;QACtD,0DAA0D;SACzD,KAAK,CAAC,sCAAsC,EAAE;QAC7C,UAAU;QACV,QAAQ;QACR,oDAAoD;QACpD,MAAM;QACN,OAAO;QACP,WAAW;KACZ,CAAC;QACF,wCAAwC;SACvC,WAAW,CAAC,aAAa,EAAE;QAC1B,WAAW,EAAE,MAAM;QACnB,YAAY,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;KACrC,CAAC;QACF,iDAAiD;SAChD,KAAK,CAAC,sBAAsB,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAE7D,+DAA+D;IAC/D,iBAAiB,EAAE,WAAW,CAAC;QAC7B,kBAAkB;QAClB,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC9B,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACjC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7B,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAChC,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB;QAE/D,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC;QACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB;;;;WAIG;QACH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;YAC5B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;YACzB,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC;SACtD,CAAC,EACF,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;YAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;YACnB,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC;SACtD,CAAC,EACF,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;YAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;SACnB,CAAC,CACH;KACF,CAAC;QACA,6CAA6C;QAC7C,+CAA+C;SAC9C,KAAK,CAAC,gCAAgC,EAAE;QACvC,UAAU;QACV,YAAY;QACZ,OAAO;QACP,WAAW;KACZ,CAAC;IAEJ,YAAY,EAAE,WAAW,CAAC;QACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC;QACnC,8DAA8D;QAC9D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,YAAY;QAC/B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,YAAY;QAC7B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC;KAChC,CAAC,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAE5D,QAAQ,EAAE,WAAW,CAAC;QACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;KACnC,CAAC;SACC,KAAK,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC;SAC/B,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC;SAC3B,KAAK,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,CAAC;IAExC,KAAK,EAAE,WAAW,CAAC;QACjB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;KAC1B,CAAC;SACC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;SACvB,KAAK,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC;IAClC,GAAG,YAAY;IACf,mCAAmC;IACnC,gCAAgC;IAChC,4DAA4D;IAC5D,OAAO,EAAE,WAAW,CAAC;QACnB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAC7B,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AACjC,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;AAEnB,SAAS;AACT,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,sBAAsB;IACtD,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7B,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC/B,MAAM,EAAE,aAAa;CACtB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE;QAC/C,iBAAiB;QACjB,QAAQ;QACR,OAAO;KACR,CAAC;IACF,qDAAqD;IACrD,6CAA6C;IAC7C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;CACzC,CAAC,CAAC;AAGH,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"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"}
@@ -1,56 +1,12 @@
1
- import type { Id } from "./_generated/dataModel.js";
1
+ import { type MessageWithMetadataInternal } from "../validators.js";
2
+ import type { Doc, Id } from "./_generated/dataModel.js";
2
3
  import { type MutationCtx } from "./_generated/server.js";
4
+ import type { WithoutSystemFields } from "convex/server";
3
5
  export declare const addDelta: import("convex/server").RegisteredMutation<"public", {
4
6
  streamId: import("convex/values").GenericId<"streamingMessages">;
5
7
  start: number;
6
8
  end: number;
7
- parts: ({
8
- providerOptions?: Record<string, Record<string, any>> | undefined;
9
- type: "tool-call";
10
- toolCallId: string;
11
- toolName: string;
12
- args: any;
13
- } | {
14
- providerOptions?: Record<string, Record<string, any>> | undefined;
15
- args?: any;
16
- experimental_content?: ({
17
- type: "text";
18
- text: string;
19
- } | {
20
- mimeType?: string | undefined;
21
- type: "image";
22
- data: string;
23
- })[] | undefined;
24
- isError?: boolean | undefined;
25
- type: "tool-result";
26
- toolCallId: string;
27
- toolName: string;
28
- result: any;
29
- } | {
30
- type: "text-delta";
31
- textDelta: string;
32
- } | {
33
- type: "reasoning";
34
- textDelta: string;
35
- } | {
36
- type: "source";
37
- source: {
38
- title?: string | undefined;
39
- providerOptions?: Record<string, Record<string, any>> | undefined;
40
- id: string;
41
- sourceType: "url";
42
- url: string;
43
- };
44
- } | {
45
- type: "tool-call-streaming-start";
46
- toolCallId: string;
47
- toolName: string;
48
- } | {
49
- type: "tool-call-delta";
50
- toolCallId: string;
51
- toolName: string;
52
- argsTextDelta: string;
53
- })[];
9
+ parts: any[];
54
10
  }, Promise<boolean>>;
55
11
  export declare const listDeltas: import("convex/server").RegisteredQuery<"public", {
56
12
  threadId: import("convex/values").GenericId<"threads">;
@@ -62,53 +18,7 @@ export declare const listDeltas: import("convex/server").RegisteredQuery<"public
62
18
  streamId: string;
63
19
  start: number;
64
20
  end: number;
65
- parts: ({
66
- providerOptions?: Record<string, Record<string, any>> | undefined;
67
- type: "tool-call";
68
- toolCallId: string;
69
- toolName: string;
70
- args: any;
71
- } | {
72
- providerOptions?: Record<string, Record<string, any>> | undefined;
73
- args?: any;
74
- experimental_content?: ({
75
- type: "text";
76
- text: string;
77
- } | {
78
- mimeType?: string | undefined;
79
- type: "image";
80
- data: string;
81
- })[] | undefined;
82
- isError?: boolean | undefined;
83
- type: "tool-result";
84
- toolCallId: string;
85
- toolName: string;
86
- result: any;
87
- } | {
88
- type: "text-delta";
89
- textDelta: string;
90
- } | {
91
- type: "reasoning";
92
- textDelta: string;
93
- } | {
94
- type: "source";
95
- source: {
96
- title?: string | undefined;
97
- providerOptions?: Record<string, Record<string, any>> | undefined;
98
- id: string;
99
- sourceType: "url";
100
- url: string;
101
- };
102
- } | {
103
- type: "tool-call-streaming-start";
104
- toolCallId: string;
105
- toolName: string;
106
- } | {
107
- type: "tool-call-delta";
108
- toolCallId: string;
109
- toolName: string;
110
- argsTextDelta: string;
111
- })[];
21
+ parts: any[];
112
22
  }[]>>;
113
23
  export declare const create: import("convex/server").RegisteredMutation<"public", {
114
24
  userId?: string | undefined;
@@ -143,61 +53,18 @@ export declare const abortByOrder: import("convex/server").RegisteredMutation<"p
143
53
  export declare const abort: import("convex/server").RegisteredMutation<"public", {
144
54
  streamId: Id<"streamingMessages">;
145
55
  reason: string;
56
+ finalDelta?: WithoutSystemFields<Doc<"streamDeltas">>;
146
57
  }, Promise<boolean>>;
147
58
  export declare const finish: import("convex/server").RegisteredMutation<"public", {
148
- finalDelta?: {
149
- streamId: import("convex/values").GenericId<"streamingMessages">;
150
- start: number;
151
- end: number;
152
- parts: ({
153
- providerOptions?: Record<string, Record<string, any>> | undefined;
154
- type: "tool-call";
155
- toolCallId: string;
156
- toolName: string;
157
- args: any;
158
- } | {
159
- providerOptions?: Record<string, Record<string, any>> | undefined;
160
- args?: any;
161
- experimental_content?: ({
162
- type: "text";
163
- text: string;
164
- } | {
165
- mimeType?: string | undefined;
166
- type: "image";
167
- data: string;
168
- })[] | undefined;
169
- isError?: boolean | undefined;
170
- type: "tool-result";
171
- toolCallId: string;
172
- toolName: string;
173
- result: any;
174
- } | {
175
- type: "text-delta";
176
- textDelta: string;
177
- } | {
178
- type: "reasoning";
179
- textDelta: string;
180
- } | {
181
- type: "source";
182
- source: {
183
- title?: string | undefined;
184
- providerOptions?: Record<string, Record<string, any>> | undefined;
185
- id: string;
186
- sourceType: "url";
187
- url: string;
188
- };
189
- } | {
190
- type: "tool-call-streaming-start";
191
- toolCallId: string;
192
- toolName: string;
193
- } | {
194
- type: "tool-call-delta";
195
- toolCallId: string;
196
- toolName: string;
197
- argsTextDelta: string;
198
- })[];
199
- } | undefined;
200
- streamId: import("convex/values").GenericId<"streamingMessages">;
59
+ streamId: Id<"streamingMessages">;
60
+ finalDelta?: WithoutSystemFields<Doc<"streamDeltas">>;
61
+ }, Promise<void>>;
62
+ export declare function finishHandler(ctx: MutationCtx, args: {
63
+ streamId: Id<"streamingMessages">;
64
+ finalDelta?: WithoutSystemFields<Doc<"streamDeltas">>;
65
+ }): Promise<void>;
66
+ export declare const heartbeat: import("convex/server").RegisteredMutation<"public", {
67
+ streamId: Id<"streamingMessages">;
201
68
  }, Promise<void>>;
202
69
  export declare const timeoutStream: import("convex/server").RegisteredMutation<"internal", {
203
70
  streamId: import("convex/values").GenericId<"streamingMessages">;
@@ -229,8 +96,8 @@ export declare const deleteStreamsPageForThreadIdMutation: import("convex/server
229
96
  deltaCursor: string | undefined;
230
97
  }>>;
231
98
  export declare const deleteAllStreamsForThreadIdAsync: import("convex/server").RegisteredMutation<"public", {
232
- deltaCursor?: string | undefined;
233
99
  streamOrder?: number | undefined;
100
+ deltaCursor?: string | undefined;
234
101
  threadId: import("convex/values").GenericId<"threads">;
235
102
  }, Promise<{
236
103
  isDone: boolean;
@@ -251,4 +118,17 @@ export declare const deleteStreamAsync: import("convex/server").RegisteredMutati
251
118
  export declare const deleteAllStreamsForThreadIdSync: import("convex/server").RegisteredAction<"public", {
252
119
  threadId: import("convex/values").GenericId<"threads">;
253
120
  }, Promise<void>>;
121
+ export declare function getStreamingMessages(ctx: MutationCtx, threadId: Id<"threads">, order: number, stepOrder: number): Promise<Doc<"streamingMessages">[]>;
122
+ export declare function getStreamingMessagesWithMetadata(ctx: MutationCtx, { threadId, order, stepOrder, }: {
123
+ threadId: Id<"threads">;
124
+ order: number;
125
+ stepOrder: number;
126
+ }, metadata: {
127
+ status: "success" | "failed";
128
+ error?: string;
129
+ }): Promise<MessageWithMetadataInternal[]>;
130
+ export declare function getMessagesWithMetadataForStreamingMessage(ctx: MutationCtx, threadId: Id<"threads">, stepOrder: number, streamingMessage: Doc<"streamingMessages">, metadata: {
131
+ status: "success" | "failed";
132
+ error?: string;
133
+ }): Promise<MessageWithMetadataInternal[]>;
254
134
  //# sourceMappingURL=streams.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"streams.d.ts","sourceRoot":"","sources":["../../src/component/streams.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAO,EAAE,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAGL,KAAK,WAAW,EAGjB,MAAM,wBAAwB,CAAC;AAgBhC,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAanB,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAmCrB,CAAC;AAEH,eAAO,MAAM,MAAM;;;;;;;;;mEAoBjB,CAAC;AAEH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;KA8Cf,CAAC;AAEH,eAAO,MAAM,YAAY;;;;oBAyBvB,CAAC;AAEH,eAAO,MAAM,KAAK;cAWE,EAAE,CAAC,mBAAmB,CAAC;YAAU,MAAM;oBAJzD,CAAC;AAmCH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8BjB,CAAC;AA4CH,eAAO,MAAM,aAAa;;iBAgBxB,CAAC;AA2BH,wBAAsB,4BAA4B,CAChD,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE;IAAE,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;GAyC9E;AAED,eAAO,MAAM,oCAAoC;cA3C7B,EAAE,CAAC,SAAS,CAAC;kBAAgB,MAAM;kBAAgB,MAAM;;;;;;;;;GAuD3E,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;GA4B3C,CAAC;AAEH,eAAO,MAAM,gBAAgB;;iBAY3B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;iBAY5B,CAAC;AAEH,eAAO,MAAM,+BAA+B;;iBAmB1C,CAAC"}
1
+ {"version":3,"file":"streams.d.ts","sourceRoot":"","sources":["../../src/component/streams.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ import schema from "./schema.js";
7
7
  import { stream } from "convex-helpers/server/stream";
8
8
  import { mergedStream } from "convex-helpers/server/stream";
9
9
  import { paginator } from "convex-helpers/server/pagination";
10
+ import { mergeDeltas } from "../react/deltas.js";
11
+ import { serializeOrThrow } from "../mapping.js";
10
12
  const SECOND = 1000;
11
13
  const MINUTE = 60 * SECOND;
12
14
  const MAX_DELTAS_PER_REQUEST = 1000;
@@ -18,23 +20,23 @@ export const addDelta = mutation({
18
20
  args: deltaValidator,
19
21
  returns: v.boolean(),
20
22
  handler: async (ctx, args) => {
21
- await ctx.db.insert("streamDeltas", args);
22
- await heartbeatStream(ctx, { streamId: args.streamId });
23
23
  const stream = await ctx.db.get(args.streamId);
24
- if (stream?.state.kind !== "streaming") {
25
- console.warn(`Stream is not streaming: ${args.streamId}`);
24
+ if (!stream) {
25
+ console.warn("Stream not found", args.streamId);
26
26
  return false;
27
27
  }
28
+ if (stream.state.kind !== "streaming") {
29
+ return false;
30
+ }
31
+ await ctx.db.insert("streamDeltas", args);
32
+ await heartbeatStream(ctx, { streamId: args.streamId });
28
33
  return true;
29
34
  },
30
35
  });
31
36
  export const listDeltas = query({
32
37
  args: {
33
38
  threadId: v.id("threads"),
34
- cursors: v.array(v.object({
35
- streamId: v.id("streamingMessages"),
36
- cursor: v.number(),
37
- })),
39
+ cursors: v.array(v.object({ streamId: v.id("streamingMessages"), cursor: v.number() })),
38
40
  },
39
41
  returns: v.array(vStreamDelta),
40
42
  handler: async (ctx, args) => {
@@ -58,10 +60,7 @@ export const create = mutation({
58
60
  args: omit(schema.tables.streamingMessages.validator.fields, ["state"]),
59
61
  returns: v.id("streamingMessages"),
60
62
  handler: async (ctx, args) => {
61
- const state = {
62
- kind: "streaming",
63
- lastHeartbeat: Date.now(),
64
- };
63
+ const state = { kind: "streaming", lastHeartbeat: Date.now() };
65
64
  const streamId = await ctx.db.insert("streamingMessages", {
66
65
  ...args,
67
66
  state,
@@ -103,11 +102,7 @@ export const list = query({
103
102
  },
104
103
  });
105
104
  export const abortByOrder = mutation({
106
- args: {
107
- threadId: v.id("threads"),
108
- order: v.number(),
109
- reason: v.string(),
110
- },
105
+ args: { threadId: v.id("threads"), order: v.number(), reason: v.string() },
111
106
  returns: v.boolean(),
112
107
  handler: async (ctx, args) => {
113
108
  const streams = await ctx.db
@@ -118,10 +113,7 @@ export const abortByOrder = mutation({
118
113
  .eq("order", args.order))
119
114
  .take(100);
120
115
  for (const stream of streams) {
121
- await abortById(ctx, {
122
- streamId: stream._id,
123
- reason: args.reason,
124
- });
116
+ await abortById(ctx, { streamId: stream._id, reason: args.reason });
125
117
  }
126
118
  return streams.length > 0;
127
119
  },
@@ -130,6 +122,7 @@ export const abort = mutation({
130
122
  args: {
131
123
  streamId: v.id("streamingMessages"),
132
124
  reason: v.string(),
125
+ finalDelta: v.optional(deltaValidator),
133
126
  },
134
127
  returns: v.boolean(),
135
128
  handler: abortById,
@@ -139,8 +132,10 @@ async function abortById(ctx, args) {
139
132
  if (!stream) {
140
133
  throw new Error(`Stream not found: ${args.streamId}`);
141
134
  }
135
+ if (args.finalDelta) {
136
+ await ctx.db.insert("streamDeltas", args.finalDelta);
137
+ }
142
138
  if (stream.state.kind !== "streaming") {
143
- console.warn(`Stream trying to abort but not currently streaming (${stream.state.kind}): ${args.streamId}`);
144
139
  return false;
145
140
  }
146
141
  await cleanupTimeoutFn(ctx, stream);
@@ -157,30 +152,39 @@ async function cleanupTimeoutFn(ctx, stream) {
157
152
  }
158
153
  }
159
154
  }
155
+ // No longer used from the DeltaStreamer
160
156
  export const finish = mutation({
161
157
  args: {
162
158
  streamId: v.id("streamingMessages"),
163
159
  finalDelta: v.optional(deltaValidator),
164
160
  },
165
161
  returns: v.null(),
166
- handler: async (ctx, args) => {
167
- if (args.finalDelta) {
168
- await ctx.db.insert("streamDeltas", args.finalDelta);
169
- }
170
- const stream = await ctx.db.get(args.streamId);
171
- if (!stream) {
172
- throw new Error(`Stream not found: ${args.streamId}`);
173
- }
174
- if (stream.state.kind !== "streaming") {
175
- console.warn(`Stream trying to finish but not currently streaming: ${args.streamId}`);
176
- return;
177
- }
178
- await cleanupTimeoutFn(ctx, stream);
179
- const cleanupFnId = await ctx.scheduler.runAfter(DELETE_STREAM_DELAY, api.streams.deleteStreamAsync, { streamId: args.streamId });
180
- await ctx.db.patch(args.streamId, {
181
- state: { kind: "finished", endedAt: Date.now(), cleanupFnId },
182
- });
183
- },
162
+ handler: finishHandler,
163
+ });
164
+ export async function finishHandler(ctx, args) {
165
+ if (args.finalDelta) {
166
+ await ctx.db.insert("streamDeltas", args.finalDelta);
167
+ }
168
+ const stream = await ctx.db.get(args.streamId);
169
+ if (!stream) {
170
+ throw new Error(`Stream not found: ${args.streamId}`);
171
+ }
172
+ if (stream.state.kind !== "streaming") {
173
+ console.warn(`Stream trying to finish ${args.streamId} but is ${stream.state.kind}`);
174
+ return;
175
+ }
176
+ await cleanupTimeoutFn(ctx, stream);
177
+ const cleanupFnId = await ctx.scheduler.runAfter(DELETE_STREAM_DELAY, api.streams.deleteStreamAsync, { streamId: args.streamId });
178
+ await ctx.db.patch(args.streamId, {
179
+ state: { kind: "finished", endedAt: Date.now(), cleanupFnId },
180
+ });
181
+ }
182
+ // TODO: use this heartbeat while streaming, every 30 seconds or so,
183
+ // then reduce the timeout to 60 seconds.
184
+ export const heartbeat = mutation({
185
+ args: { streamId: v.id("streamingMessages") },
186
+ returns: v.null(),
187
+ handler: heartbeatStream,
184
188
  });
185
189
  async function heartbeatStream(ctx, args) {
186
190
  const stream = await ctx.db.get(args.streamId);
@@ -189,7 +193,6 @@ async function heartbeatStream(ctx, args) {
189
193
  return;
190
194
  }
191
195
  if (stream.state.kind !== "streaming") {
192
- console.warn("Stream is not streaming", args.streamId);
193
196
  return;
194
197
  }
195
198
  if (Date.now() - stream.state.lastHeartbeat < TIMEOUT_INTERVAL / 4) {
@@ -209,11 +212,7 @@ async function heartbeatStream(ctx, args) {
209
212
  await ctx.scheduler.cancel(stream.state.timeoutFnId);
210
213
  const timeoutFnId = await ctx.scheduler.runAfter(TIMEOUT_INTERVAL, internal.streams.timeoutStream, { streamId: args.streamId });
211
214
  await ctx.db.patch(args.streamId, {
212
- state: {
213
- kind: "streaming",
214
- lastHeartbeat: Date.now(),
215
- timeoutFnId,
216
- },
215
+ state: { kind: "streaming", lastHeartbeat: Date.now(), timeoutFnId },
217
216
  });
218
217
  }
219
218
  export const timeoutStream = internalMutation({
@@ -226,10 +225,7 @@ export const timeoutStream = internalMutation({
226
225
  return;
227
226
  }
228
227
  await ctx.db.patch(args.streamId, {
229
- state: {
230
- kind: "aborted",
231
- reason: "timeout",
232
- },
228
+ state: { kind: "aborted", reason: "timeout" },
233
229
  });
234
230
  },
235
231
  });
@@ -271,11 +267,7 @@ export async function deleteStreamsPageForThreadId(ctx, args) {
271
267
  "stepOrder",
272
268
  ]).first();
273
269
  if (!streamMessage) {
274
- return {
275
- isDone: true,
276
- streamOrder: undefined,
277
- deltaCursor: undefined,
278
- };
270
+ return { isDone: true, streamOrder: undefined, deltaCursor: undefined };
279
271
  }
280
272
  const result = await deletePageForStreamId(ctx, {
281
273
  streamId: streamMessage._id,
@@ -284,11 +276,7 @@ export async function deleteStreamsPageForThreadId(ctx, args) {
284
276
  if (result.isDone) {
285
277
  deltaCursor = undefined;
286
278
  }
287
- return {
288
- isDone: false,
289
- streamOrder: streamMessage.order,
290
- deltaCursor,
291
- };
279
+ return { isDone: false, streamOrder: streamMessage.order, deltaCursor };
292
280
  }
293
281
  export const deleteStreamsPageForThreadIdMutation = internalMutation({
294
282
  args: {
@@ -369,4 +357,60 @@ export const deleteAllStreamsForThreadIdSync = action({
369
357
  }
370
358
  },
371
359
  });
360
+ export async function getStreamingMessages(ctx, threadId, order, stepOrder) {
361
+ return mergedStream(["aborted", "streaming", "finished"].map((state) => stream(ctx.db, schema)
362
+ .query("streamingMessages")
363
+ .withIndex("threadId_state_order_stepOrder", (q) => q
364
+ .eq("threadId", threadId)
365
+ .eq("state.kind", state)
366
+ .eq("order", order)
367
+ .lte("stepOrder", stepOrder))
368
+ .order("desc")), ["stepOrder"]).take(10);
369
+ }
370
+ export async function getStreamingMessagesWithMetadata(ctx, { threadId, order, stepOrder, }, metadata) {
371
+ // See if there are any streaming messages for this order
372
+ const streamingMessages = await getStreamingMessages(ctx, threadId, order, stepOrder);
373
+ const messages = (await Promise.all(streamingMessages.map((m) => getMessagesWithMetadataForStreamingMessage(ctx, threadId, stepOrder, m, metadata)))).flat();
374
+ return messages;
375
+ }
376
+ export async function getMessagesWithMetadataForStreamingMessage(ctx, threadId, stepOrder, streamingMessage, metadata) {
377
+ const deltas = await ctx.db
378
+ .query("streamDeltas")
379
+ .withIndex("streamId_start_end", (q) => q.eq("streamId", streamingMessage._id))
380
+ .take(1000);
381
+ const [messageDocs] = mergeDeltas(threadId, [
382
+ {
383
+ ...streamingMessage,
384
+ status: "streaming",
385
+ streamId: streamingMessage._id,
386
+ },
387
+ ], [], deltas);
388
+ // We don't save messages that have already been saved
389
+ const numToSkip = stepOrder - streamingMessage.stepOrder;
390
+ const messages = await Promise.all(messageDocs
391
+ .slice(numToSkip)
392
+ .filter((m) => m.message !== undefined)
393
+ .map(async (msg) => {
394
+ const message = await serializeOrThrow(msg.message);
395
+ return {
396
+ message,
397
+ ...pick(msg, [
398
+ "fileIds",
399
+ "status",
400
+ "finishReason",
401
+ "model",
402
+ "provider",
403
+ "providerMetadata",
404
+ "sources",
405
+ "reasoning",
406
+ "reasoningDetails",
407
+ "usage",
408
+ "warnings",
409
+ "error",
410
+ ]),
411
+ ...metadata,
412
+ };
413
+ }));
414
+ return messages;
415
+ }
372
416
  //# sourceMappingURL=streams.js.map