fundus 0.2.0 → 0.4.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 (217) hide show
  1. package/README.md +67 -2
  2. package/build/client/_app/immutable/assets/2.B5tQm8hR.css +1 -0
  3. package/build/client/_app/immutable/assets/2.B5tQm8hR.css.br +0 -0
  4. package/build/client/_app/immutable/assets/2.B5tQm8hR.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/{3.ChSpCG-T.css → 3.CmXD8k9d.css} +1 -1
  6. package/build/client/_app/immutable/assets/3.CmXD8k9d.css.br +0 -0
  7. package/build/client/_app/immutable/assets/3.CmXD8k9d.css.gz +0 -0
  8. package/build/client/_app/immutable/assets/{LibraryContextMenu.BYvU4SY7.css → LibraryContextMenu.CVb-Lqdf.css} +1 -1
  9. package/build/client/_app/immutable/assets/LibraryContextMenu.CVb-Lqdf.css.br +0 -0
  10. package/build/client/_app/immutable/assets/{LibraryContextMenu.BYvU4SY7.css.gz → LibraryContextMenu.CVb-Lqdf.css.gz} +0 -0
  11. package/build/client/_app/immutable/chunks/{C8W3KwDq.js → BPiGyn-T.js} +1 -1
  12. package/build/client/_app/immutable/chunks/BPiGyn-T.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/BPiGyn-T.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{CP-bnOxU.js → BoEHtxM8.js} +1 -1
  15. package/build/client/_app/immutable/chunks/BoEHtxM8.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/BoEHtxM8.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/C-T1_s5P.js +1 -0
  18. package/build/client/_app/immutable/chunks/C-T1_s5P.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/C-T1_s5P.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/{ByVSyIj7.js → CeJsL6hj.js} +1 -1
  21. package/build/client/_app/immutable/chunks/CeJsL6hj.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/CeJsL6hj.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/{Db8LRH6X.js → Cq4Yaq35.js} +3 -3
  24. package/build/client/_app/immutable/chunks/Cq4Yaq35.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/Cq4Yaq35.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/D5sQSsUv.js +1 -0
  27. package/build/client/_app/immutable/chunks/D5sQSsUv.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/D5sQSsUv.js.gz +0 -0
  29. package/build/client/_app/immutable/entry/{app.nM6SgHKJ.js → app.BQ4TfPHG.js} +2 -2
  30. package/build/client/_app/immutable/entry/app.BQ4TfPHG.js.br +0 -0
  31. package/build/client/_app/immutable/entry/app.BQ4TfPHG.js.gz +0 -0
  32. package/build/client/_app/immutable/entry/start.COP9tIRH.js +1 -0
  33. package/build/client/_app/immutable/entry/start.COP9tIRH.js.br +0 -0
  34. package/build/client/_app/immutable/entry/start.COP9tIRH.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/0.CftchwYV.js +2 -0
  36. package/build/client/_app/immutable/nodes/0.CftchwYV.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/0.CftchwYV.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{1.dMklHTc2.js → 1.C8DOqctV.js} +1 -1
  39. package/build/client/_app/immutable/nodes/1.C8DOqctV.js.br +1 -0
  40. package/build/client/_app/immutable/nodes/1.C8DOqctV.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/2.BR8OVsS9.js +3 -0
  42. package/build/client/_app/immutable/nodes/2.BR8OVsS9.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/2.BR8OVsS9.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/3.BO5hcxIH.js +1 -0
  45. package/build/client/_app/immutable/nodes/3.BO5hcxIH.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/3.BO5hcxIH.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/{4.Dgxx52FJ.js → 4.DTaH-k-c.js} +1 -1
  48. package/build/client/_app/immutable/nodes/4.DTaH-k-c.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/4.DTaH-k-c.js.gz +0 -0
  50. package/build/client/_app/version.json +1 -1
  51. package/build/client/_app/version.json.br +0 -0
  52. package/build/client/_app/version.json.gz +0 -0
  53. package/build/handler.js +7 -7
  54. package/build/index.js +7 -7
  55. package/build/server/chunks/chunks/asset-id.js-CFsW8jeL.js +48 -0
  56. package/build/server/chunks/chunks/asset-id.js-CFsW8jeL.js.map +1 -0
  57. package/build/server/chunks/chunks/{context.js-B77ZAVLi.js → context.js-CG2t-ufq.js} +568 -25
  58. package/build/server/chunks/chunks/context.js-CG2t-ufq.js.map +1 -0
  59. package/build/server/chunks/chunks/{library-store.js-DJ-JRE-g.js → contract.js-sHny3b-s.js} +133 -359
  60. package/build/server/chunks/chunks/contract.js-sHny3b-s.js.map +1 -0
  61. package/build/server/chunks/chunks/{core.js-EA_ysb1J.js → core.js-Clg1CHb6.js} +2 -48
  62. package/build/server/chunks/chunks/core.js-Clg1CHb6.js.map +1 -0
  63. package/build/server/chunks/chunks/{exports.js-DvhE7Ffd.js → exports.js-rOfFZumP.js} +2 -2
  64. package/build/server/chunks/chunks/{exports.js-DvhE7Ffd.js.map → exports.js-rOfFZumP.js.map} +1 -1
  65. package/build/server/chunks/chunks/{http.js-DyoR9XRI.js → http.js--6sDZFfm.js} +35 -3
  66. package/build/server/chunks/chunks/http.js--6sDZFfm.js.map +1 -0
  67. package/build/server/chunks/chunks/{internal.js-Dn37LrAW.js → internal.js-DnveDsYn.js} +3 -3
  68. package/build/server/chunks/chunks/{internal.js-Dn37LrAW.js.map → internal.js-DnveDsYn.js.map} +1 -1
  69. package/build/server/chunks/chunks/internal2.js-BlXt2rfE.js.map +1 -1
  70. package/build/server/chunks/chunks/raw-reconciliation.js-DOFtjkgu.js +343 -0
  71. package/build/server/chunks/chunks/raw-reconciliation.js-DOFtjkgu.js.map +1 -0
  72. package/build/server/chunks/chunks/raw-reconciliation2.js-DFwky2ou.js +11 -0
  73. package/build/server/chunks/chunks/raw-reconciliation2.js-DFwky2ou.js.map +1 -0
  74. package/build/server/chunks/chunks/{shared.js-Dob0TlTu.js → shared.js-DtvIbMLj.js} +2 -2
  75. package/build/server/chunks/chunks/{shared.js-Dob0TlTu.js.map → shared.js-DtvIbMLj.js.map} +1 -1
  76. package/build/server/chunks/chunks/{utils.js-B4YimMxv.js → utils.js-bP1j9RdM.js} +3 -3
  77. package/build/server/chunks/chunks/{utils.js-B4YimMxv.js.map → utils.js-bP1j9RdM.js.map} +1 -1
  78. package/build/server/chunks/entries/endpoints/api/_...path_/{_server.ts.js-H4Pq1KAE.js → _server.ts.js-CkSErIdC.js} +7 -5
  79. package/build/server/chunks/entries/endpoints/api/_...path_/{_server.ts.js-H4Pq1KAE.js.map → _server.ts.js-CkSErIdC.js.map} +1 -1
  80. package/build/server/chunks/entries/endpoints/api/assets/_id_/{_server.ts.js-BI3KHSfE.js → _server.ts.js-BfdsBPWo.js} +11 -6
  81. package/build/server/chunks/entries/endpoints/api/assets/_id_/{_server.ts.js-BI3KHSfE.js.map → _server.ts.js-BfdsBPWo.js.map} +1 -1
  82. package/build/server/chunks/entries/endpoints/api/assets/_id_/raw/{_server.ts.js-BlNYUbXX.js → _server.ts.js-D0aKDq87.js} +11 -6
  83. package/build/server/chunks/entries/endpoints/api/assets/_id_/raw/{_server.ts.js-BlNYUbXX.js.map → _server.ts.js-D0aKDq87.js.map} +1 -1
  84. package/build/server/chunks/entries/endpoints/api/assets/_id_/reimport/_server.ts.js-DsX_m2gc.js +31 -0
  85. package/build/server/chunks/entries/endpoints/api/assets/_id_/reimport/_server.ts.js-DsX_m2gc.js.map +1 -0
  86. package/build/server/chunks/entries/endpoints/api/assets/{_server.ts.js-j-_N540j.js → _server.ts.js-nfThjRxs.js} +11 -6
  87. package/build/server/chunks/entries/endpoints/api/assets/{_server.ts.js-j-_N540j.js.map → _server.ts.js-nfThjRxs.js.map} +1 -1
  88. package/build/server/chunks/entries/endpoints/api/assets/delete/{_server.ts.js-BHKobzAg.js → _server.ts.js-CseHmsYB.js} +11 -6
  89. package/build/server/chunks/entries/endpoints/api/assets/delete/{_server.ts.js-BHKobzAg.js.map → _server.ts.js-CseHmsYB.js.map} +1 -1
  90. package/build/server/chunks/entries/endpoints/api/assets/move/{_server.ts.js-BFKjIOCv.js → _server.ts.js-CHiICsyC.js} +11 -6
  91. package/build/server/chunks/entries/endpoints/api/assets/move/{_server.ts.js-BFKjIOCv.js.map → _server.ts.js-CHiICsyC.js.map} +1 -1
  92. package/build/server/chunks/entries/endpoints/api/folders/_path_/{_server.ts.js-BxZeVw8y.js → _server.ts.js-Dgf46K5u.js} +11 -6
  93. package/build/server/chunks/entries/endpoints/api/folders/_path_/{_server.ts.js-BxZeVw8y.js.map → _server.ts.js-Dgf46K5u.js.map} +1 -1
  94. package/build/server/chunks/entries/endpoints/api/folders/{_server.ts.js-CO36U_CT.js → _server.ts.js-DwQJUZFa.js} +11 -6
  95. package/build/server/chunks/entries/endpoints/api/folders/{_server.ts.js-CO36U_CT.js.map → _server.ts.js-DwQJUZFa.js.map} +1 -1
  96. package/build/server/chunks/entries/endpoints/api/imports/_server.ts.js-BnKS8nVF.js +37 -0
  97. package/build/server/chunks/entries/endpoints/api/imports/_server.ts.js-BnKS8nVF.js.map +1 -0
  98. package/build/server/chunks/entries/endpoints/api/manifests/_name_/{_server.ts.js-CBlg1Bkl.js → _server.ts.js-BrDbLcyO.js} +11 -6
  99. package/build/server/chunks/entries/endpoints/api/manifests/_name_/{_server.ts.js-CBlg1Bkl.js.map → _server.ts.js-BrDbLcyO.js.map} +1 -1
  100. package/build/server/chunks/entries/endpoints/api/manifests/{_server.ts.js-DcGLCjIs.js → _server.ts.js-DIUiQuyd.js} +11 -6
  101. package/build/server/chunks/entries/endpoints/api/manifests/{_server.ts.js-DcGLCjIs.js.map → _server.ts.js-DIUiQuyd.js.map} +1 -1
  102. package/build/server/chunks/entries/endpoints/api/raw/adopt/{_server.ts.js-AqhtjOiL.js → _server.ts.js-BrReStaf.js} +11 -6
  103. package/build/server/chunks/entries/endpoints/api/raw/adopt/{_server.ts.js-AqhtjOiL.js.map → _server.ts.js-BrReStaf.js.map} +1 -1
  104. package/build/server/chunks/entries/endpoints/api/raw/edited/accept/{_server.ts.js-CSa6-DcU.js → _server.ts.js-B31iGwJ-.js} +11 -6
  105. package/build/server/chunks/entries/endpoints/api/raw/edited/accept/{_server.ts.js-CSa6-DcU.js.map → _server.ts.js-B31iGwJ-.js.map} +1 -1
  106. package/build/server/chunks/entries/endpoints/api/raw/edited/dismiss/{_server.ts.js-DnzZUoAo.js → _server.ts.js-DeZQFNdj.js} +11 -6
  107. package/build/server/chunks/entries/endpoints/api/raw/edited/dismiss/{_server.ts.js-DnzZUoAo.js.map → _server.ts.js-DeZQFNdj.js.map} +1 -1
  108. package/build/server/chunks/entries/endpoints/api/reconcile/{_server.ts.js-B0KMprKq.js → _server.ts.js-DhDhUU7V.js} +11 -6
  109. package/build/server/chunks/entries/endpoints/api/reconcile/{_server.ts.js-B0KMprKq.js.map → _server.ts.js-DhDhUU7V.js.map} +1 -1
  110. package/build/server/chunks/entries/endpoints/api/reveal/_server.ts.js-DGkPIMcq.js +80 -0
  111. package/build/server/chunks/entries/endpoints/api/reveal/_server.ts.js-DGkPIMcq.js.map +1 -0
  112. package/build/server/chunks/entries/endpoints/api/state/{_server.ts.js-B1N9o1Ne.js → _server.ts.js-BTQgWDH1.js} +11 -6
  113. package/build/server/chunks/entries/endpoints/api/state/{_server.ts.js-B1N9o1Ne.js.map → _server.ts.js-BTQgWDH1.js.map} +1 -1
  114. package/build/server/chunks/entries/endpoints/files/_...path_/{_server.ts.js-B6HbnRqq.js → _server.ts.js-DB3i4juR.js} +7 -5
  115. package/build/server/chunks/entries/endpoints/files/_...path_/{_server.ts.js-B6HbnRqq.js.map → _server.ts.js-DB3i4juR.js.map} +1 -1
  116. package/build/server/chunks/entries/endpoints/files/proxy/_...path_/{_server.ts.js-7wzPyG9v.js → _server.ts.js-kmc-gejQ.js} +11 -6
  117. package/build/server/chunks/entries/endpoints/files/proxy/_...path_/{_server.ts.js-7wzPyG9v.js.map → _server.ts.js-kmc-gejQ.js.map} +1 -1
  118. package/build/server/chunks/entries/endpoints/files/raw/_...path_/{_server.ts.js-BWztxYge.js → _server.ts.js-B8EE1DD9.js} +11 -6
  119. package/build/server/chunks/entries/endpoints/files/raw/_...path_/{_server.ts.js-BWztxYge.js.map → _server.ts.js-B8EE1DD9.js.map} +1 -1
  120. package/build/server/chunks/entries/{hooks.server.js-CVKLksJ1.js → hooks.server.js-DbBA5yYQ.js} +10 -5
  121. package/build/server/chunks/entries/{hooks.server.js-CVKLksJ1.js.map → hooks.server.js-DbBA5yYQ.js.map} +1 -1
  122. package/build/server/chunks/{handler-DZ2Sps4a.js → handler-J6aKdov3.js} +5 -5
  123. package/build/server/chunks/{handler-DZ2Sps4a.js.map → handler-J6aKdov3.js.map} +1 -1
  124. package/build/server/chunks/{index.js-CdmTWQz8.js → index.js-CsvWJ7Qu.js} +5 -5
  125. package/build/server/chunks/{index.js-CdmTWQz8.js.map → index.js-CsvWJ7Qu.js.map} +1 -1
  126. package/build/server/chunks/{manifest.js-GhfNr35x.js → manifest.js-wHtZ9vlA.js} +46 -25
  127. package/build/server/chunks/manifest.js-wHtZ9vlA.js.map +1 -0
  128. package/build/server/chunks/nodes/0.js-By6-kbk6.js +11 -0
  129. package/build/server/chunks/nodes/0.js-By6-kbk6.js.map +1 -0
  130. package/build/server/chunks/nodes/1.js-CrPfmKpN.js +7 -0
  131. package/build/server/chunks/nodes/{1.js-DQgYreU0.js.map → 1.js-CrPfmKpN.js.map} +1 -1
  132. package/build/server/chunks/nodes/2.js-C-i3Y5t2.js +7 -0
  133. package/build/server/chunks/nodes/2.js-C-i3Y5t2.js.map +1 -0
  134. package/build/server/chunks/nodes/3.js-C1gcIGeV.js +7 -0
  135. package/build/server/chunks/nodes/3.js-C1gcIGeV.js.map +1 -0
  136. package/build/server/chunks/nodes/4.js-tgwl3VD3.js +7 -0
  137. package/build/server/chunks/nodes/{4.js-BebbMVXy.js.map → 4.js-tgwl3VD3.js.map} +1 -1
  138. package/dist/cli.js +2 -0
  139. package/dist/config.d.ts +1 -1
  140. package/dist/core/api-types.d.ts +12 -1
  141. package/dist/core/config.d.ts +12 -0
  142. package/dist/core/index.d.ts +3 -2
  143. package/dist/core/library.d.ts +8 -1
  144. package/dist/core/library.js +30 -6
  145. package/dist/server/cli-commands.d.ts +2 -1
  146. package/dist/server/cli-commands.js +155 -34
  147. package/dist/server/config-loader.d.ts +9 -1
  148. package/dist/server/config-loader.js +26 -1
  149. package/dist/server/file-manager.d.ts +2 -0
  150. package/dist/server/file-manager.js +17 -0
  151. package/dist/server/http.d.ts +1 -0
  152. package/dist/server/http.js +37 -0
  153. package/dist/server/importers/contract.d.ts +29 -0
  154. package/dist/server/importers/contract.js +13 -0
  155. package/dist/server/importers/figma.d.ts +21 -0
  156. package/dist/server/importers/figma.js +386 -0
  157. package/dist/server/importers/file.d.ts +6 -0
  158. package/dist/server/importers/file.js +33 -0
  159. package/dist/server/importers/pinned-https.d.ts +23 -0
  160. package/dist/server/importers/pinned-https.js +60 -0
  161. package/dist/server/importers/registry.d.ts +12 -0
  162. package/dist/server/importers/registry.js +31 -0
  163. package/dist/server/importers.d.ts +2 -0
  164. package/dist/server/importers.js +7 -0
  165. package/dist/server/library-store.d.ts +19 -1
  166. package/dist/server/library-store.js +110 -14
  167. package/dist/server/operations.d.ts +13 -1
  168. package/dist/server/operations.js +159 -23
  169. package/package.json +1 -1
  170. package/build/client/_app/immutable/assets/2.ohi-TClG.css +0 -1
  171. package/build/client/_app/immutable/assets/2.ohi-TClG.css.br +0 -0
  172. package/build/client/_app/immutable/assets/2.ohi-TClG.css.gz +0 -0
  173. package/build/client/_app/immutable/assets/3.ChSpCG-T.css.br +0 -0
  174. package/build/client/_app/immutable/assets/3.ChSpCG-T.css.gz +0 -0
  175. package/build/client/_app/immutable/assets/LibraryContextMenu.BYvU4SY7.css.br +0 -0
  176. package/build/client/_app/immutable/chunks/BAEZPv6c.js +0 -1
  177. package/build/client/_app/immutable/chunks/BAEZPv6c.js.br +0 -0
  178. package/build/client/_app/immutable/chunks/BAEZPv6c.js.gz +0 -0
  179. package/build/client/_app/immutable/chunks/ByVSyIj7.js.br +0 -1
  180. package/build/client/_app/immutable/chunks/ByVSyIj7.js.gz +0 -0
  181. package/build/client/_app/immutable/chunks/C8W3KwDq.js.br +0 -0
  182. package/build/client/_app/immutable/chunks/C8W3KwDq.js.gz +0 -0
  183. package/build/client/_app/immutable/chunks/CP-bnOxU.js.br +0 -0
  184. package/build/client/_app/immutable/chunks/CP-bnOxU.js.gz +0 -0
  185. package/build/client/_app/immutable/chunks/Db8LRH6X.js.br +0 -0
  186. package/build/client/_app/immutable/chunks/Db8LRH6X.js.gz +0 -0
  187. package/build/client/_app/immutable/entry/app.nM6SgHKJ.js.br +0 -0
  188. package/build/client/_app/immutable/entry/app.nM6SgHKJ.js.gz +0 -0
  189. package/build/client/_app/immutable/entry/start.DNXvkhtP.js +0 -1
  190. package/build/client/_app/immutable/entry/start.DNXvkhtP.js.br +0 -0
  191. package/build/client/_app/immutable/entry/start.DNXvkhtP.js.gz +0 -0
  192. package/build/client/_app/immutable/nodes/0.QeXQNCp2.js +0 -2
  193. package/build/client/_app/immutable/nodes/0.QeXQNCp2.js.br +0 -0
  194. package/build/client/_app/immutable/nodes/0.QeXQNCp2.js.gz +0 -0
  195. package/build/client/_app/immutable/nodes/1.dMklHTc2.js.br +0 -0
  196. package/build/client/_app/immutable/nodes/1.dMklHTc2.js.gz +0 -0
  197. package/build/client/_app/immutable/nodes/2.CW4VMcIP.js +0 -3
  198. package/build/client/_app/immutable/nodes/2.CW4VMcIP.js.br +0 -0
  199. package/build/client/_app/immutable/nodes/2.CW4VMcIP.js.gz +0 -0
  200. package/build/client/_app/immutable/nodes/3.CTiY_pbK.js +0 -1
  201. package/build/client/_app/immutable/nodes/3.CTiY_pbK.js.br +0 -0
  202. package/build/client/_app/immutable/nodes/3.CTiY_pbK.js.gz +0 -0
  203. package/build/client/_app/immutable/nodes/4.Dgxx52FJ.js.br +0 -0
  204. package/build/client/_app/immutable/nodes/4.Dgxx52FJ.js.gz +0 -0
  205. package/build/server/chunks/chunks/context.js-B77ZAVLi.js.map +0 -1
  206. package/build/server/chunks/chunks/core.js-EA_ysb1J.js.map +0 -1
  207. package/build/server/chunks/chunks/http.js-DyoR9XRI.js.map +0 -1
  208. package/build/server/chunks/chunks/library-store.js-DJ-JRE-g.js.map +0 -1
  209. package/build/server/chunks/manifest.js-GhfNr35x.js.map +0 -1
  210. package/build/server/chunks/nodes/0.js-DGT86_i-.js +0 -11
  211. package/build/server/chunks/nodes/0.js-DGT86_i-.js.map +0 -1
  212. package/build/server/chunks/nodes/1.js-DQgYreU0.js +0 -7
  213. package/build/server/chunks/nodes/2.js-DItreSrX.js +0 -7
  214. package/build/server/chunks/nodes/2.js-DItreSrX.js.map +0 -1
  215. package/build/server/chunks/nodes/3.js-bE1dJ_6v.js +0 -7
  216. package/build/server/chunks/nodes/3.js-bE1dJ_6v.js.map +0 -1
  217. package/build/server/chunks/nodes/4.js-BebbMVXy.js +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"internal2.js-BlXt2rfE.js","sources":["../../../../.svelte-kit/output/server/chunks/internal2.js"],"sourcesContent":["//#region node_modules/@sveltejs/kit/src/runtime/app/paths/internal/server.js\nvar base = \"\";\nvar assets = base;\nvar app_dir = \"_app\";\nvar initial = {\n\tbase,\n\tassets\n};\n/**\n* `base` could be overridden during rendering to be relative;\n* this one's the original non-relative base path\n*/\nvar initial_base = initial.base;\n/**\n* @param {{ base: string, assets: string }} paths\n*/\nfunction override(paths) {\n\tbase = paths.base;\n\tassets = paths.assets;\n}\nfunction reset() {\n\tbase = initial.base;\n\tassets = initial.assets;\n}\n/** @param {string} path */\nfunction set_assets(path) {\n\tassets = initial.assets = path;\n}\n//#endregion\n//#region node_modules/@sveltejs/kit/src/runtime/app/env/internal.js\nvar version = \"1784103096725\";\nvar prerendering = false;\nfunction set_building() {}\nfunction set_prerendering() {\n\tprerendering = true;\n}\n//#endregion\nexport { app_dir as a, initial_base as c, set_assets as d, version as i, override as l, set_building as n, assets as o, set_prerendering as r, base as s, prerendering as t, reset as u };\n"],"names":[],"mappings":"AAAA;AACG,IAAC,IAAI,GAAG;AACR,IAAC,MAAM,GAAG;AACV,IAAC,OAAO,GAAG;AACd,IAAI,OAAO,GAAG;AACd,CAAC,IAAI;AACL,CAAC;AACD,CAAC;AAMD;AACA;AACA;AACA,SAAS,QAAQ,CAAC,KAAK,EAAE;AACzB,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI;AAClB,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM;AACtB;AACA,SAAS,KAAK,GAAG;AACjB,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI;AACpB,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;AACxB;;;;"}
