@party-stack/ontology 0.19.0 → 0.19.1

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 (402) hide show
  1. package/lib/OntologyPullConfig.d.ts +15 -13
  2. package/lib/OntologyPullConfig.d.ts.map +1 -1
  3. package/lib/OntologyPullConfig.js +0 -1
  4. package/lib/_virtual/_rolldown/runtime.js +13 -0
  5. package/lib/cli/format.d.ts +4 -0
  6. package/lib/cli/format.d.ts.map +1 -0
  7. package/lib/cli/format.js +19 -0
  8. package/lib/cli/format.js.map +1 -0
  9. package/lib/cli/generate.d.ts +6 -5
  10. package/lib/cli/generate.d.ts.map +1 -1
  11. package/lib/cli/generate.js +86 -110
  12. package/lib/cli/generate.js.map +1 -1
  13. package/lib/cli/index.d.ts +1 -3
  14. package/lib/cli/index.js +42 -59
  15. package/lib/cli/index.js.map +1 -1
  16. package/lib/cli/pull.d.ts +3 -1
  17. package/lib/cli/pull.d.ts.map +1 -1
  18. package/lib/cli/pull.js +42 -60
  19. package/lib/cli/pull.js.map +1 -1
  20. package/lib/examples/blog.d.ts +347 -345
  21. package/lib/examples/blog.d.ts.map +1 -1
  22. package/lib/examples/blog.js +350 -337
  23. package/lib/examples/blog.js.map +1 -1
  24. package/lib/examples/blog.live-queries.d.ts +8 -3
  25. package/lib/examples/blog.live-queries.d.ts.map +1 -1
  26. package/lib/examples/blog.live-queries.js +28 -44
  27. package/lib/examples/blog.live-queries.js.map +1 -1
  28. package/lib/examples/generated/constants.d.ts +1 -2
  29. package/lib/examples/generated/constants.js +0 -2
  30. package/lib/examples/generated/live.d.ts +5 -3
  31. package/lib/examples/generated/live.d.ts.map +1 -1
  32. package/lib/examples/generated/live.js +12 -8
  33. package/lib/examples/generated/live.js.map +1 -1
  34. package/lib/examples/generated/types.d.ts +52 -50
  35. package/lib/examples/generated/types.d.ts.map +1 -1
  36. package/lib/examples/generated/types.js +0 -2
  37. package/lib/generate/builders.d.ts +8 -5
  38. package/lib/generate/builders.d.ts.map +1 -1
  39. package/lib/generate/builders.js +53 -55
  40. package/lib/generate/builders.js.map +1 -1
  41. package/lib/generate/constants.d.ts +3 -1
  42. package/lib/generate/constants.d.ts.map +1 -1
  43. package/lib/generate/constants.js +23 -26
  44. package/lib/generate/constants.js.map +1 -1
  45. package/lib/generate/index.d.ts +6 -6
  46. package/lib/generate/index.js +6 -6
  47. package/lib/generate/live.d.ts +8 -6
  48. package/lib/generate/live.d.ts.map +1 -1
  49. package/lib/generate/live.js +43 -42
  50. package/lib/generate/live.js.map +1 -1
  51. package/lib/generate/ontology.d.ts +4 -2
  52. package/lib/generate/ontology.d.ts.map +1 -1
  53. package/lib/generate/ontology.js +453 -354
  54. package/lib/generate/ontology.js.map +1 -1
  55. package/lib/generate/types.d.ts +7 -6
  56. package/lib/generate/types.d.ts.map +1 -1
  57. package/lib/generate/types.js +190 -262
  58. package/lib/generate/types.js.map +1 -1
  59. package/lib/generate/utils/buildJsDocs.d.ts +7 -4
  60. package/lib/generate/utils/buildJsDocs.d.ts.map +1 -1
  61. package/lib/generate/utils/buildJsDocs.js +14 -10
  62. package/lib/generate/utils/buildJsDocs.js.map +1 -1
  63. package/lib/index.d.ts +30 -13
  64. package/lib/index.js +18 -10
  65. package/lib/infer.d.ts +129 -152
  66. package/lib/infer.d.ts.map +1 -1
  67. package/lib/infer.js +10 -6
  68. package/lib/infer.js.map +1 -1
  69. package/lib/installation/createMetaOntologyConfiguration.d.ts +6 -3
  70. package/lib/installation/createMetaOntologyConfiguration.d.ts.map +1 -1
  71. package/lib/installation/createMetaOntologyConfiguration.js +13 -11
  72. package/lib/installation/createMetaOntologyConfiguration.js.map +1 -1
  73. package/lib/installation/createOntologyBackendInstallation.d.ts +3 -1
  74. package/lib/installation/createOntologyBackendInstallation.d.ts.map +1 -1
  75. package/lib/installation/createOntologyBackendInstallation.js +205 -268
  76. package/lib/installation/createOntologyBackendInstallation.js.map +1 -1
  77. package/lib/installation/index.d.ts +4 -4
  78. package/lib/installation/index.js +3 -3
  79. package/lib/installation/types.d.ts +83 -80
  80. package/lib/installation/types.d.ts.map +1 -1
  81. package/lib/installation/types.js +0 -1
  82. package/lib/ir/generated/builders.d.ts +294 -382
  83. package/lib/ir/generated/builders.d.ts.map +1 -1
  84. package/lib/ir/generated/builders.js +180 -119
  85. package/lib/ir/generated/builders.js.map +1 -1
  86. package/lib/ir/generated/constants.d.ts +137 -135
  87. package/lib/ir/generated/constants.d.ts.map +1 -1
  88. package/lib/ir/generated/constants.js +162 -129
  89. package/lib/ir/generated/constants.js.map +1 -1
  90. package/lib/ir/generated/types.d.ts +239 -234
  91. package/lib/ir/generated/types.d.ts.map +1 -1
  92. package/lib/ir/generated/types.js +0 -2
  93. package/lib/ir/index.d.ts +4 -4
  94. package/lib/ir/index.js +3 -4
  95. package/lib/ir/schema.d.ts +2174 -2172
  96. package/lib/ir/schema.d.ts.map +1 -1
  97. package/lib/ir/schema.js +1184 -1343
  98. package/lib/ir/schema.js.map +1 -1
  99. package/lib/ir/validate.d.ts +5 -3
  100. package/lib/ir/validate.d.ts.map +1 -1
  101. package/lib/ir/validate.js +589 -707
  102. package/lib/ir/validate.js.map +1 -1
  103. package/lib/json/index.d.ts +10 -8
  104. package/lib/json/index.d.ts.map +1 -1
  105. package/lib/json/index.js +101 -135
  106. package/lib/json/index.js.map +1 -1
  107. package/lib/lenses.d.ts +7 -4
  108. package/lib/lenses.d.ts.map +1 -1
  109. package/lib/lenses.js +96 -132
  110. package/lib/lenses.js.map +1 -1
  111. package/lib/live/LiveOntology.d.ts +55 -60
  112. package/lib/live/LiveOntology.d.ts.map +1 -1
  113. package/lib/live/LiveOntology.js +98 -124
  114. package/lib/live/LiveOntology.js.map +1 -1
  115. package/lib/live/OntologyBackendAdapter.d.ts +79 -76
  116. package/lib/live/OntologyBackendAdapter.d.ts.map +1 -1
  117. package/lib/live/OntologyBackendAdapter.js +0 -1
  118. package/lib/live/actions/createLiveOntologyAction.d.ts +27 -24
  119. package/lib/live/actions/createLiveOntologyAction.d.ts.map +1 -1
  120. package/lib/live/actions/createLiveOntologyAction.js +24 -21
  121. package/lib/live/actions/createLiveOntologyAction.js.map +1 -1
  122. package/lib/live/actions/createLiveOntologyActions.d.ts +23 -20
  123. package/lib/live/actions/createLiveOntologyActions.d.ts.map +1 -1
  124. package/lib/live/actions/createLiveOntologyActions.js +131 -161
  125. package/lib/live/actions/createLiveOntologyActions.js.map +1 -1
  126. package/lib/live/actions/prepareActionParameters.d.ts +14 -11
  127. package/lib/live/actions/prepareActionParameters.d.ts.map +1 -1
  128. package/lib/live/actions/prepareActionParameters.js +190 -228
  129. package/lib/live/actions/prepareActionParameters.js.map +1 -1
  130. package/lib/live/attachments/attachmentSources.d.ts +7 -4
  131. package/lib/live/attachments/attachmentSources.d.ts.map +1 -1
  132. package/lib/live/attachments/attachmentSources.js +55 -71
  133. package/lib/live/attachments/attachmentSources.js.map +1 -1
  134. package/lib/live/attachments/createLiveOntologyAttachments.d.ts +47 -45
  135. package/lib/live/attachments/createLiveOntologyAttachments.d.ts.map +1 -1
  136. package/lib/live/attachments/createLiveOntologyAttachments.js +65 -83
  137. package/lib/live/attachments/createLiveOntologyAttachments.js.map +1 -1
  138. package/lib/live/attachments/types.d.ts +10 -9
  139. package/lib/live/attachments/types.d.ts.map +1 -1
  140. package/lib/live/attachments/types.js +0 -1
  141. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.d.ts +3 -1
  142. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.d.ts.map +1 -1
  143. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.js +5 -3
  144. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.js.map +1 -1
  145. package/lib/live/expression.d.ts +16 -14
  146. package/lib/live/expression.d.ts.map +1 -1
  147. package/lib/live/expression.js +142 -223
  148. package/lib/live/expression.js.map +1 -1
  149. package/lib/live/index.d.ts +12 -9
  150. package/lib/live/index.js +6 -8
  151. package/lib/live/mutators/OntologyEdits.d.ts +12 -9
  152. package/lib/live/mutators/OntologyEdits.d.ts.map +1 -1
  153. package/lib/live/mutators/OntologyEdits.js +57 -74
  154. package/lib/live/mutators/OntologyEdits.js.map +1 -1
  155. package/lib/live/mutators/createMutatorTx.d.ts +7 -5
  156. package/lib/live/mutators/createMutatorTx.d.ts.map +1 -1
  157. package/lib/live/mutators/createMutatorTx.js +53 -69
  158. package/lib/live/mutators/createMutatorTx.js.map +1 -1
  159. package/lib/live/mutators/runOptimisticAction.d.ts +16 -13
  160. package/lib/live/mutators/runOptimisticAction.d.ts.map +1 -1
  161. package/lib/live/mutators/runOptimisticAction.js +26 -26
  162. package/lib/live/mutators/runOptimisticAction.js.map +1 -1
  163. package/lib/live/mutators/types.d.ts +18 -16
  164. package/lib/live/mutators/types.d.ts.map +1 -1
  165. package/lib/live/mutators/types.js +0 -1
  166. package/lib/live/objects/OntologyObject.d.ts +2 -0
  167. package/lib/live/objects/OntologyObject.d.ts.map +1 -1
  168. package/lib/live/objects/OntologyObject.js +0 -1
  169. package/lib/live/objects/createLiveOntologyObjectCollection.d.ts +13 -10
  170. package/lib/live/objects/createLiveOntologyObjectCollection.d.ts.map +1 -1
  171. package/lib/live/objects/createLiveOntologyObjectCollection.js +48 -49
  172. package/lib/live/objects/createLiveOntologyObjectCollection.js.map +1 -1
  173. package/lib/live/objects/ontologyObjectCollectionId.d.ts +2 -0
  174. package/lib/live/objects/ontologyObjectCollectionId.d.ts.map +1 -1
  175. package/lib/live/objects/ontologyObjectCollectionId.js +6 -2
  176. package/lib/live/objects/ontologyObjectCollectionId.js.map +1 -1
  177. package/lib/live/outbox/createOntologyOutbox.d.ts +16 -14
  178. package/lib/live/outbox/createOntologyOutbox.d.ts.map +1 -1
  179. package/lib/live/outbox/createOntologyOutbox.js +275 -326
  180. package/lib/live/outbox/createOntologyOutbox.js.map +1 -1
  181. package/lib/live/outbox/leaderExecutor.d.ts +15 -13
  182. package/lib/live/outbox/leaderExecutor.d.ts.map +1 -1
  183. package/lib/live/outbox/leaderExecutor.js +114 -153
  184. package/lib/live/outbox/leaderExecutor.js.map +1 -1
  185. package/lib/live/outbox/outboxService.d.ts +4 -2
  186. package/lib/live/outbox/outboxService.d.ts.map +1 -1
  187. package/lib/live/outbox/outboxService.js +66 -71
  188. package/lib/live/outbox/outboxService.js.map +1 -1
  189. package/lib/live/outbox/projectionManager.d.ts +26 -24
  190. package/lib/live/outbox/projectionManager.d.ts.map +1 -1
  191. package/lib/live/outbox/projectionManager.js +121 -147
  192. package/lib/live/outbox/projectionManager.js.map +1 -1
  193. package/lib/live/outbox/repository.d.ts +27 -25
  194. package/lib/live/outbox/repository.d.ts.map +1 -1
  195. package/lib/live/outbox/repository.js +192 -241
  196. package/lib/live/outbox/repository.js.map +1 -1
  197. package/lib/live/outbox/service.d.ts +52 -50
  198. package/lib/live/outbox/service.d.ts.map +1 -1
  199. package/lib/live/outbox/service.js +5 -1
  200. package/lib/live/outbox/service.js.map +1 -1
  201. package/lib/live/outbox/types.d.ts +35 -33
  202. package/lib/live/outbox/types.d.ts.map +1 -1
  203. package/lib/live/outbox/types.js +10 -6
  204. package/lib/live/outbox/types.js.map +1 -1
  205. package/lib/live/waitForCollectionReady.d.ts +3 -1
  206. package/lib/live/waitForCollectionReady.d.ts.map +1 -1
  207. package/lib/live/waitForCollectionReady.js +44 -65
  208. package/lib/live/waitForCollectionReady.js.map +1 -1
  209. package/lib/meta/createLocalMetaOntologyBackendAdapter.d.ts +5 -2
  210. package/lib/meta/createLocalMetaOntologyBackendAdapter.d.ts.map +1 -1
  211. package/lib/meta/createLocalMetaOntologyBackendAdapter.js +37 -39
  212. package/lib/meta/createLocalMetaOntologyBackendAdapter.js.map +1 -1
  213. package/lib/meta/generated/constants.d.ts +137 -135
  214. package/lib/meta/generated/constants.d.ts.map +1 -1
  215. package/lib/meta/generated/constants.js +162 -129
  216. package/lib/meta/generated/constants.js.map +1 -1
  217. package/lib/meta/generated/live.d.ts +5 -2
  218. package/lib/meta/generated/live.d.ts.map +1 -1
  219. package/lib/meta/generated/live.js +12 -8
  220. package/lib/meta/generated/live.js.map +1 -1
  221. package/lib/meta/generated/types.d.ts +233 -231
  222. package/lib/meta/generated/types.d.ts.map +1 -1
  223. package/lib/meta/generated/types.js +0 -2
  224. package/lib/meta/ontology.d.ts +23 -21
  225. package/lib/meta/ontology.d.ts.map +1 -1
  226. package/lib/meta/ontology.js +100 -104
  227. package/lib/meta/ontology.js.map +1 -1
  228. package/lib/meta/pull.d.ts +8 -6
  229. package/lib/meta/pull.d.ts.map +1 -1
  230. package/lib/meta/pull.js +39 -52
  231. package/lib/meta/pull.js.map +1 -1
  232. package/lib/utils/index.d.ts +8 -8
  233. package/lib/utils/index.js +5 -6
  234. package/lib/utils/links.d.ts +34 -32
  235. package/lib/utils/links.d.ts.map +1 -1
  236. package/lib/utils/links.js +10 -17
  237. package/lib/utils/links.js.map +1 -1
  238. package/lib/utils/paths.d.ts +2 -0
  239. package/lib/utils/paths.d.ts.map +1 -1
  240. package/lib/utils/paths.js +32 -44
  241. package/lib/utils/paths.js.map +1 -1
  242. package/lib/utils/provide.d.ts +2 -0
  243. package/lib/utils/provide.d.ts.map +1 -1
  244. package/lib/utils/provide.js +7 -9
  245. package/lib/utils/provide.js.map +1 -1
  246. package/lib/utils/targets.d.ts +20 -18
  247. package/lib/utils/targets.d.ts.map +1 -1
  248. package/lib/utils/targets.js +0 -1
  249. package/lib/utils/typeNames.d.ts +10 -8
  250. package/lib/utils/typeNames.d.ts.map +1 -1
  251. package/lib/utils/typeNames.js +0 -1
  252. package/lib/utils/types.d.ts +6 -4
  253. package/lib/utils/types.d.ts.map +1 -1
  254. package/lib/utils/types.js +38 -38
  255. package/lib/utils/types.js.map +1 -1
  256. package/lib/utils/uncertain.d.ts +5 -3
  257. package/lib/utils/uncertain.d.ts.map +1 -1
  258. package/lib/utils/uncertain.js +11 -9
  259. package/lib/utils/uncertain.js.map +1 -1
  260. package/lib/utils/validation.d.ts +4 -2
  261. package/lib/utils/validation.d.ts.map +1 -1
  262. package/lib/utils/validation.js +0 -1
  263. package/lib/utils/values.d.ts +21 -18
  264. package/lib/utils/values.d.ts.map +1 -1
  265. package/lib/utils/values.js +0 -1
  266. package/package.json +19 -23
  267. package/lib/OntologyPullConfig.js.map +0 -1
  268. package/lib/cli/index.d.ts.map +0 -1
  269. package/lib/cli/index.test.d.ts +0 -2
  270. package/lib/cli/index.test.d.ts.map +0 -1
  271. package/lib/cli/index.test.js +0 -34
  272. package/lib/cli/index.test.js.map +0 -1
  273. package/lib/cli/pull.test.d.ts +0 -2
  274. package/lib/cli/pull.test.d.ts.map +0 -1
  275. package/lib/cli/pull.test.js +0 -125
  276. package/lib/cli/pull.test.js.map +0 -1
  277. package/lib/examples/generated/constants.d.ts.map +0 -1
  278. package/lib/examples/generated/constants.js.map +0 -1
  279. package/lib/examples/generated/types.js.map +0 -1
  280. package/lib/generate/builders.test.d.ts +0 -2
  281. package/lib/generate/builders.test.d.ts.map +0 -1
  282. package/lib/generate/builders.test.js +0 -49
  283. package/lib/generate/builders.test.js.map +0 -1
  284. package/lib/generate/index.d.ts.map +0 -1
  285. package/lib/generate/index.js.map +0 -1
  286. package/lib/generate/live.test.d.ts +0 -2
  287. package/lib/generate/live.test.d.ts.map +0 -1
  288. package/lib/generate/live.test.js +0 -22
  289. package/lib/generate/live.test.js.map +0 -1
  290. package/lib/generate/ontology.test.d.ts +0 -2
  291. package/lib/generate/ontology.test.d.ts.map +0 -1
  292. package/lib/generate/ontology.test.js +0 -157
  293. package/lib/generate/ontology.test.js.map +0 -1
  294. package/lib/generate/types.test.d.ts +0 -2
  295. package/lib/generate/types.test.d.ts.map +0 -1
  296. package/lib/generate/types.test.js +0 -304
  297. package/lib/generate/types.test.js.map +0 -1
  298. package/lib/index.d.ts.map +0 -1
  299. package/lib/index.js.map +0 -1
  300. package/lib/infer.test.d.ts +0 -2
  301. package/lib/infer.test.d.ts.map +0 -1
  302. package/lib/infer.test.js +0 -125
  303. package/lib/infer.test.js.map +0 -1
  304. package/lib/installation/createMetaOntologyConfiguration.test.d.ts +0 -2
  305. package/lib/installation/createMetaOntologyConfiguration.test.d.ts.map +0 -1
  306. package/lib/installation/createMetaOntologyConfiguration.test.js +0 -20
  307. package/lib/installation/createMetaOntologyConfiguration.test.js.map +0 -1
  308. package/lib/installation/createOntologyBackendInstallation.test.d.ts +0 -2
  309. package/lib/installation/createOntologyBackendInstallation.test.d.ts.map +0 -1
  310. package/lib/installation/createOntologyBackendInstallation.test.js +0 -320
  311. package/lib/installation/createOntologyBackendInstallation.test.js.map +0 -1
  312. package/lib/installation/index.d.ts.map +0 -1
  313. package/lib/installation/index.js.map +0 -1
  314. package/lib/installation/types.js.map +0 -1
  315. package/lib/ir/generated/types.js.map +0 -1
  316. package/lib/ir/index.d.ts.map +0 -1
  317. package/lib/ir/index.js.map +0 -1
  318. package/lib/ir/validate.test.d.ts +0 -2
  319. package/lib/ir/validate.test.d.ts.map +0 -1
  320. package/lib/ir/validate.test.js +0 -1061
  321. package/lib/ir/validate.test.js.map +0 -1
  322. package/lib/json/index.test.d.ts +0 -2
  323. package/lib/json/index.test.d.ts.map +0 -1
  324. package/lib/json/index.test.js +0 -142
  325. package/lib/json/index.test.js.map +0 -1
  326. package/lib/lenses.test.d.ts +0 -2
  327. package/lib/lenses.test.d.ts.map +0 -1
  328. package/lib/lenses.test.js +0 -80
  329. package/lib/lenses.test.js.map +0 -1
  330. package/lib/live/LiveOntology.test.d.ts +0 -2
  331. package/lib/live/LiveOntology.test.d.ts.map +0 -1
  332. package/lib/live/LiveOntology.test.js +0 -507
  333. package/lib/live/LiveOntology.test.js.map +0 -1
  334. package/lib/live/OntologyBackendAdapter.js.map +0 -1
  335. package/lib/live/actions/createLiveOntologyAction.test.d.ts +0 -2
  336. package/lib/live/actions/createLiveOntologyAction.test.d.ts.map +0 -1
  337. package/lib/live/actions/createLiveOntologyAction.test.js +0 -232
  338. package/lib/live/actions/createLiveOntologyAction.test.js.map +0 -1
  339. package/lib/live/actions/prepareActionParameters.test.d.ts +0 -2
  340. package/lib/live/actions/prepareActionParameters.test.d.ts.map +0 -1
  341. package/lib/live/actions/prepareActionParameters.test.js +0 -165
  342. package/lib/live/actions/prepareActionParameters.test.js.map +0 -1
  343. package/lib/live/attachments/attachmentMetadata.test.d.ts +0 -2
  344. package/lib/live/attachments/attachmentMetadata.test.d.ts.map +0 -1
  345. package/lib/live/attachments/attachmentMetadata.test.js +0 -73
  346. package/lib/live/attachments/attachmentMetadata.test.js.map +0 -1
  347. package/lib/live/attachments/createLiveOntologyAttachments.test.d.ts +0 -2
  348. package/lib/live/attachments/createLiveOntologyAttachments.test.d.ts.map +0 -1
  349. package/lib/live/attachments/createLiveOntologyAttachments.test.js +0 -363
  350. package/lib/live/attachments/createLiveOntologyAttachments.test.js.map +0 -1
  351. package/lib/live/attachments/types.js.map +0 -1
  352. package/lib/live/expression.test.d.ts +0 -2
  353. package/lib/live/expression.test.d.ts.map +0 -1
  354. package/lib/live/expression.test.js +0 -311
  355. package/lib/live/expression.test.js.map +0 -1
  356. package/lib/live/index.d.ts.map +0 -1
  357. package/lib/live/index.js.map +0 -1
  358. package/lib/live/mutators/OntologyEdits.test.d.ts +0 -2
  359. package/lib/live/mutators/OntologyEdits.test.d.ts.map +0 -1
  360. package/lib/live/mutators/OntologyEdits.test.js +0 -85
  361. package/lib/live/mutators/OntologyEdits.test.js.map +0 -1
  362. package/lib/live/mutators/createMutatorTx.test.d.ts +0 -2
  363. package/lib/live/mutators/createMutatorTx.test.d.ts.map +0 -1
  364. package/lib/live/mutators/createMutatorTx.test.js +0 -180
  365. package/lib/live/mutators/createMutatorTx.test.js.map +0 -1
  366. package/lib/live/mutators/types.js.map +0 -1
  367. package/lib/live/objects/OntologyObject.js.map +0 -1
  368. package/lib/live/objects/createLiveOntologyObjectCollection.test.d.ts +0 -2
  369. package/lib/live/objects/createLiveOntologyObjectCollection.test.d.ts.map +0 -1
  370. package/lib/live/objects/createLiveOntologyObjectCollection.test.js +0 -310
  371. package/lib/live/objects/createLiveOntologyObjectCollection.test.js.map +0 -1
  372. package/lib/live/outbox/createOntologyOutbox.test.d.ts +0 -2
  373. package/lib/live/outbox/createOntologyOutbox.test.d.ts.map +0 -1
  374. package/lib/live/outbox/createOntologyOutbox.test.js +0 -1030
  375. package/lib/live/outbox/createOntologyOutbox.test.js.map +0 -1
  376. package/lib/meta/generated/types.js.map +0 -1
  377. package/lib/meta/ontology.test.d.ts +0 -2
  378. package/lib/meta/ontology.test.d.ts.map +0 -1
  379. package/lib/meta/ontology.test.js +0 -84
  380. package/lib/meta/ontology.test.js.map +0 -1
  381. package/lib/utils/index.d.ts.map +0 -1
  382. package/lib/utils/index.js.map +0 -1
  383. package/lib/utils/links.test.d.ts +0 -2
  384. package/lib/utils/links.test.d.ts.map +0 -1
  385. package/lib/utils/links.test.js +0 -109
  386. package/lib/utils/links.test.js.map +0 -1
  387. package/lib/utils/paths.test.d.ts +0 -2
  388. package/lib/utils/paths.test.d.ts.map +0 -1
  389. package/lib/utils/paths.test.js +0 -33
  390. package/lib/utils/paths.test.js.map +0 -1
  391. package/lib/utils/targets.js.map +0 -1
  392. package/lib/utils/typeNames.js.map +0 -1
  393. package/lib/utils/types.test.d.ts +0 -2
  394. package/lib/utils/types.test.d.ts.map +0 -1
  395. package/lib/utils/types.test.js +0 -157
  396. package/lib/utils/types.test.js.map +0 -1
  397. package/lib/utils/uncertain.test.d.ts +0 -2
  398. package/lib/utils/uncertain.test.d.ts.map +0 -1
  399. package/lib/utils/uncertain.test.js +0 -14
  400. package/lib/utils/uncertain.test.js.map +0 -1
  401. package/lib/utils/validation.js.map +0 -1
  402. package/lib/utils/values.js.map +0 -1
