{"version":3,"sources":["../src/brandkit/brand-kits.ts","../src/brandkit/voice-profiles.ts","../src/brandkit/client.ts"],"sourcesContent":["import { collectAll, paginate } from \"../cma/pagination.js\"\nimport type { ContentstackHttpClient } from \"../http/client.js\"\nimport type {\n  BrandKit,\n  CreateBrandKitData,\n  ListBrandKitsOptions,\n  UpdateBrandKitData,\n} from \"./types.js\"\n\nexport class BrandKitsSubClient {\n  constructor(private readonly http: ContentstackHttpClient) {}\n\n  list(options?: ListBrandKitsOptions): AsyncIterable<BrandKit> {\n    return paginate<BrandKit>(\n      async (skip, limit) => {\n        const response = await this.http.get<{ data: BrandKit[]; count?: number }>(\n          \"/v1/brand-kits\",\n          {\n            skip: String(skip),\n            limit: String(limit),\n          },\n        )\n        return { items: response.data.data ?? [], count: response.data.count }\n      },\n      { limit: options?.limit },\n    )\n  }\n\n  async listAll(options?: ListBrandKitsOptions): Promise<BrandKit[]> {\n    return collectAll(this.list(options))\n  }\n\n  async get(brandKitUid: string): Promise<BrandKit> {\n    const response = await this.http.get<{ data: BrandKit }>(`/v1/brand-kits/${brandKitUid}`)\n    return response.data.data\n  }\n\n  async create(data: CreateBrandKitData): Promise<BrandKit> {\n    const response = await this.http.post<{ data: BrandKit }>(\"/v1/brand-kits\", data)\n    return response.data.data\n  }\n\n  async update(brandKitUid: string, data: UpdateBrandKitData): Promise<BrandKit> {\n    const response = await this.http.put<{ data: BrandKit }>(`/v1/brand-kits/${brandKitUid}`, data)\n    return response.data.data\n  }\n\n  async delete(brandKitUid: string): Promise<void> {\n    await this.http.delete(`/v1/brand-kits/${brandKitUid}`)\n  }\n}\n","import { collectAll, paginate } from \"../cma/pagination.js\"\nimport type { ContentstackHttpClient } from \"../http/client.js\"\nimport type {\n  CreateVoiceProfileData,\n  ListVoiceProfilesOptions,\n  UpdateVoiceProfileData,\n  VoiceProfile,\n} from \"./types.js\"\n\nexport class VoiceProfilesSubClient {\n  constructor(private readonly http: ContentstackHttpClient) {}\n\n  list(brandKitUid: string, options?: ListVoiceProfilesOptions): AsyncIterable<VoiceProfile> {\n    const scoped = this.http.withHeaders({ brand_kit_uid: brandKitUid })\n    return paginate<VoiceProfile>(\n      async (skip, limit) => {\n        const response = await scoped.get<{ data: VoiceProfile[]; count?: number }>(\n          `/v1/brand-kits/${brandKitUid}/voice-profiles`,\n          { skip: String(skip), limit: String(limit) },\n        )\n        return { items: response.data.data ?? [], count: response.data.count }\n      },\n      { limit: options?.limit },\n    )\n  }\n\n  async listAll(brandKitUid: string, options?: ListVoiceProfilesOptions): Promise<VoiceProfile[]> {\n    return collectAll(this.list(brandKitUid, options))\n  }\n\n  async get(brandKitUid: string, voiceProfileUid: string): Promise<VoiceProfile> {\n    const scoped = this.http.withHeaders({ brand_kit_uid: brandKitUid })\n    const response = await scoped.get<{ data: VoiceProfile }>(\n      `/v1/brand-kits/${brandKitUid}/voice-profiles/${voiceProfileUid}`,\n    )\n    return response.data.data\n  }\n\n  async create(brandKitUid: string, data: CreateVoiceProfileData): Promise<VoiceProfile> {\n    const scoped = this.http.withHeaders({ brand_kit_uid: brandKitUid })\n    const response = await scoped.post<{ data: VoiceProfile }>(\n      `/v1/brand-kits/${brandKitUid}/voice-profiles`,\n      data,\n    )\n    return response.data.data\n  }\n\n  async update(\n    brandKitUid: string,\n    voiceProfileUid: string,\n    data: UpdateVoiceProfileData,\n  ): Promise<VoiceProfile> {\n    const scoped = this.http.withHeaders({ brand_kit_uid: brandKitUid })\n    const response = await scoped.put<{ data: VoiceProfile }>(\n      `/v1/brand-kits/${brandKitUid}/voice-profiles/${voiceProfileUid}`,\n      data,\n    )\n    return response.data.data\n  }\n\n  async delete(brandKitUid: string, voiceProfileUid: string): Promise<void> {\n    const scoped = this.http.withHeaders({ brand_kit_uid: brandKitUid })\n    await scoped.delete(`/v1/brand-kits/${brandKitUid}/voice-profiles/${voiceProfileUid}`)\n  }\n}\n","import { ContentstackHttpClient } from \"../http/client.js\"\nimport type { HttpClientConfig } from \"../http/types.js\"\nimport type { ContentstackRegion } from \"../regions/resolver.js\"\nimport { resolveEndpoints } from \"../regions/resolver.js\"\nimport { BrandKitsSubClient } from \"./brand-kits.js\"\nimport { VoiceProfilesSubClient } from \"./voice-profiles.js\"\n\nexport interface BrandKitClientConfig {\n  region: ContentstackRegion\n  organizationUid: string\n  auth: { type: \"oauth\"; accessToken: string } | { type: \"authtoken\"; token: string }\n  httpOptions?: Partial<HttpClientConfig>\n}\n\nexport interface BrandKitClient {\n  brandKits: BrandKitsSubClient\n  voiceProfiles: VoiceProfilesSubClient\n}\n\nexport function createBrandKitClient(config: BrandKitClientConfig): BrandKitClient {\n  const endpoints = resolveEndpoints(config.region)\n\n  const headers: Record<string, string> = {\n    organization_uid: config.organizationUid,\n  }\n\n  switch (config.auth.type) {\n    case \"oauth\":\n      headers.authorization = `Bearer ${config.auth.accessToken}`\n      break\n    case \"authtoken\":\n      headers.authtoken = config.auth.token\n      break\n  }\n\n  const http = new ContentstackHttpClient({\n    ...config.httpOptions,\n    baseUrl: config.httpOptions?.baseUrl ?? endpoints.brandKit,\n    headers: {\n      ...config.httpOptions?.headers,\n      ...headers,\n    },\n  })\n\n  return {\n    brandKits: new BrandKitsSubClient(http),\n    voiceProfiles: new VoiceProfilesSubClient(http),\n  }\n}\n"],"mappings":"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","names":[]}