axion-nuxt-adapter
v0.3.0
Published
Provider-swappable adapter for the agent-portal backend. The app imports only the domain interfaces; which backend actually answers (real Axion, mock fixtures, or a future replacement) is chosen by env config, never by app code.
Downloads
495
Readme
axion-nuxt-adapter
Provider-swappable adapter for the agent-portal backend. Consuming apps (starting with
axion-bo-nuxt) depend on one interface, AxionNuxtAdapter — which backend actually answers is
chosen by config, not by app code. See docs/architecture.md for the full design, and
docs/api-coverage.md (or docs/index.html for the same data, formatted) for exactly how much
of the real Axion API surface has actually been confirmed working.
Install
npm install axion-nuxt-adapterPublished to the public npm registry as axion-nuxt-adapter (unscoped — see package.json,
"license": "UNLICENSED": publicly installable, but not open-source/reusable outside this org).
Version bumps aren't automatic — after any change here, bump version in package.json and
npm publish again, then update the version pin in consuming apps (axion-bo-nuxt, etc.).
Before this package was published, consuming apps pinned the git dependency directly
("axion-nuxt-adapter": "github:luxganing/axion-nuxt-adapter#main") — that still works and stays
useful for testing an unreleased commit, but prefer the published version for normal development.
Quickstart
import { createAxionNuxtAdapter } from 'axion-nuxt-adapter'
const adapter = createAxionNuxtAdapter({
mode: 'auto', // 'mock' | 'live' | 'auto' — see docs/architecture.md
axion: {
baseUrl: 'http://localhost:4500/backoffice/agent-portal',
getToken: () => currentSessionToken,
},
onFallback: (info) => console.warn('fell back to mock', info),
})
const { token, user } = await adapter.auth.login({ username: 'drubio', password: '...' })
const { data: agents, meta } = await adapter.agents.list({ page: 1, limit: 20 })Scripts
npm run build— compilesrc/todist/.npm test— Vitest.npm run typecheck—tsc --noEmit.node scripts/generate-coverage-doc.mjs— regeneratedocs/api-coverage.mdfromsrc/data/axion/endpointManifest.ts(run after building, and after editing the manifest).
Docs
docs/architecture.md— layers, the three provider modes, how the fallback proxy works.docs/backend-naming-convention.md— the field-naming standard this adapter assumes from the backend (English,snake_case, no abbreviations) — proposed, not yet confirmed by the Axion team.docs/api-coverage.md/docs/index.html— per-endpoint status (verified-live / mocked-only / unverified) across all 77 endpoints inagent-portal-v2.postman_collection.json.
