@party-stack/ontology 0.18.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 (406) 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 +49 -53
  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 +22 -25
  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 -281
  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 -182
  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 -181
  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 -1007
  375. package/lib/live/outbox/createOntologyOutbox.test.js.map +0 -1
  376. package/lib/live/outbox/outboxValues.d.ts +0 -7
  377. package/lib/live/outbox/outboxValues.d.ts.map +0 -1
  378. package/lib/live/outbox/outboxValues.js +0 -76
  379. package/lib/live/outbox/outboxValues.js.map +0 -1
  380. package/lib/meta/generated/types.js.map +0 -1
  381. package/lib/meta/ontology.test.d.ts +0 -2
  382. package/lib/meta/ontology.test.d.ts.map +0 -1
  383. package/lib/meta/ontology.test.js +0 -84
  384. package/lib/meta/ontology.test.js.map +0 -1
  385. package/lib/utils/index.d.ts.map +0 -1
  386. package/lib/utils/index.js.map +0 -1
  387. package/lib/utils/links.test.d.ts +0 -2
  388. package/lib/utils/links.test.d.ts.map +0 -1
  389. package/lib/utils/links.test.js +0 -109
  390. package/lib/utils/links.test.js.map +0 -1
  391. package/lib/utils/paths.test.d.ts +0 -2
  392. package/lib/utils/paths.test.d.ts.map +0 -1
  393. package/lib/utils/paths.test.js +0 -33
  394. package/lib/utils/paths.test.js.map +0 -1
  395. package/lib/utils/targets.js.map +0 -1
  396. package/lib/utils/typeNames.js.map +0 -1
  397. package/lib/utils/types.test.d.ts +0 -2
  398. package/lib/utils/types.test.d.ts.map +0 -1
  399. package/lib/utils/types.test.js +0 -157
  400. package/lib/utils/types.test.js.map +0 -1
  401. package/lib/utils/uncertain.test.d.ts +0 -2
  402. package/lib/utils/uncertain.test.d.ts.map +0 -1
  403. package/lib/utils/uncertain.test.js +0 -14
  404. package/lib/utils/uncertain.test.js.map +0 -1
  405. package/lib/utils/validation.js.map +0 -1
  406. package/lib/utils/values.js.map +0 -1
@@ -1,343 +1,292 @@
1
- import { createLocalCollection, isCoordinationHost, CoordinationError, } from "@party-stack/runtime";
2
- import { useConnectivityChanges } from "@party-stack/runtime/effection";
3
- import { createSignal, each, resource, run, spawn, suspend, until, useAbortSignal, } from "effection";
4
1
  import { runOutboxLeader } from "./leaderExecutor.js";
2
+ import { OUTBOX_COORDINATION_SERVICE } from "./service.js";
5
3
  import { serveOntologyOutbox } from "./outboxService.js";
6
- import { decodeOutboxEntry, decodeOutboxRequest, encodeOutboxRequest } from "./outboxValues.js";
7
- import { OutboxProjectionManager } from "./projectionManager.js";
8
4
  import { OntologyOutboxRepository } from "./repository.js";
9
- import { OUTBOX_COORDINATION_SERVICE, } from "./service.js";
5
+ import { OutboxProjectionManager } from "./projectionManager.js";
6
+ import { CoordinationError, createLocalCollection, isCoordinationHost } from "@party-stack/runtime";
7
+ import { cloneValue } from "@party-stack/coordination";
8
+ import { useConnectivityChanges } from "@party-stack/runtime/effection";
9
+ import { createSignal, each, resource, run, spawn, suspend, until, useAbortSignal } from "effection";
10
+ //#region src/live/outbox/createOntologyOutbox.ts
10
11
  const DEFAULT_MAX_RETRIES = 3;
11
- const DEFAULT_RETRY_DELAY_MS = 1_000;
12
+ const DEFAULT_RETRY_DELAY_MS = 1e3;
12
13
  function nonNegativeInteger(value, fallback, name) {
13
- const resolved = value ?? fallback;
14
- if (!Number.isSafeInteger(resolved) || resolved < 0) {
15
- throw new RangeError(`${name} must be a non-negative safe integer.`);
16
- }
17
- return resolved;
14
+ const resolved = value ?? fallback;
15
+ if (!Number.isSafeInteger(resolved) || resolved < 0) throw new RangeError(`${name} must be a non-negative safe integer.`);
16
+ return resolved;
18
17
  }
