@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,80 +1,64 @@
1
1
  import { resolveType } from "../../utils/types.js";
2
+ //#region src/live/attachments/attachmentSources.ts
2
3
  function isRecord(value) {
3
- return typeof value === "object" && value !== null;
4
+ return typeof value === "object" && value !== null;
4
5
  }
5
6
  function isAttachment(value) {
6
- return isRecord(value) && typeof value.id === "string";
7
+ return isRecord(value) && typeof value.id === "string";
7
8
  }
8
9
  function decorateAttachmentValue(opts) {
9
- if (opts.value === undefined || opts.value === null)
10
- return;
11
- const type = resolveType(opts.ir, opts.type);
12
- switch (type.kind) {
13
- case "attachment":
14
- if (isAttachment(opts.value)) {
15
- opts.value.source = opts.source;
16
- }
17
- return;
18
- case "optional":
19
- decorateAttachmentValue({
20
- ...opts,
21
- type: type.value.type,
22
- });
23
- return;
24
- case "list":
25
- if (Array.isArray(opts.value)) {
26
- for (const item of opts.value) {
27
- decorateAttachmentValue({
28
- ...opts,
29
- type: type.value.elementType,
30
- value: item,
31
- });
32
- }
33
- }
34
- return;
35
- case "map":
36
- if (isRecord(opts.value)) {
37
- for (const item of Object.values(opts.value)) {
38
- decorateAttachmentValue({
39
- ...opts,
40
- type: type.value.valueType,
41
- value: item,
42
- });
43
- }
44
- }
45
- return;
46
- case "struct":
47
- if (isRecord(opts.value)) {
48
- for (const field of type.value.fields) {
49
- decorateAttachmentValue({
50
- ...opts,
51
- type: field.type,
52
- value: opts.value[field.name],
53
- });
54
- }
55
- }
56
- return;
57
- default:
58
- return;
59
- }
10
+ if (opts.value === void 0 || opts.value === null) return;
11
+ const type = resolveType(opts.ir, opts.type);
12
+ switch (type.kind) {
13
+ case "attachment":
14
+ if (isAttachment(opts.value)) opts.value.source = opts.source;
15
+ return;
16
+ case "optional":
17
+ decorateAttachmentValue({
18
+ ...opts,
19
+ type: type.value.type
20
+ });
21
+ return;
22
+ case "list":
23
+ if (Array.isArray(opts.value)) for (const item of opts.value) decorateAttachmentValue({
24
+ ...opts,
25
+ type: type.value.elementType,
26
+ value: item
27
+ });
28
+ return;
29
+ case "map":
30
+ if (isRecord(opts.value)) for (const item of Object.values(opts.value)) decorateAttachmentValue({
31
+ ...opts,
32
+ type: type.value.valueType,
33
+ value: item
34
+ });
35
+ return;
36
+ case "struct":
37
+ if (isRecord(opts.value)) for (const field of type.value.fields) decorateAttachmentValue({
38
+ ...opts,
39
+ type: field.type,
40
+ value: opts.value[field.name]
41
+ });
42
+ return;
43
+ default: return;
44
+ }
60
45
  }
