diff --git a/CLAUDE.md b/CLAUDE.md index 87d12bc..19ff989 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -9,7 +9,7 @@ This file is a quick map, not a duplication of upstream docs. - **Arcadia Admin** is the operator/admin UI for [arcadia-core](../reference/arcadia-app), a multi-tenant Phoenix backend. Surfaces tenant management, user/role admin, billing, audit logs, storage configs, scheduled tasks, feature flags, and platform monitoring on top of arcadia's `/api/v1` and `/admin/*` endpoints. - **Cloned from** [Vibespace](../vibespace) — the starter for webapps in this style. Vibespace and Skyrise are the upstream sources of truth for the shell and the theme; don't backport arcadia-admin-specific changes into Vibespace unless they're broadly applicable. -- **Backend reference** lives at `../reference/arcadia-app/`. Treat it as read-only documentation — it's the Phoenix umbrella app that owns the OpenAPI spec, controllers, schemas, and seed data. Spec is regenerated from a running arcadia at `http://localhost:4000/api/openapi` via `node ../lib-arcadia-client/scripts/sync-spec.mjs` (run from this directory). +- **Backend reference** lives at `../reference/arcadia-app/`. Treat it as read-only documentation — it's the Phoenix umbrella app that owns the OpenAPI spec, controllers, schemas, and seed data. Spec is regenerated from a running arcadia at `http://localhost:4000/api/openapi` via `node ../lib-arcadia-core-client/scripts/sync-spec.mjs` (run from this directory). - **Skyrise** (`lib-theme-skyrise`) is the canonical theme — premium AI-first glass, iridescent body, vivid text, Apple-spring motion. Theme tweaks belong upstream in Vibespace + Skyrise, not here. - The brand string lives in **one place**: `app/lib/identity.ts` (`useBrand()` / `getBrand()`). Don't hardcode "Arcadia Admin" in components, page titles, or copy. diff --git a/README.md b/README.md index e8986a3..f413da9 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ To use it for real: `app/components/layout/app-shell.tsx` — left rail + appbar + avatar dropdown. Brand identity in `app/lib/identity.ts` (`name: "Arcadia Admin"`, icon: `Shield`). The shell is **template code, not a lib** — fork it freely as admin features are added. ### Arcadia client + auth UI -- [`@crema/arcadia-client`](../lib-arcadia-client) — typed HTTP client (generic + openapi-fetch-backed `client.typed`), Phoenix Channels realtime, error normalization. Mounted at the root via ``. +- [`@crema/arcadia-core-client`](../lib-arcadia-core-client) — typed HTTP client (generic + openapi-fetch-backed `client.typed`), Phoenix Channels realtime, error normalization. Mounted at the root via ``. - [`@crema/arcadia-auth-ui`](../lib-arcadia-auth-ui) — login / signup / password reset / 2FA forms, themed via Skyrise tokens. The `/login` route renders ``. ### Skyrise theme @@ -51,7 +51,7 @@ your-workspace/ arcadia-admin/ ← this repo vibespace/ ← starter that this was cloned from reference/arcadia-app/ ← Phoenix backend (read-only reference) - lib-arcadia-client/ + lib-arcadia-core-client/ lib-arcadia-auth-ui/ lib-action-bus/ lib-aifirst-ui/ diff --git a/app/app.css b/app/app.css index 6dfa9da..b264497 100644 --- a/app/app.css +++ b/app/app.css @@ -15,7 +15,7 @@ @source "../../lib-aifirst-ui/src"; @source "../../lib-llm-ui/src"; @source "../../lib-action-bus/src"; -@source "../../lib-arcadia-client/src"; +@source "../../lib-arcadia-core-client/src"; @source "../../lib-arcadia-auth-ui/src"; @source "../../lib-table-ui/src"; @source "../../lib-search-ui/src"; diff --git a/app/components/settings/llm-configurations-panel.tsx b/app/components/settings/llm-configurations-panel.tsx index 23e6554..cb1f72a 100644 --- a/app/components/settings/llm-configurations-panel.tsx +++ b/app/components/settings/llm-configurations-panel.tsx @@ -9,7 +9,7 @@ import { useCallback, useEffect, useMemo, useState } from "react" import { Pencil, Plus, Sparkles, Star, Trash2, Upload } from "lucide-react" -import { useArcadiaClient } from "@crema/arcadia-client" +import { useArcadiaClient } from "@crema/arcadia-core-client" import { loadSettings as loadActiveSettings, saveSettings as saveActiveSettings, diff --git a/app/components/users/user-detail-sheet.tsx b/app/components/users/user-detail-sheet.tsx index ccd326c..fd18118 100644 --- a/app/components/users/user-detail-sheet.tsx +++ b/app/components/users/user-detail-sheet.tsx @@ -15,7 +15,7 @@ import { X, } from "lucide-react" -import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-client" +import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-core-client" import { AlertBanner, ConfirmDialog } from "@crema/feedback-ui" import { Badge } from "~/components/ui/badge" diff --git a/app/lib/admin-tools.ts b/app/lib/admin-tools.ts index 98f87bf..1dc9ab0 100644 --- a/app/lib/admin-tools.ts +++ b/app/lib/admin-tools.ts @@ -5,7 +5,7 @@ // Each tool is a named function with documented args. The LLM never sees // raw HTTP — only the menu below. -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" import { createToolRuntime, type ToolDef, diff --git a/app/lib/arcadia-knowledge.ts b/app/lib/arcadia-knowledge.ts index e193cb7..b0070f4 100644 --- a/app/lib/arcadia-knowledge.ts +++ b/app/lib/arcadia-knowledge.ts @@ -31,7 +31,7 @@ Things to keep in mind when assisting: - Writes are auditable. Suggest the user double-check tenant slug and impact before suspend/deactivate. Deactivate is harsher than suspend — only use when clearly intended. - The operator can impersonate tenant users for debugging (POST /api/v1/admin/impersonate/:user_id) — surface this when they ask "why can't user X log in". - Quotas / rate cards / billing config errors usually surface as 402/403 from /api/v1 endpoints — diagnose by checking the tenant's billing-config and api-metering quotas. -- The reference Phoenix app lives at \`reference/arcadia-app/\` in the workspace; its OpenAPI spec is at /api/openapi (sync via \`node ../lib-arcadia-client/scripts/sync-spec.mjs\`). +- The reference Phoenix app lives at \`reference/arcadia-app/\` in the workspace; its OpenAPI spec is at /api/openapi (sync via \`node ../lib-arcadia-core-client/scripts/sync-spec.mjs\`). - Search admin (arcadia-search) is a separate service. Manage tenants/corpora at \`/search\`. Use \`list_search_corpora\` if you don't know what's indexed; \`rebuild_search_corpus\` after uploads or when results look stale; \`search_kb\` / \`read_chunk\` to query. When the user asks something that maps to a tool, call it. When they ask about a concept, explain it from this primer in plain language. Write tools (suspend_tenant, activate_tenant) prompt the operator with an inline confirm card before they actually run — you do not need to ask in prose first; just call the tool and the user will see the confirmation UI. If the user denies a write, do not retry it; ask what they'd like to do differently. diff --git a/app/lib/arcadia/announcements.ts b/app/lib/arcadia/announcements.ts index 8761220..9e43555 100644 --- a/app/lib/arcadia/announcements.ts +++ b/app/lib/arcadia/announcements.ts @@ -1,7 +1,7 @@ // Platform announcements helpers. // Backend: /api/v1/admin/announcements (admin CRUD). -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" export type AnnouncementType = | "info" diff --git a/app/lib/arcadia/api-keys.ts b/app/lib/arcadia/api-keys.ts index 05be977..e4cccab 100644 --- a/app/lib/arcadia/api-keys.ts +++ b/app/lib/arcadia/api-keys.ts @@ -4,7 +4,7 @@ // once — list/show endpoints only return the prefix. Callers must surface // the value to the user immediately on create. -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" export interface ApiKey { id: string diff --git a/app/lib/arcadia/audit-logs.ts b/app/lib/arcadia/audit-logs.ts index 51915a1..213fe3b 100644 --- a/app/lib/arcadia/audit-logs.ts +++ b/app/lib/arcadia/audit-logs.ts @@ -1,7 +1,7 @@ // Audit log + observability helpers. // All endpoints are read-only; the backend writes audit events itself. -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" export type AuditSeverity = "info" | "warning" | "error" | "critical" | string diff --git a/app/lib/arcadia/buckets.ts b/app/lib/arcadia/buckets.ts index f6bf877..c9e4268 100644 --- a/app/lib/arcadia/buckets.ts +++ b/app/lib/arcadia/buckets.ts @@ -2,7 +2,7 @@ // Backend: /api/v1/platform/buckets/*. All operations require a // storage_config_id pointing at a credential row in /api/v1/storage_configs. -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" export interface Bucket { name: string diff --git a/app/lib/arcadia/digital-objects.ts b/app/lib/arcadia/digital-objects.ts index 014fc51..a97bb63 100644 --- a/app/lib/arcadia/digital-objects.ts +++ b/app/lib/arcadia/digital-objects.ts @@ -2,7 +2,7 @@ // used by the avatar uploader. The full digital-objects API is much // larger; add endpoints here as we wire more features. -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" export interface DigitalObject { id: string diff --git a/app/lib/arcadia/health.ts b/app/lib/arcadia/health.ts index 307b6de..9dc39a6 100644 --- a/app/lib/arcadia/health.ts +++ b/app/lib/arcadia/health.ts @@ -4,7 +4,7 @@ // independently; the overall endpoint aggregates and returns 503 if any // subsystem is not "ok". See arcadia-app commit f427892. -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" export type HealthSubsystem = "api" | "db" | "workers" | "storage" diff --git a/app/lib/arcadia/integrations.ts b/app/lib/arcadia/integrations.ts index 6385b5b..97a9a48 100644 --- a/app/lib/arcadia/integrations.ts +++ b/app/lib/arcadia/integrations.ts @@ -4,7 +4,7 @@ // arcadia-console's tenant surface); this file just exposes operator-idiomatic // names so the page reads naturally. -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" import { createIntegrationsApi, type CredentialInput, diff --git a/app/lib/arcadia/invitations.ts b/app/lib/arcadia/invitations.ts index 8aa3823..b1c61a4 100644 --- a/app/lib/arcadia/invitations.ts +++ b/app/lib/arcadia/invitations.ts @@ -1,7 +1,7 @@ // Arcadia invitations API helpers. // Backed by /api/v1/invitations. -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" export interface InvitationRole { id: string diff --git a/app/lib/arcadia/llm-configs.ts b/app/lib/arcadia/llm-configs.ts index ac51d1c..bf10a31 100644 --- a/app/lib/arcadia/llm-configs.ts +++ b/app/lib/arcadia/llm-configs.ts @@ -8,7 +8,7 @@ // `tenant_id: null` configurations are platform-defaults visible to // every tenant. Names are unique within (tenant, name). -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" export type LlmProvider = "openai" | "anthropic" | "deepseek" | "qwen" | "lmstudio" diff --git a/app/lib/arcadia/llm-proxy.ts b/app/lib/arcadia/llm-proxy.ts index f202c2f..e79baba 100644 --- a/app/lib/arcadia/llm-proxy.ts +++ b/app/lib/arcadia/llm-proxy.ts @@ -7,7 +7,7 @@ // the proxy round-trips end-to-end (auth → secret resolution → upstream // dispatch → response shape). -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" export type LLMProxyProvider = | "openai" diff --git a/app/lib/arcadia/memberships.ts b/app/lib/arcadia/memberships.ts index 6fd43d9..d86b697 100644 --- a/app/lib/arcadia/memberships.ts +++ b/app/lib/arcadia/memberships.ts @@ -1,7 +1,7 @@ // Tenant memberships — the M:N glue between users and tenants. // Backend: /api/v1/admin/memberships (admin) + /api/v1/me/tenants (self). -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" export type MembershipStatus = "active" | "suspended" | "deactivated" | string diff --git a/app/lib/arcadia/monitoring.ts b/app/lib/arcadia/monitoring.ts index d33f252..f608493 100644 --- a/app/lib/arcadia/monitoring.ts +++ b/app/lib/arcadia/monitoring.ts @@ -2,7 +2,7 @@ // Wraps /api/v1/admin/monitoring/* + /api/v1/platform/* + a few observability // endpoints used by the monitoring dashboard. -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" // --- Rate limits --------------------------------------------------------- diff --git a/app/lib/arcadia/networking.ts b/app/lib/arcadia/networking.ts index 4fc4ba6..832eb22 100644 --- a/app/lib/arcadia/networking.ts +++ b/app/lib/arcadia/networking.ts @@ -1,7 +1,7 @@ // Networking helpers: firewalls, VPCs, domains + DNS records, floating IPs. // Backend: /api/v1/platform/{firewalls,vpcs,domains,floating_ips,...}. -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" const BASE = "/api/v1/platform" diff --git a/app/lib/arcadia/organizations.ts b/app/lib/arcadia/organizations.ts index d33449f..74c4f97 100644 --- a/app/lib/arcadia/organizations.ts +++ b/app/lib/arcadia/organizations.ts @@ -5,7 +5,7 @@ // `OrganizationContext` plug, so the same per-org routes used by end-users // are used here to mutate any org in the tenant. -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" export type OrgStatus = "active" | "frozen" | "pending_deletion" | string export type OnOwnerRemoval = diff --git a/app/lib/arcadia/profiles.ts b/app/lib/arcadia/profiles.ts index 2aac4d9..cd1e035 100644 --- a/app/lib/arcadia/profiles.ts +++ b/app/lib/arcadia/profiles.ts @@ -3,7 +3,7 @@ // profile fields. The "profile" here is the per-tenant profile row, not // the auth account. -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" export interface Profile { id: string diff --git a/app/lib/arcadia/roles.ts b/app/lib/arcadia/roles.ts index a2e55be..d58ab9d 100644 --- a/app/lib/arcadia/roles.ts +++ b/app/lib/arcadia/roles.ts @@ -1,7 +1,7 @@ // Arcadia roles API helpers. // Backed by /api/v1/roles (resources route, except :new and :edit). -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" export interface Role { id: string diff --git a/app/lib/arcadia/scheduled-tasks.ts b/app/lib/arcadia/scheduled-tasks.ts index debd9d4..cad797d 100644 --- a/app/lib/arcadia/scheduled-tasks.ts +++ b/app/lib/arcadia/scheduled-tasks.ts @@ -1,7 +1,7 @@ // Scheduled tasks (cron) helpers. // Backend: /api/v1/admin/scheduled-tasks (CRUD + runs/enable/disable/trigger). -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" export type ScheduledTaskAction = "webhook" | "event" diff --git a/app/lib/arcadia/secrets.ts b/app/lib/arcadia/secrets.ts index 469fdcb..d2fd4cb 100644 --- a/app/lib/arcadia/secrets.ts +++ b/app/lib/arcadia/secrets.ts @@ -5,7 +5,7 @@ // exposed by these endpoints. Tenant-side resolution (returning the value) // goes through a separate runtime endpoint that's not used by the admin UI. -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" export type SecretCategory = | "api_key" diff --git a/app/lib/arcadia/sso.ts b/app/lib/arcadia/sso.ts index f4a3f9e..7c75785 100644 --- a/app/lib/arcadia/sso.ts +++ b/app/lib/arcadia/sso.ts @@ -2,7 +2,7 @@ // Backend: /api/v1/sso/identity-providers (tenant CRUD) + /sessions. // Note: certificates are large and write-only. -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" export interface IdentityProvider { id: string diff --git a/app/lib/arcadia/status-page.ts b/app/lib/arcadia/status-page.ts index c43a982..b932937 100644 --- a/app/lib/arcadia/status-page.ts +++ b/app/lib/arcadia/status-page.ts @@ -1,7 +1,7 @@ // Status page helpers — components, incidents, subscribers. // Backend: /api/v1/admin/status-page/* (admin CRUD). -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" export type ComponentStatus = | "operational" diff --git a/app/lib/arcadia/storage-configs.ts b/app/lib/arcadia/storage-configs.ts index 43dd9f7..1d82dd5 100644 --- a/app/lib/arcadia/storage-configs.ts +++ b/app/lib/arcadia/storage-configs.ts @@ -8,7 +8,7 @@ // generic `arcadia.GET` / `arcadia.POST` / etc. — same pattern as // `tenants.ts`. Switch to `arcadia.typed.*` when the spec gains coverage. -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" export type StorageBackend = "s3" | "local" | "gcs" export type StorageStatus = "active" | "inactive" | "degraded" | "maintenance" diff --git a/app/lib/arcadia/tenants.ts b/app/lib/arcadia/tenants.ts index ccc602f..e825a80 100644 --- a/app/lib/arcadia/tenants.ts +++ b/app/lib/arcadia/tenants.ts @@ -6,7 +6,7 @@ // gains coverage, switch to `arcadia.typed.GET("/api/v1/admin/tenants", ...)` // and drop these manual types. -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" export type TenantStatus = "active" | "suspended" | "deactivated" | string diff --git a/app/lib/arcadia/user-stats.ts b/app/lib/arcadia/user-stats.ts index d19f2a0..e29b45d 100644 --- a/app/lib/arcadia/user-stats.ts +++ b/app/lib/arcadia/user-stats.ts @@ -1,6 +1,6 @@ // Per-user usage + quota helpers. -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" export interface UserUsage { storage_used_bytes: number diff --git a/app/lib/arcadia/users.ts b/app/lib/arcadia/users.ts index f206af0..8bc17f4 100644 --- a/app/lib/arcadia/users.ts +++ b/app/lib/arcadia/users.ts @@ -4,7 +4,7 @@ // describe these operations as typed paths, so we hand-roll types and use // the generic verb methods on the client. Same pattern as tenants.ts. -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" export type UserStatus = "active" | "inactive" | "suspended" diff --git a/app/lib/arcadia/webhooks.ts b/app/lib/arcadia/webhooks.ts index c0f6c3d..23220a2 100644 --- a/app/lib/arcadia/webhooks.ts +++ b/app/lib/arcadia/webhooks.ts @@ -1,7 +1,7 @@ // Outbound webhook helpers. // Backend: /api/v1/webhooks (CRUD + pause/resume/regenerate-secret/deliveries/stats/test). -import type { ArcadiaClient } from "@crema/arcadia-client" +import type { ArcadiaClient } from "@crema/arcadia-core-client" export type WebhookStatus = "active" | "paused" | "disabled" export type WebhookRetryStrategy = "linear" | "exponential" diff --git a/app/lib/gateway.ts b/app/lib/gateway.ts index 471d934..4919ccc 100644 --- a/app/lib/gateway.ts +++ b/app/lib/gateway.ts @@ -7,7 +7,7 @@ // same 401 cleanup. The gateway's CORS already allows localhost + any // *.sky-ai.com origin, so the browser calls it directly. -import { createArcadiaClient, type ArcadiaClient } from "@crema/arcadia-client" +import { createArcadiaClient, type ArcadiaClient } from "@crema/arcadia-core-client" const GATEWAY_URL = import.meta.env.VITE_LLM_GATEWAY_URL ?? "http://localhost:4015" diff --git a/app/lib/llm-config-bootstrap.tsx b/app/lib/llm-config-bootstrap.tsx index 07d8126..2542d4e 100644 --- a/app/lib/llm-config-bootstrap.tsx +++ b/app/lib/llm-config-bootstrap.tsx @@ -11,7 +11,7 @@ // panel remains the place to switch between configs. import { useEffect } from "react" -import { useArcadiaClient } from "@crema/arcadia-client" +import { useArcadiaClient } from "@crema/arcadia-core-client" import { loadSettings, saveSettings, diff --git a/app/lib/profile-bootstrap.tsx b/app/lib/profile-bootstrap.tsx index 6d1a342..c489d7d 100644 --- a/app/lib/profile-bootstrap.tsx +++ b/app/lib/profile-bootstrap.tsx @@ -3,7 +3,7 @@ // immediately, without waiting for the user to navigate to /profile. import { useEffect } from "react" -import { useArcadiaClient } from "@crema/arcadia-client" +import { useArcadiaClient } from "@crema/arcadia-core-client" import { fetchDigitalObjectAsBlobUrl } from "~/lib/arcadia/digital-objects" import { getProfile, pickAvatarUrl } from "~/lib/arcadia/profiles" diff --git a/app/root.tsx b/app/root.tsx index 33eff63..809e294 100644 --- a/app/root.tsx +++ b/app/root.tsx @@ -12,7 +12,7 @@ import "./app.css" import { ToastProvider, Toaster } from "@crema/notification-ui" import { CommandBusProvider } from "@crema/action-bus" -import { ArcadiaProvider } from "@crema/arcadia-client" +import { ArcadiaProvider } from "@crema/arcadia-core-client" import { LlmConfigBootstrap } from "~/lib/llm-config-bootstrap" import { ProfileBootstrap } from "~/lib/profile-bootstrap" // CREMA:PROVIDERS-IMPORTS diff --git a/app/routes/activity.tsx b/app/routes/activity.tsx index e2234c8..761ca40 100644 --- a/app/routes/activity.tsx +++ b/app/routes/activity.tsx @@ -1,7 +1,7 @@ import { useCallback, useEffect, useMemo, useState } from "react" import { Activity, Eye, RefreshCw } from "lucide-react" -import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-client" +import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-core-client" import { ActionsCell, BadgeCell, diff --git a/app/routes/ai.tsx b/app/routes/ai.tsx index 5c68152..b8bedf6 100644 --- a/app/routes/ai.tsx +++ b/app/routes/ai.tsx @@ -67,7 +67,7 @@ import { import { addLibraryItem } from "~/lib/library" import { Avatar, AvatarFallback } from "~/components/ui/avatar" import { pageTitle } from "~/lib/page-meta" -import { useArcadiaClient } from "@crema/arcadia-client" +import { useArcadiaClient } from "@crema/arcadia-core-client" import type { Message as LLMMessage, ToolCall } from "@crema/llm-ui" // Shape of a single hit returned by the `search_docs` tool. Defined here // rather than imported from the lib because the tool wrapper in diff --git a/app/routes/announcements.tsx b/app/routes/announcements.tsx index b626a96..407fd0a 100644 --- a/app/routes/announcements.tsx +++ b/app/routes/announcements.tsx @@ -7,7 +7,7 @@ import { Trash2, } from "lucide-react" -import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-client" +import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-core-client" import { ActionsCell, BadgeCell, diff --git a/app/routes/assistant.tsx b/app/routes/assistant.tsx index 05c6510..11ff8b1 100644 --- a/app/routes/assistant.tsx +++ b/app/routes/assistant.tsx @@ -98,7 +98,7 @@ import { runLLMToolCalls, } from "~/lib/admin-tools" import { ARCADIA_KNOWLEDGE } from "~/lib/arcadia-knowledge" -import { useArcadiaClient } from "@crema/arcadia-client" +import { useArcadiaClient } from "@crema/arcadia-core-client" import { ConfirmCard } from "~/components/assistant/confirm-card" import type { ToolCall } from "@crema/llm-ui" diff --git a/app/routes/buckets.tsx b/app/routes/buckets.tsx index cfe4ff2..da2fb64 100644 --- a/app/routes/buckets.tsx +++ b/app/routes/buckets.tsx @@ -17,7 +17,7 @@ import { Trash2, } from "lucide-react" -import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-client" +import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-core-client" import { ActionsCell, DataTable, diff --git a/app/routes/home.tsx b/app/routes/home.tsx index 3d144aa..69fac8c 100644 --- a/app/routes/home.tsx +++ b/app/routes/home.tsx @@ -11,7 +11,7 @@ import { Users as UsersIcon, } from "lucide-react" -import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-client" +import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-core-client" import { AlertBanner } from "@crema/feedback-ui" import { AppShell } from "~/components/layout/app-shell" diff --git a/app/routes/integrations.tsx b/app/routes/integrations.tsx index d1bc374..034836d 100644 --- a/app/routes/integrations.tsx +++ b/app/routes/integrations.tsx @@ -14,7 +14,7 @@ import { Plus, Trash2, } from "lucide-react" -import { ArcadiaError } from "@crema/arcadia-client" +import { ArcadiaError } from "@crema/arcadia-core-client" import { AppShell } from "~/components/layout/app-shell" import { Badge } from "~/components/ui/badge" diff --git a/app/routes/memberships.tsx b/app/routes/memberships.tsx index 414aa5d..834b395 100644 --- a/app/routes/memberships.tsx +++ b/app/routes/memberships.tsx @@ -9,7 +9,7 @@ import { Trash2, } from "lucide-react" -import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-client" +import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-core-client" import { ActionsCell, BadgeCell, diff --git a/app/routes/monitoring.tsx b/app/routes/monitoring.tsx index 43bf544..6b7a0a1 100644 --- a/app/routes/monitoring.tsx +++ b/app/routes/monitoring.tsx @@ -14,7 +14,7 @@ import { Zap, } from "lucide-react" -import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-client" +import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-core-client" import { AlertBanner } from "@crema/feedback-ui" import { BarChart, diff --git a/app/routes/networking.tsx b/app/routes/networking.tsx index 5b85014..7623737 100644 --- a/app/routes/networking.tsx +++ b/app/routes/networking.tsx @@ -10,7 +10,7 @@ import { Wifi, } from "lucide-react" -import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-client" +import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-core-client" import { AlertBanner, ConfirmDialog, EmptyState, LoadingOverlay } from "@crema/feedback-ui" import { AppShell } from "~/components/layout/app-shell" diff --git a/app/routes/organizations.tsx b/app/routes/organizations.tsx index 19b1b1f..ed5489f 100644 --- a/app/routes/organizations.tsx +++ b/app/routes/organizations.tsx @@ -11,7 +11,7 @@ import { Users as UsersIcon, } from "lucide-react" -import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-client" +import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-core-client" import { ActionsCell, BadgeCell, diff --git a/app/routes/profile.tsx b/app/routes/profile.tsx index 441e6b6..1a7655f 100644 --- a/app/routes/profile.tsx +++ b/app/routes/profile.tsx @@ -1,7 +1,7 @@ import { useCallback, useEffect, useState } from "react" import { Check, RefreshCw, Trash2 } from "lucide-react" -import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-client" +import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-core-client" import { AlertBanner } from "@crema/feedback-ui" import { AppShell } from "~/components/layout/app-shell" diff --git a/app/routes/scheduled-tasks.tsx b/app/routes/scheduled-tasks.tsx index 83a335d..d198264 100644 --- a/app/routes/scheduled-tasks.tsx +++ b/app/routes/scheduled-tasks.tsx @@ -12,7 +12,7 @@ import { Zap, } from "lucide-react" -import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-client" +import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-core-client" import { ActionsCell, BadgeCell, diff --git a/app/routes/secrets.tsx b/app/routes/secrets.tsx index e6aff59..98eec0c 100644 --- a/app/routes/secrets.tsx +++ b/app/routes/secrets.tsx @@ -12,7 +12,7 @@ import { Trash2, } from "lucide-react" -import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-client" +import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-core-client" import { ActionsCell, BadgeCell, diff --git a/app/routes/settings.tsx b/app/routes/settings.tsx index 6eef29c..b1c4227 100644 --- a/app/routes/settings.tsx +++ b/app/routes/settings.tsx @@ -16,7 +16,7 @@ import { useSettings as useProviderSettings, type LLMProvidersSettings, } from "@crema/llm-providers-ui" -import { useArcadiaClient } from "@crema/arcadia-client" +import { useArcadiaClient } from "@crema/arcadia-core-client" import { probeProxy, type LLMProxyProvider } from "~/lib/arcadia/llm-proxy" import { LlmConfigurationsPanel } from "~/components/settings/llm-configurations-panel" diff --git a/app/routes/sso.tsx b/app/routes/sso.tsx index 1db2bd3..ec9b95b 100644 --- a/app/routes/sso.tsx +++ b/app/routes/sso.tsx @@ -9,7 +9,7 @@ import { X, } from "lucide-react" -import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-client" +import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-core-client" import { ActionsCell, BadgeCell, diff --git a/app/routes/status-page.tsx b/app/routes/status-page.tsx index 583a2df..9d4e511 100644 --- a/app/routes/status-page.tsx +++ b/app/routes/status-page.tsx @@ -8,7 +8,7 @@ import { Trash2, } from "lucide-react" -import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-client" +import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-core-client" import { AlertBanner, ConfirmDialog, EmptyState, LoadingOverlay } from "@crema/feedback-ui" import { IncidentTimeline, diff --git a/app/routes/storage.tsx b/app/routes/storage.tsx index 7eae9bb..9a89137 100644 --- a/app/routes/storage.tsx +++ b/app/routes/storage.tsx @@ -12,7 +12,7 @@ import { Wrench, } from "lucide-react" -import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-client" +import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-core-client" import { ActionsCell, BadgeCell, diff --git a/app/routes/tenants.tsx b/app/routes/tenants.tsx index f203945..b93dfa6 100644 --- a/app/routes/tenants.tsx +++ b/app/routes/tenants.tsx @@ -1,7 +1,7 @@ import { useCallback, useEffect, useMemo, useState, type FormEvent } from "react" import { Pause, Play, Plus, RefreshCw } from "lucide-react" -import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-client" +import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-core-client" import { ActionsCell, BadgeCell, diff --git a/app/routes/users.tsx b/app/routes/users.tsx index 6e54e99..cc6c5f2 100644 --- a/app/routes/users.tsx +++ b/app/routes/users.tsx @@ -14,7 +14,7 @@ import { X, } from "lucide-react" -import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-client" +import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-core-client" import { ActionsCell, BadgeCell, diff --git a/app/routes/webhooks.tsx b/app/routes/webhooks.tsx index 23ec4b8..961d872 100644 --- a/app/routes/webhooks.tsx +++ b/app/routes/webhooks.tsx @@ -15,7 +15,7 @@ import { Webhook as WebhookIcon, } from "lucide-react" -import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-client" +import { ArcadiaError, useArcadiaClient } from "@crema/arcadia-core-client" import { ActionsCell, BadgeCell, diff --git a/tsconfig.json b/tsconfig.json index c563df5..96aeef1 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -26,8 +26,8 @@ "@crema/llm-ui/*": ["../lib-llm-ui/src/*"], "@crema/action-bus": ["../lib-action-bus/src/index.tsx"], "@crema/action-bus/*": ["../lib-action-bus/src/*"], - "@crema/arcadia-client": ["../lib-arcadia-client/src/index.tsx"], - "@crema/arcadia-client/*": ["../lib-arcadia-client/src/*"], + "@crema/arcadia-core-client": ["../lib-arcadia-core-client/src/index.tsx"], + "@crema/arcadia-core-client/*": ["../lib-arcadia-core-client/src/*"], "@crema/integration-registry-client": ["../lib-integration-registry-client/src/index.tsx"], "@crema/integration-registry-client/*": ["../lib-integration-registry-client/src/*"], "@crema/arcadia-auth-ui": ["../lib-arcadia-auth-ui/src/index.tsx"], diff --git a/vite.config.ts b/vite.config.ts index 49fff80..2983ba3 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -60,7 +60,7 @@ const searchUiSrc = fileURLToPath( new URL("../lib-search-ui/src", import.meta.url), ) const arcadiaClientSrc = fileURLToPath( - new URL("../lib-arcadia-client/src", import.meta.url), + new URL("../lib-arcadia-core-client/src", import.meta.url), ) const integrationRegistryClientSrc = fileURLToPath( new URL("../lib-integration-registry-client/src", import.meta.url), @@ -175,7 +175,7 @@ export default defineConfig({ { find: "@crema/auth-ui", replacement: `${authUiSrc}/index.tsx` }, { find: "@crema/table-ui", replacement: `${tableUiSrc}/index.tsx` }, { find: "@crema/search-ui", replacement: `${searchUiSrc}/index.tsx` }, - { find: "@crema/arcadia-client", replacement: `${arcadiaClientSrc}/index.tsx` }, + { find: "@crema/arcadia-core-client", replacement: `${arcadiaClientSrc}/index.tsx` }, { find: "@crema/integration-registry-client", replacement: `${integrationRegistryClientSrc}/index.tsx`,