@bitbitpress/client 1.1.2 → 1.1.4

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 (64) hide show
  1. package/dist/generated/openapi.d.ts +449 -7
  2. package/dist/react/index.d.ts +91 -12
  3. package/dist/react/index.d.ts.map +1 -1
  4. package/dist/react/index.js +146 -12
  5. package/dist/react/index.js.map +1 -1
  6. package/dist/react-native-expo/BitBitPiece.d.ts +64 -0
  7. package/dist/react-native-expo/BitBitPiece.d.ts.map +1 -0
  8. package/dist/react-native-expo/BitBitPiece.js +164 -0
  9. package/dist/react-native-expo/BitBitPiece.js.map +1 -0
  10. package/dist/react-native-expo/BitBitView.d.ts +32 -0
  11. package/dist/react-native-expo/BitBitView.d.ts.map +1 -0
  12. package/dist/react-native-expo/BitBitView.js +130 -0
  13. package/dist/react-native-expo/BitBitView.js.map +1 -0
  14. package/dist/react-native-expo/bootstrapHtml.d.ts +33 -0
  15. package/dist/react-native-expo/bootstrapHtml.d.ts.map +1 -0
  16. package/dist/react-native-expo/bootstrapHtml.js +175 -0
  17. package/dist/react-native-expo/bootstrapHtml.js.map +1 -0
  18. package/dist/react-native-expo/index.d.ts +3 -0
  19. package/dist/react-native-expo/index.d.ts.map +1 -1
  20. package/dist/react-native-expo/index.js +2 -0
  21. package/dist/react-native-expo/index.js.map +1 -1
  22. package/dist/runtime/index.d.ts +45 -0
  23. package/dist/runtime/index.d.ts.map +1 -1
  24. package/dist/runtime/index.js +68 -2
  25. package/dist/runtime/index.js.map +1 -1
  26. package/dist/studio/BitBitMobilePreview.d.ts +33 -0
  27. package/dist/studio/BitBitMobilePreview.d.ts.map +1 -0
  28. package/dist/studio/BitBitMobilePreview.js +120 -0
  29. package/dist/studio/BitBitMobilePreview.js.map +1 -0
  30. package/dist/studio/index.d.ts +7 -0
  31. package/dist/studio/index.d.ts.map +1 -0
  32. package/dist/studio/index.js +7 -0
  33. package/dist/studio/index.js.map +1 -0
  34. package/dist/synthesisUi/context.d.ts +2 -2
  35. package/dist/synthesisUi/context.js +1 -1
  36. package/dist/synthesisUi/types.d.ts +14 -2
  37. package/dist/synthesisUi/types.d.ts.map +1 -1
  38. package/dist/user/index.d.ts +28 -1
  39. package/dist/user/index.d.ts.map +1 -1
  40. package/dist/user/index.js +6 -1
  41. package/dist/user/index.js.map +1 -1
  42. package/dist/user/synthesisPiece.d.ts +38 -0
  43. package/dist/user/synthesisPiece.d.ts.map +1 -0
  44. package/dist/user/synthesisPiece.js +58 -0
  45. package/dist/user/synthesisPiece.js.map +1 -0
  46. package/dist/user/synthesize.d.ts +4 -0
  47. package/dist/user/synthesize.d.ts.map +1 -1
  48. package/dist/user/synthesize.js +1 -0
  49. package/dist/user/synthesize.js.map +1 -1
  50. package/dist/user/synthesizeUi.d.ts +35 -13
  51. package/dist/user/synthesizeUi.d.ts.map +1 -1
  52. package/dist/user/synthesizeUi.js +38 -9
  53. package/dist/user/synthesizeUi.js.map +1 -1
  54. package/dist/user/track-batch-manager.d.ts +10 -4
  55. package/dist/user/track-batch-manager.d.ts.map +1 -1
  56. package/dist/user/track-batch-manager.js +6 -5
  57. package/dist/user/track-batch-manager.js.map +1 -1
  58. package/dist/user/track.d.ts +9 -0
  59. package/dist/user/track.d.ts.map +1 -1
  60. package/dist/user/track.js +17 -0
  61. package/dist/user/track.js.map +1 -1
  62. package/dist/user/typeDefs.d.ts +13 -0
  63. package/dist/user/typeDefs.d.ts.map +1 -1
  64. package/package.json +11 -6
@@ -1,12 +1,12 @@
1
1
  import { type ReactNode } from 'react';
2
2
  import type { SynthesizeUiFetcher } from './types.js';
3
3
  export type BitBitContextValue = {
4
- /** Client `<BitBitSynthesis>` fetches generated UIs through, so it can be
4
+ /** Client `<BitBitView>` fetches generated UIs through, so it can be
5
5
  * set once here instead of passed to every instance. */
6
6
  client?: SynthesizeUiFetcher;
7
7
  };
8
8
  /**
9
- * Registers shared SDK config: the `client` `<BitBitSynthesis>` fetches
9
+ * Registers shared SDK config: the `client` `<BitBitView>` fetches
10
10
  * generated UIs through. Platform-agnostic, so this provider is shared by the
11
11
  * web and native entries.
12
12
  */
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { createContext, useContext } from 'react';
3
3
  const BitBitContext = createContext(null);
4
4
  /**
5
- * Registers shared SDK config: the `client` `<BitBitSynthesis>` fetches
5
+ * Registers shared SDK config: the `client` `<BitBitView>` fetches
6
6
  * generated UIs through. Platform-agnostic, so this provider is shared by the
7
7
  * web and native entries.
8
8
  */
