@x12i/memorix-retrieval 1.23.0 → 1.25.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/dist/client/catalox-descriptor-provision.d.ts +21 -0
- package/dist/client/catalox-descriptor-provision.d.ts.map +1 -0
- package/dist/client/catalox-descriptor-provision.js +277 -0
- package/dist/client/catalox-descriptor-provision.js.map +1 -0
- package/dist/client/create-stack-from-env.d.ts +4 -1
- package/dist/client/create-stack-from-env.d.ts.map +1 -1
- package/dist/client/create-stack-from-env.js +9 -1
- package/dist/client/create-stack-from-env.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/tests/catalox-descriptor-provision.test.d.ts +2 -0
- package/dist/tests/catalox-descriptor-provision.test.d.ts.map +1 -0
- package/dist/tests/catalox-descriptor-provision.test.js +152 -0
- package/dist/tests/catalox-descriptor-provision.test.js.map +1 -0
- package/dist/tests/create-stack-from-env.test.js +92 -8
- package/dist/tests/create-stack-from-env.test.js.map +1 -1
- package/docs/EXPLORER-HOST-APIS.md +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type Catalox } from "@x12i/catalox";
|
|
2
|
+
export type EnsureMemorixDescriptorsProvisionedOptions = {
|
|
3
|
+
appId: string;
|
|
4
|
+
catalox: Catalox;
|
|
5
|
+
processEnv?: NodeJS.ProcessEnv;
|
|
6
|
+
/** Skip auto-provision (tests or explicit host control). */
|
|
7
|
+
skip?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export type EnsureMemorixDescriptorsProvisionedResult = {
|
|
10
|
+
provisioned: boolean;
|
|
11
|
+
source: "mongo-existing" | "legacy-firestore-migration" | "unavailable";
|
|
12
|
+
entityDescriptorCount: number;
|
|
13
|
+
warnings: string[];
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Ensures descriptor metadata is readable for `appId` on the Mongo Catalox store.
|
|
17
|
+
* When Mongo is empty but legacy Firestore Catalox still holds data for the same
|
|
18
|
+
* app, copies catalogs/bindings/items automatically (idempotent).
|
|
19
|
+
*/
|
|
20
|
+
export declare function ensureMemorixDescriptorsProvisioned(options: EnsureMemorixDescriptorsProvisionedOptions): Promise<EnsureMemorixDescriptorsProvisionedResult>;
|
|
21
|
+
//# sourceMappingURL=catalox-descriptor-provision.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalox-descriptor-provision.d.ts","sourceRoot":"","sources":["../../src/client/catalox-descriptor-provision.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,OAAO,EAGb,MAAM,eAAe,CAAC;AAkFvB,MAAM,MAAM,0CAA0C,GAAG;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAC/B,4DAA4D;IAC5D,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,yCAAyC,GAAG;IACtD,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,gBAAgB,GAAG,4BAA4B,GAAG,aAAa,CAAC;IACxE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAqKF;;;;GAIG;AACH,wBAAsB,mCAAmC,CACvD,OAAO,EAAE,0CAA0C,GAClD,OAAO,CAAC,yCAAyC,CAAC,CAmFpD"}
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
import { applyCataloxSeedPreset, } from "@x12i/catalox";
|
|
2
|
+
import { encodeCatalogItemDataForCatalox, MEMORIX_COMPLETION_MAPPINGS_CATALOG, MEMORIX_INVENTORY_POLICIES_CATALOG, MEMORIX_ITEM_DESCRIPTORS_CATALOG, MEMORIX_LIST_DESCRIPTORS_CATALOG, MEMORIX_OBJECT_TYPE_DESCRIPTORS_CATALOG, MEMORIX_WRITE_DESCRIPTORS_CATALOG, } from "@x12i/memorix-descriptors";
|
|
3
|
+
import { DebugLogAbstract } from "@x12i/logxer";
|
|
4
|
+
import { fieldEvidence } from "@x12i/logxer/diagnostics";
|
|
5
|
+
import { LEGACY_LIST_DESCRIPTORS_CATALOG, MEMORIX_LEGACY_ENTITY_DESCRIPTORS_CATALOG, } from "../descriptors/catalog-ids.js";
|
|
6
|
+
import { memorixRetrievalLogger } from "../logging/logger.js";
|
|
7
|
+
const PROVISION_ACTOR = { type: "service", id: "memorix-retrieval-provision" };
|
|
8
|
+
const LEGACY_CATALOG_REMAP = {
|
|
9
|
+
[MEMORIX_LEGACY_ENTITY_DESCRIPTORS_CATALOG]: MEMORIX_OBJECT_TYPE_DESCRIPTORS_CATALOG,
|
|
10
|
+
[LEGACY_LIST_DESCRIPTORS_CATALOG]: MEMORIX_LIST_DESCRIPTORS_CATALOG,
|
|
11
|
+
};
|
|
12
|
+
const FIRESTORE_EXPORT_CATALOG_IDS = [
|
|
13
|
+
MEMORIX_OBJECT_TYPE_DESCRIPTORS_CATALOG,
|
|
14
|
+
MEMORIX_LEGACY_ENTITY_DESCRIPTORS_CATALOG,
|
|
15
|
+
MEMORIX_LIST_DESCRIPTORS_CATALOG,
|
|
16
|
+
LEGACY_LIST_DESCRIPTORS_CATALOG,
|
|
17
|
+
MEMORIX_ITEM_DESCRIPTORS_CATALOG,
|
|
18
|
+
MEMORIX_COMPLETION_MAPPINGS_CATALOG,
|
|
19
|
+
MEMORIX_INVENTORY_POLICIES_CATALOG,
|
|
20
|
+
MEMORIX_WRITE_DESCRIPTORS_CATALOG,
|
|
21
|
+
];
|
|
22
|
+
const NATIVE_CATALOG_DEFAULTS = {
|
|
23
|
+
[MEMORIX_OBJECT_TYPE_DESCRIPTORS_CATALOG]: {
|
|
24
|
+
catalogId: MEMORIX_OBJECT_TYPE_DESCRIPTORS_CATALOG,
|
|
25
|
+
name: "Memorix entity descriptors",
|
|
26
|
+
catalogType: "memorix",
|
|
27
|
+
sourceMode: "native",
|
|
28
|
+
native: { type: "native" },
|
|
29
|
+
},
|
|
30
|
+
[MEMORIX_LIST_DESCRIPTORS_CATALOG]: {
|
|
31
|
+
catalogId: MEMORIX_LIST_DESCRIPTORS_CATALOG,
|
|
32
|
+
name: "Memorix list descriptors",
|
|
33
|
+
catalogType: "memorix",
|
|
34
|
+
sourceMode: "native",
|
|
35
|
+
native: { type: "native" },
|
|
36
|
+
},
|
|
37
|
+
[MEMORIX_ITEM_DESCRIPTORS_CATALOG]: {
|
|
38
|
+
catalogId: MEMORIX_ITEM_DESCRIPTORS_CATALOG,
|
|
39
|
+
name: "Memorix item descriptors",
|
|
40
|
+
catalogType: "memorix",
|
|
41
|
+
sourceMode: "native",
|
|
42
|
+
native: { type: "native" },
|
|
43
|
+
},
|
|
44
|
+
[MEMORIX_COMPLETION_MAPPINGS_CATALOG]: {
|
|
45
|
+
catalogId: MEMORIX_COMPLETION_MAPPINGS_CATALOG,
|
|
46
|
+
name: "Memorix completion mappings",
|
|
47
|
+
catalogType: "memorix",
|
|
48
|
+
sourceMode: "native",
|
|
49
|
+
native: { type: "native" },
|
|
50
|
+
},
|
|
51
|
+
[MEMORIX_INVENTORY_POLICIES_CATALOG]: {
|
|
52
|
+
catalogId: MEMORIX_INVENTORY_POLICIES_CATALOG,
|
|
53
|
+
name: "Memorix inventory policies",
|
|
54
|
+
catalogType: "memorix",
|
|
55
|
+
sourceMode: "native",
|
|
56
|
+
native: { type: "native" },
|
|
57
|
+
},
|
|
58
|
+
[MEMORIX_WRITE_DESCRIPTORS_CATALOG]: {
|
|
59
|
+
catalogId: MEMORIX_WRITE_DESCRIPTORS_CATALOG,
|
|
60
|
+
name: "Memorix write descriptors",
|
|
61
|
+
catalogType: "memorix",
|
|
62
|
+
sourceMode: "native",
|
|
63
|
+
native: { type: "native" },
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
function isCatalogAccessDenied(err) {
|
|
67
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
68
|
+
const name = err instanceof Error ? err.name : "";
|
|
69
|
+
return (name === "CatalogAccessDeniedError" ||
|
|
70
|
+
message.includes("Access denied for catalog") ||
|
|
71
|
+
message.includes("binding_not_found_or_inactive"));
|
|
72
|
+
}
|
|
73
|
+
function isCatalogNotFoundError(err) {
|
|
74
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
75
|
+
return message.includes("Catalog not found");
|
|
76
|
+
}
|
|
77
|
+
async function listAllCatalogItems(catalox, catalogId) {
|
|
78
|
+
const items = [];
|
|
79
|
+
let offset = 0;
|
|
80
|
+
const limit = 200;
|
|
81
|
+
for (;;) {
|
|
82
|
+
let page;
|
|
83
|
+
try {
|
|
84
|
+
page = await catalox.listCatalogItems(catalogId, { limit, offset });
|
|
85
|
+
}
|
|
86
|
+
catch (err) {
|
|
87
|
+
if (isCatalogNotFoundError(err) || isCatalogAccessDenied(err)) {
|
|
88
|
+
return [];
|
|
89
|
+
}
|
|
90
|
+
throw err;
|
|
91
|
+
}
|
|
92
|
+
if (page.listOutcome === "mapping_blocked") {
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
for (const item of page.items) {
|
|
96
|
+
items.push({
|
|
97
|
+
id: String(item.itemId),
|
|
98
|
+
data: (item.data ?? {}),
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
if (!page.nextCursor && page.items.length < limit) {
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
offset += page.items.length;
|
|
105
|
+
if (page.items.length === 0) {
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return items;
|
|
110
|
+
}
|
|
111
|
+
async function countEntityDescriptors(catalox) {
|
|
112
|
+
const canonical = await listAllCatalogItems(catalox, MEMORIX_OBJECT_TYPE_DESCRIPTORS_CATALOG);
|
|
113
|
+
if (canonical.length > 0) {
|
|
114
|
+
return canonical.length;
|
|
115
|
+
}
|
|
116
|
+
return listAllCatalogItems(catalox, MEMORIX_LEGACY_ENTITY_DESCRIPTORS_CATALOG).then((items) => items.length);
|
|
117
|
+
}
|
|
118
|
+
async function probeMongoDescriptorReadiness(catalox, appId) {
|
|
119
|
+
const bound = catalox.withContext({
|
|
120
|
+
appId,
|
|
121
|
+
superAdmin: true,
|
|
122
|
+
actor: PROVISION_ACTOR,
|
|
123
|
+
});
|
|
124
|
+
try {
|
|
125
|
+
const entityCount = await countEntityDescriptors(bound);
|
|
126
|
+
return { ready: entityCount > 0, entityCount };
|
|
127
|
+
}
|
|
128
|
+
catch (err) {
|
|
129
|
+
if (isCatalogAccessDenied(err)) {
|
|
130
|
+
return { ready: false, entityCount: 0 };
|
|
131
|
+
}
|
|
132
|
+
throw err;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
async function exportLegacyFirestoreCatalogs(appId) {
|
|
136
|
+
const { createCataloxFromEnv } = await import("@x12i/catalox/firebase");
|
|
137
|
+
const { catalox } = createCataloxFromEnv();
|
|
138
|
+
const bound = catalox.withContext({
|
|
139
|
+
appId,
|
|
140
|
+
superAdmin: true,
|
|
141
|
+
actor: PROVISION_ACTOR,
|
|
142
|
+
});
|
|
143
|
+
const byTarget = new Map();
|
|
144
|
+
for (const sourceCatalogId of FIRESTORE_EXPORT_CATALOG_IDS) {
|
|
145
|
+
const items = await listAllCatalogItems(bound, sourceCatalogId);
|
|
146
|
+
if (items.length === 0)
|
|
147
|
+
continue;
|
|
148
|
+
const targetCatalogId = LEGACY_CATALOG_REMAP[sourceCatalogId] ?? sourceCatalogId;
|
|
149
|
+
const existing = byTarget.get(targetCatalogId) ?? [];
|
|
150
|
+
const seen = new Set(existing.map((item) => item.id));
|
|
151
|
+
for (const item of items) {
|
|
152
|
+
if (seen.has(item.id))
|
|
153
|
+
continue;
|
|
154
|
+
seen.add(item.id);
|
|
155
|
+
existing.push(item);
|
|
156
|
+
}
|
|
157
|
+
byTarget.set(targetCatalogId, existing);
|
|
158
|
+
}
|
|
159
|
+
return byTarget;
|
|
160
|
+
}
|
|
161
|
+
function buildProvisionManifest(appId, catalogsById) {
|
|
162
|
+
const catalogs = [];
|
|
163
|
+
const items = [];
|
|
164
|
+
const bindings = [];
|
|
165
|
+
for (const [catalogId, catalogItems] of catalogsById) {
|
|
166
|
+
if (catalogItems.length === 0)
|
|
167
|
+
continue;
|
|
168
|
+
const catalogSpec = NATIVE_CATALOG_DEFAULTS[catalogId];
|
|
169
|
+
if (!catalogSpec)
|
|
170
|
+
continue;
|
|
171
|
+
catalogs.push(catalogSpec);
|
|
172
|
+
bindings.push({
|
|
173
|
+
appId,
|
|
174
|
+
catalogId,
|
|
175
|
+
access: { canRead: true, canWrite: true, canAdmin: true },
|
|
176
|
+
});
|
|
177
|
+
for (const item of catalogItems) {
|
|
178
|
+
const data = { ...item.data };
|
|
179
|
+
if (!data.id)
|
|
180
|
+
data.id = item.id;
|
|
181
|
+
items.push({
|
|
182
|
+
catalogId,
|
|
183
|
+
data: encodeCatalogItemDataForCatalox(catalogId, data),
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return {
|
|
188
|
+
presetVersion: 1,
|
|
189
|
+
id: `memorix-descriptor-provision-${appId}`,
|
|
190
|
+
name: "Memorix descriptor auto-provision",
|
|
191
|
+
description: "Auto-migrated Memorix descriptor catalogs from legacy Catalox storage into Mongo.",
|
|
192
|
+
catalogs,
|
|
193
|
+
bindings,
|
|
194
|
+
items,
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Ensures descriptor metadata is readable for `appId` on the Mongo Catalox store.
|
|
199
|
+
* When Mongo is empty but legacy Firestore Catalox still holds data for the same
|
|
200
|
+
* app, copies catalogs/bindings/items automatically (idempotent).
|
|
201
|
+
*/
|
|
202
|
+
export async function ensureMemorixDescriptorsProvisioned(options) {
|
|
203
|
+
const warnings = [];
|
|
204
|
+
const { appId, catalox } = options;
|
|
205
|
+
if (options.skip) {
|
|
206
|
+
const probe = await probeMongoDescriptorReadiness(catalox, appId);
|
|
207
|
+
return {
|
|
208
|
+
provisioned: probe.ready,
|
|
209
|
+
source: probe.ready ? "mongo-existing" : "unavailable",
|
|
210
|
+
entityDescriptorCount: probe.entityCount,
|
|
211
|
+
warnings,
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
let probe = await probeMongoDescriptorReadiness(catalox, appId);
|
|
215
|
+
if (probe.ready) {
|
|
216
|
+
return {
|
|
217
|
+
provisioned: true,
|
|
218
|
+
source: "mongo-existing",
|
|
219
|
+
entityDescriptorCount: probe.entityCount,
|
|
220
|
+
warnings,
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
memorixRetrievalLogger.info("Memorix descriptor Mongo store empty — checking legacy Catalox", {
|
|
224
|
+
appId,
|
|
225
|
+
debugKind: DebugLogAbstract.EVENT,
|
|
226
|
+
});
|
|
227
|
+
let legacyCatalogs;
|
|
228
|
+
try {
|
|
229
|
+
legacyCatalogs = await exportLegacyFirestoreCatalogs(appId);
|
|
230
|
+
}
|
|
231
|
+
catch (err) {
|
|
232
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
233
|
+
warnings.push(`Legacy Catalox export unavailable: ${message}`);
|
|
234
|
+
memorixRetrievalLogger.warn("Legacy Catalox descriptor export failed", {
|
|
235
|
+
appId,
|
|
236
|
+
debugKind: DebugLogAbstract.EVENT,
|
|
237
|
+
evidence: [fieldEvidence("error", message)],
|
|
238
|
+
});
|
|
239
|
+
return {
|
|
240
|
+
provisioned: false,
|
|
241
|
+
source: "unavailable",
|
|
242
|
+
entityDescriptorCount: 0,
|
|
243
|
+
warnings,
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
const entityItems = legacyCatalogs.get(MEMORIX_OBJECT_TYPE_DESCRIPTORS_CATALOG) ?? [];
|
|
247
|
+
if (entityItems.length === 0) {
|
|
248
|
+
warnings.push("Legacy Catalox has no entity/object-type descriptors to migrate");
|
|
249
|
+
return {
|
|
250
|
+
provisioned: false,
|
|
251
|
+
source: "unavailable",
|
|
252
|
+
entityDescriptorCount: 0,
|
|
253
|
+
warnings,
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
const manifest = buildProvisionManifest(appId, legacyCatalogs);
|
|
257
|
+
await applyCataloxSeedPreset(catalox, { appId, superAdmin: true, actor: PROVISION_ACTOR }, {
|
|
258
|
+
manifest,
|
|
259
|
+
});
|
|
260
|
+
probe = await probeMongoDescriptorReadiness(catalox, appId);
|
|
261
|
+
if (!probe.ready) {
|
|
262
|
+
warnings.push("Descriptor auto-provision completed but Mongo still reports zero entity descriptors");
|
|
263
|
+
}
|
|
264
|
+
memorixRetrievalLogger.info("Memorix descriptors auto-provisioned from legacy Catalox", {
|
|
265
|
+
appId,
|
|
266
|
+
entityDescriptorCount: probe.entityCount,
|
|
267
|
+
migratedCatalogs: manifest.catalogs.map((catalog) => catalog.catalogId),
|
|
268
|
+
debugKind: DebugLogAbstract.EVENT,
|
|
269
|
+
});
|
|
270
|
+
return {
|
|
271
|
+
provisioned: probe.ready,
|
|
272
|
+
source: "legacy-firestore-migration",
|
|
273
|
+
entityDescriptorCount: probe.entityCount,
|
|
274
|
+
warnings,
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
//# sourceMappingURL=catalox-descriptor-provision.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalox-descriptor-provision.js","sourceRoot":"","sources":["../../src/client/catalox-descriptor-provision.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,9 +15,12 @@ export type CreateMemorixRetrievalStackFromEnvOptions = MemorixRetrievalLoggingO
|
|
|
15
15
|
appId?: string;
|
|
16
16
|
};
|
|
17
17
|
processEnv?: NodeJS.ProcessEnv;
|
|
18
|
+
/** Skip automatic legacy→Mongo descriptor provisioning (tests only). */
|
|
19
|
+
skipDescriptorProvision?: boolean;
|
|
18
20
|
};
|
|
19
21
|
/**
|
|
20
|
-
* One-shot wiring: Catalox from env → bound context → adapter → retrieval client.
|
|
22
|
+
* One-shot wiring: Mongo Catalox from env → bound context → adapter → retrieval client.
|
|
23
|
+
* Catalox metadata lives in `MEMORIX_CATALOX_DB` (default `memorix-catalox`) on `MONGO_URI`.
|
|
21
24
|
* Use this in host apps (e.g. memorix-explorer API) to avoid duplicating Catalox setup.
|
|
22
25
|
*/
|
|
23
26
|
export declare function createMemorixRetrievalStackFromEnv(options?: CreateMemorixRetrievalStackFromEnvOptions): Promise<MemorixRetrievalStack>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-stack-from-env.d.ts","sourceRoot":"","sources":["../../src/client/create-stack-from-env.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-stack-from-env.d.ts","sourceRoot":"","sources":["../../src/client/create-stack-from-env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAMlE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AAG1E,OAAO,KAAK,EACV,WAAW,EACX,sBAAsB,EACtB,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,2FAA2F;IAC3F,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,yCAAyC,GACnD,8BAA8B,GAAG;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAC/B,wEAAwE;IACxE,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAEJ;;;;GAIG;AACH,wBAAsB,kCAAkC,CACtD,OAAO,GAAE,yCAA8C,GACtD,OAAO,CAAC,qBAAqB,CAAC,CA+ChC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ensureMemorixDescriptorsProvisioned } from "./catalox-descriptor-provision.js";
|
|
1
2
|
import { createMemorixCataloxFromEnv } from "./catalox-mongo-bootstrap.js";
|
|
2
3
|
import { DebugLogAbstract } from "@x12i/logxer";
|
|
3
4
|
import { resolveMemorixAppId } from "../descriptors/resolve-app-id.js";
|
|
@@ -5,7 +6,8 @@ import { memorixRetrievalLogger } from "../logging/logger.js";
|
|
|
5
6
|
import { createCataloxAdapterFromBound } from "./catalox-adapter.js";
|
|
6
7
|
import { createMemorixRetrievalFromEnv } from "./create-from-env.js";
|
|
7
8
|
/**
|
|
8
|
-
* One-shot wiring: Catalox from env → bound context → adapter → retrieval client.
|
|
9
|
+
* One-shot wiring: Mongo Catalox from env → bound context → adapter → retrieval client.
|
|
10
|
+
* Catalox metadata lives in `MEMORIX_CATALOX_DB` (default `memorix-catalox`) on `MONGO_URI`.
|
|
9
11
|
* Use this in host apps (e.g. memorix-explorer API) to avoid duplicating Catalox setup.
|
|
10
12
|
*/
|
|
11
13
|
export async function createMemorixRetrievalStackFromEnv(options = {}) {
|
|
@@ -14,6 +16,12 @@ export async function createMemorixRetrievalStackFromEnv(options = {}) {
|
|
|
14
16
|
appId: options.appId?.trim() || options.cataloxContext?.appId?.trim(),
|
|
15
17
|
}, processEnv);
|
|
16
18
|
const { catalox } = await createMemorixCataloxFromEnv({ processEnv });
|
|
19
|
+
await ensureMemorixDescriptorsProvisioned({
|
|
20
|
+
appId,
|
|
21
|
+
catalox,
|
|
22
|
+
processEnv,
|
|
23
|
+
skip: options.skipDescriptorProvision,
|
|
24
|
+
});
|
|
17
25
|
const ctx = {
|
|
18
26
|
...(options.cataloxContext ?? {}),
|
|
19
27
|
appId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-stack-from-env.js","sourceRoot":"","sources":["../../src/client/create-stack-from-env.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-stack-from-env.js","sourceRoot":"","sources":["../../src/client/create-stack-from-env.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mCAAmC,EAAE,MAAM,mCAAmC,CAAC;AACxF,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAyBrE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,UAAqD,EAAE;IAEvD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC;IAErD,MAAM,KAAK,GAAG,mBAAmB,CAC/B;QACE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE;KACtE,EACD,UAAU,CACX,CAAC;IAEF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,2BAA2B,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAEtE,MAAM,mCAAmC,CAAC;QACxC,KAAK;QACL,OAAO;QACP,UAAU;QACV,IAAI,EAAE,OAAO,CAAC,uBAAuB;KACtC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAmB;QAC1B,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;QACjC,KAAK;QACL,KAAK,EAAE,OAAO,CAAC,cAAc,EAAE,KAAK,IAAI;YACtC,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,mBAAmB;SACxB;KACF,CAAC;IACF,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,cAAc,GAAG,6BAA6B,CAAC,YAAY,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC;QACjD,KAAK;QACL,OAAO,EAAE,cAAc;QACvB,UAAU;KACX,CAAC,CAAC;IAEH,sBAAsB,CAAC,IAAI,CAAC,qCAAqC,EAAE;QACjE,KAAK;QACL,SAAS,EAAE,gBAAgB,CAAC,KAAK;KAClC,CAAC,CAAC;IAEH,OAAO;QACL,KAAK;QACL,YAAY;QACZ,OAAO,EAAE,cAAc;QACvB,MAAM;QACN,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export { createMemorixXronoxFromEnv, type CreateMemorixXronoxFromEnvOptions, typ
|
|
|
4
4
|
export { createMemorixXronoxAdapter } from "./client/xronox-adapter.js";
|
|
5
5
|
export { createCataloxAdapterFromBound } from "./client/catalox-adapter.js";
|
|
6
6
|
export { createMemorixRetrievalStackFromEnv, type MemorixRetrievalStack, type CreateMemorixRetrievalStackFromEnvOptions, } from "./client/create-stack-from-env.js";
|
|
7
|
+
export { ensureMemorixDescriptorsProvisioned, type EnsureMemorixDescriptorsProvisionedOptions, type EnsureMemorixDescriptorsProvisionedResult, } from "./client/catalox-descriptor-provision.js";
|
|
7
8
|
export { fetchMemorixList } from "./retrieval/fetch-list.js";
|
|
8
9
|
export { fetchMemorixFullRecord, type FetchMemorixFullRecordRequest, type FetchMemorixFullRecordResponse, } from "./retrieval/fetch-full-record.js";
|
|
9
10
|
export { fetchMemorixWorkspaceList, DEFAULT_WORKSPACE_LIST_ID, } from "./retrieval/fetch-workspace-list.js";
|
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,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EACL,0BAA0B,EAC1B,KAAK,iCAAiC,EACtC,KAAK,oBAAoB,GAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EACL,kCAAkC,EAClC,KAAK,qBAAqB,EAC1B,KAAK,yCAAyC,GAC/C,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,7 @@ export { createMemorixXronoxFromEnv, } from "./client/create-xronox-from-env.js"
|
|
|
4
4
|
export { createMemorixXronoxAdapter } from "./client/xronox-adapter.js";
|
|
5
5
|
export { createCataloxAdapterFromBound } from "./client/catalox-adapter.js";
|
|
6
6
|
export { createMemorixRetrievalStackFromEnv, } from "./client/create-stack-from-env.js";
|
|
7
|
+
export { ensureMemorixDescriptorsProvisioned, } from "./client/catalox-descriptor-provision.js";
|
|
7
8
|
export { fetchMemorixList } from "./retrieval/fetch-list.js";
|
|
8
9
|
export { fetchMemorixFullRecord, } from "./retrieval/fetch-full-record.js";
|
|
9
10
|
export { fetchMemorixWorkspaceList, DEFAULT_WORKSPACE_LIST_ID, } from "./retrieval/fetch-workspace-list.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EACL,0BAA0B,GAG3B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EACL,kCAAkC,GAGnC,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalox-descriptor-provision.test.d.ts","sourceRoot":"","sources":["../../src/tests/catalox-descriptor-provision.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
+
import { MEMORIX_OBJECT_TYPE_DESCRIPTORS_CATALOG } from "@x12i/memorix-descriptors";
|
|
3
|
+
import { ensureMemorixDescriptorsProvisioned } from "../client/catalox-descriptor-provision.js";
|
|
4
|
+
const applyCataloxSeedPreset = vi.fn();
|
|
5
|
+
const createCataloxFromEnv = vi.fn();
|
|
6
|
+
vi.mock("@x12i/catalox", async (importOriginal) => {
|
|
7
|
+
const actual = await importOriginal();
|
|
8
|
+
return {
|
|
9
|
+
...actual,
|
|
10
|
+
applyCataloxSeedPreset: (...args) => applyCataloxSeedPreset(...args),
|
|
11
|
+
};
|
|
12
|
+
});
|
|
13
|
+
vi.mock("@x12i/catalox/firebase", () => ({
|
|
14
|
+
createCataloxFromEnv: (...args) => createCataloxFromEnv(...args),
|
|
15
|
+
}));
|
|
16
|
+
const assetsEntityDescriptor = {
|
|
17
|
+
id: "assets",
|
|
18
|
+
entityName: "assets",
|
|
19
|
+
target: "entity",
|
|
20
|
+
defaultListDescriptorId: "assets-main-list",
|
|
21
|
+
defaultItemDescriptorId: "asset-detail-item",
|
|
22
|
+
collectionPrefix: "assets",
|
|
23
|
+
identity: {
|
|
24
|
+
allowedIdFields: ["entityId", "eventId"],
|
|
25
|
+
requiredExactlyOne: true,
|
|
26
|
+
defaultIdField: "entityId",
|
|
27
|
+
},
|
|
28
|
+
defaults: {
|
|
29
|
+
canonicalContentType: "snapshots",
|
|
30
|
+
dataRoot: "data",
|
|
31
|
+
effectiveDatePath: "capturedAt",
|
|
32
|
+
fallbackEffectiveDatePaths: [],
|
|
33
|
+
},
|
|
34
|
+
contentTypes: {
|
|
35
|
+
snapshots: {
|
|
36
|
+
postfix: "snapshots",
|
|
37
|
+
collection: "assets-snapshots",
|
|
38
|
+
isCanonical: true,
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
properties: {},
|
|
42
|
+
relations: {},
|
|
43
|
+
};
|
|
44
|
+
function mongoCataloxWithCounts(counts) {
|
|
45
|
+
return {
|
|
46
|
+
withContext: vi.fn(() => ({
|
|
47
|
+
listCatalogItems: vi.fn(async (catalogId) => ({
|
|
48
|
+
listOutcome: "ok",
|
|
49
|
+
items: Array.from({ length: counts[catalogId] ?? 0 }, (_, index) => ({
|
|
50
|
+
itemId: `item-${index}`,
|
|
51
|
+
data: {},
|
|
52
|
+
})),
|
|
53
|
+
total: counts[catalogId] ?? 0,
|
|
54
|
+
})),
|
|
55
|
+
})),
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function firestoreCataloxFixture() {
|
|
59
|
+
return {
|
|
60
|
+
withContext: vi.fn(() => ({
|
|
61
|
+
listCatalogItems: vi.fn(async (catalogId) => {
|
|
62
|
+
if (catalogId === MEMORIX_OBJECT_TYPE_DESCRIPTORS_CATALOG) {
|
|
63
|
+
return {
|
|
64
|
+
listOutcome: "ok",
|
|
65
|
+
items: [{ itemId: "assets", data: assetsEntityDescriptor }],
|
|
66
|
+
total: 1,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
return { listOutcome: "ok", items: [], total: 0 };
|
|
70
|
+
}),
|
|
71
|
+
})),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
describe("ensureMemorixDescriptorsProvisioned", () => {
|
|
75
|
+
beforeEach(() => {
|
|
76
|
+
applyCataloxSeedPreset.mockReset();
|
|
77
|
+
createCataloxFromEnv.mockReset();
|
|
78
|
+
applyCataloxSeedPreset.mockResolvedValue({
|
|
79
|
+
applied: { catalogsCreated: [], catalogsSkippedExisting: [], descriptors: [], bindings: [], items: [] },
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
it("returns mongo-existing when entity descriptors are already present", async () => {
|
|
83
|
+
const catalox = mongoCataloxWithCounts({
|
|
84
|
+
[MEMORIX_OBJECT_TYPE_DESCRIPTORS_CATALOG]: 3,
|
|
85
|
+
});
|
|
86
|
+
const result = await ensureMemorixDescriptorsProvisioned({
|
|
87
|
+
appId: "graphs-studio",
|
|
88
|
+
catalox: catalox,
|
|
89
|
+
});
|
|
90
|
+
expect(result.source).toBe("mongo-existing");
|
|
91
|
+
expect(result.provisioned).toBe(true);
|
|
92
|
+
expect(result.entityDescriptorCount).toBe(3);
|
|
93
|
+
expect(createCataloxFromEnv).not.toHaveBeenCalled();
|
|
94
|
+
expect(applyCataloxSeedPreset).not.toHaveBeenCalled();
|
|
95
|
+
});
|
|
96
|
+
it("migrates legacy Firestore descriptors into Mongo when Mongo is empty", async () => {
|
|
97
|
+
let mongoEntityCount = 0;
|
|
98
|
+
const catalox = {
|
|
99
|
+
withContext: vi.fn(() => ({
|
|
100
|
+
listCatalogItems: vi.fn(async (catalogId) => {
|
|
101
|
+
const count = catalogId === MEMORIX_OBJECT_TYPE_DESCRIPTORS_CATALOG ? mongoEntityCount : 0;
|
|
102
|
+
return {
|
|
103
|
+
listOutcome: "ok",
|
|
104
|
+
items: Array.from({ length: count }, () => ({
|
|
105
|
+
itemId: "assets",
|
|
106
|
+
data: assetsEntityDescriptor,
|
|
107
|
+
})),
|
|
108
|
+
total: count,
|
|
109
|
+
};
|
|
110
|
+
}),
|
|
111
|
+
})),
|
|
112
|
+
};
|
|
113
|
+
createCataloxFromEnv.mockReturnValue({ catalox: firestoreCataloxFixture() });
|
|
114
|
+
applyCataloxSeedPreset.mockImplementation(async () => {
|
|
115
|
+
mongoEntityCount = 1;
|
|
116
|
+
return {
|
|
117
|
+
applied: {
|
|
118
|
+
catalogsCreated: [MEMORIX_OBJECT_TYPE_DESCRIPTORS_CATALOG],
|
|
119
|
+
catalogsSkippedExisting: [],
|
|
120
|
+
descriptors: [],
|
|
121
|
+
bindings: [MEMORIX_OBJECT_TYPE_DESCRIPTORS_CATALOG],
|
|
122
|
+
items: ["assets"],
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
});
|
|
126
|
+
const result = await ensureMemorixDescriptorsProvisioned({
|
|
127
|
+
appId: "graphs-studio",
|
|
128
|
+
catalox: catalox,
|
|
129
|
+
});
|
|
130
|
+
expect(result.source).toBe("legacy-firestore-migration");
|
|
131
|
+
expect(result.provisioned).toBe(true);
|
|
132
|
+
expect(result.entityDescriptorCount).toBe(1);
|
|
133
|
+
expect(createCataloxFromEnv).toHaveBeenCalledOnce();
|
|
134
|
+
expect(applyCataloxSeedPreset).toHaveBeenCalledOnce();
|
|
135
|
+
const manifest = applyCataloxSeedPreset.mock.calls[0]?.[2]?.manifest;
|
|
136
|
+
expect(manifest.items.some((item) => item.data.id === "assets")).toBe(true);
|
|
137
|
+
});
|
|
138
|
+
it("returns unavailable when legacy export fails", async () => {
|
|
139
|
+
const catalox = mongoCataloxWithCounts({});
|
|
140
|
+
createCataloxFromEnv.mockImplementation(() => {
|
|
141
|
+
throw new Error("Missing Firebase credentials");
|
|
142
|
+
});
|
|
143
|
+
const result = await ensureMemorixDescriptorsProvisioned({
|
|
144
|
+
appId: "graphs-studio",
|
|
145
|
+
catalox: catalox,
|
|
146
|
+
});
|
|
147
|
+
expect(result.source).toBe("unavailable");
|
|
148
|
+
expect(result.provisioned).toBe(false);
|
|
149
|
+
expect(result.warnings[0]).toContain("Legacy Catalox export unavailable");
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
//# sourceMappingURL=catalox-descriptor-provision.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalox-descriptor-provision.test.js","sourceRoot":"","sources":["../../src/tests/catalox-descriptor-provision.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { describe, expect, it, vi } from "vitest";
|
|
1
|
+
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
+
import { MEMORIX_OBJECT_TYPE_DESCRIPTORS_CATALOG } from "@x12i/memorix-descriptors";
|
|
2
3
|
import { createMemorixRetrievalStackFromEnv } from "../client/create-stack-from-env.js";
|
|
4
|
+
const createMemorixCataloxFromEnv = vi.fn();
|
|
5
|
+
const ensureMemorixDescriptorsProvisioned = vi.fn();
|
|
3
6
|
vi.mock("../client/catalox-mongo-bootstrap.js", () => ({
|
|
4
|
-
createMemorixCataloxFromEnv:
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
mongoStore: {},
|
|
9
|
-
})),
|
|
7
|
+
createMemorixCataloxFromEnv: (...args) => createMemorixCataloxFromEnv(...args),
|
|
8
|
+
}));
|
|
9
|
+
vi.mock("../client/catalox-descriptor-provision.js", () => ({
|
|
10
|
+
ensureMemorixDescriptorsProvisioned: (...args) => ensureMemorixDescriptorsProvisioned(...args),
|
|
10
11
|
}));
|
|
11
12
|
vi.mock("../client/catalox-adapter.js", () => ({
|
|
12
|
-
createCataloxAdapterFromBound: vi.fn(() =>
|
|
13
|
+
createCataloxAdapterFromBound: vi.fn((bound) => bound),
|
|
13
14
|
}));
|
|
14
15
|
vi.mock("../client/create-from-env.js", () => ({
|
|
15
16
|
createMemorixRetrievalFromEnv: vi.fn(async () => ({
|
|
@@ -19,7 +20,66 @@ vi.mock("../client/create-from-env.js", () => ({
|
|
|
19
20
|
processEnv: {},
|
|
20
21
|
})),
|
|
21
22
|
}));
|
|
23
|
+
const assetsEntityDescriptor = {
|
|
24
|
+
id: "assets",
|
|
25
|
+
entityName: "assets",
|
|
26
|
+
target: "entity",
|
|
27
|
+
defaultListDescriptorId: "assets-main-list",
|
|
28
|
+
defaultItemDescriptorId: "asset-detail-item",
|
|
29
|
+
collectionPrefix: "assets",
|
|
30
|
+
identity: {
|
|
31
|
+
allowedIdFields: ["entityId", "eventId"],
|
|
32
|
+
requiredExactlyOne: true,
|
|
33
|
+
defaultIdField: "entityId",
|
|
34
|
+
},
|
|
35
|
+
defaults: {
|
|
36
|
+
canonicalContentType: "snapshots",
|
|
37
|
+
dataRoot: "data",
|
|
38
|
+
effectiveDatePath: "capturedAt",
|
|
39
|
+
fallbackEffectiveDatePaths: [],
|
|
40
|
+
},
|
|
41
|
+
contentTypes: {
|
|
42
|
+
snapshots: {
|
|
43
|
+
postfix: "snapshots",
|
|
44
|
+
collection: "assets-snapshots",
|
|
45
|
+
isCanonical: true,
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
properties: {},
|
|
49
|
+
relations: {},
|
|
50
|
+
};
|
|
51
|
+
function mongoCataloxFixture() {
|
|
52
|
+
return {
|
|
53
|
+
withContext: vi.fn((ctx) => ({
|
|
54
|
+
ctx,
|
|
55
|
+
listCatalogItems: vi.fn(async (catalogId) => {
|
|
56
|
+
if (catalogId === MEMORIX_OBJECT_TYPE_DESCRIPTORS_CATALOG) {
|
|
57
|
+
return {
|
|
58
|
+
listOutcome: "ok",
|
|
59
|
+
items: [{ itemId: "assets", data: assetsEntityDescriptor }],
|
|
60
|
+
total: 1,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
return { listOutcome: "ok", items: [], total: 0 };
|
|
64
|
+
}),
|
|
65
|
+
})),
|
|
66
|
+
};
|
|
67
|
+
}
|
|
22
68
|
describe("createMemorixRetrievalStackFromEnv", () => {
|
|
69
|
+
beforeEach(() => {
|
|
70
|
+
createMemorixCataloxFromEnv.mockReset();
|
|
71
|
+
ensureMemorixDescriptorsProvisioned.mockReset();
|
|
72
|
+
createMemorixCataloxFromEnv.mockResolvedValue({
|
|
73
|
+
catalox: mongoCataloxFixture(),
|
|
74
|
+
mongoStore: {},
|
|
75
|
+
});
|
|
76
|
+
ensureMemorixDescriptorsProvisioned.mockResolvedValue({
|
|
77
|
+
provisioned: true,
|
|
78
|
+
source: "mongo-existing",
|
|
79
|
+
entityDescriptorCount: 1,
|
|
80
|
+
warnings: [],
|
|
81
|
+
});
|
|
82
|
+
});
|
|
23
83
|
it("exposes the client xronox adapter on the stack", async () => {
|
|
24
84
|
const stack = await createMemorixRetrievalStackFromEnv({
|
|
25
85
|
appId: "memorix",
|
|
@@ -28,5 +88,29 @@ describe("createMemorixRetrievalStackFromEnv", () => {
|
|
|
28
88
|
expect(stack.xronox).toBe(stack.client.xronox);
|
|
29
89
|
expect(stack.appId).toBe("memorix");
|
|
30
90
|
});
|
|
91
|
+
it("always bootstraps Catalox from Mongo via createMemorixCataloxFromEnv", async () => {
|
|
92
|
+
const processEnv = { MONGO_URI: "mongodb://localhost:27017" };
|
|
93
|
+
await createMemorixRetrievalStackFromEnv({ processEnv });
|
|
94
|
+
expect(createMemorixCataloxFromEnv).toHaveBeenCalledOnce();
|
|
95
|
+
expect(createMemorixCataloxFromEnv).toHaveBeenCalledWith({ processEnv });
|
|
96
|
+
expect(ensureMemorixDescriptorsProvisioned).toHaveBeenCalledOnce();
|
|
97
|
+
});
|
|
98
|
+
it("loads non-empty entityDescriptors via descriptor admin on Mongo stack", async () => {
|
|
99
|
+
const { createMemorixDescriptorAdmin } = await import("@x12i/memorix-descriptors");
|
|
100
|
+
const stack = await createMemorixRetrievalStackFromEnv({
|
|
101
|
+
appId: "graphs-studio",
|
|
102
|
+
processEnv: {
|
|
103
|
+
CATALOX_APP_ID: "graphs-studio",
|
|
104
|
+
MONGO_URI: "mongodb://localhost:27017",
|
|
105
|
+
},
|
|
106
|
+
});
|
|
107
|
+
const admin = createMemorixDescriptorAdmin({
|
|
108
|
+
catalox: stack.cataloxBound,
|
|
109
|
+
appId: stack.appId,
|
|
110
|
+
});
|
|
111
|
+
const snapshot = await admin.loadSnapshot();
|
|
112
|
+
expect(Object.keys(snapshot.entityDescriptors)).toEqual(["assets"]);
|
|
113
|
+
expect(snapshot.entityDescriptors.assets?.entityName).toBe("assets");
|
|
114
|
+
});
|
|
31
115
|
});
|
|
32
116
|
//# sourceMappingURL=create-stack-from-env.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-stack-from-env.test.js","sourceRoot":"","sources":["../../src/tests/create-stack-from-env.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"create-stack-from-env.test.js","sourceRoot":"","sources":["../../src/tests/create-stack-from-env.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ const { client, cataloxBound, appId } = await createMemorixRetrievalStackFromEnv
|
|
|
14
14
|
});
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
Uses `createMemorixCataloxFromEnv` + `createCataloxAdapterFromBound` + `createMemorixRetrievalFromEnv` in one call. App id resolves from option → `CATALOX_APP_ID` → `MEMORIX_APP_ID` → `memorix`. Catalox metadata is stored in Mongo (`MEMORIX_CATALOX_DB`, default `memorix-catalox`).
|
|
17
|
+
Uses `createMemorixCataloxFromEnv` + `ensureMemorixDescriptorsProvisioned` + `createCataloxAdapterFromBound` + `createMemorixRetrievalFromEnv` in one call. App id resolves from option → `CATALOX_APP_ID` → `MEMORIX_APP_ID` → `memorix`. Catalox metadata is stored in Mongo (`MEMORIX_CATALOX_DB`, default `memorix-catalox`) on `MONGO_URI`. On first connect after upgrade, legacy Firestore descriptor catalogs (when present) are copied into Mongo automatically — hosts do not configure storage backends.
|
|
18
18
|
|
|
19
19
|
## Entity discovery
|
|
20
20
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@x12i/memorix-retrieval",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.25.0",
|
|
4
4
|
"description": "Read-side runtime data tier for Memorix: inventory, lists, items, slices, graph, and health",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@x12i/catalox": "^5.10.1",
|
|
37
37
|
"@x12i/env": "^4.0.3",
|
|
38
|
-
"@x12i/helpers": "^2.
|
|
38
|
+
"@x12i/helpers": "^2.1.0",
|
|
39
39
|
"@x12i/logxer": "^5.1.0",
|
|
40
40
|
"@x12i/memorix-agents": "^1.2.1",
|
|
41
41
|
"@x12i/memorix-descriptors": "^1.19.0",
|