@x12i/catalox 2.7.0 → 3.0.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.
Files changed (40) hide show
  1. package/README.md +37 -28
  2. package/dist/src/catalox/catalox-bound.d.ts +119 -0
  3. package/dist/src/catalox/catalox-bound.d.ts.map +1 -0
  4. package/dist/src/catalox/catalox-bound.js +166 -0
  5. package/dist/src/catalox/catalox-bound.js.map +1 -0
  6. package/dist/src/catalox/catalox.d.ts +7 -2
  7. package/dist/src/catalox/catalox.d.ts.map +1 -1
  8. package/dist/src/catalox/catalox.js +27 -8
  9. package/dist/src/catalox/catalox.js.map +1 -1
  10. package/dist/src/catalox/create-catalox.d.ts +22 -0
  11. package/dist/src/catalox/create-catalox.d.ts.map +1 -0
  12. package/dist/src/catalox/create-catalox.js +65 -0
  13. package/dist/src/catalox/create-catalox.js.map +1 -0
  14. package/dist/src/catalox/index.d.ts +2 -0
  15. package/dist/src/catalox/index.d.ts.map +1 -1
  16. package/dist/src/catalox/index.js +2 -0
  17. package/dist/src/catalox/index.js.map +1 -1
  18. package/dist/src/cli/index.js +15 -41
  19. package/dist/src/cli/index.js.map +1 -1
  20. package/dist/src/contracts/catalogs.d.ts +17 -0
  21. package/dist/src/contracts/catalogs.d.ts.map +1 -1
  22. package/dist/src/contracts/catalogs.js.map +1 -1
  23. package/dist/src/contracts/index.d.ts +1 -1
  24. package/dist/src/contracts/index.d.ts.map +1 -1
  25. package/dist/src/contracts/index.js.map +1 -1
  26. package/dist/src/embedder.d.ts +17 -0
  27. package/dist/src/embedder.d.ts.map +1 -0
  28. package/dist/src/embedder.js +17 -0
  29. package/dist/src/embedder.js.map +1 -0
  30. package/dist/src/index.d.ts +2 -15
  31. package/dist/src/index.d.ts.map +1 -1
  32. package/dist/src/index.js +2 -15
  33. package/dist/src/index.js.map +1 -1
  34. package/dist/src/operator.d.ts +24 -0
  35. package/dist/src/operator.d.ts.map +1 -0
  36. package/dist/src/operator.js +25 -0
  37. package/dist/src/operator.js.map +1 -0
  38. package/dist/test/integration/firestore.emulator.test.js +9 -28
  39. package/dist/test/integration/firestore.emulator.test.js.map +1 -1
  40. package/package.json +21 -5
package/README.md CHANGED
@@ -23,6 +23,16 @@ This repo is currently set up as a workspace package.
23
23
 
24
24
  **Direct dependency:** `@google-cloud/storage` is declared for GCS export/import/compare; it uses the same **Application Default Credentials** pattern as Firestore Admin (bucket IAM required).
25
25
 
26
+ ### Package exports (v3)
27
+
28
+ | Import path | Intended use |
29
+ |-------------|----------------|
30
+ | **`@x12i/catalox`** | Full surface: embedder API + operator tooling (markdown, diagrams, migrations, Firebase stores, backup/GCS helpers, etc.). |
31
+ | **`@x12i/catalox/embedder`** | Catalog runtime only: **`createCatalox`**, **`Catalox`**, **`withContext` / `CataloxBound`**, contracts, errors, adapters, **`validateMappingSpec` / `executeMapping`**. |
32
+ | **`@x12i/catalox/operator`** | Markdown/diagrams/JSX, validation, bindings, **`ContextResolver`**, backup/GCS transfer helpers, identity/json-io, etc. |
33
+ | **`@x12i/catalox/firebase`** | Firestore-backed store classes for advanced wiring. |
34
+ | **`@x12i/catalox/mapping`** | Full mapping module (including **`helper-gap-report`**). |
35
+
26
36
  ## Configuration (real connections)
27
37
 
28
38
  Catalox is a library: you provide initialized clients + runtime env. For a **full list of environment variables**, CLI vs library behavior, and integration-test requirements, see [`docs/environment.md`](docs/environment.md).
@@ -87,7 +97,7 @@ The `catalox` binary loads `.env` via `dotenv`. Use **`CATALOX_*`** for **Catalo
87
97
  - **`CATALOX_APP_ID`** — Default `appId` in CLI context when a command does not pass `--app` (when present, `--app` overrides).
88
98
  - **`CATALOX_STORE_ID`** — Default `storeId` for **`report`** and **`export`** when `--store` is omitted (`--store` overrides).
89
99
  - **`CATALOX_USER_ID`** — Optional user id / actor for authz-sensitive CLI paths.
90
- - **`CATALOX_MONGO_URI`** — If set, enables the Mongo catalog adapter in the CLI (see `createCatalox()` in `src/cli/index.ts`).
100
+ - **`CATALOX_MONGO_URI`** — If set, enables the Mongo catalog adapter in the CLI (wired via **`createCatalox`** in `src/catalox/create-catalox.ts`, called from `src/cli/index.ts`).
91
101
 
92
102
  **Running commands from this repository:** the shell command `catalox` is only on your `PATH` if the package is installed globally (`npm i -g @x12i/catalox`) or linked (`npm link` from this repo). Otherwise, after `npm run build`, use:
93
103
 
