@bitbitpress/client 0.1.8 → 0.1.9

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.
Files changed (46) hide show
  1. package/README.md +106 -118
  2. package/dist/examples/basic-usage.d.ts.map +1 -1
  3. package/dist/examples/basic-usage.js +39 -47
  4. package/dist/examples/basic-usage.js.map +1 -1
  5. package/dist/generated/openapi.d.ts +26 -39
  6. package/dist/index.d.ts +2 -2
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/user/batch-manager.d.ts +6 -5
  9. package/dist/user/batch-manager.d.ts.map +1 -1
  10. package/dist/user/batch-manager.js +15 -23
  11. package/dist/user/batch-manager.js.map +1 -1
  12. package/dist/user/index.d.ts +28 -32
  13. package/dist/user/index.d.ts.map +1 -1
  14. package/dist/user/index.js +44 -20
  15. package/dist/user/index.js.map +1 -1
  16. package/dist/user/profile.d.ts +2 -2
  17. package/dist/user/profile.d.ts.map +1 -1
  18. package/dist/user/profile.js +2 -2
  19. package/dist/user/profile.js.map +1 -1
  20. package/dist/user/recommendations.d.ts +5 -12
  21. package/dist/user/recommendations.d.ts.map +1 -1
  22. package/dist/user/recommendations.js +3 -3
  23. package/dist/user/recommendations.js.map +1 -1
  24. package/dist/user/report.d.ts +3 -3
  25. package/dist/user/report.d.ts.map +1 -1
  26. package/dist/user/report.js +3 -3
  27. package/dist/user/report.js.map +1 -1
  28. package/dist/user/signal-batch-manager.d.ts +5 -7
  29. package/dist/user/signal-batch-manager.d.ts.map +1 -1
  30. package/dist/user/signal-batch-manager.js +7 -7
  31. package/dist/user/signal-batch-manager.js.map +1 -1
  32. package/dist/user/signal.d.ts +3 -3
  33. package/dist/user/signal.d.ts.map +1 -1
  34. package/dist/user/signal.js +3 -3
  35. package/dist/user/signal.js.map +1 -1
  36. package/dist/user/synthesize.d.ts +19 -13
  37. package/dist/user/synthesize.d.ts.map +1 -1
  38. package/dist/user/synthesize.js +26 -4
  39. package/dist/user/synthesize.js.map +1 -1
  40. package/dist/user/token.d.ts +3 -3
  41. package/dist/user/token.d.ts.map +1 -1
  42. package/dist/user/token.js +3 -3
  43. package/dist/user/token.js.map +1 -1
  44. package/dist/user/typeDefs.d.ts +18 -0
  45. package/dist/user/typeDefs.d.ts.map +1 -1
  46. package/package.json +1 -1
@@ -1,25 +1,31 @@
1
1
  import type { RequestConfig } from '../request.js';
2
- import type { SynthesizeRequest } from './typeDefs.js';
2
+ import type { SynthesizeItems } from './typeDefs.js';
3
+ export type SynthesizeItemResponse = {
4
+ data?: unknown;
5
+ error?: string;
6
+ };
3
7
  /**
4
- * Type for synthesize stream events
5
- * Derived from the synthesize function's return type
8
+ * Synthesize stream event types (SSE). Per OpenAPI spec:
9
+ * - Connection: `{ type: 'connected' | 'complete' }`
10
+ * - Data: `{ index: number, data?: unknown, error?: string }` (data matches your output schema when present; error set on failure)
6
11
  */
7
12
  export type SynthesizeEvent = {
8
- type: 'DAILY_SUMMARY' | 'CUSTOM' | 'connected' | 'complete';
9
- index?: number;
13
+ type: 'connected';
14
+ } | {
15
+ type: 'complete';
16
+ } | {
17
+ index: number;
10
18
  data?: unknown;
19
+ error?: string;
11
20
  };
12
21
  /**
13
- * Synthesize user content (streaming)
22
+ * Synthesize content items personalized to the user (streaming SSE).
14
23
  *
15
24
  * @param config - Request configuration with base URL, timeout, fetch, and optional token
16
- * @param items - Array of items to synthesize (type: SynthesizeRequest['items'])
17
- * @returns AsyncIterable that yields synthesis events (DAILY_SUMMARY, CUSTOM, connected, complete)
18
- */
19
- export declare function synthesize(config: RequestConfig, items: SynthesizeRequest['items']): Promise<AsyncIterable<SynthesizeEvent>>;
20
- /**
21
- * Extract the event type from the synthesize function's return type
22
- * This provides a type-safe way to reference the event type
25
+ * @param items - Array of items: each has optional inputs (`type`: externalId | text | excludeExternalIds, `value`), output (schema as JSON string or Zod 4 schema, optional staleAfter), optional configurationKeyName
26
+ * @returns AsyncIterable yielding connection events (connected, complete) and data events (index, data?, error?)
23
27
  */
