@x12i/catalox 3.1.1 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/README.md +6 -1
  2. package/dist/src/catalox/backup-data.d.ts +1 -6
  3. package/dist/src/catalox/backup-data.d.ts.map +1 -1
  4. package/dist/src/catalox/backup-data.js +71 -418
  5. package/dist/src/catalox/backup-data.js.map +1 -1
  6. package/dist/src/catalox/catalox-bound.d.ts +1 -2
  7. package/dist/src/catalox/catalox-bound.d.ts.map +1 -1
  8. package/dist/src/catalox/catalox-bound.js +0 -3
  9. package/dist/src/catalox/catalox-bound.js.map +1 -1
  10. package/dist/src/catalox/catalox.d.ts +2 -7
  11. package/dist/src/catalox/catalox.d.ts.map +1 -1
  12. package/dist/src/catalox/catalox.js +2 -16
  13. package/dist/src/catalox/catalox.js.map +1 -1
  14. package/dist/src/catalox/create-catalox.d.ts.map +1 -1
  15. package/dist/src/catalox/create-catalox.js +4 -1
  16. package/dist/src/catalox/create-catalox.js.map +1 -1
  17. package/dist/src/catalox/index.d.ts +2 -2
  18. package/dist/src/catalox/index.d.ts.map +1 -1
  19. package/dist/src/catalox/index.js +2 -2
  20. package/dist/src/catalox/index.js.map +1 -1
  21. package/dist/src/catalox/record-history.d.ts.map +1 -1
  22. package/dist/src/catalox/record-history.js +34 -0
  23. package/dist/src/catalox/record-history.js.map +1 -1
  24. package/dist/src/catalox/restore-firestore-backup.d.ts +6 -3
  25. package/dist/src/catalox/restore-firestore-backup.d.ts.map +1 -1
  26. package/dist/src/catalox/restore-firestore-backup.js +3 -224
  27. package/dist/src/catalox/restore-firestore-backup.js.map +1 -1
  28. package/dist/src/cli/index.js +27 -66
  29. package/dist/src/cli/index.js.map +1 -1
  30. package/dist/src/contracts/backup.d.ts +2 -2
  31. package/dist/src/contracts/backup.d.ts.map +1 -1
  32. package/dist/src/contracts/index.d.ts +1 -1
  33. package/dist/src/contracts/index.d.ts.map +1 -1
  34. package/dist/src/contracts/index.js.map +1 -1
  35. package/dist/src/contracts/restore.d.ts +0 -39
  36. package/dist/src/contracts/restore.d.ts.map +1 -1
  37. package/dist/src/firebase/catalog-item-history-store.d.ts.map +1 -1
  38. package/dist/src/firebase/catalog-item-history-store.js +35 -6
  39. package/dist/src/firebase/catalog-item-history-store.js.map +1 -1
  40. package/package.json +6 -3
  41. package/dist/adapters/api/api-adapter.d.ts +0 -22
  42. package/dist/adapters/api/api-adapter.d.ts.map +0 -1
  43. package/dist/adapters/api/api-adapter.js +0 -60
  44. package/dist/adapters/api/api-adapter.js.map +0 -1
  45. package/dist/adapters/api/index.d.ts +0 -2
  46. package/dist/adapters/api/index.d.ts.map +0 -1
  47. package/dist/adapters/api/index.js +0 -2
  48. package/dist/adapters/api/index.js.map +0 -1
  49. package/dist/adapters/mongo/index.d.ts +0 -3
  50. package/dist/adapters/mongo/index.d.ts.map +0 -1
  51. package/dist/adapters/mongo/index.js +0 -3
  52. package/dist/adapters/mongo/index.js.map +0 -1
  53. package/dist/adapters/mongo/mongo-adapter.d.ts +0 -21
  54. package/dist/adapters/mongo/mongo-adapter.d.ts.map +0 -1
  55. package/dist/adapters/mongo/mongo-adapter.js +0 -57
  56. package/dist/adapters/mongo/mongo-adapter.js.map +0 -1
  57. package/dist/adapters/mongo/resolve-db.d.ts +0 -4
  58. package/dist/adapters/mongo/resolve-db.d.ts.map +0 -1
  59. package/dist/adapters/mongo/resolve-db.js +0 -10
  60. package/dist/adapters/mongo/resolve-db.js.map +0 -1
  61. package/dist/bindings/index.d.ts +0 -2
  62. package/dist/bindings/index.d.ts.map +0 -1
  63. package/dist/bindings/index.js +0 -3
  64. package/dist/bindings/index.js.map +0 -1
  65. package/dist/catalox/authorization.d.ts +0 -11
  66. package/dist/catalox/authorization.d.ts.map +0 -1
  67. package/dist/catalox/authorization.js +0 -37
  68. package/dist/catalox/authorization.js.map +0 -1
  69. package/dist/catalox/catalox.d.ts +0 -80
  70. package/dist/catalox/catalox.d.ts.map +0 -1
  71. package/dist/catalox/catalox.js +0 -492
  72. package/dist/catalox/catalox.js.map +0 -1
  73. package/dist/catalox/context.d.ts +0 -17
  74. package/dist/catalox/context.d.ts.map +0 -1
  75. package/dist/catalox/context.js +0 -21
  76. package/dist/catalox/context.js.map +0 -1
  77. package/dist/catalox/identity.d.ts +0 -7
  78. package/dist/catalox/identity.d.ts.map +0 -1
  79. package/dist/catalox/identity.js +0 -26
  80. package/dist/catalox/identity.js.map +0 -1
  81. package/dist/catalox/index.d.ts +0 -6
  82. package/dist/catalox/index.d.ts.map +0 -1
  83. package/dist/catalox/index.js +0 -6
  84. package/dist/catalox/index.js.map +0 -1
  85. package/dist/catalox/json-io.d.ts +0 -3
  86. package/dist/catalox/json-io.d.ts.map +0 -1
  87. package/dist/catalox/json-io.js +0 -7
  88. package/dist/catalox/json-io.js.map +0 -1
  89. package/dist/contracts/adapters.d.ts +0 -40
  90. package/dist/contracts/adapters.d.ts.map +0 -1
  91. package/dist/contracts/adapters.js +0 -2
  92. package/dist/contracts/adapters.js.map +0 -1
  93. package/dist/contracts/apps.d.ts +0 -11
  94. package/dist/contracts/apps.d.ts.map +0 -1
  95. package/dist/contracts/apps.js +0 -2
  96. package/dist/contracts/apps.js.map +0 -1
  97. package/dist/contracts/bindings.d.ts +0 -26
  98. package/dist/contracts/bindings.d.ts.map +0 -1
  99. package/dist/contracts/bindings.js +0 -2
  100. package/dist/contracts/bindings.js.map +0 -1
  101. package/dist/contracts/bootstrap.d.ts +0 -7
  102. package/dist/contracts/bootstrap.d.ts.map +0 -1
  103. package/dist/contracts/bootstrap.js +0 -2
  104. package/dist/contracts/bootstrap.js.map +0 -1
  105. package/dist/contracts/catalogs.d.ts +0 -51
  106. package/dist/contracts/catalogs.d.ts.map +0 -1
  107. package/dist/contracts/catalogs.js +0 -2
  108. package/dist/contracts/catalogs.js.map +0 -1
  109. package/dist/contracts/config.d.ts +0 -14
  110. package/dist/contracts/config.d.ts.map +0 -1
  111. package/dist/contracts/config.js +0 -2
  112. package/dist/contracts/config.js.map +0 -1
  113. package/dist/contracts/context.d.ts +0 -11
  114. package/dist/contracts/context.d.ts.map +0 -1
  115. package/dist/contracts/context.js +0 -2
  116. package/dist/contracts/context.js.map +0 -1
  117. package/dist/contracts/descriptors.d.ts +0 -73
  118. package/dist/contracts/descriptors.d.ts.map +0 -1
  119. package/dist/contracts/descriptors.js +0 -2
  120. package/dist/contracts/descriptors.js.map +0 -1
  121. package/dist/contracts/discovery.d.ts +0 -25
  122. package/dist/contracts/discovery.d.ts.map +0 -1
  123. package/dist/contracts/discovery.js +0 -2
  124. package/dist/contracts/discovery.js.map +0 -1
  125. package/dist/contracts/errors.d.ts +0 -32
  126. package/dist/contracts/errors.d.ts.map +0 -1
  127. package/dist/contracts/errors.js +0 -53
  128. package/dist/contracts/errors.js.map +0 -1
  129. package/dist/contracts/ids.d.ts +0 -7
  130. package/dist/contracts/ids.d.ts.map +0 -1
  131. package/dist/contracts/ids.js +0 -2
  132. package/dist/contracts/ids.js.map +0 -1
  133. package/dist/contracts/index.d.ts +0 -21
  134. package/dist/contracts/index.d.ts.map +0 -1
  135. package/dist/contracts/index.js +0 -2
  136. package/dist/contracts/index.js.map +0 -1
  137. package/dist/contracts/inputs.d.ts +0 -19
  138. package/dist/contracts/inputs.d.ts.map +0 -1
  139. package/dist/contracts/inputs.js +0 -2
  140. package/dist/contracts/inputs.js.map +0 -1
  141. package/dist/contracts/item-validation.d.ts +0 -11
  142. package/dist/contracts/item-validation.d.ts.map +0 -1
  143. package/dist/contracts/item-validation.js +0 -2
  144. package/dist/contracts/item-validation.js.map +0 -1
  145. package/dist/contracts/items.d.ts +0 -49
  146. package/dist/contracts/items.d.ts.map +0 -1
  147. package/dist/contracts/items.js +0 -2
  148. package/dist/contracts/items.js.map +0 -1
  149. package/dist/contracts/mappings.d.ts +0 -35
  150. package/dist/contracts/mappings.d.ts.map +0 -1
  151. package/dist/contracts/mappings.js +0 -2
  152. package/dist/contracts/mappings.js.map +0 -1
  153. package/dist/contracts/query.d.ts +0 -10
  154. package/dist/contracts/query.d.ts.map +0 -1
  155. package/dist/contracts/query.js +0 -2
  156. package/dist/contracts/query.js.map +0 -1
  157. package/dist/contracts/references.d.ts +0 -11
  158. package/dist/contracts/references.d.ts.map +0 -1
  159. package/dist/contracts/references.js +0 -2
  160. package/dist/contracts/references.js.map +0 -1
  161. package/dist/contracts/sync.d.ts +0 -7
  162. package/dist/contracts/sync.d.ts.map +0 -1
  163. package/dist/contracts/sync.js +0 -2
  164. package/dist/contracts/sync.js.map +0 -1
  165. package/dist/contracts/validation.d.ts +0 -12
  166. package/dist/contracts/validation.d.ts.map +0 -1
  167. package/dist/contracts/validation.js +0 -2
  168. package/dist/contracts/validation.js.map +0 -1
  169. package/dist/errors/index.d.ts +0 -2
  170. package/dist/errors/index.d.ts.map +0 -1
  171. package/dist/errors/index.js +0 -3
  172. package/dist/errors/index.js.map +0 -1
  173. package/dist/firebase/adapter-store.d.ts +0 -15
  174. package/dist/firebase/adapter-store.d.ts.map +0 -1
  175. package/dist/firebase/adapter-store.js +0 -18
  176. package/dist/firebase/adapter-store.js.map +0 -1
  177. package/dist/firebase/app-store.d.ts +0 -11
  178. package/dist/firebase/app-store.d.ts.map +0 -1
  179. package/dist/firebase/app-store.js +0 -18
  180. package/dist/firebase/app-store.js.map +0 -1
  181. package/dist/firebase/binding-store.d.ts +0 -13
  182. package/dist/firebase/binding-store.d.ts.map +0 -1
  183. package/dist/firebase/binding-store.js +0 -35
  184. package/dist/firebase/binding-store.js.map +0 -1
  185. package/dist/firebase/catalog-store.d.ts +0 -12
  186. package/dist/firebase/catalog-store.d.ts.map +0 -1
  187. package/dist/firebase/catalog-store.js +0 -22
  188. package/dist/firebase/catalog-store.js.map +0 -1
  189. package/dist/firebase/definition-store.d.ts +0 -39
  190. package/dist/firebase/definition-store.d.ts.map +0 -1
  191. package/dist/firebase/definition-store.js +0 -18
  192. package/dist/firebase/definition-store.js.map +0 -1
  193. package/dist/firebase/descriptor-store.d.ts +0 -11
  194. package/dist/firebase/descriptor-store.d.ts.map +0 -1
  195. package/dist/firebase/descriptor-store.js +0 -18
  196. package/dist/firebase/descriptor-store.js.map +0 -1
  197. package/dist/firebase/firestore-store.d.ts +0 -14
  198. package/dist/firebase/firestore-store.d.ts.map +0 -1
  199. package/dist/firebase/firestore-store.js +0 -15
  200. package/dist/firebase/firestore-store.js.map +0 -1
  201. package/dist/firebase/index.d.ts +0 -12
  202. package/dist/firebase/index.d.ts.map +0 -1
  203. package/dist/firebase/index.js +0 -12
  204. package/dist/firebase/index.js.map +0 -1
  205. package/dist/firebase/mapping-store.d.ts +0 -11
  206. package/dist/firebase/mapping-store.d.ts.map +0 -1
  207. package/dist/firebase/mapping-store.js +0 -18
  208. package/dist/firebase/mapping-store.js.map +0 -1
  209. package/dist/firebase/native-item-store.d.ts +0 -20
  210. package/dist/firebase/native-item-store.d.ts.map +0 -1
  211. package/dist/firebase/native-item-store.js +0 -55
  212. package/dist/firebase/native-item-store.js.map +0 -1
  213. package/dist/firebase/reference-store.d.ts +0 -17
  214. package/dist/firebase/reference-store.d.ts.map +0 -1
  215. package/dist/firebase/reference-store.js +0 -27
  216. package/dist/firebase/reference-store.js.map +0 -1
  217. package/dist/firebase/snapshot-store.d.ts +0 -11
  218. package/dist/firebase/snapshot-store.d.ts.map +0 -1
  219. package/dist/firebase/snapshot-store.js +0 -22
  220. package/dist/firebase/snapshot-store.js.map +0 -1
  221. package/dist/index.d.ts +0 -10
  222. package/dist/index.d.ts.map +0 -1
  223. package/dist/index.js +0 -10
  224. package/dist/index.js.map +0 -1
  225. package/dist/mapping/execute-mapping.d.ts +0 -8
  226. package/dist/mapping/execute-mapping.d.ts.map +0 -1
  227. package/dist/mapping/execute-mapping.js +0 -78
  228. package/dist/mapping/execute-mapping.js.map +0 -1
  229. package/dist/mapping/helper-gap-report.d.ts +0 -7
  230. package/dist/mapping/helper-gap-report.d.ts.map +0 -1
  231. package/dist/mapping/helper-gap-report.js +0 -2
  232. package/dist/mapping/helper-gap-report.js.map +0 -1
  233. package/dist/mapping/index.d.ts +0 -4
  234. package/dist/mapping/index.d.ts.map +0 -1
  235. package/dist/mapping/index.js +0 -4
  236. package/dist/mapping/index.js.map +0 -1
  237. package/dist/mapping/validate-mapping.d.ts +0 -3
  238. package/dist/mapping/validate-mapping.d.ts.map +0 -1
  239. package/dist/mapping/validate-mapping.js +0 -32
  240. package/dist/mapping/validate-mapping.js.map +0 -1
  241. package/dist/test/integration/firestore.emulator.test.d.ts +0 -2
  242. package/dist/test/integration/firestore.emulator.test.d.ts.map +0 -1
  243. package/dist/test/integration/firestore.emulator.test.js +0 -117
  244. package/dist/test/integration/firestore.emulator.test.js.map +0 -1
  245. package/dist/test/integration/record-history.live.test.d.ts +0 -2
  246. package/dist/test/integration/record-history.live.test.d.ts.map +0 -1
  247. package/dist/test/integration/record-history.live.test.js +0 -126
  248. package/dist/test/integration/record-history.live.test.js.map +0 -1
  249. package/dist/test/unit/backup-timestamp.test.d.ts +0 -2
  250. package/dist/test/unit/backup-timestamp.test.d.ts.map +0 -1
  251. package/dist/test/unit/backup-timestamp.test.js +0 -11
  252. package/dist/test/unit/backup-timestamp.test.js.map +0 -1
  253. package/dist/test/unit/catalox-gcs-backup-export-manifest.test.d.ts +0 -2
  254. package/dist/test/unit/catalox-gcs-backup-export-manifest.test.d.ts.map +0 -1
  255. package/dist/test/unit/catalox-gcs-backup-export-manifest.test.js +0 -20
  256. package/dist/test/unit/catalox-gcs-backup-export-manifest.test.js.map +0 -1
  257. package/dist/test/unit/compact-catalog-filter.test.d.ts +0 -2
  258. package/dist/test/unit/compact-catalog-filter.test.d.ts.map +0 -1
  259. package/dist/test/unit/compact-catalog-filter.test.js +0 -18
  260. package/dist/test/unit/compact-catalog-filter.test.js.map +0 -1
  261. package/dist/test/unit/field-source-resolution.test.d.ts +0 -2
  262. package/dist/test/unit/field-source-resolution.test.d.ts.map +0 -1
  263. package/dist/test/unit/field-source-resolution.test.js +0 -45
  264. package/dist/test/unit/field-source-resolution.test.js.map +0 -1
  265. package/dist/test/unit/gcs-backup-run-folder.test.d.ts +0 -2
  266. package/dist/test/unit/gcs-backup-run-folder.test.d.ts.map +0 -1
  267. package/dist/test/unit/gcs-backup-run-folder.test.js +0 -10
  268. package/dist/test/unit/gcs-backup-run-folder.test.js.map +0 -1
  269. package/dist/test/unit/gcs-firestore-compare.test.d.ts +0 -2
  270. package/dist/test/unit/gcs-firestore-compare.test.d.ts.map +0 -1
  271. package/dist/test/unit/gcs-firestore-compare.test.js +0 -14
  272. package/dist/test/unit/gcs-firestore-compare.test.js.map +0 -1
  273. package/dist/test/unit/gcs-firestore-paths.test.d.ts +0 -2
  274. package/dist/test/unit/gcs-firestore-paths.test.d.ts.map +0 -1
  275. package/dist/test/unit/gcs-firestore-paths.test.js +0 -16
  276. package/dist/test/unit/gcs-firestore-paths.test.js.map +0 -1
  277. package/dist/test/unit/identity.test.d.ts +0 -2
  278. package/dist/test/unit/identity.test.d.ts.map +0 -1
  279. package/dist/test/unit/identity.test.js +0 -18
  280. package/dist/test/unit/identity.test.js.map +0 -1
  281. package/dist/test/unit/jsx-snippets.test.d.ts +0 -2
  282. package/dist/test/unit/jsx-snippets.test.d.ts.map +0 -1
  283. package/dist/test/unit/jsx-snippets.test.js +0 -35
  284. package/dist/test/unit/jsx-snippets.test.js.map +0 -1
  285. package/dist/test/unit/mapping.test.d.ts +0 -2
  286. package/dist/test/unit/mapping.test.d.ts.map +0 -1
  287. package/dist/test/unit/mapping.test.js +0 -19
  288. package/dist/test/unit/mapping.test.js.map +0 -1
  289. package/dist/test/unit/markdown-and-diagrams.test.d.ts +0 -2
  290. package/dist/test/unit/markdown-and-diagrams.test.d.ts.map +0 -1
  291. package/dist/test/unit/markdown-and-diagrams.test.js +0 -62
  292. package/dist/test/unit/markdown-and-diagrams.test.js.map +0 -1
  293. package/dist/test/unit/native-catalog-merge.test.d.ts +0 -2
  294. package/dist/test/unit/native-catalog-merge.test.d.ts.map +0 -1
  295. package/dist/test/unit/native-catalog-merge.test.js +0 -33
  296. package/dist/test/unit/native-catalog-merge.test.js.map +0 -1
  297. package/dist/test/unit/native-scope.test.d.ts +0 -2
  298. package/dist/test/unit/native-scope.test.d.ts.map +0 -1
  299. package/dist/test/unit/native-scope.test.js +0 -29
  300. package/dist/test/unit/native-scope.test.js.map +0 -1
  301. package/dist/test/unit/record-history-path.test.d.ts +0 -2
  302. package/dist/test/unit/record-history-path.test.d.ts.map +0 -1
  303. package/dist/test/unit/record-history-path.test.js +0 -24
  304. package/dist/test/unit/record-history-path.test.js.map +0 -1
  305. package/dist/test/unit/renderer-metadata-migration.test.d.ts +0 -2
  306. package/dist/test/unit/renderer-metadata-migration.test.d.ts.map +0 -1
  307. package/dist/test/unit/renderer-metadata-migration.test.js +0 -33
  308. package/dist/test/unit/renderer-metadata-migration.test.js.map +0 -1
  309. package/dist/test/unit/renderer-metadata.test.d.ts +0 -2
  310. package/dist/test/unit/renderer-metadata.test.d.ts.map +0 -1
  311. package/dist/test/unit/renderer-metadata.test.js +0 -10
  312. package/dist/test/unit/renderer-metadata.test.js.map +0 -1
  313. package/dist/test/unit/resolve-native-items-layout.test.d.ts +0 -2
  314. package/dist/test/unit/resolve-native-items-layout.test.d.ts.map +0 -1
  315. package/dist/test/unit/resolve-native-items-layout.test.js +0 -50
  316. package/dist/test/unit/resolve-native-items-layout.test.js.map +0 -1
  317. package/dist/test/unit/ui-spec-validation.test.d.ts +0 -2
  318. package/dist/test/unit/ui-spec-validation.test.d.ts.map +0 -1
  319. package/dist/test/unit/ui-spec-validation.test.js +0 -90
  320. package/dist/test/unit/ui-spec-validation.test.js.map +0 -1
  321. package/dist/validation/index.d.ts +0 -2
  322. package/dist/validation/index.d.ts.map +0 -1
  323. package/dist/validation/index.js +0 -3
  324. package/dist/validation/index.js.map +0 -1
