@ai-sdk/llamaindex 3.0.0-beta.9 → 3.0.0-beta.90

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,554 @@
1
1
  # @ai-sdk/llamaindex
2
2
 
3
+ ## 3.0.0-beta.90
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [1db29c8]
8
+ - ai@7.0.0-beta.90
9
+
10
+ ## 3.0.0-beta.89
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies [ff5eba1]
15
+ - ai@7.0.0-beta.89
16
+
17
+ ## 3.0.0-beta.88
18
+
19
+ ### Major Changes
20
+
21
+ - ef992f8: Remove CommonJS exports from all packages. All packages are now ESM-only (`"type": "module"`). Consumers using `require()` must switch to ESM `import` syntax.
22
+
23
+ ### Patch Changes
24
+
25
+ - Updated dependencies [ef992f8]
26
+ - ai@7.0.0-beta.88
27
+
28
+ ## 3.0.0-beta.87
29
+
30
+ ### Patch Changes
31
+
32
+ - ai@7.0.0-beta.87
33
+
34
+ ## 3.0.0-beta.86
35
+
36
+ ### Patch Changes
37
+
38
+ - Updated dependencies [5a6f514]
39
+ - ai@7.0.0-beta.86
40
+
41
+ ## 3.0.0-beta.85
42
+
43
+ ### Patch Changes
44
+
45
+ - Updated dependencies [57bf606]
46
+ - ai@7.0.0-beta.85
47
+
48
+ ## 3.0.0-beta.84
49
+
50
+ ### Patch Changes
51
+
52
+ - Updated dependencies [90e2d8a]
53
+ - ai@7.0.0-beta.84
54
+
55
+ ## 3.0.0-beta.83
56
+
57
+ ### Patch Changes
58
+
59
+ - ai@7.0.0-beta.83
60
+
61
+ ## 3.0.0-beta.82
62
+
63
+ ### Patch Changes
64
+
65
+ - Updated dependencies [e27ed76]
66
+ - ai@7.0.0-beta.82
67
+
68
+ ## 3.0.0-beta.81
69
+
70
+ ### Patch Changes
71
+
72
+ - Updated dependencies [2fe1099]
73
+ - Updated dependencies [f04adcb]
74
+ - ai@7.0.0-beta.81
75
+
76
+ ## 3.0.0-beta.80
77
+
78
+ ### Patch Changes
79
+
80
+ - Updated dependencies [3ae1786]
81
+ - ai@7.0.0-beta.80
82
+
83
+ ## 3.0.0-beta.79
84
+
85
+ ### Patch Changes
86
+
87
+ - Updated dependencies [6866afe]
88
+ - ai@7.0.0-beta.79
89
+
90
+ ## 3.0.0-beta.78
91
+
92
+ ### Patch Changes
93
+
94
+ - Updated dependencies [f372547]
95
+ - ai@7.0.0-beta.78
96
+
97
+ ## 3.0.0-beta.77
98
+
99
+ ### Patch Changes
100
+
101
+ - Updated dependencies [2add429]
102
+ - ai@7.0.0-beta.77
103
+
104
+ ## 3.0.0-beta.76
105
+
106
+ ### Patch Changes
107
+
108
+ - Updated dependencies [fcc6869]
109
+ - ai@7.0.0-beta.76
110
+
111
+ ## 3.0.0-beta.75
112
+
113
+ ### Patch Changes
114
+
115
+ - Updated dependencies [176466a]
116
+ - ai@7.0.0-beta.75
117
+
118
+ ## 3.0.0-beta.74
119
+
120
+ ### Patch Changes
121
+
122
+ - Updated dependencies [e311194]
123
+ - ai@7.0.0-beta.74
124
+
125
+ ## 3.0.0-beta.73
126
+
127
+ ### Patch Changes
128
+
129
+ - ai@7.0.0-beta.73
130
+
131
+ ## 3.0.0-beta.72
132
+
133
+ ### Patch Changes
134
+
135
+ - Updated dependencies [664a0eb]
136
+ - ai@7.0.0-beta.72
137
+
138
+ ## 3.0.0-beta.71
139
+
140
+ ### Patch Changes
141
+
142
+ - Updated dependencies [e68be55]
143
+ - ai@7.0.0-beta.71
144
+
145
+ ## 3.0.0-beta.70
146
+
147
+ ### Patch Changes
148
+
149
+ - ai@7.0.0-beta.70
150
+
151
+ ## 3.0.0-beta.69
152
+
153
+ ### Patch Changes
154
+
155
+ - Updated dependencies [34bd95d]
156
+ - Updated dependencies [008271d]
157
+ - Updated dependencies [72223e7]
158
+ - ai@7.0.0-beta.69
159
+
160
+ ## 3.0.0-beta.68
161
+
162
+ ### Patch Changes
163
+
164
+ - Updated dependencies [b0c2869]
165
+ - Updated dependencies [7e26e81]
166
+ - ai@7.0.0-beta.68
167
+
168
+ ## 3.0.0-beta.67
169
+
170
+ ### Patch Changes
171
+
172
+ - Updated dependencies [d1a8bed]
173
+ - ai@7.0.0-beta.67
174
+
175
+ ## 3.0.0-beta.66
176
+
177
+ ### Patch Changes
178
+
179
+ - ai@7.0.0-beta.66
180
+
181
+ ## 3.0.0-beta.65
182
+
183
+ ### Patch Changes
184
+
185
+ - ai@7.0.0-beta.65
186
+
187
+ ## 3.0.0-beta.64
188
+
189
+ ### Patch Changes
190
+
191
+ - ai@7.0.0-beta.64
192
+
193
+ ## 3.0.0-beta.63
194
+
195
+ ### Patch Changes
196
+
197
+ - Updated dependencies [6fd51c0]
198
+ - ai@7.0.0-beta.63
199
+
200
+ ## 3.0.0-beta.62
201
+
202
+ ### Patch Changes
203
+
204
+ - ai@7.0.0-beta.62
205
+
206
+ ## 3.0.0-beta.61
207
+
208
+ ### Patch Changes
209
+
210
+ - Updated dependencies [c29a26f]
211
+ - ai@7.0.0-beta.61
212
+
213
+ ## 3.0.0-beta.60
214
+
215
+ ### Patch Changes
216
+
217
+ - Updated dependencies [38fc777]
218
+ - ai@7.0.0-beta.60
219
+
220
+ ## 3.0.0-beta.59
221
+
222
+ ### Patch Changes
223
+
224
+ - ai@7.0.0-beta.59
225
+
226
+ ## 3.0.0-beta.58
227
+
228
+ ### Patch Changes
229
+
230
+ - Updated dependencies [2e17091]
231
+ - ai@7.0.0-beta.58
232
+
233
+ ## 3.0.0-beta.57
234
+
235
+ ### Patch Changes
236
+
237
+ - Updated dependencies [986c6fd]
238
+ - Updated dependencies [493295c]
239
+ - ai@7.0.0-beta.57
240
+
241
+ ## 3.0.0-beta.56
242
+
243
+ ### Patch Changes
244
+
245
+ - ai@7.0.0-beta.56
246
+
247
+ ## 3.0.0-beta.55
248
+
249
+ ### Patch Changes
250
+
251
+ - Updated dependencies [b3c9f6a]
252
+ - ai@7.0.0-beta.55
253
+
254
+ ## 3.0.0-beta.54
255
+
256
+ ### Patch Changes
257
+
258
+ - Updated dependencies [5d0f18e]
259
+ - ai@7.0.0-beta.54
260
+
261
+ ## 3.0.0-beta.53
262
+
263
+ ### Patch Changes
264
+
265
+ - Updated dependencies [9b47dea]
266
+ - ai@7.0.0-beta.53
267
+
268
+ ## 3.0.0-beta.52
269
+
270
+ ### Patch Changes
271
+
272
+ - Updated dependencies [b56301c]
273
+ - ai@7.0.0-beta.52
274
+
275
+ ## 3.0.0-beta.51
276
+
277
+ ### Patch Changes
278
+
279
+ - Updated dependencies [6abd098]
280
+ - ai@7.0.0-beta.51
281
+
282
+ ## 3.0.0-beta.50
283
+
284
+ ### Patch Changes
285
+
286
+ - Updated dependencies [3debdb7]
287
+ - ai@7.0.0-beta.50
288
+
289
+ ## 3.0.0-beta.49
290
+
291
+ ### Patch Changes
292
+
293
+ - ai@7.0.0-beta.49
294
+
295
+ ## 3.0.0-beta.48
296
+
297
+ ### Patch Changes
298
+
299
+ - Updated dependencies [5c4d910]
300
+ - ai@7.0.0-beta.48
301
+
302
+ ## 3.0.0-beta.47
303
+
304
+ ### Patch Changes
305
+
306
+ - Updated dependencies [bc67b4f]
307
+ - ai@7.0.0-beta.47
308
+
309
+ ## 3.0.0-beta.46
310
+
311
+ ### Patch Changes
312
+
313
+ - Updated dependencies [31ee822]
314
+ - ai@7.0.0-beta.46
315
+
316
+ ## 3.0.0-beta.45
317
+
318
+ ### Patch Changes
319
+
320
+ - ai@7.0.0-beta.45
321
+
322
+ ## 3.0.0-beta.44
323
+
324
+ ### Patch Changes
325
+
326
+ - ai@7.0.0-beta.44
327
+
328
+ ## 3.0.0-beta.43
329
+
330
+ ### Patch Changes
331
+
332
+ - ai@7.0.0-beta.43
333
+
334
+ ## 3.0.0-beta.42
335
+
336
+ ### Patch Changes
337
+
338
+ - Updated dependencies [a3fd75b]
339
+ - ai@7.0.0-beta.42
340
+
341
+ ## 3.0.0-beta.41
342
+
343
+ ### Patch Changes
344
+
345
+ - ai@7.0.0-beta.41
346
+
347
+ ## 3.0.0-beta.40
348
+
349
+ ### Patch Changes
350
+
351
+ - Updated dependencies [989d3d2]
352
+ - ai@7.0.0-beta.40
353
+
354
+ ## 3.0.0-beta.39
355
+
356
+ ### Patch Changes
357
+
358
+ - Updated dependencies [f4cfccd]
359
+ - ai@7.0.0-beta.39
360
+
361
+ ## 3.0.0-beta.38
362
+
363
+ ### Patch Changes
364
+
365
+ - Updated dependencies [1f509d4]
366
+ - ai@7.0.0-beta.38
367
+
368
+ ## 3.0.0-beta.37
369
+
370
+ ### Patch Changes
371
+
372
+ - ai@7.0.0-beta.37
373
+
374
+ ## 3.0.0-beta.36
375
+
376
+ ### Patch Changes
377
+
378
+ - Updated dependencies [118b953]
379
+ - ai@7.0.0-beta.36
380
+
381
+ ## 3.0.0-beta.35
382
+
383
+ ### Patch Changes
384
+
385
+ - Updated dependencies [99bf941]
386
+ - ai@7.0.0-beta.35
387
+
388
+ ## 3.0.0-beta.34
389
+
390
+ ### Patch Changes
391
+
392
+ - ai@7.0.0-beta.34
393
+
394
+ ## 3.0.0-beta.33
395
+
396
+ ### Patch Changes
397
+
398
+ - Updated dependencies [caf1b6f]
399
+ - ai@7.0.0-beta.33
400
+
401
+ ## 3.0.0-beta.32
402
+
403
+ ### Patch Changes
404
+
405
+ - Updated dependencies [4b46062]
406
+ - ai@7.0.0-beta.32
407
+
408
+ ## 3.0.0-beta.31
409
+
410
+ ### Patch Changes
411
+
412
+ - Updated dependencies [e79e644]
413
+ - ai@7.0.0-beta.31
414
+
415
+ ## 3.0.0-beta.30
416
+
417
+ ### Patch Changes
418
+
419
+ - Updated dependencies [f5a6f89]
420
+ - ai@7.0.0-beta.30
421
+
422
+ ## 3.0.0-beta.29
423
+
424
+ ### Patch Changes
425
+
426
+ - Updated dependencies [877bf12]
427
+ - ai@7.0.0-beta.29
428
+
429
+ ## 3.0.0-beta.28
430
+
431
+ ### Patch Changes
432
+
433
+ - Updated dependencies [b9cf502]
434
+ - ai@7.0.0-beta.28
435
+
436
+ ## 3.0.0-beta.27
437
+
438
+ ### Patch Changes
439
+
440
+ - Updated dependencies [3887c70]
441
+ - ai@7.0.0-beta.27
442
+
443
+ ## 3.0.0-beta.26
444
+
445
+ ### Patch Changes
446
+
447
+ - Updated dependencies [f0b0b20]
448
+ - ai@7.0.0-beta.26
449
+
450
+ ## 3.0.0-beta.25
451
+
452
+ ### Patch Changes
453
+
454
+ - Updated dependencies [ff9ce30]
455
+ - ai@7.0.0-beta.25
456
+
457
+ ## 3.0.0-beta.24
458
+
459
+ ### Patch Changes
460
+
461
+ - Updated dependencies [776b617]
462
+ - ai@7.0.0-beta.24
463
+
464
+ ## 3.0.0-beta.23
465
+
466
+ ### Patch Changes
467
+
468
+ - Updated dependencies [80d4dde]
469
+ - ai@7.0.0-beta.23
470
+
471
+ ## 3.0.0-beta.22
472
+
473
+ ### Patch Changes
474
+
475
+ - ai@7.0.0-beta.22
476
+
477
+ ## 3.0.0-beta.21
478
+
479
+ ### Patch Changes
480
+
481
+ - Updated dependencies [34fd051]
482
+ - ai@7.0.0-beta.21
483
+
484
+ ## 3.0.0-beta.20
485
+
486
+ ### Patch Changes
487
+
488
+ - ai@7.0.0-beta.20
489
+
490
+ ## 3.0.0-beta.19
491
+
492
+ ### Patch Changes
493
+
494
+ - ai@7.0.0-beta.19
495
+
496
+ ## 3.0.0-beta.18
497
+
498
+ ### Patch Changes
499
+
500
+ - ai@7.0.0-beta.18
501
+
502
+ ## 3.0.0-beta.17
503
+
504
+ ### Patch Changes
505
+
506
+ - ai@7.0.0-beta.17
507
+
508
+ ## 3.0.0-beta.16
509
+
510
+ ### Patch Changes
511
+
512
+ - Updated dependencies [5b8c58f]
513
+ - ai@7.0.0-beta.16
514
+
515
+ ## 3.0.0-beta.15
516
+
517
+ ### Patch Changes
518
+
519
+ - ai@7.0.0-beta.15
520
+
521
+ ## 3.0.0-beta.14
522
+
523
+ ### Patch Changes
524
+
525
+ - ai@7.0.0-beta.14
526
+
527
+ ## 3.0.0-beta.13
528
+
529
+ ### Patch Changes
530
+
531
+ - Updated dependencies [c26ca8d]
532
+ - ai@7.0.0-beta.13
533
+
534
+ ## 3.0.0-beta.12
535
+
536
+ ### Patch Changes
537
+
538
+ - ai@7.0.0-beta.12
539
+
540
+ ## 3.0.0-beta.11
541
+
542
+ ### Patch Changes
543
+
544
+ - ai@7.0.0-beta.11
545
+
546
+ ## 3.0.0-beta.10
547
+
548
+ ### Patch Changes
549
+
550
+ - ai@7.0.0-beta.10
551
+
3
552
  ## 3.0.0-beta.9
