@openpalm/ui 0.12.0-rc.3 → 0.12.0-rc.5

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 (321) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/4.S0ueu2e9.css +1 -0
  3. package/build/client/_app/immutable/assets/4.S0ueu2e9.css.br +0 -0
  4. package/build/client/_app/immutable/assets/4.S0ueu2e9.css.gz +0 -0
  5. package/build/client/_app/immutable/chunks/{DhPCzSpa.js → C4gUzGrN.js} +1 -1
  6. package/build/client/_app/immutable/chunks/C4gUzGrN.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/C4gUzGrN.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/{37oeDbOM.js → DJWiKldZ.js} +1 -1
  9. package/build/client/_app/immutable/chunks/DJWiKldZ.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/DJWiKldZ.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/DU5kKgOL.js +1 -0
  12. package/build/client/_app/immutable/chunks/DU5kKgOL.js.br +2 -0
  13. package/build/client/_app/immutable/chunks/DU5kKgOL.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{D7U2TZGX.js → aSetoo48.js} +1 -1
  15. package/build/client/_app/immutable/chunks/aSetoo48.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/aSetoo48.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/{BMMTxmQF.js → vKascmN8.js} +2 -2
  18. package/build/client/_app/immutable/chunks/vKascmN8.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/vKascmN8.js.gz +0 -0
  20. package/build/client/_app/immutable/entry/{app.D_h1885H.js → app.DF8v7snQ.js} +2 -2
  21. package/build/client/_app/immutable/entry/app.DF8v7snQ.js.br +0 -0
  22. package/build/client/_app/immutable/entry/app.DF8v7snQ.js.gz +0 -0
  23. package/build/client/_app/immutable/entry/start.Ee-Luxz_.js +1 -0
  24. package/build/client/_app/immutable/entry/start.Ee-Luxz_.js.br +0 -0
  25. package/build/client/_app/immutable/entry/start.Ee-Luxz_.js.gz +0 -0
  26. package/build/client/_app/immutable/nodes/{1.m2br4sx_.js → 1.DuvjSds_.js} +1 -1
  27. package/build/client/_app/immutable/nodes/1.DuvjSds_.js.br +1 -0
  28. package/build/client/_app/immutable/nodes/1.DuvjSds_.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/4.vjRZC2QY.js +132 -0
  30. package/build/client/_app/immutable/nodes/4.vjRZC2QY.js.br +0 -0
  31. package/build/client/_app/immutable/nodes/4.vjRZC2QY.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/{5.BoZ0ezyr.js → 5.SJ9hw3VC.js} +1 -1
  33. package/build/client/_app/immutable/nodes/5.SJ9hw3VC.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/5.SJ9hw3VC.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{6.D3HpNODC.js → 6.Dq_OMV4n.js} +1 -1
  36. package/build/client/_app/immutable/nodes/6.Dq_OMV4n.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/6.Dq_OMV4n.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{7.Cldb-l42.js → 7.CVfGh17h.js} +1 -1
  39. package/build/client/_app/immutable/nodes/7.CVfGh17h.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/7.CVfGh17h.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/{8.BWkb2W3i.js → 8.8ZJn8SFv.js} +1 -1
  42. package/build/client/_app/immutable/nodes/8.8ZJn8SFv.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/8.8ZJn8SFv.js.gz +0 -0
  44. package/build/client/_app/version.json +1 -1
  45. package/build/client/_app/version.json.br +1 -1
  46. package/build/client/_app/version.json.gz +0 -0
  47. package/build/server/chunks/1-kboGOWSV.js +9 -0
  48. package/build/server/chunks/{1-CvpyJciZ.js.map → 1-kboGOWSV.js.map} +1 -1
  49. package/build/server/chunks/{10-CX8_71GH.js → 10-BqUXxUy3.js} +4 -4
  50. package/build/server/chunks/{10-CX8_71GH.js.map → 10-BqUXxUy3.js.map} +1 -1
  51. package/build/server/chunks/4-BAP7eCWh.js +9 -0
  52. package/build/server/chunks/{4-CGNm9qY9.js.map → 4-BAP7eCWh.js.map} +1 -1
  53. package/build/server/chunks/{5-CCrG3Zq1.js → 5-D9GZjJ28.js} +3 -3
  54. package/build/server/chunks/{5-CCrG3Zq1.js.map → 5-D9GZjJ28.js.map} +1 -1
  55. package/build/server/chunks/{6-CJd5ozaP.js → 6-Bp3fLEMK.js} +3 -3
  56. package/build/server/chunks/{6-CJd5ozaP.js.map → 6-Bp3fLEMK.js.map} +1 -1
  57. package/build/server/chunks/7-vzCg74WZ.js +9 -0
  58. package/build/server/chunks/{7-Bh7s1hZ3.js.map → 7-vzCg74WZ.js.map} +1 -1
  59. package/build/server/chunks/{8-CbIypXYv.js → 8-BnwCP90U.js} +3 -3
  60. package/build/server/chunks/{8-CbIypXYv.js.map → 8-BnwCP90U.js.map} +1 -1
  61. package/build/server/chunks/{ChatMessage-BAWjgbc_.js → ChatMessage-CzNxDlNH.js} +2 -2
  62. package/build/server/chunks/{ChatMessage-BAWjgbc_.js.map → ChatMessage-CzNxDlNH.js.map} +1 -1
  63. package/build/server/chunks/{Navbar-Bdk7TDAb.js → Navbar-BC8KbEhl.js} +3 -3
  64. package/build/server/chunks/{Navbar-Bdk7TDAb.js.map → Navbar-BC8KbEhl.js.map} +1 -1
  65. package/build/server/chunks/{_page.svelte-2gtLQdWF.js → _page.svelte-9LEKEd4q.js} +5 -5
  66. package/build/server/chunks/{_page.svelte-2gtLQdWF.js.map → _page.svelte-9LEKEd4q.js.map} +1 -1
  67. package/build/server/chunks/{_page.svelte-F2VqpLAW.js → _page.svelte-BVtfpVoy.js} +100 -55
  68. package/build/server/chunks/_page.svelte-BVtfpVoy.js.map +1 -0
  69. package/build/server/chunks/{_page.svelte-CUeuGP5U.js → _page.svelte-BtlbOr0H.js} +6 -6
  70. package/build/server/chunks/{_page.svelte-CUeuGP5U.js.map → _page.svelte-BtlbOr0H.js.map} +1 -1
  71. package/build/server/chunks/{_page.svelte-Cjok9-7E.js → _page.svelte-CcWR7I3-.js} +3 -3
  72. package/build/server/chunks/{_page.svelte-Cjok9-7E.js.map → _page.svelte-CcWR7I3-.js.map} +1 -1
  73. package/build/server/chunks/{_page.svelte-bfGTUogD.js → _page.svelte-DeSEiZ3z.js} +5 -5
  74. package/build/server/chunks/{_page.svelte-bfGTUogD.js.map → _page.svelte-DeSEiZ3z.js.map} +1 -1
  75. package/build/server/chunks/{_server.ts-LoYAi4N3.js → _server.ts-5rO5RuFp.js} +6 -6
  76. package/build/server/chunks/{_server.ts-LoYAi4N3.js.map → _server.ts-5rO5RuFp.js.map} +1 -1
  77. package/build/server/chunks/{_server.ts-7YO0AJyT.js → _server.ts-7nDArQz2.js} +5 -5
  78. package/build/server/chunks/{_server.ts-7YO0AJyT.js.map → _server.ts-7nDArQz2.js.map} +1 -1
  79. package/build/server/chunks/{_server.ts-D81qWfpG.js → _server.ts-AmJFdPBH.js} +5 -5
  80. package/build/server/chunks/{_server.ts-D81qWfpG.js.map → _server.ts-AmJFdPBH.js.map} +1 -1
  81. package/build/server/chunks/{_server.ts-Bvv8P8O9.js → _server.ts-B8iEOZXj.js} +6 -6
  82. package/build/server/chunks/{_server.ts-Bvv8P8O9.js.map → _server.ts-B8iEOZXj.js.map} +1 -1
  83. package/build/server/chunks/{_server.ts-DxG52eeA.js → _server.ts-BDivaalV.js} +7 -7
  84. package/build/server/chunks/{_server.ts-DxG52eeA.js.map → _server.ts-BDivaalV.js.map} +1 -1
  85. package/build/server/chunks/{_server.ts-CGk9ZLGa.js → _server.ts-BHo9iOgV.js} +2 -2
  86. package/build/server/chunks/{_server.ts-CGk9ZLGa.js.map → _server.ts-BHo9iOgV.js.map} +1 -1
  87. package/build/server/chunks/{_server.ts-D01NZcYW.js → _server.ts-BKybdtzB.js} +5 -5
  88. package/build/server/chunks/{_server.ts-D01NZcYW.js.map → _server.ts-BKybdtzB.js.map} +1 -1
  89. package/build/server/chunks/{_server.ts-BVLeyPrV.js → _server.ts-BN_jvNOy.js} +5 -5
  90. package/build/server/chunks/{_server.ts-BVLeyPrV.js.map → _server.ts-BN_jvNOy.js.map} +1 -1
  91. package/build/server/chunks/{_server.ts-fMGCvAmz.js → _server.ts-BQi6pSbz.js} +5 -5
  92. package/build/server/chunks/{_server.ts-fMGCvAmz.js.map → _server.ts-BQi6pSbz.js.map} +1 -1
  93. package/build/server/chunks/{_server.ts-BLqWydCg.js → _server.ts-BaPLmEOA.js} +5 -5
  94. package/build/server/chunks/{_server.ts-BLqWydCg.js.map → _server.ts-BaPLmEOA.js.map} +1 -1
  95. package/build/server/chunks/{_server.ts-0fJZ0VmG.js → _server.ts-BbdeE98Q.js} +7 -7
  96. package/build/server/chunks/{_server.ts-0fJZ0VmG.js.map → _server.ts-BbdeE98Q.js.map} +1 -1
  97. package/build/server/chunks/{_server.ts-BFfdVNpH.js → _server.ts-BdUyZiwk.js} +6 -6
  98. package/build/server/chunks/_server.ts-BdUyZiwk.js.map +1 -0
  99. package/build/server/chunks/{_server.ts-BPEwLxUz.js → _server.ts-Bdm_VGtn.js} +4 -4
  100. package/build/server/chunks/{_server.ts-BPEwLxUz.js.map → _server.ts-Bdm_VGtn.js.map} +1 -1
  101. package/build/server/chunks/{_server.ts-ByNLf-MM.js → _server.ts-Bq8ND5Oh.js} +5 -5
  102. package/build/server/chunks/{_server.ts-ByNLf-MM.js.map → _server.ts-Bq8ND5Oh.js.map} +1 -1
  103. package/build/server/chunks/{_server.ts-B0cdV0wH.js → _server.ts-BuJ6W_mf.js} +5 -5
  104. package/build/server/chunks/{_server.ts-B0cdV0wH.js.map → _server.ts-BuJ6W_mf.js.map} +1 -1
  105. package/build/server/chunks/{_server.ts-CSZ5Wh6G.js → _server.ts-BuTe9ryE.js} +5 -5
  106. package/build/server/chunks/{_server.ts-CSZ5Wh6G.js.map → _server.ts-BuTe9ryE.js.map} +1 -1
  107. package/build/server/chunks/{_server.ts-CZ-DRZvp.js → _server.ts-BunMXQeI.js} +5 -5
  108. package/build/server/chunks/{_server.ts-CZ-DRZvp.js.map → _server.ts-BunMXQeI.js.map} +1 -1
  109. package/build/server/chunks/{_server.ts-DLN16A-H.js → _server.ts-Bw8lDyck.js} +5 -5
  110. package/build/server/chunks/{_server.ts-DLN16A-H.js.map → _server.ts-Bw8lDyck.js.map} +1 -1
  111. package/build/server/chunks/{_server.ts-CRzIDkX8.js → _server.ts-BxsJGFZK.js} +7 -7
  112. package/build/server/chunks/{_server.ts-CRzIDkX8.js.map → _server.ts-BxsJGFZK.js.map} +1 -1
  113. package/build/server/chunks/{_server.ts-CUuJlm00.js → _server.ts-ByBrQ5Y6.js} +6 -6
  114. package/build/server/chunks/{_server.ts-CUuJlm00.js.map → _server.ts-ByBrQ5Y6.js.map} +1 -1
  115. package/build/server/chunks/{_server.ts-BuvcU_rd.js → _server.ts-ByroAJUi.js} +5 -5
  116. package/build/server/chunks/{_server.ts-BuvcU_rd.js.map → _server.ts-ByroAJUi.js.map} +1 -1
  117. package/build/server/chunks/{_server.ts-BBHICsQa.js → _server.ts-BzV15PgX.js} +5 -5
  118. package/build/server/chunks/{_server.ts-BBHICsQa.js.map → _server.ts-BzV15PgX.js.map} +1 -1
  119. package/build/server/chunks/{_server.ts-BbXRF71R.js → _server.ts-C-g--9Gg.js} +2 -2
  120. package/build/server/chunks/{_server.ts-BbXRF71R.js.map → _server.ts-C-g--9Gg.js.map} +1 -1
  121. package/build/server/chunks/{_server.ts-DeYTt0bJ.js → _server.ts-C2VKk-KX.js} +5 -5
  122. package/build/server/chunks/{_server.ts-DeYTt0bJ.js.map → _server.ts-C2VKk-KX.js.map} +1 -1
  123. package/build/server/chunks/{_server.ts-BQSuiMBy.js → _server.ts-C42-AccD.js} +5 -5
  124. package/build/server/chunks/{_server.ts-BQSuiMBy.js.map → _server.ts-C42-AccD.js.map} +1 -1
  125. package/build/server/chunks/{_server.ts-BtzqRqdc.js → _server.ts-C7Ex_D8B.js} +2 -2
  126. package/build/server/chunks/{_server.ts-BtzqRqdc.js.map → _server.ts-C7Ex_D8B.js.map} +1 -1
  127. package/build/server/chunks/{_server.ts-Br8Q79vg.js → _server.ts-CFlIR5_R.js} +5 -5
  128. package/build/server/chunks/{_server.ts-Br8Q79vg.js.map → _server.ts-CFlIR5_R.js.map} +1 -1
  129. package/build/server/chunks/{_server.ts-bY2IL1Nj.js → _server.ts-CFrpxiGZ.js} +7 -7
  130. package/build/server/chunks/{_server.ts-bY2IL1Nj.js.map → _server.ts-CFrpxiGZ.js.map} +1 -1
  131. package/build/server/chunks/{_server.ts-Cf65eLqq.js → _server.ts-CHThYJQB.js} +5 -5
  132. package/build/server/chunks/{_server.ts-Cf65eLqq.js.map → _server.ts-CHThYJQB.js.map} +1 -1
  133. package/build/server/chunks/{_server.ts-DNnk_Zxf.js → _server.ts-CKSrrVUL.js} +5 -5
  134. package/build/server/chunks/{_server.ts-DNnk_Zxf.js.map → _server.ts-CKSrrVUL.js.map} +1 -1
  135. package/build/server/chunks/{_server.ts-DIot9Cws.js → _server.ts-CKadyTsk.js} +5 -5
  136. package/build/server/chunks/{_server.ts-DIot9Cws.js.map → _server.ts-CKadyTsk.js.map} +1 -1
  137. package/build/server/chunks/{_server.ts-BJPmYqJQ.js → _server.ts-CPmynNzY.js} +5 -5
  138. package/build/server/chunks/{_server.ts-BJPmYqJQ.js.map → _server.ts-CPmynNzY.js.map} +1 -1
  139. package/build/server/chunks/{_server.ts-BqNV9SKY.js → _server.ts-CQW7gjDf.js} +6 -6
  140. package/build/server/chunks/{_server.ts-BqNV9SKY.js.map → _server.ts-CQW7gjDf.js.map} +1 -1
  141. package/build/server/chunks/{_server.ts-Dxuqlt4R.js → _server.ts-CTp5qcyR.js} +5 -5
  142. package/build/server/chunks/{_server.ts-Dxuqlt4R.js.map → _server.ts-CTp5qcyR.js.map} +1 -1
  143. package/build/server/chunks/{_server.ts-CzJEYcNT.js → _server.ts-CUt3Up9E.js} +7 -7
  144. package/build/server/chunks/{_server.ts-CzJEYcNT.js.map → _server.ts-CUt3Up9E.js.map} +1 -1
  145. package/build/server/chunks/{_server.ts-BgZqc9BJ.js → _server.ts-CVprRsQb.js} +5 -5
  146. package/build/server/chunks/{_server.ts-BgZqc9BJ.js.map → _server.ts-CVprRsQb.js.map} +1 -1
  147. package/build/server/chunks/{_server.ts-CnP0tOCJ.js → _server.ts-CW-WAVda.js} +5 -5
  148. package/build/server/chunks/{_server.ts-CnP0tOCJ.js.map → _server.ts-CW-WAVda.js.map} +1 -1
  149. package/build/server/chunks/{_server.ts-CIoiPQyf.js → _server.ts-CWpAEoNn.js} +5 -5
  150. package/build/server/chunks/{_server.ts-CIoiPQyf.js.map → _server.ts-CWpAEoNn.js.map} +1 -1
  151. package/build/server/chunks/{_server.ts-70mUxM22.js → _server.ts-CXcMkPUf.js} +5 -5
  152. package/build/server/chunks/{_server.ts-70mUxM22.js.map → _server.ts-CXcMkPUf.js.map} +1 -1
  153. package/build/server/chunks/{_server.ts-D1AbREnq.js → _server.ts-CYa9_mki.js} +5 -5
  154. package/build/server/chunks/{_server.ts-D1AbREnq.js.map → _server.ts-CYa9_mki.js.map} +1 -1
  155. package/build/server/chunks/{_server.ts-Cv8ofBVh.js → _server.ts-Caue_RqZ.js} +7 -7
  156. package/build/server/chunks/{_server.ts-Cv8ofBVh.js.map → _server.ts-Caue_RqZ.js.map} +1 -1
  157. package/build/server/chunks/{_server.ts-plme8zrC.js → _server.ts-CdvP6CGZ.js} +5 -5
  158. package/build/server/chunks/{_server.ts-plme8zrC.js.map → _server.ts-CdvP6CGZ.js.map} +1 -1
  159. package/build/server/chunks/{_server.ts-Ba3Y8mZb.js → _server.ts-CfrCdif8.js} +5 -5
  160. package/build/server/chunks/{_server.ts-Ba3Y8mZb.js.map → _server.ts-CfrCdif8.js.map} +1 -1
  161. package/build/server/chunks/{_server.ts-B0f-lyzD.js → _server.ts-Cm_enlDi.js} +4 -4
  162. package/build/server/chunks/{_server.ts-B0f-lyzD.js.map → _server.ts-Cm_enlDi.js.map} +1 -1
  163. package/build/server/chunks/{_server.ts-DWWvdqIf.js → _server.ts-CouzNCKz.js} +5 -5
  164. package/build/server/chunks/{_server.ts-DWWvdqIf.js.map → _server.ts-CouzNCKz.js.map} +1 -1
  165. package/build/server/chunks/{_server.ts-UX21CkDV.js → _server.ts-CyexqJkH.js} +5 -5
  166. package/build/server/chunks/{_server.ts-UX21CkDV.js.map → _server.ts-CyexqJkH.js.map} +1 -1
  167. package/build/server/chunks/{_server.ts-FfM2gx8M.js → _server.ts-D1NRbF5f.js} +8 -8
  168. package/build/server/chunks/{_server.ts-FfM2gx8M.js.map → _server.ts-D1NRbF5f.js.map} +1 -1
  169. package/build/server/chunks/{_server.ts-44XLCjje.js → _server.ts-D1simxIo.js} +5 -5
  170. package/build/server/chunks/{_server.ts-44XLCjje.js.map → _server.ts-D1simxIo.js.map} +1 -1
  171. package/build/server/chunks/{_server.ts-Crjjd765.js → _server.ts-D3n3UlqH.js} +6 -6
  172. package/build/server/chunks/{_server.ts-Crjjd765.js.map → _server.ts-D3n3UlqH.js.map} +1 -1
  173. package/build/server/chunks/{_server.ts-DrOOY95Q.js → _server.ts-DBc63CPM.js} +5 -5
  174. package/build/server/chunks/{_server.ts-DrOOY95Q.js.map → _server.ts-DBc63CPM.js.map} +1 -1
  175. package/build/server/chunks/{_server.ts-2jjEL-tJ.js → _server.ts-DJf3mwHN.js} +5 -5
  176. package/build/server/chunks/{_server.ts-2jjEL-tJ.js.map → _server.ts-DJf3mwHN.js.map} +1 -1
  177. package/build/server/chunks/{_server.ts-DG6X2pCM.js → _server.ts-DRHawfUb.js} +6 -6
  178. package/build/server/chunks/{_server.ts-DG6X2pCM.js.map → _server.ts-DRHawfUb.js.map} +1 -1
  179. package/build/server/chunks/{_server.ts-CvjW0prw.js → _server.ts-DSUN7dh0.js} +44 -6
  180. package/build/server/chunks/_server.ts-DSUN7dh0.js.map +1 -0
  181. package/build/server/chunks/{_server.ts-5x4EV4ZH.js → _server.ts-DUTYyygP.js} +5 -5
  182. package/build/server/chunks/{_server.ts-5x4EV4ZH.js.map → _server.ts-DUTYyygP.js.map} +1 -1
  183. package/build/server/chunks/{_server.ts-BkgABCm4.js → _server.ts-DVKk_kcz.js} +5 -5
  184. package/build/server/chunks/{_server.ts-BkgABCm4.js.map → _server.ts-DVKk_kcz.js.map} +1 -1
  185. package/build/server/chunks/{_server.ts-C1P---qO.js → _server.ts-DXc9V6Yy.js} +5 -5
  186. package/build/server/chunks/{_server.ts-C1P---qO.js.map → _server.ts-DXc9V6Yy.js.map} +1 -1
  187. package/build/server/chunks/{_server.ts-sTPNb2pN.js → _server.ts-Dav1Stnj.js} +5 -5
  188. package/build/server/chunks/{_server.ts-sTPNb2pN.js.map → _server.ts-Dav1Stnj.js.map} +1 -1
  189. package/build/server/chunks/{_server.ts-FgmSApxO.js → _server.ts-Dbsv3Ci7.js} +5 -5
  190. package/build/server/chunks/{_server.ts-FgmSApxO.js.map → _server.ts-Dbsv3Ci7.js.map} +1 -1
  191. package/build/server/chunks/{_server.ts-BRzEk9EI.js → _server.ts-DiKDZ0HS.js} +5 -5
  192. package/build/server/chunks/{_server.ts-BRzEk9EI.js.map → _server.ts-DiKDZ0HS.js.map} +1 -1
  193. package/build/server/chunks/{_server.ts-DAyVdLae.js → _server.ts-DijfQhK8.js} +5 -5
  194. package/build/server/chunks/{_server.ts-DAyVdLae.js.map → _server.ts-DijfQhK8.js.map} +1 -1
  195. package/build/server/chunks/{_server.ts-DtH3KC6o.js → _server.ts-DmBvQEeV.js} +2 -2
  196. package/build/server/chunks/{_server.ts-DtH3KC6o.js.map → _server.ts-DmBvQEeV.js.map} +1 -1
  197. package/build/server/chunks/{_server.ts-DwkMC38U.js → _server.ts-DmOe2HJh.js} +5 -5
  198. package/build/server/chunks/{_server.ts-DwkMC38U.js.map → _server.ts-DmOe2HJh.js.map} +1 -1
  199. package/build/server/chunks/{_server.ts-BsCi8U0T.js → _server.ts-DnL0UyRc.js} +6 -6
  200. package/build/server/chunks/{_server.ts-BsCi8U0T.js.map → _server.ts-DnL0UyRc.js.map} +1 -1
  201. package/build/server/chunks/{_server.ts-BTw50Sge.js → _server.ts-DsStPFX0.js} +6 -6
  202. package/build/server/chunks/{_server.ts-BTw50Sge.js.map → _server.ts-DsStPFX0.js.map} +1 -1
  203. package/build/server/chunks/{_server.ts-jmKRuOrt.js → _server.ts-DtFYabA1.js} +6 -6
  204. package/build/server/chunks/{_server.ts-jmKRuOrt.js.map → _server.ts-DtFYabA1.js.map} +1 -1
  205. package/build/server/chunks/{_server.ts-CzxUP04Y.js → _server.ts-DwcZvtYU.js} +5 -5
  206. package/build/server/chunks/{_server.ts-CzxUP04Y.js.map → _server.ts-DwcZvtYU.js.map} +1 -1
  207. package/build/server/chunks/{_server.ts-nxWIvPny.js → _server.ts-DxF8q61U.js} +5 -5
  208. package/build/server/chunks/{_server.ts-nxWIvPny.js.map → _server.ts-DxF8q61U.js.map} +1 -1
  209. package/build/server/chunks/{_server.ts-DyCjXY9f.js → _server.ts-Dyk1dEET.js} +5 -5
  210. package/build/server/chunks/{_server.ts-DyCjXY9f.js.map → _server.ts-Dyk1dEET.js.map} +1 -1
  211. package/build/server/chunks/{_server.ts-CrJINkX_.js → _server.ts-EBwVJkuX.js} +5 -5
  212. package/build/server/chunks/{_server.ts-CrJINkX_.js.map → _server.ts-EBwVJkuX.js.map} +1 -1
  213. package/build/server/chunks/{_server.ts-D7Jx0nis.js → _server.ts-EP8qwgg8.js} +5 -5
  214. package/build/server/chunks/{_server.ts-D7Jx0nis.js.map → _server.ts-EP8qwgg8.js.map} +1 -1
  215. package/build/server/chunks/{_server.ts-CT1eXDu-.js → _server.ts-MDluDXBf.js} +5 -5
  216. package/build/server/chunks/{_server.ts-CT1eXDu-.js.map → _server.ts-MDluDXBf.js.map} +1 -1
  217. package/build/server/chunks/{_server.ts-Cc3N9css.js → _server.ts-N4ibpuMg.js} +5 -5
  218. package/build/server/chunks/{_server.ts-Cc3N9css.js.map → _server.ts-N4ibpuMg.js.map} +1 -1
  219. package/build/server/chunks/{_server.ts-C6_HX3EG.js → _server.ts-RQ1zchwo.js} +5 -5
  220. package/build/server/chunks/{_server.ts-C6_HX3EG.js.map → _server.ts-RQ1zchwo.js.map} +1 -1
  221. package/build/server/chunks/{_server.ts-B8ExhGgO.js → _server.ts-UwkkEEsr.js} +5 -5
  222. package/build/server/chunks/{_server.ts-B8ExhGgO.js.map → _server.ts-UwkkEEsr.js.map} +1 -1
  223. package/build/server/chunks/{_server.ts-DRtWVz82.js → _server.ts-VkPoCW8Q.js} +6 -6
  224. package/build/server/chunks/{_server.ts-DRtWVz82.js.map → _server.ts-VkPoCW8Q.js.map} +1 -1
  225. package/build/server/chunks/{_server.ts-BI0oEp2m.js → _server.ts-Vqv4-n76.js} +5 -5
  226. package/build/server/chunks/{_server.ts-BI0oEp2m.js.map → _server.ts-Vqv4-n76.js.map} +1 -1
  227. package/build/server/chunks/{_server.ts-Cg6XEPy2.js → _server.ts-WEsfFEY-.js} +6 -6
  228. package/build/server/chunks/{_server.ts-Cg6XEPy2.js.map → _server.ts-WEsfFEY-.js.map} +1 -1
  229. package/build/server/chunks/{_server.ts-2qYNEWJW.js → _server.ts-Ztbs-N53.js} +5 -5
  230. package/build/server/chunks/{_server.ts-2qYNEWJW.js.map → _server.ts-Ztbs-N53.js.map} +1 -1
  231. package/build/server/chunks/{_server.ts-t27XF1J7.js → _server.ts-fVD6Qik5.js} +2 -2
  232. package/build/server/chunks/{_server.ts-t27XF1J7.js.map → _server.ts-fVD6Qik5.js.map} +1 -1
  233. package/build/server/chunks/{_server.ts-D8cTdweQ.js → _server.ts-mVyYpXPC.js} +5 -5
  234. package/build/server/chunks/{_server.ts-D8cTdweQ.js.map → _server.ts-mVyYpXPC.js.map} +1 -1
  235. package/build/server/chunks/{_server.ts-BvYQG4dt.js → _server.ts-nLGk6lV7.js} +5 -5
  236. package/build/server/chunks/{_server.ts-BvYQG4dt.js.map → _server.ts-nLGk6lV7.js.map} +1 -1
  237. package/build/server/chunks/{_server.ts-DmJBOTT2.js → _server.ts-pPsJeTEc.js} +6 -6
  238. package/build/server/chunks/{_server.ts-DmJBOTT2.js.map → _server.ts-pPsJeTEc.js.map} +1 -1
  239. package/build/server/chunks/{_server.ts-B8l8YmXh.js → _server.ts-tvnmgRh5.js} +6 -6
  240. package/build/server/chunks/{_server.ts-B8l8YmXh.js.map → _server.ts-tvnmgRh5.js.map} +1 -1
  241. package/build/server/chunks/{_server.ts-DWLgZ0Yv.js → _server.ts-wg1JRkZE.js} +6 -6
  242. package/build/server/chunks/{_server.ts-DWLgZ0Yv.js.map → _server.ts-wg1JRkZE.js.map} +1 -1
  243. package/build/server/chunks/{addon-helpers-DY4O9SZB.js → addon-helpers-CtpybQ7q.js} +3 -3
  244. package/build/server/chunks/{addon-helpers-DY4O9SZB.js.map → addon-helpers-CtpybQ7q.js.map} +1 -1
  245. package/build/server/chunks/{akm-BSih7eOh.js → akm-CdohyHZ6.js} +2 -2
  246. package/build/server/chunks/{akm-BSih7eOh.js.map → akm-CdohyHZ6.js.map} +1 -1
  247. package/build/server/chunks/{catalog-DyHJ6nBW.js → catalog-BkNIwypd.js} +5 -5
  248. package/build/server/chunks/{catalog-DyHJ6nBW.js.map → catalog-BkNIwypd.js.map} +1 -1
  249. package/build/server/chunks/{client-CnOg1BpV.js → client-CfEvuIQy.js} +2 -2
  250. package/build/server/chunks/{client-CnOg1BpV.js.map → client-CfEvuIQy.js.map} +1 -1
  251. package/build/server/chunks/{config-BVnL1-S6.js → config-BzCwzBAj.js} +2 -2
  252. package/build/server/chunks/{config-BVnL1-S6.js.map → config-BzCwzBAj.js.map} +1 -1
  253. package/build/server/chunks/{docker-QQYBC8du.js → docker-BMrkOwF2.js} +2 -2
  254. package/build/server/chunks/{docker-QQYBC8du.js.map → docker-BMrkOwF2.js.map} +1 -1
  255. package/build/server/chunks/{endpoints-BOzm3TR9.js → endpoints-CyD0aj7q.js} +2 -2
  256. package/build/server/chunks/{endpoints-BOzm3TR9.js.map → endpoints-CyD0aj7q.js.map} +1 -1
  257. package/build/server/chunks/{environment-DevEAj_M.js → environment-_a-99ktv.js} +2 -2
  258. package/build/server/chunks/{environment-DevEAj_M.js.map → environment-_a-99ktv.js.map} +1 -1
  259. package/build/server/chunks/{error.svelte-OEdYqdGu.js → error.svelte-Bw_6b1i_.js} +4 -4
  260. package/build/server/chunks/{error.svelte-OEdYqdGu.js.map → error.svelte-Bw_6b1i_.js.map} +1 -1
  261. package/build/server/chunks/{helpers-lf-w8dFi.js → helpers-CMZjzheN.js} +3 -3
  262. package/build/server/chunks/{helpers-lf-w8dFi.js.map → helpers-CMZjzheN.js.map} +1 -1
  263. package/build/server/chunks/{hooks.server-yeur1GCR.js → hooks.server-B41hcHS5.js} +6 -6
  264. package/build/server/chunks/{hooks.server-yeur1GCR.js.map → hooks.server-B41hcHS5.js.map} +1 -1
  265. package/build/server/chunks/{http-Bv92EpMx.js → http-DjJQWp1M.js} +2 -2
  266. package/build/server/chunks/{http-Bv92EpMx.js.map → http-DjJQWp1M.js.map} +1 -1
  267. package/build/server/chunks/{internal-CQdgWpT6.js → internal-BBBb5yjy.js} +3 -3
  268. package/build/server/chunks/{internal-CQdgWpT6.js.map → internal-BBBb5yjy.js.map} +1 -1
  269. package/build/server/chunks/{session-cookie-DhA3swUc.js → session-cookie-CkOAhUjg.js} +2 -2
  270. package/build/server/chunks/{session-cookie-DhA3swUc.js.map → session-cookie-CkOAhUjg.js.map} +1 -1
  271. package/build/server/chunks/{setup-deploy-C0hLjImh.js → setup-deploy-BVt3AXY8.js} +2 -2
  272. package/build/server/chunks/{setup-deploy-C0hLjImh.js.map → setup-deploy-BVt3AXY8.js.map} +1 -1
  273. package/build/server/chunks/{src-B7oqi9q_.js → src-hV_EYNgm.js} +192 -109
  274. package/build/server/chunks/src-hV_EYNgm.js.map +1 -0
  275. package/build/server/chunks/{state-iFW46-kW.js → state-Dor40zYU.js} +2 -2
  276. package/build/server/chunks/{state-iFW46-kW.js.map → state-Dor40zYU.js.map} +1 -1
  277. package/build/server/chunks/{state2-DkQitSl6.js → state2-B6DgPWbw.js} +2 -2
  278. package/build/server/chunks/{state2-DkQitSl6.js.map → state2-B6DgPWbw.js.map} +1 -1
  279. package/build/server/index.js +2 -2
  280. package/build/server/manifest.js +92 -92
  281. package/build/server/manifest.js.map +1 -1
  282. package/package.json +2 -2
  283. package/build/client/_app/immutable/assets/4.4BLkUSeP.css +0 -1
  284. package/build/client/_app/immutable/assets/4.4BLkUSeP.css.br +0 -0
  285. package/build/client/_app/immutable/assets/4.4BLkUSeP.css.gz +0 -0
  286. package/build/client/_app/immutable/chunks/37oeDbOM.js.br +0 -0
  287. package/build/client/_app/immutable/chunks/37oeDbOM.js.gz +0 -0
  288. package/build/client/_app/immutable/chunks/BMMTxmQF.js.br +0 -0
  289. package/build/client/_app/immutable/chunks/BMMTxmQF.js.gz +0 -0
  290. package/build/client/_app/immutable/chunks/D7U2TZGX.js.br +0 -0
  291. package/build/client/_app/immutable/chunks/D7U2TZGX.js.gz +0 -0
  292. package/build/client/_app/immutable/chunks/DhPCzSpa.js.br +0 -0
  293. package/build/client/_app/immutable/chunks/DhPCzSpa.js.gz +0 -0
  294. package/build/client/_app/immutable/chunks/HlgKB0Yv.js +0 -1
  295. package/build/client/_app/immutable/chunks/HlgKB0Yv.js.br +0 -2
  296. package/build/client/_app/immutable/chunks/HlgKB0Yv.js.gz +0 -0
  297. package/build/client/_app/immutable/entry/app.D_h1885H.js.br +0 -0
  298. package/build/client/_app/immutable/entry/app.D_h1885H.js.gz +0 -0
  299. package/build/client/_app/immutable/entry/start.KkDWne9K.js +0 -1
  300. package/build/client/_app/immutable/entry/start.KkDWne9K.js.br +0 -0
  301. package/build/client/_app/immutable/entry/start.KkDWne9K.js.gz +0 -0
  302. package/build/client/_app/immutable/nodes/1.m2br4sx_.js.br +0 -0
  303. package/build/client/_app/immutable/nodes/1.m2br4sx_.js.gz +0 -0
  304. package/build/client/_app/immutable/nodes/4.C6POwnGO.js +0 -130
  305. package/build/client/_app/immutable/nodes/4.C6POwnGO.js.br +0 -0
  306. package/build/client/_app/immutable/nodes/4.C6POwnGO.js.gz +0 -0
  307. package/build/client/_app/immutable/nodes/5.BoZ0ezyr.js.br +0 -0
  308. package/build/client/_app/immutable/nodes/5.BoZ0ezyr.js.gz +0 -0
  309. package/build/client/_app/immutable/nodes/6.D3HpNODC.js.br +0 -0
  310. package/build/client/_app/immutable/nodes/6.D3HpNODC.js.gz +0 -0
  311. package/build/client/_app/immutable/nodes/7.Cldb-l42.js.br +0 -0
  312. package/build/client/_app/immutable/nodes/7.Cldb-l42.js.gz +0 -0
  313. package/build/client/_app/immutable/nodes/8.BWkb2W3i.js.br +0 -0
  314. package/build/client/_app/immutable/nodes/8.BWkb2W3i.js.gz +0 -0
  315. package/build/server/chunks/1-CvpyJciZ.js +0 -9
  316. package/build/server/chunks/4-CGNm9qY9.js +0 -9
  317. package/build/server/chunks/7-Bh7s1hZ3.js +0 -9
  318. package/build/server/chunks/_page.svelte-F2VqpLAW.js.map +0 -1
  319. package/build/server/chunks/_server.ts-BFfdVNpH.js.map +0 -1
  320. package/build/server/chunks/_server.ts-CvjW0prw.js.map +0 -1
  321. package/build/server/chunks/src-B7oqi9q_.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"session-cookie-DhA3swUc.js","sources":["../../../.svelte-kit/adapter-node/chunks/session-cookie.js"],"sourcesContent":["import { m as SESSION_TTL_SECONDS } from \"./helpers.js\";\n//#region src/lib/server/session-cookie.ts\n/**\n* Single source of truth for the `op_session` cookie's Set-Cookie attributes.\n*\n* Every issuer (login, session, setup/complete) and the sliding-renewal path in\n* hooks.server.ts builds the cookie through these helpers so the attributes can\n* never drift apart. Logout uses `clearSessionCookie()` with the SAME path so\n* the browser actually drops the cookie.\n*\n* Attribute rationale:\n* - HttpOnly — the cookie is the only credential the browser holds; XSS\n* must not be able to read it.\n* - SameSite=Lax — the cookie must ride along on top-level GET navigations\n* (typing the admin URL, following a bookmark) so a valid\n* session loads admin with no prompt. SameSite=Strict drops\n* the cookie on cross-site top-level GETs (e.g. opening the\n* console from a link in another app on the LAN), which\n* would force a needless re-prompt. State-mutating requests\n* are independently CSRF-guarded by the Origin check\n* (SEC-2) in hooks.server.ts, so Lax is safe here.\n* - Secure — set ONLY when the request arrived over HTTPS. LAN installs\n* are commonly plain HTTP; hardcoding Secure would make the\n* browser refuse to send the cookie and break login entirely\n* on those deployments. We honour `x-forwarded-proto` first\n* (reverse-proxy TLS termination) then the request URL.\n* - Path=/ — valid for the whole app; matched by the clear on logout.\n* - Max-Age — SESSION_TTL_SECONDS (14 days), in lockstep with the token expiry.\n*/\nvar SESSION_COOKIE_NAME = \"op_session\";\n/** True when the request reached us over HTTPS (direct or via TLS-terminating proxy). */\nfunction isSecureRequest(request) {\n\tconst forwarded = request.headers.get(\"x-forwarded-proto\");\n\tif (forwarded) return forwarded.split(\",\")[0].trim().toLowerCase() === \"https\";\n\ttry {\n\t\treturn new URL(request.url).protocol === \"https:\";\n\t} catch {\n\t\treturn false;\n\t}\n}\n/**\n* Build the `Set-Cookie` value that issues/renews the session cookie.\n* `secure` is derived from the request so LAN-over-HTTP installs still work.\n*/\nfunction sessionCookieHeader(token, request) {\n\tconst parts = [\n\t\t`${SESSION_COOKIE_NAME}=${token}`,\n\t\t\"HttpOnly\",\n\t\t\"SameSite=Lax\",\n\t\t\"Path=/\",\n\t\t`Max-Age=${SESSION_TTL_SECONDS}`\n\t];\n\tif (isSecureRequest(request)) parts.push(\"Secure\");\n\treturn parts.join(\"; \");\n}\n/**\n* Build the `Set-Cookie` value that clears the session cookie (logout).\n* Must mirror name/path/attributes of the issued cookie so the browser deletes it.\n*/\nfunction clearSessionCookieHeader(request) {\n\tconst parts = [\n\t\t`${SESSION_COOKIE_NAME}=`,\n\t\t\"HttpOnly\",\n\t\t\"SameSite=Lax\",\n\t\t\"Path=/\",\n\t\t\"Max-Age=0\"\n\t];\n\tif (isSecureRequest(request)) parts.push(\"Secure\");\n\treturn parts.join(\"; \");\n}\n//#endregion\nexport { clearSessionCookieHeader as n, sessionCookieHeader as r, SESSION_COOKIE_NAME as t };\n"],"names":[],"mappings":";;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,mBAAmB,GAAG;AAC1B;AACA,SAAS,eAAe,CAAC,OAAO,EAAE;AAClC,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;AAC3D,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO;AAC/E,CAAC,IAAI;AACL,EAAE,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,QAAQ;AACnD,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,KAAK;AACd,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE;AAC7C,CAAC,MAAM,KAAK,GAAG;AACf,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACnC,EAAE,UAAU;AACZ,EAAE,cAAc;AAChB,EAAE,QAAQ;AACV,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC;AACjC,EAAE;AACF,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;AACnD,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB;AACA;AACA;AACA;AACA;AACA,SAAS,wBAAwB,CAAC,OAAO,EAAE;AAC3C,CAAC,MAAM,KAAK,GAAG;AACf,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAC3B,EAAE,UAAU;AACZ,EAAE,cAAc;AAChB,EAAE,QAAQ;AACV,EAAE;AACF,EAAE;AACF,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;AACnD,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB;;;;"}
