@openpalm/ui 0.11.0-rc.13 → 0.11.0-rc.15

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 (150) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/0.DeOb0ZUu.css +1 -0
  3. package/build/client/_app/immutable/assets/0.DeOb0ZUu.css.br +0 -0
  4. package/build/client/_app/immutable/assets/0.DeOb0ZUu.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/4.Cztzqv5R.css +1 -0
  6. package/build/client/_app/immutable/assets/4.Cztzqv5R.css.br +0 -0
  7. package/build/client/_app/immutable/assets/4.Cztzqv5R.css.gz +0 -0
  8. package/build/client/_app/immutable/assets/6.Dr3r8AEl.css +1 -0
  9. package/build/client/_app/immutable/assets/6.Dr3r8AEl.css.br +0 -0
  10. package/build/client/_app/immutable/assets/6.Dr3r8AEl.css.gz +0 -0
  11. package/build/client/_app/immutable/assets/7.uKZKJ3Jz.css +1 -0
  12. package/build/client/_app/immutable/assets/7.uKZKJ3Jz.css.br +0 -0
  13. package/build/client/_app/immutable/assets/7.uKZKJ3Jz.css.gz +0 -0
  14. package/build/client/_app/immutable/assets/AuthGate.CnhepjAm.css +1 -0
  15. package/build/client/_app/immutable/assets/AuthGate.CnhepjAm.css.br +0 -0
  16. package/build/client/_app/immutable/assets/AuthGate.CnhepjAm.css.gz +0 -0
  17. package/build/client/_app/immutable/chunks/Bruy7wK6.js +5 -0
  18. package/build/client/_app/immutable/chunks/Bruy7wK6.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/Bruy7wK6.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/C7kefBvL.js +1 -0
  21. package/build/client/_app/immutable/chunks/C7kefBvL.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/C7kefBvL.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/{BPh8tqAg.js → DXg4iuO3.js} +1 -1
  24. package/build/client/_app/immutable/chunks/DXg4iuO3.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/DXg4iuO3.js.gz +0 -0
  26. package/build/client/_app/immutable/entry/{app.9wfmQKXa.js → app.Da_nrbL3.js} +2 -2
  27. package/build/client/_app/immutable/entry/app.Da_nrbL3.js.br +0 -0
  28. package/build/client/_app/immutable/entry/app.Da_nrbL3.js.gz +0 -0
  29. package/build/client/_app/immutable/entry/start.CBqpzj15.js +1 -0
  30. package/build/client/_app/immutable/entry/start.CBqpzj15.js.br +0 -0
  31. package/build/client/_app/immutable/entry/start.CBqpzj15.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/{1.B-z3blIe.js → 1.BoyMtkIT.js} +1 -1
  33. package/build/client/_app/immutable/nodes/1.BoyMtkIT.js.br +1 -0
  34. package/build/client/_app/immutable/nodes/1.BoyMtkIT.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/4.BrJEvB8k.js +19 -0
  36. package/build/client/_app/immutable/nodes/4.BrJEvB8k.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/4.BrJEvB8k.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{5.BrAtimvQ.js → 5.Deh6r378.js} +1 -1
  39. package/build/client/_app/immutable/nodes/5.Deh6r378.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/5.Deh6r378.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/6.C1Z0X0eB.js +1 -0
  42. package/build/client/_app/immutable/nodes/6.C1Z0X0eB.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/6.C1Z0X0eB.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/{7.B5KYnWwU.js → 7.C0fsI5jU.js} +7 -7
  45. package/build/client/_app/immutable/nodes/7.C0fsI5jU.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/7.C0fsI5jU.js.gz +0 -0
  47. package/build/client/_app/version.json +1 -1
  48. package/build/client/_app/version.json.br +1 -1
  49. package/build/client/_app/version.json.gz +0 -0
  50. package/build/server/chunks/{0-CP9GcQBP.js → 0-CBvGEmz5.js} +4 -4
  51. package/build/server/chunks/{0-CP9GcQBP.js.map → 0-CBvGEmz5.js.map} +1 -1
  52. package/build/server/chunks/1-DyXggAD7.js +9 -0
  53. package/build/server/chunks/{1-BDxTrwG3.js.map → 1-DyXggAD7.js.map} +1 -1
  54. package/build/server/chunks/4-BA4xMUIo.js +9 -0
  55. package/build/server/chunks/{4-CBgm4iSo.js.map → 4-BA4xMUIo.js.map} +1 -1
  56. package/build/server/chunks/5-mwxADZxH.js +9 -0
  57. package/build/server/chunks/{5-CD1fuYOe.js.map → 5-mwxADZxH.js.map} +1 -1
  58. package/build/server/chunks/6-DxJqX8Ar.js +9 -0
  59. package/build/server/chunks/6-DxJqX8Ar.js.map +1 -0
  60. package/build/server/chunks/7-eIG645uZ.js +9 -0
  61. package/build/server/chunks/7-eIG645uZ.js.map +1 -0
  62. package/build/server/chunks/{AuthGate-BcB49fE5.js → AuthGate-BSSWifAW.js} +25 -6
  63. package/build/server/chunks/AuthGate-BSSWifAW.js.map +1 -0
  64. package/build/server/chunks/{_layout.svelte-C8ggVfth.js → _layout.svelte-BnCuSUPN.js} +2 -2
  65. package/build/server/chunks/{_layout.svelte-C8ggVfth.js.map → _layout.svelte-BnCuSUPN.js.map} +1 -1
  66. package/build/server/chunks/{_page.svelte-Cy4kcLwu.js → _page.svelte-CM6lAXGw.js} +5 -5
  67. package/build/server/chunks/{_page.svelte-Cy4kcLwu.js.map → _page.svelte-CM6lAXGw.js.map} +1 -1
  68. package/build/server/chunks/{_page.svelte-WWZsjJuR.js → _page.svelte-DE0XaTOm.js} +6 -10
  69. package/build/server/chunks/_page.svelte-DE0XaTOm.js.map +1 -0
  70. package/build/server/chunks/{_page.svelte-DrWHHwCU.js → _page.svelte-IK34Jznq.js} +6 -9
  71. package/build/server/chunks/_page.svelte-IK34Jznq.js.map +1 -0
  72. package/build/server/chunks/{_page.svelte-CEjRvc8B.js → _page.svelte-s9VofFGB.js} +123 -29
  73. package/build/server/chunks/_page.svelte-s9VofFGB.js.map +1 -0
  74. package/build/server/chunks/environment-CsmIkpXZ.js +36 -0
  75. package/build/server/chunks/environment-CsmIkpXZ.js.map +1 -0
  76. package/build/server/chunks/{error.svelte-CcHm-30A.js → error.svelte-DQ9eqMU0.js} +3 -3
  77. package/build/server/chunks/{error.svelte-CcHm-30A.js.map → error.svelte-DQ9eqMU0.js.map} +1 -1
  78. package/build/server/chunks/{internal-B08Y9iTe.js → internal-SzWp9pLx.js} +2 -2
  79. package/build/server/chunks/{internal-B08Y9iTe.js.map → internal-SzWp9pLx.js.map} +1 -1
  80. package/build/server/chunks/{state-CFHLgqLs.js → state-B6RhDeid.js} +2 -2
  81. package/build/server/chunks/{state-CFHLgqLs.js.map → state-B6RhDeid.js.map} +1 -1
  82. package/build/server/chunks/{theme-state.svelte-y-mfJax7.js → theme-state.svelte-CWo8vi7P.js} +11 -2
  83. package/build/server/chunks/{theme-state.svelte-y-mfJax7.js.map → theme-state.svelte-CWo8vi7P.js.map} +1 -1
  84. package/build/server/index.js +2 -32
  85. package/build/server/index.js.map +1 -1
  86. package/build/server/manifest.js +7 -7
  87. package/build/server/manifest.js.map +1 -1
  88. package/package.json +1 -1
  89. package/build/client/_app/immutable/assets/0.nenI9xO9.css +0 -1
  90. package/build/client/_app/immutable/assets/0.nenI9xO9.css.br +0 -0
  91. package/build/client/_app/immutable/assets/0.nenI9xO9.css.gz +0 -0
  92. package/build/client/_app/immutable/assets/4.j3F-W7h_.css +0 -1
  93. package/build/client/_app/immutable/assets/4.j3F-W7h_.css.br +0 -0
  94. package/build/client/_app/immutable/assets/4.j3F-W7h_.css.gz +0 -0
  95. package/build/client/_app/immutable/assets/6.B0Z8tVIH.css +0 -1
  96. package/build/client/_app/immutable/assets/6.B0Z8tVIH.css.br +0 -1
  97. package/build/client/_app/immutable/assets/6.B0Z8tVIH.css.gz +0 -0
  98. package/build/client/_app/immutable/assets/7.CzC8JVIO.css +0 -1
  99. package/build/client/_app/immutable/assets/7.CzC8JVIO.css.br +0 -0
  100. package/build/client/_app/immutable/assets/7.CzC8JVIO.css.gz +0 -0
  101. package/build/client/_app/immutable/assets/AuthGate._tqG1OIX.css +0 -1
  102. package/build/client/_app/immutable/assets/AuthGate._tqG1OIX.css.br +0 -0
  103. package/build/client/_app/immutable/assets/AuthGate._tqG1OIX.css.gz +0 -0
  104. package/build/client/_app/immutable/assets/ModeSwitch.DVIv_V4C.css +0 -1
  105. package/build/client/_app/immutable/assets/ModeSwitch.DVIv_V4C.css.br +0 -0
  106. package/build/client/_app/immutable/assets/ModeSwitch.DVIv_V4C.css.gz +0 -0
  107. package/build/client/_app/immutable/chunks/B1uQvvlv.js +0 -5
  108. package/build/client/_app/immutable/chunks/B1uQvvlv.js.br +0 -0
  109. package/build/client/_app/immutable/chunks/B1uQvvlv.js.gz +0 -0
  110. package/build/client/_app/immutable/chunks/BPh8tqAg.js.br +0 -2
  111. package/build/client/_app/immutable/chunks/BPh8tqAg.js.gz +0 -0
  112. package/build/client/_app/immutable/chunks/CrcMJfbz.js +0 -1
  113. package/build/client/_app/immutable/chunks/CrcMJfbz.js.br +0 -0
  114. package/build/client/_app/immutable/chunks/CrcMJfbz.js.gz +0 -0
  115. package/build/client/_app/immutable/chunks/E7W0MQkU.js +0 -1
  116. package/build/client/_app/immutable/chunks/E7W0MQkU.js.br +0 -0
  117. package/build/client/_app/immutable/chunks/E7W0MQkU.js.gz +0 -0
  118. package/build/client/_app/immutable/entry/app.9wfmQKXa.js.br +0 -0
  119. package/build/client/_app/immutable/entry/app.9wfmQKXa.js.gz +0 -0
  120. package/build/client/_app/immutable/entry/start.BzWuQgSn.js +0 -1
  121. package/build/client/_app/immutable/entry/start.BzWuQgSn.js.br +0 -0
  122. package/build/client/_app/immutable/entry/start.BzWuQgSn.js.gz +0 -0
  123. package/build/client/_app/immutable/nodes/1.B-z3blIe.js.br +0 -1
  124. package/build/client/_app/immutable/nodes/1.B-z3blIe.js.gz +0 -0
  125. package/build/client/_app/immutable/nodes/4.DOO_QIq1.js +0 -18
  126. package/build/client/_app/immutable/nodes/4.DOO_QIq1.js.br +0 -0
  127. package/build/client/_app/immutable/nodes/4.DOO_QIq1.js.gz +0 -0
  128. package/build/client/_app/immutable/nodes/5.BrAtimvQ.js.br +0 -0
  129. package/build/client/_app/immutable/nodes/5.BrAtimvQ.js.gz +0 -0
  130. package/build/client/_app/immutable/nodes/6.CDpI1TrW.js +0 -1
  131. package/build/client/_app/immutable/nodes/6.CDpI1TrW.js.br +0 -0
  132. package/build/client/_app/immutable/nodes/6.CDpI1TrW.js.gz +0 -0
  133. package/build/client/_app/immutable/nodes/7.B5KYnWwU.js.br +0 -0
  134. package/build/client/_app/immutable/nodes/7.B5KYnWwU.js.gz +0 -0
  135. package/build/server/chunks/1-BDxTrwG3.js +0 -9
  136. package/build/server/chunks/4-CBgm4iSo.js +0 -9
  137. package/build/server/chunks/5-CD1fuYOe.js +0 -9
  138. package/build/server/chunks/6-B6tmbcQ8.js +0 -9
  139. package/build/server/chunks/6-B6tmbcQ8.js.map +0 -1
  140. package/build/server/chunks/7-m4KLf_Gx.js +0 -9
  141. package/build/server/chunks/7-m4KLf_Gx.js.map +0 -1
  142. package/build/server/chunks/AuthGate-BcB49fE5.js.map +0 -1
  143. package/build/server/chunks/ModeSwitch-D26evPMy.js +0 -15
  144. package/build/server/chunks/ModeSwitch-D26evPMy.js.map +0 -1
  145. package/build/server/chunks/_page.svelte-CEjRvc8B.js.map +0 -1
  146. package/build/server/chunks/_page.svelte-DrWHHwCU.js.map +0 -1
  147. package/build/server/chunks/_page.svelte-WWZsjJuR.js.map +0 -1
  148. /package/build/client/_app/immutable/nodes/{0.DxAGOZgx.js → 0.B1vIHYps.js} +0 -0
  149. /package/build/client/_app/immutable/nodes/{0.DxAGOZgx.js.br → 0.B1vIHYps.js.br} +0 -0
  150. /package/build/client/_app/immutable/nodes/{0.DxAGOZgx.js.gz → 0.B1vIHYps.js.gz} +0 -0
