@23blocks/angular 6.5.16 → 6.5.18
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.
- package/README.md +167 -380
- package/dist/README.md +167 -380
- package/dist/fesm2022/23blocks-angular.mjs +746 -7590
- package/dist/fesm2022/23blocks-angular.mjs.map +1 -1
- package/dist/index.d.ts +527 -3306
- package/dist/index.d.ts.map +1 -1
- package/package.json +20 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"23blocks-angular.mjs","sources":["../../src/lib/tokens.ts","../../src/lib/simple-providers.ts","../../src/lib/providers.ts","../../src/lib/authentication/authentication.service.ts","../../src/lib/search/search.service.ts","../../src/lib/products/products.service.ts","../../src/lib/crm/crm.service.ts","../../src/lib/content/content.service.ts","../../src/lib/geolocation/geolocation.service.ts","../../src/lib/conversations/conversations.service.ts","../../src/lib/files/files.service.ts","../../src/lib/forms/forms.service.ts","../../src/lib/assets/assets.service.ts","../../src/lib/campaigns/campaigns.service.ts","../../src/lib/company/company.service.ts","../../src/lib/rewards/rewards.service.ts","../../src/lib/sales/sales.service.ts","../../src/lib/wallet/wallet.service.ts","../../src/lib/jarvis/jarvis.service.ts","../../src/lib/onboarding/onboarding.service.ts","../../src/lib/university/university.service.ts","../../src/lib/index.ts","../../src/23blocks-angular.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport type { Transport } from '@23blocks/contracts';\nimport type { AuthenticationBlockConfig } from '@23blocks/block-authentication';\nimport type { SearchBlockConfig } from '@23blocks/block-search';\nimport type { GeolocationBlockConfig } from '@23blocks/block-geolocation';\nimport type { ContentBlockConfig } from '@23blocks/block-content';\nimport type { CrmBlockConfig } from '@23blocks/block-crm';\nimport type { ProductsBlockConfig } from '@23blocks/block-products';\nimport type { ConversationsBlockConfig } from '@23blocks/block-conversations';\nimport type { FilesBlockConfig } from '@23blocks/block-files';\nimport type { AssetsBlockConfig } from '@23blocks/block-assets';\nimport type { FormsBlockConfig } from '@23blocks/block-forms';\nimport type { SalesBlockConfig } from '@23blocks/block-sales';\nimport type { CampaignsBlockConfig } from '@23blocks/block-campaigns';\nimport type { CompanyBlockConfig } from '@23blocks/block-company';\nimport type { RewardsBlockConfig } from '@23blocks/block-rewards';\nimport type { JarvisBlockConfig } from '@23blocks/block-jarvis';\nimport type { OnboardingBlockConfig } from '@23blocks/block-onboarding';\nimport type { UniversityBlockConfig } from '@23blocks/block-university';\nimport type { WalletBlockConfig } from '@23blocks/block-wallet';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Transport Tokens (per-service)\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * @deprecated Use per-service transport tokens (AUTHENTICATION_TRANSPORT, etc.)\n * Shared transport token - only for backward compatibility with advanced API\n */\nexport const TRANSPORT = new InjectionToken<Transport>('23blocks.transport');\n\n/** Transport for Authentication service */\nexport const AUTHENTICATION_TRANSPORT = new InjectionToken<Transport | null>('23blocks.authentication.transport');\n\n/** Transport for Search service */\nexport const SEARCH_TRANSPORT = new InjectionToken<Transport | null>('23blocks.search.transport');\n\n/** Transport for Products service */\nexport const PRODUCTS_TRANSPORT = new InjectionToken<Transport | null>('23blocks.products.transport');\n\n/** Transport for CRM service */\nexport const CRM_TRANSPORT = new InjectionToken<Transport | null>('23blocks.crm.transport');\n\n/** Transport for Content service */\nexport const CONTENT_TRANSPORT = new InjectionToken<Transport | null>('23blocks.content.transport');\n\n/** Transport for Geolocation service */\nexport const GEOLOCATION_TRANSPORT = new InjectionToken<Transport | null>('23blocks.geolocation.transport');\n\n/** Transport for Conversations service */\nexport const CONVERSATIONS_TRANSPORT = new InjectionToken<Transport | null>('23blocks.conversations.transport');\n\n/** Transport for Files service */\nexport const FILES_TRANSPORT = new InjectionToken<Transport | null>('23blocks.files.transport');\n\n/** Transport for Forms service */\nexport const FORMS_TRANSPORT = new InjectionToken<Transport | null>('23blocks.forms.transport');\n\n/** Transport for Assets service */\nexport const ASSETS_TRANSPORT = new InjectionToken<Transport | null>('23blocks.assets.transport');\n\n/** Transport for Campaigns service */\nexport const CAMPAIGNS_TRANSPORT = new InjectionToken<Transport | null>('23blocks.campaigns.transport');\n\n/** Transport for Company service */\nexport const COMPANY_TRANSPORT = new InjectionToken<Transport | null>('23blocks.company.transport');\n\n/** Transport for Rewards service */\nexport const REWARDS_TRANSPORT = new InjectionToken<Transport | null>('23blocks.rewards.transport');\n\n/** Transport for Sales service */\nexport const SALES_TRANSPORT = new InjectionToken<Transport | null>('23blocks.sales.transport');\n\n/** Transport for Wallet service */\nexport const WALLET_TRANSPORT = new InjectionToken<Transport | null>('23blocks.wallet.transport');\n\n/** Transport for Jarvis service */\nexport const JARVIS_TRANSPORT = new InjectionToken<Transport | null>('23blocks.jarvis.transport');\n\n/** Transport for Onboarding service */\nexport const ONBOARDING_TRANSPORT = new InjectionToken<Transport | null>('23blocks.onboarding.transport');\n\n/** Transport for University service */\nexport const UNIVERSITY_TRANSPORT = new InjectionToken<Transport | null>('23blocks.university.transport');\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Config Tokens (per-service)\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Injection token for Authentication block configuration\n */\nexport const AUTHENTICATION_CONFIG = new InjectionToken<AuthenticationBlockConfig>(\n '23blocks.authentication.config'\n);\n\n/**\n * Injection token for Search block configuration\n */\nexport const SEARCH_CONFIG = new InjectionToken<SearchBlockConfig>(\n '23blocks.search.config'\n);\n\n/**\n * Injection token for Geolocation block configuration\n */\nexport const GEOLOCATION_CONFIG = new InjectionToken<GeolocationBlockConfig>(\n '23blocks.geolocation.config'\n);\n\n/**\n * Injection token for Content block configuration\n */\nexport const CONTENT_CONFIG = new InjectionToken<ContentBlockConfig>(\n '23blocks.content.config'\n);\n\n/**\n * Injection token for CRM block configuration\n */\nexport const CRM_CONFIG = new InjectionToken<CrmBlockConfig>(\n '23blocks.crm.config'\n);\n\n/**\n * Injection token for Products block configuration\n */\nexport const PRODUCTS_CONFIG = new InjectionToken<ProductsBlockConfig>(\n '23blocks.products.config'\n);\n\n/**\n * Injection token for Conversations block configuration\n */\nexport const CONVERSATIONS_CONFIG = new InjectionToken<ConversationsBlockConfig>(\n '23blocks.conversations.config'\n);\n\n/**\n * Injection token for Files block configuration\n */\nexport const FILES_CONFIG = new InjectionToken<FilesBlockConfig>(\n '23blocks.files.config'\n);\n\n/**\n * Injection token for Assets block configuration\n */\nexport const ASSETS_CONFIG = new InjectionToken<AssetsBlockConfig>(\n '23blocks.assets.config'\n);\n\n/**\n * Injection token for Forms block configuration\n */\nexport const FORMS_CONFIG = new InjectionToken<FormsBlockConfig>(\n '23blocks.forms.config'\n);\n\n/**\n * Injection token for Sales block configuration\n */\nexport const SALES_CONFIG = new InjectionToken<SalesBlockConfig>(\n '23blocks.sales.config'\n);\n\n/**\n * Injection token for Campaigns block configuration\n */\nexport const CAMPAIGNS_CONFIG = new InjectionToken<CampaignsBlockConfig>(\n '23blocks.campaigns.config'\n);\n\n/**\n * Injection token for Company block configuration\n */\nexport const COMPANY_CONFIG = new InjectionToken<CompanyBlockConfig>(\n '23blocks.company.config'\n);\n\n/**\n * Injection token for Rewards block configuration\n */\nexport const REWARDS_CONFIG = new InjectionToken<RewardsBlockConfig>(\n '23blocks.rewards.config'\n);\n\n/**\n * Injection token for Jarvis block configuration\n */\nexport const JARVIS_CONFIG = new InjectionToken<JarvisBlockConfig>(\n '23blocks.jarvis.config'\n);\n\n/**\n * Injection token for Onboarding block configuration\n */\nexport const ONBOARDING_CONFIG = new InjectionToken<OnboardingBlockConfig>(\n '23blocks.onboarding.config'\n);\n\n/**\n * Injection token for University block configuration\n */\nexport const UNIVERSITY_CONFIG = new InjectionToken<UniversityBlockConfig>(\n '23blocks.university.config'\n);\n\n/**\n * Injection token for Wallet block configuration\n */\nexport const WALLET_CONFIG = new InjectionToken<WalletBlockConfig>(\n '23blocks.wallet.config'\n);\n","import type { Provider, EnvironmentProviders } from '@angular/core';\nimport { InjectionToken, makeEnvironmentProviders } from '@angular/core';\nimport { createHttpTransport } from '@23blocks/transport-http';\nimport type { Transport } from '@23blocks/contracts';\nimport {\n TRANSPORT,\n // Per-service transport tokens\n AUTHENTICATION_TRANSPORT,\n SEARCH_TRANSPORT,\n PRODUCTS_TRANSPORT,\n CRM_TRANSPORT,\n CONTENT_TRANSPORT,\n GEOLOCATION_TRANSPORT,\n CONVERSATIONS_TRANSPORT,\n FILES_TRANSPORT,\n FORMS_TRANSPORT,\n ASSETS_TRANSPORT,\n CAMPAIGNS_TRANSPORT,\n COMPANY_TRANSPORT,\n REWARDS_TRANSPORT,\n SALES_TRANSPORT,\n WALLET_TRANSPORT,\n JARVIS_TRANSPORT,\n ONBOARDING_TRANSPORT,\n UNIVERSITY_TRANSPORT,\n // Config tokens\n AUTHENTICATION_CONFIG,\n SEARCH_CONFIG,\n PRODUCTS_CONFIG,\n CRM_CONFIG,\n CONTENT_CONFIG,\n GEOLOCATION_CONFIG,\n CONVERSATIONS_CONFIG,\n FILES_CONFIG,\n FORMS_CONFIG,\n ASSETS_CONFIG,\n CAMPAIGNS_CONFIG,\n COMPANY_CONFIG,\n REWARDS_CONFIG,\n SALES_CONFIG,\n WALLET_CONFIG,\n JARVIS_CONFIG,\n ONBOARDING_CONFIG,\n UNIVERSITY_CONFIG,\n} from './tokens';\n\n/**\n * Authentication mode\n */\nexport type AuthMode = 'token' | 'cookie';\n\n/**\n * Storage type for token mode\n */\nexport type StorageType = 'localStorage' | 'sessionStorage' | 'memory';\n\n/**\n * Service URL configuration - each microservice has its own URL.\n * All URLs are optional - only configure the services you need.\n */\nexport interface ServiceUrls {\n /** Authentication service URL */\n authentication?: string;\n /** Search service URL */\n search?: string;\n /** Products service URL */\n products?: string;\n /** CRM service URL */\n crm?: string;\n /** Content service URL */\n content?: string;\n /** Geolocation service URL */\n geolocation?: string;\n /** Conversations service URL */\n conversations?: string;\n /** Files service URL */\n files?: string;\n /** Forms service URL */\n forms?: string;\n /** Assets service URL */\n assets?: string;\n /** Campaigns service URL */\n campaigns?: string;\n /** Company service URL */\n company?: string;\n /** Rewards service URL */\n rewards?: string;\n /** Sales service URL */\n sales?: string;\n /** Wallet service URL */\n wallet?: string;\n /** Jarvis (AI) service URL */\n jarvis?: string;\n /** Onboarding service URL */\n onboarding?: string;\n /** University (LMS) service URL */\n university?: string;\n}\n\n/**\n * Configuration for providing 23blocks services\n */\nexport interface ProviderConfig {\n /**\n * Service URLs for each microservice.\n * Only configure the services you need - accessing a service without\n * a configured URL will throw an error.\n *\n * @example\n * ```typescript\n * provideBlocks23({\n * apiKey: 'your-api-key',\n * urls: {\n * authentication: 'https://gateway.23blocks.com',\n * crm: 'https://crm.23blocks.com',\n * products: 'https://products.23blocks.com',\n * },\n * })\n * ```\n */\n urls: ServiceUrls;\n\n /**\n * API Key for authenticating with 23blocks services\n */\n apiKey: string;\n\n /**\n * Tenant ID (optional, for multi-tenant setups)\n */\n tenantId?: string;\n\n /**\n * Authentication mode\n * - 'token' (default): SDK stores tokens in localStorage/sessionStorage/memory\n * - 'cookie': Backend manages auth via httpOnly cookies\n */\n authMode?: AuthMode;\n\n /**\n * Storage type for token mode\n * @default 'localStorage'\n */\n storage?: StorageType;\n\n /**\n * Additional headers to include with every request\n */\n headers?: Record<string, string>;\n\n /**\n * Request timeout in milliseconds\n * @default 30000\n */\n timeout?: number;\n}\n\n/**\n * Injection token for the token manager (internal use)\n */\nexport const TOKEN_MANAGER = new InjectionToken<TokenManagerService>('23blocks.token-manager');\n\n/**\n * Injection token for provider config\n */\nexport const PROVIDER_CONFIG = new InjectionToken<ProviderConfig>('23blocks.provider-config');\n\n/** @deprecated Use PROVIDER_CONFIG instead */\nexport const SIMPLE_CONFIG = PROVIDER_CONFIG;\n\n/**\n * Token manager interface\n */\nexport interface TokenManagerService {\n getAccessToken(): string | null;\n getRefreshToken(): string | null;\n setTokens(accessToken: string, refreshToken?: string): void;\n clearTokens(): void;\n /**\n * Subscribe to storage changes from other tabs/windows.\n * Returns an unsubscribe function.\n */\n onStorageChange(callback: () => void): () => void;\n}\n\n/**\n * Generate storage key scoped to API key and tenant\n */\nfunction getStorageKey(type: 'access' | 'refresh', apiKey: string, tenantId?: string): string {\n const scope = tenantId ? `${apiKey}_${tenantId}` : apiKey;\n return `23blocks_${scope}_${type}_token`;\n}\n\n/**\n * In-memory storage for SSR\n */\nclass MemoryStorage {\n private data = new Map<string, string>();\n getItem(key: string): string | null {\n return this.data.get(key) ?? null;\n }\n setItem(key: string, value: string): void {\n this.data.set(key, value);\n }\n removeItem(key: string): void {\n this.data.delete(key);\n }\n}\n\n/**\n * Create a token manager with scoped storage keys and cross-tab sync\n */\nfunction createTokenManager(\n apiKey: string,\n storageType: StorageType,\n tenantId?: string\n): TokenManagerService {\n const isBrowser = typeof window !== 'undefined' && typeof window.localStorage !== 'undefined';\n\n const accessTokenKey = getStorageKey('access', apiKey, tenantId);\n const refreshTokenKey = getStorageKey('refresh', apiKey, tenantId);\n\n let storage: Storage | MemoryStorage;\n if (!isBrowser) {\n storage = new MemoryStorage();\n } else {\n switch (storageType) {\n case 'sessionStorage':\n storage = window.sessionStorage;\n break;\n case 'memory':\n storage = new MemoryStorage();\n break;\n default:\n storage = window.localStorage;\n }\n }\n\n return {\n getAccessToken(): string | null {\n try {\n return storage.getItem(accessTokenKey);\n } catch {\n return null;\n }\n },\n getRefreshToken(): string | null {\n try {\n return storage.getItem(refreshTokenKey);\n } catch {\n return null;\n }\n },\n setTokens(accessToken: string, refreshToken?: string): void {\n try {\n storage.setItem(accessTokenKey, accessToken);\n if (refreshToken) {\n storage.setItem(refreshTokenKey, refreshToken);\n }\n } catch {\n console.warn('[23blocks] Unable to store tokens');\n }\n },\n clearTokens(): void {\n try {\n storage.removeItem(accessTokenKey);\n storage.removeItem(refreshTokenKey);\n } catch {\n // Silently fail\n }\n },\n onStorageChange(callback: () => void): () => void {\n // Only works in browser with localStorage/sessionStorage\n if (!isBrowser || storageType === 'memory') {\n // Return no-op unsubscribe for SSR/memory storage\n return () => {};\n }\n\n const handler = (event: StorageEvent) => {\n // Only trigger if our keys changed\n if (event.key === accessTokenKey || event.key === refreshTokenKey) {\n callback();\n }\n };\n\n window.addEventListener('storage', handler);\n\n // Return unsubscribe function\n return () => {\n window.removeEventListener('storage', handler);\n };\n },\n };\n}\n\n/**\n * Create transport with automatic token handling for a specific URL\n */\nfunction createTransportWithAuth(\n baseUrl: string,\n config: ProviderConfig,\n tokenManager: TokenManagerService\n): Transport {\n return createHttpTransport({\n baseUrl,\n timeout: config.timeout,\n credentials: config.authMode === 'cookie' ? 'include' : undefined,\n headers: () => {\n const headers: Record<string, string> = {\n ...config.headers,\n 'x-api-key': config.apiKey,\n };\n\n if (config.tenantId) {\n headers['tenant-id'] = config.tenantId;\n }\n\n // In token mode, add Authorization header if we have a token\n if (config.authMode !== 'cookie') {\n const token = tokenManager.getAccessToken();\n if (token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n }\n\n return headers;\n },\n });\n}\n\n/**\n * Provide 23blocks services with simplified configuration.\n *\n * This is the recommended way to set up 23blocks in new Angular applications.\n * It automatically handles token storage and authentication headers.\n *\n * Services are only available if their URL is configured. Accessing a service\n * without a configured URL will throw an error.\n *\n * @example Basic usage with multiple services\n * ```typescript\n * // app.config.ts\n * import { ApplicationConfig } from '@angular/core';\n * import { provideBlocks23 } from '@23blocks/angular';\n *\n * export const appConfig: ApplicationConfig = {\n * providers: [\n * provideBlocks23({\n * apiKey: 'your-api-key',\n * urls: {\n * authentication: 'https://gateway.23blocks.com',\n * crm: 'https://crm.23blocks.com',\n * products: 'https://products.23blocks.com',\n * },\n * }),\n * ],\n * };\n * ```\n *\n * @example Cookie mode (recommended for security)\n * ```typescript\n * export const appConfig: ApplicationConfig = {\n * providers: [\n * provideBlocks23({\n * apiKey: 'your-api-key',\n * authMode: 'cookie',\n * urls: {\n * authentication: 'https://gateway.23blocks.com',\n * crm: 'https://crm.23blocks.com',\n * },\n * }),\n * ],\n * };\n * ```\n */\nexport function provideBlocks23(config: ProviderConfig): EnvironmentProviders {\n // Block config for all services\n const blockConfig = { apiKey: config.apiKey, tenantId: config.tenantId };\n\n // Helper to create transport provider for a service URL\n const createTransportProvider = (\n token: InjectionToken<Transport | null>,\n url: string | undefined\n ): Provider => ({\n provide: token,\n useFactory: (tokenManager: TokenManagerService) => {\n if (!url) return null;\n return createTransportWithAuth(url, config, tokenManager);\n },\n deps: [TOKEN_MANAGER],\n });\n\n const providers: Provider[] = [\n // Store config for injection\n { provide: PROVIDER_CONFIG, useValue: config },\n\n // Token manager factory - creates singleton within the injector\n {\n provide: TOKEN_MANAGER,\n useFactory: () => {\n const storage = config.storage ?? 'localStorage';\n return createTokenManager(config.apiKey, storage, config.tenantId);\n },\n },\n\n // Per-service transport factories (null if URL not configured)\n createTransportProvider(AUTHENTICATION_TRANSPORT, config.urls.authentication),\n createTransportProvider(SEARCH_TRANSPORT, config.urls.search),\n createTransportProvider(PRODUCTS_TRANSPORT, config.urls.products),\n createTransportProvider(CRM_TRANSPORT, config.urls.crm),\n createTransportProvider(CONTENT_TRANSPORT, config.urls.content),\n createTransportProvider(GEOLOCATION_TRANSPORT, config.urls.geolocation),\n createTransportProvider(CONVERSATIONS_TRANSPORT, config.urls.conversations),\n createTransportProvider(FILES_TRANSPORT, config.urls.files),\n createTransportProvider(FORMS_TRANSPORT, config.urls.forms),\n createTransportProvider(ASSETS_TRANSPORT, config.urls.assets),\n createTransportProvider(CAMPAIGNS_TRANSPORT, config.urls.campaigns),\n createTransportProvider(COMPANY_TRANSPORT, config.urls.company),\n createTransportProvider(REWARDS_TRANSPORT, config.urls.rewards),\n createTransportProvider(SALES_TRANSPORT, config.urls.sales),\n createTransportProvider(WALLET_TRANSPORT, config.urls.wallet),\n createTransportProvider(JARVIS_TRANSPORT, config.urls.jarvis),\n createTransportProvider(ONBOARDING_TRANSPORT, config.urls.onboarding),\n createTransportProvider(UNIVERSITY_TRANSPORT, config.urls.university),\n\n // Backward compatibility: provide TRANSPORT token using auth URL if available\n // (for advanced API users who still inject TRANSPORT directly)\n {\n provide: TRANSPORT,\n useFactory: (tokenManager: TokenManagerService) => {\n // Use auth URL if available, otherwise create a dummy transport that throws\n const url = config.urls.authentication;\n if (url) {\n return createTransportWithAuth(url, config, tokenManager);\n }\n // Return a transport that throws helpful errors\n return {\n request: () => {\n throw new Error(\n '[23blocks] TRANSPORT is not configured. ' +\n 'Use per-service transport tokens or configure urls.authentication.'\n );\n },\n };\n },\n deps: [TOKEN_MANAGER],\n },\n\n // Block configs\n { provide: AUTHENTICATION_CONFIG, useValue: blockConfig },\n { provide: SEARCH_CONFIG, useValue: blockConfig },\n { provide: PRODUCTS_CONFIG, useValue: blockConfig },\n { provide: CRM_CONFIG, useValue: blockConfig },\n { provide: CONTENT_CONFIG, useValue: blockConfig },\n { provide: GEOLOCATION_CONFIG, useValue: blockConfig },\n { provide: CONVERSATIONS_CONFIG, useValue: blockConfig },\n { provide: FILES_CONFIG, useValue: blockConfig },\n { provide: FORMS_CONFIG, useValue: blockConfig },\n { provide: ASSETS_CONFIG, useValue: blockConfig },\n { provide: CAMPAIGNS_CONFIG, useValue: blockConfig },\n { provide: COMPANY_CONFIG, useValue: blockConfig },\n { provide: REWARDS_CONFIG, useValue: blockConfig },\n { provide: SALES_CONFIG, useValue: blockConfig },\n { provide: WALLET_CONFIG, useValue: blockConfig },\n { provide: JARVIS_CONFIG, useValue: blockConfig },\n { provide: ONBOARDING_CONFIG, useValue: blockConfig },\n { provide: UNIVERSITY_CONFIG, useValue: blockConfig },\n ];\n\n return makeEnvironmentProviders(providers);\n}\n\n/**\n * Get providers array for NgModule-based applications with simplified config.\n *\n * Services are only available if their URL is configured. Accessing a service\n * without a configured URL will throw an error.\n *\n * @example\n * ```typescript\n * // app.module.ts\n * import { NgModule } from '@angular/core';\n * import { getBlocks23Providers } from '@23blocks/angular';\n *\n * @NgModule({\n * providers: [\n * ...getBlocks23Providers({\n * apiKey: 'your-api-key',\n * urls: {\n * authentication: 'https://gateway.23blocks.com',\n * crm: 'https://crm.23blocks.com',\n * },\n * }),\n * ],\n * })\n * export class AppModule {}\n * ```\n */\nexport function getBlocks23Providers(config: ProviderConfig): Provider[] {\n // Block config for all services\n const blockConfig = { apiKey: config.apiKey, tenantId: config.tenantId };\n\n // Helper to create transport provider for a service URL\n const createTransportProvider = (\n token: InjectionToken<Transport | null>,\n url: string | undefined\n ): Provider => ({\n provide: token,\n useFactory: (tokenManager: TokenManagerService) => {\n if (!url) return null;\n return createTransportWithAuth(url, config, tokenManager);\n },\n deps: [TOKEN_MANAGER],\n });\n\n return [\n // Store config for injection\n { provide: PROVIDER_CONFIG, useValue: config },\n\n // Token manager factory - creates singleton within the injector\n {\n provide: TOKEN_MANAGER,\n useFactory: () => {\n const storage = config.storage ?? 'localStorage';\n return createTokenManager(config.apiKey, storage, config.tenantId);\n },\n },\n\n // Per-service transport factories (null if URL not configured)\n createTransportProvider(AUTHENTICATION_TRANSPORT, config.urls.authentication),\n createTransportProvider(SEARCH_TRANSPORT, config.urls.search),\n createTransportProvider(PRODUCTS_TRANSPORT, config.urls.products),\n createTransportProvider(CRM_TRANSPORT, config.urls.crm),\n createTransportProvider(CONTENT_TRANSPORT, config.urls.content),\n createTransportProvider(GEOLOCATION_TRANSPORT, config.urls.geolocation),\n createTransportProvider(CONVERSATIONS_TRANSPORT, config.urls.conversations),\n createTransportProvider(FILES_TRANSPORT, config.urls.files),\n createTransportProvider(FORMS_TRANSPORT, config.urls.forms),\n createTransportProvider(ASSETS_TRANSPORT, config.urls.assets),\n createTransportProvider(CAMPAIGNS_TRANSPORT, config.urls.campaigns),\n createTransportProvider(COMPANY_TRANSPORT, config.urls.company),\n createTransportProvider(REWARDS_TRANSPORT, config.urls.rewards),\n createTransportProvider(SALES_TRANSPORT, config.urls.sales),\n createTransportProvider(WALLET_TRANSPORT, config.urls.wallet),\n createTransportProvider(JARVIS_TRANSPORT, config.urls.jarvis),\n createTransportProvider(ONBOARDING_TRANSPORT, config.urls.onboarding),\n createTransportProvider(UNIVERSITY_TRANSPORT, config.urls.university),\n\n // Backward compatibility: provide TRANSPORT token using auth URL if available\n {\n provide: TRANSPORT,\n useFactory: (tokenManager: TokenManagerService) => {\n const url = config.urls.authentication;\n if (url) {\n return createTransportWithAuth(url, config, tokenManager);\n }\n return {\n request: () => {\n throw new Error(\n '[23blocks] TRANSPORT is not configured. ' +\n 'Use per-service transport tokens or configure urls.authentication.'\n );\n },\n };\n },\n deps: [TOKEN_MANAGER],\n },\n\n // Block configs\n { provide: AUTHENTICATION_CONFIG, useValue: blockConfig },\n { provide: SEARCH_CONFIG, useValue: blockConfig },\n { provide: PRODUCTS_CONFIG, useValue: blockConfig },\n { provide: CRM_CONFIG, useValue: blockConfig },\n { provide: CONTENT_CONFIG, useValue: blockConfig },\n { provide: GEOLOCATION_CONFIG, useValue: blockConfig },\n { provide: CONVERSATIONS_CONFIG, useValue: blockConfig },\n { provide: FILES_CONFIG, useValue: blockConfig },\n { provide: FORMS_CONFIG, useValue: blockConfig },\n { provide: ASSETS_CONFIG, useValue: blockConfig },\n { provide: CAMPAIGNS_CONFIG, useValue: blockConfig },\n { provide: COMPANY_CONFIG, useValue: blockConfig },\n { provide: REWARDS_CONFIG, useValue: blockConfig },\n { provide: SALES_CONFIG, useValue: blockConfig },\n { provide: WALLET_CONFIG, useValue: blockConfig },\n { provide: JARVIS_CONFIG, useValue: blockConfig },\n { provide: ONBOARDING_CONFIG, useValue: blockConfig },\n { provide: UNIVERSITY_CONFIG, useValue: blockConfig },\n ];\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Backward Compatibility Aliases (deprecated)\n// ─────────────────────────────────────────────────────────────────────────────\n\n/** @deprecated Use `ProviderConfig` instead */\nexport type Simple23BlocksConfig = ProviderConfig;\n","import type { Provider, EnvironmentProviders } from '@angular/core';\nimport { makeEnvironmentProviders } from '@angular/core';\nimport type { Transport } from '@23blocks/contracts';\nimport type { AuthenticationBlockConfig } from '@23blocks/block-authentication';\nimport type { SearchBlockConfig } from '@23blocks/block-search';\nimport type { ProductsBlockConfig } from '@23blocks/block-products';\nimport type { CrmBlockConfig } from '@23blocks/block-crm';\nimport type { ContentBlockConfig } from '@23blocks/block-content';\nimport type { GeolocationBlockConfig } from '@23blocks/block-geolocation';\nimport type { ConversationsBlockConfig } from '@23blocks/block-conversations';\nimport type { FilesBlockConfig } from '@23blocks/block-files';\nimport type { FormsBlockConfig } from '@23blocks/block-forms';\nimport type { AssetsBlockConfig } from '@23blocks/block-assets';\nimport type { CampaignsBlockConfig } from '@23blocks/block-campaigns';\nimport type { CompanyBlockConfig } from '@23blocks/block-company';\nimport type { RewardsBlockConfig } from '@23blocks/block-rewards';\nimport type { SalesBlockConfig } from '@23blocks/block-sales';\nimport type { WalletBlockConfig } from '@23blocks/block-wallet';\nimport type { JarvisBlockConfig } from '@23blocks/block-jarvis';\nimport type { OnboardingBlockConfig } from '@23blocks/block-onboarding';\nimport type { UniversityBlockConfig } from '@23blocks/block-university';\nimport {\n TRANSPORT,\n AUTHENTICATION_CONFIG,\n SEARCH_CONFIG,\n PRODUCTS_CONFIG,\n CRM_CONFIG,\n CONTENT_CONFIG,\n GEOLOCATION_CONFIG,\n CONVERSATIONS_CONFIG,\n FILES_CONFIG,\n FORMS_CONFIG,\n ASSETS_CONFIG,\n CAMPAIGNS_CONFIG,\n COMPANY_CONFIG,\n REWARDS_CONFIG,\n SALES_CONFIG,\n WALLET_CONFIG,\n JARVIS_CONFIG,\n ONBOARDING_CONFIG,\n UNIVERSITY_CONFIG,\n} from './tokens';\n\n/**\n * Configuration for providing 23blocks services\n */\nexport interface Provide23BlocksConfig {\n transport: Transport;\n authentication?: AuthenticationBlockConfig;\n search?: SearchBlockConfig;\n products?: ProductsBlockConfig;\n crm?: CrmBlockConfig;\n content?: ContentBlockConfig;\n geolocation?: GeolocationBlockConfig;\n conversations?: ConversationsBlockConfig;\n files?: FilesBlockConfig;\n forms?: FormsBlockConfig;\n assets?: AssetsBlockConfig;\n campaigns?: CampaignsBlockConfig;\n company?: CompanyBlockConfig;\n rewards?: RewardsBlockConfig;\n sales?: SalesBlockConfig;\n wallet?: WalletBlockConfig;\n jarvis?: JarvisBlockConfig;\n onboarding?: OnboardingBlockConfig;\n university?: UniversityBlockConfig;\n}\n\n/**\n * Provide 23blocks services for standalone Angular applications.\n *\n * @example\n * ```typescript\n * // app.config.ts\n * import { ApplicationConfig } from '@angular/core';\n * import { provide23Blocks } from '@23blocks/angular';\n * import { createHttpTransport } from '@23blocks/transport-http';\n *\n * const transport = createHttpTransport({\n * baseUrl: 'https://api.example.com',\n * headers: () => ({\n * 'Authorization': `Bearer ${localStorage.getItem('token')}`,\n * }),\n * });\n *\n * export const appConfig: ApplicationConfig = {\n * providers: [\n * provide23Blocks({\n * transport,\n * authentication: { apiKey: 'my-api-key' },\n * search: { apiKey: 'my-api-key' },\n * products: { apiKey: 'my-api-key' },\n * crm: { apiKey: 'my-api-key' },\n * }),\n * ],\n * };\n * ```\n */\nexport function provide23Blocks(config: Provide23BlocksConfig): EnvironmentProviders {\n const providers: Provider[] = [\n { provide: TRANSPORT, useValue: config.transport },\n ];\n\n if (config.authentication) {\n providers.push({ provide: AUTHENTICATION_CONFIG, useValue: config.authentication });\n }\n if (config.search) {\n providers.push({ provide: SEARCH_CONFIG, useValue: config.search });\n }\n if (config.products) {\n providers.push({ provide: PRODUCTS_CONFIG, useValue: config.products });\n }\n if (config.crm) {\n providers.push({ provide: CRM_CONFIG, useValue: config.crm });\n }\n if (config.content) {\n providers.push({ provide: CONTENT_CONFIG, useValue: config.content });\n }\n if (config.geolocation) {\n providers.push({ provide: GEOLOCATION_CONFIG, useValue: config.geolocation });\n }\n if (config.conversations) {\n providers.push({ provide: CONVERSATIONS_CONFIG, useValue: config.conversations });\n }\n if (config.files) {\n providers.push({ provide: FILES_CONFIG, useValue: config.files });\n }\n if (config.forms) {\n providers.push({ provide: FORMS_CONFIG, useValue: config.forms });\n }\n if (config.assets) {\n providers.push({ provide: ASSETS_CONFIG, useValue: config.assets });\n }\n if (config.campaigns) {\n providers.push({ provide: CAMPAIGNS_CONFIG, useValue: config.campaigns });\n }\n if (config.company) {\n providers.push({ provide: COMPANY_CONFIG, useValue: config.company });\n }\n if (config.rewards) {\n providers.push({ provide: REWARDS_CONFIG, useValue: config.rewards });\n }\n if (config.sales) {\n providers.push({ provide: SALES_CONFIG, useValue: config.sales });\n }\n if (config.wallet) {\n providers.push({ provide: WALLET_CONFIG, useValue: config.wallet });\n }\n if (config.jarvis) {\n providers.push({ provide: JARVIS_CONFIG, useValue: config.jarvis });\n }\n if (config.onboarding) {\n providers.push({ provide: ONBOARDING_CONFIG, useValue: config.onboarding });\n }\n if (config.university) {\n providers.push({ provide: UNIVERSITY_CONFIG, useValue: config.university });\n }\n\n return makeEnvironmentProviders(providers);\n}\n\n/**\n * Get providers array for NgModule-based applications.\n *\n * @example\n * ```typescript\n * // app.module.ts\n * import { NgModule } from '@angular/core';\n * import { get23BlocksProviders } from '@23blocks/angular';\n *\n * @NgModule({\n * providers: [\n * ...get23BlocksProviders({\n * transport,\n * authentication: { apiKey: 'my-api-key' },\n * }),\n * ],\n * })\n * export class AppModule {}\n * ```\n */\nexport function get23BlocksProviders(config: Provide23BlocksConfig): Provider[] {\n const providers: Provider[] = [\n { provide: TRANSPORT, useValue: config.transport },\n ];\n\n if (config.authentication) {\n providers.push({ provide: AUTHENTICATION_CONFIG, useValue: config.authentication });\n }\n if (config.search) {\n providers.push({ provide: SEARCH_CONFIG, useValue: config.search });\n }\n if (config.products) {\n providers.push({ provide: PRODUCTS_CONFIG, useValue: config.products });\n }\n if (config.crm) {\n providers.push({ provide: CRM_CONFIG, useValue: config.crm });\n }\n if (config.content) {\n providers.push({ provide: CONTENT_CONFIG, useValue: config.content });\n }\n if (config.geolocation) {\n providers.push({ provide: GEOLOCATION_CONFIG, useValue: config.geolocation });\n }\n if (config.conversations) {\n providers.push({ provide: CONVERSATIONS_CONFIG, useValue: config.conversations });\n }\n if (config.files) {\n providers.push({ provide: FILES_CONFIG, useValue: config.files });\n }\n if (config.forms) {\n providers.push({ provide: FORMS_CONFIG, useValue: config.forms });\n }\n if (config.assets) {\n providers.push({ provide: ASSETS_CONFIG, useValue: config.assets });\n }\n if (config.campaigns) {\n providers.push({ provide: CAMPAIGNS_CONFIG, useValue: config.campaigns });\n }\n if (config.company) {\n providers.push({ provide: COMPANY_CONFIG, useValue: config.company });\n }\n if (config.rewards) {\n providers.push({ provide: REWARDS_CONFIG, useValue: config.rewards });\n }\n if (config.sales) {\n providers.push({ provide: SALES_CONFIG, useValue: config.sales });\n }\n if (config.wallet) {\n providers.push({ provide: WALLET_CONFIG, useValue: config.wallet });\n }\n if (config.jarvis) {\n providers.push({ provide: JARVIS_CONFIG, useValue: config.jarvis });\n }\n if (config.onboarding) {\n providers.push({ provide: ONBOARDING_CONFIG, useValue: config.onboarding });\n }\n if (config.university) {\n providers.push({ provide: UNIVERSITY_CONFIG, useValue: config.university });\n }\n\n return providers;\n}\n","// @ts-nocheck\nimport { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from, tap } from 'rxjs';\nimport type { Transport, PageResult, ListParams } from '@23blocks/contracts';\nimport {\n createAuthenticationBlock,\n type AuthenticationBlock,\n type AuthenticationBlockConfig,\n type User,\n type Role,\n type Permission,\n type SignInRequest,\n type SignInResponse,\n type SignUpRequest,\n type SignUpResponse,\n type PasswordResetRequest,\n type PasswordUpdateRequest,\n type TokenValidationResponse,\n type RefreshTokenRequest,\n type RefreshTokenResponse,\n type MagicLinkRequest,\n type MagicLinkVerifyRequest,\n type InvitationRequest,\n type AcceptInvitationRequest,\n type ResendConfirmationRequest,\n type ValidateEmailRequest,\n type ValidateEmailResponse,\n type ValidateDocumentRequest,\n type ValidateDocumentResponse,\n type ApiKey,\n type ApiKeyWithSecret,\n type CreateApiKeyRequest,\n type UpdateApiKeyRequest,\n type UpdateUserRequest,\n type UpdateProfileRequest,\n type CreateRoleRequest,\n type UpdateRoleRequest,\n // MFA types\n type MfaSetupResponseFull,\n type MfaEnableRequest,\n type MfaDisableRequest,\n type MfaVerifyRequestFull,\n type MfaStatusResponse,\n type MfaVerificationResponse,\n type MfaOperationResponse,\n // OAuth types\n type OAuthSocialLoginRequest,\n type TenantLoginRequest,\n type TokenIntrospectionResponse,\n type TokenRevokeRequest,\n type TokenRevokeAllRequest,\n type TokenRevokeResponse,\n type TenantContextCreateRequest,\n type TenantContextResponse,\n type TenantContextAuditEntry,\n // User extended types\n type UserProfileFull,\n type ProfileRequest,\n type UpdateEmailRequest,\n type UserDeviceFull,\n type AddDeviceRequest,\n type UserSearchRequest,\n type AddUserSubscriptionRequest,\n type AccountRecoveryRequest,\n type AccountRecoveryResponse,\n type CompleteRecoveryRequest,\n type Company,\n type UserSubscription,\n // Avatar types\n type UserAvatarFull,\n type CreateAvatarRequest,\n type AvatarPresignResponse,\n type MultipartPresignRequest,\n type MultipartPresignResponse,\n type MultipartCompleteRequest,\n type MultipartCompleteResponse,\n // Tenant types\n type TenantUserFull,\n type CreateTenantUserRequest,\n type ValidateTenantCodeRequest,\n type ValidateTenantCodeResponse,\n type SearchTenantRequest,\n type UpdateTenantUserOnboardingRequest,\n type UpdateTenantUserSalesRequest,\n type ResendInvitationRequest,\n // JWKS types\n type JwksResponse,\n type RsaKey,\n type CreateRsaKeyRequest,\n type RotateRsaKeyRequest,\n // OIDC types\n type OidcDiscovery,\n type OidcAuthorizeRequest,\n type OidcTokenRequest,\n type OidcTokenResponse,\n type OidcUserInfo,\n // Permissions types\n type CreatePermissionRequest,\n type UpdatePermissionRequest,\n // App types\n type App,\n type Block,\n type Service,\n type CreateAppRequest,\n type UpdateAppRequest,\n // Subscription types\n type SubscriptionModel,\n type CompanySubscription,\n type SubscribeRequest,\n // Geography types\n type Country,\n type State,\n type County,\n type City,\n type Currency,\n // Guest and related types\n type Guest,\n type MagicLink,\n type RefreshToken,\n type UserDevice,\n type TenantUser,\n type MailTemplate,\n type CreateMagicLinkRequest,\n type RegisterDeviceRequest,\n} from '@23blocks/block-authentication';\nimport { TRANSPORT, AUTHENTICATION_TRANSPORT, AUTHENTICATION_CONFIG } from '../tokens';\nimport { TOKEN_MANAGER, SIMPLE_CONFIG, type TokenManagerService, type Simple23BlocksConfig } from '../simple-providers';\n\n/**\n * Angular service wrapping the Authentication block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class LoginComponent {\n * constructor(private auth: AuthenticationService) {}\n *\n * login(email: string, password: string) {\n * this.auth.signIn({ email, password }).subscribe({\n * next: (response) => console.log('Signed in:', response.user),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class AuthenticationService {\n private readonly block: AuthenticationBlock | null;\n private readonly tokenManager: TokenManagerService | null;\n private readonly simpleConfig: Simple23BlocksConfig | null;\n\n constructor(\n @Optional() @Inject(AUTHENTICATION_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(AUTHENTICATION_CONFIG) config: AuthenticationBlockConfig,\n @Optional() @Inject(TOKEN_MANAGER) tokenManager: TokenManagerService | null,\n @Optional() @Inject(SIMPLE_CONFIG) simpleConfig: Simple23BlocksConfig | null\n ) {\n // Prefer per-service transport, fall back to legacy TRANSPORT for backward compatibility\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createAuthenticationBlock(transport, config) : null;\n this.tokenManager = tokenManager;\n this.simpleConfig = simpleConfig;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): AuthenticationBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] AuthenticationService is not configured. ' +\n \"Add 'urls.authentication' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n /**\n * Check if using simplified API with automatic token management\n */\n private get isTokenMode(): boolean {\n return this.tokenManager !== null && this.simpleConfig?.authMode !== 'cookie';\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Auth Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Sign in with email and password.\n * When using simplified API (provideBlocks23), tokens are stored automatically.\n */\n signIn(request: SignInRequest): Observable<SignInResponse> {\n const block = this.ensureConfigured();\n return from(block.auth.signIn(request)).pipe(\n tap((response) => {\n if (this.isTokenMode && this.tokenManager && response.accessToken) {\n this.tokenManager.setTokens(response.accessToken, response.refreshToken);\n }\n })\n );\n }\n\n /**\n * Sign up a new user.\n * When using simplified API, tokens are stored automatically if returned.\n */\n signUp(request: SignUpRequest): Observable<SignUpResponse> {\n const block = this.ensureConfigured();\n return from(block.auth.signUp(request)).pipe(\n tap((response) => {\n if (this.isTokenMode && this.tokenManager && response.accessToken) {\n this.tokenManager.setTokens(response.accessToken);\n }\n })\n );\n }\n\n /**\n * Sign out the current user.\n * When using simplified API, tokens are cleared automatically.\n */\n signOut(): Observable<void> {\n const block = this.ensureConfigured();\n return from(block.auth.signOut()).pipe(\n tap(() => {\n if (this.isTokenMode && this.tokenManager) {\n this.tokenManager.clearTokens();\n }\n })\n );\n }\n\n requestPasswordReset(request: PasswordResetRequest): Observable<void> {\n return from(this.ensureConfigured().auth.requestPasswordReset(request));\n }\n\n updatePassword(request: PasswordUpdateRequest): Observable<void> {\n return from(this.ensureConfigured().auth.updatePassword(request));\n }\n\n validateToken(token: string): Observable<TokenValidationResponse> {\n return from(this.ensureConfigured().auth.validateToken(token));\n }\n\n getCurrentUser(): Observable<User | null> {\n return from(this.ensureConfigured().auth.getCurrentUser());\n }\n\n /**\n * Refresh the access token\n */\n refreshToken(request: RefreshTokenRequest): Observable<RefreshTokenResponse> {\n const block = this.ensureConfigured();\n return from(block.auth.refreshToken(request)).pipe(\n tap((response) => {\n if (this.isTokenMode && this.tokenManager && response.accessToken) {\n this.tokenManager.setTokens(response.accessToken, response.refreshToken);\n }\n })\n );\n }\n\n /**\n * Request a magic link for passwordless login\n */\n requestMagicLink(request: MagicLinkRequest): Observable<void> {\n return from(this.ensureConfigured().auth.requestMagicLink(request));\n }\n\n /**\n * Verify a magic link token\n */\n verifyMagicLink(request: MagicLinkVerifyRequest): Observable<SignInResponse> {\n const block = this.ensureConfigured();\n return from(block.auth.verifyMagicLink(request)).pipe(\n tap((response) => {\n if (this.isTokenMode && this.tokenManager && response.accessToken) {\n this.tokenManager.setTokens(response.accessToken, response.refreshToken);\n }\n })\n );\n }\n\n /**\n * Send an invitation to a new user\n */\n sendInvitation(request: InvitationRequest): Observable<void> {\n return from(this.ensureConfigured().auth.sendInvitation(request));\n }\n\n /**\n * Accept an invitation\n */\n acceptInvitation(request: AcceptInvitationRequest): Observable<SignInResponse> {\n const block = this.ensureConfigured();\n return from(block.auth.acceptInvitation(request)).pipe(\n tap((response) => {\n if (this.isTokenMode && this.tokenManager && response.accessToken) {\n this.tokenManager.setTokens(response.accessToken, response.refreshToken);\n }\n })\n );\n }\n\n /**\n * Confirm email with token\n */\n confirmEmail(token: string): Observable<User> {\n return from(this.ensureConfigured().auth.confirmEmail(token));\n }\n\n /**\n * Resend confirmation email\n */\n resendConfirmation(request: ResendConfirmationRequest): Observable<void> {\n return from(this.ensureConfigured().auth.resendConfirmation(request));\n }\n\n /**\n * Validate email before registration\n */\n validateEmail(request: ValidateEmailRequest): Observable<ValidateEmailResponse> {\n return from(this.ensureConfigured().auth.validateEmail(request));\n }\n\n /**\n * Validate document before registration\n */\n validateDocument(request: ValidateDocumentRequest): Observable<ValidateDocumentResponse> {\n return from(this.ensureConfigured().auth.validateDocument(request));\n }\n\n /**\n * Resend invitation email\n */\n resendInvitation(request: ResendInvitationRequest): Observable<User> {\n return from(this.ensureConfigured().auth.resendInvitation(request));\n }\n\n /**\n * Request account recovery (for deleted accounts)\n */\n requestAccountRecovery(request: AccountRecoveryRequest): Observable<AccountRecoveryResponse> {\n return from(this.ensureConfigured().auth.requestAccountRecovery(request));\n }\n\n /**\n * Complete account recovery with new password\n */\n completeAccountRecovery(request: CompleteRecoveryRequest): Observable<User> {\n return from(this.ensureConfigured().auth.completeAccountRecovery(request));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Users Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listUsers(params?: { page?: number; perPage?: number }): Observable<User[]> {\n return from(this.ensureConfigured().users.list(params));\n }\n\n getUser(id: string): Observable<User> {\n return from(this.ensureConfigured().users.get(id));\n }\n\n updateUser(id: string, request: UpdateUserRequest): Observable<User> {\n return from(this.ensureConfigured().users.update(id, request));\n }\n\n deleteUser(id: string): Observable<void> {\n return from(this.ensureConfigured().users.delete(id));\n }\n\n /**\n * Get a user by unique ID\n */\n getUserByUniqueId(uniqueId: string): Observable<User> {\n return from(this.ensureConfigured().users.getByUniqueId(uniqueId));\n }\n\n /**\n * Update user profile\n */\n updateUserProfile(userId: string, request: UpdateProfileRequest): Observable<User> {\n return from(this.ensureConfigured().users.updateProfile(userId, request));\n }\n\n /**\n * Activate a user\n */\n activateUser(id: string): Observable<User> {\n return from(this.ensureConfigured().users.activate(id));\n }\n\n /**\n * Deactivate a user\n */\n deactivateUser(id: string): Observable<User> {\n return from(this.ensureConfigured().users.deactivate(id));\n }\n\n /**\n * Change user role\n */\n changeUserRole(id: string, roleUniqueId: string, reason: string, forceReauth?: boolean): Observable<User> {\n return from(this.ensureConfigured().users.changeRole(id, roleUniqueId, reason, forceReauth));\n }\n\n /**\n * Search users by query\n */\n searchUsers(query: string, params?: ListParams): Observable<PageResult<User>> {\n return from(this.ensureConfigured().users.search(query, params));\n }\n\n /**\n * Advanced search users by criteria or payload\n */\n searchUsersAdvanced(request: UserSearchRequest, params?: ListParams): Observable<PageResult<User>> {\n return from(this.ensureConfigured().users.searchAdvanced(request, params));\n }\n\n /**\n * Get user profile\n */\n getUserProfile(userUniqueId: string): Observable<UserProfileFull> {\n return from(this.ensureConfigured().users.getProfile(userUniqueId));\n }\n\n /**\n * Create or update user profile\n */\n createUserProfile(request: ProfileRequest): Observable<UserProfileFull> {\n return from(this.ensureConfigured().users.createProfile(request));\n }\n\n /**\n * Update email address\n */\n updateUserEmail(userUniqueId: string, request: UpdateEmailRequest): Observable<User> {\n return from(this.ensureConfigured().users.updateEmail(userUniqueId, request));\n }\n\n /**\n * Get user devices\n */\n getUserDevices(userUniqueId: string, params?: ListParams): Observable<PageResult<UserDeviceFull>> {\n return from(this.ensureConfigured().users.getDevices(userUniqueId, params));\n }\n\n /**\n * Add a device\n */\n addUserDevice(request: AddDeviceRequest): Observable<UserDeviceFull> {\n return from(this.ensureConfigured().users.addDevice(request));\n }\n\n /**\n * Get user's companies\n */\n getUserCompanies(userUniqueId: string): Observable<Company[]> {\n return from(this.ensureConfigured().users.getCompanies(userUniqueId));\n }\n\n /**\n * Add subscription to user\n */\n addUserSubscription(userUniqueId: string, request: AddUserSubscriptionRequest): Observable<UserSubscription> {\n return from(this.ensureConfigured().users.addSubscription(userUniqueId, request));\n }\n\n /**\n * Update user subscription\n */\n updateUserSubscription(userUniqueId: string, request: AddUserSubscriptionRequest): Observable<UserSubscription> {\n return from(this.ensureConfigured().users.updateSubscription(userUniqueId, request));\n }\n\n /**\n * Resend confirmation email by user unique ID\n */\n resendConfirmationByUniqueId(userUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().users.resendConfirmationByUniqueId(userUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Roles Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listRoles(): Observable<Role[]> {\n return from(this.ensureConfigured().roles.list());\n }\n\n getRole(id: string): Observable<Role> {\n return from(this.ensureConfigured().roles.get(id));\n }\n\n createRole(request: CreateRoleRequest): Observable<Role> {\n return from(this.ensureConfigured().roles.create(request));\n }\n\n updateRole(id: string, request: UpdateRoleRequest): Observable<Role> {\n return from(this.ensureConfigured().roles.update(id, request));\n }\n\n deleteRole(id: string): Observable<void> {\n return from(this.ensureConfigured().roles.delete(id));\n }\n\n listPermissions(): Observable<Permission[]> {\n return from(this.ensureConfigured().roles.listPermissions());\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Permissions Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List all permissions with pagination\n */\n listPermissionsPaginated(params?: ListParams): Observable<PageResult<Permission>> {\n return from(this.ensureConfigured().permissions.list(params));\n }\n\n /**\n * Get a permission by ID\n */\n getPermission(id: string): Observable<Permission> {\n return from(this.ensureConfigured().permissions.get(id));\n }\n\n /**\n * Create a new permission\n */\n createPermission(request: CreatePermissionRequest): Observable<Permission> {\n return from(this.ensureConfigured().permissions.create(request));\n }\n\n /**\n * Update a permission\n */\n updatePermission(id: string, request: UpdatePermissionRequest): Observable<Permission> {\n return from(this.ensureConfigured().permissions.update(id, request));\n }\n\n /**\n * Delete a permission\n */\n deletePermission(id: string): Observable<void> {\n return from(this.ensureConfigured().permissions.delete(id));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // API Keys Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listApiKeys(): Observable<ApiKey[]> {\n return from(this.ensureConfigured().apiKeys.list());\n }\n\n getApiKey(id: string): Observable<ApiKey> {\n return from(this.ensureConfigured().apiKeys.get(id));\n }\n\n createApiKey(request: CreateApiKeyRequest): Observable<ApiKeyWithSecret> {\n return from(this.ensureConfigured().apiKeys.create(request));\n }\n\n updateApiKey(id: string, request: UpdateApiKeyRequest): Observable<ApiKey> {\n return from(this.ensureConfigured().apiKeys.update(id, request));\n }\n\n revokeApiKey(id: string): Observable<void> {\n return from(this.ensureConfigured().apiKeys.revoke(id));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // MFA Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Initialize MFA setup - generates secret, QR code, and backup codes\n */\n mfaSetup(): Observable<MfaSetupResponseFull> {\n return from(this.ensureConfigured().mfa.setup());\n }\n\n /**\n * Enable MFA after verifying setup with TOTP code\n */\n mfaEnable(request: MfaEnableRequest): Observable<MfaOperationResponse> {\n return from(this.ensureConfigured().mfa.enable(request));\n }\n\n /**\n * Disable MFA with password confirmation\n */\n mfaDisable(request: MfaDisableRequest): Observable<MfaOperationResponse> {\n return from(this.ensureConfigured().mfa.disable(request));\n }\n\n /**\n * Verify MFA code during login\n */\n mfaVerify(request: MfaVerifyRequestFull): Observable<MfaVerificationResponse> {\n return from(this.ensureConfigured().mfa.verify(request));\n }\n\n /**\n * Get current MFA status\n */\n mfaStatus(): Observable<MfaStatusResponse> {\n return from(this.ensureConfigured().mfa.status());\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // OAuth Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Login with Facebook OAuth token\n */\n loginWithFacebook(request: OAuthSocialLoginRequest): Observable<SignInResponse> {\n const block = this.ensureConfigured();\n return from(block.oauth.loginWithFacebook(request)).pipe(\n tap((response) => {\n if (this.isTokenMode && this.tokenManager && response.accessToken) {\n this.tokenManager.setTokens(response.accessToken, response.refreshToken);\n }\n })\n );\n }\n\n /**\n * Login with Google OAuth token\n */\n loginWithGoogle(request: OAuthSocialLoginRequest): Observable<SignInResponse> {\n const block = this.ensureConfigured();\n return from(block.oauth.loginWithGoogle(request)).pipe(\n tap((response) => {\n if (this.isTokenMode && this.tokenManager && response.accessToken) {\n this.tokenManager.setTokens(response.accessToken, response.refreshToken);\n }\n })\n );\n }\n\n /**\n * Login to a specific tenant\n */\n loginWithTenant(request: TenantLoginRequest): Observable<SignInResponse> {\n const block = this.ensureConfigured();\n return from(block.oauth.loginWithTenant(request)).pipe(\n tap((response) => {\n if (this.isTokenMode && this.tokenManager && response.accessToken) {\n this.tokenManager.setTokens(response.accessToken, response.refreshToken);\n }\n })\n );\n }\n\n /**\n * Introspect a token to validate and get information\n */\n introspectToken(token: string): Observable<TokenIntrospectionResponse> {\n return from(this.ensureConfigured().oauth.introspectToken(token));\n }\n\n /**\n * Revoke a specific token\n */\n revokeToken(request: TokenRevokeRequest): Observable<TokenRevokeResponse> {\n return from(this.ensureConfigured().oauth.revokeToken(request));\n }\n\n /**\n * Revoke all tokens for the current user\n */\n revokeAllTokens(request?: TokenRevokeAllRequest): Observable<TokenRevokeResponse> {\n return from(this.ensureConfigured().oauth.revokeAllTokens(request));\n }\n\n /**\n * Create a tenant context (switch to a different tenant)\n */\n createTenantContext(request: TenantContextCreateRequest): Observable<TenantContextResponse> {\n return from(this.ensureConfigured().oauth.createTenantContext(request));\n }\n\n /**\n * Revoke tenant context (exit tenant switch)\n */\n revokeTenantContext(): Observable<void> {\n return from(this.ensureConfigured().oauth.revokeTenantContext());\n }\n\n /**\n * Get tenant context audit log\n */\n auditTenantContext(): Observable<TenantContextAuditEntry[]> {\n return from(this.ensureConfigured().oauth.auditTenantContext());\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Avatars Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List avatars for a user\n */\n listAvatars(userUniqueId: string, params?: ListParams): Observable<PageResult<UserAvatarFull>> {\n return from(this.ensureConfigured().avatars.list(userUniqueId, params));\n }\n\n /**\n * Get a specific avatar\n */\n getAvatar(userUniqueId: string): Observable<UserAvatarFull> {\n return from(this.ensureConfigured().avatars.get(userUniqueId));\n }\n\n /**\n * Create/update an avatar\n */\n createAvatar(userUniqueId: string, request: CreateAvatarRequest): Observable<UserAvatarFull> {\n return from(this.ensureConfigured().avatars.create(userUniqueId, request));\n }\n\n /**\n * Update an avatar\n */\n updateAvatar(userUniqueId: string, request: Partial<CreateAvatarRequest>): Observable<UserAvatarFull> {\n return from(this.ensureConfigured().avatars.update(userUniqueId, request));\n }\n\n /**\n * Delete an avatar\n */\n deleteAvatar(userUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().avatars.delete(userUniqueId));\n }\n\n /**\n * Get presigned URL for direct upload\n */\n presignAvatarUpload(userUniqueId: string, filename: string): Observable<AvatarPresignResponse> {\n return from(this.ensureConfigured().avatars.presignUpload(userUniqueId, filename));\n }\n\n /**\n * Get presigned URLs for multipart upload\n */\n multipartAvatarPresign(userUniqueId: string, request: MultipartPresignRequest): Observable<MultipartPresignResponse> {\n return from(this.ensureConfigured().avatars.multipartPresign(userUniqueId, request));\n }\n\n /**\n * Complete a multipart upload\n */\n multipartAvatarComplete(userUniqueId: string, request: MultipartCompleteRequest): Observable<MultipartCompleteResponse> {\n return from(this.ensureConfigured().avatars.multipartComplete(userUniqueId, request));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Tenants Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List child tenants\n */\n listChildTenants(params?: ListParams): Observable<PageResult<Company>> {\n return from(this.ensureConfigured().tenants.listChildren(params));\n }\n\n /**\n * Validate tenant code availability\n */\n validateTenantCode(request: ValidateTenantCodeRequest): Observable<ValidateTenantCodeResponse> {\n return from(this.ensureConfigured().tenants.validateCode(request));\n }\n\n /**\n * Search for a tenant by name\n */\n searchTenantByName(request: SearchTenantRequest): Observable<Company> {\n return from(this.ensureConfigured().tenants.searchByName(request));\n }\n\n /**\n * Search for a tenant by code\n */\n searchTenantByCode(request: SearchTenantRequest): Observable<Company> {\n return from(this.ensureConfigured().tenants.searchByCode(request));\n }\n\n /**\n * Create a tenant user relationship\n */\n createTenantUser(userUniqueId: string, request: CreateTenantUserRequest): Observable<TenantUserFull> {\n return from(this.ensureConfigured().tenants.createTenantUser(userUniqueId, request));\n }\n\n /**\n * Update tenant user onboarding status\n */\n updateTenantUserOnboarding(\n userUniqueId: string,\n urlId: string,\n request: UpdateTenantUserOnboardingRequest\n ): Observable<TenantUserFull> {\n return from(this.ensureConfigured().tenants.updateOnboarding(userUniqueId, urlId, request));\n }\n\n /**\n * Update tenant user sales/purchase status\n */\n updateTenantUserSales(\n userUniqueId: string,\n urlId: string,\n request: UpdateTenantUserSalesRequest\n ): Observable<TenantUserFull> {\n return from(this.ensureConfigured().tenants.updateSales(userUniqueId, urlId, request));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Apps Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List apps with pagination\n */\n listApps(params?: ListParams): Observable<PageResult<App>> {\n return from(this.ensureConfigured().apps.list(params));\n }\n\n /**\n * Get an app by ID\n */\n getApp(id: string): Observable<App> {\n return from(this.ensureConfigured().apps.get(id));\n }\n\n /**\n * Create a new app\n */\n createApp(request: CreateAppRequest): Observable<App> {\n return from(this.ensureConfigured().apps.create(request));\n }\n\n /**\n * Update an app\n */\n updateApp(id: string, request: UpdateAppRequest): Observable<App> {\n return from(this.ensureConfigured().apps.update(id, request));\n }\n\n /**\n * Delete an app\n */\n deleteApp(id: string): Observable<void> {\n return from(this.ensureConfigured().apps.delete(id));\n }\n\n /**\n * Regenerate webhook secret for an app\n */\n regenerateAppWebhookSecret(id: string): Observable<App> {\n return from(this.ensureConfigured().apps.regenerateWebhookSecret(id));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Blocks Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List blocks for a company\n */\n listBlocks(companyId: string, params?: ListParams): Observable<PageResult<Block>> {\n return from(this.ensureConfigured().blocks.list(companyId, params));\n }\n\n /**\n * Get a block by ID\n */\n getBlock(id: string): Observable<Block> {\n return from(this.ensureConfigured().blocks.get(id));\n }\n\n /**\n * Add a block to a company\n */\n addBlock(companyId: string, blockCode: string): Observable<Block> {\n return from(this.ensureConfigured().blocks.add(companyId, blockCode));\n }\n\n /**\n * Remove a block from a company\n */\n removeBlock(id: string): Observable<void> {\n return from(this.ensureConfigured().blocks.remove(id));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Services Registry Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List registered services\n */\n listServices(params?: ListParams): Observable<PageResult<Service>> {\n return from(this.ensureConfigured().services.list(params));\n }\n\n /**\n * Get a service by ID\n */\n getService(id: string): Observable<Service> {\n return from(this.ensureConfigured().services.get(id));\n }\n\n /**\n * Get a service by code\n */\n getServiceByCode(code: string): Observable<Service> {\n return from(this.ensureConfigured().services.getByCode(code));\n }\n\n /**\n * Health check all services\n */\n healthCheckServices(): Observable<Service[]> {\n return from(this.ensureConfigured().services.healthCheck());\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Subscription Models Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List subscription models\n */\n listSubscriptionModels(params?: ListParams): Observable<PageResult<SubscriptionModel>> {\n return from(this.ensureConfigured().subscriptionModels.list(params));\n }\n\n /**\n * Get a subscription model by ID\n */\n getSubscriptionModel(id: string): Observable<SubscriptionModel> {\n return from(this.ensureConfigured().subscriptionModels.get(id));\n }\n\n /**\n * Get a subscription model by code\n */\n getSubscriptionModelByCode(code: string): Observable<SubscriptionModel> {\n return from(this.ensureConfigured().subscriptionModels.getByCode(code));\n }\n\n /**\n * List promotional subscription models\n */\n listPromotionalSubscriptionModels(): Observable<SubscriptionModel[]> {\n return from(this.ensureConfigured().subscriptionModels.promotional());\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // User Subscriptions Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List user subscriptions\n */\n listUserSubscriptions(params?: ListParams): Observable<PageResult<UserSubscription>> {\n return from(this.ensureConfigured().userSubscriptions.list(params));\n }\n\n /**\n * Get a user subscription by ID\n */\n getUserSubscription(id: string): Observable<UserSubscription> {\n return from(this.ensureConfigured().userSubscriptions.get(id));\n }\n\n /**\n * Get subscriptions for a user\n */\n getSubscriptionsForUser(userUniqueId: string): Observable<UserSubscription[]> {\n return from(this.ensureConfigured().userSubscriptions.forUser(userUniqueId));\n }\n\n /**\n * Subscribe a user to a plan\n */\n subscribeUser(userUniqueId: string, request: SubscribeRequest): Observable<UserSubscription> {\n return from(this.ensureConfigured().userSubscriptions.subscribe(userUniqueId, request));\n }\n\n /**\n * Cancel a user subscription\n */\n cancelUserSubscription(id: string): Observable<UserSubscription> {\n return from(this.ensureConfigured().userSubscriptions.cancel(id));\n }\n\n /**\n * Reactivate a user subscription\n */\n reactivateUserSubscription(id: string): Observable<UserSubscription> {\n return from(this.ensureConfigured().userSubscriptions.reactivate(id));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Company Subscriptions Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List company subscriptions\n */\n listCompanySubscriptions(params?: ListParams): Observable<PageResult<CompanySubscription>> {\n return from(this.ensureConfigured().companySubscriptions.list(params));\n }\n\n /**\n * Get a company subscription by ID\n */\n getCompanySubscription(id: string): Observable<CompanySubscription> {\n return from(this.ensureConfigured().companySubscriptions.get(id));\n }\n\n /**\n * Get subscriptions for a company\n */\n getSubscriptionsForCompany(companyUniqueId: string): Observable<CompanySubscription[]> {\n return from(this.ensureConfigured().companySubscriptions.forCompany(companyUniqueId));\n }\n\n /**\n * Subscribe a company to a plan\n */\n subscribeCompany(companyUniqueId: string, request: SubscribeRequest): Observable<CompanySubscription> {\n return from(this.ensureConfigured().companySubscriptions.subscribe(companyUniqueId, request));\n }\n\n /**\n * Cancel a company subscription\n */\n cancelCompanySubscription(id: string): Observable<CompanySubscription> {\n return from(this.ensureConfigured().companySubscriptions.cancel(id));\n }\n\n /**\n * Reactivate a company subscription\n */\n reactivateCompanySubscription(id: string): Observable<CompanySubscription> {\n return from(this.ensureConfigured().companySubscriptions.reactivate(id));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Countries Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List countries with pagination\n */\n listCountries(params?: ListParams): Observable<PageResult<Country>> {\n return from(this.ensureConfigured().countries.list(params));\n }\n\n /**\n * Get a country by ID\n */\n getCountry(id: string): Observable<Country> {\n return from(this.ensureConfigured().countries.get(id));\n }\n\n /**\n * Get a country by ISO code\n */\n getCountryByIsoCode(isoCode: string): Observable<Country> {\n return from(this.ensureConfigured().countries.getByIsoCode(isoCode));\n }\n\n /**\n * Get all countries (no pagination)\n */\n getAllCountries(): Observable<Country[]> {\n return from(this.ensureConfigured().countries.all());\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // States Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List states with pagination\n */\n listStates(params?: ListParams): Observable<PageResult<State>> {\n return from(this.ensureConfigured().states.list(params));\n }\n\n /**\n * Get a state by ID\n */\n getState(id: string): Observable<State> {\n return from(this.ensureConfigured().states.get(id));\n }\n\n /**\n * Get states for a country\n */\n getStatesForCountry(countryId: string): Observable<State[]> {\n return from(this.ensureConfigured().states.forCountry(countryId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Counties Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List counties with pagination\n */\n listCounties(params?: ListParams): Observable<PageResult<County>> {\n return from(this.ensureConfigured().counties.list(params));\n }\n\n /**\n * Get a county by ID\n */\n getCounty(id: string): Observable<County> {\n return from(this.ensureConfigured().counties.get(id));\n }\n\n /**\n * Get counties for a state\n */\n getCountiesForState(stateId: string): Observable<County[]> {\n return from(this.ensureConfigured().counties.forState(stateId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Cities Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List cities with pagination\n */\n listCities(params?: ListParams): Observable<PageResult<City>> {\n return from(this.ensureConfigured().cities.list(params));\n }\n\n /**\n * Get a city by ID\n */\n getCity(id: string): Observable<City> {\n return from(this.ensureConfigured().cities.get(id));\n }\n\n /**\n * Get cities for a state\n */\n getCitiesForState(stateId: string): Observable<City[]> {\n return from(this.ensureConfigured().cities.forState(stateId));\n }\n\n /**\n * Get cities for a county\n */\n getCitiesForCounty(countyId: string): Observable<City[]> {\n return from(this.ensureConfigured().cities.forCounty(countyId));\n }\n\n /**\n * Search cities by name\n */\n searchCities(query: string, params?: ListParams): Observable<PageResult<City>> {\n return from(this.ensureConfigured().cities.search(query, params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Currencies Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List currencies with pagination\n */\n listCurrencies(params?: ListParams): Observable<PageResult<Currency>> {\n return from(this.ensureConfigured().currencies.list(params));\n }\n\n /**\n * Get a currency by ID\n */\n getCurrency(id: string): Observable<Currency> {\n return from(this.ensureConfigured().currencies.get(id));\n }\n\n /**\n * Get a currency by code\n */\n getCurrencyByCode(code: string): Observable<Currency> {\n return from(this.ensureConfigured().currencies.getByCode(code));\n }\n\n /**\n * Get all currencies (no pagination)\n */\n getAllCurrencies(): Observable<Currency[]> {\n return from(this.ensureConfigured().currencies.all());\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Guests Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List guests with pagination\n */\n listGuests(params?: ListParams): Observable<PageResult<Guest>> {\n return from(this.ensureConfigured().guests.list(params));\n }\n\n /**\n * Get a guest by ID\n */\n getGuest(id: string): Observable<Guest> {\n return from(this.ensureConfigured().guests.get(id));\n }\n\n /**\n * Track a guest visit\n */\n trackGuest(): Observable<Guest> {\n return from(this.ensureConfigured().guests.track());\n }\n\n /**\n * Convert guest to user (registration)\n */\n convertGuest(id: string): Observable<Guest> {\n return from(this.ensureConfigured().guests.convert(id));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Magic Links Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List magic links with pagination\n */\n listMagicLinks(params?: ListParams): Observable<PageResult<MagicLink>> {\n return from(this.ensureConfigured().magicLinks.list(params));\n }\n\n /**\n * Get a magic link by ID\n */\n getMagicLink(id: string): Observable<MagicLink> {\n return from(this.ensureConfigured().magicLinks.get(id));\n }\n\n /**\n * Create a magic link\n */\n createMagicLink(request: CreateMagicLinkRequest): Observable<MagicLink> {\n return from(this.ensureConfigured().magicLinks.create(request));\n }\n\n /**\n * Validate a magic link token\n */\n validateMagicLink(token: string): Observable<MagicLink> {\n return from(this.ensureConfigured().magicLinks.validate(token));\n }\n\n /**\n * Expire a magic link\n */\n expireMagicLink(id: string): Observable<MagicLink> {\n return from(this.ensureConfigured().magicLinks.expire(id));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Refresh Tokens Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List refresh tokens for the current user\n */\n listRefreshTokens(params?: ListParams): Observable<PageResult<RefreshToken>> {\n return from(this.ensureConfigured().refreshTokens.list(params));\n }\n\n /**\n * Get a refresh token by ID\n */\n getRefreshToken(id: string): Observable<RefreshToken> {\n return from(this.ensureConfigured().refreshTokens.get(id));\n }\n\n /**\n * Revoke a refresh token\n */\n revokeRefreshToken(id: string): Observable<RefreshToken> {\n return from(this.ensureConfigured().refreshTokens.revoke(id));\n }\n\n /**\n * Revoke all refresh tokens for current user\n */\n revokeAllRefreshTokens(): Observable<void> {\n return from(this.ensureConfigured().refreshTokens.revokeAll());\n }\n\n /**\n * Revoke all refresh tokens except current\n */\n revokeOtherRefreshTokens(): Observable<void> {\n return from(this.ensureConfigured().refreshTokens.revokeOthers());\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // User Devices Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List devices for current user\n */\n listDevices(params?: ListParams): Observable<PageResult<UserDevice>> {\n return from(this.ensureConfigured().userDevices.list(params));\n }\n\n /**\n * Get a device by ID\n */\n getDevice(id: string): Observable<UserDevice> {\n return from(this.ensureConfigured().userDevices.get(id));\n }\n\n /**\n * Register a new device\n */\n registerDevice(request: RegisterDeviceRequest): Observable<UserDevice> {\n return from(this.ensureConfigured().userDevices.register(request));\n }\n\n /**\n * Update device settings\n */\n updateDevice(id: string, request: Partial<RegisterDeviceRequest>): Observable<UserDevice> {\n return from(this.ensureConfigured().userDevices.update(id, request));\n }\n\n /**\n * Unregister a device\n */\n unregisterDevice(id: string): Observable<void> {\n return from(this.ensureConfigured().userDevices.unregister(id));\n }\n\n /**\n * Set default device\n */\n setDefaultDevice(id: string): Observable<UserDevice> {\n return from(this.ensureConfigured().userDevices.setDefault(id));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Tenant Users Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Get current tenant user context\n */\n getCurrentTenantUser(): Observable<TenantUser> {\n return from(this.ensureConfigured().tenantUsers.current());\n }\n\n /**\n * Get tenant user by user ID\n */\n getTenantUser(userUniqueId: string): Observable<TenantUser> {\n return from(this.ensureConfigured().tenantUsers.get(userUniqueId));\n }\n\n /**\n * List tenant users\n */\n listTenantUsers(params?: ListParams): Observable<TenantUser[]> {\n return from(this.ensureConfigured().tenantUsers.list(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Mail Templates Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List mail templates with pagination\n */\n listMailTemplates(params?: ListParams): Observable<PageResult<MailTemplate>> {\n return from(this.ensureConfigured().mailTemplates.list(params));\n }\n\n /**\n * Get a mail template by ID\n */\n getMailTemplate(id: string): Observable<MailTemplate> {\n return from(this.ensureConfigured().mailTemplates.get(id));\n }\n\n /**\n * Get a mail template by event name\n */\n getMailTemplateByEvent(eventName: string): Observable<MailTemplate> {\n return from(this.ensureConfigured().mailTemplates.getByEvent(eventName));\n }\n\n /**\n * Update a mail template\n */\n updateMailTemplate(id: string, template: Partial<MailTemplate>): Observable<MailTemplate> {\n return from(this.ensureConfigured().mailTemplates.update(id, template));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Token Management (only applicable with provideBlocks23)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Get the current access token (token mode only).\n * Returns null if using cookie mode or no token is stored.\n */\n getAccessToken(): string | null {\n return this.tokenManager?.getAccessToken() ?? null;\n }\n\n /**\n * Get the current refresh token (token mode only).\n * Returns null if using cookie mode or no token is stored.\n */\n getRefreshToken(): string | null {\n return this.tokenManager?.getRefreshToken() ?? null;\n }\n\n /**\n * Manually set tokens (token mode only).\n * Useful for SSR hydration or external auth flows.\n */\n setTokens(accessToken: string, refreshToken?: string): void {\n this.tokenManager?.setTokens(accessToken, refreshToken);\n }\n\n /**\n * Clear stored tokens.\n */\n clearTokens(): void {\n this.tokenManager?.clearTokens();\n }\n\n /**\n * Check if user is likely authenticated.\n * In token mode: checks if token exists.\n * In cookie mode: always returns null (use validateToken instead).\n */\n isAuthenticated(): boolean | null {\n if (!this.tokenManager || this.simpleConfig?.authMode === 'cookie') {\n return null;\n }\n return !!this.tokenManager.getAccessToken();\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // JWKS Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Get the JSON Web Key Set (JWKS) for verifying tokens\n */\n getJwks(): Observable<JwksResponse> {\n return from(this.ensureConfigured().jwks.getJwks());\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Admin RSA Keys Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List all RSA keys\n */\n listRsaKeys(): Observable<RsaKey[]> {\n return from(this.ensureConfigured().adminRsaKeys.list());\n }\n\n /**\n * Create a new RSA key\n */\n createRsaKey(request: CreateRsaKeyRequest): Observable<RsaKey> {\n return from(this.ensureConfigured().adminRsaKeys.create(request));\n }\n\n /**\n * Rotate an RSA key (creates new, deactivates old)\n */\n rotateRsaKey(kid: string, request?: RotateRsaKeyRequest): Observable<RsaKey> {\n return from(this.ensureConfigured().adminRsaKeys.rotate(kid, request));\n }\n\n /**\n * Delete an RSA key\n */\n deleteRsaKey(kid: string): Observable<void> {\n return from(this.ensureConfigured().adminRsaKeys.delete(kid));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // OIDC Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Get OpenID Connect discovery document\n */\n getOidcDiscovery(): Observable<OidcDiscovery> {\n return from(this.ensureConfigured().oidc.discovery());\n }\n\n /**\n * Get authorization endpoint URL with parameters\n */\n getOidcAuthorizeUrl(request: OidcAuthorizeRequest): string {\n return this.ensureConfigured().oidc.authorize(request);\n }\n\n /**\n * Exchange authorization code for tokens\n */\n exchangeOidcToken(request: OidcTokenRequest): Observable<OidcTokenResponse> {\n return from(this.ensureConfigured().oidc.token(request));\n }\n\n /**\n * Get user info from OIDC userinfo endpoint\n */\n getOidcUserInfo(accessToken: string): Observable<OidcUserInfo> {\n return from(this.ensureConfigured().oidc.userinfo(accessToken));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get authenticationBlock(): AuthenticationBlock {\n return this.ensureConfigured();\n }\n}\n","// @ts-nocheck\nimport { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createSearchBlock,\n type SearchBlock,\n type SearchBlockConfig,\n type SearchResult,\n type SearchQuery,\n type LastQuery,\n type FavoriteEntity,\n type EntityType,\n type SearchRequest,\n type SearchResponse,\n type AddFavoriteRequest,\n type SearchEntity,\n type EntityTypeSchema,\n type RegisterEntityRequest,\n type UpdateEntityRequest,\n type ListEntitiesParams,\n type CopilotSearchRequest,\n type SearchIdentity,\n type RegisterIdentityRequest,\n type UpdateIdentityRequest,\n type ListIdentitiesParams,\n type JarvisSearchQuery,\n type JarvisSearchResult,\n} from '@23blocks/block-search';\nimport { TRANSPORT, SEARCH_TRANSPORT, SEARCH_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Search block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class SearchComponent {\n * results$ = new BehaviorSubject<SearchResult[]>([]);\n *\n * constructor(private searchService: SearchService) {}\n *\n * onSearch(query: string) {\n * this.searchService.search({ query }).subscribe({\n * next: (response) => this.results$.next(response.results),\n * error: (err) => console.error('Search failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class SearchService {\n private readonly block: SearchBlock | null;\n\n constructor(\n @Optional() @Inject(SEARCH_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(SEARCH_CONFIG) config: SearchBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createSearchBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): SearchBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] SearchService is not configured. ' +\n \"Add 'urls.search' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Search Operations\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Perform a search query\n */\n search(request: SearchRequest): Observable<SearchResponse> {\n return from(this.ensureConfigured().search.search(request));\n }\n\n /**\n * Get search suggestions for autocomplete\n */\n suggest(query: string, limit?: number): Observable<SearchResult[]> {\n return from(this.ensureConfigured().search.suggest(query, limit));\n }\n\n /**\n * Get available entity types for filtering\n */\n getEntityTypes(): Observable<EntityType[]> {\n return from(this.ensureConfigured().search.entityTypes());\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Search History\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Get recent search queries\n */\n getLastQueries(limit?: number): Observable<LastQuery[]> {\n return from(this.ensureConfigured().history.getLastQueries(limit));\n }\n\n /**\n * Get the full history of search queries\n */\n getQueryHistory(params?: { page?: number; perPage?: number }): Observable<SearchQuery[]> {\n return from(this.ensureConfigured().history.getHistory(params));\n }\n\n /**\n * Clear search history\n */\n clearHistory(): Observable<void> {\n return from(this.ensureConfigured().history.clear());\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Favorites\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List user's favorite entities\n */\n listFavorites(): Observable<FavoriteEntity[]> {\n return from(this.ensureConfigured().favorites.list());\n }\n\n /**\n * Add an entity to favorites\n */\n addFavorite(request: AddFavoriteRequest): Observable<FavoriteEntity> {\n return from(this.ensureConfigured().favorites.add(request));\n }\n\n /**\n * Remove an entity from favorites\n */\n removeFavorite(id: string): Observable<void> {\n return from(this.ensureConfigured().favorites.remove(id));\n }\n\n /**\n * Check if an entity is favorited\n */\n isFavorite(entityUniqueId: string): Observable<boolean> {\n return from(this.ensureConfigured().favorites.isFavorite(entityUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Entities Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listEntities(params?: ListEntitiesParams): Observable<PageResult<SearchEntity>> {\n return from(this.ensureConfigured().entities.list(params));\n }\n\n getEntity(uniqueId: string): Observable<SearchEntity> {\n return from(this.ensureConfigured().entities.get(uniqueId));\n }\n\n registerEntity(uniqueId: string, data: RegisterEntityRequest): Observable<SearchEntity> {\n return from(this.ensureConfigured().entities.register(uniqueId, data));\n }\n\n updateEntity(uniqueId: string, data: UpdateEntityRequest): Observable<SearchEntity> {\n return from(this.ensureConfigured().entities.update(uniqueId, data));\n }\n\n deleteEntity(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().entities.delete(uniqueId));\n }\n\n listRegisteredEntityTypes(): Observable<{ entityType: string }[]> {\n return from(this.ensureConfigured().entities.listEntityTypes());\n }\n\n getEntityTypeSchema(entityType: string): Observable<EntityTypeSchema> {\n return from(this.ensureConfigured().entities.getEntityTypeSchema(entityType));\n }\n\n searchByCopilot(data: CopilotSearchRequest): Observable<SearchEntity[]> {\n return from(this.ensureConfigured().entities.searchByCopilot(data));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Identities Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listIdentities(params?: ListIdentitiesParams): Observable<PageResult<SearchIdentity>> {\n return from(this.ensureConfigured().identities.list(params));\n }\n\n getIdentity(uniqueId: string): Observable<SearchIdentity> {\n return from(this.ensureConfigured().identities.get(uniqueId));\n }\n\n registerIdentity(uniqueId: string, data: RegisterIdentityRequest): Observable<SearchIdentity> {\n return from(this.ensureConfigured().identities.register(uniqueId, data));\n }\n\n updateIdentity(uniqueId: string, data: UpdateIdentityRequest): Observable<SearchIdentity> {\n return from(this.ensureConfigured().identities.update(uniqueId, data));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Jarvis AI-Enhanced Search Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Perform AI-enhanced search using Jarvis\n */\n jarvisSearch(query: JarvisSearchQuery): Observable<PageResult<JarvisSearchResult>> {\n return from(this.ensureConfigured().jarvis.search(query));\n }\n\n /**\n * Get semantic suggestions using Jarvis AI\n */\n jarvisSuggest(query: string, limit?: number): Observable<string[]> {\n return from(this.ensureConfigured().jarvis.suggest(query, limit));\n }\n\n /**\n * Get related entities using Jarvis AI\n */\n jarvisGetRelated(entityUniqueId: string, entityType: string, limit?: number): Observable<JarvisSearchResult[]> {\n return from(this.ensureConfigured().jarvis.getRelated(entityUniqueId, entityType, limit));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n */\n get searchBlock(): SearchBlock {\n return this.ensureConfigured();\n }\n}\n","// @ts-nocheck\nimport { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createProductsBlock,\n type ProductsBlock,\n type ProductsBlockConfig,\n type Product,\n type ProductVariation,\n type ProductImage,\n type ProductStock,\n type ProductReview,\n type CreateProductRequest,\n type UpdateProductRequest,\n type ListProductsParams,\n type CreateVariationRequest,\n type UpdateVariationRequest,\n type Cart,\n type CartDetail,\n type AddToCartRequest,\n type UpdateCartItemRequest,\n type UpdateCartRequest,\n type CheckoutRequest,\n type Category,\n type Brand,\n type Vendor,\n type Warehouse,\n type Channel,\n type Collection,\n type CreateCategoryRequest,\n type UpdateCategoryRequest,\n type CreateBrandRequest,\n type UpdateBrandRequest,\n type CreateVendorRequest,\n type UpdateVendorRequest,\n type CreateWarehouseRequest,\n type UpdateWarehouseRequest,\n type ListCategoriesParams,\n type ListVendorsParams,\n type ListWarehousesParams,\n type ProductSet,\n type CreateProductSetRequest,\n type UpdateProductSetRequest,\n type ListProductSetsParams,\n type ShoppingList,\n type CreateShoppingListRequest,\n type UpdateShoppingListRequest,\n type ListShoppingListsParams,\n type ProductPromotion,\n type CreateProductPromotionRequest,\n type UpdateProductPromotionRequest,\n type ListProductPromotionsParams,\n type ProductPrice,\n type CreateProductPriceRequest,\n type UpdateProductPriceRequest,\n type ListProductPricesParams,\n type ProductFilter,\n type CreateProductFilterRequest,\n type UpdateProductFilterRequest,\n type ListProductFiltersParams,\n type AddToMyCartRequest,\n type UpdateMyCartRequest,\n type AbandonedCart,\n type AbandonedCartsParams,\n type CreateVisitorRequest,\n type Visitor,\n // Product vendor types\n type ProductVendor,\n type ListProductVendorsParams,\n} from '@23blocks/block-products';\nimport { TRANSPORT, PRODUCTS_TRANSPORT, PRODUCTS_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Products block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class ProductsComponent {\n * constructor(private products: ProductsService) {}\n *\n * loadProducts() {\n * this.products.listProducts().subscribe({\n * next: (result) => console.log('Products:', result.data),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class ProductsService {\n private readonly block: ProductsBlock | null;\n\n constructor(\n @Optional() @Inject(PRODUCTS_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(PRODUCTS_CONFIG) config: ProductsBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createProductsBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): ProductsBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] ProductsService is not configured. ' +\n \"Add 'urls.products' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Products Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listProducts(params?: ListProductsParams): Observable<PageResult<Product>> {\n return from(this.ensureConfigured().products.list(params));\n }\n\n getProduct(uniqueId: string): Observable<Product> {\n return from(this.ensureConfigured().products.get(uniqueId));\n }\n\n createProduct(data: CreateProductRequest): Observable<Product> {\n return from(this.ensureConfigured().products.create(data));\n }\n\n updateProduct(uniqueId: string, data: UpdateProductRequest): Observable<Product> {\n return from(this.ensureConfigured().products.update(uniqueId, data));\n }\n\n deleteProduct(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().products.delete(uniqueId));\n }\n\n recoverProduct(uniqueId: string): Observable<Product> {\n return from(this.ensureConfigured().products.recover(uniqueId));\n }\n\n searchProducts(query: string, params?: ListProductsParams): Observable<PageResult<Product>> {\n return from(this.ensureConfigured().products.search(query, params));\n }\n\n listDeletedProducts(params?: ListProductsParams): Observable<PageResult<Product>> {\n return from(this.ensureConfigured().products.listDeleted(params));\n }\n\n // Variations\n listVariations(productUniqueId: string): Observable<ProductVariation[]> {\n return from(this.ensureConfigured().products.listVariations(productUniqueId));\n }\n\n getVariation(uniqueId: string): Observable<ProductVariation> {\n return from(this.ensureConfigured().products.getVariation(uniqueId));\n }\n\n createVariation(data: CreateVariationRequest): Observable<ProductVariation> {\n return from(this.ensureConfigured().products.createVariation(data));\n }\n\n updateVariation(uniqueId: string, data: UpdateVariationRequest): Observable<ProductVariation> {\n return from(this.ensureConfigured().products.updateVariation(uniqueId, data));\n }\n\n deleteVariation(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().products.deleteVariation(uniqueId));\n }\n\n // Images\n listImages(productUniqueId: string): Observable<ProductImage[]> {\n return from(this.ensureConfigured().products.listImages(productUniqueId));\n }\n\n addImage(productUniqueId: string, imageUrl: string, isPrimary?: boolean): Observable<ProductImage> {\n return from(this.ensureConfigured().products.addImage(productUniqueId, imageUrl, isPrimary));\n }\n\n deleteImage(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().products.deleteImage(uniqueId));\n }\n\n // Stock\n getStock(productUniqueId: string, vendorUniqueId?: string): Observable<ProductStock[]> {\n return from(this.ensureConfigured().products.getStock(productUniqueId, vendorUniqueId));\n }\n\n updateStock(\n productUniqueId: string,\n vendorUniqueId: string,\n warehouseUniqueId: string,\n quantity: number\n ): Observable<ProductStock> {\n return from(this.ensureConfigured().products.updateStock(productUniqueId, vendorUniqueId, warehouseUniqueId, quantity));\n }\n\n // Reviews\n listReviews(productUniqueId: string): Observable<PageResult<ProductReview>> {\n return from(this.ensureConfigured().products.listReviews(productUniqueId));\n }\n\n addReview(\n productUniqueId: string,\n rating: number,\n title?: string,\n content?: string\n ): Observable<ProductReview> {\n return from(this.ensureConfigured().products.addReview(productUniqueId, rating, title, content));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Cart Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n getCart(userUniqueId: string): Observable<Cart> {\n return from(this.ensureConfigured().cart.get(userUniqueId));\n }\n\n getOrCreateCart(userUniqueId: string): Observable<Cart> {\n return from(this.ensureConfigured().cart.getOrCreate(userUniqueId));\n }\n\n updateCart(userUniqueId: string, data: UpdateCartRequest): Observable<Cart> {\n return from(this.ensureConfigured().cart.update(userUniqueId, data));\n }\n\n deleteCart(userUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().cart.delete(userUniqueId));\n }\n\n // Cart Items\n addCartItem(userUniqueId: string, item: AddToCartRequest): Observable<Cart> {\n return from(this.ensureConfigured().cart.addItem(userUniqueId, item));\n }\n\n updateCartItem(userUniqueId: string, productUniqueId: string, data: UpdateCartItemRequest): Observable<Cart> {\n return from(this.ensureConfigured().cart.updateItem(userUniqueId, productUniqueId, data));\n }\n\n removeCartItem(userUniqueId: string, productUniqueId: string): Observable<Cart> {\n return from(this.ensureConfigured().cart.removeItem(userUniqueId, productUniqueId));\n }\n\n getCartItems(userUniqueId: string): Observable<CartDetail[]> {\n return from(this.ensureConfigured().cart.getItems(userUniqueId));\n }\n\n // Checkout\n checkout(userUniqueId: string, data?: CheckoutRequest): Observable<Cart> {\n return from(this.ensureConfigured().cart.checkout(userUniqueId, data));\n }\n\n orderCart(userUniqueId: string): Observable<{ cart: Cart; orderUniqueId: string }> {\n return from(this.ensureConfigured().cart.order(userUniqueId));\n }\n\n orderCartItem(userUniqueId: string, productUniqueId: string): Observable<{ cart: Cart; orderUniqueId: string }> {\n return from(this.ensureConfigured().cart.orderItem(userUniqueId, productUniqueId));\n }\n\n cancelCart(userUniqueId: string): Observable<Cart> {\n return from(this.ensureConfigured().cart.cancel(userUniqueId));\n }\n\n cancelCartItem(userUniqueId: string, productUniqueId: string): Observable<Cart> {\n return from(this.ensureConfigured().cart.cancelItem(userUniqueId, productUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Categories Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCategories(params?: ListCategoriesParams): Observable<PageResult<Category>> {\n return from(this.ensureConfigured().categories.list(params));\n }\n\n getCategory(uniqueId: string): Observable<Category> {\n return from(this.ensureConfigured().categories.get(uniqueId));\n }\n\n createCategory(data: CreateCategoryRequest): Observable<Category> {\n return from(this.ensureConfigured().categories.create(data));\n }\n\n updateCategory(uniqueId: string, data: UpdateCategoryRequest): Observable<Category> {\n return from(this.ensureConfigured().categories.update(uniqueId, data));\n }\n\n deleteCategory(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().categories.delete(uniqueId));\n }\n\n recoverCategory(uniqueId: string): Observable<Category> {\n return from(this.ensureConfigured().categories.recover(uniqueId));\n }\n\n getCategoryChildren(uniqueId: string): Observable<Category[]> {\n return from(this.ensureConfigured().categories.getChildren(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Brands Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listBrands(page?: number, perPage?: number): Observable<PageResult<Brand>> {\n return from(this.ensureConfigured().brands.list(page, perPage));\n }\n\n getBrand(uniqueId: string): Observable<Brand> {\n return from(this.ensureConfigured().brands.get(uniqueId));\n }\n\n createBrand(data: CreateBrandRequest): Observable<Brand> {\n return from(this.ensureConfigured().brands.create(data));\n }\n\n updateBrand(uniqueId: string, data: UpdateBrandRequest): Observable<Brand> {\n return from(this.ensureConfigured().brands.update(uniqueId, data));\n }\n\n deleteBrand(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().brands.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Vendors Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listVendors(params?: ListVendorsParams): Observable<PageResult<Vendor>> {\n return from(this.ensureConfigured().vendors.list(params));\n }\n\n getVendor(uniqueId: string): Observable<Vendor> {\n return from(this.ensureConfigured().vendors.get(uniqueId));\n }\n\n createVendor(data: CreateVendorRequest): Observable<Vendor> {\n return from(this.ensureConfigured().vendors.create(data));\n }\n\n updateVendor(uniqueId: string, data: UpdateVendorRequest): Observable<Vendor> {\n return from(this.ensureConfigured().vendors.update(uniqueId, data));\n }\n\n deleteVendor(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().vendors.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Warehouses Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listWarehouses(params?: ListWarehousesParams): Observable<PageResult<Warehouse>> {\n return from(this.ensureConfigured().warehouses.list(params));\n }\n\n getWarehouse(uniqueId: string): Observable<Warehouse> {\n return from(this.ensureConfigured().warehouses.get(uniqueId));\n }\n\n createWarehouse(data: CreateWarehouseRequest): Observable<Warehouse> {\n return from(this.ensureConfigured().warehouses.create(data));\n }\n\n updateWarehouse(uniqueId: string, data: UpdateWarehouseRequest): Observable<Warehouse> {\n return from(this.ensureConfigured().warehouses.update(uniqueId, data));\n }\n\n deleteWarehouse(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().warehouses.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Channels Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listChannels(): Observable<Channel[]> {\n return from(this.ensureConfigured().channels.list());\n }\n\n getChannel(uniqueId: string): Observable<Channel> {\n return from(this.ensureConfigured().channels.get(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Collections Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCollections(): Observable<Collection[]> {\n return from(this.ensureConfigured().collections.list());\n }\n\n getCollection(uniqueId: string): Observable<Collection> {\n return from(this.ensureConfigured().collections.get(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Product Sets Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listProductSets(params?: ListProductSetsParams): Observable<PageResult<ProductSet>> {\n return from(this.ensureConfigured().productSets.list(params));\n }\n\n getProductSet(uniqueId: string): Observable<ProductSet> {\n return from(this.ensureConfigured().productSets.get(uniqueId));\n }\n\n createProductSet(data: CreateProductSetRequest): Observable<ProductSet> {\n return from(this.ensureConfigured().productSets.create(data));\n }\n\n updateProductSet(uniqueId: string, data: UpdateProductSetRequest): Observable<ProductSet> {\n return from(this.ensureConfigured().productSets.update(uniqueId, data));\n }\n\n deleteProductSet(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().productSets.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Shopping Lists Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listShoppingLists(params?: ListShoppingListsParams): Observable<PageResult<ShoppingList>> {\n return from(this.ensureConfigured().shoppingLists.list(params));\n }\n\n getShoppingList(uniqueId: string): Observable<ShoppingList> {\n return from(this.ensureConfigured().shoppingLists.get(uniqueId));\n }\n\n createShoppingList(data: CreateShoppingListRequest): Observable<ShoppingList> {\n return from(this.ensureConfigured().shoppingLists.create(data));\n }\n\n updateShoppingList(uniqueId: string, data: UpdateShoppingListRequest): Observable<ShoppingList> {\n return from(this.ensureConfigured().shoppingLists.update(uniqueId, data));\n }\n\n deleteShoppingList(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().shoppingLists.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Promotions Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listProductPromotions(params?: ListProductPromotionsParams): Observable<PageResult<ProductPromotion>> {\n return from(this.ensureConfigured().promotions.list(params));\n }\n\n getProductPromotion(uniqueId: string): Observable<ProductPromotion> {\n return from(this.ensureConfigured().promotions.get(uniqueId));\n }\n\n createProductPromotion(data: CreateProductPromotionRequest): Observable<ProductPromotion> {\n return from(this.ensureConfigured().promotions.create(data));\n }\n\n updateProductPromotion(uniqueId: string, data: UpdateProductPromotionRequest): Observable<ProductPromotion> {\n return from(this.ensureConfigured().promotions.update(uniqueId, data));\n }\n\n deleteProductPromotion(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().promotions.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Prices Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listProductPrices(params?: ListProductPricesParams): Observable<PageResult<ProductPrice>> {\n return from(this.ensureConfigured().prices.list(params));\n }\n\n getProductPrice(uniqueId: string): Observable<ProductPrice> {\n return from(this.ensureConfigured().prices.get(uniqueId));\n }\n\n createProductPrice(data: CreateProductPriceRequest): Observable<ProductPrice> {\n return from(this.ensureConfigured().prices.create(data));\n }\n\n updateProductPrice(uniqueId: string, data: UpdateProductPriceRequest): Observable<ProductPrice> {\n return from(this.ensureConfigured().prices.update(uniqueId, data));\n }\n\n deleteProductPrice(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().prices.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Filters Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listProductFilters(params?: ListProductFiltersParams): Observable<PageResult<ProductFilter>> {\n return from(this.ensureConfigured().filters.list(params));\n }\n\n getProductFilter(uniqueId: string): Observable<ProductFilter> {\n return from(this.ensureConfigured().filters.get(uniqueId));\n }\n\n createProductFilter(data: CreateProductFilterRequest): Observable<ProductFilter> {\n return from(this.ensureConfigured().filters.create(data));\n }\n\n updateProductFilter(uniqueId: string, data: UpdateProductFilterRequest): Observable<ProductFilter> {\n return from(this.ensureConfigured().filters.update(uniqueId, data));\n }\n\n deleteProductFilter(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().filters.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Addons Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listAddons(productUniqueId: string): Observable<Product[]> {\n return from(this.ensureConfigured().addons.list(productUniqueId));\n }\n\n addAddon(productUniqueId: string, addonProductUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().addons.add(productUniqueId, addonProductUniqueId));\n }\n\n removeAddon(productUniqueId: string, addonUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().addons.remove(productUniqueId, addonUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // My Carts Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n getMyCart(uniqueId: string): Observable<Cart> {\n return from(this.ensureConfigured().myCarts.get(uniqueId));\n }\n\n createMyCart(): Observable<Cart> {\n return from(this.ensureConfigured().myCarts.create());\n }\n\n updateMyCart(uniqueId: string, data: UpdateMyCartRequest): Observable<Cart> {\n return from(this.ensureConfigured().myCarts.update(uniqueId, data));\n }\n\n addToMyCart(data: AddToMyCartRequest): Observable<Cart> {\n return from(this.ensureConfigured().myCarts.addToCart(data));\n }\n\n checkoutMyCart(uniqueId: string): Observable<Cart> {\n return from(this.ensureConfigured().myCarts.checkout(uniqueId));\n }\n\n orderAllMyCart(uniqueId: string): Observable<Cart> {\n return from(this.ensureConfigured().myCarts.orderAll(uniqueId));\n }\n\n cancelAllMyCart(uniqueId: string): Observable<Cart> {\n return from(this.ensureConfigured().myCarts.cancelAll(uniqueId));\n }\n\n deleteMyCart(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().myCarts.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Remarketing Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n getAbandonedCarts(params?: AbandonedCartsParams): Observable<{ carts: AbandonedCart[]; total: number }> {\n return from(this.ensureConfigured().remarketing.getAbandonedCarts(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Visitors Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n createVisitor(data: CreateVisitorRequest): Observable<Visitor> {\n return from(this.ensureConfigured().visitors.create(data));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Product Vendors Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List vendors for a product\n */\n listProductVendors(productUniqueId: string, params?: ListProductVendorsParams): Observable<PageResult<ProductVendor>> {\n return from(this.ensureConfigured().productVendors.listByProduct(productUniqueId, params));\n }\n\n /**\n * Get the primary vendor for a product\n */\n getPrimaryProductVendor(productUniqueId: string): Observable<ProductVendor | null> {\n return from(this.ensureConfigured().productVendors.getPrimaryVendor(productUniqueId));\n }\n\n /**\n * Get available vendors for a product\n */\n getAvailableProductVendors(productUniqueId: string, params?: ListProductVendorsParams): Observable<PageResult<ProductVendor>> {\n return from(this.ensureConfigured().productVendors.getAvailableVendors(productUniqueId, params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get productsBlock(): ProductsBlock {\n return this.ensureConfigured();\n }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createCrmBlock,\n type CrmBlock,\n type CrmBlockConfig,\n // Account types\n type Account,\n type AccountDetail,\n type CreateAccountRequest,\n type UpdateAccountRequest,\n type ListAccountsParams,\n // Contact types\n type Contact,\n type ContactProfile,\n type CreateContactRequest,\n type UpdateContactRequest,\n type ListContactsParams,\n // Contact Event types\n type ContactEvent,\n type CreateContactEventRequest,\n type UpdateContactEventRequest,\n type ListContactEventsParams,\n type ConfirmationRequest,\n type CheckinRequest,\n type CheckoutRequest,\n type EventNotesRequest,\n // Lead types\n type Lead,\n type CreateLeadRequest,\n type UpdateLeadRequest,\n type ListLeadsParams,\n // Lead Follow types\n type LeadFollow,\n type CreateLeadFollowRequest,\n type UpdateLeadFollowRequest,\n type ListLeadFollowsParams,\n // Opportunity types\n type Opportunity,\n type CreateOpportunityRequest,\n type UpdateOpportunityRequest,\n type ListOpportunitiesParams,\n // Meeting types\n type Meeting,\n type CreateMeetingRequest,\n type UpdateMeetingRequest,\n type ListMeetingsParams,\n // Meeting Participant types\n type MeetingParticipant,\n type CreateMeetingParticipantRequest,\n type ListMeetingParticipantsParams,\n // Meeting Billing types\n type MeetingBilling,\n type CreateMeetingBillingRequest,\n type UpdateMeetingBillingRequest,\n type ListMeetingBillingsParams,\n type PaymentSplit,\n type EapSession,\n type OutstandingByPayer,\n type BillingRevenueReport,\n type BillingAgingReport,\n type BillingParticipantReport,\n // Quote types\n type Quote,\n type CreateQuoteRequest,\n type UpdateQuoteRequest,\n type ListQuotesParams,\n // Subscriber types\n type Subscriber,\n type CreateSubscriberRequest,\n type UpdateSubscriberRequest,\n type ListSubscribersParams,\n // Referral types\n type Referral,\n type CreateReferralRequest,\n type UpdateReferralRequest,\n type ListReferralsParams,\n // Touch types\n type Touch,\n type CreateTouchRequest,\n type UpdateTouchRequest,\n type ListTouchesParams,\n // Category types\n type Category,\n type CreateCategoryRequest,\n type UpdateCategoryRequest,\n type ListCategoriesParams,\n // Calendar Account types\n type CalendarAccount,\n type CreateCalendarAccountRequest,\n type UpdateCalendarAccountRequest,\n type ListCalendarAccountsParams,\n type SyncCalendarRequest,\n type SyncCalendarResponse,\n // Busy Block types\n type BusyBlock,\n type CreateBusyBlockRequest,\n type ListBusyBlocksParams,\n // ICS Token types\n type IcsToken,\n type CreateIcsTokenRequest,\n type ListIcsTokensParams,\n // Zoom Meeting types\n type ZoomMeeting,\n type ZoomAvailability,\n type ProvisionZoomMeetingRequest,\n type UpdateZoomMeetingRequest,\n // Zoom Host types\n type ZoomHost,\n type ZoomHostAvailability,\n type ZoomHostAllocation,\n type AvailableUser,\n type CreateZoomHostRequest,\n type UpdateZoomHostRequest,\n type ListZoomHostsParams,\n // Mail Template types\n type CrmMailTemplate,\n type CreateCrmMailTemplateRequest,\n type UpdateCrmMailTemplateRequest,\n type ListCrmMailTemplatesParams,\n type CreateMandrillTemplateRequest,\n type UpdateMandrillTemplateRequest,\n type MandrillTemplateStats,\n // Communication types\n type UnsubscribeRequest,\n type UnsubscribeResponse,\n // CRM User types\n type CrmUser,\n type RegisterCrmUserRequest,\n type ListCrmUsersParams,\n // Billing Report types\n type BillingReportParams,\n type RevenueReport,\n type AgingReport,\n type ParticipantBillingReport,\n // Calendar Sync types\n type CalendarSyncResult,\n} from '@23blocks/block-crm';\nimport { TRANSPORT, CRM_TRANSPORT, CRM_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the CRM block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class AccountsComponent {\n * constructor(private crm: CrmService) {}\n *\n * loadAccounts() {\n * this.crm.listAccounts({ page: 1, perPage: 20 }).subscribe({\n * next: (result) => console.log('Accounts:', result.data),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class CrmService {\n private readonly block: CrmBlock | null;\n\n constructor(\n @Optional() @Inject(CRM_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(CRM_CONFIG) config: CrmBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createCrmBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): CrmBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] CrmService is not configured. ' +\n \"Add 'urls.crm' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Accounts Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listAccounts(params?: ListAccountsParams): Observable<PageResult<Account>> {\n return from(this.ensureConfigured().accounts.list(params));\n }\n\n getAccount(uniqueId: string): Observable<Account> {\n return from(this.ensureConfigured().accounts.get(uniqueId));\n }\n\n createAccount(data: CreateAccountRequest): Observable<Account> {\n return from(this.ensureConfigured().accounts.create(data));\n }\n\n updateAccount(uniqueId: string, data: UpdateAccountRequest): Observable<Account> {\n return from(this.ensureConfigured().accounts.update(uniqueId, data));\n }\n\n deleteAccount(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().accounts.delete(uniqueId));\n }\n\n recoverAccount(uniqueId: string): Observable<Account> {\n return from(this.ensureConfigured().accounts.recover(uniqueId));\n }\n\n searchAccounts(query: string, params?: ListAccountsParams): Observable<PageResult<Account>> {\n return from(this.ensureConfigured().accounts.search(query, params));\n }\n\n listDeletedAccounts(params?: ListAccountsParams): Observable<PageResult<Account>> {\n return from(this.ensureConfigured().accounts.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Contacts Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listContacts(params?: ListContactsParams): Observable<PageResult<Contact>> {\n return from(this.ensureConfigured().contacts.list(params));\n }\n\n getContact(uniqueId: string): Observable<Contact> {\n return from(this.ensureConfigured().contacts.get(uniqueId));\n }\n\n createContact(data: CreateContactRequest): Observable<Contact> {\n return from(this.ensureConfigured().contacts.create(data));\n }\n\n updateContact(uniqueId: string, data: UpdateContactRequest): Observable<Contact> {\n return from(this.ensureConfigured().contacts.update(uniqueId, data));\n }\n\n deleteContact(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().contacts.delete(uniqueId));\n }\n\n recoverContact(uniqueId: string): Observable<Contact> {\n return from(this.ensureConfigured().contacts.recover(uniqueId));\n }\n\n searchContacts(query: string, params?: ListContactsParams): Observable<PageResult<Contact>> {\n return from(this.ensureConfigured().contacts.search(query, params));\n }\n\n listDeletedContacts(params?: ListContactsParams): Observable<PageResult<Contact>> {\n return from(this.ensureConfigured().contacts.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Contact Events Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listContactEvents(params?: ListContactEventsParams): Observable<PageResult<ContactEvent>> {\n return from(this.ensureConfigured().contactEvents.list(params));\n }\n\n getContactEvent(uniqueId: string): Observable<ContactEvent> {\n return from(this.ensureConfigured().contactEvents.get(uniqueId));\n }\n\n createContactEvent(data: CreateContactEventRequest): Observable<ContactEvent> {\n return from(this.ensureConfigured().contactEvents.create(data));\n }\n\n updateContactEvent(uniqueId: string, data: UpdateContactEventRequest): Observable<ContactEvent> {\n return from(this.ensureConfigured().contactEvents.update(uniqueId, data));\n }\n\n deleteContactEvent(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().contactEvents.delete(uniqueId));\n }\n\n studentConfirmation(uniqueId: string, request?: ConfirmationRequest): Observable<ContactEvent> {\n return from(this.ensureConfigured().contactEvents.studentConfirmation(uniqueId, request));\n }\n\n studentCheckin(uniqueId: string, request?: CheckinRequest): Observable<ContactEvent> {\n return from(this.ensureConfigured().contactEvents.studentCheckin(uniqueId, request));\n }\n\n teacherConfirmation(uniqueId: string, request?: ConfirmationRequest): Observable<ContactEvent> {\n return from(this.ensureConfigured().contactEvents.teacherConfirmation(uniqueId, request));\n }\n\n teacherCheckin(uniqueId: string, request?: CheckinRequest): Observable<ContactEvent> {\n return from(this.ensureConfigured().contactEvents.teacherCheckin(uniqueId, request));\n }\n\n checkout(uniqueId: string, request?: CheckoutRequest): Observable<ContactEvent> {\n return from(this.ensureConfigured().contactEvents.checkout(uniqueId, request));\n }\n\n checkoutStudent(uniqueId: string, request?: CheckoutRequest): Observable<ContactEvent> {\n return from(this.ensureConfigured().contactEvents.checkoutStudent(uniqueId, request));\n }\n\n studentNotes(uniqueId: string, request: EventNotesRequest): Observable<ContactEvent> {\n return from(this.ensureConfigured().contactEvents.studentNotes(uniqueId, request));\n }\n\n adminNotes(uniqueId: string, request: EventNotesRequest): Observable<ContactEvent> {\n return from(this.ensureConfigured().contactEvents.adminNotes(uniqueId, request));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Leads Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listLeads(params?: ListLeadsParams): Observable<PageResult<Lead>> {\n return from(this.ensureConfigured().leads.list(params));\n }\n\n getLead(uniqueId: string): Observable<Lead> {\n return from(this.ensureConfigured().leads.get(uniqueId));\n }\n\n createLead(data: CreateLeadRequest): Observable<Lead> {\n return from(this.ensureConfigured().leads.create(data));\n }\n\n updateLead(uniqueId: string, data: UpdateLeadRequest): Observable<Lead> {\n return from(this.ensureConfigured().leads.update(uniqueId, data));\n }\n\n deleteLead(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().leads.delete(uniqueId));\n }\n\n recoverLead(uniqueId: string): Observable<Lead> {\n return from(this.ensureConfigured().leads.recover(uniqueId));\n }\n\n searchLeads(query: string, params?: ListLeadsParams): Observable<PageResult<Lead>> {\n return from(this.ensureConfigured().leads.search(query, params));\n }\n\n listDeletedLeads(params?: ListLeadsParams): Observable<PageResult<Lead>> {\n return from(this.ensureConfigured().leads.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Lead Follows Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listLeadFollows(leadUniqueId: string, params?: ListLeadFollowsParams): Observable<PageResult<LeadFollow>> {\n return from(this.ensureConfigured().leadFollows.list(leadUniqueId, params));\n }\n\n getLeadFollow(leadUniqueId: string, followUniqueId: string): Observable<LeadFollow> {\n return from(this.ensureConfigured().leadFollows.get(leadUniqueId, followUniqueId));\n }\n\n createLeadFollow(leadUniqueId: string, data: CreateLeadFollowRequest): Observable<LeadFollow> {\n return from(this.ensureConfigured().leadFollows.create(leadUniqueId, data));\n }\n\n updateLeadFollow(leadUniqueId: string, followUniqueId: string, data: UpdateLeadFollowRequest): Observable<LeadFollow> {\n return from(this.ensureConfigured().leadFollows.update(leadUniqueId, followUniqueId, data));\n }\n\n deleteLeadFollow(leadUniqueId: string, followUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().leadFollows.delete(leadUniqueId, followUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Opportunities Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listOpportunities(params?: ListOpportunitiesParams): Observable<PageResult<Opportunity>> {\n return from(this.ensureConfigured().opportunities.list(params));\n }\n\n getOpportunity(uniqueId: string): Observable<Opportunity> {\n return from(this.ensureConfigured().opportunities.get(uniqueId));\n }\n\n createOpportunity(data: CreateOpportunityRequest): Observable<Opportunity> {\n return from(this.ensureConfigured().opportunities.create(data));\n }\n\n updateOpportunity(uniqueId: string, data: UpdateOpportunityRequest): Observable<Opportunity> {\n return from(this.ensureConfigured().opportunities.update(uniqueId, data));\n }\n\n deleteOpportunity(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().opportunities.delete(uniqueId));\n }\n\n recoverOpportunity(uniqueId: string): Observable<Opportunity> {\n return from(this.ensureConfigured().opportunities.recover(uniqueId));\n }\n\n searchOpportunities(query: string, params?: ListOpportunitiesParams): Observable<PageResult<Opportunity>> {\n return from(this.ensureConfigured().opportunities.search(query, params));\n }\n\n listDeletedOpportunities(params?: ListOpportunitiesParams): Observable<PageResult<Opportunity>> {\n return from(this.ensureConfigured().opportunities.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Meetings Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listMeetings(params?: ListMeetingsParams): Observable<PageResult<Meeting>> {\n return from(this.ensureConfigured().meetings.list(params));\n }\n\n getMeeting(uniqueId: string): Observable<Meeting> {\n return from(this.ensureConfigured().meetings.get(uniqueId));\n }\n\n createMeeting(data: CreateMeetingRequest): Observable<Meeting> {\n return from(this.ensureConfigured().meetings.create(data));\n }\n\n updateMeeting(uniqueId: string, data: UpdateMeetingRequest): Observable<Meeting> {\n return from(this.ensureConfigured().meetings.update(uniqueId, data));\n }\n\n deleteMeeting(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().meetings.delete(uniqueId));\n }\n\n recoverMeeting(uniqueId: string): Observable<Meeting> {\n return from(this.ensureConfigured().meetings.recover(uniqueId));\n }\n\n searchMeetings(query: string, params?: ListMeetingsParams): Observable<PageResult<Meeting>> {\n return from(this.ensureConfigured().meetings.search(query, params));\n }\n\n listDeletedMeetings(params?: ListMeetingsParams): Observable<PageResult<Meeting>> {\n return from(this.ensureConfigured().meetings.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Meeting Participants Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listMeetingParticipants(meetingUniqueId: string, params?: ListMeetingParticipantsParams): Observable<PageResult<MeetingParticipant>> {\n return from(this.ensureConfigured().meetingParticipants.list(meetingUniqueId, params));\n }\n\n createMeetingParticipant(meetingUniqueId: string, data: CreateMeetingParticipantRequest): Observable<MeetingParticipant> {\n return from(this.ensureConfigured().meetingParticipants.create(meetingUniqueId, data));\n }\n\n deleteMeetingParticipant(meetingUniqueId: string, participantUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().meetingParticipants.delete(meetingUniqueId, participantUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Meeting Billings Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listMeetingBillings(meetingUniqueId: string, params?: ListMeetingBillingsParams): Observable<PageResult<MeetingBilling>> {\n return from(this.ensureConfigured().meetingBillings.list(meetingUniqueId, params));\n }\n\n getMeetingBilling(uniqueId: string): Observable<MeetingBilling> {\n return from(this.ensureConfigured().meetingBillings.get(uniqueId));\n }\n\n createMeetingBilling(meetingUniqueId: string, data: CreateMeetingBillingRequest): Observable<MeetingBilling> {\n return from(this.ensureConfigured().meetingBillings.create(meetingUniqueId, data));\n }\n\n updateMeetingBilling(uniqueId: string, data: UpdateMeetingBillingRequest): Observable<MeetingBilling> {\n return from(this.ensureConfigured().meetingBillings.update(uniqueId, data));\n }\n\n deleteMeetingBilling(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().meetingBillings.delete(uniqueId));\n }\n\n getPaymentSplit(uniqueId: string): Observable<PaymentSplit[]> {\n return from(this.ensureConfigured().meetingBillings.getPaymentSplit(uniqueId));\n }\n\n getEapSessions(participantEmail: string, payerName: string): Observable<EapSession> {\n return from(this.ensureConfigured().meetingBillings.getEapSessions(participantEmail, payerName));\n }\n\n getOutstandingByPayer(): Observable<OutstandingByPayer[]> {\n return from(this.ensureConfigured().meetingBillings.getOutstandingByPayer());\n }\n\n getBillingRevenueReport(): Observable<BillingRevenueReport> {\n return from(this.ensureConfigured().meetingBillings.getRevenueReport());\n }\n\n getBillingAgingReport(): Observable<BillingAgingReport> {\n return from(this.ensureConfigured().meetingBillings.getAgingReport());\n }\n\n getBillingParticipantReport(participantEmail: string): Observable<BillingParticipantReport> {\n return from(this.ensureConfigured().meetingBillings.getParticipantReport(participantEmail));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Quotes Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listQuotes(params?: ListQuotesParams): Observable<PageResult<Quote>> {\n return from(this.ensureConfigured().quotes.list(params));\n }\n\n getQuote(uniqueId: string): Observable<Quote> {\n return from(this.ensureConfigured().quotes.get(uniqueId));\n }\n\n createQuote(data: CreateQuoteRequest): Observable<Quote> {\n return from(this.ensureConfigured().quotes.create(data));\n }\n\n updateQuote(uniqueId: string, data: UpdateQuoteRequest): Observable<Quote> {\n return from(this.ensureConfigured().quotes.update(uniqueId, data));\n }\n\n deleteQuote(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().quotes.delete(uniqueId));\n }\n\n recoverQuote(uniqueId: string): Observable<Quote> {\n return from(this.ensureConfigured().quotes.recover(uniqueId));\n }\n\n searchQuotes(query: string, params?: ListQuotesParams): Observable<PageResult<Quote>> {\n return from(this.ensureConfigured().quotes.search(query, params));\n }\n\n listDeletedQuotes(params?: ListQuotesParams): Observable<PageResult<Quote>> {\n return from(this.ensureConfigured().quotes.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Subscribers Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listSubscribers(params?: ListSubscribersParams): Observable<PageResult<Subscriber>> {\n return from(this.ensureConfigured().subscribers.list(params));\n }\n\n getSubscriber(uniqueId: string): Observable<Subscriber> {\n return from(this.ensureConfigured().subscribers.get(uniqueId));\n }\n\n createSubscriber(data: CreateSubscriberRequest): Observable<Subscriber> {\n return from(this.ensureConfigured().subscribers.create(data));\n }\n\n updateSubscriber(uniqueId: string, data: UpdateSubscriberRequest): Observable<Subscriber> {\n return from(this.ensureConfigured().subscribers.update(uniqueId, data));\n }\n\n deleteSubscriber(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().subscribers.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Referrals Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listReferrals(params?: ListReferralsParams): Observable<PageResult<Referral>> {\n return from(this.ensureConfigured().referrals.list(params));\n }\n\n getReferral(uniqueId: string): Observable<Referral> {\n return from(this.ensureConfigured().referrals.get(uniqueId));\n }\n\n createReferral(data: CreateReferralRequest): Observable<Referral> {\n return from(this.ensureConfigured().referrals.create(data));\n }\n\n updateReferral(uniqueId: string, data: UpdateReferralRequest): Observable<Referral> {\n return from(this.ensureConfigured().referrals.update(uniqueId, data));\n }\n\n deleteReferral(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().referrals.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Touches Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listTouches(params?: ListTouchesParams): Observable<PageResult<Touch>> {\n return from(this.ensureConfigured().touches.list(params));\n }\n\n getTouch(uniqueId: string): Observable<Touch> {\n return from(this.ensureConfigured().touches.get(uniqueId));\n }\n\n createTouch(data: CreateTouchRequest): Observable<Touch> {\n return from(this.ensureConfigured().touches.create(data));\n }\n\n updateTouch(uniqueId: string, data: UpdateTouchRequest): Observable<Touch> {\n return from(this.ensureConfigured().touches.update(uniqueId, data));\n }\n\n deleteTouch(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().touches.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Categories Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCategories(params?: ListCategoriesParams): Observable<PageResult<Category>> {\n return from(this.ensureConfigured().categories.list(params));\n }\n\n getCategory(uniqueId: string): Observable<Category> {\n return from(this.ensureConfigured().categories.get(uniqueId));\n }\n\n createCategory(data: CreateCategoryRequest): Observable<Category> {\n return from(this.ensureConfigured().categories.create(data));\n }\n\n updateCategory(uniqueId: string, data: UpdateCategoryRequest): Observable<Category> {\n return from(this.ensureConfigured().categories.update(uniqueId, data));\n }\n\n deleteCategory(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().categories.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Calendar Accounts Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCalendarAccounts(userUniqueId: string, params?: ListCalendarAccountsParams): Observable<PageResult<CalendarAccount>> {\n return from(this.ensureConfigured().calendarAccounts.list(userUniqueId, params));\n }\n\n getCalendarAccount(userUniqueId: string, id: string): Observable<CalendarAccount> {\n return from(this.ensureConfigured().calendarAccounts.get(userUniqueId, id));\n }\n\n createCalendarAccount(userUniqueId: string, data: CreateCalendarAccountRequest): Observable<CalendarAccount> {\n return from(this.ensureConfigured().calendarAccounts.create(userUniqueId, data));\n }\n\n updateCalendarAccount(userUniqueId: string, id: string, data: UpdateCalendarAccountRequest): Observable<CalendarAccount> {\n return from(this.ensureConfigured().calendarAccounts.update(userUniqueId, id, data));\n }\n\n deleteCalendarAccount(userUniqueId: string, id: string): Observable<void> {\n return from(this.ensureConfigured().calendarAccounts.delete(userUniqueId, id));\n }\n\n syncUserCalendar(userUniqueId: string, request?: SyncCalendarRequest): Observable<SyncCalendarResponse> {\n return from(this.ensureConfigured().calendarAccounts.syncUser(userUniqueId, request));\n }\n\n syncTenantCalendar(request?: SyncCalendarRequest): Observable<SyncCalendarResponse> {\n return from(this.ensureConfigured().calendarAccounts.syncTenant(request));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Busy Blocks Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listBusyBlocks(userUniqueId: string, params?: ListBusyBlocksParams): Observable<PageResult<BusyBlock>> {\n return from(this.ensureConfigured().busyBlocks.list(userUniqueId, params));\n }\n\n createBusyBlock(userUniqueId: string, data: CreateBusyBlockRequest): Observable<BusyBlock> {\n return from(this.ensureConfigured().busyBlocks.create(userUniqueId, data));\n }\n\n deleteBusyBlock(userUniqueId: string, id: string): Observable<void> {\n return from(this.ensureConfigured().busyBlocks.delete(userUniqueId, id));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // ICS Tokens Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listIcsTokens(userUniqueId: string, params?: ListIcsTokensParams): Observable<PageResult<IcsToken>> {\n return from(this.ensureConfigured().icsTokens.list(userUniqueId, params));\n }\n\n createIcsToken(userUniqueId: string, data: CreateIcsTokenRequest): Observable<IcsToken> {\n return from(this.ensureConfigured().icsTokens.create(userUniqueId, data));\n }\n\n deleteIcsToken(userUniqueId: string, id: string): Observable<void> {\n return from(this.ensureConfigured().icsTokens.delete(userUniqueId, id));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Zoom Meetings Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n getZoomMeeting(userUniqueId: string, meetingUniqueId: string): Observable<ZoomMeeting> {\n return from(this.ensureConfigured().zoomMeetings.get(userUniqueId, meetingUniqueId));\n }\n\n provisionZoomMeeting(userUniqueId: string, meetingUniqueId: string, request?: ProvisionZoomMeetingRequest): Observable<ZoomMeeting> {\n return from(this.ensureConfigured().zoomMeetings.provision(userUniqueId, meetingUniqueId, request));\n }\n\n updateZoomMeeting(userUniqueId: string, meetingUniqueId: string, request: UpdateZoomMeetingRequest): Observable<ZoomMeeting> {\n return from(this.ensureConfigured().zoomMeetings.update(userUniqueId, meetingUniqueId, request));\n }\n\n cancelZoomMeeting(userUniqueId: string, meetingUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().zoomMeetings.cancel(userUniqueId, meetingUniqueId));\n }\n\n checkZoomAvailability(userUniqueId: string): Observable<ZoomAvailability> {\n return from(this.ensureConfigured().zoomMeetings.checkAvailability(userUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Zoom Hosts Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listZoomHosts(params?: ListZoomHostsParams): Observable<PageResult<ZoomHost>> {\n return from(this.ensureConfigured().zoomHosts.list(params));\n }\n\n getZoomHost(uniqueId: string): Observable<ZoomHost> {\n return from(this.ensureConfigured().zoomHosts.get(uniqueId));\n }\n\n createZoomHost(data: CreateZoomHostRequest): Observable<ZoomHost> {\n return from(this.ensureConfigured().zoomHosts.create(data));\n }\n\n updateZoomHost(uniqueId: string, data: UpdateZoomHostRequest): Observable<ZoomHost> {\n return from(this.ensureConfigured().zoomHosts.update(uniqueId, data));\n }\n\n deleteZoomHost(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().zoomHosts.delete(uniqueId));\n }\n\n getZoomHostAvailability(uniqueId: string): Observable<ZoomHostAvailability> {\n return from(this.ensureConfigured().zoomHosts.getAvailability(uniqueId));\n }\n\n getZoomHostAllocations(uniqueId: string): Observable<ZoomHostAllocation[]> {\n return from(this.ensureConfigured().zoomHosts.getAllocations(uniqueId));\n }\n\n getAvailableZoomUsers(): Observable<AvailableUser[]> {\n return from(this.ensureConfigured().zoomHosts.getAvailableUsers());\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Mail Templates Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listMailTemplates(params?: ListCrmMailTemplatesParams): Observable<PageResult<CrmMailTemplate>> {\n return from(this.ensureConfigured().mailTemplates.list(params));\n }\n\n getMailTemplate(uniqueId: string): Observable<CrmMailTemplate> {\n return from(this.ensureConfigured().mailTemplates.get(uniqueId));\n }\n\n createMailTemplate(data: CreateCrmMailTemplateRequest): Observable<CrmMailTemplate> {\n return from(this.ensureConfigured().mailTemplates.create(data));\n }\n\n updateMailTemplate(uniqueId: string, data: UpdateCrmMailTemplateRequest): Observable<CrmMailTemplate> {\n return from(this.ensureConfigured().mailTemplates.update(uniqueId, data));\n }\n\n getMandrillStats(uniqueId: string): Observable<MandrillTemplateStats> {\n return from(this.ensureConfigured().mailTemplates.getMandrillStats(uniqueId));\n }\n\n createMandrillTemplate(uniqueId: string, data: CreateMandrillTemplateRequest): Observable<CrmMailTemplate> {\n return from(this.ensureConfigured().mailTemplates.createMandrillTemplate(uniqueId, data));\n }\n\n updateMandrillTemplate(uniqueId: string, data: UpdateMandrillTemplateRequest): Observable<CrmMailTemplate> {\n return from(this.ensureConfigured().mailTemplates.updateMandrillTemplate(uniqueId, data));\n }\n\n publishMandrill(uniqueId: string): Observable<CrmMailTemplate> {\n return from(this.ensureConfigured().mailTemplates.publishMandrill(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Communications Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n unsubscribe(data: UnsubscribeRequest): Observable<UnsubscribeResponse> {\n return from(this.ensureConfigured().communications.unsubscribe(data));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // CRM Users Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCrmUsers(params?: ListCrmUsersParams): Observable<PageResult<CrmUser>> {\n return from(this.ensureConfigured().users.list(params));\n }\n\n getCrmUser(uniqueId: string): Observable<CrmUser> {\n return from(this.ensureConfigured().users.get(uniqueId));\n }\n\n registerCrmUser(uniqueId: string, data: RegisterCrmUserRequest): Observable<CrmUser> {\n return from(this.ensureConfigured().users.register(uniqueId, data));\n }\n\n deleteCrmUser(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().users.delete(uniqueId));\n }\n\n getCrmUserContacts(uniqueId: string): Observable<Contact[]> {\n return from(this.ensureConfigured().users.getContacts(uniqueId));\n }\n\n getCrmUserMeetings(uniqueId: string): Observable<Meeting[]> {\n return from(this.ensureConfigured().users.getMeetings(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Billing Reports Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n getRevenueReport(params?: BillingReportParams): Observable<RevenueReport> {\n return from(this.ensureConfigured().billingReports.getRevenueReport(params));\n }\n\n getAgingReport(): Observable<AgingReport> {\n return from(this.ensureConfigured().billingReports.getAgingReport());\n }\n\n getParticipantBillingReport(participantEmail: string): Observable<ParticipantBillingReport> {\n return from(this.ensureConfigured().billingReports.getParticipantReport(participantEmail));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Calendar Sync Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n syncCalendarUser(userUniqueId: string): Observable<CalendarSyncResult> {\n return from(this.ensureConfigured().calendarSync.syncUser(userUniqueId));\n }\n\n syncCalendarTenant(): Observable<CalendarSyncResult> {\n return from(this.ensureConfigured().calendarSync.syncTenant());\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get crmBlock(): CrmBlock {\n return this.ensureConfigured();\n }\n}\n","// @ts-nocheck\nimport { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createContentBlock,\n type ContentBlock,\n type ContentBlockConfig,\n type Post,\n type CreatePostRequest,\n type UpdatePostRequest,\n type ListPostsParams,\n type Comment,\n type CreateCommentRequest,\n type UpdateCommentRequest,\n type ListCommentsParams,\n type Category,\n type CreateCategoryRequest,\n type UpdateCategoryRequest,\n type ListCategoriesParams,\n type Tag,\n type CreateTagRequest,\n type UpdateTagRequest,\n type ListTagsParams,\n type ContentUser,\n type RegisterContentUserRequest,\n type UpdateContentUserRequest,\n type ListContentUsersParams,\n type UserActivity,\n // Moderation types\n type ModerationResult,\n type ModerateContentRequest,\n type ContentFlag,\n type CreateContentFlagRequest,\n type ListContentFlagsParams,\n // Activity types\n type Activity,\n type ListActivitiesParams,\n // Series types\n type Series,\n type CreateSeriesRequest,\n type UpdateSeriesRequest,\n type ListSeriesParams,\n type QuerySeriesParams,\n type ReorderPostsRequest,\n} from '@23blocks/block-content';\nimport { TRANSPORT, CONTENT_TRANSPORT, CONTENT_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Content block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class BlogComponent {\n * constructor(private content: ContentService) {}\n *\n * loadPosts() {\n * this.content.listPosts({ page: 1, perPage: 10 }).subscribe({\n * next: (result) => console.log('Posts:', result.data),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class ContentService {\n private readonly block: ContentBlock | null;\n\n constructor(\n @Optional() @Inject(CONTENT_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(CONTENT_CONFIG) config: ContentBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createContentBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): ContentBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] ContentService is not configured. ' +\n \"Add 'urls.content' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Posts Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listPosts(params?: ListPostsParams): Observable<PageResult<Post>> {\n return from(this.ensureConfigured().posts.list(params));\n }\n\n getPost(uniqueId: string): Observable<Post> {\n return from(this.ensureConfigured().posts.get(uniqueId));\n }\n\n createPost(data: CreatePostRequest): Observable<Post> {\n return from(this.ensureConfigured().posts.create(data));\n }\n\n updatePost(uniqueId: string, data: UpdatePostRequest): Observable<Post> {\n return from(this.ensureConfigured().posts.update(uniqueId, data));\n }\n\n deletePost(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().posts.delete(uniqueId));\n }\n\n recoverPost(uniqueId: string): Observable<Post> {\n return from(this.ensureConfigured().posts.recover(uniqueId));\n }\n\n searchPosts(query: string, params?: ListPostsParams): Observable<PageResult<Post>> {\n return from(this.ensureConfigured().posts.search(query, params));\n }\n\n listDeletedPosts(params?: ListPostsParams): Observable<PageResult<Post>> {\n return from(this.ensureConfigured().posts.listDeleted(params));\n }\n\n likePost(uniqueId: string): Observable<Post> {\n return from(this.ensureConfigured().posts.like(uniqueId));\n }\n\n dislikePost(uniqueId: string): Observable<Post> {\n return from(this.ensureConfigured().posts.dislike(uniqueId));\n }\n\n savePost(uniqueId: string): Observable<Post> {\n return from(this.ensureConfigured().posts.save(uniqueId));\n }\n\n followPost(uniqueId: string): Observable<Post> {\n return from(this.ensureConfigured().posts.follow(uniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Comments Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listComments(params?: ListCommentsParams): Observable<PageResult<Comment>> {\n return from(this.ensureConfigured().comments.list(params));\n }\n\n getComment(uniqueId: string): Observable<Comment> {\n return from(this.ensureConfigured().comments.get(uniqueId));\n }\n\n createComment(data: CreateCommentRequest): Observable<Comment> {\n return from(this.ensureConfigured().comments.create(data));\n }\n\n updateComment(uniqueId: string, data: UpdateCommentRequest): Observable<Comment> {\n return from(this.ensureConfigured().comments.update(uniqueId, data));\n }\n\n deleteComment(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().comments.delete(uniqueId));\n }\n\n likeComment(uniqueId: string): Observable<Comment> {\n return from(this.ensureConfigured().comments.like(uniqueId));\n }\n\n dislikeComment(uniqueId: string): Observable<Comment> {\n return from(this.ensureConfigured().comments.dislike(uniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Categories Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listCategories(params?: ListCategoriesParams): Observable<PageResult<Category>> {\n return from(this.ensureConfigured().categories.list(params));\n }\n\n getCategory(uniqueId: string): Observable<Category> {\n return from(this.ensureConfigured().categories.get(uniqueId));\n }\n\n createCategory(data: CreateCategoryRequest): Observable<Category> {\n return from(this.ensureConfigured().categories.create(data));\n }\n\n updateCategory(uniqueId: string, data: UpdateCategoryRequest): Observable<Category> {\n return from(this.ensureConfigured().categories.update(uniqueId, data));\n }\n\n deleteCategory(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().categories.delete(uniqueId));\n }\n\n recoverCategory(uniqueId: string): Observable<Category> {\n return from(this.ensureConfigured().categories.recover(uniqueId));\n }\n\n getCategoryChildren(uniqueId: string): Observable<Category[]> {\n return from(this.ensureConfigured().categories.getChildren(uniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Tags Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listTags(params?: ListTagsParams): Observable<PageResult<Tag>> {\n return from(this.ensureConfigured().tags.list(params));\n }\n\n getTag(uniqueId: string): Observable<Tag> {\n return from(this.ensureConfigured().tags.get(uniqueId));\n }\n\n createTag(data: CreateTagRequest): Observable<Tag> {\n return from(this.ensureConfigured().tags.create(data));\n }\n\n updateTag(uniqueId: string, data: UpdateTagRequest): Observable<Tag> {\n return from(this.ensureConfigured().tags.update(uniqueId, data));\n }\n\n deleteTag(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().tags.delete(uniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Users Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listContentUsers(params?: ListContentUsersParams): Observable<PageResult<ContentUser>> {\n return from(this.ensureConfigured().users.list(params));\n }\n\n getContentUser(uniqueId: string): Observable<ContentUser> {\n return from(this.ensureConfigured().users.get(uniqueId));\n }\n\n registerContentUser(uniqueId: string, data: RegisterContentUserRequest): Observable<ContentUser> {\n return from(this.ensureConfigured().users.register(uniqueId, data));\n }\n\n updateContentUser(uniqueId: string, data: UpdateContentUserRequest): Observable<ContentUser> {\n return from(this.ensureConfigured().users.update(uniqueId, data));\n }\n\n getUserDrafts(uniqueId: string): Observable<Post[]> {\n return from(this.ensureConfigured().users.getDrafts(uniqueId));\n }\n\n getUserPosts(uniqueId: string): Observable<Post[]> {\n return from(this.ensureConfigured().users.getPosts(uniqueId));\n }\n\n getUserComments(uniqueId: string): Observable<Comment[]> {\n return from(this.ensureConfigured().users.getComments(uniqueId));\n }\n\n getUserActivities(uniqueId: string): Observable<UserActivity[]> {\n return from(this.ensureConfigured().users.getActivities(uniqueId));\n }\n\n addUserTag(uniqueId: string, tagUniqueId: string): Observable<ContentUser> {\n return from(this.ensureConfigured().users.addTag(uniqueId, tagUniqueId));\n }\n\n removeUserTag(uniqueId: string, tagUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().users.removeTag(uniqueId, tagUniqueId));\n }\n\n getUserFollowers(uniqueId: string): Observable<ContentUser[]> {\n return from(this.ensureConfigured().users.getFollowers(uniqueId));\n }\n\n getUserFollowing(uniqueId: string): Observable<ContentUser[]> {\n return from(this.ensureConfigured().users.getFollowing(uniqueId));\n }\n\n followContentUser(uniqueId: string, targetUserUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().users.followUser(uniqueId, targetUserUniqueId));\n }\n\n unfollowContentUser(uniqueId: string, targetUserUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().users.unfollowUser(uniqueId, targetUserUniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Moderation Service\n // ───────────────────────────────────────────────────────────────────────────\n\n /**\n * Moderate a post\n */\n moderatePost(uniqueId: string, request: ModerateContentRequest): Observable<ModerationResult> {\n return from(this.ensureConfigured().moderation.moderatePost(uniqueId, request));\n }\n\n /**\n * Moderate a comment\n */\n moderateComment(uniqueId: string, request: ModerateContentRequest): Observable<ModerationResult> {\n return from(this.ensureConfigured().moderation.moderateComment(uniqueId, request));\n }\n\n /**\n * List content flags\n */\n listContentFlags(params?: ListContentFlagsParams): Observable<PageResult<ContentFlag>> {\n return from(this.ensureConfigured().moderation.listFlags(params));\n }\n\n /**\n * Create a content flag\n */\n createContentFlag(request: CreateContentFlagRequest): Observable<ContentFlag> {\n return from(this.ensureConfigured().moderation.createFlag(request));\n }\n\n /**\n * Resolve a content flag\n */\n resolveContentFlag(uniqueId: string, resolution: string): Observable<ContentFlag> {\n return from(this.ensureConfigured().moderation.resolveFlag(uniqueId, resolution));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Activity Service\n // ───────────────────────────────────────────────────────────────────────────\n\n /**\n * Get activities\n */\n listActivities(params?: ListActivitiesParams): Observable<PageResult<Activity>> {\n return from(this.ensureConfigured().activities.getActivities(params));\n }\n\n /**\n * Get comments activities for a post\n */\n getCommentsActivities(postUniqueId: string): Observable<Activity[]> {\n return from(this.ensureConfigured().activities.getComments(postUniqueId));\n }\n\n /**\n * Get activity feed for a user\n */\n getActivityFeed(userUniqueId: string, params?: ListActivitiesParams): Observable<PageResult<Activity>> {\n return from(this.ensureConfigured().activities.getFeed(userUniqueId, params));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Series Service\n // ───────────────────────────────────────────────────────────────────────────\n\n /**\n * List all series with pagination\n */\n listSeries(params?: ListSeriesParams): Observable<PageResult<Series>> {\n return from(this.ensureConfigured().series.list(params));\n }\n\n /**\n * Query series with filters\n */\n querySeries(params: QuerySeriesParams): Observable<PageResult<Series>> {\n return from(this.ensureConfigured().series.query(params));\n }\n\n /**\n * Get a series by unique ID\n */\n getSeries(uniqueId: string): Observable<Series> {\n return from(this.ensureConfigured().series.get(uniqueId));\n }\n\n /**\n * Create a new series\n */\n createSeries(data: CreateSeriesRequest): Observable<Series> {\n return from(this.ensureConfigured().series.create(data));\n }\n\n /**\n * Update a series\n */\n updateSeries(uniqueId: string, data: UpdateSeriesRequest): Observable<Series> {\n return from(this.ensureConfigured().series.update(uniqueId, data));\n }\n\n /**\n * Delete a series\n */\n deleteSeries(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().series.delete(uniqueId));\n }\n\n /**\n * Like a series\n */\n likeSeries(uniqueId: string): Observable<Series> {\n return from(this.ensureConfigured().series.like(uniqueId));\n }\n\n /**\n * Dislike a series\n */\n dislikeSeries(uniqueId: string): Observable<Series> {\n return from(this.ensureConfigured().series.dislike(uniqueId));\n }\n\n /**\n * Follow a series\n */\n followSeries(uniqueId: string): Observable<Series> {\n return from(this.ensureConfigured().series.follow(uniqueId));\n }\n\n /**\n * Unfollow a series\n */\n unfollowSeries(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().series.unfollow(uniqueId));\n }\n\n /**\n * Save a series\n */\n saveSeries(uniqueId: string): Observable<Series> {\n return from(this.ensureConfigured().series.save(uniqueId));\n }\n\n /**\n * Unsave a series\n */\n unsaveSeries(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().series.unsave(uniqueId));\n }\n\n /**\n * Get posts in a series\n */\n getSeriesPosts(uniqueId: string): Observable<Post[]> {\n return from(this.ensureConfigured().series.getPosts(uniqueId));\n }\n\n /**\n * Add a post to a series\n */\n addSeriesPost(seriesUniqueId: string, postUniqueId: string, sequence?: number): Observable<void> {\n return from(this.ensureConfigured().series.addPost(seriesUniqueId, postUniqueId, sequence));\n }\n\n /**\n * Remove a post from a series\n */\n removeSeriesPost(seriesUniqueId: string, postUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().series.removePost(seriesUniqueId, postUniqueId));\n }\n\n /**\n * Reorder posts in a series\n */\n reorderSeriesPosts(uniqueId: string, data: ReorderPostsRequest): Observable<Series> {\n return from(this.ensureConfigured().series.reorderPosts(uniqueId, data));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ───────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get contentBlock(): ContentBlock {\n return this.ensureConfigured();\n }\n}\n","// @ts-nocheck\nimport { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createGeolocationBlock,\n type GeolocationBlock,\n type GeolocationBlockConfig,\n // Location types\n type Location,\n type CreateLocationRequest,\n type UpdateLocationRequest,\n type ListLocationsParams,\n // Address types\n type Address,\n type CreateAddressRequest,\n type UpdateAddressRequest,\n type ListAddressesParams,\n // Area types\n type Area,\n type CreateAreaRequest,\n type UpdateAreaRequest,\n type ListAreasParams,\n // Region types\n type Region,\n type CreateRegionRequest,\n type UpdateRegionRequest,\n type ListRegionsParams,\n // Travel Route types\n type TravelRoute,\n type CreateTravelRouteRequest,\n type UpdateTravelRouteRequest,\n type ListTravelRoutesParams,\n // Premise Booking types\n type PremiseBooking,\n type CreatePremiseBookingRequest,\n type UpdatePremiseBookingRequest,\n type ListPremiseBookingsParams,\n // Premise types\n type Premise,\n type CreatePremiseRequest,\n type UpdatePremiseRequest,\n type ListPremisesParams,\n // Premise Event types\n type PremiseEvent,\n type CreatePremiseEventRequest,\n type UpdatePremiseEventRequest,\n type ListPremiseEventsParams,\n // Route Tracker types\n type RouteLocation,\n type CreateRouteLocationRequest,\n type RouteTrackerStatus,\n type ListRouteLocationsParams,\n // Location Hour types\n type LocationHour,\n type CreateLocationHourRequest,\n type UpdateLocationHourRequest,\n // Location Image types\n type LocationImage,\n type CreateLocationImageRequest,\n type PresignLocationImageRequest,\n type PresignLocationImageResponse,\n // Location Slot types\n type LocationSlot,\n type CreateLocationSlotRequest,\n type UpdateLocationSlotRequest,\n // Location Tax types\n type LocationTax,\n type CreateLocationTaxRequest,\n type UpdateLocationTaxRequest,\n // Location Group types\n type LocationGroup,\n type CreateLocationGroupRequest,\n type ListLocationGroupsParams,\n // Geo Identity types\n type GeoIdentity,\n type RegisterGeoIdentityRequest,\n type UpdateGeoIdentityRequest,\n type ListGeoIdentitiesParams,\n type LocationIdentityRequest,\n type UserLocationRequest,\n // Location Identity types\n type LocationIdentity,\n type CreateLocationIdentityRequest,\n type UpdateLocationIdentityRequest,\n type ListLocationIdentitiesParams,\n // Geo lookup types\n type GeoCountry,\n type GeoState,\n type GeoCity,\n type GeoLookupParams,\n} from '@23blocks/block-geolocation';\nimport { TRANSPORT, GEOLOCATION_TRANSPORT, GEOLOCATION_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Geolocation block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class MapComponent {\n * constructor(private geolocation: GeolocationService) {}\n *\n * loadLocations() {\n * this.geolocation.listLocations().subscribe({\n * next: (result) => console.log('Locations:', result.data),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class GeolocationService {\n private readonly block: GeolocationBlock | null;\n\n constructor(\n @Optional() @Inject(GEOLOCATION_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(GEOLOCATION_CONFIG) config: GeolocationBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createGeolocationBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): GeolocationBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] GeolocationService is not configured. ' +\n \"Add 'urls.geolocation' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Locations Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listLocations(params?: ListLocationsParams): Observable<PageResult<Location>> {\n return from(this.ensureConfigured().locations.list(params));\n }\n\n getLocation(uniqueId: string): Observable<Location> {\n return from(this.ensureConfigured().locations.get(uniqueId));\n }\n\n createLocation(data: CreateLocationRequest): Observable<Location> {\n return from(this.ensureConfigured().locations.create(data));\n }\n\n updateLocation(uniqueId: string, data: UpdateLocationRequest): Observable<Location> {\n return from(this.ensureConfigured().locations.update(uniqueId, data));\n }\n\n deleteLocation(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().locations.delete(uniqueId));\n }\n\n recoverLocation(uniqueId: string): Observable<Location> {\n return from(this.ensureConfigured().locations.recover(uniqueId));\n }\n\n searchLocations(query: string, params?: ListLocationsParams): Observable<PageResult<Location>> {\n return from(this.ensureConfigured().locations.search(query, params));\n }\n\n listDeletedLocations(params?: ListLocationsParams): Observable<PageResult<Location>> {\n return from(this.ensureConfigured().locations.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Addresses Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listAddresses(params?: ListAddressesParams): Observable<PageResult<Address>> {\n return from(this.ensureConfigured().addresses.list(params));\n }\n\n getAddress(uniqueId: string): Observable<Address> {\n return from(this.ensureConfigured().addresses.get(uniqueId));\n }\n\n createAddress(data: CreateAddressRequest): Observable<Address> {\n return from(this.ensureConfigured().addresses.create(data));\n }\n\n updateAddress(uniqueId: string, data: UpdateAddressRequest): Observable<Address> {\n return from(this.ensureConfigured().addresses.update(uniqueId, data));\n }\n\n deleteAddress(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().addresses.delete(uniqueId));\n }\n\n recoverAddress(uniqueId: string): Observable<Address> {\n return from(this.ensureConfigured().addresses.recover(uniqueId));\n }\n\n searchAddresses(query: string, params?: ListAddressesParams): Observable<PageResult<Address>> {\n return from(this.ensureConfigured().addresses.search(query, params));\n }\n\n listDeletedAddresses(params?: ListAddressesParams): Observable<PageResult<Address>> {\n return from(this.ensureConfigured().addresses.listDeleted(params));\n }\n\n setDefaultAddress(uniqueId: string): Observable<Address> {\n return from(this.ensureConfigured().addresses.setDefault(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Areas Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listAreas(params?: ListAreasParams): Observable<PageResult<Area>> {\n return from(this.ensureConfigured().areas.list(params));\n }\n\n getArea(uniqueId: string): Observable<Area> {\n return from(this.ensureConfigured().areas.get(uniqueId));\n }\n\n createArea(data: CreateAreaRequest): Observable<Area> {\n return from(this.ensureConfigured().areas.create(data));\n }\n\n updateArea(uniqueId: string, data: UpdateAreaRequest): Observable<Area> {\n return from(this.ensureConfigured().areas.update(uniqueId, data));\n }\n\n deleteArea(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().areas.delete(uniqueId));\n }\n\n recoverArea(uniqueId: string): Observable<Area> {\n return from(this.ensureConfigured().areas.recover(uniqueId));\n }\n\n searchAreas(query: string, params?: ListAreasParams): Observable<PageResult<Area>> {\n return from(this.ensureConfigured().areas.search(query, params));\n }\n\n listDeletedAreas(params?: ListAreasParams): Observable<PageResult<Area>> {\n return from(this.ensureConfigured().areas.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Regions Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listRegions(params?: ListRegionsParams): Observable<PageResult<Region>> {\n return from(this.ensureConfigured().regions.list(params));\n }\n\n getRegion(uniqueId: string): Observable<Region> {\n return from(this.ensureConfigured().regions.get(uniqueId));\n }\n\n createRegion(data: CreateRegionRequest): Observable<Region> {\n return from(this.ensureConfigured().regions.create(data));\n }\n\n updateRegion(uniqueId: string, data: UpdateRegionRequest): Observable<Region> {\n return from(this.ensureConfigured().regions.update(uniqueId, data));\n }\n\n deleteRegion(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().regions.delete(uniqueId));\n }\n\n recoverRegion(uniqueId: string): Observable<Region> {\n return from(this.ensureConfigured().regions.recover(uniqueId));\n }\n\n searchRegions(query: string, params?: ListRegionsParams): Observable<PageResult<Region>> {\n return from(this.ensureConfigured().regions.search(query, params));\n }\n\n listDeletedRegions(params?: ListRegionsParams): Observable<PageResult<Region>> {\n return from(this.ensureConfigured().regions.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Travel Routes Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listRoutes(params?: ListTravelRoutesParams): Observable<PageResult<TravelRoute>> {\n return from(this.ensureConfigured().routes.list(params));\n }\n\n getRoute(uniqueId: string): Observable<TravelRoute> {\n return from(this.ensureConfigured().routes.get(uniqueId));\n }\n\n createRoute(data: CreateTravelRouteRequest): Observable<TravelRoute> {\n return from(this.ensureConfigured().routes.create(data));\n }\n\n updateRoute(uniqueId: string, data: UpdateTravelRouteRequest): Observable<TravelRoute> {\n return from(this.ensureConfigured().routes.update(uniqueId, data));\n }\n\n deleteRoute(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().routes.delete(uniqueId));\n }\n\n recoverRoute(uniqueId: string): Observable<TravelRoute> {\n return from(this.ensureConfigured().routes.recover(uniqueId));\n }\n\n searchRoutes(query: string, params?: ListTravelRoutesParams): Observable<PageResult<TravelRoute>> {\n return from(this.ensureConfigured().routes.search(query, params));\n }\n\n listDeletedRoutes(params?: ListTravelRoutesParams): Observable<PageResult<TravelRoute>> {\n return from(this.ensureConfigured().routes.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Premise Bookings Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listBookings(params?: ListPremiseBookingsParams): Observable<PageResult<PremiseBooking>> {\n return from(this.ensureConfigured().bookings.list(params));\n }\n\n getBooking(uniqueId: string): Observable<PremiseBooking> {\n return from(this.ensureConfigured().bookings.get(uniqueId));\n }\n\n createBooking(data: CreatePremiseBookingRequest): Observable<PremiseBooking> {\n return from(this.ensureConfigured().bookings.create(data));\n }\n\n updateBooking(uniqueId: string, data: UpdatePremiseBookingRequest): Observable<PremiseBooking> {\n return from(this.ensureConfigured().bookings.update(uniqueId, data));\n }\n\n deleteBooking(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().bookings.delete(uniqueId));\n }\n\n recoverBooking(uniqueId: string): Observable<PremiseBooking> {\n return from(this.ensureConfigured().bookings.recover(uniqueId));\n }\n\n searchBookings(query: string, params?: ListPremiseBookingsParams): Observable<PageResult<PremiseBooking>> {\n return from(this.ensureConfigured().bookings.search(query, params));\n }\n\n listDeletedBookings(params?: ListPremiseBookingsParams): Observable<PageResult<PremiseBooking>> {\n return from(this.ensureConfigured().bookings.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Premises Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listPremises(params?: ListPremisesParams): Observable<PageResult<Premise>> {\n return from(this.ensureConfigured().premises.list(params));\n }\n\n getPremise(uniqueId: string): Observable<Premise> {\n return from(this.ensureConfigured().premises.get(uniqueId));\n }\n\n createPremise(data: CreatePremiseRequest): Observable<Premise> {\n return from(this.ensureConfigured().premises.create(data));\n }\n\n updatePremise(uniqueId: string, data: UpdatePremiseRequest): Observable<Premise> {\n return from(this.ensureConfigured().premises.update(uniqueId, data));\n }\n\n deletePremise(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().premises.delete(uniqueId));\n }\n\n recoverPremise(uniqueId: string): Observable<Premise> {\n return from(this.ensureConfigured().premises.recover(uniqueId));\n }\n\n searchPremises(query: string, params?: ListPremisesParams): Observable<PageResult<Premise>> {\n return from(this.ensureConfigured().premises.search(query, params));\n }\n\n listDeletedPremises(params?: ListPremisesParams): Observable<PageResult<Premise>> {\n return from(this.ensureConfigured().premises.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Premise Events Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List all premise events\n */\n listPremiseEvents(\n locationUniqueId: string,\n premiseUniqueId: string,\n params?: ListPremiseEventsParams\n ): Observable<PageResult<PremiseEvent>> {\n return from(this.ensureConfigured().premiseEvents.list(locationUniqueId, premiseUniqueId, params));\n }\n\n /**\n * Get a premise event by unique ID\n */\n getPremiseEvent(\n locationUniqueId: string,\n premiseUniqueId: string,\n uniqueId: string\n ): Observable<PremiseEvent> {\n return from(this.ensureConfigured().premiseEvents.get(locationUniqueId, premiseUniqueId, uniqueId));\n }\n\n /**\n * Create a new premise event\n */\n createPremiseEvent(\n locationUniqueId: string,\n premiseUniqueId: string,\n data: CreatePremiseEventRequest\n ): Observable<PremiseEvent> {\n return from(this.ensureConfigured().premiseEvents.create(locationUniqueId, premiseUniqueId, data));\n }\n\n /**\n * Update a premise event\n */\n updatePremiseEvent(\n locationUniqueId: string,\n premiseUniqueId: string,\n uniqueId: string,\n data: UpdatePremiseEventRequest\n ): Observable<PremiseEvent> {\n return from(this.ensureConfigured().premiseEvents.update(locationUniqueId, premiseUniqueId, uniqueId, data));\n }\n\n /**\n * Delete a premise event\n */\n deletePremiseEvent(\n locationUniqueId: string,\n premiseUniqueId: string,\n uniqueId: string\n ): Observable<void> {\n return from(this.ensureConfigured().premiseEvents.delete(locationUniqueId, premiseUniqueId, uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Route Tracker Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Record a location point for a route\n */\n recordRouteLocation(\n userUniqueId: string,\n routeUniqueId: string,\n data: CreateRouteLocationRequest\n ): Observable<RouteLocation> {\n return from(this.ensureConfigured().routeTracker.recordLocation(userUniqueId, routeUniqueId, data));\n }\n\n /**\n * Get route tracking status\n */\n getRouteTrackerStatus(userUniqueId: string, routeUniqueId: string): Observable<RouteTrackerStatus> {\n return from(this.ensureConfigured().routeTracker.getStatus(userUniqueId, routeUniqueId));\n }\n\n /**\n * List all recorded locations for a route\n */\n listRouteLocations(\n userUniqueId: string,\n routeUniqueId: string,\n params?: ListRouteLocationsParams\n ): Observable<PageResult<RouteLocation>> {\n return from(this.ensureConfigured().routeTracker.listLocations(userUniqueId, routeUniqueId, params));\n }\n\n /**\n * Start tracking for a route\n */\n startRouteTracking(userUniqueId: string, routeUniqueId: string): Observable<RouteTrackerStatus> {\n return from(this.ensureConfigured().routeTracker.startTracking(userUniqueId, routeUniqueId));\n }\n\n /**\n * Stop tracking for a route\n */\n stopRouteTracking(userUniqueId: string, routeUniqueId: string): Observable<RouteTrackerStatus> {\n return from(this.ensureConfigured().routeTracker.stopTracking(userUniqueId, routeUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Location Hours Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List all hours for a location\n */\n listLocationHours(locationUniqueId: string): Observable<LocationHour[]> {\n return from(this.ensureConfigured().locationHours.list(locationUniqueId));\n }\n\n /**\n * Get a location hour by unique ID\n */\n getLocationHour(locationUniqueId: string, hourUniqueId: string): Observable<LocationHour> {\n return from(this.ensureConfigured().locationHours.get(locationUniqueId, hourUniqueId));\n }\n\n /**\n * Create a new location hour\n */\n createLocationHour(locationUniqueId: string, data: CreateLocationHourRequest): Observable<LocationHour> {\n return from(this.ensureConfigured().locationHours.create(locationUniqueId, data));\n }\n\n /**\n * Update a location hour\n */\n updateLocationHour(\n locationUniqueId: string,\n hourUniqueId: string,\n data: UpdateLocationHourRequest\n ): Observable<LocationHour> {\n return from(this.ensureConfigured().locationHours.update(locationUniqueId, hourUniqueId, data));\n }\n\n /**\n * Delete a location hour\n */\n deleteLocationHour(locationUniqueId: string, hourUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().locationHours.delete(locationUniqueId, hourUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Location Images Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Get a presigned URL for uploading an image\n */\n presignLocationImage(\n locationUniqueId: string,\n data: PresignLocationImageRequest\n ): Observable<PresignLocationImageResponse> {\n return from(this.ensureConfigured().locationImages.presign(locationUniqueId, data));\n }\n\n /**\n * Create a new location image\n */\n createLocationImage(locationUniqueId: string, data: CreateLocationImageRequest): Observable<LocationImage> {\n return from(this.ensureConfigured().locationImages.create(locationUniqueId, data));\n }\n\n /**\n * Delete a location image\n */\n deleteLocationImage(locationUniqueId: string, imageUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().locationImages.delete(locationUniqueId, imageUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Location Slots Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List all slots for a location\n */\n listLocationSlots(locationUniqueId: string): Observable<LocationSlot[]> {\n return from(this.ensureConfigured().locationSlots.list(locationUniqueId));\n }\n\n /**\n * Get a location slot by unique ID\n */\n getLocationSlot(locationUniqueId: string, slotUniqueId: string): Observable<LocationSlot> {\n return from(this.ensureConfigured().locationSlots.get(locationUniqueId, slotUniqueId));\n }\n\n /**\n * Create a new location slot\n */\n createLocationSlot(locationUniqueId: string, data: CreateLocationSlotRequest): Observable<LocationSlot> {\n return from(this.ensureConfigured().locationSlots.create(locationUniqueId, data));\n }\n\n /**\n * Update a location slot\n */\n updateLocationSlot(\n locationUniqueId: string,\n slotUniqueId: string,\n data: UpdateLocationSlotRequest\n ): Observable<LocationSlot> {\n return from(this.ensureConfigured().locationSlots.update(locationUniqueId, slotUniqueId, data));\n }\n\n /**\n * Delete a location slot\n */\n deleteLocationSlot(locationUniqueId: string, slotUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().locationSlots.delete(locationUniqueId, slotUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Location Taxes Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Create a new location tax\n */\n createLocationTax(locationUniqueId: string, data: CreateLocationTaxRequest): Observable<LocationTax> {\n return from(this.ensureConfigured().locationTaxes.create(locationUniqueId, data));\n }\n\n /**\n * Update a location tax\n */\n updateLocationTax(\n locationUniqueId: string,\n taxUniqueId: string,\n data: UpdateLocationTaxRequest\n ): Observable<LocationTax> {\n return from(this.ensureConfigured().locationTaxes.update(locationUniqueId, taxUniqueId, data));\n }\n\n /**\n * Delete a location tax\n */\n deleteLocationTax(locationUniqueId: string, taxUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().locationTaxes.delete(locationUniqueId, taxUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Location Groups Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List all location groups\n */\n listLocationGroups(params?: ListLocationGroupsParams): Observable<PageResult<LocationGroup>> {\n return from(this.ensureConfigured().locationGroups.list(params));\n }\n\n /**\n * Get a location group by unique ID\n */\n getLocationGroup(uniqueId: string): Observable<LocationGroup> {\n return from(this.ensureConfigured().locationGroups.get(uniqueId));\n }\n\n /**\n * Create a new location group\n */\n createLocationGroup(data: CreateLocationGroupRequest): Observable<LocationGroup> {\n return from(this.ensureConfigured().locationGroups.create(data));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Geo Identities Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List all geo identities\n */\n listGeoIdentities(params?: ListGeoIdentitiesParams): Observable<PageResult<GeoIdentity>> {\n return from(this.ensureConfigured().identities.list(params));\n }\n\n /**\n * Get a geo identity by unique ID\n */\n getGeoIdentity(uniqueId: string): Observable<GeoIdentity> {\n return from(this.ensureConfigured().identities.get(uniqueId));\n }\n\n /**\n * Register a geo identity\n */\n registerGeoIdentity(uniqueId: string, data: RegisterGeoIdentityRequest): Observable<GeoIdentity> {\n return from(this.ensureConfigured().identities.register(uniqueId, data));\n }\n\n /**\n * Update a geo identity\n */\n updateGeoIdentity(uniqueId: string, data: UpdateGeoIdentityRequest): Observable<GeoIdentity> {\n return from(this.ensureConfigured().identities.update(uniqueId, data));\n }\n\n /**\n * Delete a geo identity\n */\n deleteGeoIdentity(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().identities.delete(uniqueId));\n }\n\n /**\n * Add an identity to a location\n */\n addIdentityToLocation(locationUniqueId: string, data: LocationIdentityRequest): Observable<void> {\n return from(this.ensureConfigured().identities.addToLocation(locationUniqueId, data));\n }\n\n /**\n * Remove an identity from a location\n */\n removeIdentityFromLocation(locationUniqueId: string, userUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().identities.removeFromLocation(locationUniqueId, userUniqueId));\n }\n\n /**\n * Update a user's location\n */\n updateUserLocation(userUniqueId: string, data: UserLocationRequest): Observable<void> {\n return from(this.ensureConfigured().identities.updateLocation(userUniqueId, data));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Location Identities Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List all location identities\n */\n listLocationIdentities(params?: ListLocationIdentitiesParams): Observable<PageResult<LocationIdentity>> {\n return from(this.ensureConfigured().locationIdentities.list(params));\n }\n\n /**\n * Get a location identity by unique ID\n */\n getLocationIdentity(uniqueId: string): Observable<LocationIdentity> {\n return from(this.ensureConfigured().locationIdentities.get(uniqueId));\n }\n\n /**\n * Create a new location identity\n */\n createLocationIdentity(data: CreateLocationIdentityRequest): Observable<LocationIdentity> {\n return from(this.ensureConfigured().locationIdentities.create(data));\n }\n\n /**\n * Update a location identity\n */\n updateLocationIdentity(uniqueId: string, data: UpdateLocationIdentityRequest): Observable<LocationIdentity> {\n return from(this.ensureConfigured().locationIdentities.update(uniqueId, data));\n }\n\n /**\n * Delete a location identity\n */\n deleteLocationIdentity(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().locationIdentities.delete(uniqueId));\n }\n\n /**\n * Check in an identity at a location\n */\n checkInLocationIdentity(\n locationUniqueId: string,\n identityUniqueId: string,\n identityType: string\n ): Observable<LocationIdentity> {\n return from(this.ensureConfigured().locationIdentities.checkIn(locationUniqueId, identityUniqueId, identityType));\n }\n\n /**\n * Check out an identity from a location\n */\n checkOutLocationIdentity(uniqueId: string): Observable<LocationIdentity> {\n return from(this.ensureConfigured().locationIdentities.checkOut(uniqueId));\n }\n\n /**\n * List identities by location\n */\n listLocationIdentitiesByLocation(\n locationUniqueId: string,\n params?: ListLocationIdentitiesParams\n ): Observable<PageResult<LocationIdentity>> {\n return from(this.ensureConfigured().locationIdentities.listByLocation(locationUniqueId, params));\n }\n\n /**\n * List identities by identity\n */\n listLocationIdentitiesByIdentity(\n identityUniqueId: string,\n identityType: string,\n params?: ListLocationIdentitiesParams\n ): Observable<PageResult<LocationIdentity>> {\n return from(this.ensureConfigured().locationIdentities.listByIdentity(identityUniqueId, identityType, params));\n }\n\n /**\n * Get current location for an identity\n */\n getCurrentLocationForIdentity(\n identityUniqueId: string,\n identityType: string\n ): Observable<LocationIdentity | null> {\n return from(this.ensureConfigured().locationIdentities.getCurrentLocation(identityUniqueId, identityType));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Geo Countries Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List all countries\n */\n listGeoCountries(params?: GeoLookupParams): Observable<PageResult<GeoCountry>> {\n return from(this.ensureConfigured().geoCountries.list(params));\n }\n\n /**\n * Get a country by code\n */\n getGeoCountry(code: string): Observable<GeoCountry> {\n return from(this.ensureConfigured().geoCountries.get(code));\n }\n\n /**\n * Search countries by name\n */\n searchGeoCountries(query: string, params?: GeoLookupParams): Observable<PageResult<GeoCountry>> {\n return from(this.ensureConfigured().geoCountries.search(query, params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Geo States Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List states by country\n */\n listGeoStates(countryCode: string, params?: GeoLookupParams): Observable<PageResult<GeoState>> {\n return from(this.ensureConfigured().geoStates.listByCountry(countryCode, params));\n }\n\n /**\n * Get a state by code\n */\n getGeoState(code: string): Observable<GeoState> {\n return from(this.ensureConfigured().geoStates.get(code));\n }\n\n /**\n * Search states by name\n */\n searchGeoStates(query: string, countryCode?: string, params?: GeoLookupParams): Observable<PageResult<GeoState>> {\n return from(this.ensureConfigured().geoStates.search(query, countryCode, params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Geo Cities Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List cities by state or country\n */\n listGeoCities(countryCode: string, stateCode?: string, params?: GeoLookupParams): Observable<PageResult<GeoCity>> {\n return from(this.ensureConfigured().geoCities.list(countryCode, stateCode, params));\n }\n\n /**\n * Get a city by code\n */\n getGeoCity(code: string): Observable<GeoCity> {\n return from(this.ensureConfigured().geoCities.get(code));\n }\n\n /**\n * Search cities by name\n */\n searchGeoCities(query: string, countryCode?: string, stateCode?: string, params?: GeoLookupParams): Observable<PageResult<GeoCity>> {\n return from(this.ensureConfigured().geoCities.search(query, countryCode, stateCode, params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get geolocationBlock(): GeolocationBlock {\n return this.ensureConfigured();\n }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createConversationsBlock,\n type ConversationsBlock,\n type ConversationsBlockConfig,\n // Message types\n type Message,\n type CreateMessageRequest,\n type UpdateMessageRequest,\n type ListMessagesParams,\n // Draft Message types\n type DraftMessage,\n type CreateDraftMessageRequest,\n type UpdateDraftMessageRequest,\n type ListDraftMessagesParams,\n // Group types\n type Group,\n type CreateGroupRequest,\n type UpdateGroupRequest,\n type ListGroupsParams,\n // Group Invite types\n type GroupInvite,\n type CreateGroupInviteRequest,\n type JoinGroupRequest,\n type QRCodeResponse,\n type ListGroupInvitesParams,\n // Notification types\n type Notification,\n type CreateNotificationRequest,\n type UpdateNotificationRequest,\n type ListNotificationsParams,\n // Conversation types\n type Conversation,\n type GetConversationParams,\n // WebSocket Token types\n type CreateWebSocketTokenRequest,\n type CreateWebSocketTokenResponse,\n // Context types\n type Context,\n type CreateContextRequest,\n type UpdateContextRequest,\n type ListContextsParams,\n // Notification Settings types\n type NotificationSettings,\n type UpdateNotificationSettingsRequest,\n // Availability types\n type UserAvailability,\n type SetAvailabilityRequest,\n // Message File types\n type MessageFile,\n type CreateMessageFileRequest,\n type PresignMessageFileRequest,\n type PresignMessageFileResponse,\n // Source types\n type Source,\n // User types\n type ConversationsUser,\n type RegisterUserRequest,\n type UpdateUserRequest,\n type ListUsersParams,\n // Meeting types\n type Meeting,\n type MeetingSession,\n type CreateMeetingRequest,\n type UpdateMeetingRequest,\n type ListMeetingsParams,\n // Web Notification types\n type WebNotification,\n type CreateWebNotificationRequest,\n type BulkWebNotificationRequest,\n type ListWebNotificationsParams,\n} from '@23blocks/block-conversations';\nimport { TRANSPORT, CONVERSATIONS_TRANSPORT, CONVERSATIONS_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Conversations block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class ChatComponent {\n * constructor(private conversations: ConversationsService) {}\n *\n * sendMessage(contextId: string, content: string) {\n * this.conversations.createMessage({ contextId, content }).subscribe({\n * next: (message) => console.log('Message sent:', message),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class ConversationsService {\n private readonly block: ConversationsBlock | null;\n\n constructor(\n @Optional() @Inject(CONVERSATIONS_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(CONVERSATIONS_CONFIG) config: ConversationsBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createConversationsBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): ConversationsBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] ConversationsService is not configured. ' +\n \"Add 'urls.conversations' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Messages Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listMessages(params?: ListMessagesParams): Observable<PageResult<Message>> {\n return from(this.ensureConfigured().messages.list(params));\n }\n\n getMessage(uniqueId: string): Observable<Message> {\n return from(this.ensureConfigured().messages.get(uniqueId));\n }\n\n createMessage(data: CreateMessageRequest): Observable<Message> {\n return from(this.ensureConfigured().messages.create(data));\n }\n\n updateMessage(uniqueId: string, data: UpdateMessageRequest): Observable<Message> {\n return from(this.ensureConfigured().messages.update(uniqueId, data));\n }\n\n deleteMessage(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().messages.delete(uniqueId));\n }\n\n recoverMessage(uniqueId: string): Observable<Message> {\n return from(this.ensureConfigured().messages.recover(uniqueId));\n }\n\n listMessagesByContext(contextId: string, params?: ListMessagesParams): Observable<PageResult<Message>> {\n return from(this.ensureConfigured().messages.listByContext(contextId, params));\n }\n\n listMessagesByParent(parentId: string, params?: ListMessagesParams): Observable<PageResult<Message>> {\n return from(this.ensureConfigured().messages.listByParent(parentId, params));\n }\n\n listDeletedMessages(params?: ListMessagesParams): Observable<PageResult<Message>> {\n return from(this.ensureConfigured().messages.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Draft Messages Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listDraftMessages(params?: ListDraftMessagesParams): Observable<PageResult<DraftMessage>> {\n return from(this.ensureConfigured().draftMessages.list(params));\n }\n\n getDraftMessage(uniqueId: string): Observable<DraftMessage> {\n return from(this.ensureConfigured().draftMessages.get(uniqueId));\n }\n\n createDraftMessage(data: CreateDraftMessageRequest): Observable<DraftMessage> {\n return from(this.ensureConfigured().draftMessages.create(data));\n }\n\n updateDraftMessage(uniqueId: string, data: UpdateDraftMessageRequest): Observable<DraftMessage> {\n return from(this.ensureConfigured().draftMessages.update(uniqueId, data));\n }\n\n deleteDraftMessage(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().draftMessages.delete(uniqueId));\n }\n\n listDraftMessagesByContext(contextId: string, params?: ListDraftMessagesParams): Observable<PageResult<DraftMessage>> {\n return from(this.ensureConfigured().draftMessages.listByContext(contextId, params));\n }\n\n publishDraftMessage(uniqueId: string): Observable<DraftMessage> {\n return from(this.ensureConfigured().draftMessages.publish(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Groups Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listGroups(params?: ListGroupsParams): Observable<PageResult<Group>> {\n return from(this.ensureConfigured().groups.list(params));\n }\n\n getGroup(uniqueId: string): Observable<Group> {\n return from(this.ensureConfigured().groups.get(uniqueId));\n }\n\n createGroup(data: CreateGroupRequest): Observable<Group> {\n return from(this.ensureConfigured().groups.create(data));\n }\n\n updateGroup(uniqueId: string, data: UpdateGroupRequest): Observable<Group> {\n return from(this.ensureConfigured().groups.update(uniqueId, data));\n }\n\n deleteGroup(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().groups.delete(uniqueId));\n }\n\n recoverGroup(uniqueId: string): Observable<Group> {\n return from(this.ensureConfigured().groups.recover(uniqueId));\n }\n\n searchGroups(query: string, params?: ListGroupsParams): Observable<PageResult<Group>> {\n return from(this.ensureConfigured().groups.search(query, params));\n }\n\n listDeletedGroups(params?: ListGroupsParams): Observable<PageResult<Group>> {\n return from(this.ensureConfigured().groups.listDeleted(params));\n }\n\n addGroupMember(uniqueId: string, memberId: string): Observable<Group> {\n return from(this.ensureConfigured().groups.addMember(uniqueId, memberId));\n }\n\n removeGroupMember(uniqueId: string, memberId: string): Observable<Group> {\n return from(this.ensureConfigured().groups.removeMember(uniqueId, memberId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Group Invites Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listGroupInvites(groupUniqueId: string, params?: ListGroupInvitesParams): Observable<PageResult<GroupInvite>> {\n return from(this.ensureConfigured().groupInvites.list(groupUniqueId, params));\n }\n\n createGroupInvite(groupUniqueId: string, data?: CreateGroupInviteRequest): Observable<GroupInvite> {\n return from(this.ensureConfigured().groupInvites.create(groupUniqueId, data));\n }\n\n revokeGroupInvite(groupUniqueId: string, code: string): Observable<void> {\n return from(this.ensureConfigured().groupInvites.revoke(groupUniqueId, code));\n }\n\n getGroupInviteQRCode(groupUniqueId: string, code: string): Observable<QRCodeResponse> {\n return from(this.ensureConfigured().groupInvites.getQRCode(groupUniqueId, code));\n }\n\n joinGroupByInvite(code: string, data?: JoinGroupRequest): Observable<Group> {\n return from(this.ensureConfigured().groupInvites.join(code, data));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Notifications Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listNotifications(params?: ListNotificationsParams): Observable<PageResult<Notification>> {\n return from(this.ensureConfigured().notifications.list(params));\n }\n\n getNotification(uniqueId: string): Observable<Notification> {\n return from(this.ensureConfigured().notifications.get(uniqueId));\n }\n\n createNotification(data: CreateNotificationRequest): Observable<Notification> {\n return from(this.ensureConfigured().notifications.create(data));\n }\n\n updateNotification(uniqueId: string, data: UpdateNotificationRequest): Observable<Notification> {\n return from(this.ensureConfigured().notifications.update(uniqueId, data));\n }\n\n deleteNotification(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().notifications.delete(uniqueId));\n }\n\n markNotificationAsRead(uniqueId: string): Observable<Notification> {\n return from(this.ensureConfigured().notifications.markAsRead(uniqueId));\n }\n\n markNotificationAsUnread(uniqueId: string): Observable<Notification> {\n return from(this.ensureConfigured().notifications.markAsUnread(uniqueId));\n }\n\n listNotificationsByTarget(targetId: string, params?: ListNotificationsParams): Observable<PageResult<Notification>> {\n return from(this.ensureConfigured().notifications.listByTarget(targetId, params));\n }\n\n listUnreadNotifications(params?: ListNotificationsParams): Observable<PageResult<Notification>> {\n return from(this.ensureConfigured().notifications.listUnread(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Conversations Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n getConversation(params: GetConversationParams): Observable<Conversation> {\n return from(this.ensureConfigured().conversations.get(params));\n }\n\n listConversationContexts(): Observable<string[]> {\n return from(this.ensureConfigured().conversations.listContexts());\n }\n\n deleteConversationContext(context: string): Observable<void> {\n return from(this.ensureConfigured().conversations.deleteContext(context));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // WebSocket Tokens Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n createWebSocketToken(data?: CreateWebSocketTokenRequest): Observable<CreateWebSocketTokenResponse> {\n return from(this.ensureConfigured().websocketTokens.create(data));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Contexts Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listContexts(params?: ListContextsParams): Observable<PageResult<Context>> {\n return from(this.ensureConfigured().contexts.list(params));\n }\n\n getContext(uniqueId: string): Observable<Context> {\n return from(this.ensureConfigured().contexts.get(uniqueId));\n }\n\n createContext(data: CreateContextRequest): Observable<Context> {\n return from(this.ensureConfigured().contexts.create(data));\n }\n\n updateContext(uniqueId: string, data: UpdateContextRequest): Observable<Context> {\n return from(this.ensureConfigured().contexts.update(uniqueId, data));\n }\n\n listContextGroups(contextUniqueId: string): Observable<PageResult<Group>> {\n return from(this.ensureConfigured().contexts.listGroups(contextUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Notification Settings Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n getNotificationSettings(userUniqueId: string): Observable<NotificationSettings> {\n return from(this.ensureConfigured().notificationSettings.get(userUniqueId));\n }\n\n updateNotificationSettings(userUniqueId: string, data: UpdateNotificationSettingsRequest): Observable<NotificationSettings> {\n return from(this.ensureConfigured().notificationSettings.update(userUniqueId, data));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Availabilities Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n getUserAvailability(userUniqueId: string): Observable<UserAvailability> {\n return from(this.ensureConfigured().availabilities.get(userUniqueId));\n }\n\n goOnline(data?: SetAvailabilityRequest): Observable<UserAvailability> {\n return from(this.ensureConfigured().availabilities.goOnline(data));\n }\n\n goOffline(): Observable<void> {\n return from(this.ensureConfigured().availabilities.goOffline());\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Message Files Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n getMessageFile(conversationUniqueId: string, fileUniqueId: string): Observable<MessageFile> {\n return from(this.ensureConfigured().messageFiles.get(conversationUniqueId, fileUniqueId));\n }\n\n createMessageFile(conversationUniqueId: string, data: CreateMessageFileRequest): Observable<MessageFile> {\n return from(this.ensureConfigured().messageFiles.create(conversationUniqueId, data));\n }\n\n deleteMessageFile(conversationUniqueId: string, fileUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().messageFiles.delete(conversationUniqueId, fileUniqueId));\n }\n\n presignMessageFile(conversationUniqueId: string, data: PresignMessageFileRequest): Observable<PresignMessageFileResponse> {\n return from(this.ensureConfigured().messageFiles.presign(conversationUniqueId, data));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Sources Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n getSource(uniqueId: string): Observable<Source> {\n return from(this.ensureConfigured().sources.get(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Users Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listConversationsUsers(params?: ListUsersParams): Observable<PageResult<ConversationsUser>> {\n return from(this.ensureConfigured().users.list(params));\n }\n\n getConversationsUser(uniqueId: string): Observable<ConversationsUser> {\n return from(this.ensureConfigured().users.get(uniqueId));\n }\n\n registerConversationsUser(uniqueId: string, data?: RegisterUserRequest): Observable<ConversationsUser> {\n return from(this.ensureConfigured().users.register(uniqueId, data));\n }\n\n updateConversationsUser(uniqueId: string, data: UpdateUserRequest): Observable<ConversationsUser> {\n return from(this.ensureConfigured().users.update(uniqueId, data));\n }\n\n listUserGroups(uniqueId: string): Observable<PageResult<Group>> {\n return from(this.ensureConfigured().users.listGroups(uniqueId));\n }\n\n listUserConversations(uniqueId: string, params?: { page?: number; perPage?: number }): Observable<PageResult<Conversation>> {\n return from(this.ensureConfigured().users.listConversations(uniqueId, params));\n }\n\n listUserGroupConversations(uniqueId: string, params?: { page?: number; perPage?: number }): Observable<PageResult<Conversation>> {\n return from(this.ensureConfigured().users.listGroupConversations(uniqueId, params));\n }\n\n listUserContextGroups(uniqueId: string, contextUniqueId: string): Observable<PageResult<Group>> {\n return from(this.ensureConfigured().users.listContextGroups(uniqueId, contextUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Meetings Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listMeetings(params?: ListMeetingsParams): Observable<PageResult<Meeting>> {\n return from(this.ensureConfigured().meetings.list(params));\n }\n\n getMeeting(uniqueId: string): Observable<Meeting> {\n return from(this.ensureConfigured().meetings.get(uniqueId));\n }\n\n createMeeting(data: CreateMeetingRequest): Observable<Meeting> {\n return from(this.ensureConfigured().meetings.create(data));\n }\n\n updateMeeting(uniqueId: string, data: UpdateMeetingRequest): Observable<Meeting> {\n return from(this.ensureConfigured().meetings.update(uniqueId, data));\n }\n\n deleteMeeting(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().meetings.delete(uniqueId));\n }\n\n createMeetingSession(uniqueId: string): Observable<MeetingSession> {\n return from(this.ensureConfigured().meetings.createSession(uniqueId));\n }\n\n startMeeting(uniqueId: string): Observable<Meeting> {\n return from(this.ensureConfigured().meetings.start(uniqueId));\n }\n\n endMeeting(uniqueId: string): Observable<Meeting> {\n return from(this.ensureConfigured().meetings.end(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Web Notifications Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listWebNotifications(params?: ListWebNotificationsParams): Observable<PageResult<WebNotification>> {\n return from(this.ensureConfigured().webNotifications.list(params));\n }\n\n getWebNotification(uniqueId: string): Observable<WebNotification> {\n return from(this.ensureConfigured().webNotifications.get(uniqueId));\n }\n\n sendWebNotification(data: CreateWebNotificationRequest): Observable<WebNotification> {\n return from(this.ensureConfigured().webNotifications.send(data));\n }\n\n sendBulkWebNotifications(data: BulkWebNotificationRequest): Observable<{ sent: number; failed: number }> {\n return from(this.ensureConfigured().webNotifications.sendBulk(data));\n }\n\n markWebNotificationAsRead(uniqueId: string): Observable<WebNotification> {\n return from(this.ensureConfigured().webNotifications.markAsRead(uniqueId));\n }\n\n markWebNotificationAsClicked(uniqueId: string): Observable<WebNotification> {\n return from(this.ensureConfigured().webNotifications.markAsClicked(uniqueId));\n }\n\n markAllWebNotificationsAsRead(recipientUniqueId: string): Observable<{ updated: number }> {\n return from(this.ensureConfigured().webNotifications.markAllAsRead(recipientUniqueId));\n }\n\n deleteWebNotification(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().webNotifications.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get conversationsBlock(): ConversationsBlock {\n return this.ensureConfigured();\n }\n}\n","// @ts-nocheck\nimport { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createFilesBlock,\n type FilesBlock,\n type FilesBlockConfig,\n // Storage Files types\n type StorageFile,\n type CreateStorageFileRequest,\n type UpdateStorageFileRequest,\n type ListStorageFilesParams,\n type UploadFileRequest,\n // Entity Files types\n type EntityFile,\n type AttachFileRequest,\n type UpdateEntityFileRequest,\n type ListEntityFilesParams,\n type ReorderFilesRequest,\n // File Schemas types\n type FileSchema,\n type CreateFileSchemaRequest,\n type UpdateFileSchemaRequest,\n type ListFileSchemasParams,\n // User Files types\n type UserFile,\n type ListUserFilesParams,\n type AddUserFileRequest,\n type UpdateUserFileRequest,\n type PresignUploadRequest,\n type PresignUploadResponse,\n type MultipartPresignRequest,\n type MultipartPresignResponse,\n type MultipartCompleteRequest,\n type FileAccess as UserFileAccess,\n type FileAccessRequest as UserFileAccessRequest,\n type FileDelegation as UserFileDelegation,\n type CreateDelegationRequest,\n // File Categories types\n type FileCategory,\n type CreateFileCategoryRequest,\n type UpdateFileCategoryRequest,\n type ListFileCategoriesParams,\n // File Tags types\n type FileTag,\n type CreateFileTagRequest,\n type UpdateFileTagRequest,\n type ListFileTagsParams,\n // Delegations types\n type FileDelegation,\n type CreateFileDelegationRequest,\n type UpdateFileDelegationRequest,\n type ListFileDelegationsParams,\n // File Access types\n type FileAccess,\n type CreateFileAccessRequest,\n type UpdateFileAccessRequest,\n type ListFileAccessParams,\n // File Access Requests types\n type FileAccessRequest,\n type CreateFileAccessRequestInput,\n type ReviewFileAccessRequestInput,\n type ListFileAccessRequestsParams,\n} from '@23blocks/block-files';\nimport { TRANSPORT, FILES_TRANSPORT, FILES_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Files block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class FileUploadComponent {\n * constructor(private files: FilesService) {}\n *\n * uploadFile(file: File) {\n * this.files.uploadStorageFile({\n * file,\n * fileName: file.name,\n * ownerUniqueId: 'user-123',\n * ownerType: 'User',\n * }).subscribe({\n * next: (storageFile) => console.log('Uploaded:', storageFile),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class FilesService {\n private readonly block: FilesBlock | null;\n\n constructor(\n @Optional() @Inject(FILES_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(FILES_CONFIG) config: FilesBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createFilesBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): FilesBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] FilesService is not configured. ' +\n \"Add 'urls.files' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Storage Files Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listStorageFiles(params?: ListStorageFilesParams): Observable<PageResult<StorageFile>> {\n return from(this.ensureConfigured().storageFiles.list(params));\n }\n\n getStorageFile(uniqueId: string): Observable<StorageFile> {\n return from(this.ensureConfigured().storageFiles.get(uniqueId));\n }\n\n uploadStorageFile(data: UploadFileRequest): Observable<StorageFile> {\n return from(this.ensureConfigured().storageFiles.upload(data));\n }\n\n createStorageFile(data: CreateStorageFileRequest): Observable<StorageFile> {\n return from(this.ensureConfigured().storageFiles.create(data));\n }\n\n updateStorageFile(uniqueId: string, data: UpdateStorageFileRequest): Observable<StorageFile> {\n return from(this.ensureConfigured().storageFiles.update(uniqueId, data));\n }\n\n deleteStorageFile(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().storageFiles.delete(uniqueId));\n }\n\n downloadStorageFile(uniqueId: string): Observable<Blob> {\n return from(this.ensureConfigured().storageFiles.download(uniqueId));\n }\n\n listStorageFilesByOwner(\n ownerUniqueId: string,\n ownerType: string,\n params?: ListStorageFilesParams\n ): Observable<PageResult<StorageFile>> {\n return from(this.ensureConfigured().storageFiles.listByOwner(ownerUniqueId, ownerType, params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Entity Files Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listEntityFiles(params?: ListEntityFilesParams): Observable<PageResult<EntityFile>> {\n return from(this.ensureConfigured().entityFiles.list(params));\n }\n\n getEntityFile(uniqueId: string): Observable<EntityFile> {\n return from(this.ensureConfigured().entityFiles.get(uniqueId));\n }\n\n attachFile(data: AttachFileRequest): Observable<EntityFile> {\n return from(this.ensureConfigured().entityFiles.attach(data));\n }\n\n detachFile(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().entityFiles.detach(uniqueId));\n }\n\n updateEntityFile(uniqueId: string, data: UpdateEntityFileRequest): Observable<EntityFile> {\n return from(this.ensureConfigured().entityFiles.update(uniqueId, data));\n }\n\n reorderEntityFiles(\n entityUniqueId: string,\n entityType: string,\n data: ReorderFilesRequest\n ): Observable<EntityFile[]> {\n return from(this.ensureConfigured().entityFiles.reorder(entityUniqueId, entityType, data));\n }\n\n listEntityFilesByEntity(\n entityUniqueId: string,\n entityType: string,\n params?: ListEntityFilesParams\n ): Observable<PageResult<EntityFile>> {\n return from(this.ensureConfigured().entityFiles.listByEntity(entityUniqueId, entityType, params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // File Schemas Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listFileSchemas(params?: ListFileSchemasParams): Observable<PageResult<FileSchema>> {\n return from(this.ensureConfigured().fileSchemas.list(params));\n }\n\n getFileSchema(uniqueId: string): Observable<FileSchema> {\n return from(this.ensureConfigured().fileSchemas.get(uniqueId));\n }\n\n getFileSchemaByCode(code: string): Observable<FileSchema> {\n return from(this.ensureConfigured().fileSchemas.getByCode(code));\n }\n\n createFileSchema(data: CreateFileSchemaRequest): Observable<FileSchema> {\n return from(this.ensureConfigured().fileSchemas.create(data));\n }\n\n updateFileSchema(uniqueId: string, data: UpdateFileSchemaRequest): Observable<FileSchema> {\n return from(this.ensureConfigured().fileSchemas.update(uniqueId, data));\n }\n\n deleteFileSchema(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().fileSchemas.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // User Files Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List user files\n */\n listUserFiles(userUniqueId: string, params?: ListUserFilesParams): Observable<PageResult<UserFile>> {\n return from(this.ensureConfigured().userFiles.list(userUniqueId, params));\n }\n\n /**\n * Get a user file\n */\n getUserFile(userUniqueId: string, fileUniqueId: string): Observable<UserFile> {\n return from(this.ensureConfigured().userFiles.get(userUniqueId, fileUniqueId));\n }\n\n /**\n * Add a user file\n */\n addUserFile(userUniqueId: string, data: AddUserFileRequest): Observable<UserFile> {\n return from(this.ensureConfigured().userFiles.add(userUniqueId, data));\n }\n\n /**\n * Update a user file\n */\n updateUserFile(userUniqueId: string, fileUniqueId: string, data: UpdateUserFileRequest): Observable<UserFile> {\n return from(this.ensureConfigured().userFiles.update(userUniqueId, fileUniqueId, data));\n }\n\n /**\n * Delete a user file\n */\n deleteUserFile(userUniqueId: string, fileUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().userFiles.delete(userUniqueId, fileUniqueId));\n }\n\n /**\n * Get presigned upload URL for user file\n */\n presignUserFileUpload(userUniqueId: string, data: PresignUploadRequest): Observable<PresignUploadResponse> {\n return from(this.ensureConfigured().userFiles.presignUpload(userUniqueId, data));\n }\n\n /**\n * Get presigned URLs for multipart upload\n */\n multipartPresignUserFile(userUniqueId: string, data: MultipartPresignRequest): Observable<MultipartPresignResponse> {\n return from(this.ensureConfigured().userFiles.multipartPresign(userUniqueId, data));\n }\n\n /**\n * Complete multipart upload for user file\n */\n multipartCompleteUserFile(userUniqueId: string, data: MultipartCompleteRequest): Observable<UserFile> {\n return from(this.ensureConfigured().userFiles.multipartComplete(userUniqueId, data));\n }\n\n /**\n * Approve a user file\n */\n approveUserFile(userUniqueId: string, fileUniqueId: string): Observable<UserFile> {\n return from(this.ensureConfigured().userFiles.approve(userUniqueId, fileUniqueId));\n }\n\n /**\n * Reject a user file\n */\n rejectUserFile(userUniqueId: string, fileUniqueId: string): Observable<UserFile> {\n return from(this.ensureConfigured().userFiles.reject(userUniqueId, fileUniqueId));\n }\n\n /**\n * Publish a user file\n */\n publishUserFile(userUniqueId: string, fileUniqueId: string): Observable<UserFile> {\n return from(this.ensureConfigured().userFiles.publish(userUniqueId, fileUniqueId));\n }\n\n /**\n * Unpublish a user file\n */\n unpublishUserFile(userUniqueId: string, fileUniqueId: string): Observable<UserFile> {\n return from(this.ensureConfigured().userFiles.unpublish(userUniqueId, fileUniqueId));\n }\n\n /**\n * Add tag to user file\n */\n addTagToUserFile(userUniqueId: string, fileUniqueId: string, tagUniqueId: string): Observable<UserFile> {\n return from(this.ensureConfigured().userFiles.addTag(userUniqueId, fileUniqueId, tagUniqueId));\n }\n\n /**\n * Remove tag from user file\n */\n removeTagFromUserFile(userUniqueId: string, fileUniqueId: string, tagUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().userFiles.removeTag(userUniqueId, fileUniqueId, tagUniqueId));\n }\n\n /**\n * Bulk update tags for user files\n */\n bulkUpdateUserFileTags(userUniqueId: string, tagUniqueIds: string[]): Observable<void> {\n return from(this.ensureConfigured().userFiles.bulkUpdateTags(userUniqueId, tagUniqueIds));\n }\n\n /**\n * Request access to a user file\n */\n requestUserFileAccess(userUniqueId: string, fileUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().userFiles.requestAccess(userUniqueId, fileUniqueId));\n }\n\n /**\n * Get access list for a user file\n */\n getUserFileAccess(userUniqueId: string, fileUniqueId: string): Observable<UserFileAccess[]> {\n return from(this.ensureConfigured().userFiles.getAccess(userUniqueId, fileUniqueId));\n }\n\n /**\n * Grant access to a user file\n */\n grantUserFileAccess(userUniqueId: string, fileUniqueId: string, data: UserFileAccessRequest): Observable<UserFileAccess> {\n return from(this.ensureConfigured().userFiles.grantAccess(userUniqueId, fileUniqueId, data));\n }\n\n /**\n * Revoke access to a user file\n */\n revokeUserFileAccess(userUniqueId: string, fileUniqueId: string, accessUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().userFiles.revokeAccess(userUniqueId, fileUniqueId, accessUniqueId));\n }\n\n /**\n * Make user file public\n */\n makeUserFilePublic(userUniqueId: string, fileUniqueId: string): Observable<UserFile> {\n return from(this.ensureConfigured().userFiles.makePublic(userUniqueId, fileUniqueId));\n }\n\n /**\n * Make user file private\n */\n makeUserFilePrivate(userUniqueId: string, fileUniqueId: string): Observable<UserFile> {\n return from(this.ensureConfigured().userFiles.makePrivate(userUniqueId, fileUniqueId));\n }\n\n /**\n * Bulk grant access to user files\n */\n bulkGrantUserFileAccess(userUniqueId: string, fileUniqueIds: string[], granteeUniqueIds: string[]): Observable<void> {\n return from(this.ensureConfigured().userFiles.bulkGrantAccess(userUniqueId, fileUniqueIds, granteeUniqueIds));\n }\n\n /**\n * Bulk revoke access to user files\n */\n bulkRevokeUserFileAccess(userUniqueId: string, fileUniqueIds: string[], granteeUniqueIds: string[]): Observable<void> {\n return from(this.ensureConfigured().userFiles.bulkRevokeAccess(userUniqueId, fileUniqueIds, granteeUniqueIds));\n }\n\n /**\n * List access requests for a user file\n */\n listUserFileAccessRequests(userUniqueId: string, fileUniqueId: string): Observable<UserFileAccess[]> {\n return from(this.ensureConfigured().userFiles.listAccessRequests(userUniqueId, fileUniqueId));\n }\n\n /**\n * Approve access request for a user file\n */\n approveUserFileAccessRequest(userUniqueId: string, fileUniqueId: string, requestUniqueId: string): Observable<UserFileAccess> {\n return from(this.ensureConfigured().userFiles.approveAccessRequest(userUniqueId, fileUniqueId, requestUniqueId));\n }\n\n /**\n * Deny access request for a user file\n */\n denyUserFileAccessRequest(userUniqueId: string, fileUniqueId: string, requestUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().userFiles.denyAccessRequest(userUniqueId, fileUniqueId, requestUniqueId));\n }\n\n /**\n * List granted delegations for a user\n */\n listUserGrantedDelegations(userUniqueId: string): Observable<UserFileDelegation[]> {\n return from(this.ensureConfigured().userFiles.listGrantedDelegations(userUniqueId));\n }\n\n /**\n * List received delegations for a user\n */\n listUserReceivedDelegations(userUniqueId: string): Observable<UserFileDelegation[]> {\n return from(this.ensureConfigured().userFiles.listReceivedDelegations(userUniqueId));\n }\n\n /**\n * Get a user delegation\n */\n getUserDelegation(userUniqueId: string, delegationUniqueId: string): Observable<UserFileDelegation> {\n return from(this.ensureConfigured().userFiles.getDelegation(userUniqueId, delegationUniqueId));\n }\n\n /**\n * Create a user delegation\n */\n createUserDelegation(userUniqueId: string, data: CreateDelegationRequest): Observable<UserFileDelegation> {\n return from(this.ensureConfigured().userFiles.createDelegation(userUniqueId, data));\n }\n\n /**\n * Revoke a user delegation\n */\n revokeUserDelegation(userUniqueId: string, delegationUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().userFiles.revokeDelegation(userUniqueId, delegationUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // File Categories Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List file categories\n */\n listFileCategories(params?: ListFileCategoriesParams): Observable<PageResult<FileCategory>> {\n return from(this.ensureConfigured().fileCategories.list(params));\n }\n\n /**\n * Get a file category\n */\n getFileCategory(uniqueId: string): Observable<FileCategory> {\n return from(this.ensureConfigured().fileCategories.get(uniqueId));\n }\n\n /**\n * Create a file category\n */\n createFileCategory(data: CreateFileCategoryRequest): Observable<FileCategory> {\n return from(this.ensureConfigured().fileCategories.create(data));\n }\n\n /**\n * Update a file category\n */\n updateFileCategory(uniqueId: string, data: UpdateFileCategoryRequest): Observable<FileCategory> {\n return from(this.ensureConfigured().fileCategories.update(uniqueId, data));\n }\n\n /**\n * Delete a file category\n */\n deleteFileCategory(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().fileCategories.delete(uniqueId));\n }\n\n /**\n * List children of a file category\n */\n listFileCategoryChildren(parentUniqueId: string): Observable<FileCategory[]> {\n return from(this.ensureConfigured().fileCategories.listChildren(parentUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // File Tags Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List file tags\n */\n listFileTags(params?: ListFileTagsParams): Observable<PageResult<FileTag>> {\n return from(this.ensureConfigured().fileTags.list(params));\n }\n\n /**\n * Get a file tag\n */\n getFileTag(uniqueId: string): Observable<FileTag> {\n return from(this.ensureConfigured().fileTags.get(uniqueId));\n }\n\n /**\n * Create a file tag\n */\n createFileTag(data: CreateFileTagRequest): Observable<FileTag> {\n return from(this.ensureConfigured().fileTags.create(data));\n }\n\n /**\n * Update a file tag\n */\n updateFileTag(uniqueId: string, data: UpdateFileTagRequest): Observable<FileTag> {\n return from(this.ensureConfigured().fileTags.update(uniqueId, data));\n }\n\n /**\n * Delete a file tag\n */\n deleteFileTag(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().fileTags.delete(uniqueId));\n }\n\n /**\n * Add a tag to a file\n */\n addFileTag(userUniqueId: string, fileUniqueId: string, tagUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().fileTags.addToFile(userUniqueId, fileUniqueId, tagUniqueId));\n }\n\n /**\n * Remove a tag from a file\n */\n removeFileTag(userUniqueId: string, fileUniqueId: string, tagUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().fileTags.removeFromFile(userUniqueId, fileUniqueId, tagUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Delegations Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List file delegations for a user\n */\n listDelegations(userUniqueId: string, params?: ListFileDelegationsParams): Observable<PageResult<FileDelegation>> {\n return from(this.ensureConfigured().delegations.list(userUniqueId, params));\n }\n\n /**\n * Get a file delegation\n */\n getDelegation(userUniqueId: string, uniqueId: string): Observable<FileDelegation> {\n return from(this.ensureConfigured().delegations.get(userUniqueId, uniqueId));\n }\n\n /**\n * Create a file delegation\n */\n createDelegation(userUniqueId: string, data: CreateFileDelegationRequest): Observable<FileDelegation> {\n return from(this.ensureConfigured().delegations.create(userUniqueId, data));\n }\n\n /**\n * Update a file delegation\n */\n updateDelegation(userUniqueId: string, uniqueId: string, data: UpdateFileDelegationRequest): Observable<FileDelegation> {\n return from(this.ensureConfigured().delegations.update(userUniqueId, uniqueId, data));\n }\n\n /**\n * Delete a file delegation\n */\n deleteDelegation(userUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().delegations.delete(userUniqueId, uniqueId));\n }\n\n /**\n * List received delegations for a user\n */\n listReceivedDelegations(userUniqueId: string): Observable<FileDelegation[]> {\n return from(this.ensureConfigured().delegations.listReceivedDelegations(userUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // File Access Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List file accesses\n */\n listFileAccess(params?: ListFileAccessParams): Observable<PageResult<FileAccess>> {\n return from(this.ensureConfigured().fileAccess.list(params));\n }\n\n /**\n * Get a file access\n */\n getFileAccess(uniqueId: string): Observable<FileAccess> {\n return from(this.ensureConfigured().fileAccess.get(uniqueId));\n }\n\n /**\n * Grant file access\n */\n grantFileAccess(data: CreateFileAccessRequest): Observable<FileAccess> {\n return from(this.ensureConfigured().fileAccess.grant(data));\n }\n\n /**\n * Update file access\n */\n updateFileAccess(uniqueId: string, data: UpdateFileAccessRequest): Observable<FileAccess> {\n return from(this.ensureConfigured().fileAccess.update(uniqueId, data));\n }\n\n /**\n * Revoke file access\n */\n revokeFileAccess(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().fileAccess.revoke(uniqueId));\n }\n\n /**\n * List file accesses by file\n */\n listFileAccessByFile(fileUniqueId: string, params?: ListFileAccessParams): Observable<PageResult<FileAccess>> {\n return from(this.ensureConfigured().fileAccess.listByFile(fileUniqueId, params));\n }\n\n /**\n * List file accesses by grantee\n */\n listFileAccessByGrantee(granteeUniqueId: string, granteeType: string, params?: ListFileAccessParams): Observable<PageResult<FileAccess>> {\n return from(this.ensureConfigured().fileAccess.listByGrantee(granteeUniqueId, granteeType, params));\n }\n\n /**\n * Check if a grantee has access to a file\n */\n checkFileAccess(fileUniqueId: string, granteeUniqueId: string): Observable<FileAccess | null> {\n return from(this.ensureConfigured().fileAccess.checkAccess(fileUniqueId, granteeUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // File Access Requests Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List file access requests\n */\n listFileAccessRequests(params?: ListFileAccessRequestsParams): Observable<PageResult<FileAccessRequest>> {\n return from(this.ensureConfigured().fileAccessRequests.list(params));\n }\n\n /**\n * Get a file access request\n */\n getFileAccessRequest(uniqueId: string): Observable<FileAccessRequest> {\n return from(this.ensureConfigured().fileAccessRequests.get(uniqueId));\n }\n\n /**\n * Create a file access request\n */\n createFileAccessRequest(data: CreateFileAccessRequestInput): Observable<FileAccessRequest> {\n return from(this.ensureConfigured().fileAccessRequests.create(data));\n }\n\n /**\n * Review (approve/reject) a file access request\n */\n reviewFileAccessRequest(uniqueId: string, review: ReviewFileAccessRequestInput): Observable<FileAccessRequest> {\n return from(this.ensureConfigured().fileAccessRequests.review(uniqueId, review));\n }\n\n /**\n * Cancel a file access request\n */\n cancelFileAccessRequest(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().fileAccessRequests.cancel(uniqueId));\n }\n\n /**\n * List access requests for a file\n */\n listAccessRequestsByFile(fileUniqueId: string, params?: ListFileAccessRequestsParams): Observable<PageResult<FileAccessRequest>> {\n return from(this.ensureConfigured().fileAccessRequests.listByFile(fileUniqueId, params));\n }\n\n /**\n * List access requests by requester\n */\n listAccessRequestsByRequester(requesterUniqueId: string, params?: ListFileAccessRequestsParams): Observable<PageResult<FileAccessRequest>> {\n return from(this.ensureConfigured().fileAccessRequests.listByRequester(requesterUniqueId, params));\n }\n\n /**\n * Get pending access requests count\n */\n getPendingAccessRequestsCount(): Observable<number> {\n return from(this.ensureConfigured().fileAccessRequests.getPendingCount());\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get filesBlock(): FilesBlock {\n return this.ensureConfigured();\n }\n}\n","// @ts-nocheck\nimport { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createFormsBlock,\n type FormsBlock,\n type FormsBlockConfig,\n type Form,\n type CreateFormRequest,\n type UpdateFormRequest,\n type ListFormsParams,\n type FormSchema,\n type CreateFormSchemaRequest,\n type UpdateFormSchemaRequest,\n type ListFormSchemasParams,\n type FormSchemaVersion,\n type CreateFormSchemaVersionRequest,\n type UpdateFormSchemaVersionRequest,\n type ListFormSchemaVersionsParams,\n type FormInstance,\n type CreateFormInstanceRequest,\n type UpdateFormInstanceRequest,\n type SubmitFormInstanceRequest,\n type ListFormInstancesParams,\n type FormSet,\n type CreateFormSetRequest,\n type UpdateFormSetRequest,\n type ListFormSetsParams,\n type Landing,\n type CreateLandingRequest,\n type UpdateLandingRequest,\n type ListLandingsParams,\n type Subscription,\n type CreateSubscriptionRequest,\n type UpdateSubscriptionRequest,\n type ListSubscriptionsParams,\n type Appointment,\n type CreateAppointmentRequest,\n type UpdateAppointmentRequest,\n type ListAppointmentsParams,\n type AppointmentReportRequest,\n type AppointmentReportSummary,\n type Survey,\n type SurveyStatus,\n type CreateSurveyRequest,\n type UpdateSurveyRequest,\n type UpdateSurveyStatusRequest,\n type ListSurveysParams,\n type Referral,\n type CreateReferralRequest,\n type UpdateReferralRequest,\n type ListReferralsParams,\n type MailTemplate,\n type CreateMailTemplateRequest,\n type UpdateMailTemplateRequest,\n type ListMailTemplatesParams,\n type ApplicationForm,\n type ApplicationFormSubmission,\n type ApplicationFormDraft,\n type ApplicationFormResponse,\n type SendOtpResponse,\n type VerifyOtpRequest,\n type CrmSyncResult,\n type CrmSyncBatchRequest,\n type CrmSyncBatchResult,\n type CrmConnectionStatus,\n type CrmSyncStatus,\n} from '@23blocks/block-forms';\nimport { TRANSPORT, FORMS_TRANSPORT, FORMS_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Forms block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class FormComponent {\n * constructor(private formsService: FormsService) {}\n *\n * loadForms() {\n * this.formsService.listForms().subscribe({\n * next: (result) => console.log('Forms:', result.data),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class FormsService {\n private readonly block: FormsBlock | null;\n\n constructor(\n @Optional() @Inject(FORMS_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(FORMS_CONFIG) config: FormsBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createFormsBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): FormsBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] FormsService is not configured. ' +\n \"Add 'urls.forms' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Forms Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listForms(params?: ListFormsParams): Observable<PageResult<Form>> {\n return from(this.ensureConfigured().forms.list(params));\n }\n\n getForm(uniqueId: string): Observable<Form> {\n return from(this.ensureConfigured().forms.get(uniqueId));\n }\n\n createForm(data: CreateFormRequest): Observable<Form> {\n return from(this.ensureConfigured().forms.create(data));\n }\n\n updateForm(uniqueId: string, data: UpdateFormRequest): Observable<Form> {\n return from(this.ensureConfigured().forms.update(uniqueId, data));\n }\n\n deleteForm(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().forms.delete(uniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Form Schemas Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listFormSchemas(params?: ListFormSchemasParams): Observable<PageResult<FormSchema>> {\n return from(this.ensureConfigured().schemas.list(params));\n }\n\n getFormSchema(uniqueId: string): Observable<FormSchema> {\n return from(this.ensureConfigured().schemas.get(uniqueId));\n }\n\n createFormSchema(data: CreateFormSchemaRequest): Observable<FormSchema> {\n return from(this.ensureConfigured().schemas.create(data));\n }\n\n updateFormSchema(uniqueId: string, data: UpdateFormSchemaRequest): Observable<FormSchema> {\n return from(this.ensureConfigured().schemas.update(uniqueId, data));\n }\n\n deleteFormSchema(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().schemas.delete(uniqueId));\n }\n\n getLatestFormSchemaVersion(formUniqueId: string): Observable<FormSchema> {\n return from(this.ensureConfigured().schemas.getLatestVersion(formUniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Form Schema Versions Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listFormSchemaVersions(formSchemaUniqueId: string, params?: ListFormSchemaVersionsParams): Observable<PageResult<FormSchemaVersion>> {\n return from(this.ensureConfigured().schemaVersions.list(formSchemaUniqueId, params));\n }\n\n getFormSchemaVersion(formSchemaUniqueId: string, uniqueId: string): Observable<FormSchemaVersion> {\n return from(this.ensureConfigured().schemaVersions.get(formSchemaUniqueId, uniqueId));\n }\n\n createFormSchemaVersion(formSchemaUniqueId: string, data: CreateFormSchemaVersionRequest): Observable<FormSchemaVersion> {\n return from(this.ensureConfigured().schemaVersions.create(formSchemaUniqueId, data));\n }\n\n updateFormSchemaVersion(formSchemaUniqueId: string, uniqueId: string, data: UpdateFormSchemaVersionRequest): Observable<FormSchemaVersion> {\n return from(this.ensureConfigured().schemaVersions.update(formSchemaUniqueId, uniqueId, data));\n }\n\n deleteFormSchemaVersion(formSchemaUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().schemaVersions.delete(formSchemaUniqueId, uniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Form Instances Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listFormInstances(params?: ListFormInstancesParams): Observable<PageResult<FormInstance>> {\n return from(this.ensureConfigured().instances.list(params));\n }\n\n getFormInstance(uniqueId: string): Observable<FormInstance> {\n return from(this.ensureConfigured().instances.get(uniqueId));\n }\n\n createFormInstance(data: CreateFormInstanceRequest): Observable<FormInstance> {\n return from(this.ensureConfigured().instances.create(data));\n }\n\n updateFormInstance(uniqueId: string, data: UpdateFormInstanceRequest): Observable<FormInstance> {\n return from(this.ensureConfigured().instances.update(uniqueId, data));\n }\n\n deleteFormInstance(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().instances.delete(uniqueId));\n }\n\n submitFormInstance(data: SubmitFormInstanceRequest): Observable<FormInstance> {\n return from(this.ensureConfigured().instances.submit(data));\n }\n\n listFormInstancesByUser(userUniqueId: string, params?: ListFormInstancesParams): Observable<PageResult<FormInstance>> {\n return from(this.ensureConfigured().instances.listByUser(userUniqueId, params));\n }\n\n listFormInstancesBySchema(formSchemaUniqueId: string, params?: ListFormInstancesParams): Observable<PageResult<FormInstance>> {\n return from(this.ensureConfigured().instances.listBySchema(formSchemaUniqueId, params));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Form Sets Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listFormSets(params?: ListFormSetsParams): Observable<PageResult<FormSet>> {\n return from(this.ensureConfigured().sets.list(params));\n }\n\n getFormSet(uniqueId: string): Observable<FormSet> {\n return from(this.ensureConfigured().sets.get(uniqueId));\n }\n\n createFormSet(data: CreateFormSetRequest): Observable<FormSet> {\n return from(this.ensureConfigured().sets.create(data));\n }\n\n updateFormSet(uniqueId: string, data: UpdateFormSetRequest): Observable<FormSet> {\n return from(this.ensureConfigured().sets.update(uniqueId, data));\n }\n\n deleteFormSet(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().sets.delete(uniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Landings Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listLandings(formUniqueId: string, params?: ListLandingsParams): Observable<PageResult<Landing>> {\n return from(this.ensureConfigured().landings.list(formUniqueId, params));\n }\n\n getLanding(formUniqueId: string, uniqueId: string): Observable<Landing> {\n return from(this.ensureConfigured().landings.get(formUniqueId, uniqueId));\n }\n\n submitLanding(formUniqueId: string, data: CreateLandingRequest): Observable<Landing> {\n return from(this.ensureConfigured().landings.submit(formUniqueId, data));\n }\n\n updateLanding(formUniqueId: string, uniqueId: string, data: UpdateLandingRequest): Observable<Landing> {\n return from(this.ensureConfigured().landings.update(formUniqueId, uniqueId, data));\n }\n\n deleteLanding(formUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().landings.delete(formUniqueId, uniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Subscriptions Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listSubscriptions(formUniqueId: string, params?: ListSubscriptionsParams): Observable<PageResult<Subscription>> {\n return from(this.ensureConfigured().subscriptions.list(formUniqueId, params));\n }\n\n getSubscription(formUniqueId: string, uniqueId: string): Observable<Subscription> {\n return from(this.ensureConfigured().subscriptions.get(formUniqueId, uniqueId));\n }\n\n submitSubscription(formUniqueId: string, data: CreateSubscriptionRequest): Observable<Subscription> {\n return from(this.ensureConfigured().subscriptions.submit(formUniqueId, data));\n }\n\n updateSubscription(formUniqueId: string, uniqueId: string, data: UpdateSubscriptionRequest): Observable<Subscription> {\n return from(this.ensureConfigured().subscriptions.update(formUniqueId, uniqueId, data));\n }\n\n deleteSubscription(formUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().subscriptions.delete(formUniqueId, uniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Appointments Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listAppointments(formUniqueId: string, params?: ListAppointmentsParams): Observable<PageResult<Appointment>> {\n return from(this.ensureConfigured().appointments.list(formUniqueId, params));\n }\n\n getAppointment(formUniqueId: string, uniqueId: string): Observable<Appointment> {\n return from(this.ensureConfigured().appointments.get(formUniqueId, uniqueId));\n }\n\n createAppointment(formUniqueId: string, data: CreateAppointmentRequest): Observable<Appointment> {\n return from(this.ensureConfigured().appointments.create(formUniqueId, data));\n }\n\n updateAppointment(formUniqueId: string, uniqueId: string, data: UpdateAppointmentRequest): Observable<Appointment> {\n return from(this.ensureConfigured().appointments.update(formUniqueId, uniqueId, data));\n }\n\n deleteAppointment(formUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().appointments.delete(formUniqueId, uniqueId));\n }\n\n confirmAppointment(formUniqueId: string, uniqueId: string): Observable<Appointment> {\n return from(this.ensureConfigured().appointments.confirm(formUniqueId, uniqueId));\n }\n\n cancelAppointment(formUniqueId: string, uniqueId: string): Observable<Appointment> {\n return from(this.ensureConfigured().appointments.cancel(formUniqueId, uniqueId));\n }\n\n getAppointmentReportList(data: AppointmentReportRequest): Observable<Appointment[]> {\n return from(this.ensureConfigured().appointments.reportList(data));\n }\n\n getAppointmentReportSummary(data: AppointmentReportRequest): Observable<AppointmentReportSummary> {\n return from(this.ensureConfigured().appointments.reportSummary(data));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Surveys Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listSurveys(formUniqueId: string, params?: ListSurveysParams): Observable<PageResult<Survey>> {\n return from(this.ensureConfigured().surveys.list(formUniqueId, params));\n }\n\n listSurveysByStatus(formUniqueId: string, status: SurveyStatus, params?: ListSurveysParams): Observable<PageResult<Survey>> {\n return from(this.ensureConfigured().surveys.listByStatus(formUniqueId, status, params));\n }\n\n getSurvey(formUniqueId: string, uniqueId: string): Observable<Survey> {\n return from(this.ensureConfigured().surveys.get(formUniqueId, uniqueId));\n }\n\n createSurvey(formUniqueId: string, data: CreateSurveyRequest): Observable<Survey> {\n return from(this.ensureConfigured().surveys.create(formUniqueId, data));\n }\n\n updateSurvey(formUniqueId: string, uniqueId: string, data: UpdateSurveyRequest): Observable<Survey> {\n return from(this.ensureConfigured().surveys.update(formUniqueId, uniqueId, data));\n }\n\n deleteSurvey(formUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().surveys.delete(formUniqueId, uniqueId));\n }\n\n updateSurveyStatus(formUniqueId: string, uniqueId: string, data: UpdateSurveyStatusRequest): Observable<Survey> {\n return from(this.ensureConfigured().surveys.updateStatus(formUniqueId, uniqueId, data));\n }\n\n resendSurveyMagicLink(formUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().surveys.resendMagicLink(formUniqueId, uniqueId));\n }\n\n listSurveysByUser(userUniqueId: string, params?: ListSurveysParams): Observable<PageResult<Survey>> {\n return from(this.ensureConfigured().surveys.listByUser(userUniqueId, params));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Referrals Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listReferrals(formUniqueId: string, params?: ListReferralsParams): Observable<PageResult<Referral>> {\n return from(this.ensureConfigured().referrals.list(formUniqueId, params));\n }\n\n getReferral(formUniqueId: string, uniqueId: string): Observable<Referral> {\n return from(this.ensureConfigured().referrals.get(formUniqueId, uniqueId));\n }\n\n createReferral(formUniqueId: string, data: CreateReferralRequest): Observable<Referral> {\n return from(this.ensureConfigured().referrals.create(formUniqueId, data));\n }\n\n updateReferral(formUniqueId: string, uniqueId: string, data: UpdateReferralRequest): Observable<Referral> {\n return from(this.ensureConfigured().referrals.update(formUniqueId, uniqueId, data));\n }\n\n deleteReferral(formUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().referrals.delete(formUniqueId, uniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Mail Templates Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listMailTemplates(params?: ListMailTemplatesParams): Observable<PageResult<MailTemplate>> {\n return from(this.ensureConfigured().mailTemplates.list(params));\n }\n\n getMailTemplate(uniqueId: string): Observable<MailTemplate> {\n return from(this.ensureConfigured().mailTemplates.get(uniqueId));\n }\n\n createMailTemplate(data: CreateMailTemplateRequest): Observable<MailTemplate> {\n return from(this.ensureConfigured().mailTemplates.create(data));\n }\n\n updateMailTemplate(uniqueId: string, data: UpdateMailTemplateRequest): Observable<MailTemplate> {\n return from(this.ensureConfigured().mailTemplates.update(uniqueId, data));\n }\n\n deleteMailTemplate(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().mailTemplates.delete(uniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Application Forms Service (magic link access)\n // ───────────────────────────────────────────────────────────────────────────\n\n /**\n * Get public form via magic link.\n * If OTP verification is required, returns form with verificationStatus: 'pending'\n * and limited fields (no schema/uiSchema until verified).\n */\n getApplicationForm(urlId: string): Observable<ApplicationForm> {\n return from(this.ensureConfigured().applicationForms.get(urlId));\n }\n\n submitApplicationForm(urlId: string, data: ApplicationFormSubmission): Observable<ApplicationFormResponse> {\n return from(this.ensureConfigured().applicationForms.submit(urlId, data));\n }\n\n saveApplicationFormDraft(urlId: string, data: ApplicationFormDraft): Observable<ApplicationFormResponse> {\n return from(this.ensureConfigured().applicationForms.draft(urlId, data));\n }\n\n /**\n * Send OTP verification code to user's email.\n * @throws Error with code RATE_LIMITED if called too frequently (60s cooldown)\n * @throws Error with code ALREADY_VERIFIED if form is already verified\n * @throws Error with code OTP_NOT_REQUIRED if form doesn't require OTP\n */\n sendApplicationFormOtp(urlId: string): Observable<SendOtpResponse> {\n return from(this.ensureConfigured().applicationForms.sendOtp(urlId));\n }\n\n /**\n * Verify OTP code and get full form access.\n * On success, returns full form with schema and fields.\n * @throws Error with code INVALID_CODE if code is wrong (includes attemptsRemaining)\n * @throws Error with code CODE_EXPIRED if code has expired (10 min lifetime)\n * @throws Error with code ATTEMPTS_EXCEEDED if max attempts (5) reached\n */\n verifyApplicationFormOtp(urlId: string, data: VerifyOtpRequest): Observable<ApplicationForm> {\n return from(this.ensureConfigured().applicationForms.verifyOtp(urlId, data));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // CRM Sync Service\n // ───────────────────────────────────────────────────────────────────────────\n\n syncLandingToCrm(uniqueId: string): Observable<CrmSyncResult> {\n return from(this.ensureConfigured().crmSync.syncLanding(uniqueId));\n }\n\n syncSubscriptionToCrm(uniqueId: string): Observable<CrmSyncResult> {\n return from(this.ensureConfigured().crmSync.syncSubscription(uniqueId));\n }\n\n syncAppointmentToCrm(uniqueId: string): Observable<CrmSyncResult> {\n return from(this.ensureConfigured().crmSync.syncAppointment(uniqueId));\n }\n\n batchSyncToCrm(data: CrmSyncBatchRequest): Observable<CrmSyncBatchResult> {\n return from(this.ensureConfigured().crmSync.batchSync(data));\n }\n\n retryFailedCrmSync(): Observable<CrmSyncBatchResult> {\n return from(this.ensureConfigured().crmSync.retryFailed());\n }\n\n testCrmConnection(): Observable<CrmConnectionStatus> {\n return from(this.ensureConfigured().crmSync.testConnection());\n }\n\n getCrmSyncStatus(): Observable<CrmSyncStatus> {\n return from(this.ensureConfigured().crmSync.status());\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Direct Block Access\n // ───────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying FormsBlock for advanced operations\n */\n get formsBlock(): FormsBlock {\n return this.ensureConfigured();\n }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createAssetsBlock,\n type AssetsBlock,\n type AssetsBlockConfig,\n type Asset,\n type CreateAssetRequest,\n type UpdateAssetRequest,\n type ListAssetsParams,\n type TransferAssetRequest,\n type AssignAssetRequest,\n type AddToCategoryRequest,\n type AddPartsRequest,\n type RemovePartsRequest,\n type UpdateMaintenanceRequest,\n type LendAssetRequest,\n type CreateOTPRequest,\n type OTPResponse,\n type AssetEvent,\n type CreateAssetEventRequest,\n type UpdateAssetEventRequest,\n type ListAssetEventsParams,\n type EventImagePresignResponse,\n type CreateEventImageRequest,\n type EventImage,\n type EventReportParams,\n type EventReportSummary,\n type EventReportList,\n type AssetAudit,\n type CreateAssetAuditRequest,\n type UpdateAssetAuditRequest,\n type ListAssetAuditsParams,\n type Category,\n type CreateCategoryRequest,\n type UpdateCategoryRequest,\n type ListCategoriesParams,\n type CategoryPresignResponse,\n type CreateCategoryImageRequest,\n type CategoryImage,\n type Tag,\n type CreateTagRequest,\n type UpdateTagRequest,\n type ListTagsParams,\n type Vendor,\n type CreateVendorRequest,\n type UpdateVendorRequest,\n type ListVendorsParams,\n type Warehouse,\n type CreateWarehouseRequest,\n type UpdateWarehouseRequest,\n type ListWarehousesParams,\n type AssetsEntity,\n type CreateAssetsEntityRequest,\n type UpdateAssetsEntityRequest,\n type ListAssetsEntitiesParams,\n type EntityAccess,\n type AccessRequest,\n type CreateAccessRequestRequest,\n type AssetOperation,\n type CreateAssetOperationRequest,\n type ListAssetOperationsParams,\n type OperationReportParams,\n type OperationReportSummary,\n type AssetAlert,\n type CreateAssetAlertRequest,\n type AssetsUser,\n type RegisterAssetsUserRequest,\n type UpdateAssetsUserRequest,\n type ListAssetsUsersParams,\n type UserOwnership,\n type AssetPresignResponse,\n type CreateAssetImageRequest,\n type AssetImage,\n} from '@23blocks/block-assets';\nimport { TRANSPORT, ASSETS_TRANSPORT, ASSETS_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Assets block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class AssetManagementComponent {\n * constructor(private assets: AssetsService) {}\n *\n * loadAssets() {\n * this.assets.listAssets().subscribe({\n * next: (result) => console.log('Assets:', result.data),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class AssetsService {\n private readonly block: AssetsBlock | null;\n\n constructor(\n @Optional() @Inject(ASSETS_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(ASSETS_CONFIG) config: AssetsBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createAssetsBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): AssetsBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] AssetsService is not configured. ' +\n \"Add 'urls.assets' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Assets Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listAssets(params?: ListAssetsParams): Observable<PageResult<Asset>> {\n return from(this.ensureConfigured().assets.list(params));\n }\n\n getAsset(uniqueId: string): Observable<Asset> {\n return from(this.ensureConfigured().assets.get(uniqueId));\n }\n\n createAsset(data: CreateAssetRequest): Observable<Asset> {\n return from(this.ensureConfigured().assets.create(data));\n }\n\n updateAsset(uniqueId: string, data: UpdateAssetRequest): Observable<Asset> {\n return from(this.ensureConfigured().assets.update(uniqueId, data));\n }\n\n deleteAsset(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().assets.delete(uniqueId));\n }\n\n listAssetsTrash(): Observable<PageResult<Asset>> {\n return from(this.ensureConfigured().assets.listTrash());\n }\n\n transferAsset(uniqueId: string, data: TransferAssetRequest): Observable<Asset> {\n return from(this.ensureConfigured().assets.transfer(uniqueId, data));\n }\n\n assignAsset(uniqueId: string, data: AssignAssetRequest): Observable<Asset> {\n return from(this.ensureConfigured().assets.assign(uniqueId, data));\n }\n\n unassignAsset(uniqueId: string): Observable<Asset> {\n return from(this.ensureConfigured().assets.unassign(uniqueId));\n }\n\n listAssetsByLocation(locationUniqueId: string, params?: ListAssetsParams): Observable<PageResult<Asset>> {\n return from(this.ensureConfigured().assets.listByLocation(locationUniqueId, params));\n }\n\n listAssetsByAssignee(assignedToUniqueId: string, params?: ListAssetsParams): Observable<PageResult<Asset>> {\n return from(this.ensureConfigured().assets.listByAssignee(assignedToUniqueId, params));\n }\n\n addAssetToCategory(uniqueId: string, data: AddToCategoryRequest): Observable<Asset> {\n return from(this.ensureConfigured().assets.addToCategory(uniqueId, data));\n }\n\n addAssetParts(uniqueId: string, data: AddPartsRequest): Observable<Asset> {\n return from(this.ensureConfigured().assets.addParts(uniqueId, data));\n }\n\n removeAssetParts(uniqueId: string, data: RemovePartsRequest): Observable<Asset> {\n return from(this.ensureConfigured().assets.removeParts(uniqueId, data));\n }\n\n updateAssetMaintenance(uniqueId: string, data: UpdateMaintenanceRequest): Observable<Asset> {\n return from(this.ensureConfigured().assets.updateMaintenance(uniqueId, data));\n }\n\n lendAsset(uniqueId: string, data: LendAssetRequest): Observable<Asset> {\n return from(this.ensureConfigured().assets.lend(uniqueId, data));\n }\n\n createAssetOTP(uniqueId: string, data?: CreateOTPRequest): Observable<OTPResponse> {\n return from(this.ensureConfigured().assets.createOTP(uniqueId, data));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Asset Events Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listAssetEvents(assetUniqueId: string, params?: ListAssetEventsParams): Observable<PageResult<AssetEvent>> {\n return from(this.ensureConfigured().events.list(assetUniqueId, params));\n }\n\n getAssetEvent(assetUniqueId: string, eventUniqueId: string): Observable<AssetEvent> {\n return from(this.ensureConfigured().events.get(assetUniqueId, eventUniqueId));\n }\n\n createAssetEvent(assetUniqueId: string, data: CreateAssetEventRequest): Observable<AssetEvent> {\n return from(this.ensureConfigured().events.create(assetUniqueId, data));\n }\n\n updateAssetEvent(assetUniqueId: string, eventUniqueId: string, data: UpdateAssetEventRequest): Observable<AssetEvent> {\n return from(this.ensureConfigured().events.update(assetUniqueId, eventUniqueId, data));\n }\n\n getEventReportList(params: EventReportParams): Observable<EventReportList> {\n return from(this.ensureConfigured().events.reportList(params));\n }\n\n getEventReportSummary(params: EventReportParams): Observable<EventReportSummary> {\n return from(this.ensureConfigured().events.reportSummary(params));\n }\n\n presignEventImage(assetUniqueId: string, eventUniqueId: string): Observable<EventImagePresignResponse> {\n return from(this.ensureConfigured().events.presignImage(assetUniqueId, eventUniqueId));\n }\n\n createEventImage(assetUniqueId: string, eventUniqueId: string, data: CreateEventImageRequest): Observable<EventImage> {\n return from(this.ensureConfigured().events.createImage(assetUniqueId, eventUniqueId, data));\n }\n\n deleteEventImage(assetUniqueId: string, eventUniqueId: string, imageUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().events.deleteImage(assetUniqueId, eventUniqueId, imageUniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Asset Audits Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listAssetAudits(assetUniqueId: string, params?: ListAssetAuditsParams): Observable<PageResult<AssetAudit>> {\n return from(this.ensureConfigured().audits.list(assetUniqueId, params));\n }\n\n getAssetAudit(assetUniqueId: string, auditUniqueId: string): Observable<AssetAudit> {\n return from(this.ensureConfigured().audits.get(assetUniqueId, auditUniqueId));\n }\n\n createAssetAudit(assetUniqueId: string, data: CreateAssetAuditRequest): Observable<AssetAudit> {\n return from(this.ensureConfigured().audits.create(assetUniqueId, data));\n }\n\n updateAssetAudit(assetUniqueId: string, auditUniqueId: string, data: UpdateAssetAuditRequest): Observable<AssetAudit> {\n return from(this.ensureConfigured().audits.update(assetUniqueId, auditUniqueId, data));\n }\n\n deleteAssetAudit(assetUniqueId: string, auditUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().audits.delete(assetUniqueId, auditUniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Categories Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listCategories(params?: ListCategoriesParams): Observable<PageResult<Category>> {\n return from(this.ensureConfigured().categories.list(params));\n }\n\n getCategory(uniqueId: string): Observable<Category> {\n return from(this.ensureConfigured().categories.get(uniqueId));\n }\n\n createCategory(data: CreateCategoryRequest): Observable<Category> {\n return from(this.ensureConfigured().categories.create(data));\n }\n\n updateCategory(uniqueId: string, data: UpdateCategoryRequest): Observable<Category> {\n return from(this.ensureConfigured().categories.update(uniqueId, data));\n }\n\n deleteCategory(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().categories.delete(uniqueId));\n }\n\n deleteCategoryCascade(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().categories.deleteCascade(uniqueId));\n }\n\n presignCategoryImage(uniqueId: string): Observable<CategoryPresignResponse> {\n return from(this.ensureConfigured().categories.presignImage(uniqueId));\n }\n\n createCategoryImage(uniqueId: string, data: CreateCategoryImageRequest): Observable<CategoryImage> {\n return from(this.ensureConfigured().categories.createImage(uniqueId, data));\n }\n\n deleteCategoryImage(uniqueId: string, imageUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().categories.deleteImage(uniqueId, imageUniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Tags Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listTags(params?: ListTagsParams): Observable<PageResult<Tag>> {\n return from(this.ensureConfigured().tags.list(params));\n }\n\n getTag(uniqueId: string): Observable<Tag> {\n return from(this.ensureConfigured().tags.get(uniqueId));\n }\n\n createTag(data: CreateTagRequest): Observable<Tag> {\n return from(this.ensureConfigured().tags.create(data));\n }\n\n updateTag(uniqueId: string, data: UpdateTagRequest): Observable<Tag> {\n return from(this.ensureConfigured().tags.update(uniqueId, data));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Vendors Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listVendors(params?: ListVendorsParams): Observable<PageResult<Vendor>> {\n return from(this.ensureConfigured().vendors.list(params));\n }\n\n getVendor(uniqueId: string): Observable<Vendor> {\n return from(this.ensureConfigured().vendors.get(uniqueId));\n }\n\n createVendor(data: CreateVendorRequest): Observable<Vendor> {\n return from(this.ensureConfigured().vendors.create(data));\n }\n\n updateVendor(uniqueId: string, data: UpdateVendorRequest): Observable<Vendor> {\n return from(this.ensureConfigured().vendors.update(uniqueId, data));\n }\n\n deleteVendor(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().vendors.delete(uniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Warehouses Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listWarehouses(params?: ListWarehousesParams): Observable<PageResult<Warehouse>> {\n return from(this.ensureConfigured().warehouses.list(params));\n }\n\n getWarehouse(uniqueId: string): Observable<Warehouse> {\n return from(this.ensureConfigured().warehouses.get(uniqueId));\n }\n\n createWarehouse(data: CreateWarehouseRequest): Observable<Warehouse> {\n return from(this.ensureConfigured().warehouses.create(data));\n }\n\n updateWarehouse(uniqueId: string, data: UpdateWarehouseRequest): Observable<Warehouse> {\n return from(this.ensureConfigured().warehouses.update(uniqueId, data));\n }\n\n deleteWarehouse(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().warehouses.delete(uniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Entities Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listEntities(params?: ListAssetsEntitiesParams): Observable<PageResult<AssetsEntity>> {\n return from(this.ensureConfigured().entities.list(params));\n }\n\n getEntity(uniqueId: string): Observable<AssetsEntity> {\n return from(this.ensureConfigured().entities.get(uniqueId));\n }\n\n createEntity(data: CreateAssetsEntityRequest): Observable<AssetsEntity> {\n return from(this.ensureConfigured().entities.create(data));\n }\n\n updateEntity(uniqueId: string, data: UpdateAssetsEntityRequest): Observable<AssetsEntity> {\n return from(this.ensureConfigured().entities.update(uniqueId, data));\n }\n\n deleteEntity(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().entities.delete(uniqueId));\n }\n\n listEntityAccesses(uniqueId: string): Observable<EntityAccess[]> {\n return from(this.ensureConfigured().entities.listAccesses(uniqueId));\n }\n\n getEntityAccess(uniqueId: string): Observable<EntityAccess> {\n return from(this.ensureConfigured().entities.getAccess(uniqueId));\n }\n\n makeEntityPublic(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().entities.makePublic(uniqueId));\n }\n\n revokeEntityAccess(uniqueId: string, accessUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().entities.revokeAccess(uniqueId, accessUniqueId));\n }\n\n requestEntityAccess(uniqueId: string, data: CreateAccessRequestRequest): Observable<AccessRequest> {\n return from(this.ensureConfigured().entities.requestAccess(uniqueId, data));\n }\n\n listEntityAccessRequests(uniqueId: string): Observable<AccessRequest[]> {\n return from(this.ensureConfigured().entities.listAccessRequests(uniqueId));\n }\n\n approveEntityAccessRequest(uniqueId: string, requestUniqueId: string): Observable<AccessRequest> {\n return from(this.ensureConfigured().entities.approveAccessRequest(uniqueId, requestUniqueId));\n }\n\n denyEntityAccessRequest(uniqueId: string, requestUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().entities.denyAccessRequest(uniqueId, requestUniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Operations Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listAssetOperations(assetUniqueId: string, params?: ListAssetOperationsParams): Observable<PageResult<AssetOperation>> {\n return from(this.ensureConfigured().operations.list(assetUniqueId, params));\n }\n\n getAssetOperation(assetUniqueId: string, operationUniqueId: string): Observable<AssetOperation> {\n return from(this.ensureConfigured().operations.get(assetUniqueId, operationUniqueId));\n }\n\n createAssetOperation(assetUniqueId: string, data: CreateAssetOperationRequest): Observable<AssetOperation> {\n return from(this.ensureConfigured().operations.create(assetUniqueId, data));\n }\n\n getOperationReportSummary(params: OperationReportParams): Observable<OperationReportSummary> {\n return from(this.ensureConfigured().operations.reportSummary(params));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Alerts Service\n // ───────────────────────────────────────────────────────────────────────────\n\n getAlert(uniqueId: string): Observable<AssetAlert> {\n return from(this.ensureConfigured().alerts.get(uniqueId));\n }\n\n createAlert(data: CreateAssetAlertRequest): Observable<AssetAlert> {\n return from(this.ensureConfigured().alerts.create(data));\n }\n\n deleteAlert(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().alerts.delete(uniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Users Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listAssetsUsers(params?: ListAssetsUsersParams): Observable<PageResult<AssetsUser>> {\n return from(this.ensureConfigured().users.list(params));\n }\n\n getAssetsUser(uniqueId: string): Observable<AssetsUser> {\n return from(this.ensureConfigured().users.get(uniqueId));\n }\n\n registerAssetsUser(uniqueId: string, data: RegisterAssetsUserRequest): Observable<AssetsUser> {\n return from(this.ensureConfigured().users.register(uniqueId, data));\n }\n\n updateAssetsUser(uniqueId: string, data: UpdateAssetsUserRequest): Observable<AssetsUser> {\n return from(this.ensureConfigured().users.update(uniqueId, data));\n }\n\n listUserEntities(uniqueId: string): Observable<AssetsEntity[]> {\n return from(this.ensureConfigured().users.listEntities(uniqueId));\n }\n\n listUserAssets(uniqueId: string): Observable<Asset[]> {\n return from(this.ensureConfigured().users.listAssets(uniqueId));\n }\n\n listUserOwnership(uniqueId: string): Observable<UserOwnership[]> {\n return from(this.ensureConfigured().users.listOwnership(uniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Images Service\n // ───────────────────────────────────────────────────────────────────────────\n\n presignAssetImage(assetUniqueId: string): Observable<AssetPresignResponse> {\n return from(this.ensureConfigured().images.presign(assetUniqueId));\n }\n\n createAssetImage(assetUniqueId: string, data: CreateAssetImageRequest): Observable<AssetImage> {\n return from(this.ensureConfigured().images.create(assetUniqueId, data));\n }\n\n deleteAssetImage(assetUniqueId: string, imageUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().images.delete(assetUniqueId, imageUniqueId));\n }\n\n presignAssetEventImage(assetUniqueId: string, eventUniqueId: string): Observable<AssetPresignResponse> {\n return from(this.ensureConfigured().images.presignEvent(assetUniqueId, eventUniqueId));\n }\n\n createAssetEventImage(assetUniqueId: string, eventUniqueId: string, data: CreateAssetImageRequest): Observable<AssetImage> {\n return from(this.ensureConfigured().images.createEventImage(assetUniqueId, eventUniqueId, data));\n }\n\n deleteAssetEventImage(assetUniqueId: string, eventUniqueId: string, imageUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().images.deleteEventImage(assetUniqueId, eventUniqueId, imageUniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ───────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get assetsBlock(): AssetsBlock {\n return this.ensureConfigured();\n }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createCampaignsBlock,\n type CampaignsBlock,\n type CampaignsBlockConfig,\n type Campaign,\n type CreateCampaignRequest,\n type UpdateCampaignRequest,\n type ListCampaignsParams,\n type CampaignResults,\n type CampaignMedia,\n type CreateCampaignMediaRequest,\n type UpdateCampaignMediaRequest,\n type ListCampaignMediaParams,\n type CampaignMediaResults,\n type LandingPage,\n type CreateLandingPageRequest,\n type UpdateLandingPageRequest,\n type ListLandingPagesParams,\n type Audience,\n type AudienceMember,\n type CreateAudienceRequest,\n type UpdateAudienceRequest,\n type ListAudiencesParams,\n type LandingTemplate,\n type CreateLandingTemplateRequest,\n type UpdateLandingTemplateRequest,\n type ListLandingTemplatesParams,\n type CampaignTarget,\n type CreateCampaignTargetRequest,\n type UpdateCampaignTargetRequest,\n type ListCampaignTargetsParams,\n type CampaignResult,\n type CreateCampaignResultRequest,\n type UpdateCampaignResultRequest,\n type ListCampaignResultsParams,\n type CampaignMarket,\n type CreateCampaignMarketRequest,\n type UpdateCampaignMarketRequest,\n type ListCampaignMarketsParams,\n type CampaignLocation,\n type CreateCampaignLocationRequest,\n type UpdateCampaignLocationRequest,\n type ListCampaignLocationsParams,\n type CampaignTemplate,\n type CreateCampaignTemplateRequest,\n type UpdateCampaignTemplateRequest,\n type ListCampaignTemplatesParams,\n type TemplateDetail,\n type CreateTemplateDetailRequest,\n type UpdateTemplateDetailRequest,\n type ListTemplateDetailsParams,\n type CampaignMediaResult,\n type CreateCampaignMediaResultRequest,\n type UpdateCampaignMediaResultRequest,\n type ListCampaignMediaResultsParams,\n type Media,\n type CreateMediaRequest,\n type UpdateMediaRequest,\n type ListMediaParams,\n} from '@23blocks/block-campaigns';\nimport { TRANSPORT, CAMPAIGNS_TRANSPORT, CAMPAIGNS_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Campaigns block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class CampaignsComponent {\n * constructor(private campaigns: CampaignsService) {}\n *\n * loadCampaigns() {\n * this.campaigns.listCampaigns({ page: 1, perPage: 10 }).subscribe({\n * next: (result) => console.log('Campaigns:', result.data),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class CampaignsService {\n private readonly block: CampaignsBlock | null;\n\n constructor(\n @Optional() @Inject(CAMPAIGNS_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(CAMPAIGNS_CONFIG) config: CampaignsBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createCampaignsBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): CampaignsBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] CampaignsService is not configured. ' +\n \"Add 'urls.campaigns' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Campaigns Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCampaigns(params?: ListCampaignsParams): Observable<PageResult<Campaign>> {\n return from(this.ensureConfigured().campaigns.list(params));\n }\n\n getCampaign(uniqueId: string): Observable<Campaign> {\n return from(this.ensureConfigured().campaigns.get(uniqueId));\n }\n\n createCampaign(data: CreateCampaignRequest): Observable<Campaign> {\n return from(this.ensureConfigured().campaigns.create(data));\n }\n\n updateCampaign(uniqueId: string, data: UpdateCampaignRequest): Observable<Campaign> {\n return from(this.ensureConfigured().campaigns.update(uniqueId, data));\n }\n\n deleteCampaign(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().campaigns.delete(uniqueId));\n }\n\n startCampaign(uniqueId: string): Observable<Campaign> {\n return from(this.ensureConfigured().campaigns.start(uniqueId));\n }\n\n pauseCampaign(uniqueId: string): Observable<Campaign> {\n return from(this.ensureConfigured().campaigns.pause(uniqueId));\n }\n\n stopCampaign(uniqueId: string): Observable<Campaign> {\n return from(this.ensureConfigured().campaigns.stop(uniqueId));\n }\n\n getCampaignResults(uniqueId: string): Observable<CampaignResults> {\n return from(this.ensureConfigured().campaigns.getResults(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Campaign Media Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCampaignMedia(params?: ListCampaignMediaParams): Observable<PageResult<CampaignMedia>> {\n return from(this.ensureConfigured().campaignMedia.list(params));\n }\n\n getCampaignMedia(uniqueId: string): Observable<CampaignMedia> {\n return from(this.ensureConfigured().campaignMedia.get(uniqueId));\n }\n\n createCampaignMedia(data: CreateCampaignMediaRequest): Observable<CampaignMedia> {\n return from(this.ensureConfigured().campaignMedia.create(data));\n }\n\n updateCampaignMedia(uniqueId: string, data: UpdateCampaignMediaRequest): Observable<CampaignMedia> {\n return from(this.ensureConfigured().campaignMedia.update(uniqueId, data));\n }\n\n deleteCampaignMedia(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().campaignMedia.delete(uniqueId));\n }\n\n listCampaignMediaByCampaign(campaignUniqueId: string): Observable<CampaignMedia[]> {\n return from(this.ensureConfigured().campaignMedia.listByCampaign(campaignUniqueId));\n }\n\n getCampaignMediaResults(uniqueId: string): Observable<CampaignMediaResults> {\n return from(this.ensureConfigured().campaignMedia.getResults(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Landing Pages Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listLandingPages(params?: ListLandingPagesParams): Observable<PageResult<LandingPage>> {\n return from(this.ensureConfigured().landingPages.list(params));\n }\n\n getLandingPage(uniqueId: string): Observable<LandingPage> {\n return from(this.ensureConfigured().landingPages.get(uniqueId));\n }\n\n createLandingPage(data: CreateLandingPageRequest): Observable<LandingPage> {\n return from(this.ensureConfigured().landingPages.create(data));\n }\n\n updateLandingPage(uniqueId: string, data: UpdateLandingPageRequest): Observable<LandingPage> {\n return from(this.ensureConfigured().landingPages.update(uniqueId, data));\n }\n\n deleteLandingPage(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().landingPages.delete(uniqueId));\n }\n\n publishLandingPage(uniqueId: string): Observable<LandingPage> {\n return from(this.ensureConfigured().landingPages.publish(uniqueId));\n }\n\n unpublishLandingPage(uniqueId: string): Observable<LandingPage> {\n return from(this.ensureConfigured().landingPages.unpublish(uniqueId));\n }\n\n getLandingPageBySlug(slug: string): Observable<LandingPage> {\n return from(this.ensureConfigured().landingPages.getBySlug(slug));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Audiences Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listAudiences(params?: ListAudiencesParams): Observable<PageResult<Audience>> {\n return from(this.ensureConfigured().audiences.list(params));\n }\n\n getAudience(uniqueId: string): Observable<Audience> {\n return from(this.ensureConfigured().audiences.get(uniqueId));\n }\n\n createAudience(data: CreateAudienceRequest): Observable<Audience> {\n return from(this.ensureConfigured().audiences.create(data));\n }\n\n updateAudience(uniqueId: string, data: UpdateAudienceRequest): Observable<Audience> {\n return from(this.ensureConfigured().audiences.update(uniqueId, data));\n }\n\n deleteAudience(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().audiences.delete(uniqueId));\n }\n\n getAudienceMembers(uniqueId: string): Observable<AudienceMember[]> {\n return from(this.ensureConfigured().audiences.getMembers(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Landing Templates Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listLandingTemplates(params?: ListLandingTemplatesParams): Observable<PageResult<LandingTemplate>> {\n return from(this.ensureConfigured().landingTemplates.list(params));\n }\n\n getLandingTemplate(uniqueId: string): Observable<LandingTemplate> {\n return from(this.ensureConfigured().landingTemplates.get(uniqueId));\n }\n\n createLandingTemplate(data: CreateLandingTemplateRequest): Observable<LandingTemplate> {\n return from(this.ensureConfigured().landingTemplates.create(data));\n }\n\n updateLandingTemplate(uniqueId: string, data: UpdateLandingTemplateRequest): Observable<LandingTemplate> {\n return from(this.ensureConfigured().landingTemplates.update(uniqueId, data));\n }\n\n deleteLandingTemplate(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().landingTemplates.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Campaign Targets Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCampaignTargets(params?: ListCampaignTargetsParams): Observable<PageResult<CampaignTarget>> {\n return from(this.ensureConfigured().targets.list(params));\n }\n\n getCampaignTarget(uniqueId: string): Observable<CampaignTarget> {\n return from(this.ensureConfigured().targets.get(uniqueId));\n }\n\n createCampaignTarget(data: CreateCampaignTargetRequest): Observable<CampaignTarget> {\n return from(this.ensureConfigured().targets.create(data));\n }\n\n updateCampaignTarget(uniqueId: string, data: UpdateCampaignTargetRequest): Observable<CampaignTarget> {\n return from(this.ensureConfigured().targets.update(uniqueId, data));\n }\n\n deleteCampaignTarget(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().targets.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Campaign Results Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCampaignResultsData(params?: ListCampaignResultsParams): Observable<PageResult<CampaignResult>> {\n return from(this.ensureConfigured().results.list(params));\n }\n\n getCampaignResult(uniqueId: string): Observable<CampaignResult> {\n return from(this.ensureConfigured().results.get(uniqueId));\n }\n\n createCampaignResult(data: CreateCampaignResultRequest): Observable<CampaignResult> {\n return from(this.ensureConfigured().results.create(data));\n }\n\n updateCampaignResult(uniqueId: string, data: UpdateCampaignResultRequest): Observable<CampaignResult> {\n return from(this.ensureConfigured().results.update(uniqueId, data));\n }\n\n deleteCampaignResult(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().results.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Campaign Markets Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCampaignMarkets(params?: ListCampaignMarketsParams): Observable<PageResult<CampaignMarket>> {\n return from(this.ensureConfigured().markets.list(params));\n }\n\n getCampaignMarket(uniqueId: string): Observable<CampaignMarket> {\n return from(this.ensureConfigured().markets.get(uniqueId));\n }\n\n createCampaignMarket(data: CreateCampaignMarketRequest): Observable<CampaignMarket> {\n return from(this.ensureConfigured().markets.create(data));\n }\n\n updateCampaignMarket(uniqueId: string, data: UpdateCampaignMarketRequest): Observable<CampaignMarket> {\n return from(this.ensureConfigured().markets.update(uniqueId, data));\n }\n\n deleteCampaignMarket(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().markets.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Campaign Locations Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCampaignLocations(params?: ListCampaignLocationsParams): Observable<PageResult<CampaignLocation>> {\n return from(this.ensureConfigured().locations.list(params));\n }\n\n getCampaignLocation(uniqueId: string): Observable<CampaignLocation> {\n return from(this.ensureConfigured().locations.get(uniqueId));\n }\n\n createCampaignLocation(data: CreateCampaignLocationRequest): Observable<CampaignLocation> {\n return from(this.ensureConfigured().locations.create(data));\n }\n\n updateCampaignLocation(uniqueId: string, data: UpdateCampaignLocationRequest): Observable<CampaignLocation> {\n return from(this.ensureConfigured().locations.update(uniqueId, data));\n }\n\n deleteCampaignLocation(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().locations.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Campaign Templates Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCampaignTemplates(params?: ListCampaignTemplatesParams): Observable<PageResult<CampaignTemplate>> {\n return from(this.ensureConfigured().templates.list(params));\n }\n\n getCampaignTemplate(uniqueId: string): Observable<CampaignTemplate> {\n return from(this.ensureConfigured().templates.get(uniqueId));\n }\n\n createCampaignTemplate(data: CreateCampaignTemplateRequest): Observable<CampaignTemplate> {\n return from(this.ensureConfigured().templates.create(data));\n }\n\n updateCampaignTemplate(uniqueId: string, data: UpdateCampaignTemplateRequest): Observable<CampaignTemplate> {\n return from(this.ensureConfigured().templates.update(uniqueId, data));\n }\n\n deleteCampaignTemplate(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().templates.delete(uniqueId));\n }\n\n listTemplateDetails(params?: ListTemplateDetailsParams): Observable<PageResult<TemplateDetail>> {\n return from(this.ensureConfigured().templates.listDetails(params));\n }\n\n getTemplateDetail(uniqueId: string): Observable<TemplateDetail> {\n return from(this.ensureConfigured().templates.getDetail(uniqueId));\n }\n\n createTemplateDetail(data: CreateTemplateDetailRequest): Observable<TemplateDetail> {\n return from(this.ensureConfigured().templates.createDetail(data));\n }\n\n updateTemplateDetail(uniqueId: string, data: UpdateTemplateDetailRequest): Observable<TemplateDetail> {\n return from(this.ensureConfigured().templates.updateDetail(uniqueId, data));\n }\n\n deleteTemplateDetail(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().templates.deleteDetail(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Campaign Media Results Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCampaignMediaResultsData(params?: ListCampaignMediaResultsParams): Observable<PageResult<CampaignMediaResult>> {\n return from(this.ensureConfigured().mediaResults.list(params));\n }\n\n getCampaignMediaResultData(uniqueId: string): Observable<CampaignMediaResult> {\n return from(this.ensureConfigured().mediaResults.get(uniqueId));\n }\n\n createCampaignMediaResultData(data: CreateCampaignMediaResultRequest): Observable<CampaignMediaResult> {\n return from(this.ensureConfigured().mediaResults.create(data));\n }\n\n updateCampaignMediaResultData(uniqueId: string, data: UpdateCampaignMediaResultRequest): Observable<CampaignMediaResult> {\n return from(this.ensureConfigured().mediaResults.update(uniqueId, data));\n }\n\n deleteCampaignMediaResultData(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().mediaResults.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Media Service (Medium entities - TV, Radio, Digital channels)\n // ─────────────────────────────────────────────────────────────────────────────\n\n listMedia(params?: ListMediaParams): Observable<PageResult<Media>> {\n return from(this.ensureConfigured().media.list(params));\n }\n\n getMedia(uniqueId: string): Observable<Media> {\n return from(this.ensureConfigured().media.get(uniqueId));\n }\n\n createMedia(data: CreateMediaRequest): Observable<Media> {\n return from(this.ensureConfigured().media.create(data));\n }\n\n updateMedia(uniqueId: string, data: UpdateMediaRequest): Observable<Media> {\n return from(this.ensureConfigured().media.update(uniqueId, data));\n }\n\n deleteMedia(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().media.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get campaignsBlock(): CampaignsBlock {\n return this.ensureConfigured();\n }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createCompanyBlock,\n type CompanyBlock,\n type CompanyBlockConfig,\n type Company,\n type CreateCompanyRequest,\n type UpdateCompanyRequest,\n type ListCompaniesParams,\n type Department,\n type DepartmentHierarchy,\n type CreateDepartmentRequest,\n type UpdateDepartmentRequest,\n type ListDepartmentsParams,\n type Team,\n type CreateTeamRequest,\n type UpdateTeamRequest,\n type ListTeamsParams,\n type TeamMember,\n type AddTeamMemberRequest,\n type UpdateTeamMemberRequest,\n type ListTeamMembersParams,\n type Quarter,\n type CreateQuarterRequest,\n type UpdateQuarterRequest,\n type ListQuartersParams,\n type Position,\n type CreatePositionRequest,\n type UpdatePositionRequest,\n type ListPositionsParams,\n type EmployeeAssignment,\n type CreateEmployeeAssignmentRequest,\n type UpdateEmployeeAssignmentRequest,\n type ListEmployeeAssignmentsParams,\n} from '@23blocks/block-company';\nimport { TRANSPORT, COMPANY_TRANSPORT, COMPANY_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Company block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class CompanyComponent {\n * constructor(private company: CompanyService) {}\n *\n * createCompany(name: string) {\n * this.company.createCompany({ name, code: 'COMP001' }).subscribe({\n * next: (company) => console.log('Company created:', company),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class CompanyService {\n private readonly block: CompanyBlock | null;\n\n constructor(\n @Optional() @Inject(COMPANY_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(COMPANY_CONFIG) config: CompanyBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createCompanyBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): CompanyBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] CompanyService is not configured. ' +\n \"Add 'urls.company' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Companies Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCompanies(params?: ListCompaniesParams): Observable<PageResult<Company>> {\n return from(this.ensureConfigured().companies.list(params));\n }\n\n getCompany(uniqueId: string): Observable<Company> {\n return from(this.ensureConfigured().companies.get(uniqueId));\n }\n\n createCompany(request: CreateCompanyRequest): Observable<Company> {\n return from(this.ensureConfigured().companies.create(request));\n }\n\n updateCompany(uniqueId: string, request: UpdateCompanyRequest): Observable<Company> {\n return from(this.ensureConfigured().companies.update(uniqueId, request));\n }\n\n deleteCompany(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().companies.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Departments Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listDepartments(params?: ListDepartmentsParams): Observable<PageResult<Department>> {\n return from(this.ensureConfigured().departments.list(params));\n }\n\n getDepartment(uniqueId: string): Observable<Department> {\n return from(this.ensureConfigured().departments.get(uniqueId));\n }\n\n createDepartment(request: CreateDepartmentRequest): Observable<Department> {\n return from(this.ensureConfigured().departments.create(request));\n }\n\n updateDepartment(uniqueId: string, request: UpdateDepartmentRequest): Observable<Department> {\n return from(this.ensureConfigured().departments.update(uniqueId, request));\n }\n\n deleteDepartment(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().departments.delete(uniqueId));\n }\n\n listDepartmentsByCompany(companyUniqueId: string): Observable<Department[]> {\n return from(this.ensureConfigured().departments.listByCompany(companyUniqueId));\n }\n\n getDepartmentHierarchy(companyUniqueId: string): Observable<DepartmentHierarchy[]> {\n return from(this.ensureConfigured().departments.getHierarchy(companyUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Teams Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listTeams(params?: ListTeamsParams): Observable<PageResult<Team>> {\n return from(this.ensureConfigured().teams.list(params));\n }\n\n getTeam(uniqueId: string): Observable<Team> {\n return from(this.ensureConfigured().teams.get(uniqueId));\n }\n\n createTeam(request: CreateTeamRequest): Observable<Team> {\n return from(this.ensureConfigured().teams.create(request));\n }\n\n updateTeam(uniqueId: string, request: UpdateTeamRequest): Observable<Team> {\n return from(this.ensureConfigured().teams.update(uniqueId, request));\n }\n\n deleteTeam(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().teams.delete(uniqueId));\n }\n\n listTeamsByDepartment(departmentUniqueId: string): Observable<Team[]> {\n return from(this.ensureConfigured().teams.listByDepartment(departmentUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Team Members Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listTeamMembers(params?: ListTeamMembersParams): Observable<PageResult<TeamMember>> {\n return from(this.ensureConfigured().teamMembers.list(params));\n }\n\n getTeamMember(uniqueId: string): Observable<TeamMember> {\n return from(this.ensureConfigured().teamMembers.get(uniqueId));\n }\n\n addTeamMember(request: AddTeamMemberRequest): Observable<TeamMember> {\n return from(this.ensureConfigured().teamMembers.add(request));\n }\n\n updateTeamMember(uniqueId: string, request: UpdateTeamMemberRequest): Observable<TeamMember> {\n return from(this.ensureConfigured().teamMembers.update(uniqueId, request));\n }\n\n removeTeamMember(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().teamMembers.remove(uniqueId));\n }\n\n listTeamMembersByTeam(teamUniqueId: string): Observable<TeamMember[]> {\n return from(this.ensureConfigured().teamMembers.listByTeam(teamUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Quarters Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listQuarters(params?: ListQuartersParams): Observable<PageResult<Quarter>> {\n return from(this.ensureConfigured().quarters.list(params));\n }\n\n getQuarter(uniqueId: string): Observable<Quarter> {\n return from(this.ensureConfigured().quarters.get(uniqueId));\n }\n\n createQuarter(request: CreateQuarterRequest): Observable<Quarter> {\n return from(this.ensureConfigured().quarters.create(request));\n }\n\n updateQuarter(uniqueId: string, request: UpdateQuarterRequest): Observable<Quarter> {\n return from(this.ensureConfigured().quarters.update(uniqueId, request));\n }\n\n deleteQuarter(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().quarters.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Positions Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List positions with optional filtering and pagination\n */\n listPositions(params?: ListPositionsParams): Observable<PageResult<Position>> {\n return from(this.ensureConfigured().positions.list(params));\n }\n\n /**\n * Get a position by unique ID\n */\n getPosition(uniqueId: string): Observable<Position> {\n return from(this.ensureConfigured().positions.get(uniqueId));\n }\n\n /**\n * Create a new position\n */\n createPosition(request: CreatePositionRequest): Observable<Position> {\n return from(this.ensureConfigured().positions.create(request));\n }\n\n /**\n * Update an existing position\n */\n updatePosition(uniqueId: string, request: UpdatePositionRequest): Observable<Position> {\n return from(this.ensureConfigured().positions.update(uniqueId, request));\n }\n\n /**\n * Delete a position\n */\n deletePosition(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().positions.delete(uniqueId));\n }\n\n /**\n * List positions by department\n */\n listPositionsByDepartment(departmentUniqueId: string): Observable<Position[]> {\n return from(this.ensureConfigured().positions.listByDepartment(departmentUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Employee Assignments Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List employee assignments with optional filtering and pagination\n */\n listEmployeeAssignments(params?: ListEmployeeAssignmentsParams): Observable<PageResult<EmployeeAssignment>> {\n return from(this.ensureConfigured().employeeAssignments.list(params));\n }\n\n /**\n * Get an employee assignment by unique ID\n */\n getEmployeeAssignment(uniqueId: string): Observable<EmployeeAssignment> {\n return from(this.ensureConfigured().employeeAssignments.get(uniqueId));\n }\n\n /**\n * Create a new employee assignment\n */\n createEmployeeAssignment(request: CreateEmployeeAssignmentRequest): Observable<EmployeeAssignment> {\n return from(this.ensureConfigured().employeeAssignments.create(request));\n }\n\n /**\n * Update an existing employee assignment\n */\n updateEmployeeAssignment(uniqueId: string, request: UpdateEmployeeAssignmentRequest): Observable<EmployeeAssignment> {\n return from(this.ensureConfigured().employeeAssignments.update(uniqueId, request));\n }\n\n /**\n * Delete an employee assignment\n */\n deleteEmployeeAssignment(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().employeeAssignments.delete(uniqueId));\n }\n\n /**\n * List employee assignments by user\n */\n listEmployeeAssignmentsByUser(userUniqueId: string): Observable<EmployeeAssignment[]> {\n return from(this.ensureConfigured().employeeAssignments.listByUser(userUniqueId));\n }\n\n /**\n * List employee assignments by position\n */\n listEmployeeAssignmentsByPosition(positionUniqueId: string): Observable<EmployeeAssignment[]> {\n return from(this.ensureConfigured().employeeAssignments.listByPosition(positionUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get companyBlock(): CompanyBlock {\n return this.ensureConfigured();\n }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createRewardsBlock,\n type RewardsBlock,\n type RewardsBlockConfig,\n type Reward,\n type RewardRedemption,\n type CreateRewardRequest,\n type UpdateRewardRequest,\n type ListRewardsParams,\n type RedeemRewardRequest,\n type Coupon,\n type CouponApplication,\n type CreateCouponRequest,\n type UpdateCouponRequest,\n type ListCouponsParams,\n type ValidateCouponRequest,\n type CouponValidationResult,\n type ApplyCouponRequest,\n type Loyalty,\n type LoyaltyTransaction,\n type AddPointsRequest,\n type RedeemPointsRequest,\n type ListTransactionsParams,\n type Badge,\n type UserBadge,\n type CreateBadgeRequest,\n type UpdateBadgeRequest,\n type ListBadgesParams,\n type AwardBadgeRequest,\n type ListUserBadgesParams,\n type CouponConfiguration,\n type CreateCouponConfigurationRequest,\n type UpdateCouponConfigurationRequest,\n type ListCouponConfigurationsParams,\n type OfferCode,\n type CreateOfferCodeRequest,\n type SendOfferCodeRequest,\n type RedeemOfferCodeRequest,\n type ExpirationRule,\n type CreateExpirationRuleRequest,\n type UpdateExpirationRuleRequest,\n type ListExpirationRulesParams,\n type RewardsCustomer,\n type CustomerRewardExpiration,\n type CustomerRewardHistory,\n type ListRewardsCustomersParams,\n // Loyalty rules types\n type BadgeCategory,\n type CreateBadgeCategoryRequest,\n type MoneyRule,\n type CreateMoneyRuleRequest,\n type UpdateMoneyRuleRequest,\n type ProductRule,\n type CreateProductRuleRequest,\n type UpdateProductRuleRequest,\n type EventRule,\n type CreateEventRuleRequest,\n type UpdateEventRuleRequest,\n} from '@23blocks/block-rewards';\nimport { TRANSPORT, REWARDS_TRANSPORT, REWARDS_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Rewards block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class RewardsComponent {\n * constructor(private rewards: RewardsService) {}\n *\n * listRewards() {\n * this.rewards.listRewards({ status: 'active' }).subscribe({\n * next: (result) => console.log('Rewards:', result.data),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class RewardsService {\n private readonly block: RewardsBlock | null;\n\n constructor(\n @Optional() @Inject(REWARDS_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(REWARDS_CONFIG) config: RewardsBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createRewardsBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): RewardsBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] RewardsService is not configured. ' +\n \"Add 'urls.rewards' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Rewards Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listRewards(params?: ListRewardsParams): Observable<PageResult<Reward>> {\n return from(this.ensureConfigured().rewards.list(params));\n }\n\n getReward(uniqueId: string): Observable<Reward> {\n return from(this.ensureConfigured().rewards.get(uniqueId));\n }\n\n createReward(data: CreateRewardRequest): Observable<Reward> {\n return from(this.ensureConfigured().rewards.create(data));\n }\n\n updateReward(uniqueId: string, data: UpdateRewardRequest): Observable<Reward> {\n return from(this.ensureConfigured().rewards.update(uniqueId, data));\n }\n\n deleteReward(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().rewards.delete(uniqueId));\n }\n\n redeemReward(data: RedeemRewardRequest): Observable<RewardRedemption> {\n return from(this.ensureConfigured().rewards.redeem(data));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Coupons Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCoupons(params?: ListCouponsParams): Observable<PageResult<Coupon>> {\n return from(this.ensureConfigured().coupons.list(params));\n }\n\n getCoupon(uniqueId: string): Observable<Coupon> {\n return from(this.ensureConfigured().coupons.get(uniqueId));\n }\n\n getCouponByCode(code: string): Observable<Coupon> {\n return from(this.ensureConfigured().coupons.getByCode(code));\n }\n\n createCoupon(data: CreateCouponRequest): Observable<Coupon> {\n return from(this.ensureConfigured().coupons.create(data));\n }\n\n updateCoupon(uniqueId: string, data: UpdateCouponRequest): Observable<Coupon> {\n return from(this.ensureConfigured().coupons.update(uniqueId, data));\n }\n\n deleteCoupon(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().coupons.delete(uniqueId));\n }\n\n validateCoupon(data: ValidateCouponRequest): Observable<CouponValidationResult> {\n return from(this.ensureConfigured().coupons.validate(data));\n }\n\n applyCoupon(data: ApplyCouponRequest): Observable<CouponApplication> {\n return from(this.ensureConfigured().coupons.apply(data));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Loyalty Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n getLoyalty(uniqueId: string): Observable<Loyalty> {\n return from(this.ensureConfigured().loyalty.get(uniqueId));\n }\n\n getLoyaltyByUser(userUniqueId: string): Observable<Loyalty> {\n return from(this.ensureConfigured().loyalty.getByUser(userUniqueId));\n }\n\n addPoints(data: AddPointsRequest): Observable<LoyaltyTransaction> {\n return from(this.ensureConfigured().loyalty.addPoints(data));\n }\n\n redeemPoints(data: RedeemPointsRequest): Observable<LoyaltyTransaction> {\n return from(this.ensureConfigured().loyalty.redeemPoints(data));\n }\n\n getLoyaltyHistory(userUniqueId: string, params?: ListTransactionsParams): Observable<PageResult<LoyaltyTransaction>> {\n return from(this.ensureConfigured().loyalty.getHistory(userUniqueId, params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Badges Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listBadges(params?: ListBadgesParams): Observable<PageResult<Badge>> {\n return from(this.ensureConfigured().badges.list(params));\n }\n\n getBadge(uniqueId: string): Observable<Badge> {\n return from(this.ensureConfigured().badges.get(uniqueId));\n }\n\n createBadge(data: CreateBadgeRequest): Observable<Badge> {\n return from(this.ensureConfigured().badges.create(data));\n }\n\n updateBadge(uniqueId: string, data: UpdateBadgeRequest): Observable<Badge> {\n return from(this.ensureConfigured().badges.update(uniqueId, data));\n }\n\n deleteBadge(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().badges.delete(uniqueId));\n }\n\n awardBadge(data: AwardBadgeRequest): Observable<UserBadge> {\n return from(this.ensureConfigured().badges.award(data));\n }\n\n listUserBadges(userUniqueId: string, params?: ListUserBadgesParams): Observable<PageResult<UserBadge>> {\n return from(this.ensureConfigured().badges.listByUser(userUniqueId, params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Coupon Configurations Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCouponConfigurations(params?: ListCouponConfigurationsParams): Observable<PageResult<CouponConfiguration>> {\n return from(this.ensureConfigured().couponConfigurations.list(params));\n }\n\n getCouponConfiguration(uniqueId: string): Observable<CouponConfiguration> {\n return from(this.ensureConfigured().couponConfigurations.get(uniqueId));\n }\n\n createCouponConfiguration(data: CreateCouponConfigurationRequest): Observable<CouponConfiguration> {\n return from(this.ensureConfigured().couponConfigurations.create(data));\n }\n\n updateCouponConfiguration(data: UpdateCouponConfigurationRequest): Observable<CouponConfiguration> {\n return from(this.ensureConfigured().couponConfigurations.update(data));\n }\n\n deleteCouponConfiguration(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().couponConfigurations.delete(uniqueId));\n }\n\n listConfigurationCoupons(uniqueId: string): Observable<Coupon[]> {\n return from(this.ensureConfigured().couponConfigurations.listCoupons(uniqueId));\n }\n\n generateOneCoupon(uniqueId: string): Observable<Coupon> {\n return from(this.ensureConfigured().couponConfigurations.generateOne(uniqueId));\n }\n\n generateBatchCoupons(uniqueId: string, count: number): Observable<Coupon[]> {\n return from(this.ensureConfigured().couponConfigurations.generateBatch(uniqueId, count));\n }\n\n voidBatchCoupons(uniqueId: string, batchId: string): Observable<void> {\n return from(this.ensureConfigured().couponConfigurations.voidBatch(uniqueId, batchId));\n }\n\n loadCoupons(uniqueId: string, codes: string[]): Observable<Coupon[]> {\n return from(this.ensureConfigured().couponConfigurations.loadCoupons(uniqueId, codes));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Offer Codes Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n getOfferCode(code: string): Observable<OfferCode> {\n return from(this.ensureConfigured().offerCodes.get(code));\n }\n\n createOfferCode(data: CreateOfferCodeRequest): Observable<OfferCode> {\n return from(this.ensureConfigured().offerCodes.create(data));\n }\n\n sendOfferCode(data: SendOfferCodeRequest): Observable<OfferCode> {\n return from(this.ensureConfigured().offerCodes.send(data));\n }\n\n redeemOfferCode(data: RedeemOfferCodeRequest): Observable<OfferCode> {\n return from(this.ensureConfigured().offerCodes.redeem(data));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Expiration Rules Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listExpirationRules(params?: ListExpirationRulesParams): Observable<PageResult<ExpirationRule>> {\n return from(this.ensureConfigured().expirationRules.list(params));\n }\n\n getExpirationRule(uniqueId: string): Observable<ExpirationRule> {\n return from(this.ensureConfigured().expirationRules.get(uniqueId));\n }\n\n createExpirationRule(data: CreateExpirationRuleRequest): Observable<ExpirationRule> {\n return from(this.ensureConfigured().expirationRules.create(data));\n }\n\n updateExpirationRule(uniqueId: string, data: UpdateExpirationRuleRequest): Observable<ExpirationRule> {\n return from(this.ensureConfigured().expirationRules.update(uniqueId, data));\n }\n\n deleteExpirationRule(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().expirationRules.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Rewards Customers Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listRewardsCustomers(params?: ListRewardsCustomersParams): Observable<PageResult<RewardsCustomer>> {\n return from(this.ensureConfigured().customers.list(params));\n }\n\n getRewardsCustomer(uniqueId: string): Observable<RewardsCustomer> {\n return from(this.ensureConfigured().customers.get(uniqueId));\n }\n\n getCustomerLoyaltyTier(uniqueId: string): Observable<Loyalty> {\n return from(this.ensureConfigured().customers.getLoyaltyTier(uniqueId));\n }\n\n getCustomerRewards(uniqueId: string): Observable<unknown> {\n return from(this.ensureConfigured().customers.getRewards(uniqueId));\n }\n\n getCustomerRewardExpirations(uniqueId: string): Observable<CustomerRewardExpiration[]> {\n return from(this.ensureConfigured().customers.getRewardExpirations(uniqueId));\n }\n\n getCustomerRewardHistory(uniqueId: string): Observable<CustomerRewardHistory[]> {\n return from(this.ensureConfigured().customers.getRewardHistory(uniqueId));\n }\n\n getCustomerBadges(uniqueId: string): Observable<Badge[]> {\n return from(this.ensureConfigured().customers.getBadges(uniqueId));\n }\n\n getCustomerCoupons(uniqueId: string): Observable<Coupon[]> {\n return from(this.ensureConfigured().customers.getCoupons(uniqueId));\n }\n\n getCustomerOfferCodes(uniqueId: string): Observable<OfferCode[]> {\n return from(this.ensureConfigured().customers.getOfferCodes(uniqueId));\n }\n\n grantCustomerReward(uniqueId: string, points: number, reason?: string): Observable<RewardsCustomer> {\n return from(this.ensureConfigured().customers.grantReward(uniqueId, points, reason));\n }\n\n updateCustomerExpiration(uniqueId: string, expirationDate: Date): Observable<RewardsCustomer> {\n return from(this.ensureConfigured().customers.updateExpiration(uniqueId, expirationDate));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Badge Categories Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List badge categories with optional pagination\n */\n listBadgeCategories(page?: number, perPage?: number): Observable<PageResult<BadgeCategory>> {\n return from(this.ensureConfigured().badgeCategories.list(page, perPage));\n }\n\n /**\n * Get a badge category by unique ID\n */\n getBadgeCategory(uniqueId: string): Observable<BadgeCategory> {\n return from(this.ensureConfigured().badgeCategories.get(uniqueId));\n }\n\n /**\n * Create a new badge category\n */\n createBadgeCategory(data: CreateBadgeCategoryRequest): Observable<BadgeCategory> {\n return from(this.ensureConfigured().badgeCategories.create(data));\n }\n\n /**\n * Update a badge category\n */\n updateBadgeCategory(uniqueId: string, data: Partial<CreateBadgeCategoryRequest>): Observable<BadgeCategory> {\n return from(this.ensureConfigured().badgeCategories.update(uniqueId, data));\n }\n\n /**\n * Delete a badge category\n */\n deleteBadgeCategory(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().badgeCategories.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Money Rules Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List money rules for a loyalty program\n */\n listMoneyRules(loyaltyUniqueId: string): Observable<MoneyRule[]> {\n return from(this.ensureConfigured().moneyRules.list(loyaltyUniqueId));\n }\n\n /**\n * Get a money rule by unique ID\n */\n getMoneyRule(loyaltyUniqueId: string, ruleUniqueId: string): Observable<MoneyRule> {\n return from(this.ensureConfigured().moneyRules.get(loyaltyUniqueId, ruleUniqueId));\n }\n\n /**\n * Create a new money rule\n */\n createMoneyRule(loyaltyUniqueId: string, data: CreateMoneyRuleRequest): Observable<MoneyRule> {\n return from(this.ensureConfigured().moneyRules.create(loyaltyUniqueId, data));\n }\n\n /**\n * Update a money rule\n */\n updateMoneyRule(loyaltyUniqueId: string, ruleUniqueId: string, data: UpdateMoneyRuleRequest): Observable<MoneyRule> {\n return from(this.ensureConfigured().moneyRules.update(loyaltyUniqueId, ruleUniqueId, data));\n }\n\n /**\n * Delete a money rule\n */\n deleteMoneyRule(loyaltyUniqueId: string, ruleUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().moneyRules.delete(loyaltyUniqueId, ruleUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Product Rules Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List product rules for a loyalty program\n */\n listProductRules(loyaltyUniqueId: string): Observable<ProductRule[]> {\n return from(this.ensureConfigured().productRules.list(loyaltyUniqueId));\n }\n\n /**\n * Get a product rule by unique ID\n */\n getProductRule(loyaltyUniqueId: string, ruleUniqueId: string): Observable<ProductRule> {\n return from(this.ensureConfigured().productRules.get(loyaltyUniqueId, ruleUniqueId));\n }\n\n /**\n * Create a new product rule\n */\n createProductRule(loyaltyUniqueId: string, data: CreateProductRuleRequest): Observable<ProductRule> {\n return from(this.ensureConfigured().productRules.create(loyaltyUniqueId, data));\n }\n\n /**\n * Update a product rule\n */\n updateProductRule(loyaltyUniqueId: string, ruleUniqueId: string, data: UpdateProductRuleRequest): Observable<ProductRule> {\n return from(this.ensureConfigured().productRules.update(loyaltyUniqueId, ruleUniqueId, data));\n }\n\n /**\n * Delete a product rule\n */\n deleteProductRule(loyaltyUniqueId: string, ruleUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().productRules.delete(loyaltyUniqueId, ruleUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Event Rules Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * List event rules for a loyalty program\n */\n listEventRules(loyaltyUniqueId: string): Observable<EventRule[]> {\n return from(this.ensureConfigured().eventRules.list(loyaltyUniqueId));\n }\n\n /**\n * Get an event rule by unique ID\n */\n getEventRule(loyaltyUniqueId: string, ruleUniqueId: string): Observable<EventRule> {\n return from(this.ensureConfigured().eventRules.get(loyaltyUniqueId, ruleUniqueId));\n }\n\n /**\n * Create a new event rule\n */\n createEventRule(loyaltyUniqueId: string, data: CreateEventRuleRequest): Observable<EventRule> {\n return from(this.ensureConfigured().eventRules.create(loyaltyUniqueId, data));\n }\n\n /**\n * Update an event rule\n */\n updateEventRule(loyaltyUniqueId: string, ruleUniqueId: string, data: UpdateEventRuleRequest): Observable<EventRule> {\n return from(this.ensureConfigured().eventRules.update(loyaltyUniqueId, ruleUniqueId, data));\n }\n\n /**\n * Delete an event rule\n */\n deleteEventRule(loyaltyUniqueId: string, ruleUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().eventRules.delete(loyaltyUniqueId, ruleUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get rewardsBlock(): RewardsBlock {\n return this.ensureConfigured();\n }\n}\n","// @ts-nocheck\nimport { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createSalesBlock,\n type SalesBlock,\n type SalesBlockConfig,\n type Order,\n type OrderStatus,\n type CreateOrderRequest,\n type UpdateOrderRequest,\n type ListOrdersParams,\n type OrderDetail,\n type UpdateOrderDetailRequest,\n type Payment,\n type PaymentStatus,\n type CreatePaymentRequest,\n type ListPaymentsParams,\n type Subscription,\n type SubscriptionInterval,\n type SubscriptionStatus,\n type CreateSubscriptionRequest,\n type UpdateSubscriptionRequest,\n type ListSubscriptionsParams,\n type OrderTax,\n type CreateOrderTaxRequest,\n type UpdateOrderTaxRequest,\n type SubscriptionModel,\n type CreateSubscriptionModelRequest,\n type UpdateSubscriptionModelRequest,\n type ListSubscriptionModelsParams,\n type SalesEntity,\n type RegisterSalesEntityRequest,\n type UpdateSalesEntityRequest,\n type ListSalesEntitiesParams,\n type EntitySubscription,\n type CreateEntitySubscriptionRequest,\n type UpdateEntitySubscriptionRequest,\n type SalesUser,\n type RegisterSalesUserRequest,\n type UpdateSalesUserRequest,\n type ListSalesUsersParams,\n type UserSubscription,\n type CreateUserSubscriptionRequest,\n type UpdateUserSubscriptionRequest,\n type SalesCustomer,\n type CreateSalesCustomerRequest,\n type UpdateSalesCustomerRequest,\n type ListSalesCustomersParams,\n type FlexibleOrder,\n type CreateFlexibleOrderRequest,\n type UpdateFlexibleOrderRequest,\n type ListFlexibleOrdersParams,\n type VendorPayment,\n type CreateVendorPaymentRequest,\n type UpdateVendorPaymentRequest,\n type ListVendorPaymentsParams,\n // Stripe types\n type StripeCustomer,\n type CreateStripeCustomerRequest,\n type CreateStripeCustomerResponse,\n type StripeCheckoutSession,\n type CreateStripeCheckoutSessionRequest,\n type StripePaymentIntent,\n type CreateStripePaymentIntentRequest,\n type StripeSubscription,\n type CreateStripeSubscriptionRequest,\n type UpdateStripeSubscriptionRequest,\n type StripeCustomerPortalSession,\n type CreateStripeCustomerPortalRequest,\n type StripeWebhook,\n type CreateStripeWebhookRequest,\n type ListStripeSubscriptionsParams,\n // MercadoPago types\n type MercadoPagoPaymentMethod,\n type MercadoPagoPaymentIntent,\n type CreateMercadoPagoPaymentRequest,\n type CreateMercadoPagoPSERequest,\n} from '@23blocks/block-sales';\nimport { TRANSPORT, SALES_TRANSPORT, SALES_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Sales block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class CheckoutComponent {\n * constructor(private sales: SalesService) {}\n *\n * createOrder(items: any[]) {\n * this.sales.createOrder({ userUniqueId: '123', items }).subscribe({\n * next: (order) => console.log('Order created:', order),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class SalesService {\n private readonly block: SalesBlock | null;\n\n constructor(\n @Optional() @Inject(SALES_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(SALES_CONFIG) config: SalesBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createSalesBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): SalesBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] SalesService is not configured. ' +\n \"Add 'urls.sales' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Orders Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listOrders(params?: ListOrdersParams): Observable<PageResult<Order>> {\n return from(this.ensureConfigured().orders.list(params));\n }\n\n getOrder(uniqueId: string): Observable<Order> {\n return from(this.ensureConfigured().orders.get(uniqueId));\n }\n\n createOrder(data: CreateOrderRequest): Observable<Order> {\n return from(this.ensureConfigured().orders.create(data));\n }\n\n updateOrder(uniqueId: string, data: UpdateOrderRequest): Observable<Order> {\n return from(this.ensureConfigured().orders.update(uniqueId, data));\n }\n\n cancelOrder(uniqueId: string): Observable<Order> {\n return from(this.ensureConfigured().orders.cancel(uniqueId));\n }\n\n confirmOrder(uniqueId: string): Observable<Order> {\n return from(this.ensureConfigured().orders.confirm(uniqueId));\n }\n\n shipOrder(uniqueId: string, trackingNumber?: string): Observable<Order> {\n return from(this.ensureConfigured().orders.ship(uniqueId, trackingNumber));\n }\n\n deliverOrder(uniqueId: string): Observable<Order> {\n return from(this.ensureConfigured().orders.deliver(uniqueId));\n }\n\n listOrdersByUser(userUniqueId: string, params?: ListOrdersParams): Observable<PageResult<Order>> {\n return from(this.ensureConfigured().orders.listByUser(userUniqueId, params));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Order Details Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listOrderDetails(): Observable<OrderDetail[]> {\n return from(this.ensureConfigured().orderDetails.list());\n }\n\n getOrderDetail(uniqueId: string): Observable<OrderDetail> {\n return from(this.ensureConfigured().orderDetails.get(uniqueId));\n }\n\n updateOrderDetail(uniqueId: string, data: UpdateOrderDetailRequest): Observable<OrderDetail> {\n return from(this.ensureConfigured().orderDetails.update(uniqueId, data));\n }\n\n listOrderDetailsByOrder(orderUniqueId: string): Observable<OrderDetail[]> {\n return from(this.ensureConfigured().orderDetails.listByOrder(orderUniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Payments Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listPayments(params?: ListPaymentsParams): Observable<PageResult<Payment>> {\n return from(this.ensureConfigured().payments.list(params));\n }\n\n getPayment(uniqueId: string): Observable<Payment> {\n return from(this.ensureConfigured().payments.get(uniqueId));\n }\n\n createPayment(data: CreatePaymentRequest): Observable<Payment> {\n return from(this.ensureConfigured().payments.create(data));\n }\n\n refundPayment(uniqueId: string, amount?: number): Observable<Payment> {\n return from(this.ensureConfigured().payments.refund(uniqueId, amount));\n }\n\n listPaymentsByOrder(orderUniqueId: string): Observable<Payment[]> {\n return from(this.ensureConfigured().payments.listByOrder(orderUniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Subscriptions Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listSubscriptions(params?: ListSubscriptionsParams): Observable<PageResult<Subscription>> {\n return from(this.ensureConfigured().subscriptions.list(params));\n }\n\n getSubscription(uniqueId: string): Observable<Subscription> {\n return from(this.ensureConfigured().subscriptions.get(uniqueId));\n }\n\n createSubscription(data: CreateSubscriptionRequest): Observable<Subscription> {\n return from(this.ensureConfigured().subscriptions.create(data));\n }\n\n updateSubscription(uniqueId: string, data: UpdateSubscriptionRequest): Observable<Subscription> {\n return from(this.ensureConfigured().subscriptions.update(uniqueId, data));\n }\n\n cancelSubscription(uniqueId: string): Observable<Subscription> {\n return from(this.ensureConfigured().subscriptions.cancel(uniqueId));\n }\n\n pauseSubscription(uniqueId: string): Observable<Subscription> {\n return from(this.ensureConfigured().subscriptions.pause(uniqueId));\n }\n\n resumeSubscription(uniqueId: string): Observable<Subscription> {\n return from(this.ensureConfigured().subscriptions.resume(uniqueId));\n }\n\n listSubscriptionsByUser(userUniqueId: string, params?: ListSubscriptionsParams): Observable<PageResult<Subscription>> {\n return from(this.ensureConfigured().subscriptions.listByUser(userUniqueId, params));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Order Taxes Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listOrderTaxes(orderUniqueId: string): Observable<OrderTax[]> {\n return from(this.ensureConfigured().orderTaxes.list(orderUniqueId));\n }\n\n getOrderTax(orderUniqueId: string, uniqueId: string): Observable<OrderTax> {\n return from(this.ensureConfigured().orderTaxes.get(orderUniqueId, uniqueId));\n }\n\n createOrderTax(orderUniqueId: string, data: CreateOrderTaxRequest): Observable<OrderTax> {\n return from(this.ensureConfigured().orderTaxes.create(orderUniqueId, data));\n }\n\n updateOrderTax(orderUniqueId: string, uniqueId: string, data: UpdateOrderTaxRequest): Observable<OrderTax> {\n return from(this.ensureConfigured().orderTaxes.update(orderUniqueId, uniqueId, data));\n }\n\n deleteOrderTax(orderUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().orderTaxes.delete(orderUniqueId, uniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Subscription Models Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listSubscriptionModels(params?: ListSubscriptionModelsParams): Observable<PageResult<SubscriptionModel>> {\n return from(this.ensureConfigured().subscriptionModels.list(params));\n }\n\n getSubscriptionModel(uniqueId: string): Observable<SubscriptionModel> {\n return from(this.ensureConfigured().subscriptionModels.get(uniqueId));\n }\n\n createSubscriptionModel(data: CreateSubscriptionModelRequest): Observable<SubscriptionModel> {\n return from(this.ensureConfigured().subscriptionModels.create(data));\n }\n\n updateSubscriptionModel(uniqueId: string, data: UpdateSubscriptionModelRequest): Observable<SubscriptionModel> {\n return from(this.ensureConfigured().subscriptionModels.update(uniqueId, data));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Entities Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listSalesEntities(params?: ListSalesEntitiesParams): Observable<PageResult<SalesEntity>> {\n return from(this.ensureConfigured().entities.list(params));\n }\n\n getSalesEntity(uniqueId: string): Observable<SalesEntity> {\n return from(this.ensureConfigured().entities.get(uniqueId));\n }\n\n registerSalesEntity(uniqueId: string, data?: RegisterSalesEntityRequest): Observable<SalesEntity> {\n return from(this.ensureConfigured().entities.register(uniqueId, data));\n }\n\n updateSalesEntity(uniqueId: string, data: UpdateSalesEntityRequest): Observable<SalesEntity> {\n return from(this.ensureConfigured().entities.update(uniqueId, data));\n }\n\n createEntitySubscription(uniqueId: string, data: CreateEntitySubscriptionRequest): Observable<EntitySubscription> {\n return from(this.ensureConfigured().entities.createSubscription(uniqueId, data));\n }\n\n updateEntitySubscription(uniqueId: string, subscriptionUniqueId: string, data: UpdateEntitySubscriptionRequest): Observable<EntitySubscription> {\n return from(this.ensureConfigured().entities.updateSubscription(uniqueId, subscriptionUniqueId, data));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Users Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listSalesUsers(params?: ListSalesUsersParams): Observable<PageResult<SalesUser>> {\n return from(this.ensureConfigured().users.list(params));\n }\n\n getSalesUser(uniqueId: string): Observable<SalesUser> {\n return from(this.ensureConfigured().users.get(uniqueId));\n }\n\n registerSalesUser(uniqueId: string, data?: RegisterSalesUserRequest): Observable<SalesUser> {\n return from(this.ensureConfigured().users.register(uniqueId, data));\n }\n\n updateSalesUser(uniqueId: string, data: UpdateSalesUserRequest): Observable<SalesUser> {\n return from(this.ensureConfigured().users.update(uniqueId, data));\n }\n\n createSalesUserSubscription(uniqueId: string, data: CreateUserSubscriptionRequest): Observable<UserSubscription> {\n return from(this.ensureConfigured().users.createSubscription(uniqueId, data));\n }\n\n updateSalesUserSubscription(uniqueId: string, subscriptionUniqueId: string, data: UpdateUserSubscriptionRequest): Observable<UserSubscription> {\n return from(this.ensureConfigured().users.updateSubscription(uniqueId, subscriptionUniqueId, data));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Customers Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listSalesCustomers(params?: ListSalesCustomersParams): Observable<PageResult<SalesCustomer>> {\n return from(this.ensureConfigured().customers.list(params));\n }\n\n getSalesCustomer(uniqueId: string): Observable<SalesCustomer> {\n return from(this.ensureConfigured().customers.get(uniqueId));\n }\n\n createSalesCustomer(data: CreateSalesCustomerRequest): Observable<SalesCustomer> {\n return from(this.ensureConfigured().customers.create(data));\n }\n\n updateSalesCustomer(uniqueId: string, data: UpdateSalesCustomerRequest): Observable<SalesCustomer> {\n return from(this.ensureConfigured().customers.update(uniqueId, data));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Flexible Orders Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listFlexibleOrders(params?: ListFlexibleOrdersParams): Observable<PageResult<FlexibleOrder>> {\n return from(this.ensureConfigured().flexibleOrders.list(params));\n }\n\n getFlexibleOrder(uniqueId: string): Observable<FlexibleOrder> {\n return from(this.ensureConfigured().flexibleOrders.get(uniqueId));\n }\n\n createFlexibleOrder(data: CreateFlexibleOrderRequest): Observable<FlexibleOrder> {\n return from(this.ensureConfigured().flexibleOrders.create(data));\n }\n\n updateFlexibleOrder(uniqueId: string, data: UpdateFlexibleOrderRequest): Observable<FlexibleOrder> {\n return from(this.ensureConfigured().flexibleOrders.update(uniqueId, data));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Vendor Payments Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listVendorPayments(params?: ListVendorPaymentsParams): Observable<PageResult<VendorPayment>> {\n return from(this.ensureConfigured().vendorPayments.list(params));\n }\n\n getVendorPayment(uniqueId: string): Observable<VendorPayment> {\n return from(this.ensureConfigured().vendorPayments.get(uniqueId));\n }\n\n createVendorPayment(data: CreateVendorPaymentRequest): Observable<VendorPayment> {\n return from(this.ensureConfigured().vendorPayments.create(data));\n }\n\n updateVendorPayment(uniqueId: string, data: UpdateVendorPaymentRequest): Observable<VendorPayment> {\n return from(this.ensureConfigured().vendorPayments.update(uniqueId, data));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Stripe Service\n // ───────────────────────────────────────────────────────────────────────────\n\n /**\n * Create a Stripe customer\n */\n createStripeCustomer(data: CreateStripeCustomerRequest): Observable<CreateStripeCustomerResponse> {\n return from(this.ensureConfigured().stripe.createCustomer(data));\n }\n\n /**\n * Create a Stripe checkout session\n */\n createStripeCheckoutSession(data: CreateStripeCheckoutSessionRequest): Observable<StripeCheckoutSession> {\n return from(this.ensureConfigured().stripe.createCheckoutSession(data));\n }\n\n /**\n * Create a Stripe payment intent\n */\n createStripePaymentIntent(data: CreateStripePaymentIntentRequest): Observable<StripePaymentIntent> {\n return from(this.ensureConfigured().stripe.createPaymentIntent(data));\n }\n\n /**\n * Create a Stripe customer portal session\n */\n createStripeCustomerPortal(uniqueId: string, data: CreateStripeCustomerPortalRequest): Observable<StripeCustomerPortalSession> {\n return from(this.ensureConfigured().stripe.createCustomerPortal(uniqueId, data));\n }\n\n /**\n * List Stripe subscriptions\n */\n listStripeSubscriptions(params?: ListStripeSubscriptionsParams): Observable<PageResult<StripeSubscription>> {\n return from(this.ensureConfigured().stripe.listSubscriptions(params));\n }\n\n /**\n * Create a Stripe subscription\n */\n createStripeSubscription(data: CreateStripeSubscriptionRequest): Observable<StripeSubscription> {\n return from(this.ensureConfigured().stripe.createSubscription(data));\n }\n\n /**\n * Update a Stripe subscription\n */\n updateStripeSubscription(stripeSubscriptionId: string, data: UpdateStripeSubscriptionRequest): Observable<StripeSubscription> {\n return from(this.ensureConfigured().stripe.updateSubscription(stripeSubscriptionId, data));\n }\n\n /**\n * Cancel a Stripe subscription\n */\n cancelStripeSubscription(stripeSubscriptionId: string): Observable<void> {\n return from(this.ensureConfigured().stripe.cancelSubscription(stripeSubscriptionId));\n }\n\n /**\n * List Stripe webhooks\n */\n listStripeWebhooks(): Observable<StripeWebhook[]> {\n return from(this.ensureConfigured().stripe.listWebhooks());\n }\n\n /**\n * Create a Stripe webhook\n */\n createStripeWebhook(data: CreateStripeWebhookRequest): Observable<StripeWebhook> {\n return from(this.ensureConfigured().stripe.createWebhook(data));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // MercadoPago Service\n // ───────────────────────────────────────────────────────────────────────────\n\n /**\n * List available MercadoPago payment methods\n */\n listMercadoPagoPaymentMethods(): Observable<MercadoPagoPaymentMethod[]> {\n return from(this.ensureConfigured().mercadopago.listPaymentMethods());\n }\n\n /**\n * Create a MercadoPago payment intent\n */\n createMercadoPagoPaymentIntent(data: CreateMercadoPagoPaymentRequest): Observable<MercadoPagoPaymentIntent> {\n return from(this.ensureConfigured().mercadopago.createPaymentIntent(data));\n }\n\n /**\n * Create a MercadoPago PSE payment intent (Colombia bank transfer)\n */\n createMercadoPagoPSEIntent(data: CreateMercadoPagoPSERequest): Observable<MercadoPagoPaymentIntent> {\n return from(this.ensureConfigured().mercadopago.createPSEIntent(data));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ───────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get salesBlock(): SalesBlock {\n return this.ensureConfigured();\n }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createWalletBlock,\n type WalletBlock,\n type WalletBlockConfig,\n type Wallet,\n type CreateWalletRequest,\n type UpdateWalletRequest,\n type ListWalletsParams,\n type CreditWalletRequest,\n type DebitWalletRequest,\n type Transaction,\n type ListTransactionsParams,\n type AuthorizationCode,\n type CreateAuthorizationCodeRequest,\n type ValidateAuthorizationCodeRequest,\n type UseAuthorizationCodeRequest,\n type ListAuthorizationCodesParams,\n type TransactionWebhookRequest,\n type TransactionWebhookResponse,\n type TransferWalletRequest,\n type ValidateWalletRequest,\n type ValidateWalletResponse,\n type WalletContent,\n type StoreWalletContentRequest,\n} from '@23blocks/block-wallet';\nimport { TRANSPORT, WALLET_TRANSPORT, WALLET_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Wallet block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class WalletComponent {\n * constructor(private wallet: WalletService) {}\n *\n * createWallet(userUniqueId: string) {\n * this.wallet.createWallet({ userUniqueId }).subscribe({\n * next: (wallet) => console.log('Created:', wallet),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class WalletService {\n private readonly block: WalletBlock | null;\n\n constructor(\n @Optional() @Inject(WALLET_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(WALLET_CONFIG) config: WalletBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createWalletBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): WalletBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] WalletService is not configured. ' +\n \"Add 'urls.wallet' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Wallets Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listWallets(params?: ListWalletsParams): Observable<PageResult<Wallet>> {\n return from(this.ensureConfigured().wallets.list(params));\n }\n\n getWallet(uniqueId: string): Observable<Wallet> {\n return from(this.ensureConfigured().wallets.get(uniqueId));\n }\n\n getWalletByUser(userUniqueId: string): Observable<Wallet> {\n return from(this.ensureConfigured().wallets.getByUser(userUniqueId));\n }\n\n createWallet(data: CreateWalletRequest): Observable<Wallet> {\n return from(this.ensureConfigured().wallets.create(data));\n }\n\n updateWallet(uniqueId: string, data: UpdateWalletRequest): Observable<Wallet> {\n return from(this.ensureConfigured().wallets.update(uniqueId, data));\n }\n\n creditWallet(uniqueId: string, data: CreditWalletRequest): Observable<Transaction> {\n return from(this.ensureConfigured().wallets.credit(uniqueId, data));\n }\n\n debitWallet(uniqueId: string, data: DebitWalletRequest): Observable<Transaction> {\n return from(this.ensureConfigured().wallets.debit(uniqueId, data));\n }\n\n getWalletBalance(uniqueId: string): Observable<{ balance: number; currency: string }> {\n return from(this.ensureConfigured().wallets.getBalance(uniqueId));\n }\n\n getUserWallet(userUniqueId: string, walletCode: string): Observable<Wallet> {\n return from(this.ensureConfigured().wallets.getUserWallet(userUniqueId, walletCode));\n }\n\n validateWallet(data: ValidateWalletRequest): Observable<ValidateWalletResponse> {\n return from(this.ensureConfigured().wallets.validate(data));\n }\n\n transferWallet(userUniqueId: string, walletCode: string, data: TransferWalletRequest): Observable<Transaction> {\n return from(this.ensureConfigured().wallets.transfer(userUniqueId, walletCode, data));\n }\n\n getWalletContent(userUniqueId: string, walletCode: string): Observable<WalletContent[]> {\n return from(this.ensureConfigured().wallets.getContent(userUniqueId, walletCode));\n }\n\n storeWalletContent(userUniqueId: string, walletCode: string, data: StoreWalletContentRequest): Observable<WalletContent> {\n return from(this.ensureConfigured().wallets.storeContent(userUniqueId, walletCode, data));\n }\n\n listWalletTransactions(userUniqueId: string, walletCode: string): Observable<PageResult<Transaction>> {\n return from(this.ensureConfigured().wallets.listTransactions(userUniqueId, walletCode));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Transactions Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listTransactions(params?: ListTransactionsParams): Observable<PageResult<Transaction>> {\n return from(this.ensureConfigured().transactions.list(params));\n }\n\n getTransaction(uniqueId: string): Observable<Transaction> {\n return from(this.ensureConfigured().transactions.get(uniqueId));\n }\n\n listTransactionsByWallet(\n walletUniqueId: string,\n params?: ListTransactionsParams\n ): Observable<PageResult<Transaction>> {\n return from(this.ensureConfigured().transactions.listByWallet(walletUniqueId, params));\n }\n\n listTransactionsByReference(\n referenceType: string,\n referenceUniqueId: string,\n params?: ListTransactionsParams\n ): Observable<PageResult<Transaction>> {\n return from(this.ensureConfigured().transactions.listByReference(referenceType, referenceUniqueId, params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Authorization Codes Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listAuthorizationCodes(params?: ListAuthorizationCodesParams): Observable<PageResult<AuthorizationCode>> {\n return from(this.ensureConfigured().authorizationCodes.list(params));\n }\n\n getAuthorizationCode(uniqueId: string): Observable<AuthorizationCode> {\n return from(this.ensureConfigured().authorizationCodes.get(uniqueId));\n }\n\n createAuthorizationCode(data: CreateAuthorizationCodeRequest): Observable<AuthorizationCode> {\n return from(this.ensureConfigured().authorizationCodes.create(data));\n }\n\n validateAuthorizationCode(\n data: ValidateAuthorizationCodeRequest\n ): Observable<{ valid: boolean; authorizationCode?: AuthorizationCode }> {\n return from(this.ensureConfigured().authorizationCodes.validate(data));\n }\n\n useAuthorizationCode(data: UseAuthorizationCodeRequest): Observable<Transaction> {\n return from(this.ensureConfigured().authorizationCodes.use(data));\n }\n\n invalidateAuthorizationCode(uniqueId: string): Observable<AuthorizationCode> {\n return from(this.ensureConfigured().authorizationCodes.invalidate(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Webhooks Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Process an incoming transaction webhook from an external payment provider.\n * This endpoint is used to record transactions initiated by external systems.\n */\n processTransactionWebhook(\n companyUrlId: string,\n walletCode: string,\n data: TransactionWebhookRequest\n ): Observable<TransactionWebhookResponse> {\n return from(this.ensureConfigured().webhooks.processTransaction(companyUrlId, walletCode, data));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get walletBlock(): WalletBlock {\n return this.ensureConfigured();\n }\n}\n","// @ts-nocheck\nimport { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createJarvisBlock,\n type JarvisBlock,\n type JarvisBlockConfig,\n // Agents\n type Agent,\n type CreateAgentRequest,\n type UpdateAgentRequest,\n type ListAgentsParams,\n type ChatRequest,\n type ChatResponse,\n type CompleteRequest,\n type CompleteResponse,\n // Prompts\n type Prompt,\n type CreatePromptRequest,\n type UpdatePromptRequest,\n type ListPromptsParams,\n type ExecutePromptRequest,\n type ExecutePromptResponse,\n type TestPromptRequest,\n type TestPromptResponse,\n type RenderPromptRequest,\n type RenderPromptResponse,\n // Workflows\n type Workflow,\n type CreateWorkflowRequest,\n type UpdateWorkflowRequest,\n type ListWorkflowsParams,\n type RunWorkflowRequest,\n type RunWorkflowResponse,\n // Executions\n type Execution,\n type ListExecutionsParams,\n // Conversations\n type Conversation,\n type CreateConversationRequest,\n type SendMessageRequest,\n type SendMessageResponse,\n type ListConversationsParams,\n // AI Models\n type AIModel,\n type CreateAIModelRequest,\n type UpdateAIModelRequest,\n type ListAIModelsParams,\n // Entities\n type Entity,\n type RegisterEntityRequest,\n type UpdateEntityRequest,\n type ListEntitiesParams,\n type EntityContext,\n type CreateEntityContextRequest,\n type SendEntityMessageRequest,\n type SendEntityMessageResponse,\n type QueryEntityFileRequest,\n type QueryEntityFileResponse,\n // Clusters\n type Cluster,\n type CreateClusterRequest,\n type UpdateClusterRequest,\n type ListClustersParams,\n type ClusterContext,\n type CreateClusterContextRequest,\n type SendClusterMessageRequest,\n type SendClusterMessageResponse,\n // Users (Jarvis)\n type JarvisUser,\n type RegisterJarvisUserRequest,\n type UpdateJarvisUserRequest,\n type ListJarvisUsersParams,\n type UserContext,\n type CreateUserContextRequest,\n type SendUserMessageRequest,\n type SendUserMessageResponse,\n type CreateUserContentContextRequest,\n // Workflow Participants\n type WorkflowParticipant,\n type AddWorkflowParticipantRequest,\n type UpdateWorkflowParticipantRequest,\n type ListWorkflowParticipantsParams,\n // Workflow Steps\n type WorkflowStep,\n type AddWorkflowStepRequest,\n type UpdateWorkflowStepRequest,\n type AddStepPromptRequest,\n type AddStepAgentRequest,\n // Workflow Instances\n type WorkflowInstance,\n type WorkflowInstanceDetails,\n type StartWorkflowRequest as StartWorkflowInstanceRequest,\n type StartWorkflowResponse as StartWorkflowInstanceResponse,\n type StepWorkflowRequest,\n type LogWorkflowStepRequest,\n // Agent Runtime\n type AgentThread,\n type AgentRun,\n type AgentMessage,\n type AgentContext,\n type CreateAgentThreadRequest,\n type CreateAgentContextRequest,\n type SendAgentThreadMessageRequest,\n type SendAgentThreadMessageResponse,\n type RunAgentThreadRequest,\n type RunAgentThreadResponse,\n type AgentRunExecution,\n type ListAgentRunExecutionsParams,\n // Mail Templates\n type MailTemplate,\n type CreateMailTemplateRequest,\n type UpdateMailTemplateRequest,\n type ListMailTemplatesParams,\n type CreateMandrillTemplateRequest,\n type UpdateMandrillTemplateRequest,\n type MandrillStats,\n // Marvin Chat\n type MarvinContext,\n type MarvinChatRequest,\n type MarvinChatResponse,\n type CreateMarvinContextRequest,\n type SendMarvinMessageRequest,\n type SendMarvinMessageResponse,\n // Comments\n type PromptComment,\n type ExecutionComment,\n type CreatePromptCommentRequest,\n type UpdatePromptCommentRequest,\n type ListPromptCommentsParams,\n type CreateExecutionCommentRequest,\n type UpdateExecutionCommentRequest,\n type ListExecutionCommentsParams,\n type ReplyToCommentRequest,\n} from '@23blocks/block-jarvis';\nimport { TRANSPORT, JARVIS_TRANSPORT, JARVIS_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Jarvis block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class ChatComponent {\n * constructor(private jarvis: JarvisService) {}\n *\n * sendMessage(agentId: string, message: string) {\n * this.jarvis.chat(agentId, { message }).subscribe({\n * next: (response) => console.log('Response:', response.response),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class JarvisService {\n private readonly block: JarvisBlock | null;\n\n constructor(\n @Optional() @Inject(JARVIS_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(JARVIS_CONFIG) config: JarvisBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createJarvisBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): JarvisBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] JarvisService is not configured. ' +\n \"Add 'urls.jarvis' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Agents Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listAgents(params?: ListAgentsParams): Observable<PageResult<Agent>> {\n return from(this.ensureConfigured().agents.list(params));\n }\n\n getAgent(uniqueId: string): Observable<Agent> {\n return from(this.ensureConfigured().agents.get(uniqueId));\n }\n\n createAgent(data: CreateAgentRequest): Observable<Agent> {\n return from(this.ensureConfigured().agents.create(data));\n }\n\n updateAgent(uniqueId: string, data: UpdateAgentRequest): Observable<Agent> {\n return from(this.ensureConfigured().agents.update(uniqueId, data));\n }\n\n deleteAgent(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().agents.delete(uniqueId));\n }\n\n chat(uniqueId: string, data: ChatRequest): Observable<ChatResponse> {\n return from(this.ensureConfigured().agents.chat(uniqueId, data));\n }\n\n complete(uniqueId: string, data: CompleteRequest): Observable<CompleteResponse> {\n return from(this.ensureConfigured().agents.complete(uniqueId, data));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Prompts Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listPrompts(params?: ListPromptsParams): Observable<PageResult<Prompt>> {\n return from(this.ensureConfigured().prompts.list(params));\n }\n\n getPrompt(uniqueId: string): Observable<Prompt> {\n return from(this.ensureConfigured().prompts.get(uniqueId));\n }\n\n createPrompt(data: CreatePromptRequest): Observable<Prompt> {\n return from(this.ensureConfigured().prompts.create(data));\n }\n\n updatePrompt(uniqueId: string, data: UpdatePromptRequest): Observable<Prompt> {\n return from(this.ensureConfigured().prompts.update(uniqueId, data));\n }\n\n deletePrompt(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().prompts.delete(uniqueId));\n }\n\n executePrompt(uniqueId: string, data: ExecutePromptRequest): Observable<ExecutePromptResponse> {\n return from(this.ensureConfigured().prompts.execute(uniqueId, data));\n }\n\n testPrompt(data: TestPromptRequest): Observable<TestPromptResponse> {\n return from(this.ensureConfigured().prompts.test(data));\n }\n\n renderPrompt(uniqueId: string, data: RenderPromptRequest): Observable<RenderPromptResponse> {\n return from(this.ensureConfigured().prompts.render(uniqueId, data));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Workflows Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listWorkflows(params?: ListWorkflowsParams): Observable<PageResult<Workflow>> {\n return from(this.ensureConfigured().workflows.list(params));\n }\n\n getWorkflow(uniqueId: string): Observable<Workflow> {\n return from(this.ensureConfigured().workflows.get(uniqueId));\n }\n\n createWorkflow(data: CreateWorkflowRequest): Observable<Workflow> {\n return from(this.ensureConfigured().workflows.create(data));\n }\n\n updateWorkflow(uniqueId: string, data: UpdateWorkflowRequest): Observable<Workflow> {\n return from(this.ensureConfigured().workflows.update(uniqueId, data));\n }\n\n deleteWorkflow(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().workflows.delete(uniqueId));\n }\n\n runWorkflow(uniqueId: string, data: RunWorkflowRequest): Observable<RunWorkflowResponse> {\n return from(this.ensureConfigured().workflows.run(uniqueId, data));\n }\n\n pauseWorkflow(uniqueId: string): Observable<Workflow> {\n return from(this.ensureConfigured().workflows.pause(uniqueId));\n }\n\n resumeWorkflow(uniqueId: string): Observable<Workflow> {\n return from(this.ensureConfigured().workflows.resume(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Executions Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listExecutions(params?: ListExecutionsParams): Observable<PageResult<Execution>> {\n return from(this.ensureConfigured().executions.list(params));\n }\n\n getExecution(uniqueId: string): Observable<Execution> {\n return from(this.ensureConfigured().executions.get(uniqueId));\n }\n\n listExecutionsByAgent(agentUniqueId: string, params?: ListExecutionsParams): Observable<PageResult<Execution>> {\n return from(this.ensureConfigured().executions.listByAgent(agentUniqueId, params));\n }\n\n listExecutionsByPrompt(promptUniqueId: string, params?: ListExecutionsParams): Observable<PageResult<Execution>> {\n return from(this.ensureConfigured().executions.listByPrompt(promptUniqueId, params));\n }\n\n cancelExecution(uniqueId: string): Observable<Execution> {\n return from(this.ensureConfigured().executions.cancel(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Conversations Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listConversations(params?: ListConversationsParams): Observable<PageResult<Conversation>> {\n return from(this.ensureConfigured().conversations.list(params));\n }\n\n getConversation(uniqueId: string): Observable<Conversation> {\n return from(this.ensureConfigured().conversations.get(uniqueId));\n }\n\n createConversation(data: CreateConversationRequest): Observable<Conversation> {\n return from(this.ensureConfigured().conversations.create(data));\n }\n\n sendMessage(uniqueId: string, data: SendMessageRequest): Observable<SendMessageResponse> {\n return from(this.ensureConfigured().conversations.sendMessage(uniqueId, data));\n }\n\n listConversationsByUser(userUniqueId: string, params?: ListConversationsParams): Observable<PageResult<Conversation>> {\n return from(this.ensureConfigured().conversations.listByUser(userUniqueId, params));\n }\n\n clearConversation(uniqueId: string): Observable<Conversation> {\n return from(this.ensureConfigured().conversations.clear(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // AI Models Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listAIModels(params?: ListAIModelsParams): Observable<PageResult<AIModel>> {\n return from(this.ensureConfigured().aiModels.list(params));\n }\n\n getAIModel(uniqueId: string): Observable<AIModel> {\n return from(this.ensureConfigured().aiModels.get(uniqueId));\n }\n\n createAIModel(data: CreateAIModelRequest): Observable<AIModel> {\n return from(this.ensureConfigured().aiModels.create(data));\n }\n\n updateAIModel(uniqueId: string, data: UpdateAIModelRequest): Observable<AIModel> {\n return from(this.ensureConfigured().aiModels.update(uniqueId, data));\n }\n\n deleteAIModel(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().aiModels.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Entities Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listEntities(params?: ListEntitiesParams): Observable<PageResult<Entity>> {\n return from(this.ensureConfigured().entities.list(params));\n }\n\n getEntity(uniqueId: string): Observable<Entity> {\n return from(this.ensureConfigured().entities.get(uniqueId));\n }\n\n registerEntity(uniqueId: string, data?: RegisterEntityRequest): Observable<Entity> {\n return from(this.ensureConfigured().entities.register(uniqueId, data));\n }\n\n updateEntity(uniqueId: string, data: UpdateEntityRequest): Observable<Entity> {\n return from(this.ensureConfigured().entities.update(uniqueId, data));\n }\n\n deleteEntity(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().entities.delete(uniqueId));\n }\n\n addEntityPrompt(uniqueId: string, promptUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().entities.addPrompt(uniqueId, promptUniqueId));\n }\n\n getEntityContext(uniqueId: string, contextUniqueId: string): Observable<EntityContext> {\n return from(this.ensureConfigured().entities.getContext(uniqueId, contextUniqueId));\n }\n\n createEntityContext(uniqueId: string, data?: CreateEntityContextRequest): Observable<EntityContext> {\n return from(this.ensureConfigured().entities.createContext(uniqueId, data));\n }\n\n getEntityConversation(uniqueId: string, contextUniqueId: string): Observable<EntityContext> {\n return from(this.ensureConfigured().entities.getConversation(uniqueId, contextUniqueId));\n }\n\n sendEntityMessage(uniqueId: string, contextUniqueId: string, data: SendEntityMessageRequest): Observable<SendEntityMessageResponse> {\n return from(this.ensureConfigured().entities.sendMessage(uniqueId, contextUniqueId, data));\n }\n\n queryEntityFile(uniqueId: string, fileUniqueId: string, data: QueryEntityFileRequest): Observable<QueryEntityFileResponse> {\n return from(this.ensureConfigured().entities.queryFile(uniqueId, fileUniqueId, data));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Clusters Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listClusters(userUniqueId: string, params?: ListClustersParams): Observable<PageResult<Cluster>> {\n return from(this.ensureConfigured().clusters.list(userUniqueId, params));\n }\n\n getCluster(userUniqueId: string, uniqueId: string): Observable<Cluster> {\n return from(this.ensureConfigured().clusters.get(userUniqueId, uniqueId));\n }\n\n createCluster(userUniqueId: string, data: CreateClusterRequest): Observable<Cluster> {\n return from(this.ensureConfigured().clusters.create(userUniqueId, data));\n }\n\n updateCluster(userUniqueId: string, uniqueId: string, data: UpdateClusterRequest): Observable<Cluster> {\n return from(this.ensureConfigured().clusters.update(userUniqueId, uniqueId, data));\n }\n\n deleteCluster(userUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().clusters.delete(userUniqueId, uniqueId));\n }\n\n addClusterMember(userUniqueId: string, uniqueId: string, entityUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().clusters.addMember(userUniqueId, uniqueId, entityUniqueId));\n }\n\n removeClusterMember(userUniqueId: string, uniqueId: string, entityUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().clusters.removeMember(userUniqueId, uniqueId, entityUniqueId));\n }\n\n addClusterPrompt(userUniqueId: string, uniqueId: string, promptUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().clusters.addPrompt(userUniqueId, uniqueId, promptUniqueId));\n }\n\n getClusterContext(userUniqueId: string, uniqueId: string, contextUniqueId: string): Observable<ClusterContext> {\n return from(this.ensureConfigured().clusters.getContext(userUniqueId, uniqueId, contextUniqueId));\n }\n\n createClusterContext(userUniqueId: string, uniqueId: string, data?: CreateClusterContextRequest): Observable<ClusterContext> {\n return from(this.ensureConfigured().clusters.createContext(userUniqueId, uniqueId, data));\n }\n\n getClusterConversation(userUniqueId: string, uniqueId: string, contextUniqueId: string): Observable<ClusterContext> {\n return from(this.ensureConfigured().clusters.getConversation(userUniqueId, uniqueId, contextUniqueId));\n }\n\n sendClusterMessage(userUniqueId: string, uniqueId: string, contextUniqueId: string, data: SendClusterMessageRequest): Observable<SendClusterMessageResponse> {\n return from(this.ensureConfigured().clusters.sendMessage(userUniqueId, uniqueId, contextUniqueId, data));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Jarvis Users Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listJarvisUsers(params?: ListJarvisUsersParams): Observable<PageResult<JarvisUser>> {\n return from(this.ensureConfigured().users.list(params));\n }\n\n getJarvisUser(uniqueId: string): Observable<JarvisUser> {\n return from(this.ensureConfigured().users.get(uniqueId));\n }\n\n registerJarvisUser(uniqueId: string, data?: RegisterJarvisUserRequest): Observable<JarvisUser> {\n return from(this.ensureConfigured().users.register(uniqueId, data));\n }\n\n updateJarvisUser(uniqueId: string, data: UpdateJarvisUserRequest): Observable<JarvisUser> {\n return from(this.ensureConfigured().users.update(uniqueId, data));\n }\n\n addJarvisUserPrompt(uniqueId: string, promptUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().users.addPrompt(uniqueId, promptUniqueId));\n }\n\n getJarvisUserContext(uniqueId: string, contextUniqueId: string): Observable<UserContext> {\n return from(this.ensureConfigured().users.getContext(uniqueId, contextUniqueId));\n }\n\n createJarvisUserContext(uniqueId: string, data?: CreateUserContextRequest): Observable<UserContext> {\n return from(this.ensureConfigured().users.createContext(uniqueId, data));\n }\n\n getJarvisUserConversation(uniqueId: string, contextUniqueId: string): Observable<UserContext> {\n return from(this.ensureConfigured().users.getConversation(uniqueId, contextUniqueId));\n }\n\n sendJarvisUserMessage(uniqueId: string, contextUniqueId: string, data: SendUserMessageRequest): Observable<SendUserMessageResponse> {\n return from(this.ensureConfigured().users.sendMessage(uniqueId, contextUniqueId, data));\n }\n\n getJarvisUserContentContext(uniqueId: string, contentIdentityUniqueId: string, contextUniqueId: string): Observable<UserContext> {\n return from(this.ensureConfigured().users.getContentContext(uniqueId, contentIdentityUniqueId, contextUniqueId));\n }\n\n createJarvisUserContentContext(uniqueId: string, contentIdentityUniqueId: string, data?: CreateUserContentContextRequest): Observable<UserContext> {\n return from(this.ensureConfigured().users.createContentContext(uniqueId, contentIdentityUniqueId, data));\n }\n\n getJarvisUserContentConversation(uniqueId: string, contentIdentityUniqueId: string, contextUniqueId: string): Observable<UserContext> {\n return from(this.ensureConfigured().users.getContentConversation(uniqueId, contentIdentityUniqueId, contextUniqueId));\n }\n\n sendJarvisUserContentMessage(uniqueId: string, contentIdentityUniqueId: string, contextUniqueId: string, data: SendUserMessageRequest): Observable<SendUserMessageResponse> {\n return from(this.ensureConfigured().users.sendContentMessage(uniqueId, contentIdentityUniqueId, contextUniqueId, data));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Workflow Participants Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listWorkflowParticipants(workflowUniqueId: string, params?: ListWorkflowParticipantsParams): Observable<PageResult<WorkflowParticipant>> {\n return from(this.ensureConfigured().workflowParticipants.list(workflowUniqueId, params));\n }\n\n getWorkflowParticipant(workflowUniqueId: string, uniqueId: string): Observable<WorkflowParticipant> {\n return from(this.ensureConfigured().workflowParticipants.get(workflowUniqueId, uniqueId));\n }\n\n addWorkflowParticipant(workflowUniqueId: string, data: AddWorkflowParticipantRequest): Observable<WorkflowParticipant> {\n return from(this.ensureConfigured().workflowParticipants.add(workflowUniqueId, data));\n }\n\n updateWorkflowParticipant(workflowUniqueId: string, uniqueId: string, data: UpdateWorkflowParticipantRequest): Observable<WorkflowParticipant> {\n return from(this.ensureConfigured().workflowParticipants.update(workflowUniqueId, uniqueId, data));\n }\n\n removeWorkflowParticipant(workflowUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().workflowParticipants.remove(workflowUniqueId, uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Workflow Steps Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n getWorkflowStep(workflowUniqueId: string, stepUniqueId: string): Observable<WorkflowStep> {\n return from(this.ensureConfigured().workflowSteps.get(workflowUniqueId, stepUniqueId));\n }\n\n addWorkflowStep(workflowUniqueId: string, data: AddWorkflowStepRequest): Observable<WorkflowStep> {\n return from(this.ensureConfigured().workflowSteps.add(workflowUniqueId, data));\n }\n\n updateWorkflowStep(workflowUniqueId: string, stepUniqueId: string, data: UpdateWorkflowStepRequest): Observable<WorkflowStep> {\n return from(this.ensureConfigured().workflowSteps.update(workflowUniqueId, stepUniqueId, data));\n }\n\n removeWorkflowStep(workflowUniqueId: string, stepUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().workflowSteps.remove(workflowUniqueId, stepUniqueId));\n }\n\n addStepPrompt(stepUniqueId: string, data: AddStepPromptRequest): Observable<void> {\n return from(this.ensureConfigured().workflowSteps.addPrompt(stepUniqueId, data));\n }\n\n addStepAgent(stepUniqueId: string, data: AddStepAgentRequest): Observable<void> {\n return from(this.ensureConfigured().workflowSteps.addAgent(stepUniqueId, data));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Workflow Instances Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n startWorkflowInstance(workflowUniqueId: string, data?: StartWorkflowInstanceRequest): Observable<StartWorkflowInstanceResponse> {\n return from(this.ensureConfigured().workflowInstances.start(workflowUniqueId, data));\n }\n\n getWorkflowInstance(workflowUniqueId: string, instanceUniqueId: string): Observable<WorkflowInstance> {\n return from(this.ensureConfigured().workflowInstances.get(workflowUniqueId, instanceUniqueId));\n }\n\n getWorkflowInstanceDetails(workflowUniqueId: string, instanceUniqueId: string): Observable<WorkflowInstanceDetails> {\n return from(this.ensureConfigured().workflowInstances.getDetails(workflowUniqueId, instanceUniqueId));\n }\n\n stepWorkflowInstance(workflowUniqueId: string, instanceUniqueId: string, data?: StepWorkflowRequest): Observable<WorkflowInstance> {\n return from(this.ensureConfigured().workflowInstances.step(workflowUniqueId, instanceUniqueId, data));\n }\n\n logWorkflowStep(workflowUniqueId: string, instanceUniqueId: string, data: LogWorkflowStepRequest): Observable<WorkflowInstance> {\n return from(this.ensureConfigured().workflowInstances.logStep(workflowUniqueId, instanceUniqueId, data));\n }\n\n suspendWorkflowInstance(workflowUniqueId: string, instanceUniqueId: string): Observable<WorkflowInstance> {\n return from(this.ensureConfigured().workflowInstances.suspend(workflowUniqueId, instanceUniqueId));\n }\n\n resumeWorkflowInstance(workflowUniqueId: string, instanceUniqueId: string): Observable<WorkflowInstance> {\n return from(this.ensureConfigured().workflowInstances.resume(workflowUniqueId, instanceUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Agent Runtime Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n getAgentContext(agentUniqueId: string, contextUniqueId: string): Observable<AgentContext> {\n return from(this.ensureConfigured().agentRuntime.getContext(agentUniqueId, contextUniqueId));\n }\n\n createAgentContext(agentUniqueId: string, data?: CreateAgentContextRequest): Observable<AgentContext> {\n return from(this.ensureConfigured().agentRuntime.createContext(agentUniqueId, data));\n }\n\n getAgentConversation(agentUniqueId: string, contextUniqueId: string): Observable<{ messages: AgentMessage[] }> {\n return from(this.ensureConfigured().agentRuntime.getConversation(agentUniqueId, contextUniqueId));\n }\n\n getAgentThread(agentUniqueId: string, threadId: string): Observable<AgentThread> {\n return from(this.ensureConfigured().agentRuntime.getThread(agentUniqueId, threadId));\n }\n\n createAgentThread(agentUniqueId: string, data?: CreateAgentThreadRequest): Observable<AgentThread> {\n return from(this.ensureConfigured().agentRuntime.createThread(agentUniqueId, data));\n }\n\n sendAgentThreadMessage(agentUniqueId: string, threadId: string, data: SendAgentThreadMessageRequest): Observable<SendAgentThreadMessageResponse> {\n return from(this.ensureConfigured().agentRuntime.sendMessage(agentUniqueId, threadId, data));\n }\n\n sendAgentThreadMessageStream(agentUniqueId: string, threadId: string, data: SendAgentThreadMessageRequest): Observable<ReadableStream<string>> {\n return from(this.ensureConfigured().agentRuntime.sendMessageStream(agentUniqueId, threadId, data));\n }\n\n runAgentThread(agentUniqueId: string, threadId: string, data?: RunAgentThreadRequest): Observable<RunAgentThreadResponse> {\n return from(this.ensureConfigured().agentRuntime.runThread(agentUniqueId, threadId, data));\n }\n\n getAgentRun(agentUniqueId: string, threadId: string, runId: string): Observable<AgentRun> {\n return from(this.ensureConfigured().agentRuntime.getRun(agentUniqueId, threadId, runId));\n }\n\n getAgentMessages(agentUniqueId: string, threadId: string): Observable<AgentMessage[]> {\n return from(this.ensureConfigured().agentRuntime.getMessages(agentUniqueId, threadId));\n }\n\n listAgentExecutions(agentUniqueId: string, params?: ListAgentRunExecutionsParams): Observable<PageResult<AgentRunExecution>> {\n return from(this.ensureConfigured().agentRuntime.listExecutions(agentUniqueId, params));\n }\n\n getAgentExecution(agentUniqueId: string, executionUniqueId: string): Observable<AgentRunExecution> {\n return from(this.ensureConfigured().agentRuntime.getExecution(agentUniqueId, executionUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Mail Templates Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listMailTemplates(params?: ListMailTemplatesParams): Observable<PageResult<MailTemplate>> {\n return from(this.ensureConfigured().mailTemplates.list(params));\n }\n\n getMailTemplate(uniqueId: string): Observable<MailTemplate> {\n return from(this.ensureConfigured().mailTemplates.get(uniqueId));\n }\n\n createMailTemplate(data: CreateMailTemplateRequest): Observable<MailTemplate> {\n return from(this.ensureConfigured().mailTemplates.create(data));\n }\n\n updateMailTemplate(uniqueId: string, data: UpdateMailTemplateRequest): Observable<MailTemplate> {\n return from(this.ensureConfigured().mailTemplates.update(uniqueId, data));\n }\n\n createMandrillTemplate(uniqueId: string, data?: CreateMandrillTemplateRequest): Observable<MailTemplate> {\n return from(this.ensureConfigured().mailTemplates.createMandrillTemplate(uniqueId, data));\n }\n\n updateMandrillTemplate(uniqueId: string, data?: UpdateMandrillTemplateRequest): Observable<MailTemplate> {\n return from(this.ensureConfigured().mailTemplates.updateMandrillTemplate(uniqueId, data));\n }\n\n publishMandrill(uniqueId: string): Observable<MailTemplate> {\n return from(this.ensureConfigured().mailTemplates.publishMandrill(uniqueId));\n }\n\n getMandrillStats(uniqueId: string): Observable<MandrillStats> {\n return from(this.ensureConfigured().mailTemplates.getMandrillStats(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Marvin Chat Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n marvinChat(data: MarvinChatRequest): Observable<MarvinChatResponse> {\n return from(this.ensureConfigured().marvinChat.chat(data));\n }\n\n marvinChatV2(data: MarvinChatRequest): Observable<MarvinChatResponse> {\n return from(this.ensureConfigured().marvinChat.chatV2(data));\n }\n\n marvinChatV3(data: MarvinChatRequest): Observable<MarvinChatResponse> {\n return from(this.ensureConfigured().marvinChat.chatV3(data));\n }\n\n getMarvinContext(uniqueId: string): Observable<MarvinContext> {\n return from(this.ensureConfigured().marvinChat.getContext(uniqueId));\n }\n\n createMarvinContext(data?: CreateMarvinContextRequest): Observable<MarvinContext> {\n return from(this.ensureConfigured().marvinChat.createContext(data));\n }\n\n sendMarvinMessage(contextUniqueId: string, data: SendMarvinMessageRequest): Observable<SendMarvinMessageResponse> {\n return from(this.ensureConfigured().marvinChat.sendMessage(contextUniqueId, data));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Prompt Comments Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listPromptComments(promptUniqueId: string, params?: ListPromptCommentsParams): Observable<PageResult<PromptComment>> {\n return from(this.ensureConfigured().promptComments.list(promptUniqueId, params));\n }\n\n getPromptComment(promptUniqueId: string, uniqueId: string): Observable<PromptComment> {\n return from(this.ensureConfigured().promptComments.get(promptUniqueId, uniqueId));\n }\n\n createPromptComment(promptUniqueId: string, data: CreatePromptCommentRequest): Observable<PromptComment> {\n return from(this.ensureConfigured().promptComments.create(promptUniqueId, data));\n }\n\n updatePromptComment(promptUniqueId: string, uniqueId: string, data: UpdatePromptCommentRequest): Observable<PromptComment> {\n return from(this.ensureConfigured().promptComments.update(promptUniqueId, uniqueId, data));\n }\n\n deletePromptComment(promptUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().promptComments.delete(promptUniqueId, uniqueId));\n }\n\n likePromptComment(promptUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().promptComments.like(promptUniqueId, uniqueId));\n }\n\n dislikePromptComment(promptUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().promptComments.dislike(promptUniqueId, uniqueId));\n }\n\n replyToPromptComment(promptUniqueId: string, uniqueId: string, data: ReplyToCommentRequest): Observable<PromptComment> {\n return from(this.ensureConfigured().promptComments.reply(promptUniqueId, uniqueId, data));\n }\n\n followPromptComment(promptUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().promptComments.follow(promptUniqueId, uniqueId));\n }\n\n unfollowPromptComment(promptUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().promptComments.unfollow(promptUniqueId, uniqueId));\n }\n\n savePromptComment(promptUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().promptComments.save(promptUniqueId, uniqueId));\n }\n\n unsavePromptComment(promptUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().promptComments.unsave(promptUniqueId, uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Execution Comments Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listExecutionComments(promptUniqueId: string, executionUniqueId: string, params?: ListExecutionCommentsParams): Observable<PageResult<ExecutionComment>> {\n return from(this.ensureConfigured().executionComments.list(promptUniqueId, executionUniqueId, params));\n }\n\n getExecutionComment(promptUniqueId: string, executionUniqueId: string, uniqueId: string): Observable<ExecutionComment> {\n return from(this.ensureConfigured().executionComments.get(promptUniqueId, executionUniqueId, uniqueId));\n }\n\n createExecutionComment(promptUniqueId: string, executionUniqueId: string, data: CreateExecutionCommentRequest): Observable<ExecutionComment> {\n return from(this.ensureConfigured().executionComments.create(promptUniqueId, executionUniqueId, data));\n }\n\n updateExecutionComment(promptUniqueId: string, executionUniqueId: string, uniqueId: string, data: UpdateExecutionCommentRequest): Observable<ExecutionComment> {\n return from(this.ensureConfigured().executionComments.update(promptUniqueId, executionUniqueId, uniqueId, data));\n }\n\n deleteExecutionComment(promptUniqueId: string, executionUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().executionComments.delete(promptUniqueId, executionUniqueId, uniqueId));\n }\n\n likeExecutionComment(promptUniqueId: string, executionUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().executionComments.like(promptUniqueId, executionUniqueId, uniqueId));\n }\n\n dislikeExecutionComment(promptUniqueId: string, executionUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().executionComments.dislike(promptUniqueId, executionUniqueId, uniqueId));\n }\n\n replyToExecutionComment(promptUniqueId: string, executionUniqueId: string, uniqueId: string, data: ReplyToCommentRequest): Observable<ExecutionComment> {\n return from(this.ensureConfigured().executionComments.reply(promptUniqueId, executionUniqueId, uniqueId, data));\n }\n\n followExecutionComment(promptUniqueId: string, executionUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().executionComments.follow(promptUniqueId, executionUniqueId, uniqueId));\n }\n\n unfollowExecutionComment(promptUniqueId: string, executionUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().executionComments.unfollow(promptUniqueId, executionUniqueId, uniqueId));\n }\n\n saveExecutionComment(promptUniqueId: string, executionUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().executionComments.save(promptUniqueId, executionUniqueId, uniqueId));\n }\n\n unsaveExecutionComment(promptUniqueId: string, executionUniqueId: string, uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().executionComments.unsave(promptUniqueId, executionUniqueId, uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get jarvisBlock(): JarvisBlock {\n return this.ensureConfigured();\n }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createOnboardingBlock,\n type OnboardingBlock,\n type OnboardingBlockConfig,\n // Onboardings\n type Onboarding,\n type CreateOnboardingRequest,\n type UpdateOnboardingRequest,\n type ListOnboardingsParams,\n type OnboardingStep,\n type AddStepRequest,\n type UpdateStepRequest,\n // Flows\n type Flow,\n type CreateFlowRequest,\n type UpdateFlowRequest,\n type ListFlowsParams,\n // User Journeys\n type UserJourney,\n type StartJourneyRequest,\n type CompleteStepRequest,\n type ListUserJourneysParams,\n type UserJourneyReportParams,\n type UserJourneyReportSummary,\n type UserJourneyReportList,\n // User Identities\n type UserIdentity,\n type CreateUserIdentityRequest,\n type VerifyUserIdentityRequest,\n type ListUserIdentitiesParams,\n // Onboard\n type OnboardJourney,\n type OnboardJourneyDetails,\n type StartOnboardRequest,\n type StepOnboardRequest,\n type LogOnboardRequest,\n // Mail Templates\n type MailTemplate,\n type CreateMailTemplateRequest,\n type UpdateMailTemplateRequest,\n type ListMailTemplatesParams,\n type CreateMandrillTemplateRequest,\n type UpdateMandrillTemplateRequest,\n type MandrillTemplateStats,\n // Remarketing\n type AbandonedJourney,\n type ListAbandonedJourneysParams,\n} from '@23blocks/block-onboarding';\nimport { TRANSPORT, ONBOARDING_TRANSPORT, ONBOARDING_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Onboarding block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class OnboardingComponent {\n * constructor(private onboarding: OnboardingService) {}\n *\n * createOnboarding() {\n * this.onboarding.createOnboarding({\n * code: 'user-onboarding',\n * name: 'User Onboarding',\n * steps: []\n * }).subscribe({\n * next: (onboarding) => console.log('Created:', onboarding),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class OnboardingService {\n private readonly block: OnboardingBlock | null;\n\n constructor(\n @Optional() @Inject(ONBOARDING_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(ONBOARDING_CONFIG) config: OnboardingBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createOnboardingBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): OnboardingBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] OnboardingService is not configured. ' +\n \"Add 'urls.onboarding' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Onboardings Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listOnboardings(params?: ListOnboardingsParams): Observable<PageResult<Onboarding>> {\n return from(this.ensureConfigured().onboardings.list(params));\n }\n\n getOnboarding(uniqueId: string): Observable<Onboarding> {\n return from(this.ensureConfigured().onboardings.get(uniqueId));\n }\n\n createOnboarding(request: CreateOnboardingRequest): Observable<Onboarding> {\n return from(this.ensureConfigured().onboardings.create(request));\n }\n\n updateOnboarding(uniqueId: string, request: UpdateOnboardingRequest): Observable<Onboarding> {\n return from(this.ensureConfigured().onboardings.update(uniqueId, request));\n }\n\n deleteOnboarding(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().onboardings.delete(uniqueId));\n }\n\n addOnboardingStep(uniqueId: string, data: AddStepRequest): Observable<OnboardingStep> {\n return from(this.ensureConfigured().onboardings.addStep(uniqueId, data));\n }\n\n updateOnboardingStep(uniqueId: string, stepUniqueId: string, data: UpdateStepRequest): Observable<OnboardingStep> {\n return from(this.ensureConfigured().onboardings.updateStep(uniqueId, stepUniqueId, data));\n }\n\n deleteOnboardingStep(uniqueId: string, stepUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().onboardings.deleteStep(uniqueId, stepUniqueId));\n }\n\n stepUser(uniqueId: string, userUniqueId: string, stepData?: Record<string, unknown>): Observable<Onboarding> {\n return from(this.ensureConfigured().onboardings.stepUser(uniqueId, userUniqueId, stepData));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Flows Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listFlows(params?: ListFlowsParams): Observable<PageResult<Flow>> {\n return from(this.ensureConfigured().flows.list(params));\n }\n\n getFlow(uniqueId: string): Observable<Flow> {\n return from(this.ensureConfigured().flows.get(uniqueId));\n }\n\n createFlow(request: CreateFlowRequest): Observable<Flow> {\n return from(this.ensureConfigured().flows.create(request));\n }\n\n updateFlow(uniqueId: string, request: UpdateFlowRequest): Observable<Flow> {\n return from(this.ensureConfigured().flows.update(uniqueId, request));\n }\n\n deleteFlow(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().flows.delete(uniqueId));\n }\n\n listFlowsByOnboarding(onboardingUniqueId: string): Observable<Flow[]> {\n return from(this.ensureConfigured().flows.listByOnboarding(onboardingUniqueId));\n }\n\n getFlowBySource(uniqueId: string, sourceUniqueId: string): Observable<Flow> {\n return from(this.ensureConfigured().flows.getBySource(uniqueId, sourceUniqueId));\n }\n\n stepFlowBySource(uniqueId: string, sourceUniqueId: string, stepData?: Record<string, unknown>): Observable<Flow> {\n return from(this.ensureConfigured().flows.stepBySource(uniqueId, sourceUniqueId, stepData));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // User Journeys Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listUserJourneys(params?: ListUserJourneysParams): Observable<PageResult<UserJourney>> {\n return from(this.ensureConfigured().userJourneys.list(params));\n }\n\n getUserJourney(uniqueId: string): Observable<UserJourney> {\n return from(this.ensureConfigured().userJourneys.get(uniqueId));\n }\n\n startJourney(request: StartJourneyRequest): Observable<UserJourney> {\n return from(this.ensureConfigured().userJourneys.start(request));\n }\n\n completeStep(uniqueId: string, request: CompleteStepRequest): Observable<UserJourney> {\n return from(this.ensureConfigured().userJourneys.completeStep(uniqueId, request));\n }\n\n abandonJourney(uniqueId: string): Observable<UserJourney> {\n return from(this.ensureConfigured().userJourneys.abandon(uniqueId));\n }\n\n getJourneysByUser(userUniqueId: string): Observable<UserJourney[]> {\n return from(this.ensureConfigured().userJourneys.getByUser(userUniqueId));\n }\n\n getJourneyProgress(uniqueId: string): Observable<{ progress: number; currentStep?: number; completedSteps?: number[] }> {\n return from(this.ensureConfigured().userJourneys.getProgress(uniqueId));\n }\n\n listJourneyByUserAndOnboarding(userUniqueId: string, onboardingUniqueId: string): Observable<UserJourney> {\n return from(this.ensureConfigured().userJourneys.listByUserAndOnboarding(userUniqueId, onboardingUniqueId));\n }\n\n reportJourneyList(params: UserJourneyReportParams): Observable<UserJourneyReportList> {\n return from(this.ensureConfigured().userJourneys.reportList(params));\n }\n\n reportJourneySummary(params: UserJourneyReportParams): Observable<UserJourneyReportSummary> {\n return from(this.ensureConfigured().userJourneys.reportSummary(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // User Identities Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listUserIdentities(params?: ListUserIdentitiesParams): Observable<PageResult<UserIdentity>> {\n return from(this.ensureConfigured().userIdentities.list(params));\n }\n\n getUserIdentity(uniqueId: string): Observable<UserIdentity> {\n return from(this.ensureConfigured().userIdentities.get(uniqueId));\n }\n\n createUserIdentity(request: CreateUserIdentityRequest): Observable<UserIdentity> {\n return from(this.ensureConfigured().userIdentities.create(request));\n }\n\n verifyUserIdentity(uniqueId: string, request: VerifyUserIdentityRequest): Observable<UserIdentity> {\n return from(this.ensureConfigured().userIdentities.verify(uniqueId, request));\n }\n\n deleteUserIdentity(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().userIdentities.delete(uniqueId));\n }\n\n listIdentitiesByUser(userUniqueId: string): Observable<UserIdentity[]> {\n return from(this.ensureConfigured().userIdentities.listByUser(userUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Onboard Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n startOnboard(uniqueId: string, data?: StartOnboardRequest): Observable<OnboardJourney> {\n return from(this.ensureConfigured().onboard.start(uniqueId, data));\n }\n\n getOnboard(uniqueId: string): Observable<OnboardJourney> {\n return from(this.ensureConfigured().onboard.get(uniqueId));\n }\n\n getOnboardDetails(uniqueId: string): Observable<OnboardJourneyDetails> {\n return from(this.ensureConfigured().onboard.getDetails(uniqueId));\n }\n\n stepOnboard(uniqueId: string, data: StepOnboardRequest): Observable<OnboardJourney> {\n return from(this.ensureConfigured().onboard.step(uniqueId, data));\n }\n\n logOnboard(uniqueId: string, data: LogOnboardRequest): Observable<OnboardJourney> {\n return from(this.ensureConfigured().onboard.log(uniqueId, data));\n }\n\n suspendOnboard(uniqueId: string): Observable<OnboardJourney> {\n return from(this.ensureConfigured().onboard.suspend(uniqueId));\n }\n\n resumeOnboard(uniqueId: string): Observable<OnboardJourney> {\n return from(this.ensureConfigured().onboard.resume(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Mail Templates Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listMailTemplates(params?: ListMailTemplatesParams): Observable<PageResult<MailTemplate>> {\n return from(this.ensureConfigured().mailTemplates.list(params));\n }\n\n getMailTemplate(uniqueId: string): Observable<MailTemplate> {\n return from(this.ensureConfigured().mailTemplates.get(uniqueId));\n }\n\n createMailTemplate(data: CreateMailTemplateRequest): Observable<MailTemplate> {\n return from(this.ensureConfigured().mailTemplates.create(data));\n }\n\n updateMailTemplate(uniqueId: string, data: UpdateMailTemplateRequest): Observable<MailTemplate> {\n return from(this.ensureConfigured().mailTemplates.update(uniqueId, data));\n }\n\n getMandrillStats(uniqueId: string): Observable<MandrillTemplateStats> {\n return from(this.ensureConfigured().mailTemplates.getMandrillStats(uniqueId));\n }\n\n createMandrillTemplate(uniqueId: string, data: CreateMandrillTemplateRequest): Observable<MailTemplate> {\n return from(this.ensureConfigured().mailTemplates.createMandrillTemplate(uniqueId, data));\n }\n\n updateMandrillTemplate(uniqueId: string, data: UpdateMandrillTemplateRequest): Observable<MailTemplate> {\n return from(this.ensureConfigured().mailTemplates.updateMandrillTemplate(uniqueId, data));\n }\n\n publishMandrill(uniqueId: string): Observable<MailTemplate> {\n return from(this.ensureConfigured().mailTemplates.publishMandrill(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Remarketing Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listAbandonedJourneys(params?: ListAbandonedJourneysParams): Observable<PageResult<AbandonedJourney>> {\n return from(this.ensureConfigured().remarketing.listAbandonedJourneys(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get onboardingBlock(): OnboardingBlock {\n return this.ensureConfigured();\n }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createUniversityBlock,\n type UniversityBlock,\n type UniversityBlockConfig,\n type Course,\n type CreateCourseRequest,\n type UpdateCourseRequest,\n type ListCoursesParams,\n type Lesson,\n type CreateLessonRequest,\n type UpdateLessonRequest,\n type ListLessonsParams,\n type ReorderLessonsRequest,\n type Enrollment,\n type EnrollRequest,\n type UpdateEnrollmentProgressRequest,\n type ListEnrollmentsParams,\n type Assignment,\n type CreateAssignmentRequest,\n type UpdateAssignmentRequest,\n type ListAssignmentsParams,\n type Submission,\n type SubmitAssignmentRequest,\n type GradeSubmissionRequest,\n type ListSubmissionsParams,\n type Subject,\n type CreateSubjectRequest,\n type UpdateSubjectRequest,\n type ListSubjectsParams,\n type Teacher,\n type ListTeachersParams,\n type TeacherAvailability,\n type CreateAvailabilityRequest,\n type UpdateAvailabilityRequest,\n type Student,\n type ListStudentsParams,\n type RegisterStudentRequest,\n type UpdateStudentRequest,\n type StudentAvailability,\n type CourseGroup,\n type CreateCourseGroupRequest,\n type CoachingSession,\n type CreateCoachingSessionRequest,\n type UpdateCoachingSessionRequest,\n type ListCoachingSessionsParams,\n type ContentTest,\n type TestQuestion,\n type TestOption,\n type CreateContentTestRequest,\n type UpdateContentTestRequest,\n type CreateQuestionRequest,\n type CreateOptionRequest,\n type ListContentTestsParams,\n // Registration token types\n type RegistrationToken,\n type CreateRegistrationTokenRequest,\n type UpdateRegistrationTokenRequest,\n type ListRegistrationTokensParams,\n type TokenValidationResult,\n // Placement types\n type PlacementTest,\n type PlacementSection,\n type PlacementQuestion,\n type PlacementOption,\n type PlacementRule,\n type PlacementInstance,\n type CreatePlacementRequest,\n type CreatePlacementSectionRequest,\n type CreatePlacementQuestionRequest,\n type CreatePlacementOptionRequest,\n type CreatePlacementRuleRequest,\n type PlacementResponse,\n type ListPlacementsParams,\n // Calendar types\n type Availability,\n type CalendarEvent,\n type BulkUpdateAvailabilityRequest,\n type CreateCalendarEventRequest,\n type UpdateCalendarEventRequest,\n type ListCalendarEventsParams,\n // Match types\n type Match,\n type MatchEvaluation,\n type AvailableCoach,\n type AvailableCoachee,\n type CreateMatchRequest,\n type FindCoachesRequest,\n type FindCoacheesRequest,\n type EvaluateMatchesRequest,\n type EvaluateAvailabilitiesRequest,\n // Attendance types\n type Attendance,\n type CreateAttendanceRequest,\n type UpdateAttendanceRequest,\n type ListAttendanceParams,\n type BulkAttendanceRequest,\n type AttendanceStats,\n // Note types\n type Note,\n type CreateNoteRequest,\n type UpdateNoteRequest,\n type ListNotesParams,\n} from '@23blocks/block-university';\nimport { TRANSPORT, UNIVERSITY_TRANSPORT, UNIVERSITY_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the University block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class CourseListComponent {\n * constructor(private university: UniversityService) {}\n *\n * loadCourses() {\n * this.university.listCourses({ page: 1, perPage: 10 }).subscribe({\n * next: (result) => console.log('Courses:', result.data),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class UniversityService {\n private readonly block: UniversityBlock | null;\n\n constructor(\n @Optional() @Inject(UNIVERSITY_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(UNIVERSITY_CONFIG) config: UniversityBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createUniversityBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): UniversityBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] UniversityService is not configured. ' +\n \"Add 'urls.university' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Courses Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCourses(params?: ListCoursesParams): Observable<PageResult<Course>> {\n return from(this.ensureConfigured().courses.list(params));\n }\n\n getCourse(uniqueId: string): Observable<Course> {\n return from(this.ensureConfigured().courses.get(uniqueId));\n }\n\n createCourse(data: CreateCourseRequest): Observable<Course> {\n return from(this.ensureConfigured().courses.create(data));\n }\n\n updateCourse(uniqueId: string, data: UpdateCourseRequest): Observable<Course> {\n return from(this.ensureConfigured().courses.update(uniqueId, data));\n }\n\n deleteCourse(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().courses.delete(uniqueId));\n }\n\n publishCourse(uniqueId: string): Observable<Course> {\n return from(this.ensureConfigured().courses.publish(uniqueId));\n }\n\n unpublishCourse(uniqueId: string): Observable<Course> {\n return from(this.ensureConfigured().courses.unpublish(uniqueId));\n }\n\n listCoursesByInstructor(instructorUniqueId: string, params?: ListCoursesParams): Observable<PageResult<Course>> {\n return from(this.ensureConfigured().courses.listByInstructor(instructorUniqueId, params));\n }\n\n listCoursesByCategory(categoryUniqueId: string, params?: ListCoursesParams): Observable<PageResult<Course>> {\n return from(this.ensureConfigured().courses.listByCategory(categoryUniqueId, params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Lessons Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listLessons(params?: ListLessonsParams): Observable<PageResult<Lesson>> {\n return from(this.ensureConfigured().lessons.list(params));\n }\n\n getLesson(uniqueId: string): Observable<Lesson> {\n return from(this.ensureConfigured().lessons.get(uniqueId));\n }\n\n createLesson(data: CreateLessonRequest): Observable<Lesson> {\n return from(this.ensureConfigured().lessons.create(data));\n }\n\n updateLesson(uniqueId: string, data: UpdateLessonRequest): Observable<Lesson> {\n return from(this.ensureConfigured().lessons.update(uniqueId, data));\n }\n\n deleteLesson(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().lessons.delete(uniqueId));\n }\n\n reorderLessons(courseUniqueId: string, data: ReorderLessonsRequest): Observable<Lesson[]> {\n return from(this.ensureConfigured().lessons.reorder(courseUniqueId, data));\n }\n\n listLessonsByCourse(courseUniqueId: string, params?: ListLessonsParams): Observable<PageResult<Lesson>> {\n return from(this.ensureConfigured().lessons.listByCourse(courseUniqueId, params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Enrollments Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listEnrollments(params?: ListEnrollmentsParams): Observable<PageResult<Enrollment>> {\n return from(this.ensureConfigured().enrollments.list(params));\n }\n\n getEnrollment(uniqueId: string): Observable<Enrollment> {\n return from(this.ensureConfigured().enrollments.get(uniqueId));\n }\n\n enroll(data: EnrollRequest): Observable<Enrollment> {\n return from(this.ensureConfigured().enrollments.enroll(data));\n }\n\n updateEnrollmentProgress(uniqueId: string, data: UpdateEnrollmentProgressRequest): Observable<Enrollment> {\n return from(this.ensureConfigured().enrollments.updateProgress(uniqueId, data));\n }\n\n completeEnrollment(uniqueId: string): Observable<Enrollment> {\n return from(this.ensureConfigured().enrollments.complete(uniqueId));\n }\n\n dropEnrollment(uniqueId: string): Observable<Enrollment> {\n return from(this.ensureConfigured().enrollments.drop(uniqueId));\n }\n\n listEnrollmentsByCourse(courseUniqueId: string, params?: ListEnrollmentsParams): Observable<PageResult<Enrollment>> {\n return from(this.ensureConfigured().enrollments.listByCourse(courseUniqueId, params));\n }\n\n listEnrollmentsByUser(userUniqueId: string, params?: ListEnrollmentsParams): Observable<PageResult<Enrollment>> {\n return from(this.ensureConfigured().enrollments.listByUser(userUniqueId, params));\n }\n\n getCertificate(uniqueId: string): Observable<{ certificateUrl: string }> {\n return from(this.ensureConfigured().enrollments.getCertificate(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Assignments Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listAssignments(params?: ListAssignmentsParams): Observable<PageResult<Assignment>> {\n return from(this.ensureConfigured().assignments.list(params));\n }\n\n getAssignment(uniqueId: string): Observable<Assignment> {\n return from(this.ensureConfigured().assignments.get(uniqueId));\n }\n\n createAssignment(data: CreateAssignmentRequest): Observable<Assignment> {\n return from(this.ensureConfigured().assignments.create(data));\n }\n\n updateAssignment(uniqueId: string, data: UpdateAssignmentRequest): Observable<Assignment> {\n return from(this.ensureConfigured().assignments.update(uniqueId, data));\n }\n\n deleteAssignment(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().assignments.delete(uniqueId));\n }\n\n listAssignmentsByLesson(lessonUniqueId: string, params?: ListAssignmentsParams): Observable<PageResult<Assignment>> {\n return from(this.ensureConfigured().assignments.listByLesson(lessonUniqueId, params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Submissions Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listSubmissions(params?: ListSubmissionsParams): Observable<PageResult<Submission>> {\n return from(this.ensureConfigured().submissions.list(params));\n }\n\n getSubmission(uniqueId: string): Observable<Submission> {\n return from(this.ensureConfigured().submissions.get(uniqueId));\n }\n\n submitAssignment(data: SubmitAssignmentRequest): Observable<Submission> {\n return from(this.ensureConfigured().submissions.submit(data));\n }\n\n gradeSubmission(uniqueId: string, data: GradeSubmissionRequest): Observable<Submission> {\n return from(this.ensureConfigured().submissions.grade(uniqueId, data));\n }\n\n listSubmissionsByAssignment(assignmentUniqueId: string, params?: ListSubmissionsParams): Observable<PageResult<Submission>> {\n return from(this.ensureConfigured().submissions.listByAssignment(assignmentUniqueId, params));\n }\n\n listSubmissionsByUser(userUniqueId: string, params?: ListSubmissionsParams): Observable<PageResult<Submission>> {\n return from(this.ensureConfigured().submissions.listByUser(userUniqueId, params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Subjects Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listSubjects(params?: ListSubjectsParams): Observable<PageResult<Subject>> {\n return from(this.ensureConfigured().subjects.list(params));\n }\n\n getSubject(uniqueId: string): Observable<Subject> {\n return from(this.ensureConfigured().subjects.get(uniqueId));\n }\n\n createSubject(data: CreateSubjectRequest): Observable<Subject> {\n return from(this.ensureConfigured().subjects.create(data));\n }\n\n updateSubject(uniqueId: string, data: UpdateSubjectRequest): Observable<Subject> {\n return from(this.ensureConfigured().subjects.update(uniqueId, data));\n }\n\n getSubjectResources(uniqueId: string): Observable<unknown[]> {\n return from(this.ensureConfigured().subjects.getResources(uniqueId));\n }\n\n getSubjectTeacherResources(uniqueId: string, teacherUniqueId: string): Observable<unknown[]> {\n return from(this.ensureConfigured().subjects.getTeacherResources(uniqueId, teacherUniqueId));\n }\n\n getSubjectTests(uniqueId: string): Observable<unknown[]> {\n return from(this.ensureConfigured().subjects.getTests(uniqueId));\n }\n\n addSubjectLesson(uniqueId: string, lessonData: { name: string; description?: string }): Observable<unknown> {\n return from(this.ensureConfigured().subjects.addLesson(uniqueId, lessonData));\n }\n\n addSubjectResource(uniqueId: string, resourceData: unknown): Observable<unknown> {\n return from(this.ensureConfigured().subjects.addResource(uniqueId, resourceData));\n }\n\n updateSubjectResource(uniqueId: string, resourceUniqueId: string, resourceData: unknown): Observable<unknown> {\n return from(this.ensureConfigured().subjects.updateResource(uniqueId, resourceUniqueId, resourceData));\n }\n\n deleteSubjectResource(uniqueId: string, resourceUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().subjects.deleteResource(uniqueId, resourceUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Teachers Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listTeachers(params?: ListTeachersParams): Observable<PageResult<Teacher>> {\n return from(this.ensureConfigured().teachers.list(params));\n }\n\n listArchivedTeachers(params?: ListTeachersParams): Observable<PageResult<Teacher>> {\n return from(this.ensureConfigured().teachers.listArchived(params));\n }\n\n getTeacher(uniqueId: string): Observable<Teacher> {\n return from(this.ensureConfigured().teachers.get(uniqueId));\n }\n\n getTeacherCourses(uniqueId: string): Observable<Course[]> {\n return from(this.ensureConfigured().teachers.getCourses(uniqueId));\n }\n\n getTeacherGroups(uniqueId: string): Observable<CourseGroup[]> {\n return from(this.ensureConfigured().teachers.getGroups(uniqueId));\n }\n\n getTeacherAvailability(uniqueId: string): Observable<TeacherAvailability[]> {\n return from(this.ensureConfigured().teachers.getAvailability(uniqueId));\n }\n\n addTeacherAvailability(uniqueId: string, data: CreateAvailabilityRequest): Observable<TeacherAvailability> {\n return from(this.ensureConfigured().teachers.addAvailability(uniqueId, data));\n }\n\n updateTeacherAvailability(uniqueId: string, availabilityUniqueId: string, data: UpdateAvailabilityRequest): Observable<TeacherAvailability> {\n return from(this.ensureConfigured().teachers.updateAvailability(uniqueId, availabilityUniqueId, data));\n }\n\n deleteTeacherAvailability(uniqueId: string, availabilityUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().teachers.deleteAvailability(uniqueId, availabilityUniqueId));\n }\n\n deleteAllTeacherAvailability(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().teachers.deleteAllAvailability(uniqueId));\n }\n\n getTeacherContentTree(uniqueId: string, courseGroupUniqueId: string): Observable<unknown> {\n return from(this.ensureConfigured().teachers.getContentTree(uniqueId, courseGroupUniqueId));\n }\n\n getTeacherStudentContentTree(uniqueId: string, userUniqueId: string, courseGroupUniqueId: string): Observable<unknown> {\n return from(this.ensureConfigured().teachers.getStudentContentTree(uniqueId, userUniqueId, courseGroupUniqueId));\n }\n\n promoteStudent(teacherUniqueId: string, userUniqueId: string): Observable<unknown> {\n return from(this.ensureConfigured().teachers.promoteStudent(teacherUniqueId, userUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Students Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listStudents(params?: ListStudentsParams): Observable<PageResult<Student>> {\n return from(this.ensureConfigured().students.list(params));\n }\n\n listArchivedStudents(params?: ListStudentsParams): Observable<PageResult<Student>> {\n return from(this.ensureConfigured().students.listArchived(params));\n }\n\n getStudent(uniqueId: string): Observable<Student> {\n return from(this.ensureConfigured().students.get(uniqueId));\n }\n\n registerStudent(uniqueId: string, data: RegisterStudentRequest): Observable<Student> {\n return from(this.ensureConfigured().students.register(uniqueId, data));\n }\n\n updateStudent(uniqueId: string, data: UpdateStudentRequest): Observable<Student> {\n return from(this.ensureConfigured().students.update(uniqueId, data));\n }\n\n archiveStudent(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().students.archive(uniqueId));\n }\n\n restoreStudent(uniqueId: string): Observable<Student> {\n return from(this.ensureConfigured().students.restore(uniqueId));\n }\n\n getStudentCourses(uniqueId: string): Observable<Course[]> {\n return from(this.ensureConfigured().students.getCourses(uniqueId));\n }\n\n getStudentAvailableCourses(uniqueId: string): Observable<Course[]> {\n return from(this.ensureConfigured().students.getAvailableCourses(uniqueId));\n }\n\n getStudentGroups(uniqueId: string): Observable<CourseGroup[]> {\n return from(this.ensureConfigured().students.getGroups(uniqueId));\n }\n\n getStudentContentTree(uniqueId: string, courseGroupUniqueId: string): Observable<unknown> {\n return from(this.ensureConfigured().students.getContentTree(uniqueId, courseGroupUniqueId));\n }\n\n getStudentAvailability(uniqueId: string): Observable<StudentAvailability[]> {\n return from(this.ensureConfigured().students.getAvailability(uniqueId));\n }\n\n addStudentAvailability(uniqueId: string, data: { dayOfWeek: number; startTime: string; endTime: string; timezone?: string }): Observable<StudentAvailability> {\n return from(this.ensureConfigured().students.addAvailability(uniqueId, data));\n }\n\n updateStudentAvailability(uniqueId: string, availabilityUniqueId: string, data: { dayOfWeek?: number; startTime?: string; endTime?: string; timezone?: string }): Observable<StudentAvailability> {\n return from(this.ensureConfigured().students.updateAvailability(uniqueId, availabilityUniqueId, data));\n }\n\n updateStudentAvailabilitySlots(uniqueId: string, slots: { dayOfWeek: number; startTime: string; endTime: string }[]): Observable<StudentAvailability[]> {\n return from(this.ensureConfigured().students.updateAvailabilitySlots(uniqueId, slots));\n }\n\n deleteStudentAvailability(uniqueId: string, availabilityUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().students.deleteAvailability(uniqueId, availabilityUniqueId));\n }\n\n deleteAllStudentAvailability(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().students.deleteAllAvailability(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Course Groups Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n getCourseGroup(uniqueId: string): Observable<CourseGroup> {\n return from(this.ensureConfigured().courseGroups.get(uniqueId));\n }\n\n createCourseGroup(data: CreateCourseGroupRequest): Observable<CourseGroup> {\n return from(this.ensureConfigured().courseGroups.create(data));\n }\n\n addStudentToCourseGroup(uniqueId: string, studentUniqueId: string): Observable<CourseGroup> {\n return from(this.ensureConfigured().courseGroups.addStudent(uniqueId, studentUniqueId));\n }\n\n addTeacherToCourseGroup(uniqueId: string, teacherUniqueId: string): Observable<CourseGroup> {\n return from(this.ensureConfigured().courseGroups.addTeacher(uniqueId, teacherUniqueId));\n }\n\n getCourseGroupTests(uniqueId: string): Observable<unknown[]> {\n return from(this.ensureConfigured().courseGroups.getTests(uniqueId));\n }\n\n getCourseGroupTestResponses(uniqueId: string, testUniqueId: string): Observable<unknown[]> {\n return from(this.ensureConfigured().courseGroups.getTestResponses(uniqueId, testUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Coaching Sessions Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCoachingSessions(params?: ListCoachingSessionsParams): Observable<PageResult<CoachingSession>> {\n return from(this.ensureConfigured().coachingSessions.list(params));\n }\n\n createCoachingSession(data: CreateCoachingSessionRequest): Observable<CoachingSession> {\n return from(this.ensureConfigured().coachingSessions.create(data));\n }\n\n updateCoachingSession(uniqueId: string, data: UpdateCoachingSessionRequest): Observable<CoachingSession> {\n return from(this.ensureConfigured().coachingSessions.update(uniqueId, data));\n }\n\n deleteCoachingSession(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().coachingSessions.delete(uniqueId));\n }\n\n getCoachingSessionsByStudent(studentUniqueId: string): Observable<CoachingSession[]> {\n return from(this.ensureConfigured().coachingSessions.getByStudent(studentUniqueId));\n }\n\n getCoachingSessionsByTeacher(teacherUniqueId: string): Observable<CoachingSession[]> {\n return from(this.ensureConfigured().coachingSessions.getByTeacher(teacherUniqueId));\n }\n\n studentConfirmCoachingSession(uniqueId: string): Observable<CoachingSession> {\n return from(this.ensureConfigured().coachingSessions.studentConfirm(uniqueId));\n }\n\n studentCheckInCoachingSession(uniqueId: string): Observable<CoachingSession> {\n return from(this.ensureConfigured().coachingSessions.studentCheckIn(uniqueId));\n }\n\n studentCheckOutCoachingSession(uniqueId: string): Observable<CoachingSession> {\n return from(this.ensureConfigured().coachingSessions.studentCheckOut(uniqueId));\n }\n\n addStudentNotesToCoachingSession(uniqueId: string, notes: string): Observable<CoachingSession> {\n return from(this.ensureConfigured().coachingSessions.studentNotes(uniqueId, notes));\n }\n\n teacherConfirmCoachingSession(uniqueId: string): Observable<CoachingSession> {\n return from(this.ensureConfigured().coachingSessions.teacherConfirm(uniqueId));\n }\n\n teacherCheckInCoachingSession(uniqueId: string): Observable<CoachingSession> {\n return from(this.ensureConfigured().coachingSessions.teacherCheckIn(uniqueId));\n }\n\n teacherCheckOutCoachingSession(uniqueId: string): Observable<CoachingSession> {\n return from(this.ensureConfigured().coachingSessions.teacherCheckOut(uniqueId));\n }\n\n addAdminNotesToCoachingSession(uniqueId: string, notes: string): Observable<CoachingSession> {\n return from(this.ensureConfigured().coachingSessions.adminNotes(uniqueId, notes));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Content Tests Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listContentTests(params?: ListContentTestsParams): Observable<PageResult<ContentTest>> {\n return from(this.ensureConfigured().tests.list(params));\n }\n\n getContentTest(uniqueId: string): Observable<ContentTest> {\n return from(this.ensureConfigured().tests.get(uniqueId));\n }\n\n createContentTest(data: CreateContentTestRequest): Observable<ContentTest> {\n return from(this.ensureConfigured().tests.create(data));\n }\n\n updateContentTest(uniqueId: string, data: UpdateContentTestRequest): Observable<ContentTest> {\n return from(this.ensureConfigured().tests.update(uniqueId, data));\n }\n\n getContentTestResults(uniqueId: string): Observable<unknown[]> {\n return from(this.ensureConfigured().tests.getResults(uniqueId));\n }\n\n getContentTestSolution(uniqueId: string): Observable<unknown> {\n return from(this.ensureConfigured().tests.getSolution(uniqueId));\n }\n\n createTestQuestion(uniqueId: string, data: CreateQuestionRequest): Observable<TestQuestion> {\n return from(this.ensureConfigured().tests.createQuestion(uniqueId, data));\n }\n\n updateTestQuestion(uniqueId: string, questionUniqueId: string, data: Partial<CreateQuestionRequest>): Observable<TestQuestion> {\n return from(this.ensureConfigured().tests.updateQuestion(uniqueId, questionUniqueId, data));\n }\n\n getTestQuestion(uniqueId: string, questionId: string): Observable<TestQuestion> {\n return from(this.ensureConfigured().tests.getQuestion(uniqueId, questionId));\n }\n\n listTestOptions(): Observable<TestOption[]> {\n return from(this.ensureConfigured().tests.listOptions());\n }\n\n createTestOption(data: CreateOptionRequest): Observable<TestOption> {\n return from(this.ensureConfigured().tests.createOption(data));\n }\n\n updateTestOption(uniqueId: string, optionUniqueId: string, data: Partial<CreateOptionRequest>): Observable<TestOption> {\n return from(this.ensureConfigured().tests.updateOption(uniqueId, optionUniqueId, data));\n }\n\n addOptionToQuestion(uniqueId: string, questionId: string, optionId: string): Observable<TestQuestion> {\n return from(this.ensureConfigured().tests.addOptionToQuestion(uniqueId, questionId, optionId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Registration Tokens Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listRegistrationTokens(params?: ListRegistrationTokensParams): Observable<PageResult<RegistrationToken>> {\n return from(this.ensureConfigured().registrationTokens.list(params));\n }\n\n getRegistrationToken(uniqueId: string): Observable<RegistrationToken> {\n return from(this.ensureConfigured().registrationTokens.get(uniqueId));\n }\n\n createRegistrationToken(data: CreateRegistrationTokenRequest): Observable<RegistrationToken> {\n return from(this.ensureConfigured().registrationTokens.create(data));\n }\n\n updateRegistrationToken(uniqueId: string, data: UpdateRegistrationTokenRequest): Observable<RegistrationToken> {\n return from(this.ensureConfigured().registrationTokens.update(uniqueId, data));\n }\n\n deleteRegistrationToken(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().registrationTokens.delete(uniqueId));\n }\n\n validateRegistrationToken(tokenCode: string): Observable<TokenValidationResult> {\n return from(this.ensureConfigured().registrationTokens.validate(tokenCode));\n }\n\n useRegistrationToken(tokenCode: string, userUniqueId: string): Observable<{ success: boolean; enrollmentUniqueId?: string; error?: string }> {\n return from(this.ensureConfigured().registrationTokens.use(tokenCode, userUniqueId));\n }\n\n revokeRegistrationToken(uniqueId: string): Observable<RegistrationToken> {\n return from(this.ensureConfigured().registrationTokens.revoke(uniqueId));\n }\n\n generateRegistrationTokenBatch(request: CreateRegistrationTokenRequest & { count: number }): Observable<RegistrationToken[]> {\n return from(this.ensureConfigured().registrationTokens.generateBatch(request));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Placements Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n getPlacement(uniqueId: string): Observable<PlacementTest> {\n return from(this.ensureConfigured().placements.get(uniqueId));\n }\n\n listPlacementsByCourse(courseUniqueId: string, params?: ListPlacementsParams): Observable<PageResult<PlacementTest>> {\n return from(this.ensureConfigured().placements.listByCourse(courseUniqueId, params));\n }\n\n createPlacement(courseUniqueId: string, data: CreatePlacementRequest): Observable<PlacementTest> {\n return from(this.ensureConfigured().placements.create(courseUniqueId, data));\n }\n\n getPlacementSection(placementUniqueId: string, sectionId: string): Observable<PlacementSection> {\n return from(this.ensureConfigured().placements.getSection(placementUniqueId, sectionId));\n }\n\n createPlacementSection(placementUniqueId: string, data: CreatePlacementSectionRequest): Observable<PlacementSection> {\n return from(this.ensureConfigured().placements.createSection(placementUniqueId, data));\n }\n\n getPlacementQuestion(placementUniqueId: string, questionId: string): Observable<PlacementQuestion> {\n return from(this.ensureConfigured().placements.getQuestion(placementUniqueId, questionId));\n }\n\n createPlacementQuestion(placementUniqueId: string, data: CreatePlacementQuestionRequest): Observable<PlacementQuestion> {\n return from(this.ensureConfigured().placements.createQuestion(placementUniqueId, data));\n }\n\n addQuestionToPlacementSection(placementUniqueId: string, sectionId: string, questionId: string): Observable<void> {\n return from(this.ensureConfigured().placements.addQuestionToSection(placementUniqueId, sectionId, questionId));\n }\n\n listPlacementOptions(): Observable<PlacementOption[]> {\n return from(this.ensureConfigured().placements.listOptions());\n }\n\n createPlacementOption(data: CreatePlacementOptionRequest): Observable<PlacementOption> {\n return from(this.ensureConfigured().placements.createOption(data));\n }\n\n addOptionToPlacementQuestion(placementUniqueId: string, questionId: string, optionId: string): Observable<void> {\n return from(this.ensureConfigured().placements.addOptionToQuestion(placementUniqueId, questionId, optionId));\n }\n\n setPlacementRightOption(placementUniqueId: string, questionId: string, optionId: string): Observable<void> {\n return from(this.ensureConfigured().placements.setRightOption(placementUniqueId, questionId, optionId));\n }\n\n removePlacementOption(placementUniqueId: string, questionId: string, optionId: string): Observable<void> {\n return from(this.ensureConfigured().placements.removeOption(placementUniqueId, questionId, optionId));\n }\n\n createPlacementRule(placementUniqueId: string, data: CreatePlacementRuleRequest): Observable<PlacementRule> {\n return from(this.ensureConfigured().placements.createRule(placementUniqueId, data));\n }\n\n getUserPlacement(userUniqueId: string): Observable<PlacementInstance | null> {\n return from(this.ensureConfigured().placements.getUserPlacement(userUniqueId));\n }\n\n startPlacement(userUniqueId: string, placementUniqueId: string): Observable<PlacementInstance> {\n return from(this.ensureConfigured().placements.startPlacement(userUniqueId, placementUniqueId));\n }\n\n submitPlacementResponse(userUniqueId: string, instanceUniqueId: string, responses: PlacementResponse[]): Observable<PlacementInstance> {\n return from(this.ensureConfigured().placements.submitResponse(userUniqueId, instanceUniqueId, responses));\n }\n\n finishPlacement(userUniqueId: string, instanceUniqueId: string): Observable<PlacementInstance> {\n return from(this.ensureConfigured().placements.finishPlacement(userUniqueId, instanceUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Calendars Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n getCalendarStudentAvailability(userUniqueId: string): Observable<Availability[]> {\n return from(this.ensureConfigured().calendars.getStudentAvailability(userUniqueId));\n }\n\n addCalendarStudentAvailability(userUniqueId: string, data: CreateAvailabilityRequest): Observable<Availability> {\n return from(this.ensureConfigured().calendars.addStudentAvailability(userUniqueId, data));\n }\n\n updateCalendarStudentAvailability(userUniqueId: string, availabilityUniqueId: string, data: UpdateAvailabilityRequest): Observable<Availability> {\n return from(this.ensureConfigured().calendars.updateStudentAvailability(userUniqueId, availabilityUniqueId, data));\n }\n\n updateCalendarStudentAvailabilities(userUniqueId: string, data: BulkUpdateAvailabilityRequest): Observable<Availability[]> {\n return from(this.ensureConfigured().calendars.updateStudentAvailabilities(userUniqueId, data));\n }\n\n deleteCalendarStudentAvailability(userUniqueId: string, availabilityUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().calendars.deleteStudentAvailability(userUniqueId, availabilityUniqueId));\n }\n\n deleteAllCalendarStudentAvailability(userUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().calendars.deleteAllStudentAvailability(userUniqueId));\n }\n\n getCalendarTeacherAvailability(teacherUniqueId: string): Observable<Availability[]> {\n return from(this.ensureConfigured().calendars.getTeacherAvailability(teacherUniqueId));\n }\n\n addCalendarTeacherAvailability(teacherUniqueId: string, data: CreateAvailabilityRequest): Observable<Availability> {\n return from(this.ensureConfigured().calendars.addTeacherAvailability(teacherUniqueId, data));\n }\n\n updateCalendarTeacherAvailability(teacherUniqueId: string, availabilityUniqueId: string, data: UpdateAvailabilityRequest): Observable<Availability> {\n return from(this.ensureConfigured().calendars.updateTeacherAvailability(teacherUniqueId, availabilityUniqueId, data));\n }\n\n deleteCalendarTeacherAvailability(teacherUniqueId: string, availabilityUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().calendars.deleteTeacherAvailability(teacherUniqueId, availabilityUniqueId));\n }\n\n deleteAllCalendarTeacherAvailability(teacherUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().calendars.deleteAllTeacherAvailability(teacherUniqueId));\n }\n\n listCalendarEvents(params?: ListCalendarEventsParams): Observable<PageResult<CalendarEvent>> {\n return from(this.ensureConfigured().calendars.listEvents(params));\n }\n\n getCalendarEvent(uniqueId: string): Observable<CalendarEvent> {\n return from(this.ensureConfigured().calendars.getEvent(uniqueId));\n }\n\n createCalendarEvent(data: CreateCalendarEventRequest): Observable<CalendarEvent> {\n return from(this.ensureConfigured().calendars.createEvent(data));\n }\n\n updateCalendarEvent(uniqueId: string, data: UpdateCalendarEventRequest): Observable<CalendarEvent> {\n return from(this.ensureConfigured().calendars.updateEvent(uniqueId, data));\n }\n\n deleteCalendarEvent(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().calendars.deleteEvent(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Matches Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n createMatch(data: CreateMatchRequest): Observable<Match> {\n return from(this.ensureConfigured().matches.create(data));\n }\n\n activateMatch(uniqueId: string): Observable<Match> {\n return from(this.ensureConfigured().matches.activate(uniqueId));\n }\n\n deactivateMatch(uniqueId: string): Observable<Match> {\n return from(this.ensureConfigured().matches.deactivate(uniqueId));\n }\n\n deleteMatch(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().matches.delete(uniqueId));\n }\n\n getActiveMatchByStudent(studentUniqueId: string): Observable<Match | null> {\n return from(this.ensureConfigured().matches.getActiveByStudent(studentUniqueId));\n }\n\n getAllMatchesByStudent(studentUniqueId: string): Observable<Match[]> {\n return from(this.ensureConfigured().matches.getAllByStudent(studentUniqueId));\n }\n\n getAvailableMatchesByStudent(studentUniqueId: string): Observable<Match[]> {\n return from(this.ensureConfigured().matches.getAvailableByStudent(studentUniqueId));\n }\n\n getActiveMatchByTeacher(teacherUniqueId: string): Observable<Match | null> {\n return from(this.ensureConfigured().matches.getActiveByTeacher(teacherUniqueId));\n }\n\n getAllMatchesByTeacher(teacherUniqueId: string): Observable<Match[]> {\n return from(this.ensureConfigured().matches.getAllByTeacher(teacherUniqueId));\n }\n\n getAvailableMatchesByTeacher(teacherUniqueId: string): Observable<Match[]> {\n return from(this.ensureConfigured().matches.getAvailableByTeacher(teacherUniqueId));\n }\n\n findCoaches(studentUniqueId: string, request?: FindCoachesRequest): Observable<AvailableCoach[]> {\n return from(this.ensureConfigured().matches.findCoaches(studentUniqueId, request));\n }\n\n findCoachees(teacherUniqueId: string, request?: FindCoacheesRequest): Observable<AvailableCoachee[]> {\n return from(this.ensureConfigured().matches.findCoachees(teacherUniqueId, request));\n }\n\n evaluateMatches(request: EvaluateMatchesRequest): Observable<MatchEvaluation[]> {\n return from(this.ensureConfigured().matches.evaluateMatches(request));\n }\n\n evaluateAvailabilities(request: EvaluateAvailabilitiesRequest): Observable<MatchEvaluation[]> {\n return from(this.ensureConfigured().matches.evaluateAvailabilities(request));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Attendance Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listAttendance(params?: ListAttendanceParams): Observable<PageResult<Attendance>> {\n return from(this.ensureConfigured().attendance.list(params));\n }\n\n getAttendance(uniqueId: string): Observable<Attendance> {\n return from(this.ensureConfigured().attendance.get(uniqueId));\n }\n\n createAttendance(data: CreateAttendanceRequest): Observable<Attendance> {\n return from(this.ensureConfigured().attendance.create(data));\n }\n\n updateAttendance(uniqueId: string, data: UpdateAttendanceRequest): Observable<Attendance> {\n return from(this.ensureConfigured().attendance.update(uniqueId, data));\n }\n\n deleteAttendance(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().attendance.delete(uniqueId));\n }\n\n bulkCreateAttendance(data: BulkAttendanceRequest): Observable<Attendance[]> {\n return from(this.ensureConfigured().attendance.bulkCreate(data));\n }\n\n listAttendanceByLesson(lessonUniqueId: string, params?: ListAttendanceParams): Observable<PageResult<Attendance>> {\n return from(this.ensureConfigured().attendance.listByLesson(lessonUniqueId, params));\n }\n\n listAttendanceByStudent(studentUniqueId: string, params?: ListAttendanceParams): Observable<PageResult<Attendance>> {\n return from(this.ensureConfigured().attendance.listByStudent(studentUniqueId, params));\n }\n\n listAttendanceByCourse(courseUniqueId: string, params?: ListAttendanceParams): Observable<PageResult<Attendance>> {\n return from(this.ensureConfigured().attendance.listByCourse(courseUniqueId, params));\n }\n\n getStudentAttendanceStats(studentUniqueId: string, courseUniqueId?: string): Observable<AttendanceStats> {\n return from(this.ensureConfigured().attendance.getStudentStats(studentUniqueId, courseUniqueId));\n }\n\n verifyAttendance(uniqueId: string): Observable<Attendance> {\n return from(this.ensureConfigured().attendance.verify(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Notes Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listNotes(params?: ListNotesParams): Observable<PageResult<Note>> {\n return from(this.ensureConfigured().notes.list(params));\n }\n\n getNote(uniqueId: string): Observable<Note> {\n return from(this.ensureConfigured().notes.get(uniqueId));\n }\n\n createNote(data: CreateNoteRequest): Observable<Note> {\n return from(this.ensureConfigured().notes.create(data));\n }\n\n updateNote(uniqueId: string, data: UpdateNoteRequest): Observable<Note> {\n return from(this.ensureConfigured().notes.update(uniqueId, data));\n }\n\n deleteNote(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().notes.delete(uniqueId));\n }\n\n listNotesByAuthor(authorUniqueId: string, params?: ListNotesParams): Observable<PageResult<Note>> {\n return from(this.ensureConfigured().notes.listByAuthor(authorUniqueId, params));\n }\n\n listNotesByTarget(targetUniqueId: string, targetType: string, params?: ListNotesParams): Observable<PageResult<Note>> {\n return from(this.ensureConfigured().notes.listByTarget(targetUniqueId, targetType, params));\n }\n\n listNotesByCourse(courseUniqueId: string, params?: ListNotesParams): Observable<PageResult<Note>> {\n return from(this.ensureConfigured().notes.listByCourse(courseUniqueId, params));\n }\n\n listNotesByLesson(lessonUniqueId: string, params?: ListNotesParams): Observable<PageResult<Note>> {\n return from(this.ensureConfigured().notes.listByLesson(lessonUniqueId, params));\n }\n\n pinNote(uniqueId: string): Observable<Note> {\n return from(this.ensureConfigured().notes.pin(uniqueId));\n }\n\n unpinNote(uniqueId: string): Observable<Note> {\n return from(this.ensureConfigured().notes.unpin(uniqueId));\n }\n\n getNoteReplies(uniqueId: string): Observable<Note[]> {\n return from(this.ensureConfigured().notes.getReplies(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get universityBlock(): UniversityBlock {\n return this.ensureConfigured();\n }\n}\n","// ─────────────────────────────────────────────────────────────────────────────\n// Main API (Recommended)\n// ─────────────────────────────────────────────────────────────────────────────\nexport {\n // Main exports\n provideBlocks23,\n getBlocks23Providers,\n type ProviderConfig,\n type ServiceUrls,\n type AuthMode,\n type StorageType,\n type TokenManagerService,\n TOKEN_MANAGER,\n PROVIDER_CONFIG,\n\n // Backward compatibility (deprecated)\n type Simple23BlocksConfig,\n SIMPLE_CONFIG,\n} from './simple-providers';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Advanced API (Custom transport)\n// ─────────────────────────────────────────────────────────────────────────────\n// Tokens\nexport {\n // Legacy shared transport (deprecated)\n TRANSPORT,\n // Per-service transport tokens\n AUTHENTICATION_TRANSPORT,\n SEARCH_TRANSPORT,\n PRODUCTS_TRANSPORT,\n CRM_TRANSPORT,\n CONTENT_TRANSPORT,\n GEOLOCATION_TRANSPORT,\n CONVERSATIONS_TRANSPORT,\n FILES_TRANSPORT,\n FORMS_TRANSPORT,\n ASSETS_TRANSPORT,\n CAMPAIGNS_TRANSPORT,\n COMPANY_TRANSPORT,\n REWARDS_TRANSPORT,\n SALES_TRANSPORT,\n WALLET_TRANSPORT,\n JARVIS_TRANSPORT,\n ONBOARDING_TRANSPORT,\n UNIVERSITY_TRANSPORT,\n // Config tokens\n AUTHENTICATION_CONFIG,\n SEARCH_CONFIG,\n PRODUCTS_CONFIG,\n CRM_CONFIG,\n CONTENT_CONFIG,\n GEOLOCATION_CONFIG,\n CONVERSATIONS_CONFIG,\n FILES_CONFIG,\n FORMS_CONFIG,\n ASSETS_CONFIG,\n CAMPAIGNS_CONFIG,\n COMPANY_CONFIG,\n REWARDS_CONFIG,\n SALES_CONFIG,\n WALLET_CONFIG,\n JARVIS_CONFIG,\n ONBOARDING_CONFIG,\n UNIVERSITY_CONFIG,\n} from './tokens';\n\n// Provider functions (advanced - requires custom transport)\nexport { provide23Blocks, get23BlocksProviders, type Provide23BlocksConfig } from './providers';\n\n// Services\nexport { AuthenticationService } from './authentication/index';\nexport { SearchService } from './search/index';\nexport { ProductsService } from './products/index';\nexport { CrmService } from './crm/index';\nexport { ContentService } from './content/index';\nexport { GeolocationService } from './geolocation/index';\nexport { ConversationsService } from './conversations/index';\nexport { FilesService } from './files/index';\nexport { FormsService } from './forms/index';\nexport { AssetsService } from './assets/index';\nexport { CampaignsService } from './campaigns/index';\nexport { CompanyService } from './company/index';\nexport { RewardsService } from './rewards/index';\nexport { SalesService } from './sales/index';\nexport { WalletService } from './wallet/index';\nexport { JarvisService } from './jarvis/index';\nexport { OnboardingService } from './onboarding/index';\nexport { UniversityService } from './university/index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"23blocks-angular.mjs","sources":["../../src/lib/tokens.ts","../../src/lib/simple-providers.ts","../../src/lib/providers.ts","../../src/lib/authentication/authentication.service.ts","../../src/lib/search/search.service.ts","../../src/lib/products/products.service.ts","../../src/lib/crm/crm.service.ts","../../src/lib/content/content.service.ts","../../src/lib/geolocation/geolocation.service.ts","../../src/lib/conversations/conversations.service.ts","../../src/lib/files/files.service.ts","../../src/lib/forms/forms.service.ts","../../src/lib/assets/assets.service.ts","../../src/lib/campaigns/campaigns.service.ts","../../src/lib/company/company.service.ts","../../src/lib/rewards/rewards.service.ts","../../src/lib/sales/sales.service.ts","../../src/lib/wallet/wallet.service.ts","../../src/lib/jarvis/jarvis.service.ts","../../src/lib/onboarding/onboarding.service.ts","../../src/lib/university/university.service.ts","../../src/lib/index.ts","../../src/23blocks-angular.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport type { Transport } from '@23blocks/contracts';\nimport type { AuthenticationBlockConfig } from '@23blocks/block-authentication';\nimport type { SearchBlockConfig } from '@23blocks/block-search';\nimport type { GeolocationBlockConfig } from '@23blocks/block-geolocation';\nimport type { ContentBlockConfig } from '@23blocks/block-content';\nimport type { CrmBlockConfig } from '@23blocks/block-crm';\nimport type { ProductsBlockConfig } from '@23blocks/block-products';\nimport type { ConversationsBlockConfig } from '@23blocks/block-conversations';\nimport type { FilesBlockConfig } from '@23blocks/block-files';\nimport type { AssetsBlockConfig } from '@23blocks/block-assets';\nimport type { FormsBlockConfig } from '@23blocks/block-forms';\nimport type { SalesBlockConfig } from '@23blocks/block-sales';\nimport type { CampaignsBlockConfig } from '@23blocks/block-campaigns';\nimport type { CompanyBlockConfig } from '@23blocks/block-company';\nimport type { RewardsBlockConfig } from '@23blocks/block-rewards';\nimport type { JarvisBlockConfig } from '@23blocks/block-jarvis';\nimport type { OnboardingBlockConfig } from '@23blocks/block-onboarding';\nimport type { UniversityBlockConfig } from '@23blocks/block-university';\nimport type { WalletBlockConfig } from '@23blocks/block-wallet';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Transport Tokens (per-service)\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * @deprecated Use per-service transport tokens (AUTHENTICATION_TRANSPORT, etc.)\n * Shared transport token - only for backward compatibility with advanced API\n */\nexport const TRANSPORT = new InjectionToken<Transport>('23blocks.transport');\n\n/** Transport for Authentication service */\nexport const AUTHENTICATION_TRANSPORT = new InjectionToken<Transport | null>('23blocks.authentication.transport');\n\n/** Transport for Search service */\nexport const SEARCH_TRANSPORT = new InjectionToken<Transport | null>('23blocks.search.transport');\n\n/** Transport for Products service */\nexport const PRODUCTS_TRANSPORT = new InjectionToken<Transport | null>('23blocks.products.transport');\n\n/** Transport for CRM service */\nexport const CRM_TRANSPORT = new InjectionToken<Transport | null>('23blocks.crm.transport');\n\n/** Transport for Content service */\nexport const CONTENT_TRANSPORT = new InjectionToken<Transport | null>('23blocks.content.transport');\n\n/** Transport for Geolocation service */\nexport const GEOLOCATION_TRANSPORT = new InjectionToken<Transport | null>('23blocks.geolocation.transport');\n\n/** Transport for Conversations service */\nexport const CONVERSATIONS_TRANSPORT = new InjectionToken<Transport | null>('23blocks.conversations.transport');\n\n/** Transport for Files service */\nexport const FILES_TRANSPORT = new InjectionToken<Transport | null>('23blocks.files.transport');\n\n/** Transport for Forms service */\nexport const FORMS_TRANSPORT = new InjectionToken<Transport | null>('23blocks.forms.transport');\n\n/** Transport for Assets service */\nexport const ASSETS_TRANSPORT = new InjectionToken<Transport | null>('23blocks.assets.transport');\n\n/** Transport for Campaigns service */\nexport const CAMPAIGNS_TRANSPORT = new InjectionToken<Transport | null>('23blocks.campaigns.transport');\n\n/** Transport for Company service */\nexport const COMPANY_TRANSPORT = new InjectionToken<Transport | null>('23blocks.company.transport');\n\n/** Transport for Rewards service */\nexport const REWARDS_TRANSPORT = new InjectionToken<Transport | null>('23blocks.rewards.transport');\n\n/** Transport for Sales service */\nexport const SALES_TRANSPORT = new InjectionToken<Transport | null>('23blocks.sales.transport');\n\n/** Transport for Wallet service */\nexport const WALLET_TRANSPORT = new InjectionToken<Transport | null>('23blocks.wallet.transport');\n\n/** Transport for Jarvis service */\nexport const JARVIS_TRANSPORT = new InjectionToken<Transport | null>('23blocks.jarvis.transport');\n\n/** Transport for Onboarding service */\nexport const ONBOARDING_TRANSPORT = new InjectionToken<Transport | null>('23blocks.onboarding.transport');\n\n/** Transport for University service */\nexport const UNIVERSITY_TRANSPORT = new InjectionToken<Transport | null>('23blocks.university.transport');\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Config Tokens (per-service)\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Injection token for Authentication block configuration\n */\nexport const AUTHENTICATION_CONFIG = new InjectionToken<AuthenticationBlockConfig>(\n '23blocks.authentication.config'\n);\n\n/**\n * Injection token for Search block configuration\n */\nexport const SEARCH_CONFIG = new InjectionToken<SearchBlockConfig>(\n '23blocks.search.config'\n);\n\n/**\n * Injection token for Geolocation block configuration\n */\nexport const GEOLOCATION_CONFIG = new InjectionToken<GeolocationBlockConfig>(\n '23blocks.geolocation.config'\n);\n\n/**\n * Injection token for Content block configuration\n */\nexport const CONTENT_CONFIG = new InjectionToken<ContentBlockConfig>(\n '23blocks.content.config'\n);\n\n/**\n * Injection token for CRM block configuration\n */\nexport const CRM_CONFIG = new InjectionToken<CrmBlockConfig>(\n '23blocks.crm.config'\n);\n\n/**\n * Injection token for Products block configuration\n */\nexport const PRODUCTS_CONFIG = new InjectionToken<ProductsBlockConfig>(\n '23blocks.products.config'\n);\n\n/**\n * Injection token for Conversations block configuration\n */\nexport const CONVERSATIONS_CONFIG = new InjectionToken<ConversationsBlockConfig>(\n '23blocks.conversations.config'\n);\n\n/**\n * Injection token for Files block configuration\n */\nexport const FILES_CONFIG = new InjectionToken<FilesBlockConfig>(\n '23blocks.files.config'\n);\n\n/**\n * Injection token for Assets block configuration\n */\nexport const ASSETS_CONFIG = new InjectionToken<AssetsBlockConfig>(\n '23blocks.assets.config'\n);\n\n/**\n * Injection token for Forms block configuration\n */\nexport const FORMS_CONFIG = new InjectionToken<FormsBlockConfig>(\n '23blocks.forms.config'\n);\n\n/**\n * Injection token for Sales block configuration\n */\nexport const SALES_CONFIG = new InjectionToken<SalesBlockConfig>(\n '23blocks.sales.config'\n);\n\n/**\n * Injection token for Campaigns block configuration\n */\nexport const CAMPAIGNS_CONFIG = new InjectionToken<CampaignsBlockConfig>(\n '23blocks.campaigns.config'\n);\n\n/**\n * Injection token for Company block configuration\n */\nexport const COMPANY_CONFIG = new InjectionToken<CompanyBlockConfig>(\n '23blocks.company.config'\n);\n\n/**\n * Injection token for Rewards block configuration\n */\nexport const REWARDS_CONFIG = new InjectionToken<RewardsBlockConfig>(\n '23blocks.rewards.config'\n);\n\n/**\n * Injection token for Jarvis block configuration\n */\nexport const JARVIS_CONFIG = new InjectionToken<JarvisBlockConfig>(\n '23blocks.jarvis.config'\n);\n\n/**\n * Injection token for Onboarding block configuration\n */\nexport const ONBOARDING_CONFIG = new InjectionToken<OnboardingBlockConfig>(\n '23blocks.onboarding.config'\n);\n\n/**\n * Injection token for University block configuration\n */\nexport const UNIVERSITY_CONFIG = new InjectionToken<UniversityBlockConfig>(\n '23blocks.university.config'\n);\n\n/**\n * Injection token for Wallet block configuration\n */\nexport const WALLET_CONFIG = new InjectionToken<WalletBlockConfig>(\n '23blocks.wallet.config'\n);\n","import type { Provider, EnvironmentProviders } from '@angular/core';\nimport { InjectionToken, makeEnvironmentProviders } from '@angular/core';\nimport { createHttpTransport } from '@23blocks/transport-http';\nimport type { Transport } from '@23blocks/contracts';\nimport {\n TRANSPORT,\n // Per-service transport tokens\n AUTHENTICATION_TRANSPORT,\n SEARCH_TRANSPORT,\n PRODUCTS_TRANSPORT,\n CRM_TRANSPORT,\n CONTENT_TRANSPORT,\n GEOLOCATION_TRANSPORT,\n CONVERSATIONS_TRANSPORT,\n FILES_TRANSPORT,\n FORMS_TRANSPORT,\n ASSETS_TRANSPORT,\n CAMPAIGNS_TRANSPORT,\n COMPANY_TRANSPORT,\n REWARDS_TRANSPORT,\n SALES_TRANSPORT,\n WALLET_TRANSPORT,\n JARVIS_TRANSPORT,\n ONBOARDING_TRANSPORT,\n UNIVERSITY_TRANSPORT,\n // Config tokens\n AUTHENTICATION_CONFIG,\n SEARCH_CONFIG,\n PRODUCTS_CONFIG,\n CRM_CONFIG,\n CONTENT_CONFIG,\n GEOLOCATION_CONFIG,\n CONVERSATIONS_CONFIG,\n FILES_CONFIG,\n FORMS_CONFIG,\n ASSETS_CONFIG,\n CAMPAIGNS_CONFIG,\n COMPANY_CONFIG,\n REWARDS_CONFIG,\n SALES_CONFIG,\n WALLET_CONFIG,\n JARVIS_CONFIG,\n ONBOARDING_CONFIG,\n UNIVERSITY_CONFIG,\n} from './tokens';\n\n/**\n * Authentication mode\n */\nexport type AuthMode = 'token' | 'cookie';\n\n/**\n * Storage type for token mode\n */\nexport type StorageType = 'localStorage' | 'sessionStorage' | 'memory';\n\n/**\n * Service URL configuration - each microservice has its own URL.\n * All URLs are optional - only configure the services you need.\n */\nexport interface ServiceUrls {\n /** Authentication service URL */\n authentication?: string;\n /** Search service URL */\n search?: string;\n /** Products service URL */\n products?: string;\n /** CRM service URL */\n crm?: string;\n /** Content service URL */\n content?: string;\n /** Geolocation service URL */\n geolocation?: string;\n /** Conversations service URL */\n conversations?: string;\n /** Files service URL */\n files?: string;\n /** Forms service URL */\n forms?: string;\n /** Assets service URL */\n assets?: string;\n /** Campaigns service URL */\n campaigns?: string;\n /** Company service URL */\n company?: string;\n /** Rewards service URL */\n rewards?: string;\n /** Sales service URL */\n sales?: string;\n /** Wallet service URL */\n wallet?: string;\n /** Jarvis (AI) service URL */\n jarvis?: string;\n /** Onboarding service URL */\n onboarding?: string;\n /** University (LMS) service URL */\n university?: string;\n}\n\n/**\n * Configuration for providing 23blocks services\n */\nexport interface ProviderConfig {\n /**\n * Service URLs for each microservice.\n * Only configure the services you need - accessing a service without\n * a configured URL will throw an error.\n *\n * @example\n * ```typescript\n * provideBlocks23({\n * apiKey: 'your-api-key',\n * urls: {\n * authentication: 'https://gateway.23blocks.com',\n * crm: 'https://crm.23blocks.com',\n * products: 'https://products.23blocks.com',\n * },\n * })\n * ```\n */\n urls: ServiceUrls;\n\n /**\n * API Key for authenticating with 23blocks services\n */\n apiKey: string;\n\n /**\n * Tenant ID (optional, for multi-tenant setups)\n */\n tenantId?: string;\n\n /**\n * Authentication mode\n * - 'token' (default): SDK stores tokens in localStorage/sessionStorage/memory\n * - 'cookie': Backend manages auth via httpOnly cookies\n */\n authMode?: AuthMode;\n\n /**\n * Storage type for token mode\n * @default 'localStorage'\n */\n storage?: StorageType;\n\n /**\n * Additional headers to include with every request\n */\n headers?: Record<string, string>;\n\n /**\n * Request timeout in milliseconds\n * @default 30000\n */\n timeout?: number;\n}\n\n/**\n * Injection token for the token manager (internal use)\n */\nexport const TOKEN_MANAGER = new InjectionToken<TokenManagerService>('23blocks.token-manager');\n\n/**\n * Injection token for provider config\n */\nexport const PROVIDER_CONFIG = new InjectionToken<ProviderConfig>('23blocks.provider-config');\n\n/** @deprecated Use PROVIDER_CONFIG instead */\nexport const SIMPLE_CONFIG = PROVIDER_CONFIG;\n\n/**\n * Token manager interface\n */\nexport interface TokenManagerService {\n getAccessToken(): string | null;\n getRefreshToken(): string | null;\n setTokens(accessToken: string, refreshToken?: string): void;\n clearTokens(): void;\n /**\n * Subscribe to storage changes from other tabs/windows.\n * Returns an unsubscribe function.\n */\n onStorageChange(callback: () => void): () => void;\n}\n\n/**\n * Generate storage key scoped to API key and tenant\n */\nfunction getStorageKey(type: 'access' | 'refresh', apiKey: string, tenantId?: string): string {\n const scope = tenantId ? `${apiKey}_${tenantId}` : apiKey;\n return `23blocks_${scope}_${type}_token`;\n}\n\n/**\n * In-memory storage for SSR\n */\nclass MemoryStorage {\n private data = new Map<string, string>();\n getItem(key: string): string | null {\n return this.data.get(key) ?? null;\n }\n setItem(key: string, value: string): void {\n this.data.set(key, value);\n }\n removeItem(key: string): void {\n this.data.delete(key);\n }\n}\n\n/**\n * Create a token manager with scoped storage keys and cross-tab sync\n */\nfunction createTokenManager(\n apiKey: string,\n storageType: StorageType,\n tenantId?: string\n): TokenManagerService {\n const isBrowser = typeof window !== 'undefined' && typeof window.localStorage !== 'undefined';\n\n const accessTokenKey = getStorageKey('access', apiKey, tenantId);\n const refreshTokenKey = getStorageKey('refresh', apiKey, tenantId);\n\n let storage: Storage | MemoryStorage;\n if (!isBrowser) {\n storage = new MemoryStorage();\n } else {\n switch (storageType) {\n case 'sessionStorage':\n storage = window.sessionStorage;\n break;\n case 'memory':\n storage = new MemoryStorage();\n break;\n default:\n storage = window.localStorage;\n }\n }\n\n return {\n getAccessToken(): string | null {\n try {\n return storage.getItem(accessTokenKey);\n } catch {\n return null;\n }\n },\n getRefreshToken(): string | null {\n try {\n return storage.getItem(refreshTokenKey);\n } catch {\n return null;\n }\n },\n setTokens(accessToken: string, refreshToken?: string): void {\n try {\n storage.setItem(accessTokenKey, accessToken);\n if (refreshToken) {\n storage.setItem(refreshTokenKey, refreshToken);\n }\n } catch {\n console.warn('[23blocks] Unable to store tokens');\n }\n },\n clearTokens(): void {\n try {\n storage.removeItem(accessTokenKey);\n storage.removeItem(refreshTokenKey);\n } catch {\n // Silently fail\n }\n },\n onStorageChange(callback: () => void): () => void {\n // Only works in browser with localStorage/sessionStorage\n if (!isBrowser || storageType === 'memory') {\n // Return no-op unsubscribe for SSR/memory storage\n return () => {};\n }\n\n const handler = (event: StorageEvent) => {\n // Only trigger if our keys changed\n if (event.key === accessTokenKey || event.key === refreshTokenKey) {\n callback();\n }\n };\n\n window.addEventListener('storage', handler);\n\n // Return unsubscribe function\n return () => {\n window.removeEventListener('storage', handler);\n };\n },\n };\n}\n\n/**\n * Create transport with automatic token handling for a specific URL\n */\nfunction createTransportWithAuth(\n baseUrl: string,\n config: ProviderConfig,\n tokenManager: TokenManagerService\n): Transport {\n return createHttpTransport({\n baseUrl,\n timeout: config.timeout,\n credentials: config.authMode === 'cookie' ? 'include' : undefined,\n headers: () => {\n const headers: Record<string, string> = {\n ...config.headers,\n 'x-api-key': config.apiKey,\n };\n\n if (config.tenantId) {\n headers['tenant-id'] = config.tenantId;\n }\n\n // In token mode, add Authorization header if we have a token\n if (config.authMode !== 'cookie') {\n const token = tokenManager.getAccessToken();\n if (token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n }\n\n return headers;\n },\n });\n}\n\n/**\n * Provide 23blocks services with simplified configuration.\n *\n * This is the recommended way to set up 23blocks in new Angular applications.\n * It automatically handles token storage and authentication headers.\n *\n * Services are only available if their URL is configured. Accessing a service\n * without a configured URL will throw an error.\n *\n * @example Basic usage with multiple services\n * ```typescript\n * // app.config.ts\n * import { ApplicationConfig } from '@angular/core';\n * import { provideBlocks23 } from '@23blocks/angular';\n *\n * export const appConfig: ApplicationConfig = {\n * providers: [\n * provideBlocks23({\n * apiKey: 'your-api-key',\n * urls: {\n * authentication: 'https://gateway.23blocks.com',\n * crm: 'https://crm.23blocks.com',\n * products: 'https://products.23blocks.com',\n * },\n * }),\n * ],\n * };\n * ```\n *\n * @example Cookie mode (recommended for security)\n * ```typescript\n * export const appConfig: ApplicationConfig = {\n * providers: [\n * provideBlocks23({\n * apiKey: 'your-api-key',\n * authMode: 'cookie',\n * urls: {\n * authentication: 'https://gateway.23blocks.com',\n * crm: 'https://crm.23blocks.com',\n * },\n * }),\n * ],\n * };\n * ```\n */\nexport function provideBlocks23(config: ProviderConfig): EnvironmentProviders {\n // Block config for all services\n const blockConfig = { apiKey: config.apiKey, tenantId: config.tenantId };\n\n // Helper to create transport provider for a service URL\n const createTransportProvider = (\n token: InjectionToken<Transport | null>,\n url: string | undefined\n ): Provider => ({\n provide: token,\n useFactory: (tokenManager: TokenManagerService) => {\n if (!url) return null;\n return createTransportWithAuth(url, config, tokenManager);\n },\n deps: [TOKEN_MANAGER],\n });\n\n const providers: Provider[] = [\n // Store config for injection\n { provide: PROVIDER_CONFIG, useValue: config },\n\n // Token manager factory - creates singleton within the injector\n {\n provide: TOKEN_MANAGER,\n useFactory: () => {\n const storage = config.storage ?? 'localStorage';\n return createTokenManager(config.apiKey, storage, config.tenantId);\n },\n },\n\n // Per-service transport factories (null if URL not configured)\n createTransportProvider(AUTHENTICATION_TRANSPORT, config.urls.authentication),\n createTransportProvider(SEARCH_TRANSPORT, config.urls.search),\n createTransportProvider(PRODUCTS_TRANSPORT, config.urls.products),\n createTransportProvider(CRM_TRANSPORT, config.urls.crm),\n createTransportProvider(CONTENT_TRANSPORT, config.urls.content),\n createTransportProvider(GEOLOCATION_TRANSPORT, config.urls.geolocation),\n createTransportProvider(CONVERSATIONS_TRANSPORT, config.urls.conversations),\n createTransportProvider(FILES_TRANSPORT, config.urls.files),\n createTransportProvider(FORMS_TRANSPORT, config.urls.forms),\n createTransportProvider(ASSETS_TRANSPORT, config.urls.assets),\n createTransportProvider(CAMPAIGNS_TRANSPORT, config.urls.campaigns),\n createTransportProvider(COMPANY_TRANSPORT, config.urls.company),\n createTransportProvider(REWARDS_TRANSPORT, config.urls.rewards),\n createTransportProvider(SALES_TRANSPORT, config.urls.sales),\n createTransportProvider(WALLET_TRANSPORT, config.urls.wallet),\n createTransportProvider(JARVIS_TRANSPORT, config.urls.jarvis),\n createTransportProvider(ONBOARDING_TRANSPORT, config.urls.onboarding),\n createTransportProvider(UNIVERSITY_TRANSPORT, config.urls.university),\n\n // Backward compatibility: provide TRANSPORT token using auth URL if available\n // (for advanced API users who still inject TRANSPORT directly)\n {\n provide: TRANSPORT,\n useFactory: (tokenManager: TokenManagerService) => {\n // Use auth URL if available, otherwise create a dummy transport that throws\n const url = config.urls.authentication;\n if (url) {\n return createTransportWithAuth(url, config, tokenManager);\n }\n // Return a transport that throws helpful errors\n return {\n request: () => {\n throw new Error(\n '[23blocks] TRANSPORT is not configured. ' +\n 'Use per-service transport tokens or configure urls.authentication.'\n );\n },\n };\n },\n deps: [TOKEN_MANAGER],\n },\n\n // Block configs\n { provide: AUTHENTICATION_CONFIG, useValue: blockConfig },\n { provide: SEARCH_CONFIG, useValue: blockConfig },\n { provide: PRODUCTS_CONFIG, useValue: blockConfig },\n { provide: CRM_CONFIG, useValue: blockConfig },\n { provide: CONTENT_CONFIG, useValue: blockConfig },\n { provide: GEOLOCATION_CONFIG, useValue: blockConfig },\n { provide: CONVERSATIONS_CONFIG, useValue: blockConfig },\n { provide: FILES_CONFIG, useValue: blockConfig },\n { provide: FORMS_CONFIG, useValue: blockConfig },\n { provide: ASSETS_CONFIG, useValue: blockConfig },\n { provide: CAMPAIGNS_CONFIG, useValue: blockConfig },\n { provide: COMPANY_CONFIG, useValue: blockConfig },\n { provide: REWARDS_CONFIG, useValue: blockConfig },\n { provide: SALES_CONFIG, useValue: blockConfig },\n { provide: WALLET_CONFIG, useValue: blockConfig },\n { provide: JARVIS_CONFIG, useValue: blockConfig },\n { provide: ONBOARDING_CONFIG, useValue: blockConfig },\n { provide: UNIVERSITY_CONFIG, useValue: blockConfig },\n ];\n\n return makeEnvironmentProviders(providers);\n}\n\n/**\n * Get providers array for NgModule-based applications with simplified config.\n *\n * Services are only available if their URL is configured. Accessing a service\n * without a configured URL will throw an error.\n *\n * @example\n * ```typescript\n * // app.module.ts\n * import { NgModule } from '@angular/core';\n * import { getBlocks23Providers } from '@23blocks/angular';\n *\n * @NgModule({\n * providers: [\n * ...getBlocks23Providers({\n * apiKey: 'your-api-key',\n * urls: {\n * authentication: 'https://gateway.23blocks.com',\n * crm: 'https://crm.23blocks.com',\n * },\n * }),\n * ],\n * })\n * export class AppModule {}\n * ```\n */\nexport function getBlocks23Providers(config: ProviderConfig): Provider[] {\n // Block config for all services\n const blockConfig = { apiKey: config.apiKey, tenantId: config.tenantId };\n\n // Helper to create transport provider for a service URL\n const createTransportProvider = (\n token: InjectionToken<Transport | null>,\n url: string | undefined\n ): Provider => ({\n provide: token,\n useFactory: (tokenManager: TokenManagerService) => {\n if (!url) return null;\n return createTransportWithAuth(url, config, tokenManager);\n },\n deps: [TOKEN_MANAGER],\n });\n\n return [\n // Store config for injection\n { provide: PROVIDER_CONFIG, useValue: config },\n\n // Token manager factory - creates singleton within the injector\n {\n provide: TOKEN_MANAGER,\n useFactory: () => {\n const storage = config.storage ?? 'localStorage';\n return createTokenManager(config.apiKey, storage, config.tenantId);\n },\n },\n\n // Per-service transport factories (null if URL not configured)\n createTransportProvider(AUTHENTICATION_TRANSPORT, config.urls.authentication),\n createTransportProvider(SEARCH_TRANSPORT, config.urls.search),\n createTransportProvider(PRODUCTS_TRANSPORT, config.urls.products),\n createTransportProvider(CRM_TRANSPORT, config.urls.crm),\n createTransportProvider(CONTENT_TRANSPORT, config.urls.content),\n createTransportProvider(GEOLOCATION_TRANSPORT, config.urls.geolocation),\n createTransportProvider(CONVERSATIONS_TRANSPORT, config.urls.conversations),\n createTransportProvider(FILES_TRANSPORT, config.urls.files),\n createTransportProvider(FORMS_TRANSPORT, config.urls.forms),\n createTransportProvider(ASSETS_TRANSPORT, config.urls.assets),\n createTransportProvider(CAMPAIGNS_TRANSPORT, config.urls.campaigns),\n createTransportProvider(COMPANY_TRANSPORT, config.urls.company),\n createTransportProvider(REWARDS_TRANSPORT, config.urls.rewards),\n createTransportProvider(SALES_TRANSPORT, config.urls.sales),\n createTransportProvider(WALLET_TRANSPORT, config.urls.wallet),\n createTransportProvider(JARVIS_TRANSPORT, config.urls.jarvis),\n createTransportProvider(ONBOARDING_TRANSPORT, config.urls.onboarding),\n createTransportProvider(UNIVERSITY_TRANSPORT, config.urls.university),\n\n // Backward compatibility: provide TRANSPORT token using auth URL if available\n {\n provide: TRANSPORT,\n useFactory: (tokenManager: TokenManagerService) => {\n const url = config.urls.authentication;\n if (url) {\n return createTransportWithAuth(url, config, tokenManager);\n }\n return {\n request: () => {\n throw new Error(\n '[23blocks] TRANSPORT is not configured. ' +\n 'Use per-service transport tokens or configure urls.authentication.'\n );\n },\n };\n },\n deps: [TOKEN_MANAGER],\n },\n\n // Block configs\n { provide: AUTHENTICATION_CONFIG, useValue: blockConfig },\n { provide: SEARCH_CONFIG, useValue: blockConfig },\n { provide: PRODUCTS_CONFIG, useValue: blockConfig },\n { provide: CRM_CONFIG, useValue: blockConfig },\n { provide: CONTENT_CONFIG, useValue: blockConfig },\n { provide: GEOLOCATION_CONFIG, useValue: blockConfig },\n { provide: CONVERSATIONS_CONFIG, useValue: blockConfig },\n { provide: FILES_CONFIG, useValue: blockConfig },\n { provide: FORMS_CONFIG, useValue: blockConfig },\n { provide: ASSETS_CONFIG, useValue: blockConfig },\n { provide: CAMPAIGNS_CONFIG, useValue: blockConfig },\n { provide: COMPANY_CONFIG, useValue: blockConfig },\n { provide: REWARDS_CONFIG, useValue: blockConfig },\n { provide: SALES_CONFIG, useValue: blockConfig },\n { provide: WALLET_CONFIG, useValue: blockConfig },\n { provide: JARVIS_CONFIG, useValue: blockConfig },\n { provide: ONBOARDING_CONFIG, useValue: blockConfig },\n { provide: UNIVERSITY_CONFIG, useValue: blockConfig },\n ];\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Backward Compatibility Aliases (deprecated)\n// ─────────────────────────────────────────────────────────────────────────────\n\n/** @deprecated Use `ProviderConfig` instead */\nexport type Simple23BlocksConfig = ProviderConfig;\n","import type { Provider, EnvironmentProviders } from '@angular/core';\nimport { makeEnvironmentProviders } from '@angular/core';\nimport type { Transport } from '@23blocks/contracts';\nimport type { AuthenticationBlockConfig } from '@23blocks/block-authentication';\nimport type { SearchBlockConfig } from '@23blocks/block-search';\nimport type { ProductsBlockConfig } from '@23blocks/block-products';\nimport type { CrmBlockConfig } from '@23blocks/block-crm';\nimport type { ContentBlockConfig } from '@23blocks/block-content';\nimport type { GeolocationBlockConfig } from '@23blocks/block-geolocation';\nimport type { ConversationsBlockConfig } from '@23blocks/block-conversations';\nimport type { FilesBlockConfig } from '@23blocks/block-files';\nimport type { FormsBlockConfig } from '@23blocks/block-forms';\nimport type { AssetsBlockConfig } from '@23blocks/block-assets';\nimport type { CampaignsBlockConfig } from '@23blocks/block-campaigns';\nimport type { CompanyBlockConfig } from '@23blocks/block-company';\nimport type { RewardsBlockConfig } from '@23blocks/block-rewards';\nimport type { SalesBlockConfig } from '@23blocks/block-sales';\nimport type { WalletBlockConfig } from '@23blocks/block-wallet';\nimport type { JarvisBlockConfig } from '@23blocks/block-jarvis';\nimport type { OnboardingBlockConfig } from '@23blocks/block-onboarding';\nimport type { UniversityBlockConfig } from '@23blocks/block-university';\nimport {\n TRANSPORT,\n AUTHENTICATION_CONFIG,\n SEARCH_CONFIG,\n PRODUCTS_CONFIG,\n CRM_CONFIG,\n CONTENT_CONFIG,\n GEOLOCATION_CONFIG,\n CONVERSATIONS_CONFIG,\n FILES_CONFIG,\n FORMS_CONFIG,\n ASSETS_CONFIG,\n CAMPAIGNS_CONFIG,\n COMPANY_CONFIG,\n REWARDS_CONFIG,\n SALES_CONFIG,\n WALLET_CONFIG,\n JARVIS_CONFIG,\n ONBOARDING_CONFIG,\n UNIVERSITY_CONFIG,\n} from './tokens';\n\n/**\n * Configuration for providing 23blocks services\n */\nexport interface Provide23BlocksConfig {\n transport: Transport;\n authentication?: AuthenticationBlockConfig;\n search?: SearchBlockConfig;\n products?: ProductsBlockConfig;\n crm?: CrmBlockConfig;\n content?: ContentBlockConfig;\n geolocation?: GeolocationBlockConfig;\n conversations?: ConversationsBlockConfig;\n files?: FilesBlockConfig;\n forms?: FormsBlockConfig;\n assets?: AssetsBlockConfig;\n campaigns?: CampaignsBlockConfig;\n company?: CompanyBlockConfig;\n rewards?: RewardsBlockConfig;\n sales?: SalesBlockConfig;\n wallet?: WalletBlockConfig;\n jarvis?: JarvisBlockConfig;\n onboarding?: OnboardingBlockConfig;\n university?: UniversityBlockConfig;\n}\n\n/**\n * Provide 23blocks services for standalone Angular applications.\n *\n * @example\n * ```typescript\n * // app.config.ts\n * import { ApplicationConfig } from '@angular/core';\n * import { provide23Blocks } from '@23blocks/angular';\n * import { createHttpTransport } from '@23blocks/transport-http';\n *\n * const transport = createHttpTransport({\n * baseUrl: 'https://api.example.com',\n * headers: () => ({\n * 'Authorization': `Bearer ${localStorage.getItem('token')}`,\n * }),\n * });\n *\n * export const appConfig: ApplicationConfig = {\n * providers: [\n * provide23Blocks({\n * transport,\n * authentication: { apiKey: 'my-api-key' },\n * search: { apiKey: 'my-api-key' },\n * products: { apiKey: 'my-api-key' },\n * crm: { apiKey: 'my-api-key' },\n * }),\n * ],\n * };\n * ```\n */\nexport function provide23Blocks(config: Provide23BlocksConfig): EnvironmentProviders {\n const providers: Provider[] = [\n { provide: TRANSPORT, useValue: config.transport },\n ];\n\n if (config.authentication) {\n providers.push({ provide: AUTHENTICATION_CONFIG, useValue: config.authentication });\n }\n if (config.search) {\n providers.push({ provide: SEARCH_CONFIG, useValue: config.search });\n }\n if (config.products) {\n providers.push({ provide: PRODUCTS_CONFIG, useValue: config.products });\n }\n if (config.crm) {\n providers.push({ provide: CRM_CONFIG, useValue: config.crm });\n }\n if (config.content) {\n providers.push({ provide: CONTENT_CONFIG, useValue: config.content });\n }\n if (config.geolocation) {\n providers.push({ provide: GEOLOCATION_CONFIG, useValue: config.geolocation });\n }\n if (config.conversations) {\n providers.push({ provide: CONVERSATIONS_CONFIG, useValue: config.conversations });\n }\n if (config.files) {\n providers.push({ provide: FILES_CONFIG, useValue: config.files });\n }\n if (config.forms) {\n providers.push({ provide: FORMS_CONFIG, useValue: config.forms });\n }\n if (config.assets) {\n providers.push({ provide: ASSETS_CONFIG, useValue: config.assets });\n }\n if (config.campaigns) {\n providers.push({ provide: CAMPAIGNS_CONFIG, useValue: config.campaigns });\n }\n if (config.company) {\n providers.push({ provide: COMPANY_CONFIG, useValue: config.company });\n }\n if (config.rewards) {\n providers.push({ provide: REWARDS_CONFIG, useValue: config.rewards });\n }\n if (config.sales) {\n providers.push({ provide: SALES_CONFIG, useValue: config.sales });\n }\n if (config.wallet) {\n providers.push({ provide: WALLET_CONFIG, useValue: config.wallet });\n }\n if (config.jarvis) {\n providers.push({ provide: JARVIS_CONFIG, useValue: config.jarvis });\n }\n if (config.onboarding) {\n providers.push({ provide: ONBOARDING_CONFIG, useValue: config.onboarding });\n }\n if (config.university) {\n providers.push({ provide: UNIVERSITY_CONFIG, useValue: config.university });\n }\n\n return makeEnvironmentProviders(providers);\n}\n\n/**\n * Get providers array for NgModule-based applications.\n *\n * @example\n * ```typescript\n * // app.module.ts\n * import { NgModule } from '@angular/core';\n * import { get23BlocksProviders } from '@23blocks/angular';\n *\n * @NgModule({\n * providers: [\n * ...get23BlocksProviders({\n * transport,\n * authentication: { apiKey: 'my-api-key' },\n * }),\n * ],\n * })\n * export class AppModule {}\n * ```\n */\nexport function get23BlocksProviders(config: Provide23BlocksConfig): Provider[] {\n const providers: Provider[] = [\n { provide: TRANSPORT, useValue: config.transport },\n ];\n\n if (config.authentication) {\n providers.push({ provide: AUTHENTICATION_CONFIG, useValue: config.authentication });\n }\n if (config.search) {\n providers.push({ provide: SEARCH_CONFIG, useValue: config.search });\n }\n if (config.products) {\n providers.push({ provide: PRODUCTS_CONFIG, useValue: config.products });\n }\n if (config.crm) {\n providers.push({ provide: CRM_CONFIG, useValue: config.crm });\n }\n if (config.content) {\n providers.push({ provide: CONTENT_CONFIG, useValue: config.content });\n }\n if (config.geolocation) {\n providers.push({ provide: GEOLOCATION_CONFIG, useValue: config.geolocation });\n }\n if (config.conversations) {\n providers.push({ provide: CONVERSATIONS_CONFIG, useValue: config.conversations });\n }\n if (config.files) {\n providers.push({ provide: FILES_CONFIG, useValue: config.files });\n }\n if (config.forms) {\n providers.push({ provide: FORMS_CONFIG, useValue: config.forms });\n }\n if (config.assets) {\n providers.push({ provide: ASSETS_CONFIG, useValue: config.assets });\n }\n if (config.campaigns) {\n providers.push({ provide: CAMPAIGNS_CONFIG, useValue: config.campaigns });\n }\n if (config.company) {\n providers.push({ provide: COMPANY_CONFIG, useValue: config.company });\n }\n if (config.rewards) {\n providers.push({ provide: REWARDS_CONFIG, useValue: config.rewards });\n }\n if (config.sales) {\n providers.push({ provide: SALES_CONFIG, useValue: config.sales });\n }\n if (config.wallet) {\n providers.push({ provide: WALLET_CONFIG, useValue: config.wallet });\n }\n if (config.jarvis) {\n providers.push({ provide: JARVIS_CONFIG, useValue: config.jarvis });\n }\n if (config.onboarding) {\n providers.push({ provide: ONBOARDING_CONFIG, useValue: config.onboarding });\n }\n if (config.university) {\n providers.push({ provide: UNIVERSITY_CONFIG, useValue: config.university });\n }\n\n return providers;\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from, tap } from 'rxjs';\nimport type { Transport } from '@23blocks/contracts';\nimport {\n createAuthenticationBlock,\n type AuthenticationBlock,\n type AuthenticationBlockConfig,\n type SignInRequest,\n type SignInResponse,\n type SignUpRequest,\n type SignUpResponse,\n type RefreshTokenRequest,\n type RefreshTokenResponse,\n type MagicLinkVerifyRequest,\n type AcceptInvitationRequest,\n type OAuthSocialLoginRequest,\n type TenantLoginRequest,\n} from '@23blocks/block-authentication';\nimport { TRANSPORT, AUTHENTICATION_TRANSPORT, AUTHENTICATION_CONFIG } from '../tokens';\nimport { TOKEN_MANAGER, SIMPLE_CONFIG, type TokenManagerService, type Simple23BlocksConfig } from '../simple-providers';\n\n/**\n * Angular service wrapping the Authentication block.\n *\n * Auth-flow methods (signIn, signUp, signOut, OAuth, etc.) return Observables\n * with automatic token management via `tap()`.\n *\n * All other sub-services are exposed as typed getters returning Promise-based APIs.\n * Use `from()` to convert to Observables if needed.\n *\n * @example\n * ```typescript\n * // Auth flows (Observable with token management):\n * this.auth.signIn({ email, password }).subscribe(...)\n *\n * // Other services (Promise-based, wrap in from() if needed):\n * const user = await this.auth.users.get(userId);\n * from(this.auth.roles.list()).subscribe(...)\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class AuthenticationService {\n private readonly block: AuthenticationBlock | null;\n private readonly tokenManager: TokenManagerService | null;\n private readonly simpleConfig: Simple23BlocksConfig | null;\n\n constructor(\n @Optional() @Inject(AUTHENTICATION_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(AUTHENTICATION_CONFIG) config: AuthenticationBlockConfig,\n @Optional() @Inject(TOKEN_MANAGER) tokenManager: TokenManagerService | null,\n @Optional() @Inject(SIMPLE_CONFIG) simpleConfig: Simple23BlocksConfig | null\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createAuthenticationBlock(transport, config) : null;\n this.tokenManager = tokenManager;\n this.simpleConfig = simpleConfig;\n }\n\n private ensureConfigured(): AuthenticationBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] AuthenticationService is not configured. ' +\n \"Add 'urls.authentication' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n private get isTokenMode(): boolean {\n return this.tokenManager !== null && this.simpleConfig?.authMode !== 'cookie';\n }\n\n private storeTokens(response: SignInResponse | RefreshTokenResponse): void {\n if (this.isTokenMode && this.tokenManager && response.accessToken) {\n this.tokenManager.setTokens(\n response.accessToken,\n 'refreshToken' in response ? response.refreshToken : undefined\n );\n }\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Auth-flow methods (Observable with token management)\n // ─────────────────────────────────────────────────────────────────────────────\n\n signIn(request: SignInRequest): Observable<SignInResponse> {\n return from(this.ensureConfigured().auth.signIn(request)).pipe(\n tap((response) => this.storeTokens(response))\n );\n }\n\n signUp(request: SignUpRequest): Observable<SignUpResponse> {\n return from(this.ensureConfigured().auth.signUp(request)).pipe(\n tap((response) => {\n if (this.isTokenMode && this.tokenManager && response.accessToken) {\n this.tokenManager.setTokens(response.accessToken);\n }\n })\n );\n }\n\n signOut(): Observable<void> {\n return from(this.ensureConfigured().auth.signOut()).pipe(\n tap(() => {\n if (this.isTokenMode && this.tokenManager) {\n this.tokenManager.clearTokens();\n }\n })\n );\n }\n\n refreshToken(request: RefreshTokenRequest): Observable<RefreshTokenResponse> {\n return from(this.ensureConfigured().auth.refreshToken(request)).pipe(\n tap((response) => this.storeTokens(response))\n );\n }\n\n verifyMagicLink(request: MagicLinkVerifyRequest): Observable<SignInResponse> {\n return from(this.ensureConfigured().auth.verifyMagicLink(request)).pipe(\n tap((response) => this.storeTokens(response))\n );\n }\n\n acceptInvitation(request: AcceptInvitationRequest): Observable<SignInResponse> {\n return from(this.ensureConfigured().auth.acceptInvitation(request)).pipe(\n tap((response) => this.storeTokens(response))\n );\n }\n\n facebookLogin(request: OAuthSocialLoginRequest): Observable<SignInResponse> {\n return from(this.ensureConfigured().oauth.facebookLogin(request)).pipe(\n tap((response) => this.storeTokens(response))\n );\n }\n\n googleLogin(request: OAuthSocialLoginRequest): Observable<SignInResponse> {\n return from(this.ensureConfigured().oauth.googleLogin(request)).pipe(\n tap((response) => this.storeTokens(response))\n );\n }\n\n tenantLogin(request: TenantLoginRequest): Observable<SignInResponse> {\n return from(this.ensureConfigured().oauth.tenantLogin(request)).pipe(\n tap((response) => this.storeTokens(response))\n );\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Token Management (only applicable with provideBlocks23)\n // ─────────────────────────────────────────────────────────────────────────────\n\n getAccessToken(): string | null {\n return this.tokenManager?.getAccessToken() ?? null;\n }\n\n getRefreshToken(): string | null {\n return this.tokenManager?.getRefreshToken() ?? null;\n }\n\n setTokens(accessToken: string, refreshToken?: string): void {\n this.tokenManager?.setTokens(accessToken, refreshToken);\n }\n\n clearTokens(): void {\n this.tokenManager?.clearTokens();\n }\n\n isAuthenticated(): boolean | null {\n if (!this.tokenManager || this.simpleConfig?.authMode === 'cookie') {\n return null;\n }\n return !!this.tokenManager.getAccessToken();\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Delegated sub-services (Promise-based, auto-sync with block API)\n // ─────────────────────────────────────────────────────────────────────────────\n\n get auth() { return this.ensureConfigured().auth; }\n get users() { return this.ensureConfigured().users; }\n get roles() { return this.ensureConfigured().roles; }\n get permissions() { return this.ensureConfigured().permissions; }\n get apiKeys() { return this.ensureConfigured().apiKeys; }\n get mfa() { return this.ensureConfigured().mfa; }\n get oauth() { return this.ensureConfigured().oauth; }\n get avatars() { return this.ensureConfigured().avatars; }\n get tenants() { return this.ensureConfigured().tenants; }\n get apps() { return this.ensureConfigured().apps; }\n get blocks() { return this.ensureConfigured().blocks; }\n get services() { return this.ensureConfigured().services; }\n get subscriptionModels() { return this.ensureConfigured().subscriptionModels; }\n get userSubscriptions() { return this.ensureConfigured().userSubscriptions; }\n get companySubscriptions() { return this.ensureConfigured().companySubscriptions; }\n get countries() { return this.ensureConfigured().countries; }\n get states() { return this.ensureConfigured().states; }\n get counties() { return this.ensureConfigured().counties; }\n get cities() { return this.ensureConfigured().cities; }\n get currencies() { return this.ensureConfigured().currencies; }\n get guests() { return this.ensureConfigured().guests; }\n get magicLinks() { return this.ensureConfigured().magicLinks; }\n get refreshTokens() { return this.ensureConfigured().refreshTokens; }\n get userDevices() { return this.ensureConfigured().userDevices; }\n get tenantUsers() { return this.ensureConfigured().tenantUsers; }\n get mailTemplates() { return this.ensureConfigured().mailTemplates; }\n get jwks() { return this.ensureConfigured().jwks; }\n get adminRsaKeys() { return this.ensureConfigured().adminRsaKeys; }\n get oidc() { return this.ensureConfigured().oidc; }\n\n /** Full block access */\n get authenticationBlock(): AuthenticationBlock { return this.ensureConfigured(); }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport type { Transport } from '@23blocks/contracts';\nimport {\n createSearchBlock,\n type SearchBlock,\n type SearchBlockConfig,\n} from '@23blocks/block-search';\nimport { TRANSPORT, SEARCH_TRANSPORT, SEARCH_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Search block.\n *\n * Exposes block sub-services directly via typed getters.\n * All methods return Promises - use `from()` to convert to Observables if needed.\n *\n * @example\n * ```typescript\n * // Promise-based (recommended for modern Angular):\n * const result = await this.searchService.search.search(request);\n *\n * // Observable-based:\n * from(this.searchService.search.search(request)).subscribe(...)\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class SearchService {\n private readonly block: SearchBlock | null;\n\n constructor(\n @Optional() @Inject(SEARCH_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(SEARCH_CONFIG) config: SearchBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createSearchBlock(transport, config) : null;\n }\n\n private ensureConfigured(): SearchBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] SearchService is not configured. ' +\n \"Add 'urls.search' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n get search() { return this.ensureConfigured().search; }\n get history() { return this.ensureConfigured().history; }\n get favorites() { return this.ensureConfigured().favorites; }\n get entities() { return this.ensureConfigured().entities; }\n get identities() { return this.ensureConfigured().identities; }\n get jarvis() { return this.ensureConfigured().jarvis; }\n\n /** Full block access */\n get searchBlock(): SearchBlock { return this.ensureConfigured(); }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport type { Transport } from '@23blocks/contracts';\nimport {\n createProductsBlock,\n type ProductsBlock,\n type ProductsBlockConfig,\n} from '@23blocks/block-products';\nimport { TRANSPORT, PRODUCTS_TRANSPORT, PRODUCTS_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Products block.\n *\n * Exposes block sub-services directly via typed getters.\n * All methods return Promises - use `from()` to convert to Observables if needed.\n *\n * @example\n * ```typescript\n * const products = await this.productsService.products.list();\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class ProductsService {\n private readonly block: ProductsBlock | null;\n\n constructor(\n @Optional() @Inject(PRODUCTS_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(PRODUCTS_CONFIG) config: ProductsBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createProductsBlock(transport, config) : null;\n }\n\n private ensureConfigured(): ProductsBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] ProductsService is not configured. ' +\n \"Add 'urls.products' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n get products() { return this.ensureConfigured().products; }\n get cart() { return this.ensureConfigured().cart; }\n get cartDetails() { return this.ensureConfigured().cartDetails; }\n get categories() { return this.ensureConfigured().categories; }\n get brands() { return this.ensureConfigured().brands; }\n get vendors() { return this.ensureConfigured().vendors; }\n get warehouses() { return this.ensureConfigured().warehouses; }\n get channels() { return this.ensureConfigured().channels; }\n get collections() { return this.ensureConfigured().collections; }\n get productSets() { return this.ensureConfigured().productSets; }\n get shoppingLists() { return this.ensureConfigured().shoppingLists; }\n get promotions() { return this.ensureConfigured().promotions; }\n get prices() { return this.ensureConfigured().prices; }\n get filters() { return this.ensureConfigured().filters; }\n get images() { return this.ensureConfigured().images; }\n get variations() { return this.ensureConfigured().variations; }\n get reviews() { return this.ensureConfigured().reviews; }\n get variationReviews() { return this.ensureConfigured().variationReviews; }\n get stock() { return this.ensureConfigured().stock; }\n get suggestions() { return this.ensureConfigured().suggestions; }\n get addons() { return this.ensureConfigured().addons; }\n get myCarts() { return this.ensureConfigured().myCarts; }\n get remarketing() { return this.ensureConfigured().remarketing; }\n get visitors() { return this.ensureConfigured().visitors; }\n get productVendors() { return this.ensureConfigured().productVendors; }\n\n /** Full block access */\n get productsBlock(): ProductsBlock { return this.ensureConfigured(); }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport type { Transport } from '@23blocks/contracts';\nimport {\n createCrmBlock,\n type CrmBlock,\n type CrmBlockConfig,\n} from '@23blocks/block-crm';\nimport { TRANSPORT, CRM_TRANSPORT, CRM_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the CRM block.\n *\n * Exposes block sub-services directly via typed getters.\n * All methods return Promises - use `from()` to convert to Observables if needed.\n *\n * @example\n * ```typescript\n * const accounts = await this.crmService.accounts.list({ page: 1, perPage: 20 });\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class CrmService {\n private readonly block: CrmBlock | null;\n\n constructor(\n @Optional() @Inject(CRM_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(CRM_CONFIG) config: CrmBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createCrmBlock(transport, config) : null;\n }\n\n private ensureConfigured(): CrmBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] CrmService is not configured. ' +\n \"Add 'urls.crm' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n get accounts() { return this.ensureConfigured().accounts; }\n get contacts() { return this.ensureConfigured().contacts; }\n get contactEvents() { return this.ensureConfigured().contactEvents; }\n get leads() { return this.ensureConfigured().leads; }\n get leadFollows() { return this.ensureConfigured().leadFollows; }\n get opportunities() { return this.ensureConfigured().opportunities; }\n get meetings() { return this.ensureConfigured().meetings; }\n get meetingParticipants() { return this.ensureConfigured().meetingParticipants; }\n get meetingBillings() { return this.ensureConfigured().meetingBillings; }\n get quotes() { return this.ensureConfigured().quotes; }\n get subscribers() { return this.ensureConfigured().subscribers; }\n get referrals() { return this.ensureConfigured().referrals; }\n get touches() { return this.ensureConfigured().touches; }\n get categories() { return this.ensureConfigured().categories; }\n get calendarAccounts() { return this.ensureConfigured().calendarAccounts; }\n get busyBlocks() { return this.ensureConfigured().busyBlocks; }\n get icsTokens() { return this.ensureConfigured().icsTokens; }\n get zoomMeetings() { return this.ensureConfigured().zoomMeetings; }\n get zoomHosts() { return this.ensureConfigured().zoomHosts; }\n get mailTemplates() { return this.ensureConfigured().mailTemplates; }\n get communications() { return this.ensureConfigured().communications; }\n get users() { return this.ensureConfigured().users; }\n get billingReports() { return this.ensureConfigured().billingReports; }\n get calendarSync() { return this.ensureConfigured().calendarSync; }\n\n /** Full block access */\n get crmBlock(): CrmBlock { return this.ensureConfigured(); }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport type { Transport } from '@23blocks/contracts';\nimport {\n createContentBlock,\n type ContentBlock,\n type ContentBlockConfig,\n} from '@23blocks/block-content';\nimport { TRANSPORT, CONTENT_TRANSPORT, CONTENT_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Content block.\n *\n * Exposes block sub-services directly via typed getters.\n * All methods return Promises - use `from()` to convert to Observables if needed.\n *\n * @example\n * ```typescript\n * const posts = await this.contentService.posts.list({ page: 1, perPage: 10 });\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class ContentService {\n private readonly block: ContentBlock | null;\n\n constructor(\n @Optional() @Inject(CONTENT_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(CONTENT_CONFIG) config: ContentBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createContentBlock(transport, config) : null;\n }\n\n private ensureConfigured(): ContentBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] ContentService is not configured. ' +\n \"Add 'urls.content' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n get posts() { return this.ensureConfigured().posts; }\n get postVersions() { return this.ensureConfigured().postVersions; }\n get postTemplates() { return this.ensureConfigured().postTemplates; }\n get comments() { return this.ensureConfigured().comments; }\n get categories() { return this.ensureConfigured().categories; }\n get tags() { return this.ensureConfigured().tags; }\n get users() { return this.ensureConfigured().users; }\n get moderation() { return this.ensureConfigured().moderation; }\n get activity() { return this.ensureConfigured().activity; }\n get series() { return this.ensureConfigured().series; }\n\n /** Full block access */\n get contentBlock(): ContentBlock { return this.ensureConfigured(); }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport type { Transport } from '@23blocks/contracts';\nimport {\n createGeolocationBlock,\n type GeolocationBlock,\n type GeolocationBlockConfig,\n} from '@23blocks/block-geolocation';\nimport { TRANSPORT, GEOLOCATION_TRANSPORT, GEOLOCATION_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Geolocation block.\n *\n * Exposes block sub-services directly via typed getters.\n * All methods return Promises - use `from()` to convert to Observables if needed.\n *\n * @example\n * ```typescript\n * const locations = await this.geolocationService.locations.list();\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class GeolocationService {\n private readonly block: GeolocationBlock | null;\n\n constructor(\n @Optional() @Inject(GEOLOCATION_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(GEOLOCATION_CONFIG) config: GeolocationBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createGeolocationBlock(transport, config) : null;\n }\n\n private ensureConfigured(): GeolocationBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] GeolocationService is not configured. ' +\n \"Add 'urls.geolocation' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n get locations() { return this.ensureConfigured().locations; }\n get addresses() { return this.ensureConfigured().addresses; }\n get areas() { return this.ensureConfigured().areas; }\n get regions() { return this.ensureConfigured().regions; }\n get routes() { return this.ensureConfigured().routes; }\n get bookings() { return this.ensureConfigured().bookings; }\n get premises() { return this.ensureConfigured().premises; }\n get premiseEvents() { return this.ensureConfigured().premiseEvents; }\n get routeTracker() { return this.ensureConfigured().routeTracker; }\n get locationHours() { return this.ensureConfigured().locationHours; }\n get locationImages() { return this.ensureConfigured().locationImages; }\n get locationSlots() { return this.ensureConfigured().locationSlots; }\n get locationTaxes() { return this.ensureConfigured().locationTaxes; }\n get locationGroups() { return this.ensureConfigured().locationGroups; }\n get identities() { return this.ensureConfigured().identities; }\n get locationIdentities() { return this.ensureConfigured().locationIdentities; }\n get geoCountries() { return this.ensureConfigured().geoCountries; }\n get geoStates() { return this.ensureConfigured().geoStates; }\n get geoCities() { return this.ensureConfigured().geoCities; }\n\n /** Full block access */\n get geolocationBlock(): GeolocationBlock { return this.ensureConfigured(); }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport type { Transport } from '@23blocks/contracts';\nimport {\n createConversationsBlock,\n type ConversationsBlock,\n type ConversationsBlockConfig,\n} from '@23blocks/block-conversations';\nimport { TRANSPORT, CONVERSATIONS_TRANSPORT, CONVERSATIONS_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Conversations block.\n *\n * Exposes block sub-services directly via typed getters.\n * All methods return Promises - use `from()` to convert to Observables if needed.\n *\n * @example\n * ```typescript\n * const message = await this.conversationsService.messages.create({ contextId, content });\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class ConversationsService {\n private readonly block: ConversationsBlock | null;\n\n constructor(\n @Optional() @Inject(CONVERSATIONS_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(CONVERSATIONS_CONFIG) config: ConversationsBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createConversationsBlock(transport, config) : null;\n }\n\n private ensureConfigured(): ConversationsBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] ConversationsService is not configured. ' +\n \"Add 'urls.conversations' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n get messages() { return this.ensureConfigured().messages; }\n get draftMessages() { return this.ensureConfigured().draftMessages; }\n get groups() { return this.ensureConfigured().groups; }\n get groupInvites() { return this.ensureConfigured().groupInvites; }\n get notifications() { return this.ensureConfigured().notifications; }\n get conversations() { return this.ensureConfigured().conversations; }\n get websocketTokens() { return this.ensureConfigured().websocketTokens; }\n get contexts() { return this.ensureConfigured().contexts; }\n get notificationSettings() { return this.ensureConfigured().notificationSettings; }\n get availabilities() { return this.ensureConfigured().availabilities; }\n get messageFiles() { return this.ensureConfigured().messageFiles; }\n get sources() { return this.ensureConfigured().sources; }\n get users() { return this.ensureConfigured().users; }\n get meetings() { return this.ensureConfigured().meetings; }\n get webNotifications() { return this.ensureConfigured().webNotifications; }\n\n /** Full block access */\n get conversationsBlock(): ConversationsBlock { return this.ensureConfigured(); }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport type { Transport } from '@23blocks/contracts';\nimport {\n createFilesBlock,\n type FilesBlock,\n type FilesBlockConfig,\n} from '@23blocks/block-files';\nimport { TRANSPORT, FILES_TRANSPORT, FILES_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Files block.\n *\n * Exposes block sub-services directly via typed getters.\n * All methods return Promises - use `from()` to convert to Observables if needed.\n *\n * @example\n * ```typescript\n * const files = await this.filesService.storageFiles.list();\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class FilesService {\n private readonly block: FilesBlock | null;\n\n constructor(\n @Optional() @Inject(FILES_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(FILES_CONFIG) config: FilesBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createFilesBlock(transport, config) : null;\n }\n\n private ensureConfigured(): FilesBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] FilesService is not configured. ' +\n \"Add 'urls.files' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n get storageFiles() { return this.ensureConfigured().storageFiles; }\n get entityFiles() { return this.ensureConfigured().entityFiles; }\n get fileSchemas() { return this.ensureConfigured().fileSchemas; }\n get userFiles() { return this.ensureConfigured().userFiles; }\n get fileCategories() { return this.ensureConfigured().fileCategories; }\n get fileTags() { return this.ensureConfigured().fileTags; }\n get delegations() { return this.ensureConfigured().delegations; }\n get fileAccess() { return this.ensureConfigured().fileAccess; }\n get fileAccessRequests() { return this.ensureConfigured().fileAccessRequests; }\n\n /** Full block access */\n get filesBlock(): FilesBlock { return this.ensureConfigured(); }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport type { Transport } from '@23blocks/contracts';\nimport {\n createFormsBlock,\n type FormsBlock,\n type FormsBlockConfig,\n} from '@23blocks/block-forms';\nimport { TRANSPORT, FORMS_TRANSPORT, FORMS_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Forms block.\n *\n * Exposes block sub-services directly via typed getters.\n * All methods return Promises - use `from()` to convert to Observables if needed.\n *\n * @example\n * ```typescript\n * const forms = await this.formsService.forms.list();\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class FormsService {\n private readonly block: FormsBlock | null;\n\n constructor(\n @Optional() @Inject(FORMS_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(FORMS_CONFIG) config: FormsBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createFormsBlock(transport, config) : null;\n }\n\n private ensureConfigured(): FormsBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] FormsService is not configured. ' +\n \"Add 'urls.forms' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n get forms() { return this.ensureConfigured().forms; }\n get schemas() { return this.ensureConfigured().schemas; }\n get schemaVersions() { return this.ensureConfigured().schemaVersions; }\n get instances() { return this.ensureConfigured().instances; }\n get sets() { return this.ensureConfigured().sets; }\n get landings() { return this.ensureConfigured().landings; }\n get subscriptions() { return this.ensureConfigured().subscriptions; }\n get appointments() { return this.ensureConfigured().appointments; }\n get surveys() { return this.ensureConfigured().surveys; }\n get referrals() { return this.ensureConfigured().referrals; }\n get mailTemplates() { return this.ensureConfigured().mailTemplates; }\n get applicationForms() { return this.ensureConfigured().applicationForms; }\n get crmSync() { return this.ensureConfigured().crmSync; }\n\n /** Full block access */\n get formsBlock(): FormsBlock { return this.ensureConfigured(); }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport type { Transport } from '@23blocks/contracts';\nimport {\n createAssetsBlock,\n type AssetsBlock,\n type AssetsBlockConfig,\n} from '@23blocks/block-assets';\nimport { TRANSPORT, ASSETS_TRANSPORT, ASSETS_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Assets block.\n *\n * Exposes block sub-services directly via typed getters.\n * All methods return Promises - use `from()` to convert to Observables if needed.\n *\n * @example\n * ```typescript\n * const assets = await this.assetsService.assets.list();\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class AssetsService {\n private readonly block: AssetsBlock | null;\n\n constructor(\n @Optional() @Inject(ASSETS_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(ASSETS_CONFIG) config: AssetsBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createAssetsBlock(transport, config) : null;\n }\n\n private ensureConfigured(): AssetsBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] AssetsService is not configured. ' +\n \"Add 'urls.assets' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n get assets() { return this.ensureConfigured().assets; }\n get events() { return this.ensureConfigured().events; }\n get audits() { return this.ensureConfigured().audits; }\n get categories() { return this.ensureConfigured().categories; }\n get tags() { return this.ensureConfigured().tags; }\n get vendors() { return this.ensureConfigured().vendors; }\n get warehouses() { return this.ensureConfigured().warehouses; }\n get entities() { return this.ensureConfigured().entities; }\n get operations() { return this.ensureConfigured().operations; }\n get alerts() { return this.ensureConfigured().alerts; }\n get users() { return this.ensureConfigured().users; }\n get images() { return this.ensureConfigured().images; }\n\n /** Full block access */\n get assetsBlock(): AssetsBlock { return this.ensureConfigured(); }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport type { Transport } from '@23blocks/contracts';\nimport {\n createCampaignsBlock,\n type CampaignsBlock,\n type CampaignsBlockConfig,\n} from '@23blocks/block-campaigns';\nimport { TRANSPORT, CAMPAIGNS_TRANSPORT, CAMPAIGNS_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Campaigns block.\n *\n * Exposes block sub-services directly via typed getters.\n * All methods return Promises - use `from()` to convert to Observables if needed.\n *\n * @example\n * ```typescript\n * const campaigns = await this.campaignsService.campaigns.list({ page: 1, perPage: 10 });\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class CampaignsService {\n private readonly block: CampaignsBlock | null;\n\n constructor(\n @Optional() @Inject(CAMPAIGNS_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(CAMPAIGNS_CONFIG) config: CampaignsBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createCampaignsBlock(transport, config) : null;\n }\n\n private ensureConfigured(): CampaignsBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] CampaignsService is not configured. ' +\n \"Add 'urls.campaigns' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n get campaigns() { return this.ensureConfigured().campaigns; }\n get campaignMedia() { return this.ensureConfigured().campaignMedia; }\n get landingPages() { return this.ensureConfigured().landingPages; }\n get audiences() { return this.ensureConfigured().audiences; }\n get landingTemplates() { return this.ensureConfigured().landingTemplates; }\n get targets() { return this.ensureConfigured().targets; }\n get results() { return this.ensureConfigured().results; }\n get markets() { return this.ensureConfigured().markets; }\n get locations() { return this.ensureConfigured().locations; }\n get templates() { return this.ensureConfigured().templates; }\n get mediaResults() { return this.ensureConfigured().mediaResults; }\n get media() { return this.ensureConfigured().media; }\n\n /** Full block access */\n get campaignsBlock(): CampaignsBlock { return this.ensureConfigured(); }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport type { Transport } from '@23blocks/contracts';\nimport {\n createCompanyBlock,\n type CompanyBlock,\n type CompanyBlockConfig,\n} from '@23blocks/block-company';\nimport { TRANSPORT, COMPANY_TRANSPORT, COMPANY_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Company block.\n *\n * Exposes block sub-services directly via typed getters.\n * All methods return Promises - use `from()` to convert to Observables if needed.\n *\n * @example\n * ```typescript\n * const companies = await this.companyService.companies.list();\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class CompanyService {\n private readonly block: CompanyBlock | null;\n\n constructor(\n @Optional() @Inject(COMPANY_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(COMPANY_CONFIG) config: CompanyBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createCompanyBlock(transport, config) : null;\n }\n\n private ensureConfigured(): CompanyBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] CompanyService is not configured. ' +\n \"Add 'urls.company' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n get companies() { return this.ensureConfigured().companies; }\n get departments() { return this.ensureConfigured().departments; }\n get teams() { return this.ensureConfigured().teams; }\n get teamMembers() { return this.ensureConfigured().teamMembers; }\n get quarters() { return this.ensureConfigured().quarters; }\n get positions() { return this.ensureConfigured().positions; }\n get employeeAssignments() { return this.ensureConfigured().employeeAssignments; }\n\n /** Full block access */\n get companyBlock(): CompanyBlock { return this.ensureConfigured(); }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport type { Transport } from '@23blocks/contracts';\nimport {\n createRewardsBlock,\n type RewardsBlock,\n type RewardsBlockConfig,\n} from '@23blocks/block-rewards';\nimport { TRANSPORT, REWARDS_TRANSPORT, REWARDS_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Rewards block.\n *\n * Exposes block sub-services directly via typed getters.\n * All methods return Promises - use `from()` to convert to Observables if needed.\n *\n * @example\n * ```typescript\n * const rewards = await this.rewardsService.rewards.list({ status: 'active' });\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class RewardsService {\n private readonly block: RewardsBlock | null;\n\n constructor(\n @Optional() @Inject(REWARDS_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(REWARDS_CONFIG) config: RewardsBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createRewardsBlock(transport, config) : null;\n }\n\n private ensureConfigured(): RewardsBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] RewardsService is not configured. ' +\n \"Add 'urls.rewards' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n get rewards() { return this.ensureConfigured().rewards; }\n get coupons() { return this.ensureConfigured().coupons; }\n get loyalty() { return this.ensureConfigured().loyalty; }\n get badges() { return this.ensureConfigured().badges; }\n get couponConfigurations() { return this.ensureConfigured().couponConfigurations; }\n get offerCodes() { return this.ensureConfigured().offerCodes; }\n get expirationRules() { return this.ensureConfigured().expirationRules; }\n get customers() { return this.ensureConfigured().customers; }\n get badgeCategories() { return this.ensureConfigured().badgeCategories; }\n get moneyRules() { return this.ensureConfigured().moneyRules; }\n get productRules() { return this.ensureConfigured().productRules; }\n get eventRules() { return this.ensureConfigured().eventRules; }\n\n /** Full block access */\n get rewardsBlock(): RewardsBlock { return this.ensureConfigured(); }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport type { Transport } from '@23blocks/contracts';\nimport {\n createSalesBlock,\n type SalesBlock,\n type SalesBlockConfig,\n} from '@23blocks/block-sales';\nimport { TRANSPORT, SALES_TRANSPORT, SALES_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Sales block.\n *\n * Exposes block sub-services directly via typed getters.\n * All methods return Promises - use `from()` to convert to Observables if needed.\n *\n * @example\n * ```typescript\n * const order = await this.salesService.orders.create({ ... });\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class SalesService {\n private readonly block: SalesBlock | null;\n\n constructor(\n @Optional() @Inject(SALES_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(SALES_CONFIG) config: SalesBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createSalesBlock(transport, config) : null;\n }\n\n private ensureConfigured(): SalesBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] SalesService is not configured. ' +\n \"Add 'urls.sales' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n get orders() { return this.ensureConfigured().orders; }\n get orderDetails() { return this.ensureConfigured().orderDetails; }\n get orderTaxes() { return this.ensureConfigured().orderTaxes; }\n get payments() { return this.ensureConfigured().payments; }\n get subscriptions() { return this.ensureConfigured().subscriptions; }\n get subscriptionModels() { return this.ensureConfigured().subscriptionModels; }\n get entities() { return this.ensureConfigured().entities; }\n get users() { return this.ensureConfigured().users; }\n get customers() { return this.ensureConfigured().customers; }\n get flexibleOrders() { return this.ensureConfigured().flexibleOrders; }\n get stripe() { return this.ensureConfigured().stripe; }\n get mercadopago() { return this.ensureConfigured().mercadopago; }\n get vendorPayments() { return this.ensureConfigured().vendorPayments; }\n\n /** Full block access */\n get salesBlock(): SalesBlock { return this.ensureConfigured(); }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport type { Transport } from '@23blocks/contracts';\nimport {\n createWalletBlock,\n type WalletBlock,\n type WalletBlockConfig,\n} from '@23blocks/block-wallet';\nimport { TRANSPORT, WALLET_TRANSPORT, WALLET_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Wallet block.\n *\n * Exposes block sub-services directly via typed getters.\n * All methods return Promises - use `from()` to convert to Observables if needed.\n *\n * @example\n * ```typescript\n * const wallet = await this.walletService.wallets.create({ userUniqueId });\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class WalletService {\n private readonly block: WalletBlock | null;\n\n constructor(\n @Optional() @Inject(WALLET_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(WALLET_CONFIG) config: WalletBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createWalletBlock(transport, config) : null;\n }\n\n private ensureConfigured(): WalletBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] WalletService is not configured. ' +\n \"Add 'urls.wallet' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n get wallets() { return this.ensureConfigured().wallets; }\n get transactions() { return this.ensureConfigured().transactions; }\n get authorizationCodes() { return this.ensureConfigured().authorizationCodes; }\n get webhooks() { return this.ensureConfigured().webhooks; }\n\n /** Full block access */\n get walletBlock(): WalletBlock { return this.ensureConfigured(); }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport type { Transport } from '@23blocks/contracts';\nimport {\n createJarvisBlock,\n type JarvisBlock,\n type JarvisBlockConfig,\n} from '@23blocks/block-jarvis';\nimport { TRANSPORT, JARVIS_TRANSPORT, JARVIS_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Jarvis block.\n *\n * Exposes block sub-services directly via typed getters.\n * All methods return Promises - use `from()` to convert to Observables if needed.\n *\n * @example\n * ```typescript\n * const response = await this.jarvisService.agents.chat(agentId, { message });\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class JarvisService {\n private readonly block: JarvisBlock | null;\n\n constructor(\n @Optional() @Inject(JARVIS_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(JARVIS_CONFIG) config: JarvisBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createJarvisBlock(transport, config) : null;\n }\n\n private ensureConfigured(): JarvisBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] JarvisService is not configured. ' +\n \"Add 'urls.jarvis' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n get agents() { return this.ensureConfigured().agents; }\n get prompts() { return this.ensureConfigured().prompts; }\n get workflows() { return this.ensureConfigured().workflows; }\n get executions() { return this.ensureConfigured().executions; }\n get conversations() { return this.ensureConfigured().conversations; }\n get aiModels() { return this.ensureConfigured().aiModels; }\n get entities() { return this.ensureConfigured().entities; }\n get clusters() { return this.ensureConfigured().clusters; }\n get users() { return this.ensureConfigured().users; }\n get workflowParticipants() { return this.ensureConfigured().workflowParticipants; }\n get workflowSteps() { return this.ensureConfigured().workflowSteps; }\n get workflowInstances() { return this.ensureConfigured().workflowInstances; }\n get agentRuntime() { return this.ensureConfigured().agentRuntime; }\n get mailTemplates() { return this.ensureConfigured().mailTemplates; }\n get marvinChat() { return this.ensureConfigured().marvinChat; }\n get promptComments() { return this.ensureConfigured().promptComments; }\n get executionComments() { return this.ensureConfigured().executionComments; }\n\n /** Full block access */\n get jarvisBlock(): JarvisBlock { return this.ensureConfigured(); }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport type { Transport } from '@23blocks/contracts';\nimport {\n createOnboardingBlock,\n type OnboardingBlock,\n type OnboardingBlockConfig,\n} from '@23blocks/block-onboarding';\nimport { TRANSPORT, ONBOARDING_TRANSPORT, ONBOARDING_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the Onboarding block.\n *\n * Exposes block sub-services directly via typed getters.\n * All methods return Promises - use `from()` to convert to Observables if needed.\n *\n * @example\n * ```typescript\n * const onboarding = await this.onboardingService.onboardings.create({ code: 'user-onboarding', name: 'User Onboarding' });\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class OnboardingService {\n private readonly block: OnboardingBlock | null;\n\n constructor(\n @Optional() @Inject(ONBOARDING_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(ONBOARDING_CONFIG) config: OnboardingBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createOnboardingBlock(transport, config) : null;\n }\n\n private ensureConfigured(): OnboardingBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] OnboardingService is not configured. ' +\n \"Add 'urls.onboarding' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n get onboardings() { return this.ensureConfigured().onboardings; }\n get flows() { return this.ensureConfigured().flows; }\n get userJourneys() { return this.ensureConfigured().userJourneys; }\n get userIdentities() { return this.ensureConfigured().userIdentities; }\n get onboard() { return this.ensureConfigured().onboard; }\n get mailTemplates() { return this.ensureConfigured().mailTemplates; }\n get remarketing() { return this.ensureConfigured().remarketing; }\n\n /** Full block access */\n get onboardingBlock(): OnboardingBlock { return this.ensureConfigured(); }\n}\n","import { Injectable, Inject, Optional } from '@angular/core';\nimport type { Transport } from '@23blocks/contracts';\nimport {\n createUniversityBlock,\n type UniversityBlock,\n type UniversityBlockConfig,\n} from '@23blocks/block-university';\nimport { TRANSPORT, UNIVERSITY_TRANSPORT, UNIVERSITY_CONFIG } from '../tokens';\n\n/**\n * Angular service wrapping the University block.\n *\n * Exposes block sub-services directly via typed getters.\n * All methods return Promises - use `from()` to convert to Observables if needed.\n *\n * @example\n * ```typescript\n * const courses = await this.universityService.courses.list({ page: 1, perPage: 10 });\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class UniversityService {\n private readonly block: UniversityBlock | null;\n\n constructor(\n @Optional() @Inject(UNIVERSITY_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(UNIVERSITY_CONFIG) config: UniversityBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createUniversityBlock(transport, config) : null;\n }\n\n private ensureConfigured(): UniversityBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] UniversityService is not configured. ' +\n \"Add 'urls.university' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n get courses() { return this.ensureConfigured().courses; }\n get lessons() { return this.ensureConfigured().lessons; }\n get enrollments() { return this.ensureConfigured().enrollments; }\n get assignments() { return this.ensureConfigured().assignments; }\n get submissions() { return this.ensureConfigured().submissions; }\n get subjects() { return this.ensureConfigured().subjects; }\n get teachers() { return this.ensureConfigured().teachers; }\n get students() { return this.ensureConfigured().students; }\n get courseGroups() { return this.ensureConfigured().courseGroups; }\n get coachingSessions() { return this.ensureConfigured().coachingSessions; }\n get tests() { return this.ensureConfigured().tests; }\n get registrationTokens() { return this.ensureConfigured().registrationTokens; }\n get placements() { return this.ensureConfigured().placements; }\n get calendars() { return this.ensureConfigured().calendars; }\n get matches() { return this.ensureConfigured().matches; }\n get attendance() { return this.ensureConfigured().attendance; }\n get notes() { return this.ensureConfigured().notes; }\n\n /** Full block access */\n get universityBlock(): UniversityBlock { return this.ensureConfigured(); }\n}\n","// ─────────────────────────────────────────────────────────────────────────────\n// Main API (Recommended)\n// ─────────────────────────────────────────────────────────────────────────────\nexport {\n // Main exports\n provideBlocks23,\n getBlocks23Providers,\n type ProviderConfig,\n type ServiceUrls,\n type AuthMode,\n type StorageType,\n type TokenManagerService,\n TOKEN_MANAGER,\n PROVIDER_CONFIG,\n\n // Backward compatibility (deprecated)\n type Simple23BlocksConfig,\n SIMPLE_CONFIG,\n} from './simple-providers';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Advanced API (Custom transport)\n// ─────────────────────────────────────────────────────────────────────────────\n// Tokens\nexport {\n // Legacy shared transport (deprecated)\n TRANSPORT,\n // Per-service transport tokens\n AUTHENTICATION_TRANSPORT,\n SEARCH_TRANSPORT,\n PRODUCTS_TRANSPORT,\n CRM_TRANSPORT,\n CONTENT_TRANSPORT,\n GEOLOCATION_TRANSPORT,\n CONVERSATIONS_TRANSPORT,\n FILES_TRANSPORT,\n FORMS_TRANSPORT,\n ASSETS_TRANSPORT,\n CAMPAIGNS_TRANSPORT,\n COMPANY_TRANSPORT,\n REWARDS_TRANSPORT,\n SALES_TRANSPORT,\n WALLET_TRANSPORT,\n JARVIS_TRANSPORT,\n ONBOARDING_TRANSPORT,\n UNIVERSITY_TRANSPORT,\n // Config tokens\n AUTHENTICATION_CONFIG,\n SEARCH_CONFIG,\n PRODUCTS_CONFIG,\n CRM_CONFIG,\n CONTENT_CONFIG,\n GEOLOCATION_CONFIG,\n CONVERSATIONS_CONFIG,\n FILES_CONFIG,\n FORMS_CONFIG,\n ASSETS_CONFIG,\n CAMPAIGNS_CONFIG,\n COMPANY_CONFIG,\n REWARDS_CONFIG,\n SALES_CONFIG,\n WALLET_CONFIG,\n JARVIS_CONFIG,\n ONBOARDING_CONFIG,\n UNIVERSITY_CONFIG,\n} from './tokens';\n\n// Provider functions (advanced - requires custom transport)\nexport { provide23Blocks, get23BlocksProviders, type Provide23BlocksConfig } from './providers';\n\n// Services\nexport { AuthenticationService } from './authentication/index';\nexport { SearchService } from './search/index';\nexport { ProductsService } from './products/index';\nexport { CrmService } from './crm/index';\nexport { ContentService } from './content/index';\nexport { GeolocationService } from './geolocation/index';\nexport { ConversationsService } from './conversations/index';\nexport { FilesService } from './files/index';\nexport { FormsService } from './forms/index';\nexport { AssetsService } from './assets/index';\nexport { CampaignsService } from './campaigns/index';\nexport { CompanyService } from './company/index';\nexport { RewardsService } from './rewards/index';\nexport { SalesService } from './sales/index';\nexport { WalletService } from './wallet/index';\nexport { JarvisService } from './jarvis/index';\nexport { OnboardingService } from './onboarding/index';\nexport { UniversityService } from './university/index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|