@party-stack/ontology 0.19.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (401) 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/cli/format.d.ts +4 -0
  5. package/lib/cli/format.d.ts.map +1 -0
  6. package/lib/cli/format.js +19 -0
  7. package/lib/cli/format.js.map +1 -0
  8. package/lib/cli/generate.d.ts +6 -5
  9. package/lib/cli/generate.d.ts.map +1 -1
  10. package/lib/cli/generate.js +86 -110
  11. package/lib/cli/generate.js.map +1 -1
  12. package/lib/cli/index.d.ts +1 -3
  13. package/lib/cli/index.js +42 -59
  14. package/lib/cli/index.js.map +1 -1
  15. package/lib/cli/pull.d.ts +3 -1
  16. package/lib/cli/pull.d.ts.map +1 -1
  17. package/lib/cli/pull.js +42 -60
  18. package/lib/cli/pull.js.map +1 -1
  19. package/lib/examples/blog.d.ts +347 -345
  20. package/lib/examples/blog.d.ts.map +1 -1
  21. package/lib/examples/blog.js +350 -337
  22. package/lib/examples/blog.js.map +1 -1
  23. package/lib/examples/blog.live-queries.d.ts +8 -3
  24. package/lib/examples/blog.live-queries.d.ts.map +1 -1
  25. package/lib/examples/blog.live-queries.js +28 -44
  26. package/lib/examples/blog.live-queries.js.map +1 -1
  27. package/lib/examples/generated/constants.d.ts +1 -2
  28. package/lib/examples/generated/constants.js +0 -2
  29. package/lib/examples/generated/live.d.ts +5 -3
  30. package/lib/examples/generated/live.d.ts.map +1 -1
  31. package/lib/examples/generated/live.js +12 -8
  32. package/lib/examples/generated/live.js.map +1 -1
  33. package/lib/examples/generated/types.d.ts +52 -50
  34. package/lib/examples/generated/types.d.ts.map +1 -1
  35. package/lib/examples/generated/types.js +0 -2
  36. package/lib/generate/builders.d.ts +8 -5
  37. package/lib/generate/builders.d.ts.map +1 -1
  38. package/lib/generate/builders.js +53 -55
  39. package/lib/generate/builders.js.map +1 -1
  40. package/lib/generate/constants.d.ts +3 -1
  41. package/lib/generate/constants.d.ts.map +1 -1
  42. package/lib/generate/constants.js +23 -26
  43. package/lib/generate/constants.js.map +1 -1
  44. package/lib/generate/index.d.ts +6 -6
  45. package/lib/generate/index.js +6 -6
  46. package/lib/generate/live.d.ts +8 -6
  47. package/lib/generate/live.d.ts.map +1 -1
  48. package/lib/generate/live.js +43 -42
  49. package/lib/generate/live.js.map +1 -1
  50. package/lib/generate/ontology.d.ts +4 -2
  51. package/lib/generate/ontology.d.ts.map +1 -1
  52. package/lib/generate/ontology.js +453 -354
  53. package/lib/generate/ontology.js.map +1 -1
  54. package/lib/generate/types.d.ts +7 -5
  55. package/lib/generate/types.d.ts.map +1 -1
  56. package/lib/generate/types.js +190 -262
  57. package/lib/generate/types.js.map +1 -1
  58. package/lib/generate/utils/buildJsDocs.d.ts +7 -4
  59. package/lib/generate/utils/buildJsDocs.d.ts.map +1 -1
  60. package/lib/generate/utils/buildJsDocs.js +14 -10
  61. package/lib/generate/utils/buildJsDocs.js.map +1 -1
  62. package/lib/index.d.ts +30 -13
  63. package/lib/index.js +18 -10
  64. package/lib/infer.d.ts +129 -151
  65. package/lib/infer.d.ts.map +1 -1
  66. package/lib/infer.js +10 -6
  67. package/lib/infer.js.map +1 -1
  68. package/lib/installation/createMetaOntologyConfiguration.d.ts +6 -3
  69. package/lib/installation/createMetaOntologyConfiguration.d.ts.map +1 -1
  70. package/lib/installation/createMetaOntologyConfiguration.js +13 -11
  71. package/lib/installation/createMetaOntologyConfiguration.js.map +1 -1
  72. package/lib/installation/createOntologyBackendInstallation.d.ts +3 -1
  73. package/lib/installation/createOntologyBackendInstallation.d.ts.map +1 -1
  74. package/lib/installation/createOntologyBackendInstallation.js +205 -268
  75. package/lib/installation/createOntologyBackendInstallation.js.map +1 -1
  76. package/lib/installation/index.d.ts +4 -4
  77. package/lib/installation/index.js +3 -3
  78. package/lib/installation/types.d.ts +83 -80
  79. package/lib/installation/types.d.ts.map +1 -1
  80. package/lib/installation/types.js +0 -1
  81. package/lib/ir/generated/builders.d.ts +294 -382
  82. package/lib/ir/generated/builders.d.ts.map +1 -1
  83. package/lib/ir/generated/builders.js +180 -119
  84. package/lib/ir/generated/builders.js.map +1 -1
  85. package/lib/ir/generated/constants.d.ts +137 -135
  86. package/lib/ir/generated/constants.d.ts.map +1 -1
  87. package/lib/ir/generated/constants.js +162 -129
  88. package/lib/ir/generated/constants.js.map +1 -1
  89. package/lib/ir/generated/types.d.ts +236 -234
  90. package/lib/ir/generated/types.d.ts.map +1 -1
  91. package/lib/ir/generated/types.js +0 -2
  92. package/lib/ir/index.d.ts +4 -4
  93. package/lib/ir/index.js +3 -4
  94. package/lib/ir/schema.d.ts +2174 -2172
  95. package/lib/ir/schema.d.ts.map +1 -1
  96. package/lib/ir/schema.js +1184 -1343
  97. package/lib/ir/schema.js.map +1 -1
  98. package/lib/ir/validate.d.ts +5 -3
  99. package/lib/ir/validate.d.ts.map +1 -1
  100. package/lib/ir/validate.js +589 -707
  101. package/lib/ir/validate.js.map +1 -1
  102. package/lib/json/index.d.ts +10 -8
  103. package/lib/json/index.d.ts.map +1 -1
  104. package/lib/json/index.js +101 -135
  105. package/lib/json/index.js.map +1 -1
  106. package/lib/lenses.d.ts +7 -4
  107. package/lib/lenses.d.ts.map +1 -1
  108. package/lib/lenses.js +96 -132
  109. package/lib/lenses.js.map +1 -1
  110. package/lib/live/LiveOntology.d.ts +55 -60
  111. package/lib/live/LiveOntology.d.ts.map +1 -1
  112. package/lib/live/LiveOntology.js +98 -124
  113. package/lib/live/LiveOntology.js.map +1 -1
  114. package/lib/live/OntologyBackendAdapter.d.ts +84 -77
  115. package/lib/live/OntologyBackendAdapter.d.ts.map +1 -1
  116. package/lib/live/OntologyBackendAdapter.js +0 -1
  117. package/lib/live/actions/createLiveOntologyAction.d.ts +27 -24
  118. package/lib/live/actions/createLiveOntologyAction.d.ts.map +1 -1
  119. package/lib/live/actions/createLiveOntologyAction.js +24 -21
  120. package/lib/live/actions/createLiveOntologyAction.js.map +1 -1
  121. package/lib/live/actions/createLiveOntologyActions.d.ts +23 -20
  122. package/lib/live/actions/createLiveOntologyActions.d.ts.map +1 -1
  123. package/lib/live/actions/createLiveOntologyActions.js +131 -161
  124. package/lib/live/actions/createLiveOntologyActions.js.map +1 -1
  125. package/lib/live/actions/prepareActionParameters.d.ts +14 -11
  126. package/lib/live/actions/prepareActionParameters.d.ts.map +1 -1
  127. package/lib/live/actions/prepareActionParameters.js +190 -228
  128. package/lib/live/actions/prepareActionParameters.js.map +1 -1
  129. package/lib/live/attachments/attachmentSources.d.ts +7 -4
  130. package/lib/live/attachments/attachmentSources.d.ts.map +1 -1
  131. package/lib/live/attachments/attachmentSources.js +55 -71
  132. package/lib/live/attachments/attachmentSources.js.map +1 -1
  133. package/lib/live/attachments/createLiveOntologyAttachments.d.ts +47 -44
  134. package/lib/live/attachments/createLiveOntologyAttachments.d.ts.map +1 -1
  135. package/lib/live/attachments/createLiveOntologyAttachments.js +65 -83
  136. package/lib/live/attachments/createLiveOntologyAttachments.js.map +1 -1
  137. package/lib/live/attachments/types.d.ts +10 -8
  138. package/lib/live/attachments/types.d.ts.map +1 -1
  139. package/lib/live/attachments/types.js +0 -1
  140. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.d.ts +3 -1
  141. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.d.ts.map +1 -1
  142. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.js +5 -3
  143. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.js.map +1 -1
  144. package/lib/live/expression.d.ts +16 -13
  145. package/lib/live/expression.d.ts.map +1 -1
  146. package/lib/live/expression.js +142 -223
  147. package/lib/live/expression.js.map +1 -1
  148. package/lib/live/index.d.ts +12 -9
  149. package/lib/live/index.js +6 -8
  150. package/lib/live/mutators/OntologyEdits.d.ts +12 -9
  151. package/lib/live/mutators/OntologyEdits.d.ts.map +1 -1
  152. package/lib/live/mutators/OntologyEdits.js +57 -74
  153. package/lib/live/mutators/OntologyEdits.js.map +1 -1
  154. package/lib/live/mutators/createMutatorTx.d.ts +7 -5
  155. package/lib/live/mutators/createMutatorTx.d.ts.map +1 -1
  156. package/lib/live/mutators/createMutatorTx.js +53 -69
  157. package/lib/live/mutators/createMutatorTx.js.map +1 -1
  158. package/lib/live/mutators/runOptimisticAction.d.ts +16 -13
  159. package/lib/live/mutators/runOptimisticAction.d.ts.map +1 -1
  160. package/lib/live/mutators/runOptimisticAction.js +26 -26
  161. package/lib/live/mutators/runOptimisticAction.js.map +1 -1
  162. package/lib/live/mutators/types.d.ts +18 -16
  163. package/lib/live/mutators/types.d.ts.map +1 -1
  164. package/lib/live/mutators/types.js +0 -1
  165. package/lib/live/objects/OntologyObject.d.ts +2 -0
  166. package/lib/live/objects/OntologyObject.d.ts.map +1 -1
  167. package/lib/live/objects/OntologyObject.js +0 -1
  168. package/lib/live/objects/createLiveOntologyObjectCollection.d.ts +14 -11
  169. package/lib/live/objects/createLiveOntologyObjectCollection.d.ts.map +1 -1
  170. package/lib/live/objects/createLiveOntologyObjectCollection.js +62 -49
  171. package/lib/live/objects/createLiveOntologyObjectCollection.js.map +1 -1
  172. package/lib/live/objects/ontologyObjectCollectionId.d.ts +2 -0
  173. package/lib/live/objects/ontologyObjectCollectionId.d.ts.map +1 -1
  174. package/lib/live/objects/ontologyObjectCollectionId.js +6 -2
  175. package/lib/live/objects/ontologyObjectCollectionId.js.map +1 -1
  176. package/lib/live/outbox/createOntologyOutbox.d.ts +16 -14
  177. package/lib/live/outbox/createOntologyOutbox.d.ts.map +1 -1
  178. package/lib/live/outbox/createOntologyOutbox.js +275 -326
  179. package/lib/live/outbox/createOntologyOutbox.js.map +1 -1
  180. package/lib/live/outbox/leaderExecutor.d.ts +15 -13
  181. package/lib/live/outbox/leaderExecutor.d.ts.map +1 -1
  182. package/lib/live/outbox/leaderExecutor.js +114 -153
  183. package/lib/live/outbox/leaderExecutor.js.map +1 -1
  184. package/lib/live/outbox/outboxService.d.ts +4 -2
  185. package/lib/live/outbox/outboxService.d.ts.map +1 -1
  186. package/lib/live/outbox/outboxService.js +66 -71
  187. package/lib/live/outbox/outboxService.js.map +1 -1
  188. package/lib/live/outbox/projectionManager.d.ts +26 -24
  189. package/lib/live/outbox/projectionManager.d.ts.map +1 -1
  190. package/lib/live/outbox/projectionManager.js +121 -147
  191. package/lib/live/outbox/projectionManager.js.map +1 -1
  192. package/lib/live/outbox/repository.d.ts +27 -25
  193. package/lib/live/outbox/repository.d.ts.map +1 -1
  194. package/lib/live/outbox/repository.js +192 -241
  195. package/lib/live/outbox/repository.js.map +1 -1
  196. package/lib/live/outbox/service.d.ts +52 -50
  197. package/lib/live/outbox/service.d.ts.map +1 -1
  198. package/lib/live/outbox/service.js +5 -1
  199. package/lib/live/outbox/service.js.map +1 -1
  200. package/lib/live/outbox/types.d.ts +35 -33
  201. package/lib/live/outbox/types.d.ts.map +1 -1
  202. package/lib/live/outbox/types.js +10 -6
  203. package/lib/live/outbox/types.js.map +1 -1
  204. package/lib/live/waitForCollectionReady.d.ts +3 -1
  205. package/lib/live/waitForCollectionReady.d.ts.map +1 -1
  206. package/lib/live/waitForCollectionReady.js +44 -65
  207. package/lib/live/waitForCollectionReady.js.map +1 -1
  208. package/lib/meta/createLocalMetaOntologyBackendAdapter.d.ts +5 -2
  209. package/lib/meta/createLocalMetaOntologyBackendAdapter.d.ts.map +1 -1
  210. package/lib/meta/createLocalMetaOntologyBackendAdapter.js +37 -39
  211. package/lib/meta/createLocalMetaOntologyBackendAdapter.js.map +1 -1
  212. package/lib/meta/generated/constants.d.ts +137 -135
  213. package/lib/meta/generated/constants.d.ts.map +1 -1
  214. package/lib/meta/generated/constants.js +162 -129
  215. package/lib/meta/generated/constants.js.map +1 -1
  216. package/lib/meta/generated/live.d.ts +5 -2
  217. package/lib/meta/generated/live.d.ts.map +1 -1
  218. package/lib/meta/generated/live.js +12 -8
  219. package/lib/meta/generated/live.js.map +1 -1
  220. package/lib/meta/generated/types.d.ts +233 -231
  221. package/lib/meta/generated/types.d.ts.map +1 -1
  222. package/lib/meta/generated/types.js +0 -2
  223. package/lib/meta/ontology.d.ts +23 -21
  224. package/lib/meta/ontology.d.ts.map +1 -1
  225. package/lib/meta/ontology.js +100 -104
  226. package/lib/meta/ontology.js.map +1 -1
  227. package/lib/meta/pull.d.ts +8 -6
  228. package/lib/meta/pull.d.ts.map +1 -1
  229. package/lib/meta/pull.js +39 -52
  230. package/lib/meta/pull.js.map +1 -1
  231. package/lib/utils/index.d.ts +8 -8
  232. package/lib/utils/index.js +5 -6
  233. package/lib/utils/links.d.ts +34 -31
  234. package/lib/utils/links.d.ts.map +1 -1
  235. package/lib/utils/links.js +10 -17
  236. package/lib/utils/links.js.map +1 -1
  237. package/lib/utils/paths.d.ts +2 -0
  238. package/lib/utils/paths.d.ts.map +1 -1
  239. package/lib/utils/paths.js +32 -44
  240. package/lib/utils/paths.js.map +1 -1
  241. package/lib/utils/provide.d.ts +2 -0
  242. package/lib/utils/provide.d.ts.map +1 -1
  243. package/lib/utils/provide.js +7 -9
  244. package/lib/utils/provide.js.map +1 -1
  245. package/lib/utils/targets.d.ts +20 -18
  246. package/lib/utils/targets.d.ts.map +1 -1
  247. package/lib/utils/targets.js +0 -1
  248. package/lib/utils/typeNames.d.ts +10 -8
  249. package/lib/utils/typeNames.d.ts.map +1 -1
  250. package/lib/utils/typeNames.js +0 -1
  251. package/lib/utils/types.d.ts +6 -4
  252. package/lib/utils/types.d.ts.map +1 -1
  253. package/lib/utils/types.js +38 -38
  254. package/lib/utils/types.js.map +1 -1
  255. package/lib/utils/uncertain.d.ts +5 -3
  256. package/lib/utils/uncertain.d.ts.map +1 -1
  257. package/lib/utils/uncertain.js +11 -9
  258. package/lib/utils/uncertain.js.map +1 -1
  259. package/lib/utils/validation.d.ts +4 -2
  260. package/lib/utils/validation.d.ts.map +1 -1
  261. package/lib/utils/validation.js +0 -1
  262. package/lib/utils/values.d.ts +18 -18
  263. package/lib/utils/values.d.ts.map +1 -1
  264. package/lib/utils/values.js +0 -1
  265. package/package.json +22 -26
  266. package/lib/OntologyPullConfig.js.map +0 -1
  267. package/lib/cli/index.d.ts.map +0 -1
  268. package/lib/cli/index.test.d.ts +0 -2
  269. package/lib/cli/index.test.d.ts.map +0 -1
  270. package/lib/cli/index.test.js +0 -34
  271. package/lib/cli/index.test.js.map +0 -1
  272. package/lib/cli/pull.test.d.ts +0 -2
  273. package/lib/cli/pull.test.d.ts.map +0 -1
  274. package/lib/cli/pull.test.js +0 -125
  275. package/lib/cli/pull.test.js.map +0 -1
  276. package/lib/examples/generated/constants.d.ts.map +0 -1
  277. package/lib/examples/generated/constants.js.map +0 -1
  278. package/lib/examples/generated/types.js.map +0 -1
  279. package/lib/generate/builders.test.d.ts +0 -2
  280. package/lib/generate/builders.test.d.ts.map +0 -1
  281. package/lib/generate/builders.test.js +0 -49
  282. package/lib/generate/builders.test.js.map +0 -1
  283. package/lib/generate/index.d.ts.map +0 -1
  284. package/lib/generate/index.js.map +0 -1
  285. package/lib/generate/live.test.d.ts +0 -2
  286. package/lib/generate/live.test.d.ts.map +0 -1
  287. package/lib/generate/live.test.js +0 -22
  288. package/lib/generate/live.test.js.map +0 -1
  289. package/lib/generate/ontology.test.d.ts +0 -2
  290. package/lib/generate/ontology.test.d.ts.map +0 -1
  291. package/lib/generate/ontology.test.js +0 -157
  292. package/lib/generate/ontology.test.js.map +0 -1
  293. package/lib/generate/types.test.d.ts +0 -2
  294. package/lib/generate/types.test.d.ts.map +0 -1
  295. package/lib/generate/types.test.js +0 -304
  296. package/lib/generate/types.test.js.map +0 -1
  297. package/lib/index.d.ts.map +0 -1
  298. package/lib/index.js.map +0 -1
  299. package/lib/infer.test.d.ts +0 -2
  300. package/lib/infer.test.d.ts.map +0 -1
  301. package/lib/infer.test.js +0 -125
  302. package/lib/infer.test.js.map +0 -1
  303. package/lib/installation/createMetaOntologyConfiguration.test.d.ts +0 -2
  304. package/lib/installation/createMetaOntologyConfiguration.test.d.ts.map +0 -1
  305. package/lib/installation/createMetaOntologyConfiguration.test.js +0 -20
  306. package/lib/installation/createMetaOntologyConfiguration.test.js.map +0 -1
  307. package/lib/installation/createOntologyBackendInstallation.test.d.ts +0 -2
  308. package/lib/installation/createOntologyBackendInstallation.test.d.ts.map +0 -1
  309. package/lib/installation/createOntologyBackendInstallation.test.js +0 -320
  310. package/lib/installation/createOntologyBackendInstallation.test.js.map +0 -1
  311. package/lib/installation/index.d.ts.map +0 -1
  312. package/lib/installation/index.js.map +0 -1
  313. package/lib/installation/types.js.map +0 -1
  314. package/lib/ir/generated/types.js.map +0 -1
  315. package/lib/ir/index.d.ts.map +0 -1
  316. package/lib/ir/index.js.map +0 -1
  317. package/lib/ir/validate.test.d.ts +0 -2
  318. package/lib/ir/validate.test.d.ts.map +0 -1
  319. package/lib/ir/validate.test.js +0 -1061
  320. package/lib/ir/validate.test.js.map +0 -1
  321. package/lib/json/index.test.d.ts +0 -2
  322. package/lib/json/index.test.d.ts.map +0 -1
  323. package/lib/json/index.test.js +0 -142
  324. package/lib/json/index.test.js.map +0 -1
  325. package/lib/lenses.test.d.ts +0 -2
  326. package/lib/lenses.test.d.ts.map +0 -1
  327. package/lib/lenses.test.js +0 -80
  328. package/lib/lenses.test.js.map +0 -1
  329. package/lib/live/LiveOntology.test.d.ts +0 -2
  330. package/lib/live/LiveOntology.test.d.ts.map +0 -1
  331. package/lib/live/LiveOntology.test.js +0 -507
  332. package/lib/live/LiveOntology.test.js.map +0 -1
  333. package/lib/live/OntologyBackendAdapter.js.map +0 -1
  334. package/lib/live/actions/createLiveOntologyAction.test.d.ts +0 -2
  335. package/lib/live/actions/createLiveOntologyAction.test.d.ts.map +0 -1
  336. package/lib/live/actions/createLiveOntologyAction.test.js +0 -232
  337. package/lib/live/actions/createLiveOntologyAction.test.js.map +0 -1
  338. package/lib/live/actions/prepareActionParameters.test.d.ts +0 -2
  339. package/lib/live/actions/prepareActionParameters.test.d.ts.map +0 -1
  340. package/lib/live/actions/prepareActionParameters.test.js +0 -165
  341. package/lib/live/actions/prepareActionParameters.test.js.map +0 -1
  342. package/lib/live/attachments/attachmentMetadata.test.d.ts +0 -2
  343. package/lib/live/attachments/attachmentMetadata.test.d.ts.map +0 -1
  344. package/lib/live/attachments/attachmentMetadata.test.js +0 -73
  345. package/lib/live/attachments/attachmentMetadata.test.js.map +0 -1
  346. package/lib/live/attachments/createLiveOntologyAttachments.test.d.ts +0 -2
  347. package/lib/live/attachments/createLiveOntologyAttachments.test.d.ts.map +0 -1
  348. package/lib/live/attachments/createLiveOntologyAttachments.test.js +0 -363
  349. package/lib/live/attachments/createLiveOntologyAttachments.test.js.map +0 -1
  350. package/lib/live/attachments/types.js.map +0 -1
  351. package/lib/live/expression.test.d.ts +0 -2
  352. package/lib/live/expression.test.d.ts.map +0 -1
  353. package/lib/live/expression.test.js +0 -311
  354. package/lib/live/expression.test.js.map +0 -1
  355. package/lib/live/index.d.ts.map +0 -1
  356. package/lib/live/index.js.map +0 -1
  357. package/lib/live/mutators/OntologyEdits.test.d.ts +0 -2
  358. package/lib/live/mutators/OntologyEdits.test.d.ts.map +0 -1
  359. package/lib/live/mutators/OntologyEdits.test.js +0 -85
  360. package/lib/live/mutators/OntologyEdits.test.js.map +0 -1
  361. package/lib/live/mutators/createMutatorTx.test.d.ts +0 -2
  362. package/lib/live/mutators/createMutatorTx.test.d.ts.map +0 -1
  363. package/lib/live/mutators/createMutatorTx.test.js +0 -180
  364. package/lib/live/mutators/createMutatorTx.test.js.map +0 -1
  365. package/lib/live/mutators/types.js.map +0 -1
  366. package/lib/live/objects/OntologyObject.js.map +0 -1
  367. package/lib/live/objects/createLiveOntologyObjectCollection.test.d.ts +0 -2
  368. package/lib/live/objects/createLiveOntologyObjectCollection.test.d.ts.map +0 -1
  369. package/lib/live/objects/createLiveOntologyObjectCollection.test.js +0 -310
  370. package/lib/live/objects/createLiveOntologyObjectCollection.test.js.map +0 -1
  371. package/lib/live/outbox/createOntologyOutbox.test.d.ts +0 -2
  372. package/lib/live/outbox/createOntologyOutbox.test.d.ts.map +0 -1
  373. package/lib/live/outbox/createOntologyOutbox.test.js +0 -1030
  374. package/lib/live/outbox/createOntologyOutbox.test.js.map +0 -1
  375. package/lib/meta/generated/types.js.map +0 -1
  376. package/lib/meta/ontology.test.d.ts +0 -2
  377. package/lib/meta/ontology.test.d.ts.map +0 -1
  378. package/lib/meta/ontology.test.js +0 -84
  379. package/lib/meta/ontology.test.js.map +0 -1
  380. package/lib/utils/index.d.ts.map +0 -1
  381. package/lib/utils/index.js.map +0 -1
  382. package/lib/utils/links.test.d.ts +0 -2
  383. package/lib/utils/links.test.d.ts.map +0 -1
  384. package/lib/utils/links.test.js +0 -109
  385. package/lib/utils/links.test.js.map +0 -1
  386. package/lib/utils/paths.test.d.ts +0 -2
  387. package/lib/utils/paths.test.d.ts.map +0 -1
  388. package/lib/utils/paths.test.js +0 -33
  389. package/lib/utils/paths.test.js.map +0 -1
  390. package/lib/utils/targets.js.map +0 -1
  391. package/lib/utils/typeNames.js.map +0 -1
  392. package/lib/utils/types.test.d.ts +0 -2
  393. package/lib/utils/types.test.d.ts.map +0 -1
  394. package/lib/utils/types.test.js +0 -157
  395. package/lib/utils/types.test.js.map +0 -1
  396. package/lib/utils/uncertain.test.d.ts +0 -2
  397. package/lib/utils/uncertain.test.d.ts.map +0 -1
  398. package/lib/utils/uncertain.test.js +0 -14
  399. package/lib/utils/uncertain.test.js.map +0 -1
  400. package/lib/utils/validation.js.map +0 -1
  401. package/lib/utils/values.js.map +0 -1
@@ -1,343 +1,292 @@
1
- import { cloneValue } from "@party-stack/coordination";
2
- import { createLocalCollection, isCoordinationHost, CoordinationError, } from "@party-stack/runtime";
3
- import { useConnectivityChanges } from "@party-stack/runtime/effection";
4
- import { createSignal, each, resource, run, spawn, suspend, until, useAbortSignal, } from "effection";
5
1
  import { runOutboxLeader } from "./leaderExecutor.js";
2
+ import { OUTBOX_COORDINATION_SERVICE } from "./service.js";
6
3
  import { serveOntologyOutbox } from "./outboxService.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?.(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(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: {
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,
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 = cloneValue(current.request);
208
- update(request);
209
- const entry = await service.methods.edit({
210
- id,
211
- request,
212
- });
213
- await projections.ensure(entry);
214
- return 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