@@ -1,492 +0,0 @@
1
- import { CatalogAccessDeniedError, CatalogAdapterError, CatalogNotFoundError } from "../contracts/errors.js";
2
- import { validateMappingSpec } from "../mapping/validate-mapping.js";
3
- import { executeMapping } from "../mapping/execute-mapping.js";
4
- import { ApiCatalogAdapter } from "../adapters/api/api-adapter.js";
5
- import { MongoCatalogAdapter } from "../adapters/mongo/mongo-adapter.js";
6
- import { AuthorizationService } from "./authorization.js";
7
- import { resolveCatalogItemId } from "./identity.js";
8
- import { parseJson, toJson } from "./json-io.js";
9
- import { AppStore } from "../firebase/app-store.js";
10
- import { AdapterStore } from "../firebase/adapter-store.js";
11
- import { BindingStore } from "../firebase/binding-store.js";
12
- import { CatalogStore } from "../firebase/catalog-store.js";
13
- import { DefinitionStore } from "../firebase/definition-store.js";
14
- import { DescriptorStore } from "../firebase/descriptor-store.js";
15
- import { MappingStore } from "../firebase/mapping-store.js";
16
- import { NativeItemStore } from "../firebase/native-item-store.js";
17
- import { ReferenceStore } from "../firebase/reference-store.js";
18
- import { SnapshotStore } from "../firebase/snapshot-store.js";
19
- export class Catalox {
20
- deps;
21
- constructor(deps) {
22
- this.deps = deps;
23
- }
24
- async listAppCatalogs(context, input) {
25
- const appId = input?.appId ?? context.appId;
26
- const bindings = await this.deps.bindings.listByApp(appId);
27
- const catalogs = await this.deps.catalogs.listAll();
28
- const byId = new Map(catalogs.map((c) => [c.catalogId, c]));
29
- const out = [];
30
- for (const b of bindings) {
31
- const cat = byId.get(b.catalogId);
32
- if (!cat)
33
- continue;
34
- if (!input?.includeDisabled && cat.status !== "active")
35
- continue;
36
- const descriptor = await this.deps.descriptors.get(cat.catalogId);
37
- const description = descriptor?.descriptor.description ?? cat.description;
38
- const itemLabel = descriptor?.descriptor.itemLabel ?? cat.itemLabel;
39
- const visibility = descriptor?.descriptor.visibility;
40
- const descriptorVersion = descriptor?.descriptorVersion;
41
- const metadata = descriptor?.descriptor.metadata ?? cat.metadata;
42
- out.push({
43
- catalogId: cat.catalogId,
44
- label: descriptor?.descriptor.label ?? cat.name,
45
- ...(description != null ? { description } : {}),
46
- ...(itemLabel != null ? { itemLabel } : {}),
47
- sourceMode: cat.sourceMode,
48
- ...(cat.mappedSourceType != null ? { mappedSourceType: cat.mappedSourceType } : {}),
49
- status: cat.status,
50
- ...(visibility != null ? { visibility } : {}),
51
- access: b.access,
52
- ...(descriptorVersion != null ? { descriptorVersion } : {}),
53
- ...(metadata != null ? { metadata } : {}),
54
- });
55
- }
56
- return out.filter((e) => (input?.includeHidden ? true : e.visibility !== "hidden"));
57
- }
58
- async getCatalogDescriptor(context, catalogId) {
59
- await this.deps.authz.requireBindingAccess(context, context.appId, catalogId, "read");
60
- const rec = await this.deps.descriptors.get(catalogId);
61
- return rec?.descriptor ?? null;
62
- }
63
- async getAppCatalogBootstrap(context, appId) {
64
- const resolved = appId ?? context.appId;
65
- const entries = await this.listAppCatalogs(context, { appId: resolved });
66
- const descriptors = [];
67
- for (const e of entries) {
68
- const d = await this.deps.descriptors.get(e.catalogId);
69
- if (d)
70
- descriptors.push(d.descriptor);
71
- }
72
- return { appId: resolved, catalogs: descriptors };
73
- }
74
- async listCatalogItems(context, catalogId, options) {
75
- await this.deps.authz.requireBindingAccess(context, context.appId, catalogId, "read");
76
- const catalog = await this.deps.catalogs.get(catalogId);
77
- if (!catalog)
78
- throw new CatalogNotFoundError({ catalogId });
79
- if (catalog.sourceMode === "native") {
80
- const filterEq = (options?.filter ?? {});
81
- const listOpts = {
82
- ...(options?.limit != null ? { limit: options.limit } : {}),
83
- ...(options?.offset != null ? { offset: options.offset } : {}),
84
- ...(Object.keys(filterEq).length ? { filterEq } : {}),
85
- ...(options?.sort ? { sort: options.sort } : {}),
86
- };
87
- const records = await this.deps.nativeItems.list(catalogId, listOpts);
88
- const items = records.map((r) => ({
89
- itemId: r.itemId,
90
- catalogId: r.catalogId,
91
- appId: context.appId,
92
- sourceMode: "native",
93
- sourceType: "firebase",
94
- data: r.data,
95
- ...(r.metadata != null ? { metadata: r.metadata } : {}),
96
- createdAt: r.createdAt,
97
- updatedAt: r.updatedAt,
98
- }));
99
- return { items };
100
- }
101
- const def = await this.deps.definitions.get(catalogId);
102
- if (!def || def.type !== "mapped")
103
- throw new CatalogAdapterError({ catalogId, reason: "missing_definition" });
104
- const mapping = await this.deps.mappings.get(def.mappingId);
105
- if (!mapping)
106
- throw new CatalogAdapterError({ catalogId, reason: "missing_mapping" });
107
- const mappingIssues = validateMappingSpec(mapping.mapping);
108
- if (mappingIssues.some((i) => i.severity === "error")) {
109
- return { items: [], issues: mappingIssues };
110
- }
111
- if (def.adapterType === "mongo") {
112
- if (!this.deps.mongoAdapter)
113
- throw new CatalogAdapterError({ catalogId, reason: "mongo_adapter_unconfigured" });
114
- const adapterConfig = await this.deps.adapters.get(def.adapterId);
115
- if (!adapterConfig)
116
- throw new CatalogAdapterError({ catalogId, reason: "missing_adapter" });
117
- const result = await this.deps.mongoAdapter.listItems(context, catalogId, adapterConfig, { mapping: mapping.mapping, ...(mapping.options ? { options: mapping.options } : {}) }, options);
118
- return result.issues ? { items: result.items, issues: result.issues } : { items: result.items };
119
- }
120
- if (def.adapterType === "api") {
121
- if (!this.deps.apiAdapter)
122
- throw new CatalogAdapterError({ catalogId, reason: "api_adapter_unconfigured" });
123
- const adapterConfig = await this.deps.adapters.get(def.adapterId);
124
- if (!adapterConfig)
125
- throw new CatalogAdapterError({ catalogId, reason: "missing_adapter" });
126
- const result = await this.deps.apiAdapter.listItems(context, catalogId, adapterConfig, { responseMapping: mapping.mapping, ...(mapping.options ? { options: mapping.options } : {}) }, options);
127
- return {
128
- items: result.items,
129
- ...(result.nextCursor ? { nextCursor: result.nextCursor } : {}),
130
- ...(result.issues ? { issues: result.issues } : {}),
131
- };
132
- }
133
- throw new CatalogAdapterError({ catalogId, reason: "unknown_adapter_type" });
134
- }
135
- async getCatalogItem(context, catalogId, itemId) {
136
- await this.deps.authz.requireBindingAccess(context, context.appId, catalogId, "read");
137
- const catalog = await this.deps.catalogs.get(catalogId);
138
- if (!catalog)
139
- throw new CatalogNotFoundError({ catalogId });
140
- if (catalog.sourceMode === "native") {
141
- const rec = await this.deps.nativeItems.get(catalogId, itemId);
142
- if (!rec)
143
- return null;
144
- return {
145
- itemId: rec.itemId,
146
- catalogId: rec.catalogId,
147
- appId: context.appId,
148
- sourceMode: "native",
149
- sourceType: "firebase",
150
- data: rec.data,
151
- ...(rec.metadata != null ? { metadata: rec.metadata } : {}),
152
- createdAt: rec.createdAt,
153
- updatedAt: rec.updatedAt,
154
- };
155
- }
156
- // For mapped catalogs, use list path with filter if adapter supports.
157
- const result = await this.listCatalogItems(context, catalogId, {
158
- limit: 1,
159
- filter: { itemId },
160
- });
161
- return result.items[0] ?? null;
162
- }
163
- async validateCatalog(_context, _catalogId) {
164
- return { isValid: true, issues: [] };
165
- }
166
- async validateCatalogItem(_context, _catalogId, _itemId) {
167
- return { isValid: true, issues: [] };
168
- }
169
- async getCatalogItemReferences(context, catalogId, itemId) {
170
- await this.deps.authz.requireBindingAccess(context, context.appId, catalogId, "read");
171
- const refs = await this.deps.references.listByItem(catalogId, itemId);
172
- return refs;
173
- }
174
- async listCatalogReferences(context, catalogId) {
175
- await this.deps.authz.requireBindingAccess(context, context.appId, catalogId, "read");
176
- const refs = await this.deps.references.listByCatalog(catalogId);
177
- return refs;
178
- }
179
- // Spec methods below are stubs for now; filled in by later todos.
180
- async getApp(_context, appId) {
181
- return appId ? this.deps.apps.get(appId) : this.deps.apps.get(_context.appId);
182
- }
183
- async createCatalog(_context, _input) {
184
- const now = new Date().toISOString();
185
- const catalogId = (_input.catalogId ?? randomUUID());
186
- await this.deps.catalogs.upsert({
187
- catalogId,
188
- name: _input.name,
189
- ...(_input.description != null ? { description: _input.description } : {}),
190
- sourceMode: _input.sourceMode,
191
- ...(_input.sourceMode === "mapped" && _input.mapped?.sourceType
192
- ? { mappedSourceType: _input.mapped.sourceType }
193
- : {}),
194
- status: "active",
195
- ...(_input.metadata != null ? { metadata: _input.metadata } : {}),
196
- createdAt: now,
197
- updatedAt: now,
198
- });
199
- if (_input.sourceMode === "native") {
200
- if (!_input.native)
201
- throw new CatalogAdapterError({ catalogId, reason: "missing_native_config" });
202
- await this.deps.definitions.upsert({
203
- catalogId,
204
- type: "native",
205
- storage: {
206
- provider: "firestore",
207
- collectionPath: _input.native.firestoreCollectionPath,
208
- },
209
- ...(_input.native.itemSchema != null ? { itemSchema: _input.native.itemSchema } : {}),
210
- createdAt: now,
211
- updatedAt: now,
212
- });
213
- }
214
- else {
215
- if (!_input.mapped)
216
- throw new CatalogAdapterError({ catalogId, reason: "missing_mapped_config" });
217
- const adapterId = randomUUID();
218
- const mappingId = randomUUID();
219
- await this.deps.adapters.upsert({
220
- adapterId,
221
- type: _input.mapped.sourceType,
222
- ..._input.mapped.adapter,
223
- });
224
- await this.deps.mappings.upsert({
225
- mappingId,
226
- mapping: _input.mapped.mapping,
227
- createdAt: now,
228
- updatedAt: now,
229
- });
230
- await this.deps.definitions.upsert({
231
- catalogId,
232
- type: "mapped",
233
- adapterType: _input.mapped.sourceType,
234
- adapterId,
235
- mappingId,
236
- ...(_input.mapped.syncMode
237
- ? { sync: { mode: _input.mapped.syncMode, syncStatus: "idle" } }
238
- : {}),
239
- createdAt: now,
240
- updatedAt: now,
241
- });
242
- }
243
- // Seed a minimal descriptor if none exists.
244
- const existingDescriptor = await this.deps.descriptors.get(catalogId);
245
- if (!existingDescriptor) {
246
- await this.deps.descriptors.upsert({
247
- catalogId,
248
- descriptorVersion: "1",
249
- descriptor: {
250
- catalogId,
251
- label: _input.name,
252
- ...(_input.description != null ? { description: _input.description } : {}),
253
- sourceMode: _input.sourceMode,
254
- ...(_input.sourceMode === "mapped" && _input.mapped?.sourceType
255
- ? { mappedSourceType: _input.mapped.sourceType }
256
- : {}),
257
- status: "active",
258
- capabilities: {
259
- canList: true,
260
- canGet: true,
261
- canCreate: _input.sourceMode === "native",
262
- canEdit: _input.sourceMode === "native",
263
- canDelete: _input.sourceMode === "native",
264
- canImport: _input.sourceMode === "native",
265
- canExport: true,
266
- canSync: _input.sourceMode === "mapped",
267
- canValidate: true,
268
- canViewReferences: true,
269
- },
270
- queryableFields: [],
271
- identity: {
272
- itemIdStrategy: "generated",
273
- },
274
- },
275
- createdAt: now,
276
- updatedAt: now,
277
- });
278
- }
279
- const created = await this.deps.catalogs.get(catalogId);
280
- if (!created)
281
- throw new CatalogNotFoundError({ catalogId });
282
- return created;
283
- }
284
- async updateCatalog(_context, _catalogId, _patch) {
285
- const existing = await this.deps.catalogs.get(_catalogId);
286
- if (!existing)
287
- throw new CatalogNotFoundError({ catalogId: _catalogId });
288
- const now = new Date().toISOString();
289
- await this.deps.catalogs.upsert({
290
- ...existing,
291
- ...(_patch.name != null ? { name: _patch.name } : {}),
292
- ...(_patch.description != null ? { description: _patch.description } : {}),
293
- ...(_patch.metadata != null ? { metadata: _patch.metadata } : {}),
294
- updatedAt: now,
295
- });
296
- return (await this.deps.catalogs.get(_catalogId));
297
- }
298
- async getCatalog(_context, catalogId) {
299
- return this.deps.catalogs.get(catalogId);
300
- }
301
- async listCatalogs(_context, _options) {
302
- return this.deps.catalogs.listAll();
303
- }
304
- async bindCatalogToApp(_context, _input) {
305
- const existing = await this.deps.bindings.findByAppCatalog(_input.appId, _input.catalogId);
306
- if (existing)
307
- return existing;
308
- const now = new Date().toISOString();
309
- const record = {
310
- bindingId: `${String(_input.appId)}:${String(_input.catalogId)}`,
311
- appId: _input.appId,
312
- catalogId: _input.catalogId,
313
- access: {
314
- canRead: _input.access?.canRead ?? true,
315
- canWrite: _input.access?.canWrite ?? false,
316
- ...(_input.access?.canAdmin != null ? { canAdmin: _input.access.canAdmin } : {}),
317
- },
318
- status: "active",
319
- ...(_input.metadata != null ? { metadata: _input.metadata } : {}),
320
- createdAt: now,
321
- updatedAt: now,
322
- };
323
- await this.deps.bindings.upsert(record);
324
- return record;
325
- }
326
- async unbindCatalogFromApp(_context, _appId, _catalogId) {
327
- const existing = await this.deps.bindings.findByAppCatalog(_appId, _catalogId);
328
- if (!existing)
329
- return;
330
- await this.deps.bindings.upsert({
331
- ...existing,
332
- status: "disabled",
333
- updatedAt: new Date().toISOString(),
334
- });
335
- }
336
- async ensureCatalog(context, catalog) {
337
- await this.deps.authz.requireBindingAccess(context, context.appId, catalog.catalogId, "admin");
338
- const existing = await this.deps.catalogs.get(catalog.catalogId);
339
- const now = new Date().toISOString();
340
- if (existing)
341
- return;
342
- await this.deps.catalogs.upsert({
343
- catalogId: catalog.catalogId,
344
- name: catalog.name,
345
- sourceMode: "native",
346
- status: catalog.status ?? "active",
347
- createdAt: now,
348
- updatedAt: now,
349
- });
350
- }
351
- async ensureBinding(context, input) {
352
- // only god-mode apps can provision cross-app bindings.
353
- if (!context.isGodMode && input.appId !== context.appId) {
354
- throw new CatalogAccessDeniedError({ reason: "not_god_mode" });
355
- }
356
- const existing = await this.deps.bindings.findByAppCatalog(input.appId, input.catalogId);
357
- if (existing)
358
- return;
359
- const now = new Date().toISOString();
360
- await this.deps.bindings.upsert({
361
- bindingId: `${String(input.appId)}:${String(input.catalogId)}`,
362
- appId: input.appId,
363
- catalogId: input.catalogId,
364
- access: {
365
- canRead: input.access?.canRead ?? true,
366
- canWrite: input.access?.canWrite ?? false,
367
- ...(input.access?.canAdmin != null ? { canAdmin: input.access.canAdmin } : {}),
368
- },
369
- status: "active",
370
- createdAt: now,
371
- updatedAt: now,
372
- });
373
- }
374
- async createNativeCatalogItem(_context, _catalogId, _input) {
375
- return this.upsertNativeCatalogItem(_context, _catalogId, _input);
376
- }
377
- async updateNativeCatalogItem(_context, _catalogId, _itemId, _patch) {
378
- await this.deps.authz.requireBindingAccess(_context, _context.appId, _catalogId, "write");
379
- const existing = await this.deps.nativeItems.get(_catalogId, _itemId);
380
- if (!existing)
381
- throw new CatalogNotFoundError({ catalogId: _catalogId, itemId: _itemId });
382
- const updatedAt = new Date().toISOString();
383
- const merged = { ...(existing.data ?? {}), ..._patch };
384
- await this.deps.nativeItems.upsert(_catalogId, {
385
- ...existing,
386
- data: merged,
387
- updatedAt,
388
- });
389
- const out = {
390
- itemId: _itemId,
391
- catalogId: _catalogId,
392
- appId: _context.appId,
393
- sourceMode: "native",
394
- sourceType: "firebase",
395
- data: merged,
396
- createdAt: existing.createdAt,
397
- updatedAt,
398
- };
399
- return this.decorateItem(_catalogId, out);
400
- }
401
- async deleteNativeCatalogItem(_context, _catalogId, _itemId) {
402
- await this.deps.authz.requireBindingAccess(_context, _context.appId, _catalogId, "write");
403
- await this.deps.nativeItems.delete(_catalogId, _itemId);
404
- }
405
- async upsertNativeCatalogItem(context, catalogId, input) {
406
- await this.deps.authz.requireBindingAccess(context, context.appId, catalogId, "write");
407
- const descriptor = await this.deps.descriptors.get(catalogId);
408
- if (!descriptor)
409
- throw new CatalogAdapterError({ catalogId, reason: "missing_descriptor" });
410
- const itemId = resolveCatalogItemId({ identity: descriptor.descriptor.identity, data: input });
411
- const now = new Date().toISOString();
412
- await this.deps.nativeItems.upsert(catalogId, {
413
- itemId,
414
- catalogId,
415
- appScopedOwnerId: context.appId,
416
- indexed: input.indexed,
417
- data: input,
418
- createdAt: now,
419
- updatedAt: now,
420
- });
421
- return {
422
- itemId,
423
- catalogId,
424
- appId: context.appId,
425
- sourceMode: "native",
426
- sourceType: "firebase",
427
- data: input,
428
- createdAt: now,
429
- updatedAt: now,
430
- };
431
- }
432
- async batchUpsertNativeCatalogItems(context, catalogId, items) {
433
- await this.deps.authz.requireBindingAccess(context, context.appId, catalogId, "write");
434
- const descriptor = await this.deps.descriptors.get(catalogId);
435
- if (!descriptor)
436
- throw new CatalogAdapterError({ catalogId, reason: "missing_descriptor" });
437
- const now = new Date().toISOString();
438
- const records = items.map((data) => {
439
- const itemId = resolveCatalogItemId({ identity: descriptor.descriptor.identity, data });
440
- return {
441
- itemId,
442
- catalogId,
443
- appScopedOwnerId: context.appId,
444
- indexed: data.indexed,
445
- data,
446
- createdAt: now,
447
- updatedAt: now,
448
- };
449
- });
450
- await this.deps.nativeItems.batchUpsert(catalogId, records);
451
- }
452
- importCatalogItemsFromJson(json) {
453
- return parseJson(json);
454
- }
455
- exportCatalogItemsToJson(value, pretty = true) {
456
- return toJson(value, pretty);
457
- }
458
- async syncMappedCatalog(_context, _catalogId) {
459
- const catalog = await this.deps.catalogs.get(_catalogId);
460
- if (!catalog)
461
- throw new CatalogNotFoundError({ catalogId: _catalogId });
462
- const def = await this.deps.definitions.get(_catalogId);
463
- if (!def || def.type !== "mapped")
464
- throw new CatalogAdapterError({ catalogId: _catalogId, reason: "not_mapped" });
465
- const mode = def.sync?.mode;
466
- if (mode !== "snapshot")
467
- return { syncStatus: "idle" };
468
- const now = new Date().toISOString();
469
- const list = await this.listCatalogItems(_context, _catalogId, { limit: 500 });
470
- for (const item of list.items) {
471
- await this.deps.snapshots.upsert(_catalogId, {
472
- itemId: item.itemId,
473
- catalogId: _catalogId,
474
- data: item.data,
475
- sync: { lastSyncedAt: now, syncStatus: "success" },
476
- });
477
- }
478
- await this.deps.definitions.upsert({
479
- ...def,
480
- sync: {
481
- ...(def.sync ?? { mode: "snapshot" }),
482
- mode: "snapshot",
483
- lastSyncedAt: now,
484
- syncStatus: "success",
485
- },
486
- updatedAt: now,
487
- });
488
- return { syncStatus: "success", lastSyncedAt: now };
489
- }
490
- }
491
- // (moved to `src/contracts/bootstrap.ts`)
492
- //# sourceMappingURL=catalox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"catalox.js","sourceRoot":"","sources":["../../src/catalox/catalox.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import type { AppRecord } from "../contracts/apps.js";
2
- import type { AppId } from "../contracts/ids.js";
3
- import type { CataloxContext } from "../contracts/context.js";
4
- import { AppStore } from "../firebase/app-store.js";
5
- export type ResolveContextOptions = {
6
- appId: AppId;
7
- actor?: CataloxContext["actor"];
8
- };
9
- export declare class ContextResolver {
10
- private readonly apps;
11
- constructor(apps: AppStore);
12
- resolve(options: ResolveContextOptions): Promise<{
13
- context: CataloxContext;
14
- app: AppRecord | null;
15
- }>;
16
- }
17
- //# sourceMappingURL=context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/catalox/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,QAAQ;IAErC,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC;QACrD,OAAO,EAAE,cAAc,CAAC;QACxB,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;KACvB,CAAC;CAaH"}
@@ -1,21 +0,0 @@
1
- import { AppStore } from "../firebase/app-store.js";
2
- export class ContextResolver {
3
- apps;
4
- constructor(apps) {
5
- this.apps = apps;
6
- }
7
- async resolve(options) {
8
- const app = await this.apps.get(options.appId);
9
- const isGodMode = Boolean(app?.isGodModeApp);
10
- const actor = options.actor;
11
- return {
12
- context: {
13
- appId: options.appId,
14
- isGodMode,
15
- ...(actor ? { actor } : {}),
16
- },
17
- app,
18
- };
19
- }
20
- }
21
- //# sourceMappingURL=context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/catalox/context.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAOpD,MAAM,OAAO,eAAe;IACG;IAA7B,YAA6B,IAAc;QAAd,SAAI,GAAJ,IAAI,CAAU;IAAG,CAAC;IAE/C,KAAK,CAAC,OAAO,CAAC,OAA8B;QAI1C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,OAAO;YACL,OAAO,EAAE;gBACP,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,SAAS;gBACT,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5B;YACD,GAAG;SACJ,CAAC;IACJ,CAAC;CACF"}
@@ -1,7 +0,0 @@
1
- import type { CatalogIdentityDescriptor } from "../contracts/descriptors.js";
2
- export type ResolveCatalogItemIdInput = {
3
- identity: CatalogIdentityDescriptor;
4
- data: Record<string, unknown>;
5
- };
6
- export declare function resolveCatalogItemId(input: ResolveCatalogItemIdInput): string;
7
- //# sourceMappingURL=identity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/catalox/identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAE7E,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,yBAAyB,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,GAAG,MAAM,CAsB7E"}
@@ -1,26 +0,0 @@
1
- export function resolveCatalogItemId(input) {
2
- const { identity, data } = input;
3
- if (identity.itemIdStrategy === "generated") {
4
- // Deterministic generation is handled by callers when needed; default to missing.
5
- throw new Error("Generated itemIdStrategy requires caller-supplied id.");
6
- }
7
- if (identity.itemIdStrategy === "natural") {
8
- if (!identity.itemIdField)
9
- throw new Error("Natural identity requires itemIdField.");
10
- const v = data[identity.itemIdField];
11
- if (v == null || v === "")
12
- throw new Error("Natural identity value missing.");
13
- return String(v);
14
- }
15
- const fields = identity.compositeFields ?? [];
16
- if (!fields.length)
17
- throw new Error("Composite identity requires compositeFields.");
18
- const parts = fields.map((f) => {
19
- const v = data[f];
20
- if (v == null || v === "")
21
- throw new Error(`Composite identity missing field: ${f}`);
22
- return String(v);
23
- });
24
- return parts.join(":");
25
- }
26
- //# sourceMappingURL=identity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/catalox/identity.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,oBAAoB,CAAC,KAAgC;IACnE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACjC,IAAI,QAAQ,CAAC,cAAc,KAAK,WAAW,EAAE,CAAC;QAC5C,kFAAkF;QAClF,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACrF,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC9E,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACpF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,EAAE,CAAC,CAAC;QACrF,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC"}
@@ -1,6 +0,0 @@
1
- export * from "./context.js";
2
- export * from "./authorization.js";
3
- export * from "./catalox.js";
4
- export * from "./identity.js";
5
- export * from "./json-io.js";
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/catalox/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
@@ -1,6 +0,0 @@
1
- export * from "./context.js";
2
- export * from "./authorization.js";
3
- export * from "./catalox.js";
4
- export * from "./identity.js";
5
- export * from "./json-io.js";
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/catalox/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
@@ -1,3 +0,0 @@
1
- export declare function parseJson<T = unknown>(text: string): T;
2
- export declare function toJson(value: unknown, pretty?: boolean): string;
3
- //# sourceMappingURL=json-io.d.ts.map