@typecall/admin-sdk 0.2.0 → 0.2.1

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.
Files changed (36) hide show
  1. package/README.md +33 -0
  2. package/dist/fabric/services/rest/client/payment_methods.cjs +17 -0
  3. package/dist/fabric/services/rest/client/payment_methods.cjs.map +1 -1
  4. package/dist/fabric/services/rest/client/payment_methods.d.cts +3 -1
  5. package/dist/fabric/services/rest/client/payment_methods.d.ts +3 -1
  6. package/dist/fabric/services/rest/client/payment_methods.js +17 -0
  7. package/dist/fabric/services/rest/client/payment_methods.js.map +1 -1
  8. package/dist/fabric/services/rest/client.cjs +17 -0
  9. package/dist/fabric/services/rest/client.cjs.map +1 -1
  10. package/dist/fabric/services/rest/client.js +17 -0
  11. package/dist/fabric/services/rest/client.js.map +1 -1
  12. package/dist/fabric/services/rest/dto/billing.cjs +9 -0
  13. package/dist/fabric/services/rest/dto/billing.cjs.map +1 -1
  14. package/dist/fabric/services/rest/dto/billing.d.cts +2 -1
  15. package/dist/fabric/services/rest/dto/billing.d.ts +2 -1
  16. package/dist/fabric/services/rest/dto/billing.js +8 -0
  17. package/dist/fabric/services/rest/dto/billing.js.map +1 -1
  18. package/dist/fabric/services/rest/dto/payment-method.cjs +9 -0
  19. package/dist/fabric/services/rest/dto/payment-method.cjs.map +1 -1
  20. package/dist/fabric/services/rest/dto/payment-method.d.cts +2 -1
  21. package/dist/fabric/services/rest/dto/payment-method.d.ts +2 -1
  22. package/dist/fabric/services/rest/dto/payment-method.js +8 -0
  23. package/dist/fabric/services/rest/dto/payment-method.js.map +1 -1
  24. package/dist/fabric/services/rest/dto/payment_method.cjs +9 -0
  25. package/dist/fabric/services/rest/dto/payment_method.cjs.map +1 -1
  26. package/dist/fabric/services/rest/dto/payment_method.d.cts +8 -1
  27. package/dist/fabric/services/rest/dto/payment_method.d.ts +8 -1
  28. package/dist/fabric/services/rest/dto/payment_method.js +8 -0
  29. package/dist/fabric/services/rest/dto/payment_method.js.map +1 -1
  30. package/dist/index.cjs +17 -0
  31. package/dist/index.cjs.map +1 -1
  32. package/dist/index.d.cts +1 -1
  33. package/dist/index.d.ts +1 -1
  34. package/dist/index.js +17 -0
  35. package/dist/index.js.map +1 -1
  36. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/fabric/services/rest/errors.ts","../../../../src/fabric/services/rest/client/base.ts","../../../../src/fabric/services/rest/client/users.ts","../../../../src/fabric/services/rest/client/channels.ts","../../../../src/fabric/services/rest/client/channel_numbers.ts","../../../../src/fabric/services/rest/client/phones.ts","../../../../src/fabric/services/rest/client/phone_numbers.ts","../../../../src/fabric/services/rest/client/business_hours.ts","../../../../src/fabric/services/rest/client/tags.ts","../../../../src/fabric/services/rest/client/domains.ts","../../../../src/fabric/services/rest/client/workspace.ts","../../../../src/fabric/services/rest/client/files.ts","../../../../src/fabric/services/rest/client/prompts.ts","../../../../src/fabric/services/rest/client/voices.ts","../../../../src/fabric/services/rest/client/invoices.ts","../../../../src/fabric/services/rest/client/payment_methods.ts","../../../../src/fabric/services/rest/client/subscriptions.ts","../../../../src/fabric/services/rest/client/analytics.ts","../../../../src/fabric/services/rest/client.ts"],"names":["atom","MiniSearch"],"mappings":"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","file":"client.cjs","sourcesContent":["export class RestError extends Error {\n readonly status: number;\n readonly statusText: string;\n readonly body?: string;\n\n constructor(status: number, statusText: string, body?: string) {\n super(`HTTP ${status} ${statusText}: ${body ?? \"\"}`);\n this.name = \"RestError\";\n this.status = status;\n this.statusText = statusText;\n this.body = body;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n\nexport class NotFoundError extends RestError {\n constructor(statusText: string = \"Not Found\", body?: string) {\n super(404, statusText, body);\n this.name = \"NotFoundError\";\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n\nexport function isNotFoundError(error: unknown): error is NotFoundError {\n if (error instanceof NotFoundError) {\n return true;\n }\n if (error instanceof RestError && error.status === 404) {\n return true;\n }\n if (\n typeof error === \"object\" &&\n error !== null &&\n (error as { status?: number }).status === 404\n ) {\n return true;\n }\n return false;\n}\n","import MiniSearch from \"minisearch\";\nimport { atom, type ReadableAtom, type WritableAtom } from \"nanostores\";\n\nexport type { ReadableAtom };\n\nexport interface RestTransport {\n request<T>(path: string, init?: RequestInit): Promise<T>;\n requestData<T>(path: string, init?: RequestInit): Promise<T>;\n requestBlob(path: string, init?: RequestInit): Promise<Blob>;\n}\n\nexport abstract class BaseResourceClient<T extends { id: string } = any> {\n protected readonly items = new Map<string, T>();\n protected isLoaded = false;\n protected searchIndex?: MiniSearch;\n\n private readonly _version: WritableAtom<number> = atom(1);\n\n readonly $version: ReadableAtom<number> = this._version;\n\n get version(): number {\n return this._version.get();\n }\n\n get loaded(): boolean {\n return this.isLoaded;\n }\n\n constructor(protected readonly transport: RestTransport) {}\n\n /**\n * Returns all items currently stored in cache.\n */\n all(): T[] {\n return Array.from(this.items.values());\n }\n\n /**\n * Synchronously finds an item in cache by ID.\n */\n find(id: string): T | undefined {\n return this.items.get(id);\n }\n\n /**\n * Synchronously finds multiple items in cache by ID.\n */\n getMany(...ids: string[]): T[] {\n const results: T[] = [];\n for (const id of ids) {\n const item = this.items.get(id);\n if (item) results.push(item);\n }\n return results;\n }\n\n /**\n * Searches cached items by search term using MiniSearch prefix matching.\n * If search term is empty, returns all items.\n */\n search(term: string): T[] {\n const trimmed = term.trim();\n if (!trimmed || !this.searchIndex) {\n return this.all();\n }\n const results = this.searchIndex.search(trimmed, { prefix: true });\n const matched: T[] = [];\n for (const r of results) {\n const item = this.items.get(r.id);\n if (item) matched.push(item);\n }\n return matched;\n }\n\n /**\n * Hook for subclasses to define what fields get indexed for search.\n */\n protected extractSearchTerms(item: T): string {\n return Object.values(item as Record<string, unknown>)\n .filter((v) => typeof v === \"string\" || typeof v === \"number\")\n .join(\" \")\n .toLowerCase();\n }\n\n /**\n * Adds or replaces an item in the search index.\n */\n protected indexItem(item: T): void {\n if (!this.searchIndex) {\n this.searchIndex = new MiniSearch({\n fields: [\"terms\"],\n storeFields: [\"id\"],\n });\n }\n const doc = { id: item.id, terms: this.extractSearchTerms(item) };\n if (this.searchIndex.has(item.id)) {\n this.searchIndex.replace(doc);\n } else {\n this.searchIndex.add(doc);\n }\n }\n\n /**\n * Sets or updates a single item in cache and search index.\n */\n protected setItem(item: T): void {\n this.items.set(item.id, item);\n this.indexItem(item);\n }\n\n /**\n * Removes a single item from cache and search index.\n */\n protected removeItem(id: string): void {\n this.items.delete(id);\n if (this.searchIndex?.has(id)) {\n this.searchIndex.discard(id);\n }\n }\n\n /**\n * Populates cache and search index with all items, marking the client as loaded.\n */\n protected setAll(items: T[]): void {\n this.items.clear();\n this.searchIndex?.removeAll();\n for (const item of items) {\n this.items.set(item.id, item);\n this.indexItem(item);\n }\n this.isLoaded = true;\n this.bump();\n }\n\n /**\n * Clears the in-memory cache and search index.\n */\n clearCache(): void {\n this.items.clear();\n this.searchIndex?.removeAll();\n this.isLoaded = false;\n this.bump();\n }\n\n bump(): void {\n this._version.set(this._version.get() + 1);\n }\n}\n","import type { User } from \"../../../domains/workspace/user.js\";\nimport type { CreateUserRequest, UpdateUserRequest } from \"../dto/user.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class UsersClient extends BaseResourceClient<User> {\n protected override extractSearchTerms(user: User): string {\n return `${user.first_name} ${user.last_name} ${user.display_name ?? \"\"} ${user.email} ${user.extension ?? \"\"}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<User[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const users = await this.transport.requestData<User[]>(\"/users\");\n this.setAll(users);\n return users;\n }\n\n async load(force = false): Promise<User[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<User> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const user = await this.transport.requestData<User>(`/users/${id}`);\n this.setItem(user);\n this.bump();\n return user;\n }\n\n async create(data: CreateUserRequest): Promise<User> {\n const user = await this.transport.requestData<User>(\"/users\", {\n method: \"POST\",\n body: JSON.stringify(data),\n });\n this.setItem(user);\n this.bump();\n return user;\n }\n\n async update(id: string, data: UpdateUserRequest): Promise<User> {\n const user = await this.transport.requestData<User>(`/users/${id}`, {\n method: \"PATCH\",\n body: JSON.stringify(data),\n });\n this.setItem(user);\n this.bump();\n return user;\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/users/${id}`, { method: \"DELETE\" });\n this.removeItem(id);\n this.bump();\n }\n}\n","import type { Channel } from \"../../../domains/workspace/channel.js\";\nimport type {\n CreateChannelRequest,\n UpdateChannelRequest,\n} from \"../dto/channel.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class ChannelsClient extends BaseResourceClient<Channel> {\n protected override extractSearchTerms(channel: Channel): string {\n return `${channel.name}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<Channel[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const channels = await this.transport.requestData<Channel[]>(\"/channels\");\n this.setAll(channels);\n return channels;\n }\n\n async load(force = false): Promise<Channel[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<Channel> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const channel = await this.transport.requestData<Channel>(\n `/channels/${id}`,\n );\n this.setItem(channel);\n this.bump();\n return channel;\n }\n\n async create(data: CreateChannelRequest): Promise<Channel> {\n const channel = await this.transport.requestData<Channel>(\"/channels\", {\n method: \"POST\",\n body: JSON.stringify(data),\n });\n this.setItem(channel);\n this.bump();\n return channel;\n }\n\n async update(id: string, data: UpdateChannelRequest): Promise<Channel> {\n const channel = await this.transport.requestData<Channel>(\n `/channels/${id}`,\n {\n method: \"PATCH\",\n body: JSON.stringify(data),\n },\n );\n this.setItem(channel);\n this.bump();\n return channel;\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/channels/${id}`, {\n method: \"DELETE\",\n });\n this.removeItem(id);\n this.bump();\n }\n\n publicChannels(): Channel[] {\n return this.all().filter((c) => !c.is_private);\n }\n}\n","import type { ChannelNumber } from \"../../../domains/workspace/channel_number.js\";\nimport type {\n CreateChannelNumberRequest,\n UpdateChannelNumberRequest,\n} from \"../dto/channel_number.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class ChannelNumbersClient extends BaseResourceClient<ChannelNumber> {\n protected override extractSearchTerms(item: ChannelNumber): string {\n const rawCid = item.cid || \"\";\n const cleanCid = rawCid.replace(/^\\+/, \"\");\n return `${item.name || \"\"} ${rawCid} ${cleanCid} ${item.label || \"\"} ${item.country || \"\"}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<ChannelNumber[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items =\n await this.transport.requestData<ChannelNumber[]>(\"/channel-numbers\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<ChannelNumber[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<ChannelNumber> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<ChannelNumber>(\n `/channel-numbers/${id}`,\n );\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async create(data: CreateChannelNumberRequest): Promise<ChannelNumber> {\n const channelNumber = await this.transport.requestData<ChannelNumber>(\n \"/channel-numbers\",\n {\n method: \"POST\",\n body: JSON.stringify(data),\n },\n );\n this.setItem(channelNumber);\n this.bump();\n return channelNumber;\n }\n\n async update(\n id: string,\n data: UpdateChannelNumberRequest,\n ): Promise<ChannelNumber> {\n const channelNumber = await this.transport.requestData<ChannelNumber>(\n `/channel-numbers/${id}`,\n {\n method: \"PATCH\",\n body: JSON.stringify(data),\n },\n );\n this.setItem(channelNumber);\n this.bump();\n return channelNumber;\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/channel-numbers/${id}`, {\n method: \"DELETE\",\n });\n this.removeItem(id);\n this.bump();\n }\n}\n","import type { Phone } from \"../../../domains/workspace/phone.js\";\nimport type {\n CreatePhoneRequest,\n UpdatePhoneRequest,\n PhoneConfigResponse,\n} from \"../dto/phone.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class PhonesClient extends BaseResourceClient<Phone> {\n protected override extractSearchTerms(item: Phone): string {\n const rawMac = item.mac_address || \"\";\n const cleanMac = rawMac.replace(/[:-]/g, \"\");\n return `${item.name} ${item.model} ${item.serial_number || \"\"} ${rawMac} ${cleanMac} ${item.location}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<Phone[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items = await this.transport.requestData<Phone[]>(\"/phones\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<Phone[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<Phone> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<Phone>(`/phones/${id}`);\n this.setItem(item);\n this.bump();\n return item;\n }\n\n getConfig(id: string): Promise<PhoneConfigResponse> {\n return this.transport.request<PhoneConfigResponse>(`/phones/${id}/config`);\n }\n\n async create(data: CreatePhoneRequest): Promise<Phone> {\n const item = await this.transport.requestData<Phone>(\"/phones\", {\n method: \"POST\",\n body: JSON.stringify(data),\n });\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async update(id: string, data: UpdatePhoneRequest): Promise<Phone> {\n const item = await this.transport.requestData<Phone>(`/phones/${id}`, {\n method: \"PATCH\",\n body: JSON.stringify(data),\n });\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/phones/${id}`, { method: \"DELETE\" });\n this.removeItem(id);\n this.bump();\n }\n}\n","import type { PhoneNumber } from \"../../../domains/workspace/phone_number.js\";\nimport type { UpdatePhoneNumberRequest } from \"../dto/phone_number.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class PhoneNumbersClient extends BaseResourceClient<PhoneNumber> {\n protected override extractSearchTerms(item: PhoneNumber): string {\n const rawStart = item.range_start || \"\";\n const rawEnd = item.range_end || \"\";\n const cleanStart = rawStart.replace(/^\\+/, \"\");\n const cleanEnd = rawEnd.replace(/^\\+/, \"\");\n return `${item.name} ${rawStart} ${cleanStart} ${rawEnd} ${cleanEnd} ${item.country}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<PhoneNumber[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items =\n await this.transport.requestData<PhoneNumber[]>(\"/phone-numbers\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<PhoneNumber[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<PhoneNumber> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<PhoneNumber>(\n `/phone-numbers/${id}`,\n );\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async update(\n id: string,\n data: UpdatePhoneNumberRequest,\n ): Promise<PhoneNumber> {\n const item = await this.transport.requestData<PhoneNumber>(\n `/phone-numbers/${id}`,\n {\n method: \"PATCH\",\n body: JSON.stringify(data),\n },\n );\n this.setItem(item);\n this.bump();\n return item;\n }\n}\n","import type { BusinessHours } from \"../../../domains/workspace/business_hours.js\";\nimport type {\n CreateBusinessHoursRequest,\n UpdateBusinessHoursRequest,\n} from \"../dto/business_hours.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class BusinessHoursClient extends BaseResourceClient<BusinessHours> {\n protected override extractSearchTerms(item: BusinessHours): string {\n return `${item.name} ${item.timezone}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<BusinessHours[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items =\n await this.transport.requestData<BusinessHours[]>(\"/business-hours\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<BusinessHours[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<BusinessHours> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<BusinessHours>(\n `/business-hours/${id}`,\n );\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async create(data: CreateBusinessHoursRequest): Promise<BusinessHours> {\n const item = await this.transport.requestData<BusinessHours>(\n \"/business-hours\",\n {\n method: \"POST\",\n body: JSON.stringify(data),\n },\n );\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async update(\n id: string,\n data: UpdateBusinessHoursRequest,\n ): Promise<BusinessHours> {\n const item = await this.transport.requestData<BusinessHours>(\n `/business-hours/${id}`,\n {\n method: \"PATCH\",\n body: JSON.stringify(data),\n },\n );\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/business-hours/${id}`, {\n method: \"DELETE\",\n });\n this.removeItem(id);\n this.bump();\n }\n}\n","import type { Tag } from \"../../../domains/workspace/tag.js\";\nimport type { CreateTagRequest, UpdateTagRequest } from \"../dto/tag.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class TagsClient extends BaseResourceClient<Tag> {\n protected override extractSearchTerms(item: Tag): string {\n return `${item.name} ${item.color} ${item.scopes.join(\" \")}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<Tag[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items = await this.transport.requestData<Tag[]>(\"/tags\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<Tag[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<Tag> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<Tag>(`/tags/${id}`);\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async create(data: CreateTagRequest): Promise<Tag> {\n const tag = await this.transport.requestData<Tag>(\"/tags\", {\n method: \"POST\",\n body: JSON.stringify(data),\n });\n this.setItem(tag);\n this.bump();\n return tag;\n }\n\n async update(id: string, data: UpdateTagRequest): Promise<Tag> {\n const tag = await this.transport.requestData<Tag>(`/tags/${id}`, {\n method: \"PATCH\",\n body: JSON.stringify(data),\n });\n this.setItem(tag);\n this.bump();\n return tag;\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/tags/${id}`, { method: \"DELETE\" });\n this.removeItem(id);\n this.bump();\n }\n}\n","import type { Domain } from \"../../../domains/workspace/domain.js\";\nimport type {\n CreateDomainRequest,\n UpdateDomainRequest,\n} from \"../dto/domain.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class DomainsClient extends BaseResourceClient<Domain> {\n protected override extractSearchTerms(item: Domain): string {\n return item.domain.toLowerCase();\n }\n\n async listAll(force = false): Promise<Domain[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items = await this.transport.requestData<Domain[]>(\"/domains\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<Domain[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<Domain> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<Domain>(`/domains/${id}`);\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async create(data: CreateDomainRequest): Promise<Domain> {\n const domain = await this.transport.requestData<Domain>(\"/domains\", {\n method: \"POST\",\n body: JSON.stringify(data),\n });\n this.setItem(domain);\n this.bump();\n return domain;\n }\n\n async update(id: string, data: UpdateDomainRequest): Promise<Domain> {\n const domain = await this.transport.requestData<Domain>(`/domains/${id}`, {\n method: \"PATCH\",\n body: JSON.stringify(data),\n });\n this.setItem(domain);\n this.bump();\n return domain;\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/domains/${id}`, { method: \"DELETE\" });\n this.removeItem(id);\n this.bump();\n }\n}\n","import type {\n WorkspaceBillingProfile,\n UpdateWorkspaceRequest,\n} from \"../dto/workspace.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class WorkspaceClient extends BaseResourceClient {\n private cachedProfile: WorkspaceBillingProfile | null = null;\n\n async get(force = false): Promise<WorkspaceBillingProfile> {\n if (this.cachedProfile && !force) {\n return this.cachedProfile;\n }\n const profile =\n await this.transport.requestData<WorkspaceBillingProfile>(\"/workspace\");\n this.cachedProfile = profile;\n this.bump();\n return profile;\n }\n\n async load(force = false): Promise<WorkspaceBillingProfile> {\n return this.get(force);\n }\n\n current(): WorkspaceBillingProfile | null {\n return this.cachedProfile;\n }\n\n async update(data: UpdateWorkspaceRequest): Promise<WorkspaceBillingProfile> {\n const profile = await this.transport.requestData<WorkspaceBillingProfile>(\n \"/workspace\",\n {\n method: \"PATCH\",\n body: JSON.stringify(data),\n },\n );\n this.cachedProfile = profile;\n this.bump();\n return profile;\n }\n\n override clearCache(): void {\n super.clearCache();\n this.cachedProfile = null;\n }\n}\n","import type { FileDownloadLink, FileUploadLink } from \"../dto/file.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class FilesClient extends BaseResourceClient {\n getDownloadLink(path: string): Promise<FileDownloadLink> {\n return this.transport.requestData<FileDownloadLink>(\n \"/files/link/download\",\n {\n headers: { \"X-File-Path\": path },\n },\n );\n }\n\n getUploadLink(\n category: string,\n entityId?: string,\n extension?: string,\n ): Promise<FileUploadLink> {\n const params = new URLSearchParams({ category });\n if (entityId) params.append(\"entity_id\", entityId);\n if (extension) params.append(\"extension\", extension);\n return this.transport.requestData<FileUploadLink>(\n `/files/link/upload?${params.toString()}`,\n );\n }\n\n async uploadToS3(data: Blob | ArrayBuffer, url: string): Promise<void> {\n const response = await fetch(url, {\n method: \"PUT\",\n body: data,\n });\n if (!response.ok) {\n throw new Error(`S3 Upload failed: ${response.statusText}`);\n }\n }\n\n async uploadBlob(\n blob: Blob,\n entityId?: string,\n category = \"track\",\n extension = \"wav\",\n ): Promise<string> {\n const { url, path } = await this.getUploadLink(\n category,\n entityId,\n extension,\n );\n await this.uploadToS3(blob, url);\n return path;\n }\n\n async uploadTrack(\n file: { name: string } & Blob,\n entityId?: string,\n ): Promise<{ path: string; name: string }> {\n const extension = file.name.split(\".\").pop()?.toLowerCase() || \"wav\";\n const { url, path } = await this.getUploadLink(\n \"track\",\n entityId,\n extension,\n );\n await this.uploadToS3(file, url);\n return { path, name: file.name };\n }\n}\n","import type { Prompt } from \"../../../domains/workspace/prompt.js\";\nimport type {\n CreatePromptRequest,\n UpdatePromptRequest,\n} from \"../dto/prompt.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class PromptsClient extends BaseResourceClient<Prompt> {\n protected override extractSearchTerms(item: Prompt): string {\n return `${item.name} ${item.entity_id}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<Prompt[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items = await this.transport.requestData<Prompt[]>(\"/prompts\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<Prompt[]> {\n return this.listAll(force);\n }\n\n listAllMy(): Promise<Prompt[]> {\n return this.transport.requestData<Prompt[]>(\"/prompts/my\");\n }\n\n async get(id: string, force = false): Promise<Prompt> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<Prompt>(`/prompts/${id}`);\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async create(data: CreatePromptRequest): Promise<Prompt> {\n const prompt = await this.transport.requestData<Prompt>(\"/prompts\", {\n method: \"POST\",\n body: JSON.stringify(data),\n });\n this.setItem(prompt);\n this.bump();\n return prompt;\n }\n\n async update(id: string, data: UpdatePromptRequest): Promise<Prompt> {\n const prompt = await this.transport.requestData<Prompt>(`/prompts/${id}`, {\n method: \"PATCH\",\n body: JSON.stringify(data),\n });\n this.setItem(prompt);\n this.bump();\n return prompt;\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/prompts/${id}`, { method: \"DELETE\" });\n this.removeItem(id);\n this.bump();\n }\n}\n","import type { Voice } from \"../../../domains/workspace/voice.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class VoicesClient extends BaseResourceClient<Voice> {\n protected override extractSearchTerms(item: Voice): string {\n return `${item.name} ${item.language_code} ${item.gender} ${item.provider}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<Voice[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items = await this.transport.requestData<Voice[]>(\"/voices\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<Voice[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<Voice> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<Voice>(`/voices/${id}`);\n this.setItem(item);\n this.bump();\n return item;\n }\n\n voiceAgents(): Voice[] {\n return this.all().filter(\n (v) => v.scope.toLowerCase().replace(/[-_]/g, \"\") === \"voiceagent\",\n );\n }\n\n synthesize(id: string, ssml: string): Promise<Blob> {\n return this.transport.requestBlob(`/voices/${id}/tts/synthesize`, {\n method: \"POST\",\n body: JSON.stringify({ ssml }),\n });\n }\n}\n","import type { Invoice } from \"../../../domains/workspace/invoice.js\";\nimport type { InvoicePaymentUrlResponse } from \"../dto/invoice.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class InvoicesClient extends BaseResourceClient<Invoice> {\n protected override extractSearchTerms(item: Invoice): string {\n return `${item.number} ${item.status}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<Invoice[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items = await this.transport.requestData<Invoice[]>(\"/invoices\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<Invoice[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<Invoice> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<Invoice>(`/invoices/${id}`);\n this.setItem(item);\n this.bump();\n return item;\n }\n\n getPaymentUrl(id: string): Promise<InvoicePaymentUrlResponse> {\n return this.transport.request<InvoicePaymentUrlResponse>(\n `/invoices/${id}/payment-url`,\n );\n }\n\n download(id: string): Promise<Blob> {\n return this.transport.requestBlob(`/invoices/${id}/download`);\n }\n}\n","import type { PaymentMethod } from \"../../../domains/workspace/payment_method.js\";\nimport type { CreatePaymentMethodUrlResponse } from \"../dto/payment_method.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class PaymentMethodsClient extends BaseResourceClient<PaymentMethod> {\n protected override extractSearchTerms(item: PaymentMethod): string {\n return (item.last_four || item.last_four_digits || \"\").toLowerCase();\n }\n\n async listAll(force = false): Promise<PaymentMethod[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items =\n await this.transport.requestData<PaymentMethod[]>(\"/payment-methods\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<PaymentMethod[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<PaymentMethod> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<PaymentMethod>(\n `/payment-methods/${id}`,\n );\n this.setItem(item);\n this.bump();\n return item;\n }\n\n createUrl(): Promise<CreatePaymentMethodUrlResponse> {\n return this.transport.request<CreatePaymentMethodUrlResponse>(\n \"/payment-methods/create-url\",\n );\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/payment-methods/${id}`, {\n method: \"DELETE\",\n });\n this.removeItem(id);\n this.bump();\n }\n\n async setAsPrimary(id: string): Promise<PaymentMethod> {\n const paymentMethod = await this.transport.requestData<PaymentMethod>(\n `/payment-methods/${id}/set-as-primary`,\n { method: \"POST\" },\n );\n for (const item of this.items.values()) {\n item.is_primary = item.id === id;\n }\n this.setItem(paymentMethod);\n this.bump();\n return paymentMethod;\n }\n}\n","import type { Subscription } from \"../../../domains/workspace/subscription.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class SubscriptionsClient extends BaseResourceClient {\n private cachedSubscription: Subscription | null = null;\n\n async get(force = false): Promise<Subscription> {\n if (this.cachedSubscription && !force) {\n return this.cachedSubscription;\n }\n const sub = await this.transport.requestData<Subscription>(\"/subscription\");\n this.cachedSubscription = sub;\n this.bump();\n return sub;\n }\n\n async load(force = false): Promise<Subscription> {\n return this.get(force);\n }\n\n current(): Subscription | null {\n return this.cachedSubscription;\n }\n\n override clearCache(): void {\n super.clearCache();\n this.cachedSubscription = null;\n }\n}\n","import type { CallEvent, CallLog } from \"../../../domains/analytics/call.js\";\nimport type { UtteranceLite } from \"../../../domains/analytics/utterance.js\";\nimport type { GetCallLogsRequest } from \"../dto/analytics.js\";\nimport { isNotFoundError } from \"../errors.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport interface PaginatedCallLogsResponse {\n data: CallLog[];\n links?: {\n first?: string | null;\n last?: string | null;\n prev?: string | null;\n next?: string | null;\n };\n meta?: {\n current_page: number;\n from?: number | null;\n last_page: number;\n per_page: number;\n to?: number | null;\n total: number;\n };\n}\n\nexport class AnalyticsClient extends BaseResourceClient {\n listCallLogs(\n params: GetCallLogsRequest = {},\n ): Promise<PaginatedCallLogsResponse> {\n const query = new URLSearchParams();\n if (params.from) query.append(\"from\", params.from);\n if (params.to) query.append(\"to\", params.to);\n if (params.page) query.append(\"page\", String(params.page));\n if (params.per_page) query.append(\"per_page\", String(params.per_page));\n if (params.status) {\n params.status.forEach((s) => query.append(\"status[]\", s));\n }\n if (params.category) {\n params.category.forEach((c) => query.append(\"category[]\", c));\n }\n if (params.user_id) {\n params.user_id.forEach((u) => query.append(\"user_id[]\", u));\n }\n const qs = query.toString();\n const queryString = qs ? `?${qs}` : \"\";\n\n return this.transport\n .request<PaginatedCallLogsResponse>(`/analytics/call-logs${queryString}`)\n .catch((err) => {\n if (isNotFoundError(err)) {\n return this.transport.request<PaginatedCallLogsResponse>(\n `/reports/call-logs${queryString}`,\n );\n }\n throw err;\n });\n }\n\n async listCallEvents(callLogId: string): Promise<CallEvent[]> {\n return this.transport\n .requestData<CallEvent[]>(`/analytics/call-logs/${callLogId}/events`)\n .catch((err) => {\n if (isNotFoundError(err)) {\n return this.transport.requestData<CallEvent[]>(\n `/reports/call-logs/${callLogId}/events`,\n );\n }\n throw err;\n });\n }\n\n listCallUtterances(callLogId: string): Promise<UtteranceLite[]> {\n return this.transport.requestData<UtteranceLite[]>(\n `/analytics/call-logs/${callLogId}/utterances`,\n );\n }\n}\n","import type { FetchFn } from \"../account/client.js\";\nimport { RestError, NotFoundError, isNotFoundError } from \"./errors.js\";\nimport type { RestTransport } from \"./client/base.js\";\nimport { UsersClient } from \"./client/users.js\";\nimport { ChannelsClient } from \"./client/channels.js\";\nimport { ChannelNumbersClient } from \"./client/channel_numbers.js\";\nimport { PhonesClient } from \"./client/phones.js\";\nimport { PhoneNumbersClient } from \"./client/phone_numbers.js\";\nimport { BusinessHoursClient } from \"./client/business_hours.js\";\nimport { TagsClient } from \"./client/tags.js\";\nimport { DomainsClient } from \"./client/domains.js\";\nimport { WorkspaceClient } from \"./client/workspace.js\";\nimport { FilesClient } from \"./client/files.js\";\nimport { PromptsClient } from \"./client/prompts.js\";\nimport { VoicesClient } from \"./client/voices.js\";\nimport { InvoicesClient } from \"./client/invoices.js\";\nimport { PaymentMethodsClient } from \"./client/payment_methods.js\";\nimport { SubscriptionsClient } from \"./client/subscriptions.js\";\nimport { AnalyticsClient } from \"./client/analytics.js\";\n\nexport type RefreshTokenFn = () => Promise<string | void | undefined>;\n\nexport interface WorkspaceRestClientConfig {\n baseUrl: string;\n getAccessToken: () => string | undefined;\n getWorkspaceId: () => string | undefined;\n refreshAccessToken?: RefreshTokenFn;\n fetch?: FetchFn;\n}\n\nexport class WorkspaceRestClient implements RestTransport {\n private baseUrl: string;\n private getAccessToken: () => string | undefined;\n private getWorkspaceId: () => string | undefined;\n private refreshAccessToken?: RefreshTokenFn;\n private fetchFn: FetchFn;\n private refreshPromise: Promise<string | void | undefined> | null = null;\n\n readonly users: UsersClient;\n readonly channels: ChannelsClient;\n readonly channelNumbers: ChannelNumbersClient;\n readonly phones: PhonesClient;\n readonly phoneNumbers: PhoneNumbersClient;\n readonly businessHours: BusinessHoursClient;\n readonly tags: TagsClient;\n readonly domains: DomainsClient;\n readonly workspace: WorkspaceClient;\n readonly files: FilesClient;\n readonly prompts: PromptsClient;\n readonly voices: VoicesClient;\n readonly invoices: InvoicesClient;\n readonly paymentMethods: PaymentMethodsClient;\n readonly subscriptions: SubscriptionsClient;\n readonly analytics: AnalyticsClient;\n\n constructor(config: WorkspaceRestClientConfig) {\n this.baseUrl = config.baseUrl.replace(/\\/+$/, \"\");\n this.getAccessToken = config.getAccessToken;\n this.getWorkspaceId = config.getWorkspaceId;\n this.refreshAccessToken = config.refreshAccessToken;\n this.fetchFn = config.fetch ?? globalThis.fetch.bind(globalThis);\n\n this.users = new UsersClient(this);\n this.channels = new ChannelsClient(this);\n this.channelNumbers = new ChannelNumbersClient(this);\n this.phones = new PhonesClient(this);\n this.phoneNumbers = new PhoneNumbersClient(this);\n this.businessHours = new BusinessHoursClient(this);\n this.tags = new TagsClient(this);\n this.domains = new DomainsClient(this);\n this.workspace = new WorkspaceClient(this);\n this.files = new FilesClient(this);\n this.prompts = new PromptsClient(this);\n this.voices = new VoicesClient(this);\n this.invoices = new InvoicesClient(this);\n this.paymentMethods = new PaymentMethodsClient(this);\n this.subscriptions = new SubscriptionsClient(this);\n this.analytics = new AnalyticsClient(this);\n }\n\n clearCaches(): void {\n this.users.clearCache();\n this.channels.clearCache();\n this.channelNumbers.clearCache();\n this.phones.clearCache();\n this.phoneNumbers.clearCache();\n this.businessHours.clearCache();\n this.tags.clearCache();\n this.domains.clearCache();\n this.workspace.clearCache();\n this.files.clearCache();\n this.prompts.clearCache();\n this.voices.clearCache();\n this.invoices.clearCache();\n this.paymentMethods.clearCache();\n this.subscriptions.clearCache();\n }\n\n private async refreshToken(): Promise<string | void | undefined> {\n if (!this.refreshAccessToken) {\n return undefined;\n }\n if (!this.refreshPromise) {\n this.refreshPromise = (async () => {\n try {\n return await this.refreshAccessToken!();\n } finally {\n this.refreshPromise = null;\n }\n })();\n }\n return this.refreshPromise;\n }\n\n private async execute(\n path: string,\n init: RequestInit = {},\n overrideToken?: string,\n isRetry = false,\n ): Promise<Response> {\n const token = overrideToken ?? this.getAccessToken();\n const workspaceId = this.getWorkspaceId();\n\n const headers: Record<string, string> = {\n ...(init.body && typeof init.body === \"string\"\n ? { \"Content-Type\": \"application/json\" }\n : {}),\n ...(token ? { Authorization: `Bearer ${token}` } : {}),\n ...(workspaceId ? { \"X-Workspace-ID\": workspaceId } : {}),\n ...((init.headers as Record<string, string>) || {}),\n };\n\n const res = await this.fetchFn(`${this.baseUrl}${path}`, {\n ...init,\n headers,\n });\n\n if (res.status === 401 && !isRetry && this.refreshAccessToken) {\n try {\n const refreshedToken = await this.refreshToken();\n const nextToken =\n typeof refreshedToken === \"string\" && refreshedToken.length > 0\n ? refreshedToken\n : undefined;\n return await this.execute(path, init, nextToken, true);\n } catch (refreshErr) {\n throw refreshErr;\n }\n }\n\n if (!res.ok) {\n const errorText = await res.text().catch(() => \"\");\n if (res.status === 404) {\n throw new NotFoundError(res.statusText, errorText);\n }\n throw new RestError(res.status, res.statusText, errorText);\n }\n\n return res;\n }\n\n async request<T>(path: string, init: RequestInit = {}): Promise<T> {\n const res = await this.execute(path, {\n ...init,\n headers: {\n Accept: \"application/json\",\n ...((init.headers as Record<string, string>) || {}),\n },\n });\n\n if (res.status === 204) {\n return undefined as T;\n }\n\n return (await res.json()) as T;\n }\n\n async requestData<T>(path: string, init: RequestInit = {}): Promise<T> {\n const res = await this.request<{ data: T }>(path, init);\n return res.data;\n }\n\n async requestBlob(path: string, init: RequestInit = {}): Promise<Blob> {\n const res = await this.execute(path, init);\n return res.blob();\n }\n}\n\nexport { RestError, NotFoundError, isNotFoundError };\n"]}