@@ -1,135 +1,109 @@
1
- import { createBlobManager } from "@party-stack/blobs";
2
- import { createDefaultRuntime } from "@party-stack/runtime";
3
1
  import { provide } from "../utils/provide.js";
4
2
  import { createLiveOntologyActions } from "./actions/createLiveOntologyActions.js";
5
- import { createLiveOntologyAttachments, } from "./attachments/createLiveOntologyAttachments.js";
3
+ import { createLiveOntologyAttachments } from "./attachments/createLiveOntologyAttachments.js";
6
4
  import { unsupportedOntologyAttachmentsAdapter } from "./attachments/unsupportedOntologyAttachmentsAdapter.js";
7
5
  import { createLiveOntologyObjectCollection } from "./objects/createLiveOntologyObjectCollection.js";
8
6
  import { waitForCollectionsReady } from "./waitForCollectionReady.js";
7
+ import { createBlobManager } from "@party-stack/blobs";
8
+ import { createDefaultRuntime } from "@party-stack/runtime";
9
+ //#region src/live/LiveOntology.ts
9
10
  function getContextUserId(context) {
10
- return typeof context.user === "string" ? context.user : undefined;
11
+ return typeof context.user === "string" ? context.user : void 0;
11
12
  }
12
13
  /**
13
- * Waits for LiveOntology subsystems required before safe use.
14
- * Starts on-demand object collection sync without loading subsets.
15
- */
16
- export async function waitForLiveOntologyReady(ontology) {
17
- await ontology.ready;
18
- await waitForCollectionsReady(Object.values(ontology.objects));
14
+ * Waits for LiveOntology subsystems required before safe use.
15
+ * Starts on-demand object collection sync without loading subsets.
16
+ */
17
+ async function waitForLiveOntologyReady(ontology) {
18
+ await ontology.ready;
19
+ await waitForCollectionsReady(Object.values(ontology.objects));
19
20
  }
20
- export async function createLiveOntology(opts) {
21
- const ontologyId = opts.id ?? "default";
22
- const context = (opts.context ?? {});
23
- const owner = getContextUserId(context) ??
24
- "anonymous";
25
- // TODO(errors): Decorate backend operations and collection options so
26
- // normalized errors (especially UnauthenticatedError) are reported through
27
- // the ConnectionMonitor. Promise-based calls can be wrapped directly;
28
- // long-running sync handlers need a lifecycle-aware supervisor that pauses
29
- // on needs-auth and restarts from a checkpoint after reconnection.
30
- const backendAdapter = await provide(opts.backend, opts.ir, context);
31
- const runtime = await provide(opts.runtime ?? createDefaultRuntime, owner, ontologyId);
32
- const attachmentsAdapter = backendAdapter.attachments ?? unsupportedOntologyAttachmentsAdapter;
33
- const blobManager = createBlobManager({
34
- runtime,
35
- remote: {
36
- read: (id, readOptions) => {
37
- const attachmentValue = readOptions?.meta?.attachment;
38
- return attachmentsAdapter.getAttachmentContent(attachmentValue ?? { id });
39
- },
40
- metadata: attachmentsAdapter.getAttachmentMetadata
41
- ? (id, readOptions) => attachmentsAdapter.getAttachmentMetadata(readOptions?.meta?.attachment ?? { id }, readOptions?.select ?? ["size", "type", "name"])
42
- : undefined,
43
- },
44
- });
45
- const attachments = createLiveOntologyAttachments({
46
- ir: opts.ir,
47
- attachmentsAdapter,
48
- blobManager,
49
- });
50
- const objects = Object.fromEntries(opts.ir.objectTypes.map((objectType) => [
51
- objectType.name,
52
- createLiveOntologyObjectCollection({
53
- ir: opts.ir,
54
- objectType,
55
- backendAdapter,
56
- runtime,
57
- persistObjects: opts.persistObjects ?? false,
58
- }),
59
- ]));
60
- const actionsSubsystem = createLiveOntologyActions({
61
- ir: opts.ir,
62
- backendAdapter,
63
- runtime,
64
- context,
65
- objects,
66
- blobManager,
67
- writes: opts.writes,
68
- connection: opts.connection,
69
- });
70
- const queryFunctions = Object.fromEntries(opts.ir.queryFunctionTypes.map((queryFunctionType) => [
71
- queryFunctionType.name,
72
- (parameters) => backendAdapter.runQueryFunction(queryFunctionType.name, parameters, {
73
- objects: objects,
74
- context,
75
- }),
76
- ]));
77
- const ready = Promise.all([actionsSubsystem.outbox.ready, blobManager.ready]).then(() => undefined);
78
- void ready.catch(() => undefined);
79
- let cleanupPromise;
80
- const cleanup = () => {
81
- cleanupPromise ??= (async () => {
82
- // Settle subsystem startups before tearing down persistence.
83
- await Promise.allSettled([
84
- ready,
85
- ]);
86
- await actionsSubsystem.outbox.cleanup();
87
- await Promise.all(Object.values(objects).map(async (collection) => {
88
- const status = collection.status;
89
- if (status ===
90
- "cleaned-up") {
91
- return;
92
- }
93
- // Settle in-flight startup only; ready/idle need no preload.
94
- if (status ===
95
- "loading") {
96
- await Promise.allSettled([
97
- collection.preload(),
98
- ]);
99
- }
100
- try {
101
- await collection.cleanup();
102
- }
103
- catch {
104
- // Idempotent: already cleaned up during preload race.
105
- }
106
- }));
107
- await Promise.all([
108
- blobManager.cleanup(),
109
- backendAdapter.cleanup?.(),
110
- ]);
111
- await runtime.cleanup?.();
112
- })();
113
- return cleanupPromise;
114
- };
115
- let destroyPromise;
116
- const destroy = () => {
117
- destroyPromise ??= cleanup()
118
- .then(() => runtime.destroy?.())
119
- .then(() => undefined);
120
- return destroyPromise;
121
- };
122
- return {
123
- ir: opts.ir,
124
- context: context,
125
- ready,
126
- objects: objects,
127
- actions: actionsSubsystem.actions,
128
- queryFunctions: queryFunctions,
129
- attachments,
130
- outbox: actionsSubsystem.outbox,
131
- destroy,
132
- cleanup,
133
- };
21
+ async function createLiveOntology(opts) {
22
+ const ontologyId = opts.id ?? "default";
23
+ const context = opts.context ?? {};
24
+ const owner = getContextUserId(context) ?? "anonymous";
25
+ const backendAdapter = await provide(opts.backend, opts.ir, context);
26
+ const runtime = await provide(opts.runtime ?? createDefaultRuntime, owner, ontologyId);
27
+ const attachmentsAdapter = backendAdapter.attachments ?? unsupportedOntologyAttachmentsAdapter;
28
+ const blobManager = createBlobManager({
29
+ runtime,
30
+ remote: {
31
+ read: (id, readOptions) => {
32
+ const attachmentValue = readOptions?.meta?.attachment;
33
+ return attachmentsAdapter.getAttachmentContent(attachmentValue ?? { id });
34
+ },
35
+ metadata: attachmentsAdapter.getAttachmentMetadata ? (id, readOptions) => attachmentsAdapter.getAttachmentMetadata(readOptions?.meta?.attachment ?? { id }, readOptions?.select ?? [
36
+ "size",
37
+ "type",
38
+ "name"
39
+ ]) : void 0
40
+ }
41
+ });
42
+ const attachments = createLiveOntologyAttachments({
43
+ ir: opts.ir,
44
+ attachmentsAdapter,
45
+ blobManager
46
+ });
47
+ const objects = Object.fromEntries(opts.ir.objectTypes.map((objectType) => [objectType.name, createLiveOntologyObjectCollection({
48
+ ir: opts.ir,
49
+ objectType,
50
+ backendAdapter,
51
+ runtime,
52
+ persistObjects: opts.persistObjects ?? false
53
+ })]));
54
+ const actionsSubsystem = createLiveOntologyActions({
55
+ ir: opts.ir,
56
+ backendAdapter,
57
+ runtime,
58
+ context,
59
+ objects,
60
+ blobManager,
61
+ writes: opts.writes,
62
+ connection: opts.connection
63
+ });
64
+ const queryFunctions = Object.fromEntries(opts.ir.queryFunctionTypes.map((queryFunctionType) => [queryFunctionType.name, (parameters) => backendAdapter.runQueryFunction(queryFunctionType.name, parameters, {
65
+ objects,
66
+ context
67
+ })]));
68
+ const ready = Promise.all([actionsSubsystem.outbox.ready, blobManager.ready]).then(() => void 0);
69
+ ready.catch(() => void 0);
70
+ let cleanupPromise;
71
+ const cleanup = () => {
72
+ cleanupPromise ??= (async () => {
73
+ await Promise.allSettled([ready]);
74
+ await actionsSubsystem.outbox.cleanup();
75
+ await Promise.all(Object.values(objects).map(async (collection) => {
76
+ const status = collection.status;
77
+ if (status === "cleaned-up") return;
78
+ if (status === "loading") await Promise.allSettled([collection.preload()]);
79
+ try {
80
+ await collection.cleanup();
81
+ } catch {}
82
+ }));
83
+ await Promise.all([blobManager.cleanup(), backendAdapter.cleanup?.()]);
84
+ await runtime.cleanup?.();
85
+ })();
86
+ return cleanupPromise;
87
+ };
88
+ let destroyPromise;
89
+ const destroy = () => {
90
+ destroyPromise ??= cleanup().then(() => runtime.destroy?.()).then(() => void 0);
91
+ return destroyPromise;
92
+ };
93
+ return {
94
+ ir: opts.ir,
95
+ context,
96
+ ready,
97
+ objects,
98
+ actions: actionsSubsystem.actions,
99
+ queryFunctions,
100
+ attachments,
101
+ outbox: actionsSubsystem.outbox,
102
+ destroy,
103
+ cleanup
104
+ };
134
105
  }
106
+ //#endregion
107
+ export { createLiveOntology, waitForLiveOntologyReady };
108
+
135
109
  //# sourceMappingURL=LiveOntology.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LiveOntology.js","sourceRoot":"","sources":["../../src/live/LiveOntology.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LiveOntology.js","names":[],"sources":["../../src/live/LiveOntology.ts"],"sourcesContent":["import { createBlobManager, type BlobManager } from \"@party-stack/blobs\";\nimport { createDefaultRuntime, type RuntimeAdapterProvider } from \"@party-stack/runtime\";\nimport { type Collection } from \"@tanstack/db\";\nimport { provide } from \"../utils/provide.js\";\nimport { createLiveOntologyActions } from \"./actions/createLiveOntologyActions.js\";\nimport {\n createLiveOntologyAttachments,\n type LiveOntologyAttachments,\n} from \"./attachments/createLiveOntologyAttachments.js\";\nimport { unsupportedOntologyAttachmentsAdapter } from \"./attachments/unsupportedOntologyAttachmentsAdapter.js\";\nimport { createLiveOntologyObjectCollection } from \"./objects/createLiveOntologyObjectCollection.js\";\nimport { waitForCollectionsReady } from \"./waitForCollectionReady.js\";\nimport type { OntologyIR } from \"../ir/index.js\";\nimport type { attachment } from \"../utils/values.js\";\nimport type { LiveOntologyAction } from \"./actions/createLiveOntologyAction.js\";\nimport type { OntologyMutatorRegistry } from \"./mutators/types.js\";\nimport type { OntologyCollection } from \"./objects/createLiveOntologyObjectCollection.js\";\nimport type { OntologyObject } from \"./objects/OntologyObject.js\";\nimport type { OntologyBackendAdapter, OntologyBackendAdapterProvider } from \"./OntologyBackendAdapter.js\";\nimport type { OntologyOutbox } from \"./outbox/types.js\";\nimport type { ConnectionMonitor } from \"@party-stack/connections\";\n\nexport type { LiveOntologyAction, LiveOntologyActionOptions } from \"./actions/createLiveOntologyAction.js\";\nexport type { LiveOntologyAttachments } from \"./attachments/createLiveOntologyAttachments.js\";\nexport type { OntologyCollection } from \"./objects/createLiveOntologyObjectCollection.js\";\n\nexport type LiveOntologyWriteMode = \"direct\" | \"outbox\";\n\nexport type LiveOntologyWriteVisibility = \"confirmed\" | \"optimistic\";\n\nexport type LiveOntologyOutboxFailureStrategy = \"pause\" | \"discard-all\";\n\nexport interface LiveOntologyOutboxOptions {\n failureStrategy?: LiveOntologyOutboxFailureStrategy;\n maxRetries?: number;\n}\n\nexport interface LiveOntologyWrites {\n defaultMode?: LiveOntologyWriteMode;\n defaultVisibility?: LiveOntologyWriteVisibility;\n mutators?: OntologyMutatorRegistry;\n outbox?: LiveOntologyOutboxOptions;\n}\n\nexport interface OntologyDefinition {\n context?: Record<string, unknown>;\n objectTypes: Record<string, OntologyObject>;\n actionTypes: Record<\n string,\n {\n parameters: Record<string, unknown>;\n }\n >;\n queryFunctionTypes: Record<\n string,\n {\n parameters: Record<string, unknown>;\n returnType: unknown;\n }\n >;\n}\n\ntype OntologyContext<Ontology extends OntologyDefinition> = Ontology extends {\n context: infer Context extends Record<string, unknown>;\n}\n ? Context\n : Record<string, unknown>;\n\nexport type LiveOntologyQueryFunction<\n Parameters extends Record<string, unknown> = Record<string, unknown>,\n Return = unknown,\n> = (parameters: Parameters) => Promise<Return>;\n\nexport type LiveOntologyObjects<\n ObjectTypes extends OntologyDefinition[\"objectTypes\"] = OntologyDefinition[\"objectTypes\"],\n> = {\n [ObjectTypeName in keyof ObjectTypes]: OntologyCollection<ObjectTypes[ObjectTypeName]>;\n};\n\nexport type LiveOntologyActions<ActionTypes extends OntologyDefinition[\"actionTypes\"]> = {\n [ActionTypeName in keyof ActionTypes]: LiveOntologyAction<ActionTypes[ActionTypeName][\"parameters\"]>;\n};\n\nexport type LiveOntologyQueryFunctions<QueryFunctionTypes extends OntologyDefinition[\"queryFunctionTypes\"]> =\n {\n [QueryFunctionTypeName in keyof QueryFunctionTypes]: LiveOntologyQueryFunction<\n QueryFunctionTypes[QueryFunctionTypeName][\"parameters\"],\n QueryFunctionTypes[QueryFunctionTypeName][\"returnType\"]\n >;\n };\n\nexport interface LiveOntology<Ontology extends OntologyDefinition = OntologyDefinition> {\n readonly ir: OntologyIR;\n readonly context: OntologyContext<Ontology>;\n /**\n * Resolves once outbox and blob metadata subsystems have finished starting.\n * Object collections remain on-demand unless explicitly preloaded.\n */\n readonly ready: Promise<void>;\n objects: LiveOntologyObjects<Ontology[\"objectTypes\"]>;\n actions: LiveOntologyActions<Ontology[\"actionTypes\"]>;\n queryFunctions: LiveOntologyQueryFunctions<Ontology[\"queryFunctionTypes\"]>;\n attachments: LiveOntologyAttachments<Ontology>;\n outbox: OntologyOutbox;\n cleanup: () => Promise<void>;\n destroy: () => Promise<void>;\n}\n\nexport interface CreateLiveOntologyOpts<Context extends Record<string, unknown> = Record<string, unknown>> {\n id?: string;\n ir: OntologyIR;\n backend: OntologyBackendAdapterProvider<NoInfer<Context>>;\n runtime?: RuntimeAdapterProvider;\n persistObjects?: boolean;\n writes?: LiveOntologyWrites;\n context?: Context;\n connection?: ConnectionMonitor;\n}\n\nfunction getContextUserId(context: Record<string, unknown>): string | undefined {\n return typeof context.user === \"string\" ? context.user : undefined;\n}\n\n/**\n * Waits for LiveOntology subsystems required before safe use.\n * Starts on-demand object collection sync without loading subsets.\n */\nexport async function waitForLiveOntologyReady(ontology: LiveOntology): Promise<void> {\n await ontology.ready;\n await waitForCollectionsReady(\n Object.values(ontology.objects) as Collection<Record<string, unknown>, string | number>[]\n );\n}\n\nexport async function createLiveOntology<\n Ontology extends OntologyDefinition = OntologyDefinition,\n Context extends Record<string, unknown> = Record<string, unknown>,\n>(opts: CreateLiveOntologyOpts<Context>): Promise<LiveOntology<Ontology>> {\n const ontologyId = opts.id ?? \"default\";\n const context = (opts.context ?? {}) as Context;\n const owner = getContextUserId(context) ?? \"anonymous\";\n // TODO(errors): Decorate backend operations and collection options so\n // normalized errors (especially UnauthenticatedError) are reported through\n // the ConnectionMonitor. Promise-based calls can be wrapped directly;\n // long-running sync handlers need a lifecycle-aware supervisor that pauses\n // on needs-auth and restarts from a checkpoint after reconnection.\n const backendAdapter: OntologyBackendAdapter = await provide(opts.backend, opts.ir, context);\n const runtime = await provide(opts.runtime ?? createDefaultRuntime, owner, ontologyId);\n const attachmentsAdapter = backendAdapter.attachments ?? unsupportedOntologyAttachmentsAdapter;\n const blobManager: BlobManager = createBlobManager({\n runtime,\n remote: {\n read: (id, readOptions) => {\n const attachmentValue = readOptions?.meta?.attachment as attachment | undefined;\n return attachmentsAdapter.getAttachmentContent(attachmentValue ?? { id });\n },\n metadata: attachmentsAdapter.getAttachmentMetadata\n ? (id, readOptions) =>\n attachmentsAdapter.getAttachmentMetadata!(\n (readOptions?.meta?.attachment as attachment | undefined) ?? { id },\n readOptions?.select ?? [\"size\", \"type\", \"name\"]\n )\n : undefined,\n },\n });\n const attachments = createLiveOntologyAttachments<Ontology>({\n ir: opts.ir,\n attachmentsAdapter,\n blobManager,\n });\n const objects = Object.fromEntries(\n opts.ir.objectTypes.map((objectType) => [\n objectType.name,\n createLiveOntologyObjectCollection({\n ir: opts.ir,\n objectType,\n backendAdapter,\n runtime,\n persistObjects: opts.persistObjects ?? false,\n }),\n ])\n ) as Record<string, OntologyCollection<OntologyObject>>;\n const actionsSubsystem = createLiveOntologyActions({\n ir: opts.ir,\n backendAdapter,\n runtime,\n context,\n objects,\n blobManager,\n writes: opts.writes,\n connection: opts.connection,\n });\n const queryFunctions = Object.fromEntries(\n opts.ir.queryFunctionTypes.map((queryFunctionType) => [\n queryFunctionType.name,\n (parameters: Record<string, unknown>) =>\n backendAdapter.runQueryFunction(queryFunctionType.name, parameters, {\n objects: objects,\n context,\n }),\n ])\n );\n const ready = Promise.all([actionsSubsystem.outbox.ready, blobManager.ready]).then(() => undefined);\n void ready.catch(() => undefined);\n\n let cleanupPromise: Promise<void> | undefined;\n const cleanup = (): Promise<void> => {\n cleanupPromise ??= (async () => {\n // Settle subsystem startups before tearing down persistence.\n await Promise.allSettled([ready]);\n await actionsSubsystem.outbox.cleanup();\n await Promise.all(\n Object.values(objects).map(async (collection) => {\n const status = collection.status;\n if (status === \"cleaned-up\") {\n return;\n }\n // Settle in-flight startup only; ready/idle need no preload.\n if (status === \"loading\") {\n await Promise.allSettled([collection.preload()]);\n }\n try {\n await collection.cleanup();\n } catch {\n // Idempotent: already cleaned up during preload race.\n }\n })\n );\n await Promise.all([blobManager.cleanup(), backendAdapter.cleanup?.()]);\n await runtime.cleanup?.();\n })();\n return cleanupPromise;\n };\n let destroyPromise: Promise<void> | undefined;\n const destroy = (): Promise<void> => {\n destroyPromise ??= cleanup()\n .then(() => runtime.destroy?.())\n .then(() => undefined);\n return destroyPromise;\n };\n\n return {\n ir: opts.ir,\n context: context as unknown as OntologyContext<Ontology>,\n ready,\n objects: objects as unknown as LiveOntologyObjects<Ontology[\"objectTypes\"]>,\n actions: actionsSubsystem.actions as unknown as LiveOntologyActions<Ontology[\"actionTypes\"]>,\n queryFunctions: queryFunctions as unknown as LiveOntologyQueryFunctions<\n Ontology[\"queryFunctionTypes\"]\n >,\n attachments,\n outbox: actionsSubsystem.outbox,\n destroy,\n cleanup,\n };\n}\n"],"mappings":";;;;;;;;;AAuHA,SAAS,iBAAiB,SAAsD;CAC5E,OAAO,OAAO,QAAQ,SAAS,WAAW,QAAQ,OAAO,KAAA;AAC7D;;;;;AAMA,eAAsB,yBAAyB,UAAuC;CAClF,MAAM,SAAS;CACf,MAAM,wBACF,OAAO,OAAO,SAAS,OAAO,CAClC;AACJ;AAEA,eAAsB,mBAGpB,MAAwE;CACtE,MAAM,aAAa,KAAK,MAAM;CAC9B,MAAM,UAAW,KAAK,WAAW,CAAC;CAClC,MAAM,QAAQ,iBAAiB,OAAO,KAAK;CAM3C,MAAM,iBAAyC,MAAM,QAAQ,KAAK,SAAS,KAAK,IAAI,OAAO;CAC3F,MAAM,UAAU,MAAM,QAAQ,KAAK,WAAW,sBAAsB,OAAO,UAAU;CACrF,MAAM,qBAAqB,eAAe,eAAe;CACzD,MAAM,cAA2B,kBAAkB;EAC/C;EACA,QAAQ;GACJ,OAAO,IAAI,gBAAgB;IACvB,MAAM,kBAAkB,aAAa,MAAM;IAC3C,OAAO,mBAAmB,qBAAqB,mBAAmB,EAAE,GAAG,CAAC;GAC5E;GACA,UAAU,mBAAmB,yBACtB,IAAI,gBACD,mBAAmB,sBACd,aAAa,MAAM,cAAyC,EAAE,GAAG,GAClE,aAAa,UAAU;IAAC;IAAQ;IAAQ;GAAM,CAClD,IACJ,KAAA;EACV;CACJ,CAAC;CACD,MAAM,cAAc,8BAAwC;EACxD,IAAI,KAAK;EACT;EACA;CACJ,CAAC;CACD,MAAM,UAAU,OAAO,YACnB,KAAK,GAAG,YAAY,KAAK,eAAe,CACpC,WAAW,MACX,mCAAmC;EAC/B,IAAI,KAAK;EACT;EACA;EACA;EACA,gBAAgB,KAAK,kBAAkB;CAC3C,CAAC,CACL,CAAC,CACL;CACA,MAAM,mBAAmB,0BAA0B;EAC/C,IAAI,KAAK;EACT;EACA;EACA;EACA;EACA;EACA,QAAQ,KAAK;EACb,YAAY,KAAK;CACrB,CAAC;CACD,MAAM,iBAAiB,OAAO,YAC1B,KAAK,GAAG,mBAAmB,KAAK,sBAAsB,CAClD,kBAAkB,OACjB,eACG,eAAe,iBAAiB,kBAAkB,MAAM,YAAY;EACvD;EACT;CACJ,CAAC,CACT,CAAC,CACL;CACA,MAAM,QAAQ,QAAQ,IAAI,CAAC,iBAAiB,OAAO,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,KAAA,CAAS;CAClG,MAAW,YAAY,KAAA,CAAS;CAEhC,IAAI;CACJ,MAAM,gBAA+B;EACjC,oBAAoB,YAAY;GAE5B,MAAM,QAAQ,WAAW,CAAC,KAAK,CAAC;GAChC,MAAM,iBAAiB,OAAO,QAAQ;GACtC,MAAM,QAAQ,IACV,OAAO,OAAO,OAAO,CAAC,CAAC,IAAI,OAAO,eAAe;IAC7C,MAAM,SAAS,WAAW;IAC1B,IAAI,WAAW,cACX;IAGJ,IAAI,WAAW,WACX,MAAM,QAAQ,WAAW,CAAC,WAAW,QAAQ,CAAC,CAAC;IAEnD,IAAI;KACA,MAAM,WAAW,QAAQ;IAC7B,QAAQ,CAER;GACJ,CAAC,CACL;GACA,MAAM,QAAQ,IAAI,CAAC,YAAY,QAAQ,GAAG,eAAe,UAAU,CAAC,CAAC;GACrE,MAAM,QAAQ,UAAU;EAC5B,EAAA,CAAG;EACH,OAAO;CACX;CACA,IAAI;CACJ,MAAM,gBAA+B;EACjC,mBAAmB,QAAQ,CAAC,CACvB,WAAW,QAAQ,UAAU,CAAC,CAAC,CAC/B,WAAW,KAAA,CAAS;EACzB,OAAO;CACX;CAEA,OAAO;EACH,IAAI,KAAK;EACA;EACT;EACS;EACT,SAAS,iBAAiB;EACV;EAGhB;EACA,QAAQ,iBAAiB;EACzB;EACA;CACJ;AACJ"}
@@ -1,97 +1,100 @@
1
- import * as v from "../utils/values.js";
2
- import type { AttachmentTypeDef, OntologyIR } from "../ir/index.js";
3
- import type { Uncertain } from "../utils/uncertain.js";
4
- import type { ValidationIssue } from "../utils/validation.js";
5
- import type { PartialAttachmentMetadata } from "./attachments/types.js";
6
- import type { Collection, CollectionConfig } from "@tanstack/db";
1
+ import { Result, attachment, values_d_exports } from "../utils/values.js";
2
+ import { AttachmentTypeDef, OntologyIR } from "../ir/generated/types.js";
3
+ import { ValidationIssue } from "../utils/validation.js";
4
+ import "../ir/index.js";
5
+ import { Uncertain } from "../utils/uncertain.js";
6
+ import { PartialAttachmentMetadata } from "./attachments/types.js";
7
+ import { Collection, CollectionConfig } from "@tanstack/db";
8
+ //#region src/live/OntologyBackendAdapter.d.ts
7
9
  export type OntologyCollectionOptions = Omit<CollectionConfig<Record<string, unknown>, string | number>, "getKey">;
8
10
  export interface OntologyAttachmentUpload {
9
- /**
10
- * The attachment referenced by the prepared action parameters. Its ID is an
11
- * opaque local handle and is not guaranteed to be valid for the backend.
12
- */
13
- attachment: v.attachment;
14
- blob: Blob;
15
- target?: AttachmentTypeDef;
11
+ /**
12
+ * The attachment referenced by the prepared action parameters. Its ID is an
13
+ * opaque local handle and is not guaranteed to be valid for the backend.
14
+ */
15
+ attachment: attachment;
16
+ blob: Blob;
17
+ target?: AttachmentTypeDef;
16
18
  }
17
19
  export interface OntologyAttachmentIdMapping {
18
- /** The opaque attachment ID used before the backend canonicalized it. */
19
- localId: string;
20
- /** The canonical attachment ID returned by the backend. */
21
- remoteId: string;
20
+ /** The opaque attachment ID used before the backend canonicalized it. */
21
+ localId: string;
22
+ /** The canonical attachment ID returned by the backend. */
23
+ remoteId: string;
22
24
  }
23
25
  export interface OntologyApplyActionResult {
24
- /**
25
- * Mappings for uploaded attachments whose canonical backend IDs differ from
26
- * the local IDs supplied in `ApplyActionLiveOpts.attachmentUploads`.
27
- */
28
- attachmentIdMappings?: OntologyAttachmentIdMapping[];
26
+ /**
27
+ * Mappings for uploaded attachments whose canonical backend IDs differ from
28
+ * the local IDs supplied in `ApplyActionLiveOpts.attachmentUploads`.
29
+ */
30
+ attachmentIdMappings?: OntologyAttachmentIdMapping[];
29
31
  }
30
32
  export interface ApplyActionLiveOpts {
31
- objects: Record<string, Collection<Record<string, unknown>>>;
32
- context?: Record<string, unknown>;
33
- /**
34
- * Attachments that must be uploaded as part of action execution. Adapters
35
- * must treat their IDs as opaque local handles, substitute any backend IDs or
36
- * references required by the action invocation, and return an ID mapping for
37
- * every upload whose canonical backend ID differs.
38
- */
39
- attachmentUploads?: OntologyAttachmentUpload[];
40
- idempotencyKey?: string;
33
+ objects: Record<string, Collection<Record<string, unknown>>>;
34
+ context?: Record<string, unknown>;
35
+ /**
36
+ * Attachments that must be uploaded as part of action execution. Adapters
37
+ * must treat their IDs as opaque local handles, substitute any backend IDs or
38
+ * references required by the action invocation, and return an ID mapping for
39
+ * every upload whose canonical backend ID differs.
40
+ */
41
+ attachmentUploads?: OntologyAttachmentUpload[];
42
+ idempotencyKey?: string;
41
43
  }
42
44
  export interface ValidateActionLiveOpts {
43
- objects: Record<string, Collection<Record<string, unknown>>>;
44
- context?: Record<string, unknown>;
45
+ objects: Record<string, Collection<Record<string, unknown>>>;
46
+ context?: Record<string, unknown>;
45
47
  }
46
48
  export interface ValidateActionDraftLiveOpts extends ValidateActionLiveOpts {
47
- knownParameters: readonly string[];
49
+ knownParameters: readonly string[];
48
50
  }
49
51
  export interface RunQueryLiveOpts {
50
- objects: Record<string, Collection<Record<string, unknown>>>;
51
- context?: Record<string, unknown>;
52
+ objects: Record<string, Collection<Record<string, unknown>>>;
53
+ context?: Record<string, unknown>;
52
54
  }
53
55
  export interface OntologyAttachmentsAdapter {
54
- /**
55
- * Generates a preferred ID for an attachment created directly against this adapter.
56
- *
57
- * This is a hint, not an invariant. Attachments can arrive with IDs generated elsewhere,
58
- * so adapters must accept IDs downstream that were not produced by this function.
59
- */
60
- generateAttachmentId?: (blob: Blob, opts: {
61
- target?: AttachmentTypeDef;
62
- }) => Promise<string> | string;
63
- canMaterializeAttachment?: (attachment: v.attachment, opts: {
64
- target?: AttachmentTypeDef;
65
- }) => boolean;
66
- /**
67
- * Materializes an attachment in the backend.
68
- *
69
- * The incoming attachment ID is opaque and may not be valid for this backend. When
70
- * the backend assigns or requires another ID, return an attachment containing that
71
- * canonical ID so the caller can rewrite parameters and bind the resulting mapping.
72
- */
73
- materializeAttachment?: (attachment: v.attachment, blob: Blob, opts: {
74
- target?: AttachmentTypeDef;
75
- }) => Promise<v.attachment | void>;
76
- getAttachmentContent: (attachment: v.attachment) => Promise<Blob>;
77
- getAttachmentMetadata?: (attachment: v.attachment, selection: readonly (keyof PartialAttachmentMetadata)[]) => Promise<PartialAttachmentMetadata>;
56
+ /**
57
+ * Generates a preferred ID for an attachment created directly against this adapter.
58
+ *
59
+ * This is a hint, not an invariant. Attachments can arrive with IDs generated elsewhere,
60
+ * so adapters must accept IDs downstream that were not produced by this function.
61
+ */
62
+ generateAttachmentId?: (blob: Blob, opts: {
63
+ target?: AttachmentTypeDef;
64
+ }) => Promise<string> | string;
65
+ canMaterializeAttachment?: (attachment: attachment, opts: {
66
+ target?: AttachmentTypeDef;
67
+ }) => boolean;
68
+ /**
69
+ * Materializes an attachment in the backend.
70
+ *
71
+ * The incoming attachment ID is opaque and may not be valid for this backend. When
72
+ * the backend assigns or requires another ID, return an attachment containing that
73
+ * canonical ID so the caller can rewrite parameters and bind the resulting mapping.
74
+ */
75
+ materializeAttachment?: (attachment: attachment, blob: Blob, opts: {
76
+ target?: AttachmentTypeDef;
77
+ }) => Promise<attachment | void>;
78
+ getAttachmentContent: (attachment: attachment) => Promise<Blob>;
79
+ getAttachmentMetadata?: (attachment: attachment, selection: readonly (keyof PartialAttachmentMetadata)[]) => Promise<PartialAttachmentMetadata>;
78
80
  }
79
81
  export interface OntologyBackendAdapter {
80
- name: string;
81
- /**
82
- * Whether this adapter participates in long-lived synchronization.
83
- *
84
- * Defaults to true. Non-live adapters support confirmed request/response
85
- * operations but cannot safely back optimistic actions.
86
- */
87
- live?: boolean;
88
- getCollectionOptions: (objectType: string) => OntologyCollectionOptions;
89
- applyAction: (name: string, parameters: Record<string, unknown>, live: ApplyActionLiveOpts) => Promise<OntologyApplyActionResult | void>;
90
- validateAction?: (name: string, parameters: Record<string, unknown>, live: ValidateActionLiveOpts) => Promise<Uncertain<v.Result<void, readonly ValidationIssue[]>>>;
91
- validateActionDraft?: (name: string, parameters: Record<string, unknown>, live: ValidateActionDraftLiveOpts) => Promise<Uncertain<v.Result<void, readonly ValidationIssue[]>>>;
92
- runQueryFunction: (name: string, parameters: Record<string, unknown>, live: RunQueryLiveOpts) => Promise<unknown>;
93
- attachments?: OntologyAttachmentsAdapter;
94
- cleanup?: () => void | Promise<void>;
82
+ name: string;
83
+ /**
84
+ * Whether this adapter participates in long-lived synchronization.
85
+ *
86
+ * Defaults to true. Non-live adapters support confirmed request/response
87
+ * operations but cannot safely back optimistic actions.
88
+ */
89
+ live?: boolean;
90
+ getCollectionOptions: (objectType: string) => OntologyCollectionOptions;
91
+ applyAction: (name: string, parameters: Record<string, unknown>, live: ApplyActionLiveOpts) => Promise<OntologyApplyActionResult | void>;
92
+ validateAction?: (name: string, parameters: Record<string, unknown>, live: ValidateActionLiveOpts) => Promise<Uncertain<Result<void, readonly ValidationIssue[]>>>;
93
+ validateActionDraft?: (name: string, parameters: Record<string, unknown>, live: ValidateActionDraftLiveOpts) => Promise<Uncertain<Result<void, readonly ValidationIssue[]>>>;
94
+ runQueryFunction: (name: string, parameters: Record<string, unknown>, live: RunQueryLiveOpts) => Promise<unknown>;
95
+ attachments?: OntologyAttachmentsAdapter;
96
+ cleanup?: () => void | Promise<void>;
95
97
  }
96
98
  export type OntologyBackendAdapterProvider<Context extends Record<string, unknown> = Record<string, unknown>> = (ir: OntologyIR, context: Context) => OntologyBackendAdapter | Promise<OntologyBackendAdapter>;
99
+ //#endregion
97
100
  //# sourceMappingURL=OntologyBackendAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OntologyBackendAdapter.d.ts","sourceRoot":"","sources":["../../src/live/OntologyBackendAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OntologyBackendAdapter.d.ts","names":["v","v.attachment","v.Result"],"sources":["../../src/live/OntologyBackendAdapter.ts"],"mappings":";;;;;;;;YAOY,4BAA4B,KACpC,iBAAiB;iBAIJ;;;;;EAKb,YAAYC;EACZ,MAAM;EACN,SAAS;;iBAGI;;EAEb;;EAEA;;iBAGa;;;;;EAKb,uBAAuB;;iBAGV;EACb,SAAS,eAAe,WAAW;EACnC,UAAU;;;;;;;EAOV,oBAAoB;EACpB;;iBAGa;EACb,SAAS,eAAe,WAAW;EACnC,UAAU;;iBAGG,oCAAoC;EACjD;;iBAGa;EACb,SAAS,eAAe,WAAW;EACnC,UAAU;;iBAGG;;;;;;;EAOb,wBACI,MAAM,MACN;IACI,SAAS;QAEZ;EACL,4BACI,YAAYA,YACZ;IACI,SAAS;;;;;;;;;EAUjB,yBACI,YAAYA,YACZ,MAAM,MACN;IACI,SAAS;QAEZ,QAAQA;EACb,uBAAuB,YAAYA,eAAiB,QAAQ;EAC5D,yBACI,YAAYA,YACZ,2BAA2B,iCAC1B,QAAQ;;iBAGA;EACb;;;;;;;EAOA;EACA,uBAAuB,uBAAuB;EAC9C,cACI,cACA,YAAY,yBACZ,MAAM,wBACL,QAAQ;EACb,kBACI,cACA,YAAY,yBACZ,MAAM,2BACL,QAAQ,UAAUC,sBAAwB;EAC/C,uBACI,cACA,YAAY,yBACZ,MAAM,gCACL,QAAQ,UAAUA,sBAAwB;EAC/C,mBACI,cACA,YAAY,yBACZ,MAAM,qBACL;EACL,cAAc;EACd,uBAAuB;;YAIf,+BACR,gBAAgB,0BAA0B,4BACzC,IAAI,YAAY,SAAS,YAAY,yBAAyB,QAAQ"}
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=OntologyBackendAdapter.js.map
@@ -1,33 +1,36 @@
1
- import type { OntologyIR } from "../../ir/index.js";
2
- import type { Uncertain } from "../../utils/uncertain.js";
3
- import type { ValidationIssue } from "../../utils/validation.js";
4
- import type { Result } from "../../utils/values.js";
5
- import type { LiveOntologyWriteMode, LiveOntologyWriteVisibility } from "../LiveOntology.js";
6
- import type { OntologyCollection } from "../objects/createLiveOntologyObjectCollection.js";
7
- import type { OntologyObject } from "../objects/OntologyObject.js";
8
- import type { OntologyApplyActionResult } from "../OntologyBackendAdapter.js";
9
- import type { OntologyActionRequest } from "../outbox/types.js";
1
+ import { Result } from "../../utils/values.js";
2
+ import { OntologyIR } from "../../ir/generated/types.js";
3
+ import { ValidationIssue } from "../../utils/validation.js";
4
+ import "../../ir/index.js";
5
+ import { Uncertain } from "../../utils/uncertain.js";
6
+ import { OntologyApplyActionResult } from "../OntologyBackendAdapter.js";
7
+ import { OntologyObject } from "../objects/OntologyObject.js";
8
+ import { OntologyCollection } from "../objects/createLiveOntologyObjectCollection.js";
9
+ import { OntologyActionRequest } from "../outbox/types.js";
10
+ import { LiveOntologyWriteMode, LiveOntologyWriteVisibility } from "../LiveOntology.js";
11
+ //#region src/live/actions/createLiveOntologyAction.d.ts
10
12
  export interface LiveOntologyActionOptions {
11
- idempotencyKey?: string;
12
- mode?: LiveOntologyWriteMode;
13
- visibility?: LiveOntologyWriteVisibility;
13
+ idempotencyKey?: string;
14
+ mode?: LiveOntologyWriteMode;
15
+ visibility?: LiveOntologyWriteVisibility;
14
16
  }
15
17
  export interface LiveOntologyActionDraftValidationOptions<Parameters extends Record<string, unknown>> {
16
- knownParameters?: readonly (keyof Parameters)[];
18
+ knownParameters?: readonly (keyof Parameters)[];
17
19
  }
18
20
  export type LiveOntologyAction<Parameters extends Record<string, unknown> = Record<string, unknown>> = {
19
- (parameters: Parameters, options?: LiveOntologyActionOptions): Promise<OntologyApplyActionResult | void>;
20
- resolveParameters(parameters: Partial<Parameters>): Promise<Partial<Parameters>>;
21
- validate(parameters: Parameters): Promise<Uncertain<Result<void, readonly ValidationIssue[]>>>;
22
- validateDraft(parameters: Partial<Parameters>, options?: LiveOntologyActionDraftValidationOptions<Parameters>): Promise<Uncertain<Result<void, readonly ValidationIssue[]>>>;
21
+ (parameters: Parameters, options?: LiveOntologyActionOptions): Promise<OntologyApplyActionResult | void>;
22
+ resolveParameters(parameters: Partial<Parameters>): Promise<Partial<Parameters>>;
23
+ validate(parameters: Parameters): Promise<Uncertain<Result<void, readonly ValidationIssue[]>>>;
24
+ validateDraft(parameters: Partial<Parameters>, options?: LiveOntologyActionDraftValidationOptions<Parameters>): Promise<Uncertain<Result<void, readonly ValidationIssue[]>>>;
23
25
  };
24
26
  export declare function createLiveOntologyAction(options: {
25
- ir: OntologyIR;
26
- action: OntologyIR["actionTypes"][number];
27
- context?: Record<string, unknown>;
28
- objects: Record<string, OntologyCollection<OntologyObject>>;
29
- submit(request: OntologyActionRequest, options?: LiveOntologyActionOptions): Promise<OntologyApplyActionResult | void>;
30
- validate(actionTypeName: string, parameters: Record<string, unknown>): Promise<Uncertain<Result<void, readonly ValidationIssue[]>>>;
31
- validateDraft(actionTypeName: string, parameters: Record<string, unknown>, validationOptions?: LiveOntologyActionDraftValidationOptions<Record<string, unknown>>): Promise<Uncertain<Result<void, readonly ValidationIssue[]>>>;
27
+ ir: OntologyIR;
28
+ action: OntologyIR["actionTypes"][number];
29
+ context?: Record<string, unknown>;
30
+ objects: Record<string, OntologyCollection<OntologyObject>>;
31
+ submit(request: OntologyActionRequest, options?: LiveOntologyActionOptions): Promise<OntologyApplyActionResult | void>;
32
+ validate(actionTypeName: string, parameters: Record<string, unknown>): Promise<Uncertain<Result<void, readonly ValidationIssue[]>>>;
33
+ validateDraft(actionTypeName: string, parameters: Record<string, unknown>, validationOptions?: LiveOntologyActionDraftValidationOptions<Record<string, unknown>>): Promise<Uncertain<Result<void, readonly ValidationIssue[]>>>;
32
34
  }): LiveOntologyAction;
35
+ //#endregion
33
36
  //# sourceMappingURL=createLiveOntologyAction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createLiveOntologyAction.d.ts","sourceRoot":"","sources":["../../../src/live/actions/createLiveOntologyAction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createLiveOntologyAction.d.ts","names":[],"sources":["../../../src/live/actions/createLiveOntologyAction.ts"],"mappings":";;;;;;;;;;;iBAYiB;EACb;EACA,OAAO;EACP,aAAa;;iBAGA,yCAAyC,mBAAmB;EACzE,kCAAkC;;YAG1B,mBAAmB,mBAAmB,0BAA0B;GACvE,YAAY,YAAY,UAAU,4BAA4B,QAAQ;EACvE,kBAAkB,YAAY,QAAQ,cAAc,QAAQ,QAAQ;EACpE,SAAS,YAAY,aAAa,QAAQ,UAAU,sBAAsB;EAC1E,cACI,YAAY,QAAQ,aACpB,UAAU,yCAAyC,cACpD,QAAQ,UAAU,sBAAsB;;wBAG/B,yBAAyB;EACrC,IAAI;EACJ,QAAQ;EACR,UAAU;EACV,SAAS,eAAe,mBAAmB;EAC3C,OACI,SAAS,uBACT,UAAU,4BACX,QAAQ;EACX,SACI,wBACA,YAAY,0BACb,QAAQ,UAAU,sBAAsB;EAC3C,cACI,wBACA,YAAY,yBACZ,oBAAoB,yCAAyC,2BAC9D,QAAQ,UAAU,sBAAsB;IAC3C"}
@@ -1,25 +1,28 @@
1
1
  import { resolveActionParameters } from "../expression.js";
2
2
  import { createReadTx } from "../mutators/createMutatorTx.js";
3
- export function createLiveOntologyAction(options) {
4
- const resolveParameters = (providedParameters) => resolveActionParameters({
5
- ir: options.ir,
6
- actionTypeName: options.action.name,
7
- initialParameters: providedParameters,
8
- context: options.context ?? {},
9
- tx: createReadTx(options.objects),
10
- });
11
- const apply = async (providedParameters, executionOptions) => {
12
- const idempotencyKey = executionOptions?.idempotencyKey ??
13
- crypto.randomUUID();
14
- return options.submit({
15
- actionTypeName: options.action.name,
16
- parameters: providedParameters,
17
- idempotencyKey,
18
- }, executionOptions);
19
- };
20
- apply.validate = async (providedParameters) => options.validate(options.action.name, providedParameters);
21
- apply.resolveParameters = resolveParameters;
22
- apply.validateDraft = async (parameters, validationOptions) => options.validateDraft(options.action.name, parameters, validationOptions);
23
- return apply;
3
+ //#region src/live/actions/createLiveOntologyAction.ts
4
+ function createLiveOntologyAction(options) {
5
+ const resolveParameters = (providedParameters) => resolveActionParameters({
6
+ ir: options.ir,
7
+ actionTypeName: options.action.name,
8
+ initialParameters: providedParameters,
9
+ context: options.context ?? {},
10
+ tx: createReadTx(options.objects)
11
+ });
12
+ const apply = async (providedParameters, executionOptions) => {
13
+ const idempotencyKey = executionOptions?.idempotencyKey ?? crypto.randomUUID();
14
+ return options.submit({
15
+ actionTypeName: options.action.name,
16
+ parameters: providedParameters,
17
+ idempotencyKey
18
+ }, executionOptions);
19
+ };
20
+ apply.validate = async (providedParameters) => options.validate(options.action.name, providedParameters);
21
+ apply.resolveParameters = resolveParameters;
22
+ apply.validateDraft = async (parameters, validationOptions) => options.validateDraft(options.action.name, parameters, validationOptions);
23
+ return apply;
24
24
  }
25
+ //#endregion
26
+ export { createLiveOntologyAction };
27
+
25
28
  //# sourceMappingURL=createLiveOntologyAction.js.map