@party-stack/ontology 0.19.1 → 0.21.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 (356) hide show
  1. package/README.md +31 -0
  2. package/lib/OntologyPullConfig.d.ts +4 -17
  3. package/lib/OntologyPullConfig.d.ts.map +1 -1
  4. package/lib/authentication.d.ts +1068 -0
  5. package/lib/authentication.d.ts.map +1 -0
  6. package/lib/authentication.js +55 -0
  7. package/lib/authentication.js.map +1 -0
  8. package/lib/cli/index.js +19 -45
  9. package/lib/cli/index.js.map +1 -1
  10. package/lib/cli/pull.d.ts.map +1 -1
  11. package/lib/cli/pull.js +16 -29
  12. package/lib/cli/pull.js.map +1 -1
  13. package/lib/client.d.ts +11 -0
  14. package/lib/client.d.ts.map +1 -0
  15. package/lib/client.js +21 -0
  16. package/lib/client.js.map +1 -0
  17. package/lib/examples/blog.d.ts +2 -387
  18. package/lib/examples/blog.js +1 -353
  19. package/lib/examples/blog.live-queries.d.ts +1 -1
  20. package/lib/examples/blog.live-queries.d.ts.map +1 -1
  21. package/lib/examples/blog.live-queries.js +1 -1
  22. package/lib/examples/blog.live-queries.js.map +1 -1
  23. package/lib/examples/generated/collections.d.ts +7 -0
  24. package/lib/examples/generated/collections.d.ts.map +1 -0
  25. package/lib/examples/generated/collections.js +12 -0
  26. package/lib/examples/generated/collections.js.map +1 -0
  27. package/lib/examples/generated/live.d.ts +2 -2
  28. package/lib/examples/generated/live.d.ts.map +1 -1
  29. package/lib/examples/generated/live.js.map +1 -1
  30. package/lib/http.d.ts +13 -0
  31. package/lib/http.d.ts.map +1 -0
  32. package/lib/http.js +29 -0
  33. package/lib/http.js.map +1 -0
  34. package/lib/index.d.ts +19 -25
  35. package/lib/index.js +9 -15
  36. package/lib/json/index.d.ts +1 -16
  37. package/lib/json/index.js +2 -132
  38. package/lib/live/LiveOntology.d.ts +114 -50
  39. package/lib/live/LiveOntology.d.ts.map +1 -1
  40. package/lib/live/LiveOntology.js +23 -103
  41. package/lib/live/LiveOntology.js.map +1 -1
  42. package/lib/live/actions/createLiveOntologyAction.d.ts +15 -16
  43. package/lib/live/actions/createLiveOntologyAction.d.ts.map +1 -1
  44. package/lib/live/actions/createLiveOntologyAction.js +3 -11
  45. package/lib/live/actions/createLiveOntologyAction.js.map +1 -1
  46. package/lib/live/actions/types.d.ts +21 -0
  47. package/lib/live/actions/types.d.ts.map +1 -0
  48. package/lib/live/attachments/createLiveOntologyAttachments.d.ts +30 -19
  49. package/lib/live/attachments/createLiveOntologyAttachments.d.ts.map +1 -1
  50. package/lib/live/attachments/createLiveOntologyAttachments.js +43 -60
  51. package/lib/live/attachments/createLiveOntologyAttachments.js.map +1 -1
  52. package/lib/live/attachments/types.d.ts +4 -3
  53. package/lib/live/index.d.ts +10 -10
  54. package/lib/live/index.js +5 -6
  55. package/lib/live/mutators/createReadTx.d.ts +5 -0
  56. package/lib/live/mutators/createReadTx.d.ts.map +1 -0
  57. package/lib/live/mutators/createReadTx.js +19 -0
  58. package/lib/live/mutators/createReadTx.js.map +1 -0
  59. package/lib/live/mutators/types.d.ts +7 -2
  60. package/lib/live/mutators/types.d.ts.map +1 -1
  61. package/lib/live/objects/types.d.ts +6 -0
  62. package/lib/live/objects/types.d.ts.map +1 -0
  63. package/lib/live/outbox/types.d.ts +24 -15
  64. package/lib/live/outbox/types.d.ts.map +1 -1
  65. package/lib/live/outbox/types.js +1 -11
  66. package/lib/live/pins.d.ts +51 -0
  67. package/lib/live/pins.d.ts.map +1 -0
  68. package/lib/live/pins.js +113 -0
  69. package/lib/live/pins.js.map +1 -0
  70. package/lib/live/storageBackend.d.ts +50 -0
  71. package/lib/live/storageBackend.d.ts.map +1 -0
  72. package/lib/live/storageBackend.js +42 -0
  73. package/lib/live/storageBackend.js.map +1 -0
  74. package/lib/local.d.ts +15 -0
  75. package/lib/local.d.ts.map +1 -0
  76. package/lib/local.js +19 -0
  77. package/lib/local.js.map +1 -0
  78. package/lib/meta/generated/collections.d.ts +7 -0
  79. package/lib/meta/generated/collections.d.ts.map +1 -0
  80. package/lib/meta/generated/collections.js +15 -0
  81. package/lib/meta/generated/collections.js.map +1 -0
  82. package/lib/meta/generated/live.d.ts +3 -3
  83. package/lib/meta/generated/live.d.ts.map +1 -1
  84. package/lib/meta/generated/live.js +2 -2
  85. package/lib/meta/generated/live.js.map +1 -1
  86. package/lib/meta/pull.d.ts +5 -9
  87. package/lib/meta/pull.d.ts.map +1 -1
  88. package/lib/meta/pull.js +5 -43
  89. package/lib/meta/pull.js.map +1 -1
  90. package/lib/query.d.ts +1 -0
  91. package/lib/query.js +2 -0
  92. package/lib/runtime/host.d.ts +35 -0
  93. package/lib/runtime/host.d.ts.map +1 -0
  94. package/lib/runtime/host.js +39 -0
  95. package/lib/runtime/host.js.map +1 -0
  96. package/lib/runtime/index.d.ts +2 -0
  97. package/lib/runtime/index.js +1 -0
  98. package/lib/runtime/live.d.ts +25 -0
  99. package/lib/runtime/live.d.ts.map +1 -0
  100. package/lib/runtime/live.js +31 -0
  101. package/lib/runtime/live.js.map +1 -0
  102. package/lib/runtime/resource.d.ts +24 -0
  103. package/lib/runtime/resource.d.ts.map +1 -0
  104. package/lib/runtime/resource.js +127 -0
  105. package/lib/runtime/resource.js.map +1 -0
  106. package/lib/runtime/transactions.d.ts +27 -0
  107. package/lib/runtime/transactions.d.ts.map +1 -0
  108. package/lib/runtime/transactions.js +188 -0
  109. package/lib/runtime/transactions.js.map +1 -0
  110. package/lib/runtime/view.d.ts +25 -0
  111. package/lib/runtime/view.d.ts.map +1 -0
  112. package/lib/runtime/view.js +256 -0
  113. package/lib/runtime/view.js.map +1 -0
  114. package/lib/tanstack/collections.d.ts +73 -0
  115. package/lib/tanstack/collections.d.ts.map +1 -0
  116. package/lib/tanstack/collections.js +495 -0
  117. package/lib/tanstack/collections.js.map +1 -0
  118. package/lib/tanstack/createLocalCollection.d.ts +14 -0
  119. package/lib/tanstack/createLocalCollection.d.ts.map +1 -0
  120. package/lib/tanstack/createLocalCollection.js +9 -0
  121. package/lib/tanstack/createLocalCollection.js.map +1 -0
  122. package/lib/tanstack/descriptors.d.ts +33 -0
  123. package/lib/tanstack/descriptors.d.ts.map +1 -0
  124. package/lib/tanstack/descriptors.js +38 -0
  125. package/lib/tanstack/descriptors.js.map +1 -0
  126. package/lib/tanstack/diagnostics.d.ts +23 -0
  127. package/lib/tanstack/diagnostics.d.ts.map +1 -0
  128. package/lib/tanstack/diagnostics.js +14 -0
  129. package/lib/tanstack/diagnostics.js.map +1 -0
  130. package/lib/tanstack/index.d.ts +6 -0
  131. package/lib/tanstack/index.js +6 -0
  132. package/lib/tanstack/localCollection.d.ts +14 -0
  133. package/lib/tanstack/localCollection.d.ts.map +1 -0
  134. package/lib/tanstack/localCollection.js +73 -0
  135. package/lib/tanstack/localCollection.js.map +1 -0
  136. package/lib/tanstack/subset.d.ts +28 -0
  137. package/lib/tanstack/subset.d.ts.map +1 -0
  138. package/lib/tanstack/subset.js +290 -0
  139. package/lib/tanstack/subset.js.map +1 -0
  140. package/lib/testing/sqlite.d.ts +40 -0
  141. package/lib/testing/sqlite.d.ts.map +1 -0
  142. package/lib/testing/sqlite.js +409 -0
  143. package/lib/testing/sqlite.js.map +1 -0
  144. package/lib/testing/sqliteBackend.d.ts +68 -0
  145. package/lib/testing/sqliteBackend.d.ts.map +1 -0
  146. package/lib/testing/sqliteBackend.js +34 -0
  147. package/lib/testing/sqliteBackend.js.map +1 -0
  148. package/lib/utils/index.d.ts +1 -8
  149. package/lib/utils/index.js +2 -5
  150. package/lib/utils/values.d.ts +1 -33
  151. package/lib/worker.d.ts +19 -0
  152. package/lib/worker.d.ts.map +1 -0
  153. package/lib/worker.js +46 -0
  154. package/lib/worker.js.map +1 -0
  155. package/package.json +54 -19
  156. package/lib/_virtual/_rolldown/runtime.js +0 -13
  157. package/lib/cli/format.d.ts +0 -4
  158. package/lib/cli/format.d.ts.map +0 -1
  159. package/lib/cli/format.js +0 -19
  160. package/lib/cli/format.js.map +0 -1
  161. package/lib/cli/generate.d.ts +0 -10
  162. package/lib/cli/generate.d.ts.map +0 -1
  163. package/lib/cli/generate.js +0 -108
  164. package/lib/cli/generate.js.map +0 -1
  165. package/lib/examples/blog.d.ts.map +0 -1
  166. package/lib/examples/blog.js.map +0 -1
  167. package/lib/generate/builders.d.ts +0 -12
  168. package/lib/generate/builders.d.ts.map +0 -1
  169. package/lib/generate/builders.js +0 -58
  170. package/lib/generate/builders.js.map +0 -1
  171. package/lib/generate/constants.d.ts +0 -5
  172. package/lib/generate/constants.d.ts.map +0 -1
  173. package/lib/generate/constants.js +0 -28
  174. package/lib/generate/constants.js.map +0 -1
  175. package/lib/generate/index.d.ts +0 -6
  176. package/lib/generate/index.js +0 -6
  177. package/lib/generate/live.d.ts +0 -12
  178. package/lib/generate/live.d.ts.map +0 -1
  179. package/lib/generate/live.js +0 -48
  180. package/lib/generate/live.js.map +0 -1
  181. package/lib/generate/ontology.d.ts +0 -8
  182. package/lib/generate/ontology.d.ts.map +0 -1
  183. package/lib/generate/ontology.js +0 -501
  184. package/lib/generate/ontology.js.map +0 -1
  185. package/lib/generate/types.d.ts +0 -17
  186. package/lib/generate/types.d.ts.map +0 -1
  187. package/lib/generate/types.js +0 -216
  188. package/lib/generate/types.js.map +0 -1
  189. package/lib/generate/utils/buildJsDocs.d.ts +0 -10
  190. package/lib/generate/utils/buildJsDocs.d.ts.map +0 -1
  191. package/lib/generate/utils/buildJsDocs.js +0 -16
  192. package/lib/generate/utils/buildJsDocs.js.map +0 -1
  193. package/lib/infer.d.ts +0 -222
  194. package/lib/infer.d.ts.map +0 -1
  195. package/lib/infer.js +0 -14
  196. package/lib/infer.js.map +0 -1
  197. package/lib/installation/createMetaOntologyConfiguration.d.ts +0 -10
  198. package/lib/installation/createMetaOntologyConfiguration.d.ts.map +0 -1
  199. package/lib/installation/createMetaOntologyConfiguration.js +0 -16
  200. package/lib/installation/createMetaOntologyConfiguration.js.map +0 -1
  201. package/lib/installation/createOntologyBackendInstallation.d.ts +0 -5
  202. package/lib/installation/createOntologyBackendInstallation.d.ts.map +0 -1
  203. package/lib/installation/createOntologyBackendInstallation.js +0 -221
  204. package/lib/installation/createOntologyBackendInstallation.js.map +0 -1
  205. package/lib/installation/index.d.ts +0 -4
  206. package/lib/installation/index.js +0 -3
  207. package/lib/installation/types.d.ts +0 -94
  208. package/lib/installation/types.d.ts.map +0 -1
  209. package/lib/ir/generated/builders.d.ts +0 -380
  210. package/lib/ir/generated/builders.d.ts.map +0 -1
  211. package/lib/ir/generated/builders.js +0 -186
  212. package/lib/ir/generated/builders.js.map +0 -1
  213. package/lib/ir/generated/constants.d.ts +0 -265
  214. package/lib/ir/generated/constants.d.ts.map +0 -1
  215. package/lib/ir/generated/constants.js +0 -165
  216. package/lib/ir/generated/constants.js.map +0 -1
  217. package/lib/ir/generated/types.d.ts +0 -416
  218. package/lib/ir/generated/types.d.ts.map +0 -1
  219. package/lib/ir/index.d.ts +0 -4
  220. package/lib/ir/index.js +0 -3
  221. package/lib/ir/schema.d.ts +0 -2246
  222. package/lib/ir/schema.d.ts.map +0 -1
  223. package/lib/ir/schema.js +0 -1187
  224. package/lib/ir/schema.js.map +0 -1
  225. package/lib/ir/validate.d.ts +0 -8
  226. package/lib/ir/validate.d.ts.map +0 -1
  227. package/lib/ir/validate.js +0 -623
  228. package/lib/ir/validate.js.map +0 -1
  229. package/lib/json/index.d.ts.map +0 -1
  230. package/lib/json/index.js.map +0 -1
  231. package/lib/lenses.d.ts +0 -21
  232. package/lib/lenses.d.ts.map +0 -1
  233. package/lib/lenses.js +0 -110
  234. package/lib/lenses.js.map +0 -1
  235. package/lib/live/OntologyBackendAdapter.d.ts +0 -100
  236. package/lib/live/OntologyBackendAdapter.d.ts.map +0 -1
  237. package/lib/live/OntologyBackendAdapter.js +0 -1
  238. package/lib/live/actions/createLiveOntologyActions.d.ts +0 -28
  239. package/lib/live/actions/createLiveOntologyActions.d.ts.map +0 -1
  240. package/lib/live/actions/createLiveOntologyActions.js +0 -139
  241. package/lib/live/actions/createLiveOntologyActions.js.map +0 -1
  242. package/lib/live/actions/prepareActionParameters.d.ts +0 -19
  243. package/lib/live/actions/prepareActionParameters.d.ts.map +0 -1
  244. package/lib/live/actions/prepareActionParameters.js +0 -213
  245. package/lib/live/actions/prepareActionParameters.js.map +0 -1
  246. package/lib/live/attachments/attachmentSources.d.ts +0 -10
  247. package/lib/live/attachments/attachmentSources.d.ts.map +0 -1
  248. package/lib/live/attachments/attachmentSources.js +0 -64
  249. package/lib/live/attachments/attachmentSources.js.map +0 -1
  250. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.d.ts +0 -5
  251. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.d.ts.map +0 -1
  252. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.js +0 -6
  253. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.js.map +0 -1
  254. package/lib/live/expression.d.ts +0 -23
  255. package/lib/live/expression.d.ts.map +0 -1
  256. package/lib/live/expression.js +0 -160
  257. package/lib/live/expression.js.map +0 -1
  258. package/lib/live/mutators/OntologyEdits.d.ts +0 -15
  259. package/lib/live/mutators/OntologyEdits.d.ts.map +0 -1
  260. package/lib/live/mutators/OntologyEdits.js +0 -65
  261. package/lib/live/mutators/OntologyEdits.js.map +0 -1
  262. package/lib/live/mutators/createMutatorTx.d.ts +0 -11
  263. package/lib/live/mutators/createMutatorTx.d.ts.map +0 -1
  264. package/lib/live/mutators/createMutatorTx.js +0 -61
  265. package/lib/live/mutators/createMutatorTx.js.map +0 -1
  266. package/lib/live/mutators/runOptimisticAction.d.ts +0 -19
  267. package/lib/live/mutators/runOptimisticAction.d.ts.map +0 -1
  268. package/lib/live/mutators/runOptimisticAction.js +0 -30
  269. package/lib/live/mutators/runOptimisticAction.js.map +0 -1
  270. package/lib/live/objects/OntologyObject.d.ts +0 -4
  271. package/lib/live/objects/OntologyObject.d.ts.map +0 -1
  272. package/lib/live/objects/OntologyObject.js +0 -1
  273. package/lib/live/objects/createLiveOntologyObjectCollection.d.ts +0 -17
  274. package/lib/live/objects/createLiveOntologyObjectCollection.d.ts.map +0 -1
  275. package/lib/live/objects/createLiveOntologyObjectCollection.js +0 -55
  276. package/lib/live/objects/createLiveOntologyObjectCollection.js.map +0 -1
  277. package/lib/live/objects/ontologyObjectCollectionId.d.ts +0 -4
  278. package/lib/live/objects/ontologyObjectCollectionId.d.ts.map +0 -1
  279. package/lib/live/objects/ontologyObjectCollectionId.js +0 -8
  280. package/lib/live/objects/ontologyObjectCollectionId.js.map +0 -1
  281. package/lib/live/outbox/createOntologyOutbox.d.ts +0 -23
  282. package/lib/live/outbox/createOntologyOutbox.d.ts.map +0 -1
  283. package/lib/live/outbox/createOntologyOutbox.js +0 -292
  284. package/lib/live/outbox/createOntologyOutbox.js.map +0 -1
  285. package/lib/live/outbox/leaderExecutor.d.ts +0 -20
  286. package/lib/live/outbox/leaderExecutor.d.ts.map +0 -1
  287. package/lib/live/outbox/leaderExecutor.js +0 -130
  288. package/lib/live/outbox/leaderExecutor.js.map +0 -1
  289. package/lib/live/outbox/outboxService.d.ts +0 -7
  290. package/lib/live/outbox/outboxService.d.ts.map +0 -1
  291. package/lib/live/outbox/outboxService.js +0 -68
  292. package/lib/live/outbox/outboxService.js.map +0 -1
  293. package/lib/live/outbox/projectionManager.d.ts +0 -31
  294. package/lib/live/outbox/projectionManager.d.ts.map +0 -1
  295. package/lib/live/outbox/projectionManager.js +0 -127
  296. package/lib/live/outbox/projectionManager.js.map +0 -1
  297. package/lib/live/outbox/repository.d.ts +0 -31
  298. package/lib/live/outbox/repository.d.ts.map +0 -1
  299. package/lib/live/outbox/repository.js +0 -196
  300. package/lib/live/outbox/repository.js.map +0 -1
  301. package/lib/live/outbox/service.d.ts +0 -61
  302. package/lib/live/outbox/service.d.ts.map +0 -1
  303. package/lib/live/outbox/service.js +0 -6
  304. package/lib/live/outbox/service.js.map +0 -1
  305. package/lib/live/outbox/types.js.map +0 -1
  306. package/lib/live/waitForCollectionReady.d.ts +0 -5
  307. package/lib/live/waitForCollectionReady.d.ts.map +0 -1
  308. package/lib/live/waitForCollectionReady.js +0 -49
  309. package/lib/live/waitForCollectionReady.js.map +0 -1
  310. package/lib/meta/createLocalMetaOntologyBackendAdapter.d.ts +0 -7
  311. package/lib/meta/createLocalMetaOntologyBackendAdapter.d.ts.map +0 -1
  312. package/lib/meta/createLocalMetaOntologyBackendAdapter.js +0 -44
  313. package/lib/meta/createLocalMetaOntologyBackendAdapter.js.map +0 -1
  314. package/lib/meta/generated/constants.d.ts +0 -265
  315. package/lib/meta/generated/constants.d.ts.map +0 -1
  316. package/lib/meta/generated/constants.js +0 -165
  317. package/lib/meta/generated/constants.js.map +0 -1
  318. package/lib/meta/generated/types.d.ts +0 -417
  319. package/lib/meta/generated/types.d.ts.map +0 -1
  320. package/lib/meta/generated/types.js +0 -1
  321. package/lib/meta/ontology.d.ts +0 -26
  322. package/lib/meta/ontology.d.ts.map +0 -1
  323. package/lib/meta/ontology.js +0 -111
  324. package/lib/meta/ontology.js.map +0 -1
  325. package/lib/utils/links.d.ts +0 -49
  326. package/lib/utils/links.d.ts.map +0 -1
  327. package/lib/utils/links.js +0 -13
  328. package/lib/utils/links.js.map +0 -1
  329. package/lib/utils/paths.d.ts +0 -6
  330. package/lib/utils/paths.d.ts.map +0 -1
  331. package/lib/utils/paths.js +0 -42
  332. package/lib/utils/paths.js.map +0 -1
  333. package/lib/utils/provide.d.ts +0 -4
  334. package/lib/utils/provide.d.ts.map +0 -1
  335. package/lib/utils/provide.js +0 -9
  336. package/lib/utils/provide.js.map +0 -1
  337. package/lib/utils/targets.d.ts +0 -37
  338. package/lib/utils/targets.d.ts.map +0 -1
  339. package/lib/utils/targets.js +0 -1
  340. package/lib/utils/typeNames.d.ts +0 -28
  341. package/lib/utils/typeNames.d.ts.map +0 -1
  342. package/lib/utils/typeNames.js +0 -1
  343. package/lib/utils/types.d.ts +0 -12
  344. package/lib/utils/types.d.ts.map +0 -1
  345. package/lib/utils/types.js +0 -48
  346. package/lib/utils/types.js.map +0 -1
  347. package/lib/utils/uncertain.d.ts +0 -11
  348. package/lib/utils/uncertain.d.ts.map +0 -1
  349. package/lib/utils/uncertain.js +0 -14
  350. package/lib/utils/uncertain.js.map +0 -1
  351. package/lib/utils/validation.d.ts +0 -7
  352. package/lib/utils/validation.d.ts.map +0 -1
  353. package/lib/utils/validation.js +0 -1
  354. package/lib/utils/values.d.ts.map +0 -1
  355. /package/lib/{installation → live/actions}/types.js +0 -0
  356. /package/lib/{ir/generated → live/objects}/types.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authentication.d.ts","names":["_$__tanstack_descriptors_js0.OntologyCollectionDescriptors","AccountRef"],"sources":["../src/authentication.ts"],"mappings":";;;;;;;;;;;qBAewB,uBAOtBA,mEAP2C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAO3C;iBAGe;WACJ,QACH,uBACA,OAAO,OAAO,iBAAiB,sBAAsB,cAAc,MAAM;WACtE;WACA,UAAU;;;;;;wBAOD,2BAA2B,SAAS,8BAA2B;EAyBjD,MAAA,UAAA,YAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGE,SAAA,WAAA,YAAU,QAAA,YAAA;;;;;;;;;;;;;;;;;;OAAqB,gXAAG;;;;;;;;;;;;;;IAEtC,WAAA,gBAAM;;;;;;;;;;;;;;;EAGI,wBAAA,kBAAM,oBAAiB;;;;EAE/B,gBAAA,kBAAM,gBAAa;;;;EAE1B,UAAA,SAAAC,iBAAU;EACX,SAAA,SAAAA,iBAAU;;;;YAapC,uBAAuB,QAAQ,kBAAkB"}
