@euraika-labs/pan-ui 0.2.4 → 0.5.0

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 (460) hide show
  1. package/.next/standalone/node_modules/next/node_modules/postcss/package.json +0 -0
  2. package/.next/standalone/package.json +7 -1
  3. package/.next/standalone/server.js +1 -1
  4. package/.next/static/H9AHLxE6FxdsWBnoBgfVx/_buildManifest.js +1 -0
  5. package/.next/{standalone/.next/static/chunks/5449-aba2dafba76d4508.js → static/chunks/4611-6b95c4a66713a3f3.js} +1 -1
  6. package/.next/static/chunks/5097-0a676d90b3a410e0.js +1 -0
  7. package/.next/{standalone/.next/static/chunks/app/_not-found/page-9c90a6b39424f003.js → static/chunks/app/_not-found/page-c4591bba1afe868d.js} +1 -1
  8. package/.next/{standalone/.next/static/chunks/app/api/audit/route-bb3f5b9060cdc631.js → static/chunks/app/api/audit/route-bc3ee2d6661cba9d.js} +1 -1
  9. package/.next/{standalone/.next/static/chunks/app/api/auth/login/route-bb3f5b9060cdc631.js → static/chunks/app/api/auth/login/route-bc3ee2d6661cba9d.js} +1 -1
  10. package/.next/{standalone/.next/static/chunks/app/api/auth/logout/route-bb3f5b9060cdc631.js → static/chunks/app/api/auth/logout/route-bc3ee2d6661cba9d.js} +1 -1
  11. package/.next/{standalone/.next/static/chunks/app/api/chat/sessions/[id]/fork/route-bb3f5b9060cdc631.js → static/chunks/app/api/chat/sessions/[id]/fork/route-bc3ee2d6661cba9d.js} +1 -1
  12. package/.next/static/chunks/app/api/chat/sessions/[id]/route-bc3ee2d6661cba9d.js +1 -0
  13. package/.next/static/chunks/app/api/chat/sessions/route-bc3ee2d6661cba9d.js +1 -0
  14. package/.next/static/chunks/app/api/chat/stream/route-bc3ee2d6661cba9d.js +1 -0
  15. package/.next/static/chunks/app/api/extensions/[id]/capabilities/[capabilityId]/route-bc3ee2d6661cba9d.js +1 -0
  16. package/.next/static/chunks/app/api/extensions/[id]/route-bc3ee2d6661cba9d.js +1 -0
  17. package/.next/static/chunks/app/api/extensions/[id]/test/route-bc3ee2d6661cba9d.js +1 -0
  18. package/.next/static/chunks/app/api/extensions/mcp/route-bc3ee2d6661cba9d.js +1 -0
  19. package/.next/static/chunks/app/api/extensions/route-bc3ee2d6661cba9d.js +1 -0
  20. package/.next/static/chunks/app/api/memory/agent/route-bc3ee2d6661cba9d.js +1 -0
  21. package/.next/static/chunks/app/api/memory/context-inspector/route-bc3ee2d6661cba9d.js +1 -0
  22. package/.next/static/chunks/app/api/memory/session-search/route-bc3ee2d6661cba9d.js +1 -0
  23. package/.next/static/chunks/app/api/memory/user/route-bc3ee2d6661cba9d.js +1 -0
  24. package/.next/static/chunks/app/api/profiles/[id]/config/route-bc3ee2d6661cba9d.js +1 -0
  25. package/.next/static/chunks/app/api/profiles/[id]/route-bc3ee2d6661cba9d.js +1 -0
  26. package/.next/static/chunks/app/api/profiles/route-bc3ee2d6661cba9d.js +1 -0
  27. package/.next/static/chunks/app/api/runtime/approvals/[toolCallId]/route-bc3ee2d6661cba9d.js +1 -0
  28. package/.next/static/chunks/app/api/runtime/approvals/route-bc3ee2d6661cba9d.js +1 -0
  29. package/.next/static/chunks/app/api/runtime/artifacts/download/route-bc3ee2d6661cba9d.js +1 -0
  30. package/.next/static/chunks/app/api/runtime/artifacts/route-bc3ee2d6661cba9d.js +1 -0
  31. package/.next/static/chunks/app/api/runtime/export/route-bc3ee2d6661cba9d.js +1 -0
  32. package/.next/static/chunks/app/api/runtime/health/route-bc3ee2d6661cba9d.js +1 -0
  33. package/.next/static/chunks/app/api/runtime/mcp-probes/route-bc3ee2d6661cba9d.js +1 -0
  34. package/.next/static/chunks/app/api/runtime/runs/[id]/route-bc3ee2d6661cba9d.js +1 -0
  35. package/.next/static/chunks/app/api/runtime/runs/route-bc3ee2d6661cba9d.js +1 -0
  36. package/.next/static/chunks/app/api/runtime/status/route-bc3ee2d6661cba9d.js +1 -0
  37. package/.next/static/chunks/app/api/runtime/telemetry/route-bc3ee2d6661cba9d.js +1 -0
  38. package/.next/static/chunks/app/api/runtime/timeline/route-bc3ee2d6661cba9d.js +1 -0
  39. package/.next/static/chunks/app/api/runtime/update-check/route-bc3ee2d6661cba9d.js +1 -0
  40. package/.next/static/chunks/app/api/skills/[id]/disable/route-bc3ee2d6661cba9d.js +1 -0
  41. package/.next/static/chunks/app/api/skills/[id]/enable/route-bc3ee2d6661cba9d.js +1 -0
  42. package/.next/static/chunks/app/api/skills/[id]/files/route-bc3ee2d6661cba9d.js +1 -0
  43. package/.next/static/chunks/app/api/skills/[id]/install/route-bc3ee2d6661cba9d.js +1 -0
  44. package/.next/static/chunks/app/api/skills/[id]/load/route-bc3ee2d6661cba9d.js +1 -0
  45. package/.next/static/chunks/app/api/skills/[id]/route-bc3ee2d6661cba9d.js +1 -0
  46. package/.next/static/chunks/app/api/skills/catalog/route-bc3ee2d6661cba9d.js +1 -0
  47. package/.next/static/chunks/app/api/skills/categories/route-bc3ee2d6661cba9d.js +1 -0
  48. package/.next/static/chunks/app/api/skills/hub/install/route-bc3ee2d6661cba9d.js +1 -0
  49. package/.next/static/chunks/app/api/skills/hub/route-bc3ee2d6661cba9d.js +1 -0
  50. package/.next/static/chunks/app/api/skills/route-bc3ee2d6661cba9d.js +1 -0
  51. package/.next/static/chunks/app/api/telemetry/route-bc3ee2d6661cba9d.js +1 -0
  52. package/.next/static/chunks/app/api/uploads/route-bc3ee2d6661cba9d.js +1 -0
  53. package/.next/static/chunks/app/chat/page-fc4e161d14189132.js +1 -0
  54. package/.next/static/chunks/app/extensions/[id]/page-29eb52748adffbe1.js +1 -0
  55. package/.next/static/chunks/app/extensions/{page-c0fbb8efa9a3700c.js → page-6c558f23e432e258.js} +1 -1
  56. package/.next/static/chunks/app/layout-f3c578dd4202f2f5.js +1 -0
  57. package/.next/static/chunks/app/login/page-a3820386479beb5e.js +1 -0
  58. package/.next/static/chunks/app/memory/page-25758dcc848051cd.js +1 -0
  59. package/.next/static/chunks/app/page-bc3ee2d6661cba9d.js +1 -0
  60. package/.next/static/chunks/app/profiles/page-d30d62bab24f9586.js +1 -0
  61. package/.next/static/chunks/app/settings/approvals/{page-6843c585791e4db7.js → page-584452b077852c52.js} +1 -1
  62. package/.next/static/chunks/app/settings/artifacts/page-ca8b5d224787c098.js +1 -0
  63. package/.next/{standalone/.next/static/chunks/app/settings/audit/page-378bee43dd7c4903.js → static/chunks/app/settings/audit/page-26646388ec7f31a8.js} +1 -1
  64. package/.next/static/chunks/app/settings/health/page-28a2e023528ccd90.js +1 -0
  65. package/.next/static/chunks/app/settings/mcp-diagnostics/page-16915e0e513e44f7.js +1 -0
  66. package/.next/{standalone/.next/static/chunks/app/settings/page-8a40bdf895f43430.js → static/chunks/app/settings/page-e5a118618f94a163.js} +1 -1
  67. package/.next/static/chunks/app/settings/runs/[id]/page-936ee45da0921cdd.js +1 -0
  68. package/.next/static/chunks/app/settings/runs/page-2b170e0de57aeaa9.js +1 -0
  69. package/.next/{standalone/.next/static/chunks/app/settings/telemetry/page-c0446baefa5496cb.js → static/chunks/app/settings/telemetry/page-ff92d728e128b25a.js} +1 -1
  70. package/.next/static/chunks/app/skills/[id]/page-2858305b3f82198b.js +1 -0
  71. package/.next/static/chunks/app/skills/page-ce19f262a41f5924.js +1 -0
  72. package/.next/{standalone/.next/static/chunks/main-app-a9e2c007d433eaf9.js → static/chunks/main-app-f0e3f2828aa879c4.js} +1 -1
  73. package/.next/static/css/c673dd080485d07a.css +3 -0
  74. package/README.md +167 -144
  75. package/bin/pan-ui.mjs +565 -64
  76. package/hermes.version.json +17 -0
  77. package/package.json +7 -1
  78. package/.env.example +0 -30
  79. package/.next/standalone/.next/BUILD_ID +0 -1
  80. package/.next/standalone/.next/app-build-manifest.json +0 -508
  81. package/.next/standalone/.next/app-path-routes-manifest.json +0 -67
  82. package/.next/standalone/.next/build-manifest.json +0 -33
  83. package/.next/standalone/.next/package.json +0 -1
  84. package/.next/standalone/.next/prerender-manifest.json +0 -119
  85. package/.next/standalone/.next/react-loadable-manifest.json +0 -1
  86. package/.next/standalone/.next/required-server-files.json +0 -321
  87. package/.next/standalone/.next/routes-manifest.json +0 -295
  88. package/.next/standalone/.next/server/app/_not-found/page.js +0 -2
  89. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +0 -1
  90. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +0 -1
  91. package/.next/standalone/.next/server/app/_not-found.html +0 -1
  92. package/.next/standalone/.next/server/app/_not-found.meta +0 -8
  93. package/.next/standalone/.next/server/app/_not-found.rsc +0 -18
  94. package/.next/standalone/.next/server/app/api/audit/route.js +0 -36
  95. package/.next/standalone/.next/server/app/api/audit/route.js.nft.json +0 -1
  96. package/.next/standalone/.next/server/app/api/audit/route_client-reference-manifest.js +0 -1
  97. package/.next/standalone/.next/server/app/api/auth/login/route.js +0 -1
  98. package/.next/standalone/.next/server/app/api/auth/login/route.js.nft.json +0 -1
  99. package/.next/standalone/.next/server/app/api/auth/login/route_client-reference-manifest.js +0 -1
  100. package/.next/standalone/.next/server/app/api/auth/logout/route.js +0 -1
  101. package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +0 -1
  102. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +0 -1
  103. package/.next/standalone/.next/server/app/api/chat/sessions/[id]/fork/route.js +0 -1
  104. package/.next/standalone/.next/server/app/api/chat/sessions/[id]/fork/route.js.nft.json +0 -1
  105. package/.next/standalone/.next/server/app/api/chat/sessions/[id]/fork/route_client-reference-manifest.js +0 -1
  106. package/.next/standalone/.next/server/app/api/chat/sessions/[id]/route.js +0 -1
  107. package/.next/standalone/.next/server/app/api/chat/sessions/[id]/route.js.nft.json +0 -1
  108. package/.next/standalone/.next/server/app/api/chat/sessions/[id]/route_client-reference-manifest.js +0 -1
  109. package/.next/standalone/.next/server/app/api/chat/sessions/route.js +0 -1
  110. package/.next/standalone/.next/server/app/api/chat/sessions/route.js.nft.json +0 -1
  111. package/.next/standalone/.next/server/app/api/chat/sessions/route_client-reference-manifest.js +0 -1
  112. package/.next/standalone/.next/server/app/api/chat/stream/route.js +0 -170
  113. package/.next/standalone/.next/server/app/api/chat/stream/route.js.nft.json +0 -1
  114. package/.next/standalone/.next/server/app/api/chat/stream/route_client-reference-manifest.js +0 -1
  115. package/.next/standalone/.next/server/app/api/extensions/[id]/capabilities/[capabilityId]/route.js +0 -1
  116. package/.next/standalone/.next/server/app/api/extensions/[id]/capabilities/[capabilityId]/route.js.nft.json +0 -1
  117. package/.next/standalone/.next/server/app/api/extensions/[id]/capabilities/[capabilityId]/route_client-reference-manifest.js +0 -1
  118. package/.next/standalone/.next/server/app/api/extensions/[id]/route.js +0 -1
  119. package/.next/standalone/.next/server/app/api/extensions/[id]/route.js.nft.json +0 -1
  120. package/.next/standalone/.next/server/app/api/extensions/[id]/route_client-reference-manifest.js +0 -1
  121. package/.next/standalone/.next/server/app/api/extensions/[id]/test/route.js +0 -1
  122. package/.next/standalone/.next/server/app/api/extensions/[id]/test/route.js.nft.json +0 -1
  123. package/.next/standalone/.next/server/app/api/extensions/[id]/test/route_client-reference-manifest.js +0 -1
  124. package/.next/standalone/.next/server/app/api/extensions/mcp/route.js +0 -11
  125. package/.next/standalone/.next/server/app/api/extensions/mcp/route.js.nft.json +0 -1
  126. package/.next/standalone/.next/server/app/api/extensions/mcp/route_client-reference-manifest.js +0 -1
  127. package/.next/standalone/.next/server/app/api/extensions/route.js +0 -1
  128. package/.next/standalone/.next/server/app/api/extensions/route.js.nft.json +0 -1
  129. package/.next/standalone/.next/server/app/api/extensions/route_client-reference-manifest.js +0 -1
  130. package/.next/standalone/.next/server/app/api/memory/agent/route.js +0 -36
  131. package/.next/standalone/.next/server/app/api/memory/agent/route.js.nft.json +0 -1
  132. package/.next/standalone/.next/server/app/api/memory/agent/route_client-reference-manifest.js +0 -1
  133. package/.next/standalone/.next/server/app/api/memory/context-inspector/route.js +0 -1
  134. package/.next/standalone/.next/server/app/api/memory/context-inspector/route.js.nft.json +0 -1
  135. package/.next/standalone/.next/server/app/api/memory/context-inspector/route_client-reference-manifest.js +0 -1
  136. package/.next/standalone/.next/server/app/api/memory/session-search/route.js +0 -1
  137. package/.next/standalone/.next/server/app/api/memory/session-search/route.js.nft.json +0 -1
  138. package/.next/standalone/.next/server/app/api/memory/session-search/route_client-reference-manifest.js +0 -1
  139. package/.next/standalone/.next/server/app/api/memory/user/route.js +0 -36
  140. package/.next/standalone/.next/server/app/api/memory/user/route.js.nft.json +0 -1
  141. package/.next/standalone/.next/server/app/api/memory/user/route_client-reference-manifest.js +0 -1
  142. package/.next/standalone/.next/server/app/api/profiles/[id]/config/route.js +0 -92
  143. package/.next/standalone/.next/server/app/api/profiles/[id]/config/route.js.nft.json +0 -1
  144. package/.next/standalone/.next/server/app/api/profiles/[id]/config/route_client-reference-manifest.js +0 -1
  145. package/.next/standalone/.next/server/app/api/profiles/[id]/route.js +0 -31
  146. package/.next/standalone/.next/server/app/api/profiles/[id]/route.js.nft.json +0 -1
  147. package/.next/standalone/.next/server/app/api/profiles/[id]/route_client-reference-manifest.js +0 -1
  148. package/.next/standalone/.next/server/app/api/profiles/route.js +0 -31
  149. package/.next/standalone/.next/server/app/api/profiles/route.js.nft.json +0 -1
  150. package/.next/standalone/.next/server/app/api/profiles/route_client-reference-manifest.js +0 -1
  151. package/.next/standalone/.next/server/app/api/runtime/approvals/[toolCallId]/route.js +0 -133
  152. package/.next/standalone/.next/server/app/api/runtime/approvals/[toolCallId]/route.js.nft.json +0 -1
  153. package/.next/standalone/.next/server/app/api/runtime/approvals/[toolCallId]/route_client-reference-manifest.js +0 -1
  154. package/.next/standalone/.next/server/app/api/runtime/approvals/route.js +0 -133
  155. package/.next/standalone/.next/server/app/api/runtime/approvals/route.js.nft.json +0 -1
  156. package/.next/standalone/.next/server/app/api/runtime/approvals/route_client-reference-manifest.js +0 -1
  157. package/.next/standalone/.next/server/app/api/runtime/artifacts/download/route.js +0 -133
  158. package/.next/standalone/.next/server/app/api/runtime/artifacts/download/route.js.nft.json +0 -1
  159. package/.next/standalone/.next/server/app/api/runtime/artifacts/download/route_client-reference-manifest.js +0 -1
  160. package/.next/standalone/.next/server/app/api/runtime/artifacts/route.js +0 -133
  161. package/.next/standalone/.next/server/app/api/runtime/artifacts/route.js.nft.json +0 -1
  162. package/.next/standalone/.next/server/app/api/runtime/artifacts/route_client-reference-manifest.js +0 -1
  163. package/.next/standalone/.next/server/app/api/runtime/export/route.js +0 -143
  164. package/.next/standalone/.next/server/app/api/runtime/export/route.js.nft.json +0 -1
  165. package/.next/standalone/.next/server/app/api/runtime/export/route_client-reference-manifest.js +0 -1
  166. package/.next/standalone/.next/server/app/api/runtime/health/route.js +0 -18
  167. package/.next/standalone/.next/server/app/api/runtime/health/route.js.nft.json +0 -1
  168. package/.next/standalone/.next/server/app/api/runtime/health/route_client-reference-manifest.js +0 -1
  169. package/.next/standalone/.next/server/app/api/runtime/mcp-probes/route.js +0 -133
  170. package/.next/standalone/.next/server/app/api/runtime/mcp-probes/route.js.nft.json +0 -1
  171. package/.next/standalone/.next/server/app/api/runtime/mcp-probes/route_client-reference-manifest.js +0 -1
  172. package/.next/standalone/.next/server/app/api/runtime/runs/[id]/route.js +0 -51
  173. package/.next/standalone/.next/server/app/api/runtime/runs/[id]/route.js.nft.json +0 -1
  174. package/.next/standalone/.next/server/app/api/runtime/runs/[id]/route_client-reference-manifest.js +0 -1
  175. package/.next/standalone/.next/server/app/api/runtime/runs/route.js +0 -51
  176. package/.next/standalone/.next/server/app/api/runtime/runs/route.js.nft.json +0 -1
  177. package/.next/standalone/.next/server/app/api/runtime/runs/route_client-reference-manifest.js +0 -1
  178. package/.next/standalone/.next/server/app/api/runtime/status/route.js +0 -18
  179. package/.next/standalone/.next/server/app/api/runtime/status/route.js.nft.json +0 -1
  180. package/.next/standalone/.next/server/app/api/runtime/status/route_client-reference-manifest.js +0 -1
  181. package/.next/standalone/.next/server/app/api/runtime/telemetry/route.js +0 -133
  182. package/.next/standalone/.next/server/app/api/runtime/telemetry/route.js.nft.json +0 -1
  183. package/.next/standalone/.next/server/app/api/runtime/telemetry/route_client-reference-manifest.js +0 -1
  184. package/.next/standalone/.next/server/app/api/runtime/timeline/route.js +0 -133
  185. package/.next/standalone/.next/server/app/api/runtime/timeline/route.js.nft.json +0 -1
  186. package/.next/standalone/.next/server/app/api/runtime/timeline/route_client-reference-manifest.js +0 -1
  187. package/.next/standalone/.next/server/app/api/skills/[id]/disable/route.js +0 -1
  188. package/.next/standalone/.next/server/app/api/skills/[id]/disable/route.js.nft.json +0 -1
  189. package/.next/standalone/.next/server/app/api/skills/[id]/disable/route_client-reference-manifest.js +0 -1
  190. package/.next/standalone/.next/server/app/api/skills/[id]/enable/route.js +0 -21
  191. package/.next/standalone/.next/server/app/api/skills/[id]/enable/route.js.nft.json +0 -1
  192. package/.next/standalone/.next/server/app/api/skills/[id]/enable/route_client-reference-manifest.js +0 -1
  193. package/.next/standalone/.next/server/app/api/skills/[id]/files/route.js +0 -21
  194. package/.next/standalone/.next/server/app/api/skills/[id]/files/route.js.nft.json +0 -1
  195. package/.next/standalone/.next/server/app/api/skills/[id]/files/route_client-reference-manifest.js +0 -1
  196. package/.next/standalone/.next/server/app/api/skills/[id]/install/route.js +0 -56
  197. package/.next/standalone/.next/server/app/api/skills/[id]/install/route.js.nft.json +0 -1
  198. package/.next/standalone/.next/server/app/api/skills/[id]/install/route_client-reference-manifest.js +0 -1
  199. package/.next/standalone/.next/server/app/api/skills/[id]/load/route.js +0 -17
  200. package/.next/standalone/.next/server/app/api/skills/[id]/load/route.js.nft.json +0 -1
  201. package/.next/standalone/.next/server/app/api/skills/[id]/load/route_client-reference-manifest.js +0 -1
  202. package/.next/standalone/.next/server/app/api/skills/[id]/route.js +0 -21
  203. package/.next/standalone/.next/server/app/api/skills/[id]/route.js.nft.json +0 -1
  204. package/.next/standalone/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +0 -1
  205. package/.next/standalone/.next/server/app/api/skills/catalog/route.js +0 -1
  206. package/.next/standalone/.next/server/app/api/skills/catalog/route.js.nft.json +0 -1
  207. package/.next/standalone/.next/server/app/api/skills/catalog/route_client-reference-manifest.js +0 -1
  208. package/.next/standalone/.next/server/app/api/skills/categories/route.js +0 -21
  209. package/.next/standalone/.next/server/app/api/skills/categories/route.js.nft.json +0 -1
  210. package/.next/standalone/.next/server/app/api/skills/categories/route_client-reference-manifest.js +0 -1
  211. package/.next/standalone/.next/server/app/api/skills/hub/install/route.js +0 -1
  212. package/.next/standalone/.next/server/app/api/skills/hub/install/route.js.nft.json +0 -1
  213. package/.next/standalone/.next/server/app/api/skills/hub/install/route_client-reference-manifest.js +0 -1
  214. package/.next/standalone/.next/server/app/api/skills/hub/route.js +0 -21
  215. package/.next/standalone/.next/server/app/api/skills/hub/route.js.nft.json +0 -1
  216. package/.next/standalone/.next/server/app/api/skills/hub/route_client-reference-manifest.js +0 -1
  217. package/.next/standalone/.next/server/app/api/skills/route.js +0 -21
  218. package/.next/standalone/.next/server/app/api/skills/route.js.nft.json +0 -1
  219. package/.next/standalone/.next/server/app/api/skills/route_client-reference-manifest.js +0 -1
  220. package/.next/standalone/.next/server/app/api/telemetry/route.js +0 -133
  221. package/.next/standalone/.next/server/app/api/telemetry/route.js.nft.json +0 -1
  222. package/.next/standalone/.next/server/app/api/telemetry/route_client-reference-manifest.js +0 -1
  223. package/.next/standalone/.next/server/app/api/uploads/route.js +0 -36
  224. package/.next/standalone/.next/server/app/api/uploads/route.js.nft.json +0 -1
  225. package/.next/standalone/.next/server/app/api/uploads/route_client-reference-manifest.js +0 -1
  226. package/.next/standalone/.next/server/app/chat/page.js +0 -4
  227. package/.next/standalone/.next/server/app/chat/page.js.nft.json +0 -1
  228. package/.next/standalone/.next/server/app/chat/page_client-reference-manifest.js +0 -1
  229. package/.next/standalone/.next/server/app/extensions/[id]/page.js +0 -2
  230. package/.next/standalone/.next/server/app/extensions/[id]/page.js.nft.json +0 -1
  231. package/.next/standalone/.next/server/app/extensions/[id]/page_client-reference-manifest.js +0 -1
  232. package/.next/standalone/.next/server/app/extensions/page.js +0 -2
  233. package/.next/standalone/.next/server/app/extensions/page.js.nft.json +0 -1
  234. package/.next/standalone/.next/server/app/extensions/page_client-reference-manifest.js +0 -1
  235. package/.next/standalone/.next/server/app/favicon.ico/route.js +0 -1
  236. package/.next/standalone/.next/server/app/favicon.ico/route.js.nft.json +0 -1
  237. package/.next/standalone/.next/server/app/favicon.ico.body +0 -0
  238. package/.next/standalone/.next/server/app/favicon.ico.meta +0 -1
  239. package/.next/standalone/.next/server/app/icon.svg/route.js +0 -1
  240. package/.next/standalone/.next/server/app/icon.svg/route.js.nft.json +0 -1
  241. package/.next/standalone/.next/server/app/icon.svg.body +0 -10
  242. package/.next/standalone/.next/server/app/icon.svg.meta +0 -1
  243. package/.next/standalone/.next/server/app/index.html +0 -1
  244. package/.next/standalone/.next/server/app/index.meta +0 -9
  245. package/.next/standalone/.next/server/app/index.rsc +0 -19
  246. package/.next/standalone/.next/server/app/login/page.js +0 -2
  247. package/.next/standalone/.next/server/app/login/page.js.nft.json +0 -1
  248. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +0 -1
  249. package/.next/standalone/.next/server/app/memory/page.js +0 -2
  250. package/.next/standalone/.next/server/app/memory/page.js.nft.json +0 -1
  251. package/.next/standalone/.next/server/app/memory/page_client-reference-manifest.js +0 -1
  252. package/.next/standalone/.next/server/app/page.js +0 -2
  253. package/.next/standalone/.next/server/app/page.js.nft.json +0 -1
  254. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +0 -1
  255. package/.next/standalone/.next/server/app/profiles/page.js +0 -2
  256. package/.next/standalone/.next/server/app/profiles/page.js.nft.json +0 -1
  257. package/.next/standalone/.next/server/app/profiles/page_client-reference-manifest.js +0 -1
  258. package/.next/standalone/.next/server/app/settings/approvals/page.js +0 -2
  259. package/.next/standalone/.next/server/app/settings/approvals/page.js.nft.json +0 -1
  260. package/.next/standalone/.next/server/app/settings/approvals/page_client-reference-manifest.js +0 -1
  261. package/.next/standalone/.next/server/app/settings/artifacts/page.js +0 -2
  262. package/.next/standalone/.next/server/app/settings/artifacts/page.js.nft.json +0 -1
  263. package/.next/standalone/.next/server/app/settings/artifacts/page_client-reference-manifest.js +0 -1
  264. package/.next/standalone/.next/server/app/settings/audit/page.js +0 -2
  265. package/.next/standalone/.next/server/app/settings/audit/page.js.nft.json +0 -1
  266. package/.next/standalone/.next/server/app/settings/audit/page_client-reference-manifest.js +0 -1
  267. package/.next/standalone/.next/server/app/settings/health/page.js +0 -2
  268. package/.next/standalone/.next/server/app/settings/health/page.js.nft.json +0 -1
  269. package/.next/standalone/.next/server/app/settings/health/page_client-reference-manifest.js +0 -1
  270. package/.next/standalone/.next/server/app/settings/mcp-diagnostics/page.js +0 -2
  271. package/.next/standalone/.next/server/app/settings/mcp-diagnostics/page.js.nft.json +0 -1
  272. package/.next/standalone/.next/server/app/settings/mcp-diagnostics/page_client-reference-manifest.js +0 -1
  273. package/.next/standalone/.next/server/app/settings/page.js +0 -2
  274. package/.next/standalone/.next/server/app/settings/page.js.nft.json +0 -1
  275. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +0 -1
  276. package/.next/standalone/.next/server/app/settings/runs/[id]/page.js +0 -2
  277. package/.next/standalone/.next/server/app/settings/runs/[id]/page.js.nft.json +0 -1
  278. package/.next/standalone/.next/server/app/settings/runs/[id]/page_client-reference-manifest.js +0 -1
  279. package/.next/standalone/.next/server/app/settings/runs/page.js +0 -2
  280. package/.next/standalone/.next/server/app/settings/runs/page.js.nft.json +0 -1
  281. package/.next/standalone/.next/server/app/settings/runs/page_client-reference-manifest.js +0 -1
  282. package/.next/standalone/.next/server/app/settings/telemetry/page.js +0 -2
  283. package/.next/standalone/.next/server/app/settings/telemetry/page.js.nft.json +0 -1
  284. package/.next/standalone/.next/server/app/settings/telemetry/page_client-reference-manifest.js +0 -1
  285. package/.next/standalone/.next/server/app/skills/[id]/page.js +0 -2
  286. package/.next/standalone/.next/server/app/skills/[id]/page.js.nft.json +0 -1
  287. package/.next/standalone/.next/server/app/skills/[id]/page_client-reference-manifest.js +0 -1
  288. package/.next/standalone/.next/server/app/skills/page.js +0 -2
  289. package/.next/standalone/.next/server/app/skills/page.js.nft.json +0 -1
  290. package/.next/standalone/.next/server/app/skills/page_client-reference-manifest.js +0 -1
  291. package/.next/standalone/.next/server/app-paths-manifest.json +0 -67
  292. package/.next/standalone/.next/server/chunks/1331.js +0 -22
  293. package/.next/standalone/.next/server/chunks/1692.js +0 -1
  294. package/.next/standalone/.next/server/chunks/2043.js +0 -1
  295. package/.next/standalone/.next/server/chunks/4337.js +0 -143
  296. package/.next/standalone/.next/server/chunks/4561.js +0 -1
  297. package/.next/standalone/.next/server/chunks/4689.js +0 -25
  298. package/.next/standalone/.next/server/chunks/5611.js +0 -6
  299. package/.next/standalone/.next/server/chunks/6111.js +0 -1
  300. package/.next/standalone/.next/server/chunks/6143.js +0 -9
  301. package/.next/standalone/.next/server/chunks/6516.js +0 -143
  302. package/.next/standalone/.next/server/chunks/6802.js +0 -1
  303. package/.next/standalone/.next/server/chunks/9546.js +0 -1
  304. package/.next/standalone/.next/server/functions-config-manifest.json +0 -4
  305. package/.next/standalone/.next/server/middleware-build-manifest.js +0 -1
  306. package/.next/standalone/.next/server/middleware-manifest.json +0 -6
  307. package/.next/standalone/.next/server/middleware-react-loadable-manifest.js +0 -1
  308. package/.next/standalone/.next/server/next-font-manifest.js +0 -1
  309. package/.next/standalone/.next/server/next-font-manifest.json +0 -1
  310. package/.next/standalone/.next/server/pages/404.html +0 -1
  311. package/.next/standalone/.next/server/pages/500.html +0 -1
  312. package/.next/standalone/.next/server/pages/_app.js +0 -1
  313. package/.next/standalone/.next/server/pages/_app.js.nft.json +0 -1
  314. package/.next/standalone/.next/server/pages/_document.js +0 -1
  315. package/.next/standalone/.next/server/pages/_document.js.nft.json +0 -1
  316. package/.next/standalone/.next/server/pages/_error.js +0 -19
  317. package/.next/standalone/.next/server/pages/_error.js.nft.json +0 -1
  318. package/.next/standalone/.next/server/pages-manifest.json +0 -6
  319. package/.next/standalone/.next/server/server-reference-manifest.js +0 -1
  320. package/.next/standalone/.next/server/server-reference-manifest.json +0 -1
  321. package/.next/standalone/.next/server/webpack-runtime.js +0 -1
  322. package/.next/standalone/.next/static/Pqhqpl3ZPqKI0qfvpIPeN/_buildManifest.js +0 -1
  323. package/.next/standalone/.next/static/chunks/1255-aadf393aa3a56bfa.js +0 -1
  324. package/.next/standalone/.next/static/chunks/1309-d826505bfad78fd1.js +0 -1
  325. package/.next/standalone/.next/static/chunks/2231-e0d8768bfce5fe57.js +0 -1
  326. package/.next/standalone/.next/static/chunks/4879-36321f505e9ce82a.js +0 -1
  327. package/.next/standalone/.next/static/chunks/4bd1b696-f785427dddbba9fb.js +0 -1
  328. package/.next/standalone/.next/static/chunks/9657-3ff4bf56070f324f.js +0 -1
  329. package/.next/standalone/.next/static/chunks/app/api/chat/sessions/[id]/route-bb3f5b9060cdc631.js +0 -1
  330. package/.next/standalone/.next/static/chunks/app/api/chat/sessions/route-bb3f5b9060cdc631.js +0 -1
  331. package/.next/standalone/.next/static/chunks/app/api/chat/stream/route-bb3f5b9060cdc631.js +0 -1
  332. package/.next/standalone/.next/static/chunks/app/api/extensions/[id]/capabilities/[capabilityId]/route-bb3f5b9060cdc631.js +0 -1
  333. package/.next/standalone/.next/static/chunks/app/api/extensions/[id]/route-bb3f5b9060cdc631.js +0 -1
  334. package/.next/standalone/.next/static/chunks/app/api/extensions/[id]/test/route-bb3f5b9060cdc631.js +0 -1
  335. package/.next/standalone/.next/static/chunks/app/api/extensions/mcp/route-bb3f5b9060cdc631.js +0 -1
  336. package/.next/standalone/.next/static/chunks/app/api/extensions/route-bb3f5b9060cdc631.js +0 -1
  337. package/.next/standalone/.next/static/chunks/app/api/memory/agent/route-bb3f5b9060cdc631.js +0 -1
  338. package/.next/standalone/.next/static/chunks/app/api/memory/context-inspector/route-bb3f5b9060cdc631.js +0 -1
  339. package/.next/standalone/.next/static/chunks/app/api/memory/session-search/route-bb3f5b9060cdc631.js +0 -1
  340. package/.next/standalone/.next/static/chunks/app/api/memory/user/route-bb3f5b9060cdc631.js +0 -1
  341. package/.next/standalone/.next/static/chunks/app/api/profiles/[id]/config/route-bb3f5b9060cdc631.js +0 -1
  342. package/.next/standalone/.next/static/chunks/app/api/profiles/[id]/route-bb3f5b9060cdc631.js +0 -1
  343. package/.next/standalone/.next/static/chunks/app/api/profiles/route-bb3f5b9060cdc631.js +0 -1
  344. package/.next/standalone/.next/static/chunks/app/api/runtime/approvals/[toolCallId]/route-bb3f5b9060cdc631.js +0 -1
  345. package/.next/standalone/.next/static/chunks/app/api/runtime/approvals/route-bb3f5b9060cdc631.js +0 -1
  346. package/.next/standalone/.next/static/chunks/app/api/runtime/artifacts/download/route-bb3f5b9060cdc631.js +0 -1
  347. package/.next/standalone/.next/static/chunks/app/api/runtime/artifacts/route-bb3f5b9060cdc631.js +0 -1
  348. package/.next/standalone/.next/static/chunks/app/api/runtime/export/route-bb3f5b9060cdc631.js +0 -1
  349. package/.next/standalone/.next/static/chunks/app/api/runtime/health/route-bb3f5b9060cdc631.js +0 -1
  350. package/.next/standalone/.next/static/chunks/app/api/runtime/mcp-probes/route-bb3f5b9060cdc631.js +0 -1
  351. package/.next/standalone/.next/static/chunks/app/api/runtime/runs/[id]/route-bb3f5b9060cdc631.js +0 -1
  352. package/.next/standalone/.next/static/chunks/app/api/runtime/runs/route-bb3f5b9060cdc631.js +0 -1
  353. package/.next/standalone/.next/static/chunks/app/api/runtime/status/route-bb3f5b9060cdc631.js +0 -1
  354. package/.next/standalone/.next/static/chunks/app/api/runtime/telemetry/route-bb3f5b9060cdc631.js +0 -1
  355. package/.next/standalone/.next/static/chunks/app/api/runtime/timeline/route-bb3f5b9060cdc631.js +0 -1
  356. package/.next/standalone/.next/static/chunks/app/api/skills/[id]/disable/route-bb3f5b9060cdc631.js +0 -1
  357. package/.next/standalone/.next/static/chunks/app/api/skills/[id]/enable/route-bb3f5b9060cdc631.js +0 -1
  358. package/.next/standalone/.next/static/chunks/app/api/skills/[id]/files/route-bb3f5b9060cdc631.js +0 -1
  359. package/.next/standalone/.next/static/chunks/app/api/skills/[id]/install/route-bb3f5b9060cdc631.js +0 -1
  360. package/.next/standalone/.next/static/chunks/app/api/skills/[id]/load/route-bb3f5b9060cdc631.js +0 -1
  361. package/.next/standalone/.next/static/chunks/app/api/skills/[id]/route-bb3f5b9060cdc631.js +0 -1
  362. package/.next/standalone/.next/static/chunks/app/api/skills/catalog/route-bb3f5b9060cdc631.js +0 -1
  363. package/.next/standalone/.next/static/chunks/app/api/skills/categories/route-bb3f5b9060cdc631.js +0 -1
  364. package/.next/standalone/.next/static/chunks/app/api/skills/hub/install/route-bb3f5b9060cdc631.js +0 -1
  365. package/.next/standalone/.next/static/chunks/app/api/skills/hub/route-bb3f5b9060cdc631.js +0 -1
  366. package/.next/standalone/.next/static/chunks/app/api/skills/route-bb3f5b9060cdc631.js +0 -1
  367. package/.next/standalone/.next/static/chunks/app/api/telemetry/route-bb3f5b9060cdc631.js +0 -1
  368. package/.next/standalone/.next/static/chunks/app/api/uploads/route-bb3f5b9060cdc631.js +0 -1
  369. package/.next/standalone/.next/static/chunks/app/chat/page-117a5b54aee7eae4.js +0 -1
  370. package/.next/standalone/.next/static/chunks/app/extensions/[id]/page-cca6df1771ec04d2.js +0 -1
  371. package/.next/standalone/.next/static/chunks/app/extensions/page-c0fbb8efa9a3700c.js +0 -1
  372. package/.next/standalone/.next/static/chunks/app/layout-0bc970399be389b5.js +0 -1
  373. package/.next/standalone/.next/static/chunks/app/login/page-984e33272681e1e0.js +0 -1
  374. package/.next/standalone/.next/static/chunks/app/memory/page-0684ff3ce6888ae7.js +0 -1
  375. package/.next/standalone/.next/static/chunks/app/page-bb3f5b9060cdc631.js +0 -1
  376. package/.next/standalone/.next/static/chunks/app/profiles/page-46a0ad35feda9741.js +0 -1
  377. package/.next/standalone/.next/static/chunks/app/settings/approvals/page-6843c585791e4db7.js +0 -1
  378. package/.next/standalone/.next/static/chunks/app/settings/artifacts/page-d3fddd43ac1243af.js +0 -1
  379. package/.next/standalone/.next/static/chunks/app/settings/health/page-d34eadc11bc90af5.js +0 -1
  380. package/.next/standalone/.next/static/chunks/app/settings/mcp-diagnostics/page-3778d2842d5bdd79.js +0 -1
  381. package/.next/standalone/.next/static/chunks/app/settings/runs/[id]/page-7837ec57d531ef2b.js +0 -1
  382. package/.next/standalone/.next/static/chunks/app/settings/runs/page-cb4d1617e199c38e.js +0 -1
  383. package/.next/standalone/.next/static/chunks/app/skills/[id]/page-88bc62488ddf6c10.js +0 -1
  384. package/.next/standalone/.next/static/chunks/app/skills/page-e47c6a5f9559edc1.js +0 -1
  385. package/.next/standalone/.next/static/chunks/framework-f31701c9d93f12a4.js +0 -1
  386. package/.next/standalone/.next/static/chunks/main-1ac9e0711a0eb944.js +0 -1
  387. package/.next/standalone/.next/static/chunks/pages/_app-6c8c2371b16a04b8.js +0 -1
  388. package/.next/standalone/.next/static/chunks/pages/_error-94812ad32cad7365.js +0 -1
  389. package/.next/standalone/.next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
  390. package/.next/standalone/.next/static/chunks/webpack-0100acb42ec0d4c7.js +0 -1
  391. package/.next/standalone/.next/static/css/f5a43afa8024b892.css +0 -3
  392. package/.next/static/Pqhqpl3ZPqKI0qfvpIPeN/_buildManifest.js +0 -1
  393. package/.next/static/Pqhqpl3ZPqKI0qfvpIPeN/_ssgManifest.js +0 -1
  394. package/.next/static/chunks/5449-aba2dafba76d4508.js +0 -1
  395. package/.next/static/chunks/9657-3ff4bf56070f324f.js +0 -1
  396. package/.next/static/chunks/app/_not-found/page-9c90a6b39424f003.js +0 -1
  397. package/.next/static/chunks/app/api/audit/route-bb3f5b9060cdc631.js +0 -1
  398. package/.next/static/chunks/app/api/auth/login/route-bb3f5b9060cdc631.js +0 -1
  399. package/.next/static/chunks/app/api/auth/logout/route-bb3f5b9060cdc631.js +0 -1
  400. package/.next/static/chunks/app/api/chat/sessions/[id]/fork/route-bb3f5b9060cdc631.js +0 -1
  401. package/.next/static/chunks/app/api/chat/sessions/[id]/route-bb3f5b9060cdc631.js +0 -1
  402. package/.next/static/chunks/app/api/chat/sessions/route-bb3f5b9060cdc631.js +0 -1
  403. package/.next/static/chunks/app/api/chat/stream/route-bb3f5b9060cdc631.js +0 -1
  404. package/.next/static/chunks/app/api/extensions/[id]/capabilities/[capabilityId]/route-bb3f5b9060cdc631.js +0 -1
  405. package/.next/static/chunks/app/api/extensions/[id]/route-bb3f5b9060cdc631.js +0 -1
  406. package/.next/static/chunks/app/api/extensions/[id]/test/route-bb3f5b9060cdc631.js +0 -1
  407. package/.next/static/chunks/app/api/extensions/mcp/route-bb3f5b9060cdc631.js +0 -1
  408. package/.next/static/chunks/app/api/extensions/route-bb3f5b9060cdc631.js +0 -1
  409. package/.next/static/chunks/app/api/memory/agent/route-bb3f5b9060cdc631.js +0 -1
  410. package/.next/static/chunks/app/api/memory/context-inspector/route-bb3f5b9060cdc631.js +0 -1
  411. package/.next/static/chunks/app/api/memory/session-search/route-bb3f5b9060cdc631.js +0 -1
  412. package/.next/static/chunks/app/api/memory/user/route-bb3f5b9060cdc631.js +0 -1
  413. package/.next/static/chunks/app/api/profiles/[id]/config/route-bb3f5b9060cdc631.js +0 -1
  414. package/.next/static/chunks/app/api/profiles/[id]/route-bb3f5b9060cdc631.js +0 -1
  415. package/.next/static/chunks/app/api/profiles/route-bb3f5b9060cdc631.js +0 -1
  416. package/.next/static/chunks/app/api/runtime/approvals/[toolCallId]/route-bb3f5b9060cdc631.js +0 -1
  417. package/.next/static/chunks/app/api/runtime/approvals/route-bb3f5b9060cdc631.js +0 -1
  418. package/.next/static/chunks/app/api/runtime/artifacts/download/route-bb3f5b9060cdc631.js +0 -1
  419. package/.next/static/chunks/app/api/runtime/artifacts/route-bb3f5b9060cdc631.js +0 -1
  420. package/.next/static/chunks/app/api/runtime/export/route-bb3f5b9060cdc631.js +0 -1
  421. package/.next/static/chunks/app/api/runtime/health/route-bb3f5b9060cdc631.js +0 -1
  422. package/.next/static/chunks/app/api/runtime/mcp-probes/route-bb3f5b9060cdc631.js +0 -1
  423. package/.next/static/chunks/app/api/runtime/runs/[id]/route-bb3f5b9060cdc631.js +0 -1
  424. package/.next/static/chunks/app/api/runtime/runs/route-bb3f5b9060cdc631.js +0 -1
  425. package/.next/static/chunks/app/api/runtime/status/route-bb3f5b9060cdc631.js +0 -1
  426. package/.next/static/chunks/app/api/runtime/telemetry/route-bb3f5b9060cdc631.js +0 -1
  427. package/.next/static/chunks/app/api/runtime/timeline/route-bb3f5b9060cdc631.js +0 -1
  428. package/.next/static/chunks/app/api/skills/[id]/disable/route-bb3f5b9060cdc631.js +0 -1
  429. package/.next/static/chunks/app/api/skills/[id]/enable/route-bb3f5b9060cdc631.js +0 -1
  430. package/.next/static/chunks/app/api/skills/[id]/files/route-bb3f5b9060cdc631.js +0 -1
  431. package/.next/static/chunks/app/api/skills/[id]/install/route-bb3f5b9060cdc631.js +0 -1
  432. package/.next/static/chunks/app/api/skills/[id]/load/route-bb3f5b9060cdc631.js +0 -1
  433. package/.next/static/chunks/app/api/skills/[id]/route-bb3f5b9060cdc631.js +0 -1
  434. package/.next/static/chunks/app/api/skills/catalog/route-bb3f5b9060cdc631.js +0 -1
  435. package/.next/static/chunks/app/api/skills/categories/route-bb3f5b9060cdc631.js +0 -1
  436. package/.next/static/chunks/app/api/skills/hub/install/route-bb3f5b9060cdc631.js +0 -1
  437. package/.next/static/chunks/app/api/skills/hub/route-bb3f5b9060cdc631.js +0 -1
  438. package/.next/static/chunks/app/api/skills/route-bb3f5b9060cdc631.js +0 -1
  439. package/.next/static/chunks/app/api/telemetry/route-bb3f5b9060cdc631.js +0 -1
  440. package/.next/static/chunks/app/api/uploads/route-bb3f5b9060cdc631.js +0 -1
  441. package/.next/static/chunks/app/chat/page-117a5b54aee7eae4.js +0 -1
  442. package/.next/static/chunks/app/extensions/[id]/page-cca6df1771ec04d2.js +0 -1
  443. package/.next/static/chunks/app/layout-0bc970399be389b5.js +0 -1
  444. package/.next/static/chunks/app/login/page-984e33272681e1e0.js +0 -1
  445. package/.next/static/chunks/app/memory/page-0684ff3ce6888ae7.js +0 -1
  446. package/.next/static/chunks/app/page-bb3f5b9060cdc631.js +0 -1
  447. package/.next/static/chunks/app/profiles/page-46a0ad35feda9741.js +0 -1
  448. package/.next/static/chunks/app/settings/artifacts/page-d3fddd43ac1243af.js +0 -1
  449. package/.next/static/chunks/app/settings/audit/page-378bee43dd7c4903.js +0 -1
  450. package/.next/static/chunks/app/settings/health/page-d34eadc11bc90af5.js +0 -1
  451. package/.next/static/chunks/app/settings/mcp-diagnostics/page-3778d2842d5bdd79.js +0 -1
  452. package/.next/static/chunks/app/settings/page-8a40bdf895f43430.js +0 -1
  453. package/.next/static/chunks/app/settings/runs/[id]/page-7837ec57d531ef2b.js +0 -1
  454. package/.next/static/chunks/app/settings/runs/page-cb4d1617e199c38e.js +0 -1
  455. package/.next/static/chunks/app/settings/telemetry/page-c0446baefa5496cb.js +0 -1
  456. package/.next/static/chunks/app/skills/[id]/page-88bc62488ddf6c10.js +0 -1
  457. package/.next/static/chunks/app/skills/page-e47c6a5f9559edc1.js +0 -1
  458. package/.next/static/chunks/main-app-a9e2c007d433eaf9.js +0 -1
  459. package/.next/static/css/f5a43afa8024b892.css +0 -3
  460. /package/.next/{standalone/.next/static/Pqhqpl3ZPqKI0qfvpIPeN → static/H9AHLxE6FxdsWBnoBgfVx}/_ssgManifest.js +0 -0