28
+ export declare function synthesize(config: RequestConfig, items: SynthesizeItems): Promise<AsyncIterable<SynthesizeEvent>>;
29
+ /** Event type inferred from synthesize stream (for type-safe usage). */
24
30
  export type SynthesizeEventFromReturn = Awaited<ReturnType<typeof synthesize>> extends AsyncIterable<infer T> ? T : never;
25
31
  //# sourceMappingURL=synthesize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"synthesize.d.ts","sourceRoot":"","sources":["../../src/user/synthesize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,eAAe,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAChC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAMzC;AAED;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GACnC,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,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;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAExE;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AA0BtD;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAOzC;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,19 +1,41 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.synthesize = synthesize;
4
+ const zod_1 = require("zod");
4
5
  const request_js_1 = require("../request.js");
6
+ /** Detect Zod 4 schema (has _zod internals). */
7
+ function isZodSchema(value) {
8
+ return typeof value === 'object' && value !== null && '_zod' in value;
9
+ }
10
+ /** Normalize items so output.schema is always a JSON schema string (Zod schemas are converted via toJSONSchema). */
11
+ function normalizeSynthesizeItems(items) {
12
+ return items.map((item) => {
13
+ const schema = item.output.schema;
14
+ const schemaString = isZodSchema(schema)
15
+ ? JSON.stringify((0, zod_1.toJSONSchema)(schema))
16
+ : schema;
17
+ return {
18
+ ...item,
19
+ output: {
20
+ ...item.output,
21
+ schema: schemaString,
22
+ },
23
+ };
24
+ });
25
+ }
5
26
  /**
6
- * Synthesize user content (streaming)
27
+ * Synthesize content items personalized to the user (streaming SSE).
7
28
  *
8
29
  * @param config - Request configuration with base URL, timeout, fetch, and optional token
9
- * @param items - Array of items to synthesize (type: SynthesizeRequest['items'])
10
- * @returns AsyncIterable that yields synthesis events (DAILY_SUMMARY, CUSTOM, connected, complete)
30
+ * @param items - Array of items: each has optional inputs (`type`: externalId | text | excludeExternalIds, `value`), output (schema as JSON string or Zod 4 schema, optional staleAfter), optional configurationKeyName
31
+ * @returns AsyncIterable yielding connection events (connected, complete) and data events (index, data?, error?)
11
32
  */
12
33
  async function synthesize(config, items) {
34
+ const normalizedItems = normalizeSynthesizeItems(items);
13
35
  return (0, request_js_1.makeRequest)(config, {
14
36
  method: 'POST',
15
37
  path: '/v1/user/synthesize',
16
- body: { items },
38
+ body: { items: normalizedItems },
17
39
  });
18
40
  }
19
41
  //# sourceMappingURL=synthesize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"synthesize.js","sourceRoot":"","sources":["../../src/user/synthesize.ts"],"names":[],"mappings":";;AAqBA,gCASC;AA7BD,8CAA4C;AAa5C;;;;;;GAMG;AACI,KAAK,UAAU,UAAU,CAC9B,MAAqB,EACrB,KAAiC;IAEjC,OAAO,IAAA,wBAAW,EAAC,MAAM,EAAE;QACzB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,EAAE,KAAK,EAAE;KAChB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"synthesize.js","sourceRoot":"","sources":["../../src/user/synthesize.ts"],"names":[],"mappings":";;AAiDA,gCAUC;AA3DD,6BAAmC;AAEnC,8CAA4C;AAgB5C,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;AAED;;;;;;GAMG;AACI,KAAK,UAAU,UAAU,CAC9B,MAAqB,EACrB,KAAsB;IAEtB,MAAM,eAAe,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACxD,OAAO,IAAA,wBAAW,EAAC,MAAM,EAAE;QACzB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE;KACjC,CAAC,CAAC;AACL,CAAC"}
@@ -3,11 +3,11 @@ import type { RequestConfig } from '../request.js';
3
3
  export type TokenRequest = paths['/v1/auth/token']['post']['requestBody']['content']['application/json'];
4
4
  export type TokenResponse = paths['/v1/auth/token']['post']['responses'][200]['content']['application/json']['data'];