@@ -1,12 +1,11 @@
1
1
  import { E as head, d as attr, o as derived } from './dev-B6xUe35c.js';
2
2
  import 'node:module';
3
- import { A as AuthGate, e as endpointsService, N as Navbar } from './AuthGate-BcB49fE5.js';
4
- import { M as ModeSwitch } from './ModeSwitch-D26evPMy.js';
5
- import './state-CFHLgqLs.js';
6
- import './internal-B08Y9iTe.js';
3
+ import { A as AuthGate, e as endpointsService, N as Navbar } from './AuthGate-BSSWifAW.js';
4
+ import './state-B6RhDeid.js';
5
+ import './internal-SzWp9pLx.js';
7
6
  import './utils-BSRjJDrZ.js';
8
7
  import './chunk-CLZ62Ad-.js';
9
- import './theme-state.svelte-y-mfJax7.js';
8
+ import './theme-state.svelte-CWo8vi7P.js';
10
9
  import './Spinner-Bk6e83RX.js';
11
10
 
12
11
  //#region src/routes/advanced/+page.svelte
@@ -58,13 +57,11 @@ function _page($$renderer, $$props) {
58
57
  } else {
59
58
  $$renderer.push("<!--[-1-->");
60
59
  Navbar($$renderer);
61
- $$renderer.push(`<!----> <div class="advanced-layout svelte-1z0msvj"><div class="advanced-toolbar svelte-1z0msvj">`);
62
- ModeSwitch($$renderer);
63
- $$renderer.push(`<!----></div> <iframe class="opencode-frame svelte-1z0msvj"${attr("src", openCodeUrl())} title="OpenCode — Advanced Chat" allow="clipboard-read; clipboard-write; microphone"></iframe></div>`);
60
+ $$renderer.push(`<!----> <div class="advanced-layout svelte-1z0msvj"><iframe class="opencode-frame svelte-1z0msvj"${attr("src", openCodeUrl())} title="OpenCode — Advanced Chat" allow="clipboard-read; clipboard-write; microphone"></iframe></div>`);
64
61
  }