61
- export function decorateObjectAttachmentSources(opts) {
62
- const primaryKey = opts.object[opts.objectType.primaryKey];
63
- if (typeof primaryKey !== "string" && typeof primaryKey !== "number") {
64
- return opts.object;
65
- }
66
- for (const property of opts.objectType.properties) {
67
- decorateAttachmentValue({
68
- ir: opts.ir,
69
- type: property.type,
70
- value: opts.object[property.name],
71
- source: {
72
- objectType: opts.objectType.name,
73
- primaryKey,
74
- property: property.name,
75
- },
76
- });
77
- }
78
- return opts.object;
46
+ function decorateObjectAttachmentSources(opts) {
47
+ const primaryKey = opts.object[opts.objectType.primaryKey];
48
+ if (typeof primaryKey !== "string" && typeof primaryKey !== "number") return opts.object;
49
+ for (const property of opts.objectType.properties) decorateAttachmentValue({
50
+ ir: opts.ir,
51
+ type: property.type,
52
+ value: opts.object[property.name],
53
+ source: {
54
+ objectType: opts.objectType.name,
55
+ primaryKey,
56
+ property: property.name
57
+ }
58
+ });
59
+ return opts.object;
79
60
  }
61
+ //#endregion
62
+ export { decorateObjectAttachmentSources };
63
+
80
64
  //# sourceMappingURL=attachmentSources.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"attachmentSources.js","sourceRoot":"","sources":["../../../src/live/attachments/attachmentSources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attachmentSources.js","names":[],"sources":["../../../src/live/attachments/attachmentSources.ts"],"sourcesContent":["import { resolveType } from \"../../utils/types.js\";\nimport type { ObjectTypeDef, OntologyIR, TypeDef } from \"../../ir/index.js\";\nimport type { attachment } from \"../../utils/values.js\";\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null;\n}\n\nfunction isAttachment(value: unknown): value is attachment {\n return isRecord(value) && typeof value.id === \"string\";\n}\n\nfunction decorateAttachmentValue(opts: {\n ir: OntologyIR;\n type: TypeDef;\n value: unknown;\n source: NonNullable<attachment[\"source\"]>;\n}) {\n if (opts.value === undefined || opts.value === null) return;\n\n const type = resolveType(opts.ir, opts.type);\n switch (type.kind) {\n case \"attachment\":\n if (isAttachment(opts.value)) {\n opts.value.source = opts.source;\n }\n return;\n case \"optional\":\n decorateAttachmentValue({\n ...opts,\n type: type.value.type,\n });\n return;\n case \"list\":\n if (Array.isArray(opts.value)) {\n for (const item of opts.value) {\n decorateAttachmentValue({\n ...opts,\n type: type.value.elementType,\n value: item,\n });\n }\n }\n return;\n case \"map\":\n if (isRecord(opts.value)) {\n for (const item of Object.values(opts.value)) {\n decorateAttachmentValue({\n ...opts,\n type: type.value.valueType,\n value: item,\n });\n }\n }\n return;\n case \"struct\":\n if (isRecord(opts.value)) {\n for (const field of type.value.fields) {\n decorateAttachmentValue({\n ...opts,\n type: field.type,\n value: opts.value[field.name],\n });\n }\n }\n return;\n default:\n return;\n }\n}\n\nexport function decorateObjectAttachmentSources(opts: {\n ir: OntologyIR;\n objectType: ObjectTypeDef;\n object: Record<string, unknown>;\n}): Record<string, unknown> {\n const primaryKey = opts.object[opts.objectType.primaryKey];\n if (typeof primaryKey !== \"string\" && typeof primaryKey !== \"number\") {\n return opts.object;\n }\n\n for (const property of opts.objectType.properties) {\n decorateAttachmentValue({\n ir: opts.ir,\n type: property.type,\n value: opts.object[property.name],\n source: {\n objectType: opts.objectType.name,\n primaryKey,\n property: property.name,\n },\n });\n }\n\n return opts.object;\n}\n"],"mappings":";;AAIA,SAAS,SAAS,OAAkD;CAChE,OAAO,OAAO,UAAU,YAAY,UAAU;AAClD;AAEA,SAAS,aAAa,OAAqC;CACvD,OAAO,SAAS,KAAK,KAAK,OAAO,MAAM,OAAO;AAClD;AAEA,SAAS,wBAAwB,MAK9B;CACC,IAAI,KAAK,UAAU,KAAA,KAAa,KAAK,UAAU,MAAM;CAErD,MAAM,OAAO,YAAY,KAAK,IAAI,KAAK,IAAI;CAC3C,QAAQ,KAAK,MAAb;EACI,KAAK;GACD,IAAI,aAAa,KAAK,KAAK,GACvB,KAAK,MAAM,SAAS,KAAK;GAE7B;EACJ,KAAK;GACD,wBAAwB;IACpB,GAAG;IACH,MAAM,KAAK,MAAM;GACrB,CAAC;GACD;EACJ,KAAK;GACD,IAAI,MAAM,QAAQ,KAAK,KAAK,GACxB,KAAK,MAAM,QAAQ,KAAK,OACpB,wBAAwB;IACpB,GAAG;IACH,MAAM,KAAK,MAAM;IACjB,OAAO;GACX,CAAC;GAGT;EACJ,KAAK;GACD,IAAI,SAAS,KAAK,KAAK,GACnB,KAAK,MAAM,QAAQ,OAAO,OAAO,KAAK,KAAK,GACvC,wBAAwB;IACpB,GAAG;IACH,MAAM,KAAK,MAAM;IACjB,OAAO;GACX,CAAC;GAGT;EACJ,KAAK;GACD,IAAI,SAAS,KAAK,KAAK,GACnB,KAAK,MAAM,SAAS,KAAK,MAAM,QAC3B,wBAAwB;IACpB,GAAG;IACH,MAAM,MAAM;IACZ,OAAO,KAAK,MAAM,MAAM;GAC5B,CAAC;GAGT;EACJ,SACI;CACR;AACJ;AAEA,SAAgB,gCAAgC,MAIpB;CACxB,MAAM,aAAa,KAAK,OAAO,KAAK,WAAW;CAC/C,IAAI,OAAO,eAAe,YAAY,OAAO,eAAe,UACxD,OAAO,KAAK;CAGhB,KAAK,MAAM,YAAY,KAAK,WAAW,YACnC,wBAAwB;EACpB,IAAI,KAAK;EACT,MAAM,SAAS;EACf,OAAO,KAAK,OAAO,SAAS;EAC5B,QAAQ;GACJ,YAAY,KAAK,WAAW;GAC5B;GACA,UAAU,SAAS;EACvB;CACJ,CAAC;CAGL,OAAO,KAAK;AAChB"}
@@ -1,62 +1,64 @@
1
- import type { BlobManager } from "@party-stack/blobs";
2
- import * as v from "../../utils/values.js";
3
- import type { AttachmentMetadata, AttachmentMetadataSelection } from "./types.js";
4
- import type { OntologyIR } from "../../ir/index.js";
5
- import type { OntologyAttachmentCreateTarget } from "../../utils/targets.js";
6
- import type { OntologyAttachmentsAdapter } from "../OntologyBackendAdapter.js";
1
+ import { attachment, values_d_exports } from "../../utils/values.js";
2
+ import { OntologyIR } from "../../ir/generated/types.js";
3
+ import "../../ir/index.js";
4
+ import { OntologyAttachmentCreateTarget } from "../../utils/targets.js";
5
+ import { AttachmentMetadata, AttachmentMetadataSelection } from "./types.js";
6
+ import { OntologyAttachmentsAdapter } from "../OntologyBackendAdapter.js";
7
+ import { BlobManager } from "@party-stack/blobs";
8
+ //#region src/live/attachments/createLiveOntologyAttachments.d.ts
7
9
  export interface LiveOntologyEagerAttachmentCreation {
8
- attachment: v.attachment;
9
- isMaterialized?: Promise<void>;
10
+ attachment: attachment;
11
+ isMaterialized?: Promise<void>;
10
12
  }
11
13
  interface LiveOntologyAttachmentCreateOptions {
12
- /**
13
- * An opaque ID to use instead of generating one.
14
- */
15
- id?: string;
16
- target?: OntologyAttachmentCreateTarget;
17
- eager?: boolean;
14
+ /**
15
+ * An opaque ID to use instead of generating one.
16
+ */
17
+ id?: string;
18
+ target?: OntologyAttachmentCreateTarget;
19
+ eager?: boolean;
18
20
  }
19
21
  interface AttachmentOntologyDefinition {
20
- objectTypes: Record<string, Record<string, unknown>>;
21
- actionTypes: Record<string, {
22
- parameters: Record<string, unknown>;
23
- }>;
22
+ objectTypes: Record<string, Record<string, unknown>>;
23
+ actionTypes: Record<string, {
24
+ parameters: Record<string, unknown>;
25
+ }>;
24
26
  }
25
- type ExtractAttachment<Value> = Value extends v.attachment<infer Type> ? v.attachment<Type> : NonNullable<Value> extends ReadonlyArray<infer Element> ? ExtractAttachment<Element> : never;
26
- type AttachmentAtTarget<Ontology extends AttachmentOntologyDefinition, Target> = string extends keyof Ontology["objectTypes"] ? v.attachment : Target extends {
27
- kind: "objectProperty";
28
- objectType: infer ObjectType;
29
- property: infer Property;
27
+ type ExtractAttachment<Value> = Value extends attachment<infer Type> ? attachment<Type> : NonNullable<Value> extends ReadonlyArray<infer Element> ? ExtractAttachment<Element> : never;
28
+ type AttachmentAtTarget<Ontology extends AttachmentOntologyDefinition, Target> = string extends keyof Ontology["objectTypes"] ? attachment : Target extends {
29
+ kind: "objectProperty";
30
+ objectType: infer ObjectType;
31
+ property: infer Property;
30
32
  } ? ObjectType extends keyof Ontology["objectTypes"] ? Property extends keyof Ontology["objectTypes"][ObjectType] ? ExtractAttachment<Ontology["objectTypes"][ObjectType][Property]> : never : never : Target extends {
31
- kind: "actionParameter";
32
- actionType: infer ActionType;
33
- parameter: infer Parameter;
34
- } ? ActionType extends keyof Ontology["actionTypes"] ? Parameter extends keyof Ontology["actionTypes"][ActionType]["parameters"] ? ExtractAttachment<Ontology["actionTypes"][ActionType]["parameters"][Parameter]> : never : never : v.attachment;
33
+ kind: "actionParameter";
34
+ actionType: infer ActionType;
35
+ parameter: infer Parameter;
36
+ } ? ActionType extends keyof Ontology["actionTypes"] ? Parameter extends keyof Ontology["actionTypes"][ActionType]["parameters"] ? ExtractAttachment<Ontology["actionTypes"][ActionType]["parameters"][Parameter]> : never : never : attachment;
35
37
  type LiveOntologyAttachmentCreateResult<Ontology extends AttachmentOntologyDefinition, Options extends LiveOntologyAttachmentCreateOptions | undefined> = {
36
- attachment: Options extends {
37
- target: infer Target;
38
- } ? AttachmentAtTarget<Ontology, Target> : v.attachment;
38
+ attachment: Options extends {
39
+ target: infer Target;
40
+ } ? AttachmentAtTarget<Ontology, Target> : attachment;
39
41
  } & (Options extends {
40
- eager: true;
42
+ eager: true;
41
43
  } ? {
42
- isMaterialized?: Promise<void>;
44
+ isMaterialized?: Promise<void>;
43
45
  } : {
44
- isMaterialized?: never;
46
+ isMaterialized?: never;
45
47
  });
46
48
  export interface LiveOntologyAttachments<Ontology extends AttachmentOntologyDefinition = AttachmentOntologyDefinition> {
47
- create: <const Options extends LiveOntologyAttachmentCreateOptions | undefined = undefined>(blob: Blob | File, opts?: Options) => Promise<LiveOntologyAttachmentCreateResult<Ontology, Options>>;
48
- metadata: {
49
- <Type extends string>(attachment: v.attachment<Type>): Promise<AttachmentMetadata<Type>>;
50
- <Type extends string, const Selection extends AttachmentMetadataSelection<Type>>(attachment: v.attachment<Type>, options: {
51
- select: Selection;
52
- }): Promise<AttachmentMetadata<Type, Selection[number]>>;
53
- };
54
- blob: (attachment: v.attachment) => Promise<Blob>;
49
+ create: <const Options extends LiveOntologyAttachmentCreateOptions | undefined = undefined>(blob: Blob | File, opts?: Options) => Promise<LiveOntologyAttachmentCreateResult<Ontology, Options>>;
50
+ metadata: {
51
+ <Type extends string>(attachment: attachment<Type>): Promise<AttachmentMetadata<Type>>;
52
+ <Type extends string, const Selection extends AttachmentMetadataSelection<Type>>(attachment: attachment<Type>, options: {
53
+ select: Selection;
54
+ }): Promise<AttachmentMetadata<Type, Selection[number]>>;
55
+ };
56
+ blob: (attachment: attachment) => Promise<Blob>;
55
57
  }
56
58
  export declare function createLiveOntologyAttachments<Ontology extends AttachmentOntologyDefinition = AttachmentOntologyDefinition>(opts: {
57
- ir: OntologyIR;
58
- attachmentsAdapter: OntologyAttachmentsAdapter;
59
- blobManager: BlobManager;
59
+ ir: OntologyIR;
60
+ attachmentsAdapter: OntologyAttachmentsAdapter;
61
+ blobManager: BlobManager;
60
62
  }): LiveOntologyAttachments<Ontology>;
61
- export {};
63
+ //#endregion
62
64
  //# sourceMappingURL=createLiveOntologyAttachments.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createLiveOntologyAttachments.d.ts","sourceRoot":"","sources":["../../../src/live/attachments/createLiveOntologyAttachments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createLiveOntologyAttachments.d.ts","names":["v","v.attachment"],"sources":["../../../src/live/attachments/createLiveOntologyAttachments.ts"],"mappings":";;;;;;;;iBAUiB;EACb,YAAYC;EACZ,iBAAiB;;UAGX;;;;EAIN;EACA,SAAS;EACT;;UAGM;EACN,aAAa,eAAe;EAC5B,aAAa;IAGL,YAAY;;;KAKnB,kBAAkB,SACnB,cAAcA,iBAAmB,QAC3BA,WAAa,QACb,YAAY,eAAe,oBAAoB,WAC7C,kBAAkB;KAGzB,mBACD,iBAAiB,8BACjB,+BACqB,0BACnBA,aACA;EACM;EACA,kBAAkB;EAClB,gBAAgB;IAEpB,yBAAyB,0BACrB,uBAAuB,wBAAwB,cAC3C,kBAAkB,wBAAwB,YAAY,6BAG9D;EACM;EACA,kBAAkB;EAClB,iBAAiB;IAErB,yBAAyB,0BACrB,wBAAwB,wBAAwB,4BAC5C,kBAAkB,wBAAwB,0BAA0B,8BAG5EA;KAEL,mCACD,iBAAiB,8BACjB,gBAAgB;EAEhB,YAAY;IAAkB,cAAc;MACtC,mBAAmB,UAAU,UAC7BA;KACL;EAAkB;;EAAkB,iBAAiB;;EAAoB;;iBAM7D,wBACb,iBAAiB,+BAA+B;EAEhD,eAAe,gBAAgB,6DAC3B,MAAM,OAAO,MACb,OAAO,YACN,QAAQ,mCAAmC,UAAU;EAC1D;KACK,qBAAqB,YAAYA,WAAa,QAAQ,QAAQ,mBAAmB;KACjF,2BAA2B,kBAAkB,4BAA4B,OACtE,YAAYA,WAAa,OACzB;MAAW,QAAQ;QACpB,QAAQ,mBAAmB,MAAM;;EAExC,OAAO,YAAYA,eAAiB,QAAQ;;wBAGhC,8BACZ,iBAAiB,+BAA+B,8BAClD;EACE,IAAI;EACJ,oBAAoB;EACpB,aAAa;IACb,wBAAwB"}
@@ -1,88 +1,70 @@
1
- import { invariant } from "@bobbyfidz/panic";
2
- import { ImageMediaTypeOptions } from "../../ir/generated/constants.js";
3
1
  import { getTargetValueType } from "../../utils/types.js";
2
+ import { ImageMediaTypeOptions } from "../../ir/generated/constants.js";
3
+ import { invariant } from "@bobbyfidz/panic";
4
+ //#region src/live/attachments/createLiveOntologyAttachments.ts
4
5
  function satisfiesRange(value, range) {
5
- return (range.min === undefined || value >= range.min) && (range.max === undefined || value <= range.max);
6
+ return (range.min === void 0 || value >= range.min) && (range.max === void 0 || value <= range.max);
6
7
  }
7
- export function createLiveOntologyAttachments(opts) {
8
- const { attachmentsAdapter, blobManager } = opts;
9
- const create = async (blob, createOpts) => {
10
- const normalizedOpts = createOpts ?? {};
11
- const targetType = normalizedOpts.target
12
- ? getTargetValueType(opts.ir, normalizedOpts.target)
13
- : undefined;
14
- invariant(targetType === undefined || targetType.kind === "attachment", "Target is not an attachment.");
15
- const constraint = targetType?.kind === "attachment" ? targetType.value.constraint : undefined;
16
- invariant(!constraint?.size || satisfiesRange(blob.size, constraint.size), `Attachment size ${blob.size} is outside the allowed range.`);
17
- const content = constraint?.content;
18
- if (content?.kind === "image") {
19
- invariant(content.value.mediaTypes
20
- ? content.value.mediaTypes.some((mediaType) => mediaType === blob.type)
21
- : ImageMediaTypeOptions.some((option) => option.value === blob.type), `Attachment media type "${blob.type || "(empty)"}" is not allowed by the target.`);
22
- // TODO: Validate image dimensions once runtimes expose a portable media-inspection capability.
23
- }
24
- const id = normalizedOpts.id ??
25
- (targetType?.kind === "attachment" && attachmentsAdapter.generateAttachmentId
26
- ? await attachmentsAdapter.generateAttachmentId(blob, {
27
- target: targetType.value,
28
- })
29
- : crypto.randomUUID());
30
- await blobManager.stage(id, blob);
31
- const attachment = {
32
- id,
33
- type: blob.type,
34
- };
35
- const materializeAttachment = attachmentsAdapter.materializeAttachment;
36
- const materializeOptions = {
37
- target: targetType?.kind === "attachment" ? targetType.value : undefined,
38
- };
39
- const canMaterialize = materializeAttachment &&
40
- (attachmentsAdapter.canMaterializeAttachment?.(attachment, materializeOptions) ?? true);
41
- if (normalizedOpts.eager && canMaterialize) {
42
- const promise = blobManager
43
- .read(id)
44
- .then((storedBlob) => materializeAttachment(attachment, storedBlob, materializeOptions))
45
- .then(async (materialized) => {
46
- if (materialized) {
47
- if (materialized.id !== id) {
48
- await blobManager.bindRemoteId(id, materialized.id);
49
- }
50
- Object.assign(attachment, materialized);
51
- }
52
- });
53
- void promise.catch(() => undefined);
54
- return {
55
- attachment,
56
- isMaterialized: promise,
57
- };
58
- }
59
- return {
60
- attachment,
61
- };
62
- };
63
- const blob = (attachment) => blobManager.read(attachment.id, {
64
- meta: { attachment },
65
- });
66
- async function metadata(attachment, options) {
67
- const selection = options?.select ?? ["size", "type", "name"];
68
- const resolved = await blobManager.metadata(attachment.id, {
69
- meta: { attachment },
70
- select: selection,
71
- });
72
- if (selection.includes("dimensions") && resolved.dimensions === null) {
73
- throw new Error(`Dimensions are unavailable for attachment "${attachment.id}".`);
74
- }
75
- const { name, ...metadata } = resolved;
76
- return {
77
- ...attachment,
78
- ...metadata,
79
- ...(typeof name === "string" ? { name } : {}),
80
- };
81
- }
82
- return {
83
- create,
84
- metadata,
85
- blob,
86
- };
8
+ function createLiveOntologyAttachments(opts) {
9
+ const { attachmentsAdapter, blobManager } = opts;
10
+ const create = async (blob, createOpts) => {
11
+ const normalizedOpts = createOpts ?? {};
12
+ const targetType = normalizedOpts.target ? getTargetValueType(opts.ir, normalizedOpts.target) : void 0;
13
+ invariant(targetType === void 0 || targetType.kind === "attachment", "Target is not an attachment.");
14
+ const constraint = targetType?.kind === "attachment" ? targetType.value.constraint : void 0;
15
+ invariant(!constraint?.size || satisfiesRange(blob.size, constraint.size), `Attachment size ${blob.size} is outside the allowed range.`);
16
+ const content = constraint?.content;
17
+ if (content?.kind === "image") invariant(content.value.mediaTypes ? content.value.mediaTypes.some((mediaType) => mediaType === blob.type) : ImageMediaTypeOptions.some((option) => option.value === blob.type), `Attachment media type "${blob.type || "(empty)"}" is not allowed by the target.`);
18
+ const id = normalizedOpts.id ?? (targetType?.kind === "attachment" && attachmentsAdapter.generateAttachmentId ? await attachmentsAdapter.generateAttachmentId(blob, { target: targetType.value }) : crypto.randomUUID());
19
+ await blobManager.stage(id, blob);
20
+ const attachment = {
21
+ id,
22
+ type: blob.type
23
+ };
24
+ const materializeAttachment = attachmentsAdapter.materializeAttachment;
25
+ const materializeOptions = { target: targetType?.kind === "attachment" ? targetType.value : void 0 };
26
+ const canMaterialize = materializeAttachment && (attachmentsAdapter.canMaterializeAttachment?.(attachment, materializeOptions) ?? true);
27
+ if (normalizedOpts.eager && canMaterialize) {
28
+ const promise = blobManager.read(id).then((storedBlob) => materializeAttachment(attachment, storedBlob, materializeOptions)).then(async (materialized) => {
29
+ if (materialized) {
30
+ if (materialized.id !== id) await blobManager.bindRemoteId(id, materialized.id);
31
+ Object.assign(attachment, materialized);
32
+ }
33
+ });
34
+ promise.catch(() => void 0);
35
+ return {
36
+ attachment,
37
+ isMaterialized: promise
38
+ };
39
+ }
40
+ return { attachment };
41
+ };
42
+ const blob = (attachment) => blobManager.read(attachment.id, { meta: { attachment } });
43
+ async function metadata(attachment, options) {
44
+ const selection = options?.select ?? [
45
+ "size",
46
+ "type",
47
+ "name"
48
+ ];
49
+ const resolved = await blobManager.metadata(attachment.id, {
50
+ meta: { attachment },
51
+ select: selection
52
+ });
53
+ if (selection.includes("dimensions") && resolved.dimensions === null) throw new Error(`Dimensions are unavailable for attachment "${attachment.id}".`);
54
+ const { name, ...metadata } = resolved;
55
+ return {
56
+ ...attachment,
57
+ ...metadata,
58
+ ...typeof name === "string" ? { name } : {}
59
+ };
60
+ }
61
+ return {
62
+ create,
63
+ metadata,
64
+ blob
65
+ };
87
66
  }
67
+ //#endregion
68
+ export { createLiveOntologyAttachments };
69
+
88
70
  //# sourceMappingURL=createLiveOntologyAttachments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createLiveOntologyAttachments.js","sourceRoot":"","sources":["../../../src/live/attachments/createLiveOntologyAttachments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createLiveOntologyAttachments.js","names":[],"sources":["../../../src/live/attachments/createLiveOntologyAttachments.ts"],"sourcesContent":["import { invariant } from \"@bobbyfidz/panic\";\nimport { ImageMediaTypeOptions } from \"../../ir/generated/constants.js\";\nimport { getTargetValueType } from \"../../utils/types.js\";\nimport * as v from \"../../utils/values.js\";\nimport type { OntologyIR } from \"../../ir/index.js\";\nimport type { OntologyAttachmentCreateTarget } from \"../../utils/targets.js\";\nimport type { OntologyAttachmentsAdapter } from \"../OntologyBackendAdapter.js\";\nimport type { AttachmentMetadata, AttachmentMetadataSelection, PartialAttachmentMetadata } from \"./types.js\";\nimport type { BlobManager } from \"@party-stack/blobs\";\n\nexport interface LiveOntologyEagerAttachmentCreation {\n attachment: v.attachment;\n isMaterialized?: Promise<void>;\n}\n\ninterface LiveOntologyAttachmentCreateOptions {\n /**\n * An opaque ID to use instead of generating one.\n */\n id?: string;\n target?: OntologyAttachmentCreateTarget;\n eager?: boolean;\n}\n\ninterface AttachmentOntologyDefinition {\n objectTypes: Record<string, Record<string, unknown>>;\n actionTypes: Record<\n string,\n {\n parameters: Record<string, unknown>;\n }\n >;\n}\n\ntype ExtractAttachment<Value> =\n Value extends v.attachment<infer Type>\n ? v.attachment<Type>\n : NonNullable<Value> extends ReadonlyArray<infer Element>\n ? ExtractAttachment<Element>\n : never;\n\ntype AttachmentAtTarget<\n Ontology extends AttachmentOntologyDefinition,\n Target,\n> = string extends keyof Ontology[\"objectTypes\"]\n ? v.attachment\n : Target extends {\n kind: \"objectProperty\";\n objectType: infer ObjectType;\n property: infer Property;\n }\n ? ObjectType extends keyof Ontology[\"objectTypes\"]\n ? Property extends keyof Ontology[\"objectTypes\"][ObjectType]\n ? ExtractAttachment<Ontology[\"objectTypes\"][ObjectType][Property]>\n : never\n : never\n : Target extends {\n kind: \"actionParameter\";\n actionType: infer ActionType;\n parameter: infer Parameter;\n }\n ? ActionType extends keyof Ontology[\"actionTypes\"]\n ? Parameter extends keyof Ontology[\"actionTypes\"][ActionType][\"parameters\"]\n ? ExtractAttachment<Ontology[\"actionTypes\"][ActionType][\"parameters\"][Parameter]>\n : never\n : never\n : v.attachment;\n\ntype LiveOntologyAttachmentCreateResult<\n Ontology extends AttachmentOntologyDefinition,\n Options extends LiveOntologyAttachmentCreateOptions | undefined,\n> = {\n attachment: Options extends { target: infer Target }\n ? AttachmentAtTarget<Ontology, Target>\n : v.attachment;\n} & (Options extends { eager: true } ? { isMaterialized?: Promise<void> } : { isMaterialized?: never });\n\nfunction satisfiesRange(value: number, range: { min?: number; max?: number }): boolean {\n return (range.min === undefined || value >= range.min) && (range.max === undefined || value <= range.max);\n}\n\nexport interface LiveOntologyAttachments<\n Ontology extends AttachmentOntologyDefinition = AttachmentOntologyDefinition,\n> {\n create: <const Options extends LiveOntologyAttachmentCreateOptions | undefined = undefined>(\n blob: Blob | File,\n opts?: Options\n ) => Promise<LiveOntologyAttachmentCreateResult<Ontology, Options>>;\n metadata: {\n <Type extends string>(attachment: v.attachment<Type>): Promise<AttachmentMetadata<Type>>;\n <Type extends string, const Selection extends AttachmentMetadataSelection<Type>>(\n attachment: v.attachment<Type>,\n options: { select: Selection }\n ): Promise<AttachmentMetadata<Type, Selection[number]>>;\n };\n blob: (attachment: v.attachment) => Promise<Blob>;\n}\n\nexport function createLiveOntologyAttachments<\n Ontology extends AttachmentOntologyDefinition = AttachmentOntologyDefinition,\n>(opts: {\n ir: OntologyIR;\n attachmentsAdapter: OntologyAttachmentsAdapter;\n blobManager: BlobManager;\n}): LiveOntologyAttachments<Ontology> {\n const { attachmentsAdapter, blobManager } = opts;\n\n const create = async <const Options extends LiveOntologyAttachmentCreateOptions | undefined = undefined>(\n blob: Blob | File,\n createOpts?: Options\n ): Promise<LiveOntologyAttachmentCreateResult<Ontology, Options>> => {\n const normalizedOpts: LiveOntologyAttachmentCreateOptions = createOpts ?? {};\n const targetType = normalizedOpts.target\n ? getTargetValueType(opts.ir, normalizedOpts.target)\n : undefined;\n invariant(\n targetType === undefined || targetType.kind === \"attachment\",\n \"Target is not an attachment.\"\n );\n const constraint = targetType?.kind === \"attachment\" ? targetType.value.constraint : undefined;\n invariant(\n !constraint?.size || satisfiesRange(blob.size, constraint.size),\n `Attachment size ${blob.size} is outside the allowed range.`\n );\n const content = constraint?.content;\n if (content?.kind === \"image\") {\n invariant(\n content.value.mediaTypes\n ? content.value.mediaTypes.some((mediaType) => mediaType === blob.type)\n : ImageMediaTypeOptions.some((option) => option.value === blob.type),\n `Attachment media type \"${blob.type || \"(empty)\"}\" is not allowed by the target.`\n );\n // TODO: Validate image dimensions once runtimes expose a portable media-inspection capability.\n }\n const id =\n normalizedOpts.id ??\n (targetType?.kind === \"attachment\" && attachmentsAdapter.generateAttachmentId\n ? await attachmentsAdapter.generateAttachmentId(blob, {\n target: targetType.value,\n })\n : crypto.randomUUID());\n await blobManager.stage(id, blob);\n const attachment: v.attachment = {\n id,\n type: blob.type,\n };\n const materializeAttachment = attachmentsAdapter.materializeAttachment;\n const materializeOptions = {\n target: targetType?.kind === \"attachment\" ? targetType.value : undefined,\n };\n const canMaterialize =\n materializeAttachment &&\n (attachmentsAdapter.canMaterializeAttachment?.(attachment, materializeOptions) ?? true);\n if (normalizedOpts.eager && canMaterialize) {\n const promise = blobManager\n .read(id)\n .then((storedBlob) => materializeAttachment(attachment, storedBlob, materializeOptions))\n .then(async (materialized) => {\n if (materialized) {\n if (materialized.id !== id) {\n await blobManager.bindRemoteId(id, materialized.id);\n }\n Object.assign(attachment, materialized);\n }\n });\n void promise.catch(() => undefined);\n return {\n attachment,\n isMaterialized: promise,\n } as unknown as LiveOntologyAttachmentCreateResult<Ontology, Options>;\n }\n return {\n attachment,\n } as LiveOntologyAttachmentCreateResult<Ontology, Options>;\n };\n\n const blob = (attachment: v.attachment) =>\n blobManager.read(attachment.id, {\n meta: { attachment },\n });\n\n async function metadata<Type extends string>(\n attachment: v.attachment<Type>\n ): Promise<AttachmentMetadata<Type>>;\n async function metadata<Type extends string, const Selection extends AttachmentMetadataSelection<Type>>(\n attachment: v.attachment<Type>,\n options: { select: Selection }\n ): Promise<AttachmentMetadata<Type, Selection[number]>>;\n async function metadata<Type extends string>(\n attachment: v.attachment<Type>,\n options?: { select: readonly (keyof PartialAttachmentMetadata)[] }\n ): Promise<v.attachment<Type> & PartialAttachmentMetadata<Type>> {\n const selection = options?.select ?? [\"size\", \"type\", \"name\"];\n const resolved = await blobManager.metadata(attachment.id, {\n meta: { attachment },\n select: selection,\n });\n if (selection.includes(\"dimensions\") && resolved.dimensions === null) {\n throw new Error(`Dimensions are unavailable for attachment \"${attachment.id}\".`);\n }\n const { name, ...metadata } = resolved;\n return {\n ...attachment,\n ...metadata,\n ...(typeof name === \"string\" ? { name } : {}),\n } as v.attachment<Type> & PartialAttachmentMetadata<Type>;\n }\n\n return {\n create,\n metadata,\n blob,\n };\n}\n"],"mappings":";;;;AA6EA,SAAS,eAAe,OAAe,OAAgD;CACnF,QAAQ,MAAM,QAAQ,KAAA,KAAa,SAAS,MAAM,SAAS,MAAM,QAAQ,KAAA,KAAa,SAAS,MAAM;AACzG;AAmBA,SAAgB,8BAEd,MAIoC;CAClC,MAAM,EAAE,oBAAoB,gBAAgB;CAE5C,MAAM,SAAS,OACX,MACA,eACiE;EACjE,MAAM,iBAAsD,cAAc,CAAC;EAC3E,MAAM,aAAa,eAAe,SAC5B,mBAAmB,KAAK,IAAI,eAAe,MAAM,IACjD,KAAA;EACN,UACI,eAAe,KAAA,KAAa,WAAW,SAAS,cAChD,8BACJ;EACA,MAAM,aAAa,YAAY,SAAS,eAAe,WAAW,MAAM,aAAa,KAAA;EACrF,UACI,CAAC,YAAY,QAAQ,eAAe,KAAK,MAAM,WAAW,IAAI,GAC9D,mBAAmB,KAAK,KAAK,+BACjC;EACA,MAAM,UAAU,YAAY;EAC5B,IAAI,SAAS,SAAS,SAClB,UACI,QAAQ,MAAM,aACR,QAAQ,MAAM,WAAW,MAAM,cAAc,cAAc,KAAK,IAAI,IACpE,sBAAsB,MAAM,WAAW,OAAO,UAAU,KAAK,IAAI,GACvE,0BAA0B,KAAK,QAAQ,UAAU,gCACrD;EAGJ,MAAM,KACF,eAAe,OACd,YAAY,SAAS,gBAAgB,mBAAmB,uBACnD,MAAM,mBAAmB,qBAAqB,MAAM,EAChD,QAAQ,WAAW,MACvB,CAAC,IACD,OAAO,WAAW;EAC5B,MAAM,YAAY,MAAM,IAAI,IAAI;EAChC,MAAM,aAA2B;GAC7B;GACA,MAAM,KAAK;EACf;EACA,MAAM,wBAAwB,mBAAmB;EACjD,MAAM,qBAAqB,EACvB,QAAQ,YAAY,SAAS,eAAe,WAAW,QAAQ,KAAA,EACnE;EACA,MAAM,iBACF,0BACC,mBAAmB,2BAA2B,YAAY,kBAAkB,KAAK;EACtF,IAAI,eAAe,SAAS,gBAAgB;GACxC,MAAM,UAAU,YACX,KAAK,EAAE,CAAC,CACR,MAAM,eAAe,sBAAsB,YAAY,YAAY,kBAAkB,CAAC,CAAC,CACvF,KAAK,OAAO,iBAAiB;IAC1B,IAAI,cAAc;KACd,IAAI,aAAa,OAAO,IACpB,MAAM,YAAY,aAAa,IAAI,aAAa,EAAE;KAEtD,OAAO,OAAO,YAAY,YAAY;IAC1C;GACJ,CAAC;GACL,QAAa,YAAY,KAAA,CAAS;GAClC,OAAO;IACH;IACA,gBAAgB;GACpB;EACJ;EACA,OAAO,EACH,WACJ;CACJ;CAEA,MAAM,QAAQ,eACV,YAAY,KAAK,WAAW,IAAI,EAC5B,MAAM,EAAE,WAAW,EACvB,CAAC;CASL,eAAe,SACX,YACA,SAC6D;EAC7D,MAAM,YAAY,SAAS,UAAU;GAAC;GAAQ;GAAQ;EAAM;EAC5D,MAAM,WAAW,MAAM,YAAY,SAAS,WAAW,IAAI;GACvD,MAAM,EAAE,WAAW;GACnB,QAAQ;EACZ,CAAC;EACD,IAAI,UAAU,SAAS,YAAY,KAAK,SAAS,eAAe,MAC5D,MAAM,IAAI,MAAM,8CAA8C,WAAW,GAAG,GAAG;EAEnF,MAAM,EAAE,MAAM,GAAG,aAAa;EAC9B,OAAO;GACH,GAAG;GACH,GAAG;GACH,GAAI,OAAO,SAAS,WAAW,EAAE,KAAK,IAAI,CAAC;EAC/C;CACJ;CAEA,OAAO;EACH;EACA;EACA;CACJ;AACJ"}
@@ -1,15 +1,16 @@
1
- import type { BlobDimensions } from "@party-stack/blobs";
2
- import type { ImageMediaType as GeneratedImageMediaType } from "../../ir/generated/types.js";
3
- import type { attachment } from "../../utils/values.js";
1
+ import { attachment } from "../../utils/values.js";
2
+ import { ImageMediaType } from "../../ir/generated/types.js";
3
+ import { BlobDimensions } from "@party-stack/blobs";
4
+ //#region src/live/attachments/types.d.ts
4
5
  type AttachmentMetadataValues<Type extends string> = {
5
- size: number;
6
- type: Type;
7
- name?: string;
8
- dimensions: BlobDimensions;
6
+ size: number;
7
+ type: Type;
8
+ name?: string;
9
+ dimensions: BlobDimensions;
9
10
  };
10
- export type AttachmentMetadataField<Type extends string = string> = Exclude<keyof AttachmentMetadataValues<Type>, "dimensions"> | ([Type] extends [GeneratedImageMediaType] ? "dimensions" : never);
11
+ export type AttachmentMetadataField<Type extends string = string> = Exclude<keyof AttachmentMetadataValues<Type>, "dimensions"> | ([Type] extends [ImageMediaType] ? "dimensions" : never);
11
12
  export type AttachmentMetadataSelection<Type extends string = string> = ReadonlyArray<AttachmentMetadataField<Type>>;
12
13
  export type PartialAttachmentMetadata<Type extends string = string> = Partial<AttachmentMetadataValues<Type>>;
13
14
  export type AttachmentMetadata<Type extends string = string, Selected extends AttachmentMetadataField<Type> = "size" | "type" | "name"> = attachment<Type> & Pick<AttachmentMetadataValues<Type>, Selected>;
14
- export {};
15
+ //#endregion
15
16
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/live/attachments/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,IAAI,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC7F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,KAAK,wBAAwB,CAAC,IAAI,SAAS,MAAM,IAAI;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,cAAc,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAC1D,OAAO,CAAC,MAAM,wBAAwB,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,GAC3D,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,GAAG,YAAY,GAAG,KAAK,CAAC,CAAC;AAExE,MAAM,MAAM,2BAA2B,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAAI,aAAa,CACjF,uBAAuB,CAAC,IAAI,CAAC,CAChC,CAAC;AAEF,MAAM,MAAM,yBAAyB,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAAI,OAAO,CACzE,wBAAwB,CAAC,IAAI,CAAC,CACjC,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAC1B,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,QAAQ,SAAS,uBAAuB,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IACzE,UAAU,CAAC,IAAI,CAAC,GAChB,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","names":["GeneratedImageMediaType"],"sources":["../../../src/live/attachments/types.ts"],"mappings":";;;;KAIK,yBAAyB;EAC1B;EACA,MAAM;EACN;EACA,YAAY;;YAGJ,wBAAwB,gCAC9B,cAAc,yBAAyB,yBACrC,eAAeA;YAEX,4BAA4B,gCAAgC,cACpE,wBAAwB;YAGhB,0BAA0B,gCAAgC,QAAQ,yBAAyB;YAE3F,mBACR,8BACA,iBAAiB,wBAAwB,oCACzC,WAAW,QAAQ,KAAK,yBAAyB,OAAO"}
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=types.js.map
@@ -1,3 +1,5 @@
1
- import type { OntologyAttachmentsAdapter } from "../OntologyBackendAdapter.js";
1
+ import { OntologyAttachmentsAdapter } from "../OntologyBackendAdapter.js";
2
+ //#region src/live/attachments/unsupportedOntologyAttachmentsAdapter.d.ts
2
3
  export declare const unsupportedOntologyAttachmentsAdapter: OntologyAttachmentsAdapter;
4
+ //#endregion
3
5
  //# sourceMappingURL=unsupportedOntologyAttachmentsAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unsupportedOntologyAttachmentsAdapter.d.ts","sourceRoot":"","sources":["../../../src/live/attachments/unsupportedOntologyAttachmentsAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE/E,eAAO,MAAM,qCAAqC,EAAE,0BAGnD,CAAC"}
1
+ {"version":3,"file":"unsupportedOntologyAttachmentsAdapter.d.ts","names":[],"sources":["../../../src/live/attachments/unsupportedOntologyAttachmentsAdapter.ts"],"mappings":";;qBAEa,uCAAuC"}
@@ -1,4 +1,6 @@
1
- export const unsupportedOntologyAttachmentsAdapter = {
2
- getAttachmentContent: (attachment) => Promise.reject(new Error(`Ontology adapter cannot read attachment content for "${attachment.id}".`)),
3
- };
1
+ //#region src/live/attachments/unsupportedOntologyAttachmentsAdapter.ts
2
+ const unsupportedOntologyAttachmentsAdapter = { getAttachmentContent: (attachment) => Promise.reject(/* @__PURE__ */ new Error(`Ontology adapter cannot read attachment content for "${attachment.id}".`)) };
3
+ //#endregion
4
+ export { unsupportedOntologyAttachmentsAdapter };
5
+
4
6
  //# sourceMappingURL=unsupportedOntologyAttachmentsAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unsupportedOntologyAttachmentsAdapter.js","sourceRoot":"","sources":["../../../src/live/attachments/unsupportedOntologyAttachmentsAdapter.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qCAAqC,GAA+B;IAC7E,oBAAoB,EAAE,CAAC,UAAU,EAAE,EAAE,CACjC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,wDAAwD,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;CAC3G,CAAC"}
1
+ {"version":3,"file":"unsupportedOntologyAttachmentsAdapter.js","names":[],"sources":["../../../src/live/attachments/unsupportedOntologyAttachmentsAdapter.ts"],"sourcesContent":["import type { OntologyAttachmentsAdapter } from \"../OntologyBackendAdapter.js\";\n\nexport const unsupportedOntologyAttachmentsAdapter: OntologyAttachmentsAdapter = {\n getAttachmentContent: (attachment) =>\n Promise.reject(new Error(`Ontology adapter cannot read attachment content for \"${attachment.id}\".`)),\n};\n"],"mappings":";AAEA,MAAa,wCAAoE,EAC7E,uBAAuB,eACnB,QAAQ,uBAAO,IAAI,MAAM,wDAAwD,WAAW,GAAG,GAAG,CAAC,EAC3G"}
@@ -1,21 +1,23 @@
1
- import type { OntologyReadTx } from "./mutators/types.js";
2
- import type { Expression, ObjectTypeDef, OntologyIR, InputReferenceExpression } from "../ir/index.js";
1
+ import { Expression, InputReferenceExpression, ObjectTypeDef, OntologyIR } from "../ir/generated/types.js";
2
+ import "../ir/index.js";
3
+ import { OntologyReadTx } from "./mutators/types.js";
4
+ //#region src/live/expression.d.ts
3
5
  interface EvaluateExpressionOptions {
4
- ir: OntologyIR;
5
- actionTypeName: string;
6
- expression: Expression;
7
- resolveParameter: (parameterName: string) => Promise<unknown>;
8
- context: Record<string, unknown>;
9
- tx: OntologyReadTx;
6
+ ir: OntologyIR;
7
+ actionTypeName: string;
8
+ expression: Expression;
9
+ resolveParameter: (parameterName: string) => Promise<unknown>;
10
+ context: Record<string, unknown>;
11
+ tx: OntologyReadTx;
10
12
  }
11
13
  export declare function evaluateExpression(options: EvaluateExpressionOptions): Promise<unknown>;
12
14
  export declare function resolveActionParameters(options: {
13
- ir: OntologyIR;
14
- actionTypeName: string;
15
- initialParameters: Record<string, unknown>;
16
- context: Record<string, unknown>;
17
- tx: OntologyReadTx;
15
+ ir: OntologyIR;
16
+ actionTypeName: string;
17
+ initialParameters: Record<string, unknown>;
18
+ context: Record<string, unknown>;
19
+ tx: OntologyReadTx;
18
20
  }): Promise<Record<string, unknown>>;
19
21
  export declare function getObjectReferenceObjectType(ir: OntologyIR, actionTypeName: string, reference: InputReferenceExpression): ObjectTypeDef;
20
- export {};
22
+ //#endregion
21
23
  //# sourceMappingURL=expression.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../src/live/expression.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EACR,UAAU,EACV,aAAa,EACb,UAAU,EAEV,wBAAwB,EAC3B,MAAM,gBAAgB,CAAC;AAMxB,UAAU,yBAAyB;IAC/B,EAAE,EAAE,UAAU,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,EAAE,EAAE,cAAc,CAAC;CACtB;AAyDD,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,OAAO,CAAC,CAI7F;AAmPD,wBAAsB,uBAAuB,CAAC,OAAO,EAAE;IACnD,EAAE,EAAE,UAAU,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,EAAE,EAAE,cAAc,CAAC;CACtB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAsCnC;AAED,wBAAgB,4BAA4B,CACxC,EAAE,EAAE,UAAU,EACd,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,wBAAwB,GACpC,aAAa,CAUf"}
1
+ {"version":3,"file":"expression.d.ts","names":[],"sources":["../../src/live/expression.ts"],"mappings":";;;;UAmBU;EACN,IAAI;EACJ;EACA,YAAY;EACZ,mBAAmB,0BAA0B;EAC7C,SAAS;EACT,IAAI;;wBAuCc,mBAAmB,SAAS,4BAA4B;wBA6MxD,wBAAwB;EAC1C,IAAI;EACJ;EACA,mBAAmB;EACnB,SAAS;EACT,IAAI;IACJ,QAAQ;wBAwCI,6BACZ,IAAI,YACJ,wBACA,WAAW,2BACZ"}