@spoketech/hub-client 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/client.ts","../../contracts/src/contracts.ts","../../contracts/src/constants.ts","../../contracts/src/errors.ts","../src/onsite-resource-client.ts","../src/spoke-client.ts"],"sourcesContent":["import { createPrivateKey, randomUUID, sign } from \"node:crypto\";\n\nimport * as FetchHttpClient from \"@effect/platform/FetchHttpClient\";\nimport * as HttpApi from \"@effect/platform/HttpApi\";\nimport * as HttpApiClient from \"@effect/platform/HttpApiClient\";\nimport * as HttpClient from \"@effect/platform/HttpClient\";\nimport * as HttpClientRequest from \"@effect/platform/HttpClientRequest\";\nimport * as Effect from \"effect/Effect\";\n\nimport { HubApi } from \"./contracts.js\";\n\ntype HubApiGroups = typeof HubApi extends HttpApi.HttpApi<any, infer Groups, any, any>\n ? Groups\n : never;\ntype HubApiError = typeof HubApi extends HttpApi.HttpApi<any, any, infer ApiError, any>\n ? ApiError\n : never;\n\nexport type HubApiClient = HttpApiClient.Client<HubApiGroups, HubApiError, never>;\nexport type PromiseClient<T> = {\n readonly [K in keyof T]: T[K] extends (...args: infer Args) => Effect.Effect<infer A, any, any>\n ? (...args: Args) => Promise<A>\n : T[K] extends object\n ? PromiseClient<T[K]>\n : T[K];\n};\nexport type PromiseHubApiClient = PromiseClient<HubApiClient>;\n\nexport interface HubApiClientOptions {\n readonly baseUrl: string | URL;\n readonly apiBasePath?: string;\n readonly headers?: Readonly<Record<string, string>>;\n readonly transformClient?: (client: HttpClient.HttpClient) => HttpClient.HttpClient;\n readonly transformResponse?: (\n effect: Effect.Effect<unknown, unknown>,\n ) => Effect.Effect<unknown, unknown>;\n}\n\nexport interface HubApiCredentialOptions\n extends HubApiClientOptions {\n readonly clientId: string;\n readonly privateKey: string;\n}\n\nconst defaultApiBasePath = \"/api\";\n\nfunction trimSlashes(value: string) {\n return value.replace(/^\\/+|\\/+$/g, \"\");\n}\n\nfunction joinUrlPath(left: string, right: string) {\n const segments = [trimSlashes(left), trimSlashes(right)].filter(\n (segment) => segment.length > 0,\n );\n return `/${segments.join(\"/\")}`;\n}\n\nfunction configureHttpClient(\n client: HttpClient.HttpClient,\n options: Pick<\n HubApiClientOptions,\n \"headers\" | \"transformClient\"\n >,\n) {\n let configuredClient = client;\n\n if (options.headers && Object.keys(options.headers).length > 0) {\n configuredClient = configuredClient.pipe(\n HttpClient.mapRequest(HttpClientRequest.setHeaders(options.headers)),\n );\n }\n\n return options.transformClient\n ? options.transformClient(configuredClient)\n : configuredClient;\n}\n\nconst SPOKE_CLIENT_ID_HEADER = \"x-spoke-client-id\";\nconst SPOKE_TIMESTAMP_HEADER = \"x-spoke-timestamp\";\nconst SPOKE_NONCE_HEADER = \"x-spoke-nonce\";\nconst SPOKE_SIGNATURE_HEADER = \"x-spoke-signature\";\n\nfunction encodeQueryComponent(value: string) {\n return encodeURIComponent(value).replace(/[!'()*]/g, (char) =>\n `%${char.charCodeAt(0).toString(16).toUpperCase()}`,\n );\n}\n\nfunction normalizeSignedQuery(url: URL) {\n const entries = [...url.searchParams.entries()].sort(([leftKey, leftValue], [rightKey, rightValue]) =>\n leftKey === rightKey ? leftValue.localeCompare(rightValue) : leftKey.localeCompare(rightKey),\n );\n\n return entries\n .map(([key, value]) => `${encodeQueryComponent(key)}=${encodeQueryComponent(value)}`)\n .join(\"&\");\n}\n\nfunction signRequestWithPrivateKey(input: {\n readonly privateKey: string;\n readonly method: string;\n readonly path: string;\n readonly query: string;\n readonly timestamp: string;\n readonly nonce: string;\n}) {\n const payload = [\n input.method.trim().toUpperCase(),\n input.path.trim() || \"/\",\n input.query,\n input.timestamp.trim(),\n input.nonce.trim(),\n ].join(\"\\n\");\n\n const privateKey = createPrivateKey({\n key: Buffer.from(input.privateKey.replace(/\\s+/g, \"\"), \"base64\"),\n format: \"der\",\n type: \"pkcs8\",\n });\n\n return sign(null, Buffer.from(payload, \"utf8\"), privateKey).toString(\"base64url\");\n}\n\nfunction configureSignedHttpClient(\n client: HttpClient.HttpClient,\n options: Pick<HubApiCredentialOptions, \"clientId\" | \"privateKey\">,\n) {\n return client.pipe(\n HttpClient.mapRequest((request) => {\n const url = new URL(request.url);\n for (const [key, value] of request.urlParams as Iterable<[string, string]>) {\n url.searchParams.append(key, value);\n }\n\n const timestamp = String(Math.floor(Date.now() / 1000));\n const nonce = randomUUID();\n const signature = signRequestWithPrivateKey({\n privateKey: options.privateKey,\n method: request.method,\n path: url.pathname,\n query: normalizeSignedQuery(url),\n timestamp,\n nonce,\n });\n\n return request.pipe(\n HttpClientRequest.setHeaders({\n [SPOKE_CLIENT_ID_HEADER]: options.clientId,\n [SPOKE_TIMESTAMP_HEADER]: timestamp,\n [SPOKE_NONCE_HEADER]: nonce,\n [SPOKE_SIGNATURE_HEADER]: signature,\n }),\n );\n }),\n );\n}\n\nexport function resolveHubApiBaseUrl(\n baseUrl: string | URL,\n apiBasePath = defaultApiBasePath,\n) {\n const resolved = new URL(baseUrl.toString());\n resolved.pathname = joinUrlPath(resolved.pathname, apiBasePath);\n resolved.search = \"\";\n resolved.hash = \"\";\n return resolved.toString().replace(/\\/$/, \"\");\n}\n\nexport const makeHubApiClient = (options: HubApiClientOptions) =>\n HttpApiClient.make(HubApi, {\n baseUrl: resolveHubApiBaseUrl(options.baseUrl, options.apiBasePath),\n transformClient: (client) => configureHttpClient(client, options),\n transformResponse: options.transformResponse,\n }).pipe(Effect.provide(FetchHttpClient.layer));\n\nexport const makeServiceHubApiClient = (\n options: HubApiCredentialOptions,\n) =>\n Effect.gen(function* () {\n const client = yield* makeHubApiClient({\n baseUrl: options.baseUrl,\n apiBasePath: options.apiBasePath,\n headers: options.headers,\n transformClient: (client) => {\n const configured = configureSignedHttpClient(client, {\n clientId: options.clientId,\n privateKey: options.privateKey,\n });\n return options.transformClient ? options.transformClient(configured) : configured;\n },\n transformResponse: options.transformResponse,\n });\n\n return { client } as const;\n });\n\nfunction toPromiseClient<T extends Record<string, unknown>>(value: T): PromiseClient<T> {\n const entries = Object.entries(value).map(([key, member]) => {\n if (typeof member === \"function\") {\n return [\n key,\n (...args: ReadonlyArray<unknown>) =>\n Effect.runPromise(\n (member as (...args: ReadonlyArray<unknown>) => Effect.Effect<unknown, unknown, unknown>)(\n ...args,\n ) as Effect.Effect<unknown, unknown, never>,\n ),\n ];\n }\n\n if (member && typeof member === \"object\") {\n return [key, toPromiseClient(member as Record<string, unknown>)];\n }\n\n return [key, member];\n });\n\n return Object.fromEntries(entries) as PromiseClient<T>;\n}\n\nexport const makePromiseHubApiClient = async (\n options: HubApiClientOptions,\n): Promise<PromiseHubApiClient> =>\n toPromiseClient(await Effect.runPromise(makeHubApiClient(options)));\n\nexport const makePromiseServiceHubApiClient = async (\n options: HubApiCredentialOptions,\n) => {\n const { client } = await Effect.runPromise(makeServiceHubApiClient(options));\n return {\n client: toPromiseClient(client),\n } as const;\n};\n","import * as HttpApi from \"@effect/platform/HttpApi\";\nimport * as HttpApiEndpoint from \"@effect/platform/HttpApiEndpoint\";\nimport * as HttpApiGroup from \"@effect/platform/HttpApiGroup\";\nimport * as HttpApiSchema from \"@effect/platform/HttpApiSchema\";\nimport * as OpenApi from \"@effect/platform/OpenApi\";\nimport {\n adminRoles,\n guestStatuses,\n memberComputedStatuses,\n memberCreatedOrigins,\n memberPreferredContactMethods,\n memberRecordModes,\n organizationMemberSourceAgentStatuses,\n organizationMemberSourceCommandStatuses,\n organizationMemberSourceCsvImportStatuses,\n organizationMemberSourceWebhookDeliveryStatuses,\n organizationMemberSourceWebhookStatuses,\n organizationProductWebhookDeliveryStatuses,\n organizationProductWebhookStatuses,\n organizationVoucherCommandKinds,\n organizationVoucherCommandStatuses,\n organizationVoucherProviderProviders,\n organizationVoucherProviderStatuses,\n organizationVoucherProviderTransports,\n organizationMemberSourceBatchTransports,\n organizationMemberSourceManualTransports,\n organizationMemberSourceLiveTransports,\n organizationMemberSourceStatuses,\n organizationMemberSourceVendors,\n organizationMemberSyncModes,\n organizationMemberSyncRunStatuses,\n organizationMemberSyncTransports,\n organizationMemberSyncTriggerKinds,\n organizationPointTypeStatuses,\n organizationStatuses,\n} from \"./constants.js\";\nimport * as Schema from \"effect/Schema\";\n\nimport {\n BadRequestErrorSchema,\n ConflictErrorSchema,\n ForbiddenErrorSchema,\n NotFoundErrorSchema,\n UnauthorizedErrorSchema,\n} from \"./errors.js\";\n\nconst NullableString = Schema.Union(Schema.String, Schema.Null);\nconst OptionalNullableString = Schema.optional(NullableString);\nconst NullableNumber = Schema.Union(Schema.Number, Schema.Null);\nconst OptionalNullableNumber = Schema.optional(NullableNumber);\nconst JsonObjectSchema = Schema.Record({\n key: Schema.String,\n value: Schema.Unknown,\n});\n\nexport const TimestampSchema = Schema.String.annotations({\n description: \"ISO 8601 timestamp.\",\n example: \"2026-04-07T21:02:05.123Z\",\n});\n\nexport const DateOnlySchema = Schema.String.annotations({\n description: \"Date in YYYY-MM-DD format.\",\n example: \"1988-06-14\",\n});\n\nconst MobilePhoneSchema = Schema.String.annotations({\n description: \"Mobile phone number, typically normalized to E.164 format.\",\n example: \"+61490451502\",\n});\nconst NullableMobilePhoneSchema = Schema.Union(MobilePhoneSchema, Schema.Null);\nconst OptionalNullableMobilePhoneSchema = Schema.optional(NullableMobilePhoneSchema);\nconst PreferredContactMethodSchema = Schema.Literal(...memberPreferredContactMethods).annotations({\n description: \"Preferred member contact method.\",\n example: \"sms\",\n});\nconst NullablePreferredContactMethodSchema = Schema.Union(\n PreferredContactMethodSchema,\n Schema.Null,\n);\nconst OptionalNullablePreferredContactMethodSchema = Schema.optional(\n NullablePreferredContactMethodSchema,\n);\nconst OccupationSchema = Schema.String.annotations({\n description: \"Member occupation or job title.\",\n example: \"Hospitality Manager\",\n});\nconst NullableOccupationSchema = Schema.Union(OccupationSchema, Schema.Null);\nconst OptionalNullableOccupationSchema = Schema.optional(NullableOccupationSchema);\n\nexport const AddressSchema = Schema.Struct({\n line1: NullableString,\n line2: NullableString,\n suburb: NullableString,\n state: NullableString,\n postalCode: NullableString,\n country: NullableString,\n});\n\nconst AddressInputSchema = Schema.Struct({\n line1: OptionalNullableString,\n line2: OptionalNullableString,\n suburb: OptionalNullableString,\n state: OptionalNullableString,\n postalCode: OptionalNullableString,\n country: OptionalNullableString,\n});\n\nexport const MarketingPreferencesSchema = Schema.Struct({\n email: Schema.Boolean,\n sms: Schema.Boolean,\n post: Schema.Boolean,\n gamingOptOut: Schema.Boolean,\n});\n\nconst MarketingPreferencesInputSchema = Schema.Struct({\n email: Schema.optional(Schema.Boolean),\n sms: Schema.optional(Schema.Boolean),\n post: Schema.optional(Schema.Boolean),\n gamingOptOut: Schema.optional(Schema.Boolean),\n});\n\nexport const OrganizationSchema = Schema.Struct({\n id: Schema.String,\n slug: Schema.String,\n name: Schema.String,\n legalName: NullableString,\n status: Schema.Literal(...organizationStatuses),\n description: NullableString,\n externalReference: NullableString,\n products: Schema.Array(Schema.String),\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n deletedAt: Schema.Union(TimestampSchema, Schema.Null),\n});\n\nexport const OrganizationProductOptionSchema = Schema.Struct({\n id: Schema.String,\n slug: Schema.String,\n name: Schema.String,\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n deletedAt: Schema.Union(TimestampSchema, Schema.Null),\n});\n\nexport const OrganizationProductWebhookSchema = Schema.Struct({\n id: Schema.String,\n organizationProductOptionId: Schema.String,\n status: Schema.Literal(...organizationProductWebhookStatuses),\n url: Schema.String.annotations({\n description:\n \"Destination URL that receives product-level webhooks for member-source command completions, member updates, and voucher creation.\",\n example: \"https://product.example.com/webhooks/spoke\",\n }),\n hasSigningSecret: Schema.Boolean,\n lastDeliveredAt: Schema.Union(TimestampSchema, Schema.Null),\n lastDeliveryStatus: Schema.Union(\n Schema.Literal(...organizationProductWebhookDeliveryStatuses),\n Schema.Null,\n ),\n lastDeliveryError: NullableString,\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n deletedAt: Schema.Union(TimestampSchema, Schema.Null),\n});\n\nexport const OrganizationProductWebhookUpsertResponseSchema = Schema.Struct({\n webhook: OrganizationProductWebhookSchema,\n signingSecret: Schema.Union(\n Schema.String.annotations({\n description:\n \"Webhook signing secret shown only on first creation or explicit rotation. Use it to verify the X-Spoke-Webhook-Signature header.\",\n example: \"whsec_JuL9C8J7Kz2O2P8N4GqX5YvM6QwT3R1B\",\n }),\n Schema.Null,\n ),\n});\n\nexport const OrganizationVoucherProviderSecretInputSchema = Schema.Struct({\n name: Schema.String,\n value: Schema.String,\n});\n\nexport const OrganizationVoucherProviderSecretNameSchema = Schema.Struct({\n name: Schema.String,\n});\n\nexport const OrganizationVoucherProviderSchema = Schema.Struct({\n id: Schema.String,\n organizationId: Schema.String,\n provider: Schema.Literal(...organizationVoucherProviderProviders),\n transport: Schema.Literal(...organizationVoucherProviderTransports),\n status: Schema.Literal(...organizationVoucherProviderStatuses),\n config: JsonObjectSchema,\n hasSecrets: Schema.Boolean,\n secretNames: Schema.Array(OrganizationVoucherProviderSecretNameSchema),\n lastError: NullableString,\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n deletedAt: Schema.Union(TimestampSchema, Schema.Null),\n});\n\nexport const OrganizationVoucherCommandSchema = Schema.Struct({\n id: Schema.String,\n organizationId: Schema.String,\n organizationVoucherProviderId: Schema.String,\n serviceClientId: Schema.Union(Schema.String, Schema.Null),\n kind: Schema.Literal(...organizationVoucherCommandKinds),\n status: Schema.Literal(...organizationVoucherCommandStatuses),\n payload: JsonObjectSchema,\n result: Schema.Union(JsonObjectSchema, Schema.Null),\n errorMessage: NullableString,\n requestedAt: TimestampSchema,\n acceptedAt: Schema.Union(TimestampSchema, Schema.Null),\n completedAt: Schema.Union(TimestampSchema, Schema.Null),\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n deletedAt: Schema.Union(TimestampSchema, Schema.Null),\n});\n\nexport const UpsertOrganizationVoucherProviderSchema = Schema.Struct({\n provider: Schema.Literal(...organizationVoucherProviderProviders),\n transport: Schema.Literal(...organizationVoucherProviderTransports),\n status: Schema.optional(Schema.Literal(...organizationVoucherProviderStatuses)),\n config: JsonObjectSchema,\n secrets: Schema.optional(Schema.Array(OrganizationVoucherProviderSecretInputSchema)),\n});\n\nexport const RequestVoucherIssueSchema = Schema.Struct({\n memberId: Schema.optional(Schema.String),\n externalSystemMemberId: OptionalNullableString,\n memberNumber: OptionalNullableString,\n rewardId: OptionalNullableString,\n quantity: Schema.optional(Schema.Number),\n metadata: Schema.optional(JsonObjectSchema),\n});\n\nexport const OnsiteVoucherCommandSchema = Schema.Struct({\n commandId: Schema.String,\n organizationId: Schema.String,\n organizationVoucherProviderId: Schema.String,\n provider: Schema.Literal(...organizationVoucherProviderProviders),\n transport: Schema.Literal(...organizationVoucherProviderTransports),\n requestedAt: TimestampSchema,\n payload: JsonObjectSchema,\n config: JsonObjectSchema,\n secrets: Schema.Array(OrganizationVoucherProviderSecretInputSchema),\n});\n\nexport const CompleteOnsiteVoucherCommandSchema = Schema.Struct({\n externalRewardId: OptionalNullableString,\n externalGuid: OptionalNullableString,\n rawRecord: Schema.optional(Schema.Unknown),\n errorMessage: OptionalNullableString,\n});\n\nexport const OrganizationPointTypeSchema = Schema.Struct({\n id: Schema.String,\n organizationId: Schema.String,\n code: Schema.String,\n name: Schema.String,\n externalSystemId: NullableString,\n pointsPerDollar: NullableNumber,\n description: NullableString,\n status: Schema.Literal(...organizationPointTypeStatuses),\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n deletedAt: Schema.Union(TimestampSchema, Schema.Null),\n});\n\nexport const OrganizationPointTypesResponseSchema = Schema.Struct({\n items: Schema.Array(OrganizationPointTypeSchema),\n});\n\nexport const CreateOrganizationPointTypeSchema = Schema.Struct({\n code: Schema.String.annotations({\n description: \"Stable organization-scoped point type code.\",\n example: \"gaming\",\n }),\n name: Schema.String.annotations({\n description: \"Display name for the point type.\",\n example: \"Gaming Points\",\n }),\n externalSystemId: OptionalNullableString,\n pointsPerDollar: OptionalNullableNumber,\n description: OptionalNullableString,\n status: Schema.optional(Schema.Literal(...organizationPointTypeStatuses)),\n});\n\nexport const UpdateOrganizationPointTypeSchema = Schema.Struct({\n code: Schema.optional(Schema.String),\n name: Schema.optional(Schema.String),\n externalSystemId: OptionalNullableString,\n pointsPerDollar: OptionalNullableNumber,\n description: OptionalNullableString,\n status: Schema.optional(Schema.Literal(...organizationPointTypeStatuses)),\n});\n\nexport const MemberPointBalanceSchema = Schema.Struct({\n memberId: Schema.String,\n organizationId: Schema.String,\n pointTypeId: Schema.String,\n code: Schema.String,\n name: Schema.String,\n description: NullableString,\n balance: Schema.Number,\n updatedAt: TimestampSchema,\n});\n\nexport const MemberPointBalancesResponseSchema = Schema.Struct({\n memberId: Schema.String,\n organizationId: Schema.String,\n items: Schema.Array(MemberPointBalanceSchema),\n});\n\nexport const UpsertMemberPointBalanceSchema = Schema.Struct({\n balance: Schema.Number.annotations({\n description: \"Current member balance for this point type.\",\n example: 1200,\n }),\n});\n\nexport const MemberSchema = Schema.Struct({\n id: Schema.String,\n organizationId: Schema.String,\n organizationMemberSourceId: NullableString,\n status: Schema.Literal(...memberComputedStatuses).annotations({\n description:\n \"Computed member status for display and filtering. `active` excludes suspended and expired members, `suspended` reflects suspended active members, `expired` reflects active members whose expiry date is in the past, and `archived` is the stored archived state.\",\n }),\n isSuspended: Schema.Boolean,\n recordMode: Schema.Literal(...memberRecordModes),\n createdOrigin: Schema.Literal(...memberCreatedOrigins),\n createdOriginName: NullableString,\n archivedAt: Schema.Union(TimestampSchema, Schema.Null),\n joinedAt: Schema.Union(TimestampSchema, Schema.Null),\n sourceUpdatedAt: Schema.Union(TimestampSchema, Schema.Null),\n email: NullableString,\n title: NullableString,\n firstName: Schema.String,\n middleName: NullableString,\n lastName: Schema.String,\n displayName: Schema.String,\n dob: Schema.Union(DateOnlySchema, Schema.Null),\n gender: NullableString,\n mobilePhone: NullableMobilePhoneSchema,\n homePhone: NullableString,\n preferredContactMethod: NullablePreferredContactMethodSchema,\n occupation: NullableOccupationSchema,\n address: NullableString.annotations({\n description: \"Formatted full street address for display.\",\n }),\n addressParts: Schema.Union(AddressSchema, Schema.Null),\n postalAddress: NullableString.annotations({\n description: \"Formatted full postal address for display.\",\n }),\n postalAddressParts: Schema.Union(AddressSchema, Schema.Null),\n membershipType: NullableString,\n membershipTypeId: NullableString,\n ratingGrade: NullableString,\n ratingGradeId: NullableString,\n marketingPreferences: MarketingPreferencesSchema,\n expiresAt: Schema.Union(TimestampSchema, Schema.Null),\n statusCredits: Schema.Number,\n memberNumber: NullableString,\n externalSystemMemberId: NullableString,\n cardId: NullableString,\n customFields: JsonObjectSchema,\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n deletedAt: Schema.Union(TimestampSchema, Schema.Null),\n});\n\nexport const MemberResponseModeSchema = Schema.Literal(\"full\", \"med\", \"basic\");\nexport const OrganizationMembersStatusFilterSchema = Schema.Literal(\n \"active\",\n \"suspended\",\n \"expired\",\n);\n\nfunction optionalQueryString(\n description: string,\n options?: {\n readonly example?: string;\n },\n) {\n return Schema.optional(\n Schema.String.annotations({\n description,\n example: options?.example,\n }),\n );\n}\n\nexport const MemberMedSchema = Schema.Struct({\n id: Schema.String,\n organizationId: Schema.String,\n status: Schema.Literal(...memberComputedStatuses),\n isSuspended: Schema.Boolean,\n displayName: Schema.String,\n dob: Schema.Union(DateOnlySchema, Schema.Null),\n email: NullableString,\n joinedAt: Schema.Union(TimestampSchema, Schema.Null),\n preferredContactMethod: NullablePreferredContactMethodSchema,\n occupation: NullableOccupationSchema,\n address: NullableString.annotations({\n description: \"Formatted full street address for display.\",\n }),\n addressParts: Schema.Union(AddressSchema, Schema.Null),\n membershipType: NullableString,\n membershipTypeId: NullableString,\n ratingGrade: NullableString,\n ratingGradeId: NullableString,\n statusCredits: Schema.Number,\n memberNumber: NullableString,\n externalSystemMemberId: NullableString,\n cardId: NullableString,\n customFields: JsonObjectSchema,\n updatedAt: TimestampSchema,\n});\n\nexport const MemberBasicSchema = Schema.Struct({\n id: Schema.String,\n displayName: Schema.String,\n dob: Schema.Union(DateOnlySchema, Schema.Null),\n statusCredits: Schema.Number,\n memberNumber: NullableString,\n});\n\nexport const MemberFullResponseSchema = Schema.Struct({\n id: Schema.String,\n organizationId: Schema.String,\n organizationMemberSourceId: NullableString,\n status: Schema.Literal(...memberComputedStatuses),\n isSuspended: Schema.Boolean,\n recordMode: Schema.Literal(...memberRecordModes),\n createdOrigin: Schema.Literal(...memberCreatedOrigins),\n createdOriginName: NullableString,\n archivedAt: Schema.Union(TimestampSchema, Schema.Null),\n joinedAt: Schema.Union(TimestampSchema, Schema.Null),\n sourceUpdatedAt: Schema.Union(TimestampSchema, Schema.Null),\n email: NullableString,\n title: NullableString,\n firstName: Schema.String,\n middleName: NullableString,\n lastName: Schema.String,\n displayName: Schema.String,\n dob: Schema.Union(DateOnlySchema, Schema.Null),\n gender: NullableString,\n mobilePhone: NullableMobilePhoneSchema,\n homePhone: NullableString,\n preferredContactMethod: NullablePreferredContactMethodSchema,\n occupation: NullableOccupationSchema,\n address: NullableString.annotations({\n description: \"Formatted full street address for display.\",\n }),\n addressParts: Schema.Union(AddressSchema, Schema.Null),\n postalAddress: NullableString.annotations({\n description: \"Formatted full postal address for display.\",\n }),\n postalAddressParts: Schema.Union(AddressSchema, Schema.Null),\n membershipType: NullableString,\n membershipTypeId: NullableString,\n ratingGrade: NullableString,\n ratingGradeId: NullableString,\n marketingPreferences: MarketingPreferencesSchema,\n expiresAt: Schema.Union(TimestampSchema, Schema.Null),\n statusCredits: Schema.Number,\n memberNumber: NullableString,\n externalSystemMemberId: NullableString,\n cardId: NullableString,\n customFields: JsonObjectSchema,\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n deletedAt: Schema.Union(TimestampSchema, Schema.Null),\n responseMode: Schema.Literal(\"full\"),\n});\n\nexport const MemberMedResponseSchema = Schema.Struct({\n id: Schema.String,\n organizationId: Schema.String,\n status: Schema.Literal(...memberComputedStatuses),\n isSuspended: Schema.Boolean,\n displayName: Schema.String,\n dob: Schema.Union(DateOnlySchema, Schema.Null),\n email: NullableString,\n preferredContactMethod: NullablePreferredContactMethodSchema,\n occupation: NullableString,\n joinedAt: Schema.Union(TimestampSchema, Schema.Null),\n address: NullableString.annotations({\n description: \"Formatted full street address for display.\",\n }),\n addressParts: Schema.Union(AddressSchema, Schema.Null),\n membershipType: NullableString,\n membershipTypeId: NullableString,\n ratingGrade: NullableString,\n ratingGradeId: NullableString,\n statusCredits: Schema.Number,\n memberNumber: NullableString,\n externalSystemMemberId: NullableString,\n cardId: NullableString,\n customFields: JsonObjectSchema,\n updatedAt: TimestampSchema,\n responseMode: Schema.Literal(\"med\"),\n});\n\nexport const MemberBasicResponseSchema = Schema.Struct({\n id: Schema.String,\n displayName: Schema.String,\n dob: Schema.Union(DateOnlySchema, Schema.Null),\n statusCredits: Schema.Number,\n memberNumber: NullableString,\n responseMode: Schema.Literal(\"basic\"),\n});\n\nexport const MemberResponseSchema = Schema.Union(\n MemberFullResponseSchema,\n MemberMedResponseSchema,\n MemberBasicResponseSchema,\n);\n\nexport const MemberStatusCreditsSchema = Schema.Struct({\n memberId: Schema.String,\n organizationId: Schema.String,\n statusCredits: Schema.Number,\n updatedAt: TimestampSchema,\n});\n\nexport const UpdateMemberStatusCreditsSchema = Schema.Struct({\n statusCredits: Schema.Number.annotations({\n description: \"Current member status credits value.\",\n example: 12,\n }),\n});\n\nexport const BulkGetOrganizationMembersSchema = Schema.Struct({\n ids: Schema.Array(Schema.String).annotations({\n description:\n \"Spoke Hub member IDs to fetch. Up to 50 IDs may be requested at once. Duplicate IDs are ignored after the first occurrence.\",\n example: [\"mem_123\", \"mem_456\"],\n }),\n responseMode: Schema.optional(\n MemberResponseModeSchema.annotations({\n description: \"Response shape to return for each member. Defaults to `full`.\",\n example: \"med\",\n }),\n ),\n});\n\nexport const BulkOrganizationMembersResponseSchema = Schema.Struct({\n requestedIds: Schema.Array(Schema.String),\n missingIds: Schema.Array(Schema.String),\n items: Schema.Array(MemberSchema),\n responseMode: Schema.Literal(\"full\"),\n});\n\nexport const BulkOrganizationMembersMedResponseSchema = Schema.Struct({\n requestedIds: Schema.Array(Schema.String),\n missingIds: Schema.Array(Schema.String),\n items: Schema.Array(MemberMedSchema),\n responseMode: Schema.Literal(\"med\"),\n});\n\nexport const BulkOrganizationMembersBasicResponseSchema = Schema.Struct({\n requestedIds: Schema.Array(Schema.String),\n missingIds: Schema.Array(Schema.String),\n items: Schema.Array(MemberBasicSchema),\n responseMode: Schema.Literal(\"basic\"),\n});\n\nexport const BulkOrganizationMembersResponseUnionSchema = Schema.Union(\n BulkOrganizationMembersResponseSchema,\n BulkOrganizationMembersMedResponseSchema,\n BulkOrganizationMembersBasicResponseSchema,\n);\n\nexport const OrganizationMembersSearchFieldSchema = Schema.Literal(\n \"displayName\",\n \"email\",\n \"mobilePhone\",\n \"memberNumber\",\n \"cardId\",\n \"externalSystemMemberId\",\n);\nexport const OrganizationMembersSortFieldSchema = Schema.Literal(\n \"memberNumber\",\n \"name\",\n \"dob\",\n);\nexport const SortDirectionSchema = Schema.Literal(\"asc\", \"desc\");\n\nconst OrganizationMembersListUrlParamsSchema = Schema.Struct({\n page: optionalQueryString(\"1-based page number. Defaults to 1 when omitted or invalid.\", {\n example: \"1\",\n }),\n pageSize: optionalQueryString(\n \"Number of members per page. Defaults to 25 and is capped at 100.\",\n {\n example: \"25\",\n },\n ),\n searchField: Schema.optional(\n OrganizationMembersSearchFieldSchema.annotations({\n description: \"Member field to search against. Only applied when searchValue is provided.\",\n }),\n ),\n searchValue: Schema.optional(\n Schema.String.annotations({\n description: \"Substring match used with searchField to filter members.\",\n }),\n ),\n name: Schema.optional(\n Schema.String.annotations({\n description: \"Partial member name match against the display name.\",\n }),\n ),\n mobilePhone: Schema.optional(\n MobilePhoneSchema.annotations({\n description: \"Exact mobile phone match after phone-number normalization.\",\n }),\n ),\n memberNumber: Schema.optional(\n Schema.String.annotations({\n description: \"Exact member number match.\",\n }),\n ),\n dob: Schema.optional(\n DateOnlySchema.annotations({\n description: \"Exact date of birth match in YYYY-MM-DD format.\",\n }),\n ),\n joinedAfter: Schema.optional(\n DateOnlySchema.annotations({\n description:\n \"Only include members whose joined date is on or after this date in YYYY-MM-DD format. Older records without a joined date fall back to createdAt.\",\n example: \"2026-01-01\",\n }),\n ),\n memberStatus: Schema.optional(\n OrganizationMembersStatusFilterSchema.annotations({\n description:\n \"Computed member status filter. `active` excludes suspended and expired members, `suspended` returns suspended active members, and `expired` returns active members whose expiry date is in the past.\",\n example: \"active\",\n }),\n ),\n sortBy: Schema.optional(\n OrganizationMembersSortFieldSchema.annotations({\n description:\n \"Sort field for the result set. `memberNumber` uses numeric ordering, `name` sorts by display name, and `dob` sorts by date of birth.\",\n example: \"memberNumber\",\n }),\n ),\n sortDirection: Schema.optional(\n SortDirectionSchema.annotations({\n description: \"Sort direction to apply with `sortBy`. Defaults to `asc` when omitted.\",\n example: \"asc\",\n }),\n ),\n responseMode: Schema.optional(\n MemberResponseModeSchema.annotations({\n description: \"Response shape to return. Defaults to `full`.\",\n }),\n ),\n ratingGradeIds: Schema.optional(\n Schema.String.annotations({\n description: \"Comma-separated list of rating grade IDs to include, for example `12,14,20`.\",\n }),\n ),\n});\n\nconst OrganizationMemberSyncRunsListUrlParamsSchema = Schema.Struct({\n page: optionalQueryString(\"1-based page number. Defaults to 1 when omitted or invalid.\", {\n example: \"1\",\n }),\n pageSize: optionalQueryString(\n \"Number of sync runs per page. Defaults to 5 and is capped at 50.\",\n {\n example: \"5\",\n },\n ),\n});\n\nconst MemberResponseModeUrlParamsSchema = Schema.Struct({\n responseMode: Schema.optional(\n MemberResponseModeSchema.annotations({\n description: \"Response shape to return. Defaults to `full`.\",\n }),\n ),\n});\n\nconst GuestsListUrlParamsSchema = Schema.Struct({\n page: optionalQueryString(\"1-based page number. Defaults to 1 when omitted or invalid.\", {\n example: \"1\",\n }),\n pageSize: optionalQueryString(\"Number of guests per page. Defaults to 25 and is capped at 100.\", {\n example: \"25\",\n }),\n name: Schema.optional(\n Schema.String.annotations({\n description: \"Partial guest name match across first name and last name.\",\n }),\n ),\n email: Schema.optional(\n Schema.String.annotations({\n description: \"Exact guest email match.\",\n example: \"jane@example.com\",\n }),\n ),\n mobilePhone: Schema.optional(\n MobilePhoneSchema.annotations({\n description: \"Exact guest mobile phone match after phone-number normalization.\",\n }),\n ),\n});\n\nconst OrganizationsListUrlParamsSchema = Schema.Struct({\n page: optionalQueryString(\"1-based page number. Defaults to 1 when omitted or invalid.\", {\n example: \"1\",\n }),\n pageSize: optionalQueryString(\n \"Number of organizations per page. Defaults to 25 and is capped at 100.\",\n {\n example: \"25\",\n },\n ),\n name: Schema.optional(\n Schema.String.annotations({\n description: \"Partial organization name match.\",\n }),\n ),\n});\n\nconst OrganizationMemberRatingGradesListUrlParamsSchema = Schema.Struct({\n page: optionalQueryString(\"1-based page number. Defaults to 1 when omitted or invalid.\", {\n example: \"1\",\n }),\n pageSize: optionalQueryString(\n \"Number of rating grades per page. Defaults to 25 and is capped at 100.\",\n {\n example: \"25\",\n },\n ),\n});\n\nconst OrganizationMemberMembershipTypesListUrlParamsSchema = Schema.Struct({\n page: optionalQueryString(\"1-based page number. Defaults to 1 when omitted or invalid.\", {\n example: \"1\",\n }),\n pageSize: optionalQueryString(\n \"Number of membership types per page. Defaults to 25 and is capped at 100.\",\n {\n example: \"25\",\n },\n ),\n});\n\nconst OrganizationMemberTitlesListUrlParamsSchema = Schema.Struct({\n page: optionalQueryString(\"1-based page number. Defaults to 1 when omitted or invalid.\", {\n example: \"1\",\n }),\n pageSize: optionalQueryString(\"Number of titles per page. Defaults to 25 and is capped at 100.\", {\n example: \"25\",\n }),\n});\n\nconst OrganizationMemberGendersListUrlParamsSchema = Schema.Struct({\n page: optionalQueryString(\"1-based page number. Defaults to 1 when omitted or invalid.\", {\n example: \"1\",\n }),\n pageSize: optionalQueryString(\n \"Number of genders per page. Defaults to 25 and is capped at 100.\",\n {\n example: \"25\",\n },\n ),\n});\n\nconst OrganizationMemberSourceCommandsListUrlParamsSchema = Schema.Struct({\n page: optionalQueryString(\"1-based page number. Defaults to 1 when omitted or invalid.\", {\n example: \"1\",\n }),\n pageSize: optionalQueryString(\n \"Number of member-source commands per page. Defaults to 25 and is capped at 100.\",\n {\n example: \"25\",\n },\n ),\n});\n\nconst ServiceClientsListUrlParamsSchema = Schema.Struct({\n page: optionalQueryString(\"1-based page number. Defaults to 1 when omitted or invalid.\", {\n example: \"1\",\n }),\n pageSize: optionalQueryString(\n \"Number of service clients per page. Defaults to 25 and is capped at 100.\",\n {\n example: \"25\",\n },\n ),\n});\n\nconst OrganizationProductOptionsListUrlParamsSchema = Schema.Struct({\n page: optionalQueryString(\"1-based page number. Defaults to 1 when omitted or invalid.\", {\n example: \"1\",\n }),\n pageSize: optionalQueryString(\n \"Number of organization product options per page. Defaults to 25 and is capped at 100.\",\n {\n example: \"25\",\n },\n ),\n});\n\nconst OrganizationProductWebhookListUrlParamsSchema = Schema.Struct({\n page: optionalQueryString(\"1-based page number. Defaults to 1 when omitted or invalid.\", {\n example: \"1\",\n }),\n pageSize: optionalQueryString(\n \"Number of organization product webhooks per page. Defaults to 25 and is capped at 100.\",\n {\n example: \"25\",\n },\n ),\n organizationProductOptionId: Schema.optional(\n Schema.String.annotations({\n description: \"Optional product filter. When provided, only webhooks for that product are returned.\",\n example: \"prod_123\",\n }),\n ),\n});\n\nexport const PaginatedOrganizationsSchema = Schema.Struct({\n items: Schema.Array(OrganizationSchema),\n total: Schema.Number,\n page: Schema.Number,\n pageSize: Schema.Number,\n totalPages: Schema.Number,\n name: Schema.Union(Schema.String, Schema.Null),\n});\n\nexport const PaginatedOrganizationProductOptionsSchema = Schema.Struct({\n items: Schema.Array(OrganizationProductOptionSchema),\n total: Schema.Number,\n page: Schema.Number,\n pageSize: Schema.Number,\n totalPages: Schema.Number,\n});\n\nexport const PaginatedOrganizationProductWebhooksSchema = Schema.Struct({\n items: Schema.Array(OrganizationProductWebhookSchema),\n total: Schema.Number,\n page: Schema.Number,\n pageSize: Schema.Number,\n totalPages: Schema.Number,\n organizationProductOptionId: Schema.Union(Schema.String, Schema.Null),\n});\n\nexport const PaginatedOrganizationMembersSchema = Schema.Struct({\n items: Schema.Array(MemberSchema),\n total: Schema.Number,\n page: Schema.Number,\n pageSize: Schema.Number,\n totalPages: Schema.Number,\n searchField: Schema.Union(OrganizationMembersSearchFieldSchema, Schema.Null),\n searchValue: Schema.Union(Schema.String, Schema.Null),\n sortBy: Schema.Union(OrganizationMembersSortFieldSchema, Schema.Null),\n sortDirection: Schema.Union(SortDirectionSchema, Schema.Null),\n responseMode: Schema.Literal(\"full\"),\n});\n\nexport const PaginatedOrganizationMembersMedSchema = Schema.Struct({\n items: Schema.Array(MemberMedSchema),\n total: Schema.Number,\n page: Schema.Number,\n pageSize: Schema.Number,\n totalPages: Schema.Number,\n searchField: Schema.Union(OrganizationMembersSearchFieldSchema, Schema.Null),\n searchValue: Schema.Union(Schema.String, Schema.Null),\n sortBy: Schema.Union(OrganizationMembersSortFieldSchema, Schema.Null),\n sortDirection: Schema.Union(SortDirectionSchema, Schema.Null),\n responseMode: Schema.Literal(\"med\"),\n});\n\nexport const PaginatedOrganizationMembersBasicSchema = Schema.Struct({\n items: Schema.Array(MemberBasicSchema),\n total: Schema.Number,\n page: Schema.Number,\n pageSize: Schema.Number,\n totalPages: Schema.Number,\n searchField: Schema.Union(OrganizationMembersSearchFieldSchema, Schema.Null),\n searchValue: Schema.Union(Schema.String, Schema.Null),\n sortBy: Schema.Union(OrganizationMembersSortFieldSchema, Schema.Null),\n sortDirection: Schema.Union(SortDirectionSchema, Schema.Null),\n responseMode: Schema.Literal(\"basic\"),\n});\n\nexport const PaginatedOrganizationMembersResponseSchema = Schema.Union(\n PaginatedOrganizationMembersSchema,\n PaginatedOrganizationMembersMedSchema,\n PaginatedOrganizationMembersBasicSchema,\n);\n\nconst organizationMembersListExamples = {\n full: {\n summary: \"Full response\",\n value: {\n items: [\n {\n id: \"mem_123\",\n organizationId: \"org_1\",\n organizationMemberSourceId: \"src_9\",\n status: \"active\",\n isSuspended: false,\n recordMode: \"source_managed\",\n createdOrigin: \"source_sync\",\n createdOriginName: \"Odyssey Gaming\",\n archivedAt: null,\n sourceUpdatedAt: \"2026-04-02T01:23:45.000Z\",\n email: \"jane@example.com\",\n title: \"Ms\",\n firstName: \"Jane\",\n middleName: null,\n lastName: \"Smith\",\n displayName: \"Jane Smith\",\n dob: \"1988-06-14\",\n gender: null,\n mobilePhone: \"+61400000000\",\n homePhone: null,\n preferredContactMethod: \"sms\",\n occupation: \"Hospitality Manager\",\n address: \"12 Queen St, Cleveland, QLD, 4163, AU\",\n addressParts: {\n line1: \"12 Queen St\",\n line2: null,\n suburb: \"Cleveland\",\n state: \"QLD\",\n postalCode: \"4163\",\n country: \"AU\",\n },\n postalAddress: \"PO Box 10, Cleveland, QLD, 4163, AU\",\n postalAddressParts: {\n line1: \"PO Box 10\",\n line2: null,\n suburb: \"Cleveland\",\n state: \"QLD\",\n postalCode: \"4163\",\n country: \"AU\",\n },\n membershipType: \"Gold\",\n membershipTypeId: \"Gold\",\n ratingGrade: \"VIP\",\n ratingGradeId: \"12\",\n marketingPreferences: {\n email: true,\n sms: false,\n post: false,\n gamingOptOut: false,\n },\n expiresAt: null,\n memberNumber: \"12345\",\n externalSystemMemberId: \"ext_998\",\n cardId: \"card_77\",\n customFields: {},\n createdAt: \"2026-03-01T10:00:00.000Z\",\n updatedAt: \"2026-04-02T01:23:45.000Z\",\n deletedAt: null,\n },\n ],\n total: 1,\n page: 1,\n pageSize: 25,\n totalPages: 1,\n searchField: null,\n searchValue: null,\n sortBy: \"memberNumber\",\n sortDirection: \"asc\",\n responseMode: \"full\",\n },\n },\n med: {\n summary: \"Medium response\",\n value: {\n items: [\n {\n id: \"mem_123\",\n organizationId: \"org_1\",\n status: \"active\",\n isSuspended: false,\n displayName: \"Jane Smith\",\n dob: \"1988-06-14\",\n email: \"jane@example.com\",\n preferredContactMethod: \"sms\",\n occupation: \"Hospitality Manager\",\n address: \"12 Queen St, Cleveland, QLD, 4163, AU\",\n addressParts: {\n line1: \"12 Queen St\",\n line2: null,\n suburb: \"Cleveland\",\n state: \"QLD\",\n postalCode: \"4163\",\n country: \"AU\",\n },\n membershipType: \"Gold\",\n membershipTypeId: \"Gold\",\n ratingGrade: \"VIP\",\n ratingGradeId: \"12\",\n memberNumber: \"12345\",\n externalSystemMemberId: \"ext_998\",\n cardId: \"card_77\",\n customFields: {},\n updatedAt: \"2026-04-02T01:23:45.000Z\",\n },\n ],\n total: 1,\n page: 1,\n pageSize: 25,\n totalPages: 1,\n searchField: null,\n searchValue: null,\n sortBy: \"name\",\n sortDirection: \"asc\",\n responseMode: \"med\",\n },\n },\n basic: {\n summary: \"Basic response\",\n value: {\n items: [\n {\n id: \"mem_123\",\n displayName: \"Jane Smith\",\n dob: \"1988-06-14\",\n memberNumber: \"12345\",\n },\n ],\n total: 1,\n page: 1,\n pageSize: 25,\n totalPages: 1,\n searchField: null,\n searchValue: null,\n sortBy: \"dob\",\n sortDirection: \"desc\",\n responseMode: \"basic\",\n },\n },\n} as const;\n\nconst memberListExamplesTransform = (operation: Record<string, any>) => {\n const response = operation.responses?.[\"200\"];\n const jsonContent = response?.content?.[\"application/json\"];\n\n if (!response || !jsonContent) {\n return operation;\n }\n\n return {\n ...operation,\n responses: {\n ...operation.responses,\n 200: {\n ...response,\n content: {\n ...response.content,\n \"application/json\": {\n ...jsonContent,\n examples: organizationMembersListExamples,\n },\n },\n },\n },\n };\n};\n\nconst memberExamples = {\n full: {\n summary: \"Full response\",\n value: {\n id: \"mem_123\",\n organizationId: \"org_1\",\n organizationMemberSourceId: \"src_9\",\n status: \"active\",\n isSuspended: false,\n recordMode: \"source_managed\",\n createdOrigin: \"source_sync\",\n createdOriginName: \"Odyssey Gaming\",\n archivedAt: null,\n sourceUpdatedAt: \"2026-04-02T01:23:45.000Z\",\n email: \"jane@example.com\",\n title: \"Ms\",\n firstName: \"Jane\",\n middleName: null,\n lastName: \"Smith\",\n displayName: \"Jane Smith\",\n dob: \"1988-06-14\",\n gender: null,\n mobilePhone: \"+61400000000\",\n homePhone: null,\n preferredContactMethod: \"sms\",\n occupation: \"Hospitality Manager\",\n address: \"12 Queen St, Cleveland, QLD, 4163, AU\",\n addressParts: {\n line1: \"12 Queen St\",\n line2: null,\n suburb: \"Cleveland\",\n state: \"QLD\",\n postalCode: \"4163\",\n country: \"AU\",\n },\n postalAddress: \"PO Box 10, Cleveland, QLD, 4163, AU\",\n postalAddressParts: {\n line1: \"PO Box 10\",\n line2: null,\n suburb: \"Cleveland\",\n state: \"QLD\",\n postalCode: \"4163\",\n country: \"AU\",\n },\n membershipType: \"Gold\",\n membershipTypeId: \"Gold\",\n ratingGrade: \"VIP\",\n ratingGradeId: \"12\",\n marketingPreferences: {\n email: true,\n sms: false,\n post: false,\n gamingOptOut: false,\n },\n expiresAt: null,\n memberNumber: \"12345\",\n externalSystemMemberId: \"ext_998\",\n cardId: \"card_77\",\n customFields: {},\n createdAt: \"2026-03-01T10:00:00.000Z\",\n updatedAt: \"2026-04-02T01:23:45.000Z\",\n deletedAt: null,\n responseMode: \"full\",\n },\n },\n med: {\n summary: \"Medium response\",\n value: {\n id: \"mem_123\",\n organizationId: \"org_1\",\n status: \"active\",\n isSuspended: false,\n displayName: \"Jane Smith\",\n dob: \"1988-06-14\",\n email: \"jane@example.com\",\n preferredContactMethod: \"sms\",\n occupation: \"Hospitality Manager\",\n address: \"12 Queen St, Cleveland, QLD, 4163, AU\",\n addressParts: {\n line1: \"12 Queen St\",\n line2: null,\n suburb: \"Cleveland\",\n state: \"QLD\",\n postalCode: \"4163\",\n country: \"AU\",\n },\n membershipType: \"Gold\",\n membershipTypeId: \"Gold\",\n ratingGrade: \"VIP\",\n ratingGradeId: \"12\",\n memberNumber: \"12345\",\n externalSystemMemberId: \"ext_998\",\n cardId: \"card_77\",\n customFields: {},\n updatedAt: \"2026-04-02T01:23:45.000Z\",\n responseMode: \"med\",\n },\n },\n basic: {\n summary: \"Basic response\",\n value: {\n id: \"mem_123\",\n displayName: \"Jane Smith\",\n dob: \"1988-06-14\",\n memberNumber: \"12345\",\n responseMode: \"basic\",\n },\n },\n} as const;\n\nconst bulkMemberExamples = {\n requestExamples: {\n default: {\n summary: \"Bulk member lookup request\",\n value: {\n ids: [\"mem_123\", \"mem_999\", \"mem_456\"],\n responseMode: \"med\",\n },\n },\n },\n responseExamples: {\n med: {\n summary: \"Bulk member lookup response\",\n value: {\n requestedIds: [\"mem_123\", \"mem_999\", \"mem_456\"],\n missingIds: [\"mem_999\"],\n items: [\n {\n id: \"mem_123\",\n organizationId: \"org_1\",\n status: \"active\",\n isSuspended: false,\n displayName: \"Jane Smith\",\n dob: \"1988-06-14\",\n email: \"jane@example.com\",\n preferredContactMethod: \"sms\",\n occupation: \"Hospitality Manager\",\n address: \"12 Queen St, Cleveland, QLD, 4163, AU\",\n addressParts: {\n line1: \"12 Queen St\",\n line2: null,\n suburb: \"Cleveland\",\n state: \"QLD\",\n postalCode: \"4163\",\n country: \"AU\",\n },\n membershipType: \"Gold\",\n membershipTypeId: \"Gold\",\n ratingGrade: \"VIP\",\n ratingGradeId: \"12\",\n memberNumber: \"12345\",\n externalSystemMemberId: \"ext_998\",\n cardId: \"card_77\",\n customFields: {},\n updatedAt: \"2026-04-02T01:23:45.000Z\",\n },\n {\n id: \"mem_456\",\n organizationId: \"org_1\",\n status: \"expired\",\n isSuspended: false,\n displayName: \"Howard Sorrell\",\n dob: \"1967-05-09\",\n email: null,\n preferredContactMethod: null,\n occupation: null,\n address: null,\n addressParts: null,\n membershipType: \"Standard\",\n membershipTypeId: \"Standard\",\n ratingGrade: null,\n ratingGradeId: null,\n memberNumber: \"560\",\n externalSystemMemberId: null,\n cardId: null,\n customFields: {},\n updatedAt: \"2026-04-16T04:10:58.275Z\",\n },\n ],\n responseMode: \"med\",\n },\n },\n },\n} as const;\n\nconst memberExamplesTransform = (operation: Record<string, any>) => {\n const response = operation.responses?.[\"200\"];\n const jsonContent = response?.content?.[\"application/json\"];\n\n if (!response || !jsonContent) {\n return operation;\n }\n\n return {\n ...operation,\n responses: {\n ...operation.responses,\n 200: {\n ...response,\n content: {\n ...response.content,\n \"application/json\": {\n ...jsonContent,\n examples: memberExamples,\n },\n },\n },\n },\n };\n};\n\nconst guestListExamples = {\n default: {\n summary: \"Paginated guest list\",\n value: {\n items: [\n {\n id: \"gst_123\",\n organizationId: \"org_1\",\n email: \"jane.guest@example.com\",\n mobilePhone: \"+61490451502\",\n firstName: \"Jane\",\n lastName: \"Citizen\",\n meta: {\n loyaltyTier: \"silver\",\n preferredHost: \"Alex\",\n },\n marketingPreferences: {\n email: true,\n sms: true,\n post: false,\n gamingOptOut: false,\n },\n status: \"active\",\n createdAt: \"2026-03-12T09:15:00.000Z\",\n updatedAt: \"2026-04-02T01:23:45.000Z\",\n deletedAt: null,\n },\n ],\n total: 1,\n page: 1,\n pageSize: 25,\n totalPages: 1,\n name: null,\n email: null,\n mobilePhone: null,\n },\n },\n mobileOnly: {\n summary: \"Guest with mobile phone only\",\n value: {\n items: [\n {\n id: \"gst_456\",\n organizationId: \"org_1\",\n email: null,\n mobilePhone: \"+61411111111\",\n firstName: \"Morgan\",\n lastName: \"Walker\",\n meta: {},\n marketingPreferences: {\n email: false,\n sms: true,\n post: false,\n gamingOptOut: false,\n },\n status: \"active\",\n createdAt: \"2026-04-10T02:15:00.000Z\",\n updatedAt: \"2026-04-10T02:15:00.000Z\",\n deletedAt: null,\n },\n ],\n total: 1,\n page: 1,\n pageSize: 25,\n totalPages: 1,\n name: null,\n email: null,\n mobilePhone: \"+61411111111\",\n },\n },\n} as const;\n\nconst guestListExamplesTransform = (operation: Record<string, any>) => {\n const response = operation.responses?.[\"200\"];\n const jsonContent = response?.content?.[\"application/json\"];\n\n if (!response || !jsonContent) {\n return operation;\n }\n\n return {\n ...operation,\n responses: {\n ...operation.responses,\n 200: {\n ...response,\n content: {\n ...response.content,\n \"application/json\": {\n ...jsonContent,\n examples: guestListExamples,\n },\n },\n },\n },\n };\n};\n\nconst peopleContactSearchExamples = {\n byMobile: {\n summary: \"Matching member and guest by mobile phone\",\n value: {\n email: null,\n mobilePhone: \"+61490451502\",\n members: [\n {\n id: \"mem_123\",\n organizationId: \"org_1\",\n displayName: \"Jane Smith\",\n email: \"jane@example.com\",\n mobilePhone: \"+61490451502\",\n dob: \"1988-06-14\",\n memberNumber: \"12345\",\n externalSystemMemberId: \"ext_998\",\n cardId: \"card_77\",\n status: \"active\",\n updatedAt: \"2026-04-02T01:23:45.000Z\",\n },\n ],\n guests: [\n {\n id: \"gst_123\",\n organizationId: \"org_1\",\n firstName: \"Jane\",\n lastName: \"Citizen\",\n email: \"jane.guest@example.com\",\n mobilePhone: \"+61490451502\",\n status: \"active\",\n updatedAt: \"2026-04-01T11:00:00.000Z\",\n },\n ],\n },\n },\n} as const;\n\nconst peopleContactSearchExamplesTransform = (operation: Record<string, any>) => {\n const response = operation.responses?.[\"200\"];\n const jsonContent = response?.content?.[\"application/json\"];\n\n if (!response || !jsonContent) {\n return operation;\n }\n\n return {\n ...operation,\n responses: {\n ...operation.responses,\n 200: {\n ...response,\n content: {\n ...response.content,\n \"application/json\": {\n ...jsonContent,\n examples: peopleContactSearchExamples,\n },\n },\n },\n },\n };\n};\n\nconst withOpenApiExamples = ({\n requestExamples,\n responseExamples,\n responseStatus = \"200\",\n}: {\n readonly requestExamples?: Record<string, unknown>;\n readonly responseExamples?: Record<string, unknown>;\n readonly responseStatus?: string;\n}) => {\n return (operation: Record<string, any>) => {\n const requestBody = operation.requestBody;\n const requestJsonContent = requestBody?.content?.[\"application/json\"];\n const response = operation.responses?.[responseStatus];\n const responseJsonContent = response?.content?.[\"application/json\"];\n\n return {\n ...operation,\n requestBody:\n requestBody && requestJsonContent && requestExamples\n ? {\n ...requestBody,\n content: {\n ...requestBody.content,\n \"application/json\": {\n ...requestJsonContent,\n examples: requestExamples,\n },\n },\n }\n : requestBody,\n responses:\n response && responseJsonContent && responseExamples\n ? {\n ...operation.responses,\n [responseStatus]: {\n ...response,\n content: {\n ...response.content,\n \"application/json\": {\n ...responseJsonContent,\n examples: responseExamples,\n },\n },\n },\n }\n : operation.responses,\n };\n };\n};\n\nconst bulkMemberExamplesTransform = withOpenApiExamples(bulkMemberExamples);\n\nconst organizationWriteExamplesTransform = withOpenApiExamples({\n requestExamples: {\n default: {\n summary: \"Create organization request\",\n value: {\n slug: \"redlands-rsl\",\n name: \"Redlands RSL\",\n legalName: \"Redlands RSL Club Ltd\",\n description: \"Main venue organization for Redlands.\",\n externalReference: \"venue_redlands\",\n products: [\"member_portal\", \"onsite_kiosk\"],\n },\n },\n },\n responseExamples: {\n default: {\n summary: \"Organization response\",\n value: {\n id: \"org_1\",\n slug: \"redlands-rsl\",\n name: \"Redlands RSL\",\n legalName: \"Redlands RSL Club Ltd\",\n status: \"active\",\n description: \"Main venue organization for Redlands.\",\n externalReference: \"venue_redlands\",\n createdAt: \"2026-04-07T21:02:05.123Z\",\n updatedAt: \"2026-04-07T21:02:05.123Z\",\n products: [\"member_portal\", \"onsite_kiosk\"],\n deletedAt: null,\n },\n },\n },\n responseStatus: \"201\",\n});\n\nconst organizationUpdateExamplesTransform = withOpenApiExamples({\n requestExamples: {\n default: {\n summary: \"Update organization request\",\n value: {\n name: \"Redlands RSL and Memorial Club\",\n description: \"Primary venue organization and membership operator.\",\n products: [\"member_portal\", \"csv_imports\"],\n },\n },\n },\n responseExamples: {\n default: {\n summary: \"Updated organization response\",\n value: {\n id: \"org_1\",\n slug: \"redlands-rsl\",\n name: \"Redlands RSL and Memorial Club\",\n legalName: \"Redlands RSL Club Ltd\",\n status: \"active\",\n description: \"Primary venue organization and membership operator.\",\n externalReference: \"venue_redlands\",\n products: [\"member_portal\", \"csv_imports\"],\n createdAt: \"2026-04-01T10:00:00.000Z\",\n updatedAt: \"2026-04-07T21:02:05.123Z\",\n deletedAt: null,\n },\n },\n },\n});\n\nconst deletePayloadExamplesTransform = withOpenApiExamples({\n requestExamples: {\n default: {\n summary: \"Archive request\",\n value: {\n expectedUpdatedAt: \"2026-04-07T21:02:05.123Z\",\n },\n },\n },\n});\n\nconst createMemberExamplesTransform = withOpenApiExamples({\n requestExamples: {\n default: {\n summary: \"Create member request\",\n value: {\n email: \"jane@example.com\",\n title: \"Ms\",\n firstName: \"Jane\",\n middleName: null,\n lastName: \"Smith\",\n dob: \"1988-06-14\",\n gender: null,\n mobilePhone: \"+61490451502\",\n homePhone: null,\n preferredContactMethod: \"sms\",\n occupation: \"Hospitality Manager\",\n address: \"12 Queen St, Cleveland, QLD, 4163, AU\",\n addressParts: {\n line1: \"12 Queen St\",\n line2: null,\n suburb: \"Cleveland\",\n state: \"QLD\",\n postalCode: \"4163\",\n country: \"AU\",\n },\n postalAddress: null,\n postalAddressParts: null,\n membershipType: \"Gold\",\n membershipTypeId: \"Gold\",\n ratingGrade: \"VIP\",\n ratingGradeId: \"12\",\n marketingPreferences: {\n email: true,\n sms: true,\n post: false,\n gamingOptOut: false,\n },\n expiresAt: null,\n memberNumber: \"12345\",\n externalSystemMemberId: \"ext_998\",\n cardId: \"card_77\",\n customFields: {\n preferredLanguage: \"en\",\n },\n },\n },\n },\n responseExamples: {\n default: {\n summary: \"Created member response\",\n value: {\n id: \"mem_123\",\n organizationId: \"org_1\",\n organizationMemberSourceId: null,\n status: \"active\",\n isSuspended: false,\n recordMode: \"local\",\n createdOrigin: \"hub_admin\",\n createdOriginName: null,\n archivedAt: null,\n sourceUpdatedAt: null,\n email: \"jane@example.com\",\n title: \"Ms\",\n firstName: \"Jane\",\n middleName: null,\n lastName: \"Smith\",\n displayName: \"Ms Jane Smith\",\n dob: \"1988-06-14\",\n gender: null,\n mobilePhone: \"+61490451502\",\n homePhone: null,\n preferredContactMethod: \"sms\",\n occupation: \"Hospitality Manager\",\n address: {\n line1: \"12 Queen St\",\n line2: null,\n suburb: \"Cleveland\",\n state: \"QLD\",\n postalCode: \"4163\",\n country: \"AU\",\n },\n postalAddress: null,\n membershipType: \"Gold\",\n membershipTypeId: \"Gold\",\n ratingGrade: \"VIP\",\n ratingGradeId: \"12\",\n marketingPreferences: {\n email: true,\n sms: true,\n post: false,\n gamingOptOut: false,\n },\n expiresAt: null,\n memberNumber: \"12345\",\n externalSystemMemberId: \"ext_998\",\n cardId: \"card_77\",\n customFields: {\n preferredLanguage: \"en\",\n },\n createdAt: \"2026-04-07T21:02:05.123Z\",\n updatedAt: \"2026-04-07T21:02:05.123Z\",\n deletedAt: null,\n },\n },\n },\n responseStatus: \"201\",\n});\n\nconst updateMemberExamplesTransform = withOpenApiExamples({\n requestExamples: {\n default: {\n summary: \"Update member request\",\n value: {\n expectedUpdatedAt: \"2026-04-07T21:02:05.123Z\",\n mobilePhone: \"+61411111111\",\n preferredContactMethod: \"email\",\n occupation: \"Events Coordinator\",\n membershipType: \"Platinum\",\n membershipTypeId: \"Platinum\",\n marketingPreferences: {\n email: true,\n sms: false,\n post: false,\n gamingOptOut: false,\n },\n customFields: {\n preferredLanguage: \"en\",\n preferredContactTime: \"afternoon\",\n },\n },\n },\n },\n responseExamples: {\n default: {\n summary: \"Updated member response\",\n value: {\n id: \"mem_123\",\n organizationId: \"org_1\",\n organizationMemberSourceId: null,\n status: \"active\",\n isSuspended: false,\n recordMode: \"local\",\n createdOrigin: \"hub_admin\",\n createdOriginName: null,\n archivedAt: null,\n sourceUpdatedAt: null,\n email: \"jane@example.com\",\n title: \"Ms\",\n firstName: \"Jane\",\n middleName: null,\n lastName: \"Smith\",\n displayName: \"Ms Jane Smith\",\n dob: \"1988-06-14\",\n gender: null,\n mobilePhone: \"+61411111111\",\n homePhone: null,\n preferredContactMethod: \"email\",\n occupation: \"Events Coordinator\",\n address: null,\n addressParts: null,\n postalAddress: null,\n postalAddressParts: null,\n membershipType: \"Platinum\",\n membershipTypeId: \"Platinum\",\n ratingGrade: \"VIP\",\n ratingGradeId: \"12\",\n marketingPreferences: {\n email: true,\n sms: false,\n post: false,\n gamingOptOut: false,\n },\n expiresAt: null,\n memberNumber: \"12345\",\n externalSystemMemberId: \"ext_998\",\n cardId: \"card_77\",\n customFields: {\n preferredLanguage: \"en\",\n preferredContactTime: \"afternoon\",\n },\n createdAt: \"2026-04-01T10:00:00.000Z\",\n updatedAt: \"2026-04-07T21:15:00.000Z\",\n deletedAt: null,\n },\n },\n },\n});\n\nconst sourceManagedCreateExamplesTransform = withOpenApiExamples({\n requestExamples: {\n default: {\n summary: \"Source-managed member create request\",\n value: {\n email: \"jane@example.com\",\n firstName: \"Jane\",\n lastName: \"Smith\",\n dob: \"1988-06-14\",\n mobilePhone: \"+61490451502\",\n preferredContactMethod: \"sms\",\n occupation: \"Hospitality Manager\",\n memberNumber: \"12345\",\n },\n },\n },\n responseExamples: {\n default: {\n summary: \"Queued source-managed create command\",\n value: {\n id: \"cmd_123\",\n organizationId: \"org_1\",\n organizationMemberSourceId: \"src_9\",\n organizationMemberSourceAgentId: \"agt_1\",\n kind: \"create_member\",\n status: \"pending\",\n payload: {\n firstName: \"Jane\",\n lastName: \"Smith\",\n mobilePhone: \"+61490451502\",\n preferredContactMethod: \"sms\",\n occupation: \"Hospitality Manager\",\n },\n result: null,\n errorMessage: null,\n requestedAt: \"2026-04-07T21:02:05.123Z\",\n acceptedAt: null,\n completedAt: null,\n createdAt: \"2026-04-07T21:02:05.123Z\",\n updatedAt: \"2026-04-07T21:02:05.123Z\",\n deletedAt: null,\n },\n },\n },\n responseStatus: \"202\",\n});\n\nconst sourceManagedRenewalExamplesTransform = withOpenApiExamples({\n requestExamples: {\n default: {\n summary: \"Source-managed renewal request\",\n value: {\n expectedUpdatedAt: \"2026-04-07T21:02:05.123Z\",\n expiresAt: \"2027-06-30T00:00:00.000Z\",\n previousExpiresAt: \"2026-06-30T00:00:00.000Z\",\n },\n },\n },\n responseExamples: {\n default: {\n summary: \"Queued source-managed renewal command\",\n value: {\n id: \"cmd_456\",\n organizationId: \"org_1\",\n organizationMemberSourceId: \"src_9\",\n organizationMemberSourceAgentId: \"agt_1\",\n kind: \"renew_member\",\n status: \"pending\",\n payload: {\n expiresAt: \"2027-06-30T00:00:00.000Z\",\n previousExpiresAt: \"2026-06-30T00:00:00.000Z\",\n },\n result: null,\n errorMessage: null,\n requestedAt: \"2026-04-07T21:02:05.123Z\",\n acceptedAt: null,\n completedAt: null,\n createdAt: \"2026-04-07T21:02:05.123Z\",\n updatedAt: \"2026-04-07T21:02:05.123Z\",\n deletedAt: null,\n },\n },\n },\n responseStatus: \"202\",\n});\n\nconst sourceManagedUpdateExamplesTransform = withOpenApiExamples({\n requestExamples: {\n default: {\n summary: \"Source-managed member update request\",\n value: {\n expectedUpdatedAt: \"2026-04-07T21:02:05.123Z\",\n mobilePhone: \"+61411111111\",\n email: \"jane.smith.updated@example.com\",\n preferredContactMethod: \"email\",\n occupation: \"Events Coordinator\",\n marketingPreferences: {\n email: true,\n sms: false,\n post: true,\n gamingOptOut: false,\n },\n address: {\n line1: \"12 River Lane\",\n suburb: \"Brisbane\",\n state: \"QLD\",\n postalCode: \"4000\",\n country: \"AU\",\n },\n },\n },\n },\n responseExamples: {\n default: {\n summary: \"Queued source-managed update command\",\n value: {\n id: \"cmd_457\",\n organizationId: \"org_1\",\n organizationMemberSourceId: \"src_9\",\n organizationMemberSourceAgentId: \"agt_1\",\n kind: \"update_member\",\n status: \"pending\",\n payload: {\n memberId: \"mem_123\",\n externalSystemMemberId: \"ext_456\",\n mobilePhone: \"+61411111111\",\n email: \"jane.smith.updated@example.com\",\n preferredContactMethod: \"email\",\n occupation: \"Events Coordinator\",\n marketingPreferences: {\n email: true,\n sms: false,\n post: true,\n gamingOptOut: false,\n },\n },\n result: null,\n errorMessage: null,\n requestedAt: \"2026-04-07T21:02:05.123Z\",\n acceptedAt: null,\n completedAt: null,\n createdAt: \"2026-04-07T21:02:05.123Z\",\n updatedAt: \"2026-04-07T21:02:05.123Z\",\n deletedAt: null,\n },\n },\n },\n responseStatus: \"202\",\n});\n\nconst createGuestExamplesTransform = withOpenApiExamples({\n requestExamples: {\n default: {\n summary: \"Create guest request\",\n value: {\n email: \"jane.guest@example.com\",\n mobilePhone: \"+61490451502\",\n firstName: \"Jane\",\n lastName: \"Citizen\",\n meta: {\n loyaltyTier: \"silver\",\n referredBy: \"front-desk\",\n },\n marketingPreferences: {\n email: true,\n sms: true,\n post: false,\n gamingOptOut: false,\n },\n },\n },\n mobileOnly: {\n summary: \"Create guest with mobile phone only\",\n value: {\n mobilePhone: \"+61411111111\",\n firstName: \"Morgan\",\n lastName: \"Walker\",\n marketingPreferences: {\n email: false,\n sms: true,\n post: false,\n gamingOptOut: false,\n },\n },\n },\n },\n responseExamples: {\n default: {\n summary: \"Created guest response\",\n value: {\n id: \"gst_123\",\n organizationId: \"org_1\",\n email: \"jane.guest@example.com\",\n mobilePhone: \"+61490451502\",\n firstName: \"Jane\",\n lastName: \"Citizen\",\n meta: {\n loyaltyTier: \"silver\",\n referredBy: \"front-desk\",\n },\n marketingPreferences: {\n email: true,\n sms: true,\n post: false,\n gamingOptOut: false,\n },\n status: \"active\",\n createdAt: \"2026-04-07T21:02:05.123Z\",\n updatedAt: \"2026-04-07T21:02:05.123Z\",\n deletedAt: null,\n },\n },\n mobileOnly: {\n summary: \"Created guest without an email\",\n value: {\n id: \"gst_456\",\n organizationId: \"org_1\",\n email: null,\n mobilePhone: \"+61411111111\",\n firstName: \"Morgan\",\n lastName: \"Walker\",\n meta: {},\n marketingPreferences: {\n email: false,\n sms: true,\n post: false,\n gamingOptOut: false,\n },\n status: \"active\",\n createdAt: \"2026-04-07T21:02:05.123Z\",\n updatedAt: \"2026-04-07T21:02:05.123Z\",\n deletedAt: null,\n },\n },\n },\n responseStatus: \"201\",\n});\n\nconst updateGuestExamplesTransform = withOpenApiExamples({\n requestExamples: {\n default: {\n summary: \"Update guest request\",\n value: {\n expectedUpdatedAt: \"2026-04-07T21:02:05.123Z\",\n mobilePhone: \"+61411111111\",\n meta: {\n loyaltyTier: \"gold\",\n preferredTableArea: \"terrace\",\n },\n marketingPreferences: {\n email: true,\n sms: false,\n post: false,\n gamingOptOut: false,\n },\n },\n },\n },\n responseExamples: {\n default: {\n summary: \"Updated guest response\",\n value: {\n id: \"gst_123\",\n organizationId: \"org_1\",\n email: \"jane.guest@example.com\",\n mobilePhone: \"+61411111111\",\n firstName: \"Jane\",\n lastName: \"Citizen\",\n meta: {\n loyaltyTier: \"gold\",\n preferredTableArea: \"terrace\",\n },\n marketingPreferences: {\n email: true,\n sms: false,\n post: false,\n gamingOptOut: false,\n },\n status: \"active\",\n createdAt: \"2026-04-01T10:00:00.000Z\",\n updatedAt: \"2026-04-07T21:15:00.000Z\",\n deletedAt: null,\n },\n },\n },\n});\n\nconst openApiRequestSignatureSecuritySchemes = {\n spokeClientId: {\n type: \"apiKey\",\n in: \"header\",\n name: \"X-Spoke-Client-Id\",\n description: \"Service or onsite-agent client ID used to identify the signing key.\",\n },\n spokeTimestamp: {\n type: \"apiKey\",\n in: \"header\",\n name: \"X-Spoke-Timestamp\",\n description: \"Unix timestamp in seconds for the signed request.\",\n },\n spokeNonce: {\n type: \"apiKey\",\n in: \"header\",\n name: \"X-Spoke-Nonce\",\n description: \"Unique nonce for replay protection.\",\n },\n spokeSignature: {\n type: \"apiKey\",\n in: \"header\",\n name: \"X-Spoke-Signature\",\n description: \"Base64url Ed25519 signature of the canonical request string.\",\n },\n} as const;\n\nconst openApiPublicPaths = new Set([\"/v1/admin/session\"]);\nconst openApiHttpMethods = [\n \"get\",\n \"put\",\n \"post\",\n \"delete\",\n \"options\",\n \"head\",\n \"patch\",\n \"trace\",\n] as const;\n\nconst stripOpenApiVersionPrefix = (path: string) =>\n path === \"/v1\" ? \"/\" : path.replace(/^\\/v1(?=\\/|$)/, \"\");\n\nconst bearerDocsTransform = (spec: Record<string, any>) => ({\n ...spec,\n components: {\n ...spec.components,\n securitySchemes: {\n ...spec.components?.securitySchemes,\n ...openApiRequestSignatureSecuritySchemes,\n },\n },\n security: spec.security?.length\n ? spec.security\n : [{ spokeClientId: [], spokeTimestamp: [], spokeNonce: [], spokeSignature: [] }],\n paths: Object.fromEntries(\n Object.entries(spec.paths ?? {}).map(([path, pathItem]) => {\n if (!pathItem || typeof pathItem !== \"object\") {\n return [stripOpenApiVersionPrefix(path), pathItem];\n }\n\n const updatedPathItem = { ...pathItem } as Record<string, any>;\n const isPublicPath = openApiPublicPaths.has(path);\n\n if (!isPublicPath) {\n for (const method of openApiHttpMethods) {\n const operation = updatedPathItem[method];\n\n if (!operation || typeof operation !== \"object\") {\n continue;\n }\n\n const existingSecurity = Array.isArray(operation.security)\n ? operation.security\n : undefined;\n if (existingSecurity && existingSecurity.length > 0) {\n continue;\n }\n\n updatedPathItem[method] = {\n ...operation,\n security: [\n { spokeClientId: [], spokeTimestamp: [], spokeNonce: [], spokeSignature: [] },\n ],\n };\n }\n }\n\n return [stripOpenApiVersionPrefix(path), updatedPathItem];\n }),\n ),\n});\n\nexport const OrganizationMemberRatingGradeSchema = Schema.Struct({\n ratingGrade: NullableString,\n ratingGradeId: NullableString,\n});\n\nexport const PaginatedOrganizationMemberRatingGradesSchema = Schema.Struct({\n items: Schema.Array(OrganizationMemberRatingGradeSchema),\n total: Schema.Number,\n page: Schema.Number,\n pageSize: Schema.Number,\n totalPages: Schema.Number,\n});\n\nexport const OrganizationMemberMembershipTypeSchema = Schema.Struct({\n membershipType: NullableString,\n membershipTypeId: NullableString,\n});\n\nexport const PaginatedOrganizationMemberMembershipTypesSchema = Schema.Struct({\n items: Schema.Array(OrganizationMemberMembershipTypeSchema),\n total: Schema.Number,\n page: Schema.Number,\n pageSize: Schema.Number,\n totalPages: Schema.Number,\n});\n\nexport const OrganizationMemberTitleSchema = Schema.Struct({\n title: Schema.String.annotations({\n example: \"Mr\",\n }),\n});\n\nexport const PaginatedOrganizationMemberTitlesSchema = Schema.Struct({\n items: Schema.Array(OrganizationMemberTitleSchema),\n total: Schema.Number,\n page: Schema.Number,\n pageSize: Schema.Number,\n totalPages: Schema.Number,\n});\n\nexport const OrganizationMemberGenderSchema = Schema.Struct({\n gender: Schema.String.annotations({\n example: \"M\",\n }),\n});\n\nexport const PaginatedOrganizationMemberGendersSchema = Schema.Struct({\n items: Schema.Array(OrganizationMemberGenderSchema),\n total: Schema.Number,\n page: Schema.Number,\n pageSize: Schema.Number,\n totalPages: Schema.Number,\n});\n\nexport const GuestSchema = Schema.Struct({\n id: Schema.String,\n organizationId: Schema.String,\n email: NullableString,\n mobilePhone: NullableMobilePhoneSchema,\n firstName: Schema.String,\n lastName: Schema.String,\n meta: JsonObjectSchema,\n marketingPreferences: MarketingPreferencesSchema,\n status: Schema.Literal(...guestStatuses),\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n deletedAt: Schema.Union(TimestampSchema, Schema.Null),\n});\n\nexport const PaginatedGuestsSchema = Schema.Struct({\n items: Schema.Array(GuestSchema),\n total: Schema.Number,\n page: Schema.Number,\n pageSize: Schema.Number,\n totalPages: Schema.Number,\n name: Schema.Union(Schema.String, Schema.Null),\n email: Schema.Union(Schema.String, Schema.Null),\n mobilePhone: NullableMobilePhoneSchema,\n});\n\nexport const MemberContactMatchSchema = Schema.Struct({\n id: Schema.String,\n organizationId: Schema.String,\n displayName: Schema.String,\n email: NullableString,\n mobilePhone: NullableMobilePhoneSchema,\n dob: Schema.Union(DateOnlySchema, Schema.Null),\n memberNumber: NullableString,\n externalSystemMemberId: NullableString,\n cardId: NullableString,\n status: Schema.Literal(...memberComputedStatuses),\n updatedAt: TimestampSchema,\n});\n\nexport const GuestContactMatchSchema = Schema.Struct({\n id: Schema.String,\n organizationId: Schema.String,\n firstName: Schema.String,\n lastName: Schema.String,\n email: NullableString,\n mobilePhone: NullableMobilePhoneSchema,\n status: Schema.Literal(...guestStatuses),\n updatedAt: TimestampSchema,\n});\n\nconst OrganizationPeopleContactLookupUrlParamsSchema = Schema.Struct({\n email: Schema.optional(\n Schema.String.annotations({\n description: \"Exact email match. Case-insensitive.\",\n example: \"jane@example.com\",\n }),\n ),\n mobilePhone: Schema.optional(\n MobilePhoneSchema.annotations({\n description: \"Exact mobile phone match after phone-number normalization.\",\n }),\n ),\n});\n\nexport const OrganizationPeopleContactLookupResponseSchema = Schema.Struct({\n email: Schema.Union(Schema.String, Schema.Null),\n mobilePhone: NullableMobilePhoneSchema,\n members: Schema.Array(MemberContactMatchSchema),\n guests: Schema.Array(GuestContactMatchSchema),\n});\n\nexport const ServiceClientSchema = Schema.Struct({\n id: Schema.String,\n clientId: Schema.String,\n name: Schema.String,\n description: NullableString,\n organizationId: Schema.Union(Schema.String, Schema.Null),\n scopes: Schema.Array(Schema.String),\n publicKeyFingerprint: NullableString,\n keys: Schema.Array(\n Schema.Struct({\n id: Schema.String,\n publicKeyFingerprint: NullableString,\n createdAt: TimestampSchema,\n revokesAt: Schema.Union(TimestampSchema, Schema.Null),\n }),\n ),\n lastUsedAt: Schema.Union(TimestampSchema, Schema.Null),\n revokesAt: Schema.Union(TimestampSchema, Schema.Null),\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n deletedAt: Schema.Union(TimestampSchema, Schema.Null),\n});\n\nexport const MemberSourceSecretNameSchema = Schema.Struct({\n name: Schema.String,\n});\n\nexport const OrganizationMemberSourceAgentSchema = Schema.Struct({\n id: Schema.String,\n organizationId: Schema.String,\n organizationMemberSourceId: Schema.String,\n connectorType: Schema.Literal(...organizationMemberSourceVendors),\n siteId: NullableString,\n status: Schema.Literal(...organizationMemberSourceAgentStatuses),\n clientId: Schema.String,\n publicKeyFingerprint: NullableString,\n pollingIntervalSeconds: Schema.Number,\n lastUsedAt: Schema.Union(TimestampSchema, Schema.Null),\n lastHeartbeatAt: Schema.Union(TimestampSchema, Schema.Null),\n lastVersion: NullableString,\n lastError: NullableString,\n metadata: JsonObjectSchema,\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n deletedAt: Schema.Union(TimestampSchema, Schema.Null),\n});\n\nexport const OrganizationMemberSourceSchema = Schema.Struct({\n id: Schema.String,\n organizationId: Schema.String,\n vendor: Schema.Literal(...organizationMemberSourceVendors),\n primaryBatchTransport: Schema.Union(\n Schema.Literal(...organizationMemberSourceBatchTransports),\n Schema.Null,\n ),\n manualTransport: Schema.Union(\n Schema.Literal(...organizationMemberSourceManualTransports),\n Schema.Null,\n ),\n liveTransport: Schema.Union(\n Schema.Literal(...organizationMemberSourceLiveTransports),\n Schema.Null,\n ),\n status: Schema.Literal(...organizationMemberSourceStatuses),\n syncSchedule: NullableString,\n config: JsonObjectSchema,\n secretNames: Schema.Array(MemberSourceSecretNameSchema),\n lastCursor: Schema.Union(JsonObjectSchema, Schema.Null),\n lastSuccessfulSyncAt: Schema.Union(TimestampSchema, Schema.Null),\n lastAttemptedSyncAt: Schema.Union(TimestampSchema, Schema.Null),\n lastError: NullableString,\n agent: Schema.Union(OrganizationMemberSourceAgentSchema, Schema.Null),\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n deletedAt: Schema.Union(TimestampSchema, Schema.Null),\n});\n\nexport const OrganizationMemberSourceWebhookSchema = Schema.Struct({\n id: Schema.String,\n organizationId: Schema.String,\n organizationMemberSourceId: Schema.String,\n status: Schema.Literal(...organizationMemberSourceWebhookStatuses),\n url: Schema.String.annotations({\n description:\n \"Destination URL that receives member-source webhooks for command completions and live member updates.\",\n example: \"https://venue.example.com/webhooks/spoke\",\n }),\n hasSigningSecret: Schema.Boolean,\n lastDeliveredAt: Schema.Union(TimestampSchema, Schema.Null),\n lastDeliveryStatus: Schema.Union(\n Schema.Literal(...organizationMemberSourceWebhookDeliveryStatuses),\n Schema.Null,\n ),\n lastDeliveryError: NullableString,\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n deletedAt: Schema.Union(TimestampSchema, Schema.Null),\n});\n\nexport const OrganizationMemberSourceWebhookUpsertResponseSchema = Schema.Struct({\n webhook: OrganizationMemberSourceWebhookSchema,\n signingSecret: Schema.Union(\n Schema.String.annotations({\n description:\n \"Webhook signing secret shown only on first creation or explicit rotation. Use it to verify the X-Spoke-Webhook-Signature header.\",\n example: \"whsec_JuL9C8J7Kz2O2P8N4GqX5YvM6QwT3R1B\",\n }),\n Schema.Null,\n ),\n});\n\nexport const OrganizationMemberSyncRunSummarySchema = Schema.Struct({\n totalRecords: Schema.Number,\n inserted: Schema.Number,\n updated: Schema.Number,\n archived: Schema.Number,\n skipped: Schema.Number,\n errorCount: Schema.Number,\n});\n\nexport const OrganizationMemberSyncRunErrorSchema = Schema.Struct({\n id: Schema.String,\n organizationId: Schema.String,\n organizationMemberSyncRunId: Schema.String,\n lineNumber: Schema.Union(Schema.Number, Schema.Null),\n externalSystemMemberId: NullableString,\n memberNumber: NullableString,\n code: Schema.String,\n message: Schema.String,\n payload: JsonObjectSchema,\n occurredAt: TimestampSchema,\n});\n\nexport const OrganizationMemberSyncRunSchema = Schema.Struct({\n id: Schema.String,\n organizationId: Schema.String,\n organizationMemberSourceId: Schema.String,\n triggerKind: Schema.Literal(...organizationMemberSyncTriggerKinds),\n mode: Schema.Literal(...organizationMemberSyncModes),\n transport: Schema.Literal(...organizationMemberSyncTransports),\n status: Schema.Literal(...organizationMemberSyncRunStatuses),\n inputReference: NullableString,\n fileName: NullableString,\n startedAt: TimestampSchema,\n pickedUpAt: Schema.Union(TimestampSchema, Schema.Null),\n completedAt: Schema.Union(TimestampSchema, Schema.Null),\n organizationMemberSourceAgentId: Schema.Union(Schema.String, Schema.Null),\n cursorBefore: Schema.Union(JsonObjectSchema, Schema.Null),\n cursorAfter: Schema.Union(JsonObjectSchema, Schema.Null),\n summary: OrganizationMemberSyncRunSummarySchema,\n errorMessage: NullableString,\n errors: Schema.Array(OrganizationMemberSyncRunErrorSchema),\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n deletedAt: Schema.Union(TimestampSchema, Schema.Null),\n});\n\nexport const PaginatedOrganizationMemberSyncRunsSchema = Schema.Struct({\n items: Schema.Array(OrganizationMemberSyncRunSchema),\n total: Schema.Number,\n page: Schema.Number,\n pageSize: Schema.Number,\n totalPages: Schema.Number,\n});\n\nexport const OrganizationMemberSourceCommandSchema = Schema.Struct({\n id: Schema.String,\n organizationId: Schema.String,\n organizationMemberSourceId: Schema.String,\n organizationMemberSourceAgentId: Schema.Union(Schema.String, Schema.Null),\n kind: Schema.Literal(\"create_member\", \"update_member\", \"renew_member\", \"lookup_member\"),\n status: Schema.Literal(...organizationMemberSourceCommandStatuses),\n payload: JsonObjectSchema,\n result: Schema.Union(JsonObjectSchema, Schema.Null),\n errorMessage: NullableString,\n requestedAt: TimestampSchema,\n acceptedAt: Schema.Union(TimestampSchema, Schema.Null),\n completedAt: Schema.Union(TimestampSchema, Schema.Null),\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n deletedAt: Schema.Union(TimestampSchema, Schema.Null),\n});\n\nexport const PaginatedOrganizationMemberSourceCommandsSchema = Schema.Struct({\n items: Schema.Array(OrganizationMemberSourceCommandSchema),\n total: Schema.Number,\n page: Schema.Number,\n pageSize: Schema.Number,\n totalPages: Schema.Number,\n});\n\nexport const PaginatedServiceClientsSchema = Schema.Struct({\n items: Schema.Array(ServiceClientSchema),\n total: Schema.Number,\n page: Schema.Number,\n pageSize: Schema.Number,\n totalPages: Schema.Number,\n});\n\nconst CsvMemberFieldMappingSchema = Schema.Struct({\n hasHeader: Schema.optional(Schema.Boolean),\n memberNumber: OptionalNullableString,\n previousMemberNumber: OptionalNullableString,\n externalSystemMemberId: OptionalNullableString,\n cardId: OptionalNullableString,\n email: OptionalNullableString,\n title: OptionalNullableString,\n firstName: OptionalNullableString,\n middleName: OptionalNullableString,\n lastName: OptionalNullableString,\n dob: OptionalNullableString,\n gender: OptionalNullableString,\n mobilePhone: OptionalNullableMobilePhoneSchema,\n homePhone: OptionalNullableString,\n joinedAt: OptionalNullableString,\n addressLine1: OptionalNullableString,\n addressLine2: OptionalNullableString,\n addressSuburb: OptionalNullableString,\n addressState: OptionalNullableString,\n addressPostalCode: OptionalNullableString,\n addressCountry: OptionalNullableString,\n postalAddressLine1: OptionalNullableString,\n postalAddressLine2: OptionalNullableString,\n postalAddressSuburb: OptionalNullableString,\n postalAddressState: OptionalNullableString,\n postalAddressPostalCode: OptionalNullableString,\n postalAddressCountry: OptionalNullableString,\n membershipType: OptionalNullableString,\n membershipTypeId: OptionalNullableString,\n ratingGrade: OptionalNullableString,\n ratingGradeId: OptionalNullableString,\n preferredContactMethod: OptionalNullablePreferredContactMethodSchema,\n occupation: OptionalNullableString,\n sourceStatus: OptionalNullableString,\n gamingOptOutSourceStatuses: OptionalNullableString,\n suspendedSourceStatuses: OptionalNullableString,\n retiredSourceStatuses: OptionalNullableString,\n skippedSourceStatuses: OptionalNullableString,\n retiredMembershipTypes: OptionalNullableString,\n skippedMembershipTypes: OptionalNullableString,\n retiredRatingGrades: OptionalNullableString,\n skippedRatingGrades: OptionalNullableString,\n marketingEmail: OptionalNullableString,\n marketingSms: OptionalNullableString,\n marketingPost: OptionalNullableString,\n expiresAt: OptionalNullableString,\n sourceUpdatedAt: OptionalNullableString,\n});\n\nexport const OrganizationMemberSourceCsvMappingSchema = Schema.Struct({\n id: Schema.String,\n organizationId: Schema.String,\n organizationMemberSourceId: Schema.String,\n version: Schema.Number,\n mapping: CsvMemberFieldMappingSchema,\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n deletedAt: Schema.Union(TimestampSchema, Schema.Null),\n});\n\nexport const CsvUploadReadinessSchema = Schema.Struct({\n organizationId: Schema.String,\n organizationMemberSourceId: Schema.Union(Schema.String, Schema.Null),\n uploadEnabled: Schema.Boolean,\n hasMapping: Schema.Boolean,\n mappingVersion: Schema.Union(Schema.Number, Schema.Null),\n bucketName: NullableString,\n keyPrefix: NullableString,\n reason: NullableString,\n mapping: Schema.Union(OrganizationMemberSourceCsvMappingSchema, Schema.Null),\n});\n\nexport const OrganizationMemberSourceCsvImportSchema = Schema.Struct({\n id: Schema.String,\n organizationId: Schema.String,\n organizationMemberSourceId: Schema.String,\n organizationMemberSyncRunId: Schema.Union(Schema.String, Schema.Null),\n mappingVersion: Schema.Number,\n status: Schema.Literal(...organizationMemberSourceCsvImportStatuses),\n bucketName: Schema.String,\n objectKey: Schema.String,\n fileName: Schema.String,\n contentType: NullableString,\n sizeBytes: Schema.Union(Schema.Number, Schema.Null),\n uploadedAt: Schema.Union(TimestampSchema, Schema.Null),\n processedAt: Schema.Union(TimestampSchema, Schema.Null),\n errorMessage: NullableString,\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n deletedAt: Schema.Union(TimestampSchema, Schema.Null),\n});\n\nexport const AdminSessionSchema = Schema.Struct({\n principalId: Schema.String,\n email: Schema.String,\n displayName: Schema.String,\n authRole: NullableString,\n impersonatedBy: NullableString,\n roles: Schema.Array(\n Schema.Struct({\n role: Schema.Literal(...adminRoles),\n organizationId: Schema.Union(Schema.String, Schema.Null),\n }),\n ),\n});\n\nexport const IssuedPrivateKeySchema = Schema.String.annotations({\n description:\n \"Base64-encoded PKCS#8 Ed25519 private key. Store it securely because it is only shown once.\",\n});\n\nexport const DeletePayloadSchema = Schema.Struct({\n expectedUpdatedAt: TimestampSchema,\n});\n\nexport const CreateOrganizationSchema = Schema.Struct({\n slug: Schema.String,\n name: Schema.String,\n legalName: OptionalNullableString,\n description: OptionalNullableString,\n externalReference: OptionalNullableString,\n products: Schema.optional(Schema.Array(Schema.String)),\n});\n\nexport const UpdateOrganizationSchema = Schema.Struct({\n expectedUpdatedAt: TimestampSchema,\n slug: Schema.optional(Schema.String),\n name: Schema.optional(Schema.String),\n legalName: OptionalNullableString,\n description: OptionalNullableString,\n externalReference: OptionalNullableString,\n products: Schema.optional(Schema.Array(Schema.String)),\n status: Schema.optional(Schema.Literal(...organizationStatuses)),\n});\n\nexport const CreateOrganizationProductOptionSchema = Schema.Struct({\n slug: Schema.String,\n name: Schema.String,\n});\n\nexport const UpsertOrganizationProductWebhookSchema = Schema.Struct({\n url: Schema.String.annotations({\n description:\n \"Destination URL to notify when a linked organization emits a product event such as a member-source command completion, member update, or voucher creation.\",\n example: \"https://product.example.com/webhooks/spoke\",\n }),\n status: Schema.optional(Schema.Literal(...organizationProductWebhookStatuses)),\n rotateSigningSecret: Schema.optional(\n Schema.Boolean.annotations({\n description:\n \"When true, rotates the webhook signing secret and returns the new secret once in the response.\",\n }),\n ),\n});\n\nexport const CreateOrganizationProductWebhookSchema = Schema.Struct({\n url: Schema.String.annotations({\n description:\n \"Destination URL to notify when a linked organization emits a product event such as a member-source command completion, member update, or voucher creation.\",\n example: \"https://product.example.com/webhooks/spoke\",\n }),\n status: Schema.optional(Schema.Literal(...organizationProductWebhookStatuses)),\n});\n\nexport const UpdateOrganizationProductWebhookSchema = Schema.Struct({\n url: Schema.optional(\n Schema.String.annotations({\n description:\n \"Destination URL to notify when a linked organization emits a product event such as a member-source command completion, member update, or voucher creation.\",\n example: \"https://product.example.com/webhooks/spoke\",\n }),\n ),\n status: Schema.optional(Schema.Literal(...organizationProductWebhookStatuses)),\n rotateSigningSecret: Schema.optional(\n Schema.Boolean.annotations({\n description:\n \"When true, rotates the webhook signing secret and returns the new secret once in the response.\",\n }),\n ),\n});\n\nexport const CreateMemberSchema = Schema.Struct({\n email: OptionalNullableString,\n title: OptionalNullableString,\n firstName: Schema.String,\n middleName: OptionalNullableString,\n lastName: Schema.String,\n dob: Schema.optional(Schema.Union(DateOnlySchema, Schema.Null)),\n gender: OptionalNullableString,\n mobilePhone: OptionalNullableMobilePhoneSchema,\n homePhone: OptionalNullableString,\n joinedAt: Schema.optional(Schema.Union(TimestampSchema, Schema.Null)),\n preferredContactMethod: OptionalNullablePreferredContactMethodSchema,\n occupation: OptionalNullableOccupationSchema,\n address: Schema.optional(Schema.Union(AddressInputSchema, Schema.Null)),\n postalAddress: Schema.optional(Schema.Union(AddressInputSchema, Schema.Null)),\n membershipType: OptionalNullableString,\n membershipTypeId: OptionalNullableString,\n ratingGrade: OptionalNullableString,\n ratingGradeId: OptionalNullableString,\n marketingPreferences: Schema.optional(MarketingPreferencesInputSchema),\n expiresAt: Schema.optional(Schema.Union(TimestampSchema, Schema.Null)),\n memberNumber: OptionalNullableString,\n externalSystemMemberId: OptionalNullableString,\n cardId: OptionalNullableString,\n customFields: Schema.optional(JsonObjectSchema),\n});\n\nexport const UpdateMemberSchema = Schema.Struct({\n expectedUpdatedAt: TimestampSchema,\n email: OptionalNullableString,\n title: OptionalNullableString,\n firstName: Schema.optional(Schema.String),\n middleName: OptionalNullableString,\n lastName: Schema.optional(Schema.String),\n dob: Schema.optional(Schema.Union(DateOnlySchema, Schema.Null)),\n gender: OptionalNullableString,\n mobilePhone: OptionalNullableMobilePhoneSchema,\n homePhone: OptionalNullableString,\n joinedAt: Schema.optional(Schema.Union(TimestampSchema, Schema.Null)),\n preferredContactMethod: OptionalNullablePreferredContactMethodSchema,\n occupation: OptionalNullableOccupationSchema,\n address: Schema.optional(Schema.Union(AddressInputSchema, Schema.Null)),\n postalAddress: Schema.optional(Schema.Union(AddressInputSchema, Schema.Null)),\n membershipType: OptionalNullableString,\n membershipTypeId: OptionalNullableString,\n ratingGrade: OptionalNullableString,\n ratingGradeId: OptionalNullableString,\n marketingPreferences: Schema.optional(MarketingPreferencesInputSchema),\n expiresAt: Schema.optional(Schema.Union(TimestampSchema, Schema.Null)),\n memberNumber: OptionalNullableString,\n externalSystemMemberId: OptionalNullableString,\n cardId: OptionalNullableString,\n customFields: Schema.optional(JsonObjectSchema),\n});\n\nexport const CreateGuestSchema = Schema.Struct({\n email: OptionalNullableString,\n mobilePhone: OptionalNullableMobilePhoneSchema,\n firstName: Schema.String,\n lastName: Schema.String,\n meta: Schema.optional(JsonObjectSchema),\n marketingPreferences: Schema.optional(MarketingPreferencesInputSchema),\n}).annotations({\n description: \"Guests must include at least one contact method: email or mobilePhone.\",\n});\n\nexport const UpdateGuestSchema = Schema.Struct({\n expectedUpdatedAt: TimestampSchema,\n email: OptionalNullableString,\n mobilePhone: OptionalNullableMobilePhoneSchema,\n firstName: Schema.optional(Schema.String),\n lastName: Schema.optional(Schema.String),\n meta: Schema.optional(JsonObjectSchema),\n marketingPreferences: Schema.optional(MarketingPreferencesInputSchema),\n}).annotations({\n description:\n \"Guest updates must leave at least one contact method present after the change: email or mobilePhone.\",\n});\n\nexport const CreateServiceClientSchema = Schema.Struct({\n name: Schema.String,\n description: OptionalNullableString,\n organizationId: Schema.optional(Schema.Union(Schema.String, Schema.Null)),\n scopes: Schema.Array(Schema.String),\n});\n\nexport const UpdateServiceClientSchema = Schema.Struct({\n expectedUpdatedAt: TimestampSchema,\n name: Schema.optional(Schema.String),\n description: OptionalNullableString,\n organizationId: Schema.optional(Schema.Union(Schema.String, Schema.Null)),\n scopes: Schema.optional(Schema.Array(Schema.String)),\n rotateKey: Schema.optional(Schema.Boolean),\n rotateGracePeriodSeconds: Schema.optional(Schema.Number),\n clearRevokesAt: Schema.optional(Schema.Boolean),\n});\n\nexport const DeleteServiceClientSchema = Schema.Struct({\n expectedUpdatedAt: TimestampSchema,\n revokeAfterSeconds: Schema.optional(Schema.Number),\n});\n\nexport const OrganizationMemberSourceSecretInputSchema = Schema.Struct({\n name: Schema.String,\n value: Schema.String,\n});\n\nexport const BootstrapOrganizationMemberSourceAgentSchema = Schema.Struct({\n siteId: OptionalNullableString,\n pollingIntervalSeconds: Schema.optional(Schema.Number),\n metadata: Schema.optional(JsonObjectSchema),\n});\n\nexport const BootstrapOrganizationMemberSourceAgentResponseSchema = Schema.Struct({\n agent: OrganizationMemberSourceAgentSchema,\n privateKey: IssuedPrivateKeySchema,\n});\n\nexport const UpsertOrganizationMemberSourceSchema = Schema.Struct({\n vendor: Schema.Literal(...organizationMemberSourceVendors),\n primaryBatchTransport: Schema.Union(\n Schema.Literal(...organizationMemberSourceBatchTransports),\n Schema.Null,\n ),\n manualTransport: Schema.Union(\n Schema.Literal(...organizationMemberSourceManualTransports),\n Schema.Null,\n ),\n liveTransport: Schema.Union(\n Schema.Literal(...organizationMemberSourceLiveTransports),\n Schema.Null,\n ),\n status: Schema.optional(Schema.Literal(...organizationMemberSourceStatuses)),\n syncSchedule: OptionalNullableString,\n config: JsonObjectSchema,\n secrets: Schema.optional(Schema.Array(OrganizationMemberSourceSecretInputSchema)),\n});\n\nexport const UpsertOrganizationMemberSourceWebhookSchema = Schema.Struct({\n url: Schema.String.annotations({\n description:\n \"Destination URL to notify when source-managed create, update, renewal, or lookup commands reach a terminal state.\",\n example: \"https://venue.example.com/webhooks/spoke\",\n }),\n status: Schema.optional(Schema.Literal(...organizationMemberSourceWebhookStatuses)),\n rotateSigningSecret: Schema.optional(\n Schema.Boolean.annotations({\n description:\n \"When true, rotates the webhook signing secret and returns the new secret once in the response.\",\n }),\n ),\n});\n\nexport const TriggerOrganizationMemberSyncSchema = Schema.Struct({\n mode: Schema.optional(Schema.Literal(...organizationMemberSyncModes)),\n inputReference: OptionalNullableString,\n});\n\nexport const RequestSourceManagedMemberCreateSchema = CreateMemberSchema;\nexport const RequestSourceManagedMemberUpdateSchema = UpdateMemberSchema;\nexport const RequestSourceManagedMemberRenewalSchema = Schema.Struct({\n expectedUpdatedAt: Schema.optional(Schema.Union(TimestampSchema, Schema.Null)),\n});\nexport const SourceManagedMemberLookupBySchema = Schema.Literal(\n \"member_id\",\n \"badge_number\",\n \"card_number\",\n);\nexport const SourceManagedMemberLookupCommandPayloadSchema = Schema.Struct({\n lookupBy: SourceManagedMemberLookupBySchema,\n lookupValue: Schema.String,\n});\n\nexport const SourceManagedMemberRenewalCommandPayloadSchema = Schema.Struct({\n memberId: Schema.String,\n externalSystemMemberId: Schema.String,\n memberNumber: OptionalNullableString,\n previousExpiresAt: Schema.optional(Schema.Union(TimestampSchema, Schema.Null)),\n});\n\nconst OnsiteResourceCallWaitMsSchema = Schema.optional(\n Schema.Number.annotations({\n description:\n \"How long Hub should wait for the onsite client to complete the command before returning the accepted command.\",\n example: 10000,\n }),\n);\n\nexport const OnsiteResourceCallRequestSchema = Schema.Union(\n Schema.Struct({\n operation: Schema.Literal(\"member.create\"),\n waitMs: OnsiteResourceCallWaitMsSchema,\n payload: RequestSourceManagedMemberCreateSchema,\n }),\n Schema.Struct({\n operation: Schema.Literal(\"member.update\"),\n waitMs: OnsiteResourceCallWaitMsSchema,\n memberId: Schema.String,\n payload: RequestSourceManagedMemberUpdateSchema,\n }),\n Schema.Struct({\n operation: Schema.Literal(\"member.renew\"),\n waitMs: OnsiteResourceCallWaitMsSchema,\n memberId: Schema.String,\n payload: RequestSourceManagedMemberRenewalSchema,\n }),\n Schema.Struct({\n operation: Schema.Literal(\"member.lookup\"),\n waitMs: OnsiteResourceCallWaitMsSchema,\n payload: SourceManagedMemberLookupCommandPayloadSchema,\n }),\n Schema.Struct({\n operation: Schema.Literal(\"voucher.issue\"),\n waitMs: OnsiteResourceCallWaitMsSchema,\n payload: RequestVoucherIssueSchema,\n }),\n);\n\nexport const OnsiteResourceMemberCallResponseSchema = Schema.Struct({\n kind: Schema.Literal(\"member\"),\n operation: Schema.Literal(\"member.create\", \"member.update\", \"member.renew\", \"member.lookup\"),\n settled: Schema.Boolean,\n timedOut: Schema.Boolean,\n command: OrganizationMemberSourceCommandSchema,\n});\n\nexport const OnsiteResourceVoucherCallResponseSchema = Schema.Struct({\n kind: Schema.Literal(\"voucher\"),\n operation: Schema.Literal(\"voucher.issue\"),\n settled: Schema.Boolean,\n timedOut: Schema.Boolean,\n command: OrganizationVoucherCommandSchema,\n});\n\nexport const OnsiteResourceCallResponseSchema = Schema.Union(\n OnsiteResourceMemberCallResponseSchema,\n OnsiteResourceVoucherCallResponseSchema,\n);\n\nexport const SourceManagedMemberUpdateCommandPayloadSchema = Schema.Struct({\n memberId: Schema.String,\n externalSystemMemberId: Schema.String,\n expectedUpdatedAt: TimestampSchema,\n email: OptionalNullableString,\n title: OptionalNullableString,\n firstName: Schema.optional(Schema.String),\n middleName: OptionalNullableString,\n lastName: Schema.optional(Schema.String),\n dob: Schema.optional(Schema.Union(DateOnlySchema, Schema.Null)),\n gender: OptionalNullableString,\n mobilePhone: OptionalNullableMobilePhoneSchema,\n homePhone: OptionalNullableString,\n joinedAt: Schema.optional(Schema.Union(TimestampSchema, Schema.Null)),\n preferredContactMethod: OptionalNullablePreferredContactMethodSchema,\n occupation: OptionalNullableOccupationSchema,\n address: Schema.optional(Schema.Union(AddressInputSchema, Schema.Null)),\n postalAddress: Schema.optional(Schema.Union(AddressInputSchema, Schema.Null)),\n membershipType: OptionalNullableString,\n membershipTypeId: OptionalNullableString,\n ratingGrade: OptionalNullableString,\n ratingGradeId: OptionalNullableString,\n marketingPreferences: Schema.optional(MarketingPreferencesInputSchema),\n expiresAt: Schema.optional(Schema.Union(TimestampSchema, Schema.Null)),\n memberNumber: OptionalNullableString,\n cardId: OptionalNullableString,\n customFields: Schema.optional(JsonObjectSchema),\n});\n\nexport const UpsertOrganizationMemberSourceCsvMappingSchema = CsvMemberFieldMappingSchema;\n\nexport const CreateOrganizationMemberSourceCsvUploadSchema = Schema.Struct({\n fileName: Schema.String,\n contentType: Schema.optional(Schema.String),\n sizeBytes: Schema.optional(Schema.Number),\n mappingId: Schema.String.annotations({\n description:\n \"Identifier of a previously saved CSV mapping to use for this upload. Save mappings with the PUT csv-mapping route first.\",\n }),\n});\n\nexport const PresignedPostSchema = Schema.Struct({\n url: Schema.String,\n fields: Schema.Record({\n key: Schema.String,\n value: Schema.String,\n }),\n});\n\nexport const CreateOrganizationMemberSourceCsvUploadResponseSchema = Schema.Struct({\n importSession: OrganizationMemberSourceCsvImportSchema,\n mapping: OrganizationMemberSourceCsvMappingSchema,\n presignedPost: PresignedPostSchema,\n});\n\nexport const OnsiteAgentCsvUploadTargetSchema = Schema.Struct({\n importId: Schema.String,\n fileName: Schema.String,\n contentType: Schema.String,\n bucketName: Schema.String,\n objectKey: Schema.String,\n presignedPost: PresignedPostSchema,\n});\n\nexport const ImportedMemberRecordSchema = Schema.Struct({\n lineNumber: Schema.Union(Schema.Number, Schema.Null),\n previousMemberNumber: NullableString,\n memberNumber: NullableString,\n externalSystemMemberId: NullableString,\n cardId: NullableString,\n email: NullableString,\n title: NullableString,\n firstName: NullableString,\n middleName: NullableString,\n lastName: NullableString,\n dob: Schema.Union(DateOnlySchema, Schema.Null),\n gender: NullableString,\n mobilePhone: NullableMobilePhoneSchema,\n homePhone: NullableString,\n joinedAt: Schema.Union(TimestampSchema, Schema.Null),\n preferredContactMethod: NullablePreferredContactMethodSchema,\n occupation: NullableOccupationSchema,\n address: Schema.Union(AddressSchema, Schema.Null),\n postalAddress: Schema.Union(AddressSchema, Schema.Null),\n membershipType: NullableString,\n membershipTypeId: NullableString,\n ratingGrade: NullableString,\n ratingGradeId: NullableString,\n sourceStatus: NullableString,\n marketingPreferences: Schema.optional(MarketingPreferencesSchema),\n expiresAt: Schema.Union(TimestampSchema, Schema.Null),\n sourceUpdatedAt: Schema.Union(TimestampSchema, Schema.Null),\n});\n\nexport const OnsiteAgentCommandSchema = Schema.Struct({\n runId: Schema.String,\n organizationId: Schema.String,\n organizationMemberSourceId: Schema.String,\n vendor: Schema.Literal(...organizationMemberSourceVendors),\n connectorType: Schema.Literal(...organizationMemberSourceVendors),\n mode: Schema.Literal(...organizationMemberSyncModes),\n inputReference: NullableString,\n requestedAt: TimestampSchema,\n cursorBefore: Schema.Union(JsonObjectSchema, Schema.Null),\n config: JsonObjectSchema,\n secrets: Schema.Array(OrganizationMemberSourceSecretInputSchema),\n csvUpload: Schema.optional(OnsiteAgentCsvUploadTargetSchema),\n});\n\nexport const OnsiteAgentMemberCreateCommandSchema = Schema.Struct({\n commandId: Schema.String,\n organizationId: Schema.String,\n organizationMemberSourceId: Schema.String,\n vendor: Schema.Literal(...organizationMemberSourceVendors),\n connectorType: Schema.Literal(...organizationMemberSourceVendors),\n requestedAt: TimestampSchema,\n payload: RequestSourceManagedMemberCreateSchema,\n config: JsonObjectSchema,\n secrets: Schema.Array(OrganizationMemberSourceSecretInputSchema),\n});\n\nexport const OnsiteAgentMemberUpdateCommandSchema = Schema.Struct({\n commandId: Schema.String,\n organizationId: Schema.String,\n organizationMemberSourceId: Schema.String,\n vendor: Schema.Literal(...organizationMemberSourceVendors),\n connectorType: Schema.Literal(...organizationMemberSourceVendors),\n requestedAt: TimestampSchema,\n payload: SourceManagedMemberUpdateCommandPayloadSchema,\n config: JsonObjectSchema,\n secrets: Schema.Array(OrganizationMemberSourceSecretInputSchema),\n});\n\nexport const OnsiteAgentMemberRenewalCommandSchema = Schema.Struct({\n commandId: Schema.String,\n organizationId: Schema.String,\n organizationMemberSourceId: Schema.String,\n vendor: Schema.Literal(...organizationMemberSourceVendors),\n connectorType: Schema.Literal(...organizationMemberSourceVendors),\n requestedAt: TimestampSchema,\n payload: SourceManagedMemberRenewalCommandPayloadSchema,\n config: JsonObjectSchema,\n secrets: Schema.Array(OrganizationMemberSourceSecretInputSchema),\n});\n\nexport const OnsiteAgentMemberLookupCommandSchema = Schema.Struct({\n commandId: Schema.String,\n organizationId: Schema.String,\n organizationMemberSourceId: Schema.String,\n vendor: Schema.Literal(...organizationMemberSourceVendors),\n connectorType: Schema.Literal(...organizationMemberSourceVendors),\n requestedAt: TimestampSchema,\n payload: SourceManagedMemberLookupCommandPayloadSchema,\n config: JsonObjectSchema,\n secrets: Schema.Array(OrganizationMemberSourceSecretInputSchema),\n});\n\nexport const OnsiteAgentHeartbeatSchema = Schema.Struct({\n version: Schema.String,\n pollingIntervalSeconds: Schema.optional(Schema.Number),\n metadata: Schema.optional(JsonObjectSchema),\n lastError: OptionalNullableString,\n});\n\nexport const OnsiteAgentHeartbeatResponseSchema = Schema.Struct({\n id: Schema.String,\n organizationId: Schema.String,\n organizationMemberSourceId: Schema.String,\n connectorType: Schema.Literal(...organizationMemberSourceVendors),\n siteId: NullableString,\n status: Schema.Literal(...organizationMemberSourceAgentStatuses),\n clientId: Schema.String,\n publicKeyFingerprint: NullableString,\n pollingIntervalSeconds: Schema.Number,\n lastUsedAt: Schema.Union(TimestampSchema, Schema.Null),\n lastHeartbeatAt: Schema.Union(TimestampSchema, Schema.Null),\n lastVersion: NullableString,\n lastError: NullableString,\n metadata: JsonObjectSchema,\n syncSchedule: NullableString,\n nextSyncAt: Schema.Union(TimestampSchema, Schema.Null),\n syncDue: Schema.Boolean,\n syncStateReason: Schema.Literal(\"not_due\", \"enqueued\", \"existing_run\", \"none\", \"error\"),\n activeSyncRunId: Schema.Union(Schema.String, Schema.Null),\n activeSyncRunStatus: Schema.Union(\n Schema.Literal(...organizationMemberSyncRunStatuses),\n Schema.Null,\n ),\n pendingSyncRunId: Schema.Union(Schema.String, Schema.Null),\n syncCommand: Schema.optional(Schema.Union(OnsiteAgentCommandSchema, Schema.Null)),\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n deletedAt: Schema.Union(TimestampSchema, Schema.Null),\n});\n\nexport const OnsiteAgentCompleteRunErrorSchema = Schema.Struct({\n lineNumber: Schema.Union(Schema.Number, Schema.Null),\n externalSystemMemberId: OptionalNullableString,\n memberNumber: OptionalNullableString,\n code: Schema.String,\n message: Schema.String,\n payload: Schema.optional(JsonObjectSchema),\n});\n\nexport const OnsiteAgentCompleteRunSchema = Schema.Struct({\n records: Schema.Array(ImportedMemberRecordSchema),\n cursorAfter: Schema.optional(Schema.Union(JsonObjectSchema, Schema.Null)),\n rowErrors: Schema.optional(Schema.Array(OnsiteAgentCompleteRunErrorSchema)),\n csvImportUploaded: Schema.optional(Schema.Boolean),\n errorMessage: OptionalNullableString,\n});\n\nexport const OnsiteAgentCompleteMemberCreateSchema = Schema.Struct({\n record: Schema.optional(ImportedMemberRecordSchema),\n errorMessage: OptionalNullableString,\n});\n\nexport const OnsiteAgentCompleteMemberUpdateSchema = Schema.Struct({\n record: Schema.optional(ImportedMemberRecordSchema),\n errorMessage: OptionalNullableString,\n});\n\nexport const OnsiteAgentCompleteMemberRenewalSchema = Schema.Struct({\n record: Schema.optional(ImportedMemberRecordSchema),\n receiptNumber: OptionalNullableNumber,\n errorMessage: OptionalNullableString,\n});\n\nexport const OnsiteAgentCompleteMemberLookupSchema = Schema.Struct({\n record: Schema.optional(ImportedMemberRecordSchema),\n rawRecord: Schema.optional(JsonObjectSchema),\n errorMessage: OptionalNullableString,\n});\n\nexport const OnsiteAgentIngestLiveFbiBatchSchema = Schema.Struct({\n sourceFileName: OptionalNullableString,\n metadata: Schema.optional(JsonObjectSchema),\n records: Schema.Array(ImportedMemberRecordSchema),\n rowErrors: Schema.optional(Schema.Array(OnsiteAgentCompleteRunErrorSchema)),\n});\n\nconst OrganizationIdParams = Schema.Struct({\n organizationId: HttpApiSchema.param(\"organizationId\", Schema.String),\n});\n\nconst OrganizationProductOptionParams = Schema.Struct({\n organizationProductOptionId: HttpApiSchema.param(\"organizationProductOptionId\", Schema.String),\n});\n\nconst OrganizationProductWebhookParams = Schema.Struct({\n organizationProductWebhookId: HttpApiSchema.param(\n \"organizationProductWebhookId\",\n Schema.String,\n ),\n});\n\nconst OrganizationMemberSourceCommandParams = Schema.Struct({\n organizationId: HttpApiSchema.param(\"organizationId\", Schema.String),\n commandId: HttpApiSchema.param(\"commandId\", Schema.String),\n});\n\nconst OrganizationVoucherCommandParams = Schema.Struct({\n organizationId: HttpApiSchema.param(\"organizationId\", Schema.String),\n commandId: HttpApiSchema.param(\"commandId\", Schema.String),\n});\n\nconst OrganizationMemberParams = Schema.Struct({\n organizationId: HttpApiSchema.param(\"organizationId\", Schema.String),\n memberId: HttpApiSchema.param(\"memberId\", Schema.String),\n});\n\nconst OrganizationPointTypeParams = Schema.Struct({\n organizationId: HttpApiSchema.param(\"organizationId\", Schema.String),\n pointTypeId: HttpApiSchema.param(\"pointTypeId\", Schema.String),\n});\n\nconst OrganizationMemberPointTypeParams = Schema.Struct({\n organizationId: HttpApiSchema.param(\"organizationId\", Schema.String),\n memberId: HttpApiSchema.param(\"memberId\", Schema.String),\n pointTypeId: HttpApiSchema.param(\"pointTypeId\", Schema.String),\n});\n\nconst OrganizationSourceLookupByIdParams = Schema.Struct({\n organizationId: HttpApiSchema.param(\"organizationId\", Schema.String),\n externalSystemMemberId: HttpApiSchema.param(\"externalSystemMemberId\", Schema.String),\n});\n\nconst OrganizationSourceLookupByBadgeParams = Schema.Struct({\n organizationId: HttpApiSchema.param(\"organizationId\", Schema.String),\n badgeNumber: HttpApiSchema.param(\"badgeNumber\", Schema.String),\n});\n\nconst OrganizationSourceLookupByCardParams = Schema.Struct({\n organizationId: HttpApiSchema.param(\"organizationId\", Schema.String),\n cardNumber: HttpApiSchema.param(\"cardNumber\", Schema.String),\n});\n\nconst OrganizationGuestParams = Schema.Struct({\n organizationId: HttpApiSchema.param(\"organizationId\", Schema.String),\n guestId: HttpApiSchema.param(\"guestId\", Schema.String),\n});\n\nconst OrganizationParams = Schema.Struct({\n organizationId: HttpApiSchema.param(\"organizationId\", Schema.String),\n});\n\nconst OrganizationMemberSyncRunParams = Schema.Struct({\n runId: HttpApiSchema.param(\"runId\", Schema.String),\n});\n\nconst ServiceClientParams = Schema.Struct({\n serviceClientId: HttpApiSchema.param(\"serviceClientId\", Schema.String),\n});\n\nconst authGroup = HttpApiGroup.make(\"auth\").add(\n HttpApiEndpoint.get(\"getAdminSession\", \"/admin/session\")\n .addSuccess(AdminSessionSchema)\n .annotateContext(\n OpenApi.annotations({ summary: \"Get the current authenticated admin session\" }),\n ),\n);\n\nconst organizationsGroup = HttpApiGroup.make(\"organizations\")\n .add(\n HttpApiEndpoint.get(\"listOrganizationProductOptions\", \"/organization-products\")\n .setUrlParams(OrganizationProductOptionsListUrlParamsSchema)\n .addSuccess(PaginatedOrganizationProductOptionsSchema)\n .annotateContext(\n OpenApi.annotations({ summary: \"List available organization product options\" }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\"createOrganizationProductOption\", \"/organization-products\")\n .setPayload(CreateOrganizationProductOptionSchema)\n .addSuccess(OrganizationProductOptionSchema, { status: 201 })\n .annotateContext(OpenApi.annotations({ summary: \"Create an organization product option\" })),\n )\n .add(\n HttpApiEndpoint.get(\"listOrganizationProductWebhooks\", \"/organization-product-webhooks\")\n .setUrlParams(OrganizationProductWebhookListUrlParamsSchema)\n .addSuccess(PaginatedOrganizationProductWebhooksSchema)\n .annotateContext(\n OpenApi.annotations({ summary: \"List configured platform product webhooks\" }),\n ),\n )\n .add(\n HttpApiEndpoint.get(\n \"listOrganizationProductOptionWebhooks\",\n \"/organization-products/:organizationProductOptionId/webhooks\",\n )\n .setPath(OrganizationProductOptionParams)\n .setUrlParams(\n Schema.Struct({\n page: optionalQueryString(\n \"1-based page number. Defaults to 1 when omitted or invalid.\",\n {\n example: \"1\",\n },\n ),\n pageSize: optionalQueryString(\n \"Number of organization product webhooks per page. Defaults to 25 and is capped at 100.\",\n {\n example: \"25\",\n },\n ),\n }),\n )\n .addSuccess(PaginatedOrganizationProductWebhooksSchema)\n .annotateContext(\n OpenApi.annotations({ summary: \"List configured webhooks for an organization product option\" }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\n \"createOrganizationProductWebhook\",\n \"/organization-products/:organizationProductOptionId/webhooks\",\n )\n .setPath(OrganizationProductOptionParams)\n .setPayload(CreateOrganizationProductWebhookSchema)\n .addSuccess(OrganizationProductWebhookUpsertResponseSchema, { status: 201 })\n .annotateContext(\n OpenApi.annotations({ summary: \"Create a webhook for an organization product option\" }),\n ),\n )\n .add(\n HttpApiEndpoint.get(\n \"getOrganizationProductWebhook\",\n \"/organization-products/:organizationProductOptionId/webhook\",\n )\n .setPath(OrganizationProductOptionParams)\n .addSuccess(Schema.Union(OrganizationProductWebhookSchema, Schema.Null))\n .annotateContext(\n OpenApi.annotations({\n summary: \"Legacy single-webhook lookup for an organization product option\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.put(\n \"upsertOrganizationProductWebhook\",\n \"/organization-products/:organizationProductOptionId/webhook\",\n )\n .setPath(OrganizationProductOptionParams)\n .setPayload(UpsertOrganizationProductWebhookSchema)\n .addSuccess(OrganizationProductWebhookUpsertResponseSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"Legacy single-webhook create-or-update helper for an organization product option\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.put(\n \"updateOrganizationProductWebhook\",\n \"/organization-product-webhooks/:organizationProductWebhookId\",\n )\n .setPath(OrganizationProductWebhookParams)\n .setPayload(UpdateOrganizationProductWebhookSchema)\n .addSuccess(OrganizationProductWebhookUpsertResponseSchema)\n .annotateContext(\n OpenApi.annotations({ summary: \"Update an organization product webhook\" }),\n ),\n )\n .add(\n HttpApiEndpoint.del(\n \"deleteOrganizationProductWebhook\",\n \"/organization-product-webhooks/:organizationProductWebhookId\",\n )\n .setPath(OrganizationProductWebhookParams)\n .addSuccess(OrganizationProductWebhookSchema)\n .annotateContext(\n OpenApi.annotations({ summary: \"Delete an organization product webhook\" }),\n ),\n )\n .add(\n HttpApiEndpoint.get(\"listOrganizations\", \"/organizations\")\n .setUrlParams(OrganizationsListUrlParamsSchema)\n .addSuccess(PaginatedOrganizationsSchema)\n .annotateContext(OpenApi.annotations({ summary: \"List organizations\" })),\n )\n .add(\n HttpApiEndpoint.post(\"createOrganization\", \"/organizations\")\n .setPayload(CreateOrganizationSchema)\n .addSuccess(OrganizationSchema, { status: 201 })\n .annotateContext(\n OpenApi.annotations({\n summary: \"Create an organization\",\n transform: organizationWriteExamplesTransform,\n }),\n ),\n )\n .add(\n HttpApiEndpoint.patch(\"updateOrganization\", \"/organizations/:organizationId\")\n .setPath(OrganizationParams)\n .setPayload(UpdateOrganizationSchema)\n .addSuccess(OrganizationSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"Update an organization\",\n transform: organizationUpdateExamplesTransform,\n }),\n ),\n )\n .add(\n HttpApiEndpoint.del(\"deleteOrganization\", \"/organizations/:organizationId\")\n .setPath(OrganizationParams)\n .setPayload(DeletePayloadSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"Archive an organization\",\n transform: deletePayloadExamplesTransform,\n }),\n ),\n )\n .add(\n HttpApiEndpoint.get(\n \"searchOrganizationPeopleByContact\",\n \"/organizations/:organizationId/people/contact-search\",\n )\n .setPath(OrganizationIdParams)\n .setUrlParams(OrganizationPeopleContactLookupUrlParamsSchema)\n .addSuccess(OrganizationPeopleContactLookupResponseSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"Search members and guests by exact email or mobile phone\",\n transform: peopleContactSearchExamplesTransform,\n }),\n ),\n );\n\nconst membersGroup = HttpApiGroup.make(\"members\")\n .add(\n HttpApiEndpoint.get(\"listOrganizationMembers\", \"/organizations/:organizationId/members\")\n .setPath(OrganizationIdParams)\n .setUrlParams(OrganizationMembersListUrlParamsSchema)\n .addSuccess(PaginatedOrganizationMembersResponseSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"List members for an organization\",\n transform: memberListExamplesTransform,\n }),\n ),\n )\n .add(\n HttpApiEndpoint.get(\"getOrganizationMember\", \"/organizations/:organizationId/members/:memberId\")\n .setPath(OrganizationMemberParams)\n .setUrlParams(MemberResponseModeUrlParamsSchema)\n .addSuccess(MemberResponseSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"Get a member for an organization\",\n transform: memberExamplesTransform,\n }),\n ),\n )\n .add(\n HttpApiEndpoint.get(\n \"getOrganizationMemberStatusCredits\",\n \"/organizations/:organizationId/members/:memberId/status-credits\",\n )\n .setPath(OrganizationMemberParams)\n .addSuccess(MemberStatusCreditsSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"Get a member's status credits\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\"bulkGetOrganizationMembers\", \"/organizations/:organizationId/members/bulk\")\n .setPath(OrganizationIdParams)\n .setPayload(BulkGetOrganizationMembersSchema)\n .addSuccess(BulkOrganizationMembersResponseUnionSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"Fetch up to 50 members by Spoke Hub member ID for an organization\",\n transform: bulkMemberExamplesTransform,\n }),\n ),\n )\n .add(\n HttpApiEndpoint.get(\n \"listOrganizationMemberRatingGrades\",\n \"/organizations/:organizationId/members/rating-grades\",\n )\n .setPath(OrganizationIdParams)\n .setUrlParams(OrganizationMemberRatingGradesListUrlParamsSchema)\n .addSuccess(PaginatedOrganizationMemberRatingGradesSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"List distinct rating grades for an organization\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.get(\n \"listOrganizationMemberMembershipTypes\",\n \"/organizations/:organizationId/members/membership-types\",\n )\n .setPath(OrganizationIdParams)\n .setUrlParams(OrganizationMemberMembershipTypesListUrlParamsSchema)\n .addSuccess(PaginatedOrganizationMemberMembershipTypesSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"List distinct membership types for an organization\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.get(\n \"listOrganizationMemberTitles\",\n \"/organizations/:organizationId/members/titles\",\n )\n .setPath(OrganizationIdParams)\n .setUrlParams(OrganizationMemberTitlesListUrlParamsSchema)\n .addSuccess(PaginatedOrganizationMemberTitlesSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"List distinct member titles for an organization\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.get(\n \"listOrganizationMemberGenders\",\n \"/organizations/:organizationId/members/genders\",\n )\n .setPath(OrganizationIdParams)\n .setUrlParams(OrganizationMemberGendersListUrlParamsSchema)\n .addSuccess(PaginatedOrganizationMemberGendersSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"List distinct member genders for an organization\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\"createOrganizationMember\", \"/organizations/:organizationId/members\")\n .setPath(OrganizationIdParams)\n .setPayload(CreateMemberSchema)\n .addSuccess(MemberSchema, { status: 201 })\n .annotateContext(\n OpenApi.annotations({\n summary: \"Create a member for an organization\",\n transform: createMemberExamplesTransform,\n }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\n \"requestSourceManagedMemberCreate\",\n \"/organizations/:organizationId/members/source-create\",\n )\n .setPath(OrganizationIdParams)\n .setPayload(RequestSourceManagedMemberCreateSchema)\n .addSuccess(OrganizationMemberSourceCommandSchema, { status: 202 })\n .annotateContext(\n OpenApi.annotations({\n summary: \"Request member creation via the configured upstream source\",\n transform: sourceManagedCreateExamplesTransform,\n }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\n \"requestSourceManagedMemberRenewal\",\n \"/organizations/:organizationId/members/:memberId/source-renewal\",\n )\n .setPath(OrganizationMemberParams)\n .setPayload(RequestSourceManagedMemberRenewalSchema)\n .addSuccess(OrganizationMemberSourceCommandSchema, { status: 202 })\n .annotateContext(\n OpenApi.annotations({\n summary: \"Request membership renewal via the configured upstream source\",\n transform: sourceManagedRenewalExamplesTransform,\n }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\n \"requestSourceManagedMemberUpdate\",\n \"/organizations/:organizationId/members/:memberId/source-update\",\n )\n .setPath(OrganizationMemberParams)\n .setPayload(RequestSourceManagedMemberUpdateSchema)\n .addSuccess(OrganizationMemberSourceCommandSchema, { status: 202 })\n .annotateContext(\n OpenApi.annotations({\n summary: \"Request member update via the configured upstream source\",\n transform: sourceManagedUpdateExamplesTransform,\n }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\n \"requestSourceManagedMemberLookupById\",\n \"/organizations/:organizationId/members/source-lookup/by-id/:externalSystemMemberId\",\n )\n .setPath(OrganizationSourceLookupByIdParams)\n .addSuccess(OrganizationMemberSourceCommandSchema, { status: 202 })\n .annotateContext(\n OpenApi.annotations({\n summary: \"Request upstream member lookup by source member identifier\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\n \"requestSourceManagedMemberLookupByBadgeNumber\",\n \"/organizations/:organizationId/members/source-lookup/by-badge/:badgeNumber\",\n )\n .setPath(OrganizationSourceLookupByBadgeParams)\n .addSuccess(OrganizationMemberSourceCommandSchema, { status: 202 })\n .annotateContext(\n OpenApi.annotations({\n summary: \"Request upstream member lookup by badge number\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\n \"requestSourceManagedMemberLookupByCardNumber\",\n \"/organizations/:organizationId/members/source-lookup/by-card/:cardNumber\",\n )\n .setPath(OrganizationSourceLookupByCardParams)\n .addSuccess(OrganizationMemberSourceCommandSchema, { status: 202 })\n .annotateContext(\n OpenApi.annotations({\n summary: \"Request upstream member lookup by card number\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.patch(\n \"updateOrganizationMember\",\n \"/organizations/:organizationId/members/:memberId\",\n )\n .setPath(OrganizationMemberParams)\n .setPayload(UpdateMemberSchema)\n .addSuccess(MemberSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"Update a member for an organization\",\n transform: updateMemberExamplesTransform,\n }),\n ),\n )\n .add(\n HttpApiEndpoint.patch(\n \"updateOrganizationMemberStatusCredits\",\n \"/organizations/:organizationId/members/:memberId/status-credits\",\n )\n .setPath(OrganizationMemberParams)\n .setPayload(UpdateMemberStatusCreditsSchema)\n .addSuccess(MemberStatusCreditsSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"Update a member's status credits\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.del(\n \"deleteOrganizationMember\",\n \"/organizations/:organizationId/members/:memberId\",\n )\n .setPath(OrganizationMemberParams)\n .setPayload(DeletePayloadSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"Archive a member for an organization\",\n transform: deletePayloadExamplesTransform,\n }),\n ),\n );\n\nconst memberPointsGroup = HttpApiGroup.make(\"memberPoints\")\n .add(\n HttpApiEndpoint.get(\"listOrganizationPointTypes\", \"/organizations/:organizationId/point-types\")\n .setPath(OrganizationIdParams)\n .addSuccess(OrganizationPointTypesResponseSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"List point types for an organization\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\"createOrganizationPointType\", \"/organizations/:organizationId/point-types\")\n .setPath(OrganizationIdParams)\n .setPayload(CreateOrganizationPointTypeSchema)\n .addSuccess(OrganizationPointTypeSchema, { status: 201 })\n .annotateContext(\n OpenApi.annotations({\n summary: \"Create a point type for an organization\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.patch(\n \"updateOrganizationPointType\",\n \"/organizations/:organizationId/point-types/:pointTypeId\",\n )\n .setPath(OrganizationPointTypeParams)\n .setPayload(UpdateOrganizationPointTypeSchema)\n .addSuccess(OrganizationPointTypeSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"Update a point type for an organization\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.get(\n \"listOrganizationMemberPointBalances\",\n \"/organizations/:organizationId/members/:memberId/points\",\n )\n .setPath(OrganizationMemberParams)\n .addSuccess(MemberPointBalancesResponseSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"List point balances for a member\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.put(\n \"upsertOrganizationMemberPointBalance\",\n \"/organizations/:organizationId/members/:memberId/points/:pointTypeId\",\n )\n .setPath(OrganizationMemberPointTypeParams)\n .setPayload(UpsertMemberPointBalanceSchema)\n .addSuccess(MemberPointBalanceSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"Create or update a member point balance\",\n }),\n ),\n );\n\nconst vouchersGroup = HttpApiGroup.make(\"vouchers\")\n .add(\n HttpApiEndpoint.get(\n \"getOrganizationVoucherProvider\",\n \"/organizations/:organizationId/voucher-provider\",\n )\n .setPath(OrganizationIdParams)\n .addSuccess(Schema.Union(OrganizationVoucherProviderSchema, Schema.Null))\n .annotateContext(\n OpenApi.annotations({ summary: \"Get the voucher provider for an organization\" }),\n ),\n )\n .add(\n HttpApiEndpoint.put(\n \"upsertOrganizationVoucherProvider\",\n \"/organizations/:organizationId/voucher-provider\",\n )\n .setPath(OrganizationIdParams)\n .setPayload(UpsertOrganizationVoucherProviderSchema)\n .addSuccess(OrganizationVoucherProviderSchema)\n .annotateContext(\n OpenApi.annotations({ summary: \"Create or update the voucher provider for an organization\" }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\"requestVoucherIssue\", \"/organizations/:organizationId/vouchers/issue\")\n .setPath(OrganizationIdParams)\n .setPayload(RequestVoucherIssueSchema)\n .addSuccess(OrganizationVoucherCommandSchema, { status: 202 })\n .annotateContext(\n OpenApi.annotations({ summary: \"Request a voucher issue through the onsite voucher client\" }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\n \"pollOnsiteVoucherCommand\",\n \"/organizations/:organizationId/onsite-voucher-commands/poll\",\n )\n .setPath(OrganizationIdParams)\n .addSuccess(Schema.Union(OnsiteVoucherCommandSchema, Schema.Null))\n .annotateContext(\n OpenApi.annotations({ summary: \"Poll for the next pending onsite voucher command\" }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\"pollCurrentOnsiteVoucherCommand\", \"/onsite-voucher-commands/poll\")\n .addSuccess(Schema.Union(OnsiteVoucherCommandSchema, Schema.Null))\n .annotateContext(\n OpenApi.annotations({\n summary: \"Poll for the next pending onsite voucher command for the signed credential\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\n \"completeOnsiteVoucherCommand\",\n \"/organizations/:organizationId/onsite-voucher-commands/:commandId/complete\",\n )\n .setPath(OrganizationVoucherCommandParams)\n .setPayload(CompleteOnsiteVoucherCommandSchema)\n .addSuccess(OrganizationVoucherCommandSchema)\n .annotateContext(\n OpenApi.annotations({ summary: \"Complete an onsite voucher command\" }),\n ),\n );\n\nconst onsiteCallsGroup = HttpApiGroup.make(\"onsiteCalls\").add(\n HttpApiEndpoint.post(\"callOnsiteResource\", \"/organizations/:organizationId/onsite-calls\")\n .setPath(OrganizationIdParams)\n .setPayload(OnsiteResourceCallRequestSchema)\n .addSuccess(OnsiteResourceCallResponseSchema)\n .annotateContext(\n OpenApi.annotations({\n summary:\n \"Call a live onsite member or voucher resource and wait briefly for completion\",\n }),\n ),\n);\n\nconst memberSourcesGroup = HttpApiGroup.make(\"memberSources\")\n .add(\n HttpApiEndpoint.get(\n \"getOrganizationMemberSource\",\n \"/organizations/:organizationId/member-source\",\n )\n .setPath(OrganizationIdParams)\n .addSuccess(Schema.Union(OrganizationMemberSourceSchema, Schema.Null))\n .annotateContext(\n OpenApi.annotations({ summary: \"Get the member source configuration for an organization\" }),\n ),\n )\n .add(\n HttpApiEndpoint.put(\n \"upsertOrganizationMemberSource\",\n \"/organizations/:organizationId/member-source\",\n )\n .setPath(OrganizationIdParams)\n .setPayload(UpsertOrganizationMemberSourceSchema)\n .addSuccess(OrganizationMemberSourceSchema)\n .annotateContext(\n OpenApi.annotations({ summary: \"Create or update the member source for an organization\" }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\n \"bootstrapOrganizationMemberSourceAgent\",\n \"/organizations/:organizationId/member-source/agent/bootstrap\",\n )\n .setPath(OrganizationIdParams)\n .setPayload(BootstrapOrganizationMemberSourceAgentSchema)\n .addSuccess(BootstrapOrganizationMemberSourceAgentResponseSchema, { status: 201 })\n .annotateContext(\n OpenApi.annotations({\n summary: \"Create or rotate onsite agent credentials for an organization member source\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.get(\n \"getOrganizationMemberSourceCsvUploadReadiness\",\n \"/organizations/:organizationId/member-source/csv-upload-readiness\",\n )\n .setPath(OrganizationIdParams)\n .addSuccess(CsvUploadReadinessSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"Check whether CSV uploads are enabled and whether a mapping exists\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.get(\n \"getOrganizationMemberSourceWebhook\",\n \"/organizations/:organizationId/member-source/webhook\",\n )\n .setPath(OrganizationIdParams)\n .addSuccess(Schema.Union(OrganizationMemberSourceWebhookSchema, Schema.Null))\n .annotateContext(\n OpenApi.annotations({\n summary: \"Get the configured member-source webhook for an organization\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.put(\n \"upsertOrganizationMemberSourceWebhook\",\n \"/organizations/:organizationId/member-source/webhook\",\n )\n .setPath(OrganizationIdParams)\n .setPayload(UpsertOrganizationMemberSourceWebhookSchema)\n .addSuccess(OrganizationMemberSourceWebhookUpsertResponseSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"Create or update the member-source webhook for an organization\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.get(\n \"getOrganizationMemberSourceCsvMapping\",\n \"/organizations/:organizationId/member-source/csv-mapping\",\n )\n .setPath(OrganizationIdParams)\n .addSuccess(Schema.Union(OrganizationMemberSourceCsvMappingSchema, Schema.Null))\n .annotateContext(\n OpenApi.annotations({\n summary: \"Get the current CSV mapping for an organization member source\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.put(\n \"upsertOrganizationMemberSourceCsvMapping\",\n \"/organizations/:organizationId/member-source/csv-mapping\",\n )\n .setPath(OrganizationIdParams)\n .setPayload(UpsertOrganizationMemberSourceCsvMappingSchema)\n .addSuccess(OrganizationMemberSourceCsvMappingSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"Create or update the CSV mapping for an organization member source\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\n \"createOrganizationMemberSourceCsvUpload\",\n \"/organizations/:organizationId/member-source/csv-uploads\",\n )\n .setPath(OrganizationIdParams)\n .setPayload(CreateOrganizationMemberSourceCsvUploadSchema)\n .addSuccess(CreateOrganizationMemberSourceCsvUploadResponseSchema, { status: 201 })\n .annotateContext(\n OpenApi.annotations({\n summary:\n \"Create a tracked CSV import session using a saved mapping id and return a presigned POST\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.get(\n \"listOrganizationMemberSyncRuns\",\n \"/organizations/:organizationId/member-source/runs\",\n )\n .setPath(OrganizationIdParams)\n .setUrlParams(OrganizationMemberSyncRunsListUrlParamsSchema)\n .addSuccess(PaginatedOrganizationMemberSyncRunsSchema)\n .annotateContext(\n OpenApi.annotations({ summary: \"List sync runs for an organization member source\" }),\n ),\n )\n .add(\n HttpApiEndpoint.get(\n \"getLatestOrganizationMemberSourceCsvUploadRun\",\n \"/organizations/:organizationId/member-source/csv-uploads/latest-run\",\n )\n .setPath(OrganizationIdParams)\n .addSuccess(Schema.Union(OrganizationMemberSyncRunSchema, Schema.Null))\n .annotateContext(\n OpenApi.annotations({\n summary: \"Get the latest sync run created from a tracked CSV upload for an organization\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.get(\n \"listOrganizationMemberSourceCommands\",\n \"/organizations/:organizationId/member-source/commands\",\n )\n .setPath(OrganizationIdParams)\n .setUrlParams(OrganizationMemberSourceCommandsListUrlParamsSchema)\n .addSuccess(PaginatedOrganizationMemberSourceCommandsSchema)\n .annotateContext(\n OpenApi.annotations({ summary: \"List member-source write commands for an organization\" }),\n ),\n )\n .add(\n HttpApiEndpoint.get(\n \"getOrganizationMemberSourceCommand\",\n \"/organizations/:organizationId/member-source/commands/:commandId\",\n )\n .setPath(OrganizationMemberSourceCommandParams)\n .addSuccess(OrganizationMemberSourceCommandSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"Get a specific member-source command for an organization\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\n \"triggerOrganizationMemberSync\",\n \"/organizations/:organizationId/member-source/sync\",\n )\n .setPath(OrganizationIdParams)\n .setPayload(TriggerOrganizationMemberSyncSchema)\n .addSuccess(OrganizationMemberSyncRunSchema, { status: 202 })\n .annotateContext(\n OpenApi.annotations({ summary: \"Trigger a member sync for an organization\" }),\n ),\n );\n\nconst onsiteAgentsGroup = HttpApiGroup.make(\"onsiteAgents\")\n .add(\n HttpApiEndpoint.post(\"heartbeatOnsiteAgent\", \"/onsite-agent/heartbeat\")\n .setPayload(OnsiteAgentHeartbeatSchema)\n .addSuccess(OnsiteAgentHeartbeatResponseSchema)\n .annotateContext(\n OpenApi.annotations({ summary: \"Record onsite agent heartbeat and metadata\" }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\"ingestOnsiteAgentLiveFbiBatch\", \"/onsite-agent/live-feed/fbi\")\n .setPayload(OnsiteAgentIngestLiveFbiBatchSchema)\n .addSuccess(OrganizationMemberSyncRunSchema, { status: 202 })\n .annotateContext(\n OpenApi.annotations({\n summary: \"Submit a debounced MAX FBI live-feed batch for immediate processing\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\"pollOnsiteAgentCommand\", \"/onsite-agent/commands/poll\")\n .addSuccess(Schema.Union(OnsiteAgentCommandSchema, Schema.Null))\n .annotateContext(\n OpenApi.annotations({ summary: \"Poll for the next pending onsite sync command\" }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\"pollOnsiteAgentMemberCreateCommand\", \"/onsite-agent/member-commands/poll\")\n .addSuccess(Schema.Union(OnsiteAgentMemberCreateCommandSchema, Schema.Null))\n .annotateContext(\n OpenApi.annotations({ summary: \"Poll for the next pending onsite member-create command\" }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\n \"pollOnsiteAgentMemberUpdateCommand\",\n \"/onsite-agent/member-update-commands/poll\",\n )\n .addSuccess(Schema.Union(OnsiteAgentMemberUpdateCommandSchema, Schema.Null))\n .annotateContext(\n OpenApi.annotations({\n summary: \"Poll for the next pending onsite member-update command\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\n \"pollOnsiteAgentMemberRenewalCommand\",\n \"/onsite-agent/member-renewal-commands/poll\",\n )\n .addSuccess(Schema.Union(OnsiteAgentMemberRenewalCommandSchema, Schema.Null))\n .annotateContext(\n OpenApi.annotations({\n summary: \"Poll for the next pending onsite member-renewal command\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\n \"pollOnsiteAgentMemberLookupCommand\",\n \"/onsite-agent/member-lookup-commands/poll\",\n )\n .addSuccess(Schema.Union(OnsiteAgentMemberLookupCommandSchema, Schema.Null))\n .annotateContext(\n OpenApi.annotations({\n summary: \"Poll for the next pending onsite member-lookup command\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\"completeOnsiteAgentRun\", \"/onsite-agent/runs/:runId/complete\")\n .setPath(OrganizationMemberSyncRunParams)\n .setPayload(OnsiteAgentCompleteRunSchema)\n .addSuccess(OrganizationMemberSyncRunSchema)\n .annotateContext(\n OpenApi.annotations({ summary: \"Submit onsite agent sync results for a claimed run\" }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\n \"completeOnsiteAgentMemberCreate\",\n \"/onsite-agent/member-commands/:commandId/complete\",\n )\n .setPath(\n Schema.Struct({\n commandId: HttpApiSchema.param(\"commandId\", Schema.String),\n }),\n )\n .setPayload(OnsiteAgentCompleteMemberCreateSchema)\n .addSuccess(OrganizationMemberSourceCommandSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"Submit onsite agent member-create results for a claimed command\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\n \"completeOnsiteAgentMemberUpdate\",\n \"/onsite-agent/member-update-commands/:commandId/complete\",\n )\n .setPath(\n Schema.Struct({\n commandId: HttpApiSchema.param(\"commandId\", Schema.String),\n }),\n )\n .setPayload(OnsiteAgentCompleteMemberUpdateSchema)\n .addSuccess(OrganizationMemberSourceCommandSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"Submit onsite agent member-update results for a claimed command\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\n \"completeOnsiteAgentMemberLookup\",\n \"/onsite-agent/member-lookup-commands/:commandId/complete\",\n )\n .setPath(\n Schema.Struct({\n commandId: HttpApiSchema.param(\"commandId\", Schema.String),\n }),\n )\n .setPayload(OnsiteAgentCompleteMemberLookupSchema)\n .addSuccess(OrganizationMemberSourceCommandSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"Submit onsite agent member-lookup results for a claimed command\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\n \"completeOnsiteAgentMemberRenewal\",\n \"/onsite-agent/member-renewal-commands/:commandId/complete\",\n )\n .setPath(\n Schema.Struct({\n commandId: HttpApiSchema.param(\"commandId\", Schema.String),\n }),\n )\n .setPayload(OnsiteAgentCompleteMemberRenewalSchema)\n .addSuccess(OrganizationMemberSourceCommandSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"Submit onsite agent member-renewal results for a claimed command\",\n }),\n ),\n );\n\nconst guestsGroup = HttpApiGroup.make(\"guests\")\n .add(\n HttpApiEndpoint.get(\"listGuests\", \"/organizations/:organizationId/guests\")\n .setPath(OrganizationIdParams)\n .setUrlParams(GuestsListUrlParamsSchema)\n .addSuccess(PaginatedGuestsSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"List guests for an organization\",\n transform: guestListExamplesTransform,\n }),\n ),\n )\n .add(\n HttpApiEndpoint.get(\"getGuest\", \"/organizations/:organizationId/guests/:guestId\")\n .setPath(OrganizationGuestParams)\n .addSuccess(GuestSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"Get a guest\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.post(\"createGuest\", \"/organizations/:organizationId/guests\")\n .setPath(OrganizationIdParams)\n .setPayload(CreateGuestSchema)\n .addSuccess(GuestSchema, { status: 201 })\n .annotateContext(\n OpenApi.annotations({\n summary: \"Create a guest\",\n transform: createGuestExamplesTransform,\n }),\n ),\n )\n .add(\n HttpApiEndpoint.patch(\"updateGuest\", \"/organizations/:organizationId/guests/:guestId\")\n .setPath(OrganizationGuestParams)\n .setPayload(UpdateGuestSchema)\n .addSuccess(GuestSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"Update a guest\",\n transform: updateGuestExamplesTransform,\n }),\n ),\n )\n .add(\n HttpApiEndpoint.del(\"deleteGuest\", \"/organizations/:organizationId/guests/:guestId\")\n .setPath(OrganizationGuestParams)\n .setPayload(DeletePayloadSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"Archive a guest\",\n transform: deletePayloadExamplesTransform,\n }),\n ),\n );\n\nconst serviceClientsGroup = HttpApiGroup.make(\"serviceClients\")\n .add(\n HttpApiEndpoint.get(\"listServiceClients\", \"/service-clients\")\n .setUrlParams(ServiceClientsListUrlParamsSchema)\n .addSuccess(PaginatedServiceClientsSchema)\n .annotateContext(OpenApi.annotations({ summary: \"List service clients\" })),\n )\n .add(\n HttpApiEndpoint.post(\"createServiceClient\", \"/service-clients\")\n .setPayload(CreateServiceClientSchema)\n .addSuccess(\n Schema.Struct({\n client: ServiceClientSchema,\n privateKey: IssuedPrivateKeySchema,\n }),\n { status: 201 },\n )\n .annotateContext(\n OpenApi.annotations({ summary: \"Create a service client and initial Ed25519 keypair\" }),\n ),\n )\n .add(\n HttpApiEndpoint.patch(\"updateServiceClient\", \"/service-clients/:serviceClientId\")\n .setPath(ServiceClientParams)\n .setPayload(UpdateServiceClientSchema)\n .addSuccess(\n Schema.Struct({\n client: ServiceClientSchema,\n privateKey: Schema.optional(IssuedPrivateKeySchema),\n }),\n )\n .annotateContext(\n OpenApi.annotations({\n summary: \"Update a service client and optionally rotate its Ed25519 keypair\",\n }),\n ),\n )\n .add(\n HttpApiEndpoint.del(\"deleteServiceClient\", \"/service-clients/:serviceClientId\")\n .setPath(ServiceClientParams)\n .setPayload(DeleteServiceClientSchema)\n .annotateContext(\n OpenApi.annotations({\n summary: \"Archive a service client\",\n }),\n ),\n );\n\nexport const HubApi = HttpApi.make(\"hub\")\n .add(authGroup)\n .add(organizationsGroup)\n .add(membersGroup)\n .add(memberPointsGroup)\n .add(vouchersGroup)\n .add(onsiteCallsGroup)\n .add(memberSourcesGroup)\n .add(onsiteAgentsGroup)\n .add(guestsGroup)\n .add(serviceClientsGroup)\n .prefix(\"/v1\")\n .addError(UnauthorizedErrorSchema)\n .addError(ForbiddenErrorSchema)\n .addError(NotFoundErrorSchema)\n .addError(ConflictErrorSchema)\n .addError(BadRequestErrorSchema)\n .annotateContext(\n OpenApi.annotations({\n title: \"Spoke Hub API\",\n version: \"1.0.0\",\n description:\n \"Version 1 of the Spoke Hub API for managing organizations, members, guests, credentials, and venue member-source integrations.\",\n servers: [{ url: \"/api/v1\" }],\n transform: bearerDocsTransform,\n }),\n );\n\nexport type Organization = Schema.Schema.Type<typeof OrganizationSchema>;\nexport type Member = Schema.Schema.Type<typeof MemberSchema>;\nexport type MemberResponseMode = Schema.Schema.Type<typeof MemberResponseModeSchema>;\nexport type MemberMed = Schema.Schema.Type<typeof MemberMedSchema>;\nexport type MemberBasic = Schema.Schema.Type<typeof MemberBasicSchema>;\nexport type MemberFullResponse = Schema.Schema.Type<typeof MemberFullResponseSchema>;\nexport type MemberMedResponse = Schema.Schema.Type<typeof MemberMedResponseSchema>;\nexport type MemberBasicResponse = Schema.Schema.Type<typeof MemberBasicResponseSchema>;\nexport type MemberResponse = Schema.Schema.Type<typeof MemberResponseSchema>;\nexport type MemberStatusCredits = Schema.Schema.Type<typeof MemberStatusCreditsSchema>;\nexport type OrganizationPointType = Schema.Schema.Type<typeof OrganizationPointTypeSchema>;\nexport type OrganizationPointTypesResponse = Schema.Schema.Type<\n typeof OrganizationPointTypesResponseSchema\n>;\nexport type CreateOrganizationPointTypeInput = Schema.Schema.Type<\n typeof CreateOrganizationPointTypeSchema\n>;\nexport type UpdateOrganizationPointTypeInput = Schema.Schema.Type<\n typeof UpdateOrganizationPointTypeSchema\n>;\nexport type MemberPointBalance = Schema.Schema.Type<typeof MemberPointBalanceSchema>;\nexport type MemberPointBalancesResponse = Schema.Schema.Type<\n typeof MemberPointBalancesResponseSchema\n>;\nexport type UpsertMemberPointBalanceInput = Schema.Schema.Type<\n typeof UpsertMemberPointBalanceSchema\n>;\nexport type BulkGetOrganizationMembersInput = Schema.Schema.Type<\n typeof BulkGetOrganizationMembersSchema\n>;\nexport type BulkOrganizationMembersResponse = Schema.Schema.Type<\n typeof BulkOrganizationMembersResponseSchema\n>;\nexport type BulkOrganizationMembersMedResponse = Schema.Schema.Type<\n typeof BulkOrganizationMembersMedResponseSchema\n>;\nexport type BulkOrganizationMembersBasicResponse = Schema.Schema.Type<\n typeof BulkOrganizationMembersBasicResponseSchema\n>;\nexport type BulkOrganizationMembersResponseUnion = Schema.Schema.Type<\n typeof BulkOrganizationMembersResponseUnionSchema\n>;\nexport type OrganizationMembersSearchField = Schema.Schema.Type<\n typeof OrganizationMembersSearchFieldSchema\n>;\nexport type OrganizationMembersSortField = Schema.Schema.Type<\n typeof OrganizationMembersSortFieldSchema\n>;\nexport type OrganizationMembersStatusFilter = Schema.Schema.Type<\n typeof OrganizationMembersStatusFilterSchema\n>;\nexport type SortDirection = Schema.Schema.Type<typeof SortDirectionSchema>;\nexport type PaginatedOrganizationMembers = Schema.Schema.Type<\n typeof PaginatedOrganizationMembersSchema\n>;\nexport type PaginatedOrganizationMembersMed = Schema.Schema.Type<\n typeof PaginatedOrganizationMembersMedSchema\n>;\nexport type PaginatedOrganizationMembersBasic = Schema.Schema.Type<\n typeof PaginatedOrganizationMembersBasicSchema\n>;\nexport type OrganizationMembersListResponse =\n | PaginatedOrganizationMembers\n | PaginatedOrganizationMembersMed\n | PaginatedOrganizationMembersBasic;\nexport type PaginatedOrganizations = Schema.Schema.Type<typeof PaginatedOrganizationsSchema>;\nexport type OrganizationProductOption = Schema.Schema.Type<typeof OrganizationProductOptionSchema>;\nexport type OrganizationProductWebhook = Schema.Schema.Type<\n typeof OrganizationProductWebhookSchema\n>;\nexport type OrganizationMemberRatingGrade = Schema.Schema.Type<\n typeof OrganizationMemberRatingGradeSchema\n>;\nexport type PaginatedOrganizationMemberRatingGrades = Schema.Schema.Type<\n typeof PaginatedOrganizationMemberRatingGradesSchema\n>;\nexport type OrganizationMemberMembershipType = Schema.Schema.Type<\n typeof OrganizationMemberMembershipTypeSchema\n>;\nexport type PaginatedOrganizationMemberMembershipTypes = Schema.Schema.Type<\n typeof PaginatedOrganizationMemberMembershipTypesSchema\n>;\nexport type OrganizationMemberTitle = Schema.Schema.Type<typeof OrganizationMemberTitleSchema>;\nexport type PaginatedOrganizationMemberTitles = Schema.Schema.Type<\n typeof PaginatedOrganizationMemberTitlesSchema\n>;\nexport type OrganizationMemberGender = Schema.Schema.Type<typeof OrganizationMemberGenderSchema>;\nexport type PaginatedOrganizationMemberGenders = Schema.Schema.Type<\n typeof PaginatedOrganizationMemberGendersSchema\n>;\nexport type Guest = Schema.Schema.Type<typeof GuestSchema>;\nexport type PaginatedGuests = Schema.Schema.Type<typeof PaginatedGuestsSchema>;\nexport type MemberContactMatch = Schema.Schema.Type<typeof MemberContactMatchSchema>;\nexport type GuestContactMatch = Schema.Schema.Type<typeof GuestContactMatchSchema>;\nexport type OrganizationPeopleContactLookupResponse = Schema.Schema.Type<\n typeof OrganizationPeopleContactLookupResponseSchema\n>;\nexport type ServiceClient = Schema.Schema.Type<typeof ServiceClientSchema>;\nexport type PaginatedServiceClients = Schema.Schema.Type<typeof PaginatedServiceClientsSchema>;\nexport type OrganizationMemberSource = Schema.Schema.Type<typeof OrganizationMemberSourceSchema>;\nexport type OrganizationMemberSourceWebhook = Schema.Schema.Type<\n typeof OrganizationMemberSourceWebhookSchema\n>;\nexport type OrganizationMemberSourceAgent = Schema.Schema.Type<\n typeof OrganizationMemberSourceAgentSchema\n>;\nexport type OrganizationMemberSourceCsvMapping = Schema.Schema.Type<\n typeof OrganizationMemberSourceCsvMappingSchema\n>;\nexport type CsvUploadReadiness = Schema.Schema.Type<typeof CsvUploadReadinessSchema>;\nexport type OrganizationMemberSourceCsvImport = Schema.Schema.Type<\n typeof OrganizationMemberSourceCsvImportSchema\n>;\nexport type OrganizationMemberSyncRun = Schema.Schema.Type<typeof OrganizationMemberSyncRunSchema>;\nexport type PaginatedOrganizationMemberSyncRuns = Schema.Schema.Type<\n typeof PaginatedOrganizationMemberSyncRunsSchema\n>;\nexport type PaginatedOrganizationProductOptions = Schema.Schema.Type<\n typeof PaginatedOrganizationProductOptionsSchema\n>;\nexport type PaginatedOrganizationProductWebhooks = Schema.Schema.Type<\n typeof PaginatedOrganizationProductWebhooksSchema\n>;\nexport type OrganizationMemberSyncRunError = Schema.Schema.Type<\n typeof OrganizationMemberSyncRunErrorSchema\n>;\nexport type OrganizationMemberSourceCommand = Schema.Schema.Type<\n typeof OrganizationMemberSourceCommandSchema\n>;\nexport type PaginatedOrganizationMemberSourceCommands = Schema.Schema.Type<\n typeof PaginatedOrganizationMemberSourceCommandsSchema\n>;\nexport type BootstrapOrganizationMemberSourceAgentInput = Schema.Schema.Type<\n typeof BootstrapOrganizationMemberSourceAgentSchema\n>;\nexport type BootstrapOrganizationMemberSourceAgentResponse = Schema.Schema.Type<\n typeof BootstrapOrganizationMemberSourceAgentResponseSchema\n>;\nexport type AdminSession = Schema.Schema.Type<typeof AdminSessionSchema>;\nexport type CreateOrganizationInput = Schema.Schema.Type<typeof CreateOrganizationSchema>;\nexport type UpdateOrganizationInput = Schema.Schema.Type<typeof UpdateOrganizationSchema>;\nexport type CreateOrganizationProductOptionInput = Schema.Schema.Type<\n typeof CreateOrganizationProductOptionSchema\n>;\nexport type CreateOrganizationProductWebhookInput = Schema.Schema.Type<\n typeof CreateOrganizationProductWebhookSchema\n>;\nexport type UpsertOrganizationProductWebhookInput = Schema.Schema.Type<\n typeof UpsertOrganizationProductWebhookSchema\n>;\nexport type UpdateOrganizationProductWebhookInput = Schema.Schema.Type<\n typeof UpdateOrganizationProductWebhookSchema\n>;\nexport type OrganizationProductWebhookUpsertResponse = Schema.Schema.Type<\n typeof OrganizationProductWebhookUpsertResponseSchema\n>;\nexport type OrganizationVoucherProvider = Schema.Schema.Type<\n typeof OrganizationVoucherProviderSchema\n>;\nexport type OrganizationVoucherCommand = Schema.Schema.Type<typeof OrganizationVoucherCommandSchema>;\nexport type UpsertOrganizationVoucherProviderInput = Schema.Schema.Type<\n typeof UpsertOrganizationVoucherProviderSchema\n>;\nexport type RequestVoucherIssueInput = Schema.Schema.Type<typeof RequestVoucherIssueSchema>;\nexport type OnsiteVoucherCommand = Schema.Schema.Type<typeof OnsiteVoucherCommandSchema>;\nexport type CompleteOnsiteVoucherCommandInput = Schema.Schema.Type<\n typeof CompleteOnsiteVoucherCommandSchema\n>;\nexport type OnsiteResourceCallRequest = Schema.Schema.Type<\n typeof OnsiteResourceCallRequestSchema\n>;\nexport type OnsiteResourceMemberCallResponse = Schema.Schema.Type<\n typeof OnsiteResourceMemberCallResponseSchema\n>;\nexport type OnsiteResourceVoucherCallResponse = Schema.Schema.Type<\n typeof OnsiteResourceVoucherCallResponseSchema\n>;\nexport type OnsiteResourceCallResponse = Schema.Schema.Type<\n typeof OnsiteResourceCallResponseSchema\n>;\nexport type CreateMemberInput = Schema.Schema.Type<typeof CreateMemberSchema>;\nexport type RequestSourceManagedMemberUpdateInput = Schema.Schema.Type<\n typeof RequestSourceManagedMemberUpdateSchema\n>;\nexport type RequestSourceManagedMemberCreateInput = Schema.Schema.Type<\n typeof RequestSourceManagedMemberCreateSchema\n>;\nexport type RequestSourceManagedMemberRenewalInput = Schema.Schema.Type<\n typeof RequestSourceManagedMemberRenewalSchema\n>;\nexport type SourceManagedMemberLookupBy = Schema.Schema.Type<\n typeof SourceManagedMemberLookupBySchema\n>;\nexport type SourceManagedMemberLookupCommandPayload = Schema.Schema.Type<\n typeof SourceManagedMemberLookupCommandPayloadSchema\n>;\nexport type SourceManagedMemberRenewalCommandPayload = Schema.Schema.Type<\n typeof SourceManagedMemberRenewalCommandPayloadSchema\n>;\nexport type UpsertOrganizationMemberSourceCsvMappingInput = Schema.Schema.Type<\n typeof UpsertOrganizationMemberSourceCsvMappingSchema\n>;\nexport type CreateOrganizationMemberSourceCsvUploadInput = Schema.Schema.Type<\n typeof CreateOrganizationMemberSourceCsvUploadSchema\n>;\nexport type CreateOrganizationMemberSourceCsvUploadResponse = Schema.Schema.Type<\n typeof CreateOrganizationMemberSourceCsvUploadResponseSchema\n>;\nexport type UpdateMemberInput = Schema.Schema.Type<typeof UpdateMemberSchema>;\nexport type UpdateMemberStatusCreditsInput = Schema.Schema.Type<\n typeof UpdateMemberStatusCreditsSchema\n>;\nexport type CreateGuestInput = Schema.Schema.Type<typeof CreateGuestSchema>;\nexport type UpdateGuestInput = Schema.Schema.Type<typeof UpdateGuestSchema>;\nexport type CreateServiceClientInput = Schema.Schema.Type<typeof CreateServiceClientSchema>;\nexport type UpdateServiceClientInput = Schema.Schema.Type<typeof UpdateServiceClientSchema>;\nexport type DeleteServiceClientInput = Schema.Schema.Type<typeof DeleteServiceClientSchema>;\nexport type UpsertOrganizationMemberSourceInput = Schema.Schema.Type<\n typeof UpsertOrganizationMemberSourceSchema\n>;\nexport type UpsertOrganizationMemberSourceWebhookInput = Schema.Schema.Type<\n typeof UpsertOrganizationMemberSourceWebhookSchema\n>;\nexport type OrganizationMemberSourceWebhookUpsertResponse = Schema.Schema.Type<\n typeof OrganizationMemberSourceWebhookUpsertResponseSchema\n>;\nexport type TriggerOrganizationMemberSyncInput = Schema.Schema.Type<\n typeof TriggerOrganizationMemberSyncSchema\n>;\nexport type ImportedMemberRecord = Schema.Schema.Type<typeof ImportedMemberRecordSchema>;\nexport type OnsiteAgentCsvUploadTarget = Schema.Schema.Type<\n typeof OnsiteAgentCsvUploadTargetSchema\n>;\nexport type OnsiteAgentCommand = Schema.Schema.Type<typeof OnsiteAgentCommandSchema>;\nexport type OnsiteAgentMemberCreateCommand = Schema.Schema.Type<\n typeof OnsiteAgentMemberCreateCommandSchema\n>;\nexport type OnsiteAgentMemberUpdateCommand = Schema.Schema.Type<\n typeof OnsiteAgentMemberUpdateCommandSchema\n>;\nexport type OnsiteAgentMemberRenewalCommand = Schema.Schema.Type<\n typeof OnsiteAgentMemberRenewalCommandSchema\n>;\nexport type OnsiteAgentMemberLookupCommand = Schema.Schema.Type<\n typeof OnsiteAgentMemberLookupCommandSchema\n>;\nexport type OnsiteAgentHeartbeatInput = Schema.Schema.Type<typeof OnsiteAgentHeartbeatSchema>;\nexport type OnsiteAgentHeartbeatResponse = Schema.Schema.Type<\n typeof OnsiteAgentHeartbeatResponseSchema\n>;\nexport type OnsiteAgentIngestLiveFbiBatchInput = Schema.Schema.Type<\n typeof OnsiteAgentIngestLiveFbiBatchSchema\n>;\nexport type OnsiteAgentCompleteRunInput = Schema.Schema.Type<typeof OnsiteAgentCompleteRunSchema>;\nexport type OnsiteAgentCompleteMemberCreateInput = Schema.Schema.Type<\n typeof OnsiteAgentCompleteMemberCreateSchema\n>;\nexport type OnsiteAgentCompleteMemberUpdateInput = Schema.Schema.Type<\n typeof OnsiteAgentCompleteMemberUpdateSchema\n>;\nexport type OnsiteAgentCompleteMemberRenewalInput = Schema.Schema.Type<\n typeof OnsiteAgentCompleteMemberRenewalSchema\n>;\nexport type OnsiteAgentCompleteMemberLookupInput = Schema.Schema.Type<\n typeof OnsiteAgentCompleteMemberLookupSchema\n>;\nexport type DeletePayload = Schema.Schema.Type<typeof DeletePayloadSchema>;\n","export const organizationStatuses = [\"active\", \"archived\"] as const;\nexport const memberStatuses = [\"active\", \"archived\"] as const;\nexport const memberComputedStatuses = [\"active\", \"suspended\", \"expired\", \"archived\"] as const;\nexport const memberRecordModes = [\"local\", \"source_managed\"] as const;\nexport const memberPreferredContactMethods = [\"sms\", \"email\"] as const;\nexport const memberCreatedOrigins = [\n \"hub_admin\",\n \"service_api\",\n \"source_sync\",\n \"source_create\",\n] as const;\nexport const guestStatuses = [\"active\", \"checked_out\", \"archived\"] as const;\nexport const adminRoles = [\"platform_admin\", \"org_admin\", \"auditor\"] as const;\nexport const organizationMemberSourceVendors = [\n \"max_gaming\",\n \"odyssey_gaming\",\n \"custom\",\n] as const;\nexport const organizationMemberSourceBatchTransports = [\"onsite_agent\"] as const;\nexport const organizationMemberSourceManualTransports = [\"csv_bucket\"] as const;\nexport const organizationMemberSourceLiveTransports = [\"fbi\"] as const;\nexport const organizationMemberSourceStatuses = [\"active\", \"paused\", \"disabled\"] as const;\nexport const organizationMemberSourceAgentStatuses = [\n \"active\",\n \"paused\",\n \"disabled\",\n] as const;\nexport const organizationMemberSourceWebhookStatuses = [\"active\", \"disabled\"] as const;\nexport const organizationMemberSourceWebhookDeliveryStatuses = [\"success\", \"failure\"] as const;\nexport const organizationProductWebhookStatuses = [\"active\", \"disabled\"] as const;\nexport const organizationProductWebhookDeliveryStatuses = [\"success\", \"failure\"] as const;\nexport const organizationVoucherProviderProviders = [\"senpos\"] as const;\nexport const organizationVoucherProviderTransports = [\"onsite_client\"] as const;\nexport const organizationVoucherProviderStatuses = [\"active\", \"disabled\"] as const;\nexport const organizationVoucherCommandKinds = [\"issue_voucher\"] as const;\nexport const organizationVoucherCommandStatuses = [\n \"requested\",\n \"accepted\",\n \"completed\",\n \"failed\",\n] as const;\nexport const organizationPointTypeStatuses = [\"active\", \"archived\"] as const;\nexport const organizationMemberSyncTriggerKinds = [\n \"manual\",\n \"scheduled\",\n \"bucket\",\n \"live_feed\",\n] as const;\nexport const organizationMemberSyncModes = [\"full_snapshot\", \"delta\"] as const;\nexport const organizationMemberSyncRunStatuses = [\n \"pending\",\n \"running\",\n \"success\",\n \"partial_failure\",\n \"failure\",\n] as const;\nexport const organizationMemberSyncTransports = [\n \"csv_bucket\",\n \"onsite_agent\",\n \"live_feed\",\n] as const;\nexport const organizationMemberSourceCommandKinds = [\n \"create_member\",\n \"update_member\",\n \"renew_member\",\n \"lookup_member\",\n] as const;\nexport const organizationMemberSourceCommandStatuses = [\n \"requested\",\n \"accepted\",\n \"completed\",\n \"failed\",\n] as const;\nexport const organizationMemberSourceCsvImportStatuses = [\n \"requested\",\n \"uploaded\",\n \"processing\",\n \"completed\",\n \"failed\",\n] as const;\n","import * as HttpApiSchema from \"@effect/platform/HttpApiSchema\";\nimport * as Schema from \"effect/Schema\";\n\nconst makeErrorSchema = <TCode extends string>(code: TCode, status: number) =>\n Schema.Struct({\n code: Schema.Literal(code),\n message: Schema.String,\n }).annotations(HttpApiSchema.annotations({ status }));\n\nexport const UnauthorizedErrorSchema = makeErrorSchema(\"unauthorized\", 401);\nexport const ForbiddenErrorSchema = makeErrorSchema(\"forbidden\", 403);\nexport const NotFoundErrorSchema = makeErrorSchema(\"not_found\", 404);\nexport const ConflictErrorSchema = makeErrorSchema(\"conflict\", 409);\nexport const BadRequestErrorSchema = makeErrorSchema(\"bad_request\", 400);\n\nexport type UnauthorizedError = Schema.Schema.Type<typeof UnauthorizedErrorSchema>;\nexport type ForbiddenError = Schema.Schema.Type<typeof ForbiddenErrorSchema>;\nexport type NotFoundError = Schema.Schema.Type<typeof NotFoundErrorSchema>;\nexport type ConflictError = Schema.Schema.Type<typeof ConflictErrorSchema>;\nexport type BadRequestError = Schema.Schema.Type<typeof BadRequestErrorSchema>;\n\nexport function makeUnauthorized(message = \"Authentication required\"): UnauthorizedError {\n return { code: \"unauthorized\", message };\n}\n\nexport function makeForbidden(message = \"You do not have permission to perform this action\"): ForbiddenError {\n return { code: \"forbidden\", message };\n}\n\nexport function makeNotFound(message = \"Resource not found\"): NotFoundError {\n return { code: \"not_found\", message };\n}\n\nexport function makeConflict(message: string): ConflictError {\n return { code: \"conflict\", message };\n}\n\nexport function makeBadRequest(message: string): BadRequestError {\n return { code: \"bad_request\", message };\n}\n","import {\n makePromiseServiceHubApiClient,\n type HubApiCredentialOptions,\n type PromiseHubApiClient,\n} from \"./client.js\";\nimport type {\n OnsiteResourceCallRequest,\n OnsiteResourceCallResponse,\n RequestSourceManagedMemberCreateInput,\n RequestSourceManagedMemberRenewalInput,\n RequestSourceManagedMemberUpdateInput,\n RequestVoucherIssueInput,\n SourceManagedMemberLookupBy,\n} from \"./contracts.js\";\n\ntype WaitOptions = {\n readonly organizationId: string;\n readonly waitMs?: number;\n};\n\ntype OnsiteResourceCallInput = WaitOptions & OnsiteResourceCallRequest;\n\ntype MemberCallResponse = Extract<OnsiteResourceCallResponse, { readonly kind: \"member\" }>;\ntype VoucherCallResponse = Extract<OnsiteResourceCallResponse, { readonly kind: \"voucher\" }>;\n\nexport type OnsiteResourceClient = ReturnType<typeof makeOnsiteResourceClient>;\n\nexport function makeOnsiteResourceClient(client: PromiseHubApiClient) {\n const call = async (input: OnsiteResourceCallInput): Promise<OnsiteResourceCallResponse> => {\n const { organizationId, ...payload } = input;\n const result = await (\n client.onsiteCalls.callOnsiteResource as (\n input: {\n readonly path: { readonly organizationId: string };\n readonly payload: OnsiteResourceCallRequest;\n },\n ) => Promise<OnsiteResourceCallResponse | readonly [OnsiteResourceCallResponse, unknown]>\n )({\n path: { organizationId },\n payload: payload as OnsiteResourceCallRequest,\n });\n\n return (Array.isArray(result) ? result[0] : result) as OnsiteResourceCallResponse;\n };\n\n return {\n call,\n members: {\n create: (input: WaitOptions & { readonly payload: RequestSourceManagedMemberCreateInput }) =>\n call({\n organizationId: input.organizationId,\n waitMs: input.waitMs,\n operation: \"member.create\",\n payload: input.payload,\n }) as Promise<MemberCallResponse>,\n\n update: (\n input: WaitOptions & {\n readonly memberId: string;\n readonly payload: RequestSourceManagedMemberUpdateInput;\n },\n ) =>\n call({\n organizationId: input.organizationId,\n waitMs: input.waitMs,\n operation: \"member.update\",\n memberId: input.memberId,\n payload: input.payload,\n }) as Promise<MemberCallResponse>,\n\n renew: (\n input: WaitOptions & {\n readonly memberId: string;\n readonly payload: RequestSourceManagedMemberRenewalInput;\n },\n ) =>\n call({\n organizationId: input.organizationId,\n waitMs: input.waitMs,\n operation: \"member.renew\",\n memberId: input.memberId,\n payload: input.payload,\n }) as Promise<MemberCallResponse>,\n\n lookup: (\n input: WaitOptions & {\n readonly lookupBy: SourceManagedMemberLookupBy;\n readonly lookupValue: string;\n },\n ) =>\n call({\n organizationId: input.organizationId,\n waitMs: input.waitMs,\n operation: \"member.lookup\",\n payload: {\n lookupBy: input.lookupBy,\n lookupValue: input.lookupValue,\n },\n }) as Promise<MemberCallResponse>,\n },\n vouchers: {\n issue: (input: WaitOptions & { readonly payload: RequestVoucherIssueInput }) =>\n call({\n organizationId: input.organizationId,\n waitMs: input.waitMs,\n operation: \"voucher.issue\",\n payload: input.payload,\n }) as Promise<VoucherCallResponse>,\n },\n } as const;\n}\n\nexport const makePromiseOnsiteResourceClient = async (options: HubApiCredentialOptions) => {\n const { client } = await makePromiseServiceHubApiClient(options);\n return {\n client: makeOnsiteResourceClient(client),\n hubClient: client,\n } as const;\n};\n","import {\n makePromiseServiceHubApiClient,\n type HubApiCredentialOptions,\n type PromiseHubApiClient,\n} from \"./client.js\";\nimport {\n makeOnsiteResourceClient,\n type OnsiteResourceClient,\n} from \"./onsite-resource-client.js\";\nimport type {\n BootstrapOrganizationMemberSourceAgentInput,\n BootstrapOrganizationMemberSourceAgentResponse,\n BulkGetOrganizationMembersInput,\n BulkOrganizationMembersResponseUnion,\n CreateGuestInput,\n CreateMemberInput,\n CreateOrganizationInput,\n CreateOrganizationMemberSourceCsvUploadInput,\n CreateOrganizationMemberSourceCsvUploadResponse,\n CsvUploadReadiness,\n DeletePayload,\n Guest,\n Member,\n MemberPointBalance,\n MemberPointBalancesResponse,\n MemberResponse,\n MemberResponseMode,\n MemberStatusCredits,\n OnsiteResourceCallRequest,\n Organization,\n OrganizationMemberSource,\n OrganizationMemberSourceCommand,\n OrganizationMemberSourceCsvMapping,\n OrganizationMemberSourceWebhook,\n OrganizationMemberSourceWebhookUpsertResponse,\n OrganizationMemberSyncRun,\n OrganizationMembersListResponse,\n OrganizationMembersSearchField,\n OrganizationMembersSortField,\n OrganizationMembersStatusFilter,\n OrganizationPointType,\n OrganizationPointTypesResponse,\n OrganizationProductOption,\n OrganizationProductWebhook,\n OrganizationProductWebhookUpsertResponse,\n OrganizationVoucherCommand,\n OrganizationVoucherProvider,\n PaginatedGuests,\n PaginatedOrganizationMemberGenders,\n PaginatedOrganizationMemberMembershipTypes,\n PaginatedOrganizationMemberRatingGrades,\n PaginatedOrganizationMemberTitles,\n PaginatedOrganizationMemberSourceCommands,\n PaginatedOrganizationMemberSyncRuns,\n PaginatedOrganizationProductOptions,\n PaginatedOrganizationProductWebhooks,\n PaginatedOrganizations,\n RequestSourceManagedMemberCreateInput,\n RequestSourceManagedMemberRenewalInput,\n RequestSourceManagedMemberUpdateInput,\n RequestVoucherIssueInput,\n SortDirection,\n SourceManagedMemberLookupBy,\n TriggerOrganizationMemberSyncInput,\n UpdateGuestInput,\n UpdateMemberInput,\n UpdateMemberStatusCreditsInput,\n UpdateOrganizationInput,\n UpsertMemberPointBalanceInput,\n UpsertOrganizationMemberSourceCsvMappingInput,\n UpsertOrganizationMemberSourceInput,\n UpsertOrganizationMemberSourceWebhookInput,\n UpsertOrganizationProductWebhookInput,\n UpsertOrganizationVoucherProviderInput,\n} from \"./contracts.js\";\n\ntype MaybePromiseResult<T> = T | readonly [T, unknown];\n\ntype PageInput = {\n readonly page?: number | string;\n readonly pageSize?: number | string;\n};\n\ntype ListOrganizationsInput = PageInput & {\n readonly name?: string;\n};\n\ntype ListMembersInput = PageInput & {\n readonly organizationId: string;\n readonly searchField?: OrganizationMembersSearchField;\n readonly searchValue?: string;\n readonly name?: string;\n readonly mobilePhone?: string;\n readonly memberNumber?: string;\n readonly dob?: string;\n readonly joinedAfter?: string;\n readonly memberStatus?: OrganizationMembersStatusFilter;\n readonly sortBy?: OrganizationMembersSortField;\n readonly sortDirection?: SortDirection;\n readonly responseMode?: MemberResponseMode;\n readonly ratingGradeIds?: readonly string[] | string;\n};\n\ntype GetMemberInput = {\n readonly organizationId: string;\n readonly memberId: string;\n readonly responseMode?: MemberResponseMode;\n};\n\ntype ListGuestsInput = PageInput & {\n readonly organizationId: string;\n readonly name?: string;\n readonly email?: string;\n readonly mobilePhone?: string;\n};\n\ntype ListProductWebhooksInput = PageInput & {\n readonly organizationProductOptionId?: string;\n};\n\nfunction cleanParams(value: Record<string, unknown>) {\n return Object.fromEntries(\n Object.entries(value)\n .filter(([, item]) => item !== undefined && item !== null && item !== \"\")\n .map(([key, item]) => [\n key,\n Array.isArray(item) ? item.join(\",\") : typeof item === \"number\" ? String(item) : item,\n ]),\n ) as Record<string, string>;\n}\n\nasync function unwrap<T>(value: Promise<MaybePromiseResult<T>>) {\n const result = await value;\n return (Array.isArray(result) ? result[0] : result) as T;\n}\n\nexport type PromiseSpokeClient = ReturnType<typeof makeSpokeClient>;\n\nexport function makeSpokeClient(hubClient: PromiseHubApiClient) {\n const onsite = makeOnsiteResourceClient(hubClient);\n\n return {\n organizations: {\n list: (input: ListOrganizationsInput = {}) =>\n unwrap<PaginatedOrganizations>(\n hubClient.organizations.listOrganizations({\n urlParams: cleanParams(input),\n }),\n ),\n create: (input: CreateOrganizationInput) =>\n unwrap<Organization>(\n hubClient.organizations.createOrganization({\n payload: input,\n }),\n ),\n update: (input: { readonly organizationId: string; readonly payload: UpdateOrganizationInput }) =>\n unwrap<Organization>(\n hubClient.organizations.updateOrganization({\n path: { organizationId: input.organizationId },\n payload: input.payload,\n }),\n ),\n delete: (input: { readonly organizationId: string; readonly payload: DeletePayload }) =>\n unwrap<void>(\n hubClient.organizations.deleteOrganization({\n path: { organizationId: input.organizationId },\n payload: input.payload,\n }),\n ),\n productOptions: {\n list: (input: PageInput = {}) =>\n unwrap<PaginatedOrganizationProductOptions>(\n hubClient.organizations.listOrganizationProductOptions({\n urlParams: cleanParams(input),\n }),\n ),\n create: (input: { readonly slug: string; readonly name: string }) =>\n unwrap<OrganizationProductOption>(\n hubClient.organizations.createOrganizationProductOption({\n payload: input,\n }),\n ),\n webhooks: {\n list: (input: ListProductWebhooksInput = {}) =>\n unwrap<PaginatedOrganizationProductWebhooks>(\n hubClient.organizations.listOrganizationProductWebhooks({\n urlParams: cleanParams(input),\n }),\n ),\n get: (input: { readonly organizationProductOptionId: string }) =>\n unwrap<OrganizationProductWebhook | null>(\n hubClient.organizations.getOrganizationProductWebhook({\n path: {\n organizationProductOptionId: input.organizationProductOptionId,\n },\n }),\n ),\n upsert: (\n input: {\n readonly organizationProductOptionId: string;\n readonly payload: UpsertOrganizationProductWebhookInput;\n },\n ) =>\n unwrap<OrganizationProductWebhookUpsertResponse>(\n hubClient.organizations.upsertOrganizationProductWebhook({\n path: {\n organizationProductOptionId: input.organizationProductOptionId,\n },\n payload: input.payload,\n }),\n ),\n },\n },\n },\n\n members: {\n list: (input: ListMembersInput) =>\n unwrap<OrganizationMembersListResponse>(\n hubClient.members.listOrganizationMembers({\n path: { organizationId: input.organizationId },\n urlParams: cleanParams({\n page: input.page,\n pageSize: input.pageSize,\n searchField: input.searchField,\n searchValue: input.searchValue,\n name: input.name,\n mobilePhone: input.mobilePhone,\n memberNumber: input.memberNumber,\n dob: input.dob,\n joinedAfter: input.joinedAfter,\n memberStatus: input.memberStatus,\n sortBy: input.sortBy,\n sortDirection: input.sortDirection,\n responseMode: input.responseMode,\n ratingGradeIds: input.ratingGradeIds,\n }),\n }),\n ),\n get: (input: GetMemberInput) =>\n unwrap<MemberResponse>(\n hubClient.members.getOrganizationMember({\n path: {\n organizationId: input.organizationId,\n memberId: input.memberId,\n },\n urlParams: cleanParams({ responseMode: input.responseMode }),\n }),\n ),\n bulkGet: (\n input: {\n readonly organizationId: string;\n readonly payload: BulkGetOrganizationMembersInput;\n },\n ) =>\n unwrap<BulkOrganizationMembersResponseUnion>(\n hubClient.members.bulkGetOrganizationMembers({\n path: { organizationId: input.organizationId },\n payload: input.payload,\n }),\n ),\n create: (input: { readonly organizationId: string; readonly payload: CreateMemberInput }) =>\n unwrap<Member>(\n hubClient.members.createOrganizationMember({\n path: { organizationId: input.organizationId },\n payload: input.payload,\n }),\n ),\n update: (\n input: {\n readonly organizationId: string;\n readonly memberId: string;\n readonly payload: UpdateMemberInput;\n },\n ) =>\n unwrap<Member>(\n hubClient.members.updateOrganizationMember({\n path: {\n organizationId: input.organizationId,\n memberId: input.memberId,\n },\n payload: input.payload,\n }),\n ),\n delete: (\n input: {\n readonly organizationId: string;\n readonly memberId: string;\n readonly payload: DeletePayload;\n },\n ) =>\n unwrap<void>(\n hubClient.members.deleteOrganizationMember({\n path: {\n organizationId: input.organizationId,\n memberId: input.memberId,\n },\n payload: input.payload,\n }),\n ),\n statusCredits: {\n get: (input: { readonly organizationId: string; readonly memberId: string }) =>\n unwrap<MemberStatusCredits>(\n hubClient.members.getOrganizationMemberStatusCredits({\n path: {\n organizationId: input.organizationId,\n memberId: input.memberId,\n },\n }),\n ),\n update: (\n input: {\n readonly organizationId: string;\n readonly memberId: string;\n readonly payload: UpdateMemberStatusCreditsInput;\n },\n ) =>\n unwrap<MemberStatusCredits>(\n hubClient.members.updateOrganizationMemberStatusCredits({\n path: {\n organizationId: input.organizationId,\n memberId: input.memberId,\n },\n payload: input.payload,\n }),\n ),\n },\n metadata: {\n ratingGrades: (input: PageInput & { readonly organizationId: string }) =>\n unwrap<PaginatedOrganizationMemberRatingGrades>(\n hubClient.members.listOrganizationMemberRatingGrades({\n path: { organizationId: input.organizationId },\n urlParams: cleanParams(input),\n }),\n ),\n membershipTypes: (input: PageInput & { readonly organizationId: string }) =>\n unwrap<PaginatedOrganizationMemberMembershipTypes>(\n hubClient.members.listOrganizationMemberMembershipTypes({\n path: { organizationId: input.organizationId },\n urlParams: cleanParams(input),\n }),\n ),\n titles: (input: PageInput & { readonly organizationId: string }) =>\n unwrap<PaginatedOrganizationMemberTitles>(\n hubClient.members.listOrganizationMemberTitles({\n path: { organizationId: input.organizationId },\n urlParams: cleanParams(input),\n }),\n ),\n genders: (input: PageInput & { readonly organizationId: string }) =>\n unwrap<PaginatedOrganizationMemberGenders>(\n hubClient.members.listOrganizationMemberGenders({\n path: { organizationId: input.organizationId },\n urlParams: cleanParams(input),\n }),\n ),\n },\n sourceRequests: {\n create: (\n input: {\n readonly organizationId: string;\n readonly payload: RequestSourceManagedMemberCreateInput;\n },\n ) =>\n unwrap<OrganizationMemberSourceCommand>(\n hubClient.members.requestSourceManagedMemberCreate({\n path: { organizationId: input.organizationId },\n payload: input.payload,\n }),\n ),\n update: (\n input: {\n readonly organizationId: string;\n readonly memberId: string;\n readonly payload: RequestSourceManagedMemberUpdateInput;\n },\n ) =>\n unwrap<OrganizationMemberSourceCommand>(\n hubClient.members.requestSourceManagedMemberUpdate({\n path: {\n organizationId: input.organizationId,\n memberId: input.memberId,\n },\n payload: input.payload,\n }),\n ),\n renew: (\n input: {\n readonly organizationId: string;\n readonly memberId: string;\n readonly payload: RequestSourceManagedMemberRenewalInput;\n },\n ) =>\n unwrap<OrganizationMemberSourceCommand>(\n hubClient.members.requestSourceManagedMemberRenewal({\n path: {\n organizationId: input.organizationId,\n memberId: input.memberId,\n },\n payload: input.payload,\n }),\n ),\n lookup: (\n input: {\n readonly organizationId: string;\n readonly lookupBy: SourceManagedMemberLookupBy;\n readonly lookupValue: string;\n },\n ) => {\n if (input.lookupBy === \"member_id\") {\n return unwrap<OrganizationMemberSourceCommand>(\n hubClient.members.requestSourceManagedMemberLookupById({\n path: {\n organizationId: input.organizationId,\n externalSystemMemberId: input.lookupValue,\n },\n }),\n );\n }\n\n if (input.lookupBy === \"badge_number\") {\n return unwrap<OrganizationMemberSourceCommand>(\n hubClient.members.requestSourceManagedMemberLookupByBadgeNumber({\n path: {\n organizationId: input.organizationId,\n badgeNumber: input.lookupValue,\n },\n }),\n );\n }\n\n return unwrap<OrganizationMemberSourceCommand>(\n hubClient.members.requestSourceManagedMemberLookupByCardNumber({\n path: {\n organizationId: input.organizationId,\n cardNumber: input.lookupValue,\n },\n }),\n );\n },\n },\n },\n\n memberSources: {\n get: (input: { readonly organizationId: string }) =>\n unwrap<OrganizationMemberSource | null>(\n hubClient.memberSources.getOrganizationMemberSource({\n path: { organizationId: input.organizationId },\n }),\n ),\n upsert: (\n input: {\n readonly organizationId: string;\n readonly payload: UpsertOrganizationMemberSourceInput;\n },\n ) =>\n unwrap<OrganizationMemberSource>(\n hubClient.memberSources.upsertOrganizationMemberSource({\n path: { organizationId: input.organizationId },\n payload: input.payload,\n }),\n ),\n bootstrapAgent: (\n input: {\n readonly organizationId: string;\n readonly payload: BootstrapOrganizationMemberSourceAgentInput;\n },\n ) =>\n unwrap<BootstrapOrganizationMemberSourceAgentResponse>(\n hubClient.memberSources.bootstrapOrganizationMemberSourceAgent({\n path: { organizationId: input.organizationId },\n payload: input.payload,\n }),\n ),\n csvUploadReadiness: (input: { readonly organizationId: string }) =>\n unwrap<CsvUploadReadiness>(\n hubClient.memberSources.getOrganizationMemberSourceCsvUploadReadiness({\n path: { organizationId: input.organizationId },\n }),\n ),\n csvMapping: {\n get: (input: { readonly organizationId: string }) =>\n unwrap<OrganizationMemberSourceCsvMapping | null>(\n hubClient.memberSources.getOrganizationMemberSourceCsvMapping({\n path: { organizationId: input.organizationId },\n }),\n ),\n upsert: (\n input: {\n readonly organizationId: string;\n readonly payload: UpsertOrganizationMemberSourceCsvMappingInput;\n },\n ) =>\n unwrap<OrganizationMemberSourceCsvMapping>(\n hubClient.memberSources.upsertOrganizationMemberSourceCsvMapping({\n path: { organizationId: input.organizationId },\n payload: input.payload,\n }),\n ),\n },\n csvUploads: {\n create: (\n input: {\n readonly organizationId: string;\n readonly payload: CreateOrganizationMemberSourceCsvUploadInput;\n },\n ) =>\n unwrap<CreateOrganizationMemberSourceCsvUploadResponse>(\n hubClient.memberSources.createOrganizationMemberSourceCsvUpload({\n path: { organizationId: input.organizationId },\n payload: input.payload,\n }),\n ),\n },\n webhooks: {\n get: (input: { readonly organizationId: string }) =>\n unwrap<OrganizationMemberSourceWebhook | null>(\n hubClient.memberSources.getOrganizationMemberSourceWebhook({\n path: { organizationId: input.organizationId },\n }),\n ),\n upsert: (\n input: {\n readonly organizationId: string;\n readonly payload: UpsertOrganizationMemberSourceWebhookInput;\n },\n ) =>\n unwrap<OrganizationMemberSourceWebhookUpsertResponse>(\n hubClient.memberSources.upsertOrganizationMemberSourceWebhook({\n path: { organizationId: input.organizationId },\n payload: input.payload,\n }),\n ),\n },\n runs: {\n list: (input: PageInput & { readonly organizationId: string }) =>\n unwrap<PaginatedOrganizationMemberSyncRuns>(\n hubClient.memberSources.listOrganizationMemberSyncRuns({\n path: { organizationId: input.organizationId },\n urlParams: cleanParams(input),\n }),\n ),\n trigger: (\n input: {\n readonly organizationId: string;\n readonly payload: TriggerOrganizationMemberSyncInput;\n },\n ) =>\n unwrap<OrganizationMemberSyncRun>(\n hubClient.memberSources.triggerOrganizationMemberSync({\n path: { organizationId: input.organizationId },\n payload: input.payload,\n }),\n ),\n },\n commands: {\n list: (input: PageInput & { readonly organizationId: string }) =>\n unwrap<PaginatedOrganizationMemberSourceCommands>(\n hubClient.memberSources.listOrganizationMemberSourceCommands({\n path: { organizationId: input.organizationId },\n urlParams: cleanParams(input),\n }),\n ),\n },\n },\n\n points: {\n listTypes: (input: { readonly organizationId: string }) =>\n unwrap<OrganizationPointTypesResponse>(\n hubClient.memberPoints.listOrganizationPointTypes({\n path: { organizationId: input.organizationId },\n }),\n ),\n createType: (\n input: {\n readonly organizationId: string;\n readonly payload: {\n readonly code: string;\n readonly name: string;\n readonly externalSystemId?: string | null;\n readonly pointsPerDollar?: number | null;\n readonly description?: string | null;\n readonly status?: \"active\" | \"archived\";\n };\n },\n ) =>\n unwrap<OrganizationPointType>(\n hubClient.memberPoints.createOrganizationPointType({\n path: { organizationId: input.organizationId },\n payload: input.payload,\n }),\n ),\n balances: {\n list: (input: { readonly organizationId: string; readonly memberId: string }) =>\n unwrap<MemberPointBalancesResponse>(\n hubClient.memberPoints.listOrganizationMemberPointBalances({\n path: {\n organizationId: input.organizationId,\n memberId: input.memberId,\n },\n }),\n ),\n upsert: (\n input: {\n readonly organizationId: string;\n readonly memberId: string;\n readonly pointTypeId: string;\n readonly payload: UpsertMemberPointBalanceInput;\n },\n ) =>\n unwrap<MemberPointBalance>(\n hubClient.memberPoints.upsertOrganizationMemberPointBalance({\n path: {\n organizationId: input.organizationId,\n memberId: input.memberId,\n pointTypeId: input.pointTypeId,\n },\n payload: input.payload,\n }),\n ),\n },\n },\n\n vouchers: {\n getProvider: (input: { readonly organizationId: string }) =>\n unwrap<OrganizationVoucherProvider | null>(\n hubClient.vouchers.getOrganizationVoucherProvider({\n path: { organizationId: input.organizationId },\n }),\n ),\n upsertProvider: (\n input: {\n readonly organizationId: string;\n readonly payload: UpsertOrganizationVoucherProviderInput;\n },\n ) =>\n unwrap<OrganizationVoucherProvider>(\n hubClient.vouchers.upsertOrganizationVoucherProvider({\n path: { organizationId: input.organizationId },\n payload: input.payload,\n }),\n ),\n requestIssue: (\n input: {\n readonly organizationId: string;\n readonly payload: RequestVoucherIssueInput;\n },\n ) =>\n unwrap<OrganizationVoucherCommand>(\n hubClient.vouchers.requestVoucherIssue({\n path: { organizationId: input.organizationId },\n payload: input.payload,\n }),\n ),\n },\n\n guests: {\n list: (input: ListGuestsInput) =>\n unwrap<PaginatedGuests>(\n hubClient.guests.listGuests({\n path: { organizationId: input.organizationId },\n urlParams: cleanParams(input),\n }),\n ),\n get: (input: { readonly organizationId: string; readonly guestId: string }) =>\n unwrap<Guest>(\n hubClient.guests.getGuest({\n path: {\n organizationId: input.organizationId,\n guestId: input.guestId,\n },\n }),\n ),\n create: (input: { readonly organizationId: string; readonly payload: CreateGuestInput }) =>\n unwrap<Guest>(\n hubClient.guests.createGuest({\n path: { organizationId: input.organizationId },\n payload: input.payload,\n }),\n ),\n update: (\n input: {\n readonly organizationId: string;\n readonly guestId: string;\n readonly payload: UpdateGuestInput;\n },\n ) =>\n unwrap<Guest>(\n hubClient.guests.updateGuest({\n path: {\n organizationId: input.organizationId,\n guestId: input.guestId,\n },\n payload: input.payload,\n }),\n ),\n delete: (\n input: {\n readonly organizationId: string;\n readonly guestId: string;\n readonly payload: DeletePayload;\n },\n ) =>\n unwrap<void>(\n hubClient.guests.deleteGuest({\n path: {\n organizationId: input.organizationId,\n guestId: input.guestId,\n },\n payload: input.payload,\n }),\n ),\n },\n\n onsite,\n callOnsite: (input: { readonly organizationId: string } & OnsiteResourceCallRequest) =>\n onsite.call(input),\n } as const;\n}\n\nexport const makePromiseSpokeClient = async (\n options: HubApiCredentialOptions,\n): Promise<{\n readonly client: PromiseSpokeClient;\n readonly onsiteClient: OnsiteResourceClient;\n readonly hubClient: PromiseHubApiClient;\n}> => {\n const { client: hubClient } = await makePromiseServiceHubApiClient(options);\n const client = makeSpokeClient(hubClient);\n return {\n client,\n onsiteClient: client.onsite,\n hubClient,\n };\n};\n"],"mappings":"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","names":["HttpApiSchema","Schema","client"]}