@euraika-labs/pan-ui 0.2.0 → 0.2.2

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 (362) hide show
  1. package/.next/standalone/node_modules/next/node_modules/postcss/package.json +0 -0
  2. package/.next/standalone/server.js +1 -1
  3. package/.next/{standalone/.next/static/chunks/app/_not-found/page-9c90a6b39424f003.js → static/chunks/app/_not-found/page-c4591bba1afe868d.js} +1 -1
  4. package/.next/static/chunks/app/chat/page-2bbb44aeac61920e.js +1 -0
  5. package/.next/{standalone/.next/static/chunks/app/extensions/[id]/page-cca6df1771ec04d2.js → static/chunks/app/extensions/[id]/page-18e579a71a9d93c3.js} +1 -1
  6. package/.next/static/chunks/app/extensions/{page-c0fbb8efa9a3700c.js → page-82f358e2fcabc6a3.js} +1 -1
  7. package/.next/static/chunks/app/layout-f3c578dd4202f2f5.js +1 -0
  8. package/.next/static/chunks/app/login/page-a3820386479beb5e.js +1 -0
  9. package/.next/{standalone/.next/static/chunks/app/memory/page-0684ff3ce6888ae7.js → static/chunks/app/memory/page-a90ea51b004acc94.js} +1 -1
  10. package/.next/static/chunks/app/profiles/page-7b5924f80e882d7e.js +1 -0
  11. package/.next/{standalone/.next/static/chunks/app/settings/approvals/page-6843c585791e4db7.js → static/chunks/app/settings/approvals/page-1fd1b90371c02705.js} +1 -1
  12. package/.next/static/chunks/app/settings/artifacts/page-35ee6c14a4836aad.js +1 -0
  13. package/.next/static/chunks/app/settings/audit/page-a11b23ffa1e40949.js +1 -0
  14. package/.next/static/chunks/app/settings/health/page-9b7914bfd7bf665b.js +1 -0
  15. package/.next/static/chunks/app/settings/mcp-diagnostics/page-102367ef8b2cc105.js +1 -0
  16. package/.next/{standalone/.next/static/chunks/app/settings/page-8a40bdf895f43430.js → static/chunks/app/settings/page-5f9f8ba836ac9b7e.js} +1 -1
  17. package/.next/static/chunks/app/settings/runs/[id]/page-d0184e7e90f5867c.js +1 -0
  18. package/.next/{standalone/.next/static/chunks/app/settings/runs/page-cb4d1617e199c38e.js → static/chunks/app/settings/runs/page-312bdcd82b1f3a64.js} +1 -1
  19. package/.next/{standalone/.next/static/chunks/app/settings/telemetry/page-c0446baefa5496cb.js → static/chunks/app/settings/telemetry/page-e61a1efd390b87a4.js} +1 -1
  20. package/.next/{standalone/.next/static/chunks/app/skills/[id]/page-88bc62488ddf6c10.js → static/chunks/app/skills/[id]/page-f65ae8d81a901c1a.js} +1 -1
  21. package/.next/static/chunks/app/skills/page-d480e9f5081fd9b6.js +1 -0
  22. package/.next/{standalone/.next/static/chunks/main-app-a9e2c007d433eaf9.js → static/chunks/main-app-f0e3f2828aa879c4.js} +1 -1
  23. package/README.md +2 -1
  24. package/bin/pan-ui.mjs +0 -0
  25. package/package.json +1 -1
  26. package/.env.example +0 -30
  27. package/.next/standalone/.next/BUILD_ID +0 -1
  28. package/.next/standalone/.next/app-build-manifest.json +0 -508
  29. package/.next/standalone/.next/app-path-routes-manifest.json +0 -67
  30. package/.next/standalone/.next/build-manifest.json +0 -33
  31. package/.next/standalone/.next/package.json +0 -1
  32. package/.next/standalone/.next/prerender-manifest.json +0 -119
  33. package/.next/standalone/.next/react-loadable-manifest.json +0 -1
  34. package/.next/standalone/.next/required-server-files.json +0 -321
  35. package/.next/standalone/.next/routes-manifest.json +0 -295
  36. package/.next/standalone/.next/server/app/_not-found/page.js +0 -2
  37. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +0 -1
  38. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +0 -1
  39. package/.next/standalone/.next/server/app/_not-found.html +0 -1
  40. package/.next/standalone/.next/server/app/_not-found.meta +0 -8
  41. package/.next/standalone/.next/server/app/_not-found.rsc +0 -18
  42. package/.next/standalone/.next/server/app/api/audit/route.js +0 -36
  43. package/.next/standalone/.next/server/app/api/audit/route.js.nft.json +0 -1
  44. package/.next/standalone/.next/server/app/api/audit/route_client-reference-manifest.js +0 -1
  45. package/.next/standalone/.next/server/app/api/auth/login/route.js +0 -1
  46. package/.next/standalone/.next/server/app/api/auth/login/route.js.nft.json +0 -1
  47. package/.next/standalone/.next/server/app/api/auth/login/route_client-reference-manifest.js +0 -1
  48. package/.next/standalone/.next/server/app/api/auth/logout/route.js +0 -1
  49. package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +0 -1
  50. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +0 -1
  51. package/.next/standalone/.next/server/app/api/chat/sessions/[id]/fork/route.js +0 -1
  52. package/.next/standalone/.next/server/app/api/chat/sessions/[id]/fork/route.js.nft.json +0 -1
  53. package/.next/standalone/.next/server/app/api/chat/sessions/[id]/fork/route_client-reference-manifest.js +0 -1
  54. package/.next/standalone/.next/server/app/api/chat/sessions/[id]/route.js +0 -1
  55. package/.next/standalone/.next/server/app/api/chat/sessions/[id]/route.js.nft.json +0 -1
  56. package/.next/standalone/.next/server/app/api/chat/sessions/[id]/route_client-reference-manifest.js +0 -1
  57. package/.next/standalone/.next/server/app/api/chat/sessions/route.js +0 -1
  58. package/.next/standalone/.next/server/app/api/chat/sessions/route.js.nft.json +0 -1
  59. package/.next/standalone/.next/server/app/api/chat/sessions/route_client-reference-manifest.js +0 -1
  60. package/.next/standalone/.next/server/app/api/chat/stream/route.js +0 -170
  61. package/.next/standalone/.next/server/app/api/chat/stream/route.js.nft.json +0 -1
  62. package/.next/standalone/.next/server/app/api/chat/stream/route_client-reference-manifest.js +0 -1
  63. package/.next/standalone/.next/server/app/api/extensions/[id]/capabilities/[capabilityId]/route.js +0 -1
  64. package/.next/standalone/.next/server/app/api/extensions/[id]/capabilities/[capabilityId]/route.js.nft.json +0 -1
  65. package/.next/standalone/.next/server/app/api/extensions/[id]/capabilities/[capabilityId]/route_client-reference-manifest.js +0 -1
  66. package/.next/standalone/.next/server/app/api/extensions/[id]/route.js +0 -1
  67. package/.next/standalone/.next/server/app/api/extensions/[id]/route.js.nft.json +0 -1
  68. package/.next/standalone/.next/server/app/api/extensions/[id]/route_client-reference-manifest.js +0 -1
  69. package/.next/standalone/.next/server/app/api/extensions/[id]/test/route.js +0 -1
  70. package/.next/standalone/.next/server/app/api/extensions/[id]/test/route.js.nft.json +0 -1
  71. package/.next/standalone/.next/server/app/api/extensions/[id]/test/route_client-reference-manifest.js +0 -1
  72. package/.next/standalone/.next/server/app/api/extensions/mcp/route.js +0 -11
  73. package/.next/standalone/.next/server/app/api/extensions/mcp/route.js.nft.json +0 -1
  74. package/.next/standalone/.next/server/app/api/extensions/mcp/route_client-reference-manifest.js +0 -1
  75. package/.next/standalone/.next/server/app/api/extensions/route.js +0 -1
  76. package/.next/standalone/.next/server/app/api/extensions/route.js.nft.json +0 -1
  77. package/.next/standalone/.next/server/app/api/extensions/route_client-reference-manifest.js +0 -1
  78. package/.next/standalone/.next/server/app/api/memory/agent/route.js +0 -36
  79. package/.next/standalone/.next/server/app/api/memory/agent/route.js.nft.json +0 -1
  80. package/.next/standalone/.next/server/app/api/memory/agent/route_client-reference-manifest.js +0 -1
  81. package/.next/standalone/.next/server/app/api/memory/context-inspector/route.js +0 -1
  82. package/.next/standalone/.next/server/app/api/memory/context-inspector/route.js.nft.json +0 -1
  83. package/.next/standalone/.next/server/app/api/memory/context-inspector/route_client-reference-manifest.js +0 -1
  84. package/.next/standalone/.next/server/app/api/memory/session-search/route.js +0 -1
  85. package/.next/standalone/.next/server/app/api/memory/session-search/route.js.nft.json +0 -1
  86. package/.next/standalone/.next/server/app/api/memory/session-search/route_client-reference-manifest.js +0 -1
  87. package/.next/standalone/.next/server/app/api/memory/user/route.js +0 -36
  88. package/.next/standalone/.next/server/app/api/memory/user/route.js.nft.json +0 -1
  89. package/.next/standalone/.next/server/app/api/memory/user/route_client-reference-manifest.js +0 -1
  90. package/.next/standalone/.next/server/app/api/profiles/[id]/config/route.js +0 -92
  91. package/.next/standalone/.next/server/app/api/profiles/[id]/config/route.js.nft.json +0 -1
  92. package/.next/standalone/.next/server/app/api/profiles/[id]/config/route_client-reference-manifest.js +0 -1
  93. package/.next/standalone/.next/server/app/api/profiles/[id]/route.js +0 -31
  94. package/.next/standalone/.next/server/app/api/profiles/[id]/route.js.nft.json +0 -1
  95. package/.next/standalone/.next/server/app/api/profiles/[id]/route_client-reference-manifest.js +0 -1
  96. package/.next/standalone/.next/server/app/api/profiles/route.js +0 -31
  97. package/.next/standalone/.next/server/app/api/profiles/route.js.nft.json +0 -1
  98. package/.next/standalone/.next/server/app/api/profiles/route_client-reference-manifest.js +0 -1
  99. package/.next/standalone/.next/server/app/api/runtime/approvals/[toolCallId]/route.js +0 -133
  100. package/.next/standalone/.next/server/app/api/runtime/approvals/[toolCallId]/route.js.nft.json +0 -1
  101. package/.next/standalone/.next/server/app/api/runtime/approvals/[toolCallId]/route_client-reference-manifest.js +0 -1
  102. package/.next/standalone/.next/server/app/api/runtime/approvals/route.js +0 -133
  103. package/.next/standalone/.next/server/app/api/runtime/approvals/route.js.nft.json +0 -1
  104. package/.next/standalone/.next/server/app/api/runtime/approvals/route_client-reference-manifest.js +0 -1
  105. package/.next/standalone/.next/server/app/api/runtime/artifacts/download/route.js +0 -133
  106. package/.next/standalone/.next/server/app/api/runtime/artifacts/download/route.js.nft.json +0 -1
  107. package/.next/standalone/.next/server/app/api/runtime/artifacts/download/route_client-reference-manifest.js +0 -1
  108. package/.next/standalone/.next/server/app/api/runtime/artifacts/route.js +0 -133
  109. package/.next/standalone/.next/server/app/api/runtime/artifacts/route.js.nft.json +0 -1
  110. package/.next/standalone/.next/server/app/api/runtime/artifacts/route_client-reference-manifest.js +0 -1
  111. package/.next/standalone/.next/server/app/api/runtime/export/route.js +0 -143
  112. package/.next/standalone/.next/server/app/api/runtime/export/route.js.nft.json +0 -1
  113. package/.next/standalone/.next/server/app/api/runtime/export/route_client-reference-manifest.js +0 -1
  114. package/.next/standalone/.next/server/app/api/runtime/health/route.js +0 -18
  115. package/.next/standalone/.next/server/app/api/runtime/health/route.js.nft.json +0 -1
  116. package/.next/standalone/.next/server/app/api/runtime/health/route_client-reference-manifest.js +0 -1
  117. package/.next/standalone/.next/server/app/api/runtime/mcp-probes/route.js +0 -133
  118. package/.next/standalone/.next/server/app/api/runtime/mcp-probes/route.js.nft.json +0 -1
  119. package/.next/standalone/.next/server/app/api/runtime/mcp-probes/route_client-reference-manifest.js +0 -1
  120. package/.next/standalone/.next/server/app/api/runtime/runs/[id]/route.js +0 -51
  121. package/.next/standalone/.next/server/app/api/runtime/runs/[id]/route.js.nft.json +0 -1
  122. package/.next/standalone/.next/server/app/api/runtime/runs/[id]/route_client-reference-manifest.js +0 -1
  123. package/.next/standalone/.next/server/app/api/runtime/runs/route.js +0 -51
  124. package/.next/standalone/.next/server/app/api/runtime/runs/route.js.nft.json +0 -1
  125. package/.next/standalone/.next/server/app/api/runtime/runs/route_client-reference-manifest.js +0 -1
  126. package/.next/standalone/.next/server/app/api/runtime/status/route.js +0 -18
  127. package/.next/standalone/.next/server/app/api/runtime/status/route.js.nft.json +0 -1
  128. package/.next/standalone/.next/server/app/api/runtime/status/route_client-reference-manifest.js +0 -1
  129. package/.next/standalone/.next/server/app/api/runtime/telemetry/route.js +0 -133
  130. package/.next/standalone/.next/server/app/api/runtime/telemetry/route.js.nft.json +0 -1
  131. package/.next/standalone/.next/server/app/api/runtime/telemetry/route_client-reference-manifest.js +0 -1
  132. package/.next/standalone/.next/server/app/api/runtime/timeline/route.js +0 -133
  133. package/.next/standalone/.next/server/app/api/runtime/timeline/route.js.nft.json +0 -1
  134. package/.next/standalone/.next/server/app/api/runtime/timeline/route_client-reference-manifest.js +0 -1
  135. package/.next/standalone/.next/server/app/api/skills/[id]/disable/route.js +0 -1
  136. package/.next/standalone/.next/server/app/api/skills/[id]/disable/route.js.nft.json +0 -1
  137. package/.next/standalone/.next/server/app/api/skills/[id]/disable/route_client-reference-manifest.js +0 -1
  138. package/.next/standalone/.next/server/app/api/skills/[id]/enable/route.js +0 -21
  139. package/.next/standalone/.next/server/app/api/skills/[id]/enable/route.js.nft.json +0 -1
  140. package/.next/standalone/.next/server/app/api/skills/[id]/enable/route_client-reference-manifest.js +0 -1
  141. package/.next/standalone/.next/server/app/api/skills/[id]/files/route.js +0 -21
  142. package/.next/standalone/.next/server/app/api/skills/[id]/files/route.js.nft.json +0 -1
  143. package/.next/standalone/.next/server/app/api/skills/[id]/files/route_client-reference-manifest.js +0 -1
  144. package/.next/standalone/.next/server/app/api/skills/[id]/install/route.js +0 -56
  145. package/.next/standalone/.next/server/app/api/skills/[id]/install/route.js.nft.json +0 -1
  146. package/.next/standalone/.next/server/app/api/skills/[id]/install/route_client-reference-manifest.js +0 -1
  147. package/.next/standalone/.next/server/app/api/skills/[id]/load/route.js +0 -17
  148. package/.next/standalone/.next/server/app/api/skills/[id]/load/route.js.nft.json +0 -1
  149. package/.next/standalone/.next/server/app/api/skills/[id]/load/route_client-reference-manifest.js +0 -1
  150. package/.next/standalone/.next/server/app/api/skills/[id]/route.js +0 -21
  151. package/.next/standalone/.next/server/app/api/skills/[id]/route.js.nft.json +0 -1
  152. package/.next/standalone/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +0 -1
  153. package/.next/standalone/.next/server/app/api/skills/catalog/route.js +0 -1
  154. package/.next/standalone/.next/server/app/api/skills/catalog/route.js.nft.json +0 -1
  155. package/.next/standalone/.next/server/app/api/skills/catalog/route_client-reference-manifest.js +0 -1
  156. package/.next/standalone/.next/server/app/api/skills/categories/route.js +0 -21
  157. package/.next/standalone/.next/server/app/api/skills/categories/route.js.nft.json +0 -1
  158. package/.next/standalone/.next/server/app/api/skills/categories/route_client-reference-manifest.js +0 -1
  159. package/.next/standalone/.next/server/app/api/skills/hub/install/route.js +0 -1
  160. package/.next/standalone/.next/server/app/api/skills/hub/install/route.js.nft.json +0 -1
  161. package/.next/standalone/.next/server/app/api/skills/hub/install/route_client-reference-manifest.js +0 -1
  162. package/.next/standalone/.next/server/app/api/skills/hub/route.js +0 -21
  163. package/.next/standalone/.next/server/app/api/skills/hub/route.js.nft.json +0 -1
  164. package/.next/standalone/.next/server/app/api/skills/hub/route_client-reference-manifest.js +0 -1
  165. package/.next/standalone/.next/server/app/api/skills/route.js +0 -21
  166. package/.next/standalone/.next/server/app/api/skills/route.js.nft.json +0 -1
  167. package/.next/standalone/.next/server/app/api/skills/route_client-reference-manifest.js +0 -1
  168. package/.next/standalone/.next/server/app/api/telemetry/route.js +0 -133
  169. package/.next/standalone/.next/server/app/api/telemetry/route.js.nft.json +0 -1
  170. package/.next/standalone/.next/server/app/api/telemetry/route_client-reference-manifest.js +0 -1
  171. package/.next/standalone/.next/server/app/api/uploads/route.js +0 -36
  172. package/.next/standalone/.next/server/app/api/uploads/route.js.nft.json +0 -1
  173. package/.next/standalone/.next/server/app/api/uploads/route_client-reference-manifest.js +0 -1
  174. package/.next/standalone/.next/server/app/chat/page.js +0 -4
  175. package/.next/standalone/.next/server/app/chat/page.js.nft.json +0 -1
  176. package/.next/standalone/.next/server/app/chat/page_client-reference-manifest.js +0 -1
  177. package/.next/standalone/.next/server/app/extensions/[id]/page.js +0 -2
  178. package/.next/standalone/.next/server/app/extensions/[id]/page.js.nft.json +0 -1
  179. package/.next/standalone/.next/server/app/extensions/[id]/page_client-reference-manifest.js +0 -1
  180. package/.next/standalone/.next/server/app/extensions/page.js +0 -2
  181. package/.next/standalone/.next/server/app/extensions/page.js.nft.json +0 -1
  182. package/.next/standalone/.next/server/app/extensions/page_client-reference-manifest.js +0 -1
  183. package/.next/standalone/.next/server/app/favicon.ico/route.js +0 -1
  184. package/.next/standalone/.next/server/app/favicon.ico/route.js.nft.json +0 -1
  185. package/.next/standalone/.next/server/app/favicon.ico.body +0 -0
  186. package/.next/standalone/.next/server/app/favicon.ico.meta +0 -1
  187. package/.next/standalone/.next/server/app/icon.svg/route.js +0 -1
  188. package/.next/standalone/.next/server/app/icon.svg/route.js.nft.json +0 -1
  189. package/.next/standalone/.next/server/app/icon.svg.body +0 -10
  190. package/.next/standalone/.next/server/app/icon.svg.meta +0 -1
  191. package/.next/standalone/.next/server/app/index.html +0 -1
  192. package/.next/standalone/.next/server/app/index.meta +0 -9
  193. package/.next/standalone/.next/server/app/index.rsc +0 -19
  194. package/.next/standalone/.next/server/app/login/page.js +0 -2
  195. package/.next/standalone/.next/server/app/login/page.js.nft.json +0 -1
  196. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +0 -1
  197. package/.next/standalone/.next/server/app/memory/page.js +0 -2
  198. package/.next/standalone/.next/server/app/memory/page.js.nft.json +0 -1
  199. package/.next/standalone/.next/server/app/memory/page_client-reference-manifest.js +0 -1
  200. package/.next/standalone/.next/server/app/page.js +0 -2
  201. package/.next/standalone/.next/server/app/page.js.nft.json +0 -1
  202. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +0 -1
  203. package/.next/standalone/.next/server/app/profiles/page.js +0 -2
  204. package/.next/standalone/.next/server/app/profiles/page.js.nft.json +0 -1
  205. package/.next/standalone/.next/server/app/profiles/page_client-reference-manifest.js +0 -1
  206. package/.next/standalone/.next/server/app/settings/approvals/page.js +0 -2
  207. package/.next/standalone/.next/server/app/settings/approvals/page.js.nft.json +0 -1
  208. package/.next/standalone/.next/server/app/settings/approvals/page_client-reference-manifest.js +0 -1
  209. package/.next/standalone/.next/server/app/settings/artifacts/page.js +0 -2
  210. package/.next/standalone/.next/server/app/settings/artifacts/page.js.nft.json +0 -1
  211. package/.next/standalone/.next/server/app/settings/artifacts/page_client-reference-manifest.js +0 -1
  212. package/.next/standalone/.next/server/app/settings/audit/page.js +0 -2
  213. package/.next/standalone/.next/server/app/settings/audit/page.js.nft.json +0 -1
  214. package/.next/standalone/.next/server/app/settings/audit/page_client-reference-manifest.js +0 -1
  215. package/.next/standalone/.next/server/app/settings/health/page.js +0 -2
  216. package/.next/standalone/.next/server/app/settings/health/page.js.nft.json +0 -1
  217. package/.next/standalone/.next/server/app/settings/health/page_client-reference-manifest.js +0 -1
  218. package/.next/standalone/.next/server/app/settings/mcp-diagnostics/page.js +0 -2
  219. package/.next/standalone/.next/server/app/settings/mcp-diagnostics/page.js.nft.json +0 -1
  220. package/.next/standalone/.next/server/app/settings/mcp-diagnostics/page_client-reference-manifest.js +0 -1
  221. package/.next/standalone/.next/server/app/settings/page.js +0 -2
  222. package/.next/standalone/.next/server/app/settings/page.js.nft.json +0 -1
  223. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +0 -1
  224. package/.next/standalone/.next/server/app/settings/runs/[id]/page.js +0 -2
  225. package/.next/standalone/.next/server/app/settings/runs/[id]/page.js.nft.json +0 -1
  226. package/.next/standalone/.next/server/app/settings/runs/[id]/page_client-reference-manifest.js +0 -1
  227. package/.next/standalone/.next/server/app/settings/runs/page.js +0 -2
  228. package/.next/standalone/.next/server/app/settings/runs/page.js.nft.json +0 -1
  229. package/.next/standalone/.next/server/app/settings/runs/page_client-reference-manifest.js +0 -1
  230. package/.next/standalone/.next/server/app/settings/telemetry/page.js +0 -2
  231. package/.next/standalone/.next/server/app/settings/telemetry/page.js.nft.json +0 -1
  232. package/.next/standalone/.next/server/app/settings/telemetry/page_client-reference-manifest.js +0 -1
  233. package/.next/standalone/.next/server/app/skills/[id]/page.js +0 -2
  234. package/.next/standalone/.next/server/app/skills/[id]/page.js.nft.json +0 -1
  235. package/.next/standalone/.next/server/app/skills/[id]/page_client-reference-manifest.js +0 -1
  236. package/.next/standalone/.next/server/app/skills/page.js +0 -2
  237. package/.next/standalone/.next/server/app/skills/page.js.nft.json +0 -1
  238. package/.next/standalone/.next/server/app/skills/page_client-reference-manifest.js +0 -1
  239. package/.next/standalone/.next/server/app-paths-manifest.json +0 -67
  240. package/.next/standalone/.next/server/chunks/1331.js +0 -22
  241. package/.next/standalone/.next/server/chunks/1692.js +0 -1
  242. package/.next/standalone/.next/server/chunks/2043.js +0 -1
  243. package/.next/standalone/.next/server/chunks/4337.js +0 -143
  244. package/.next/standalone/.next/server/chunks/4561.js +0 -1
  245. package/.next/standalone/.next/server/chunks/4689.js +0 -25
  246. package/.next/standalone/.next/server/chunks/5611.js +0 -6
  247. package/.next/standalone/.next/server/chunks/6111.js +0 -1
  248. package/.next/standalone/.next/server/chunks/6143.js +0 -9
  249. package/.next/standalone/.next/server/chunks/6516.js +0 -143
  250. package/.next/standalone/.next/server/chunks/6802.js +0 -1
  251. package/.next/standalone/.next/server/chunks/9546.js +0 -1
  252. package/.next/standalone/.next/server/functions-config-manifest.json +0 -4
  253. package/.next/standalone/.next/server/middleware-build-manifest.js +0 -1
  254. package/.next/standalone/.next/server/middleware-manifest.json +0 -6
  255. package/.next/standalone/.next/server/middleware-react-loadable-manifest.js +0 -1
  256. package/.next/standalone/.next/server/next-font-manifest.js +0 -1
  257. package/.next/standalone/.next/server/next-font-manifest.json +0 -1
  258. package/.next/standalone/.next/server/pages/404.html +0 -1
  259. package/.next/standalone/.next/server/pages/500.html +0 -1
  260. package/.next/standalone/.next/server/pages/_app.js +0 -1
  261. package/.next/standalone/.next/server/pages/_app.js.nft.json +0 -1
  262. package/.next/standalone/.next/server/pages/_document.js +0 -1
  263. package/.next/standalone/.next/server/pages/_document.js.nft.json +0 -1
  264. package/.next/standalone/.next/server/pages/_error.js +0 -19
  265. package/.next/standalone/.next/server/pages/_error.js.nft.json +0 -1
  266. package/.next/standalone/.next/server/pages-manifest.json +0 -6
  267. package/.next/standalone/.next/server/server-reference-manifest.js +0 -1
  268. package/.next/standalone/.next/server/server-reference-manifest.json +0 -1
  269. package/.next/standalone/.next/server/webpack-runtime.js +0 -1
  270. package/.next/standalone/.next/static/chunks/1255-aadf393aa3a56bfa.js +0 -1
  271. package/.next/standalone/.next/static/chunks/1309-d826505bfad78fd1.js +0 -1
  272. package/.next/standalone/.next/static/chunks/2231-e0d8768bfce5fe57.js +0 -1
  273. package/.next/standalone/.next/static/chunks/4879-36321f505e9ce82a.js +0 -1
  274. package/.next/standalone/.next/static/chunks/4bd1b696-f785427dddbba9fb.js +0 -1
  275. package/.next/standalone/.next/static/chunks/5449-aba2dafba76d4508.js +0 -1
  276. package/.next/standalone/.next/static/chunks/9657-3ff4bf56070f324f.js +0 -1
  277. package/.next/standalone/.next/static/chunks/app/api/audit/route-bb3f5b9060cdc631.js +0 -1
  278. package/.next/standalone/.next/static/chunks/app/api/auth/login/route-bb3f5b9060cdc631.js +0 -1
  279. package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-bb3f5b9060cdc631.js +0 -1
  280. package/.next/standalone/.next/static/chunks/app/api/chat/sessions/[id]/fork/route-bb3f5b9060cdc631.js +0 -1
  281. package/.next/standalone/.next/static/chunks/app/api/chat/sessions/[id]/route-bb3f5b9060cdc631.js +0 -1
  282. package/.next/standalone/.next/static/chunks/app/api/chat/sessions/route-bb3f5b9060cdc631.js +0 -1
  283. package/.next/standalone/.next/static/chunks/app/api/chat/stream/route-bb3f5b9060cdc631.js +0 -1
  284. package/.next/standalone/.next/static/chunks/app/api/extensions/[id]/capabilities/[capabilityId]/route-bb3f5b9060cdc631.js +0 -1
  285. package/.next/standalone/.next/static/chunks/app/api/extensions/[id]/route-bb3f5b9060cdc631.js +0 -1
  286. package/.next/standalone/.next/static/chunks/app/api/extensions/[id]/test/route-bb3f5b9060cdc631.js +0 -1
  287. package/.next/standalone/.next/static/chunks/app/api/extensions/mcp/route-bb3f5b9060cdc631.js +0 -1
  288. package/.next/standalone/.next/static/chunks/app/api/extensions/route-bb3f5b9060cdc631.js +0 -1
  289. package/.next/standalone/.next/static/chunks/app/api/memory/agent/route-bb3f5b9060cdc631.js +0 -1
  290. package/.next/standalone/.next/static/chunks/app/api/memory/context-inspector/route-bb3f5b9060cdc631.js +0 -1
  291. package/.next/standalone/.next/static/chunks/app/api/memory/session-search/route-bb3f5b9060cdc631.js +0 -1
  292. package/.next/standalone/.next/static/chunks/app/api/memory/user/route-bb3f5b9060cdc631.js +0 -1
  293. package/.next/standalone/.next/static/chunks/app/api/profiles/[id]/config/route-bb3f5b9060cdc631.js +0 -1
  294. package/.next/standalone/.next/static/chunks/app/api/profiles/[id]/route-bb3f5b9060cdc631.js +0 -1
  295. package/.next/standalone/.next/static/chunks/app/api/profiles/route-bb3f5b9060cdc631.js +0 -1
  296. package/.next/standalone/.next/static/chunks/app/api/runtime/approvals/[toolCallId]/route-bb3f5b9060cdc631.js +0 -1
  297. package/.next/standalone/.next/static/chunks/app/api/runtime/approvals/route-bb3f5b9060cdc631.js +0 -1
  298. package/.next/standalone/.next/static/chunks/app/api/runtime/artifacts/download/route-bb3f5b9060cdc631.js +0 -1
  299. package/.next/standalone/.next/static/chunks/app/api/runtime/artifacts/route-bb3f5b9060cdc631.js +0 -1
  300. package/.next/standalone/.next/static/chunks/app/api/runtime/export/route-bb3f5b9060cdc631.js +0 -1
  301. package/.next/standalone/.next/static/chunks/app/api/runtime/health/route-bb3f5b9060cdc631.js +0 -1
  302. package/.next/standalone/.next/static/chunks/app/api/runtime/mcp-probes/route-bb3f5b9060cdc631.js +0 -1
  303. package/.next/standalone/.next/static/chunks/app/api/runtime/runs/[id]/route-bb3f5b9060cdc631.js +0 -1
  304. package/.next/standalone/.next/static/chunks/app/api/runtime/runs/route-bb3f5b9060cdc631.js +0 -1
  305. package/.next/standalone/.next/static/chunks/app/api/runtime/status/route-bb3f5b9060cdc631.js +0 -1
  306. package/.next/standalone/.next/static/chunks/app/api/runtime/telemetry/route-bb3f5b9060cdc631.js +0 -1
  307. package/.next/standalone/.next/static/chunks/app/api/runtime/timeline/route-bb3f5b9060cdc631.js +0 -1
  308. package/.next/standalone/.next/static/chunks/app/api/skills/[id]/disable/route-bb3f5b9060cdc631.js +0 -1
  309. package/.next/standalone/.next/static/chunks/app/api/skills/[id]/enable/route-bb3f5b9060cdc631.js +0 -1
  310. package/.next/standalone/.next/static/chunks/app/api/skills/[id]/files/route-bb3f5b9060cdc631.js +0 -1
  311. package/.next/standalone/.next/static/chunks/app/api/skills/[id]/install/route-bb3f5b9060cdc631.js +0 -1
  312. package/.next/standalone/.next/static/chunks/app/api/skills/[id]/load/route-bb3f5b9060cdc631.js +0 -1
  313. package/.next/standalone/.next/static/chunks/app/api/skills/[id]/route-bb3f5b9060cdc631.js +0 -1
  314. package/.next/standalone/.next/static/chunks/app/api/skills/catalog/route-bb3f5b9060cdc631.js +0 -1
  315. package/.next/standalone/.next/static/chunks/app/api/skills/categories/route-bb3f5b9060cdc631.js +0 -1
  316. package/.next/standalone/.next/static/chunks/app/api/skills/hub/install/route-bb3f5b9060cdc631.js +0 -1
  317. package/.next/standalone/.next/static/chunks/app/api/skills/hub/route-bb3f5b9060cdc631.js +0 -1
  318. package/.next/standalone/.next/static/chunks/app/api/skills/route-bb3f5b9060cdc631.js +0 -1
  319. package/.next/standalone/.next/static/chunks/app/api/telemetry/route-bb3f5b9060cdc631.js +0 -1
  320. package/.next/standalone/.next/static/chunks/app/api/uploads/route-bb3f5b9060cdc631.js +0 -1
  321. package/.next/standalone/.next/static/chunks/app/chat/page-117a5b54aee7eae4.js +0 -1
  322. package/.next/standalone/.next/static/chunks/app/extensions/page-c0fbb8efa9a3700c.js +0 -1
  323. package/.next/standalone/.next/static/chunks/app/layout-0bc970399be389b5.js +0 -1
  324. package/.next/standalone/.next/static/chunks/app/login/page-984e33272681e1e0.js +0 -1
  325. package/.next/standalone/.next/static/chunks/app/page-bb3f5b9060cdc631.js +0 -1
  326. package/.next/standalone/.next/static/chunks/app/profiles/page-46a0ad35feda9741.js +0 -1
  327. package/.next/standalone/.next/static/chunks/app/settings/artifacts/page-d3fddd43ac1243af.js +0 -1
  328. package/.next/standalone/.next/static/chunks/app/settings/audit/page-378bee43dd7c4903.js +0 -1
  329. package/.next/standalone/.next/static/chunks/app/settings/health/page-d34eadc11bc90af5.js +0 -1
  330. package/.next/standalone/.next/static/chunks/app/settings/mcp-diagnostics/page-3778d2842d5bdd79.js +0 -1
  331. package/.next/standalone/.next/static/chunks/app/settings/runs/[id]/page-7837ec57d531ef2b.js +0 -1
  332. package/.next/standalone/.next/static/chunks/app/skills/page-e47c6a5f9559edc1.js +0 -1
  333. package/.next/standalone/.next/static/chunks/framework-f31701c9d93f12a4.js +0 -1
  334. package/.next/standalone/.next/static/chunks/main-1ac9e0711a0eb944.js +0 -1
  335. package/.next/standalone/.next/static/chunks/pages/_app-6c8c2371b16a04b8.js +0 -1
  336. package/.next/standalone/.next/static/chunks/pages/_error-94812ad32cad7365.js +0 -1
  337. package/.next/standalone/.next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
  338. package/.next/standalone/.next/static/chunks/webpack-0100acb42ec0d4c7.js +0 -1
  339. package/.next/standalone/.next/static/css/f5a43afa8024b892.css +0 -3
  340. package/.next/static/NC_UybRskWjtaATH1hc3S/_buildManifest.js +0 -1
  341. package/.next/static/NC_UybRskWjtaATH1hc3S/_ssgManifest.js +0 -1
  342. package/.next/static/chunks/app/_not-found/page-9c90a6b39424f003.js +0 -1
  343. package/.next/static/chunks/app/chat/page-117a5b54aee7eae4.js +0 -1
  344. package/.next/static/chunks/app/extensions/[id]/page-cca6df1771ec04d2.js +0 -1
  345. package/.next/static/chunks/app/layout-0bc970399be389b5.js +0 -1
  346. package/.next/static/chunks/app/login/page-984e33272681e1e0.js +0 -1
  347. package/.next/static/chunks/app/memory/page-0684ff3ce6888ae7.js +0 -1
  348. package/.next/static/chunks/app/profiles/page-46a0ad35feda9741.js +0 -1
  349. package/.next/static/chunks/app/settings/approvals/page-6843c585791e4db7.js +0 -1
  350. package/.next/static/chunks/app/settings/artifacts/page-d3fddd43ac1243af.js +0 -1
  351. package/.next/static/chunks/app/settings/audit/page-378bee43dd7c4903.js +0 -1
  352. package/.next/static/chunks/app/settings/health/page-d34eadc11bc90af5.js +0 -1
  353. package/.next/static/chunks/app/settings/mcp-diagnostics/page-3778d2842d5bdd79.js +0 -1
  354. package/.next/static/chunks/app/settings/page-8a40bdf895f43430.js +0 -1
  355. package/.next/static/chunks/app/settings/runs/[id]/page-7837ec57d531ef2b.js +0 -1
  356. package/.next/static/chunks/app/settings/runs/page-cb4d1617e199c38e.js +0 -1
  357. package/.next/static/chunks/app/settings/telemetry/page-c0446baefa5496cb.js +0 -1
  358. package/.next/static/chunks/app/skills/[id]/page-88bc62488ddf6c10.js +0 -1
  359. package/.next/static/chunks/app/skills/page-e47c6a5f9559edc1.js +0 -1
  360. package/.next/static/chunks/main-app-a9e2c007d433eaf9.js +0 -1
  361. /package/.next/{standalone/.next/static/NC_UybRskWjtaATH1hc3S → static/ocf5CMC3si1YTWJ4rwtKP}/_buildManifest.js +0 -0
  362. /package/.next/{standalone/.next/static/NC_UybRskWjtaATH1hc3S → static/ocf5CMC3si1YTWJ4rwtKP}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8457],{1119:(e,t,r)=>{"use strict";function a(e,t){fetch("/api/telemetry",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({event:e,source:"client",payload:null!=t?t:{}}),keepalive:!0}).catch(()=>void 0),console.debug("[telemetry]",e,null!=t?t:{})}r.d(t,{x:()=>a})},2257:(e,t,r)=>{Promise.resolve().then(r.bind(r,1935)),Promise.resolve().then(r.bind(r,594)),Promise.resolve().then(r.bind(r,6981)),Promise.resolve().then(r.bind(r,3369))},3369:(e,t,r)=>{"use strict";r.d(t,{ChatScreen:()=>ee});var a=r(5155),s=r(1847);let l=(0,s.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 n=r(3804),o=r(2115),d=r(63),i=r(9678),c=r(1119),u=r(2604),m=r(4033);let p=(0,s.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 x=r(7910);let h=(0,s.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"}]]),b=(0,s.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 f=r(549);function g(e){let{attachment:t,onRemove:r}=e;return(0,a.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,a.jsx)("span",{children:t.name}),(0,a.jsxs)("span",{children:[Math.max(1,Math.round(t.size/1024))," KB"]}),r?(0,a.jsx)("button",{type:"button",onClick:()=>r(t.id),className:"text-foreground",children:"\xd7"}):null]})}function v(e){let{disabled:t,onTranscript:r}=e;return(0,a.jsx)("button",{type:"button",disabled:t,onClick:()=>r("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 y(e){let{disabled:t,statusNote:r,chips:s=[],onSend:l}=e,[n,d]=(0,o.useState)(""),[i,u]=(0,o.useState)([]),[y,j]=(0,o.useState)(!1),w=(0,o.useRef)(null),N=(0,f.n)({mutationFn:async e=>{let t=new FormData;t.append("file",e);let r=await fetch("/api/uploads",{method:"POST",body:t});if(!r.ok)throw Error("Upload failed");let a=await r.json();return(0,c.x)("attachment.uploaded",{name:e.name,size:e.size}),a.attachment}}),k=async e=>{let t=await N.mutateAsync(e);u(e=>[...e,t])},S=async e=>{e.preventDefault();let r=n.trim();if(!r&&0===i.length||t)return;let a=i.map(e=>e.id);d(""),u([]),(0,c.x)("chat.send",{attachmentCount:a.length}),await l(r||"Sent with attachments only.",a)};return(0,a.jsx)("form",{onSubmit:S,className:"shrink-0 border-t border-border/70 bg-background/80 p-2 md:p-3",children:(0,a.jsxs)("div",{className:"rounded-xl border border-border/70 card-default p-3 shadow-[var(--shadow-soft)]",onDragOver:e=>e.preventDefault(),onDrop:e=>{var t;e.preventDefault();let r=null==(t=e.dataTransfer.files)?void 0:t[0];r&&k(r)},children:[(0,a.jsxs)("div",{className:"mb-2 flex flex-wrap items-center gap-1.5",children:[s.map(e=>(0,a.jsx)("span",{className:"rounded-full border border-border/70 bg-background/80 px-3 py-1 text-xs font-medium text-foreground",children:e.label},e.key)),(0,a.jsxs)("button",{type:"button",onClick:()=>j(e=>!e),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,a.jsx)(m.A,{className:"h-3.5 w-3.5 transition ".concat(y?"rotate-180":"")})]})]}),y?(0,a.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,a.jsxs)("div",{className:"rounded-xl border border-border/70 bg-card/60 p-3",children:[(0,a.jsx)("p",{className:"font-semibold text-foreground",children:"Prompt focus"}),(0,a.jsx)("p",{className:"mt-1",children:"The main prompt stays dominant. Lower-frequency context and controls live here so the composer stays calm."})]}),(0,a.jsxs)("div",{className:"rounded-xl border border-border/70 bg-card/60 p-3",children:[(0,a.jsx)("p",{className:"font-semibold text-foreground",children:"Visible trust cues"}),(0,a.jsx)("p",{className:"mt-1",children:"Model, mode, tools, files, and profile remain visible before you send anything."})]}),(0,a.jsxs)("div",{className:"rounded-xl border border-border/70 bg-card/60 p-3",children:[(0,a.jsx)("p",{className:"font-semibold text-foreground",children:"Attachments"}),(0,a.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,a.jsx)("div",{className:"mb-3 flex flex-wrap gap-2",children:i.map(e=>(0,a.jsx)(g,{attachment:e,onRemove:e=>u(t=>t.filter(t=>t.id!==e))},e.id))}):null,(0,a.jsx)("textarea",{value:n,onChange:e=>d(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),S(e))},placeholder:t?"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:t}),(0,a.jsxs)("div",{className:"mt-3 flex flex-col gap-3 xl:flex-row xl:items-center xl:justify-between",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)("input",{ref:w,type:"file",className:"hidden",onChange:async e=>{var t;let r=null==(t=e.target.files)?void 0:t[0];r&&(await k(r),e.currentTarget.value="")}}),(0,a.jsxs)("button",{type:"button",onClick:()=>{var e;return null==(e=w.current)?void 0:e.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,a.jsx)(p,{className:"h-4 w-4"}),"Attach"]}),(0,a.jsx)(v,{disabled:t,onTranscript:e=>d(t=>"".concat(t).concat(t?" ":"").concat(e))}),r?(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:r}):null]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsxs)("span",{className:"hidden items-center gap-1 text-xs text-muted-foreground md:inline-flex",children:[(0,a.jsx)(x.A,{className:"h-3.5 w-3.5"}),"Trust cues stay visible"]}),(0,a.jsxs)("span",{className:"hidden items-center gap-1 text-xs text-muted-foreground md:inline-flex",children:[(0,a.jsx)(h,{className:"h-3.5 w-3.5"}),"Tools stay explicit"]}),(0,a.jsxs)("button",{type:"submit",disabled:t||!n.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,a.jsx)(b,{className:"h-4 w-4"}),"Send"]})]})]})]})})}let j=(0,s.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,s.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"}]]),N=(0,s.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 k=r(5740);let S=(0,s.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(e){let{onRename:t,onArchive:r,onDelete:s,onFork:l}=e,[n,d]=(0,o.useState)(!1);return(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)("button",{type:"button",onClick:()=>d(e=>!e),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"}),n?(0,a.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,a.jsx)("button",{type:"button",onClick:()=>{d(!1),t()},className:"block w-full rounded-md px-3 py-2 text-left text-sm hover:bg-card",children:"Rename"}),(0,a.jsx)("button",{type:"button",onClick:()=>{d(!1),l()},className:"block w-full rounded-md px-3 py-2 text-left text-sm hover:bg-card",children:"Fork"}),(0,a.jsx)("button",{type:"button",onClick:()=>{d(!1),r()},className:"block w-full rounded-md px-3 py-2 text-left text-sm hover:bg-card",children:"Archive"}),(0,a.jsx)("button",{type:"button",onClick:()=>{d(!1),s()},className:"block w-full rounded-md px-3 py-2 text-left text-sm text-danger hover:bg-card",children:"Delete"})]}):null]})}var C=r(592),M=r(4269);function P(e){var t,r,s;let{value:l,provider:n,onChange:d,ariaLabel:i="Model switcher",disabled:c,className:u}=e,p=null!=(r=function(e,t){var r,a,s;let l=(0,C.w)(),n=(0,o.useMemo)(()=>{var r,a,s,n;let o=new Map;for(let e of null!=(s=null==(r=l.data)?void 0:r.modelOptions)?s:[])o.set(e.id,e);return e&&!o.has(e)&&o.set(e,{id:e,label:e,provider:t||(null==(n=l.data)?void 0:n.provider)||"unknown",source:"session-current"}),!o.size&&(null==(a=l.data)?void 0:a.modelDefault)&&o.set(l.data.modelDefault,{id:l.data.modelDefault,label:l.data.modelDefault,provider:l.data.provider||"unknown",source:"runtime-default"}),Array.from(o.values())},[e,t,null==(r=l.data)?void 0:r.modelDefault,null==(a=l.data)?void 0:a.modelOptions,null==(s=l.data)?void 0:s.provider]);return{...l,data:n}}(l,n).data)?r:[];(0,o.useEffect)(()=>{!l&&p[0]&&d(p[0].id,p[0].provider)},[d,p,l]);let x=null!=(s=null==(t=p.find(e=>e.id===l))?void 0:t.label)?s:l;return(0,a.jsxs)("div",{className:(0,M.cn)("relative",u),children:[(0,a.jsx)("select",{value:x,onChange:e=>{let t=p.find(t=>t.label===e.target.value||t.id===e.target.value);t&&d(t.id,t.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":i,disabled:c||0===p.length,children:p.map(e=>(0,a.jsxs)("option",{value:e.label,children:[e.label," \xb7 ",e.provider]},e.id))}),(0,a.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 T=r(2263),D=r(4695);function _(e){let{title:t,settings:r,profileLabel:s,loadedSkillIds:l,runtimeConnected:n,controlsDisabled:o,isPersisted:d,archived:i,runtimeSummary:c,hasMessages:u,onOpenSettings:m,onRename:p,onArchive:h,onDelete:b,onFork:f,onModelChange:g}=e,v=(null!=l?l:[]).filter(e=>"skill-authoring"!==e);return(0,a.jsx)("div",{className:(0,M.cn)("shrink-0 border-b border-border/70 bg-card/80 px-5",u?"py-2.5":"py-4"),children:(0,a.jsxs)("div",{className:"flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between",children:[(0,a.jsxs)("div",{className:"min-w-0 space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-xs font-semibold uppercase tracking-label text-muted-foreground",children:"Workspace conversation"}),(0,a.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-3",children:[(0,a.jsx)("h2",{className:"truncate text-xl font-semibold tracking-tight text-foreground",children:t}),i?(0,a.jsx)(T.W,{label:"Archived",tone:"warning"}):null,d?(0,a.jsx)(T.W,{label:"Saved",tone:"success"}):(0,a.jsx)(T.W,{label:"Draft",tone:"warning"})]}),c?(0,a.jsx)("p",{className:"mt-2 max-w-3xl text-sm leading-6 text-muted-foreground",children:c}):null]}),u?null:(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs",children:[(0,a.jsx)(T.W,{label:s,tone:"accent",icon:(0,a.jsx)(j,{className:"h-3.5 w-3.5 text-accent"})}),(0,a.jsx)(T.W,{label:n?"Runtime connected":"Runtime degraded",tone:(0,D.OX)(n?"healthy":"degraded")}),(0,a.jsx)(T.W,{label:r.provider,tone:"muted",icon:(0,a.jsx)(w,{className:"h-3.5 w-3.5 text-primary"})}),(0,a.jsx)(T.W,{label:r.policyPreset,tone:"muted",icon:(0,a.jsx)(x.A,{className:"h-3.5 w-3.5 text-approval"})}),(0,a.jsx)(T.W,{label:r.memoryMode,tone:"muted",icon:(0,a.jsx)(N,{className:"h-3.5 w-3.5 text-success"})})]}),u?null:(0,a.jsxs)("div",{className:"grid gap-3 xl:grid-cols-[minmax(0,1fr)_auto]",children:[(0,a.jsxs)("div",{className:"rounded-lg border border-border/70 bg-background/60 p-3.5",children:[(0,a.jsx)("p",{className:"text-2xs font-semibold uppercase tracking-label text-muted-foreground",children:"Loaded skills"}),v.length?(0,a.jsx)("div",{className:"mt-3 flex flex-wrap gap-2",children:v.map(e=>(0,a.jsx)(T.W,{label:e,tone:"success",icon:(0,a.jsx)(k.A,{className:"h-3.5 w-3.5 text-success"})},e))}):(0,a.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,a.jsxs)("div",{className:"grid min-w-[220px] grid-cols-2 gap-3",children:[(0,a.jsxs)("div",{className:"rounded-lg border border-border/70 bg-background/60 p-3.5",children:[(0,a.jsx)("p",{className:"text-2xs font-semibold uppercase tracking-label text-muted-foreground",children:"Session type"}),(0,a.jsx)("p",{className:"mt-2 text-sm font-semibold text-foreground",children:d?"Saved session":"Temporary session"})]}),(0,a.jsxs)("div",{className:"rounded-lg border border-border/70 bg-background/60 p-3.5",children:[(0,a.jsx)("p",{className:"text-2xs font-semibold uppercase tracking-label text-muted-foreground",children:"Model"}),(0,a.jsx)("p",{className:"mt-2 text-sm font-semibold text-foreground",children:r.model||"Default"})]})]})]})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2 lg:max-w-[360px] lg:justify-end",children:[(0,a.jsx)(P,{value:r.model,provider:r.provider,onChange:g,ariaLabel:"Header model switcher",disabled:o}),(0,a.jsxs)("button",{type:"button",onClick:m,disabled:o,"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,a.jsx)(S,{className:"h-4 w-4"}),"Settings"]}),(0,a.jsx)(A,{onRename:p,onArchive:h,onDelete:b,onFork:f})]})]})})}function L(e){var t,r;let{event:s,onApprove:l,onReject:n}=e;return(0,a.jsxs)("div",{className:"rounded-lg border border-approval/35 bg-approval/10 p-4 shadow-[var(--shadow-card)]",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Approval needed"}),(0,a.jsx)("h4",{className:"mt-1 text-sm font-semibold text-foreground",children:s.toolName}),(0,a.jsx)("p",{className:"mt-2 text-sm leading-6 text-foreground",children:s.summary})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsx)(T.W,{label:null!=(t=s.governance)?t:"approval-gated",tone:(0,D.fh)(null!=(r=s.governance)?r:"approval-gated")}),s.riskLevel?(0,a.jsx)(T.W,{label:"".concat(s.riskLevel," risk"),tone:(0,D.yD)(s.riskLevel)}):null]})]}),(0,a.jsxs)("div",{className:"mt-4 flex gap-2",children:[(0,a.jsx)("button",{type:"button",onClick:()=>l(s.toolCallId),className:"rounded-xl bg-primary px-4 py-2 text-sm font-medium text-primary-foreground shadow-[var(--shadow-card)]",children:"Approve"}),(0,a.jsx)("button",{type:"button",onClick:()=>n(s.toolCallId),className:"rounded-xl border border-border px-4 py-2 text-sm text-foreground",children:"Reject"})]})]})}function R(e){let{artifact:t,onOpen:r}=e;return(0,a.jsxs)("button",{type:"button",onClick:()=>r(t.artifactId),className:"w-full rounded-2xl border border-border bg-card p-4 text-left shadow-sm transition hover:bg-muted/40",children:[(0,a.jsxs)("p",{className:"text-xs uppercase tracking-wide text-muted-foreground",children:["Artifact \xb7 ",t.artifactType]}),(0,a.jsx)("h4",{className:"mt-1 text-sm font-semibold",children:t.label}),t.content?(0,a.jsx)("p",{className:"mt-2 line-clamp-3 text-sm text-muted-foreground",children:t.content}):null]})}var E=r(8192);let I=(0,s.A)("UserRound",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]]);function O(e){let{text:t}=e;return(0,a.jsx)("button",{type:"button",onClick:()=>{"speechSynthesis"in window&&(window.speechSynthesis.cancel(),window.speechSynthesis.speak(new SpeechSynthesisUtterance(t)))},className:"rounded-md border border-border px-2 py-1 text-2xs text-muted-foreground","aria-label":"Play voice",children:"TTS"})}function W(e){var t;let{message:r}=e,s="user"===r.role;return(0,a.jsxs)("div",{className:(0,M.cn)("flex w-full gap-3",s?"justify-end":"justify-start"),children:[s?null:(0,a.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,a.jsx)(E.A,{className:"h-4 w-4"})}),(0,a.jsxs)("div",{className:(0,M.cn)("max-w-[88%] space-y-2",s&&"items-end"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,a.jsx)("p",{className:"text-2xs font-semibold uppercase tracking-label text-muted-foreground",children:s?"You":"Pan"}),(0,a.jsx)("p",{className:"text-2xs uppercase tracking-label text-muted-foreground",children:new Date(r.createdAt).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]}),(0,a.jsxs)("div",{className:(0,M.cn)("rounded-lg border px-4 py-3 text-sm shadow-[var(--shadow-card)]",s?"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,a.jsx)("p",{className:"whitespace-pre-wrap leading-7",children:r.content}),(null==(t=r.attachments)?void 0:t.length)?(0,a.jsx)("div",{className:"mt-3 flex flex-wrap gap-2",children:r.attachments.map(e=>(0,a.jsx)(g,{attachment:e},e.id))}):null,s?null:(0,a.jsx)("div",{className:"mt-3 flex items-center gap-2",children:(0,a.jsx)(O,{text:r.content})})]})]}),s?(0,a.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,a.jsx)(I,{className:"h-4 w-4"})}):null]})}var z=r(9043);function q(e){let t=[...e].reverse().find(e=>"run.phase"===e.type);if((null==t?void 0:t.type)==="run.phase")return t.label;if([...e].reverse().find(e=>"tool.awaiting_approval"===e.type))return"Waiting for approval before the agent can continue.";let r=[...e].reverse().find(e=>"tool.started"===e.type);return(null==r?void 0:r.type)==="tool.started"?"".concat(r.toolName," is running."):"Pan is responding…"}function F(e){var t;let{messages:r,runEvents:s,artifacts:n,streamingMessage:d,isStreaming:i,isLoading:c,onApprove:u,onReject:m,onOpenArtifact:p}=e,x=s.filter(e=>"assistant.delta"!==e.type&&"source.emitted"!==e.type),h=[...s].reverse().find(e=>"run.phase"===e.type),b=s.filter(e=>"tool.awaiting_approval"===e.type).length,f=(0,o.useRef)(null),g=(0,o.useRef)(null),v=(0,o.useRef)(!1);return(0,o.useEffect)(()=>{let e=f.current;if(!e)return;let t=()=>{v.current=e.scrollHeight-e.scrollTop-e.clientHeight>80};return e.addEventListener("scroll",t,{passive:!0}),()=>e.removeEventListener("scroll",t)},[]),(0,o.useEffect)(()=>{if(v.current)return;let e=f.current;e&&e.scrollTo({top:e.scrollHeight,behavior:i?"instant":"smooth"})},[r,d,i,s.length]),(0,a.jsxs)("div",{ref:f,className:"flex min-h-0 flex-1 flex-col gap-5 overflow-y-auto px-5 py-5",children:[c?(0,a.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,c||0!==r.length?null:(0,a.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,a.jsxs)("div",{className:"flex items-center gap-2 text-foreground",children:[(0,a.jsx)(k.A,{className:"h-4 w-4 text-primary"}),(0,a.jsx)("p",{className:"font-semibold",children:"Start a conversation"})]}),(0,a.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,a.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[(0,a.jsx)(T.W,{label:"Chat-first",tone:"accent"}),(0,a.jsx)(T.W,{label:"Tool-aware",tone:"success"}),(0,a.jsx)(T.W,{label:"Approval-ready",tone:"warning"})]})]}),(i||x.length>0)&&!c?(0,a.jsx)("div",{className:"rounded-lg border border-border/70 bg-background/60 p-4 shadow-[var(--shadow-card)]",children:(0,a.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-2xs font-semibold uppercase tracking-label text-muted-foreground",children:"Runtime activity"}),(0,a.jsx)("p",{className:"mt-1 text-sm font-medium text-foreground",children:i?q(s):null!=(t=null==h?void 0:h.label)?t:"No active tool run"})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(null==h?void 0:h.type)==="run.phase"?(0,a.jsx)(T.W,{label:h.phase,tone:"accent"}):null,(0,a.jsx)(T.W,{label:"".concat(x.length," events"),tone:"muted"}),b?(0,a.jsx)(T.W,{label:"".concat(b," approvals"),tone:"warning"}):null]})]})}):null,r.map(e=>(0,a.jsx)(W,{message:e},e.id)),x.map((e,t)=>{if("tool.started"===e.type||"tool.completed"===e.type)return(0,a.jsx)(z.J,{event:e},"".concat(e.type,"-").concat(e.toolCallId,"-").concat(t));if("tool.awaiting_approval"===e.type)return(0,a.jsx)(L,{event:e,onApprove:u,onReject:m},"".concat(e.type,"-").concat(e.toolCallId,"-").concat(t));if("artifact.emitted"===e.type){var r;let s=null!=(r=n.find(t=>t.artifactId===e.artifactId))?r:e;return(0,a.jsx)(R,{artifact:s,onOpen:p},"".concat(e.type,"-").concat(e.artifactId,"-").concat(t))}return"run.phase"===e.type?(0,a.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:e.label},"".concat(e.type,"-").concat(t)):"error"===e.type?(0,a.jsx)("div",{className:"rounded-lg border border-danger/30 bg-danger/10 p-4 text-sm text-foreground shadow-[var(--shadow-card)]",children:(0,a.jsxs)("div",{className:"flex items-start gap-2",children:[(0,a.jsx)(l,{className:"mt-0.5 h-4 w-4 text-danger"}),(0,a.jsx)("p",{children:e.message})]})},"".concat(e.type,"-").concat(t)):null}),i?(0,a.jsxs)("div",{className:"flex justify-start gap-3",children:[(0,a.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,a.jsx)(k.A,{className:"h-4 w-4"})}),(0,a.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,a.jsx)("p",{className:"whitespace-pre-wrap leading-7",children:d||"…"}),(0,a.jsx)("p",{className:"mt-3 text-2xs uppercase tracking-label text-muted-foreground",children:q(s)})]})]}):null,(0,a.jsx)("div",{ref:g,"aria-hidden":"true",className:"h-px shrink-0"})]})}var V=r(9776);function H(e){if(!e)return null;let t=e.title||e.label||e.name||e.href||e.url;return t?{id:String(e.id||e.href||e.url||e.label||t),title:String(t),href:e.href||e.url?String(e.href||e.url):void 0,snippet:e.snippet||e.quote||e.description?String(e.snippet||e.quote||e.description):void 0,sourceType:function(e){switch(String(e||"").toLowerCase()){case"web":case"url":return"web";case"file":return"file";case"workspace":return"workspace";case"integration":return"integration";default:return"unknown"}}(e.sourceType||e.kind||e.type),provenance:function(e){switch(String(e||"").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"}}(e.provenance),note:e.note?String(e.note):void 0,label:e.label?String(e.label):void 0}:null}var J=r(6288);function U(e){let{open:t,title:r,description:s,confirmLabel:l,confirmClassName:n,onClose:o,onConfirm:d}=e;return t?(0,a.jsx)("div",{className:"fixed inset-0 z-30 flex items-center justify-center bg-black/50 p-4",children:(0,a.jsxs)("div",{className:"w-full max-w-md rounded-2xl border border-border bg-background p-5 shadow-xl",children:[(0,a.jsx)("h3",{className:"text-lg font-semibold",children:r}),(0,a.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:s}),(0,a.jsxs)("div",{className:"mt-5 flex justify-end gap-2",children:[(0,a.jsx)("button",{type:"button",onClick:o,className:"rounded-lg border border-border px-4 py-2 text-sm",children:"Cancel"}),(0,a.jsx)("button",{type:"button",onClick:()=>void d(),className:null!=n?n:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground",children:l})]})]})}):null}function K(e){let{open:t,initialTitle:r,onClose:s,onSubmit:l}=e,[n,d]=(0,o.useState)(r);return((0,o.useEffect)(()=>{d(r)},[r]),t)?(0,a.jsx)("div",{className:"fixed inset-0 z-30 flex items-center justify-center bg-black/50 p-4",children:(0,a.jsxs)("div",{className:"w-full max-w-md rounded-2xl border border-border bg-background p-5 shadow-xl",children:[(0,a.jsx)("h3",{className:"text-lg font-semibold",children:"Rename session"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Give this conversation a clearer title."}),(0,a.jsx)("input",{"aria-label":"Rename session input",value:n,onChange:e=>d(e.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,a.jsxs)("div",{className:"mt-5 flex justify-end gap-2",children:[(0,a.jsx)("button",{type:"button",onClick:s,className:"rounded-lg border border-border px-4 py-2 text-sm",children:"Cancel"}),(0,a.jsx)("button",{type:"button",onClick:()=>void l(n),className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground",children:"Save"})]})]})}):null}var B=r(6191);let Q=(0,s.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"}]]),G=(0,s.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,s.A)("Clock3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16.5 12",key:"1aq6pp"}]]);function Z(e){let{value:t,onChange:r}=e;return(0,a.jsx)("div",{className:"border-b border-border/70 px-4 pb-3 pt-1",children:(0,a.jsx)("input",{value:t,onChange:e=>r(e.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 X(e){let{sessions:t,selectedSessionId:r,search:s,isLoading:l,onSearchChange:n,onNewChat:d,onSelectSession:i}=e,[c,u]=(0,o.useState)(25),m=s.trim()?t.filter(e=>!e.parentSessionId):t,p=m.filter(e=>e.pinned&&!e.archived),x=m.filter(e=>!e.pinned&&!e.archived),h=m.filter(e=>e.archived),[b,f]=(0,o.useState)(!1),g=[{label:"Pinned",items:p},{label:"Recent",items:x.slice(0,c)},{label:"Archived",items:b?h:h.slice(0,5)}].filter(e=>e.items.length>0),v=x.length>c,y=!b&&h.length>5;return(0,a.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,a.jsxs)("div",{className:"border-b border-border/70 p-4",children:[(0,a.jsx)("p",{className:"mb-3 text-xs font-semibold uppercase tracking-label text-muted-foreground",children:"Workspace"}),(0,a.jsx)("div",{className:"rounded-lg bg-[linear-gradient(135deg,hsl(var(--primary))/0.16,hsl(var(--accent))/0.12)] p-1",children:(0,a.jsxs)("button",{type:"button",onClick:d,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,a.jsx)(B.A,{className:"h-4 w-4"}),"New chat"]})}),(0,a.jsxs)("div",{className:"mt-4 grid grid-cols-3 gap-2 text-center",children:[(0,a.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/60 px-2 py-2.5",children:[(0,a.jsx)("p",{className:"text-2xs uppercase tracking-label text-muted-foreground",children:"All"}),(0,a.jsx)("p",{className:"mt-1 text-sm font-semibold text-foreground",children:m.length})]}),(0,a.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/60 px-2 py-2.5",children:[(0,a.jsx)("p",{className:"text-2xs uppercase tracking-label text-muted-foreground",children:"Pinned"}),(0,a.jsx)("p",{className:"mt-1 text-sm font-semibold text-foreground",children:p.length})]}),(0,a.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/60 px-2 py-2.5",children:[(0,a.jsx)("p",{className:"text-2xs uppercase tracking-label text-muted-foreground",children:"Archived"}),(0,a.jsx)("p",{className:"mt-1 text-sm font-semibold text-foreground",children:h.length})]})]})]}),(0,a.jsx)(Z,{value:s,onChange:n}),(0,a.jsxs)("div",{className:"flex-1 space-y-4 overflow-y-auto p-3",children:[l?(0,a.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,l||0!==m.length?null:(0,a.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."}),g.map(e=>(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-2 text-2xs font-semibold uppercase tracking-label text-muted-foreground",children:[(0,a.jsx)("span",{children:e.label}),(0,a.jsx)("span",{children:e.items.length})]}),e.items.map(e=>{var t;return(0,a.jsxs)("button",{type:"button",onClick:()=>i(e.id),"aria-label":/\(fork\)/i.test(e.title)&&r!==e.id?e.title:"Open session ".concat(e.id),className:(0,M.cn)("w-full rounded-lg border px-4 py-3 text-left transition",r===e.id?"border-primary/20 bg-primary/8":"border-border/70 bg-background/80 hover:border-border hover:bg-card"),children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("p",{"aria-hidden":"true",className:"truncate text-sm font-semibold text-foreground",children:e.title}),(0,a.jsx)("p",{"aria-hidden":"true",className:"mt-1 line-clamp-2 text-xs leading-5 text-muted-foreground",children:(t=e.preview)?t.length>88?"".concat(t.slice(0,85),"…"):t:"No messages yet."})]}),(0,a.jsxs)("div",{className:"flex shrink-0 flex-col items-end gap-1",children:[e.pinned?(0,a.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,a.jsx)(Q,{className:"h-3 w-3"}),"Pinned"]}):null,e.parentSessionId?(0,a.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,a.jsx)(G,{className:"h-3 w-3"}),"Fork"]}):null]})]}),(0,a.jsxs)("div",{className:"mt-3 flex items-center justify-between gap-2 text-2xs text-muted-foreground",children:[(0,a.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,a.jsx)(Y,{className:"h-3.5 w-3.5"}),new Date(e.updatedAt).toLocaleString([],{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})]}),e.workspaceLabel?(0,a.jsx)("span",{children:e.workspaceLabel}):null]})]},e.id)})]},e.label)),v?(0,a.jsxs)("button",{type:"button",onClick:()=>u(e=>e+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 (",x.length-c," remaining)"]}):null,y?(0,a.jsxs)("button",{type:"button",onClick:()=>f(!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 (",h.length-5," more)"]}):null]})]})}function $(e){let{open:t,settings:r,saving:s,error:l,disabled:n,onClose:d,onSave:i}=e,[c,u]=(0,o.useState)(r);return((0,o.useEffect)(()=>{u(r)},[r]),t)?(0,a.jsx)("div",{className:"fixed inset-0 z-30 flex justify-end bg-black/45 backdrop-blur-sm",children:(0,a.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,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-lg font-semibold",children:"Session controls"}),(0,a.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,a.jsx)("button",{type:"button",onClick:d,className:"rounded-2xl border border-border/70 bg-background/80 px-3 py-2 text-sm font-medium text-foreground",children:"Close"})]}),(0,a.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,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("label",{htmlFor:"chat-model",className:"text-sm font-medium",children:"Model"}),(0,a.jsx)("div",{id:"chat-model",children:(0,a.jsx)(P,{value:c.model,provider:c.provider,onChange:(e,t)=>u(r=>({...r,model:e,provider:t})),ariaLabel:"Settings model switcher",disabled:n||s,className:"w-full"})})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("label",{htmlFor:"policy-preset",className:"text-sm font-medium",children:"Policy preset"}),(0,a.jsxs)("select",{id:"policy-preset",value:c.policyPreset,onChange:e=>u(t=>({...t,policyPreset:e.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:n||s,children:[(0,a.jsx)("option",{value:"safe-chat",children:"Safe Chat"}),(0,a.jsx)("option",{value:"research",children:"Research"}),(0,a.jsx)("option",{value:"builder",children:"Builder"}),(0,a.jsx)("option",{value:"full-power",children:"Full Power"})]})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("label",{htmlFor:"memory-mode",className:"text-sm font-medium",children:"Memory mode"}),(0,a.jsxs)("select",{id:"memory-mode",value:c.memoryMode,onChange:e=>u(t=>({...t,memoryMode:e.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:n||s,children:[(0,a.jsx)("option",{value:"standard",children:"Standard"}),(0,a.jsx)("option",{value:"minimal",children:"Minimal"})]})]})]}),l?(0,a.jsx)("div",{className:"mt-4 rounded-2xl border border-danger/30 bg-danger/10 px-4 py-3 text-sm text-foreground",children:l}):null,(0,a.jsx)("div",{className:"mt-8 flex justify-end",children:(0,a.jsx)("button",{type:"button",onClick:()=>void i(c),disabled:n||s,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:s?"Saving…":"Save settings"})})]})}):null}function ee(){var e,t,r,s,m,p,x,h,b,g,v,j,w,N,k,S,A,M,P,T;let D=(0,d.useSearchParams)(),L=D.get("session"),R=D.get("loadedSkill"),[E,I]=(0,o.useState)(""),[O,W]=(0,o.useState)(null),[z,q]=(0,o.useState)([]),[B,Q]=(0,o.useState)(""),[G,Y]=(0,o.useState)(!1),[Z,ee]=(0,o.useState)(!1),[et,er]=(0,o.useState)(!1),[ea,es]=(0,o.useState)(!1),[el,en]=(0,o.useState)(null),[eo,ed]=(0,o.useState)(null),[ei,ec]=(0,o.useState)({model:"",provider:"unknown",policyPreset:"safe-chat",memoryMode:"standard"}),eu=(0,J.te)(E),em=(0,C.w)(),ep=(0,J.oz)(),ex=(0,J.Kp)(),eh=(0,J.Sv)(),eb=(0,J.tS)(),ef=(0,J.QV)(),eg=(0,J.Or)(),ev=function(){let e=(0,V.jE)();return(0,f.n)({mutationFn:async e=>{var t,r;let{sessionId:a,message:s,attachmentIds:l,onEvent:n}=e,o=await fetch("/api/chat/stream",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:a,message:s,attachmentIds:l})});if(!o.ok||!o.body){let e=await o.json().catch(()=>null);throw new i.h(o.status,null!=(t=null==e?void 0:e.error)?t:"Unable to stream response",null==e?void 0:e.code,e)}let d=o.body.getReader(),c=new TextDecoder,u="",m=!1;for(;!m;){let{value:e,done:t}=await d.read();if(m=t,t||!e)break;let a=(u+=c.decode(e,{stream:!0})).split("\n\n");for(let e of(u=null!=(r=a.pop())?r:"",a))for(let t of function(e){let t=[];for(let o of e.split("\n\n"))for(let e of o.split("\n").filter(e=>e.startsWith("data:"))){var r,a,s,l,n;let o=e.replace(/^data:\s*/,"").trim();if(!o||"[DONE]"===o)continue;let d=function(e){try{return JSON.parse(e)}catch(e){return null}}(o);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){t.push(d);continue}if("response.output_text.delta"===d.type&&d.delta){t.push({type:"assistant.delta",delta:String(d.delta)});continue}if("response.output_item.added"===d.type&&(null==(r=d.item)?void 0:r.type)==="function_call"){t.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&&(null==(a=d.item)?void 0:a.type)==="function_call"){t.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&&(null==(s=d.item)?void 0:s.type)==="file_search_call"){t.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 i=H(d.source||d.citation||(null==(l=d.metadata)?void 0:l.source)||null);if(i&&t.push({type:"source.emitted",source:i}),("response.completed"===d.type||"response.output_item.done"===d.type)&&Array.isArray(null==(n=d.response)?void 0:n.output))for(let e of d.response.output){if((null==e?void 0:e.type)==="message"&&Array.isArray(e.content))for(let r of e.content){((null==r?void 0:r.type)==="output_text"||(null==r?void 0:r.type)==="text")&&r.text&&t.push({type:"assistant.delta",delta:String(r.text)});let e=H((null==r?void 0:r.source)||(null==r?void 0:r.citation)||null);e&&t.push({type:"source.emitted",source:e})}(null==e?void 0:e.type)==="function_call"&&t.push({type:"tool.completed",toolCallId:String(e.call_id||e.id||"tool-call"),toolName:String(e.name||"function_call"),output:"string"==typeof e.arguments?e.arguments:JSON.stringify(e.arguments||{}),riskLevel:"execute"})}}return t}("".concat(e,"\n\n")))null==n||n(t)}return a},onSuccess:async t=>{await e.invalidateQueries({queryKey:["sessions"]}),await e.invalidateQueries({queryKey:["session",t]})}})}(),{runEvents:ey,artifacts:ej,addRunEvent:ew,addArtifact:eN,resetRunState:ek,selectArtifact:eS,updateApprovalState:eA,activeSessionId:eC,setActiveSessionId:eM,selectedProfileId:eP,recentlyLoadedSkillIds:eT,sessionLoadedSkillIds:eD}=(0,u.j)();(0,o.useEffect)(()=>{var e,t;if(!(null==(e=eu.data)?void 0:e.length))return;let r=L&&eu.data.some(e=>e.id===L)?L:null,a=eC&&eu.data.some(e=>e.id===eC)?eC:null,s=null!=(t=null!=r?r:a)?t:eu.data[0].id;(!O||L&&O!==L&&s===L)&&W(s)},[eC,L,O,eu.data]),(0,o.useEffect)(()=>{if(O&&eu.data&&!eu.data.some(e=>e.id===O)){var e,t;W(null!=(t=null==(e=eu.data[0])?void 0:e.id)?t:null)}},[O,eu.data]);let e_=(0,J.wV)(O);(0,o.useEffect)(()=>{O&&eM(O)},[O,eM]),(0,o.useEffect)(()=>{var e,t;if(null==(e=e_.data)?void 0:e.settings)return void ec(e_.data.settings);(null==(t=em.data)?void 0:t.modelDefault)&&ec(e=>{var t,r;return{...e,model:(null==(t=em.data)?void 0:t.modelDefault)||e.model,provider:(null==(r=em.data)?void 0:r.provider)||e.provider}})},[null==(e=em.data)?void 0:e.modelDefault,null==(t=em.data)?void 0:t.provider,null==(r=e_.data)?void 0:r.settings]);let eL=(0,o.useMemo)(()=>{var e,t;return[...null!=(t=null==(e=e_.data)?void 0:e.messages)?t:[],...z]},[z,null==(s=e_.data)?void 0:s.messages]),eR=null!=(j=null==(m=em.data)?void 0:m.apiReachable)&&j,eE=null!=(w=null==(p=em.data)?void 0:p.available)&&w,eI=null!=(N=null==(x=em.data)?void 0:x.mockMode)&&N,eO=eE&&!eR,eW=eO&&!eI||eg.isPending,ez=null!=(k=null==(h=e_.data)?void 0:h.title)?k:"New chat",eq=null!=(A=null!=(S=null==(b=em.data)?void 0:b.activeProfile)?S:eP)?A:"default",eF=!!(O&&e_.data),eV=[{key:"model",label:"Model \xb7 ".concat(ei.model||"default")},{key:"mode",label:"Mode \xb7 ".concat(ei.policyPreset)},{key:"tools",label:"Tools \xb7 ".concat(eR?"runtime live":"degraded")},{key:"files",label:"Files \xb7 ".concat(ej.length)},{key:"profile",label:"Profile \xb7 ".concat(eq)}],eH=O&&null!=(M=eD[O])?M:[],eJ=Array.from(new Set([R,...null!=eH?eH:[],...null!=eT?eT:[],...null!=(P=null==(g=e_.data)?void 0:g.loadedSkillIds)?P:[]].filter(Boolean))),eU=eR?"Talking to ".concat(ei.provider," via the live runtime."):eI?"Mock mode is active for chat flows, approvals, sources, and artifacts.":eE?"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.",eK=async()=>{ed(null),en(null),ek(),W(null),eM(null),q([]),Q("")},eB=async(e,t)=>{let r=O;r||(W(r=(await ep.mutateAsync()).session.id),eM(r));let a={id:"optimistic-".concat(Date.now()),role:"user",content:e,createdAt:new Date().toISOString()};ek(),ed(null),q(e=>[...e,a]),Q("");let s=!1;try{await ev.mutateAsync({sessionId:r,message:e,attachmentIds:t,onEvent:e=>{if("assistant.delta"===e.type)return void Q(t=>t+e.delta);ew(e),"artifact.emitted"===e.type&&eN({artifactId:e.artifactId,artifactType:e.artifactType,label:e.label,content:e.content})}})}catch(t){s=!0;let e=t instanceof Error?t.message:"Unable to send message.";t instanceof i.h&&503===t.status?(ed("Message saved, but the runtime API is unavailable right now. Check diagnostics or retry when the backend comes back."),await Promise.all([e_.refetch(),eu.refetch(),em.refetch()])):ed(e),q([]),Q("")}s||(await e_.refetch(),q([]),Q(""))},eQ=async(e,t)=>{if(O){en(null),ed(null),ec(r=>({...r,model:e,provider:t}));try{await eg.mutateAsync({sessionId:O,settings:{model:e,provider:t}})}catch(e){ec(ei),en(e instanceof Error?e.message:"Unable to update session settings.")}}},eG=async e=>{if(O){en(null),ed(null),ec(t=>({...t,...e}));try{await eg.mutateAsync({sessionId:O,settings:e}),es(!1)}catch(e){ec(ei),en(e instanceof Error?e.message:"Unable to update session settings.")}}};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"grid h-full gap-5 lg:grid-cols-[320px_minmax(0,1fr)]",children:[(0,a.jsx)(X,{sessions:null!=(T=eu.data)?T:[],selectedSessionId:O,search:E,isLoading:eu.isLoading,onSearchChange:I,onNewChat:()=>void eK(),onSelectSession:e=>{ed(null),en(null),ek(),W(e),eM(e),q([]),Q("")}}),(0,a.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:[eI?(0,a.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,a.jsx)(_,{title:ez,settings:ei,profileLabel:eq,loadedSkillIds:eJ,runtimeConnected:eR,controlsDisabled:eW,isPersisted:eF,archived:null==(v=e_.data)?void 0:v.archived,runtimeSummary:eU,hasMessages:eL.length>0,onOpenSettings:()=>{en(null),es(!0)},onRename:()=>Y(!0),onArchive:()=>ee(!0),onDelete:()=>er(!0),onFork:()=>{O&&ef.mutateAsync(O).then(e=>{let{session:t}=e;ek(),I(""),W(t.id),eM(t.id),q([]),Q("")})},onModelChange:(e,t)=>{eQ(e,t)}}),(0,a.jsx)(F,{messages:eL,runEvents:ey,artifacts:ej,streamingMessage:B,isStreaming:ev.isPending,isLoading:e_.isLoading,onApprove:e=>{(0,c.x)("approval.approved",{toolCallId:e}),fetch("/api/runtime/approvals/".concat(e),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:"approved"})}).catch(()=>void 0),eA(e,!0)},onReject:e=>{(0,c.x)("approval.rejected",{toolCallId:e}),fetch("/api/runtime/approvals/".concat(e),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:"rejected"})}).catch(()=>void 0),eA(e,!1)},onOpenArtifact:e=>eS(e)}),eO&&!eI?(0,a.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,a.jsxs)("div",{className:"flex flex-col gap-3 md:flex-row md:items-center md:justify-between",children:[(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)(l,{className:"mt-0.5 h-5 w-5 text-warning"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-semibold",children:"Runtime API is currently unavailable"}),(0,a.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,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>void em.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,a.jsx)(n.A,{className:"h-4 w-4"}),"Retry runtime"]}),(0,a.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,eo||el?(0,a.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:eo||el}):null,(0,a.jsx)(y,{disabled:ev.isPending||eO&&!eI,statusNote:eO&&!eI?"Runtime offline — sending is paused until it reconnects.":eI?"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:eV,onSend:eB})]})]}),(0,a.jsx)(K,{open:G,initialTitle:ez,onClose:()=>Y(!1),onSubmit:async e=>{O&&(Y(!1),await ex.mutateAsync({sessionId:O,title:e}))}}),(0,a.jsx)(U,{open:Z,title:"Archive session",description:"Archive this conversation but keep it available in history and search.",confirmLabel:"Archive",onClose:()=>ee(!1),onConfirm:async()=>{O&&(await eh.mutateAsync(O),ee(!1))}}),(0,a.jsx)(U,{open:et,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:()=>er(!1),onConfirm:async()=>{O&&(await eb.mutateAsync(O),ek(),er(!1),O==O&&W(null))}}),(0,a.jsx)($,{open:ea,settings:ei,saving:eg.isPending,error:el,disabled:eO&&!eI,onClose:()=>es(!1),onSave:eG})]})}},3804:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(1847).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"}]])},7910:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(1847).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"}]])}},e=>{e.O(0,[2231,5449,9657,8441,1255,7358],()=>e(e.s=2257)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[513],{630:(e,t,r)=>{"use strict";r.d(t,{BF:()=>b,Ot:()=>d,bF:()=>c,qr:()=>p,rz:()=>x,yX:()=>m});var s=r(2454),o=r(9776),n=r(549),l=r(9678),a=r(9054),i=r(1119);function d(){return(0,s.I)({queryKey:["extensions"],queryFn:()=>(0,l.n)("/api/extensions"),select:e=>({extensions:(0,a.C5)(e.extensions),tools:(0,a.YM)(e.tools)})})}function c(e){return(0,s.I)({queryKey:["extension",e],queryFn:()=>(0,l.n)("/api/extensions/".concat(e)),select:e=>(0,a.HB)(e.extension),enabled:!!e})}function u(e,t){let r=(0,a.HB)(t);e.invalidateQueries({queryKey:["extensions"]}),e.setQueryData(["extension",r.id],{extension:r})}function p(){let e=(0,o.jE)();return(0,n.n)({mutationFn:e=>(0,l.n)("/api/extensions/mcp",{method:"POST",body:JSON.stringify(e)}),onSuccess:t=>{let{extension:r}=t;(0,i.x)("extension.updated",{extensionId:r.id}),u(e,r)}})}function m(){let e=(0,o.jE)();return(0,n.n)({mutationFn:e=>{let{extensionId:t,patch:r}=e;return(0,l.n)("/api/extensions/".concat(t),{method:"PATCH",body:JSON.stringify(r)})},onSuccess:t=>{let{extension:r}=t;(0,i.x)("extension.config.updated",{extensionId:r.id}),u(e,r)}})}function x(){let e=(0,o.jE)();return(0,n.n)({mutationFn:e=>(0,l.n)("/api/extensions/".concat(e,"/test"),{method:"POST"}),onSuccess:t=>{let{extension:r}=t;(0,i.x)("extension.tested",{extensionId:r.id,health:r.health}),u(e,r)}})}function b(){let e=(0,o.jE)();return(0,n.n)({mutationFn:e=>{let{extensionId:t,capabilityId:r,patch:s}=e;return(0,l.n)("/api/extensions/".concat(t,"/capabilities/").concat(r),{method:"PATCH",body:JSON.stringify(s)})},onSuccess:t=>{let{extension:r}=t;(0,i.x)("extension.capability.updated",{extensionId:r.id}),u(e,r)}})}},685:(e,t,r)=>{"use strict";function s(e,t){return"builtin"===e?"Built in for every workspace":"global"===e?"Installed for all profiles":t?"Profile scoped \xb7 ".concat(t):"Profile scoped"}function o(e){switch(e){case"built-in":return"Official";case"verified":return"Verified";case"custom":return"Community";case"local-process":return"Local";default:return e}}function n(e){switch(e){case"built-in":return"Official";case"verified":return"Verified";case"custom":return"Community";case"self-hosted":return"Self-hosted";case"local-process":return"Local process";default:return"Unknown source"}}function l(e){switch(e){case"read":case"low":return"Low risk";case"write":case"medium":return"Writes data";case"execute":return"Executes commands";case"admin":case"high":return"High privilege";default:return e}}function a(e){let t=String(null!=e?e:"unknown");return"needs-auth"===t?"Needs auth":"expired"===t?"Auth expired":"none"===t?"No auth required":"unknown"===t?"Auth unknown":"Auth connected"}function i(e){switch(e){case"enabled":return"Enabled by policy";case"blocked":return"Blocked by policy";case"approval-gated":return"Approval required";case"policy-limited":return"Policy limited";default:return"Governance unknown"}}function d(e){switch(e){case"auto":return"Auto approve";case"on-request":return"On request";case"always":return"Always ask";default:return"Policy inherited"}}function c(e){switch(e){case"global":return"Visible to every profile";case"profile":return"Visible only in this profile";case"session":return"Loaded only in the active session";default:return e}}r.d(t,{B6:()=>d,BX:()=>a,CF:()=>n,CV:()=>o,Ow:()=>i,VJ:()=>s,b:()=>l,mF:()=>c})},1119:(e,t,r)=>{"use strict";function s(e,t){fetch("/api/telemetry",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({event:e,source:"client",payload:null!=t?t:{}}),keepalive:!0}).catch(()=>void 0),console.debug("[telemetry]",e,null!=t?t:{})}r.d(t,{x:()=>s})},1336:(e,t,r)=>{"use strict";r.d(t,{ExtensionsScreen:()=>j});var s=r(5155),o=r(2115),n=r(63),l=r(630);function a(e){let{open:t,onClose:r,onSubmit:n}=e,[l,a]=(0,o.useState)(""),[i,d]=(0,o.useState)(""),[c,u]=(0,o.useState)(""),[p,m]=(0,o.useState)("none"),[x,b]=(0,o.useState)(""),[h,j]=(0,o.useState)(null);return t?(0,s.jsx)("div",{className:"fixed inset-0 z-30 flex items-center justify-center bg-black/50 p-4",children:(0,s.jsxs)("div",{className:"w-full max-w-lg rounded-2xl border border-border bg-background p-5 shadow-xl",children:[(0,s.jsx)("h3",{className:"text-lg font-semibold",children:"Add MCP server"}),(0,s.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Create a new MCP extension by command or URL."}),(0,s.jsxs)("div",{className:"mt-4 space-y-3",children:[(0,s.jsx)("input",{value:l,onChange:e=>a(e.target.value),placeholder:"Server name",className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm"}),(0,s.jsx)("input",{value:i,onChange:e=>d(e.target.value),placeholder:"Command (optional if URL is provided)",className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm"}),(0,s.jsx)("input",{value:c,onChange:e=>u(e.target.value),placeholder:"URL (optional if command is provided)",className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm"}),(0,s.jsxs)("select",{value:p,onChange:e=>m(e.target.value),className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm",children:[(0,s.jsx)("option",{value:"none",children:"No auth"}),(0,s.jsx)("option",{value:"api-key",children:"API key"}),(0,s.jsx)("option",{value:"oauth",children:"OAuth"})]}),"none"!==p?(0,s.jsx)("input",{value:x,onChange:e=>b(e.target.value),placeholder:"Token / secret",className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm"}):null,h?(0,s.jsx)("p",{className:"text-sm text-danger",children:h}):null]}),(0,s.jsxs)("div",{className:"mt-5 flex justify-end gap-2",children:[(0,s.jsx)("button",{type:"button",onClick:r,className:"rounded-lg border border-border px-4 py-2 text-sm",children:"Cancel"}),(0,s.jsx)("button",{type:"button",onClick:async()=>{if(!l.trim()||!i.trim()&&!c.trim())return void j("Name plus command or URL is required.");j(null),await n({name:l.trim(),command:i.trim()||void 0,url:c.trim()||void 0,authType:p,token:x.trim()||void 0})},className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground",children:"Add server"})]})]})}):null}var i=r(2619),d=r.n(i),c=r(4226),u=r(685);function p(e){let{extension:t}=e;return(0,s.jsxs)(d(),{href:"/extensions/".concat(t.id),className:"block rounded-2xl border border-border bg-card p-4 shadow-sm transition hover:bg-muted/40",children:[(0,s.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"text-sm font-semibold",children:t.name}),(0,s.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:t.description})]}),(0,s.jsxs)("div",{className:"space-y-2 text-right",children:[(0,s.jsx)(c.R,{health:t.health}),(0,s.jsxs)("p",{className:"text-xs text-muted-foreground",children:[(0,u.b)(t.riskLevel)," \xb7 ",(0,u.BX)(t.authState)]})]})]}),(0,s.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2 text-xs text-muted-foreground",children:[(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,u.CF)(t.provenance)}),(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,u.Ow)(t.governance)}),(0,s.jsxs)("span",{className:"rounded-full border border-border px-2 py-1",children:[t.capabilities.length," capabilities"]})]})]})}function m(e){let{tools:t}=e;return(0,s.jsxs)("div",{className:"space-y-3",children:[t.map(e=>(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"font-medium",children:e.name}),(0,s.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:e.sourceExtensionName})]}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-2 text-xs text-muted-foreground",children:[(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:e.category}),(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,u.b)(e.riskLevel)}),(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,u.B6)(e.approvalPolicy)}),(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:e.enabled?"Enabled":"Blocked"})]})]}),(0,s.jsx)("p",{className:"mt-3 text-xs text-muted-foreground",children:(0,u.mF)(e.scope)})]},e.id)),0===t.length?(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"No callable tools discovered from current integrations."}):null]})}var x=r(7102),b=r(592),h=r(2604);function j(e){var t,r,i,d,c,j,f,g,v;let{initialTab:y="installed"}=e,k=(0,n.useRouter)(),[N,Y]=(0,o.useState)(!1),[w,I]=(0,o.useState)(y),{activeSessionId:C}=(0,h.j)(),P=(0,l.Ot)(),S=(0,b.w)(),O=(0,l.qr)(),A=null!=(j=null==(t=P.data)?void 0:t.extensions)?j:[],M=null!=(f=null==(r=P.data)?void 0:r.tools)?f:[],T="mcp"===w?A.filter(e=>"mcp"===e.type):A,q=A.filter(e=>"approval-gated"===e.governance||"auto"!==e.approvalPolicy),L=M.filter(e=>"session"===e.scope),E=M.filter(e=>"profile"===e.scope);return(0,s.jsxs)("div",{className:"h-full overflow-y-auto space-y-6 p-4 lg:p-6",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"text-2xl font-semibold",children:"Integrations"}),(0,s.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"Installed connectors, MCP servers, callable tools, approvals, and diagnostics backed by the runtime."})]}),(0,s.jsx)("button",{type:"button",onClick:()=>Y(!0),className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground",children:"Add MCP server"})]}),(0,s.jsxs)("section",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-4",children:[(0,s.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 shadow-sm",children:[(0,s.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Extensions"}),(0,s.jsx)("p",{className:"mt-2 text-2xl font-semibold",children:A.length}),(0,s.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Runtime-visible integrations across builtin, native, and MCP sources."})]}),(0,s.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 shadow-sm",children:[(0,s.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Callable tools"}),(0,s.jsx)("p",{className:"mt-2 text-2xl font-semibold",children:M.length}),(0,s.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Capabilities normalized into operator-facing tool inventory."})]}),(0,s.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 shadow-sm",children:[(0,s.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Session scoped"}),(0,s.jsx)("p",{className:"mt-2 text-2xl font-semibold",children:L.length}),(0,s.jsxs)("p",{className:"mt-1 text-sm text-muted-foreground",children:["Tools limited to ",C?"the active session":"a session context"," for safer experimentation."]})]}),(0,s.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 shadow-sm",children:[(0,s.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Profile context"}),(0,s.jsx)("p",{className:"mt-2 text-lg font-semibold",children:null!=(v=null!=(g=null==(d=S.data)||null==(i=d.profileContext)?void 0:i.label)?g:null==(c=S.data)?void 0:c.activeProfile)?v:"Unknown profile"}),(0,s.jsxs)("p",{className:"mt-1 text-sm text-muted-foreground",children:[E.length," tools respect the current profile boundary."]})]})]}),(0,s.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 text-sm text-muted-foreground shadow-sm",children:[(0,s.jsx)("p",{className:"font-medium text-foreground",children:"Current loading semantics"}),(0,s.jsx)("p",{className:"mt-2",children:"Global tools are visible everywhere, profile-scoped tools follow the selected profile, and session-scoped tools only apply to the active chat thread."})]}),(0,s.jsx)("div",{className:"flex flex-wrap gap-2",children:[["installed","Installed"],["mcp","MCP Servers"],["tools","Tools"],["approvals","Approvals"],["diagnostics","Diagnostics"]].map(e=>{let[t,r]=e;return(0,s.jsx)("button",{type:"button",onClick:()=>I(t),className:"rounded-lg px-4 py-2 text-sm ".concat(w===t?"bg-primary text-primary-foreground":"border border-border text-muted-foreground"),children:r},t)})}),P.isLoading?(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading integrations…"}):null,"tools"===w?(0,s.jsx)(m,{tools:M}):null,"diagnostics"===w?(0,s.jsx)(x.McpDiagnosticsPanel,{}):null,"approvals"===w?(0,s.jsxs)("div",{className:"space-y-3",children:[q.map(e=>(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,s.jsx)("p",{className:"font-medium",children:e.name}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-2 text-xs text-muted-foreground",children:[(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,u.Ow)(e.governance)}),(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,u.B6)(e.approvalPolicy)})]})]}),(0,s.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:e.description})]},e.id)),0===q.length?(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"No approval-gated integrations are currently configured."}):null]}):null,"installed"===w||"mcp"===w?(0,s.jsx)("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-3",children:T.map(e=>(0,s.jsx)(p,{extension:e},e.id))}):null,(0,s.jsx)(a,{open:N,onClose:()=>Y(!1),onSubmit:async e=>{let{extension:t}=await O.mutateAsync(e);Y(!1),k.push("/extensions/".concat(t.id))}})]})}},2596:(e,t,r)=>{"use strict";r.d(t,{G:()=>l,o:()=>n});var s=r(2454),o=r(9678);function n(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return(0,s.I)({queryKey:["runtime-runs",e],queryFn:()=>(0,o.n)("/api/runtime/runs".concat(e?"?sessionId=".concat(encodeURIComponent(e)):"")),select:e=>e.runs})}function l(){return(0,s.I)({queryKey:["mcp-probe-results"],queryFn:()=>(0,o.n)("/api/runtime/mcp-probes"),select:e=>e.results})}},4226:(e,t,r)=>{"use strict";r.d(t,{R:()=>l});var s=r(5155),o=r(2263),n=r(4695);function l(e){let{health:t}=e,r=(0,n.Ds)(t),l="healthy"===r||"degraded"===r||"unreachable"===r?(0,n.OX)(r):"connected"===r||"needs-auth"===r||"expired"===r?(0,n.P0)(r):(0,n.fh)(r);return(0,s.jsx)(o.W,{label:(0,n.MU)(t),tone:l})}},5281:(e,t,r)=>{Promise.resolve().then(r.bind(r,1935)),Promise.resolve().then(r.bind(r,594)),Promise.resolve().then(r.bind(r,6981)),Promise.resolve().then(r.bind(r,1336))},7102:(e,t,r)=>{"use strict";r.d(t,{McpDiagnosticsPanel:()=>l});var s=r(5155),o=r(2596),n=r(592);function l(){var e,t,r,l,a,i,d;let c=(0,n.w)(),u=(0,o.G)(),p=c.data,m=null!=(t=u.data)?t:[];return(0,s.jsxs)("div",{className:"space-y-4 p-4 lg:p-6",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"text-2xl font-semibold",children:"MCP diagnostics"}),(0,s.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"Inspect configured MCP servers, last probe results, active profile context, and remediation hints."})]}),(0,s.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 text-sm shadow-sm",children:[(0,s.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Runtime profile"}),(0,s.jsx)("p",{className:"mt-2 font-semibold",children:null!=(l=null!=(r=null==p||null==(e=p.profileContext)?void 0:e.label)?r:null==p?void 0:p.activeProfile)?l:"unknown"})]}),(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 text-sm shadow-sm",children:[(0,s.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Configured servers"}),(0,s.jsx)("p",{className:"mt-2 font-semibold",children:null!=(a=null==p?void 0:p.mcpServers.length)?a:0})]}),(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 text-sm shadow-sm",children:[(0,s.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Probe records"}),(0,s.jsx)("p",{className:"mt-2 font-semibold",children:m.length})]})]}),(0,s.jsxs)("div",{className:"space-y-3",children:[(null!=(i=null==p?void 0:p.mcpServers)?i:[]).map(e=>{let t=m.find(t=>t.serverName===e.name);return(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-sm font-medium",children:e.name}),(0,s.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:e.url||e.command||"No transport configured"})]}),(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1 text-xs text-muted-foreground",children:t?t.success?"success":"failed":"unknown"})]}),(0,s.jsxs)("div",{className:"mt-3 rounded-lg border border-border bg-background p-3 text-xs text-muted-foreground",children:[(0,s.jsxs)("p",{children:[(0,s.jsx)("strong",{children:"Last probe:"})," ",t?String(t.probedAt):"never"]}),(0,s.jsxs)("p",{children:[(0,s.jsx)("strong",{children:"Error:"})," ",t&&t.errorText?String(t.errorText):"none captured"]}),(0,s.jsxs)("p",{children:[(0,s.jsx)("strong",{children:"Tools seen:"})," ",t&&Array.isArray(t.tools)?t.tools.length:0]})]})]},e.name)}),(null!=(d=null==p?void 0:p.mcpServers.length)?d:0)?null:(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"No MCP servers are currently configured."})]})]})}},9054:(e,t,r)=>{"use strict";r.d(t,{HB:()=>m,C5:()=>x,d:()=>u,iF:()=>p,YM:()=>b});var s=r(4879);s.gM("type",[s.Ik({type:s.eu("assistant.delta"),delta:s.Yj()}),s.Ik({type:s.eu("run.phase"),phase:s.k5(["drafting","tool-started","waiting-approval","completed"]),label:s.Yj()}),s.Ik({type:s.eu("tool.started"),toolCallId:s.Yj(),toolName:s.Yj(),riskLevel:s.k5(["read","write","execute","admin"]).optional(),provenance:s.k5(["built-in","verified","custom","self-hosted","local-process"]).optional()}),s.Ik({type:s.eu("tool.awaiting_approval"),toolCallId:s.Yj(),toolName:s.Yj(),summary:s.Yj(),riskLevel:s.k5(["read","write","execute","admin"]).optional(),governance:s.k5(["enabled","blocked","approval-gated","policy-limited"]).optional()}),s.Ik({type:s.eu("tool.completed"),toolCallId:s.Yj(),toolName:s.Yj(),output:s.Yj().optional(),riskLevel:s.k5(["read","write","execute","admin"]).optional()}),s.Ik({type:s.eu("artifact.emitted"),artifactId:s.Yj(),artifactType:s.Yj(),label:s.Yj(),content:s.Yj().optional()}),s.Ik({type:s.eu("source.emitted"),source:s.Ik({id:s.Yj(),title:s.Yj(),href:s.Yj().optional(),snippet:s.Yj().optional(),sourceType:s.k5(["web","file","workspace","integration","unknown"]),provenance:s.k5(["built-in","verified","custom","self-hosted","local-process"]),note:s.Yj().optional(),label:s.Yj().optional()})}),s.Ik({type:s.eu("error"),message:s.Yj()})]),s.Ik({model:s.Yj(),provider:s.Yj(),policyPreset:s.k5(["safe-chat","research","builder","full-power"]),memoryMode:s.k5(["standard","minimal"])}),s.Ik({id:s.Yj(),title:s.Yj(),updatedAt:s.Yj(),preview:s.Yj().optional()});let o=s.Ik({id:s.Yj(),name:s.Yj(),description:s.Yj(),enabled:s.zM(),riskLevel:s.k5(["read","write","execute","admin"]),scope:s.k5(["global","profile","session"]),approvalPolicy:s.k5(["auto","on-request","always"]).optional(),lastUsedAt:s.Yj().optional()}),n=s.Ik({command:s.Yj().optional(),url:s.Yj().optional(),authType:s.k5(["none","api-key","oauth"]).optional(),token:s.Yj().optional()}),l=s.Ik({source:s.k5(["live","cache","persisted","failed"]),errorText:s.Yj().nullable().optional(),remediation:s.YO(s.Yj()).optional(),discoveredTools:s.ai().optional(),probedAt:s.Yj().optional()}),a=s.Ik({id:s.Yj(),name:s.Yj(),description:s.Yj(),health:s.k5(["healthy","degraded","blocked","failed"]),riskLevel:s.k5(["read","write","execute","admin"]),authState:s.k5(["connected","needs-auth","expired"]),governance:s.k5(["enabled","blocked","approval-gated","policy-limited"]),provenance:s.k5(["built-in","verified","custom","self-hosted","local-process"]),approvalPolicy:s.k5(["auto","on-request","always"]),type:s.k5(["mcp","native","builtin"]),installed:s.zM(),config:n,capabilities:s.YO(o),toolCount:s.ai(),profilesUsing:s.YO(s.Yj()),diagnostics:l.optional(),version:s.Yj().optional(),updatedAt:s.Yj().optional()}),i=s.Ik({id:s.Yj(),name:s.Yj(),sourceExtensionId:s.Yj(),sourceExtensionName:s.Yj(),category:s.k5(["mcp","builtin","native"]),riskLevel:s.k5(["read","write","execute","admin"]),enabled:s.zM(),approvalPolicy:s.k5(["auto","on-request","always"]),lastUsedAt:s.Yj().optional(),scope:s.k5(["global","profile","session"])});s.Ik({id:s.Yj(),createdAt:s.Yj(),action:s.Yj(),targetType:s.Yj(),targetId:s.Yj(),detail:s.Yj()}),s.Ik({id:s.Yj(),content:s.Yj(),updatedAt:s.Yj().optional(),scope:s.k5(["user","agent"])}),s.Ik({activeProfileId:s.Yj().nullable(),activeSessionId:s.Yj().nullable(),activeSessionTitle:s.Yj().optional(),activeSessionPreview:s.Yj().optional(),loadedSkillIds:s.YO(s.Yj()),model:s.Yj().optional(),provider:s.Yj().optional(),policyPreset:s.k5(["safe-chat","research","builder","full-power"]).optional(),memoryMode:s.k5(["standard","minimal"]).optional(),userMemory:s.YO(s.Yj()),agentMemory:s.YO(s.Yj())}),s.Ik({id:s.Yj(),name:s.Yj(),modelDefault:s.Yj().optional(),policyPreset:s.k5(["safe-chat","research","builder","full-power"]).optional(),sessionCount:s.ai().optional(),skillCount:s.ai().optional(),extensionCount:s.ai().optional(),active:s.zM().optional()}),s.Ik({id:s.Yj(),title:s.Yj(),updatedAt:s.Yj(),status:s.k5(["active","archived"]),preview:s.Yj().optional(),parentSessionId:s.Yj().optional()});let d=s.Ik({path:s.Yj(),name:s.Yj(),group:s.Yj()}),c=s.Ik({id:s.Yj(),name:s.Yj(),description:s.Yj(),source:s.k5(["bundled","local","hub","agent-created"]),scope:s.k5(["builtin","global","profile"]),provenance:s.k5(["built-in","verified","custom","local-process"]),installed:s.zM(),enabled:s.zM(),content:s.Yj(),loadedInSessions:s.YO(s.Yj()).optional(),ownerProfileId:s.Yj().nullable().optional(),filePath:s.Yj().optional(),version:s.Yj().optional(),updatedAt:s.Yj().optional(),impliedTools:s.YO(s.Yj()).optional(),category:s.Yj().optional(),tags:s.YO(s.Yj()).optional(),relatedSkills:s.YO(s.Yj()).optional(),linkedFiles:s.YO(d).optional(),author:s.Yj().optional()}),u=e=>c.parse(e),p=e=>c.array().parse(e),m=e=>a.parse(e),x=e=>a.array().parse(e),b=e=>i.array().parse(e)}},e=>{e.O(0,[2231,5449,4879,9657,8441,1255,7358],()=>e(e.s=5281)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{344:(e,t,s)=>{"use strict";s.d(t,{ThemeProvider:()=>a});var i=s(5155),r=s(5379);function a(e){let{children:t}=e;return(0,i.jsx)(r.N,{attribute:"class",defaultTheme:"dark",enableSystem:!0,children:t})}},598:(e,t,s)=>{Promise.resolve().then(s.bind(s,852)),Promise.resolve().then(s.bind(s,344)),Promise.resolve().then(s.t.bind(s,3836,23))},852:(e,t,s)=>{"use strict";s.d(t,{QueryProvider:()=>q});var i=s(5155),r=s(4049),a=s(1668),n=s(4268),u=s(8445),h=class extends u.Q{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,s){let i=t.queryKey,n=t.queryHash??(0,r.F$)(i,t),u=this.get(n);return u||(u=new a.X({client:e,queryKey:i,queryHash:n,options:e.defaultQueryOptions(t),state:s,defaultOptions:e.getQueryDefaults(i)}),this.add(u)),u}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){n.jG.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,r.MK)(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>(0,r.MK)(e,t)):t}notify(e){n.jG.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){n.jG.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){n.jG.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},l=s(8559),o=class extends u.Q{constructor(e={}){super(),this.config=e,this.#t=new Set,this.#s=new Map,this.#i=0}#t;#s;#i;build(e,t,s){let i=new l.s({client:e,mutationCache:this,mutationId:++this.#i,options:e.defaultMutationOptions(t),state:s});return this.add(i),i}add(e){this.#t.add(e);let t=c(e);if("string"==typeof t){let s=this.#s.get(t);s?s.push(e):this.#s.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#t.delete(e)){let t=c(e);if("string"==typeof t){let s=this.#s.get(t);if(s)if(s.length>1){let t=s.indexOf(e);-1!==t&&s.splice(t,1)}else s[0]===e&&this.#s.delete(t)}}this.notify({type:"removed",mutation:e})}canRun(e){let t=c(e);if("string"!=typeof t)return!0;{let s=this.#s.get(t),i=s?.find(e=>"pending"===e.state.status);return!i||i===e}}runNext(e){let t=c(e);if("string"!=typeof t)return Promise.resolve();{let s=this.#s.get(t)?.find(t=>t!==e&&t.state.isPaused);return s?.continue()??Promise.resolve()}}clear(){n.jG.batch(()=>{this.#t.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#t.clear(),this.#s.clear()})}getAll(){return Array.from(this.#t)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,r.nJ)(t,e))}findAll(e={}){return this.getAll().filter(t=>(0,r.nJ)(e,t))}notify(e){n.jG.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return n.jG.batch(()=>Promise.all(e.map(e=>e.continue().catch(r.lQ))))}};function c(e){return e.options.scope?.id}var f=s(6195),d=s(3122);function y(e){return{onFetch:(t,s)=>{let i=t.options,a=t.fetchOptions?.meta?.fetchMore?.direction,n=t.state.data?.pages||[],u=t.state.data?.pageParams||[],h={pages:[],pageParams:[]},l=0,o=async()=>{let s=!1,o=(0,r.ZM)(t.options,t.fetchOptions),c=async(e,i,a)=>{if(s)return Promise.reject();if(null==i&&e.pages.length)return Promise.resolve(e);let n=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:i,direction:a?"backward":"forward",meta:t.options.meta};return(0,r.ox)(e,()=>t.signal,()=>s=!0),e})(),u=await o(n),{maxPages:h}=t.options,l=a?r.ZZ:r.y9;return{pages:l(e.pages,u,h),pageParams:l(e.pageParams,i,h)}};if(a&&n.length){let e="backward"===a,t={pages:n,pageParams:u},s=(e?function(e,{pages:t,pageParams:s}){return t.length>0?e.getPreviousPageParam?.(t[0],t,s[0],s):void 0}:p)(i,t);h=await c(t,s,e)}else{let t=e??n.length;do{let e=0===l?u[0]??i.initialPageParam:p(i,h);if(l>0&&null==e)break;h=await c(h,e),l++}while(l<t)}return h};t.options.persister?t.fetchFn=()=>t.options.persister?.(o,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},s):t.fetchFn=o}}}function p(e,{pages:t,pageParams:s}){let i=t.length-1;return t.length>0?e.getNextPageParam(t[i],t,s[i],s):void 0}var m=class{#r;#a;#n;#u;#h;#l;#o;#c;constructor(e={}){this.#r=e.queryCache||new h,this.#a=e.mutationCache||new o,this.#n=e.defaultOptions||{},this.#u=new Map,this.#h=new Map,this.#l=0}mount(){this.#l++,1===this.#l&&(this.#o=f.m.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#r.onFocus())}),this.#c=d.t.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#r.onOnline())}))}unmount(){this.#l--,0===this.#l&&(this.#o?.(),this.#o=void 0,this.#c?.(),this.#c=void 0)}isFetching(e){return this.#r.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#a.findAll({...e,status:"pending"}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#r.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),s=this.#r.build(this,t),i=s.state.data;return void 0===i?this.fetchQuery(e):(e.revalidateIfStale&&s.isStaleByTime((0,r.d2)(t.staleTime,s))&&this.prefetchQuery(t),Promise.resolve(i))}getQueriesData(e){return this.#r.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,s){let i=this.defaultQueryOptions({queryKey:e}),a=this.#r.get(i.queryHash),n=a?.state.data,u=(0,r.Zw)(t,n);if(void 0!==u)return this.#r.build(this,i).setData(u,{...s,manual:!0})}setQueriesData(e,t,s){return n.jG.batch(()=>this.#r.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,s)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#r.get(t.queryHash)?.state}removeQueries(e){let t=this.#r;n.jG.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let s=this.#r;return n.jG.batch(()=>(s.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){let s={revert:!0,...t};return Promise.all(n.jG.batch(()=>this.#r.findAll(e).map(e=>e.cancel(s)))).then(r.lQ).catch(r.lQ)}invalidateQueries(e,t={}){return n.jG.batch(()=>(this.#r.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType==="none")?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t))}refetchQueries(e,t={}){let s={...t,cancelRefetch:t.cancelRefetch??!0};return Promise.all(n.jG.batch(()=>this.#r.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,s);return s.throwOnError||(t=t.catch(r.lQ)),"paused"===e.state.fetchStatus?Promise.resolve():t}))).then(r.lQ)}fetchQuery(e){let t=this.defaultQueryOptions(e);void 0===t.retry&&(t.retry=!1);let s=this.#r.build(this,t);return s.isStaleByTime((0,r.d2)(t.staleTime,s))?s.fetch(t):Promise.resolve(s.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(r.lQ).catch(r.lQ)}fetchInfiniteQuery(e){return e.behavior=y(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(r.lQ).catch(r.lQ)}ensureInfiniteQueryData(e){return e.behavior=y(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return d.t.isOnline()?this.#a.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#r}getMutationCache(){return this.#a}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#u.set((0,r.EN)(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#u.values()],s={};return t.forEach(t=>{(0,r.Cp)(e,t.queryKey)&&Object.assign(s,t.defaultOptions)}),s}setMutationDefaults(e,t){this.#h.set((0,r.EN)(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#h.values()],s={};return t.forEach(t=>{(0,r.Cp)(e,t.mutationKey)&&Object.assign(s,t.defaultOptions)}),s}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=(0,r.F$)(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.throwOnError&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===r.hT&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#r.clear(),this.#a.clear()}},g=s(9776),b=s(2115);function q(e){let{children:t}=e,[s]=(0,b.useState)(()=>new m({defaultOptions:{queries:{refetchOnWindowFocus:!1,staleTime:3e4}}}));return(0,i.jsx)(g.Ht,{client:s,children:t})}},3836:()=>{}},e=>{e.O(0,[5475,2231,8441,1255,7358],()=>e(e.s=598)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4520],{63:(e,r,s)=>{"use strict";var a=s(7260);s.o(a,"usePathname")&&s.d(r,{usePathname:function(){return a.usePathname}}),s.o(a,"useRouter")&&s.d(r,{useRouter:function(){return a.useRouter}}),s.o(a,"useSearchParams")&&s.d(r,{useSearchParams:function(){return a.useSearchParams}})},3351:(e,r,s)=>{Promise.resolve().then(s.bind(s,4e3))},4e3:(e,r,s)=>{"use strict";s.d(r,{LoginForm:()=>u});var a=s(5155),n=s(63),t=s(2115);function u(){let e=(0,n.useRouter)(),[r,s]=(0,t.useState)(null),[u,o]=(0,t.useState)(!1),l=async r=>{r.preventDefault(),s(null),o(!0);let a=new FormData(r.currentTarget),n=await fetch("/api/auth/login",{method:"POST",body:a});if(!n.ok){var t;let e=await n.json().catch(()=>null);s(null!=(t=null==e?void 0:e.error)?t:"Unable to sign in"),o(!1);return}e.push("/chat"),e.refresh()};return(0,a.jsxs)("form",{onSubmit:l,className:"space-y-5",children:[(0,a.jsxs)("label",{htmlFor:"username",className:"block space-y-1.5 text-sm",children:[(0,a.jsx)("span",{children:"Username"}),(0,a.jsx)("input",{id:"username",name:"username",defaultValue:"admin",className:"w-full rounded-md border border-input bg-background px-3 py-2.5 outline-none ring-0 transition focus:border-primary"})]}),(0,a.jsxs)("label",{htmlFor:"password",className:"block space-y-1.5 text-sm",children:[(0,a.jsx)("span",{children:"Password"}),(0,a.jsx)("input",{id:"password",name:"password",type:"password",className:"w-full rounded-md border border-input bg-background px-3 py-2.5 outline-none ring-0 transition focus:border-primary"})]}),r?(0,a.jsx)("p",{className:"text-sm text-danger",children:r}):null,(0,a.jsx)("button",{type:"submit",disabled:u,className:"w-full rounded-md bg-primary px-4 py-2.5 font-medium text-primary-foreground transition hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-50",children:u?"Signing in…":"Continue"})]})}}},e=>{e.O(0,[8441,1255,7358],()=>e(e.s=3351)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[648,827,855,1090,1138,1207,1209,1237,1672,1903,1955,1979,2016,2039,2299,2533,2851,3887,3994,4042,4311,4352,4817,5156,5187,5281,5435,5936,6018,6120,6194,6828,7207,7758,7768,8034,8489,8937,8974,8994,9049,9419,9945,9961,9968],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5861],{3380:(e,s,l)=>{"use strict";l.d(s,{ProfilesScreen:()=>C});var r=l(5155),t=l(2115),a=l(1847);let n=(0,a.A)("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);var o=l(5740);let d=(0,a.A)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);var i=l(8192),c=l(7510);function u(e){let{open:s,onClose:l,onSubmit:a}=e,[n,u]=(0,t.useState)(""),[m,x]=(0,t.useState)("safe-chat"),[p,h]=(0,t.useState)(""),[b,g]=(0,t.useState)(null),[f,j]=(0,t.useState)(!1),[y,v]=(0,t.useState)(!1),[N,w]=(0,t.useState)(null),k=(0,c.eJ)();if(!s)return null;let C=/^[a-z0-9][a-z0-9_-]{0,63}$/.test(n);async function P(){if(p.trim()){v(!0);try{let e=await k.mutateAsync({profileId:"default",purpose:p,mode:"create"}),s=e.suggestion;if(s.policyPreset&&["safe-chat","research","builder","full-power"].includes(s.policyPreset)&&x(s.policyPreset),!n&&p){let e=p.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,32);e&&u(e)}w({policy:s.policyPreset,explanation:e.explanation})}catch(e){w({explanation:"AI suggestion failed. You can still create the profile manually."})}finally{v(!1)}}}async function S(){if(!n.trim())return void g("Profile name is required.");if(!C)return void g("Name must be lowercase alphanumeric (a-z, 0-9, hyphens, underscores). Max 64 chars.");g(null),j(!0);try{await a({name:n,policyPreset:m,aiPurpose:p||void 0}),u(""),h(""),g(null),w(null)}catch(s){let e=s instanceof Error?s.message:String(s);g(e.includes("already exists")?"Profile '".concat(n,"' already exists."):e)}finally{j(!1)}}return(0,r.jsx)("div",{className:"fixed inset-0 z-30 flex items-center justify-center bg-black/50 p-4",children:(0,r.jsxs)("div",{className:"w-full max-w-md rounded-2xl border border-border bg-background p-5 shadow-xl",children:[(0,r.jsx)("h3",{className:"text-lg font-semibold",children:"Create profile"}),(0,r.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Each profile is an isolated workspace with its own sessions, skills, memory, and API keys."}),(0,r.jsxs)("div",{className:"mt-4 rounded-xl border border-purple-500/20 bg-purple-500/5 p-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(o.A,{className:"h-4 w-4 text-purple-400"}),(0,r.jsx)("p",{className:"text-xs font-medium text-purple-300",children:"AI-Assisted Setup"})]}),(0,r.jsx)("p",{className:"mt-1 text-2xs text-muted-foreground",children:"Describe what this profile is for and AI will suggest the best settings."}),(0,r.jsxs)("div",{className:"mt-2 flex gap-2",children:[(0,r.jsx)("input",{value:p,onChange:e=>h(e.target.value),onKeyDown:e=>{"Enter"===e.key&&p.trim()&&!y&&P()},placeholder:"e.g. 'React developer with full terminal access'",className:"flex-1 rounded-lg border border-purple-500/20 bg-background px-3 py-2 text-sm outline-none placeholder:text-muted-foreground/50 focus:border-purple-500/40"}),(0,r.jsxs)("button",{type:"button",onClick:()=>void P(),disabled:y||!p.trim(),className:"flex items-center gap-1.5 rounded-lg bg-purple-600 px-3 py-2 text-xs font-medium text-white transition hover:bg-purple-500 disabled:opacity-50",children:[y?(0,r.jsx)(d,{className:"h-3 w-3 animate-spin"}):(0,r.jsx)(i.A,{className:"h-3 w-3"}),y?"Thinking…":"Suggest"]})]}),(null==N?void 0:N.explanation)&&(0,r.jsxs)("div",{className:"mt-2 rounded-lg border border-purple-500/20 bg-purple-500/10 p-2 text-xs text-purple-200",children:[(0,r.jsx)(o.A,{className:"mr-1 inline h-3 w-3"}),N.explanation]})]}),(0,r.jsxs)("div",{className:"mt-4 space-y-3",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:"Profile name"}),(0,r.jsx)("input",{value:n,onChange:e=>{u(e.target.value.toLowerCase().replace(/[^a-z0-9_-]/g,"")),g(null)},placeholder:"my-project",className:"mt-1 w-full rounded-lg border bg-background px-3 py-2 text-sm ".concat(b?"border-red-500/70":"border-input"),autoFocus:!0,onKeyDown:e=>"Enter"===e.key&&void S()}),n&&!C?(0,r.jsx)("p",{className:"mt-1 text-xs text-amber-400",children:"Must start with a letter or number. Only a-z, 0-9, hyphens, underscores."}):null]}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("label",{className:"text-xs font-medium text-muted-foreground",children:["Policy preset ",(null==N?void 0:N.policy)&&(0,r.jsxs)("span",{className:"text-purple-400",children:["(AI suggested: ",N.policy,")"]})]}),(0,r.jsxs)("select",{value:m,onChange:e=>x(e.target.value),className:"mt-1 w-full rounded-lg border border-input bg-background px-3 py-2 text-sm",children:[(0,r.jsx)("option",{value:"safe-chat",children:"Safe Chat — read-only tools, no filesystem writes"}),(0,r.jsx)("option",{value:"research",children:"Research — web access, read files, no installs"}),(0,r.jsx)("option",{value:"builder",children:"Builder — full dev workflow, requires approval for risky ops"}),(0,r.jsx)("option",{value:"full-power",children:"Full Power — all tools enabled, no guardrails"})]})]})]}),b?(0,r.jsx)("div",{className:"mt-3 rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-sm text-red-400",children:b}):null,(0,r.jsxs)("div",{className:"mt-5 flex justify-end gap-2",children:[(0,r.jsx)("button",{type:"button",onClick:function(){l(),u(""),h(""),g(null),w(null)},className:"rounded-lg border border-border px-4 py-2 text-sm",children:"Cancel"}),(0,r.jsx)("button",{type:"button",onClick:()=>void S(),disabled:f||!n.trim(),className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground disabled:opacity-50",children:f?"Creating…":"Create"})]})]})})}var m=l(5229);let x=(0,a.A)("Undo2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]),p=(0,a.A)("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]),h=[{value:"safe-chat",label:"Safe Chat",desc:"Read-only tools, no filesystem writes"},{value:"research",label:"Research",desc:"Web access, read files, no installs"},{value:"builder",label:"Builder",desc:"Full dev workflow, approval for risky ops"},{value:"full-power",label:"Full Power",desc:"All tools enabled, no guardrails"}],b=["low","medium","high"],g=["local","docker","modal"],f=["manual","auto"];function j(e){var s,l,a,n,u,j,N,w,k,C,P,S,A,E,M,T;let{profileId:I,profileName:z,open:D,onClose:R}=e,U=(0,c.zO)(D?I:null),O=(0,c.Oq)(),B=(0,c.eJ)(),[L,_]=(0,t.useState)({}),[q,F]=(0,t.useState)(""),[H,K]=(0,t.useState)(""),[J,V]=(0,t.useState)(null),[Y,$]=(0,t.useState)(!1),[W,G]=(0,t.useState)("model");if((0,t.useEffect)(()=>{U.data&&(_({...U.data}),V(null),K(""))},[U.data]),!D)return null;function Q(e,s){_(l=>({...l,[e]:s}))}async function X(){await O.mutateAsync({profileId:I,config:L}),$(!0),setTimeout(()=>$(!1),2500)}async function Z(){let e=await B.mutateAsync({profileId:I,purpose:q,mode:"optimize"});V(e.suggestion),K(e.explanation)}return(0,r.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-sm",onClick:R,children:(0,r.jsxs)("div",{className:"relative mx-4 flex max-h-[90vh] w-full max-w-3xl flex-col rounded-2xl border border-border bg-card shadow-2xl",onClick:e=>e.stopPropagation(),children:[(0,r.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-6 py-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)("h2",{className:"text-lg font-semibold",children:["Edit Profile — ",z]}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"config.yaml + SOUL.md"})]}),(0,r.jsx)("button",{type:"button",onClick:R,className:"rounded-lg p-2 hover:bg-muted",children:(0,r.jsx)(m.A,{className:"h-4 w-4"})})]}),(0,r.jsx)("div",{className:"border-b border-border bg-gradient-to-r from-purple-500/5 via-blue-500/5 to-purple-500/5 px-6 py-3",children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(o.A,{className:"h-4 w-4 text-purple-400"}),(0,r.jsx)("input",{type:"text",value:q,onChange:e=>F(e.target.value),onKeyDown:e=>{"Enter"!==e.key||B.isPending||Z()},placeholder:"Describe what this profile is for… (e.g. 'coding assistant for React projects')",className:"flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground/60"}),(0,r.jsxs)("button",{type:"button",onClick:()=>void Z(),disabled:B.isPending,className:"flex items-center gap-1.5 rounded-lg bg-purple-600 px-3 py-1.5 text-xs font-medium text-white transition hover:bg-purple-500 disabled:opacity-50",children:[B.isPending?(0,r.jsx)(d,{className:"h-3 w-3 animate-spin"}):(0,r.jsx)(i.A,{className:"h-3 w-3"}),B.isPending?"Thinking…":"AI Optimize"]})]})}),J&&(0,r.jsx)("div",{className:"border-b border-purple-500/20 bg-purple-500/10 px-6 py-3",children:(0,r.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,r.jsxs)("div",{className:"flex-1",children:[(0,r.jsxs)("p",{className:"text-sm font-medium text-purple-300",children:[(0,r.jsx)(o.A,{className:"mr-1 inline h-3.5 w-3.5"}),"AI Suggestion Ready"]}),(0,r.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:H}),(0,r.jsx)("div",{className:"mt-2 flex flex-wrap gap-1.5",children:Object.keys(J).map(e=>(0,r.jsx)("span",{className:"rounded-md bg-purple-500/20 px-2 py-0.5 text-3xs font-medium text-purple-300",children:e},e))})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsxs)("button",{type:"button",onClick:function(){J&&(_(e=>({...e,...J})),V(null))},className:"flex items-center gap-1 rounded-lg bg-purple-600 px-3 py-1.5 text-xs font-medium text-white hover:bg-purple-500",children:[(0,r.jsx)(o.A,{className:"h-3 w-3"})," Apply"]}),(0,r.jsxs)("button",{type:"button",onClick:function(){V(null),K("")},className:"flex items-center gap-1 rounded-lg border border-border px-3 py-1.5 text-xs text-muted-foreground hover:bg-muted",children:[(0,r.jsx)(x,{className:"h-3 w-3"})," Dismiss"]})]})]})}),(0,r.jsx)("div",{className:"flex gap-1 border-b border-border px-6 pt-2",children:[{id:"model",label:"Model & Provider"},{id:"agent",label:"Agent Behavior"},{id:"display",label:"Display & Memory"},{id:"soul",label:"Soul / Persona"}].map(e=>(0,r.jsx)("button",{type:"button",onClick:()=>G(e.id),className:"rounded-t-lg px-4 py-2 text-sm font-medium transition ".concat(W===e.id?"border-b-2 border-primary text-foreground":"text-muted-foreground hover:text-foreground"),children:e.label},e.id))}),(0,r.jsx)("div",{className:"flex-1 overflow-y-auto px-6 py-5",children:U.isLoading?(0,r.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,r.jsx)(d,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):(0,r.jsxs)(r.Fragment,{children:["model"===W&&(0,r.jsxs)("div",{className:"space-y-5",children:[(0,r.jsx)(y,{label:"Default Model",hint:"e.g. claude-sonnet-4-20250514, gpt-4o, claude-opus-4-20250514",children:(0,r.jsx)("input",{type:"text",value:null!=(s=L.modelDefault)?s:"",onChange:e=>Q("modelDefault",e.target.value),className:"field-input"})}),(0,r.jsx)(y,{label:"Provider",hint:"e.g. anthropic, openai, copilot, ollama",children:(0,r.jsx)("input",{type:"text",value:null!=(l=L.modelProvider)?l:"",onChange:e=>Q("modelProvider",e.target.value),className:"field-input"})}),(0,r.jsx)(y,{label:"Base URL",hint:"Custom API endpoint (leave empty for default)",children:(0,r.jsx)("input",{type:"text",value:null!=(a=L.modelBaseUrl)?a:"",onChange:e=>Q("modelBaseUrl",e.target.value),className:"field-input",placeholder:"https://..."})}),(0,r.jsx)(y,{label:"Policy Preset",children:(0,r.jsx)("div",{className:"grid grid-cols-2 gap-2",children:h.map(e=>(0,r.jsxs)("button",{type:"button",onClick:()=>Q("policyPreset",e.value),className:"rounded-xl border p-3 text-left transition ".concat(L.policyPreset===e.value?"border-primary bg-primary/10 text-foreground":"border-border text-muted-foreground hover:border-primary/40"),children:[(0,r.jsx)("p",{className:"text-sm font-medium",children:e.label}),(0,r.jsx)("p",{className:"mt-0.5 text-2xs text-muted-foreground",children:e.desc})]},e.value))})})]}),"agent"===W&&(0,r.jsxs)("div",{className:"space-y-5",children:[(0,r.jsx)(y,{label:"Max Turns",hint:"Maximum autonomous tool-use turns (5–200)",children:(0,r.jsx)("input",{type:"number",min:5,max:200,value:null!=(n=L.maxTurns)?n:50,onChange:e=>Q("maxTurns",Number(e.target.value)),className:"field-input w-32"})}),(0,r.jsx)(y,{label:"Reasoning Effort",children:(0,r.jsx)("div",{className:"flex gap-2",children:b.map(e=>(0,r.jsx)("button",{type:"button",onClick:()=>Q("reasoningEffort",e),className:"rounded-lg border px-4 py-2 text-sm font-medium capitalize transition ".concat(L.reasoningEffort===e?"border-primary bg-primary/10 text-foreground":"border-border text-muted-foreground hover:border-primary/40"),children:e},e))})}),(0,r.jsx)(y,{label:"Tool Use Enforcement",children:(0,r.jsxs)("select",{value:null!=(u=L.toolUseEnforcement)?u:"auto",onChange:e=>Q("toolUseEnforcement",e.target.value),className:"field-input w-48",children:[(0,r.jsx)("option",{value:"auto",children:"Auto"}),(0,r.jsx)("option",{value:"required",children:"Required"}),(0,r.jsx)("option",{value:"none",children:"None"})]})}),(0,r.jsx)(y,{label:"Terminal Backend",children:(0,r.jsx)("div",{className:"flex gap-2",children:g.map(e=>(0,r.jsx)("button",{type:"button",onClick:()=>Q("terminalBackend",e),className:"rounded-lg border px-4 py-2 text-sm font-medium capitalize transition ".concat(L.terminalBackend===e?"border-primary bg-primary/10 text-foreground":"border-border text-muted-foreground hover:border-primary/40"),children:e},e))})}),(0,r.jsx)(y,{label:"Approvals Mode",children:(0,r.jsx)("div",{className:"flex gap-2",children:f.map(e=>(0,r.jsx)("button",{type:"button",onClick:()=>Q("approvalsMode",e),className:"rounded-lg border px-4 py-2 text-sm font-medium capitalize transition ".concat(L.approvalsMode===e?"border-primary bg-primary/10 text-foreground":"border-border text-muted-foreground hover:border-primary/40"),children:e},e))})}),(0,r.jsx)(y,{label:"Terminal Timeout",hint:"Seconds before terminal commands time out",children:(0,r.jsx)("input",{type:"number",min:10,max:600,value:null!=(j=L.terminalTimeout)?j:180,onChange:e=>Q("terminalTimeout",Number(e.target.value)),className:"field-input w-32"})})]}),"display"===W&&(0,r.jsxs)("div",{className:"space-y-5",children:[(0,r.jsx)(y,{label:"Display Options",children:(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsx)(v,{label:"Streaming",desc:"Stream tokens as they're generated",checked:null==(N=L.displayStreaming)||N,onChange:e=>Q("displayStreaming",e)}),(0,r.jsx)(v,{label:"Compact Mode",desc:"Reduce visual whitespace",checked:null!=(w=L.displayCompact)&&w,onChange:e=>Q("displayCompact",e)}),(0,r.jsx)(v,{label:"Show Cost",desc:"Display token costs after each response",checked:null!=(k=L.displayShowCost)&&k,onChange:e=>Q("displayShowCost",e)})]})}),(0,r.jsx)(y,{label:"Display Personality",hint:"Named personality preset",children:(0,r.jsx)("input",{type:"text",value:null!=(C=L.displayPersonality)?C:"",onChange:e=>Q("displayPersonality",e.target.value),className:"field-input",placeholder:"default"})}),(0,r.jsx)(y,{label:"Memory",children:(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsx)(v,{label:"Agent Memory",desc:"Persistent notes about the environment and workflows",checked:null==(P=L.memoryEnabled)||P,onChange:e=>Q("memoryEnabled",e)}),(0,r.jsx)(v,{label:"User Profile",desc:"Remember user preferences and personal details",checked:null==(S=L.userProfileEnabled)||S,onChange:e=>Q("userProfileEnabled",e)})]})}),(0,r.jsx)(y,{label:"Context Compression",children:(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsx)(v,{label:"Compression",desc:"Compress old context to save tokens",checked:null==(A=L.compressionEnabled)||A,onChange:e=>Q("compressionEnabled",e)}),!1!==L.compressionEnabled&&(0,r.jsxs)("div",{children:[(0,r.jsxs)("label",{className:"text-xs text-muted-foreground",children:["Threshold: ",null!=(E=L.compressionThreshold)?E:.7]}),(0,r.jsx)("input",{type:"range",min:.1,max:1,step:.05,value:null!=(M=L.compressionThreshold)?M:.7,onChange:e=>Q("compressionThreshold",Number(e.target.value)),className:"mt-1 w-full accent-primary"}),(0,r.jsxs)("div",{className:"flex justify-between text-3xs text-muted-foreground",children:[(0,r.jsx)("span",{children:"Aggressive"}),(0,r.jsx)("span",{children:"Conservative"})]})]})]})})]}),"soul"===W&&(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("div",{className:"rounded-xl border border-border bg-background/50 p-4 text-sm text-muted-foreground",children:[(0,r.jsx)("strong",{className:"text-foreground",children:"SOUL.md"})," defines the agent's personality, values, and behavioral boundaries. This is the system prompt that shapes every interaction."]}),(0,r.jsx)("textarea",{value:null!=(T=L.soul)?T:"",onChange:e=>Q("soul",e.target.value),className:"min-h-72 w-full rounded-2xl border border-border bg-background p-4 font-mono text-sm leading-6 outline-none focus:border-primary",placeholder:"You are Pan, an AI workspace assistant by Euraika..."})]})]})}),(0,r.jsxs)("div",{className:"flex items-center justify-between border-t border-border px-6 py-4",children:[(0,r.jsxs)("div",{className:"text-sm text-muted-foreground",children:[Y&&(0,r.jsx)("span",{className:"text-emerald-400",children:"✓ Saved to config.yaml"}),O.isPending&&(0,r.jsx)("span",{children:"Saving…"}),O.isError&&(0,r.jsx)("span",{className:"text-red-400",children:"Failed to save"})]}),(0,r.jsxs)("div",{className:"flex gap-3",children:[(0,r.jsx)("button",{type:"button",onClick:R,className:"rounded-lg border border-border px-4 py-2 text-sm text-muted-foreground hover:bg-muted",children:"Cancel"}),(0,r.jsxs)("button",{type:"button",onClick:()=>void X(),disabled:O.isPending,className:"flex items-center gap-2 rounded-lg bg-primary px-5 py-2 text-sm font-medium text-primary-foreground transition hover:opacity-90 disabled:opacity-50",children:[(0,r.jsx)(p,{className:"h-3.5 w-3.5"}),"Save Profile"]})]})]})]})})}function y(e){let{label:s,hint:l,children:t}=e;return(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-sm font-medium text-foreground",children:s}),l&&(0,r.jsx)("p",{className:"mb-2 text-xs text-muted-foreground",children:l}),!l&&(0,r.jsx)("div",{className:"mb-2"}),t]})}function v(e){let{label:s,desc:l,checked:t,onChange:a}=e;return(0,r.jsxs)("label",{className:"flex cursor-pointer items-center justify-between rounded-xl border border-border p-3 transition hover:bg-muted/30",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium",children:s}),(0,r.jsx)("p",{className:"text-2xs text-muted-foreground",children:l})]}),(0,r.jsx)("button",{type:"button",role:"switch","aria-checked":t,onClick:()=>a(!t),className:"relative h-6 w-11 rounded-full transition ".concat(t?"bg-primary":"bg-muted"),children:(0,r.jsx)("span",{className:"absolute top-0.5 h-5 w-5 rounded-full bg-white shadow transition-transform ".concat(t?"translate-x-[22px]":"translate-x-0.5")})})]})}var N=l(9896),w=l(592),k=l(2604);function C(){var e,s,l,a,d,i,m,x,p,h,b,g,f,y;let{selectedProfileId:v,setSelectedProfileId:C}=(0,k.j)(),P=(0,c.Sj)(),S=(0,w.w)(),A=(0,c.bL)(),E=(0,c.Sn)(),M=(0,c.OK)(),T=(0,c.eJ)(),I=(0,c.Oq)(),[z,D]=(0,t.useState)(!1),[R,U]=(0,t.useState)(null),O=null!=(d=P.data)?d:[],B=(0,t.useMemo)(()=>{var e,s;return null!=(s=null!=(e=O.find(e=>e.id===v))?e:O.find(e=>e.active))?s:O[0]},[O,v]);async function L(e){var s;if(await A.mutateAsync({name:e.name,policyPreset:e.policyPreset}),null==(s=e.aiPurpose)?void 0:s.trim())try{let s=await T.mutateAsync({profileId:e.name,purpose:e.aiPurpose,mode:"create"});s.suggestion&&Object.keys(s.suggestion).length>0&&await I.mutateAsync({profileId:e.name,config:s.suggestion})}catch(e){}D(!1)}return(0,r.jsxs)("div",{className:"h-full overflow-y-auto space-y-6 p-4 lg:p-6 pb-8 lg:pb-10",children:[(0,r.jsxs)("div",{className:"flex flex-col gap-4 md:flex-row md:items-start md:justify-between",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"text-2xl font-semibold",children:"Profiles"}),(0,r.jsx)("p",{className:"mt-2 max-w-3xl text-sm text-muted-foreground",children:"Each profile is its own workspace boundary. Keep identity, policy, model defaults, and integration trust visible before you start a run."})]}),(0,r.jsx)("button",{type:"button",onClick:()=>D(!0),className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground",children:"Create profile"})]}),(0,r.jsxs)("section",{className:"grid gap-4 lg:grid-cols-[1.1fr_0.9fr]",children:[(0,r.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,r.jsx)("h2",{className:"text-lg font-semibold",children:"Selected profile posture"}),(0,r.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"The UI selection and the runtime-selected profile should match. This panel makes any drift obvious."}),(0,r.jsxs)("div",{className:"mt-4 grid gap-3 sm:grid-cols-2",children:[(0,r.jsxs)("div",{className:"rounded-xl border border-border bg-background px-4 py-3",children:[(0,r.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"UI selection"}),(0,r.jsx)("p",{className:"mt-2 font-semibold",children:null!=(i=null==B?void 0:B.name)?i:"No profile selected"})]}),(0,r.jsxs)("div",{className:"rounded-xl border border-border bg-background px-4 py-3",children:[(0,r.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Runtime context"}),(0,r.jsx)("p",{className:"mt-2 font-semibold",children:null!=(x=null!=(m=null==(s=S.data)||null==(e=s.profileContext)?void 0:e.label)?m:null==(l=S.data)?void 0:l.activeProfile)?x:"Unknown runtime profile"})]}),(0,r.jsxs)("div",{className:"rounded-xl border border-border bg-background px-4 py-3",children:[(0,r.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Profiles available"}),(0,r.jsx)("p",{className:"mt-2 font-semibold",children:O.length})]}),(0,r.jsxs)("div",{className:"rounded-xl border border-border bg-background px-4 py-3",children:[(0,r.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Runtime health"}),(0,r.jsx)("p",{className:"mt-2 font-semibold",children:null!=(p=null==B?void 0:B.runtimeHealth)?p:"offline"})]})]}),B?(0,r.jsxs)("div",{className:"mt-4 rounded-xl border border-border bg-background p-4 text-sm text-muted-foreground",children:[(0,r.jsxs)("p",{children:[(0,r.jsx)("strong",{className:"text-foreground",children:"Policy:"})," ",null!=(h=B.policyPreset)?h:"safe-chat"]}),(0,r.jsxs)("p",{children:[(0,r.jsx)("strong",{className:"text-foreground",children:"Model:"})," ",null!=(b=B.modelDefault)?b:"n/a"]}),(0,r.jsxs)("p",{children:[(0,r.jsx)("strong",{className:"text-foreground",children:"Provider:"})," ",null!=(g=B.runtimeProvider)?g:"unknown"]}),(0,r.jsx)("p",{className:"mt-2",children:null!=(f=B.runtimeSummary)?f:"No runtime summary available."})]}):null]}),(0,r.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,r.jsx)("h2",{className:"text-lg font-semibold",children:"Scope semantics"}),(0,r.jsxs)("div",{className:"mt-4 space-y-3 text-sm text-muted-foreground",children:[(0,r.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,r.jsx)("p",{className:"font-medium text-foreground",children:"Profile switches requery runtime-backed data"}),(0,r.jsx)("p",{className:"mt-1",children:"Sessions, skills, extensions, memory context, approvals, and diagnostics are invalidated together when you activate a new profile."})]}),(0,r.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,r.jsx)("p",{className:"font-medium text-foreground",children:"Policy presets are defaults, not hidden magic"}),(0,r.jsx)("p",{className:"mt-1",children:"Every preset influences tool approvals, memory behavior, and extension access. The rest of the workspace should reflect the same selected profile immediately."})]})]})]})]}),(0,r.jsx)("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-3",children:O.map(e=>{var s,l,t,a,d,i,c,u,m,x,p;let h=v===e.id,b=e.active;return(0,r.jsxs)("div",{className:"rounded-2xl border bg-card p-5 shadow-sm ".concat(h?"border-primary/50":"border-border"),children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h2",{className:"text-lg font-semibold",children:e.name}),(0,r.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:e.profileContextLabel||"Profile context unavailable"})]}),(0,r.jsxs)("div",{className:"flex flex-col items-end gap-2 text-xs",children:[b?(0,r.jsx)("span",{className:"rounded-full bg-success/15 px-2 py-1 text-foreground",children:"Active runtime"}):null,h?(0,r.jsx)("span",{className:"rounded-full bg-primary/10 px-2 py-1 text-foreground",children:"Selected in UI"}):null]})]}),(0,r.jsxs)("div",{className:"mt-4 grid grid-cols-2 gap-3 text-sm text-muted-foreground",children:[(0,r.jsxs)("p",{children:["Sessions: ",null!=(s=e.sessionCount)?s:0]}),(0,r.jsxs)("p",{children:["Skills: ",null!=(l=e.skillCount)?l:0]}),(0,r.jsxs)("p",{children:["Integrations: ",null!=(a=null!=(t=e.integrationsCount)?t:e.extensionCount)?a:0]}),(0,r.jsxs)("p",{children:["Runtime: ",null!=(d=e.runtimeHealth)?d:"offline"]})]}),(0,r.jsxs)("div",{className:"mt-4 rounded-xl border border-border bg-background p-3 text-sm",children:[(0,r.jsxs)("p",{children:[(0,r.jsx)("strong",{children:"Model:"})," ",null!=(i=e.modelDefault)?i:"n/a"]}),(0,r.jsxs)("p",{children:[(0,r.jsx)("strong",{children:"Trust:"})," ",null!=(u=null!=(c=e.trustMode)?c:e.policyPreset)?u:"safe-chat"]}),(0,r.jsxs)("p",{children:[(0,r.jsx)("strong",{children:"Provider:"})," ",null!=(m=e.runtimeProvider)?m:"unknown"]}),(0,r.jsx)("p",{className:"mt-2 text-muted-foreground",children:null!=(x=e.runtimeSummary)?x:"No runtime summary available."})]}),(0,r.jsxs)("div",{className:"mt-4",children:[(0,r.jsx)("label",{className:"text-xs text-muted-foreground",children:"Policy preset"}),(0,r.jsx)("div",{className:"mt-1",children:(0,r.jsx)(N.j,{value:null!=(p=e.policyPreset)?p:"safe-chat",onChange:s=>void E.mutateAsync({profileId:e.id,policyPreset:s})})})]}),(0,r.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[(0,r.jsxs)("button",{type:"button",onClick:()=>U(e.id),className:"flex items-center gap-1.5 rounded-lg border border-purple-500/30 bg-purple-500/10 px-3 py-2 text-sm font-medium text-purple-300 transition hover:bg-purple-500/20",children:[(0,r.jsx)(n,{className:"h-3.5 w-3.5"}),"Edit",(0,r.jsx)(o.A,{className:"h-3 w-3 text-purple-400"})]}),(0,r.jsx)("button",{type:"button",onClick:async()=>{C(e.id),await E.mutateAsync({profileId:e.id,action:"activate"})},className:"rounded-lg border border-border px-3 py-2 text-sm",children:"Switch"}),(0,r.jsx)("button",{type:"button",onClick:()=>void E.mutateAsync({profileId:e.id,action:"clone"}),className:"rounded-lg border border-border px-3 py-2 text-sm",children:"Clone"}),(0,r.jsx)("button",{type:"button",onClick:()=>void M.mutateAsync(e.id),className:"rounded-lg border border-border px-3 py-2 text-sm text-danger",children:"Delete"})]})]},e.id)})}),(0,r.jsx)(u,{open:z,onClose:()=>D(!1),onSubmit:L}),R&&(0,r.jsx)(j,{profileId:R,profileName:null!=(y=null==(a=O.find(e=>e.id===R))?void 0:a.name)?y:R,open:!!R,onClose:()=>U(null)})]})}},7209:(e,s,l)=>{Promise.resolve().then(l.bind(l,1935)),Promise.resolve().then(l.bind(l,594)),Promise.resolve().then(l.bind(l,6981)),Promise.resolve().then(l.bind(l,3380))},9896:(e,s,l)=>{"use strict";l.d(s,{j:()=>t});var r=l(5155);function t(e){let{value:s,onChange:l}=e;return(0,r.jsxs)("select",{value:s,onChange:e=>l(e.target.value),className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm","aria-label":"Policy preset selector",children:[(0,r.jsx)("option",{value:"safe-chat",children:"Safe Chat"}),(0,r.jsx)("option",{value:"research",children:"Research"}),(0,r.jsx)("option",{value:"builder",children:"Builder"}),(0,r.jsx)("option",{value:"full-power",children:"Full Power"})]})}}},e=>{e.O(0,[2231,5449,9657,8441,1255,7358],()=>e(e.s=7209)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7854],{220:(e,s,r)=>{Promise.resolve().then(r.bind(r,1935)),Promise.resolve().then(r.bind(r,594)),Promise.resolve().then(r.bind(r,6981)),Promise.resolve().then(r.bind(r,7031))},7031:(e,s,r)=>{"use strict";r.d(s,{ArtifactsBrowser:()=>n});var t=r(5155),a=r(2115),d=r(2604),l=r(5050);function n(){var e;let{activeSessionId:s}=(0,d.j)(),[r,n]=(0,a.useState)(""),c=null!=(e=(0,l.$Q)(s,r).data)?e:[];return(0,t.jsxs)("div",{className:"space-y-4 p-4 lg:p-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-2xl font-semibold",children:"Artifacts"}),(0,t.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"Browse persisted artifacts for the active session."})]}),(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,t.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Active session"}),(0,t.jsx)("p",{className:"mt-2 font-semibold",children:null!=s?s:"No active session"})]}),(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,t.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Artifacts returned"}),(0,t.jsx)("p",{className:"mt-2 font-semibold",children:c.length})]})]}),(0,t.jsx)("input",{value:r,onChange:e=>n(e.target.value),placeholder:"Filter artifacts",className:"rounded-lg border border-input bg-background px-3 py-2 text-sm"}),(0,t.jsxs)("div",{className:"space-y-3",children:[c.map(e=>(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:e.label}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:e.artifactType})]}),(0,t.jsx)("a",{href:"/api/runtime/artifacts/download?sessionId=".concat(encodeURIComponent(s||""),"&artifactId=").concat(encodeURIComponent(e.artifactId)),className:"rounded-lg border border-border px-3 py-2 text-xs",children:"Download"})]}),(0,t.jsx)("pre",{className:"mt-3 overflow-x-auto whitespace-pre-wrap text-xs text-muted-foreground",children:e.content})]},e.artifactId)),c.length?null:(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"No artifacts matched the current filter."})]})]})}}},e=>{e.O(0,[2231,5449,9657,8441,1255,7358],()=>e(e.s=220)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3014],{492:(e,t,s)=>{"use strict";s.d(t,{$:()=>a});var r=s(2454),d=s(9678);function a(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return(0,r.I)({queryKey:["audit",e],queryFn:()=>(0,d.n)("/api/audit?query=".concat(encodeURIComponent(e))),select:e=>e.events})}},2532:(e,t,s)=>{Promise.resolve().then(s.bind(s,1935)),Promise.resolve().then(s.bind(s,594)),Promise.resolve().then(s.bind(s,6981)),Promise.resolve().then(s.bind(s,5591))},5591:(e,t,s)=>{"use strict";s.d(t,{AuditBrowser:()=>n});var r=s(5155),d=s(2115),a=s(492);function n(){var e;let[t,s]=(0,d.useState)(""),n=null!=(e=(0,a.$)(t).data)?e:[],l=(0,d.useMemo)(()=>n.reduce((e,t)=>{var s;return e[t.action]=(null!=(s=e[t.action])?s:0)+1,e},{}),[n]);return(0,r.jsxs)("div",{className:"space-y-4 p-4 lg:p-6",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"text-2xl font-semibold",children:"Audit browser"}),(0,r.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"Search durable audit events and operational history."})]}),(0,r.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,r.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,r.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Events"}),(0,r.jsx)("p",{className:"mt-2 font-semibold",children:n.length})]}),(0,r.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,r.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Actions seen"}),(0,r.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:Object.entries(l).map(e=>{let[t,s]=e;return"".concat(t,": ").concat(s)}).join(" \xb7 ")||"No audit actions yet"})]})]}),(0,r.jsx)("input",{value:t,onChange:e=>s(e.target.value),placeholder:"Filter audit events",className:"rounded-lg border border-input bg-background px-3 py-2 text-sm"}),(0,r.jsxs)("div",{className:"space-y-3",children:[n.map(e=>(0,r.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,r.jsx)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium",children:e.action}),(0,r.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:[e.targetType," \xb7 ",e.targetId," \xb7 ",new Date(e.createdAt).toLocaleString()]})]})}),(0,r.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:e.detail})]},e.id)),n.length?null:(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"No audit events matched the current filter."})]})]})}}},e=>{e.O(0,[2231,5449,9657,8441,1255,7358],()=>e(e.s=2532)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7805],{3111:(e,r,t)=>{"use strict";t.d(r,{RuntimeHealthPanel:()=>c});var d=t(5155),n=t(2115),o=t(7773),s=t(2454),a=t(9678),l=t(2604);function i(){let{activeSessionId:e}=(0,l.j)(),[r,t]=(0,n.useState)(""),[o,i]=(0,n.useState)(""),c=function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return(0,s.I)({queryKey:["runtime-export",e,r,t],queryFn:()=>(0,a.n)("/api/runtime/export?sessionId=".concat(encodeURIComponent(e||""),"&query=").concat(encodeURIComponent(r),"&status=").concat(encodeURIComponent(t))),enabled:!!e})}(e,r,o),u=(0,n.useMemo)(()=>{var e;return JSON.stringify(null!=(e=c.data)?e:{},null,2)},[c.data]);return(0,d.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold",children:"Runtime exports"}),(0,d.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Filter and export runtime timeline, artifacts, approvals, and telemetry for the active session."}),(0,d.jsxs)("div",{className:"mt-4 grid gap-3 md:grid-cols-2",children:[(0,d.jsx)("input",{value:r,onChange:e=>t(e.target.value),placeholder:"Filter query",className:"rounded-lg border border-input bg-background px-3 py-2 text-sm"}),(0,d.jsxs)("select",{value:o,onChange:e=>i(e.target.value),className:"rounded-lg border border-input bg-background px-3 py-2 text-sm",children:[(0,d.jsx)("option",{value:"",children:"All approval states"}),(0,d.jsx)("option",{value:"pending",children:"Pending"}),(0,d.jsx)("option",{value:"approved",children:"Approved"}),(0,d.jsx)("option",{value:"rejected",children:"Rejected"})]})]}),(0,d.jsxs)("div",{className:"mt-4 flex gap-2",children:[(0,d.jsx)("a",{href:"data:application/json;charset=utf-8,".concat(encodeURIComponent(u)),download:"runtime-export-".concat(e||"global",".json"),className:"rounded-lg border border-border px-4 py-2 text-sm",children:"Download JSON"}),(0,d.jsx)("a",{href:"/api/runtime/export?sessionId=".concat(encodeURIComponent(e||""),"&query=").concat(encodeURIComponent(r),"&status=").concat(encodeURIComponent(o),"&format=csv"),className:"rounded-lg border border-border px-4 py-2 text-sm",children:"Download CSV"})]}),(0,d.jsx)("pre",{className:"mt-4 overflow-x-auto rounded-xl border border-border bg-background p-4 text-xs text-muted-foreground",children:u})]})}function c(){let[e,r]=(0,n.useState)(""),t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return(0,s.I)({queryKey:["runtime-health",e],queryFn:()=>(0,a.n)("/api/runtime/health?query=".concat(encodeURIComponent(e)))})}(e);if(t.isLoading)return(0,d.jsx)(o.Gu,{message:"Running health diagnostics…"});let l=t.data;return l?(0,d.jsxs)("div",{className:"space-y-6 p-4 lg:p-6",children:[(0,d.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",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",{children:[(0,d.jsx)("h2",{className:"text-lg font-semibold",children:"Runtime health"}),(0,d.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Configuration, provider, MCP, profile context, memory files, and runtime diagnostics."})]}),(0,d.jsxs)("div",{className:"grid gap-3 text-sm sm:grid-cols-2",children:[(0,d.jsx)("div",{className:"rounded-xl border border-border bg-background px-4 py-3",children:(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Passing:"})," ",l.summary.okCount]})}),(0,d.jsx)("div",{className:"rounded-xl border border-border bg-background px-4 py-3",children:(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Needs attention:"})," ",l.summary.failingCount]})})]})]}),(0,d.jsx)("input",{value:e,onChange:e=>r(e.target.value),placeholder:"Filter checks",className:"mt-4 w-full rounded-lg border border-input bg-background px-3 py-2 text-sm"}),(0,d.jsx)("div",{className:"mt-4 grid gap-3 md:grid-cols-2",children:l.checks.map(e=>(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4 text-sm",children:[(0,d.jsx)("p",{className:"font-medium",children:e.key}),(0,d.jsx)("p",{className:"mt-1 text-muted-foreground",children:e.detail}),(0,d.jsxs)("p",{className:"mt-2 text-xs",children:["Status: ",e.ok?"ok":"needs attention"]}),e.remediation?(0,d.jsxs)("p",{className:"mt-2 text-xs text-muted-foreground",children:["Hint: ",e.remediation]}):null]},e.key))}),(0,d.jsx)("pre",{className:"mt-4 overflow-x-auto rounded-xl border border-border bg-background p-4 text-xs text-muted-foreground",children:l.doctorOutput})]}),(0,d.jsx)(i,{})]}):null}},6184:(e,r,t)=>{Promise.resolve().then(t.bind(t,1935)),Promise.resolve().then(t.bind(t,594)),Promise.resolve().then(t.bind(t,6981)),Promise.resolve().then(t.bind(t,3111))},7773:(e,r,t)=>{"use strict";t.d(r,{Gu:()=>n,W5:()=>s,pp:()=>o});var d=t(5155);function n(e){let{message:r="Loading…"}=e;return(0,d.jsx)("div",{className:"rounded-lg border border-border/70 bg-card/60 p-6 text-sm text-muted-foreground shadow-[var(--shadow-card)]",children:r})}function o(e){let{title:r,description:t,action:n}=e;return(0,d.jsxs)("div",{className:"rounded-lg border border-dashed border-border/70 bg-card/60 p-6 text-sm text-muted-foreground shadow-[var(--shadow-card)]",children:[(0,d.jsx)("p",{className:"font-semibold text-foreground",children:r}),(0,d.jsx)("p",{className:"mt-2 leading-6",children:t}),n?(0,d.jsx)("div",{className:"mt-4",children:n}):null]})}function s(e){let{message:r}=e;return(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:r})}}},e=>{e.O(0,[2231,5449,9657,8441,1255,7358],()=>e(e.s=6184)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1208],{504:(e,r,s)=>{Promise.resolve().then(s.bind(s,1935)),Promise.resolve().then(s.bind(s,594)),Promise.resolve().then(s.bind(s,6981)),Promise.resolve().then(s.bind(s,7102))},2596:(e,r,s)=>{"use strict";s.d(r,{G:()=>d,o:()=>t});var n=s(2454),l=s(9678);function t(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return(0,n.I)({queryKey:["runtime-runs",e],queryFn:()=>(0,l.n)("/api/runtime/runs".concat(e?"?sessionId=".concat(encodeURIComponent(e)):"")),select:e=>e.runs})}function d(){return(0,n.I)({queryKey:["mcp-probe-results"],queryFn:()=>(0,l.n)("/api/runtime/mcp-probes"),select:e=>e.results})}},7102:(e,r,s)=>{"use strict";s.d(r,{McpDiagnosticsPanel:()=>d});var n=s(5155),l=s(2596),t=s(592);function d(){var e,r,s,d,o,a,c;let i=(0,t.w)(),u=(0,l.G)(),m=i.data,x=null!=(r=u.data)?r:[];return(0,n.jsxs)("div",{className:"space-y-4 p-4 lg:p-6",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"text-2xl font-semibold",children:"MCP diagnostics"}),(0,n.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"Inspect configured MCP servers, last probe results, active profile context, and remediation hints."})]}),(0,n.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 text-sm shadow-sm",children:[(0,n.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Runtime profile"}),(0,n.jsx)("p",{className:"mt-2 font-semibold",children:null!=(d=null!=(s=null==m||null==(e=m.profileContext)?void 0:e.label)?s:null==m?void 0:m.activeProfile)?d:"unknown"})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 text-sm shadow-sm",children:[(0,n.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Configured servers"}),(0,n.jsx)("p",{className:"mt-2 font-semibold",children:null!=(o=null==m?void 0:m.mcpServers.length)?o:0})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 text-sm shadow-sm",children:[(0,n.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Probe records"}),(0,n.jsx)("p",{className:"mt-2 font-semibold",children:x.length})]})]}),(0,n.jsxs)("div",{className:"space-y-3",children:[(null!=(a=null==m?void 0:m.mcpServers)?a:[]).map(e=>{let r=x.find(r=>r.serverName===e.name);return(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-sm font-medium",children:e.name}),(0,n.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:e.url||e.command||"No transport configured"})]}),(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1 text-xs text-muted-foreground",children:r?r.success?"success":"failed":"unknown"})]}),(0,n.jsxs)("div",{className:"mt-3 rounded-lg border border-border bg-background p-3 text-xs text-muted-foreground",children:[(0,n.jsxs)("p",{children:[(0,n.jsx)("strong",{children:"Last probe:"})," ",r?String(r.probedAt):"never"]}),(0,n.jsxs)("p",{children:[(0,n.jsx)("strong",{children:"Error:"})," ",r&&r.errorText?String(r.errorText):"none captured"]}),(0,n.jsxs)("p",{children:[(0,n.jsx)("strong",{children:"Tools seen:"})," ",r&&Array.isArray(r.tools)?r.tools.length:0]})]})]},e.name)}),(null!=(c=null==m?void 0:m.mcpServers.length)?c:0)?null:(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"No MCP servers are currently configured."})]})]})}}},e=>{e.O(0,[2231,5449,9657,8441,1255,7358],()=>e(e.s=504)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5613],{6157:(e,s,r)=>{"use strict";r.d(s,{RunDetail:()=>c});var t=r(5155),d=r(2619),n=r.n(d),l=r(2115),a=r(5050),o=r(2454),i=r(9678);function c(e){var s,r,d,c,m,u,x,h,p,g;let{runId:b}=e,j=(0,o.I)({queryKey:["runtime-run",b],queryFn:()=>(0,i.n)("/api/runtime/runs/".concat(b)),select:e=>e.run,enabled:!!b}).data,[N,f]=(0,l.useState)(""),v=function(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return(0,o.I)({queryKey:["runtime-run-events",e,s],queryFn:()=>(0,i.n)("/api/runtime/timeline?sessionId=".concat(encodeURIComponent(e||""),"&query=").concat(encodeURIComponent(s))),select:e=>e.events,enabled:!!e})}(null!=(s=null==j?void 0:j.session_id)?s:null,N),y=(0,a.$Q)(null!=(r=null==j?void 0:j.session_id)?r:null),w=(0,a.kv)(null!=(d=null==j?void 0:j.session_id)?d:null),S=null!=(c=v.data)?c:[],k=(0,l.useMemo)(()=>S.map((e,s)=>({key:"".concat(e.type,"-").concat(s),event:e})),[S]);return j?(0,t.jsxs)("div",{className:"space-y-6 p-4 lg:p-6",children:[(0,t.jsx)(n(),{href:"/settings/runs",className:"text-sm text-muted-foreground hover:text-foreground",children:"← Back to runs"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-2xl font-semibold",children:"Run detail"}),(0,t.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"Inspect run state, artifacts, approvals, and related runtime events."})]}),(0,t.jsxs)("section",{className:"grid gap-3 md:grid-cols-4",children:[(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,t.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Run"}),(0,t.jsx)("p",{className:"mt-2 font-semibold",children:String(j.id).slice(0,8)})]}),(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,t.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Status"}),(0,t.jsx)("p",{className:"mt-2 font-semibold",children:String(j.status)})]}),(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,t.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Approvals"}),(0,t.jsx)("p",{className:"mt-2 font-semibold",children:(null!=(m=w.data)?m:[]).length})]}),(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,t.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Artifacts"}),(0,t.jsx)("p",{className:"mt-2 font-semibold",children:(null!=(u=y.data)?u:[]).length})]})]}),(0,t.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm text-sm",children:[(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Run:"})," ",String(j.id)]}),(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Session:"})," ",String(j.session_id)]}),(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Status:"})," ",String(j.status)]}),(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Source:"})," ",String(j.source)]}),(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Started:"})," ",String(j.started_at)]}),(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Updated:"})," ",String(j.updated_at)]}),j.last_error?(0,t.jsxs)("p",{className:"text-danger",children:[(0,t.jsx)("strong",{children:"Error:"})," ",String(j.last_error)]}):null]}),(0,t.jsxs)("section",{className:"grid gap-4 xl:grid-cols-[1.2fr_0.8fr]",children:[(0,t.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Event drilldown"}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Filter runtime events associated with this run’s session."})]}),(0,t.jsx)("input",{value:N,onChange:e=>f(e.target.value),placeholder:"Filter events",className:"rounded-lg border border-input bg-background px-3 py-2 text-sm"})]}),(0,t.jsxs)("div",{className:"mt-4 space-y-3",children:[k.map(e=>{let{key:s,event:r}=e;return(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:r.type}),(0,t.jsx)("pre",{className:"mt-2 overflow-x-auto whitespace-pre-wrap text-xs text-muted-foreground",children:JSON.stringify(r,null,2)})]},s)}),k.length?null:(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"No events matched this filter."})]})]}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Approvals encountered"}),(0,t.jsxs)("div",{className:"mt-4 space-y-3 text-sm text-muted-foreground",children:[(null!=(x=w.data)?x:[]).slice(0,5).map(e=>(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,t.jsx)("p",{className:"font-medium text-foreground",children:e.toolName}),(0,t.jsx)("p",{className:"mt-1",children:e.summary}),(0,t.jsx)("p",{className:"mt-2 text-xs",children:e.status})]},e.toolCallId)),(null!=(h=w.data)?h:[]).length?null:(0,t.jsx)("p",{children:"No approvals were recorded for this run."})]})]}),(0,t.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Artifacts emitted"}),(0,t.jsxs)("div",{className:"mt-4 space-y-3 text-sm text-muted-foreground",children:[(null!=(p=y.data)?p:[]).slice(0,5).map(e=>(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,t.jsx)("p",{className:"font-medium text-foreground",children:e.label}),(0,t.jsx)("p",{className:"mt-1",children:e.artifactType})]},e.artifactId)),(null!=(g=y.data)?g:[]).length?null:(0,t.jsx)("p",{children:"No artifacts were emitted for this run."})]})]})]})]})]}):(0,t.jsx)("div",{className:"p-4 lg:p-6 text-sm text-muted-foreground",children:"Loading run…"})}},8984:(e,s,r)=>{Promise.resolve().then(r.bind(r,1935)),Promise.resolve().then(r.bind(r,594)),Promise.resolve().then(r.bind(r,6981)),Promise.resolve().then(r.bind(r,6157))}},e=>{e.O(0,[2231,5449,9657,8441,1255,7358],()=>e(e.s=8984)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9501],{5269:(e,t,r)=>{Promise.resolve().then(r.bind(r,1935)),Promise.resolve().then(r.bind(r,594)),Promise.resolve().then(r.bind(r,6981)),Promise.resolve().then(r.bind(r,8211))},7910:(e,t,r)=>{"use strict";r.d(t,{A:()=>l});let l=(0,r(1847).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"}]])},8211:(e,t,r)=>{"use strict";r.d(t,{SkillsScreen:()=>I});var l=r(5155),s=r(2115),a=r(63),n=r(6907),d=r(7910),o=r(7801),i=r(1847);let c=(0,i.A)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]),u=(0,i.A)("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);var m=r(9068);let x=(0,i.A)("Star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);var p=r(6651),g=r(5229),h=r(8734),f=r(8584),b=r(2619),y=r.n(b),j=r(7726),v=r(1613),N=r(685);function k(e){var t;let{skill:r,loadedInCurrentSession:s=!1,sessionId:a}=e,n=a?"/skills/".concat(r.id,"?session=").concat(encodeURIComponent(a)):"/skills/".concat(r.id),d=null==(t=r.linkedFiles)?void 0:t.reduce((e,t)=>(e[t.group]=(e[t.group]||0)+1,e),{});return(0,l.jsxs)(y(),{href:n,"aria-label":r.id,className:"block rounded-2xl border border-border/70 bg-card p-4 shadow-sm transition hover:-translate-y-0.5 hover:bg-muted/40 hover:shadow-md",children:[(0,l.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,l.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("h3",{className:"truncate text-sm font-semibold",children:r.name}),r.category?(0,l.jsxs)("span",{className:"hidden shrink-0 items-center gap-1 rounded-md bg-muted/60 px-1.5 py-0.5 text-3xs text-muted-foreground sm:inline-flex",children:[(0,l.jsx)(h.A,{className:"h-2.5 w-2.5"}),r.category]}):null]}),(0,l.jsx)("p",{className:"mt-1 line-clamp-2 text-xs leading-5 text-muted-foreground",children:r.description})]}),(0,l.jsxs)("div",{className:"space-y-1.5 text-right text-3xs",children:[(0,l.jsx)("p",{className:"rounded-full border border-border/60 px-2 py-0.5",children:(0,N.VJ)(r.scope,r.ownerProfileId)}),(0,l.jsx)("p",{className:"rounded-full border border-border/60 px-2 py-0.5",children:(0,N.CV)(r.provenance)})]})]}),r.tags&&r.tags.length>0?(0,l.jsxs)("div",{className:"mt-2 flex flex-wrap gap-1",children:[r.tags.slice(0,4).map(e=>(0,l.jsxs)("span",{className:"inline-flex items-center gap-0.5 rounded-md bg-primary/8 px-1.5 py-0.5 text-3xs text-muted-foreground",children:[(0,l.jsx)(j.A,{className:"h-2 w-2"}),e]},e)),r.tags.length>4?(0,l.jsxs)("span",{className:"rounded-md bg-muted/50 px-1.5 py-0.5 text-3xs text-muted-foreground",children:["+",r.tags.length-4]}):null]}):null,(0,l.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-1.5 text-xs",children:[(0,l.jsx)("span",{className:"rounded-full px-2 py-0.5 ".concat(r.enabled?"bg-success/15 text-foreground":"bg-muted text-muted-foreground"),children:r.enabled?"Enabled":r.installed?"Installed":"Available"}),s?(0,l.jsx)("span",{className:"rounded-full bg-primary/10 px-2 py-0.5 text-foreground",children:"Loaded"}):null,d&&Object.keys(d).length>0?(0,l.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-border/50 px-2 py-0.5 text-muted-foreground",children:[(0,l.jsx)(v.A,{className:"h-3 w-3"}),Object.entries(d).map(e=>{let[t,r]=e;return"".concat(r," ").concat(t)}).join(", ")]}):null,r.updatedAt?(0,l.jsx)("span",{className:"rounded-full border border-border/50 px-2 py-0.5 text-muted-foreground",children:new Date(r.updatedAt).toLocaleDateString()}):null]})]})}var w=r(9318),A=r(2604);function C(e){let{level:t}=e;return"trusted"===t?(0,l.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-emerald-500/15 px-2 py-0.5 text-3xs font-medium text-emerald-400",children:[(0,l.jsx)(n.A,{className:"h-2.5 w-2.5"}),"Trusted"]}):"official"===t?(0,l.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-blue-500/15 px-2 py-0.5 text-3xs font-medium text-blue-400",children:[(0,l.jsx)(d.A,{className:"h-2.5 w-2.5"}),"Official"]}):(0,l.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-amber-500/15 px-2 py-0.5 text-3xs font-medium text-amber-400",children:[(0,l.jsx)(o.A,{className:"h-2.5 w-2.5"}),"Community"]})}function S(e){let{audits:t}=e;return t?(0,l.jsx)("div",{className:"flex gap-1",children:Object.entries(t).map(e=>{let[t,r]=e;return(0,l.jsxs)("span",{className:"rounded-full px-1.5 py-0.5 text-[9px] font-medium ".concat("Pass"===r?"bg-emerald-500/15 text-emerald-400":"Warn"===r?"bg-amber-500/15 text-amber-400":"bg-red-500/15 text-red-400"),children:[t,": ",r]},t)})}):null}function L(e){var t,r;let{skill:s,onInstall:a,installing:n}=e;return(0,l.jsxs)("div",{className:"flex flex-col rounded-2xl border border-border/70 bg-card p-4 shadow-sm transition hover:-translate-y-0.5 hover:shadow-md",children:[(0,l.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,l.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("h3",{className:"truncate text-sm font-semibold",children:s.name}),(0,l.jsx)(C,{level:s.trustLevel})]}),(0,l.jsx)("p",{className:"mt-0.5 text-2xs text-muted-foreground",children:s.repo})]}),null!=s.installs?(0,l.jsxs)("span",{className:"shrink-0 rounded-lg bg-muted/50 px-2 py-0.5 text-3xs text-muted-foreground",children:[(0,l.jsx)(c,{className:"mr-0.5 inline h-2.5 w-2.5"}),s.installs.toLocaleString()]}):null]}),(0,l.jsx)("p",{className:"mt-2 line-clamp-3 flex-1 text-xs leading-5 text-muted-foreground",children:(null==(t=s.detail)?void 0:t.summary)||s.description}),(null==(r=s.detail)?void 0:r.securityAudits)?(0,l.jsx)("div",{className:"mt-2",children:(0,l.jsx)(S,{audits:s.detail.securityAudits})}):null,(0,l.jsxs)("div",{className:"mt-3 flex items-center gap-2",children:[(0,l.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),a()},disabled:n,className:"rounded-xl bg-primary px-3 py-1.5 text-xs font-medium text-primary-foreground shadow-sm transition hover:opacity-90 disabled:opacity-50",children:n?"Installing…":"Install"}),s.detailUrl?(0,l.jsxs)("a",{href:s.detailUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 rounded-xl border border-border/50 px-2.5 py-1.5 text-xs text-muted-foreground transition hover:bg-muted/40",onClick:e=>e.stopPropagation(),children:[(0,l.jsx)(u,{className:"h-3 w-3"}),"skills.sh"]}):null,s.repoUrl?(0,l.jsxs)("a",{href:s.repoUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 rounded-xl border border-border/50 px-2.5 py-1.5 text-xs text-muted-foreground transition hover:bg-muted/40",onClick:e=>e.stopPropagation(),children:[(0,l.jsx)(m.A,{className:"h-3 w-3"}),"Repo"]}):null]})]})}function I(){var e,t,r,n,d,o;let i=(0,a.useRouter)(),c=(0,a.useSearchParams)().get("session"),[u,m]=(0,s.useState)("installed"),[b,y]=(0,s.useState)(null),[j,v]=(0,s.useState)(""),[N,C]=(0,s.useState)(""),[S,I]=(0,s.useState)(""),M=(0,w.a$)("installed"===u),P=(0,w.$P)(),_=(0,w.vb)(N||void 0),F=(0,w.jM)(),[D,E]=(0,s.useState)(null),{selectedProfileId:O,activeSessionId:U,setActiveSessionId:q}=(0,A.j)();(0,s.useEffect)(()=>{c&&(c!==U&&q(c),i.replace("/skills",{scroll:!1}))},[U,c,i,q]);let z=(0,f.Ux)(O,null!=c?c:U),T=new Set((null==(t=z.data)||null==(e=t.loadedSkillIds)?void 0:e.length)?z.data.loadedSkillIds:["skill-authoring"]),V=null!=(d=M.data)?d:[],R=(0,s.useMemo)(()=>{var e;let t=new Set;for(let e of V)e.category&&t.add(e.category);for(let r of null!=(e=P.data)?e:[])t.add(r);return Array.from(t).sort()},[V,P.data]),H=(0,s.useMemo)(()=>{let e=V;if(b&&(e=e.filter(e=>e.category===b)),j.trim()){let t=j.toLowerCase();e=e.filter(e=>{var r,l;return e.name.toLowerCase().includes(t)||e.description.toLowerCase().includes(t)||(null==(r=e.tags)?void 0:r.some(e=>e.toLowerCase().includes(t)))||(null==(l=e.category)?void 0:l.toLowerCase().includes(t))})}return e},[V,b,j]),$=null!=(o=null==(r=_.data)?void 0:r.skills)?o:[],B=V.filter(e=>e.enabled).length,G=V.filter(e=>e.linkedFiles&&e.linkedFiles.length>0).length;async function J(e){E(e.id);try{await F.mutateAsync({identifier:e.identifier})}finally{E(null)}}return(0,l.jsxs)("div",{className:"h-full overflow-y-auto space-y-5 p-4 pb-8 lg:p-6 lg:pb-10",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("h1",{className:"text-2xl font-semibold",children:"Skills"}),(0,l.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"installed"===u?(0,l.jsxs)(l.Fragment,{children:["Browse ",V.length," installed skills across ",R.length," categories.",B>0?" ".concat(B," enabled."):"",G>0?" ".concat(G," include references, scripts, or templates."):""]}):(0,l.jsxs)(l.Fragment,{children:["Discover skills from skills.sh and other registries. ",$.length," available to install",(null==(n=_.data)?void 0:n.total)?" (".concat(_.data.total," total, ").concat(_.data.total-$.length," already installed)"):"","."]})})]}),(0,l.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,l.jsxs)("div",{className:"flex gap-2",children:[(0,l.jsxs)("button",{type:"button",onClick:()=>m("installed"),className:"rounded-xl px-4 py-2 text-sm font-medium transition ".concat("installed"===u?"bg-primary text-primary-foreground shadow-sm":"border border-border/70 text-muted-foreground hover:bg-card"),children:["Installed (",V.length,")"]}),(0,l.jsxs)("button",{type:"button",onClick:()=>m("discover"),className:"rounded-xl px-4 py-2 text-sm font-medium transition ".concat("discover"===u?"bg-primary text-primary-foreground shadow-sm":"border border-border/70 text-muted-foreground hover:bg-card"),children:[(0,l.jsx)(x,{className:"mr-1 inline h-3.5 w-3.5"}),"Discover"]})]}),"installed"===u?(0,l.jsxs)("div",{className:"relative flex-1 min-w-[200px] max-w-md",children:[(0,l.jsx)(p.A,{className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),(0,l.jsx)("input",{type:"text",placeholder:"Search skills by name, tag, or category…",value:j,onChange:e=>v(e.target.value),className:"w-full rounded-xl border border-border/70 bg-background/80 py-2 pl-9 pr-8 text-sm outline-none placeholder:text-muted-foreground focus:ring-2 focus:ring-primary/30"}),j?(0,l.jsx)("button",{type:"button",onClick:()=>v(""),className:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:(0,l.jsx)(g.A,{className:"h-4 w-4"})}):null]}):(0,l.jsxs)("form",{className:"relative flex-1 min-w-[200px] max-w-md",onSubmit:e=>{e.preventDefault(),C(S)},children:[(0,l.jsx)(p.A,{className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),(0,l.jsx)("input",{type:"text",placeholder:"Search skills.sh (e.g. kubernetes, react, python)…",value:S,onChange:e=>I(e.target.value),className:"w-full rounded-xl border border-border/70 bg-background/80 py-2 pl-9 pr-8 text-sm outline-none placeholder:text-muted-foreground focus:ring-2 focus:ring-primary/30"}),S?(0,l.jsx)("button",{type:"button",onClick:()=>{I(""),C("")},className:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:(0,l.jsx)(g.A,{className:"h-4 w-4"})}):null]})]}),"installed"===u?(0,l.jsxs)(l.Fragment,{children:[R.length>0?(0,l.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,l.jsx)(h.A,{className:"h-4 w-4 text-muted-foreground"}),(0,l.jsx)("button",{type:"button",onClick:()=>y(null),className:"rounded-lg px-3 py-1 text-xs font-medium transition ".concat(b?"border border-border/50 text-muted-foreground hover:bg-card":"bg-primary/15 text-foreground ring-1 ring-primary/30"),children:"All"}),R.map(e=>{let t=V.filter(t=>t.category===e).length;return(0,l.jsxs)("button",{type:"button",onClick:()=>y(b===e?null:e),className:"rounded-lg px-3 py-1 text-xs font-medium transition ".concat(b===e?"bg-primary/15 text-foreground ring-1 ring-primary/30":"border border-border/50 text-muted-foreground hover:bg-card"),children:[e," (",t,")"]},e)})]}):null,M.isLoading?(0,l.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading skill data…"}):null,T.size?(0,l.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-card/80 p-3 text-sm text-muted-foreground",children:[(0,l.jsx)("span",{className:"font-medium text-foreground",children:"Loaded in current session:"}),(0,l.jsx)("span",{className:"ml-2",children:Array.from(T).join(", ")})]}):null,M.isLoading||0!==H.length?null:(0,l.jsx)("div",{className:"rounded-2xl border border-dashed border-border/70 bg-card/60 p-5 text-sm text-muted-foreground",children:j||b?'No skills match "'.concat(j||b,'". Try a different filter.'):"No installed skills were detected for the current runtime/profile scope."}),(0,l.jsx)("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-3",children:H.map(e=>(0,l.jsx)(k,{skill:e,loadedInCurrentSession:T.has(e.id),sessionId:null!=c?c:U},e.id))})]}):null,"discover"===u?(0,l.jsxs)(l.Fragment,{children:[_.isLoading?(0,l.jsx)("p",{className:"text-sm text-muted-foreground",children:"Searching skills.sh…"}):null,_.isLoading||0!==$.length?null:(0,l.jsx)("div",{className:"rounded-2xl border border-dashed border-border/70 bg-card/60 p-5 text-sm text-muted-foreground",children:N?'No skills found for "'.concat(N,'". Try a different search term.'):"No discoverable skills found. The skills.sh cache may need to be populated — run `hermes skills browse` in your terminal."}),(0,l.jsx)("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-3",children:$.map(e=>(0,l.jsx)(L,{skill:e,onInstall:()=>J(e),installing:D===e.id},e.id))})]}):null]})}},9068:(e,t,r)=>{"use strict";r.d(t,{A:()=>l});let l=(0,r(1847).A)("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])}},e=>{e.O(0,[2231,5449,4879,9657,1309,8441,1255,7358],()=>e(e.s=5269)),_N_E=e.O()}]);