@itm-studio/partner-sdk 0.2.4 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -35,6 +35,7 @@ const { getPartnerMomentsForBrand } = await itm.query({
35
35
  status: true,
36
36
  timezone: true,
37
37
  externalUrl: true,
38
+ lineupDisplayLabel: true,
38
39
  coverImage: {
39
40
  url: true,
40
41
  mimeType: true,
@@ -126,6 +127,7 @@ const { getPartnerMoment } = await itm.query({
126
127
  endDate: true,
127
128
  timezone: true,
128
129
  externalUrl: true,
130
+ lineupDisplayLabel: true,
129
131
  coverImage: {
130
132
  url: true,
131
133
  mimeType: true,
@@ -139,6 +141,73 @@ const { getPartnerMoment } = await itm.query({
139
141
  });
140
142
  ```
141
143
 
144
+ ### `getPublicMomentLineups`
145
+
146
+ Get approved public lineup entries for a moment. Use `getPartnerMoment` first if you only have the moment slug; this query takes the moment `uid`.
147
+
148
+ ```typescript
149
+ const { getPartnerMoment } = await itm.query({
150
+ getPartnerMoment: {
151
+ __args: { slug: 'my-event-slug' },
152
+ uid: true,
153
+ lineupDisplayLabel: true,
154
+ },
155
+ });
156
+
157
+ const momentUid = getPartnerMoment?.uid;
158
+
159
+ if (momentUid) {
160
+ const { getPublicMomentLineups } = await itm.query({
161
+ getPublicMomentLineups: {
162
+ __args: {
163
+ momentUid,
164
+ take: 50,
165
+ lineupType: 'DJ', // optional: LINEUP | CO_HOST | PROMOTER | DJ | SPEAKER | VENDOR
166
+ },
167
+ lineups: {
168
+ uid: true,
169
+ name: true,
170
+ status: true,
171
+ lineupType: true,
172
+ sortOrder: true,
173
+ url: true,
174
+ image: {
175
+ url: true,
176
+ mimeType: true,
177
+ },
178
+ },
179
+ totalCount: true,
180
+ hasNextPage: true,
181
+ nextCursor: true,
182
+ },
183
+ });
184
+
185
+ console.log(getPartnerMoment?.lineupDisplayLabel, getPublicMomentLineups.lineups);
186
+ }
187
+ ```
188
+
189
+ Only approved lineup entries are returned. `momentUid`, `cursor`, `take`, and `lineupType` map directly to the backend query args; use `nextCursor` as `cursor` while `hasNextPage` is true. The public lineup query is throttled to 30 requests per minute, so cache or batch page loads if you render it in high-traffic public pages.
190
+
191
+ `lineupDisplayLabel` is available on `Moment` so your UI can label the section as `LINEUP`, `CO_HOSTS`, `DJS`, `PROMOTERS`, `SPEAKERS`, or `VENDORS`.
192
+
193
+ ### `getMomentLineupByToken`
194
+
195
+ Get public lineup invitation details by response token. This is useful if you build a custom artist or collaborator response page.
196
+
197
+ ```typescript
198
+ const { getMomentLineupByToken } = await itm.query({
199
+ getMomentLineupByToken: {
200
+ __args: { token: 'lineup-response-token' },
201
+ artistName: true,
202
+ momentName: true,
203
+ brandName: true,
204
+ status: true,
205
+ lineupType: true,
206
+ alreadyResponded: true,
207
+ },
208
+ });
209
+ ```
210
+
142
211
  ### `getMomentStats`
143
212
 
144
213
  Get cached partner-facing counts for a moment owned by the authenticated partner's brand.
@@ -341,7 +410,28 @@ const { getPartnerPublicEchoes } = await itm.query({
341
410
 
342
411
  ## Available Mutations
343
412
 
344
- The SDK supports write operations via `client.mutation()`. All mutations use the same authentication — your brand is determined from the token.
413
+ The SDK supports write operations via `client.mutation()`. Partner mutations use the same authentication — your brand is determined from the partner token.
414
+
415
+ ### `respondToMomentLineup`
416
+
417
+ Submit a public lineup invitation response by token.
418
+
419
+ ```typescript
420
+ const { respondToMomentLineup } = await itm.mutation({
421
+ respondToMomentLineup: {
422
+ __args: {
423
+ input: {
424
+ token: 'lineup-response-token',
425
+ status: 'APPROVED', // APPROVED or REJECTED
426
+ },
427
+ },
428
+ status: true,
429
+ success: true,
430
+ },
431
+ });
432
+ ```
433
+
434
+ Admin-only lineup creation and ordering are not part of the partner-token SDK surface. Use backstage for managing lineup entries.
345
435
 
346
436
  ## Partner Brand Subscription Guide
347
437
 
package/dist/index.d.mts CHANGED
@@ -12,6 +12,10 @@ type MomentSortOrder = 'ASC' | 'DESC';
12
12
  type MomentType = 'DIGITAL' | 'IRL';
13
13
  type MomentCategory = 'ACTIVATION' | 'CONCERT' | 'DIGITAL' | 'DINING' | 'EDUCATION' | 'EXHIBITION' | 'FASHION' | 'FESTIVAL' | 'LAUNCH' | 'NIGHTLIFE' | 'OTHER' | 'PARTY' | 'PERFORMING_ARTS' | 'SCREENING' | 'SPORTS' | 'WELLNESS';
14
14
  type MomentSubcategory = 'ACOUSTIC_SET' | 'ADVANCE_SCREENING' | 'AFTER_PARTY' | 'AIRDROP' | 'ALBUM_DROP' | 'ALBUM_RELEASE_SHOW' | 'AMA' | 'ANNIVERSARY' | 'ARTIST_TALK' | 'ART_FAIR' | 'ART_FESTIVAL' | 'ATHLETE_APPEARANCE' | 'AWARDS' | 'BAR_TAKEOVER' | 'BATTLE' | 'BEER_AND_WINE_FESTIVAL' | 'BIENNALE' | 'BIRTHDAY' | 'BLOCK_PARTY' | 'BRAND_EXPERIENCE' | 'BRAND_REVEAL' | 'BREATHWORK' | 'BRUNCH_EVENT' | 'BURLESQUE' | 'CACAO_CEREMONY' | 'CARNIVAL' | 'CELEBRATION' | 'CHAMPIONSHIP' | 'CHEF_DINNER' | 'CHOIR_OR_ENSEMBLE' | 'CLUB_NIGHT' | 'CLUB_SET' | 'COLD_PLUNGE' | 'COLLABORATION_REVEAL' | 'COLLECTION_DROP' | 'COMEDY_FESTIVAL' | 'COMEDY_NIGHT' | 'COMEDY_SHOW' | 'COMMUNITY_MEETUP' | 'CONFERENCE' | 'COOKING_CLASS' | 'CULTURAL_FESTIVAL' | 'DANCE_PERFORMANCE' | 'DAYCLUB' | 'DIRECTORS_CUT' | 'DISCORD_EVENT' | 'DOCUMENTARY' | 'DRAG_SHOW' | 'ECSTATIC_DANCE' | 'ESPORTS' | 'EXHIBITION_GAME' | 'EXTREME_SPORTS' | 'FAN_EXPERIENCE' | 'FAN_FEST' | 'FASHION_FESTIVAL' | 'FASHION_PANEL' | 'FASHION_WEEK' | 'FIGHT_NIGHT' | 'FILM_FESTIVAL' | 'FILM_PREMIERE' | 'FINISSAGE' | 'FIRESIDE_CHAT' | 'FITNESS_CLASS' | 'FITTING_EVENT' | 'FOOD_FESTIVAL' | 'FOOD_PAIRING' | 'GALLERY_OPENING' | 'GAME_DAY' | 'GIVEAWAY' | 'GROUP_EXHIBITION' | 'GUERRILLA' | 'HACKATHON' | 'HEADLINER_SHOW' | 'HOLIDAY_PARTY' | 'HYBRID_EVENT' | 'IMMERSIVE_EXPERIENCE' | 'IMPROV_SHOW' | 'INFLUENCER_EVENT' | 'INSTALLATION' | 'INTERACTIVE_INSTALLATION' | 'JAZZ_NIGHT' | 'JAZZ_SESSION' | 'KARAOKE_NIGHT' | 'KEYNOTE' | 'LATE_NIGHT_SET' | 'LISTENING_PARTY' | 'LIVESTREAM' | 'LOOKBOOK_SHOOT' | 'MASQUERADE' | 'MASTERCLASS' | 'MEDITATION' | 'MEET_AND_GREET' | 'MEMBERS_ONLY' | 'MOBILE_TOUR' | 'MUSEUM_EVENT' | 'MUSICAL' | 'MUSIC_FESTIVAL' | 'MUSIC_VIDEO_PREMIERE' | 'NETWORKING_MIXER' | 'NFT_MINT' | 'ONLINE_DROP' | 'ONLINE_PREMIERE' | 'ONLINE_WATCH_PARTY' | 'OPEN_MIC' | 'OPERA' | 'ORCHESTRA' | 'OTHER' | 'OUTDOOR_CINEMA' | 'PANEL' | 'PERFORMANCE_ART' | 'PHOTO_ACTIVATION' | 'POOL_PARTY' | 'POP_UP_BOUTIQUE' | 'POP_UP_DINING' | 'POP_UP_GALLERY' | 'POP_UP_SHOP' | 'PRESENTATION' | 'PRESS_EVENT' | 'PREVIEW' | 'PRIDE_FESTIVAL' | 'PRIVATE_EVENT' | 'PRODUCT_LAUNCH' | 'RAVE' | 'RELEASE_PARTY' | 'RESIDENCY' | 'RESTAURANT_OPENING' | 'RETREAT' | 'RIVALRY_GAME' | 'ROOFTOP_PARTY' | 'ROUNDTABLE' | 'RUNWAY_SHOW' | 'RUN_CLUB' | 'RUN_OR_RACE' | 'SAMPLE_SALE' | 'SAMPLING' | 'SECRET_DINING' | 'SEMINAR' | 'SHORT_FILM' | 'SHOWCASE' | 'SHOWROOM' | 'SILENT_DISCO' | 'SOCIAL_CHALLENGE' | 'SOLO_EXHIBITION' | 'SOUND_BATH' | 'SPA_EXPERIENCE' | 'SPOKEN_WORD' | 'SPONSORSHIP' | 'SPORTS_CLINIC' | 'SPORTS_WATCH_PARTY' | 'STANDUP_COMEDY' | 'STREET_TEAM' | 'STUDIO_VISIT' | 'SUMMIT' | 'SUPPER_CLUB' | 'TAILGATE' | 'TASTING' | 'THEATER' | 'THEMED_NIGHT' | 'TOURNAMENT' | 'TOUR_STOP' | 'TRIBUTE_SHOW' | 'TRUNK_SHOW' | 'TWITTER_SPACE' | 'VARIETY_SHOW' | 'VENUE_OPENING' | 'VIRTUAL_CONCERT' | 'VIRTUAL_EVENT' | 'WAREHOUSE_PARTY' | 'WATCH_PARTY' | 'WEBINAR' | 'WELLNESS_FESTIVAL' | 'WELLNESS_WORKSHOP' | 'WORKSHOP' | 'YOGA_SESSION';
15
+ type MomentLineupStatus = 'APPROVED' | 'PENDING' | 'REJECTED';
16
+ type MomentLineupType = 'CO_HOST' | 'DJ' | 'LINEUP' | 'PROMOTER' | 'SPEAKER' | 'VENDOR';
17
+ /** Display label for the lineup section on public event pages. */
18
+ type MomentLineupDisplayLabel = 'CO_HOSTS' | 'DJS' | 'LINEUP' | 'PROMOTERS' | 'SPEAKERS' | 'VENDORS';
15
19
  type EchoType = 'LINK' | 'POST' | 'IMAGE' | 'VIDEO' | 'GALLERY' | 'MERCH' | 'AUDIO' | 'QUESTION' | 'POLL' | 'UPLOAD' | 'TOKEN' | 'MOMENT' | 'FORM' | 'THIRD_PARTY';
16
20
  type ThirdPartyEchoType = 'SPOTIFY' | 'INSTAGRAM' | 'TIKTOK';
17
21
  type PaymentStatus = 'PENDING' | 'SUCCEEDED' | 'FAILED';
@@ -66,6 +70,8 @@ interface Moment {
66
70
  timezone: Scalars['String'];
67
71
  minimumAge: Scalars['Int'];
68
72
  externalUrl: (Scalars['String'] | null);
73
+ /** Display label to use when rendering the public lineup section. */
74
+ lineupDisplayLabel: MomentLineupDisplayLabel;
69
75
  /** Cover image for the moment. Null if no cover image is set. */
70
76
  coverImage: (MomentCoverImage | null);
71
77
  venue: (Venue | null);
@@ -74,6 +80,22 @@ interface Moment {
74
80
  updatedAt: Scalars['DateTime'];
75
81
  __typename: 'Moment';
76
82
  }
83
+ /**
84
+ * Public-facing lineup entry for a moment.
85
+ * Only approved entries are returned by getPublicMomentLineups.
86
+ */
87
+ interface MomentLineup {
88
+ uid: Scalars['ID'];
89
+ name: Scalars['String'];
90
+ status: MomentLineupStatus;
91
+ lineupType: MomentLineupType;
92
+ sortOrder: Scalars['String'];
93
+ url: (Scalars['String'] | null);
94
+ image: (MomentCoverImage | null);
95
+ createdAt: Scalars['DateTime'];
96
+ updatedAt: Scalars['DateTime'];
97
+ __typename: 'MomentLineup';
98
+ }
77
99
  interface TicketTier {
78
100
  uid: Scalars['ID'];
79
101
  name: Scalars['String'];
@@ -246,6 +268,13 @@ interface GetPublicMomentsResponse {
246
268
  nextCursor: (Scalars['String'] | null);
247
269
  __typename: 'GetPublicMomentsResponse';
248
270
  }
271
+ interface GetMomentLineupsResponse {
272
+ lineups: MomentLineup[];
273
+ totalCount: Scalars['Int'];
274
+ hasNextPage: Scalars['Boolean'];
275
+ nextCursor: (Scalars['String'] | null);
276
+ __typename: 'GetMomentLineupsResponse';
277
+ }
249
278
  interface GetTicketsResponse {
250
279
  tickets: Ticket[];
251
280
  totalCount: Scalars['Int'];
@@ -275,6 +304,21 @@ interface BrandSubscription {
275
304
  updatedAt: Scalars['DateTime'];
276
305
  __typename: 'BrandSubscription';
277
306
  }
307
+ interface PublicMomentLineupInfo {
308
+ token: Scalars['String'];
309
+ artistName: Scalars['String'];
310
+ momentName: Scalars['String'];
311
+ brandName: Scalars['String'];
312
+ status: MomentLineupStatus;
313
+ lineupType: MomentLineupType;
314
+ alreadyResponded: Scalars['Boolean'];
315
+ __typename: 'PublicMomentLineupInfo';
316
+ }
317
+ interface MomentLineupResponseResult {
318
+ status: MomentLineupStatus;
319
+ success: Scalars['Boolean'];
320
+ __typename: 'MomentLineupResponseResult';
321
+ }
278
322
  interface Query {
279
323
  /** Get paginated moments for the brand associated with the partner token. */
280
324
  getPartnerMomentsForBrand: GetPublicMomentsResponse;
@@ -303,6 +347,13 @@ interface Query {
303
347
  * If omitted, returns brand-level echoes.
304
348
  */
305
349
  getPartnerPublicEchoes: GetBrandEchoesForUserResponse;
350
+ /**
351
+ * Get approved public lineup entries for a moment.
352
+ * Use getPartnerMoment to resolve a moment slug to uid before calling this query.
353
+ */
354
+ getPublicMomentLineups: GetMomentLineupsResponse;
355
+ /** Get public lineup invitation details by response token. */
356
+ getMomentLineupByToken: PublicMomentLineupInfo;
306
357
  __typename: 'Query';
307
358
  }
308
359
  /**
@@ -364,6 +415,7 @@ interface Mutation {
364
415
  createPartnerMoment: Moment;
365
416
  /** Complete a partner brand subscription that was created with requireOtpVerification=true. */
366
417
  verifyPartnerBrandSubscription: BrandSubscription;
418
+ respondToMomentLineup: MomentLineupResponseResult;
367
419
  __typename: 'Mutation';
368
420
  }
369
421
  interface CurrencyGenqlSelection {
@@ -419,6 +471,8 @@ interface MomentGenqlSelection {
419
471
  timezone?: boolean | number;
420
472
  minimumAge?: boolean | number;
421
473
  externalUrl?: boolean | number;
474
+ /** Display label to use when rendering the public lineup section. */
475
+ lineupDisplayLabel?: boolean | number;
422
476
  /** Cover image for the moment. Null if no cover image is set. */
423
477
  coverImage?: MomentCoverImageGenqlSelection;
424
478
  venue?: VenueGenqlSelection;
@@ -428,6 +482,23 @@ interface MomentGenqlSelection {
428
482
  __typename?: boolean | number;
429
483
  __scalar?: boolean | number;
430
484
  }
485
+ /**
486
+ * Public-facing lineup entry for a moment.
487
+ * Only approved entries are returned by getPublicMomentLineups.
488
+ */
489
+ interface MomentLineupGenqlSelection {
490
+ uid?: boolean | number;
491
+ name?: boolean | number;
492
+ status?: boolean | number;
493
+ lineupType?: boolean | number;
494
+ sortOrder?: boolean | number;
495
+ url?: boolean | number;
496
+ image?: MomentCoverImageGenqlSelection;
497
+ createdAt?: boolean | number;
498
+ updatedAt?: boolean | number;
499
+ __typename?: boolean | number;
500
+ __scalar?: boolean | number;
501
+ }
431
502
  interface TicketTierGenqlSelection {
432
503
  uid?: boolean | number;
433
504
  name?: boolean | number;
@@ -612,6 +683,14 @@ interface GetPublicMomentsResponseGenqlSelection {
612
683
  __typename?: boolean | number;
613
684
  __scalar?: boolean | number;
614
685
  }
686
+ interface GetMomentLineupsResponseGenqlSelection {
687
+ lineups?: MomentLineupGenqlSelection;
688
+ totalCount?: boolean | number;
689
+ hasNextPage?: boolean | number;
690
+ nextCursor?: boolean | number;
691
+ __typename?: boolean | number;
692
+ __scalar?: boolean | number;
693
+ }
615
694
  interface GetTicketsResponseGenqlSelection {
616
695
  tickets?: TicketGenqlSelection;
617
696
  totalCount?: boolean | number;
@@ -645,6 +724,23 @@ interface BrandSubscriptionGenqlSelection {
645
724
  __typename?: boolean | number;
646
725
  __scalar?: boolean | number;
647
726
  }
727
+ interface PublicMomentLineupInfoGenqlSelection {
728
+ token?: boolean | number;
729
+ artistName?: boolean | number;
730
+ momentName?: boolean | number;
731
+ brandName?: boolean | number;
732
+ status?: boolean | number;
733
+ lineupType?: boolean | number;
734
+ alreadyResponded?: boolean | number;
735
+ __typename?: boolean | number;
736
+ __scalar?: boolean | number;
737
+ }
738
+ interface MomentLineupResponseResultGenqlSelection {
739
+ status?: boolean | number;
740
+ success?: boolean | number;
741
+ __typename?: boolean | number;
742
+ __scalar?: boolean | number;
743
+ }
648
744
  interface QueryGenqlSelection {
649
745
  /** Get paginated moments for the brand associated with the partner token. */
650
746
  getPartnerMomentsForBrand?: (GetPublicMomentsResponseGenqlSelection & {
@@ -718,6 +814,25 @@ interface QueryGenqlSelection {
718
814
  take?: (Scalars['Int'] | null);
719
815
  };
720
816
  });
817
+ /**
818
+ * Get approved public lineup entries for a moment.
819
+ * Use getPartnerMoment to resolve a moment slug to uid before calling this query.
820
+ */
821
+ getPublicMomentLineups?: (GetMomentLineupsResponseGenqlSelection & {
822
+ __args: {
823
+ momentUid: Scalars['String'];
824
+ /** Cursor UID for pagination. */
825
+ cursor?: (Scalars['String'] | null);
826
+ take?: (Scalars['Int'] | null);
827
+ lineupType?: (MomentLineupType | null);
828
+ };
829
+ });
830
+ /** Get public lineup invitation details by response token. */
831
+ getMomentLineupByToken?: (PublicMomentLineupInfoGenqlSelection & {
832
+ __args: {
833
+ token: Scalars['String'];
834
+ };
835
+ });
721
836
  __typename?: boolean | number;
722
837
  __scalar?: boolean | number;
723
838
  }
@@ -772,6 +887,10 @@ interface CreatePartnerMomentInput {
772
887
  /** Ticket tiers to create along with the moment. */
773
888
  ticketTiers?: (CreatePartnerTicketTierInput[] | null);
774
889
  }
890
+ interface RespondToMomentLineupInput {
891
+ token: Scalars['String'];
892
+ status: MomentLineupStatus;
893
+ }
775
894
  interface SubscriptionComplianceInput {
776
895
  browserName?: (Scalars['String'] | null);
777
896
  browserVersion?: (Scalars['String'] | null);
@@ -930,6 +1049,11 @@ interface MutationGenqlSelection {
930
1049
  input: VerifyPartnerBrandSubscriptionInput;
931
1050
  };
932
1051
  });
1052
+ respondToMomentLineup?: (MomentLineupResponseResultGenqlSelection & {
1053
+ __args: {
1054
+ input: RespondToMomentLineupInput;
1055
+ };
1056
+ });
933
1057
  __typename?: boolean | number;
934
1058
  __scalar?: boolean | number;
935
1059
  }
@@ -1032,6 +1156,7 @@ type ITMPartnerClient = Client;
1032
1156
  * uid: true,
1033
1157
  * name: true,
1034
1158
  * startDate: true,
1159
+ * lineupDisplayLabel: true,
1035
1160
  * coverImage: { url: true, mimeType: true },
1036
1161
  * venue: { name: true, city: true },
1037
1162
  * },
@@ -1044,4 +1169,4 @@ type ITMPartnerClient = Client;
1044
1169
  */
1045
1170
  declare function createITMPartnerClient(config: ITMPartnerClientConfig): ITMPartnerClient;
1046
1171
 
1047
- export { type BrandSubscription, type CreatePartnerBrandSubscriptionInput, type CreatePartnerBrandSubscriptionResponse, type CreatePartnerMomentInput, type CreatePartnerTicketTierInput, type Currency, DEFAULT_API_URL, type Dimensions, type DimensionsInput, type Echo, type EchoMediaAsset, type EchoType, type GetBrandEchoesForUserResponse, type GetPartnerCustomersResponse, type GetPublicMomentsResponse, type GetTicketsResponse, type ITMPartnerClient, type ITMPartnerClientConfig, type ITMPartnerHeaders, type ITMPartnerHeadersObject, type MediaAsset, type MediaAssetUploadUrl, type MerchPurchase, type Moment, type MomentCategory, type MomentCollection, type MomentCollectionLink, type MomentDiscountCodeUsage, type MomentSortOrder, type MomentStatus, type MomentSubcategory, type MomentType, type Mutation, type PartnerCustomer, type PartnerMomentStats, type Payment, type PaymentStatus, type PostSubscriptionEmailInput, type PostSubscriptionMessageInput, type PostSubscriptionPushInput, type PostSubscriptionSmsInput, type Query, type SubscriptionComplianceInput, type ThirdPartyEchoType, type Ticket, type TicketExtension, type TicketExtensionStatus, type TicketTier, type User, type Venue, type VenueInput, type VerifyPartnerBrandSubscriptionInput, createITMPartnerClient, everything, generateMutationOp, generateQueryOp };
1172
+ export { type BrandSubscription, type CreatePartnerBrandSubscriptionInput, type CreatePartnerBrandSubscriptionResponse, type CreatePartnerMomentInput, type CreatePartnerTicketTierInput, type Currency, DEFAULT_API_URL, type Dimensions, type DimensionsInput, type Echo, type EchoMediaAsset, type EchoType, type GetBrandEchoesForUserResponse, type GetMomentLineupsResponse, type GetPartnerCustomersResponse, type GetPublicMomentsResponse, type GetTicketsResponse, type ITMPartnerClient, type ITMPartnerClientConfig, type ITMPartnerHeaders, type ITMPartnerHeadersObject, type MediaAsset, type MediaAssetUploadUrl, type MerchPurchase, type Moment, type MomentCategory, type MomentCollection, type MomentCollectionLink, type MomentDiscountCodeUsage, type MomentLineup, type MomentLineupDisplayLabel, type MomentLineupResponseResult, type MomentLineupStatus, type MomentLineupType, type MomentSortOrder, type MomentStatus, type MomentSubcategory, type MomentType, type Mutation, type PartnerCustomer, type PartnerMomentStats, type Payment, type PaymentStatus, type PostSubscriptionEmailInput, type PostSubscriptionMessageInput, type PostSubscriptionPushInput, type PostSubscriptionSmsInput, type PublicMomentLineupInfo, type Query, type RespondToMomentLineupInput, type SubscriptionComplianceInput, type ThirdPartyEchoType, type Ticket, type TicketExtension, type TicketExtensionStatus, type TicketTier, type User, type Venue, type VenueInput, type VerifyPartnerBrandSubscriptionInput, createITMPartnerClient, everything, generateMutationOp, generateQueryOp };
package/dist/index.d.ts CHANGED
@@ -12,6 +12,10 @@ type MomentSortOrder = 'ASC' | 'DESC';
12
12
  type MomentType = 'DIGITAL' | 'IRL';
13
13
  type MomentCategory = 'ACTIVATION' | 'CONCERT' | 'DIGITAL' | 'DINING' | 'EDUCATION' | 'EXHIBITION' | 'FASHION' | 'FESTIVAL' | 'LAUNCH' | 'NIGHTLIFE' | 'OTHER' | 'PARTY' | 'PERFORMING_ARTS' | 'SCREENING' | 'SPORTS' | 'WELLNESS';
14
14
  type MomentSubcategory = 'ACOUSTIC_SET' | 'ADVANCE_SCREENING' | 'AFTER_PARTY' | 'AIRDROP' | 'ALBUM_DROP' | 'ALBUM_RELEASE_SHOW' | 'AMA' | 'ANNIVERSARY' | 'ARTIST_TALK' | 'ART_FAIR' | 'ART_FESTIVAL' | 'ATHLETE_APPEARANCE' | 'AWARDS' | 'BAR_TAKEOVER' | 'BATTLE' | 'BEER_AND_WINE_FESTIVAL' | 'BIENNALE' | 'BIRTHDAY' | 'BLOCK_PARTY' | 'BRAND_EXPERIENCE' | 'BRAND_REVEAL' | 'BREATHWORK' | 'BRUNCH_EVENT' | 'BURLESQUE' | 'CACAO_CEREMONY' | 'CARNIVAL' | 'CELEBRATION' | 'CHAMPIONSHIP' | 'CHEF_DINNER' | 'CHOIR_OR_ENSEMBLE' | 'CLUB_NIGHT' | 'CLUB_SET' | 'COLD_PLUNGE' | 'COLLABORATION_REVEAL' | 'COLLECTION_DROP' | 'COMEDY_FESTIVAL' | 'COMEDY_NIGHT' | 'COMEDY_SHOW' | 'COMMUNITY_MEETUP' | 'CONFERENCE' | 'COOKING_CLASS' | 'CULTURAL_FESTIVAL' | 'DANCE_PERFORMANCE' | 'DAYCLUB' | 'DIRECTORS_CUT' | 'DISCORD_EVENT' | 'DOCUMENTARY' | 'DRAG_SHOW' | 'ECSTATIC_DANCE' | 'ESPORTS' | 'EXHIBITION_GAME' | 'EXTREME_SPORTS' | 'FAN_EXPERIENCE' | 'FAN_FEST' | 'FASHION_FESTIVAL' | 'FASHION_PANEL' | 'FASHION_WEEK' | 'FIGHT_NIGHT' | 'FILM_FESTIVAL' | 'FILM_PREMIERE' | 'FINISSAGE' | 'FIRESIDE_CHAT' | 'FITNESS_CLASS' | 'FITTING_EVENT' | 'FOOD_FESTIVAL' | 'FOOD_PAIRING' | 'GALLERY_OPENING' | 'GAME_DAY' | 'GIVEAWAY' | 'GROUP_EXHIBITION' | 'GUERRILLA' | 'HACKATHON' | 'HEADLINER_SHOW' | 'HOLIDAY_PARTY' | 'HYBRID_EVENT' | 'IMMERSIVE_EXPERIENCE' | 'IMPROV_SHOW' | 'INFLUENCER_EVENT' | 'INSTALLATION' | 'INTERACTIVE_INSTALLATION' | 'JAZZ_NIGHT' | 'JAZZ_SESSION' | 'KARAOKE_NIGHT' | 'KEYNOTE' | 'LATE_NIGHT_SET' | 'LISTENING_PARTY' | 'LIVESTREAM' | 'LOOKBOOK_SHOOT' | 'MASQUERADE' | 'MASTERCLASS' | 'MEDITATION' | 'MEET_AND_GREET' | 'MEMBERS_ONLY' | 'MOBILE_TOUR' | 'MUSEUM_EVENT' | 'MUSICAL' | 'MUSIC_FESTIVAL' | 'MUSIC_VIDEO_PREMIERE' | 'NETWORKING_MIXER' | 'NFT_MINT' | 'ONLINE_DROP' | 'ONLINE_PREMIERE' | 'ONLINE_WATCH_PARTY' | 'OPEN_MIC' | 'OPERA' | 'ORCHESTRA' | 'OTHER' | 'OUTDOOR_CINEMA' | 'PANEL' | 'PERFORMANCE_ART' | 'PHOTO_ACTIVATION' | 'POOL_PARTY' | 'POP_UP_BOUTIQUE' | 'POP_UP_DINING' | 'POP_UP_GALLERY' | 'POP_UP_SHOP' | 'PRESENTATION' | 'PRESS_EVENT' | 'PREVIEW' | 'PRIDE_FESTIVAL' | 'PRIVATE_EVENT' | 'PRODUCT_LAUNCH' | 'RAVE' | 'RELEASE_PARTY' | 'RESIDENCY' | 'RESTAURANT_OPENING' | 'RETREAT' | 'RIVALRY_GAME' | 'ROOFTOP_PARTY' | 'ROUNDTABLE' | 'RUNWAY_SHOW' | 'RUN_CLUB' | 'RUN_OR_RACE' | 'SAMPLE_SALE' | 'SAMPLING' | 'SECRET_DINING' | 'SEMINAR' | 'SHORT_FILM' | 'SHOWCASE' | 'SHOWROOM' | 'SILENT_DISCO' | 'SOCIAL_CHALLENGE' | 'SOLO_EXHIBITION' | 'SOUND_BATH' | 'SPA_EXPERIENCE' | 'SPOKEN_WORD' | 'SPONSORSHIP' | 'SPORTS_CLINIC' | 'SPORTS_WATCH_PARTY' | 'STANDUP_COMEDY' | 'STREET_TEAM' | 'STUDIO_VISIT' | 'SUMMIT' | 'SUPPER_CLUB' | 'TAILGATE' | 'TASTING' | 'THEATER' | 'THEMED_NIGHT' | 'TOURNAMENT' | 'TOUR_STOP' | 'TRIBUTE_SHOW' | 'TRUNK_SHOW' | 'TWITTER_SPACE' | 'VARIETY_SHOW' | 'VENUE_OPENING' | 'VIRTUAL_CONCERT' | 'VIRTUAL_EVENT' | 'WAREHOUSE_PARTY' | 'WATCH_PARTY' | 'WEBINAR' | 'WELLNESS_FESTIVAL' | 'WELLNESS_WORKSHOP' | 'WORKSHOP' | 'YOGA_SESSION';
15
+ type MomentLineupStatus = 'APPROVED' | 'PENDING' | 'REJECTED';
16
+ type MomentLineupType = 'CO_HOST' | 'DJ' | 'LINEUP' | 'PROMOTER' | 'SPEAKER' | 'VENDOR';
17
+ /** Display label for the lineup section on public event pages. */
18
+ type MomentLineupDisplayLabel = 'CO_HOSTS' | 'DJS' | 'LINEUP' | 'PROMOTERS' | 'SPEAKERS' | 'VENDORS';
15
19
  type EchoType = 'LINK' | 'POST' | 'IMAGE' | 'VIDEO' | 'GALLERY' | 'MERCH' | 'AUDIO' | 'QUESTION' | 'POLL' | 'UPLOAD' | 'TOKEN' | 'MOMENT' | 'FORM' | 'THIRD_PARTY';
16
20
  type ThirdPartyEchoType = 'SPOTIFY' | 'INSTAGRAM' | 'TIKTOK';
17
21
  type PaymentStatus = 'PENDING' | 'SUCCEEDED' | 'FAILED';
@@ -66,6 +70,8 @@ interface Moment {
66
70
  timezone: Scalars['String'];
67
71
  minimumAge: Scalars['Int'];
68
72
  externalUrl: (Scalars['String'] | null);
73
+ /** Display label to use when rendering the public lineup section. */
74
+ lineupDisplayLabel: MomentLineupDisplayLabel;
69
75
  /** Cover image for the moment. Null if no cover image is set. */
70
76
  coverImage: (MomentCoverImage | null);
71
77
  venue: (Venue | null);
@@ -74,6 +80,22 @@ interface Moment {
74
80
  updatedAt: Scalars['DateTime'];
75
81
  __typename: 'Moment';
76
82
  }
83
+ /**
84
+ * Public-facing lineup entry for a moment.
85
+ * Only approved entries are returned by getPublicMomentLineups.
86
+ */
87
+ interface MomentLineup {
88
+ uid: Scalars['ID'];
89
+ name: Scalars['String'];
90
+ status: MomentLineupStatus;
91
+ lineupType: MomentLineupType;
92
+ sortOrder: Scalars['String'];
93
+ url: (Scalars['String'] | null);
94
+ image: (MomentCoverImage | null);
95
+ createdAt: Scalars['DateTime'];
96
+ updatedAt: Scalars['DateTime'];
97
+ __typename: 'MomentLineup';
98
+ }
77
99
  interface TicketTier {
78
100
  uid: Scalars['ID'];
79
101
  name: Scalars['String'];
@@ -246,6 +268,13 @@ interface GetPublicMomentsResponse {
246
268
  nextCursor: (Scalars['String'] | null);
247
269
  __typename: 'GetPublicMomentsResponse';
248
270
  }
271
+ interface GetMomentLineupsResponse {
272
+ lineups: MomentLineup[];
273
+ totalCount: Scalars['Int'];
274
+ hasNextPage: Scalars['Boolean'];
275
+ nextCursor: (Scalars['String'] | null);
276
+ __typename: 'GetMomentLineupsResponse';
277
+ }
249
278
  interface GetTicketsResponse {
250
279
  tickets: Ticket[];
251
280
  totalCount: Scalars['Int'];
@@ -275,6 +304,21 @@ interface BrandSubscription {
275
304
  updatedAt: Scalars['DateTime'];
276
305
  __typename: 'BrandSubscription';
277
306
  }
307
+ interface PublicMomentLineupInfo {
308
+ token: Scalars['String'];
309
+ artistName: Scalars['String'];
310
+ momentName: Scalars['String'];
311
+ brandName: Scalars['String'];
312
+ status: MomentLineupStatus;
313
+ lineupType: MomentLineupType;
314
+ alreadyResponded: Scalars['Boolean'];
315
+ __typename: 'PublicMomentLineupInfo';
316
+ }
317
+ interface MomentLineupResponseResult {
318
+ status: MomentLineupStatus;
319
+ success: Scalars['Boolean'];
320
+ __typename: 'MomentLineupResponseResult';
321
+ }
278
322
  interface Query {
279
323
  /** Get paginated moments for the brand associated with the partner token. */
280
324
  getPartnerMomentsForBrand: GetPublicMomentsResponse;
@@ -303,6 +347,13 @@ interface Query {
303
347
  * If omitted, returns brand-level echoes.
304
348
  */
305
349
  getPartnerPublicEchoes: GetBrandEchoesForUserResponse;
350
+ /**
351
+ * Get approved public lineup entries for a moment.
352
+ * Use getPartnerMoment to resolve a moment slug to uid before calling this query.
353
+ */
354
+ getPublicMomentLineups: GetMomentLineupsResponse;
355
+ /** Get public lineup invitation details by response token. */
356
+ getMomentLineupByToken: PublicMomentLineupInfo;
306
357
  __typename: 'Query';
307
358
  }
308
359
  /**
@@ -364,6 +415,7 @@ interface Mutation {
364
415
  createPartnerMoment: Moment;
365
416
  /** Complete a partner brand subscription that was created with requireOtpVerification=true. */
366
417
  verifyPartnerBrandSubscription: BrandSubscription;
418
+ respondToMomentLineup: MomentLineupResponseResult;
367
419
  __typename: 'Mutation';
368
420
  }
369
421
  interface CurrencyGenqlSelection {
@@ -419,6 +471,8 @@ interface MomentGenqlSelection {
419
471
  timezone?: boolean | number;
420
472
  minimumAge?: boolean | number;
421
473
  externalUrl?: boolean | number;
474
+ /** Display label to use when rendering the public lineup section. */
475
+ lineupDisplayLabel?: boolean | number;
422
476
  /** Cover image for the moment. Null if no cover image is set. */
423
477
  coverImage?: MomentCoverImageGenqlSelection;
424
478
  venue?: VenueGenqlSelection;
@@ -428,6 +482,23 @@ interface MomentGenqlSelection {
428
482
  __typename?: boolean | number;
429
483
  __scalar?: boolean | number;
430
484
  }
485
+ /**
486
+ * Public-facing lineup entry for a moment.
487
+ * Only approved entries are returned by getPublicMomentLineups.
488
+ */
489
+ interface MomentLineupGenqlSelection {
490
+ uid?: boolean | number;
491
+ name?: boolean | number;
492
+ status?: boolean | number;
493
+ lineupType?: boolean | number;
494
+ sortOrder?: boolean | number;
495
+ url?: boolean | number;
496
+ image?: MomentCoverImageGenqlSelection;
497
+ createdAt?: boolean | number;
498
+ updatedAt?: boolean | number;
499
+ __typename?: boolean | number;
500
+ __scalar?: boolean | number;
501
+ }
431
502
  interface TicketTierGenqlSelection {
432
503
  uid?: boolean | number;
433
504
  name?: boolean | number;
@@ -612,6 +683,14 @@ interface GetPublicMomentsResponseGenqlSelection {
612
683
  __typename?: boolean | number;
613
684
  __scalar?: boolean | number;
614
685
  }
686
+ interface GetMomentLineupsResponseGenqlSelection {
687
+ lineups?: MomentLineupGenqlSelection;
688
+ totalCount?: boolean | number;
689
+ hasNextPage?: boolean | number;
690
+ nextCursor?: boolean | number;
691
+ __typename?: boolean | number;
692
+ __scalar?: boolean | number;
693
+ }
615
694
  interface GetTicketsResponseGenqlSelection {
616
695
  tickets?: TicketGenqlSelection;
617
696
  totalCount?: boolean | number;
@@ -645,6 +724,23 @@ interface BrandSubscriptionGenqlSelection {
645
724
  __typename?: boolean | number;
646
725
  __scalar?: boolean | number;
647
726
  }
727
+ interface PublicMomentLineupInfoGenqlSelection {
728
+ token?: boolean | number;
729
+ artistName?: boolean | number;
730
+ momentName?: boolean | number;
731
+ brandName?: boolean | number;
732
+ status?: boolean | number;
733
+ lineupType?: boolean | number;
734
+ alreadyResponded?: boolean | number;
735
+ __typename?: boolean | number;
736
+ __scalar?: boolean | number;
737
+ }
738
+ interface MomentLineupResponseResultGenqlSelection {
739
+ status?: boolean | number;
740
+ success?: boolean | number;
741
+ __typename?: boolean | number;
742
+ __scalar?: boolean | number;
743
+ }
648
744
  interface QueryGenqlSelection {
649
745
  /** Get paginated moments for the brand associated with the partner token. */
650
746
  getPartnerMomentsForBrand?: (GetPublicMomentsResponseGenqlSelection & {
@@ -718,6 +814,25 @@ interface QueryGenqlSelection {
718
814
  take?: (Scalars['Int'] | null);
719
815
  };
720
816
  });
817
+ /**
818
+ * Get approved public lineup entries for a moment.
819
+ * Use getPartnerMoment to resolve a moment slug to uid before calling this query.
820
+ */
821
+ getPublicMomentLineups?: (GetMomentLineupsResponseGenqlSelection & {
822
+ __args: {
823
+ momentUid: Scalars['String'];
824
+ /** Cursor UID for pagination. */
825
+ cursor?: (Scalars['String'] | null);
826
+ take?: (Scalars['Int'] | null);
827
+ lineupType?: (MomentLineupType | null);
828
+ };
829
+ });
830
+ /** Get public lineup invitation details by response token. */
831
+ getMomentLineupByToken?: (PublicMomentLineupInfoGenqlSelection & {
832
+ __args: {
833
+ token: Scalars['String'];
834
+ };
835
+ });
721
836
  __typename?: boolean | number;
722
837
  __scalar?: boolean | number;
723
838
  }
@@ -772,6 +887,10 @@ interface CreatePartnerMomentInput {
772
887
  /** Ticket tiers to create along with the moment. */
773
888
  ticketTiers?: (CreatePartnerTicketTierInput[] | null);
774
889
  }
890
+ interface RespondToMomentLineupInput {
891
+ token: Scalars['String'];
892
+ status: MomentLineupStatus;
893
+ }
775
894
  interface SubscriptionComplianceInput {
776
895
  browserName?: (Scalars['String'] | null);
777
896
  browserVersion?: (Scalars['String'] | null);
@@ -930,6 +1049,11 @@ interface MutationGenqlSelection {
930
1049
  input: VerifyPartnerBrandSubscriptionInput;
931
1050
  };
932
1051
  });
1052
+ respondToMomentLineup?: (MomentLineupResponseResultGenqlSelection & {
1053
+ __args: {
1054
+ input: RespondToMomentLineupInput;
1055
+ };
1056
+ });
933
1057
  __typename?: boolean | number;
934
1058
  __scalar?: boolean | number;
935
1059
  }
@@ -1032,6 +1156,7 @@ type ITMPartnerClient = Client;
1032
1156
  * uid: true,
1033
1157
  * name: true,
1034
1158
  * startDate: true,
1159
+ * lineupDisplayLabel: true,
1035
1160
  * coverImage: { url: true, mimeType: true },
1036
1161
  * venue: { name: true, city: true },
1037
1162
  * },
@@ -1044,4 +1169,4 @@ type ITMPartnerClient = Client;
1044
1169
  */
1045
1170
  declare function createITMPartnerClient(config: ITMPartnerClientConfig): ITMPartnerClient;
1046
1171
 
1047
- export { type BrandSubscription, type CreatePartnerBrandSubscriptionInput, type CreatePartnerBrandSubscriptionResponse, type CreatePartnerMomentInput, type CreatePartnerTicketTierInput, type Currency, DEFAULT_API_URL, type Dimensions, type DimensionsInput, type Echo, type EchoMediaAsset, type EchoType, type GetBrandEchoesForUserResponse, type GetPartnerCustomersResponse, type GetPublicMomentsResponse, type GetTicketsResponse, type ITMPartnerClient, type ITMPartnerClientConfig, type ITMPartnerHeaders, type ITMPartnerHeadersObject, type MediaAsset, type MediaAssetUploadUrl, type MerchPurchase, type Moment, type MomentCategory, type MomentCollection, type MomentCollectionLink, type MomentDiscountCodeUsage, type MomentSortOrder, type MomentStatus, type MomentSubcategory, type MomentType, type Mutation, type PartnerCustomer, type PartnerMomentStats, type Payment, type PaymentStatus, type PostSubscriptionEmailInput, type PostSubscriptionMessageInput, type PostSubscriptionPushInput, type PostSubscriptionSmsInput, type Query, type SubscriptionComplianceInput, type ThirdPartyEchoType, type Ticket, type TicketExtension, type TicketExtensionStatus, type TicketTier, type User, type Venue, type VenueInput, type VerifyPartnerBrandSubscriptionInput, createITMPartnerClient, everything, generateMutationOp, generateQueryOp };
1172
+ export { type BrandSubscription, type CreatePartnerBrandSubscriptionInput, type CreatePartnerBrandSubscriptionResponse, type CreatePartnerMomentInput, type CreatePartnerTicketTierInput, type Currency, DEFAULT_API_URL, type Dimensions, type DimensionsInput, type Echo, type EchoMediaAsset, type EchoType, type GetBrandEchoesForUserResponse, type GetMomentLineupsResponse, type GetPartnerCustomersResponse, type GetPublicMomentsResponse, type GetTicketsResponse, type ITMPartnerClient, type ITMPartnerClientConfig, type ITMPartnerHeaders, type ITMPartnerHeadersObject, type MediaAsset, type MediaAssetUploadUrl, type MerchPurchase, type Moment, type MomentCategory, type MomentCollection, type MomentCollectionLink, type MomentDiscountCodeUsage, type MomentLineup, type MomentLineupDisplayLabel, type MomentLineupResponseResult, type MomentLineupStatus, type MomentLineupType, type MomentSortOrder, type MomentStatus, type MomentSubcategory, type MomentType, type Mutation, type PartnerCustomer, type PartnerMomentStats, type Payment, type PaymentStatus, type PostSubscriptionEmailInput, type PostSubscriptionMessageInput, type PostSubscriptionPushInput, type PostSubscriptionSmsInput, type PublicMomentLineupInfo, type Query, type RespondToMomentLineupInput, type SubscriptionComplianceInput, type ThirdPartyEchoType, type Ticket, type TicketExtension, type TicketExtensionStatus, type TicketTier, type User, type Venue, type VenueInput, type VerifyPartnerBrandSubscriptionInput, createITMPartnerClient, everything, generateMutationOp, generateQueryOp };