@elqnt/admin 2.1.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../api/index.ts","../../api/orgs.ts","../../api/users.ts","../../api/invites.ts"],"sourcesContent":["/**\n * Admin API functions\n *\n * Browser-side API client for admin operations (onboarding, org-settings, billing).\n * Uses @elqnt/api-client for HTTP requests with automatic token management.\n */\n\nimport { browserApiRequest, clearGatewayTokenCache } from \"@elqnt/api-client/browser\";\nimport type { ApiResponse, ApiClientOptions } from \"@elqnt/api-client\";\n\n// Re-export utility function\nexport { clearGatewayTokenCache };\nimport type { ResponseMetadata } from \"@elqnt/types\";\nimport type {\n OnboardingState,\n OnboardingResponse,\n CreateOrgResponse,\n SendInvitesResponse,\n CreateKnowledgeResponse,\n CreateAgentResponse,\n CompleteOnboardingResponse,\n PaymentSessionResponse,\n OrgSettings,\n OrgSettingsResponse,\n PlansResponse,\n SubscriptionResponse,\n CreditsResponse,\n CreateCheckoutResponse,\n PortalSessionResponse,\n ProvisionAgentsResponse,\n ProvisionEntitiesResponse,\n ProvisionWorkflowsResponse,\n} from \"../models\";\n\n// =============================================================================\n// ONBOARDING API OPTIONS\n// =============================================================================\n\n/**\n * Onboarding API options - orgId is optional since user may not have org yet\n */\nexport interface OnboardingApiOptions {\n baseUrl: string;\n orgId?: string;\n userId?: string;\n userEmail?: string;\n headers?: Record<string, string>;\n}\n\n// =============================================================================\n// ONBOARDING API\n// =============================================================================\n\nexport async function getOnboardingStatusApi(\n options: OnboardingApiOptions\n): Promise<ApiResponse<OnboardingResponse>> {\n return browserApiRequest(\"/api/v1/onboarding/status\", {\n method: \"GET\",\n ...options,\n orgId: options.orgId || \"\",\n });\n}\n\nexport async function startOnboardingApi(\n options: OnboardingApiOptions\n): Promise<ApiResponse<OnboardingResponse>> {\n return browserApiRequest(\"/api/v1/onboarding/start\", {\n method: \"POST\",\n body: {},\n ...options,\n orgId: options.orgId || \"\",\n });\n}\n\nexport async function createPaymentSessionApi(\n params: { plan: string; billingCycle: string; seats: number; successUrl: string; cancelUrl: string },\n options: OnboardingApiOptions\n): Promise<ApiResponse<PaymentSessionResponse>> {\n return browserApiRequest(\"/api/v1/onboarding/step/payment\", {\n method: \"POST\",\n body: params,\n ...options,\n orgId: options.orgId || \"\",\n });\n}\n\nexport async function createOrganizationApi(\n org: { name: string; industry?: string; size?: string; stripeSessionId?: string },\n options: OnboardingApiOptions\n): Promise<ApiResponse<CreateOrgResponse>> {\n return browserApiRequest(\"/api/v1/onboarding/step/organization\", {\n method: \"POST\",\n body: org,\n ...options,\n orgId: options.orgId || \"\",\n });\n}\n\nexport async function sendOnboardingInvitesApi(\n invites: Array<{ email: string; role?: string }>,\n options: OnboardingApiOptions\n): Promise<ApiResponse<SendInvitesResponse>> {\n return browserApiRequest(\"/api/v1/onboarding/step/invites\", {\n method: \"POST\",\n body: { invites },\n ...options,\n orgId: options.orgId || \"\",\n });\n}\n\nexport async function createOnboardingKnowledgeApi(\n knowledge: { name: string; description?: string; websites?: string[] },\n options: OnboardingApiOptions\n): Promise<ApiResponse<CreateKnowledgeResponse>> {\n return browserApiRequest(\"/api/v1/onboarding/step/knowledge\", {\n method: \"POST\",\n body: knowledge,\n ...options,\n orgId: options.orgId || \"\",\n });\n}\n\nexport async function createOnboardingAgentApi(\n agent: { name: string; description?: string; goal?: string },\n options: OnboardingApiOptions\n): Promise<ApiResponse<CreateAgentResponse>> {\n return browserApiRequest(\"/api/v1/onboarding/step/agent\", {\n method: \"POST\",\n body: agent,\n ...options,\n orgId: options.orgId || \"\",\n });\n}\n\nexport async function createAgentWithSkillsApi(\n payload: { agent: Record<string, unknown>; skills: Record<string, unknown>[]; enabledSkillNames: string[] },\n options: OnboardingApiOptions\n): Promise<ApiResponse<CreateAgentResponse>> {\n return browserApiRequest(\"/api/v1/onboarding/agent-with-skills\", {\n method: \"POST\",\n body: payload,\n ...options,\n orgId: options.orgId || \"\",\n });\n}\n\nexport async function completeOnboardingApi(\n options: OnboardingApiOptions\n): Promise<ApiResponse<CompleteOnboardingResponse>> {\n return browserApiRequest(\"/api/v1/onboarding/complete\", {\n method: \"POST\",\n body: {},\n ...options,\n orgId: options.orgId || \"\",\n });\n}\n\nexport async function skipOnboardingStepApi(\n step: string,\n options: OnboardingApiOptions\n): Promise<ApiResponse<{ nextStep: string; metadata: ResponseMetadata }>> {\n return browserApiRequest(\"/api/v1/onboarding/skip-step\", {\n method: \"POST\",\n body: { step },\n ...options,\n orgId: options.orgId || \"\",\n });\n}\n\n// =============================================================================\n// ORG SETTINGS API\n// =============================================================================\n\nexport async function getOrgSettingsApi(\n options: ApiClientOptions\n): Promise<ApiResponse<OrgSettingsResponse>> {\n return browserApiRequest(\"/api/v1/org/settings\", {\n method: \"GET\",\n ...options,\n });\n}\n\nexport async function createOrgSettingsApi(\n settings: Partial<OrgSettings>,\n options: ApiClientOptions\n): Promise<ApiResponse<OrgSettingsResponse & { id?: string }>> {\n return browserApiRequest(\"/api/v1/org/settings\", {\n method: \"POST\",\n body: settings,\n ...options,\n });\n}\n\nexport async function updateOrgSettingsApi(\n settings: Partial<OrgSettings>,\n options: ApiClientOptions\n): Promise<ApiResponse<OrgSettingsResponse>> {\n return browserApiRequest(\"/api/v1/org/settings\", {\n method: \"PUT\",\n body: settings,\n ...options,\n });\n}\n\nexport async function updateOrgAgentsApi(\n agentIds: string[],\n options: ApiClientOptions\n): Promise<ApiResponse<ProvisionAgentsResponse>> {\n return browserApiRequest(\"/api/v1/org/agents\", {\n method: \"PUT\",\n body: { agentIds },\n ...options,\n });\n}\n\nexport async function updateEntityDefinitionsApi(\n entityNames: string[],\n options: ApiClientOptions\n): Promise<ApiResponse<ProvisionEntitiesResponse>> {\n return browserApiRequest(\"/api/v1/org/entities\", {\n method: \"PUT\",\n body: { entityNames },\n ...options,\n });\n}\n\nexport async function updateWorkflowDefinitionsApi(\n workflowIds: string[],\n options: ApiClientOptions\n): Promise<ApiResponse<ProvisionWorkflowsResponse>> {\n return browserApiRequest(\"/api/v1/org/workflows\", {\n method: \"PUT\",\n body: { workflowIds },\n ...options,\n });\n}\n\n// =============================================================================\n// BILLING API\n// =============================================================================\n\nexport async function getBillingPlansApi(\n options: ApiClientOptions\n): Promise<ApiResponse<PlansResponse>> {\n return browserApiRequest(\"/api/v1/billing/plans\", {\n method: \"GET\",\n ...options,\n });\n}\n\nexport async function getSubscriptionApi(\n options: ApiClientOptions\n): Promise<ApiResponse<SubscriptionResponse>> {\n return browserApiRequest(\"/api/v1/billing/subscription\", {\n method: \"GET\",\n ...options,\n });\n}\n\nexport async function getCreditsApi(\n options: ApiClientOptions\n): Promise<ApiResponse<CreditsResponse>> {\n return browserApiRequest(\"/api/v1/billing/credits\", {\n method: \"GET\",\n ...options,\n });\n}\n\nexport async function createCheckoutSessionApi(\n params: { priceId: string; seats?: number; successUrl?: string; cancelUrl?: string },\n options: ApiClientOptions\n): Promise<ApiResponse<CreateCheckoutResponse>> {\n return browserApiRequest(\"/api/v1/billing/checkout\", {\n method: \"POST\",\n body: params,\n ...options,\n });\n}\n\nexport async function createPortalSessionApi(\n params: { returnUrl: string },\n options: ApiClientOptions\n): Promise<ApiResponse<PortalSessionResponse>> {\n return browserApiRequest(\"/api/v1/billing/portal\", {\n method: \"POST\",\n body: params,\n ...options,\n });\n}\n\nexport async function cancelSubscriptionApi(\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(\"/api/v1/billing/subscription/cancel\", {\n method: \"POST\",\n body: {},\n ...options,\n });\n}\n\nexport async function purchaseCreditsApi(\n params: { packageId: string; successUrl?: string; cancelUrl?: string },\n options: ApiClientOptions\n): Promise<ApiResponse<CreateCheckoutResponse>> {\n return browserApiRequest(\"/api/v1/billing/credits/purchase\", {\n method: \"POST\",\n body: params,\n ...options,\n });\n}\n\n// =============================================================================\n// PROVISIONING API (DEPRECATED - use domain packages instead)\n// =============================================================================\n\n/**\n * @deprecated Use `provisionAgentsApi` from `@elqnt/agents/api` instead\n */\nexport async function provisionDefaultAgentsApi(\n definitions: unknown[],\n options: ApiClientOptions\n): Promise<ApiResponse<ProvisionAgentsResponse>> {\n return browserApiRequest(\"/api/v1/admin/provision/agents\", {\n method: \"POST\",\n body: { definitions },\n ...options,\n });\n}\n\n/**\n * @deprecated Use `provisionEntitiesApi` from `@elqnt/entity/api` instead\n */\nexport async function provisionEntitiesApi(\n definitions: unknown[],\n options: ApiClientOptions\n): Promise<ApiResponse<ProvisionEntitiesResponse>> {\n return browserApiRequest(\"/api/v1/admin/entities/update\", {\n method: \"POST\",\n body: { definitions },\n ...options,\n });\n}\n\n/**\n * @deprecated Use `provisionWorkflowsApi` from `@elqnt/workflow/api` instead (coming soon)\n */\nexport async function provisionWorkflowsApi(\n definitions: unknown[],\n options: ApiClientOptions\n): Promise<ApiResponse<ProvisionWorkflowsResponse>> {\n return browserApiRequest(\"/api/v1/admin/provision/workflows\", {\n method: \"POST\",\n body: { definitions },\n ...options,\n });\n}\n\n// =============================================================================\n// ADMIN CRUD APIs\n// =============================================================================\n\nexport * from \"./orgs\";\nexport * from \"./users\";\nexport * from \"./invites\";\n\n// =============================================================================\n// RE-EXPORTS\n// =============================================================================\n\nexport type {\n OnboardingState,\n OnboardingResponse,\n OrgSettings,\n OrgSettingsResponse,\n Plan,\n OrganizationBilling,\n UsageSummary,\n CreditBalance,\n PlansResponse,\n SubscriptionResponse,\n CreditsResponse,\n ProvisionAgentsResponse,\n ProvisionEntitiesResponse,\n ProvisionWorkflowsResponse,\n // Org types\n Org,\n OrgResponse,\n OrgInfoResponse,\n ListOrgsResponse,\n // User types\n User,\n UserResponse,\n ListUsersResponse,\n UserSettings,\n UserSettingsResponse,\n NotificationPreferences,\n // Invite types\n Invite,\n InviteResponse,\n ListInvitesResponse,\n InviteInput,\n InvitesResult,\n} from \"../models\";\n","/**\n * Organizations Admin API\n *\n * Browser-side API client for organization management.\n * Uses @elqnt/api-client for HTTP requests with automatic token management.\n */\n\nimport { browserApiRequest } from \"@elqnt/api-client/browser\";\nimport type { ApiResponse, ApiClientOptions } from \"@elqnt/api-client\";\nimport type {\n Org,\n OrgResponse,\n OrgInfoResponse,\n ListOrgsResponse,\n} from \"../models\";\n\n// =============================================================================\n// ORGANIZATIONS CRUD\n// =============================================================================\n\n/**\n * List all organizations (admin scope required)\n */\nexport async function listOrgsApi(\n options: ApiClientOptions\n): Promise<ApiResponse<ListOrgsResponse>> {\n return browserApiRequest(\"/api/v1/admin/orgs\", {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Create a new organization\n */\nexport async function createOrgApi(\n org: Partial<Org>,\n options: ApiClientOptions\n): Promise<ApiResponse<OrgResponse>> {\n return browserApiRequest(\"/api/v1/admin/orgs\", {\n method: \"POST\",\n body: org,\n ...options,\n });\n}\n\n/**\n * Get an organization by ID\n */\nexport async function getOrgApi(\n orgId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<OrgResponse>> {\n return browserApiRequest(`/api/v1/admin/orgs/${orgId}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Update an organization\n */\nexport async function updateOrgApi(\n orgId: string,\n updates: Partial<Org>,\n options: ApiClientOptions\n): Promise<ApiResponse<OrgResponse>> {\n return browserApiRequest(`/api/v1/admin/orgs/${orgId}`, {\n method: \"PUT\",\n body: updates,\n ...options,\n });\n}\n\n/**\n * Delete an organization\n */\nexport async function deleteOrgApi(\n orgId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean }>> {\n return browserApiRequest(`/api/v1/admin/orgs/${orgId}`, {\n method: \"DELETE\",\n ...options,\n });\n}\n\n/**\n * Get organization info (lightweight response)\n */\nexport async function getOrgInfoApi(\n orgId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<OrgInfoResponse>> {\n return browserApiRequest(`/api/v1/admin/orgs/${orgId}/info`, {\n method: \"GET\",\n ...options,\n });\n}\n","/**\n * Users Admin API\n *\n * Browser-side API client for user management.\n * Uses @elqnt/api-client for HTTP requests with automatic token management.\n */\n\nimport { browserApiRequest } from \"@elqnt/api-client/browser\";\nimport type { ApiResponse, ApiClientOptions } from \"@elqnt/api-client\";\nimport type {\n User,\n UserResponse,\n ListUsersResponse,\n UserSettings,\n UserSettingsResponse,\n NotificationPreferences,\n} from \"../models\";\n\n// =============================================================================\n// USERS CRUD\n// =============================================================================\n\n/**\n * List all users in the organization\n */\nexport async function listUsersApi(\n options: ApiClientOptions\n): Promise<ApiResponse<ListUsersResponse>> {\n return browserApiRequest(\"/api/v1/admin/users\", {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Create a new user\n */\nexport async function createUserApi(\n user: Partial<User>,\n options: ApiClientOptions\n): Promise<ApiResponse<UserResponse>> {\n return browserApiRequest(\"/api/v1/admin/users\", {\n method: \"POST\",\n body: user,\n ...options,\n });\n}\n\n/**\n * Get a user by ID\n */\nexport async function getUserApi(\n userId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<UserResponse>> {\n return browserApiRequest(`/api/v1/admin/users/${userId}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Get a user by email\n */\nexport async function getUserByEmailApi(\n email: string,\n options: ApiClientOptions\n): Promise<ApiResponse<UserResponse>> {\n return browserApiRequest(`/api/v1/admin/users/by-email?email=${encodeURIComponent(email)}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Update a user\n */\nexport async function updateUserApi(\n userId: string,\n updates: Partial<User>,\n options: ApiClientOptions\n): Promise<ApiResponse<UserResponse>> {\n return browserApiRequest(`/api/v1/admin/users/${userId}`, {\n method: \"PUT\",\n body: updates,\n ...options,\n });\n}\n\n/**\n * Delete a user\n */\nexport async function deleteUserApi(\n userId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean }>> {\n return browserApiRequest(`/api/v1/admin/users/${userId}`, {\n method: \"DELETE\",\n ...options,\n });\n}\n\n// =============================================================================\n// USER SETTINGS\n// =============================================================================\n\n/**\n * Get user settings\n */\nexport async function getUserSettingsApi(\n userId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<UserSettingsResponse>> {\n return browserApiRequest(`/api/v1/admin/users/${userId}/settings`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Update user settings\n */\nexport async function updateUserSettingsApi(\n userId: string,\n settings: {\n settings?: UserSettings;\n notificationPreferences?: NotificationPreferences;\n },\n options: ApiClientOptions\n): Promise<ApiResponse<UserSettingsResponse>> {\n return browserApiRequest(`/api/v1/admin/users/${userId}/settings`, {\n method: \"PUT\",\n body: settings,\n ...options,\n });\n}\n","/**\n * Invites Admin API\n *\n * Browser-side API client for invitation management.\n * Uses @elqnt/api-client for HTTP requests with automatic token management.\n */\n\nimport { browserApiRequest } from \"@elqnt/api-client/browser\";\nimport type { ApiResponse, ApiClientOptions } from \"@elqnt/api-client\";\nimport type {\n Invite,\n InviteResponse,\n ListInvitesResponse,\n InviteInput,\n InvitesResult,\n} from \"../models\";\n\n// =============================================================================\n// INVITES CRUD\n// =============================================================================\n\n/**\n * List all invites in the organization\n */\nexport async function listInvitesApi(\n options: ApiClientOptions\n): Promise<ApiResponse<ListInvitesResponse>> {\n return browserApiRequest(\"/api/v1/admin/invites\", {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Send invites to multiple users\n */\nexport async function sendInvitesApi(\n invites: InviteInput[],\n options: ApiClientOptions\n): Promise<ApiResponse<InvitesResult>> {\n return browserApiRequest(\"/api/v1/admin/invites\", {\n method: \"POST\",\n body: { invites },\n ...options,\n });\n}\n\n/**\n * Send a single invite\n */\nexport async function sendInviteApi(\n invite: InviteInput,\n options: ApiClientOptions\n): Promise<ApiResponse<InviteResponse>> {\n return browserApiRequest(\"/api/v1/admin/invites/single\", {\n method: \"POST\",\n body: invite,\n ...options,\n });\n}\n\n/**\n * Get an invite by ID\n */\nexport async function getInviteApi(\n inviteId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<InviteResponse>> {\n return browserApiRequest(`/api/v1/admin/invites/${inviteId}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Resend an invite\n */\nexport async function resendInviteApi(\n inviteId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<InviteResponse>> {\n return browserApiRequest(`/api/v1/admin/invites/${inviteId}/resend`, {\n method: \"POST\",\n ...options,\n });\n}\n\n/**\n * Revoke an invite\n */\nexport async function revokeInviteApi(\n inviteId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean }>> {\n return browserApiRequest(`/api/v1/admin/invites/${inviteId}`, {\n method: \"DELETE\",\n ...options,\n });\n}\n\n/**\n * Accept an invite (used by invited users)\n */\nexport async function acceptInviteApi(\n inviteId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<InviteResponse>> {\n return browserApiRequest(`/api/v1/admin/invites/${inviteId}/accept`, {\n method: \"POST\",\n ...options,\n });\n}\n"],"mappings":"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","names":["browserApiRequest","browserApiRequest","browserApiRequest","browserApiRequest"]}
1
+ {"version":3,"sources":["../../api/index.ts","../../api/orgs.ts","../../api/users.ts","../../api/invites.ts","../../api/analytics.ts","../../api/provisioning.ts"],"sourcesContent":["/**\n * Admin API functions\n *\n * Browser-side API client for admin operations (onboarding, org-settings, billing).\n * Uses @elqnt/api-client for HTTP requests with automatic token management.\n */\n\nimport { browserApiRequest, clearGatewayTokenCache } from \"@elqnt/api-client/browser\";\nimport type { ApiResponse, ApiClientOptions } from \"@elqnt/api-client\";\n\n// Re-export utility function\nexport { clearGatewayTokenCache };\nimport type { ResponseMetadata } from \"@elqnt/types\";\nimport type {\n OnboardingState,\n OnboardingResponse,\n CreateOrgResponse,\n SendInvitesResponse,\n CreateKnowledgeResponse,\n CreateAgentResponse,\n CompleteOnboardingResponse,\n PaymentSessionResponse,\n OrgSettings,\n OrgSettingsResponse,\n PlansResponse,\n SubscriptionResponse,\n CreditsResponse,\n CreateCheckoutResponse,\n PortalSessionResponse,\n ProvisionAgentsResponse,\n ProvisionEntitiesResponse,\n ProvisionWorkflowsResponse,\n} from \"../models\";\n\n// =============================================================================\n// ONBOARDING API OPTIONS\n// =============================================================================\n\n/**\n * Onboarding API options - orgId is optional since user may not have org yet\n */\nexport interface OnboardingApiOptions {\n baseUrl: string;\n orgId?: string;\n userId?: string;\n userEmail?: string;\n headers?: Record<string, string>;\n}\n\n// =============================================================================\n// ONBOARDING API\n// =============================================================================\n\nexport async function getOnboardingStatusApi(\n options: OnboardingApiOptions\n): Promise<ApiResponse<OnboardingResponse>> {\n return browserApiRequest(\"/api/v1/onboarding/status\", {\n method: \"GET\",\n ...options,\n orgId: options.orgId || \"\",\n });\n}\n\nexport async function startOnboardingApi(\n options: OnboardingApiOptions\n): Promise<ApiResponse<OnboardingResponse>> {\n return browserApiRequest(\"/api/v1/onboarding/start\", {\n method: \"POST\",\n body: {},\n ...options,\n orgId: options.orgId || \"\",\n });\n}\n\nexport async function createPaymentSessionApi(\n params: { plan: string; billingCycle: string; seats: number; successUrl: string; cancelUrl: string },\n options: OnboardingApiOptions\n): Promise<ApiResponse<PaymentSessionResponse>> {\n return browserApiRequest(\"/api/v1/onboarding/step/payment\", {\n method: \"POST\",\n body: params,\n ...options,\n orgId: options.orgId || \"\",\n });\n}\n\nexport async function createOrganizationApi(\n org: { name: string; industry?: string; size?: string; stripeSessionId?: string },\n options: OnboardingApiOptions\n): Promise<ApiResponse<CreateOrgResponse>> {\n return browserApiRequest(\"/api/v1/onboarding/step/organization\", {\n method: \"POST\",\n body: org,\n ...options,\n orgId: options.orgId || \"\",\n });\n}\n\nexport async function sendOnboardingInvitesApi(\n invites: Array<{ email: string; role?: string }>,\n options: OnboardingApiOptions\n): Promise<ApiResponse<SendInvitesResponse>> {\n return browserApiRequest(\"/api/v1/onboarding/step/invites\", {\n method: \"POST\",\n body: { invites },\n ...options,\n orgId: options.orgId || \"\",\n });\n}\n\nexport async function createOnboardingKnowledgeApi(\n knowledge: { name: string; description?: string; websites?: string[] },\n options: OnboardingApiOptions\n): Promise<ApiResponse<CreateKnowledgeResponse>> {\n return browserApiRequest(\"/api/v1/onboarding/step/knowledge\", {\n method: \"POST\",\n body: knowledge,\n ...options,\n orgId: options.orgId || \"\",\n });\n}\n\nexport async function createOnboardingAgentApi(\n agent: { name: string; description?: string; goal?: string },\n options: OnboardingApiOptions\n): Promise<ApiResponse<CreateAgentResponse>> {\n return browserApiRequest(\"/api/v1/onboarding/step/agent\", {\n method: \"POST\",\n body: agent,\n ...options,\n orgId: options.orgId || \"\",\n });\n}\n\nexport async function createAgentWithSkillsApi(\n payload: { agent: Record<string, unknown>; skills: Record<string, unknown>[]; enabledSkillNames: string[] },\n options: OnboardingApiOptions\n): Promise<ApiResponse<CreateAgentResponse>> {\n return browserApiRequest(\"/api/v1/onboarding/agent-with-skills\", {\n method: \"POST\",\n body: payload,\n ...options,\n orgId: options.orgId || \"\",\n });\n}\n\nexport async function completeOnboardingApi(\n options: OnboardingApiOptions\n): Promise<ApiResponse<CompleteOnboardingResponse>> {\n return browserApiRequest(\"/api/v1/onboarding/complete\", {\n method: \"POST\",\n body: {},\n ...options,\n orgId: options.orgId || \"\",\n });\n}\n\nexport async function skipOnboardingStepApi(\n step: string,\n options: OnboardingApiOptions\n): Promise<ApiResponse<{ nextStep: string; metadata: ResponseMetadata }>> {\n return browserApiRequest(\"/api/v1/onboarding/skip-step\", {\n method: \"POST\",\n body: { step },\n ...options,\n orgId: options.orgId || \"\",\n });\n}\n\nexport interface StartProvisioningResponse {\n orgId: string;\n status: string;\n metadata?: ResponseMetadata;\n}\n\n/**\n * Start provisioning for an onboarding org.\n * Returns the org ID so the frontend can connect to the SSE stream for progress.\n */\nexport async function startOnboardingProvisioningApi(\n options: OnboardingApiOptions\n): Promise<ApiResponse<StartProvisioningResponse>> {\n return browserApiRequest(\"/api/v1/onboarding/provisioning/start\", {\n method: \"POST\",\n body: {},\n ...options,\n orgId: options.orgId || \"\",\n });\n}\n\n/**\n * Request body for unified onboarding provisioning\n */\nexport interface ProvisionAllRequest {\n plan: {\n plan: string;\n billingCycle: string;\n seats: number;\n stripeSessionId?: string;\n inviteCode?: string; // If present, this is a free trial (skipped payment)\n };\n org: {\n title: string;\n mainDomain: string;\n product?: string; // Product identifier (eloquent, shop-assist, etc.) - defaults to \"eloquent\"\n industry?: string;\n size?: string;\n };\n invites?: Array<{\n email: string;\n role: string;\n }>;\n knowledge: {\n name: string;\n documents?: Array<{\n title: string;\n fileUrl: string;\n }>;\n };\n agent: {\n name: string;\n goal: string;\n personality: string;\n skills?: string[];\n };\n}\n\n/**\n * Response from unified onboarding provisioning\n */\nexport interface ProvisionAllResponse {\n orgId: string;\n userId: string;\n status: string;\n metadata: ResponseMetadata;\n}\n\n/**\n * Unified onboarding provisioning - collects all data then creates org and provisions everything.\n * This is the new flow where data is collected first, then provisioned via SSE.\n */\nexport async function provisionAllOnboardingApi(\n request: ProvisionAllRequest,\n options: OnboardingApiOptions\n): Promise<ApiResponse<ProvisionAllResponse>> {\n return browserApiRequest(\"/api/v1/onboarding/provision-all\", {\n method: \"POST\",\n body: request,\n ...options,\n orgId: options.orgId || \"\",\n });\n}\n\n// =============================================================================\n// ORG SETTINGS API\n// =============================================================================\n\nexport async function getOrgSettingsApi(\n options: ApiClientOptions\n): Promise<ApiResponse<OrgSettingsResponse>> {\n return browserApiRequest(\"/api/v1/org/settings\", {\n method: \"GET\",\n ...options,\n });\n}\n\nexport async function createOrgSettingsApi(\n settings: Partial<OrgSettings>,\n options: ApiClientOptions\n): Promise<ApiResponse<OrgSettingsResponse & { id?: string }>> {\n return browserApiRequest(\"/api/v1/org/settings\", {\n method: \"POST\",\n body: settings,\n ...options,\n });\n}\n\nexport async function updateOrgSettingsApi(\n settings: Partial<OrgSettings>,\n options: ApiClientOptions\n): Promise<ApiResponse<OrgSettingsResponse>> {\n return browserApiRequest(\"/api/v1/org/settings\", {\n method: \"PUT\",\n body: settings,\n ...options,\n });\n}\n\nexport async function updateOrgAgentsApi(\n agentIds: string[],\n options: ApiClientOptions\n): Promise<ApiResponse<ProvisionAgentsResponse>> {\n return browserApiRequest(\"/api/v1/org/agents\", {\n method: \"PUT\",\n body: { agentIds },\n ...options,\n });\n}\n\nexport async function updateEntityDefinitionsApi(\n entityNames: string[],\n options: ApiClientOptions\n): Promise<ApiResponse<ProvisionEntitiesResponse>> {\n return browserApiRequest(\"/api/v1/org/entities\", {\n method: \"PUT\",\n body: { entityNames },\n ...options,\n });\n}\n\nexport async function updateWorkflowDefinitionsApi(\n workflowIds: string[],\n options: ApiClientOptions\n): Promise<ApiResponse<ProvisionWorkflowsResponse>> {\n return browserApiRequest(\"/api/v1/org/workflows\", {\n method: \"PUT\",\n body: { workflowIds },\n ...options,\n });\n}\n\n// =============================================================================\n// BILLING API\n// =============================================================================\n\nexport async function getBillingPlansApi(\n options: ApiClientOptions\n): Promise<ApiResponse<PlansResponse>> {\n return browserApiRequest(\"/api/v1/billing/plans\", {\n method: \"GET\",\n ...options,\n });\n}\n\nexport async function getSubscriptionApi(\n options: ApiClientOptions\n): Promise<ApiResponse<SubscriptionResponse>> {\n return browserApiRequest(\"/api/v1/billing/subscription\", {\n method: \"GET\",\n ...options,\n });\n}\n\nexport async function getCreditsApi(\n options: ApiClientOptions\n): Promise<ApiResponse<CreditsResponse>> {\n return browserApiRequest(\"/api/v1/billing/credits\", {\n method: \"GET\",\n ...options,\n });\n}\n\nexport async function createCheckoutSessionApi(\n params: { priceId: string; seats?: number; successUrl?: string; cancelUrl?: string },\n options: ApiClientOptions\n): Promise<ApiResponse<CreateCheckoutResponse>> {\n return browserApiRequest(\"/api/v1/billing/checkout\", {\n method: \"POST\",\n body: params,\n ...options,\n });\n}\n\nexport async function createPortalSessionApi(\n params: { returnUrl: string },\n options: ApiClientOptions\n): Promise<ApiResponse<PortalSessionResponse>> {\n return browserApiRequest(\"/api/v1/billing/portal\", {\n method: \"POST\",\n body: params,\n ...options,\n });\n}\n\nexport async function cancelSubscriptionApi(\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(\"/api/v1/billing/subscription/cancel\", {\n method: \"POST\",\n body: {},\n ...options,\n });\n}\n\nexport async function purchaseCreditsApi(\n params: { packageId: string; successUrl?: string; cancelUrl?: string },\n options: ApiClientOptions\n): Promise<ApiResponse<CreateCheckoutResponse>> {\n return browserApiRequest(\"/api/v1/billing/credits/purchase\", {\n method: \"POST\",\n body: params,\n ...options,\n });\n}\n\n// =============================================================================\n// PROVISIONING API (DEPRECATED - use domain packages instead)\n// =============================================================================\n\n/**\n * @deprecated Use `provisionAgentsApi` from `@elqnt/agents/api` instead\n */\nexport async function provisionDefaultAgentsApi(\n definitions: unknown[],\n options: ApiClientOptions\n): Promise<ApiResponse<ProvisionAgentsResponse>> {\n return browserApiRequest(\"/api/v1/admin/provision/agents\", {\n method: \"POST\",\n body: { definitions },\n ...options,\n });\n}\n\n/**\n * @deprecated Use `provisionEntitiesApi` from `@elqnt/entity/api` instead\n */\nexport async function provisionEntitiesApi(\n definitions: unknown[],\n options: ApiClientOptions\n): Promise<ApiResponse<ProvisionEntitiesResponse>> {\n return browserApiRequest(\"/api/v1/admin/entities/update\", {\n method: \"POST\",\n body: { definitions },\n ...options,\n });\n}\n\n/**\n * @deprecated Use `provisionWorkflowsApi` from `@elqnt/workflow/api` instead (coming soon)\n */\nexport async function provisionWorkflowsApi(\n definitions: unknown[],\n options: ApiClientOptions\n): Promise<ApiResponse<ProvisionWorkflowsResponse>> {\n return browserApiRequest(\"/api/v1/admin/provision/workflows\", {\n method: \"POST\",\n body: { definitions },\n ...options,\n });\n}\n\n// =============================================================================\n// ADMIN CRUD APIs\n// =============================================================================\n\nexport * from \"./orgs\";\nexport * from \"./users\";\nexport * from \"./invites\";\nexport * from \"./analytics\";\nexport * from \"./provisioning\";\n\n// =============================================================================\n// RE-EXPORTS\n// =============================================================================\n\nexport type {\n OnboardingState,\n OnboardingResponse,\n OrgSettings,\n OrgSettingsResponse,\n Plan,\n OrganizationBilling,\n UsageSummary,\n CreditBalance,\n PlansResponse,\n SubscriptionResponse,\n CreditsResponse,\n ProvisionAgentsResponse,\n ProvisionEntitiesResponse,\n ProvisionWorkflowsResponse,\n // Org types\n Org,\n OrgResponse,\n OrgInfoResponse,\n ListOrgsResponse,\n OrgSchemaTypeTS,\n CreateOrgWithSchemasResponse,\n // User types\n User,\n UserResponse,\n ListUsersResponse,\n UserSettings,\n UserSettingsResponse,\n NotificationPreferences,\n // Invite types\n Invite,\n InviteResponse,\n ListInvitesResponse,\n InviteInput,\n InvitesResult,\n} from \"../models\";\n","/**\n * Organizations Admin API\n *\n * Browser-side API client for organization management.\n * Uses @elqnt/api-client for HTTP requests with automatic token management.\n */\n\nimport { browserApiRequest } from \"@elqnt/api-client/browser\";\nimport type { ApiResponse, ApiClientOptions } from \"@elqnt/api-client\";\nimport type {\n Org,\n OrgResponse,\n OrgInfoResponse,\n ListOrgsResponse,\n OrgProductTS,\n OrgStatusTS,\n OrgTypeTS,\n OrgSchemaTypeTS,\n CreateOrgWithSchemasResponse,\n} from \"../models\";\n\n// =============================================================================\n// FILTER TYPES\n// =============================================================================\n\n/**\n * Filter options for listing organizations\n */\nexport interface ListOrgsFilter {\n product?: OrgProductTS;\n status?: OrgStatusTS;\n type?: OrgTypeTS;\n}\n\n// =============================================================================\n// ORGANIZATIONS CRUD\n// =============================================================================\n\n/**\n * List all organizations (admin scope required)\n * @param filter - Optional filter criteria\n * @param options - API client options\n */\nexport async function listOrgsApi(\n filter: ListOrgsFilter | undefined,\n options: ApiClientOptions\n): Promise<ApiResponse<ListOrgsResponse>> {\n const params = new URLSearchParams();\n if (filter?.product) params.set(\"product\", filter.product);\n if (filter?.status) params.set(\"status\", filter.status);\n if (filter?.type) params.set(\"type\", filter.type);\n\n const queryString = params.toString();\n const url = queryString ? `/api/v1/admin/orgs?${queryString}` : \"/api/v1/admin/orgs\";\n\n return browserApiRequest(url, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Create a new organization\n */\nexport async function createOrgApi(\n org: Partial<Org>,\n options: ApiClientOptions\n): Promise<ApiResponse<OrgResponse>> {\n return browserApiRequest(\"/api/v1/admin/orgs\", {\n method: \"POST\",\n body: org,\n ...options,\n });\n}\n\n/**\n * Get an organization by ID\n */\nexport async function getOrgApi(\n orgId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<OrgResponse>> {\n return browserApiRequest(`/api/v1/admin/orgs/${orgId}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Update an organization\n */\nexport async function updateOrgApi(\n orgId: string,\n updates: Partial<Org>,\n options: ApiClientOptions\n): Promise<ApiResponse<OrgResponse>> {\n return browserApiRequest(`/api/v1/admin/orgs/${orgId}`, {\n method: \"PUT\",\n body: updates,\n ...options,\n });\n}\n\n/**\n * Delete an organization\n */\nexport async function deleteOrgApi(\n orgId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean }>> {\n return browserApiRequest(`/api/v1/admin/orgs/${orgId}`, {\n method: \"DELETE\",\n ...options,\n });\n}\n\n/**\n * Get organization info (lightweight response)\n */\nexport async function getOrgInfoApi(\n orgId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<OrgInfoResponse>> {\n return browserApiRequest(`/api/v1/admin/orgs/${orgId}/info`, {\n method: \"GET\",\n ...options,\n });\n}\n\n// =============================================================================\n// SCHEMA PROVISIONING\n// =============================================================================\n\n/**\n * Create an organization with specific database schemas.\n * Only creates bare org_<uuid> schemas, no tables or default data.\n * Use this when you want to create an org then bootstrap custom content\n * using @elqnt/* hooks.\n *\n * @param org - Partial org data (title is required)\n * @param schemas - Array of schema types to create: \"entities\", \"agents\", \"org-config\"\n * @param options - API client options\n */\nexport async function createOrgWithSchemasApi(\n org: Partial<Org>,\n schemas: OrgSchemaTypeTS[],\n options: ApiClientOptions\n): Promise<ApiResponse<CreateOrgWithSchemasResponse>> {\n return browserApiRequest(\"/api/v1/admin/orgs/with-schemas\", {\n method: \"POST\",\n body: { org, schemas },\n ...options,\n });\n}\n","/**\n * Users Admin API\n *\n * Browser-side API client for user management.\n * Uses @elqnt/api-client for HTTP requests with automatic token management.\n */\n\nimport { browserApiRequest } from \"@elqnt/api-client/browser\";\nimport type { ApiResponse, ApiClientOptions } from \"@elqnt/api-client\";\nimport type {\n User,\n UserResponse,\n ListUsersResponse,\n UserSettings,\n UserSettingsResponse,\n NotificationPreferences,\n} from \"../models\";\n\n// =============================================================================\n// USERS CRUD\n// =============================================================================\n\n/**\n * List all users in the organization\n */\nexport async function listUsersApi(\n options: ApiClientOptions\n): Promise<ApiResponse<ListUsersResponse>> {\n return browserApiRequest(\"/api/v1/admin/users\", {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Create a new user\n */\nexport async function createUserApi(\n user: Partial<User>,\n options: ApiClientOptions\n): Promise<ApiResponse<UserResponse>> {\n return browserApiRequest(\"/api/v1/admin/users\", {\n method: \"POST\",\n body: user,\n ...options,\n });\n}\n\n/**\n * Get a user by ID\n */\nexport async function getUserApi(\n userId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<UserResponse>> {\n return browserApiRequest(`/api/v1/admin/users/${userId}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Get a user by email\n */\nexport async function getUserByEmailApi(\n email: string,\n options: ApiClientOptions\n): Promise<ApiResponse<UserResponse>> {\n return browserApiRequest(`/api/v1/admin/users/by-email?email=${encodeURIComponent(email)}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Get a user by phone number (stored in metadata.phoneNumber)\n */\nexport async function getUserByPhoneApi(\n phone: string,\n options: ApiClientOptions\n): Promise<ApiResponse<UserResponse>> {\n return browserApiRequest(`/api/v1/admin/users/by-phone?phone=${encodeURIComponent(phone)}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Update a user\n */\nexport async function updateUserApi(\n userId: string,\n updates: Partial<User>,\n options: ApiClientOptions\n): Promise<ApiResponse<UserResponse>> {\n return browserApiRequest(`/api/v1/admin/users/${userId}`, {\n method: \"PUT\",\n body: updates,\n ...options,\n });\n}\n\n/**\n * Delete a user\n */\nexport async function deleteUserApi(\n userId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean }>> {\n return browserApiRequest(`/api/v1/admin/users/${userId}`, {\n method: \"DELETE\",\n ...options,\n });\n}\n\n// =============================================================================\n// USER SETTINGS\n// =============================================================================\n\n/**\n * Get user settings\n */\nexport async function getUserSettingsApi(\n userId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<UserSettingsResponse>> {\n return browserApiRequest(`/api/v1/admin/users/${userId}/settings`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Update user settings\n */\nexport async function updateUserSettingsApi(\n userId: string,\n settings: {\n settings?: UserSettings;\n notificationPreferences?: NotificationPreferences;\n },\n options: ApiClientOptions\n): Promise<ApiResponse<UserSettingsResponse>> {\n return browserApiRequest(`/api/v1/admin/users/${userId}/settings`, {\n method: \"PUT\",\n body: settings,\n ...options,\n });\n}\n","/**\n * Invites Admin API\n *\n * Browser-side API client for invitation management.\n * Uses @elqnt/api-client for HTTP requests with automatic token management.\n */\n\nimport { browserApiRequest } from \"@elqnt/api-client/browser\";\nimport type { ApiResponse, ApiClientOptions } from \"@elqnt/api-client\";\nimport type {\n Invite,\n InviteResponse,\n ListInvitesResponse,\n InviteInput,\n InvitesResult,\n} from \"../models\";\n\n// =============================================================================\n// INVITES CRUD\n// =============================================================================\n\n/**\n * List all invites in the organization\n */\nexport async function listInvitesApi(\n options: ApiClientOptions\n): Promise<ApiResponse<ListInvitesResponse>> {\n return browserApiRequest(\"/api/v1/admin/invites\", {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Send invites to multiple users\n */\nexport async function sendInvitesApi(\n invites: InviteInput[],\n options: ApiClientOptions\n): Promise<ApiResponse<InvitesResult>> {\n return browserApiRequest(\"/api/v1/admin/invites\", {\n method: \"POST\",\n body: { invites },\n ...options,\n });\n}\n\n/**\n * Send a single invite\n */\nexport async function sendInviteApi(\n invite: InviteInput,\n options: ApiClientOptions\n): Promise<ApiResponse<InviteResponse>> {\n return browserApiRequest(\"/api/v1/admin/invites/single\", {\n method: \"POST\",\n body: invite,\n ...options,\n });\n}\n\n/**\n * Get an invite by ID\n */\nexport async function getInviteApi(\n inviteId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<InviteResponse>> {\n return browserApiRequest(`/api/v1/admin/invites/${inviteId}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Resend an invite\n */\nexport async function resendInviteApi(\n inviteId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<InviteResponse>> {\n return browserApiRequest(`/api/v1/admin/invites/${inviteId}/resend`, {\n method: \"POST\",\n ...options,\n });\n}\n\n/**\n * Revoke an invite\n */\nexport async function revokeInviteApi(\n inviteId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean }>> {\n return browserApiRequest(`/api/v1/admin/invites/${inviteId}`, {\n method: \"DELETE\",\n ...options,\n });\n}\n\n/**\n * Accept an invite (used by invited users)\n */\nexport async function acceptInviteApi(\n inviteId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<InviteResponse>> {\n return browserApiRequest(`/api/v1/admin/invites/${inviteId}/accept`, {\n method: \"POST\",\n ...options,\n });\n}\n","/**\n * Product Analytics API\n *\n * Browser-side API client for product analytics.\n * Uses @elqnt/api-client for HTTP requests with automatic token management.\n */\n\nimport { browserApiRequest } from \"@elqnt/api-client/browser\";\nimport type { ApiResponse, ApiClientOptions } from \"@elqnt/api-client\";\nimport type {\n DateFilter,\n SummaryResponse,\n ChatsResponse,\n AgentsAnalyticsResponse,\n UsageResponse,\n DailyResponse,\n EventsResponse,\n AnalyticsEvent,\n GlobalSummaryResponse,\n OrgAnalyticsResponse,\n} from \"../models/analytics\";\n\n// =============================================================================\n// QUERY STRING HELPERS\n// =============================================================================\n\nfunction buildDateFilterParams(filter?: DateFilter): string {\n if (!filter) return \"\";\n const params = new URLSearchParams();\n if (filter.from) params.set(\"from\", filter.from);\n if (filter.to) params.set(\"to\", filter.to);\n const queryString = params.toString();\n return queryString ? `?${queryString}` : \"\";\n}\n\n// =============================================================================\n// ORG ANALYTICS (Per-Organization)\n// =============================================================================\n\n/**\n * Get analytics summary (total chats, messages, tokens, cost, users)\n */\nexport async function getAnalyticsSummaryApi(\n filter: DateFilter | undefined,\n options: ApiClientOptions\n): Promise<ApiResponse<SummaryResponse>> {\n const queryString = buildDateFilterParams(filter);\n return browserApiRequest(`/api/v1/analytics/summary${queryString}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Get chat analytics with filters\n */\nexport async function getChatsAnalyticsApi(\n filter: DateFilter | undefined,\n agentId: string | undefined,\n options: ApiClientOptions\n): Promise<ApiResponse<ChatsResponse>> {\n const params = new URLSearchParams();\n if (filter?.from) params.set(\"from\", filter.from);\n if (filter?.to) params.set(\"to\", filter.to);\n if (agentId) params.set(\"agent_id\", agentId);\n const queryString = params.toString();\n return browserApiRequest(`/api/v1/analytics/chats${queryString ? `?${queryString}` : \"\"}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Get per-agent analytics\n */\nexport async function getAgentsAnalyticsApi(\n filter: DateFilter | undefined,\n options: ApiClientOptions\n): Promise<ApiResponse<AgentsAnalyticsResponse>> {\n const queryString = buildDateFilterParams(filter);\n return browserApiRequest(`/api/v1/analytics/agents${queryString}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Get token/cost usage analytics by service and model\n */\nexport async function getUsageAnalyticsApi(\n filter: DateFilter | undefined,\n options: ApiClientOptions\n): Promise<ApiResponse<UsageResponse>> {\n const queryString = buildDateFilterParams(filter);\n return browserApiRequest(`/api/v1/analytics/usage${queryString}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Get daily analytics for charts\n */\nexport async function getDailyAnalyticsApi(\n filter: DateFilter | undefined,\n options: ApiClientOptions\n): Promise<ApiResponse<DailyResponse>> {\n const queryString = buildDateFilterParams(filter);\n return browserApiRequest(`/api/v1/analytics/daily${queryString}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Get analytics events log\n */\nexport async function getAnalyticsEventsApi(\n filter: DateFilter | undefined,\n options: ApiClientOptions\n): Promise<ApiResponse<EventsResponse>> {\n const queryString = buildDateFilterParams(filter);\n return browserApiRequest(`/api/v1/analytics/events${queryString}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Log an analytics event from frontend\n */\nexport async function logAnalyticsEventApi(\n event: AnalyticsEvent,\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean }>> {\n return browserApiRequest(\"/api/v1/analytics/events\", {\n method: \"POST\",\n body: event,\n ...options,\n });\n}\n\n// =============================================================================\n// GLOBAL ANALYTICS (Platform Admin)\n// =============================================================================\n\n/**\n * Get platform-wide analytics summary (admin only)\n */\nexport async function getGlobalSummaryApi(\n filter: DateFilter | undefined,\n options: ApiClientOptions\n): Promise<ApiResponse<GlobalSummaryResponse>> {\n const queryString = buildDateFilterParams(filter);\n return browserApiRequest(`/api/v1/analytics/global/summary${queryString}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Get per-org analytics comparison (admin only)\n */\nexport async function getGlobalOrgsAnalyticsApi(\n filter: DateFilter | undefined,\n options: ApiClientOptions\n): Promise<ApiResponse<OrgAnalyticsResponse>> {\n const queryString = buildDateFilterParams(filter);\n return browserApiRequest(`/api/v1/analytics/global/orgs${queryString}`, {\n method: \"GET\",\n ...options,\n });\n}\n","/**\n * Organization Provisioning Admin API\n *\n * Browser-side API client for organization provisioning management.\n * Uses @elqnt/api-client for HTTP requests with automatic token management.\n */\n\nimport { browserApiRequest } from \"@elqnt/api-client/browser\";\nimport type { ApiResponse, ApiClientOptions } from \"@elqnt/api-client\";\nimport type {\n Org,\n CreateOrgRequest,\n CreateOrgResponse,\n RetryProvisioningRequest,\n OrgProvisioningProgress,\n OrgArtifactTypeTS,\n} from \"../models\";\n\n// =============================================================================\n// PROVISIONING PROGRESS TYPE\n// =============================================================================\n\nexport interface ProvisioningProgress {\n orgId: string;\n status: string;\n totalArtifacts: number;\n completedArtifacts: number;\n failedArtifacts: number;\n currentArtifact?: {\n type: OrgArtifactTypeTS;\n status: string;\n critical: boolean;\n };\n artifacts: Array<{\n type: OrgArtifactTypeTS;\n status: string;\n critical: boolean;\n error?: string;\n duration?: number;\n estimatedDuration?: number;\n }>;\n startedAt: number;\n completedAt?: number;\n error?: string;\n}\n\nexport interface ValidationResult {\n valid: boolean;\n artifacts: Array<{\n type: string;\n valid: boolean;\n }>;\n}\n\n// =============================================================================\n// ORGANIZATION PROVISIONING API\n// =============================================================================\n\n/**\n * Create a new organization with provisioning\n */\nexport async function createOrgWithProvisioningApi(\n request: CreateOrgRequest,\n options: ApiClientOptions\n): Promise<ApiResponse<CreateOrgResponse & { provisioningStatus: string }>> {\n return browserApiRequest(\"/api/v1/admin/provisioning/orgs\", {\n method: \"POST\",\n body: request,\n ...options,\n });\n}\n\n/**\n * Get provisioning status for an organization\n */\nexport async function getProvisioningStatusApi(\n orgId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<{ progress: ProvisioningProgress }>> {\n return browserApiRequest(`/api/v1/admin/orgs/${orgId}/provisioning`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Retry failed provisioning artifacts\n */\nexport async function retryProvisioningApi(\n orgId: string,\n request: RetryProvisioningRequest | undefined,\n options: ApiClientOptions\n): Promise<ApiResponse<{ message: string; status: string }>> {\n return browserApiRequest(`/api/v1/admin/orgs/${orgId}/provisioning/retry`, {\n method: \"POST\",\n body: request || {},\n ...options,\n });\n}\n\n/**\n * Validate all provisioned artifacts\n */\nexport async function validateProvisioningApi(\n orgId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<ValidationResult>> {\n return browserApiRequest(\n `/api/v1/admin/orgs/${orgId}/provisioning/validate`,\n {\n method: \"POST\",\n ...options,\n }\n );\n}\n\n/**\n * Cancel active provisioning\n */\nexport async function cancelProvisioningApi(\n orgId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<{ message: string }>> {\n return browserApiRequest(\n `/api/v1/admin/orgs/${orgId}/provisioning/cancel`,\n {\n method: \"POST\",\n ...options,\n }\n );\n}\n\n/**\n * Cleanup provisioned resources for an organization\n */\nexport async function cleanupProvisioningApi(\n orgId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<{ message: string }>> {\n return browserApiRequest(`/api/v1/admin/orgs/${orgId}/provisioning`, {\n method: \"DELETE\",\n ...options,\n });\n}\n\n// =============================================================================\n// SSE STREAMING\n// =============================================================================\n\nexport interface ProvisioningStreamCallbacks {\n onProgress?: (progress: ProvisioningProgress) => void;\n onConnected?: (orgId: string) => void;\n onDone?: () => void;\n onError?: (error: Error) => void;\n onTimeout?: () => void;\n}\n\n/**\n * Stream provisioning progress via Server-Sent Events\n *\n * Returns a function to close the connection\n */\nexport function streamProvisioningProgress(\n orgId: string,\n callbacks: ProvisioningStreamCallbacks,\n options: { baseUrl: string; token?: string }\n): () => void {\n const url = new URL(\n `/api/v1/admin/orgs/${orgId}/provisioning/stream`,\n options.baseUrl\n );\n\n // EventSource doesn't support custom headers, so pass token as query param\n if (options.token) {\n url.searchParams.set(\"token\", options.token);\n }\n\n const eventSource = new EventSource(url.toString());\n\n eventSource.addEventListener(\"connected\", (event) => {\n try {\n const data = JSON.parse(event.data);\n callbacks.onConnected?.(data.orgId);\n } catch (e) {\n console.error(\"Failed to parse connected event\", e);\n }\n });\n\n eventSource.addEventListener(\"progress\", (event) => {\n try {\n const progress = JSON.parse(event.data) as ProvisioningProgress;\n callbacks.onProgress?.(progress);\n } catch (e) {\n console.error(\"Failed to parse progress event\", e);\n }\n });\n\n eventSource.addEventListener(\"done\", () => {\n callbacks.onDone?.();\n eventSource.close();\n });\n\n eventSource.addEventListener(\"timeout\", () => {\n callbacks.onTimeout?.();\n eventSource.close();\n });\n\n eventSource.onerror = (error) => {\n callbacks.onError?.(new Error(\"SSE connection error\"));\n eventSource.close();\n };\n\n // Return cleanup function\n return () => {\n eventSource.close();\n };\n}\n\n// =============================================================================\n// HELPER FUNCTIONS\n// =============================================================================\n\n/**\n * Calculate provisioning progress percentage\n */\nexport function calculateProgressPercentage(\n progress: ProvisioningProgress\n): number {\n if (progress.totalArtifacts === 0) return 0;\n return Math.round(\n (progress.completedArtifacts / progress.totalArtifacts) * 100\n );\n}\n\n/**\n * Check if provisioning is complete (success or failure)\n */\nexport function isProvisioningComplete(progress: ProvisioningProgress): boolean {\n return (\n progress.status === \"completed\" ||\n progress.status === \"failed\" ||\n progress.status === \"partial\"\n );\n}\n\n/**\n * Check if provisioning was successful\n */\nexport function isProvisioningSuccessful(\n progress: ProvisioningProgress\n): boolean {\n return progress.status === \"completed\";\n}\n\n/**\n * Get failed artifacts from progress\n */\nexport function getFailedArtifacts(\n progress: ProvisioningProgress\n): ProvisioningProgress[\"artifacts\"] {\n return progress.artifacts.filter((a) => a.status === \"failed\");\n}\n\n/**\n * Check if any critical artifacts failed\n */\nexport function hasCriticalFailures(progress: ProvisioningProgress): boolean {\n return progress.artifacts.some(\n (a) => a.status === \"failed\" && a.critical\n );\n}\n"],"mappings":"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","names":["browserApiRequest","browserApiRequest","browserApiRequest","browserApiRequest","browserApiRequest","browserApiRequest"]}