@convex-dev/agent 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/component/_generated/component.d.ts +5 -0
  2. package/dist/component/_generated/component.d.ts.map +1 -1
  3. package/dist/component/files.d.ts +6 -4
  4. package/dist/component/files.d.ts.map +1 -1
  5. package/dist/component/files.js +53 -42
  6. package/dist/component/files.js.map +1 -1
  7. package/dist/component/messages.d.ts.map +1 -1
  8. package/dist/component/messages.js +7 -3
  9. package/dist/component/messages.js.map +1 -1
  10. package/dist/component/schema.d.ts +58 -6
  11. package/dist/component/schema.d.ts.map +1 -1
  12. package/dist/component/schema.js +12 -2
  13. package/dist/component/schema.js.map +1 -1
  14. package/dist/component/streams.d.ts +10 -1
  15. package/dist/component/streams.d.ts.map +1 -1
  16. package/dist/component/streams.js +72 -17
  17. package/dist/component/streams.js.map +1 -1
  18. package/dist/streaming/materializePersistedUIMessageChunks.d.ts +8 -2
  19. package/dist/streaming/materializePersistedUIMessageChunks.d.ts.map +1 -1
  20. package/dist/streaming/materializePersistedUIMessageChunks.js +34 -3
  21. package/dist/streaming/materializePersistedUIMessageChunks.js.map +1 -1
  22. package/dist/vercel/UIMessages.js +1 -1
  23. package/dist/vercel/UIMessages.js.map +1 -1
  24. package/dist/vercel/client/files.d.ts.map +1 -1
  25. package/dist/vercel/client/files.js +51 -27
  26. package/dist/vercel/client/files.js.map +1 -1
  27. package/dist/vercel/client/streamText.d.ts.map +1 -1
  28. package/dist/vercel/client/streamText.js +2 -0
  29. package/dist/vercel/client/streamText.js.map +1 -1
  30. package/dist/vercel/client/streaming.d.ts +14 -0
  31. package/dist/vercel/client/streaming.d.ts.map +1 -1
  32. package/dist/vercel/client/streaming.js +35 -13
  33. package/dist/vercel/client/streaming.js.map +1 -1
  34. package/dist/vercel/fileMaterialization.d.ts +24 -0
  35. package/dist/vercel/fileMaterialization.d.ts.map +1 -0
  36. package/dist/vercel/fileMaterialization.js +118 -0
  37. package/dist/vercel/fileMaterialization.js.map +1 -0
  38. package/dist/vercel/mapping.d.ts.map +1 -1
  39. package/dist/vercel/mapping.js +7 -1
  40. package/dist/vercel/mapping.js.map +1 -1
  41. package/package.json +1 -1
  42. package/src/component/_generated/component.ts +8 -2
  43. package/src/component/files.test.ts +81 -6
  44. package/src/component/files.ts +69 -41
  45. package/src/component/messages.test.ts +92 -0
  46. package/src/component/messages.ts +11 -3
  47. package/src/component/schema.ts +16 -2
  48. package/src/component/streams.test.ts +109 -0
  49. package/src/component/streams.ts +103 -20
  50. package/src/streaming/materializePersistedUIMessageChunks.test.ts +33 -0
  51. package/src/streaming/materializePersistedUIMessageChunks.ts +37 -0
  52. package/src/vercel/UIMessages.ts +1 -1
  53. package/src/vercel/client/files.test.ts +56 -0
  54. package/src/vercel/client/files.ts +53 -28
  55. package/src/vercel/client/streamText.ts +3 -0
  56. package/src/vercel/client/streaming.test.ts +71 -0
  57. package/src/vercel/client/streaming.ts +50 -16
  58. package/src/vercel/fileMaterialization.ts +174 -0
  59. package/src/vercel/mapping.test.ts +117 -0
  60. package/src/vercel/mapping.ts +15 -1
  61. package/src/vercel/toUIMessages.test.ts +7 -1