1
+ {"version":3,"file":"internal2.js-BlXt2rfE.js","sources":["../../../../.svelte-kit/output/server/chunks/internal2.js"],"sourcesContent":["//#region node_modules/@sveltejs/kit/src/runtime/app/paths/internal/server.js\nvar base = \"\";\nvar assets = base;\nvar app_dir = \"_app\";\nvar initial = {\n\tbase,\n\tassets\n};\n/**\n* `base` could be overridden during rendering to be relative;\n* this one's the original non-relative base path\n*/\nvar initial_base = initial.base;\n/**\n* @param {{ base: string, assets: string }} paths\n*/\nfunction override(paths) {\n\tbase = paths.base;\n\tassets = paths.assets;\n}\nfunction reset() {\n\tbase = initial.base;\n\tassets = initial.assets;\n}\n/** @param {string} path */\nfunction set_assets(path) {\n\tassets = initial.assets = path;\n}\n//#endregion\n//#region node_modules/@sveltejs/kit/src/runtime/app/env/internal.js\nvar version = \"1784118922124\";\nvar prerendering = false;\nfunction set_building() {}\nfunction set_prerendering() {\n\tprerendering = true;\n}\n//#endregion\nexport { app_dir as a, initial_base as c, set_assets as d, version as i, override as l, set_building as n, assets as o, set_prerendering as r, base as s, prerendering as t, reset as u };\n"],"names":[],"mappings":"AAAA;AACG,IAAC,IAAI,GAAG;AACR,IAAC,MAAM,GAAG;AACV,IAAC,OAAO,GAAG;AACd,IAAI,OAAO,GAAG;AACd,CAAC,IAAI;AACL,CAAC;AACD,CAAC;AAMD;AACA;AACA;AACA,SAAS,QAAQ,CAAC,KAAK,EAAE;AACzB,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI;AAClB,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM;AACtB;AACA,SAAS,KAAK,GAAG;AACjB,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI;AACpB,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;AACxB;;;;"}
@@ -0,0 +1,343 @@
1
+ import { p as portableRawPathKey, i as isFundusTransactionName, f as folderPathError, r as rawFilePathError } from './core.js-Clg1CHb6.js';
2
+ import { join } from 'node:path';
3
+ import { constants } from 'node:fs';
4
+ import { open, lstat, readdir } from 'node:fs/promises';
5
+ import { createHash } from 'node:crypto';
6
+
7
+ //#region src/lib/core/canonicalize.ts
8
+ /**
9
+ * Stable JSON for hash inputs: recursively sorted keys, no whitespace,
10
+ * `undefined` object values dropped. Two parameter objects that differ only in
11
+ * key order (or in explicitly-undefined optionals) canonicalize identically,
12
+ * so the derived job hash — and thus the proxy file name — stays stable.
13
+ */
14
+ function canonicalizeParameters(parameters) {
15
+ return stringify(parameters);
16
+ }
17
+ /** Deterministic UTF-16 code-unit ordering, independent of host locale. */
18
+ function compareCodeUnits(left, right) {
19
+ return left < right ? -1 : left > right ? 1 : 0;
20
+ }
21
+ function stringify(value) {
22
+ if (value === void 0) return "null";
23
+ if (value === null || typeof value === "number" || typeof value === "boolean") return JSON.stringify(value);
24
+ if (typeof value === "string") return JSON.stringify(value);
25
+ if (Array.isArray(value)) return `[${value.map(stringify).join(",")}]`;
26
+ if (typeof value === "object") {
27
+ const record = value;
28
+ const parts = [];
29
+ for (const key of Object.keys(record).sort()) {
30
+ if (record[key] === void 0) continue;
31
+ parts.push(`${JSON.stringify(key)}:${stringify(record[key])}`);
32
+ }
33
+ return `{${parts.join(",")}}`;
34
+ }
35
+ throw new Error(`Cannot canonicalize a ${typeof value} value.`);
36
+ }
37
+ //#endregion
38
+ //#region src/lib/server/raw-reconciliation.ts
39
+ function objectIdentity(value) {
40
+ return `${value.dev}:${value.ino}:${value.mode}`;
41
+ }
42
+ function fileIdentity(value) {
43
+ return `${objectIdentity(value)}:${value.size}:${value.mtimeNs}:${value.ctimeNs}`;
44
+ }
45
+ function pathMatchesHandle(pathStat, handleStat) {
46
+ return pathStat.isFile() && objectIdentity(pathStat) === objectIdentity(handleStat);
47
+ }
48
+ /** Hash one regular file without following its final path component. */
49
+ async function stableRawFileHash(path) {
50
+ let lastProblem;
51
+ for (let attempt = 0; attempt < 3; attempt++) try {
52
+ const handle = await open(path, constants.O_RDONLY | constants.O_NOFOLLOW);
53
+ try {
54
+ const before = await handle.stat({ bigint: true });
55
+ const pathBefore = await lstat(path, { bigint: true });
56
+ if (!before.isFile() || !pathMatchesHandle(pathBefore, before)) throw new Error("path is not the opened regular file");
57
+ const hash = createHash("sha256");
58
+ for await (const chunk of handle.createReadStream({ autoClose: false })) hash.update(chunk);
59
+ const after = await handle.stat({ bigint: true });
60
+ const pathAfter = await lstat(path, { bigint: true });
61
+ if (fileIdentity(before) === fileIdentity(after) && pathMatchesHandle(pathAfter, after)) return hash.digest("hex");
62
+ lastProblem = /* @__PURE__ */ new Error("changed while it was being hashed");
63
+ } finally {
64
+ await handle.close().catch(() => {});
65
+ }
66
+ } catch (cause) {
67
+ lastProblem = cause;
68
+ }
69
+ throw lastProblem instanceof Error ? lastProblem : new Error(String(lastProblem));
70
+ }
71
+ async function verifyStableRawFile(path, expectedHash) {
72
+ const actualHash = await stableRawFileHash(path);
73
+ if (actualHash !== expectedHash) throw new Error(`Raw source changed (expected ${expectedHash}, found ${actualHash}).`);
74
+ }
75
+ /** Enumerate without following symlinks and retain structural scan completeness. */
76
+ async function scanRawDirectory(rawDir, includeFile = () => true) {
77
+ const files = [];
78
+ const blockers = [];
79
+ const diagnostics = [];
80
+ const occupiedPaths = /* @__PURE__ */ new Set();
81
+ const entryKinds = /* @__PURE__ */ new Map();
82
+ const ignoredRegularPaths = [];
83
+ let complete = true;
84
+ function markIncomplete(path, reason) {
85
+ complete = false;
86
+ diagnostics.push({
87
+ path,
88
+ reason
89
+ });
90
+ }
91
+ async function visit(folder) {
92
+ const absolutePath = join(rawDir, folder);
93
+ let before;
94
+ try {
95
+ before = await lstat(absolutePath, { bigint: true });
96
+ } catch (cause) {
97
+ markIncomplete(folder, `${folder === "" ? "Raw directory" : `Directory "${folder}"`} cannot be read: ${cause instanceof Error ? cause.message : String(cause)}`);
98
+ return;
99
+ }
100
+ if (!before.isDirectory() || before.isSymbolicLink()) {
101
+ markIncomplete(folder, `${folder === "" ? "Raw directory" : `Directory "${folder}"`} is not a regular directory.`);
102
+ return;
103
+ }
104
+ let entries;
105
+ try {
106
+ entries = await readdir(absolutePath, { withFileTypes: true });
107
+ } catch (cause) {
108
+ markIncomplete(folder, `${folder === "" ? "Raw directory" : `Directory "${folder}"`} cannot be traversed: ${cause instanceof Error ? cause.message : String(cause)}`);
109
+ return;
110
+ }
111
+ for (const entry of entries.sort((a, b) => compareCodeUnits(a.name, b.name))) {
112
+ const path = folder === "" ? entry.name : `${folder}/${entry.name}`;
113
+ if (entry.name === ".gitkeep" || isFundusTransactionName(entry.name)) continue;
114
+ if (entry.isDirectory()) {
115
+ occupiedPaths.add(path);
116
+ entryKinds.set(path, "directory");
117
+ const problem = folderPathError(path);
118
+ if (problem) blockers.push({
119
+ path,
120
+ reason: problem
121
+ });
122
+ else await visit(path);
123
+ continue;
124
+ }
125
+ if (entry.isFile()) {
126
+ if (!includeFile(path)) {
127
+ ignoredRegularPaths.push(path);
128
+ continue;
129
+ }
130
+ occupiedPaths.add(path);
131
+ entryKinds.set(path, "file");
132
+ const problem = rawFilePathError(path);
133
+ if (problem) {
134
+ blockers.push({
135
+ path,
136
+ reason: problem
137
+ });
138
+ continue;
139
+ }
140
+ try {
141
+ files.push({
142
+ path,
143
+ hash: await stableRawFileHash(join(rawDir, path))
144
+ });
145
+ } catch (cause) {
146
+ blockers.push({
147
+ path,
148
+ reason: `Could not obtain a stable file hash: ${cause instanceof Error ? cause.message : String(cause)}`
149
+ });
150
+ }
151
+ continue;
152
+ }
153
+ const kind = entry.isSymbolicLink() ? "symlink" : "special";
154
+ occupiedPaths.add(path);
155
+ entryKinds.set(path, kind);
156
+ blockers.push({
157
+ path,
158
+ reason: "Symlinks and special files are not supported."
159
+ });
160
+ }
161
+ try {
162
+ const after = await lstat(absolutePath, { bigint: true });
163
+ if (!after.isDirectory() || objectIdentity(before) !== objectIdentity(after)) markIncomplete(folder, `${folder === "" ? "Raw directory" : `Directory "${folder}"`} changed during traversal.`);
164
+ } catch (cause) {
165
+ markIncomplete(folder, `${folder === "" ? "Raw directory" : `Directory "${folder}"`} changed during traversal: ${cause instanceof Error ? cause.message : String(cause)}`);
166
+ }
167
+ }
168
+ await visit("");
169
+ const collisions = /* @__PURE__ */ new Map();
170
+ for (const path of [...occupiedPaths].sort(compareCodeUnits)) {
171
+ const key = portableRawPathKey(path);
172
+ const previous = collisions.get(key);
173
+ if (previous !== void 0 && previous !== path) {
174
+ const reason = `Raw paths "${previous}" and "${path}" collide portably.`;
175
+ blockers.push({
176
+ path: previous,
177
+ reason
178
+ });
179
+ blockers.push({
180
+ path,
181
+ reason
182
+ });
183
+ } else collisions.set(key, path);
184
+ }
185
+ const blockersByPath = /* @__PURE__ */ new Map();
186
+ for (const blocker of blockers) if (!blockersByPath.has(blocker.path)) blockersByPath.set(blocker.path, blocker);
187
+ const sortedBlockers = [...blockersByPath.values()].sort((a, b) => compareCodeUnits(a.path, b.path));
188
+ const blocked = new Set(sortedBlockers.map((entry) => entry.path));
189
+ return {
190
+ complete,
191
+ diagnostics: diagnostics.sort((a, b) => compareCodeUnits(a.path, b.path)),
192
+ files: files.filter((entry) => !blocked.has(entry.path)).sort((a, b) => compareCodeUnits(a.path, b.path)),
193
+ blockers: sortedBlockers,
194
+ occupiedPaths,
195
+ entryKinds,
196
+ ignoredRegularPaths: ignoredRegularPaths.sort(compareCodeUnits)
197
+ };
198
+ }
199
+ /** Pure deterministic matching: exact path first, then only 1:1 hash groups. */
200
+ function classifyRawFiles(library, scan) {
201
+ const filesByPath = new Map(scan.files.map((file) => [file.path, file]));
202
+ const remainingFiles = new Map(filesByPath);
203
+ const remainingRecords = /* @__PURE__ */ new Map();
204
+ const unchangedAssetIds = [];
205
+ const edited = [];
206
+ const blockers = [...scan.blockers];
207
+ const excludedPrefixes = [];
208
+ for (const assetId of Object.keys(library.assets).sort(compareCodeUnits)) {
209
+ const record = library.assets[assetId];
210
+ const kind = scan.entryKinds.get(record.raw);
211
+ if (kind !== void 0 && kind !== "file") {
212
+ const existing = blockers.find((blocker) => blocker.path === record.raw);
213
+ if (existing) existing.assetId = assetId;
214
+ else blockers.push({
215
+ assetId,
216
+ path: record.raw,
217
+ reason: `Managed raw path is occupied by a ${kind}.`
218
+ });
219
+ excludedPrefixes.push(record.raw);
220
+ continue;
221
+ }
222
+ const exact = filesByPath.get(record.raw);
223
+ if (exact) {
224
+ remainingFiles.delete(record.raw);
225
+ if (exact.hash === record.rawHash) unchangedAssetIds.push(assetId);
226
+ else edited.push({
227
+ assetId,
228
+ ...exact
229
+ });
230
+ } else if (scan.complete && !scan.occupiedPaths.has(record.raw) && !scan.blockers.some((blocker) => record.raw === blocker.path || record.raw.startsWith(`${blocker.path}/`))) remainingRecords.set(assetId, {
231
+ path: record.raw,
232
+ hash: record.rawHash
233
+ });
234
+ }
235
+ for (const path of remainingFiles.keys()) if (excludedPrefixes.some((prefix) => path.startsWith(`${prefix}/`))) remainingFiles.delete(path);
236
+ const recordsByHash = /* @__PURE__ */ new Map();
237
+ for (const [assetId, record] of remainingRecords) recordsByHash.set(record.hash, [...recordsByHash.get(record.hash) ?? [], assetId]);
238
+ const filesByHash = /* @__PURE__ */ new Map();
239
+ for (const file of remainingFiles.values()) filesByHash.set(file.hash, [...filesByHash.get(file.hash) ?? [], file]);
240
+ const moves = [];
241
+ if (scan.complete) for (const [hash, assetIds] of recordsByHash) {
242
+ const candidates = filesByHash.get(hash) ?? [];
243
+ if (assetIds.length !== 1 || candidates.length !== 1) continue;
244
+ const assetId = assetIds[0];
245
+ const file = candidates[0];
246
+ moves.push({
247
+ assetId,
248
+ from: remainingRecords.get(assetId)?.path ?? "",
249
+ ...file
250
+ });
251
+ remainingRecords.delete(assetId);
252
+ remainingFiles.delete(file.path);
253
+ }
254
+ const blockerKeys = /* @__PURE__ */ new Set();
255
+ const uniqueBlockers = blockers.filter((blocker) => {
256
+ const key = `${blocker.assetId ?? ""}|${blocker.path}`;
257
+ if (blockerKeys.has(key)) return false;
258
+ blockerKeys.add(key);
259
+ return true;
260
+ });
261
+ return {
262
+ complete: scan.complete,
263
+ diagnostics: scan.diagnostics,
264
+ unchangedAssetIds,
265
+ edited: edited.sort((a, b) => compareCodeUnits(a.path, b.path)),
266
+ moves: scan.complete ? moves.sort((a, b) => compareCodeUnits(a.path, b.path)) : [],
267
+ deletions: scan.complete ? [...remainingRecords].map(([assetId, record]) => ({
268
+ assetId,
269
+ path: record.path
270
+ })) : [],
271
+ unmanaged: [...remainingFiles.values()].sort((a, b) => compareCodeUnits(a.path, b.path)),
272
+ blockers: uniqueBlockers.sort((a, b) => compareCodeUnits(a.path, b.path))
273
+ };
274
+ }
275
+ async function classifyRawDirectory(rawDir, library, includeExternalFile = () => true) {
276
+ const managedPaths = new Set(Object.values(library.assets).map((record) => record.raw));
277
+ const scan = await scanRawDirectory(rawDir, (path) => managedPaths.has(path) || includeExternalFile(path));
278
+ const classification = classifyRawFiles(library, scan);
279
+ if (!classification.complete || classification.deletions.length === 0) return classification;
280
+ const ignoredByHash = /* @__PURE__ */ new Map();
281
+ for (const path of scan.ignoredRegularPaths) try {
282
+ const hash = await stableRawFileHash(join(rawDir, path));
283
+ ignoredByHash.set(hash, [...ignoredByHash.get(hash) ?? [], path]);
284
+ } catch (cause) {
285
+ return {
286
+ ...classification,
287
+ complete: false,
288
+ diagnostics: [...classification.diagnostics, {
289
+ path,
290
+ reason: `Could not safely check ignored raw file "${path}" while managed files were missing: ${cause instanceof Error ? cause.message : String(cause)}`
291
+ }].sort((a, b) => compareCodeUnits(a.path, b.path)),
292
+ moves: [],
293
+ deletions: []
294
+ };
295
+ }
296
+ const missingByHash = /* @__PURE__ */ new Map();
297
+ for (const deletion of classification.deletions) {
298
+ const hash = library.assets[deletion.assetId].rawHash;
299
+ missingByHash.set(hash, [...missingByHash.get(hash) ?? [], deletion]);
300
+ }
301
+ const supportedByHash = /* @__PURE__ */ new Map();
302
+ for (const file of classification.unmanaged) supportedByHash.set(file.hash, [...supportedByHash.get(file.hash) ?? [], file.path]);
303
+ const protectedAssetIds = /* @__PURE__ */ new Set();
304
+ const unsupportedBlockers = [];
305
+ const ambiguityDiagnostics = [];
306
+ for (const [hash, ignoredPaths] of ignoredByHash) {
307
+ const missing = missingByHash.get(hash) ?? [];
308
+ if (missing.length === 0) continue;
309
+ const candidatePaths = [...supportedByHash.get(hash) ?? [], ...ignoredPaths].sort(compareCodeUnits);
310
+ const sortedMissing = [...missing].sort((a, b) => compareCodeUnits(a.assetId, b.assetId));
311
+ if (sortedMissing.length === 1 && ignoredPaths.length === 1 && candidatePaths.length === 1) {
312
+ const [{ assetId, path: oldPath }] = sortedMissing;
313
+ const [destination] = ignoredPaths;
314
+ protectedAssetIds.add(assetId);
315
+ unsupportedBlockers.push({
316
+ assetId,
317
+ path: destination,
318
+ reason: `Asset "${assetId}" was moved from "${oldPath}" to unsupported path "${destination}". Rename it externally to a supported extension.`
319
+ });
320
+ continue;
321
+ }
322
+ ambiguityDiagnostics.push({
323
+ path: candidatePaths[0] ?? "",
324
+ reason: `Ignored raw files ambiguously match missing assets [${sortedMissing.map((entry) => entry.assetId).join(", ")}] and candidate paths [${candidatePaths.join(", ")}]. Restore or reduce the external files until the match is unique.`
325
+ });
326
+ }
327
+ if (ambiguityDiagnostics.length > 0) return {
328
+ ...classification,
329
+ complete: false,
330
+ diagnostics: [...classification.diagnostics, ...ambiguityDiagnostics].sort((a, b) => compareCodeUnits(`${a.path}|${a.reason}`, `${b.path}|${b.reason}`)),
331
+ moves: [],
332
+ deletions: [],
333
+ blockers: [...classification.blockers, ...unsupportedBlockers].sort((a, b) => compareCodeUnits(a.path, b.path))
334
+ };
335
+ return {
336
+ ...classification,
337
+ deletions: classification.deletions.filter((deletion) => !protectedAssetIds.has(deletion.assetId)),
338
+ blockers: [...classification.blockers, ...unsupportedBlockers].sort((a, b) => compareCodeUnits(a.path, b.path))
339
+ };
340
+ }
341
+
342
+ export { compareCodeUnits as a, classifyRawDirectory as b, canonicalizeParameters as c, verifyStableRawFile as v };
343
+ //# sourceMappingURL=raw-reconciliation.js-DOFtjkgu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-reconciliation.js-DOFtjkgu.js","sources":["../../../../.svelte-kit/output/server/chunks/raw-reconciliation.js"],"sourcesContent":["import { a as isFundusTransactionName, f as folderPathError, o as portableRawPathKey, s as rawFilePathError } from \"./core.js\";\nimport { join } from \"node:path\";\nimport { constants } from \"node:fs\";\nimport { lstat, open, readdir } from \"node:fs/promises\";\nimport { createHash } from \"node:crypto\";\n//#region src/lib/core/canonicalize.ts\n/**\n* Stable JSON for hash inputs: recursively sorted keys, no whitespace,\n* `undefined` object values dropped. Two parameter objects that differ only in\n* key order (or in explicitly-undefined optionals) canonicalize identically,\n* so the derived job hash — and thus the proxy file name — stays stable.\n*/\nfunction canonicalizeParameters(parameters) {\n\treturn stringify(parameters);\n}\n/** Deterministic UTF-16 code-unit ordering, independent of host locale. */\nfunction compareCodeUnits(left, right) {\n\treturn left < right ? -1 : left > right ? 1 : 0;\n}\nfunction stringify(value) {\n\tif (value === void 0) return \"null\";\n\tif (value === null || typeof value === \"number\" || typeof value === \"boolean\") return JSON.stringify(value);\n\tif (typeof value === \"string\") return JSON.stringify(value);\n\tif (Array.isArray(value)) return `[${value.map(stringify).join(\",\")}]`;\n\tif (typeof value === \"object\") {\n\t\tconst record = value;\n\t\tconst parts = [];\n\t\tfor (const key of Object.keys(record).sort()) {\n\t\t\tif (record[key] === void 0) continue;\n\t\t\tparts.push(`${JSON.stringify(key)}:${stringify(record[key])}`);\n\t\t}\n\t\treturn `{${parts.join(\",\")}}`;\n\t}\n\tthrow new Error(`Cannot canonicalize a ${typeof value} value.`);\n}\n//#endregion\n//#region src/lib/server/raw-reconciliation.ts\nfunction objectIdentity(value) {\n\treturn `${value.dev}:${value.ino}:${value.mode}`;\n}\nfunction fileIdentity(value) {\n\treturn `${objectIdentity(value)}:${value.size}:${value.mtimeNs}:${value.ctimeNs}`;\n}\nfunction pathMatchesHandle(pathStat, handleStat) {\n\treturn pathStat.isFile() && objectIdentity(pathStat) === objectIdentity(handleStat);\n}\n/** Hash one regular file without following its final path component. */\nasync function stableRawFileHash(path) {\n\tlet lastProblem;\n\tfor (let attempt = 0; attempt < 3; attempt++) try {\n\t\tconst handle = await open(path, constants.O_RDONLY | constants.O_NOFOLLOW);\n\t\ttry {\n\t\t\tconst before = await handle.stat({ bigint: true });\n\t\t\tconst pathBefore = await lstat(path, { bigint: true });\n\t\t\tif (!before.isFile() || !pathMatchesHandle(pathBefore, before)) throw new Error(\"path is not the opened regular file\");\n\t\t\tconst hash = createHash(\"sha256\");\n\t\t\tfor await (const chunk of handle.createReadStream({ autoClose: false })) hash.update(chunk);\n\t\t\tconst after = await handle.stat({ bigint: true });\n\t\t\tconst pathAfter = await lstat(path, { bigint: true });\n\t\t\tif (fileIdentity(before) === fileIdentity(after) && pathMatchesHandle(pathAfter, after)) return hash.digest(\"hex\");\n\t\t\tlastProblem = /* @__PURE__ */ new Error(\"changed while it was being hashed\");\n\t\t} finally {\n\t\t\tawait handle.close().catch(() => {});\n\t\t}\n\t} catch (cause) {\n\t\tlastProblem = cause;\n\t}\n\tthrow lastProblem instanceof Error ? lastProblem : new Error(String(lastProblem));\n}\nasync function verifyStableRawFile(path, expectedHash) {\n\tconst actualHash = await stableRawFileHash(path);\n\tif (actualHash !== expectedHash) throw new Error(`Raw source changed (expected ${expectedHash}, found ${actualHash}).`);\n}\n/** Enumerate without following symlinks and retain structural scan completeness. */\nasync function scanRawDirectory(rawDir, includeFile = () => true) {\n\tconst files = [];\n\tconst blockers = [];\n\tconst diagnostics = [];\n\tconst occupiedPaths = /* @__PURE__ */ new Set();\n\tconst entryKinds = /* @__PURE__ */ new Map();\n\tconst ignoredRegularPaths = [];\n\tlet complete = true;\n\tfunction markIncomplete(path, reason) {\n\t\tcomplete = false;\n\t\tdiagnostics.push({\n\t\t\tpath,\n\t\t\treason\n\t\t});\n\t}\n\tasync function visit(folder) {\n\t\tconst absolutePath = join(rawDir, folder);\n\t\tlet before;\n\t\ttry {\n\t\t\tbefore = await lstat(absolutePath, { bigint: true });\n\t\t} catch (cause) {\n\t\t\tmarkIncomplete(folder, `${folder === \"\" ? \"Raw directory\" : `Directory \"${folder}\"`} cannot be read: ${cause instanceof Error ? cause.message : String(cause)}`);\n\t\t\treturn;\n\t\t}\n\t\tif (!before.isDirectory() || before.isSymbolicLink()) {\n\t\t\tmarkIncomplete(folder, `${folder === \"\" ? \"Raw directory\" : `Directory \"${folder}\"`} is not a regular directory.`);\n\t\t\treturn;\n\t\t}\n\t\tlet entries;\n\t\ttry {\n\t\t\tentries = await readdir(absolutePath, { withFileTypes: true });\n\t\t} catch (cause) {\n\t\t\tmarkIncomplete(folder, `${folder === \"\" ? \"Raw directory\" : `Directory \"${folder}\"`} cannot be traversed: ${cause instanceof Error ? cause.message : String(cause)}`);\n\t\t\treturn;\n\t\t}\n\t\tfor (const entry of entries.sort((a, b) => compareCodeUnits(a.name, b.name))) {\n\t\t\tconst path = folder === \"\" ? entry.name : `${folder}/${entry.name}`;\n\t\t\tif (entry.name === \".gitkeep\" || isFundusTransactionName(entry.name)) continue;\n\t\t\tif (entry.isDirectory()) {\n\t\t\t\toccupiedPaths.add(path);\n\t\t\t\tentryKinds.set(path, \"directory\");\n\t\t\t\tconst problem = folderPathError(path);\n\t\t\t\tif (problem) blockers.push({\n\t\t\t\t\tpath,\n\t\t\t\t\treason: problem\n\t\t\t\t});\n\t\t\t\telse await visit(path);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (entry.isFile()) {\n\t\t\t\tif (!includeFile(path)) {\n\t\t\t\t\tignoredRegularPaths.push(path);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\toccupiedPaths.add(path);\n\t\t\t\tentryKinds.set(path, \"file\");\n\t\t\t\tconst problem = rawFilePathError(path);\n\t\t\t\tif (problem) {\n\t\t\t\t\tblockers.push({\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\treason: problem\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tfiles.push({\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\thash: await stableRawFileHash(join(rawDir, path))\n\t\t\t\t\t});\n\t\t\t\t} catch (cause) {\n\t\t\t\t\tblockers.push({\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\treason: `Could not obtain a stable file hash: ${cause instanceof Error ? cause.message : String(cause)}`\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst kind = entry.isSymbolicLink() ? \"symlink\" : \"special\";\n\t\t\toccupiedPaths.add(path);\n\t\t\tentryKinds.set(path, kind);\n\t\t\tblockers.push({\n\t\t\t\tpath,\n\t\t\t\treason: \"Symlinks and special files are not supported.\"\n\t\t\t});\n\t\t}\n\t\ttry {\n\t\t\tconst after = await lstat(absolutePath, { bigint: true });\n\t\t\tif (!after.isDirectory() || objectIdentity(before) !== objectIdentity(after)) markIncomplete(folder, `${folder === \"\" ? \"Raw directory\" : `Directory \"${folder}\"`} changed during traversal.`);\n\t\t} catch (cause) {\n\t\t\tmarkIncomplete(folder, `${folder === \"\" ? \"Raw directory\" : `Directory \"${folder}\"`} changed during traversal: ${cause instanceof Error ? cause.message : String(cause)}`);\n\t\t}\n\t}\n\tawait visit(\"\");\n\tconst collisions = /* @__PURE__ */ new Map();\n\tfor (const path of [...occupiedPaths].sort(compareCodeUnits)) {\n\t\tconst key = portableRawPathKey(path);\n\t\tconst previous = collisions.get(key);\n\t\tif (previous !== void 0 && previous !== path) {\n\t\t\tconst reason = `Raw paths \"${previous}\" and \"${path}\" collide portably.`;\n\t\t\tblockers.push({\n\t\t\t\tpath: previous,\n\t\t\t\treason\n\t\t\t});\n\t\t\tblockers.push({\n\t\t\t\tpath,\n\t\t\t\treason\n\t\t\t});\n\t\t} else collisions.set(key, path);\n\t}\n\tconst blockersByPath = /* @__PURE__ */ new Map();\n\tfor (const blocker of blockers) if (!blockersByPath.has(blocker.path)) blockersByPath.set(blocker.path, blocker);\n\tconst sortedBlockers = [...blockersByPath.values()].sort((a, b) => compareCodeUnits(a.path, b.path));\n\tconst blocked = new Set(sortedBlockers.map((entry) => entry.path));\n\treturn {\n\t\tcomplete,\n\t\tdiagnostics: diagnostics.sort((a, b) => compareCodeUnits(a.path, b.path)),\n\t\tfiles: files.filter((entry) => !blocked.has(entry.path)).sort((a, b) => compareCodeUnits(a.path, b.path)),\n\t\tblockers: sortedBlockers,\n\t\toccupiedPaths,\n\t\tentryKinds,\n\t\tignoredRegularPaths: ignoredRegularPaths.sort(compareCodeUnits)\n\t};\n}\n/** Pure deterministic matching: exact path first, then only 1:1 hash groups. */\nfunction classifyRawFiles(library, scan) {\n\tconst filesByPath = new Map(scan.files.map((file) => [file.path, file]));\n\tconst remainingFiles = new Map(filesByPath);\n\tconst remainingRecords = /* @__PURE__ */ new Map();\n\tconst unchangedAssetIds = [];\n\tconst edited = [];\n\tconst blockers = [...scan.blockers];\n\tconst excludedPrefixes = [];\n\tfor (const assetId of Object.keys(library.assets).sort(compareCodeUnits)) {\n\t\tconst record = library.assets[assetId];\n\t\tconst kind = scan.entryKinds.get(record.raw);\n\t\tif (kind !== void 0 && kind !== \"file\") {\n\t\t\tconst existing = blockers.find((blocker) => blocker.path === record.raw);\n\t\t\tif (existing) existing.assetId = assetId;\n\t\t\telse blockers.push({\n\t\t\t\tassetId,\n\t\t\t\tpath: record.raw,\n\t\t\t\treason: `Managed raw path is occupied by a ${kind}.`\n\t\t\t});\n\t\t\texcludedPrefixes.push(record.raw);\n\t\t\tcontinue;\n\t\t}\n\t\tconst exact = filesByPath.get(record.raw);\n\t\tif (exact) {\n\t\t\tremainingFiles.delete(record.raw);\n\t\t\tif (exact.hash === record.rawHash) unchangedAssetIds.push(assetId);\n\t\t\telse edited.push({\n\t\t\t\tassetId,\n\t\t\t\t...exact\n\t\t\t});\n\t\t} else if (scan.complete && !scan.occupiedPaths.has(record.raw) && !scan.blockers.some((blocker) => record.raw === blocker.path || record.raw.startsWith(`${blocker.path}/`))) remainingRecords.set(assetId, {\n\t\t\tpath: record.raw,\n\t\t\thash: record.rawHash\n\t\t});\n\t}\n\tfor (const path of remainingFiles.keys()) if (excludedPrefixes.some((prefix) => path.startsWith(`${prefix}/`))) remainingFiles.delete(path);\n\tconst recordsByHash = /* @__PURE__ */ new Map();\n\tfor (const [assetId, record] of remainingRecords) recordsByHash.set(record.hash, [...recordsByHash.get(record.hash) ?? [], assetId]);\n\tconst filesByHash = /* @__PURE__ */ new Map();\n\tfor (const file of remainingFiles.values()) filesByHash.set(file.hash, [...filesByHash.get(file.hash) ?? [], file]);\n\tconst moves = [];\n\tif (scan.complete) for (const [hash, assetIds] of recordsByHash) {\n\t\tconst candidates = filesByHash.get(hash) ?? [];\n\t\tif (assetIds.length !== 1 || candidates.length !== 1) continue;\n\t\tconst assetId = assetIds[0];\n\t\tconst file = candidates[0];\n\t\tmoves.push({\n\t\t\tassetId,\n\t\t\tfrom: remainingRecords.get(assetId)?.path ?? \"\",\n\t\t\t...file\n\t\t});\n\t\tremainingRecords.delete(assetId);\n\t\tremainingFiles.delete(file.path);\n\t}\n\tconst blockerKeys = /* @__PURE__ */ new Set();\n\tconst uniqueBlockers = blockers.filter((blocker) => {\n\t\tconst key = `${blocker.assetId ?? \"\"}|${blocker.path}`;\n\t\tif (blockerKeys.has(key)) return false;\n\t\tblockerKeys.add(key);\n\t\treturn true;\n\t});\n\treturn {\n\t\tcomplete: scan.complete,\n\t\tdiagnostics: scan.diagnostics,\n\t\tunchangedAssetIds,\n\t\tedited: edited.sort((a, b) => compareCodeUnits(a.path, b.path)),\n\t\tmoves: scan.complete ? moves.sort((a, b) => compareCodeUnits(a.path, b.path)) : [],\n\t\tdeletions: scan.complete ? [...remainingRecords].map(([assetId, record]) => ({\n\t\t\tassetId,\n\t\t\tpath: record.path\n\t\t})) : [],\n\t\tunmanaged: [...remainingFiles.values()].sort((a, b) => compareCodeUnits(a.path, b.path)),\n\t\tblockers: uniqueBlockers.sort((a, b) => compareCodeUnits(a.path, b.path))\n\t};\n}\nasync function classifyRawDirectory(rawDir, library, includeExternalFile = () => true) {\n\tconst managedPaths = new Set(Object.values(library.assets).map((record) => record.raw));\n\tconst scan = await scanRawDirectory(rawDir, (path) => managedPaths.has(path) || includeExternalFile(path));\n\tconst classification = classifyRawFiles(library, scan);\n\tif (!classification.complete || classification.deletions.length === 0) return classification;\n\tconst ignoredByHash = /* @__PURE__ */ new Map();\n\tfor (const path of scan.ignoredRegularPaths) try {\n\t\tconst hash = await stableRawFileHash(join(rawDir, path));\n\t\tignoredByHash.set(hash, [...ignoredByHash.get(hash) ?? [], path]);\n\t} catch (cause) {\n\t\treturn {\n\t\t\t...classification,\n\t\t\tcomplete: false,\n\t\t\tdiagnostics: [...classification.diagnostics, {\n\t\t\t\tpath,\n\t\t\t\treason: `Could not safely check ignored raw file \"${path}\" while managed files were missing: ${cause instanceof Error ? cause.message : String(cause)}`\n\t\t\t}].sort((a, b) => compareCodeUnits(a.path, b.path)),\n\t\t\tmoves: [],\n\t\t\tdeletions: []\n\t\t};\n\t}\n\tconst missingByHash = /* @__PURE__ */ new Map();\n\tfor (const deletion of classification.deletions) {\n\t\tconst hash = library.assets[deletion.assetId].rawHash;\n\t\tmissingByHash.set(hash, [...missingByHash.get(hash) ?? [], deletion]);\n\t}\n\tconst supportedByHash = /* @__PURE__ */ new Map();\n\tfor (const file of classification.unmanaged) supportedByHash.set(file.hash, [...supportedByHash.get(file.hash) ?? [], file.path]);\n\tconst protectedAssetIds = /* @__PURE__ */ new Set();\n\tconst unsupportedBlockers = [];\n\tconst ambiguityDiagnostics = [];\n\tfor (const [hash, ignoredPaths] of ignoredByHash) {\n\t\tconst missing = missingByHash.get(hash) ?? [];\n\t\tif (missing.length === 0) continue;\n\t\tconst candidatePaths = [...supportedByHash.get(hash) ?? [], ...ignoredPaths].sort(compareCodeUnits);\n\t\tconst sortedMissing = [...missing].sort((a, b) => compareCodeUnits(a.assetId, b.assetId));\n\t\tif (sortedMissing.length === 1 && ignoredPaths.length === 1 && candidatePaths.length === 1) {\n\t\t\tconst [{ assetId, path: oldPath }] = sortedMissing;\n\t\t\tconst [destination] = ignoredPaths;\n\t\t\tprotectedAssetIds.add(assetId);\n\t\t\tunsupportedBlockers.push({\n\t\t\t\tassetId,\n\t\t\t\tpath: destination,\n\t\t\t\treason: `Asset \"${assetId}\" was moved from \"${oldPath}\" to unsupported path \"${destination}\". Rename it externally to a supported extension.`\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tambiguityDiagnostics.push({\n\t\t\tpath: candidatePaths[0] ?? \"\",\n\t\t\treason: `Ignored raw files ambiguously match missing assets [${sortedMissing.map((entry) => entry.assetId).join(\", \")}] and candidate paths [${candidatePaths.join(\", \")}]. Restore or reduce the external files until the match is unique.`\n\t\t});\n\t}\n\tif (ambiguityDiagnostics.length > 0) return {\n\t\t...classification,\n\t\tcomplete: false,\n\t\tdiagnostics: [...classification.diagnostics, ...ambiguityDiagnostics].sort((a, b) => compareCodeUnits(`${a.path}|${a.reason}`, `${b.path}|${b.reason}`)),\n\t\tmoves: [],\n\t\tdeletions: [],\n\t\tblockers: [...classification.blockers, ...unsupportedBlockers].sort((a, b) => compareCodeUnits(a.path, b.path))\n\t};\n\treturn {\n\t\t...classification,\n\t\tdeletions: classification.deletions.filter((deletion) => !protectedAssetIds.has(deletion.assetId)),\n\t\tblockers: [...classification.blockers, ...unsupportedBlockers].sort((a, b) => compareCodeUnits(a.path, b.path))\n\t};\n}\n//#endregion\nexport { verifyStableRawFile as a, stableRawFileHash as i, classifyRawFiles as n, canonicalizeParameters as o, scanRawDirectory as r, compareCodeUnits as s, classifyRawDirectory as t };\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { v as verifyStableRawFile } from './raw-reconciliation.js-DOFtjkgu.js';
2
+ import './core.js-Clg1CHb6.js';
3
+ import 'node:path';
4
+ import 'node:fs';
5
+ import 'node:fs/promises';
6
+ import 'node:crypto';
7
+
8
+
9
+
10
+ export { verifyStableRawFile };
11
+ //# sourceMappingURL=raw-reconciliation2.js-DFwky2ou.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-reconciliation2.js-DFwky2ou.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { p as parse, s as stringify$1 } from './internal.js-Dn37LrAW.js';
1
+ import { p as parse, s as stringify$1 } from './internal.js-DnveDsYn.js';
2
2
 