package/README.md CHANGED
@@ -1,211 +1,234 @@
1
- # Pan by Euraika
1
+ <p align="center">
2
+ <img src="docs/assets/pan-logo.svg" alt="Pan by Euraika" width="120" />
3
+ </p>
2
4
 
3
- [![CI](https://github.com/Euraika-Labs/pan-ui/actions/workflows/ci.yml/badge.svg)](https://github.com/Euraika-Labs/pan-ui/actions/workflows/ci.yml)
4
- [![CodeQL](https://github.com/Euraika-Labs/pan-ui/actions/workflows/codeql.yml/badge.svg)](https://github.com/Euraika-Labs/pan-ui/actions/workflows/codeql.yml)
5
- [![npm](https://img.shields.io/npm/v/@euraika-labs/pan-ui)](https://www.npmjs.com/package/@euraika-labs/pan-ui)
6
- [![Release](https://img.shields.io/github/v/release/Euraika-Labs/pan-ui?display_name=tag)](https://github.com/Euraika-Labs/pan-ui/releases)
7
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)
5
+ <h1 align="center">Pan by Euraika</h1>
8
6
 
9
- A self-hosted web interface for [Hermes Agent](https://github.com/NousResearch/hermes-agent) — the AI agent by Nous Research. Chat with your agent, manage skills from the skills.sh marketplace, control extensions and MCP integrations, inspect memory, and operate profiles — all from a single dashboard with live runtime awareness.
7
+ <p align="center">
8
+ <strong>Beautiful WebUI for <a href="https://github.com/NousResearch/hermes-agent">Hermes Agent</a></strong>
9
+ </p>
10
10
 
11
- ![Pan chat with runtime tools](docs/assets/screenshots/chat-runtime.png)
11
+ <p align="center">
12
+ <a href="https://www.npmjs.com/package/@euraika-labs/pan-ui"><img src="https://img.shields.io/npm/v/@euraika-labs/pan-ui" alt="npm" /></a>
13
+ <a href="https://github.com/Euraika-Labs/pan-ui/actions/workflows/ci.yml"><img src="https://github.com/Euraika-Labs/pan-ui/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
14
+ <a href="https://github.com/Euraika-Labs/pan-ui/actions/workflows/codeql.yml"><img src="https://github.com/Euraika-Labs/pan-ui/actions/workflows/codeql.yml/badge.svg" alt="CodeQL" /></a>
15
+ <a href="./LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT" /></a>
16
+ </p>
12
17
 
13
- ## Why Pan
18
+ <p align="center">
19
+ <a href="#install">Install</a> •
20
+ <a href="#features">Features</a> •
21
+ <a href="#screenshots">Screenshots</a> •
22
+ <a href="#configuration">Configuration</a> •
23
+ <a href="#development">Development</a> •
24
+ <a href="CHANGELOG.md">Changelog</a>
25
+ </p>
14
26
 
15
- Pan is not a generic chat wrapper. It exposes the full operational surface of a running Hermes Agent instance:
27
+ ---
16
28
 
17
- - **Chat with streaming** SSE-based streaming connected to a real Hermes runtime, with tool timelines, approval cards, and artifact rendering
18
- - **Skills marketplace** — Browse 112+ installed skills across 27 categories, discover and install 268+ more from [skills.sh](https://skills.sh) with one click
19
- - **MCP integrations** — View installed MCP servers, their tools, health status, and diagnostics
20
- - **Persistent memory** — Inspect and edit both global (shared) and profile-scoped user/agent memory, with proper `§`-separated entry parsing
21
- - **Profile isolation** — Each profile is a full workspace boundary with its own sessions, skills, memory, API keys, and policy presets
22
- - **Runtime operations** — Approvals, run history, audit trails, telemetry, runtime health, and JSON/CSV exports
29
+ Pan is a self-hosted web dashboard for [Hermes Agent](https://github.com/NousResearch/hermes-agent). Chat with your agent, manage skills from [skills.sh](https://skills.sh), control MCP integrations, inspect memory, and operate profiles — all from one place.
23
30
 
24
- ## Screenshots
31
+ ![Pan chat with runtime tools](docs/assets/screenshots/chat-runtime.png)
25
32
 
26
- ### Login
33
+ ## Install
27
34
 
28
- ![Login screen](docs/assets/screenshots/login.png)
35
+ ### Prerequisites
29
36
 
30
- ### Chat
37
+ - [Node.js](https://nodejs.org/) 18+ installed
38
+ - [Hermes Agent](https://github.com/NousResearch/hermes-agent) installed and configured (`~/.hermes`)
31
39
 
32
- Streaming chat connected to a live Hermes runtime. Session sidebar with search, pinning, and archiving. Tool timelines expand inline. Composer shows active model, mode, tools, and profile.
40
+ ### One command
33
41
 
34
- ![Empty chat workspace](docs/assets/screenshots/chat-empty.png)
35
-
36
- ![Active chat with runtime output](docs/assets/screenshots/chat-runtime.png)
42
+ ```bash
43
+ npx @euraika-labs/pan-ui
44
+ ```
37
45
 
38
- ### Skills Installed
46
+ A setup wizard runs on first launch to connect Pan to your Hermes instance. After setup, open [localhost:3199](http://localhost:3199).
39
47
 
40
- 112 installed skills across 27 categories. Search by name, tag, or category. Each card shows source, tags, linked files count, and whether it's loaded in the current session.
48
+ > **First time?** The wizard auto-detects your Hermes home directory, API server, and installed binary. Just press Enter through the defaults to get started.
41
49
 
42
- ![Skills installed tab](docs/assets/screenshots/skills-installed.png)
50
+ ### Run in the background
43
51
 
44
- ### Skills — Discover
52
+ ```bash
53
+ npx @euraika-labs/pan-ui start --daemon # Fork to background
54
+ npx pan-ui status # Check if running
55
+ npx pan-ui logs # Tail log output
56
+ npx pan-ui stop # Stop the daemon
57
+ ```
45
58
 
46
- Browse and install skills from the skills.sh hub. Trust badges (Trusted / Official / Community), install counts, security audit results, and direct links to repos.
59
+ ### Run as a system service (Linux)
47
60
 
48
- ![Skills discover tab](docs/assets/screenshots/skills-discover.png)
61
+ ```bash
62
+ npx @euraika-labs/pan-ui service install # Creates a systemd user service
63
+ npx pan-ui service remove # Uninstall it
64
+ ```
49
65
 
50
- ### Extensions & MCP
66
+ The service starts on login and survives logout. Manage it with standard `systemctl --user` commands.
51
67
 
52
- Installed MCP servers with tool inventories, health badges, and capability toggles. Test connections and view diagnostics.
68
+ ### Update
53
69
 
54
- ![Extensions page](docs/assets/screenshots/extensions.png)
70
+ ```bash
71
+ npx @euraika-labs/pan-ui@latest
72
+ ```
55
73
 
56
- ### Memory
74
+ Your configuration in `~/.pan-ui/` is preserved across updates.
57
75
 
58
- Global memory (shared across profiles) displayed as read-only cards with a blue "shared" badge. Profile-scoped memory is editable. Entries are separated by `§` and counted correctly.
76
+ ## Features
59
77
 
60
- ![Memory page](docs/assets/screenshots/memory.png)
78
+ | Feature | Description |
79
+ |---------|-------------|
80
+ | **Chat** | SSE streaming connected to a live Hermes runtime, with tool timelines, approval cards, and artifact rendering |
81
+ | **Sessions** | Unified session sidebar with source badges (CLI, Discord, Telegram, WhatsApp, …), source filtering, and cross-platform session resumption |
82
+ | **Skills** | Browse installed skills, discover and install 268+ more from [skills.sh](https://skills.sh) |
83
+ | **Extensions** | View MCP servers, their tools, health status, and diagnostics |
84
+ | **Memory** | Inspect and edit global and profile-scoped agent memory |
85
+ | **Profiles** | Isolated workspaces — each with its own sessions, skills, memory, and API keys |
86
+ | **Operations** | Approvals, run history, audit trails, telemetry, health monitoring, and exports |
87
+ | **Daemon** | Background process with PID management, log tailing, and systemd integration |
61
88
 
62
- ### Profiles
89
+ ## Screenshots
63
90
 
64
- Profile-based workspace isolation. Each profile scopes sessions, skills, memory, extensions, and API keys. Policy presets (safe-chat, research, builder, full-power) control tool access and guardrails.
91
+ <details>
92
+ <summary><strong>Login</strong></summary>
65
93
 
66
- ![Profiles page](docs/assets/screenshots/profiles.png)
94
+ ![Login screen](docs/assets/screenshots/login.png)
95
+ </details>
67
96
 
68
- ### Settings
97
+ <details open>
98
+ <summary><strong>Chat</strong></summary>
69
99
 
70
- Runtime status, health monitoring, model selection, run history, audit browser, telemetry, approvals, and MCP diagnostics.
100
+ Streaming chat with session sidebar, tool timelines, and runtime-aware composer.
71
101
 
72
- ![Settings page](docs/assets/screenshots/settings.png)
102
+ ![Empty chat workspace](docs/assets/screenshots/chat-empty.png)
103
+ ![Active chat with runtime output](docs/assets/screenshots/chat-runtime.png)
104
+ </details>
73
105
 
74
- ## Tech Stack
106
+ <details>
107
+ <summary><strong>Skills</strong></summary>
75
108
 
76
- | Layer | Technology |
77
- |-------|-----------|
78
- | Framework | Next.js 15 (App Router) |
79
- | Language | TypeScript |
80
- | State | TanStack Query v5 |
81
- | Styling | Tailwind CSS 4 |
82
- | Testing | Vitest + Playwright |
83
- | Runtime | Node.js 20+ |
109
+ Installed skills with search and category filters. Discover tab for the skills.sh hub.
84
110
 
85
- ## Quick Start
111
+ ![Skills installed tab](docs/assets/screenshots/skills-installed.png)
112
+ ![Skills discover tab](docs/assets/screenshots/skills-discover.png)
113
+ </details>
86
114
 
87
- ### Via npx (recommended)
115
+ <details>
116
+ <summary><strong>Extensions & MCP</strong></summary>
88
117
 
89
- ```bash
90
- npx @euraika-labs/pan-ui
91
- ```
118
+ ![Extensions page](docs/assets/screenshots/extensions.png)
119
+ </details>
92
120
 
93
- The setup wizard will guide you through connecting to your Hermes runtime on first launch.
121
+ <details>
122
+ <summary><strong>Memory</strong></summary>
94
123
 
95
- ### From source
124
+ ![Memory page](docs/assets/screenshots/memory.png)
125
+ </details>
96
126
 
97
- ```bash
98
- # 1. Clone and install
99
- git clone https://github.com/Euraika-Labs/pan-ui.git
100
- cd pan-ui
101
- npm install
127
+ <details>
128
+ <summary><strong>Profiles</strong></summary>
102
129
 
103
- # 2. Start in dev mode (connects to local Hermes instance)
104
- npm run dev
130
+ ![Profiles page](docs/assets/screenshots/profiles.png)
131
+ </details>
105
132
 
106
- # 3. Open in browser
107
- open http://localhost:3199
108
- ```
133
+ <details>
134
+ <summary><strong>Settings</strong></summary>
109
135
 
110
- Default credentials: `admin` / `changeme`
136
+ ![Settings page](docs/assets/screenshots/settings.png)
137
+ </details>
138
+
139
+ ## Configuration
140
+
141
+ ### CLI Reference
142
+
143
+ | Command | Description |
144
+ |---------|-------------|
145
+ | `pan-ui` / `pan-ui start` | Start in foreground |
146
+ | `pan-ui start --daemon` | Start in background |
147
+ | `pan-ui start --port 8080` | Override port |
148
+ | `pan-ui stop` | Stop daemon |
149
+ | `pan-ui status` | Show running state |
150
+ | `pan-ui logs` | Tail daemon logs |
151
+ | `pan-ui setup` | Re-run setup wizard |
152
+ | `pan-ui update` | Check for and install updates |
153
+ | `pan-ui sync-hermes` | Update vendored Hermes to pinned version |
154
+ | `pan-ui version` | Show current version |
155
+ | `pan-ui service install` | Install systemd service |
156
+ | `pan-ui service remove` | Remove systemd service |
157
+ | `pan-ui help` | Show CLI usage |
111
158
 
112
159
  ### Environment Variables
113
160
 
161
+ The setup wizard writes these to `.env.local`. You can also edit them directly or re-run `npx pan-ui setup`.
162
+
114
163
  | Variable | Default | Description |
115
164
  |----------|---------|-------------|
116
- | `HERMES_MOCK_MODE` | `true` | Set `false` to connect to a real Hermes instance |
117
165
  | `HERMES_HOME` | `~/.hermes` | Hermes home directory |
118
166
  | `HERMES_API_BASE_URL` | `http://127.0.0.1:8642` | Hermes API endpoint |
119
- | `HERMES_API_KEY` | — | API key for Hermes (if configured) |
167
+ | `HERMES_API_KEY` | — | API key (if Hermes requires one) |
120
168
  | `HERMES_WORKSPACE_USERNAME` | `admin` | Login username |
121
169
  | `HERMES_WORKSPACE_PASSWORD` | `changeme` | Login password |
122
- | `HERMES_WORKSPACE_SESSION_SECRET` | | Cookie signing secret |
123
- | `PORT` | `3199` | Pan UI port |
170
+ | `HERMES_WORKSPACE_SECRET` | *(auto-generated)* | Cookie signing secret |
171
+ | `HERMES_MOCK_MODE` | `false` | Use mock data when runtime is unavailable |
172
+ | `PORT` | `3199` | Server port |
124
173
 
125
- ## Architecture
174
+ ### File Locations
126
175
 
127
- ```
128
- ┌─────────────────────────────────────────────────┐
129
- │ Browser │
130
- │ Next.js App Router + TanStack Query + Tailwind │
131
- └───────────────────────┬─────────────────────────┘
132
- fetch / SSE
133
- ┌───────────────────────▼─────────────────────────┐
134
- │ Next.js API Routes │
135
- │ /api/chat/stream /api/skills /api/memory │
136
- │ /api/profiles /api/extensions /api/runtime│
137
- └──────┬────────────────┬─────────────────────────┘
138
- │ │
139
- ▼ ▼
140
- ┌──────────────┐ ┌──────────────────────────────┐
141
- │ Hermes API │ │ Hermes Filesystem │
142
- │ :8642 │ │ ~/.hermes/ │
143
- │ OpenAI-compat│ │ ├─ profiles/ │
144
- │ SSE streaming│ │ ├─ skills/ │
145
- └──────────────┘ │ ├─ memories/ │
146
- │ └─ state.db │
147
- └──────────────────────────────┘
148
- ```
176
+ | Path | Purpose |
177
+ |------|---------|
178
+ | `~/.pan-ui/pan-ui.pid` | Daemon PID file |
179
+ | `~/.pan-ui/pan-ui.log` | Daemon log output |
180
+ | `~/.config/systemd/user/pan-ui.service` | Systemd service unit (when installed) |
181
+ | `.env.local` (in package dir) | Configuration from setup wizard |
149
182
 
150
- - **Chat streaming** bridges the Hermes OpenAI-compatible `/v1/chat/completions` SSE endpoint to Pan
151
- - **Skills** are read from `~/.hermes/skills/` with YAML frontmatter parsing; hub skills come from the skills.sh cache
152
- - **Sessions** are read from `state.db` (SQLite) via the Hermes filesystem
153
- - **Memory** reads/writes `USER.md` and `MEMORY.md` files at both global and profile scope
154
- - **Profiles** map to `~/.hermes/profiles/<name>/` directories, each with their own config, memories, sessions, and skills
183
+ ## How It Works
155
184
 
156
- ## Project Structure
185
+ Pan runs as a standalone Next.js server that bridges your browser to the Hermes runtime. On startup it **automatically launches the Hermes gateway** if it isn't already running — no manual gateway setup required.
157
186
 
158
187
  ```
159
- src/
160
- ├── app/ # Next.js routes and API endpoints
161
- │ ├── api/ # Server-side API routes
162
- │ ├── chat/ # Chat stream, sessions
163
- │ │ ├── skills/ # Skills CRUD, hub, categories
164
- │ ├── memory/ # User/agent memory, context inspector
165
- │ ├── profiles/ # Profile CRUD
166
- │ │ ├── extensions/ # MCP extensions
167
- │ │ └── runtime/ # Health, approvals, runs, export
168
- │ └── [page]/ # Client page routes
169
- ├── features/ # UI feature modules
170
- │ ├── chat/ # Chat screen, composer, transcript, tools
171
- │ ├── skills/ # Skills browser, detail, hub cards
172
- │ ├── memory/ # Memory editor, context inspector
173
- │ ├── extensions/ # Extension cards, tool inventory
174
- │ ├── profiles/ # Profile management, switcher
175
- │ ├── sessions/ # Session sidebar, search
176
- │ └── settings/ # Runtime, health, audit, approvals, runs
177
- ├── server/ # Server-side logic
178
- │ └── hermes/ # Hermes filesystem bridge
179
- ├── components/ # Shared layout and UI components
180
- ├── lib/ # Types, schemas, stores, utilities
181
- └── styles/ # Global CSS and theme variables
182
- tests/
183
- ├── unit/ # Vitest unit tests
184
- └── e2e/ # Playwright end-to-end tests
185
- docs/ # Architecture, specs, and screenshots
188
+ Browser ──── fetch / SSE ────▶ Pan (Next.js API routes)
189
+ │ │
190
+ ▼ ▼
191
+ Hermes Gateway Hermes Filesystem
192
+ :8642 ~/.hermes/
193
+ (auto-managed) (skills, memory, profiles, state.db)
194
+
195
+
196
+ Hermes Agent sessions
197
+ (tools, streaming, full agent capabilities)
186
198
  ```
187
199
 
188
- ## Verification
200
+ - **Gateway** — Pan's startup hook detects whether the Hermes gateway is reachable. If not, it spawns `hermes gateway run` as a child process with health monitoring and auto-restart. The gateway uses the active Hermes profile — no hardcoded names or paths.
201
+ - **Vendored Hermes** — Pan pins a specific Hermes Agent version via `hermes.version.json`. On first launch, if no `hermes` binary is found, the setup wizard installs it from the [Euraika-Labs/hermes-agent](https://github.com/Euraika-Labs/hermes-agent) fork. Use `pan-ui sync-hermes` to update.
202
+ - **Chat** streams through Hermes's OpenAI-compatible SSE endpoint
203
+ - **Skills** are read from `~/.hermes/skills/` with YAML frontmatter parsing
204
+ - **Memory** reads/writes `USER.md` and `MEMORY.md` at global and profile scope
205
+ - **Profiles** map to `~/.hermes/profiles/<name>/` directories
206
+
207
+ > **Already running a gateway?** Pan detects it and skips auto-launch. This works with systemd services, manual `hermes gateway run`, or any external process on the configured port.
208
+
209
+ ## Development
210
+
211
+ Want to contribute or run from source? See [CONTRIBUTING.md](CONTRIBUTING.md) for full setup instructions.
189
212
 
190
213
  ```bash
191
- npm run lint # ESLint
192
- npm run test # Vitest unit tests
193
- npm run build # Production build
194
- npm run test:e2e # Playwright e2e (requires running dev server)
214
+ git clone https://github.com/Euraika-Labs/pan-ui.git
215
+ cd pan-ui
216
+ npm install
217
+ npm run dev
195
218
  ```
196
219
 
197
- ## Security
198
-
199
- - CLI commands use an allowlist guard (`ALLOWED_COMMANDS`) before `execFileSync` no arbitrary command injection
200
- - Profile isolation ensures each workspace boundary has its own sessions, memory, and API keys
201
- - CodeQL scanning runs on every push and PR
202
- - File path parameters are sanitized to prevent directory traversal
203
- - Login is cookie-based with configurable credentials
220
+ | Command | Description |
221
+ |---------|-------------|
222
+ | `npm run dev` | Dev server with hot reload |
223
+ | `npm run build` | Production build |
224
+ | `npm run lint` | ESLint |
225
+ | `npm run test` | Vitest unit tests |
226
+ | `npm run test:e2e` | Playwright end-to-end tests |
204
227
 
205
- ## Contributing
228
+ ## Security
206
229
 
207
- Please read `CONTRIBUTING.md` before opening issues or pull requests.
230
+ See [SECURITY.md](SECURITY.md) for reporting vulnerabilities.
208
231
 
209
232
  ## License
210
233
 
211
- MIT
234
+ [MIT](LICENSE) © [Euraika Labs](https://github.com/Euraika-Labs)