1
+ {"version":3,"sources":["../../../../src/fabric/services/rest/errors.ts","../../../../src/fabric/services/rest/client/base.ts","../../../../src/fabric/services/rest/client/users.ts","../../../../src/fabric/services/rest/client/channels.ts","../../../../src/fabric/services/rest/client/channel_numbers.ts","../../../../src/fabric/services/rest/client/phones.ts","../../../../src/fabric/services/rest/client/phone_numbers.ts","../../../../src/fabric/services/rest/client/business_hours.ts","../../../../src/fabric/services/rest/client/tags.ts","../../../../src/fabric/services/rest/client/domains.ts","../../../../src/fabric/services/rest/client/workspace.ts","../../../../src/fabric/services/rest/client/files.ts","../../../../src/fabric/services/rest/client/prompts.ts","../../../../src/fabric/services/rest/client/voices.ts","../../../../src/fabric/services/rest/client/invoices.ts","../../../../src/fabric/services/rest/client/payment_methods.ts","../../../../src/fabric/services/rest/client/subscriptions.ts","../../../../src/fabric/services/rest/client/analytics.ts","../../../../src/fabric/services/rest/client.ts"],"names":["atom","MiniSearch"],"mappings":"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","file":"client.cjs","sourcesContent":["export class RestError extends Error {\n readonly status: number;\n readonly statusText: string;\n readonly body?: string;\n\n constructor(status: number, statusText: string, body?: string) {\n super(`HTTP ${status} ${statusText}: ${body ?? \"\"}`);\n this.name = \"RestError\";\n this.status = status;\n this.statusText = statusText;\n this.body = body;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n\nexport class NotFoundError extends RestError {\n constructor(statusText: string = \"Not Found\", body?: string) {\n super(404, statusText, body);\n this.name = \"NotFoundError\";\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n\nexport function isNotFoundError(error: unknown): error is NotFoundError {\n if (error instanceof NotFoundError) {\n return true;\n }\n if (error instanceof RestError && error.status === 404) {\n return true;\n }\n if (\n typeof error === \"object\" &&\n error !== null &&\n (error as { status?: number }).status === 404\n ) {\n return true;\n }\n return false;\n}\n","import MiniSearch from \"minisearch\";\nimport { atom, type ReadableAtom, type WritableAtom } from \"nanostores\";\n\nexport type { ReadableAtom };\n\nexport interface RestTransport {\n request<T>(path: string, init?: RequestInit): Promise<T>;\n requestData<T>(path: string, init?: RequestInit): Promise<T>;\n requestBlob(path: string, init?: RequestInit): Promise<Blob>;\n}\n\nexport abstract class BaseResourceClient<T extends { id: string } = any> {\n protected readonly items = new Map<string, T>();\n protected isLoaded = false;\n protected searchIndex?: MiniSearch;\n\n private readonly _version: WritableAtom<number> = atom(1);\n\n readonly $version: ReadableAtom<number> = this._version;\n\n get version(): number {\n return this._version.get();\n }\n\n get loaded(): boolean {\n return this.isLoaded;\n }\n\n constructor(protected readonly transport: RestTransport) {}\n\n /**\n * Returns all items currently stored in cache.\n */\n all(): T[] {\n return Array.from(this.items.values());\n }\n\n /**\n * Synchronously finds an item in cache by ID.\n */\n find(id: string): T | undefined {\n return this.items.get(id);\n }\n\n /**\n * Synchronously finds multiple items in cache by ID.\n */\n getMany(...ids: string[]): T[] {\n const results: T[] = [];\n for (const id of ids) {\n const item = this.items.get(id);\n if (item) results.push(item);\n }\n return results;\n }\n\n /**\n * Searches cached items by search term using MiniSearch prefix matching.\n * If search term is empty, returns all items.\n */\n search(term: string): T[] {\n const trimmed = term.trim();\n if (!trimmed || !this.searchIndex) {\n return this.all();\n }\n const results = this.searchIndex.search(trimmed, { prefix: true });\n const matched: T[] = [];\n for (const r of results) {\n const item = this.items.get(r.id);\n if (item) matched.push(item);\n }\n return matched;\n }\n\n /**\n * Hook for subclasses to define what fields get indexed for search.\n */\n protected extractSearchTerms(item: T): string {\n return Object.values(item as Record<string, unknown>)\n .filter((v) => typeof v === \"string\" || typeof v === \"number\")\n .join(\" \")\n .toLowerCase();\n }\n\n /**\n * Adds or replaces an item in the search index.\n */\n protected indexItem(item: T): void {\n if (!this.searchIndex) {\n this.searchIndex = new MiniSearch({\n fields: [\"terms\"],\n storeFields: [\"id\"],\n });\n }\n const doc = { id: item.id, terms: this.extractSearchTerms(item) };\n if (this.searchIndex.has(item.id)) {\n this.searchIndex.replace(doc);\n } else {\n this.searchIndex.add(doc);\n }\n }\n\n /**\n * Sets or updates a single item in cache and search index.\n */\n protected setItem(item: T): void {\n this.items.set(item.id, item);\n this.indexItem(item);\n }\n\n /**\n * Removes a single item from cache and search index.\n */\n protected removeItem(id: string): void {\n this.items.delete(id);\n if (this.searchIndex?.has(id)) {\n this.searchIndex.discard(id);\n }\n }\n\n /**\n * Populates cache and search index with all items, marking the client as loaded.\n */\n protected setAll(items: T[]): void {\n this.items.clear();\n this.searchIndex?.removeAll();\n for (const item of items) {\n this.items.set(item.id, item);\n this.indexItem(item);\n }\n this.isLoaded = true;\n this.bump();\n }\n\n /**\n * Clears the in-memory cache and search index.\n */\n clearCache(): void {\n this.items.clear();\n this.searchIndex?.removeAll();\n this.isLoaded = false;\n this.bump();\n }\n\n bump(): void {\n this._version.set(this._version.get() + 1);\n }\n}\n","import type { User } from \"../../../domains/workspace/user.js\";\nimport type { CreateUserRequest, UpdateUserRequest } from \"../dto/user.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class UsersClient extends BaseResourceClient<User> {\n protected override extractSearchTerms(user: User): string {\n return `${user.first_name} ${user.last_name} ${user.display_name ?? \"\"} ${user.email} ${user.extension ?? \"\"}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<User[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const users = await this.transport.requestData<User[]>(\"/users\");\n this.setAll(users);\n return users;\n }\n\n async load(force = false): Promise<User[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<User> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const user = await this.transport.requestData<User>(`/users/${id}`);\n this.setItem(user);\n this.bump();\n return user;\n }\n\n async create(data: CreateUserRequest): Promise<User> {\n const user = await this.transport.requestData<User>(\"/users\", {\n method: \"POST\",\n body: JSON.stringify(data),\n });\n this.setItem(user);\n this.bump();\n return user;\n }\n\n async update(id: string, data: UpdateUserRequest): Promise<User> {\n const user = await this.transport.requestData<User>(`/users/${id}`, {\n method: \"PATCH\",\n body: JSON.stringify(data),\n });\n this.setItem(user);\n this.bump();\n return user;\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/users/${id}`, { method: \"DELETE\" });\n this.removeItem(id);\n this.bump();\n }\n}\n","import type { Channel } from \"../../../domains/workspace/channel.js\";\nimport type {\n CreateChannelRequest,\n UpdateChannelRequest,\n} from \"../dto/channel.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class ChannelsClient extends BaseResourceClient<Channel> {\n protected override extractSearchTerms(channel: Channel): string {\n return `${channel.name}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<Channel[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const channels = await this.transport.requestData<Channel[]>(\"/channels\");\n this.setAll(channels);\n return channels;\n }\n\n async load(force = false): Promise<Channel[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<Channel> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const channel = await this.transport.requestData<Channel>(\n `/channels/${id}`,\n );\n this.setItem(channel);\n this.bump();\n return channel;\n }\n\n async create(data: CreateChannelRequest): Promise<Channel> {\n const channel = await this.transport.requestData<Channel>(\"/channels\", {\n method: \"POST\",\n body: JSON.stringify(data),\n });\n this.setItem(channel);\n this.bump();\n return channel;\n }\n\n async update(id: string, data: UpdateChannelRequest): Promise<Channel> {\n const channel = await this.transport.requestData<Channel>(\n `/channels/${id}`,\n {\n method: \"PATCH\",\n body: JSON.stringify(data),\n },\n );\n this.setItem(channel);\n this.bump();\n return channel;\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/channels/${id}`, {\n method: \"DELETE\",\n });\n this.removeItem(id);\n this.bump();\n }\n\n publicChannels(): Channel[] {\n return this.all().filter((c) => !c.is_private);\n }\n}\n","import type { ChannelNumber } from \"../../../domains/workspace/channel_number.js\";\nimport type {\n CreateChannelNumberRequest,\n UpdateChannelNumberRequest,\n} from \"../dto/channel_number.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class ChannelNumbersClient extends BaseResourceClient<ChannelNumber> {\n protected override extractSearchTerms(item: ChannelNumber): string {\n const rawCid = item.cid || \"\";\n const cleanCid = rawCid.replace(/^\\+/, \"\");\n return `${item.name || \"\"} ${rawCid} ${cleanCid} ${item.label || \"\"} ${item.country || \"\"}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<ChannelNumber[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items =\n await this.transport.requestData<ChannelNumber[]>(\"/channel-numbers\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<ChannelNumber[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<ChannelNumber> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<ChannelNumber>(\n `/channel-numbers/${id}`,\n );\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async create(data: CreateChannelNumberRequest): Promise<ChannelNumber> {\n const channelNumber = await this.transport.requestData<ChannelNumber>(\n \"/channel-numbers\",\n {\n method: \"POST\",\n body: JSON.stringify(data),\n },\n );\n this.setItem(channelNumber);\n this.bump();\n return channelNumber;\n }\n\n async update(\n id: string,\n data: UpdateChannelNumberRequest,\n ): Promise<ChannelNumber> {\n const channelNumber = await this.transport.requestData<ChannelNumber>(\n `/channel-numbers/${id}`,\n {\n method: \"PATCH\",\n body: JSON.stringify(data),\n },\n );\n this.setItem(channelNumber);\n this.bump();\n return channelNumber;\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/channel-numbers/${id}`, {\n method: \"DELETE\",\n });\n this.removeItem(id);\n this.bump();\n }\n}\n","import type { Phone } from \"../../../domains/workspace/phone.js\";\nimport type {\n CreatePhoneRequest,\n UpdatePhoneRequest,\n PhoneConfigResponse,\n} from \"../dto/phone.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class PhonesClient extends BaseResourceClient<Phone> {\n protected override extractSearchTerms(item: Phone): string {\n const rawMac = item.mac_address || \"\";\n const cleanMac = rawMac.replace(/[:-]/g, \"\");\n return `${item.name} ${item.model} ${item.serial_number || \"\"} ${rawMac} ${cleanMac} ${item.location}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<Phone[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items = await this.transport.requestData<Phone[]>(\"/phones\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<Phone[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<Phone> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<Phone>(`/phones/${id}`);\n this.setItem(item);\n this.bump();\n return item;\n }\n\n getConfig(id: string): Promise<PhoneConfigResponse> {\n return this.transport.request<PhoneConfigResponse>(`/phones/${id}/config`);\n }\n\n async create(data: CreatePhoneRequest): Promise<Phone> {\n const item = await this.transport.requestData<Phone>(\"/phones\", {\n method: \"POST\",\n body: JSON.stringify(data),\n });\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async update(id: string, data: UpdatePhoneRequest): Promise<Phone> {\n const item = await this.transport.requestData<Phone>(`/phones/${id}`, {\n method: \"PATCH\",\n body: JSON.stringify(data),\n });\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/phones/${id}`, { method: \"DELETE\" });\n this.removeItem(id);\n this.bump();\n }\n}\n","import type { PhoneNumber } from \"../../../domains/workspace/phone_number.js\";\nimport type { UpdatePhoneNumberRequest } from \"../dto/phone_number.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class PhoneNumbersClient extends BaseResourceClient<PhoneNumber> {\n protected override extractSearchTerms(item: PhoneNumber): string {\n const rawStart = item.range_start || \"\";\n const rawEnd = item.range_end || \"\";\n const cleanStart = rawStart.replace(/^\\+/, \"\");\n const cleanEnd = rawEnd.replace(/^\\+/, \"\");\n return `${item.name} ${rawStart} ${cleanStart} ${rawEnd} ${cleanEnd} ${item.country}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<PhoneNumber[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items =\n await this.transport.requestData<PhoneNumber[]>(\"/phone-numbers\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<PhoneNumber[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<PhoneNumber> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<PhoneNumber>(\n `/phone-numbers/${id}`,\n );\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async update(\n id: string,\n data: UpdatePhoneNumberRequest,\n ): Promise<PhoneNumber> {\n const item = await this.transport.requestData<PhoneNumber>(\n `/phone-numbers/${id}`,\n {\n method: \"PATCH\",\n body: JSON.stringify(data),\n },\n );\n this.setItem(item);\n this.bump();\n return item;\n }\n}\n","import type { BusinessHours } from \"../../../domains/workspace/business_hours.js\";\nimport type {\n CreateBusinessHoursRequest,\n UpdateBusinessHoursRequest,\n} from \"../dto/business_hours.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class BusinessHoursClient extends BaseResourceClient<BusinessHours> {\n protected override extractSearchTerms(item: BusinessHours): string {\n return `${item.name} ${item.timezone}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<BusinessHours[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items =\n await this.transport.requestData<BusinessHours[]>(\"/business-hours\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<BusinessHours[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<BusinessHours> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<BusinessHours>(\n `/business-hours/${id}`,\n );\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async create(data: CreateBusinessHoursRequest): Promise<BusinessHours> {\n const item = await this.transport.requestData<BusinessHours>(\n \"/business-hours\",\n {\n method: \"POST\",\n body: JSON.stringify(data),\n },\n );\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async update(\n id: string,\n data: UpdateBusinessHoursRequest,\n ): Promise<BusinessHours> {\n const item = await this.transport.requestData<BusinessHours>(\n `/business-hours/${id}`,\n {\n method: \"PATCH\",\n body: JSON.stringify(data),\n },\n );\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/business-hours/${id}`, {\n method: \"DELETE\",\n });\n this.removeItem(id);\n this.bump();\n }\n}\n","import type { Tag } from \"../../../domains/workspace/tag.js\";\nimport type { CreateTagRequest, UpdateTagRequest } from \"../dto/tag.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class TagsClient extends BaseResourceClient<Tag> {\n protected override extractSearchTerms(item: Tag): string {\n return `${item.name} ${item.color} ${item.scopes.join(\" \")}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<Tag[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items = await this.transport.requestData<Tag[]>(\"/tags\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<Tag[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<Tag> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<Tag>(`/tags/${id}`);\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async create(data: CreateTagRequest): Promise<Tag> {\n const tag = await this.transport.requestData<Tag>(\"/tags\", {\n method: \"POST\",\n body: JSON.stringify(data),\n });\n this.setItem(tag);\n this.bump();\n return tag;\n }\n\n async update(id: string, data: UpdateTagRequest): Promise<Tag> {\n const tag = await this.transport.requestData<Tag>(`/tags/${id}`, {\n method: \"PATCH\",\n body: JSON.stringify(data),\n });\n this.setItem(tag);\n this.bump();\n return tag;\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/tags/${id}`, { method: \"DELETE\" });\n this.removeItem(id);\n this.bump();\n }\n}\n","import type { Domain } from \"../../../domains/workspace/domain.js\";\nimport type {\n CreateDomainRequest,\n UpdateDomainRequest,\n} from \"../dto/domain.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class DomainsClient extends BaseResourceClient<Domain> {\n protected override extractSearchTerms(item: Domain): string {\n return item.domain.toLowerCase();\n }\n\n async listAll(force = false): Promise<Domain[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items = await this.transport.requestData<Domain[]>(\"/domains\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<Domain[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<Domain> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<Domain>(`/domains/${id}`);\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async create(data: CreateDomainRequest): Promise<Domain> {\n const domain = await this.transport.requestData<Domain>(\"/domains\", {\n method: \"POST\",\n body: JSON.stringify(data),\n });\n this.setItem(domain);\n this.bump();\n return domain;\n }\n\n async update(id: string, data: UpdateDomainRequest): Promise<Domain> {\n const domain = await this.transport.requestData<Domain>(`/domains/${id}`, {\n method: \"PATCH\",\n body: JSON.stringify(data),\n });\n this.setItem(domain);\n this.bump();\n return domain;\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/domains/${id}`, { method: \"DELETE\" });\n this.removeItem(id);\n this.bump();\n }\n}\n","import type {\n WorkspaceBillingProfile,\n UpdateWorkspaceRequest,\n} from \"../dto/workspace.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class WorkspaceClient extends BaseResourceClient {\n private cachedProfile: WorkspaceBillingProfile | null = null;\n\n async get(force = false): Promise<WorkspaceBillingProfile> {\n if (this.cachedProfile && !force) {\n return this.cachedProfile;\n }\n const profile =\n await this.transport.requestData<WorkspaceBillingProfile>(\"/workspace\");\n this.cachedProfile = profile;\n this.bump();\n return profile;\n }\n\n async load(force = false): Promise<WorkspaceBillingProfile> {\n return this.get(force);\n }\n\n current(): WorkspaceBillingProfile | null {\n return this.cachedProfile;\n }\n\n async update(data: UpdateWorkspaceRequest): Promise<WorkspaceBillingProfile> {\n const profile = await this.transport.requestData<WorkspaceBillingProfile>(\n \"/workspace\",\n {\n method: \"PATCH\",\n body: JSON.stringify(data),\n },\n );\n this.cachedProfile = profile;\n this.bump();\n return profile;\n }\n\n override clearCache(): void {\n super.clearCache();\n this.cachedProfile = null;\n }\n}\n","import type { FileDownloadLink, FileUploadLink } from \"../dto/file.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class FilesClient extends BaseResourceClient {\n getDownloadLink(path: string): Promise<FileDownloadLink> {\n return this.transport.requestData<FileDownloadLink>(\n \"/files/link/download\",\n {\n headers: { \"X-File-Path\": path },\n },\n );\n }\n\n getUploadLink(\n category: string,\n entityId?: string,\n extension?: string,\n ): Promise<FileUploadLink> {\n const params = new URLSearchParams({ category });\n if (entityId) params.append(\"entity_id\", entityId);\n if (extension) params.append(\"extension\", extension);\n return this.transport.requestData<FileUploadLink>(\n `/files/link/upload?${params.toString()}`,\n );\n }\n\n async uploadToS3(data: Blob | ArrayBuffer, url: string): Promise<void> {\n const response = await fetch(url, {\n method: \"PUT\",\n body: data,\n });\n if (!response.ok) {\n throw new Error(`S3 Upload failed: ${response.statusText}`);\n }\n }\n\n async uploadBlob(\n blob: Blob,\n entityId?: string,\n category = \"track\",\n extension = \"wav\",\n ): Promise<string> {\n const { url, path } = await this.getUploadLink(\n category,\n entityId,\n extension,\n );\n await this.uploadToS3(blob, url);\n return path;\n }\n\n async uploadTrack(\n file: { name: string } & Blob,\n entityId?: string,\n ): Promise<{ path: string; name: string }> {\n const extension = file.name.split(\".\").pop()?.toLowerCase() || \"wav\";\n const { url, path } = await this.getUploadLink(\n \"track\",\n entityId,\n extension,\n );\n await this.uploadToS3(file, url);\n return { path, name: file.name };\n }\n}\n","import type { Prompt } from \"../../../domains/workspace/prompt.js\";\nimport type {\n CreatePromptRequest,\n UpdatePromptRequest,\n} from \"../dto/prompt.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class PromptsClient extends BaseResourceClient<Prompt> {\n protected override extractSearchTerms(item: Prompt): string {\n return `${item.name} ${item.entity_id}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<Prompt[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items = await this.transport.requestData<Prompt[]>(\"/prompts\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<Prompt[]> {\n return this.listAll(force);\n }\n\n listAllMy(): Promise<Prompt[]> {\n return this.transport.requestData<Prompt[]>(\"/prompts/my\");\n }\n\n async get(id: string, force = false): Promise<Prompt> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<Prompt>(`/prompts/${id}`);\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async create(data: CreatePromptRequest): Promise<Prompt> {\n const prompt = await this.transport.requestData<Prompt>(\"/prompts\", {\n method: \"POST\",\n body: JSON.stringify(data),\n });\n this.setItem(prompt);\n this.bump();\n return prompt;\n }\n\n async update(id: string, data: UpdatePromptRequest): Promise<Prompt> {\n const prompt = await this.transport.requestData<Prompt>(`/prompts/${id}`, {\n method: \"PATCH\",\n body: JSON.stringify(data),\n });\n this.setItem(prompt);\n this.bump();\n return prompt;\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/prompts/${id}`, { method: \"DELETE\" });\n this.removeItem(id);\n this.bump();\n }\n}\n","import type { Voice } from \"../../../domains/workspace/voice.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class VoicesClient extends BaseResourceClient<Voice> {\n protected override extractSearchTerms(item: Voice): string {\n return `${item.name} ${item.language_code} ${item.gender} ${item.provider}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<Voice[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items = await this.transport.requestData<Voice[]>(\"/voices\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<Voice[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<Voice> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<Voice>(`/voices/${id}`);\n this.setItem(item);\n this.bump();\n return item;\n }\n\n voiceAgents(): Voice[] {\n return this.all().filter(\n (v) => v.scope.toLowerCase().replace(/[-_]/g, \"\") === \"voiceagent\",\n );\n }\n\n synthesize(id: string, ssml: string): Promise<Blob> {\n return this.transport.requestBlob(`/voices/${id}/tts/synthesize`, {\n method: \"POST\",\n body: JSON.stringify({ ssml }),\n });\n }\n}\n","import type { Invoice } from \"../../../domains/workspace/invoice.js\";\nimport type { InvoicePaymentUrlResponse } from \"../dto/invoice.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class InvoicesClient extends BaseResourceClient<Invoice> {\n protected override extractSearchTerms(item: Invoice): string {\n return `${item.number} ${item.status}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<Invoice[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items = await this.transport.requestData<Invoice[]>(\"/invoices\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<Invoice[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<Invoice> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<Invoice>(`/invoices/${id}`);\n this.setItem(item);\n this.bump();\n return item;\n }\n\n getPaymentUrl(id: string): Promise<InvoicePaymentUrlResponse> {\n return this.transport.request<InvoicePaymentUrlResponse>(\n `/invoices/${id}/payment-url`,\n );\n }\n\n download(id: string): Promise<Blob> {\n return this.transport.requestBlob(`/invoices/${id}/download`);\n }\n}\n","import type { PaymentMethod } from \"../../../domains/workspace/payment_method.js\";\nimport type {\n CreatePaymentMethodRequest,\n CreatePaymentMethodUrlResponse,\n} from \"../dto/payment_method.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class PaymentMethodsClient extends BaseResourceClient<PaymentMethod> {\n protected override extractSearchTerms(item: PaymentMethod): string {\n return (item.last_four || item.last_four_digits || \"\").toLowerCase();\n }\n\n async listAll(force = false): Promise<PaymentMethod[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items =\n await this.transport.requestData<PaymentMethod[]>(\"/payment-methods\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<PaymentMethod[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<PaymentMethod> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<PaymentMethod>(\n `/payment-methods/${id}`,\n );\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async create(data: CreatePaymentMethodRequest): Promise<PaymentMethod> {\n const item = await this.transport.requestData<PaymentMethod>(\n \"/payment-methods\",\n {\n method: \"POST\",\n body: JSON.stringify(data),\n },\n );\n if (item.is_primary) {\n for (const existing of this.items.values()) {\n existing.is_primary = existing.id === item.id;\n }\n }\n this.setItem(item);\n this.bump();\n return item;\n }\n\n createUrl(): Promise<CreatePaymentMethodUrlResponse> {\n return this.transport.request<CreatePaymentMethodUrlResponse>(\n \"/payment-methods/create-url\",\n );\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/payment-methods/${id}`, {\n method: \"DELETE\",\n });\n this.removeItem(id);\n this.bump();\n }\n\n async setAsPrimary(id: string): Promise<PaymentMethod> {\n const paymentMethod = await this.transport.requestData<PaymentMethod>(\n `/payment-methods/${id}/set-as-primary`,\n { method: \"POST\" },\n );\n for (const item of this.items.values()) {\n item.is_primary = item.id === id;\n }\n this.setItem(paymentMethod);\n this.bump();\n return paymentMethod;\n }\n}\n","import type { Subscription } from \"../../../domains/workspace/subscription.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class SubscriptionsClient extends BaseResourceClient {\n private cachedSubscription: Subscription | null = null;\n\n async get(force = false): Promise<Subscription> {\n if (this.cachedSubscription && !force) {\n return this.cachedSubscription;\n }\n const sub = await this.transport.requestData<Subscription>(\"/subscription\");\n this.cachedSubscription = sub;\n this.bump();\n return sub;\n }\n\n async load(force = false): Promise<Subscription> {\n return this.get(force);\n }\n\n current(): Subscription | null {\n return this.cachedSubscription;\n }\n\n override clearCache(): void {\n super.clearCache();\n this.cachedSubscription = null;\n }\n}\n","import type { CallEvent, CallLog } from \"../../../domains/analytics/call.js\";\nimport type { UtteranceLite } from \"../../../domains/analytics/utterance.js\";\nimport type { GetCallLogsRequest } from \"../dto/analytics.js\";\nimport { isNotFoundError } from \"../errors.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport interface PaginatedCallLogsResponse {\n data: CallLog[];\n links?: {\n first?: string | null;\n last?: string | null;\n prev?: string | null;\n next?: string | null;\n };\n meta?: {\n current_page: number;\n from?: number | null;\n last_page: number;\n per_page: number;\n to?: number | null;\n total: number;\n };\n}\n\nexport class AnalyticsClient extends BaseResourceClient {\n listCallLogs(\n params: GetCallLogsRequest = {},\n ): Promise<PaginatedCallLogsResponse> {\n const query = new URLSearchParams();\n if (params.from) query.append(\"from\", params.from);\n if (params.to) query.append(\"to\", params.to);\n if (params.page) query.append(\"page\", String(params.page));\n if (params.per_page) query.append(\"per_page\", String(params.per_page));\n if (params.status) {\n params.status.forEach((s) => query.append(\"status[]\", s));\n }\n if (params.category) {\n params.category.forEach((c) => query.append(\"category[]\", c));\n }\n if (params.user_id) {\n params.user_id.forEach((u) => query.append(\"user_id[]\", u));\n }\n const qs = query.toString();\n const queryString = qs ? `?${qs}` : \"\";\n\n return this.transport\n .request<PaginatedCallLogsResponse>(`/analytics/call-logs${queryString}`)\n .catch((err) => {\n if (isNotFoundError(err)) {\n return this.transport.request<PaginatedCallLogsResponse>(\n `/reports/call-logs${queryString}`,\n );\n }\n throw err;\n });\n }\n\n async listCallEvents(callLogId: string): Promise<CallEvent[]> {\n return this.transport\n .requestData<CallEvent[]>(`/analytics/call-logs/${callLogId}/events`)\n .catch((err) => {\n if (isNotFoundError(err)) {\n return this.transport.requestData<CallEvent[]>(\n `/reports/call-logs/${callLogId}/events`,\n );\n }\n throw err;\n });\n }\n\n listCallUtterances(callLogId: string): Promise<UtteranceLite[]> {\n return this.transport.requestData<UtteranceLite[]>(\n `/analytics/call-logs/${callLogId}/utterances`,\n );\n }\n}\n","import type { FetchFn } from \"../account/client.js\";\nimport { RestError, NotFoundError, isNotFoundError } from \"./errors.js\";\nimport type { RestTransport } from \"./client/base.js\";\nimport { UsersClient } from \"./client/users.js\";\nimport { ChannelsClient } from \"./client/channels.js\";\nimport { ChannelNumbersClient } from \"./client/channel_numbers.js\";\nimport { PhonesClient } from \"./client/phones.js\";\nimport { PhoneNumbersClient } from \"./client/phone_numbers.js\";\nimport { BusinessHoursClient } from \"./client/business_hours.js\";\nimport { TagsClient } from \"./client/tags.js\";\nimport { DomainsClient } from \"./client/domains.js\";\nimport { WorkspaceClient } from \"./client/workspace.js\";\nimport { FilesClient } from \"./client/files.js\";\nimport { PromptsClient } from \"./client/prompts.js\";\nimport { VoicesClient } from \"./client/voices.js\";\nimport { InvoicesClient } from \"./client/invoices.js\";\nimport { PaymentMethodsClient } from \"./client/payment_methods.js\";\nimport { SubscriptionsClient } from \"./client/subscriptions.js\";\nimport { AnalyticsClient } from \"./client/analytics.js\";\n\nexport type RefreshTokenFn = () => Promise<string | void | undefined>;\n\nexport interface WorkspaceRestClientConfig {\n baseUrl: string;\n getAccessToken: () => string | undefined;\n getWorkspaceId: () => string | undefined;\n refreshAccessToken?: RefreshTokenFn;\n fetch?: FetchFn;\n}\n\nexport class WorkspaceRestClient implements RestTransport {\n private baseUrl: string;\n private getAccessToken: () => string | undefined;\n private getWorkspaceId: () => string | undefined;\n private refreshAccessToken?: RefreshTokenFn;\n private fetchFn: FetchFn;\n private refreshPromise: Promise<string | void | undefined> | null = null;\n\n readonly users: UsersClient;\n readonly channels: ChannelsClient;\n readonly channelNumbers: ChannelNumbersClient;\n readonly phones: PhonesClient;\n readonly phoneNumbers: PhoneNumbersClient;\n readonly businessHours: BusinessHoursClient;\n readonly tags: TagsClient;\n readonly domains: DomainsClient;\n readonly workspace: WorkspaceClient;\n readonly files: FilesClient;\n readonly prompts: PromptsClient;\n readonly voices: VoicesClient;\n readonly invoices: InvoicesClient;\n readonly paymentMethods: PaymentMethodsClient;\n readonly subscriptions: SubscriptionsClient;\n readonly analytics: AnalyticsClient;\n\n constructor(config: WorkspaceRestClientConfig) {\n this.baseUrl = config.baseUrl.replace(/\\/+$/, \"\");\n this.getAccessToken = config.getAccessToken;\n this.getWorkspaceId = config.getWorkspaceId;\n this.refreshAccessToken = config.refreshAccessToken;\n this.fetchFn = config.fetch ?? globalThis.fetch.bind(globalThis);\n\n this.users = new UsersClient(this);\n this.channels = new ChannelsClient(this);\n this.channelNumbers = new ChannelNumbersClient(this);\n this.phones = new PhonesClient(this);\n this.phoneNumbers = new PhoneNumbersClient(this);\n this.businessHours = new BusinessHoursClient(this);\n this.tags = new TagsClient(this);\n this.domains = new DomainsClient(this);\n this.workspace = new WorkspaceClient(this);\n this.files = new FilesClient(this);\n this.prompts = new PromptsClient(this);\n this.voices = new VoicesClient(this);\n this.invoices = new InvoicesClient(this);\n this.paymentMethods = new PaymentMethodsClient(this);\n this.subscriptions = new SubscriptionsClient(this);\n this.analytics = new AnalyticsClient(this);\n }\n\n clearCaches(): void {\n this.users.clearCache();\n this.channels.clearCache();\n this.channelNumbers.clearCache();\n this.phones.clearCache();\n this.phoneNumbers.clearCache();\n this.businessHours.clearCache();\n this.tags.clearCache();\n this.domains.clearCache();\n this.workspace.clearCache();\n this.files.clearCache();\n this.prompts.clearCache();\n this.voices.clearCache();\n this.invoices.clearCache();\n this.paymentMethods.clearCache();\n this.subscriptions.clearCache();\n }\n\n private async refreshToken(): Promise<string | void | undefined> {\n if (!this.refreshAccessToken) {\n return undefined;\n }\n if (!this.refreshPromise) {\n this.refreshPromise = (async () => {\n try {\n return await this.refreshAccessToken!();\n } finally {\n this.refreshPromise = null;\n }\n })();\n }\n return this.refreshPromise;\n }\n\n private async execute(\n path: string,\n init: RequestInit = {},\n overrideToken?: string,\n isRetry = false,\n ): Promise<Response> {\n const token = overrideToken ?? this.getAccessToken();\n const workspaceId = this.getWorkspaceId();\n\n const headers: Record<string, string> = {\n ...(init.body && typeof init.body === \"string\"\n ? { \"Content-Type\": \"application/json\" }\n : {}),\n ...(token ? { Authorization: `Bearer ${token}` } : {}),\n ...(workspaceId ? { \"X-Workspace-ID\": workspaceId } : {}),\n ...((init.headers as Record<string, string>) || {}),\n };\n\n const res = await this.fetchFn(`${this.baseUrl}${path}`, {\n ...init,\n headers,\n });\n\n if (res.status === 401 && !isRetry && this.refreshAccessToken) {\n try {\n const refreshedToken = await this.refreshToken();\n const nextToken =\n typeof refreshedToken === \"string\" && refreshedToken.length > 0\n ? refreshedToken\n : undefined;\n return await this.execute(path, init, nextToken, true);\n } catch (refreshErr) {\n throw refreshErr;\n }\n }\n\n if (!res.ok) {\n const errorText = await res.text().catch(() => \"\");\n if (res.status === 404) {\n throw new NotFoundError(res.statusText, errorText);\n }\n throw new RestError(res.status, res.statusText, errorText);\n }\n\n return res;\n }\n\n async request<T>(path: string, init: RequestInit = {}): Promise<T> {\n const res = await this.execute(path, {\n ...init,\n headers: {\n Accept: \"application/json\",\n ...((init.headers as Record<string, string>) || {}),\n },\n });\n\n if (res.status === 204) {\n return undefined as T;\n }\n\n return (await res.json()) as T;\n }\n\n async requestData<T>(path: string, init: RequestInit = {}): Promise<T> {\n const res = await this.request<{ data: T }>(path, init);\n return res.data;\n }\n\n async requestBlob(path: string, init: RequestInit = {}): Promise<Blob> {\n const res = await this.execute(path, init);\n return res.blob();\n }\n}\n\nexport { RestError, NotFoundError, isNotFoundError };\n"]}
@@ -837,6 +837,23 @@ var PaymentMethodsClient = class extends BaseResourceClient {
837
837
  this.bump();
838
838
  return item;
839
839
  }
840
+ async create(data) {
841
+ const item = await this.transport.requestData(
842
+ "/payment-methods",
843
+ {
844
+ method: "POST",
845
+ body: JSON.stringify(data)
846
+ }
847
+ );
848
+ if (item.is_primary) {
849
+ for (const existing of this.items.values()) {
850
+ existing.is_primary = existing.id === item.id;
851
+ }
852
+ }
853
+ this.setItem(item);
854
+ this.bump();
855
+ return item;
856
+ }
840
857
  createUrl() {
841
858
  return this.transport.request(
842
859
  "/payment-methods/create-url"