3
3
  /** @import { StandardSchemaV1 } from '@standard-schema/spec' */
4
4
 
@@ -252,4 +252,4 @@ function split_remote_key(key) {
252
252
  }
253
253
 
254
254
  export { ActionFailure as A, HttpError as H, INVALIDATED_PARAM as I, Redirect as R, SvelteKitError as S, TRAILING_SLASH_PARAM as T, get_message as a, get_relative_path as b, coalesce_to_error as c, normalize_error as d, create_remote_key as e, split_remote_key as f, get_status as g, base64_encode as h, noop as n, once as o, parse_remote_arg as p, stringify as s, text_encoder as t };
255
- //# sourceMappingURL=shared.js-Dob0TlTu.js.map
255
+ //# sourceMappingURL=shared.js-DtvIbMLj.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js-Dob0TlTu.js","sources":["../../../../node_modules/@sveltejs/kit/src/exports/internal/index.js","../../../../.svelte-kit/output/server/chunks/shared.js"],"sourcesContent":["/** @import { StandardSchemaV1 } from '@standard-schema/spec' */\n\nexport class HttpError {\n\t/**\n\t * @param {number} status\n\t * @param {{message: string} extends App.Error ? (App.Error | string | undefined) : App.Error} body\n\t */\n\tconstructor(status, body) {\n\t\tthis.status = status;\n\t\tif (typeof body === 'string') {\n\t\t\tthis.body = { message: body };\n\t\t} else if (body) {\n\t\t\tthis.body = body;\n\t\t} else {\n\t\t\tthis.body = { message: `Error: ${status}` };\n\t\t}\n\t}\n\n\ttoString() {\n\t\treturn JSON.stringify(this.body);\n\t}\n}\n\nexport class Redirect {\n\t/**\n\t * @param {300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308} status\n\t * @param {string} location\n\t */\n\tconstructor(status, location) {\n\t\ttry {\n\t\t\tnew Headers({ location });\n\t\t} catch {\n\t\t\tthrow new Error(\n\t\t\t\t`Invalid redirect location ${JSON.stringify(location)}: ` +\n\t\t\t\t\t'this string contains characters that cannot be used in HTTP headers'\n\t\t\t);\n\t\t}\n\n\t\tthis.status = status;\n\t\tthis.location = location;\n\t}\n}\n\n/**\n * An error that was thrown from within the SvelteKit runtime that is not fatal and doesn't result in a 500, such as a 404.\n * `SvelteKitError` goes through `handleError`.\n * @extends Error\n */\nexport class SvelteKitError extends Error {\n\t/**\n\t * @param {number} status\n\t * @param {string} text\n\t * @param {string} message\n\t */\n\tconstructor(status, text, message) {\n\t\tsuper(message);\n\t\tthis.status = status;\n\t\tthis.text = text;\n\t}\n}\n\n/**\n * @template [T=undefined]\n */\nexport class ActionFailure {\n\t/**\n\t * @param {number} status\n\t * @param {T} data\n\t */\n\tconstructor(status, data) {\n\t\tthis.status = status;\n\t\tthis.data = data;\n\t}\n}\n\n/**\n * Error thrown when form validation fails imperatively\n */\nexport class ValidationError extends Error {\n\t/**\n\t * @param {StandardSchemaV1.Issue[]} issues\n\t */\n\tconstructor(issues) {\n\t\tsuper('Validation failed');\n\t\tthis.name = 'ValidationError';\n\t\tthis.issues = issues;\n\t}\n}\n\nexport { init_remote_functions } from './remote-functions.js';\n","import { HttpError, SvelteKitError } from \"@sveltejs/kit/internal\";\nimport * as devalue from \"devalue\";\n//#region node_modules/@sveltejs/kit/src/utils/functions.js\nfunction noop() {}\n/**\n* @template T\n* @param {() => T} fn\n*/\nfunction once(fn) {\n\tlet done = false;\n\t/** @type T */\n\tlet result;\n\treturn () => {\n\t\tif (done) return result;\n\t\tdone = true;\n\t\treturn result = fn();\n\t};\n}\n//#endregion\n//#region node_modules/@sveltejs/kit/src/runtime/utils.js\nvar text_encoder = new TextEncoder();\n/**\n* Like node's path.relative, but without using node\n* @param {string} from\n* @param {string} to\n*/\nfunction get_relative_path(from, to) {\n\tconst from_parts = from.split(/[/\\\\]/);\n\tconst to_parts = to.split(/[/\\\\]/);\n\tfrom_parts.pop();\n\twhile (from_parts[0] === to_parts[0]) {\n\t\tfrom_parts.shift();\n\t\tto_parts.shift();\n\t}\n\tlet i = from_parts.length;\n\twhile (i--) from_parts[i] = \"..\";\n\treturn from_parts.concat(to_parts).join(\"/\");\n}\n/**\n* @param {Uint8Array} bytes\n* @returns {string}\n*/\nfunction base64_encode(bytes) {\n\tif (globalThis.Buffer) return globalThis.Buffer.from(bytes).toString(\"base64\");\n\tlet binary = \"\";\n\tfor (let i = 0; i < bytes.length; i++) binary += String.fromCharCode(bytes[i]);\n\treturn btoa(binary);\n}\n/**\n* @param {string} encoded\n* @returns {Uint8Array}\n*/\nfunction base64_decode(encoded) {\n\tif (globalThis.Buffer) {\n\t\tconst buffer = globalThis.Buffer.from(encoded, \"base64\");\n\t\treturn new Uint8Array(buffer);\n\t}\n\tconst binary = atob(encoded);\n\tconst bytes = new Uint8Array(binary.length);\n\tfor (let i = 0; i < binary.length; i++) bytes[i] = binary.charCodeAt(i);\n\treturn bytes;\n}\n//#endregion\n//#region node_modules/@sveltejs/kit/src/utils/error.js\n/**\n* @param {unknown} err\n* @return {Error}\n*/\nfunction coalesce_to_error(err) {\n\treturn err instanceof Error || err && err.name && err.message ? err : new Error(JSON.stringify(err));\n}\n/**\n* This is an identity function that exists to make TypeScript less\n* paranoid about people throwing things that aren't errors, which\n* frankly is not something we should care about\n* @param {unknown} error\n*/\nfunction normalize_error(error) {\n\treturn error;\n}\n/**\n* @param {unknown} error\n*/\nfunction get_status(error) {\n\treturn error instanceof HttpError || error instanceof SvelteKitError ? error.status : 500;\n}\n/**\n* @param {unknown} error\n*/\nfunction get_message(error) {\n\treturn error instanceof SvelteKitError ? error.text : \"Internal Error\";\n}\n//#endregion\n//#region node_modules/@sveltejs/kit/src/runtime/shared.js\n/** @import { Transport } from '@sveltejs/kit' */\n/**\n* @param {string} route_id\n* @param {string} dep\n*/\nfunction validate_depends(route_id, dep) {\n\tconst match = /^(moz-icon|view-source|jar):/.exec(dep);\n\tif (match) console.warn(`${route_id}: Calling \\`depends('${dep}')\\` will throw an error in Firefox because \\`${match[1]}\\` is a special URI scheme`);\n}\nvar INVALIDATED_PARAM = \"x-sveltekit-invalidated\";\nvar TRAILING_SLASH_PARAM = \"x-sveltekit-trailing-slash\";\n/**\n* @param {any} data\n* @param {string} [location_description]\n*/\nfunction validate_load_response(data, location_description) {\n\tif (data != null && Object.getPrototypeOf(data) !== Object.prototype) throw new Error(`a load function ${location_description} returned ${typeof data !== \"object\" ? `a ${typeof data}` : data instanceof Response ? \"a Response object\" : Array.isArray(data) ? \"an array\" : \"a non-plain object\"}, but must return a plain object at the top level (i.e. \\`return {...}\\`)`);\n}\n/**\n* Try to `devalue.stringify` the data object using the provided transport encoders.\n* @param {any} data\n* @param {Transport} transport\n*/\nfunction stringify(data, transport) {\n\tconst encoders = Object.fromEntries(Object.entries(transport).map(([k, v]) => [k, v.encode]));\n\treturn devalue.stringify(data, encoders);\n}\nvar object_proto_names = /* @__PURE__ */ Object.getOwnPropertyNames(Object.prototype).sort().join(\"\\0\");\n/**\n* @param {unknown} thing\n* @returns {thing is Record<PropertyKey, unknown>}\n*/\nfunction is_plain_object(thing) {\n\tif (typeof thing !== \"object\" || thing === null) return false;\n\tconst proto = Object.getPrototypeOf(thing);\n\treturn proto === Object.prototype || proto === null || Object.getPrototypeOf(proto) === null || Object.getOwnPropertyNames(proto).sort().join(\"\\0\") === object_proto_names;\n}\n/**\n* @param {Record<string, any>} value\n* @param {Map<object, any>} clones\n*/\nfunction to_sorted(value, clones) {\n\tconst clone = Object.getPrototypeOf(value) === null ? Object.create(null) : {};\n\tclones.set(value, clone);\n\tObject.defineProperty(clone, remote_arg_marker, { value: true });\n\tfor (const key of Object.keys(value).sort()) {\n\t\tconst property = value[key];\n\t\tObject.defineProperty(clone, key, {\n\t\t\tvalue: clones.get(property) ?? property,\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\twritable: true\n\t\t});\n\t}\n\treturn clone;\n}\nvar remote_object = \"__skrao\";\nvar remote_map = \"__skram\";\nvar remote_set = \"__skras\";\nvar remote_file = \"__skraf\";\nvar remote_regex_guard = \"__skrag\";\nvar remote_arg_marker = Symbol(remote_object);\n/**\n* @param {Transport} transport\n* @param {boolean} sort\n* @param {Map<any, any>} remote_arg_clones\n*/\nfunction create_remote_arg_reducers(transport, sort, remote_arg_clones) {\n\t/** @type {Record<string, (value: unknown) => unknown>} */\n\tconst remote_fns_reducers = { \n\t/** @param {unknown} value */\n[remote_regex_guard]: (value) => {\n\t\tif (value instanceof RegExp) throw new Error(\"Regular expressions are not valid remote function arguments\");\n\t} };\n\tif (sort) {\n\t\t/** @type {(value: unknown) => Array<[unknown, unknown]> | undefined} */\n\t\tremote_fns_reducers[remote_map] = (value) => {\n\t\t\tif (!(value instanceof Map)) return;\n\t\t\t/** @type {Array<[string, string]>} */\n\t\t\tconst entries = [];\n\t\t\tfor (const [key, val] of value) entries.push([stringify(key), stringify(val)]);\n\t\t\treturn entries.sort(([a1, a2], [b1, b2]) => {\n\t\t\t\tif (a1 < b1) return -1;\n\t\t\t\tif (a1 > b1) return 1;\n\t\t\t\tif (a2 < b2) return -1;\n\t\t\t\tif (a2 > b2) return 1;\n\t\t\t\treturn 0;\n\t\t\t});\n\t\t};\n\t\t/** @type {(value: unknown) => unknown[] | undefined} */\n\t\tremote_fns_reducers[remote_set] = (value) => {\n\t\t\tif (!(value instanceof Set)) return;\n\t\t\t/** @type {string[]} */\n\t\t\tconst items = [];\n\t\t\tfor (const item of value) items.push(stringify(item));\n\t\t\titems.sort();\n\t\t\treturn items;\n\t\t};\n\t\t/** @type {(value: unknown) => Record<PropertyKey, unknown> | undefined} */\n\t\tremote_fns_reducers[remote_object] = (value) => {\n\t\t\tif (!is_plain_object(value)) return;\n\t\t\tif (Object.hasOwn(value, remote_arg_marker)) return;\n\t\t\tif (remote_arg_clones.has(value)) return remote_arg_clones.get(value);\n\t\t\treturn to_sorted(value, remote_arg_clones);\n\t\t};\n\t}\n\tconst all_reducers = {\n\t\t...Object.fromEntries(Object.entries(transport).map(([k, v]) => [k, v.encode])),\n\t\t...remote_fns_reducers\n\t};\n\t/** @type {(value: unknown) => string} */\n\tconst stringify = (value) => devalue.stringify(value, all_reducers);\n\treturn all_reducers;\n}\n/** @param {Transport} transport */\nfunction create_remote_arg_revivers(transport) {\n\tconst remote_fns_revivers = {\n\t\t/** @type {(value: unknown) => unknown} */\n\t\t[remote_object]: (value) => value,\n\t\t/** @type {(value: unknown) => Map<unknown, unknown>} */\n\t\t[remote_map]: (value) => {\n\t\t\tif (!Array.isArray(value)) throw new Error(\"Invalid data for Map reviver\");\n\t\t\tconst map = /* @__PURE__ */ new Map();\n\t\t\tfor (const item of value) {\n\t\t\t\tif (!Array.isArray(item) || item.length !== 2 || typeof item[0] !== \"string\" || typeof item[1] !== \"string\") throw new Error(\"Invalid data for Map reviver\");\n\t\t\t\tconst [key, val] = item;\n\t\t\t\tmap.set(parse(key), parse(val));\n\t\t\t}\n\t\t\treturn map;\n\t\t},\n\t\t/** @type {(value: unknown) => Set<unknown>} */\n\t\t[remote_set]: (value) => {\n\t\t\tif (!Array.isArray(value)) throw new Error(\"Invalid data for Set reviver\");\n\t\t\tconst set = /* @__PURE__ */ new Set();\n\t\t\tfor (const item of value) {\n\t\t\t\tif (typeof item !== \"string\") throw new Error(\"Invalid data for Set reviver\");\n\t\t\t\tset.add(parse(item));\n\t\t\t}\n\t\t\treturn set;\n\t\t},\n\t\t/** @type {(value: any) => File} */\n\t\t[remote_file]: (value) => {\n\t\t\tif (!value || typeof value !== \"object\" || typeof value.name !== \"string\" || typeof value.type !== \"string\" || typeof value.size !== \"number\" || typeof value.lastModified !== \"number\" || !(value.data instanceof ArrayBuffer)) throw new Error(\"Invalid data for File reviver\");\n\t\t\tconst { data, name, ...meta } = value;\n\t\t\treturn new File([data], name, meta);\n\t\t}\n\t};\n\tconst all_revivers = {\n\t\t...Object.fromEntries(Object.entries(transport).map(([k, v]) => [k, v.decode])),\n\t\t...remote_fns_revivers\n\t};\n\t/** @type {(data: string) => unknown} */\n\tconst parse = (data) => devalue.parse(data, all_revivers);\n\treturn all_revivers;\n}\n/**\n* Stringifies the argument (if any) for a remote function in such a way that\n* it is both a valid URL and a valid file name (necessary for prerendering).\n* @param {any} value\n* @param {Transport} transport\n*/\nfunction stringify_remote_arg(value, transport) {\n\tif (value === void 0) return \"\";\n\treturn url_friendly_base64_encode(devalue.stringify(value, create_remote_arg_reducers(transport, true, /* @__PURE__ */ new Map())));\n}\n/**\n* Base64-encodes `string` in such a way that the result is safe to use\n* as both a URI component and a filename\n* @param {string} string\n*/\nfunction url_friendly_base64_encode(string) {\n\treturn base64_encode(text_encoder.encode(string)).replaceAll(\"=\", \"\").replaceAll(\"+\", \"-\").replaceAll(\"/\", \"_\");\n}\n/**\n* Parses the argument (if any) for a remote function\n* @param {string} string\n* @param {Transport} transport\n*/\nfunction parse_remote_arg(string, transport) {\n\tif (!string) return void 0;\n\tconst json_string = new TextDecoder().decode(base64_decode(string.replaceAll(\"-\", \"+\").replaceAll(\"_\", \"/\")));\n\treturn devalue.parse(json_string, create_remote_arg_revivers(transport));\n}\n/**\n* @param {string} id\n* @param {string} payload\n*/\nfunction create_remote_key(id, payload) {\n\treturn id + \"/\" + payload;\n}\n/**\n* @param {string} key\n* @returns {{ id: string; payload: string }}\n*/\nfunction split_remote_key(key) {\n\tconst i = key.lastIndexOf(\"/\");\n\tif (i === -1) throw new Error(`Invalid remote key: ${key}`);\n\treturn {\n\t\tid: key.slice(0, i),\n\t\tpayload: key.slice(i + 1)\n\t};\n}\n//#endregion\nexport { text_encoder as _, split_remote_key as a, validate_depends as c, get_message as d, get_status as f, get_relative_path as g, base64_encode as h, parse_remote_arg as i, validate_load_response as l, base64_decode as m, TRAILING_SLASH_PARAM as n, stringify as o, normalize_error as p, create_remote_key as r, stringify_remote_arg as s, INVALIDATED_PARAM as t, coalesce_to_error as u, noop as v, once as y };\n"],"names":["devalue.stringify","parse","devalue.parse"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"shared.js-DtvIbMLj.js","sources":["../../../../node_modules/@sveltejs/kit/src/exports/internal/index.js","../../../../.svelte-kit/output/server/chunks/shared.js"],"sourcesContent":["/** @import { StandardSchemaV1 } from '@standard-schema/spec' */\n\nexport class HttpError {\n\t/**\n\t * @param {number} status\n\t * @param {{message: string} extends App.Error ? (App.Error | string | undefined) : App.Error} body\n\t */\n\tconstructor(status, body) {\n\t\tthis.status = status;\n\t\tif (typeof body === 'string') {\n\t\t\tthis.body = { message: body };\n\t\t} else if (body) {\n\t\t\tthis.body = body;\n\t\t} else {\n\t\t\tthis.body = { message: `Error: ${status}` };\n\t\t}\n\t}\n\n\ttoString() {\n\t\treturn JSON.stringify(this.body);\n\t}\n}\n\nexport class Redirect {\n\t/**\n\t * @param {300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308} status\n\t * @param {string} location\n\t */\n\tconstructor(status, location) {\n\t\ttry {\n\t\t\tnew Headers({ location });\n\t\t} catch {\n\t\t\tthrow new Error(\n\t\t\t\t`Invalid redirect location ${JSON.stringify(location)}: ` +\n\t\t\t\t\t'this string contains characters that cannot be used in HTTP headers'\n\t\t\t);\n\t\t}\n\n\t\tthis.status = status;\n\t\tthis.location = location;\n\t}\n}\n\n/**\n * An error that was thrown from within the SvelteKit runtime that is not fatal and doesn't result in a 500, such as a 404.\n * `SvelteKitError` goes through `handleError`.\n * @extends Error\n */\nexport class SvelteKitError extends Error {\n\t/**\n\t * @param {number} status\n\t * @param {string} text\n\t * @param {string} message\n\t */\n\tconstructor(status, text, message) {\n\t\tsuper(message);\n\t\tthis.status = status;\n\t\tthis.text = text;\n\t}\n}\n\n/**\n * @template [T=undefined]\n */\nexport class ActionFailure {\n\t/**\n\t * @param {number} status\n\t * @param {T} data\n\t */\n\tconstructor(status, data) {\n\t\tthis.status = status;\n\t\tthis.data = data;\n\t}\n}\n\n/**\n * Error thrown when form validation fails imperatively\n */\nexport class ValidationError extends Error {\n\t/**\n\t * @param {StandardSchemaV1.Issue[]} issues\n\t */\n\tconstructor(issues) {\n\t\tsuper('Validation failed');\n\t\tthis.name = 'ValidationError';\n\t\tthis.issues = issues;\n\t}\n}\n\nexport { init_remote_functions } from './remote-functions.js';\n","import { HttpError, SvelteKitError } from \"@sveltejs/kit/internal\";\nimport * as devalue from \"devalue\";\n//#region node_modules/@sveltejs/kit/src/utils/functions.js\nfunction noop() {}\n/**\n* @template T\n* @param {() => T} fn\n*/\nfunction once(fn) {\n\tlet done = false;\n\t/** @type T */\n\tlet result;\n\treturn () => {\n\t\tif (done) return result;\n\t\tdone = true;\n\t\treturn result = fn();\n\t};\n}\n//#endregion\n//#region node_modules/@sveltejs/kit/src/runtime/utils.js\nvar text_encoder = new TextEncoder();\n/**\n* Like node's path.relative, but without using node\n* @param {string} from\n* @param {string} to\n*/\nfunction get_relative_path(from, to) {\n\tconst from_parts = from.split(/[/\\\\]/);\n\tconst to_parts = to.split(/[/\\\\]/);\n\tfrom_parts.pop();\n\twhile (from_parts[0] === to_parts[0]) {\n\t\tfrom_parts.shift();\n\t\tto_parts.shift();\n\t}\n\tlet i = from_parts.length;\n\twhile (i--) from_parts[i] = \"..\";\n\treturn from_parts.concat(to_parts).join(\"/\");\n}\n/**\n* @param {Uint8Array} bytes\n* @returns {string}\n*/\nfunction base64_encode(bytes) {\n\tif (globalThis.Buffer) return globalThis.Buffer.from(bytes).toString(\"base64\");\n\tlet binary = \"\";\n\tfor (let i = 0; i < bytes.length; i++) binary += String.fromCharCode(bytes[i]);\n\treturn btoa(binary);\n}\n/**\n* @param {string} encoded\n* @returns {Uint8Array}\n*/\nfunction base64_decode(encoded) {\n\tif (globalThis.Buffer) {\n\t\tconst buffer = globalThis.Buffer.from(encoded, \"base64\");\n\t\treturn new Uint8Array(buffer);\n\t}\n\tconst binary = atob(encoded);\n\tconst bytes = new Uint8Array(binary.length);\n\tfor (let i = 0; i < binary.length; i++) bytes[i] = binary.charCodeAt(i);\n\treturn bytes;\n}\n//#endregion\n//#region node_modules/@sveltejs/kit/src/utils/error.js\n/**\n* @param {unknown} err\n* @return {Error}\n*/\nfunction coalesce_to_error(err) {\n\treturn err instanceof Error || err && err.name && err.message ? err : new Error(JSON.stringify(err));\n}\n/**\n* This is an identity function that exists to make TypeScript less\n* paranoid about people throwing things that aren't errors, which\n* frankly is not something we should care about\n* @param {unknown} error\n*/\nfunction normalize_error(error) {\n\treturn error;\n}\n/**\n* @param {unknown} error\n*/\nfunction get_status(error) {\n\treturn error instanceof HttpError || error instanceof SvelteKitError ? error.status : 500;\n}\n/**\n* @param {unknown} error\n*/\nfunction get_message(error) {\n\treturn error instanceof SvelteKitError ? error.text : \"Internal Error\";\n}\n//#endregion\n//#region node_modules/@sveltejs/kit/src/runtime/shared.js\n/** @import { Transport } from '@sveltejs/kit' */\n/**\n* @param {string} route_id\n* @param {string} dep\n*/\nfunction validate_depends(route_id, dep) {\n\tconst match = /^(moz-icon|view-source|jar):/.exec(dep);\n\tif (match) console.warn(`${route_id}: Calling \\`depends('${dep}')\\` will throw an error in Firefox because \\`${match[1]}\\` is a special URI scheme`);\n}\nvar INVALIDATED_PARAM = \"x-sveltekit-invalidated\";\nvar TRAILING_SLASH_PARAM = \"x-sveltekit-trailing-slash\";\n/**\n* @param {any} data\n* @param {string} [location_description]\n*/\nfunction validate_load_response(data, location_description) {\n\tif (data != null && Object.getPrototypeOf(data) !== Object.prototype) throw new Error(`a load function ${location_description} returned ${typeof data !== \"object\" ? `a ${typeof data}` : data instanceof Response ? \"a Response object\" : Array.isArray(data) ? \"an array\" : \"a non-plain object\"}, but must return a plain object at the top level (i.e. \\`return {...}\\`)`);\n}\n/**\n* Try to `devalue.stringify` the data object using the provided transport encoders.\n* @param {any} data\n* @param {Transport} transport\n*/\nfunction stringify(data, transport) {\n\tconst encoders = Object.fromEntries(Object.entries(transport).map(([k, v]) => [k, v.encode]));\n\treturn devalue.stringify(data, encoders);\n}\nvar object_proto_names = /* @__PURE__ */ Object.getOwnPropertyNames(Object.prototype).sort().join(\"\\0\");\n/**\n* @param {unknown} thing\n* @returns {thing is Record<PropertyKey, unknown>}\n*/\nfunction is_plain_object(thing) {\n\tif (typeof thing !== \"object\" || thing === null) return false;\n\tconst proto = Object.getPrototypeOf(thing);\n\treturn proto === Object.prototype || proto === null || Object.getPrototypeOf(proto) === null || Object.getOwnPropertyNames(proto).sort().join(\"\\0\") === object_proto_names;\n}\n/**\n* @param {Record<string, any>} value\n* @param {Map<object, any>} clones\n*/\nfunction to_sorted(value, clones) {\n\tconst clone = Object.getPrototypeOf(value) === null ? Object.create(null) : {};\n\tclones.set(value, clone);\n\tObject.defineProperty(clone, remote_arg_marker, { value: true });\n\tfor (const key of Object.keys(value).sort()) {\n\t\tconst property = value[key];\n\t\tObject.defineProperty(clone, key, {\n\t\t\tvalue: clones.get(property) ?? property,\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\twritable: true\n\t\t});\n\t}\n\treturn clone;\n}\nvar remote_object = \"__skrao\";\nvar remote_map = \"__skram\";\nvar remote_set = \"__skras\";\nvar remote_file = \"__skraf\";\nvar remote_regex_guard = \"__skrag\";\nvar remote_arg_marker = Symbol(remote_object);\n/**\n* @param {Transport} transport\n* @param {boolean} sort\n* @param {Map<any, any>} remote_arg_clones\n*/\nfunction create_remote_arg_reducers(transport, sort, remote_arg_clones) {\n\t/** @type {Record<string, (value: unknown) => unknown>} */\n\tconst remote_fns_reducers = { \n\t/** @param {unknown} value */\n[remote_regex_guard]: (value) => {\n\t\tif (value instanceof RegExp) throw new Error(\"Regular expressions are not valid remote function arguments\");\n\t} };\n\tif (sort) {\n\t\t/** @type {(value: unknown) => Array<[unknown, unknown]> | undefined} */\n\t\tremote_fns_reducers[remote_map] = (value) => {\n\t\t\tif (!(value instanceof Map)) return;\n\t\t\t/** @type {Array<[string, string]>} */\n\t\t\tconst entries = [];\n\t\t\tfor (const [key, val] of value) entries.push([stringify(key), stringify(val)]);\n\t\t\treturn entries.sort(([a1, a2], [b1, b2]) => {\n\t\t\t\tif (a1 < b1) return -1;\n\t\t\t\tif (a1 > b1) return 1;\n\t\t\t\tif (a2 < b2) return -1;\n\t\t\t\tif (a2 > b2) return 1;\n\t\t\t\treturn 0;\n\t\t\t});\n\t\t};\n\t\t/** @type {(value: unknown) => unknown[] | undefined} */\n\t\tremote_fns_reducers[remote_set] = (value) => {\n\t\t\tif (!(value instanceof Set)) return;\n\t\t\t/** @type {string[]} */\n\t\t\tconst items = [];\n\t\t\tfor (const item of value) items.push(stringify(item));\n\t\t\titems.sort();\n\t\t\treturn items;\n\t\t};\n\t\t/** @type {(value: unknown) => Record<PropertyKey, unknown> | undefined} */\n\t\tremote_fns_reducers[remote_object] = (value) => {\n\t\t\tif (!is_plain_object(value)) return;\n\t\t\tif (Object.hasOwn(value, remote_arg_marker)) return;\n\t\t\tif (remote_arg_clones.has(value)) return remote_arg_clones.get(value);\n\t\t\treturn to_sorted(value, remote_arg_clones);\n\t\t};\n\t}\n\tconst all_reducers = {\n\t\t...Object.fromEntries(Object.entries(transport).map(([k, v]) => [k, v.encode])),\n\t\t...remote_fns_reducers\n\t};\n\t/** @type {(value: unknown) => string} */\n\tconst stringify = (value) => devalue.stringify(value, all_reducers);\n\treturn all_reducers;\n}\n/** @param {Transport} transport */\nfunction create_remote_arg_revivers(transport) {\n\tconst remote_fns_revivers = {\n\t\t/** @type {(value: unknown) => unknown} */\n\t\t[remote_object]: (value) => value,\n\t\t/** @type {(value: unknown) => Map<unknown, unknown>} */\n\t\t[remote_map]: (value) => {\n\t\t\tif (!Array.isArray(value)) throw new Error(\"Invalid data for Map reviver\");\n\t\t\tconst map = /* @__PURE__ */ new Map();\n\t\t\tfor (const item of value) {\n\t\t\t\tif (!Array.isArray(item) || item.length !== 2 || typeof item[0] !== \"string\" || typeof item[1] !== \"string\") throw new Error(\"Invalid data for Map reviver\");\n\t\t\t\tconst [key, val] = item;\n\t\t\t\tmap.set(parse(key), parse(val));\n\t\t\t}\n\t\t\treturn map;\n\t\t},\n\t\t/** @type {(value: unknown) => Set<unknown>} */\n\t\t[remote_set]: (value) => {\n\t\t\tif (!Array.isArray(value)) throw new Error(\"Invalid data for Set reviver\");\n\t\t\tconst set = /* @__PURE__ */ new Set();\n\t\t\tfor (const item of value) {\n\t\t\t\tif (typeof item !== \"string\") throw new Error(\"Invalid data for Set reviver\");\n\t\t\t\tset.add(parse(item));\n\t\t\t}\n\t\t\treturn set;\n\t\t},\n\t\t/** @type {(value: any) => File} */\n\t\t[remote_file]: (value) => {\n\t\t\tif (!value || typeof value !== \"object\" || typeof value.name !== \"string\" || typeof value.type !== \"string\" || typeof value.size !== \"number\" || typeof value.lastModified !== \"number\" || !(value.data instanceof ArrayBuffer)) throw new Error(\"Invalid data for File reviver\");\n\t\t\tconst { data, name, ...meta } = value;\n\t\t\treturn new File([data], name, meta);\n\t\t}\n\t};\n\tconst all_revivers = {\n\t\t...Object.fromEntries(Object.entries(transport).map(([k, v]) => [k, v.decode])),\n\t\t...remote_fns_revivers\n\t};\n\t/** @type {(data: string) => unknown} */\n\tconst parse = (data) => devalue.parse(data, all_revivers);\n\treturn all_revivers;\n}\n/**\n* Stringifies the argument (if any) for a remote function in such a way that\n* it is both a valid URL and a valid file name (necessary for prerendering).\n* @param {any} value\n* @param {Transport} transport\n*/\nfunction stringify_remote_arg(value, transport) {\n\tif (value === void 0) return \"\";\n\treturn url_friendly_base64_encode(devalue.stringify(value, create_remote_arg_reducers(transport, true, /* @__PURE__ */ new Map())));\n}\n/**\n* Base64-encodes `string` in such a way that the result is safe to use\n* as both a URI component and a filename\n* @param {string} string\n*/\nfunction url_friendly_base64_encode(string) {\n\treturn base64_encode(text_encoder.encode(string)).replaceAll(\"=\", \"\").replaceAll(\"+\", \"-\").replaceAll(\"/\", \"_\");\n}\n/**\n* Parses the argument (if any) for a remote function\n* @param {string} string\n* @param {Transport} transport\n*/\nfunction parse_remote_arg(string, transport) {\n\tif (!string) return void 0;\n\tconst json_string = new TextDecoder().decode(base64_decode(string.replaceAll(\"-\", \"+\").replaceAll(\"_\", \"/\")));\n\treturn devalue.parse(json_string, create_remote_arg_revivers(transport));\n}\n/**\n* @param {string} id\n* @param {string} payload\n*/\nfunction create_remote_key(id, payload) {\n\treturn id + \"/\" + payload;\n}\n/**\n* @param {string} key\n* @returns {{ id: string; payload: string }}\n*/\nfunction split_remote_key(key) {\n\tconst i = key.lastIndexOf(\"/\");\n\tif (i === -1) throw new Error(`Invalid remote key: ${key}`);\n\treturn {\n\t\tid: key.slice(0, i),\n\t\tpayload: key.slice(i + 1)\n\t};\n}\n//#endregion\nexport { text_encoder as _, split_remote_key as a, validate_depends as c, get_message as d, get_status as f, get_relative_path as g, base64_encode as h, parse_remote_arg as i, validate_load_response as l, base64_decode as m, TRAILING_SLASH_PARAM as n, stringify as o, normalize_error as p, create_remote_key as r, stringify_remote_arg as s, INVALIDATED_PARAM as t, coalesce_to_error as u, noop as v, once as y };\n"],"names":["devalue.stringify","parse","devalue.parse"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,5 +1,5 @@
1
- import { R as Redirect, H as HttpError, c as coalesce_to_error, g as get_status, a as get_message, n as noop, S as SvelteKitError } from './shared.js-Dob0TlTu.js';
2
- import { u as uneval, p as parse } from './internal.js-Dn37LrAW.js';
1
+ import { R as Redirect, H as HttpError, c as coalesce_to_error, g as get_status, a as get_message, n as noop, S as SvelteKitError } from './shared.js-DtvIbMLj.js';
2
+ import { u as uneval, p as parse } from './internal.js-DnveDsYn.js';
3
3
 
4
4
  var defaultParseOptions = {
5
5
  decodeValues: true,
@@ -1045,4 +1045,4 @@ function create_replacer(transport) {
1045
1045
  }
1046
1046
 
1047
1047
  export { ENDPOINT_METHODS as E, PAGE_METHODS as P, handle_fatal_error as a, method_not_allowed as b, handle_error_and_jsonify as c, get_global_name as d, create_replacer as e, format_server_error as f, get_set_cookies as g, has_prerendered_path as h, is_form_content_type as i, json as j, serialize_uses as k, clarify_devalue_error as l, merge_tracing as m, negotiate as n, get_node_type as o, parseString as p, isRedirect as q, redirect_response as r, static_error_page as s, text as t, escape_html as u, error as v, with_request_store as w, deserialize_binary_form as x, splitCookiesString as y };
1048
- //# sourceMappingURL=utils.js-B4YimMxv.js.map
1048
+ //# sourceMappingURL=utils.js-bP1j9RdM.js.map