@session-services/web-elements 0.1.19 → 0.1.20

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.
@@ -7681,8 +7681,8 @@ object({
7681
7681
  */
7682
7682
  const TeamPerformanceEventsGetSchema = object({
7683
7683
  teamId: string$1().describe("Team identifier"),
7684
- startDate: string$1().describe("Start date (ISO format)"),
7685
- endDate: string$1().describe("End date (ISO format)"),
7684
+ startDate: string$1().describe("Start date (YYYY-MM-DD)"),
7685
+ endDate: string$1().describe("End date (YYYY-MM-DD)"),
7686
7686
  limit: number$1().optional().default(5).describe("Maximum number of events to return")
7687
7687
  });
7688
7688
  /**
@@ -7720,8 +7720,8 @@ const TeamPerformanceFunnelResponseSchema = object({ stages: array(object({
7720
7720
  */
7721
7721
  const TeamPerformanceOrdersGetSchema = object({
7722
7722
  teamId: string$1().describe("Team identifier"),
7723
- startDate: string$1().describe("Start date (ISO format)"),
7724
- endDate: string$1().describe("End date (ISO format)"),
7723
+ startDate: string$1().describe("Start date (YYYY-MM-DD)"),
7724
+ endDate: string$1().describe("End date (YYYY-MM-DD)"),
7725
7725
  groupBy: _enum([
7726
7726
  "HOUR",
7727
7727
  "DAY_OF_WEEK",
@@ -7755,8 +7755,8 @@ const TeamPerformanceOrdersResponseSchema = object({
7755
7755
  */
7756
7756
  const TeamPerformanceAdmissionsGetSchema = object({
7757
7757
  teamId: string$1().describe("Team identifier"),
7758
- startDate: string$1().describe("Start date (ISO format)"),
7759
- endDate: string$1().describe("End date (ISO format)"),
7758
+ startDate: string$1().describe("Start date (YYYY-MM-DD)"),
7759
+ endDate: string$1().describe("End date (YYYY-MM-DD)"),
7760
7760
  limit: number$1().optional().default(10).describe("Maximum number of admissions to return")
7761
7761
  });
7762
7762
  /**
@@ -7799,10 +7799,8 @@ const TeamPerformanceTrafficResponseSchema = object({
7799
7799
  dimensionLabel: string$1().describe("Human-readable label"),
7800
7800
  views: number$1().describe("Total page views"),
7801
7801
  conversions: number$1().describe("Total conversions (orders)"),
7802
- revenue: number$1().describe("Total revenue in cents"),
7803
7802
  conversionRate: number$1().describe("Conversion rate (%)"),
7804
- sharePercent: number$1().describe("Share of total conversions (%)"),
7805
- uniqueVisitors: number$1().describe("Unique visitors (estimated)")
7803
+ sharePercent: number$1().describe("Share of total conversions (%)")
7806
7804
  })),
7807
7805
  totalConversions: number$1().describe("Total conversions across all dimensions")
7808
7806
  });
@@ -9092,6 +9090,10 @@ const EventCollaboratorGetSchema = object({
9092
9090
  id: EventCollaboratorIdSchema.meta({ description: "Event team access grant ID to retrieve" })
9093
9091
  });
9094
9092
 
9093
+ //#endregion
9094
+ //#region ../contract/src/event-collaborator/event-collaborator-invite-response.schema.ts
9095
+ const EventCollaboratorInviteResponseSchema = object({ invite: EventCollaboratorInviteSchema });
9096
+
9095
9097
  //#endregion
9096
9098
  //#region ../contract/src/event-collaborator/event-collaborator-list.schema.ts
9097
9099
  const limitSchema$8 = () => number().min(1).max(100).prefault(20).meta({ description: "Maximum number of event promoter access grants to return (1-100, defaults to 20)" });
@@ -9107,6 +9109,10 @@ const EventCollaboratorListSchema = object({
9107
9109
  //#region ../contract/src/event-collaborator/event-collaborator-page.schema.ts
9108
9110
  const EventCollaboratorPageSchema = createPaginatedSchema(EventCollaboratorSchema, "grants");
9109
9111
 
9112
+ //#endregion
9113
+ //#region ../contract/src/event-collaborator/event-collaborator-response.schema.ts
9114
+ const EventCollaboratorResponseSchema = object({ collaborator: EventCollaboratorSchema });
9115
+
9110
9116
  //#endregion
9111
9117
  //#region ../contract/src/internal/upload-image.schema.ts
9112
9118
  const ALLOWED_FOLDERS = [
@@ -9182,6 +9188,10 @@ const LocationSearchResultSchema = object({
9182
9188
  }).meta({ description: "Single location search result with optional venue overlay" });
9183
9189
  const LocationPageSchema = object({ predictions: array(LocationSearchResultSchema).meta({ description: "Array of location predictions" }) }).meta({ description: "Response containing location search results" });
9184
9190
 
9191
+ //#endregion
9192
+ //#region ../contract/src/location/location-response.schema.ts
9193
+ const LocationResponseSchema = object({ location: DetailedLocationSchema });
9194
+
9185
9195
  //#endregion
9186
9196
  //#region ../contract/src/order/order-coupon-code.schema.ts
9187
9197
  const OrderCouponCodeSchema = object({
@@ -11248,72 +11258,6 @@ const OrderAddNoteSchema = object({
11248
11258
  })
11249
11259
  });
11250
11260
 
11251
- //#endregion
11252
- //#region ../contract/src/order/order-list.schema.ts
11253
- const limitSchema$7 = () => number().min(1).max(100).prefault(20).meta({
11254
- examples: [20],
11255
- description: "Maximum number of orders to return (1-100, default: 20)"
11256
- });
11257
- const OrderListSchema = object({
11258
- teamId: string$1().optional().meta({ description: "Filter orders by team unique identifier" }),
11259
- promoterId: string$1().optional().meta({
11260
- examples: ["pmt_01jqpjksnsen9vprw95et60t2m"],
11261
- description: "Filter orders by promoter unique identifier"
11262
- }),
11263
- eventId: string$1().optional().meta({
11264
- examples: ["evt_01jps5cgsenjrazw6wswmyspa3"],
11265
- description: "Filter orders by event unique identifier"
11266
- }),
11267
- customerId: string$1().optional().meta({
11268
- examples: ["cus_01jps5cgsf4pn2a32eamppnap1"],
11269
- description: "Filter orders by customer unique identifier"
11270
- }),
11271
- status: _enum([
11272
- "PENDING",
11273
- "PROCESSING",
11274
- "SUCCESSFUL",
11275
- "DISPUTED",
11276
- "ABANDONED"
11277
- ]).optional().meta({
11278
- examples: ["SUCCESSFUL"],
11279
- description: "Filter orders by payment status"
11280
- }),
11281
- query: string$1().optional().meta({
11282
- examples: ["John Doe"],
11283
- description: "Optional search query to filter orders by customer details. When provided, search-backed pagination is used."
11284
- }),
11285
- from: string$1().date().optional().meta({
11286
- examples: ["2025-01-01"],
11287
- description: "Filter orders created on or after this date (YYYY-MM-DD format). Inclusive of the entire day."
11288
- }),
11289
- to: string$1().date().optional().meta({
11290
- examples: ["2025-12-31"],
11291
- description: "Filter orders created on or before this date (YYYY-MM-DD format). Inclusive of the entire day."
11292
- }),
11293
- limit: limitSchema$7().optional(),
11294
- cursor: string$1().optional().meta({
11295
- examples: ["eyJpZCI6Im9yZF8wMWpwczVjZ3NmZ3ZlNWI1ZzI2NjZreXJ5aCJ9"],
11296
- description: "Pagination cursor for continuing to fetch subsequent results"
11297
- })
11298
- });
11299
-
11300
- //#endregion
11301
- //#region ../contract/src/order/order-count.schema.ts
11302
- const OrderCountSchema = OrderListSchema.extend({
11303
- from: string$1().date().meta({
11304
- examples: ["2025-01-01"],
11305
- description: "Start date in YYYY-MM-DD format for counting orders within a date range. Inclusive of the entire day."
11306
- }),
11307
- to: string$1().date().meta({
11308
- examples: ["2025-12-31"],
11309
- description: "End date in YYYY-MM-DD format for counting orders within a date range. Inclusive of the entire day."
11310
- })
11311
- });
11312
-
11313
- //#endregion
11314
- //#region ../contract/src/order/order-count-response.schema.ts
11315
- const OrderCountResponseSchema = object({ count: number$1() });
11316
-
11317
11261
  //#endregion
11318
11262
  //#region ../contract/src/order/order-item-create.schema.ts
11319
11263
  const OrderItemCreateSchema = OrderItemSchema.omit({
@@ -11488,6 +11432,55 @@ const OrderItemFilledSchema = OrderItemSchema.extend({
11488
11432
  section: SectionSchema.optional().meta({ description: "Complete section details for this order item when applicable" })
11489
11433
  });
11490
11434
 
11435
+ //#endregion
11436
+ //#region ../contract/src/order/order-list.schema.ts
11437
+ const limitSchema$7 = () => number().min(1).max(100).prefault(20).meta({
11438
+ examples: [20],
11439
+ description: "Maximum number of orders to return (1-100, default: 20)"
11440
+ });
11441
+ const OrderListSchema = object({
11442
+ teamId: string$1().optional().meta({ description: "Filter orders by team unique identifier" }),
11443
+ promoterId: string$1().optional().meta({
11444
+ examples: ["pmt_01jqpjksnsen9vprw95et60t2m"],
11445
+ description: "Filter orders by promoter unique identifier"
11446
+ }),
11447
+ eventId: string$1().optional().meta({
11448
+ examples: ["evt_01jps5cgsenjrazw6wswmyspa3"],
11449
+ description: "Filter orders by event unique identifier"
11450
+ }),
11451
+ customerId: string$1().optional().meta({
11452
+ examples: ["cus_01jps5cgsf4pn2a32eamppnap1"],
11453
+ description: "Filter orders by customer unique identifier"
11454
+ }),
11455
+ status: _enum([
11456
+ "PENDING",
11457
+ "PROCESSING",
11458
+ "SUCCESSFUL",
11459
+ "DISPUTED",
11460
+ "ABANDONED"
11461
+ ]).optional().meta({
11462
+ examples: ["SUCCESSFUL"],
11463
+ description: "Filter orders by payment status"
11464
+ }),
11465
+ query: string$1().optional().meta({
11466
+ examples: ["John Doe"],
11467
+ description: "Optional search query to filter orders by customer details. When provided, search-backed pagination is used."
11468
+ }),
11469
+ from: string$1().date().optional().meta({
11470
+ examples: ["2025-01-01"],
11471
+ description: "Filter orders created on or after this date (YYYY-MM-DD format). Inclusive of the entire day."
11472
+ }),
11473
+ to: string$1().date().optional().meta({
11474
+ examples: ["2025-12-31"],
11475
+ description: "Filter orders created on or before this date (YYYY-MM-DD format). Inclusive of the entire day."
11476
+ }),
11477
+ limit: limitSchema$7().optional(),
11478
+ cursor: string$1().optional().meta({
11479
+ examples: ["eyJpZCI6Im9yZF8wMWpwczVjZ3NmZ3ZlNWI1ZzI2NjZreXJ5aCJ9"],
11480
+ description: "Pagination cursor for continuing to fetch subsequent results"
11481
+ })
11482
+ });
11483
+
11491
11484
  //#endregion
11492
11485
  //#region ../contract/src/order/order-page.schema.ts
11493
11486
  const OrderPageSchema = createPaginatedSchema(OrderSchema, "orders");
@@ -11592,29 +11585,6 @@ const OrderResendSchema = object({
11592
11585
  //#region ../contract/src/order/order-response.schema.ts
11593
11586
  const OrderResponseSchema = object({ order: OrderSchema });
11594
11587
 
11595
- //#endregion
11596
- //#region ../contract/src/order/order-stats.schema.ts
11597
- const DateBinSchema = object({
11598
- key: string$1().meta({ description: "Interval start (date-string)" }),
11599
- currency: string$1().meta({ description: "Currency code in ISO 4217 format." }),
11600
- sum: OrderPriceSchema.omit({ currency: true }).meta({ description: "Summed price fields for this currency in this date bin (currency repeated)." }),
11601
- count: int().meta({ description: "Number of records in this bin (for this currency)." })
11602
- });
11603
- const CurrencyStatsSchema = object({
11604
- currency: string$1().meta({ description: "Currency code in ISO 4217 format." }),
11605
- count: int().meta({ description: "Total number of records for this currency." }),
11606
- sum: OrderPriceSchema.omit({ currency: true }).meta({ description: "Aggregated price totals for all orders in this currency" }),
11607
- breakdown: array(DateBinSchema).meta({ description: "Histogram of sums/counts per interval." })
11608
- });
11609
- const PeriodSchema = object({
11610
- count: int().meta({ description: "Total number of records in this period." }),
11611
- currencies: array(CurrencyStatsSchema).meta({ description: "Stats broken down by currency." })
11612
- });
11613
- const OrderStatsSchema = object({
11614
- current: PeriodSchema.meta({ description: "Stats for the current date-range." }),
11615
- previous: PeriodSchema.meta({ description: "Stats for the previous date-range, same length as current." })
11616
- });
11617
-
11618
11588
  //#endregion
11619
11589
  //#region ../contract/src/order/order-update.schema.ts
11620
11590
  const OrderUpdateSchema = OrderCreateSchema.omit({ eventId: true }).partial().extend({
@@ -12126,56 +12096,6 @@ PayoutSchema.pick({
12126
12096
  })
12127
12097
  });
12128
12098
 
12129
- //#endregion
12130
- //#region ../contract/src/payout/payout-list.schema.ts
12131
- const limitSchema$6 = () => number().min(1).max(100).prefault(20).meta({
12132
- examples: [20],
12133
- description: "Maximum number of payouts to return per request. Must be between 1 and 100. Defaults to 20."
12134
- });
12135
- const PayoutListSchema = object({
12136
- teamId: string$1().optional().meta({ description: "Filter payouts by specific team unique identifier. BREAKING CHANGE: Replaced promoterId filter." }),
12137
- eventId: string$1().optional().meta({
12138
- examples: [Examples.Event.id],
12139
- description: "Filter payouts by specific event unique identifier. When provided, only returns payouts for this event."
12140
- }),
12141
- status: _enum([
12142
- "UPCOMING",
12143
- "FAILED",
12144
- "PROCESSING",
12145
- "PAID",
12146
- "CANCELLED"
12147
- ]).optional().meta({
12148
- examples: ["PAID"],
12149
- description: "Filter payouts by payment status. UPCOMING: scheduled but not yet processed, FAILED: failed processing and will retry, PROCESSING: currently being processed, PAID: successfully completed, CANCELLED: cancelled before completion."
12150
- }),
12151
- approval: ApprovalStatusEnum.optional().meta({
12152
- examples: ["APPROVED"],
12153
- description: "Filter payouts by approval status. PENDING: awaiting approval, APPROVED: approved for processing, REJECTED: rejected and will not be processed."
12154
- }),
12155
- query: string$1().optional().meta({
12156
- examples: ["PAID venue:sydney"],
12157
- description: "Optional search query to filter payouts by text fields. When provided, search-backed pagination is used."
12158
- }),
12159
- limit: limitSchema$6().optional(),
12160
- cursor: string$1().optional().meta({
12161
- examples: ["eyJpZCI6InBheV8wMWpwczVjZ3NmdjJ3cmU2aGQwcmM0dzR0OCJ9"],
12162
- description: "Pagination cursor for continuing to fetch subsequent results. Use the cursor from the previous response to continue."
12163
- })
12164
- }).meta({ description: "Schema for listing payouts with optional filtering, search, and cursor-based pagination" });
12165
-
12166
- //#endregion
12167
- //#region ../contract/src/payout/payout-count.schema.ts
12168
- PayoutListSchema.extend({
12169
- from: string$1().date().meta({
12170
- examples: ["2025-01-01"],
12171
- description: "Start date for the counting period in YYYY-MM-DD format. Only payouts created on or after this date will be included in the count. Inclusive of the entire day."
12172
- }),
12173
- to: string$1().date().meta({
12174
- examples: ["2025-01-31"],
12175
- description: "End date for the counting period in YYYY-MM-DD format. Only payouts created before or on this date will be included in the count. Inclusive of the entire day."
12176
- })
12177
- });
12178
-
12179
12099
  //#endregion
12180
12100
  //#region ../contract/src/payout/payout-create.schema.ts
12181
12101
  PayoutSchema.pick({
@@ -12233,6 +12153,43 @@ const PayoutGetSchema = PayoutSchema.pick({ id: true }).extend({ id: string$1().
12233
12153
  description: "Unique identifier of the payout to retrieve."
12234
12154
  }) });
12235
12155
 
12156
+ //#endregion
12157
+ //#region ../contract/src/payout/payout-list.schema.ts
12158
+ const limitSchema$6 = () => number().min(1).max(100).prefault(20).meta({
12159
+ examples: [20],
12160
+ description: "Maximum number of payouts to return per request. Must be between 1 and 100. Defaults to 20."
12161
+ });
12162
+ const PayoutListSchema = object({
12163
+ teamId: string$1().optional().meta({ description: "Filter payouts by specific team unique identifier. BREAKING CHANGE: Replaced promoterId filter." }),
12164
+ eventId: string$1().optional().meta({
12165
+ examples: [Examples.Event.id],
12166
+ description: "Filter payouts by specific event unique identifier. When provided, only returns payouts for this event."
12167
+ }),
12168
+ status: _enum([
12169
+ "UPCOMING",
12170
+ "FAILED",
12171
+ "PROCESSING",
12172
+ "PAID",
12173
+ "CANCELLED"
12174
+ ]).optional().meta({
12175
+ examples: ["PAID"],
12176
+ description: "Filter payouts by payment status. UPCOMING: scheduled but not yet processed, FAILED: failed processing and will retry, PROCESSING: currently being processed, PAID: successfully completed, CANCELLED: cancelled before completion."
12177
+ }),
12178
+ approval: ApprovalStatusEnum.optional().meta({
12179
+ examples: ["APPROVED"],
12180
+ description: "Filter payouts by approval status. PENDING: awaiting approval, APPROVED: approved for processing, REJECTED: rejected and will not be processed."
12181
+ }),
12182
+ query: string$1().optional().meta({
12183
+ examples: ["PAID venue:sydney"],
12184
+ description: "Optional search query to filter payouts by text fields. When provided, search-backed pagination is used."
12185
+ }),
12186
+ limit: limitSchema$6().optional(),
12187
+ cursor: string$1().optional().meta({
12188
+ examples: ["eyJpZCI6InBheV8wMWpwczVjZ3NmdjJ3cmU2aGQwcmM0dzR0OCJ9"],
12189
+ description: "Pagination cursor for continuing to fetch subsequent results. Use the cursor from the previous response to continue."
12190
+ })
12191
+ }).meta({ description: "Schema for listing payouts with optional filtering, search, and cursor-based pagination" });
12192
+
12236
12193
  //#endregion
12237
12194
  //#region ../contract/src/payout/payout-page.schema.ts
12238
12195
  const PayoutPageSchema = createPaginatedSchema(PayoutSchema, "payouts");
@@ -12712,26 +12669,8 @@ const TeamMemberSchema = object({
12712
12669
  }).meta({ description: "Active team member with base permissions. Permissions can be overridden per promoter or venue. Created when a user accepts an invitation or is directly added to a team." });
12713
12670
 
12714
12671
  //#endregion
12715
- //#region ../contract/src/team/team-invite.schema.ts
12716
- const TeamInviteSchema = object({
12717
- id: TeamInviteIdSchema.readonly().meta({ description: "Unique identifier for the team invitation" }),
12718
- createdAt: datetime().readonly().meta({ description: "Timestamp in ISO 8601 format when the invitation was created" }),
12719
- updatedAt: datetime().readonly().meta({ description: "Timestamp in ISO 8601 format when the invitation was last updated" }),
12720
- teamId: TeamIdSchema.meta({ description: "Team this invitation is for" }),
12721
- email: email().meta({ description: "Email address of the invited user. Used for sending invitation." }),
12722
- permissions: PermissionNodeArraySchema.meta({
12723
- description: "Permissions the user will receive upon accepting the invitation. Can be overridden per promoter or venue.",
12724
- examples: [
12725
- ["EVENT", "ORDER"],
12726
- ["FULL"],
12727
- ["SCANNING"]
12728
- ]
12729
- }),
12730
- token: string$1().readonly().meta({ description: "Secure token for invite acceptance. Required to accept the invitation." }),
12731
- expiresAt: number$1().int().positive().meta({ description: "Unix timestamp (seconds) for DynamoDB TTL. Invitation will be automatically deleted after 7 days." }),
12732
- invitedBy: UserIdSchema.meta({ description: "User ID who sent the invitation" }),
12733
- tenantId: string$1().readonly().meta({ description: "Tenant ID for multi-tenant isolation" })
12734
- }).meta({ description: "Pending team invitation. Automatically deleted after 7 days via DynamoDB TTL. When accepted, creates a TeamMember record and deletes the invitation." });
12672
+ //#region ../contract/src/team-member/team-member-response.schema.ts
12673
+ const TeamMemberResponseSchema = object({ member: TeamMemberSchema });
12735
12674
 
12736
12675
  //#endregion
12737
12676
  //#region ../contract/src/team/team-invite-cancel.schema.ts
@@ -12771,10 +12710,36 @@ const TeamInviteListSchema = object({
12771
12710
  cursor: string$1().optional().meta({ description: "Pagination cursor for fetching the next page" })
12772
12711
  });
12773
12712
 
12713
+ //#endregion
12714
+ //#region ../contract/src/team/team-invite.schema.ts
12715
+ const TeamInviteSchema = object({
12716
+ id: TeamInviteIdSchema.readonly().meta({ description: "Unique identifier for the team invitation" }),
12717
+ createdAt: datetime().readonly().meta({ description: "Timestamp in ISO 8601 format when the invitation was created" }),
12718
+ updatedAt: datetime().readonly().meta({ description: "Timestamp in ISO 8601 format when the invitation was last updated" }),
12719
+ teamId: TeamIdSchema.meta({ description: "Team this invitation is for" }),
12720
+ email: email().meta({ description: "Email address of the invited user. Used for sending invitation." }),
12721
+ permissions: PermissionNodeArraySchema.meta({
12722
+ description: "Permissions the user will receive upon accepting the invitation. Can be overridden per promoter or venue.",
12723
+ examples: [
12724
+ ["EVENT", "ORDER"],
12725
+ ["FULL"],
12726
+ ["SCANNING"]
12727
+ ]
12728
+ }),
12729
+ token: string$1().readonly().meta({ description: "Secure token for invite acceptance. Required to accept the invitation." }),
12730
+ expiresAt: number$1().int().positive().meta({ description: "Unix timestamp (seconds) for DynamoDB TTL. Invitation will be automatically deleted after 7 days." }),
12731
+ invitedBy: UserIdSchema.meta({ description: "User ID who sent the invitation" }),
12732
+ tenantId: string$1().readonly().meta({ description: "Tenant ID for multi-tenant isolation" })
12733
+ }).meta({ description: "Pending team invitation. Automatically deleted after 7 days via DynamoDB TTL. When accepted, creates a TeamMember record and deletes the invitation." });
12734
+
12774
12735
  //#endregion
12775
12736
  //#region ../contract/src/team/team-invite-page.schema.ts
12776
12737
  const TeamInvitePageSchema = createPaginatedSchema(TeamInviteSchema, "invites");
12777
12738
 
12739
+ //#endregion
12740
+ //#region ../contract/src/team/team-invite-response.schema.ts
12741
+ const TeamInviteResponseSchema = object({ invite: TeamInviteSchema });
12742
+
12778
12743
  //#endregion
12779
12744
  //#region ../contract/src/team/team-invite.contract.ts
12780
12745
  const list$1$1 = oc.route({
@@ -12790,35 +12755,35 @@ const get$1$1 = oc.route({
12790
12755
  summary: "Get pending invitation by ID",
12791
12756
  description: "Retrieve a pending team invitation by its ID. Team key can be ID or slug.",
12792
12757
  tags: ["Team Invites"]
12793
- }).input(TeamInviteGetSchema.strict()).output(TeamInviteSchema);
12758
+ }).input(TeamInviteGetSchema.strict()).output(TeamInviteResponseSchema);
12794
12759
  const create$1$1 = oc.route({
12795
12760
  method: "POST",
12796
12761
  path: "/teams/{key}/invites",
12797
12762
  summary: "Create a team invitation",
12798
12763
  description: "Invite a user to join a team by email. Team key can be ID or slug. Creates a pending invitation with a secure token that expires in 7 days. The invited user will receive an email with an acceptance link.",
12799
12764
  tags: ["Team Invites"]
12800
- }).input(TeamInviteCreateSchema.strict()).output(TeamInviteSchema);
12765
+ }).input(TeamInviteCreateSchema.strict()).output(TeamInviteResponseSchema);
12801
12766
  const accept$1 = oc.route({
12802
12767
  method: "PATCH",
12803
12768
  path: "/teams/{key}/invites/{inviteId}",
12804
12769
  summary: "Accept a team invitation",
12805
12770
  description: "Accept a pending team invitation using the secure token. Team key can be ID or slug. This deletes the invitation and creates an active TeamMember record. Returns the newly created team member.",
12806
12771
  tags: ["Team Invites"]
12807
- }).input(AcceptTeamInviteSchema.strict()).output(TeamMemberSchema);
12772
+ }).input(AcceptTeamInviteSchema.strict()).output(TeamMemberResponseSchema);
12808
12773
  const resend$1 = oc.route({
12809
12774
  method: "POST",
12810
12775
  path: "/teams/{key}/invites/{inviteId}/resend",
12811
12776
  summary: "Resend invitation email",
12812
12777
  description: "Resend the invitation email with a new token and extended expiry. Team key can be ID or slug. Useful when the original invitation has expired or was not received.",
12813
12778
  tags: ["Team Invites"]
12814
- }).input(TeamInviteGetSchema.strict()).output(TeamInviteSchema);
12779
+ }).input(TeamInviteGetSchema.strict()).output(TeamInviteResponseSchema);
12815
12780
  const cancel = oc.route({
12816
12781
  method: "DELETE",
12817
12782
  path: "/teams/{key}/invites/{inviteId}",
12818
12783
  summary: "Cancel a pending invitation",
12819
12784
  description: "Cancel a pending team invitation before it is accepted. Team key can be ID or slug. Deletes the invitation record.",
12820
12785
  tags: ["Team Invites"]
12821
- }).input(TeamInviteCancelSchema.strict()).output(TeamInviteSchema);
12786
+ }).input(TeamInviteCancelSchema.strict()).output(TeamInviteResponseSchema);
12822
12787
  var team_invite_contract_default = {
12823
12788
  list: list$1$1,
12824
12789
  get: get$1$1,
@@ -12883,6 +12848,10 @@ var team_payment_contract_default = {
12883
12848
  disconnect
12884
12849
  };
12885
12850
 
12851
+ //#endregion
12852
+ //#region ../contract/src/team/team-response.schema.ts
12853
+ const TeamResponseSchema = object({ team: DetailedTeamSchema.extend({ isAdmin: boolean$1().optional().meta({ description: "Whether this team is the tenant admin team" }) }) });
12854
+
12886
12855
  //#endregion
12887
12856
  //#region ../contract/src/team/team-update.schema.ts
12888
12857
  const TeamUpdateSchema = TeamSchema.omit({
@@ -12958,7 +12927,7 @@ const get$a = oc.route({
12958
12927
  summary: "Get team member by user ID",
12959
12928
  description: "Retrieve a team member using the team key (ID or slug) and user ID",
12960
12929
  tags: ["Team Members"]
12961
- }).input(TeamMemberGetSchema.strict()).output(TeamMemberSchema);
12930
+ }).input(TeamMemberGetSchema.strict()).output(TeamMemberResponseSchema);
12962
12931
  const list$a = oc.route({
12963
12932
  method: "GET",
12964
12933
  path: "/teams/{key}/members",
@@ -12972,7 +12941,7 @@ const create$a = oc.route({
12972
12941
  summary: "Add an existing user to a team",
12973
12942
  description: "Directly add an existing user to a team. Team key can be ID or slug. Must have at least one permission. To invite a new user by email, use the team invites endpoint instead.",
12974
12943
  tags: ["Team Members"]
12975
- }).input(TeamMemberCreateSchema.strict()).output(TeamMemberSchema);
12944
+ }).input(TeamMemberCreateSchema.strict()).output(TeamMemberResponseSchema);
12976
12945
  const update$a = oc.route({
12977
12946
  method: "PATCH",
12978
12947
  path: "/teams/{key}/members/{userId}",
@@ -12982,14 +12951,14 @@ const update$a = oc.route({
12982
12951
  }).input(TeamMemberUpdateSchema.extend({
12983
12952
  key: string$1(),
12984
12953
  userId: string$1()
12985
- }).strict()).output(TeamMemberSchema);
12954
+ }).strict()).output(TeamMemberResponseSchema);
12986
12955
  const remove$a = oc.route({
12987
12956
  method: "DELETE",
12988
12957
  path: "/teams/{key}/members/{userId}",
12989
12958
  summary: "Remove a team member",
12990
12959
  description: "Remove an active member from a team. Team key can be ID or slug. Cannot remove the team owner (transfer ownership first). To cancel pending invitations, use the team invites endpoint.",
12991
12960
  tags: ["Team Members"]
12992
- }).input(TeamMemberGetSchema.strict()).output(TeamMemberSchema);
12961
+ }).input(TeamMemberGetSchema.strict()).output(TeamMemberResponseSchema);
12993
12962
  const transfer = oc.route({
12994
12963
  method: "POST",
12995
12964
  path: "/teams/{key}/transfer",
@@ -13225,7 +13194,8 @@ var config_default = {
13225
13194
  favicon: "https://assets.session.services/tenants/session-services/favicon.svg",
13226
13195
  features: {
13227
13196
  "promoter-signups": true,
13228
- "region-filtering": true
13197
+ "region-filtering": true,
13198
+ "genres": true
13229
13199
  },
13230
13200
  wallet: { "apple": {
13231
13201
  "logoUrl": "https://assets.session.services/tenant/session-services/wallet/logo.png",
@@ -14891,6 +14861,10 @@ const MeTeamMemberSchema = TeamMemberSchema.meta({
14891
14861
  ref: "MeTeamMember",
14892
14862
  description: "Team membership for the current user with denormalized user details."
14893
14863
  });
14864
+ const UserUpdateResponseSchema = object({ user: UserSchema.meta({ description: "The updated user profile" }) }).meta({
14865
+ ref: "UserUpdateResponse",
14866
+ description: "Response payload for PATCH /users/me containing the updated user profile."
14867
+ });
14894
14868
  const UserResponseSchema = object({
14895
14869
  user: UserSchema.nullable().meta({ description: "Current authenticated user profile, null if not authenticated" }),
14896
14870
  isAdmin: boolean$1().meta({ description: "Whether the current user has admin privileges for the tenant" }),
@@ -15016,6 +14990,10 @@ const VenueListSchema = object({
15016
14990
  //#region ../contract/src/venue/venue-page.schema.ts
15017
14991
  const VenuePageSchema = createPaginatedSchema(VenueSchema, "venues").meta({ description: "Paginated response containing venues with cursor for next page" });
15018
14992
 
14993
+ //#endregion
14994
+ //#region ../contract/src/venue/venue-response.schema.ts
14995
+ const VenueResponseSchema = object({ venue: VenueSchema });
14996
+
15019
14997
  //#endregion
15020
14998
  //#region ../contract/src/venue/venue-update.schema.ts
15021
14999
  const VenueUpdateSchema = VenueSchema.omit({
@@ -15387,6 +15365,10 @@ const EventLikePageSchema = createPaginatedSchema(EventLikeSchema, "likes").meta
15387
15365
  */
15388
15366
  const EventLikeRemoveSchema = object({ eventId: EventIdSchema.meta({ description: "Event to remove like from" }) }).meta({ description: "Request to remove the current user's like from an event" });
15389
15367
 
15368
+ //#endregion
15369
+ //#region ../contract/src/event-like/event-like-response.schema.ts
15370
+ const EventLikeResponseSchema = object({ like: EventLikeSchema });
15371
+
15390
15372
  //#endregion
15391
15373
  //#region ../contract/src/event-like/event-like.contract.ts
15392
15374
  const add = oc.route({
@@ -15395,7 +15377,7 @@ const add = oc.route({
15395
15377
  summary: "Like an event",
15396
15378
  description: "Like an event as the current user. Atomically increments the event's likes counter.",
15397
15379
  tags: ["Events"]
15398
- }).input(EventLikeAddSchema).output(EventLikeSchema);
15380
+ }).input(EventLikeAddSchema).output(EventLikeResponseSchema);
15399
15381
  const remove$9 = oc.route({
15400
15382
  method: "DELETE",
15401
15383
  path: "/events/{eventId}/like",
@@ -15606,7 +15588,7 @@ const get$9 = oc.route({
15606
15588
  summary: "Get event collaborator by ID",
15607
15589
  description: "Retrieve an active event collaboration by its unique ID. Returns the collaborator record with promoter and permission details.",
15608
15590
  tags: ["Event Collaborators"]
15609
- }).input(EventCollaboratorGetSchema.strict()).output(EventCollaboratorSchema);
15591
+ }).input(EventCollaboratorGetSchema.strict()).output(EventCollaboratorResponseSchema);
15610
15592
  const list$9 = oc.route({
15611
15593
  method: "GET",
15612
15594
  path: "/events/{eventId}/collaborators",
@@ -15620,14 +15602,14 @@ const create$9 = oc.route({
15620
15602
  summary: "Invite a promoter to collaborate on an event",
15621
15603
  description: "Send a collaboration invitation to a promoter (can be from a different team). Enables cross-team promoter-to-promoter collaboration. Creates a pending invitation with a secure token that expires in 7 days. The invited promoter must accept to create an active collaboration.",
15622
15604
  tags: ["Event Collaborators"]
15623
- }).input(EventCollaboratorCreateSchema.strict()).output(EventCollaboratorInviteSchema);
15605
+ }).input(EventCollaboratorCreateSchema.strict()).output(EventCollaboratorInviteResponseSchema);
15624
15606
  const accept = oc.route({
15625
15607
  method: "POST",
15626
15608
  path: "/events/{eventId}/collaborators/{id}/accept",
15627
15609
  summary: "Accept an event collaboration invitation",
15628
15610
  description: "Accept a pending event collaboration invitation. User must be a member of the invited promoter's team. Deletes the invitation and creates an active collaboration record.",
15629
15611
  tags: ["Event Collaborators"]
15630
- }).input(AcceptEventCollaboratorSchema.strict()).output(EventCollaboratorSchema);
15612
+ }).input(AcceptEventCollaboratorSchema.strict()).output(EventCollaboratorResponseSchema);
15631
15613
  const remove$7 = oc.route({
15632
15614
  method: "DELETE",
15633
15615
  path: "/events/{eventId}/collaborators/{id}",
@@ -15669,7 +15651,7 @@ const get$8 = oc.route({
15669
15651
  summary: "Get location details",
15670
15652
  description: "Fetch full location details including coordinates, timezone, and photo. Accepts location ID or provider identifier (e.g., Google Place ID). Uses cache-first strategy.",
15671
15653
  tags: ["Locations"]
15672
- }).input(LocationGetSchema.strict()).output(DetailedLocationSchema);
15654
+ }).input(LocationGetSchema.strict()).output(LocationResponseSchema);
15673
15655
  var location_contract_default = {
15674
15656
  list: list$8,
15675
15657
  get: get$8
@@ -15737,18 +15719,6 @@ const update$9 = oc.route({
15737
15719
  summary: "Update an order",
15738
15720
  tags: ["Orders"]
15739
15721
  }).input(OrderUpdateSchema.strict()).output(OrderResponseSchema);
15740
- const count = oc.route({
15741
- method: "GET",
15742
- path: "/orders/count",
15743
- summary: "Count orders",
15744
- tags: ["Orders"]
15745
- }).input(OrderCountSchema.strict()).output(OrderCountResponseSchema);
15746
- const stats$1 = oc.route({
15747
- method: "GET",
15748
- path: "/orders/stats",
15749
- summary: "Get order statistics",
15750
- tags: ["Orders"]
15751
- }).input(OrderCountSchema.strict()).output(OrderStatsSchema);
15752
15722
  const resend = oc.route({
15753
15723
  method: "POST",
15754
15724
  path: "/orders/{id}/resend",
@@ -15769,8 +15739,6 @@ var order_contract_default = {
15769
15739
  create: create$7,
15770
15740
  update: update$9,
15771
15741
  quote,
15772
- count,
15773
- stats: stats$1,
15774
15742
  resend,
15775
15743
  refund,
15776
15744
  note: order_note_contract_default
@@ -16153,7 +16121,7 @@ const get$2 = oc.route({
16153
16121
  summary: "Get team by ID or slug",
16154
16122
  description: "Retrieve a team with membership details. User must be a member of the team.",
16155
16123
  tags: ["Teams"]
16156
- }).input(TeamByIdentifierGetSchema.strict()).output(TeamSchema);
16124
+ }).input(TeamByIdentifierGetSchema.strict()).output(TeamResponseSchema);
16157
16125
  const list$2 = oc.route({
16158
16126
  method: "GET",
16159
16127
  path: "/teams",
@@ -16167,21 +16135,21 @@ const create$2 = oc.route({
16167
16135
  summary: "Create a new team",
16168
16136
  description: "Create a new team organization",
16169
16137
  tags: ["Teams"]
16170
- }).input(TeamCreateSchema.strict()).output(TeamSchema);
16138
+ }).input(TeamCreateSchema.strict()).output(TeamResponseSchema);
16171
16139
  const update$3 = oc.route({
16172
16140
  method: "PATCH",
16173
16141
  path: "/teams/{key}",
16174
16142
  summary: "Update a team",
16175
16143
  description: "Update an existing team by ID or slug",
16176
16144
  tags: ["Teams"]
16177
- }).input(TeamUpdateSchema.strict()).output(TeamSchema);
16145
+ }).input(TeamUpdateSchema.strict()).output(TeamResponseSchema);
16178
16146
  const remove$1 = oc.route({
16179
16147
  method: "DELETE",
16180
16148
  path: "/teams/{key}",
16181
16149
  summary: "Delete a team",
16182
16150
  description: "Soft delete a team (sets deletedAt timestamp) by ID or slug",
16183
16151
  tags: ["Teams"]
16184
- }).input(TeamByIdentifierGetSchema.strict()).output(TeamSchema);
16152
+ }).input(TeamByIdentifierGetSchema.strict()).output(TeamResponseSchema);
16185
16153
  var team_contract_default = {
16186
16154
  get: get$2,
16187
16155
  list: list$2,
@@ -16275,7 +16243,7 @@ const update$1 = oc.route({
16275
16243
  path: "/users/me",
16276
16244
  summary: "Update the current user's profile",
16277
16245
  tags: ["Users"]
16278
- }).input(UpdateUserInputSchema).output(UserSchema);
16246
+ }).input(UpdateUserInputSchema).output(UserUpdateResponseSchema);
16279
16247
  var user_contract_default = {
16280
16248
  me,
16281
16249
  update: update$1
@@ -16289,7 +16257,7 @@ const get = oc.route({
16289
16257
  summary: "Get venue by ID or slug",
16290
16258
  description: "Retrieve a venue using its unique ID or slug",
16291
16259
  tags: ["Venues"]
16292
- }).input(VenueGetSchema.strict()).output(VenueSchema);
16260
+ }).input(VenueGetSchema.strict()).output(VenueResponseSchema);
16293
16261
  const list = oc.route({
16294
16262
  method: "GET",
16295
16263
  path: "/venues",
@@ -16303,21 +16271,21 @@ const create = oc.route({
16303
16271
  summary: "Create a new venue",
16304
16272
  description: "Create a new venue. Venue will be owned by the specified team but can be used by all teams for their events",
16305
16273
  tags: ["Venues"]
16306
- }).input(VenueCreateSchema.strict()).output(VenueSchema);
16274
+ }).input(VenueCreateSchema.strict()).output(VenueResponseSchema);
16307
16275
  const update = oc.route({
16308
16276
  method: "PATCH",
16309
16277
  path: "/venues/{key}",
16310
16278
  summary: "Update a venue",
16311
16279
  description: "Update an existing venue. Cannot change venue ownership (teamId)",
16312
16280
  tags: ["Venues"]
16313
- }).input(VenueUpdateSchema.strict()).output(VenueSchema);
16281
+ }).input(VenueUpdateSchema.strict()).output(VenueResponseSchema);
16314
16282
  const remove = oc.route({
16315
16283
  method: "DELETE",
16316
16284
  path: "/venues/{key}",
16317
16285
  summary: "Delete a venue",
16318
16286
  description: "Soft delete a venue (sets deletedAt timestamp)",
16319
16287
  tags: ["Venues"]
16320
- }).input(VenueDeleteSchema.strict()).output(VenueSchema);
16288
+ }).input(VenueDeleteSchema.strict()).output(VenueResponseSchema);
16321
16289
  const linkLocation = oc.route({
16322
16290
  method: "POST",
16323
16291
  path: "/venues/{key}/locations",
@@ -16327,7 +16295,7 @@ const linkLocation = oc.route({
16327
16295
  }).input(VenueGetSchema.extend({ locationKey: string$1().meta({
16328
16296
  description: "Location ID (loc_xxx) or Google Place ID to link to this venue",
16329
16297
  examples: ["loc_01jps5cgsm7qxvh6watsons0eq", "ChIJP3Sa8ziYEmsRUKgyFmh9AQM"]
16330
- }) }).strict()).output(VenueSchema);
16298
+ }) }).strict()).output(VenueResponseSchema);
16331
16299
  const unlinkLocation = oc.route({
16332
16300
  method: "DELETE",
16333
16301
  path: "/venues/{key}/locations/{locationKey}",
@@ -16337,7 +16305,7 @@ const unlinkLocation = oc.route({
16337
16305
  }).input(VenueGetSchema.extend({ locationKey: string$1().meta({
16338
16306
  description: "Location ID (loc_xxx) or Google Place ID to unlink from this venue",
16339
16307
  examples: ["loc_01jps5cgsm7qxvh6watsons0eq", "ChIJP3Sa8ziYEmsRUKgyFmh9AQM"]
16340
- }) }).strict()).output(VenueSchema);
16308
+ }) }).strict()).output(VenueResponseSchema);
16341
16309
  var venue_contract_default = {
16342
16310
  get,
16343
16311
  list,