65
62
  $$renderer.push(`<!--]-->`);
66
63
  });
67
64
  }
68
65
 
69
66
  export { _page as default };
70
- //# sourceMappingURL=_page.svelte-DrWHHwCU.js.map
67
+ //# sourceMappingURL=_page.svelte-IK34Jznq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-IK34Jznq.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/advanced/_page.svelte.js"],"sourcesContent":["import { V as attr, a as derived, s as head } from \"../../../chunks/dev.js\";\nimport \"../../../chunks/index-server.js\";\nimport { n as Navbar, r as endpointsService, t as AuthGate } from \"../../../chunks/AuthGate.js\";\n//#region src/routes/advanced/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet authLocked = true;\n\t\tlet authLoading = false;\n\t\tlet authError = \"\";\n\t\tlet openCodeUrl = derived(() => endpointsService.active?.url ?? \"http://127.0.0.1:3800\");\n\t\tasync function handleAuthSuccess(token) {\n\t\t\tif (authLoading) return false;\n\t\t\tauthLoading = true;\n\t\t\tauthError = \"\";\n\t\t\ttry {\n\t\t\t\tif (!(await fetch(\"/admin/auth/login\", {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\theaders: { \"content-type\": \"application/json\" },\n\t\t\t\t\tbody: JSON.stringify({ password: token }),\n\t\t\t\t\tcredentials: \"include\"\n\t\t\t\t})).ok) {\n\t\t\t\t\tauthLocked = true;\n\t\t\t\t\tauthError = \"Invalid password.\";\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tauthLocked = false;\n\t\t\t\tauthError = \"\";\n\t\t\t\tawait endpointsService.load();\n\t\t\t\treturn true;\n\t\t\t} catch {\n\t\t\t\tauthLocked = true;\n\t\t\t\tauthError = \"Could not reach the server.\";\n\t\t\t\treturn false;\n\t\t\t} finally {\n\t\t\t\tauthLoading = false;\n\t\t\t}\n\t\t}\n\t\thead(\"1z0msvj\", $$renderer, ($$renderer) => {\n\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t$$renderer.push(`<title>Advanced Chat — OpenPalm</title>`);\n\t\t\t});\n\t\t});\n\t\tif (authLocked) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tAuthGate($$renderer, {\n\t\t\t\tonSuccess: handleAuthSuccess,\n\t\t\t\tloading: authLoading,\n\t\t\t\terror: authError\n\t\t\t});\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\tNavbar($$renderer, {});\n\t\t\t$$renderer.push(`<!----> <div class=\"advanced-layout svelte-1z0msvj\"><iframe class=\"opencode-frame svelte-1z0msvj\"${attr(\"src\", openCodeUrl())} title=\"OpenCode — Advanced Chat\" allow=\"clipboard-read; clipboard-write; microphone\"></iframe></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":";;;;;;;;;;AAGA;AACA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,IAAI,UAAU,GAAG,IAAI;AACvB,EAAE,IAAI,WAAW,GAAG,KAAK;AACzB,EAAE,IAAI,SAAS,GAAG,EAAE;AACpB,EAAE,IAAI,WAAW,GAAG,OAAO,CAAC,MAAM,gBAAgB,CAAC,MAAM,EAAE,GAAG,IAAI,uBAAuB,CAAC;AAC1F,EAAE,eAAe,iBAAiB,CAAC,KAAK,EAAE;AAC1C,GAAG,IAAI,WAAW,EAAE,OAAO,KAAK;AAChC,GAAG,WAAW,GAAG,IAAI;AACrB,GAAG,SAAS,GAAG,EAAE;AACjB,GAAG,IAAI;AACP,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,mBAAmB,EAAE;AAC3C,KAAK,MAAM,EAAE,MAAM;AACnB,KAAK,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;AACpD,KAAK,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC9C,KAAK,WAAW,EAAE;AAClB,KAAK,CAAC,EAAE,EAAE,EAAE;AACZ,KAAK,UAAU,GAAG,IAAI;AACtB,KAAK,SAAS,GAAG,mBAAmB;AACpC,KAAK,OAAO,KAAK;AACjB,IAAI;AACJ,IAAI,UAAU,GAAG,KAAK;AACtB,IAAI,SAAS,GAAG,EAAE;AAClB,IAAI,MAAM,gBAAgB,CAAC,IAAI,EAAE;AACjC,IAAI,OAAO,IAAI;AACf,GAAG,CAAC,CAAC,MAAM;AACX,IAAI,UAAU,GAAG,IAAI;AACrB,IAAI,SAAS,GAAG,6BAA6B;AAC7C,IAAI,OAAO,KAAK;AAChB,GAAG,CAAC,SAAS;AACb,IAAI,WAAW,GAAG,KAAK;AACvB,GAAG;AACH,EAAE;AACF,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,UAAU,KAAK;AAC9C,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,UAAU,KAAK;AACpC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,uCAAuC,CAAC,CAAC;AAC9D,GAAG,CAAC,CAAC;AACL,EAAE,CAAC,CAAC;AACJ,EAAE,IAAI,UAAU,EAAE;AAClB,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,GAAG,QAAQ,CAAC,UAAU,EAAE;AACxB,IAAI,SAAS,EAAE,iBAAiB;AAChC,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,KAAK,EAAE;AACX,IAAI,CAAC;AACL,EAAE,CAAC,MAAM;AACT,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AAChC,GAAG,MAAM,CAAC,UAAc,CAAC;AACzB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,iGAAiG,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,qGAAqG,CAAC,CAAC;AACzP,EAAE;AACF,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -1,10 +1,11 @@
1
+ import { v as version } from './environment-CsmIkpXZ.js';
1
2
  import { E as head, p as ensure_array_like, e as attr_class, d as attr, r as escape_html, a8 as stringify, F as html, o as derived, g as bind_props } from './dev-B6xUe35c.js';
