@x12i/catalox 3.4.0 → 3.4.6

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 (45) hide show
  1. package/README.md +69 -2
  2. package/dist/src/adapters/api/api-adapter.d.ts.map +1 -1
  3. package/dist/src/adapters/api/api-adapter.js +3 -0
  4. package/dist/src/adapters/api/api-adapter.js.map +1 -1
  5. package/dist/src/adapters/mongo/mongo-adapter.d.ts.map +1 -1
  6. package/dist/src/adapters/mongo/mongo-adapter.js +3 -0
  7. package/dist/src/adapters/mongo/mongo-adapter.js.map +1 -1
  8. package/dist/src/catalox/ai-functions-loader.d.ts +6 -0
  9. package/dist/src/catalox/ai-functions-loader.d.ts.map +1 -0
  10. package/dist/src/catalox/ai-functions-loader.js +19 -0
  11. package/dist/src/catalox/ai-functions-loader.js.map +1 -0
  12. package/dist/src/catalox/catalog-discovery.d.ts +32 -0
  13. package/dist/src/catalox/catalog-discovery.d.ts.map +1 -0
  14. package/dist/src/catalox/catalog-discovery.js +150 -0
  15. package/dist/src/catalox/catalog-discovery.js.map +1 -0
  16. package/dist/src/catalox/catalog-lifecycle.d.ts.map +1 -1
  17. package/dist/src/catalox/catalog-lifecycle.js +15 -0
  18. package/dist/src/catalox/catalog-lifecycle.js.map +1 -1
  19. package/dist/src/catalox/catalox-bound.d.ts +8 -1
  20. package/dist/src/catalox/catalox-bound.d.ts.map +1 -1
  21. package/dist/src/catalox/catalox-bound.js +21 -0
  22. package/dist/src/catalox/catalox-bound.js.map +1 -1
  23. package/dist/src/catalox/catalox.d.ts +13 -1
  24. package/dist/src/catalox/catalox.d.ts.map +1 -1
  25. package/dist/src/catalox/catalox.js +329 -37
  26. package/dist/src/catalox/catalox.js.map +1 -1
  27. package/dist/src/contracts/context.d.ts +8 -1
  28. package/dist/src/contracts/context.d.ts.map +1 -1
  29. package/dist/src/contracts/descriptor-rules.d.ts +76 -0
  30. package/dist/src/contracts/descriptor-rules.d.ts.map +1 -0
  31. package/dist/src/contracts/descriptor-rules.js +2 -0
  32. package/dist/src/contracts/descriptor-rules.js.map +1 -0
  33. package/dist/src/contracts/descriptors.d.ts +5 -0
  34. package/dist/src/contracts/descriptors.d.ts.map +1 -1
  35. package/dist/src/contracts/discovery.d.ts +70 -0
  36. package/dist/src/contracts/discovery.d.ts.map +1 -1
  37. package/dist/src/contracts/index.d.ts +3 -1
  38. package/dist/src/contracts/index.d.ts.map +1 -1
  39. package/dist/src/contracts/index.js.map +1 -1
  40. package/dist/src/contracts/search.d.ts +127 -0
  41. package/dist/src/contracts/search.d.ts.map +1 -0
  42. package/dist/src/contracts/search.js +2 -0
  43. package/dist/src/contracts/search.js.map +1 -0
  44. package/docs/catalox-ui-contract.md +6 -1
  45. package/package.json +2 -1
package/README.md CHANGED
@@ -3,9 +3,13 @@
3
3
  Catalox is a **data-tier** package for managing **app-scoped catalogs** in Firebase **Firestore**, including:
4
4
 
5
5
  - **Catalog discovery** for an `appId` (what catalogs are available + access)
6
+ - **App-agnostic catalog discovery** (list all catalogs, text search, AI match by name/description; respects descriptor visibility)
6
7
  - **First-class catalog descriptors** (capabilities, query metadata, identity metadata, field metadata)
8
+ - **Descriptor creation/modification rules** (optional governance blocks for AI-assisted create/modify)
7
9
  - **Native catalogs** (items stored in Firestore)
8
10
  - **Mapped catalogs** (items normalized from MongoDB or APIs)
11
+ - **Catalog item search** (within a catalog: text search + AI match)
12
+ - **AI-assisted item create/modify** (calls `aifunctions-js` `createItem` / `modifyItem`; optional `autoPersist` for native catalogs)
9
13
  - **References + validation contracts** (standardized cross-catalog shapes)
10
14
  - **Seed/import/export + batch upsert** workflows for native catalogs
11
15
  - **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))
@@ -180,7 +184,7 @@ Backups (optional operator feature):
180
184
 
