@x12i/catalox 4.0.4 → 4.1.2

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/README.md CHANGED
@@ -13,11 +13,12 @@ It is a **data-tier** package for managing **app-scoped catalogs** in Firebase *
13
13
  - **Catalog item search** (within a catalog: text search + AI match)
14
14
  - **AI-assisted item create/modify** (calls `aifunctions-js` `createItem` / `modifyItem`; optional `autoPersist` for native catalogs)
15
15
  - **References + validation contracts** (standardized cross-catalog shapes)
16
- - **Seed/import/export + batch upsert** workflows for native catalogs
16
+ - **Seed/import/export + batch upsert** workflows for native catalogs (library + **`catalox seed apply`**, **`catalox seed validate`**, **`catalox items …`** — see [`docs/cli-items.md`](docs/cli-items.md))
17
17
  - **Optional per-record native history** — NDJSON payloads in GCS plus a Firestore `catalogItemHistory` index; list/show/restore/replay APIs and `catalox history …` ([`docs/record-history.md`](docs/record-history.md))
18
18
  - **Optional catalog lifecycle** — hard delete (with manifest), restore from manifest, and hard rename across collections; APIs + `catalox catalog …` ([`docs/catalog-crud.md`](docs/catalog-crud.md))
19
19
  - **Optional GCS tools** — NDJSON export/import of Firestore collections to a bucket, **compare** live data vs bucket snapshots, **`backupData` mode `gcs`** (Catalox-shaped NDJSON + manifest under a bucket prefix), and matching CLI commands (`firestore export-gcs`, `import-gcs`, `compare-gcs`, `firestore backup --mode gcs`; see [`docs/firestore-gcs-export.md`](docs/firestore-gcs-export.md), [`docs/backup.md`](docs/backup.md))
20
- - **Operator `toolbox` CLI** — Diagnose app↔catalog access (Firestore `catalogBindings` + simulated `listCatalogItemsWithOutcome`) and create or repair binding docs; see [`docs/cli-toolbox.md`](docs/cli-toolbox.md)
20
+ - **Operator `toolbox` CLI** — Diagnose app↔catalog access (Firestore `catalogBindings` + simulated `listCatalogItemsWithOutcome`), create or repair bindings, or **disable** a binding (`unbind-catalog`); see [`docs/cli-toolbox.md`](docs/cli-toolbox.md)
21
+ - **Operator `items` CLI** — Validate, list, get, upsert/patch/delete, batch-upsert, export one catalog’s items, and manage relations; see [`docs/cli-items.md`](docs/cli-items.md)
21
22
 
22
23
  Catalox **does not** own UI, workflow orchestration, remote execution, artifact blobs, or secret storage.
23
24
 
@@ -44,7 +45,7 @@ Public format notes:
44
45
  - See [`docs/catalog-format.md`](docs/catalog-format.md) for the public shapes: catalog meta, catalog lists, and catalog items.
45
46
  - See [`docs/migration-catalog-model.md`](docs/migration-catalog-model.md) for the one-time backfill to the newer catalog model.
46
47
 
47
- **Quick onboarding (env → Firestore probe → seed preset → validate):** [`docs/onboarding-happy-path.md`](docs/onboarding-happy-path.md). **App↔catalog access troubleshooting (CLI):** [`docs/cli-toolbox.md`](docs/cli-toolbox.md).
48
+ **Quick onboarding:** [`docs/onboarding-happy-path.md`](docs/onboarding-happy-path.md) (use **`catalox seed validate`** to check a manifest before **`seed apply`**). **App↔catalog access troubleshooting (CLI):** [`docs/cli-toolbox.md`](docs/cli-toolbox.md). **Per-item operators and inventory-style export:** [`docs/cli-items.md`](docs/cli-items.md) (includes **`catalox export`** vs **`items export`**).
48
49
 
49
50
  ## Scoped registries: catalog types, domains, agents
50
51
 
@@ -232,8 +233,8 @@ FIRESTORE_LIVE_TESTS=1
232
233
 
233
234
  The `catalox` binary loads `.env` via `dotenv`. Use **`CATALOX_*`** for **Catalox runtime context** (catalog `appId`, optional `storeId`, actor, Mongo URI for the bundled adapter). Use **`FIREBASE_*` / `FIRESTORE_*`** plus **`GOOGLE_SERVICE_ACCOUNT_BASE64`** (when you want explicit service account JSON via env) for **Firebase Admin / Firestore connection** (GCP `projectId`, database id, live-test flags).
234
235
 
235
- - **`CATALOX_APP_ID`** — Default `appId` in CLI context when a command does not pass `--app` (when present, `--app` overrides).
236
- - **`CATALOX_STORE_ID`** — Default `storeId` for **`report`** and **`export`** when `--store` is omitted (`--store` overrides).
236
+ - **`CATALOX_APP_ID`** — Default `appId` in CLI context when a command does not pass `--app` (when present, `--app` overrides). Most **`items`** / **`toolbox`** / **`seed apply`** flows pass **`--app`** explicitly.
237
+ - **`CATALOX_STORE_ID`** — Default `storeId` for **`report`**, **`export`**, and other store-aware commands when **`--store`** is omitted (`--store` overrides).
237
238
  - **`CATALOX_USER_ID`** — Optional user id / actor for authz-sensitive CLI paths.
238
239
  - **`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`).
239
240
  - **`CATALOX_RECORD_HISTORY_BUCKET`** — If set, **`createCatalox`** wires **`recordHistory`** (GCS payloads + **`catalogItemHistory`** on native writes; also required for **`catalox history …`** to persist new events).
