@exellix/catalox-graphs 1.2.9 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/README.md +43 -19
- package/dist/client/catalox-runtime.d.ts +2 -0
- package/dist/client/catalox-runtime.d.ts.map +1 -1
- package/dist/client/catalox-runtime.js +5 -0
- package/dist/client/catalox-runtime.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/docs/STUDIO_INTEGRATION.md +16 -10
- package/package.json +5 -18
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.3.0 — 2026-06-25
|
|
4
|
+
|
|
5
|
+
### Breaking
|
|
6
|
+
|
|
7
|
+
- **Layer split:** HTTP BFF and browser/React moved to sibling packages:
|
|
8
|
+
- `@exellix/catalox-graphs-http` — `registerCataloxGraphRoutes`
|
|
9
|
+
- `@exellix/catalox-graphs-ui` — `cataloxApi`, `CataloxGraphPicker`, `useCataloxGraphs`
|
|
10
|
+
- Removed subpath exports `./http`, `./browser`, `./react` from this package.
|
|
11
|
+
- This package is now **Node data tier only** (stores, loaders, Catalox runtime).
|
|
12
|
+
|
|
3
13
|
## 1.2.9 — 2026-06-24
|
|
4
14
|
|
|
5
15
|
### Added
|
package/README.md
CHANGED
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
# @exellix/catalox-graphs
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Node data tier for Catalox graph catalogs: CRUD stores, version checkpoints, templates, execute-time loaders, and readiness probes.
|
|
4
4
|
|
|
5
5
|
**Authoritative store:** Catalox catalog `graphs` (full `AuthoringGraphDocument`). Mongo `exellix.graphs` is matrix id-registry only.
|
|
6
6
|
|
|
7
|
+
Related packages (split by layer):
|
|
8
|
+
|
|
9
|
+
| Package | Layer |
|
|
10
|
+
|---------|-------|
|
|
11
|
+
| `@exellix/catalox-graphs` | **Data tier** — stores, loaders, Catalox runtime (this package) |
|
|
12
|
+
| `@exellix/catalox-graphs-http` | **HTTP BFF** — Fastify `/api/catalox/*` routes |
|
|
13
|
+
| `@exellix/catalox-graphs-ui` | **Browser + React** — fetch client, `CataloxGraphPicker` |
|
|
14
|
+
|
|
7
15
|
## Exports
|
|
8
16
|
|
|
9
17
|
| Import | Use |
|
|
10
18
|
|--------|-----|
|
|
11
|
-
| `@exellix/catalox-graphs` |
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
| `@exellix/catalox-graphs/react` | `CataloxGraphPicker`, `useCataloxGraphs` |
|
|
19
|
+
| `@exellix/catalox-graphs` | `saveGraphToCatalox`, `loadGraphFromCatalox`, `createExecuteGraphLoader`, stores, types |
|
|
20
|
+
|
|
21
|
+
For HTTP routes use `@exellix/catalox-graphs-http`. For browser/React use `@exellix/catalox-graphs-ui`.
|
|
15
22
|
|
|
16
23
|
## Env
|
|
17
24
|
|
|
@@ -25,10 +32,11 @@ Same Firebase / Catalox vars as graphs-studio:
|
|
|
25
32
|
|
|
26
33
|
## HTTP routes
|
|
27
34
|
|
|
28
|
-
Mount
|
|
35
|
+
Mount BFF from the sibling package:
|
|
29
36
|
|
|
30
37
|
```ts
|
|
31
|
-
import { registerCataloxGraphRoutes } from '@
|
|
38
|
+
import { registerCataloxGraphRoutes } from '@exellix/catalox-graphs-http';
|
|
39
|
+
|
|
32
40
|
await registerCataloxGraphRoutes(app, { prefix: '/api/catalox' });
|
|
33
41
|
```
|
|
34
42
|
|
|
@@ -44,7 +52,7 @@ Key endpoints:
|
|
|
44
52
|
## React picker
|
|
45
53
|
|
|
46
54
|
```tsx
|
|
47
|
-
import { CataloxGraphPicker } from '@
|
|
55
|
+
import { CataloxGraphPicker } from '@exellix/catalox-graphs-ui/react';
|
|
48
56
|
|
|
49
57
|
<CataloxGraphPicker
|
|
50
58
|
value={graphId}
|
|
@@ -55,17 +63,6 @@ import { CataloxGraphPicker } from '@x12i/catalox-graphs/react';
|
|
|
55
63
|
/>
|
|
56
64
|
```
|
|
57
65
|
|
|
58
|
-
Studio load mode:
|
|
59
|
-
|
|
60
|
-
```tsx
|
|
61
|
-
<CataloxGraphPicker
|
|
62
|
-
onLoad={async (result) => {
|
|
63
|
-
if (!result.ok) return;
|
|
64
|
-
applyImportedGraph(result.graph, { versionSource: 'catalox', forceApply: true });
|
|
65
|
-
}}
|
|
66
|
-
/>
|
|
67
|
-
```
|
|
68
|
-
|
|
69
66
|
## graphs-studio integration
|
|
70
67
|
|
|
71
68
|
See [docs/STUDIO_INTEGRATION.md](./docs/STUDIO_INTEGRATION.md). Pair with [`@x12i/memorix-mongo`](../memorix-mongo/docs/STUDIO_INTEGRATION.md) for job memory context.
|
|
@@ -76,3 +73,30 @@ See [docs/STUDIO_INTEGRATION.md](./docs/STUDIO_INTEGRATION.md). Pair with [`@x12
|
|
|
76
73
|
- `graph-versions` — version checkpoints
|
|
77
74
|
- `graph-templates` — saved/system templates
|
|
78
75
|
- `graph-concepts` — legacy concept rows (dual-write optional in studio)
|
|
76
|
+
|
|
77
|
+
## Migration from 1.2.x
|
|
78
|
+
|
|
79
|
+
Subpath exports moved to dedicated packages:
|
|
80
|
+
|
|
81
|
+
| Before | After |
|
|
82
|
+
|--------|-------|
|
|
83
|
+
| `@exellix/catalox-graphs/http` | `@exellix/catalox-graphs-http` |
|
|
84
|
+
| `@exellix/catalox-graphs/browser` | `@exellix/catalox-graphs-ui` |
|
|
85
|
+
| `@exellix/catalox-graphs/react` | `@exellix/catalox-graphs-ui/react` |
|
|
86
|
+
|
|
87
|
+
## Publish
|
|
88
|
+
|
|
89
|
+
Requires root `.npmrc` with your npm token (copy from `.npmrc.example` at repo root).
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
# This package only
|
|
93
|
+
cd catalox-graphs && npm run publish
|
|
94
|
+
|
|
95
|
+
# Plan without publishing
|
|
96
|
+
npm run publish:dry
|
|
97
|
+
|
|
98
|
+
# All three catalox packages in order (graphs → http → ui)
|
|
99
|
+
node ../scripts/publish-all.mjs --packages catalox-graphs,catalox-graphs-http,catalox-graphs-ui --no-bump
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
From repo root: `npm run publish:all` publishes the full core chain in dependency order.
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { CataloxBound } from '@x12i/catalox/embedder';
|
|
2
|
+
/** Share one Catalox/Firebase bound with Memorix retrieval (avoids double Firebase init). */
|
|
3
|
+
export declare function seedCataloxBound(preloaded: CataloxBound): void;
|
|
2
4
|
export declare function resetCataloxRuntimeCache(): void;
|
|
3
5
|
export declare function getCataloxBound(): Promise<CataloxBound>;
|
|
4
6
|
//# sourceMappingURL=catalox-runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalox-runtime.d.ts","sourceRoot":"","sources":["../../src/client/catalox-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAY3D,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC,CAoB7D"}
|
|
1
|
+
{"version":3,"file":"catalox-runtime.d.ts","sourceRoot":"","sources":["../../src/client/catalox-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAY3D,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CAG9D;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC,CAoB7D"}
|
|
@@ -3,6 +3,11 @@ import { createCataloxFromEnv } from '@x12i/catalox/firebase';
|
|
|
3
3
|
import { cataloxContextFromEnv, readCataloxAppId, readCataloxStoreId, } from '../config/catalox-context-from-env.js';
|
|
4
4
|
let bound = null;
|
|
5
5
|
let init = null;
|
|
6
|
+
/** Share one Catalox/Firebase bound with Memorix retrieval (avoids double Firebase init). */
|
|
7
|
+
export function seedCataloxBound(preloaded) {
|
|
8
|
+
bound = preloaded;
|
|
9
|
+
init = Promise.resolve(preloaded);
|
|
10
|
+
}
|
|
6
11
|
export function resetCataloxRuntimeCache() {
|
|
7
12
|
bound = null;
|
|
8
13
|
init = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalox-runtime.js","sourceRoot":"","sources":["../../src/client/catalox-runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,uCAAuC,CAAC;AAE/C,IAAI,KAAK,GAAwB,IAAI,CAAC;AACtC,IAAI,IAAI,GAAiC,IAAI,CAAC;AAE9C,MAAM,UAAU,wBAAwB;IACtC,KAAK,GAAG,IAAI,CAAC;IACb,IAAI,GAAG,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE;YACjB,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;YAClF,CAAC;YACD,MAAM,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG;gBACV,KAAK;gBACL,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/B,GAAG,qBAAqB,EAAE;aAC3B,CAAC;YACF,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACzC,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"catalox-runtime.js","sourceRoot":"","sources":["../../src/client/catalox-runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,uCAAuC,CAAC;AAE/C,IAAI,KAAK,GAAwB,IAAI,CAAC;AACtC,IAAI,IAAI,GAAiC,IAAI,CAAC;AAE9C,6FAA6F;AAC7F,MAAM,UAAU,gBAAgB,CAAC,SAAuB;IACtD,KAAK,GAAG,SAAS,CAAC;IAClB,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,KAAK,GAAG,IAAI,CAAC;IACb,IAAI,GAAG,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE;YACjB,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;YAClF,CAAC;YACD,MAAM,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG;gBACV,KAAK;gBACL,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/B,GAAG,qBAAqB,EAAE;aAC3B,CAAC;YACF,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACzC,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { CATALOG_IDS, DEFAULT_LIST_LIMIT, GRAPH_VERSION_HISTORY_MAX } from './config/catalog-ids.js';
|
|
2
2
|
export { cataloxContextFromEnv, hasFirebaseCredentials, readCataloxAppId, readCataloxStoreId, type CataloxServiceContext, } from './config/catalox-context-from-env.js';
|
|
3
|
-
export { getCataloxBound, resetCataloxRuntimeCache } from './client/catalox-runtime.js';
|
|
3
|
+
export { getCataloxBound, resetCataloxRuntimeCache, seedCataloxBound } from './client/catalox-runtime.js';
|
|
4
4
|
export { listCatalogItems, getCatalogItem, upsertCatalogItem, deleteCatalogItem, type CatalogListResponse, type CatalogGetResponse, type CatalogWriteResponse, } from './client/catalox-api.js';
|
|
5
5
|
export { probeCataloxReady, invalidateCataloxReadyCache, type CataloxReadyStatus } from './readiness.js';
|
|
6
6
|
export { listGraphsFromCatalox, loadGraphFromCatalox, saveGraphToCatalox, deleteGraphFromCatalox, listCompatibleGraphsFromCatalox, graphProjectSummaryFromItem, buildGraphProjectDocument, graphToCatalogPayload, readGraphFromProjectData, readAuthoringGraphFromProjectData, type CompatibleGraphFromCatalox, type ReadAuthoringGraphResult, } from './stores/graph-store.js';
|
|
@@ -12,5 +12,4 @@ export { saveGraphVersionToCatalox, loadGraphVersionFromCatalox, listGraphVersio
|
|
|
12
12
|
export { listGraphTemplatesFromCatalox, getGraphTemplateFromCatalox, saveGraphTemplateToCatalox, deleteGraphTemplateFromCatalox, type GraphTemplateSummary, } from './stores/graph-template-store.js';
|
|
13
13
|
export { loadConceptFromCatalox, saveConceptToCatalox, deleteConceptFromCatalox, } from './stores/concept-store.js';
|
|
14
14
|
export type { GraphProjectSummary, GraphProjectDocument, LoadGraphResult, SaveGraphOptions, GraphVersionPayload, GraphTemplatePayload, CataloxGraphErrorCode, } from './types/graph-project.js';
|
|
15
|
-
export { registerCataloxGraphRoutes, type RegisterCataloxGraphRoutesOptions } from './http/register-routes.js';
|
|
16
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACrG,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,qBAAqB,GAC3B,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACrG,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,qBAAqB,GAC3B,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC1G,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzG,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,+BAA+B,EAC/B,2BAA2B,EAC3B,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACxB,iCAAiC,EACjC,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,GAC9B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAE7F,OAAO,EACL,4BAA4B,EAC5B,oCAAoC,GACrC,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EACzB,wCAAwC,EACxC,2BAA2B,EAC3B,+BAA+B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,GACjC,MAAM,6CAA6C,CAAC;AAErD,OAAO,EACL,gCAAgC,EAChC,wBAAwB,EACxB,KAAK,uCAAuC,EAC5C,KAAK,uBAAuB,GAC7B,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,6BAA6B,EAC7B,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,0BAA0B,EAC1B,8BAA8B,EAC9B,KAAK,oBAAoB,GAC1B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { CATALOG_IDS, DEFAULT_LIST_LIMIT, GRAPH_VERSION_HISTORY_MAX } from './config/catalog-ids.js';
|
|
2
2
|
export { cataloxContextFromEnv, hasFirebaseCredentials, readCataloxAppId, readCataloxStoreId, } from './config/catalox-context-from-env.js';
|
|
3
|
-
export { getCataloxBound, resetCataloxRuntimeCache } from './client/catalox-runtime.js';
|
|
3
|
+
export { getCataloxBound, resetCataloxRuntimeCache, seedCataloxBound } from './client/catalox-runtime.js';
|
|
4
4
|
export { listCatalogItems, getCatalogItem, upsertCatalogItem, deleteCatalogItem, } from './client/catalox-api.js';
|
|
5
5
|
export { probeCataloxReady, invalidateCataloxReadyCache } from './readiness.js';
|
|
6
6
|
export { listGraphsFromCatalox, loadGraphFromCatalox, saveGraphToCatalox, deleteGraphFromCatalox, listCompatibleGraphsFromCatalox, graphProjectSummaryFromItem, buildGraphProjectDocument, graphToCatalogPayload, readGraphFromProjectData, readAuthoringGraphFromProjectData, } from './stores/graph-store.js';
|
|
@@ -11,5 +11,4 @@ export { createCataloxGraphDocumentLoader, createExecuteGraphLoader, } from './s
|
|
|
11
11
|
export { saveGraphVersionToCatalox, loadGraphVersionFromCatalox, listGraphVersionsFromCatalox, deleteGraphVersionFromCatalox, pruneGraphVersionsBeyondLimit, graphVersionItemId, parseGraphVersionItemId, } from './stores/graph-version-store.js';
|
|
12
12
|
export { listGraphTemplatesFromCatalox, getGraphTemplateFromCatalox, saveGraphTemplateToCatalox, deleteGraphTemplateFromCatalox, } from './stores/graph-template-store.js';
|
|
13
13
|
export { loadConceptFromCatalox, saveConceptToCatalox, deleteConceptFromCatalox, } from './stores/concept-store.js';
|
|
14
|
-
export { registerCataloxGraphRoutes } from './http/register-routes.js';
|
|
15
14
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACrG,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,GAEnB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACrG,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,GAEnB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC1G,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,GAIlB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAA2B,MAAM,gBAAgB,CAAC;AAEzG,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,+BAA+B,EAC/B,2BAA2B,EAC3B,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACxB,iCAAiC,GAGlC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAE7F,OAAO,EACL,4BAA4B,EAC5B,oCAAoC,GACrC,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EACzB,wCAAwC,EACxC,2BAA2B,EAC3B,+BAA+B,GAIhC,MAAM,6CAA6C,CAAC;AAErD,OAAO,EACL,gCAAgC,EAChC,wBAAwB,GAGzB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,6BAA6B,EAC7B,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,0BAA0B,EAC1B,8BAA8B,GAE/B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC"}
|
|
@@ -3,24 +3,30 @@
|
|
|
3
3
|
**Single source of truth:** executable graph documents live in the Catalox `graphs` catalog only.
|
|
4
4
|
Do not duplicate save/load logic or persist full graphs to Mongo `exellix.graphs` (matrix id-registry only).
|
|
5
5
|
|
|
6
|
-
##
|
|
6
|
+
## Packages
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
| Layer | Package |
|
|
9
|
+
|-------|---------|
|
|
10
|
+
| Data tier (Node) | `@exellix/catalox-graphs` |
|
|
11
|
+
| HTTP BFF | `@exellix/catalox-graphs-http` |
|
|
12
|
+
| Browser + React | `@exellix/catalox-graphs-ui` |
|
|
13
|
+
|
|
14
|
+
Use `@exellix/catalox-graphs` for **all** server-side graph catalog CRUD, listing, and execute-time loading.
|
|
9
15
|
|
|
10
16
|
## Required studio integration
|
|
11
17
|
|
|
12
|
-
| Concern | Use
|
|
13
|
-
|
|
18
|
+
| Concern | Use | Do not |
|
|
19
|
+
|---------|-----|--------|
|
|
14
20
|
| Save / load graph | `saveGraphToCatalox`, `loadGraphFromCatalox` | Inline Catalox SDK calls, duplicate HTTP |
|
|
15
|
-
| List / picker | `
|
|
21
|
+
| List / picker | `CataloxGraphPicker`, `useCataloxGraphs` (`@exellix/catalox-graphs-ui/react`) | Separate graph list API |
|
|
16
22
|
| Execute / compile load | `createCataloxGraphDocumentLoader` or `createExecuteGraphLoader` | Mongo `exellix.graphs` documents |
|
|
17
|
-
| Versions / templates |
|
|
23
|
+
| Versions / templates | store functions from `@exellix/catalox-graphs`, HTTP from `@exellix/catalox-graphs-http` | Ad-hoc catalog writes |
|
|
18
24
|
| HTTP BFF | `registerCataloxGraphRoutes(app, { prefix: '/api/catalox' })` | Re-implement `/api/catalox/*` |
|
|
19
25
|
|
|
20
26
|
### Server (BFF)
|
|
21
27
|
|
|
22
28
|
```ts
|
|
23
|
-
import { registerCataloxGraphRoutes } from '@exellix/catalox-graphs
|
|
29
|
+
import { registerCataloxGraphRoutes } from '@exellix/catalox-graphs-http';
|
|
24
30
|
|
|
25
31
|
await registerCataloxGraphRoutes(app, { prefix: '/api/catalox' });
|
|
26
32
|
```
|
|
@@ -28,8 +34,8 @@ await registerCataloxGraphRoutes(app, { prefix: '/api/catalox' });
|
|
|
28
34
|
### Browser / React
|
|
29
35
|
|
|
30
36
|
```ts
|
|
31
|
-
import { cataloxApi } from '@exellix/catalox-graphs
|
|
32
|
-
import { CataloxGraphPicker, useCataloxGraphs } from '@exellix/catalox-graphs/react';
|
|
37
|
+
import { cataloxApi } from '@exellix/catalox-graphs-ui';
|
|
38
|
+
import { CataloxGraphPicker, useCataloxGraphs } from '@exellix/catalox-graphs-ui/react';
|
|
33
39
|
```
|
|
34
40
|
|
|
35
41
|
### Save path
|
|
@@ -46,7 +52,7 @@ Studio-only metadata (examples, `graphsStudio` UI blobs) stays in the **graphs-s
|
|
|
46
52
|
|
|
47
53
|
| Concern | Package |
|
|
48
54
|
|---------|---------|
|
|
49
|
-
| Graph catalog, versions, templates | `@exellix/catalox-graphs` |
|
|
55
|
+
| Graph catalog, versions, templates | `@exellix/catalox-graphs` (+ HTTP/UI siblings) |
|
|
50
56
|
| Context query types, resolution, source reads | `@x12i/memorix-mongo` |
|
|
51
57
|
|
|
52
58
|
See [`@x12i/memorix-mongo` STUDIO_INTEGRATION.md](../../memorix-mongo/docs/STUDIO_INTEGRATION.md).
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@exellix/catalox-graphs",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Catalox graph catalog data tier: CRUD
|
|
3
|
+
"version": "1.3.0",
|
|
4
|
+
"description": "Catalox graph catalog data tier (Node): CRUD stores, document loaders, and readiness probes.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
7
7
|
"node": ">=20"
|
|
@@ -16,18 +16,6 @@
|
|
|
16
16
|
".": {
|
|
17
17
|
"types": "./dist/index.d.ts",
|
|
18
18
|
"import": "./dist/index.js"
|
|
19
|
-
},
|
|
20
|
-
"./http": {
|
|
21
|
-
"types": "./dist/http/register-routes.d.ts",
|
|
22
|
-
"import": "./dist/http/register-routes.js"
|
|
23
|
-
},
|
|
24
|
-
"./browser": {
|
|
25
|
-
"types": "./dist/browser/catalox-api-client.d.ts",
|
|
26
|
-
"import": "./dist/browser/catalox-api-client.js"
|
|
27
|
-
},
|
|
28
|
-
"./react": {
|
|
29
|
-
"types": "./dist/react/index.d.ts",
|
|
30
|
-
"import": "./dist/react/index.js"
|
|
31
19
|
}
|
|
32
20
|
},
|
|
33
21
|
"files": [
|
|
@@ -37,9 +25,11 @@
|
|
|
37
25
|
"docs"
|
|
38
26
|
],
|
|
39
27
|
"scripts": {
|
|
40
|
-
"build": "tsc -p tsconfig.build.json
|
|
28
|
+
"build": "tsc -p tsconfig.build.json",
|
|
41
29
|
"clean": "node -e \"import('node:fs').then(fs=>fs.promises.rm('dist',{recursive:true,force:true}))\"",
|
|
42
30
|
"prepack": "npm run build",
|
|
31
|
+
"publish": "node ../scripts/publish-package.mjs",
|
|
32
|
+
"publish:dry": "node ../scripts/publish-package.mjs --dry-run",
|
|
43
33
|
"test": "vitest run",
|
|
44
34
|
"test:watch": "vitest",
|
|
45
35
|
"patch:graphs-graphid-index": "node scripts/patch-graphs-catalog-graphid-index.mjs"
|
|
@@ -52,9 +42,6 @@
|
|
|
52
42
|
},
|
|
53
43
|
"devDependencies": {
|
|
54
44
|
"@types/node": "^22.10.2",
|
|
55
|
-
"@types/react": "^19.2.17",
|
|
56
|
-
"fastify": "^5.8.5",
|
|
57
|
-
"react": "^19.2.7",
|
|
58
45
|
"typescript": "^5.7.2",
|
|
59
46
|
"vitest": "^3.0.0"
|
|
60
47
|
},
|