@@ -0,0 +1,55 @@
1
+ import { ontologyCollections } from "./tanstack/descriptors.js";
2
+ import { makeAuthenticationClient } from "@party-stack/connect";
3
+ import { classifyBackendFailure } from "@party-stack/ontology-backend";
4
+ import { MemoryRuntime, Runtimes } from "@party-stack/runtime";
5
+ import { Effect, Exit, Fiber, Layer, Scope } from "effect";
6
+ //#region src/authentication.ts
7
+ /** Collection descriptors for live queries over Connect's saved accounts and
8
+ * configuration. Resolve them through the authentication view's DbClient.
9
+ * Importing descriptors does not open a client or grant access to secret fields.
10
+ */
11
+ const { objects: authenticationObjects } = ontologyCollections({
12
+ ServiceInstance: "id",
13
+ OAuthApplication: "id",
14
+ OAuthConnection: "id",
15
+ ApiKeyConnection: "id",
16
+ ExternalSessionConnection: "id",
17
+ OAuthAuthorizationAttempt: "id"
18
+ });
19
+ /** Promise browser commands over the selected Connect ontology. Inventory is read
20
+ * from its ordinary Query endpoint; no account stream or authentication-method proxy.
21
+ * Authentication workflows execute directly and never enter an optimistic outbox.
22
+ */
23
+ async function createAuthenticationClient(options) {
24
+ const scope = Effect.runSync(Scope.make());
25
+ return Effect.runPromise(Scope.provide(Effect.gen(function* () {
26
+ const environment = yield* Layer.build(options.runtime ?? Runtimes.layer(MemoryRuntime.layer));
27
+ const browserAuthentication = (yield* Runtimes.pipe(Effect.provideContext(environment))).browserAuthentication;
28
+ const remote = yield* Effect.isEffect(options.client) ? options.client : Effect.succeed(options.client);
29
+ const client = "ontology" in remote ? yield* remote.ontology(options.ontology ?? "connect") : remote;
30
+ const run = (work) => Effect.runPromise(Effect.acquireUseRelease(Effect.forkIn(work, scope, { startImmediately: true }), Fiber.join, Fiber.interrupt));
31
+ const commands = makeAuthenticationClient({
32
+ backend: client.backend,
33
+ browserAuthentication
34
+ });
35
+ return {
36
+ oauth(settings) {
37
+ const oauth = commands.oauth(settings);
38
+ return {
39
+ signIn: (settings) => run(oauth.signIn(settings)),
40
+ complete: (url) => run(oauth.complete(url))
41
+ };
42
+ },
43
+ attachExternalSession: (instance, session) => run(commands.attachExternalSession(instance, session)),
44
+ connectApiKey: (instance, key) => run(commands.connectApiKey(instance, key)),
45
+ signOut: (account) => run(commands.signOut(account)),
46
+ forget: (account) => run(commands.forget(account)),
47
+ connections: () => run(commands.connections),
48
+ cleanup: () => Effect.runPromise(Scope.close(scope, Exit.void))
49
+ };
50
+ }), scope).pipe(Effect.mapError((error) => classifyBackendFailure("connect.client", error)), Effect.onExit((exit) => Exit.isFailure(exit) ? Scope.close(scope, exit) : Effect.void)));
51
+ }
52
+ //#endregion
53
+ export { authenticationObjects, createAuthenticationClient };
54
+
55
+ //# sourceMappingURL=authentication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authentication.js","names":[],"sources":["../src/authentication.ts"],"sourcesContent":["import { makeAuthenticationClient } from \"@party-stack/connect\";\nimport { classifyBackendFailure } from \"@party-stack/ontology-backend\";\nimport { MemoryRuntime, Runtimes } from \"@party-stack/runtime\";\nimport { Effect, Exit, Fiber, Layer, Scope } from \"effect\";\nimport { ontologyCollections } from \"./tanstack/descriptors.js\";\nimport type { AccountRef } from \"@party-stack/connect\";\nimport type { ConnectOntology } from \"@party-stack/connect/spec\";\nimport type { BackendError } from \"@party-stack/ontology-backend\";\nimport type { OntologyClient, OntologyServerClient } from \"@party-stack/ontology-server/rpc\";\nimport type { RuntimesLayer } from \"@party-stack/runtime\";\n\n/** Collection descriptors for live queries over Connect's saved accounts and\n * configuration. Resolve them through the authentication view's DbClient.\n * Importing descriptors does not open a client or grant access to secret fields.\n */\nexport const { objects: authenticationObjects } = ontologyCollections<ConnectOntology>({\n ServiceInstance: \"id\",\n OAuthApplication: \"id\",\n OAuthConnection: \"id\",\n ApiKeyConnection: \"id\",\n ExternalSessionConnection: \"id\",\n OAuthAuthorizationAttempt: \"id\",\n});\nexport type { AccountRef, AccountSummary } from \"@party-stack/connect\";\n\nexport interface AuthenticationClientOptions {\n readonly client:\n | OntologyServerClient\n | Effect.Effect<OntologyClient | OntologyServerClient, BackendError, Scope.Scope>;\n readonly ontology?: string;\n readonly runtime?: RuntimesLayer;\n}\n\n/** Promise browser commands over the selected Connect ontology. Inventory is read\n * from its ordinary Query endpoint; no account stream or authentication-method proxy.\n * Authentication workflows execute directly and never enter an optimistic outbox.\n */\nexport async function createAuthenticationClient(options: AuthenticationClientOptions) {\n const scope = Effect.runSync(Scope.make());\n return Effect.runPromise(\n Scope.provide(\n Effect.gen(function* () {\n const environment = yield* Layer.build(\n options.runtime ?? Runtimes.layer(MemoryRuntime.layer)\n );\n const browserAuthentication = (yield* Runtimes.pipe(Effect.provideContext(environment)))\n .browserAuthentication;\n const remote = yield* Effect.isEffect(options.client)\n ? options.client\n : Effect.succeed(options.client);\n const client =\n \"ontology\" in remote ? yield* remote.ontology(options.ontology ?? \"connect\") : remote;\n const run = <A, E>(work: Effect.Effect<A, E>) =>\n Effect.runPromise(\n Effect.acquireUseRelease(\n Effect.forkIn(work, scope, { startImmediately: true }),\n Fiber.join,\n Fiber.interrupt\n )\n );\n const commands = makeAuthenticationClient({ backend: client.backend, browserAuthentication });\n return {\n oauth(settings: Parameters<typeof commands.oauth>[0]) {\n const oauth = commands.oauth(settings);\n return {\n signIn: (settings?: Parameters<typeof oauth.signIn>[0]) =>\n run(oauth.signIn(settings)),\n complete: (url: string) => run(oauth.complete(url)),\n };\n },\n attachExternalSession: (instance: string, session: string) =>\n run(commands.attachExternalSession(instance, session)),\n connectApiKey: (instance: string, key: string) =>\n run(commands.connectApiKey(instance, key)),\n signOut: (account: AccountRef) => run(commands.signOut(account)),\n forget: (account: AccountRef) => run(commands.forget(account)),\n connections: () => run(commands.connections),\n cleanup: () => Effect.runPromise(Scope.close(scope, Exit.void)),\n };\n }),\n scope\n ).pipe(\n Effect.mapError((error) => classifyBackendFailure(\"connect.client\", error)),\n Effect.onExit((exit) => (Exit.isFailure(exit) ? Scope.close(scope, exit) : Effect.void))\n )\n );\n}\n\nexport type AuthenticationClient = Awaited<ReturnType<typeof createAuthenticationClient>>;\n"],"mappings":";;;;;;;;;;AAeA,MAAa,EAAE,SAAS,0BAA0B,oBAAqC;CACnF,iBAAiB;CACjB,kBAAkB;CAClB,iBAAiB;CACjB,kBAAkB;CAClB,2BAA2B;CAC3B,2BAA2B;AAC/B,CAAC;;;;;AAeD,eAAsB,2BAA2B,SAAsC;CACnF,MAAM,QAAQ,OAAO,QAAQ,MAAM,KAAK,CAAC;CACzC,OAAO,OAAO,WACV,MAAM,QACF,OAAO,IAAI,aAAa;EACpB,MAAM,cAAc,OAAO,MAAM,MAC7B,QAAQ,WAAW,SAAS,MAAM,cAAc,KAAK,CACzD;EACA,MAAM,yBAAyB,OAAO,SAAS,KAAK,OAAO,eAAe,WAAW,CAAC,EAAA,CACjF;EACL,MAAM,SAAS,OAAO,OAAO,SAAS,QAAQ,MAAM,IAC9C,QAAQ,SACR,OAAO,QAAQ,QAAQ,MAAM;EACnC,MAAM,SACF,cAAc,SAAS,OAAO,OAAO,SAAS,QAAQ,YAAY,SAAS,IAAI;EACnF,MAAM,OAAa,SACf,OAAO,WACH,OAAO,kBACH,OAAO,OAAO,MAAM,OAAO,EAAE,kBAAkB,KAAK,CAAC,GACrD,MAAM,MACN,MAAM,SACV,CACJ;EACJ,MAAM,WAAW,yBAAyB;GAAE,SAAS,OAAO;GAAS;EAAsB,CAAC;EAC5F,OAAO;GACH,MAAM,UAAgD;IAClD,MAAM,QAAQ,SAAS,MAAM,QAAQ;IACrC,OAAO;KACH,SAAS,aACL,IAAI,MAAM,OAAO,QAAQ,CAAC;KAC9B,WAAW,QAAgB,IAAI,MAAM,SAAS,GAAG,CAAC;IACtD;GACJ;GACA,wBAAwB,UAAkB,YACtC,IAAI,SAAS,sBAAsB,UAAU,OAAO,CAAC;GACzD,gBAAgB,UAAkB,QAC9B,IAAI,SAAS,cAAc,UAAU,GAAG,CAAC;GAC7C,UAAU,YAAwB,IAAI,SAAS,QAAQ,OAAO,CAAC;GAC/D,SAAS,YAAwB,IAAI,SAAS,OAAO,OAAO,CAAC;GAC7D,mBAAmB,IAAI,SAAS,WAAW;GAC3C,eAAe,OAAO,WAAW,MAAM,MAAM,OAAO,KAAK,IAAI,CAAC;EAClE;CACJ,CAAC,GACD,KACJ,CAAC,CAAC,KACE,OAAO,UAAU,UAAU,uBAAuB,kBAAkB,KAAK,CAAC,GAC1E,OAAO,QAAQ,SAAU,KAAK,UAAU,IAAI,IAAI,MAAM,MAAM,OAAO,IAAI,IAAI,OAAO,IAAK,CAC3F,CACJ;AACJ"}
package/lib/cli/index.js CHANGED
@@ -1,52 +1,26 @@
1
1
  #!/usr/bin/env node
