sparkecoder 0.1.98 → 0.1.100

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 (305) hide show
  1. package/README.md +41 -41
  2. package/dist/agent/index.d.ts +3 -3
  3. package/dist/agent/index.js +1274 -59
  4. package/dist/agent/index.js.map +1 -1
  5. package/dist/cli.js +10671 -8973
  6. package/dist/cli.js.map +1 -1
  7. package/dist/db/index.d.ts +2 -2
  8. package/dist/{index-BvIissiB.d.ts → index-D5l-DMGC.d.ts} +390 -6
  9. package/dist/index.d.ts +5 -5
  10. package/dist/index.js +10002 -8096
  11. package/dist/index.js.map +1 -1
  12. package/dist/{schema-CohdIL13.d.ts → schema-ecQSnCMz.d.ts} +41 -0
  13. package/dist/server/index.js +8867 -6969
  14. package/dist/server/index.js.map +1 -1
  15. package/dist/skills/default/manage-mcp.md +94 -0
  16. package/dist/skills/default/search-conversations.md +100 -0
  17. package/dist/tools/index.d.ts +2 -2
  18. package/dist/tools/index.js +111 -2
  19. package/dist/tools/index.js.map +1 -1
  20. package/package.json +5 -1
  21. package/src/skills/default/manage-mcp.md +94 -0
  22. package/src/skills/default/search-conversations.md +100 -0
  23. package/web/.next/BUILD_ID +1 -1
  24. package/web/.next/standalone/web/.next/BUILD_ID +1 -1
  25. package/web/.next/standalone/web/.next/app-path-routes-manifest.json +2 -1
  26. package/web/.next/standalone/web/.next/build-manifest.json +5 -5
  27. package/web/.next/standalone/web/.next/prerender-manifest.json +51 -3
  28. package/web/.next/standalone/web/.next/routes-manifest.json +13 -24
  29. package/web/.next/standalone/web/.next/server/app/(main)/agents/page/app-paths-manifest.json +3 -0
  30. package/web/.next/standalone/web/.next/server/app/{embed/[id] → (main)/agents}/page/build-manifest.json +3 -3
  31. package/web/.next/standalone/web/.next/server/app/{embed/[id] → (main)/agents}/page/next-font-manifest.json +1 -1
  32. package/web/.next/standalone/web/.next/server/app/{embed/[id] → (main)/agents}/page.js +7 -6
  33. package/web/.next/standalone/web/.next/server/app/(main)/agents/page.js.nft.json +1 -0
  34. package/web/.next/standalone/web/.next/server/app/(main)/agents/page_client-reference-manifest.js +2 -0
  35. package/web/.next/standalone/web/.next/server/app/(main)/page/build-manifest.json +3 -3
  36. package/web/.next/standalone/web/.next/server/app/(main)/page.js.nft.json +1 -1
  37. package/web/.next/standalone/web/.next/server/app/(main)/page_client-reference-manifest.js +1 -1
  38. package/web/.next/standalone/web/.next/server/app/(main)/session/[id]/page/build-manifest.json +3 -3
  39. package/web/.next/standalone/web/.next/server/app/(main)/session/[id]/page.js.nft.json +1 -1
  40. package/web/.next/standalone/web/.next/server/app/(main)/session/[id]/page_client-reference-manifest.js +1 -1
  41. package/web/.next/standalone/web/.next/server/app/(main)/settings/page/app-paths-manifest.json +3 -0
  42. package/web/.next/standalone/web/.next/server/app/(main)/settings/page/build-manifest.json +18 -0
  43. package/web/.next/standalone/web/.next/server/app/(main)/settings/page/next-font-manifest.json +11 -0
  44. package/web/.next/standalone/web/.next/server/app/(main)/settings/page/react-loadable-manifest.json +1 -0
  45. package/web/.next/standalone/web/.next/server/app/(main)/settings/page/server-reference-manifest.json +4 -0
  46. package/web/.next/standalone/web/.next/server/app/(main)/settings/page.js +21 -0
  47. package/web/.next/standalone/web/.next/server/app/(main)/settings/page.js.map +5 -0
  48. package/web/.next/standalone/web/.next/server/app/(main)/settings/page.js.nft.json +1 -0
  49. package/web/.next/standalone/web/.next/server/app/(main)/settings/page_client-reference-manifest.js +2 -0
  50. package/web/.next/standalone/web/.next/server/app/_global-error/page/build-manifest.json +3 -3
  51. package/web/.next/standalone/web/.next/server/app/_global-error.html +2 -2
  52. package/web/.next/standalone/web/.next/server/app/_global-error.rsc +1 -1
  53. package/web/.next/standalone/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  54. package/web/.next/standalone/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  55. package/web/.next/standalone/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  56. package/web/.next/standalone/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  57. package/web/.next/standalone/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  58. package/web/.next/standalone/web/.next/server/app/_not-found/page/build-manifest.json +3 -3
  59. package/web/.next/standalone/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  60. package/web/.next/standalone/web/.next/server/app/_not-found.html +1 -1
  61. package/web/.next/standalone/web/.next/server/app/_not-found.rsc +3 -3
  62. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  63. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  64. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  65. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  66. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  67. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  68. package/web/.next/standalone/web/.next/server/app/agents.html +1 -0
  69. package/web/.next/standalone/web/.next/server/app/agents.meta +16 -0
  70. package/web/.next/standalone/web/.next/server/app/agents.rsc +25 -0
  71. package/web/.next/standalone/web/.next/server/app/agents.segments/!KG1haW4p/agents/__PAGE__.segment.rsc +9 -0
  72. package/web/.next/standalone/web/.next/server/app/agents.segments/!KG1haW4p/agents.segment.rsc +4 -0
  73. package/web/.next/standalone/web/.next/server/app/agents.segments/!KG1haW4p.segment.rsc +7 -0
  74. package/web/.next/standalone/web/.next/server/app/agents.segments/_full.segment.rsc +25 -0
  75. package/web/.next/standalone/web/.next/server/app/agents.segments/_head.segment.rsc +6 -0
  76. package/web/.next/standalone/web/.next/server/app/agents.segments/_index.segment.rsc +7 -0
  77. package/web/.next/standalone/web/.next/server/app/agents.segments/_tree.segment.rsc +5 -0
  78. package/web/.next/standalone/web/.next/server/app/api/config/route.js.nft.json +1 -1
  79. package/web/.next/standalone/web/.next/server/app/api/health/route.js.nft.json +1 -1
  80. package/web/.next/standalone/web/.next/server/app/docs/installation/page/build-manifest.json +3 -3
  81. package/web/.next/standalone/web/.next/server/app/docs/installation/page_client-reference-manifest.js +1 -1
  82. package/web/.next/standalone/web/.next/server/app/docs/installation.html +2 -2
  83. package/web/.next/standalone/web/.next/server/app/docs/installation.rsc +4 -4
  84. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_full.segment.rsc +4 -4
  85. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_head.segment.rsc +1 -1
  86. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_index.segment.rsc +3 -3
  87. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_tree.segment.rsc +2 -2
  88. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs/installation/__PAGE__.segment.rsc +2 -2
  89. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs/installation.segment.rsc +1 -1
  90. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs.segment.rsc +2 -2
  91. package/web/.next/standalone/web/.next/server/app/docs/page/build-manifest.json +3 -3
  92. package/web/.next/standalone/web/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  93. package/web/.next/standalone/web/.next/server/app/docs/skills/page/build-manifest.json +3 -3
  94. package/web/.next/standalone/web/.next/server/app/docs/skills/page_client-reference-manifest.js +1 -1
  95. package/web/.next/standalone/web/.next/server/app/docs/skills.html +2 -2
  96. package/web/.next/standalone/web/.next/server/app/docs/skills.rsc +4 -4
  97. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_full.segment.rsc +4 -4
  98. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_head.segment.rsc +1 -1
  99. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_index.segment.rsc +3 -3
  100. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_tree.segment.rsc +2 -2
  101. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs/skills/__PAGE__.segment.rsc +1 -1
  102. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs/skills.segment.rsc +1 -1
  103. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs.segment.rsc +2 -2
  104. package/web/.next/standalone/web/.next/server/app/docs/tools/page/build-manifest.json +3 -3
  105. package/web/.next/standalone/web/.next/server/app/docs/tools/page_client-reference-manifest.js +1 -1
  106. package/web/.next/standalone/web/.next/server/app/docs/tools.html +2 -2
  107. package/web/.next/standalone/web/.next/server/app/docs/tools.rsc +4 -4
  108. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_full.segment.rsc +4 -4
  109. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_head.segment.rsc +1 -1
  110. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_index.segment.rsc +3 -3
  111. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_tree.segment.rsc +2 -2
  112. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs/tools/__PAGE__.segment.rsc +2 -2
  113. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs/tools.segment.rsc +1 -1
  114. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs.segment.rsc +2 -2
  115. package/web/.next/standalone/web/.next/server/app/docs.html +2 -2
  116. package/web/.next/standalone/web/.next/server/app/docs.rsc +4 -4
  117. package/web/.next/standalone/web/.next/server/app/docs.segments/_full.segment.rsc +4 -4
  118. package/web/.next/standalone/web/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  119. package/web/.next/standalone/web/.next/server/app/docs.segments/_index.segment.rsc +3 -3
  120. package/web/.next/standalone/web/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  121. package/web/.next/standalone/web/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +2 -2
  122. package/web/.next/standalone/web/.next/server/app/docs.segments/docs.segment.rsc +2 -2
  123. package/web/.next/standalone/web/.next/server/app/index.html +1 -1
  124. package/web/.next/standalone/web/.next/server/app/index.rsc +5 -5
  125. package/web/.next/standalone/web/.next/server/app/index.segments/!KG1haW4p/__PAGE__.segment.rsc +2 -2
  126. package/web/.next/standalone/web/.next/server/app/index.segments/!KG1haW4p.segment.rsc +2 -2
  127. package/web/.next/standalone/web/.next/server/app/index.segments/_full.segment.rsc +5 -5
  128. package/web/.next/standalone/web/.next/server/app/index.segments/_head.segment.rsc +1 -1
  129. package/web/.next/standalone/web/.next/server/app/index.segments/_index.segment.rsc +3 -3
  130. package/web/.next/standalone/web/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  131. package/web/.next/standalone/web/.next/server/app/settings.html +1 -0
  132. package/web/.next/standalone/web/.next/server/app/settings.meta +16 -0
  133. package/web/.next/standalone/web/.next/server/app/settings.rsc +25 -0
  134. package/web/.next/standalone/web/.next/server/app/settings.segments/!KG1haW4p/settings/__PAGE__.segment.rsc +9 -0
  135. package/web/.next/standalone/web/.next/server/app/settings.segments/!KG1haW4p/settings.segment.rsc +4 -0
  136. package/web/.next/standalone/web/.next/server/app/settings.segments/!KG1haW4p.segment.rsc +7 -0
  137. package/web/.next/standalone/web/.next/server/app/settings.segments/_full.segment.rsc +25 -0
  138. package/web/.next/standalone/web/.next/server/app/settings.segments/_head.segment.rsc +6 -0
  139. package/web/.next/standalone/web/.next/server/app/settings.segments/_index.segment.rsc +7 -0
  140. package/web/.next/standalone/web/.next/server/app/settings.segments/_tree.segment.rsc +5 -0
  141. package/web/.next/standalone/web/.next/server/app-paths-manifest.json +2 -1
  142. package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_a383a4d9._.js → 2374f_1f3f2d00._.js} +1 -1
  143. package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_60d8842c._.js → 2374f_38945fd9._.js} +1 -1
  144. package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_f363c084._.js → 2374f_570c34dc._.js} +1 -1
  145. package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_806bd012._.js → 2374f_9c560f3a._.js} +1 -1
  146. package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_b7f45fdf._.js → 2374f_a0d5caeb._.js} +1 -1
  147. package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_c13c8f4f._.js → 2374f_c87abaf4._.js} +1 -1
  148. package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_2801b766._.js → 2374f_d8122230._.js} +1 -1
  149. package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_lucide-react_dist_esm_icons_50c2f239._.js +3 -0
  150. package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__2ea52390._.js +3 -0
  151. package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__6097da17._.js +15 -0
  152. package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__9f149e88._.js +3 -0
  153. package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__b050bb8f._.js +1 -1
  154. package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__be5e2967._.js +1 -1
  155. package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__c94db61a._.js +3 -0
  156. package/web/.next/standalone/web/.next/server/chunks/ssr/web_3b9a2423._.js +3 -0
  157. package/web/.next/standalone/web/.next/server/chunks/ssr/web_4fe3c244._.js +3 -0
  158. package/web/.next/standalone/web/.next/server/chunks/ssr/{web_3c2b112b._.js → web_7ca56356._.js} +3 -3
  159. package/web/.next/standalone/web/.next/server/chunks/ssr/web_8e76ee8b._.js +8 -0
  160. package/web/.next/standalone/web/.next/server/chunks/ssr/web_90d4125e._.js +7 -0
  161. package/web/.next/standalone/web/.next/server/chunks/ssr/web__next-internal_server_app_(main)_agents_page_actions_30f6e448.js +3 -0
  162. package/web/.next/standalone/web/.next/server/chunks/ssr/web__next-internal_server_app_(main)_settings_page_actions_7285839d.js +3 -0
  163. package/web/.next/standalone/web/.next/server/chunks/ssr/web_b38a47ee._.js +4 -0
  164. package/web/.next/standalone/web/.next/server/chunks/ssr/web_f7cf6b63._.js +3 -0
  165. package/web/.next/standalone/web/.next/server/chunks/ssr/web_src_app_(main)_layout_tsx_453f6492._.js +3 -0
  166. package/web/.next/standalone/web/.next/server/chunks/ssr/web_src_app_(main)_page_tsx_5ac4794b._.js +1 -1
  167. package/web/.next/standalone/web/.next/server/chunks/ssr/web_src_app_(main)_settings_page_tsx_eb320e07._.js +33 -0
  168. package/web/.next/standalone/web/.next/server/middleware-build-manifest.js +3 -3
  169. package/web/.next/standalone/web/.next/server/next-font-manifest.js +1 -1
  170. package/web/.next/standalone/web/.next/server/next-font-manifest.json +8 -4
  171. package/web/.next/standalone/web/.next/server/pages/404.html +1 -1
  172. package/web/.next/standalone/web/.next/server/pages/500.html +2 -2
  173. package/web/.next/standalone/web/.next/server/server-reference-manifest.js +1 -1
  174. package/web/.next/standalone/web/.next/server/server-reference-manifest.json +1 -1
  175. package/web/.next/standalone/web/.next/static/chunks/03b5edce6d5b809e.js +1 -0
  176. package/web/.next/standalone/web/.next/static/chunks/29dcecc3c2ca92b0.js +1 -0
  177. package/web/.next/standalone/web/.next/static/chunks/344be859c2c8600b.css +1 -0
  178. package/web/.next/standalone/web/.next/static/chunks/4239395558fab3ef.js +1 -0
  179. package/web/.next/standalone/web/.next/static/chunks/60359bdd369c0c72.js +1 -0
  180. package/web/.next/standalone/web/.next/static/chunks/699803c4fb2dd3fc.js +5 -0
  181. package/web/.next/standalone/web/.next/static/chunks/735a2408c315b2f0.js +1 -0
  182. package/web/.next/standalone/web/.next/static/chunks/ae4bb24474ff1ed0.js +13 -0
  183. package/web/.next/standalone/web/.next/static/chunks/d54077a2bb8314ed.js +31 -0
  184. package/web/.next/standalone/web/.next/static/chunks/dc34aa94e57fa28e.js +3 -0
  185. package/web/.next/standalone/web/.next/static/chunks/ea89ca7892d8c557.js +1 -0
  186. package/web/.next/standalone/web/.next/static/chunks/f0f19357f3fb7cf8.js +1 -0
  187. package/web/.next/standalone/web/.next/static/chunks/f5fe518b79d1bf41.js +1 -0
  188. package/web/.next/standalone/web/.next/static/chunks/fbdcbd65f9a38f4b.js +7 -0
  189. package/web/.next/{static/chunks/turbopack-597558bb7b6982f6.js → standalone/web/.next/static/chunks/turbopack-2c0905c7bbebae3f.js} +1 -1
  190. package/web/.next/standalone/web/.next/static/static/chunks/03b5edce6d5b809e.js +1 -0
  191. package/web/.next/standalone/web/.next/static/static/chunks/29dcecc3c2ca92b0.js +1 -0
  192. package/web/.next/standalone/web/.next/static/static/chunks/344be859c2c8600b.css +1 -0
  193. package/web/.next/standalone/web/.next/static/static/chunks/4239395558fab3ef.js +1 -0
  194. package/web/.next/standalone/web/.next/static/static/chunks/60359bdd369c0c72.js +1 -0
  195. package/web/.next/standalone/web/.next/static/static/chunks/699803c4fb2dd3fc.js +5 -0
  196. package/web/.next/standalone/web/.next/static/static/chunks/735a2408c315b2f0.js +1 -0
  197. package/web/.next/standalone/web/.next/static/static/chunks/ae4bb24474ff1ed0.js +13 -0
  198. package/web/.next/standalone/web/.next/static/static/chunks/d54077a2bb8314ed.js +31 -0
  199. package/web/.next/standalone/web/.next/static/static/chunks/dc34aa94e57fa28e.js +3 -0
  200. package/web/.next/standalone/web/.next/static/static/chunks/ea89ca7892d8c557.js +1 -0
  201. package/web/.next/standalone/web/.next/static/static/chunks/f0f19357f3fb7cf8.js +1 -0
  202. package/web/.next/standalone/web/.next/static/static/chunks/f5fe518b79d1bf41.js +1 -0
  203. package/web/.next/standalone/web/.next/static/static/chunks/fbdcbd65f9a38f4b.js +7 -0
  204. package/web/.next/standalone/web/.next/static/{chunks/turbopack-597558bb7b6982f6.js → static/chunks/turbopack-2c0905c7bbebae3f.js} +1 -1
  205. package/web/.next/standalone/web/next.config.ts +1 -55
  206. package/web/.next/standalone/web/package-lock.json +7 -7
  207. package/web/.next/standalone/web/src/app/(main)/agents/page.tsx +222 -0
  208. package/web/.next/standalone/web/src/app/(main)/page.tsx +40 -1
  209. package/web/.next/standalone/web/src/app/(main)/session/[id]/page.tsx +9 -1
  210. package/web/.next/standalone/web/src/app/(main)/settings/page.tsx +1116 -0
  211. package/web/.next/standalone/web/src/components/ai-elements/mention-input.tsx +125 -17
  212. package/web/.next/standalone/web/src/components/chat-interface.tsx +205 -4
  213. package/web/.next/standalone/web/src/components/pending-question-banner.tsx +106 -0
  214. package/web/.next/standalone/web/src/components/sessions-sidebar.tsx +120 -50
  215. package/web/.next/standalone/web/src/lib/api.ts +43 -2
  216. package/web/.next/static/chunks/03b5edce6d5b809e.js +1 -0
  217. package/web/.next/static/chunks/29dcecc3c2ca92b0.js +1 -0
  218. package/web/.next/static/chunks/344be859c2c8600b.css +1 -0
  219. package/web/.next/static/chunks/4239395558fab3ef.js +1 -0
  220. package/web/.next/static/chunks/60359bdd369c0c72.js +1 -0
  221. package/web/.next/static/chunks/699803c4fb2dd3fc.js +5 -0
  222. package/web/.next/static/chunks/735a2408c315b2f0.js +1 -0
  223. package/web/.next/static/chunks/ae4bb24474ff1ed0.js +13 -0
  224. package/web/.next/static/chunks/d54077a2bb8314ed.js +31 -0
  225. package/web/.next/static/chunks/dc34aa94e57fa28e.js +3 -0
  226. package/web/.next/static/chunks/ea89ca7892d8c557.js +1 -0
  227. package/web/.next/static/chunks/f0f19357f3fb7cf8.js +1 -0
  228. package/web/.next/static/chunks/f5fe518b79d1bf41.js +1 -0
  229. package/web/.next/static/chunks/fbdcbd65f9a38f4b.js +7 -0
  230. package/web/.next/{standalone/web/.next/static/static/chunks/turbopack-597558bb7b6982f6.js → static/chunks/turbopack-2c0905c7bbebae3f.js} +1 -1
  231. package/web/.next/standalone/web/.next/server/app/embed/[id]/page/app-paths-manifest.json +0 -3
  232. package/web/.next/standalone/web/.next/server/app/embed/[id]/page.js.nft.json +0 -1
  233. package/web/.next/standalone/web/.next/server/app/embed/[id]/page_client-reference-manifest.js +0 -2
  234. package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_317b1fef._.js +0 -3
  235. package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_37dd9702._.js +0 -45
  236. package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_4d44e4ed._.js +0 -26
  237. package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_54ac917f._.js +0 -3
  238. package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_86585101._.js +0 -3
  239. package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_c59a35bb._.js +0 -3
  240. package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_fdfc7f3d._.js +0 -31
  241. package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__234f92d8._.js +0 -3
  242. package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__9a826344._.js +0 -3
  243. package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__9d3a7cbf._.js +0 -15
  244. package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__de76483d._.js +0 -3
  245. package/web/.next/standalone/web/.next/server/chunks/ssr/web_08242997._.js +0 -3
  246. package/web/.next/standalone/web/.next/server/chunks/ssr/web_123ffe97._.js +0 -8
  247. package/web/.next/standalone/web/.next/server/chunks/ssr/web_5cca707f._.js +0 -7
  248. package/web/.next/standalone/web/.next/server/chunks/ssr/web_935e81f5._.js +0 -7
  249. package/web/.next/standalone/web/.next/server/chunks/ssr/web_99b01335._.js +0 -8
  250. package/web/.next/standalone/web/.next/server/chunks/ssr/web__next-internal_server_app_embed_[id]_page_actions_dd0b7fea.js +0 -3
  251. package/web/.next/standalone/web/.next/server/chunks/ssr/web_src_components_sessions-sidebar_tsx_92510070._.js +0 -3
  252. package/web/.next/standalone/web/.next/static/chunks/1ebba7ac024244f9.js +0 -5
  253. package/web/.next/standalone/web/.next/static/chunks/275e8268daf318b2.js +0 -7
  254. package/web/.next/standalone/web/.next/static/chunks/2bf377e04592f3c8.js +0 -13
  255. package/web/.next/standalone/web/.next/static/chunks/376a123113ccf5eb.js +0 -3
  256. package/web/.next/standalone/web/.next/static/chunks/58fd0aaa2746b444.js +0 -1
  257. package/web/.next/standalone/web/.next/static/chunks/61c9922b38a9569d.js +0 -3
  258. package/web/.next/standalone/web/.next/static/chunks/74b64476a24dd71e.css +0 -1
  259. package/web/.next/standalone/web/.next/static/chunks/767bcdfbabf0703e.js +0 -7
  260. package/web/.next/standalone/web/.next/static/chunks/9fce2ce79c4c834e.js +0 -1
  261. package/web/.next/standalone/web/.next/static/chunks/a888d448ceab1abe.js +0 -1
  262. package/web/.next/standalone/web/.next/static/chunks/b9ad1584d4e11d12.js +0 -1
  263. package/web/.next/standalone/web/.next/static/chunks/c6f40df16a9396b9.js +0 -1
  264. package/web/.next/standalone/web/.next/static/chunks/ea29be392100ab0f.js +0 -5
  265. package/web/.next/standalone/web/.next/static/static/chunks/1ebba7ac024244f9.js +0 -5
  266. package/web/.next/standalone/web/.next/static/static/chunks/275e8268daf318b2.js +0 -7
  267. package/web/.next/standalone/web/.next/static/static/chunks/2bf377e04592f3c8.js +0 -13
  268. package/web/.next/standalone/web/.next/static/static/chunks/376a123113ccf5eb.js +0 -3
  269. package/web/.next/standalone/web/.next/static/static/chunks/58fd0aaa2746b444.js +0 -1
  270. package/web/.next/standalone/web/.next/static/static/chunks/61c9922b38a9569d.js +0 -3
  271. package/web/.next/standalone/web/.next/static/static/chunks/74b64476a24dd71e.css +0 -1
  272. package/web/.next/standalone/web/.next/static/static/chunks/767bcdfbabf0703e.js +0 -7
  273. package/web/.next/standalone/web/.next/static/static/chunks/9fce2ce79c4c834e.js +0 -1
  274. package/web/.next/standalone/web/.next/static/static/chunks/a888d448ceab1abe.js +0 -1
  275. package/web/.next/standalone/web/.next/static/static/chunks/b9ad1584d4e11d12.js +0 -1
  276. package/web/.next/standalone/web/.next/static/static/chunks/c6f40df16a9396b9.js +0 -1
  277. package/web/.next/standalone/web/.next/static/static/chunks/ea29be392100ab0f.js +0 -5
  278. package/web/.next/standalone/web/src/app/embed/[id]/page.tsx +0 -77
  279. package/web/.next/standalone/web/src/lib/embed-bootstrap.ts +0 -108
  280. package/web/.next/static/chunks/1ebba7ac024244f9.js +0 -5
  281. package/web/.next/static/chunks/275e8268daf318b2.js +0 -7
  282. package/web/.next/static/chunks/2bf377e04592f3c8.js +0 -13
  283. package/web/.next/static/chunks/376a123113ccf5eb.js +0 -3
  284. package/web/.next/static/chunks/58fd0aaa2746b444.js +0 -1
  285. package/web/.next/static/chunks/61c9922b38a9569d.js +0 -3
  286. package/web/.next/static/chunks/74b64476a24dd71e.css +0 -1
  287. package/web/.next/static/chunks/767bcdfbabf0703e.js +0 -7
  288. package/web/.next/static/chunks/9fce2ce79c4c834e.js +0 -1
  289. package/web/.next/static/chunks/a888d448ceab1abe.js +0 -1
  290. package/web/.next/static/chunks/b9ad1584d4e11d12.js +0 -1
  291. package/web/.next/static/chunks/c6f40df16a9396b9.js +0 -1
  292. package/web/.next/static/chunks/ea29be392100ab0f.js +0 -5
  293. package/dist/{search-CCffrVJE.d.ts → search-DOzC4ojH.d.ts} +1 -1
  294. /package/web/.next/standalone/web/.next/server/app/{embed/[id] → (main)/agents}/page/react-loadable-manifest.json +0 -0
  295. /package/web/.next/standalone/web/.next/server/app/{embed/[id] → (main)/agents}/page/server-reference-manifest.json +0 -0
  296. /package/web/.next/standalone/web/.next/server/app/{embed/[id] → (main)/agents}/page.js.map +0 -0
  297. /package/web/.next/standalone/web/.next/static/{WCqUmRTRCgZqwBVGKQESX → eyxBRyMA8Zq36Pfen3Ylj}/_buildManifest.js +0 -0
  298. /package/web/.next/standalone/web/.next/static/{WCqUmRTRCgZqwBVGKQESX → eyxBRyMA8Zq36Pfen3Ylj}/_clientMiddlewareManifest.json +0 -0
  299. /package/web/.next/standalone/web/.next/static/{WCqUmRTRCgZqwBVGKQESX → eyxBRyMA8Zq36Pfen3Ylj}/_ssgManifest.js +0 -0
  300. /package/web/.next/standalone/web/.next/static/static/{WCqUmRTRCgZqwBVGKQESX → eyxBRyMA8Zq36Pfen3Ylj}/_buildManifest.js +0 -0
  301. /package/web/.next/standalone/web/.next/static/static/{WCqUmRTRCgZqwBVGKQESX → eyxBRyMA8Zq36Pfen3Ylj}/_clientMiddlewareManifest.json +0 -0
  302. /package/web/.next/standalone/web/.next/static/static/{WCqUmRTRCgZqwBVGKQESX → eyxBRyMA8Zq36Pfen3Ylj}/_ssgManifest.js +0 -0
  303. /package/web/.next/static/{WCqUmRTRCgZqwBVGKQESX → eyxBRyMA8Zq36Pfen3Ylj}/_buildManifest.js +0 -0
  304. /package/web/.next/static/{WCqUmRTRCgZqwBVGKQESX → eyxBRyMA8Zq36Pfen3Ylj}/_clientMiddlewareManifest.json +0 -0
  305. /package/web/.next/static/{WCqUmRTRCgZqwBVGKQESX → eyxBRyMA8Zq36Pfen3Ylj}/_ssgManifest.js +0 -0