@@ -1,3 +1,5 @@
1
+ import type { paths } from '../generated/openapi.js';
2
+ import type { SynthesisUiHistoryEntry } from '../runtime/index.js';
1
3
  export type SynthesisUiPlatform = 'web' | 'mobile';
2
4
  /** Per-UI stream event the fetcher yields: a `manifest` (bundle ref + theme),
3
5
  * then `data` events as the synthesis output streams in. */
@@ -10,12 +12,22 @@ export type SynthesisUiStreamEvent = {
10
12
  type: 'data';
11
13
  data: unknown;
12
14
  complete: boolean;
15
+ /** Recent prior outputs (when `synthesisHistoryLimit > 0`), most-recent
16
+ * first. Forwarded into the view's `history` prop. */
17
+ synthesisHistoryEntries?: SynthesisUiHistoryEntry[];
13
18
  } | {
14
19
  type: 'error';
15
20
  error: string;
16
21
  };
17
22
  /**
18
- * Minimal structural shape `<BitBitSynthesis>` needs to fetch a UI. A
23
+ * Optional per-request synthesis inputs a UI request may carry — mirrors
24
+ * `/v1/user/synthesize` (the UI synthesizes against its attached config). Derived
25
+ * from the OpenAPI `/v1/user/synthesize-ui` item (minus `keyName`); all optional.
26
+ * Set `synthesisHistoryLimit > 0` to populate the view's `history` prop.
27
+ */
28
+ export type SynthesisUiRequestInputs = Omit<paths['/v1/user/synthesize-ui']['post']['requestBody']['content']['application/json']['items'][number], 'keyName'>;
29
+ /**
30
+ * Minimal structural shape `<BitBitView>` needs to fetch a UI. A
19
31
  * `BitBitPressClient` satisfies it via `client.user.synthesizeUi(...)`; the
20
32
  * CMS studio passes a preview fetcher that resolves the draft instead.
21
33
  */
@@ -24,7 +36,7 @@ export interface SynthesizeUiFetcher {
24
36
  synthesizeUi(request: {
25
37
  keyName: string;
26
38
  platform?: SynthesisUiPlatform;
27
- }): AsyncIterable<SynthesisUiStreamEvent> | Promise<AsyncIterable<SynthesisUiStreamEvent>>;
39
+ } & SynthesisUiRequestInputs): AsyncIterable<SynthesisUiStreamEvent> | Promise<AsyncIterable<SynthesisUiStreamEvent>>;
28
40
  };
29
41
  }
30
42
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/synthesisUi/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEnD;6DAC6D;AAC7D,MAAM,MAAM,sBAAsB,GAC9B;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,GACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE;QACJ,YAAY,CAAC,OAAO,EAAE;YACpB,OAAO,EAAE,MAAM,CAAC;YAChB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;SAChC,GAAG,aAAa,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC;KAC5F,CAAC;CACH"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/synthesisUi/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEnD;6DAC6D;AAC7D,MAAM,MAAM,sBAAsB,GAC9B;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB;2DACuD;IACvD,uBAAuB,CAAC,EAAE,uBAAuB,EAAE,CAAC;CACrD,GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACzC,KAAK,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EACtG,SAAS,CACV,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE;QACJ,YAAY,CACV,OAAO,EAAE;YACP,OAAO,EAAE,MAAM,CAAC;YAChB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;SAChC,GAAG,wBAAwB,GAC3B,aAAa,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC;KAC3F,CAAC;CACH"}
@@ -6,6 +6,7 @@ import { type RecommendationsRequest, type RecommendationsResponse } from './rec
6
6
  import { type ReportRequest, type ReportResponse } from './report.js';
7
7
  import { type Signal, type SignalRequest, type SignalResponse } from './signal.js';
8
8
  import { type CreateUserSubmissionRequest, type CreateUserSubmissionResponse, type ListUserSubmissionsRequest, type ListUserSubmissionsResponse, type SubmissionFeed, type SubmissionState, type SubmitRequest, type SubmitResponse } from './submissions.js';
9
+ import { type SynthesisPieceResponse, type SynthesisPieceTtsRef } from './synthesisPiece.js';
9
10
  import { type SynthesizeEvent, type SynthesizeItemResponse } from './synthesize.js';
10
11
  import { type SynthesizeOnStreamingData } from './synthesize-batch-manager.js';
11
12
  import { type SynthesisUiStreamEvent, type SynthesizeUiEvent, type SynthesizeUiRequest, type SynthesizeUiRequestItem } from './synthesizeUi.js';
