@bitbitpress/client 0.1.5 → 0.1.7
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/README.md +36 -14
- package/dist/client.d.ts +4 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +1 -5
- package/dist/client.js.map +1 -1
- package/dist/examples/basic-usage.d.ts.map +1 -1
- package/dist/examples/basic-usage.js +19 -3
- package/dist/examples/basic-usage.js.map +1 -1
- package/dist/generated/openapi.d.ts +4 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/request.d.ts +55 -2
- package/dist/request.d.ts.map +1 -1
- package/dist/request.js +6 -1
- package/dist/request.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -65,7 +65,7 @@ new BitBitPressClient(options: BitBitPressClientOptions)
|
|
|
65
65
|
##### Parameters
|
|
66
66
|
|
|
67
67
|
- `options.baseUrl` (required): Base URL of the API server (your custom Control Room API Url)
|
|
68
|
-
- `options.fetch` (optional): Custom fetch
|
|
68
|
+
- `options.fetch` (optional): Custom fetch; must match `BitBitPressFetch` `(url: string, init?) => Promise<Response>`. Compatible with Expo (string-only), Node, and Browser fetch. If omitted, uses globalThis.fetch.
|
|
69
69
|
- `options.headers` (optional): Additional headers to include in all requests
|
|
70
70
|
- `options.timeout` (optional): Request timeout in milliseconds (default: `30000`)
|
|
71
71
|
- `options.synthesizeBatchTimeout` (optional): Batch timeout for `synthesizeItem` in milliseconds (default: `250`)
|
|
@@ -82,6 +82,9 @@ const client = new BitBitPressClient({
|
|
|
82
82
|
});
|
|
83
83
|
```
|
|
84
84
|
|
|
85
|
+
The client uses fetch for all requests. Pass a custom `fetch` (e.g. from `expo/fetch` in React Native for streaming) or omit it to use `globalThis.fetch`. The `fetch` option must match `BitBitPressFetch`: only `(url: string, init?)` is called; response must provide `headers.get`, `body`, `json()`, `ok`, `status`, `statusText`.
|
|
86
|
+
|
|
87
|
+
|
|
85
88
|
##### Methods
|
|
86
89
|
|
|
87
90
|
##### `setBaseUrl(baseUrl: string): void`
|
|
@@ -444,10 +447,17 @@ console.log('Daily summary:', dailySummaryData);
|
|
|
444
447
|
|
|
445
448
|
const customData = await client.user.synthesizeItem({
|
|
446
449
|
type: 'CUSTOM',
|
|
447
|
-
schema: [
|
|
450
|
+
schema: [
|
|
451
|
+
{
|
|
452
|
+
fieldName: 'title',
|
|
453
|
+
fieldDescription: 'The article title',
|
|
454
|
+
fieldCharacterLimitHint: 100,
|
|
455
|
+
},
|
|
456
|
+
],
|
|
448
457
|
contentContext: {
|
|
449
458
|
contentId: 'article-123',
|
|
450
459
|
contentType: 'article',
|
|
460
|
+
expandOnContext: true,
|
|
451
461
|
},
|
|
452
462
|
});
|
|
453
463
|
// customData will be an object with keys matching your schema fieldNames
|
|
@@ -477,12 +487,13 @@ client.user.synthesize(items: SynthesizeRequest['items']): Promise<AsyncIterable
|
|
|
477
487
|
|
|
478
488
|
- `fieldName` (required): Name of the field
|
|
479
489
|
- `fieldDescription` (required): A prompt describing the value of the field
|
|
480
|
-
- `
|
|
490
|
+
- `fieldCharacterLimitHint` (optional): Optional hint for max number of characters that should be returned for this field. Not a guarantee.
|
|
481
491
|
|
|
482
492
|
##### ContentContext (required for CUSTOM items)
|
|
483
493
|
|
|
484
494
|
- `contentId` (optional): Your content ID
|
|
485
495
|
- `contentType` (optional): The type of content to synthesize (currently only `"article"`)
|
|
496
|
+
- `expandOnContext` (optional): If `true`, expands on the current context to provide more data to the synthesis. Determines if the synthesis should focus on the content provided, or if it should expand on it.
|
|
486
497
|
|
|
487
498
|
##### Returns
|
|
488
499
|
|
|
@@ -504,17 +515,26 @@ const stream = await client.user.synthesize([
|
|
|
504
515
|
{
|
|
505
516
|
type: 'DAILY_SUMMARY',
|
|
506
517
|
},
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
518
|
+
{
|
|
519
|
+
type: 'CUSTOM',
|
|
520
|
+
schema: [
|
|
521
|
+
{
|
|
522
|
+
fieldName: 'title',
|
|
523
|
+
fieldDescription: 'The article title',
|
|
524
|
+
fieldCharacterLimitHint: 100,
|
|
525
|
+
},
|
|
526
|
+
{
|
|
527
|
+
fieldName: 'summary',
|
|
528
|
+
fieldDescription: 'A brief summary',
|
|
529
|
+
fieldCharacterLimitHint: 200,
|
|
530
|
+
},
|
|
531
|
+
],
|
|
532
|
+
contentContext: {
|
|
533
|
+
contentId: 'article-123',
|
|
534
|
+
contentType: 'article',
|
|
535
|
+
expandOnContext: true,
|
|
536
|
+
},
|
|
516
537
|
},
|
|
517
|
-
},
|
|
518
538
|
]);
|
|
519
539
|
|
|
520
540
|
for await (const event of stream) {
|
|
@@ -544,7 +564,7 @@ for await (const event of stream) {
|
|
|
544
564
|
```typescript
|
|
545
565
|
interface BitBitPressClientConfig {
|
|
546
566
|
baseUrl: string;
|
|
547
|
-
fetch?:
|
|
567
|
+
fetch?: BitBitPressFetch;
|
|
548
568
|
headers?: Record<string, string>;
|
|
549
569
|
timeout?: number;
|
|
550
570
|
synthesizeBatchTimeout?: number;
|
|
@@ -666,10 +686,12 @@ type SynthesizeRequest = {
|
|
|
666
686
|
schema: Array<{
|
|
667
687
|
fieldName: string;
|
|
668
688
|
fieldDescription: string;
|
|
689
|
+
fieldCharacterLimitHint?: number;
|
|
669
690
|
}>;
|
|
670
691
|
contentContext: {
|
|
671
692
|
contentId?: string;
|
|
672
693
|
contentType?: 'article';
|
|
694
|
+
expandOnContext?: boolean;
|
|
673
695
|
};
|
|
674
696
|
}
|
|
675
697
|
>;
|
package/dist/client.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { BitBitPressFetch } from './request.js';
|
|
1
2
|
import { type UserMethods } from './user/index.js';
|
|
2
3
|
/**
|
|
3
4
|
* Configuration for the BitBitPress client
|
|
@@ -8,9 +9,10 @@ export interface BitBitPressClientConfig {
|
|
|
8
9
|
*/
|
|
9
10
|
baseUrl: string;
|
|
10
11
|
/**
|
|
11
|
-
* Custom fetch
|
|
12
|
+
* Custom fetch. Must match BitBitPressFetch: (url: string, init?) => Promise<Response>.
|
|
13
|
+
* Compatible with Expo (string-only), Node, and Browser fetch. If omitted, uses expo/fetch when available else globalThis.fetch.
|
|
12
14
|
*/
|
|
13
|
-
fetch?:
|
|
15
|
+
fetch?: BitBitPressFetch;
|
|
14
16
|
/**
|
|
15
17
|
* Custom headers to include in all requests
|
|
16
18
|
*/
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAiB,MAAM,cAAc,CAAC;AACpE,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAEzB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,uBAAuB;CAAG;AAE5E;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CACyF;IACvG,OAAO,CAAC,mBAAmB,CAAC,CAAc;gBAE9B,OAAO,EAAE,wBAAwB;IAe7C;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMjC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAIjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;;OAGG;IACH,IAAI,IAAI,IAAI,WAAW,CAStB;CACF"}
|
package/dist/client.js
CHANGED
|
@@ -18,15 +18,11 @@ class BitBitPressClient {
|
|
|
18
18
|
this.config = {
|
|
19
19
|
baseUrl: options.baseUrl,
|
|
20
20
|
timeout: options.timeout ?? 30000,
|
|
21
|
+
fetch: options.fetch,
|
|
21
22
|
synthesizeBatchTimeout: options.synthesizeBatchTimeout,
|
|
22
23
|
signalBatchTimeout: options.signalBatchTimeout,
|
|
23
|
-
fetch: options.fetch ?? (typeof globalThis !== 'undefined' ? globalThis.fetch : undefined),
|
|
24
24
|
headers: options.headers,
|
|
25
25
|
};
|
|
26
|
-
// Validate fetch is available
|
|
27
|
-
if (!this.config.fetch) {
|
|
28
|
-
throw new Error('Fetch is not available. Please provide a fetch implementation via the `fetch` option or ensure your environment supports fetch.');
|
|
29
|
-
}
|
|
30
26
|
}
|
|
31
27
|
/**
|
|
32
28
|
* Update the base URL
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AACA,8CAAsE;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AACA,8CAAsE;AAgDtE;;;;;GAKG;AACH,MAAa,iBAAiB;IACpB,MAAM,CACyF;IAC/F,mBAAmB,CAAe;IAE1C,YAAY,OAAiC;QAC3C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC3F,CAAC;QAED,IAAI,CAAC,MAAM,GAAG;YACZ,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;YACjC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;YACtD,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,OAAe;QACxB,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;QAC9B,gFAAgF;QAChF,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;IACvC,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;SAC7B,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,yBAAyB;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC;IAC5C,CAAC;IAED;;OAEG;IACK,qBAAqB;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,IAAI,IAAI;QACN,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,IAAI,CAAC,mBAAmB,GAAG,IAAA,4BAAiB,EAC1C,IAAI,CAAC,gBAAgB,EAAE,EACvB,IAAI,CAAC,yBAAyB,EAAE,EAChC,IAAI,CAAC,qBAAqB,EAAE,CAC7B,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;CACF;AArED,8CAqEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-usage.d.ts","sourceRoot":"","sources":["../../src/examples/basic-usage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,iBAAe,YAAY,kBA4B1B;AAGD,iBAAe,gBAAgB,
|
|
1
|
+
{"version":3,"file":"basic-usage.d.ts","sourceRoot":"","sources":["../../src/examples/basic-usage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,iBAAe,YAAY,kBA4B1B;AAGD,iBAAe,gBAAgB,kBAkD9B;AAGD,iBAAe,uBAAuB,kBAmCrC;AAGD,iBAAe,aAAa,kBAqC3B;AAGD,iBAAe,oBAAoB,kBAiClC;AAED,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -45,12 +45,21 @@ async function streamingExample() {
|
|
|
45
45
|
{
|
|
46
46
|
type: 'CUSTOM',
|
|
47
47
|
schema: [
|
|
48
|
-
{
|
|
49
|
-
|
|
48
|
+
{
|
|
49
|
+
fieldName: 'title',
|
|
50
|
+
fieldDescription: 'The article title',
|
|
51
|
+
fieldCharacterLimitHint: 100,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
fieldName: 'summary',
|
|
55
|
+
fieldDescription: 'A brief summary',
|
|
56
|
+
fieldCharacterLimitHint: 200,
|
|
57
|
+
},
|
|
50
58
|
],
|
|
51
59
|
contentContext: {
|
|
52
60
|
contentId: 'article-123',
|
|
53
61
|
contentType: 'article',
|
|
62
|
+
expandOnContext: true,
|
|
54
63
|
},
|
|
55
64
|
},
|
|
56
65
|
]);
|
|
@@ -87,10 +96,17 @@ async function batchedSynthesisExample() {
|
|
|
87
96
|
console.log('Daily summary:', dailySummaryData);
|
|
88
97
|
const customData = await client.user.synthesizeItem({
|
|
89
98
|
type: 'CUSTOM',
|
|
90
|
-
schema: [
|
|
99
|
+
schema: [
|
|
100
|
+
{
|
|
101
|
+
fieldName: 'title',
|
|
102
|
+
fieldDescription: 'The article title',
|
|
103
|
+
fieldCharacterLimitHint: 100,
|
|
104
|
+
},
|
|
105
|
+
],
|
|
91
106
|
contentContext: {
|
|
92
107
|
contentId: 'article-123',
|
|
93
108
|
contentType: 'article',
|
|
109
|
+
expandOnContext: true,
|
|
94
110
|
},
|
|
95
111
|
});
|
|
96
112
|
console.log('Custom data:', customData);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-usage.js","sourceRoot":"","sources":["../../src/examples/basic-usage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,6CAA6C;AAC7C,KAAK,UAAU,YAAY;IACzB,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC;QACnC,OAAO,EAAE,mDAAmD;KAC7D,CAAC,CAAC;IAEH,gFAAgF;IAChF,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC,CAAC;IAE7D,sBAAsB;IACtB,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;QACxD,KAAK,EAAE,EAAE;KACV,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IAEvD,yDAAyD;IACzD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5C,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,6BAA6B;gBACrC,IAAI,EAAE,QAAQ;gBACd,cAAc,EAAE;oBACd,SAAS,EAAE,aAAa;oBACxB,WAAW,EAAE,SAAS;iBACvB;aACF;SACF;KACF,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED,iCAAiC;AACjC,KAAK,UAAU,gBAAgB;IAC7B,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC;QACnC,OAAO,EAAE,mDAAmD;KAC7D,CAAC,CAAC;IAEH,qBAAqB;IACrB,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC,CAAC;IAE7D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QAC1C;YACE,IAAI,EAAE,eAAe;SACtB;QACD;YACE,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE;gBACN,
|
|
1
|
+
{"version":3,"file":"basic-usage.js","sourceRoot":"","sources":["../../src/examples/basic-usage.ts"],"names":[],"mappings":"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"}
|
|
@@ -605,8 +605,8 @@ export interface paths {
|
|
|
605
605
|
fieldName: string;
|
|
606
606
|
/** @description A prompt describing the value of the field */
|
|
607
607
|
fieldDescription: string;
|
|
608
|
-
/** @description Optional max number of characters that
|
|
609
|
-
|
|
608
|
+
/** @description Optional hint for max number of characters that should be returned for this field. Not a guarantee. */
|
|
609
|
+
fieldCharacterLimitHint?: number;
|
|
610
610
|
}[];
|
|
611
611
|
/** @description Context data to provide to the prompt. */
|
|
612
612
|
contentContext: {
|
|
@@ -617,6 +617,8 @@ export interface paths {
|
|
|
617
617
|
* @enum {string}
|
|
618
618
|
*/
|
|
619
619
|
contentType?: "article";
|
|
620
|
+
/** @description If true, expands on the current context to provide more data to the synthesis. Determines if the synthesis should focus on the content provided, or if it should expand on it. */
|
|
621
|
+
expandOnContext?: boolean;
|
|
620
622
|
};
|
|
621
623
|
})[];
|
|
622
624
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export type { BitBitPressClientConfig, BitBitPressClientOptions } from './client.js';
|
|
8
8
|
export { BitBitPressClient } from './client.js';
|
|
9
|
+
export type { BitBitPressFetch, FetchHeaders, FetchReadableStream, FetchReadableStreamReader, RequestInit, Response, } from './request.js';
|
|
9
10
|
export type * from './generated/openapi.js';
|
|
10
11
|
export type { UserMethods } from './user/index.js';
|
|
11
12
|
export type { Signal, SignalRequest, SignalResponse } from './user/signal.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,yBAAyB,EACzB,WAAW,EACX,QAAQ,GACT,MAAM,cAAc,CAAC;AAGtB,mBAAmB,wBAAwB,CAAC;AAG5C,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC9E,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACjG,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACtE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACnE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/request.d.ts
CHANGED
|
@@ -2,6 +2,58 @@
|
|
|
2
2
|
* HTTP method types
|
|
3
3
|
*/
|
|
4
4
|
export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
5
|
+
/**
|
|
6
|
+
* Request init used by BitBitPressClient when calling fetch.
|
|
7
|
+
* Subset: method, headers, body, signal only.
|
|
8
|
+
*/
|
|
9
|
+
export interface RequestInit {
|
|
10
|
+
method?: string;
|
|
11
|
+
headers?: Record<string, string>;
|
|
12
|
+
body?: string;
|
|
13
|
+
signal?: AbortSignal;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Headers subset used by BitBitPressClient: get(name).
|
|
17
|
+
*/
|
|
18
|
+
export interface FetchHeaders {
|
|
19
|
+
get(name: string): string | null;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* ReadableStream reader subset: read(), releaseLock() for SSE streaming.
|
|
23
|
+
*/
|
|
24
|
+
export interface FetchReadableStreamReader {
|
|
25
|
+
read(): Promise<{
|
|
26
|
+
done: boolean;
|
|
27
|
+
value?: Uint8Array;
|
|
28
|
+
}>;
|
|
29
|
+
releaseLock(): void;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* ReadableStream subset: getReader() for response.body (SSE).
|
|
33
|
+
*/
|
|
34
|
+
export interface FetchReadableStream {
|
|
35
|
+
getReader(): FetchReadableStreamReader;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Response subset used by BitBitPressClient.
|
|
39
|
+
* headers.get(), body (getReader for streaming), json(), ok, status, statusText.
|
|
40
|
+
*/
|
|
41
|
+
export interface Response {
|
|
42
|
+
readonly headers: FetchHeaders;
|
|
43
|
+
readonly body: FetchReadableStream | null;
|
|
44
|
+
json(): Promise<unknown>;
|
|
45
|
+
readonly ok: boolean;
|
|
46
|
+
readonly status: number;
|
|
47
|
+
readonly statusText: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Minimal fetch signature used by BitBitPressClient.
|
|
51
|
+
* We only call fetch(url, init) with a string URL and RequestInit, and use
|
|
52
|
+
* response.headers.get(), response.body (getReader for streaming), response.json(),
|
|
53
|
+
* response.ok, response.status, response.statusText.
|
|
54
|
+
* Compatible with Expo (string-only), Node, and Browser fetch.
|
|
55
|
+
*/
|
|
56
|
+
export type BitBitPressFetch = (url: string, init?: RequestInit) => Promise<Response>;
|
|
5
57
|
/**
|
|
6
58
|
* Request options for API calls
|
|
7
59
|
*/
|
|
@@ -21,13 +73,14 @@ export interface ApiResponse<T = unknown> {
|
|
|
21
73
|
error?: string;
|
|
22
74
|
}
|
|
23
75
|
/**
|
|
24
|
-
* Client configuration for making requests
|
|
76
|
+
* Client configuration for making requests.
|
|
25
77
|
*/
|
|
26
78
|
export interface RequestConfig {
|
|
27
79
|
baseUrl: string;
|
|
28
80
|
timeout: number;
|
|
29
81
|
token?: string;
|
|
30
|
-
fetch
|
|
82
|
+
/** Custom fetch; must match BitBitPressFetch. If omitted, uses globalThis.fetch. */
|
|
83
|
+
fetch?: BitBitPressFetch;
|
|
31
84
|
headers?: Record<string, string>;
|
|
32
85
|
}
|
|
33
86
|
/**
|
package/dist/request.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;CAChE;AAED;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAErE;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;IACvD,WAAW,IAAI,IAAI,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,IAAI,yBAAyB,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC1C,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEtF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;CAChE;AAED;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oFAAoF;IACpF,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,CAAC,GAAG,OAAO,EAC3C,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,CAAC,CAAC,CAwFZ"}
|
package/dist/request.js
CHANGED
|
@@ -38,8 +38,13 @@ async function makeRequest(config, options) {
|
|
|
38
38
|
const controller = new AbortController();
|
|
39
39
|
const timeoutId = setTimeout(() => controller.abort(), config.timeout);
|
|
40
40
|
requestOptions.signal = controller.signal;
|
|
41
|
+
const fetchFn = config.fetch ??
|
|
42
|
+
(typeof globalThis !== 'undefined' ? globalThis.fetch : undefined);
|
|
43
|
+
if (!fetchFn) {
|
|
44
|
+
throw new Error('fetch is not available. Pass a fetch option (e.g. from "expo/fetch" in React Native) or ensure globalThis.fetch exists (Node 18+, browser).');
|
|
45
|
+
}
|
|
41
46
|
try {
|
|
42
|
-
const response = await
|
|
47
|
+
const response = await fetchFn(url.toString(), requestOptions);
|
|
43
48
|
// Handle streaming responses (Server-Sent Events)
|
|
44
49
|
if (response.headers.get('content-type')?.includes('text/event-stream')) {
|
|
45
50
|
return handleStreamingResponse(response);
|
package/dist/request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"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"}
|