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