4
553
 
5
554
  ### Patch Changes
package/dist/index.js CHANGED
@@ -1,31 +1,5 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/index.ts
21
- var src_exports = {};
22
- __export(src_exports, {
23
- toUIMessageStream: () => toUIMessageStream
24
- });
25
- module.exports = __toCommonJS(src_exports);
26
-
27
1
  // src/llamaindex-adapter.ts
28
- var import_internal = require("ai/internal");
2
+ import { convertAsyncIteratorToReadableStream } from "ai/internal";
29
3
 
30
4
  // src/stream-callbacks.ts
31
5
  function createCallbacksTransformer(callbacks = {}) {
@@ -53,7 +27,7 @@ function createCallbacksTransformer(callbacks = {}) {
53
27
  // src/llamaindex-adapter.ts
54
28
  function toUIMessageStream(stream, callbacks) {
55
29
  const trimStart = trimStartOfStream();
56
- return (0, import_internal.convertAsyncIteratorToReadableStream)(stream[Symbol.asyncIterator]()).pipeThrough(
30
+ return convertAsyncIteratorToReadableStream(stream[Symbol.asyncIterator]()).pipeThrough(
57
31
  new TransformStream({
58
32
  async transform(message, controller) {
59
33
  controller.enqueue(trimStart(message.delta));
@@ -83,8 +57,7 @@ function trimStartOfStream() {
83
57
  return text;
84
58
  };
85
59
  }
86
- // Annotate the CommonJS export names for ESM import in node:
87
- 0 && (module.exports = {
60
+ export {
88
61
  toUIMessageStream
89
- });
62
+ };
90
63
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/llamaindex-adapter.ts","../src/stream-callbacks.ts"],"sourcesContent":["export * from './llamaindex-adapter';\n","import { UIMessageChunk } from 'ai';\nimport { convertAsyncIteratorToReadableStream } from 'ai/internal';\nimport {\n createCallbacksTransformer,\n StreamCallbacks,\n} from './stream-callbacks';\n\ntype EngineResponse = {\n delta: string;\n};\n\nexport function toUIMessageStream(\n stream: AsyncIterable<EngineResponse>,\n callbacks?: StreamCallbacks,\n) {\n const trimStart = trimStartOfStream();\n\n return convertAsyncIteratorToReadableStream(stream[Symbol.asyncIterator]())\n .pipeThrough(\n new TransformStream({\n async transform(message, controller): Promise<void> {\n controller.enqueue(trimStart(message.delta));\n },\n }),\n )\n .pipeThrough(createCallbacksTransformer(callbacks))\n .pipeThrough(\n new TransformStream<string, UIMessageChunk>({\n start: async controller => {\n controller.enqueue({ type: 'text-start', id: '1' });\n },\n transform: async (chunk, controller) => {\n controller.enqueue({ type: 'text-delta', delta: chunk, id: '1' });\n },\n flush: async controller => {\n controller.enqueue({ type: 'text-end', id: '1' });\n },\n }),\n );\n}\n\nfunction trimStartOfStream(): (text: string) => string {\n let isStreamStart = true;\n\n return (text: string): string => {\n if (isStreamStart) {\n text = text.trimStart();\n if (text) isStreamStart = false;\n }\n return text;\n };\n}\n","/**\n * Configuration options and helper callback methods for stream lifecycle events.\n */\nexport interface StreamCallbacks {\n /** `onStart`: Called once when the stream is initialized. */\n onStart?: () => Promise<void> | void;\n\n /** `onFinal`: Called once when the stream is closed with the final completion message. */\n onFinal?: (completion: string) => Promise<void> | void;\n\n /** `onToken`: Called for each tokenized message. */\n onToken?: (token: string) => Promise<void> | void;\n\n /** `onText`: Called for each text chunk. */\n onText?: (text: string) => Promise<void> | void;\n}\n\n/**\n * Creates a transform stream that encodes input messages and invokes optional callback functions.\n * The transform stream uses the provided callbacks to execute custom logic at different stages of the stream's lifecycle.\n * - `onStart`: Called once when the stream is initialized.\n * - `onToken`: Called for each tokenized message.\n * - `onFinal`: Called once when the stream is closed with the final completion message.\n *\n * This function is useful when you want to process a stream of messages and perform specific actions during the stream's lifecycle.\n *\n * @param {StreamCallbacks} [callbacks] - An object containing the callback functions.\n * @return {TransformStream<string, Uint8Array>} A transform stream that encodes input messages as Uint8Array and allows the execution of custom logic through callbacks.\n *\n * @example\n * const callbacks = {\n * onStart: async () => console.log('Stream started'),\n * onToken: async (token) => console.log(`Token: ${token}`),\n * onFinal: async () => data.close()\n * };\n * const transformer = createCallbacksTransformer(callbacks);\n */\nexport function createCallbacksTransformer(\n callbacks: StreamCallbacks | undefined = {},\n): TransformStream<string, string> {\n let aggregatedResponse = '';\n\n return new TransformStream({\n async start(): Promise<void> {\n if (callbacks.onStart) await callbacks.onStart();\n },\n\n async transform(message, controller): Promise<void> {\n controller.enqueue(message);\n\n aggregatedResponse += message;\n\n if (callbacks.onToken) await callbacks.onToken(message);\n if (callbacks.onText && typeof message === 'string') {\n await callbacks.onText(message);\n }\n },\n\n async flush(): Promise<void> {\n if (callbacks.onFinal) {\n await callbacks.onFinal(aggregatedResponse);\n }\n },\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,sBAAqD;;;ACoC9C,SAAS,2BACd,YAAyC,CAAC,GACT;AACjC,MAAI,qBAAqB;AAEzB,SAAO,IAAI,gBAAgB;AAAA,IACzB,MAAM,QAAuB;AAC3B,UAAI,UAAU,QAAS,OAAM,UAAU,QAAQ;AAAA,IACjD;AAAA,IAEA,MAAM,UAAU,SAAS,YAA2B;AAClD,iBAAW,QAAQ,OAAO;AAE1B,4BAAsB;AAEtB,UAAI,UAAU,QAAS,OAAM,UAAU,QAAQ,OAAO;AACtD,UAAI,UAAU,UAAU,OAAO,YAAY,UAAU;AACnD,cAAM,UAAU,OAAO,OAAO;AAAA,MAChC;AAAA,IACF;AAAA,IAEA,MAAM,QAAuB;AAC3B,UAAI,UAAU,SAAS;AACrB,cAAM,UAAU,QAAQ,kBAAkB;AAAA,MAC5C;AAAA,IACF;AAAA,EACF,CAAC;AACH;;;ADrDO,SAAS,kBACd,QACA,WACA;AACA,QAAM,YAAY,kBAAkB;AAEpC,aAAO,sDAAqC,OAAO,OAAO,aAAa,EAAE,CAAC,EACvE;AAAA,IACC,IAAI,gBAAgB;AAAA,MAClB,MAAM,UAAU,SAAS,YAA2B;AAClD,mBAAW,QAAQ,UAAU,QAAQ,KAAK,CAAC;AAAA,MAC7C;AAAA,IACF,CAAC;AAAA,EACH,EACC,YAAY,2BAA2B,SAAS,CAAC,EACjD;AAAA,IACC,IAAI,gBAAwC;AAAA,MAC1C,OAAO,OAAM,eAAc;AACzB,mBAAW,QAAQ,EAAE,MAAM,cAAc,IAAI,IAAI,CAAC;AAAA,MACpD;AAAA,MACA,WAAW,OAAO,OAAO,eAAe;AACtC,mBAAW,QAAQ,EAAE,MAAM,cAAc,OAAO,OAAO,IAAI,IAAI,CAAC;AAAA,MAClE;AAAA,MACA,OAAO,OAAM,eAAc;AACzB,mBAAW,QAAQ,EAAE,MAAM,YAAY,IAAI,IAAI,CAAC;AAAA,MAClD;AAAA,IACF,CAAC;AAAA,EACH;AACJ;AAEA,SAAS,oBAA8C;AACrD,MAAI,gBAAgB;AAEpB,SAAO,CAAC,SAAyB;AAC/B,QAAI,eAAe;AACjB,aAAO,KAAK,UAAU;AACtB,UAAI,KAAM,iBAAgB;AAAA,IAC5B;AACA,WAAO;AAAA,EACT;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/llamaindex-adapter.ts","../src/stream-callbacks.ts"],"sourcesContent":["import { UIMessageChunk } from 'ai';\nimport { convertAsyncIteratorToReadableStream } from 'ai/internal';\nimport {\n createCallbacksTransformer,\n StreamCallbacks,\n} from './stream-callbacks';\n\ntype EngineResponse = {\n delta: string;\n};\n\nexport function toUIMessageStream(\n stream: AsyncIterable<EngineResponse>,\n callbacks?: StreamCallbacks,\n) {\n const trimStart = trimStartOfStream();\n\n return convertAsyncIteratorToReadableStream(stream[Symbol.asyncIterator]())\n .pipeThrough(\n new TransformStream({\n async transform(message, controller): Promise<void> {\n controller.enqueue(trimStart(message.delta));\n },\n }),\n )\n .pipeThrough(createCallbacksTransformer(callbacks))\n .pipeThrough(\n new TransformStream<string, UIMessageChunk>({\n start: async controller => {\n controller.enqueue({ type: 'text-start', id: '1' });\n },\n transform: async (chunk, controller) => {\n controller.enqueue({ type: 'text-delta', delta: chunk, id: '1' });\n },\n flush: async controller => {\n controller.enqueue({ type: 'text-end', id: '1' });\n },\n }),\n );\n}\n\nfunction trimStartOfStream(): (text: string) => string {\n let isStreamStart = true;\n\n return (text: string): string => {\n if (isStreamStart) {\n text = text.trimStart();\n if (text) isStreamStart = false;\n }\n return text;\n };\n}\n","/**\n * Configuration options and helper callback methods for stream lifecycle events.\n */\nexport interface StreamCallbacks {\n /** `onStart`: Called once when the stream is initialized. */\n onStart?: () => Promise<void> | void;\n\n /** `onFinal`: Called once when the stream is closed with the final completion message. */\n onFinal?: (completion: string) => Promise<void> | void;\n\n /** `onToken`: Called for each tokenized message. */\n onToken?: (token: string) => Promise<void> | void;\n\n /** `onText`: Called for each text chunk. */\n onText?: (text: string) => Promise<void> | void;\n}\n\n/**\n * Creates a transform stream that encodes input messages and invokes optional callback functions.\n * The transform stream uses the provided callbacks to execute custom logic at different stages of the stream's lifecycle.\n * - `onStart`: Called once when the stream is initialized.\n * - `onToken`: Called for each tokenized message.\n * - `onFinal`: Called once when the stream is closed with the final completion message.\n *\n * This function is useful when you want to process a stream of messages and perform specific actions during the stream's lifecycle.\n *\n * @param {StreamCallbacks} [callbacks] - An object containing the callback functions.\n * @return {TransformStream<string, Uint8Array>} A transform stream that encodes input messages as Uint8Array and allows the execution of custom logic through callbacks.\n *\n * @example\n * const callbacks = {\n * onStart: async () => console.log('Stream started'),\n * onToken: async (token) => console.log(`Token: ${token}`),\n * onFinal: async () => data.close()\n * };\n * const transformer = createCallbacksTransformer(callbacks);\n */\nexport function createCallbacksTransformer(\n callbacks: StreamCallbacks | undefined = {},\n): TransformStream<string, string> {\n let aggregatedResponse = '';\n\n return new TransformStream({\n async start(): Promise<void> {\n if (callbacks.onStart) await callbacks.onStart();\n },\n\n async transform(message, controller): Promise<void> {\n controller.enqueue(message);\n\n aggregatedResponse += message;\n\n if (callbacks.onToken) await callbacks.onToken(message);\n if (callbacks.onText && typeof message === 'string') {\n await callbacks.onText(message);\n }\n },\n\n async flush(): Promise<void> {\n if (callbacks.onFinal) {\n await callbacks.onFinal(aggregatedResponse);\n }\n },\n });\n}\n"],"mappings":";AACA,SAAS,4CAA4C;;;ACoC9C,SAAS,2BACd,YAAyC,CAAC,GACT;AACjC,MAAI,qBAAqB;AAEzB,SAAO,IAAI,gBAAgB;AAAA,IACzB,MAAM,QAAuB;AAC3B,UAAI,UAAU,QAAS,OAAM,UAAU,QAAQ;AAAA,IACjD;AAAA,IAEA,MAAM,UAAU,SAAS,YAA2B;AAClD,iBAAW,QAAQ,OAAO;AAE1B,4BAAsB;AAEtB,UAAI,UAAU,QAAS,OAAM,UAAU,QAAQ,OAAO;AACtD,UAAI,UAAU,UAAU,OAAO,YAAY,UAAU;AACnD,cAAM,UAAU,OAAO,OAAO;AAAA,MAChC;AAAA,IACF;AAAA,IAEA,MAAM,QAAuB;AAC3B,UAAI,UAAU,SAAS;AACrB,cAAM,UAAU,QAAQ,kBAAkB;AAAA,MAC5C;AAAA,IACF;AAAA,EACF,CAAC;AACH;;;ADrDO,SAAS,kBACd,QACA,WACA;AACA,QAAM,YAAY,kBAAkB;AAEpC,SAAO,qCAAqC,OAAO,OAAO,aAAa,EAAE,CAAC,EACvE;AAAA,IACC,IAAI,gBAAgB;AAAA,MAClB,MAAM,UAAU,SAAS,YAA2B;AAClD,mBAAW,QAAQ,UAAU,QAAQ,KAAK,CAAC;AAAA,MAC7C;AAAA,IACF,CAAC;AAAA,EACH,EACC,YAAY,2BAA2B,SAAS,CAAC,EACjD;AAAA,IACC,IAAI,gBAAwC;AAAA,MAC1C,OAAO,OAAM,eAAc;AACzB,mBAAW,QAAQ,EAAE,MAAM,cAAc,IAAI,IAAI,CAAC;AAAA,MACpD;AAAA,MACA,WAAW,OAAO,OAAO,eAAe;AACtC,mBAAW,QAAQ,EAAE,MAAM,cAAc,OAAO,OAAO,IAAI,IAAI,CAAC;AAAA,MAClE;AAAA,MACA,OAAO,OAAM,eAAc;AACzB,mBAAW,QAAQ,EAAE,MAAM,YAAY,IAAI,IAAI,CAAC;AAAA,MAClD;AAAA,IACF,CAAC;AAAA,EACH;AACJ;AAEA,SAAS,oBAA8C;AACrD,MAAI,gBAAgB;AAEpB,SAAO,CAAC,SAAyB;AAC/B,QAAI,eAAe;AACjB,aAAO,KAAK,UAAU;AACtB,UAAI,KAAM,iBAAgB;AAAA,IAC5B;AACA,WAAO;AAAA,EACT;AACF;","names":[]}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@ai-sdk/llamaindex",
3
- "version": "3.0.0-beta.9",
3
+ "version": "3.0.0-beta.90",
4
+ "type": "module",
4
5
  "license": "Apache-2.0",
5
6
  "sideEffects": false,
6
7
  "main": "./dist/index.js",
7
- "module": "./dist/index.mjs",
8
8
  "types": "./dist/index.d.ts",
9
9
  "files": [
10
10
  "dist/**/*",
@@ -20,12 +20,12 @@
20
20
  "./package.json": "./package.json",
21
21
  ".": {
22
22
  "types": "./dist/index.d.ts",
23
- "import": "./dist/index.mjs",
24
- "require": "./dist/index.js"
23
+ "import": "./dist/index.js",
24
+ "default": "./dist/index.js"
25
25
  }
26
26
  },
27
27
  "dependencies": {
28
- "ai": "7.0.0-beta.9"
28
+ "ai": "7.0.0-beta.90"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/node": "20.17.24",
@@ -54,9 +54,7 @@
54
54
  "build": "pnpm clean && tsup --tsconfig tsconfig.build.json",
55
55
  "build:watch": "pnpm clean && tsup --watch",
56
56
  "clean": "del-cli dist *.tsbuildinfo",
57
- "lint": "eslint \"./**/*.ts*\"",
58
57
  "type-check": "tsc --build",
59
- "prettier-check": "prettier --check \"./**/*.ts*\"",
60
58
  "test": "pnpm test:node && pnpm test:edge",
61
59
  "test:update": "pnpm test:node -u",
62
60
  "test:watch": "vitest --config vitest.node.config.js",
package/dist/index.d.mts DELETED
@@ -1,22 +0,0 @@
1
- import { UIMessageChunk } from 'ai';
2
-
3
- /**
4
- * Configuration options and helper callback methods for stream lifecycle events.
5
- */
6
- interface StreamCallbacks {
7
- /** `onStart`: Called once when the stream is initialized. */
8
- onStart?: () => Promise<void> | void;
9
- /** `onFinal`: Called once when the stream is closed with the final completion message. */
10
- onFinal?: (completion: string) => Promise<void> | void;
11
- /** `onToken`: Called for each tokenized message. */
12
- onToken?: (token: string) => Promise<void> | void;
13
- /** `onText`: Called for each text chunk. */
14
- onText?: (text: string) => Promise<void> | void;
15
- }
16
-
17
- type EngineResponse = {
18
- delta: string;
19
- };
20
- declare function toUIMessageStream(stream: AsyncIterable<EngineResponse>, callbacks?: StreamCallbacks): ReadableStream<UIMessageChunk>;
21
-
22
- export { toUIMessageStream };
package/dist/index.mjs DELETED
@@ -1,63 +0,0 @@
1
- // src/llamaindex-adapter.ts
2
- import { convertAsyncIteratorToReadableStream } from "ai/internal";
3
-
4
- // src/stream-callbacks.ts
5
- function createCallbacksTransformer(callbacks = {}) {
6
- let aggregatedResponse = "";
7
- return new TransformStream({
8
- async start() {
9
- if (callbacks.onStart) await callbacks.onStart();
10
- },
11
- async transform(message, controller) {
12
- controller.enqueue(message);
13
- aggregatedResponse += message;
14
- if (callbacks.onToken) await callbacks.onToken(message);
15
- if (callbacks.onText && typeof message === "string") {
16
- await callbacks.onText(message);
17
- }
18
- },
19
- async flush() {
20
- if (callbacks.onFinal) {
21
- await callbacks.onFinal(aggregatedResponse);
22
- }
23
- }
24
- });
25
- }
26
-
27
- // src/llamaindex-adapter.ts
28
- function toUIMessageStream(stream, callbacks) {
29
- const trimStart = trimStartOfStream();
30
- return convertAsyncIteratorToReadableStream(stream[Symbol.asyncIterator]()).pipeThrough(
31
- new TransformStream({
32
- async transform(message, controller) {
33
- controller.enqueue(trimStart(message.delta));
34
- }
35
- })
36
- ).pipeThrough(createCallbacksTransformer(callbacks)).pipeThrough(
37
- new TransformStream({
38
- start: async (controller) => {
39
- controller.enqueue({ type: "text-start", id: "1" });
40
- },
41
- transform: async (chunk, controller) => {
42
- controller.enqueue({ type: "text-delta", delta: chunk, id: "1" });
43
- },
44
- flush: async (controller) => {
45
- controller.enqueue({ type: "text-end", id: "1" });
46
- }
47
- })
48
- );
49
- }
50
- function trimStartOfStream() {
51
- let isStreamStart = true;
52
- return (text) => {
53
- if (isStreamStart) {
54
- text = text.trimStart();
55
- if (text) isStreamStart = false;
56
- }
57
- return text;
58
- };
59
- }
60
- export {
61
- toUIMessageStream
62
- };
63
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/llamaindex-adapter.ts","../src/stream-callbacks.ts"],"sourcesContent":["import { UIMessageChunk } from 'ai';\nimport { convertAsyncIteratorToReadableStream } from 'ai/internal';\nimport {\n createCallbacksTransformer,\n StreamCallbacks,\n} from './stream-callbacks';\n\ntype EngineResponse = {\n delta: string;\n};\n\nexport function toUIMessageStream(\n stream: AsyncIterable<EngineResponse>,\n callbacks?: StreamCallbacks,\n) {\n const trimStart = trimStartOfStream();\n\n return convertAsyncIteratorToReadableStream(stream[Symbol.asyncIterator]())\n .pipeThrough(\n new TransformStream({\n async transform(message, controller): Promise<void> {\n controller.enqueue(trimStart(message.delta));\n },\n }),\n )\n .pipeThrough(createCallbacksTransformer(callbacks))\n .pipeThrough(\n new TransformStream<string, UIMessageChunk>({\n start: async controller => {\n controller.enqueue({ type: 'text-start', id: '1' });\n },\n transform: async (chunk, controller) => {\n controller.enqueue({ type: 'text-delta', delta: chunk, id: '1' });\n },\n flush: async controller => {\n controller.enqueue({ type: 'text-end', id: '1' });\n },\n }),\n );\n}\n\nfunction trimStartOfStream(): (text: string) => string {\n let isStreamStart = true;\n\n return (text: string): string => {\n if (isStreamStart) {\n text = text.trimStart();\n if (text) isStreamStart = false;\n }\n return text;\n };\n}\n","/**\n * Configuration options and helper callback methods for stream lifecycle events.\n */\nexport interface StreamCallbacks {\n /** `onStart`: Called once when the stream is initialized. */\n onStart?: () => Promise<void> | void;\n\n /** `onFinal`: Called once when the stream is closed with the final completion message. */\n onFinal?: (completion: string) => Promise<void> | void;\n\n /** `onToken`: Called for each tokenized message. */\n onToken?: (token: string) => Promise<void> | void;\n\n /** `onText`: Called for each text chunk. */\n onText?: (text: string) => Promise<void> | void;\n}\n\n/**\n * Creates a transform stream that encodes input messages and invokes optional callback functions.\n * The transform stream uses the provided callbacks to execute custom logic at different stages of the stream's lifecycle.\n * - `onStart`: Called once when the stream is initialized.\n * - `onToken`: Called for each tokenized message.\n * - `onFinal`: Called once when the stream is closed with the final completion message.\n *\n * This function is useful when you want to process a stream of messages and perform specific actions during the stream's lifecycle.\n *\n * @param {StreamCallbacks} [callbacks] - An object containing the callback functions.\n * @return {TransformStream<string, Uint8Array>} A transform stream that encodes input messages as Uint8Array and allows the execution of custom logic through callbacks.\n *\n * @example\n * const callbacks = {\n * onStart: async () => console.log('Stream started'),\n * onToken: async (token) => console.log(`Token: ${token}`),\n * onFinal: async () => data.close()\n * };\n * const transformer = createCallbacksTransformer(callbacks);\n */\nexport function createCallbacksTransformer(\n callbacks: StreamCallbacks | undefined = {},\n): TransformStream<string, string> {\n let aggregatedResponse = '';\n\n return new TransformStream({\n async start(): Promise<void> {\n if (callbacks.onStart) await callbacks.onStart();\n },\n\n async transform(message, controller): Promise<void> {\n controller.enqueue(message);\n\n aggregatedResponse += message;\n\n if (callbacks.onToken) await callbacks.onToken(message);\n if (callbacks.onText && typeof message === 'string') {\n await callbacks.onText(message);\n }\n },\n\n async flush(): Promise<void> {\n if (callbacks.onFinal) {\n await callbacks.onFinal(aggregatedResponse);\n }\n },\n });\n}\n"],"mappings":";AACA,SAAS,4CAA4C;;;ACoC9C,SAAS,2BACd,YAAyC,CAAC,GACT;AACjC,MAAI,qBAAqB;AAEzB,SAAO,IAAI,gBAAgB;AAAA,IACzB,MAAM,QAAuB;AAC3B,UAAI,UAAU,QAAS,OAAM,UAAU,QAAQ;AAAA,IACjD;AAAA,IAEA,MAAM,UAAU,SAAS,YAA2B;AAClD,iBAAW,QAAQ,OAAO;AAE1B,4BAAsB;AAEtB,UAAI,UAAU,QAAS,OAAM,UAAU,QAAQ,OAAO;AACtD,UAAI,UAAU,UAAU,OAAO,YAAY,UAAU;AACnD,cAAM,UAAU,OAAO,OAAO;AAAA,MAChC;AAAA,IACF;AAAA,IAEA,MAAM,QAAuB;AAC3B,UAAI,UAAU,SAAS;AACrB,cAAM,UAAU,QAAQ,kBAAkB;AAAA,MAC5C;AAAA,IACF;AAAA,EACF,CAAC;AACH;;;ADrDO,SAAS,kBACd,QACA,WACA;AACA,QAAM,YAAY,kBAAkB;AAEpC,SAAO,qCAAqC,OAAO,OAAO,aAAa,EAAE,CAAC,EACvE;AAAA,IACC,IAAI,gBAAgB;AAAA,MAClB,MAAM,UAAU,SAAS,YAA2B;AAClD,mBAAW,QAAQ,UAAU,QAAQ,KAAK,CAAC;AAAA,MAC7C;AAAA,IACF,CAAC;AAAA,EACH,EACC,YAAY,2BAA2B,SAAS,CAAC,EACjD;AAAA,IACC,IAAI,gBAAwC;AAAA,MAC1C,OAAO,OAAM,eAAc;AACzB,mBAAW,QAAQ,EAAE,MAAM,cAAc,IAAI,IAAI,CAAC;AAAA,MACpD;AAAA,MACA,WAAW,OAAO,OAAO,eAAe;AACtC,mBAAW,QAAQ,EAAE,MAAM,cAAc,OAAO,OAAO,IAAI,IAAI,CAAC;AAAA,MAClE;AAAA,MACA,OAAO,OAAM,eAAc;AACzB,mBAAW,QAAQ,EAAE,MAAM,YAAY,IAAI,IAAI,CAAC;AAAA,MAClD;AAAA,IACF,CAAC;AAAA,EACH;AACJ;AAEA,SAAS,oBAA8C;AACrD,MAAI,gBAAgB;AAEpB,SAAO,CAAC,SAAyB;AAC/B,QAAI,eAAe;AACjB,aAAO,KAAK,UAAU;AACtB,UAAI,KAAM,iBAAgB;AAAA,IAC5B;AACA,WAAO;AAAA,EACT;AACF;","names":[]}