@@ -276,9 +277,23 @@ npm run cli -- firestore report-native-layout --app "narrix"
276
277
  | `toolbox check-access` | Read `catalogBindings/{appId}:{catalogId}`, `catalogs/{catalogId}`, and run **`listCatalogItemsWithOutcome`** (real auth rules). Optional **`--show-all-bindings`**. |
277
278
  | `toolbox ensure-binding` | Create binding doc if missing (**`ensureBinding`**; no-op if row already exists). |
278
279
  | `toolbox repair-binding` | Merge-write binding to **`active`** + access flags (**`--god`** required). |
280
+ | `toolbox unbind-catalog` | Disable app↔catalog binding (**`status: "disabled"`** on the same `catalogBindings` doc). |
279
281
 
280
282
  Full workflow, field meanings, exit codes, and how this differs from **`report` / `export --god`**: [`docs/cli-toolbox.md`](docs/cli-toolbox.md).
281
283
 
284
+ #### `seed` / `items` CLI (catalog + item operators)
285
+
286
+ | Command | Purpose |
287
+ |---------|---------|
288
+ | `seed apply` | Idempotent manifest: catalogs, optional descriptors/bindings/native **`items`** ([`docs/onboarding-happy-path.md`](docs/onboarding-happy-path.md)). |
289
+ | `seed validate` | Parse + AJV-validate **`--file`** or **`--preset`** manifest only (no Firestore writes). |
290
+ | `items validate` / `get` / `list` | **`validateCatalog`** / **`validateCatalogItem`**, **`getCatalogItem`**, **`listCatalogItemsWithOutcome`**. |
291
+ | `items upsert` / `patch` / `delete` / `batch-upsert` | Native item writes (**`delete`** requires **`--confirm`**). Body: **`--file`** or stdin JSON. |
292
+ | `items export` | Stable **`{ catalogId, items }`** JSON for one catalog (paginates **`nextCursor`** or **`offset`**). |
293
+ | `items relation upsert` / `delete` | **`upsertCatalogItemRelation`** / **`deleteCatalogItemRelation`** (JSON body). |
294
+
295
+ Full JSON shapes, auth, and when to use **`seed apply`** vs **`items batch-upsert`**: [`docs/cli-items.md`](docs/cli-items.md).
296
+
282
297
  ## Firestore data model (logical collections)
283
298
 
284
299
  For a **full layout** (subcollections, document id conventions, snapshot runs, and query notes), see [`docs/firestore-data-model.md`](docs/firestore-data-model.md). For **native** catalogs specifically (per-catalog `catalogData-*-items`, layout resolution, `listCatalogItems`, filters, troubleshooting), see [`docs/native-catalog-storage-and-api.md`](docs/native-catalog-storage-and-api.md).
@@ -699,6 +714,8 @@ await descriptors.upsert({
699
714
 
700
715
  ## Native catalogs (seed/import/export + batch upsert)
701
716
 
717
+ The packaged **`catalox`** CLI mirrors these APIs for operators: **`seed apply`** / **`seed validate`**, **`items upsert`**, **`items batch-upsert`**, **`items export`**, and related commands ([`docs/cli-items.md`](docs/cli-items.md)).
718
+
702
719
  ### Import/Export JSON (helpers)
703
720
 
704
721
  ```ts
@@ -851,6 +868,12 @@ When **`CATALOX_RECORD_HISTORY_BUCKET`** is set, **`test/integration/record-hist
851
868
 
852
869
  ## Changelog
853
870
 
871
+ ### 4.0.4
872
+
873
+ - **CLI:** **`catalox seed validate`** — validate preset manifests without applying.
874
+ - **CLI:** **`catalox items`** — **`validate`**, **`get`**, **`list`**, **`upsert`**, **`patch`**, **`delete`**, **`batch-upsert`**, **`export`**, plus **`items relation upsert` / `delete`** ([`docs/cli-items.md`](docs/cli-items.md)).
875
+ - **CLI:** **`catalox toolbox unbind-catalog`** — disable an app↔catalog binding ([`docs/cli-toolbox.md`](docs/cli-toolbox.md)).
876
+
854
877
  ### 4.0.0
855
878
 
856
879
  - **Breaking — Firebase bootstrap:** **`resolveFirebaseAdminCredentialFromEnv`**, **`createCataloxFromEnv`**, and related helpers now resolve credentials in order: **`GOOGLE_SERVICE_ACCOUNT_BASE64`** (or **`serviceAccountBase64`** option), then optional **`serviceAccountPath`** (caller-supplied path only), then Application Default Credentials. GCS credential helpers in **`backup-data`** / **`record-history`** use the same base64-then-ADC pattern.
@@ -9,7 +9,9 @@ import { CATALOX_GCS_BACKUP_MANIFEST_FILENAME, createCataloxHelpersGcsClient } f
9
9
  import { cataloxGcsBackupManifestToFirestoreExportManifest } from "../catalox/catalox-gcs-backup-export-manifest.js";
10
10
  import { normalizeGcsPrefix, ndjsonObjectPath } from "../catalox/firestore-gcs-transfer.js";
11
11
  import { createCataloxFromEnv, testFirestoreConnectionFromEnv } from "../firebase/bootstrap.js";
12
- import { applyCataloxSeedPreset } from "../catalox/seed-preset.js";
12
+ import { applyCataloxSeedPreset, loadCataloxSeedManifestFromPath } from "../catalox/seed-preset.js";
13
+ import { resolveCataloxSeedPresetPath } from "../catalox/seed-preset-resolve.js";
14
+ import { normalizeNativePatchBody, normalizeNativeUpsertBody, parseJsonArrayOrNdjson, parseJsonObject, readUtf8FromFileOrStdin, } from "./item-json.js";
13
15
  import { buildCatalogListMarkdownMap, renderCatalogListMarkdown } from "../markdown/render-list-markdown.js";
14
16
  import { buildCatalogItemMarkdownMap, renderCatalogItemMarkdown } from "../markdown/render-item-markdown.js";
15
17
  import { renderCatalogRelationsMermaid } from "../diagrams/render-catalog-diagram.js";
@@ -268,6 +270,286 @@ seedCmd
268
270
  : await applyCataloxSeedPreset(catalox, ctx, { presetPath: fileRaw });
269
271
  await writeOrStdout(JSON.stringify(res, null, 2));
270
272
  });
