@exellix/catalox-graphs 1.2.8 → 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 +16 -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 +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -3
- package/dist/index.js.map +1 -1
- package/dist/stores/assert-authoring-graph-document.d.ts +2 -1
- package/dist/stores/assert-authoring-graph-document.d.ts.map +1 -1
- package/dist/stores/assert-authoring-graph-document.js +17 -0
- package/dist/stores/assert-authoring-graph-document.js.map +1 -1
- package/dist/types/graph-project.d.ts +1 -1
- package/dist/types/graph-project.d.ts.map +1 -1
- package/docs/STUDIO_INTEGRATION.md +16 -10
- package/package.json +8 -20
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
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
|
+
|
|
13
|
+
## 1.2.9 — 2026-06-24
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- **`assertAuthoringGraphDocument`** — calls upstream `validateAuthoringGraph` on save; rejects invalid authoring graphs before persist.
|
|
18
|
+
|
|
3
19
|
## 1.2.8 — 2026-06-23
|
|
4
20
|
|
|
5
21
|
### Changed
|
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,16 +1,15 @@
|
|
|
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';
|
|
7
7
|
export { normalizeCatalogGraphDocument } from './stores/normalize-catalog-graph-document.js';
|
|
8
8
|
export { GRAPH_PROJECT_FORMAT_VERSION, isSupportedGraphProjectFormatVersion, } from './stores/graph-project-format.js';
|
|
9
|
-
export { assertAuthoringGraphDocument, cataloxGraphContractError, isCataloxGraphContractError, CataloxGraphContractError, CATALOX_GRAPH_LEGACY_FLAT, CATALOX_GRAPH_UNSUPPORTED_FORMAT_VERSION, CATALOX_GRAPH_NOT_AUTHORING, type AssertAuthoringGraphResult, type AssertAuthoringGraphFailure, type AssertAuthoringGraphSuccess, } from './stores/assert-authoring-graph-document.js';
|
|
9
|
+
export { assertAuthoringGraphDocument, cataloxGraphContractError, isCataloxGraphContractError, CataloxGraphContractError, CATALOX_GRAPH_LEGACY_FLAT, CATALOX_GRAPH_UNSUPPORTED_FORMAT_VERSION, CATALOX_GRAPH_NOT_AUTHORING, CATALOX_GRAPH_AUTHORING_INVALID, type AssertAuthoringGraphResult, type AssertAuthoringGraphFailure, type AssertAuthoringGraphSuccess, } from './stores/assert-authoring-graph-document.js';
|
|
10
10
|
export { createCataloxGraphDocumentLoader, createExecuteGraphLoader, type CreateCataloxGraphDocumentLoaderOptions, type GraphDocumentLoaderLike, } from './stores/graph-document-loader.js';
|
|
11
11
|
export { saveGraphVersionToCatalox, loadGraphVersionFromCatalox, listGraphVersionsFromCatalox, deleteGraphVersionFromCatalox, pruneGraphVersionsBeyondLimit, graphVersionItemId, parseGraphVersionItemId, } from './stores/graph-version-store.js';
|
|
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,15 +1,14 @@
|
|
|
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';
|
|
7
7
|
export { normalizeCatalogGraphDocument } from './stores/normalize-catalog-graph-document.js';
|
|
8
8
|
export { GRAPH_PROJECT_FORMAT_VERSION, isSupportedGraphProjectFormatVersion, } from './stores/graph-project-format.js';
|
|
9
|
-
export { assertAuthoringGraphDocument, cataloxGraphContractError, isCataloxGraphContractError, CataloxGraphContractError, CATALOX_GRAPH_LEGACY_FLAT, CATALOX_GRAPH_UNSUPPORTED_FORMAT_VERSION, CATALOX_GRAPH_NOT_AUTHORING, } from './stores/assert-authoring-graph-document.js';
|
|
9
|
+
export { assertAuthoringGraphDocument, cataloxGraphContractError, isCataloxGraphContractError, CataloxGraphContractError, CATALOX_GRAPH_LEGACY_FLAT, CATALOX_GRAPH_UNSUPPORTED_FORMAT_VERSION, CATALOX_GRAPH_NOT_AUTHORING, CATALOX_GRAPH_AUTHORING_INVALID, } from './stores/assert-authoring-graph-document.js';
|
|
10
10
|
export { createCataloxGraphDocumentLoader, createExecuteGraphLoader, } from './stores/graph-document-loader.js';
|
|
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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export declare const CATALOX_GRAPH_LEGACY_FLAT: "CATALOX_GRAPH_LEGACY_FLAT";
|
|
2
2
|
export declare const CATALOX_GRAPH_UNSUPPORTED_FORMAT_VERSION: "CATALOX_GRAPH_UNSUPPORTED_FORMAT_VERSION";
|
|
3
3
|
export declare const CATALOX_GRAPH_NOT_AUTHORING: "CATALOX_GRAPH_NOT_AUTHORING";
|
|
4
|
-
export
|
|
4
|
+
export declare const CATALOX_GRAPH_AUTHORING_INVALID: "CATALOX_GRAPH_AUTHORING_INVALID";
|
|
5
|
+
export type CataloxGraphErrorCode = typeof CATALOX_GRAPH_LEGACY_FLAT | typeof CATALOX_GRAPH_UNSUPPORTED_FORMAT_VERSION | typeof CATALOX_GRAPH_NOT_AUTHORING | typeof CATALOX_GRAPH_AUTHORING_INVALID;
|
|
5
6
|
export type AssertAuthoringGraphSuccess = {
|
|
6
7
|
ok: true;
|
|
7
8
|
graph: Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert-authoring-graph-document.d.ts","sourceRoot":"","sources":["../../src/stores/assert-authoring-graph-document.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"assert-authoring-graph-document.d.ts","sourceRoot":"","sources":["../../src/stores/assert-authoring-graph-document.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,yBAAyB,EAAG,2BAAoC,CAAC;AAC9E,eAAO,MAAM,wCAAwC,EACnD,0CAAmD,CAAC;AACtD,eAAO,MAAM,2BAA2B,EAAG,6BAAsC,CAAC;AAClF,eAAO,MAAM,+BAA+B,EAAG,iCAA0C,CAAC;AAE1F,MAAM,MAAM,qBAAqB,GAC7B,OAAO,yBAAyB,GAChC,OAAO,wCAAwC,GAC/C,OAAO,2BAA2B,GAClC,OAAO,+BAA+B,CAAC;AAE3C,MAAM,MAAM,2BAA2B,GAAG;IACxC,EAAE,EAAE,IAAI,CAAC;IACT,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,EAAE,EAAE,KAAK,CAAC;IACV,IAAI,EAAE,qBAAqB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,2BAA2B,GAAG,2BAA2B,CAAC;AAanG,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;gBAEX,OAAO,EAAE,2BAA2B;CAMjD;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,2BAA2B,GAAG;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACrG,yBAAyB,CAE3B;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,yBAAyB,CAE1F;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,0BAA0B,CA6ErF"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { validateAuthoringGraph } from '@x12i/graphenix-authoring-format';
|
|
1
2
|
import { GRAPHENIX_FORMAT_VERSION } from '@x12i/graphenix-core';
|
|
2
3
|
import { normalizeCatalogGraphDocument } from './normalize-catalog-graph-document.js';
|
|
3
4
|
export const CATALOX_GRAPH_LEGACY_FLAT = 'CATALOX_GRAPH_LEGACY_FLAT';
|
|
4
5
|
export const CATALOX_GRAPH_UNSUPPORTED_FORMAT_VERSION = 'CATALOX_GRAPH_UNSUPPORTED_FORMAT_VERSION';
|
|
5
6
|
export const CATALOX_GRAPH_NOT_AUTHORING = 'CATALOX_GRAPH_NOT_AUTHORING';
|
|
7
|
+
export const CATALOX_GRAPH_AUTHORING_INVALID = 'CATALOX_GRAPH_AUTHORING_INVALID';
|
|
6
8
|
const UNSUPPORTED_FORMAT_VERSIONS = new Set(['2.0.0', '2.1.1']);
|
|
7
9
|
function asRecord(value) {
|
|
8
10
|
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
@@ -84,6 +86,21 @@ export function assertAuthoringGraphDocument(raw) {
|
|
|
84
86
|
hint: 'Executable graphs must include graph.nodes on an AuthoringGraphDocument root.',
|
|
85
87
|
};
|
|
86
88
|
}
|
|
89
|
+
const validation = validateAuthoringGraph(doc);
|
|
90
|
+
if (!validation.valid) {
|
|
91
|
+
const detail = validation.errors.length === 1
|
|
92
|
+
? `${validation.errors[0]?.path ?? 'graph'}: ${validation.errors[0]?.message ?? 'invalid'}`
|
|
93
|
+
: validation.errors
|
|
94
|
+
.slice(0, 5)
|
|
95
|
+
.map((e) => `${e.path}: ${e.message}`)
|
|
96
|
+
.join('; ');
|
|
97
|
+
return {
|
|
98
|
+
ok: false,
|
|
99
|
+
code: CATALOX_GRAPH_AUTHORING_INVALID,
|
|
100
|
+
message: `Authoring graph validation failed (${validation.errors.length} issue(s)): ${detail}`,
|
|
101
|
+
hint: 'Fix validation errors in Graph Studio and re-publish to the Catalox graphs catalog.',
|
|
102
|
+
};
|
|
103
|
+
}
|
|
87
104
|
return { ok: true, graph: doc };
|
|
88
105
|
}
|
|
89
106
|
//# sourceMappingURL=assert-authoring-graph-document.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert-authoring-graph-document.js","sourceRoot":"","sources":["../../src/stores/assert-authoring-graph-document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAEtF,MAAM,CAAC,MAAM,yBAAyB,GAAG,2BAAoC,CAAC;AAC9E,MAAM,CAAC,MAAM,wCAAwC,GACnD,0CAAmD,CAAC;AACtD,MAAM,CAAC,MAAM,2BAA2B,GAAG,6BAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"assert-authoring-graph-document.js","sourceRoot":"","sources":["../../src/stores/assert-authoring-graph-document.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ export type GraphProjectDocument = {
|
|
|
15
15
|
status?: string;
|
|
16
16
|
[key: string]: unknown;
|
|
17
17
|
};
|
|
18
|
-
export type CataloxGraphErrorCode = 'CATALOX_GRAPH_LEGACY_FLAT' | 'CATALOX_GRAPH_UNSUPPORTED_FORMAT_VERSION' | 'CATALOX_GRAPH_NOT_AUTHORING';
|
|
18
|
+
export type CataloxGraphErrorCode = 'CATALOX_GRAPH_LEGACY_FLAT' | 'CATALOX_GRAPH_UNSUPPORTED_FORMAT_VERSION' | 'CATALOX_GRAPH_NOT_AUTHORING' | 'CATALOX_GRAPH_AUTHORING_INVALID';
|
|
19
19
|
export type LoadGraphResult = {
|
|
20
20
|
ok: true;
|
|
21
21
|
graph: Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-project.d.ts","sourceRoot":"","sources":["../../src/types/graph-project.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B,2BAA2B,GAC3B,0CAA0C,GAC1C,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"graph-project.d.ts","sourceRoot":"","sources":["../../src/types/graph-project.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B,2BAA2B,GAC3B,0CAA0C,GAC1C,6BAA6B,GAC7B,iCAAiC,CAAC;AAEtC,MAAM,MAAM,eAAe,GACvB;IACE,EAAE,EAAE,IAAI,CAAC;IACT,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,GACD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEN,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CACnC,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,23 +25,23 @@
|
|
|
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"
|
|
46
36
|
},
|
|
47
37
|
"dependencies": {
|
|
48
38
|
"@x12i/catalox": "^5.9.8",
|
|
49
|
-
"@x12i/graphenix-
|
|
50
|
-
"@x12i/graphenix-
|
|
39
|
+
"@x12i/graphenix-authoring-format": "^2.11.0",
|
|
40
|
+
"@x12i/graphenix-core": "^2.11.0",
|
|
41
|
+
"@x12i/graphenix-executable-contracts": "^2.11.0"
|
|
51
42
|
},
|
|
52
43
|
"devDependencies": {
|
|
53
44
|
"@types/node": "^22.10.2",
|
|
54
|
-
"@types/react": "^19.2.17",
|
|
55
|
-
"fastify": "^5.8.5",
|
|
56
|
-
"react": "^19.2.7",
|
|
57
45
|
"typescript": "^5.7.2",
|
|
58
46
|
"vitest": "^3.0.0"
|
|
59
47
|
},
|