1
+ {"version":3,"file":"session-cookie-CkOAhUjg.js","sources":["../../../.svelte-kit/adapter-node/chunks/session-cookie.js"],"sourcesContent":["import { m as SESSION_TTL_SECONDS } from \"./helpers.js\";\n//#region src/lib/server/session-cookie.ts\n/**\n* Single source of truth for the `op_session` cookie's Set-Cookie attributes.\n*\n* Every issuer (login, session, setup/complete) and the sliding-renewal path in\n* hooks.server.ts builds the cookie through these helpers so the attributes can\n* never drift apart. Logout uses `clearSessionCookie()` with the SAME path so\n* the browser actually drops the cookie.\n*\n* Attribute rationale:\n* - HttpOnly — the cookie is the only credential the browser holds; XSS\n* must not be able to read it.\n* - SameSite=Lax — the cookie must ride along on top-level GET navigations\n* (typing the admin URL, following a bookmark) so a valid\n* session loads admin with no prompt. SameSite=Strict drops\n* the cookie on cross-site top-level GETs (e.g. opening the\n* console from a link in another app on the LAN), which\n* would force a needless re-prompt. State-mutating requests\n* are independently CSRF-guarded by the Origin check\n* (SEC-2) in hooks.server.ts, so Lax is safe here.\n* - Secure — set ONLY when the request arrived over HTTPS. LAN installs\n* are commonly plain HTTP; hardcoding Secure would make the\n* browser refuse to send the cookie and break login entirely\n* on those deployments. We honour `x-forwarded-proto` first\n* (reverse-proxy TLS termination) then the request URL.\n* - Path=/ — valid for the whole app; matched by the clear on logout.\n* - Max-Age — SESSION_TTL_SECONDS (14 days), in lockstep with the token expiry.\n*/\nvar SESSION_COOKIE_NAME = \"op_session\";\n/** True when the request reached us over HTTPS (direct or via TLS-terminating proxy). */\nfunction isSecureRequest(request) {\n\tconst forwarded = request.headers.get(\"x-forwarded-proto\");\n\tif (forwarded) return forwarded.split(\",\")[0].trim().toLowerCase() === \"https\";\n\ttry {\n\t\treturn new URL(request.url).protocol === \"https:\";\n\t} catch {\n\t\treturn false;\n\t}\n}\n/**\n* Build the `Set-Cookie` value that issues/renews the session cookie.\n* `secure` is derived from the request so LAN-over-HTTP installs still work.\n*/\nfunction sessionCookieHeader(token, request) {\n\tconst parts = [\n\t\t`${SESSION_COOKIE_NAME}=${token}`,\n\t\t\"HttpOnly\",\n\t\t\"SameSite=Lax\",\n\t\t\"Path=/\",\n\t\t`Max-Age=${SESSION_TTL_SECONDS}`\n\t];\n\tif (isSecureRequest(request)) parts.push(\"Secure\");\n\treturn parts.join(\"; \");\n}\n/**\n* Build the `Set-Cookie` value that clears the session cookie (logout).\n* Must mirror name/path/attributes of the issued cookie so the browser deletes it.\n*/\nfunction clearSessionCookieHeader(request) {\n\tconst parts = [\n\t\t`${SESSION_COOKIE_NAME}=`,\n\t\t\"HttpOnly\",\n\t\t\"SameSite=Lax\",\n\t\t\"Path=/\",\n\t\t\"Max-Age=0\"\n\t];\n\tif (isSecureRequest(request)) parts.push(\"Secure\");\n\treturn parts.join(\"; \");\n}\n//#endregion\nexport { clearSessionCookieHeader as n, sessionCookieHeader as r, SESSION_COOKIE_NAME as t };\n"],"names":[],"mappings":";;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,mBAAmB,GAAG;AAC1B;AACA,SAAS,eAAe,CAAC,OAAO,EAAE;AAClC,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;AAC3D,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO;AAC/E,CAAC,IAAI;AACL,EAAE,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,QAAQ;AACnD,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,KAAK;AACd,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE;AAC7C,CAAC,MAAM,KAAK,GAAG;AACf,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACnC,EAAE,UAAU;AACZ,EAAE,cAAc;AAChB,EAAE,QAAQ;AACV,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC;AACjC,EAAE;AACF,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;AACnD,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB;AACA;AACA;AACA;AACA;AACA,SAAS,wBAAwB,CAAC,OAAO,EAAE;AAC3C,CAAC,MAAM,KAAK,GAAG;AACf,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAC3B,EAAE,UAAU;AACZ,EAAE,cAAc;AAChB,EAAE,QAAQ;AACV,EAAE;AACF,EAAE;AACF,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;AACnD,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB;;;;"}
@@ -1,4 +1,4 @@
1
- import { j as backupSetupInputs, aR as runDeploy, aO as resolveDeployJournalPath, aj as isSetupComplete, aQ as resolveStackDir, az as readDeployJournal, ar as markSetupComplete } from './src-B7oqi9q_.js';
1
+ import { j as backupSetupInputs, aT as runDeploy, aP as resolveDeployJournalPath, ak as isSetupComplete, aS as resolveStackDir, aA as readDeployJournal, as as markSetupComplete } from './src-hV_EYNgm.js';
2
2
 