273
+ seedCmd
274
+ .command("validate")
275
+ .description("Parse and AJV-validate a seed manifest (--file or --preset); no Firestore writes")
276
+ .option("--file <path>", "Path to preset JSON manifest")
277
+ .option("--preset <id>", "Logical preset: builtin:native-map-v1, registry alias, npm package name, or path to .json")
278
+ .action(async (opts) => {
279
+ const fileRaw = opts.file != null ? String(opts.file).trim() : "";
280
+ const presetRaw = opts.preset != null ? String(opts.preset).trim() : "";
281
+ if ((fileRaw !== "") === (presetRaw !== "")) {
282
+ throw new Error("Specify exactly one of --file <path> or --preset <id>");
283
+ }
284
+ const manifest = presetRaw
285
+ ? await loadCataloxSeedManifestFromPath(resolveCataloxSeedPresetPath(presetRaw))
286
+ : await loadCataloxSeedManifestFromPath(fileRaw);
287
+ await writeOrStdout(JSON.stringify({
288
+ ok: true,
289
+ presetVersion: manifest.presetVersion,
290
+ id: manifest.id ?? null,
291
+ name: manifest.name ?? null,
292
+ counts: {
293
+ catalogs: manifest.catalogs.length,
294
+ descriptors: manifest.descriptors?.length ?? 0,
295
+ bindings: manifest.bindings?.length ?? 0,
296
+ items: manifest.items?.length ?? 0,
297
+ },
298
+ }, null, 2));
299
+ });
300
+ const itemsCmd = program.command("items").description("Catalog items: validate, list, CRUD, batch upsert, export (native + mapped read paths)");
301
+ itemsCmd
302
+ .command("validate")
303
+ .description("validateCatalog (catalog) and/or validateCatalogItem (relations vs descriptor)")
304
+ .requiredOption("--app <appId>", "AppId context")
305
+ .option("--store <storeId>", "StoreId context (overrides CATALOX_STORE_ID)")
306
+ .requiredOption("--catalog <catalogId>", "Catalog id")
307
+ .option("--item <itemId>", "When set, validateCatalogItem; otherwise validateCatalog")
308
+ .option("--out <path>", "Write JSON to file instead of stdout")
309
+ .option("--god", "God mode (bypass binding checks where applicable)", false)
310
+ .action(async (opts) => {
311
+ const catalox = createCatalox();
312
+ const ctx = baseContext({ app: opts.app, store: opts.store, god: opts.god });
313
+ const catalogId = String(opts.catalog);
314
+ if (opts.item != null && String(opts.item).trim() !== "") {
315
+ const report = await catalox.validateCatalogItem(ctx, catalogId, String(opts.item).trim());
316
+ await writeOrStdout(JSON.stringify({ scope: "item", catalogId, itemId: String(opts.item).trim(), ...report }, null, 2), opts.out);
317
+ if (!report.isValid)
318
+ process.exitCode = 1;
319
+ return;
320
+ }
321
+ const report = await catalox.validateCatalog(ctx, catalogId);
322
+ await writeOrStdout(JSON.stringify({ scope: "catalog", catalogId, ...report }, null, 2), opts.out);
323
+ if (!report.isValid)
324
+ process.exitCode = 1;
325
+ });
326
+ itemsCmd
327
+ .command("get")
328
+ .description("getCatalogItem JSON (outcome: found | not_found | mapping_blocked)")
329
+ .requiredOption("--app <appId>", "AppId context")
330
+ .option("--store <storeId>", "StoreId context (overrides CATALOX_STORE_ID)")
331
+ .requiredOption("--catalog <catalogId>", "Catalog id")
332
+ .requiredOption("--item <itemId>", "Logical item id")
333
+ .option("--storage-doc-id <id>", "Native: target a specific physical storage doc id")
334
+ .option("--out <path>", "Write JSON to file instead of stdout")
335
+ .option("--god", "God mode", false)
336
+ .action(async (opts) => {
337
+ const catalox = createCatalox();
338
+ const ctx = baseContext({ app: opts.app, store: opts.store, god: opts.god });
339
+ const catalogId = String(opts.catalog);
340
+ const itemId = String(opts.item);
341
+ const storageDocId = opts.storageDocId != null && String(opts.storageDocId).trim() ? String(opts.storageDocId).trim() : undefined;
342
+ const got = await catalox.getCatalogItem(ctx, catalogId, itemId, {
343
+ ...(storageDocId ? { storageDocId } : {}),
344
+ });
345
+ await writeOrStdout(JSON.stringify(got, null, 2), opts.out);
346
+ if (got.outcome !== "found")
347
+ process.exitCode = 1;
348
+ });
349
+ itemsCmd
350
+ .command("list")
351
+ .description("listCatalogItemsWithOutcome (explicit outcome for scripts)")
352
+ .requiredOption("--app <appId>", "AppId context")
353
+ .option("--store <storeId>", "StoreId context (overrides CATALOX_STORE_ID)")
354
+ .requiredOption("--catalog <catalogId>", "Catalog id")
355
+ .option("--limit <n>", "Page size", (v) => Number(v), 50)
356
+ .option("--offset <n>", "Offset (native)", (v) => Number(v), 0)
357
+ .option("--cursor <token>", "Mapped catalogs: pass nextCursor from a prior response")
358
+ .option("--filter-json <json>", "JSON object merged into list filter (compact empty strings ignored by server)")
359
+ .option("--out <path>", "Write JSON to file instead of stdout")
360
+ .option("--god", "God mode", false)
361
+ .action(async (opts) => {
362
+ const catalox = createCatalox();
363
+ const ctx = baseContext({ app: opts.app, store: opts.store, god: opts.god });
364
+ const catalogId = String(opts.catalog);
365
+ let filter;
366
+ const fj = opts.filterJson != null ? String(opts.filterJson).trim() : "";
367
+ if (fj) {
368
+ const parsed = JSON.parse(fj);
369
+ if (parsed == null || typeof parsed !== "object" || Array.isArray(parsed)) {
370
+ throw new Error("--filter-json must be a JSON object");
371
+ }
372
+ filter = parsed;
373
+ }
374
+ const res = await catalox.listCatalogItemsWithOutcome(ctx, catalogId, {
375
+ limit: opts.limit,
376
+ offset: opts.offset,
377
+ ...(filter ? { filter } : {}),
378
+ ...(opts.cursor != null && String(opts.cursor).trim()
379
+ ? { cursor: String(opts.cursor).trim() }
380
+ : {}),
381
+ });
382
+ await writeOrStdout(JSON.stringify(res, null, 2), opts.out);
383
+ if (res.outcome !== "ok" && res.outcome !== "empty")
384
+ process.exitCode = 1;
385
+ });
386
+ itemsCmd
387
+ .command("upsert")
388
+ .description("upsertNativeCatalogItem: JSON body is item fields at top level, or { data, scope?, relations? }")
389
+ .requiredOption("--app <appId>", "AppId context")
390
+ .option("--store <storeId>", "StoreId context (overrides CATALOX_STORE_ID)")
391
+ .requiredOption("--catalog <catalogId>", "Native catalog id")
392
+ .option("--file <path>", "JSON file (otherwise read stdin)")
393
+ .option("--out <path>", "Write result JSON to file instead of stdout")
394
+ .option("--god", "God mode (non-global scope rows require super-admin)", false)
395
+ .action(async (opts) => {
396
+ const raw = await readUtf8FromFileOrStdin(opts.file != null ? String(opts.file).trim() : undefined);
397
+ const body = normalizeNativeUpsertBody(parseJsonObject(raw, "items upsert"));
398
+ const catalox = createCatalox();
399
+ const ctx = baseContext({ app: opts.app, store: opts.store, god: opts.god });
400
+ const item = await catalox.upsertNativeCatalogItem(ctx, String(opts.catalog), body);
401
+ await writeOrStdout(JSON.stringify(item, null, 2), opts.out);
402
+ });
403
+ itemsCmd
404
+ .command("patch")
405
+ .description("updateNativeCatalogItem: shallow-merge patch into existing item data (+ optional scope/relations)")
406
+ .requiredOption("--app <appId>", "AppId context")
407
+ .option("--store <storeId>", "StoreId context (overrides CATALOX_STORE_ID)")
408
+ .requiredOption("--catalog <catalogId>", "Native catalog id")
409
+ .requiredOption("--item <itemId>", "Logical item id")
410
+ .option("--file <path>", "JSON patch file (otherwise read stdin)")
411
+ .option("--storage-doc-id <id>", "Disambiguate physical row when multiple scopes share logical id")
412
+ .option("--out <path>", "Write result JSON to file instead of stdout")
413
+ .option("--god", "God mode", false)
414
+ .action(async (opts) => {
415
+ const raw = await readUtf8FromFileOrStdin(opts.file != null ? String(opts.file).trim() : undefined);
416
+ const patch = normalizeNativePatchBody(parseJsonObject(raw, "items patch"));
417
+ const catalox = createCatalox();
418
+ const ctx = baseContext({ app: opts.app, store: opts.store, god: opts.god });
419
+ const storageDocId = opts.storageDocId != null && String(opts.storageDocId).trim() ? String(opts.storageDocId).trim() : undefined;
420
+ const item = await catalox.updateNativeCatalogItem(ctx, String(opts.catalog), String(opts.item).trim(), patch, { ...(storageDocId ? { storageDocId } : {}) });
421
+ await writeOrStdout(JSON.stringify(item, null, 2), opts.out);
422
+ });
423
+ itemsCmd
424
+ .command("delete")
425
+ .description("deleteNativeCatalogItem (requires --confirm)")
426
+ .requiredOption("--app <appId>", "AppId context")
427
+ .option("--store <storeId>", "StoreId context (overrides CATALOX_STORE_ID)")
428
+ .requiredOption("--catalog <catalogId>", "Native catalog id")
429
+ .requiredOption("--item <itemId>", "Logical item id")
430
+ .option("--storage-doc-id <id>", "Target a specific physical storage doc id")
431
+ .option("--confirm", "Must pass --confirm to run", false)
432
+ .option("--god", "God mode", false)
433
+ .action(async (opts) => {
434
+ if (!opts.confirm) {
435
+ // eslint-disable-next-line no-console
436
+ console.error("Refusing to delete without --confirm");
437
+ process.exitCode = 1;
438
+ return;
439
+ }
440
+ const catalox = createCatalox();
441
+ const ctx = baseContext({ app: opts.app, store: opts.store, god: opts.god });
442
+ const storageDocId = opts.storageDocId != null && String(opts.storageDocId).trim() ? String(opts.storageDocId).trim() : undefined;
443
+ await catalox.deleteNativeCatalogItem(ctx, String(opts.catalog), String(opts.item).trim(), {
444
+ ...(storageDocId ? { storageDocId } : {}),
445
+ });
446
+ await writeOrStdout(JSON.stringify({ ok: true, catalogId: String(opts.catalog), itemId: String(opts.item).trim() }, null, 2));
447
+ });
448
+ itemsCmd
449
+ .command("batch-upsert")
450
+ .description("batchUpsertNativeCatalogItems: JSON array or NDJSON lines (≤450 rows per Firestore batch internally). Item shape matches items upsert.")
451
+ .requiredOption("--app <appId>", "AppId context")
452
+ .option("--store <storeId>", "StoreId context (overrides CATALOX_STORE_ID)")
453
+ .requiredOption("--catalog <catalogId>", "Native catalog id")
454
+ .option("--file <path>", "JSON array or NDJSON file (otherwise read stdin)")
455
+ .option("--god", "God mode (non-global scope rows require super-admin)", false)
456
+ .action(async (opts) => {
457
+ const raw = await readUtf8FromFileOrStdin(opts.file != null ? String(opts.file).trim() : undefined);
458
+ const rows = parseJsonArrayOrNdjson(raw, "items batch-upsert");
459
+ const catalox = createCatalox();
460
+ const ctx = baseContext({ app: opts.app, store: opts.store, god: opts.god });
461
+ await catalox.batchUpsertNativeCatalogItems(ctx, String(opts.catalog), rows);
462
+ await writeOrStdout(JSON.stringify({ ok: true, count: rows.length, catalogId: String(opts.catalog) }, null, 2));
463
+ });
464
+ itemsCmd
465
+ .command("export")
466
+ .description("Export one catalog's items to { catalogId, items } JSON (paginates nextCursor when present)")
467
+ .requiredOption("--app <appId>", "AppId context")
468
+ .option("--store <storeId>", "StoreId context (overrides CATALOX_STORE_ID)")
469
+ .requiredOption("--catalog <catalogId>", "Catalog id")
470
+ .option("--page-size <n>", "Per request", (v) => Number(v), 200)
471
+ .option("--max-total <n>", "Stop after this many items (safety cap)", (v) => Number(v), 10000)
472
+ .option("--pretty", "Pretty-print JSON", false)
473
+ .option("--out <path>", "Write JSON to file instead of stdout")
474
+ .option("--god", "God mode", false)
475
+ .action(async (opts) => {
476
+ const catalox = createCatalox();
477
+ const ctx = baseContext({ app: opts.app, store: opts.store, god: opts.god });
478
+ const catalogId = String(opts.catalog);
479
+ const pageSize = Math.max(1, Math.min(500, Number(opts.pageSize) || 200));
480
+ const maxTotal = Math.max(1, Number(opts.maxTotal) || 10000);
481
+ const items = [];
482
+ let offset = 0;
483
+ let cursor;
484
+ const indent = opts.pretty ? 2 : undefined;
485
+ for (;;) {
486
+ const page = await catalox.listCatalogItems(ctx, catalogId, {
487
+ limit: pageSize,
488
+ ...(cursor ? { cursor: cursor } : { offset }),
489
+ });
490
+ if (page.listOutcome === "mapping_blocked") {
491
+ await writeOrStdout(JSON.stringify({ catalogId, error: "mapping_blocked", issues: page.issues ?? [] }, null, indent), opts.out);
492
+ process.exitCode = 1;
493
+ return;
494
+ }
495
+ for (const it of page.items) {
496
+ items.push(it);
497
+ if (items.length >= maxTotal)
498
+ break;
499
+ }
500
+ if (items.length >= maxTotal)
501
+ break;
502
+ if (page.nextCursor) {
503
+ cursor = page.nextCursor;
504
+ offset = 0;
505
+ continue;
506
+ }
507
+ if (!page.items.length)
508
+ break;
509
+ if (page.items.length < pageSize)
510
+ break;
511
+ offset += page.items.length;
512
+ cursor = undefined;
513
+ }
514
+ const payload = {
515
+ catalogId,
516
+ exportedCount: items.length,
517
+ truncated: items.length >= maxTotal,
518
+ items,
519
+ };
520
+ await writeOrStdout(JSON.stringify(payload, null, indent), opts.out);
521
+ });
522
+ const itemsRelationCmd = itemsCmd.command("relation").description("Item↔item relations (catalogReferences)");
523
+ itemsRelationCmd
524
+ .command("upsert")
525
+ .description("Create or update one relation edge")
526
+ .requiredOption("--app <appId>", "AppId context")
527
+ .option("--store <storeId>", "StoreId context (overrides CATALOX_STORE_ID)")
528
+ .option("--file <path>", "JSON file (otherwise stdin): fromCatalogId, fromItemId, toCatalogId, toItemId, relationType, optional label/metadata")
529
+ .option("--god", "God mode", false)
530
+ .action(async (opts) => {
531
+ const raw = await readUtf8FromFileOrStdin(opts.file != null ? String(opts.file).trim() : undefined);
532
+ const input = parseJsonObject(raw, "items relation upsert");
533
+ const catalox = createCatalox();
534
+ const ctx = baseContext({ app: opts.app, store: opts.store, god: opts.god });
535
+ const res = await catalox.upsertCatalogItemRelation(ctx, input);
536
+ await writeOrStdout(JSON.stringify(res, null, 2));
537
+ });
538
+ itemsRelationCmd
539
+ .command("delete")
540
+ .description("Delete by referenceId or by endpoint tuple (fromCatalogId, fromItemId, toCatalogId, toItemId, relationType)")
541
+ .requiredOption("--app <appId>", "AppId context")
542
+ .option("--store <storeId>", "StoreId context (overrides CATALOX_STORE_ID)")
543
+ .option("--file <path>", "JSON file (otherwise stdin)")
544
+ .option("--god", "God mode", false)
545
+ .action(async (opts) => {
546
+ const raw = await readUtf8FromFileOrStdin(opts.file != null ? String(opts.file).trim() : undefined);
547
+ const input = parseJsonObject(raw, "items relation delete");
548
+ const catalox = createCatalox();
549
+ const ctx = baseContext({ app: opts.app, store: opts.store, god: opts.god });
550
+ await catalox.deleteCatalogItemRelation(ctx, input);
551
+ await writeOrStdout(JSON.stringify({ ok: true }, null, 2));
552
+ });
271
553
  const firestoreCmd = program
