@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,82 +1,65 @@
1
- import { setAtPath } from "../../utils/paths.js";
2
1
  import { unwrapValueType } from "../../utils/types.js";
3
- import { decorateObjectAttachmentSources } from "../attachments/attachmentSources.js";
2
+ import { setAtPath } from "../../utils/paths.js";
4
3
  import { evaluateExpression, getObjectReferenceObjectType } from "../expression.js";
4
+ import { decorateObjectAttachmentSources } from "../attachments/attachmentSources.js";
5
+ //#region src/live/mutators/OntologyEdits.ts
5
6
  function objectType(ir, name) {
6
- const type = ir.objectTypes.find((candidate) => candidate.name === name);
7
- if (!type)
8
- throw new Error(`Unknown object type "${name}".`);
9
- return type;
7
+ const type = ir.objectTypes.find((candidate) => candidate.name === name);
8
+ if (!type) throw new Error(`Unknown object type "${name}".`);
9
+ return type;
10
10
  }
11
11
  async function propertyChanges(options) {
12
- const changes = [];
13
- for (const assignment of options.assignments) {
14
- const value = await evaluateExpression({
15
- ir: options.ir,
16
- actionTypeName: options.actionTypeName,
17
- expression: assignment.value,
18
- resolveParameter: (name) => Promise.resolve(options.parameters[name]),
19
- context: options.context,
20
- tx: options.tx,
21
- });
22
- if (value !== undefined) {
23
- changes.push({
24
- path: assignment.property,
25
- value,
26
- });
27
- }
28
- }
29
- return changes;
12
+ const changes = [];
13
+ for (const assignment of options.assignments) {
14
+ const value = await evaluateExpression({
15
+ ir: options.ir,
16
+ actionTypeName: options.actionTypeName,
17
+ expression: assignment.value,
18
+ resolveParameter: (name) => Promise.resolve(options.parameters[name]),
19
+ context: options.context,
20
+ tx: options.tx
21
+ });
22
+ if (value !== void 0) changes.push({
23
+ path: assignment.property,
24
+ value
25
+ });
26
+ }
27
+ return changes;
30
28
  }