@@ -143,39 +153,27 @@ See [`docs/backup.md`](docs/backup.md) for `backupData` / CLI backup (including
143
153
 
144
154
  ## Core usage (generic from `appId`)
145
155
 
146
- ### Create stores and `Catalox`
156
+ ### Create `Catalox` (recommended)
147
157
 
148
- ```ts
149
- import { FirestoreStore } from "@x12i/catalox";
150
- import { AppStore, CatalogStore, BindingStore, DefinitionStore, MappingStore, DescriptorStore, ReferenceStore, NativeItemStore, CatalogDataIndexStore, SnapshotStore, AdapterStore } from "@x12i/catalox";
151
- import { AuthorizationService, Catalox } from "@x12i/catalox";
158
+ Use **`createCatalox`** so you do not wire every Firestore store by hand. Optional **`mongoUri`** enables Mongo mapped catalogs; API mapped catalogs use an internal adapter unless you set `enableApiAdapter: false`.
152
159
 
153
- // firebase-admin initialization is up to the consumer
160
+ ```ts
161
+ import { createCatalox } from "@x12i/catalox";
154
162
  import { getFirestore } from "firebase-admin/firestore";
155
163
 
156
164
  const firestore = getFirestore();
157
- const store = new FirestoreStore({ firestore });
158
-
159
- const bindings = new BindingStore(store);
160
- const deps = {
161
- apps: new AppStore(store),
162
- catalogs: new CatalogStore(store),
163
- bindings,
164
- definitions: new DefinitionStore(store),
165
- mappings: new MappingStore(store),
166
- descriptors: new DescriptorStore(store),
167
- references: new ReferenceStore(store),
168
- nativeItems: new NativeItemStore(store),
169
- catalogDataIndex: new CatalogDataIndexStore(store),
170
- snapshots: new SnapshotStore(store),
171
- adapters: new AdapterStore(store),
172
- firestoreStore: store,
173
- authz: new AuthorizationService(bindings),
174
- };
165
+ const catalox = createCatalox({ firestore });
175
166
 
176
- const catalox = new Catalox(deps);
167
+ // Optional: bind app/tenant context once (no globals; same semantics as passing context each call).
168
+ const scoped = catalox.withContext({ appId: "myApp" });
169
+ const list = await scoped.listCatalogItems("myCatalog", { limit: 50 });
170
+ // list.listOutcome is "ok" | "mapping_blocked"; empty items with "ok" means zero rows.
177
171
  ```
178
172
 
173
+ ### Advanced: manual `CataloxDependencies`
174
+
175
+ If you need a non-default dependency graph, import stores from `@x12i/catalox/firebase`, construct `AuthorizationService`, and pass **`new Catalox(deps)`** as before (see source under `src/catalox/catalox.ts`).
176
+
179
177
  ## Descriptor contract (planning-critical)
180
178
 
181
179
  Catalox is designed so upstream packages can be “generic” (no hardcoded catalog registrations). The stable contract is the persisted **descriptor**:
@@ -346,8 +344,8 @@ const bootstrap = await catalox.getAppCatalogBootstrap(context, "myAppId");
346
344
 
347
345
  1) `listAppCatalogs(appId)` → get catalog list + access
348
346
  2) `getAppCatalogBootstrap(appId)` → get descriptors (capabilities/query/identity/fields)
349
- 3) `listCatalogItems(catalogId, filter/sort)` → fetch normalized items
350
- 4) `getCatalogItem(catalogId, itemId)` → fetch one item
347
+ 3) `listCatalogItems(catalogId, filter/sort)` → `{ listOutcome, items, issues? }` (`listOutcome` distinguishes OK empty lists vs mapping validation blocking)
348
+ 4) `getCatalogItem(catalogId, itemId)` → `{ outcome: "found" | "not_found" | "mapping_blocked", ... }`
351
349
  5) Optional: `getCatalogItemReferences(...)`, `validateCatalogItem(...)`
352
350
 
353
351
  ## Provisioning (create catalog + bind + descriptor)
@@ -453,6 +451,7 @@ await catalox.batchUpsertNativeCatalogItems({ appId: "myAppId" }, "signals", ite
453
451
  const res = await catalox.listCatalogItems({ appId: "myAppId" }, "signals", {
454
452
  filter: { categoryId: "core" }
455
453
  });
454
+ // `res.listOutcome`: "ok" (list ran) or "mapping_blocked" (see `res.issues`). Empty `items` with "ok" means zero matches.
456
455
  ```
457
456
 
458
457
  Filtering is performed on `indexed.<field>` in stored native records (payload remains in `data`). **Blank filter values** (`""`, whitespace-only strings, `null`, `undefined`) are **not** sent as Firestore constraints so empty UI fields do not zero out lists; see [`docs/native-catalog-storage-and-api.md`](docs/native-catalog-storage-and-api.md) and **`compactCatalogFilter`** in the published API.
@@ -508,6 +507,8 @@ Integration tests are **live-only** (no mocks, no emulators). They require:
508
507
  - `FIREBASE_SERVICE_ACCOUNT_PATH=...`
509
508
  - `FIREBASE_PROJECT_ID=...`
510
509
 
510
+ The **`Firestore live integration`** test (`test/integration/firestore.emulator.test.ts`) uses **`createCatalox`** and asserts v3 contracts: **`listCatalogItems`** returns **`listOutcome: "ok"`**, and **`getCatalogItem`** returns **`{ outcome: "found", item }`** for the seeded row.
511
+
511
512
  ### Live test safety (read before running)
512
513
 
513
514
  - **Never run against production credentials/projects.** Use a dedicated Firebase project for tests.
@@ -516,6 +517,14 @@ Integration tests are **live-only** (no mocks, no emulators). They require:
516
517
 
517
518
  ## Changelog
518
519
 
520
+ ### 3.0.0
521
+
522
+ - **`createCatalox(config)`** — single factory for Firestore-backed stores, authz, optional Mongo/API adapters, optional renderer snippet store (`src/catalox/create-catalox.ts`).
523
+ - **`catalox.withContext(ctx)`** / **`bindCataloxContext(catalox, ctx)`** — **`CataloxBound`**: same APIs without repeating `CataloxContext` on every call (`src/catalox/catalox-bound.ts`).
524
+ - **Breaking — lists:** **`CatalogListResult`** includes **`listOutcome: "ok" | "mapping_blocked"`**. Mapping validation failures use **`mapping_blocked`** (see **`issues`**). Empty **`items`** with **`listOutcome === "ok"`** means zero matching rows.
525
+ - **Breaking — get item:** **`getCatalogItem`** returns **`CatalogGetItemResult`** (`found` | `not_found` | `mapping_blocked`), not **`null`**.
526
+ - **Package:** **`main` / `types`** and **`exports["."]`** resolve to **`dist/src/...`**. Subpaths **`@x12i/catalox/embedder`**, **`/operator`**, **`/mapping`**, **`/firebase`**. Root **`@x12i/catalox`** re-exports embedder + operator (preserves most existing root imports).
527
+
519
528
  ### 2.7.0
520
529
 
521
530
  - **GCS restore:** **`restoreFirestoreBackupFromGcs`** + CLI **`firestore restore-backup-from-gcs`** — same pre-restore / **`undoFirestoreRestore`** model as mirror restore.
@@ -0,0 +1,119 @@
1
+ import type { AppCatalogBootstrap, AppCatalogEntry, CatalogDescriptor, CatalogItemReference, CatalogItemValidationReport, CatalogGetItemResult, CatalogListResult, CatalogQueryOptions, CatalogValidationReport, CreateCatalogInput, ExportInventoryData, ExportInventoryInput, InventoryReportData, InventoryReportInput, ItemId, StoreId, StoreAppBindingRecord, ListAppCatalogsInput, UnifiedCatalogItem, UpdateCatalogInput } from "../contracts/index.js";
2
+ import type { AppId, CatalogId } from "../contracts/ids.js";
3
+ import type { CataloxContext } from "../contracts/context.js";
4
+ import type { BindCatalogInput } from "../contracts/bindings.js";
5
+ import type { BackupDataInput, BackupDataResult } from "../contracts/backup.js";
6
+ import type { ExportAllFirestoreCollectionsToGcsInput, ExportAllFirestoreCollectionsToGcsResult, ExportFirestoreCollectionToGcsInput, ExportFirestoreCollectionToGcsResult, RestoreAllFirestoreCollectionsFromGcsInput, RestoreAllFirestoreCollectionsFromGcsResult, RestoreFirestoreCollectionFromGcsInput, RestoreFirestoreCollectionFromGcsResult } from "../contracts/gcs-firestore-transfer.js";
7
+ import type { CompareAllFirestoreCollectionsWithGcsManifestInput, CompareAllFirestoreCollectionsWithGcsResult, CompareFirestoreCollectionWithGcsInput, CompareFirestoreCollectionWithGcsResult } from "../contracts/gcs-firestore-compare.js";
8
+ import type { RestoreFirestoreBackupInput, RestoreFirestoreBackupResult, RestoreFirestoreBackupFromGcsInput, RestoreFirestoreBackupFromGcsResult, PruneGcsBackupRunsInput, PruneGcsBackupRunsResult, UndoFirestoreRestoreInput, UndoFirestoreRestoreResult } from "../contracts/restore.js";
9
+ import type { CataloxGcsBackupManifestV1, FirestoreGcsExportManifestV1 } from "../contracts/gcs-firestore-transfer.js";
10
+ import type { CatalogListRenderMap, CatalogItemRenderMap } from "../contracts/render-map.js";
11
+ import type { MigrateNativeCatalogLayoutInput, MigrateNativeCatalogLayoutResult } from "../migrations/migrate-native-catalog-layout.js";
12
+ import type { NativeCatalogLayoutDiagnosticRow } from "./native-catalog-layout-diagnostics.js";
13
+ import type { Catalox } from "./catalox.js";
14
+ /**
15
+ * {@link Catalox} with a fixed {@link CataloxContext}: every method omits the first `context` argument.
16
+ * Use {@link Catalox.withContext} or {@link bindCataloxContext}.
17
+ */
18
+ export declare class CataloxBound {
19
+ private readonly catalox;
20
+ readonly context: CataloxContext;
21
+ constructor(catalox: Catalox, context: CataloxContext);
22
+ buildCatalogListRenderMap(catalogId: CatalogId, options?: {
23
+ limit?: number;
24
+ resolveSources?: boolean;
25
+ maxSourceOptions?: number;
26
+ displayContext?: "grid" | "list" | "cards";
27
+ }): Promise<CatalogListRenderMap>;
28
+ buildCatalogItemRenderMap(catalogId: CatalogId, itemId: ItemId, options?: {
29
+ includeReferences?: boolean;
30
+ resolveSources?: boolean;
31
+ maxSourceOptions?: number;
32
+ displayContext?: "form" | "card" | "grid-row" | "list-row";
33
+ }): Promise<CatalogItemRenderMap>;
34
+ listAppCatalogs(input?: ListAppCatalogsInput): Promise<AppCatalogEntry[]>;
35
+ getCatalogDescriptor(catalogId: CatalogId): Promise<CatalogDescriptor | null>;
36
+ getCatalogRendererSnippet(catalogId: CatalogId, role: "core" | "list" | "grid" | "item" | "report" | "dashboard", mode?: "readonly" | "editable"): Promise<import("../contracts/renderer-snippets.js").CatalogRendererSnippetRecord | null>;
37
+ getAppCatalogBootstrap(appId?: AppId): Promise<AppCatalogBootstrap>;
38
+ listCatalogItems(catalogId: CatalogId, options?: CatalogQueryOptions): Promise<CatalogListResult>;
39
+ getCatalogItem(catalogId: CatalogId, itemId: ItemId): Promise<CatalogGetItemResult>;
40
+ validateCatalog(catalogId: CatalogId): Promise<CatalogValidationReport>;
41
+ validateCatalogItem(catalogId: CatalogId, itemId: ItemId): Promise<CatalogItemValidationReport>;
42
+ getCatalogItemReferences(catalogId: CatalogId, itemId: ItemId): Promise<CatalogItemReference[]>;
43
+ listCatalogReferences(catalogId: CatalogId): Promise<CatalogItemReference[]>;
44
+ getApp(appId?: AppId): Promise<import("../contracts/apps.js").AppRecord | null>;
45
+ createCatalog(input: CreateCatalogInput): Promise<import("../contracts/catalogs.js").CatalogRecord>;
46
+ updateCatalog(catalogId: CatalogId, patch: UpdateCatalogInput): Promise<import("../contracts/catalogs.js").CatalogRecord>;
47
+ getCatalog(catalogId: CatalogId): Promise<import("../contracts/catalogs.js").CatalogRecord | null>;
48
+ listCatalogs(options?: CatalogQueryOptions): Promise<import("../contracts/catalogs.js").CatalogRecord[]>;
49
+ bindCatalogToApp(input: BindCatalogInput): Promise<any>;
50
+ unbindCatalogFromApp(appId: AppId, catalogId: CatalogId): Promise<void>;
51
+ bindAppToStore(input: {
52
+ storeId: StoreId;
53
+ appId: AppId;
54
+ metadata?: Record<string, unknown>;
55
+ }): Promise<StoreAppBindingRecord>;
56
+ unbindAppFromStore(storeId: StoreId, appId: AppId): Promise<void>;
57
+ listAppsForStore(storeId: StoreId): Promise<StoreAppBindingRecord[]>;
58
+ ensureCatalog(catalog: {
59
+ catalogId: CatalogId;
60
+ name: string;
61
+ status?: "active" | "disabled" | "draft";
62
+ }): Promise<void>;
63
+ ensureBinding(input: {
64
+ appId: AppId;
65
+ catalogId: CatalogId;
66
+ access?: {
67
+ canRead?: boolean;
68
+ canWrite?: boolean;
69
+ canAdmin?: boolean;
70
+ };
71
+ }): Promise<void>;
72
+ createNativeCatalogItem(catalogId: CatalogId, input: Record<string, unknown>): Promise<UnifiedCatalogItem>;
73
+ updateNativeCatalogItem(catalogId: CatalogId, itemId: ItemId, patch: Record<string, unknown>): Promise<UnifiedCatalogItem>;
74
+ deleteNativeCatalogItem(catalogId: CatalogId, itemId: ItemId): Promise<void>;
75
+ upsertNativeCatalogItem(catalogId: CatalogId, input: Record<string, unknown>): Promise<UnifiedCatalogItem>;
76
+ batchUpsertNativeCatalogItems(catalogId: CatalogId, items: Array<Record<string, unknown>>): Promise<void>;
77
+ importCatalogItemsFromJson<T = unknown>(json: string): T;
78
+ exportCatalogItemsToJson(value: unknown, pretty?: boolean): string;
79
+ exportInventory(input?: ExportInventoryInput): Promise<ExportInventoryData>;
80
+ exportInventoryToJson(input?: ExportInventoryInput, pretty?: boolean): Promise<string>;
81
+ generateInventoryReport(input?: InventoryReportInput): Promise<{
82
+ markdown: string;
83
+ data: InventoryReportData;
84
+ }>;
85
+ syncMappedCatalog(catalogId: CatalogId): Promise<{
86
+ syncStatus: "idle";
87
+ lastSyncedAt?: never;
88
+ } | {
89
+ syncStatus: "success";
90
+ lastSyncedAt: string;
91
+ }>;
92
+ backupData(input: BackupDataInput): Promise<BackupDataResult>;
93
+ restoreFirestoreBackup(input: RestoreFirestoreBackupInput): Promise<RestoreFirestoreBackupResult>;
94
+ undoFirestoreRestore(input: UndoFirestoreRestoreInput): Promise<UndoFirestoreRestoreResult>;
95
+ restoreFirestoreBackupFromGcs(input: RestoreFirestoreBackupFromGcsInput): Promise<RestoreFirestoreBackupFromGcsResult>;
96
+ pruneGcsBackupRuns(input: PruneGcsBackupRunsInput): Promise<PruneGcsBackupRunsResult>;
97
+ deleteCataloxGcsBackupRun(input: {
98
+ gcsBucket: string;
99
+ gcsRunFolder: string;
100
+ }): Promise<{
101
+ ok: boolean;
102
+ deleted: number;
103
+ issues: import("../contracts/restore.js").RestoreFirestoreBackupFromGcsIssue[];
104
+ }>;
105
+ cataloxGcsBackupManifestToExportManifest(manifest: CataloxGcsBackupManifestV1, gcsRunFolder: string): FirestoreGcsExportManifestV1;
106
+ reportNativeCatalogLayoutDiagnostics(input?: {
107
+ catalogIds?: CatalogId[];
108
+ appId?: string;
109
+ }): Promise<NativeCatalogLayoutDiagnosticRow[]>;
110
+ migrateNativeCatalogLayout(input: MigrateNativeCatalogLayoutInput): Promise<MigrateNativeCatalogLayoutResult>;
111
+ exportFirestoreCollectionToGcs(input: Omit<ExportFirestoreCollectionToGcsInput, "firestore">): Promise<ExportFirestoreCollectionToGcsResult>;
112
+ exportAllFirestoreCollectionsToGcs(input: Omit<ExportAllFirestoreCollectionsToGcsInput, "firestore">): Promise<ExportAllFirestoreCollectionsToGcsResult>;
113
+ restoreFirestoreCollectionFromGcs(input: Omit<RestoreFirestoreCollectionFromGcsInput, "firestore">): Promise<RestoreFirestoreCollectionFromGcsResult>;
114
+ restoreAllFirestoreCollectionsFromGcsManifest(input: Omit<RestoreAllFirestoreCollectionsFromGcsInput, "firestore">): Promise<RestoreAllFirestoreCollectionsFromGcsResult>;
115
+ compareFirestoreCollectionWithGcsNdjson(input: Omit<CompareFirestoreCollectionWithGcsInput, "firestore">): Promise<CompareFirestoreCollectionWithGcsResult>;
116
+ compareAllFirestoreCollectionsWithGcsManifest(input: Omit<CompareAllFirestoreCollectionsWithGcsManifestInput, "firestore">): Promise<CompareAllFirestoreCollectionsWithGcsResult>;
117
+ }
118
+ export declare function bindCataloxContext(catalox: Catalox, context: CataloxContext): CataloxBound;
119
+ //# sourceMappingURL=catalox-bound.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalox-bound.d.ts","sourceRoot":"","sources":["../../../src/catalox/catalox-bound.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,166 @@
1
+ /**
2
+ * {@link Catalox} with a fixed {@link CataloxContext}: every method omits the first `context` argument.
3
+ * Use {@link Catalox.withContext} or {@link bindCataloxContext}.
4
+ */
5
+ export class CataloxBound {
6
+ catalox;
7
+ context;
8
+ constructor(catalox, context) {
9
+ this.catalox = catalox;
10
+ this.context = context;
11
+ }
12
+ async buildCatalogListRenderMap(catalogId, options) {
13
+ return this.catalox.buildCatalogListRenderMap(this.context, catalogId, options);
14
+ }
15
+ async buildCatalogItemRenderMap(catalogId, itemId, options) {
16
+ return this.catalox.buildCatalogItemRenderMap(this.context, catalogId, itemId, options);
17
+ }
18
+ async listAppCatalogs(input) {
19
+ return this.catalox.listAppCatalogs(this.context, input);
20
+ }
21
+ async getCatalogDescriptor(catalogId) {
22
+ return this.catalox.getCatalogDescriptor(this.context, catalogId);
23
+ }
24
+ async getCatalogRendererSnippet(catalogId, role, mode) {
25
+ return this.catalox.getCatalogRendererSnippet(this.context, catalogId, role, mode);
26
+ }
27
+ async getAppCatalogBootstrap(appId) {
28
+ return this.catalox.getAppCatalogBootstrap(this.context, appId);
29
+ }
30
+ async listCatalogItems(catalogId, options) {
31
+ return this.catalox.listCatalogItems(this.context, catalogId, options);
32
+ }
33
+ async getCatalogItem(catalogId, itemId) {
34
+ return this.catalox.getCatalogItem(this.context, catalogId, itemId);
35
+ }
36
+ async validateCatalog(catalogId) {
37
+ return this.catalox.validateCatalog(this.context, catalogId);
38
+ }
39
+ async validateCatalogItem(catalogId, itemId) {
40
+ return this.catalox.validateCatalogItem(this.context, catalogId, itemId);
41
+ }
42
+ async getCatalogItemReferences(catalogId, itemId) {
43
+ return this.catalox.getCatalogItemReferences(this.context, catalogId, itemId);
44
+ }
45
+ async listCatalogReferences(catalogId) {
46
+ return this.catalox.listCatalogReferences(this.context, catalogId);
47
+ }
48
+ async getApp(appId) {
49
+ return this.catalox.getApp(this.context, appId);
50
+ }
51
+ async createCatalog(input) {
52
+ return this.catalox.createCatalog(this.context, input);
53
+ }
54
+ async updateCatalog(catalogId, patch) {
55
+ return this.catalox.updateCatalog(this.context, catalogId, patch);
56
+ }
57
+ async getCatalog(catalogId) {
58
+ return this.catalox.getCatalog(this.context, catalogId);
59
+ }
60
+ async listCatalogs(options) {
61
+ return this.catalox.listCatalogs(this.context, options);
62
+ }
63
+ async bindCatalogToApp(input) {
64
+ return this.catalox.bindCatalogToApp(this.context, input);
65
+ }
66
+ async unbindCatalogFromApp(appId, catalogId) {
67
+ return this.catalox.unbindCatalogFromApp(this.context, appId, catalogId);
68
+ }
69
+ async bindAppToStore(input) {
70
+ return this.catalox.bindAppToStore(this.context, input);
71
+ }
72
+ async unbindAppFromStore(storeId, appId) {
73
+ return this.catalox.unbindAppFromStore(this.context, storeId, appId);
74
+ }
75
+ async listAppsForStore(storeId) {
76
+ return this.catalox.listAppsForStore(this.context, storeId);
77
+ }
78
+ async ensureCatalog(catalog) {
79
+ return this.catalox.ensureCatalog(this.context, catalog);
80
+ }
81
+ async ensureBinding(input) {
82
+ return this.catalox.ensureBinding(this.context, input);
83
+ }
84
+ async createNativeCatalogItem(catalogId, input) {
85
+ return this.catalox.createNativeCatalogItem(this.context, catalogId, input);
86
+ }
87
+ async updateNativeCatalogItem(catalogId, itemId, patch) {
88
+ return this.catalox.updateNativeCatalogItem(this.context, catalogId, itemId, patch);
89
+ }
90
+ async deleteNativeCatalogItem(catalogId, itemId) {
91
+ return this.catalox.deleteNativeCatalogItem(this.context, catalogId, itemId);
92
+ }
93
+ async upsertNativeCatalogItem(catalogId, input) {
94
+ return this.catalox.upsertNativeCatalogItem(this.context, catalogId, input);
95
+ }
96
+ async batchUpsertNativeCatalogItems(catalogId, items) {
97
+ return this.catalox.batchUpsertNativeCatalogItems(this.context, catalogId, items);
98
+ }
99
+ importCatalogItemsFromJson(json) {
100
+ return this.catalox.importCatalogItemsFromJson(json);
101
+ }
102
+ exportCatalogItemsToJson(value, pretty = true) {
103
+ return this.catalox.exportCatalogItemsToJson(value, pretty);
104
+ }
105
+ async exportInventory(input = {}) {
106
+ return this.catalox.exportInventory(this.context, input);
107
+ }
108
+ async exportInventoryToJson(input = {}, pretty = true) {
109
+ return this.catalox.exportInventoryToJson(this.context, input, pretty);
110
+ }
111
+ async generateInventoryReport(input = {}) {
112
+ return this.catalox.generateInventoryReport(this.context, input);
113
+ }
114
+ async syncMappedCatalog(catalogId) {
115
+ return this.catalox.syncMappedCatalog(this.context, catalogId);
116
+ }
117
+ async backupData(input) {
118
+ return this.catalox.backupData(this.context, input);
119
+ }
120
+ async restoreFirestoreBackup(input) {
121
+ return this.catalox.restoreFirestoreBackup(this.context, input);
122
+ }
123
+ async undoFirestoreRestore(input) {
124
+ return this.catalox.undoFirestoreRestore(this.context, input);
125
+ }
126
+ async restoreFirestoreBackupFromGcs(input) {
127
+ return this.catalox.restoreFirestoreBackupFromGcs(this.context, input);
128
+ }
129
+ async pruneGcsBackupRuns(input) {
130
+ return this.catalox.pruneGcsBackupRuns(this.context, input);
131
+ }
132
+ async deleteCataloxGcsBackupRun(input) {
133
+ return this.catalox.deleteCataloxGcsBackupRun(this.context, input);
134
+ }
135
+ cataloxGcsBackupManifestToExportManifest(manifest, gcsRunFolder) {
136
+ return this.catalox.cataloxGcsBackupManifestToExportManifest(manifest, gcsRunFolder);
137
+ }
138
+ async reportNativeCatalogLayoutDiagnostics(input) {
139
+ return this.catalox.reportNativeCatalogLayoutDiagnostics(this.context, input);
140
+ }
141
+ async migrateNativeCatalogLayout(input) {
142
+ return this.catalox.migrateNativeCatalogLayout(this.context, input);
143
+ }
144
+ async exportFirestoreCollectionToGcs(input) {
145
+ return this.catalox.exportFirestoreCollectionToGcs(this.context, input);
146
+ }
147
+ async exportAllFirestoreCollectionsToGcs(input) {
148
+ return this.catalox.exportAllFirestoreCollectionsToGcs(this.context, input);
149
+ }
150
+ async restoreFirestoreCollectionFromGcs(input) {
151
+ return this.catalox.restoreFirestoreCollectionFromGcs(this.context, input);
152
+ }
153
+ async restoreAllFirestoreCollectionsFromGcsManifest(input) {
154
+ return this.catalox.restoreAllFirestoreCollectionsFromGcsManifest(this.context, input);
155
+ }
156
+ async compareFirestoreCollectionWithGcsNdjson(input) {
157
+ return this.catalox.compareFirestoreCollectionWithGcsNdjson(this.context, input);
158
+ }
159
+ async compareAllFirestoreCollectionsWithGcsManifest(input) {
160
+ return this.catalox.compareAllFirestoreCollectionsWithGcsManifest(this.context, input);
161
+ }
162
+ }
163
+ export function bindCataloxContext(catalox, context) {
164
+ return new CataloxBound(catalox, context);
165
+ }
166
+ //# sourceMappingURL=catalox-bound.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalox-bound.js","sourceRoot":"","sources":["../../../src/catalox/catalox-bound.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AppCatalogBootstrap, AppCatalogEntry, CatalogDescriptor, CatalogItemReference, CatalogItemValidationReport, CatalogListResult, CatalogQueryOptions, CatalogValidationReport, CreateCatalogInput, ExportInventoryData, ExportInventoryInput, InventoryReportData, InventoryReportInput, ItemId, StoreId, StoreAppBindingRecord, ListAppCatalogsInput, UnifiedCatalogItem, UpdateCatalogInput } from "../contracts/index.js";
1
+ import type { AppCatalogBootstrap, AppCatalogEntry, CatalogDescriptor, CatalogItemReference, CatalogItemValidationReport, CatalogGetItemResult, CatalogListResult, CatalogQueryOptions, CatalogValidationReport, CreateCatalogInput, ExportInventoryData, ExportInventoryInput, InventoryReportData, InventoryReportInput, ItemId, StoreId, StoreAppBindingRecord, ListAppCatalogsInput, UnifiedCatalogItem, UpdateCatalogInput } from "../contracts/index.js";
2
2
  import type { AppId, CatalogId } from "../contracts/ids.js";
3
3
  import { ApiCatalogAdapter } from "../adapters/api/api-adapter.js";
4
4
  import { MongoCatalogAdapter } from "../adapters/mongo/mongo-adapter.js";
@@ -27,6 +27,7 @@ import type { CataloxGcsBackupManifestV1, FirestoreGcsExportManifestV1 } from ".
27
27
  import { runDeleteCataloxGcsBackupRun } from "./restore-firestore-backup-from-gcs.js";
28
28
  import { type MigrateNativeCatalogLayoutInput, type MigrateNativeCatalogLayoutResult } from "../migrations/migrate-native-catalog-layout.js";
29
29
  import { type NativeCatalogLayoutDiagnosticRow } from "./native-catalog-layout-diagnostics.js";
30
+ import { CataloxBound } from "./catalox-bound.js";
30
31
  export type CataloxDependencies = {
31
32
  apps: AppStore;
32
33
  catalogs: CatalogStore;
@@ -76,7 +77,7 @@ export declare class Catalox {
76
77
  getCatalogRendererSnippet(context: CataloxContext, catalogId: CatalogId, role: "core" | "list" | "grid" | "item" | "report" | "dashboard", mode?: "readonly" | "editable"): Promise<import("../contracts/renderer-snippets.js").CatalogRendererSnippetRecord | null>;
77
78
  getAppCatalogBootstrap(context: CataloxContext, appId?: AppId): Promise<AppCatalogBootstrap>;
78
79
  listCatalogItems(context: CataloxContext, catalogId: CatalogId, options?: CatalogQueryOptions): Promise<CatalogListResult>;
79
- getCatalogItem(context: CataloxContext, catalogId: CatalogId, itemId: ItemId): Promise<UnifiedCatalogItem | null>;
80
+ getCatalogItem(context: CataloxContext, catalogId: CatalogId, itemId: ItemId): Promise<CatalogGetItemResult>;
80
81
  validateCatalog(_context: CataloxContext, _catalogId: CatalogId): Promise<CatalogValidationReport>;
81
82
  validateCatalogItem(_context: CataloxContext, _catalogId: CatalogId, _itemId: ItemId): Promise<CatalogItemValidationReport>;
82
83
  getCatalogItemReferences(context: CataloxContext, catalogId: CatalogId, itemId: ItemId): Promise<CatalogItemReference[]>;
@@ -178,5 +179,9 @@ export declare class Catalox {
178
179
  compareFirestoreCollectionWithGcsNdjson(_context: CataloxContext, input: Omit<CompareFirestoreCollectionWithGcsInput, "firestore">): Promise<CompareFirestoreCollectionWithGcsResult>;
179
180
  /** Run `compareFirestoreCollectionWithGcsNdjson` for every entry in an export manifest. */
180
181
  compareAllFirestoreCollectionsWithGcsManifest(_context: CataloxContext, input: Omit<CompareAllFirestoreCollectionsWithGcsManifestInput, "firestore">): Promise<CompareAllFirestoreCollectionsWithGcsResult>;
182
+ /**
183
+ * Fix {@link CataloxContext} for subsequent calls so embedders omit it on each method (no globals).
184
+ */
185
+ withContext(context: CataloxContext): CataloxBound;
181
186
  }
182
187
  //# sourceMappingURL=catalox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalox.d.ts","sourceRoot":"","sources":["../../../src/catalox/catalox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalox.d.ts","sourceRoot":"","sources":["../../../src/catalox/catalox.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,7 @@ import { migrateNativeCatalogLayout as runMigrateNativeCatalogLayout, } from "..
33
33
  import { reportNativeCatalogLayoutDiagnostics as runReportNativeCatalogLayoutDiagnostics, } from "./native-catalog-layout-diagnostics.js";
34
34
  import { exportAllFirestoreCollectionsToGcs, exportFirestoreCollectionToGcs, restoreAllFirestoreCollectionsFromGcsManifest, restoreFirestoreCollectionFromGcs, } from "./firestore-gcs-transfer.js";
35
35
  import { compareAllFirestoreCollectionsWithGcsManifest, compareFirestoreCollectionWithGcsNdjson, } from "./firestore-gcs-compare.js";
36
+ import { CataloxBound } from "./catalox-bound.js";
36
37
  export class Catalox {
37
38
  deps;
38
39
  constructor(deps) {
@@ -194,9 +195,13 @@ export class Catalox {
194
195
  }
195
196
  async buildCatalogItemRenderMap(context, catalogId, itemId, options) {
196
197
  const descriptor = await this.getCatalogDescriptor(context, catalogId);
197
- const item = await this.getCatalogItem(context, catalogId, itemId);
198
- if (!item)
198
+ const got = await this.getCatalogItem(context, catalogId, itemId);
199
+ if (got.outcome === "mapping_blocked") {
200
+ throw new CatalogAdapterError({ catalogId, reason: "mapping_validation_failed", issues: got.issues });
201
+ }
202
+ if (got.outcome === "not_found")
199
203
  throw new CatalogNotFoundError({ catalogId, itemId });
204
+ const item = got.item;
200
205
  const sources = this.gatherDescriptorSources(descriptor);
201
206
  const resolvedSources = {};
202
207
  if (options?.resolveSources !== false) {
@@ -375,7 +380,7 @@ export class Catalox {
375
380
  createdAt: r.createdAt,
376
381
  updatedAt: r.updatedAt,
377
382
  }));
378
- return { items };
383
+ return { listOutcome: "ok", items };
379
384
  }
380
385
  const def = await this.deps.definitions.get(catalogId);
381
386
  if (!def || def.type !== "mapped")
@@ -385,7 +390,7 @@ export class Catalox {
385
390
  throw new CatalogAdapterError({ catalogId, reason: "missing_mapping" });
386
391
  const mappingIssues = validateMappingSpec(mapping.mapping);
387
392
  if (mappingIssues.some((i) => i.severity === "error")) {
388
- return { items: [], issues: mappingIssues };
393
+ return { listOutcome: "mapping_blocked", items: [], issues: mappingIssues };
389
394
  }
390
395
  if (def.adapterType === "mongo") {
391
396
  if (!this.deps.mongoAdapter)
@@ -394,7 +399,9 @@ export class Catalox {
394
399
  if (!adapterConfig)
395
400
  throw new CatalogAdapterError({ catalogId, reason: "missing_adapter" });
396
401
  const result = await this.deps.mongoAdapter.listItems(context, catalogId, adapterConfig, { mapping: mapping.mapping, ...(mapping.options ? { options: mapping.options } : {}) }, listQueryOptions);
397
- return result.issues ? { items: result.items, issues: result.issues } : { items: result.items };
402
+ return result.issues?.length
403
+ ? { listOutcome: "ok", items: result.items, issues: result.issues }
404
+ : { listOutcome: "ok", items: result.items };
398
405
  }
399
406
  if (def.adapterType === "api") {
400
407
  if (!this.deps.apiAdapter)
@@ -404,6 +411,7 @@ export class Catalox {
404
411
  throw new CatalogAdapterError({ catalogId, reason: "missing_adapter" });
405
412
  const result = await this.deps.apiAdapter.listItems(context, catalogId, adapterConfig, { responseMapping: mapping.mapping, ...(mapping.options ? { options: mapping.options } : {}) }, listQueryOptions);
406
413
  return {
414
+ listOutcome: "ok",
407
415
  items: result.items,
408
416
  ...(result.nextCursor ? { nextCursor: result.nextCursor } : {}),
409
417
  ...(result.issues ? { issues: result.issues } : {}),
@@ -419,7 +427,7 @@ export class Catalox {
419
427
  if (catalog.sourceMode === "native") {
420
428
  const rec = await this.deps.nativeItems.get(catalogId, itemId);
421
429
  if (!rec)
422
- return null;
430
+ return { outcome: "not_found" };
423
431
  const base = {
424
432
  itemId: rec.itemId,
425
433
  catalogId: rec.catalogId,
@@ -431,15 +439,20 @@ export class Catalox {
431
439
  createdAt: rec.createdAt,
432
440
  updatedAt: rec.updatedAt,
433
441
  };
434
- return this.decorateItem(catalogId, base);
442
+ return { outcome: "found", item: await this.decorateItem(catalogId, base) };
435
443
  }
436
444
  // For mapped catalogs, use list path with filter if adapter supports.
437
445
  const result = await this.listCatalogItems(context, catalogId, {
438
446
  limit: 1,
439
447
  filter: { itemId },
440
448
  });
449
+ if (result.listOutcome === "mapping_blocked") {
450
+ return { outcome: "mapping_blocked", issues: result.issues ?? [] };
451
+ }
441
452
  const first = result.items[0];
442
- return first ? this.decorateItem(catalogId, first) : null;
453
+ if (!first)
454
+ return { outcome: "not_found" };
455
+ return { outcome: "found", item: await this.decorateItem(catalogId, first) };
443
456
  }
444
457
  async validateCatalog(_context, _catalogId) {
445
458
  return { isValid: true, issues: [] };
@@ -1153,6 +1166,12 @@ export class Catalox {
1153
1166
  firestore: this.deps.firestoreStore.firestore,
1154
1167
  });
1155
1168
  }
1169
+ /**
1170
+ * Fix {@link CataloxContext} for subsequent calls so embedders omit it on each method (no globals).
1171
+ */
1172
+ withContext(context) {
1173
+ return new CataloxBound(this, context);
1174
+ }
1156
1175
  }
1157
1176
  // (moved to `src/contracts/bootstrap.ts`)
1158
1177
  //# sourceMappingURL=catalox.js.map