272
554
  .command("firestore")
273
555
  .description("Firestore backup (GCS), restore-from-GCS, native layout migration, and connectivity probe");
@@ -916,6 +1198,23 @@ toolboxCmd
916
1198
  }, { merge: true });
917
1199
  await writeOrStdout(JSON.stringify({ ok: true, bindingDocId, updatedAt: now }, null, 2));
918
1200
  });
1201
+ toolboxCmd
1202
+ .command("unbind-catalog")
1203
+ .description("Disable app↔catalog binding (sets catalogBindings status to disabled; same row id as ensure-binding)")
1204
+ .requiredOption("--app <appId>", "App id")
1205
+ .requiredOption("--catalog <catalogId>", "Catalog id")
1206
+ .option("--god", "Super-admin context: required when CLI context app is not the same as --app (see bindCatalogToApp / unbind rules)", false)
1207
+ .action(async (opts) => {
1208
+ const catalox = createCatalox();
1209
+ const appId = String(opts.app).trim();
1210
+ const ctx = baseContext({ app: appId, god: Boolean(opts.god) });
1211
+ await catalox.unbindCatalogFromApp(ctx, appId, String(opts.catalog).trim());
1212
+ await writeOrStdout(JSON.stringify({
1213
+ ok: true,
1214
+ bindingDocId: `${appId}:${String(opts.catalog).trim()}`,
1215
+ hint: "Binding row is disabled (not deleted). Re-enable with toolbox repair-binding --god ...",
1216
+ }, null, 2));
1217
+ });
919
1218
  program.parseAsync(process.argv).catch((err) => {
920
1219
  // eslint-disable-next-line no-console
921
1220
  console.error(err instanceof Error ? err.message : err);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Read entire stdin (for piping JSON) or a file when `filePath` is set.
3
+ */
4
+ export declare function readUtf8FromFileOrStdin(filePath?: string): Promise<string>;
5
+ export declare function parseJsonObject(raw: string, label: string): Record<string, unknown>;
6
+ /**
7
+ * Seed-style `{ data, scope?, relations? }` becomes native upsert input
8
+ * `{ ...dataFields, scope?, relations? }` as expected by {@link stripReservedWriteFields}.
9
+ */
10
+ export declare function normalizeNativeUpsertBody(o: Record<string, unknown>): Record<string, unknown>;
11
+ /** Same normalization for patch bodies that only touch `data`. */
12
+ export declare function normalizeNativePatchBody(o: Record<string, unknown>): Record<string, unknown>;
13
+ /**
14
+ * Parse one JSON array of objects, or NDJSON (one JSON object per line).
15
+ */
16
+ export declare function parseJsonArrayOrNdjson(raw: string, label: string): Array<Record<string, unknown>>;
17
+ //# sourceMappingURL=item-json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item-json.d.ts","sourceRoot":"","sources":["../../../src/cli/item-json.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAShF;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAcnF;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAY7F;AAED,kEAAkE;AAClE,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE5F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAoCjG"}
@@ -0,0 +1,97 @@
1
+ import { readFile } from "node:fs/promises";
2
+ /**
3
+ * Read entire stdin (for piping JSON) or a file when `filePath` is set.
4
+ */
5
+ export async function readUtf8FromFileOrStdin(filePath) {
6
+ if (filePath != null && String(filePath).trim() !== "") {
7
+ return readFile(String(filePath).trim(), "utf8");
8
+ }
9
+ const chunks = [];
10
+ for await (const chunk of process.stdin) {
11
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(String(chunk)));
12
+ }
13
+ return Buffer.concat(chunks).toString("utf8");
14
+ }
15
+ export function parseJsonObject(raw, label) {
16
+ const trimmed = raw.trim();
17
+ if (!trimmed)
18
+ throw new Error(`${label}: empty input (pass --file or pipe JSON)`);
19
+ let parsed;
20
+ try {
21
+ parsed = JSON.parse(trimmed);
22
+ }
23
+ catch (e) {
24
+ const msg = e instanceof Error ? e.message : String(e);
25
+ throw new Error(`${label}: invalid JSON: ${msg}`);
26
+ }
27
+ if (parsed == null || typeof parsed !== "object" || Array.isArray(parsed)) {
28
+ throw new Error(`${label}: expected a JSON object`);
29
+ }
30
+ return parsed;
31
+ }
32
+ /**
33
+ * Seed-style `{ data, scope?, relations? }` becomes native upsert input
34
+ * `{ ...dataFields, scope?, relations? }` as expected by {@link stripReservedWriteFields}.
35
+ */
36
+ export function normalizeNativeUpsertBody(o) {
37
+ const { data, scope, relations, indexed, references } = o;
38
+ if (data != null && typeof data === "object" && !Array.isArray(data)) {
39
+ return {
40
+ ...data,
41
+ ...(scope !== undefined ? { scope } : {}),
42
+ ...(relations !== undefined ? { relations } : {}),
43
+ ...(indexed !== undefined ? { indexed } : {}),
44
+ ...(references !== undefined ? { references } : {}),
45
+ };
46
+ }
47
+ return o;
48
+ }
49
+ /** Same normalization for patch bodies that only touch `data`. */
50
+ export function normalizeNativePatchBody(o) {
51
+ return normalizeNativeUpsertBody(o);
52
+ }
53
+ /**
54
+ * Parse one JSON array of objects, or NDJSON (one JSON object per line).
55
+ */
56
+ export function parseJsonArrayOrNdjson(raw, label) {
57
+ const trimmed = raw.trim();
58
+ if (!trimmed)
59
+ throw new Error(`${label}: empty input`);
60
+ if (trimmed.startsWith("[")) {
61
+ let parsed;
62
+ try {
63
+ parsed = JSON.parse(trimmed);
64
+ }
65
+ catch (e) {
66
+ const msg = e instanceof Error ? e.message : String(e);
67
+ throw new Error(`${label}: invalid JSON array: ${msg}`);
68
+ }
69
+ if (!Array.isArray(parsed))
70
+ throw new Error(`${label}: expected a JSON array`);
71
+ return parsed.map((row, i) => {
72
+ if (row == null || typeof row !== "object" || Array.isArray(row)) {
73
+ throw new Error(`${label}: array element ${i} must be an object`);
74
+ }
75
+ return normalizeNativeUpsertBody(row);
76
+ });
77
+ }
78
+ const lines = trimmed.split(/\r?\n/).filter((l) => l.trim() !== "");
79
+ const out = [];
80
+ for (let i = 0; i < lines.length; i++) {
81
+ const line = lines[i];
82
+ let parsed;
83
+ try {
84
+ parsed = JSON.parse(line);
85
+ }
86
+ catch (e) {
87
+ const msg = e instanceof Error ? e.message : String(e);
88
+ throw new Error(`${label}: line ${i + 1}: invalid JSON: ${msg}`);
89
+ }
90
+ if (parsed == null || typeof parsed !== "object" || Array.isArray(parsed)) {
91
+ throw new Error(`${label}: line ${i + 1}: expected a JSON object`);
92
+ }
93
+ out.push(normalizeNativeUpsertBody(parsed));
94
+ }
95
+ return out;
96
+ }
97
+ //# sourceMappingURL=item-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item-json.js","sourceRoot":"","sources":["../../../src/cli/item-json.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ # `catalox items` — catalog item operators
2
+
3
+ Operator-focused commands over the same [`Catalox`](../src/catalox/catalox.ts) APIs your app uses. Environment matches other CLIs (see [`docs/environment.md`](environment.md)): `FIREBASE_PROJECT_ID`, credentials, optional `CATALOX_STORE_ID`, **`CATALOX_APP_ID`** (or pass `--app` per command), optional `CATALOX_USER_ID` for actor attribution.
4
+
5
+ Connectivity smoke test:
6
+
7
+ ```bash
8
+ catalox firestore probe
9
+ ```
10
+
11
+ ## Auth and binding
12
+
13
+ - Reads (`get`, `list`, `export`, `validate` with item) require a **read** binding for `--app` + catalog.
14
+ - Writes (`upsert`, `patch`, `delete`, `batch-upsert`, `relation upsert/delete`) require **write** access where the underlying API enforces it.
15
+ - **`--god`** sets `superAdmin` on the Catalox context (inventory-style bypass where the library allows it; **non-global native scopes still require super-admin** per `assertSuperAdminForNonGlobalScope`).
16
+ - **`--store <storeId>`** overrides `CATALOX_STORE_ID` when your deployment is store-scoped.
17
+
18
+ ## JSON body shapes (`upsert`, `patch`, `relation`)
19
+
20
+ Native upsert/patch accept the same logical shape as seed manifest rows:
21
+
22
+ - **Preferred (matches `seed` `items[]`):** `{ "data": { /* identity + fields */ }, "scope": { ... }, "relations": [ ... ] }` — the CLI flattens this to what [`stripReservedWriteFields`](../src/catalox/catalox.ts) expects.
23
+ - **Alternate:** put catalog field keys at the **top level** together with optional `scope`, `relations`, `indexed`, `references`.
24
+
25
+ `items relation upsert` / `delete` expect JSON matching [`UpsertCatalogItemRelationInput` / `DeleteCatalogItemRelationInput`](../src/contracts/inputs.ts) (see also `items relation delete` for `referenceId` form).
26
+
27
+ ## Commands
28
+
29
+ | Command | Purpose |
30
+ |--------|---------|
31
+ | `items validate` | `validateCatalog` (catalog-wide; currently a stub that reports valid) or `validateCatalogItem` when `--item` is set (relation rules vs descriptor). Exit **1** when item validation fails. |
32
+ | `items get` | `getCatalogItem`. Exit **1** if `not_found` or `mapping_blocked`. |
33
+ | `items list` | `listCatalogItemsWithOutcome`. Exit **1** unless outcome is `ok` or `empty`. Optional `--filter-json`, `--cursor` (mapped API catalogs). |
34
+ | `items upsert` | `upsertNativeCatalogItem`. Body from `--file` or **stdin**. |
35
+ | `items patch` | `updateNativeCatalogItem`. Requires `--item`. |
36
+ | `items delete` | `deleteNativeCatalogItem`. Requires **`--confirm`**. |
37
+ | `items batch-upsert` | `batchUpsertNativeCatalogItems`. Input is a **JSON array** or **NDJSON** (one object per line). Firestore batches internally in chunks of 450 writes. |
38
+ | `items export` | Stable `{ catalogId, exportedCount, truncated, items }` JSON. Paginates with **`nextCursor`** when the mapped API adapter returns it; otherwise uses **`offset`** (native + mongo). Cap with `--max-total` (default 10000). |
39
+
40
+ ### Examples
41
+
42
+ Validate relation rules for one item:
43
+
44
+ ```bash
45
+ catalox items validate --app my-app --catalog entities --item some-id
46
+ ```
47
+
48
+ Upsert from a file:
49
+
50
+ ```bash
51
+ catalox items upsert --app my-app --catalog entities --file ./row.json
52
+ ```
53
+
54
+ Batch from NDJSON:
55
+
56
+ ```bash
57
+ catalox items batch-upsert --app my-app --catalog entities --file ./rows.ndjson
58
+ ```
59
+
60
+ Export (pretty-printed):
61
+
62
+ ```bash
63
+ catalox items export --app my-app --catalog entities --pretty --out entities-items.json
64
+ ```
65
+
66
+ ## `catalox seed validate`
67
+
68
+ Parse and AJV-validate a manifest the same way `seed apply` loads it (`--file` or `--preset`). **No Firestore writes.** Prints counts and exits **0** on success.
69
+
70
+ ```bash
71
+ catalox seed validate --preset builtin:native-map-v1
72
+ ```
73
+
74
+ ## When to use `seed apply` vs `items batch-upsert`
75
+
76
+ - **`seed apply`** — one manifest: create catalogs if missing, optional descriptors/bindings, then items. Idempotent catalog **creation** path.
77
+ - **`items batch-upsert`** — fast native-only bulk upsert for an **existing** catalog with descriptor already present; no binding/catalog provisioning.
78
+
79
+ ## `catalox export` vs `items export`
80
+
81
+ - **`catalox export`** ([`src/cli/index.ts`](../src/cli/index.ts)) — Multi-catalog **inventory** JSON across resolved app(s), optional `--include-items` with `--limit-per-catalog`, optional `--no-item-data`. Best for broad snapshots and reports.
82
+ - **`catalox items export`** — One **`--catalog`**, stable `{ catalogId, items }` shape, deeper pagination (`--max-total`, `--page-size`). Best for round-tripping or re-processing a single catalog’s rows.
83
+
84
+ ## Related
85
+
86
+ - [`docs/cli-toolbox.md`](cli-toolbox.md) — `check-access`, `ensure-binding`, `repair-binding`, **`unbind-catalog`**.
87
+ - [`docs/onboarding-happy-path.md`](onboarding-happy-path.md) — seed presets including bindings.
88
+
89
+ ## Smoke checklist (manual)
90
+
91
+ 1. `catalox seed validate --preset builtin:native-map-v1` → `ok: true`.
92
+ 2. `catalox items list --app <app> --catalog <id> --limit 5` → outcome `ok` or `empty`.
93
+ 3. `catalox items export --app <app> --catalog <id> --max-total 20 --pretty` → JSON with `items` array.
@@ -132,6 +132,23 @@ Optional:
132
132
 
133
133
  Then verify with **`check-access`** again.
134
134
 
135
+ ## `toolbox unbind-catalog`
136
+
137
+ **Purpose:** Call Catalox **`unbindCatalogFromApp`**, which **disables** the binding at `catalogBindings/{appId:catalogId}` (`status: "disabled"`) rather than deleting the document. The app stops receiving read/write access until the row is repaired or re-bound.
138
+
139
+ ### Usage
140
+
141
+ ```bash
142
+ catalox toolbox unbind-catalog --app <appId> --catalog <catalogId>
143
+ ```
144
+
145
+ Use **`--god`** when your CLI context (typically `CATALOX_APP_ID`) is not the same as **`--app`** and the library requires super-admin for cross-app operations (same mental model as `ensure-binding`).
146
+
147
+ ### After `unbind-catalog`
148
+
149
+ - Re-run **`toolbox check-access`** — expect `bindingDocExists: true` with `status: "disabled"` or list outcome **denied**, depending on how your host reads bindings.
150
+ - To restore access without re-seeding: **`toolbox repair-binding --god`** (sets `active` and access flags).
151
+
135
152
  ## How this differs from `report` / `export --god`
136
153
 
137
154
  | Tool | Binding checks |
@@ -146,3 +163,4 @@ Then verify with **`check-access`** again.
146
163
  - [`docs/outcomes.md`](outcomes.md) — `listCatalogItemsWithOutcome` outcomes.
147
164
  - [`docs/onboarding-happy-path.md`](onboarding-happy-path.md) — seed presets that include catalogs and bindings.
148
165
  - [`docs/spec.md`](spec.md) §13 — app↔catalog binding model.
166
+ - [`docs/cli-items.md`](cli-items.md) — per-item CRUD, batch upsert, `seed validate`, and relation subcommands.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@x12i/catalox",
3
- "version": "4.0.4",
3
+ "version": "4.1.2",
4
4
  "description": "Platform infrastructure for reusable, interoperable catalogs across apps and data sources.",
5
5
  "license": "MIT",
6
6
  "private": false,
@@ -50,6 +50,7 @@
50
50
  "files": [
51
51
  "dist",
52
52
  "docs/catalox-ui-contract.md",
53
+ "docs/cli-items.md",
53
54
  "docs/cli-toolbox.md",
54
55
  "presets",
55
56
  "README.md",