@ai-sdk/provider-utils 3.0.0-canary.0 → 3.0.0-canary.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.
@@ -14,45 +14,6 @@ declare function mockId({ prefix, }?: {
14
14
  prefix?: string;
15
15
  }): () => string;
16
16
 
17
- type TestServerJsonBodyType = JsonBodyType;
18
- type TestServerResponse = {
19
- url: string;
20
- headers?: Record<string, string>;
21
- } & ({
22
- type: 'json-value';
23
- content: TestServerJsonBodyType;
24
- } | {
25
- type: 'stream-values';
26
- content: Array<string>;
27
- } | {
28
- type: 'controlled-stream';
29
- id?: string;
30
- } | {
31
- type: 'error';
32
- status: number;
33
- content?: string;
34
- });
35
- declare class TestServerCall$1 {
36
- private request;
37
- constructor(request: Request);
38
- getRequestBodyJson(): Promise<any>;
39
- getRequestCredentials(): RequestCredentials;
40
- getRequestHeaders(): Record<string, string>;
41
- getRequestUrlSearchParams(): URLSearchParams;
42
- }
43
- declare function withTestServer(responses: Array<TestServerResponse> | TestServerResponse, testFunction: (options: {
44
- calls: () => Array<TestServerCall$1>;
45
- call: (index: number) => TestServerCall$1;
46
- getStreamController: (id: string) => ReadableStreamDefaultController<string>;
47
- streamController: ReadableStreamDefaultController<string>;
48
- }) => Promise<void>): () => Promise<void>;
49
- declare function describeWithTestServer(description: string, responses: Array<TestServerResponse> | TestServerResponse, testFunction: (options: {
50
- calls: () => Array<TestServerCall$1>;
51
- call: (index: number) => TestServerCall$1;
52
- getStreamController: (id: string) => ReadableStreamDefaultController<string>;
53
- streamController: ReadableStreamDefaultController<string>;
54
- }) => void): void;
55
-
56
17
  type UrlResponse = {
57
18
  type: 'json-value';
58
19
  headers?: Record<string, string>;
@@ -96,6 +57,7 @@ declare class TestServerCall {
96
57
  private request;
97
58
  constructor(request: Request);
98
59
  get requestBody(): Promise<any>;
60
+ get requestCredentials(): RequestCredentials;
99
61
  get requestHeaders(): Record<string, string>;
100
62
  get requestUrlSearchParams(): URLSearchParams;
101
63
  get requestUrl(): string;
@@ -119,4 +81,4 @@ declare class TestResponseController {
119
81
  close(): Promise<void>;
120
82
  }
121
83
 
122
- export { TestResponseController, type TestServerJsonBodyType, type TestServerResponse, type UrlHandler, type UrlHandlers, type UrlResponse, convertArrayToAsyncIterable, convertArrayToReadableStream, convertAsyncIterableToArray, convertReadableStreamToArray, convertResponseStreamToArray, createTestServer, describeWithTestServer, mockId, withTestServer };
84
+ export { TestResponseController, type UrlHandler, type UrlHandlers, type UrlResponse, convertArrayToAsyncIterable, convertArrayToReadableStream, convertAsyncIterableToArray, convertReadableStreamToArray, convertResponseStreamToArray, createTestServer, mockId };
@@ -14,45 +14,6 @@ declare function mockId({ prefix, }?: {
14
14
  prefix?: string;
15
15
  }): () => string;
16
16
 
17
- type TestServerJsonBodyType = JsonBodyType;
18
- type TestServerResponse = {
19
- url: string;
20
- headers?: Record<string, string>;
21
- } & ({
22
- type: 'json-value';
23
- content: TestServerJsonBodyType;
24
- } | {
25
- type: 'stream-values';
26
- content: Array<string>;
27
- } | {
28
- type: 'controlled-stream';
29
- id?: string;
30
- } | {
31
- type: 'error';
32
- status: number;
33
- content?: string;
34
- });
35
- declare class TestServerCall$1 {
36
- private request;
37
- constructor(request: Request);
38
- getRequestBodyJson(): Promise<any>;
39
- getRequestCredentials(): RequestCredentials;
40
- getRequestHeaders(): Record<string, string>;
41
- getRequestUrlSearchParams(): URLSearchParams;
42
- }
43
- declare function withTestServer(responses: Array<TestServerResponse> | TestServerResponse, testFunction: (options: {
44
- calls: () => Array<TestServerCall$1>;
45
- call: (index: number) => TestServerCall$1;
46
- getStreamController: (id: string) => ReadableStreamDefaultController<string>;
47
- streamController: ReadableStreamDefaultController<string>;
48
- }) => Promise<void>): () => Promise<void>;
49
- declare function describeWithTestServer(description: string, responses: Array<TestServerResponse> | TestServerResponse, testFunction: (options: {
50
- calls: () => Array<TestServerCall$1>;
51
- call: (index: number) => TestServerCall$1;
52
- getStreamController: (id: string) => ReadableStreamDefaultController<string>;
53
- streamController: ReadableStreamDefaultController<string>;
54
- }) => void): void;
55
-
56
17
  type UrlResponse = {
57
18
  type: 'json-value';
58
19
  headers?: Record<string, string>;
@@ -96,6 +57,7 @@ declare class TestServerCall {
96
57
  private request;
97
58
  constructor(request: Request);
98
59
  get requestBody(): Promise<any>;
60
+ get requestCredentials(): RequestCredentials;
99
61
  get requestHeaders(): Record<string, string>;
100
62
  get requestUrlSearchParams(): URLSearchParams;
101
63
  get requestUrl(): string;
@@ -119,4 +81,4 @@ declare class TestResponseController {
119
81
  close(): Promise<void>;
120
82
  }
121
83
 
122
- export { TestResponseController, type TestServerJsonBodyType, type TestServerResponse, type UrlHandler, type UrlHandlers, type UrlResponse, convertArrayToAsyncIterable, convertArrayToReadableStream, convertAsyncIterableToArray, convertReadableStreamToArray, convertResponseStreamToArray, createTestServer, describeWithTestServer, mockId, withTestServer };
84
+ export { TestResponseController, type UrlHandler, type UrlHandlers, type UrlResponse, convertArrayToAsyncIterable, convertArrayToReadableStream, convertAsyncIterableToArray, convertReadableStreamToArray, convertResponseStreamToArray, createTestServer, mockId };
@@ -64,9 +64,7 @@ __export(test_exports, {
64
64
  convertReadableStreamToArray: () => convertReadableStreamToArray,
65
65
  convertResponseStreamToArray: () => convertResponseStreamToArray,
66
66
  createTestServer: () => createTestServer,
67
- describeWithTestServer: () => describeWithTestServer,
68
- mockId: () => mockId,
69
- withTestServer: () => withTestServer
67
+ mockId: () => mockId
70
68
  });
71
69
  module.exports = __toCommonJS(test_exports);
72
70
 
@@ -18497,194 +18495,15 @@ var setupServer = (...handlers) => {
18497
18495
 
18498
18496
  // src/test/test-server.ts
18499
18497
  var TestServerCall = class {
18500
- constructor(request) {
18501
- this.request = request;
18502
- }
18503
- async getRequestBodyJson() {
18504
- expect(this.request).toBeDefined();
18505
- return JSON.parse(await this.request.text());
18506
- }
18507
- getRequestCredentials() {
18508
- expect(this.request).toBeDefined();
18509
- return this.request.credentials;
18510
- }
18511
- getRequestHeaders() {
18512
- expect(this.request).toBeDefined();
18513
- const requestHeaders = this.request.headers;
18514
- const headersObject = {};
18515
- requestHeaders.forEach((value, key) => {
18516
- headersObject[key] = value;
18517
- });
18518
- return headersObject;
18519
- }
18520
- getRequestUrlSearchParams() {
18521
- expect(this.request).toBeDefined();
18522
- return new URL(this.request.url).searchParams;
18523
- }
18524
- };
18525
- function createServer({
18526
- responses,
18527
- pushCall,
18528
- pushController
18529
- }) {
18530
- const responsesArray = Array.isArray(responses) ? responses : [responses];
18531
- const responsesByUrl = responsesArray.reduce(
18532
- (responsesByUrl2, response) => {
18533
- if (!responsesByUrl2[response.url]) {
18534
- responsesByUrl2[response.url] = [];
18535
- }
18536
- responsesByUrl2[response.url].push(response);
18537
- return responsesByUrl2;
18538
- },
18539
- {}
18540
- );
18541
- const streams = {};
18542
- responsesArray.filter(
18543
- (response) => response.type === "controlled-stream"
18544
- ).forEach((response) => {
18545
- var _a4, _b2;
18546
- let streamController;
18547
- const stream = new ReadableStream({
18548
- start(controller) {
18549
- streamController = controller;
18550
- }
18551
- });
18552
- pushController((_a4 = response.id) != null ? _a4 : "", () => streamController);
18553
- streams[(_b2 = response.id) != null ? _b2 : ""] = stream;
18554
- });
18555
- const urlInvocationCounts = Object.fromEntries(
18556
- Object.entries(responsesByUrl).map(([url]) => [url, 0])
18557
- );
18558
- return setupServer(
18559
- ...Object.entries(responsesByUrl).map(([url, responses2]) => {
18560
- return http.post(url, ({ request }) => {
18561
- var _a4, _b2;
18562
- pushCall(new TestServerCall(request));
18563
- const invocationCount = urlInvocationCounts[url]++;
18564
- const response = responses2[
18565
- // TODO bug needs to be >=
18566
- invocationCount > responses2.length ? responses2.length - 1 : invocationCount
18567
- ];
18568
- switch (response.type) {
18569
- case "json-value":
18570
- return HttpResponse.json(response.content, {
18571
- status: 200,
18572
- headers: {
18573
- "Content-Type": "application/json",
18574
- ...response.headers
18575
- }
18576
- });
18577
- case "stream-values":
18578
- return new HttpResponse(
18579
- convertArrayToReadableStream(response.content).pipeThrough(
18580
- new TextEncoderStream()
18581
- ),
18582
- {
18583
- status: 200,
18584
- headers: {
18585
- "Content-Type": "text/event-stream",
18586
- "Cache-Control": "no-cache",
18587
- Connection: "keep-alive",
18588
- ...response.headers
18589
- }
18590
- }
18591
- );
18592
- case "controlled-stream": {
18593
- return new HttpResponse(
18594
- streams[(_a4 = response.id) != null ? _a4 : ""].pipeThrough(new TextEncoderStream()),
18595
- {
18596
- status: 200,
18597
- headers: {
18598
- "Content-Type": "text/event-stream",
18599
- "Cache-Control": "no-cache",
18600
- Connection: "keep-alive",
18601
- ...response.headers
18602
- }
18603
- }
18604
- );
18605
- }
18606
- case "error":
18607
- return HttpResponse.text((_b2 = response.content) != null ? _b2 : "Error", {
18608
- status: response.status,
18609
- headers: {
18610
- ...response.headers
18611
- }
18612
- });
18613
- }
18614
- });
18615
- })
18616
- );
18617
- }
18618
- function withTestServer(responses, testFunction) {
18619
- return async () => {
18620
- const calls = [];
18621
- const controllers = {};
18622
- const server = createServer({
18623
- responses,
18624
- pushCall: (call) => calls.push(call),
18625
- pushController: (id, controller) => {
18626
- controllers[id] = controller;
18627
- }
18628
- });
18629
- try {
18630
- server.listen();
18631
- await testFunction({
18632
- calls: () => calls,
18633
- call: (index) => calls[index],
18634
- getStreamController: (id) => {
18635
- return controllers[id]();
18636
- },
18637
- get streamController() {
18638
- return controllers[""]();
18639
- }
18640
- });
18641
- } finally {
18642
- server.close();
18643
- }
18644
- };
18645
- }
18646
- function describeWithTestServer(description, responses, testFunction) {
18647
- describe(description, () => {
18648
- let calls;
18649
- let controllers;
18650
- let server;
18651
- beforeAll(() => {
18652
- server = createServer({
18653
- responses,
18654
- pushCall: (call) => calls.push(call),
18655
- pushController: (id, controller) => {
18656
- controllers[id] = controller;
18657
- }
18658
- });
18659
- server.listen();
18660
- });
18661
- beforeEach(() => {
18662
- calls = [];
18663
- controllers = {};
18664
- server.resetHandlers();
18665
- });
18666
- afterAll(() => {
18667
- server.close();
18668
- });
18669
- testFunction({
18670
- calls: () => calls,
18671
- call: (index) => calls[index],
18672
- getStreamController: (id) => controllers[id](),
18673
- get streamController() {
18674
- return controllers[""]();
18675
- }
18676
- });
18677
- });
18678
- }
18679
-
18680
- // src/test/unified-test-server.ts
18681
- var TestServerCall2 = class {
18682
18498
  constructor(request) {
18683
18499
  this.request = request;
18684
18500
  }
18685
18501
  get requestBody() {
18686
18502
  return this.request.text().then(JSON.parse);
18687
18503
  }
18504
+ get requestCredentials() {
18505
+ return this.request.credentials;
18506
+ }
18688
18507
  get requestHeaders() {
18689
18508
  const requestHeaders = this.request.headers;
18690
18509
  const headersObject = {};
@@ -18710,7 +18529,7 @@ function createTestServer(routes) {
18710
18529
  return http.all(url, ({ request }) => {
18711
18530
  var _a4, _b2, _c2;
18712
18531
  const callNumber = calls.length;
18713
- calls.push(new TestServerCall2(request));
18532
+ calls.push(new TestServerCall(request));
18714
18533
  const response = typeof handler.response === "function" ? handler.response({ callNumber }) : Array.isArray(handler.response) ? handler.response[callNumber] : handler.response;
18715
18534
  if (response === void 0) {
18716
18535
  return HttpResponse.json({ error: "Not Found" }, { status: 404 });
@@ -18825,9 +18644,7 @@ var TestResponseController = class {
18825
18644
  convertReadableStreamToArray,
18826
18645
  convertResponseStreamToArray,
18827
18646
  createTestServer,
18828
- describeWithTestServer,
18829
- mockId,
18830
- withTestServer
18647
+ mockId
18831
18648
  });
18832
18649
  /*! Bundled license information:
18833
18650