@bitbitpress/client 0.1.14 → 0.1.15
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 +75 -18
- package/dist/auth.d.ts +17 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +49 -0
- package/dist/auth.js.map +1 -0
- package/dist/client.d.ts +8 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +29 -3
- package/dist/client.js.map +1 -1
- package/dist/data/assets.d.ts +13 -0
- package/dist/data/assets.d.ts.map +1 -0
- package/dist/data/assets.js +23 -0
- package/dist/data/assets.js.map +1 -0
- package/dist/data/index.d.ts +19 -0
- package/dist/data/index.d.ts.map +1 -0
- package/dist/data/index.js +13 -0
- package/dist/data/index.js.map +1 -0
- package/dist/generated/openapi.d.ts +111 -8
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/user/index.d.ts +3 -2
- package/dist/user/index.d.ts.map +1 -1
- package/dist/user/index.js +4 -46
- package/dist/user/index.js.map +1 -1
- package/dist/user/synthesize-batch-manager.js +0 -2
- package/dist/user/synthesize-batch-manager.js.map +1 -1
- package/dist/user/synthesize.d.ts +2 -10
- package/dist/user/synthesize.d.ts.map +1 -1
- package/dist/user/synthesize.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -28,10 +28,10 @@ The `authenticate` method exchanges your SSO token for an authentication token a
|
|
|
28
28
|
|
|
29
29
|
```typescript
|
|
30
30
|
await client.user.authenticate('your-user\'s-auth-sso-token');
|
|
31
|
-
// Token is automatically set for all user methods
|
|
31
|
+
// Token is automatically set for all user and data methods
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
**Note:** You must call `authenticate()` before using any other user methods (recommendations, synthesize, etc.).
|
|
34
|
+
**Note:** You must call `authenticate()` before using any other user or data methods (recommendations, synthesize, assets, etc.).
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
## API Reference
|
|
@@ -51,6 +51,8 @@ More details can also be found in your control room's API docs @ https://your-co
|
|
|
51
51
|
- [signalItem](#signalitem)
|
|
52
52
|
- [synthesizeItem](#synthesizeitem)
|
|
53
53
|
- [synthesize](#synthesize)
|
|
54
|
+
- [Data Methods](#data-methods)
|
|
55
|
+
- [assets](#assets)
|
|
54
56
|
- [Types](#types)
|
|
55
57
|
|
|
56
58
|
### BitBitPressClient
|
|
@@ -96,6 +98,10 @@ Update the base URL for API requests.
|
|
|
96
98
|
|
|
97
99
|
Returns an object with user-related API methods. See [User Methods](#user-methods) below.
|
|
98
100
|
|
|
101
|
+
##### `get data`
|
|
102
|
+
|
|
103
|
+
Returns an object with data-related API methods (requires authentication). See [Data Methods](#data-methods) below.
|
|
104
|
+
|
|
99
105
|
### Authentication
|
|
100
106
|
|
|
101
107
|
All user methods require authentication. You must call `client.user.authenticate()` before using other user methods.
|
|
@@ -447,12 +453,12 @@ client.user.synthesizeItem(
|
|
|
447
453
|
|
|
448
454
|
##### Parameters
|
|
449
455
|
|
|
450
|
-
- `item` (required): A single synthesize item (same shape as items in `synthesize`): `inputs`, `output` (schema as JSON string or Zod 4 schema), optional `configurationKeyName`, optional `
|
|
456
|
+
- `item` (required): A single synthesize item (same shape as items in `synthesize`): `inputs`, `output` (schema as JSON string or Zod 4 schema), optional `configurationKeyName`, optional `searchOptionsOverrides` (e.g. `{ lookbackMinutes: 1440 }` for 24-hour lookback)
|
|
451
457
|
- `onStreamingData` (optional): Callback invoked with streaming data whenever a stream event has `complete: false` for this item. Type: `(data: unknown) => void`.
|
|
452
458
|
|
|
453
459
|
##### Returns
|
|
454
460
|
|
|
455
|
-
- `Promise<SynthesizeItemResponse>`: Resolves with the final data event for this item — `data` is the synthesized object (keys match your output schema) when present; `error` is set on failure
|
|
461
|
+
- `Promise<SynthesizeItemResponse>`: Resolves with the final data event for this item — `data` is the synthesized object (keys match your output schema) when present; `error` is set on failure
|
|
456
462
|
|
|
457
463
|
##### Behavior
|
|
458
464
|
|
|
@@ -507,8 +513,6 @@ client.user.synthesize(
|
|
|
507
513
|
- `inputs` (optional): Context for synthesis — array of `{ type: "externalId" | "text" | "excludeExternalIds", value: string }` (article ID, freeform text, or comma-separated external IDs to exclude)
|
|
508
514
|
- `output`: `{ schema: string | ZodType }` — output schema as a JSON string or Zod 4 schema (top-level type must be `"object"`; supports object, string, number, boolean, array, and enum)
|
|
509
515
|
- `configurationKeyName` (optional): Key name for configuration
|
|
510
|
-
- `sourceAssetFields` (optional): Asset fields to return for sources used for generation (dot or bracket notation). Allowed: `title`, `tags`, `images`, `videos`, `publishedAt`, `externalId`, `externalData`, and subfields. Returned as JSON string of an array of objects in `sourceAssets`.
|
|
511
|
-
- `sourceBitFields` (optional): Bit fields to return for sources used for generation. Allowed: `text`. Returned as JSON string of an array of objects in `sourceBits`.
|
|
512
516
|
- `searchOptionsOverrides` (optional): Per-request overrides, e.g. `{ lookbackMinutes: 1440 }` for 24-hour lookback.
|
|
513
517
|
- `options` (optional): `{ onStreamingData?: (index: number, data: unknown) => void }` — if provided, `onStreamingData` is called for each data event with `complete: false`, with the item's index and streaming data
|
|
514
518
|
|
|
@@ -520,7 +524,7 @@ client.user.synthesize(
|
|
|
520
524
|
|
|
521
525
|
- `{ type: "connected" }`: Connection established
|
|
522
526
|
- `{ type: "complete" }`: Stream complete
|
|
523
|
-
- `{ index, data?, complete, error
|
|
527
|
+
- `{ index, data?, complete, error? }`: Data event for that item. Multiple events may be sent per index as partial updates; the final event has `complete: true` and the validated object. When `complete` is false, `data` is streaming data (partial object). `error` is set on failure.
|
|
524
528
|
|
|
525
529
|
##### Example
|
|
526
530
|
|
|
@@ -574,6 +578,42 @@ for await (const event of stream) {
|
|
|
574
578
|
|
|
575
579
|
---
|
|
576
580
|
|
|
581
|
+
### Data Methods
|
|
582
|
+
|
|
583
|
+
Data methods require authentication. Call `client.user.authenticate()` before using them.
|
|
584
|
+
|
|
585
|
+
#### assets
|
|
586
|
+
|
|
587
|
+
Fetch assets by IDs and return requested fields.
|
|
588
|
+
|
|
589
|
+
```typescript
|
|
590
|
+
client.data.assets(options: AssetsRequest): Promise<AssetsResponse>
|
|
591
|
+
```
|
|
592
|
+
|
|
593
|
+
##### Parameters
|
|
594
|
+
|
|
595
|
+
- `options.assetIds` (required): List of asset IDs to fetch
|
|
596
|
+
- `options.assetFields` (required): Asset fields to return (dot or bracket notation, e.g. `tags[0]`, `images[1].src`). Allowed: `title`, `tags`, `images`, `videos`, `publishedAt`, `externalId`, `externalData`, and subfields. Empty array returns objects with only `assetId`.
|
|
597
|
+
|
|
598
|
+
##### Returns
|
|
599
|
+
|
|
600
|
+
- `Promise<AssetsResponse>`: Response containing `assets` array with requested fields
|
|
601
|
+
|
|
602
|
+
##### Example
|
|
603
|
+
|
|
604
|
+
```typescript
|
|
605
|
+
await client.user.authenticate('your-sso-token');
|
|
606
|
+
|
|
607
|
+
const { assets } = await client.data.assets({
|
|
608
|
+
assetIds: ['asset-123', 'asset-456'],
|
|
609
|
+
assetFields: ['title', 'tags', 'publishedAt', 'externalId'],
|
|
610
|
+
});
|
|
611
|
+
|
|
612
|
+
console.log('Assets:', assets);
|
|
613
|
+
```
|
|
614
|
+
|
|
615
|
+
---
|
|
616
|
+
|
|
577
617
|
### Types
|
|
578
618
|
|
|
579
619
|
API request/response types are derived from the Control Room OpenAPI spec. The source of truth is `src/generated/openapi.d.ts`, generated by `npm run generate:types`. The types below mirror that spec for reference.
|
|
@@ -705,14 +745,12 @@ type SignalResponse = {
|
|
|
705
745
|
|
|
706
746
|
#### SynthesizeRequest
|
|
707
747
|
|
|
708
|
-
Request body for POST `/v1/user/synthesize` (from OpenAPI). Each item has `inputs`, `output`, optional `configurationKeyName`,
|
|
748
|
+
Request body for POST `/v1/user/synthesize` (from OpenAPI). Each item has `inputs`, `output`, optional `configurationKeyName`, and optional `searchOptionsOverrides`.
|
|
709
749
|
|
|
710
750
|
```typescript
|
|
711
751
|
type SynthesizeRequest = {
|
|
712
752
|
items: Array<{
|
|
713
753
|
configurationKeyName?: string;
|
|
714
|
-
sourceAssetFields?: string[];
|
|
715
|
-
sourceBitFields?: string[];
|
|
716
754
|
searchOptionsOverrides?: { lookbackMinutes?: number };
|
|
717
755
|
inputs?: Array<{ type: 'externalId' | 'text' | 'excludeExternalIds'; value: string }>;
|
|
718
756
|
output: {
|
|
@@ -732,30 +770,49 @@ Same shape as the request items above, but `output.schema` may be a **string or
|
|
|
732
770
|
|
|
733
771
|
#### SynthesizeEvent
|
|
734
772
|
|
|
735
|
-
Stream events (SSE). Connection events use `type`; data events use `index`, optional `data`, required `complete`,
|
|
773
|
+
Stream events (SSE). Connection events use `type`; data events use `index`, optional `data`, required `complete`, and optional `error`. Multiple data events may be sent per index as partial object updates; the final event for an index has `complete: true` and the validated object.
|
|
736
774
|
|
|
737
775
|
```typescript
|
|
738
776
|
type SynthesizeEvent =
|
|
739
777
|
| { type: 'connected' }
|
|
740
778
|
| { type: 'complete' }
|
|
741
|
-
| { index: number; data?: unknown; complete: boolean; error?: string
|
|
779
|
+
| { index: number; data?: unknown; complete: boolean; error?: string };
|
|
742
780
|
```
|
|
743
781
|
|
|
744
|
-
When `complete` is true, `data` is the full synthesized object (keys match your output schema). When `complete` is
|
|
782
|
+
When `complete` is true, `data` is the full synthesized object (keys match your output schema). When `complete` is false, `data` is streaming data (partial update). `error` is set on failure.
|
|
745
783
|
|
|
746
784
|
#### SynthesizeItemResponse
|
|
747
785
|
|
|
748
|
-
Return type of `synthesizeItem`. Same shape as a data event payload (without `index`).
|
|
786
|
+
Return type of `synthesizeItem`. Same shape as a data event payload (without `index`).
|
|
749
787
|
|
|
750
788
|
```typescript
|
|
751
789
|
type SynthesizeItemResponse = {
|
|
752
|
-
data?: unknown;
|
|
753
|
-
error?: string;
|
|
754
|
-
sourceAssets?: string; // JSON string of array of source asset objects (when sourceAssetFields requested)
|
|
755
|
-
sourceBits?: string; // JSON string of array of source bit objects (when sourceBitFields requested)
|
|
790
|
+
data?: unknown; // synthesized object when present
|
|
791
|
+
error?: string; // set on failure
|
|
756
792
|
};
|
|
757
793
|
```
|
|
758
794
|
|
|
795
|
+
#### AssetsRequest
|
|
796
|
+
|
|
797
|
+
Request body for POST `/v1/data/assets`.
|
|
798
|
+
|
|
799
|
+
```typescript
|
|
800
|
+
type AssetsRequest = {
|
|
801
|
+
assetIds: string[];
|
|
802
|
+
assetFields: string[];
|
|
803
|
+
}
|
|
804
|
+
```
|
|
805
|
+
|
|
806
|
+
#### AssetsResponse
|
|
807
|
+
|
|
808
|
+
Response data from `assets`.
|
|
809
|
+
|
|
810
|
+
```typescript
|
|
811
|
+
type AssetsResponse = {
|
|
812
|
+
assets: Array<Record<string, unknown>>;
|
|
813
|
+
}
|
|
814
|
+
```
|
|
815
|
+
|
|
759
816
|
#### SynthesizeOnStreamingData
|
|
760
817
|
|
|
761
818
|
Callback type for receiving streaming data on a single item. Used as the second parameter to `synthesizeItem`. Invoked whenever a stream data event has `complete: false` for that item's index.
|
package/dist/auth.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { RequestConfig } from './request.js';
|
|
2
|
+
/**
|
|
3
|
+
* Shared auth store for user and data methods.
|
|
4
|
+
* Manages token state and provides authenticated config.
|
|
5
|
+
*/
|
|
6
|
+
export interface AuthStore {
|
|
7
|
+
/** Exchange SSO token and store for subsequent authenticated calls. */
|
|
8
|
+
authenticate(ssoToken: string): Promise<void>;
|
|
9
|
+
/** Returns config with current token; re-authenticates if expired. */
|
|
10
|
+
getConfigWithToken(): Promise<RequestConfig>;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Create a shared auth store. Use with createUserMethods and createDataMethods
|
|
14
|
+
* so both share the same token.
|
|
15
|
+
*/
|
|
16
|
+
export declare function createAuthStore(config: RequestConfig): AuthStore;
|
|
17
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,uEAAuE;IACvE,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,sEAAsE;IACtE,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;CAC9C;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,CA4ChE"}
|
package/dist/auth.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createAuthStore = createAuthStore;
|
|
4
|
+
const token_js_1 = require("./user/token.js");
|
|
5
|
+
/**
|
|
6
|
+
* Create a shared auth store. Use with createUserMethods and createDataMethods
|
|
7
|
+
* so both share the same token.
|
|
8
|
+
*/
|
|
9
|
+
function createAuthStore(config) {
|
|
10
|
+
let userToken;
|
|
11
|
+
let lastSsoToken;
|
|
12
|
+
let tokenExpiresAt;
|
|
13
|
+
const exchangeAndStoreToken = async (ssoToken) => {
|
|
14
|
+
try {
|
|
15
|
+
const tokenResponse = await (0, token_js_1.exchangeToken)(config, ssoToken);
|
|
16
|
+
const accessToken = tokenResponse?.idToken ?? tokenResponse?.accessToken;
|
|
17
|
+
if (accessToken) {
|
|
18
|
+
userToken = accessToken;
|
|
19
|
+
const expiresIn = tokenResponse?.expiresIn;
|
|
20
|
+
tokenExpiresAt =
|
|
21
|
+
typeof expiresIn === 'number' ? Date.now() + expiresIn * 1000 : undefined;
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
// Exchange failed
|
|
27
|
+
}
|
|
28
|
+
return false;
|
|
29
|
+
};
|
|
30
|
+
return {
|
|
31
|
+
async authenticate(ssoToken) {
|
|
32
|
+
lastSsoToken = ssoToken;
|
|
33
|
+
const stored = await exchangeAndStoreToken(ssoToken);
|
|
34
|
+
if (!stored) {
|
|
35
|
+
throw new Error('Token exchange failed: no access token in response');
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
async getConfigWithToken() {
|
|
39
|
+
const now = Date.now();
|
|
40
|
+
const missingOrExpired = userToken === undefined ||
|
|
41
|
+
(tokenExpiresAt !== undefined && now >= tokenExpiresAt);
|
|
42
|
+
if (missingOrExpired && lastSsoToken !== undefined) {
|
|
43
|
+
await exchangeAndStoreToken(lastSsoToken);
|
|
44
|
+
}
|
|
45
|
+
return { ...config, token: userToken };
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=auth.js.map
|
package/dist/auth.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":";;AAkBA,0CA4CC;AA7DD,8CAAgD;AAahD;;;GAGG;AACH,SAAgB,eAAe,CAAC,MAAqB;IACnD,IAAI,SAA6B,CAAC;IAClC,IAAI,YAAgC,CAAC;IACrC,IAAI,cAAkC,CAAC;IAEvC,MAAM,qBAAqB,GAAG,KAAK,EAAE,QAAgB,EAAoB,EAAE;QACzE,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,IAAA,wBAAa,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,aAAa,EAAE,OAAO,IAAI,aAAa,EAAE,WAAW,CAAC;YACzE,IAAI,WAAW,EAAE,CAAC;gBAChB,SAAS,GAAG,WAAW,CAAC;gBACxB,MAAM,SAAS,GAAG,aAAa,EAAE,SAAS,CAAC;gBAC3C,cAAc;oBACZ,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC5E,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,CAAC,YAAY,CAAC,QAAgB;YACjC,YAAY,GAAG,QAAQ,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAED,KAAK,CAAC,kBAAkB;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,gBAAgB,GACpB,SAAS,KAAK,SAAS;gBACvB,CAAC,cAAc,KAAK,SAAS,IAAI,GAAG,IAAI,cAAc,CAAC,CAAC;YAE1D,IAAI,gBAAgB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBACnD,MAAM,qBAAqB,CAAC,YAAY,CAAC,CAAC;YAC5C,CAAC;YAED,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACzC,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type DataMethods } from './data/index.js';
|
|
1
2
|
import type { BitBitPressFetch } from './request.js';
|
|
2
3
|
import { type UserMethods } from './user/index.js';
|
|
3
4
|
/**
|
|
@@ -49,6 +50,7 @@ export interface BitBitPressClientOptions extends BitBitPressClientConfig {
|
|
|
49
50
|
export declare class BitBitPressClient {
|
|
50
51
|
private config;
|
|
51
52
|
private userMethodsInstance?;
|
|
53
|
+
private dataMethodsInstance?;
|
|
52
54
|
constructor(options: BitBitPressClientOptions);
|
|
53
55
|
/**
|
|
54
56
|
* Update the base URL
|
|
@@ -66,10 +68,16 @@ export declare class BitBitPressClient {
|
|
|
66
68
|
* Get signal batch timeout configuration
|
|
67
69
|
*/
|
|
68
70
|
private getSignalBatchTimeout;
|
|
71
|
+
private getAuthenticatedMethods;
|
|
69
72
|
/**
|
|
70
73
|
* User-related API methods
|
|
71
74
|
* Provides type-safe access to user endpoints like signal, recommendations, synthesize, etc.
|
|
72
75
|
*/
|
|
73
76
|
get user(): UserMethods;
|
|
77
|
+
/**
|
|
78
|
+
* Data-related API methods (requires authentication via user.authenticate).
|
|
79
|
+
* Provides type-safe access to data endpoints like assets.
|
|
80
|
+
*/
|
|
81
|
+
get data(): DataMethods;
|
|
74
82
|
}
|
|
75
83
|
//# sourceMappingURL=client.d.ts.map
|
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":"AACA,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACtE,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;IAC1C,OAAO,CAAC,mBAAmB,CAAC,CAAc;gBAE9B,OAAO,EAAE,wBAAwB;IAe7C;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAOjC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAIjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,uBAAuB;IAc/B;;;OAGG;IACH,IAAI,IAAI,IAAI,WAAW,CAOtB;IAED;;;OAGG;IACH,IAAI,IAAI,IAAI,WAAW,CAOtB;CACF"}
|
package/dist/client.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BitBitPressClient = void 0;
|
|
4
|
-
const
|
|
4
|
+
const auth_js_1 = require("./auth.js");
|
|
5
|
+
const index_js_1 = require("./data/index.js");
|
|
6
|
+
const index_js_2 = require("./user/index.js");
|
|
5
7
|
/**
|
|
6
8
|
* BitBitPress API Client
|
|
7
9
|
*
|
|
@@ -11,6 +13,7 @@ const index_js_1 = require("./user/index.js");
|
|
|
11
13
|
class BitBitPressClient {
|
|
12
14
|
config;
|
|
13
15
|
userMethodsInstance;
|
|
16
|
+
dataMethodsInstance;
|
|
14
17
|
constructor(options) {
|
|
15
18
|
if (!options.baseUrl) {
|
|
16
19
|
throw new Error('baseUrl is required. Please provide your custom Control Room API Url.');
|
|
@@ -29,8 +32,9 @@ class BitBitPressClient {
|
|
|
29
32
|
*/
|
|
30
33
|
setBaseUrl(baseUrl) {
|
|
31
34
|
this.config.baseUrl = baseUrl;
|
|
32
|
-
// Invalidate cached
|
|
35
|
+
// Invalidate cached method instances so they get recreated with new baseUrl
|
|
33
36
|
this.userMethodsInstance = undefined;
|
|
37
|
+
this.dataMethodsInstance = undefined;
|
|
34
38
|
}
|
|
35
39
|
/**
|
|
36
40
|
* Get request configuration for making API calls
|
|
@@ -55,16 +59,38 @@ class BitBitPressClient {
|
|
|
55
59
|
getSignalBatchTimeout() {
|
|
56
60
|
return this.config.signalBatchTimeout;
|
|
57
61
|
}
|
|
62
|
+
getAuthenticatedMethods() {
|
|
63
|
+
const config = this.getRequestConfig();
|
|
64
|
+
const authStore = (0, auth_js_1.createAuthStore)(config);
|
|
65
|
+
return {
|
|
66
|
+
user: (0, index_js_2.createUserMethods)(authStore, config, this.getSynthesizeBatchTimeout(), this.getSignalBatchTimeout()),
|
|
67
|
+
data: (0, index_js_1.createDataMethods)(authStore.getConfigWithToken.bind(authStore)),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
58
70
|
/**
|
|
59
71
|
* User-related API methods
|
|
60
72
|
* Provides type-safe access to user endpoints like signal, recommendations, synthesize, etc.
|
|
61
73
|
*/
|
|
62
74
|
get user() {
|
|
63
75
|
if (!this.userMethodsInstance) {
|
|
64
|
-
|
|
76
|
+
const { user, data } = this.getAuthenticatedMethods();
|
|
77
|
+
this.userMethodsInstance = user;
|
|
78
|
+
this.dataMethodsInstance = data;
|
|
65
79
|
}
|
|
66
80
|
return this.userMethodsInstance;
|
|
67
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Data-related API methods (requires authentication via user.authenticate).
|
|
84
|
+
* Provides type-safe access to data endpoints like assets.
|
|
85
|
+
*/
|
|
86
|
+
get data() {
|
|
87
|
+
if (!this.dataMethodsInstance) {
|
|
88
|
+
const { user, data } = this.getAuthenticatedMethods();
|
|
89
|
+
this.userMethodsInstance = user;
|
|
90
|
+
this.dataMethodsInstance = data;
|
|
91
|
+
}
|
|
92
|
+
return this.dataMethodsInstance;
|
|
93
|
+
}
|
|
68
94
|
}
|
|
69
95
|
exports.BitBitPressClient = BitBitPressClient;
|
|
70
96
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AAAA,uCAA4C;AAC5C,8CAAsE;AAEtE,8CAAsE;AAgDtE;;;;;GAKG;AACH,MAAa,iBAAiB;IACpB,MAAM,CACyF;IAC/F,mBAAmB,CAAe;IAClC,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,4EAA4E;QAC5E,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,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;IAEO,uBAAuB;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,IAAA,yBAAe,EAAC,MAAM,CAAC,CAAC;QAC1C,OAAO;YACL,IAAI,EAAE,IAAA,4BAAiB,EACrB,SAAS,EACT,MAAM,EACN,IAAI,CAAC,yBAAyB,EAAE,EAChC,IAAI,CAAC,qBAAqB,EAAE,CAC7B;YACD,IAAI,EAAE,IAAA,4BAAiB,EAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACtE,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,IAAI,IAAI;QACN,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACtD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,IAAI,IAAI;QACN,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACtD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;CACF;AAhGD,8CAgGC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { paths } from '../generated/openapi.js';
|
|
2
|
+
import type { RequestConfig } from '../request.js';
|
|
3
|
+
export type AssetsRequest = paths['/v1/data/assets']['post']['requestBody']['content']['application/json'];
|
|
4
|
+
export type AssetsResponse = paths['/v1/data/assets']['post']['responses'][200]['content']['application/json']['data'];
|
|
5
|
+
/**
|
|
6
|
+
* Fetch assets by IDs and return requested fields.
|
|
7
|
+
*
|
|
8
|
+
* @param config - Request configuration with base URL, timeout, fetch, and token
|
|
9
|
+
* @param options - assetIds (required) and assetFields (required)
|
|
10
|
+
* @returns Promise that resolves with assets array
|
|
11
|
+
*/
|
|
12
|
+
export declare function assets(config: RequestConfig, options: AssetsRequest): Promise<AssetsResponse>;
|
|
13
|
+
//# sourceMappingURL=assets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/data/assets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,MAAM,MAAM,aAAa,GACvB,KAAK,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAEjF,MAAM,MAAM,cAAc,GACxB,KAAK,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5F;;;;;;GAMG;AACH,wBAAsB,MAAM,CAC1B,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CAYzB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assets = assets;
|
|
4
|
+
const request_js_1 = require("../request.js");
|
|
5
|
+
/**
|
|
6
|
+
* Fetch assets by IDs and return requested fields.
|
|
7
|
+
*
|
|
8
|
+
* @param config - Request configuration with base URL, timeout, fetch, and token
|
|
9
|
+
* @param options - assetIds (required) and assetFields (required)
|
|
10
|
+
* @returns Promise that resolves with assets array
|
|
11
|
+
*/
|
|
12
|
+
async function assets(config, options) {
|
|
13
|
+
const response = await (0, request_js_1.makeRequest)(config, {
|
|
14
|
+
method: 'POST',
|
|
15
|
+
path: '/v1/data/assets',
|
|
16
|
+
body: options,
|
|
17
|
+
});
|
|
18
|
+
if (!response) {
|
|
19
|
+
throw new Error('Failed to fetch assets: no data in response');
|
|
20
|
+
}
|
|
21
|
+
return response;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=assets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/data/assets.ts"],"names":[],"mappings":";;AAiBA,wBAeC;AA9BD,8CAA4C;AAQ5C;;;;;;GAMG;AACI,KAAK,UAAU,MAAM,CAC1B,MAAqB,EACrB,OAAsB;IAEtB,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAW,EAAiB,MAAM,EAAE;QACzD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,OAAO;KACd,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { RequestConfig } from '../request.js';
|
|
2
|
+
import { type AssetsRequest, type AssetsResponse } from './assets.js';
|
|
3
|
+
/**
|
|
4
|
+
* Data-related API methods interface (aligned with OpenAPI spec paths).
|
|
5
|
+
*/
|
|
6
|
+
export interface DataMethods {
|
|
7
|
+
/**
|
|
8
|
+
* Fetch assets by IDs and return requested fields.
|
|
9
|
+
*
|
|
10
|
+
* @param options - assetIds (required) and assetFields (required)
|
|
11
|
+
* @returns Promise that resolves with assets array
|
|
12
|
+
*/
|
|
13
|
+
assets(options: AssetsRequest): Promise<AssetsResponse>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Create data-related API methods (requires authenticated config).
|
|
17
|
+
*/
|
|
18
|
+
export declare function createDataMethods(getConfig: () => Promise<RequestConfig>): DataMethods;
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAwB,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAE5F;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACzD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,WAAW,CAKtF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createDataMethods = createDataMethods;
|
|
4
|
+
const assets_js_1 = require("./assets.js");
|
|
5
|
+
/**
|
|
6
|
+
* Create data-related API methods (requires authenticated config).
|
|
7
|
+
*/
|
|
8
|
+
function createDataMethods(getConfig) {
|
|
9
|
+
return {
|
|
10
|
+
assets: (options) => getConfig().then((cfg) => (0, assets_js_1.assets)(cfg, options)),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":";;AAmBA,8CAKC;AAvBD,2CAA4F;AAe5F;;GAEG;AACH,SAAgB,iBAAiB,CAAC,SAAuC;IACvE,OAAO;QACL,MAAM,EAAE,CAAC,OAAsB,EAAE,EAAE,CACjC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,kBAAU,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;KACtD,CAAC;AACJ,CAAC"}
|
|
@@ -673,10 +673,6 @@ export interface paths {
|
|
|
673
673
|
"application/json": {
|
|
674
674
|
/** @description Array of items to synthesize. Each item has inputs and output; optional configurationKeyName to use a named config (omit for default). */
|
|
675
675
|
items: {
|
|
676
|
-
/** @description Source asset (assets used for generation) fields to return, (dot or bracket notation, e.g. tags[0], images[1].src). Allowed: title, tags, images, videos, publishedAt, externalId (your content id), externalData, and subfields. Returned as JSON string of an array of objects in `sourceAssets`. */
|
|
677
|
-
sourceAssetFields?: string[];
|
|
678
|
-
/** @description Source bit (bits used for generation) fields to return. Allowed: text. Returned as JSON string of an array of objects in `sourceBits`. */
|
|
679
|
-
sourceBitFields?: string[];
|
|
680
676
|
/** @description Optional configuration key name. Loads an existing synthesis config by this name; omit for default configuration. */
|
|
681
677
|
configurationKeyName?: string;
|
|
682
678
|
/** @description Per-request overrides for search options. */
|
|
@@ -717,12 +713,10 @@ export interface paths {
|
|
|
717
713
|
* {
|
|
718
714
|
* "index": number,
|
|
719
715
|
* "data": {...},
|
|
720
|
-
* "complete": false | true
|
|
721
|
-
* "sourceAssets": "[{...}]",
|
|
722
|
-
* "sourceBits": "[{...}]"
|
|
716
|
+
* "complete": false | true
|
|
723
717
|
* }
|
|
724
718
|
* ```
|
|
725
|
-
* `data` is the synthesized object (keys match your output schema). `complete` is `false` for partial streaming updates and `true` for the final validated object for that index.
|
|
719
|
+
* `data` is the synthesized object (keys match your output schema). `complete` is `false` for partial streaming updates and `true` for the final validated object for that index.
|
|
726
720
|
*
|
|
727
721
|
* **Data Events (error):**
|
|
728
722
|
* ```json
|
|
@@ -790,6 +784,115 @@ export interface paths {
|
|
|
790
784
|
patch?: never;
|
|
791
785
|
trace?: never;
|
|
792
786
|
};
|
|
787
|
+
"/v1/data/assets": {
|
|
788
|
+
parameters: {
|
|
789
|
+
query?: never;
|
|
790
|
+
header?: never;
|
|
791
|
+
path?: never;
|
|
792
|
+
cookie?: never;
|
|
793
|
+
};
|
|
794
|
+
get?: never;
|
|
795
|
+
put?: never;
|
|
796
|
+
/**
|
|
797
|
+
* Fetch Assets by IDs
|
|
798
|
+
* @description **POST** `/v1/data/assets` Fetches assets by IDs and returns requested fields.
|
|
799
|
+
*
|
|
800
|
+
* #### Request body
|
|
801
|
+
*
|
|
802
|
+
* | Field | Type | Required | Description |
|
|
803
|
+
* |-------|------|----------|-------------|
|
|
804
|
+
* | `assetIds` | string[] | yes | List of asset IDs to fetch |
|
|
805
|
+
* | `assetFields` | string[] | yes | Fields to return (dot or bracket notation, e.g. tags[0], images[1].src). Allowed: title, tags, images, videos, publishedAt, externalId, externalData, and subfields. Empty array returns objects with only `assetId`. |
|
|
806
|
+
*/
|
|
807
|
+
post: {
|
|
808
|
+
parameters: {
|
|
809
|
+
query?: never;
|
|
810
|
+
header: {
|
|
811
|
+
/** @description Bearer token for authentication */
|
|
812
|
+
authorization: string;
|
|
813
|
+
};
|
|
814
|
+
path?: never;
|
|
815
|
+
cookie?: never;
|
|
816
|
+
};
|
|
817
|
+
requestBody: {
|
|
818
|
+
content: {
|
|
819
|
+
"application/json": {
|
|
820
|
+
/** @description List of asset IDs to fetch */
|
|
821
|
+
assetIds: string[];
|
|
822
|
+
/** @description Asset fields to return (dot or bracket notation). Allowed: title, tags, images, videos, publishedAt, externalId, externalData, and subfields. Empty array returns objects with only assetId. */
|
|
823
|
+
assetFields: string[];
|
|
824
|
+
};
|
|
825
|
+
};
|
|
826
|
+
};
|
|
827
|
+
responses: {
|
|
828
|
+
/** @description Successful response */
|
|
829
|
+
200: {
|
|
830
|
+
headers: {
|
|
831
|
+
[name: string]: unknown;
|
|
832
|
+
};
|
|
833
|
+
content: {
|
|
834
|
+
"application/json": {
|
|
835
|
+
/** @example true */
|
|
836
|
+
success: boolean;
|
|
837
|
+
/** @description Fetched assets */
|
|
838
|
+
data: {
|
|
839
|
+
/** @description Array of assets with requested fields (assetId + plucked fields) */
|
|
840
|
+
assets: {
|
|
841
|
+
[key: string]: unknown;
|
|
842
|
+
}[];
|
|
843
|
+
};
|
|
844
|
+
};
|
|
845
|
+
};
|
|
846
|
+
};
|
|
847
|
+
/** @description Bad request - missing or invalid parameters */
|
|
848
|
+
400: {
|
|
849
|
+
headers: {
|
|
850
|
+
[name: string]: unknown;
|
|
851
|
+
};
|
|
852
|
+
content: {
|
|
853
|
+
"application/json": {
|
|
854
|
+
/** @example Bad request */
|
|
855
|
+
error?: string;
|
|
856
|
+
};
|
|
857
|
+
};
|
|
858
|
+
};
|
|
859
|
+
/** @description Unauthorized errors */
|
|
860
|
+
401: {
|
|
861
|
+
headers: {
|
|
862
|
+
[name: string]: unknown;
|
|
863
|
+
};
|
|
864
|
+
content: {
|
|
865
|
+
"application/json": {
|
|
866
|
+
/**
|
|
867
|
+
* @example Unauthorized: No authentication token provided
|
|
868
|
+
* @enum {string}
|
|
869
|
+
*/
|
|
870
|
+
error?: "Unauthorized: No authentication token provided" | "Unauthorized: Token has expired" | "Unauthorized: Invalid token" | "Unauthorized: Authentication failed";
|
|
871
|
+
};
|
|
872
|
+
};
|
|
873
|
+
};
|
|
874
|
+
/** @description Internal server error */
|
|
875
|
+
500: {
|
|
876
|
+
headers: {
|
|
877
|
+
[name: string]: unknown;
|
|
878
|
+
};
|
|
879
|
+
content: {
|
|
880
|
+
"application/json": {
|
|
881
|
+
/** @example false */
|
|
882
|
+
success?: boolean;
|
|
883
|
+
/** @example Internal server error: An unknown error occurred */
|
|
884
|
+
error?: string;
|
|
885
|
+
};
|
|
886
|
+
};
|
|
887
|
+
};
|
|
888
|
+
};
|
|
889
|
+
};
|
|
890
|
+
delete?: never;
|
|
891
|
+
options?: never;
|
|
892
|
+
head?: never;
|
|
893
|
+
patch?: never;
|
|
894
|
+
trace?: never;
|
|
895
|
+
};
|
|
793
896
|
}
|
|
794
897
|
export type webhooks = Record<string, never>;
|
|
795
898
|
export interface components {
|
package/dist/index.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ export { BitBitPressClient } from './client.js';
|
|
|
9
9
|
export type { BitBitPressFetch, FetchHeaders, FetchReadableStream, FetchReadableStreamReader, RequestInit, Response, } from './request.js';
|
|
10
10
|
export type * from './generated/openapi.js';
|
|
11
11
|
export type { UserMethods } from './user/index.js';
|
|
12
|
+
export type { DataMethods } from './data/index.js';
|
|
13
|
+
export type { AssetsRequest, AssetsResponse } from './data/assets.js';
|
|
12
14
|
export type { Signal, SignalRequest, SignalResponse } from './user/signal.js';
|
|
13
15
|
export type { RecommendationsRequest, RecommendationsResponse } from './user/recommendations.js';
|
|
14
16
|
export type { ProfileResponse, ProfileUpdateRequest } from './user/profile.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;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,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACtE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACnE,YAAY,EACV,4BAA4B,EAC5B,0BAA0B,EAC1B,eAAe,EACf,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACvG,YAAY,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,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,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACtE,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,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACtE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACnE,YAAY,EACV,4BAA4B,EAC5B,0BAA0B,EAC1B,eAAe,EACf,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACvG,YAAY,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC"}
|
package/dist/user/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { AuthStore } from '../auth.js';
|
|
1
2
|
import type { RequestConfig } from '../request.js';
|
|
2
3
|
import { type SynthesizeOnStreamingData } from './synthesize-batch-manager.js';
|
|
3
4
|
import { type RecommendationsRequest, type RecommendationsResponse } from './recommendations.js';
|
|
@@ -86,7 +87,7 @@ export interface UserMethods {
|
|
|
86
87
|
synthesizeItem(item: SynthesizeItem, onStreamingData?: SynthesizeOnStreamingData): Promise<SynthesizeItemResponse>;
|
|
87
88
|
}
|
|
88
89
|
/**
|
|
89
|
-
* User-related API methods
|
|
90
|
+
* User-related API methods (uses shared auth store).
|
|
90
91
|
*/
|
|
91
|
-
export declare function createUserMethods(config: RequestConfig, synthesizeBatchTimeout?: number, signalBatchTimeout?: number): UserMethods;
|
|
92
|
+
export declare function createUserMethods(authStore: AuthStore, config: RequestConfig, synthesizeBatchTimeout?: number, signalBatchTimeout?: number): UserMethods;
|
|
92
93
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/user/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/user/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAA0B,KAAK,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AACvG,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAA0B,KAAK,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACvG,OAAO,EAAa,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAgB,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAEjG,OAAO,EAAc,KAAK,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAChG,OAAO,EAAiB,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAElE;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC;IAEjD;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC;IAEpF;;;;;OAKG;IACH,eAAe,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAEjG;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;IAErE;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;IAErE;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;IAEjE;;;;;;OAMG;IACH,UAAU,CACR,KAAK,EAAE,eAAe,EACtB,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;KAAE,GACrE,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC;IAE3C;;;;;;OAMG;IACH,cAAc,CACZ,IAAI,EAAE,cAAc,EACpB,eAAe,CAAC,EAAE,yBAAyB,GAC1C,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,aAAa,EACrB,sBAAsB,GAAE,MAAY,EACpC,kBAAkB,GAAE,MAAY,GAC/B,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/user/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAA0B,KAAK,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AACvG,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAA0B,KAAK,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACvG,OAAO,EAAa,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAgB,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAEjG,OAAO,EAAc,KAAK,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAChG,OAAO,EAAiB,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAElE;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC;IAEjD;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC;IAEpF;;;;;OAKG;IACH,eAAe,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAEjG;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;IAErE;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;IAErE;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;IAEjE;;;;;;OAMG;IACH,UAAU,CACR,KAAK,EAAE,eAAe,EACtB,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;KAAE,GACrE,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC;IAE3C;;;;;;OAMG;IACH,cAAc,CACZ,IAAI,EAAE,cAAc,EACpB,eAAe,CAAC,EAAE,yBAAyB,GAC1C,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,aAAa,EACrB,sBAAsB,GAAE,MAAY,EACpC,kBAAkB,GAAE,MAAY,GAC/B,WAAW,CA0Cb"}
|
package/dist/user/index.js
CHANGED
|
@@ -10,56 +10,14 @@ const signal_batch_manager_js_1 = require("./signal-batch-manager.js");
|
|
|
10
10
|
const synthesize_js_1 = require("./synthesize.js");
|
|
11
11
|
const token_js_1 = require("./token.js");
|
|
12
12
|
/**
|
|
13
|
-
* User-related API methods
|
|
13
|
+
* User-related API methods (uses shared auth store).
|
|
14
14
|
*/
|
|
15
|
-
function createUserMethods(config, synthesizeBatchTimeout = 250, signalBatchTimeout = 250) {
|
|
16
|
-
|
|
17
|
-
let userToken;
|
|
18
|
-
let lastSsoToken;
|
|
19
|
-
let tokenExpiresAt; // ms timestamp
|
|
20
|
-
/** Exchange SSO token and store access token + expiry. Returns true if a token was stored. */
|
|
21
|
-
const exchangeAndStoreToken = async (ssoToken) => {
|
|
22
|
-
try {
|
|
23
|
-
const tokenResponse = await (0, token_js_1.exchangeToken)(config, ssoToken);
|
|
24
|
-
const accessToken = tokenResponse?.idToken ?? tokenResponse?.accessToken;
|
|
25
|
-
if (accessToken) {
|
|
26
|
-
userToken = accessToken;
|
|
27
|
-
const expiresIn = tokenResponse?.expiresIn;
|
|
28
|
-
tokenExpiresAt =
|
|
29
|
-
typeof expiresIn === 'number'
|
|
30
|
-
? Date.now() + expiresIn * 1000
|
|
31
|
-
: undefined;
|
|
32
|
-
return true;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
catch {
|
|
36
|
-
// Exchange failed
|
|
37
|
-
}
|
|
38
|
-
return false;
|
|
39
|
-
};
|
|
40
|
-
/** Returns config with current token. If token is missing or expired, attempts to re-authenticate with lastSsoToken. */
|
|
41
|
-
const getConfigWithToken = async () => {
|
|
42
|
-
const now = Date.now();
|
|
43
|
-
const missingOrExpired = userToken === undefined ||
|
|
44
|
-
(tokenExpiresAt !== undefined && now >= tokenExpiresAt);
|
|
45
|
-
if (missingOrExpired && lastSsoToken !== undefined) {
|
|
46
|
-
await exchangeAndStoreToken(lastSsoToken);
|
|
47
|
-
}
|
|
48
|
-
return {
|
|
49
|
-
...config,
|
|
50
|
-
token: userToken,
|
|
51
|
-
};
|
|
52
|
-
};
|
|
15
|
+
function createUserMethods(authStore, config, synthesizeBatchTimeout = 250, signalBatchTimeout = 250) {
|
|
16
|
+
const getConfigWithToken = authStore.getConfigWithToken.bind(authStore);
|
|
53
17
|
const synthesizeBatchManager = new synthesize_batch_manager_js_1.SynthesizeBatchManager(getConfigWithToken, synthesizeBatchTimeout);
|
|
54
18
|
const signalBatchManager = new signal_batch_manager_js_1.SignalBatchManager(getConfigWithToken, signalBatchTimeout);
|
|
55
19
|
return {
|
|
56
|
-
|
|
57
|
-
lastSsoToken = ssoToken;
|
|
58
|
-
const stored = await exchangeAndStoreToken(ssoToken);
|
|
59
|
-
if (!stored) {
|
|
60
|
-
throw new Error('Token exchange failed: no access token in response');
|
|
61
|
-
}
|
|
62
|
-
},
|
|
20
|
+
authenticate: authStore.authenticate.bind(authStore),
|
|
63
21
|
token: (ssoToken) => (0, token_js_1.exchangeToken)(config, ssoToken),
|
|
64
22
|
profile: () => getConfigWithToken().then(profile_js_1.getProfile),
|
|
65
23
|
updateProfile: (options) => getConfigWithToken().then((cfg) => (0, profile_js_1.putProfile)(cfg, options)),
|
package/dist/user/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/user/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/user/index.ts"],"names":[],"mappings":";;AA+GA,8CA+CC;AA5JD,+EAAuG;AACvG,6DAI8B;AAC9B,6CAAuG;AACvG,2CAAiF;AACjF,2CAAiG;AACjG,uEAA+D;AAC/D,mDAAgG;AAChG,yCAAkF;AA+FlF;;GAEG;AACH,SAAgB,iBAAiB,CAC/B,SAAoB,EACpB,MAAqB,EACrB,yBAAiC,GAAG,EACpC,qBAA6B,GAAG;IAEhC,MAAM,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAExE,MAAM,sBAAsB,GAAG,IAAI,oDAAsB,CACvD,kBAAkB,EAClB,sBAAsB,CACvB,CAAC;IACF,MAAM,kBAAkB,GAAG,IAAI,4CAAkB,CAC/C,kBAAkB,EAClB,kBAAkB,CACnB,CAAC;IAEF,OAAO;QACL,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;QAEpD,KAAK,EAAE,CAAC,QAAkC,EAAE,EAAE,CAAC,IAAA,wBAAa,EAAC,MAAM,EAAE,QAAQ,CAAC;QAE9E,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,uBAAU,CAAC;QAEpD,aAAa,EAAE,CAAC,OAA6B,EAAE,EAAE,CAC/C,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,uBAAU,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE9D,eAAe,EAAE,CAAC,OAAgC,EAAE,EAAE,CACpD,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,uCAAkB,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEtE,MAAM,EAAE,CAAC,OAAsB,EAAE,EAAE,CACjC,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,qBAAS,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE7D,MAAM,EAAE,CAAC,OAAsB,EAAE,EAAE,CACjC,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,wBAAY,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEhE,UAAU,EAAE,CAAC,MAAc,EAAwC,EAAE,CACnE,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC;QAEtC,UAAU,EAAE,CAAC,KAAsB,EAAE,OAAsE,EAAE,EAAE,CAC7G,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,0BAAU,EAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAErE,cAAc,EAAE,CACd,IAAoB,EACpB,eAA2C,EACV,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC;KAC5F,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synthesize-batch-manager.js","sourceRoot":"","sources":["../../src/user/synthesize-batch-manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"synthesize-batch-manager.js","sourceRoot":"","sources":["../../src/user/synthesize-batch-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,19 +3,13 @@ import type { SynthesizeItems } from './typeDefs.js';
|
|
|
3
3
|
export type SynthesizeItemResponse = {
|
|
4
4
|
data?: unknown;
|
|
5
5
|
error?: string;
|
|
6
|
-
/** JSON string of array of source asset objects (when sourceAssetFields requested); present when complete. */
|
|
7
|
-
sourceAssets?: string;
|
|
8
|
-
/** JSON string of array of source bit objects (when sourceBitFields requested); present when complete. */
|
|
9
|
-
sourceBits?: string;
|
|
10
6
|
};
|
|
11
7
|
/**
|
|
12
8
|
* Synthesize stream event types (SSE). Per OpenAPI spec:
|
|
13
9
|
* - Connection: `{ type: 'connected' | 'complete' }`
|
|
14
|
-
* - Data: `{ index, data?, complete, error
|
|
10
|
+
* - Data: `{ index, data?, complete, error? }`.
|
|
15
11
|
* Multiple events may be sent for the same index as partial object updates; the final event
|
|
16
|
-
* for that index has `complete: true` and contains the validated object.
|
|
17
|
-
* is true and sourceAssetFields/sourceBitFields were requested, sourceAssets and sourceBits
|
|
18
|
-
* are included as JSON strings.
|
|
12
|
+
* for that index has `complete: true` and contains the validated object.
|
|
19
13
|
*/
|
|
20
14
|
export type SynthesizeEvent = {
|
|
21
15
|
type: 'connected';
|
|
@@ -26,8 +20,6 @@ export type SynthesizeEvent = {
|
|
|
26
20
|
data?: unknown;
|
|
27
21
|
complete: boolean;
|
|
28
22
|
error?: string;
|
|
29
|
-
sourceAssets?: string;
|
|
30
|
-
sourceBits?: string;
|
|
31
23
|
};
|
|
32
24
|
/** Options for synthesize stream: optional callback for streaming data updates per item index. */
|
|
33
25
|
export interface SynthesizeOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synthesize.d.ts","sourceRoot":"","sources":["../../src/user/synthesize.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,eAAe,CAAC;AAGxE,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"synthesize.d.ts","sourceRoot":"","sources":["../../src/user/synthesize.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,eAAe,CAAC;AAGxE,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IACE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AA0BN,kGAAkG;AAClG,MAAM,WAAW,iBAAiB;IAChC,qFAAqF;IACrF,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1D;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,eAAe,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAsBzC;AAED,wEAAwE;AACxE,MAAM,MAAM,yBAAyB,GACnC,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synthesize.js","sourceRoot":"","sources":["../../src/user/synthesize.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"synthesize.js","sourceRoot":"","sources":["../../src/user/synthesize.ts"],"names":[],"mappings":";;AAkEA,gCA0BC;AA5FD,6BAAmC;AAEnC,8CAA4C;AA0B5C,gDAAgD;AAChD,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,CAAC;AACxE,CAAC;AAED,oHAAoH;AACpH,SAAS,wBAAwB,CAC/B,KAAsB;IAEtB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAClC,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC;YACtC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAA,kBAAY,EAAC,MAAM,CAAC,CAAC;YACtC,CAAC,CAAC,MAAM,CAAC;QACX,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE;gBACN,GAAG,IAAI,CAAC,MAAM;gBACd,MAAM,EAAE,YAAY;aACrB;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAQD;;;;;;;GAOG;AACI,KAAK,UAAU,UAAU,CAC9B,MAAqB,EACrB,KAAsB,EACtB,OAA2B;IAE3B,MAAM,eAAe,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,MAAM,IAAA,wBAAW,EAAiC,MAAM,EAAE;QACvE,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE;KACjC,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,OAAO,EAAE,eAAe,CAAC;IACjD,IAAI,CAAC,eAAe;QAAE,OAAO,MAAM,CAAC;IACpC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,IAAI;QAC1B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,IACE,OAAO,IAAI,KAAK;gBAChB,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;gBAC/B,KAAK,CAAC,QAAQ,KAAK,KAAK;gBACxB,KAAK,CAAC,KAAK,IAAI,IAAI,EACnB,CAAC;gBACD,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;AACP,CAAC"}
|