@@ -129,6 +130,13 @@ export interface UserMethods {
129
130
  * @param event - Single event to record
130
131
  */
131
132
  trackItem(event: TrackEvent): Promise<NonNullable<TrackResponse>>;
133
+ /**
134
+ * Record a single SynthesisPiece embed event (batched) — the piece counterpart of `trackItem`,
135
+ * posted to the dedicated piece-events endpoint so a shared keyName is never misattributed.
136
+ *
137
+ * @param event - Single event to record
138
+ */
139
+ trackPieceItem(event: TrackEvent): Promise<NonNullable<TrackResponse>>;
132
140
  /**
133
141
  * Synthesize content items personalized to the user (streaming SSE).
134
142
  *
@@ -171,7 +179,7 @@ export interface UserMethods {
171
179
  respondToInteraction(interactionId: string, options: InteractionResponseRequest): Promise<NonNullable<InteractionResponseResponse>>;
172
180
  /**
173
181
  * Resolve a generated SynthesisUI by `keyName` for a platform, as a per-UI
174
- * stream (manifest, then data). This is the path `<BitBitSynthesis>` uses
182
+ * stream (manifest, then data). This is the path `<BitBitView>` uses
175
183
  * under the hood.
176
184
  */
177
185
  synthesizeUi(request: SynthesizeUiRequest): Promise<AsyncIterable<SynthesisUiStreamEvent>>;
@@ -180,6 +188,25 @@ export interface UserMethods {
180
188
  * (bundles + theme) then per-item data events, index-matched to `items`.
181
189
  */
182
190
  synthesizeUis(items: SynthesizeUiRequestItem[], platform?: SynthesizeUiRequest['platform']): Promise<AsyncIterable<SynthesizeUiEvent>>;
191
+ /**
192
+ * Resolve a published synthesis piece for embedding by `keyName` — its generated
193
+ * web bundle, current field values (incl. pre-generated `audioData.url`s), and
194
+ * deployment theme. This is the path `<BitBitPiece keyName>` uses under the hood.
195
+ *
196
+ * @param keyName - Stable identifier of the piece to embed
197
+ */
198
+ getSynthesisPiece(keyName: string): Promise<SynthesisPieceResponse>;
199
+ /**
200
+ * Mint a short-lived streaming audio URL for a published piece's spoken turns — the
201
+ * on-demand TTS a rendered audio player calls on play. Pass one turn for a single narration,
202
+ * or several (each its own voice) for a multi-speaker dialogue synthesized as one clip. Every
203
+ * turn's `text` must be part of the piece (`keyName`). This is the path `<BitBitPiece
204
+ * keyName>` wires into `ctx.tts` under the hood.
205
+ *
206
+ * @param keyName - Stable identifier of the piece the turns belong to
207
+ * @param turns - The ordered turns to synthesize
208
+ */
209
+ synthesisPieceTtsUrl(keyName: string, ref?: SynthesisPieceTtsRef): Promise<string>;
183
210
  }
184
211
  /**
185
212
  * User-related API methods (uses shared auth store).
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/user/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/user/index.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ const report_js_1 = require("./report.js");
8
8
  const signal_js_1 = require("./signal.js");
9
9
  const signal_batch_manager_js_1 = require("./signal-batch-manager.js");
10
10
  const submissions_js_1 = require("./submissions.js");
11
+ const synthesisPiece_js_1 = require("./synthesisPiece.js");
11
12
  const synthesize_js_1 = require("./synthesize.js");
12
13
  const synthesize_batch_manager_js_1 = require("./synthesize-batch-manager.js");
13
14
  const synthesizeUi_js_1 = require("./synthesizeUi.js");
@@ -21,7 +22,8 @@ function createUserMethods(authStore, config, synthesizeBatchTimeout = 250, sign
21
22
  const getConfigWithToken = authStore.getConfigWithToken.bind(authStore);
22
23
  const synthesizeBatchManager = new synthesize_batch_manager_js_1.SynthesizeBatchManager(getConfigWithToken, synthesizeBatchTimeout);
23
24
  const signalBatchManager = new signal_batch_manager_js_1.SignalBatchManager(getConfigWithToken, signalBatchTimeout);
24
- const trackBatchManager = new track_batch_manager_js_1.TrackBatchManager(getConfigWithToken, signalBatchTimeout);
25
+ const trackBatchManager = new track_batch_manager_js_1.TrackBatchManager(getConfigWithToken, signalBatchTimeout, track_js_1.recordEvents);
26
+ const pieceTrackBatchManager = new track_batch_manager_js_1.TrackBatchManager(getConfigWithToken, signalBatchTimeout, track_js_1.recordPieceEvents);
25
27
  return {
26
28
  authenticate: authStore.authenticate.bind(authStore),
27
29
  token: (ssoToken) => (0, token_js_1.exchangeToken)(config, ssoToken),
@@ -38,12 +40,15 @@ function createUserMethods(authStore, config, synthesizeBatchTimeout = 250, sign
38
40
  signalItem: (signal) => signalBatchManager.addSignal(signal),
39
41
  track: (options) => getConfigWithToken().then((cfg) => (0, track_js_1.recordEvents)(cfg, options)),
40
42
  trackItem: (event) => trackBatchManager.addEvent(event),
43
+ trackPieceItem: (event) => pieceTrackBatchManager.addEvent(event),
41
44
  synthesize: (items, options) => getConfigWithToken().then((cfg) => (0, synthesize_js_1.synthesize)(cfg, items, options)),
42
45
  synthesizeItem: (item, onStreamingData) => synthesizeBatchManager.addItem(item, onStreamingData),
43
46
  interactions: (options) => getConfigWithToken().then((cfg) => (0, interaction_js_1.getInteractions)(cfg, options)),
44
47
  respondToInteraction: (interactionId, options) => getConfigWithToken().then((cfg) => (0, interaction_js_1.respondToInteraction)(cfg, interactionId, options)),
45
48
  synthesizeUi: (request) => getConfigWithToken().then((cfg) => (0, synthesizeUi_js_1.synthesizeUi)(cfg, request)),
46
49
  synthesizeUis: (items, platform) => getConfigWithToken().then((cfg) => (0, synthesizeUi_js_1.synthesizeUis)(cfg, items, platform)),
50
+ getSynthesisPiece: (keyName) => getConfigWithToken().then((cfg) => (0, synthesisPiece_js_1.getSynthesisPiece)(cfg, keyName)),
51
+ synthesisPieceTtsUrl: (keyName, ref) => getConfigWithToken().then((cfg) => (0, synthesisPiece_js_1.synthesisPieceTtsUrl)(cfg, keyName, ref)),
47
52
  };
48
53
  }
49
54
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/user/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/user/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { paths } from '../generated/openapi.js';
2
+ import type { RequestConfig } from '../request.js';
3
+ /** A resolved published piece: its generated web bundle + current field values +
4
+ * deployment theme, ready to mount via `<BitBitPiece>`. */
5
+ export type SynthesisPieceResponse = {
6
+ uiWebCode: string;
7
+ fields: Record<string, unknown>;
8
+ theme: Record<string, string>;
9
+ };
10
+ /**
11
+ * Resolve a published synthesis piece for embedding by its `keyName`: the
12
+ * generated web bundle (`uiWebCode`), current field values (`fields`, including
13
+ * any pre-generated `audioData.url`s), and deployment `theme`. Used by
14
+ * `<BitBitPiece keyName>`. Hits the batch endpoint with a single item.
15
+ *
16
+ * @param config - Request configuration with base URL, timeout, fetch, and optional token
17
+ * @param keyName - Stable identifier of the piece to embed
18
+ * @returns Promise resolving with the piece's bundle, fields, and theme
19
+ */
20
+ export declare function getSynthesisPiece(config: RequestConfig, keyName: string): Promise<SynthesisPieceResponse>;
21
+ type SynthesisPieceTtsBody = paths['/v1/user/synthesis-piece/tts']['post']['requestBody']['content']['application/json'];
22
+ /** A reference into a published piece's spoken content — omit for the whole piece, `field` scopes
23
+ * to a top-level field, `index` picks a single turn. The text lives in the piece. */
24
+ export type SynthesisPieceTtsRef = Pick<SynthesisPieceTtsBody, 'field' | 'index'>;
25
+ /**
26
+ * Mint a short-lived HLS URL for a published piece's spoken content — the on-demand TTS entry
27
+ * point a rendered audio player calls on play (via `ctx.tts`). The request REFERENCES the piece's
28
+ * content (omit `ref` for the whole piece, `field` to scope, `index` for a single turn); the
29
+ * server resolves the turns from the piece itself. Play the returned URL via `ctx.playMedia`.
30
+ *
31
+ * @param config - Request configuration with base URL, timeout, fetch, and optional token
32
+ * @param keyName - Stable identifier of the piece to voice
33
+ * @param ref - Optional reference into the piece's spoken content
34
+ * @returns Promise resolving with the playable streaming URL
35
+ */
36
+ export declare function synthesisPieceTtsUrl(config: RequestConfig, keyName: string, ref?: SynthesisPieceTtsRef): Promise<string>;
37
+ export {};
38
+ //# sourceMappingURL=synthesisPiece.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synthesisPiece.d.ts","sourceRoot":"","sources":["../../src/user/synthesisPiece.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAMnD;4DAC4D;AAC5D,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,sBAAsB,CAAC,CAgBjC;AAED,KAAK,qBAAqB,GACxB,KAAK,CAAC,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAI9F;sFACsF;AACtF,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC;AAElF;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,oBAAoB,GACzB,OAAO,CAAC,MAAM,CAAC,CAcjB"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSynthesisPiece = getSynthesisPiece;
4
+ exports.synthesisPieceTtsUrl = synthesisPieceTtsUrl;
5
+ const request_js_1 = require("../request.js");
6
+ /**
7
+ * Resolve a published synthesis piece for embedding by its `keyName`: the
8
+ * generated web bundle (`uiWebCode`), current field values (`fields`, including
9
+ * any pre-generated `audioData.url`s), and deployment `theme`. Used by
10
+ * `<BitBitPiece keyName>`. Hits the batch endpoint with a single item.
11
+ *
12
+ * @param config - Request configuration with base URL, timeout, fetch, and optional token
13
+ * @param keyName - Stable identifier of the piece to embed
14
+ * @returns Promise resolving with the piece's bundle, fields, and theme
15
+ */
16
+ async function getSynthesisPiece(config, keyName) {
17
+ const response = await (0, request_js_1.makeRequest)(config, {
18
+ method: 'POST',
19
+ path: '/v1/user/synthesis-piece',
20
+ body: { items: [{ keyName }] },
21
+ });
22
+ const item = response?.items?.[0];
23
+ if (!item || item.error || typeof item.uiWebCode !== 'string') {
24
+ throw new Error(item?.error ?? 'Failed to load piece: no data in response');
25
+ }
26
+ return {
27
+ uiWebCode: item.uiWebCode,
28
+ fields: (item.fields ?? {}),
29
+ theme: response.theme,
30
+ };
31
+ }
32
+ /**
33
+ * Mint a short-lived HLS URL for a published piece's spoken content — the on-demand TTS entry
34
+ * point a rendered audio player calls on play (via `ctx.tts`). The request REFERENCES the piece's
35
+ * content (omit `ref` for the whole piece, `field` to scope, `index` for a single turn); the
36
+ * server resolves the turns from the piece itself. Play the returned URL via `ctx.playMedia`.
37
+ *
38
+ * @param config - Request configuration with base URL, timeout, fetch, and optional token
39
+ * @param keyName - Stable identifier of the piece to voice
40
+ * @param ref - Optional reference into the piece's spoken content
41
+ * @returns Promise resolving with the playable streaming URL
42
+ */
43
+ async function synthesisPieceTtsUrl(config, keyName, ref) {
44
+ const response = await (0, request_js_1.makeRequest)(config, {
45
+ method: 'POST',
46
+ path: '/v1/user/synthesis-piece/tts',
47
+ body: {
48
+ keyName,
49
+ ...(ref?.field != null ? { field: ref.field } : {}),
50
+ ...(ref?.index != null ? { index: ref.index } : {}),
51
+ },
52
+ });
53
+ if (!response?.url) {
54
+ throw new Error(response?.error ?? 'Failed to synthesize audio');
55
+ }
56
+ return response.url;
57
+ }
58
+ //# sourceMappingURL=synthesisPiece.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synthesisPiece.js","sourceRoot":"","sources":["../../src/user/synthesisPiece.ts"],"names":[],"mappings":";;AAyBA,8CAmBC;AAsBD,oDAkBC;AAlFD,8CAA4C;AAa5C;;;;;;;;;GASG;AACI,KAAK,UAAU,iBAAiB,CACrC,MAAqB,EACrB,OAAe;IAEf,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAW,EAA0B,MAAM,EAAE;QAClE,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,0BAA0B;QAChC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;KAC/B,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,IAAI,2CAA2C,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAA4B;QACtD,KAAK,EAAE,QAAQ,CAAC,KAAK;KACtB,CAAC;AACJ,CAAC;AAWD;;;;;;;;;;GAUG;AACI,KAAK,UAAU,oBAAoB,CACxC,MAAqB,EACrB,OAAe,EACf,GAA0B;IAE1B,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAW,EAAwB,MAAM,EAAE;QAChE,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,8BAA8B;QACpC,IAAI,EAAE;YACJ,OAAO;YACP,GAAG,CAAC,GAAG,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,GAAG,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD;KACF,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,4BAA4B,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC;AACtB,CAAC"}
@@ -55,6 +55,10 @@ export type SynthesizeEvent = {
55
55
  complete: boolean;
56
56
  error?: string;
57
57
  };
58
+ /** Detect Zod 4 schema (has _zod internals). */
59
+ export declare function isZodSchema(value: unknown): value is {
60
+ _zod: unknown;
61
+ };
58
62
  /** Options for synthesize stream: optional callback for streaming data updates per item index. */
59
63
  export interface SynthesizeOptions {
60
64
  /** Called for each data event with complete: false, with (index, streaming data). */
@@ -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;AAExE,MAAM,MAAM,qBAAqB,GAAG;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEjF,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC;IAC7B;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;;GASG;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,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC;IAC7B,uBAAuB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAClD,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AA+BN,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
+ {"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,qBAAqB,GAAG;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEjF,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC;IAC7B;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;;GASG;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,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC;IAC7B,uBAAuB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAClD,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEN,gDAAgD;AAChD,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAEtE;AA0BD,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,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isZodSchema = isZodSchema;
3
4
  exports.synthesize = synthesize;
4
5
  const zod_1 = require("zod");
5
6
  const request_js_1 = require("../request.js");
@@ -1 +1 @@
1
- {"version":3,"file":"synthesize.js","sourceRoot":"","sources":["../../src/user/synthesize.ts"],"names":[],"mappings":";;AAsGA,gCA0BC;AAhID,6BAAmC;AAEnC,8CAA4C;AAyD5C,gDAAgD;AAChD,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,CAAC;AACxE,CAAC;AAED;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,KAAsB;IACtD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAsC,EAAE;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;QACnC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,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"}
1
+ {"version":3,"file":"synthesize.js","sourceRoot":"","sources":["../../src/user/synthesize.ts"],"names":[],"mappings":";;AA4DA,kCAEC;AAwCD,gCA0BC;AAhID,6BAAmC;AAEnC,8CAA4C;AAyD5C,gDAAgD;AAChD,SAAgB,WAAW,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,CAAC;AACxE,CAAC;AAED;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,KAAsB;IACtD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAsC,EAAE;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;QACnC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,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"}
@@ -1,23 +1,32 @@
1
1
  import type { RequestConfig } from '../request.js';
2
+ import { type SynthesisHistoryEntry } from './synthesize.js';
3
+ import type { SynthesizeUiItem } from './typeDefs.js';
2
4
  export type SynthesisUiPlatform = 'web' | 'mobile';
3
- /** One UI to resolve in a `synthesizeUis` request. */
4
- export interface SynthesizeUiRequestItem {
5
- /** Stable identifier of the UI to load. Configured in the BitBitPress CMS;
6
- * same value you pass as `<BitBitSynthesis keyName="…">`. */
7
- keyName: string;
8
- }
5
+ /**
6
+ * One UI to resolve in a `synthesizeUis` request. Derived from the OpenAPI
7
+ * `/v1/user/synthesize-ui` request schema.
8
+ *
9
+ * Beyond `keyName`, this accepts the same per-item synthesis inputs as
10
+ * `/v1/user/synthesize` (`inputs`, `output.schema`, `searchOptionsOverrides`,
11
+ * `synthesisHistoryLimit`) — the UI's synthesis runs against the config attached
12
+ * to it. All synthesis fields are optional; omit them to render the UI's default,
13
+ * config-driven content.
14
+ */
15
+ export type SynthesizeUiRequestItem = SynthesizeUiItem;
9
16
  /** Request to resolve a single generated UI by `keyName` for a platform. */
10
- export interface SynthesizeUiRequest extends SynthesizeUiRequestItem {
17
+ export type SynthesizeUiRequest = SynthesizeUiRequestItem & {
11
18
  /** Target platform for the artifact. Defaults to `web`. */
12
19
  platform?: SynthesisUiPlatform;
13
- }
20
+ };
14
21
  /**
15
22
  * Streamed `/v1/user/synthesize-ui` events (SSE):
16
23
  * - `connected` / `complete` — connection lifecycle.
17
24
  * - `manifest` — emitted once: the deployment `theme` and, per index-matched
18
25
  * item, the bundle reference. The SDK loads bundles as soon as this arrives.
19
26
  * - data — `{ index, data, complete }`; may stream partials before the final
20
- * `complete: true`. `{ index, error }` on failure.
27
+ * `complete: true`. Mirrors `/v1/user/synthesize`: the final event may also
28
+ * carry `synthesisOutputId` and, when `synthesisHistoryLimit > 0`,
29
+ * `synthesisHistoryEntries`. `{ index, error }` on failure.
21
30
  */
22
31
  export type SynthesizeUiEvent = {
23
32
  type: 'connected';
@@ -35,9 +44,15 @@ export type SynthesizeUiEvent = {
35
44
  index: number;
36
45
  data?: unknown;
37
46
  complete: boolean;
47
+ /** Id of the `SynthesisOutput` this result corresponds to — pass it to the
48
+ * submission methods to attach/read app-user submissions. */
49
+ synthesisOutputId?: string;
50
+ /** @deprecated Legacy bare-payload form; prefer `synthesisHistoryEntries`. */
51
+ synthesisHistory?: unknown[];
52
+ synthesisHistoryEntries?: SynthesisHistoryEntry[];
38
53
  error?: string;
39
54
  };
40
- /** Per-UI stream event `<BitBitSynthesis>` consumes (one UI, not the batch). */
55
+ /** Per-UI stream event `<BitBitView>` consumes (one UI, not the batch). */
41
56
  export type SynthesisUiStreamEvent = {
42
57
  type: 'manifest';
43
58
  bundleUrl?: string | null;
@@ -47,6 +62,10 @@ export type SynthesisUiStreamEvent = {
47
62
  type: 'data';
48
63
  data: unknown;
49
64
  complete: boolean;
65
+ synthesisOutputId?: string;
66
+ /** @deprecated Legacy bare-payload form; prefer `synthesisHistoryEntries`. */
67
+ synthesisHistory?: unknown[];
68
+ synthesisHistoryEntries?: SynthesisHistoryEntry[];
50
69
  } | {
51
70
  type: 'error';
52
71
  error: string;
@@ -55,13 +74,16 @@ export type SynthesisUiStreamEvent = {
55
74
  * Resolve generated SynthesisUIs by `keyName` for a platform. Streams a
56
75
  * `manifest` (bundles + theme) followed by per-item `data` events, index-matched
57
76
  * to `items`. The bundle is served from a CDN by versioned `bundleUrl` and
58
- * cached across renders/users; `data` is the per-request piece.
77
+ * cached across renders/users; `data` is the per-request, per-user piece
78
+ * synthesized against each UI's attached config (same inputs/streaming as
79
+ * `/v1/user/synthesize`).
59
80
  */
60
81
  export declare function synthesizeUis(config: RequestConfig, items: SynthesizeUiRequestItem[], platform?: SynthesisUiPlatform): Promise<AsyncIterable<SynthesizeUiEvent>>;
61
82
  /**
62
83
  * Resolve a single generated SynthesisUI by `keyName`, as a per-UI stream
63
- * (manifest, then data). Most apps reach this through `<BitBitSynthesis
64
- * keyName="…">` rather than calling it directly.
84
+ * (manifest, then data). Most apps reach this through `<BitBitView
85
+ * keyName="…">` rather than calling it directly. Accepts the same optional
86
+ * synthesis inputs as `synthesizeUis` (forwarded through to the one item).
65
87
  */
66
88
  export declare function synthesizeUi(config: RequestConfig, request: SynthesizeUiRequest): Promise<AsyncIterable<SynthesisUiStreamEvent>>;
67
89
  //# sourceMappingURL=synthesizeUi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"synthesizeUi.d.ts","sourceRoot":"","sources":["../../src/user/synthesizeUi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEnD,sDAAsD;AACtD,MAAM,WAAW,uBAAuB;IACtC;kEAC8D;IAC9D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,4EAA4E;AAC5E,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAClE,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC;CACrF,GACD;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzE,gFAAgF;AAChF,MAAM,MAAM,sBAAsB,GAC9B;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,GACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,uBAAuB,EAAE,EAChC,QAAQ,CAAC,EAAE,mBAAmB,GAC7B,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAM3C;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAwBhD"}
1
+ {"version":3,"file":"synthesizeUi.d.ts","sourceRoot":"","sources":["../../src/user/synthesizeUi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAe,KAAK,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEnD;;;;;;;;;GASG;AACH,MAAM,MAAM,uBAAuB,GAAG,gBAAgB,CAAC;AAEvD,4EAA4E;AAC5E,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,GAAG;IAC1D,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CAChC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC;CACrF,GACD;IACE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB;kEAC8D;IAC9D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC;IAC7B,uBAAuB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEN,2EAA2E;AAC3E,MAAM,MAAM,sBAAsB,GAC9B;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC;IAC7B,uBAAuB,CAAC,EAAE,qBAAqB,EAAE,CAAC;CACnD,GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAmBrC;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,uBAAuB,EAAE,EAChC,QAAQ,CAAC,EAAE,mBAAmB,GAC7B,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAM3C;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAgChD"}
@@ -2,36 +2,58 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.synthesizeUis = synthesizeUis;
4
4
  exports.synthesizeUi = synthesizeUi;
5
+ const zod_1 = require("zod");
5
6
  const request_js_1 = require("../request.js");
7
+ const synthesize_js_1 = require("./synthesize.js");
8
+ /** Convert an item's `output.schema` to the wire form (a JSON-schema string),
9
+ * dropping `output` entirely when no schema is set so the server falls back to
10
+ * the config's declared schema. Zod 4 schemas are serialized to JSON schema. */
11
+ function toWireItem(item) {
12
+ const schema = item.output?.schema;
13
+ if (schema === undefined) {
14
+ const { output: _output, ...rest } = item;
15
+ return rest;
16
+ }
17
+ return {
18
+ ...item,
19
+ output: {
20
+ schema: (0, synthesize_js_1.isZodSchema)(schema) ? JSON.stringify((0, zod_1.toJSONSchema)(schema)) : schema,
21
+ },
22
+ };
23
+ }
6
24
  /**
7
25
  * Resolve generated SynthesisUIs by `keyName` for a platform. Streams a
8
26
  * `manifest` (bundles + theme) followed by per-item `data` events, index-matched
9
27
  * to `items`. The bundle is served from a CDN by versioned `bundleUrl` and
10
- * cached across renders/users; `data` is the per-request piece.
28
+ * cached across renders/users; `data` is the per-request, per-user piece
29
+ * synthesized against each UI's attached config (same inputs/streaming as
30
+ * `/v1/user/synthesize`).
11
31
  */
12
32
  async function synthesizeUis(config, items, platform) {
13
33
  return (0, request_js_1.makeRequest)(config, {
14
34
  method: 'POST',
15
35
  path: '/v1/user/synthesize-ui',
16
- body: { platform, items },
36
+ body: { platform, items: items.map(toWireItem) },
17
37
  });
18
38
  }
19
39
  /**
20
40
  * Resolve a single generated SynthesisUI by `keyName`, as a per-UI stream
21
- * (manifest, then data). Most apps reach this through `<BitBitSynthesis
22
- * keyName="…">` rather than calling it directly.
41
+ * (manifest, then data). Most apps reach this through `<BitBitView
42
+ * keyName="…">` rather than calling it directly. Accepts the same optional
43
+ * synthesis inputs as `synthesizeUis` (forwarded through to the one item).
23
44
  */
24
45
  async function synthesizeUi(config, request) {
25
- const stream = await synthesizeUis(config, [{ keyName: request.keyName }], request.platform);
46
+ const { platform, ...item } = request;
47
+ const stream = await synthesizeUis(config, [item], platform);
26
48
  return (async function* perUi() {
27
49
  for await (const event of stream) {
28
50
  if ('type' in event) {
29
51
  if (event.type === 'manifest') {
30
- const item = event.items.find((i) => i.index === 0);
52
+ const manifestItem = event.items.find((i) => i.index === 0);
31
53
  yield {
32
54
  type: 'manifest',
33
- bundleUrl: item?.bundleUrl,
34
- bundleSource: item?.bundleSource,
55
+ bundleUrl: manifestItem?.bundleUrl,
56
+ bundleSource: manifestItem?.bundleSource,
35
57
  theme: event.theme,
36
58
  };
37
59
  }
@@ -43,7 +65,14 @@ async function synthesizeUi(config, request) {
43
65
  yield { type: 'error', error: event.error };
44
66
  }
45
67
  else {
46
- yield { type: 'data', data: event.data, complete: event.complete };
68
+ yield {
69
+ type: 'data',
70
+ data: event.data,
71
+ complete: event.complete,
72
+ synthesisOutputId: event.synthesisOutputId,
73
+ synthesisHistory: event.synthesisHistory,
74
+ synthesisHistoryEntries: event.synthesisHistoryEntries,
75
+ };
47
76
  }
48
77
  }
49
78
  })();
@@ -1 +1 @@
1
- {"version":3,"file":"synthesizeUi.js","sourceRoot":"","sources":["../../src/user/synthesizeUi.ts"],"names":[],"mappings":";;AAqDA,sCAUC;AAOD,oCA2BC;AAhGD,8CAA4C;AA8C5C;;;;;GAKG;AACI,KAAK,UAAU,aAAa,CACjC,MAAqB,EACrB,KAAgC,EAChC,QAA8B;IAE9B,OAAO,IAAA,wBAAW,EAAmC,MAAM,EAAE;QAC3D,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC1B,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,YAAY,CAChC,MAAqB,EACrB,OAA4B;IAE5B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7F,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,KAAK;QAC3B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;gBACpB,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;oBACpD,MAAM;wBACJ,IAAI,EAAE,UAAU;wBAChB,SAAS,EAAE,IAAI,EAAE,SAAS;wBAC1B,YAAY,EAAE,IAAI,EAAE,YAAY;wBAChC,KAAK,EAAE,KAAK,CAAC,KAAK;qBACnB,CAAC;gBACJ,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC;gBAAE,SAAS;YAChC,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;gBACxB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrE,CAAC;QACH,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"synthesizeUi.js","sourceRoot":"","sources":["../../src/user/synthesizeUi.ts"],"names":[],"mappings":";;AAqGA,sCAUC;AAQD,oCAmCC;AA1JD,6BAAmC;AAEnC,8CAA4C;AAC5C,mDAA0E;AAyE1E;;iFAEiF;AACjF,SAAS,UAAU,CAAC,IAA6B;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IACnC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE;YACN,MAAM,EAAE,IAAA,2BAAW,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAA,kBAAY,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;SAC5E;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,aAAa,CACjC,MAAqB,EACrB,KAAgC,EAChC,QAA8B;IAE9B,OAAO,IAAA,wBAAW,EAAmC,MAAM,EAAE;QAC3D,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;KACjD,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,YAAY,CAChC,MAAqB,EACrB,OAA4B;IAE5B,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC7D,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,KAAK;QAC3B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;gBACpB,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC9B,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;oBAC5D,MAAM;wBACJ,IAAI,EAAE,UAAU;wBAChB,SAAS,EAAE,YAAY,EAAE,SAAS;wBAClC,YAAY,EAAE,YAAY,EAAE,YAAY;wBACxC,KAAK,EAAE,KAAK,CAAC,KAAK;qBACnB,CAAC;gBACJ,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC;gBAAE,SAAS;YAChC,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;gBACxB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,MAAM;oBACJ,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;oBAC1C,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;oBACxC,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;iBACvD,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;AACP,CAAC"}
@@ -1,17 +1,23 @@
1
1
  import type { RequestConfig } from '../request.js';
2
- import { type TrackEvent, type TrackResponse } from './track.js';
2
+ import type { TrackEvent, TrackResponse } from './track.js';
3
+ /** Sends a batch of events to a specific endpoint (UI `/events` or piece `/piece-events`). */
4
+ type RecordFn = (config: RequestConfig, options: {
5
+ events: TrackEvent[];
6
+ }) => Promise<NonNullable<TrackResponse>>;
3
7
  /**
4
- * Batch manager for `trackItem` — batches individual events and sends them
5
- * together after the timeout. Mirrors SignalBatchManager.
8
+ * Batch manager for `trackItem` / `trackPieceItem` — batches individual events and sends them
9
+ * together after the timeout via the injected `record` function. Mirrors SignalBatchManager.
6
10
  */
7
11
  export declare class TrackBatchManager {
8
12
  private queue;
9
13
  private timer;
10
14
  private getConfig;
11
15
  private batchTimeout;
12
- constructor(getConfig: () => Promise<RequestConfig>, batchTimeout: number);
16
+ private record;
17
+ constructor(getConfig: () => Promise<RequestConfig>, batchTimeout: number, record: RecordFn);
13
18
  updateConfig(config: RequestConfig): void;
14
19
  addEvent(event: TrackEvent): Promise<NonNullable<TrackResponse>>;
15
20
  private flush;
16
21
  }
22
+ export {};
17
23
  //# sourceMappingURL=track-batch-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"track-batch-manager.d.ts","sourceRoot":"","sources":["../../src/user/track-batch-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAgB,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAK/E;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,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,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAIzC,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAQlD,KAAK;CAqBpB"}
1
+ {"version":3,"file":"track-batch-manager.d.ts","sourceRoot":"","sources":["../../src/user/track-batch-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAK5D,8FAA8F;AAC9F,KAAK,QAAQ,GAAG,CACd,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE;IAAE,MAAM,EAAE,UAAU,EAAE,CAAA;CAAE,KAC9B,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;AAEzC;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAIL;IACR,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,MAAM,CAAW;gBAEb,SAAS,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;IAM3F,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAIzC,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAQlD,KAAK;CAqBpB"}
@@ -1,19 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TrackBatchManager = void 0;
4
- const track_js_1 = require("./track.js");
5
4
  /**
6
- * Batch manager for `trackItem` — batches individual events and sends them
7
- * together after the timeout. Mirrors SignalBatchManager.
5
+ * Batch manager for `trackItem` / `trackPieceItem` — batches individual events and sends them
6
+ * together after the timeout via the injected `record` function. Mirrors SignalBatchManager.
8
7
  */
9
8
  class TrackBatchManager {
10
9
  queue = [];
11
10
  timer = null;
12
11
  getConfig;
13
12
  batchTimeout;
14
- constructor(getConfig, batchTimeout) {
13
+ record;
14
+ constructor(getConfig, batchTimeout, record) {
15
15
  this.getConfig = getConfig;
16
16
  this.batchTimeout = batchTimeout;
17
+ this.record = record;
17
18
  }
18
19
  updateConfig(config) {
19
20
  this.getConfig = () => Promise.resolve(config);
@@ -35,7 +36,7 @@ class TrackBatchManager {
35
36
  try {
36
37
  const config = await this.getConfig();
37
38
  const events = batch.map((b) => b.event);
38
- const response = await (0, track_js_1.recordEvents)(config, { events });
39
+ const response = await this.record(config, { events });
39
40
  for (const { resolve } of batch) {
40
41
  resolve(response);
41
42
  }