@@ -0,0 +1,33 @@
1
+ module.exports=[344934,a=>{"use strict";var b=a.i(256856),c=a.i(755132),d=a.i(252831),e=a.i(335520);let f=(0,e.default)("slack",[["rect",{width:"3",height:"8",x:"13",y:"2",rx:"1.5",key:"diqz80"}],["path",{d:"M19 8.5V10h1.5A1.5 1.5 0 1 0 19 8.5",key:"183iwg"}],["rect",{width:"3",height:"8",x:"8",y:"14",rx:"1.5",key:"hqg7r1"}],["path",{d:"M5 15.5V14H3.5A1.5 1.5 0 1 0 5 15.5",key:"76g71w"}],["rect",{width:"8",height:"3",x:"14",y:"13",rx:"1.5",key:"1kmz0a"}],["path",{d:"M15.5 19H14v1.5a1.5 1.5 0 1 0 1.5-1.5",key:"jc4sz0"}],["rect",{width:"8",height:"3",x:"2",y:"8",rx:"1.5",key:"1omvl4"}],["path",{d:"M8.5 5H10V3.5A1.5 1.5 0 1 0 8.5 5",key:"16f3cl"}]]),g=(0,e.default)("cloud",[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]]),h=(0,e.default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]),i=(0,e.default)("webhook",[["path",{d:"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2",key:"q3hayz"}],["path",{d:"m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06",key:"1go1hn"}],["path",{d:"m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8",key:"qlwsc0"}]]);var j=a.i(470564);let k=(0,e.default)("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]);var l=a.i(762491),m=a.i(916454),n=a.i(95041),o=a.i(393700),p=a.i(190555),q=a.i(870514);let r=(0,e.default)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]);var s=a.i(221557),t=a.i(96014),t=t,u=a.i(300274);let v=(0,e.default)("shield-check",[["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"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),w=(0,e.default)("plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z",key:"1xoxul"}],["path",{d:"M9 8V2",key:"14iosj"}]]);var x=a.i(476031),y=a.i(338706),z=a.i(878137),A=a.i(555941),B=a.i(156033);let C=a=>`${(0,A.getApiUrl)()}${a}`;async function D(a,b){return(await fetch(C(a),{...b,headers:{"Content-Type":"application/json",...b?.headers||{}}})).json()}let E=[{id:"general",label:"General",icon:q.Bot},{id:"integrations",label:"Integrations",icon:f},{id:"mcp",label:"MCP",icon:w},{id:"schedules",label:"Schedules",icon:h},{id:"webhooks",label:"Webhooks",icon:i},{id:"models",label:"Models",icon:r},{id:"apikeys",label:"API Keys",icon:s.Key}];function F(){let[a,d]=(0,c.useState)("general");return(0,b.jsxs)("div",{className:"h-full flex bg-background",children:[(0,b.jsxs)("nav",{className:"w-56 shrink-0 border-r border-border/60 p-3 overflow-y-auto",children:[(0,b.jsxs)("div",{className:"px-2 py-2 mb-2",children:[(0,b.jsx)("h1",{className:"text-base font-semibold",children:"Settings"}),(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:"Configure your orchestrator and channels."})]}),(0,b.jsx)("ul",{className:"space-y-0.5",children:E.map(c=>{let e=c.icon,f=a===c.id;return(0,b.jsx)("li",{children:(0,b.jsxs)("button",{type:"button",onClick:()=>d(c.id),className:(0,B.cn)("w-full flex items-center gap-2 px-2 py-1.5 rounded-md text-sm transition-colors",f?"bg-accent text-foreground":"hover:bg-accent/60 text-foreground/80"),children:[(0,b.jsx)(e,{className:(0,B.cn)("size-4 shrink-0",f?"text-primary":"text-muted-foreground")}),(0,b.jsx)("span",{children:c.label})]})},c.id)})})]}),(0,b.jsx)("div",{className:"flex-1 min-w-0 overflow-y-auto",children:(0,b.jsxs)("div",{className:"max-w-3xl mx-auto p-6",children:["general"===a&&(0,b.jsx)(H,{}),"integrations"===a&&(0,b.jsx)(I,{}),"mcp"===a&&(0,b.jsx)(Y,{}),"schedules"===a&&(0,b.jsx)(P,{}),"webhooks"===a&&(0,b.jsx)(S,{}),"models"===a&&(0,b.jsx)(V,{}),"apikeys"===a&&(0,b.jsx)(W,{})]})})]})}function G({title:a,description:c}){return(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsx)("h2",{className:"text-lg font-semibold",children:a}),c&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground mt-0.5",children:c})]})}function H(){let[a,e]=(0,c.useState)(null),[f,g]=(0,c.useState)(""),[h,i]=(0,c.useState)(""),[j,k]=(0,c.useState)(!1),[l,m]=(0,c.useState)(!1),n=(0,c.useCallback)(async()=>{let a=await D("/api/orchestrator");e(a),g(a.name||""),i(a.personality||"")},[]);(0,c.useEffect)(()=>{n()},[n]);let o=async()=>{k(!0),m(!1);try{await D("/api/orchestrator",{method:"PATCH",body:JSON.stringify({name:f||void 0,personality:h})}),m(!0),setTimeout(()=>m(!1),1500)}finally{k(!1)}};if(!a)return(0,b.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,b.jsx)(d.Loader2,{className:"size-5 animate-spin text-muted-foreground"})});let p=f!==a.name||h!==(a.personality||"");return(0,b.jsxs)("section",{children:[(0,b.jsx)(G,{title:"Orchestrator",description:"Your supervisor agent's name and personality. The personality is appended to its system prompt."}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(z.Label,{className:"text-sm font-medium",children:"Agent name"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mb-1.5",children:"Shown in the sidebar and chat header."}),(0,b.jsx)(y.Input,{value:f,onChange:a=>g(a.target.value),placeholder:"Orchestrator",className:"max-w-md"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(z.Label,{className:"text-sm font-medium",children:"Personality / persona"}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground mb-1.5",children:["Optional. Free-form instructions appended to your orchestrator's system prompt every turn. Examples: ",(0,b.jsx)("em",{children:'"speak in haiku"'}),", ",(0,b.jsx)("em",{children:'"be terse and professional"'}),", ",(0,b.jsx)("em",{children:'"respond in Korean"'}),",",(0,b.jsx)("em",{children:'"you are a senior engineer who values shipping over perfection"'}),"."]}),(0,b.jsx)("textarea",{value:h,onChange:a=>i(a.target.value),rows:6,placeholder:"(blank = default tone)",className:"w-full rounded-md border border-input bg-background px-3 py-2 text-sm font-mono focus:outline-none focus:ring-2 focus:ring-primary/40"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3 pt-1",children:[(0,b.jsxs)(x.Button,{onClick:o,disabled:!p||j,children:[j?(0,b.jsx)(d.Loader2,{className:"size-4 animate-spin mr-2"}):null,"Save"]}),l&&(0,b.jsx)("span",{className:"text-xs text-emerald-500",children:"Saved ✓"})]}),(0,b.jsxs)("div",{className:"rounded-md border border-border/40 bg-muted/30 p-3 text-xs space-y-1",children:[(0,b.jsxs)("p",{children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:"Session id:"})," ",(0,b.jsx)("code",{children:a.id})]}),(0,b.jsxs)("p",{children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:"Model:"})," ",(0,b.jsx)("code",{children:a.model})]}),(0,b.jsxs)("p",{children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:"Working directory:"})," ",(0,b.jsx)("code",{className:"break-all",children:a.workingDirectory})]})]})]})]})}function I(){let[a,e]=(0,c.useState)(null),f=(0,c.useCallback)(async()=>{e(await D("/api/integrations"))},[]);return((0,c.useEffect)(()=>{f()},[f]),a)?(0,b.jsxs)("section",{className:"space-y-4",children:[(0,b.jsx)(G,{title:"Integrations",description:"External channels the orchestrator can send and receive messages on."}),(0,b.jsx)(J,{data:a,onChange:f}),(0,b.jsx)(O,{data:a})]}):(0,b.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,b.jsx)(d.Loader2,{className:"size-5 animate-spin text-muted-foreground"})})}function J({data:a,onChange:e}){var g;let h,[i,j]=(0,c.useState)(""),[k,l]=(0,c.useState)(""),[m,n]=(0,c.useState)(!1),[q,r]=(0,c.useState)(!1),[s,u]=(0,c.useState)(""),[w,A]=(0,c.useState)(null),[B,C]=(0,c.useState)(!1),E=async()=>{r(!0);try{await D("/api/integrations/slack",{method:"POST",body:JSON.stringify({botToken:i||void 0,signingSecret:k||void 0})}),j(""),l(""),e()}finally{r(!1)}},F=async()=>{confirm("Remove Slack credentials?")&&(await D("/api/integrations/slack",{method:"DELETE"}),e())},G=async()=>{if(!s)return;A("Sending…");let a=await D("/api/integrations/slack/test",{method:"POST",body:JSON.stringify({channel:s})});A(a.ok?"Sent.":`Failed: ${a.error}`)};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(_,{children:[(0,b.jsx)(aa,{icon:(0,b.jsx)(f,{className:"size-4 text-[#4A154B] dark:text-pink-300"}),title:"Slack",status:a.slack.configured?"Configured":"Not configured",statusTone:a.slack.configured?"text-emerald-500":"text-muted-foreground"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mb-3",children:"Lets the orchestrator receive @mentions and DMs in Slack and reply in-thread via the messenger tool."}),(0,b.jsx)("div",{className:"flex gap-2 mb-3",children:(0,b.jsxs)(x.Button,{size:"sm",variant:"outline",onClick:()=>C(!0),children:[(0,b.jsx)(t.default,{className:"size-3.5 mr-1.5"}),"Setup instructions"]})}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(z.Label,{className:"text-xs",children:"Bot token (xoxb-...)"}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(y.Input,{type:m?"text":"password",value:i,onChange:a=>j(a.target.value),placeholder:a.slack.botTokenSet?"(set)":"xoxb-...",className:"text-xs"}),(0,b.jsx)(x.Button,{variant:"outline",size:"icon",onClick:()=>n(a=>!a),children:m?(0,b.jsx)(p.EyeOff,{className:"size-3.5"}):(0,b.jsx)(o.Eye,{className:"size-3.5"})})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(z.Label,{className:"text-xs",children:"Signing secret"}),(0,b.jsx)(y.Input,{type:"password",value:k,onChange:a=>l(a.target.value),placeholder:a.slack.signingSecretSet?"(set)":"...",className:"text-xs"})]}),(0,b.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,b.jsx)(x.Button,{size:"sm",onClick:E,disabled:q||!i&&!k,children:q?(0,b.jsx)(d.Loader2,{className:"size-3.5 animate-spin"}):"Save"}),a.slack.configured&&(0,b.jsx)(x.Button,{size:"sm",variant:"outline",onClick:F,children:"Disconnect"})]})]}),(0,b.jsxs)("div",{className:"mt-3 rounded border border-border/40 bg-background/50 p-2 text-xs space-y-1",children:[(0,b.jsxs)("p",{children:[(0,b.jsx)("strong",{children:"Events URL"})," (paste into Slack → Event Subscriptions):"]}),(0,b.jsx)("code",{className:"block px-2 py-1 rounded bg-muted text-[11px] break-all",children:a.slack.eventsUrl}),(0,b.jsxs)("p",{className:"text-muted-foreground",children:["Subscribe to bot events: ",(0,b.jsx)("code",{children:"app_mention"}),", ",(0,b.jsx)("code",{children:"message.im"}),"."]})]}),a.slack.configured&&(0,b.jsxs)("div",{className:"mt-3 flex gap-2 items-end",children:[(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)(z.Label,{className:"text-xs",children:"Test post (channel id or #channel)"}),(0,b.jsx)(y.Input,{value:s,onChange:a=>u(a.target.value),placeholder:"C0123 or #general",className:"text-xs"})]}),(0,b.jsx)(x.Button,{size:"sm",variant:"outline",onClick:G,disabled:!s,children:"Send test"}),w&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:w})]})]}),(0,b.jsxs)(_,{children:[(0,b.jsx)(aa,{icon:(0,b.jsx)(v,{className:"size-4 text-amber-500"}),title:"Slack access control",status:(g=a.slack,h=[],g.allowedUsers.length>0&&h.push(`${g.allowedUsers.length} user(s)`),g.allowedChannels.length>0&&h.push(`${g.allowedChannels.length} channel(s)`),g.allowDmsFromAnyone||h.push("DMs locked"),0===h.length?"Open to anyone":h.join(" · ")),statusTone:"text-muted-foreground"}),(0,b.jsx)(K,{data:a,onChange:e})]}),B&&(0,b.jsx)(L,{eventsUrl:a.slack.eventsUrl,onClose:()=>C(!1)})]})}function K({data:a,onChange:e}){let[f,g]=(0,c.useState)(a.slack.allowedUsers.join(", ")),[h,i]=(0,c.useState)(a.slack.allowedChannels.join(", ")),[j,k]=(0,c.useState)(a.slack.allowDmsFromAnyone),[l,m]=(0,c.useState)(a.slack.deniedReplyEnabled),[n,o]=(0,c.useState)(a.slack.deniedReplyTemplate),[p,q]=(0,c.useState)(!1),[r,s]=(0,c.useState)(!1),t=f.trim()!==a.slack.allowedUsers.join(", ").trim()||h.trim()!==a.slack.allowedChannels.join(", ").trim()||j!==a.slack.allowDmsFromAnyone||l!==a.slack.deniedReplyEnabled||n!==a.slack.deniedReplyTemplate,u=async()=>{q(!0),s(!1);try{let a=a=>a.split(/[\s,]+/).map(a=>a.trim()).filter(Boolean);await D("/api/integrations/slack",{method:"POST",body:JSON.stringify({allowedUsers:a(f),allowedChannels:a(h),allowDmsFromAnyone:j,deniedReplyEnabled:l,deniedReplyTemplate:n})}),e(),s(!0),setTimeout(()=>s(!1),1500)}finally{q(!1)}};return(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Empty lists = no allowlist (accept anyone Slack delivers an event for). When a list is set, only matching users / channels can talk to the orchestrator."}),(0,b.jsxs)("div",{children:[(0,b.jsx)(z.Label,{className:"text-xs",children:"Allowed users (Slack user IDs)"}),(0,b.jsxs)("p",{className:"text-[11px] text-muted-foreground mb-1",children:["Comma or space separated. e.g. ",(0,b.jsx)("code",{children:"U01ABCD"}),", ",(0,b.jsx)("code",{children:"U09XYZ"}),". Leave blank to allow anyone."]}),(0,b.jsx)(y.Input,{value:f,onChange:a=>g(a.target.value),placeholder:"U01..., U02...",className:"text-xs font-mono"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(z.Label,{className:"text-xs",children:"Allowed channels (Slack channel IDs)"}),(0,b.jsxs)("p",{className:"text-[11px] text-muted-foreground mb-1",children:["Channel IDs only (not ",(0,b.jsx)("code",{children:"#name"}),"). e.g. ",(0,b.jsx)("code",{children:"C012345"}),". Affects @mentions; DMs use the toggle below."]}),(0,b.jsx)(y.Input,{value:h,onChange:a=>i(a.target.value),placeholder:"C012345, C098765",className:"text-xs font-mono"})]}),(0,b.jsxs)("label",{className:"flex items-start gap-2 cursor-pointer",children:[(0,b.jsx)("input",{type:"checkbox",checked:j,onChange:a=>k(a.target.checked),className:"mt-1"}),(0,b.jsxs)("div",{className:"text-xs",children:[(0,b.jsx)("span",{className:"font-medium",children:"Allow DMs from anyone"}),(0,b.jsx)("p",{className:"text-muted-foreground",children:"On: anyone who DMs your bot can talk to it. Off: only users in the allowlist above can DM."})]})]}),(0,b.jsxs)("div",{className:"border-t border-border/40 pt-3",children:[(0,b.jsxs)("label",{className:"flex items-start gap-2 cursor-pointer",children:[(0,b.jsx)("input",{type:"checkbox",checked:l,onChange:a=>m(a.target.checked),className:"mt-1"}),(0,b.jsxs)("div",{className:"text-xs",children:[(0,b.jsx)("span",{className:"font-medium",children:"Auto-reply to denied users"}),(0,b.jsx)("p",{className:"text-muted-foreground",children:"When someone is blocked by the rules above, post a canned reply (no AI) so they know why nothing happened. Posted in-thread for @mentions; in the DM for DMs."})]})]}),(0,b.jsxs)("div",{className:"mt-2 pl-6",children:[(0,b.jsx)(z.Label,{className:"text-xs",children:"Reply template"}),(0,b.jsxs)("p",{className:"text-[11px] text-muted-foreground mb-1",children:["Placeholders: ",(0,b.jsx)("code",{className:"px-1 rounded bg-muted",children:"{user}"})," → mentions the requester, ",(0,b.jsx)("code",{className:"px-1 rounded bg-muted",children:"{channel}"})," → mentions the channel."]}),(0,b.jsx)("textarea",{value:n,onChange:a=>o(a.target.value),rows:3,disabled:!l,className:"w-full rounded-md border border-input bg-background px-2 py-1.5 text-xs disabled:opacity-50"})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 pt-1",children:[(0,b.jsx)(x.Button,{size:"sm",onClick:u,disabled:!t||p,children:p?(0,b.jsx)(d.Loader2,{className:"size-3.5 animate-spin"}):"Save"}),r&&(0,b.jsx)("span",{className:"text-xs text-emerald-500",children:"Saved ✓"})]})]})}function L({eventsUrl:a,onClose:d}){var e;let[g,h]=(0,c.useState)(null),i=(e=a,`display_information:
2
+ name: sparkecoder
3
+ description: Your orchestrator agent. Spawns worker agents, posts updates, answers questions.
4
+ background_color: "#1f1f24"
5
+ features:
6
+ bot_user:
7
+ display_name: sparkecoder
8
+ always_online: true
9
+ oauth_config:
10
+ scopes:
11
+ bot:
12
+ - app_mentions:read
13
+ - channels:history
14
+ - chat:write
15
+ - groups:history
16
+ - im:history
17
+ - im:read
18
+ - im:write
19
+ - users:read
20
+ settings:
21
+ event_subscriptions:
22
+ request_url: ${e}
23
+ bot_events:
24
+ - app_mention
25
+ - message.im
26
+ interactivity:
27
+ is_enabled: false
28
+ org_deploy_enabled: false
29
+ socket_mode_enabled: false
30
+ token_rotation_enabled: false
31
+ `),j=async(a,b)=>{await navigator.clipboard.writeText(b),h(a),setTimeout(()=>h(null),1500)};return(0,b.jsx)("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",onClick:d,children:(0,b.jsxs)("div",{className:"bg-card rounded-lg border border-border max-w-2xl w-full max-h-[85vh] overflow-y-auto shadow-2xl",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-b border-border/60 sticky top-0 bg-card",children:[(0,b.jsxs)("h2",{className:"text-base font-semibold flex items-center gap-2",children:[(0,b.jsx)(f,{className:"size-4 text-[#4A154B] dark:text-pink-300"}),"Slack setup"]}),(0,b.jsx)(x.Button,{size:"icon",variant:"ghost",onClick:d,children:(0,b.jsx)(u.X,{className:"size-4"})})]}),(0,b.jsxs)("div",{className:"p-5 space-y-5 text-sm",children:[(0,b.jsxs)(M,{n:1,title:"Create a Slack app from manifest",children:[(0,b.jsxs)("p",{children:["Go to ",(0,b.jsx)("a",{href:"https://api.slack.com/apps?new_app=1",target:"_blank",rel:"noreferrer",className:"text-primary underline",children:"api.slack.com/apps"}),", click ",(0,b.jsx)("strong",{children:"Create New App"})," → ",(0,b.jsx)("strong",{children:"From a manifest"}),", pick your workspace, paste the YAML below, then create."]}),(0,b.jsx)(N,{label:"Slack manifest",value:i,onCopy:()=>j("manifest",i),copied:"manifest"===g})]}),(0,b.jsxs)(M,{n:2,title:"Grab credentials",children:[(0,b.jsxs)("p",{children:["In your new app's ",(0,b.jsx)("strong",{children:"Basic Information"})," page, copy the ",(0,b.jsx)("strong",{children:"Signing Secret"}),". Then under ",(0,b.jsx)("strong",{children:"OAuth & Permissions"}),", install the app to your workspace and copy the ",(0,b.jsx)("strong",{children:"Bot User OAuth Token"})," (starts with ",(0,b.jsx)("code",{children:"xoxb-"}),")."]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Paste both into the Slack card above, then click Save."})]}),(0,b.jsxs)(M,{n:3,title:"Verify the Events URL",children:[(0,b.jsxs)("p",{children:["Slack will challenge the URL automatically when you create the app from the manifest (it's pre-filled with your URL below). If it shows ",(0,b.jsx)("strong",{children:"Verified"})," you're done."]}),(0,b.jsx)(N,{label:"Events URL (already in the manifest)",value:a,onCopy:()=>j("eventsUrl",a),copied:"eventsUrl"===g,mono:!0}),(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"If verification fails, your sparkecoder isn't reachable from the public internet. Set up a cloudflared tunnel — see the Cloudflared card."})]}),(0,b.jsx)(M,{n:4,title:"Invite the bot to channels",children:(0,b.jsxs)("p",{children:["In Slack: ",(0,b.jsx)("code",{children:"/invite @your-bot-name"})," in any channel you want it to respond in. (DMs work without an invite.)"]})}),(0,b.jsxs)(M,{n:5,title:"Lock it down (optional but recommended)",children:[(0,b.jsxs)("p",{children:["By default ",(0,b.jsx)("strong",{children:"anyone"})," in your workspace can DM the bot or mention it in any channel it's in. Use the ",(0,b.jsx)("strong",{children:"Slack access control"})," section to limit access to specific Slack user IDs and channel IDs."]}),(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"Find a user ID: click their name in Slack → ⋮ → Copy member ID. Find a channel ID: click the channel name → About → bottom of the panel."})]})]})]})})}function M({n:a,title:c,children:d}){return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("h3",{className:"font-medium flex items-center gap-2",children:[(0,b.jsx)("span",{className:"inline-flex items-center justify-center size-5 rounded-full bg-primary/15 text-primary text-[11px] font-semibold",children:a}),c]}),(0,b.jsx)("div",{className:"pl-7 space-y-2 text-sm text-foreground/90",children:d})]})}function N({label:a,value:c,onCopy:d,copied:e,mono:f}){return(0,b.jsxs)("div",{className:"rounded border border-border/60 bg-background/60 overflow-hidden",children:[(0,b.jsxs)("div",{className:"px-3 py-1.5 flex items-center justify-between border-b border-border/40 bg-muted/40",children:[(0,b.jsx)("span",{className:"text-[11px] text-muted-foreground",children:a}),(0,b.jsxs)(x.Button,{size:"sm",variant:"ghost",onClick:d,className:"h-6 text-[11px]",children:[e?(0,b.jsx)(n.Check,{className:"size-3 mr-1"}):(0,b.jsx)(j.Copy,{className:"size-3 mr-1"}),e?"Copied":"Copy"]})]}),(0,b.jsx)("pre",{className:(0,B.cn)("px-3 py-2 text-[11px] overflow-x-auto whitespace-pre-wrap break-all",f&&"font-mono"),children:c})]})}function O({data:a}){return(0,b.jsxs)(_,{children:[(0,b.jsx)(aa,{icon:(0,b.jsx)(g,{className:"size-4 text-orange-500"}),title:"Cloudflared tunnel",status:a.cloudflared.publicBaseUrl?"Hostname set":"Local-only",statusTone:a.cloudflared.publicBaseUrl?"text-emerald-500":"text-muted-foreground"}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground mb-2",children:["Required to receive Slack events and webhook hits from the public internet. Run"," ",(0,b.jsx)("code",{className:"px-1 rounded bg-muted text-[11px]",children:"sparkecoder cloudflared-setup"})," for a copy-paste recipe."]}),a.cloudflared.publicBaseUrl&&(0,b.jsxs)("div",{className:"text-xs",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:"Public base: "}),(0,b.jsx)("code",{className:"px-1 rounded bg-muted",children:a.cloudflared.publicBaseUrl})]}),a.cfAccess.enabled&&(0,b.jsxs)("div",{className:"mt-2 text-xs",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:"CF Access: "}),(0,b.jsx)("span",{className:"text-emerald-500",children:"enabled"}),a.cfAccess.allowedEmails.length>0&&(0,b.jsxs)("span",{className:"text-muted-foreground",children:[" · ",a.cfAccess.allowedEmails.length," allowed email(s)"]})]})]})}function P(){let[a,d]=(0,c.useState)([]),[e,f]=(0,c.useState)(!1),g=(0,c.useCallback)(async()=>{d((await D("/api/schedules")).schedules||[])},[]);return(0,c.useEffect)(()=>{g()},[g]),(0,b.jsxs)("section",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)(G,{title:"Schedules",description:"Recurring prompts that wake the orchestrator on a cron."}),(0,b.jsxs)(x.Button,{size:"sm",variant:"outline",onClick:()=>f(a=>!a),children:[(0,b.jsx)(m.Plus,{className:"size-3.5 mr-1"}),"New"]})]}),e&&(0,b.jsx)(Q,{onCancel:()=>f(!1),onSaved:()=>{f(!1),g()}}),0===a.length?(0,b.jsx)("p",{className:"text-xs text-muted-foreground italic px-1",children:"No schedules yet."}):(0,b.jsx)("div",{className:"space-y-2",children:a.map(a=>(0,b.jsx)(R,{row:a,onChange:g},a.id))})]})}function Q({initial:a,onCancel:e,onSaved:f}){let[g,h]=(0,c.useState)(a?.name||""),[i,j]=(0,c.useState)(a?.cron||"0 9 * * 1-5"),[k,l]=(0,c.useState)(a?.prompt||""),[m,n]=(0,c.useState)(a?.replyChannel||""),[o,p]=(0,c.useState)(!1),q=async()=>{if(g&&i&&k){p(!0);try{a?.id?await D(`/api/schedules/${a.id}`,{method:"PATCH",body:JSON.stringify({name:g,cron:i,prompt:k,replyChannel:m||void 0})}):await D("/api/schedules",{method:"POST",body:JSON.stringify({name:g,cron:i,prompt:k,replyChannel:m||void 0})}),f()}finally{p(!1)}}};return(0,b.jsxs)("div",{className:"rounded-lg border border-border/60 bg-card/40 p-3 mb-2 space-y-2",children:[(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(z.Label,{className:"text-xs",children:"Name"}),(0,b.jsx)(y.Input,{value:g,onChange:a=>h(a.target.value),placeholder:"standup-9am",className:"text-xs"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(z.Label,{className:"text-xs",children:"Cron (5 fields)"}),(0,b.jsx)(y.Input,{value:i,onChange:a=>j(a.target.value),placeholder:"0 9 * * 1-5",className:"text-xs font-mono"})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(z.Label,{className:"text-xs",children:"Prompt"}),(0,b.jsx)(y.Input,{value:k,onChange:a=>l(a.target.value),placeholder:"Summarize yesterday's git activity",className:"text-xs"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(z.Label,{className:"text-xs",children:"Default reply channel (optional)"}),(0,b.jsx)(y.Input,{value:m,onChange:a=>n(a.target.value),placeholder:"slack:#standup",className:"text-xs"})]}),(0,b.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,b.jsx)(x.Button,{size:"sm",onClick:q,disabled:o||!g||!i||!k,children:o?(0,b.jsx)(d.Loader2,{className:"size-3.5 animate-spin"}):"Save"}),(0,b.jsx)(x.Button,{size:"sm",variant:"ghost",onClick:e,children:"Cancel"})]})]})}function R({row:a,onChange:c}){let d=async()=>{await D(`/api/schedules/${a.id}`,{method:"PATCH",body:JSON.stringify({enabled:!a.enabled})}),c()},e=async()=>{confirm(`Delete schedule "${a.name}"?`)&&(await D(`/api/schedules/${a.id}`,{method:"DELETE"}),c())};return(0,b.jsxs)("div",{className:"rounded-md border border-border/60 bg-background/50 p-3 flex items-start gap-3",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-sm font-medium",children:a.name}),!a.enabled&&(0,b.jsx)("span",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:"paused"})]}),(0,b.jsx)("code",{className:"text-[11px] text-muted-foreground font-mono",children:a.cron}),(0,b.jsx)("p",{className:"text-xs mt-1 line-clamp-2 text-foreground/80",children:a.prompt}),a.replyChannel&&(0,b.jsxs)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:["replyChannel: ",a.replyChannel]}),a.lastFiredAt&&(0,b.jsxs)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:["last fired ",new Date(a.lastFiredAt).toLocaleString()]})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,b.jsx)(x.Button,{size:"sm",variant:"outline",onClick:d,children:a.enabled?"Pause":"Resume"}),(0,b.jsx)(x.Button,{size:"sm",variant:"ghost",onClick:e,className:"text-rose-500 hover:text-rose-600",children:(0,b.jsx)(l.Trash2,{className:"size-3.5"})})]})]})}function S(){let[a,d]=(0,c.useState)([]),[e,f]=(0,c.useState)(!1),g=(0,c.useCallback)(async()=>{d((await D("/api/webhooks")).webhooks||[])},[]);return(0,c.useEffect)(()=>{g()},[g]),(0,b.jsxs)("section",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)(G,{title:"Webhooks",description:"Custom token-protected URLs. POST any JSON to ping the orchestrator."}),(0,b.jsxs)(x.Button,{size:"sm",variant:"outline",onClick:()=>f(a=>!a),children:[(0,b.jsx)(m.Plus,{className:"size-3.5 mr-1"}),"New"]})]}),e&&(0,b.jsx)(T,{onCancel:()=>f(!1),onSaved:()=>{f(!1),g()}}),0===a.length?(0,b.jsx)("p",{className:"text-xs text-muted-foreground italic px-1",children:"No webhooks yet."}):(0,b.jsx)("div",{className:"space-y-2",children:a.map(a=>(0,b.jsx)(U,{row:a,onChange:g},a.id))})]})}function T({onCancel:a,onSaved:e}){let[f,g]=(0,c.useState)(""),[h,i]=(0,c.useState)("now"),[j,k]=(0,c.useState)(""),[l,m]=(0,c.useState)(!1),n=async()=>{if(f){m(!0);try{await D("/api/webhooks",{method:"POST",body:JSON.stringify({name:f,wake:h,template:j||void 0})}),e()}finally{m(!1)}}};return(0,b.jsxs)("div",{className:"rounded-lg border border-border/60 bg-card/40 p-3 mb-2 space-y-2",children:[(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(z.Label,{className:"text-xs",children:"Name"}),(0,b.jsx)(y.Input,{value:f,onChange:a=>g(a.target.value),placeholder:"github-prs",className:"text-xs"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(z.Label,{className:"text-xs",children:"Wake"}),(0,b.jsxs)("select",{value:h,onChange:a=>i(a.target.value),className:"w-full text-xs h-9 rounded-md border border-input bg-background px-2",children:[(0,b.jsx)("option",{value:"now",children:"now — ping orchestrator immediately"}),(0,b.jsx)("option",{value:"next",children:"next — add as context, fire later"})]})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(z.Label,{className:"text-xs",children:"Template (optional)"}),(0,b.jsx)(y.Input,{value:j,onChange:a=>k(a.target.value),placeholder:"PR {{pull_request.title}} by {{sender.login}}",className:"text-xs font-mono"})]}),(0,b.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,b.jsx)(x.Button,{size:"sm",onClick:n,disabled:l||!f,children:l?(0,b.jsx)(d.Loader2,{className:"size-3.5 animate-spin"}):"Create"}),(0,b.jsx)(x.Button,{size:"sm",variant:"ghost",onClick:a,children:"Cancel"})]})]})}function U({row:a,onChange:d}){let[e,f]=(0,c.useState)(!1),g=async()=>{await navigator.clipboard.writeText(a.url),f(!0),setTimeout(()=>f(!1),1500)},h=async()=>{confirm("Rotate the token?")&&(await D(`/api/webhooks/${a.id}`,{method:"PATCH",body:JSON.stringify({rotateToken:!0})}),d())},i=async()=>{confirm(`Delete webhook "${a.name}"?`)&&(await D(`/api/webhooks/${a.id}`,{method:"DELETE"}),d())};return(0,b.jsxs)("div",{className:"rounded-md border border-border/60 bg-background/50 p-3 space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-sm font-medium",children:a.name}),(0,b.jsxs)("span",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:["wake=",a.wake]}),(0,b.jsxs)("span",{className:"ml-auto text-[11px] text-muted-foreground",children:[a.hitCount," hit",1===a.hitCount?"":"s"]})]}),(0,b.jsxs)("div",{className:"flex gap-1 items-center",children:[(0,b.jsx)("code",{className:"flex-1 text-[11px] px-2 py-1 rounded bg-muted break-all",children:a.url}),(0,b.jsx)(x.Button,{size:"icon",variant:"outline",onClick:g,children:e?(0,b.jsx)(n.Check,{className:"size-3.5"}):(0,b.jsx)(j.Copy,{className:"size-3.5"})}),(0,b.jsx)(x.Button,{size:"icon",variant:"outline",onClick:h,title:"Rotate token",children:(0,b.jsx)(k,{className:"size-3.5"})}),(0,b.jsx)(x.Button,{size:"icon",variant:"ghost",onClick:i,className:"text-rose-500 hover:text-rose-600",children:(0,b.jsx)(l.Trash2,{className:"size-3.5"})})]}),a.template&&(0,b.jsxs)("p",{className:"text-[10px] text-muted-foreground font-mono",children:["template: ",a.template]}),a.lastHitAt&&(0,b.jsxs)("p",{className:"text-[10px] text-muted-foreground",children:["last hit ",new Date(a.lastHitAt).toLocaleString()]})]})}function V(){let[a,e]=(0,c.useState)(null);if((0,c.useEffect)(()=>{(async()=>{e(await (0,A.getConfig)())})()},[]),!a)return(0,b.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,b.jsx)(d.Loader2,{className:"size-5 animate-spin text-muted-foreground"})});let f=a.availableModels.find(b=>b.id===a.defaultModel);return(0,b.jsxs)("section",{children:[(0,b.jsx)(G,{title:"Models",description:"Default model used for new sessions (orchestrator + workers). You can override per-session from the chat header."}),(0,b.jsxs)("div",{className:"rounded-lg border border-border/60 bg-card/40 p-3 max-w-lg",children:[(0,b.jsx)(z.Label,{className:"text-xs",children:"Current default"}),(0,b.jsxs)("p",{className:"text-sm mt-1",children:[(0,b.jsx)("strong",{children:f?.name||a.defaultModel}),f?.provider&&(0,b.jsxs)("span",{className:"text-muted-foreground",children:[" — ",f.provider]})]}),(0,b.jsxs)("p",{className:"text-[11px] text-muted-foreground mt-2",children:["To change the default, set ",(0,b.jsx)("code",{className:"px-1 rounded bg-muted",children:"defaultModel"})," in your"," ",(0,b.jsx)("code",{className:"px-1 rounded bg-muted",children:"sparkecoder.config.json"})," and restart the server."]})]}),(0,b.jsxs)("div",{className:"mt-4",children:[(0,b.jsx)(z.Label,{className:"text-xs uppercase tracking-wide text-muted-foreground",children:"Available models"}),(0,b.jsx)("div",{className:"mt-2 rounded-lg border border-border/60 divide-y divide-border/40",children:a.availableModels.map(c=>(0,b.jsxs)("div",{className:(0,B.cn)("flex items-center justify-between px-3 py-2 text-sm",c.id===a.defaultModel&&"bg-primary/5"),children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"font-medium",children:c.name}),(0,b.jsxs)("span",{className:"text-muted-foreground",children:[" — ",c.provider]}),c.id===a.defaultModel&&(0,b.jsx)("span",{className:"ml-2 text-[10px] uppercase tracking-wide text-primary",children:"default"})]}),(0,b.jsx)("code",{className:"text-[10px] text-muted-foreground font-mono",children:c.id})]},c.id))})]})]})}function W(){let[a,d]=(0,c.useState)([]),e=(0,c.useCallback)(async()=>{d((await D("/health/api-keys")).providers||[])},[]);return(0,c.useEffect)(()=>{e()},[e]),(0,b.jsxs)("section",{children:[(0,b.jsx)(G,{title:"API Keys",description:"Provider credentials used for AI inference (Vercel AI Gateway etc.). Keys are stored locally."}),(0,b.jsxs)("div",{className:"space-y-2",children:[a.map(a=>(0,b.jsx)(X,{keyStatus:a,onChange:e},a.provider)),0===a.length&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground italic px-1",children:"No providers configured."})]})]})}function X({keyStatus:a,onChange:e}){let[f,g]=(0,c.useState)(!1),[h,i]=(0,c.useState)(""),[j,k]=(0,c.useState)(!1),[m,n]=(0,c.useState)(!1),q=async()=>{if(h.trim()){n(!0);try{await D("/health/api-keys",{method:"POST",body:JSON.stringify({provider:a.provider,apiKey:h.trim()})}),i(""),g(!1),e()}finally{n(!1)}}},r=async()=>{confirm(`Remove ${a.provider} API key?`)&&(await fetch(C(`/health/api-keys/${a.provider}`),{method:"DELETE"}),e())};return(0,b.jsxs)("div",{className:"rounded-md border border-border/60 bg-background/50 p-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-sm font-medium capitalize",children:a.provider}),a.configured&&(0,b.jsx)("span",{className:(0,B.cn)("text-[10px] px-1.5 py-0.5 rounded font-medium","env"===a.source?"bg-blue-500/20 text-blue-600 dark:text-blue-300":"bg-emerald-500/20 text-emerald-600 dark:text-emerald-300"),children:"env"===a.source?"from env":"saved"}),(0,b.jsx)("span",{className:"ml-auto text-[10px] text-muted-foreground font-mono",children:a.envVar})]}),f?(0,b.jsxs)("div",{className:"flex gap-2 mt-2",children:[(0,b.jsxs)("div",{className:"relative flex-1",children:[(0,b.jsx)(y.Input,{type:j?"text":"password",value:h,onChange:a=>i(a.target.value),placeholder:"Paste your API key…",className:"pr-8 text-xs font-mono",autoFocus:!0}),(0,b.jsx)(x.Button,{type:"button",variant:"ghost",size:"icon",className:"absolute right-0 top-0 h-full px-2 hover:bg-transparent",onClick:()=>k(a=>!a),children:j?(0,b.jsx)(p.EyeOff,{className:"size-3.5"}):(0,b.jsx)(o.Eye,{className:"size-3.5"})})]}),(0,b.jsx)(x.Button,{size:"sm",onClick:q,disabled:m||!h.trim(),children:m?(0,b.jsx)(d.Loader2,{className:"size-3.5 animate-spin"}):"Save"}),(0,b.jsx)(x.Button,{size:"sm",variant:"ghost",onClick:()=>{g(!1),i("")},children:"Cancel"})]}):(0,b.jsxs)("div",{className:"flex items-center mt-1",children:[(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground font-mono flex-1",children:a.configured?a.maskedKey:"Not configured"}),(0,b.jsx)(x.Button,{size:"sm",variant:"ghost",onClick:()=>g(!0),className:"h-7 text-xs",children:a.configured?"Update":"Add"}),a.configured&&"storage"===a.source&&(0,b.jsx)(x.Button,{size:"icon",variant:"ghost",onClick:r,className:"text-rose-500 hover:text-rose-600",children:(0,b.jsx)(l.Trash2,{className:"size-3.5"})})]})]})}function Y(){let[a,e]=(0,c.useState)([]),[f,g]=(0,c.useState)(!1),[h,i]=(0,c.useState)(!0),j=(0,c.useCallback)(async()=>{i(!0);try{let a=await D("/api/mcp");e(a.servers||[])}finally{i(!1)}},[]);return(0,c.useEffect)(()=>{j()},[j]),(0,b.jsxs)("section",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)(G,{title:"MCP integrations",description:'Model Context Protocol servers. Each adds tools to every agent under "mcp_<name>_<tool>" on the next turn.'}),(0,b.jsxs)(x.Button,{size:"sm",variant:"outline",onClick:()=>g(a=>!a),children:[(0,b.jsx)(m.Plus,{className:"size-3.5 mr-1"}),"New"]})]}),(0,b.jsxs)("p",{className:"text-[11px] text-muted-foreground mb-3 max-w-2xl",children:["For OAuth-protected MCP servers, paste the access token as a header here:",(0,b.jsx)("code",{className:"px-1 rounded bg-muted ml-1",children:"{ Authorization: 'Bearer <your-token>' }"}),". For unauthed servers, leave headers empty. Use ",(0,b.jsx)("strong",{children:"Test"})," to confirm the server is reachable."]}),f&&(0,b.jsx)(Z,{onCancel:()=>g(!1),onSaved:()=>{g(!1),j()}}),h?(0,b.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,b.jsx)(d.Loader2,{className:"size-4 animate-spin text-muted-foreground"})}):0===a.length?(0,b.jsx)("p",{className:"text-xs text-muted-foreground italic px-1",children:"No MCP servers configured."}):(0,b.jsx)("div",{className:"space-y-2",children:a.map(a=>(0,b.jsx)($,{row:a,onChange:j},a.id))})]})}function Z({initial:a,onCancel:e,onSaved:f}){let[g,h]=(0,c.useState)(a?.name||""),[i,j]=(0,c.useState)(a?.transport||"http"),[k,l]=(0,c.useState)(a?.url||""),[m,n]=(0,c.useState)(a?.headers?JSON.stringify(a.headers,null,2):""),[o,p]=(0,c.useState)(a?.command||""),[q,r]=(0,c.useState)(a?.args?.join(" ")||""),[s,t]=(0,c.useState)(!1),[u,v]=(0,c.useState)(null),w=async()=>{let b;if(v(null),m.trim())try{let a=JSON.parse(m);a&&"object"==typeof a&&(b=a)}catch{v('Headers must be valid JSON, e.g. {"Authorization":"Bearer xxx"}');return}t(!0);try{let c={name:g,transport:i,enabled:!0};("http"===i||"sse"===i)&&(c.url=k,b&&(c.headers=b)),"stdio"===i&&(c.command=o,c.args=q.split(/\s+/).filter(Boolean)),a?.id?await D(`/api/mcp/${a.id}`,{method:"PATCH",body:JSON.stringify(c)}):await D("/api/mcp",{method:"POST",body:JSON.stringify(c)}),f()}catch(a){v(a?.message||"Save failed")}finally{t(!1)}};return(0,b.jsxs)("div",{className:"rounded-lg border border-border/60 bg-card/40 p-3 mb-3 space-y-2",children:[(0,b.jsxs)("div",{className:"grid grid-cols-3 gap-2",children:[(0,b.jsxs)("div",{className:"col-span-2",children:[(0,b.jsx)(z.Label,{className:"text-xs",children:"Name"}),(0,b.jsx)(y.Input,{value:g,onChange:a=>h(a.target.value),placeholder:"github",className:"text-xs"}),(0,b.jsxs)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:["Used as a tool prefix (e.g. ",(0,b.jsx)("code",{children:"mcp_github_search"}),")."]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(z.Label,{className:"text-xs",children:"Transport"}),(0,b.jsxs)("select",{value:i,onChange:a=>j(a.target.value),className:"w-full text-xs h-9 rounded-md border border-input bg-background px-2",children:[(0,b.jsx)("option",{value:"http",children:"HTTP (recommended)"}),(0,b.jsx)("option",{value:"sse",children:"SSE"}),(0,b.jsx)("option",{value:"stdio",children:"stdio (local)"})]})]})]}),"stdio"!==i?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(z.Label,{className:"text-xs",children:"URL"}),(0,b.jsx)(y.Input,{value:k,onChange:a=>l(a.target.value),placeholder:"https://your-server.com/mcp",className:"text-xs font-mono"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(z.Label,{className:"text-xs",children:"Headers (JSON, optional)"}),(0,b.jsx)("textarea",{value:m,onChange:a=>n(a.target.value),rows:3,placeholder:'{ "Authorization": "Bearer xxx" }',className:"w-full rounded-md border border-input bg-background px-2 py-1.5 text-xs font-mono"})]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(z.Label,{className:"text-xs",children:"Command"}),(0,b.jsx)(y.Input,{value:o,onChange:a=>p(a.target.value),placeholder:"node",className:"text-xs font-mono"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(z.Label,{className:"text-xs",children:"Args (space separated)"}),(0,b.jsx)(y.Input,{value:q,onChange:a=>r(a.target.value),placeholder:"src/stdio/dist/server.js",className:"text-xs font-mono"})]})]}),u&&(0,b.jsx)("p",{className:"text-[11px] text-rose-500",children:u}),(0,b.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,b.jsx)(x.Button,{size:"sm",onClick:w,disabled:s||!g||("stdio"!==i?!k:!o),children:s?(0,b.jsx)(d.Loader2,{className:"size-3.5 animate-spin"}):"Save"}),(0,b.jsx)(x.Button,{size:"sm",variant:"ghost",onClick:e,children:"Cancel"})]})]})}function $({row:a,onChange:e}){let[f,g]=(0,c.useState)(null),[h,i]=(0,c.useState)(!1),[j,k]=(0,c.useState)(!1),m=async()=>{await D(`/api/mcp/${a.id}`,{method:"PATCH",body:JSON.stringify({enabled:!a.enabled})}),e()},n=async()=>{confirm(`Delete MCP server "${a.name}"?`)&&(await D(`/api/mcp/${a.id}`,{method:"DELETE"}),e())},o=async()=>{i(!0),g(null);try{let b=await D(`/api/mcp/${a.id}/test`,{method:"POST"});g(b)}finally{i(!1)}};return j?(0,b.jsx)(Z,{initial:a,onCancel:()=>k(!1),onSaved:()=>{k(!1),e()}}):(0,b.jsxs)("div",{className:"rounded-md border border-border/60 bg-background/50 p-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(w,{className:(0,B.cn)("size-4",a.enabled?"text-emerald-500":"text-muted-foreground")}),(0,b.jsx)("span",{className:"text-sm font-medium",children:a.name}),(0,b.jsx)("span",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:a.transport}),!a.enabled&&(0,b.jsx)("span",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:"disabled"}),(0,b.jsxs)("span",{className:"ml-auto text-[11px] text-muted-foreground font-mono break-all",children:["tool prefix: ",(0,b.jsxs)("code",{children:["mcp_",a.name,"_*"]})]})]}),(0,b.jsxs)("p",{className:"text-[11px] text-muted-foreground mt-1 break-all",children:["stdio"===a.transport?(0,b.jsxs)(b.Fragment,{children:["cmd: ",(0,b.jsxs)("code",{children:[a.command," ",a.args?.join(" ")]})]}):(0,b.jsxs)(b.Fragment,{children:["url: ",(0,b.jsx)("code",{children:a.url})]}),a.headers&&Object.keys(a.headers).length>0&&(0,b.jsxs)("span",{className:"ml-2",children:["headers: ",Object.entries(a.headers).map(([a,b])=>`${a}: ${b}`).join(", ")]})]}),(0,b.jsxs)("div",{className:"flex gap-1 mt-2",children:[(0,b.jsxs)(x.Button,{size:"sm",variant:"outline",onClick:o,disabled:h,children:[h?(0,b.jsx)(d.Loader2,{className:"size-3 animate-spin mr-1"}):null,"Test"]}),(0,b.jsx)(x.Button,{size:"sm",variant:"outline",onClick:m,children:a.enabled?"Disable":"Enable"}),(0,b.jsx)(x.Button,{size:"sm",variant:"ghost",onClick:()=>k(!0),children:"Edit"}),(0,b.jsx)(x.Button,{size:"sm",variant:"ghost",onClick:n,className:"text-rose-500 hover:text-rose-600 ml-auto",children:(0,b.jsx)(l.Trash2,{className:"size-3.5"})})]}),f&&(0,b.jsx)("div",{className:(0,B.cn)("mt-2 rounded border p-2 text-[11px]",f.ok?"border-emerald-500/40 bg-emerald-500/5":"border-rose-500/40 bg-rose-500/5"),children:f.ok?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"text-emerald-500",children:["✓ Connected — ",f.toolCount," tool(s) discovered"]}),f.toolNames&&f.toolNames.length>0&&(0,b.jsx)("p",{className:"text-muted-foreground font-mono mt-0.5 break-all",children:f.toolNames.join(", ")})]}):(0,b.jsxs)("p",{className:"text-rose-500",children:["✗ ",f.error]})})]})}function _({children:a}){return(0,b.jsx)("div",{className:"rounded-lg border border-border/60 bg-card/40 p-4",children:a})}function aa({icon:a,title:c,status:d,statusTone:e}){return(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[a,(0,b.jsx)("h3",{className:"font-medium",children:c}),(0,b.jsx)("span",{className:(0,B.cn)("ml-auto text-xs",e),children:d})]})}a.s(["default",()=>F],344934)}];
32
+
33
+ //# sourceMappingURL=web_src_app_%28main%29_settings_page_tsx_eb320e07._.js.map
@@ -9,11 +9,11 @@ globalThis.__BUILD_MANIFEST = {
9
9
  "lowPriorityFiles": [],
10
10
  "rootMainFiles": [
11
11
  "static/chunks/651e187cc15d66de.js",
12
- "static/chunks/b9ad1584d4e11d12.js",
13
- "static/chunks/a14243261b055626.js",
12
+ "static/chunks/735a2408c315b2f0.js",
14
13
  "static/chunks/186e0c1b3ff43c9c.js",
14
+ "static/chunks/a14243261b055626.js",
15
15
  "static/chunks/862ced58ce21a270.js",
16
- "static/chunks/turbopack-597558bb7b6982f6.js"
16
+ "static/chunks/turbopack-2c0905c7bbebae3f.js"
17
17
  ]
18
18
  };
19
19
  globalThis.__BUILD_MANIFEST.lowPriorityFiles = [
@@ -1 +1 @@
1
- self.__NEXT_FONT_MANIFEST="{\n \"app\": {\n \"[project]/web/src/app/(main)/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2\",\n \"static/media/797e433ab948586e-s.p.479bea2b.woff2\"\n ],\n \"[project]/web/src/app/(main)/session/[id]/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2\",\n \"static/media/797e433ab948586e-s.p.479bea2b.woff2\"\n ],\n \"[project]/web/src/app/_not-found/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2\",\n \"static/media/797e433ab948586e-s.p.479bea2b.woff2\"\n ],\n \"[project]/web/src/app/docs/installation/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2\",\n \"static/media/797e433ab948586e-s.p.479bea2b.woff2\"\n ],\n \"[project]/web/src/app/docs/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2\",\n \"static/media/797e433ab948586e-s.p.479bea2b.woff2\"\n ],\n \"[project]/web/src/app/docs/skills/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2\",\n \"static/media/797e433ab948586e-s.p.479bea2b.woff2\"\n ],\n \"[project]/web/src/app/docs/tools/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2\",\n \"static/media/797e433ab948586e-s.p.479bea2b.woff2\"\n ],\n \"[project]/web/src/app/embed/[id]/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2\",\n \"static/media/797e433ab948586e-s.p.479bea2b.woff2\"\n ]\n },\n \"appUsingSizeAdjust\": true,\n \"pages\": {},\n \"pagesUsingSizeAdjust\": false\n}"
1
+ self.__NEXT_FONT_MANIFEST="{\n \"app\": {\n \"[project]/web/src/app/(main)/agents/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2\",\n \"static/media/797e433ab948586e-s.p.479bea2b.woff2\"\n ],\n \"[project]/web/src/app/(main)/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2\",\n \"static/media/797e433ab948586e-s.p.479bea2b.woff2\"\n ],\n \"[project]/web/src/app/(main)/session/[id]/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2\",\n \"static/media/797e433ab948586e-s.p.479bea2b.woff2\"\n ],\n \"[project]/web/src/app/(main)/settings/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2\",\n \"static/media/797e433ab948586e-s.p.479bea2b.woff2\"\n ],\n \"[project]/web/src/app/_not-found/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2\",\n \"static/media/797e433ab948586e-s.p.479bea2b.woff2\"\n ],\n \"[project]/web/src/app/docs/installation/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2\",\n \"static/media/797e433ab948586e-s.p.479bea2b.woff2\"\n ],\n \"[project]/web/src/app/docs/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2\",\n \"static/media/797e433ab948586e-s.p.479bea2b.woff2\"\n ],\n \"[project]/web/src/app/docs/skills/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2\",\n \"static/media/797e433ab948586e-s.p.479bea2b.woff2\"\n ],\n \"[project]/web/src/app/docs/tools/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2\",\n \"static/media/797e433ab948586e-s.p.479bea2b.woff2\"\n ]\n },\n \"appUsingSizeAdjust\": true,\n \"pages\": {},\n \"pagesUsingSizeAdjust\": false\n}"
@@ -1,5 +1,9 @@
1
1
  {
2
2
  "app": {
3
+ "[project]/web/src/app/(main)/agents/page": [
4
+ "static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2",
5
+ "static/media/797e433ab948586e-s.p.479bea2b.woff2"
6
+ ],
3
7
  "[project]/web/src/app/(main)/page": [
4
8
  "static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2",
5
9
  "static/media/797e433ab948586e-s.p.479bea2b.woff2"
@@ -8,6 +12,10 @@
8
12
  "static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2",
9
13
  "static/media/797e433ab948586e-s.p.479bea2b.woff2"
10
14
  ],
15
+ "[project]/web/src/app/(main)/settings/page": [
16
+ "static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2",
17
+ "static/media/797e433ab948586e-s.p.479bea2b.woff2"
18
+ ],
11
19
  "[project]/web/src/app/_not-found/page": [
12
20
  "static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2",
13
21
  "static/media/797e433ab948586e-s.p.479bea2b.woff2"
@@ -27,10 +35,6 @@
27
35
  "[project]/web/src/app/docs/tools/page": [
28
36
  "static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2",
29
37
  "static/media/797e433ab948586e-s.p.479bea2b.woff2"
30
- ],
31
- "[project]/web/src/app/embed/[id]/page": [
32
- "static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2",
33
- "static/media/797e433ab948586e-s.p.479bea2b.woff2"
34
38
  ]
35
39
  },
36
40
  "appUsingSizeAdjust": true,
@@ -1 +1 @@
1
- <!DOCTYPE html><!--WCqUmRTRCgZqwBVGKQESX--><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5"/><link rel="stylesheet" href="/_next/static/chunks/a7d5d0791c8c6223.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/74b64476a24dd71e.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/651e187cc15d66de.js"/><script src="/_next/static/chunks/b9ad1584d4e11d12.js" async=""></script><script src="/_next/static/chunks/a14243261b055626.js" async=""></script><script src="/_next/static/chunks/186e0c1b3ff43c9c.js" async=""></script><script src="/_next/static/chunks/862ced58ce21a270.js" async=""></script><script src="/_next/static/chunks/turbopack-597558bb7b6982f6.js" async=""></script><script src="/_next/static/chunks/9fce2ce79c4c834e.js" async=""></script><script src="/_next/static/chunks/9b5512fb633ef95d.js" async=""></script><script src="/_next/static/chunks/0f1cf11540868e42.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff"/><meta name="theme-color" media="(prefers-color-scheme: dark)" content="#0a0a0a"/><title>SparkeCoder - AI-Powered Coding Agent</title><meta name="description" content="SparkeCoder is your AI-powered coding assistant. Build, debug, and ship code faster with intelligent automation and natural language programming."/><meta name="author" content="SparkeCoder Team"/><link rel="manifest" href="/manifest.json"/><meta name="keywords" content="AI coding assistant,code automation,AI programming,developer tools,coding agent,SparkeCoder,AI pair programming"/><meta name="creator" content="SparkeCoder"/><meta name="publisher" content="SparkeCoder"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><meta name="category" content="technology"/><meta name="format-detection" content="telephone=no"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="SparkeCoder"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><meta property="og:title" content="SparkeCoder - AI-Powered Coding Agent"/><meta property="og:description" content="Build, debug, and ship code faster with intelligent AI automation and natural language programming."/><meta property="og:site_name" content="SparkeCoder"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="http://localhost:3001/opengraph-image.png?opengraph-image.ce342317.png"/><meta property="og:image:width" content="512"/><meta property="og:image:height" content="512"/><meta property="og:image:type" content="image/png"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="SparkeCoder - AI-Powered Coding Agent"/><meta name="twitter:description" content="Build, debug, and ship code faster with intelligent AI automation and natural language programming."/><meta name="twitter:image" content="http://localhost:3001/twitter-image.png?twitter-image.ce342317.png"/><meta name="twitter:image:width" content="512"/><meta name="twitter:image:height" content="512"/><meta name="twitter:image:type" content="image/png"/><link rel="icon" href="/favicon.ico?favicon.e3cbed1b.ico" sizes="256x256" type="image/x-icon"/><link rel="icon" href="/icon.png?icon.fdefec0f.png" sizes="32x32" type="image/png"/><link rel="apple-touch-icon" href="/apple-icon.png?apple-icon.d6d14cbd.png" sizes="180x180" type="image/png"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/651e187cc15d66de.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[760800,[\"/_next/static/chunks/9fce2ce79c4c834e.js\"],\"ApiInit\"]\n3:I[488287,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"default\"]\n4:I[174895,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"default\"]\n5:I[151858,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n8:I[151858,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"ViewportBoundary\"]\na:I[151858,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"MetadataBoundary\"]\nc:I[552576,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"default\"]\n:HL[\"/_next/static/chunks/a7d5d0791c8c6223.css\",\"style\"]\n:HL[\"/_next/static/chunks/74b64476a24dd71e.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"WCqUmRTRCgZqwBVGKQESX\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/a7d5d0791c8c6223.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/74b64476a24dd71e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/9fce2ce79c4c834e.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"children\":[\"$\",\"body\",null,{\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:1:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:1:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:1:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:1:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=5\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: light)\",\"content\":\"#ffffff\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: dark)\",\"content\":\"#0a0a0a\"}]]\n"])</script><script>self.__next_f.push([1,"d:I[349310,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"IconMark\"]\n7:null\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"title\",\"0\",{\"children\":\"SparkeCoder - AI-Powered Coding Agent\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"SparkeCoder is your AI-powered coding assistant. Build, debug, and ship code faster with intelligent automation and natural language programming.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"author\",\"content\":\"SparkeCoder Team\"}],[\"$\",\"link\",\"3\",{\"rel\":\"manifest\",\"href\":\"/manifest.json\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"4\",{\"name\":\"keywords\",\"content\":\"AI coding assistant,code automation,AI programming,developer tools,coding agent,SparkeCoder,AI pair programming\"}],[\"$\",\"meta\",\"5\",{\"name\":\"creator\",\"content\":\"SparkeCoder\"}],[\"$\",\"meta\",\"6\",{\"name\":\"publisher\",\"content\":\"SparkeCoder\"}],[\"$\",\"meta\",\"7\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"meta\",\"8\",{\"name\":\"googlebot\",\"content\":\"index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1\"}],[\"$\",\"meta\",\"9\",{\"name\":\"category\",\"content\":\"technology\"}],[\"$\",\"meta\",\"10\",{\"name\":\"format-detection\",\"content\":\"telephone=no\"}],[\"$\",\"meta\",\"11\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"12\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"SparkeCoder\"}],[\"$\",\"meta\",\"13\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:title\",\"content\":\"SparkeCoder - AI-Powered Coding Agent\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:description\",\"content\":\"Build, debug, and ship code faster with intelligent AI automation and natural language programming.\"}],[\"$\",\"meta\",\"16\",{\"property\":\"og:site_name\",\"content\":\"SparkeCoder\"}],[\"$\",\"meta\",\"17\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"18\",{\"property\":\"og:image\",\"content\":\"http://localhost:3001/opengraph-image.png?opengraph-image.ce342317.png\"}],[\"$\",\"meta\",\"19\",{\"property\":\"og:image:width\",\"content\":\"512\"}],[\"$\",\"meta\",\"20\",{\"property\":\"og:image:height\",\"content\":\"512\"}],[\"$\",\"meta\",\"21\",{\"property\":\"og:image:type\",\"content\":\"image/png\"}],[\"$\",\"meta\",\"22\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"23\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"24\",{\"name\":\"twitter:title\",\"content\":\"SparkeCoder - AI-Powered Coding Agent\"}],[\"$\",\"meta\",\"25\",{\"name\":\"twitter:description\",\"content\":\"Build, debug, and ship code faster with intelligent AI automation and natural language programming.\"}],[\"$\",\"meta\",\"26\",{\"name\":\"twitter:image\",\"content\":\"http://localhost:3001/twitter-image.png?twitter-image.ce342317.png\"}],[\"$\",\"meta\",\"27\",{\"name\":\"twitter:image:width\",\"content\":\"512\"}],[\"$\",\"meta\",\"28\",{\"name\":\"twitter:image:height\",\"content\":\"512\"}],[\"$\",\"meta\",\"29\",{\"name\":\"twitter:image:type\",\"content\":\"image/png\"}],[\"$\",\"link\",\"30\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.e3cbed1b.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"31\",{\"rel\":\"icon\",\"href\":\"/icon.png?icon.fdefec0f.png\",\"sizes\":\"32x32\",\"type\":\"image/png\"}],[\"$\",\"link\",\"32\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?apple-icon.d6d14cbd.png\",\"sizes\":\"180x180\",\"type\":\"image/png\"}],[\"$\",\"$Ld\",\"33\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><!--eyxBRyMA8Zq36Pfen3Ylj--><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5"/><link rel="stylesheet" href="/_next/static/chunks/a7d5d0791c8c6223.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/344be859c2c8600b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/651e187cc15d66de.js"/><script src="/_next/static/chunks/735a2408c315b2f0.js" async=""></script><script src="/_next/static/chunks/186e0c1b3ff43c9c.js" async=""></script><script src="/_next/static/chunks/a14243261b055626.js" async=""></script><script src="/_next/static/chunks/862ced58ce21a270.js" async=""></script><script src="/_next/static/chunks/turbopack-2c0905c7bbebae3f.js" async=""></script><script src="/_next/static/chunks/4239395558fab3ef.js" async=""></script><script src="/_next/static/chunks/9b5512fb633ef95d.js" async=""></script><script src="/_next/static/chunks/0f1cf11540868e42.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff"/><meta name="theme-color" media="(prefers-color-scheme: dark)" content="#0a0a0a"/><title>SparkeCoder - AI-Powered Coding Agent</title><meta name="description" content="SparkeCoder is your AI-powered coding assistant. Build, debug, and ship code faster with intelligent automation and natural language programming."/><meta name="author" content="SparkeCoder Team"/><link rel="manifest" href="/manifest.json"/><meta name="keywords" content="AI coding assistant,code automation,AI programming,developer tools,coding agent,SparkeCoder,AI pair programming"/><meta name="creator" content="SparkeCoder"/><meta name="publisher" content="SparkeCoder"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><meta name="category" content="technology"/><meta name="format-detection" content="telephone=no"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="SparkeCoder"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><meta property="og:title" content="SparkeCoder - AI-Powered Coding Agent"/><meta property="og:description" content="Build, debug, and ship code faster with intelligent AI automation and natural language programming."/><meta property="og:site_name" content="SparkeCoder"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="http://localhost:3001/opengraph-image.png?opengraph-image.ce342317.png"/><meta property="og:image:width" content="512"/><meta property="og:image:height" content="512"/><meta property="og:image:type" content="image/png"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="SparkeCoder - AI-Powered Coding Agent"/><meta name="twitter:description" content="Build, debug, and ship code faster with intelligent AI automation and natural language programming."/><meta name="twitter:image" content="http://localhost:3001/twitter-image.png?twitter-image.ce342317.png"/><meta name="twitter:image:width" content="512"/><meta name="twitter:image:height" content="512"/><meta name="twitter:image:type" content="image/png"/><link rel="icon" href="/favicon.ico?favicon.e3cbed1b.ico" sizes="256x256" type="image/x-icon"/><link rel="icon" href="/icon.png?icon.fdefec0f.png" sizes="32x32" type="image/png"/><link rel="apple-touch-icon" href="/apple-icon.png?apple-icon.d6d14cbd.png" sizes="180x180" type="image/png"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/651e187cc15d66de.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[760800,[\"/_next/static/chunks/4239395558fab3ef.js\"],\"ApiInit\"]\n3:I[488287,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"default\"]\n4:I[174895,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"default\"]\n5:I[151858,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n8:I[151858,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"ViewportBoundary\"]\na:I[151858,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"MetadataBoundary\"]\nc:I[552576,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"default\"]\n:HL[\"/_next/static/chunks/a7d5d0791c8c6223.css\",\"style\"]\n:HL[\"/_next/static/chunks/344be859c2c8600b.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"eyxBRyMA8Zq36Pfen3Ylj\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/a7d5d0791c8c6223.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/344be859c2c8600b.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/4239395558fab3ef.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"children\":[\"$\",\"body\",null,{\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:1:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:1:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:1:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:1:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=5\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: light)\",\"content\":\"#ffffff\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: dark)\",\"content\":\"#0a0a0a\"}]]\n"])</script><script>self.__next_f.push([1,"d:I[349310,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"IconMark\"]\n7:null\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"title\",\"0\",{\"children\":\"SparkeCoder - AI-Powered Coding Agent\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"SparkeCoder is your AI-powered coding assistant. Build, debug, and ship code faster with intelligent automation and natural language programming.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"author\",\"content\":\"SparkeCoder Team\"}],[\"$\",\"link\",\"3\",{\"rel\":\"manifest\",\"href\":\"/manifest.json\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"4\",{\"name\":\"keywords\",\"content\":\"AI coding assistant,code automation,AI programming,developer tools,coding agent,SparkeCoder,AI pair programming\"}],[\"$\",\"meta\",\"5\",{\"name\":\"creator\",\"content\":\"SparkeCoder\"}],[\"$\",\"meta\",\"6\",{\"name\":\"publisher\",\"content\":\"SparkeCoder\"}],[\"$\",\"meta\",\"7\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"meta\",\"8\",{\"name\":\"googlebot\",\"content\":\"index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1\"}],[\"$\",\"meta\",\"9\",{\"name\":\"category\",\"content\":\"technology\"}],[\"$\",\"meta\",\"10\",{\"name\":\"format-detection\",\"content\":\"telephone=no\"}],[\"$\",\"meta\",\"11\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"12\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"SparkeCoder\"}],[\"$\",\"meta\",\"13\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:title\",\"content\":\"SparkeCoder - AI-Powered Coding Agent\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:description\",\"content\":\"Build, debug, and ship code faster with intelligent AI automation and natural language programming.\"}],[\"$\",\"meta\",\"16\",{\"property\":\"og:site_name\",\"content\":\"SparkeCoder\"}],[\"$\",\"meta\",\"17\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"18\",{\"property\":\"og:image\",\"content\":\"http://localhost:3001/opengraph-image.png?opengraph-image.ce342317.png\"}],[\"$\",\"meta\",\"19\",{\"property\":\"og:image:width\",\"content\":\"512\"}],[\"$\",\"meta\",\"20\",{\"property\":\"og:image:height\",\"content\":\"512\"}],[\"$\",\"meta\",\"21\",{\"property\":\"og:image:type\",\"content\":\"image/png\"}],[\"$\",\"meta\",\"22\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"23\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"24\",{\"name\":\"twitter:title\",\"content\":\"SparkeCoder - AI-Powered Coding Agent\"}],[\"$\",\"meta\",\"25\",{\"name\":\"twitter:description\",\"content\":\"Build, debug, and ship code faster with intelligent AI automation and natural language programming.\"}],[\"$\",\"meta\",\"26\",{\"name\":\"twitter:image\",\"content\":\"http://localhost:3001/twitter-image.png?twitter-image.ce342317.png\"}],[\"$\",\"meta\",\"27\",{\"name\":\"twitter:image:width\",\"content\":\"512\"}],[\"$\",\"meta\",\"28\",{\"name\":\"twitter:image:height\",\"content\":\"512\"}],[\"$\",\"meta\",\"29\",{\"name\":\"twitter:image:type\",\"content\":\"image/png\"}],[\"$\",\"link\",\"30\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.e3cbed1b.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"31\",{\"rel\":\"icon\",\"href\":\"/icon.png?icon.fdefec0f.png\",\"sizes\":\"32x32\",\"type\":\"image/png\"}],[\"$\",\"link\",\"32\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?apple-icon.d6d14cbd.png\",\"sizes\":\"180x180\",\"type\":\"image/png\"}],[\"$\",\"$Ld\",\"33\",{}]]\n"])</script></body></html>
@@ -1,2 +1,2 @@
1
- <!DOCTYPE html><!--WCqUmRTRCgZqwBVGKQESX--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/651e187cc15d66de.js"/><script src="/_next/static/chunks/b9ad1584d4e11d12.js" async=""></script><script src="/_next/static/chunks/a14243261b055626.js" async=""></script><script src="/_next/static/chunks/186e0c1b3ff43c9c.js" async=""></script><script src="/_next/static/chunks/862ced58ce21a270.js" async=""></script><script src="/_next/static/chunks/turbopack-597558bb7b6982f6.js" async=""></script><script src="/_next/static/chunks/9b5512fb633ef95d.js" async=""></script><script src="/_next/static/chunks/0f1cf11540868e42.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: Internal Server Error.</title><link rel="icon" href="/favicon.ico?favicon.e3cbed1b.ico" sizes="256x256" type="image/x-icon"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
2
- @media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/651e187cc15d66de.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[488287,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"default\"]\n3:I[174895,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"default\"]\n4:I[151858,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[151858,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"ViewportBoundary\"]\n9:I[151858,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"MetadataBoundary\"]\nb:I[552576,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"WCqUmRTRCgZqwBVGKQESX\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"c:I[349310,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"IconMark\"]\n6:null\na:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.e3cbed1b.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Lc\",\"1\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><!--eyxBRyMA8Zq36Pfen3Ylj--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/651e187cc15d66de.js"/><script src="/_next/static/chunks/735a2408c315b2f0.js" async=""></script><script src="/_next/static/chunks/186e0c1b3ff43c9c.js" async=""></script><script src="/_next/static/chunks/a14243261b055626.js" async=""></script><script src="/_next/static/chunks/862ced58ce21a270.js" async=""></script><script src="/_next/static/chunks/turbopack-2c0905c7bbebae3f.js" async=""></script><script src="/_next/static/chunks/9b5512fb633ef95d.js" async=""></script><script src="/_next/static/chunks/0f1cf11540868e42.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: Internal Server Error.</title><link rel="icon" href="/favicon.ico?favicon.e3cbed1b.ico" sizes="256x256" type="image/x-icon"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
2
+ @media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/651e187cc15d66de.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[488287,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"default\"]\n3:I[174895,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"default\"]\n4:I[151858,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[151858,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"ViewportBoundary\"]\n9:I[151858,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"MetadataBoundary\"]\nb:I[552576,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"eyxBRyMA8Zq36Pfen3Ylj\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"c:I[349310,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"IconMark\"]\n6:null\na:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.e3cbed1b.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Lc\",\"1\",{}]]\n"])</script></body></html>
@@ -1 +1 @@
1
- self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"znEsfLOtlfSB5+C3lWF+o91/NXjk7lswhKffUYS5ojQ=\"\n}"
1
+ self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"J3/OMB45H0CLCreiNmGfQSnRJQOhEq5lJ09jSVdJdLA=\"\n}"
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "node": {},
3
3
  "edge": {},
4
- "encryptionKey": "znEsfLOtlfSB5+C3lWF+o91/NXjk7lswhKffUYS5ojQ="
4
+ "encryptionKey": "J3/OMB45H0CLCreiNmGfQSnRJQOhEq5lJ09jSVdJdLA="
5
5
  }
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,29343,280105,e=>{"use strict";let t=(0,e.i(292511).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["default",()=>t],280105),e.s(["CheckCircle2",()=>t],29343)},715786,e=>{"use strict";let t=(0,e.i(292511).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["default",()=>t])},573656,482079,e=>{"use strict";var t=e.i(715786);e.s(["XCircle",()=>t.default],573656);let s=(0,e.i(292511).default)("message-circle-question-mark",[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["MessageCircleQuestion",()=>s],482079)},455138,e=>{"use strict";var t=e.i(414294),s=e.i(430878),n=e.i(504561),r=e.i(266514),a=e.i(461957),l=e.i(292511);let i=(0,l.default)("circle-pause",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"10",x2:"10",y1:"15",y2:"9",key:"c1nkhi"}],["line",{x1:"14",x2:"14",y1:"15",y2:"9",key:"h65svq"}]]);var o=e.i(29343),d=e.i(573656),c=e.i(482079);let x=(0,l.default)("circle-play",[["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var u=e.i(666904),m=e.i(300739),p=e.i(555552),g=e.i(524741);let h=[{key:"running",label:"In progress",icon:a.Loader2,tone:"text-emerald-500"},{key:"needs_attention",label:"Needs your input",icon:c.MessageCircleQuestion,tone:"text-amber-500"},{key:"idle",label:"Idle",icon:i,tone:"text-muted-foreground"},{key:"completed",label:"Completed",icon:o.CheckCircle2,tone:"text-blue-500"},{key:"failed",label:"Failed",icon:d.XCircle,tone:"text-rose-500"}];function f(){let{sessions:e,isLoading:a}=(0,m.useSessions)(),l=(0,s.useMemo)(()=>e.filter(e=>(e.role??"chat")==="worker"),[e]),i=(0,s.useMemo)(()=>{let e={running:[],needs_attention:[],idle:[],completed:[],failed:[]};for(let t of l){let s=t.agentStatus??(t.isStreaming?"running":"idle");e[s]&&e[s].push(t)}return e},[l]);return(0,t.jsxs)("div",{className:"h-full flex flex-col overflow-hidden",children:[(0,t.jsxs)("div",{className:"px-6 py-4 border-b border-border/60 flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(r.Bot,{className:"size-5 text-primary"}),(0,t.jsx)("h1",{className:"text-lg font-semibold",children:"Agents"}),(0,t.jsxs)("span",{className:"text-xs text-muted-foreground",children:[l.length," ",1===l.length?"agent":"agents"]})]}),(0,t.jsx)(n.default,{href:"/",className:"text-xs text-muted-foreground hover:text-foreground",children:"Back to home"})]}),(0,t.jsx)("div",{className:"flex-1 overflow-x-auto overflow-y-hidden",children:(0,t.jsx)("div",{className:"flex h-full gap-4 p-4 min-w-max",children:h.map(e=>(0,t.jsx)(b,{col:e,sessions:i[e.key],loading:a&&0===l.length},e.key))})})]})}function b({col:e,sessions:s,loading:n}){let r=e.icon;return(0,t.jsxs)("div",{className:"flex flex-col w-80 shrink-0 rounded-lg bg-card/40 border border-border/60",children:[(0,t.jsxs)("div",{className:"px-3 py-2 flex items-center gap-2 border-b border-border/60",children:[(0,t.jsx)(r,{className:(0,p.cn)("size-4",e.tone,"running"===e.key&&"animate-spin")}),(0,t.jsx)("h2",{className:"text-sm font-medium",children:e.label}),(0,t.jsx)("span",{className:"ml-auto text-xs text-muted-foreground tabular-nums",children:s.length})]}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto p-2 space-y-2",children:n&&0===s.length?(0,t.jsx)("p",{className:"text-xs text-muted-foreground text-center py-6",children:"Loading…"}):0===s.length?(0,t.jsx)("p",{className:"text-xs text-muted-foreground/70 text-center py-6 italic",children:"No agents"}):s.map(e=>(0,t.jsx)(y,{session:e},e.id))})]})}function y({session:e}){let[r,l]=(0,s.useState)(""),[i,o]=(0,s.useState)(!1),d=e.agentStatus??"idle",c=e.config?.task,p=c?.result,h=async()=>{if(e.pendingQuestion&&r.trim()&&!i){o(!0);try{await (0,g.answerAgentQuestion)(e.id,e.pendingQuestion.questionId,r.trim()),l(""),(0,m.mutateSessions)()}finally{o(!1)}}};return(0,t.jsxs)(n.default,{href:`/session/${e.id}`,className:"block rounded-md border border-border/60 bg-background hover:bg-accent/40 transition-colors p-3 group",children:[(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("p",{className:"text-sm font-medium truncate",children:e.name||"Untitled agent"}),e.lastMessagePreview&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-2 mt-0.5",children:e.lastMessagePreview}),"completed"===d&&p?.summary&&(0,t.jsxs)("p",{className:"text-xs text-blue-600 dark:text-blue-400 line-clamp-2 mt-1",children:["✓ ",String(p.summary)]}),"failed"===d&&c?.error&&(0,t.jsx)("p",{className:"text-xs text-rose-500 line-clamp-2 mt-1",children:c.error})]}),"running"===d&&(0,t.jsx)(a.Loader2,{className:"size-3.5 animate-spin text-emerald-500 shrink-0 mt-1"})]}),e.pendingQuestion&&(0,t.jsxs)("div",{className:"mt-3 rounded border border-amber-500/30 bg-amber-500/5 p-2",onClick:e=>e.preventDefault(),children:[(0,t.jsxs)("p",{className:"text-xs font-medium text-amber-700 dark:text-amber-300",children:["Question: ",e.pendingQuestion.question]}),e.pendingQuestion.context&&(0,t.jsx)("p",{className:"text-[11px] text-muted-foreground mt-1",children:e.pendingQuestion.context}),e.pendingQuestion.choices&&e.pendingQuestion.choices.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1 mt-2",children:e.pendingQuestion.choices.map(e=>(0,t.jsx)("button",{type:"button",className:"text-[11px] px-1.5 py-0.5 rounded bg-amber-500/10 hover:bg-amber-500/20 text-amber-700 dark:text-amber-200",onClick:t=>{t.preventDefault(),l(e)},children:e},e))}),(0,t.jsxs)("div",{className:"flex gap-1 mt-2",children:[(0,t.jsx)("input",{type:"text",value:r,onChange:e=>l(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),h())},placeholder:"Type an answer…",className:"flex-1 px-2 py-1 text-xs rounded border border-border/60 bg-background focus:outline-none focus:ring-1 focus:ring-amber-500/60"}),(0,t.jsx)(u.Button,{size:"sm",type:"button",disabled:!r.trim()||i,onClick:e=>{e.preventDefault(),h()},className:"h-7 px-2 text-xs",children:i?"…":"Send"})]})]}),(0,t.jsxs)("div",{className:"mt-2 flex items-center gap-2 text-[10px] text-muted-foreground",children:[(0,t.jsx)(x,{className:"size-3"}),(0,t.jsx)("span",{children:function(e){if(!e)return"";let t=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(t<1)return"just now";if(t<60)return`${t}m ago`;let s=Math.floor(t/60);if(s<24)return`${s}h ago`;let n=Math.floor(s/24);return`${n}d ago`}(e.updatedAt||e.createdAt)})]})]})}e.s(["default",()=>f],455138)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,819609,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},215232,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return i}});let n=e.r(430878);function i(e,t){let r=(0,n.useRef)(null),i=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=i.current;t&&(i.current=null,t())}else e&&(r.current=o(e,n)),t&&(i.current=o(t,n))},[e,t])}function o(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},325203,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return u},searchParamsToUrlQuery:function(){return o},urlQueryToSearchParams:function(){return l}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});function o(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function a(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function l(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,a(e));else t.set(r,a(n));return t}function u(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},971746,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return l},formatWithValidation:function(){return s},urlObjectKeys:function(){return u}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(279510)._(e.r(325203)),a=/https?|ftp|gopher|file/;function l(e){let{auth:t,hostname:r}=e,n=e.protocol||"",i=e.pathname||"",l=e.hash||"",u=e.query||"",s=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?s=t+e.host:r&&(s=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(s+=":"+e.port)),u&&"object"==typeof u&&(u=String(o.urlQueryToSearchParams(u)));let c=e.search||u&&`?${u}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||a.test(n))&&!1!==s?(s="//"+(s||""),i&&"/"!==i[0]&&(i="/"+i)):s||(s=""),l&&"#"!==l[0]&&(l="#"+l),c&&"?"!==c[0]&&(c="?"+c),i=i.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${s}${i}${c}${l}`}let u=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function s(e){return l(e)}},309008,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return g},MiddlewareNotFoundError:function(){return k},MissingStaticPage:function(){return x},NormalizeError:function(){return m},PageNotFoundError:function(){return b},SP:function(){return h},ST:function(){return v},WEB_VITALS:function(){return o},execOnce:function(){return a},getDisplayName:function(){return d},getLocationOrigin:function(){return s},getURL:function(){return c},isAbsoluteUrl:function(){return u},isResSent:function(){return f},loadGetInitialProps:function(){return y},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return w}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=["CLS","FCP","FID","INP","LCP","TTFB"];function a(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let l=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,u=e=>l.test(e);function s(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=s();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function y(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await y(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let h="u">typeof performance,v=h&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class m extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class x extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class k extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function w(e){return JSON.stringify({message:e.message,stack:e.stack})}},868988,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return o}});let n=e.r(309008),i=e.r(698018);function o(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,i.hasBasePath)(r.pathname)}catch(e){return!1}}},312491,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},504561,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return g},useLinkStatus:function(){return b}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(279510),a=e.r(414294),l=o._(e.r(430878)),u=e.r(971746),s=e.r(369168),c=e.r(215232),d=e.r(309008),f=e.r(869343);e.r(819609);let p=e.r(93505),y=e.r(868988),h=e.r(291544);function v(e){return"string"==typeof e?e:(0,u.formatUrl)(e)}function g(t){var r;let n,i,o,[u,g]=(0,l.useOptimistic)(p.IDLE_LINK_STATUS),b=(0,l.useRef)(null),{href:x,as:k,children:w,prefetch:j=null,passHref:P,replace:_,shallow:O,scroll:E,onClick:M,onMouseEnter:C,onTouchStart:S,legacyBehavior:R=!1,onNavigate:N,ref:T,unstable_dynamicOnHover:$,...A}=t;n=w,R&&("string"==typeof n||"number"==typeof n)&&(n=(0,a.jsx)("a",{children:n}));let L=l.default.useContext(s.AppRouterContext),z=!1!==j,U=!1!==j?null===(r=j)||"auto"===r?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,{href:I,as:D}=l.default.useMemo(()=>{let e=v(x);return{href:e,as:k?v(k):e}},[x,k]);if(R){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});i=l.default.Children.only(n)}let B=R?i&&"object"==typeof i&&i.ref:T,F=l.default.useCallback(e=>(null!==L&&(b.current=(0,p.mountLinkInstance)(e,I,L,U,z,g)),()=>{b.current&&((0,p.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,p.unmountPrefetchableInstance)(e)}),[z,I,L,U,g]),V={ref:(0,c.useMergedRef)(F,B),onClick(t){R||"function"!=typeof M||M(t),R&&i.props&&"function"==typeof i.props.onClick&&i.props.onClick(t),!L||t.defaultPrevented||function(t,r,n,i,o,a,u){if("u">typeof window){let s,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((s=t.currentTarget.getAttribute("target"))&&"_self"!==s||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,y.isLocalURL)(r)){o&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),u){let e=!1;if(u({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(389867);l.default.startTransition(()=>{d(n||r,o?"replace":"push",a??!0,i.current)})}}(t,I,D,b,_,E,N)},onMouseEnter(e){R||"function"!=typeof C||C(e),R&&i.props&&"function"==typeof i.props.onMouseEnter&&i.props.onMouseEnter(e),L&&z&&(0,p.onNavigationIntent)(e.currentTarget,!0===$)},onTouchStart:function(e){R||"function"!=typeof S||S(e),R&&i.props&&"function"==typeof i.props.onTouchStart&&i.props.onTouchStart(e),L&&z&&(0,p.onNavigationIntent)(e.currentTarget,!0===$)}};return(0,d.isAbsoluteUrl)(D)?V.href=D:R&&!P&&("a"!==i.type||"href"in i.props)||(V.href=(0,f.addBasePath)(D)),o=R?l.default.cloneElement(i,V):(0,a.jsx)("a",{...A,...V,children:n}),(0,a.jsx)(m.Provider,{value:u,children:o})}e.r(312491);let m=(0,l.createContext)(p.IDLE_LINK_STATUS),b=()=>(0,l.useContext)(m);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},408744,e=>{"use strict";var t=e.i(430878);e.i(773340);var r=e.i(392295),n=e.i(414294),i=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,i)=>{let o=(0,r.createSlot)(`Primitive.${i}`),a=t.forwardRef((e,t)=>{let{asChild:r,...a}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,n.jsx)(r?o:i,{...a,ref:t})});return a.displayName=`Primitive.${i}`,{...e,[i]:a}},{});e.s(["Primitive",()=>i])},493740,e=>{"use strict";let t=(0,e.i(292511).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["default",()=>t])},719583,468632,e=>{"use strict";let t=(0,e.i(292511).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",()=>t],468632),e.s(["Check",()=>t],719583)},707387,e=>{"use strict";var t=e.i(493740);e.s(["X",()=>t.default])},481298,e=>{"use strict";let t=(0,e.i(292511).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["default",()=>t])},634066,e=>{"use strict";var t=e.i(414294),r=e.i(430878),n=e.i(408744),i=r.forwardRef((e,r)=>(0,t.jsx)(n.Primitive.label,{...e,ref:r,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));i.displayName="Label";var o=e.i(555552);function a({className:e,...r}){return(0,t.jsx)(i,{"data-slot":"label",className:(0,o.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...r})}e.s(["Label",()=>a],634066)},991234,775377,e=>{"use strict";var t=e.i(481298);e.s(["Eye",()=>t.default],991234);let r=(0,e.i(292511).default)("eye-off",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);e.s(["EyeOff",()=>r],775377)},996720,846193,e=>{"use strict";var t=e.i(257868);e.s(["Plus",()=>t.default],996720);let r=(0,e.i(292511).default)("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);e.s(["Key",()=>r],846193)},77982,e=>{"use strict";var t=e.i(414294),r=e.i(555552);function n({className:e,type:n,...i}){return(0,t.jsx)("input",{type:n,"data-slot":"input",className:(0,r.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-all duration-200 outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-primary focus-visible:ring-primary/20 focus-visible:ring-[3px]","hover:border-primary/50","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...i})}e.s(["Input",()=>n])},257868,e=>{"use strict";let t=(0,e.i(292511).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["default",()=>t])},904781,231181,e=>{"use strict";let t=(0,e.i(292511).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["default",()=>t],231181),e.s(["Trash2",()=>t],904781)},309945,e=>{"use strict";var t=e.i(430878);function r(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function n(...e){return t=>{let n=!1,i=e.map(e=>{let i=r(e,t);return n||"function"!=typeof i||(n=!0),i});if(n)return()=>{for(let t=0;t<i.length;t++){let n=i[t];"function"==typeof n?n():r(e[t],null)}}}}function i(...e){return t.useCallback(n(...e),e)}e.s(["composeRefs",()=>n,"useComposedRefs",()=>i])},392295,770008,e=>{"use strict";var t=e.i(430878),r=e.i(309945),n=e.i(414294),i=Symbol.for("react.lazy"),o=t[" use ".trim().toString()];function a(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===i&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}function l(e){var i;let l,u=(i=e,(l=t.forwardRef((e,n)=>{let{children:i,...l}=e;if(a(i)&&"function"==typeof o&&(i=o(i._payload)),t.isValidElement(i)){var u;let e,o,a=(u=i,(o=(e=Object.getOwnPropertyDescriptor(u.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?u.ref:(o=(e=Object.getOwnPropertyDescriptor(u,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?u.props.ref:u.props.ref||u.ref),s=function(e,t){let r={...t};for(let n in t){let i=e[n],o=t[n];/^on[A-Z]/.test(n)?i&&o?r[n]=(...e)=>{let t=o(...e);return i(...e),t}:i&&(r[n]=i):"style"===n?r[n]={...i,...o}:"className"===n&&(r[n]=[i,o].filter(Boolean).join(" "))}return{...e,...r}}(l,i.props);return i.type!==t.Fragment&&(s.ref=n?(0,r.composeRefs)(n,a):a),t.cloneElement(i,s)}return t.Children.count(i)>1?t.Children.only(null):null})).displayName=`${i}.SlotClone`,l),s=t.forwardRef((e,r)=>{let{children:i,...l}=e;a(i)&&"function"==typeof o&&(i=o(i._payload));let s=t.Children.toArray(i),d=s.find(c);if(d){let e=d.props.children,i=s.map(r=>r!==d?r:t.Children.count(e)>1?t.Children.only(null):t.isValidElement(e)?e.props.children:null);return(0,n.jsx)(u,{...l,ref:r,children:t.isValidElement(e)?t.cloneElement(e,void 0,i):null})}return(0,n.jsx)(u,{...l,ref:r,children:i})});return s.displayName=`${e}.Slot`,s}var u=l("Slot"),s=Symbol("radix.slottable");function c(e){return t.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===s}e.s(["Slot",()=>u,"createSlot",()=>l],392295);var d=e.i(630279);let f=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,p=d.clsx;e.s(["cva",0,(e,t)=>r=>{var n;if((null==t?void 0:t.variants)==null)return p(e,null==r?void 0:r.class,null==r?void 0:r.className);let{variants:i,defaultVariants:o}=t,a=Object.keys(i).map(e=>{let t=null==r?void 0:r[e],n=null==o?void 0:o[e];if(null===t)return null;let a=f(t)||f(n);return i[e][a]}),l=r&&Object.entries(r).reduce((e,t)=>{let[r,n]=t;return void 0===n||(e[r]=n),e},{});return p(e,a,null==t||null==(n=t.compoundVariants)?void 0:n.reduce((e,t)=>{let{class:r,className:n,...i}=t;return Object.entries(i).every(e=>{let[t,r]=e;return Array.isArray(r)?r.includes({...o,...l}[t]):({...o,...l})[t]===r})?[...e,r,n]:e},[]),null==r?void 0:r.class,null==r?void 0:r.className)}],770008)},292511,e=>{"use strict";var t=e.i(430878);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),n=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var i={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let o=(0,t.forwardRef)(({color:e="currentColor",size:n=24,strokeWidth:o=2,absoluteStrokeWidth:a,className:l="",children:u,iconNode:s,...c},d)=>(0,t.createElement)("svg",{ref:d,...i,width:n,height:n,stroke:e,strokeWidth:a?24*Number(o)/Number(n):o,className:r("lucide",l),...!u&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(c)&&{"aria-hidden":"true"},...c},[...s.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(u)?u:[u]])),a=(e,i)=>{let a=(0,t.forwardRef)(({className:a,...l},u)=>(0,t.createElement)(o,{ref:u,iconNode:i,className:r(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,a),...l}));return a.displayName=n(e),a};e.s(["default",()=>a],292511)},555552,e=>{"use strict";var t=e.i(630279),r=e.i(678497);function n(...e){return(0,r.twMerge)((0,t.clsx)(e))}e.s(["cn",()=>n])},666904,e=>{"use strict";var t=e.i(414294),r=e.i(392295),n=e.i(770008),i=e.i(555552);let o=(0,n.cva)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all duration-200 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive active:scale-[0.98]",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function a({className:e,variant:n="default",size:a="default",asChild:l=!1,...u}){let s=l?r.Slot:"button";return(0,t.jsx)(s,{"data-slot":"button","data-variant":n,"data-size":a,className:(0,i.cn)(o({variant:n,size:a,className:e})),...u})}e.s(["Button",()=>a])},461957,675182,e=>{"use strict";let t=(0,e.i(292511).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["default",()=>t],675182),e.s(["Loader2",()=>t],461957)},266514,e=>{"use strict";let t=(0,e.i(292511).default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);e.s(["Bot",()=>t],266514)},667249,e=>{"use strict";let t=(0,e.i(292511).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);e.s(["MessageSquare",()=>t],667249)}]);