3
3
  //#region src/lib/server/setup-deploy.ts
4
4
  var _state = {
@@ -72,4 +72,4 @@ function prepareSetupRestorePoint(state) {
72
72
  }
73
73
 
74
74
  export { getDeployState as g, prepareSetupRestorePoint as p, resetDeployState as r, startDeploy as s };
75
- //# sourceMappingURL=setup-deploy-C0hLjImh.js.map
75
+ //# sourceMappingURL=setup-deploy-BVt3AXY8.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup-deploy-C0hLjImh.js","sources":["../../../.svelte-kit/adapter-node/chunks/setup-deploy.js"],"sourcesContent":["import { $t as resolveStackDir, A as readDeployJournal, M as runDeploy, O as backupSetupInputs, ft as isSetupComplete, j as resolveDeployJournalPath, k as markSetupComplete } from \"./src.js\";\n//#region src/lib/server/setup-deploy.ts\nvar _state = {\n\tdeploying: false,\n\tsetupComplete: false,\n\tdeployStatus: [],\n\tdeployError: null,\n\timageWarning: null,\n\tphase: \"writing-config\"\n};\nvar _deployPromise = null;\nfunction deployStateFromJournal(state) {\n\tconst journal = readDeployJournal(resolveDeployJournalPath(state));\n\treturn {\n\t\tdeploying: journal.deploying,\n\t\tinterrupted: journal.interrupted,\n\t\tsetupComplete: journal.setupComplete || isSetupComplete(resolveStackDir()),\n\t\tdeployStatus: journal.deployStatus,\n\t\tdeployError: journal.deployError,\n\t\timageWarning: journal.imageWarning,\n\t\tphase: journal.phase\n\t};\n}\nfunction getDeployState(state) {\n\tif (state) _state = deployStateFromJournal(state);\n\telse if (!_state.setupComplete && !_state.deploying && isSetupComplete(resolveStackDir())) _state.setupComplete = true;\n\treturn {\n\t\t..._state,\n\t\tdeployStatus: _state.deployStatus.map((entry) => ({ ...entry }))\n\t};\n}\nfunction resetDeployState() {\n\t_state = {\n\t\tdeploying: false,\n\t\tsetupComplete: false,\n\t\tdeployStatus: [],\n\t\tdeployError: null,\n\t\timageWarning: null,\n\t\tphase: \"writing-config\"\n\t};\n}\nfunction startDeploy(state) {\n\tif (_deployPromise) {\n\t\t_state.deployError = \"install_in_progress: A deploy is already running. Wait for it to finish.\";\n\t\treturn;\n\t}\n\t_deployPromise = (async () => {\n\t\tawait runDeploy(state, {\n\t\t\tjournalPath: resolveDeployJournalPath(state),\n\t\t\tonUpdate(progress) {\n\t\t\t\t_state = {\n\t\t\t\t\tdeploying: progress.deploying,\n\t\t\t\t\tinterrupted: progress.interrupted,\n\t\t\t\t\tsetupComplete: progress.setupComplete,\n\t\t\t\t\tdeployStatus: progress.deployStatus,\n\t\t\t\t\tdeployError: progress.deployError,\n\t\t\t\t\timageWarning: progress.imageWarning,\n\t\t\t\t\tphase: progress.phase\n\t\t\t\t};\n\t\t\t},\n\t\t\tmarkSetupComplete() {\n\t\t\t\tmarkSetupComplete(state);\n\t\t\t}\n\t\t});\n\t})().finally(() => {\n\t\t_deployPromise = null;\n\t});\n}\nfunction prepareSetupRestorePoint(state) {\n\treturn backupSetupInputs(state);\n}\n//#endregion\nexport { startDeploy as i, prepareSetupRestorePoint as n, resetDeployState as r, getDeployState as t };\n"],"names":[],"mappings":";;AACA;AACA,IAAI,MAAM,GAAG;AACb,CAAC,SAAS,EAAE,KAAK;AACjB,CAAC,aAAa,EAAE,KAAK;AACrB,CAAC,YAAY,EAAE,EAAE;AACjB,CAAC,WAAW,EAAE,IAAI;AAClB,CAAC,YAAY,EAAE,IAAI;AACnB,CAAC,KAAK,EAAE;AACR,CAAC;AACD,IAAI,cAAc,GAAG,IAAI;AACzB,SAAS,sBAAsB,CAAC,KAAK,EAAE;AACvC,CAAC,MAAM,OAAO,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC,OAAO;AACR,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS;AAC9B,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW;AAClC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC;AAC5E,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY;AACpC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW;AAClC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY;AACpC,EAAE,KAAK,EAAE,OAAO,CAAC;AACjB,EAAE;AACF;AACA,SAAS,cAAc,CAAC,KAAK,EAAE;AAC/B,CAAC,IAAI,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC;AAClD,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC,EAAE,MAAM,CAAC,aAAa,GAAG,IAAI;AACvH,CAAC,OAAO;AACR,EAAE,GAAG,MAAM;AACX,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;AACjE,EAAE;AACF;AACA,SAAS,gBAAgB,GAAG;AAC5B,CAAC,MAAM,GAAG;AACV,EAAE,SAAS,EAAE,KAAK;AAClB,EAAE,aAAa,EAAE,KAAK;AACtB,EAAE,YAAY,EAAE,EAAE;AAClB,EAAE,WAAW,EAAE,IAAI;AACnB,EAAE,YAAY,EAAE,IAAI;AACpB,EAAE,KAAK,EAAE;AACT,EAAE;AACF;AACA,SAAS,WAAW,CAAC,KAAK,EAAE;AAC5B,CAAC,IAAI,cAAc,EAAE;AACrB,EAAE,MAAM,CAAC,WAAW,GAAG,0EAA0E;AACjG,EAAE;AACF,CAAC;AACD,CAAC,cAAc,GAAG,CAAC,YAAY;AAC/B,EAAE,MAAM,SAAS,CAAC,KAAK,EAAE;AACzB,GAAG,WAAW,EAAE,wBAAwB,CAAC,KAAK,CAAC;AAC/C,GAAG,QAAQ,CAAC,QAAQ,EAAE;AACtB,IAAI,MAAM,GAAG;AACb,KAAK,SAAS,EAAE,QAAQ,CAAC,SAAS;AAClC,KAAK,WAAW,EAAE,QAAQ,CAAC,WAAW;AACtC,KAAK,aAAa,EAAE,QAAQ,CAAC,aAAa;AAC1C,KAAK,YAAY,EAAE,QAAQ,CAAC,YAAY;AACxC,KAAK,WAAW,EAAE,QAAQ,CAAC,WAAW;AACtC,KAAK,YAAY,EAAE,QAAQ,CAAC,YAAY;AACxC,KAAK,KAAK,EAAE,QAAQ,CAAC;AACrB,KAAK;AACL,GAAG,CAAC;AACJ,GAAG,iBAAiB,GAAG;AACvB,IAAI,iBAAiB,CAAC,KAAK,CAAC;AAC5B,GAAG;AACH,GAAG,CAAC;AACJ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM;AACpB,EAAE,cAAc,GAAG,IAAI;AACvB,CAAC,CAAC,CAAC;AACH;AACA,SAAS,wBAAwB,CAAC,KAAK,EAAE;AACzC,CAAC,OAAO,iBAAiB,CAAC,KAAK,CAAC;AAChC;;;;"}
1
+ {"version":3,"file":"setup-deploy-BVt3AXY8.js","sources":["../../../.svelte-kit/adapter-node/chunks/setup-deploy.js"],"sourcesContent":["import { $t as resolveStackDir, A as readDeployJournal, M as runDeploy, O as backupSetupInputs, ft as isSetupComplete, j as resolveDeployJournalPath, k as markSetupComplete } from \"./src.js\";\n//#region src/lib/server/setup-deploy.ts\nvar _state = {\n\tdeploying: false,\n\tsetupComplete: false,\n\tdeployStatus: [],\n\tdeployError: null,\n\timageWarning: null,\n\tphase: \"writing-config\"\n};\nvar _deployPromise = null;\nfunction deployStateFromJournal(state) {\n\tconst journal = readDeployJournal(resolveDeployJournalPath(state));\n\treturn {\n\t\tdeploying: journal.deploying,\n\t\tinterrupted: journal.interrupted,\n\t\tsetupComplete: journal.setupComplete || isSetupComplete(resolveStackDir()),\n\t\tdeployStatus: journal.deployStatus,\n\t\tdeployError: journal.deployError,\n\t\timageWarning: journal.imageWarning,\n\t\tphase: journal.phase\n\t};\n}\nfunction getDeployState(state) {\n\tif (state) _state = deployStateFromJournal(state);\n\telse if (!_state.setupComplete && !_state.deploying && isSetupComplete(resolveStackDir())) _state.setupComplete = true;\n\treturn {\n\t\t..._state,\n\t\tdeployStatus: _state.deployStatus.map((entry) => ({ ...entry }))\n\t};\n}\nfunction resetDeployState() {\n\t_state = {\n\t\tdeploying: false,\n\t\tsetupComplete: false,\n\t\tdeployStatus: [],\n\t\tdeployError: null,\n\t\timageWarning: null,\n\t\tphase: \"writing-config\"\n\t};\n}\nfunction startDeploy(state) {\n\tif (_deployPromise) {\n\t\t_state.deployError = \"install_in_progress: A deploy is already running. Wait for it to finish.\";\n\t\treturn;\n\t}\n\t_deployPromise = (async () => {\n\t\tawait runDeploy(state, {\n\t\t\tjournalPath: resolveDeployJournalPath(state),\n\t\t\tonUpdate(progress) {\n\t\t\t\t_state = {\n\t\t\t\t\tdeploying: progress.deploying,\n\t\t\t\t\tinterrupted: progress.interrupted,\n\t\t\t\t\tsetupComplete: progress.setupComplete,\n\t\t\t\t\tdeployStatus: progress.deployStatus,\n\t\t\t\t\tdeployError: progress.deployError,\n\t\t\t\t\timageWarning: progress.imageWarning,\n\t\t\t\t\tphase: progress.phase\n\t\t\t\t};\n\t\t\t},\n\t\t\tmarkSetupComplete() {\n\t\t\t\tmarkSetupComplete(state);\n\t\t\t}\n\t\t});\n\t})().finally(() => {\n\t\t_deployPromise = null;\n\t});\n}\nfunction prepareSetupRestorePoint(state) {\n\treturn backupSetupInputs(state);\n}\n//#endregion\nexport { startDeploy as i, prepareSetupRestorePoint as n, resetDeployState as r, getDeployState as t };\n"],"names":[],"mappings":";;AACA;AACA,IAAI,MAAM,GAAG;AACb,CAAC,SAAS,EAAE,KAAK;AACjB,CAAC,aAAa,EAAE,KAAK;AACrB,CAAC,YAAY,EAAE,EAAE;AACjB,CAAC,WAAW,EAAE,IAAI;AAClB,CAAC,YAAY,EAAE,IAAI;AACnB,CAAC,KAAK,EAAE;AACR,CAAC;AACD,IAAI,cAAc,GAAG,IAAI;AACzB,SAAS,sBAAsB,CAAC,KAAK,EAAE;AACvC,CAAC,MAAM,OAAO,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC,OAAO;AACR,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS;AAC9B,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW;AAClC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC;AAC5E,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY;AACpC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW;AAClC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY;AACpC,EAAE,KAAK,EAAE,OAAO,CAAC;AACjB,EAAE;AACF;AACA,SAAS,cAAc,CAAC,KAAK,EAAE;AAC/B,CAAC,IAAI,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC;AAClD,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC,EAAE,MAAM,CAAC,aAAa,GAAG,IAAI;AACvH,CAAC,OAAO;AACR,EAAE,GAAG,MAAM;AACX,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;AACjE,EAAE;AACF;AACA,SAAS,gBAAgB,GAAG;AAC5B,CAAC,MAAM,GAAG;AACV,EAAE,SAAS,EAAE,KAAK;AAClB,EAAE,aAAa,EAAE,KAAK;AACtB,EAAE,YAAY,EAAE,EAAE;AAClB,EAAE,WAAW,EAAE,IAAI;AACnB,EAAE,YAAY,EAAE,IAAI;AACpB,EAAE,KAAK,EAAE;AACT,EAAE;AACF;AACA,SAAS,WAAW,CAAC,KAAK,EAAE;AAC5B,CAAC,IAAI,cAAc,EAAE;AACrB,EAAE,MAAM,CAAC,WAAW,GAAG,0EAA0E;AACjG,EAAE;AACF,CAAC;AACD,CAAC,cAAc,GAAG,CAAC,YAAY;AAC/B,EAAE,MAAM,SAAS,CAAC,KAAK,EAAE;AACzB,GAAG,WAAW,EAAE,wBAAwB,CAAC,KAAK,CAAC;AAC/C,GAAG,QAAQ,CAAC,QAAQ,EAAE;AACtB,IAAI,MAAM,GAAG;AACb,KAAK,SAAS,EAAE,QAAQ,CAAC,SAAS;AAClC,KAAK,WAAW,EAAE,QAAQ,CAAC,WAAW;AACtC,KAAK,aAAa,EAAE,QAAQ,CAAC,aAAa;AAC1C,KAAK,YAAY,EAAE,QAAQ,CAAC,YAAY;AACxC,KAAK,WAAW,EAAE,QAAQ,CAAC,WAAW;AACtC,KAAK,YAAY,EAAE,QAAQ,CAAC,YAAY;AACxC,KAAK,KAAK,EAAE,QAAQ,CAAC;AACrB,KAAK;AACL,GAAG,CAAC;AACJ,GAAG,iBAAiB,GAAG;AACvB,IAAI,iBAAiB,CAAC,KAAK,CAAC;AAC5B,GAAG;AACH,GAAG,CAAC;AACJ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM;AACpB,EAAE,cAAc,GAAG,IAAI;AACvB,CAAC,CAAC,CAAC;AACH;AACA,SAAS,wBAAwB,CAAC,KAAK,EAAE;AACzC,CAAC,OAAO,iBAAiB,CAAC,KAAK,CAAC;AAChC;;;;"}
@@ -737,7 +737,7 @@ var import_main = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
737
737
  module.exports = DotenvModule;
738
738
  })))();
