Initial commit — @crema/integration-registry-client
Typed client + types for the arcadia integration registry (on arcadia-llm-gateway). One createIntegrationsApi(client, mode) factory serves both surfaces: - operator → /api/v1/integrations* (any scope, scope filters) - tenant → /api/v1/me/integrations* (scope forced server-side) Plus shared types (Integration/Credential/UsageEntry/*Input/TestVerdict) and display helpers (formatUsd, credentialHealth). Consumed by arcadia-admin and arcadia-console as a sibling lib via vite/tsconfig aliases (no build step). Secrets are write-only; the rich panels stay per-app. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
26
README.md
Normal file
26
README.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# @crema/integration-registry-client
|
||||
|
||||
Typed client + types for the **arcadia integration registry** — the external-API
|
||||
credential plane hosted on `arcadia-llm-gateway`. Consumed by `arcadia-admin`
|
||||
(operator) and `arcadia-console` (tenant) as a sibling lib via vite/tsconfig
|
||||
aliases (no build step — the app compiles `src/` directly).
|
||||
|
||||
```ts
|
||||
import { createIntegrationsApi } from "@crema/integration-registry-client"
|
||||
|
||||
// gateway-pointed ArcadiaClient (see each app's app/lib/gateway.ts)
|
||||
const api = createIntegrationsApi(gatewayClient, "tenant") // or "operator"
|
||||
|
||||
await api.list()
|
||||
await api.create({ provider: "tavily", capability: "web_search" })
|
||||
await api.test(id) // throws ArcadiaError on 409 expired / 429 over-budget
|
||||
```
|
||||
|
||||
- `operator` mode → `/api/v1/integrations*` (any scope, scope filters honoured).
|
||||
- `tenant` mode → `/api/v1/me/integrations*` (scope forced to the caller server-side).
|
||||
|
||||
Secrets are **write-only**: reads carry `has_secret`, never a value.
|
||||
|
||||
The rich management **page/components stay per-app** (they use each app's shadcn
|
||||
primitives and the operator/tenant surfaces legitimately diverge) — this lib owns
|
||||
the client, types, and display helpers only.
|
||||
Reference in New Issue
Block a user