181
185
  See [`docs/backup.md`](docs/backup.md) for `backupData` / CLI backup (including **`mode: "gcs"`**), [`docs/restore-firestore-backup.md`](docs/restore-firestore-backup.md) for restoring Firebase mirrors to live data with undo, [`docs/migration-native-catalog-data.md`](docs/migration-native-catalog-data.md) for moving legacy native rows into `catalogData-{catalogId}-items`, and [`docs/firestore-native-layout-vs-backup.md`](docs/firestore-native-layout-vs-backup.md) for how live paths differ from `backup-*` mirrors and what `backupData` reports in `nativeItemSourceLayoutByCatalogId`. Gap analysis for GCS backup vs restore: [`.reports/gcs-backup-gap-analysis.md`](.reports/gcs-backup-gap-analysis.md). For **how native storage, layout resolution, `listCatalogItems`, and filters work together**, read [`docs/native-catalog-storage-and-api.md`](docs/native-catalog-storage-and-api.md). For **NDJSON export/import of Firestore collections to a GCS bucket** (single collection, all roots, optional recursive subcollections, manifest restore) and **compare live data vs bucket NDJSON** (`firestore compare-gcs`), see [`docs/firestore-gcs-export.md`](docs/firestore-gcs-export.md) and CLI `firestore export-gcs` / `firestore import-gcs` / `firestore compare-gcs`. If the console still shows **`catalogData/{catalogId}/items`**, run **`catalox firestore report-native-layout`** then **`catalox firestore migrate-native-catalog-data`** (backup + copy to flat; optional `--delete-legacy` after you trust backups).
182
186
 
183
- ## Core usage (generic from `appId`)
187
+ ## Core usage (app-first, generic from `appId`)
184
188
 
185
189
  ### Create `Catalox` (recommended)
186
190
 
@@ -197,12 +201,26 @@ const catalox = createCatalox({
197
201
  // recordHistory: { gcsBucket: "my-bucket", gcsPrefix: "catalox-record-history/" },
198
202
  });
199
203
 
200
- // Optional: bind app/tenant context once (no globals; same semantics as passing context each call).
204
+ // Optional: bind context once (no globals; same semantics as passing context each call).
205
+ // App-first (classic):
201
206
  const scoped = catalox.withContext({ appId: "myApp" });
202
207
  const list = await scoped.listCatalogItems("myCatalog", { limit: 50 });
203
208
  // list.listOutcome is "ok" | "mapping_blocked"; empty items with "ok" means zero rows.
204
209
  ```
205
210
 
211
+ ### CatalogId-first usage (no `appId` required)
212
+
213
+ If you already have a `catalogId` (deep link/bookmark/operator tool), you can omit `appId` **for catalog-specific operations**.
214
+ Catalox will infer an `appId` from active `catalogBindings` when there is exactly one viable binding (or allow omission when `superAdmin: true`).
215
+
216
+ ```ts
217
+ const ctx = {}; // tenant/agent coords optional
218
+ const items = await catalox.listCatalogItems(ctx, "signals", { limit: 50 });
219
+ const descriptor = await catalox.getCatalogDescriptor(ctx, "signals");
220
+ ```
221
+
222
+ App-first discovery/bootstrap APIs (e.g. `listAppCatalogs`, `getAppCatalogBootstrap`) still require an explicit `appId`.
223
+
206
224
  ### Advanced: manual `CataloxDependencies`
207
225
 
208
226
  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`).
@@ -296,6 +314,9 @@ export type CatalogDescriptor = {
296
314
  */
297
315
  customRenderer?: Record<string, unknown>;
298
316
  identity: CatalogIdentityDescriptor;
317
+ // Optional governance for AI-assisted create/modify:
318
+ creationRules?: Record<string, unknown>;
319
+ modificationRules?: Record<string, unknown>;
299
320
  metadata?: Record<string, unknown>;
300
321
  };
301
322
  ```
@@ -322,6 +343,35 @@ Custom renderer contracts:
322
343
 
323
344
  Important: host presentation layers are responsible for resolving `FieldSource` lookups (cross-catalog enums/refs) and populating `resolvedSources` for renderers.
324
345
 
346
+ ### Search items inside a catalog (text / AI)
347
+
348
+ Text search is local filtering on top of a normal `listCatalogItems` call; AI matching uses `aifunctions-js` `match()` over the candidate pool.
349
+
350
+ ```ts
351
+ const ctx = { appId: "myAppId" };
352
+
353
+ const text = await catalox.searchCatalogItems(ctx, "signals", { text: "error", textFields: ["title", "details.message"] });
354
+ const ai = await catalox.findCatalogItemsByAi(ctx, "signals", { query: "the onboarding flow item", maxResults: 3 });
355
+ ```
356
+
357
+ ### AI-assisted item create / modify (native catalogs)
358
+
359
+ These methods call `aifunctions-js` and return a structured envelope (`issues`, `reason`, etc.). When `autoPersist: true`, they persist via `upsertNativeCatalogItem` / `updateNativeCatalogItem` **only for native catalogs**.
360
+
361
+ ```ts
362
+ const ctx = { appId: "myAppId" };
363
+
364
+ const created = await catalox.createCatalogItemByAi(ctx, "signals", {
365
+ provided: { title: "New signal", categoryId: "core" },
366
+ autoPersist: false,
367
+ });
368
+
369
+ const updated = await catalox.modifyCatalogItemByAi(ctx, "signals", "core:S1", {
370
+ patch: { title: "Renamed" },
371
+ autoPersist: false,
372
+ });
373
+ ```
374
+
325
375
  #### Stored renderer snippets (optional)
326
376
 
327
377
  Descriptors reference snippets via **`customRenderer.renderers[].snippetRef`**.
@@ -361,6 +411,18 @@ const context = { appId: "myAppId" };
361
411
  const catalogs = await catalox.listAppCatalogs(context, { appId: "myAppId" });
362
412
  ```
