@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([[8357],{630:(e,t,o)=>{"use strict";o.d(t,{BF:()=>b,Ot:()=>d,bF:()=>c,qr:()=>p,rz:()=>x,yX:()=>m});var n=o(2454),a=o(9776),r=o(549),s=o(9678),i=o(9054),l=o(1119);function d(){return(0,n.I)({queryKey:["extensions"],queryFn:()=>(0,s.n)("/api/extensions"),select:e=>({extensions:(0,i.C5)(e.extensions),tools:(0,i.YM)(e.tools)})})}function c(e){return(0,n.I)({queryKey:["extension",e],queryFn:()=>(0,s.n)("/api/extensions/".concat(e)),select:e=>(0,i.HB)(e.extension),enabled:!!e})}function u(e,t){let o=(0,i.HB)(t);e.invalidateQueries({queryKey:["extensions"]}),e.setQueryData(["extension",o.id],{extension:o})}function p(){let e=(0,a.jE)();return(0,r.n)({mutationFn:e=>(0,s.n)("/api/extensions/mcp",{method:"POST",body:JSON.stringify(e)}),onSuccess:t=>{let{extension:o}=t;(0,l.x)("extension.updated",{extensionId:o.id}),u(e,o)}})}function m(){let e=(0,a.jE)();return(0,r.n)({mutationFn:e=>{let{extensionId:t,patch:o}=e;return(0,s.n)("/api/extensions/".concat(t),{method:"PATCH",body:JSON.stringify(o)})},onSuccess:t=>{let{extension:o}=t;(0,l.x)("extension.config.updated",{extensionId:o.id}),u(e,o)}})}function x(){let e=(0,a.jE)();return(0,r.n)({mutationFn:e=>(0,s.n)("/api/extensions/".concat(e,"/test"),{method:"POST"}),onSuccess:t=>{let{extension:o}=t;(0,l.x)("extension.tested",{extensionId:o.id,health:o.health}),u(e,o)}})}function b(){let e=(0,a.jE)();return(0,r.n)({mutationFn:e=>{let{extensionId:t,capabilityId:o,patch:n}=e;return(0,s.n)("/api/extensions/".concat(t,"/capabilities/").concat(o),{method:"PATCH",body:JSON.stringify(n)})},onSuccess:t=>{let{extension:o}=t;(0,l.x)("extension.capability.updated",{extensionId:o.id}),u(e,o)}})}},685:(e,t,o)=>{"use strict";function n(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 a(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 r(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 s(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 i(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 l(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}}o.d(t,{B6:()=>d,BX:()=>i,CF:()=>r,CV:()=>a,Ow:()=>l,VJ:()=>n,b:()=>s,mF:()=>c})},1119:(e,t,o)=>{"use strict";function n(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:{})}o.d(t,{x:()=>n})},4093:(e,t,o)=>{Promise.resolve().then(o.bind(o,1935)),Promise.resolve().then(o.bind(o,594)),Promise.resolve().then(o.bind(o,6981)),Promise.resolve().then(o.bind(o,4952))},4226:(e,t,o)=>{"use strict";o.d(t,{R:()=>s});var n=o(5155),a=o(2263),r=o(4695);function s(e){let{health:t}=e,o=(0,r.Ds)(t),s="healthy"===o||"degraded"===o||"unreachable"===o?(0,r.OX)(o):"connected"===o||"needs-auth"===o||"expired"===o?(0,r.P0)(o):(0,r.fh)(o);return(0,n.jsx)(a.W,{label:(0,r.MU)(t),tone:s})}},4952:(e,t,o)=>{"use strict";o.d(t,{ExtensionDetail:()=>u});var n=o(5155),a=o(2619),r=o.n(a),s=o(2115),i=o(630),l=o(685);function d(e){let{capability:t,onToggle:o,onScopeChange:a}=e,[r,i]=(0,s.useState)(t.enabled),[d,c]=(0,s.useState)(t.scope);return(0,s.useEffect)(()=>{i(t.enabled),c(t.scope)},[t.enabled,t.scope]),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4",children:[(0,n.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h4",{className:"text-sm font-semibold",children:t.name}),(0,n.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:t.description}),(0,n.jsxs)("p",{className:"mt-2 text-xs text-muted-foreground",children:[(0,l.b)(t.riskLevel)," \xb7 ",(0,l.B6)(t.approvalPolicy)]})]}),(0,n.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,n.jsx)("input",{type:"checkbox",checked:r,onChange:e=>{i(e.target.checked),o(e.target.checked)}}),"Enabled"]})]}),(0,n.jsxs)("div",{className:"mt-3",children:[(0,n.jsx)("label",{className:"text-xs text-muted-foreground",children:"Scope"}),(0,n.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:(0,l.mF)(d)}),(0,n.jsxs)("select",{value:d,onChange:e=>{let t=e.target.value;c(t),a(t)},className:"mt-1 w-full rounded-lg border border-input bg-background px-3 py-2 text-sm",children:[(0,n.jsx)("option",{value:"global",children:"Global"}),(0,n.jsx)("option",{value:"profile",children:"Profile"}),(0,n.jsx)("option",{value:"session",children:"Session"})]})]})]})}var c=o(4226);function u(e){var t,o,a,u,p,m,x,b,h,j,f;let{extensionId:g}=e,v=(0,i.bF)(g),y=(0,i.yX)(),k=(0,i.rz)(),Y=(0,i.BF)(),[N,w]=(0,s.useState)("overview");if(v.isLoading||!v.data)return(0,n.jsx)("div",{className:"p-4 lg:p-6 text-sm text-muted-foreground",children:"Loading extension…"});let I=v.data;return(0,n.jsxs)("div",{className:"space-y-6 p-4 lg:p-6",children:[(0,n.jsx)(r(),{href:"/extensions",className:"text-sm text-muted-foreground hover:text-foreground",children:"← Back"}),(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[(0,n.jsx)(c.R,{health:I.health}),(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:I.type}),(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,l.b)(I.riskLevel)}),(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,l.BX)(I.authState)}),(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,l.CF)(I.provenance)}),(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,l.Ow)(I.governance)}),(0,n.jsxs)("span",{className:"rounded-full border border-border px-2 py-1",children:["v",null!=(u=I.version)?u:"0.0.0"]})]}),(0,n.jsx)("h1",{className:"text-2xl font-semibold",children:I.name}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:I.description}),(0,n.jsx)("div",{className:"flex flex-wrap gap-2",children:(0,n.jsx)("button",{type:"button",onClick:()=>void k.mutateAsync(I.id),className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground",children:"Test connection"})})]}),(0,n.jsx)("div",{className:"flex flex-wrap gap-2",children:["overview","permissions","configuration","capabilities"].map(e=>(0,n.jsx)("button",{type:"button",onClick:()=>w(e),className:"rounded-lg px-4 py-2 text-sm ".concat(N===e?"bg-primary text-primary-foreground":"border border-border text-muted-foreground"),children:e},e))}),"overview"===N?(0,n.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold",children:"Overview"}),(0,n.jsxs)("p",{className:"mt-2 text-sm text-muted-foreground",children:["Health: ",I.health,". This integration exposes ",I.capabilities.length," capabilities across ",I.toolCount," discovered tools."]}),(0,n.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2 text-xs text-muted-foreground",children:[(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,l.b)(I.riskLevel)}),(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,l.BX)(I.authState)}),(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,l.Ow)(I.governance)})]}),(0,n.jsxs)("div",{className:"mt-4 space-y-2 text-sm text-muted-foreground",children:[(0,n.jsxs)("p",{children:[(0,n.jsx)("strong",{className:"text-foreground",children:"Profiles:"})," ",I.profilesUsing.join(", ")]}),(0,n.jsxs)("p",{children:[(0,n.jsx)("strong",{className:"text-foreground",children:"Probe source:"})," ",null!=(p=null==(t=I.diagnostics)?void 0:t.source)?p:"unknown"]}),(0,n.jsxs)("p",{children:[(0,n.jsx)("strong",{className:"text-foreground",children:"Last probe:"})," ",null!=(m=null==(o=I.diagnostics)?void 0:o.probedAt)?m:"never"]}),(0,n.jsxs)("p",{children:[(0,n.jsx)("strong",{className:"text-foreground",children:"Probe error:"})," ",null!=(x=null==(a=I.diagnostics)?void 0:a.errorText)?x:"none captured"]})]})]}):null,"permissions"===N?(0,n.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold",children:"Permissions"}),(0,n.jsx)("div",{className:"mt-4 space-y-3",children:I.capabilities.map(e=>(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,n.jsx)("p",{className:"font-medium",children:e.name}),(0,n.jsxs)("p",{className:"mt-1 text-sm text-muted-foreground",children:[(0,l.b)(e.riskLevel)," \xb7 ",e.scope," scope"]})]},e.id))})]}):null,"configuration"===N?(0,n.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold",children:"Configuration"}),(0,n.jsxs)("div",{className:"mt-4 space-y-3",children:[(0,n.jsx)("input",{"aria-label":"Extension command",defaultValue:null!=(b=I.config.command)?b:"",placeholder:"Command",className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm",onBlur:e=>void y.mutateAsync({extensionId:I.id,patch:{command:e.target.value||void 0}})}),(0,n.jsx)("input",{"aria-label":"Extension URL",defaultValue:null!=(h=I.config.url)?h:"",placeholder:"URL",className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm",onBlur:e=>void y.mutateAsync({extensionId:I.id,patch:{url:e.target.value||void 0}})}),(0,n.jsxs)("select",{"aria-label":"Extension auth type",defaultValue:null!=(j=I.config.authType)?j:"none",className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm",onChange:e=>void y.mutateAsync({extensionId:I.id,patch:{authType:e.target.value}}),children:[(0,n.jsx)("option",{value:"none",children:"No auth"}),(0,n.jsx)("option",{value:"api-key",children:"API key"}),(0,n.jsx)("option",{value:"oauth",children:"OAuth"})]}),(0,n.jsx)("input",{"aria-label":"Extension token",defaultValue:null!=(f=I.config.token)?f:"",placeholder:"Token / secret",className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm",onBlur:e=>void y.mutateAsync({extensionId:I.id,patch:{token:e.target.value||void 0}})})]})]}):null,"capabilities"===N?(0,n.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold",children:"Capabilities"}),(0,n.jsx)("div",{className:"mt-4 space-y-3",children:I.capabilities.map(e=>(0,n.jsx)(d,{capability:e,onToggle:t=>void Y.mutateAsync({extensionId:I.id,capabilityId:e.id,patch:{enabled:t}}),onScopeChange:t=>void Y.mutateAsync({extensionId:I.id,capabilityId:e.id,patch:{scope:t}})},e.id))})]}):null]})}},9054:(e,t,o)=>{"use strict";o.d(t,{HB:()=>m,C5:()=>x,d:()=>u,iF:()=>p,YM:()=>b});var n=o(4879);n.gM("type",[n.Ik({type:n.eu("assistant.delta"),delta:n.Yj()}),n.Ik({type:n.eu("run.phase"),phase:n.k5(["drafting","tool-started","waiting-approval","completed"]),label:n.Yj()}),n.Ik({type:n.eu("tool.started"),toolCallId:n.Yj(),toolName:n.Yj(),riskLevel:n.k5(["read","write","execute","admin"]).optional(),provenance:n.k5(["built-in","verified","custom","self-hosted","local-process"]).optional()}),n.Ik({type:n.eu("tool.awaiting_approval"),toolCallId:n.Yj(),toolName:n.Yj(),summary:n.Yj(),riskLevel:n.k5(["read","write","execute","admin"]).optional(),governance:n.k5(["enabled","blocked","approval-gated","policy-limited"]).optional()}),n.Ik({type:n.eu("tool.completed"),toolCallId:n.Yj(),toolName:n.Yj(),output:n.Yj().optional(),riskLevel:n.k5(["read","write","execute","admin"]).optional()}),n.Ik({type:n.eu("artifact.emitted"),artifactId:n.Yj(),artifactType:n.Yj(),label:n.Yj(),content:n.Yj().optional()}),n.Ik({type:n.eu("source.emitted"),source:n.Ik({id:n.Yj(),title:n.Yj(),href:n.Yj().optional(),snippet:n.Yj().optional(),sourceType:n.k5(["web","file","workspace","integration","unknown"]),provenance:n.k5(["built-in","verified","custom","self-hosted","local-process"]),note:n.Yj().optional(),label:n.Yj().optional()})}),n.Ik({type:n.eu("error"),message:n.Yj()})]),n.Ik({model:n.Yj(),provider:n.Yj(),policyPreset:n.k5(["safe-chat","research","builder","full-power"]),memoryMode:n.k5(["standard","minimal"])}),n.Ik({id:n.Yj(),title:n.Yj(),updatedAt:n.Yj(),preview:n.Yj().optional()});let a=n.Ik({id:n.Yj(),name:n.Yj(),description:n.Yj(),enabled:n.zM(),riskLevel:n.k5(["read","write","execute","admin"]),scope:n.k5(["global","profile","session"]),approvalPolicy:n.k5(["auto","on-request","always"]).optional(),lastUsedAt:n.Yj().optional()}),r=n.Ik({command:n.Yj().optional(),url:n.Yj().optional(),authType:n.k5(["none","api-key","oauth"]).optional(),token:n.Yj().optional()}),s=n.Ik({source:n.k5(["live","cache","persisted","failed"]),errorText:n.Yj().nullable().optional(),remediation:n.YO(n.Yj()).optional(),discoveredTools:n.ai().optional(),probedAt:n.Yj().optional()}),i=n.Ik({id:n.Yj(),name:n.Yj(),description:n.Yj(),health:n.k5(["healthy","degraded","blocked","failed"]),riskLevel:n.k5(["read","write","execute","admin"]),authState:n.k5(["connected","needs-auth","expired"]),governance:n.k5(["enabled","blocked","approval-gated","policy-limited"]),provenance:n.k5(["built-in","verified","custom","self-hosted","local-process"]),approvalPolicy:n.k5(["auto","on-request","always"]),type:n.k5(["mcp","native","builtin"]),installed:n.zM(),config:r,capabilities:n.YO(a),toolCount:n.ai(),profilesUsing:n.YO(n.Yj()),diagnostics:s.optional(),version:n.Yj().optional(),updatedAt:n.Yj().optional()}),l=n.Ik({id:n.Yj(),name:n.Yj(),sourceExtensionId:n.Yj(),sourceExtensionName:n.Yj(),category:n.k5(["mcp","builtin","native"]),riskLevel:n.k5(["read","write","execute","admin"]),enabled:n.zM(),approvalPolicy:n.k5(["auto","on-request","always"]),lastUsedAt:n.Yj().optional(),scope:n.k5(["global","profile","session"])});n.Ik({id:n.Yj(),createdAt:n.Yj(),action:n.Yj(),targetType:n.Yj(),targetId:n.Yj(),detail:n.Yj()}),n.Ik({id:n.Yj(),content:n.Yj(),updatedAt:n.Yj().optional(),scope:n.k5(["user","agent"])}),n.Ik({activeProfileId:n.Yj().nullable(),activeSessionId:n.Yj().nullable(),activeSessionTitle:n.Yj().optional(),activeSessionPreview:n.Yj().optional(),loadedSkillIds:n.YO(n.Yj()),model:n.Yj().optional(),provider:n.Yj().optional(),policyPreset:n.k5(["safe-chat","research","builder","full-power"]).optional(),memoryMode:n.k5(["standard","minimal"]).optional(),userMemory:n.YO(n.Yj()),agentMemory:n.YO(n.Yj())}),n.Ik({id:n.Yj(),name:n.Yj(),modelDefault:n.Yj().optional(),policyPreset:n.k5(["safe-chat","research","builder","full-power"]).optional(),sessionCount:n.ai().optional(),skillCount:n.ai().optional(),extensionCount:n.ai().optional(),active:n.zM().optional()}),n.Ik({id:n.Yj(),title:n.Yj(),updatedAt:n.Yj(),status:n.k5(["active","archived"]),preview:n.Yj().optional(),parentSessionId:n.Yj().optional()});let d=n.Ik({path:n.Yj(),name:n.Yj(),group:n.Yj()}),c=n.Ik({id:n.Yj(),name:n.Yj(),description:n.Yj(),source:n.k5(["bundled","local","hub","agent-created"]),scope:n.k5(["builtin","global","profile"]),provenance:n.k5(["built-in","verified","custom","local-process"]),installed:n.zM(),enabled:n.zM(),content:n.Yj(),loadedInSessions:n.YO(n.Yj()).optional(),ownerProfileId:n.Yj().nullable().optional(),filePath:n.Yj().optional(),version:n.Yj().optional(),updatedAt:n.Yj().optional(),impliedTools:n.YO(n.Yj()).optional(),category:n.Yj().optional(),tags:n.YO(n.Yj()).optional(),relatedSkills:n.YO(n.Yj()).optional(),linkedFiles:n.YO(d).optional(),author:n.Yj().optional()}),u=e=>c.parse(e),p=e=>c.array().parse(e),m=e=>i.parse(e),x=e=>i.array().parse(e),b=e=>l.array().parse(e)}},e=>{e.O(0,[2231,5449,4879,9657,8441,1255,7358],()=>e(e.s=4093)),_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([[7620],{8684:(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,9026))},9026:(e,r,s)=>{"use strict";s.d(r,{MemoryScreen:()=>u});var d=s(5155),t=s(2115),n=s(8584),o=s(2604);function l(){var e,r,s,t,l,a,i,c;let{selectedProfileId:m,activeSessionId:x}=(0,o.j)(),u=(0,n.Ux)(m,x).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:"Context inspector"}),(0,d.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"See what the agent is currently using as session and profile context."}),u?(0,d.jsxs)("div",{className:"mt-4 space-y-4 text-sm",children:[(0,d.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Profile:"})," ",null!=(e=u.activeProfileId)?e:"none"]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Session:"})," ",null!=(s=null!=(r=u.activeSessionTitle)?r:u.activeSessionId)?s:"none"]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Preview:"})," ",null!=(t=u.activeSessionPreview)?t:"No preview captured yet."]})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Model:"})," ",null!=(l=u.model)?l:"n/a"]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Provider:"})," ",null!=(a=u.provider)?a:"n/a"]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Policy:"})," ",null!=(i=u.policyPreset)?i:"n/a"]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Memory mode:"})," ",null!=(c=u.memoryMode)?c:"n/a"]})]})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsx)("p",{className:"font-medium",children:"Loaded skills"}),(0,d.jsx)("p",{className:"mt-1 text-muted-foreground",children:u.loadedSkillIds.length?u.loadedSkillIds.join(", "):"None"})]}),(0,d.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsx)("p",{className:"font-medium",children:"User memory injected"}),(0,d.jsx)("p",{className:"mt-1 text-muted-foreground",children:u.userMemory.length?u.userMemory.join(" \xb7 "):"None"})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsx)("p",{className:"font-medium",children:"Agent memory injected"}),(0,d.jsx)("p",{className:"mt-1 text-muted-foreground",children:u.agentMemory.length?u.agentMemory.join(" \xb7 "):"None"})]})]})]}):null]})}var a=s(9068);let i=(0,s(1847).A)("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);function c(e){var r,s,o;let{scope:l}=e,c=(0,n.PA)(l),m=(0,n.I8)(l),[x,u]=(0,t.useState)(""),[h,b]=(0,t.useState)(!1),p=c.data,g=null!=(r=null==p?void 0:p.entries)?r:[],j=null!=(s=null==p?void 0:p.globalEntries)?s:[],f=null!=(o=null==p?void 0:p.raw)?o:"";async function N(){await m.mutateAsync(x),b(!0),setTimeout(()=>b(!1),2e3)}return(0,t.useEffect)(()=>{u(f)},[f]),(0,d.jsxs)("div",{className:"space-y-5",children:[j.length>0?(0,d.jsxs)("section",{className:"rounded-2xl border border-border/70 bg-card/60 p-5 shadow-sm",children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(a.A,{className:"h-4 w-4 text-blue-400"}),(0,d.jsxs)("h2",{className:"text-lg font-semibold",children:["Global ","user"===l?"user":"agent"," memory"]}),(0,d.jsx)("span",{className:"rounded-full bg-blue-500/10 px-2 py-0.5 text-3xs font-medium text-blue-400",children:"shared"})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background px-4 py-2 text-sm text-muted-foreground",children:[(0,d.jsx)("strong",{className:"text-foreground",children:j.length})," ",1===j.length?"entry":"entries"]})]}),(0,d.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Applies to all profiles. Stored at ~/.hermes/memories/. Read-only in this view."}),(0,d.jsx)("div",{className:"mt-3 space-y-2",children:j.map(e=>(0,d.jsx)("div",{className:"rounded-xl border border-border/50 bg-background/60 p-3 text-sm leading-relaxed text-muted-foreground",children:e.content},e.id))})]}):null,(0,d.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(i,{className:"h-4 w-4 text-primary"}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("h2",{className:"text-lg font-semibold",children:["Profile ","user"===l?"user":"agent"," memory"]}),(0,d.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Scoped to the current profile. Editable. Use \xa7 on its own line to separate entries."})]})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background px-4 py-3 text-sm text-muted-foreground",children:[(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{className:"text-foreground",children:"Entries:"})," ",g.length]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{className:"text-foreground",children:"Audience:"})," ","user"===l?"About the user":"About the agent and the environment"]})]})]}),(0,d.jsx)("div",{className:"mt-4 rounded-xl border border-border bg-background p-4 text-sm text-muted-foreground",children:"user"===l?"Keep only stable user preferences and facts that reduce future repetition. Avoid transient task details.":"Keep stable environment notes, conventions, and recurring workflow facts. Avoid one-off progress notes."}),(0,d.jsx)("textarea",{value:x,onChange:e=>u(e.target.value),className:"mt-4 min-h-64 w-full rounded-2xl border border-border bg-background p-4 font-mono text-sm leading-6 outline-none focus:border-primary"}),(0,d.jsxs)("div",{className:"mt-4 flex items-center justify-end gap-3",children:[h?(0,d.jsx)("span",{className:"text-sm text-emerald-400",children:"✓ Saved"}):null,m.isPending?(0,d.jsx)("span",{className:"text-sm text-muted-foreground",children:"Saving…"}):null,(0,d.jsxs)("button",{type:"button",onClick:()=>void N(),disabled:m.isPending,className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground disabled:opacity-50",children:["Save ",l," memory"]})]})]})]})}var m=s(63);function x(){var e,r,s;let l=(0,m.useRouter)(),{setActiveSessionId:a}=(0,o.j)(),[i,c]=(0,t.useState)(""),x=(0,n.SS)(i);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:"Session search"}),(0,d.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Search prior conversations independently from prompt memory."}),(0,d.jsx)("input",{value:i,onChange:e=>c(e.target.value),placeholder:"Search prior sessions…",className:"mt-4 w-full rounded-lg border border-input bg-background px-3 py-2 text-sm"}),(0,d.jsxs)("div",{className:"mt-4 space-y-3",children:[(null!=(r=x.data)?r:[]).map(e=>(0,d.jsxs)("button",{type:"button",onClick:()=>{a(e.id),l.push("/chat")},className:"block w-full rounded-xl border border-border bg-background p-4 text-left",children:[(0,d.jsx)("p",{className:"text-sm font-medium",children:e.title}),(0,d.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:e.preview})]},e.id)),i.trim()&&!x.isLoading&&(null!=(s=null==(e=x.data)?void 0:e.length)?s:0)===0?(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"No prior sessions matched that search."}):null]})]})}function u(){var e,r,s,a,i,m;let[u,h]=(0,t.useState)("user"),{selectedProfileId:b,activeSessionId:p}=(0,o.j)(),g=(0,n.Ux)(b,p).data;return(0,d.jsxs)("div",{className:"h-full overflow-y-auto space-y-6 p-4 lg:p-6",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h1",{className:"text-2xl font-semibold",children:"Memory"}),(0,d.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"Inspect prompt memory, search prior sessions, and review current context state."})]}),(0,d.jsxs)("section",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-4",children:[(0,d.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 shadow-sm",children:[(0,d.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Selected profile"}),(0,d.jsx)("p",{className:"mt-2 font-semibold",children:null!=(r=null!=(e=null==g?void 0:g.activeProfileId)?e:b)?r:"No profile"})]}),(0,d.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 shadow-sm",children:[(0,d.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Active session"}),(0,d.jsx)("p",{className:"mt-2 font-semibold",children:null!=(a=null!=(s=null==g?void 0:g.activeSessionTitle)?s:p)?a:"No session"})]}),(0,d.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 shadow-sm",children:[(0,d.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Loaded skills"}),(0,d.jsx)("p",{className:"mt-2 font-semibold",children:null!=(i=null==g?void 0:g.loadedSkillIds.length)?i:0})]}),(0,d.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 shadow-sm",children:[(0,d.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Memory mode"}),(0,d.jsx)("p",{className:"mt-2 font-semibold",children:null!=(m=null==g?void 0:g.memoryMode)?m:"standard"})]})]}),(0,d.jsxs)("section",{className:"grid gap-4 lg:grid-cols-2",children:[(0,d.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm text-sm text-muted-foreground",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:"Memory semantics"}),(0,d.jsxs)("div",{className:"mt-4 space-y-3",children:[(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsx)("p",{className:"font-medium text-foreground",children:"User memory"}),(0,d.jsx)("p",{className:"mt-1",children:"Durable facts about the human on the other side: preferences, identity, and stable habits worth carrying into future sessions."})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsx)("p",{className:"font-medium text-foreground",children:"Agent memory"}),(0,d.jsx)("p",{className:"mt-1",children:"Operational notes about the environment, conventions, and workflow details that help the agent behave consistently later."})]})]})]}),(0,d.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm text-sm text-muted-foreground",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:"Important behavior"}),(0,d.jsxs)("div",{className:"mt-4 space-y-3",children:[(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsx)("p",{className:"font-medium text-foreground",children:"Editing memory is durable"}),(0,d.jsx)("p",{className:"mt-1",children:"Changes are saved immediately and affect future sessions. The current session context remains what was already loaded unless you start a fresh thread."})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsx)("p",{className:"font-medium text-foreground",children:"Session search is not memory"}),(0,d.jsx)("p",{className:"mt-1",children:"Search lets you recover prior conversations without promoting them into persistent memory."})]})]})]})]}),(0,d.jsx)("div",{className:"flex flex-wrap gap-2",children:[["user","User memory"],["agent","Agent memory"],["search","Session search"],["context","Context inspector"]].map(e=>{let[r,s]=e;return(0,d.jsx)("button",{type:"button",onClick:()=>h(r),className:"rounded-lg px-4 py-2 text-sm ".concat(u===r?"bg-primary text-primary-foreground":"border border-border text-muted-foreground"),children:s},r)})}),"user"===u?(0,d.jsx)(c,{scope:"user"}):null,"agent"===u?(0,d.jsx)(c,{scope:"agent"}):null,"search"===u?(0,d.jsx)(x,{}):null,"context"===u?(0,d.jsx)(l,{}):null]})}},9068:(e,r,s)=>{"use strict";s.d(r,{A:()=>d});let d=(0,s(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,9657,8441,1255,7358],()=>e(e.s=8684)),_N_E=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([[501],{954:(e,s,r)=>{"use strict";r.d(s,{ApprovalsBrowser:()=>o});var d=r(5155),t=r(2115),l=r(5050),a=r(2604);function o(){var e;let{activeSessionId:s}=(0,a.j)(),[r,o]=(0,t.useState)(""),[n,i]=(0,t.useState)("pending"),c=(0,l.kv)(s,r,n),p=null!=(e=c.data)?e:[],m=(0,t.useMemo)(()=>p.filter(e=>"pending"===e.status).length,[p]),x=p.length-m;async function u(e,s){await fetch("/api/runtime/approvals/".concat(e),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:s})}),await c.refetch()}return(0,d.jsxs)("div",{className:"space-y-4 p-4 lg:p-6",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h1",{className:"text-2xl font-semibold",children:"Approvals"}),(0,d.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"Inspect and resolve pending approvals for the active session or across the runtime if no session is selected."})]}),(0,d.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,d.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Scope"}),(0,d.jsx)("p",{className:"mt-2 font-semibold",children:s?"Active session":"All runtime sessions"})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,d.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Pending"}),(0,d.jsx)("p",{className:"mt-2 font-semibold",children:m})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,d.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Resolved"}),(0,d.jsx)("p",{className:"mt-2 font-semibold",children:x})]})]}),(0,d.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,d.jsx)("input",{value:r,onChange:e=>o(e.target.value),placeholder:"Filter approvals",className:"rounded-lg border border-input bg-background px-3 py-2 text-sm"}),(0,d.jsxs)("select",{value:n,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 statuses"}),(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:"space-y-3",children:[p.map(e=>(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-sm font-medium",children:e.toolName}),(0,d.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:e.summary})]}),(0,d.jsx)("span",{className:"rounded-full border border-border px-2 py-1 text-xs text-muted-foreground",children:e.status})]}),(0,d.jsxs)("div",{className:"mt-3 grid gap-2 text-xs text-muted-foreground md:grid-cols-2",children:[(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{className:"text-foreground",children:"Session:"})," ",e.sessionId||"none"]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{className:"text-foreground",children:"Tool call:"})," ",e.toolCallId]})]}),"pending"===e.status?(0,d.jsxs)("div",{className:"mt-3 flex gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:()=>void u(e.toolCallId,"approved"),className:"rounded-lg border border-border px-3 py-2 text-sm",children:"Approve"}),(0,d.jsx)("button",{type:"button",onClick:()=>void u(e.toolCallId,"rejected"),className:"rounded-lg border border-border px-3 py-2 text-sm text-danger",children:"Reject"})]}):null]},e.toolCallId)),p.length?null:(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"No approvals matched the current filter."})]})]})}},6258:(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,954))}},e=>{e.O(0,[2231,5449,9657,8441,1255,7358],()=>e(e.s=6258)),_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([[4662],{492:(e,r,s)=>{"use strict";s.d(r,{$:()=>n});var t=s(2454),d=s(9678);function n(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return(0,t.I)({queryKey:["audit",e],queryFn:()=>(0,d.n)("/api/audit?query=".concat(encodeURIComponent(e))),select:e=>e.events})}},2841:(e,r,s)=>{"use strict";s.d(r,{SettingsScreen:()=>b});var t=s(5155),d=s(2619),n=s.n(d),l=s(7510),i=s(492);function a(){var e;let r=(0,i.$)();return(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:"Audit log"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Recent approvals, config changes, and profile or memory updates."}),(0,t.jsx)("div",{className:"mt-4 space-y-3",children:(null!=(e=r.data)?e:[]).map(e=>(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:e.action}),(0,t.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:[e.targetType," \xb7 ",e.targetId," \xb7 ",new Date(e.createdAt).toLocaleString()]}),(0,t.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:e.detail})]},e.id))})]})}var o=s(9896),c=s(3804),m=s(7773),u=s(592),x=s(4269);function h(){var e,r,s,d,n,l,i,a;let o=(0,u.w)();if(o.isLoading)return(0,t.jsx)(m.Gu,{message:"Inspecting runtime…"});if(o.isError)return(0,t.jsx)(m.W5,{message:o.error.message});if(!(null==(e=o.data)?void 0:e.available))return(0,t.jsx)(m.pp,{title:"Runtime not detected",description:"Set HERMES_HOME and install the Hermes runtime to enable live chat, skill, and extension views.",action:(0,t.jsx)("button",{type:"button",onClick:()=>void o.refetch(),className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-2 text-sm font-medium text-foreground",children:"Retry detection"})});let h=o.data;return(0,t.jsxs)("section",{className:"rounded-xl border border-border/70 bg-card/60 p-5 shadow-[var(--shadow-soft)]",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-3 md:flex-row md:items-start md:justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Runtime status"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Installed runtime, profile context, API reachability, memory files, and recent persisted sessions."})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:(0,x.cn)("inline-flex items-center rounded-full border px-3 py-1 text-xs font-medium",h.apiReachable?"border-success/30 bg-success/10 text-foreground":"border-warning/30 bg-warning/10 text-foreground"),children:h.apiReachable?"API reachable":"API unavailable"}),(0,t.jsxs)("button",{type:"button",onClick:()=>void o.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,t.jsx)(c.A,{className:"h-4 w-4"}),"Refresh"]})]})]}),(0,t.jsxs)("div",{className:"mt-4 grid gap-4 md:grid-cols-2",children:[(0,t.jsxs)("div",{className:"rounded-lg border border-border/70 bg-background/80 p-4 text-sm shadow-[var(--shadow-card)]",children:[(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Version:"})," ",h.hermesVersion]}),(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Binary:"})," ",h.hermesPath]}),(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Home:"})," ",h.hermesHome]}),(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Config:"})," ",h.configPath]}),(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Profile context:"})," ",null!=(n=null==(r=h.profileContext)?void 0:r.label)?n:"n/a"]})]}),(0,t.jsxs)("div",{className:"rounded-lg border border-border/70 bg-background/80 p-4 text-sm shadow-[var(--shadow-card)]",children:[(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Default model:"})," ",null!=(l=h.modelDefault)?l:"n/a"]}),(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Provider:"})," ",null!=(i=h.provider)?i:"n/a"]}),(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Memory provider:"})," ",null!=(a=h.memoryProvider)?a:"n/a"]}),(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Memory files:"})," ",(null==(s=h.memoryFilesPresent)?void 0:s.join(", "))||"none detected"]}),(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"API status:"})," ",h.apiMessage]})]})]}),(null==(d=h.remediationHints)?void 0:d.length)?(0,t.jsxs)("div",{className:"mt-4 rounded-lg border border-border/70 bg-background/80 p-4 text-sm shadow-[var(--shadow-card)]",children:[(0,t.jsx)("p",{className:"font-medium text-foreground",children:"Remediation hints"}),(0,t.jsx)("ul",{className:"mt-2 list-disc space-y-1 pl-5 text-muted-foreground",children:h.remediationHints.map(e=>(0,t.jsx)("li",{children:e},e))})]}):null]})}var p=s(2604);let g=[{href:"/settings/approvals",title:"Approvals browser",description:"Review blocked actions, reasons, and operator decisions."},{href:"/settings/runs",title:"Runs explorer",description:"Inspect durable run state, phases, artifacts, and failures."},{href:"/settings/telemetry",title:"Telemetry browser",description:"Trace client and server events for debugging and product insight."},{href:"/settings/audit",title:"Audit browser",description:"Search persistent governance and configuration changes."},{href:"/settings/health",title:"Runtime health",description:"Check runtime, provider, memory, and MCP remediation signals."},{href:"/settings/mcp-diagnostics",title:"MCP diagnostics",description:"Validate MCP servers, discovered tools, and probe failures."},{href:"/settings/artifacts",title:"Artifacts browser",description:"Browse files, plans, and outputs emitted by prior runs."}];function b(){var e,r,s,d,i,c,m,x,b,f,j,v;let{selectedProfileId:N}=(0,p.j)(),w=(0,l.Sj)(),y=(0,u.w)(),k=(0,l.Sn)(),P=null!=(m=null!=(i=(null!=(s=w.data)?s:[]).find(e=>e.id===N))?i:(null!=(d=w.data)?d:[]).find(e=>e.active))?m:(null!=(c=w.data)?c:[])[0],R=y.data;return(0,t.jsxs)("div",{className:"h-full overflow-y-auto space-y-6 p-4 lg:p-6",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("h1",{className:"text-2xl font-semibold",children:"Settings cockpit"}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Operate with explicit visibility into runtime state, policy posture, diagnostics, and durable history."})]}),(0,t.jsxs)("section",{className:"grid gap-4 lg:grid-cols-[1.2fr_0.8fr]",children:[(0,t.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Runtime posture"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"This panel tells you whether the runtime is live, which profile is active, and what the workspace can safely do right now."})]}),(0,t.jsxs)("div",{className:"grid gap-2 text-sm sm:grid-cols-2",children:[(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-background px-4 py-3",children:[(0,t.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Connection"}),(0,t.jsx)("p",{className:"mt-2 font-semibold",children:(null==R?void 0:R.apiReachable)?"Runtime live":(null==R?void 0:R.available)?"Runtime degraded":"Runtime unavailable"})]}),(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-background px-4 py-3",children:[(0,t.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Profile context"}),(0,t.jsx)("p",{className:"mt-2 font-semibold",children:null!=(b=null!=(x=null==R||null==(e=R.profileContext)?void 0:e.label)?x:null==R?void 0:R.activeProfile)?b:"Loading"})]}),(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-background px-4 py-3",children:[(0,t.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"MCP servers"}),(0,t.jsx)("p",{className:"mt-2 font-semibold",children:null!=(f=null==R?void 0:R.mcpServers.length)?f:0})]}),(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-background px-4 py-3",children:[(0,t.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Skills indexed"}),(0,t.jsx)("p",{className:"mt-2 font-semibold",children:null!=(j=null==R?void 0:R.skillsCount)?j:0})]})]})]}),(null==R||null==(r=R.remediationHints)?void 0:r.length)?(0,t.jsxs)("div",{className:"mt-4 rounded-xl border border-warning/30 bg-warning/10 p-4 text-sm text-foreground",children:[(0,t.jsx)("p",{className:"font-medium",children:"Recommended remediation"}),(0,t.jsx)("ul",{className:"mt-2 list-disc space-y-1 pl-5 text-muted-foreground",children:R.remediationHints.slice(0,4).map(e=>(0,t.jsx)("li",{children:e},e))})]}):null]}),P?(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:"Active profile policy"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"The selected profile controls memory scope, default guardrails, and which integrations are visible across the workspace."}),(0,t.jsxs)("div",{className:"mt-4 space-y-3 text-sm text-muted-foreground",children:[(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-background px-4 py-3",children:[(0,t.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Selected profile"}),(0,t.jsx)("p",{className:"mt-2 font-semibold text-foreground",children:P.name})]}),(0,t.jsx)(o.j,{value:null!=(v=P.policyPreset)?v:"safe-chat",onChange:e=>void k.mutateAsync({profileId:P.id,policyPreset:e})})]})]}):null]}),(0,t.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Operational browsers"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Dedicated operator views for approvals, runs, telemetry, audit, diagnostics, and generated outputs."})]}),(0,t.jsx)(n(),{href:"/settings/health",className:"rounded-xl border border-border bg-background px-4 py-2 text-sm font-medium",children:"Open diagnostics first"})]}),(0,t.jsx)("div",{className:"mt-4 grid gap-3 md:grid-cols-2 xl:grid-cols-3",children:g.map(e=>(0,t.jsxs)(n(),{href:e.href,className:"rounded-xl border border-border bg-background p-4 transition hover:bg-muted/40",children:[(0,t.jsx)("p",{className:"text-sm font-semibold",children:e.title}),(0,t.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:e.description})]},e.href))})]}),(0,t.jsx)(h,{}),(0,t.jsx)(a,{})]})}},3804:(e,r,s)=>{"use strict";s.d(r,{A:()=>t});let t=(0,s(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"}]])},7773:(e,r,s)=>{"use strict";s.d(r,{Gu:()=>d,W5:()=>l,pp:()=>n});var t=s(5155);function d(e){let{message:r="Loading…"}=e;return(0,t.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 n(e){let{title:r,description:s,action:d}=e;return(0,t.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,t.jsx)("p",{className:"font-semibold text-foreground",children:r}),(0,t.jsx)("p",{className:"mt-2 leading-6",children:s}),d?(0,t.jsx)("div",{className:"mt-4",children:d}):null]})}function l(e){let{message:r}=e;return(0,t.jsx)("div",{className:"rounded-lg border border-danger/30 bg-danger/10 p-4 text-sm text-foreground shadow-[var(--shadow-card)]",children:r})}},8458:(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,2841))},9896:(e,r,s)=>{"use strict";s.d(r,{j:()=>d});var t=s(5155);function d(e){let{value:r,onChange:s}=e;return(0,t.jsxs)("select",{value:r,onChange:e=>s(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,t.jsx)("option",{value:"safe-chat",children:"Safe Chat"}),(0,t.jsx)("option",{value:"research",children:"Research"}),(0,t.jsx)("option",{value:"builder",children:"Builder"}),(0,t.jsx)("option",{value:"full-power",children:"Full Power"})]})}}},e=>{e.O(0,[2231,5449,9657,8441,1255,7358],()=>e(e.s=8458)),_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([[8777],{2060:(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,3526))},2596:(e,s,r)=>{"use strict";r.d(s,{G:()=>l,o:()=>d});var t=r(2454),n=r(9678);function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return(0,t.I)({queryKey:["runtime-runs",e],queryFn:()=>(0,n.n)("/api/runtime/runs".concat(e?"?sessionId=".concat(encodeURIComponent(e)):"")),select:e=>e.runs})}function l(){return(0,t.I)({queryKey:["mcp-probe-results"],queryFn:()=>(0,n.n)("/api/runtime/mcp-probes"),select:e=>e.results})}},3526:(e,s,r)=>{"use strict";r.d(s,{RunsBrowser:()=>o});var t=r(5155),n=r(2619),d=r.n(n),l=r(2115),a=r(2604),i=r(2596);function o(){var e;let{activeSessionId:s}=(0,a.j)(),r=(0,i.o)(s),[n,o]=(0,l.useState)(""),c=null!=(e=r.data)?e:[],u=(0,l.useMemo)(()=>c.filter(e=>JSON.stringify(e).toLowerCase().includes(n.toLowerCase())),[n,c]),m=u.filter(e=>"failed"===e.status).length;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:"Runs explorer"}),(0,t.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"Inspect durable run state for the active session or the wider runtime."})]}),(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",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:"Scope"}),(0,t.jsx)("p",{className:"mt-2 font-semibold",children:s?"Active session":"All sessions"})]}),(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:"Runs"}),(0,t.jsx)("p",{className:"mt-2 font-semibold",children:u.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:"Failures"}),(0,t.jsx)("p",{className:"mt-2 font-semibold",children:m})]})]}),(0,t.jsx)("input",{value:n,onChange:e=>o(e.target.value),placeholder:"Filter runs",className:"rounded-lg border border-input bg-background px-3 py-2 text-sm"}),(0,t.jsxs)("div",{className:"space-y-3",children:[u.map(e=>{var s;return(0,t.jsxs)(d(),{href:"/settings/runs/".concat(String(e.id)),className:"block rounded-xl border border-border bg-card p-4 shadow-sm transition hover:bg-muted/30",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("p",{className:"text-sm font-medium",children:["Run ",String(e.id).slice(0,8)]}),(0,t.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["Source: ",String(e.source)," \xb7 Session: ",String(null!=(s=e.session_id)?s:"n/a")]})]}),(0,t.jsx)("span",{className:"rounded-full border border-border px-2 py-1 text-xs text-muted-foreground",children:String(e.status)})]}),(0,t.jsxs)("p",{className:"mt-2 text-xs text-muted-foreground",children:["Started: ",String(e.started_at)," \xb7 Updated: ",String(e.updated_at)]}),e.last_error?(0,t.jsx)("p",{className:"mt-2 text-sm text-danger",children:String(e.last_error)}):null]},String(e.id))}),u.length?null:(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"No runs matched the current filter."})]})]})}}},e=>{e.O(0,[2231,5449,9657,8441,1255,7358],()=>e(e.s=2060)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3726],{3649:(e,r,t)=>{"use strict";t.d(r,{TelemetryBrowser:()=>a});var s=t(5155),n=t(2115),l=t(2454),d=t(9678);function a(){var e;let[r,t]=(0,n.useState)(""),a=null!=(e=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200;return(0,l.I)({queryKey:["telemetry",e,r],queryFn:()=>(0,d.n)("/api/runtime/telemetry?query=".concat(encodeURIComponent(e),"&limit=").concat(r)),select:e=>e.events})}(r,200).data)?e:[],c=(0,n.useMemo)(()=>a.reduce((e,r)=>{var t,s;let n=String(null!=(t=r.source)?t:"unknown");return e[n]=(null!=(s=e[n])?s:0)+1,e},{}),[a]);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:"Telemetry browser"}),(0,s.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"Inspect persisted client and server telemetry events."})]}),(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 shadow-sm",children:[(0,s.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Events returned"}),(0,s.jsx)("p",{className:"mt-2 font-semibold",children:a.length})]}),(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm md:col-span-2",children:[(0,s.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Sources"}),(0,s.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:Object.entries(c).map(e=>{let[r,t]=e;return"".concat(r,": ").concat(t)}).join(" \xb7 ")||"No telemetry sources yet"})]})]}),(0,s.jsx)("input",{value:r,onChange:e=>t(e.target.value),placeholder:"Filter telemetry",className:"rounded-lg border border-input bg-background px-3 py-2 text-sm"}),(0,s.jsxs)("div",{className:"space-y-3",children:[a.map(e=>(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,s.jsx)("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:String(e.event)}),(0,s.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:[String(e.source)," \xb7 ",String(e.createdAt)]})]})}),(0,s.jsx)("pre",{className:"mt-2 overflow-x-auto whitespace-pre-wrap text-xs text-muted-foreground",children:JSON.stringify(e.payload,null,2)})]},String(e.id))),a.length?null:(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"No telemetry matched the current filter."})]})]})}},8088:(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,3649))}},e=>{e.O(0,[2231,5449,9657,8441,1255,7358],()=>e(e.s=8088)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7809],{155:(e,s,r)=>{"use strict";r.d(s,{SkillDetail:()=>y});var l=r(5155),t=r(2115),d=r(2619),n=r.n(d),a=r(63),o=r(1613),i=r(9715),c=r(8734);let x=(0,r(1847).A)("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);var m=r(7726),u=r(6288),p=r(9318);function h(e){let{skill:s,hasActiveSession:r,onInstall:t,onEnableToggle:d,onLoadIntoSession:n,onUninstall:a}=e,o="builtin"!==s.scope;return(0,l.jsxs)("div",{className:"flex flex-wrap gap-2",children:["builtin"===s.scope?(0,l.jsx)("button",{type:"button",onClick:t,className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground",children:o?"Install":"Copy to profile scope"}):null,s.scope&&"builtin"===s.scope?null:(0,l.jsx)("button",{type:"button",onClick:d,className:"rounded-lg border border-border px-4 py-2 text-sm",children:s.enabled?"Disable":"Enable"}),(0,l.jsx)("button",{type:"button",onClick:n,disabled:!r,className:"rounded-lg border border-border px-4 py-2 text-sm disabled:cursor-not-allowed disabled:opacity-50",children:"Load into current session"}),"builtin"!==s.scope?(0,l.jsx)("button",{type:"button",onClick:a,className:"rounded-lg border border-border px-4 py-2 text-sm text-danger",children:"Remove local copy"}):null]})}function b(e){let{content:s,readOnly:r,targetPath:d,scopeLabel:n,onSave:a}=e,[o,i]=(0,t.useState)(s),[c,x]=(0,t.useState)(!1);(0,t.useEffect)(()=>{i(s)},[s]);let m=o!==s,u=(0,t.useMemo)(()=>o.split("\n").length,[o]);return(0,l.jsxs)("div",{className:"space-y-3",children:[(0,l.jsxs)("div",{className:"rounded-xl border border-border bg-background p-3 text-xs text-muted-foreground",children:[(0,l.jsxs)("p",{children:[(0,l.jsx)("strong",{children:"Edit mode:"})," ",r?"Read-only until copied into profile scope.":"Saving writes the local SKILL.md file directly."]}),n?(0,l.jsxs)("p",{className:"mt-1",children:[(0,l.jsx)("strong",{children:"Target scope:"})," ",n]}):null,d?(0,l.jsxs)("p",{className:"mt-1 break-all",children:[(0,l.jsx)("strong",{children:"Target path:"})," ",d]}):null,(0,l.jsxs)("p",{className:"mt-1",children:[(0,l.jsx)("strong",{children:"Validation:"})," YAML frontmatter and body content are checked before save."]})]}),(0,l.jsx)("textarea",{value:o,onChange:e=>i(e.target.value),readOnly:r,className:"min-h-72 w-full rounded-2xl border border-border bg-card p-4 font-mono text-sm outline-none focus:border-primary"}),(0,l.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,l.jsxs)("p",{className:"text-xs text-muted-foreground",children:[u," lines ",m?"\xb7 unsaved changes":"\xb7 no local changes"]}),(0,l.jsx)("button",{type:"button",onClick:async()=>{x(!0);try{await a(o)}finally{x(!1)}},disabled:r||!m||c,className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground disabled:cursor-not-allowed disabled:opacity-50",children:c?"Saving…":"Save skill"})]})]})}var g=r(685),f=r(2604);function j(e){let{skillId:s,filePath:r}=e,t=(0,p.Qc)(s,r);return t.isLoading?(0,l.jsxs)("div",{className:"rounded-xl border border-border/70 bg-background/60 p-4 text-sm text-muted-foreground",children:["Loading ",r,"…"]}):t.error||!t.data?(0,l.jsxs)("div",{className:"rounded-xl border border-danger/30 bg-danger/5 p-4 text-sm text-muted-foreground",children:["Failed to load ",r]}):(0,l.jsxs)("div",{className:"rounded-xl border border-border/70 bg-background/60",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2 border-b border-border/50 px-4 py-2 text-xs text-muted-foreground",children:[(0,l.jsx)(o.A,{className:"h-3.5 w-3.5"}),(0,l.jsx)("span",{className:"font-medium text-foreground",children:r}),(0,l.jsxs)("span",{className:"ml-auto",children:[t.data.content.split("\n").length," lines"]})]}),(0,l.jsx)("pre",{className:"max-h-[400px] overflow-auto px-4 py-3 text-xs leading-6",children:(0,l.jsx)("code",{children:t.data.content})})]})}let N={references:(0,l.jsx)(i.A,{className:"h-3.5 w-3.5"}),templates:(0,l.jsx)(c.A,{className:"h-3.5 w-3.5"}),scripts:(0,l.jsx)(x,{className:"h-3.5 w-3.5"}),assets:(0,l.jsx)(o.A,{className:"h-3.5 w-3.5"})};function y(e){var s,r,d,i,x,y,v;let{skillId:k}=e,w=(0,a.useRouter)(),S=(0,a.useSearchParams)().get("session"),I=(0,p.Pt)(k),L=(0,p.I3)(),A=(0,p.aO)(),C=(0,p.b_)(),P=(0,p.F8)(),O=(0,p.hL)(),{activeSessionId:E,setActiveSessionId:R,rememberLoadedSkillInSession:_}=(0,f.j)(),T=null!=S?S:E,[U,V]=(0,t.useState)(null);(0,t.useEffect)(()=>{S&&(S!==E&&R(S),w.replace("/skills/".concat(k),{scroll:!1}))},[E,S,w,R,k]);let F=(0,u.wV)(T);if(I.isLoading||!I.data)return(0,l.jsx)("div",{className:"p-4 text-sm text-muted-foreground lg:p-6",children:"Loading skill…"});let q=I.data,D=!!(null==(r=F.data)||null==(s=r.loadedSkillIds)?void 0:s.includes(q.id)),J="builtin"===q.scope,K={};for(let e of null!=(y=q.linkedFiles)?y:[])K[e.group]||(K[e.group]=[]),K[e.group].push(e);return(0,l.jsxs)("div",{className:"h-full overflow-y-auto space-y-6 p-4 lg:p-6",children:[(0,l.jsx)(n(),{href:T?"/skills?session=".concat(encodeURIComponent(T)):"/skills",className:"text-sm text-muted-foreground hover:text-foreground",children:"← Back to Skills"}),(0,l.jsxs)("div",{className:"space-y-3",children:[(0,l.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[(0,l.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,g.VJ)(q.scope,q.ownerProfileId)}),(0,l.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,g.CV)(q.provenance)}),(0,l.jsxs)("span",{className:"rounded-full border border-border px-2 py-1",children:["v",null!=(v=q.version)?v:"unversioned"]}),(0,l.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:q.enabled?"Enabled":"Disabled"}),D?(0,l.jsx)("span",{className:"rounded-full bg-primary/10 px-2 py-1 text-foreground",children:"Loaded in current session"}):null,q.category?(0,l.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-primary/20 bg-primary/5 px-2 py-1",children:[(0,l.jsx)(c.A,{className:"h-3 w-3"}),q.category]}):null,q.author?(0,l.jsxs)("span",{className:"rounded-full border border-border px-2 py-1",children:["by ",q.author]}):null]}),(0,l.jsx)("h1",{className:"text-2xl font-semibold",children:q.name}),(0,l.jsx)("p",{className:"text-sm text-muted-foreground",children:q.description}),q.tags&&q.tags.length>0?(0,l.jsx)("div",{className:"flex flex-wrap gap-1.5",children:q.tags.map(e=>(0,l.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-lg bg-primary/8 px-2 py-1 text-xs text-muted-foreground",children:[(0,l.jsx)(m.A,{className:"h-3 w-3"}),e]},e))}):null,(0,l.jsx)(h,{skill:q,hasActiveSession:!!T,onInstall:()=>void L.mutateAsync(q.id),onEnableToggle:()=>void A.mutateAsync({skillId:q.id,enabled:!q.enabled}),onLoadIntoSession:()=>{T&&(R(T),_(T,q.id),w.replace("/skills/".concat(k,"?session=").concat(encodeURIComponent(T),"&loadedSkill=").concat(encodeURIComponent(q.id)),{scroll:!1}),P.mutateAsync({skillId:q.id,sessionId:T}))},onUninstall:()=>void O.mutateAsync(q.id)}),T?(0,l.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Current chat session available: ",T,D?" \xb7 skill already loaded":""]}):(0,l.jsx)("p",{className:"text-xs text-muted-foreground",children:"Open Chat and select a session before loading a skill into it."})]}),(0,l.jsxs)("section",{className:"grid gap-4 xl:grid-cols-[1.2fr_0.8fr]",children:[(0,l.jsxs)("div",{className:"space-y-4",children:[(0,l.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,l.jsx)("h2",{className:"text-lg font-semibold",children:"Skill source"}),(0,l.jsxs)("p",{className:"mt-1 text-sm text-muted-foreground",children:["SKILL.md — ",q.content.split("\n").length," lines",q.filePath?" \xb7 ".concat(q.filePath):""]}),(0,l.jsx)("div",{className:"mt-4",children:(0,l.jsx)(b,{content:q.content,readOnly:J,targetPath:q.filePath,scopeLabel:(0,g.VJ)(q.scope,q.ownerProfileId),onSave:async e=>{await C.mutateAsync({skillId:q.id,content:e})}})})]}),Object.keys(K).length>0?(0,l.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,l.jsx)("h2",{className:"text-lg font-semibold",children:"Linked files"}),(0,l.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Supporting references, templates, and scripts bundled with this skill."}),(0,l.jsx)("div",{className:"mt-4 space-y-3",children:Object.entries(K).map(e=>{var s;let[r,t]=e;return(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"flex items-center gap-2 text-xs font-semibold uppercase tracking-wider text-muted-foreground",children:[null!=(s=N[r])?s:(0,l.jsx)(o.A,{className:"h-3.5 w-3.5"}),r," (",t.length,")"]}),(0,l.jsx)("div",{className:"mt-2 flex flex-wrap gap-2",children:t.map(e=>(0,l.jsx)("button",{type:"button",onClick:()=>V(U===e.path?null:e.path),className:"rounded-lg border px-3 py-1.5 text-xs font-medium transition ".concat(U===e.path?"border-primary/40 bg-primary/10 text-foreground":"border-border/60 text-muted-foreground hover:bg-muted/40"),children:e.name},e.path))})]},r)})}),U?(0,l.jsx)("div",{className:"mt-4",children:(0,l.jsx)(j,{skillId:k,filePath:U})}):null]}):null]}),(0,l.jsxs)("div",{className:"space-y-4",children:[(0,l.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,l.jsx)("h2",{className:"text-lg font-semibold",children:"Session impact"}),(0,l.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"Skills attach reusable instructions and can imply tool requirements for the current workspace."}),(0,l.jsxs)("div",{className:"mt-4 space-y-2 text-sm text-muted-foreground",children:[(0,l.jsxs)("p",{children:[(0,l.jsx)("strong",{className:"text-foreground",children:"Owner:"})," ",(0,g.VJ)(q.scope,q.ownerProfileId)]}),(0,l.jsxs)("p",{children:[(0,l.jsx)("strong",{className:"text-foreground",children:"Updated:"})," ",q.updatedAt?new Date(q.updatedAt).toLocaleString():"Unknown"]}),(0,l.jsxs)("p",{children:[(0,l.jsx)("strong",{className:"text-foreground",children:"Loaded sessions:"})," ",(null==(d=q.loadedInSessions)?void 0:d.length)?q.loadedInSessions.join(", "):"None recorded yet"]}),(null==(i=q.linkedFiles)?void 0:i.length)?(0,l.jsxs)("p",{children:[(0,l.jsx)("strong",{className:"text-foreground",children:"Linked files:"})," ",q.linkedFiles.length," (",Object.entries(K).map(e=>{let[s,r]=e;return"".concat(r.length," ").concat(s)}).join(", "),")"]}):null]})]}),(0,l.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,l.jsx)("h2",{className:"text-lg font-semibold",children:"Tool expectations"}),(0,l.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"Rendered only from available metadata. No capability assumptions are fabricated."}),(0,l.jsx)("div",{className:"mt-4 flex flex-wrap gap-2",children:((null==(x=q.impliedTools)?void 0:x.length)?q.impliedTools:["No declared tool dependencies"]).map(e=>(0,l.jsx)("span",{className:"rounded-full border border-border px-2 py-1 text-xs text-muted-foreground",children:e},e))})]}),q.relatedSkills&&q.relatedSkills.length>0?(0,l.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,l.jsx)("h2",{className:"text-lg font-semibold",children:"Related skills"}),(0,l.jsx)("div",{className:"mt-3 flex flex-wrap gap-2",children:q.relatedSkills.map(e=>(0,l.jsx)(n(),{href:"/skills/".concat(e),className:"rounded-lg border border-border/60 px-3 py-1.5 text-xs font-medium text-muted-foreground transition hover:bg-muted/40 hover:text-foreground",children:e},e))})]}):null]})]})]})}},4609:(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,155))}},e=>{e.O(0,[2231,5449,4879,9657,1309,8441,1255,7358],()=>e(e.s=4609)),_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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7358],{3033:(e,s,n)=>{Promise.resolve().then(n.t.bind(n,7150,23)),Promise.resolve().then(n.t.bind(n,1959,23)),Promise.resolve().then(n.t.bind(n,7989,23)),Promise.resolve().then(n.t.bind(n,3886,23)),Promise.resolve().then(n.t.bind(n,9766,23)),Promise.resolve().then(n.t.bind(n,5278,23)),Promise.resolve().then(n.t.bind(n,8924,23)),Promise.resolve().then(n.t.bind(n,4431,23)),Promise.resolve().then(n.bind(n,622))},9393:()=>{}},e=>{var s=s=>e(e.s=s);e.O(0,[8441,1255],()=>(s(1666),s(3033))),_N_E=e.O()}]);