@exellix/catalox-graphs
Node data tier for Catalox graph catalogs: CRUD stores, version checkpoints, templates, execute-time loaders, and readiness probes.
Authoritative store: Catalox catalog graphs (full AuthoringGraphDocument). Mongo exellix.graphs is matrix id-registry only.
Related packages (split by layer):
| Package | Layer |
|---|---|
@exellix/catalox-graphs |
Data tier — stores, loaders, Catalox runtime (this package) |
@exellix/catalox-graphs-http |
HTTP BFF — Fastify /api/catalox/* routes |
@exellix/catalox-graphs-ui |
Browser + React — fetch client, CataloxGraphPicker |
Exports
| Import | Use |
|---|---|
@exellix/catalox-graphs |
saveGraphToCatalox, loadGraphFromCatalox, createExecuteGraphLoader, stores, types |
For HTTP routes use @exellix/catalox-graphs-http. For browser/React use @exellix/catalox-graphs-ui.
Env
Same Firebase / Catalox vars as graphs-studio:
CATALOX_APP_ID(e.g.graphs-studio)CATALOX_STORE_ID(optional)GOOGLE_SERVICE_ACCOUNT_BASE64or ADCFIREBASE_PROJECT_IDCATALOX_GOD_MODE(optional service superAdmin)
HTTP routes
Mount BFF from the sibling package:
import { registerCataloxGraphRoutes } from '@exellix/catalox-graphs-http';
await registerCataloxGraphRoutes(app, { prefix: '/api/catalox' });Key endpoints:
GET /api/catalox/statusGET /api/catalox/graphs?compatible=1&entityName=&contentType=GET|PUT|DELETE /api/catalox/graphs/:itemIdGET|PUT|DELETE /api/catalox/graph-versions/:graphId/:versionIdGET|PUT|DELETE /api/catalox/graph-templates/:templateKey- Generic catalog CRUD under
/api/catalox/catalogs/:catalogId/items/:itemId
React picker
import { CataloxGraphPicker } from '@exellix/catalox-graphs-ui/react';
<CataloxGraphPicker
value={graphId}
onChange={(id) => setGraphId(id)}
entityName="subnets"
contentType="snapshots"
filterCompatible
/>graphs-studio integration
See docs/STUDIO_INTEGRATION.md. Pair with @x12i/memorix-mongo for job memory context.
Catalogs owned
graphs— working graph projectsgraph-versions— version checkpointsgraph-templates— saved/system templatesgraph-concepts— legacy concept rows (dual-write optional in studio)
Migration from 1.2.x
Subpath exports moved to dedicated packages:
| Before | After |
|---|---|
@exellix/catalox-graphs/http |
@exellix/catalox-graphs-http |
@exellix/catalox-graphs/browser |
@exellix/catalox-graphs-ui |
@exellix/catalox-graphs/react |
@exellix/catalox-graphs-ui/react |
Publish
Requires root .npmrc with your npm token (copy from .npmrc.example at repo root).
# This package only
cd catalox-graphs && npm run release
# Plan without publishing
npm run release:dry
# All three catalox packages in order (graphs → http → ui)
node ../scripts/publish-all.mjs --packages catalox-graphs,catalox-graphs-http,catalox-graphs-ui --no-bumpFrom repo root: npm run publish:all publishes the full core chain in dependency order.