2
- import { generateFiles } from "./generate.js";
3
2
  import { ONTOLOGY_IR_PATH, ONTOLOGY_PULL_CONFIG_PATH, discoverOntologyPullConfigPath, loadOntologyPullConfig, writePulledOntology } from "./pull.js";
4
- import { pascalCase } from "change-case";
5
- import { existsSync, readFileSync } from "node:fs";
6
- import { basename, resolve } from "node:path";
7
- import { Command } from "commander";
3
+ import { Console, Effect } from "effect";
4
+ import { readFileSync } from "node:fs";
5
+ import { resolve } from "node:path";
6
+ import { NodeRuntime, NodeServices } from "@effect/platform-node";
7
+ import { makeGenerateCommand } from "@party-stack/ontology-spec/generate";
8
+ import { CliError, Command } from "effect/cli";
8
9
  //#region src/cli/index.ts
9
- const GENERATED_DIR_PATH = "src/ontology/generated";
10
- function readPackageNamespace(cwd) {
11
- const packageJsonPath = resolve(cwd, "package.json");
12
- if (!existsSync(packageJsonPath)) return pascalCase(basename(cwd));
13
- try {
14
- const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
15
- const packageName = typeof packageJson.name === "string" ? packageJson.name.split("/").pop() ?? packageJson.name : basename(cwd);
16
- return pascalCase(packageName);
17
- } catch {
18
- return pascalCase(basename(cwd));
19
- }
20
- }
21
- async function main() {
22
- const cwd = process.cwd();
23
- const ontologyPath = resolve(cwd, ONTOLOGY_IR_PATH);
24
- const generatedDir = resolve(cwd, GENERATED_DIR_PATH);
25
- const program = new Command();
26
- program.name("ontology").description("Generate and pull ontology files");
27
- program.command("generate").description("Generate ontology types, builders, and live helpers").option("--ontology <path>", "Path to the ontology module", ontologyPath).option("--outDir <path>", "Directory to write generated files", generatedDir).option("--namespace <name>", "Namespace for generated ontology types/factories").option("--no-js-extensions", "Omit .js extensions from generated relative imports").action(async (options) => {
28
- await generateFiles({
29
- ontology: resolve(cwd, options.ontology),
30
- outDir: resolve(cwd, options.outDir),
31
- namespace: options.namespace ?? readPackageNamespace(cwd),
32
- jsExtensions: options.jsExtensions
33
- });
34
- });
35
- const configPath = discoverOntologyPullConfigPath(cwd);
36
- if (configPath) program.command("pull").description(`Pull ontology metadata using ${ONTOLOGY_PULL_CONFIG_PATH}`).action(async () => {
10
+ const { version } = JSON.parse(readFileSync(new URL("../../package.json", import.meta.url), "utf8"));
11
+ const configPath = discoverOntologyPullConfigPath(process.cwd());
12
+ const pull = Command.make("pull", {}, () => Effect.tryPromise({
13
+ try: async () => {
14
+ if (!configPath) throw new Error(`Create ${ONTOLOGY_PULL_CONFIG_PATH} before pulling metadata.`);
37
15
  const config = await loadOntologyPullConfig(configPath);
38
- const { createNodeRuntime } = await import("@party-stack/node-runtime");
39
- await writePulledOntology(config, ontologyPath, { runtime: createNodeRuntime });
40
- console.log(`Generated ontology written to: ${ontologyPath}`);
41
- });
42
- await program.parseAsync();
43
- }
44
- main().then(() => {
45
- process.exit(0);
46
- }).catch((error) => {
47
- console.error(error instanceof Error ? error.message : String(error));
48
- process.exit(1);
49
- });
16
+ const { nodeRuntime } = await import("@party-stack/node-runtime");
17
+ const path = resolve(process.cwd(), ONTOLOGY_IR_PATH);
18
+ await writePulledOntology(config, path, { runtime: nodeRuntime() });
19
+ return path;
20
+ },
21
+ catch: (cause) => new CliError.UserError({ cause })
22
+ }).pipe(Effect.flatMap((path) => Console.log(`Generated ontology written to: ${path}`)))).pipe(Command.withDescription(`Pull ontology metadata using ${ONTOLOGY_PULL_CONFIG_PATH}`));
23
+ Command.make("ontology").pipe(Command.withDescription("Generate and pull ontology files"), Command.withSubcommands([makeGenerateCommand({ valuesImportPath: "@party-stack/ontology/values" }), ...configPath ? [pull] : []]), Command.run({ version }), Effect.provide(NodeServices.layer), NodeRuntime.runMain);
50
24
  //#endregion