19
18
  function deferred() {
20
- let resolvePromise;
21
- let rejectPromise;
22
- const value = {
23
- promise: undefined,
24
- settled: false,
25
- resolve(result) {
26
- if (value.settled)
27
- return;
28
- value.settled = true;
29
- resolvePromise(result);
30
- },
31
- reject(error) {
32
- if (value.settled)
33
- return;
34
- value.settled = true;
35
- rejectPromise(error);
36
- },
37
- };
38
- value.promise = new Promise((resolve, reject) => {
39
- resolvePromise = resolve;
40
- rejectPromise = reject;
41
- });
42
- return value;
19
+ let resolvePromise;
20
+ let rejectPromise;
21
+ const value = {
22
+ promise: void 0,
23
+ settled: false,
24
+ resolve(result) {
25
+ if (value.settled) return;
26
+ value.settled = true;
27
+ resolvePromise(result);
28
+ },
29
+ reject(error) {
30
+ if (value.settled) return;
31
+ value.settled = true;
32
+ rejectPromise(error);
33
+ }
34
+ };
35
+ value.promise = new Promise((resolve, reject) => {
36
+ resolvePromise = resolve;
37
+ rejectPromise = reject;
38
+ });
39
+ return value;
43
40
  }
44
41
  function normalizeError(error) {
45
- return error instanceof Error ? error : new Error(String(error));
42
+ return error instanceof Error ? error : new Error(String(error));
46
43
  }
47
44
  function eventError(event) {
48
- const error = new Error(event.error.message);
49
- error.name = event.error.name;
50
- return error;
45
+ const error = new Error(event.error.message);
46
+ error.name = event.error.name;
47
+ return error;
51
48
  }
52
49
  function createOutboxCollection(options) {
53
- return createLocalCollection({
54
- name: "ontology-outbox",
55
- getKey: (entry) => entry.id,
56
- runtime: options.runtime,
57
- schemaVersion: 1,
58
- });
50
+ return createLocalCollection({
51
+ name: "ontology-outbox",
52
+ getKey: (entry) => entry.id,
53
+ runtime: options.runtime,
54
+ schemaVersion: 1
55
+ });
59
56
  }