739
739
  var package_default = {
740
- version: "0.12.0-rc.3"};
740
+ version: "0.12.0-rc.5"};
741
741
  //#endregion
742
742
  //#region ../lib/src/control-plane/versioning.ts
743
743
  var SEMVER_RE = /^v?\d+\.\d+\.\d+(?:[-+].*)?$/;
@@ -946,6 +946,146 @@ function mergeEnvContent(content, updates, options = {}) {
946
946
  return lines.join("\n");
947
947
  }
948
948
  //#endregion
949
+ //#region ../lib/src/control-plane/addon-env-schemas.ts
950
+ /**
951
+ * Built-in addon env-config SCHEMAS — a LEAF module (no imports) so it can be
952
+ * shared by both `addons.ts` (which has a heavy import graph) and the migration
953
+ * harness without creating an import cycle (lifecycle → migrations → addons → …).
954
+ *
955
+ * Each schema is an env-file-shaped string: `KEY=default` lines annotated with
956
+ * `# @required` / `# @sensitive` comment lines directly above the key.
957
+ */
958
+ var BUILTIN_ADDON_ENV_SCHEMAS = {
959
+ api: `# API Gateway portal configuration
960
+ # ---
961
+ `,
962
+ chat: `# Web Chat portal configuration
963
+ # ---
964
+ `,
965
+ discord: `# Discord bot configuration
966
+ # ---
967
+
968
+ # Discord credentials
969
+ # ---
970
+
971
+ # Application ID from the Discord Developer Portal.
972
+ # https://discord.com/developers/applications
973
+ # @required
974
+ DISCORD_APPLICATION_ID=
975
+
976
+ # Bot token from the Discord Developer Portal (Bot → Token).
977
+ # @required @sensitive
978
+ DISCORD_BOT_TOKEN=
979
+
980
+ # ---
981
+ # Access control
982
+ # ---
983
+
984
+ # Comma-separated allowed guild (server) IDs. Empty = all joined guilds.
985
+ DISCORD_ALLOWED_GUILDS=
986
+
987
+ # Comma-separated allowed role IDs.
988
+ DISCORD_ALLOWED_ROLES=
989
+
990
+ # Comma-separated allowed user IDs.
991
+ DISCORD_ALLOWED_USERS=
992
+
993
+ # Comma-separated blocked user IDs (denied even if otherwise allowed).
994
+ DISCORD_BLOCKED_USERS=
995
+
996
+ # ---
997
+ # Behavior
998
+ # ---
999
+
1000
+ # Register slash commands on startup.
1001
+ DISCORD_REGISTER_COMMANDS=true
1002
+
1003
+ # Hours before a conversation thread expires.
1004
+ DISCORD_THREAD_TTL_HOURS=24
1005
+
1006
+ # Milliseconds to wait before forwarding a message (0 = immediate).
1007
+ DISCORD_FORWARD_TIMEOUT_MS=0
1008
+ `,
1009
+ slack: `# Slack bot configuration
1010
+ # ---
1011
+
1012
+ # Slack credentials
1013
+ # ---
1014
+
1015
+ # Bot User OAuth Token (OAuth & Permissions → Bot User OAuth Token).
1016
+ # @required @sensitive
1017
+ SLACK_BOT_TOKEN=
1018
+
1019
+ # App-Level Token with connections:write (Basic Information → App-Level Tokens).
1020
+ # @required @sensitive
1021
+ SLACK_APP_TOKEN=
1022
+
1023
+ # ---
1024
+ # Access control
1025
+ # ---
1026
+
1027
+ # Comma-separated allowed channel IDs. Empty = all channels the bot is in.
1028
+ SLACK_ALLOWED_CHANNELS=
1029
+
1030
+ # Comma-separated allowed user IDs.
1031
+ SLACK_ALLOWED_USERS=
1032
+
1033
+ # Comma-separated blocked user IDs.
1034
+ SLACK_BLOCKED_USERS=
1035
+
1036
+ `,
1037
+ gateway: "",
1038
+ ollama: "",
1039
+ voice: `# OpenPalm Voice (Kokoro TTS + Whisper STT) configuration
1040
+ # ---
1041
+ # Local inference server — no upstream API or key. Values are optional; the
1042
+ # compose overlay supplies safe defaults.
1043
+
1044
+ # faster-whisper model id. Default base.en is baked into the image.
1045
+ # @required
1046
+ OP_VOICE_WHISPER_MODEL=base.en
1047
+
1048
+ # Default Kokoro voice id (54 bundled voices, e.g. af_heart, am_michael).
1049
+ OP_VOICE_KOKORO_VOICE=bf_isabella
1050
+
1051
+ # Python logging level: debug, info, warning, error.
1052
+ OP_VOICE_LOG_LEVEL=info
1053
+ `
1054
+ };
1055
+ /**
1056
+ * The set of NON-sensitive addon env keys declared in BUILTIN_ADDON_ENV_SCHEMAS
1057
+ * — a `KEY=` line whose annotation comment block does NOT carry `@sensitive`.
1058
+ *
1059
+ * This is the ALLOWLIST for the C4 `knowledge/secrets/` → `stack.env` migration:
1060
+ * it must only ever promote real, declared, non-sensitive addon config. The
1061
+ * secrets dir is a GENERAL secret store (ssh keys, github/OAuth creds, akm
1062
+ * secrets, per-portal verification secrets) — a file must never be copied into
1063
+ * the non-secret stack.env just because its name lacks a `_TOKEN/_SECRET/...`
1064
+ * suffix.
1065
+ */
1066
+ function nonSensitiveAddonEnvKeys() {
1067
+ const keys = /* @__PURE__ */ new Set();
1068
+ const KEY_RE = /^([A-Z][A-Z0-9_]*)=/;
1069
+ for (const schema of Object.values(BUILTIN_ADDON_ENV_SCHEMAS)) {
1070
+ let sensitive = false;
1071
+ for (const raw of schema.split("\n")) {
1072
+ const trimmed = raw.trim();
1073
+ if (trimmed.startsWith("#")) {
1074
+ if (/@sensitive\b/.test(trimmed)) sensitive = true;
1075
+ continue;
1076
+ }
1077
+ const m = raw.match(KEY_RE);
1078
+ if (m) {
1079
+ if (!sensitive) keys.add(m[1]);
1080
+ sensitive = false;
1081
+ continue;
1082
+ }
1083
+ if (trimmed === "") sensitive = false;
1084
+ }
1085
+ }
1086
+ return keys;
1087
+ }
1088
+ //#endregion
949
1089
  //#region ../lib/src/control-plane/image-tags.ts