51
25
  export {};
52
26
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/cli/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { existsSync, readFileSync } from \"node:fs\";\nimport { basename, resolve } from \"node:path\";\nimport { pascalCase } from \"change-case\";\nimport { Command } from \"commander\";\nimport { generateFiles } from \"./generate.js\";\nimport {\n ONTOLOGY_PULL_CONFIG_PATH,\n ONTOLOGY_IR_PATH,\n discoverOntologyPullConfigPath,\n loadOntologyPullConfig,\n writePulledOntology,\n} from \"./pull.js\";\n\nconst GENERATED_DIR_PATH = \"src/ontology/generated\";\n\nfunction readPackageNamespace(cwd: string): string {\n const packageJsonPath = resolve(cwd, \"package.json\");\n if (!existsSync(packageJsonPath)) {\n return pascalCase(basename(cwd));\n }\n\n try {\n const packageJson = JSON.parse(readFileSync(packageJsonPath, \"utf-8\")) as { name?: unknown };\n const packageName =\n typeof packageJson.name === \"string\"\n ? (packageJson.name.split(\"/\").pop() ?? packageJson.name)\n : basename(cwd);\n return pascalCase(packageName);\n } catch {\n return pascalCase(basename(cwd));\n }\n}\n\nasync function main(): Promise<void> {\n const cwd = process.cwd();\n const ontologyPath = resolve(cwd, ONTOLOGY_IR_PATH);\n const generatedDir = resolve(cwd, GENERATED_DIR_PATH);\n const program = new Command();\n\n program.name(\"ontology\").description(\"Generate and pull ontology files\");\n\n program\n .command(\"generate\")\n .description(\"Generate ontology types, builders, and live helpers\")\n .option(\"--ontology <path>\", \"Path to the ontology module\", ontologyPath)\n .option(\"--outDir <path>\", \"Directory to write generated files\", generatedDir)\n .option(\"--namespace <name>\", \"Namespace for generated ontology types/factories\")\n .option(\"--no-js-extensions\", \"Omit .js extensions from generated relative imports\")\n .action(\n async (options: {\n ontology: string;\n outDir: string;\n namespace?: string;\n jsExtensions?: boolean;\n }) => {\n await generateFiles({\n ontology: resolve(cwd, options.ontology),\n outDir: resolve(cwd, options.outDir),\n namespace: options.namespace ?? readPackageNamespace(cwd),\n jsExtensions: options.jsExtensions,\n });\n }\n );\n\n const configPath = discoverOntologyPullConfigPath(cwd);\n if (configPath) {\n program\n .command(\"pull\")\n .description(`Pull ontology metadata using ${ONTOLOGY_PULL_CONFIG_PATH}`)\n .action(async () => {\n const config = await loadOntologyPullConfig(configPath);\n const { createNodeRuntime } = await import(\"@party-stack/node-runtime\");\n await writePulledOntology(config, ontologyPath, {\n runtime: createNodeRuntime,\n });\n console.log(`Generated ontology written to: ${ontologyPath}`);\n });\n }\n\n await program.parseAsync();\n}\n\nmain()\n .then(() => {\n process.exit(0);\n })\n .catch((error) => {\n console.error(error instanceof Error ? error.message : String(error));\n process.exit(1);\n });\n"],"mappings":";;;;;;;;AAcA,MAAM,qBAAqB;AAE3B,SAAS,qBAAqB,KAAqB;CAC/C,MAAM,kBAAkB,QAAQ,KAAK,cAAc;CACnD,IAAI,CAAC,WAAW,eAAe,GAC3B,OAAO,WAAW,SAAS,GAAG,CAAC;CAGnC,IAAI;EACA,MAAM,cAAc,KAAK,MAAM,aAAa,iBAAiB,OAAO,CAAC;EACrE,MAAM,cACF,OAAO,YAAY,SAAS,WACrB,YAAY,KAAK,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,YAAY,OAClD,SAAS,GAAG;EACtB,OAAO,WAAW,WAAW;CACjC,QAAQ;EACJ,OAAO,WAAW,SAAS,GAAG,CAAC;CACnC;AACJ;AAEA,eAAe,OAAsB;CACjC,MAAM,MAAM,QAAQ,IAAI;CACxB,MAAM,eAAe,QAAQ,KAAK,gBAAgB;CAClD,MAAM,eAAe,QAAQ,KAAK,kBAAkB;CACpD,MAAM,UAAU,IAAI,QAAQ;CAE5B,QAAQ,KAAK,UAAU,CAAC,CAAC,YAAY,kCAAkC;CAEvE,QACK,QAAQ,UAAU,CAAC,CACnB,YAAY,qDAAqD,CAAC,CAClE,OAAO,qBAAqB,+BAA+B,YAAY,CAAC,CACxE,OAAO,mBAAmB,sCAAsC,YAAY,CAAC,CAC7E,OAAO,sBAAsB,kDAAkD,CAAC,CAChF,OAAO,sBAAsB,qDAAqD,CAAC,CACnF,OACG,OAAO,YAKD;EACF,MAAM,cAAc;GAChB,UAAU,QAAQ,KAAK,QAAQ,QAAQ;GACvC,QAAQ,QAAQ,KAAK,QAAQ,MAAM;GACnC,WAAW,QAAQ,aAAa,qBAAqB,GAAG;GACxD,cAAc,QAAQ;EAC1B,CAAC;CACL,CACJ;CAEJ,MAAM,aAAa,+BAA+B,GAAG;CACrD,IAAI,YACA,QACK,QAAQ,MAAM,CAAC,CACf,YAAY,gCAAgC,2BAA2B,CAAC,CACxE,OAAO,YAAY;EAChB,MAAM,SAAS,MAAM,uBAAuB,UAAU;EACtD,MAAM,EAAE,sBAAsB,MAAM,OAAO;EAC3C,MAAM,oBAAoB,QAAQ,cAAc,EAC5C,SAAS,kBACb,CAAC;EACD,QAAQ,IAAI,kCAAkC,cAAc;CAChE,CAAC;CAGT,MAAM,QAAQ,WAAW;AAC7B;AAEA,KAAK,CAAC,CACD,WAAW;CACR,QAAQ,KAAK,CAAC;AAClB,CAAC,CAAC,CACD,OAAO,UAAU;CACd,QAAQ,MAAM,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CAAC;CACpE,QAAQ,KAAK,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/cli/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { readFileSync } from \"node:fs\";\nimport { resolve } from \"node:path\";\nimport { NodeRuntime, NodeServices } from \"@effect/platform-node\";\nimport { makeGenerateCommand } from \"@party-stack/ontology-spec/generate\";\nimport { Console, Effect } from \"effect\";\nimport { CliError, Command } from \"effect/cli\";\nimport {\n ONTOLOGY_PULL_CONFIG_PATH,\n ONTOLOGY_IR_PATH,\n discoverOntologyPullConfigPath,\n loadOntologyPullConfig,\n writePulledOntology,\n} from \"./pull.js\";\n\nconst { version } = JSON.parse(readFileSync(new URL(\"../../package.json\", import.meta.url), \"utf8\")) as {\n version: string;\n};\n\nconst configPath = discoverOntologyPullConfigPath(process.cwd());\nconst pull = Command.make(\"pull\", {}, () =>\n Effect.tryPromise({\n try: async () => {\n if (!configPath) throw new Error(`Create ${ONTOLOGY_PULL_CONFIG_PATH} before pulling metadata.`);\n const config = await loadOntologyPullConfig(configPath);\n const { nodeRuntime } = await import(\"@party-stack/node-runtime\");\n const path = resolve(process.cwd(), ONTOLOGY_IR_PATH);\n await writePulledOntology(config, path, { runtime: nodeRuntime() });\n return path;\n },\n catch: (cause) => new CliError.UserError({ cause }),\n }).pipe(Effect.flatMap((path) => Console.log(`Generated ontology written to: ${path}`)))\n).pipe(Command.withDescription(`Pull ontology metadata using ${ONTOLOGY_PULL_CONFIG_PATH}`));\n\nCommand.make(\"ontology\").pipe(\n Command.withDescription(\"Generate and pull ontology files\"),\n Command.withSubcommands([\n makeGenerateCommand({ valuesImportPath: \"@party-stack/ontology/values\" }),\n ...(configPath ? [pull] : []),\n ]),\n Command.run({ version }),\n Effect.provide(NodeServices.layer),\n NodeRuntime.runMain\n);\n"],"mappings":";;;;;;;;;AAeA,MAAM,EAAE,YAAY,KAAK,MAAM,aAAa,IAAI,IAAI,sBAAsB,YAAY,GAAG,GAAG,MAAM,CAAC;AAInG,MAAM,aAAa,+BAA+B,QAAQ,IAAI,CAAC;AAC/D,MAAM,OAAO,QAAQ,KAAK,QAAQ,CAAC,SAC/B,OAAO,WAAW;CACd,KAAK,YAAY;EACb,IAAI,CAAC,YAAY,MAAM,IAAI,MAAM,UAAU,0BAA0B,0BAA0B;EAC/F,MAAM,SAAS,MAAM,uBAAuB,UAAU;EACtD,MAAM,EAAE,gBAAgB,MAAM,OAAO;EACrC,MAAM,OAAO,QAAQ,QAAQ,IAAI,GAAG,gBAAgB;EACpD,MAAM,oBAAoB,QAAQ,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;EAClE,OAAO;CACX;CACA,QAAQ,UAAU,IAAI,SAAS,UAAU,EAAE,MAAM,CAAC;AACtD,CAAC,CAAC,CAAC,KAAK,OAAO,SAAS,SAAS,QAAQ,IAAI,kCAAkC,MAAM,CAAC,CAAC,CAC3F,CAAC,CAAC,KAAK,QAAQ,gBAAgB,gCAAgC,2BAA2B,CAAC;AAE3F,QAAQ,KAAK,UAAU,CAAC,CAAC,KACrB,QAAQ,gBAAgB,kCAAkC,GAC1D,QAAQ,gBAAgB,CACpB,oBAAoB,EAAE,kBAAkB,+BAA+B,CAAC,GACxE,GAAI,aAAa,CAAC,IAAI,IAAI,CAAC,CAC/B,CAAC,GACD,QAAQ,IAAI,EAAE,QAAQ,CAAC,GACvB,OAAO,QAAQ,aAAa,KAAK,GACjC,YAAY,OAChB"}
@@ -1 +1 @@
1
- {"version":3,"file":"pull.d.ts","names":[],"sources":["../../src/cli/pull.ts"],"mappings":";;qBAWa;qBACA;wBA+BG,+BAA+B;wBAKzB,uBAAuB,qBAAqB,QAAQ;wBAcpD,oBAClB,QAAQ,oBACR,iBACA,SAAS,qBACT,8BACD"}
1
+ {"version":3,"file":"pull.d.ts","names":[],"sources":["../../src/cli/pull.ts"],"mappings":";;qBAYa;qBACA;wBAoBG,+BAA+B;wBAKzB,uBAAuB,qBAAqB,QAAQ;wBAcpD,oBAClB,QAAQ,oBACR,iBACA,SAAS,qBACT,8BACD"}
package/lib/cli/pull.js CHANGED
@@ -1,22 +1,16 @@
1
- import { pull } from "../meta/pull.js";
2
- import { formatGeneratedFile } from "./format.js";
3
- import { generateOntology } from "../generate/ontology.js";
1
+ import { Effect, Predicate } from "effect";
2
+ import { pull } from "@party-stack/ontology-backend/meta";
4
3
  import { existsSync, mkdirSync, writeFileSync } from "node:fs";