60
- export function useOntologyOutbox(options, collection = createOutboxCollection(options)) {
61
- return resource(function* (provide) {
62
- const repository = new OntologyOutboxRepository(collection);
63
- const failureStrategy = options.failureStrategy ?? "discard-all";
64
- const service = options.runtime.coordination.service(OUTBOX_COORDINATION_SERVICE);
65
- const wake = createSignal();
66
- const projections = new OutboxProjectionManager(options.project ? async (entry) => options.project?.(decodeOutboxEntry(entry)) : undefined);
67
- const completions = new Map();
68
- const lifetime = {};
69
- let disposing = false;
70
- let reconciliationVersion = 0;
71
- const deliverResult = async (event) => {
72
- const completion = completions.get(event.id);
73
- if (event.type === "completed") {
74
- await projections.discard(event.id);
75
- if (completion) {
76
- completions.delete(event.id);
77
- completion.resolve(event.result);
78
- }
79
- return;
80
- }
81
- const error = eventError(event);
82
- await projections.discard(event.id, error);
83
- if (completion) {
84
- completions.delete(event.id);
85
- completion.reject(error);
86
- }
87
- };
88
- try {
89
- lifetime.unsubscribeResults =
90
- service.events.subscribe("result", (event) => {
91
- void deliverResult(event);
92
- });
93
- yield* until(repository.preload());
94
- if (isCoordinationHost(options.runtime.coordination)) {
95
- lifetime.server = serveOntologyOutbox(options.runtime.coordination, repository);
96
- }
97
- const reconcileProjections = async () => {
98
- const version = ++reconciliationVersion;
99
- const entries = await repository.entries();
100
- if (disposing || version !== reconciliationVersion) {
101
- return;
102
- }
103
- await projections.reconcile(entries);
104
- };
105
- lifetime.unsubscribeCollection = collection.subscribeChanges(() => {
106
- wake.send();
107
- void reconcileProjections();
108
- });
109
- lifetime.unsubscribeConnection =
110
- options.connection
111
- ? {
112
- unsubscribe: options.connection.subscribe(() => {
113
- wake.send();
114
- }),
115
- }
116
- : undefined;
117
- const existing = yield* until(repository.entries());
118
- yield* until(projections.restore(existing));
119
- const connectivityChanges = yield* useConnectivityChanges(options.runtime);
120
- lifetime.connectivityTask = yield* spawn(function* () {
121
- for (const isConnected of yield* each(connectivityChanges)) {
122
- void isConnected;
123
- wake.send();
124
- yield* each.next();
125
- }
126
- });
127
- if (isCoordinationHost(options.runtime.coordination)) {
128
- const host = options.runtime.coordination;
129
- const leaderOptions = {
130
- runtime: options.runtime,
131
- service,
132
- wake,
133
- failureStrategy: failureStrategy,
134
- maxRetries: nonNegativeInteger(options.maxRetries, DEFAULT_MAX_RETRIES, "Outbox maxRetries"),
135
- retryDelayMs: DEFAULT_RETRY_DELAY_MS,
136
- execute: (entry) => options.execute(decodeOutboxEntry(entry)),
137
- connection: options.connection,
138
- };
139
- lifetime.leaderTask = yield* spawn(function* () {
140
- const lifetimeSignal = yield* useAbortSignal();
141
- while (!lifetimeSignal.aborted) {
142
- try {
143
- const leaderRun = host.runAsLeader(({ signal }) => runOutboxLeader(signal, leaderOptions), {
144
- signal: lifetimeSignal,
145
- });
146
- lifetime.leaderRun = leaderRun;
147
- yield* until(leaderRun);
148
- return;
149
- }
150
- catch (error) {
151
- if (lifetimeSignal.aborted) {
152
- return;
153
- }
154
- if (!host.isLeader && !(error instanceof CoordinationError)) {
155
- continue;
156
- }
157
- throw error;
158
- }
159
- }
160
- });
161
- }
162
- const outbox = {
163
- collection,
164
- ready: Promise.resolve(),
165
- async enqueue(request, enqueueOptions) {
166
- const timestamp = Date.now();
167
- const proposed = {
168
- id: crypto.randomUUID(),
169
- sequence: 0,
170
- request: encodeOutboxRequest({
171
- ...request,
172
- idempotencyKey: request.idempotencyKey ?? crypto.randomUUID(),
173
- }),
174
- visibility: enqueueOptions?.visibility ?? "confirmed",
175
- status: "queued",
176
- createdAt: timestamp,
177
- updatedAt: timestamp,
178
- attempts: 0,
179
- retryable: true,
180
- nextAttemptAt: timestamp,
181
- };
182
- const completion = deferred();
183
- void completion.promise.catch(() => undefined);
184
- completions.set(proposed.id, completion);
185
- let entry;
186
- try {
187
- entry = await service.methods.enqueue({
188
- entry: proposed,
189
- });
190
- }
191
- catch (error) {
192
- completions.delete(proposed.id);
193
- completion.reject(normalizeError(error));
194
- throw error;
195
- }
196
- await projections.ensure(entry);
197
- return {
198
- entry: decodeOutboxEntry(entry),
199
- completed: completion.promise,
200
- };
201
- },
202
- async edit(id, update) {
203
- const current = repository.get(id);
204
- if (!current) {
205
- throw new Error(`Outbox entry "${id}" was not found in this context.`);
206
- }
207
- const request = structuredClone(decodeOutboxRequest(current.request));
208
- update(request);
209
- const entry = await service.methods.edit({
210
- id,
211
- request: encodeOutboxRequest(request),
212
- });
213
- await projections.ensure(entry);
214
- return decodeOutboxEntry(entry);
215
- },
216
- async remove(id) {
217
- await service.methods.remove({ id });
218
- },
219
- async retry(id) {
220
- await service.methods.retry({ id });
221
- wake.send();
222
- },
223
- cleanup() {
224
- return Promise.resolve();
225
- },
226
- };
227
- yield* provide(outbox);
228
- }
229
- finally {
230
- disposing = true;
231
- reconciliationVersion += 1;
232
- const cleanupErrors = [];
233
- const capture = (error) => {
234
- cleanupErrors.push(normalizeError(error));
235
- };
236
- lifetime.unsubscribeResults?.();
237
- lifetime.unsubscribeCollection?.unsubscribe();
238
- lifetime.unsubscribeConnection?.unsubscribe();
239
- if (lifetime.server) {
240
- try {
241
- yield* until(lifetime.server.close());
242
- }
243
- catch (error) {
244
- capture(error);
245
- }
246
- }
247
- if (lifetime.leaderTask !== undefined) {
248
- try {
249
- yield* lifetime.leaderTask.halt();
250
- }
251
- catch (error) {
252
- capture(error);
253
- }
254
- }
255
- if (lifetime.leaderRun) {
256
- yield* until(Promise.allSettled([lifetime.leaderRun]));
257
- }
258
- if (lifetime.connectivityTask !== undefined) {
259
- try {
260
- yield* lifetime.connectivityTask.halt();
261
- }
262
- catch (error) {
263
- capture(error);
264
- }
265
- }
266
- try {
267
- yield* until(projections.close());
268
- }
269
- catch (error) {
270
- capture(error);
271
- }
272
- const disposed = new Error("Outbox disposed.");
273
- for (const completion of completions.values()) {
274
- completion.reject(disposed);
275
- }
276
- completions.clear();
277
- try {
278
- yield* until(collection.cleanup());
279
- }
280
- catch (error) {
281
- capture(error);
282
- }
283
- if (cleanupErrors[0]) {
284
- yield* until(Promise.reject(cleanupErrors[0]));
285
- }
286
- }
287
- });
57
+ function useOntologyOutbox(options, collection = createOutboxCollection(options)) {
58
+ return resource(function* (provide) {
59
+ const repository = new OntologyOutboxRepository(collection);
60
+ const failureStrategy = options.failureStrategy ?? "discard-all";
61
+ const service = options.runtime.coordination.service(OUTBOX_COORDINATION_SERVICE);
62
+ const wake = createSignal();
63
+ const projections = new OutboxProjectionManager(options.project ? async (entry) => options.project?.(entry) : void 0);
64
+ const completions = /* @__PURE__ */ new Map();
65
+ const lifetime = {};
66
+ let disposing = false;
67
+ let reconciliationVersion = 0;
68
+ const deliverResult = async (event) => {
69
+ const completion = completions.get(event.id);
70
+ if (event.type === "completed") {
71
+ await projections.discard(event.id);
72
+ if (completion) {
73
+ completions.delete(event.id);
74
+ completion.resolve(event.result);
75
+ }
76
+ return;
77
+ }
78
+ const error = eventError(event);
79
+ await projections.discard(event.id, error);
80
+ if (completion) {
81
+ completions.delete(event.id);
82
+ completion.reject(error);
83
+ }
84
+ };
85
+ try {
86
+ lifetime.unsubscribeResults = service.events.subscribe("result", (event) => {
87
+ deliverResult(event);
88
+ });
89
+ yield* until(repository.preload());
90
+ if (isCoordinationHost(options.runtime.coordination)) lifetime.server = serveOntologyOutbox(options.runtime.coordination, repository);
91
+ const reconcileProjections = async () => {
92
+ const version = ++reconciliationVersion;
93
+ const entries = await repository.entries();
94
+ if (disposing || version !== reconciliationVersion) return;
95
+ await projections.reconcile(entries);
96
+ };
97
+ lifetime.unsubscribeCollection = collection.subscribeChanges(() => {
98
+ wake.send();
99
+ reconcileProjections();
100
+ });
101
+ lifetime.unsubscribeConnection = options.connection ? { unsubscribe: options.connection.subscribe(() => {
102
+ wake.send();
103
+ }) } : void 0;
104
+ const existing = yield* until(repository.entries());
105
+ yield* until(projections.restore(existing));
106
+ const connectivityChanges = yield* useConnectivityChanges(options.runtime);
107
+ lifetime.connectivityTask = yield* spawn(function* () {
108
+ for (const isConnected of yield* each(connectivityChanges)) {
109
+ wake.send();
110
+ yield* each.next();
111
+ }
112
+ });
113
+ if (isCoordinationHost(options.runtime.coordination)) {
114
+ const host = options.runtime.coordination;
115
+ const leaderOptions = {
116
+ runtime: options.runtime,
117
+ service,
118
+ wake,
119
+ failureStrategy,
120
+ maxRetries: nonNegativeInteger(options.maxRetries, DEFAULT_MAX_RETRIES, "Outbox maxRetries"),
121
+ retryDelayMs: DEFAULT_RETRY_DELAY_MS,
122
+ execute: (entry) => options.execute(entry),
123
+ connection: options.connection
124
+ };
125
+ lifetime.leaderTask = yield* spawn(function* () {
126
+ const lifetimeSignal = yield* useAbortSignal();
127
+ while (!lifetimeSignal.aborted) try {
128
+ const leaderRun = host.runAsLeader(({ signal }) => runOutboxLeader(signal, leaderOptions), { signal: lifetimeSignal });
129
+ lifetime.leaderRun = leaderRun;
130
+ yield* until(leaderRun);
131
+ return;
132
+ } catch (error) {
133
+ if (lifetimeSignal.aborted) return;
134
+ if (!host.isLeader && !(error instanceof CoordinationError)) continue;
135
+ throw error;
136
+ }
137
+ });
138
+ }
139
+ yield* provide({
140
+ collection,
141
+ ready: Promise.resolve(),
142
+ async enqueue(request, enqueueOptions) {
143
+ const timestamp = Date.now();
144
+ const proposed = {
145
+ id: crypto.randomUUID(),
146
+ sequence: 0,
147
+ request: {
148
+ ...request,
149
+ idempotencyKey: request.idempotencyKey ?? crypto.randomUUID()
150
+ },
151
+ visibility: enqueueOptions?.visibility ?? "confirmed",
152
+ status: "queued",
153
+ createdAt: timestamp,
154
+ updatedAt: timestamp,
155
+ attempts: 0,
156
+ retryable: true,
157
+ nextAttemptAt: timestamp
158
+ };
159
+ const completion = deferred();
160
+ completion.promise.catch(() => void 0);
161
+ completions.set(proposed.id, completion);
162
+ let entry;
163
+ try {
164
+ entry = await service.methods.enqueue({ entry: proposed });
165
+ } catch (error) {
166
+ completions.delete(proposed.id);
167
+ completion.reject(normalizeError(error));
168
+ throw error;
169
+ }
170
+ await projections.ensure(entry);
171
+ return {
172
+ entry,
173
+ completed: completion.promise
174
+ };
175
+ },
176
+ async edit(id, update) {
177
+ const current = repository.get(id);
178
+ if (!current) throw new Error(`Outbox entry "${id}" was not found in this context.`);
179
+ const request = cloneValue(current.request);
180
+ update(request);
181
+ const entry = await service.methods.edit({
182
+ id,
183
+ request
184
+ });
185
+ await projections.ensure(entry);
186
+ return entry;
187
+ },
188
+ async remove(id) {
189
+ await service.methods.remove({ id });
190
+ },
191
+ async retry(id) {
192
+ await service.methods.retry({ id });
193
+ wake.send();
194
+ },
195
+ cleanup() {
196
+ return Promise.resolve();
197
+ }
198
+ });
199
+ } finally {
200
+ disposing = true;
201
+ reconciliationVersion += 1;
202
+ const cleanupErrors = [];
203
+ const capture = (error) => {
204
+ cleanupErrors.push(normalizeError(error));
205
+ };
206
+ lifetime.unsubscribeResults?.();
207
+ lifetime.unsubscribeCollection?.unsubscribe();
208
+ lifetime.unsubscribeConnection?.unsubscribe();
209
+ if (lifetime.server) try {
210
+ yield* until(lifetime.server.close());
211
+ } catch (error) {
212
+ capture(error);
213
+ }
214
+ if (lifetime.leaderTask !== void 0) try {
215
+ yield* lifetime.leaderTask.halt();
216
+ } catch (error) {
217
+ capture(error);
218
+ }
219
+ if (lifetime.leaderRun) yield* until(Promise.allSettled([lifetime.leaderRun]));
220
+ if (lifetime.connectivityTask !== void 0) try {
221
+ yield* lifetime.connectivityTask.halt();
222
+ } catch (error) {
223
+ capture(error);
224
+ }
225
+ try {
226
+ yield* until(projections.close());
227
+ } catch (error) {
228
+ capture(error);
229
+ }
230
+ const disposed = /* @__PURE__ */ new Error("Outbox disposed.");
231
+ for (const completion of completions.values()) completion.reject(disposed);
232
+ completions.clear();
233
+ try {
234
+ yield* until(collection.cleanup());
235
+ } catch (error) {
236
+ capture(error);
237
+ }
238
+ if (cleanupErrors[0]) yield* until(Promise.reject(cleanupErrors[0]));
239
+ }
240
+ });
288
241
  }
289
- export function createOntologyOutbox(options) {
290
- const collection = createOutboxCollection(options);
291
- let outbox;
292
- const ready = deferred();
293
- // Prevent unhandled rejection when cleanup races startup.
294
- void ready.promise.catch(() => undefined);
295
- let cleanupPromise;
296
- const task = run(function* () {
297
- try {
298
- const value = yield* useOntologyOutbox(options, collection);
299
- outbox = value;
300
- ready.resolve();
301
- yield* suspend();
302
- }
303
- catch (error) {
304
- ready.reject(normalizeError(error));
305
- throw error;
306
- }
307
- });
308
- void task.catch(() => undefined);
309
- return {
310
- collection,
311
- ready: ready.promise,
312
- task,
313
- async enqueue(request, enqueueOptions) {
314
- await ready.promise;
315
- return outbox.enqueue(request, enqueueOptions);
316
- },
317
- async edit(id, update) {
318
- await ready.promise;
319
- return outbox.edit(id, update);
320
- },
321
- async remove(id) {
322
- await ready.promise;
323
- return outbox.remove(id);
324
- },
325
- async retry(id) {
326
- await ready.promise;
327
- return outbox.retry(id);
328
- },
329
- async cleanup() {
330
- cleanupPromise ??= (async () => {
331
- // Let persistence startup settle before tearing down so
332
- // loopback markReady cannot race cleaned-up status.
333
- await Promise.allSettled([ready.promise, collection.preload()]);
334
- await task.halt().catch(() => undefined);
335
- if (collection.status !== "cleaned-up") {
336
- await collection.cleanup().catch(() => undefined);
337
- }
338
- })();
339
- return cleanupPromise;
340
- },
341
- };
242
+ function createOntologyOutbox(options) {
243
+ const collection = createOutboxCollection(options);
244
+ let outbox;
245
+ const ready = deferred();
246
+ ready.promise.catch(() => void 0);
247
+ let cleanupPromise;
248
+ const task = run(function* () {
249
+ try {
250
+ outbox = yield* useOntologyOutbox(options, collection);
251
+ ready.resolve();
252
+ yield* suspend();
253
+ } catch (error) {
254
+ ready.reject(normalizeError(error));
255
+ throw error;
256
+ }
257
+ });
258
+ task.catch(() => void 0);
259
+ return {
260
+ collection,
261
+ ready: ready.promise,
262
+ task,
263
+ async enqueue(request, enqueueOptions) {
264
+ await ready.promise;
265
+ return outbox.enqueue(request, enqueueOptions);
266
+ },
267
+ async edit(id, update) {
268
+ await ready.promise;
269
+ return outbox.edit(id, update);
270
+ },
271
+ async remove(id) {
272
+ await ready.promise;
273
+ return outbox.remove(id);
274
+ },
275
+ async retry(id) {
276
+ await ready.promise;
277
+ return outbox.retry(id);
278
+ },
279
+ async cleanup() {
280
+ cleanupPromise ??= (async () => {
281
+ await Promise.allSettled([ready.promise, collection.preload()]);
282
+ await task.halt().catch(() => void 0);
283
+ if (collection.status !== "cleaned-up") await collection.cleanup().catch(() => void 0);
284
+ })();
285
+ return cleanupPromise;
286
+ }
287
+ };
342
288
  }
289
+ //#endregion
290
+ export { createOntologyOutbox, useOntologyOutbox };
291
+
343
292
  //# sourceMappingURL=createOntologyOutbox.js.map