950
1090
  var PLATFORM_IMAGE_TAG_KEYS = [
951
1091
  "OP_ASSISTANT_IMAGE_TAG",
@@ -1010,8 +1150,11 @@ function buildPlatformImageTagEnv(tag, perImage, pinnedImages = []) {
1010
1150
  * - Otherwise: acquire the install lock, take a FULL-HOME backup first, and
1011
1151
  * abort the whole upgrade if the backup fails (never migrate without a
1012
1152
  * verified safety copy).
1013
- * - Migrations are COPY-ONLY / additive (never delete the old layout), so a
1014
- * mid-run failure leaves the home fully recoverable.
1153
+ * - Migrations are additive for USER data (never delete/overwrite user files;
1154
+ * relocate, don't drop). They MAY remove SYSTEM-managed inert files (e.g. a
1155
+ * compose overlay the control plane no longer loads) via an explicit
1156
+ * allowlist — but only because the FULL-HOME backup above runs first, so the
1157
+ * home stays fully recoverable. Never a heuristic sweep, never user data.
1015
1158
  * - The OP_LAYOUT_VERSION bump is the LAST step (the commit point); a crash
1016
1159
  * before it just re-runs next time (idempotent).
1017
1160
  * - On failure, throw MigrationError carrying the backup path + recovery
@@ -1089,7 +1232,7 @@ function readLayoutVersion(ctx) {
1089
1232
  if (m) return Number(m[1]);
1090
1233
  }
1091
1234
  if (existsSync(join(ctx.homeDir, "vault"))) return 0;
1092
- return 1;
1235
+ return 2;
1093
1236
  }
1094
1237
  function readStampedLayoutVersion(stashDir) {
1095
1238
  const raw = readStackEnvValue(stashDir, LAYOUT_VERSION_KEY);
@@ -1203,9 +1346,11 @@ function migrateAddonConfigToStackEnv(ctx) {
1203
1346
  if (!existsSync(secretsDir)) return;
1204
1347
  const stackContent = readFileSync(envPath, "utf-8");
1205
1348
  const additions = {};
1349
+ const allowedKeys = nonSensitiveAddonEnvKeys();
1206
1350
  for (const filename of readdirSync(secretsDir)) {
1207
1351
  if (filename.includes(".") || filename.includes("/")) continue;
1208
1352
  const envKey = filename.toUpperCase();
1353
+ if (!allowedKeys.has(envKey)) continue;
1209
1354
  if (ADDON_SENSITIVE_KEY_RE.test(envKey)) continue;
1210
1355
  if (new RegExp(`^${envKey}=`, "m").test(stackContent)) {
1211
1356
  ctx.log(`skip (exists in stack.env): ${envKey}`);
@@ -1453,6 +1598,32 @@ function readLegacyStackYmlAddons(ctx) {
1453
1598
  }
1454
1599
  return [];
1455
1600
  }
1601
+ /**
1602
+ * SYSTEM-managed files the 0.12.0 control plane no longer materializes or reads.
1603
+ * Removed so OP_HOME holds only the current managed asset set. This is an explicit
1604
+ * ALLOWLIST of system files — NEVER user data, NEVER a heuristic sweep:
1605
+ * - config/stack/channels.compose.yml — renamed to portals.compose.yml in 0.12.0;
1606
+ * the control plane loads an explicit overlay list (not a glob), so it is inert.
1607
+ * - config/stack/stack.yml — the StackSpec was removed in 0.11.0 (addons live in
1608
+ * OP_ENABLED_ADDONS; the 0→1 migration already extracts any legacy addons[]).
1609
+ * Removal is safe because the layout-migration path takes a FULL OP_HOME backup
1610
+ * first and aborts if it fails (see ensureMigrated), so a stamped layout bump is
1611
+ * always recoverable. User data is never removed; if a future inert path actually
1612
+ * holds user data it must be MOVED to its proper location here, not deleted.
1613
+ */
1614
+ var INERT_LAYOUT_V2_FILES = [join("config", "stack", "channels.compose.yml"), join("config", "stack", "stack.yml")];
1615
+ function migrate1to2(ctx) {
1616
+ for (const rel of INERT_LAYOUT_V2_FILES) {
1617
+ const full = join(ctx.homeDir, rel);
1618
+ if (!existsSync(full)) continue;
1619
+ if (ctx.dryRun) {
1620
+ ctx.log(`[dry-run] remove inert system file: ${rel}`);
1621
+ continue;
1622
+ }
1623
+ rmSync(full, { force: true });
1624
+ ctx.log(`removed inert pre-0.12.0 system file: ${rel}`);
1625
+ }
1626
+ }
1456
1627
  var MIGRATIONS = [{
1457
1628
  from: 0,
1458
1629
  to: 1,
@@ -1462,6 +1633,15 @@ var MIGRATIONS = [{
1462
1633
  if (ctx.dryRun) return;
1463
1634
  if (!existsSync(stackEnvFile(ctx.stashDir))) throw new Error("post-migration check failed: knowledge/env/stack.env is missing");
1464
1635
  }
1636
+ }, {
1637
+ from: 1,
1638
+ to: 2,
1639
+ describe: "drop inert pre-0.12.0 system files (channels.compose.yml, stack.yml)",
1640
+ apply: migrate1to2,
1641
+ verify(ctx) {
1642
+ if (ctx.dryRun) return;
1643
+ for (const rel of INERT_LAYOUT_V2_FILES) if (existsSync(join(ctx.homeDir, rel))) throw new Error(`post-migration check failed: inert ${rel} still present`);
1644
+ }
1465
1645
  }];
1466
1646
  var RELEASE_MIGRATIONS = [
1467
1647
  {
@@ -1548,7 +1728,7 @@ function ensureMigrated(opts = {}) {
1548
1728
  const layoutStamp = readStampedLayoutVersion(ctxBase.stashDir);
1549
1729
  const releaseTargetRaw = releaseStamp ?? readImageTag(ctxBase.stashDir);
1550
1730
  const comparableReleaseTarget = resolveComparableReleaseTarget(releaseTargetRaw);
1551
- const needsLayoutStamp = layoutStamp !== 1;
1731
+ const needsLayoutStamp = layoutStamp !== 2;
1552
1732
  const needsReleaseStamp = comparableReleaseTarget !== null && releaseStamp !== comparableReleaseTarget;
1553
1733
  const empty = {
1554
1734
  migrated: false,
@@ -1561,11 +1741,11 @@ function ensureMigrated(opts = {}) {
1561
1741
  releaseTo: comparableReleaseTarget ?? releaseFrom ?? "",
1562
1742
  releaseApplied: []
1563
1743
  };
1564
- const pending = MIGRATIONS.filter((m) => m.from >= from && m.from < 1).sort((a, b) => a.from - b.from);
1744
+ const pending = MIGRATIONS.filter((m) => m.from >= from && m.from < 2).sort((a, b) => a.from - b.from);
1565
1745
  const pendingRelease = comparableReleaseTarget ? selectPendingReleaseMigrations(releaseFrom, comparableReleaseTarget) : [];
1566
1746
  if (pending.length === 0 && pendingRelease.length === 0 && !needsLayoutStamp && !needsReleaseStamp) return {
1567
1747
  ...empty,
1568
- to: 1
1748
+ to: 2
1569
1749
  };
1570
1750
  let lock = null;
1571
1751
  let backupDir = null;
@@ -1607,13 +1787,13 @@ function ensureMigrated(opts = {}) {
1607
1787
  }, releaseFrom, releaseTargetRaw);
1608
1788
  if (!dryRun && releaseTargetRaw && comparableReleaseTarget === null) logSkippedNonComparableReleaseStamp(log, notes, releaseTargetRaw);
1609
1789
  if (!dryRun) {
1610
- stampLayoutVersion(ctxBase.stashDir, 1);
1790
+ stampLayoutVersion(ctxBase.stashDir, 2);
1611
1791
  if (comparableReleaseTarget) stampReleaseVersion(ctxBase.stashDir, comparableReleaseTarget);
1612
1792
  }
1613
1793
  return {
1614
1794
  migrated: true,
1615
1795
  from,
1616
- to: 1,
1796
+ to: 2,
1617
1797
  applied,
1618
1798
  backupDir,
1619
1799
  notes,
@@ -5657,7 +5837,7 @@ function generateFallbackSystemEnv(state) {
5657
5837
  ...Object.entries(buildPlatformImageTagEnv(DEFAULT_IMAGE_TAG)).map(([key, value]) => `${key}=${value}`),
5658
5838
  "",
5659
5839
  "# ── Layout (on-disk schema version; managed by the migration harness) ──",
5660
- `OP_LAYOUT_VERSION=1`,
5840
+ `OP_LAYOUT_VERSION=2`,
5661
5841
  "",
5662
5842
  "# ── Enabled addons (comma-separated; managed via the Add-ons UI / CLI) ──",
5663
5843
  "OP_ENABLED_ADDONS=",
@@ -5853,103 +6033,6 @@ var BUILTIN_ADDONS = [
5853
6033
  "ssh",
5854
6034
  "voice"
5855
6035
  ];
5856
- var BUILTIN_ADDON_ENV_SCHEMAS = {
5857
- api: `# API Gateway portal configuration
5858
- # ---
5859
- `,
5860
- chat: `# Web Chat portal configuration
5861
- # ---
5862
- `,
5863
- discord: `# Discord bot configuration
5864
- # ---
5865
-
5866
- # Discord credentials
5867
- # ---
5868
-
5869
- # Application ID from the Discord Developer Portal.
5870
- # https://discord.com/developers/applications
5871
- # @required
5872
- DISCORD_APPLICATION_ID=
5873
-
5874
- # Bot token from the Discord Developer Portal (Bot → Token).
5875
- # @required @sensitive
5876
- DISCORD_BOT_TOKEN=
5877
-
5878
- # ---
5879
- # Access control
5880
- # ---
5881
-
5882
- # Comma-separated allowed guild (server) IDs. Empty = all joined guilds.
5883
- DISCORD_ALLOWED_GUILDS=
5884
-
5885
- # Comma-separated allowed role IDs.
5886
- DISCORD_ALLOWED_ROLES=
5887
-
5888
- # Comma-separated allowed user IDs.
5889
- DISCORD_ALLOWED_USERS=
5890
-
5891
- # Comma-separated blocked user IDs (denied even if otherwise allowed).
5892
- DISCORD_BLOCKED_USERS=
5893
-
5894
- # ---
5895
- # Behavior
5896
- # ---
5897
-
5898
- # Register slash commands on startup.
5899
- DISCORD_REGISTER_COMMANDS=true
5900
-
5901
- # Hours before a conversation thread expires.
5902
- DISCORD_THREAD_TTL_HOURS=24
5903
-
5904
- # Milliseconds to wait before forwarding a message (0 = immediate).
5905
- DISCORD_FORWARD_TIMEOUT_MS=0
5906
- `,
5907
- slack: `# Slack bot configuration
5908
- # ---
5909
-
5910
- # Slack credentials
5911
- # ---
5912
-
5913
- # Bot User OAuth Token (OAuth & Permissions → Bot User OAuth Token).
5914
- # @required @sensitive
5915
- SLACK_BOT_TOKEN=
5916
-
5917
- # App-Level Token with connections:write (Basic Information → App-Level Tokens).
5918
- # @required @sensitive
5919
- SLACK_APP_TOKEN=
5920
-
5921
- # ---
5922
- # Access control
5923
- # ---
5924
-
5925
- # Comma-separated allowed channel IDs. Empty = all channels the bot is in.
5926
- SLACK_ALLOWED_CHANNELS=
5927
-
5928
- # Comma-separated allowed user IDs.
5929
- SLACK_ALLOWED_USERS=
5930
-
5931
- # Comma-separated blocked user IDs.
5932
- SLACK_BLOCKED_USERS=
5933
-
5934
- `,
5935
- gateway: "",
5936
- ollama: "",
5937
- voice: `# OpenPalm Voice (Kokoro TTS + Whisper STT) configuration
5938
- # ---
5939
- # Local inference server — no upstream API or key. Values are optional; the
5940
- # compose overlay supplies safe defaults.
5941
-
5942
- # faster-whisper model id. Default base.en is baked into the image.
5943
- # @required
5944
- OP_VOICE_WHISPER_MODEL=base.en
5945
-
5946
- # Default Kokoro voice id (54 bundled voices, e.g. af_heart, am_michael).
5947
- OP_VOICE_KOKORO_VOICE=bf_isabella
5948
-
5949
- # Python logging level: debug, info, warning, error.
5950
- OP_VOICE_LOG_LEVEL=info
5951
- `
5952
- };
5953
6036
  function getRegistryAutomation(name) {
5954
6037
  if (!VALID_NAME_RE.test(name)) return null;
5955
6038
  const localOpenpalmDir = resolveLocalOpenpalmDir();
@@ -10192,5 +10275,5 @@ function collectBindAddressWarnings(env) {
10192
10275
  return warnings;
10193
10276
  }
10194
10277
 
10195
- export { ensureReleaseMigrated as $, AKM_USER_ENV_REF as A, composeStats as B, CORE_SERVICES as C, DowngradeConfirmationRequired as D, composeStop as E, composeUp as F, createLogger as G, createOpenCodeClient as H, INSTALL_LOCK_STALE_AFTER_MS as I, createState as J, deleteUserEnvKey as K, deriveLaunchStatus as L, MigrationError as M, deriveLocalStackState as N, detectGpu as O, PLATFORM_VERSION as P, detectHostOpenCode as Q, detectLocalProviders as R, detectRuntime as S, disableHostAkmSharing as T, dismissSecretStripNotice as U, enableHostAkmSharing as V, ensureAkmUserEnv as W, ensureHomeDirs as X, ensureMigrated as Y, ensureOpenCodeConfig as Z, ensureOpenCodeSystemConfig as _, addonProfileId as a, writeRuntimeFiles as a$, ensureSecrets as a0, executeAutomation as a1, fetchProviderModels as a2, formatForDisplay as a3, getAddonProfileAvailability as a4, getAddonProfileSelection as a5, getAddonProfiles as a6, getAddonServiceNames as a7, getAkmStats as a8, getDockerEvents as a9, readSecret as aA, readSecretFile as aB, readSecretStripNotice as aC, readStackEnv as aD, readStackRuntimeEnv as aE, readStackSecretEnv as aF, readTaskFile as aG, readUserEnvFile as aH, recommendSetup as aI, removeSecretFile as aJ, removeTaskFile as aK, resolveComposeProjectName as aL, resolveDataDir as aM, resolveDefaultMigrateTarget as aN, resolveDeployJournalPath as aO, resolveRuntimeFiles as aP, resolveStackDir as aQ, runDeploy as aR, seedUiBuild as aS, setAddonEnabled as aT, setAddonProfileSelection as aU, summarizeBackups as aV, summarizeComposeStderr as aW, unlockInstallLock as aX, useExistingProviderForAssistantCli as aY, validateProposedState as aZ, writeFileAtomic as a_, getHostAkmSharingStatus as aa, getRegistryAddonConfig as ab, hostAkmStashPath as ac, importHostOpenCode as ad, initializeStateSecrets as ae, inspectInstallLock as af, isAllowedService as ag, isComparableSemver as ah, isHostAkmAvailable as ai, isSetupComplete as aj, listAssistantCliTools as ak, listAvailableAddonIds as al, listBackupDirs as am, listEnabledAddonIds as an, listSecretFiles as ao, loadAutomations as ap, mapDockerError as aq, markSetupComplete as ar, parseComposeStderr as as, parseEnvFile as at, patchSecretsEnvFile as au, performSetup as av, performUpgrade as aw, pruneBackupDirs as ax, readAutomationLogs as ay, readDeployJournal as az, annotateAddonProfileAvailability as b, writeSecretFile as b0, writeStackSecretEnv as b1, writeTaskFile as b2, writeUserEnvKey as b3, writeVoiceVars as b4, applyInstall as c, applyTagChange as d, applyUninstall as e, applyUpdate as f, assertSafeSecretFilename as g, assertSafeTaskFilename as h, authJsonPath as i, backupSetupInputs as j, buildAkmEndpoint as k, buildAkmEnv as l, buildComposeOptions as m, buildManagedServices as n, checkDocker as o, checkDockerCompose as p, classifyLocalInstall as q, collectBindAddressWarnings as r, compareComparableVersions as s, composeDown as t, composeLogs as u, composePreflight as v, composePs as w, composePull as x, composeRestart as y, composeStart as z };
10196
- //# sourceMappingURL=src-B7oqi9q_.js.map
10278
+ export { ensureReleaseMigrated as $, AKM_USER_ENV_REF as A, composeStats as B, CORE_SERVICES as C, DowngradeConfirmationRequired as D, composeStop as E, composeUp as F, createLogger as G, createOpenCodeClient as H, INSTALL_LOCK_STALE_AFTER_MS as I, createState as J, deleteUserEnvKey as K, deriveLaunchStatus as L, MigrationError as M, deriveLocalStackState as N, detectGpu as O, PLATFORM_VERSION as P, detectHostOpenCode as Q, detectLocalProviders as R, detectRuntime as S, disableHostAkmSharing as T, dismissSecretStripNotice as U, enableHostAkmSharing as V, ensureAkmUserEnv as W, ensureHomeDirs as X, ensureMigrated as Y, ensureOpenCodeConfig as Z, ensureOpenCodeSystemConfig as _, addonProfileId as a, validateProposedState as a$, ensureSecrets as a0, executeAutomation as a1, fetchProviderModels as a2, formatForDisplay as a3, getAddonProfileAvailability as a4, getAddonProfileSelection as a5, getAddonProfiles as a6, getAddonServiceNames as a7, getAkmStats as a8, getDockerEvents as a9, readDeployJournal as aA, readSecret as aB, readSecretFile as aC, readSecretStripNotice as aD, readStackEnv as aE, readStackRuntimeEnv as aF, readStackSecretEnv as aG, readTaskFile as aH, readUserEnvFile as aI, recommendSetup as aJ, removeSecretFile as aK, removeTaskFile as aL, resolveComposeProjectName as aM, resolveDataDir as aN, resolveDefaultMigrateTarget as aO, resolveDeployJournalPath as aP, resolveEffectivePlatformImageTag as aQ, resolveRuntimeFiles as aR, resolveStackDir as aS, runDeploy as aT, seedUiBuild as aU, setAddonEnabled as aV, setAddonProfileSelection as aW, summarizeBackups as aX, summarizeComposeStderr as aY, unlockInstallLock as aZ, useExistingProviderForAssistantCli as a_, getHostAkmSharingStatus as aa, getRegistryAddonConfig as ab, hostAkmStashPath as ac, importHostOpenCode as ad, initializeStateSecrets as ae, inspectInstallLock as af, isAllowedService as ag, isComparableSemver as ah, isHostAkmAvailable as ai, isPrerelease as aj, isSetupComplete as ak, listAssistantCliTools as al, listAvailableAddonIds as am, listBackupDirs as an, listEnabledAddonIds as ao, listSecretFiles as ap, loadAutomations as aq, mapDockerError as ar, markSetupComplete as as, parseComposeStderr as at, parseEnvFile as au, patchSecretsEnvFile as av, performSetup as aw, performUpgrade as ax, pruneBackupDirs as ay, readAutomationLogs as az, annotateAddonProfileAvailability as b, writeFileAtomic as b0, writeRuntimeFiles as b1, writeSecretFile as b2, writeStackSecretEnv as b3, writeTaskFile as b4, writeUserEnvKey as b5, writeVoiceVars as b6, applyInstall as c, applyTagChange as d, applyUninstall as e, applyUpdate as f, assertSafeSecretFilename as g, assertSafeTaskFilename as h, authJsonPath as i, backupSetupInputs as j, buildAkmEndpoint as k, buildAkmEnv as l, buildComposeOptions as m, buildManagedServices as n, checkDocker as o, checkDockerCompose as p, classifyLocalInstall as q, collectBindAddressWarnings as r, compareComparableVersions as s, composeDown as t, composeLogs as u, composePreflight as v, composePs as w, composePull as x, composeRestart as y, composeStart as z };
10279
+ //# sourceMappingURL=src-hV_EYNgm.js.map