5 Commits

Author SHA1 Message Date
jules
2ce20e810f feat(transport): add "gateway" mode routing through arcadia-llm-gateway
New TransportMode "gateway" + makeGatewayAdapter: routes chat through
<gatewayURL>/v1/chat/completions with a per-app gateway key (Bearer agw_),
so the gateway resolves the upstream provider (BYO via personal-cloud cred or
managed), REDACTS the body, forwards, and meters. Additive — direct/proxy
unchanged. OpenAI-compatible providers covered; Anthropic /messages (Bearer)
is a follow-up. Audit #11 / #3 foundation.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 10:05:59 +10:00
jules
3338593c0c chore(pkg): add package.json (name/version/peerDeps/exports/sideEffects)
Libs shipped as bare source with no manifest — consumable only via per-app
vite/tsconfig alias surgery, no version contract, no tree-shaking signal.
Add a minimal package.json matching the @crema/content-ui template: entry +
exports map, declared peerDependencies, sideEffects:false. Mechanical, no
code change. Frontend audit 2026-06-20, rank 2.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 20:37:25 +10:00
jules
c8f61d806e refactor: rename @crema/arcadia-client → @crema/arcadia-core-client
Disambiguates the Phoenix/auth client lib from lib-arcadia-agents-client.
Dir lib-arcadia-client → lib-arcadia-core-client; alias updated in
tsconfig paths, vite config, app.css @source, imports, CI and docs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 13:31:55 +10:00
jules
f81ad25fc8 DeepSeek: drop /v1 from default baseURL, refresh model list
Provider's published URL is now https://api.deepseek.com (no /v1).
Default model list updated to V4 family (flash + pro). Legacy aliases
deepseek-chat / deepseek-reasoner are still accepted upstream but
deprecate 2026-07-24, so they don't belong in the picker default.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 20:33:18 +10:00
jules
7ff0ccb160 Initial commit
Multi-provider LLM picker for Crema apps. Sits on top of @crema/llm-ui
and adds:

- A named provider catalog (OpenAI, Anthropic, DeepSeek, Qwen, LM Studio)
  with default base URLs and suggested models.
- buildAdapter(): async factory that resolves the API key from a
  caller-injected resolveSecret() (direct mode) or assembles an
  ArcadiaProxyAdapter pointing at /api/v1/ai/llm/chat (proxy mode).
- LLMProvidersSettingsCard: provider/model picker, vault-key reference
  field with "looks like an API key" warning, direct/proxy toggle,
  context/response budgets, system prompt, optional Test connection.
- Persisted settings store at crema.llm-providers.settings, reactive
  via useSyncExternalStore.

The lib is provider-agnostic about how keys are stored; the consuming
app injects a resolveSecret() that hits whatever vault it owns.
arcadia-admin and vibespace both wire this to /api/v1/secrets/:name.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 22:50:59 +10:00