@bitbitpress/client 1.0.2 → 1.1.0-alpha.0
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 +160 -5
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +2 -4
- package/dist/auth.js.map +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js.map +1 -1
- package/dist/data/index.d.ts.map +1 -1
- package/dist/data/index.js.map +1 -1
- package/dist/examples/basic-usage.d.ts +1 -1
- package/dist/examples/basic-usage.d.ts.map +1 -1
- package/dist/examples/basic-usage.js +1 -1
- package/dist/examples/basic-usage.js.map +1 -1
- package/dist/generated/openapi.d.ts +166 -77
- package/dist/index.d.ts +9 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/react/index.d.ts +41 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +68 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/primitives.d.ts +54 -0
- package/dist/react/primitives.d.ts.map +1 -0
- package/dist/react/primitives.js +223 -0
- package/dist/react/primitives.js.map +1 -0
- package/dist/react-native-expo/index.d.ts +42 -0
- package/dist/react-native-expo/index.d.ts.map +1 -0
- package/dist/react-native-expo/index.js +78 -0
- package/dist/react-native-expo/index.js.map +1 -0
- package/dist/react-native-expo/primitives.d.ts +58 -0
- package/dist/react-native-expo/primitives.d.ts.map +1 -0
- package/dist/react-native-expo/primitives.js +218 -0
- package/dist/react-native-expo/primitives.js.map +1 -0
- package/dist/synthesisView/context.d.ts +18 -0
- package/dist/synthesisView/context.d.ts.map +1 -0
- package/dist/synthesisView/context.js +15 -0
- package/dist/synthesisView/context.js.map +1 -0
- package/dist/synthesisView/createComponentMap.d.ts +18 -0
- package/dist/synthesisView/createComponentMap.d.ts.map +1 -0
- package/dist/synthesisView/createComponentMap.js +40 -0
- package/dist/synthesisView/createComponentMap.js.map +1 -0
- package/dist/synthesisView/engine.d.ts +35 -0
- package/dist/synthesisView/engine.d.ts.map +1 -0
- package/dist/synthesisView/engine.js +113 -0
- package/dist/synthesisView/engine.js.map +1 -0
- package/dist/synthesisView/primitives.d.ts +180 -0
- package/dist/synthesisView/primitives.d.ts.map +1 -0
- package/dist/synthesisView/primitives.js +29 -0
- package/dist/synthesisView/primitives.js.map +1 -0
- package/dist/synthesisView/resolve.d.ts +17 -0
- package/dist/synthesisView/resolve.d.ts.map +1 -0
- package/dist/synthesisView/resolve.js +42 -0
- package/dist/synthesisView/resolve.js.map +1 -0
- package/dist/synthesisView/types.d.ts +72 -0
- package/dist/synthesisView/types.d.ts.map +1 -0
- package/dist/synthesisView/types.js +2 -0
- package/dist/synthesisView/types.js.map +1 -0
- package/dist/synthesisView/useSynthesisView.d.ts +13 -0
- package/dist/synthesisView/useSynthesisView.d.ts.map +1 -0
- package/dist/synthesisView/useSynthesisView.js +49 -0
- package/dist/synthesisView/useSynthesisView.js.map +1 -0
- package/dist/user/index.d.ts +38 -8
- package/dist/user/index.d.ts.map +1 -1
- package/dist/user/index.js +12 -4
- package/dist/user/index.js.map +1 -1
- package/dist/user/profile.d.ts +6 -5
- package/dist/user/profile.d.ts.map +1 -1
- package/dist/user/profile.js +6 -5
- package/dist/user/profile.js.map +1 -1
- package/dist/user/submissions.d.ts +24 -0
- package/dist/user/submissions.d.ts.map +1 -0
- package/dist/user/submissions.js +43 -0
- package/dist/user/submissions.js.map +1 -0
- package/dist/user/synthesize-batch-manager.d.ts +1 -1
- package/dist/user/synthesize-batch-manager.d.ts.map +1 -1
- package/dist/user/synthesize-batch-manager.js.map +1 -1
- package/dist/user/synthesize-view-batch-manager.d.ts +17 -0
- package/dist/user/synthesize-view-batch-manager.d.ts.map +1 -0
- package/dist/user/synthesize-view-batch-manager.js +52 -0
- package/dist/user/synthesize-view-batch-manager.js.map +1 -0
- package/dist/user/synthesize.d.ts.map +1 -1
- package/dist/user/synthesize.js +1 -3
- package/dist/user/synthesize.js.map +1 -1
- package/dist/user/synthesizeView.d.ts +41 -0
- package/dist/user/synthesizeView.d.ts.map +1 -0
- package/dist/user/synthesizeView.js +26 -0
- package/dist/user/synthesizeView.js.map +1 -0
- package/dist/user/typeDefs.d.ts.map +1 -1
- package/package.json +31 -7
package/dist/user/profile.d.ts
CHANGED
|
@@ -3,18 +3,19 @@ import type { RequestConfig } from '../request.js';
|
|
|
3
3
|
export type ProfileResponse = paths['/v1/user/profile']['get']['responses'][200]['content']['application/json']['data'];
|
|
4
4
|
export type ProfileUpdateRequest = paths['/v1/user/profile']['put']['requestBody']['content']['application/json'];
|
|
5
5
|
/**
|
|
6
|
-
* Get user profile information
|
|
6
|
+
* Get user profile information.
|
|
7
7
|
*
|
|
8
8
|
* @param config - Request configuration with base URL, timeout, fetch, and optional token
|
|
9
|
-
* @returns Promise that resolves with profile data
|
|
9
|
+
* @returns Promise that resolves with profile data per OpenAPI
|
|
10
10
|
*/
|
|
11
11
|
export declare function getProfile(config: RequestConfig): Promise<NonNullable<ProfileResponse>>;
|
|
12
12
|
/**
|
|
13
|
-
* Update user profile
|
|
14
|
-
*
|
|
13
|
+
* Update user profile. Supports full interest tag replace via interestTags,
|
|
14
|
+
* add/remove via addInterestTags and removeInterestTags, and optional
|
|
15
|
+
* jobTitle/company fields.
|
|
15
16
|
*
|
|
16
17
|
* @param config - Request configuration with base URL, timeout, fetch, and optional token
|
|
17
|
-
* @param options -
|
|
18
|
+
* @param options - Profile update payload
|
|
18
19
|
* @returns Promise that resolves with updated profile data
|
|
19
20
|
*/
|
|
20
21
|
export declare function putProfile(config: RequestConfig, options: ProfileUpdateRequest): Promise<NonNullable<ProfileResponse>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/user/profile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAInD,MAAM,MAAM,eAAe,GACzB,KAAK,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5F,MAAM,MAAM,oBAAoB,GAC9B,KAAK,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAEjF;;;;;GAKG;AACH,wBAAsB,UAAU,
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/user/profile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAInD,MAAM,MAAM,eAAe,GACzB,KAAK,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5F,MAAM,MAAM,oBAAoB,GAC9B,KAAK,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAEjF;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAW7F;AAED;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAYvC"}
|
package/dist/user/profile.js
CHANGED
|
@@ -4,10 +4,10 @@ exports.getProfile = getProfile;
|
|
|
4
4
|
exports.putProfile = putProfile;
|
|
5
5
|
const request_js_1 = require("../request.js");
|
|
6
6
|
/**
|
|
7
|
-
* Get user profile information
|
|
7
|
+
* Get user profile information.
|
|
8
8
|
*
|
|
9
9
|
* @param config - Request configuration with base URL, timeout, fetch, and optional token
|
|
10
|
-
* @returns Promise that resolves with profile data
|
|
10
|
+
* @returns Promise that resolves with profile data per OpenAPI
|
|
11
11
|
*/
|
|
12
12
|
async function getProfile(config) {
|
|
13
13
|
const response = await (0, request_js_1.makeRequest)(config, {
|
|
@@ -20,11 +20,12 @@ async function getProfile(config) {
|
|
|
20
20
|
return response;
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
|
-
* Update user profile
|
|
24
|
-
*
|
|
23
|
+
* Update user profile. Supports full interest tag replace via interestTags,
|
|
24
|
+
* add/remove via addInterestTags and removeInterestTags, and optional
|
|
25
|
+
* jobTitle/company fields.
|
|
25
26
|
*
|
|
26
27
|
* @param config - Request configuration with base URL, timeout, fetch, and optional token
|
|
27
|
-
* @param options -
|
|
28
|
+
* @param options - Profile update payload
|
|
28
29
|
* @returns Promise that resolves with updated profile data
|
|
29
30
|
*/
|
|
30
31
|
async function putProfile(config, options) {
|
package/dist/user/profile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/user/profile.ts"],"names":[],"mappings":";;AAiBA,
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/user/profile.ts"],"names":[],"mappings":";;AAiBA,gCAWC;AAWD,gCAeC;AApDD,8CAA4C;AAS5C;;;;;GAKG;AACI,KAAK,UAAU,UAAU,CAAC,MAAqB;IACpD,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAW,EAAkB,MAAM,EAAE;QAC1D,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,kBAAkB;KACzB,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,UAAU,CAC9B,MAAqB,EACrB,OAA6B;IAE7B,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAW,EAAkB,MAAM,EAAE;QAC1D,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,OAAO;KACd,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { paths } from '../generated/openapi.js';
|
|
2
|
+
import type { RequestConfig } from '../request.js';
|
|
3
|
+
export type CreateUserSubmissionRequest = paths['/v1/user-submissions']['post']['requestBody']['content']['application/json'];
|
|
4
|
+
export type CreateUserSubmissionResponse = paths['/v1/user-submissions']['post']['responses'][200]['content']['application/json']['data'];
|
|
5
|
+
export type ListUserSubmissionsRequest = NonNullable<paths['/v1/user-submission-schemas/{keyName}/submissions']['get']['parameters']['query']>;
|
|
6
|
+
export type ListUserSubmissionsResponse = paths['/v1/user-submission-schemas/{keyName}/submissions']['get']['responses'][200]['content']['application/json']['data'];
|
|
7
|
+
/**
|
|
8
|
+
* Create a structured user submission and optional presigned file upload URLs.
|
|
9
|
+
*
|
|
10
|
+
* @param config - Request configuration with base URL, timeout, fetch, and optional token
|
|
11
|
+
* @param options - schema keyName, structured data, and optional file descriptors
|
|
12
|
+
* @returns Created submission and any presigned upload URLs
|
|
13
|
+
*/
|
|
14
|
+
export declare function createUserSubmission(config: RequestConfig, options: CreateUserSubmissionRequest): Promise<NonNullable<CreateUserSubmissionResponse>>;
|
|
15
|
+
/**
|
|
16
|
+
* List live submissions for a user submission schema.
|
|
17
|
+
*
|
|
18
|
+
* @param config - Request configuration with base URL, timeout, fetch, and optional token
|
|
19
|
+
* @param keyName - User submission schema key name
|
|
20
|
+
* @param options - Optional pagination parameters
|
|
21
|
+
* @returns Live submissions and pagination cursor
|
|
22
|
+
*/
|
|
23
|
+
export declare function listUserSubmissions(config: RequestConfig, keyName: string, options?: ListUserSubmissionsRequest): Promise<NonNullable<ListUserSubmissionsResponse>>;
|
|
24
|
+
//# sourceMappingURL=submissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submissions.d.ts","sourceRoot":"","sources":["../../src/user/submissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,MAAM,MAAM,2BAA2B,GACrC,KAAK,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AACtF,MAAM,MAAM,4BAA4B,GACtC,KAAK,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjG,MAAM,MAAM,0BAA0B,GAAG,WAAW,CAClD,KAAK,CAAC,mDAAmD,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CACzF,CAAC;AACF,MAAM,MAAM,2BAA2B,GACrC,KAAK,CAAC,mDAAmD,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7H;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC,CAYpD;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC,CAYnD"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createUserSubmission = createUserSubmission;
|
|
4
|
+
exports.listUserSubmissions = listUserSubmissions;
|
|
5
|
+
const request_js_1 = require("../request.js");
|
|
6
|
+
/**
|
|
7
|
+
* Create a structured user submission and optional presigned file upload URLs.
|
|
8
|
+
*
|
|
9
|
+
* @param config - Request configuration with base URL, timeout, fetch, and optional token
|
|
10
|
+
* @param options - schema keyName, structured data, and optional file descriptors
|
|
11
|
+
* @returns Created submission and any presigned upload URLs
|
|
12
|
+
*/
|
|
13
|
+
async function createUserSubmission(config, options) {
|
|
14
|
+
const response = await (0, request_js_1.makeRequest)(config, {
|
|
15
|
+
method: 'POST',
|
|
16
|
+
path: '/v1/user-submissions',
|
|
17
|
+
body: options,
|
|
18
|
+
});
|
|
19
|
+
if (!response) {
|
|
20
|
+
throw new Error('Failed to create user submission: no data in response');
|
|
21
|
+
}
|
|
22
|
+
return response;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* List live submissions for a user submission schema.
|
|
26
|
+
*
|
|
27
|
+
* @param config - Request configuration with base URL, timeout, fetch, and optional token
|
|
28
|
+
* @param keyName - User submission schema key name
|
|
29
|
+
* @param options - Optional pagination parameters
|
|
30
|
+
* @returns Live submissions and pagination cursor
|
|
31
|
+
*/
|
|
32
|
+
async function listUserSubmissions(config, keyName, options) {
|
|
33
|
+
const response = await (0, request_js_1.makeRequest)(config, {
|
|
34
|
+
method: 'GET',
|
|
35
|
+
path: `/v1/user-submission-schemas/${encodeURIComponent(keyName)}/submissions`,
|
|
36
|
+
params: options,
|
|
37
|
+
});
|
|
38
|
+
if (!response) {
|
|
39
|
+
throw new Error('Failed to list user submissions: no data in response');
|
|
40
|
+
}
|
|
41
|
+
return response;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=submissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submissions.js","sourceRoot":"","sources":["../../src/user/submissions.ts"],"names":[],"mappings":";;AAsBA,oDAeC;AAUD,kDAgBC;AA7DD,8CAA4C;AAa5C;;;;;;GAMG;AACI,KAAK,UAAU,oBAAoB,CACxC,MAAqB,EACrB,OAAoC;IAEpC,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAW,EAA+B,MAAM,EAAE;QACvE,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,OAAO;KACd,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,mBAAmB,CACvC,MAAqB,EACrB,OAAe,EACf,OAAoC;IAEpC,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAW,EAA8B,MAAM,EAAE;QACtE,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,+BAA+B,kBAAkB,CAAC,OAAO,CAAC,cAAc;QAC9E,MAAM,EAAE,OAAO;KAChB,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { RequestConfig } from '../request.js';
|
|
2
|
-
import { SynthesizeItemResponse } from './synthesize.js';
|
|
2
|
+
import { type SynthesizeItemResponse } from './synthesize.js';
|
|
3
3
|
import type { SynthesizeItem } from './typeDefs.js';
|
|
4
4
|
/** Callback invoked with streaming data for an item when a stream event has complete: false. */
|
|
5
5
|
export type SynthesizeOnStreamingData = (data: unknown) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synthesize-batch-manager.d.ts","sourceRoot":"","sources":["../../src/user/synthesize-batch-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAwB,sBAAsB,EAAc,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"synthesize-batch-manager.d.ts","sourceRoot":"","sources":["../../src/user/synthesize-batch-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAwB,KAAK,sBAAsB,EAAc,MAAM,iBAAiB,CAAC;AAChG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAkBpD,gGAAgG;AAChG,MAAM,MAAM,yBAAyB,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;AAEhE;;;GAGG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,KAAK,CAKL;IACR,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,YAAY,CAAS;gBAEjB,SAAS,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,MAAM;IAKzE;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAIzC,OAAO,CACL,IAAI,EAAE,cAAc,EACpB,eAAe,CAAC,EAAE,yBAAyB,GAC1C,OAAO,CAAC,sBAAsB,CAAC;YAepB,KAAK;CAyBpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synthesize-batch-manager.js","sourceRoot":"","sources":["../../src/user/synthesize-batch-manager.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"synthesize-batch-manager.js","sourceRoot":"","sources":["../../src/user/synthesize-batch-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { RequestConfig } from '../request.js';
|
|
2
|
+
import { type SynthesizeViewRequestItem, type SynthesizeViewResponse } from './synthesizeView.js';
|
|
3
|
+
/**
|
|
4
|
+
* Coalesces individual view lookups (one per `<BitBitView>`) mounted within a
|
|
5
|
+
* short window into a single batched request, resolving each caller from the
|
|
6
|
+
* matching index in the response.
|
|
7
|
+
*/
|
|
8
|
+
export declare class SynthesizeViewBatchManager {
|
|
9
|
+
private queue;
|
|
10
|
+
private timer;
|
|
11
|
+
private getConfig;
|
|
12
|
+
private batchTimeout;
|
|
13
|
+
constructor(getConfig: () => Promise<RequestConfig>, batchTimeout: number);
|
|
14
|
+
addItem(item: SynthesizeViewRequestItem): Promise<SynthesizeViewResponse>;
|
|
15
|
+
private flush;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=synthesize-view-batch-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"synthesize-view-batch-manager.d.ts","sourceRoot":"","sources":["../../src/user/synthesize-view-batch-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAE5B,MAAM,qBAAqB,CAAC;AAK7B;;;;GAIG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,KAAK,CAIL;IACR,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,YAAY,CAAS;gBAEjB,SAAS,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,MAAM;IAKzE,OAAO,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,sBAAsB,CAAC;YAQ3D,KAAK;CAsBpB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SynthesizeViewBatchManager = void 0;
|
|
4
|
+
const synthesizeView_js_1 = require("./synthesizeView.js");
|
|
5
|
+
/**
|
|
6
|
+
* Coalesces individual view lookups (one per `<BitBitView>`) mounted within a
|
|
7
|
+
* short window into a single batched request, resolving each caller from the
|
|
8
|
+
* matching index in the response.
|
|
9
|
+
*/
|
|
10
|
+
class SynthesizeViewBatchManager {
|
|
11
|
+
queue = [];
|
|
12
|
+
timer = null;
|
|
13
|
+
getConfig;
|
|
14
|
+
batchTimeout;
|
|
15
|
+
constructor(getConfig, batchTimeout) {
|
|
16
|
+
this.getConfig = getConfig;
|
|
17
|
+
this.batchTimeout = batchTimeout;
|
|
18
|
+
}
|
|
19
|
+
addItem(item) {
|
|
20
|
+
return new Promise((resolve, reject) => {
|
|
21
|
+
this.queue.push({ item, resolve, reject });
|
|
22
|
+
if (this.timer)
|
|
23
|
+
clearTimeout(this.timer);
|
|
24
|
+
this.timer = setTimeout(() => this.flush(), this.batchTimeout);
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
async flush() {
|
|
28
|
+
if (this.queue.length === 0)
|
|
29
|
+
return;
|
|
30
|
+
const batch = [...this.queue];
|
|
31
|
+
this.queue = [];
|
|
32
|
+
this.timer = null;
|
|
33
|
+
try {
|
|
34
|
+
const config = await this.getConfig();
|
|
35
|
+
const results = await (0, synthesizeView_js_1.synthesizeViews)(config, batch.map((b) => b.item));
|
|
36
|
+
batch.forEach((entry, index) => {
|
|
37
|
+
const result = results[index];
|
|
38
|
+
if (result)
|
|
39
|
+
entry.resolve(result);
|
|
40
|
+
else
|
|
41
|
+
entry.reject(new Error('No result for this item in the batch response'));
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
46
|
+
for (const entry of batch)
|
|
47
|
+
entry.reject(err);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.SynthesizeViewBatchManager = SynthesizeViewBatchManager;
|
|
52
|
+
//# sourceMappingURL=synthesize-view-batch-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"synthesize-view-batch-manager.js","sourceRoot":"","sources":["../../src/user/synthesize-view-batch-manager.ts"],"names":[],"mappings":";;;AACA,2DAI6B;AAK7B;;;;GAIG;AACH,MAAa,0BAA0B;IAC7B,KAAK,GAIR,EAAE,CAAC;IACA,KAAK,GAAiB,IAAI,CAAC;IAC3B,SAAS,CAA+B;IACxC,YAAY,CAAS;IAE7B,YAAY,SAAuC,EAAE,YAAoB;QACvE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,OAAO,CAAC,IAA+B;QACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3C,IAAI,IAAI,CAAC,KAAK;gBAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,KAAK;QACjB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACpC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,MAAM,IAAA,mCAAe,EACnC,MAAM,EACN,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACzB,CAAC;YACF,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC9B,IAAI,MAAM;oBAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;;oBAC7B,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,KAAK,MAAM,KAAK,IAAI,KAAK;gBAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;CACF;AA7CD,gEA6CC"}
|
|
@@ -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;
|
|
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;AAExE,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;AAsBN,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"}
|
package/dist/user/synthesize.js
CHANGED
|
@@ -11,9 +11,7 @@ function isZodSchema(value) {
|
|
|
11
11
|
function normalizeSynthesizeItems(items) {
|
|
12
12
|
return items.map((item) => {
|
|
13
13
|
const schema = item.output.schema;
|
|
14
|
-
const schemaString = isZodSchema(schema)
|
|
15
|
-
? JSON.stringify((0, zod_1.toJSONSchema)(schema))
|
|
16
|
-
: schema;
|
|
14
|
+
const schemaString = isZodSchema(schema) ? JSON.stringify((0, zod_1.toJSONSchema)(schema)) : schema;
|
|
17
15
|
return {
|
|
18
16
|
...item,
|
|
19
17
|
output: {
|
|
@@ -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":";;AA6DA,gCA0BC;AAvFD,6BAAmC;AAEnC,8CAA4C;AAyB5C,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,CAAC,KAAsB;IACtD,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,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAA,kBAAY,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACzF,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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { RequestConfig } from '../request.js';
|
|
2
|
+
/** Optional input forwarded to a view's content synthesis (e.g. an article
|
|
3
|
+
* id the view should personalize against). */
|
|
4
|
+
export interface ContentInput {
|
|
5
|
+
type: string;
|
|
6
|
+
value: string;
|
|
7
|
+
}
|
|
8
|
+
/** Render-time view parameters. Independent from `contentInputs` — these
|
|
9
|
+
* affect flattening only and never reach the synthesis agent. */
|
|
10
|
+
export interface ViewInputs {
|
|
11
|
+
/** Provide the dark mode setting of the current UI to the agent. */
|
|
12
|
+
darkMode?: boolean;
|
|
13
|
+
}
|
|
14
|
+
/** One view to resolve in a `synthesizeViews` request. */
|
|
15
|
+
export interface SynthesizeViewRequestItem {
|
|
16
|
+
/** Stable identifier of the view to load. Configured in the BitBitPress
|
|
17
|
+
* CMS; same value you pass as `<BitBitView keyName="…">`. */
|
|
18
|
+
keyName: string;
|
|
19
|
+
/** Optional inputs the view's content synthesis should consider. */
|
|
20
|
+
contentInputs?: ContentInput[];
|
|
21
|
+
/** Render-time view parameters (theme variant, etc.). */
|
|
22
|
+
viewInputs?: ViewInputs;
|
|
23
|
+
}
|
|
24
|
+
export interface SynthesizeViewResponse {
|
|
25
|
+
/** Render-ready array a BB SDK renderer can display directly. Pass it
|
|
26
|
+
* to `<BitBitView>` / `<BitBitViewRenderer>` and you're done. Empty
|
|
27
|
+
* array when the view resolved but had no UI to render. */
|
|
28
|
+
uiData: unknown[];
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Resolve one or more synthesis views in a single request. Returns the
|
|
32
|
+
* responses in the same order as `items`; an item that doesn't match any
|
|
33
|
+
* view resolves to `{ uiData: [] }`.
|
|
34
|
+
*
|
|
35
|
+
* Most apps reach this through `<BitBitView keyName="…">` rather than
|
|
36
|
+
* calling it directly — that path also coalesces multiple `<BitBitView>`
|
|
37
|
+
* mounts within a short window into a single request via the SDK's batch
|
|
38
|
+
* manager.
|
|
39
|
+
*/
|
|
40
|
+
export declare function synthesizeViews(config: RequestConfig, items: SynthesizeViewRequestItem[]): Promise<SynthesizeViewResponse[]>;
|
|
41
|
+
//# sourceMappingURL=synthesizeView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"synthesizeView.d.ts","sourceRoot":"","sources":["../../src/user/synthesizeView.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD;+CAC+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED;kEACkE;AAClE,MAAM,WAAW,UAAU;IACzB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,0DAA0D;AAC1D,MAAM,WAAW,yBAAyB;IACxC;kEAC8D;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,yDAAyD;IACzD,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC;;gEAE4D;IAC5D,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,yBAAyB,EAAE,GACjC,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAYnC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.synthesizeViews = synthesizeViews;
|
|
4
|
+
const request_js_1 = require("../request.js");
|
|
5
|
+
/**
|
|
6
|
+
* Resolve one or more synthesis views in a single request. Returns the
|
|
7
|
+
* responses in the same order as `items`; an item that doesn't match any
|
|
8
|
+
* view resolves to `{ uiData: [] }`.
|
|
9
|
+
*
|
|
10
|
+
* Most apps reach this through `<BitBitView keyName="…">` rather than
|
|
11
|
+
* calling it directly — that path also coalesces multiple `<BitBitView>`
|
|
12
|
+
* mounts within a short window into a single request via the SDK's batch
|
|
13
|
+
* manager.
|
|
14
|
+
*/
|
|
15
|
+
async function synthesizeViews(config, items) {
|
|
16
|
+
const response = await (0, request_js_1.makeRequest)(config, {
|
|
17
|
+
method: 'POST',
|
|
18
|
+
path: '/v1/user/synthesize-views',
|
|
19
|
+
body: { items },
|
|
20
|
+
});
|
|
21
|
+
if (!response?.items) {
|
|
22
|
+
throw new Error('Failed to synthesize views: no items in response');
|
|
23
|
+
}
|
|
24
|
+
return response.items;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=synthesizeView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"synthesizeView.js","sourceRoot":"","sources":["../../src/user/synthesizeView.ts"],"names":[],"mappings":";;AA6CA,0CAeC;AA3DD,8CAA4C;AAkC5C;;;;;;;;;GASG;AACI,KAAK,UAAU,eAAe,CACnC,MAAqB,EACrB,KAAkC;IAElC,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAW,EAAsC,MAAM,EAAE;QAC9E,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,EAAE,KAAK,EAAE;KAChB,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,QAAQ,CAAC,KAAK,CAAC;AACxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeDefs.d.ts","sourceRoot":"","sources":["../../src/user/typeDefs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAErD,gDAAgD;AAChD,MAAM,MAAM,iBAAiB,GAC3B,KAAK,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAErF,+EAA+E;AAC/E,MAAM,MAAM,4BAA4B,GAAG,iBAAiB,CAAC;AAE7D,6CAA6C;AAC7C,MAAM,MAAM,eAAe,GAAG,cAAc,EAAE,CAAC;AAE/C,0CAA0C;AAC1C,MAAM,MAAM,cAAc,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"typeDefs.d.ts","sourceRoot":"","sources":["../../src/user/typeDefs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAErD,gDAAgD;AAChD,MAAM,MAAM,iBAAiB,GAC3B,KAAK,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAErF,+EAA+E;AAC/E,MAAM,MAAM,4BAA4B,GAAG,iBAAiB,CAAC;AAE7D,6CAA6C;AAC7C,MAAM,MAAM,eAAe,GAAG,cAAc,EAAE,CAAC;AAE/C,0CAA0C;AAC1C,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG;IAChF,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG;QACrE,MAAM,EAAE,sBAAsB,CAAC;KAChC,CAAC;CACH,CAAC;AAEF,wFAAwF;AACxF,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E,oIAAoI;AACpI,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEtD,qEAAqE;AACrE,MAAM,MAAM,0BAA0B,GAAG,WAAW,CAClD,KAAK,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CACzD,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitbitpress/client",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.1.0-alpha.0",
|
|
4
4
|
"description": "BitBitPress TypeScript client library",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -10,6 +10,14 @@
|
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
11
11
|
"import": "./dist/index.js",
|
|
12
12
|
"require": "./dist/index.cjs"
|
|
13
|
+
},
|
|
14
|
+
"./react": {
|
|
15
|
+
"types": "./dist/react/index.d.ts",
|
|
16
|
+
"import": "./dist/react/index.js"
|
|
17
|
+
},
|
|
18
|
+
"./react-native-expo": {
|
|
19
|
+
"types": "./dist/react-native-expo/index.d.ts",
|
|
20
|
+
"import": "./dist/react-native-expo/index.js"
|
|
13
21
|
}
|
|
14
22
|
},
|
|
15
23
|
"files": [
|
|
@@ -18,19 +26,19 @@
|
|
|
18
26
|
],
|
|
19
27
|
"scripts": {
|
|
20
28
|
"prebuild": "rimraf dist",
|
|
21
|
-
"build": "tsc && npm run build:cjs && npm run copy:types",
|
|
29
|
+
"build": "tsc && tsc --project tsconfig.ui.json && npm run build:cjs && npm run copy:types",
|
|
22
30
|
"copy:types": "mkdir -p dist/generated && cp src/generated/openapi.d.ts dist/generated/openapi.d.ts && cp src/generated/openapi.ts dist/generated/openapi.ts",
|
|
23
31
|
"build:with-types": "npm run generate:types && npm run build",
|
|
24
32
|
"build:cjs": "tsc --project tsconfig.cjs.json",
|
|
25
33
|
"build:watch": "npm-run-all --parallel generate:types:watch ts:watch",
|
|
26
|
-
"generate:types": "
|
|
27
|
-
"generate:types:url": "
|
|
34
|
+
"generate:types": "node scripts/generate-types.mjs",
|
|
35
|
+
"generate:types:url": "node scripts/generate-types.mjs",
|
|
28
36
|
"generate:types:watch": "chokidar 'http://localhost:4001/docs/json' -c 'npm run generate:types'",
|
|
29
37
|
"ts:watch": "tsc -w",
|
|
30
38
|
"lint": "biome check .",
|
|
31
39
|
"lint:fix": "biome check . --write",
|
|
32
|
-
"test": "tsx --test src/**/*.test.ts",
|
|
33
|
-
"test:watch": "tsx --test --watch src/**/*.test.ts",
|
|
40
|
+
"test": "TSX_TSCONFIG_PATH=./tsconfig.ui.json tsx --test src/**/*.test.ts",
|
|
41
|
+
"test:watch": "TSX_TSCONFIG_PATH=./tsconfig.ui.json tsx --test --watch src/**/*.test.ts",
|
|
34
42
|
"prepublishOnly": "npm run build"
|
|
35
43
|
},
|
|
36
44
|
"keywords": [
|
|
@@ -56,19 +64,35 @@
|
|
|
56
64
|
"devDependencies": {
|
|
57
65
|
"@biomejs/biome": "^2.3.11",
|
|
58
66
|
"@types/node": "^24.10.8",
|
|
67
|
+
"@types/react": "^18.3.12",
|
|
68
|
+
"@types/react-dom": "^18.3.1",
|
|
59
69
|
"chokidar-cli": "^3.0.0",
|
|
60
70
|
"npm-run-all": "^4.1.5",
|
|
61
71
|
"openapi-typescript": "^7.4.2",
|
|
72
|
+
"react": "^18.3.1",
|
|
73
|
+
"react-dom": "^18.3.1",
|
|
62
74
|
"rimraf": "^6.1.2",
|
|
63
75
|
"tsx": "^4.21.0",
|
|
64
76
|
"typescript": "^5.9.3"
|
|
65
77
|
},
|
|
66
78
|
"peerDependencies": {
|
|
67
|
-
"@types/react-native": "*"
|
|
79
|
+
"@types/react-native": "*",
|
|
80
|
+
"expo-linear-gradient": ">=12",
|
|
81
|
+
"react": ">=18",
|
|
82
|
+
"react-native": ">=0.76"
|
|
68
83
|
},
|
|
69
84
|
"peerDependenciesMeta": {
|
|
70
85
|
"@types/react-native": {
|
|
71
86
|
"optional": true
|
|
87
|
+
},
|
|
88
|
+
"expo-linear-gradient": {
|
|
89
|
+
"optional": true
|
|
90
|
+
},
|
|
91
|
+
"react": {
|
|
92
|
+
"optional": true
|
|
93
|
+
},
|
|
94
|
+
"react-native": {
|
|
95
|
+
"optional": true
|
|
72
96
|
}
|
|
73
97
|
}
|
|
74
98
|
}
|