@tiledev/sdk-apptile-live-selling 0.8.0 → 0.9.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.
Files changed (184) hide show
  1. package/README.md +443 -34
  2. package/dist/auctionComments.d.ts +25 -0
  3. package/dist/auctionComments.d.ts.map +1 -0
  4. package/dist/auctionComments.js +28 -0
  5. package/dist/auctionComments.js.map +1 -0
  6. package/dist/auctionRules.d.ts +76 -0
  7. package/dist/auctionRules.d.ts.map +1 -0
  8. package/dist/auctionRules.js +106 -0
  9. package/dist/auctionRules.js.map +1 -0
  10. package/dist/auctions.d.ts.map +1 -1
  11. package/dist/auctions.js +19 -10
  12. package/dist/auctions.js.map +1 -1
  13. package/dist/client.d.ts +51 -2
  14. package/dist/client.d.ts.map +1 -1
  15. package/dist/client.js +123 -23
  16. package/dist/client.js.map +1 -1
  17. package/dist/commentHistory.d.ts +66 -0
  18. package/dist/commentHistory.d.ts.map +1 -0
  19. package/dist/commentHistory.js +125 -0
  20. package/dist/commentHistory.js.map +1 -0
  21. package/dist/engine.native.d.ts.map +1 -1
  22. package/dist/engine.native.js +17 -845
  23. package/dist/engine.native.js.map +1 -1
  24. package/dist/giveawayPrize.d.ts +13 -0
  25. package/dist/giveawayPrize.d.ts.map +1 -0
  26. package/dist/giveawayPrize.js +18 -0
  27. package/dist/giveawayPrize.js.map +1 -0
  28. package/dist/giveawayPrizeLines.d.ts +67 -0
  29. package/dist/giveawayPrizeLines.d.ts.map +1 -0
  30. package/dist/giveawayPrizeLines.js +48 -0
  31. package/dist/giveawayPrizeLines.js.map +1 -0
  32. package/dist/giveawayRoster.d.ts +53 -0
  33. package/dist/giveawayRoster.d.ts.map +1 -0
  34. package/dist/giveawayRoster.js +93 -0
  35. package/dist/giveawayRoster.js.map +1 -0
  36. package/dist/heldComments.d.ts +29 -0
  37. package/dist/heldComments.d.ts.map +1 -0
  38. package/dist/heldComments.js +61 -0
  39. package/dist/heldComments.js.map +1 -0
  40. package/dist/hiddenShows.d.ts +34 -0
  41. package/dist/hiddenShows.d.ts.map +1 -0
  42. package/dist/hiddenShows.js +42 -0
  43. package/dist/hiddenShows.js.map +1 -0
  44. package/dist/index.d.ts +17 -2
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +86 -3
  47. package/dist/index.js.map +1 -1
  48. package/dist/liveShow.d.ts +58 -0
  49. package/dist/liveShow.d.ts.map +1 -0
  50. package/dist/liveShow.js +55 -0
  51. package/dist/liveShow.js.map +1 -0
  52. package/dist/pipWindow.d.ts +85 -0
  53. package/dist/pipWindow.d.ts.map +1 -0
  54. package/dist/pipWindow.js +88 -0
  55. package/dist/pipWindow.js.map +1 -0
  56. package/dist/polls.d.ts.map +1 -1
  57. package/dist/polls.js +3 -0
  58. package/dist/polls.js.map +1 -1
  59. package/dist/react/LiveSellingProvider.d.ts +10 -1
  60. package/dist/react/LiveSellingProvider.d.ts.map +1 -1
  61. package/dist/react/LiveSellingProvider.js +6 -2
  62. package/dist/react/LiveSellingProvider.js.map +1 -1
  63. package/dist/react/LiveVideoTarget.d.ts.map +1 -1
  64. package/dist/react/LiveVideoTarget.js +41 -3
  65. package/dist/react/LiveVideoTarget.js.map +1 -1
  66. package/dist/react/clocks.d.ts +29 -0
  67. package/dist/react/clocks.d.ts.map +1 -0
  68. package/dist/react/clocks.js +124 -0
  69. package/dist/react/clocks.js.map +1 -0
  70. package/dist/react/index.d.ts +7 -2
  71. package/dist/react/index.d.ts.map +1 -1
  72. package/dist/react/index.js +15 -1
  73. package/dist/react/index.js.map +1 -1
  74. package/dist/react/index.web.d.ts +9 -2
  75. package/dist/react/index.web.d.ts.map +1 -1
  76. package/dist/react/index.web.js +27 -4
  77. package/dist/react/index.web.js.map +1 -1
  78. package/dist/react/startSignIn.d.ts +3 -0
  79. package/dist/react/startSignIn.d.ts.map +1 -0
  80. package/dist/react/startSignIn.js +19 -0
  81. package/dist/react/startSignIn.js.map +1 -0
  82. package/dist/react/useAuctionBidGate.d.ts +54 -4
  83. package/dist/react/useAuctionBidGate.d.ts.map +1 -1
  84. package/dist/react/useAuctionBidGate.js +169 -25
  85. package/dist/react/useAuctionBidGate.js.map +1 -1
  86. package/dist/react/useAuctionWins.d.ts +9 -1
  87. package/dist/react/useAuctionWins.d.ts.map +1 -1
  88. package/dist/react/useAuctionWins.js +9 -3
  89. package/dist/react/useAuctionWins.js.map +1 -1
  90. package/dist/react/useGiveawayEntry.d.ts +59 -0
  91. package/dist/react/useGiveawayEntry.d.ts.map +1 -0
  92. package/dist/react/useGiveawayEntry.js +170 -0
  93. package/dist/react/useGiveawayEntry.js.map +1 -0
  94. package/dist/react/useGiveawayPrize.d.ts +12 -0
  95. package/dist/react/useGiveawayPrize.d.ts.map +1 -0
  96. package/dist/react/useGiveawayPrize.js +53 -0
  97. package/dist/react/useGiveawayPrize.js.map +1 -0
  98. package/dist/react/useHiddenShows.d.ts +10 -0
  99. package/dist/react/useHiddenShows.d.ts.map +1 -0
  100. package/dist/react/useHiddenShows.js +30 -0
  101. package/dist/react/useHiddenShows.js.map +1 -0
  102. package/dist/react/useLiveSession.d.ts +7 -3
  103. package/dist/react/useLiveSession.d.ts.map +1 -1
  104. package/dist/react/useLiveSession.js +522 -157
  105. package/dist/react/useLiveSession.js.map +1 -1
  106. package/dist/react/useLiveShow.d.ts +3 -0
  107. package/dist/react/useLiveShow.d.ts.map +1 -0
  108. package/dist/react/useLiveShow.js +21 -0
  109. package/dist/react/useLiveShow.js.map +1 -0
  110. package/dist/react/useLiveStreams.d.ts.map +1 -1
  111. package/dist/react/useLiveStreams.js +6 -2
  112. package/dist/react/useLiveStreams.js.map +1 -1
  113. package/dist/react/useOngoingLive.d.ts +1 -0
  114. package/dist/react/useOngoingLive.d.ts.map +1 -1
  115. package/dist/react/useOngoingLive.js +7 -1
  116. package/dist/react/useOngoingLive.js.map +1 -1
  117. package/dist/react/useReplays.d.ts +12 -0
  118. package/dist/react/useReplays.d.ts.map +1 -1
  119. package/dist/react/useReplays.js +56 -24
  120. package/dist/react/useReplays.js.map +1 -1
  121. package/dist/react/useStreamInfo.d.ts +13 -2
  122. package/dist/react/useStreamInfo.d.ts.map +1 -1
  123. package/dist/react/useStreamInfo.js +31 -5
  124. package/dist/react/useStreamInfo.js.map +1 -1
  125. package/dist/replayPages.d.ts +31 -0
  126. package/dist/replayPages.d.ts.map +1 -0
  127. package/dist/replayPages.js +34 -0
  128. package/dist/replayPages.js.map +1 -0
  129. package/dist/replays.d.ts +7 -0
  130. package/dist/replays.d.ts.map +1 -1
  131. package/dist/replays.js +52 -22
  132. package/dist/replays.js.map +1 -1
  133. package/dist/session.d.ts +39 -6
  134. package/dist/session.d.ts.map +1 -1
  135. package/dist/session.js +209 -22
  136. package/dist/session.js.map +1 -1
  137. package/dist/sessionTypes.d.ts +190 -14
  138. package/dist/sessionTypes.d.ts.map +1 -1
  139. package/dist/sessionTypes.js +2 -1
  140. package/dist/sessionTypes.js.map +1 -1
  141. package/dist/shopifyCommerce.d.ts +149 -0
  142. package/dist/shopifyCommerce.d.ts.map +1 -0
  143. package/dist/shopifyCommerce.js +123 -0
  144. package/dist/shopifyCommerce.js.map +1 -0
  145. package/dist/shopifyIdentity.d.ts +51 -0
  146. package/dist/shopifyIdentity.d.ts.map +1 -0
  147. package/dist/shopifyIdentity.js +52 -0
  148. package/dist/shopifyIdentity.js.map +1 -0
  149. package/dist/shopifyIds.d.ts +9 -0
  150. package/dist/shopifyIds.d.ts.map +1 -0
  151. package/dist/shopifyIds.js +18 -0
  152. package/dist/shopifyIds.js.map +1 -0
  153. package/dist/showLinks.d.ts +24 -0
  154. package/dist/showLinks.d.ts.map +1 -0
  155. package/dist/showLinks.js +23 -0
  156. package/dist/showLinks.js.map +1 -0
  157. package/dist/showLots.d.ts +28 -0
  158. package/dist/showLots.d.ts.map +1 -0
  159. package/dist/showLots.js +51 -0
  160. package/dist/showLots.js.map +1 -0
  161. package/dist/showNames.d.ts +45 -0
  162. package/dist/showNames.d.ts.map +1 -0
  163. package/dist/showNames.js +74 -0
  164. package/dist/showNames.js.map +1 -0
  165. package/dist/streams.d.ts +27 -1
  166. package/dist/streams.d.ts.map +1 -1
  167. package/dist/streams.js +90 -21
  168. package/dist/streams.js.map +1 -1
  169. package/dist/types.d.ts +195 -8
  170. package/dist/types.d.ts.map +1 -1
  171. package/dist/types.js +2 -1
  172. package/dist/types.js.map +1 -1
  173. package/dist/wire.d.ts +31 -0
  174. package/dist/wire.d.ts.map +1 -1
  175. package/dist/wire.js +25 -0
  176. package/dist/wire.js.map +1 -1
  177. package/dist/zego.d.ts +3 -1
  178. package/dist/zego.d.ts.map +1 -1
  179. package/dist/zego.js +1 -1
  180. package/dist/zegoEngine.d.ts +168 -0
  181. package/dist/zegoEngine.d.ts.map +1 -0
  182. package/dist/zegoEngine.js +1052 -0
  183. package/dist/zegoEngine.js.map +1 -0
  184. package/package.json +3 -2
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * Like `types.ts`, nothing here imports React, React Native or Zego.
10
10
  */