2
- import { o as onDestroy } from './state-CFHLgqLs.js';
3
- import { g as fetchHealth, a as fetchContainers, f as fetchAutomations, k as fetchVersions, h as fetchReleases, j as fetchUiVersions, v as voiceState, b as buildHeaders, i as fetchServiceLogs } from './theme-state.svelte-y-mfJax7.js';
4
- import { A as AuthGate, N as Navbar } from './AuthGate-BcB49fE5.js';
3
+ import { o as onDestroy } from './state-B6RhDeid.js';
4
+ import { h as fetchHealth, e as fetchContainers, f as fetchAutomations, l as fetchVersions, i as fetchReleases, k as fetchUiVersions, w as voiceState, b as buildHeaders, j as fetchServiceLogs, a as downloadUiVersion, q as setStackVersion, v as upgradeStack } from './theme-state.svelte-CWo8vi7P.js';
5
+ import { A as AuthGate, N as Navbar } from './AuthGate-BSSWifAW.js';
5
6
  import { S as Spinner } from './Spinner-Bk6e83RX.js';
6
7
  import { V as VoiceEngineSelector, a as VoiceProfileSelector } from './VoiceProfileSelector-CbOV_v5A.js';
7
- import './internal-B08Y9iTe.js';
8
+ import './internal-SzWp9pLx.js';
8
9
  import './utils-BSRjJDrZ.js';
