@euraika-labs/pan-ui 0.2.1 → 0.2.3

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 (231) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +164 -164
  3. package/.next/standalone/.next/app-path-routes-manifest.json +25 -25
  4. package/.next/standalone/.next/build-manifest.json +3 -3
  5. package/.next/standalone/.next/prerender-manifest.json +15 -15
  6. package/.next/standalone/.next/required-server-files.json +4 -4
  7. package/.next/standalone/.next/server/app/_not-found/page.js +2 -2
  8. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  10. package/.next/standalone/.next/server/app/_not-found.rsc +3 -3
  11. package/.next/standalone/.next/server/app/api/audit/route.js +3 -3
  12. package/.next/standalone/.next/server/app/api/audit/route_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/api/auth/login/route.js +1 -1
  14. package/.next/standalone/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/api/auth/logout/route.js +1 -1
  16. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/api/chat/sessions/[id]/fork/route.js +1 -1
  18. package/.next/standalone/.next/server/app/api/chat/sessions/[id]/fork/route_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/api/chat/sessions/[id]/route.js +1 -1
  20. package/.next/standalone/.next/server/app/api/chat/sessions/[id]/route_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/api/chat/sessions/route.js +1 -1
  22. package/.next/standalone/.next/server/app/api/chat/sessions/route_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/api/chat/stream/route.js +15 -15
  24. package/.next/standalone/.next/server/app/api/chat/stream/route_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/api/extensions/[id]/capabilities/[capabilityId]/route.js +1 -1
  26. package/.next/standalone/.next/server/app/api/extensions/[id]/capabilities/[capabilityId]/route_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/api/extensions/[id]/route.js +1 -1
  28. package/.next/standalone/.next/server/app/api/extensions/[id]/route_client-reference-manifest.js +1 -1
  29. package/.next/standalone/.next/server/app/api/extensions/[id]/test/route.js +1 -1
  30. package/.next/standalone/.next/server/app/api/extensions/[id]/test/route_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/api/extensions/mcp/route.js +2 -2
  32. package/.next/standalone/.next/server/app/api/extensions/mcp/route_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/api/extensions/route.js +1 -1
  34. package/.next/standalone/.next/server/app/api/extensions/route_client-reference-manifest.js +1 -1
  35. package/.next/standalone/.next/server/app/api/memory/agent/route.js +2 -2
  36. package/.next/standalone/.next/server/app/api/memory/agent/route_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/api/memory/context-inspector/route.js +1 -1
  38. package/.next/standalone/.next/server/app/api/memory/context-inspector/route_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/api/memory/session-search/route.js +1 -1
  40. package/.next/standalone/.next/server/app/api/memory/session-search/route_client-reference-manifest.js +1 -1
  41. package/.next/standalone/.next/server/app/api/memory/user/route.js +2 -2
  42. package/.next/standalone/.next/server/app/api/memory/user/route_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/api/profiles/[id]/config/route.js +13 -13
  44. package/.next/standalone/.next/server/app/api/profiles/[id]/config/route_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/api/profiles/[id]/route.js +3 -3
  46. package/.next/standalone/.next/server/app/api/profiles/[id]/route_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/api/profiles/route.js +2 -2
  48. package/.next/standalone/.next/server/app/api/profiles/route_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/api/runtime/approvals/[toolCallId]/route.js +2 -2
  50. package/.next/standalone/.next/server/app/api/runtime/approvals/[toolCallId]/route_client-reference-manifest.js +1 -1
  51. package/.next/standalone/.next/server/app/api/runtime/approvals/route.js +3 -3
  52. package/.next/standalone/.next/server/app/api/runtime/approvals/route_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/api/runtime/artifacts/download/route.js +2 -2
  54. package/.next/standalone/.next/server/app/api/runtime/artifacts/download/route_client-reference-manifest.js +1 -1
  55. package/.next/standalone/.next/server/app/api/runtime/artifacts/route.js +2 -2
  56. package/.next/standalone/.next/server/app/api/runtime/artifacts/route_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/api/runtime/export/route.js +3 -3
  58. package/.next/standalone/.next/server/app/api/runtime/export/route_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/app/api/runtime/health/route.js +1 -1
  60. package/.next/standalone/.next/server/app/api/runtime/health/route_client-reference-manifest.js +1 -1
  61. package/.next/standalone/.next/server/app/api/runtime/mcp-probes/route.js +3 -3
  62. package/.next/standalone/.next/server/app/api/runtime/mcp-probes/route_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/api/runtime/runs/[id]/route.js +2 -2
  64. package/.next/standalone/.next/server/app/api/runtime/runs/[id]/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/runtime/runs/route.js +2 -2
  66. package/.next/standalone/.next/server/app/api/runtime/runs/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/runtime/status/route.js +2 -2
  68. package/.next/standalone/.next/server/app/api/runtime/status/route_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/api/runtime/telemetry/route.js +2 -2
  70. package/.next/standalone/.next/server/app/api/runtime/telemetry/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/runtime/timeline/route.js +2 -2
  72. package/.next/standalone/.next/server/app/api/runtime/timeline/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/skills/[id]/disable/route.js +1 -1
  74. package/.next/standalone/.next/server/app/api/skills/[id]/disable/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/skills/[id]/enable/route.js +2 -2
  76. package/.next/standalone/.next/server/app/api/skills/[id]/enable/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/skills/[id]/files/route.js +2 -2
  78. package/.next/standalone/.next/server/app/api/skills/[id]/files/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/skills/[id]/install/route.js +3 -3
  80. package/.next/standalone/.next/server/app/api/skills/[id]/install/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/skills/[id]/load/route.js +2 -2
  82. package/.next/standalone/.next/server/app/api/skills/[id]/load/route_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/api/skills/[id]/route.js +2 -2
  84. package/.next/standalone/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/skills/catalog/route.js +1 -1
  86. package/.next/standalone/.next/server/app/api/skills/catalog/route_client-reference-manifest.js +1 -1
  87. package/.next/standalone/.next/server/app/api/skills/categories/route.js +2 -2
  88. package/.next/standalone/.next/server/app/api/skills/categories/route_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app/api/skills/hub/install/route.js +1 -1
  90. package/.next/standalone/.next/server/app/api/skills/hub/install/route_client-reference-manifest.js +1 -1
  91. package/.next/standalone/.next/server/app/api/skills/hub/route.js +3 -3
  92. package/.next/standalone/.next/server/app/api/skills/hub/route_client-reference-manifest.js +1 -1
  93. package/.next/standalone/.next/server/app/api/skills/route.js +2 -2
  94. package/.next/standalone/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/api/telemetry/route.js +3 -3
  96. package/.next/standalone/.next/server/app/api/telemetry/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/uploads/route.js +3 -3
  98. package/.next/standalone/.next/server/app/api/uploads/route_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/chat/page.js +3 -3
  100. package/.next/standalone/.next/server/app/chat/page.js.nft.json +1 -1
  101. package/.next/standalone/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/extensions/[id]/page.js +2 -2
  103. package/.next/standalone/.next/server/app/extensions/[id]/page.js.nft.json +1 -1
  104. package/.next/standalone/.next/server/app/extensions/[id]/page_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/app/extensions/page.js +2 -2
  106. package/.next/standalone/.next/server/app/extensions/page.js.nft.json +1 -1
  107. package/.next/standalone/.next/server/app/extensions/page_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/favicon.ico/route.js +1 -1
  109. package/.next/standalone/.next/server/app/icon.svg/route.js +1 -1
  110. package/.next/standalone/.next/server/app/index.html +1 -1
  111. package/.next/standalone/.next/server/app/index.rsc +3 -3
  112. package/.next/standalone/.next/server/app/login/page.js +2 -2
  113. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  114. package/.next/standalone/.next/server/app/memory/page.js +2 -2
  115. package/.next/standalone/.next/server/app/memory/page.js.nft.json +1 -1
  116. package/.next/standalone/.next/server/app/memory/page_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/page.js +2 -2
  118. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  119. package/.next/standalone/.next/server/app/profiles/page.js +2 -2
  120. package/.next/standalone/.next/server/app/profiles/page.js.nft.json +1 -1
  121. package/.next/standalone/.next/server/app/profiles/page_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/settings/approvals/page.js +2 -2
  123. package/.next/standalone/.next/server/app/settings/approvals/page.js.nft.json +1 -1
  124. package/.next/standalone/.next/server/app/settings/approvals/page_client-reference-manifest.js +1 -1
  125. package/.next/standalone/.next/server/app/settings/artifacts/page.js +2 -2
  126. package/.next/standalone/.next/server/app/settings/artifacts/page.js.nft.json +1 -1
  127. package/.next/standalone/.next/server/app/settings/artifacts/page_client-reference-manifest.js +1 -1
  128. package/.next/standalone/.next/server/app/settings/audit/page.js +2 -2
  129. package/.next/standalone/.next/server/app/settings/audit/page.js.nft.json +1 -1
  130. package/.next/standalone/.next/server/app/settings/audit/page_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/settings/health/page.js +2 -2
  132. package/.next/standalone/.next/server/app/settings/health/page.js.nft.json +1 -1
  133. package/.next/standalone/.next/server/app/settings/health/page_client-reference-manifest.js +1 -1
  134. package/.next/standalone/.next/server/app/settings/mcp-diagnostics/page.js +2 -2
  135. package/.next/standalone/.next/server/app/settings/mcp-diagnostics/page.js.nft.json +1 -1
  136. package/.next/standalone/.next/server/app/settings/mcp-diagnostics/page_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/settings/page.js +2 -2
  138. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  139. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  140. package/.next/standalone/.next/server/app/settings/runs/[id]/page.js +2 -2
  141. package/.next/standalone/.next/server/app/settings/runs/[id]/page.js.nft.json +1 -1
  142. package/.next/standalone/.next/server/app/settings/runs/[id]/page_client-reference-manifest.js +1 -1
  143. package/.next/standalone/.next/server/app/settings/runs/page.js +2 -2
  144. package/.next/standalone/.next/server/app/settings/runs/page.js.nft.json +1 -1
  145. package/.next/standalone/.next/server/app/settings/runs/page_client-reference-manifest.js +1 -1
  146. package/.next/standalone/.next/server/app/settings/telemetry/page.js +2 -2
  147. package/.next/standalone/.next/server/app/settings/telemetry/page.js.nft.json +1 -1
  148. package/.next/standalone/.next/server/app/settings/telemetry/page_client-reference-manifest.js +1 -1
  149. package/.next/standalone/.next/server/app/skills/[id]/page.js +2 -2
  150. package/.next/standalone/.next/server/app/skills/[id]/page.js.nft.json +1 -1
  151. package/.next/standalone/.next/server/app/skills/[id]/page_client-reference-manifest.js +1 -1
  152. package/.next/standalone/.next/server/app/skills/page.js +2 -2
  153. package/.next/standalone/.next/server/app/skills/page.js.nft.json +1 -1
  154. package/.next/standalone/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  155. package/.next/standalone/.next/server/app-paths-manifest.json +25 -25
  156. package/.next/standalone/.next/server/chunks/2043.js +1 -0
  157. package/.next/standalone/.next/server/chunks/6143.js +4 -4
  158. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  159. package/.next/standalone/.next/server/pages/404.html +1 -1
  160. package/.next/standalone/.next/server/pages/500.html +1 -1
  161. package/.next/standalone/.next/server/pages-manifest.json +1 -1
  162. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  163. package/.next/{static/chunks/app/_not-found/page-c4591bba1afe868d.js → standalone/.next/static/chunks/app/_not-found/page-9c90a6b39424f003.js} +1 -1
  164. package/.next/standalone/.next/static/chunks/app/chat/page-117a5b54aee7eae4.js +1 -0
  165. package/.next/standalone/.next/static/chunks/app/extensions/[id]/{page-18e579a71a9d93c3.js → page-cca6df1771ec04d2.js} +1 -1
  166. package/.next/{static/chunks/app/extensions/page-82f358e2fcabc6a3.js → standalone/.next/static/chunks/app/extensions/page-c0fbb8efa9a3700c.js} +1 -1
  167. package/.next/standalone/.next/static/chunks/app/layout-0bc970399be389b5.js +1 -0
  168. package/.next/standalone/.next/static/chunks/app/login/page-984e33272681e1e0.js +1 -0
  169. package/.next/{static/chunks/app/memory/page-a90ea51b004acc94.js → standalone/.next/static/chunks/app/memory/page-0684ff3ce6888ae7.js} +1 -1
  170. package/.next/standalone/.next/static/chunks/app/profiles/page-46a0ad35feda9741.js +1 -0
  171. package/.next/standalone/.next/static/chunks/app/settings/approvals/{page-1fd1b90371c02705.js → page-6843c585791e4db7.js} +1 -1
  172. package/.next/standalone/.next/static/chunks/app/settings/artifacts/page-d3fddd43ac1243af.js +1 -0
  173. package/.next/standalone/.next/static/chunks/app/settings/audit/page-378bee43dd7c4903.js +1 -0
  174. package/.next/standalone/.next/static/chunks/app/settings/health/page-d34eadc11bc90af5.js +1 -0
  175. package/.next/standalone/.next/static/chunks/app/settings/mcp-diagnostics/page-3778d2842d5bdd79.js +1 -0
  176. package/.next/{static/chunks/app/settings/page-5f9f8ba836ac9b7e.js → standalone/.next/static/chunks/app/settings/page-8a40bdf895f43430.js} +1 -1
  177. package/.next/standalone/.next/static/chunks/app/settings/runs/[id]/page-7837ec57d531ef2b.js +1 -0
  178. package/.next/{static/chunks/app/settings/runs/page-312bdcd82b1f3a64.js → standalone/.next/static/chunks/app/settings/runs/page-cb4d1617e199c38e.js} +1 -1
  179. package/.next/standalone/.next/static/chunks/app/settings/telemetry/{page-e61a1efd390b87a4.js → page-c0446baefa5496cb.js} +1 -1
  180. package/.next/{static/chunks/app/skills/[id]/page-f65ae8d81a901c1a.js → standalone/.next/static/chunks/app/skills/[id]/page-88bc62488ddf6c10.js} +1 -1
  181. package/.next/standalone/.next/static/chunks/app/skills/page-e47c6a5f9559edc1.js +1 -0
  182. package/.next/standalone/.next/static/chunks/{main-app-f0e3f2828aa879c4.js → main-app-a9e2c007d433eaf9.js} +1 -1
  183. package/.next/standalone/package.json +3 -3
  184. package/.next/standalone/server.js +1 -1
  185. package/.next/{standalone/.next/static/chunks/app/_not-found/page-c4591bba1afe868d.js → static/chunks/app/_not-found/page-9c90a6b39424f003.js} +1 -1
  186. package/.next/static/chunks/app/chat/page-117a5b54aee7eae4.js +1 -0
  187. package/.next/static/chunks/app/extensions/[id]/{page-18e579a71a9d93c3.js → page-cca6df1771ec04d2.js} +1 -1
  188. package/.next/{standalone/.next/static/chunks/app/extensions/page-82f358e2fcabc6a3.js → static/chunks/app/extensions/page-c0fbb8efa9a3700c.js} +1 -1
  189. package/.next/static/chunks/app/layout-0bc970399be389b5.js +1 -0
  190. package/.next/static/chunks/app/login/page-984e33272681e1e0.js +1 -0
  191. package/.next/{standalone/.next/static/chunks/app/memory/page-a90ea51b004acc94.js → static/chunks/app/memory/page-0684ff3ce6888ae7.js} +1 -1
  192. package/.next/static/chunks/app/profiles/page-46a0ad35feda9741.js +1 -0
  193. package/.next/static/chunks/app/settings/approvals/{page-1fd1b90371c02705.js → page-6843c585791e4db7.js} +1 -1
  194. package/.next/static/chunks/app/settings/artifacts/page-d3fddd43ac1243af.js +1 -0
  195. package/.next/static/chunks/app/settings/audit/page-378bee43dd7c4903.js +1 -0
  196. package/.next/static/chunks/app/settings/health/page-d34eadc11bc90af5.js +1 -0
  197. package/.next/static/chunks/app/settings/mcp-diagnostics/page-3778d2842d5bdd79.js +1 -0
  198. package/.next/{standalone/.next/static/chunks/app/settings/page-5f9f8ba836ac9b7e.js → static/chunks/app/settings/page-8a40bdf895f43430.js} +1 -1
  199. package/.next/static/chunks/app/settings/runs/[id]/page-7837ec57d531ef2b.js +1 -0
  200. package/.next/{standalone/.next/static/chunks/app/settings/runs/page-312bdcd82b1f3a64.js → static/chunks/app/settings/runs/page-cb4d1617e199c38e.js} +1 -1
  201. package/.next/static/chunks/app/settings/telemetry/{page-e61a1efd390b87a4.js → page-c0446baefa5496cb.js} +1 -1
  202. package/.next/{standalone/.next/static/chunks/app/skills/[id]/page-f65ae8d81a901c1a.js → static/chunks/app/skills/[id]/page-88bc62488ddf6c10.js} +1 -1
  203. package/.next/static/chunks/app/skills/page-e47c6a5f9559edc1.js +1 -0
  204. package/.next/static/chunks/{main-app-f0e3f2828aa879c4.js → main-app-a9e2c007d433eaf9.js} +1 -1
  205. package/bin/pan-ui.mjs +42 -0
  206. package/package.json +3 -3
  207. package/.next/standalone/.next/server/chunks/3441.js +0 -1
  208. package/.next/standalone/.next/static/chunks/app/chat/page-2bbb44aeac61920e.js +0 -1
  209. package/.next/standalone/.next/static/chunks/app/layout-f3c578dd4202f2f5.js +0 -1
  210. package/.next/standalone/.next/static/chunks/app/login/page-a3820386479beb5e.js +0 -1
  211. package/.next/standalone/.next/static/chunks/app/profiles/page-7b5924f80e882d7e.js +0 -1
  212. package/.next/standalone/.next/static/chunks/app/settings/artifacts/page-35ee6c14a4836aad.js +0 -1
  213. package/.next/standalone/.next/static/chunks/app/settings/audit/page-a11b23ffa1e40949.js +0 -1
  214. package/.next/standalone/.next/static/chunks/app/settings/health/page-9b7914bfd7bf665b.js +0 -1
  215. package/.next/standalone/.next/static/chunks/app/settings/mcp-diagnostics/page-102367ef8b2cc105.js +0 -1
  216. package/.next/standalone/.next/static/chunks/app/settings/runs/[id]/page-d0184e7e90f5867c.js +0 -1
  217. package/.next/standalone/.next/static/chunks/app/skills/page-d480e9f5081fd9b6.js +0 -1
  218. package/.next/static/chunks/app/chat/page-2bbb44aeac61920e.js +0 -1
  219. package/.next/static/chunks/app/layout-f3c578dd4202f2f5.js +0 -1
  220. package/.next/static/chunks/app/login/page-a3820386479beb5e.js +0 -1
  221. package/.next/static/chunks/app/profiles/page-7b5924f80e882d7e.js +0 -1
  222. package/.next/static/chunks/app/settings/artifacts/page-35ee6c14a4836aad.js +0 -1
  223. package/.next/static/chunks/app/settings/audit/page-a11b23ffa1e40949.js +0 -1
  224. package/.next/static/chunks/app/settings/health/page-9b7914bfd7bf665b.js +0 -1
  225. package/.next/static/chunks/app/settings/mcp-diagnostics/page-102367ef8b2cc105.js +0 -1
  226. package/.next/static/chunks/app/settings/runs/[id]/page-d0184e7e90f5867c.js +0 -1
  227. package/.next/static/chunks/app/skills/page-d480e9f5081fd9b6.js +0 -1
  228. /package/.next/standalone/.next/static/{Ra2DwSNqD8VPwE2NQiAqy → 9GQlyWupf2ogNOh-EUSPL}/_buildManifest.js +0 -0
  229. /package/.next/standalone/.next/static/{Ra2DwSNqD8VPwE2NQiAqy → 9GQlyWupf2ogNOh-EUSPL}/_ssgManifest.js +0 -0
  230. /package/.next/static/{Ra2DwSNqD8VPwE2NQiAqy → 9GQlyWupf2ogNOh-EUSPL}/_buildManifest.js +0 -0
  231. /package/.next/static/{Ra2DwSNqD8VPwE2NQiAqy → 9GQlyWupf2ogNOh-EUSPL}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- (()=>{var a={};a.id=5156,a.ids=[5156],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4928:(a,b,c)=>{"use strict";c.d(b,{Rb:()=>e,mv:()=>f,sz:()=>g});var d=c(31421);class e extends Error{constructor(a,b){super(a),this.context=b,this.name="ServerBridgeError"}}function f(a,b=[],c){try{return(0,d.execFileSync)("python3",["-c",a,...b],{encoding:"utf-8",timeout:c?.timeout,stdio:c?.suppressStderr?["ignore","pipe","ignore"]:void 0})}catch(a){throw new e("Python bridge execution failed",{args:b,timeout:c?.timeout,suppressStderr:c?.suppressStderr,cause:a instanceof Error?a.message:String(a)})}}function g(a,b=[],c){let d=f(a,b,c);try{return JSON.parse(d)}catch(a){throw new e("Python bridge returned invalid JSON",{output:d,cause:a instanceof Error?a.message:String(a)})}}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30438:(a,b,c)=>{"use strict";c.d(b,{f:()=>m,m:()=>n});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h);let j="/opt/projects/pan-ui/.data/uploads";function k(){g().mkdirSync(j,{recursive:!0})}function l(a){return i().join(j,`${a}.json`)}function m(a){k();let b=e().randomUUID(),c=i().join(j,`${b}.bin`);g().writeFileSync(c,a.content,"utf-8");let d={id:b,name:a.name,size:a.size,type:a.type,content:a.content,contentPath:c};return g().writeFileSync(l(d.id),JSON.stringify({...d,content:void 0}),"utf-8"),d}function n(a){k();let b=l(a);if(!g().existsSync(b))return null;let c=JSON.parse(g().readFileSync(b,"utf-8")),d=g().existsSync(c.contentPath)?g().readFileSync(c.contentPath,"utf-8"):"";return{...c,content:d}}},31421:a=>{"use strict";a.exports=require("node:child_process")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71865:(a,b,c)=>{"use strict";c.d(b,{d:()=>k,n:()=>j});var d=c(77598),e=c.n(d),f=c(86867),g=c(4928);let h=(0,f.sA)("audit");function i(){(0,f.t)("audit")}function j(a,b,c,d){i();let f=e().randomUUID();(0,g.mv)(`import sqlite3, sys
1
+ (()=>{var a={};a.id=5156,a.ids=[5156],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4928:(a,b,c)=>{"use strict";c.d(b,{Rb:()=>e,mv:()=>f,sz:()=>g});var d=c(31421);class e extends Error{constructor(a,b){super(a),this.context=b,this.name="ServerBridgeError"}}function f(a,b=[],c){try{return(0,d.execFileSync)("python3",["-c",a,...b],{encoding:"utf-8",timeout:c?.timeout,stdio:c?.suppressStderr?["ignore","pipe","ignore"]:void 0})}catch(a){throw new e("Python bridge execution failed",{args:b,timeout:c?.timeout,suppressStderr:c?.suppressStderr,cause:a instanceof Error?a.message:String(a)})}}function g(a,b=[],c){let d=f(a,b,c);try{return JSON.parse(d)}catch(a){throw new e("Python bridge returned invalid JSON",{output:d,cause:a instanceof Error?a.message:String(a)})}}},10597:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>D,patchFetch:()=>C,routeModule:()=>y,serverHooks:()=>B,workAsyncStorage:()=>z,workUnitAsyncStorage:()=>A});var d={};c.r(d),c.d(d,{POST:()=>x});var e=c(95736),f=c(9117),g=c(4044),h=c(39326),i=c(32324),j=c(261),k=c(54290),l=c(85328),m=c(38928),n=c(46595),o=c(3421),p=c(17679),q=c(41681),r=c(63446),s=c(86439),t=c(51356),u=c(10641),v=c(71865),w=c(30438);async function x(a){let b=(await a.formData()).get("file");if(!(b instanceof File))return u.NextResponse.json({error:"file is required"},{status:400});let c=await b.text().catch(()=>"Binary file uploaded"),d=(0,w.f)({name:b.name,size:b.size,type:b.type||"application/octet-stream",content:c});return(0,v.n)("attachment_uploaded","attachment",d.id,`Uploaded attachment ${d.name}.`),u.NextResponse.json({attachment:{id:d.id,name:d.name,size:d.size,type:d.type}},{status:201})}let y=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/uploads/route",pathname:"/api/uploads",filename:"route",bundlePath:"app/api/uploads/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/opt/projects/hermesagentwebui/src/app/api/uploads/route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:z,workUnitAsyncStorage:A,serverHooks:B}=y;function C(){return(0,g.patchFetch)({workAsyncStorage:z,workUnitAsyncStorage:A})}async function D(a,b,c){var d;let e="/api/uploads/route";"/index"===e&&(e="/");let g=await y.prepare(a,b,{srcPage:e,multiZoneDraftMode:!1});if(!g)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:u,params:v,nextConfig:w,isDraftMode:x,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D}=g,E=(0,j.normalizeAppPath)(e),F=!!(z.dynamicRoutes[E]||z.routes[D]);if(F&&!x){let a=!!z.routes[D],b=z.dynamicRoutes[E];if(b&&!1===b.fallback&&!a)throw new s.NoFallbackError}let G=null;!F||y.isDev||x||(G="/index"===(G=D)?"/":G);let H=!0===y.isDev||!F,I=F&&!H,J=a.method||"GET",K=(0,i.getTracer)(),L=K.getActiveScopeSpan(),M={params:v,prerenderManifest:z,renderOpts:{experimental:{cacheComponents:!!w.experimental.cacheComponents,authInterrupts:!!w.experimental.authInterrupts},supportsDynamicResponse:H,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:null==(d=w.experimental)?void 0:d.cacheLife,isRevalidate:I,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d)=>y.onRequestError(a,b,d,A)},sharedContext:{buildId:u}},N=new k.NodeNextRequest(a),O=new k.NodeNextResponse(b),P=l.NextRequestAdapter.fromNodeNextRequest(N,(0,l.signalFromNodeResponse)(b));try{let d=async c=>y.handle(P,M).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=K.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==m.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${J} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${J} ${a.url}`)}),g=async g=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!(0,h.getRequestMeta)(a,"minimalMode")&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let e=await d(g);a.fetchMetrics=M.renderOpts.fetchMetrics;let i=M.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=M.renderOpts.collectedTags;if(!F)return await (0,o.I)(N,O,e,M.renderOpts.pendingWaitUntil),null;{let a=await e.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(e.headers);j&&(b[r.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,d=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=r.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:e.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:d}}}}catch(b){throw(null==f?void 0:f.isStale)&&await y.onRequestError(a,b,{routerKind:"App Router",routePath:e,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:B})},A),b}},l=await y.handleResponse({req:a,nextConfig:w,cacheKey:G,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil});if(!F)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});(0,h.getRequestMeta)(a,"minimalMode")||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,p.fromNodeOutgoingHttpHeaders)(l.value.headers);return(0,h.getRequestMeta)(a,"minimalMode")&&F||m.delete(r.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,q.getCacheControlHeader)(l.cacheControl)),await (0,o.I)(N,O,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};L?await g(L):await K.withPropagatedContext(a.headers,()=>K.trace(m.BaseServerSpan.handleRequest,{spanName:`${J} ${a.url}`,kind:i.SpanKind.SERVER,attributes:{"http.method":J,"http.target":a.url}},g))}catch(b){if(b instanceof s.NoFallbackError||await y.onRequestError(a,b,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:B})}),F)throw b;return await (0,o.I)(N,O,new Response(null,{status:500})),null}}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30438:(a,b,c)=>{"use strict";c.d(b,{f:()=>m,m:()=>n});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h);let j="/opt/projects/pan-ui/.data/uploads";function k(){g().mkdirSync(j,{recursive:!0})}function l(a){return i().join(j,`${a}.json`)}function m(a){k();let b=e().randomUUID(),c=i().join(j,`${b}.bin`);g().writeFileSync(c,a.content,"utf-8");let d={id:b,name:a.name,size:a.size,type:a.type,content:a.content,contentPath:c};return g().writeFileSync(l(d.id),JSON.stringify({...d,content:void 0}),"utf-8"),d}function n(a){k();let b=l(a);if(!g().existsSync(b))return null;let c=JSON.parse(g().readFileSync(b,"utf-8")),d=g().existsSync(c.contentPath)?g().readFileSync(c.contentPath,"utf-8"):"";return{...c,content:d}}},31421:a=>{"use strict";a.exports=require("node:child_process")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71865:(a,b,c)=>{"use strict";c.d(b,{d:()=>k,n:()=>j});var d=c(77598),e=c.n(d),f=c(86867),g=c(4928);let h=(0,f.sA)("audit");function i(){(0,f.t)("audit")}function j(a,b,c,d){i();let f=e().randomUUID();(0,g.mv)(`import sqlite3, sys
2
2
  conn=sqlite3.connect(sys.argv[1])
3
3
  conn.execute("INSERT INTO audit_events (id, created_at, action, target_type, target_id, detail) VALUES (?, ?, ?, ?, ?, ?)", tuple(sys.argv[2:8]))
4
4
  conn.commit()
@@ -8,7 +8,7 @@ conn.row_factory=sqlite3.Row
8
8
  cur=conn.cursor()
9
9
  cur.execute("SELECT id, created_at, action, target_type, target_id, detail FROM audit_events ORDER BY created_at DESC LIMIT 200")
10
10
  print(json.dumps([{'id':r['id'],'createdAt':r['created_at'],'action':r['action'],'targetType':r['target_type'],'targetId':r['target_id'],'detail':r['detail']} for r in cur.fetchall()]))
11
- `,[h])}},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},85279:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>D,patchFetch:()=>C,routeModule:()=>y,serverHooks:()=>B,workAsyncStorage:()=>z,workUnitAsyncStorage:()=>A});var d={};c.r(d),c.d(d,{POST:()=>x});var e=c(95736),f=c(9117),g=c(4044),h=c(39326),i=c(32324),j=c(261),k=c(54290),l=c(85328),m=c(38928),n=c(46595),o=c(3421),p=c(17679),q=c(41681),r=c(63446),s=c(86439),t=c(51356),u=c(10641),v=c(71865),w=c(30438);async function x(a){let b=(await a.formData()).get("file");if(!(b instanceof File))return u.NextResponse.json({error:"file is required"},{status:400});let c=await b.text().catch(()=>"Binary file uploaded"),d=(0,w.f)({name:b.name,size:b.size,type:b.type||"application/octet-stream",content:c});return(0,v.n)("attachment_uploaded","attachment",d.id,`Uploaded attachment ${d.name}.`),u.NextResponse.json({attachment:{id:d.id,name:d.name,size:d.size,type:d.type}},{status:201})}let y=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/uploads/route",pathname:"/api/uploads",filename:"route",bundlePath:"app/api/uploads/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/pan-ui/pan-ui/src/app/api/uploads/route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:z,workUnitAsyncStorage:A,serverHooks:B}=y;function C(){return(0,g.patchFetch)({workAsyncStorage:z,workUnitAsyncStorage:A})}async function D(a,b,c){var d;let e="/api/uploads/route";"/index"===e&&(e="/");let g=await y.prepare(a,b,{srcPage:e,multiZoneDraftMode:!1});if(!g)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:u,params:v,nextConfig:w,isDraftMode:x,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D}=g,E=(0,j.normalizeAppPath)(e),F=!!(z.dynamicRoutes[E]||z.routes[D]);if(F&&!x){let a=!!z.routes[D],b=z.dynamicRoutes[E];if(b&&!1===b.fallback&&!a)throw new s.NoFallbackError}let G=null;!F||y.isDev||x||(G="/index"===(G=D)?"/":G);let H=!0===y.isDev||!F,I=F&&!H,J=a.method||"GET",K=(0,i.getTracer)(),L=K.getActiveScopeSpan(),M={params:v,prerenderManifest:z,renderOpts:{experimental:{cacheComponents:!!w.experimental.cacheComponents,authInterrupts:!!w.experimental.authInterrupts},supportsDynamicResponse:H,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:null==(d=w.experimental)?void 0:d.cacheLife,isRevalidate:I,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d)=>y.onRequestError(a,b,d,A)},sharedContext:{buildId:u}},N=new k.NodeNextRequest(a),O=new k.NodeNextResponse(b),P=l.NextRequestAdapter.fromNodeNextRequest(N,(0,l.signalFromNodeResponse)(b));try{let d=async c=>y.handle(P,M).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=K.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==m.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${J} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${J} ${a.url}`)}),g=async g=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!(0,h.getRequestMeta)(a,"minimalMode")&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let e=await d(g);a.fetchMetrics=M.renderOpts.fetchMetrics;let i=M.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=M.renderOpts.collectedTags;if(!F)return await (0,o.I)(N,O,e,M.renderOpts.pendingWaitUntil),null;{let a=await e.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(e.headers);j&&(b[r.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,d=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=r.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:e.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:d}}}}catch(b){throw(null==f?void 0:f.isStale)&&await y.onRequestError(a,b,{routerKind:"App Router",routePath:e,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:B})},A),b}},l=await y.handleResponse({req:a,nextConfig:w,cacheKey:G,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil});if(!F)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});(0,h.getRequestMeta)(a,"minimalMode")||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,p.fromNodeOutgoingHttpHeaders)(l.value.headers);return(0,h.getRequestMeta)(a,"minimalMode")&&F||m.delete(r.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,q.getCacheControlHeader)(l.cacheControl)),await (0,o.I)(N,O,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};L?await g(L):await K.withPropagatedContext(a.headers,()=>K.trace(m.BaseServerSpan.handleRequest,{spanName:`${J} ${a.url}`,kind:i.SpanKind.SERVER,attributes:{"http.method":J,"http.target":a.url}},g))}catch(b){if(b instanceof s.NoFallbackError||await y.onRequestError(a,b,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:B})}),F)throw b;return await (0,o.I)(N,O,new Response(null,{status:500})),null}}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},86867:(a,b,c)=>{"use strict";c.d(b,{sA:()=>n,t:()=>m});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(4928);let i="/opt/projects/pan-ui/.data",j=`
11
+ `,[h])}},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},86867:(a,b,c)=>{"use strict";c.d(b,{sA:()=>n,t:()=>m});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(4928);let i="/opt/projects/pan-ui/.data",j=`
12
12
  CREATE TABLE IF NOT EXISTS schema_migrations (target TEXT PRIMARY KEY, version INTEGER NOT NULL);
13
13
  CREATE TABLE IF NOT EXISTS runs (id TEXT PRIMARY KEY, session_id TEXT NOT NULL, status TEXT NOT NULL, source TEXT NOT NULL, started_at TEXT NOT NULL, updated_at TEXT NOT NULL, finished_at TEXT, last_error TEXT);
14
14
  CREATE TABLE IF NOT EXISTS tool_events (id TEXT PRIMARY KEY, session_id TEXT NOT NULL, event_type TEXT NOT NULL, tool_call_id TEXT, tool_name TEXT, summary TEXT, output TEXT, payload_json TEXT, created_at TEXT NOT NULL);
@@ -33,4 +33,4 @@ INSERT INTO schema_migrations(target, version) VALUES ('audit', 1)
33
33
  conn=sqlite3.connect(sys.argv[1])
34
34
  conn.executescript(sys.argv[2])
35
35
  conn.commit()
36
- `,[l(a),b]),l(a)}function n(a){return l(a)}},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[1331,1692],()=>b(b.s=85279));module.exports=c})();
36
+ `,[l(a),b]),l(a)}function n(a){return l(a)}},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[1331,1692],()=>b(b.s=10597));module.exports=c})();
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/uploads/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"155":{"*":{"id":"32207","name":"*","chunks":[],"async":false}},"344":{"*":{"id":"34784","name":"*","chunks":[],"async":false}},"594":{"*":{"id":"79546","name":"*","chunks":[],"async":false}},"622":{"*":{"id":"82146","name":"*","chunks":[],"async":false}},"852":{"*":{"id":"96450","name":"*","chunks":[],"async":false}},"954":{"*":{"id":"39248","name":"*","chunks":[],"async":false}},"1336":{"*":{"id":"70483","name":"*","chunks":[],"async":false}},"1935":{"*":{"id":"18548","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"31603","name":"*","chunks":[],"async":false}},"2841":{"*":{"id":"94514","name":"*","chunks":[],"async":false}},"3111":{"*":{"id":"65855","name":"*","chunks":[],"async":false}},"3369":{"*":{"id":"27352","name":"*","chunks":[],"async":false}},"3380":{"*":{"id":"72942","name":"*","chunks":[],"async":false}},"3526":{"*":{"id":"12210","name":"*","chunks":[],"async":false}},"3649":{"*":{"id":"20536","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"75170","name":"*","chunks":[],"async":false}},"4000":{"*":{"id":"16566","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"12263","name":"*","chunks":[],"async":false}},"4952":{"*":{"id":"58062","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"78922","name":"*","chunks":[],"async":false}},"5591":{"*":{"id":"92909","name":"*","chunks":[],"async":false}},"6157":{"*":{"id":"18539","name":"*","chunks":[],"async":false}},"6981":{"*":{"id":"38436","name":"*","chunks":[],"async":false}},"7031":{"*":{"id":"91361","name":"*","chunks":[],"async":false}},"7102":{"*":{"id":"46068","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"54160","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"68495","name":"*","chunks":[],"async":false}},"8211":{"*":{"id":"6728","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"29234","name":"*","chunks":[],"async":false}},"9026":{"*":{"id":"73331","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"77526","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/pan-ui/pan-ui/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/node_modules/next/dist/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/node_modules/next/dist/esm/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/node_modules/next/dist/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/node_modules/next/dist/esm/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/node_modules/next/dist/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/node_modules/next/dist/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/node_modules/next/dist/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/src/components/providers/query-provider.tsx":{"id":852,"name":"*","chunks":["2231","static/chunks/2231-e0d8768bfce5fe57.js","7177","static/chunks/app/layout-f3c578dd4202f2f5.js"],"async":false},"/home/runner/work/pan-ui/pan-ui/src/components/theme/theme-provider.tsx":{"id":344,"name":"*","chunks":["2231","static/chunks/2231-e0d8768bfce5fe57.js","7177","static/chunks/app/layout-f3c578dd4202f2f5.js"],"async":false},"/home/runner/work/pan-ui/pan-ui/src/styles/globals.css":{"id":3836,"name":"*","chunks":["2231","static/chunks/2231-e0d8768bfce5fe57.js","7177","static/chunks/app/layout-f3c578dd4202f2f5.js"],"async":false},"/home/runner/work/pan-ui/pan-ui/src/components/layout/right-drawer.tsx":{"id":1935,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/src/components/layout/sidebar.tsx":{"id":594,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/src/components/layout/topbar.tsx":{"id":6981,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/src/features/chat/components/chat-screen.tsx":{"id":3369,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/src/components/auth/login-form.tsx":{"id":4000,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/src/features/extensions/components/extension-detail.tsx":{"id":4952,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/src/features/extensions/components/extensions-screen.tsx":{"id":1336,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/src/features/memory/components/memory-screen.tsx":{"id":9026,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/src/features/profiles/components/profiles-screen.tsx":{"id":3380,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/src/features/settings/components/approvals-browser.tsx":{"id":954,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/src/features/settings/components/artifacts-browser.tsx":{"id":7031,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/src/features/settings/components/audit-browser.tsx":{"id":5591,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/src/features/settings/components/mcp-diagnostics.tsx":{"id":7102,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/src/features/settings/components/settings-screen.tsx":{"id":2841,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/src/features/settings/components/runs-browser.tsx":{"id":3526,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/src/features/settings/components/run-detail.tsx":{"id":6157,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/src/features/skills/components/skill-detail.tsx":{"id":155,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/src/features/settings/components/telemetry-browser.tsx":{"id":3649,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/src/features/skills/components/skills-screen.tsx":{"id":8211,"name":"*","chunks":[],"async":false},"/home/runner/work/pan-ui/pan-ui/src/features/settings/components/runtime-health.tsx":{"id":3111,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/home/runner/work/pan-ui/pan-ui/src/":[],"/home/runner/work/pan-ui/pan-ui/src/app/layout":[{"inlined":false,"path":"static/css/f5a43afa8024b892.css"}],"/home/runner/work/pan-ui/pan-ui/src/app/page":[],"/home/runner/work/pan-ui/pan-ui/src/app/api/uploads/route":[]},"rscModuleMapping":{"155":{"*":{"id":"55791","name":"*","chunks":[],"async":false}},"344":{"*":{"id":"95122","name":"*","chunks":[],"async":false}},"594":{"*":{"id":"16652","name":"*","chunks":[],"async":false}},"622":{"*":{"id":"51384","name":"*","chunks":[],"async":false}},"852":{"*":{"id":"7804","name":"*","chunks":[],"async":false}},"954":{"*":{"id":"24430","name":"*","chunks":[],"async":false}},"1336":{"*":{"id":"85585","name":"*","chunks":[],"async":false}},"1935":{"*":{"id":"28878","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"23597","name":"*","chunks":[],"async":false}},"2841":{"*":{"id":"80213","name":"*","chunks":[],"async":false}},"3111":{"*":{"id":"21562","name":"*","chunks":[],"async":false}},"3369":{"*":{"id":"60833","name":"*","chunks":[],"async":false}},"3380":{"*":{"id":"38529","name":"*","chunks":[],"async":false}},"3526":{"*":{"id":"58048","name":"*","chunks":[],"async":false}},"3649":{"*":{"id":"31071","name":"*","chunks":[],"async":false}},"3836":{"*":{"id":"35692","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"89748","name":"*","chunks":[],"async":false}},"4000":{"*":{"id":"42068","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"73041","name":"*","chunks":[],"async":false}},"4952":{"*":{"id":"17967","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"5591":{"*":{"id":"78195","name":"*","chunks":[],"async":false}},"6157":{"*":{"id":"67990","name":"*","chunks":[],"async":false}},"6981":{"*":{"id":"86890","name":"*","chunks":[],"async":false}},"7031":{"*":{"id":"90407","name":"*","chunks":[],"async":false}},"7102":{"*":{"id":"31086","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"81170","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"36893","name":"*","chunks":[],"async":false}},"8211":{"*":{"id":"65169","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"69576","name":"*","chunks":[],"async":false}},"9026":{"*":{"id":"63281","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/uploads/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"155":{"*":{"id":"32207","name":"*","chunks":[],"async":false}},"344":{"*":{"id":"34784","name":"*","chunks":[],"async":false}},"594":{"*":{"id":"79546","name":"*","chunks":[],"async":false}},"622":{"*":{"id":"82146","name":"*","chunks":[],"async":false}},"852":{"*":{"id":"96450","name":"*","chunks":[],"async":false}},"954":{"*":{"id":"39248","name":"*","chunks":[],"async":false}},"1336":{"*":{"id":"70483","name":"*","chunks":[],"async":false}},"1935":{"*":{"id":"18548","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"31603","name":"*","chunks":[],"async":false}},"2841":{"*":{"id":"94514","name":"*","chunks":[],"async":false}},"3111":{"*":{"id":"65855","name":"*","chunks":[],"async":false}},"3369":{"*":{"id":"27352","name":"*","chunks":[],"async":false}},"3380":{"*":{"id":"72942","name":"*","chunks":[],"async":false}},"3526":{"*":{"id":"12210","name":"*","chunks":[],"async":false}},"3649":{"*":{"id":"20536","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"75170","name":"*","chunks":[],"async":false}},"4000":{"*":{"id":"16566","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"12263","name":"*","chunks":[],"async":false}},"4952":{"*":{"id":"58062","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"78922","name":"*","chunks":[],"async":false}},"5591":{"*":{"id":"92909","name":"*","chunks":[],"async":false}},"6157":{"*":{"id":"18539","name":"*","chunks":[],"async":false}},"6981":{"*":{"id":"38436","name":"*","chunks":[],"async":false}},"7031":{"*":{"id":"91361","name":"*","chunks":[],"async":false}},"7102":{"*":{"id":"46068","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"54160","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"68495","name":"*","chunks":[],"async":false}},"8211":{"*":{"id":"6728","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"29234","name":"*","chunks":[],"async":false}},"9026":{"*":{"id":"73331","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"77526","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/opt/projects/hermesagentwebui/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/node_modules/next/dist/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/node_modules/next/dist/esm/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/node_modules/next/dist/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/node_modules/next/dist/esm/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/node_modules/next/dist/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/node_modules/next/dist/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/node_modules/next/dist/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/src/components/providers/query-provider.tsx":{"id":852,"name":"*","chunks":["2231","static/chunks/2231-e0d8768bfce5fe57.js","7177","static/chunks/app/layout-0bc970399be389b5.js"],"async":false},"/opt/projects/hermesagentwebui/src/components/theme/theme-provider.tsx":{"id":344,"name":"*","chunks":["2231","static/chunks/2231-e0d8768bfce5fe57.js","7177","static/chunks/app/layout-0bc970399be389b5.js"],"async":false},"/opt/projects/hermesagentwebui/src/styles/globals.css":{"id":3836,"name":"*","chunks":["2231","static/chunks/2231-e0d8768bfce5fe57.js","7177","static/chunks/app/layout-0bc970399be389b5.js"],"async":false},"/opt/projects/hermesagentwebui/src/components/layout/right-drawer.tsx":{"id":1935,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/src/components/layout/sidebar.tsx":{"id":594,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/src/components/layout/topbar.tsx":{"id":6981,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/src/features/chat/components/chat-screen.tsx":{"id":3369,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/src/components/auth/login-form.tsx":{"id":4000,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/src/features/extensions/components/extension-detail.tsx":{"id":4952,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/src/features/extensions/components/extensions-screen.tsx":{"id":1336,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/src/features/settings/components/artifacts-browser.tsx":{"id":7031,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/src/features/memory/components/memory-screen.tsx":{"id":9026,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/src/features/settings/components/approvals-browser.tsx":{"id":954,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/src/features/settings/components/audit-browser.tsx":{"id":5591,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/src/features/settings/components/settings-screen.tsx":{"id":2841,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/src/features/profiles/components/profiles-screen.tsx":{"id":3380,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/src/features/settings/components/mcp-diagnostics.tsx":{"id":7102,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/src/features/settings/components/runs-browser.tsx":{"id":3526,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/src/features/skills/components/skill-detail.tsx":{"id":155,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/src/features/settings/components/telemetry-browser.tsx":{"id":3649,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/src/features/skills/components/skills-screen.tsx":{"id":8211,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/src/features/settings/components/run-detail.tsx":{"id":6157,"name":"*","chunks":[],"async":false},"/opt/projects/hermesagentwebui/src/features/settings/components/runtime-health.tsx":{"id":3111,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/opt/projects/hermesagentwebui/src/":[],"/opt/projects/hermesagentwebui/src/app/layout":[{"inlined":false,"path":"static/css/f5a43afa8024b892.css"}],"/opt/projects/hermesagentwebui/src/app/page":[],"/opt/projects/hermesagentwebui/src/app/api/uploads/route":[]},"rscModuleMapping":{"155":{"*":{"id":"55791","name":"*","chunks":[],"async":false}},"344":{"*":{"id":"95122","name":"*","chunks":[],"async":false}},"594":{"*":{"id":"16652","name":"*","chunks":[],"async":false}},"622":{"*":{"id":"51384","name":"*","chunks":[],"async":false}},"852":{"*":{"id":"7804","name":"*","chunks":[],"async":false}},"954":{"*":{"id":"24430","name":"*","chunks":[],"async":false}},"1336":{"*":{"id":"85585","name":"*","chunks":[],"async":false}},"1935":{"*":{"id":"28878","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"23597","name":"*","chunks":[],"async":false}},"2841":{"*":{"id":"80213","name":"*","chunks":[],"async":false}},"3111":{"*":{"id":"21562","name":"*","chunks":[],"async":false}},"3369":{"*":{"id":"60833","name":"*","chunks":[],"async":false}},"3380":{"*":{"id":"38529","name":"*","chunks":[],"async":false}},"3526":{"*":{"id":"58048","name":"*","chunks":[],"async":false}},"3649":{"*":{"id":"31071","name":"*","chunks":[],"async":false}},"3836":{"*":{"id":"35692","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"89748","name":"*","chunks":[],"async":false}},"4000":{"*":{"id":"42068","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"73041","name":"*","chunks":[],"async":false}},"4952":{"*":{"id":"17967","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"5591":{"*":{"id":"78195","name":"*","chunks":[],"async":false}},"6157":{"*":{"id":"67990","name":"*","chunks":[],"async":false}},"6981":{"*":{"id":"86890","name":"*","chunks":[],"async":false}},"7031":{"*":{"id":"90407","name":"*","chunks":[],"async":false}},"7102":{"*":{"id":"31086","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"81170","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"36893","name":"*","chunks":[],"async":false}},"8211":{"*":{"id":"65169","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"69576","name":"*","chunks":[],"async":false}},"9026":{"*":{"id":"63281","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
@@ -1,4 +1,4 @@
1
- (()=>{var a={};a.id=8457,a.ids=[8457],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14996:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(23339).A)("RefreshCcw",[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"14sxne"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16",key:"1hlbsb"}],["path",{d:"M16 16h5v5",key:"ccwih5"}]])},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21721:(a,b,c)=>{Promise.resolve().then(c.bind(c,28878)),Promise.resolve().then(c.bind(c,16652)),Promise.resolve().then(c.bind(c,86890)),Promise.resolve().then(c.bind(c,60833))},22516:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h});var d=c(75338),e=c(93340),f=c(60833),g=c(51119);async function h(){return await (0,g.o)(),(0,d.jsx)(e.G,{children:(0,d.jsx)(f.ChatScreen,{})})}},25479:(a,b,c)=>{"use strict";function d(a,b){}c.d(b,{x:()=>d})},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},27352:(a,b,c)=>{"use strict";c.d(b,{ChatScreen:()=>aa});var d=c(21124),e=c(23339);let f=(0,e.A)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var g=c(14996),h=c(38301),i=c(42378),j=c(214),k=c(25479),l=c(42616),m=c(85351);let n=(0,e.A)("Paperclip",[["path",{d:"M13.234 20.252 21 12.3",key:"1cbrk9"}],["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 0 2.828 2 2 0 0 0 2.828 0l8.414-8.586a4 4 0 0 0 0-5.656 4 4 0 0 0-5.656 0l-8.415 8.585a6 6 0 1 0 8.486 8.486",key:"1pkts6"}]]);var o=c(68324);let p=(0,e.A)("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]),q=(0,e.A)("SendHorizontal",[["path",{d:"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z",key:"117uat"}],["path",{d:"M6 12h16",key:"s4cdu5"}]]);var r=c(72124);function s({attachment:a,onRemove:b}){return(0,d.jsxs)("div",{className:"inline-flex items-center gap-2 rounded-full border border-border bg-background px-3 py-1 text-xs text-muted-foreground",children:[(0,d.jsx)("span",{children:a.name}),(0,d.jsxs)("span",{children:[Math.max(1,Math.round(a.size/1024))," KB"]}),b?(0,d.jsx)("button",{type:"button",onClick:()=>b(a.id),className:"text-foreground",children:"\xd7"}):null]})}function t({disabled:a,onTranscript:b}){return(0,d.jsx)("button",{type:"button",disabled:a,onClick:()=>b("Voice input captured from mock microphone control."),className:"rounded-lg border border-border/70 bg-background/80 px-3 py-2 text-sm font-medium text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50","aria-label":"Voice input",children:"Mic"})}function u({disabled:a,statusNote:b,chips:c=[],onSend:e}){let[f,g]=(0,h.useState)(""),[i,j]=(0,h.useState)([]),[l,u]=(0,h.useState)(!1),v=(0,h.useRef)(null),w=(0,r.n)({mutationFn:async a=>{let b=new FormData;b.append("file",a);let c=await fetch("/api/uploads",{method:"POST",body:b});if(!c.ok)throw Error("Upload failed");let d=await c.json();return(0,k.x)("attachment.uploaded",{name:a.name,size:a.size}),d.attachment}}),x=async a=>{let b=await w.mutateAsync(a);j(a=>[...a,b])},y=async b=>{b.preventDefault();let c=f.trim();if(!c&&0===i.length||a)return;let d=i.map(a=>a.id);g(""),j([]),(0,k.x)("chat.send",{attachmentCount:d.length}),await e(c||"Sent with attachments only.",d)};return(0,d.jsx)("form",{onSubmit:y,className:"shrink-0 border-t border-border/70 bg-background/80 p-2 md:p-3",children:(0,d.jsxs)("div",{className:"rounded-xl border border-border/70 card-default p-3 shadow-[var(--shadow-soft)]",onDragOver:a=>a.preventDefault(),onDrop:a=>{a.preventDefault();let b=a.dataTransfer.files?.[0];b&&x(b)},children:[(0,d.jsxs)("div",{className:"mb-2 flex flex-wrap items-center gap-1.5",children:[c.map(a=>(0,d.jsx)("span",{className:"rounded-full border border-border/70 bg-background/80 px-3 py-1 text-xs font-medium text-foreground",children:a.label},a.key)),(0,d.jsxs)("button",{type:"button",onClick:()=>u(a=>!a),className:"inline-flex items-center gap-1 rounded-full border border-border/70 bg-background/60 px-3 py-1 text-xs font-medium text-muted-foreground",children:["Advanced",(0,d.jsx)(m.A,{className:`h-3.5 w-3.5 transition ${l?"rotate-180":""}`})]})]}),l?(0,d.jsxs)("div",{className:"mb-3 grid gap-3 rounded-lg border border-border/70 bg-background/60 p-3 text-xs text-muted-foreground md:grid-cols-3",children:[(0,d.jsxs)("div",{className:"rounded-xl border border-border/70 bg-card/60 p-3",children:[(0,d.jsx)("p",{className:"font-semibold text-foreground",children:"Prompt focus"}),(0,d.jsx)("p",{className:"mt-1",children:"The main prompt stays dominant. Lower-frequency context and controls live here so the composer stays calm."})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border/70 bg-card/60 p-3",children:[(0,d.jsx)("p",{className:"font-semibold text-foreground",children:"Visible trust cues"}),(0,d.jsx)("p",{className:"mt-1",children:"Model, mode, tools, files, and profile remain visible before you send anything."})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border/70 bg-card/60 p-3",children:[(0,d.jsx)("p",{className:"font-semibold text-foreground",children:"Attachments"}),(0,d.jsx)("p",{className:"mt-1",children:"Drop a file anywhere on the composer or use Attach to add screenshots, notes, and code snippets."})]})]}):null,i.length?(0,d.jsx)("div",{className:"mb-3 flex flex-wrap gap-2",children:i.map(a=>(0,d.jsx)(s,{attachment:a,onRemove:a=>j(b=>b.filter(b=>b.id!==a))},a.id))}):null,(0,d.jsx)("textarea",{value:f,onChange:a=>g(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.shiftKey||(a.preventDefault(),y(a))},placeholder:a?"Agent is unavailable right now.":"Message Pan…",className:"min-h-14 w-full resize-none bg-transparent px-3 text-sm leading-7 outline-none placeholder:text-muted-foreground",disabled:a}),(0,d.jsxs)("div",{className:"mt-3 flex flex-col gap-3 xl:flex-row xl:items-center xl:justify-between",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("input",{ref:v,type:"file",className:"hidden",onChange:async a=>{let b=a.target.files?.[0];b&&(await x(b),a.currentTarget.value="")}}),(0,d.jsxs)("button",{type:"button",onClick:()=>v.current?.click(),className:"inline-flex items-center gap-2 rounded-2xl border border-border/70 bg-background/80 px-3 py-2 text-sm font-medium text-foreground",children:[(0,d.jsx)(n,{className:"h-4 w-4"}),"Attach"]}),(0,d.jsx)(t,{disabled:a,onTranscript:a=>g(b=>`${b}${b?" ":""}${a}`)}),b?(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:b}):null]}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsxs)("span",{className:"hidden items-center gap-1 text-xs text-muted-foreground md:inline-flex",children:[(0,d.jsx)(o.A,{className:"h-3.5 w-3.5"}),"Trust cues stay visible"]}),(0,d.jsxs)("span",{className:"hidden items-center gap-1 text-xs text-muted-foreground md:inline-flex",children:[(0,d.jsx)(p,{className:"h-3.5 w-3.5"}),"Tools stay explicit"]}),(0,d.jsxs)("button",{type:"submit",disabled:a||!f.trim()&&0===i.length,className:"inline-flex items-center justify-center gap-2 rounded-2xl brand-gradient px-4 py-2.5 text-sm font-semibold text-primary-foreground shadow-[var(--shadow-card)] transition hover:-translate-y-0.5 disabled:cursor-not-allowed disabled:opacity-50",children:[(0,d.jsx)(q,{className:"h-4 w-4"}),"Send"]})]})]})]})})}let v=(0,e.A)("FolderKanban",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M12 10v2",key:"hh53o1"}],["path",{d:"M16 10v6",key:"1d6xys"}]]),w=(0,e.A)("BrainCircuit",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]]),x=(0,e.A)("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);var y=c(75234);let z=(0,e.A)("Settings2",[["path",{d:"M20 7h-9",key:"3s1dr2"}],["path",{d:"M14 17H5",key:"gfn3mx"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);function A({onRename:a,onArchive:b,onDelete:c,onFork:e}){let[f,g]=(0,h.useState)(!1);return(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("button",{type:"button",onClick:()=>g(a=>!a),className:"rounded-md border border-border/70 bg-background/80 px-2.5 py-1 text-2xs font-medium text-muted-foreground hover:bg-card",children:"Manage"}),f?(0,d.jsxs)("div",{className:"absolute right-0 top-10 z-10 w-40 rounded-lg border border-border/70 bg-background p-2 shadow-lg",children:[(0,d.jsx)("button",{type:"button",onClick:()=>{g(!1),a()},className:"block w-full rounded-md px-3 py-2 text-left text-sm hover:bg-card",children:"Rename"}),(0,d.jsx)("button",{type:"button",onClick:()=>{g(!1),e()},className:"block w-full rounded-md px-3 py-2 text-left text-sm hover:bg-card",children:"Fork"}),(0,d.jsx)("button",{type:"button",onClick:()=>{g(!1),b()},className:"block w-full rounded-md px-3 py-2 text-left text-sm hover:bg-card",children:"Archive"}),(0,d.jsx)("button",{type:"button",onClick:()=>{g(!1),c()},className:"block w-full rounded-md px-3 py-2 text-left text-sm text-danger hover:bg-card",children:"Delete"})]}):null]})}var B=c(26352),C=c(44943);function D({value:a,provider:b,onChange:c,ariaLabel:e="Model switcher",disabled:f,className:g}){let i=function(a,b){let c=(0,B.w)(),d=(0,h.useMemo)(()=>{let d=new Map;for(let a of c.data?.modelOptions??[])d.set(a.id,a);return a&&!d.has(a)&&d.set(a,{id:a,label:a,provider:b||c.data?.provider||"unknown",source:"session-current"}),!d.size&&c.data?.modelDefault&&d.set(c.data.modelDefault,{id:c.data.modelDefault,label:c.data.modelDefault,provider:c.data.provider||"unknown",source:"runtime-default"}),Array.from(d.values())},[a,b,c.data?.modelDefault,c.data?.modelOptions,c.data?.provider]);return{...c,data:d}}(a,b).data??[],j=i.find(b=>b.id===a)?.label??a;return(0,d.jsxs)("div",{className:(0,C.cn)("relative",g),children:[(0,d.jsx)("select",{value:j,onChange:a=>{let b=i.find(b=>b.label===a.target.value||b.id===a.target.value);b&&c(b.id,b.provider)},className:"min-w-[14rem] appearance-none rounded-2xl border border-border/70 bg-background/85 px-4 py-2.5 pr-10 text-sm font-medium outline-none transition focus:border-primary focus:ring-2 focus:ring-primary/20 disabled:cursor-not-allowed disabled:opacity-60","aria-label":e,disabled:f||0===i.length,children:i.map(a=>(0,d.jsxs)("option",{value:a.label,children:[a.label," \xb7 ",a.provider]},a.id))}),(0,d.jsx)(m.A,{className:"pointer-events-none absolute right-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"})]})}var E=c(57025),F=c(28863);function G({title:a,settings:b,profileLabel:c,loadedSkillIds:e,runtimeConnected:f,controlsDisabled:g,isPersisted:h,archived:i,runtimeSummary:j,hasMessages:k,onOpenSettings:l,onRename:m,onArchive:n,onDelete:p,onFork:q,onModelChange:r}){let s=(e??[]).filter(a=>"skill-authoring"!==a);return(0,d.jsx)("div",{className:(0,C.cn)("shrink-0 border-b border-border/70 bg-card/80 px-5",k?"py-2.5":"py-4"),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between",children:[(0,d.jsxs)("div",{className:"min-w-0 space-y-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-xs font-semibold uppercase tracking-label text-muted-foreground",children:"Workspace conversation"}),(0,d.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-3",children:[(0,d.jsx)("h2",{className:"truncate text-xl font-semibold tracking-tight text-foreground",children:a}),i?(0,d.jsx)(E.W,{label:"Archived",tone:"warning"}):null,h?(0,d.jsx)(E.W,{label:"Saved",tone:"success"}):(0,d.jsx)(E.W,{label:"Draft",tone:"warning"})]}),j?(0,d.jsx)("p",{className:"mt-2 max-w-3xl text-sm leading-6 text-muted-foreground",children:j}):null]}),k?null:(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs",children:[(0,d.jsx)(E.W,{label:c,tone:"accent",icon:(0,d.jsx)(v,{className:"h-3.5 w-3.5 text-accent"})}),(0,d.jsx)(E.W,{label:f?"Runtime connected":"Runtime degraded",tone:(0,F.OX)(f?"healthy":"degraded")}),(0,d.jsx)(E.W,{label:b.provider,tone:"muted",icon:(0,d.jsx)(w,{className:"h-3.5 w-3.5 text-primary"})}),(0,d.jsx)(E.W,{label:b.policyPreset,tone:"muted",icon:(0,d.jsx)(o.A,{className:"h-3.5 w-3.5 text-approval"})}),(0,d.jsx)(E.W,{label:b.memoryMode,tone:"muted",icon:(0,d.jsx)(x,{className:"h-3.5 w-3.5 text-success"})})]}),k?null:(0,d.jsxs)("div",{className:"grid gap-3 xl:grid-cols-[minmax(0,1fr)_auto]",children:[(0,d.jsxs)("div",{className:"rounded-lg border border-border/70 bg-background/60 p-3.5",children:[(0,d.jsx)("p",{className:"text-2xs font-semibold uppercase tracking-label text-muted-foreground",children:"Loaded skills"}),s.length?(0,d.jsx)("div",{className:"mt-3 flex flex-wrap gap-2",children:s.map(a=>(0,d.jsx)(E.W,{label:a,tone:"success",icon:(0,d.jsx)(y.A,{className:"h-3.5 w-3.5 text-success"})},a))}):(0,d.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"No skills pinned to this session yet. Add one from Skills or load it directly in chat."})]}),(0,d.jsxs)("div",{className:"grid min-w-[220px] grid-cols-2 gap-3",children:[(0,d.jsxs)("div",{className:"rounded-lg border border-border/70 bg-background/60 p-3.5",children:[(0,d.jsx)("p",{className:"text-2xs font-semibold uppercase tracking-label text-muted-foreground",children:"Session type"}),(0,d.jsx)("p",{className:"mt-2 text-sm font-semibold text-foreground",children:h?"Saved session":"Temporary session"})]}),(0,d.jsxs)("div",{className:"rounded-lg border border-border/70 bg-background/60 p-3.5",children:[(0,d.jsx)("p",{className:"text-2xs font-semibold uppercase tracking-label text-muted-foreground",children:"Model"}),(0,d.jsx)("p",{className:"mt-2 text-sm font-semibold text-foreground",children:b.model||"Default"})]})]})]})]}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2 lg:max-w-[360px] lg:justify-end",children:[(0,d.jsx)(D,{value:b.model,provider:b.provider,onChange:r,ariaLabel:"Header model switcher",disabled:g}),(0,d.jsxs)("button",{type:"button",onClick:l,disabled:g,"aria-label":"Settings",className:"inline-flex items-center gap-2 rounded-2xl border border-border/70 bg-background/80 px-3 py-2.5 text-sm font-medium text-foreground shadow-[var(--shadow-card)] transition hover:-translate-y-0.5 hover:bg-card disabled:cursor-not-allowed disabled:opacity-60",children:[(0,d.jsx)(z,{className:"h-4 w-4"}),"Settings"]}),(0,d.jsx)(A,{onRename:m,onArchive:n,onDelete:p,onFork:q})]})]})})}function H({event:a,onApprove:b,onReject:c}){return(0,d.jsxs)("div",{className:"rounded-lg border border-approval/35 bg-approval/10 p-4 shadow-[var(--shadow-card)]",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Approval needed"}),(0,d.jsx)("h4",{className:"mt-1 text-sm font-semibold text-foreground",children:a.toolName}),(0,d.jsx)("p",{className:"mt-2 text-sm leading-6 text-foreground",children:a.summary})]}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,d.jsx)(E.W,{label:a.governance??"approval-gated",tone:(0,F.fh)(a.governance??"approval-gated")}),a.riskLevel?(0,d.jsx)(E.W,{label:`${a.riskLevel} risk`,tone:(0,F.yD)(a.riskLevel)}):null]})]}),(0,d.jsxs)("div",{className:"mt-4 flex gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:()=>b(a.toolCallId),className:"rounded-xl bg-primary px-4 py-2 text-sm font-medium text-primary-foreground shadow-[var(--shadow-card)]",children:"Approve"}),(0,d.jsx)("button",{type:"button",onClick:()=>c(a.toolCallId),className:"rounded-xl border border-border px-4 py-2 text-sm text-foreground",children:"Reject"})]})]})}function I({artifact:a,onOpen:b}){return(0,d.jsxs)("button",{type:"button",onClick:()=>b(a.artifactId),className:"w-full rounded-2xl border border-border bg-card p-4 text-left shadow-sm transition hover:bg-muted/40",children:[(0,d.jsxs)("p",{className:"text-xs uppercase tracking-wide text-muted-foreground",children:["Artifact \xb7 ",a.artifactType]}),(0,d.jsx)("h4",{className:"mt-1 text-sm font-semibold",children:a.label}),a.content?(0,d.jsx)("p",{className:"mt-2 line-clamp-3 text-sm text-muted-foreground",children:a.content}):null]})}var J=c(55056);let K=(0,e.A)("UserRound",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]]);function L({text:a}){return(0,d.jsx)("button",{type:"button",onClick:()=>{},className:"rounded-md border border-border px-2 py-1 text-2xs text-muted-foreground","aria-label":"Play voice",children:"TTS"})}function M({message:a}){let b="user"===a.role;return(0,d.jsxs)("div",{className:(0,C.cn)("flex w-full gap-3",b?"justify-end":"justify-start"),children:[b?null:(0,d.jsx)("div",{className:"mt-1 flex h-9 w-9 shrink-0 items-center justify-center rounded-2xl bg-[linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)))] text-primary-foreground shadow-[var(--shadow-card)]",children:(0,d.jsx)(J.A,{className:"h-4 w-4"})}),(0,d.jsxs)("div",{className:(0,C.cn)("max-w-[88%] space-y-2",b&&"items-end"),children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,d.jsx)("p",{className:"text-2xs font-semibold uppercase tracking-label text-muted-foreground",children:b?"You":"Pan"}),(0,d.jsx)("p",{className:"text-2xs uppercase tracking-label text-muted-foreground",children:new Date(a.createdAt).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]}),(0,d.jsxs)("div",{className:(0,C.cn)("rounded-lg border px-4 py-3 text-sm shadow-[var(--shadow-card)]",b?"border-primary/15 bg-[linear-gradient(135deg,hsl(var(--primary))/0.98,hsl(var(--accent))/0.92)] text-primary-foreground":"border-border/70 bg-card/80 text-card-foreground"),children:[(0,d.jsx)("p",{className:"whitespace-pre-wrap leading-7",children:a.content}),a.attachments?.length?(0,d.jsx)("div",{className:"mt-3 flex flex-wrap gap-2",children:a.attachments.map(a=>(0,d.jsx)(s,{attachment:a},a.id))}):null,b?null:(0,d.jsx)("div",{className:"mt-3 flex items-center gap-2",children:(0,d.jsx)(L,{text:a.content})})]})]}),b?(0,d.jsx)("div",{className:"mt-1 flex h-9 w-9 shrink-0 items-center justify-center rounded-2xl border border-border/70 bg-background/80 text-foreground shadow-[var(--shadow-card)]",children:(0,d.jsx)(K,{className:"h-4 w-4"})}):null]})}var N=c(57101);function O(a){let b=[...a].reverse().find(a=>"run.phase"===a.type);if(b?.type==="run.phase")return b.label;if([...a].reverse().find(a=>"tool.awaiting_approval"===a.type))return"Waiting for approval before the agent can continue.";let c=[...a].reverse().find(a=>"tool.started"===a.type);return c?.type==="tool.started"?`${c.toolName} is running.`:"Pan is responding…"}function P({messages:a,runEvents:b,artifacts:c,streamingMessage:e,isStreaming:g,isLoading:i,onApprove:j,onReject:k,onOpenArtifact:l}){let m=b.filter(a=>"assistant.delta"!==a.type&&"source.emitted"!==a.type),n=[...b].reverse().find(a=>"run.phase"===a.type),o=b.filter(a=>"tool.awaiting_approval"===a.type).length,p=(0,h.useRef)(null),q=(0,h.useRef)(null);return(0,h.useRef)(!1),(0,d.jsxs)("div",{ref:p,className:"flex min-h-0 flex-1 flex-col gap-5 overflow-y-auto px-5 py-5",children:[i?(0,d.jsx)("div",{className:"rounded-xl border border-border/70 bg-card/60 p-8 text-sm text-muted-foreground shadow-[var(--shadow-card)]",children:"Loading conversation…"}):null,i||0!==a.length?null:(0,d.jsxs)("div",{className:"rounded-xl border border-dashed border-border/70 bg-gradient-to-br from-primary/[0.06] to-accent/[0.03] p-8 text-sm text-muted-foreground shadow-[var(--shadow-card)]",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-foreground",children:[(0,d.jsx)(y.A,{className:"h-4 w-4 text-primary"}),(0,d.jsx)("p",{className:"font-semibold",children:"Start a conversation"})]}),(0,d.jsx)("p",{className:"mt-3 max-w-2xl leading-7",children:"Research, plan, debug, or build. Runtime activity, approvals, sources, and generated outputs stay legible instead of being buried inside assistant prose."}),(0,d.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[(0,d.jsx)(E.W,{label:"Chat-first",tone:"accent"}),(0,d.jsx)(E.W,{label:"Tool-aware",tone:"success"}),(0,d.jsx)(E.W,{label:"Approval-ready",tone:"warning"})]})]}),(g||m.length>0)&&!i?(0,d.jsx)("div",{className:"rounded-lg border border-border/70 bg-background/60 p-4 shadow-[var(--shadow-card)]",children:(0,d.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-2xs font-semibold uppercase tracking-label text-muted-foreground",children:"Runtime activity"}),(0,d.jsx)("p",{className:"mt-1 text-sm font-medium text-foreground",children:g?O(b):n?.label??"No active tool run"})]}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-2",children:[n?.type==="run.phase"?(0,d.jsx)(E.W,{label:n.phase,tone:"accent"}):null,(0,d.jsx)(E.W,{label:`${m.length} events`,tone:"muted"}),o?(0,d.jsx)(E.W,{label:`${o} approvals`,tone:"warning"}):null]})]})}):null,a.map(a=>(0,d.jsx)(M,{message:a},a.id)),m.map((a,b)=>{if("tool.started"===a.type||"tool.completed"===a.type)return(0,d.jsx)(N.J,{event:a},`${a.type}-${a.toolCallId}-${b}`);if("tool.awaiting_approval"===a.type)return(0,d.jsx)(H,{event:a,onApprove:j,onReject:k},`${a.type}-${a.toolCallId}-${b}`);if("artifact.emitted"===a.type){let e=c.find(b=>b.artifactId===a.artifactId)??a;return(0,d.jsx)(I,{artifact:e,onOpen:l},`${a.type}-${a.artifactId}-${b}`)}return"run.phase"===a.type?(0,d.jsx)("div",{className:"rounded-lg border border-border/70 bg-background/80 px-4 py-3 text-sm text-muted-foreground shadow-[var(--shadow-card)]",children:a.label},`${a.type}-${b}`):"error"===a.type?(0,d.jsx)("div",{className:"rounded-lg border border-danger/30 bg-danger/10 p-4 text-sm text-foreground shadow-[var(--shadow-card)]",children:(0,d.jsxs)("div",{className:"flex items-start gap-2",children:[(0,d.jsx)(f,{className:"mt-0.5 h-4 w-4 text-danger"}),(0,d.jsx)("p",{children:a.message})]})},`${a.type}-${b}`):null}),g?(0,d.jsxs)("div",{className:"flex justify-start gap-3",children:[(0,d.jsx)("div",{className:"mt-1 flex h-9 w-9 items-center justify-center rounded-2xl bg-[linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)))] text-primary-foreground shadow-[var(--shadow-card)]",children:(0,d.jsx)(y.A,{className:"h-4 w-4"})}),(0,d.jsxs)("div",{className:"max-w-[88%] rounded-lg border border-border/70 bg-card/80 px-4 py-3 text-sm shadow-[var(--shadow-card)]",children:[(0,d.jsx)("p",{className:"whitespace-pre-wrap leading-7",children:e||"…"}),(0,d.jsx)("p",{className:"mt-3 text-2xs uppercase tracking-label text-muted-foreground",children:O(b)})]})]}):null,(0,d.jsx)("div",{ref:q,"aria-hidden":"true",className:"h-px shrink-0"})]})}var Q=c(96610);function R(a){if(!a)return null;let b=a.title||a.label||a.name||a.href||a.url;return b?{id:String(a.id||a.href||a.url||a.label||b),title:String(b),href:a.href||a.url?String(a.href||a.url):void 0,snippet:a.snippet||a.quote||a.description?String(a.snippet||a.quote||a.description):void 0,sourceType:function(a){switch(String(a||"").toLowerCase()){case"web":case"url":return"web";case"file":return"file";case"workspace":return"workspace";case"integration":return"integration";default:return"unknown"}}(a.sourceType||a.kind||a.type),provenance:function(a){switch(String(a||"").toLowerCase()){case"builtin":case"built-in":return"built-in";case"verified":return"verified";case"self-hosted":case"self_hosted":return"self-hosted";case"local-process":case"local_process":return"local-process";default:return"custom"}}(a.provenance),note:a.note?String(a.note):void 0,label:a.label?String(a.label):void 0}:null}var S=c(78796);function T({open:a,title:b,description:c,confirmLabel:e,confirmClassName:f,onClose:g,onConfirm:h}){return a?(0,d.jsx)("div",{className:"fixed inset-0 z-30 flex items-center justify-center bg-black/50 p-4",children:(0,d.jsxs)("div",{className:"w-full max-w-md rounded-2xl border border-border bg-background p-5 shadow-xl",children:[(0,d.jsx)("h3",{className:"text-lg font-semibold",children:b}),(0,d.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:c}),(0,d.jsxs)("div",{className:"mt-5 flex justify-end gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:g,className:"rounded-lg border border-border px-4 py-2 text-sm",children:"Cancel"}),(0,d.jsx)("button",{type:"button",onClick:()=>void h(),className:f??"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground",children:e})]})]})}):null}function U({open:a,initialTitle:b,onClose:c,onSubmit:e}){let[f,g]=(0,h.useState)(b);return a?(0,d.jsx)("div",{className:"fixed inset-0 z-30 flex items-center justify-center bg-black/50 p-4",children:(0,d.jsxs)("div",{className:"w-full max-w-md rounded-2xl border border-border bg-background p-5 shadow-xl",children:[(0,d.jsx)("h3",{className:"text-lg font-semibold",children:"Rename session"}),(0,d.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Give this conversation a clearer title."}),(0,d.jsx)("input",{"aria-label":"Rename session input",value:f,onChange:a=>g(a.target.value),className:"mt-4 w-full rounded-lg border border-input bg-background px-3 py-2 text-sm outline-none focus:border-primary"}),(0,d.jsxs)("div",{className:"mt-5 flex justify-end gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:c,className:"rounded-lg border border-border px-4 py-2 text-sm",children:"Cancel"}),(0,d.jsx)("button",{type:"button",onClick:()=>void e(f),className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground",children:"Save"})]})]})}):null}var V=c(8849);let W=(0,e.A)("Pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]),X=(0,e.A)("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]),Y=(0,e.A)("Clock3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16.5 12",key:"1aq6pp"}]]);function Z({value:a,onChange:b}){return(0,d.jsx)("div",{className:"border-b border-border/70 px-4 pb-3 pt-1",children:(0,d.jsx)("input",{value:a,onChange:a=>b(a.target.value),placeholder:"Search sessions…",className:"w-full rounded-2xl border border-border/70 bg-background/85 px-4 py-3 text-sm outline-none transition focus:border-primary focus:ring-2 focus:ring-primary/20"})})}function $({sessions:a,selectedSessionId:b,search:c,isLoading:e,onSearchChange:f,onNewChat:g,onSelectSession:i}){let[j,k]=(0,h.useState)(25),l=c.trim()?a.filter(a=>!a.parentSessionId):a,m=l.filter(a=>a.pinned&&!a.archived),n=l.filter(a=>!a.pinned&&!a.archived),o=l.filter(a=>a.archived),[p,q]=(0,h.useState)(!1),r=[{label:"Pinned",items:m},{label:"Recent",items:n.slice(0,j)},{label:"Archived",items:p?o:o.slice(0,5)}].filter(a=>a.items.length>0),s=n.length>j,t=!p&&o.length>5;return(0,d.jsxs)("aside",{className:"flex h-full max-h-full flex-col overflow-hidden rounded-xl border border-border/70 bg-card/60 shadow-[var(--shadow-soft)]",children:[(0,d.jsxs)("div",{className:"border-b border-border/70 p-4",children:[(0,d.jsx)("p",{className:"mb-3 text-xs font-semibold uppercase tracking-label text-muted-foreground",children:"Workspace"}),(0,d.jsx)("div",{className:"rounded-lg bg-[linear-gradient(135deg,hsl(var(--primary))/0.16,hsl(var(--accent))/0.12)] p-1",children:(0,d.jsxs)("button",{type:"button",onClick:g,className:"flex w-full items-center justify-center gap-2 rounded-lg brand-gradient px-4 py-3 text-sm font-semibold text-primary-foreground shadow-[var(--shadow-card)] transition hover:-translate-y-0.5",children:[(0,d.jsx)(V.A,{className:"h-4 w-4"}),"New chat"]})}),(0,d.jsxs)("div",{className:"mt-4 grid grid-cols-3 gap-2 text-center",children:[(0,d.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/60 px-2 py-2.5",children:[(0,d.jsx)("p",{className:"text-2xs uppercase tracking-label text-muted-foreground",children:"All"}),(0,d.jsx)("p",{className:"mt-1 text-sm font-semibold text-foreground",children:l.length})]}),(0,d.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/60 px-2 py-2.5",children:[(0,d.jsx)("p",{className:"text-2xs uppercase tracking-label text-muted-foreground",children:"Pinned"}),(0,d.jsx)("p",{className:"mt-1 text-sm font-semibold text-foreground",children:m.length})]}),(0,d.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/60 px-2 py-2.5",children:[(0,d.jsx)("p",{className:"text-2xs uppercase tracking-label text-muted-foreground",children:"Archived"}),(0,d.jsx)("p",{className:"mt-1 text-sm font-semibold text-foreground",children:o.length})]})]})]}),(0,d.jsx)(Z,{value:c,onChange:f}),(0,d.jsxs)("div",{className:"flex-1 space-y-4 overflow-y-auto p-3",children:[e?(0,d.jsx)("div",{className:"rounded-2xl border border-dashed border-border/70 bg-background/60 p-4 text-sm text-muted-foreground",children:"Loading sessions…"}):null,e||0!==l.length?null:(0,d.jsx)("div",{className:"rounded-2xl border border-dashed border-border/70 bg-background/60 p-4 text-sm text-muted-foreground",children:"No sessions match your search."}),r.map(a=>(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-2 text-2xs font-semibold uppercase tracking-label text-muted-foreground",children:[(0,d.jsx)("span",{children:a.label}),(0,d.jsx)("span",{children:a.items.length})]}),a.items.map(a=>{var c;return(0,d.jsxs)("button",{type:"button",onClick:()=>i(a.id),"aria-label":/\(fork\)/i.test(a.title)&&b!==a.id?a.title:`Open session ${a.id}`,className:(0,C.cn)("w-full rounded-lg border px-4 py-3 text-left transition",b===a.id?"border-primary/20 bg-primary/8":"border-border/70 bg-background/80 hover:border-border hover:bg-card"),children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{"aria-hidden":"true",className:"truncate text-sm font-semibold text-foreground",children:a.title}),(0,d.jsx)("p",{"aria-hidden":"true",className:"mt-1 line-clamp-2 text-xs leading-5 text-muted-foreground",children:(c=a.preview)?c.length>88?`${c.slice(0,85)}…`:c:"No messages yet."})]}),(0,d.jsxs)("div",{className:"flex shrink-0 flex-col items-end gap-1",children:[a.pinned?(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-border/70 px-2 py-0.5 text-3xs uppercase tracking-label text-muted-foreground",children:[(0,d.jsx)(W,{className:"h-3 w-3"}),"Pinned"]}):null,a.parentSessionId?(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-border/70 px-2 py-0.5 text-3xs uppercase tracking-label text-muted-foreground",children:[(0,d.jsx)(X,{className:"h-3 w-3"}),"Fork"]}):null]})]}),(0,d.jsxs)("div",{className:"mt-3 flex items-center justify-between gap-2 text-2xs text-muted-foreground",children:[(0,d.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,d.jsx)(Y,{className:"h-3.5 w-3.5"}),new Date(a.updatedAt).toLocaleString([],{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})]}),a.workspaceLabel?(0,d.jsx)("span",{children:a.workspaceLabel}):null]})]},a.id)})]},a.label)),s?(0,d.jsxs)("button",{type:"button",onClick:()=>k(a=>a+25),className:"mx-2 mt-2 rounded-xl border border-border/70 bg-background/80 px-3 py-2 text-xs font-medium text-muted-foreground transition hover:bg-card",children:["Show more (",n.length-j," remaining)"]}):null,t?(0,d.jsxs)("button",{type:"button",onClick:()=>q(!0),className:"mx-2 mt-2 rounded-xl border border-border/70 bg-background/80 px-3 py-2 text-xs font-medium text-muted-foreground transition hover:bg-card",children:["Show all archived (",o.length-5," more)"]}):null]})]})}function _({open:a,settings:b,saving:c,error:e,disabled:f,onClose:g,onSave:i}){let[j,k]=(0,h.useState)(b);return a?(0,d.jsx)("div",{className:"fixed inset-0 z-30 flex justify-end bg-black/45 backdrop-blur-sm",children:(0,d.jsxs)("div",{className:"h-full w-full max-w-md border-l border-border/70 bg-background/95 p-5 shadow-[var(--shadow-elevated)]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-lg font-semibold",children:"Session controls"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Model selection is runtime-backed. Policy and memory settings are session guidance stored with this chat."})]}),(0,d.jsx)("button",{type:"button",onClick:g,className:"rounded-2xl border border-border/70 bg-background/80 px-3 py-2 text-sm font-medium text-foreground",children:"Close"})]}),(0,d.jsxs)("div",{className:"mt-6 space-y-5 rounded-lg border border-border/70 bg-card/60 p-4 shadow-[var(--shadow-card)]",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("label",{htmlFor:"chat-model",className:"text-sm font-medium",children:"Model"}),(0,d.jsx)("div",{id:"chat-model",children:(0,d.jsx)(D,{value:j.model,provider:j.provider,onChange:(a,b)=>k(c=>({...c,model:a,provider:b})),ariaLabel:"Settings model switcher",disabled:f||c,className:"w-full"})})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("label",{htmlFor:"policy-preset",className:"text-sm font-medium",children:"Policy preset"}),(0,d.jsxs)("select",{id:"policy-preset",value:j.policyPreset,onChange:a=>k(b=>({...b,policyPreset:a.target.value})),className:"w-full rounded-2xl border border-input bg-background/85 px-4 py-3 text-sm outline-none transition focus:border-primary focus:ring-2 focus:ring-primary/20",disabled:f||c,children:[(0,d.jsx)("option",{value:"safe-chat",children:"Safe Chat"}),(0,d.jsx)("option",{value:"research",children:"Research"}),(0,d.jsx)("option",{value:"builder",children:"Builder"}),(0,d.jsx)("option",{value:"full-power",children:"Full Power"})]})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("label",{htmlFor:"memory-mode",className:"text-sm font-medium",children:"Memory mode"}),(0,d.jsxs)("select",{id:"memory-mode",value:j.memoryMode,onChange:a=>k(b=>({...b,memoryMode:a.target.value})),className:"w-full rounded-2xl border border-input bg-background/85 px-4 py-3 text-sm outline-none transition focus:border-primary focus:ring-2 focus:ring-primary/20",disabled:f||c,children:[(0,d.jsx)("option",{value:"standard",children:"Standard"}),(0,d.jsx)("option",{value:"minimal",children:"Minimal"})]})]})]}),e?(0,d.jsx)("div",{className:"mt-4 rounded-2xl border border-danger/30 bg-danger/10 px-4 py-3 text-sm text-foreground",children:e}):null,(0,d.jsx)("div",{className:"mt-8 flex justify-end",children:(0,d.jsx)("button",{type:"button",onClick:()=>void i(j),disabled:f||c,className:"rounded-2xl bg-[linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)))] px-4 py-2.5 text-sm font-semibold text-primary-foreground shadow-[var(--shadow-card)] disabled:cursor-not-allowed disabled:opacity-60",children:c?"Saving…":"Save settings"})})]})}):null}function aa(){let a=(0,i.useSearchParams)();a.get("session");let b=a.get("loadedSkill"),[c,e]=(0,h.useState)(""),[m,n]=(0,h.useState)(null),[o,p]=(0,h.useState)([]),[q,s]=(0,h.useState)(""),[t,v]=(0,h.useState)(!1),[w,x]=(0,h.useState)(!1),[y,z]=(0,h.useState)(!1),[A,C]=(0,h.useState)(!1),[D,E]=(0,h.useState)(null),[F,H]=(0,h.useState)(null),[I,J]=(0,h.useState)({model:"",provider:"unknown",policyPreset:"safe-chat",memoryMode:"standard"}),K=(0,S.te)(c),L=(0,B.w)(),M=(0,S.oz)(),N=(0,S.Kp)(),O=(0,S.Sv)(),V=(0,S.tS)(),W=(0,S.QV)(),X=(0,S.Or)(),Y=function(){let a=(0,Q.jE)();return(0,r.n)({mutationFn:async({sessionId:a,message:b,attachmentIds:c,onEvent:d})=>{let e=await fetch("/api/chat/stream",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:a,message:b,attachmentIds:c})});if(!e.ok||!e.body){let a=await e.json().catch(()=>null);throw new j.h(e.status,a?.error??"Unable to stream response",a?.code,a)}let f=e.body.getReader(),g=new TextDecoder,h="",i=!1;for(;!i;){let{value:a,done:b}=await f.read();if(i=b,b||!a)break;let c=(h+=g.decode(a,{stream:!0})).split("\n\n");for(let a of(h=c.pop()??"",c))for(let b of function(a){let b=[];for(let c of a.split("\n\n"))for(let a of c.split("\n").filter(a=>a.startsWith("data:"))){let c=a.replace(/^data:\s*/,"").trim();if(!c||"[DONE]"===c)continue;let d=function(a){try{return JSON.parse(a)}catch{return null}}(c);if(!d)continue;if("assistant.delta"===d.type||"run.phase"===d.type||"tool.started"===d.type||"tool.awaiting_approval"===d.type||"tool.completed"===d.type||"artifact.emitted"===d.type||"source.emitted"===d.type||"error"===d.type){b.push(d);continue}if("response.output_text.delta"===d.type&&d.delta){b.push({type:"assistant.delta",delta:String(d.delta)});continue}if("response.output_item.added"===d.type&&d.item?.type==="function_call"){b.push({type:"tool.started",toolCallId:String(d.item.call_id||d.item.id||"tool-call"),toolName:String(d.item.name||"function_call"),riskLevel:"execute",provenance:"local-process"});continue}if("response.output_item.done"===d.type&&d.item?.type==="function_call"){b.push({type:"tool.completed",toolCallId:String(d.item.call_id||d.item.id||"tool-call"),toolName:String(d.item.name||"function_call"),output:"string"==typeof d.item.arguments?d.item.arguments:JSON.stringify(d.item.arguments||{}),riskLevel:"execute"});continue}if("response.output_item.added"===d.type&&d.item?.type==="file_search_call"){b.push({type:"tool.started",toolCallId:String(d.item.call_id||d.item.id||"file-search"),toolName:"file_search",riskLevel:"read",provenance:"built-in"});continue}let e=R(d.source||d.citation||d.metadata?.source||null);if(e&&b.push({type:"source.emitted",source:e}),("response.completed"===d.type||"response.output_item.done"===d.type)&&Array.isArray(d.response?.output))for(let a of d.response.output){if(a?.type==="message"&&Array.isArray(a.content))for(let c of a.content){(c?.type==="output_text"||c?.type==="text")&&c.text&&b.push({type:"assistant.delta",delta:String(c.text)});let a=R(c?.source||c?.citation||null);a&&b.push({type:"source.emitted",source:a})}a?.type==="function_call"&&b.push({type:"tool.completed",toolCallId:String(a.call_id||a.id||"tool-call"),toolName:String(a.name||"function_call"),output:"string"==typeof a.arguments?a.arguments:JSON.stringify(a.arguments||{}),riskLevel:"execute"})}}return b}(`${a}
1
+ (()=>{var a={};a.id=8457,a.ids=[8457],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9127:(a,b,c)=>{Promise.resolve().then(c.bind(c,18548)),Promise.resolve().then(c.bind(c,79546)),Promise.resolve().then(c.bind(c,38436)),Promise.resolve().then(c.bind(c,27352))},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14996:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(23339).A)("RefreshCcw",[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"14sxne"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16",key:"1hlbsb"}],["path",{d:"M16 16h5v5",key:"ccwih5"}]])},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},22516:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h});var d=c(75338),e=c(93340),f=c(60833),g=c(51119);async function h(){return await (0,g.o)(),(0,d.jsx)(e.G,{children:(0,d.jsx)(f.ChatScreen,{})})}},25479:(a,b,c)=>{"use strict";function d(a,b){}c.d(b,{x:()=>d})},25999:(a,b,c)=>{Promise.resolve().then(c.bind(c,28878)),Promise.resolve().then(c.bind(c,16652)),Promise.resolve().then(c.bind(c,86890)),Promise.resolve().then(c.bind(c,60833))},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},27352:(a,b,c)=>{"use strict";c.d(b,{ChatScreen:()=>aa});var d=c(21124),e=c(23339);let f=(0,e.A)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var g=c(14996),h=c(38301),i=c(42378),j=c(214),k=c(25479),l=c(42616),m=c(85351);let n=(0,e.A)("Paperclip",[["path",{d:"M13.234 20.252 21 12.3",key:"1cbrk9"}],["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 0 2.828 2 2 0 0 0 2.828 0l8.414-8.586a4 4 0 0 0 0-5.656 4 4 0 0 0-5.656 0l-8.415 8.585a6 6 0 1 0 8.486 8.486",key:"1pkts6"}]]);var o=c(68324);let p=(0,e.A)("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]),q=(0,e.A)("SendHorizontal",[["path",{d:"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z",key:"117uat"}],["path",{d:"M6 12h16",key:"s4cdu5"}]]);var r=c(72124);function s({attachment:a,onRemove:b}){return(0,d.jsxs)("div",{className:"inline-flex items-center gap-2 rounded-full border border-border bg-background px-3 py-1 text-xs text-muted-foreground",children:[(0,d.jsx)("span",{children:a.name}),(0,d.jsxs)("span",{children:[Math.max(1,Math.round(a.size/1024))," KB"]}),b?(0,d.jsx)("button",{type:"button",onClick:()=>b(a.id),className:"text-foreground",children:"\xd7"}):null]})}function t({disabled:a,onTranscript:b}){return(0,d.jsx)("button",{type:"button",disabled:a,onClick:()=>b("Voice input captured from mock microphone control."),className:"rounded-lg border border-border/70 bg-background/80 px-3 py-2 text-sm font-medium text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50","aria-label":"Voice input",children:"Mic"})}function u({disabled:a,statusNote:b,chips:c=[],onSend:e}){let[f,g]=(0,h.useState)(""),[i,j]=(0,h.useState)([]),[l,u]=(0,h.useState)(!1),v=(0,h.useRef)(null),w=(0,r.n)({mutationFn:async a=>{let b=new FormData;b.append("file",a);let c=await fetch("/api/uploads",{method:"POST",body:b});if(!c.ok)throw Error("Upload failed");let d=await c.json();return(0,k.x)("attachment.uploaded",{name:a.name,size:a.size}),d.attachment}}),x=async a=>{let b=await w.mutateAsync(a);j(a=>[...a,b])},y=async b=>{b.preventDefault();let c=f.trim();if(!c&&0===i.length||a)return;let d=i.map(a=>a.id);g(""),j([]),(0,k.x)("chat.send",{attachmentCount:d.length}),await e(c||"Sent with attachments only.",d)};return(0,d.jsx)("form",{onSubmit:y,className:"shrink-0 border-t border-border/70 bg-background/80 p-2 md:p-3",children:(0,d.jsxs)("div",{className:"rounded-xl border border-border/70 card-default p-3 shadow-[var(--shadow-soft)]",onDragOver:a=>a.preventDefault(),onDrop:a=>{a.preventDefault();let b=a.dataTransfer.files?.[0];b&&x(b)},children:[(0,d.jsxs)("div",{className:"mb-2 flex flex-wrap items-center gap-1.5",children:[c.map(a=>(0,d.jsx)("span",{className:"rounded-full border border-border/70 bg-background/80 px-3 py-1 text-xs font-medium text-foreground",children:a.label},a.key)),(0,d.jsxs)("button",{type:"button",onClick:()=>u(a=>!a),className:"inline-flex items-center gap-1 rounded-full border border-border/70 bg-background/60 px-3 py-1 text-xs font-medium text-muted-foreground",children:["Advanced",(0,d.jsx)(m.A,{className:`h-3.5 w-3.5 transition ${l?"rotate-180":""}`})]})]}),l?(0,d.jsxs)("div",{className:"mb-3 grid gap-3 rounded-lg border border-border/70 bg-background/60 p-3 text-xs text-muted-foreground md:grid-cols-3",children:[(0,d.jsxs)("div",{className:"rounded-xl border border-border/70 bg-card/60 p-3",children:[(0,d.jsx)("p",{className:"font-semibold text-foreground",children:"Prompt focus"}),(0,d.jsx)("p",{className:"mt-1",children:"The main prompt stays dominant. Lower-frequency context and controls live here so the composer stays calm."})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border/70 bg-card/60 p-3",children:[(0,d.jsx)("p",{className:"font-semibold text-foreground",children:"Visible trust cues"}),(0,d.jsx)("p",{className:"mt-1",children:"Model, mode, tools, files, and profile remain visible before you send anything."})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border/70 bg-card/60 p-3",children:[(0,d.jsx)("p",{className:"font-semibold text-foreground",children:"Attachments"}),(0,d.jsx)("p",{className:"mt-1",children:"Drop a file anywhere on the composer or use Attach to add screenshots, notes, and code snippets."})]})]}):null,i.length?(0,d.jsx)("div",{className:"mb-3 flex flex-wrap gap-2",children:i.map(a=>(0,d.jsx)(s,{attachment:a,onRemove:a=>j(b=>b.filter(b=>b.id!==a))},a.id))}):null,(0,d.jsx)("textarea",{value:f,onChange:a=>g(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.shiftKey||(a.preventDefault(),y(a))},placeholder:a?"Agent is unavailable right now.":"Message Pan…",className:"min-h-14 w-full resize-none bg-transparent px-3 text-sm leading-7 outline-none placeholder:text-muted-foreground",disabled:a}),(0,d.jsxs)("div",{className:"mt-3 flex flex-col gap-3 xl:flex-row xl:items-center xl:justify-between",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("input",{ref:v,type:"file",className:"hidden",onChange:async a=>{let b=a.target.files?.[0];b&&(await x(b),a.currentTarget.value="")}}),(0,d.jsxs)("button",{type:"button",onClick:()=>v.current?.click(),className:"inline-flex items-center gap-2 rounded-2xl border border-border/70 bg-background/80 px-3 py-2 text-sm font-medium text-foreground",children:[(0,d.jsx)(n,{className:"h-4 w-4"}),"Attach"]}),(0,d.jsx)(t,{disabled:a,onTranscript:a=>g(b=>`${b}${b?" ":""}${a}`)}),b?(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:b}):null]}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsxs)("span",{className:"hidden items-center gap-1 text-xs text-muted-foreground md:inline-flex",children:[(0,d.jsx)(o.A,{className:"h-3.5 w-3.5"}),"Trust cues stay visible"]}),(0,d.jsxs)("span",{className:"hidden items-center gap-1 text-xs text-muted-foreground md:inline-flex",children:[(0,d.jsx)(p,{className:"h-3.5 w-3.5"}),"Tools stay explicit"]}),(0,d.jsxs)("button",{type:"submit",disabled:a||!f.trim()&&0===i.length,className:"inline-flex items-center justify-center gap-2 rounded-2xl brand-gradient px-4 py-2.5 text-sm font-semibold text-primary-foreground shadow-[var(--shadow-card)] transition hover:-translate-y-0.5 disabled:cursor-not-allowed disabled:opacity-50",children:[(0,d.jsx)(q,{className:"h-4 w-4"}),"Send"]})]})]})]})})}let v=(0,e.A)("FolderKanban",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M12 10v2",key:"hh53o1"}],["path",{d:"M16 10v6",key:"1d6xys"}]]),w=(0,e.A)("BrainCircuit",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]]),x=(0,e.A)("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);var y=c(75234);let z=(0,e.A)("Settings2",[["path",{d:"M20 7h-9",key:"3s1dr2"}],["path",{d:"M14 17H5",key:"gfn3mx"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);function A({onRename:a,onArchive:b,onDelete:c,onFork:e}){let[f,g]=(0,h.useState)(!1);return(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("button",{type:"button",onClick:()=>g(a=>!a),className:"rounded-md border border-border/70 bg-background/80 px-2.5 py-1 text-2xs font-medium text-muted-foreground hover:bg-card",children:"Manage"}),f?(0,d.jsxs)("div",{className:"absolute right-0 top-10 z-10 w-40 rounded-lg border border-border/70 bg-background p-2 shadow-lg",children:[(0,d.jsx)("button",{type:"button",onClick:()=>{g(!1),a()},className:"block w-full rounded-md px-3 py-2 text-left text-sm hover:bg-card",children:"Rename"}),(0,d.jsx)("button",{type:"button",onClick:()=>{g(!1),e()},className:"block w-full rounded-md px-3 py-2 text-left text-sm hover:bg-card",children:"Fork"}),(0,d.jsx)("button",{type:"button",onClick:()=>{g(!1),b()},className:"block w-full rounded-md px-3 py-2 text-left text-sm hover:bg-card",children:"Archive"}),(0,d.jsx)("button",{type:"button",onClick:()=>{g(!1),c()},className:"block w-full rounded-md px-3 py-2 text-left text-sm text-danger hover:bg-card",children:"Delete"})]}):null]})}var B=c(26352),C=c(44943);function D({value:a,provider:b,onChange:c,ariaLabel:e="Model switcher",disabled:f,className:g}){let i=function(a,b){let c=(0,B.w)(),d=(0,h.useMemo)(()=>{let d=new Map;for(let a of c.data?.modelOptions??[])d.set(a.id,a);return a&&!d.has(a)&&d.set(a,{id:a,label:a,provider:b||c.data?.provider||"unknown",source:"session-current"}),!d.size&&c.data?.modelDefault&&d.set(c.data.modelDefault,{id:c.data.modelDefault,label:c.data.modelDefault,provider:c.data.provider||"unknown",source:"runtime-default"}),Array.from(d.values())},[a,b,c.data?.modelDefault,c.data?.modelOptions,c.data?.provider]);return{...c,data:d}}(a,b).data??[],j=i.find(b=>b.id===a)?.label??a;return(0,d.jsxs)("div",{className:(0,C.cn)("relative",g),children:[(0,d.jsx)("select",{value:j,onChange:a=>{let b=i.find(b=>b.label===a.target.value||b.id===a.target.value);b&&c(b.id,b.provider)},className:"min-w-[14rem] appearance-none rounded-2xl border border-border/70 bg-background/85 px-4 py-2.5 pr-10 text-sm font-medium outline-none transition focus:border-primary focus:ring-2 focus:ring-primary/20 disabled:cursor-not-allowed disabled:opacity-60","aria-label":e,disabled:f||0===i.length,children:i.map(a=>(0,d.jsxs)("option",{value:a.label,children:[a.label," \xb7 ",a.provider]},a.id))}),(0,d.jsx)(m.A,{className:"pointer-events-none absolute right-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"})]})}var E=c(57025),F=c(28863);function G({title:a,settings:b,profileLabel:c,loadedSkillIds:e,runtimeConnected:f,controlsDisabled:g,isPersisted:h,archived:i,runtimeSummary:j,hasMessages:k,onOpenSettings:l,onRename:m,onArchive:n,onDelete:p,onFork:q,onModelChange:r}){let s=(e??[]).filter(a=>"skill-authoring"!==a);return(0,d.jsx)("div",{className:(0,C.cn)("shrink-0 border-b border-border/70 bg-card/80 px-5",k?"py-2.5":"py-4"),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between",children:[(0,d.jsxs)("div",{className:"min-w-0 space-y-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-xs font-semibold uppercase tracking-label text-muted-foreground",children:"Workspace conversation"}),(0,d.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-3",children:[(0,d.jsx)("h2",{className:"truncate text-xl font-semibold tracking-tight text-foreground",children:a}),i?(0,d.jsx)(E.W,{label:"Archived",tone:"warning"}):null,h?(0,d.jsx)(E.W,{label:"Saved",tone:"success"}):(0,d.jsx)(E.W,{label:"Draft",tone:"warning"})]}),j?(0,d.jsx)("p",{className:"mt-2 max-w-3xl text-sm leading-6 text-muted-foreground",children:j}):null]}),k?null:(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs",children:[(0,d.jsx)(E.W,{label:c,tone:"accent",icon:(0,d.jsx)(v,{className:"h-3.5 w-3.5 text-accent"})}),(0,d.jsx)(E.W,{label:f?"Runtime connected":"Runtime degraded",tone:(0,F.OX)(f?"healthy":"degraded")}),(0,d.jsx)(E.W,{label:b.provider,tone:"muted",icon:(0,d.jsx)(w,{className:"h-3.5 w-3.5 text-primary"})}),(0,d.jsx)(E.W,{label:b.policyPreset,tone:"muted",icon:(0,d.jsx)(o.A,{className:"h-3.5 w-3.5 text-approval"})}),(0,d.jsx)(E.W,{label:b.memoryMode,tone:"muted",icon:(0,d.jsx)(x,{className:"h-3.5 w-3.5 text-success"})})]}),k?null:(0,d.jsxs)("div",{className:"grid gap-3 xl:grid-cols-[minmax(0,1fr)_auto]",children:[(0,d.jsxs)("div",{className:"rounded-lg border border-border/70 bg-background/60 p-3.5",children:[(0,d.jsx)("p",{className:"text-2xs font-semibold uppercase tracking-label text-muted-foreground",children:"Loaded skills"}),s.length?(0,d.jsx)("div",{className:"mt-3 flex flex-wrap gap-2",children:s.map(a=>(0,d.jsx)(E.W,{label:a,tone:"success",icon:(0,d.jsx)(y.A,{className:"h-3.5 w-3.5 text-success"})},a))}):(0,d.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"No skills pinned to this session yet. Add one from Skills or load it directly in chat."})]}),(0,d.jsxs)("div",{className:"grid min-w-[220px] grid-cols-2 gap-3",children:[(0,d.jsxs)("div",{className:"rounded-lg border border-border/70 bg-background/60 p-3.5",children:[(0,d.jsx)("p",{className:"text-2xs font-semibold uppercase tracking-label text-muted-foreground",children:"Session type"}),(0,d.jsx)("p",{className:"mt-2 text-sm font-semibold text-foreground",children:h?"Saved session":"Temporary session"})]}),(0,d.jsxs)("div",{className:"rounded-lg border border-border/70 bg-background/60 p-3.5",children:[(0,d.jsx)("p",{className:"text-2xs font-semibold uppercase tracking-label text-muted-foreground",children:"Model"}),(0,d.jsx)("p",{className:"mt-2 text-sm font-semibold text-foreground",children:b.model||"Default"})]})]})]})]}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2 lg:max-w-[360px] lg:justify-end",children:[(0,d.jsx)(D,{value:b.model,provider:b.provider,onChange:r,ariaLabel:"Header model switcher",disabled:g}),(0,d.jsxs)("button",{type:"button",onClick:l,disabled:g,"aria-label":"Settings",className:"inline-flex items-center gap-2 rounded-2xl border border-border/70 bg-background/80 px-3 py-2.5 text-sm font-medium text-foreground shadow-[var(--shadow-card)] transition hover:-translate-y-0.5 hover:bg-card disabled:cursor-not-allowed disabled:opacity-60",children:[(0,d.jsx)(z,{className:"h-4 w-4"}),"Settings"]}),(0,d.jsx)(A,{onRename:m,onArchive:n,onDelete:p,onFork:q})]})]})})}function H({event:a,onApprove:b,onReject:c}){return(0,d.jsxs)("div",{className:"rounded-lg border border-approval/35 bg-approval/10 p-4 shadow-[var(--shadow-card)]",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Approval needed"}),(0,d.jsx)("h4",{className:"mt-1 text-sm font-semibold text-foreground",children:a.toolName}),(0,d.jsx)("p",{className:"mt-2 text-sm leading-6 text-foreground",children:a.summary})]}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,d.jsx)(E.W,{label:a.governance??"approval-gated",tone:(0,F.fh)(a.governance??"approval-gated")}),a.riskLevel?(0,d.jsx)(E.W,{label:`${a.riskLevel} risk`,tone:(0,F.yD)(a.riskLevel)}):null]})]}),(0,d.jsxs)("div",{className:"mt-4 flex gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:()=>b(a.toolCallId),className:"rounded-xl bg-primary px-4 py-2 text-sm font-medium text-primary-foreground shadow-[var(--shadow-card)]",children:"Approve"}),(0,d.jsx)("button",{type:"button",onClick:()=>c(a.toolCallId),className:"rounded-xl border border-border px-4 py-2 text-sm text-foreground",children:"Reject"})]})]})}function I({artifact:a,onOpen:b}){return(0,d.jsxs)("button",{type:"button",onClick:()=>b(a.artifactId),className:"w-full rounded-2xl border border-border bg-card p-4 text-left shadow-sm transition hover:bg-muted/40",children:[(0,d.jsxs)("p",{className:"text-xs uppercase tracking-wide text-muted-foreground",children:["Artifact \xb7 ",a.artifactType]}),(0,d.jsx)("h4",{className:"mt-1 text-sm font-semibold",children:a.label}),a.content?(0,d.jsx)("p",{className:"mt-2 line-clamp-3 text-sm text-muted-foreground",children:a.content}):null]})}var J=c(55056);let K=(0,e.A)("UserRound",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]]);function L({text:a}){return(0,d.jsx)("button",{type:"button",onClick:()=>{},className:"rounded-md border border-border px-2 py-1 text-2xs text-muted-foreground","aria-label":"Play voice",children:"TTS"})}function M({message:a}){let b="user"===a.role;return(0,d.jsxs)("div",{className:(0,C.cn)("flex w-full gap-3",b?"justify-end":"justify-start"),children:[b?null:(0,d.jsx)("div",{className:"mt-1 flex h-9 w-9 shrink-0 items-center justify-center rounded-2xl bg-[linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)))] text-primary-foreground shadow-[var(--shadow-card)]",children:(0,d.jsx)(J.A,{className:"h-4 w-4"})}),(0,d.jsxs)("div",{className:(0,C.cn)("max-w-[88%] space-y-2",b&&"items-end"),children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,d.jsx)("p",{className:"text-2xs font-semibold uppercase tracking-label text-muted-foreground",children:b?"You":"Pan"}),(0,d.jsx)("p",{className:"text-2xs uppercase tracking-label text-muted-foreground",children:new Date(a.createdAt).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]}),(0,d.jsxs)("div",{className:(0,C.cn)("rounded-lg border px-4 py-3 text-sm shadow-[var(--shadow-card)]",b?"border-primary/15 bg-[linear-gradient(135deg,hsl(var(--primary))/0.98,hsl(var(--accent))/0.92)] text-primary-foreground":"border-border/70 bg-card/80 text-card-foreground"),children:[(0,d.jsx)("p",{className:"whitespace-pre-wrap leading-7",children:a.content}),a.attachments?.length?(0,d.jsx)("div",{className:"mt-3 flex flex-wrap gap-2",children:a.attachments.map(a=>(0,d.jsx)(s,{attachment:a},a.id))}):null,b?null:(0,d.jsx)("div",{className:"mt-3 flex items-center gap-2",children:(0,d.jsx)(L,{text:a.content})})]})]}),b?(0,d.jsx)("div",{className:"mt-1 flex h-9 w-9 shrink-0 items-center justify-center rounded-2xl border border-border/70 bg-background/80 text-foreground shadow-[var(--shadow-card)]",children:(0,d.jsx)(K,{className:"h-4 w-4"})}):null]})}var N=c(57101);function O(a){let b=[...a].reverse().find(a=>"run.phase"===a.type);if(b?.type==="run.phase")return b.label;if([...a].reverse().find(a=>"tool.awaiting_approval"===a.type))return"Waiting for approval before the agent can continue.";let c=[...a].reverse().find(a=>"tool.started"===a.type);return c?.type==="tool.started"?`${c.toolName} is running.`:"Pan is responding…"}function P({messages:a,runEvents:b,artifacts:c,streamingMessage:e,isStreaming:g,isLoading:i,onApprove:j,onReject:k,onOpenArtifact:l}){let m=b.filter(a=>"assistant.delta"!==a.type&&"source.emitted"!==a.type),n=[...b].reverse().find(a=>"run.phase"===a.type),o=b.filter(a=>"tool.awaiting_approval"===a.type).length,p=(0,h.useRef)(null),q=(0,h.useRef)(null);return(0,h.useRef)(!1),(0,d.jsxs)("div",{ref:p,className:"flex min-h-0 flex-1 flex-col gap-5 overflow-y-auto px-5 py-5",children:[i?(0,d.jsx)("div",{className:"rounded-xl border border-border/70 bg-card/60 p-8 text-sm text-muted-foreground shadow-[var(--shadow-card)]",children:"Loading conversation…"}):null,i||0!==a.length?null:(0,d.jsxs)("div",{className:"rounded-xl border border-dashed border-border/70 bg-gradient-to-br from-primary/[0.06] to-accent/[0.03] p-8 text-sm text-muted-foreground shadow-[var(--shadow-card)]",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-foreground",children:[(0,d.jsx)(y.A,{className:"h-4 w-4 text-primary"}),(0,d.jsx)("p",{className:"font-semibold",children:"Start a conversation"})]}),(0,d.jsx)("p",{className:"mt-3 max-w-2xl leading-7",children:"Research, plan, debug, or build. Runtime activity, approvals, sources, and generated outputs stay legible instead of being buried inside assistant prose."}),(0,d.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[(0,d.jsx)(E.W,{label:"Chat-first",tone:"accent"}),(0,d.jsx)(E.W,{label:"Tool-aware",tone:"success"}),(0,d.jsx)(E.W,{label:"Approval-ready",tone:"warning"})]})]}),(g||m.length>0)&&!i?(0,d.jsx)("div",{className:"rounded-lg border border-border/70 bg-background/60 p-4 shadow-[var(--shadow-card)]",children:(0,d.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-2xs font-semibold uppercase tracking-label text-muted-foreground",children:"Runtime activity"}),(0,d.jsx)("p",{className:"mt-1 text-sm font-medium text-foreground",children:g?O(b):n?.label??"No active tool run"})]}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-2",children:[n?.type==="run.phase"?(0,d.jsx)(E.W,{label:n.phase,tone:"accent"}):null,(0,d.jsx)(E.W,{label:`${m.length} events`,tone:"muted"}),o?(0,d.jsx)(E.W,{label:`${o} approvals`,tone:"warning"}):null]})]})}):null,a.map(a=>(0,d.jsx)(M,{message:a},a.id)),m.map((a,b)=>{if("tool.started"===a.type||"tool.completed"===a.type)return(0,d.jsx)(N.J,{event:a},`${a.type}-${a.toolCallId}-${b}`);if("tool.awaiting_approval"===a.type)return(0,d.jsx)(H,{event:a,onApprove:j,onReject:k},`${a.type}-${a.toolCallId}-${b}`);if("artifact.emitted"===a.type){let e=c.find(b=>b.artifactId===a.artifactId)??a;return(0,d.jsx)(I,{artifact:e,onOpen:l},`${a.type}-${a.artifactId}-${b}`)}return"run.phase"===a.type?(0,d.jsx)("div",{className:"rounded-lg border border-border/70 bg-background/80 px-4 py-3 text-sm text-muted-foreground shadow-[var(--shadow-card)]",children:a.label},`${a.type}-${b}`):"error"===a.type?(0,d.jsx)("div",{className:"rounded-lg border border-danger/30 bg-danger/10 p-4 text-sm text-foreground shadow-[var(--shadow-card)]",children:(0,d.jsxs)("div",{className:"flex items-start gap-2",children:[(0,d.jsx)(f,{className:"mt-0.5 h-4 w-4 text-danger"}),(0,d.jsx)("p",{children:a.message})]})},`${a.type}-${b}`):null}),g?(0,d.jsxs)("div",{className:"flex justify-start gap-3",children:[(0,d.jsx)("div",{className:"mt-1 flex h-9 w-9 items-center justify-center rounded-2xl bg-[linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)))] text-primary-foreground shadow-[var(--shadow-card)]",children:(0,d.jsx)(y.A,{className:"h-4 w-4"})}),(0,d.jsxs)("div",{className:"max-w-[88%] rounded-lg border border-border/70 bg-card/80 px-4 py-3 text-sm shadow-[var(--shadow-card)]",children:[(0,d.jsx)("p",{className:"whitespace-pre-wrap leading-7",children:e||"…"}),(0,d.jsx)("p",{className:"mt-3 text-2xs uppercase tracking-label text-muted-foreground",children:O(b)})]})]}):null,(0,d.jsx)("div",{ref:q,"aria-hidden":"true",className:"h-px shrink-0"})]})}var Q=c(96610);function R(a){if(!a)return null;let b=a.title||a.label||a.name||a.href||a.url;return b?{id:String(a.id||a.href||a.url||a.label||b),title:String(b),href:a.href||a.url?String(a.href||a.url):void 0,snippet:a.snippet||a.quote||a.description?String(a.snippet||a.quote||a.description):void 0,sourceType:function(a){switch(String(a||"").toLowerCase()){case"web":case"url":return"web";case"file":return"file";case"workspace":return"workspace";case"integration":return"integration";default:return"unknown"}}(a.sourceType||a.kind||a.type),provenance:function(a){switch(String(a||"").toLowerCase()){case"builtin":case"built-in":return"built-in";case"verified":return"verified";case"self-hosted":case"self_hosted":return"self-hosted";case"local-process":case"local_process":return"local-process";default:return"custom"}}(a.provenance),note:a.note?String(a.note):void 0,label:a.label?String(a.label):void 0}:null}var S=c(78796);function T({open:a,title:b,description:c,confirmLabel:e,confirmClassName:f,onClose:g,onConfirm:h}){return a?(0,d.jsx)("div",{className:"fixed inset-0 z-30 flex items-center justify-center bg-black/50 p-4",children:(0,d.jsxs)("div",{className:"w-full max-w-md rounded-2xl border border-border bg-background p-5 shadow-xl",children:[(0,d.jsx)("h3",{className:"text-lg font-semibold",children:b}),(0,d.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:c}),(0,d.jsxs)("div",{className:"mt-5 flex justify-end gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:g,className:"rounded-lg border border-border px-4 py-2 text-sm",children:"Cancel"}),(0,d.jsx)("button",{type:"button",onClick:()=>void h(),className:f??"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground",children:e})]})]})}):null}function U({open:a,initialTitle:b,onClose:c,onSubmit:e}){let[f,g]=(0,h.useState)(b);return a?(0,d.jsx)("div",{className:"fixed inset-0 z-30 flex items-center justify-center bg-black/50 p-4",children:(0,d.jsxs)("div",{className:"w-full max-w-md rounded-2xl border border-border bg-background p-5 shadow-xl",children:[(0,d.jsx)("h3",{className:"text-lg font-semibold",children:"Rename session"}),(0,d.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Give this conversation a clearer title."}),(0,d.jsx)("input",{"aria-label":"Rename session input",value:f,onChange:a=>g(a.target.value),className:"mt-4 w-full rounded-lg border border-input bg-background px-3 py-2 text-sm outline-none focus:border-primary"}),(0,d.jsxs)("div",{className:"mt-5 flex justify-end gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:c,className:"rounded-lg border border-border px-4 py-2 text-sm",children:"Cancel"}),(0,d.jsx)("button",{type:"button",onClick:()=>void e(f),className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground",children:"Save"})]})]})}):null}var V=c(8849);let W=(0,e.A)("Pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]),X=(0,e.A)("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]),Y=(0,e.A)("Clock3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16.5 12",key:"1aq6pp"}]]);function Z({value:a,onChange:b}){return(0,d.jsx)("div",{className:"border-b border-border/70 px-4 pb-3 pt-1",children:(0,d.jsx)("input",{value:a,onChange:a=>b(a.target.value),placeholder:"Search sessions…",className:"w-full rounded-2xl border border-border/70 bg-background/85 px-4 py-3 text-sm outline-none transition focus:border-primary focus:ring-2 focus:ring-primary/20"})})}function $({sessions:a,selectedSessionId:b,search:c,isLoading:e,onSearchChange:f,onNewChat:g,onSelectSession:i}){let[j,k]=(0,h.useState)(25),l=c.trim()?a.filter(a=>!a.parentSessionId):a,m=l.filter(a=>a.pinned&&!a.archived),n=l.filter(a=>!a.pinned&&!a.archived),o=l.filter(a=>a.archived),[p,q]=(0,h.useState)(!1),r=[{label:"Pinned",items:m},{label:"Recent",items:n.slice(0,j)},{label:"Archived",items:p?o:o.slice(0,5)}].filter(a=>a.items.length>0),s=n.length>j,t=!p&&o.length>5;return(0,d.jsxs)("aside",{className:"flex h-full max-h-full flex-col overflow-hidden rounded-xl border border-border/70 bg-card/60 shadow-[var(--shadow-soft)]",children:[(0,d.jsxs)("div",{className:"border-b border-border/70 p-4",children:[(0,d.jsx)("p",{className:"mb-3 text-xs font-semibold uppercase tracking-label text-muted-foreground",children:"Workspace"}),(0,d.jsx)("div",{className:"rounded-lg bg-[linear-gradient(135deg,hsl(var(--primary))/0.16,hsl(var(--accent))/0.12)] p-1",children:(0,d.jsxs)("button",{type:"button",onClick:g,className:"flex w-full items-center justify-center gap-2 rounded-lg brand-gradient px-4 py-3 text-sm font-semibold text-primary-foreground shadow-[var(--shadow-card)] transition hover:-translate-y-0.5",children:[(0,d.jsx)(V.A,{className:"h-4 w-4"}),"New chat"]})}),(0,d.jsxs)("div",{className:"mt-4 grid grid-cols-3 gap-2 text-center",children:[(0,d.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/60 px-2 py-2.5",children:[(0,d.jsx)("p",{className:"text-2xs uppercase tracking-label text-muted-foreground",children:"All"}),(0,d.jsx)("p",{className:"mt-1 text-sm font-semibold text-foreground",children:l.length})]}),(0,d.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/60 px-2 py-2.5",children:[(0,d.jsx)("p",{className:"text-2xs uppercase tracking-label text-muted-foreground",children:"Pinned"}),(0,d.jsx)("p",{className:"mt-1 text-sm font-semibold text-foreground",children:m.length})]}),(0,d.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/60 px-2 py-2.5",children:[(0,d.jsx)("p",{className:"text-2xs uppercase tracking-label text-muted-foreground",children:"Archived"}),(0,d.jsx)("p",{className:"mt-1 text-sm font-semibold text-foreground",children:o.length})]})]})]}),(0,d.jsx)(Z,{value:c,onChange:f}),(0,d.jsxs)("div",{className:"flex-1 space-y-4 overflow-y-auto p-3",children:[e?(0,d.jsx)("div",{className:"rounded-2xl border border-dashed border-border/70 bg-background/60 p-4 text-sm text-muted-foreground",children:"Loading sessions…"}):null,e||0!==l.length?null:(0,d.jsx)("div",{className:"rounded-2xl border border-dashed border-border/70 bg-background/60 p-4 text-sm text-muted-foreground",children:"No sessions match your search."}),r.map(a=>(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-2 text-2xs font-semibold uppercase tracking-label text-muted-foreground",children:[(0,d.jsx)("span",{children:a.label}),(0,d.jsx)("span",{children:a.items.length})]}),a.items.map(a=>{var c;return(0,d.jsxs)("button",{type:"button",onClick:()=>i(a.id),"aria-label":/\(fork\)/i.test(a.title)&&b!==a.id?a.title:`Open session ${a.id}`,className:(0,C.cn)("w-full rounded-lg border px-4 py-3 text-left transition",b===a.id?"border-primary/20 bg-primary/8":"border-border/70 bg-background/80 hover:border-border hover:bg-card"),children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{"aria-hidden":"true",className:"truncate text-sm font-semibold text-foreground",children:a.title}),(0,d.jsx)("p",{"aria-hidden":"true",className:"mt-1 line-clamp-2 text-xs leading-5 text-muted-foreground",children:(c=a.preview)?c.length>88?`${c.slice(0,85)}…`:c:"No messages yet."})]}),(0,d.jsxs)("div",{className:"flex shrink-0 flex-col items-end gap-1",children:[a.pinned?(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-border/70 px-2 py-0.5 text-3xs uppercase tracking-label text-muted-foreground",children:[(0,d.jsx)(W,{className:"h-3 w-3"}),"Pinned"]}):null,a.parentSessionId?(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-border/70 px-2 py-0.5 text-3xs uppercase tracking-label text-muted-foreground",children:[(0,d.jsx)(X,{className:"h-3 w-3"}),"Fork"]}):null]})]}),(0,d.jsxs)("div",{className:"mt-3 flex items-center justify-between gap-2 text-2xs text-muted-foreground",children:[(0,d.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,d.jsx)(Y,{className:"h-3.5 w-3.5"}),new Date(a.updatedAt).toLocaleString([],{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})]}),a.workspaceLabel?(0,d.jsx)("span",{children:a.workspaceLabel}):null]})]},a.id)})]},a.label)),s?(0,d.jsxs)("button",{type:"button",onClick:()=>k(a=>a+25),className:"mx-2 mt-2 rounded-xl border border-border/70 bg-background/80 px-3 py-2 text-xs font-medium text-muted-foreground transition hover:bg-card",children:["Show more (",n.length-j," remaining)"]}):null,t?(0,d.jsxs)("button",{type:"button",onClick:()=>q(!0),className:"mx-2 mt-2 rounded-xl border border-border/70 bg-background/80 px-3 py-2 text-xs font-medium text-muted-foreground transition hover:bg-card",children:["Show all archived (",o.length-5," more)"]}):null]})]})}function _({open:a,settings:b,saving:c,error:e,disabled:f,onClose:g,onSave:i}){let[j,k]=(0,h.useState)(b);return a?(0,d.jsx)("div",{className:"fixed inset-0 z-30 flex justify-end bg-black/45 backdrop-blur-sm",children:(0,d.jsxs)("div",{className:"h-full w-full max-w-md border-l border-border/70 bg-background/95 p-5 shadow-[var(--shadow-elevated)]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-lg font-semibold",children:"Session controls"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Model selection is runtime-backed. Policy and memory settings are session guidance stored with this chat."})]}),(0,d.jsx)("button",{type:"button",onClick:g,className:"rounded-2xl border border-border/70 bg-background/80 px-3 py-2 text-sm font-medium text-foreground",children:"Close"})]}),(0,d.jsxs)("div",{className:"mt-6 space-y-5 rounded-lg border border-border/70 bg-card/60 p-4 shadow-[var(--shadow-card)]",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("label",{htmlFor:"chat-model",className:"text-sm font-medium",children:"Model"}),(0,d.jsx)("div",{id:"chat-model",children:(0,d.jsx)(D,{value:j.model,provider:j.provider,onChange:(a,b)=>k(c=>({...c,model:a,provider:b})),ariaLabel:"Settings model switcher",disabled:f||c,className:"w-full"})})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("label",{htmlFor:"policy-preset",className:"text-sm font-medium",children:"Policy preset"}),(0,d.jsxs)("select",{id:"policy-preset",value:j.policyPreset,onChange:a=>k(b=>({...b,policyPreset:a.target.value})),className:"w-full rounded-2xl border border-input bg-background/85 px-4 py-3 text-sm outline-none transition focus:border-primary focus:ring-2 focus:ring-primary/20",disabled:f||c,children:[(0,d.jsx)("option",{value:"safe-chat",children:"Safe Chat"}),(0,d.jsx)("option",{value:"research",children:"Research"}),(0,d.jsx)("option",{value:"builder",children:"Builder"}),(0,d.jsx)("option",{value:"full-power",children:"Full Power"})]})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("label",{htmlFor:"memory-mode",className:"text-sm font-medium",children:"Memory mode"}),(0,d.jsxs)("select",{id:"memory-mode",value:j.memoryMode,onChange:a=>k(b=>({...b,memoryMode:a.target.value})),className:"w-full rounded-2xl border border-input bg-background/85 px-4 py-3 text-sm outline-none transition focus:border-primary focus:ring-2 focus:ring-primary/20",disabled:f||c,children:[(0,d.jsx)("option",{value:"standard",children:"Standard"}),(0,d.jsx)("option",{value:"minimal",children:"Minimal"})]})]})]}),e?(0,d.jsx)("div",{className:"mt-4 rounded-2xl border border-danger/30 bg-danger/10 px-4 py-3 text-sm text-foreground",children:e}):null,(0,d.jsx)("div",{className:"mt-8 flex justify-end",children:(0,d.jsx)("button",{type:"button",onClick:()=>void i(j),disabled:f||c,className:"rounded-2xl bg-[linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)))] px-4 py-2.5 text-sm font-semibold text-primary-foreground shadow-[var(--shadow-card)] disabled:cursor-not-allowed disabled:opacity-60",children:c?"Saving…":"Save settings"})})]})}):null}function aa(){let a=(0,i.useSearchParams)();a.get("session");let b=a.get("loadedSkill"),[c,e]=(0,h.useState)(""),[m,n]=(0,h.useState)(null),[o,p]=(0,h.useState)([]),[q,s]=(0,h.useState)(""),[t,v]=(0,h.useState)(!1),[w,x]=(0,h.useState)(!1),[y,z]=(0,h.useState)(!1),[A,C]=(0,h.useState)(!1),[D,E]=(0,h.useState)(null),[F,H]=(0,h.useState)(null),[I,J]=(0,h.useState)({model:"",provider:"unknown",policyPreset:"safe-chat",memoryMode:"standard"}),K=(0,S.te)(c),L=(0,B.w)(),M=(0,S.oz)(),N=(0,S.Kp)(),O=(0,S.Sv)(),V=(0,S.tS)(),W=(0,S.QV)(),X=(0,S.Or)(),Y=function(){let a=(0,Q.jE)();return(0,r.n)({mutationFn:async({sessionId:a,message:b,attachmentIds:c,onEvent:d})=>{let e=await fetch("/api/chat/stream",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:a,message:b,attachmentIds:c})});if(!e.ok||!e.body){let a=await e.json().catch(()=>null);throw new j.h(e.status,a?.error??"Unable to stream response",a?.code,a)}let f=e.body.getReader(),g=new TextDecoder,h="",i=!1;for(;!i;){let{value:a,done:b}=await f.read();if(i=b,b||!a)break;let c=(h+=g.decode(a,{stream:!0})).split("\n\n");for(let a of(h=c.pop()??"",c))for(let b of function(a){let b=[];for(let c of a.split("\n\n"))for(let a of c.split("\n").filter(a=>a.startsWith("data:"))){let c=a.replace(/^data:\s*/,"").trim();if(!c||"[DONE]"===c)continue;let d=function(a){try{return JSON.parse(a)}catch{return null}}(c);if(!d)continue;if("assistant.delta"===d.type||"run.phase"===d.type||"tool.started"===d.type||"tool.awaiting_approval"===d.type||"tool.completed"===d.type||"artifact.emitted"===d.type||"source.emitted"===d.type||"error"===d.type){b.push(d);continue}if("response.output_text.delta"===d.type&&d.delta){b.push({type:"assistant.delta",delta:String(d.delta)});continue}if("response.output_item.added"===d.type&&d.item?.type==="function_call"){b.push({type:"tool.started",toolCallId:String(d.item.call_id||d.item.id||"tool-call"),toolName:String(d.item.name||"function_call"),riskLevel:"execute",provenance:"local-process"});continue}if("response.output_item.done"===d.type&&d.item?.type==="function_call"){b.push({type:"tool.completed",toolCallId:String(d.item.call_id||d.item.id||"tool-call"),toolName:String(d.item.name||"function_call"),output:"string"==typeof d.item.arguments?d.item.arguments:JSON.stringify(d.item.arguments||{}),riskLevel:"execute"});continue}if("response.output_item.added"===d.type&&d.item?.type==="file_search_call"){b.push({type:"tool.started",toolCallId:String(d.item.call_id||d.item.id||"file-search"),toolName:"file_search",riskLevel:"read",provenance:"built-in"});continue}let e=R(d.source||d.citation||d.metadata?.source||null);if(e&&b.push({type:"source.emitted",source:e}),("response.completed"===d.type||"response.output_item.done"===d.type)&&Array.isArray(d.response?.output))for(let a of d.response.output){if(a?.type==="message"&&Array.isArray(a.content))for(let c of a.content){(c?.type==="output_text"||c?.type==="text")&&c.text&&b.push({type:"assistant.delta",delta:String(c.text)});let a=R(c?.source||c?.citation||null);a&&b.push({type:"source.emitted",source:a})}a?.type==="function_call"&&b.push({type:"tool.completed",toolCallId:String(a.call_id||a.id||"tool-call"),toolName:String(a.name||"function_call"),output:"string"==typeof a.arguments?a.arguments:JSON.stringify(a.arguments||{}),riskLevel:"execute"})}}return b}(`${a}
2
2
 
3
- `))d?.(b)}return a},onSuccess:async b=>{await a.invalidateQueries({queryKey:["sessions"]}),await a.invalidateQueries({queryKey:["session",b]})}})}(),{runEvents:Z,artifacts:aa,addRunEvent:ab,addArtifact:ac,resetRunState:ad,selectArtifact:ae,updateApprovalState:af,activeSessionId:ag,setActiveSessionId:ah,selectedProfileId:ai,recentlyLoadedSkillIds:aj,sessionLoadedSkillIds:ak}=(0,l.j)(),al=(0,S.wV)(m),am=(0,h.useMemo)(()=>[...al.data?.messages??[],...o],[o,al.data?.messages]),an=L.data?.apiReachable??!1,ao=L.data?.available??!1,ap=L.data?.mockMode??!1,aq=ao&&!an,ar=aq&&!ap||X.isPending,as=al.data?.title??"New chat",at=L.data?.activeProfile??ai??"default",au=!!(m&&al.data),av=[{key:"model",label:`Model \xb7 ${I.model||"default"}`},{key:"mode",label:`Mode \xb7 ${I.policyPreset}`},{key:"tools",label:`Tools \xb7 ${an?"runtime live":"degraded"}`},{key:"files",label:`Files \xb7 ${aa.length}`},{key:"profile",label:`Profile \xb7 ${at}`}],aw=Array.from(new Set([b,...(m?ak[m]??[]:[])??[],...aj??[],...al.data?.loadedSkillIds??[]].filter(Boolean))),ax=an?`Talking to ${I.provider} via the live runtime.`:ap?"Mock mode is active for chat flows, approvals, sources, and artifacts.":ao?"Runtime is detected but the API is unreachable, so sending is paused until connectivity returns.":"Runtime was not detected. The UI can still show saved local state and explicit fallback labels.",ay=async()=>{H(null),E(null),ad(),n(null),ah(null),p([]),s("")},az=async(a,b)=>{let c=m;c||(n(c=(await M.mutateAsync()).session.id),ah(c));let d={id:`optimistic-${Date.now()}`,role:"user",content:a,createdAt:new Date().toISOString()};ad(),H(null),p(a=>[...a,d]),s("");let e=!1;try{await Y.mutateAsync({sessionId:c,message:a,attachmentIds:b,onEvent:a=>{if("assistant.delta"===a.type)return void s(b=>b+a.delta);ab(a),"artifact.emitted"===a.type&&ac({artifactId:a.artifactId,artifactType:a.artifactType,label:a.label,content:a.content})}})}catch(b){e=!0;let a=b instanceof Error?b.message:"Unable to send message.";b instanceof j.h&&503===b.status?(H("Message saved, but the runtime API is unavailable right now. Check diagnostics or retry when the backend comes back."),await Promise.all([al.refetch(),K.refetch(),L.refetch()])):H(a),p([]),s("")}e||(await al.refetch(),p([]),s(""))},aA=async(a,b)=>{if(m){E(null),H(null),J(c=>({...c,model:a,provider:b}));try{await X.mutateAsync({sessionId:m,settings:{model:a,provider:b}})}catch(a){J(I),E(a instanceof Error?a.message:"Unable to update session settings.")}}},aB=async a=>{if(m){E(null),H(null),J(b=>({...b,...a}));try{await X.mutateAsync({sessionId:m,settings:a}),C(!1)}catch(a){J(I),E(a instanceof Error?a.message:"Unable to update session settings.")}}};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"grid h-full gap-5 lg:grid-cols-[320px_minmax(0,1fr)]",children:[(0,d.jsx)($,{sessions:K.data??[],selectedSessionId:m,search:c,isLoading:K.isLoading,onSearchChange:e,onNewChat:()=>void ay(),onSelectSession:a=>{H(null),E(null),ad(),n(a),ah(a),p([]),s("")}}),(0,d.jsxs)("section",{className:"flex min-w-0 flex-col overflow-hidden rounded-xl border border-border/70 bg-card/60 shadow-[var(--shadow-elevated)]",children:[ap?(0,d.jsx)("div",{className:"border-b border-warning/30 bg-warning/10 px-5 py-3 text-sm text-foreground",children:"Mock mode is active for chat flows, approvals, sources, and artifacts."}):null,(0,d.jsx)(G,{title:as,settings:I,profileLabel:at,loadedSkillIds:aw,runtimeConnected:an,controlsDisabled:ar,isPersisted:au,archived:al.data?.archived,runtimeSummary:ax,hasMessages:am.length>0,onOpenSettings:()=>{E(null),C(!0)},onRename:()=>v(!0),onArchive:()=>x(!0),onDelete:()=>z(!0),onFork:()=>{m&&W.mutateAsync(m).then(({session:a})=>{ad(),e(""),n(a.id),ah(a.id),p([]),s("")})},onModelChange:(a,b)=>{aA(a,b)}}),(0,d.jsx)(P,{messages:am,runEvents:Z,artifacts:aa,streamingMessage:q,isStreaming:Y.isPending,isLoading:al.isLoading,onApprove:a=>{(0,k.x)("approval.approved",{toolCallId:a}),fetch(`/api/runtime/approvals/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:"approved"})}).catch(()=>void 0),af(a,!0)},onReject:a=>{(0,k.x)("approval.rejected",{toolCallId:a}),fetch(`/api/runtime/approvals/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:"rejected"})}).catch(()=>void 0),af(a,!1)},onOpenArtifact:a=>ae(a)}),aq&&!ap?(0,d.jsx)("div",{className:"mx-4 mb-0 rounded-lg border border-warning/30 bg-warning/10 px-4 py-4 text-sm text-foreground shadow-[var(--shadow-card)]",children:(0,d.jsxs)("div",{className:"flex flex-col gap-3 md:flex-row md:items-center md:justify-between",children:[(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)(f,{className:"mt-0.5 h-5 w-5 text-warning"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"font-semibold",children:"Runtime API is currently unavailable"}),(0,d.jsx)("p",{className:"mt-1 text-muted-foreground",children:"You can still inspect saved sessions, approvals, sources, and artifacts, but sending new messages is paused until the backend reconnects."})]})]}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>void L.refetch(),className:"inline-flex items-center gap-2 rounded-2xl border border-border/70 bg-background/80 px-3 py-2 text-sm font-medium text-foreground",children:[(0,d.jsx)(g.A,{className:"h-4 w-4"}),"Retry runtime"]}),(0,d.jsx)("a",{href:"/settings/health",className:"rounded-2xl border border-border/70 bg-background/80 px-3 py-2 text-sm font-medium text-foreground",children:"Open diagnostics"})]})]})}):null,F||D?(0,d.jsx)("div",{className:"mx-4 mt-4 rounded-lg border border-danger/30 bg-danger/10 px-4 py-3 text-sm text-foreground shadow-[var(--shadow-card)]",children:F||D}):null,(0,d.jsx)(u,{disabled:Y.isPending||aq&&!ap,statusNote:aq&&!ap?"Runtime offline — sending is paused until it reconnects.":ap?"Mock mode active \xb7 Enter to send \xb7 Shift+Enter for newline \xb7 drag files to attach.":"Enter to send \xb7 Shift+Enter for newline \xb7 drag files to attach.",chips:av,onSend:az})]})]}),(0,d.jsx)(U,{open:t,initialTitle:as,onClose:()=>v(!1),onSubmit:async a=>{m&&(v(!1),await N.mutateAsync({sessionId:m,title:a}))}}),(0,d.jsx)(T,{open:w,title:"Archive session",description:"Archive this conversation but keep it available in history and search.",confirmLabel:"Archive",onClose:()=>x(!1),onConfirm:async()=>{m&&(await O.mutateAsync(m),x(!1))}}),(0,d.jsx)(T,{open:y,title:"Delete session",description:"This permanently removes the selected conversation from the current chat history.",confirmLabel:"Delete",confirmClassName:"rounded-2xl bg-danger px-4 py-2 text-sm font-medium text-white",onClose:()=>z(!1),onConfirm:async()=>{m&&(await V.mutateAsync(m),ad(),z(!1),m==m&&n(null))}}),(0,d.jsx)(_,{open:A,settings:I,saving:X.isPending,error:D,disabled:aq&&!ap,onClose:()=>C(!1),onSave:aB})]})}},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},58169:(a,b,c)=>{Promise.resolve().then(c.bind(c,18548)),Promise.resolve().then(c.bind(c,79546)),Promise.resolve().then(c.bind(c,38436)),Promise.resolve().then(c.bind(c,27352))},60833:(a,b,c)=>{"use strict";c.d(b,{ChatScreen:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call ChatScreen() from the server but ChatScreen is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/pan-ui/pan-ui/src/features/chat/components/chat-screen.tsx","ChatScreen")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},68324:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(23339).A)("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]])},77598:a=>{"use strict";a.exports=require("node:crypto")},83642:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>D.a,__next_app__:()=>J,handler:()=>L,pages:()=>I,routeModule:()=>K,tree:()=>H});var d=c(49754),e=c(9117),f=c(46595),g=c(32324),h=c(39326),i=c(38928),j=c(20175),k=c(12),l=c(54290),m=c(12696),n=c(82802),o=c(77533),p=c(45229),q=c(32822),r=c(261),s=c(26453),t=c(52474),u=c(26713),v=c(51356),w=c(62685),x=c(36225),y=c(63446),z=c(2762),A=c(45742),B=c(86439),C=c(81170),D=c.n(C),E=c(62506),F=c(91203),G={};for(let a in E)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(G[a]=()=>E[a]);c.d(b,G);let H={children:["",{children:["chat",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,22516)),"/home/runner/work/pan-ui/pan-ui/src/app/chat/page.tsx"]}]},{metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,70440))).default(a),async a=>(await Promise.resolve().then(c.bind(c,59645))).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}}]},{layout:[()=>Promise.resolve().then(c.bind(c,51472)),"/home/runner/work/pan-ui/pan-ui/src/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,81170,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,87028,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,90461,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,32768,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,70440))).default(a),async a=>(await Promise.resolve().then(c.bind(c,59645))).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}}]}.children,I=["/home/runner/work/pan-ui/pan-ui/src/app/chat/page.tsx"],J={require:c,loadChunk:()=>Promise.resolve()},K=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/chat/page",pathname:"/chat",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:H},distDir:".next",relativeProjectDir:""});async function L(a,b,d){var C;let G="/chat/page";"/index"===G&&(G="/");let M=(0,h.getRequestMeta)(a,"postponed"),N=(0,h.getRequestMeta)(a,"minimalMode"),O=await K.prepare(a,b,{srcPage:G,multiZoneDraftMode:!1});if(!O)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:P,query:Q,params:R,parsedUrl:S,pageIsDynamic:T,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,serverActionsManifest:X,clientReferenceManifest:Y,subresourceIntegrityManifest:Z,prerenderManifest:$,isDraftMode:_,resolvedPathname:aa,revalidateOnlyGenerated:ab,routerServerContext:ac,nextConfig:ad,interceptionRoutePatterns:ae}=O,af=S.pathname||"/",ag=(0,r.normalizeAppPath)(G),{isOnDemandRevalidate:ah}=O,ai=K.match(af,$),aj=!!$.routes[aa],ak=!!(ai||aj||$.routes[ag]),al=a.headers["user-agent"]||"",am=(0,u.getBotType)(al),an=(0,p.isHtmlBotRequest)(a),ao=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],ap=(0,h.getRequestMeta)(a,"isRSCRequest")??!!a.headers[t.RSC_HEADER],aq=(0,s.getIsPossibleServerAction)(a),ar=(0,m.checkIsAppPPREnabled)(ad.experimental.ppr)&&(null==(C=$.routes[ag]??$.dynamicRoutes[ag])?void 0:C.renderingMode)==="PARTIALLY_STATIC",as=!1,at=!1,au=ar?M:void 0,av=ar&&ap&&!ao,aw=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ax=!al||(0,p.shouldServeStreamingMetadata)(al,ad.htmlLimitedBots);an&&ar&&(ak=!1,ax=!1);let ay=!0===K.isDev||!ak||"string"==typeof M||av,az=an&&ar,aA=null;_||!ak||ay||aq||au||av||(aA=aa);let aB=aA;!aB&&K.isDev&&(aB=aa),K.isDev||_||!ak||!ap||av||(0,k.d)(a.headers);let aC={...E,tree:H,pages:I,GlobalError:D(),handler:L,routeModule:K,__next_app__:J};X&&Y&&(0,o.setReferenceManifestsSingleton)({page:G,clientReferenceManifest:Y,serverActionsManifest:X,serverModuleMap:(0,q.createServerModuleMap)({serverActionsManifest:X})});let aD=a.method||"GET",aE=(0,g.getTracer)(),aF=aE.getActiveScopeSpan();try{let f=K.getVaryHeader(aa,ae);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return K.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aE.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aD} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aD} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:Q,params:R,page:ag,sharedContext:{buildId:P},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aC,Component:(0,j.T)(aC),params:R,routeModule:K,page:G,postponed:f,shouldWaitOnAllReady:az,serveStreamingMetadata:ax,supportsDynamicResponse:"string"==typeof f||ay,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,subresourceIntegrityManifest:Z,serverActionsManifest:X,clientReferenceManifest:Y,setIsrStatus:null==ac?void 0:ac.setIsrStatus,dir:c(33873).join(process.cwd(),K.relativeProjectDir),isDraftMode:_,isRevalidate:ak&&!f&&!av,botType:am,isOnDemandRevalidate:ah,isPossibleServerAction:aq,assetPrefix:ad.assetPrefix,nextConfigOutput:ad.output,crossOrigin:ad.crossOrigin,trailingSlash:ad.trailingSlash,previewProps:$.preview,deploymentId:ad.deploymentId,enableTainting:ad.experimental.taint,htmlLimitedBots:ad.htmlLimitedBots,devtoolSegmentExplorer:ad.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ad.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ad.experimental.cacheLife,basePath:ad.basePath,serverActions:ad.experimental.serverActions,...as?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:as}:{},experimental:{isRoutePPREnabled:ar,expireTime:ad.expireTime,staleTimes:ad.experimental.staleTimes,cacheComponents:!!ad.experimental.cacheComponents,clientSegmentCache:!!ad.experimental.clientSegmentCache,clientParamParsing:!!ad.experimental.clientParamParsing,dynamicOnHover:!!ad.experimental.dynamicOnHover,inlineCss:!!ad.experimental.inlineCss,authInterrupts:!!ad.experimental.authInterrupts,clientTraceMetadata:ad.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>K.onRequestError(a,b,d,ac),err:(0,h.getRequestMeta)(a,"invokeError"),dev:K.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[y.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,ak&&(null==n?void 0:n.revalidate)===0&&!K.isDev&&!ar){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${aa}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
4
- see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},o=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===K.isDev,l=c||b.writableEnded;if(ah&&ab&&!f&&!N)return(null==ac?void 0:ac.render404)?await ac.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(ai&&(j=(0,w.parseFallbackField)(ai.fallback)),j===w.FallbackMode.PRERENDER&&(0,u.isBot)(al)&&(!ar||an)&&(j=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ah=!0),ah&&(j!==w.FallbackMode.NOT_FOUND||f)&&(j=w.FallbackMode.BLOCKING_STATIC_RENDER),!N&&j!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aB&&!l&&!_&&T&&(k||!aj)){let b;if((k||ai)&&j===w.FallbackMode.NOT_FOUND)throw new B.NoFallbackError;if(ar&&!ap){let c="string"==typeof(null==ai?void 0:ai.fallback)?ai.fallback:k?ag:null;if(b=await K.handleResponse({cacheKey:c,req:a,nextConfig:ad,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:$,isRoutePPREnabled:ar,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||at?(0,n.u)(ag):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let o=ah||g||!au?void 0:au;if(as&&void 0!==o)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=T&&ar&&((0,h.getRequestMeta)(a,"renderFallbackShell")||at)?(0,n.u)(af):null;return m({span:i,postponed:o,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,n=await K.handleResponse({cacheKey:aA,responseGenerator:a=>o({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ah,isRoutePPREnabled:ar,req:a,nextConfig:ad,prerenderManifest:$,waitUntil:d.waitUntil});if(_&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),K.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!n){if(aA)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof n.value.postponed;ak&&!av&&(!p||ao)&&(N||b.setHeader("x-nextjs-cache",ah?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=n;if(au)l={revalidate:0,expire:void 0};else if(N&&ap&&!ao&&ar)l={revalidate:0,expire:void 0};else if(!K.isDev)if(_)l={revalidate:0,expire:void 0};else if(ak){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??ad.expireTime}}else l={revalidate:y.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(n.cacheControl=l,"string"==typeof aw&&(null==q?void 0:q.kind)===v.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];N&&ak&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(aw);return void 0!==d?(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...n,value:{...n.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&au)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(N&&ak||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(N&&ak&&s&&"string"==typeof s&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,s),!q.status||ap&&ar||(b.statusCode=q.status),!N&&q.status&&F.RedirectStatusCode[q.status]&&ap&&(b.statusCode=200),p&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),ap&&!_){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:q.html,cacheControl:av?{revalidate:0,expire:void 0}:n.cacheControl})}return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.fromStatic(q.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let u=q.html;if(!p||N||ap)return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:n.cacheControl});if(as)return u.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}});let w=new TransformStream;return u.push(w.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(w.writable)}).catch(a=>{w.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}})};if(!aF)return await aE.withPropagatedContext(a.headers,()=>aE.trace(i.BaseServerSpan.handleRequest,{spanName:`${aD} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aD,"http.target":a.url}},p));await p(aF)}catch(b){throw b instanceof B.NoFallbackError||await K.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:ak,isOnDemandRevalidate:ah})},ac),b}}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[1331,6802,6143,6111,3441],()=>b(b.s=83642));module.exports=c})();
3
+ `))d?.(b)}return a},onSuccess:async b=>{await a.invalidateQueries({queryKey:["sessions"]}),await a.invalidateQueries({queryKey:["session",b]})}})}(),{runEvents:Z,artifacts:aa,addRunEvent:ab,addArtifact:ac,resetRunState:ad,selectArtifact:ae,updateApprovalState:af,activeSessionId:ag,setActiveSessionId:ah,selectedProfileId:ai,recentlyLoadedSkillIds:aj,sessionLoadedSkillIds:ak}=(0,l.j)(),al=(0,S.wV)(m),am=(0,h.useMemo)(()=>[...al.data?.messages??[],...o],[o,al.data?.messages]),an=L.data?.apiReachable??!1,ao=L.data?.available??!1,ap=L.data?.mockMode??!1,aq=ao&&!an,ar=aq&&!ap||X.isPending,as=al.data?.title??"New chat",at=L.data?.activeProfile??ai??"default",au=!!(m&&al.data),av=[{key:"model",label:`Model \xb7 ${I.model||"default"}`},{key:"mode",label:`Mode \xb7 ${I.policyPreset}`},{key:"tools",label:`Tools \xb7 ${an?"runtime live":"degraded"}`},{key:"files",label:`Files \xb7 ${aa.length}`},{key:"profile",label:`Profile \xb7 ${at}`}],aw=Array.from(new Set([b,...(m?ak[m]??[]:[])??[],...aj??[],...al.data?.loadedSkillIds??[]].filter(Boolean))),ax=an?`Talking to ${I.provider} via the live runtime.`:ap?"Mock mode is active for chat flows, approvals, sources, and artifacts.":ao?"Runtime is detected but the API is unreachable, so sending is paused until connectivity returns.":"Runtime was not detected. The UI can still show saved local state and explicit fallback labels.",ay=async()=>{H(null),E(null),ad(),n(null),ah(null),p([]),s("")},az=async(a,b)=>{let c=m;c||(n(c=(await M.mutateAsync()).session.id),ah(c));let d={id:`optimistic-${Date.now()}`,role:"user",content:a,createdAt:new Date().toISOString()};ad(),H(null),p(a=>[...a,d]),s("");let e=!1;try{await Y.mutateAsync({sessionId:c,message:a,attachmentIds:b,onEvent:a=>{if("assistant.delta"===a.type)return void s(b=>b+a.delta);ab(a),"artifact.emitted"===a.type&&ac({artifactId:a.artifactId,artifactType:a.artifactType,label:a.label,content:a.content})}})}catch(b){e=!0;let a=b instanceof Error?b.message:"Unable to send message.";b instanceof j.h&&503===b.status?(H("Message saved, but the runtime API is unavailable right now. Check diagnostics or retry when the backend comes back."),await Promise.all([al.refetch(),K.refetch(),L.refetch()])):H(a),p([]),s("")}e||(await al.refetch(),p([]),s(""))},aA=async(a,b)=>{if(m){E(null),H(null),J(c=>({...c,model:a,provider:b}));try{await X.mutateAsync({sessionId:m,settings:{model:a,provider:b}})}catch(a){J(I),E(a instanceof Error?a.message:"Unable to update session settings.")}}},aB=async a=>{if(m){E(null),H(null),J(b=>({...b,...a}));try{await X.mutateAsync({sessionId:m,settings:a}),C(!1)}catch(a){J(I),E(a instanceof Error?a.message:"Unable to update session settings.")}}};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"grid h-full gap-5 lg:grid-cols-[320px_minmax(0,1fr)]",children:[(0,d.jsx)($,{sessions:K.data??[],selectedSessionId:m,search:c,isLoading:K.isLoading,onSearchChange:e,onNewChat:()=>void ay(),onSelectSession:a=>{H(null),E(null),ad(),n(a),ah(a),p([]),s("")}}),(0,d.jsxs)("section",{className:"flex min-w-0 flex-col overflow-hidden rounded-xl border border-border/70 bg-card/60 shadow-[var(--shadow-elevated)]",children:[ap?(0,d.jsx)("div",{className:"border-b border-warning/30 bg-warning/10 px-5 py-3 text-sm text-foreground",children:"Mock mode is active for chat flows, approvals, sources, and artifacts."}):null,(0,d.jsx)(G,{title:as,settings:I,profileLabel:at,loadedSkillIds:aw,runtimeConnected:an,controlsDisabled:ar,isPersisted:au,archived:al.data?.archived,runtimeSummary:ax,hasMessages:am.length>0,onOpenSettings:()=>{E(null),C(!0)},onRename:()=>v(!0),onArchive:()=>x(!0),onDelete:()=>z(!0),onFork:()=>{m&&W.mutateAsync(m).then(({session:a})=>{ad(),e(""),n(a.id),ah(a.id),p([]),s("")})},onModelChange:(a,b)=>{aA(a,b)}}),(0,d.jsx)(P,{messages:am,runEvents:Z,artifacts:aa,streamingMessage:q,isStreaming:Y.isPending,isLoading:al.isLoading,onApprove:a=>{(0,k.x)("approval.approved",{toolCallId:a}),fetch(`/api/runtime/approvals/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:"approved"})}).catch(()=>void 0),af(a,!0)},onReject:a=>{(0,k.x)("approval.rejected",{toolCallId:a}),fetch(`/api/runtime/approvals/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:"rejected"})}).catch(()=>void 0),af(a,!1)},onOpenArtifact:a=>ae(a)}),aq&&!ap?(0,d.jsx)("div",{className:"mx-4 mb-0 rounded-lg border border-warning/30 bg-warning/10 px-4 py-4 text-sm text-foreground shadow-[var(--shadow-card)]",children:(0,d.jsxs)("div",{className:"flex flex-col gap-3 md:flex-row md:items-center md:justify-between",children:[(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)(f,{className:"mt-0.5 h-5 w-5 text-warning"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"font-semibold",children:"Runtime API is currently unavailable"}),(0,d.jsx)("p",{className:"mt-1 text-muted-foreground",children:"You can still inspect saved sessions, approvals, sources, and artifacts, but sending new messages is paused until the backend reconnects."})]})]}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>void L.refetch(),className:"inline-flex items-center gap-2 rounded-2xl border border-border/70 bg-background/80 px-3 py-2 text-sm font-medium text-foreground",children:[(0,d.jsx)(g.A,{className:"h-4 w-4"}),"Retry runtime"]}),(0,d.jsx)("a",{href:"/settings/health",className:"rounded-2xl border border-border/70 bg-background/80 px-3 py-2 text-sm font-medium text-foreground",children:"Open diagnostics"})]})]})}):null,F||D?(0,d.jsx)("div",{className:"mx-4 mt-4 rounded-lg border border-danger/30 bg-danger/10 px-4 py-3 text-sm text-foreground shadow-[var(--shadow-card)]",children:F||D}):null,(0,d.jsx)(u,{disabled:Y.isPending||aq&&!ap,statusNote:aq&&!ap?"Runtime offline — sending is paused until it reconnects.":ap?"Mock mode active \xb7 Enter to send \xb7 Shift+Enter for newline \xb7 drag files to attach.":"Enter to send \xb7 Shift+Enter for newline \xb7 drag files to attach.",chips:av,onSend:az})]})]}),(0,d.jsx)(U,{open:t,initialTitle:as,onClose:()=>v(!1),onSubmit:async a=>{m&&(v(!1),await N.mutateAsync({sessionId:m,title:a}))}}),(0,d.jsx)(T,{open:w,title:"Archive session",description:"Archive this conversation but keep it available in history and search.",confirmLabel:"Archive",onClose:()=>x(!1),onConfirm:async()=>{m&&(await O.mutateAsync(m),x(!1))}}),(0,d.jsx)(T,{open:y,title:"Delete session",description:"This permanently removes the selected conversation from the current chat history.",confirmLabel:"Delete",confirmClassName:"rounded-2xl bg-danger px-4 py-2 text-sm font-medium text-white",onClose:()=>z(!1),onConfirm:async()=>{m&&(await V.mutateAsync(m),ad(),z(!1),m==m&&n(null))}}),(0,d.jsx)(_,{open:A,settings:I,saving:X.isPending,error:D,disabled:aq&&!ap,onClose:()=>C(!1),onSave:aB})]})}},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},38950:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>D.a,__next_app__:()=>J,handler:()=>L,pages:()=>I,routeModule:()=>K,tree:()=>H});var d=c(49754),e=c(9117),f=c(46595),g=c(32324),h=c(39326),i=c(38928),j=c(20175),k=c(12),l=c(54290),m=c(12696),n=c(82802),o=c(77533),p=c(45229),q=c(32822),r=c(261),s=c(26453),t=c(52474),u=c(26713),v=c(51356),w=c(62685),x=c(36225),y=c(63446),z=c(2762),A=c(45742),B=c(86439),C=c(81170),D=c.n(C),E=c(62506),F=c(91203),G={};for(let a in E)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(G[a]=()=>E[a]);c.d(b,G);let H={children:["",{children:["chat",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,22516)),"/opt/projects/hermesagentwebui/src/app/chat/page.tsx"]}]},{metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,70440))).default(a),async a=>(await Promise.resolve().then(c.bind(c,59645))).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}}]},{layout:[()=>Promise.resolve().then(c.bind(c,51472)),"/opt/projects/hermesagentwebui/src/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,81170,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,87028,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,90461,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,32768,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,70440))).default(a),async a=>(await Promise.resolve().then(c.bind(c,59645))).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}}]}.children,I=["/opt/projects/hermesagentwebui/src/app/chat/page.tsx"],J={require:c,loadChunk:()=>Promise.resolve()},K=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/chat/page",pathname:"/chat",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:H},distDir:".next",relativeProjectDir:""});async function L(a,b,d){var C;let G="/chat/page";"/index"===G&&(G="/");let M=(0,h.getRequestMeta)(a,"postponed"),N=(0,h.getRequestMeta)(a,"minimalMode"),O=await K.prepare(a,b,{srcPage:G,multiZoneDraftMode:!1});if(!O)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:P,query:Q,params:R,parsedUrl:S,pageIsDynamic:T,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,serverActionsManifest:X,clientReferenceManifest:Y,subresourceIntegrityManifest:Z,prerenderManifest:$,isDraftMode:_,resolvedPathname:aa,revalidateOnlyGenerated:ab,routerServerContext:ac,nextConfig:ad,interceptionRoutePatterns:ae}=O,af=S.pathname||"/",ag=(0,r.normalizeAppPath)(G),{isOnDemandRevalidate:ah}=O,ai=K.match(af,$),aj=!!$.routes[aa],ak=!!(ai||aj||$.routes[ag]),al=a.headers["user-agent"]||"",am=(0,u.getBotType)(al),an=(0,p.isHtmlBotRequest)(a),ao=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],ap=(0,h.getRequestMeta)(a,"isRSCRequest")??!!a.headers[t.RSC_HEADER],aq=(0,s.getIsPossibleServerAction)(a),ar=(0,m.checkIsAppPPREnabled)(ad.experimental.ppr)&&(null==(C=$.routes[ag]??$.dynamicRoutes[ag])?void 0:C.renderingMode)==="PARTIALLY_STATIC",as=!1,at=!1,au=ar?M:void 0,av=ar&&ap&&!ao,aw=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ax=!al||(0,p.shouldServeStreamingMetadata)(al,ad.htmlLimitedBots);an&&ar&&(ak=!1,ax=!1);let ay=!0===K.isDev||!ak||"string"==typeof M||av,az=an&&ar,aA=null;_||!ak||ay||aq||au||av||(aA=aa);let aB=aA;!aB&&K.isDev&&(aB=aa),K.isDev||_||!ak||!ap||av||(0,k.d)(a.headers);let aC={...E,tree:H,pages:I,GlobalError:D(),handler:L,routeModule:K,__next_app__:J};X&&Y&&(0,o.setReferenceManifestsSingleton)({page:G,clientReferenceManifest:Y,serverActionsManifest:X,serverModuleMap:(0,q.createServerModuleMap)({serverActionsManifest:X})});let aD=a.method||"GET",aE=(0,g.getTracer)(),aF=aE.getActiveScopeSpan();try{let f=K.getVaryHeader(aa,ae);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return K.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aE.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aD} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aD} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:Q,params:R,page:ag,sharedContext:{buildId:P},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aC,Component:(0,j.T)(aC),params:R,routeModule:K,page:G,postponed:f,shouldWaitOnAllReady:az,serveStreamingMetadata:ax,supportsDynamicResponse:"string"==typeof f||ay,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,subresourceIntegrityManifest:Z,serverActionsManifest:X,clientReferenceManifest:Y,setIsrStatus:null==ac?void 0:ac.setIsrStatus,dir:c(33873).join(process.cwd(),K.relativeProjectDir),isDraftMode:_,isRevalidate:ak&&!f&&!av,botType:am,isOnDemandRevalidate:ah,isPossibleServerAction:aq,assetPrefix:ad.assetPrefix,nextConfigOutput:ad.output,crossOrigin:ad.crossOrigin,trailingSlash:ad.trailingSlash,previewProps:$.preview,deploymentId:ad.deploymentId,enableTainting:ad.experimental.taint,htmlLimitedBots:ad.htmlLimitedBots,devtoolSegmentExplorer:ad.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ad.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ad.experimental.cacheLife,basePath:ad.basePath,serverActions:ad.experimental.serverActions,...as?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:as}:{},experimental:{isRoutePPREnabled:ar,expireTime:ad.expireTime,staleTimes:ad.experimental.staleTimes,cacheComponents:!!ad.experimental.cacheComponents,clientSegmentCache:!!ad.experimental.clientSegmentCache,clientParamParsing:!!ad.experimental.clientParamParsing,dynamicOnHover:!!ad.experimental.dynamicOnHover,inlineCss:!!ad.experimental.inlineCss,authInterrupts:!!ad.experimental.authInterrupts,clientTraceMetadata:ad.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>K.onRequestError(a,b,d,ac),err:(0,h.getRequestMeta)(a,"invokeError"),dev:K.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[y.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,ak&&(null==n?void 0:n.revalidate)===0&&!K.isDev&&!ar){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${aa}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
4
+ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},o=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===K.isDev,l=c||b.writableEnded;if(ah&&ab&&!f&&!N)return(null==ac?void 0:ac.render404)?await ac.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(ai&&(j=(0,w.parseFallbackField)(ai.fallback)),j===w.FallbackMode.PRERENDER&&(0,u.isBot)(al)&&(!ar||an)&&(j=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ah=!0),ah&&(j!==w.FallbackMode.NOT_FOUND||f)&&(j=w.FallbackMode.BLOCKING_STATIC_RENDER),!N&&j!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aB&&!l&&!_&&T&&(k||!aj)){let b;if((k||ai)&&j===w.FallbackMode.NOT_FOUND)throw new B.NoFallbackError;if(ar&&!ap){let c="string"==typeof(null==ai?void 0:ai.fallback)?ai.fallback:k?ag:null;if(b=await K.handleResponse({cacheKey:c,req:a,nextConfig:ad,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:$,isRoutePPREnabled:ar,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||at?(0,n.u)(ag):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let o=ah||g||!au?void 0:au;if(as&&void 0!==o)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=T&&ar&&((0,h.getRequestMeta)(a,"renderFallbackShell")||at)?(0,n.u)(af):null;return m({span:i,postponed:o,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,n=await K.handleResponse({cacheKey:aA,responseGenerator:a=>o({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ah,isRoutePPREnabled:ar,req:a,nextConfig:ad,prerenderManifest:$,waitUntil:d.waitUntil});if(_&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),K.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!n){if(aA)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof n.value.postponed;ak&&!av&&(!p||ao)&&(N||b.setHeader("x-nextjs-cache",ah?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=n;if(au)l={revalidate:0,expire:void 0};else if(N&&ap&&!ao&&ar)l={revalidate:0,expire:void 0};else if(!K.isDev)if(_)l={revalidate:0,expire:void 0};else if(ak){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??ad.expireTime}}else l={revalidate:y.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(n.cacheControl=l,"string"==typeof aw&&(null==q?void 0:q.kind)===v.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];N&&ak&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(aw);return void 0!==d?(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...n,value:{...n.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&au)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(N&&ak||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(N&&ak&&s&&"string"==typeof s&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,s),!q.status||ap&&ar||(b.statusCode=q.status),!N&&q.status&&F.RedirectStatusCode[q.status]&&ap&&(b.statusCode=200),p&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),ap&&!_){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:q.html,cacheControl:av?{revalidate:0,expire:void 0}:n.cacheControl})}return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.fromStatic(q.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let u=q.html;if(!p||N||ap)return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:n.cacheControl});if(as)return u.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}});let w=new TransformStream;return u.push(w.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(w.writable)}).catch(a=>{w.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}})};if(!aF)return await aE.withPropagatedContext(a.headers,()=>aE.trace(i.BaseServerSpan.handleRequest,{spanName:`${aD} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aD,"http.target":a.url}},p));await p(aF)}catch(b){throw b instanceof B.NoFallbackError||await K.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:ak,isOnDemandRevalidate:ah})},ac),b}}},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},60833:(a,b,c)=>{"use strict";c.d(b,{ChatScreen:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call ChatScreen() from the server but ChatScreen is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/opt/projects/hermesagentwebui/src/features/chat/components/chat-screen.tsx","ChatScreen")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},68324:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(23339).A)("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]])},77598:a=>{"use strict";a.exports=require("node:crypto")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[1331,6802,6143,6111,2043],()=>b(b.s=38950));module.exports=c})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../node_modules/next/dist/lib/constants.js","../../../../node_modules/next/dist/lib/interop-default.js","../../../../node_modules/next/dist/lib/is-error.js","../../../../node_modules/next/dist/lib/semver-noop.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../node_modules/next/dist/server/response-cache/types.js","../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../node_modules/next/dist/shared/lib/segment.js","../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/next/package.json","../../../../package.json","../../../package.json","../../chunks/1331.js","../../chunks/3441.js","../../chunks/6111.js","../../chunks/6143.js","../../chunks/6802.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../node_modules/next/dist/lib/constants.js","../../../../node_modules/next/dist/lib/interop-default.js","../../../../node_modules/next/dist/lib/is-error.js","../../../../node_modules/next/dist/lib/semver-noop.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../node_modules/next/dist/server/response-cache/types.js","../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../node_modules/next/dist/shared/lib/segment.js","../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/next/package.json","../../../../package.json","../../../package.json","../../chunks/1331.js","../../chunks/2043.js","../../chunks/6111.js","../../chunks/6143.js","../../chunks/6802.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}