11
- import type { AuctionWin, AuctionWinItem, BidLeader, GuestCredentials, LiveEvent, LiveComment, LiveGiveaway, LivePoll, LivePollOption, LivePollResults, LiveStream, MixerLayout, ReactionStyle, SendCommentOptions, SoldAnnouncement } from './types';
11
+ import type { AuctionWin, AuctionWinItem, BidLeader, GuestCredentials, LiveEvent, LiveComment, LiveGiveaway, LivePoll, LivePollOption, LivePollResults, LivePinnedComment, LiveStream, MixerLayout, ReactionStyle, SendCommentOptions, SoldAnnouncement } from './types';
12
12
  /**
13
13
  * Where this device stands as a guest.
14
14
  *
@@ -81,8 +81,14 @@ export interface AuctionState {
81
81
  highestBid: number;
82
82
  /** The minimum the next bid must beat. Seeded from the lot's opening price. */
83
83
  nextBid: number;
84
- /** Time on the host's clock, not the device's. 0 once the round is over. */
85
- timeLeftMs: number;
84
+ /**
85
+ * When the round closes, on this phone's clock (ms, like `Date.now()`): the host's deadline less the
86
+ * offset measured when the host last moved it (`roundClosesAt`). Null with no round open, or before
87
+ * the host has sent a deadline. Changes only when the host moves the deadline (a late bid), so the
88
+ * session never ticks: a component counts down to it itself with `useAuctionCountdown(closesAt)`.
89
+ * Replaces `timeLeftMs` (0.9.0), which ticked every 200 ms and drew every reader of the session.
90
+ */
91
+ closesAt: number | null;
86
92
  isLeading: boolean;