5
4
  import { dirname, resolve } from "node:path";
6
- import { createJiti } from "jiti";
5
+ import { formatGeneratedFile, generateOntology } from "@party-stack/ontology-spec/generate";
7
6
  import nextEnv from "@next/env";
7
+ import { createJiti } from "jiti";
8
8
  //#region src/cli/pull.ts
9
9
  const { loadEnvConfig } = nextEnv;
10
10
  const ONTOLOGY_PULL_CONFIG_PATH = "src/ontology/config.ts";
11
11
  const ONTOLOGY_IR_PATH = "src/ontology/ontology.ts";
12
- function isRecord(value) {
13
- return typeof value === "object" && value !== null;
14
- }
15
- function isOntologyPullSource(value) {
16
- return isRecord(value) && typeof value.ontologyId === "string" && typeof value.createInstallation === "function" && typeof value.resolveConnection === "function";
17
- }
18
12
  function isOntologyPullConfig(value) {
19
- return isRecord(value) && isOntologyPullSource(value.source) && Array.isArray(value.objectTypeNames) && value.objectTypeNames.every((entry) => typeof entry === "string") && Array.isArray(value.actionTypeNames) && value.actionTypeNames.every((entry) => typeof entry === "string") && (value.queryFunctionTypeNames === void 0 || Array.isArray(value.queryFunctionTypeNames) && value.queryFunctionTypeNames.every((entry) => typeof entry === "string"));
13
+ return Predicate.isObject(value) && Effect.isEffect(value.backend) && (value.transformPulledOntology === void 0 || typeof value.transformPulledOntology === "function") && Array.isArray(value.objectTypeNames) && value.objectTypeNames.every((entry) => typeof entry === "string") && Array.isArray(value.actionTypeNames) && value.actionTypeNames.every((entry) => typeof entry === "string") && (value.queryFunctionTypeNames === void 0 || Array.isArray(value.queryFunctionTypeNames) && value.queryFunctionTypeNames.every((entry) => typeof entry === "string"));
20
14
  }