363
413
 
414
+ ### Discover catalogs across all apps (app-agnostic)
415
+
416
+ These APIs return the **catalog lists themselves** (metadata), not items. They merge `catalogs/{catalogId}` with `catalogDescriptors/{catalogId}` and apply visibility filtering (hidden catalogs are excluded unless `context.superAdmin` or `includeHidden: true`).
417
+
418
+ ```ts
419
+ const ctx = { appId: "myAppId", superAdmin: true };
420
+
421
+ const all = await catalox.listAllCatalogs(ctx, { includeDisabled: false });
422
+ const hits = await catalox.findCatalogs(ctx, { text: "users", fields: ["label", "description"] });
423
+ const ai = await catalox.findCatalogsByAi(ctx, { query: "customer lists", maxResults: 5 });
424
+ ```
425
+
364
426
  ### Get a catalog descriptor
365
427
 
366
428
  ```ts
@@ -540,6 +602,11 @@ Integration tests are **live-only** (no mocks, no emulators). They require:
540
602
  - `FIREBASE_SERVICE_ACCOUNT_PATH=...`
541
603
  - `FIREBASE_PROJECT_ID=...`
542
604
 
605
+ AI live integration tests (real LLM calls) are additionally gated behind:
606
+
607
+ - `AIFUNCTIONS_LIVE_TESTS=1`
608
+ - `OPENROUTER_API_KEY` or `OPEN_ROUTER_KEY`
609
+
543
610
  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. The descriptor patch in that test includes **`queryableFields` with `indexed: true`** for filtered fields so **`deriveIndexed`** persists **`indexed.*`** (see **Canonical `indexed` rule** above).
544
611
 
545
612
  When **`CATALOX_RECORD_HISTORY_BUCKET`** is set, **`test/integration/record-history.live.test.ts`** runs as well: ephemeral app/catalog, **`upsert` → `update` → `listCatalogItemHistory` → `getCatalogItemHistoryEvent` → `restoreCatalogItemFromHistory`**, then best-effort Firestore + GCS cleanup for the created history objects.
@@ -1 +1 @@
1
- {"version":3,"file":"api-adapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/api/api-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAGpG,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B,CAAC;AAYF,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,GAAE,iBAAsB;IAEtD,SAAS,CACb,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE;QAAE,eAAe,EAAE,uBAAuB,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,uBAAuB,CAAA;KAAE,EAC1F,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC;QAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,6BAA6B,EAAE,mBAAmB,EAAE,CAAA;KAAE,CAAC;CAgDvI"}
1
+ {"version":3,"file":"api-adapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/api/api-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAIpG,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B,CAAC;AAYF,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,GAAE,iBAAsB;IAEtD,SAAS,CACb,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE;QAAE,eAAe,EAAE,uBAAuB,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,uBAAuB,CAAA;KAAE,EAC1F,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC;QAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,6BAA6B,EAAE,mBAAmB,EAAE,CAAA;KAAE,CAAC;CAiDvI"}
@@ -1,3 +1,4 @@
1
+ import { CatalogBindingError } from "../../contracts/errors.js";
1
2
  import { executeMapping } from "../../mapping/execute-mapping.js";
2
3
  function deepGetFallback(obj, path) {
3
4
  const parts = path.split(".").map((p) => p.trim()).filter(Boolean);
@@ -18,6 +19,8 @@ export class ApiCatalogAdapter {
18
19
  const fetchImpl = this.runtime.fetchImpl ?? fetch;
19
20
  if (!config.endpoint)
20
21
  throw new Error("API adapter missing endpoint.");
22
+ if (!context.appId)
23
+ throw new CatalogBindingError({ reason: "missing_appId", message: "API adapter requires context.appId." });
21
24
  const url = new URL(config.endpoint);
22
25
  if (options?.limit != null)
23
26
  url.searchParams.set("limit", String(options.limit));
@@ -1 +1 @@
1
- {"version":3,"file":"api-adapter.js","sourceRoot":"","sources":["../../../../src/adapters/api/api-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-adapter.js","sourceRoot":"","sources":["../../../../src/adapters/api/api-adapter.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAMlE,SAAS,eAAe,CAAC,GAAQ,EAAE,IAAY;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnE,IAAI,GAAG,GAAQ,GAAG,CAAC;IACnB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,GAAG,IAAI,IAAI;YAAE,OAAO,SAAS,CAAC;QAClC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACf,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,OAAO,iBAAiB;IACC;IAA7B,YAA6B,UAA6B,EAAE;QAA/B,YAAO,GAAP,OAAO,CAAwB;IAAG,CAAC;IAEhE,KAAK,CAAC,SAAS,CACb,OAAuB,EACvB,SAAoB,EACpB,MAA+B,EAC/B,OAA0F,EAC1F,OAA6B;QAE7B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACvE,IAAI,CAAC,OAAO,CAAC,KAAK;YAAE,MAAM,IAAI,mBAAmB,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC,CAAC;QAE/H,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,OAAO,EAAE,KAAK,IAAI,IAAI;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,IAAI,OAAO,EAAE,MAAM,IAAI,IAAI;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAEpF,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAQ,CAAC;QAEvC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC;QAC/C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAEpD,MAAM,GAAG,GAAyB,EAAE,CAAC;QACrC,MAAM,MAAM,GAAgE,EAAE,CAAC;QAE/E,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,GAA8B,CAAC;YAC9C,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAChF,IAAI,MAAM,CAAC,MAAM;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAEjD,MAAM,MAAM,GACV,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAEzF,GAAG,CAAC,IAAI,CAAC;gBACP,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;gBAChE,SAAS;gBACT,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,QAAQ;gBACpB,UAAU,EAAE,KAAK;gBACjB,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;gBACxC,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC;QACzD,MAAM,UAAU,GACd,cAAc,CAAC,CAAC,CAAE,eAAe,CAAC,IAAI,EAAE,cAAc,CAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,OAAO;YACL,KAAK,EAAE,GAAG;YACV,GAAG,CAAC,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrC,CAAC;IACJ,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"mongo-adapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mongo/mongo-adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAI3E,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,mBAAmB;IAEnD,SAAS,CACb,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,yBAAyB,EACjC,OAAO,EAAE;QAAE,OAAO,EAAE,OAAO,6BAA6B,EAAE,uBAAuB,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,uBAAuB,CAAA;KAAE,EACxH,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC;QAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,6BAA6B,EAAE,mBAAmB,EAAE,CAAA;KAAE,CAAC;CAyDlH"}
1
+ {"version":3,"file":"mongo-adapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mongo/mongo-adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAK3E,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,mBAAmB;IAEnD,SAAS,CACb,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,yBAAyB,EACjC,OAAO,EAAE;QAAE,OAAO,EAAE,OAAO,6BAA6B,EAAE,uBAAuB,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,uBAAuB,CAAA;KAAE,EACxH,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC;QAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,6BAA6B,EAAE,mBAAmB,EAAE,CAAA;KAAE,CAAC;CA0DlH"}
@@ -1,4 +1,5 @@
1
1
  import { MongoClient } from "mongodb";
2
+ import { CatalogBindingError } from "../../contracts/errors.js";
2
3
  import { executeMapping } from "../../mapping/execute-mapping.js";
3
4
  import { resolveMongoDbName } from "./resolve-db.js";
4
5
  export class MongoCatalogAdapter {
@@ -7,6 +8,8 @@ export class MongoCatalogAdapter {
7
8
  this.runtime = runtime;
8
9
  }
9
10
  async listItems(context, catalogId, config, mapping, options) {
11
+ if (!context.appId)
12
+ throw new CatalogBindingError({ reason: "missing_appId", message: "Mongo adapter requires context.appId." });
10
13
  const client = new MongoClient(this.runtime.mongoUri);
11
14
  await client.connect();
12
15
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"mongo-adapter.js","sourceRoot":"","sources":["../../../../src/adapters/mongo/mongo-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongo-adapter.js","sourceRoot":"","sources":["../../../../src/adapters/mongo/mongo-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAQtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAMrD,MAAM,OAAO,mBAAmB;IACD;IAA7B,YAA6B,OAA4B;QAA5B,YAAO,GAAP,OAAO,CAAqB;IAAG,CAAC;IAE7D,KAAK,CAAC,SAAS,CACb,OAAuB,EACvB,SAAoB,EACpB,MAAiC,EACjC,OAAwH,EACxH,OAA6B;QAE7B,IAAI,CAAC,OAAO,CAAC,KAAK;YAAE,MAAM,IAAI,mBAAmB,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC,CAAC;QACjI,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,MAAM,GACV,MAAM,CAAC,kBAAkB,CAAC,IAAI,KAAK,QAAQ;gBACzC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;gBAC7D,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAEnE,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YAC7B,MAAM,IAAI,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAE9C,MAAM,MAAM,GAAG;gBACb,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,EAAE,CAAC;gBACvC,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC;aACA,CAAC;YAE7B,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,MAAM,CAAC,aAAa,EAAE,IAAI,IAAI,EAAE,CAA2B,CAAC;YAE3F,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,GAAG,CAAC;YACpC,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;YAElC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpE,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAe,CAAC;YAEpD,MAAM,KAAK,GAAyB,EAAE,CAAC;YACvC,MAAM,MAAM,GAAgE,EAAE,CAAC;YAE/E,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,GAAyC,CAAC;gBACzD,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBACxE,IAAI,MAAM,CAAC,MAAM;oBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gBAEjD,MAAM,MAAM,GACV,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAE,MAAc,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC1E,MAAM,CAAE,GAAW,CAAC,GAAG,CAAC,CAAC;gBAE3B,KAAK,CAAC,IAAI,CAAC;oBACT,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;oBACtB,SAAS;oBACT,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,UAAU,EAAE,QAAQ;oBACpB,UAAU,EAAE,OAAO;oBACnB,SAAS,EAAE;wBACT,QAAQ,EAAE,MAAM;wBAChB,UAAU,EAAE,MAAM,CAAC,UAAU;wBAC7B,cAAc,EAAE,MAAM,CAAE,GAAW,CAAC,GAAG,CAAC;qBACzC;oBACD,IAAI,EAAE,MAAM,CAAC,IAAI;iBAClB,CAAC,CAAC;YACL,CAAC;YAED,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QACvD,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ type AiFunctionsModule = typeof import("aifunctions-js/functions");
2
+ export declare function loadAiFunctions(): Promise<AiFunctionsModule>;
3
+ /** @internal Test hook: inject or clear the cached ai-functions module. */
4
+ export declare function __setAiFunctionsForTest(mod: AiFunctionsModule | null): void;
5
+ export {};
6
+ //# sourceMappingURL=ai-functions-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-functions-loader.d.ts","sourceRoot":"","sources":["../../../src/catalox/ai-functions-loader.ts"],"names":[],"mappings":"AAEA,KAAK,iBAAiB,GAAG,cAAc,0BAA0B,CAAC,CAAC;AAInE,wBAAsB,eAAe,IAAI,OAAO,CAAC,iBAAiB,CAAC,CASlE;AAED,2EAA2E;AAC3E,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,QAEpE"}
@@ -0,0 +1,19 @@
1
+ import { CatalogAdapterError } from "../contracts/errors.js";
2
+ let cached = null;
3
+ export async function loadAiFunctions() {
4
+ if (cached)
5
+ return cached;
6
+ try {
7
+ cached = await import("aifunctions-js/functions");
8
+ return cached;
9
+ }
10
+ catch (err) {
11
+ const message = err instanceof Error ? err.message : String(err);
12
+ throw new CatalogAdapterError({ reason: "ai_functions_unavailable", message });
13
+ }
14
+ }
15
+ /** @internal Test hook: inject or clear the cached ai-functions module. */
16
+ export function __setAiFunctionsForTest(mod) {
17
+ cached = mod;
18
+ }
19
+ //# sourceMappingURL=ai-functions-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-functions-loader.js","sourceRoot":"","sources":["../../../src/catalox/ai-functions-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAI7D,IAAI,MAAM,GAA6B,IAAI,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,IAAI,mBAAmB,CAAC,EAAE,MAAM,EAAE,0BAA0B,EAAE,OAAO,EAAE,CAAC,CAAC;IACjF,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,uBAAuB,CAAC,GAA6B;IACnE,MAAM,GAAG,GAAG,CAAC;AACf,CAAC"}
@@ -0,0 +1,32 @@
1
+ import type { CatalogRecord } from "../contracts/catalogs.js";
2
+ import type { CatalogDescriptorRecord } from "../contracts/descriptors.js";
3
+ import type { AiCatalogMatchResult, CatalogSummary, FindCatalogsByAiInput, FindCatalogsInput, ListAllCatalogsInput } from "../contracts/discovery.js";
4
+ export declare function summarizeCatalog(record: CatalogRecord, descriptor?: CatalogDescriptorRecord | null): CatalogSummary;
5
+ export declare function applyCatalogVisibilityFilter(catalogs: CatalogSummary[], context: {
6
+ superAdmin?: boolean;
7
+ }, input?: ListAllCatalogsInput | Pick<FindCatalogsInput, "includeDisabled" | "includeHidden">): CatalogSummary[];
8
+ export declare function filterCatalogsByText(catalogs: CatalogSummary[], input: FindCatalogsInput): CatalogSummary[];
9
+ export declare function findCatalogsByAi(params: {
10
+ query: string;
11
+ catalogs: CatalogSummary[];
12
+ input: FindCatalogsByAiInput;
13
+ }): Promise<AiCatalogMatchResult>;
14
+ export declare function aiMatchCandidates<T>(params: {
15
+ query: string;
16
+ candidates: Array<{
17
+ id: string;
18
+ label: string;
19
+ metadata?: Record<string, unknown>;
20
+ original: T;
21
+ }>;
22
+ input: Pick<FindCatalogsByAiInput, "guidance" | "maxResults" | "minScore" | "allowNoMatch" | "returnReasons" | "additionalInstructions" | "maxCandidates" | "mode" | "client" | "model" | "temperature" | "maxTokens" | "timeoutMs" | "vendor">;
23
+ }): Promise<{
24
+ hits: Array<{
25
+ item: T;
26
+ score: number;
27
+ reason?: string;
28
+ }>;
29
+ noMatch: boolean;
30
+ }>;
31
+ export declare function assertAiEnabled(enabled: boolean | undefined, details: Record<string, unknown>): void;
32
+ //# sourceMappingURL=catalog-discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-discovery.d.ts","sourceRoot":"","sources":["../../../src/catalox/catalog-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAInC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,uBAAuB,GAAG,IAAI,GAAG,cAAc,CAiBnH;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,cAAc,EAAE,EAC1B,OAAO,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,EACjC,KAAK,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,eAAe,CAAC,GAC1F,cAAc,EAAE,CAQlB;AAeD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,iBAAiB,GAAG,cAAc,EAAE,CAiB3G;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,KAAK,EAAE,qBAAqB,CAAC;CAC9B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA4ChC;AAED,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,QAAQ,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC;IAClG,KAAK,EAAE,IAAI,CACT,qBAAqB,EACnB,UAAU,GACV,YAAY,GACZ,UAAU,GACV,cAAc,GACd,eAAe,GACf,wBAAwB,GACxB,eAAe,GACf,MAAM,GACN,QAAQ,GACR,OAAO,GACP,aAAa,GACb,WAAW,GACX,WAAW,GACX,QAAQ,CACX,CAAC;CACH,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CA+B1F;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QAE7F"}
@@ -0,0 +1,150 @@
1
+ import { CatalogAdapterError } from "../contracts/errors.js";
2
+ import { loadAiFunctions } from "./ai-functions-loader.js";
3
+ export function summarizeCatalog(record, descriptor) {
4
+ const d = descriptor?.descriptor;
5
+ return {
6
+ catalogId: record.catalogId,
7
+ label: d?.label ?? record.name,
8
+ name: record.name,
9
+ ...(d?.description ?? record.description ? { description: (d?.description ?? record.description) } : {}),
10
+ ...(d?.itemLabel ?? record.itemLabel ? { itemLabel: (d?.itemLabel ?? record.itemLabel) } : {}),
11
+ sourceMode: record.sourceMode,
12
+ ...(record.mappedSourceType != null ? { mappedSourceType: record.mappedSourceType } : {}),
13
+ status: record.status,
14
+ ...(d?.visibility != null ? { visibility: d.visibility } : {}),
15
+ ...(descriptor?.descriptorVersion != null ? { descriptorVersion: descriptor.descriptorVersion } : {}),
16
+ ...(d?.metadata ?? record.metadata ? { metadata: (d?.metadata ?? record.metadata) } : {}),
17
+ createdAt: record.createdAt,
18
+ updatedAt: record.updatedAt,
19
+ };
20
+ }
21
+ export function applyCatalogVisibilityFilter(catalogs, context, input) {
22
+ const includeDisabled = Boolean(input?.includeDisabled);
23
+ const includeHidden = Boolean(input?.includeHidden) || Boolean(context.superAdmin);
24
+ return catalogs.filter((c) => {
25
+ if (!includeDisabled && c.status !== "active")
26
+ return false;
27
+ if (!includeHidden && c.visibility === "hidden")
28
+ return false;
29
+ return true;
30
+ });
31
+ }
32
+ function normalizeText(s) {
33
+ return String(s ?? "").toLowerCase();
34
+ }
35
+ function metadataToSearchText(meta) {
36
+ if (!meta || typeof meta !== "object")
37
+ return "";
38
+ const entries = Object.entries(meta);
39
+ return entries
40
+ .slice(0, 200)
41
+ .map(([k, v]) => `${k}:${typeof v === "string" || typeof v === "number" ? v : JSON.stringify(v)}`)
42
+ .join(" ");
43
+ }
44
+ export function filterCatalogsByText(catalogs, input) {
45
+ const q = normalizeText(input.text).trim();
46
+ if (!q)
47
+ return [];
48
+ const fields = input.fields ?? ["id", "label", "description", "itemLabel", "metadata"];
49
+ const out = [];
50
+ for (const c of catalogs) {
51
+ const parts = [];
52
+ if (fields.includes("id"))
53
+ parts.push(c.catalogId);
54
+ if (fields.includes("label"))
55
+ parts.push(c.label, c.name);
56
+ if (fields.includes("description"))
57
+ parts.push(c.description ?? "");
58
+ if (fields.includes("itemLabel"))
59
+ parts.push(c.itemLabel ?? "");
60
+ if (fields.includes("metadata"))
61
+ parts.push(metadataToSearchText(c.metadata));
62
+ const hay = normalizeText(parts.join(" "));
63
+ if (hay.includes(q))
64
+ out.push(c);
65
+ if (input.limit && out.length >= input.limit)
66
+ break;
67
+ }
68
+ return out;
69
+ }
70
+ export async function findCatalogsByAi(params) {
71
+ const { match } = await loadAiFunctions();
72
+ const candidates = params.catalogs.map((c) => ({
73
+ id: String(c.catalogId),
74
+ label: `${c.label}${c.description ? ` — ${c.description}` : ""}`,
75
+ metadata: {
76
+ itemLabel: c.itemLabel,
77
+ sourceMode: c.sourceMode,
78
+ status: c.status,
79
+ ...(c.mappedSourceType != null ? { mappedSourceType: c.mappedSourceType } : {}),
80
+ },
81
+ }));
82
+ if (!candidates.length)
83
+ return { query: params.query, hits: [], noMatch: true };
84
+ const res = await match({
85
+ query: params.query,
86
+ candidates,
87
+ ...(params.input.guidance ? { guidance: params.input.guidance } : {}),
88
+ ...(params.input.maxResults != null ? { maxResults: params.input.maxResults } : {}),
89
+ ...(params.input.minScore != null ? { minScore: params.input.minScore } : {}),
90
+ ...(params.input.allowNoMatch != null ? { allowNoMatch: params.input.allowNoMatch } : {}),
91
+ ...(params.input.returnReasons != null ? { returnReasons: params.input.returnReasons } : {}),
92
+ ...(params.input.additionalInstructions ? { additionalInstructions: params.input.additionalInstructions } : {}),
93
+ ...(params.input.maxCandidates != null ? { maxCandidates: params.input.maxCandidates } : {}),
94
+ ...(params.input.mode ? { mode: params.input.mode } : {}),
95
+ ...(params.input.client ? { client: params.input.client } : {}),
96
+ ...(params.input.model ? { model: params.input.model } : {}),
97
+ ...(params.input.temperature != null ? { temperature: params.input.temperature } : {}),
98
+ ...(params.input.maxTokens != null ? { maxTokens: params.input.maxTokens } : {}),
99
+ ...(params.input.timeoutMs != null ? { timeoutMs: params.input.timeoutMs } : {}),
100
+ ...(params.input.vendor != null ? { vendor: params.input.vendor } : {}),
101
+ });
102
+ const byId = new Map(params.catalogs.map((c) => [String(c.catalogId), c]));
103
+ const hits = res.matches
104
+ .map((m) => {
105
+ const cat = byId.get(String(m.id));
106
+ if (!cat)
107
+ return null;
108
+ return { catalogId: cat.catalogId, score: m.score, ...(m.reason ? { reason: m.reason } : {}), catalog: cat };
109
+ })
110
+ .filter(Boolean);
111
+ return { query: params.query, hits, noMatch: Boolean(res.noMatch) };
112
+ }
113
+ export async function aiMatchCandidates(params) {
114
+ const { match } = await loadAiFunctions();
115
+ if (!params.candidates.length)
116
+ return { hits: [], noMatch: true };
117
+ const byId = new Map(params.candidates.map((c) => [String(c.id), c.original]));
118
+ const res = await match({
119
+ query: params.query,
120
+ candidates: params.candidates.map((c) => ({ id: c.id, label: c.label, ...(c.metadata ? { metadata: c.metadata } : {}) })),
121
+ ...(params.input.guidance ? { guidance: params.input.guidance } : {}),
122
+ ...(params.input.maxResults != null ? { maxResults: params.input.maxResults } : {}),
123
+ ...(params.input.minScore != null ? { minScore: params.input.minScore } : {}),
124
+ ...(params.input.allowNoMatch != null ? { allowNoMatch: params.input.allowNoMatch } : {}),
125
+ ...(params.input.returnReasons != null ? { returnReasons: params.input.returnReasons } : {}),
126
+ ...(params.input.additionalInstructions ? { additionalInstructions: params.input.additionalInstructions } : {}),
127
+ ...(params.input.maxCandidates != null ? { maxCandidates: params.input.maxCandidates } : {}),
128
+ ...(params.input.mode ? { mode: params.input.mode } : {}),
129
+ ...(params.input.client ? { client: params.input.client } : {}),
130
+ ...(params.input.model ? { model: params.input.model } : {}),
131
+ ...(params.input.temperature != null ? { temperature: params.input.temperature } : {}),
132
+ ...(params.input.maxTokens != null ? { maxTokens: params.input.maxTokens } : {}),
133
+ ...(params.input.timeoutMs != null ? { timeoutMs: params.input.timeoutMs } : {}),
134
+ ...(params.input.vendor != null ? { vendor: params.input.vendor } : {}),
135
+ });
136
+ const hits = res.matches
137
+ .map((m) => {
138
+ const it = byId.get(String(m.id));
139
+ if (!it)
140
+ return null;
141
+ return { item: it, score: m.score, ...(m.reason ? { reason: m.reason } : {}) };
142
+ })
143
+ .filter(Boolean);
144
+ return { hits, noMatch: Boolean(res.noMatch) };
145
+ }
146
+ export function assertAiEnabled(enabled, details) {
147
+ if (enabled === false)
148
+ throw new CatalogAdapterError({ reason: "ai_disabled", ...details });
149
+ }
150
+ //# sourceMappingURL=catalog-discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-discovery.js","sourceRoot":"","sources":["../../../src/catalox/catalog-discovery.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/catalox/catalog-lifecycle.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAEV,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,mCAAmC,CAAC;AAQ3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAQ9D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG;IAClD,WAAW,EAAE,eAAe,CAAC;IAC7B,WAAW,EAAE,eAAe,CAAC;IAC7B,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,YAAY,CAAC;IACvB,UAAU,EAAE,cAAc,CAAC;IAC3B,WAAW,EAAE,eAAe,CAAC;IAC7B,SAAS,EAAE,aAAa,CAAC;IACzB,gBAAgB,EAAE,qBAAqB,CAAC;IACxC,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;CACzC,CAAC;AAwDF,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,oBAAoB,EAC1B,aAAa,EAAE,iBAAiB,GAAG,SAAS,EAC5C,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,mBAAmB,CAAC,CAoL9B;AAED,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,oBAAoB,EAC1B,aAAa,EAAE,iBAAiB,EAChC,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,2BAA2B,CAAC,CAuFtC;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,oBAAoB,EAC1B,aAAa,EAAE,iBAAiB,GAAG,SAAS,EAC5C,OAAO,EAAE,cAAc,EACvB,aAAa,EAAE,SAAS,EACxB,WAAW,EAAE,SAAS,EACtB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,mBAAmB,CAAC,CAgM9B"}
1
+ {"version":3,"file":"catalog-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/catalox/catalog-lifecycle.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAEV,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,mCAAmC,CAAC;AAQ3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAQ9D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG;IAClD,WAAW,EAAE,eAAe,CAAC;IAC7B,WAAW,EAAE,eAAe,CAAC;IAC7B,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,YAAY,CAAC;IACvB,UAAU,EAAE,cAAc,CAAC;IAC3B,WAAW,EAAE,eAAe,CAAC;IAC7B,SAAS,EAAE,aAAa,CAAC;IACzB,gBAAgB,EAAE,qBAAqB,CAAC;IACxC,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;CACzC,CAAC;AAwDF,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,oBAAoB,EAC1B,aAAa,EAAE,iBAAiB,GAAG,SAAS,EAC5C,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,mBAAmB,CAAC,CA2L9B;AAED,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,oBAAoB,EAC1B,aAAa,EAAE,iBAAiB,EAChC,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,2BAA2B,CAAC,CAuFtC;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,oBAAoB,EAC1B,aAAa,EAAE,iBAAiB,GAAG,SAAS,EAC5C,OAAO,EAAE,cAAc,EACvB,aAAa,EAAE,SAAS,EACxB,WAAW,EAAE,SAAS,EACtB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,mBAAmB,CAAC,CAwM9B"}
@@ -65,6 +65,13 @@ async function readNdjsonLines(gcs, rel) {
65
65
  export async function runDeleteCatalog(deps, recordHistory, context, catalogId, input) {
66
66
  const issues = [];
67
67
  const cid = String(catalogId);
68
+ if (!context.appId) {
69
+ return {
70
+ ok: false,
71
+ catalogId,
72
+ issues: [{ code: "missing_appId", message: "deleteCatalog requires context.appId." }],
73
+ };
74
+ }
68
75
  if (!recordHistory) {
69
76
  return {
70
77
  ok: false,
@@ -308,6 +315,14 @@ export async function runRenameCatalog(deps, recordHistory, context, fromCatalog
308
315
  const issues = [];
309
316
  const from = String(fromCatalogId);
310
317
  const to = String(toCatalogId);
318
+ if (!context.appId) {
319
+ return {
320
+ ok: false,
321
+ fromCatalogId,
322
+ toCatalogId,
323
+ issues: [{ code: "missing_appId", message: "renameCatalog requires context.appId." }],
324
+ };
325
+ }
311
326
  if (!recordHistory) {
312
327
  return {
313
328
  ok: false,
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-lifecycle.js","sourceRoot":"","sources":["../../../src/catalox/catalog-lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog-lifecycle.js","sourceRoot":"","sources":["../../../src/catalox/catalog-lifecycle.ts"],"names":[],"mappings":"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"}