5
5
  /**
6
- * Exchange SSO token for authentication token
6
+ * Exchange SSO token for a BitBitPress authentication token (required for other endpoints).
7
7
  *
8
8
  * @param config - Request configuration with base URL, timeout, and fetch
9
- * @param ssoToken - The SSO token to exchange for an authentication token
10
- * @returns Promise that resolves with token response containing idToken or accessToken
9
+ * @param ssoToken - The token from your authentication provider (OIDC)
10
+ * @returns Promise that resolves with token data (idToken, accessToken, refreshToken, expiresIn)
11
11
  */
12
12
  export declare function exchangeToken(config: RequestConfig, ssoToken: TokenRequest['ssoToken']): Promise<NonNullable<TokenResponse>>;
13
13
  //# sourceMappingURL=token.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/user/token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAInD,MAAM,MAAM,YAAY,GACtB,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAChF,MAAM,MAAM,aAAa,GACvB,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3F;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,GACjC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAcrC"}
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/user/token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAInD,MAAM,MAAM,YAAY,GACtB,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAChF,MAAM,MAAM,aAAa,GACvB,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3F;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,GACjC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAYrC"}
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.exchangeToken = exchangeToken;
4
4
  const request_js_1 = require("../request.js");
5
5
  /**
6
- * Exchange SSO token for authentication token
6
+ * Exchange SSO token for a BitBitPress authentication token (required for other endpoints).
7
7
  *
8
8
  * @param config - Request configuration with base URL, timeout, and fetch
9
- * @param ssoToken - The SSO token to exchange for an authentication token
10
- * @returns Promise that resolves with token response containing idToken or accessToken
9
+ * @param ssoToken - The token from your authentication provider (OIDC)
10
+ * @returns Promise that resolves with token data (idToken, accessToken, refreshToken, expiresIn)
11
11
  */
12
12
  async function exchangeToken(config, ssoToken) {
13
13
  const response = await (0, request_js_1.makeRequest)(config, {
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/user/token.ts"],"names":[],"mappings":";;AAiBA,sCAiBC;AAhCD,8CAA4C;AAQ5C;;;;;;GAMG;AACI,KAAK,UAAU,aAAa,CACjC,MAAqB,EACrB,QAAkC;IAElC,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAW,EAEhC,MAAM,EAAE;QACR,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,EAAE,QAAQ,EAAE;KACnB,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/user/token.ts"],"names":[],"mappings":";;AAiBA,sCAeC;AA9BD,8CAA4C;AAQ5C;;;;;;GAMG;AACI,KAAK,UAAU,aAAa,CACjC,MAAqB,EACrB,QAAkC;IAElC,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAW,EAAgB,MAAM,EAAE;QACxD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,EAAE,QAAQ,EAAE;KACnB,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,3 +1,21 @@
1
+ import type { ZodType } from 'zod';
1
2
  import type { paths } from '../generated/openapi.js';
3
+ /** Request body for POST /v1/user/synthesize */
2
4
  export type SynthesizeRequest = paths['/v1/user/synthesize']['post']['requestBody']['content']['application/json'];
5
+ /** Request body for POST /v1/user/synthesize (alias for SynthesizeRequest). */
6
+ export type BitBitPressSynthesizeRequest = SynthesizeRequest;
7
+ /** Array of synthesize items (API shape). */
8
+ export type SynthesizeItems = SynthesizeItem[];
9
+ /** Single synthesize item (API shape). */
10
+ export type SynthesizeItem = Omit<SynthesizeRequest['items'][number], 'output'> & {
11
+ output: Omit<SynthesizeRequest['items'][number]['output'], 'schema'> & {
12
+ schema: SynthesizeOutputSchema;
13
+ };
14
+ };
15
+ /** Single input in an item's inputs array (externalId, text, or excludeExternalIds). */
16
+ export type SynthesizeInput = NonNullable<SynthesizeItem['inputs']>[number];
17
+ /** Output schema for a synthesize item: JSON schema as string, or a Zod 4 schema (converted to JSON schema string when sending). */
18
+ export type SynthesizeOutputSchema = string | ZodType;
19
+ /** Request body for POST /v1/user/recommendations (optional body) */
20
+ export type RecommendationsRequestBody = NonNullable<paths['/v1/user/recommendations']['post']['requestBody']>['content']['application/json'];
3
21
  //# sourceMappingURL=typeDefs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typeDefs.d.ts","sourceRoot":"","sources":["../../src/user/typeDefs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAGrD,MAAM,MAAM,iBAAiB,GAC3B,KAAK,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC"}
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,CAC/B,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAClC,QAAQ,CACP,GAAG;IACJ,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": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "description": "BitBitPress TypeScript client library",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",