21
15
  function discoverOntologyPullConfigPath(cwd) {
22
16
  const configPath = resolve(cwd, ONTOLOGY_PULL_CONFIG_PATH);
@@ -28,27 +22,20 @@ async function loadOntologyPullConfig(configPath) {
28
22
  if (!isOntologyPullConfig(config)) throw new Error(`Config file "${configPath}" must default export an OntologyPullConfig value.`);
29
23
  return config;
30
24
  }
31
- async function writePulledOntology(config, outPath, context, ontologyImportPath = "@party-stack/ontology") {
32
- const installation = await config.source.createInstallation(context);
33
- try {
34
- const connection = await config.source.resolveConnection(installation);
35
- const liveOntology = await installation.openMetaOntology({
36
- userId: connection.userId,
37
- ontologyId: config.source.ontologyId
38
- });
39
- const pulledOntology = await pull(liveOntology, {
25
+ async function writePulledOntology(config, outPath, context, ontologyImportPath = "@party-stack/ontology-spec") {
26
+ const ontology = await Effect.runPromise(Effect.scoped(Effect.gen(function* () {
27
+ const backend = yield* config.backend;
28
+ return yield* pull(backend, {
40
29
  objectTypeNames: config.objectTypeNames,
41
30
  actionTypeNames: config.actionTypeNames,
42
- queryFunctionTypeNames: config.queryFunctionTypeNames ?? []
31
+ queryFunctionTypeNames: config.queryFunctionTypeNames ?? [],
32
+ transformPulledOntology: config.transformPulledOntology
43
33
  });
44
- const ontology = config.source.transformPulledOntology ? await config.source.transformPulledOntology(pulledOntology) : pulledOntology;
45
- const output = generateOntology(ontology, { ontologyImportPath });
46
- mkdirSync(dirname(outPath), { recursive: true });
47
- const formatted = await formatGeneratedFile(outPath, output);
48
- writeFileSync(outPath, formatted, "utf-8");
49
- } finally {
50
- await installation.cleanup();
51
- }
34
+ })).pipe(Effect.provide(context.runtime)));
35
+ const output = generateOntology(ontology, { ontologyImportPath });
36
+ mkdirSync(dirname(outPath), { recursive: true });
37
+ const formatted = await formatGeneratedFile(outPath, output);
38
+ writeFileSync(outPath, formatted, "utf-8");
52
39
  }
53
40
  //#endregion
54
41
  export { ONTOLOGY_IR_PATH, ONTOLOGY_PULL_CONFIG_PATH, discoverOntologyPullConfigPath, loadOntologyPullConfig, writePulledOntology };
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","names":[],"sources":["../../src/cli/pull.ts"],"sourcesContent":["import { existsSync, mkdirSync, writeFileSync } from \"node:fs\";\nimport { dirname, resolve } from \"node:path\";\nimport nextEnv from \"@next/env\";\nimport { createJiti } from \"jiti\";\nimport { generateOntology } from \"../generate/ontology.js\";\nimport { pull } from \"../meta/pull.js\";\nimport { formatGeneratedFile } from \"./format.js\";\nimport type { OntologyPullContext, OntologyPullSource, OntologyPullConfig } from \"../OntologyPullConfig.js\";\n\nconst { loadEnvConfig } = nextEnv;\n\nexport const ONTOLOGY_PULL_CONFIG_PATH = \"src/ontology/config.ts\";\nexport const ONTOLOGY_IR_PATH = \"src/ontology/ontology.ts\";\n\ntype ConfigModule = Record<string, unknown> & { default?: unknown };\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null;\n}\n\nfunction isOntologyPullSource(value: unknown): value is OntologyPullSource {\n return (\n isRecord(value) &&\n typeof value.ontologyId === \"string\" &&\n typeof value.createInstallation === \"function\" &&\n typeof value.resolveConnection === \"function\"\n );\n}\n\nfunction isOntologyPullConfig(value: unknown): value is OntologyPullConfig {\n return (\n isRecord(value) &&\n isOntologyPullSource(value.source) &&\n Array.isArray(value.objectTypeNames) &&\n value.objectTypeNames.every((entry) => typeof entry === \"string\") &&\n Array.isArray(value.actionTypeNames) &&\n value.actionTypeNames.every((entry) => typeof entry === \"string\") &&\n (value.queryFunctionTypeNames === undefined ||\n (Array.isArray(value.queryFunctionTypeNames) &&\n value.queryFunctionTypeNames.every((entry) => typeof entry === \"string\")))\n );\n}\n\nexport function discoverOntologyPullConfigPath(cwd: string): string | null {\n const configPath = resolve(cwd, ONTOLOGY_PULL_CONFIG_PATH);\n return existsSync(configPath) ? configPath : null;\n}\n\nexport async function loadOntologyPullConfig(configPath: string): Promise<OntologyPullConfig> {\n loadEnvConfig(resolve(dirname(configPath), \"../..\"));\n\n const jiti = createJiti(import.meta.url);\n const configModule: ConfigModule = await jiti.import(configPath);\n const config = configModule.default;\n\n if (!isOntologyPullConfig(config)) {\n throw new Error(`Config file \"${configPath}\" must default export an OntologyPullConfig value.`);\n }\n\n return config;\n}\n\nexport async function writePulledOntology(\n config: OntologyPullConfig,\n outPath: string,\n context: OntologyPullContext,\n ontologyImportPath = \"@party-stack/ontology\"\n): Promise<void> {\n const installation = await config.source.createInstallation(context);\n\n try {\n const connection = await config.source.resolveConnection(installation);\n const liveOntology = await installation.openMetaOntology({\n userId: connection.userId,\n ontologyId: config.source.ontologyId,\n });\n const pulledOntology = await pull(liveOntology, {\n objectTypeNames: config.objectTypeNames,\n actionTypeNames: config.actionTypeNames,\n queryFunctionTypeNames: config.queryFunctionTypeNames ?? [],\n });\n const ontology = config.source.transformPulledOntology\n ? await config.source.transformPulledOntology(pulledOntology)\n : pulledOntology;\n const output = generateOntology(ontology, { ontologyImportPath });\n\n mkdirSync(dirname(outPath), { recursive: true });\n\n const formatted = await formatGeneratedFile(outPath, output);\n\n writeFileSync(outPath, formatted, \"utf-8\");\n } finally {\n await installation.cleanup();\n }\n}\n"],"mappings":";;;;;;;;AASA,MAAM,EAAE,kBAAkB;AAE1B,MAAa,4BAA4B;AACzC,MAAa,mBAAmB;AAIhC,SAAS,SAAS,OAAkD;CAChE,OAAO,OAAO,UAAU,YAAY,UAAU;AAClD;AAEA,SAAS,qBAAqB,OAA6C;CACvE,OACI,SAAS,KAAK,KACd,OAAO,MAAM,eAAe,YAC5B,OAAO,MAAM,uBAAuB,cACpC,OAAO,MAAM,sBAAsB;AAE3C;AAEA,SAAS,qBAAqB,OAA6C;CACvE,OACI,SAAS,KAAK,KACd,qBAAqB,MAAM,MAAM,KACjC,MAAM,QAAQ,MAAM,eAAe,KACnC,MAAM,gBAAgB,OAAO,UAAU,OAAO,UAAU,QAAQ,KAChE,MAAM,QAAQ,MAAM,eAAe,KACnC,MAAM,gBAAgB,OAAO,UAAU,OAAO,UAAU,QAAQ,MAC/D,MAAM,2BAA2B,KAAA,KAC7B,MAAM,QAAQ,MAAM,sBAAsB,KACvC,MAAM,uBAAuB,OAAO,UAAU,OAAO,UAAU,QAAQ;AAEvF;AAEA,SAAgB,+BAA+B,KAA4B;CACvE,MAAM,aAAa,QAAQ,KAAK,yBAAyB;CACzD,OAAO,WAAW,UAAU,IAAI,aAAa;AACjD;AAEA,eAAsB,uBAAuB,YAAiD;CAC1F,cAAc,QAAQ,QAAQ,UAAU,GAAG,OAAO,CAAC;CAInD,MAAM,UAAS,MAFF,WAAW,YAAY,GACQ,CAAC,CAAC,OAAO,UAAU,EAAA,CACnC;CAE5B,IAAI,CAAC,qBAAqB,MAAM,GAC5B,MAAM,IAAI,MAAM,gBAAgB,WAAW,mDAAmD;CAGlG,OAAO;AACX;AAEA,eAAsB,oBAClB,QACA,SACA,SACA,qBAAqB,yBACR;CACb,MAAM,eAAe,MAAM,OAAO,OAAO,mBAAmB,OAAO;CAEnE,IAAI;EACA,MAAM,aAAa,MAAM,OAAO,OAAO,kBAAkB,YAAY;EACrE,MAAM,eAAe,MAAM,aAAa,iBAAiB;GACrD,QAAQ,WAAW;GACnB,YAAY,OAAO,OAAO;EAC9B,CAAC;EACD,MAAM,iBAAiB,MAAM,KAAK,cAAc;GAC5C,iBAAiB,OAAO;GACxB,iBAAiB,OAAO;GACxB,wBAAwB,OAAO,0BAA0B,CAAC;EAC9D,CAAC;EACD,MAAM,WAAW,OAAO,OAAO,0BACzB,MAAM,OAAO,OAAO,wBAAwB,cAAc,IAC1D;EACN,MAAM,SAAS,iBAAiB,UAAU,EAAE,mBAAmB,CAAC;EAEhE,UAAU,QAAQ,OAAO,GAAG,EAAE,WAAW,KAAK,CAAC;EAE/C,MAAM,YAAY,MAAM,oBAAoB,SAAS,MAAM;EAE3D,cAAc,SAAS,WAAW,OAAO;CAC7C,UAAU;EACN,MAAM,aAAa,QAAQ;CAC/B;AACJ"}
1
+ {"version":3,"file":"pull.js","names":[],"sources":["../../src/cli/pull.ts"],"sourcesContent":["import { existsSync, mkdirSync, writeFileSync } from \"node:fs\";\nimport { dirname, resolve } from \"node:path\";\nimport nextEnv from \"@next/env\";\nimport { pull } from \"@party-stack/ontology-backend/meta\";\nimport { generateOntology } from \"@party-stack/ontology-spec/generate\";\nimport { formatGeneratedFile } from \"@party-stack/ontology-spec/generate\";\nimport { Effect, Predicate } from \"effect\";\nimport { createJiti } from \"jiti\";\nimport type { OntologyPullContext, OntologyPullConfig } from \"../OntologyPullConfig.js\";\n\nconst { loadEnvConfig } = nextEnv;\n\nexport const ONTOLOGY_PULL_CONFIG_PATH = \"src/ontology/config.ts\";\nexport const ONTOLOGY_IR_PATH = \"src/ontology/ontology.ts\";\n\ntype ConfigModule = Record<string, unknown> & { default?: unknown };\n\nfunction isOntologyPullConfig(value: unknown): value is OntologyPullConfig {\n return (\n Predicate.isObject(value) &&\n Effect.isEffect(value.backend) &&\n (value.transformPulledOntology === undefined ||\n typeof value.transformPulledOntology === \"function\") &&\n Array.isArray(value.objectTypeNames) &&\n value.objectTypeNames.every((entry) => typeof entry === \"string\") &&\n Array.isArray(value.actionTypeNames) &&\n value.actionTypeNames.every((entry) => typeof entry === \"string\") &&\n (value.queryFunctionTypeNames === undefined ||\n (Array.isArray(value.queryFunctionTypeNames) &&\n value.queryFunctionTypeNames.every((entry) => typeof entry === \"string\")))\n );\n}\n\nexport function discoverOntologyPullConfigPath(cwd: string): string | null {\n const configPath = resolve(cwd, ONTOLOGY_PULL_CONFIG_PATH);\n return existsSync(configPath) ? configPath : null;\n}\n\nexport async function loadOntologyPullConfig(configPath: string): Promise<OntologyPullConfig> {\n loadEnvConfig(resolve(dirname(configPath), \"../..\"));\n\n const jiti = createJiti(import.meta.url);\n const configModule: ConfigModule = await jiti.import(configPath);\n const config = configModule.default;\n\n if (!isOntologyPullConfig(config)) {\n throw new Error(`Config file \"${configPath}\" must default export an OntologyPullConfig value.`);\n }\n\n return config;\n}\n\nexport async function writePulledOntology(\n config: OntologyPullConfig,\n outPath: string,\n context: OntologyPullContext,\n ontologyImportPath = \"@party-stack/ontology-spec\"\n): Promise<void> {\n const ontology = await Effect.runPromise(\n Effect.scoped(\n Effect.gen(function* () {\n const backend = yield* config.backend;\n return yield* pull(backend, {\n objectTypeNames: config.objectTypeNames,\n actionTypeNames: config.actionTypeNames,\n queryFunctionTypeNames: config.queryFunctionTypeNames ?? [],\n transformPulledOntology: config.transformPulledOntology,\n });\n })\n ).pipe(Effect.provide(context.runtime))\n );\n const output = generateOntology(ontology, { ontologyImportPath });\n\n mkdirSync(dirname(outPath), { recursive: true });\n\n const formatted = await formatGeneratedFile(outPath, output);\n\n writeFileSync(outPath, formatted, \"utf-8\");\n}\n"],"mappings":";;;;;;;;AAUA,MAAM,EAAE,kBAAkB;AAE1B,MAAa,4BAA4B;AACzC,MAAa,mBAAmB;AAIhC,SAAS,qBAAqB,OAA6C;CACvE,OACI,UAAU,SAAS,KAAK,KACxB,OAAO,SAAS,MAAM,OAAO,MAC5B,MAAM,4BAA4B,KAAA,KAC/B,OAAO,MAAM,4BAA4B,eAC7C,MAAM,QAAQ,MAAM,eAAe,KACnC,MAAM,gBAAgB,OAAO,UAAU,OAAO,UAAU,QAAQ,KAChE,MAAM,QAAQ,MAAM,eAAe,KACnC,MAAM,gBAAgB,OAAO,UAAU,OAAO,UAAU,QAAQ,MAC/D,MAAM,2BAA2B,KAAA,KAC7B,MAAM,QAAQ,MAAM,sBAAsB,KACvC,MAAM,uBAAuB,OAAO,UAAU,OAAO,UAAU,QAAQ;AAEvF;AAEA,SAAgB,+BAA+B,KAA4B;CACvE,MAAM,aAAa,QAAQ,KAAK,yBAAyB;CACzD,OAAO,WAAW,UAAU,IAAI,aAAa;AACjD;AAEA,eAAsB,uBAAuB,YAAiD;CAC1F,cAAc,QAAQ,QAAQ,UAAU,GAAG,OAAO,CAAC;CAInD,MAAM,UAAS,MAFF,WAAW,YAAY,GACQ,CAAC,CAAC,OAAO,UAAU,EAAA,CACnC;CAE5B,IAAI,CAAC,qBAAqB,MAAM,GAC5B,MAAM,IAAI,MAAM,gBAAgB,WAAW,mDAAmD;CAGlG,OAAO;AACX;AAEA,eAAsB,oBAClB,QACA,SACA,SACA,qBAAqB,8BACR;CACb,MAAM,WAAW,MAAM,OAAO,WAC1B,OAAO,OACH,OAAO,IAAI,aAAa;EACpB,MAAM,UAAU,OAAO,OAAO;EAC9B,OAAO,OAAO,KAAK,SAAS;GACxB,iBAAiB,OAAO;GACxB,iBAAiB,OAAO;GACxB,wBAAwB,OAAO,0BAA0B,CAAC;GAC1D,yBAAyB,OAAO;EACpC,CAAC;CACL,CAAC,CACL,CAAC,CAAC,KAAK,OAAO,QAAQ,QAAQ,OAAO,CAAC,CAC1C;CACA,MAAM,SAAS,iBAAiB,UAAU,EAAE,mBAAmB,CAAC;CAEhE,UAAU,QAAQ,OAAO,GAAG,EAAE,WAAW,KAAK,CAAC;CAE/C,MAAM,YAAY,MAAM,oBAAoB,SAAS,MAAM;CAE3D,cAAc,SAAS,WAAW,OAAO;AAC7C"}
@@ -0,0 +1,11 @@
1
+ import { BackendError } from "@party-stack/ontology-backend";
2
+ import { Effect, Scope } from "effect";
3
+ import { OntologyServerClient } from "@party-stack/ontology-server/rpc";
4
+ //#region src/client.d.ts
5
+ /** Open one shared transport at an application boundary. Selected views borrow it. */
6
+ export declare function createOntologyClient(open: Effect.Effect<OntologyServerClient, BackendError, Scope.Scope>): Promise<{
7
+ ontology: (name?: string, options?: import("@party-stack/ontology-server/rpc").OntologyClientOptions) => Effect.Effect<import("@party-stack/ontology-server/rpc").OntologyClient, BackendError, Scope.Scope>;
8
+ cleanup: () => Promise<void>;
9
+ }>;
10
+ //#endregion
11
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","names":[],"sources":["../src/client.ts"],"mappings":";;;;;wBAKsB,qBAClB,MAAM,OAAO,OAAO,sBAAsB,cAAc,MAAM,SAAM"}
package/lib/client.js ADDED
@@ -0,0 +1,21 @@
1
+ import { Effect, Exit, Scope } from "effect";
2
+ //#region src/client.ts
3
+ /** Open one shared transport at an application boundary. Selected views borrow it. */
4
+ async function createOntologyClient(open) {
5
+ const scope = Effect.runSync(Scope.make());
6
+ try {
7
+ const client = await Effect.runPromise(Scope.provide(open, scope));
8
+ let closing;
9
+ return {
10
+ ...client,
11
+ cleanup: () => closing ??= Effect.runPromise(Scope.close(scope, Exit.void))
12
+ };
13
+ } catch (cause) {
14
+ await Effect.runPromise(Scope.close(scope, Exit.fail(cause)));
15
+ throw cause;
16
+ }
17
+ }
18
+ //#endregion
19
+ export { createOntologyClient };
20
+
21
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","names":[],"sources":["../src/client.ts"],"sourcesContent":["import { Effect, Exit, Scope } from \"effect\";\nimport type { BackendError } from \"@party-stack/ontology-backend\";\nimport type { OntologyServerClient } from \"@party-stack/ontology-server/rpc\";\n\n/** Open one shared transport at an application boundary. Selected views borrow it. */\nexport async function createOntologyClient(\n open: Effect.Effect<OntologyServerClient, BackendError, Scope.Scope>\n) {\n const scope = Effect.runSync(Scope.make());\n try {\n const client = await Effect.runPromise(Scope.provide(open, scope));\n let closing: Promise<void> | undefined;\n return { ...client, cleanup: () => (closing ??= Effect.runPromise(Scope.close(scope, Exit.void))) };\n } catch (cause) {\n await Effect.runPromise(Scope.close(scope, Exit.fail(cause)));\n throw cause;\n }\n}\n"],"mappings":";;;AAKA,eAAsB,qBAClB,MACF;CACE,MAAM,QAAQ,OAAO,QAAQ,MAAM,KAAK,CAAC;CACzC,IAAI;EACA,MAAM,SAAS,MAAM,OAAO,WAAW,MAAM,QAAQ,MAAM,KAAK,CAAC;EACjE,IAAI;EACJ,OAAO;GAAE,GAAG;GAAQ,eAAgB,YAAY,OAAO,WAAW,MAAM,MAAM,OAAO,KAAK,IAAI,CAAC;EAAG;CACtG,SAAS,OAAO;EACZ,MAAM,OAAO,WAAW,MAAM,MAAM,OAAO,KAAK,KAAK,KAAK,CAAC,CAAC;EAC5D,MAAM;CACV;AACJ"}