87
93
  leaderName: string | null;
88
94
  /**
@@ -92,11 +98,65 @@ export interface AuctionState {
92
98
  extended: boolean;
93
99
  /** The lot the host named when opening the round, which may lead the featured product. */
94
100
  storeProductId: string | null;
95
- /** The hammer, held until the celebration is dismissed. */
96
- lastWin: AuctionWin | null;
101
+ /** The hammer, held until the celebration is dismissed. `isYou` since 0.9.0. */
102
+ lastWin: LastAuctionWin | null;
97
103
  bidCap: number | null;
98
104
  extendedBiddingMs: number;
105
+ /**
106
+ * The lots this phone saw won during this show, by `storeProductId`, oldest first (0.9.0). The
107
+ * record says a lot was won (`winnerCount`) only once it is read again, which happens when the host
108
+ * features a lot; this says it as the hammer falls. Cleared with the show. `lotStateFor` reads both.
109
+ */
110
+ wonLotIds: string[];
99
111
  }
112
+ /**
113
+ * The hammer as the session hands it out: the win, and whether it is this shopper's (0.9.0).
114
+ *
115
+ * `isYou`: the shopper led the round as it closed, and the winning bid is theirs (the same amount, on
116
+ * the same lot when both are known: `isYourWin`). The room names the winner only by name, so this is
117
+ * the best a phone can tell; the winner's id on `BID_WINNER_ANNOUNCEMENT` is the README's backend ask.
118
+ */
119
+ export interface LastAuctionWin extends AuctionWin {
120
+ isYou: boolean;
121
+ }
122
+ /** Where a lot stands in the show's auction (`lotStateFor`, 0.9.0): bidding on it now, won, or not yet opened. */
123
+ export type LotState = 'upcoming' | 'open' | 'closed';
124
+ /** Who held the highest bid as a round closed, and on which lot (0.9.0). Kept until the next round opens. */
125
+ export interface LeaderWhenRoundClosed {
126
+ /** The bidder's id as the host echoes it (`BidLeader.userId`). */
127
+ userId: string;
128
+ /** Their bid: the round's highest as it closed. */
129
+ amount: number;
130
+ storeProductId: string | null;
131
+ }
132
+ /** What `placeBid` did (0.9.0): sent into the round, or why not. */
133
+ export type BidResult = {
134
+ sent: true;
135
+ } | {
136
+ sent: false;
137
+ /**
138
+ * - `noShow`: no show held.
139
+ * - `signedOut`: no bidder (`identity.bidderId`).
140
+ * - `noAmount`: no amount, and no next bid to fall back on.
141
+ * - `noModerator`: no moderator known for the round, so nobody to send it to (L3, the README's
142
+ * backend ask). Nothing is sent, the ledger included.
143
+ * - `sendFailed`: the room's send threw.
144
+ */
145
+ reason: 'noShow' | 'signedOut' | 'noAmount' | 'noModerator' | 'sendFailed';
146
+ };
147
+ /** What `enterGiveaway` did (0.9.0): the host took the entry, or why not. */
148
+ export type GiveawayEntryResult = {
149
+ entered: true;
150
+ } | {
151
+ entered: false;
152
+ /**
153
+ * - `noGiveaway`: no show held, or no giveaway open.
154
+ * - `signedOut`: no customer to enter (`identity.customerRef`).
155
+ * - `refused`: the gateway answered, without taking the entry.
156
+ * - `failed`: the request failed.
157
+ */
158
+ reason: 'noGiveaway' | 'signedOut' | 'refused' | 'failed';
159
+ };
100
160
  /** No round open, nothing won. For a replay or anything else that cannot bid. */
