@ai-sdk/provider-utils 1.0.2 → 1.0.3
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/package.json +2 -2
- package/test/dist/index.d.mts +4 -1
- package/test/dist/index.d.ts +4 -1
- package/test/dist/index.js +53 -33
- package/test/dist/index.js.map +1 -1
- package/test/dist/index.mjs +52 -33
- package/test/dist/index.mjs.map +1 -1
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@ai-sdk/provider-utils",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.3",
|
4
4
|
"license": "Apache-2.0",
|
5
5
|
"sideEffects": false,
|
6
6
|
"main": "./dist/index.js",
|
@@ -25,7 +25,7 @@
|
|
25
25
|
}
|
26
26
|
},
|
27
27
|
"dependencies": {
|
28
|
-
"@ai-sdk/provider": "0.0.
|
28
|
+
"@ai-sdk/provider": "0.0.13",
|
29
29
|
"eventsource-parser": "1.1.2",
|
30
30
|
"nanoid": "3.3.6",
|
31
31
|
"secure-json-parse": "2.7.0"
|
package/test/dist/index.d.mts
CHANGED
@@ -9,6 +9,8 @@ declare function convertAsyncIterableToArray<T>(iterable: AsyncIterable<T>): Pro
|
|
9
9
|
|
10
10
|
declare function convertReadableStreamToArray<T>(stream: ReadableStream<T>): Promise<T[]>;
|
11
11
|
|
12
|
+
declare function convertResponseStreamToArray(response: Response): Promise<string[]>;
|
13
|
+
|
12
14
|
declare class JsonTestServer {
|
13
15
|
readonly server: SetupServer;
|
14
16
|
responseHeaders: Record<string, string>;
|
@@ -18,6 +20,7 @@ declare class JsonTestServer {
|
|
18
20
|
getRequestBodyJson(): Promise<any>;
|
19
21
|
getRequestHeaders(): Promise<Record<string, string>>;
|
20
22
|
getRequestUrlSearchParams(): Promise<URLSearchParams>;
|
23
|
+
getRequestUrl(): Promise<string>;
|
21
24
|
setupTestEnvironment(): void;
|
22
25
|
}
|
23
26
|
|
@@ -76,4 +79,4 @@ declare function describeWithTestServer(description: string, responses: Array<Te
|
|
76
79
|
*/
|
77
80
|
declare const convertStreamToArray: typeof convertReadableStreamToArray;
|
78
81
|
|
79
|
-
export { JsonTestServer, StreamingTestServer, type TestServerJsonBodyType, type TestServerResponse, convertArrayToAsyncIterable, convertArrayToReadableStream, convertAsyncIterableToArray, convertReadableStreamToArray, convertStreamToArray, describeWithTestServer, withTestServer };
|
82
|
+
export { JsonTestServer, StreamingTestServer, type TestServerJsonBodyType, type TestServerResponse, convertArrayToAsyncIterable, convertArrayToReadableStream, convertAsyncIterableToArray, convertReadableStreamToArray, convertResponseStreamToArray, convertStreamToArray, describeWithTestServer, withTestServer };
|
package/test/dist/index.d.ts
CHANGED
@@ -9,6 +9,8 @@ declare function convertAsyncIterableToArray<T>(iterable: AsyncIterable<T>): Pro
|
|
9
9
|
|
10
10
|
declare function convertReadableStreamToArray<T>(stream: ReadableStream<T>): Promise<T[]>;
|
11
11
|
|
12
|
+
declare function convertResponseStreamToArray(response: Response): Promise<string[]>;
|
13
|
+
|
12
14
|
declare class JsonTestServer {
|
13
15
|
readonly server: SetupServer;
|
14
16
|
responseHeaders: Record<string, string>;
|
@@ -18,6 +20,7 @@ declare class JsonTestServer {
|
|
18
20
|
getRequestBodyJson(): Promise<any>;
|
19
21
|
getRequestHeaders(): Promise<Record<string, string>>;
|
20
22
|
getRequestUrlSearchParams(): Promise<URLSearchParams>;
|
23
|
+
getRequestUrl(): Promise<string>;
|
21
24
|
setupTestEnvironment(): void;
|
22
25
|
}
|
23
26
|
|
@@ -76,4 +79,4 @@ declare function describeWithTestServer(description: string, responses: Array<Te
|
|
76
79
|
*/
|
77
80
|
declare const convertStreamToArray: typeof convertReadableStreamToArray;
|
78
81
|
|
79
|
-
export { JsonTestServer, StreamingTestServer, type TestServerJsonBodyType, type TestServerResponse, convertArrayToAsyncIterable, convertArrayToReadableStream, convertAsyncIterableToArray, convertReadableStreamToArray, convertStreamToArray, describeWithTestServer, withTestServer };
|
82
|
+
export { JsonTestServer, StreamingTestServer, type TestServerJsonBodyType, type TestServerResponse, convertArrayToAsyncIterable, convertArrayToReadableStream, convertAsyncIterableToArray, convertReadableStreamToArray, convertResponseStreamToArray, convertStreamToArray, describeWithTestServer, withTestServer };
|
package/test/dist/index.js
CHANGED
@@ -63,6 +63,7 @@ __export(test_exports, {
|
|
63
63
|
convertArrayToReadableStream: () => convertArrayToReadableStream,
|
64
64
|
convertAsyncIterableToArray: () => convertAsyncIterableToArray,
|
65
65
|
convertReadableStreamToArray: () => convertReadableStreamToArray,
|
66
|
+
convertResponseStreamToArray: () => convertResponseStreamToArray,
|
66
67
|
convertStreamToArray: () => convertStreamToArray,
|
67
68
|
describeWithTestServer: () => describeWithTestServer,
|
68
69
|
withTestServer: () => withTestServer
|
@@ -117,6 +118,13 @@ async function convertReadableStreamToArray(stream) {
|
|
117
118
|
return result;
|
118
119
|
}
|
119
120
|
|
121
|
+
// src/test/convert-response-stream-to-array.ts
|
122
|
+
async function convertResponseStreamToArray(response) {
|
123
|
+
return convertReadableStreamToArray(
|
124
|
+
response.body.pipeThrough(new TextDecoderStream())
|
125
|
+
);
|
126
|
+
}
|
127
|
+
|
120
128
|
// ../../node_modules/.pnpm/outvariant@1.4.2/node_modules/outvariant/lib/index.mjs
|
121
129
|
var POSITIONALS_EXP = /(%?)(%([sdijo]))/g;
|
122
130
|
function serializePositional(positional, flag) {
|
@@ -5236,6 +5244,10 @@ var JsonTestServer = class {
|
|
5236
5244
|
expect(this.request).toBeDefined();
|
5237
5245
|
return new URL(this.request.url).searchParams;
|
5238
5246
|
}
|
5247
|
+
async getRequestUrl() {
|
5248
|
+
expect(this.request).toBeDefined();
|
5249
|
+
return new URL(this.request.url).toString();
|
5250
|
+
}
|
5239
5251
|
setupTestEnvironment() {
|
5240
5252
|
beforeAll(() => this.server.listen());
|
5241
5253
|
beforeEach(() => {
|
@@ -5336,13 +5348,40 @@ function createServer({
|
|
5336
5348
|
pushCall,
|
5337
5349
|
pushController
|
5338
5350
|
}) {
|
5351
|
+
const responsesArray = Array.isArray(responses) ? responses : [responses];
|
5352
|
+
const responsesByUrl = responsesArray.reduce((responsesByUrl2, response) => {
|
5353
|
+
if (!responsesByUrl2[response.url]) {
|
5354
|
+
responsesByUrl2[response.url] = [];
|
5355
|
+
}
|
5356
|
+
responsesByUrl2[response.url].push(response);
|
5357
|
+
return responsesByUrl2;
|
5358
|
+
}, {});
|
5359
|
+
const streams = {};
|
5360
|
+
responsesArray.filter(
|
5361
|
+
(response) => response.type === "controlled-stream"
|
5362
|
+
).forEach((response) => {
|
5363
|
+
var _a3, _b2;
|
5364
|
+
let streamController;
|
5365
|
+
const stream = new ReadableStream({
|
5366
|
+
start(controller) {
|
5367
|
+
streamController = controller;
|
5368
|
+
}
|
5369
|
+
});
|
5370
|
+
pushController((_a3 = response.id) != null ? _a3 : "", () => streamController);
|
5371
|
+
streams[(_b2 = response.id) != null ? _b2 : ""] = stream;
|
5372
|
+
});
|
5373
|
+
const urlInvocationCounts = Object.fromEntries(
|
5374
|
+
Object.entries(responsesByUrl).map(([url]) => [url, 0])
|
5375
|
+
);
|
5339
5376
|
return setupServer(
|
5340
|
-
...
|
5341
|
-
|
5342
|
-
|
5343
|
-
|
5344
|
-
|
5345
|
-
|
5377
|
+
...Object.entries(responsesByUrl).map(([url, responses2]) => {
|
5378
|
+
return http.post(url, ({ request: request2 }) => {
|
5379
|
+
var _a3, _b2;
|
5380
|
+
pushCall(new TestServerCall(request2));
|
5381
|
+
const invocationCount = urlInvocationCounts[url]++;
|
5382
|
+
const response = responses2[invocationCount > responses2.length ? responses2.length - 1 : invocationCount];
|
5383
|
+
switch (response.type) {
|
5384
|
+
case "json-value":
|
5346
5385
|
return HttpResponse.json(response.content, {
|
5347
5386
|
status: 200,
|
5348
5387
|
headers: {
|
@@ -5350,11 +5389,7 @@ function createServer({
|
|
5350
5389
|
...response.headers
|
5351
5390
|
}
|
5352
5391
|
});
|
5353
|
-
|
5354
|
-
}
|
5355
|
-
case "stream-values": {
|
5356
|
-
return http.post(response.url, ({ request: request2 }) => {
|
5357
|
-
pushCall(new TestServerCall(request2));
|
5392
|
+
case "stream-values":
|
5358
5393
|
return new HttpResponse(
|
5359
5394
|
convertArrayToReadableStream(response.content).pipeThrough(
|
5360
5395
|
new TextEncoderStream()
|
@@ -5369,20 +5404,9 @@ function createServer({
|
|
5369
5404
|
}
|
5370
5405
|
}
|
5371
5406
|
);
|
5372
|
-
|
5373
|
-
}
|
5374
|
-
case "controlled-stream": {
|
5375
|
-
let streamController;
|
5376
|
-
const stream = new ReadableStream({
|
5377
|
-
start(controller) {
|
5378
|
-
streamController = controller;
|
5379
|
-
}
|
5380
|
-
});
|
5381
|
-
pushController((_a3 = response.id) != null ? _a3 : "", () => streamController);
|
5382
|
-
return http.post(response.url, ({ request: request2 }) => {
|
5383
|
-
pushCall(new TestServerCall(request2));
|
5407
|
+
case "controlled-stream": {
|
5384
5408
|
return new HttpResponse(
|
5385
|
-
|
5409
|
+
streams[(_a3 = response.id) != null ? _a3 : ""].pipeThrough(new TextEncoderStream()),
|
5386
5410
|
{
|
5387
5411
|
status: 200,
|
5388
5412
|
headers: {
|
@@ -5393,21 +5417,16 @@ function createServer({
|
|
5393
5417
|
}
|
5394
5418
|
}
|
5395
5419
|
);
|
5396
|
-
}
|
5397
|
-
|
5398
|
-
|
5399
|
-
return http.post(response.url, ({ request: request2 }) => {
|
5400
|
-
var _a4;
|
5401
|
-
pushCall(new TestServerCall(request2));
|
5402
|
-
return HttpResponse.text((_a4 = response.content) != null ? _a4 : "Error", {
|
5420
|
+
}
|
5421
|
+
case "error":
|
5422
|
+
return HttpResponse.text((_b2 = response.content) != null ? _b2 : "Error", {
|
5403
5423
|
status: response.status,
|
5404
5424
|
headers: {
|
5405
5425
|
...response.headers
|
5406
5426
|
}
|
5407
5427
|
});
|
5408
|
-
});
|
5409
5428
|
}
|
5410
|
-
}
|
5429
|
+
});
|
5411
5430
|
})
|
5412
5431
|
);
|
5413
5432
|
}
|
@@ -5483,6 +5502,7 @@ var convertStreamToArray = convertReadableStreamToArray;
|
|
5483
5502
|
convertArrayToReadableStream,
|
5484
5503
|
convertAsyncIterableToArray,
|
5485
5504
|
convertReadableStreamToArray,
|
5505
|
+
convertResponseStreamToArray,
|
5486
5506
|
convertStreamToArray,
|
5487
5507
|
describeWithTestServer,
|
5488
5508
|
withTestServer
|