@cobaltcore-dev/aurora 0.23.1 → 1.0.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 (181) hide show
  1. package/dist/client/App.d.ts +1 -1
  2. package/dist/client/{AuthProvider-CQ6Yppoh.mjs → AuthProvider-5TyZKZkx.mjs} +3 -3
  3. package/dist/client/AuthProvider-5TyZKZkx.mjs.map +1 -0
  4. package/dist/client/{ContentHeader-9KZdhOoA.mjs → ContentHeader-D64NtKvo.mjs} +26 -25
  5. package/dist/client/ContentHeader-D64NtKvo.mjs.map +1 -0
  6. package/dist/client/DeleteFlavorModal-C2K43ABZ.mjs +732 -0
  7. package/dist/client/DeleteFlavorModal-C2K43ABZ.mjs.map +1 -0
  8. package/dist/client/DeletePcaModal-D9v8E0Ki.mjs +92 -0
  9. package/dist/client/DeletePcaModal-D9v8E0Ki.mjs.map +1 -0
  10. package/dist/client/DetailsInfo-h7rPJ4Jf.mjs +61 -0
  11. package/dist/client/DetailsInfo-h7rPJ4Jf.mjs.map +1 -0
  12. package/dist/client/FiltersInput-Bw8TFfwb.mjs +82 -0
  13. package/dist/client/FiltersInput-Bw8TFfwb.mjs.map +1 -0
  14. package/dist/client/{FloatingIpActionModals-BcceUHcg.mjs → FloatingIpActionModals-BfEDfYg9.mjs} +66 -66
  15. package/dist/client/{FloatingIpActionModals-BcceUHcg.mjs.map → FloatingIpActionModals-BfEDfYg9.mjs.map} +1 -1
  16. package/dist/client/ImageToastNotifications-C0Tluzq-.mjs +1125 -0
  17. package/dist/client/ImageToastNotifications-C0Tluzq-.mjs.map +1 -0
  18. package/dist/client/{RouteError-Rm08PcxN.mjs → RouteError-B-NPGIv7.mjs} +2 -2
  19. package/dist/client/{RouteError-Rm08PcxN.mjs.map → RouteError-B-NPGIv7.mjs.map} +1 -1
  20. package/dist/client/Slot-CWb612-_.mjs.map +1 -1
  21. package/dist/client/{SortInput-D_q_jDfe.mjs → SortInput-DysAXpB3.mjs} +6 -6
  22. package/dist/client/{SortInput-D_q_jDfe.mjs.map → SortInput-DysAXpB3.mjs.map} +1 -1
  23. package/dist/client/{StatusError-2ZU1gFpu.mjs → StatusError-DX-GvLjq.mjs} +8 -8
  24. package/dist/client/{StatusError-2ZU1gFpu.mjs.map → StatusError-DX-GvLjq.mjs.map} +1 -1
  25. package/dist/client/TwoColumnDescriptionList-B3xunXmz.mjs +22 -0
  26. package/dist/client/TwoColumnDescriptionList-B3xunXmz.mjs.map +1 -0
  27. package/dist/client/{_auth-D5_QNUos.mjs → _auth-R5H2yKFf.mjs} +2 -2
  28. package/dist/client/_auth-R5H2yKFf.mjs.map +1 -0
  29. package/dist/client/_flavorId-Dit5mM8I.mjs +210 -0
  30. package/dist/client/_flavorId-Dit5mM8I.mjs.map +1 -0
  31. package/dist/client/{_flavorId-CFmkmg2Y.mjs → _flavorId-Zj7LNL-R.mjs} +4 -4
  32. package/dist/client/{_flavorId-CFmkmg2Y.mjs.map → _flavorId-Zj7LNL-R.mjs.map} +1 -1
  33. package/dist/client/_floatingIpId-B0MCoqE3.mjs +215 -0
  34. package/dist/client/_floatingIpId-B0MCoqE3.mjs.map +1 -0
  35. package/dist/client/{_floatingIpId-Dzh6_JCI.mjs → _floatingIpId-DCQQpNO-.mjs} +4 -4
  36. package/dist/client/{_floatingIpId-Dzh6_JCI.mjs.map → _floatingIpId-DCQQpNO-.mjs.map} +1 -1
  37. package/dist/client/_imageId-CZYzBAVx.mjs +558 -0
  38. package/dist/client/_imageId-CZYzBAVx.mjs.map +1 -0
  39. package/dist/client/_pcaId-CHRRsWmO.mjs +605 -0
  40. package/dist/client/_pcaId-CHRRsWmO.mjs.map +1 -0
  41. package/dist/client/{_projectId-DNZsNxJw.mjs → _projectId-B8wWSxPu.mjs} +9 -9
  42. package/dist/client/_projectId-B8wWSxPu.mjs.map +1 -0
  43. package/dist/client/{_projectId-BuBIFdgG.mjs → _projectId-C5DUYIjt.mjs} +117 -117
  44. package/dist/client/{_projectId-BuBIFdgG.mjs.map → _projectId-C5DUYIjt.mjs.map} +1 -1
  45. package/dist/client/{_projectId-CAQkJHZ4.mjs → _projectId-D2pFfYIs.mjs} +3 -3
  46. package/dist/client/{_projectId-CAQkJHZ4.mjs.map → _projectId-D2pFfYIs.mjs.map} +1 -1
  47. package/dist/client/{_projectId-D-b7paXE.mjs → _projectId-DhSWowQo.mjs} +4 -4
  48. package/dist/client/{_projectId-D-b7paXE.mjs.map → _projectId-DhSWowQo.mjs.map} +1 -1
  49. package/dist/client/{_securityGroupId-DFdNKa2l.mjs → _securityGroupId-DZ4D4WwB.mjs} +635 -617
  50. package/dist/client/_securityGroupId-DZ4D4WwB.mjs.map +1 -0
  51. package/dist/client/{_securityGroupId-DRkY3Gt6.mjs → _securityGroupId-Mj8NJT2-.mjs} +4 -4
  52. package/dist/client/{_securityGroupId-DRkY3Gt6.mjs.map → _securityGroupId-Mj8NJT2-.mjs.map} +1 -1
  53. package/dist/client/_storageType-C-9bNkmZ.mjs +2211 -0
  54. package/dist/client/_storageType-C-9bNkmZ.mjs.map +1 -0
  55. package/dist/client/_storageType-zeSZe--V.mjs.map +1 -1
  56. package/dist/client/{about-C8tTrQaW.mjs → about-WLyShNgE.mjs} +8 -8
  57. package/dist/client/about-WLyShNgE.mjs.map +1 -0
  58. package/dist/client/assets/objectDownload.worker-BXFQIIU_.js.map +1 -0
  59. package/dist/client/assets/objectDownload.worker-ECvFtmOF.js.map +1 -0
  60. package/dist/client/{aurora-jyvXcI4T.mjs → aurora-IMO9HhqJ.mjs} +2 -2
  61. package/dist/client/aurora-IMO9HhqJ.mjs.map +1 -0
  62. package/dist/client/{build-CRLQyqu2.mjs → build-DnD-T35u.mjs} +8180 -8212
  63. package/dist/client/build-DnD-T35u.mjs.map +1 -0
  64. package/dist/client/components/Auth/LoginForm.d.ts +1 -1
  65. package/dist/client/components/Auth/SessionExpirationTimer.d.ts +1 -1
  66. package/dist/client/components/ContentHeader/ContentHeader.d.ts +1 -1
  67. package/dist/client/components/Error/RouteError.d.ts +1 -1
  68. package/dist/client/components/Error/StatusError.d.ts +1 -1
  69. package/dist/client/components/JsonEditor.d.ts +1 -1
  70. package/dist/client/components/ListToolbar/FiltersInput.d.ts +3 -1
  71. package/dist/client/components/ListToolbar/SelectedFilters.d.ts +1 -1
  72. package/dist/client/components/ListToolbar/index.d.ts +1 -1
  73. package/dist/client/components/ProjectView/ProjectInfoBox.d.ts +1 -1
  74. package/dist/client/components/Slot.d.ts +1 -1
  75. package/dist/client/components/TwoColumnDescriptionList.d.ts +11 -0
  76. package/dist/client/components/navigation/LanguageSelect.d.ts +1 -1
  77. package/dist/client/components/navigation/MainNavigation.d.ts +1 -1
  78. package/dist/client/components/navigation/UserMenu.d.ts +1 -1
  79. package/dist/client/{flavors-Dy-2mRGv.mjs → flavors-Cp0LEGOH.mjs} +2 -2
  80. package/dist/client/{flavors-Dy-2mRGv.mjs.map → flavors-Cp0LEGOH.mjs.map} +1 -1
  81. package/dist/client/{flavors-BfTXqmoD.mjs → flavors-CwMbDRHm2.mjs} +203 -201
  82. package/dist/client/flavors-CwMbDRHm2.mjs.map +1 -0
  83. package/dist/client/flavors-DWMZ6TuJ.mjs.map +1 -1
  84. package/dist/client/floatingips-ICwo-rV_.mjs +591 -0
  85. package/dist/client/floatingips-ICwo-rV_.mjs.map +1 -0
  86. package/dist/client/formatBytes-CZv_XyCY.mjs.map +1 -1
  87. package/dist/client/helpers-1PpYf-fC.mjs.map +1 -1
  88. package/dist/client/hooks/useAvailableViewportHeight.d.ts +8 -5
  89. package/dist/client/hooks/useVirtualizedTableBody.d.ts +1 -3
  90. package/dist/client/{hooks-Bw3sHHOg.mjs → hooks-CrriowRk.mjs} +2 -2
  91. package/dist/client/{hooks-Bw3sHHOg.mjs.map → hooks-CrriowRk.mjs.map} +1 -1
  92. package/dist/client/images-DOGZmr3D.mjs +1937 -0
  93. package/dist/client/images-DOGZmr3D.mjs.map +1 -0
  94. package/dist/client/{images-DPKUXryV.mjs → images-DWiM_72I.mjs} +2 -2
  95. package/dist/client/{images-DPKUXryV.mjs.map → images-DWiM_72I.mjs.map} +1 -1
  96. package/dist/client/images-NBf2bV43.mjs.map +1 -1
  97. package/dist/client/index.js +601 -445
  98. package/dist/client/index.js.map +1 -1
  99. package/dist/client/{md-CyCflQee.mjs → md-DNzcRhmz.mjs} +6 -60
  100. package/dist/client/{md-CyCflQee.mjs.map → md-DNzcRhmz.mjs.map} +1 -1
  101. package/dist/client/network-DuZm76BZ.mjs.map +1 -1
  102. package/dist/client/objects-D2MKUCxc.mjs +56 -0
  103. package/dist/client/objects-D2MKUCxc.mjs.map +1 -0
  104. package/dist/client/objects-DI1-tnKr.mjs +56 -0
  105. package/dist/client/objects-DI1-tnKr.mjs.map +1 -0
  106. package/dist/client/objects-DeK2WD5K.mjs +10078 -0
  107. package/dist/client/objects-DeK2WD5K.mjs.map +1 -0
  108. package/dist/client/pca-BokFv4Gz.mjs +239 -0
  109. package/dist/client/pca-BokFv4Gz.mjs.map +1 -0
  110. package/dist/client/{pca-D0kKxHp4.mjs → pca-D5jHAl0b.mjs} +4 -3
  111. package/dist/client/{pca-D0kKxHp4.mjs.map → pca-D5jHAl0b.mjs.map} +1 -1
  112. package/dist/client/projects-yiK0HGSA.mjs.map +1 -1
  113. package/dist/client/routeInfo-CdTRlSxv.mjs.map +1 -1
  114. package/dist/client/{routes-CtfnI-aY.mjs → routes-B05u5bk4.mjs} +2 -2
  115. package/dist/client/{routes-CtfnI-aY.mjs.map → routes-B05u5bk4.mjs.map} +1 -1
  116. package/dist/client/{routes-BOf-GDMM.mjs → routes-DOJr5onJ.mjs} +31 -28
  117. package/dist/client/routes-DOJr5onJ.mjs.map +1 -0
  118. package/dist/client/{securitygroups-DRhFle2O.mjs → securitygroups-Be2Qgmew.mjs} +201 -195
  119. package/dist/client/securitygroups-Be2Qgmew.mjs.map +1 -0
  120. package/dist/client/{securitygroups-B8aLyFK7.mjs → securitygroups-_7SYN2jN.mjs} +2 -2
  121. package/dist/client/{securitygroups-B8aLyFK7.mjs.map → securitygroups-_7SYN2jN.mjs.map} +1 -1
  122. package/dist/client/store/AuthProvider.d.ts +1 -1
  123. package/dist/client/{trpcClient-Di56hpVv.mjs → trpcClient-D7gpR7YG.mjs} +2 -2
  124. package/dist/client/{trpcClient-Di56hpVv.mjs.map → trpcClient-D7gpR7YG.mjs.map} +1 -1
  125. package/dist/client/trpcClient.d.ts +125 -11
  126. package/dist/client/useModal-DCs1OJh7.mjs.map +1 -1
  127. package/dist/client/{useSecurityGroupPermissions-BPS1ibWq.mjs → useSecurityGroupPermissions-qPwm4mFt.mjs} +15 -15
  128. package/dist/client/{useSecurityGroupPermissions-BPS1ibWq.mjs.map → useSecurityGroupPermissions-qPwm4mFt.mjs.map} +1 -1
  129. package/dist/server/index.d.ts +125 -11
  130. package/dist/server/index.js +4142 -2845
  131. package/package.json +7 -7
  132. package/dist/client/AuthProvider-CQ6Yppoh.mjs.map +0 -1
  133. package/dist/client/BucketToastNotifications-Dq4dudkM.mjs +0 -665
  134. package/dist/client/BucketToastNotifications-Dq4dudkM.mjs.map +0 -1
  135. package/dist/client/ContentHeader-9KZdhOoA.mjs.map +0 -1
  136. package/dist/client/DeleteFlavorModal-Be2qZo4w.mjs +0 -713
  137. package/dist/client/DeleteFlavorModal-Be2qZo4w.mjs.map +0 -1
  138. package/dist/client/DeletePcaModal-CIFsGWyj.mjs +0 -80
  139. package/dist/client/DeletePcaModal-CIFsGWyj.mjs.map +0 -1
  140. package/dist/client/DetailsInfo-CHVD7d-W.mjs +0 -52
  141. package/dist/client/DetailsInfo-CHVD7d-W.mjs.map +0 -1
  142. package/dist/client/FiltersInput-DqT08Ib-.mjs +0 -81
  143. package/dist/client/FiltersInput-DqT08Ib-.mjs.map +0 -1
  144. package/dist/client/ImageToastNotifications-BGyX2J6j.mjs +0 -1219
  145. package/dist/client/ImageToastNotifications-BGyX2J6j.mjs.map +0 -1
  146. package/dist/client/_auth-D5_QNUos.mjs.map +0 -1
  147. package/dist/client/_flavorId-BsmqS9hP.mjs +0 -194
  148. package/dist/client/_flavorId-BsmqS9hP.mjs.map +0 -1
  149. package/dist/client/_floatingIpId-Bb9ZEJ6b.mjs +0 -228
  150. package/dist/client/_floatingIpId-Bb9ZEJ6b.mjs.map +0 -1
  151. package/dist/client/_imageId-C3As7sHE.mjs +0 -534
  152. package/dist/client/_imageId-C3As7sHE.mjs.map +0 -1
  153. package/dist/client/_pcaId-n0q0aDb6.mjs +0 -545
  154. package/dist/client/_pcaId-n0q0aDb6.mjs.map +0 -1
  155. package/dist/client/_projectId-DNZsNxJw.mjs.map +0 -1
  156. package/dist/client/_securityGroupId-DFdNKa2l.mjs.map +0 -1
  157. package/dist/client/_storageType-Cn7TSOki.mjs +0 -81
  158. package/dist/client/_storageType-Cn7TSOki.mjs.map +0 -1
  159. package/dist/client/_storageType-_8Ambhxc.mjs +0 -2859
  160. package/dist/client/_storageType-_8Ambhxc.mjs.map +0 -1
  161. package/dist/client/about-C8tTrQaW.mjs.map +0 -1
  162. package/dist/client/assets/objectDownload.worker-BAc5Au4B.js.map +0 -1
  163. package/dist/client/aurora-jyvXcI4T.mjs.map +0 -1
  164. package/dist/client/build-CRLQyqu2.mjs.map +0 -1
  165. package/dist/client/flavors-BfTXqmoD.mjs.map +0 -1
  166. package/dist/client/floatingips-zhNK6Xxn.mjs +0 -562
  167. package/dist/client/floatingips-zhNK6Xxn.mjs.map +0 -1
  168. package/dist/client/images-DhZnqUG_.mjs +0 -1890
  169. package/dist/client/images-DhZnqUG_.mjs.map +0 -1
  170. package/dist/client/objects-B3mbk6V0.mjs +0 -6636
  171. package/dist/client/objects-B3mbk6V0.mjs.map +0 -1
  172. package/dist/client/objects-BQ8xvSW8.mjs +0 -103
  173. package/dist/client/objects-BQ8xvSW8.mjs.map +0 -1
  174. package/dist/client/objects-o2Cj_ndZ.mjs +0 -8
  175. package/dist/client/objects-o2Cj_ndZ.mjs.map +0 -1
  176. package/dist/client/pca-B60iWWfG.mjs +0 -251
  177. package/dist/client/pca-B60iWWfG.mjs.map +0 -1
  178. package/dist/client/routes-BOf-GDMM.mjs.map +0 -1
  179. package/dist/client/securitygroups-DRhFle2O.mjs.map +0 -1
  180. package/dist/client/useListWithFiltering-aPTUNRaW.mjs +0 -32
  181. package/dist/client/useListWithFiltering-aPTUNRaW.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objectDownload.worker-ECvFtmOF.js","names":["#setup","#cleanup","#focused","#provider","noop","#setup","#cleanup","#online","#client","#selectError","#currentThenable","#currentQuery","#executeFetch","#updateTimers","#clearStaleTimeout","#clearRefetchInterval","#updateQuery","#updateStaleTimeout","#computeRefetchInterval","#currentRefetchInterval","#updateRefetchInterval","#currentResult","#currentResultOptions","#currentResultState","#trackedProps","noop","#staleTimeoutId","#refetchIntervalId","#currentQueryInitialState","#lastQueryWithDefinedData","#selectFn","#selectResult","#notify","#client","#updateResult","#currentMutation","#notify","#currentResult","#mutateOptions","#client","#options","#queries","#observers","#result","#onUpdate","#findMatchingObservers","#observerMatches","#notify","#combineResult","#trackResult","#lastQueryHashes","#combinedResult","#lastResult","#lastCombine","noop","noop","noop","__create","__defProp","__getOwnPropDesc","__getOwnPropNames","__getProtoOf","__hasOwnProp","__commonJS","__copyProps","__toESM","require_typeof","require_toPrimitive","require_toPropertyKey","require_defineProperty","require_objectSpread2","import_objectSpread2","import_defineProperty","__toESM","require_defineProperty","import_objectSpread2$1","require_objectSpread2","import_objectSpread2","import_objectSpread2$1","__toESM","require_objectSpread2","import_defineProperty","require_defineProperty","withResolvers","require_usingCtx","__commonJS","require_OverloadYield","require_awaitAsyncGenerator","require_wrapAsyncGenerator","require_asyncIterator","import_asyncIterator$1","import_asyncIterator","import_awaitAsyncGenerator","import_usingCtx","msg","import_wrapAsyncGenerator","import_objectSpread2","__create","__defProp","__getOwnPropDesc","__getOwnPropNames","__getProtoOf","__hasOwnProp","__commonJS","__copyProps","__toESM","require_typeof","require_toPrimitive","require_toPropertyKey","require_defineProperty","require_objectSpread2","import_objectSpread2","import_defineProperty","import_objectSpread2","import_objectSpread2","import_objectSpread2","import_objectSpread2","import_objectSpread2","import_defineProperty","import_objectSpread2","import_objectSpread2$3","import_objectSpread2$2","require_asyncIterator","import_asyncIterator","import_objectSpread2$1","import_objectSpread2","React$2","__toESM","require_objectSpread2","__commonJS"],"sources":["../../../../node_modules/.pnpm/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/subscribable.js","../../../../node_modules/.pnpm/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/focusManager.js","../../../../node_modules/.pnpm/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/timeoutManager.js","../../../../node_modules/.pnpm/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/utils.js","../../../../node_modules/.pnpm/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/environmentManager.js","../../../../node_modules/.pnpm/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/thenable.js","../../../../node_modules/.pnpm/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/notifyManager.js","../../../../node_modules/.pnpm/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/onlineManager.js","../../../../node_modules/.pnpm/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/retryer.js","../../../../node_modules/.pnpm/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/query.js","../../../../node_modules/.pnpm/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/queryObserver.js","../../../../node_modules/.pnpm/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js","../../../../node_modules/.pnpm/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.js","../../../../node_modules/.pnpm/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/mutation.js","../../../../node_modules/.pnpm/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/mutationObserver.js","../../../../node_modules/.pnpm/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/queriesObserver.js","../../../../node_modules/.pnpm/react@19.2.8/node_modules/react/cjs/react.production.js","../../../../node_modules/.pnpm/react@19.2.8/node_modules/react/index.js","../../../../node_modules/.pnpm/react@19.2.8/node_modules/react/cjs/react-jsx-runtime.production.js","../../../../node_modules/.pnpm/react@19.2.8/node_modules/react/jsx-runtime.js","../../../../node_modules/.pnpm/@tanstack+react-query@5.99.0_react@19.2.8/node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js","../../../../node_modules/.pnpm/@tanstack+react-query@5.99.0_react@19.2.8/node_modules/@tanstack/react-query/build/modern/IsRestoringProvider.js","../../../../node_modules/.pnpm/@tanstack+react-query@5.99.0_react@19.2.8/node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js","../../../../node_modules/.pnpm/@tanstack+react-query@5.99.0_react@19.2.8/node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js","../../../../node_modules/.pnpm/@tanstack+react-query@5.99.0_react@19.2.8/node_modules/@tanstack/react-query/build/modern/suspense.js","../../../../node_modules/.pnpm/@tanstack+react-query@5.99.0_react@19.2.8/node_modules/@tanstack/react-query/build/modern/useQueries.js","../../../../node_modules/.pnpm/@tanstack+react-query@5.99.0_react@19.2.8/node_modules/@tanstack/react-query/build/modern/useBaseQuery.js","../../../../node_modules/.pnpm/@tanstack+react-query@5.99.0_react@19.2.8/node_modules/@tanstack/react-query/build/modern/useQuery.js","../../../../node_modules/.pnpm/@tanstack+react-query@5.99.0_react@19.2.8/node_modules/@tanstack/react-query/build/modern/useSuspenseQuery.js","../../../../node_modules/.pnpm/@tanstack+react-query@5.99.0_react@19.2.8/node_modules/@tanstack/react-query/build/modern/useSuspenseInfiniteQuery.js","../../../../node_modules/.pnpm/@tanstack+react-query@5.99.0_react@19.2.8/node_modules/@tanstack/react-query/build/modern/useSuspenseQueries.js","../../../../node_modules/.pnpm/@tanstack+react-query@5.99.0_react@19.2.8/node_modules/@tanstack/react-query/build/modern/usePrefetchQuery.js","../../../../node_modules/.pnpm/@tanstack+react-query@5.99.0_react@19.2.8/node_modules/@tanstack/react-query/build/modern/usePrefetchInfiniteQuery.js","../../../../node_modules/.pnpm/@tanstack+react-query@5.99.0_react@19.2.8/node_modules/@tanstack/react-query/build/modern/queryOptions.js","../../../../node_modules/.pnpm/@tanstack+react-query@5.99.0_react@19.2.8/node_modules/@tanstack/react-query/build/modern/infiniteQueryOptions.js","../../../../node_modules/.pnpm/@tanstack+react-query@5.99.0_react@19.2.8/node_modules/@tanstack/react-query/build/modern/useMutation.js","../../../../node_modules/.pnpm/@tanstack+react-query@5.99.0_react@19.2.8/node_modules/@tanstack/react-query/build/modern/useInfiniteQuery.js","../../../../node_modules/.pnpm/@trpc+server@11.16.0_typescript@6.0.3/node_modules/@trpc/server/dist/codes-DagpWZLc.mjs","../../../../node_modules/.pnpm/@trpc+server@11.16.0_typescript@6.0.3/node_modules/@trpc/server/dist/getErrorShape-vC8mUXJD.mjs","../../../../node_modules/.pnpm/@trpc+server@11.16.0_typescript@6.0.3/node_modules/@trpc/server/dist/tracked-DiE3uR1B.mjs","../../../../node_modules/.pnpm/@trpc+server@11.16.0_typescript@6.0.3/node_modules/@trpc/server/dist/observable-UMO3vUa_.mjs","../../../../node_modules/.pnpm/@trpc+server@11.16.0_typescript@6.0.3/node_modules/@trpc/server/dist/resolveResponse-C5I6V_wc.mjs","../../../../node_modules/.pnpm/@trpc+react-query@11.16.0_@tanstack+react-query@5.99.0_react@19.2.8__@trpc+client@11.16_16e952fefd3eece964351ded9940d892/node_modules/@trpc/react-query/dist/getQueryKey-BY58RNzP.mjs","../../../../node_modules/.pnpm/@trpc+client@11.16.0_@trpc+server@11.16.0_typescript@6.0.3__typescript@6.0.3/node_modules/@trpc/client/dist/objectSpread2-BvkFp-_Y.mjs","../../../../node_modules/.pnpm/@trpc+server@11.16.0_typescript@6.0.3/node_modules/@trpc/server/dist/observable-CUiPknO-.mjs","../../../../node_modules/.pnpm/@trpc+client@11.16.0_@trpc+server@11.16.0_typescript@6.0.3__typescript@6.0.3/node_modules/@trpc/client/dist/splitLink-B7Cuf2c_.mjs","../../../../node_modules/.pnpm/@trpc+client@11.16.0_@trpc+server@11.16.0_typescript@6.0.3__typescript@6.0.3/node_modules/@trpc/client/dist/TRPCClientError-apv8gw59.mjs","../../../../node_modules/.pnpm/@trpc+client@11.16.0_@trpc+server@11.16.0_typescript@6.0.3__typescript@6.0.3/node_modules/@trpc/client/dist/unstable-internals-Bg7n9BBj.mjs","../../../../node_modules/.pnpm/@trpc+client@11.16.0_@trpc+server@11.16.0_typescript@6.0.3__typescript@6.0.3/node_modules/@trpc/client/dist/httpUtils-BNq9QC3d.mjs","../../../../node_modules/.pnpm/@trpc+client@11.16.0_@trpc+server@11.16.0_typescript@6.0.3__typescript@6.0.3/node_modules/@trpc/client/dist/httpLink-oiU8eqFi.mjs","../../../../node_modules/.pnpm/@trpc+client@11.16.0_@trpc+server@11.16.0_typescript@6.0.3__typescript@6.0.3/node_modules/@trpc/client/dist/httpBatchLink-CaWjh1oW.mjs","../../../../node_modules/.pnpm/@trpc+client@11.16.0_@trpc+server@11.16.0_typescript@6.0.3__typescript@6.0.3/node_modules/@trpc/client/dist/loggerLink-ineCN1PO.mjs","../../../../node_modules/.pnpm/@trpc+client@11.16.0_@trpc+server@11.16.0_typescript@6.0.3__typescript@6.0.3/node_modules/@trpc/client/dist/wsLink-DSf4KOdW.mjs","../../../../node_modules/.pnpm/@trpc+client@11.16.0_@trpc+server@11.16.0_typescript@6.0.3__typescript@6.0.3/node_modules/@trpc/client/dist/index.mjs","../../../../node_modules/.pnpm/@trpc+react-query@11.16.0_@tanstack+react-query@5.99.0_react@19.2.8__@trpc+client@11.16_16e952fefd3eece964351ded9940d892/node_modules/@trpc/react-query/dist/shared-JtnEvJvB.mjs","../../../../node_modules/.pnpm/@trpc+react-query@11.16.0_@tanstack+react-query@5.99.0_react@19.2.8__@trpc+client@11.16_16e952fefd3eece964351ded9940d892/node_modules/@trpc/react-query/dist/index.mjs","../../src/client/trpcClient.ts","../../src/client/routes/_auth/projects/$projectId/storage/-components/Ceph/Objects/workers/objectDownload.worker.ts"],"sourcesContent":["// src/subscribable.ts\nvar Subscribable = class {\n constructor() {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = this.subscribe.bind(this);\n }\n subscribe(listener) {\n this.listeners.add(listener);\n this.onSubscribe();\n return () => {\n this.listeners.delete(listener);\n this.onUnsubscribe();\n };\n }\n hasListeners() {\n return this.listeners.size > 0;\n }\n onSubscribe() {\n }\n onUnsubscribe() {\n }\n};\nexport {\n Subscribable\n};\n//# sourceMappingURL=subscribable.js.map","// src/focusManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nvar FocusManager = class extends Subscribable {\n #focused;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onFocus) => {\n if (typeof window !== \"undefined\" && window.addEventListener) {\n const listener = () => onFocus();\n window.addEventListener(\"visibilitychange\", listener, false);\n return () => {\n window.removeEventListener(\"visibilitychange\", listener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup((focused) => {\n if (typeof focused === \"boolean\") {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n setFocused(focused) {\n const changed = this.#focused !== focused;\n if (changed) {\n this.#focused = focused;\n this.onFocus();\n }\n }\n onFocus() {\n const isFocused = this.isFocused();\n this.listeners.forEach((listener) => {\n listener(isFocused);\n });\n }\n isFocused() {\n if (typeof this.#focused === \"boolean\") {\n return this.#focused;\n }\n return globalThis.document?.visibilityState !== \"hidden\";\n }\n};\nvar focusManager = new FocusManager();\nexport {\n FocusManager,\n focusManager\n};\n//# sourceMappingURL=focusManager.js.map","// src/timeoutManager.ts\nvar defaultTimeoutProvider = {\n // We need the wrapper function syntax below instead of direct references to\n // global setTimeout etc.\n //\n // BAD: `setTimeout: setTimeout`\n // GOOD: `setTimeout: (cb, delay) => setTimeout(cb, delay)`\n //\n // If we use direct references here, then anything that wants to spy on or\n // replace the global setTimeout (like tests) won't work since we'll already\n // have a hard reference to the original implementation at the time when this\n // file was imported.\n setTimeout: (callback, delay) => setTimeout(callback, delay),\n clearTimeout: (timeoutId) => clearTimeout(timeoutId),\n setInterval: (callback, delay) => setInterval(callback, delay),\n clearInterval: (intervalId) => clearInterval(intervalId)\n};\nvar TimeoutManager = class {\n // We cannot have TimeoutManager<T> as we must instantiate it with a concrete\n // type at app boot; and if we leave that type, then any new timer provider\n // would need to support the default provider's concrete timer ID, which is\n // infeasible across environments.\n //\n // We settle for type safety for the TimeoutProvider type, and accept that\n // this class is unsafe internally to allow for extension.\n #provider = defaultTimeoutProvider;\n #providerCalled = false;\n setTimeoutProvider(provider) {\n if (process.env.NODE_ENV !== \"production\") {\n if (this.#providerCalled && provider !== this.#provider) {\n console.error(\n `[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.`,\n { previous: this.#provider, provider }\n );\n }\n }\n this.#provider = provider;\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = false;\n }\n }\n setTimeout(callback, delay) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = true;\n }\n return this.#provider.setTimeout(callback, delay);\n }\n clearTimeout(timeoutId) {\n this.#provider.clearTimeout(timeoutId);\n }\n setInterval(callback, delay) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = true;\n }\n return this.#provider.setInterval(callback, delay);\n }\n clearInterval(intervalId) {\n this.#provider.clearInterval(intervalId);\n }\n};\nvar timeoutManager = new TimeoutManager();\nfunction systemSetTimeoutZero(callback) {\n setTimeout(callback, 0);\n}\nexport {\n TimeoutManager,\n defaultTimeoutProvider,\n systemSetTimeoutZero,\n timeoutManager\n};\n//# sourceMappingURL=timeoutManager.js.map","// src/utils.ts\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar isServer = typeof window === \"undefined\" || \"Deno\" in globalThis;\nfunction noop() {\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === \"function\" ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === \"number\" && value >= 0 && value !== Infinity;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction resolveStaleTime(staleTime, query) {\n return typeof staleTime === \"function\" ? staleTime(query) : staleTime;\n}\nfunction resolveEnabled(enabled, query) {\n return typeof enabled === \"function\" ? enabled(query) : enabled;\n}\nfunction matchQuery(filters, query) {\n const {\n type = \"all\",\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n if (type !== \"all\") {\n const isActive = query.isActive();\n if (type === \"active\" && !isActive) {\n return false;\n }\n if (type === \"inactive\" && isActive) {\n return false;\n }\n }\n if (typeof stale === \"boolean\" && query.isStale() !== stale) {\n return false;\n }\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n if (predicate && !predicate(query)) {\n return false;\n }\n return true;\n}\nfunction matchMutation(filters, mutation) {\n const { exact, status, predicate, mutationKey } = filters;\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n if (status && mutation.state.status !== status) {\n return false;\n }\n if (predicate && !predicate(mutation)) {\n return false;\n }\n return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = options?.queryKeyHashFn || hashKey;\n return hashFn(queryKey);\n}\nfunction hashKey(queryKey) {\n return JSON.stringify(\n queryKey,\n (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val\n );\n}\nfunction partialMatchKey(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (a && b && typeof a === \"object\" && typeof b === \"object\") {\n return Object.keys(b).every((key) => partialMatchKey(a[key], b[key]));\n }\n return false;\n}\nvar hasOwn = Object.prototype.hasOwnProperty;\nfunction replaceEqualDeep(a, b, depth = 0) {\n if (a === b) {\n return a;\n }\n if (depth > 500) return b;\n const array = isPlainArray(a) && isPlainArray(b);\n if (!array && !(isPlainObject(a) && isPlainObject(b))) return b;\n const aItems = array ? a : Object.keys(a);\n const aSize = aItems.length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? new Array(bSize) : {};\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n const aItem = a[key];\n const bItem = b[key];\n if (aItem === bItem) {\n copy[key] = aItem;\n if (array ? i < aSize : hasOwn.call(a, key)) equalItems++;\n continue;\n }\n if (aItem === null || bItem === null || typeof aItem !== \"object\" || typeof bItem !== \"object\") {\n copy[key] = bItem;\n continue;\n }\n const v = replaceEqualDeep(aItem, bItem, depth + 1);\n copy[key] = v;\n if (v === aItem) equalItems++;\n }\n return aSize === bSize && equalItems === aSize ? a : copy;\n}\nfunction shallowEqualObjects(a, b) {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (ctor === void 0) {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false;\n }\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction sleep(timeout) {\n return new Promise((resolve) => {\n timeoutManager.setTimeout(resolve, timeout);\n });\n}\nfunction replaceData(prevData, data, options) {\n if (typeof options.structuralSharing === \"function\") {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== \"production\") {\n try {\n return replaceEqualDeep(prevData, data);\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`\n );\n throw error;\n }\n }\n return replaceEqualDeep(prevData, data);\n }\n return data;\n}\nfunction keepPreviousData(previousData) {\n return previousData;\n}\nfunction addToEnd(items, item, max = 0) {\n const newItems = [...items, item];\n return max && newItems.length > max ? newItems.slice(1) : newItems;\n}\nfunction addToStart(items, item, max = 0) {\n const newItems = [item, ...items];\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems;\n}\nvar skipToken = /* @__PURE__ */ Symbol();\nfunction ensureQueryFn(options, fetchOptions) {\n if (process.env.NODE_ENV !== \"production\") {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`\n );\n }\n }\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise;\n }\n if (!options.queryFn || options.queryFn === skipToken) {\n return () => Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`));\n }\n return options.queryFn;\n}\nfunction shouldThrowError(throwOnError, params) {\n if (typeof throwOnError === \"function\") {\n return throwOnError(...params);\n }\n return !!throwOnError;\n}\nfunction addConsumeAwareSignal(object, getSignal, onCancelled) {\n let consumed = false;\n let signal;\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n signal ??= getSignal();\n if (consumed) {\n return signal;\n }\n consumed = true;\n if (signal.aborted) {\n onCancelled();\n } else {\n signal.addEventListener(\"abort\", onCancelled, { once: true });\n }\n return signal;\n }\n });\n return object;\n}\nexport {\n addConsumeAwareSignal,\n addToEnd,\n addToStart,\n ensureQueryFn,\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n isPlainArray,\n isPlainObject,\n isServer,\n isValidTimeout,\n keepPreviousData,\n matchMutation,\n matchQuery,\n noop,\n partialMatchKey,\n replaceData,\n replaceEqualDeep,\n resolveEnabled,\n resolveStaleTime,\n shallowEqualObjects,\n shouldThrowError,\n skipToken,\n sleep,\n timeUntilStale\n};\n//# sourceMappingURL=utils.js.map","// src/environmentManager.ts\nimport { isServer } from \"./utils.js\";\nvar environmentManager = /* @__PURE__ */ (() => {\n let isServerFn = () => isServer;\n return {\n /**\n * Returns whether the current runtime should be treated as a server environment.\n */\n isServer() {\n return isServerFn();\n },\n /**\n * Overrides the server check globally.\n */\n setIsServer(isServerValue) {\n isServerFn = isServerValue;\n }\n };\n})();\nexport {\n environmentManager\n};\n//# sourceMappingURL=environmentManager.js.map","// src/thenable.ts\nimport { noop } from \"./utils.js\";\nfunction pendingThenable() {\n let resolve;\n let reject;\n const thenable = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n thenable.status = \"pending\";\n thenable.catch(() => {\n });\n function finalize(data) {\n Object.assign(thenable, data);\n delete thenable.resolve;\n delete thenable.reject;\n }\n thenable.resolve = (value) => {\n finalize({\n status: \"fulfilled\",\n value\n });\n resolve(value);\n };\n thenable.reject = (reason) => {\n finalize({\n status: \"rejected\",\n reason\n });\n reject(reason);\n };\n return thenable;\n}\nfunction tryResolveSync(promise) {\n let data;\n promise.then((result) => {\n data = result;\n return result;\n }, noop)?.catch(noop);\n if (data !== void 0) {\n return { data };\n }\n return void 0;\n}\nexport {\n pendingThenable,\n tryResolveSync\n};\n//# sourceMappingURL=thenable.js.map","// src/notifyManager.ts\nimport { systemSetTimeoutZero } from \"./timeoutManager.js\";\nvar defaultScheduler = systemSetTimeoutZero;\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n let notifyFn = (callback) => {\n callback();\n };\n let batchNotifyFn = (callback) => {\n callback();\n };\n let scheduleFn = defaultScheduler;\n const schedule = (callback) => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleFn(() => {\n notifyFn(callback);\n });\n }\n };\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n return {\n batch: (callback) => {\n let result;\n transactions++;\n try {\n result = callback();\n } finally {\n transactions--;\n if (!transactions) {\n flush();\n }\n }\n return result;\n },\n /**\n * All calls to the wrapped function will be batched.\n */\n batchCalls: (callback) => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n },\n schedule,\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n setNotifyFunction: (fn) => {\n notifyFn = fn;\n },\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n setBatchNotifyFunction: (fn) => {\n batchNotifyFn = fn;\n },\n setScheduler: (fn) => {\n scheduleFn = fn;\n }\n };\n}\nvar notifyManager = createNotifyManager();\nexport {\n createNotifyManager,\n defaultScheduler,\n notifyManager\n};\n//# sourceMappingURL=notifyManager.js.map","// src/onlineManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nvar OnlineManager = class extends Subscribable {\n #online = true;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onOnline) => {\n if (typeof window !== \"undefined\" && window.addEventListener) {\n const onlineListener = () => onOnline(true);\n const offlineListener = () => onOnline(false);\n window.addEventListener(\"online\", onlineListener, false);\n window.addEventListener(\"offline\", offlineListener, false);\n return () => {\n window.removeEventListener(\"online\", onlineListener);\n window.removeEventListener(\"offline\", offlineListener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup(this.setOnline.bind(this));\n }\n setOnline(online) {\n const changed = this.#online !== online;\n if (changed) {\n this.#online = online;\n this.listeners.forEach((listener) => {\n listener(online);\n });\n }\n }\n isOnline() {\n return this.#online;\n }\n};\nvar onlineManager = new OnlineManager();\nexport {\n OnlineManager,\n onlineManager\n};\n//# sourceMappingURL=onlineManager.js.map","// src/retryer.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport { environmentManager } from \"./environmentManager.js\";\nimport { sleep } from \"./utils.js\";\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1e3 * 2 ** failureCount, 3e4);\n}\nfunction canFetch(networkMode) {\n return (networkMode ?? \"online\") === \"online\" ? onlineManager.isOnline() : true;\n}\nvar CancelledError = class extends Error {\n constructor(options) {\n super(\"CancelledError\");\n this.revert = options?.revert;\n this.silent = options?.silent;\n }\n};\nfunction isCancelledError(value) {\n return value instanceof CancelledError;\n}\nfunction createRetryer(config) {\n let isRetryCancelled = false;\n let failureCount = 0;\n let continueFn;\n const thenable = pendingThenable();\n const isResolved = () => thenable.status !== \"pending\";\n const cancel = (cancelOptions) => {\n if (!isResolved()) {\n const error = new CancelledError(cancelOptions);\n reject(error);\n config.onCancel?.(error);\n }\n };\n const cancelRetry = () => {\n isRetryCancelled = true;\n };\n const continueRetry = () => {\n isRetryCancelled = false;\n };\n const canContinue = () => focusManager.isFocused() && (config.networkMode === \"always\" || onlineManager.isOnline()) && config.canRun();\n const canStart = () => canFetch(config.networkMode) && config.canRun();\n const resolve = (value) => {\n if (!isResolved()) {\n continueFn?.();\n thenable.resolve(value);\n }\n };\n const reject = (value) => {\n if (!isResolved()) {\n continueFn?.();\n thenable.reject(value);\n }\n };\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved() || canContinue()) {\n continueResolve(value);\n }\n };\n config.onPause?.();\n }).then(() => {\n continueFn = void 0;\n if (!isResolved()) {\n config.onContinue?.();\n }\n });\n };\n const run = () => {\n if (isResolved()) {\n return;\n }\n let promiseOrValue;\n const initialPromise = failureCount === 0 ? config.initialPromise : void 0;\n try {\n promiseOrValue = initialPromise ?? config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n Promise.resolve(promiseOrValue).then(resolve).catch((error) => {\n if (isResolved()) {\n return;\n }\n const retry = config.retry ?? (environmentManager.isServer() ? 0 : 3);\n const retryDelay = config.retryDelay ?? defaultRetryDelay;\n const delay = typeof retryDelay === \"function\" ? retryDelay(failureCount, error) : retryDelay;\n const shouldRetry = retry === true || typeof retry === \"number\" && failureCount < retry || typeof retry === \"function\" && retry(failureCount, error);\n if (isRetryCancelled || !shouldRetry) {\n reject(error);\n return;\n }\n failureCount++;\n config.onFail?.(failureCount, error);\n sleep(delay).then(() => {\n return canContinue() ? void 0 : pause();\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n };\n return {\n promise: thenable,\n status: () => thenable.status,\n cancel,\n continue: () => {\n continueFn?.();\n return thenable;\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n if (canStart()) {\n run();\n } else {\n pause().then(run);\n }\n return thenable;\n }\n };\n}\nexport {\n CancelledError,\n canFetch,\n createRetryer,\n isCancelledError\n};\n//# sourceMappingURL=retryer.js.map","// src/query.ts\nimport {\n ensureQueryFn,\n noop,\n replaceData,\n resolveEnabled,\n resolveStaleTime,\n skipToken,\n timeUntilStale\n} from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { CancelledError, canFetch, createRetryer } from \"./retryer.js\";\nimport { Removable } from \"./removable.js\";\nvar Query = class extends Removable {\n #initialState;\n #revertState;\n #cache;\n #client;\n #retryer;\n #defaultOptions;\n #abortSignalConsumed;\n constructor(config) {\n super();\n this.#abortSignalConsumed = false;\n this.#defaultOptions = config.defaultOptions;\n this.setOptions(config.options);\n this.observers = [];\n this.#client = config.client;\n this.#cache = this.#client.getQueryCache();\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n this.#initialState = getDefaultState(this.options);\n this.state = config.state ?? this.#initialState;\n this.scheduleGc();\n }\n get meta() {\n return this.options.meta;\n }\n get promise() {\n return this.#retryer?.promise;\n }\n setOptions(options) {\n this.options = { ...this.#defaultOptions, ...options };\n this.updateGcTime(this.options.gcTime);\n if (this.state && this.state.data === void 0) {\n const defaultState = getDefaultState(this.options);\n if (defaultState.data !== void 0) {\n this.setState(\n successState(defaultState.data, defaultState.dataUpdatedAt)\n );\n this.#initialState = defaultState;\n }\n }\n }\n optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === \"idle\") {\n this.#cache.remove(this);\n }\n }\n setData(newData, options) {\n const data = replaceData(this.state.data, newData, this.options);\n this.#dispatch({\n data,\n type: \"success\",\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual\n });\n return data;\n }\n setState(state, setStateOptions) {\n this.#dispatch({ type: \"setState\", state, setStateOptions });\n }\n cancel(options) {\n const promise = this.#retryer?.promise;\n this.#retryer?.cancel(options);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n }\n destroy() {\n super.destroy();\n this.cancel({ silent: true });\n }\n get resetState() {\n return this.#initialState;\n }\n reset() {\n this.destroy();\n this.setState(this.resetState);\n }\n isActive() {\n return this.observers.some(\n (observer) => resolveEnabled(observer.options.enabled, this) !== false\n );\n }\n isDisabled() {\n if (this.getObserversCount() > 0) {\n return !this.isActive();\n }\n return this.options.queryFn === skipToken || !this.isFetched();\n }\n isFetched() {\n return this.state.dataUpdateCount + this.state.errorUpdateCount > 0;\n }\n isStatic() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => resolveStaleTime(observer.options.staleTime, this) === \"static\"\n );\n }\n return false;\n }\n isStale() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale\n );\n }\n return this.state.data === void 0 || this.state.isInvalidated;\n }\n isStaleByTime(staleTime = 0) {\n if (this.state.data === void 0) {\n return true;\n }\n if (staleTime === \"static\") {\n return false;\n }\n if (this.state.isInvalidated) {\n return true;\n }\n return !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n }\n onFocus() {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n onOnline() {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n addObserver(observer) {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer);\n this.clearGcTimeout();\n this.#cache.notify({ type: \"observerAdded\", query: this, observer });\n }\n }\n removeObserver(observer) {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x) => x !== observer);\n if (!this.observers.length) {\n if (this.#retryer) {\n if (this.#abortSignalConsumed || this.#isInitialPausedFetch()) {\n this.#retryer.cancel({ revert: true });\n } else {\n this.#retryer.cancelRetry();\n }\n }\n this.scheduleGc();\n }\n this.#cache.notify({ type: \"observerRemoved\", query: this, observer });\n }\n }\n getObserversCount() {\n return this.observers.length;\n }\n #isInitialPausedFetch() {\n return this.state.fetchStatus === \"paused\" && this.state.status === \"pending\";\n }\n invalidate() {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: \"invalidate\" });\n }\n }\n async fetch(options, fetchOptions) {\n if (this.state.fetchStatus !== \"idle\" && // If the promise in the retryer is already rejected, we have to definitely\n // re-start the fetch; there is a chance that the query is still in a\n // pending state when that happens\n this.#retryer?.status() !== \"rejected\") {\n if (this.state.data !== void 0 && fetchOptions?.cancelRefetch) {\n this.cancel({ silent: true });\n } else if (this.#retryer) {\n this.#retryer.continueRetry();\n return this.#retryer.promise;\n }\n }\n if (options) {\n this.setOptions(options);\n }\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn);\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`\n );\n }\n }\n const abortController = new AbortController();\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true;\n return abortController.signal;\n }\n });\n };\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions);\n const createQueryFnContext = () => {\n const queryFnContext2 = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta\n };\n addSignalProperty(queryFnContext2);\n return queryFnContext2;\n };\n const queryFnContext = createQueryFnContext();\n this.#abortSignalConsumed = false;\n if (this.options.persister) {\n return this.options.persister(\n queryFn,\n queryFnContext,\n this\n );\n }\n return queryFn(queryFnContext);\n };\n const createFetchContext = () => {\n const context2 = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: this.#client,\n state: this.state,\n fetchFn\n };\n addSignalProperty(context2);\n return context2;\n };\n const context = createFetchContext();\n this.options.behavior?.onFetch(context, this);\n this.#revertState = this.state;\n if (this.state.fetchStatus === \"idle\" || this.state.fetchMeta !== context.fetchOptions?.meta) {\n this.#dispatch({ type: \"fetch\", meta: context.fetchOptions?.meta });\n }\n this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise,\n fn: context.fetchFn,\n onCancel: (error) => {\n if (error instanceof CancelledError && error.revert) {\n this.setState({\n ...this.#revertState,\n fetchStatus: \"idle\"\n });\n }\n abortController.abort();\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true\n });\n try {\n const data = await this.#retryer.start();\n if (data === void 0) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`\n );\n }\n throw new Error(`${this.queryHash} data is undefined`);\n }\n this.setData(data);\n this.#cache.config.onSuccess?.(data, this);\n this.#cache.config.onSettled?.(\n data,\n this.state.error,\n this\n );\n return data;\n } catch (error) {\n if (error instanceof CancelledError) {\n if (error.silent) {\n return this.#retryer.promise;\n } else if (error.revert) {\n if (this.state.data === void 0) {\n throw error;\n }\n return this.state.data;\n }\n }\n this.#dispatch({\n type: \"error\",\n error\n });\n this.#cache.config.onError?.(\n error,\n this\n );\n this.#cache.config.onSettled?.(\n this.state.data,\n error,\n this\n );\n throw error;\n } finally {\n this.scheduleGc();\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n fetchStatus: \"paused\"\n };\n case \"continue\":\n return {\n ...state,\n fetchStatus: \"fetching\"\n };\n case \"fetch\":\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null\n };\n case \"success\":\n const newState = {\n ...state,\n ...successState(action.data, action.dataUpdatedAt),\n dataUpdateCount: state.dataUpdateCount + 1,\n ...!action.manual && {\n fetchStatus: \"idle\",\n fetchFailureCount: 0,\n fetchFailureReason: null\n }\n };\n this.#revertState = action.manual ? newState : void 0;\n return newState;\n case \"error\":\n const error = action.error;\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: \"idle\",\n status: \"error\",\n // flag existing data as invalidated if we get a background error\n // note that \"no data\" always means stale so we can set unconditionally here\n isInvalidated: true\n };\n case \"invalidate\":\n return {\n ...state,\n isInvalidated: true\n };\n case \"setState\":\n return {\n ...state,\n ...action.state\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate();\n });\n this.#cache.notify({ query: this, type: \"updated\", action });\n });\n }\n};\nfunction fetchState(data, options) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? \"fetching\" : \"paused\",\n ...data === void 0 && {\n error: null,\n status: \"pending\"\n }\n };\n}\nfunction successState(data, dataUpdatedAt) {\n return {\n data,\n dataUpdatedAt: dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: \"success\"\n };\n}\nfunction getDefaultState(options) {\n const data = typeof options.initialData === \"function\" ? options.initialData() : options.initialData;\n const hasData = data !== void 0;\n const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === \"function\" ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? \"success\" : \"pending\",\n fetchStatus: \"idle\"\n };\n}\nexport {\n Query,\n fetchState\n};\n//# sourceMappingURL=query.js.map","// src/queryObserver.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { environmentManager } from \"./environmentManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { fetchState } from \"./query.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport {\n isValidTimeout,\n noop,\n replaceData,\n resolveEnabled,\n resolveStaleTime,\n shallowEqualObjects,\n timeUntilStale\n} from \"./utils.js\";\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar QueryObserver = class extends Subscribable {\n constructor(client, options) {\n super();\n this.options = options;\n this.#client = client;\n this.#selectError = null;\n this.#currentThenable = pendingThenable();\n this.bindMethods();\n this.setOptions(options);\n }\n #client;\n #currentQuery = void 0;\n #currentQueryInitialState = void 0;\n #currentResult = void 0;\n #currentResultState;\n #currentResultOptions;\n #currentThenable;\n #selectError;\n #selectFn;\n #selectResult;\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData;\n #staleTimeoutId;\n #refetchIntervalId;\n #currentRefetchInterval;\n #trackedProps = /* @__PURE__ */ new Set();\n bindMethods() {\n this.refetch = this.refetch.bind(this);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this);\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch();\n } else {\n this.updateResult();\n }\n this.#updateTimers();\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n shouldFetchOnReconnect() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect\n );\n }\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus\n );\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#clearStaleTimeout();\n this.#clearRefetchInterval();\n this.#currentQuery.removeObserver(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n const prevQuery = this.#currentQuery;\n this.options = this.#client.defaultQueryOptions(options);\n if (this.options.enabled !== void 0 && typeof this.options.enabled !== \"boolean\" && typeof this.options.enabled !== \"function\" && typeof resolveEnabled(this.options.enabled, this.#currentQuery) !== \"boolean\") {\n throw new Error(\n \"Expected enabled to be a boolean or a callback that returns a boolean\"\n );\n }\n this.#updateQuery();\n this.#currentQuery.setOptions(this.options);\n if (prevOptions._defaulted && !shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getQueryCache().notify({\n type: \"observerOptionsUpdated\",\n query: this.#currentQuery,\n observer: this\n });\n }\n const mounted = this.hasListeners();\n if (mounted && shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions\n )) {\n this.#executeFetch();\n }\n this.updateResult();\n if (mounted && (this.#currentQuery !== prevQuery || resolveEnabled(this.options.enabled, this.#currentQuery) !== resolveEnabled(prevOptions.enabled, this.#currentQuery) || resolveStaleTime(this.options.staleTime, this.#currentQuery) !== resolveStaleTime(prevOptions.staleTime, this.#currentQuery))) {\n this.#updateStaleTimeout();\n }\n const nextRefetchInterval = this.#computeRefetchInterval();\n if (mounted && (this.#currentQuery !== prevQuery || resolveEnabled(this.options.enabled, this.#currentQuery) !== resolveEnabled(prevOptions.enabled, this.#currentQuery) || nextRefetchInterval !== this.#currentRefetchInterval)) {\n this.#updateRefetchInterval(nextRefetchInterval);\n }\n }\n getOptimisticResult(options) {\n const query = this.#client.getQueryCache().build(this.#client, options);\n const result = this.createResult(query, options);\n if (shouldAssignObserverCurrentProperties(this, result)) {\n this.#currentResult = result;\n this.#currentResultOptions = this.options;\n this.#currentResultState = this.#currentQuery.state;\n }\n return result;\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n trackResult(result, onPropTracked) {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key);\n onPropTracked?.(key);\n if (key === \"promise\") {\n this.trackProp(\"data\");\n if (!this.options.experimental_prefetchInRender && this.#currentThenable.status === \"pending\") {\n this.#currentThenable.reject(\n new Error(\n \"experimental_prefetchInRender feature flag is not enabled\"\n )\n );\n }\n }\n return Reflect.get(target, key);\n }\n });\n }\n trackProp(key) {\n this.#trackedProps.add(key);\n }\n getCurrentQuery() {\n return this.#currentQuery;\n }\n refetch({ ...options } = {}) {\n return this.fetch({\n ...options\n });\n }\n fetchOptimistic(options) {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\n const query = this.#client.getQueryCache().build(this.#client, defaultedOptions);\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n fetch(fetchOptions) {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true\n }).then(() => {\n this.updateResult();\n return this.#currentResult;\n });\n }\n #executeFetch(fetchOptions) {\n this.#updateQuery();\n let promise = this.#currentQuery.fetch(\n this.options,\n fetchOptions\n );\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop);\n }\n return promise;\n }\n #updateStaleTimeout() {\n this.#clearStaleTimeout();\n const staleTime = resolveStaleTime(\n this.options.staleTime,\n this.#currentQuery\n );\n if (environmentManager.isServer() || this.#currentResult.isStale || !isValidTimeout(staleTime)) {\n return;\n }\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime);\n const timeout = time + 1;\n this.#staleTimeoutId = timeoutManager.setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult();\n }\n }, timeout);\n }\n #computeRefetchInterval() {\n return (typeof this.options.refetchInterval === \"function\" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false;\n }\n #updateRefetchInterval(nextInterval) {\n this.#clearRefetchInterval();\n this.#currentRefetchInterval = nextInterval;\n if (environmentManager.isServer() || resolveEnabled(this.options.enabled, this.#currentQuery) === false || !isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {\n return;\n }\n this.#refetchIntervalId = timeoutManager.setInterval(() => {\n if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {\n this.#executeFetch();\n }\n }, this.#currentRefetchInterval);\n }\n #updateTimers() {\n this.#updateStaleTimeout();\n this.#updateRefetchInterval(this.#computeRefetchInterval());\n }\n #clearStaleTimeout() {\n if (this.#staleTimeoutId !== void 0) {\n timeoutManager.clearTimeout(this.#staleTimeoutId);\n this.#staleTimeoutId = void 0;\n }\n }\n #clearRefetchInterval() {\n if (this.#refetchIntervalId !== void 0) {\n timeoutManager.clearInterval(this.#refetchIntervalId);\n this.#refetchIntervalId = void 0;\n }\n }\n createResult(query, options) {\n const prevQuery = this.#currentQuery;\n const prevOptions = this.options;\n const prevResult = this.#currentResult;\n const prevResultState = this.#currentResultState;\n const prevResultOptions = this.#currentResultOptions;\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState;\n const { state } = query;\n let newState = { ...state };\n let isPlaceholderData = false;\n let data;\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options)\n };\n }\n if (options._optimisticResults === \"isRestoring\") {\n newState.fetchStatus = \"idle\";\n }\n }\n let { error, errorUpdatedAt, status } = newState;\n data = newState.data;\n let skipSelect = false;\n if (options.placeholderData !== void 0 && data === void 0 && status === \"pending\") {\n let placeholderData;\n if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n skipSelect = true;\n } else {\n placeholderData = typeof options.placeholderData === \"function\" ? options.placeholderData(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData\n ) : options.placeholderData;\n }\n if (placeholderData !== void 0) {\n status = \"success\";\n data = replaceData(\n prevResult?.data,\n placeholderData,\n options\n );\n isPlaceholderData = true;\n }\n }\n if (options.select && data !== void 0 && !skipSelect) {\n if (prevResult && data === prevResultState?.data && options.select === this.#selectFn) {\n data = this.#selectResult;\n } else {\n try {\n this.#selectFn = options.select;\n data = options.select(data);\n data = replaceData(prevResult?.data, data, options);\n this.#selectResult = data;\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n }\n if (this.#selectError) {\n error = this.#selectError;\n data = this.#selectResult;\n errorUpdatedAt = Date.now();\n status = \"error\";\n }\n const isFetching = newState.fetchStatus === \"fetching\";\n const isPending = status === \"pending\";\n const isError = status === \"error\";\n const isLoading = isPending && isFetching;\n const hasData = data !== void 0;\n const result = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === \"success\",\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: query.isFetched(),\n isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === \"paused\",\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n promise: this.#currentThenable,\n isEnabled: resolveEnabled(options.enabled, query) !== false\n };\n const nextResult = result;\n if (this.options.experimental_prefetchInRender) {\n const hasResultData = nextResult.data !== void 0;\n const isErrorWithoutData = nextResult.status === \"error\" && !hasResultData;\n const finalizeThenableIfPossible = (thenable) => {\n if (isErrorWithoutData) {\n thenable.reject(nextResult.error);\n } else if (hasResultData) {\n thenable.resolve(nextResult.data);\n }\n };\n const recreateThenable = () => {\n const pending = this.#currentThenable = nextResult.promise = pendingThenable();\n finalizeThenableIfPossible(pending);\n };\n const prevThenable = this.#currentThenable;\n switch (prevThenable.status) {\n case \"pending\":\n if (query.queryHash === prevQuery.queryHash) {\n finalizeThenableIfPossible(prevThenable);\n }\n break;\n case \"fulfilled\":\n if (isErrorWithoutData || nextResult.data !== prevThenable.value) {\n recreateThenable();\n }\n break;\n case \"rejected\":\n if (!isErrorWithoutData || nextResult.error !== prevThenable.reason) {\n recreateThenable();\n }\n break;\n }\n }\n return nextResult;\n }\n updateResult() {\n const prevResult = this.#currentResult;\n const nextResult = this.createResult(this.#currentQuery, this.options);\n this.#currentResultState = this.#currentQuery.state;\n this.#currentResultOptions = this.options;\n if (this.#currentResultState.data !== void 0) {\n this.#lastQueryWithDefinedData = this.#currentQuery;\n }\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n this.#currentResult = nextResult;\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n const { notifyOnChangeProps } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === \"function\" ? notifyOnChangeProps() : notifyOnChangeProps;\n if (notifyOnChangePropsValue === \"all\" || !notifyOnChangePropsValue && !this.#trackedProps.size) {\n return true;\n }\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps\n );\n if (this.options.throwOnError) {\n includedProps.add(\"error\");\n }\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key;\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n this.#notify({ listeners: shouldNotifyListeners() });\n }\n #updateQuery() {\n const query = this.#client.getQueryCache().build(this.#client, this.options);\n if (query === this.#currentQuery) {\n return;\n }\n const prevQuery = this.#currentQuery;\n this.#currentQuery = query;\n this.#currentQueryInitialState = query.state;\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this);\n query.addObserver(this);\n }\n }\n onQueryUpdate() {\n this.updateResult();\n if (this.hasListeners()) {\n this.#updateTimers();\n }\n }\n #notify(notifyOptions) {\n notifyManager.batch(() => {\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n }\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: \"observerResultsUpdated\"\n });\n });\n }\n};\nfunction shouldLoadOnMount(query, options) {\n return resolveEnabled(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === \"error\" && options.retryOnMount === false);\n}\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\nfunction shouldFetchOn(query, options, field) {\n if (resolveEnabled(options.enabled, query) !== false && resolveStaleTime(options.staleTime, query) !== \"static\") {\n const value = typeof field === \"function\" ? field(query) : field;\n return value === \"always\" || value !== false && isStale(query, options);\n }\n return false;\n}\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return (query !== prevQuery || resolveEnabled(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== \"error\") && isStale(query, options);\n}\nfunction isStale(query, options) {\n return resolveEnabled(options.enabled, query) !== false && query.isStaleByTime(resolveStaleTime(options.staleTime, query));\n}\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult) {\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true;\n }\n return false;\n}\nexport {\n QueryObserver\n};\n//# sourceMappingURL=queryObserver.js.map","// src/infiniteQueryBehavior.ts\nimport {\n addConsumeAwareSignal,\n addToEnd,\n addToStart,\n ensureQueryFn\n} from \"./utils.js\";\nfunction infiniteQueryBehavior(pages) {\n return {\n onFetch: (context, query) => {\n const options = context.options;\n const direction = context.fetchOptions?.meta?.fetchMore?.direction;\n const oldPages = context.state.data?.pages || [];\n const oldPageParams = context.state.data?.pageParams || [];\n let result = { pages: [], pageParams: [] };\n let currentPage = 0;\n const fetchFn = async () => {\n let cancelled = false;\n const addSignalProperty = (object) => {\n addConsumeAwareSignal(\n object,\n () => context.signal,\n () => cancelled = true\n );\n };\n const queryFn = ensureQueryFn(context.options, context.fetchOptions);\n const fetchPage = async (data, param, previous) => {\n if (cancelled) {\n return Promise.reject();\n }\n if (param == null && data.pages.length) {\n return Promise.resolve(data);\n }\n const createQueryFnContext = () => {\n const queryFnContext2 = {\n client: context.client,\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? \"backward\" : \"forward\",\n meta: context.options.meta\n };\n addSignalProperty(queryFnContext2);\n return queryFnContext2;\n };\n const queryFnContext = createQueryFnContext();\n const page = await queryFn(queryFnContext);\n const { maxPages } = context.options;\n const addTo = previous ? addToStart : addToEnd;\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages)\n };\n };\n if (direction && oldPages.length) {\n const previous = direction === \"backward\";\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams\n };\n const param = pageParamFn(options, oldData);\n result = await fetchPage(oldData, param, previous);\n } else {\n const remainingPages = pages ?? oldPages.length;\n do {\n const param = currentPage === 0 ? oldPageParams[0] ?? options.initialPageParam : getNextPageParam(options, result);\n if (currentPage > 0 && param == null) {\n break;\n }\n result = await fetchPage(result, param);\n currentPage++;\n } while (currentPage < remainingPages);\n }\n return result;\n };\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn,\n {\n client: context.client,\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal\n },\n query\n );\n };\n } else {\n context.fetchFn = fetchFn;\n }\n }\n };\n}\nfunction getNextPageParam(options, { pages, pageParams }) {\n const lastIndex = pages.length - 1;\n return pages.length > 0 ? options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams\n ) : void 0;\n}\nfunction getPreviousPageParam(options, { pages, pageParams }) {\n return pages.length > 0 ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams) : void 0;\n}\nfunction hasNextPage(options, data) {\n if (!data) return false;\n return getNextPageParam(options, data) != null;\n}\nfunction hasPreviousPage(options, data) {\n if (!data || !options.getPreviousPageParam) return false;\n return getPreviousPageParam(options, data) != null;\n}\nexport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior\n};\n//# sourceMappingURL=infiniteQueryBehavior.js.map","// src/infiniteQueryObserver.ts\nimport { QueryObserver } from \"./queryObserver.js\";\nimport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior\n} from \"./infiniteQueryBehavior.js\";\nvar InfiniteQueryObserver = class extends QueryObserver {\n constructor(client, options) {\n super(client, options);\n }\n bindMethods() {\n super.bindMethods();\n this.fetchNextPage = this.fetchNextPage.bind(this);\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this);\n }\n setOptions(options) {\n super.setOptions({\n ...options,\n behavior: infiniteQueryBehavior()\n });\n }\n getOptimisticResult(options) {\n options.behavior = infiniteQueryBehavior();\n return super.getOptimisticResult(options);\n }\n fetchNextPage(options) {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: \"forward\" }\n }\n });\n }\n fetchPreviousPage(options) {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: \"backward\" }\n }\n });\n }\n createResult(query, options) {\n const { state } = query;\n const parentResult = super.createResult(query, options);\n const { isFetching, isRefetching, isError, isRefetchError } = parentResult;\n const fetchDirection = state.fetchMeta?.fetchMore?.direction;\n const isFetchNextPageError = isError && fetchDirection === \"forward\";\n const isFetchingNextPage = isFetching && fetchDirection === \"forward\";\n const isFetchPreviousPageError = isError && fetchDirection === \"backward\";\n const isFetchingPreviousPage = isFetching && fetchDirection === \"backward\";\n const result = {\n ...parentResult,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, state.data),\n hasPreviousPage: hasPreviousPage(options, state.data),\n isFetchNextPageError,\n isFetchingNextPage,\n isFetchPreviousPageError,\n isFetchingPreviousPage,\n isRefetchError: isRefetchError && !isFetchNextPageError && !isFetchPreviousPageError,\n isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage\n };\n return result;\n }\n};\nexport {\n InfiniteQueryObserver\n};\n//# sourceMappingURL=infiniteQueryObserver.js.map","// src/mutation.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Removable } from \"./removable.js\";\nimport { createRetryer } from \"./retryer.js\";\nvar Mutation = class extends Removable {\n #client;\n #observers;\n #mutationCache;\n #retryer;\n constructor(config) {\n super();\n this.#client = config.client;\n this.mutationId = config.mutationId;\n this.#mutationCache = config.mutationCache;\n this.#observers = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n setOptions(options) {\n this.options = options;\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#mutationCache.notify({\n type: \"observerAdded\",\n mutation: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n this.#observers = this.#observers.filter((x) => x !== observer);\n this.scheduleGc();\n this.#mutationCache.notify({\n type: \"observerRemoved\",\n mutation: this,\n observer\n });\n }\n optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === \"pending\") {\n this.scheduleGc();\n } else {\n this.#mutationCache.remove(this);\n }\n }\n }\n continue() {\n return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n const onContinue = () => {\n this.#dispatch({ type: \"continue\" });\n };\n const mutationFnContext = {\n client: this.#client,\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error(\"No mutationFn found\"));\n }\n return this.options.mutationFn(variables, mutationFnContext);\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue,\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => this.#mutationCache.canRun(this)\n });\n const restored = this.state.status === \"pending\";\n const isPaused = !this.#retryer.canStart();\n try {\n if (restored) {\n onContinue();\n } else {\n this.#dispatch({ type: \"pending\", variables, isPaused });\n if (this.#mutationCache.config.onMutate) {\n await this.#mutationCache.config.onMutate(\n variables,\n this,\n mutationFnContext\n );\n }\n const context = await this.options.onMutate?.(\n variables,\n mutationFnContext\n );\n if (context !== this.state.context) {\n this.#dispatch({\n type: \"pending\",\n context,\n variables,\n isPaused\n });\n }\n }\n const data = await this.#retryer.start();\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this,\n mutationFnContext\n );\n await this.options.onSuccess?.(\n data,\n variables,\n this.state.context,\n mutationFnContext\n );\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this,\n mutationFnContext\n );\n await this.options.onSettled?.(\n data,\n null,\n variables,\n this.state.context,\n mutationFnContext\n );\n this.#dispatch({ type: \"success\", data });\n return data;\n } catch (error) {\n try {\n await this.#mutationCache.config.onError?.(\n error,\n variables,\n this.state.context,\n this,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.options.onError?.(\n error,\n variables,\n this.state.context,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.#mutationCache.config.onSettled?.(\n void 0,\n error,\n this.state.variables,\n this.state.context,\n this,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n this.#dispatch({ type: \"error\", error });\n throw error;\n } finally {\n this.#mutationCache.runNext(this);\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state,\n context: action.context,\n data: void 0,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: \"pending\",\n variables: action.variables,\n submittedAt: Date.now()\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: \"success\",\n isPaused: false\n };\n case \"error\":\n return {\n ...state,\n data: void 0,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: \"error\"\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action);\n });\n this.#mutationCache.notify({\n mutation: this,\n type: \"updated\",\n action\n });\n });\n }\n};\nfunction getDefaultState() {\n return {\n context: void 0,\n data: void 0,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: \"idle\",\n variables: void 0,\n submittedAt: 0\n };\n}\nexport {\n Mutation,\n getDefaultState\n};\n//# sourceMappingURL=mutation.js.map","// src/mutationObserver.ts\nimport { getDefaultState } from \"./mutation.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { hashKey, shallowEqualObjects } from \"./utils.js\";\nvar MutationObserver = class extends Subscribable {\n #client;\n #currentResult = void 0;\n #currentMutation;\n #mutateOptions;\n constructor(client, options) {\n super();\n this.#client = client;\n this.setOptions(options);\n this.bindMethods();\n this.#updateResult();\n }\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options);\n if (!shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getMutationCache().notify({\n type: \"observerOptionsUpdated\",\n mutation: this.#currentMutation,\n observer: this\n });\n }\n if (prevOptions?.mutationKey && this.options.mutationKey && hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)) {\n this.reset();\n } else if (this.#currentMutation?.state.status === \"pending\") {\n this.#currentMutation.setOptions(this.options);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this);\n }\n }\n onMutationUpdate(action) {\n this.#updateResult();\n this.#notify(action);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n reset() {\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = void 0;\n this.#updateResult();\n this.#notify();\n }\n mutate(variables, options) {\n this.#mutateOptions = options;\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);\n this.#currentMutation.addObserver(this);\n return this.#currentMutation.execute(variables);\n }\n #updateResult() {\n const state = this.#currentMutation?.state ?? getDefaultState();\n this.#currentResult = {\n ...state,\n isPending: state.status === \"pending\",\n isSuccess: state.status === \"success\",\n isError: state.status === \"error\",\n isIdle: state.status === \"idle\",\n mutate: this.mutate,\n reset: this.reset\n };\n }\n #notify(action) {\n notifyManager.batch(() => {\n if (this.#mutateOptions && this.hasListeners()) {\n const variables = this.#currentResult.variables;\n const onMutateResult = this.#currentResult.context;\n const context = {\n client: this.#client,\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n if (action?.type === \"success\") {\n try {\n this.#mutateOptions.onSuccess?.(\n action.data,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n } else if (action?.type === \"error\") {\n try {\n this.#mutateOptions.onError?.(\n action.error,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n this.#mutateOptions.onSettled?.(\n void 0,\n action.error,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n }\n }\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n });\n }\n};\nexport {\n MutationObserver\n};\n//# sourceMappingURL=mutationObserver.js.map","// src/queriesObserver.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { QueryObserver } from \"./queryObserver.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { replaceEqualDeep, shallowEqualObjects } from \"./utils.js\";\nfunction difference(array1, array2) {\n const excludeSet = new Set(array2);\n return array1.filter((x) => !excludeSet.has(x));\n}\nfunction replaceAt(array, index, value) {\n const copy = array.slice(0);\n copy[index] = value;\n return copy;\n}\nvar QueriesObserver = class extends Subscribable {\n #client;\n #result;\n #queries;\n #options;\n #observers;\n #combinedResult;\n #lastCombine;\n #lastResult;\n #lastQueryHashes;\n #observerMatches = [];\n constructor(client, queries, options) {\n super();\n this.#client = client;\n this.#options = options;\n this.#queries = [];\n this.#observers = [];\n this.#result = [];\n this.setQueries(queries);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#observers.forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result);\n });\n });\n }\n }\n onUnsubscribe() {\n if (!this.listeners.size) {\n this.destroy();\n }\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#observers.forEach((observer) => {\n observer.destroy();\n });\n }\n setQueries(queries, options) {\n this.#queries = queries;\n this.#options = options;\n if (process.env.NODE_ENV !== \"production\") {\n const queryHashes = queries.map(\n (query) => this.#client.defaultQueryOptions(query).queryHash\n );\n if (new Set(queryHashes).size !== queryHashes.length) {\n console.warn(\n \"[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.\"\n );\n }\n }\n notifyManager.batch(() => {\n const prevObservers = this.#observers;\n const newObserverMatches = this.#findMatchingObservers(this.#queries);\n newObserverMatches.forEach(\n (match) => match.observer.setOptions(match.defaultedQueryOptions)\n );\n const newObservers = newObserverMatches.map((match) => match.observer);\n const newResult = newObservers.map(\n (observer) => observer.getCurrentResult()\n );\n const hasLengthChange = prevObservers.length !== newObservers.length;\n const hasIndexChange = newObservers.some(\n (observer, index) => observer !== prevObservers[index]\n );\n const hasStructuralChange = hasLengthChange || hasIndexChange;\n const hasResultChange = hasStructuralChange ? true : newResult.some((result, index) => {\n const prev = this.#result[index];\n return !prev || !shallowEqualObjects(result, prev);\n });\n if (!hasStructuralChange && !hasResultChange) return;\n if (hasStructuralChange) {\n this.#observerMatches = newObserverMatches;\n this.#observers = newObservers;\n }\n this.#result = newResult;\n if (!this.hasListeners()) return;\n if (hasStructuralChange) {\n difference(prevObservers, newObservers).forEach((observer) => {\n observer.destroy();\n });\n difference(newObservers, prevObservers).forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result);\n });\n });\n }\n this.#notify();\n });\n }\n getCurrentResult() {\n return this.#result;\n }\n getQueries() {\n return this.#observers.map((observer) => observer.getCurrentQuery());\n }\n getObservers() {\n return this.#observers;\n }\n getOptimisticResult(queries, combine) {\n const matches = this.#findMatchingObservers(queries);\n const result = matches.map(\n (match) => match.observer.getOptimisticResult(match.defaultedQueryOptions)\n );\n const queryHashes = matches.map(\n (match) => match.defaultedQueryOptions.queryHash\n );\n return [\n result,\n (r) => {\n return this.#combineResult(r ?? result, combine, queryHashes);\n },\n () => {\n return this.#trackResult(result, matches);\n }\n ];\n }\n #trackResult(result, matches) {\n return matches.map((match, index) => {\n const observerResult = result[index];\n return !match.defaultedQueryOptions.notifyOnChangeProps ? match.observer.trackResult(observerResult, (accessedProp) => {\n matches.forEach((m) => {\n m.observer.trackProp(accessedProp);\n });\n }) : observerResult;\n });\n }\n #combineResult(input, combine, queryHashes) {\n if (combine) {\n const lastHashes = this.#lastQueryHashes;\n const queryHashesChanged = queryHashes !== void 0 && lastHashes !== void 0 && (lastHashes.length !== queryHashes.length || queryHashes.some((hash, i) => hash !== lastHashes[i]));\n if (!this.#combinedResult || this.#result !== this.#lastResult || queryHashesChanged || combine !== this.#lastCombine) {\n this.#lastCombine = combine;\n this.#lastResult = this.#result;\n if (queryHashes !== void 0) {\n this.#lastQueryHashes = queryHashes;\n }\n this.#combinedResult = replaceEqualDeep(\n this.#combinedResult,\n combine(input)\n );\n }\n return this.#combinedResult;\n }\n return input;\n }\n #findMatchingObservers(queries) {\n const prevObserversMap = /* @__PURE__ */ new Map();\n this.#observers.forEach((observer) => {\n const key = observer.options.queryHash;\n if (!key) return;\n const previousObservers = prevObserversMap.get(key);\n if (previousObservers) {\n previousObservers.push(observer);\n } else {\n prevObserversMap.set(key, [observer]);\n }\n });\n const observers = [];\n queries.forEach((options) => {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\n const match = prevObserversMap.get(defaultedOptions.queryHash)?.shift();\n const observer = match ?? new QueryObserver(this.#client, defaultedOptions);\n observers.push({\n defaultedQueryOptions: defaultedOptions,\n observer\n });\n });\n return observers;\n }\n #onUpdate(observer, result) {\n const index = this.#observers.indexOf(observer);\n if (index !== -1) {\n this.#result = replaceAt(this.#result, index, result);\n this.#notify();\n }\n }\n #notify() {\n if (this.hasListeners()) {\n const previousResult = this.#combinedResult;\n const newTracked = this.#trackResult(this.#result, this.#observerMatches);\n const newResult = this.#combineResult(newTracked, this.#options?.combine);\n if (previousResult !== newResult) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(this.#result);\n });\n });\n }\n }\n }\n};\nexport {\n QueriesObserver\n};\n//# sourceMappingURL=queriesObserver.js.map","/**\n * @license React\n * react.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function () {},\n enqueueReplaceState: function () {},\n enqueueSetState: function () {}\n },\n assign = Object.assign,\n emptyObject = {};\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nComponent.prototype.isReactComponent = {};\nComponent.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n};\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n};\nfunction ComponentDummy() {}\nComponentDummy.prototype = Component.prototype;\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nvar pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());\npureComponentPrototype.constructor = PureComponent;\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = !0;\nvar isArrayImpl = Array.isArray;\nfunction noop() {}\nvar ReactSharedInternals = { H: null, A: null, T: null, S: null },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction ReactElement(type, key, props) {\n var refProp = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== refProp ? refProp : null,\n props: props\n };\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(oldElement.type, newKey, oldElement.props);\n}\nfunction isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n}\nfunction escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n}\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key\n ? escape(\"\" + element.key)\n : index.toString(36);\n}\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop, noop)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n}\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback)\n return (\n (callback = callback(children)),\n (invokeCallback =\n \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar),\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != invokeCallback &&\n (escapedPrefix =\n invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (children && children.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n invokeCallback\n )),\n array.push(callback)),\n 1\n );\n invokeCallback = 0;\n var nextNamePrefix = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = nextNamePrefix + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n children = i.call(children), i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = nextNamePrefix + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n}\nfunction mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\nfunction lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status && ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status) return payload._result.default;\n throw payload._result;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n };\nexports.Activity = REACT_ACTIVITY_TYPE;\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\nexports.__COMPILER_RUNTIME = {\n __proto__: null,\n c: function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n }\n};\nexports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n};\nexports.cacheSignal = function () {\n return null;\n};\nexports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" + element + \".\"\n );\n var props = assign({}, element.props),\n key = element.key;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n for (var childArray = Array(propName), i = 0; i < propName; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n return ReactElement(element.type, key, props);\n};\nexports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n return defaultValue;\n};\nexports.createElement = function (type, config, children) {\n var propName,\n props = {},\n key = null;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (props[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) props.children = children;\n else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === props[propName] &&\n (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, props);\n};\nexports.createRef = function () {\n return { current: null };\n};\nexports.forwardRef = function (render) {\n return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };\n};\nexports.isValidElement = isValidElement;\nexports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n};\nexports.memo = function (type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n};\nexports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n};\nexports.unstable_useCacheRefresh = function () {\n return ReactSharedInternals.H.useCacheRefresh();\n};\nexports.use = function (usable) {\n return ReactSharedInternals.H.use(usable);\n};\nexports.useActionState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState, permalink);\n};\nexports.useCallback = function (callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n};\nexports.useContext = function (Context) {\n return ReactSharedInternals.H.useContext(Context);\n};\nexports.useDebugValue = function () {};\nexports.useDeferredValue = function (value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n};\nexports.useEffect = function (create, deps) {\n return ReactSharedInternals.H.useEffect(create, deps);\n};\nexports.useEffectEvent = function (callback) {\n return ReactSharedInternals.H.useEffectEvent(callback);\n};\nexports.useId = function () {\n return ReactSharedInternals.H.useId();\n};\nexports.useImperativeHandle = function (ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n};\nexports.useInsertionEffect = function (create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n};\nexports.useLayoutEffect = function (create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n};\nexports.useMemo = function (create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n};\nexports.useOptimistic = function (passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n};\nexports.useReducer = function (reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n};\nexports.useRef = function (initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n};\nexports.useState = function (initialState) {\n return ReactSharedInternals.H.useState(initialState);\n};\nexports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n};\nexports.useTransition = function () {\n return ReactSharedInternals.H.useTransition();\n};\nexports.version = \"19.2.8\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","\"use client\";\n\n// src/QueryClientProvider.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar QueryClientContext = React.createContext(\n void 0\n);\nvar useQueryClient = (queryClient) => {\n const client = React.useContext(QueryClientContext);\n if (queryClient) {\n return queryClient;\n }\n if (!client) {\n throw new Error(\"No QueryClient set, use QueryClientProvider to set one\");\n }\n return client;\n};\nvar QueryClientProvider = ({\n client,\n children\n}) => {\n React.useEffect(() => {\n client.mount();\n return () => {\n client.unmount();\n };\n }, [client]);\n return /* @__PURE__ */ jsx(QueryClientContext.Provider, { value: client, children });\n};\nexport {\n QueryClientContext,\n QueryClientProvider,\n useQueryClient\n};\n//# sourceMappingURL=QueryClientProvider.js.map","\"use client\";\n\n// src/IsRestoringProvider.ts\nimport * as React from \"react\";\nvar IsRestoringContext = React.createContext(false);\nvar useIsRestoring = () => React.useContext(IsRestoringContext);\nvar IsRestoringProvider = IsRestoringContext.Provider;\nexport {\n IsRestoringProvider,\n useIsRestoring\n};\n//# sourceMappingURL=IsRestoringProvider.js.map","\"use client\";\n\n// src/QueryErrorResetBoundary.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createValue() {\n let isReset = false;\n return {\n clearReset: () => {\n isReset = false;\n },\n reset: () => {\n isReset = true;\n },\n isReset: () => {\n return isReset;\n }\n };\n}\nvar QueryErrorResetBoundaryContext = React.createContext(createValue());\nvar useQueryErrorResetBoundary = () => React.useContext(QueryErrorResetBoundaryContext);\nvar QueryErrorResetBoundary = ({\n children\n}) => {\n const [value] = React.useState(() => createValue());\n return /* @__PURE__ */ jsx(QueryErrorResetBoundaryContext.Provider, { value, children: typeof children === \"function\" ? children(value) : children });\n};\nexport {\n QueryErrorResetBoundary,\n useQueryErrorResetBoundary\n};\n//# sourceMappingURL=QueryErrorResetBoundary.js.map","\"use client\";\n\n// src/errorBoundaryUtils.ts\nimport * as React from \"react\";\nimport { shouldThrowError } from \"@tanstack/query-core\";\nvar ensurePreventErrorBoundaryRetry = (options, errorResetBoundary, query) => {\n const throwOnError = query?.state.error && typeof options.throwOnError === \"function\" ? shouldThrowError(options.throwOnError, [query.state.error, query]) : options.throwOnError;\n if (options.suspense || options.experimental_prefetchInRender || throwOnError) {\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false;\n }\n }\n};\nvar useClearResetErrorBoundary = (errorResetBoundary) => {\n React.useEffect(() => {\n errorResetBoundary.clearReset();\n }, [errorResetBoundary]);\n};\nvar getHasError = ({\n result,\n errorResetBoundary,\n throwOnError,\n query,\n suspense\n}) => {\n return result.isError && !errorResetBoundary.isReset() && !result.isFetching && query && (suspense && result.data === void 0 || shouldThrowError(throwOnError, [result.error, query]));\n};\nexport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n};\n//# sourceMappingURL=errorBoundaryUtils.js.map","// src/suspense.ts\nvar defaultThrowOnError = (_error, query) => query.state.data === void 0;\nvar ensureSuspenseTimers = (defaultedOptions) => {\n if (defaultedOptions.suspense) {\n const MIN_SUSPENSE_TIME_MS = 1e3;\n const clamp = (value) => value === \"static\" ? value : Math.max(value ?? MIN_SUSPENSE_TIME_MS, MIN_SUSPENSE_TIME_MS);\n const originalStaleTime = defaultedOptions.staleTime;\n defaultedOptions.staleTime = typeof originalStaleTime === \"function\" ? (...args) => clamp(originalStaleTime(...args)) : clamp(originalStaleTime);\n if (typeof defaultedOptions.gcTime === \"number\") {\n defaultedOptions.gcTime = Math.max(\n defaultedOptions.gcTime,\n MIN_SUSPENSE_TIME_MS\n );\n }\n }\n};\nvar willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;\nvar shouldSuspend = (defaultedOptions, result) => defaultedOptions?.suspense && result.isPending;\nvar fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset();\n});\nexport {\n defaultThrowOnError,\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n};\n//# sourceMappingURL=suspense.js.map","\"use client\";\n\n// src/useQueries.ts\nimport * as React from \"react\";\nimport {\n QueriesObserver,\n QueryObserver,\n noop,\n notifyManager\n} from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useIsRestoring } from \"./IsRestoringProvider.js\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n} from \"./errorBoundaryUtils.js\";\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend\n} from \"./suspense.js\";\nfunction useQueries({\n queries,\n ...options\n}, queryClient) {\n const client = useQueryClient(queryClient);\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const defaultedQueries = React.useMemo(\n () => queries.map((opts) => {\n const defaultedOptions = client.defaultQueryOptions(\n opts\n );\n defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : \"optimistic\";\n return defaultedOptions;\n }),\n [queries, client, isRestoring]\n );\n defaultedQueries.forEach((queryOptions) => {\n ensureSuspenseTimers(queryOptions);\n const query = client.getQueryCache().get(queryOptions.queryHash);\n ensurePreventErrorBoundaryRetry(queryOptions, errorResetBoundary, query);\n });\n useClearResetErrorBoundary(errorResetBoundary);\n const [observer] = React.useState(\n () => new QueriesObserver(\n client,\n defaultedQueries,\n options\n )\n );\n const [optimisticResult, getCombinedResult, trackResult] = observer.getOptimisticResult(\n defaultedQueries,\n options.combine\n );\n const shouldSubscribe = !isRestoring && options.subscribed !== false;\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop,\n [observer, shouldSubscribe]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n React.useEffect(() => {\n observer.setQueries(\n defaultedQueries,\n options\n );\n }, [defaultedQueries, options, observer]);\n const shouldAtLeastOneSuspend = optimisticResult.some(\n (result, index) => shouldSuspend(defaultedQueries[index], result)\n );\n const suspensePromises = shouldAtLeastOneSuspend ? optimisticResult.flatMap((result, index) => {\n const opts = defaultedQueries[index];\n if (opts && shouldSuspend(opts, result)) {\n const queryObserver = new QueryObserver(client, opts);\n return fetchOptimistic(opts, queryObserver, errorResetBoundary);\n }\n return [];\n }) : [];\n if (suspensePromises.length > 0) {\n throw Promise.all(suspensePromises);\n }\n const firstSingleResultWhichShouldThrow = optimisticResult.find(\n (result, index) => {\n const query = defaultedQueries[index];\n return query && getHasError({\n result,\n errorResetBoundary,\n throwOnError: query.throwOnError,\n query: client.getQueryCache().get(query.queryHash),\n suspense: query.suspense\n });\n }\n );\n if (firstSingleResultWhichShouldThrow?.error) {\n throw firstSingleResultWhichShouldThrow.error;\n }\n return getCombinedResult(trackResult());\n}\nexport {\n useQueries\n};\n//# sourceMappingURL=useQueries.js.map","\"use client\";\n\n// src/useBaseQuery.ts\nimport * as React from \"react\";\nimport { environmentManager, noop, notifyManager } from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n} from \"./errorBoundaryUtils.js\";\nimport { useIsRestoring } from \"./IsRestoringProvider.js\";\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n} from \"./suspense.js\";\nfunction useBaseQuery(options, Observer, queryClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof options !== \"object\" || Array.isArray(options)) {\n throw new Error(\n 'Bad argument type. Starting with v5, only the \"Object\" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object'\n );\n }\n }\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const client = useQueryClient(queryClient);\n const defaultedOptions = client.defaultQueryOptions(options);\n client.getDefaultOptions().queries?._experimental_beforeQuery?.(\n defaultedOptions\n );\n const query = client.getQueryCache().get(defaultedOptions.queryHash);\n if (process.env.NODE_ENV !== \"production\") {\n if (!defaultedOptions.queryFn) {\n console.error(\n `[${defaultedOptions.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`\n );\n }\n }\n defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : \"optimistic\";\n ensureSuspenseTimers(defaultedOptions);\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary, query);\n useClearResetErrorBoundary(errorResetBoundary);\n const isNewCacheEntry = !client.getQueryCache().get(defaultedOptions.queryHash);\n const [observer] = React.useState(\n () => new Observer(\n client,\n defaultedOptions\n )\n );\n const result = observer.getOptimisticResult(defaultedOptions);\n const shouldSubscribe = !isRestoring && options.subscribed !== false;\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => {\n const unsubscribe = shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop;\n observer.updateResult();\n return unsubscribe;\n },\n [observer, shouldSubscribe]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n React.useEffect(() => {\n observer.setOptions(defaultedOptions);\n }, [defaultedOptions, observer]);\n if (shouldSuspend(defaultedOptions, result)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary);\n }\n if (getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query,\n suspense: defaultedOptions.suspense\n })) {\n throw result.error;\n }\n ;\n client.getDefaultOptions().queries?._experimental_afterQuery?.(\n defaultedOptions,\n result\n );\n if (defaultedOptions.experimental_prefetchInRender && !environmentManager.isServer() && willFetch(result, isRestoring)) {\n const promise = isNewCacheEntry ? (\n // Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted\n fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n ) : (\n // subscribe to the \"cache promise\" so that we can finalize the currentThenable once data comes in\n query?.promise\n );\n promise?.catch(noop).finally(() => {\n observer.updateResult();\n });\n }\n return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;\n}\nexport {\n useBaseQuery\n};\n//# sourceMappingURL=useBaseQuery.js.map","\"use client\";\n\n// src/useQuery.ts\nimport { QueryObserver } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nfunction useQuery(options, queryClient) {\n return useBaseQuery(options, QueryObserver, queryClient);\n}\nexport {\n useQuery\n};\n//# sourceMappingURL=useQuery.js.map","\"use client\";\n\n// src/useSuspenseQuery.ts\nimport { QueryObserver, skipToken } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nimport { defaultThrowOnError } from \"./suspense.js\";\nfunction useSuspenseQuery(options, queryClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (options.queryFn === skipToken) {\n console.error(\"skipToken is not allowed for useSuspenseQuery\");\n }\n }\n return useBaseQuery(\n {\n ...options,\n enabled: true,\n suspense: true,\n throwOnError: defaultThrowOnError,\n placeholderData: void 0\n },\n QueryObserver,\n queryClient\n );\n}\nexport {\n useSuspenseQuery\n};\n//# sourceMappingURL=useSuspenseQuery.js.map","\"use client\";\n\n// src/useSuspenseInfiniteQuery.ts\nimport { InfiniteQueryObserver, skipToken } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nimport { defaultThrowOnError } from \"./suspense.js\";\nfunction useSuspenseInfiniteQuery(options, queryClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (options.queryFn === skipToken) {\n console.error(\"skipToken is not allowed for useSuspenseInfiniteQuery\");\n }\n }\n return useBaseQuery(\n {\n ...options,\n enabled: true,\n suspense: true,\n throwOnError: defaultThrowOnError\n },\n InfiniteQueryObserver,\n queryClient\n );\n}\nexport {\n useSuspenseInfiniteQuery\n};\n//# sourceMappingURL=useSuspenseInfiniteQuery.js.map","\"use client\";\n\n// src/useSuspenseQueries.ts\nimport { skipToken } from \"@tanstack/query-core\";\nimport { useQueries } from \"./useQueries.js\";\nimport { defaultThrowOnError } from \"./suspense.js\";\nfunction useSuspenseQueries(options, queryClient) {\n return useQueries(\n {\n ...options,\n queries: options.queries.map((query) => {\n if (process.env.NODE_ENV !== \"production\") {\n if (query.queryFn === skipToken) {\n console.error(\"skipToken is not allowed for useSuspenseQueries\");\n }\n }\n return {\n ...query,\n suspense: true,\n throwOnError: defaultThrowOnError,\n enabled: true,\n placeholderData: void 0\n };\n })\n },\n queryClient\n );\n}\nexport {\n useSuspenseQueries\n};\n//# sourceMappingURL=useSuspenseQueries.js.map","// src/usePrefetchQuery.tsx\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nfunction usePrefetchQuery(options, queryClient) {\n const client = useQueryClient(queryClient);\n if (!client.getQueryState(options.queryKey)) {\n client.prefetchQuery(options);\n }\n}\nexport {\n usePrefetchQuery\n};\n//# sourceMappingURL=usePrefetchQuery.js.map","// src/usePrefetchInfiniteQuery.tsx\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nfunction usePrefetchInfiniteQuery(options, queryClient) {\n const client = useQueryClient(queryClient);\n if (!client.getQueryState(options.queryKey)) {\n client.prefetchInfiniteQuery(options);\n }\n}\nexport {\n usePrefetchInfiniteQuery\n};\n//# sourceMappingURL=usePrefetchInfiniteQuery.js.map","// src/queryOptions.ts\nfunction queryOptions(options) {\n return options;\n}\nexport {\n queryOptions\n};\n//# sourceMappingURL=queryOptions.js.map","// src/infiniteQueryOptions.ts\nfunction infiniteQueryOptions(options) {\n return options;\n}\nexport {\n infiniteQueryOptions\n};\n//# sourceMappingURL=infiniteQueryOptions.js.map","\"use client\";\n\n// src/useMutation.ts\nimport * as React from \"react\";\nimport {\n MutationObserver,\n noop,\n notifyManager,\n shouldThrowError\n} from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nfunction useMutation(options, queryClient) {\n const client = useQueryClient(queryClient);\n const [observer] = React.useState(\n () => new MutationObserver(\n client,\n options\n )\n );\n React.useEffect(() => {\n observer.setOptions(options);\n }, [observer, options]);\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n const mutate = React.useCallback(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop);\n },\n [observer]\n );\n if (result.error && shouldThrowError(observer.options.throwOnError, [result.error])) {\n throw result.error;\n }\n return { ...result, mutate, mutateAsync: result.mutate };\n}\nexport {\n useMutation\n};\n//# sourceMappingURL=useMutation.js.map","\"use client\";\n\n// src/useInfiniteQuery.ts\nimport { InfiniteQueryObserver } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nfunction useInfiniteQuery(options, queryClient) {\n return useBaseQuery(\n options,\n InfiniteQueryObserver,\n queryClient\n );\n}\nexport {\n useInfiniteQuery\n};\n//# sourceMappingURL=useInfiniteQuery.js.map","//#region src/unstable-core-do-not-import/utils.ts\n/**\n* Ensures there are no duplicate keys when building a procedure.\n* @internal\n*/\nfunction mergeWithoutOverrides(obj1, ...objs) {\n\tconst newObj = Object.assign(emptyObject(), obj1);\n\tfor (const overrides of objs) for (const key in overrides) {\n\t\tif (key in newObj && newObj[key] !== overrides[key]) throw new Error(`Duplicate key ${key}`);\n\t\tnewObj[key] = overrides[key];\n\t}\n\treturn newObj;\n}\n/**\n* Check that value is object\n* @internal\n*/\nfunction isObject(value) {\n\treturn !!value && !Array.isArray(value) && typeof value === \"object\";\n}\nfunction isFunction(fn) {\n\treturn typeof fn === \"function\";\n}\n/**\n* Create an object without inheriting anything from `Object.prototype`\n* @internal\n*/\nfunction emptyObject() {\n\treturn Object.create(null);\n}\nconst asyncIteratorsSupported = typeof Symbol === \"function\" && !!Symbol.asyncIterator;\nfunction isAsyncIterable(value) {\n\treturn asyncIteratorsSupported && isObject(value) && Symbol.asyncIterator in value;\n}\n/**\n* Run an IIFE\n*/\nconst run = (fn) => fn();\nfunction noop() {}\nfunction identity(it) {\n\treturn it;\n}\n/**\n* Generic runtime assertion function. Throws, if the condition is not `true`.\n*\n* Can be used as a slightly less dangerous variant of type assertions. Code\n* mistakes would be revealed at runtime then (hopefully during testing).\n*/\nfunction assert(condition, msg = \"no additional info\") {\n\tif (!condition) throw new Error(`AssertionError: ${msg}`);\n}\nfunction sleep(ms = 0) {\n\treturn new Promise((res) => setTimeout(res, ms));\n}\n/**\n* Ponyfill for\n* [`AbortSignal.any`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/any_static).\n*/\nfunction abortSignalsAnyPonyfill(signals) {\n\tif (typeof AbortSignal.any === \"function\") return AbortSignal.any(signals);\n\tconst ac = new AbortController();\n\tfor (const signal of signals) {\n\t\tif (signal.aborted) {\n\t\t\ttrigger();\n\t\t\tbreak;\n\t\t}\n\t\tsignal.addEventListener(\"abort\", trigger, { once: true });\n\t}\n\treturn ac.signal;\n\tfunction trigger() {\n\t\tac.abort();\n\t\tfor (const signal of signals) signal.removeEventListener(\"abort\", trigger);\n\t}\n}\n\n//#endregion\n//#region src/unstable-core-do-not-import/rpc/codes.ts\n/**\n* JSON-RPC 2.0 Error codes\n*\n* `-32000` to `-32099` are reserved for implementation-defined server-errors.\n* For tRPC we're copying the last digits of HTTP 4XX errors.\n*/\nconst TRPC_ERROR_CODES_BY_KEY = {\n\tPARSE_ERROR: -32700,\n\tBAD_REQUEST: -32600,\n\tINTERNAL_SERVER_ERROR: -32603,\n\tNOT_IMPLEMENTED: -32603,\n\tBAD_GATEWAY: -32603,\n\tSERVICE_UNAVAILABLE: -32603,\n\tGATEWAY_TIMEOUT: -32603,\n\tUNAUTHORIZED: -32001,\n\tPAYMENT_REQUIRED: -32002,\n\tFORBIDDEN: -32003,\n\tNOT_FOUND: -32004,\n\tMETHOD_NOT_SUPPORTED: -32005,\n\tTIMEOUT: -32008,\n\tCONFLICT: -32009,\n\tPRECONDITION_FAILED: -32012,\n\tPAYLOAD_TOO_LARGE: -32013,\n\tUNSUPPORTED_MEDIA_TYPE: -32015,\n\tUNPROCESSABLE_CONTENT: -32022,\n\tPRECONDITION_REQUIRED: -32028,\n\tTOO_MANY_REQUESTS: -32029,\n\tCLIENT_CLOSED_REQUEST: -32099\n};\nconst TRPC_ERROR_CODES_BY_NUMBER = {\n\t[-32700]: \"PARSE_ERROR\",\n\t[-32600]: \"BAD_REQUEST\",\n\t[-32603]: \"INTERNAL_SERVER_ERROR\",\n\t[-32001]: \"UNAUTHORIZED\",\n\t[-32002]: \"PAYMENT_REQUIRED\",\n\t[-32003]: \"FORBIDDEN\",\n\t[-32004]: \"NOT_FOUND\",\n\t[-32005]: \"METHOD_NOT_SUPPORTED\",\n\t[-32008]: \"TIMEOUT\",\n\t[-32009]: \"CONFLICT\",\n\t[-32012]: \"PRECONDITION_FAILED\",\n\t[-32013]: \"PAYLOAD_TOO_LARGE\",\n\t[-32015]: \"UNSUPPORTED_MEDIA_TYPE\",\n\t[-32022]: \"UNPROCESSABLE_CONTENT\",\n\t[-32028]: \"PRECONDITION_REQUIRED\",\n\t[-32029]: \"TOO_MANY_REQUESTS\",\n\t[-32099]: \"CLIENT_CLOSED_REQUEST\"\n};\n/**\n* tRPC error codes that are considered retryable\n* With out of the box SSE, the client will reconnect when these errors are encountered\n*/\nconst retryableRpcCodes = [\n\tTRPC_ERROR_CODES_BY_KEY.BAD_GATEWAY,\n\tTRPC_ERROR_CODES_BY_KEY.SERVICE_UNAVAILABLE,\n\tTRPC_ERROR_CODES_BY_KEY.GATEWAY_TIMEOUT,\n\tTRPC_ERROR_CODES_BY_KEY.INTERNAL_SERVER_ERROR\n];\n\n//#endregion\nexport { TRPC_ERROR_CODES_BY_KEY, TRPC_ERROR_CODES_BY_NUMBER, abortSignalsAnyPonyfill, assert, emptyObject, identity, isAsyncIterable, isFunction, isObject, mergeWithoutOverrides, noop, retryableRpcCodes, run, sleep };\n//# sourceMappingURL=codes-DagpWZLc.mjs.map","import { TRPC_ERROR_CODES_BY_KEY, TRPC_ERROR_CODES_BY_NUMBER, emptyObject, isObject } from \"./codes-DagpWZLc.mjs\";\n\n//#region rolldown:runtime\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function() {\n\treturn mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {\n\t\tkey = keys[i];\n\t\tif (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: ((k) => from[k]).bind(null, key),\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\tvalue: mod,\n\tenumerable: true\n}) : target, mod));\n\n//#endregion\n//#region src/unstable-core-do-not-import/createProxy.ts\nconst noop = () => {};\nconst freezeIfAvailable = (obj) => {\n\tif (Object.freeze) Object.freeze(obj);\n};\nfunction createInnerProxy(callback, path, memo) {\n\tvar _memo$cacheKey;\n\tconst cacheKey = path.join(\".\");\n\t(_memo$cacheKey = memo[cacheKey]) !== null && _memo$cacheKey !== void 0 || (memo[cacheKey] = new Proxy(noop, {\n\t\tget(_obj, key) {\n\t\t\tif (typeof key !== \"string\" || key === \"then\") return void 0;\n\t\t\treturn createInnerProxy(callback, [...path, key], memo);\n\t\t},\n\t\tapply(_1, _2, args) {\n\t\t\tconst lastOfPath = path[path.length - 1];\n\t\t\tlet opts = {\n\t\t\t\targs,\n\t\t\t\tpath\n\t\t\t};\n\t\t\tif (lastOfPath === \"call\") opts = {\n\t\t\t\targs: args.length >= 2 ? [args[1]] : [],\n\t\t\t\tpath: path.slice(0, -1)\n\t\t\t};\n\t\t\telse if (lastOfPath === \"apply\") opts = {\n\t\t\t\targs: args.length >= 2 ? args[1] : [],\n\t\t\t\tpath: path.slice(0, -1)\n\t\t\t};\n\t\t\tfreezeIfAvailable(opts.args);\n\t\t\tfreezeIfAvailable(opts.path);\n\t\t\treturn callback(opts);\n\t\t}\n\t}));\n\treturn memo[cacheKey];\n}\n/**\n* Creates a proxy that calls the callback with the path and arguments\n*\n* @internal\n*/\nconst createRecursiveProxy = (callback) => createInnerProxy(callback, [], emptyObject());\n/**\n* Used in place of `new Proxy` where each handler will map 1 level deep to another value.\n*\n* @internal\n*/\nconst createFlatProxy = (callback) => {\n\treturn new Proxy(noop, { get(_obj, name) {\n\t\tif (name === \"then\") return void 0;\n\t\treturn callback(name);\n\t} });\n};\n\n//#endregion\n//#region src/unstable-core-do-not-import/http/getHTTPStatusCode.ts\nconst JSONRPC2_TO_HTTP_CODE = {\n\tPARSE_ERROR: 400,\n\tBAD_REQUEST: 400,\n\tUNAUTHORIZED: 401,\n\tPAYMENT_REQUIRED: 402,\n\tFORBIDDEN: 403,\n\tNOT_FOUND: 404,\n\tMETHOD_NOT_SUPPORTED: 405,\n\tTIMEOUT: 408,\n\tCONFLICT: 409,\n\tPRECONDITION_FAILED: 412,\n\tPAYLOAD_TOO_LARGE: 413,\n\tUNSUPPORTED_MEDIA_TYPE: 415,\n\tUNPROCESSABLE_CONTENT: 422,\n\tPRECONDITION_REQUIRED: 428,\n\tTOO_MANY_REQUESTS: 429,\n\tCLIENT_CLOSED_REQUEST: 499,\n\tINTERNAL_SERVER_ERROR: 500,\n\tNOT_IMPLEMENTED: 501,\n\tBAD_GATEWAY: 502,\n\tSERVICE_UNAVAILABLE: 503,\n\tGATEWAY_TIMEOUT: 504\n};\nconst HTTP_CODE_TO_JSONRPC2 = {\n\t400: \"BAD_REQUEST\",\n\t401: \"UNAUTHORIZED\",\n\t402: \"PAYMENT_REQUIRED\",\n\t403: \"FORBIDDEN\",\n\t404: \"NOT_FOUND\",\n\t405: \"METHOD_NOT_SUPPORTED\",\n\t408: \"TIMEOUT\",\n\t409: \"CONFLICT\",\n\t412: \"PRECONDITION_FAILED\",\n\t413: \"PAYLOAD_TOO_LARGE\",\n\t415: \"UNSUPPORTED_MEDIA_TYPE\",\n\t422: \"UNPROCESSABLE_CONTENT\",\n\t428: \"PRECONDITION_REQUIRED\",\n\t429: \"TOO_MANY_REQUESTS\",\n\t499: \"CLIENT_CLOSED_REQUEST\",\n\t500: \"INTERNAL_SERVER_ERROR\",\n\t501: \"NOT_IMPLEMENTED\",\n\t502: \"BAD_GATEWAY\",\n\t503: \"SERVICE_UNAVAILABLE\",\n\t504: \"GATEWAY_TIMEOUT\"\n};\nfunction getStatusCodeFromKey(code) {\n\tvar _JSONRPC2_TO_HTTP_COD;\n\treturn (_JSONRPC2_TO_HTTP_COD = JSONRPC2_TO_HTTP_CODE[code]) !== null && _JSONRPC2_TO_HTTP_COD !== void 0 ? _JSONRPC2_TO_HTTP_COD : 500;\n}\nfunction getStatusKeyFromCode(code) {\n\tvar _HTTP_CODE_TO_JSONRPC;\n\treturn (_HTTP_CODE_TO_JSONRPC = HTTP_CODE_TO_JSONRPC2[code]) !== null && _HTTP_CODE_TO_JSONRPC !== void 0 ? _HTTP_CODE_TO_JSONRPC : \"INTERNAL_SERVER_ERROR\";\n}\nfunction getHTTPStatusCode(json) {\n\tconst arr = Array.isArray(json) ? json : [json];\n\tconst httpStatuses = new Set(arr.map((res) => {\n\t\tif (\"error\" in res && isObject(res.error.data)) {\n\t\t\tvar _res$error$data;\n\t\t\tif (typeof ((_res$error$data = res.error.data) === null || _res$error$data === void 0 ? void 0 : _res$error$data[\"httpStatus\"]) === \"number\") return res.error.data[\"httpStatus\"];\n\t\t\tconst code = TRPC_ERROR_CODES_BY_NUMBER[res.error.code];\n\t\t\treturn getStatusCodeFromKey(code);\n\t\t}\n\t\treturn 200;\n\t}));\n\tif (httpStatuses.size !== 1) return 207;\n\tconst httpStatus = httpStatuses.values().next().value;\n\treturn httpStatus;\n}\nfunction getHTTPStatusCodeFromError(error) {\n\treturn getStatusCodeFromKey(error.code);\n}\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js\nvar require_typeof = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js\"(exports, module) {\n\tfunction _typeof$2(o) {\n\t\t\"@babel/helpers - typeof\";\n\t\treturn module.exports = _typeof$2 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(o$1) {\n\t\t\treturn typeof o$1;\n\t\t} : function(o$1) {\n\t\t\treturn o$1 && \"function\" == typeof Symbol && o$1.constructor === Symbol && o$1 !== Symbol.prototype ? \"symbol\" : typeof o$1;\n\t\t}, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof$2(o);\n\t}\n\tmodule.exports = _typeof$2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js\nvar require_toPrimitive = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js\"(exports, module) {\n\tvar _typeof$1 = require_typeof()[\"default\"];\n\tfunction toPrimitive$1(t, r) {\n\t\tif (\"object\" != _typeof$1(t) || !t) return t;\n\t\tvar e = t[Symbol.toPrimitive];\n\t\tif (void 0 !== e) {\n\t\t\tvar i = e.call(t, r || \"default\");\n\t\t\tif (\"object\" != _typeof$1(i)) return i;\n\t\t\tthrow new TypeError(\"@@toPrimitive must return a primitive value.\");\n\t\t}\n\t\treturn (\"string\" === r ? String : Number)(t);\n\t}\n\tmodule.exports = toPrimitive$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js\nvar require_toPropertyKey = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js\"(exports, module) {\n\tvar _typeof = require_typeof()[\"default\"];\n\tvar toPrimitive = require_toPrimitive();\n\tfunction toPropertyKey$1(t) {\n\t\tvar i = toPrimitive(t, \"string\");\n\t\treturn \"symbol\" == _typeof(i) ? i : i + \"\";\n\t}\n\tmodule.exports = toPropertyKey$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js\nvar require_defineProperty = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js\"(exports, module) {\n\tvar toPropertyKey = require_toPropertyKey();\n\tfunction _defineProperty(e, r, t) {\n\t\treturn (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n\t\t\tvalue: t,\n\t\t\tenumerable: !0,\n\t\t\tconfigurable: !0,\n\t\t\twritable: !0\n\t\t}) : e[r] = t, e;\n\t}\n\tmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js\nvar require_objectSpread2 = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js\"(exports, module) {\n\tvar defineProperty = require_defineProperty();\n\tfunction ownKeys(e, r) {\n\t\tvar t = Object.keys(e);\n\t\tif (Object.getOwnPropertySymbols) {\n\t\t\tvar o = Object.getOwnPropertySymbols(e);\n\t\t\tr && (o = o.filter(function(r$1) {\n\t\t\t\treturn Object.getOwnPropertyDescriptor(e, r$1).enumerable;\n\t\t\t})), t.push.apply(t, o);\n\t\t}\n\t\treturn t;\n\t}\n\tfunction _objectSpread2(e) {\n\t\tfor (var r = 1; r < arguments.length; r++) {\n\t\t\tvar t = null != arguments[r] ? arguments[r] : {};\n\t\t\tr % 2 ? ownKeys(Object(t), !0).forEach(function(r$1) {\n\t\t\t\tdefineProperty(e, r$1, t[r$1]);\n\t\t\t}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r$1) {\n\t\t\t\tObject.defineProperty(e, r$1, Object.getOwnPropertyDescriptor(t, r$1));\n\t\t\t});\n\t\t}\n\t\treturn e;\n\t}\n\tmodule.exports = _objectSpread2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region src/unstable-core-do-not-import/error/getErrorShape.ts\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\n/**\n* @internal\n*/\nfunction getErrorShape(opts) {\n\tconst { path, error, config } = opts;\n\tconst { code } = opts.error;\n\tconst shape = {\n\t\tmessage: error.message,\n\t\tcode: TRPC_ERROR_CODES_BY_KEY[code],\n\t\tdata: {\n\t\t\tcode,\n\t\t\thttpStatus: getHTTPStatusCodeFromError(error)\n\t\t}\n\t};\n\tif (config.isDev && typeof opts.error.stack === \"string\") shape.data.stack = opts.error.stack;\n\tif (typeof path === \"string\") shape.data.path = path;\n\treturn config.errorFormatter((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, { shape }));\n}\n\n//#endregion\nexport { HTTP_CODE_TO_JSONRPC2, JSONRPC2_TO_HTTP_CODE, __commonJS, __toESM, createFlatProxy, createRecursiveProxy, getErrorShape, getHTTPStatusCode, getHTTPStatusCodeFromError, getStatusCodeFromKey, getStatusKeyFromCode, require_defineProperty, require_objectSpread2 };\n//# sourceMappingURL=getErrorShape-vC8mUXJD.mjs.map","import { __toESM, createRecursiveProxy, require_defineProperty, require_objectSpread2 } from \"./getErrorShape-vC8mUXJD.mjs\";\nimport { emptyObject, isFunction, isObject, mergeWithoutOverrides } from \"./codes-DagpWZLc.mjs\";\n\n//#region src/unstable-core-do-not-import/error/formatter.ts\nconst defaultFormatter = ({ shape }) => {\n\treturn shape;\n};\n\n//#endregion\n//#region src/unstable-core-do-not-import/error/TRPCError.ts\nvar import_defineProperty = __toESM(require_defineProperty(), 1);\nvar UnknownCauseError = class extends Error {\n\tconstructor(cause) {\n\t\tsuper(getMessage(cause));\n\t\tObject.assign(this, cause);\n\t}\n};\nfunction getMessage(cause) {\n\tif (\"message\" in cause) return String(cause.message);\n\treturn void 0;\n}\nfunction getCauseFromUnknown(cause) {\n\tif (cause instanceof Error) return cause;\n\tconst type = typeof cause;\n\tif (type === \"undefined\" || type === \"function\" || cause === null) return void 0;\n\tif (type !== \"object\") return new Error(String(cause));\n\tif (isObject(cause)) return new UnknownCauseError(cause);\n\treturn void 0;\n}\nfunction getTRPCErrorFromUnknown(cause) {\n\tif (cause instanceof TRPCError) return cause;\n\tif (cause instanceof Error && cause.name === \"TRPCError\") return cause;\n\tconst trpcError = new TRPCError({\n\t\tcode: \"INTERNAL_SERVER_ERROR\",\n\t\tcause\n\t});\n\tif (cause instanceof Error && cause.stack) trpcError.stack = cause.stack;\n\treturn trpcError;\n}\nvar TRPCError = class extends Error {\n\tconstructor(opts) {\n\t\tvar _ref, _opts$message, _this$cause;\n\t\tconst cause = getCauseFromUnknown(opts.cause);\n\t\tconst message = (_ref = (_opts$message = opts.message) !== null && _opts$message !== void 0 ? _opts$message : cause === null || cause === void 0 ? void 0 : cause.message) !== null && _ref !== void 0 ? _ref : opts.code;\n\t\tsuper(message, { cause });\n\t\t(0, import_defineProperty.default)(this, \"cause\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"code\", void 0);\n\t\tthis.code = opts.code;\n\t\tthis.name = \"TRPCError\";\n\t\t(_this$cause = this.cause) !== null && _this$cause !== void 0 || (this.cause = cause);\n\t}\n};\n\n//#endregion\n//#region src/unstable-core-do-not-import/transformer.ts\nvar import_objectSpread2$1 = __toESM(require_objectSpread2(), 1);\n/**\n* @internal\n*/\nfunction getDataTransformer(transformer) {\n\tif (\"input\" in transformer) return transformer;\n\treturn {\n\t\tinput: transformer,\n\t\toutput: transformer\n\t};\n}\n/**\n* @internal\n*/\nconst defaultTransformer = {\n\tinput: {\n\t\tserialize: (obj) => obj,\n\t\tdeserialize: (obj) => obj\n\t},\n\toutput: {\n\t\tserialize: (obj) => obj,\n\t\tdeserialize: (obj) => obj\n\t}\n};\nfunction transformTRPCResponseItem(config, item) {\n\tif (\"error\" in item) return (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, item), {}, { error: config.transformer.output.serialize(item.error) });\n\tif (\"data\" in item.result) return (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, item), {}, { result: (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, item.result), {}, { data: config.transformer.output.serialize(item.result.data) }) });\n\treturn item;\n}\n/**\n* Takes a unserialized `TRPCResponse` and serializes it with the router's transformers\n**/\nfunction transformTRPCResponse(config, itemOrItems) {\n\treturn Array.isArray(itemOrItems) ? itemOrItems.map((item) => transformTRPCResponseItem(config, item)) : transformTRPCResponseItem(config, itemOrItems);\n}\n/** @internal */\nfunction transformResultInner(response, transformer) {\n\tif (\"error\" in response) {\n\t\tconst error = transformer.deserialize(response.error);\n\t\treturn {\n\t\t\tok: false,\n\t\t\terror: (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, response), {}, { error })\n\t\t};\n\t}\n\tconst result = (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, response.result), (!response.result.type || response.result.type === \"data\") && {\n\t\ttype: \"data\",\n\t\tdata: transformer.deserialize(response.result.data)\n\t});\n\treturn {\n\t\tok: true,\n\t\tresult\n\t};\n}\nvar TransformResultError = class extends Error {\n\tconstructor() {\n\t\tsuper(\"Unable to transform response from server\");\n\t}\n};\n/**\n* Transforms and validates that the result is a valid TRPCResponse\n* @internal\n*/\nfunction transformResult(response, transformer) {\n\tlet result;\n\ttry {\n\t\tresult = transformResultInner(response, transformer);\n\t} catch (_unused) {\n\t\tthrow new TransformResultError();\n\t}\n\tif (!result.ok && (!isObject(result.error.error) || typeof result.error.error[\"code\"] !== \"number\")) throw new TransformResultError();\n\tif (result.ok && !isObject(result.result)) throw new TransformResultError();\n\treturn result;\n}\n\n//#endregion\n//#region src/unstable-core-do-not-import/router.ts\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\n/**\n* @internal\n*/\nconst lazyMarker = \"lazyMarker\";\nfunction once(fn) {\n\tconst uncalled = Symbol();\n\tlet result = uncalled;\n\treturn () => {\n\t\tif (result === uncalled) result = fn();\n\t\treturn result;\n\t};\n}\n/**\n* Lazy load a router\n* @see https://trpc.io/docs/server/merging-routers#lazy-load\n*/\nfunction lazy(importRouter) {\n\tasync function resolve() {\n\t\tconst mod = await importRouter();\n\t\tif (isRouter(mod)) return mod;\n\t\tconst routers = Object.values(mod);\n\t\tif (routers.length !== 1 || !isRouter(routers[0])) throw new Error(\"Invalid router module - either define exactly 1 export or return the router directly.\\nExample: `lazy(() => import('./slow.js').then((m) => m.slowRouter))`\");\n\t\treturn routers[0];\n\t}\n\tresolve[lazyMarker] = true;\n\treturn resolve;\n}\nfunction isLazy(input) {\n\treturn typeof input === \"function\" && lazyMarker in input;\n}\nfunction isRouter(value) {\n\treturn isObject(value) && isObject(value[\"_def\"]) && \"router\" in value[\"_def\"];\n}\nconst emptyRouter = {\n\t_ctx: null,\n\t_errorShape: null,\n\t_meta: null,\n\tqueries: {},\n\tmutations: {},\n\tsubscriptions: {},\n\terrorFormatter: defaultFormatter,\n\ttransformer: defaultTransformer\n};\n/**\n* Reserved words that can't be used as router or procedure names\n*/\nconst reservedWords = [\n\t\"then\",\n\t\"call\",\n\t\"apply\"\n];\n/**\n* @internal\n*/\nfunction createRouterFactory(config) {\n\tfunction createRouterInner(input) {\n\t\tconst reservedWordsUsed = new Set(Object.keys(input).filter((v) => reservedWords.includes(v)));\n\t\tif (reservedWordsUsed.size > 0) throw new Error(\"Reserved words used in `router({})` call: \" + Array.from(reservedWordsUsed).join(\", \"));\n\t\tconst procedures = emptyObject();\n\t\tconst lazy$1 = emptyObject();\n\t\tfunction createLazyLoader(opts) {\n\t\t\treturn {\n\t\t\t\tref: opts.ref,\n\t\t\t\tload: once(async () => {\n\t\t\t\t\tconst router$1 = await opts.ref();\n\t\t\t\t\tconst lazyPath = [...opts.path, opts.key];\n\t\t\t\t\tconst lazyKey = lazyPath.join(\".\");\n\t\t\t\t\topts.aggregate[opts.key] = step(router$1._def.record, lazyPath);\n\t\t\t\t\tdelete lazy$1[lazyKey];\n\t\t\t\t\tfor (const [nestedKey, nestedItem] of Object.entries(router$1._def.lazy)) {\n\t\t\t\t\t\tconst nestedRouterKey = [...lazyPath, nestedKey].join(\".\");\n\t\t\t\t\t\tlazy$1[nestedRouterKey] = createLazyLoader({\n\t\t\t\t\t\t\tref: nestedItem.ref,\n\t\t\t\t\t\t\tpath: lazyPath,\n\t\t\t\t\t\t\tkey: nestedKey,\n\t\t\t\t\t\t\taggregate: opts.aggregate[opts.key]\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t};\n\t\t}\n\t\tfunction step(from, path = []) {\n\t\t\tconst aggregate = emptyObject();\n\t\t\tfor (const [key, item] of Object.entries(from !== null && from !== void 0 ? from : {})) {\n\t\t\t\tif (isLazy(item)) {\n\t\t\t\t\tlazy$1[[...path, key].join(\".\")] = createLazyLoader({\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\tref: item,\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\taggregate\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (isRouter(item)) {\n\t\t\t\t\taggregate[key] = step(item._def.record, [...path, key]);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (!isProcedure(item)) {\n\t\t\t\t\taggregate[key] = step(item, [...path, key]);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst newPath = [...path, key].join(\".\");\n\t\t\t\tif (procedures[newPath]) throw new Error(`Duplicate key: ${newPath}`);\n\t\t\t\tprocedures[newPath] = item;\n\t\t\t\taggregate[key] = item;\n\t\t\t}\n\t\t\treturn aggregate;\n\t\t}\n\t\tconst record = step(input);\n\t\tconst _def = (0, import_objectSpread2.default)((0, import_objectSpread2.default)({\n\t\t\t_config: config,\n\t\t\trouter: true,\n\t\t\tprocedures,\n\t\t\tlazy: lazy$1\n\t\t}, emptyRouter), {}, { record });\n\t\tconst router = (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, record), {}, {\n\t\t\t_def,\n\t\t\tcreateCaller: createCallerFactory()({ _def })\n\t\t});\n\t\treturn router;\n\t}\n\treturn createRouterInner;\n}\nfunction isProcedure(procedureOrRouter) {\n\treturn typeof procedureOrRouter === \"function\";\n}\n/**\n* @internal\n*/\nasync function getProcedureAtPath(router, path) {\n\tconst { _def } = router;\n\tlet procedure = _def.procedures[path];\n\twhile (!procedure) {\n\t\tconst key = Object.keys(_def.lazy).find((key$1) => path.startsWith(key$1));\n\t\tif (!key) return null;\n\t\tconst lazyRouter = _def.lazy[key];\n\t\tawait lazyRouter.load();\n\t\tprocedure = _def.procedures[path];\n\t}\n\treturn procedure;\n}\n/**\n* @internal\n*/\nasync function callProcedure(opts) {\n\tconst { type, path } = opts;\n\tconst proc = await getProcedureAtPath(opts.router, path);\n\tif (!proc || !isProcedure(proc) || proc._def.type !== type && !opts.allowMethodOverride) throw new TRPCError({\n\t\tcode: \"NOT_FOUND\",\n\t\tmessage: `No \"${type}\"-procedure on path \"${path}\"`\n\t});\n\t/* istanbul ignore if -- @preserve */\n\tif (proc._def.type !== type && opts.allowMethodOverride && proc._def.type === \"subscription\") throw new TRPCError({\n\t\tcode: \"METHOD_NOT_SUPPORTED\",\n\t\tmessage: `Method override is not supported for subscriptions`\n\t});\n\treturn proc(opts);\n}\nfunction createCallerFactory() {\n\treturn function createCallerInner(router) {\n\t\tconst { _def } = router;\n\t\treturn function createCaller(ctxOrCallback, opts) {\n\t\t\treturn createRecursiveProxy(async (innerOpts) => {\n\t\t\t\tconst { path, args } = innerOpts;\n\t\t\t\tconst fullPath = path.join(\".\");\n\t\t\t\tif (path.length === 1 && path[0] === \"_def\") return _def;\n\t\t\t\tconst procedure = await getProcedureAtPath(router, fullPath);\n\t\t\t\tlet ctx = void 0;\n\t\t\t\ttry {\n\t\t\t\t\tif (!procedure) throw new TRPCError({\n\t\t\t\t\t\tcode: \"NOT_FOUND\",\n\t\t\t\t\t\tmessage: `No procedure found on path \"${path}\"`\n\t\t\t\t\t});\n\t\t\t\t\tctx = isFunction(ctxOrCallback) ? await Promise.resolve(ctxOrCallback()) : ctxOrCallback;\n\t\t\t\t\treturn await procedure({\n\t\t\t\t\t\tpath: fullPath,\n\t\t\t\t\t\tgetRawInput: async () => args[0],\n\t\t\t\t\t\tctx,\n\t\t\t\t\t\ttype: procedure._def.type,\n\t\t\t\t\t\tsignal: opts === null || opts === void 0 ? void 0 : opts.signal,\n\t\t\t\t\t\tbatchIndex: 0\n\t\t\t\t\t});\n\t\t\t\t} catch (cause) {\n\t\t\t\t\tvar _opts$onError, _procedure$_def$type;\n\t\t\t\t\topts === null || opts === void 0 || (_opts$onError = opts.onError) === null || _opts$onError === void 0 || _opts$onError.call(opts, {\n\t\t\t\t\t\tctx,\n\t\t\t\t\t\terror: getTRPCErrorFromUnknown(cause),\n\t\t\t\t\t\tinput: args[0],\n\t\t\t\t\t\tpath: fullPath,\n\t\t\t\t\t\ttype: (_procedure$_def$type = procedure === null || procedure === void 0 ? void 0 : procedure._def.type) !== null && _procedure$_def$type !== void 0 ? _procedure$_def$type : \"unknown\"\n\t\t\t\t\t});\n\t\t\t\t\tthrow cause;\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\t};\n}\nfunction mergeRouters(...routerList) {\n\tvar _routerList$, _routerList$2;\n\tconst record = mergeWithoutOverrides({}, ...routerList.map((r) => r._def.record));\n\tconst errorFormatter = routerList.reduce((currentErrorFormatter, nextRouter) => {\n\t\tif (nextRouter._def._config.errorFormatter && nextRouter._def._config.errorFormatter !== defaultFormatter) {\n\t\t\tif (currentErrorFormatter !== defaultFormatter && currentErrorFormatter !== nextRouter._def._config.errorFormatter) throw new Error(\"You seem to have several error formatters\");\n\t\t\treturn nextRouter._def._config.errorFormatter;\n\t\t}\n\t\treturn currentErrorFormatter;\n\t}, defaultFormatter);\n\tconst transformer = routerList.reduce((prev, current) => {\n\t\tif (current._def._config.transformer && current._def._config.transformer !== defaultTransformer) {\n\t\t\tif (prev !== defaultTransformer && prev !== current._def._config.transformer) throw new Error(\"You seem to have several transformers\");\n\t\t\treturn current._def._config.transformer;\n\t\t}\n\t\treturn prev;\n\t}, defaultTransformer);\n\tconst router = createRouterFactory({\n\t\terrorFormatter,\n\t\ttransformer,\n\t\tisDev: routerList.every((r) => r._def._config.isDev),\n\t\tallowOutsideOfServer: routerList.every((r) => r._def._config.allowOutsideOfServer),\n\t\tisServer: routerList.every((r) => r._def._config.isServer),\n\t\t$types: (_routerList$ = routerList[0]) === null || _routerList$ === void 0 ? void 0 : _routerList$._def._config.$types,\n\t\tsse: (_routerList$2 = routerList[0]) === null || _routerList$2 === void 0 ? void 0 : _routerList$2._def._config.sse\n\t})(record);\n\treturn router;\n}\n\n//#endregion\n//#region src/unstable-core-do-not-import/stream/tracked.ts\nconst trackedSymbol = Symbol();\n/**\n* Produce a typed server-sent event message\n* @deprecated use `tracked(id, data)` instead\n*/\nfunction sse(event) {\n\treturn tracked(event.id, event.data);\n}\nfunction isTrackedEnvelope(value) {\n\treturn Array.isArray(value) && value[2] === trackedSymbol;\n}\n/**\n* Automatically track an event so that it can be resumed from a given id if the connection is lost\n*/\nfunction tracked(id, data) {\n\tif (id === \"\") throw new Error(\"`id` must not be an empty string as empty string is the same as not setting the id at all\");\n\treturn [\n\t\tid,\n\t\tdata,\n\t\ttrackedSymbol\n\t];\n}\n\n//#endregion\nexport { TRPCError, callProcedure, createCallerFactory, createRouterFactory, defaultFormatter, defaultTransformer, getCauseFromUnknown, getDataTransformer, getProcedureAtPath, getTRPCErrorFromUnknown, isTrackedEnvelope, lazy, mergeRouters, sse, tracked, transformResult, transformTRPCResponse };\n//# sourceMappingURL=tracked-DiE3uR1B.mjs.map","//#region src/observable/observable.ts\n/** @public */\nfunction isObservable(x) {\n\treturn typeof x === \"object\" && x !== null && \"subscribe\" in x;\n}\n/** @public */\nfunction observable(subscribe) {\n\tconst self = {\n\t\tsubscribe(observer) {\n\t\t\tlet teardownRef = null;\n\t\t\tlet isDone = false;\n\t\t\tlet unsubscribed = false;\n\t\t\tlet teardownImmediately = false;\n\t\t\tfunction unsubscribe() {\n\t\t\t\tif (teardownRef === null) {\n\t\t\t\t\tteardownImmediately = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (unsubscribed) return;\n\t\t\t\tunsubscribed = true;\n\t\t\t\tif (typeof teardownRef === \"function\") teardownRef();\n\t\t\t\telse if (teardownRef) teardownRef.unsubscribe();\n\t\t\t}\n\t\t\tteardownRef = subscribe({\n\t\t\t\tnext(value) {\n\t\t\t\t\tvar _observer$next;\n\t\t\t\t\tif (isDone) return;\n\t\t\t\t\t(_observer$next = observer.next) === null || _observer$next === void 0 || _observer$next.call(observer, value);\n\t\t\t\t},\n\t\t\t\terror(err) {\n\t\t\t\t\tvar _observer$error;\n\t\t\t\t\tif (isDone) return;\n\t\t\t\t\tisDone = true;\n\t\t\t\t\t(_observer$error = observer.error) === null || _observer$error === void 0 || _observer$error.call(observer, err);\n\t\t\t\t\tunsubscribe();\n\t\t\t\t},\n\t\t\t\tcomplete() {\n\t\t\t\t\tvar _observer$complete;\n\t\t\t\t\tif (isDone) return;\n\t\t\t\t\tisDone = true;\n\t\t\t\t\t(_observer$complete = observer.complete) === null || _observer$complete === void 0 || _observer$complete.call(observer);\n\t\t\t\t\tunsubscribe();\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (teardownImmediately) unsubscribe();\n\t\t\treturn { unsubscribe };\n\t\t},\n\t\tpipe(...operations) {\n\t\t\treturn operations.reduce(pipeReducer, self);\n\t\t}\n\t};\n\treturn self;\n}\nfunction pipeReducer(prev, fn) {\n\treturn fn(prev);\n}\n/** @internal */\nfunction observableToPromise(observable$1) {\n\tconst ac = new AbortController();\n\tconst promise = new Promise((resolve, reject) => {\n\t\tlet isDone = false;\n\t\tfunction onDone() {\n\t\t\tif (isDone) return;\n\t\t\tisDone = true;\n\t\t\tobs$.unsubscribe();\n\t\t}\n\t\tac.signal.addEventListener(\"abort\", () => {\n\t\t\treject(ac.signal.reason);\n\t\t});\n\t\tconst obs$ = observable$1.subscribe({\n\t\t\tnext(data) {\n\t\t\t\tisDone = true;\n\t\t\t\tresolve(data);\n\t\t\t\tonDone();\n\t\t\t},\n\t\t\terror(data) {\n\t\t\t\treject(data);\n\t\t\t},\n\t\t\tcomplete() {\n\t\t\t\tac.abort();\n\t\t\t\tonDone();\n\t\t\t}\n\t\t});\n\t});\n\treturn promise;\n}\n/**\n* @internal\n*/\nfunction observableToReadableStream(observable$1, signal) {\n\tlet unsub = null;\n\tconst onAbort = () => {\n\t\tunsub === null || unsub === void 0 || unsub.unsubscribe();\n\t\tunsub = null;\n\t\tsignal.removeEventListener(\"abort\", onAbort);\n\t};\n\treturn new ReadableStream({\n\t\tstart(controller) {\n\t\t\tunsub = observable$1.subscribe({\n\t\t\t\tnext(data) {\n\t\t\t\t\tcontroller.enqueue({\n\t\t\t\t\t\tok: true,\n\t\t\t\t\t\tvalue: data\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\terror(error) {\n\t\t\t\t\tcontroller.enqueue({\n\t\t\t\t\t\tok: false,\n\t\t\t\t\t\terror\n\t\t\t\t\t});\n\t\t\t\t\tcontroller.close();\n\t\t\t\t},\n\t\t\t\tcomplete() {\n\t\t\t\t\tcontroller.close();\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (signal.aborted) onAbort();\n\t\t\telse signal.addEventListener(\"abort\", onAbort, { once: true });\n\t\t},\n\t\tcancel() {\n\t\t\tonAbort();\n\t\t}\n\t});\n}\n/** @internal */\nfunction observableToAsyncIterable(observable$1, signal) {\n\tconst stream = observableToReadableStream(observable$1, signal);\n\tconst reader = stream.getReader();\n\tconst iterator = {\n\t\tasync next() {\n\t\t\tconst value = await reader.read();\n\t\t\tif (value.done) return {\n\t\t\t\tvalue: void 0,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t\tconst { value: result } = value;\n\t\t\tif (!result.ok) throw result.error;\n\t\t\treturn {\n\t\t\t\tvalue: result.value,\n\t\t\t\tdone: false\n\t\t\t};\n\t\t},\n\t\tasync return() {\n\t\t\tawait reader.cancel();\n\t\t\treturn {\n\t\t\t\tvalue: void 0,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\t};\n\treturn { [Symbol.asyncIterator]() {\n\t\treturn iterator;\n\t} };\n}\n\n//#endregion\nexport { isObservable, observable, observableToAsyncIterable, observableToPromise };\n//# sourceMappingURL=observable-UMO3vUa_.mjs.map","import { __commonJS, __toESM, getErrorShape, getHTTPStatusCode, require_defineProperty, require_objectSpread2 } from \"./getErrorShape-vC8mUXJD.mjs\";\nimport { abortSignalsAnyPonyfill, emptyObject, identity, isAsyncIterable, isFunction, isObject, run } from \"./codes-DagpWZLc.mjs\";\nimport { TRPCError, getProcedureAtPath, getTRPCErrorFromUnknown, isTrackedEnvelope, transformTRPCResponse } from \"./tracked-DiE3uR1B.mjs\";\nimport { isObservable, observableToAsyncIterable } from \"./observable-UMO3vUa_.mjs\";\n\n//#region src/unstable-core-do-not-import/http/parseConnectionParams.ts\nfunction parseConnectionParamsFromUnknown(parsed) {\n\ttry {\n\t\tif (parsed === null) return null;\n\t\tif (!isObject(parsed)) throw new Error(\"Expected object\");\n\t\tconst nonStringValues = Object.entries(parsed).filter(([_key, value]) => typeof value !== \"string\");\n\t\tif (nonStringValues.length > 0) throw new Error(`Expected connectionParams to be string values. Got ${nonStringValues.map(([key, value]) => `${key}: ${typeof value}`).join(\", \")}`);\n\t\treturn parsed;\n\t} catch (cause) {\n\t\tthrow new TRPCError({\n\t\t\tcode: \"PARSE_ERROR\",\n\t\t\tmessage: \"Invalid connection params shape\",\n\t\t\tcause\n\t\t});\n\t}\n}\nfunction parseConnectionParamsFromString(str) {\n\tlet parsed;\n\ttry {\n\t\tparsed = JSON.parse(str);\n\t} catch (cause) {\n\t\tthrow new TRPCError({\n\t\t\tcode: \"PARSE_ERROR\",\n\t\t\tmessage: \"Not JSON-parsable query params\",\n\t\t\tcause\n\t\t});\n\t}\n\treturn parseConnectionParamsFromUnknown(parsed);\n}\n\n//#endregion\n//#region src/unstable-core-do-not-import/http/contentType.ts\nvar import_objectSpread2$1 = __toESM(require_objectSpread2(), 1);\nfunction getAcceptHeader(headers) {\n\tvar _ref, _headers$get;\n\treturn (_ref = headers.get(\"trpc-accept\")) !== null && _ref !== void 0 ? _ref : ((_headers$get = headers.get(\"accept\")) === null || _headers$get === void 0 ? void 0 : _headers$get.split(\",\").some((t) => t.trim() === \"application/jsonl\")) ? \"application/jsonl\" : null;\n}\n/**\n* Memoize a function that takes no arguments\n* @internal\n*/\nfunction memo(fn) {\n\tlet promise = null;\n\tconst sym = Symbol.for(\"@trpc/server/http/memo\");\n\tlet value = sym;\n\treturn {\n\t\tread: async () => {\n\t\t\tvar _promise;\n\t\t\tif (value !== sym) return value;\n\t\t\t(_promise = promise) !== null && _promise !== void 0 || (promise = fn().catch((cause) => {\n\t\t\t\tif (cause instanceof TRPCError) throw cause;\n\t\t\t\tthrow new TRPCError({\n\t\t\t\t\tcode: \"BAD_REQUEST\",\n\t\t\t\t\tmessage: cause instanceof Error ? cause.message : \"Invalid input\",\n\t\t\t\t\tcause\n\t\t\t\t});\n\t\t\t}));\n\t\t\tvalue = await promise;\n\t\t\tpromise = null;\n\t\t\treturn value;\n\t\t},\n\t\tresult: () => {\n\t\t\treturn value !== sym ? value : void 0;\n\t\t}\n\t};\n}\nconst jsonContentTypeHandler = {\n\tisMatch(req) {\n\t\tvar _req$headers$get;\n\t\treturn !!((_req$headers$get = req.headers.get(\"content-type\")) === null || _req$headers$get === void 0 ? void 0 : _req$headers$get.startsWith(\"application/json\"));\n\t},\n\tasync parse(opts) {\n\t\tvar _types$values$next$va;\n\t\tconst { req } = opts;\n\t\tconst isBatchCall = opts.searchParams.get(\"batch\") === \"1\";\n\t\tconst maxBatchSize = opts.maxBatchSize;\n\t\tconst paths = isBatchCall ? opts.path.split(\",\") : [opts.path];\n\t\tif (isBatchCall && typeof maxBatchSize === \"number\" && paths.length > maxBatchSize) throw new TRPCError({\n\t\t\tcode: \"BAD_REQUEST\",\n\t\t\tmessage: `Batch call exceeds maximum size`\n\t\t});\n\t\tconst getInputs = memo(async () => {\n\t\t\tlet inputs = void 0;\n\t\t\tif (req.method === \"GET\") {\n\t\t\t\tconst queryInput = opts.searchParams.get(\"input\");\n\t\t\t\tif (queryInput) inputs = JSON.parse(queryInput);\n\t\t\t} else inputs = await req.json();\n\t\t\tif (inputs === void 0) return emptyObject();\n\t\t\tif (!isBatchCall) {\n\t\t\t\tconst result = emptyObject();\n\t\t\t\tresult[0] = opts.router._def._config.transformer.input.deserialize(inputs);\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\tif (!isObject(inputs)) throw new TRPCError({\n\t\t\t\tcode: \"BAD_REQUEST\",\n\t\t\t\tmessage: \"\\\"input\\\" needs to be an object when doing a batch call\"\n\t\t\t});\n\t\t\tconst acc = emptyObject();\n\t\t\tfor (const index of paths.keys()) {\n\t\t\t\tconst input = inputs[index];\n\t\t\t\tif (input !== void 0) acc[index] = opts.router._def._config.transformer.input.deserialize(input);\n\t\t\t}\n\t\t\treturn acc;\n\t\t});\n\t\tconst calls = await Promise.all(paths.map(async (path, index) => {\n\t\t\tconst procedure = await getProcedureAtPath(opts.router, path);\n\t\t\treturn {\n\t\t\t\tbatchIndex: index,\n\t\t\t\tpath,\n\t\t\t\tprocedure,\n\t\t\t\tgetRawInput: async () => {\n\t\t\t\t\tconst inputs = await getInputs.read();\n\t\t\t\t\tlet input = inputs[index];\n\t\t\t\t\tif ((procedure === null || procedure === void 0 ? void 0 : procedure._def.type) === \"subscription\") {\n\t\t\t\t\t\tvar _ref2, _opts$headers$get;\n\t\t\t\t\t\tconst lastEventId = (_ref2 = (_opts$headers$get = opts.headers.get(\"last-event-id\")) !== null && _opts$headers$get !== void 0 ? _opts$headers$get : opts.searchParams.get(\"lastEventId\")) !== null && _ref2 !== void 0 ? _ref2 : opts.searchParams.get(\"Last-Event-Id\");\n\t\t\t\t\t\tif (lastEventId) if (isObject(input)) input = (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, input), {}, { lastEventId });\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar _input;\n\t\t\t\t\t\t\t(_input = input) !== null && _input !== void 0 || (input = { lastEventId });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn input;\n\t\t\t\t},\n\t\t\t\tresult: () => {\n\t\t\t\t\tvar _getInputs$result;\n\t\t\t\t\treturn (_getInputs$result = getInputs.result()) === null || _getInputs$result === void 0 ? void 0 : _getInputs$result[index];\n\t\t\t\t}\n\t\t\t};\n\t\t}));\n\t\tconst types = new Set(calls.map((call) => {\n\t\t\tvar _call$procedure;\n\t\t\treturn (_call$procedure = call.procedure) === null || _call$procedure === void 0 ? void 0 : _call$procedure._def.type;\n\t\t}).filter(Boolean));\n\t\t/* istanbul ignore if -- @preserve */\n\t\tif (types.size > 1) throw new TRPCError({\n\t\t\tcode: \"BAD_REQUEST\",\n\t\t\tmessage: `Cannot mix procedure types in call: ${Array.from(types).join(\", \")}`\n\t\t});\n\t\tconst type = (_types$values$next$va = types.values().next().value) !== null && _types$values$next$va !== void 0 ? _types$values$next$va : \"unknown\";\n\t\tconst connectionParamsStr = opts.searchParams.get(\"connectionParams\");\n\t\tconst info = {\n\t\t\tisBatchCall,\n\t\t\taccept: getAcceptHeader(req.headers),\n\t\t\tcalls,\n\t\t\ttype,\n\t\t\tconnectionParams: connectionParamsStr === null ? null : parseConnectionParamsFromString(connectionParamsStr),\n\t\t\tsignal: req.signal,\n\t\t\turl: opts.url\n\t\t};\n\t\treturn info;\n\t}\n};\nconst formDataContentTypeHandler = {\n\tisMatch(req) {\n\t\tvar _req$headers$get2;\n\t\treturn !!((_req$headers$get2 = req.headers.get(\"content-type\")) === null || _req$headers$get2 === void 0 ? void 0 : _req$headers$get2.startsWith(\"multipart/form-data\"));\n\t},\n\tasync parse(opts) {\n\t\tconst { req } = opts;\n\t\tif (req.method !== \"POST\") throw new TRPCError({\n\t\t\tcode: \"METHOD_NOT_SUPPORTED\",\n\t\t\tmessage: \"Only POST requests are supported for multipart/form-data requests\"\n\t\t});\n\t\tconst getInputs = memo(async () => {\n\t\t\tconst fd = await req.formData();\n\t\t\treturn fd;\n\t\t});\n\t\tconst procedure = await getProcedureAtPath(opts.router, opts.path);\n\t\treturn {\n\t\t\taccept: null,\n\t\t\tcalls: [{\n\t\t\t\tbatchIndex: 0,\n\t\t\t\tpath: opts.path,\n\t\t\t\tgetRawInput: getInputs.read,\n\t\t\t\tresult: getInputs.result,\n\t\t\t\tprocedure\n\t\t\t}],\n\t\t\tisBatchCall: false,\n\t\t\ttype: \"mutation\",\n\t\t\tconnectionParams: null,\n\t\t\tsignal: req.signal,\n\t\t\turl: opts.url\n\t\t};\n\t}\n};\nconst octetStreamContentTypeHandler = {\n\tisMatch(req) {\n\t\tvar _req$headers$get3;\n\t\treturn !!((_req$headers$get3 = req.headers.get(\"content-type\")) === null || _req$headers$get3 === void 0 ? void 0 : _req$headers$get3.startsWith(\"application/octet-stream\"));\n\t},\n\tasync parse(opts) {\n\t\tconst { req } = opts;\n\t\tif (req.method !== \"POST\") throw new TRPCError({\n\t\t\tcode: \"METHOD_NOT_SUPPORTED\",\n\t\t\tmessage: \"Only POST requests are supported for application/octet-stream requests\"\n\t\t});\n\t\tconst getInputs = memo(async () => {\n\t\t\treturn req.body;\n\t\t});\n\t\treturn {\n\t\t\tcalls: [{\n\t\t\t\tbatchIndex: 0,\n\t\t\t\tpath: opts.path,\n\t\t\t\tgetRawInput: getInputs.read,\n\t\t\t\tresult: getInputs.result,\n\t\t\t\tprocedure: await getProcedureAtPath(opts.router, opts.path)\n\t\t\t}],\n\t\t\tisBatchCall: false,\n\t\t\taccept: null,\n\t\t\ttype: \"mutation\",\n\t\t\tconnectionParams: null,\n\t\t\tsignal: req.signal,\n\t\t\turl: opts.url\n\t\t};\n\t}\n};\nconst handlers = [\n\tjsonContentTypeHandler,\n\tformDataContentTypeHandler,\n\toctetStreamContentTypeHandler\n];\nfunction getContentTypeHandler(req) {\n\tconst handler = handlers.find((handler$1) => handler$1.isMatch(req));\n\tif (handler) return handler;\n\tif (!handler && req.method === \"GET\") return jsonContentTypeHandler;\n\tthrow new TRPCError({\n\t\tcode: \"UNSUPPORTED_MEDIA_TYPE\",\n\t\tmessage: req.headers.has(\"content-type\") ? `Unsupported content-type \"${req.headers.get(\"content-type\")}` : \"Missing content-type header\"\n\t});\n}\nasync function getRequestInfo(opts) {\n\tconst handler = getContentTypeHandler(opts.req);\n\treturn await handler.parse(opts);\n}\n\n//#endregion\n//#region src/unstable-core-do-not-import/http/abortError.ts\nfunction isAbortError(error) {\n\treturn isObject(error) && error[\"name\"] === \"AbortError\";\n}\nfunction throwAbortError(message = \"AbortError\") {\n\tthrow new DOMException(message, \"AbortError\");\n}\n\n//#endregion\n//#region src/vendor/is-plain-object.ts\n/*!\n* is-plain-object <https://github.com/jonschlinkert/is-plain-object>\n*\n* Copyright (c) 2014-2017, Jon Schlinkert.\n* Released under the MIT License.\n*/\nfunction isObject$1(o) {\n\treturn Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction isPlainObject(o) {\n\tvar ctor, prot;\n\tif (isObject$1(o) === false) return false;\n\tctor = o.constructor;\n\tif (ctor === void 0) return true;\n\tprot = ctor.prototype;\n\tif (isObject$1(prot) === false) return false;\n\tif (prot.hasOwnProperty(\"isPrototypeOf\") === false) return false;\n\treturn true;\n}\n\n//#endregion\n//#region src/vendor/unpromise/unpromise.ts\nvar import_defineProperty = __toESM(require_defineProperty(), 1);\nlet _Symbol$toStringTag;\n/** Memory safe (weakmapped) cache of the ProxyPromise for each Promise,\n* which is retained for the lifetime of the original Promise.\n*/\nconst subscribableCache = /* @__PURE__ */ new WeakMap();\n/** A NOOP function allowing a consistent interface for settled\n* SubscribedPromises (settled promises are not subscribed - they resolve\n* immediately). */\nconst NOOP = () => {};\n_Symbol$toStringTag = Symbol.toStringTag;\n/**\n* Every `Promise<T>` can be shadowed by a single `ProxyPromise<T>`. It is\n* created once, cached and reused throughout the lifetime of the Promise. Get a\n* Promise's ProxyPromise using `Unpromise.proxy(promise)`.\n*\n* The `ProxyPromise<T>` attaches handlers to the original `Promise<T>`\n* `.then()` and `.catch()` just once. Promises derived from it use a\n* subscription- (and unsubscription-) based mechanism that monitors these\n* handlers.\n*\n* Every time you call `.subscribe()`, `.then()` `.catch()` or `.finally()` on a\n* `ProxyPromise<T>` it returns a `SubscribedPromise<T>` having an additional\n* `unsubscribe()` method. Calling `unsubscribe()` detaches reference chains\n* from the original, potentially long-lived Promise, eliminating memory leaks.\n*\n* This approach can eliminate the memory leaks that otherwise come about from\n* repeated `race()` or `any()` calls invoking `.then()` and `.catch()` multiple\n* times on the same long-lived native Promise (subscriptions which can never be\n* cleaned up).\n*\n* `Unpromise.race(promises)` is a reference implementation of `Promise.race`\n* avoiding memory leaks when using long-lived unsettled Promises.\n*\n* `Unpromise.any(promises)` is a reference implementation of `Promise.any`\n* avoiding memory leaks when using long-lived unsettled Promises.\n*\n* `Unpromise.resolve(promise)` returns an ephemeral `SubscribedPromise<T>` for\n* any given `Promise<T>` facilitating arbitrary async/await patterns. Behind\n* the scenes, `resolve` is implemented simply as\n* `Unpromise.proxy(promise).subscribe()`. Don't forget to call `.unsubscribe()`\n* to tidy up!\n*\n*/\nvar Unpromise = class Unpromise {\n\tconstructor(arg) {\n\t\t(0, import_defineProperty.default)(this, \"promise\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"subscribers\", []);\n\t\t(0, import_defineProperty.default)(this, \"settlement\", null);\n\t\t(0, import_defineProperty.default)(this, _Symbol$toStringTag, \"Unpromise\");\n\t\tif (typeof arg === \"function\") this.promise = new Promise(arg);\n\t\telse this.promise = arg;\n\t\tconst thenReturn = this.promise.then((value) => {\n\t\t\tconst { subscribers } = this;\n\t\t\tthis.subscribers = null;\n\t\t\tthis.settlement = {\n\t\t\t\tstatus: \"fulfilled\",\n\t\t\t\tvalue\n\t\t\t};\n\t\t\tsubscribers === null || subscribers === void 0 || subscribers.forEach(({ resolve }) => {\n\t\t\t\tresolve(value);\n\t\t\t});\n\t\t});\n\t\tif (\"catch\" in thenReturn) thenReturn.catch((reason) => {\n\t\t\tconst { subscribers } = this;\n\t\t\tthis.subscribers = null;\n\t\t\tthis.settlement = {\n\t\t\t\tstatus: \"rejected\",\n\t\t\t\treason\n\t\t\t};\n\t\t\tsubscribers === null || subscribers === void 0 || subscribers.forEach(({ reject }) => {\n\t\t\t\treject(reason);\n\t\t\t});\n\t\t});\n\t}\n\t/** Create a promise that mitigates uncontrolled subscription to a long-lived\n\t* Promise via .then() and .catch() - otherwise a source of memory leaks.\n\t*\n\t* The returned promise has an `unsubscribe()` method which can be called when\n\t* the Promise is no longer being tracked by application logic, and which\n\t* ensures that there is no reference chain from the original promise to the\n\t* new one, and therefore no memory leak.\n\t*\n\t* If original promise has not yet settled, this adds a new unique promise\n\t* that listens to then/catch events, along with an `unsubscribe()` method to\n\t* detach it.\n\t*\n\t* If original promise has settled, then creates a new Promise.resolve() or\n\t* Promise.reject() and provided unsubscribe is a noop.\n\t*\n\t* If you call `unsubscribe()` before the returned Promise has settled, it\n\t* will never settle.\n\t*/\n\tsubscribe() {\n\t\tlet promise;\n\t\tlet unsubscribe;\n\t\tconst { settlement } = this;\n\t\tif (settlement === null) {\n\t\t\tif (this.subscribers === null) throw new Error(\"Unpromise settled but still has subscribers\");\n\t\t\tconst subscriber = withResolvers();\n\t\t\tthis.subscribers = listWithMember(this.subscribers, subscriber);\n\t\t\tpromise = subscriber.promise;\n\t\t\tunsubscribe = () => {\n\t\t\t\tif (this.subscribers !== null) this.subscribers = listWithoutMember(this.subscribers, subscriber);\n\t\t\t};\n\t\t} else {\n\t\t\tconst { status } = settlement;\n\t\t\tif (status === \"fulfilled\") promise = Promise.resolve(settlement.value);\n\t\t\telse promise = Promise.reject(settlement.reason);\n\t\t\tunsubscribe = NOOP;\n\t\t}\n\t\treturn Object.assign(promise, { unsubscribe });\n\t}\n\t/** STANDARD PROMISE METHODS (but returning a SubscribedPromise) */\n\tthen(onfulfilled, onrejected) {\n\t\tconst subscribed = this.subscribe();\n\t\tconst { unsubscribe } = subscribed;\n\t\treturn Object.assign(subscribed.then(onfulfilled, onrejected), { unsubscribe });\n\t}\n\tcatch(onrejected) {\n\t\tconst subscribed = this.subscribe();\n\t\tconst { unsubscribe } = subscribed;\n\t\treturn Object.assign(subscribed.catch(onrejected), { unsubscribe });\n\t}\n\tfinally(onfinally) {\n\t\tconst subscribed = this.subscribe();\n\t\tconst { unsubscribe } = subscribed;\n\t\treturn Object.assign(subscribed.finally(onfinally), { unsubscribe });\n\t}\n\t/** Unpromise STATIC METHODS */\n\t/** Create or Retrieve the proxy Unpromise (a re-used Unpromise for the VM lifetime\n\t* of the provided Promise reference) */\n\tstatic proxy(promise) {\n\t\tconst cached = Unpromise.getSubscribablePromise(promise);\n\t\treturn typeof cached !== \"undefined\" ? cached : Unpromise.createSubscribablePromise(promise);\n\t}\n\t/** Create and store an Unpromise keyed by an original Promise. */\n\tstatic createSubscribablePromise(promise) {\n\t\tconst created = new Unpromise(promise);\n\t\tsubscribableCache.set(promise, created);\n\t\tsubscribableCache.set(created, created);\n\t\treturn created;\n\t}\n\t/** Retrieve a previously-created Unpromise keyed by an original Promise. */\n\tstatic getSubscribablePromise(promise) {\n\t\treturn subscribableCache.get(promise);\n\t}\n\t/** Promise STATIC METHODS */\n\t/** Lookup the Unpromise for this promise, and derive a SubscribedPromise from\n\t* it (that can be later unsubscribed to eliminate Memory leaks) */\n\tstatic resolve(value) {\n\t\tconst promise = typeof value === \"object\" && value !== null && \"then\" in value && typeof value.then === \"function\" ? value : Promise.resolve(value);\n\t\treturn Unpromise.proxy(promise).subscribe();\n\t}\n\tstatic async any(values) {\n\t\tconst valuesArray = Array.isArray(values) ? values : [...values];\n\t\tconst subscribedPromises = valuesArray.map(Unpromise.resolve);\n\t\ttry {\n\t\t\treturn await Promise.any(subscribedPromises);\n\t\t} finally {\n\t\t\tsubscribedPromises.forEach(({ unsubscribe }) => {\n\t\t\t\tunsubscribe();\n\t\t\t});\n\t\t}\n\t}\n\tstatic async race(values) {\n\t\tconst valuesArray = Array.isArray(values) ? values : [...values];\n\t\tconst subscribedPromises = valuesArray.map(Unpromise.resolve);\n\t\ttry {\n\t\t\treturn await Promise.race(subscribedPromises);\n\t\t} finally {\n\t\t\tsubscribedPromises.forEach(({ unsubscribe }) => {\n\t\t\t\tunsubscribe();\n\t\t\t});\n\t\t}\n\t}\n\t/** Create a race of SubscribedPromises that will fulfil to a single winning\n\t* Promise (in a 1-Tuple). Eliminates memory leaks from long-lived promises\n\t* accumulating .then() and .catch() subscribers. Allows simple logic to\n\t* consume the result, like...\n\t* ```ts\n\t* const [ winner ] = await Unpromise.race([ promiseA, promiseB ]);\n\t* if(winner === promiseB){\n\t* const result = await promiseB;\n\t* // do the thing\n\t* }\n\t* ```\n\t* */\n\tstatic async raceReferences(promises) {\n\t\tconst selfPromises = promises.map(resolveSelfTuple);\n\t\ttry {\n\t\t\treturn await Promise.race(selfPromises);\n\t\t} finally {\n\t\t\tfor (const promise of selfPromises) promise.unsubscribe();\n\t\t}\n\t}\n};\n/** Promises a 1-tuple containing the original promise when it resolves. Allows\n* awaiting the eventual Promise ***reference*** (easy to destructure and\n* exactly compare with ===). Avoids resolving to the Promise ***value*** (which\n* may be ambiguous and therefore hard to identify as the winner of a race).\n* You can call unsubscribe on the Promise to mitigate memory leaks.\n* */\nfunction resolveSelfTuple(promise) {\n\treturn Unpromise.proxy(promise).then(() => [promise]);\n}\n/** VENDORED (Future) PROMISE UTILITIES */\n/** Reference implementation of https://github.com/tc39/proposal-promise-with-resolvers */\nfunction withResolvers() {\n\tlet resolve;\n\tlet reject;\n\tconst promise = new Promise((_resolve, _reject) => {\n\t\tresolve = _resolve;\n\t\treject = _reject;\n\t});\n\treturn {\n\t\tpromise,\n\t\tresolve,\n\t\treject\n\t};\n}\n/** IMMUTABLE LIST OPERATIONS */\nfunction listWithMember(arr, member) {\n\treturn [...arr, member];\n}\nfunction listWithoutIndex(arr, index) {\n\treturn [...arr.slice(0, index), ...arr.slice(index + 1)];\n}\nfunction listWithoutMember(arr, member) {\n\tconst index = arr.indexOf(member);\n\tif (index !== -1) return listWithoutIndex(arr, index);\n\treturn arr;\n}\n\n//#endregion\n//#region src/unstable-core-do-not-import/stream/utils/disposable.ts\nvar _Symbol, _Symbol$dispose, _Symbol2, _Symbol2$asyncDispose;\n(_Symbol$dispose = (_Symbol = Symbol).dispose) !== null && _Symbol$dispose !== void 0 || (_Symbol.dispose = Symbol());\n(_Symbol2$asyncDispose = (_Symbol2 = Symbol).asyncDispose) !== null && _Symbol2$asyncDispose !== void 0 || (_Symbol2.asyncDispose = Symbol());\n/**\n* Takes a value and a dispose function and returns a new object that implements the Disposable interface.\n* The returned object is the original value augmented with a Symbol.dispose method.\n* @param thing The value to make disposable\n* @param dispose Function to call when disposing the resource\n* @returns The original value with Symbol.dispose method added\n*/\nfunction makeResource(thing, dispose) {\n\tconst it = thing;\n\tconst existing = it[Symbol.dispose];\n\tit[Symbol.dispose] = () => {\n\t\tdispose();\n\t\texisting === null || existing === void 0 || existing();\n\t};\n\treturn it;\n}\n/**\n* Takes a value and an async dispose function and returns a new object that implements the AsyncDisposable interface.\n* The returned object is the original value augmented with a Symbol.asyncDispose method.\n* @param thing The value to make async disposable\n* @param dispose Async function to call when disposing the resource\n* @returns The original value with Symbol.asyncDispose method added\n*/\nfunction makeAsyncResource(thing, dispose) {\n\tconst it = thing;\n\tconst existing = it[Symbol.asyncDispose];\n\tit[Symbol.asyncDispose] = async () => {\n\t\tawait dispose();\n\t\tawait (existing === null || existing === void 0 ? void 0 : existing());\n\t};\n\treturn it;\n}\n\n//#endregion\n//#region src/unstable-core-do-not-import/stream/utils/timerResource.ts\nconst disposablePromiseTimerResult = Symbol();\nfunction timerResource(ms) {\n\tlet timer = null;\n\treturn makeResource({ start() {\n\t\tif (timer) throw new Error(\"Timer already started\");\n\t\tconst promise = new Promise((resolve) => {\n\t\t\ttimer = setTimeout(() => resolve(disposablePromiseTimerResult), ms);\n\t\t});\n\t\treturn promise;\n\t} }, () => {\n\t\tif (timer) clearTimeout(timer);\n\t});\n}\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js\nvar require_usingCtx = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js\"(exports, module) {\n\tfunction _usingCtx() {\n\t\tvar r = \"function\" == typeof SuppressedError ? SuppressedError : function(r$1, e$1) {\n\t\t\tvar n$1 = Error();\n\t\t\treturn n$1.name = \"SuppressedError\", n$1.error = r$1, n$1.suppressed = e$1, n$1;\n\t\t}, e = {}, n = [];\n\t\tfunction using(r$1, e$1) {\n\t\t\tif (null != e$1) {\n\t\t\t\tif (Object(e$1) !== e$1) throw new TypeError(\"using declarations can only be used with objects, functions, null, or undefined.\");\n\t\t\t\tif (r$1) var o = e$1[Symbol.asyncDispose || Symbol[\"for\"](\"Symbol.asyncDispose\")];\n\t\t\t\tif (void 0 === o && (o = e$1[Symbol.dispose || Symbol[\"for\"](\"Symbol.dispose\")], r$1)) var t = o;\n\t\t\t\tif (\"function\" != typeof o) throw new TypeError(\"Object is not disposable.\");\n\t\t\t\tt && (o = function o$1() {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tt.call(e$1);\n\t\t\t\t\t} catch (r$2) {\n\t\t\t\t\t\treturn Promise.reject(r$2);\n\t\t\t\t\t}\n\t\t\t\t}), n.push({\n\t\t\t\t\tv: e$1,\n\t\t\t\t\td: o,\n\t\t\t\t\ta: r$1\n\t\t\t\t});\n\t\t\t} else r$1 && n.push({\n\t\t\t\td: e$1,\n\t\t\t\ta: r$1\n\t\t\t});\n\t\t\treturn e$1;\n\t\t}\n\t\treturn {\n\t\t\te,\n\t\t\tu: using.bind(null, !1),\n\t\t\ta: using.bind(null, !0),\n\t\t\td: function d() {\n\t\t\t\tvar o, t = this.e, s = 0;\n\t\t\t\tfunction next() {\n\t\t\t\t\tfor (; o = n.pop();) try {\n\t\t\t\t\t\tif (!o.a && 1 === s) return s = 0, n.push(o), Promise.resolve().then(next);\n\t\t\t\t\t\tif (o.d) {\n\t\t\t\t\t\t\tvar r$1 = o.d.call(o.v);\n\t\t\t\t\t\t\tif (o.a) return s |= 2, Promise.resolve(r$1).then(next, err);\n\t\t\t\t\t\t} else s |= 1;\n\t\t\t\t\t} catch (r$2) {\n\t\t\t\t\t\treturn err(r$2);\n\t\t\t\t\t}\n\t\t\t\t\tif (1 === s) return t !== e ? Promise.reject(t) : Promise.resolve();\n\t\t\t\t\tif (t !== e) throw t;\n\t\t\t\t}\n\t\t\t\tfunction err(n$1) {\n\t\t\t\t\treturn t = t !== e ? new r(n$1, t) : n$1, next();\n\t\t\t\t}\n\t\t\t\treturn next();\n\t\t\t}\n\t\t};\n\t}\n\tmodule.exports = _usingCtx, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/OverloadYield.js\nvar require_OverloadYield = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/OverloadYield.js\"(exports, module) {\n\tfunction _OverloadYield(e, d) {\n\t\tthis.v = e, this.k = d;\n\t}\n\tmodule.exports = _OverloadYield, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/awaitAsyncGenerator.js\nvar require_awaitAsyncGenerator = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/awaitAsyncGenerator.js\"(exports, module) {\n\tvar OverloadYield$2 = require_OverloadYield();\n\tfunction _awaitAsyncGenerator$5(e) {\n\t\treturn new OverloadYield$2(e, 0);\n\t}\n\tmodule.exports = _awaitAsyncGenerator$5, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/wrapAsyncGenerator.js\nvar require_wrapAsyncGenerator = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/wrapAsyncGenerator.js\"(exports, module) {\n\tvar OverloadYield$1 = require_OverloadYield();\n\tfunction _wrapAsyncGenerator$6(e) {\n\t\treturn function() {\n\t\t\treturn new AsyncGenerator(e.apply(this, arguments));\n\t\t};\n\t}\n\tfunction AsyncGenerator(e) {\n\t\tvar r, t;\n\t\tfunction resume(r$1, t$1) {\n\t\t\ttry {\n\t\t\t\tvar n = e[r$1](t$1), o = n.value, u = o instanceof OverloadYield$1;\n\t\t\t\tPromise.resolve(u ? o.v : o).then(function(t$2) {\n\t\t\t\t\tif (u) {\n\t\t\t\t\t\tvar i = \"return\" === r$1 ? \"return\" : \"next\";\n\t\t\t\t\t\tif (!o.k || t$2.done) return resume(i, t$2);\n\t\t\t\t\t\tt$2 = e[i](t$2).value;\n\t\t\t\t\t}\n\t\t\t\t\tsettle(n.done ? \"return\" : \"normal\", t$2);\n\t\t\t\t}, function(e$1) {\n\t\t\t\t\tresume(\"throw\", e$1);\n\t\t\t\t});\n\t\t\t} catch (e$1) {\n\t\t\t\tsettle(\"throw\", e$1);\n\t\t\t}\n\t\t}\n\t\tfunction settle(e$1, n) {\n\t\t\tswitch (e$1) {\n\t\t\t\tcase \"return\":\n\t\t\t\t\tr.resolve({\n\t\t\t\t\t\tvalue: n,\n\t\t\t\t\t\tdone: !0\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"throw\":\n\t\t\t\t\tr.reject(n);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: r.resolve({\n\t\t\t\t\tvalue: n,\n\t\t\t\t\tdone: !1\n\t\t\t\t});\n\t\t\t}\n\t\t\t(r = r.next) ? resume(r.key, r.arg) : t = null;\n\t\t}\n\t\tthis._invoke = function(e$1, n) {\n\t\t\treturn new Promise(function(o, u) {\n\t\t\t\tvar i = {\n\t\t\t\t\tkey: e$1,\n\t\t\t\t\targ: n,\n\t\t\t\t\tresolve: o,\n\t\t\t\t\treject: u,\n\t\t\t\t\tnext: null\n\t\t\t\t};\n\t\t\t\tt ? t = t.next = i : (r = t = i, resume(e$1, n));\n\t\t\t});\n\t\t}, \"function\" != typeof e[\"return\"] && (this[\"return\"] = void 0);\n\t}\n\tAsyncGenerator.prototype[\"function\" == typeof Symbol && Symbol.asyncIterator || \"@@asyncIterator\"] = function() {\n\t\treturn this;\n\t}, AsyncGenerator.prototype.next = function(e) {\n\t\treturn this._invoke(\"next\", e);\n\t}, AsyncGenerator.prototype[\"throw\"] = function(e) {\n\t\treturn this._invoke(\"throw\", e);\n\t}, AsyncGenerator.prototype[\"return\"] = function(e) {\n\t\treturn this._invoke(\"return\", e);\n\t};\n\tmodule.exports = _wrapAsyncGenerator$6, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region src/unstable-core-do-not-import/stream/utils/asyncIterable.ts\nvar import_usingCtx$4 = __toESM(require_usingCtx(), 1);\nvar import_awaitAsyncGenerator$4 = __toESM(require_awaitAsyncGenerator(), 1);\nvar import_wrapAsyncGenerator$5 = __toESM(require_wrapAsyncGenerator(), 1);\nfunction iteratorResource(iterable) {\n\tconst iterator = iterable[Symbol.asyncIterator]();\n\tif (iterator[Symbol.asyncDispose]) return iterator;\n\treturn makeAsyncResource(iterator, async () => {\n\t\tvar _iterator$return;\n\t\tawait ((_iterator$return = iterator.return) === null || _iterator$return === void 0 ? void 0 : _iterator$return.call(iterator));\n\t});\n}\n/**\n* Derives a new {@link AsyncGenerator} based of {@link iterable}, that yields its first\n* {@link count} values. Then, a grace period of {@link gracePeriodMs} is started in which further\n* values may still come through. After this period, the generator aborts.\n*/\nfunction takeWithGrace(_x, _x2) {\n\treturn _takeWithGrace.apply(this, arguments);\n}\nfunction _takeWithGrace() {\n\t_takeWithGrace = (0, import_wrapAsyncGenerator$5.default)(function* (iterable, opts) {\n\t\ttry {\n\t\t\tvar _usingCtx$1 = (0, import_usingCtx$4.default)();\n\t\t\tconst iterator = _usingCtx$1.a(iteratorResource(iterable));\n\t\t\tlet result;\n\t\t\tconst timer = _usingCtx$1.u(timerResource(opts.gracePeriodMs));\n\t\t\tlet count = opts.count;\n\t\t\tlet timerPromise = new Promise(() => {});\n\t\t\twhile (true) {\n\t\t\t\tresult = yield (0, import_awaitAsyncGenerator$4.default)(Unpromise.race([iterator.next(), timerPromise]));\n\t\t\t\tif (result === disposablePromiseTimerResult) throwAbortError();\n\t\t\t\tif (result.done) return result.value;\n\t\t\t\tyield result.value;\n\t\t\t\tif (--count === 0) timerPromise = timer.start();\n\t\t\t\tresult = null;\n\t\t\t}\n\t\t} catch (_) {\n\t\t\t_usingCtx$1.e = _;\n\t\t} finally {\n\t\t\tyield (0, import_awaitAsyncGenerator$4.default)(_usingCtx$1.d());\n\t\t}\n\t});\n\treturn _takeWithGrace.apply(this, arguments);\n}\n\n//#endregion\n//#region src/unstable-core-do-not-import/stream/utils/createDeferred.ts\nfunction createDeferred() {\n\tlet resolve;\n\tlet reject;\n\tconst promise = new Promise((res, rej) => {\n\t\tresolve = res;\n\t\treject = rej;\n\t});\n\treturn {\n\t\tpromise,\n\t\tresolve,\n\t\treject\n\t};\n}\n\n//#endregion\n//#region src/unstable-core-do-not-import/stream/utils/mergeAsyncIterables.ts\nvar import_usingCtx$3 = __toESM(require_usingCtx(), 1);\nvar import_awaitAsyncGenerator$3 = __toESM(require_awaitAsyncGenerator(), 1);\nvar import_wrapAsyncGenerator$4 = __toESM(require_wrapAsyncGenerator(), 1);\nfunction createManagedIterator(iterable, onResult) {\n\tconst iterator = iterable[Symbol.asyncIterator]();\n\tlet state = \"idle\";\n\tfunction cleanup() {\n\t\tstate = \"done\";\n\t\tonResult = () => {};\n\t}\n\tfunction pull() {\n\t\tif (state !== \"idle\") return;\n\t\tstate = \"pending\";\n\t\tconst next = iterator.next();\n\t\tnext.then((result) => {\n\t\t\tif (result.done) {\n\t\t\t\tstate = \"done\";\n\t\t\t\tonResult({\n\t\t\t\t\tstatus: \"return\",\n\t\t\t\t\tvalue: result.value\n\t\t\t\t});\n\t\t\t\tcleanup();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tstate = \"idle\";\n\t\t\tonResult({\n\t\t\t\tstatus: \"yield\",\n\t\t\t\tvalue: result.value\n\t\t\t});\n\t\t}).catch((cause) => {\n\t\t\tonResult({\n\t\t\t\tstatus: \"error\",\n\t\t\t\terror: cause\n\t\t\t});\n\t\t\tcleanup();\n\t\t});\n\t}\n\treturn {\n\t\tpull,\n\t\tdestroy: async () => {\n\t\t\tvar _iterator$return;\n\t\t\tcleanup();\n\t\t\tawait ((_iterator$return = iterator.return) === null || _iterator$return === void 0 ? void 0 : _iterator$return.call(iterator));\n\t\t}\n\t};\n}\n/**\n* Creates a new async iterable that merges multiple async iterables into a single stream.\n* Values from the input iterables are yielded in the order they resolve, similar to Promise.race().\n*\n* New iterables can be added dynamically using the returned {@link MergedAsyncIterables.add} method, even after iteration has started.\n*\n* If any of the input iterables throws an error, that error will be propagated through the merged stream.\n* Other iterables will not continue to be processed.\n*\n* @template TYield The type of values yielded by the input iterables\n*/\nfunction mergeAsyncIterables() {\n\tlet state = \"idle\";\n\tlet flushSignal = createDeferred();\n\t/**\n\t* used while {@link state} is `idle`\n\t*/\n\tconst iterables = [];\n\t/**\n\t* used while {@link state} is `pending`\n\t*/\n\tconst iterators = /* @__PURE__ */ new Set();\n\tconst buffer = [];\n\tfunction initIterable(iterable) {\n\t\tif (state !== \"pending\") return;\n\t\tconst iterator = createManagedIterator(iterable, (result) => {\n\t\t\tif (state !== \"pending\") return;\n\t\t\tswitch (result.status) {\n\t\t\t\tcase \"yield\":\n\t\t\t\t\tbuffer.push([iterator, result]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"return\":\n\t\t\t\t\titerators.delete(iterator);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"error\":\n\t\t\t\t\tbuffer.push([iterator, result]);\n\t\t\t\t\titerators.delete(iterator);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tflushSignal.resolve();\n\t\t});\n\t\titerators.add(iterator);\n\t\titerator.pull();\n\t}\n\treturn {\n\t\tadd(iterable) {\n\t\t\tswitch (state) {\n\t\t\t\tcase \"idle\":\n\t\t\t\t\titerables.push(iterable);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"pending\":\n\t\t\t\t\tinitIterable(iterable);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"done\": break;\n\t\t\t}\n\t\t},\n\t\t[Symbol.asyncIterator]() {\n\t\t\treturn (0, import_wrapAsyncGenerator$4.default)(function* () {\n\t\t\t\ttry {\n\t\t\t\t\tvar _usingCtx$1 = (0, import_usingCtx$3.default)();\n\t\t\t\t\tif (state !== \"idle\") throw new Error(\"Cannot iterate twice\");\n\t\t\t\t\tstate = \"pending\";\n\t\t\t\t\tconst _finally = _usingCtx$1.a(makeAsyncResource({}, async () => {\n\t\t\t\t\t\tstate = \"done\";\n\t\t\t\t\t\tconst errors = [];\n\t\t\t\t\t\tawait Promise.all(Array.from(iterators.values()).map(async (it) => {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tawait it.destroy();\n\t\t\t\t\t\t\t} catch (cause) {\n\t\t\t\t\t\t\t\terrors.push(cause);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}));\n\t\t\t\t\t\tbuffer.length = 0;\n\t\t\t\t\t\titerators.clear();\n\t\t\t\t\t\tflushSignal.resolve();\n\t\t\t\t\t\tif (errors.length > 0) throw new AggregateError(errors);\n\t\t\t\t\t}));\n\t\t\t\t\twhile (iterables.length > 0) initIterable(iterables.shift());\n\t\t\t\t\twhile (iterators.size > 0) {\n\t\t\t\t\t\tyield (0, import_awaitAsyncGenerator$3.default)(flushSignal.promise);\n\t\t\t\t\t\twhile (buffer.length > 0) {\n\t\t\t\t\t\t\tconst [iterator, result] = buffer.shift();\n\t\t\t\t\t\t\tswitch (result.status) {\n\t\t\t\t\t\t\t\tcase \"yield\":\n\t\t\t\t\t\t\t\t\tyield result.value;\n\t\t\t\t\t\t\t\t\titerator.pull();\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"error\": throw result.error;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tflushSignal = createDeferred();\n\t\t\t\t\t}\n\t\t\t\t} catch (_) {\n\t\t\t\t\t_usingCtx$1.e = _;\n\t\t\t\t} finally {\n\t\t\t\t\tyield (0, import_awaitAsyncGenerator$3.default)(_usingCtx$1.d());\n\t\t\t\t}\n\t\t\t})();\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/unstable-core-do-not-import/stream/utils/readableStreamFrom.ts\n/**\n* Creates a ReadableStream from an AsyncIterable.\n*\n* @param iterable - The source AsyncIterable to stream from\n* @returns A ReadableStream that yields values from the AsyncIterable\n*/\nfunction readableStreamFrom(iterable) {\n\tconst iterator = iterable[Symbol.asyncIterator]();\n\treturn new ReadableStream({\n\t\tasync cancel() {\n\t\t\tvar _iterator$return;\n\t\t\tawait ((_iterator$return = iterator.return) === null || _iterator$return === void 0 ? void 0 : _iterator$return.call(iterator));\n\t\t},\n\t\tasync pull(controller) {\n\t\t\tconst result = await iterator.next();\n\t\t\tif (result.done) {\n\t\t\t\tcontroller.close();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcontroller.enqueue(result.value);\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/unstable-core-do-not-import/stream/utils/withPing.ts\nvar import_usingCtx$2 = __toESM(require_usingCtx(), 1);\nvar import_awaitAsyncGenerator$2 = __toESM(require_awaitAsyncGenerator(), 1);\nvar import_wrapAsyncGenerator$3 = __toESM(require_wrapAsyncGenerator(), 1);\nconst PING_SYM = Symbol(\"ping\");\n/**\n* Derives a new {@link AsyncGenerator} based of {@link iterable}, that yields {@link PING_SYM}\n* whenever no value has been yielded for {@link pingIntervalMs}.\n*/\nfunction withPing(_x, _x2) {\n\treturn _withPing.apply(this, arguments);\n}\nfunction _withPing() {\n\t_withPing = (0, import_wrapAsyncGenerator$3.default)(function* (iterable, pingIntervalMs) {\n\t\ttry {\n\t\t\tvar _usingCtx$1 = (0, import_usingCtx$2.default)();\n\t\t\tconst iterator = _usingCtx$1.a(iteratorResource(iterable));\n\t\t\tlet result;\n\t\t\tlet nextPromise = iterator.next();\n\t\t\twhile (true) try {\n\t\t\t\tvar _usingCtx3 = (0, import_usingCtx$2.default)();\n\t\t\t\tconst pingPromise = _usingCtx3.u(timerResource(pingIntervalMs));\n\t\t\t\tresult = yield (0, import_awaitAsyncGenerator$2.default)(Unpromise.race([nextPromise, pingPromise.start()]));\n\t\t\t\tif (result === disposablePromiseTimerResult) {\n\t\t\t\t\tyield PING_SYM;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (result.done) return result.value;\n\t\t\t\tnextPromise = iterator.next();\n\t\t\t\tyield result.value;\n\t\t\t\tresult = null;\n\t\t\t} catch (_) {\n\t\t\t\t_usingCtx3.e = _;\n\t\t\t} finally {\n\t\t\t\t_usingCtx3.d();\n\t\t\t}\n\t\t} catch (_) {\n\t\t\t_usingCtx$1.e = _;\n\t\t} finally {\n\t\t\tyield (0, import_awaitAsyncGenerator$2.default)(_usingCtx$1.d());\n\t\t}\n\t});\n\treturn _withPing.apply(this, arguments);\n}\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/asyncIterator.js\nvar require_asyncIterator = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/asyncIterator.js\"(exports, module) {\n\tfunction _asyncIterator$2(r) {\n\t\tvar n, t, o, e = 2;\n\t\tfor (\"undefined\" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) {\n\t\t\tif (t && null != (n = r[t])) return n.call(r);\n\t\t\tif (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r));\n\t\t\tt = \"@@asyncIterator\", o = \"@@iterator\";\n\t\t}\n\t\tthrow new TypeError(\"Object is not async iterable\");\n\t}\n\tfunction AsyncFromSyncIterator(r) {\n\t\tfunction AsyncFromSyncIteratorContinuation(r$1) {\n\t\t\tif (Object(r$1) !== r$1) return Promise.reject(new TypeError(r$1 + \" is not an object.\"));\n\t\t\tvar n = r$1.done;\n\t\t\treturn Promise.resolve(r$1.value).then(function(r$2) {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: r$2,\n\t\t\t\t\tdone: n\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t\treturn AsyncFromSyncIterator = function AsyncFromSyncIterator$1(r$1) {\n\t\t\tthis.s = r$1, this.n = r$1.next;\n\t\t}, AsyncFromSyncIterator.prototype = {\n\t\t\ts: null,\n\t\t\tn: null,\n\t\t\tnext: function next() {\n\t\t\t\treturn AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments));\n\t\t\t},\n\t\t\t\"return\": function _return(r$1) {\n\t\t\t\tvar n = this.s[\"return\"];\n\t\t\t\treturn void 0 === n ? Promise.resolve({\n\t\t\t\t\tvalue: r$1,\n\t\t\t\t\tdone: !0\n\t\t\t\t}) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));\n\t\t\t},\n\t\t\t\"throw\": function _throw(r$1) {\n\t\t\t\tvar n = this.s[\"return\"];\n\t\t\t\treturn void 0 === n ? Promise.reject(r$1) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));\n\t\t\t}\n\t\t}, new AsyncFromSyncIterator(r);\n\t}\n\tmodule.exports = _asyncIterator$2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region src/unstable-core-do-not-import/stream/jsonl.ts\nvar import_awaitAsyncGenerator$1 = __toESM(require_awaitAsyncGenerator(), 1);\nvar import_wrapAsyncGenerator$2 = __toESM(require_wrapAsyncGenerator(), 1);\nvar import_usingCtx$1 = __toESM(require_usingCtx(), 1);\nvar import_asyncIterator$1 = __toESM(require_asyncIterator(), 1);\nconst CHUNK_VALUE_TYPE_PROMISE = 0;\nconst CHUNK_VALUE_TYPE_ASYNC_ITERABLE = 1;\nconst PROMISE_STATUS_FULFILLED = 0;\nconst PROMISE_STATUS_REJECTED = 1;\nconst ASYNC_ITERABLE_STATUS_RETURN = 0;\nconst ASYNC_ITERABLE_STATUS_YIELD = 1;\nconst ASYNC_ITERABLE_STATUS_ERROR = 2;\nfunction isPromise(value) {\n\treturn (isObject(value) || isFunction(value)) && typeof (value === null || value === void 0 ? void 0 : value[\"then\"]) === \"function\" && typeof (value === null || value === void 0 ? void 0 : value[\"catch\"]) === \"function\";\n}\nvar MaxDepthError = class extends Error {\n\tconstructor(path) {\n\t\tsuper(\"Max depth reached at path: \" + path.join(\".\"));\n\t\tthis.path = path;\n\t}\n};\nfunction createBatchStreamProducer(_x3) {\n\treturn _createBatchStreamProducer.apply(this, arguments);\n}\nfunction _createBatchStreamProducer() {\n\t_createBatchStreamProducer = (0, import_wrapAsyncGenerator$2.default)(function* (opts) {\n\t\tconst { data } = opts;\n\t\tlet counter = 0;\n\t\tconst placeholder = 0;\n\t\tconst mergedIterables = mergeAsyncIterables();\n\t\tfunction registerAsync(callback) {\n\t\t\tconst idx = counter++;\n\t\t\tconst iterable$1 = callback(idx);\n\t\t\tmergedIterables.add(iterable$1);\n\t\t\treturn idx;\n\t\t}\n\t\tfunction encodePromise(promise, path) {\n\t\t\treturn registerAsync(/* @__PURE__ */ function() {\n\t\t\t\tvar _ref = (0, import_wrapAsyncGenerator$2.default)(function* (idx) {\n\t\t\t\t\tconst error = checkMaxDepth(path);\n\t\t\t\t\tif (error) {\n\t\t\t\t\t\tpromise.catch((cause) => {\n\t\t\t\t\t\t\tvar _opts$onError;\n\t\t\t\t\t\t\t(_opts$onError = opts.onError) === null || _opts$onError === void 0 || _opts$onError.call(opts, {\n\t\t\t\t\t\t\t\terror: cause,\n\t\t\t\t\t\t\t\tpath\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t\tpromise = Promise.reject(error);\n\t\t\t\t\t}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst next = yield (0, import_awaitAsyncGenerator$1.default)(promise);\n\t\t\t\t\t\tyield [\n\t\t\t\t\t\t\tidx,\n\t\t\t\t\t\t\tPROMISE_STATUS_FULFILLED,\n\t\t\t\t\t\t\tencode(next, path)\n\t\t\t\t\t\t];\n\t\t\t\t\t} catch (cause) {\n\t\t\t\t\t\tvar _opts$onError2, _opts$formatError;\n\t\t\t\t\t\t(_opts$onError2 = opts.onError) === null || _opts$onError2 === void 0 || _opts$onError2.call(opts, {\n\t\t\t\t\t\t\terror: cause,\n\t\t\t\t\t\t\tpath\n\t\t\t\t\t\t});\n\t\t\t\t\t\tyield [\n\t\t\t\t\t\t\tidx,\n\t\t\t\t\t\t\tPROMISE_STATUS_REJECTED,\n\t\t\t\t\t\t\t(_opts$formatError = opts.formatError) === null || _opts$formatError === void 0 ? void 0 : _opts$formatError.call(opts, {\n\t\t\t\t\t\t\t\terror: cause,\n\t\t\t\t\t\t\t\tpath\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn function(_x) {\n\t\t\t\t\treturn _ref.apply(this, arguments);\n\t\t\t\t};\n\t\t\t}());\n\t\t}\n\t\tfunction encodeAsyncIterable(iterable$1, path) {\n\t\t\treturn registerAsync(/* @__PURE__ */ function() {\n\t\t\t\tvar _ref2 = (0, import_wrapAsyncGenerator$2.default)(function* (idx) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tvar _usingCtx$1 = (0, import_usingCtx$1.default)();\n\t\t\t\t\t\tconst error = checkMaxDepth(path);\n\t\t\t\t\t\tif (error) throw error;\n\t\t\t\t\t\tconst iterator = _usingCtx$1.a(iteratorResource(iterable$1));\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\twhile (true) {\n\t\t\t\t\t\t\t\tconst next = yield (0, import_awaitAsyncGenerator$1.default)(iterator.next());\n\t\t\t\t\t\t\t\tif (next.done) {\n\t\t\t\t\t\t\t\t\tyield [\n\t\t\t\t\t\t\t\t\t\tidx,\n\t\t\t\t\t\t\t\t\t\tASYNC_ITERABLE_STATUS_RETURN,\n\t\t\t\t\t\t\t\t\t\tencode(next.value, path)\n\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tyield [\n\t\t\t\t\t\t\t\t\tidx,\n\t\t\t\t\t\t\t\t\tASYNC_ITERABLE_STATUS_YIELD,\n\t\t\t\t\t\t\t\t\tencode(next.value, path)\n\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (cause) {\n\t\t\t\t\t\t\tvar _opts$onError3, _opts$formatError2;\n\t\t\t\t\t\t\t(_opts$onError3 = opts.onError) === null || _opts$onError3 === void 0 || _opts$onError3.call(opts, {\n\t\t\t\t\t\t\t\terror: cause,\n\t\t\t\t\t\t\t\tpath\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tyield [\n\t\t\t\t\t\t\t\tidx,\n\t\t\t\t\t\t\t\tASYNC_ITERABLE_STATUS_ERROR,\n\t\t\t\t\t\t\t\t(_opts$formatError2 = opts.formatError) === null || _opts$formatError2 === void 0 ? void 0 : _opts$formatError2.call(opts, {\n\t\t\t\t\t\t\t\t\terror: cause,\n\t\t\t\t\t\t\t\t\tpath\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (_) {\n\t\t\t\t\t\t_usingCtx$1.e = _;\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tyield (0, import_awaitAsyncGenerator$1.default)(_usingCtx$1.d());\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn function(_x2) {\n\t\t\t\t\treturn _ref2.apply(this, arguments);\n\t\t\t\t};\n\t\t\t}());\n\t\t}\n\t\tfunction checkMaxDepth(path) {\n\t\t\tif (opts.maxDepth && path.length > opts.maxDepth) return new MaxDepthError(path);\n\t\t\treturn null;\n\t\t}\n\t\tfunction encodeAsync(value, path) {\n\t\t\tif (isPromise(value)) return [CHUNK_VALUE_TYPE_PROMISE, encodePromise(value, path)];\n\t\t\tif (isAsyncIterable(value)) {\n\t\t\t\tif (opts.maxDepth && path.length >= opts.maxDepth) throw new Error(\"Max depth reached\");\n\t\t\t\treturn [CHUNK_VALUE_TYPE_ASYNC_ITERABLE, encodeAsyncIterable(value, path)];\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t\tfunction encode(value, path) {\n\t\t\tif (value === void 0) return [[]];\n\t\t\tconst reg = encodeAsync(value, path);\n\t\t\tif (reg) return [[placeholder], [null, ...reg]];\n\t\t\tif (!isPlainObject(value)) return [[value]];\n\t\t\tconst newObj = emptyObject();\n\t\t\tconst asyncValues = [];\n\t\t\tfor (const [key, item] of Object.entries(value)) {\n\t\t\t\tconst transformed = encodeAsync(item, [...path, key]);\n\t\t\t\tif (!transformed) {\n\t\t\t\t\tnewObj[key] = item;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tnewObj[key] = placeholder;\n\t\t\t\tasyncValues.push([key, ...transformed]);\n\t\t\t}\n\t\t\treturn [[newObj], ...asyncValues];\n\t\t}\n\t\tconst newHead = emptyObject();\n\t\tfor (const [key, item] of Object.entries(data)) newHead[key] = encode(item, [key]);\n\t\tyield newHead;\n\t\tlet iterable = mergedIterables;\n\t\tif (opts.pingMs) iterable = withPing(mergedIterables, opts.pingMs);\n\t\tvar _iteratorAbruptCompletion = false;\n\t\tvar _didIteratorError = false;\n\t\tvar _iteratorError;\n\t\ttry {\n\t\t\tfor (var _iterator = (0, import_asyncIterator$1.default)(iterable), _step; _iteratorAbruptCompletion = !(_step = yield (0, import_awaitAsyncGenerator$1.default)(_iterator.next())).done; _iteratorAbruptCompletion = false) {\n\t\t\t\tconst value = _step.value;\n\t\t\t\tyield value;\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t_didIteratorError = true;\n\t\t\t_iteratorError = err;\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\tif (_iteratorAbruptCompletion && _iterator.return != null) yield (0, import_awaitAsyncGenerator$1.default)(_iterator.return());\n\t\t\t} finally {\n\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t}\n\t\t}\n\t});\n\treturn _createBatchStreamProducer.apply(this, arguments);\n}\n/**\n* JSON Lines stream producer\n* @see https://jsonlines.org/\n*/\nfunction jsonlStreamProducer(opts) {\n\tlet stream = readableStreamFrom(createBatchStreamProducer(opts));\n\tconst { serialize } = opts;\n\tif (serialize) stream = stream.pipeThrough(new TransformStream({ transform(chunk, controller) {\n\t\tif (chunk === PING_SYM) controller.enqueue(PING_SYM);\n\t\telse controller.enqueue(serialize(chunk));\n\t} }));\n\treturn stream.pipeThrough(new TransformStream({ transform(chunk, controller) {\n\t\tif (chunk === PING_SYM) controller.enqueue(\" \");\n\t\telse controller.enqueue(JSON.stringify(chunk) + \"\\n\");\n\t} })).pipeThrough(new TextEncoderStream());\n}\nvar AsyncError = class extends Error {\n\tconstructor(data) {\n\t\tsuper(\"Received error from server\");\n\t\tthis.data = data;\n\t}\n};\nconst nodeJsStreamToReaderEsque = (source) => {\n\treturn { getReader() {\n\t\tconst stream = new ReadableStream({ start(controller) {\n\t\t\tsource.on(\"data\", (chunk) => {\n\t\t\t\tcontroller.enqueue(chunk);\n\t\t\t});\n\t\t\tsource.on(\"end\", () => {\n\t\t\t\tcontroller.close();\n\t\t\t});\n\t\t\tsource.on(\"error\", (error) => {\n\t\t\t\tcontroller.error(error);\n\t\t\t});\n\t\t} });\n\t\treturn stream.getReader();\n\t} };\n};\nfunction createLineAccumulator(from) {\n\tconst reader = \"getReader\" in from ? from.getReader() : nodeJsStreamToReaderEsque(from).getReader();\n\tlet lineAggregate = \"\";\n\treturn new ReadableStream({\n\t\tasync pull(controller) {\n\t\t\tconst { done, value } = await reader.read();\n\t\t\tif (done) controller.close();\n\t\t\telse controller.enqueue(value);\n\t\t},\n\t\tcancel() {\n\t\t\treturn reader.cancel();\n\t\t}\n\t}).pipeThrough(new TextDecoderStream()).pipeThrough(new TransformStream({ transform(chunk, controller) {\n\t\tvar _parts$pop;\n\t\tlineAggregate += chunk;\n\t\tconst parts = lineAggregate.split(\"\\n\");\n\t\tlineAggregate = (_parts$pop = parts.pop()) !== null && _parts$pop !== void 0 ? _parts$pop : \"\";\n\t\tfor (const part of parts) controller.enqueue(part);\n\t} }));\n}\nfunction createConsumerStream(from) {\n\tconst stream = createLineAccumulator(from);\n\tlet sentHead = false;\n\treturn stream.pipeThrough(new TransformStream({ transform(line, controller) {\n\t\tif (!sentHead) {\n\t\t\tconst head = JSON.parse(line);\n\t\t\tcontroller.enqueue(head);\n\t\t\tsentHead = true;\n\t\t} else {\n\t\t\tconst chunk = JSON.parse(line);\n\t\t\tcontroller.enqueue(chunk);\n\t\t}\n\t} }));\n}\n/**\n* Creates a handler for managing stream controllers and their lifecycle\n*/\nfunction createStreamsManager(abortController) {\n\tconst controllerMap = /* @__PURE__ */ new Map();\n\t/**\n\t* Checks if there are no pending controllers or deferred promises\n\t*/\n\tfunction isEmpty() {\n\t\treturn Array.from(controllerMap.values()).every((c) => c.closed);\n\t}\n\t/**\n\t* Creates a stream controller\n\t*/\n\tfunction createStreamController() {\n\t\tlet originalController;\n\t\tconst stream = new ReadableStream({ start(controller) {\n\t\t\toriginalController = controller;\n\t\t} });\n\t\tconst streamController = {\n\t\t\tenqueue: (v) => originalController.enqueue(v),\n\t\t\tclose: () => {\n\t\t\t\toriginalController.close();\n\t\t\t\tclear();\n\t\t\t\tif (isEmpty()) abortController.abort();\n\t\t\t},\n\t\t\tclosed: false,\n\t\t\tgetReaderResource: () => {\n\t\t\t\tconst reader = stream.getReader();\n\t\t\t\treturn makeResource(reader, () => {\n\t\t\t\t\tstreamController.close();\n\t\t\t\t\treader.releaseLock();\n\t\t\t\t});\n\t\t\t},\n\t\t\terror: (reason) => {\n\t\t\t\toriginalController.error(reason);\n\t\t\t\tclear();\n\t\t\t}\n\t\t};\n\t\tfunction clear() {\n\t\t\tObject.assign(streamController, {\n\t\t\t\tclosed: true,\n\t\t\t\tclose: () => {},\n\t\t\t\tenqueue: () => {},\n\t\t\t\tgetReaderResource: null,\n\t\t\t\terror: () => {}\n\t\t\t});\n\t\t}\n\t\treturn streamController;\n\t}\n\t/**\n\t* Gets or creates a stream controller\n\t*/\n\tfunction getOrCreate(chunkId) {\n\t\tlet c = controllerMap.get(chunkId);\n\t\tif (!c) {\n\t\t\tc = createStreamController();\n\t\t\tcontrollerMap.set(chunkId, c);\n\t\t}\n\t\treturn c;\n\t}\n\t/**\n\t* Cancels all pending controllers and rejects deferred promises\n\t*/\n\tfunction cancelAll(reason) {\n\t\tfor (const controller of controllerMap.values()) controller.error(reason);\n\t}\n\t/**\n\t* Closes all pending controllers to preserve buffered data\n\t*/\n\tfunction closeAll() {\n\t\tfor (const controller of controllerMap.values()) controller.close();\n\t}\n\treturn {\n\t\tgetOrCreate,\n\t\tcancelAll,\n\t\tcloseAll\n\t};\n}\n/**\n* JSON Lines stream consumer\n* @see https://jsonlines.org/\n*/\nasync function jsonlStreamConsumer(opts) {\n\tconst { deserialize = (v) => v } = opts;\n\tlet source = createConsumerStream(opts.from);\n\tif (deserialize) source = source.pipeThrough(new TransformStream({ transform(chunk, controller) {\n\t\tcontroller.enqueue(deserialize(chunk));\n\t} }));\n\tlet headDeferred = createDeferred();\n\tconst streamManager = createStreamsManager(opts.abortController);\n\tfunction decodeChunkDefinition(value) {\n\t\tconst [_path, type, chunkId] = value;\n\t\tconst controller = streamManager.getOrCreate(chunkId);\n\t\tswitch (type) {\n\t\t\tcase CHUNK_VALUE_TYPE_PROMISE: return run(async () => {\n\t\t\t\ttry {\n\t\t\t\t\tvar _usingCtx3 = (0, import_usingCtx$1.default)();\n\t\t\t\t\tconst reader = _usingCtx3.u(controller.getReaderResource());\n\t\t\t\t\tconst { value: value$1 } = await reader.read();\n\t\t\t\t\tconst [_chunkId, status, data] = value$1;\n\t\t\t\t\tswitch (status) {\n\t\t\t\t\t\tcase PROMISE_STATUS_FULFILLED: return decode(data);\n\t\t\t\t\t\tcase PROMISE_STATUS_REJECTED:\n\t\t\t\t\t\t\tvar _opts$formatError3, _opts$formatError4;\n\t\t\t\t\t\t\tthrow (_opts$formatError3 = (_opts$formatError4 = opts.formatError) === null || _opts$formatError4 === void 0 ? void 0 : _opts$formatError4.call(opts, { error: data })) !== null && _opts$formatError3 !== void 0 ? _opts$formatError3 : new AsyncError(data);\n\t\t\t\t\t}\n\t\t\t\t} catch (_) {\n\t\t\t\t\t_usingCtx3.e = _;\n\t\t\t\t} finally {\n\t\t\t\t\t_usingCtx3.d();\n\t\t\t\t}\n\t\t\t});\n\t\t\tcase CHUNK_VALUE_TYPE_ASYNC_ITERABLE: return run((0, import_wrapAsyncGenerator$2.default)(function* () {\n\t\t\t\ttry {\n\t\t\t\t\tvar _usingCtx4 = (0, import_usingCtx$1.default)();\n\t\t\t\t\tconst reader = _usingCtx4.u(controller.getReaderResource());\n\t\t\t\t\twhile (true) {\n\t\t\t\t\t\tconst { value: value$1 } = yield (0, import_awaitAsyncGenerator$1.default)(reader.read());\n\t\t\t\t\t\tconst [_chunkId, status, data] = value$1;\n\t\t\t\t\t\tswitch (status) {\n\t\t\t\t\t\t\tcase ASYNC_ITERABLE_STATUS_YIELD:\n\t\t\t\t\t\t\t\tyield decode(data);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase ASYNC_ITERABLE_STATUS_RETURN: return decode(data);\n\t\t\t\t\t\t\tcase ASYNC_ITERABLE_STATUS_ERROR:\n\t\t\t\t\t\t\t\tvar _opts$formatError5, _opts$formatError6;\n\t\t\t\t\t\t\t\tthrow (_opts$formatError5 = (_opts$formatError6 = opts.formatError) === null || _opts$formatError6 === void 0 ? void 0 : _opts$formatError6.call(opts, { error: data })) !== null && _opts$formatError5 !== void 0 ? _opts$formatError5 : new AsyncError(data);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} catch (_) {\n\t\t\t\t\t_usingCtx4.e = _;\n\t\t\t\t} finally {\n\t\t\t\t\t_usingCtx4.d();\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\t}\n\tfunction decode(value) {\n\t\tconst [[data], ...asyncProps] = value;\n\t\tfor (const value$1 of asyncProps) {\n\t\t\tconst [key] = value$1;\n\t\t\tconst decoded = decodeChunkDefinition(value$1);\n\t\t\tif (key === null) return decoded;\n\t\t\tdata[key] = decoded;\n\t\t}\n\t\treturn data;\n\t}\n\tconst handleClose = () => {\n\t\tif (headDeferred) {\n\t\t\theadDeferred.reject(new Error(\"Stream closed before head was received\"));\n\t\t\theadDeferred = null;\n\t\t}\n\t\tstreamManager.closeAll();\n\t};\n\tconst handleAbort = (reason) => {\n\t\theadDeferred === null || headDeferred === void 0 || headDeferred.reject(reason);\n\t\theadDeferred = null;\n\t\tstreamManager.cancelAll(reason);\n\t};\n\tsource.pipeTo(new WritableStream({\n\t\twrite(chunkOrHead) {\n\t\t\tif (headDeferred) {\n\t\t\t\tconst head = chunkOrHead;\n\t\t\t\tfor (const [key, value] of Object.entries(chunkOrHead)) {\n\t\t\t\t\tconst parsed = decode(value);\n\t\t\t\t\thead[key] = parsed;\n\t\t\t\t}\n\t\t\t\theadDeferred.resolve(head);\n\t\t\t\theadDeferred = null;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst chunk = chunkOrHead;\n\t\t\tconst [idx] = chunk;\n\t\t\tconst controller = streamManager.getOrCreate(idx);\n\t\t\tcontroller.enqueue(chunk);\n\t\t},\n\t\tclose: handleClose,\n\t\tabort: handleAbort\n\t})).catch((error) => {\n\t\tvar _opts$onError4;\n\t\t(_opts$onError4 = opts.onError) === null || _opts$onError4 === void 0 || _opts$onError4.call(opts, { error });\n\t\thandleAbort(error);\n\t});\n\treturn [await headDeferred.promise];\n}\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/asyncGeneratorDelegate.js\nvar require_asyncGeneratorDelegate = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/asyncGeneratorDelegate.js\"(exports, module) {\n\tvar OverloadYield = require_OverloadYield();\n\tfunction _asyncGeneratorDelegate$1(t) {\n\t\tvar e = {}, n = !1;\n\t\tfunction pump(e$1, r) {\n\t\t\treturn n = !0, r = new Promise(function(n$1) {\n\t\t\t\tn$1(t[e$1](r));\n\t\t\t}), {\n\t\t\t\tdone: !1,\n\t\t\t\tvalue: new OverloadYield(r, 1)\n\t\t\t};\n\t\t}\n\t\treturn e[\"undefined\" != typeof Symbol && Symbol.iterator || \"@@iterator\"] = function() {\n\t\t\treturn this;\n\t\t}, e.next = function(t$1) {\n\t\t\treturn n ? (n = !1, t$1) : pump(\"next\", t$1);\n\t\t}, \"function\" == typeof t[\"throw\"] && (e[\"throw\"] = function(t$1) {\n\t\t\tif (n) throw n = !1, t$1;\n\t\t\treturn pump(\"throw\", t$1);\n\t\t}), \"function\" == typeof t[\"return\"] && (e[\"return\"] = function(t$1) {\n\t\t\treturn n ? (n = !1, t$1) : pump(\"return\", t$1);\n\t\t}), e;\n\t}\n\tmodule.exports = _asyncGeneratorDelegate$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region src/unstable-core-do-not-import/stream/sse.ts\nvar import_asyncIterator = __toESM(require_asyncIterator(), 1);\nvar import_awaitAsyncGenerator = __toESM(require_awaitAsyncGenerator(), 1);\nvar import_wrapAsyncGenerator$1 = __toESM(require_wrapAsyncGenerator(), 1);\nvar import_asyncGeneratorDelegate = __toESM(require_asyncGeneratorDelegate(), 1);\nvar import_usingCtx = __toESM(require_usingCtx(), 1);\nconst PING_EVENT = \"ping\";\nconst SERIALIZED_ERROR_EVENT = \"serialized-error\";\nconst CONNECTED_EVENT = \"connected\";\nconst RETURN_EVENT = \"return\";\n/**\n*\n* @see https://html.spec.whatwg.org/multipage/server-sent-events.html\n*/\nfunction sseStreamProducer(opts) {\n\tvar _opts$ping$enabled, _opts$ping, _opts$ping$intervalMs, _opts$ping2, _opts$client;\n\tconst { serialize = identity } = opts;\n\tconst ping = {\n\t\tenabled: (_opts$ping$enabled = (_opts$ping = opts.ping) === null || _opts$ping === void 0 ? void 0 : _opts$ping.enabled) !== null && _opts$ping$enabled !== void 0 ? _opts$ping$enabled : false,\n\t\tintervalMs: (_opts$ping$intervalMs = (_opts$ping2 = opts.ping) === null || _opts$ping2 === void 0 ? void 0 : _opts$ping2.intervalMs) !== null && _opts$ping$intervalMs !== void 0 ? _opts$ping$intervalMs : 1e3\n\t};\n\tconst client = (_opts$client = opts.client) !== null && _opts$client !== void 0 ? _opts$client : {};\n\tif (ping.enabled && client.reconnectAfterInactivityMs && ping.intervalMs > client.reconnectAfterInactivityMs) throw new Error(`Ping interval must be less than client reconnect interval to prevent unnecessary reconnection - ping.intervalMs: ${ping.intervalMs} client.reconnectAfterInactivityMs: ${client.reconnectAfterInactivityMs}`);\n\tfunction generator() {\n\t\treturn _generator.apply(this, arguments);\n\t}\n\tfunction _generator() {\n\t\t_generator = (0, import_wrapAsyncGenerator$1.default)(function* () {\n\t\t\tyield {\n\t\t\t\tevent: CONNECTED_EVENT,\n\t\t\t\tdata: JSON.stringify(client)\n\t\t\t};\n\t\t\tlet iterable = opts.data;\n\t\t\tif (opts.emitAndEndImmediately) iterable = takeWithGrace(iterable, {\n\t\t\t\tcount: 1,\n\t\t\t\tgracePeriodMs: 1\n\t\t\t});\n\t\t\tif (ping.enabled && ping.intervalMs !== Infinity && ping.intervalMs > 0) iterable = withPing(iterable, ping.intervalMs);\n\t\t\tlet value;\n\t\t\tlet chunk;\n\t\t\tvar _iteratorAbruptCompletion = false;\n\t\t\tvar _didIteratorError = false;\n\t\t\tvar _iteratorError;\n\t\t\ttry {\n\t\t\t\tfor (var _iterator = (0, import_asyncIterator.default)(iterable), _step; _iteratorAbruptCompletion = !(_step = yield (0, import_awaitAsyncGenerator.default)(_iterator.next())).done; _iteratorAbruptCompletion = false) {\n\t\t\t\t\tvalue = _step.value;\n\t\t\t\t\t{\n\t\t\t\t\t\tif (value === PING_SYM) {\n\t\t\t\t\t\t\tyield {\n\t\t\t\t\t\t\t\tevent: PING_EVENT,\n\t\t\t\t\t\t\t\tdata: \"\"\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tchunk = isTrackedEnvelope(value) ? {\n\t\t\t\t\t\t\tid: value[0],\n\t\t\t\t\t\t\tdata: value[1]\n\t\t\t\t\t\t} : { data: value };\n\t\t\t\t\t\tchunk.data = JSON.stringify(serialize(chunk.data));\n\t\t\t\t\t\tyield chunk;\n\t\t\t\t\t\tvalue = null;\n\t\t\t\t\t\tchunk = null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t_didIteratorError = true;\n\t\t\t\t_iteratorError = err;\n\t\t\t} finally {\n\t\t\t\ttry {\n\t\t\t\t\tif (_iteratorAbruptCompletion && _iterator.return != null) yield (0, import_awaitAsyncGenerator.default)(_iterator.return());\n\t\t\t\t} finally {\n\t\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn _generator.apply(this, arguments);\n\t}\n\tfunction generatorWithErrorHandling() {\n\t\treturn _generatorWithErrorHandling.apply(this, arguments);\n\t}\n\tfunction _generatorWithErrorHandling() {\n\t\t_generatorWithErrorHandling = (0, import_wrapAsyncGenerator$1.default)(function* () {\n\t\t\ttry {\n\t\t\t\tyield* (0, import_asyncGeneratorDelegate.default)((0, import_asyncIterator.default)(generator()));\n\t\t\t\tyield {\n\t\t\t\t\tevent: RETURN_EVENT,\n\t\t\t\t\tdata: \"\"\n\t\t\t\t};\n\t\t\t} catch (cause) {\n\t\t\t\tvar _opts$formatError, _opts$formatError2;\n\t\t\t\tif (isAbortError(cause)) return;\n\t\t\t\tconst error = getTRPCErrorFromUnknown(cause);\n\t\t\t\tconst data = (_opts$formatError = (_opts$formatError2 = opts.formatError) === null || _opts$formatError2 === void 0 ? void 0 : _opts$formatError2.call(opts, { error })) !== null && _opts$formatError !== void 0 ? _opts$formatError : null;\n\t\t\t\tyield {\n\t\t\t\t\tevent: SERIALIZED_ERROR_EVENT,\n\t\t\t\t\tdata: JSON.stringify(serialize(data))\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\t\treturn _generatorWithErrorHandling.apply(this, arguments);\n\t}\n\tconst stream = readableStreamFrom(generatorWithErrorHandling());\n\treturn stream.pipeThrough(new TransformStream({ transform(chunk, controller) {\n\t\tif (\"event\" in chunk) controller.enqueue(`event: ${chunk.event}\\n`);\n\t\tif (\"data\" in chunk) controller.enqueue(`data: ${chunk.data}\\n`);\n\t\tif (\"id\" in chunk) controller.enqueue(`id: ${chunk.id}\\n`);\n\t\tif (\"comment\" in chunk) controller.enqueue(`: ${chunk.comment}\\n`);\n\t\tcontroller.enqueue(\"\\n\\n\");\n\t} })).pipeThrough(new TextEncoderStream());\n}\nasync function withTimeout(opts) {\n\ttry {\n\t\tvar _usingCtx$1 = (0, import_usingCtx.default)();\n\t\tconst timeoutPromise = _usingCtx$1.u(timerResource(opts.timeoutMs));\n\t\tconst res = await Unpromise.race([opts.promise, timeoutPromise.start()]);\n\t\tif (res === disposablePromiseTimerResult) return await opts.onTimeout();\n\t\treturn res;\n\t} catch (_) {\n\t\t_usingCtx$1.e = _;\n\t} finally {\n\t\t_usingCtx$1.d();\n\t}\n}\n/**\n* @see https://html.spec.whatwg.org/multipage/server-sent-events.html\n*/\nfunction sseStreamConsumer(opts) {\n\tconst { deserialize = (v) => v } = opts;\n\tlet clientOptions = emptyObject();\n\tconst signal = opts.signal;\n\tlet _es = null;\n\tconst createStream = () => new ReadableStream({\n\t\tasync start(controller) {\n\t\t\tconst [url, init] = await Promise.all([opts.url(), opts.init()]);\n\t\t\tconst eventSource = _es = new opts.EventSource(url, init);\n\t\t\tcontroller.enqueue({\n\t\t\t\ttype: \"connecting\",\n\t\t\t\teventSource: _es,\n\t\t\t\tevent: null\n\t\t\t});\n\t\t\teventSource.addEventListener(CONNECTED_EVENT, (_msg) => {\n\t\t\t\tconst msg = _msg;\n\t\t\t\tconst options = JSON.parse(msg.data);\n\t\t\t\tclientOptions = options;\n\t\t\t\tcontroller.enqueue({\n\t\t\t\t\ttype: \"connected\",\n\t\t\t\t\toptions,\n\t\t\t\t\teventSource\n\t\t\t\t});\n\t\t\t});\n\t\t\teventSource.addEventListener(SERIALIZED_ERROR_EVENT, (_msg) => {\n\t\t\t\tconst msg = _msg;\n\t\t\t\tcontroller.enqueue({\n\t\t\t\t\ttype: \"serialized-error\",\n\t\t\t\t\terror: deserialize(JSON.parse(msg.data)),\n\t\t\t\t\teventSource\n\t\t\t\t});\n\t\t\t});\n\t\t\teventSource.addEventListener(PING_EVENT, () => {\n\t\t\t\tcontroller.enqueue({\n\t\t\t\t\ttype: \"ping\",\n\t\t\t\t\teventSource\n\t\t\t\t});\n\t\t\t});\n\t\t\teventSource.addEventListener(RETURN_EVENT, () => {\n\t\t\t\teventSource.close();\n\t\t\t\tcontroller.close();\n\t\t\t\t_es = null;\n\t\t\t});\n\t\t\teventSource.addEventListener(\"error\", (event) => {\n\t\t\t\tif (eventSource.readyState === eventSource.CLOSED) controller.error(event);\n\t\t\t\telse controller.enqueue({\n\t\t\t\t\ttype: \"connecting\",\n\t\t\t\t\teventSource,\n\t\t\t\t\tevent\n\t\t\t\t});\n\t\t\t});\n\t\t\teventSource.addEventListener(\"message\", (_msg) => {\n\t\t\t\tconst msg = _msg;\n\t\t\t\tconst chunk = deserialize(JSON.parse(msg.data));\n\t\t\t\tconst def = { data: chunk };\n\t\t\t\tif (msg.lastEventId) def.id = msg.lastEventId;\n\t\t\t\tcontroller.enqueue({\n\t\t\t\t\ttype: \"data\",\n\t\t\t\t\tdata: def,\n\t\t\t\t\teventSource\n\t\t\t\t});\n\t\t\t});\n\t\t\tconst onAbort = () => {\n\t\t\t\ttry {\n\t\t\t\t\teventSource.close();\n\t\t\t\t\tcontroller.close();\n\t\t\t\t} catch (_unused) {}\n\t\t\t};\n\t\t\tif (signal.aborted) onAbort();\n\t\t\telse signal.addEventListener(\"abort\", onAbort);\n\t\t},\n\t\tcancel() {\n\t\t\t_es === null || _es === void 0 || _es.close();\n\t\t}\n\t});\n\tconst getStreamResource = () => {\n\t\tlet stream = createStream();\n\t\tlet reader = stream.getReader();\n\t\tasync function dispose() {\n\t\t\tawait reader.cancel();\n\t\t\t_es = null;\n\t\t}\n\t\treturn makeAsyncResource({\n\t\t\tread() {\n\t\t\t\treturn reader.read();\n\t\t\t},\n\t\t\tasync recreate() {\n\t\t\t\tawait dispose();\n\t\t\t\tstream = createStream();\n\t\t\t\treader = stream.getReader();\n\t\t\t}\n\t\t}, dispose);\n\t};\n\treturn run((0, import_wrapAsyncGenerator$1.default)(function* () {\n\t\ttry {\n\t\t\tvar _usingCtx3 = (0, import_usingCtx.default)();\n\t\t\tconst stream = _usingCtx3.a(getStreamResource());\n\t\t\twhile (true) {\n\t\t\t\tlet promise = stream.read();\n\t\t\t\tconst timeoutMs = clientOptions.reconnectAfterInactivityMs;\n\t\t\t\tif (timeoutMs) promise = withTimeout({\n\t\t\t\t\tpromise,\n\t\t\t\t\ttimeoutMs,\n\t\t\t\t\tonTimeout: async () => {\n\t\t\t\t\t\tconst res = {\n\t\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\t\ttype: \"timeout\",\n\t\t\t\t\t\t\t\tms: timeoutMs,\n\t\t\t\t\t\t\t\teventSource: _es\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdone: false\n\t\t\t\t\t\t};\n\t\t\t\t\t\tawait stream.recreate();\n\t\t\t\t\t\treturn res;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tconst result = yield (0, import_awaitAsyncGenerator.default)(promise);\n\t\t\t\tif (result.done) return result.value;\n\t\t\t\tyield result.value;\n\t\t\t}\n\t\t} catch (_) {\n\t\t\t_usingCtx3.e = _;\n\t\t} finally {\n\t\t\tyield (0, import_awaitAsyncGenerator.default)(_usingCtx3.d());\n\t\t}\n\t}));\n}\nconst sseHeaders = {\n\t\"Content-Type\": \"text/event-stream\",\n\t\"Cache-Control\": \"no-cache, no-transform\",\n\t\"X-Accel-Buffering\": \"no\",\n\tConnection: \"keep-alive\"\n};\n\n//#endregion\n//#region src/unstable-core-do-not-import/http/resolveResponse.ts\nvar import_wrapAsyncGenerator = __toESM(require_wrapAsyncGenerator(), 1);\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\nfunction errorToAsyncIterable(err) {\n\treturn run((0, import_wrapAsyncGenerator.default)(function* () {\n\t\tthrow err;\n\t}));\n}\nfunction combinedAbortController(signal) {\n\tconst controller = new AbortController();\n\tconst combinedSignal = abortSignalsAnyPonyfill([signal, controller.signal]);\n\treturn {\n\t\tsignal: combinedSignal,\n\t\tcontroller\n\t};\n}\nconst TYPE_ACCEPTED_METHOD_MAP = {\n\tmutation: [\"POST\"],\n\tquery: [\"GET\"],\n\tsubscription: [\"GET\"]\n};\nconst TYPE_ACCEPTED_METHOD_MAP_WITH_METHOD_OVERRIDE = {\n\tmutation: [\"POST\"],\n\tquery: [\"GET\", \"POST\"],\n\tsubscription: [\"GET\", \"POST\"]\n};\nfunction initResponse(initOpts) {\n\tvar _responseMeta, _info$calls$find$proc, _info$calls$find;\n\tconst { ctx, info, responseMeta, untransformedJSON, errors = [], headers } = initOpts;\n\tlet status = untransformedJSON ? getHTTPStatusCode(untransformedJSON) : 200;\n\tconst eagerGeneration = !untransformedJSON;\n\tconst data = eagerGeneration ? [] : Array.isArray(untransformedJSON) ? untransformedJSON : [untransformedJSON];\n\tconst meta = (_responseMeta = responseMeta === null || responseMeta === void 0 ? void 0 : responseMeta({\n\t\tctx,\n\t\tinfo,\n\t\tpaths: info === null || info === void 0 ? void 0 : info.calls.map((call) => call.path),\n\t\tdata,\n\t\terrors,\n\t\teagerGeneration,\n\t\ttype: (_info$calls$find$proc = info === null || info === void 0 || (_info$calls$find = info.calls.find((call) => {\n\t\t\tvar _call$procedure;\n\t\t\treturn (_call$procedure = call.procedure) === null || _call$procedure === void 0 ? void 0 : _call$procedure._def.type;\n\t\t})) === null || _info$calls$find === void 0 || (_info$calls$find = _info$calls$find.procedure) === null || _info$calls$find === void 0 ? void 0 : _info$calls$find._def.type) !== null && _info$calls$find$proc !== void 0 ? _info$calls$find$proc : \"unknown\"\n\t})) !== null && _responseMeta !== void 0 ? _responseMeta : {};\n\tif (meta.headers) {\n\t\tif (meta.headers instanceof Headers) for (const [key, value] of meta.headers.entries()) headers.append(key, value);\n\t\telse\n /**\n\t\t* @deprecated, delete in v12\n\t\t*/\n\t\tfor (const [key, value] of Object.entries(meta.headers)) if (Array.isArray(value)) for (const v of value) headers.append(key, v);\n\t\telse if (typeof value === \"string\") headers.set(key, value);\n\t}\n\tif (meta.status) status = meta.status;\n\treturn { status };\n}\nfunction caughtErrorToData(cause, errorOpts) {\n\tconst { router, req, onError } = errorOpts.opts;\n\tconst error = getTRPCErrorFromUnknown(cause);\n\tonError === null || onError === void 0 || onError({\n\t\terror,\n\t\tpath: errorOpts.path,\n\t\tinput: errorOpts.input,\n\t\tctx: errorOpts.ctx,\n\t\ttype: errorOpts.type,\n\t\treq\n\t});\n\tconst untransformedJSON = { error: getErrorShape({\n\t\tconfig: router._def._config,\n\t\terror,\n\t\ttype: errorOpts.type,\n\t\tpath: errorOpts.path,\n\t\tinput: errorOpts.input,\n\t\tctx: errorOpts.ctx\n\t}) };\n\tconst transformedJSON = transformTRPCResponse(router._def._config, untransformedJSON);\n\tconst body = JSON.stringify(transformedJSON);\n\treturn {\n\t\terror,\n\t\tuntransformedJSON,\n\t\tbody\n\t};\n}\n/**\n* Check if a value is a stream-like object\n* - if it's an async iterable\n* - if it's an object with async iterables or promises\n*/\nfunction isDataStream(v) {\n\tif (!isObject(v)) return false;\n\tif (isAsyncIterable(v)) return true;\n\treturn Object.values(v).some(isPromise) || Object.values(v).some(isAsyncIterable);\n}\nasync function resolveResponse(opts) {\n\tvar _ref, _opts$allowBatching, _opts$batching, _opts$allowMethodOver, _config$sse$enabled, _config$sse;\n\tconst { router, req } = opts;\n\tconst headers = new Headers([[\"vary\", \"trpc-accept, accept\"]]);\n\tconst config = router._def._config;\n\tconst url = new URL(req.url);\n\tif (req.method === \"HEAD\") return new Response(null, { status: 204 });\n\tconst allowBatching = (_ref = (_opts$allowBatching = opts.allowBatching) !== null && _opts$allowBatching !== void 0 ? _opts$allowBatching : (_opts$batching = opts.batching) === null || _opts$batching === void 0 ? void 0 : _opts$batching.enabled) !== null && _ref !== void 0 ? _ref : true;\n\tconst allowMethodOverride = ((_opts$allowMethodOver = opts.allowMethodOverride) !== null && _opts$allowMethodOver !== void 0 ? _opts$allowMethodOver : false) && req.method === \"POST\";\n\tconst infoTuple = await run(async () => {\n\t\ttry {\n\t\t\treturn [void 0, await getRequestInfo({\n\t\t\t\treq,\n\t\t\t\tpath: decodeURIComponent(opts.path),\n\t\t\t\trouter,\n\t\t\t\tsearchParams: url.searchParams,\n\t\t\t\theaders: opts.req.headers,\n\t\t\t\turl,\n\t\t\t\tmaxBatchSize: opts.maxBatchSize\n\t\t\t})];\n\t\t} catch (cause) {\n\t\t\treturn [getTRPCErrorFromUnknown(cause), void 0];\n\t\t}\n\t});\n\tconst ctxManager = run(() => {\n\t\tlet result = void 0;\n\t\treturn {\n\t\t\tvalueOrUndefined: () => {\n\t\t\t\tif (!result) return void 0;\n\t\t\t\treturn result[1];\n\t\t\t},\n\t\t\tvalue: () => {\n\t\t\t\tconst [err, ctx] = result;\n\t\t\t\tif (err) throw err;\n\t\t\t\treturn ctx;\n\t\t\t},\n\t\t\tcreate: async (info) => {\n\t\t\t\tif (result) throw new Error(\"This should only be called once - report a bug in tRPC\");\n\t\t\t\ttry {\n\t\t\t\t\tconst ctx = await opts.createContext({ info });\n\t\t\t\t\tresult = [void 0, ctx];\n\t\t\t\t} catch (cause) {\n\t\t\t\t\tresult = [getTRPCErrorFromUnknown(cause), void 0];\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t});\n\tconst methodMapper = allowMethodOverride ? TYPE_ACCEPTED_METHOD_MAP_WITH_METHOD_OVERRIDE : TYPE_ACCEPTED_METHOD_MAP;\n\t/**\n\t* @deprecated\n\t*/\n\tconst isStreamCall = getAcceptHeader(req.headers) === \"application/jsonl\";\n\tconst experimentalSSE = (_config$sse$enabled = (_config$sse = config.sse) === null || _config$sse === void 0 ? void 0 : _config$sse.enabled) !== null && _config$sse$enabled !== void 0 ? _config$sse$enabled : true;\n\ttry {\n\t\tconst [infoError, info] = infoTuple;\n\t\tif (infoError) throw infoError;\n\t\tif (info.isBatchCall && !allowBatching) throw new TRPCError({\n\t\t\tcode: \"BAD_REQUEST\",\n\t\t\tmessage: `Batching is not enabled on the server`\n\t\t});\n\t\t/* istanbul ignore if -- @preserve */\n\t\tif (isStreamCall && !info.isBatchCall) throw new TRPCError({\n\t\t\tmessage: `Streaming requests must be batched (you can do a batch of 1)`,\n\t\t\tcode: \"BAD_REQUEST\"\n\t\t});\n\t\tawait ctxManager.create(info);\n\t\tconst rpcCalls = info.calls.map(async (call) => {\n\t\t\tconst proc = call.procedure;\n\t\t\tconst combinedAbort = combinedAbortController(opts.req.signal);\n\t\t\ttry {\n\t\t\t\tif (opts.error) throw opts.error;\n\t\t\t\tif (!proc) throw new TRPCError({\n\t\t\t\t\tcode: \"NOT_FOUND\",\n\t\t\t\t\tmessage: `No procedure found on path \"${call.path}\"`\n\t\t\t\t});\n\t\t\t\tif (!methodMapper[proc._def.type].includes(req.method)) throw new TRPCError({\n\t\t\t\t\tcode: \"METHOD_NOT_SUPPORTED\",\n\t\t\t\t\tmessage: `Unsupported ${req.method}-request to ${proc._def.type} procedure at path \"${call.path}\"`\n\t\t\t\t});\n\t\t\t\tif (proc._def.type === \"subscription\") {\n\t\t\t\t\tvar _config$sse2;\n\t\t\t\t\t/* istanbul ignore if -- @preserve */\n\t\t\t\t\tif (info.isBatchCall) throw new TRPCError({\n\t\t\t\t\t\tcode: \"BAD_REQUEST\",\n\t\t\t\t\t\tmessage: `Cannot batch subscription calls`\n\t\t\t\t\t});\n\t\t\t\t\tif ((_config$sse2 = config.sse) === null || _config$sse2 === void 0 ? void 0 : _config$sse2.maxDurationMs) {\n\t\t\t\t\t\tfunction cleanup() {\n\t\t\t\t\t\t\tclearTimeout(timer);\n\t\t\t\t\t\t\tcombinedAbort.signal.removeEventListener(\"abort\", cleanup);\n\t\t\t\t\t\t\tcombinedAbort.controller.abort();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst timer = setTimeout(cleanup, config.sse.maxDurationMs);\n\t\t\t\t\t\tcombinedAbort.signal.addEventListener(\"abort\", cleanup);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst data = await proc({\n\t\t\t\t\tpath: call.path,\n\t\t\t\t\tgetRawInput: call.getRawInput,\n\t\t\t\t\tctx: ctxManager.value(),\n\t\t\t\t\ttype: proc._def.type,\n\t\t\t\t\tsignal: combinedAbort.signal,\n\t\t\t\t\tbatchIndex: call.batchIndex\n\t\t\t\t});\n\t\t\t\treturn [void 0, {\n\t\t\t\t\tdata,\n\t\t\t\t\tsignal: proc._def.type === \"subscription\" ? combinedAbort.signal : void 0\n\t\t\t\t}];\n\t\t\t} catch (cause) {\n\t\t\t\tvar _opts$onError, _call$procedure$_def$, _call$procedure2;\n\t\t\t\tconst error = getTRPCErrorFromUnknown(cause);\n\t\t\t\tconst input = call.result();\n\t\t\t\t(_opts$onError = opts.onError) === null || _opts$onError === void 0 || _opts$onError.call(opts, {\n\t\t\t\t\terror,\n\t\t\t\t\tpath: call.path,\n\t\t\t\t\tinput,\n\t\t\t\t\tctx: ctxManager.valueOrUndefined(),\n\t\t\t\t\ttype: (_call$procedure$_def$ = (_call$procedure2 = call.procedure) === null || _call$procedure2 === void 0 ? void 0 : _call$procedure2._def.type) !== null && _call$procedure$_def$ !== void 0 ? _call$procedure$_def$ : \"unknown\",\n\t\t\t\t\treq: opts.req\n\t\t\t\t});\n\t\t\t\treturn [error, void 0];\n\t\t\t}\n\t\t});\n\t\tif (!info.isBatchCall) {\n\t\t\tconst [call] = info.calls;\n\t\t\tconst [error, result] = await rpcCalls[0];\n\t\t\tswitch (info.type) {\n\t\t\t\tcase \"unknown\":\n\t\t\t\tcase \"mutation\":\n\t\t\t\tcase \"query\": {\n\t\t\t\t\theaders.set(\"content-type\", \"application/json\");\n\t\t\t\t\tif (isDataStream(result === null || result === void 0 ? void 0 : result.data)) throw new TRPCError({\n\t\t\t\t\t\tcode: \"UNSUPPORTED_MEDIA_TYPE\",\n\t\t\t\t\t\tmessage: \"Cannot use stream-like response in non-streaming request - use httpBatchStreamLink\"\n\t\t\t\t\t});\n\t\t\t\t\tconst res = error ? { error: getErrorShape({\n\t\t\t\t\t\tconfig,\n\t\t\t\t\t\tctx: ctxManager.valueOrUndefined(),\n\t\t\t\t\t\terror,\n\t\t\t\t\t\tinput: call.result(),\n\t\t\t\t\t\tpath: call.path,\n\t\t\t\t\t\ttype: info.type\n\t\t\t\t\t}) } : { result: { data: result.data } };\n\t\t\t\t\tconst headResponse$1 = initResponse({\n\t\t\t\t\t\tctx: ctxManager.valueOrUndefined(),\n\t\t\t\t\t\tinfo,\n\t\t\t\t\t\tresponseMeta: opts.responseMeta,\n\t\t\t\t\t\terrors: error ? [error] : [],\n\t\t\t\t\t\theaders,\n\t\t\t\t\t\tuntransformedJSON: [res]\n\t\t\t\t\t});\n\t\t\t\t\treturn new Response(JSON.stringify(transformTRPCResponse(config, res)), {\n\t\t\t\t\t\tstatus: headResponse$1.status,\n\t\t\t\t\t\theaders\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tcase \"subscription\": {\n\t\t\t\t\tconst iterable = run(() => {\n\t\t\t\t\t\tif (error) return errorToAsyncIterable(error);\n\t\t\t\t\t\tif (!experimentalSSE) return errorToAsyncIterable(new TRPCError({\n\t\t\t\t\t\t\tcode: \"METHOD_NOT_SUPPORTED\",\n\t\t\t\t\t\t\tmessage: \"Missing experimental flag \\\"sseSubscriptions\\\"\"\n\t\t\t\t\t\t}));\n\t\t\t\t\t\tif (!isObservable(result.data) && !isAsyncIterable(result.data)) return errorToAsyncIterable(new TRPCError({\n\t\t\t\t\t\t\tmessage: `Subscription ${call.path} did not return an observable or a AsyncGenerator`,\n\t\t\t\t\t\t\tcode: \"INTERNAL_SERVER_ERROR\"\n\t\t\t\t\t\t}));\n\t\t\t\t\t\tconst dataAsIterable = isObservable(result.data) ? observableToAsyncIterable(result.data, opts.req.signal) : result.data;\n\t\t\t\t\t\treturn dataAsIterable;\n\t\t\t\t\t});\n\t\t\t\t\tconst stream = sseStreamProducer((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, config.sse), {}, {\n\t\t\t\t\t\tdata: iterable,\n\t\t\t\t\t\tserialize: (v) => config.transformer.output.serialize(v),\n\t\t\t\t\t\tformatError(errorOpts) {\n\t\t\t\t\t\t\tvar _call$procedure$_def$2, _call$procedure3, _opts$onError2;\n\t\t\t\t\t\t\tconst error$1 = getTRPCErrorFromUnknown(errorOpts.error);\n\t\t\t\t\t\t\tconst input = call === null || call === void 0 ? void 0 : call.result();\n\t\t\t\t\t\t\tconst path = call === null || call === void 0 ? void 0 : call.path;\n\t\t\t\t\t\t\tconst type = (_call$procedure$_def$2 = call === null || call === void 0 || (_call$procedure3 = call.procedure) === null || _call$procedure3 === void 0 ? void 0 : _call$procedure3._def.type) !== null && _call$procedure$_def$2 !== void 0 ? _call$procedure$_def$2 : \"unknown\";\n\t\t\t\t\t\t\t(_opts$onError2 = opts.onError) === null || _opts$onError2 === void 0 || _opts$onError2.call(opts, {\n\t\t\t\t\t\t\t\terror: error$1,\n\t\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tctx: ctxManager.valueOrUndefined(),\n\t\t\t\t\t\t\t\treq: opts.req,\n\t\t\t\t\t\t\t\ttype\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tconst shape = getErrorShape({\n\t\t\t\t\t\t\t\tconfig,\n\t\t\t\t\t\t\t\tctx: ctxManager.valueOrUndefined(),\n\t\t\t\t\t\t\t\terror: error$1,\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\t\ttype\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn shape;\n\t\t\t\t\t\t}\n\t\t\t\t\t}));\n\t\t\t\t\tfor (const [key, value] of Object.entries(sseHeaders)) headers.set(key, value);\n\t\t\t\t\tconst headResponse$1 = initResponse({\n\t\t\t\t\t\tctx: ctxManager.valueOrUndefined(),\n\t\t\t\t\t\tinfo,\n\t\t\t\t\t\tresponseMeta: opts.responseMeta,\n\t\t\t\t\t\terrors: [],\n\t\t\t\t\t\theaders,\n\t\t\t\t\t\tuntransformedJSON: null\n\t\t\t\t\t});\n\t\t\t\t\tconst abortSignal = result === null || result === void 0 ? void 0 : result.signal;\n\t\t\t\t\tlet responseBody = stream;\n\t\t\t\t\tif (abortSignal) {\n\t\t\t\t\t\tconst reader = stream.getReader();\n\t\t\t\t\t\tconst onAbort = () => void reader.cancel();\n\t\t\t\t\t\tif (abortSignal.aborted) onAbort();\n\t\t\t\t\t\telse abortSignal.addEventListener(\"abort\", onAbort, { once: true });\n\t\t\t\t\t\tresponseBody = new ReadableStream({\n\t\t\t\t\t\t\tasync pull(controller) {\n\t\t\t\t\t\t\t\tconst chunk = await reader.read();\n\t\t\t\t\t\t\t\tif (chunk.done) {\n\t\t\t\t\t\t\t\t\tabortSignal.removeEventListener(\"abort\", onAbort);\n\t\t\t\t\t\t\t\t\tcontroller.close();\n\t\t\t\t\t\t\t\t} else controller.enqueue(chunk.value);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcancel() {\n\t\t\t\t\t\t\t\tabortSignal.removeEventListener(\"abort\", onAbort);\n\t\t\t\t\t\t\t\treturn reader.cancel();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\treturn new Response(responseBody, {\n\t\t\t\t\t\theaders,\n\t\t\t\t\t\tstatus: headResponse$1.status\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (info.accept === \"application/jsonl\") {\n\t\t\theaders.set(\"content-type\", \"application/json\");\n\t\t\theaders.set(\"transfer-encoding\", \"chunked\");\n\t\t\tconst headResponse$1 = initResponse({\n\t\t\t\tctx: ctxManager.valueOrUndefined(),\n\t\t\t\tinfo,\n\t\t\t\tresponseMeta: opts.responseMeta,\n\t\t\t\terrors: [],\n\t\t\t\theaders,\n\t\t\t\tuntransformedJSON: null\n\t\t\t});\n\t\t\tconst stream = jsonlStreamProducer((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, config.jsonl), {}, {\n\t\t\t\tmaxDepth: Infinity,\n\t\t\t\tdata: rpcCalls.map(async (res, index) => {\n\t\t\t\t\tconst [error, result] = await res;\n\t\t\t\t\tconst call = info.calls[index];\n\t\t\t\t\tif (error) {\n\t\t\t\t\t\tvar _procedure$_def$type, _procedure;\n\t\t\t\t\t\treturn { error: getErrorShape({\n\t\t\t\t\t\t\tconfig,\n\t\t\t\t\t\t\tctx: ctxManager.valueOrUndefined(),\n\t\t\t\t\t\t\terror,\n\t\t\t\t\t\t\tinput: call.result(),\n\t\t\t\t\t\t\tpath: call.path,\n\t\t\t\t\t\t\ttype: (_procedure$_def$type = (_procedure = call.procedure) === null || _procedure === void 0 ? void 0 : _procedure._def.type) !== null && _procedure$_def$type !== void 0 ? _procedure$_def$type : \"unknown\"\n\t\t\t\t\t\t}) };\n\t\t\t\t\t}\n\t\t\t\t\t/**\n\t\t\t\t\t* Not very pretty, but we need to wrap nested data in promises\n\t\t\t\t\t* Our stream producer will only resolve top-level async values or async values that are directly nested in another async value\n\t\t\t\t\t*/\n\t\t\t\t\tconst iterable = isObservable(result.data) ? observableToAsyncIterable(result.data, opts.req.signal) : Promise.resolve(result.data);\n\t\t\t\t\treturn { result: Promise.resolve({ data: iterable }) };\n\t\t\t\t}),\n\t\t\t\tserialize: (data) => config.transformer.output.serialize(data),\n\t\t\t\tonError: (cause) => {\n\t\t\t\t\tvar _opts$onError3, _info$type;\n\t\t\t\t\t(_opts$onError3 = opts.onError) === null || _opts$onError3 === void 0 || _opts$onError3.call(opts, {\n\t\t\t\t\t\terror: getTRPCErrorFromUnknown(cause),\n\t\t\t\t\t\tpath: void 0,\n\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\tctx: ctxManager.valueOrUndefined(),\n\t\t\t\t\t\treq: opts.req,\n\t\t\t\t\t\ttype: (_info$type = info === null || info === void 0 ? void 0 : info.type) !== null && _info$type !== void 0 ? _info$type : \"unknown\"\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tformatError(errorOpts) {\n\t\t\t\t\tvar _call$procedure$_def$3, _call$procedure4;\n\t\t\t\t\tconst call = info === null || info === void 0 ? void 0 : info.calls[errorOpts.path[0]];\n\t\t\t\t\tconst error = getTRPCErrorFromUnknown(errorOpts.error);\n\t\t\t\t\tconst input = call === null || call === void 0 ? void 0 : call.result();\n\t\t\t\t\tconst path = call === null || call === void 0 ? void 0 : call.path;\n\t\t\t\t\tconst type = (_call$procedure$_def$3 = call === null || call === void 0 || (_call$procedure4 = call.procedure) === null || _call$procedure4 === void 0 ? void 0 : _call$procedure4._def.type) !== null && _call$procedure$_def$3 !== void 0 ? _call$procedure$_def$3 : \"unknown\";\n\t\t\t\t\tconst shape = getErrorShape({\n\t\t\t\t\t\tconfig,\n\t\t\t\t\t\tctx: ctxManager.valueOrUndefined(),\n\t\t\t\t\t\terror,\n\t\t\t\t\t\tinput,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\ttype\n\t\t\t\t\t});\n\t\t\t\t\treturn shape;\n\t\t\t\t}\n\t\t\t}));\n\t\t\treturn new Response(stream, {\n\t\t\t\theaders,\n\t\t\t\tstatus: headResponse$1.status\n\t\t\t});\n\t\t}\n\t\t/**\n\t\t* Non-streaming response:\n\t\t* - await all responses in parallel, blocking on the slowest one\n\t\t* - create headers with known response body\n\t\t* - return a complete HTTPResponse\n\t\t*/\n\t\theaders.set(\"content-type\", \"application/json\");\n\t\tconst results = (await Promise.all(rpcCalls)).map((res) => {\n\t\t\tconst [error, result] = res;\n\t\t\tif (error) return res;\n\t\t\tif (isDataStream(result.data)) return [new TRPCError({\n\t\t\t\tcode: \"UNSUPPORTED_MEDIA_TYPE\",\n\t\t\t\tmessage: \"Cannot use stream-like response in non-streaming request - use httpBatchStreamLink\"\n\t\t\t}), void 0];\n\t\t\treturn res;\n\t\t});\n\t\tconst resultAsRPCResponse = results.map(([error, result], index) => {\n\t\t\tconst call = info.calls[index];\n\t\t\tif (error) {\n\t\t\t\tvar _call$procedure$_def$4, _call$procedure5;\n\t\t\t\treturn { error: getErrorShape({\n\t\t\t\t\tconfig,\n\t\t\t\t\tctx: ctxManager.valueOrUndefined(),\n\t\t\t\t\terror,\n\t\t\t\t\tinput: call.result(),\n\t\t\t\t\tpath: call.path,\n\t\t\t\t\ttype: (_call$procedure$_def$4 = (_call$procedure5 = call.procedure) === null || _call$procedure5 === void 0 ? void 0 : _call$procedure5._def.type) !== null && _call$procedure$_def$4 !== void 0 ? _call$procedure$_def$4 : \"unknown\"\n\t\t\t\t}) };\n\t\t\t}\n\t\t\treturn { result: { data: result.data } };\n\t\t});\n\t\tconst errors = results.map(([error]) => error).filter(Boolean);\n\t\tconst headResponse = initResponse({\n\t\t\tctx: ctxManager.valueOrUndefined(),\n\t\t\tinfo,\n\t\t\tresponseMeta: opts.responseMeta,\n\t\t\tuntransformedJSON: resultAsRPCResponse,\n\t\t\terrors,\n\t\t\theaders\n\t\t});\n\t\treturn new Response(JSON.stringify(transformTRPCResponse(config, resultAsRPCResponse)), {\n\t\t\tstatus: headResponse.status,\n\t\t\theaders\n\t\t});\n\t} catch (cause) {\n\t\tvar _info$type2;\n\t\tconst [_infoError, info] = infoTuple;\n\t\tconst ctx = ctxManager.valueOrUndefined();\n\t\tconst { error, untransformedJSON, body } = caughtErrorToData(cause, {\n\t\t\topts,\n\t\t\tctx: ctxManager.valueOrUndefined(),\n\t\t\ttype: (_info$type2 = info === null || info === void 0 ? void 0 : info.type) !== null && _info$type2 !== void 0 ? _info$type2 : \"unknown\"\n\t\t});\n\t\tconst headResponse = initResponse({\n\t\t\tctx,\n\t\t\tinfo,\n\t\t\tresponseMeta: opts.responseMeta,\n\t\t\tuntransformedJSON,\n\t\t\terrors: [error],\n\t\t\theaders\n\t\t});\n\t\treturn new Response(body, {\n\t\t\tstatus: headResponse.status,\n\t\t\theaders\n\t\t});\n\t}\n}\n\n//#endregion\nexport { Unpromise, createDeferred, getAcceptHeader, getRequestInfo, isAbortError, isPromise, iteratorResource, jsonlStreamConsumer, jsonlStreamProducer, makeAsyncResource, makeResource, parseConnectionParamsFromString, parseConnectionParamsFromUnknown, require_usingCtx, resolveResponse, sseHeaders, sseStreamConsumer, sseStreamProducer, takeWithGrace, throwAbortError };\n//# sourceMappingURL=resolveResponse-C5I6V_wc.mjs.map","import { skipToken } from \"@tanstack/react-query\";\nimport { isObject } from \"@trpc/server/unstable-core-do-not-import\";\n\n//#region rolldown:runtime\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function() {\n\treturn mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {\n\t\tkey = keys[i];\n\t\tif (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: ((k) => from[k]).bind(null, key),\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\tvalue: mod,\n\tenumerable: true\n}) : target, mod));\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectWithoutPropertiesLoose.js\nvar require_objectWithoutPropertiesLoose = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectWithoutPropertiesLoose.js\"(exports, module) {\n\tfunction _objectWithoutPropertiesLoose(r, e) {\n\t\tif (null == r) return {};\n\t\tvar t = {};\n\t\tfor (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n\t\t\tif (e.includes(n)) continue;\n\t\t\tt[n] = r[n];\n\t\t}\n\t\treturn t;\n\t}\n\tmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectWithoutProperties.js\nvar require_objectWithoutProperties = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectWithoutProperties.js\"(exports, module) {\n\tvar objectWithoutPropertiesLoose = require_objectWithoutPropertiesLoose();\n\tfunction _objectWithoutProperties$1(e, t) {\n\t\tif (null == e) return {};\n\t\tvar o, r, i = objectWithoutPropertiesLoose(e, t);\n\t\tif (Object.getOwnPropertySymbols) {\n\t\t\tvar s = Object.getOwnPropertySymbols(e);\n\t\t\tfor (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n\t\t}\n\t\treturn i;\n\t}\n\tmodule.exports = _objectWithoutProperties$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js\nvar require_typeof = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js\"(exports, module) {\n\tfunction _typeof$2(o) {\n\t\t\"@babel/helpers - typeof\";\n\t\treturn module.exports = _typeof$2 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(o$1) {\n\t\t\treturn typeof o$1;\n\t\t} : function(o$1) {\n\t\t\treturn o$1 && \"function\" == typeof Symbol && o$1.constructor === Symbol && o$1 !== Symbol.prototype ? \"symbol\" : typeof o$1;\n\t\t}, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof$2(o);\n\t}\n\tmodule.exports = _typeof$2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js\nvar require_toPrimitive = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js\"(exports, module) {\n\tvar _typeof$1 = require_typeof()[\"default\"];\n\tfunction toPrimitive$1(t, r) {\n\t\tif (\"object\" != _typeof$1(t) || !t) return t;\n\t\tvar e = t[Symbol.toPrimitive];\n\t\tif (void 0 !== e) {\n\t\t\tvar i = e.call(t, r || \"default\");\n\t\t\tif (\"object\" != _typeof$1(i)) return i;\n\t\t\tthrow new TypeError(\"@@toPrimitive must return a primitive value.\");\n\t\t}\n\t\treturn (\"string\" === r ? String : Number)(t);\n\t}\n\tmodule.exports = toPrimitive$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js\nvar require_toPropertyKey = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js\"(exports, module) {\n\tvar _typeof = require_typeof()[\"default\"];\n\tvar toPrimitive = require_toPrimitive();\n\tfunction toPropertyKey$1(t) {\n\t\tvar i = toPrimitive(t, \"string\");\n\t\treturn \"symbol\" == _typeof(i) ? i : i + \"\";\n\t}\n\tmodule.exports = toPropertyKey$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js\nvar require_defineProperty = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js\"(exports, module) {\n\tvar toPropertyKey = require_toPropertyKey();\n\tfunction _defineProperty(e, r, t) {\n\t\treturn (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n\t\t\tvalue: t,\n\t\t\tenumerable: !0,\n\t\t\tconfigurable: !0,\n\t\t\twritable: !0\n\t\t}) : e[r] = t, e;\n\t}\n\tmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js\nvar require_objectSpread2 = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js\"(exports, module) {\n\tvar defineProperty = require_defineProperty();\n\tfunction ownKeys(e, r) {\n\t\tvar t = Object.keys(e);\n\t\tif (Object.getOwnPropertySymbols) {\n\t\t\tvar o = Object.getOwnPropertySymbols(e);\n\t\t\tr && (o = o.filter(function(r$1) {\n\t\t\t\treturn Object.getOwnPropertyDescriptor(e, r$1).enumerable;\n\t\t\t})), t.push.apply(t, o);\n\t\t}\n\t\treturn t;\n\t}\n\tfunction _objectSpread2(e) {\n\t\tfor (var r = 1; r < arguments.length; r++) {\n\t\t\tvar t = null != arguments[r] ? arguments[r] : {};\n\t\t\tr % 2 ? ownKeys(Object(t), !0).forEach(function(r$1) {\n\t\t\t\tdefineProperty(e, r$1, t[r$1]);\n\t\t\t}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r$1) {\n\t\t\t\tObject.defineProperty(e, r$1, Object.getOwnPropertyDescriptor(t, r$1));\n\t\t\t});\n\t\t}\n\t\treturn e;\n\t}\n\tmodule.exports = _objectSpread2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region src/internals/getQueryKey.ts\nvar import_objectWithoutProperties = __toESM(require_objectWithoutProperties(), 1);\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\nconst _excluded = [\"cursor\", \"direction\"];\n/**\n* To allow easy interactions with groups of related queries, such as\n* invalidating all queries of a router, we use an array as the path when\n* storing in tanstack query.\n**/\nfunction getQueryKeyInternal(path, input, type) {\n\tconst splitPath = path.flatMap((part) => part.split(\".\"));\n\tif (!input && (!type || type === \"any\")) return splitPath.length ? [splitPath] : [];\n\tif (type === \"infinite\" && isObject(input) && (\"direction\" in input || \"cursor\" in input)) {\n\t\tconst { cursor: _, direction: __ } = input, inputWithoutCursorAndDirection = (0, import_objectWithoutProperties.default)(input, _excluded);\n\t\treturn [splitPath, {\n\t\t\tinput: inputWithoutCursorAndDirection,\n\t\t\ttype: \"infinite\"\n\t\t}];\n\t}\n\treturn [splitPath, (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, typeof input !== \"undefined\" && input !== skipToken && { input }), type && type !== \"any\" && { type })];\n}\nfunction getMutationKeyInternal(path) {\n\treturn getQueryKeyInternal(path, void 0, \"any\");\n}\n/**\n* Method to extract the query key for a procedure\n* @param procedureOrRouter - procedure or AnyRouter\n* @param input - input to procedureOrRouter\n* @param type - defaults to `any`\n* @see https://trpc.io/docs/v11/getQueryKey\n*/\nfunction getQueryKey(procedureOrRouter, ..._params) {\n\tconst [input, type] = _params;\n\tconst path = procedureOrRouter._def().path;\n\tconst queryKey = getQueryKeyInternal(path, input, type !== null && type !== void 0 ? type : \"any\");\n\treturn queryKey;\n}\n/**\n* Method to extract the mutation key for a procedure\n* @param procedure - procedure\n* @see https://trpc.io/docs/v11/getQueryKey#mutations\n*/\nfunction getMutationKey(procedure) {\n\tconst path = procedure._def().path;\n\treturn getMutationKeyInternal(path);\n}\n\n//#endregion\nexport { __commonJS, __toESM, getMutationKey, getMutationKeyInternal, getQueryKey, getQueryKeyInternal, require_objectSpread2, require_objectWithoutProperties };\n//# sourceMappingURL=getQueryKey-BY58RNzP.mjs.map","//#region rolldown:runtime\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function() {\n\treturn mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {\n\t\tkey = keys[i];\n\t\tif (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: ((k) => from[k]).bind(null, key),\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\tvalue: mod,\n\tenumerable: true\n}) : target, mod));\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js\nvar require_typeof = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js\"(exports, module) {\n\tfunction _typeof$2(o) {\n\t\t\"@babel/helpers - typeof\";\n\t\treturn module.exports = _typeof$2 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(o$1) {\n\t\t\treturn typeof o$1;\n\t\t} : function(o$1) {\n\t\t\treturn o$1 && \"function\" == typeof Symbol && o$1.constructor === Symbol && o$1 !== Symbol.prototype ? \"symbol\" : typeof o$1;\n\t\t}, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof$2(o);\n\t}\n\tmodule.exports = _typeof$2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js\nvar require_toPrimitive = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js\"(exports, module) {\n\tvar _typeof$1 = require_typeof()[\"default\"];\n\tfunction toPrimitive$1(t, r) {\n\t\tif (\"object\" != _typeof$1(t) || !t) return t;\n\t\tvar e = t[Symbol.toPrimitive];\n\t\tif (void 0 !== e) {\n\t\t\tvar i = e.call(t, r || \"default\");\n\t\t\tif (\"object\" != _typeof$1(i)) return i;\n\t\t\tthrow new TypeError(\"@@toPrimitive must return a primitive value.\");\n\t\t}\n\t\treturn (\"string\" === r ? String : Number)(t);\n\t}\n\tmodule.exports = toPrimitive$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js\nvar require_toPropertyKey = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js\"(exports, module) {\n\tvar _typeof = require_typeof()[\"default\"];\n\tvar toPrimitive = require_toPrimitive();\n\tfunction toPropertyKey$1(t) {\n\t\tvar i = toPrimitive(t, \"string\");\n\t\treturn \"symbol\" == _typeof(i) ? i : i + \"\";\n\t}\n\tmodule.exports = toPropertyKey$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js\nvar require_defineProperty = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js\"(exports, module) {\n\tvar toPropertyKey = require_toPropertyKey();\n\tfunction _defineProperty(e, r, t) {\n\t\treturn (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n\t\t\tvalue: t,\n\t\t\tenumerable: !0,\n\t\t\tconfigurable: !0,\n\t\t\twritable: !0\n\t\t}) : e[r] = t, e;\n\t}\n\tmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js\nvar require_objectSpread2 = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js\"(exports, module) {\n\tvar defineProperty = require_defineProperty();\n\tfunction ownKeys(e, r) {\n\t\tvar t = Object.keys(e);\n\t\tif (Object.getOwnPropertySymbols) {\n\t\t\tvar o = Object.getOwnPropertySymbols(e);\n\t\t\tr && (o = o.filter(function(r$1) {\n\t\t\t\treturn Object.getOwnPropertyDescriptor(e, r$1).enumerable;\n\t\t\t})), t.push.apply(t, o);\n\t\t}\n\t\treturn t;\n\t}\n\tfunction _objectSpread2(e) {\n\t\tfor (var r = 1; r < arguments.length; r++) {\n\t\t\tvar t = null != arguments[r] ? arguments[r] : {};\n\t\t\tr % 2 ? ownKeys(Object(t), !0).forEach(function(r$1) {\n\t\t\t\tdefineProperty(e, r$1, t[r$1]);\n\t\t\t}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r$1) {\n\t\t\t\tObject.defineProperty(e, r$1, Object.getOwnPropertyDescriptor(t, r$1));\n\t\t\t});\n\t\t}\n\t\treturn e;\n\t}\n\tmodule.exports = _objectSpread2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\nexport { __commonJS, __toESM, require_defineProperty, require_objectSpread2 };\n//# sourceMappingURL=objectSpread2-BvkFp-_Y.mjs.map","import { observable } from \"./observable-UMO3vUa_.mjs\";\n\n//#region src/observable/operators.ts\nfunction map(project) {\n\treturn (source) => {\n\t\treturn observable((destination) => {\n\t\t\tlet index = 0;\n\t\t\tconst subscription = source.subscribe({\n\t\t\t\tnext(value) {\n\t\t\t\t\tdestination.next(project(value, index++));\n\t\t\t\t},\n\t\t\t\terror(error) {\n\t\t\t\t\tdestination.error(error);\n\t\t\t\t},\n\t\t\t\tcomplete() {\n\t\t\t\t\tdestination.complete();\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn subscription;\n\t\t});\n\t};\n}\nfunction share(_opts) {\n\treturn (source) => {\n\t\tlet refCount = 0;\n\t\tlet subscription = null;\n\t\tconst observers = [];\n\t\tfunction startIfNeeded() {\n\t\t\tif (subscription) return;\n\t\t\tsubscription = source.subscribe({\n\t\t\t\tnext(value) {\n\t\t\t\t\tfor (const observer of observers) {\n\t\t\t\t\t\tvar _observer$next;\n\t\t\t\t\t\t(_observer$next = observer.next) === null || _observer$next === void 0 || _observer$next.call(observer, value);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terror(error) {\n\t\t\t\t\tfor (const observer of observers) {\n\t\t\t\t\t\tvar _observer$error;\n\t\t\t\t\t\t(_observer$error = observer.error) === null || _observer$error === void 0 || _observer$error.call(observer, error);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tcomplete() {\n\t\t\t\t\tfor (const observer of observers) {\n\t\t\t\t\t\tvar _observer$complete;\n\t\t\t\t\t\t(_observer$complete = observer.complete) === null || _observer$complete === void 0 || _observer$complete.call(observer);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tfunction resetIfNeeded() {\n\t\t\tif (refCount === 0 && subscription) {\n\t\t\t\tconst _sub = subscription;\n\t\t\t\tsubscription = null;\n\t\t\t\t_sub.unsubscribe();\n\t\t\t}\n\t\t}\n\t\treturn observable((subscriber) => {\n\t\t\trefCount++;\n\t\t\tobservers.push(subscriber);\n\t\t\tstartIfNeeded();\n\t\t\treturn { unsubscribe() {\n\t\t\t\trefCount--;\n\t\t\t\tresetIfNeeded();\n\t\t\t\tconst index = observers.findIndex((v) => v === subscriber);\n\t\t\t\tif (index > -1) observers.splice(index, 1);\n\t\t\t} };\n\t\t});\n\t};\n}\nfunction tap(observer) {\n\treturn (source) => {\n\t\treturn observable((destination) => {\n\t\t\treturn source.subscribe({\n\t\t\t\tnext(value) {\n\t\t\t\t\tvar _observer$next2;\n\t\t\t\t\t(_observer$next2 = observer.next) === null || _observer$next2 === void 0 || _observer$next2.call(observer, value);\n\t\t\t\t\tdestination.next(value);\n\t\t\t\t},\n\t\t\t\terror(error) {\n\t\t\t\t\tvar _observer$error2;\n\t\t\t\t\t(_observer$error2 = observer.error) === null || _observer$error2 === void 0 || _observer$error2.call(observer, error);\n\t\t\t\t\tdestination.error(error);\n\t\t\t\t},\n\t\t\t\tcomplete() {\n\t\t\t\t\tvar _observer$complete2;\n\t\t\t\t\t(_observer$complete2 = observer.complete) === null || _observer$complete2 === void 0 || _observer$complete2.call(observer);\n\t\t\t\t\tdestination.complete();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t};\n}\nconst distinctUnsetMarker = Symbol();\nfunction distinctUntilChanged(compare = (a, b) => a === b) {\n\treturn (source) => {\n\t\treturn observable((destination) => {\n\t\t\tlet lastValue = distinctUnsetMarker;\n\t\t\treturn source.subscribe({\n\t\t\t\tnext(value) {\n\t\t\t\t\tif (lastValue !== distinctUnsetMarker && compare(lastValue, value)) return;\n\t\t\t\t\tlastValue = value;\n\t\t\t\t\tdestination.next(value);\n\t\t\t\t},\n\t\t\t\terror(error) {\n\t\t\t\t\tdestination.error(error);\n\t\t\t\t},\n\t\t\t\tcomplete() {\n\t\t\t\t\tdestination.complete();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t};\n}\nconst isDeepEqual = (a, b) => {\n\tif (a === b) return true;\n\tconst bothAreObjects = a && b && typeof a === \"object\" && typeof b === \"object\";\n\treturn !!bothAreObjects && Object.keys(a).length === Object.keys(b).length && Object.entries(a).every(([k, v]) => isDeepEqual(v, b[k]));\n};\nfunction distinctUntilDeepChanged() {\n\treturn distinctUntilChanged(isDeepEqual);\n}\n\n//#endregion\n//#region src/observable/behaviorSubject.ts\n/**\n* @internal\n* An observable that maintains and provides a \"current value\" to subscribers\n* @see https://www.learnrxjs.io/learn-rxjs/subjects/behaviorsubject\n*/\nfunction behaviorSubject(initialValue) {\n\tlet value = initialValue;\n\tconst observerList = [];\n\tconst addObserver = (observer) => {\n\t\tif (value !== void 0) observer.next(value);\n\t\tobserverList.push(observer);\n\t};\n\tconst removeObserver = (observer) => {\n\t\tobserverList.splice(observerList.indexOf(observer), 1);\n\t};\n\tconst obs = observable((observer) => {\n\t\taddObserver(observer);\n\t\treturn () => {\n\t\t\tremoveObserver(observer);\n\t\t};\n\t});\n\tobs.next = (nextValue) => {\n\t\tif (value === nextValue) return;\n\t\tvalue = nextValue;\n\t\tfor (const observer of observerList) observer.next(nextValue);\n\t};\n\tobs.get = () => value;\n\treturn obs;\n}\n\n//#endregion\nexport { behaviorSubject, distinctUntilChanged, distinctUntilDeepChanged, map, share, tap };\n//# sourceMappingURL=observable-CUiPknO-.mjs.map","import { observable } from \"@trpc/server/observable\";\n\n//#region src/links/internals/createChain.ts\n/** @internal */\nfunction createChain(opts) {\n\treturn observable((observer) => {\n\t\tfunction execute(index = 0, op = opts.op) {\n\t\t\tconst next = opts.links[index];\n\t\t\tif (!next) throw new Error(\"No more links to execute - did you forget to add an ending link?\");\n\t\t\tconst subscription = next({\n\t\t\t\top,\n\t\t\t\tnext(nextOp) {\n\t\t\t\t\tconst nextObserver = execute(index + 1, nextOp);\n\t\t\t\t\treturn nextObserver;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn subscription;\n\t\t}\n\t\tconst obs$ = execute();\n\t\treturn obs$.subscribe(observer);\n\t});\n}\n\n//#endregion\n//#region src/links/splitLink.ts\nfunction asArray(value) {\n\treturn Array.isArray(value) ? value : [value];\n}\nfunction splitLink(opts) {\n\treturn (runtime) => {\n\t\tconst yes = asArray(opts.true).map((link) => link(runtime));\n\t\tconst no = asArray(opts.false).map((link) => link(runtime));\n\t\treturn (props) => {\n\t\t\treturn observable((observer) => {\n\t\t\t\tconst links = opts.condition(props.op) ? yes : no;\n\t\t\t\treturn createChain({\n\t\t\t\t\top: props.op,\n\t\t\t\t\tlinks\n\t\t\t\t}).subscribe(observer);\n\t\t\t});\n\t\t};\n\t};\n}\n\n//#endregion\nexport { createChain, splitLink };\n//# sourceMappingURL=splitLink-B7Cuf2c_.mjs.map","import { __toESM, require_defineProperty, require_objectSpread2 } from \"./objectSpread2-BvkFp-_Y.mjs\";\nimport { isObject } from \"@trpc/server/unstable-core-do-not-import\";\n\n//#region src/TRPCClientError.ts\nvar import_defineProperty = __toESM(require_defineProperty(), 1);\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\nfunction isTRPCClientError(cause) {\n\treturn cause instanceof TRPCClientError;\n}\nfunction isTRPCErrorResponse(obj) {\n\treturn isObject(obj) && isObject(obj[\"error\"]) && typeof obj[\"error\"][\"code\"] === \"number\" && typeof obj[\"error\"][\"message\"] === \"string\";\n}\nfunction getMessageFromUnknownError(err, fallback) {\n\tif (typeof err === \"string\") return err;\n\tif (isObject(err) && typeof err[\"message\"] === \"string\") return err[\"message\"];\n\treturn fallback;\n}\nvar TRPCClientError = class TRPCClientError extends Error {\n\tconstructor(message, opts) {\n\t\tvar _opts$result, _opts$result2;\n\t\tconst cause = opts === null || opts === void 0 ? void 0 : opts.cause;\n\t\tsuper(message, { cause });\n\t\t(0, import_defineProperty.default)(this, \"cause\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"shape\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"data\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"meta\", void 0);\n\t\tthis.meta = opts === null || opts === void 0 ? void 0 : opts.meta;\n\t\tthis.cause = cause;\n\t\tthis.shape = opts === null || opts === void 0 || (_opts$result = opts.result) === null || _opts$result === void 0 ? void 0 : _opts$result.error;\n\t\tthis.data = opts === null || opts === void 0 || (_opts$result2 = opts.result) === null || _opts$result2 === void 0 ? void 0 : _opts$result2.error.data;\n\t\tthis.name = \"TRPCClientError\";\n\t\tObject.setPrototypeOf(this, TRPCClientError.prototype);\n\t}\n\tstatic from(_cause, opts = {}) {\n\t\tconst cause = _cause;\n\t\tif (isTRPCClientError(cause)) {\n\t\t\tif (opts.meta) cause.meta = (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, cause.meta), opts.meta);\n\t\t\treturn cause;\n\t\t}\n\t\tif (isTRPCErrorResponse(cause)) return new TRPCClientError(cause.error.message, (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {\n\t\t\tresult: cause,\n\t\t\tcause: opts.cause\n\t\t}));\n\t\treturn new TRPCClientError(getMessageFromUnknownError(cause, \"Unknown error\"), (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, { cause }));\n\t}\n};\n\n//#endregion\nexport { TRPCClientError, isTRPCClientError };\n//# sourceMappingURL=TRPCClientError-apv8gw59.mjs.map","//#region src/internals/transformer.ts\n/**\n* @internal\n*/\n/**\n* @internal\n*/\nfunction getTransformer(transformer) {\n\tconst _transformer = transformer;\n\tif (!_transformer) return {\n\t\tinput: {\n\t\t\tserialize: (data) => data,\n\t\t\tdeserialize: (data) => data\n\t\t},\n\t\toutput: {\n\t\t\tserialize: (data) => data,\n\t\t\tdeserialize: (data) => data\n\t\t}\n\t};\n\tif (\"input\" in _transformer) return _transformer;\n\treturn {\n\t\tinput: _transformer,\n\t\toutput: _transformer\n\t};\n}\n\n//#endregion\nexport { getTransformer };\n//# sourceMappingURL=unstable-internals-Bg7n9BBj.mjs.map","import { __toESM, require_objectSpread2 } from \"./objectSpread2-BvkFp-_Y.mjs\";\nimport { getTransformer } from \"./unstable-internals-Bg7n9BBj.mjs\";\n\n//#region src/getFetch.ts\nconst isFunction = (fn) => typeof fn === \"function\";\nfunction getFetch(customFetchImpl) {\n\tif (customFetchImpl) return customFetchImpl;\n\tif (typeof window !== \"undefined\" && isFunction(window.fetch)) return window.fetch;\n\tif (typeof globalThis !== \"undefined\" && isFunction(globalThis.fetch)) return globalThis.fetch;\n\tthrow new Error(\"No fetch implementation found\");\n}\n\n//#endregion\n//#region src/links/internals/httpUtils.ts\nvar import_objectSpread2 = __toESM(require_objectSpread2());\nfunction resolveHTTPLinkOptions(opts) {\n\treturn {\n\t\turl: opts.url.toString(),\n\t\tfetch: opts.fetch,\n\t\ttransformer: getTransformer(opts.transformer),\n\t\tmethodOverride: opts.methodOverride\n\t};\n}\nfunction arrayToDict(array) {\n\tconst dict = {};\n\tfor (let index = 0; index < array.length; index++) {\n\t\tconst element = array[index];\n\t\tdict[index] = element;\n\t}\n\treturn dict;\n}\nconst METHOD = {\n\tquery: \"GET\",\n\tmutation: \"POST\",\n\tsubscription: \"PATCH\"\n};\nfunction getInput(opts) {\n\treturn \"input\" in opts ? opts.transformer.input.serialize(opts.input) : arrayToDict(opts.inputs.map((_input) => opts.transformer.input.serialize(_input)));\n}\nconst getUrl = (opts) => {\n\tconst parts = opts.url.split(\"?\");\n\tconst base = parts[0].replace(/\\/$/, \"\");\n\tlet url = base + \"/\" + opts.path;\n\tconst queryParts = [];\n\tif (parts[1]) queryParts.push(parts[1]);\n\tif (\"inputs\" in opts) queryParts.push(\"batch=1\");\n\tif (opts.type === \"query\" || opts.type === \"subscription\") {\n\t\tconst input = getInput(opts);\n\t\tif (input !== void 0 && opts.methodOverride !== \"POST\") queryParts.push(`input=${encodeURIComponent(JSON.stringify(input))}`);\n\t}\n\tif (queryParts.length) url += \"?\" + queryParts.join(\"&\");\n\treturn url;\n};\nconst getBody = (opts) => {\n\tif (opts.type === \"query\" && opts.methodOverride !== \"POST\") return void 0;\n\tconst input = getInput(opts);\n\treturn input !== void 0 ? JSON.stringify(input) : void 0;\n};\nconst jsonHttpRequester = (opts) => {\n\treturn httpRequest((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {\n\t\tcontentTypeHeader: \"application/json\",\n\t\tgetUrl,\n\t\tgetBody\n\t}));\n};\n/**\n* Polyfill for DOMException with AbortError name\n*/\nvar AbortError = class extends Error {\n\tconstructor() {\n\t\tconst name = \"AbortError\";\n\t\tsuper(name);\n\t\tthis.name = name;\n\t\tthis.message = name;\n\t}\n};\n/**\n* Polyfill for `signal.throwIfAborted()`\n*\n* @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/throwIfAborted\n*/\nconst throwIfAborted = (signal) => {\n\tvar _signal$throwIfAborte;\n\tif (!(signal === null || signal === void 0 ? void 0 : signal.aborted)) return;\n\t(_signal$throwIfAborte = signal.throwIfAborted) === null || _signal$throwIfAborte === void 0 || _signal$throwIfAborte.call(signal);\n\tif (typeof DOMException !== \"undefined\") throw new DOMException(\"AbortError\", \"AbortError\");\n\tthrow new AbortError();\n};\nasync function fetchHTTPResponse(opts) {\n\tvar _opts$methodOverride, _opts$trpcAcceptHeade;\n\tthrowIfAborted(opts.signal);\n\tconst url = opts.getUrl(opts);\n\tconst body = opts.getBody(opts);\n\tconst method = (_opts$methodOverride = opts.methodOverride) !== null && _opts$methodOverride !== void 0 ? _opts$methodOverride : METHOD[opts.type];\n\tconst resolvedHeaders = await (async () => {\n\t\tconst heads = await opts.headers();\n\t\tif (Symbol.iterator in heads) return Object.fromEntries(heads);\n\t\treturn heads;\n\t})();\n\tconst headers = (0, import_objectSpread2.default)((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts.contentTypeHeader && method !== \"GET\" ? { \"content-type\": opts.contentTypeHeader } : {}), opts.trpcAcceptHeader ? { [(_opts$trpcAcceptHeade = opts.trpcAcceptHeaderKey) !== null && _opts$trpcAcceptHeade !== void 0 ? _opts$trpcAcceptHeade : \"trpc-accept\"]: opts.trpcAcceptHeader } : void 0), resolvedHeaders);\n\treturn getFetch(opts.fetch)(url, {\n\t\tmethod,\n\t\tsignal: opts.signal,\n\t\tbody,\n\t\theaders\n\t});\n}\nasync function httpRequest(opts) {\n\tconst meta = {};\n\tconst res = await fetchHTTPResponse(opts);\n\tmeta.response = res;\n\tconst json = await res.json();\n\tmeta.responseJSON = json;\n\treturn {\n\t\tjson,\n\t\tmeta\n\t};\n}\n\n//#endregion\nexport { fetchHTTPResponse, getBody, getFetch, getUrl, httpRequest, jsonHttpRequester, resolveHTTPLinkOptions };\n//# sourceMappingURL=httpUtils-BNq9QC3d.mjs.map","import { __toESM, require_objectSpread2 } from \"./objectSpread2-BvkFp-_Y.mjs\";\nimport { TRPCClientError } from \"./TRPCClientError-apv8gw59.mjs\";\nimport { getUrl, httpRequest, jsonHttpRequester, resolveHTTPLinkOptions } from \"./httpUtils-BNq9QC3d.mjs\";\nimport { observable } from \"@trpc/server/observable\";\nimport { transformResult } from \"@trpc/server/unstable-core-do-not-import\";\n\n//#region src/links/internals/contentTypes.ts\nfunction isOctetType(input) {\n\treturn input instanceof Uint8Array || input instanceof Blob;\n}\nfunction isFormData(input) {\n\treturn input instanceof FormData;\n}\nfunction isNonJsonSerializable(input) {\n\treturn isOctetType(input) || isFormData(input);\n}\n\n//#endregion\n//#region src/links/httpLink.ts\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\nconst universalRequester = (opts) => {\n\tif (\"input\" in opts) {\n\t\tconst { input } = opts;\n\t\tif (isFormData(input)) {\n\t\t\tif (opts.type !== \"mutation\" && opts.methodOverride !== \"POST\") throw new Error(\"FormData is only supported for mutations\");\n\t\t\treturn httpRequest((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {\n\t\t\t\tcontentTypeHeader: void 0,\n\t\t\t\tgetUrl,\n\t\t\t\tgetBody: () => input\n\t\t\t}));\n\t\t}\n\t\tif (isOctetType(input)) {\n\t\t\tif (opts.type !== \"mutation\" && opts.methodOverride !== \"POST\") throw new Error(\"Octet type input is only supported for mutations\");\n\t\t\treturn httpRequest((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {\n\t\t\t\tcontentTypeHeader: \"application/octet-stream\",\n\t\t\t\tgetUrl,\n\t\t\t\tgetBody: () => input\n\t\t\t}));\n\t\t}\n\t}\n\treturn jsonHttpRequester(opts);\n};\n/**\n* @see https://trpc.io/docs/client/links/httpLink\n*/\nfunction httpLink(opts) {\n\tconst resolvedOpts = resolveHTTPLinkOptions(opts);\n\treturn () => {\n\t\treturn (operationOpts) => {\n\t\t\tconst { op } = operationOpts;\n\t\t\treturn observable((observer) => {\n\t\t\t\tconst { path, input, type } = op;\n\t\t\t\t/* istanbul ignore if -- @preserve */\n\t\t\t\tif (type === \"subscription\") throw new Error(\"Subscriptions are unsupported by `httpLink` - use `httpSubscriptionLink` or `wsLink`\");\n\t\t\t\tconst request = universalRequester((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, resolvedOpts), {}, {\n\t\t\t\t\ttype,\n\t\t\t\t\tpath,\n\t\t\t\t\tinput,\n\t\t\t\t\tsignal: op.signal,\n\t\t\t\t\theaders() {\n\t\t\t\t\t\tif (!opts.headers) return {};\n\t\t\t\t\t\tif (typeof opts.headers === \"function\") return opts.headers({ op });\n\t\t\t\t\t\treturn opts.headers;\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tlet meta = void 0;\n\t\t\t\trequest.then((res) => {\n\t\t\t\t\tmeta = res.meta;\n\t\t\t\t\tconst transformed = transformResult(res.json, resolvedOpts.transformer.output);\n\t\t\t\t\tif (!transformed.ok) {\n\t\t\t\t\t\tobserver.error(TRPCClientError.from(transformed.error, { meta }));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tobserver.next({\n\t\t\t\t\t\tcontext: res.meta,\n\t\t\t\t\t\tresult: transformed.result\n\t\t\t\t\t});\n\t\t\t\t\tobserver.complete();\n\t\t\t\t}).catch((cause) => {\n\t\t\t\t\tobserver.error(TRPCClientError.from(cause, { meta }));\n\t\t\t\t});\n\t\t\t\treturn () => {};\n\t\t\t});\n\t\t};\n\t};\n}\n\n//#endregion\nexport { httpLink, isFormData, isNonJsonSerializable, isOctetType };\n//# sourceMappingURL=httpLink-oiU8eqFi.mjs.map","import { __toESM, require_objectSpread2 } from \"./objectSpread2-BvkFp-_Y.mjs\";\nimport { TRPCClientError } from \"./TRPCClientError-apv8gw59.mjs\";\nimport { getUrl, jsonHttpRequester, resolveHTTPLinkOptions } from \"./httpUtils-BNq9QC3d.mjs\";\nimport { observable } from \"@trpc/server/observable\";\nimport { transformResult } from \"@trpc/server/unstable-core-do-not-import\";\n\n//#region src/internals/dataLoader.ts\n/**\n* A function that should never be called unless we messed something up.\n*/\nconst throwFatalError = () => {\n\tthrow new Error(\"Something went wrong. Please submit an issue at https://github.com/trpc/trpc/issues/new\");\n};\n/**\n* Dataloader that's very inspired by https://github.com/graphql/dataloader\n* Less configuration, no caching, and allows you to cancel requests\n* When cancelling a single fetch the whole batch will be cancelled only when _all_ items are cancelled\n*/\nfunction dataLoader(batchLoader) {\n\tlet pendingItems = null;\n\tlet dispatchTimer = null;\n\tconst destroyTimerAndPendingItems = () => {\n\t\tclearTimeout(dispatchTimer);\n\t\tdispatchTimer = null;\n\t\tpendingItems = null;\n\t};\n\t/**\n\t* Iterate through the items and split them into groups based on the `batchLoader`'s validate function\n\t*/\n\tfunction groupItems(items) {\n\t\tconst groupedItems = [[]];\n\t\tlet index = 0;\n\t\twhile (true) {\n\t\t\tconst item = items[index];\n\t\t\tif (!item) break;\n\t\t\tconst lastGroup = groupedItems[groupedItems.length - 1];\n\t\t\tif (item.aborted) {\n\t\t\t\tvar _item$reject;\n\t\t\t\t(_item$reject = item.reject) === null || _item$reject === void 0 || _item$reject.call(item, new Error(\"Aborted\"));\n\t\t\t\tindex++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst isValid = batchLoader.validate(lastGroup.concat(item).map((it) => it.key));\n\t\t\tif (isValid) {\n\t\t\t\tlastGroup.push(item);\n\t\t\t\tindex++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (lastGroup.length === 0) {\n\t\t\t\tvar _item$reject2;\n\t\t\t\t(_item$reject2 = item.reject) === null || _item$reject2 === void 0 || _item$reject2.call(item, new Error(\"Input is too big for a single dispatch\"));\n\t\t\t\tindex++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tgroupedItems.push([]);\n\t\t}\n\t\treturn groupedItems;\n\t}\n\tfunction dispatch() {\n\t\tconst groupedItems = groupItems(pendingItems);\n\t\tdestroyTimerAndPendingItems();\n\t\tfor (const items of groupedItems) {\n\t\t\tif (!items.length) continue;\n\t\t\tconst batch = { items };\n\t\t\tfor (const item of items) item.batch = batch;\n\t\t\tconst promise = batchLoader.fetch(batch.items.map((_item) => _item.key));\n\t\t\tpromise.then(async (result) => {\n\t\t\t\tawait Promise.all(result.map(async (valueOrPromise, index) => {\n\t\t\t\t\tconst item = batch.items[index];\n\t\t\t\t\ttry {\n\t\t\t\t\t\tvar _item$resolve;\n\t\t\t\t\t\tconst value = await Promise.resolve(valueOrPromise);\n\t\t\t\t\t\t(_item$resolve = item.resolve) === null || _item$resolve === void 0 || _item$resolve.call(item, value);\n\t\t\t\t\t} catch (cause) {\n\t\t\t\t\t\tvar _item$reject3;\n\t\t\t\t\t\t(_item$reject3 = item.reject) === null || _item$reject3 === void 0 || _item$reject3.call(item, cause);\n\t\t\t\t\t}\n\t\t\t\t\titem.batch = null;\n\t\t\t\t\titem.reject = null;\n\t\t\t\t\titem.resolve = null;\n\t\t\t\t}));\n\t\t\t\tfor (const item of batch.items) {\n\t\t\t\t\tvar _item$reject4;\n\t\t\t\t\t(_item$reject4 = item.reject) === null || _item$reject4 === void 0 || _item$reject4.call(item, new Error(\"Missing result\"));\n\t\t\t\t\titem.batch = null;\n\t\t\t\t}\n\t\t\t}).catch((cause) => {\n\t\t\t\tfor (const item of batch.items) {\n\t\t\t\t\tvar _item$reject5;\n\t\t\t\t\t(_item$reject5 = item.reject) === null || _item$reject5 === void 0 || _item$reject5.call(item, cause);\n\t\t\t\t\titem.batch = null;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\tfunction load(key) {\n\t\tvar _dispatchTimer;\n\t\tconst item = {\n\t\t\taborted: false,\n\t\t\tkey,\n\t\t\tbatch: null,\n\t\t\tresolve: throwFatalError,\n\t\t\treject: throwFatalError\n\t\t};\n\t\tconst promise = new Promise((resolve, reject) => {\n\t\t\tvar _pendingItems;\n\t\t\titem.reject = reject;\n\t\t\titem.resolve = resolve;\n\t\t\t(_pendingItems = pendingItems) !== null && _pendingItems !== void 0 || (pendingItems = []);\n\t\t\tpendingItems.push(item);\n\t\t});\n\t\t(_dispatchTimer = dispatchTimer) !== null && _dispatchTimer !== void 0 || (dispatchTimer = setTimeout(dispatch));\n\t\treturn promise;\n\t}\n\treturn { load };\n}\n\n//#endregion\n//#region src/internals/signals.ts\n/**\n* Like `Promise.all()` but for abort signals\n* - When all signals have been aborted, the merged signal will be aborted\n* - If one signal is `null`, no signal will be aborted\n*/\nfunction allAbortSignals(...signals) {\n\tconst ac = new AbortController();\n\tconst count = signals.length;\n\tlet abortedCount = 0;\n\tconst onAbort = () => {\n\t\tif (++abortedCount === count) ac.abort();\n\t};\n\tfor (const signal of signals) if (signal === null || signal === void 0 ? void 0 : signal.aborted) onAbort();\n\telse signal === null || signal === void 0 || signal.addEventListener(\"abort\", onAbort, { once: true });\n\treturn ac.signal;\n}\n/**\n* Like `Promise.race` but for abort signals\n*\n* Basically, a ponyfill for\n* [`AbortSignal.any`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/any_static).\n*/\nfunction raceAbortSignals(...signals) {\n\tconst ac = new AbortController();\n\tfor (const signal of signals) if (signal === null || signal === void 0 ? void 0 : signal.aborted) ac.abort();\n\telse signal === null || signal === void 0 || signal.addEventListener(\"abort\", () => ac.abort(), { once: true });\n\treturn ac.signal;\n}\nfunction abortSignalToPromise(signal) {\n\treturn new Promise((_, reject) => {\n\t\tif (signal.aborted) {\n\t\t\treject(signal.reason);\n\t\t\treturn;\n\t\t}\n\t\tsignal.addEventListener(\"abort\", () => {\n\t\t\treject(signal.reason);\n\t\t}, { once: true });\n\t});\n}\n\n//#endregion\n//#region src/links/httpBatchLink.ts\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\n/**\n* @see https://trpc.io/docs/client/links/httpBatchLink\n*/\nfunction httpBatchLink(opts) {\n\tvar _opts$maxURLLength, _opts$maxItems;\n\tconst resolvedOpts = resolveHTTPLinkOptions(opts);\n\tconst maxURLLength = (_opts$maxURLLength = opts.maxURLLength) !== null && _opts$maxURLLength !== void 0 ? _opts$maxURLLength : Infinity;\n\tconst maxItems = (_opts$maxItems = opts.maxItems) !== null && _opts$maxItems !== void 0 ? _opts$maxItems : Infinity;\n\treturn () => {\n\t\tconst batchLoader = (type) => {\n\t\t\treturn {\n\t\t\t\tvalidate(batchOps) {\n\t\t\t\t\tif (maxURLLength === Infinity && maxItems === Infinity) return true;\n\t\t\t\t\tif (batchOps.length > maxItems) return false;\n\t\t\t\t\tconst path = batchOps.map((op) => op.path).join(\",\");\n\t\t\t\t\tconst inputs = batchOps.map((op) => op.input);\n\t\t\t\t\tconst url = getUrl((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, resolvedOpts), {}, {\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\tinputs,\n\t\t\t\t\t\tsignal: null\n\t\t\t\t\t}));\n\t\t\t\t\treturn url.length <= maxURLLength;\n\t\t\t\t},\n\t\t\t\tasync fetch(batchOps) {\n\t\t\t\t\tconst path = batchOps.map((op) => op.path).join(\",\");\n\t\t\t\t\tconst inputs = batchOps.map((op) => op.input);\n\t\t\t\t\tconst signal = allAbortSignals(...batchOps.map((op) => op.signal));\n\t\t\t\t\tconst res = await jsonHttpRequester((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, resolvedOpts), {}, {\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\tinputs,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\theaders() {\n\t\t\t\t\t\t\tif (!opts.headers) return {};\n\t\t\t\t\t\t\tif (typeof opts.headers === \"function\") return opts.headers({ opList: batchOps });\n\t\t\t\t\t\t\treturn opts.headers;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsignal\n\t\t\t\t\t}));\n\t\t\t\t\tconst resJSON = Array.isArray(res.json) ? res.json : batchOps.map(() => res.json);\n\t\t\t\t\tconst result = resJSON.map((item) => ({\n\t\t\t\t\t\tmeta: res.meta,\n\t\t\t\t\t\tjson: item\n\t\t\t\t\t}));\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\tconst query = dataLoader(batchLoader(\"query\"));\n\t\tconst mutation = dataLoader(batchLoader(\"mutation\"));\n\t\tconst loaders = {\n\t\t\tquery,\n\t\t\tmutation\n\t\t};\n\t\treturn ({ op }) => {\n\t\t\treturn observable((observer) => {\n\t\t\t\t/* istanbul ignore if -- @preserve */\n\t\t\t\tif (op.type === \"subscription\") throw new Error(\"Subscriptions are unsupported by `httpLink` - use `httpSubscriptionLink` or `wsLink`\");\n\t\t\t\tconst loader = loaders[op.type];\n\t\t\t\tconst promise = loader.load(op);\n\t\t\t\tlet _res = void 0;\n\t\t\t\tpromise.then((res) => {\n\t\t\t\t\t_res = res;\n\t\t\t\t\tconst transformed = transformResult(res.json, resolvedOpts.transformer.output);\n\t\t\t\t\tif (!transformed.ok) {\n\t\t\t\t\t\tobserver.error(TRPCClientError.from(transformed.error, { meta: res.meta }));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tobserver.next({\n\t\t\t\t\t\tcontext: res.meta,\n\t\t\t\t\t\tresult: transformed.result\n\t\t\t\t\t});\n\t\t\t\t\tobserver.complete();\n\t\t\t\t}).catch((err) => {\n\t\t\t\t\tobserver.error(TRPCClientError.from(err, { meta: _res === null || _res === void 0 ? void 0 : _res.meta }));\n\t\t\t\t});\n\t\t\t\treturn () => {};\n\t\t\t});\n\t\t};\n\t};\n}\n\n//#endregion\nexport { abortSignalToPromise, allAbortSignals, dataLoader, httpBatchLink, raceAbortSignals };\n//# sourceMappingURL=httpBatchLink-CaWjh1oW.mjs.map","import { __toESM, require_objectSpread2 } from \"./objectSpread2-BvkFp-_Y.mjs\";\nimport { observable, tap } from \"@trpc/server/observable\";\n\n//#region src/links/loggerLink.ts\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\nfunction isFormData(value) {\n\tif (typeof FormData === \"undefined\") return false;\n\treturn value instanceof FormData;\n}\nconst palettes = {\n\tcss: {\n\t\tquery: [\"72e3ff\", \"3fb0d8\"],\n\t\tmutation: [\"c5a3fc\", \"904dfc\"],\n\t\tsubscription: [\"ff49e1\", \"d83fbe\"]\n\t},\n\tansi: {\n\t\tregular: {\n\t\t\tquery: [\"\\x1B[30;46m\", \"\\x1B[97;46m\"],\n\t\t\tmutation: [\"\\x1B[30;45m\", \"\\x1B[97;45m\"],\n\t\t\tsubscription: [\"\\x1B[30;42m\", \"\\x1B[97;42m\"]\n\t\t},\n\t\tbold: {\n\t\t\tquery: [\"\\x1B[1;30;46m\", \"\\x1B[1;97;46m\"],\n\t\t\tmutation: [\"\\x1B[1;30;45m\", \"\\x1B[1;97;45m\"],\n\t\t\tsubscription: [\"\\x1B[1;30;42m\", \"\\x1B[1;97;42m\"]\n\t\t}\n\t}\n};\nfunction constructPartsAndArgs(opts) {\n\tconst { direction, type, withContext, path, id, input } = opts;\n\tconst parts = [];\n\tconst args = [];\n\tif (opts.colorMode === \"none\") parts.push(direction === \"up\" ? \">>\" : \"<<\", type, `#${id}`, path);\n\telse if (opts.colorMode === \"ansi\") {\n\t\tconst [lightRegular, darkRegular] = palettes.ansi.regular[type];\n\t\tconst [lightBold, darkBold] = palettes.ansi.bold[type];\n\t\tconst reset = \"\\x1B[0m\";\n\t\tparts.push(direction === \"up\" ? lightRegular : darkRegular, direction === \"up\" ? \">>\" : \"<<\", type, direction === \"up\" ? lightBold : darkBold, `#${id}`, path, reset);\n\t} else {\n\t\tconst [light, dark] = palettes.css[type];\n\t\tconst css = `\n background-color: #${direction === \"up\" ? light : dark};\n color: ${direction === \"up\" ? \"black\" : \"white\"};\n padding: 2px;\n `;\n\t\tparts.push(\"%c\", direction === \"up\" ? \">>\" : \"<<\", type, `#${id}`, `%c${path}%c`, \"%O\");\n\t\targs.push(css, `${css}; font-weight: bold;`, `${css}; font-weight: normal;`);\n\t}\n\tif (direction === \"up\") args.push(withContext ? {\n\t\tinput,\n\t\tcontext: opts.context\n\t} : { input });\n\telse args.push((0, import_objectSpread2.default)({\n\t\tinput,\n\t\tresult: opts.result,\n\t\telapsedMs: opts.elapsedMs\n\t}, withContext && { context: opts.context }));\n\treturn {\n\t\tparts,\n\t\targs\n\t};\n}\nconst defaultLogger = ({ c = console, colorMode = \"css\", withContext }) => (props) => {\n\tconst rawInput = props.input;\n\tconst input = isFormData(rawInput) ? Object.fromEntries(rawInput) : rawInput;\n\tconst { parts, args } = constructPartsAndArgs((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, props), {}, {\n\t\tcolorMode,\n\t\tinput,\n\t\twithContext\n\t}));\n\tconst fn = props.direction === \"down\" && props.result && (props.result instanceof Error || \"error\" in props.result.result && props.result.result.error) ? \"error\" : \"log\";\n\tc[fn].apply(null, [parts.join(\" \")].concat(args));\n};\n/**\n* @see https://trpc.io/docs/v11/client/links/loggerLink\n*/\nfunction loggerLink(opts = {}) {\n\tvar _opts$colorMode, _opts$withContext;\n\tconst { enabled = () => true } = opts;\n\tconst colorMode = (_opts$colorMode = opts.colorMode) !== null && _opts$colorMode !== void 0 ? _opts$colorMode : typeof window === \"undefined\" ? \"ansi\" : \"css\";\n\tconst withContext = (_opts$withContext = opts.withContext) !== null && _opts$withContext !== void 0 ? _opts$withContext : colorMode === \"css\";\n\tconst { logger = defaultLogger({\n\t\tc: opts.console,\n\t\tcolorMode,\n\t\twithContext\n\t}) } = opts;\n\treturn () => {\n\t\treturn ({ op, next }) => {\n\t\t\treturn observable((observer) => {\n\t\t\t\tif (enabled((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, op), {}, { direction: \"up\" }))) logger((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, op), {}, { direction: \"up\" }));\n\t\t\t\tconst requestStartTime = Date.now();\n\t\t\t\tfunction logResult(result) {\n\t\t\t\t\tconst elapsedMs = Date.now() - requestStartTime;\n\t\t\t\t\tif (enabled((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, op), {}, {\n\t\t\t\t\t\tdirection: \"down\",\n\t\t\t\t\t\tresult\n\t\t\t\t\t}))) logger((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, op), {}, {\n\t\t\t\t\t\tdirection: \"down\",\n\t\t\t\t\t\telapsedMs,\n\t\t\t\t\t\tresult\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\treturn next(op).pipe(tap({\n\t\t\t\t\tnext(result) {\n\t\t\t\t\t\tlogResult(result);\n\t\t\t\t\t},\n\t\t\t\t\terror(result) {\n\t\t\t\t\t\tlogResult(result);\n\t\t\t\t\t}\n\t\t\t\t})).subscribe(observer);\n\t\t\t});\n\t\t};\n\t};\n}\n\n//#endregion\nexport { loggerLink };\n//# sourceMappingURL=loggerLink-ineCN1PO.mjs.map","import { __toESM, require_defineProperty, require_objectSpread2 } from \"./objectSpread2-BvkFp-_Y.mjs\";\nimport { TRPCClientError } from \"./TRPCClientError-apv8gw59.mjs\";\nimport { getTransformer } from \"./unstable-internals-Bg7n9BBj.mjs\";\nimport { behaviorSubject, observable } from \"@trpc/server/observable\";\nimport { run, sleep, transformResult } from \"@trpc/server/unstable-core-do-not-import\";\n\n//#region src/links/wsLink/wsClient/encoder.ts\nconst jsonEncoder = {\n\tencode: (data) => JSON.stringify(data),\n\tdecode: (data) => {\n\t\tif (typeof data !== \"string\") throw new Error(\"jsonEncoder received binary data. JSON uses text frames. Use a binary encoder for binary data.\");\n\t\treturn JSON.parse(data);\n\t}\n};\n\n//#endregion\n//#region src/links/wsLink/wsClient/options.ts\nconst lazyDefaults = {\n\tenabled: false,\n\tcloseMs: 0\n};\nconst keepAliveDefaults = {\n\tenabled: false,\n\tpongTimeoutMs: 1e3,\n\tintervalMs: 5e3\n};\n/**\n* Calculates a delay for exponential backoff based on the retry attempt index.\n* The delay starts at 0 for the first attempt and doubles for each subsequent attempt,\n* capped at 30 seconds.\n*/\nconst exponentialBackoff = (attemptIndex) => {\n\treturn attemptIndex === 0 ? 0 : Math.min(1e3 * 2 ** attemptIndex, 3e4);\n};\n\n//#endregion\n//#region src/links/internals/urlWithConnectionParams.ts\n/**\n* Get the result of a value or function that returns a value\n* It also optionally accepts typesafe arguments for the function\n*/\nconst resultOf = (value, ...args) => {\n\treturn typeof value === \"function\" ? value(...args) : value;\n};\n\n//#endregion\n//#region src/links/wsLink/wsClient/utils.ts\nvar import_defineProperty$3 = __toESM(require_defineProperty(), 1);\nvar TRPCWebSocketClosedError = class TRPCWebSocketClosedError extends Error {\n\tconstructor(opts) {\n\t\tsuper(opts.message, { cause: opts.cause });\n\t\tthis.name = \"TRPCWebSocketClosedError\";\n\t\tObject.setPrototypeOf(this, TRPCWebSocketClosedError.prototype);\n\t}\n};\n/**\n* Utility class for managing a timeout that can be started, stopped, and reset.\n* Useful for scenarios where the timeout duration is reset dynamically based on events.\n*/\nvar ResettableTimeout = class {\n\tconstructor(onTimeout, timeoutMs) {\n\t\tthis.onTimeout = onTimeout;\n\t\tthis.timeoutMs = timeoutMs;\n\t\t(0, import_defineProperty$3.default)(this, \"timeout\", void 0);\n\t}\n\t/**\n\t* Resets the current timeout, restarting it with the same duration.\n\t* Does nothing if no timeout is active.\n\t*/\n\treset() {\n\t\tif (!this.timeout) return;\n\t\tclearTimeout(this.timeout);\n\t\tthis.timeout = setTimeout(this.onTimeout, this.timeoutMs);\n\t}\n\tstart() {\n\t\tclearTimeout(this.timeout);\n\t\tthis.timeout = setTimeout(this.onTimeout, this.timeoutMs);\n\t}\n\tstop() {\n\t\tclearTimeout(this.timeout);\n\t\tthis.timeout = void 0;\n\t}\n};\nfunction withResolvers() {\n\tlet resolve;\n\tlet reject;\n\tconst promise = new Promise((res, rej) => {\n\t\tresolve = res;\n\t\treject = rej;\n\t});\n\treturn {\n\t\tpromise,\n\t\tresolve,\n\t\treject\n\t};\n}\n/**\n* Resolves a WebSocket URL and optionally appends connection parameters.\n*\n* If connectionParams are provided, appends 'connectionParams=1' query parameter.\n*/\nasync function prepareUrl(urlOptions) {\n\tconst url = await resultOf(urlOptions.url);\n\tif (!urlOptions.connectionParams) return url;\n\tconst prefix = url.includes(\"?\") ? \"&\" : \"?\";\n\tconst connectionParams = `${prefix}connectionParams=1`;\n\treturn url + connectionParams;\n}\nasync function buildConnectionMessage(connectionParams, encoder) {\n\tconst message = {\n\t\tmethod: \"connectionParams\",\n\t\tdata: await resultOf(connectionParams)\n\t};\n\treturn encoder.encode(message);\n}\n\n//#endregion\n//#region src/links/wsLink/wsClient/requestManager.ts\nvar import_defineProperty$2 = __toESM(require_defineProperty(), 1);\n/**\n* Manages WebSocket requests, tracking their lifecycle and providing utility methods\n* for handling outgoing and pending requests.\n*\n* - **Outgoing requests**: Requests that are queued and waiting to be sent.\n* - **Pending requests**: Requests that have been sent and are in flight awaiting a response.\n* For subscriptions, multiple responses may be received until the subscription is closed.\n*/\nvar RequestManager = class {\n\tconstructor() {\n\t\t(0, import_defineProperty$2.default)(this, \"outgoingRequests\", new Array());\n\t\t(0, import_defineProperty$2.default)(this, \"pendingRequests\", {});\n\t}\n\t/**\n\t* Registers a new request by adding it to the outgoing queue and setting up\n\t* callbacks for lifecycle events such as completion or error.\n\t*\n\t* @param message - The outgoing message to be sent.\n\t* @param callbacks - Callback functions to observe the request's state.\n\t* @returns A cleanup function to manually remove the request.\n\t*/\n\tregister(message, callbacks) {\n\t\tconst { promise: end, resolve } = withResolvers();\n\t\tthis.outgoingRequests.push({\n\t\t\tid: String(message.id),\n\t\t\tmessage,\n\t\t\tend,\n\t\t\tcallbacks: {\n\t\t\t\tnext: callbacks.next,\n\t\t\t\tcomplete: () => {\n\t\t\t\t\tcallbacks.complete();\n\t\t\t\t\tresolve();\n\t\t\t\t},\n\t\t\t\terror: (e) => {\n\t\t\t\t\tcallbacks.error(e);\n\t\t\t\t\tresolve();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn () => {\n\t\t\tthis.delete(message.id);\n\t\t\tcallbacks.complete();\n\t\t\tresolve();\n\t\t};\n\t}\n\t/**\n\t* Deletes a request from both the outgoing and pending collections, if it exists.\n\t*/\n\tdelete(messageId) {\n\t\tif (messageId === null) return;\n\t\tthis.outgoingRequests = this.outgoingRequests.filter(({ id }) => id !== String(messageId));\n\t\tdelete this.pendingRequests[String(messageId)];\n\t}\n\t/**\n\t* Moves all outgoing requests to the pending state and clears the outgoing queue.\n\t*\n\t* The caller is expected to handle the actual sending of the requests\n\t* (e.g., sending them over the network) after this method is called.\n\t*\n\t* @returns The list of requests that were transitioned to the pending state.\n\t*/\n\tflush() {\n\t\tconst requests = this.outgoingRequests;\n\t\tthis.outgoingRequests = [];\n\t\tfor (const request of requests) this.pendingRequests[request.id] = request;\n\t\treturn requests;\n\t}\n\t/**\n\t* Retrieves all currently pending requests, which are in flight awaiting responses\n\t* or handling ongoing subscriptions.\n\t*/\n\tgetPendingRequests() {\n\t\treturn Object.values(this.pendingRequests);\n\t}\n\t/**\n\t* Retrieves a specific pending request by its message ID.\n\t*/\n\tgetPendingRequest(messageId) {\n\t\tif (messageId === null) return null;\n\t\treturn this.pendingRequests[String(messageId)];\n\t}\n\t/**\n\t* Retrieves all outgoing requests, which are waiting to be sent.\n\t*/\n\tgetOutgoingRequests() {\n\t\treturn this.outgoingRequests;\n\t}\n\t/**\n\t* Retrieves all requests, both outgoing and pending, with their respective states.\n\t*\n\t* @returns An array of all requests with their state (\"outgoing\" or \"pending\").\n\t*/\n\tgetRequests() {\n\t\treturn [...this.getOutgoingRequests().map((request) => ({\n\t\t\tstate: \"outgoing\",\n\t\t\tmessage: request.message,\n\t\t\tend: request.end,\n\t\t\tcallbacks: request.callbacks\n\t\t})), ...this.getPendingRequests().map((request) => ({\n\t\t\tstate: \"pending\",\n\t\t\tmessage: request.message,\n\t\t\tend: request.end,\n\t\t\tcallbacks: request.callbacks\n\t\t}))];\n\t}\n\t/**\n\t* Checks if there are any pending requests, including ongoing subscriptions.\n\t*/\n\thasPendingRequests() {\n\t\treturn this.getPendingRequests().length > 0;\n\t}\n\t/**\n\t* Checks if there are any pending subscriptions\n\t*/\n\thasPendingSubscriptions() {\n\t\treturn this.getPendingRequests().some((request) => request.message.method === \"subscription\");\n\t}\n\t/**\n\t* Checks if there are any outgoing requests waiting to be sent.\n\t*/\n\thasOutgoingRequests() {\n\t\treturn this.outgoingRequests.length > 0;\n\t}\n};\n\n//#endregion\n//#region src/links/wsLink/wsClient/wsConnection.ts\nvar import_defineProperty$1 = __toESM(require_defineProperty(), 1);\n/**\n* Opens a WebSocket connection asynchronously and returns a promise\n* that resolves when the connection is successfully established.\n* The promise rejects if an error occurs during the connection attempt.\n*/\nfunction asyncWsOpen(ws) {\n\tconst { promise, resolve, reject } = withResolvers();\n\tws.addEventListener(\"open\", () => {\n\t\tws.removeEventListener(\"error\", reject);\n\t\tresolve();\n\t});\n\tws.addEventListener(\"error\", reject);\n\treturn promise;\n}\n/**\n* Sets up a periodic ping-pong mechanism to keep the WebSocket connection alive.\n*\n* - Sends \"PING\" messages at regular intervals defined by `intervalMs`.\n* - If a \"PONG\" response is not received within the `pongTimeoutMs`, the WebSocket is closed.\n* - The ping timer resets upon receiving any message to maintain activity.\n* - Automatically starts the ping process when the WebSocket connection is opened.\n* - Cleans up timers when the WebSocket is closed.\n*\n* @param ws - The WebSocket instance to manage.\n* @param options - Configuration options for ping-pong intervals and timeouts.\n*/\nfunction setupPingInterval(ws, { intervalMs, pongTimeoutMs }) {\n\tlet pingTimeout;\n\tlet pongTimeout;\n\tfunction start() {\n\t\tpingTimeout = setTimeout(() => {\n\t\t\tws.send(\"PING\");\n\t\t\tpongTimeout = setTimeout(() => {\n\t\t\t\tws.close();\n\t\t\t}, pongTimeoutMs);\n\t\t}, intervalMs);\n\t}\n\tfunction reset() {\n\t\tclearTimeout(pingTimeout);\n\t\tstart();\n\t}\n\tfunction pong() {\n\t\tclearTimeout(pongTimeout);\n\t\treset();\n\t}\n\tws.addEventListener(\"open\", start);\n\tws.addEventListener(\"message\", ({ data }) => {\n\t\tclearTimeout(pingTimeout);\n\t\tstart();\n\t\tif (data === \"PONG\") pong();\n\t});\n\tws.addEventListener(\"close\", () => {\n\t\tclearTimeout(pingTimeout);\n\t\tclearTimeout(pongTimeout);\n\t});\n}\n/**\n* Manages a WebSocket connection with support for reconnection, keep-alive mechanisms,\n* and observable state tracking.\n*/\nvar WsConnection = class WsConnection {\n\tconstructor(opts) {\n\t\tvar _opts$WebSocketPonyfi;\n\t\t(0, import_defineProperty$1.default)(this, \"id\", ++WsConnection.connectCount);\n\t\t(0, import_defineProperty$1.default)(this, \"WebSocketPonyfill\", void 0);\n\t\t(0, import_defineProperty$1.default)(this, \"urlOptions\", void 0);\n\t\t(0, import_defineProperty$1.default)(this, \"keepAliveOpts\", void 0);\n\t\t(0, import_defineProperty$1.default)(this, \"encoder\", void 0);\n\t\t(0, import_defineProperty$1.default)(this, \"wsObservable\", behaviorSubject(null));\n\t\t(0, import_defineProperty$1.default)(this, \"openPromise\", null);\n\t\tthis.WebSocketPonyfill = (_opts$WebSocketPonyfi = opts.WebSocketPonyfill) !== null && _opts$WebSocketPonyfi !== void 0 ? _opts$WebSocketPonyfi : WebSocket;\n\t\tif (!this.WebSocketPonyfill) throw new Error(\"No WebSocket implementation found - you probably don't want to use this on the server, but if you do you need to pass a `WebSocket`-ponyfill\");\n\t\tthis.urlOptions = opts.urlOptions;\n\t\tthis.keepAliveOpts = opts.keepAlive;\n\t\tthis.encoder = opts.encoder;\n\t}\n\tget ws() {\n\t\treturn this.wsObservable.get();\n\t}\n\tset ws(ws) {\n\t\tthis.wsObservable.next(ws);\n\t}\n\t/**\n\t* Checks if the WebSocket connection is open and ready to communicate.\n\t*/\n\tisOpen() {\n\t\treturn !!this.ws && this.ws.readyState === this.WebSocketPonyfill.OPEN && !this.openPromise;\n\t}\n\t/**\n\t* Checks if the WebSocket connection is closed or in the process of closing.\n\t*/\n\tisClosed() {\n\t\treturn !!this.ws && (this.ws.readyState === this.WebSocketPonyfill.CLOSING || this.ws.readyState === this.WebSocketPonyfill.CLOSED);\n\t}\n\tasync open() {\n\t\tvar _this = this;\n\t\tif (_this.openPromise) return _this.openPromise;\n\t\t_this.id = ++WsConnection.connectCount;\n\t\tconst wsPromise = prepareUrl(_this.urlOptions).then((url) => new _this.WebSocketPonyfill(url));\n\t\t_this.openPromise = wsPromise.then(async (ws) => {\n\t\t\t_this.ws = ws;\n\t\t\tws.binaryType = \"arraybuffer\";\n\t\t\tws.addEventListener(\"message\", function({ data }) {\n\t\t\t\tif (data === \"PING\") this.send(\"PONG\");\n\t\t\t});\n\t\t\tif (_this.keepAliveOpts.enabled) setupPingInterval(ws, _this.keepAliveOpts);\n\t\t\tws.addEventListener(\"close\", () => {\n\t\t\t\tif (_this.ws === ws) _this.ws = null;\n\t\t\t});\n\t\t\tawait asyncWsOpen(ws);\n\t\t\tif (_this.urlOptions.connectionParams) ws.send(await buildConnectionMessage(_this.urlOptions.connectionParams, _this.encoder));\n\t\t});\n\t\ttry {\n\t\t\tawait _this.openPromise;\n\t\t} finally {\n\t\t\t_this.openPromise = null;\n\t\t}\n\t}\n\t/**\n\t* Closes the WebSocket connection gracefully.\n\t* Waits for any ongoing open operation to complete before closing.\n\t*/\n\tasync close() {\n\t\tvar _this2 = this;\n\t\ttry {\n\t\t\tawait _this2.openPromise;\n\t\t} finally {\n\t\t\tvar _this$ws;\n\t\t\t(_this$ws = _this2.ws) === null || _this$ws === void 0 || _this$ws.close();\n\t\t}\n\t}\n};\n(0, import_defineProperty$1.default)(WsConnection, \"connectCount\", 0);\n/**\n* Provides a backward-compatible representation of the connection state.\n*/\nfunction backwardCompatibility(connection) {\n\tif (connection.isOpen()) return {\n\t\tid: connection.id,\n\t\tstate: \"open\",\n\t\tws: connection.ws\n\t};\n\tif (connection.isClosed()) return {\n\t\tid: connection.id,\n\t\tstate: \"closed\",\n\t\tws: connection.ws\n\t};\n\tif (!connection.ws) return null;\n\treturn {\n\t\tid: connection.id,\n\t\tstate: \"connecting\",\n\t\tws: connection.ws\n\t};\n}\n\n//#endregion\n//#region src/links/wsLink/wsClient/wsClient.ts\nvar import_defineProperty = __toESM(require_defineProperty(), 1);\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\n/**\n* A WebSocket client for managing TRPC operations, supporting lazy initialization,\n* reconnection, keep-alive, and request management.\n*/\nvar WsClient = class {\n\tconstructor(opts) {\n\t\tvar _opts$experimental_en, _opts$retryDelayMs;\n\t\t(0, import_defineProperty.default)(this, \"connectionState\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"allowReconnect\", false);\n\t\t(0, import_defineProperty.default)(this, \"requestManager\", new RequestManager());\n\t\t(0, import_defineProperty.default)(this, \"activeConnection\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"reconnectRetryDelay\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"inactivityTimeout\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"callbacks\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"lazyMode\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"encoder\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"reconnecting\", null);\n\t\tthis.encoder = (_opts$experimental_en = opts.experimental_encoder) !== null && _opts$experimental_en !== void 0 ? _opts$experimental_en : jsonEncoder;\n\t\tthis.callbacks = {\n\t\t\tonOpen: opts.onOpen,\n\t\t\tonClose: opts.onClose,\n\t\t\tonError: opts.onError\n\t\t};\n\t\tconst lazyOptions = (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, lazyDefaults), opts.lazy);\n\t\tthis.inactivityTimeout = new ResettableTimeout(() => {\n\t\t\tif (this.requestManager.hasOutgoingRequests() || this.requestManager.hasPendingRequests()) {\n\t\t\t\tthis.inactivityTimeout.reset();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.close().catch(() => null);\n\t\t}, lazyOptions.closeMs);\n\t\tthis.activeConnection = new WsConnection({\n\t\t\tWebSocketPonyfill: opts.WebSocket,\n\t\t\turlOptions: opts,\n\t\t\tkeepAlive: (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, keepAliveDefaults), opts.keepAlive),\n\t\t\tencoder: this.encoder\n\t\t});\n\t\tthis.activeConnection.wsObservable.subscribe({ next: (ws) => {\n\t\t\tif (!ws) return;\n\t\t\tthis.setupWebSocketListeners(ws);\n\t\t} });\n\t\tthis.reconnectRetryDelay = (_opts$retryDelayMs = opts.retryDelayMs) !== null && _opts$retryDelayMs !== void 0 ? _opts$retryDelayMs : exponentialBackoff;\n\t\tthis.lazyMode = lazyOptions.enabled;\n\t\tthis.connectionState = behaviorSubject({\n\t\t\ttype: \"state\",\n\t\t\tstate: lazyOptions.enabled ? \"idle\" : \"connecting\",\n\t\t\terror: null\n\t\t});\n\t\tif (!this.lazyMode) this.open().catch(() => null);\n\t}\n\t/**\n\t* Opens the WebSocket connection. Handles reconnection attempts and updates\n\t* the connection state accordingly.\n\t*/\n\tasync open() {\n\t\tvar _this = this;\n\t\t_this.allowReconnect = true;\n\t\tif (_this.connectionState.get().state === \"idle\") _this.connectionState.next({\n\t\t\ttype: \"state\",\n\t\t\tstate: \"connecting\",\n\t\t\terror: null\n\t\t});\n\t\ttry {\n\t\t\tawait _this.activeConnection.open();\n\t\t} catch (error) {\n\t\t\t_this.reconnect(new TRPCWebSocketClosedError({\n\t\t\t\tmessage: \"Initialization error\",\n\t\t\t\tcause: error\n\t\t\t}));\n\t\t\treturn _this.reconnecting;\n\t\t}\n\t}\n\t/**\n\t* Closes the WebSocket connection and stops managing requests.\n\t* Ensures all outgoing and pending requests are properly finalized.\n\t*/\n\tasync close() {\n\t\tvar _this2 = this;\n\t\t_this2.allowReconnect = false;\n\t\t_this2.inactivityTimeout.stop();\n\t\tconst requestsToAwait = [];\n\t\tfor (const request of _this2.requestManager.getRequests()) if (request.message.method === \"subscription\") request.callbacks.complete();\n\t\telse if (request.state === \"outgoing\") request.callbacks.error(TRPCClientError.from(new TRPCWebSocketClosedError({ message: \"Closed before connection was established\" })));\n\t\telse requestsToAwait.push(request.end);\n\t\tawait Promise.all(requestsToAwait).catch(() => null);\n\t\tawait _this2.activeConnection.close().catch(() => null);\n\t\t_this2.connectionState.next({\n\t\t\ttype: \"state\",\n\t\t\tstate: \"idle\",\n\t\t\terror: null\n\t\t});\n\t}\n\t/**\n\t* Method to request the server.\n\t* Handles data transformation, batching of requests, and subscription lifecycle.\n\t*\n\t* @param op - The operation details including id, type, path, input and signal\n\t* @param transformer - Data transformer for serializing requests and deserializing responses\n\t* @param lastEventId - Optional ID of the last received event for subscriptions\n\t*\n\t* @returns An observable that emits operation results and handles cleanup\n\t*/\n\trequest({ op: { id, type, path, input, signal }, transformer, lastEventId }) {\n\t\treturn observable((observer) => {\n\t\t\tconst abort = this.batchSend({\n\t\t\t\tid,\n\t\t\t\tmethod: type,\n\t\t\t\tparams: {\n\t\t\t\t\tinput: transformer.input.serialize(input),\n\t\t\t\t\tpath,\n\t\t\t\t\tlastEventId\n\t\t\t\t}\n\t\t\t}, (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, observer), {}, { next(event) {\n\t\t\t\tconst transformed = transformResult(event, transformer.output);\n\t\t\t\tif (!transformed.ok) {\n\t\t\t\t\tobserver.error(TRPCClientError.from(transformed.error));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tobserver.next({ result: transformed.result });\n\t\t\t} }));\n\t\t\treturn () => {\n\t\t\t\tabort();\n\t\t\t\tif (type === \"subscription\" && this.activeConnection.isOpen()) this.send({\n\t\t\t\t\tid,\n\t\t\t\t\tmethod: \"subscription.stop\"\n\t\t\t\t});\n\t\t\t\tsignal === null || signal === void 0 || signal.removeEventListener(\"abort\", abort);\n\t\t\t};\n\t\t});\n\t}\n\tget connection() {\n\t\treturn backwardCompatibility(this.activeConnection);\n\t}\n\treconnect(closedError) {\n\t\tvar _this3 = this;\n\t\tthis.connectionState.next({\n\t\t\ttype: \"state\",\n\t\t\tstate: \"connecting\",\n\t\t\terror: TRPCClientError.from(closedError)\n\t\t});\n\t\tif (this.reconnecting) return;\n\t\tconst tryReconnect = async (attemptIndex) => {\n\t\t\ttry {\n\t\t\t\tawait sleep(_this3.reconnectRetryDelay(attemptIndex));\n\t\t\t\tif (_this3.allowReconnect) {\n\t\t\t\t\tawait _this3.activeConnection.close();\n\t\t\t\t\tawait _this3.activeConnection.open();\n\t\t\t\t\tif (_this3.requestManager.hasPendingRequests()) _this3.send(_this3.requestManager.getPendingRequests().map(({ message }) => message));\n\t\t\t\t}\n\t\t\t\t_this3.reconnecting = null;\n\t\t\t} catch (_unused) {\n\t\t\t\tawait tryReconnect(attemptIndex + 1);\n\t\t\t}\n\t\t};\n\t\tthis.reconnecting = tryReconnect(0);\n\t}\n\tsetupWebSocketListeners(ws) {\n\t\tvar _this4 = this;\n\t\tconst handleCloseOrError = (cause) => {\n\t\t\tconst reqs = this.requestManager.getPendingRequests();\n\t\t\tfor (const { message, callbacks } of reqs) {\n\t\t\t\tif (message.method === \"subscription\") continue;\n\t\t\t\tcallbacks.error(TRPCClientError.from(cause !== null && cause !== void 0 ? cause : new TRPCWebSocketClosedError({\n\t\t\t\t\tmessage: \"WebSocket closed\",\n\t\t\t\t\tcause\n\t\t\t\t})));\n\t\t\t\tthis.requestManager.delete(message.id);\n\t\t\t}\n\t\t};\n\t\tws.addEventListener(\"open\", () => {\n\t\t\trun(async () => {\n\t\t\t\tvar _this$callbacks$onOpe, _this$callbacks;\n\t\t\t\tif (_this4.lazyMode) _this4.inactivityTimeout.start();\n\t\t\t\t(_this$callbacks$onOpe = (_this$callbacks = _this4.callbacks).onOpen) === null || _this$callbacks$onOpe === void 0 || _this$callbacks$onOpe.call(_this$callbacks);\n\t\t\t\t_this4.connectionState.next({\n\t\t\t\t\ttype: \"state\",\n\t\t\t\t\tstate: \"pending\",\n\t\t\t\t\terror: null\n\t\t\t\t});\n\t\t\t}).catch((error) => {\n\t\t\t\tws.close(3e3);\n\t\t\t\thandleCloseOrError(error);\n\t\t\t});\n\t\t});\n\t\tws.addEventListener(\"message\", ({ data }) => {\n\t\t\tthis.inactivityTimeout.reset();\n\t\t\tif ([\"PING\", \"PONG\"].includes(data)) return;\n\t\t\tconst incomingMessage = this.encoder.decode(data);\n\t\t\tif (\"method\" in incomingMessage) {\n\t\t\t\tthis.handleIncomingRequest(incomingMessage);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.handleResponseMessage(incomingMessage);\n\t\t});\n\t\tws.addEventListener(\"close\", (event) => {\n\t\t\tvar _this$callbacks$onClo, _this$callbacks2;\n\t\t\thandleCloseOrError(event);\n\t\t\t(_this$callbacks$onClo = (_this$callbacks2 = this.callbacks).onClose) === null || _this$callbacks$onClo === void 0 || _this$callbacks$onClo.call(_this$callbacks2, event);\n\t\t\tif (!this.lazyMode || this.requestManager.hasPendingSubscriptions()) this.reconnect(new TRPCWebSocketClosedError({\n\t\t\t\tmessage: \"WebSocket closed\",\n\t\t\t\tcause: event\n\t\t\t}));\n\t\t});\n\t\tws.addEventListener(\"error\", (event) => {\n\t\t\tvar _this$callbacks$onErr, _this$callbacks3;\n\t\t\thandleCloseOrError(event);\n\t\t\t(_this$callbacks$onErr = (_this$callbacks3 = this.callbacks).onError) === null || _this$callbacks$onErr === void 0 || _this$callbacks$onErr.call(_this$callbacks3, event);\n\t\t\tthis.reconnect(new TRPCWebSocketClosedError({\n\t\t\t\tmessage: \"WebSocket closed\",\n\t\t\t\tcause: event\n\t\t\t}));\n\t\t});\n\t}\n\thandleResponseMessage(message) {\n\t\tconst request = this.requestManager.getPendingRequest(message.id);\n\t\tif (!request) return;\n\t\trequest.callbacks.next(message);\n\t\tlet completed = true;\n\t\tif (\"result\" in message && request.message.method === \"subscription\") {\n\t\t\tif (message.result.type === \"data\") request.message.params.lastEventId = message.result.id;\n\t\t\tif (message.result.type !== \"stopped\") completed = false;\n\t\t}\n\t\tif (completed) {\n\t\t\trequest.callbacks.complete();\n\t\t\tthis.requestManager.delete(message.id);\n\t\t}\n\t}\n\thandleIncomingRequest(message) {\n\t\tif (message.method === \"reconnect\") this.reconnect(new TRPCWebSocketClosedError({ message: \"Server requested reconnect\" }));\n\t}\n\t/**\n\t* Sends a message or batch of messages directly to the server.\n\t*/\n\tsend(messageOrMessages) {\n\t\tif (!this.activeConnection.isOpen()) throw new Error(\"Active connection is not open\");\n\t\tconst messages = messageOrMessages instanceof Array ? messageOrMessages : [messageOrMessages];\n\t\tthis.activeConnection.ws.send(this.encoder.encode(messages.length === 1 ? messages[0] : messages));\n\t}\n\t/**\n\t* Groups requests for batch sending.\n\t*\n\t* @returns A function to abort the batched request.\n\t*/\n\tbatchSend(message, callbacks) {\n\t\tvar _this5 = this;\n\t\tthis.inactivityTimeout.reset();\n\t\trun(async () => {\n\t\t\tif (!_this5.activeConnection.isOpen()) await _this5.open();\n\t\t\tawait sleep(0);\n\t\t\tif (!_this5.requestManager.hasOutgoingRequests()) return;\n\t\t\t_this5.send(_this5.requestManager.flush().map(({ message: message$1 }) => message$1));\n\t\t}).catch((err) => {\n\t\t\tthis.requestManager.delete(message.id);\n\t\t\tcallbacks.error(TRPCClientError.from(err));\n\t\t});\n\t\treturn this.requestManager.register(message, callbacks);\n\t}\n};\n\n//#endregion\n//#region src/links/wsLink/createWsClient.ts\nfunction createWSClient(opts) {\n\treturn new WsClient(opts);\n}\n\n//#endregion\n//#region src/links/wsLink/wsLink.ts\nfunction wsLink(opts) {\n\tconst { client } = opts;\n\tconst transformer = getTransformer(opts.transformer);\n\treturn () => {\n\t\treturn ({ op }) => {\n\t\t\treturn observable((observer) => {\n\t\t\t\tconst connStateSubscription = op.type === \"subscription\" ? client.connectionState.subscribe({ next(result) {\n\t\t\t\t\tobserver.next({\n\t\t\t\t\t\tresult,\n\t\t\t\t\t\tcontext: op.context\n\t\t\t\t\t});\n\t\t\t\t} }) : null;\n\t\t\t\tconst requestSubscription = client.request({\n\t\t\t\t\top,\n\t\t\t\t\ttransformer\n\t\t\t\t}).subscribe(observer);\n\t\t\t\treturn () => {\n\t\t\t\t\trequestSubscription.unsubscribe();\n\t\t\t\t\tconnStateSubscription === null || connStateSubscription === void 0 || connStateSubscription.unsubscribe();\n\t\t\t\t};\n\t\t\t});\n\t\t};\n\t};\n}\n\n//#endregion\nexport { createWSClient, jsonEncoder, resultOf, wsLink };\n//# sourceMappingURL=wsLink-DSf4KOdW.mjs.map","import { __commonJS, __toESM, require_defineProperty, require_objectSpread2 } from \"./objectSpread2-BvkFp-_Y.mjs\";\nimport { createChain, splitLink } from \"./splitLink-B7Cuf2c_.mjs\";\nimport { TRPCClientError, isTRPCClientError } from \"./TRPCClientError-apv8gw59.mjs\";\nimport { fetchHTTPResponse, getBody, getFetch, getUrl, resolveHTTPLinkOptions } from \"./httpUtils-BNq9QC3d.mjs\";\nimport { httpLink, isFormData, isNonJsonSerializable, isOctetType } from \"./httpLink-oiU8eqFi.mjs\";\nimport { abortSignalToPromise, allAbortSignals, dataLoader, httpBatchLink, raceAbortSignals } from \"./httpBatchLink-CaWjh1oW.mjs\";\nimport { getTransformer } from \"./unstable-internals-Bg7n9BBj.mjs\";\nimport { loggerLink } from \"./loggerLink-ineCN1PO.mjs\";\nimport { createWSClient, jsonEncoder, resultOf, wsLink } from \"./wsLink-DSf4KOdW.mjs\";\nimport { behaviorSubject, observable, observableToPromise, share } from \"@trpc/server/observable\";\nimport { callProcedure, createFlatProxy, createRecursiveProxy, isAbortError, isAsyncIterable, iteratorResource, jsonlStreamConsumer, makeResource, retryableRpcCodes, run, sseStreamConsumer } from \"@trpc/server/unstable-core-do-not-import\";\nimport { getTRPCErrorFromUnknown, getTRPCErrorShape, isTrackedEnvelope } from \"@trpc/server\";\nimport { TRPC_ERROR_CODES_BY_KEY } from \"@trpc/server/rpc\";\n\n//#region src/internals/TRPCUntypedClient.ts\nvar import_defineProperty = __toESM(require_defineProperty(), 1);\nvar import_objectSpread2$4 = __toESM(require_objectSpread2(), 1);\nvar TRPCUntypedClient = class {\n\tconstructor(opts) {\n\t\t(0, import_defineProperty.default)(this, \"links\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"runtime\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"requestId\", void 0);\n\t\tthis.requestId = 0;\n\t\tthis.runtime = {};\n\t\tthis.links = opts.links.map((link) => link(this.runtime));\n\t}\n\t$request(opts) {\n\t\tvar _opts$context;\n\t\tconst chain$ = createChain({\n\t\t\tlinks: this.links,\n\t\t\top: (0, import_objectSpread2$4.default)((0, import_objectSpread2$4.default)({}, opts), {}, {\n\t\t\t\tcontext: (_opts$context = opts.context) !== null && _opts$context !== void 0 ? _opts$context : {},\n\t\t\t\tid: ++this.requestId\n\t\t\t})\n\t\t});\n\t\treturn chain$.pipe(share());\n\t}\n\tasync requestAsPromise(opts) {\n\t\tvar _this = this;\n\t\ttry {\n\t\t\tconst req$ = _this.$request(opts);\n\t\t\tconst envelope = await observableToPromise(req$);\n\t\t\tconst data = envelope.result.data;\n\t\t\treturn data;\n\t\t} catch (err) {\n\t\t\tthrow TRPCClientError.from(err);\n\t\t}\n\t}\n\tquery(path, input, opts) {\n\t\treturn this.requestAsPromise({\n\t\t\ttype: \"query\",\n\t\t\tpath,\n\t\t\tinput,\n\t\t\tcontext: opts === null || opts === void 0 ? void 0 : opts.context,\n\t\t\tsignal: opts === null || opts === void 0 ? void 0 : opts.signal\n\t\t});\n\t}\n\tmutation(path, input, opts) {\n\t\treturn this.requestAsPromise({\n\t\t\ttype: \"mutation\",\n\t\t\tpath,\n\t\t\tinput,\n\t\t\tcontext: opts === null || opts === void 0 ? void 0 : opts.context,\n\t\t\tsignal: opts === null || opts === void 0 ? void 0 : opts.signal\n\t\t});\n\t}\n\tsubscription(path, input, opts) {\n\t\tconst observable$ = this.$request({\n\t\t\ttype: \"subscription\",\n\t\t\tpath,\n\t\t\tinput,\n\t\t\tcontext: opts.context,\n\t\t\tsignal: opts.signal\n\t\t});\n\t\treturn observable$.subscribe({\n\t\t\tnext(envelope) {\n\t\t\t\tswitch (envelope.result.type) {\n\t\t\t\t\tcase \"state\": {\n\t\t\t\t\t\tvar _opts$onConnectionSta;\n\t\t\t\t\t\t(_opts$onConnectionSta = opts.onConnectionStateChange) === null || _opts$onConnectionSta === void 0 || _opts$onConnectionSta.call(opts, envelope.result);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"started\": {\n\t\t\t\t\t\tvar _opts$onStarted;\n\t\t\t\t\t\t(_opts$onStarted = opts.onStarted) === null || _opts$onStarted === void 0 || _opts$onStarted.call(opts, { context: envelope.context });\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"stopped\": {\n\t\t\t\t\t\tvar _opts$onStopped;\n\t\t\t\t\t\t(_opts$onStopped = opts.onStopped) === null || _opts$onStopped === void 0 || _opts$onStopped.call(opts);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"data\":\n\t\t\t\t\tcase void 0: {\n\t\t\t\t\t\tvar _opts$onData;\n\t\t\t\t\t\t(_opts$onData = opts.onData) === null || _opts$onData === void 0 || _opts$onData.call(opts, envelope.result.data);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\terror(err) {\n\t\t\t\tvar _opts$onError;\n\t\t\t\t(_opts$onError = opts.onError) === null || _opts$onError === void 0 || _opts$onError.call(opts, err);\n\t\t\t},\n\t\t\tcomplete() {\n\t\t\t\tvar _opts$onComplete;\n\t\t\t\t(_opts$onComplete = opts.onComplete) === null || _opts$onComplete === void 0 || _opts$onComplete.call(opts);\n\t\t\t}\n\t\t});\n\t}\n};\n\n//#endregion\n//#region src/createTRPCUntypedClient.ts\nfunction createTRPCUntypedClient(opts) {\n\treturn new TRPCUntypedClient(opts);\n}\n\n//#endregion\n//#region src/createTRPCClient.ts\nconst untypedClientSymbol = Symbol.for(\"trpc_untypedClient\");\nconst clientCallTypeMap = {\n\tquery: \"query\",\n\tmutate: \"mutation\",\n\tsubscribe: \"subscription\"\n};\n/** @internal */\nconst clientCallTypeToProcedureType = (clientCallType) => {\n\treturn clientCallTypeMap[clientCallType];\n};\n/**\n* @internal\n*/\nfunction createTRPCClientProxy(client) {\n\tconst proxy = createRecursiveProxy(({ path, args }) => {\n\t\tconst pathCopy = [...path];\n\t\tconst procedureType = clientCallTypeToProcedureType(pathCopy.pop());\n\t\tconst fullPath = pathCopy.join(\".\");\n\t\treturn client[procedureType](fullPath, ...args);\n\t});\n\treturn createFlatProxy((key) => {\n\t\tif (key === untypedClientSymbol) return client;\n\t\treturn proxy[key];\n\t});\n}\nfunction createTRPCClient(opts) {\n\tconst client = new TRPCUntypedClient(opts);\n\tconst proxy = createTRPCClientProxy(client);\n\treturn proxy;\n}\n/**\n* Get an untyped client from a proxy client\n* @internal\n*/\nfunction getUntypedClient(client) {\n\treturn client[untypedClientSymbol];\n}\n\n//#endregion\n//#region src/links/httpBatchStreamLink.ts\nvar import_objectSpread2$3 = __toESM(require_objectSpread2(), 1);\n/**\n* @see https://trpc.io/docs/client/links/httpBatchStreamLink\n*/\nfunction httpBatchStreamLink(opts) {\n\tvar _opts$maxURLLength, _opts$maxItems;\n\tconst resolvedOpts = resolveHTTPLinkOptions(opts);\n\tconst maxURLLength = (_opts$maxURLLength = opts.maxURLLength) !== null && _opts$maxURLLength !== void 0 ? _opts$maxURLLength : Infinity;\n\tconst maxItems = (_opts$maxItems = opts.maxItems) !== null && _opts$maxItems !== void 0 ? _opts$maxItems : Infinity;\n\treturn () => {\n\t\tconst batchLoader = (type) => {\n\t\t\treturn {\n\t\t\t\tvalidate(batchOps) {\n\t\t\t\t\tif (maxURLLength === Infinity && maxItems === Infinity) return true;\n\t\t\t\t\tif (batchOps.length > maxItems) return false;\n\t\t\t\t\tconst path = batchOps.map((op) => op.path).join(\",\");\n\t\t\t\t\tconst inputs = batchOps.map((op) => op.input);\n\t\t\t\t\tconst url = getUrl((0, import_objectSpread2$3.default)((0, import_objectSpread2$3.default)({}, resolvedOpts), {}, {\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\tinputs,\n\t\t\t\t\t\tsignal: null\n\t\t\t\t\t}));\n\t\t\t\t\treturn url.length <= maxURLLength;\n\t\t\t\t},\n\t\t\t\tasync fetch(batchOps) {\n\t\t\t\t\tvar _opts$streamHeader;\n\t\t\t\t\tconst path = batchOps.map((op) => op.path).join(\",\");\n\t\t\t\t\tconst inputs = batchOps.map((op) => op.input);\n\t\t\t\t\tconst batchSignals = allAbortSignals(...batchOps.map((op) => op.signal));\n\t\t\t\t\tconst abortController = new AbortController();\n\t\t\t\t\tconst responsePromise = fetchHTTPResponse((0, import_objectSpread2$3.default)((0, import_objectSpread2$3.default)({}, resolvedOpts), {}, {\n\t\t\t\t\t\tsignal: raceAbortSignals(batchSignals, abortController.signal),\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tcontentTypeHeader: \"application/json\",\n\t\t\t\t\t\ttrpcAcceptHeader: \"application/jsonl\",\n\t\t\t\t\t\ttrpcAcceptHeaderKey: (_opts$streamHeader = opts.streamHeader) !== null && _opts$streamHeader !== void 0 ? _opts$streamHeader : \"trpc-accept\",\n\t\t\t\t\t\tgetUrl,\n\t\t\t\t\t\tgetBody,\n\t\t\t\t\t\tinputs,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\theaders() {\n\t\t\t\t\t\t\tif (!opts.headers) return {};\n\t\t\t\t\t\t\tif (typeof opts.headers === \"function\") return opts.headers({ opList: batchOps });\n\t\t\t\t\t\t\treturn opts.headers;\n\t\t\t\t\t\t}\n\t\t\t\t\t}));\n\t\t\t\t\tconst res = await responsePromise;\n\t\t\t\t\tif (!res.ok) {\n\t\t\t\t\t\tconst json = await res.json();\n\t\t\t\t\t\tif (\"error\" in json) json.error = resolvedOpts.transformer.output.deserialize(json.error);\n\t\t\t\t\t\treturn batchOps.map(() => Promise.resolve({\n\t\t\t\t\t\t\tjson,\n\t\t\t\t\t\t\tmeta: { response: res }\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t\tconst [head] = await jsonlStreamConsumer({\n\t\t\t\t\t\tfrom: res.body,\n\t\t\t\t\t\tdeserialize: (data) => resolvedOpts.transformer.output.deserialize(data),\n\t\t\t\t\t\tformatError(opts$1) {\n\t\t\t\t\t\t\tconst error = opts$1.error;\n\t\t\t\t\t\t\treturn TRPCClientError.from({ error });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tabortController\n\t\t\t\t\t});\n\t\t\t\t\tconst promises = Object.keys(batchOps).map(async (key) => {\n\t\t\t\t\t\tlet json = await Promise.resolve(head[key]);\n\t\t\t\t\t\tif (\"result\" in json) {\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t* Not very pretty, but we need to unwrap nested data as promises\n\t\t\t\t\t\t\t* Our stream producer will only resolve top-level async values or async values that are directly nested in another async value\n\t\t\t\t\t\t\t*/\n\t\t\t\t\t\t\tconst result = await Promise.resolve(json.result);\n\t\t\t\t\t\t\tjson = { result: { data: await Promise.resolve(result.data) } };\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tjson,\n\t\t\t\t\t\t\tmeta: { response: res }\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t\treturn promises;\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\tconst query = dataLoader(batchLoader(\"query\"));\n\t\tconst mutation = dataLoader(batchLoader(\"mutation\"));\n\t\tconst loaders = {\n\t\t\tquery,\n\t\t\tmutation\n\t\t};\n\t\treturn ({ op }) => {\n\t\t\treturn observable((observer) => {\n\t\t\t\t/* istanbul ignore if -- @preserve */\n\t\t\t\tif (op.type === \"subscription\") throw new Error(\"Subscriptions are unsupported by `httpBatchStreamLink` - use `httpSubscriptionLink` or `wsLink`\");\n\t\t\t\tconst loader = loaders[op.type];\n\t\t\t\tconst promise = loader.load(op);\n\t\t\t\tlet _res = void 0;\n\t\t\t\tpromise.then((res) => {\n\t\t\t\t\t_res = res;\n\t\t\t\t\tif (\"error\" in res.json) {\n\t\t\t\t\t\tobserver.error(TRPCClientError.from(res.json, { meta: res.meta }));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t} else if (\"result\" in res.json) {\n\t\t\t\t\t\tobserver.next({\n\t\t\t\t\t\t\tcontext: res.meta,\n\t\t\t\t\t\t\tresult: res.json.result\n\t\t\t\t\t\t});\n\t\t\t\t\t\tobserver.complete();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tobserver.complete();\n\t\t\t\t}).catch((err) => {\n\t\t\t\t\tobserver.error(TRPCClientError.from(err, { meta: _res === null || _res === void 0 ? void 0 : _res.meta }));\n\t\t\t\t});\n\t\t\t\treturn () => {};\n\t\t\t});\n\t\t};\n\t};\n}\n/**\n* @deprecated use {@link httpBatchStreamLink} instead\n*/\nconst unstable_httpBatchStreamLink = httpBatchStreamLink;\n\n//#endregion\n//#region src/internals/inputWithTrackedEventId.ts\nvar import_objectSpread2$2 = __toESM(require_objectSpread2(), 1);\nfunction inputWithTrackedEventId(input, lastEventId) {\n\tif (!lastEventId) return input;\n\tif (input != null && typeof input !== \"object\") return input;\n\treturn (0, import_objectSpread2$2.default)((0, import_objectSpread2$2.default)({}, input !== null && input !== void 0 ? input : {}), {}, { lastEventId });\n}\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/asyncIterator.js\nvar require_asyncIterator = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/asyncIterator.js\"(exports, module) {\n\tfunction _asyncIterator$1(r) {\n\t\tvar n, t, o, e = 2;\n\t\tfor (\"undefined\" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) {\n\t\t\tif (t && null != (n = r[t])) return n.call(r);\n\t\t\tif (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r));\n\t\t\tt = \"@@asyncIterator\", o = \"@@iterator\";\n\t\t}\n\t\tthrow new TypeError(\"Object is not async iterable\");\n\t}\n\tfunction AsyncFromSyncIterator(r) {\n\t\tfunction AsyncFromSyncIteratorContinuation(r$1) {\n\t\t\tif (Object(r$1) !== r$1) return Promise.reject(new TypeError(r$1 + \" is not an object.\"));\n\t\t\tvar n = r$1.done;\n\t\t\treturn Promise.resolve(r$1.value).then(function(r$2) {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: r$2,\n\t\t\t\t\tdone: n\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t\treturn AsyncFromSyncIterator = function AsyncFromSyncIterator$1(r$1) {\n\t\t\tthis.s = r$1, this.n = r$1.next;\n\t\t}, AsyncFromSyncIterator.prototype = {\n\t\t\ts: null,\n\t\t\tn: null,\n\t\t\tnext: function next() {\n\t\t\t\treturn AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments));\n\t\t\t},\n\t\t\t\"return\": function _return(r$1) {\n\t\t\t\tvar n = this.s[\"return\"];\n\t\t\t\treturn void 0 === n ? Promise.resolve({\n\t\t\t\t\tvalue: r$1,\n\t\t\t\t\tdone: !0\n\t\t\t\t}) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));\n\t\t\t},\n\t\t\t\"throw\": function _throw(r$1) {\n\t\t\t\tvar n = this.s[\"return\"];\n\t\t\t\treturn void 0 === n ? Promise.reject(r$1) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));\n\t\t\t}\n\t\t}, new AsyncFromSyncIterator(r);\n\t}\n\tmodule.exports = _asyncIterator$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region src/links/httpSubscriptionLink.ts\nvar import_asyncIterator = __toESM(require_asyncIterator(), 1);\nasync function urlWithConnectionParams(opts) {\n\tlet url = await resultOf(opts.url);\n\tif (opts.connectionParams) {\n\t\tconst params = await resultOf(opts.connectionParams);\n\t\tconst prefix = url.includes(\"?\") ? \"&\" : \"?\";\n\t\turl += prefix + \"connectionParams=\" + encodeURIComponent(JSON.stringify(params));\n\t}\n\treturn url;\n}\n/**\n* @see https://trpc.io/docs/client/links/httpSubscriptionLink\n*/\nfunction httpSubscriptionLink(opts) {\n\tconst transformer = getTransformer(opts.transformer);\n\treturn () => {\n\t\treturn ({ op }) => {\n\t\t\treturn observable((observer) => {\n\t\t\t\tvar _opts$EventSource;\n\t\t\t\tconst { type, path, input } = op;\n\t\t\t\t/* istanbul ignore if -- @preserve */\n\t\t\t\tif (type !== \"subscription\") throw new Error(\"httpSubscriptionLink only supports subscriptions\");\n\t\t\t\tlet lastEventId = void 0;\n\t\t\t\tconst ac = new AbortController();\n\t\t\t\tconst signal = raceAbortSignals(op.signal, ac.signal);\n\t\t\t\tconst eventSourceStream = sseStreamConsumer({\n\t\t\t\t\turl: async () => getUrl({\n\t\t\t\t\t\ttransformer,\n\t\t\t\t\t\turl: await urlWithConnectionParams(opts),\n\t\t\t\t\t\tinput: inputWithTrackedEventId(input, lastEventId),\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tsignal: null\n\t\t\t\t\t}),\n\t\t\t\t\tinit: () => resultOf(opts.eventSourceOptions, { op }),\n\t\t\t\t\tsignal,\n\t\t\t\t\tdeserialize: (data) => transformer.output.deserialize(data),\n\t\t\t\t\tEventSource: (_opts$EventSource = opts.EventSource) !== null && _opts$EventSource !== void 0 ? _opts$EventSource : globalThis.EventSource\n\t\t\t\t});\n\t\t\t\tconst connectionState = behaviorSubject({\n\t\t\t\t\ttype: \"state\",\n\t\t\t\t\tstate: \"connecting\",\n\t\t\t\t\terror: null\n\t\t\t\t});\n\t\t\t\tconst connectionSub = connectionState.subscribe({ next(state) {\n\t\t\t\t\tobserver.next({ result: state });\n\t\t\t\t} });\n\t\t\t\trun(async () => {\n\t\t\t\t\tvar _iteratorAbruptCompletion = false;\n\t\t\t\t\tvar _didIteratorError = false;\n\t\t\t\t\tvar _iteratorError;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tfor (var _iterator = (0, import_asyncIterator.default)(eventSourceStream), _step; _iteratorAbruptCompletion = !(_step = await _iterator.next()).done; _iteratorAbruptCompletion = false) {\n\t\t\t\t\t\t\tconst chunk = _step.value;\n\t\t\t\t\t\t\tswitch (chunk.type) {\n\t\t\t\t\t\t\t\tcase \"ping\": break;\n\t\t\t\t\t\t\t\tcase \"data\":\n\t\t\t\t\t\t\t\t\tconst chunkData = chunk.data;\n\t\t\t\t\t\t\t\t\tlet result;\n\t\t\t\t\t\t\t\t\tif (chunkData.id) {\n\t\t\t\t\t\t\t\t\t\tlastEventId = chunkData.id;\n\t\t\t\t\t\t\t\t\t\tresult = {\n\t\t\t\t\t\t\t\t\t\t\tid: chunkData.id,\n\t\t\t\t\t\t\t\t\t\t\tdata: chunkData\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t} else result = { data: chunkData.data };\n\t\t\t\t\t\t\t\t\tobserver.next({\n\t\t\t\t\t\t\t\t\t\tresult,\n\t\t\t\t\t\t\t\t\t\tcontext: { eventSource: chunk.eventSource }\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"connected\": {\n\t\t\t\t\t\t\t\t\tobserver.next({\n\t\t\t\t\t\t\t\t\t\tresult: { type: \"started\" },\n\t\t\t\t\t\t\t\t\t\tcontext: { eventSource: chunk.eventSource }\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tconnectionState.next({\n\t\t\t\t\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\t\t\t\t\tstate: \"pending\",\n\t\t\t\t\t\t\t\t\t\terror: null\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcase \"serialized-error\": {\n\t\t\t\t\t\t\t\t\tconst error = TRPCClientError.from({ error: chunk.error });\n\t\t\t\t\t\t\t\t\tif (retryableRpcCodes.includes(chunk.error.code)) {\n\t\t\t\t\t\t\t\t\t\tconnectionState.next({\n\t\t\t\t\t\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\t\t\t\t\t\tstate: \"connecting\",\n\t\t\t\t\t\t\t\t\t\t\terror\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcase \"connecting\": {\n\t\t\t\t\t\t\t\t\tconst lastState = connectionState.get();\n\t\t\t\t\t\t\t\t\tconst error = chunk.event && TRPCClientError.from(chunk.event);\n\t\t\t\t\t\t\t\t\tif (!error && lastState.state === \"connecting\") break;\n\t\t\t\t\t\t\t\t\tconnectionState.next({\n\t\t\t\t\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\t\t\t\t\tstate: \"connecting\",\n\t\t\t\t\t\t\t\t\t\terror\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcase \"timeout\": connectionState.next({\n\t\t\t\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\t\t\t\tstate: \"connecting\",\n\t\t\t\t\t\t\t\t\terror: new TRPCClientError(`Timeout of ${chunk.ms}ms reached while waiting for a response`)\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t_didIteratorError = true;\n\t\t\t\t\t\t_iteratorError = err;\n\t\t\t\t\t} finally {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tif (_iteratorAbruptCompletion && _iterator.return != null) await _iterator.return();\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tobserver.next({ result: { type: \"stopped\" } });\n\t\t\t\t\tconnectionState.next({\n\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\tstate: \"idle\",\n\t\t\t\t\t\terror: null\n\t\t\t\t\t});\n\t\t\t\t\tobserver.complete();\n\t\t\t\t}).catch((error) => {\n\t\t\t\t\tobserver.error(TRPCClientError.from(error));\n\t\t\t\t});\n\t\t\t\treturn () => {\n\t\t\t\t\tobserver.complete();\n\t\t\t\t\tac.abort();\n\t\t\t\t\tconnectionSub.unsubscribe();\n\t\t\t\t};\n\t\t\t});\n\t\t};\n\t};\n}\n/**\n* @deprecated use {@link httpSubscriptionLink} instead\n*/\nconst unstable_httpSubscriptionLink = httpSubscriptionLink;\n\n//#endregion\n//#region src/links/retryLink.ts\nvar import_objectSpread2$1 = __toESM(require_objectSpread2(), 1);\n/**\n* @see https://trpc.io/docs/v11/client/links/retryLink\n*/\nfunction retryLink(opts) {\n\treturn () => {\n\t\treturn (callOpts) => {\n\t\t\treturn observable((observer) => {\n\t\t\t\tlet next$;\n\t\t\t\tlet callNextTimeout = void 0;\n\t\t\t\tlet lastEventId = void 0;\n\t\t\t\tattempt(1);\n\t\t\t\tfunction opWithLastEventId() {\n\t\t\t\t\tconst op = callOpts.op;\n\t\t\t\t\tif (!lastEventId) return op;\n\t\t\t\t\treturn (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, op), {}, { input: inputWithTrackedEventId(op.input, lastEventId) });\n\t\t\t\t}\n\t\t\t\tfunction attempt(attempts) {\n\t\t\t\t\tconst op = opWithLastEventId();\n\t\t\t\t\tnext$ = callOpts.next(op).subscribe({\n\t\t\t\t\t\terror(error) {\n\t\t\t\t\t\t\tvar _opts$retryDelayMs, _opts$retryDelayMs2;\n\t\t\t\t\t\t\tconst shouldRetry = opts.retry({\n\t\t\t\t\t\t\t\top,\n\t\t\t\t\t\t\t\tattempts,\n\t\t\t\t\t\t\t\terror\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (!shouldRetry) {\n\t\t\t\t\t\t\t\tobserver.error(error);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst delayMs = (_opts$retryDelayMs = (_opts$retryDelayMs2 = opts.retryDelayMs) === null || _opts$retryDelayMs2 === void 0 ? void 0 : _opts$retryDelayMs2.call(opts, attempts)) !== null && _opts$retryDelayMs !== void 0 ? _opts$retryDelayMs : 0;\n\t\t\t\t\t\t\tif (delayMs <= 0) {\n\t\t\t\t\t\t\t\tattempt(attempts + 1);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcallNextTimeout = setTimeout(() => attempt(attempts + 1), delayMs);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tnext(envelope) {\n\t\t\t\t\t\t\tif ((!envelope.result.type || envelope.result.type === \"data\") && envelope.result.id) lastEventId = envelope.result.id;\n\t\t\t\t\t\t\tobserver.next(envelope);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcomplete() {\n\t\t\t\t\t\t\tobserver.complete();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn () => {\n\t\t\t\t\tnext$.unsubscribe();\n\t\t\t\t\tclearTimeout(callNextTimeout);\n\t\t\t\t};\n\t\t\t});\n\t\t};\n\t};\n}\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js\nvar require_usingCtx = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js\"(exports, module) {\n\tfunction _usingCtx() {\n\t\tvar r = \"function\" == typeof SuppressedError ? SuppressedError : function(r$1, e$1) {\n\t\t\tvar n$1 = Error();\n\t\t\treturn n$1.name = \"SuppressedError\", n$1.error = r$1, n$1.suppressed = e$1, n$1;\n\t\t}, e = {}, n = [];\n\t\tfunction using(r$1, e$1) {\n\t\t\tif (null != e$1) {\n\t\t\t\tif (Object(e$1) !== e$1) throw new TypeError(\"using declarations can only be used with objects, functions, null, or undefined.\");\n\t\t\t\tif (r$1) var o = e$1[Symbol.asyncDispose || Symbol[\"for\"](\"Symbol.asyncDispose\")];\n\t\t\t\tif (void 0 === o && (o = e$1[Symbol.dispose || Symbol[\"for\"](\"Symbol.dispose\")], r$1)) var t = o;\n\t\t\t\tif (\"function\" != typeof o) throw new TypeError(\"Object is not disposable.\");\n\t\t\t\tt && (o = function o$1() {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tt.call(e$1);\n\t\t\t\t\t} catch (r$2) {\n\t\t\t\t\t\treturn Promise.reject(r$2);\n\t\t\t\t\t}\n\t\t\t\t}), n.push({\n\t\t\t\t\tv: e$1,\n\t\t\t\t\td: o,\n\t\t\t\t\ta: r$1\n\t\t\t\t});\n\t\t\t} else r$1 && n.push({\n\t\t\t\td: e$1,\n\t\t\t\ta: r$1\n\t\t\t});\n\t\t\treturn e$1;\n\t\t}\n\t\treturn {\n\t\t\te,\n\t\t\tu: using.bind(null, !1),\n\t\t\ta: using.bind(null, !0),\n\t\t\td: function d() {\n\t\t\t\tvar o, t = this.e, s = 0;\n\t\t\t\tfunction next() {\n\t\t\t\t\tfor (; o = n.pop();) try {\n\t\t\t\t\t\tif (!o.a && 1 === s) return s = 0, n.push(o), Promise.resolve().then(next);\n\t\t\t\t\t\tif (o.d) {\n\t\t\t\t\t\t\tvar r$1 = o.d.call(o.v);\n\t\t\t\t\t\t\tif (o.a) return s |= 2, Promise.resolve(r$1).then(next, err);\n\t\t\t\t\t\t} else s |= 1;\n\t\t\t\t\t} catch (r$2) {\n\t\t\t\t\t\treturn err(r$2);\n\t\t\t\t\t}\n\t\t\t\t\tif (1 === s) return t !== e ? Promise.reject(t) : Promise.resolve();\n\t\t\t\t\tif (t !== e) throw t;\n\t\t\t\t}\n\t\t\t\tfunction err(n$1) {\n\t\t\t\t\treturn t = t !== e ? new r(n$1, t) : n$1, next();\n\t\t\t\t}\n\t\t\t\treturn next();\n\t\t\t}\n\t\t};\n\t}\n\tmodule.exports = _usingCtx, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/OverloadYield.js\nvar require_OverloadYield = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/OverloadYield.js\"(exports, module) {\n\tfunction _OverloadYield(e, d) {\n\t\tthis.v = e, this.k = d;\n\t}\n\tmodule.exports = _OverloadYield, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/awaitAsyncGenerator.js\nvar require_awaitAsyncGenerator = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/awaitAsyncGenerator.js\"(exports, module) {\n\tvar OverloadYield$1 = require_OverloadYield();\n\tfunction _awaitAsyncGenerator$1(e) {\n\t\treturn new OverloadYield$1(e, 0);\n\t}\n\tmodule.exports = _awaitAsyncGenerator$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/wrapAsyncGenerator.js\nvar require_wrapAsyncGenerator = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/wrapAsyncGenerator.js\"(exports, module) {\n\tvar OverloadYield = require_OverloadYield();\n\tfunction _wrapAsyncGenerator$1(e) {\n\t\treturn function() {\n\t\t\treturn new AsyncGenerator(e.apply(this, arguments));\n\t\t};\n\t}\n\tfunction AsyncGenerator(e) {\n\t\tvar r, t;\n\t\tfunction resume(r$1, t$1) {\n\t\t\ttry {\n\t\t\t\tvar n = e[r$1](t$1), o = n.value, u = o instanceof OverloadYield;\n\t\t\t\tPromise.resolve(u ? o.v : o).then(function(t$2) {\n\t\t\t\t\tif (u) {\n\t\t\t\t\t\tvar i = \"return\" === r$1 ? \"return\" : \"next\";\n\t\t\t\t\t\tif (!o.k || t$2.done) return resume(i, t$2);\n\t\t\t\t\t\tt$2 = e[i](t$2).value;\n\t\t\t\t\t}\n\t\t\t\t\tsettle(n.done ? \"return\" : \"normal\", t$2);\n\t\t\t\t}, function(e$1) {\n\t\t\t\t\tresume(\"throw\", e$1);\n\t\t\t\t});\n\t\t\t} catch (e$1) {\n\t\t\t\tsettle(\"throw\", e$1);\n\t\t\t}\n\t\t}\n\t\tfunction settle(e$1, n) {\n\t\t\tswitch (e$1) {\n\t\t\t\tcase \"return\":\n\t\t\t\t\tr.resolve({\n\t\t\t\t\t\tvalue: n,\n\t\t\t\t\t\tdone: !0\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"throw\":\n\t\t\t\t\tr.reject(n);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: r.resolve({\n\t\t\t\t\tvalue: n,\n\t\t\t\t\tdone: !1\n\t\t\t\t});\n\t\t\t}\n\t\t\t(r = r.next) ? resume(r.key, r.arg) : t = null;\n\t\t}\n\t\tthis._invoke = function(e$1, n) {\n\t\t\treturn new Promise(function(o, u) {\n\t\t\t\tvar i = {\n\t\t\t\t\tkey: e$1,\n\t\t\t\t\targ: n,\n\t\t\t\t\tresolve: o,\n\t\t\t\t\treject: u,\n\t\t\t\t\tnext: null\n\t\t\t\t};\n\t\t\t\tt ? t = t.next = i : (r = t = i, resume(e$1, n));\n\t\t\t});\n\t\t}, \"function\" != typeof e[\"return\"] && (this[\"return\"] = void 0);\n\t}\n\tAsyncGenerator.prototype[\"function\" == typeof Symbol && Symbol.asyncIterator || \"@@asyncIterator\"] = function() {\n\t\treturn this;\n\t}, AsyncGenerator.prototype.next = function(e) {\n\t\treturn this._invoke(\"next\", e);\n\t}, AsyncGenerator.prototype[\"throw\"] = function(e) {\n\t\treturn this._invoke(\"throw\", e);\n\t}, AsyncGenerator.prototype[\"return\"] = function(e) {\n\t\treturn this._invoke(\"return\", e);\n\t};\n\tmodule.exports = _wrapAsyncGenerator$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region src/links/localLink.ts\nvar import_usingCtx = __toESM(require_usingCtx(), 1);\nvar import_awaitAsyncGenerator = __toESM(require_awaitAsyncGenerator(), 1);\nvar import_wrapAsyncGenerator = __toESM(require_wrapAsyncGenerator(), 1);\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\n/**\n* localLink is a terminating link that allows you to make tRPC procedure calls directly in your application without going through HTTP.\n*\n* @see https://trpc.io/docs/links/localLink\n*/\nfunction unstable_localLink(opts) {\n\tconst transformer = getTransformer(opts.transformer);\n\tconst transformChunk = (chunk) => {\n\t\tif (opts.transformer) return chunk;\n\t\tif (chunk === void 0) return chunk;\n\t\tconst serialized = JSON.stringify(transformer.input.serialize(chunk));\n\t\tconst deserialized = JSON.parse(transformer.output.deserialize(serialized));\n\t\treturn deserialized;\n\t};\n\treturn () => ({ op }) => observable((observer) => {\n\t\tlet ctx = void 0;\n\t\tconst ac = new AbortController();\n\t\tconst signal = raceAbortSignals(op.signal, ac.signal);\n\t\tconst signalPromise = abortSignalToPromise(signal);\n\t\tsignalPromise.catch(() => {});\n\t\tlet input = op.input;\n\t\tasync function runProcedure(newInput) {\n\t\t\tinput = newInput;\n\t\t\tctx = await opts.createContext();\n\t\t\treturn callProcedure({\n\t\t\t\trouter: opts.router,\n\t\t\t\tpath: op.path,\n\t\t\t\tgetRawInput: async () => newInput,\n\t\t\t\tctx,\n\t\t\t\ttype: op.type,\n\t\t\t\tsignal,\n\t\t\t\tbatchIndex: 0\n\t\t\t});\n\t\t}\n\t\tfunction onErrorCallback(cause) {\n\t\t\tvar _opts$onError;\n\t\t\tif (isAbortError(cause)) return;\n\t\t\t(_opts$onError = opts.onError) === null || _opts$onError === void 0 || _opts$onError.call(opts, {\n\t\t\t\terror: getTRPCErrorFromUnknown(cause),\n\t\t\t\ttype: op.type,\n\t\t\t\tpath: op.path,\n\t\t\t\tinput,\n\t\t\t\tctx\n\t\t\t});\n\t\t}\n\t\tfunction coerceToTRPCClientError(cause) {\n\t\t\tif (isTRPCClientError(cause)) return cause;\n\t\t\tconst error = getTRPCErrorFromUnknown(cause);\n\t\t\tconst shape = getTRPCErrorShape({\n\t\t\t\tconfig: opts.router._def._config,\n\t\t\t\tctx,\n\t\t\t\terror,\n\t\t\t\tinput,\n\t\t\t\tpath: op.path,\n\t\t\t\ttype: op.type\n\t\t\t});\n\t\t\treturn TRPCClientError.from({ error: transformChunk(shape) }, { cause: cause instanceof Error ? cause : void 0 });\n\t\t}\n\t\trun(async () => {\n\t\t\tswitch (op.type) {\n\t\t\t\tcase \"query\":\n\t\t\t\tcase \"mutation\": {\n\t\t\t\t\tconst result = await runProcedure(op.input);\n\t\t\t\t\tif (!isAsyncIterable(result)) {\n\t\t\t\t\t\tobserver.next({ result: { data: transformChunk(result) } });\n\t\t\t\t\t\tobserver.complete();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tobserver.next({ result: { data: (0, import_wrapAsyncGenerator.default)(function* () {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tvar _usingCtx$1 = (0, import_usingCtx.default)();\n\t\t\t\t\t\t\tconst iterator = _usingCtx$1.a(iteratorResource(result));\n\t\t\t\t\t\t\tconst _finally = _usingCtx$1.u(makeResource({}, () => {\n\t\t\t\t\t\t\t\tobserver.complete();\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\twhile (true) {\n\t\t\t\t\t\t\t\t\tconst res = yield (0, import_awaitAsyncGenerator.default)(Promise.race([iterator.next(), signalPromise]));\n\t\t\t\t\t\t\t\t\tif (res.done) return transformChunk(res.value);\n\t\t\t\t\t\t\t\t\tyield transformChunk(res.value);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} catch (cause) {\n\t\t\t\t\t\t\t\tonErrorCallback(cause);\n\t\t\t\t\t\t\t\tthrow coerceToTRPCClientError(cause);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (_) {\n\t\t\t\t\t\t\t_usingCtx$1.e = _;\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tyield (0, import_awaitAsyncGenerator.default)(_usingCtx$1.d());\n\t\t\t\t\t\t}\n\t\t\t\t\t})() } });\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase \"subscription\": try {\n\t\t\t\t\tvar _usingCtx3 = (0, import_usingCtx.default)();\n\t\t\t\t\tconst connectionState = behaviorSubject({\n\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\tstate: \"connecting\",\n\t\t\t\t\t\terror: null\n\t\t\t\t\t});\n\t\t\t\t\tconst connectionSub = connectionState.subscribe({ next(state) {\n\t\t\t\t\t\tobserver.next({ result: state });\n\t\t\t\t\t} });\n\t\t\t\t\tlet lastEventId = void 0;\n\t\t\t\t\tconst _finally = _usingCtx3.u(makeResource({}, async () => {\n\t\t\t\t\t\tobserver.complete();\n\t\t\t\t\t\tconnectionState.next({\n\t\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\t\tstate: \"idle\",\n\t\t\t\t\t\t\terror: null\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconnectionSub.unsubscribe();\n\t\t\t\t\t}));\n\t\t\t\t\twhile (true) try {\n\t\t\t\t\t\tvar _usingCtx4 = (0, import_usingCtx.default)();\n\t\t\t\t\t\tconst result = await runProcedure(inputWithTrackedEventId(op.input, lastEventId));\n\t\t\t\t\t\tif (!isAsyncIterable(result)) throw new Error(\"Expected an async iterable\");\n\t\t\t\t\t\tconst iterator = _usingCtx4.a(iteratorResource(result));\n\t\t\t\t\t\tobserver.next({ result: { type: \"started\" } });\n\t\t\t\t\t\tconnectionState.next({\n\t\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\t\tstate: \"pending\",\n\t\t\t\t\t\t\terror: null\n\t\t\t\t\t\t});\n\t\t\t\t\t\twhile (true) {\n\t\t\t\t\t\t\tlet res;\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tres = await Promise.race([iterator.next(), signalPromise]);\n\t\t\t\t\t\t\t} catch (cause) {\n\t\t\t\t\t\t\t\tif (isAbortError(cause)) return;\n\t\t\t\t\t\t\t\tconst error = getTRPCErrorFromUnknown(cause);\n\t\t\t\t\t\t\t\tif (!retryableRpcCodes.includes(TRPC_ERROR_CODES_BY_KEY[error.code])) throw coerceToTRPCClientError(error);\n\t\t\t\t\t\t\t\tonErrorCallback(error);\n\t\t\t\t\t\t\t\tconnectionState.next({\n\t\t\t\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\t\t\t\tstate: \"connecting\",\n\t\t\t\t\t\t\t\t\terror: coerceToTRPCClientError(error)\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (res.done) return;\n\t\t\t\t\t\t\tlet chunk;\n\t\t\t\t\t\t\tif (isTrackedEnvelope(res.value)) {\n\t\t\t\t\t\t\t\tlastEventId = res.value[0];\n\t\t\t\t\t\t\t\tchunk = {\n\t\t\t\t\t\t\t\t\tid: res.value[0],\n\t\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\t\tid: res.value[0],\n\t\t\t\t\t\t\t\t\t\tdata: res.value[1]\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t} else chunk = { data: res.value };\n\t\t\t\t\t\t\tobserver.next({ result: (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, chunk), {}, { data: transformChunk(chunk.data) }) });\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (_) {\n\t\t\t\t\t\t_usingCtx4.e = _;\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tawait _usingCtx4.d();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t} catch (_) {\n\t\t\t\t\t_usingCtx3.e = _;\n\t\t\t\t} finally {\n\t\t\t\t\t_usingCtx3.d();\n\t\t\t\t}\n\t\t\t}\n\t\t}).catch((cause) => {\n\t\t\tonErrorCallback(cause);\n\t\t\tobserver.error(coerceToTRPCClientError(cause));\n\t\t});\n\t\treturn () => {\n\t\t\tac.abort();\n\t\t};\n\t});\n}\n/**\n* @deprecated Renamed to `unstable_localLink`. This alias will be removed in a future major release.\n*/\nconst experimental_localLink = unstable_localLink;\n\n//#endregion\nexport { TRPCClientError, TRPCUntypedClient, clientCallTypeToProcedureType, createTRPCClient, createTRPCClientProxy, createTRPCClient as createTRPCProxyClient, createTRPCUntypedClient, createWSClient, experimental_localLink, getFetch, getUntypedClient, httpBatchLink, httpBatchStreamLink, httpLink, httpSubscriptionLink, isFormData, isNonJsonSerializable, isOctetType, isTRPCClientError, jsonEncoder, loggerLink, retryLink, splitLink, unstable_httpBatchStreamLink, unstable_httpSubscriptionLink, unstable_localLink, wsLink };\n//# sourceMappingURL=index.mjs.map","import { __commonJS, __toESM, getMutationKeyInternal, getQueryKeyInternal, require_objectSpread2 } from \"./getQueryKey-BY58RNzP.mjs\";\nimport { TRPCUntypedClient, createTRPCClient, createTRPCClientProxy, getUntypedClient } from \"@trpc/client\";\nimport { QueryClient, hashKey, infiniteQueryOptions, queryOptions, skipToken, useInfiniteQuery, useMutation, usePrefetchInfiniteQuery, usePrefetchQuery, useQueries, useQuery, useSuspenseInfiniteQuery, useSuspenseQueries, useSuspenseQuery } from \"@tanstack/react-query\";\nimport { createFlatProxy, createRecursiveProxy, isAsyncIterable } from \"@trpc/server/unstable-core-do-not-import\";\nimport * as React$2 from \"react\";\nimport * as React$1 from \"react\";\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\n\n//#region src/shared/proxy/decorationProxy.ts\n/**\n* Create proxy for decorating procedures\n* @internal\n*/\nfunction createReactDecoration(hooks) {\n\treturn createRecursiveProxy(({ path, args }) => {\n\t\tvar _rest$;\n\t\tconst pathCopy = [...path];\n\t\tconst lastArg = pathCopy.pop();\n\t\tif (lastArg === \"useMutation\") return hooks[lastArg](pathCopy, ...args);\n\t\tif (lastArg === \"_def\") return { path: pathCopy };\n\t\tconst [input, ...rest] = args;\n\t\tconst opts = (_rest$ = rest[0]) !== null && _rest$ !== void 0 ? _rest$ : {};\n\t\treturn hooks[lastArg](pathCopy, input, opts);\n\t});\n}\n\n//#endregion\n//#region src/internals/context.tsx\nvar _React$createContext;\nconst contextProps = [\n\t\"client\",\n\t\"ssrContext\",\n\t\"ssrState\",\n\t\"abortOnUnmount\"\n];\nconst TRPCContext = (_React$createContext = React$2.createContext) === null || _React$createContext === void 0 ? void 0 : _React$createContext.call(React$2, null);\n\n//#endregion\n//#region src/shared/proxy/utilsProxy.ts\nconst getQueryType = (utilName) => {\n\tswitch (utilName) {\n\t\tcase \"queryOptions\":\n\t\tcase \"fetch\":\n\t\tcase \"ensureData\":\n\t\tcase \"prefetch\":\n\t\tcase \"getData\":\n\t\tcase \"setData\":\n\t\tcase \"setQueriesData\": return \"query\";\n\t\tcase \"infiniteQueryOptions\":\n\t\tcase \"fetchInfinite\":\n\t\tcase \"prefetchInfinite\":\n\t\tcase \"getInfiniteData\":\n\t\tcase \"setInfiniteData\": return \"infinite\";\n\t\tcase \"setMutationDefaults\":\n\t\tcase \"getMutationDefaults\":\n\t\tcase \"isMutating\":\n\t\tcase \"cancel\":\n\t\tcase \"invalidate\":\n\t\tcase \"refetch\":\n\t\tcase \"reset\": return \"any\";\n\t}\n};\n/**\n* @internal\n*/\nfunction createRecursiveUtilsProxy(context) {\n\treturn createRecursiveProxy((opts) => {\n\t\tconst path = [...opts.path];\n\t\tconst utilName = path.pop();\n\t\tconst args = [...opts.args];\n\t\tconst input = args.shift();\n\t\tconst queryType = getQueryType(utilName);\n\t\tconst queryKey = getQueryKeyInternal(path, input, queryType);\n\t\tconst contextMap = {\n\t\t\tinfiniteQueryOptions: () => context.infiniteQueryOptions(path, queryKey, args[0]),\n\t\t\tqueryOptions: () => context.queryOptions(path, queryKey, ...args),\n\t\t\tfetch: () => context.fetchQuery(queryKey, ...args),\n\t\t\tfetchInfinite: () => context.fetchInfiniteQuery(queryKey, args[0]),\n\t\t\tprefetch: () => context.prefetchQuery(queryKey, ...args),\n\t\t\tprefetchInfinite: () => context.prefetchInfiniteQuery(queryKey, args[0]),\n\t\t\tensureData: () => context.ensureQueryData(queryKey, ...args),\n\t\t\tinvalidate: () => context.invalidateQueries(queryKey, ...args),\n\t\t\treset: () => context.resetQueries(queryKey, ...args),\n\t\t\trefetch: () => context.refetchQueries(queryKey, ...args),\n\t\t\tcancel: () => context.cancelQuery(queryKey, ...args),\n\t\t\tsetData: () => {\n\t\t\t\tcontext.setQueryData(queryKey, args[0], args[1]);\n\t\t\t},\n\t\t\tsetQueriesData: () => context.setQueriesData(queryKey, args[0], args[1], args[2]),\n\t\t\tsetInfiniteData: () => {\n\t\t\t\tcontext.setInfiniteQueryData(queryKey, args[0], args[1]);\n\t\t\t},\n\t\t\tgetData: () => context.getQueryData(queryKey),\n\t\t\tgetInfiniteData: () => context.getInfiniteQueryData(queryKey),\n\t\t\tsetMutationDefaults: () => context.setMutationDefaults(getMutationKeyInternal(path), input),\n\t\t\tgetMutationDefaults: () => context.getMutationDefaults(getMutationKeyInternal(path)),\n\t\t\tisMutating: () => context.isMutating({ mutationKey: getMutationKeyInternal(path) })\n\t\t};\n\t\treturn contextMap[utilName]();\n\t});\n}\n/**\n* @internal\n*/\nfunction createReactQueryUtils(context) {\n\tconst clientProxy = createTRPCClientProxy(context.client);\n\tconst proxy = createRecursiveUtilsProxy(context);\n\treturn createFlatProxy((key) => {\n\t\tconst contextName = key;\n\t\tif (contextName === \"client\") return clientProxy;\n\t\tif (contextProps.includes(contextName)) return context[contextName];\n\t\treturn proxy[key];\n\t});\n}\n/**\n* @internal\n*/\nfunction createQueryUtilsProxy(context) {\n\treturn createRecursiveUtilsProxy(context);\n}\n\n//#endregion\n//#region src/shared/proxy/useQueriesProxy.ts\nvar import_objectSpread2$3 = __toESM(require_objectSpread2(), 1);\n/**\n* Create proxy for `useQueries` options\n* @internal\n*/\nfunction createUseQueries(client) {\n\tconst untypedClient = client instanceof TRPCUntypedClient ? client : getUntypedClient(client);\n\treturn createRecursiveProxy((opts) => {\n\t\tconst arrayPath = opts.path;\n\t\tconst dotPath = arrayPath.join(\".\");\n\t\tconst [input, _opts] = opts.args;\n\t\tconst options = (0, import_objectSpread2$3.default)({\n\t\t\tqueryKey: getQueryKeyInternal(arrayPath, input, \"query\"),\n\t\t\tqueryFn: () => {\n\t\t\t\treturn untypedClient.query(dotPath, input, _opts === null || _opts === void 0 ? void 0 : _opts.trpc);\n\t\t\t}\n\t\t}, _opts);\n\t\treturn options;\n\t});\n}\n\n//#endregion\n//#region src/internals/getClientArgs.ts\nvar import_objectSpread2$2 = __toESM(require_objectSpread2(), 1);\n/**\n* @internal\n*/\nfunction getClientArgs(queryKey, opts, infiniteParams) {\n\tvar _queryKey$;\n\tconst path = queryKey[0];\n\tlet input = (_queryKey$ = queryKey[1]) === null || _queryKey$ === void 0 ? void 0 : _queryKey$.input;\n\tif (infiniteParams) {\n\t\tvar _input;\n\t\tinput = (0, import_objectSpread2$2.default)((0, import_objectSpread2$2.default)((0, import_objectSpread2$2.default)({}, (_input = input) !== null && _input !== void 0 ? _input : {}), infiniteParams.pageParam ? { cursor: infiniteParams.pageParam } : {}), {}, { direction: infiniteParams.direction });\n\t}\n\treturn [\n\t\tpath.join(\".\"),\n\t\tinput,\n\t\topts === null || opts === void 0 ? void 0 : opts.trpc\n\t];\n}\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/asyncIterator.js\nvar require_asyncIterator = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/asyncIterator.js\"(exports, module) {\n\tfunction _asyncIterator$1(r) {\n\t\tvar n, t, o, e = 2;\n\t\tfor (\"undefined\" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) {\n\t\t\tif (t && null != (n = r[t])) return n.call(r);\n\t\t\tif (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r));\n\t\t\tt = \"@@asyncIterator\", o = \"@@iterator\";\n\t\t}\n\t\tthrow new TypeError(\"Object is not async iterable\");\n\t}\n\tfunction AsyncFromSyncIterator(r) {\n\t\tfunction AsyncFromSyncIteratorContinuation(r$1) {\n\t\t\tif (Object(r$1) !== r$1) return Promise.reject(new TypeError(r$1 + \" is not an object.\"));\n\t\t\tvar n = r$1.done;\n\t\t\treturn Promise.resolve(r$1.value).then(function(r$2) {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: r$2,\n\t\t\t\t\tdone: n\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t\treturn AsyncFromSyncIterator = function AsyncFromSyncIterator$1(r$1) {\n\t\t\tthis.s = r$1, this.n = r$1.next;\n\t\t}, AsyncFromSyncIterator.prototype = {\n\t\t\ts: null,\n\t\t\tn: null,\n\t\t\tnext: function next() {\n\t\t\t\treturn AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments));\n\t\t\t},\n\t\t\t\"return\": function _return(r$1) {\n\t\t\t\tvar n = this.s[\"return\"];\n\t\t\t\treturn void 0 === n ? Promise.resolve({\n\t\t\t\t\tvalue: r$1,\n\t\t\t\t\tdone: !0\n\t\t\t\t}) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));\n\t\t\t},\n\t\t\t\"throw\": function _throw(r$1) {\n\t\t\t\tvar n = this.s[\"return\"];\n\t\t\t\treturn void 0 === n ? Promise.reject(r$1) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));\n\t\t\t}\n\t\t}, new AsyncFromSyncIterator(r);\n\t}\n\tmodule.exports = _asyncIterator$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region src/internals/trpcResult.ts\nvar import_asyncIterator = __toESM(require_asyncIterator(), 1);\nfunction createTRPCOptionsResult(value) {\n\tconst path = value.path.join(\".\");\n\treturn { path };\n}\n/**\n* Makes a stable reference of the `trpc` prop\n*/\nfunction useHookResult(value) {\n\tconst result = createTRPCOptionsResult(value);\n\treturn React$1.useMemo(() => result, [result]);\n}\n/**\n* @internal\n*/\nasync function buildQueryFromAsyncIterable(asyncIterable, queryClient, queryKey) {\n\tconst queryCache = queryClient.getQueryCache();\n\tconst query = queryCache.build(queryClient, { queryKey });\n\tquery.setState({\n\t\tdata: [],\n\t\tstatus: \"success\"\n\t});\n\tconst aggregate = [];\n\tvar _iteratorAbruptCompletion = false;\n\tvar _didIteratorError = false;\n\tvar _iteratorError;\n\ttry {\n\t\tfor (var _iterator = (0, import_asyncIterator.default)(asyncIterable), _step; _iteratorAbruptCompletion = !(_step = await _iterator.next()).done; _iteratorAbruptCompletion = false) {\n\t\t\tconst value = _step.value;\n\t\t\t{\n\t\t\t\taggregate.push(value);\n\t\t\t\tquery.setState({ data: [...aggregate] });\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\t_didIteratorError = true;\n\t\t_iteratorError = err;\n\t} finally {\n\t\ttry {\n\t\t\tif (_iteratorAbruptCompletion && _iterator.return != null) await _iterator.return();\n\t\t} finally {\n\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t}\n\t}\n\treturn aggregate;\n}\n\n//#endregion\n//#region src/utils/createUtilityFunctions.ts\nvar import_objectSpread2$1 = __toESM(require_objectSpread2(), 1);\n/**\n* Creates a set of utility functions that can be used to interact with `react-query`\n* @param opts the `TRPCClient` and `QueryClient` to use\n* @returns a set of utility functions that can be used to interact with `react-query`\n* @internal\n*/\nfunction createUtilityFunctions(opts) {\n\tconst { client, queryClient } = opts;\n\tconst untypedClient = client instanceof TRPCUntypedClient ? client : getUntypedClient(client);\n\treturn {\n\t\tinfiniteQueryOptions: (path, queryKey, opts$1) => {\n\t\t\tvar _queryKey$, _ref;\n\t\t\tconst inputIsSkipToken = ((_queryKey$ = queryKey[1]) === null || _queryKey$ === void 0 ? void 0 : _queryKey$.input) === skipToken;\n\t\t\tconst queryFn = async (queryFnContext) => {\n\t\t\t\tvar _opts$trpc;\n\t\t\t\tconst actualOpts = (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, opts$1), {}, { trpc: (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, opts$1 === null || opts$1 === void 0 ? void 0 : opts$1.trpc), (opts$1 === null || opts$1 === void 0 || (_opts$trpc = opts$1.trpc) === null || _opts$trpc === void 0 ? void 0 : _opts$trpc.abortOnUnmount) ? { signal: queryFnContext.signal } : { signal: null }) });\n\t\t\t\tconst result = await untypedClient.query(...getClientArgs(queryKey, actualOpts, {\n\t\t\t\t\tdirection: queryFnContext.direction,\n\t\t\t\t\tpageParam: queryFnContext.pageParam\n\t\t\t\t}));\n\t\t\t\treturn result;\n\t\t\t};\n\t\t\treturn Object.assign(infiniteQueryOptions((0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, opts$1), {}, {\n\t\t\t\tinitialData: opts$1 === null || opts$1 === void 0 ? void 0 : opts$1.initialData,\n\t\t\t\tqueryKey,\n\t\t\t\tqueryFn: inputIsSkipToken ? skipToken : queryFn,\n\t\t\t\tinitialPageParam: (_ref = opts$1 === null || opts$1 === void 0 ? void 0 : opts$1.initialCursor) !== null && _ref !== void 0 ? _ref : null\n\t\t\t})), { trpc: createTRPCOptionsResult({ path }) });\n\t\t},\n\t\tqueryOptions: (path, queryKey, opts$1) => {\n\t\t\tvar _queryKey$2;\n\t\t\tconst inputIsSkipToken = ((_queryKey$2 = queryKey[1]) === null || _queryKey$2 === void 0 ? void 0 : _queryKey$2.input) === skipToken;\n\t\t\tconst queryFn = async (queryFnContext) => {\n\t\t\t\tvar _opts$trpc2;\n\t\t\t\tconst actualOpts = (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, opts$1), {}, { trpc: (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, opts$1 === null || opts$1 === void 0 ? void 0 : opts$1.trpc), (opts$1 === null || opts$1 === void 0 || (_opts$trpc2 = opts$1.trpc) === null || _opts$trpc2 === void 0 ? void 0 : _opts$trpc2.abortOnUnmount) ? { signal: queryFnContext.signal } : { signal: null }) });\n\t\t\t\tconst result = await untypedClient.query(...getClientArgs(queryKey, actualOpts));\n\t\t\t\tif (isAsyncIterable(result)) return buildQueryFromAsyncIterable(result, queryClient, queryKey);\n\t\t\t\treturn result;\n\t\t\t};\n\t\t\treturn Object.assign(queryOptions((0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, opts$1), {}, {\n\t\t\t\tinitialData: opts$1 === null || opts$1 === void 0 ? void 0 : opts$1.initialData,\n\t\t\t\tqueryKey,\n\t\t\t\tqueryFn: inputIsSkipToken ? skipToken : queryFn\n\t\t\t})), { trpc: createTRPCOptionsResult({ path }) });\n\t\t},\n\t\tfetchQuery: (queryKey, opts$1) => {\n\t\t\treturn queryClient.fetchQuery((0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, opts$1), {}, {\n\t\t\t\tqueryKey,\n\t\t\t\tqueryFn: () => untypedClient.query(...getClientArgs(queryKey, opts$1))\n\t\t\t}));\n\t\t},\n\t\tfetchInfiniteQuery: (queryKey, opts$1) => {\n\t\t\tvar _opts$initialCursor;\n\t\t\treturn queryClient.fetchInfiniteQuery((0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, opts$1), {}, {\n\t\t\t\tqueryKey,\n\t\t\t\tqueryFn: ({ pageParam, direction }) => {\n\t\t\t\t\treturn untypedClient.query(...getClientArgs(queryKey, opts$1, {\n\t\t\t\t\t\tpageParam,\n\t\t\t\t\t\tdirection\n\t\t\t\t\t}));\n\t\t\t\t},\n\t\t\t\tinitialPageParam: (_opts$initialCursor = opts$1 === null || opts$1 === void 0 ? void 0 : opts$1.initialCursor) !== null && _opts$initialCursor !== void 0 ? _opts$initialCursor : null\n\t\t\t}));\n\t\t},\n\t\tprefetchQuery: (queryKey, opts$1) => {\n\t\t\treturn queryClient.prefetchQuery((0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, opts$1), {}, {\n\t\t\t\tqueryKey,\n\t\t\t\tqueryFn: () => untypedClient.query(...getClientArgs(queryKey, opts$1))\n\t\t\t}));\n\t\t},\n\t\tprefetchInfiniteQuery: (queryKey, opts$1) => {\n\t\t\tvar _opts$initialCursor2;\n\t\t\treturn queryClient.prefetchInfiniteQuery((0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, opts$1), {}, {\n\t\t\t\tqueryKey,\n\t\t\t\tqueryFn: ({ pageParam, direction }) => {\n\t\t\t\t\treturn untypedClient.query(...getClientArgs(queryKey, opts$1, {\n\t\t\t\t\t\tpageParam,\n\t\t\t\t\t\tdirection\n\t\t\t\t\t}));\n\t\t\t\t},\n\t\t\t\tinitialPageParam: (_opts$initialCursor2 = opts$1 === null || opts$1 === void 0 ? void 0 : opts$1.initialCursor) !== null && _opts$initialCursor2 !== void 0 ? _opts$initialCursor2 : null\n\t\t\t}));\n\t\t},\n\t\tensureQueryData: (queryKey, opts$1) => {\n\t\t\treturn queryClient.ensureQueryData((0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, opts$1), {}, {\n\t\t\t\tqueryKey,\n\t\t\t\tqueryFn: () => untypedClient.query(...getClientArgs(queryKey, opts$1))\n\t\t\t}));\n\t\t},\n\t\tinvalidateQueries: (queryKey, filters, options) => {\n\t\t\treturn queryClient.invalidateQueries((0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, filters), {}, { queryKey }), options);\n\t\t},\n\t\tresetQueries: (queryKey, filters, options) => {\n\t\t\treturn queryClient.resetQueries((0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, filters), {}, { queryKey }), options);\n\t\t},\n\t\trefetchQueries: (queryKey, filters, options) => {\n\t\t\treturn queryClient.refetchQueries((0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, filters), {}, { queryKey }), options);\n\t\t},\n\t\tcancelQuery: (queryKey, options) => {\n\t\t\treturn queryClient.cancelQueries({ queryKey }, options);\n\t\t},\n\t\tsetQueryData: (queryKey, updater, options) => {\n\t\t\treturn queryClient.setQueryData(queryKey, updater, options);\n\t\t},\n\t\tsetQueriesData: (queryKey, filters, updater, options) => {\n\t\t\treturn queryClient.setQueriesData((0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, filters), {}, { queryKey }), updater, options);\n\t\t},\n\t\tgetQueryData: (queryKey) => {\n\t\t\treturn queryClient.getQueryData(queryKey);\n\t\t},\n\t\tsetInfiniteQueryData: (queryKey, updater, options) => {\n\t\t\treturn queryClient.setQueryData(queryKey, updater, options);\n\t\t},\n\t\tgetInfiniteQueryData: (queryKey) => {\n\t\t\treturn queryClient.getQueryData(queryKey);\n\t\t},\n\t\tsetMutationDefaults: (mutationKey, options) => {\n\t\t\tconst path = mutationKey[0];\n\t\t\tconst canonicalMutationFn = (input) => {\n\t\t\t\treturn untypedClient.mutation(...getClientArgs([path, { input }], opts));\n\t\t\t};\n\t\t\treturn queryClient.setMutationDefaults(mutationKey, typeof options === \"function\" ? options({ canonicalMutationFn }) : options);\n\t\t},\n\t\tgetMutationDefaults: (mutationKey) => {\n\t\t\treturn queryClient.getMutationDefaults(mutationKey);\n\t\t},\n\t\tisMutating: (filters) => {\n\t\t\treturn queryClient.isMutating((0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, filters), {}, { exact: true }));\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/shared/hooks/createHooksInternal.tsx\nvar import_objectSpread2 = __toESM(require_objectSpread2());\nconst trackResult = (result, onTrackResult) => {\n\tconst trackedResult = new Proxy(result, { get(target, prop) {\n\t\tonTrackResult(prop);\n\t\treturn target[prop];\n\t} });\n\treturn trackedResult;\n};\n/**\n* @internal\n*/\nfunction createRootHooks(config) {\n\tvar _config$overrides$use, _config$overrides, _config$context;\n\tconst mutationSuccessOverride = (_config$overrides$use = config === null || config === void 0 || (_config$overrides = config.overrides) === null || _config$overrides === void 0 || (_config$overrides = _config$overrides.useMutation) === null || _config$overrides === void 0 ? void 0 : _config$overrides.onSuccess) !== null && _config$overrides$use !== void 0 ? _config$overrides$use : (options) => options.originalFn();\n\tconst Context = (_config$context = config === null || config === void 0 ? void 0 : config.context) !== null && _config$context !== void 0 ? _config$context : TRPCContext;\n\tconst createClient = createTRPCClient;\n\tconst TRPCProvider = (props) => {\n\t\tvar _props$ssrState;\n\t\tconst { abortOnUnmount = false, queryClient, ssrContext } = props;\n\t\tconst [ssrState, setSSRState] = React.useState((_props$ssrState = props.ssrState) !== null && _props$ssrState !== void 0 ? _props$ssrState : false);\n\t\tconst client = props.client instanceof TRPCUntypedClient ? props.client : getUntypedClient(props.client);\n\t\tconst fns = React.useMemo(() => createUtilityFunctions({\n\t\t\tclient,\n\t\t\tqueryClient\n\t\t}), [client, queryClient]);\n\t\tconst contextValue = React.useMemo(() => (0, import_objectSpread2.default)({\n\t\t\tabortOnUnmount,\n\t\t\tqueryClient,\n\t\t\tclient,\n\t\t\tssrContext: ssrContext !== null && ssrContext !== void 0 ? ssrContext : null,\n\t\t\tssrState\n\t\t}, fns), [\n\t\t\tabortOnUnmount,\n\t\t\tclient,\n\t\t\tfns,\n\t\t\tqueryClient,\n\t\t\tssrContext,\n\t\t\tssrState\n\t\t]);\n\t\tReact.useEffect(() => {\n\t\t\tsetSSRState((state) => state ? \"mounted\" : false);\n\t\t}, []);\n\t\treturn /* @__PURE__ */ jsx(Context.Provider, {\n\t\t\tvalue: contextValue,\n\t\t\tchildren: props.children\n\t\t});\n\t};\n\tfunction useContext() {\n\t\tconst context = React.useContext(Context);\n\t\tif (!context) throw new Error(\"Unable to find tRPC Context. Did you forget to wrap your App inside `withTRPC` HoC?\");\n\t\treturn context;\n\t}\n\t/**\n\t* Hack to make sure errors return `status`='error` when doing SSR\n\t* @see https://github.com/trpc/trpc/pull/1645\n\t*/\n\tfunction useSSRQueryOptionsIfNeeded(queryKey, opts) {\n\t\tvar _queryClient$getQuery;\n\t\tconst { queryClient, ssrState } = useContext();\n\t\treturn ssrState && ssrState !== \"mounted\" && ((_queryClient$getQuery = queryClient.getQueryCache().find({ queryKey })) === null || _queryClient$getQuery === void 0 ? void 0 : _queryClient$getQuery.state.status) === \"error\" ? (0, import_objectSpread2.default)({ retryOnMount: false }, opts) : opts;\n\t}\n\tfunction useQuery$1(path, input, opts) {\n\t\tvar _opts$trpc, _opts$enabled, _ref, _opts$trpc$abortOnUnm, _opts$trpc2;\n\t\tconst context = useContext();\n\t\tconst { abortOnUnmount, client, ssrState, queryClient, prefetchQuery } = context;\n\t\tconst queryKey = getQueryKeyInternal(path, input, \"query\");\n\t\tconst defaultOpts = queryClient.getQueryDefaults(queryKey);\n\t\tconst isInputSkipToken = input === skipToken;\n\t\tif (typeof window === \"undefined\" && ssrState === \"prepass\" && (opts === null || opts === void 0 || (_opts$trpc = opts.trpc) === null || _opts$trpc === void 0 ? void 0 : _opts$trpc.ssr) !== false && ((_opts$enabled = opts === null || opts === void 0 ? void 0 : opts.enabled) !== null && _opts$enabled !== void 0 ? _opts$enabled : defaultOpts === null || defaultOpts === void 0 ? void 0 : defaultOpts.enabled) !== false && !isInputSkipToken && !queryClient.getQueryCache().find({ queryKey })) prefetchQuery(queryKey, opts);\n\t\tconst ssrOpts = useSSRQueryOptionsIfNeeded(queryKey, (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, defaultOpts), opts));\n\t\tconst shouldAbortOnUnmount = (_ref = (_opts$trpc$abortOnUnm = opts === null || opts === void 0 || (_opts$trpc2 = opts.trpc) === null || _opts$trpc2 === void 0 ? void 0 : _opts$trpc2.abortOnUnmount) !== null && _opts$trpc$abortOnUnm !== void 0 ? _opts$trpc$abortOnUnm : config === null || config === void 0 ? void 0 : config.abortOnUnmount) !== null && _ref !== void 0 ? _ref : abortOnUnmount;\n\t\tconst hook = useQuery((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, ssrOpts), {}, {\n\t\t\tqueryKey,\n\t\t\tqueryFn: isInputSkipToken ? input : async (queryFunctionContext) => {\n\t\t\t\tconst actualOpts = (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, ssrOpts), {}, { trpc: (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, ssrOpts === null || ssrOpts === void 0 ? void 0 : ssrOpts.trpc), shouldAbortOnUnmount ? { signal: queryFunctionContext.signal } : { signal: null }) });\n\t\t\t\tconst result = await client.query(...getClientArgs(queryKey, actualOpts));\n\t\t\t\tif (isAsyncIterable(result)) return buildQueryFromAsyncIterable(result, queryClient, queryKey);\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}), queryClient);\n\t\thook.trpc = useHookResult({ path });\n\t\treturn hook;\n\t}\n\tfunction usePrefetchQuery$1(path, input, opts) {\n\t\tvar _ref2, _opts$trpc$abortOnUnm2, _opts$trpc3;\n\t\tconst context = useContext();\n\t\tconst queryKey = getQueryKeyInternal(path, input, \"query\");\n\t\tconst isInputSkipToken = input === skipToken;\n\t\tconst shouldAbortOnUnmount = (_ref2 = (_opts$trpc$abortOnUnm2 = opts === null || opts === void 0 || (_opts$trpc3 = opts.trpc) === null || _opts$trpc3 === void 0 ? void 0 : _opts$trpc3.abortOnUnmount) !== null && _opts$trpc$abortOnUnm2 !== void 0 ? _opts$trpc$abortOnUnm2 : config === null || config === void 0 ? void 0 : config.abortOnUnmount) !== null && _ref2 !== void 0 ? _ref2 : context.abortOnUnmount;\n\t\tusePrefetchQuery((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {\n\t\t\tqueryKey,\n\t\t\tqueryFn: isInputSkipToken ? input : (queryFunctionContext) => {\n\t\t\t\tconst actualOpts = { trpc: (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts === null || opts === void 0 ? void 0 : opts.trpc), shouldAbortOnUnmount ? { signal: queryFunctionContext.signal } : {}) };\n\t\t\t\treturn context.client.query(...getClientArgs(queryKey, actualOpts));\n\t\t\t}\n\t\t}));\n\t}\n\tfunction useSuspenseQuery$1(path, input, opts) {\n\t\tvar _ref3, _opts$trpc$abortOnUnm3, _opts$trpc4;\n\t\tconst context = useContext();\n\t\tconst queryKey = getQueryKeyInternal(path, input, \"query\");\n\t\tconst shouldAbortOnUnmount = (_ref3 = (_opts$trpc$abortOnUnm3 = opts === null || opts === void 0 || (_opts$trpc4 = opts.trpc) === null || _opts$trpc4 === void 0 ? void 0 : _opts$trpc4.abortOnUnmount) !== null && _opts$trpc$abortOnUnm3 !== void 0 ? _opts$trpc$abortOnUnm3 : config === null || config === void 0 ? void 0 : config.abortOnUnmount) !== null && _ref3 !== void 0 ? _ref3 : context.abortOnUnmount;\n\t\tconst hook = useSuspenseQuery((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {\n\t\t\tqueryKey,\n\t\t\tqueryFn: (queryFunctionContext) => {\n\t\t\t\tconst actualOpts = (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, { trpc: (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts === null || opts === void 0 ? void 0 : opts.trpc), shouldAbortOnUnmount ? { signal: queryFunctionContext.signal } : { signal: null }) });\n\t\t\t\treturn context.client.query(...getClientArgs(queryKey, actualOpts));\n\t\t\t}\n\t\t}), context.queryClient);\n\t\thook.trpc = useHookResult({ path });\n\t\treturn [hook.data, hook];\n\t}\n\tfunction useMutation$1(path, opts) {\n\t\tconst { client, queryClient } = useContext();\n\t\tconst mutationKey = getMutationKeyInternal(path);\n\t\tconst defaultOpts = queryClient.defaultMutationOptions(queryClient.getMutationDefaults(mutationKey));\n\t\tconst hook = useMutation((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {\n\t\t\tmutationKey,\n\t\t\tmutationFn: (input) => {\n\t\t\t\treturn client.mutation(...getClientArgs([path, { input }], opts));\n\t\t\t},\n\t\t\tonSuccess(...args) {\n\t\t\t\tvar _ref4, _opts$meta;\n\t\t\t\tconst originalFn = () => {\n\t\t\t\t\tvar _opts$onSuccess, _opts$onSuccess2, _defaultOpts$onSucces;\n\t\t\t\t\treturn (_opts$onSuccess = opts === null || opts === void 0 || (_opts$onSuccess2 = opts.onSuccess) === null || _opts$onSuccess2 === void 0 ? void 0 : _opts$onSuccess2.call(opts, ...args)) !== null && _opts$onSuccess !== void 0 ? _opts$onSuccess : defaultOpts === null || defaultOpts === void 0 || (_defaultOpts$onSucces = defaultOpts.onSuccess) === null || _defaultOpts$onSucces === void 0 ? void 0 : _defaultOpts$onSucces.call(defaultOpts, ...args);\n\t\t\t\t};\n\t\t\t\treturn mutationSuccessOverride({\n\t\t\t\t\toriginalFn,\n\t\t\t\t\tqueryClient,\n\t\t\t\t\tmeta: (_ref4 = (_opts$meta = opts === null || opts === void 0 ? void 0 : opts.meta) !== null && _opts$meta !== void 0 ? _opts$meta : defaultOpts === null || defaultOpts === void 0 ? void 0 : defaultOpts.meta) !== null && _ref4 !== void 0 ? _ref4 : {}\n\t\t\t\t});\n\t\t\t}\n\t\t}), queryClient);\n\t\thook.trpc = useHookResult({ path });\n\t\treturn hook;\n\t}\n\tconst initialStateIdle = {\n\t\tdata: void 0,\n\t\terror: null,\n\t\tstatus: \"idle\"\n\t};\n\tconst initialStateConnecting = {\n\t\tdata: void 0,\n\t\terror: null,\n\t\tstatus: \"connecting\"\n\t};\n\t/* istanbul ignore next -- @preserve */\n\tfunction useSubscription(path, input, opts) {\n\t\tvar _opts$enabled2;\n\t\tconst enabled = (_opts$enabled2 = opts === null || opts === void 0 ? void 0 : opts.enabled) !== null && _opts$enabled2 !== void 0 ? _opts$enabled2 : input !== skipToken;\n\t\tconst queryKey = hashKey(getQueryKeyInternal(path, input, \"any\"));\n\t\tconst { client } = useContext();\n\t\tconst optsRef = React.useRef(opts);\n\t\tReact.useEffect(() => {\n\t\t\toptsRef.current = opts;\n\t\t});\n\t\tconst [trackedProps] = React.useState(new Set([]));\n\t\tconst addTrackedProp = React.useCallback((key) => {\n\t\t\ttrackedProps.add(key);\n\t\t}, [trackedProps]);\n\t\tconst currentSubscriptionRef = React.useRef(null);\n\t\tconst updateState = React.useCallback((callback) => {\n\t\t\tconst prev = resultRef.current;\n\t\t\tconst next = resultRef.current = callback(prev);\n\t\t\tlet shouldUpdate = false;\n\t\t\tfor (const key of trackedProps) if (prev[key] !== next[key]) {\n\t\t\t\tshouldUpdate = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (shouldUpdate) setState(trackResult(next, addTrackedProp));\n\t\t}, [addTrackedProp, trackedProps]);\n\t\tconst reset = React.useCallback(() => {\n\t\t\tvar _currentSubscriptionR;\n\t\t\t(_currentSubscriptionR = currentSubscriptionRef.current) === null || _currentSubscriptionR === void 0 || _currentSubscriptionR.unsubscribe();\n\t\t\tif (!enabled) {\n\t\t\t\tupdateState(() => (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, initialStateIdle), {}, { reset }));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tupdateState(() => (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, initialStateConnecting), {}, { reset }));\n\t\t\tconst subscription = client.subscription(path.join(\".\"), input !== null && input !== void 0 ? input : void 0, {\n\t\t\t\tonStarted: () => {\n\t\t\t\t\tvar _optsRef$current$onSt, _optsRef$current;\n\t\t\t\t\t(_optsRef$current$onSt = (_optsRef$current = optsRef.current).onStarted) === null || _optsRef$current$onSt === void 0 || _optsRef$current$onSt.call(_optsRef$current);\n\t\t\t\t\tupdateState((prev) => (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, prev), {}, {\n\t\t\t\t\t\tstatus: \"pending\",\n\t\t\t\t\t\terror: null\n\t\t\t\t\t}));\n\t\t\t\t},\n\t\t\t\tonData: (data) => {\n\t\t\t\t\tvar _optsRef$current$onDa, _optsRef$current2;\n\t\t\t\t\t(_optsRef$current$onDa = (_optsRef$current2 = optsRef.current).onData) === null || _optsRef$current$onDa === void 0 || _optsRef$current$onDa.call(_optsRef$current2, data);\n\t\t\t\t\tupdateState((prev) => (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, prev), {}, {\n\t\t\t\t\t\tstatus: \"pending\",\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\terror: null\n\t\t\t\t\t}));\n\t\t\t\t},\n\t\t\t\tonError: (error) => {\n\t\t\t\t\tvar _optsRef$current$onEr, _optsRef$current3;\n\t\t\t\t\t(_optsRef$current$onEr = (_optsRef$current3 = optsRef.current).onError) === null || _optsRef$current$onEr === void 0 || _optsRef$current$onEr.call(_optsRef$current3, error);\n\t\t\t\t\tupdateState((prev) => (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, prev), {}, {\n\t\t\t\t\t\tstatus: \"error\",\n\t\t\t\t\t\terror\n\t\t\t\t\t}));\n\t\t\t\t},\n\t\t\t\tonConnectionStateChange: (result) => {\n\t\t\t\t\tupdateState((prev) => {\n\t\t\t\t\t\tswitch (result.state) {\n\t\t\t\t\t\t\tcase \"idle\": return (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, prev), {}, {\n\t\t\t\t\t\t\t\tstatus: result.state,\n\t\t\t\t\t\t\t\terror: null,\n\t\t\t\t\t\t\t\tdata: void 0\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tcase \"connecting\": return (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, prev), {}, {\n\t\t\t\t\t\t\t\terror: result.error,\n\t\t\t\t\t\t\t\tstatus: result.state\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tcase \"pending\": return prev;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tonComplete: () => {\n\t\t\t\t\tvar _optsRef$current$onCo, _optsRef$current4;\n\t\t\t\t\t(_optsRef$current$onCo = (_optsRef$current4 = optsRef.current).onComplete) === null || _optsRef$current$onCo === void 0 || _optsRef$current$onCo.call(_optsRef$current4);\n\t\t\t\t\tupdateState((prev) => (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, prev), {}, {\n\t\t\t\t\t\tstatus: \"idle\",\n\t\t\t\t\t\terror: null,\n\t\t\t\t\t\tdata: void 0\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t});\n\t\t\tcurrentSubscriptionRef.current = subscription;\n\t\t}, [\n\t\t\tclient,\n\t\t\tqueryKey,\n\t\t\tenabled,\n\t\t\tupdateState\n\t\t]);\n\t\tReact.useEffect(() => {\n\t\t\treset();\n\t\t\treturn () => {\n\t\t\t\tvar _currentSubscriptionR2;\n\t\t\t\t(_currentSubscriptionR2 = currentSubscriptionRef.current) === null || _currentSubscriptionR2 === void 0 || _currentSubscriptionR2.unsubscribe();\n\t\t\t};\n\t\t}, [reset]);\n\t\tconst resultRef = React.useRef(enabled ? (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, initialStateConnecting), {}, { reset }) : (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, initialStateIdle), {}, { reset }));\n\t\tconst [state, setState] = React.useState(trackResult(resultRef.current, addTrackedProp));\n\t\treturn state;\n\t}\n\tfunction useInfiniteQuery$1(path, input, opts) {\n\t\tvar _opts$trpc5, _opts$enabled3, _opts$trpc$abortOnUnm4, _opts$trpc6, _opts$initialCursor;\n\t\tconst { client, ssrState, prefetchInfiniteQuery, queryClient, abortOnUnmount } = useContext();\n\t\tconst queryKey = getQueryKeyInternal(path, input, \"infinite\");\n\t\tconst defaultOpts = queryClient.getQueryDefaults(queryKey);\n\t\tconst isInputSkipToken = input === skipToken;\n\t\tif (typeof window === \"undefined\" && ssrState === \"prepass\" && (opts === null || opts === void 0 || (_opts$trpc5 = opts.trpc) === null || _opts$trpc5 === void 0 ? void 0 : _opts$trpc5.ssr) !== false && ((_opts$enabled3 = opts === null || opts === void 0 ? void 0 : opts.enabled) !== null && _opts$enabled3 !== void 0 ? _opts$enabled3 : defaultOpts === null || defaultOpts === void 0 ? void 0 : defaultOpts.enabled) !== false && !isInputSkipToken && !queryClient.getQueryCache().find({ queryKey })) prefetchInfiniteQuery(queryKey, (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, defaultOpts), opts));\n\t\tconst ssrOpts = useSSRQueryOptionsIfNeeded(queryKey, (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, defaultOpts), opts));\n\t\tconst shouldAbortOnUnmount = (_opts$trpc$abortOnUnm4 = opts === null || opts === void 0 || (_opts$trpc6 = opts.trpc) === null || _opts$trpc6 === void 0 ? void 0 : _opts$trpc6.abortOnUnmount) !== null && _opts$trpc$abortOnUnm4 !== void 0 ? _opts$trpc$abortOnUnm4 : abortOnUnmount;\n\t\tconst hook = useInfiniteQuery((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, ssrOpts), {}, {\n\t\t\tinitialPageParam: (_opts$initialCursor = opts.initialCursor) !== null && _opts$initialCursor !== void 0 ? _opts$initialCursor : null,\n\t\t\tpersister: opts.persister,\n\t\t\tqueryKey,\n\t\t\tqueryFn: isInputSkipToken ? input : (queryFunctionContext) => {\n\t\t\t\tvar _queryFunctionContext;\n\t\t\t\tconst actualOpts = (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, ssrOpts), {}, { trpc: (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, ssrOpts === null || ssrOpts === void 0 ? void 0 : ssrOpts.trpc), shouldAbortOnUnmount ? { signal: queryFunctionContext.signal } : { signal: null }) });\n\t\t\t\treturn client.query(...getClientArgs(queryKey, actualOpts, {\n\t\t\t\t\tpageParam: (_queryFunctionContext = queryFunctionContext.pageParam) !== null && _queryFunctionContext !== void 0 ? _queryFunctionContext : opts.initialCursor,\n\t\t\t\t\tdirection: queryFunctionContext.direction\n\t\t\t\t}));\n\t\t\t}\n\t\t}), queryClient);\n\t\thook.trpc = useHookResult({ path });\n\t\treturn hook;\n\t}\n\tfunction usePrefetchInfiniteQuery$1(path, input, opts) {\n\t\tvar _opts$trpc$abortOnUnm5, _opts$trpc7, _opts$initialCursor2;\n\t\tconst context = useContext();\n\t\tconst queryKey = getQueryKeyInternal(path, input, \"infinite\");\n\t\tconst defaultOpts = context.queryClient.getQueryDefaults(queryKey);\n\t\tconst isInputSkipToken = input === skipToken;\n\t\tconst ssrOpts = useSSRQueryOptionsIfNeeded(queryKey, (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, defaultOpts), opts));\n\t\tconst shouldAbortOnUnmount = (_opts$trpc$abortOnUnm5 = opts === null || opts === void 0 || (_opts$trpc7 = opts.trpc) === null || _opts$trpc7 === void 0 ? void 0 : _opts$trpc7.abortOnUnmount) !== null && _opts$trpc$abortOnUnm5 !== void 0 ? _opts$trpc$abortOnUnm5 : context.abortOnUnmount;\n\t\tusePrefetchInfiniteQuery((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {\n\t\t\tinitialPageParam: (_opts$initialCursor2 = opts.initialCursor) !== null && _opts$initialCursor2 !== void 0 ? _opts$initialCursor2 : null,\n\t\t\tqueryKey,\n\t\t\tqueryFn: isInputSkipToken ? input : (queryFunctionContext) => {\n\t\t\t\tvar _queryFunctionContext2;\n\t\t\t\tconst actualOpts = (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, ssrOpts), {}, { trpc: (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, ssrOpts === null || ssrOpts === void 0 ? void 0 : ssrOpts.trpc), shouldAbortOnUnmount ? { signal: queryFunctionContext.signal } : {}) });\n\t\t\t\treturn context.client.query(...getClientArgs(queryKey, actualOpts, {\n\t\t\t\t\tpageParam: (_queryFunctionContext2 = queryFunctionContext.pageParam) !== null && _queryFunctionContext2 !== void 0 ? _queryFunctionContext2 : opts.initialCursor,\n\t\t\t\t\tdirection: queryFunctionContext.direction\n\t\t\t\t}));\n\t\t\t}\n\t\t}));\n\t}\n\tfunction useSuspenseInfiniteQuery$1(path, input, opts) {\n\t\tvar _opts$trpc$abortOnUnm6, _opts$trpc8, _opts$initialCursor3;\n\t\tconst context = useContext();\n\t\tconst queryKey = getQueryKeyInternal(path, input, \"infinite\");\n\t\tconst defaultOpts = context.queryClient.getQueryDefaults(queryKey);\n\t\tconst ssrOpts = useSSRQueryOptionsIfNeeded(queryKey, (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, defaultOpts), opts));\n\t\tconst shouldAbortOnUnmount = (_opts$trpc$abortOnUnm6 = opts === null || opts === void 0 || (_opts$trpc8 = opts.trpc) === null || _opts$trpc8 === void 0 ? void 0 : _opts$trpc8.abortOnUnmount) !== null && _opts$trpc$abortOnUnm6 !== void 0 ? _opts$trpc$abortOnUnm6 : context.abortOnUnmount;\n\t\tconst hook = useSuspenseInfiniteQuery((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {\n\t\t\tinitialPageParam: (_opts$initialCursor3 = opts.initialCursor) !== null && _opts$initialCursor3 !== void 0 ? _opts$initialCursor3 : null,\n\t\t\tqueryKey,\n\t\t\tqueryFn: (queryFunctionContext) => {\n\t\t\t\tvar _queryFunctionContext3;\n\t\t\t\tconst actualOpts = (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, ssrOpts), {}, { trpc: (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, ssrOpts === null || ssrOpts === void 0 ? void 0 : ssrOpts.trpc), shouldAbortOnUnmount ? { signal: queryFunctionContext.signal } : {}) });\n\t\t\t\treturn context.client.query(...getClientArgs(queryKey, actualOpts, {\n\t\t\t\t\tpageParam: (_queryFunctionContext3 = queryFunctionContext.pageParam) !== null && _queryFunctionContext3 !== void 0 ? _queryFunctionContext3 : opts.initialCursor,\n\t\t\t\t\tdirection: queryFunctionContext.direction\n\t\t\t\t}));\n\t\t\t}\n\t\t}), context.queryClient);\n\t\thook.trpc = useHookResult({ path });\n\t\treturn [hook.data, hook];\n\t}\n\tconst useQueries$1 = (queriesCallback, options) => {\n\t\tconst { ssrState, queryClient, prefetchQuery, client } = useContext();\n\t\tconst proxy = createUseQueries(client);\n\t\tconst queries = queriesCallback(proxy);\n\t\tif (typeof window === \"undefined\" && ssrState === \"prepass\") for (const query of queries) {\n\t\t\tvar _queryOption$trpc;\n\t\t\tconst queryOption = query;\n\t\t\tif (((_queryOption$trpc = queryOption.trpc) === null || _queryOption$trpc === void 0 ? void 0 : _queryOption$trpc.ssr) !== false && !queryClient.getQueryCache().find({ queryKey: queryOption.queryKey })) prefetchQuery(queryOption.queryKey, queryOption);\n\t\t}\n\t\treturn useQueries({\n\t\t\tqueries: queries.map((query) => (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, query), {}, { queryKey: query.queryKey })),\n\t\t\tcombine: options === null || options === void 0 ? void 0 : options.combine\n\t\t}, queryClient);\n\t};\n\tconst useSuspenseQueries$1 = (queriesCallback) => {\n\t\tconst { queryClient, client } = useContext();\n\t\tconst proxy = createUseQueries(client);\n\t\tconst queries = queriesCallback(proxy);\n\t\tconst hook = useSuspenseQueries({ queries: queries.map((query) => (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, query), {}, {\n\t\t\tqueryFn: query.queryFn,\n\t\t\tqueryKey: query.queryKey\n\t\t})) }, queryClient);\n\t\treturn [hook.map((h) => h.data), hook];\n\t};\n\treturn {\n\t\tProvider: TRPCProvider,\n\t\tcreateClient,\n\t\tuseContext,\n\t\tuseUtils: useContext,\n\t\tuseQuery: useQuery$1,\n\t\tusePrefetchQuery: usePrefetchQuery$1,\n\t\tuseSuspenseQuery: useSuspenseQuery$1,\n\t\tuseQueries: useQueries$1,\n\t\tuseSuspenseQueries: useSuspenseQueries$1,\n\t\tuseMutation: useMutation$1,\n\t\tuseSubscription,\n\t\tuseInfiniteQuery: useInfiniteQuery$1,\n\t\tusePrefetchInfiniteQuery: usePrefetchInfiniteQuery$1,\n\t\tuseSuspenseInfiniteQuery: useSuspenseInfiniteQuery$1\n\t};\n}\n\n//#endregion\n//#region src/shared/queryClient.ts\n/**\n* @internal\n*/\nconst getQueryClient = (config) => {\n\tvar _config$queryClient;\n\treturn (_config$queryClient = config.queryClient) !== null && _config$queryClient !== void 0 ? _config$queryClient : new QueryClient(config.queryClientConfig);\n};\n\n//#endregion\nexport { TRPCContext, contextProps, createQueryUtilsProxy, createReactDecoration, createReactQueryUtils, createRootHooks, createUseQueries, createUtilityFunctions, getClientArgs, getQueryClient, getQueryType };\n//# sourceMappingURL=shared-JtnEvJvB.mjs.map","import { getMutationKey, getQueryKey } from \"./getQueryKey-BY58RNzP.mjs\";\nimport { createQueryUtilsProxy, createReactDecoration, createReactQueryUtils, createRootHooks, createUtilityFunctions } from \"./shared-JtnEvJvB.mjs\";\nimport { createFlatProxy } from \"@trpc/server/unstable-core-do-not-import\";\nimport * as React from \"react\";\n\nexport * from \"@trpc/client\"\n\n//#region src/createTRPCReact.tsx\n/**\n* @internal\n*/\nfunction createHooksInternal(trpc) {\n\tconst proxy = createReactDecoration(trpc);\n\treturn createFlatProxy((key) => {\n\t\tif (key === \"useContext\" || key === \"useUtils\") return () => {\n\t\t\tconst context = trpc.useUtils();\n\t\t\treturn React.useMemo(() => {\n\t\t\t\treturn createReactQueryUtils(context);\n\t\t\t}, [context]);\n\t\t};\n\t\tif (trpc.hasOwnProperty(key)) return trpc[key];\n\t\treturn proxy[key];\n\t});\n}\nfunction createTRPCReact(opts) {\n\tconst hooks = createRootHooks(opts);\n\tconst proxy = createHooksInternal(hooks);\n\treturn proxy;\n}\n\n//#endregion\n//#region src/createTRPCQueryUtils.tsx\nfunction createTRPCQueryUtils(opts) {\n\tconst utils = createUtilityFunctions(opts);\n\treturn createQueryUtilsProxy(utils);\n}\n\n//#endregion\nexport { createTRPCQueryUtils, createTRPCReact, getMutationKey, getQueryKey };\n//# sourceMappingURL=index.mjs.map","import { createTRPCReact } from \"@trpc/react-query\"\nimport type { CreateTRPCReact } from \"@trpc/react-query\"\nimport { createTRPCClient, type TRPCClient } from \"@trpc/client\"\nimport {\n httpBatchLink,\n httpBatchStreamLink,\n httpLink,\n splitLink,\n isNonJsonSerializable,\n httpSubscriptionLink,\n} from \"@trpc/client\"\nimport type { AuroraRouter } from \"../server/routers\"\n\n/** Type alias for the React tRPC client */\nexport type TrpcReact = ReturnType<typeof createTRPCReact<AuroraRouter>>\n\n/** Type alias for the vanilla tRPC client */\nexport type TrpcClient = ReturnType<typeof createTRPCClient<AuroraRouter>>\n\n/** Generic type for creating a typed React tRPC client with a custom router */\nexport type CreateTypedTrpcReact<TRouter extends AuroraRouter> = CreateTRPCReact<TRouter, unknown>\n\n/** Generic type for creating a typed vanilla tRPC client with a custom router */\nexport type CreateTypedTrpcClient<TRouter extends AuroraRouter> = TRPCClient<TRouter>\n\n// BFF endpoint - set once by App before any tRPC calls are made\nconst config = {\n bffEndpoint: \"/polaris-bff\",\n}\n\nexport function setBffEndpoint(endpoint: string) {\n config.bffEndpoint = endpoint\n}\n\n/**\n * Read the endpoint App configured. Needed by code that has to hand the value to\n * a separate JS context — a Web Worker gets its own instance of this module and\n * never sees App's setBffEndpoint() call, so it would otherwise fall back to the\n * default and break any non-default deployment. Read-only: does not affect link\n * routing.\n */\nexport function getBffEndpoint() {\n return config.bffEndpoint\n}\n\n// The CSRF token route is mounted at the server root by AuroraFastifyCsrfProtection,\n// not under the BFF prefix.\nconst CSRF_TOKEN_PATH = \"/csrf-token\"\n\n// Origin to resolve CSRF_TOKEN_PATH against.\n//\n// A bare fetch(\"/csrf-token\") is fine on the main thread but throws inside the\n// object-download worker: it is inlined (?worker&inline) and therefore runs from\n// a blob: URL, whose location has an opaque path — a root-relative URL has\n// nothing to resolve against (\"Failed to parse URL\"). getHeaders()'s catch\n// swallowed that throw and returned {}, so the request went out with no\n// x-csrf-token and the BFF answered \"Invalid csrf token\".\n//\n// The worker is handed an already-absolute bffEndpoint (see objectDownloadStore),\n// so its origin is a base that holds in either context. A relative endpoint means\n// we're on the main thread, where location is a real document URL.\nconst csrfTokenUrl = () => {\n const base = /^https?:\\/\\//i.test(config.bffEndpoint)\n ? new URL(config.bffEndpoint).origin\n : globalThis.location.origin\n return new URL(CSRF_TOKEN_PATH, base).href\n}\n\n// CSRF token cache with request deduplication\nconst csrfCache = {\n token: null as string | null,\n pending: null as Promise<string | null> | null,\n\n async getHeaders() {\n if (this.token) {\n return { \"x-csrf-token\": this.token }\n }\n\n // Dedupe concurrent fetches - only one request in flight at a time\n if (!this.pending) {\n this.pending = fetch(csrfTokenUrl())\n .then((res) => res.json())\n .then(({ csrfToken }) => {\n this.token = csrfToken\n this.pending = null\n return csrfToken as string\n })\n .catch((error) => {\n this.pending = null\n console.error(\"Failed to fetch CSRF token:\", error)\n return null\n })\n }\n\n const token = await this.pending\n return token ? { \"x-csrf-token\": token } : {}\n },\n\n invalidate() {\n this.token = null\n },\n}\n\n/**\n * Read the cached CSRF token so it can be handed to a separate JS context.\n * Synchronous by design — callers that hand it to a worker are on a sync path.\n * Null means nothing has needed a token yet, in which case the other context\n * fetches one itself. Read-only.\n */\nexport const getCsrfToken = () => csrfCache.token\n\n/**\n * Seed the CSRF token from another JS context. Mirrors setBffEndpoint(): a Web\n * Worker gets its own instance of this module, so its cache starts empty and it\n * would otherwise spend a round-trip fetching a token the main thread already has.\n * A null token is ignored — the cache then resolves one on first use.\n */\nexport const setCsrfToken = (token: string | null) => {\n if (token) csrfCache.token = token\n}\n\n// Procedures that return async iterables (chunked streaming responses).\n// These are routed through httpBatchStreamLink instead of httpBatchLink.\n// Add any new streaming procedure paths here.\nconst STREAMING_PROCEDURES = new Set<string>([\"storage.swift.downloadObject\", \"storage.ceph.objects.downloadObject\"])\n\nconst getLinks = () => [\n splitLink({\n // First check: is it a subscription?\n condition: (op) => op.type === \"subscription\",\n // Use HTTP subscription link for subscriptions (long-polling)\n true: httpSubscriptionLink({\n url: config.bffEndpoint,\n // Callback to populate headers\n eventSourceOptions: async () => {\n return { headers: await csrfCache.getHeaders() }\n },\n }),\n // For non-subscriptions, check for non-JSON data or streaming procedures\n false: splitLink({\n // Non-JSON serializable input (FormData, Blob, ArrayBuffer, etc.) → plain httpLink.\n condition: (op) => isNonJsonSerializable(op.input),\n true: httpLink({\n url: config.bffEndpoint,\n async headers({ op }) {\n const csrf = await csrfCache.getHeaders()\n // Per-request headers can be injected via tRPC operation context.\n // op.context is set by the caller and forwarded through the link chain.\n const extra = (op.context as { headers?: Record<string, string> } | undefined)?.headers ?? {}\n return { ...csrf, ...extra }\n },\n }),\n // For JSON procedures, decide between streaming and regular batching\n false: splitLink({\n // Procedures returning async iterables must use httpBatchStreamLink.\n // httpBatchLink buffers the full response before resolving, which\n // breaks streaming. httpBatchStreamLink preserves batching while\n // supporting chunked/streamed responses.\n // Note: httpBatchStreamLink is intentionally NOT used globally because\n // it is incompatible with the @fastify/csrf-protection cookie rotation\n // used in this app — CSRF tokens can expire mid-stream on long-lived\n // connections. Scope it only to procedures that actually need streaming.\n condition: (op) => STREAMING_PROCEDURES.has(op.path),\n true: httpBatchStreamLink({\n url: config.bffEndpoint,\n async headers() {\n return csrfCache.getHeaders()\n },\n }),\n // Regular JSON mutations/queries — standard batching\n false: httpBatchLink({\n url: config.bffEndpoint,\n async headers() {\n return csrfCache.getHeaders()\n },\n }),\n }),\n }),\n }),\n]\n\n// React Query client (for hooks like useQuery/useMutation/useSubscription)\nexport const trpcReact: TrpcReact = createTRPCReact<AuroraRouter>()\n\n// Lazy-initialized clients - created on first access after setBffEndpoint() has been called by App\nconst clients = {\n react: null as ReturnType<typeof trpcReact.createClient> | null,\n vanilla: null as TrpcClient | null,\n}\n\nexport const trpcReactClient = new Proxy({} as ReturnType<typeof trpcReact.createClient>, {\n get(_target, prop) {\n if (!clients.react) {\n clients.react = trpcReact.createClient({ links: getLinks() })\n }\n return (clients.react as Record<string | symbol, unknown>)[prop]\n },\n})\n\nexport const trpcClient: TrpcClient = new Proxy({} as TrpcClient, {\n get(_target, prop) {\n if (!clients.vanilla) {\n clients.vanilla = createTRPCClient<AuroraRouter>({ links: getLinks() })\n }\n return (clients.vanilla as Record<string | symbol, unknown>)[prop]\n },\n})\n","/// <reference lib=\"webworker\" />\n//\n// Dedicated Web Worker for Ceph object downloads.\n//\n// Why a worker: for large objects the wire carries a lot of base64 text and\n// `Uint8Array.from(atob(chunk), …)` runs over all of it. Doing that on the main\n// thread janks the UI; here it runs off-thread and the main thread only receives\n// the finished Blob.\n//\n// Reuses the app's existing `trpcClient` (same links / CSRF / streaming routing)\n// instead of building a separate client — no config duplication or drift.\n//\n// A worker runs in its own module instance, so it does NOT see the\n// setBffEndpoint() call App makes at startup and would otherwise fall back to\n// the default \"/polaris-bff\" — breaking any deployment configured with a\n// different bffEndpoint. Its CSRF cache starts empty for the same reason. The\n// store passes both the resolved endpoint and the token it already holds in the\n// start message and we apply them below, before the lazy trpcClient proxy builds\n// its links on first access.\n//\n// Cancellation: a \"cancel\" message aborts the AbortController passed to the tRPC\n// mutation, which aborts the underlying fetch. The BFF sees the client disconnect\n// via `ctx.req.signal` and stops reading the S3 stream on its next chunk. The\n// store drops the transfer from its state right away, so the UI doesn't wait on\n// this unwinding.\n//\n// What stays on the main thread: all DOM work (anchor download / open-in-tab) and\n// the watchDownloadProgress subscription (a React hook keyed by downloadId).\n//\n// The store imports this via Vite's `?worker&inline`, so Vite bundles it (with\n// everything it imports) and embeds it as a blob — there is no separate asset.\n// That matters because aurora ships as a library: a URL-referenced worker would\n// be emitted into aurora's own dist and the consuming app, which re-bundles us,\n// would never copy it into its output. See objectDownloadStore for the details.\n\nimport { trpcClient, setBffEndpoint, setCsrfToken } from \"@/client/trpcClient\"\n\nexport type DownloadWorkerRequest =\n | {\n type: \"start\"\n bffEndpoint: string\n csrfToken: string | null\n projectId: string\n bucketName: string\n objectKey: string\n filename: string\n downloadId: string\n }\n | { type: \"cancel\" }\n\nexport type DownloadWorkerResponse =\n { ok: true; blob: Blob; filename: string; contentType: string } | { ok: false; cancelled: boolean; message: string }\n\nlet abortController: AbortController | null = null\n\nself.addEventListener(\"message\", async (event: MessageEvent<DownloadWorkerRequest>) => {\n const msg = event.data\n\n // A cancel can arrive while a download is in flight — abort the tRPC call so\n // its `for await` throws and we fall into the catch below (cancelled=true).\n if (msg.type === \"cancel\") {\n abortController?.abort()\n return\n }\n\n // Must happen before the first trpcClient access — the client is created\n // lazily and captures the endpoint when its links are built.\n setBffEndpoint(msg.bffEndpoint)\n // Reuse the main thread's token rather than fetching our own: one less\n // round-trip per download, and it does not touch the CSRF cookie the main\n // thread's cached token is validated against. A null token is a no-op — the\n // cache then resolves one itself against the absolute endpoint set above.\n setCsrfToken(msg.csrfToken)\n abortController = new AbortController()\n\n let contentType = \"application/octet-stream\"\n let filename = msg.filename\n // Typed as Uint8Array<ArrayBuffer> (not the default Uint8Array<ArrayBufferLike>)\n // so `new Blob(chunks, …)` accepts them — Blob rejects SharedArrayBuffer-backed\n // views, which ArrayBufferLike would allow.\n const chunks: Uint8Array<ArrayBuffer>[] = []\n\n try {\n const iterable = await trpcClient.storage.ceph.objects.downloadObject.mutate(\n {\n project_id: msg.projectId,\n containerName: msg.bucketName,\n objectKey: msg.objectKey,\n filename: msg.filename,\n downloadId: msg.downloadId,\n },\n { signal: abortController.signal }\n )\n\n for await (const { chunk, contentType: ct, filename: fn } of iterable) {\n // Stop decoding/buffering the moment a cancel lands. Normally the abort\n // rejects the `for await` and we go straight to the catch, but if a chunk\n // is already in hand when the signal fires we'd otherwise keep appending —\n // drop out here so we never grow the buffer past the cancel point.\n if (abortController.signal.aborted) break\n if (ct) contentType = ct\n if (fn) filename = fn\n chunks.push(Uint8Array.from(atob(chunk), (c) => c.charCodeAt(0)) as Uint8Array<ArrayBuffer>)\n }\n\n // A cancel that arrives after the last chunk but before we assemble the Blob\n // must not still produce a file. Release the buffered bytes and report the\n // cancellation instead of building a Blob the store would then save.\n if (abortController.signal.aborted) {\n chunks.length = 0\n self.postMessage({ ok: false, cancelled: true, message: \"cancelled\" } satisfies DownloadWorkerResponse)\n return\n }\n\n const blob = new Blob(chunks, { type: contentType })\n // Blob is structured-cloneable by reference — no byte copy across the boundary.\n self.postMessage({ ok: true, blob, filename, contentType } satisfies DownloadWorkerResponse)\n } catch (err) {\n self.postMessage({\n ok: false,\n cancelled: abortController.signal.aborted,\n message: err instanceof Error ? err.message : String(err),\n } satisfies DownloadWorkerResponse)\n }\n})\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],"mappings":"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"}