101
161
  export declare const IDLE_AUCTION: AuctionState;
102
162
  /**
@@ -110,10 +170,30 @@ export interface GiveawayState {
110
170
  /** Host-authoritative — it arrives with the host's own registration push. */
111
171
  entryCount: number;
112
172
  registered: boolean;
113
- /** The finished draw being celebrated, cleared when the animation ends. */
173
+ /**
174
+ * The finished draw being celebrated, cleared when the animation ends.
175
+ *
176
+ * `entrantNames` is the roster the reveal rolls through. `giveaway_end` names only the winner, and it
177
+ * reaches the room before the gateway has written the roster onto the record, so the session asks
178
+ * the record again every 700 ms for up to 5 s (ENG-705). `entrantNamesReady` turns true when the
179
+ * names arrive, or when the wait runs out with none — a reveal waits for it, then never sees the
180
+ * list change.
181
+ */
114
182
  result: {
115
183
  winnerName: string;
116
184
  entrantNames: string[];
185
+ entrantNamesReady: boolean;
186
+ /**
187
+ * This shopper had entered the giveaway just drawn (0.9.0). `registered` goes as the draw lands;
188
+ * this keeps it for the draw.
189
+ */
190
+ youEntered: boolean;
191
+ /**
192
+ * This shopper won (0.9.0): by customer id when the record names the winner (`LiveGiveaway.winnerId`
193
+ * on this draw's giveaway), else among those who entered by name, spaces and capitals aside
194
+ * (`sameRoomName`). The winner's id on `giveaway_end` is the README's backend ask.
195
+ */
196
+ isYou: boolean;
117
197
  } | null;
118
198
  }
119
199
  export declare const IDLE_GIVEAWAY: GiveawayState;
@@ -169,6 +249,12 @@ export interface LiveProduct<TRaw = unknown> {
169
249
  * answered by the lot being here at all. See `LiveStreamProduct.sellId`.
170
250
  */
171
251
  sellId?: string | null;
252
+ /**
253
+ * Auction only: the lot's opening bid (`base_bid_price`), or null when the host hasn't priced it.
254
+ * Joined on from the stream record like `sellId`, so a screen needn't match the record's lots to
255
+ * the products itself. Since 0.9.0.
256
+ */
257
+ baseBidPrice?: number | null;
172
258
  /** Anything the adapter wants to carry through to its own call sites, untouched. */
173
259
  raw?: TRaw;
174
260
  }
@@ -177,6 +263,8 @@ export interface LiveProductVariant {
177
263
  title: string;
178
264
  price: string | null;
179
265
  available: boolean;
266
+ /** The variant's own photo, when the catalogue has one (the Shopify adapter's, since 0.9.0). */
267
+ imageUrl?: string | null;
180
268
  }
181
269
  /** A cart line attribute, as Shopify stores it: lands in the order's `line_items[].properties`. */