9
10
  import 'node:module';
10
11
  import './chunk-CLZ62Ad-.js';
@@ -159,7 +160,11 @@ function StatusHero($$renderer, $$props) {
159
160
  //#endregion
160
161
  //#region src/lib/components/admin/overview/OperationOutput.svelte
161
162
  function OperationOutput($$renderer, $$props) {
162
- $$renderer.push("<!--[-1-->");
163
+ let { operationResult, operationResultType} = $$props;
164
+ if (operationResult) {
165
+ $$renderer.push("<!--[0-->");
166
+ $$renderer.push(`<section${attr_class(`output-section output-section--${stringify(operationResultType)}`, "svelte-10sij3c")}><div class="output-header svelte-10sij3c"><h3 class="svelte-10sij3c">Operation output</h3> <button class="btn-ghost" aria-label="Dismiss"><svg aria-hidden="true" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div> <pre class="output-code svelte-10sij3c">${escape_html(operationResult)}</pre></section>`);
167
+ } else $$renderer.push("<!--[-1-->");
163
168
  $$renderer.push(`<!--]-->`);
164
169
  }
165
170
  //#endregion
@@ -219,7 +224,7 @@ function ConfigureShortcuts($$renderer, $$props) {
219
224
  //#region src/lib/components/admin/overview/OverviewTab.svelte
220
225
  function OverviewTab($$renderer, $$props) {
221
226
  $$renderer.component(($$renderer) => {
222
- let { healthLoading, anyDangerousLoading, mergedServices, onNavigate } = $$props;
227
+ let { operationResult, operationResultType, healthLoading, anyDangerousLoading, mergedServices, onNavigate } = $$props;
223
228
  let akmBadge = derived(() => {
224
229
  return {
225
230
  label: "Unavailable",
@@ -268,7 +273,9 @@ function OverviewTab($$renderer, $$props) {
268
273
  anyDangerousLoading});
269
274
  } else $$renderer.push("<!--[-1-->");
270
275
  $$renderer.push(`<!--]--> `);
271
- OperationOutput($$renderer);
276
+ OperationOutput($$renderer, {
277
+ operationResult,
278
+ operationResultType});
272
279
  $$renderer.push(`<!----> <div class="tile-grid svelte-xz862u">`);
273
280
  MetricTile($$renderer, {
274
281
  label: "Services running",
@@ -310,21 +317,44 @@ function OverviewTab($$renderer, $$props) {
310
317
  //#region src/lib/components/admin/updates/UpdatesTab.svelte
311
318
  function UpdatesTab($$renderer, $$props) {
312
319
  $$renderer.component(($$renderer) => {
313
- let { currentImageTag, selectedImageTag, tagChangeLoading, anyDangerousLoading, inElectron, uiVersions, uiVersionsLoading, selectedUiTag, uiDownloadLoading, releases, releasesLoading, onSelectedImageTagChange, onSelectedUiTagChange} = $$props;
320
+ /** Running @openpalm/ui version (the build currently serving this page). */
321
+ let { currentImageTag, selectedImageTag, tagChangeLoading, anyDangerousLoading, tokenStored, upgradeLoading, inElectron, uiVersion, uiVersions, uiVersionsLoading, selectedUiTag, uiDownloadLoading, uiDownloadReady, releases, releasesLoading, onSetImageTag, onSelectedImageTagChange, onUpgradeStack, onSelectedUiTagChange, onDownloadUiVersion, onRestartApp, onRefreshReleases } = $$props;
314
322
  function uiVersionLabel(v) {
315
323
  const tags = [];
316
324
  if (v.distTag) tags.push(v.distTag);
317
325
  else if (v.prerelease) tags.push("pre-release");
318
326
  return tags.length ? `${v.version} (${tags.join(", ")})` : v.version;
319
327
  }
320
- $$renderer.push(`<div class="panel svelte-7mkeya" role="tabpanel"><div class="panel-header svelte-7mkeya"><div class="svelte-7mkeya"><h2 class="svelte-7mkeya">Updates</h2> <p class="panel-subtitle svelte-7mkeya">Pull new stack images, upgrade to the latest release, and update the UI.</p></div></div> <div class="panel-body svelte-7mkeya"><div class="version-section svelte-7mkeya"><div class="version-row svelte-7mkeya"><span class="version-label svelte-7mkeya">Stack images</span> <code class="version-value svelte-7mkeya">${escape_html(currentImageTag || "—")}</code></div> <div class="version-input-row svelte-7mkeya">`);
328
+ const statusText = derived(() => upgradeLoading ? "Updating OpenPalm to the latest version…" : tagChangeLoading ? "Installing the selected version and restarting…" : uiDownloadLoading ? "Downloading the admin interface…" : releasesLoading || uiVersionsLoading ? "Checking for updates…" : "");
329
+ $$renderer.push(`<div class="panel svelte-7mkeya" role="tabpanel"><div class="panel-header svelte-7mkeya"><div class="svelte-7mkeya"><h2 class="svelte-7mkeya">Check-up</h2> <p class="panel-subtitle svelte-7mkeya">Keep OpenPalm up to date. An update backs up your settings first, then briefly restarts your assistant.</p></div> <button class="btn btn-sm btn-secondary refresh-releases svelte-7mkeya"${attr("disabled", releasesLoading || uiVersionsLoading, true)}${attr("aria-busy", releasesLoading || uiVersionsLoading)} title="Check GitHub for newer versions">`);
330
+ if (releasesLoading || uiVersionsLoading) {
331
+ $$renderer.push("<!--[0-->");
332
+ Spinner($$renderer, {});
333
+ $$renderer.push(`<!----> Checking…`);
334
+ } else {
335
+ $$renderer.push("<!--[-1-->");
336
+ $$renderer.push(`<svg aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-7mkeya"><path d="M23 4v6h-6" class="svelte-7mkeya"></path><path d="M1 20v-6h6" class="svelte-7mkeya"></path><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15" class="svelte-7mkeya"></path></svg> Check for updates`);
337
+ }
338
+ $$renderer.push(`<!--]--></button></div> <p class="status-live svelte-7mkeya" role="status" aria-live="polite">${escape_html(statusText())}</p> <div class="panel-body svelte-7mkeya"><section class="update-card svelte-7mkeya" aria-labelledby="update-primary-title"><div class="update-card-text svelte-7mkeya"><h3 id="update-primary-title" class="update-title svelte-7mkeya">Update to the latest version</h3> <p class="update-desc svelte-7mkeya">Downloads and installs the newest OpenPalm release. Your settings are backed up first,
339
+ then your assistant restarts — it will be offline for about a minute. Your data is kept.</p></div> <button class="btn btn-primary update-go svelte-7mkeya"${attr("disabled", anyDangerousLoading || !tokenStored, true)}${attr("aria-busy", upgradeLoading)}>`);
340
+ if (upgradeLoading) {
341
+ $$renderer.push("<!--[0-->");
342
+ Spinner($$renderer, {});
343
+ $$renderer.push(`<!----> Updating…`);
344
+ } else {
345
+ $$renderer.push("<!--[-1-->");
346
+ $$renderer.push(`Update now`);
347
+ }
348
+ $$renderer.push(`<!--]--></button></section> <dl class="versions svelte-7mkeya"><div class="versions-row svelte-7mkeya"><dt class="svelte-7mkeya">OpenPalm</dt> <dd class="svelte-7mkeya"><code class="version-value svelte-7mkeya">${escape_html(currentImageTag || "—")}</code></dd></div> <div class="versions-row svelte-7mkeya"><dt class="svelte-7mkeya">Admin interface</dt> <dd class="svelte-7mkeya"><code class="version-value svelte-7mkeya">${escape_html(uiVersion || "—")}</code></dd></div></dl> <details class="advanced svelte-7mkeya"><summary class="svelte-7mkeya">Advanced options</summary> <div class="advanced-body svelte-7mkeya"><div class="version-section svelte-7mkeya"><label class="version-label svelte-7mkeya" for="stack-version-select">Install a specific version</label> <div class="version-input-row svelte-7mkeya">`);
321
349
  if (releasesLoading) {
322
350
  $$renderer.push("<!--[0-->");
323
351
  $$renderer.push(`<div class="version-select-skeleton svelte-7mkeya"></div>`);
324
352
  } else if (releases.length > 0) {
325
353
  $$renderer.push("<!--[1-->");
326
354
  $$renderer.select({
355
+ id: "stack-version-select",
327
356
  class: "version-select",
357
+ "aria-label": "OpenPalm version to install",
328
358
  value: selectedImageTag,
329
359
  onchange: (e) => onSelectedImageTagChange(e.currentTarget.value),
330
360
  disabled: tagChangeLoading || anyDangerousLoading
@@ -350,33 +380,30 @@ function UpdatesTab($$renderer, $$props) {
350
380
  }, "svelte-7mkeya");
351
381
  } else {
352
382
  $$renderer.push("<!--[-1-->");
353
- $$renderer.push(`<input class="version-input svelte-7mkeya" type="text" placeholder="e.g. 0.11.0 or latest"${attr("value", selectedImageTag)}${attr("disabled", tagChangeLoading || anyDangerousLoading, true)}/>`);
383
+ $$renderer.push(`<input id="stack-version-select" class="version-input svelte-7mkeya" type="text" aria-label="OpenPalm version to install" placeholder="e.g. 0.11.0 or latest"${attr("value", selectedImageTag)}${attr("disabled", tagChangeLoading || anyDangerousLoading, true)}/>`);
354
384
  }
355
- $$renderer.push(`<!--]--> <button class="btn btn-sm btn-primary svelte-7mkeya"${attr("disabled", !selectedImageTag.trim() || tagChangeLoading || anyDangerousLoading, true)}>`);
385
+ $$renderer.push(`<!--]--> <button class="btn btn-sm btn-secondary svelte-7mkeya"${attr("disabled", !selectedImageTag.trim() || tagChangeLoading || anyDangerousLoading, true)}${attr("aria-busy", tagChangeLoading)}>`);
356
386
  if (tagChangeLoading) {
357
387
  $$renderer.push("<!--[0-->");
358
388
  Spinner($$renderer, {});
359
- $$renderer.push(`<!----> Applying…`);
389
+ $$renderer.push(`<!----> Installing…`);
360
390
  } else {
361
391
  $$renderer.push("<!--[-1-->");
362
- $$renderer.push(`Pull &amp; Restart`);
392
+ $$renderer.push(`Install &amp; restart`);
363
393
  }
364
- $$renderer.push(`<!--]--></button></div> <p class="version-hint svelte-7mkeya">Pulls the selected images and restarts services.</p></div> <div class="version-divider svelte-7mkeya"></div> <div class="version-section svelte-7mkeya"><div class="version-row svelte-7mkeya"><span class="version-label svelte-7mkeya">Upgrade Stack</span></div> <div class="version-input-row svelte-7mkeya"><button class="btn btn-sm btn-secondary svelte-7mkeya"${attr("disabled", anyDangerousLoading || false, true)}>`);
365
- {
366
- $$renderer.push("<!--[-1-->");
367
- $$renderer.push(`Upgrade to Latest`);
368
- }
369
- $$renderer.push(`<!--]--></button></div> <p class="version-hint svelte-7mkeya">Downloads the latest assets, pulls images, and restarts services. Backs up current config first.</p></div> `);
394
+ $$renderer.push(`<!--]--></button></div> <p class="version-hint svelte-7mkeya">For rollback or troubleshooting. Installs the chosen version and restarts services (about a minute offline).</p></div> `);
370
395
  if (inElectron) {
371
396
  $$renderer.push("<!--[0-->");
372
- $$renderer.push(`<div class="version-divider svelte-7mkeya"></div> <div class="version-section svelte-7mkeya"><div class="version-row svelte-7mkeya"><span class="version-label svelte-7mkeya">UI Version</span></div> <div class="version-input-row svelte-7mkeya">`);
397
+ $$renderer.push(`<div class="version-divider svelte-7mkeya"></div> <div class="version-section svelte-7mkeya"><label class="version-label svelte-7mkeya" for="ui-version-select">Admin interface version</label> <div class="version-input-row svelte-7mkeya">`);
373
398
  if (uiVersionsLoading) {
374
399
  $$renderer.push("<!--[0-->");
375
400
  $$renderer.push(`<div class="version-select-skeleton svelte-7mkeya"></div>`);
376
401
  } else if (uiVersions.length > 0) {
377
402
  $$renderer.push("<!--[1-->");
378
403
  $$renderer.select({
404
+ id: "ui-version-select",
379
405
  class: "version-select",
406
+ "aria-label": "Admin interface version to download",
380
407
  value: selectedUiTag,
381
408
  onchange: (e) => onSelectedUiTagChange(e.currentTarget.value),
382
409
  disabled: uiDownloadLoading
@@ -396,9 +423,9 @@ function UpdatesTab($$renderer, $$props) {
396
423
  }, "svelte-7mkeya");
397
424
  } else {
398
425
  $$renderer.push("<!--[-1-->");
399
- $$renderer.push(`<input class="version-input svelte-7mkeya" type="text" placeholder="e.g. 0.11.0-beta.7"${attr("value", selectedUiTag)}${attr("disabled", uiDownloadLoading, true)}/>`);
426
+ $$renderer.push(`<input id="ui-version-select" class="version-input svelte-7mkeya" type="text" aria-label="Admin interface version to download" placeholder="e.g. 0.11.0-beta.7"${attr("value", selectedUiTag)}${attr("disabled", uiDownloadLoading, true)}/>`);
400
427
  }
401
- $$renderer.push(`<!--]--> <button class="btn btn-sm svelte-7mkeya"${attr("disabled", !selectedUiTag.trim() || uiDownloadLoading, true)}>`);
428
+ $$renderer.push(`<!--]--> <button class="btn btn-sm btn-secondary svelte-7mkeya"${attr("disabled", !selectedUiTag.trim() || uiDownloadLoading, true)}${attr("aria-busy", uiDownloadLoading)}>`);
402
429
  if (uiDownloadLoading) {
403
430
  $$renderer.push("<!--[0-->");
404
431
  Spinner($$renderer, {});
@@ -408,13 +435,16 @@ function UpdatesTab($$renderer, $$props) {
408
435
  $$renderer.push(`Download`);
409
436
  }
410
437
  $$renderer.push(`<!--]--></button></div> `);
411
- {
438
+ if (uiDownloadReady) {
439
+ $$renderer.push("<!--[0-->");
440
+ $$renderer.push(`<div class="version-restart-prompt svelte-7mkeya">Admin interface updated. <button class="btn btn-sm btn-primary svelte-7mkeya">Restart app</button></div>`);
441
+ } else {
412
442
  $$renderer.push("<!--[-1-->");
413
- $$renderer.push(`<p class="version-hint svelte-7mkeya">Downloads and replaces the UI from GitHub. Takes effect on restart.</p>`);
443
+ $$renderer.push(`<p class="version-hint svelte-7mkeya">Downloads and replaces the admin interface. Takes effect after restart.</p>`);
414
444
  }
415
445
  $$renderer.push(`<!--]--></div>`);
416
446
  } else $$renderer.push("<!--[-1-->");
417
- $$renderer.push(`<!--]--></div></div>`);
447
+ $$renderer.push(`<!--]--></div></details></div></div>`);
418
448
  });
419
449
  }
420
450
  //#endregion
@@ -2291,6 +2321,8 @@ function _page($$renderer, $$props) {
2291
2321
  let upgradeLoading = false;
2292
2322
  let containersLoading = false;
2293
2323
  let automationsLoading = false;
2324
+ let operationResult = "";
2325
+ let operationResultType = "info";
2294
2326
  let containerData = null;
2295
2327
  let containerError = "";
2296
2328
  let containersLastUpdated = null;
@@ -2302,6 +2334,7 @@ function _page($$renderer, $$props) {
2302
2334
  let inElectron = false;
2303
2335
  let tagChangeLoading = false;
2304
2336
  let uiDownloadLoading = false;
2337
+ let uiDownloadReady = false;
2305
2338
  let selectedImageTag = "latest";
2306
2339
  let selectedUiTag = "";
2307
2340
  let releases = [];
@@ -2466,6 +2499,55 @@ function _page($$renderer, $$props) {
2466
2499
  releasesLoading = false;
2467
2500
  uiVersionsLoading = false;
2468
2501
  }
2502
+ async function handleUpgradeStack() {
2503
+ if (anyDangerousLoading()) return;
2504
+ upgradeLoading = true;
2505
+ try {
2506
+ const result = await upgradeStack();
2507
+ operationResult = `Upgrade complete (image: ${result.imageTag}). ${result.assetsUpdated.length} asset(s) updated, ${result.restarted.length} service(s) restarted.`;
2508
+ operationResultType = "success";
2509
+ } catch (e) {
2510
+ const err = e;
2511
+ if (err.status === 401) applyInvalidTokenState();
2512
+ else {
2513
+ operationResult = `Error upgrading stack: ${err.message ?? e}`;
2514
+ operationResultType = "error";
2515
+ }
2516
+ }
2517
+ upgradeLoading = false;
2518
+ }
2519
+ async function handleSetImageTag(tag) {
2520
+ if (tagChangeLoading) return;
2521
+ tagChangeLoading = true;
2522
+ try {
2523
+ const result = await setStackVersion(tag);
2524
+ currentImageTag = result.imageTag;
2525
+ selectedImageTag = result.imageTag;
2526
+ operationResult = `Image tag set to ${result.imageTag}. Restarted: ${result.restarted.join(", ") || "none"}.`;
2527
+ operationResultType = "success";
2528
+ } catch (e) {
2529
+ operationResult = `Failed to apply image tag: ${e.message ?? e}`;
2530
+ operationResultType = "error";
2531
+ }
2532
+ tagChangeLoading = false;
2533
+ }
2534
+ async function handleDownloadUiVersion(tag) {
2535
+ if (uiDownloadLoading) return;
2536
+ uiDownloadLoading = true;
2537
+ uiDownloadReady = false;
2538
+ try {
2539
+ await downloadUiVersion(tag);
2540
+ selectedUiTag = tag;
2541
+ uiDownloadReady = true;
2542
+ } catch (e) {
2543
+ operationResult = `Failed to download UI version: ${e.message ?? e}`;
2544
+ operationResultType = "error";
2545
+ }
2546
+ uiDownloadLoading = false;
2547
+ }
2548
+ function handleRestartApp() {
2549
+ window.openpalm?.restart?.();
2550
+ }
2469
2551
  /** Derive service names from container data for the logs tab */
2470
2552
  let serviceNames = derived(() => {
2471
2553
  if (!containerData) return [];
@@ -2496,13 +2578,15 @@ function _page($$renderer, $$props) {
2496
2578
  } else {
2497
2579
  $$renderer.push("<!--[-1-->");
2498
2580
  Navbar($$renderer);
2499
- $$renderer.push(`<!----> <main class="svelte-1jef3w8">`);
2581
+ $$renderer.push(`<!----> `);
2500
2582
  TabBar($$renderer, {
2501
2583
  active: activeTab});
2502
- $$renderer.push(`<!----> `);
2584
+ $$renderer.push(`<!----> <main class="svelte-1jef3w8">`);
2503
2585
  if (activeTab === "overview") {
2504
2586
  $$renderer.push("<!--[0-->");
2505
2587
  OverviewTab($$renderer, {
2588
+ operationResult,
2589
+ operationResultType,
2506
2590
  healthLoading,
2507
2591
  anyDangerousLoading: anyDangerousLoading(),
2508
2592
  mergedServices: mergedServices(),
@@ -2515,19 +2599,29 @@ function _page($$renderer, $$props) {
2515
2599
  selectedImageTag,
2516
2600
  tagChangeLoading,
2517
2601
  anyDangerousLoading: anyDangerousLoading(),
2602
+ tokenStored: true,
2603
+ upgradeLoading,
2518
2604
  inElectron,
2605
+ uiVersion: version,
2519
2606
  uiVersions,
2520
2607
  uiVersionsLoading,
2521
2608
  selectedUiTag,
2522
2609
  uiDownloadLoading,
2610
+ uiDownloadReady,
2523
2611
  releases,
2524
2612
  releasesLoading,
2613
+ onSetImageTag: handleSetImageTag,
2525
2614
  onSelectedImageTagChange: (t) => {
2526
2615
  selectedImageTag = t;
2527
2616
  },
2617
+ onUpgradeStack: handleUpgradeStack,
2528
2618
  onSelectedUiTagChange: (t) => {
2529
2619
  selectedUiTag = t;
2530
- }});
2620
+ },
2621
+ onDownloadUiVersion: handleDownloadUiVersion,
2622
+ onRestartApp: handleRestartApp,
2623
+ onRefreshReleases: loadReleases
2624
+ });
2531
2625
  } else if (activeTab === "addons") {
2532
2626
  $$renderer.push("<!--[2-->");
2533
2627
  AddonsTab($$renderer);
@@ -2576,4 +2670,4 @@ function _page($$renderer, $$props) {
2576
2670
  }
2577
2671
 
2578
2672
  export { _page as default };
2579
- //# sourceMappingURL=_page.svelte-CEjRvc8B.js.map
2673
+ //# sourceMappingURL=_page.svelte-s9VofFGB.js.map