@@ -4147,6 +4147,10 @@ export declare const schema: import("convex/server").SchemaDefinition<{
4147
4147
  provider?: string | undefined;
4148
4148
  providerOptions?: Record<string, Record<string, any>> | undefined;
4149
4149
  format?: "UIMessageChunk" | "TextStreamPart" | undefined;
4150
+ fileRefs?: {
4151
+ url: string;
4152
+ fileId: import("convex/values").GenericId<"files">;
4153
+ }[] | undefined;
4150
4154
  order: number;
4151
4155
  threadId: import("convex/values").GenericId<"threads">;
4152
4156
  stepOrder: number;
@@ -4159,6 +4163,7 @@ export declare const schema: import("convex/server").SchemaDefinition<{
4159
4163
  kind: "finished";
4160
4164
  endedAt: number;
4161
4165
  } | {
4166
+ cleanupFnId?: import("convex/values").GenericId<"_scheduled_functions"> | undefined;
4162
4167
  kind: "aborted";
4163
4168
  reason: string;
4164
4169
  };
@@ -4171,6 +4176,17 @@ export declare const schema: import("convex/server").SchemaDefinition<{
4171
4176
  format: import("convex/values").VUnion<"UIMessageChunk" | "TextStreamPart" | undefined, [import("convex/values").VLiteral<"UIMessageChunk", "required">, import("convex/values").VLiteral<"TextStreamPart", "required">], "optional", never>;
4172
4177
  threadId: import("convex/values").VId<import("convex/values").GenericId<"threads">, "required">;
4173
4178
  order: import("convex/values").VFloat64<number, "required">;
4179
+ /** Internal ownership sidecar for files materialized in stream deltas. */
4180
+ fileRefs: import("convex/values").VArray<{
4181
+ url: string;
4182
+ fileId: import("convex/values").GenericId<"files">;
4183
+ }[] | undefined, import("convex/values").VObject<{
4184
+ url: string;
4185
+ fileId: import("convex/values").GenericId<"files">;
4186
+ }, {
4187
+ url: import("convex/values").VString<string, "required">;
4188
+ fileId: import("convex/values").VId<import("convex/values").GenericId<"files">, "required">;
4189
+ }, "required", "url" | "fileId">, "optional">;
4174
4190
  /**
4175
4191
  * The step order of the first message in the stream.
4176
4192
  * If the stream ends up with both a tool call and a tool result,
@@ -4186,6 +4202,7 @@ export declare const schema: import("convex/server").SchemaDefinition<{
4186
4202
  kind: "finished";
4187
4203
  endedAt: number;
4188
4204
  } | {
4205
+ cleanupFnId?: import("convex/values").GenericId<"_scheduled_functions"> | undefined;
4189
4206
  kind: "aborted";
4190
4207
  reason: string;
4191
4208
  }, [import("convex/values").VObject<{
@@ -4205,13 +4222,15 @@ export declare const schema: import("convex/server").SchemaDefinition<{
4205
4222
  endedAt: import("convex/values").VFloat64<number, "required">;
4206
4223
  cleanupFnId: import("convex/values").VId<import("convex/values").GenericId<"_scheduled_functions"> | undefined, "optional">;
4207
4224
  }, "required", "kind" | "endedAt" | "cleanupFnId">, import("convex/values").VObject<{
4225
+ cleanupFnId?: import("convex/values").GenericId<"_scheduled_functions"> | undefined;
4208
4226
  kind: "aborted";
4209
4227
  reason: string;
4210
4228
  }, {
4211
4229
  kind: import("convex/values").VLiteral<"aborted", "required">;
4212
4230
  reason: import("convex/values").VString<string, "required">;
4213
- }, "required", "kind" | "reason">], "required", "kind" | "reason" | "lastHeartbeat" | "timeoutFnId" | "endedAt" | "cleanupFnId">;
4214
- }, "required", "userId" | "order" | "threadId" | "stepOrder" | "agentName" | "model" | "provider" | "providerOptions" | `providerOptions.${string}` | "format" | "state" | "state.kind" | "state.reason" | "state.lastHeartbeat" | "state.timeoutFnId" | "state.endedAt" | "state.cleanupFnId">, {
4231
+ cleanupFnId: import("convex/values").VId<import("convex/values").GenericId<"_scheduled_functions"> | undefined, "optional">;
4232
+ }, "required", "kind" | "reason" | "cleanupFnId">], "required", "kind" | "reason" | "lastHeartbeat" | "timeoutFnId" | "endedAt" | "cleanupFnId">;
4233
+ }, "required", "userId" | "order" | "threadId" | "stepOrder" | "agentName" | "model" | "provider" | "providerOptions" | `providerOptions.${string}` | "format" | "fileRefs" | "state" | "state.kind" | "state.reason" | "state.lastHeartbeat" | "state.timeoutFnId" | "state.endedAt" | "state.cleanupFnId">, {
4215
4234
  threadId_state_order_stepOrder: ["threadId", "state.kind", "order", "stepOrder", "_creationTime"];
4216
4235
  }, {}, {}>;
4217
4236
  streamDeltas: import("convex/server").TableDefinition<import("convex/values").VObject<{
@@ -4262,6 +4281,7 @@ export declare const schema: import("convex/server").SchemaDefinition<{
4262
4281
  }, "required", "mediaType" | "mimeType" | "filename" | "storageId" | "hash" | "refcount" | "lastTouchedAt">, {
4263
4282
  hash: ["hash", "_creationTime"];
4264
4283
  refcount: ["refcount", "_creationTime"];
4284
+ refcount_lastTouchedAt: ["refcount", "lastTouchedAt", "_creationTime"];
4265
4285
  }, {}, {}>;
4266
4286
  }, true>;
4267
4287
  export declare const vv: Omit<{
@@ -4597,6 +4617,7 @@ export declare const vv: Omit<{
4597
4617
  indexes: {
4598
4618
  hash: ["hash", "_creationTime"];
4599
4619
  refcount: ["refcount", "_creationTime"];
4620
+ refcount_lastTouchedAt: ["refcount", "lastTouchedAt", "_creationTime"];
4600
4621
  by_id: ["_id"];
4601
4622
  by_creation_time: ["_creationTime"];
4602
4623
  };
@@ -5071,6 +5092,10 @@ export declare const vv: Omit<{
5071
5092
  provider?: string | undefined;
5072
5093
  providerOptions?: Record<string, Record<string, any>> | undefined;
5073
5094
  format?: "UIMessageChunk" | "TextStreamPart" | undefined;
5095
+ fileRefs?: {
5096
+ url: string;
5097
+ fileId: import("convex/values").GenericId<"files">;
5098
+ }[] | undefined;
5074
5099
  order: number;
5075
5100
  threadId: import("convex/values").GenericId<"threads">;
5076
5101
  stepOrder: number;
@@ -5083,11 +5108,12 @@ export declare const vv: Omit<{
5083
5108
  kind: "finished";
5084
5109
  endedAt: number;
5085
5110
  } | {
5111
+ cleanupFnId?: import("convex/values").GenericId<"_scheduled_functions"> | undefined;
5086
5112
  kind: "aborted";
5087
5113
  reason: string;
5088
5114
  };
5089
5115
  };
5090
- fieldPaths: ("userId" | "order" | "_creationTime" | "threadId" | "stepOrder" | "agentName" | "model" | "provider" | "providerOptions" | `providerOptions.${string}` | "format" | "state" | "state.kind" | "state.reason" | "state.lastHeartbeat" | "state.timeoutFnId" | "state.endedAt" | "state.cleanupFnId") | "_id";
5116
+ fieldPaths: ("userId" | "order" | "_creationTime" | "threadId" | "stepOrder" | "agentName" | "model" | "provider" | "providerOptions" | `providerOptions.${string}` | "format" | "fileRefs" | "state" | "state.kind" | "state.reason" | "state.lastHeartbeat" | "state.timeoutFnId" | "state.endedAt" | "state.cleanupFnId") | "_id";
5091
5117
  indexes: {
5092
5118
  threadId_state_order_stepOrder: ["threadId", "state.kind", "order", "stepOrder", "_creationTime"];
5093
5119
  by_id: ["_id"];
@@ -5463,6 +5489,7 @@ export declare const vv: Omit<{
5463
5489
  indexes: {
5464
5490
  hash: ["hash", "_creationTime"];
5465
5491
  refcount: ["refcount", "_creationTime"];
5492
+ refcount_lastTouchedAt: ["refcount", "lastTouchedAt", "_creationTime"];
5466
5493
  by_id: ["_id"];
5467
5494
  by_creation_time: ["_creationTime"];
5468
5495
  };
@@ -5937,6 +5964,10 @@ export declare const vv: Omit<{
5937
5964
  provider?: string | undefined;
5938
5965
  providerOptions?: Record<string, Record<string, any>> | undefined;
5939
5966
  format?: "UIMessageChunk" | "TextStreamPart" | undefined;
5967
+ fileRefs?: {
5968
+ url: string;
5969
+ fileId: import("convex/values").GenericId<"files">;
5970
+ }[] | undefined;
5940
5971
  order: number;
5941
5972
  threadId: import("convex/values").GenericId<"threads">;
5942
5973
  stepOrder: number;
@@ -5949,11 +5980,12 @@ export declare const vv: Omit<{
5949
5980
  kind: "finished";
5950
5981
  endedAt: number;
5951
5982
  } | {
5983
+ cleanupFnId?: import("convex/values").GenericId<"_scheduled_functions"> | undefined;
5952
5984
  kind: "aborted";
5953
5985
  reason: string;
5954
5986
  };
5955
5987
  };
5956
- fieldPaths: ("userId" | "order" | "_creationTime" | "threadId" | "stepOrder" | "agentName" | "model" | "provider" | "providerOptions" | `providerOptions.${string}` | "format" | "state" | "state.kind" | "state.reason" | "state.lastHeartbeat" | "state.timeoutFnId" | "state.endedAt" | "state.cleanupFnId") | "_id";
5988
+ fieldPaths: ("userId" | "order" | "_creationTime" | "threadId" | "stepOrder" | "agentName" | "model" | "provider" | "providerOptions" | `providerOptions.${string}` | "format" | "fileRefs" | "state" | "state.kind" | "state.reason" | "state.lastHeartbeat" | "state.timeoutFnId" | "state.endedAt" | "state.cleanupFnId") | "_id";
5957
5989
  indexes: {
5958
5990
  threadId_state_order_stepOrder: ["threadId", "state.kind", "order", "stepOrder", "_creationTime"];
5959
5991
  by_id: ["_id"];
@@ -10164,6 +10196,10 @@ export declare const vv: Omit<{
10164
10196
  provider?: string | undefined;
10165
10197
  providerOptions?: Record<string, Record<string, any>> | undefined;
10166
10198
  format?: "UIMessageChunk" | "TextStreamPart" | undefined;
10199
+ fileRefs?: {
10200
+ url: string;
10201
+ fileId: import("convex/values").GenericId<"files">;
10202
+ }[] | undefined;
10167
10203
  order: number;
10168
10204
  threadId: import("convex/values").GenericId<"threads">;
10169
10205
  stepOrder: number;
@@ -10176,6 +10212,7 @@ export declare const vv: Omit<{
10176
10212
  kind: "finished";
10177
10213
  endedAt: number;
10178
10214
  } | {
10215
+ cleanupFnId?: import("convex/values").GenericId<"_scheduled_functions"> | undefined;
10179
10216
  kind: "aborted";
10180
10217
  reason: string;
10181
10218
  };
@@ -10188,6 +10225,17 @@ export declare const vv: Omit<{
10188
10225
  format: import("convex/values").VUnion<"UIMessageChunk" | "TextStreamPart" | undefined, [import("convex/values").VLiteral<"UIMessageChunk", "required">, import("convex/values").VLiteral<"TextStreamPart", "required">], "optional", never>;
10189
10226
  threadId: import("convex/values").VId<import("convex/values").GenericId<"threads">, "required">;
10190
10227
  order: import("convex/values").VFloat64<number, "required">;
10228
+ /** Internal ownership sidecar for files materialized in stream deltas. */
10229
+ fileRefs: import("convex/values").VArray<{
10230
+ url: string;
10231
+ fileId: import("convex/values").GenericId<"files">;
10232
+ }[] | undefined, import("convex/values").VObject<{
10233
+ url: string;
10234
+ fileId: import("convex/values").GenericId<"files">;
10235
+ }, {
10236
+ url: import("convex/values").VString<string, "required">;
10237
+ fileId: import("convex/values").VId<import("convex/values").GenericId<"files">, "required">;
10238
+ }, "required", "url" | "fileId">, "optional">;
10191
10239
  /**
10192
10240
  * The step order of the first message in the stream.
10193
10241
  * If the stream ends up with both a tool call and a tool result,
@@ -10203,6 +10251,7 @@ export declare const vv: Omit<{
10203
10251
  kind: "finished";
10204
10252
  endedAt: number;
10205
10253
  } | {
10254
+ cleanupFnId?: import("convex/values").GenericId<"_scheduled_functions"> | undefined;
10206
10255
  kind: "aborted";
10207
10256
  reason: string;
10208
10257
  }, [import("convex/values").VObject<{
@@ -10222,13 +10271,15 @@ export declare const vv: Omit<{
10222
10271
  endedAt: import("convex/values").VFloat64<number, "required">;
10223
10272
  cleanupFnId: import("convex/values").VId<import("convex/values").GenericId<"_scheduled_functions"> | undefined, "optional">;
10224
10273
  }, "required", "kind" | "endedAt" | "cleanupFnId">, import("convex/values").VObject<{
10274
+ cleanupFnId?: import("convex/values").GenericId<"_scheduled_functions"> | undefined;
10225
10275
  kind: "aborted";
10226
10276
  reason: string;
10227
10277
  }, {
10228
10278
  kind: import("convex/values").VLiteral<"aborted", "required">;
10229
10279
  reason: import("convex/values").VString<string, "required">;
10230
- }, "required", "kind" | "reason">], "required", "kind" | "reason" | "lastHeartbeat" | "timeoutFnId" | "endedAt" | "cleanupFnId">;
10231
- }, "required", "userId" | "order" | "threadId" | "stepOrder" | "agentName" | "model" | "provider" | "providerOptions" | `providerOptions.${string}` | "format" | "state" | "state.kind" | "state.reason" | "state.lastHeartbeat" | "state.timeoutFnId" | "state.endedAt" | "state.cleanupFnId">, {
10280
+ cleanupFnId: import("convex/values").VId<import("convex/values").GenericId<"_scheduled_functions"> | undefined, "optional">;
10281
+ }, "required", "kind" | "reason" | "cleanupFnId">], "required", "kind" | "reason" | "lastHeartbeat" | "timeoutFnId" | "endedAt" | "cleanupFnId">;
10282
+ }, "required", "userId" | "order" | "threadId" | "stepOrder" | "agentName" | "model" | "provider" | "providerOptions" | `providerOptions.${string}` | "format" | "fileRefs" | "state" | "state.kind" | "state.reason" | "state.lastHeartbeat" | "state.timeoutFnId" | "state.endedAt" | "state.cleanupFnId">, {
10232
10283
  threadId_state_order_stepOrder: ["threadId", "state.kind", "order", "stepOrder", "_creationTime"];
10233
10284
  }, {}, {}>;
10234
10285
  streamDeltas: import("convex/server").TableDefinition<import("convex/values").VObject<{
@@ -10279,6 +10330,7 @@ export declare const vv: Omit<{
10279
10330
  }, "required", "mediaType" | "mimeType" | "filename" | "storageId" | "hash" | "refcount" | "lastTouchedAt">, {
10280
10331
  hash: ["hash", "_creationTime"];
10281
10332
  refcount: ["refcount", "_creationTime"];
10333
+ refcount_lastTouchedAt: ["refcount", "lastTouchedAt", "_creationTime"];
10282
10334
  }, {}, {}>;
10283
10335
  }[TableName]["validator"], {
10284
10336
  _id: import("convex/values").VId<import("convex/values").GenericId<TableName>, "required">;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAqFf;;;;WAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA8CH,2CAA2C;;;;;;;;;;QAgB7C,CAAC;AAEH,eAAO,MAAM,EAAE;;;;;;;;;;;;;oRAIw+E,CAAC,mWAA0N,eAAe;;mFAA8lD,GAAG,gDAAwB,WAAW,2BAA0B,WAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAxEv4I;;;;eAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA8CH,2CAA2C;;;;;;;;;;;;;;CAkBf,CAAC;AACjC,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;AAEnB,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAqFf,0EAA0E;;;;;;;;;;;QAS1E;;;;WAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAkDH,2CAA2C;;;;;;;;;;;QAiB7C,CAAC;AAEH,eAAO,MAAM,EAAE;;;;;;;;;;;;;oRAI2mE,CAAC,mWAA0N,eAAe;;mFAA8lD,GAAG,gDAAwB,WAAW,2BAA0B,WAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAtF1gI,0EAA0E;;;;;;;;;;;YAS1E;;;;eAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAkDH,2CAA2C;;;;;;;;;;;;;;;CAmBf,CAAC;AACjC,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;AAEnB,eAAe,MAAM,CAAC"}
@@ -81,6 +81,11 @@ export const schema = defineSchema({
81
81
  format: v.optional(v.union(v.literal("UIMessageChunk"), v.literal("TextStreamPart"))),
82
82
  threadId: v.id("threads"),
83
83
  order: v.number(),
84
+ /** Internal ownership sidecar for files materialized in stream deltas. */
85
+ fileRefs: v.optional(v.array(v.object({
86
+ url: v.string(),
87
+ fileId: v.id("files"),
88
+ }))),
84
89
  /**
85
90
  * The step order of the first message in the stream.
86
91
  * If the stream ends up with both a tool call and a tool result,
@@ -95,7 +100,11 @@ export const schema = defineSchema({
95
100
  kind: v.literal("finished"),
96
101
  endedAt: v.number(),
97
102
  cleanupFnId: v.optional(v.id("_scheduled_functions")),
98
- }), v.object({ kind: v.literal("aborted"), reason: v.string() })),
103
+ }), v.object({
104
+ kind: v.literal("aborted"),
105
+ reason: v.string(),
106
+ cleanupFnId: v.optional(v.id("_scheduled_functions")),
107
+ })),
99
108
  })
100
109
  // There should only be one per "order" index
101
110
  // If another exists, it's deleted and replaced
@@ -132,7 +141,8 @@ export const schema = defineSchema({
132
141
  lastTouchedAt: v.number(),
133
142
  })
134
143
  .index("hash", ["hash"])
135
- .index("refcount", ["refcount"]),
144
+ .index("refcount", ["refcount"])
145
+ .index("refcount_lastTouchedAt", ["refcount", "lastTouchedAt"]),
136
146
  ...vectorTables,
137
147
  // To authenticate playground usage
138
148
  // Delete a key to invalidate it
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,10 @@ import type { Doc, Id } from "./_generated/dataModel.js";
3
3
  import { type MutationCtx } from "./_generated/server.js";
4
4
  import type { WithoutSystemFields } from "convex/server";
5
5
  export declare const addDelta: import("convex/server").RegisteredMutation<"public", {
6
+ fileRefs?: {
7
+ url: string;
8
+ fileId: import("convex/values").GenericId<"files">;
9
+ }[] | undefined;
6
10
  streamId: import("convex/values").GenericId<"streamingMessages">;
7
11
  start: number;
8
12
  end: number;
@@ -69,8 +73,12 @@ export declare const heartbeat: import("convex/server").RegisteredMutation<"publ
69
73
  streamId: Id<"streamingMessages">;
70
74
  }, Promise<void>>;
71
75
  export declare const timeoutStream: import("convex/server").RegisteredMutation<"internal", {
72
- streamId: import("convex/values").GenericId<"streamingMessages">;
76
+ streamId: Id<"streamingMessages">;
73
77
  }, Promise<void>>;
78
+ export declare function timeoutStreamHandler(ctx: MutationCtx, args: {
79
+ streamId: Id<"streamingMessages">;
80
+ }): Promise<void>;
81
+ export declare function releaseStreamFileOwnershipByIds(ctx: MutationCtx, streamIds: Id<"streamingMessages">[]): Promise<void>;
74
82
  export declare function deleteStreamsPageForThreadId(ctx: MutationCtx, args: {
75
83
  threadId: Id<"threads">;
76
84
  streamOrder?: number;
@@ -130,5 +138,6 @@ export declare function getStreamingMessagesWithMetadata(ctx: MutationCtx, { thr
130
138
  streamId: Id<"streamingMessages">;
131
139
  reason: string;
132
140
  }>;
141
+ streamsToRelease: Id<"streamingMessages">[];
133
142
  }>;
134
143
  //# sourceMappingURL=streams.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"streams.d.ts","sourceRoot":"","sources":["../../src/component/streams.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,2BAA2B,EAKjC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAGL,KAAK,WAAW,EAGjB,MAAM,wBAAwB,CAAC;AAKhC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAgBzD,eAAO,MAAM,QAAQ;;;;;oBAgBnB,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;KAgCrB,CAAC;AAEH,eAAO,MAAM,MAAM;;;;;;;;;;mEAoBjB,CAAC;AAEH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;KAkCf,CAAC;AAmBH,eAAO,MAAM,YAAY;;;;oBAkBvB,CAAC;AAEH,eAAO,MAAM,KAAK;cAaJ,EAAE,CAAC,mBAAmB,CAAC;YACzB,MAAM;iBACD,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBAPvD,CAAC;AA2CH,eAAO,MAAM,MAAM;cAYL,EAAE,CAAC,mBAAmB,CAAC;iBACpB,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;iBANvD,CAAC;AAEH,wBAAsB,aAAa,CACjC,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE;IACJ,QAAQ,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAClC,UAAU,CAAC,EAAE,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;CACvD,iBAwBF;AAID,eAAO,MAAM,SAAS;cAQF,EAAE,CAAC,mBAAmB,CAAC;iBAJzC,CAAC;AA0CH,eAAO,MAAM,aAAa;;iBAaxB,CAAC;AAmCH,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;;;;;;;;GAiC9E;AAED,eAAO,MAAM,oCAAoC;cAnC7B,EAAE,CAAC,SAAS,CAAC;kBAAgB,MAAM;kBAAgB,MAAM;;;;;;;;;GA+C3E,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;YAejC,OAAO;kBACD,MAAM;kBACN,MAAM;GAkBtB,CAAC;AAEH,eAAO,MAAM,gBAAgB;;iBAY3B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;iBAY5B,CAAC;AAEH,eAAO,MAAM,+BAA+B;;iBAmB1C,CAAC;AAEH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,EACvB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAgBrC;AAED,wBAAsB,gCAAgC,CACpD,GAAG,EAAE,WAAW,EAChB,EACE,QAAQ,EACR,KAAK,EACL,SAAS,GACV,EAAE;IAAE,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAChE,QAAQ,EAAE;IAAE,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACzD,OAAO,CAAC;IACT,QAAQ,EAAE,2BAA2B,EAAE,CAAC;IACxC,uBAAuB,EAAE,KAAK,CAAC;QAC7B,QAAQ,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC;QAClC,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACJ,CAAC,CA8CD"}
1
+ {"version":3,"file":"streams.d.ts","sourceRoot":"","sources":["../../src/component/streams.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,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
10
  import { getPersistedUIMessageChunkParts, projectPersistedUIMessageChunks, } from "../streaming/materializePersistedUIMessageChunks.js";
11
+ import { changeRefcount } from "./files.js";
11
12
  const SECOND = 1000;
12
13
  const MINUTE = 60 * SECOND;
13
14
  const MAX_DELTAS_PER_REQUEST = 1000;
@@ -15,8 +16,15 @@ const MAX_DELTAS_PER_STREAM = 100;
15
16
  const TIMEOUT_INTERVAL = 10 * MINUTE;
16
17
  const DELETE_STREAM_DELAY = MINUTE * 5; // 5 minutes
17
18
  const deltaValidator = schema.tables.streamDeltas.validator;
19
+ const streamFileRefValidator = v.object({
20
+ url: v.string(),
21
+ fileId: v.id("files"),
22
+ });
18
23
  export const addDelta = mutation({
19
- args: deltaValidator,
24
+ args: {
25
+ ...deltaValidator.fields,
26
+ fileRefs: v.optional(v.array(streamFileRefValidator)),
27
+ },
20
28
  returns: v.boolean(),
21
29
  handler: async (ctx, args) => {
22
30
  const stream = await ctx.db.get("streamingMessages", args.streamId);
@@ -27,7 +35,26 @@ export const addDelta = mutation({
27
35
  if (stream.state.kind !== "streaming") {
28
36
  return false;
29
37
  }
30
- await ctx.db.insert("streamDeltas", args);
38
+ const { fileRefs, ...delta } = args;
39
+ if (fileRefs?.length) {
40
+ const previous = stream.fileRefs ?? [];
41
+ // The persisted chunks refer to files by URL. Several URLs can still
42
+ // resolve to one durable file, but a URL must resolve to exactly one.
43
+ const refsByUrl = new Map(previous.map((ref) => [ref.url, ref]));
44
+ for (const ref of fileRefs) {
45
+ const existing = refsByUrl.get(ref.url);
46
+ if (existing && existing.fileId !== ref.fileId) {
47
+ throw new Error(`Stream file URL maps to multiple files: ${ref.url}`);
48
+ }
49
+ refsByUrl.set(ref.url, ref);
50
+ }
51
+ const next = [...refsByUrl.values()];
52
+ await changeRefcount(ctx, previous.map(({ fileId }) => fileId), next.map(({ fileId }) => fileId));
53
+ await ctx.db.patch("streamingMessages", args.streamId, {
54
+ fileRefs: next,
55
+ });
56
+ }
57
+ await ctx.db.insert("streamDeltas", delta);
31
58
  await heartbeatStream(ctx, { streamId: args.streamId });
32
59
  return true;
33
60
  },
@@ -56,7 +83,10 @@ export const listDeltas = query({
56
83
  },
57
84
  });
58
85
  export const create = mutation({
59
- args: omit(schema.tables.streamingMessages.validator.fields, ["state"]),
86
+ args: omit(schema.tables.streamingMessages.validator.fields, [
87
+ "state",
88
+ "fileRefs",
89
+ ]),
60
90
  returns: v.id("streamingMessages"),
61
91
  handler: async (ctx, args) => {
62
92
  const state = { kind: "streaming", lastHeartbeat: Date.now() };
@@ -145,8 +175,9 @@ async function abortById(ctx, args) {
145
175
  return false;
146
176
  }
147
177
  await cleanupTimeoutFn(ctx, stream);
178
+ const cleanupFnId = await scheduleStreamDeletion(ctx, args.streamId);
148
179
  await ctx.db.patch("streamingMessages", args.streamId, {
149
- state: { kind: "aborted", reason: args.reason },
180
+ state: { kind: "aborted", reason: args.reason, cleanupFnId },
150
181
  });
151
182
  return true;
152
183
  }
@@ -180,7 +211,7 @@ export async function finishHandler(ctx, args) {
180
211
  return;
181
212
  }
182
213
  await cleanupTimeoutFn(ctx, stream);
183
- const cleanupFnId = await ctx.scheduler.runAfter(DELETE_STREAM_DELAY, api.streams.deleteStreamAsync, { streamId: args.streamId });
214
+ const cleanupFnId = await scheduleStreamDeletion(ctx, args.streamId);
184
215
  await ctx.db.patch("streamingMessages", args.streamId, {
185
216
  state: { kind: "finished", endedAt: Date.now(), cleanupFnId },
186
217
  });
@@ -192,6 +223,14 @@ export const heartbeat = mutation({
192
223
  returns: v.null(),
193
224
  handler: heartbeatStream,
194
225
  });
226
+ async function releaseStreamFileOwnership(ctx, stream) {
227
+ if (!stream.fileRefs?.length)
228
+ return;
229
+ await changeRefcount(ctx, stream.fileRefs.map(({ fileId }) => fileId), []);
230
+ }
231
+ async function scheduleStreamDeletion(ctx, streamId) {
232
+ return ctx.scheduler.runAfter(DELETE_STREAM_DELAY, api.streams.deleteStreamAsync, { streamId });
233
+ }
195
234
  async function heartbeatStream(ctx, args) {
196
235
  const stream = await ctx.db.get("streamingMessages", args.streamId);
197
236
  if (!stream) {
@@ -224,17 +263,19 @@ async function heartbeatStream(ctx, args) {
224
263
  export const timeoutStream = internalMutation({
225
264
  args: { streamId: v.id("streamingMessages") },
226
265
  returns: v.null(),
227
- handler: async (ctx, args) => {
228
- const stream = await ctx.db.get("streamingMessages", args.streamId);
229
- if (!stream || stream.state.kind !== "streaming") {
230
- console.warn("Stream not found", args.streamId);
231
- return;
232
- }
233
- await ctx.db.patch("streamingMessages", args.streamId, {
234
- state: { kind: "aborted", reason: "timeout" },
235
- });
236
- },
266
+ handler: timeoutStreamHandler,
237
267
  });
268
+ export async function timeoutStreamHandler(ctx, args) {
269
+ const stream = await ctx.db.get("streamingMessages", args.streamId);
270
+ if (!stream || stream.state.kind !== "streaming") {
271
+ console.warn("Stream not found", args.streamId);
272
+ return;
273
+ }
274
+ const cleanupFnId = await scheduleStreamDeletion(ctx, args.streamId);
275
+ await ctx.db.patch("streamingMessages", args.streamId, {
276
+ state: { kind: "aborted", reason: "timeout", cleanupFnId },
277
+ });
278
+ }
238
279
  async function deletePageForStreamId(ctx, args) {
239
280
  const deltas = await paginator(ctx.db, schema)
240
281
  .query("streamDeltas")
@@ -247,8 +288,10 @@ async function deletePageForStreamId(ctx, args) {
247
288
  if (deltas.isDone) {
248
289
  const stream = await ctx.db.get("streamingMessages", args.streamId);
249
290
  if (stream) {
291
+ await releaseStreamFileOwnership(ctx, stream);
250
292
  await cleanupTimeoutFn(ctx, stream);
251
- if (stream.state.kind === "finished" && stream.state.cleanupFnId) {
293
+ if ((stream.state.kind === "finished" || stream.state.kind === "aborted") &&
294
+ stream.state.cleanupFnId) {
252
295
  const scheduledFunction = await ctx.db.system.get("_scheduled_functions", stream.state.cleanupFnId);
253
296
  if (scheduledFunction?.state.kind === "pending") {
254
297
  await ctx.scheduler.cancel(stream.state.cleanupFnId);
@@ -259,6 +302,15 @@ async function deletePageForStreamId(ctx, args) {
259
302
  }
260
303
  return deltas;
261
304
  }
305
+ export async function releaseStreamFileOwnershipByIds(ctx, streamIds) {
306
+ for (const streamId of new Set(streamIds)) {
307
+ const stream = await ctx.db.get("streamingMessages", streamId);
308
+ if (!stream?.fileRefs?.length)
309
+ continue;
310
+ await releaseStreamFileOwnership(ctx, stream);
311
+ await ctx.db.patch("streamingMessages", streamId, { fileRefs: undefined });
312
+ }
313
+ }
262
314
  export async function deleteStreamsPageForThreadId(ctx, args) {
263
315
  const allStreamMessages = schema.tables.streamingMessages.validator.fields.state.members
264
316
  .flatMap((state) => state.fields.kind.value)
@@ -390,8 +442,9 @@ export async function getStreamingMessagesWithMetadata(ctx, { threadId, order, s
390
442
  // We don't save messages that have already been saved
391
443
  const numToSkip = stepOrder - streamingMessage.stepOrder;
392
444
  return {
393
- messages: projectPersistedUIMessageChunks(streamMessage, parts, metadata).slice(numToSkip),
445
+ messages: projectPersistedUIMessageChunks(streamMessage, parts, metadata, streamingMessage.fileRefs).slice(numToSkip),
394
446
  failure: undefined,
447
+ streamToRelease: streamingMessage._id,
395
448
  };
396
449
  }
397
450
  catch (error) {
@@ -401,12 +454,14 @@ export async function getStreamingMessagesWithMetadata(ctx, { threadId, order, s
401
454
  streamId: streamingMessage._id,
402
455
  reason: error instanceof Error ? error.message : String(error),
403
456
  },
457
+ streamToRelease: undefined,
404
458
  };
405
459
  }
406
460
  }));
407
461
  return {
408
462
  messages: materializedStreams.flatMap(({ messages }) => messages),
409
463
  materializationFailures: materializedStreams.flatMap(({ failure }) => failure ? [failure] : []),
464
+ streamsToRelease: materializedStreams.flatMap(({ streamToRelease }) => streamToRelease ? [streamToRelease] : []),
410
465
  };
411
466
  }
412
467
  //# sourceMappingURL=streams.js.map