182
270
  export type CartLineAttribute = {
@@ -219,6 +307,11 @@ export interface CommerceAdapter<TRaw = unknown> {
219
307
  * belongs in here. On Shopify that is cart-level attributes plus the buyer's identity, and it is
220
308
  * load-bearing rather than reporting: an order the host cannot match is an order that never clears
221
309
  * the customer's `auction.winner` metafield, which leaves them blocked from bidding after paying.
310
+ *
311
+ * `wins` can span more than one stream (a giveaway won on a later show while an earlier one is
312
+ * unpaid), and each item names its own in `streamingId`. `auctionId` is still one stream, the first
313
+ * with something payable (`AuctionWins.streamingId`): it goes on the cart as `auction_id`, which is a
314
+ * single attribute. Build one cart for all of them, because a checkout opens one cart.
222
315
  */
223
316
  createAuctionCheckout?: (wins: AuctionWinItem[], auctionId: string) => Promise<{
224
317
  checkoutUrl: string;
@@ -303,8 +396,6 @@ export interface LiveSessionState<TRaw = unknown> {
303
396
  muted: boolean;
304
397
  /** Native view currently rendering the stream; a surface compares its own tag against this. */
305
398
  videoTag: number | null;
306
- /** Ms since the host went live; 0 when not started. */
307
- elapsedMs: number;
308
399
  /** Anything other than `none` means a surface outside the navigator owns the picture. */
309
400
  pipMode: LivePipMode;
310
401
  guest: LiveGuestState;
@@ -317,12 +408,26 @@ export interface LiveSessionState<TRaw = unknown> {
317
408
  /** Inert unless the stream is an auction. */
318
409
  auction: AuctionState;
319
410
  giveaway: GiveawayState;
411
+ /**
412
+ * The comment the host or a moderator pinned for the room, or null.
413
+ *
414
+ * The record's `pinned_comment` on arrival, then every `PINNED_COMMENT_CHANGED` the room sends, and
415
+ * the record again on every reconnect (a broadcast sent while the room was down never arrives).
416
+ * Always null once `status` is `ended`: over "the show has ended" it would be a claim about a room
417
+ * that has closed.
418
+ */
419
+ pinnedComment: LivePinnedComment | null;
320
420
  error: string | null;
321
421
  }
322
422
  export interface LiveSessionActions {
323
423
  /** Hand a native video view to the session. Rebindable; `force` re-issues an unchanged bind. */
324
424
  bindVideoView: (reactTag: number | null, force?: boolean) => void;
325
- /** `forceMuted` shadow-mutes this comment: the room never sees it, the sender does. */
425
+ /**
426
+ * `forceMuted` shadow-mutes this comment: the room never sees it, the sender does.
427
+ *
428
+ * For a signed-in shopper whose name has not loaded yet, the comment is held and sent the moment it
429
+ * does (or after 10 s), and the promise resolves then — so it never goes out as "Anonymous" (L6).
430
+ */
326
431
  sendComment: (text: string, options?: SendCommentOptions) => Promise<void>;
327
432
  sendReaction: (reactionUrl: string) => Promise<void>;
328
433
  announceAddToCart: (productTitle: string, sellId?: string | null) => Promise<void>;
@@ -375,8 +480,14 @@ export interface LiveSessionActions {
375
480
  * Without this the provider follows "whichever stream is live", and a restart mints a NEW
376
481
  * `streamingId` — the session then resets and rejoins another room, moving a shopper mid-watch to
377
482
  * a show they had not chosen. Held from the moment the player is on screen until `releaseStream`.
483
+ *
484
+ * Pass the show's id when the screen knows it (a push, a deep link): the session moves to THAT show
485
+ * at once, replacing any earlier hold. Without it the session pins whatever it is watching now. The
486
+ * id form is what fixes DEL-2882 without a release-then-hold pair: a shopper still pinned to a show
487
+ * that ended, tapping the push for the next one, used to be re-read onto the OLD show, because the
488
+ * release and the hold ran in the same commit and the hold re-pinned the stream still on screen.
378
489
  */
379
- holdStream: () => void;
490
+ holdStream: (streamingId?: string) => void;
380
491
  /** The shopper is done with this show; the session may follow whatever is live again. */
381
492
  releaseStream: () => void;
382
493
  /**
@@ -400,19 +511,22 @@ export interface LiveSessionActions {
400
511
  /**
401
512
  * Offers a bid. `amount` omitted means the round's `nextBid` — the slide-to-bid gesture.
402
513
  * `variantId` rides along because a bid on a multi-variant lot commits to a specific variant.
403
- * Resolves once the bid has been sent, not when the host accepts it.
514
+ * Resolves once the bid has been sent, not when the host accepts it: `{ sent: true }`, or
515
+ * `{ sent: false, reason }` for a bid that went nowhere (0.9.0; it resolved `undefined` either way).
404
516
  */
405
517
  placeBid: (options?: {
406
518
  amount?: number;
407
519
  variantId?: string | null;
408
- }) => Promise<void>;
520
+ }) => Promise<BidResult>;
409
521
  /**
410
522
  * Enters the open giveaway. Needs a signed-in customer; no-ops without one.
411
523
  *
412
524
  * `cartId` is the viewer's ordinary cart — the gateway ties the entry to it. The host app passes it
413
- * because the session has no commerce cart of its own.
525
+ * because the session has no commerce cart of its own. Resolves `{ entered: true }` once the host
526
+ * took the entry (`registered` is on by then), or `{ entered: false, reason }` (0.9.0; it resolved
527
+ * `undefined` either way).
414
528
  */
415
- enterGiveaway: (cartId?: string | null) => Promise<void>;
529
+ enterGiveaway: (cartId?: string | null) => Promise<GiveawayEntryResult>;
416
530
  dismissAuctionWin: () => void;
417
531
  dismissGiveawayResult: () => void;
418
532
  }
@@ -479,7 +593,19 @@ export interface SessionReducerState {
479
593
  biddingStoreProductId: string | null;
480
594
  /** Bids are addressed to this moderator for the duration of the round. */
481
595
  moderatorId: string | null;
596
+ /**
597
+ * The last moderator any message named during this show. Survives the end of a round, so a round
598
+ * whose opening this device missed can still be bid into (L3). Cleared only with the show.
599
+ */
600
+ lastModeratorId: string | null;
482
601
  lastWin: AuctionWin | null;
602
+ /**
603
+ * Who led the round as it closed (0.9.0), for `lastWin.isYou`: the host closes a round, which clears
604
+ * the leader, before it announces the winner. Cleared when the next round opens.
605
+ */
606
+ leaderWhenRoundClosed: LeaderWhenRoundClosed | null;
607
+ /** The lots this phone saw won during this show (`AuctionState.wonLotIds`). */
608
+ wonLotIds: string[];
483
609
  giveawayStoreProductId: string | null;
484
610
  giveawayEntryCount: number;
485
611
  /**
@@ -492,10 +618,31 @@ export interface SessionReducerState {
492
618
  * CURRENT viewer was wrong.
493
619
  */
494
620
  giveawayRegisteredBy: string | null;
621
+ /** The open lot's roster, kept from the last record read that had names. */
622
+ giveawayEntrantNames: string[];
623
+ /** When the open giveaway started (`LiveGiveaway.startedAtMs`), from the record; null until read. */
624
+ giveawayStartedAtMs: number | null;
625
+ /**
626
+ * The giveaway this device watched end, so a record read taken before the gateway wrote the end
627
+ * cannot open it again (the `closedPollUuid` of giveaways, 0.9.0). Identified by its lot and its
628
+ * start, because the same product can be given away again later in the show. Cleared when the room
629
+ * starts a giveaway.
630
+ */
631
+ endedGiveaway: {
632
+ storeProductId: string;
633
+ startedAtMs: number | null;
634
+ } | null;
495
635
  giveawayResult: {
496
636
  storeProductId: string;
497
637
  winnerName: string;
638
+ entrantNames: string[];
639
+ entrantNamesReady: boolean;
640
+ /** Who had entered as it was drawn (`giveawayRegisteredBy` then), for `youEntered`. 0.9.0. */
641
+ enteredBy: string | null;
642
+ /** When the drawn giveaway started, so the record's giveaway for this draw can be told apart. 0.9.0. */
643
+ startedAtMs: number | null;
498
644
  } | null;
645
+ pinnedComment: LivePinnedComment | null;
499
646
  }
500
647
  export type SessionAction = {
501
648
  kind: 'event';
@@ -549,6 +696,35 @@ export type SessionAction = {
549
696
  registered: boolean;
550
697
  /** Who the record was matched against; null when nobody is signed in. */
551
698
  bidderId: string | null;
699
+ /** The lot's roster on the record (`users`), kept for the draw's reveal. */
700
+ entrantNames: string[];
701
+ /** When this giveaway started (`LiveGiveaway.startedAtMs`): with the lot, which giveaway it is. */
702
+ startedAtMs: number | null;
703
+ }
704
+ /** The record's roster for a draw that has happened; taken once. */
705
+ | {
706
+ kind: 'giveawayRoster';
707
+ storeProductId: string;
708
+ names: string[];
709
+ }
710
+ /** The wait for the draw's roster ran out; the reveal goes ahead with what it has. */
711
+ | {
712
+ kind: 'giveawayRosterTimedOut';
713
+ }
714
+ /**
715
+ * What the room said before this device arrived, put in front of what it has delivered since.
716
+ * `hostName` and `ownName` are what `mergeCommentHistory` reads "You" and own lines by.
717
+ */
718
+ | {
719
+ kind: 'commentHistory';
720
+ history: LiveComment[];
721
+ hostName: string | null;
722
+ ownName: string | null;
723
+ }
724
+ /** The record's pin, dispatched when the record's pin changes and on the first read after a reconnect. */
725
+ | {
726
+ kind: 'pinnedCommentSynced';
727
+ comment: LivePinnedComment | null;
552
728
  } | {
553
729
  kind: 'dismissWin';
554
730
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"sessionTypes.d.ts","sourceRoot":"","sources":["../src/sessionTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionTypes.d.ts","sourceRoot":"","sources":["../src/sessionTypes.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ exports.IDLE_AUCTION = {
7
7
  biddingOpen: false,
8
8
  highestBid: 0,
9
9
  nextBid: 0,
10
- timeLeftMs: 0,
10
+ closesAt: null,
11
11
  isLeading: false,
12
12
  leaderName: null,
13
13
  extended: false,
@@ -15,6 +15,7 @@ exports.IDLE_AUCTION = {
15
15
  lastWin: null,
16
16
  bidCap: null,
17
17
  extendedBiddingMs: 0,
18
+ wonLotIds: [],
18
19
  };
19
20
  exports.IDLE_GIVEAWAY = {
20
21
  active: null,
@@ -1 +1 @@
1
- {"version":3,"file":"sessionTypes.js","sourceRoot":"","sources":["../src/sessionTypes.ts"],"names":[],"mappings":";;;AAmWA,0CAIC;AAxOD,iFAAiF;AACpE,QAAA,YAAY,GAAiB;IACxC,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,CAAC;IACb,SAAS,EAAE,KAAK;IAChB,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,KAAK;IACf,cAAc,EAAE,IAAI;IACpB,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,IAAI;IACZ,iBAAiB,EAAE,CAAC;CACrB,CAAC;AAiBW,QAAA,aAAa,GAAkB;IAC1C,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,KAAK;IACjB,MAAM,EAAE,IAAI;CACb,CAAC;AAmKW,QAAA,iBAAiB,GAA4B;IACxD,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,IAAI;IACrB,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,KAAK;IACb,gBAAgB,EAAE,IAAI;CACvB,CAAC;AAEF,gGAAgG;AACnF,QAAA,oBAAoB,GAA4B;IAC3D,GAAG,yBAAiB;IACpB,MAAM,EAAE,IAAI;CACb,CAAC;AAEF,yFAAyF;AAC5E,QAAA,mBAAmB,GAA4B;IAC1D,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,KAAK;IACpB,eAAe,EAAE,KAAK;IACtB,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,KAAK;IACb,gBAAgB,EAAE,KAAK;CACxB,CAAC;AAEF,yFAAyF;AACzF,SAAgB,eAAe,CAC7B,MAAiD;IAEjD,OAAO,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,EAAC,CAAC,CAAC,4BAAoB,CAAC,CAAC,CAAC,yBAAiB,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"sessionTypes.js","sourceRoot":"","sources":["../src/sessionTypes.ts"],"names":[],"mappings":";;;AA0cA,0CAIC;AA7QD,iFAAiF;AACpE,QAAA,YAAY,GAAiB;IACxC,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,KAAK;IAChB,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,KAAK;IACf,cAAc,EAAE,IAAI;IACpB,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,IAAI;IACZ,iBAAiB,EAAE,CAAC;IACpB,SAAS,EAAE,EAAE;CACd,CAAC;AAwCW,QAAA,aAAa,GAAkB;IAC1C,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,KAAK;IACjB,MAAM,EAAE,IAAI;CACb,CAAC;AAgLW,QAAA,iBAAiB,GAA4B;IACxD,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,IAAI;IACrB,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,KAAK;IACb,gBAAgB,EAAE,IAAI;CACvB,CAAC;AAEF,gGAAgG;AACnF,QAAA,oBAAoB,GAA4B;IAC3D,GAAG,yBAAiB;IACpB,MAAM,EAAE,IAAI;CACb,CAAC;AAEF,yFAAyF;AAC5E,QAAA,mBAAmB,GAA4B;IAC1D,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,KAAK;IACpB,eAAe,EAAE,KAAK;IACtB,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,KAAK;IACb,gBAAgB,EAAE,KAAK;CACxB,CAAC;AAEF,yFAAyF;AACzF,SAAgB,eAAe,CAC7B,MAAiD;IAEjD,OAAO,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,EAAC,CAAC,CAAC,4BAAoB,CAAC,CAAC,CAAC,yBAAiB,CAAC;AACtE,CAAC"}
@@ -0,0 +1,149 @@
1
+ /**
2
+ * The commerce adapter for a store on `@tiledev/sdk-shopify`: products from the Storefront API, and
3
+ * the cart that pays for the auction wins.
4
+ *
5
+ * Built on the app's own sdk-shopify client, passed in as `shopify`. Nothing here imports sdk-shopify,
6
+ * so the main entry loads none of it on the web or on a phone. An app can hold two copies of
7
+ * sdk-shopify (the Tile preview loads the npm version beside an unpublished build the app is testing),
8
+ * and the copy the app didn't configure has no store. The shapes below are the few fields this file
9
+ * reads; sdk-shopify's `shopify` client and `Product` have them (checked against sdk-shopify 0.10), and
10
+ * the app's own compiler checks that where it passes them in.
11
+ */
12
+ import type { AuctionWinItem } from './types';
13
+ import type { LiveProduct } from './sessionTypes';
14
+ /** An amount of money, as Shopify sends it: a decimal string and an ISO 4217 code. */
15
+ export interface ShopifyMoney {
16
+ amount: string;
17
+ currencyCode: string;
18
+ }
19
+ /** A key and value on a cart or on one of its lines. */
20
+ export interface ShopifyAttribute {
21
+ key: string;
22
+ value: string;
23
+ }
24
+ /** The photo size to ask Shopify for (sdk-shopify's `ImageTransform`). */
25
+ export interface ShopifyImageTransform {
26
+ maxWidth?: number;
27
+ maxHeight?: number;
28
+ crop?: 'CENTER' | 'TOP' | 'BOTTOM' | 'LEFT' | 'RIGHT';
29
+ scale?: number;
30
+ preferredContentType?: 'WEBP' | 'JPG' | 'PNG';
31
+ }
32
+ /** The parts of a Shopify product this adapter reads (sdk-shopify's `Product` has them all). */
33
+ export interface ShopifyProductForLive {
34
+ /** The product GID. */
35
+ id: string;
36
+ title: string;
37
+ priceRange: {
38
+ min: ShopifyMoney;
39
+ };
40
+ featuredImage?: {
41
+ url: string;
42
+ } | null;
43
+ variants: {
44
+ /** The variant GID. */
45
+ id: string;
46
+ title: string;
47
+ price: ShopifyMoney;
48
+ availableForSale: boolean;
49
+ /** The variant's own photo, when it has one (0.9.0: `LiveProductVariant.imageUrl`). */
50
+ image?: {
51
+ url: string;
52
+ } | null;
53
+ }[];
54
+ }
55
+ /** One line of the wins cart. */
56
+ export interface ShopifyCartLineInput {
57
+ /** The variant GID. */
58
+ merchandiseId: string;
59
+ quantity: number;
60
+ attributes: ShopifyAttribute[];
61
+ }
62
+ /** Who pays for the wins cart: the signed-in customer's access token, and their email when known. */
63
+ export interface ShopifyBuyer {
64
+ customerAccessToken: string;
65
+ email?: string;
66
+ }
67
+ /** The two calls this adapter makes. sdk-shopify's `shopify` client is one of these. */
68
+ export interface ShopifyProductsAndCart {
69
+ products: {
70
+ byIds(ids: string[], options?: {
71
+ imageTransform?: ShopifyImageTransform;
72
+ }): Promise<ShopifyProductForLive[]>;
73
+ };
74
+ cart: {
75
+ create(input: {
76
+ lines: ShopifyCartLineInput[];
77
+ discountCodes: string[];
78
+ attributes: ShopifyAttribute[];
79
+ buyerIdentity?: ShopifyBuyer;
80
+ }): Promise<{
81
+ id: string;
82
+ checkoutUrl: string;
83
+ }>;
84
+ };
85
+ }
86
+ export interface ShopifyLiveCommerceOptions {
87
+ /** The app's own sdk-shopify client (`shopify`), the one it configured. */
88
+ shopify: ShopifyProductsAndCart;
89
+ /** `source_name` on the wins cart: which app the order came from. */
90
+ cartSourceName: string;
91
+ /**
92
+ * The line attribute that marks a prize in the wins cart, the one this store's cart transform reads
93
+ * to make the line free: `_isGiveawayItem` on Amore's store. No default: a wrong key gets the prize
94
+ * charged at full price.
95
+ */
96
+ prizeWriteKey: string;
97
+ /** Who pays: the signed-in customer, or null for a guest cart. `createShopifyLiveIdentity(...).buyer`. */
98
+ buyer: () => Promise<ShopifyBuyer | null>;
99
+ /** The products' photo size, passed to `products.byIds`. Omitted: the original photos. */
100
+ imageTransform?: ShopifyImageTransform;
101
+ /** More attributes for each win's line, after the adapter's own (a final-sale stamp, say). */
102
+ extraLineAttributes?: (win: AuctionWinItem) => ShopifyAttribute[];
103
+ /** More attributes for the cart, after the adapter's own (an attribution record, say). */
104
+ extraCartAttributes?: (lines: ShopifyCartLineInput[]) => ShopifyAttribute[];
105
+ }
106
+ /** The adapter: hand it to `LiveSellingConfig.commerce`, with your own `addLine` beside it if you have one. */
107
+ export interface ShopifyLiveCommerce {
108
+ /** The lots as products, in the order asked; a product the store doesn't serve is left out. */
109
+ productsByIds: (storeProductIds: string[]) => Promise<LiveProduct<ShopifyProductForLive>[]>;
110
+ /** A cart of its own for the wins, and its checkout link. Throws when nothing can be checked out. */
111
+ createAuctionCheckout: (wins: AuctionWinItem[], auctionId: string) => Promise<{
112
+ checkoutUrl: string;
113
+ cartId: string;
114
+ }>;
115
+ }
116
+ /** The attributes the order webhook matches on (`source_type`, `auction_id`). They must never change. */
117
+ export declare const AUCTION_CART_SOURCE_TYPE = "auction";
118
+ /** The line attribute the store's cart transform reprices a won lot to. */
119
+ export declare const WINNING_BID_KEY = "_winningBid";
120
+ /** The line attribute that keeps two identical wins on two lines. */
121
+ export declare const WIN_INDEX_KEY = "_winIndex";
122
+ /** A Shopify product as the session's thinner shape, with the product itself kept on `raw`. */
123
+ export declare function liveProductFromShopify(product: ShopifyProductForLive): LiveProduct<ShopifyProductForLive>;
124
+ /**
125
+ * The variant a win is charged on, chosen as `useAuctionWins` chooses the one it shows: the recorded
126
+ * one when it belongs to the product, else the first that can be sold, else the first. The checkout
127
+ * can be handed the raw ledger, so it chooses again rather than trusting the id. Null when the product
128
+ * is gone from the store.
129
+ */
130
+ export declare function chargedVariantId(product: ShopifyProductForLive | undefined, win: AuctionWinItem): string | null;
131
+ /**
132
+ * The commerce adapter for a store on `@tiledev/sdk-shopify`.
133
+ *
134
+ * - **`productsByIds`:** one `products.byIds` read, the bare ids made into product GIDs, the photos at
135
+ * `imageTransform`.
136
+ * - **`createAuctionCheckout`:** a cart of its own for the wins, never the shopping cart, so a stepper
137
+ * can't change a settled price.
138
+ * - **Each win is a line of one,** stamped for the store's cart transform: `_winningBid` (the bid it
139
+ * reprices the line to) or `prizeWriteKey` (a prize), plus `_winIndex`, which stops Shopify merging
140
+ * two identical wins into one line (the same lot won twice must cost twice).
141
+ * - **The giveaway discount codes** go on the cart.
142
+ * - **The cart says what it is:** `source_name`, `source_type: "auction"` and `auction_id` (the
143
+ * show), which the order webhook matches to clear the winner's record. A checkout it can't match
144
+ * leaves the shopper blocked from bidding after paying.
145
+ * - **The buyer** is attached when there is one, so the checkout is theirs; a guest cart when there
146
+ * isn't, or when reading it fails.
147
+ */
148
+ export declare function createShopifyLiveCommerce(options: ShopifyLiveCommerceOptions): ShopifyLiveCommerce;
149
+ //# sourceMappingURL=shopifyCommerce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shopifyCommerce.d.ts","sourceRoot":"","sources":["../src/shopifyCommerce.ts"],"names":[],"mappings":"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"}