31
- export async function applyActionLogicToMutatorTx(options) {
32
- const action = options.ir.actionTypes.find((candidate) => candidate.name === options.actionTypeName);
33
- if (!action) {
34
- throw new Error(`Unknown action "${options.actionTypeName}".`);
35
- }
36
- for (const [stepIndex, step,] of action.logic.entries()) {
37
- if (step.kind === "createObject") {
38
- const type = objectType(options.ir, step.value.objectType);
39
- let object = {};
40
- for (const change of await propertyChanges({
41
- ...options,
42
- assignments: step.value.values,
43
- })) {
44
- object = setAtPath(object, change.path, change.value);
45
- }
46
- decorateObjectAttachmentSources({
47
- ir: options.ir,
48
- objectType: type,
49
- object,
50
- });
51
- if (object[type.primaryKey] ===
52
- undefined) {
53
- const primaryKey = type.properties.find((property) => property.name ===
54
- type.primaryKey);
55
- if (!options.idempotencyKey ||
56
- !primaryKey ||
57
- unwrapValueType(options.ir, primaryKey.type).kind !== "string") {
58
- continue;
59
- }
60
- // Temporary view key for backend-assigned IDs. This is stable
61
- // across outbox projection replay, but it cannot support
62
- // dependent edits until local-to-remote view-key mapping exists.
63
- object[type.primaryKey] =
64
- `optimistic:${options.idempotencyKey}:${type.name}:${stepIndex}`;
65
- }
66
- await options.tx.mutate[type.name].create(object);
67
- continue;
68
- }
69
- const type = getObjectReferenceObjectType(options.ir, options.actionTypeName, step.value.object);
70
- const key = options.parameters[step.value.object.name];
71
- if (step.kind === "updateObject") {
72
- await options.tx.mutate[type.name].update(key, await propertyChanges({
73
- ...options,
74
- assignments: step.value.values,
75
- }));
76
- }
77
- else {
78
- await options.tx.mutate[type.name].delete(key);
79
- }
80
- }
29
+ async function applyActionLogicToMutatorTx(options) {
30
+ const action = options.ir.actionTypes.find((candidate) => candidate.name === options.actionTypeName);
31
+ if (!action) throw new Error(`Unknown action "${options.actionTypeName}".`);
32
+ for (const [stepIndex, step] of action.logic.entries()) {
33
+ if (step.kind === "createObject") {
34
+ const type = objectType(options.ir, step.value.objectType);
35
+ let object = {};
36
+ for (const change of await propertyChanges({
37
+ ...options,
38
+ assignments: step.value.values
39
+ })) object = setAtPath(object, change.path, change.value);
40
+ decorateObjectAttachmentSources({
41
+ ir: options.ir,
42
+ objectType: type,
43
+ object
44
+ });
45
+ if (object[type.primaryKey] === void 0) {
46
+ const primaryKey = type.properties.find((property) => property.name === type.primaryKey);
47
+ if (!options.idempotencyKey || !primaryKey || unwrapValueType(options.ir, primaryKey.type).kind !== "string") continue;
48
+ object[type.primaryKey] = `optimistic:${options.idempotencyKey}:${type.name}:${stepIndex}`;
49
+ }
50
+ await options.tx.mutate[type.name].create(object);
51
+ continue;
52
+ }
53
+ const type = getObjectReferenceObjectType(options.ir, options.actionTypeName, step.value.object);
54
+ const key = options.parameters[step.value.object.name];
55
+ if (step.kind === "updateObject") await options.tx.mutate[type.name].update(key, await propertyChanges({
56
+ ...options,
57
+ assignments: step.value.values
58
+ }));
59
+ else await options.tx.mutate[type.name].delete(key);
60
+ }
81
61
  }
62
+ //#endregion
63
+ export { applyActionLogicToMutatorTx };
64
+
82
65
  //# sourceMappingURL=OntologyEdits.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OntologyEdits.js","sourceRoot":"","sources":["../../../src/live/mutators/OntologyEdits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,+BAA+B,EAAE,MAAM,qCAAqC,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AASpF,SAAS,UAAU,CAAC,EAAc,EAAE,IAAY;IAC5C,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACzE,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,IAAI,CAAC,CAAC;IAC7D,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,OAO9B;IACG,MAAM,OAAO,GAA6B,EAAE,CAAC;IAC7C,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC;YACnC,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,UAAU,EAAE,UAAU,CAAC,KAAK;YAC5B,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACrE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,EAAE,EAAE,OAAO,CAAC,EAAE;SACjB,CAAC,CAAC;QACH,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,UAAU,CAAC,QAAQ;gBACzB,KAAK;aACR,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,OAQjD;IACG,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IACrG,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,MAAM,CACP,SAAS,EACT,IAAI,EACP,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC3D,IAAI,MAAM,GAA4B,EAAE,CAAC;YACzC,KAAK,MAAM,MAAM,IAAI,MAAM,eAAe,CAAC;gBACvC,GAAG,OAAO;gBACV,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;aACjC,CAAC,EAAE,CAAC;gBACD,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1D,CAAC;YACD,+BAA+B,CAAC;gBAC5B,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,UAAU,EAAE,IAAI;gBAChB,MAAM;aACT,CAAC,CAAC;YACH,IACI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;gBACvB,SAAS,EACX,CAAC;gBACC,MAAM,UAAU,GACZ,IAAI,CAAC,UAAU,CAAC,IAAI,CAChB,CAAC,QAAQ,EAAE,EAAE,CACT,QAAQ,CAAC,IAAI;oBACb,IAAI,CAAC,UAAU,CACtB,CAAC;gBACN,IACI,CAAC,OAAO,CAAC,cAAc;oBACvB,CAAC,UAAU;oBACX,eAAe,CACX,OAAO,CAAC,EAAE,EACV,UAAU,CAAC,IAAI,CAClB,CAAC,IAAI,KAAK,QAAQ,EACrB,CAAC;oBACC,SAAS;gBACb,CAAC;gBACD,8DAA8D;gBAC9D,yDAAyD;gBACzD,iEAAiE;gBACjE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;oBACnB,cAAc,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;YACzE,CAAC;YACD,MAAM,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACnD,SAAS;QACb,CAAC;QAED,MAAM,IAAI,GAAG,4BAA4B,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjG,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CACN,CAAC;QACrB,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC/B,MAAM,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC,MAAM,CACtC,GAAG,EACH,MAAM,eAAe,CAAC;gBAClB,GAAG,OAAO;gBACV,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;aACjC,CAAC,CACL,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,MAAM,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"OntologyEdits.js","names":[],"sources":["../../../src/live/mutators/OntologyEdits.ts"],"sourcesContent":["import { setAtPath } from \"../../utils/paths.js\";\nimport { unwrapValueType } from \"../../utils/types.js\";\nimport { decorateObjectAttachmentSources } from \"../attachments/attachmentSources.js\";\nimport { evaluateExpression, getObjectReferenceObjectType } from \"../expression.js\";\nimport type { ObjectTypeDef, OntologyIR, PropertyAssignment } from \"../../ir/index.js\";\nimport type {\n OntologyMutatorObjects,\n OntologyMutatorTx,\n OntologyPropertyChange,\n OntologyReadTx,\n} from \"./types.js\";\n\nfunction objectType(ir: OntologyIR, name: string): ObjectTypeDef {\n const type = ir.objectTypes.find((candidate) => candidate.name === name);\n if (!type) throw new Error(`Unknown object type \"${name}\".`);\n return type;\n}\n\nasync function propertyChanges(options: {\n ir: OntologyIR;\n actionTypeName: string;\n assignments: PropertyAssignment[];\n parameters: Record<string, unknown>;\n context: Record<string, unknown>;\n tx: OntologyReadTx;\n}): Promise<OntologyPropertyChange[]> {\n const changes: OntologyPropertyChange[] = [];\n for (const assignment of options.assignments) {\n const value = await evaluateExpression({\n ir: options.ir,\n actionTypeName: options.actionTypeName,\n expression: assignment.value,\n resolveParameter: (name) => Promise.resolve(options.parameters[name]),\n context: options.context,\n tx: options.tx,\n });\n if (value !== undefined) {\n changes.push({\n path: assignment.property,\n value,\n });\n }\n }\n return changes;\n}\n\nexport async function applyActionLogicToMutatorTx(options: {\n ir: OntologyIR;\n actionTypeName: string;\n parameters: Record<string, unknown>;\n context: Record<string, unknown>;\n idempotencyKey?: string;\n objects: OntologyMutatorObjects;\n tx: OntologyMutatorTx;\n}): Promise<void> {\n const action = options.ir.actionTypes.find((candidate) => candidate.name === options.actionTypeName);\n if (!action) {\n throw new Error(`Unknown action \"${options.actionTypeName}\".`);\n }\n\n for (const [stepIndex, step] of action.logic.entries()) {\n if (step.kind === \"createObject\") {\n const type = objectType(options.ir, step.value.objectType);\n let object: Record<string, unknown> = {};\n for (const change of await propertyChanges({\n ...options,\n assignments: step.value.values,\n })) {\n object = setAtPath(object, change.path, change.value);\n }\n decorateObjectAttachmentSources({\n ir: options.ir,\n objectType: type,\n object,\n });\n if (object[type.primaryKey] === undefined) {\n const primaryKey = type.properties.find((property) => property.name === type.primaryKey);\n if (\n !options.idempotencyKey ||\n !primaryKey ||\n unwrapValueType(options.ir, primaryKey.type).kind !== \"string\"\n ) {\n continue;\n }\n // Temporary view key for backend-assigned IDs. This is stable\n // across outbox projection replay, but it cannot support\n // dependent edits until local-to-remote view-key mapping exists.\n object[type.primaryKey] = `optimistic:${options.idempotencyKey}:${type.name}:${stepIndex}`;\n }\n await options.tx.mutate[type.name]!.create(object);\n continue;\n }\n\n const type = getObjectReferenceObjectType(options.ir, options.actionTypeName, step.value.object);\n const key = options.parameters[step.value.object.name] as string | number;\n if (step.kind === \"updateObject\") {\n await options.tx.mutate[type.name]!.update(\n key,\n await propertyChanges({\n ...options,\n assignments: step.value.values,\n })\n );\n } else {\n await options.tx.mutate[type.name]!.delete(key);\n }\n }\n}\n"],"mappings":";;;;;AAYA,SAAS,WAAW,IAAgB,MAA6B;CAC7D,MAAM,OAAO,GAAG,YAAY,MAAM,cAAc,UAAU,SAAS,IAAI;CACvE,IAAI,CAAC,MAAM,MAAM,IAAI,MAAM,wBAAwB,KAAK,GAAG;CAC3D,OAAO;AACX;AAEA,eAAe,gBAAgB,SAOO;CAClC,MAAM,UAAoC,CAAC;CAC3C,KAAK,MAAM,cAAc,QAAQ,aAAa;EAC1C,MAAM,QAAQ,MAAM,mBAAmB;GACnC,IAAI,QAAQ;GACZ,gBAAgB,QAAQ;GACxB,YAAY,WAAW;GACvB,mBAAmB,SAAS,QAAQ,QAAQ,QAAQ,WAAW,KAAK;GACpE,SAAS,QAAQ;GACjB,IAAI,QAAQ;EAChB,CAAC;EACD,IAAI,UAAU,KAAA,GACV,QAAQ,KAAK;GACT,MAAM,WAAW;GACjB;EACJ,CAAC;CAET;CACA,OAAO;AACX;AAEA,eAAsB,4BAA4B,SAQhC;CACd,MAAM,SAAS,QAAQ,GAAG,YAAY,MAAM,cAAc,UAAU,SAAS,QAAQ,cAAc;CACnG,IAAI,CAAC,QACD,MAAM,IAAI,MAAM,mBAAmB,QAAQ,eAAe,GAAG;CAGjE,KAAK,MAAM,CAAC,WAAW,SAAS,OAAO,MAAM,QAAQ,GAAG;EACpD,IAAI,KAAK,SAAS,gBAAgB;GAC9B,MAAM,OAAO,WAAW,QAAQ,IAAI,KAAK,MAAM,UAAU;GACzD,IAAI,SAAkC,CAAC;GACvC,KAAK,MAAM,UAAU,MAAM,gBAAgB;IACvC,GAAG;IACH,aAAa,KAAK,MAAM;GAC5B,CAAC,GACG,SAAS,UAAU,QAAQ,OAAO,MAAM,OAAO,KAAK;GAExD,gCAAgC;IAC5B,IAAI,QAAQ;IACZ,YAAY;IACZ;GACJ,CAAC;GACD,IAAI,OAAO,KAAK,gBAAgB,KAAA,GAAW;IACvC,MAAM,aAAa,KAAK,WAAW,MAAM,aAAa,SAAS,SAAS,KAAK,UAAU;IACvF,IACI,CAAC,QAAQ,kBACT,CAAC,cACD,gBAAgB,QAAQ,IAAI,WAAW,IAAI,CAAC,CAAC,SAAS,UAEtD;IAKJ,OAAO,KAAK,cAAc,cAAc,QAAQ,eAAe,GAAG,KAAK,KAAK,GAAG;GACnF;GACA,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,CAAE,OAAO,MAAM;GACjD;EACJ;EAEA,MAAM,OAAO,6BAA6B,QAAQ,IAAI,QAAQ,gBAAgB,KAAK,MAAM,MAAM;EAC/F,MAAM,MAAM,QAAQ,WAAW,KAAK,MAAM,OAAO;EACjD,IAAI,KAAK,SAAS,gBACd,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,CAAE,OAChC,KACA,MAAM,gBAAgB;GAClB,GAAG;GACH,aAAa,KAAK,MAAM;EAC5B,CAAC,CACL;OAEA,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,CAAE,OAAO,GAAG;CAEtD;AACJ"}
@@ -1,9 +1,11 @@
1
- import { type Transaction } from "@tanstack/db";
2
- import type { OntologyMutatorObjects, OntologyMutatorTx, OntologyReadTx } from "./types.js";
1
+ import { OntologyMutatorObjects, OntologyMutatorTx, OntologyReadTx } from "./types.js";
2
+ import { Transaction } from "@tanstack/db";
3
+ //#region src/live/mutators/createMutatorTx.d.ts
3
4
  export declare function createReadTx(objects: OntologyMutatorObjects): OntologyReadTx;
4
5
  export declare function createMutatorTx(options: {
5
- transaction: Transaction;
6
- objects: OntologyMutatorObjects;
7
- primaryKeys?: Record<string, string>;
6
+ transaction: Transaction;
7
+ objects: OntologyMutatorObjects;
8
+ primaryKeys?: Record<string, string>;
8
9
  }): OntologyMutatorTx;
10
+ //#endregion
9
11
  //# sourceMappingURL=createMutatorTx.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createMutatorTx.d.ts","sourceRoot":"","sources":["../../../src/live/mutators/createMutatorTx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,KAAK,EACR,sBAAsB,EACtB,iBAAiB,EAEjB,cAAc,EACjB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,YAAY,CAAC,OAAO,EAAE,sBAAsB,GAAG,cAAc,CAI5E;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACrC,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,sBAAsB,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,GAAG,iBAAiB,CA2CpB"}
1
+ {"version":3,"file":"createMutatorTx.d.ts","names":[],"sources":["../../../src/live/mutators/createMutatorTx.ts"],"mappings":";;;wBASgB,aAAa,SAAS,yBAAyB;wBAM/C,gBAAgB;EAC5B,aAAa;EACb,SAAS;EACT,cAAc;IACd"}
@@ -1,77 +1,61 @@
1
- import { eq, queryOnce } from "@tanstack/db";
2
1
  import { setAtPath } from "../../utils/paths.js";
3
- export function createReadTx(objects) {
4
- return {
5
- query: (build) => queryOnce((query) => build(query, objects)),
6
- };
2
+ import { eq, queryOnce } from "@tanstack/db";
3
+ //#region src/live/mutators/createMutatorTx.ts
4
+ function createReadTx(objects) {
5
+ return { query: (build) => queryOnce((query) => build(query, objects)) };
7
6
  }
8
- export function createMutatorTx(options) {
9
- return {
10
- ...createReadTx(options.objects),
11
- mutate: new Proxy({}, {
12
- get: (_target, objectType) => {
13
- if (typeof objectType !== "string") {
14
- return undefined;
15
- }
16
- const collection = options.objects[objectType];
17
- if (!collection) {
18
- throw new Error(`Unknown object type "${objectType}".`);
19
- }
20
- return {
21
- create: (object) => {
22
- options.transaction.mutate(() => {
23
- collection.insert(object);
24
- });
25
- return Promise.resolve();
26
- },
27
- update: async (key, changes) => {
28
- await ensureObjectLoaded(collection, objectType, options.primaryKeys, key);
29
- options.transaction.mutate(() => {
30
- collection.update(key, (draft) => {
31
- applyChanges(draft, changes);
32
- });
33
- });
34
- },
35
- delete: async (key) => {
36
- await ensureObjectLoaded(collection, objectType, options.primaryKeys, key);
37
- options.transaction.mutate(() => {
38
- collection.delete(key);
39
- });
40
- },
41
- };
42
- },
43
- }),
44
- };
7
+ function createMutatorTx(options) {
8
+ return {
9
+ ...createReadTx(options.objects),
10
+ mutate: new Proxy({}, { get: (_target, objectType) => {
11
+ if (typeof objectType !== "string") return;
12
+ const collection = options.objects[objectType];
13
+ if (!collection) throw new Error(`Unknown object type "${objectType}".`);
14
+ return {
15
+ create: (object) => {
16
+ options.transaction.mutate(() => {
17
+ collection.insert(object);
18
+ });
19
+ return Promise.resolve();
20
+ },
21
+ update: async (key, changes) => {
22
+ await ensureObjectLoaded(collection, objectType, options.primaryKeys, key);
23
+ options.transaction.mutate(() => {
24
+ collection.update(key, (draft) => {
25
+ applyChanges(draft, changes);
26
+ });
27
+ });
28
+ },
29
+ delete: async (key) => {
30
+ await ensureObjectLoaded(collection, objectType, options.primaryKeys, key);
31
+ options.transaction.mutate(() => {
32
+ collection.delete(key);
33
+ });
34
+ }
35
+ };
36
+ } })
37
+ };
45
38
  }
46
39
  async function ensureObjectLoaded(collection, objectType, primaryKeys, key) {
47
- if (collection.has(key))
48
- return;
49
- const primaryKey = primaryKeys?.[objectType];
50
- if (!primaryKey)
51
- return;
52
- await queryOnce((query) => query
53
- .from({ object: collection })
54
- .where(({ object }) => eq(object[primaryKey], key))
55
- .findOne());
40
+ if (collection.has(key)) return;
41
+ const primaryKey = primaryKeys?.[objectType];
42
+ if (!primaryKey) return;
43
+ await queryOnce((query) => query.from({ object: collection }).where(({ object }) => eq(object[primaryKey], key)).findOne());
56
44
  }
57
45
  function applyChanges(object, changes) {
58
- if (Array.isArray(changes)) {
59
- let updated = { ...object };
60
- const changedProperties = new Set();
61
- for (const change of changes) {
62
- const [property] = change.path;
63
- if (property === undefined) {
64
- throw new Error("Ontology property change paths must not be empty.");
65
- }
66
- updated = setAtPath(updated, change.path, change.value);
67
- changedProperties.add(property);
68
- }
69
- for (const property of changedProperties) {
70
- object[property] = updated[property];
71
- }
72
- }
73
- else {
74
- Object.assign(object, changes);
75
- }
46
+ if (Array.isArray(changes)) {
47
+ let updated = { ...object };
48
+ const changedProperties = /* @__PURE__ */ new Set();
49
+ for (const change of changes) {
50
+ const [property] = change.path;
51
+ if (property === void 0) throw new Error("Ontology property change paths must not be empty.");
52
+ updated = setAtPath(updated, change.path, change.value);
53
+ changedProperties.add(property);
54
+ }
55
+ for (const property of changedProperties) object[property] = updated[property];
56
+ } else Object.assign(object, changes);
76
57
  }
58
+ //#endregion
59
+ export { createMutatorTx, createReadTx };
60
+
77
61
  //# sourceMappingURL=createMutatorTx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createMutatorTx.js","sourceRoot":"","sources":["../../../src/live/mutators/createMutatorTx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAqC,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAQjD,MAAM,UAAU,YAAY,CAAC,OAA+B;IACxD,OAAO;QACH,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAU,CAAU;KAClF,CAAC;AACN,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAI/B;IACG,OAAO;QACH,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;QAChC,MAAM,EAAE,IAAI,KAAK,CACb,EAAE,EACF;YACI,GAAG,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE;gBACzB,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;oBACjC,OAAO,SAAS,CAAC;gBACrB,CAAC;gBACD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;oBACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,UAAU,IAAI,CAAC,CAAC;gBAC5D,CAAC;gBACD,OAAO;oBACH,MAAM,EAAE,CAAC,MAA+B,EAAE,EAAE;wBACxC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE;4BAC5B,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBAC9B,CAAC,CAAC,CAAC;wBACH,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;oBAC7B,CAAC;oBACD,MAAM,EAAE,KAAK,EACT,GAAoB,EACpB,OAA2D,EAC7D,EAAE;wBACA,MAAM,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;wBAC3E,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE;4BAC5B,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;gCAC7B,YAAY,CAAC,KAAgC,EAAE,OAAO,CAAC,CAAC;4BAC5D,CAAC,CAAC,CAAC;wBACP,CAAC,CAAC,CAAC;oBACP,CAAC;oBACD,MAAM,EAAE,KAAK,EAAE,GAAoB,EAAE,EAAE;wBACnC,MAAM,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;wBAC3E,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE;4BAC5B,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAC3B,CAAC,CAAC,CAAC;oBACP,CAAC;iBACJ,CAAC;YACN,CAAC;SACJ,CAC2B;KACnC,CAAC;AACN,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC7B,UAAgE,EAChE,UAAkB,EAClB,WAA+C,EAC/C,GAAoB;IAEpB,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO;IAChC,MAAM,UAAU,GAAG,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,CAAC,UAAU;QAAE,OAAO;IAExB,MAAM,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CACtB,KAAK;SACA,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;SAC5B,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;SAClD,OAAO,EAAE,CACjB,CAAC;AACN,CAAC;AAED,SAAS,YAAY,CACjB,MAA+B,EAC/B,OAA2D;IAE3D,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,IAAI,OAAO,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAC5B,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC5C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;YAC/B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACzE,CAAC;YACD,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACxD,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;YACvC,MAAM,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"createMutatorTx.js","names":[],"sources":["../../../src/live/mutators/createMutatorTx.ts"],"sourcesContent":["import { eq, queryOnce, type Collection, type Transaction } from \"@tanstack/db\";\nimport { setAtPath } from \"../../utils/paths.js\";\nimport type {\n OntologyMutatorObjects,\n OntologyMutatorTx,\n OntologyPropertyChange,\n OntologyReadTx,\n} from \"./types.js\";\n\nexport function createReadTx(objects: OntologyMutatorObjects): OntologyReadTx {\n return {\n query: (build) => queryOnce((query) => build(query, objects) as never),\n };\n}\n\nexport function createMutatorTx(options: {\n transaction: Transaction;\n objects: OntologyMutatorObjects;\n primaryKeys?: Record<string, string>;\n}): OntologyMutatorTx {\n return {\n ...createReadTx(options.objects),\n mutate: new Proxy(\n {},\n {\n get: (_target, objectType) => {\n if (typeof objectType !== \"string\") {\n return undefined;\n }\n const collection = options.objects[objectType];\n if (!collection) {\n throw new Error(`Unknown object type \"${objectType}\".`);\n }\n return {\n create: (object: Record<string, unknown>) => {\n options.transaction.mutate(() => {\n collection.insert(object);\n });\n return Promise.resolve();\n },\n update: async (\n key: string | number,\n changes: Record<string, unknown> | OntologyPropertyChange[]\n ) => {\n await ensureObjectLoaded(collection, objectType, options.primaryKeys, key);\n options.transaction.mutate(() => {\n collection.update(key, (draft) => {\n applyChanges(draft, changes);\n });\n });\n },\n delete: async (key: string | number) => {\n await ensureObjectLoaded(collection, objectType, options.primaryKeys, key);\n options.transaction.mutate(() => {\n collection.delete(key);\n });\n },\n };\n },\n }\n ),\n };\n}\n\nasync function ensureObjectLoaded(\n collection: Collection<Record<string, unknown>, string | number>,\n objectType: string,\n primaryKeys: Record<string, string> | undefined,\n key: string | number\n): Promise<void> {\n if (collection.has(key)) return;\n const primaryKey = primaryKeys?.[objectType];\n if (!primaryKey) return;\n\n await queryOnce((query) =>\n query\n .from({ object: collection })\n .where(({ object }) => eq(object[primaryKey], key))\n .findOne()\n );\n}\n\nfunction applyChanges(\n object: Record<string, unknown>,\n changes: Record<string, unknown> | OntologyPropertyChange[]\n): void {\n if (Array.isArray(changes)) {\n let updated = { ...object };\n const changedProperties = new Set<string>();\n for (const change of changes) {\n const [property] = change.path;\n if (property === undefined) {\n throw new Error(\"Ontology property change paths must not be empty.\");\n }\n updated = setAtPath(updated, change.path, change.value);\n changedProperties.add(property);\n }\n for (const property of changedProperties) {\n object[property] = updated[property];\n }\n } else {\n Object.assign(object, changes);\n }\n}\n"],"mappings":";;;AASA,SAAgB,aAAa,SAAiD;CAC1E,OAAO,EACH,QAAQ,UAAU,WAAW,UAAU,MAAM,OAAO,OAAO,CAAU,EACzE;AACJ;AAEA,SAAgB,gBAAgB,SAIV;CAClB,OAAO;EACH,GAAG,aAAa,QAAQ,OAAO;EAC/B,QAAQ,IAAI,MACR,CAAC,GACD,EACI,MAAM,SAAS,eAAe;GAC1B,IAAI,OAAO,eAAe,UACtB;GAEJ,MAAM,aAAa,QAAQ,QAAQ;GACnC,IAAI,CAAC,YACD,MAAM,IAAI,MAAM,wBAAwB,WAAW,GAAG;GAE1D,OAAO;IACH,SAAS,WAAoC;KACzC,QAAQ,YAAY,aAAa;MAC7B,WAAW,OAAO,MAAM;KAC5B,CAAC;KACD,OAAO,QAAQ,QAAQ;IAC3B;IACA,QAAQ,OACJ,KACA,YACC;KACD,MAAM,mBAAmB,YAAY,YAAY,QAAQ,aAAa,GAAG;KACzE,QAAQ,YAAY,aAAa;MAC7B,WAAW,OAAO,MAAM,UAAU;OAC9B,aAAa,OAAO,OAAO;MAC/B,CAAC;KACL,CAAC;IACL;IACA,QAAQ,OAAO,QAAyB;KACpC,MAAM,mBAAmB,YAAY,YAAY,QAAQ,aAAa,GAAG;KACzE,QAAQ,YAAY,aAAa;MAC7B,WAAW,OAAO,GAAG;KACzB,CAAC;IACL;GACJ;EACJ,EACJ,CACJ;CACJ;AACJ;AAEA,eAAe,mBACX,YACA,YACA,aACA,KACa;CACb,IAAI,WAAW,IAAI,GAAG,GAAG;CACzB,MAAM,aAAa,cAAc;CACjC,IAAI,CAAC,YAAY;CAEjB,MAAM,WAAW,UACb,MACK,KAAK,EAAE,QAAQ,WAAW,CAAC,CAAC,CAC5B,OAAO,EAAE,aAAa,GAAG,OAAO,aAAa,GAAG,CAAC,CAAC,CAClD,QAAQ,CACjB;AACJ;AAEA,SAAS,aACL,QACA,SACI;CACJ,IAAI,MAAM,QAAQ,OAAO,GAAG;EACxB,IAAI,UAAU,EAAE,GAAG,OAAO;EAC1B,MAAM,oCAAoB,IAAI,IAAY;EAC1C,KAAK,MAAM,UAAU,SAAS;GAC1B,MAAM,CAAC,YAAY,OAAO;GAC1B,IAAI,aAAa,KAAA,GACb,MAAM,IAAI,MAAM,mDAAmD;GAEvE,UAAU,UAAU,SAAS,OAAO,MAAM,OAAO,KAAK;GACtD,kBAAkB,IAAI,QAAQ;EAClC;EACA,KAAK,MAAM,YAAY,mBACnB,OAAO,YAAY,QAAQ;CAEnC,OACI,OAAO,OAAO,QAAQ,OAAO;AAErC"}
@@ -1,16 +1,19 @@
1
- import type { OntologyMutatorRegistry } from "./types.js";
2
- import type { OntologyIR } from "../../ir/index.js";
3
- import type { OntologyCollection } from "../objects/createLiveOntologyObjectCollection.js";
4
- import type { OntologyObject } from "../objects/OntologyObject.js";
5
- import type { Transaction } from "@tanstack/db";
1
+ import { OntologyIR } from "../../ir/generated/types.js";
2
+ import "../../ir/index.js";
3
+ import { OntologyObject } from "../objects/OntologyObject.js";
4
+ import { OntologyCollection } from "../objects/createLiveOntologyObjectCollection.js";
5
+ import { OntologyMutatorRegistry } from "./types.js";
6
+ import { Transaction } from "@tanstack/db";
7
+ //#region src/live/mutators/runOptimisticAction.d.ts
6
8
  export declare function runOptimisticAction(options: {
7
- transaction: Transaction;
8
- ir: OntologyIR;
9
- actionTypeName: string;
10
- parameters: Record<string, unknown>;
11
- context: Record<string, unknown>;
12
- idempotencyKey: string;
13
- objects: Record<string, OntologyCollection<OntologyObject>>;
14
- mutators?: OntologyMutatorRegistry;
9
+ transaction: Transaction;
10
+ ir: OntologyIR;
11
+ actionTypeName: string;
12
+ parameters: Record<string, unknown>;
13
+ context: Record<string, unknown>;
14
+ idempotencyKey: string;
15
+ objects: Record<string, OntologyCollection<OntologyObject>>;
16
+ mutators?: OntologyMutatorRegistry;
15
17
  }): Promise<void>;
18
+ //#endregion
16
19
  //# sourceMappingURL=runOptimisticAction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runOptimisticAction.d.ts","sourceRoot":"","sources":["../../../src/live/mutators/runOptimisticAction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IAC/C,WAAW,EAAE,WAAW,CAAC;IACzB,EAAE,EAAE,UAAU,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CACX,MAAM,EACN,kBAAkB,CAAC,cAAc,CAAC,CACrC,CAAC;IACF,QAAQ,CAAC,EAAE,uBAAuB,CAAC;CACtC,GAAG,OAAO,CAAC,IAAI,CAAC,CAgChB"}
1
+ {"version":3,"file":"runOptimisticAction.d.ts","names":[],"sources":["../../../src/live/mutators/runOptimisticAction.ts"],"mappings":";;;;;;;wBAQsB,oBAAoB;EACtC,aAAa;EACb,IAAI;EACJ;EACA,YAAY;EACZ,SAAS;EACT;EACA,SAAS,eAAe,mBAAmB;EAC3C,WAAW;IACX"}
@@ -1,30 +1,30 @@
1
1
  import { createMutatorTx } from "./createMutatorTx.js";
2
2
  import { applyActionLogicToMutatorTx } from "./OntologyEdits.js";
3
- export async function runOptimisticAction(options) {
4
- const tx = createMutatorTx({
5
- transaction: options.transaction,
6
- objects: options.objects,
7
- primaryKeys: Object.fromEntries(options.ir.objectTypes.map((objectType) => [
8
- objectType.name,
9
- objectType.primaryKey,
10
- ])),
11
- });
12
- await applyActionLogicToMutatorTx({
13
- ir: options.ir,
14
- actionTypeName: options.actionTypeName,
15
- parameters: options.parameters,
16
- context: options.context,
17
- idempotencyKey: options.idempotencyKey,
18
- objects: options.objects,
19
- tx,
20
- });
21
- const mutator = options.mutators?.[options.actionTypeName];
22
- if (!mutator)
23
- return;
24
- await mutator({
25
- tx,
26
- args: options.parameters,
27
- context: options.context,
28
- });
3
+ //#region src/live/mutators/runOptimisticAction.ts
4
+ async function runOptimisticAction(options) {
5
+ const tx = createMutatorTx({
6
+ transaction: options.transaction,
7
+ objects: options.objects,
8
+ primaryKeys: Object.fromEntries(options.ir.objectTypes.map((objectType) => [objectType.name, objectType.primaryKey]))
9
+ });
10
+ await applyActionLogicToMutatorTx({
11
+ ir: options.ir,
12
+ actionTypeName: options.actionTypeName,
13
+ parameters: options.parameters,
14
+ context: options.context,
15
+ idempotencyKey: options.idempotencyKey,
16
+ objects: options.objects,
17
+ tx
18
+ });
19
+ const mutator = options.mutators?.[options.actionTypeName];
20
+ if (!mutator) return;
21
+ await mutator({
22
+ tx,
23
+ args: options.parameters,
24
+ context: options.context
25
+ });
29
26
  }
27
+ //#endregion
28
+ export { runOptimisticAction };
29
+
30
30
  //# sourceMappingURL=runOptimisticAction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runOptimisticAction.js","sourceRoot":"","sources":["../../../src/live/mutators/runOptimisticAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAOjE,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAYzC;IACG,MAAM,EAAE,GAAG,eAAe,CAAC;QACvB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,MAAM,CAAC,WAAW,CAC3B,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CACtB,CAAC,UAAU,EAAE,EAAE,CAAC;YACZ,UAAU,CAAC,IAAI;YACf,UAAU,CAAC,UAAU;SACxB,CACJ,CACJ;KACJ,CAAC,CAAC;IACH,MAAM,2BAA2B,CAAC;QAC9B,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,cAAc,EACV,OAAO,CAAC,cAAc;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,EAAE;KACL,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3D,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,OAAO,CAAC;QACV,EAAE;QACF,IAAI,EAAE,OAAO,CAAC,UAAU;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;KAC3B,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"runOptimisticAction.js","names":[],"sources":["../../../src/live/mutators/runOptimisticAction.ts"],"sourcesContent":["import { createMutatorTx } from \"./createMutatorTx.js\";\nimport { applyActionLogicToMutatorTx } from \"./OntologyEdits.js\";\nimport type { OntologyIR } from \"../../ir/index.js\";\nimport type { OntologyCollection } from \"../objects/createLiveOntologyObjectCollection.js\";\nimport type { OntologyObject } from \"../objects/OntologyObject.js\";\nimport type { OntologyMutatorRegistry } from \"./types.js\";\nimport type { Transaction } from \"@tanstack/db\";\n\nexport async function runOptimisticAction(options: {\n transaction: Transaction;\n ir: OntologyIR;\n actionTypeName: string;\n parameters: Record<string, unknown>;\n context: Record<string, unknown>;\n idempotencyKey: string;\n objects: Record<string, OntologyCollection<OntologyObject>>;\n mutators?: OntologyMutatorRegistry;\n}): Promise<void> {\n const tx = createMutatorTx({\n transaction: options.transaction,\n objects: options.objects,\n primaryKeys: Object.fromEntries(\n options.ir.objectTypes.map((objectType) => [objectType.name, objectType.primaryKey])\n ),\n });\n await applyActionLogicToMutatorTx({\n ir: options.ir,\n actionTypeName: options.actionTypeName,\n parameters: options.parameters,\n context: options.context,\n idempotencyKey: options.idempotencyKey,\n objects: options.objects,\n tx,\n });\n\n const mutator = options.mutators?.[options.actionTypeName];\n if (!mutator) return;\n\n await mutator({\n tx,\n args: options.parameters,\n context: options.context,\n });\n}\n"],"mappings":";;;AAQA,eAAsB,oBAAoB,SASxB;CACd,MAAM,KAAK,gBAAgB;EACvB,aAAa,QAAQ;EACrB,SAAS,QAAQ;EACjB,aAAa,OAAO,YAChB,QAAQ,GAAG,YAAY,KAAK,eAAe,CAAC,WAAW,MAAM,WAAW,UAAU,CAAC,CACvF;CACJ,CAAC;CACD,MAAM,4BAA4B;EAC9B,IAAI,QAAQ;EACZ,gBAAgB,QAAQ;EACxB,YAAY,QAAQ;EACpB,SAAS,QAAQ;EACjB,gBAAgB,QAAQ;EACxB,SAAS,QAAQ;EACjB;CACJ,CAAC;CAED,MAAM,UAAU,QAAQ,WAAW,QAAQ;CAC3C,IAAI,CAAC,SAAS;CAEd,MAAM,QAAQ;EACV;EACA,MAAM,QAAQ;EACd,SAAS,QAAQ;CACrB,CAAC;AACL"}
@@ -1,30 +1,32 @@
1
- import type { OntologyObject } from "../objects/OntologyObject.js";
2
- import type { Collection, InitialQueryBuilder } from "@tanstack/db";
1
+ import { OntologyObject } from "../objects/OntologyObject.js";
2
+ import { Collection, InitialQueryBuilder } from "@tanstack/db";
3
+ //#region src/live/mutators/types.d.ts
3
4
  export interface OntologyPropertyChange {
4
- path: string[];
5
- value: unknown;
5
+ path: string[];
6
+ value: unknown;
6
7
  }
7
8
  export type OntologyMutatorObjects = Record<string, Collection<OntologyObject>>;
8
9
  export interface OntologyReadTx {
9
- query<T>(build: (query: InitialQueryBuilder, objects: OntologyMutatorObjects) => unknown): Promise<T>;
10
+ query<T>(build: (query: InitialQueryBuilder, objects: OntologyMutatorObjects) => unknown): Promise<T>;
10
11
  }
11
12
  export interface OntologyMutatorTx extends OntologyReadTx {
12
- mutate: Record<string, {
13
- create(object: Record<string, unknown>): Promise<void>;
14
- update(key: string | number, changes: Record<string, unknown> | OntologyPropertyChange[]): Promise<void>;
15
- delete(key: string | number): Promise<void>;
16
- }>;
13
+ mutate: Record<string, {
14
+ create(object: Record<string, unknown>): Promise<void>;
15
+ update(key: string | number, changes: Record<string, unknown> | OntologyPropertyChange[]): Promise<void>;
16
+ delete(key: string | number): Promise<void>;
17
+ }>;
17
18
  }
18
19
  export type OntologyMutator = (options: {
19
- tx: OntologyMutatorTx;
20
- args: Record<string, unknown>;
21
- context: Record<string, unknown>;
20
+ tx: OntologyMutatorTx;
21
+ args: Record<string, unknown>;
22
+ context: Record<string, unknown>;
22
23
  }) => void | Promise<void>;
23
24
  export type OntologyMutatorRegistry = Record<string, OntologyMutator>;
24
25
  export type OntologyQueryFunctionHandler = (options: {
25
- tx: OntologyReadTx;
26
- args: Record<string, unknown>;
27
- context: Record<string, unknown>;
26
+ tx: OntologyReadTx;
27
+ args: Record<string, unknown>;
28
+ context: Record<string, unknown>;
28
29
  }) => unknown;
29
30
  export type OntologyQueryFunctionRegistry = Record<string, OntologyQueryFunctionHandler>;
31
+ //#endregion
30
32
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/live/mutators/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEpE,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;AAEhF,MAAM,WAAW,cAAc;IAC3B,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,sBAAsB,KAAK,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACzG;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACrD,MAAM,EAAE,MAAM,CACV,MAAM,EACN;QACI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,CACF,GAAG,EAAE,MAAM,GAAG,MAAM,EACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,sBAAsB,EAAE,GAC5D,OAAO,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC/C,CACJ,CAAC;CACL;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE;IACpC,EAAE,EAAE,iBAAiB,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE3B,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAEtE,MAAM,MAAM,4BAA4B,GAAG,CAAC,OAAO,EAAE;IACjD,EAAE,EAAE,cAAc,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,KAAK,OAAO,CAAC;AAEd,MAAM,MAAM,6BAA6B,GAAG,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/live/mutators/types.ts"],"mappings":";;;iBAGiB;EACb;EACA;;YAGQ,yBAAyB,eAAe,WAAW;iBAE9C;EACb,MAAM,GAAG,QAAQ,OAAO,qBAAqB,SAAS,qCAAqC,QAAQ;;iBAGtF,0BAA0B;EACvC,QAAQ;IAGA,OAAO,QAAQ,0BAA0B;IACzC,OACI,sBACA,SAAS,0BAA0B,2BACpC;IACH,OAAO,uBAAuB;;;YAK9B,mBAAmB;EAC3B,IAAI;EACJ,MAAM;EACN,SAAS;aACA;YAED,0BAA0B,eAAe;YAEzC,gCAAgC;EACxC,IAAI;EACJ,MAAM;EACN,SAAS;;YAGD,gCAAgC,eAAe"}
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=types.js.map
@@ -1,2 +1,4 @@
1
+ //#region src/live/objects/OntologyObject.d.ts
1
2
  export type OntologyObject = Record<string, unknown>;
3
+ //#endregion
2
4
  //# sourceMappingURL=OntologyObject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OntologyObject.d.ts","sourceRoot":"","sources":["../../../src/live/objects/OntologyObject.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"OntologyObject.d.ts","names":[],"sources":["../../../src/live/objects/OntologyObject.ts"],"mappings":";YAAY,iBAAiB"}
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=OntologyObject.js.map
@@ -1,14 +1,17 @@
1
- import { type RuntimeAdapter } from "@party-stack/runtime";
2
- import { type Collection } from "@tanstack/db";
3
- import type { OntologyIR } from "../../ir/index.js";
4
- import type { OntologyBackendAdapter } from "../OntologyBackendAdapter.js";
5
- import type { OntologyObject } from "./OntologyObject.js";
1
+ import { OntologyIR } from "../../ir/generated/types.js";
2
+ import "../../ir/index.js";
3
+ import { OntologyBackendAdapter } from "../OntologyBackendAdapter.js";
4
+ import { OntologyObject } from "./OntologyObject.js";
5
+ import { RuntimeAdapter } from "@party-stack/runtime";
6
+ import { Collection } from "@tanstack/db";
7
+ //#region src/live/objects/createLiveOntologyObjectCollection.d.ts
6
8
  export type OntologyCollection<T extends OntologyObject> = Collection<T>;
7
9
  export declare function createLiveOntologyObjectCollection(opts: {
8
- ir: OntologyIR;
9
- objectType: OntologyIR["objectTypes"][number];
10
- backendAdapter: OntologyBackendAdapter;
11
- runtime: RuntimeAdapter;
12
- persistObjects: boolean;
10
+ ir: OntologyIR;
11
+ objectType: OntologyIR["objectTypes"][number];
12
+ backendAdapter: OntologyBackendAdapter;
13
+ runtime: RuntimeAdapter;
14
+ persistObjects: boolean;
13
15
  }): OntologyCollection<OntologyObject>;
16
+ //#endregion
14
17
  //# sourceMappingURL=createLiveOntologyObjectCollection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createLiveOntologyObjectCollection.d.ts","sourceRoot":"","sources":["../../../src/live/objects/createLiveOntologyObjectCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAgC,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAI7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,cAAc,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AAiCzE,wBAAgB,kCAAkC,CAAC,IAAI,EAAE;IACrD,EAAE,EAAE,UAAU,CAAC;IACf,UAAU,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9C,cAAc,EAAE,sBAAsB,CAAC;IACvC,OAAO,EAAE,cAAc,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;CAC3B,GAAG,kBAAkB,CAAC,cAAc,CAAC,CA8BrC"}
1
+ {"version":3,"file":"createLiveOntologyObjectCollection.d.ts","names":[],"sources":["../../../src/live/objects/createLiveOntologyObjectCollection.ts"],"mappings":";;;;;;;YASY,mBAAmB,UAAU,kBAAkB,WAAW;wBAiCtD,mCAAmC;EAC/C,IAAI;EACJ,YAAY;EACZ,gBAAgB;EAChB,SAAS;EACT;IACA,mBAAmB"}