neural-loom 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/cache/.previewinfo +1 -1
  4. package/.next/cache/.rscinfo +1 -1
  5. package/.next/cache/.tsbuildinfo +1 -1
  6. package/.next/diagnostics/route-bundle-stats.json +1 -1
  7. package/.next/fallback-build-manifest.json +3 -3
  8. package/.next/prerender-manifest.json +3 -3
  9. package/.next/server/app/_global-error.html +1 -1
  10. package/.next/server/app/_global-error.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/server/app/_not-found.html +1 -1
  17. package/.next/server/app/_not-found.rsc +1 -1
  18. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  20. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  21. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  23. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  24. package/.next/server/app/index.html +1 -1
  25. package/.next/server/app/index.rsc +2 -2
  26. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  27. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  28. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  29. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  30. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  31. package/.next/server/app/page/react-loadable-manifest.json +2 -2
  32. package/.next/server/app/page_client-reference-manifest.js +1 -1
  33. package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0ev3h.z.js +1 -1
  34. package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0ev3h.z.js.map +1 -1
  35. package/.next/server/middleware-build-manifest.js +3 -3
  36. package/.next/server/pages/404.html +1 -1
  37. package/.next/server/pages/500.html +1 -1
  38. package/.next/server/server-reference-manifest.js +1 -1
  39. package/.next/server/server-reference-manifest.json +1 -1
  40. package/.next/static/chunks/03wk6d_hkj.x2.js +1 -0
  41. package/.next/static/chunks/095uz52in_39t.js +1 -0
  42. package/.next/static/chunks/{0f4at4_v-tkgj.js → 0di.tbc4b33wc.js} +1 -1
  43. package/.next/trace +1 -1
  44. package/.next/trace-build +1 -1
  45. package/package.json +1 -1
  46. package/src/app/api/files/route.ts +42 -0
  47. package/src/app/components/AiderWizard.tsx +55 -7
  48. package/src/app/components/ClaudeWizard.tsx +55 -7
  49. package/src/app/components/DirectoryBrowserModal.tsx +362 -0
  50. package/.next/static/chunks/0ewdhgxsa_h.q.js +0 -1
  51. package/.next/static/chunks/0mej.ad_ddvf1.js +0 -1
  52. /package/.next/static/{LKAGJKkoLEWqiDjSp26mp → 7dOnbX1c746E1bCz_44Q2}/_buildManifest.js +0 -0
  53. /package/.next/static/{LKAGJKkoLEWqiDjSp26mp → 7dOnbX1c746E1bCz_44Q2}/_clientMiddlewareManifest.js +0 -0
  54. /package/.next/static/{LKAGJKkoLEWqiDjSp26mp → 7dOnbX1c746E1bCz_44Q2}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- <!DOCTYPE html><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/0fpki3y6aj230.js"/><script src="/_next/static/chunks/140ovxvjat1ch.js" async=""></script><script src="/_next/static/chunks/07lhk_q6pmm3r.js" async=""></script><script src="/_next/static/chunks/turbopack-08fpdsd.-ns2y.js" async=""></script><script src="/_next/static/chunks/0dbhjjzl8qfwv.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><link rel="icon" href="/favicon.ico?favicon.0x3dzn~oxb6tn.ico" sizes="256x256" type="image/x-icon"/><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.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;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0fpki3y6aj230.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[39756,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"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: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"LKAGJKkoLEWqiDjSp26mp\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\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\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[27201,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"IconMark\"]\n6:null\nb:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Le\",\"1\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><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/0fpki3y6aj230.js"/><script src="/_next/static/chunks/140ovxvjat1ch.js" async=""></script><script src="/_next/static/chunks/07lhk_q6pmm3r.js" async=""></script><script src="/_next/static/chunks/turbopack-08fpdsd.-ns2y.js" async=""></script><script src="/_next/static/chunks/0dbhjjzl8qfwv.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><link rel="icon" href="/favicon.ico?favicon.0x3dzn~oxb6tn.ico" sizes="256x256" type="image/x-icon"/><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.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;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0fpki3y6aj230.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[39756,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"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: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"7dOnbX1c746E1bCz_44Q2\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\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\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[27201,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"IconMark\"]\n6:null\nb:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Le\",\"1\",{}]]\n"])</script></body></html>
@@ -1 +1 @@
1
- self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"IFW9pw/U2buV4xUX26f5vVmKogAyyEA2jGlhrxqTF2o=\"\n}"
1
+ self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"UjxS80BHYtnNNRVZqwhvxmCQrub1bOCWjcgeD+X2CjM=\"\n}"
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "node": {},
3
3
  "edge": {},
4
- "encryptionKey": "IFW9pw/U2buV4xUX26f5vVmKogAyyEA2jGlhrxqTF2o="
4
+ "encryptionKey": "UjxS80BHYtnNNRVZqwhvxmCQrub1bOCWjcgeD+X2CjM="
5
5
  }
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,54370,e=>{"use strict";var r=e.i(43476),o=e.i(71645);let t={position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(5, 7, 10, 0.85)",backdropFilter:"blur(12px)",zIndex:1100,display:"flex",alignItems:"center",justifyContent:"center"},n={width:"90%",maxWidth:"550px",height:"480px",backgroundColor:"var(--card)",border:"1px solid var(--border-focus)",borderRadius:"12px",boxShadow:"0 20px 25px -5px rgba(0,0,0,0.7), 0 10px 10px -5px rgba(0,0,0,0.7)",display:"flex",flexDirection:"column",overflow:"hidden"},i={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0.85rem 1.25rem",borderBottom:"1px solid var(--border)",background:"hsla(var(--border-hsl), 0.2)"},l={background:"none",border:"none",color:"var(--muted)",fontSize:"0.9rem",cursor:"pointer",padding:"0.25rem"},a={display:"flex",padding:"0.75rem 1.25rem",gap:"0.5rem",backgroundColor:"rgba(10, 15, 25, 0.5)",borderBottom:"1px solid var(--border)"},d={flex:1,padding:"0.45rem 0.75rem",backgroundColor:"#05070a",border:"1px solid var(--border)",borderRadius:"6px",color:"var(--foreground)",fontFamily:"var(--font-mono), monospace",fontSize:"0.8rem",outline:"none"},s={padding:"0.45rem 0.85rem",backgroundColor:"var(--border)",border:"1px solid var(--border-focus)",borderRadius:"6px",color:"var(--foreground)",fontSize:"0.75rem",fontWeight:600,cursor:"pointer"},c={padding:"0.15rem 0.45rem",backgroundColor:"rgba(255, 255, 255, 0.15)",border:"none",borderRadius:"4px",color:"var(--foreground)",fontSize:"0.7rem",cursor:"pointer",fontWeight:600},p={flex:1,padding:"0.5rem 1.25rem",overflowY:"auto",backgroundColor:"#070a0f"},u={display:"flex",flexDirection:"column",gap:"0.25rem"},m={display:"flex",alignItems:"center",gap:"0.6rem",padding:"0.45rem 0.65rem",borderRadius:"6px",cursor:"pointer",fontSize:"0.825rem",border:"1px solid transparent",userSelect:"none",transition:"all 0.15s ease"},x={textAlign:"center",padding:"2rem",fontSize:"0.85rem",color:"var(--muted)"},g={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0.85rem 1.25rem",borderTop:"1px solid var(--border)",background:"hsla(var(--border-hsl), 0.2)"},b={fontSize:"0.75rem",color:"var(--muted)",maxWidth:"240px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},f={padding:"0.45rem 0.9rem",borderRadius:"6px",border:"none",background:"linear-gradient(135deg, hsl(262, 83%, 60%) 0%, hsl(195, 100%, 45%) 100%)",color:"#fff",fontSize:"0.75rem",fontWeight:600,cursor:"pointer"},h={padding:"0.45rem 0.9rem",borderRadius:"6px",border:"1px solid var(--border)",backgroundColor:"transparent",color:"var(--foreground)",fontSize:"0.75rem",fontWeight:600,cursor:"pointer"};e.s(["default",0,function({title:e,initialPath:y,onClose:v,onSelect:j}){let[C,k]=(0,o.useState)(y||""),[S,w]=(0,o.useState)(null),[D,R]=(0,o.useState)([]),[z,W]=(0,o.useState)(null),[I,P]=(0,o.useState)(""),[T,B]=(0,o.useState)(!1),[F,A]=(0,o.useState)(""),L=async e=>{B(!0),A("");try{let r=`/api/files?action=browse_dirs&path=${encodeURIComponent(e)}`,o=await fetch(r),t=await o.json();o.ok&&t.success?(k(t.currentPath),P(t.currentPath),w(t.parentPath),R(t.directories),W(null)):A(t.error||"Failed to load directory content.")}catch(e){console.error("Error browsing directories:",e),A("Failed to fetch directory contents.")}finally{B(!1)}};(0,o.useEffect)(()=>{L(y)},[y]);let O=e=>{L(e)},N=()=>{I.trim()&&L(I.trim())};return(0,r.jsx)("div",{style:t,children:(0,r.jsxs)("div",{style:n,children:[(0,r.jsxs)("div",{style:i,children:[(0,r.jsxs)("h3",{style:{fontSize:"1rem",fontWeight:700,margin:0,color:"var(--foreground)"},children:["📁 ",e]}),(0,r.jsx)("button",{onClick:v,style:l,"aria-label":"Close browser",children:"✖"})]}),(0,r.jsxs)("div",{style:a,children:[(0,r.jsx)("input",{type:"text",value:I,onChange:e=>P(e.target.value),onKeyDown:e=>{"Enter"===e.key&&N()},style:d,placeholder:"Absolute folder path..."}),(0,r.jsx)("button",{onClick:N,style:s,disabled:T,children:"Go"})]}),(0,r.jsx)("div",{style:p,children:T?(0,r.jsx)("div",{style:x,children:"Loading directories..."}):F?(0,r.jsxs)("div",{style:{...x,color:"var(--danger)"},children:[F,(0,r.jsx)("button",{onClick:()=>L(C||"."),style:{...s,display:"block",margin:"0.75rem auto 0"},children:"Retry"})]}):(0,r.jsxs)("div",{style:u,children:[S&&(0,r.jsxs)("div",{onClick:()=>O(S),onDoubleClick:()=>O(S),style:m,title:"Go up to parent directory",children:[(0,r.jsx)("span",{style:{fontSize:"1.1rem"},children:"⬆️"}),(0,r.jsx)("span",{style:{fontWeight:600},children:".. (Up)"})]}),0===D.length?(0,r.jsx)("div",{style:{...x,color:"var(--muted)"},children:"No subdirectories found"}):D.map(e=>{let o=z===e.path;return(0,r.jsxs)("div",{onClick:()=>W(e.path),onDoubleClick:()=>O(e.path),style:{...m,backgroundColor:o?"rgba(109, 40, 217, 0.25)":"transparent",borderColor:o?"var(--border-focus)":"transparent"},title:"Single click to highlight, double click to enter",children:[(0,r.jsx)("span",{style:{fontSize:"1.1rem"},children:"📁"}),(0,r.jsx)("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),o&&(0,r.jsx)("button",{type:"button",onClick:r=>{r.stopPropagation(),O(e.path)},style:c,children:"Enter ➜"})]},e.path)})]})}),(0,r.jsxs)("div",{style:g,children:[(0,r.jsxs)("span",{style:b,children:["Selection: ",(0,r.jsx)("span",{style:{color:"var(--foreground)",fontFamily:"var(--font-mono), monospace"},children:z||C||"(None)"})]}),(0,r.jsxs)("div",{style:{display:"flex",gap:"0.5rem"},children:[(0,r.jsx)("button",{onClick:v,style:h,children:"Cancel"}),(0,r.jsx)("button",{onClick:()=>{j(z||C),v()},style:f,disabled:T,children:"Select Folder"})]})]})]})})}])},44837,e=>{"use strict";var r=e.i(43476),o=e.i(71645),t=e.i(54370);let n={position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(5, 7, 10, 0.8)",backdropFilter:"blur(8px)",zIndex:1e3,display:"flex",alignItems:"center",justifyContent:"center",animation:"fadeIn 0.2s ease-out"},i={width:"90%",maxWidth:"500px",backgroundColor:"var(--card)",border:"1px solid var(--border-focus)",borderRadius:"12px",boxShadow:"0 10px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.5)",overflow:"hidden",display:"flex",flexDirection:"column"},l={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"1rem 1.25rem",borderBottom:"1px solid var(--border)",background:"hsla(var(--border-hsl), 0.2)"},a={background:"none",border:"none",color:"var(--muted)",fontSize:"0.9rem",cursor:"pointer",padding:"0.25rem"},d={padding:"1.25rem",display:"flex",flexDirection:"column"},s={display:"flex",flexDirection:"column",marginBottom:"1rem"},c={fontSize:"0.75rem",fontWeight:600,color:"var(--foreground)",marginBottom:"0.375rem",textTransform:"uppercase",letterSpacing:"0.05em"},p={width:"100%",padding:"0.5rem 0.75rem",backgroundColor:"#080c14",border:"1px solid var(--border)",borderRadius:"6px",color:"var(--foreground)",fontFamily:"var(--font-mono), monospace",fontSize:"0.825rem",outline:"none",transition:"border-color 0.15s ease"},u={marginTop:"0.75rem",padding:"0.75rem",borderRadius:"6px",border:"1px solid var(--danger)",backgroundColor:"rgba(239, 68, 68, 0.05)",color:"var(--danger)",fontSize:"0.8rem",lineHeight:1.4},m={display:"flex",justifyContent:"flex-end",gap:"0.75rem",padding:"1rem 1.25rem",borderTop:"1px solid var(--border)",background:"hsla(var(--border-hsl), 0.2)"},x={padding:"0.5rem 1rem",borderRadius:"6px",border:"none",background:"linear-gradient(135deg, hsl(262, 83%, 60%) 0%, hsl(195, 100%, 45%) 100%)",color:"#fff",fontSize:"0.8rem",fontWeight:600,cursor:"pointer"},g={padding:"0.5rem 1rem",borderRadius:"6px",border:"1px solid var(--border)",backgroundColor:"transparent",color:"var(--foreground)",fontSize:"0.8rem",fontWeight:600,cursor:"pointer"},b={padding:"0.35rem 0.75rem",borderRadius:"6px",border:"1px solid var(--border)",backgroundColor:"rgba(255, 255, 255, 0.05)",color:"var(--foreground)",fontSize:"0.75rem",fontWeight:600,cursor:"pointer",transition:"all 0.15s ease"};e.s(["default",0,function({onClose:e,onConfirmLaunch:f,isDocker:h}){let[y,v]=(0,o.useState)({name:h?"Claude Docker":"Claude Local",workspaceRoot:"",scopedDirs:[]}),[j,C]=(0,o.useState)(""),[k,S]=(0,o.useState)(!0),[w,D]=(0,o.useState)(!1),[R,z]=(0,o.useState)(""),[W,I]=(0,o.useState)(!1),[P,T]=(0,o.useState)(!1);(0,o.useEffect)(()=>{(async()=>{try{let e=await fetch("/api/context/claude");if(e.ok){let r=await e.json();r.success&&r.config&&v({name:r.config.name||(h?"Claude Docker":"Claude Local"),workspaceRoot:r.config.workspaceRoot||"",scopedDirs:r.config.scopedDirs||[]})}}catch(e){console.error("Failed to load Claude configuration:",e)}finally{S(!1)}})()},[h]);let B=async()=>{D(!0),z("");try{let e=await fetch("/api/context/claude",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(y)});if(e.ok)D(!1),f(y.name,y.workspaceRoot,y.scopedDirs);else{let r=await e.json();z(r.error||"Failed to save settings."),D(!1)}}catch(e){console.error(e),z("Network error: failed to connect to NeuralLoom dashboard API."),D(!1)}};return k?(0,r.jsx)("div",{style:n,children:(0,r.jsx)("div",{style:i,children:(0,r.jsx)("div",{style:{textAlign:"center",padding:"2rem"},children:(0,r.jsx)("span",{style:{color:"var(--muted)"},children:"Loading Claude Configuration..."})})})}):(0,r.jsx)("div",{style:n,children:(0,r.jsxs)("div",{style:i,children:[(0,r.jsxs)("div",{style:l,children:[(0,r.jsxs)("h3",{style:{fontSize:"1.1rem",fontWeight:700,margin:0,display:"flex",alignItems:"center",gap:"0.5rem"},children:[h?"🐳":"🤖"," Claude PTY Launch Wizard ",h?"(Docker)":"(Local)"]}),(0,r.jsx)("button",{onClick:e,style:a,"aria-label":"Close wizard",children:"✖"})]}),(0,r.jsxs)("div",{style:d,children:[(0,r.jsx)("p",{style:{fontSize:"0.825rem",color:"var(--muted)",marginBottom:"1.25rem",lineHeight:1.4},children:"Configure the local workspace path and access parameters for the Claude Code session. Settings are saved in `.ai/neural-loom/claude.json`."}),(0,r.jsxs)("div",{style:s,children:[(0,r.jsx)("label",{style:c,children:"Session Display Name"}),(0,r.jsx)("input",{type:"text",value:y.name,onChange:e=>v({...y,name:e.target.value}),placeholder:h?"Claude Docker":"Claude Local",style:p})]}),(0,r.jsxs)("div",{style:s,children:[(0,r.jsx)("label",{style:c,children:"Workspace Directory (Root)"}),(0,r.jsxs)("div",{style:{display:"flex",gap:"0.5rem"},children:[(0,r.jsx)("input",{type:"text",value:y.workspaceRoot,onChange:e=>v({...y,workspaceRoot:e.target.value}),placeholder:"e.g. C:\\Users\\Dave\\OneDrive\\Projects\\JS\\wingman",style:{...p,flex:1}}),(0,r.jsx)("button",{type:"button",onClick:()=>I(!0),style:b,children:"Browse..."})]}),(0,r.jsx)("span",{style:{fontSize:"0.7rem",color:"var(--muted)",marginTop:"0.25rem"},children:"The active folder Claude Code will run in. Leave blank to run in the current orchestrator directory."})]}),(0,r.jsxs)("div",{style:s,children:[(0,r.jsx)("label",{style:c,children:"Scoped Directories (Additional Access)"}),y.scopedDirs.length>0&&(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"0.5rem",marginBottom:"0.5rem"},children:y.scopedDirs.map((e,o)=>(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",backgroundColor:"#080c14",padding:"0.35rem 0.5rem",borderRadius:"4px",border:"1px solid var(--border)"},children:[(0,r.jsx)("span",{style:{fontSize:"0.8rem",fontFamily:"var(--font-mono), monospace",wordBreak:"break-all"},children:e}),(0,r.jsx)("button",{type:"button",onClick:()=>{let e=y.scopedDirs.filter((e,r)=>r!==o);v({...y,scopedDirs:e})},style:{background:"none",border:"none",color:"var(--danger)",cursor:"pointer",fontSize:"0.8rem",padding:"0 0.25rem"},children:"Remove"})]},o))}),(0,r.jsxs)("div",{style:{display:"flex",gap:"0.5rem"},children:[(0,r.jsx)("input",{type:"text",value:j,onChange:e=>C(e.target.value),placeholder:"e.g. C:\\Users\\Dave\\OneDrive\\Projects\\JS\\other-repo",style:{...p,flex:1}}),(0,r.jsx)("button",{type:"button",onClick:()=>T(!0),style:b,children:"Browse..."}),(0,r.jsx)("button",{type:"button",onClick:()=>{j.trim()&&!y.scopedDirs.includes(j.trim())&&(v({...y,scopedDirs:[...y.scopedDirs,j.trim()]}),C(""))},style:{padding:"0.35rem 0.75rem",borderRadius:"6px",border:"1px solid var(--border-focus)",backgroundColor:"rgba(109, 40, 217, 0.1)",color:"var(--foreground)",fontSize:"0.75rem",fontWeight:600,cursor:"pointer"},children:"Add"})]})]}),R&&(0,r.jsxs)("div",{style:u,children:["✗ ",R]})]}),(0,r.jsxs)("div",{style:m,children:[(0,r.jsx)("button",{onClick:e,style:g,disabled:w,children:"Cancel"}),(0,r.jsx)("button",{onClick:B,style:x,disabled:w,children:w?"Saving...":"Launch Session"})]}),W&&(0,r.jsx)(t.default,{title:"Select Workspace Root",initialPath:y.workspaceRoot,onClose:()=>I(!1),onSelect:e=>v({...y,workspaceRoot:e})}),P&&(0,r.jsx)(t.default,{title:"Add Scoped Directory",initialPath:j,onClose:()=>T(!1),onSelect:e=>C(e)})]})})}])},20032,e=>{e.n(e.i(44837))}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,54370,e=>{"use strict";var r=e.i(43476),o=e.i(71645);let t={position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(5, 7, 10, 0.85)",backdropFilter:"blur(12px)",zIndex:1100,display:"flex",alignItems:"center",justifyContent:"center"},n={width:"90%",maxWidth:"550px",height:"480px",backgroundColor:"var(--card)",border:"1px solid var(--border-focus)",borderRadius:"12px",boxShadow:"0 20px 25px -5px rgba(0,0,0,0.7), 0 10px 10px -5px rgba(0,0,0,0.7)",display:"flex",flexDirection:"column",overflow:"hidden"},i={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0.85rem 1.25rem",borderBottom:"1px solid var(--border)",background:"hsla(var(--border-hsl), 0.2)"},l={background:"none",border:"none",color:"var(--muted)",fontSize:"0.9rem",cursor:"pointer",padding:"0.25rem"},a={display:"flex",padding:"0.75rem 1.25rem",gap:"0.5rem",backgroundColor:"rgba(10, 15, 25, 0.5)",borderBottom:"1px solid var(--border)"},s={flex:1,padding:"0.45rem 0.75rem",backgroundColor:"#05070a",border:"1px solid var(--border)",borderRadius:"6px",color:"var(--foreground)",fontFamily:"var(--font-mono), monospace",fontSize:"0.8rem",outline:"none"},d={padding:"0.45rem 0.85rem",backgroundColor:"var(--border)",border:"1px solid var(--border-focus)",borderRadius:"6px",color:"var(--foreground)",fontSize:"0.75rem",fontWeight:600,cursor:"pointer"},c={padding:"0.15rem 0.45rem",backgroundColor:"rgba(255, 255, 255, 0.15)",border:"none",borderRadius:"4px",color:"var(--foreground)",fontSize:"0.7rem",cursor:"pointer",fontWeight:600},p={flex:1,padding:"0.5rem 1.25rem",overflowY:"auto",backgroundColor:"#070a0f"},u={display:"flex",flexDirection:"column",gap:"0.25rem"},g={display:"flex",alignItems:"center",gap:"0.6rem",padding:"0.45rem 0.65rem",borderRadius:"6px",cursor:"pointer",fontSize:"0.825rem",border:"1px solid transparent",userSelect:"none",transition:"all 0.15s ease"},m={textAlign:"center",padding:"2rem",fontSize:"0.85rem",color:"var(--muted)"},x={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0.85rem 1.25rem",borderTop:"1px solid var(--border)",background:"hsla(var(--border-hsl), 0.2)"},h={fontSize:"0.75rem",color:"var(--muted)",maxWidth:"240px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},b={padding:"0.45rem 0.9rem",borderRadius:"6px",border:"none",background:"linear-gradient(135deg, hsl(262, 83%, 60%) 0%, hsl(195, 100%, 45%) 100%)",color:"#fff",fontSize:"0.75rem",fontWeight:600,cursor:"pointer"},y={padding:"0.45rem 0.9rem",borderRadius:"6px",border:"1px solid var(--border)",backgroundColor:"transparent",color:"var(--foreground)",fontSize:"0.75rem",fontWeight:600,cursor:"pointer"};e.s(["default",0,function({title:e,initialPath:f,onClose:v,onSelect:j}){let[k,C]=(0,o.useState)(f||""),[S,w]=(0,o.useState)(null),[A,z]=(0,o.useState)([]),[R,D]=(0,o.useState)(null),[K,I]=(0,o.useState)(""),[P,F]=(0,o.useState)(!1),[W,T]=(0,o.useState)(""),B=async e=>{F(!0),T("");try{let r=`/api/files?action=browse_dirs&path=${encodeURIComponent(e)}`,o=await fetch(r),t=await o.json();o.ok&&t.success?(C(t.currentPath),I(t.currentPath),w(t.parentPath),z(t.directories),D(null)):T(t.error||"Failed to load directory content.")}catch(e){console.error("Error browsing directories:",e),T("Failed to fetch directory contents.")}finally{F(!1)}};(0,o.useEffect)(()=>{B(f)},[f]);let O=e=>{B(e)},G=()=>{K.trim()&&B(K.trim())};return(0,r.jsx)("div",{style:t,children:(0,r.jsxs)("div",{style:n,children:[(0,r.jsxs)("div",{style:i,children:[(0,r.jsxs)("h3",{style:{fontSize:"1rem",fontWeight:700,margin:0,color:"var(--foreground)"},children:["📁 ",e]}),(0,r.jsx)("button",{onClick:v,style:l,"aria-label":"Close browser",children:"✖"})]}),(0,r.jsxs)("div",{style:a,children:[(0,r.jsx)("input",{type:"text",value:K,onChange:e=>I(e.target.value),onKeyDown:e=>{"Enter"===e.key&&G()},style:s,placeholder:"Absolute folder path..."}),(0,r.jsx)("button",{onClick:G,style:d,disabled:P,children:"Go"})]}),(0,r.jsx)("div",{style:p,children:P?(0,r.jsx)("div",{style:m,children:"Loading directories..."}):W?(0,r.jsxs)("div",{style:{...m,color:"var(--danger)"},children:[W,(0,r.jsx)("button",{onClick:()=>B(k||"."),style:{...d,display:"block",margin:"0.75rem auto 0"},children:"Retry"})]}):(0,r.jsxs)("div",{style:u,children:[S&&(0,r.jsxs)("div",{onClick:()=>O(S),onDoubleClick:()=>O(S),style:g,title:"Go up to parent directory",children:[(0,r.jsx)("span",{style:{fontSize:"1.1rem"},children:"⬆️"}),(0,r.jsx)("span",{style:{fontWeight:600},children:".. (Up)"})]}),0===A.length?(0,r.jsx)("div",{style:{...m,color:"var(--muted)"},children:"No subdirectories found"}):A.map(e=>{let o=R===e.path;return(0,r.jsxs)("div",{onClick:()=>D(e.path),onDoubleClick:()=>O(e.path),style:{...g,backgroundColor:o?"rgba(109, 40, 217, 0.25)":"transparent",borderColor:o?"var(--border-focus)":"transparent"},title:"Single click to highlight, double click to enter",children:[(0,r.jsx)("span",{style:{fontSize:"1.1rem"},children:"📁"}),(0,r.jsx)("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),o&&(0,r.jsx)("button",{type:"button",onClick:r=>{r.stopPropagation(),O(e.path)},style:c,children:"Enter ➜"})]},e.path)})]})}),(0,r.jsxs)("div",{style:x,children:[(0,r.jsxs)("span",{style:h,children:["Selection: ",(0,r.jsx)("span",{style:{color:"var(--foreground)",fontFamily:"var(--font-mono), monospace"},children:R||k||"(None)"})]}),(0,r.jsxs)("div",{style:{display:"flex",gap:"0.5rem"},children:[(0,r.jsx)("button",{onClick:v,style:y,children:"Cancel"}),(0,r.jsx)("button",{onClick:()=>{j(R||k),v()},style:b,disabled:P,children:"Select Folder"})]})]})]})})}])},1663,e=>{"use strict";var r=e.i(43476),o=e.i(71645),t=e.i(54370);let n={position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(5, 7, 10, 0.8)",backdropFilter:"blur(8px)",zIndex:1e3,display:"flex",alignItems:"center",justifyContent:"center",animation:"fadeIn 0.2s ease-out"},i={width:"90%",maxWidth:"500px",backgroundColor:"var(--card)",border:"1px solid var(--border-focus)",borderRadius:"12px",boxShadow:"0 10px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.5)",overflow:"hidden",display:"flex",flexDirection:"column"},l={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"1rem 1.25rem",borderBottom:"1px solid var(--border)",background:"hsla(var(--border-hsl), 0.2)"},a={background:"none",border:"none",color:"var(--muted)",fontSize:"0.9rem",cursor:"pointer",padding:"0.25rem"},s={padding:"1.25rem",display:"flex",flexDirection:"column"},d={display:"flex",flexDirection:"column",marginBottom:"1rem"},c={fontSize:"0.75rem",fontWeight:600,color:"var(--foreground)",marginBottom:"0.375rem",textTransform:"uppercase",letterSpacing:"0.05em"},p={width:"100%",padding:"0.5rem 0.75rem",backgroundColor:"#080c14",border:"1px solid var(--border)",borderRadius:"6px",color:"var(--foreground)",fontFamily:"var(--font-mono), monospace",fontSize:"0.825rem",outline:"none",transition:"border-color 0.15s ease"},u={width:"100%",padding:"0.5rem 0.75rem",backgroundColor:"#080c14",border:"1px solid var(--border)",borderRadius:"6px",color:"var(--foreground)",fontSize:"0.825rem",outline:"none",cursor:"pointer"},g={marginTop:"0.75rem",padding:"0.75rem",borderRadius:"6px",border:"1px solid var(--danger)",backgroundColor:"rgba(239, 68, 68, 0.05)",color:"var(--danger)",fontSize:"0.8rem",lineHeight:1.4},m={display:"flex",justifyContent:"flex-end",gap:"0.75rem",padding:"1rem 1.25rem",borderTop:"1px solid var(--border)",background:"hsla(var(--border-hsl), 0.2)"},x={padding:"0.5rem 1rem",borderRadius:"6px",border:"none",background:"linear-gradient(135deg, hsl(210, 80%, 45%) 0%, hsl(262, 80%, 55%) 100%)",color:"#fff",fontSize:"0.8rem",fontWeight:600,cursor:"pointer"},h={padding:"0.5rem 1rem",borderRadius:"6px",border:"1px solid var(--border)",backgroundColor:"transparent",color:"var(--foreground)",fontSize:"0.8rem",fontWeight:600,cursor:"pointer"},b={padding:"0.35rem 0.75rem",borderRadius:"6px",border:"1px solid var(--border)",backgroundColor:"rgba(255, 255, 255, 0.05)",color:"var(--foreground)",fontSize:"0.75rem",fontWeight:600,cursor:"pointer",transition:"all 0.15s ease"};e.s(["default",0,function({onClose:e,onConfirmLaunch:y,isDocker:f}){let[v,j]=(0,o.useState)({openaiApiKey:"",anthropicApiKey:"",geminiApiKey:"",model:"claude-3-5-sonnet",extraFlags:"",workspaceRoot:"",scopedDirs:[]}),[k,C]=(0,o.useState)(""),[S,w]=(0,o.useState)(!0),[A,z]=(0,o.useState)(!1),[R,D]=(0,o.useState)(""),[K,I]=(0,o.useState)(!1),[P,F]=(0,o.useState)(!1);(0,o.useEffect)(()=>{(async()=>{try{let e=await fetch("/api/context/aider");if(e.ok){let r=await e.json();r.success&&r.config&&j({openaiApiKey:r.config.openaiApiKey||"",anthropicApiKey:r.config.anthropicApiKey||"",geminiApiKey:r.config.geminiApiKey||"",model:r.config.model||"claude-3-5-sonnet",extraFlags:r.config.extraFlags||"",workspaceRoot:r.config.workspaceRoot||"",scopedDirs:r.config.scopedDirs||[]})}}catch(e){console.error("Failed to load Aider configuration:",e)}finally{w(!1)}})()},[]);let W=async()=>{z(!0),D("");try{let e=await fetch("/api/context/aider",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(v)});if(e.ok)z(!1),y();else{let r=await e.json();D(r.error||"Failed to save settings."),z(!1)}}catch(e){console.error(e),D("Network error: failed to connect to NeuralLoom dashboard API."),z(!1)}};return S?(0,r.jsx)("div",{style:n,children:(0,r.jsx)("div",{style:i,children:(0,r.jsx)("div",{style:{textAlign:"center",padding:"2rem"},children:(0,r.jsx)("span",{style:{color:"var(--muted)"},children:"Loading Aider Configuration..."})})})}):(0,r.jsx)("div",{style:n,children:(0,r.jsxs)("div",{style:i,children:[(0,r.jsxs)("div",{style:l,children:[(0,r.jsxs)("h3",{style:{fontSize:"1.1rem",fontWeight:700,margin:0,display:"flex",alignItems:"center",gap:"0.5rem"},children:["🐍 Aider Launch Panel ",f?"(Docker)":""]}),(0,r.jsx)("button",{onClick:e,style:a,"aria-label":"Close wizard",children:"✖"})]}),(0,r.jsxs)("div",{style:s,children:[(0,r.jsx)("p",{style:{fontSize:"0.825rem",color:"var(--muted)",marginBottom:"1.25rem",lineHeight:1.4},children:"Configure model and environment variables for the Aider session. API keys are saved locally in `.ai/neural-loom/aider.json` and are ignored by git."}),(0,r.jsxs)("div",{style:d,children:[(0,r.jsx)("label",{style:c,children:"Anthropic API Key"}),(0,r.jsx)("input",{type:"password",value:v.anthropicApiKey,onChange:e=>j({...v,anthropicApiKey:e.target.value}),placeholder:v.anthropicApiKey?"••••••••••••••••":"sk-ant-...",style:p})]}),(0,r.jsxs)("div",{style:d,children:[(0,r.jsx)("label",{style:c,children:"OpenAI API Key"}),(0,r.jsx)("input",{type:"password",value:v.openaiApiKey,onChange:e=>j({...v,openaiApiKey:e.target.value}),placeholder:v.openaiApiKey?"••••••••••••••••":"sk-...",style:p})]}),(0,r.jsxs)("div",{style:d,children:[(0,r.jsx)("label",{style:c,children:"Gemini API Key"}),(0,r.jsx)("input",{type:"password",value:v.geminiApiKey,onChange:e=>j({...v,geminiApiKey:e.target.value}),placeholder:v.geminiApiKey?"••••••••••••••••":"AIzaSy...",style:p})]}),(0,r.jsxs)("div",{style:d,children:[(0,r.jsx)("label",{style:c,children:"Workspace Directory (Root)"}),(0,r.jsxs)("div",{style:{display:"flex",gap:"0.5rem"},children:[(0,r.jsx)("input",{type:"text",value:v.workspaceRoot,onChange:e=>j({...v,workspaceRoot:e.target.value}),placeholder:"e.g. C:\\Users\\Dave\\OneDrive\\Projects\\JS\\neural-loom",style:{...p,flex:1}}),(0,r.jsx)("button",{type:"button",onClick:()=>I(!0),style:b,children:"Browse..."})]}),(0,r.jsx)("span",{style:{fontSize:"0.7rem",color:"var(--muted)",marginTop:"0.25rem"},children:"Leave blank to default to the current orchestrator directory."})]}),(0,r.jsxs)("div",{style:d,children:[(0,r.jsx)("label",{style:c,children:"Scoped Directories (Additional Access)"}),v.scopedDirs.length>0&&(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"0.5rem",marginBottom:"0.5rem"},children:v.scopedDirs.map((e,o)=>(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",backgroundColor:"#080c14",padding:"0.35rem 0.5rem",borderRadius:"4px",border:"1px solid var(--border)"},children:[(0,r.jsx)("span",{style:{fontSize:"0.8rem",fontFamily:"var(--font-mono), monospace",wordBreak:"break-all"},children:e}),(0,r.jsx)("button",{type:"button",onClick:()=>{let e=v.scopedDirs.filter((e,r)=>r!==o);j({...v,scopedDirs:e})},style:{background:"none",border:"none",color:"var(--danger)",cursor:"pointer",fontSize:"0.8rem",padding:"0 0.25rem"},children:"Remove"})]},o))}),(0,r.jsxs)("div",{style:{display:"flex",gap:"0.5rem"},children:[(0,r.jsx)("input",{type:"text",value:k,onChange:e=>C(e.target.value),placeholder:"e.g. C:\\Users\\Dave\\OneDrive\\Projects\\JS\\wingman",style:{...p,flex:1}}),(0,r.jsx)("button",{type:"button",onClick:()=>F(!0),style:b,children:"Browse..."}),(0,r.jsx)("button",{type:"button",onClick:()=>{k.trim()&&!v.scopedDirs.includes(k.trim())&&(j({...v,scopedDirs:[...v.scopedDirs,k.trim()]}),C(""))},style:{padding:"0.35rem 0.75rem",borderRadius:"6px",border:"1px solid var(--border-focus)",backgroundColor:"rgba(109, 40, 217, 0.1)",color:"var(--foreground)",fontSize:"0.75rem",fontWeight:600,cursor:"pointer"},children:"Add"})]})]}),(0,r.jsxs)("div",{style:d,children:[(0,r.jsx)("label",{style:c,children:"AI Model Selection"}),(0,r.jsxs)("select",{value:v.model,onChange:e=>j({...v,model:e.target.value}),style:u,children:[(0,r.jsx)("option",{value:"claude-3-5-sonnet",children:"Claude 3.5 Sonnet (Recommended)"}),(0,r.jsx)("option",{value:"gemini/gemini-1.5-pro",children:"Gemini 1.5 Pro"}),(0,r.jsx)("option",{value:"gemini/gemini-1.5-flash",children:"Gemini 1.5 Flash"}),(0,r.jsx)("option",{value:"gemini/gemini-2.0-flash-exp",children:"Gemini 2.0 Flash Exp"}),(0,r.jsx)("option",{value:"gpt-4o",children:"GPT-4o"}),(0,r.jsx)("option",{value:"deepseek/deepseek-coder",children:"DeepSeek Coder"}),(0,r.jsx)("option",{value:"gpt-4-turbo",children:"GPT-4 Turbo"})]})]}),(0,r.jsxs)("div",{style:d,children:[(0,r.jsx)("label",{style:c,children:"Extra CLI Flags (Optional)"}),(0,r.jsx)("input",{type:"text",value:v.extraFlags,onChange:e=>j({...v,extraFlags:e.target.value}),placeholder:"e.g. --no-git --auto-commits",style:p}),(0,r.jsx)("span",{style:{fontSize:"0.7rem",color:"var(--muted)",marginTop:"0.25rem"},children:"Appended directly to the startup shell command."})]}),R&&(0,r.jsxs)("div",{style:g,children:["✗ ",R]})]}),(0,r.jsxs)("div",{style:m,children:[(0,r.jsx)("button",{onClick:e,style:h,disabled:A,children:"Cancel"}),(0,r.jsx)("button",{onClick:W,style:x,disabled:A,children:A?"Saving...":"Save & Launch Session"})]}),K&&(0,r.jsx)(t.default,{title:"Select Workspace Root",initialPath:v.workspaceRoot,onClose:()=>I(!1),onSelect:e=>j({...v,workspaceRoot:e})}),P&&(0,r.jsx)(t.default,{title:"Add Scoped Directory",initialPath:k,onClose:()=>F(!1),onSelect:e=>C(e)})]})})}])},9949,e=>{e.n(e.i(1663))}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,67585,(e,a,s)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"BailoutToCSR",{enumerable:!0,get:function(){return n}});let t=e.r(32061);function n({reason:e,children:a}){if("u"<typeof window)throw Object.defineProperty(new t.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return a}},9885,(e,a,s)=>{"use strict";function t(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"encodeURIPath",{enumerable:!0,get:function(){return t}})},52157,(e,a,s)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"PreloadChunks",{enumerable:!0,get:function(){return d}});let t=e.r(43476),n=e.r(74080),l=e.r(63599),r=e.r(9885),o=e.r(43369);function d({moduleIds:e}){if("u">typeof window)return null;let a=l.workAsyncStorage.getStore();if(void 0===a)return null;let s=[];if(a.reactLoadableManifest&&e){let t=a.reactLoadableManifest;for(let a of e){if(!t[a])continue;let e=t[a].files;s.push(...e)}}if(0===s.length)return null;let i=(0,o.getAssetTokenQuery)();return(0,t.jsx)(t.Fragment,{children:s.map(e=>{let s=`${a.assetPrefix}/_next/${(0,r.encodeURIPath)(e)}${i}`;return e.endsWith(".css")?(0,t.jsx)("link",{precedence:"dynamic",href:s,rel:"stylesheet",as:"style",nonce:a.nonce},e):((0,n.preload)(s,{as:"script",fetchPriority:"low",nonce:a.nonce}),null)})})}},69093,(e,a,s)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"default",{enumerable:!0,get:function(){return i}});let t=e.r(43476),n=e.r(71645),l=e.r(67585),r=e.r(52157);function o(e){return{default:e&&"default"in e?e.default:e}}let d={loader:()=>Promise.resolve(o(()=>null)),loading:null,ssr:!0},i=function(e){let a={...d,...e},s=(0,n.lazy)(()=>a.loader().then(o)),i=a.loading;function c(e){let o=i?(0,t.jsx)(i,{isLoading:!0,pastDelay:!0,error:null}):null,d=!a.ssr||!!a.loading,c=d?n.Suspense:n.Fragment,u=a.ssr?(0,t.jsxs)(t.Fragment,{children:["u"<typeof window?(0,t.jsx)(r.PreloadChunks,{moduleIds:a.modules}):null,(0,t.jsx)(s,{...e})]}):(0,t.jsx)(l.BailoutToCSR,{reason:"next/dynamic",children:(0,t.jsx)(s,{...e})});return(0,t.jsx)(c,{...d?{fallback:o}:{},children:u})}return c.displayName="LoadableComponent",c}},70703,(e,a,s)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"default",{enumerable:!0,get:function(){return n}});let t=e.r(55682)._(e.r(69093));function n(e,a){let s={};"function"==typeof e&&(s.loader=e);let n={...s,...a};return(0,t.default)({...n,modules:n.loadableGenerated?.modules})}("function"==typeof s.default||"object"==typeof s.default&&null!==s.default)&&void 0===s.default.__esModule&&(Object.defineProperty(s.default,"__esModule",{value:!0}),Object.assign(s.default,s),a.exports=s.default)},20897,e=>{e.v({activeBorder:"page-module___8aEwW__activeBorder",agentBadge:"page-module___8aEwW__agentBadge",agentCard:"page-module___8aEwW__agentCard",agentGrid:"page-module___8aEwW__agentGrid",agentHeader:"page-module___8aEwW__agentHeader",agentName:"page-module___8aEwW__agentName",ansiCyan:"page-module___8aEwW__ansiCyan",ansiGreen:"page-module___8aEwW__ansiGreen",ansiMagenta:"page-module___8aEwW__ansiMagenta",ansiRed:"page-module___8aEwW__ansiRed",ansiYellow:"page-module___8aEwW__ansiYellow",cardBody:"page-module___8aEwW__cardBody",container:"page-module___8aEwW__container",contextDetails:"page-module___8aEwW__contextDetails",contextItem:"page-module___8aEwW__contextItem",contextList:"page-module___8aEwW__contextList",contextMeta:"page-module___8aEwW__contextMeta",contextTitle:"page-module___8aEwW__contextTitle",dashboardGrid:"page-module___8aEwW__dashboardGrid",envGrid:"page-module___8aEwW__envGrid",envName:"page-module___8aEwW__envName",envRow:"page-module___8aEwW__envRow",envStatus:"page-module___8aEwW__envStatus",footer:"page-module___8aEwW__footer",header:"page-module___8aEwW__header",logoArea:"page-module___8aEwW__logoArea",mainPanel:"page-module___8aEwW__mainPanel",pulse:"page-module___8aEwW__pulse",pulseDot:"page-module___8aEwW__pulseDot",quickLaunchBtn:"page-module___8aEwW__quickLaunchBtn",sectionTitle:"page-module___8aEwW__sectionTitle",sidePanel:"page-module___8aEwW__sidePanel",statusIndicator:"page-module___8aEwW__statusIndicator",stoppedBadge:"page-module___8aEwW__stoppedBadge",subtitle:"page-module___8aEwW__subtitle",terminalContainer:"page-module___8aEwW__terminalContainer",terminalInput:"page-module___8aEwW__terminalInput",terminalInputArea:"page-module___8aEwW__terminalInputArea",terminalLine:"page-module___8aEwW__terminalLine",terminalSendBtn:"page-module___8aEwW__terminalSendBtn",title:"page-module___8aEwW__title"})},52683,e=>{"use strict";var a=e.i(43476),s=e.i(71645),t=e.i(70703),n=e.i(20897);let l=(0,t.default)(()=>e.A(33779),{loadableGenerated:{modules:[37314]},ssr:!1,loading:()=>(0,a.jsx)("div",{style:{height:"400px",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"#05070a",color:"var(--muted)",border:"1px solid var(--border)",borderBottomLeftRadius:"12px",borderBottomRightRadius:"12px"},children:(0,a.jsx)("span",{children:"Initializing terminal emulator..."})})}),r=(0,t.default)(()=>e.A(39429),{loadableGenerated:{modules:[1985]},ssr:!1,loading:()=>(0,a.jsx)("div",{style:{height:"280px",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"var(--card)",border:"1px solid var(--border)",borderRadius:"12px",marginTop:"1.5rem"},children:(0,a.jsx)("span",{style:{color:"var(--muted)"},children:"Initializing prompt editor..."})})}),o=(0,t.default)(()=>e.A(56915),{loadableGenerated:{modules:[99026]},ssr:!1}),d=(0,t.default)(()=>e.A(78716),{loadableGenerated:{modules:[9949]},ssr:!1}),i=(0,t.default)(()=>e.A(33789),{loadableGenerated:{modules:[20032]},ssr:!1}),c=(0,t.default)(()=>e.A(78003),{loadableGenerated:{modules:[97722]},ssr:!1});e.s(["default",0,function(){let[e,t]=(0,s.useState)([]),[u,m]=(0,s.useState)(null),[p,h]=(0,s.useState)(!1),[_,f]=(0,s.useState)(!1),[g,x]=(0,s.useState)(!1),[j,y]=(0,s.useState)(!1),[b,v]=(0,s.useState)(!1),[k,w]=(0,s.useState)(!1),C=e.find(e=>e.id===u),N=e.some(e=>("claude-docker"===e.type||"aider-docker"===e.type)&&"running"===e.status),S=e.some(e=>"claude-ssh"===e.type&&"running"===e.status),E=async()=>{try{let e=await fetch("/api/sessions"),a=await e.json();a.sessions&&t(a.sessions)}catch(e){console.error("Failed to fetch sessions:",e)}};(0,s.useEffect)(()=>{(async()=>{await E()})();let e=setInterval(E,4e3);return()=>clearInterval(e)},[]);let P=async(e,a,s,t)=>{h(!0);try{let n=a;n||("claude"===e?n="Claude Local":"claude-docker"===e?n="Claude Docker":"claude-ssh"===e?n="Claude SSH":"aider"===e?n="Aider Local":"aider-docker"===e?n="Aider Docker":"mock"===e&&(n="Mock Session"));let l={type:e,name:n,workspaceRoot:s,scopedDirs:t};if(("aider"===e||"aider-docker"===e)&&!s)try{let e=await fetch("/api/context/aider");if(e.ok){let a=await e.json();a.success&&a.config&&(l.workspaceRoot=a.config.workspaceRoot,l.scopedDirs=a.config.scopedDirs)}}catch(e){console.error("Failed to load aider configuration before launch:",e)}let r=await fetch("/api/sessions/launch",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)}),o=await r.json();o.success&&(await E(),m(o.session.id))}catch(e){console.error("Failed to launch session:",e)}finally{h(!1)}},W=async(e,a=!1)=>{try{let s=await fetch("/api/sessions/stop",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,delete:a})});(await s.json()).success&&(a&&u===e&&m(null),await E())}catch(e){console.error("Failed to stop session:",e)}};return(0,a.jsxs)("div",{className:n.default.container,children:[(0,a.jsxs)("header",{className:n.default.header,children:[(0,a.jsxs)("div",{className:n.default.logoArea,children:[(0,a.jsx)("h1",{className:n.default.title,children:"NeuralLoom"}),(0,a.jsx)("span",{className:n.default.subtitle,children:"Unified AI Orchestrator & Context Bridge"})]}),(0,a.jsxs)("div",{className:n.default.statusIndicator,children:[(0,a.jsx)("span",{className:n.default.pulseDot}),(0,a.jsx)("span",{children:"Orchestrator Online"})]})]}),C?(0,a.jsx)("div",{style:{padding:"0 2rem",marginBottom:"2rem"},children:(0,a.jsx)(c,{sessionId:C.id,workspaceRoot:C.workspaceRoot||"",scopedDirs:C.scopedDirs||[],onClose:()=>m(null),sessions:e,onSwitchSession:e=>m(e)})}):(0,a.jsxs)("div",{className:n.default.dashboardGrid,children:[(0,a.jsxs)("main",{className:n.default.mainPanel,children:[(0,a.jsxs)("section",{children:[(0,a.jsx)("h2",{className:n.default.sectionTitle,children:"Active AI Agents"}),0===e.length?(0,a.jsxs)("div",{className:"card",style:{padding:"3rem 1.5rem",textAlign:"center"},children:[(0,a.jsx)("p",{style:{color:"var(--muted)",marginBottom:"1.5rem"},children:"No active agent sessions in this workspace. Launch a simulated session to verify the control bridge."}),(0,a.jsx)("button",{className:n.default.quickLaunchBtn,onClick:()=>P("mock"),disabled:p,style:{maxWidth:"240px",margin:"0 auto"},children:p?"Launching...":"⚡ Launch Simulated Session"})]}):(0,a.jsx)("div",{className:n.default.agentGrid,children:e.map(e=>(0,a.jsxs)("div",{className:`${n.default.agentCard} card ${u===e.id?n.default.activeBorder:""}`,children:[(0,a.jsxs)("div",{className:n.default.agentHeader,children:[(0,a.jsx)("span",{className:n.default.agentName,children:e.name}),(0,a.jsx)("span",{className:`${n.default.agentBadge} ${"stopped"===e.status?n.default.stoppedBadge:""}`,children:e.status})]}),(0,a.jsxs)("div",{className:n.default.cardBody,children:[(0,a.jsxs)("p",{style:{fontSize:"0.825rem",color:"var(--muted)"},children:["ID: ",(0,a.jsx)("code",{style:{fontSize:"0.75rem"},children:e.id.substring(0,8)}),(0,a.jsx)("br",{}),"Type: ","claude"===e.type?"Claude Local PTY":"claude-docker"===e.type?"Claude Docker PTY":"claude-ssh"===e.type?"Claude SSH PTY":"aider"===e.type?"Aider Local PTY":"aider-docker"===e.type?"Aider Docker PTY":"mock"===e.type?"Simulated Mock PTY":"Unknown PTY",(0,a.jsx)("br",{}),"Logs: ",e.logsCount," captured lines"]}),(0,a.jsxs)("div",{style:{display:"flex",gap:"0.5rem",marginTop:"1rem"},children:["running"===e.status?(0,a.jsx)("button",{onClick:()=>W(e.id,!1),style:{flex:1,padding:"0.4rem 0.6rem",borderRadius:"6px",border:"1px solid var(--danger)",backgroundColor:"transparent",fontSize:"0.75rem",fontWeight:600,color:"var(--danger)"},children:"Stop"}):(0,a.jsx)("button",{onClick:()=>W(e.id,!0),style:{flex:1,padding:"0.4rem 0.6rem",borderRadius:"6px",border:"1px solid var(--border)",backgroundColor:"transparent",fontSize:"0.75rem",fontWeight:600,color:"var(--muted)"},children:"Delete"}),(0,a.jsx)("button",{onClick:()=>m(e.id),style:{flex:2,padding:"0.4rem 0.6rem",borderRadius:"6px",border:"none",backgroundColor:u===e.id?"var(--border-focus)":"var(--primary)",fontSize:"0.75rem",fontWeight:600,color:"#fff"},children:u===e.id?"Connected":"Open Session"})]})]})]},e.id))})]}),u&&(0,a.jsxs)("section",{className:"card",style:{display:"flex",flexDirection:"column",border:"1px solid var(--border-focus)"},children:[(0,a.jsxs)("div",{className:n.default.agentHeader,style:{justifyContent:"space-between",background:"rgba(109, 40, 217, 0.08)"},children:[(0,a.jsxs)("span",{style:{fontWeight:600,display:"flex",alignItems:"center",gap:"0.5rem"},children:["🖥️ Console Bridge — ",e.find(e=>e.id===u)?.name]}),(0,a.jsx)("button",{onClick:()=>m(null),style:{border:"none",background:"none",color:"var(--muted)",cursor:"pointer",fontSize:"0.75rem"},children:"Close Panel ✖"})]}),(0,a.jsx)(l,{sessionId:u})]}),(0,a.jsxs)("section",{children:[(0,a.jsx)("h2",{className:n.default.sectionTitle,children:"Shared Context Hub & Slash Commands"}),(0,a.jsxs)("div",{className:n.default.contextList,children:[(0,a.jsxs)("div",{className:`${n.default.contextItem} card`,children:[(0,a.jsxs)("div",{className:n.default.contextMeta,children:[(0,a.jsx)("span",{className:n.default.contextTitle,children:"Staged Context & System Rules (/ccc)"}),(0,a.jsx)("span",{className:n.default.contextDetails,children:"Compiles AGENTS.md guidelines and project files folder hierarchy map."})]}),(0,a.jsx)("button",{onClick:async()=>{u&&await fetch("/api/sessions/inject",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:u,command:"/ccc"})})},disabled:!u,style:{padding:"0.4rem 0.8rem",borderRadius:"6px",border:"1px solid var(--primary)",backgroundColor:"transparent",color:"var(--primary)",fontSize:"0.75rem",fontWeight:600,opacity:u?1:.5,cursor:u?"pointer":"not-allowed"},children:"🚀 Mount Context (/ccc)"})]}),(0,a.jsxs)("div",{className:`${n.default.contextItem} card`,children:[(0,a.jsxs)("div",{className:n.default.contextMeta,children:[(0,a.jsx)("span",{className:n.default.contextTitle,children:"Staged Developer Prompt (/ccp)"}),(0,a.jsx)("span",{className:n.default.contextDetails,children:"Executes instructions written in .ai/neural-loom/cprompt.md."})]}),(0,a.jsx)("button",{onClick:async()=>{u&&await fetch("/api/sessions/inject",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:u,command:"/ccp"})})},disabled:!u,style:{padding:"0.4rem 0.8rem",borderRadius:"6px",border:"1px solid var(--success)",backgroundColor:"transparent",color:"var(--success)",fontSize:"0.75rem",fontWeight:600,opacity:u?1:.5,cursor:u?"pointer":"not-allowed"},children:"⚡ Trigger Prompt (/ccp)"})]})]}),(0,a.jsx)(r,{})]})]}),(0,a.jsxs)("aside",{className:n.default.sidePanel,children:[(0,a.jsxs)("section",{children:[(0,a.jsx)("h2",{className:n.default.sectionTitle,children:"Execution Environments"}),(0,a.jsxs)("div",{className:n.default.envGrid,children:[(0,a.jsxs)("div",{className:n.default.envRow,children:[(0,a.jsx)("span",{className:n.default.envName,children:"💻 Local host OS"}),(0,a.jsx)("span",{className:n.default.envStatus,style:{color:"var(--success)"},children:"Active"})]}),(0,a.jsxs)("div",{className:n.default.envRow,style:{opacity:N?1:.6},children:[(0,a.jsx)("span",{className:n.default.envName,children:"🐳 Docker Sandbox"}),(0,a.jsx)("span",{className:n.default.envStatus,style:{color:N?"var(--success)":"var(--muted)"},children:N?"Active":"Not Mounted"})]}),(0,a.jsxs)("div",{className:n.default.envRow,style:{opacity:S?1:.6},children:[(0,a.jsx)("span",{className:n.default.envName,children:"🌐 Remote VM (SSH)"}),(0,a.jsx)("span",{className:n.default.envStatus,style:{color:S?"var(--success)":"var(--muted)"},children:S?"Active":"Disconnected"})]})]})]}),(0,a.jsxs)("section",{style:{display:"flex",flexDirection:"column",gap:"0.75rem"},children:[(0,a.jsxs)("button",{className:n.default.quickLaunchBtn,onClick:()=>P("mock"),disabled:p,children:[(0,a.jsx)("span",{children:"⚡"}),(0,a.jsx)("span",{children:"Launch Mock Agent"})]}),(0,a.jsxs)("button",{className:n.default.quickLaunchBtn,onClick:()=>{w(!1),v(!0)},disabled:p,style:{background:"linear-gradient(135deg, hsl(262, 83%, 60%) 0%, hsl(195, 100%, 45%) 100%)",border:"none"},children:[(0,a.jsx)("span",{children:"🤖"}),(0,a.jsx)("span",{children:"Launch Claude PTY"})]}),(0,a.jsxs)("button",{className:n.default.quickLaunchBtn,onClick:()=>{w(!0),v(!0)},disabled:p,style:{background:"linear-gradient(135deg, hsl(170, 72%, 40%) 0%, hsl(195, 100%, 40%) 100%)",border:"none"},children:[(0,a.jsx)("span",{children:"🐳"}),(0,a.jsx)("span",{children:"Launch Docker PTY"})]}),(0,a.jsxs)("button",{className:n.default.quickLaunchBtn,onClick:()=>f(!0),disabled:p,style:{background:"linear-gradient(135deg, hsl(38, 92%, 50%) 0%, hsl(0, 84%, 60%) 100%)",border:"none"},children:[(0,a.jsx)("span",{children:"🌐"}),(0,a.jsx)("span",{children:"Launch SSH PTY"})]}),(0,a.jsxs)("button",{className:n.default.quickLaunchBtn,onClick:()=>{y(!1),x(!0)},disabled:p,style:{background:"linear-gradient(135deg, hsl(210, 80%, 45%) 0%, hsl(262, 80%, 55%) 100%)",border:"none"},children:[(0,a.jsx)("span",{children:"🐍"}),(0,a.jsx)("span",{children:"Launch Aider PTY"})]}),(0,a.jsxs)("button",{className:n.default.quickLaunchBtn,onClick:()=>{y(!0),x(!0)},disabled:p,style:{background:"linear-gradient(135deg, hsl(195, 100%, 40%) 0%, hsl(262, 80%, 55%) 100%)",border:"none"},children:[(0,a.jsx)("span",{children:"🐳"}),(0,a.jsx)("span",{children:"Launch Aider Docker"})]})]}),(0,a.jsxs)("section",{className:"card",style:{padding:"1.5rem",display:"flex",flexDirection:"column",gap:"0.75rem"},children:[(0,a.jsx)("h3",{style:{fontSize:"1rem",fontWeight:700},children:"Quick Actions"}),(0,a.jsxs)("ul",{style:{listStyle:"none",fontSize:"0.875rem",display:"flex",flexDirection:"column",gap:"0.5rem",color:"var(--muted)"},children:[(0,a.jsxs)("li",{style:{display:"flex",justifyContent:"space-between"},children:[(0,a.jsx)("span",{children:"Configure global API Keys"}),(0,a.jsx)("span",{style:{color:"var(--primary)",cursor:"pointer"},children:"→"})]}),(0,a.jsxs)("li",{style:{display:"flex",justifyContent:"space-between"},children:[(0,a.jsx)("span",{children:"Edit rules templates"}),(0,a.jsx)("span",{style:{color:"var(--primary)",cursor:"pointer"},children:"→"})]}),(0,a.jsxs)("li",{style:{display:"flex",justifyContent:"space-between"},children:[(0,a.jsx)("span",{children:"Inspect process locks"}),(0,a.jsx)("span",{style:{color:"var(--primary)",cursor:"pointer"},children:"→"})]})]})]})]})]}),(0,a.jsxs)("footer",{className:n.default.footer,children:[(0,a.jsx)("span",{children:"NeuralLoom v0.1.0 — Experimental AI Orchestrator Bridge"}),(0,a.jsx)("span",{children:"Directory: C:\\Users\\Dave\\OneDrive\\Projects\\JS\\neural-loom"})]}),_&&(0,a.jsx)(o,{onClose:()=>f(!1),onConfirmLaunch:()=>{f(!1),P("claude-ssh")}}),g&&(0,a.jsx)(d,{onClose:()=>x(!1),isDocker:j,onConfirmLaunch:()=>{x(!1),P(j?"aider-docker":"aider")}}),b&&(0,a.jsx)(i,{onClose:()=>v(!1),isDocker:k,onConfirmLaunch:(e,a,s)=>{v(!1),P(k?"claude-docker":"claude",e,a,s)}})]})}])},33779,e=>{e.v(a=>Promise.all(["static/chunks/03g6xpslyid3~.js","static/chunks/07b7-dl8gh17u.js","static/chunks/0ga14ztvrhau2.css"].map(a=>e.l(a))).then(()=>a(37314)))},39429,e=>{e.v(a=>Promise.all(["static/chunks/16w4~t4h7gk13.js"].map(a=>e.l(a))).then(()=>a(1985)))},56915,e=>{e.v(a=>Promise.all(["static/chunks/0lnobx4eh3~-_.js"].map(a=>e.l(a))).then(()=>a(99026)))},78716,e=>{e.v(a=>Promise.all(["static/chunks/0mej.ad_ddvf1.js"].map(a=>e.l(a))).then(()=>a(9949)))},33789,e=>{e.v(a=>Promise.all(["static/chunks/0ewdhgxsa_h.q.js"].map(a=>e.l(a))).then(()=>a(20032)))},78003,e=>{e.v(a=>Promise.all(["static/chunks/0xq6bhmghl02_.js","static/chunks/07b7-dl8gh17u.js","static/chunks/0ga14ztvrhau2.css"].map(a=>e.l(a))).then(()=>a(97722)))}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,67585,(e,a,s)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"BailoutToCSR",{enumerable:!0,get:function(){return n}});let t=e.r(32061);function n({reason:e,children:a}){if("u"<typeof window)throw Object.defineProperty(new t.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return a}},9885,(e,a,s)=>{"use strict";function t(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"encodeURIPath",{enumerable:!0,get:function(){return t}})},52157,(e,a,s)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"PreloadChunks",{enumerable:!0,get:function(){return d}});let t=e.r(43476),n=e.r(74080),l=e.r(63599),r=e.r(9885),o=e.r(43369);function d({moduleIds:e}){if("u">typeof window)return null;let a=l.workAsyncStorage.getStore();if(void 0===a)return null;let s=[];if(a.reactLoadableManifest&&e){let t=a.reactLoadableManifest;for(let a of e){if(!t[a])continue;let e=t[a].files;s.push(...e)}}if(0===s.length)return null;let i=(0,o.getAssetTokenQuery)();return(0,t.jsx)(t.Fragment,{children:s.map(e=>{let s=`${a.assetPrefix}/_next/${(0,r.encodeURIPath)(e)}${i}`;return e.endsWith(".css")?(0,t.jsx)("link",{precedence:"dynamic",href:s,rel:"stylesheet",as:"style",nonce:a.nonce},e):((0,n.preload)(s,{as:"script",fetchPriority:"low",nonce:a.nonce}),null)})})}},69093,(e,a,s)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"default",{enumerable:!0,get:function(){return i}});let t=e.r(43476),n=e.r(71645),l=e.r(67585),r=e.r(52157);function o(e){return{default:e&&"default"in e?e.default:e}}let d={loader:()=>Promise.resolve(o(()=>null)),loading:null,ssr:!0},i=function(e){let a={...d,...e},s=(0,n.lazy)(()=>a.loader().then(o)),i=a.loading;function c(e){let o=i?(0,t.jsx)(i,{isLoading:!0,pastDelay:!0,error:null}):null,d=!a.ssr||!!a.loading,c=d?n.Suspense:n.Fragment,u=a.ssr?(0,t.jsxs)(t.Fragment,{children:["u"<typeof window?(0,t.jsx)(r.PreloadChunks,{moduleIds:a.modules}):null,(0,t.jsx)(s,{...e})]}):(0,t.jsx)(l.BailoutToCSR,{reason:"next/dynamic",children:(0,t.jsx)(s,{...e})});return(0,t.jsx)(c,{...d?{fallback:o}:{},children:u})}return c.displayName="LoadableComponent",c}},70703,(e,a,s)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"default",{enumerable:!0,get:function(){return n}});let t=e.r(55682)._(e.r(69093));function n(e,a){let s={};"function"==typeof e&&(s.loader=e);let n={...s,...a};return(0,t.default)({...n,modules:n.loadableGenerated?.modules})}("function"==typeof s.default||"object"==typeof s.default&&null!==s.default)&&void 0===s.default.__esModule&&(Object.defineProperty(s.default,"__esModule",{value:!0}),Object.assign(s.default,s),a.exports=s.default)},20897,e=>{e.v({activeBorder:"page-module___8aEwW__activeBorder",agentBadge:"page-module___8aEwW__agentBadge",agentCard:"page-module___8aEwW__agentCard",agentGrid:"page-module___8aEwW__agentGrid",agentHeader:"page-module___8aEwW__agentHeader",agentName:"page-module___8aEwW__agentName",ansiCyan:"page-module___8aEwW__ansiCyan",ansiGreen:"page-module___8aEwW__ansiGreen",ansiMagenta:"page-module___8aEwW__ansiMagenta",ansiRed:"page-module___8aEwW__ansiRed",ansiYellow:"page-module___8aEwW__ansiYellow",cardBody:"page-module___8aEwW__cardBody",container:"page-module___8aEwW__container",contextDetails:"page-module___8aEwW__contextDetails",contextItem:"page-module___8aEwW__contextItem",contextList:"page-module___8aEwW__contextList",contextMeta:"page-module___8aEwW__contextMeta",contextTitle:"page-module___8aEwW__contextTitle",dashboardGrid:"page-module___8aEwW__dashboardGrid",envGrid:"page-module___8aEwW__envGrid",envName:"page-module___8aEwW__envName",envRow:"page-module___8aEwW__envRow",envStatus:"page-module___8aEwW__envStatus",footer:"page-module___8aEwW__footer",header:"page-module___8aEwW__header",logoArea:"page-module___8aEwW__logoArea",mainPanel:"page-module___8aEwW__mainPanel",pulse:"page-module___8aEwW__pulse",pulseDot:"page-module___8aEwW__pulseDot",quickLaunchBtn:"page-module___8aEwW__quickLaunchBtn",sectionTitle:"page-module___8aEwW__sectionTitle",sidePanel:"page-module___8aEwW__sidePanel",statusIndicator:"page-module___8aEwW__statusIndicator",stoppedBadge:"page-module___8aEwW__stoppedBadge",subtitle:"page-module___8aEwW__subtitle",terminalContainer:"page-module___8aEwW__terminalContainer",terminalInput:"page-module___8aEwW__terminalInput",terminalInputArea:"page-module___8aEwW__terminalInputArea",terminalLine:"page-module___8aEwW__terminalLine",terminalSendBtn:"page-module___8aEwW__terminalSendBtn",title:"page-module___8aEwW__title"})},52683,e=>{"use strict";var a=e.i(43476),s=e.i(71645),t=e.i(70703),n=e.i(20897);let l=(0,t.default)(()=>e.A(33779),{loadableGenerated:{modules:[37314]},ssr:!1,loading:()=>(0,a.jsx)("div",{style:{height:"400px",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"#05070a",color:"var(--muted)",border:"1px solid var(--border)",borderBottomLeftRadius:"12px",borderBottomRightRadius:"12px"},children:(0,a.jsx)("span",{children:"Initializing terminal emulator..."})})}),r=(0,t.default)(()=>e.A(39429),{loadableGenerated:{modules:[1985]},ssr:!1,loading:()=>(0,a.jsx)("div",{style:{height:"280px",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"var(--card)",border:"1px solid var(--border)",borderRadius:"12px",marginTop:"1.5rem"},children:(0,a.jsx)("span",{style:{color:"var(--muted)"},children:"Initializing prompt editor..."})})}),o=(0,t.default)(()=>e.A(56915),{loadableGenerated:{modules:[99026]},ssr:!1}),d=(0,t.default)(()=>e.A(78716),{loadableGenerated:{modules:[9949]},ssr:!1}),i=(0,t.default)(()=>e.A(33789),{loadableGenerated:{modules:[20032]},ssr:!1}),c=(0,t.default)(()=>e.A(78003),{loadableGenerated:{modules:[97722]},ssr:!1});e.s(["default",0,function(){let[e,t]=(0,s.useState)([]),[u,m]=(0,s.useState)(null),[p,h]=(0,s.useState)(!1),[_,f]=(0,s.useState)(!1),[g,x]=(0,s.useState)(!1),[j,y]=(0,s.useState)(!1),[b,v]=(0,s.useState)(!1),[k,w]=(0,s.useState)(!1),C=e.find(e=>e.id===u),N=e.some(e=>("claude-docker"===e.type||"aider-docker"===e.type)&&"running"===e.status),S=e.some(e=>"claude-ssh"===e.type&&"running"===e.status),E=async()=>{try{let e=await fetch("/api/sessions"),a=await e.json();a.sessions&&t(a.sessions)}catch(e){console.error("Failed to fetch sessions:",e)}};(0,s.useEffect)(()=>{(async()=>{await E()})();let e=setInterval(E,4e3);return()=>clearInterval(e)},[]);let P=async(e,a,s,t)=>{h(!0);try{let n=a;n||("claude"===e?n="Claude Local":"claude-docker"===e?n="Claude Docker":"claude-ssh"===e?n="Claude SSH":"aider"===e?n="Aider Local":"aider-docker"===e?n="Aider Docker":"mock"===e&&(n="Mock Session"));let l={type:e,name:n,workspaceRoot:s,scopedDirs:t};if(("aider"===e||"aider-docker"===e)&&!s)try{let e=await fetch("/api/context/aider");if(e.ok){let a=await e.json();a.success&&a.config&&(l.workspaceRoot=a.config.workspaceRoot,l.scopedDirs=a.config.scopedDirs)}}catch(e){console.error("Failed to load aider configuration before launch:",e)}let r=await fetch("/api/sessions/launch",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)}),o=await r.json();o.success&&(await E(),m(o.session.id))}catch(e){console.error("Failed to launch session:",e)}finally{h(!1)}},W=async(e,a=!1)=>{try{let s=await fetch("/api/sessions/stop",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,delete:a})});(await s.json()).success&&(a&&u===e&&m(null),await E())}catch(e){console.error("Failed to stop session:",e)}};return(0,a.jsxs)("div",{className:n.default.container,children:[(0,a.jsxs)("header",{className:n.default.header,children:[(0,a.jsxs)("div",{className:n.default.logoArea,children:[(0,a.jsx)("h1",{className:n.default.title,children:"NeuralLoom"}),(0,a.jsx)("span",{className:n.default.subtitle,children:"Unified AI Orchestrator & Context Bridge"})]}),(0,a.jsxs)("div",{className:n.default.statusIndicator,children:[(0,a.jsx)("span",{className:n.default.pulseDot}),(0,a.jsx)("span",{children:"Orchestrator Online"})]})]}),C?(0,a.jsx)("div",{style:{padding:"0 2rem",marginBottom:"2rem"},children:(0,a.jsx)(c,{sessionId:C.id,workspaceRoot:C.workspaceRoot||"",scopedDirs:C.scopedDirs||[],onClose:()=>m(null),sessions:e,onSwitchSession:e=>m(e)})}):(0,a.jsxs)("div",{className:n.default.dashboardGrid,children:[(0,a.jsxs)("main",{className:n.default.mainPanel,children:[(0,a.jsxs)("section",{children:[(0,a.jsx)("h2",{className:n.default.sectionTitle,children:"Active AI Agents"}),0===e.length?(0,a.jsxs)("div",{className:"card",style:{padding:"3rem 1.5rem",textAlign:"center"},children:[(0,a.jsx)("p",{style:{color:"var(--muted)",marginBottom:"1.5rem"},children:"No active agent sessions in this workspace. Launch a simulated session to verify the control bridge."}),(0,a.jsx)("button",{className:n.default.quickLaunchBtn,onClick:()=>P("mock"),disabled:p,style:{maxWidth:"240px",margin:"0 auto"},children:p?"Launching...":"⚡ Launch Simulated Session"})]}):(0,a.jsx)("div",{className:n.default.agentGrid,children:e.map(e=>(0,a.jsxs)("div",{className:`${n.default.agentCard} card ${u===e.id?n.default.activeBorder:""}`,children:[(0,a.jsxs)("div",{className:n.default.agentHeader,children:[(0,a.jsx)("span",{className:n.default.agentName,children:e.name}),(0,a.jsx)("span",{className:`${n.default.agentBadge} ${"stopped"===e.status?n.default.stoppedBadge:""}`,children:e.status})]}),(0,a.jsxs)("div",{className:n.default.cardBody,children:[(0,a.jsxs)("p",{style:{fontSize:"0.825rem",color:"var(--muted)"},children:["ID: ",(0,a.jsx)("code",{style:{fontSize:"0.75rem"},children:e.id.substring(0,8)}),(0,a.jsx)("br",{}),"Type: ","claude"===e.type?"Claude Local PTY":"claude-docker"===e.type?"Claude Docker PTY":"claude-ssh"===e.type?"Claude SSH PTY":"aider"===e.type?"Aider Local PTY":"aider-docker"===e.type?"Aider Docker PTY":"mock"===e.type?"Simulated Mock PTY":"Unknown PTY",(0,a.jsx)("br",{}),"Logs: ",e.logsCount," captured lines"]}),(0,a.jsxs)("div",{style:{display:"flex",gap:"0.5rem",marginTop:"1rem"},children:["running"===e.status?(0,a.jsx)("button",{onClick:()=>W(e.id,!1),style:{flex:1,padding:"0.4rem 0.6rem",borderRadius:"6px",border:"1px solid var(--danger)",backgroundColor:"transparent",fontSize:"0.75rem",fontWeight:600,color:"var(--danger)"},children:"Stop"}):(0,a.jsx)("button",{onClick:()=>W(e.id,!0),style:{flex:1,padding:"0.4rem 0.6rem",borderRadius:"6px",border:"1px solid var(--border)",backgroundColor:"transparent",fontSize:"0.75rem",fontWeight:600,color:"var(--muted)"},children:"Delete"}),(0,a.jsx)("button",{onClick:()=>m(e.id),style:{flex:2,padding:"0.4rem 0.6rem",borderRadius:"6px",border:"none",backgroundColor:u===e.id?"var(--border-focus)":"var(--primary)",fontSize:"0.75rem",fontWeight:600,color:"#fff"},children:u===e.id?"Connected":"Open Session"})]})]})]},e.id))})]}),u&&(0,a.jsxs)("section",{className:"card",style:{display:"flex",flexDirection:"column",border:"1px solid var(--border-focus)"},children:[(0,a.jsxs)("div",{className:n.default.agentHeader,style:{justifyContent:"space-between",background:"rgba(109, 40, 217, 0.08)"},children:[(0,a.jsxs)("span",{style:{fontWeight:600,display:"flex",alignItems:"center",gap:"0.5rem"},children:["🖥️ Console Bridge — ",e.find(e=>e.id===u)?.name]}),(0,a.jsx)("button",{onClick:()=>m(null),style:{border:"none",background:"none",color:"var(--muted)",cursor:"pointer",fontSize:"0.75rem"},children:"Close Panel ✖"})]}),(0,a.jsx)(l,{sessionId:u})]}),(0,a.jsxs)("section",{children:[(0,a.jsx)("h2",{className:n.default.sectionTitle,children:"Shared Context Hub & Slash Commands"}),(0,a.jsxs)("div",{className:n.default.contextList,children:[(0,a.jsxs)("div",{className:`${n.default.contextItem} card`,children:[(0,a.jsxs)("div",{className:n.default.contextMeta,children:[(0,a.jsx)("span",{className:n.default.contextTitle,children:"Staged Context & System Rules (/ccc)"}),(0,a.jsx)("span",{className:n.default.contextDetails,children:"Compiles AGENTS.md guidelines and project files folder hierarchy map."})]}),(0,a.jsx)("button",{onClick:async()=>{u&&await fetch("/api/sessions/inject",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:u,command:"/ccc"})})},disabled:!u,style:{padding:"0.4rem 0.8rem",borderRadius:"6px",border:"1px solid var(--primary)",backgroundColor:"transparent",color:"var(--primary)",fontSize:"0.75rem",fontWeight:600,opacity:u?1:.5,cursor:u?"pointer":"not-allowed"},children:"🚀 Mount Context (/ccc)"})]}),(0,a.jsxs)("div",{className:`${n.default.contextItem} card`,children:[(0,a.jsxs)("div",{className:n.default.contextMeta,children:[(0,a.jsx)("span",{className:n.default.contextTitle,children:"Staged Developer Prompt (/ccp)"}),(0,a.jsx)("span",{className:n.default.contextDetails,children:"Executes instructions written in .ai/neural-loom/cprompt.md."})]}),(0,a.jsx)("button",{onClick:async()=>{u&&await fetch("/api/sessions/inject",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:u,command:"/ccp"})})},disabled:!u,style:{padding:"0.4rem 0.8rem",borderRadius:"6px",border:"1px solid var(--success)",backgroundColor:"transparent",color:"var(--success)",fontSize:"0.75rem",fontWeight:600,opacity:u?1:.5,cursor:u?"pointer":"not-allowed"},children:"⚡ Trigger Prompt (/ccp)"})]})]}),(0,a.jsx)(r,{})]})]}),(0,a.jsxs)("aside",{className:n.default.sidePanel,children:[(0,a.jsxs)("section",{children:[(0,a.jsx)("h2",{className:n.default.sectionTitle,children:"Execution Environments"}),(0,a.jsxs)("div",{className:n.default.envGrid,children:[(0,a.jsxs)("div",{className:n.default.envRow,children:[(0,a.jsx)("span",{className:n.default.envName,children:"💻 Local host OS"}),(0,a.jsx)("span",{className:n.default.envStatus,style:{color:"var(--success)"},children:"Active"})]}),(0,a.jsxs)("div",{className:n.default.envRow,style:{opacity:N?1:.6},children:[(0,a.jsx)("span",{className:n.default.envName,children:"🐳 Docker Sandbox"}),(0,a.jsx)("span",{className:n.default.envStatus,style:{color:N?"var(--success)":"var(--muted)"},children:N?"Active":"Not Mounted"})]}),(0,a.jsxs)("div",{className:n.default.envRow,style:{opacity:S?1:.6},children:[(0,a.jsx)("span",{className:n.default.envName,children:"🌐 Remote VM (SSH)"}),(0,a.jsx)("span",{className:n.default.envStatus,style:{color:S?"var(--success)":"var(--muted)"},children:S?"Active":"Disconnected"})]})]})]}),(0,a.jsxs)("section",{style:{display:"flex",flexDirection:"column",gap:"0.75rem"},children:[(0,a.jsxs)("button",{className:n.default.quickLaunchBtn,onClick:()=>P("mock"),disabled:p,children:[(0,a.jsx)("span",{children:"⚡"}),(0,a.jsx)("span",{children:"Launch Mock Agent"})]}),(0,a.jsxs)("button",{className:n.default.quickLaunchBtn,onClick:()=>{w(!1),v(!0)},disabled:p,style:{background:"linear-gradient(135deg, hsl(262, 83%, 60%) 0%, hsl(195, 100%, 45%) 100%)",border:"none"},children:[(0,a.jsx)("span",{children:"🤖"}),(0,a.jsx)("span",{children:"Launch Claude PTY"})]}),(0,a.jsxs)("button",{className:n.default.quickLaunchBtn,onClick:()=>{w(!0),v(!0)},disabled:p,style:{background:"linear-gradient(135deg, hsl(170, 72%, 40%) 0%, hsl(195, 100%, 40%) 100%)",border:"none"},children:[(0,a.jsx)("span",{children:"🐳"}),(0,a.jsx)("span",{children:"Launch Docker PTY"})]}),(0,a.jsxs)("button",{className:n.default.quickLaunchBtn,onClick:()=>f(!0),disabled:p,style:{background:"linear-gradient(135deg, hsl(38, 92%, 50%) 0%, hsl(0, 84%, 60%) 100%)",border:"none"},children:[(0,a.jsx)("span",{children:"🌐"}),(0,a.jsx)("span",{children:"Launch SSH PTY"})]}),(0,a.jsxs)("button",{className:n.default.quickLaunchBtn,onClick:()=>{y(!1),x(!0)},disabled:p,style:{background:"linear-gradient(135deg, hsl(210, 80%, 45%) 0%, hsl(262, 80%, 55%) 100%)",border:"none"},children:[(0,a.jsx)("span",{children:"🐍"}),(0,a.jsx)("span",{children:"Launch Aider PTY"})]}),(0,a.jsxs)("button",{className:n.default.quickLaunchBtn,onClick:()=>{y(!0),x(!0)},disabled:p,style:{background:"linear-gradient(135deg, hsl(195, 100%, 40%) 0%, hsl(262, 80%, 55%) 100%)",border:"none"},children:[(0,a.jsx)("span",{children:"🐳"}),(0,a.jsx)("span",{children:"Launch Aider Docker"})]})]}),(0,a.jsxs)("section",{className:"card",style:{padding:"1.5rem",display:"flex",flexDirection:"column",gap:"0.75rem"},children:[(0,a.jsx)("h3",{style:{fontSize:"1rem",fontWeight:700},children:"Quick Actions"}),(0,a.jsxs)("ul",{style:{listStyle:"none",fontSize:"0.875rem",display:"flex",flexDirection:"column",gap:"0.5rem",color:"var(--muted)"},children:[(0,a.jsxs)("li",{style:{display:"flex",justifyContent:"space-between"},children:[(0,a.jsx)("span",{children:"Configure global API Keys"}),(0,a.jsx)("span",{style:{color:"var(--primary)",cursor:"pointer"},children:"→"})]}),(0,a.jsxs)("li",{style:{display:"flex",justifyContent:"space-between"},children:[(0,a.jsx)("span",{children:"Edit rules templates"}),(0,a.jsx)("span",{style:{color:"var(--primary)",cursor:"pointer"},children:"→"})]}),(0,a.jsxs)("li",{style:{display:"flex",justifyContent:"space-between"},children:[(0,a.jsx)("span",{children:"Inspect process locks"}),(0,a.jsx)("span",{style:{color:"var(--primary)",cursor:"pointer"},children:"→"})]})]})]})]})]}),(0,a.jsxs)("footer",{className:n.default.footer,children:[(0,a.jsx)("span",{children:"NeuralLoom v0.1.0 — Experimental AI Orchestrator Bridge"}),(0,a.jsx)("span",{children:"Directory: C:\\Users\\Dave\\OneDrive\\Projects\\JS\\neural-loom"})]}),_&&(0,a.jsx)(o,{onClose:()=>f(!1),onConfirmLaunch:()=>{f(!1),P("claude-ssh")}}),g&&(0,a.jsx)(d,{onClose:()=>x(!1),isDocker:j,onConfirmLaunch:()=>{x(!1),P(j?"aider-docker":"aider")}}),b&&(0,a.jsx)(i,{onClose:()=>v(!1),isDocker:k,onConfirmLaunch:(e,a,s)=>{v(!1),P(k?"claude-docker":"claude",e,a,s)}})]})}])},33779,e=>{e.v(a=>Promise.all(["static/chunks/03g6xpslyid3~.js","static/chunks/07b7-dl8gh17u.js","static/chunks/0ga14ztvrhau2.css"].map(a=>e.l(a))).then(()=>a(37314)))},39429,e=>{e.v(a=>Promise.all(["static/chunks/16w4~t4h7gk13.js"].map(a=>e.l(a))).then(()=>a(1985)))},56915,e=>{e.v(a=>Promise.all(["static/chunks/0lnobx4eh3~-_.js"].map(a=>e.l(a))).then(()=>a(99026)))},78716,e=>{e.v(a=>Promise.all(["static/chunks/095uz52in_39t.js"].map(a=>e.l(a))).then(()=>a(9949)))},33789,e=>{e.v(a=>Promise.all(["static/chunks/03wk6d_hkj.x2.js"].map(a=>e.l(a))).then(()=>a(20032)))},78003,e=>{e.v(a=>Promise.all(["static/chunks/0xq6bhmghl02_.js","static/chunks/07b7-dl8gh17u.js","static/chunks/0ga14ztvrhau2.css"].map(a=>e.l(a))).then(()=>a(97722)))}]);
package/.next/trace CHANGED
@@ -1 +1 @@
1
- [{"name":"generate-buildid","duration":331,"timestamp":96308346971,"id":4,"parentId":1,"tags":{},"startTime":1781317044118,"traceId":"c13c87749c5e01ee"},{"name":"load-custom-routes","duration":408,"timestamp":96308347437,"id":5,"parentId":1,"tags":{},"startTime":1781317044119,"traceId":"c13c87749c5e01ee"},{"name":"create-dist-dir","duration":2464,"timestamp":96308347884,"id":6,"parentId":1,"tags":{},"startTime":1781317044119,"traceId":"c13c87749c5e01ee"},{"name":"clean","duration":564,"timestamp":96308351261,"id":7,"parentId":1,"tags":{},"startTime":1781317044123,"traceId":"c13c87749c5e01ee"},{"name":"discover-routes","duration":7433,"timestamp":96308375234,"id":8,"parentId":1,"tags":{},"startTime":1781317044147,"traceId":"c13c87749c5e01ee"},{"name":"create-root-mapping","duration":57,"timestamp":96308382714,"id":9,"parentId":1,"tags":{},"startTime":1781317044154,"traceId":"c13c87749c5e01ee"},{"name":"generate-route-types","duration":17169,"timestamp":96308384146,"id":10,"parentId":1,"tags":{},"startTime":1781317044156,"traceId":"c13c87749c5e01ee"},{"name":"public-dir-conflict-check","duration":106,"timestamp":96308401464,"id":11,"parentId":1,"tags":{},"startTime":1781317044173,"traceId":"c13c87749c5e01ee"},{"name":"generate-routes-manifest","duration":2840,"timestamp":96308401683,"id":12,"parentId":1,"tags":{},"startTime":1781317044173,"traceId":"c13c87749c5e01ee"},{"name":"run-turbopack","duration":2413510,"timestamp":96308412214,"id":14,"parentId":1,"tags":{},"startTime":1781317044184,"traceId":"c13c87749c5e01ee"},{"name":"turbopack-build-events","duration":70,"timestamp":96308708919,"id":15,"parentId":1,"tags":{},"startTime":1781317044480,"traceId":"c13c87749c5e01ee"},{"name":"run-typescript","duration":3470620,"timestamp":96310834871,"id":16,"parentId":1,"tags":{},"startTime":1781317046606,"traceId":"c13c87749c5e01ee"},{"name":"generate-required-server-files","duration":1439,"timestamp":96314306408,"id":18,"parentId":1,"tags":{},"startTime":1781317050078,"traceId":"c13c87749c5e01ee"},{"name":"check-static-error-page","duration":6906,"timestamp":96314413408,"id":20,"parentId":19,"tags":{},"startTime":1781317050185,"traceId":"c13c87749c5e01ee"},{"name":"is-page-static","duration":506204,"timestamp":96314424631,"id":38,"parentId":22,"tags":{},"startTime":1781317050196,"traceId":"c13c87749c5e01ee"},{"name":"check-page","duration":514303,"timestamp":96314416640,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1781317050188,"traceId":"c13c87749c5e01ee"},{"name":"is-page-static","duration":635232,"timestamp":96314425182,"id":43,"parentId":27,"tags":{},"startTime":1781317050197,"traceId":"c13c87749c5e01ee"},{"name":"check-page","duration":642728,"timestamp":96314417755,"id":27,"parentId":19,"tags":{"page":"/api/files"},"startTime":1781317050189,"traceId":"c13c87749c5e01ee"},{"name":"is-page-static","duration":635859,"timestamp":96314424945,"id":42,"parentId":26,"tags":{},"startTime":1781317050196,"traceId":"c13c87749c5e01ee"},{"name":"check-page","duration":643327,"timestamp":96314417523,"id":26,"parentId":19,"tags":{"page":"/api/context/ssh"},"startTime":1781317050189,"traceId":"c13c87749c5e01ee"},{"name":"is-page-static","duration":640164,"timestamp":96314424412,"id":37,"parentId":21,"tags":{},"startTime":1781317050196,"traceId":"c13c87749c5e01ee"},{"name":"check-page","duration":649249,"timestamp":96314415370,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1781317050187,"traceId":"c13c87749c5e01ee"},{"name":"is-page-static","duration":642227,"timestamp":96314425788,"id":47,"parentId":31,"tags":{},"startTime":1781317050197,"traceId":"c13c87749c5e01ee"},{"name":"check-page","duration":649450,"timestamp":96314418604,"id":31,"parentId":19,"tags":{"page":"/api/sessions/launch"},"startTime":1781317050190,"traceId":"c13c87749c5e01ee"},{"name":"is-page-static","duration":648167,"timestamp":96314424777,"id":40,"parentId":24,"tags":{},"startTime":1781317050196,"traceId":"c13c87749c5e01ee"},{"name":"check-page","duration":655884,"timestamp":96314417121,"id":24,"parentId":19,"tags":{"page":"/api/context/claude"},"startTime":1781317050189,"traceId":"c13c87749c5e01ee"},{"name":"is-page-static","duration":649561,"timestamp":96314425650,"id":46,"parentId":30,"tags":{},"startTime":1781317050197,"traceId":"c13c87749c5e01ee"},{"name":"check-page","duration":656846,"timestamp":96314418411,"id":30,"parentId":19,"tags":{"page":"/api/sessions/input"},"startTime":1781317050190,"traceId":"c13c87749c5e01ee"},{"name":"is-page-static","duration":652574,"timestamp":96314424701,"id":39,"parentId":23,"tags":{},"startTime":1781317050196,"traceId":"c13c87749c5e01ee"},{"name":"check-page","duration":660408,"timestamp":96314416912,"id":23,"parentId":19,"tags":{"page":"/api/context/aider"},"startTime":1781317050188,"traceId":"c13c87749c5e01ee"},{"name":"is-page-static","duration":654052,"timestamp":96314425866,"id":48,"parentId":32,"tags":{},"startTime":1781317050197,"traceId":"c13c87749c5e01ee"},{"name":"check-page","duration":661161,"timestamp":96314418797,"id":32,"parentId":19,"tags":{"page":"/api/sessions"},"startTime":1781317050190,"traceId":"c13c87749c5e01ee"},{"name":"is-page-static","duration":656353,"timestamp":96314424863,"id":41,"parentId":25,"tags":{},"startTime":1781317050196,"traceId":"c13c87749c5e01ee"},{"name":"check-page","duration":663935,"timestamp":96314417315,"id":25,"parentId":19,"tags":{"page":"/api/context"},"startTime":1781317050189,"traceId":"c13c87749c5e01ee"},{"name":"is-page-static","duration":656857,"timestamp":96314425327,"id":44,"parentId":28,"tags":{},"startTime":1781317050197,"traceId":"c13c87749c5e01ee"},{"name":"check-page","duration":664216,"timestamp":96314418004,"id":28,"parentId":19,"tags":{"page":"/api/git"},"startTime":1781317050189,"traceId":"c13c87749c5e01ee"},{"name":"is-page-static","duration":657543,"timestamp":96314425437,"id":45,"parentId":29,"tags":{},"startTime":1781317050197,"traceId":"c13c87749c5e01ee"},{"name":"check-page","duration":664820,"timestamp":96314418198,"id":29,"parentId":19,"tags":{"page":"/api/sessions/inject"},"startTime":1781317050190,"traceId":"c13c87749c5e01ee"},{"name":"is-page-static","duration":657898,"timestamp":96314426021,"id":51,"parentId":35,"tags":{},"startTime":1781317050197,"traceId":"c13c87749c5e01ee"},{"name":"check-page","duration":664510,"timestamp":96314419439,"id":35,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1781317050191,"traceId":"c13c87749c5e01ee"},{"name":"is-page-static","duration":660510,"timestamp":96314425989,"id":50,"parentId":34,"tags":{},"startTime":1781317050197,"traceId":"c13c87749c5e01ee"},{"name":"check-page","duration":667360,"timestamp":96314419168,"id":34,"parentId":19,"tags":{"page":"/api/sessions/stop"},"startTime":1781317050191,"traceId":"c13c87749c5e01ee"},{"name":"is-page-static","duration":663176,"timestamp":96314425919,"id":49,"parentId":33,"tags":{},"startTime":1781317050197,"traceId":"c13c87749c5e01ee"},{"name":"check-page","duration":670134,"timestamp":96314418986,"id":33,"parentId":19,"tags":{"page":"/api/sessions/stats"},"startTime":1781317050190,"traceId":"c13c87749c5e01ee"},{"name":"is-page-static","duration":669141,"timestamp":96314429056,"id":52,"parentId":36,"tags":{},"startTime":1781317050201,"traceId":"c13c87749c5e01ee"},{"name":"check-page","duration":678232,"timestamp":96314420005,"id":36,"parentId":19,"tags":{"page":"/"},"startTime":1781317050191,"traceId":"c13c87749c5e01ee"},{"name":"static-check","duration":685416,"timestamp":96314412845,"id":19,"parentId":1,"tags":{},"startTime":1781317050184,"traceId":"c13c87749c5e01ee"},{"name":"write-routes-manifest","duration":798,"timestamp":96315099482,"id":54,"parentId":1,"tags":{},"startTime":1781317050871,"traceId":"c13c87749c5e01ee"},{"name":"load-dotenv","duration":32,"timestamp":96315116079,"id":57,"parentId":56,"tags":{},"startTime":1781317050888,"traceId":"c13c87749c5e01ee"},{"name":"run-export-path-map","duration":365,"timestamp":96315121385,"id":58,"parentId":56,"tags":{},"startTime":1781317050893,"traceId":"c13c87749c5e01ee"},{"name":"next-export","duration":670674,"timestamp":96315115136,"id":56,"parentId":1,"tags":{},"startTime":1781317050887,"traceId":"c13c87749c5e01ee"},{"name":"move-exported-app-not-found-","duration":2058,"timestamp":96315787568,"id":59,"parentId":55,"tags":{},"startTime":1781317051559,"traceId":"c13c87749c5e01ee"},{"name":"move-exported-app-global-error-","duration":1538,"timestamp":96315789743,"id":60,"parentId":55,"tags":{},"startTime":1781317051561,"traceId":"c13c87749c5e01ee"},{"name":"static-generation","duration":690583,"timestamp":96315104644,"id":55,"parentId":1,"tags":{},"startTime":1781317050876,"traceId":"c13c87749c5e01ee"},{"name":"write-routes-manifest","duration":756,"timestamp":96315795343,"id":61,"parentId":1,"tags":{},"startTime":1781317051567,"traceId":"c13c87749c5e01ee"},{"name":"print-tree-view","duration":3332,"timestamp":96315805847,"id":62,"parentId":1,"tags":{},"startTime":1781317051577,"traceId":"c13c87749c5e01ee"},{"name":"write-route-bundle-stats","duration":10638,"timestamp":96315809213,"id":63,"parentId":1,"tags":{},"startTime":1781317051581,"traceId":"c13c87749c5e01ee"},{"name":"telemetry-flush","duration":175178,"timestamp":96315819984,"id":64,"parentId":1,"tags":{},"startTime":1781317051591,"traceId":"c13c87749c5e01ee"},{"name":"next-build","duration":7697716,"timestamp":96308297470,"id":1,"tags":{"buildMode":"default","version":"16.2.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1781317044069,"traceId":"c13c87749c5e01ee"}]
1
+ [{"name":"generate-buildid","duration":272,"timestamp":97438269385,"id":4,"parentId":1,"tags":{},"startTime":1781318174041,"traceId":"8a00e0678eda63d0"},{"name":"load-custom-routes","duration":493,"timestamp":97438269793,"id":5,"parentId":1,"tags":{},"startTime":1781318174041,"traceId":"8a00e0678eda63d0"},{"name":"create-dist-dir","duration":600,"timestamp":97438270326,"id":6,"parentId":1,"tags":{},"startTime":1781318174042,"traceId":"8a00e0678eda63d0"},{"name":"clean","duration":585,"timestamp":97438271889,"id":7,"parentId":1,"tags":{},"startTime":1781318174043,"traceId":"8a00e0678eda63d0"},{"name":"discover-routes","duration":8487,"timestamp":97438298063,"id":8,"parentId":1,"tags":{},"startTime":1781318174070,"traceId":"8a00e0678eda63d0"},{"name":"create-root-mapping","duration":73,"timestamp":97438306600,"id":9,"parentId":1,"tags":{},"startTime":1781318174078,"traceId":"8a00e0678eda63d0"},{"name":"generate-route-types","duration":20396,"timestamp":97438308224,"id":10,"parentId":1,"tags":{},"startTime":1781318174080,"traceId":"8a00e0678eda63d0"},{"name":"public-dir-conflict-check","duration":153,"timestamp":97438328825,"id":11,"parentId":1,"tags":{},"startTime":1781318174100,"traceId":"8a00e0678eda63d0"},{"name":"generate-routes-manifest","duration":2508,"timestamp":97438329144,"id":12,"parentId":1,"tags":{},"startTime":1781318174101,"traceId":"8a00e0678eda63d0"},{"name":"run-turbopack","duration":2403123,"timestamp":97438339522,"id":14,"parentId":1,"tags":{},"startTime":1781318174111,"traceId":"8a00e0678eda63d0"},{"name":"turbopack-build-events","duration":72,"timestamp":97438658408,"id":15,"parentId":1,"tags":{},"startTime":1781318174430,"traceId":"8a00e0678eda63d0"},{"name":"run-typescript","duration":3510827,"timestamp":97440753199,"id":16,"parentId":1,"tags":{},"startTime":1781318176525,"traceId":"8a00e0678eda63d0"},{"name":"generate-required-server-files","duration":1423,"timestamp":97444264960,"id":18,"parentId":1,"tags":{},"startTime":1781318180037,"traceId":"8a00e0678eda63d0"},{"name":"check-static-error-page","duration":7235,"timestamp":97444372636,"id":20,"parentId":19,"tags":{},"startTime":1781318180144,"traceId":"8a00e0678eda63d0"},{"name":"is-page-static","duration":495554,"timestamp":97444384045,"id":38,"parentId":22,"tags":{},"startTime":1781318180156,"traceId":"8a00e0678eda63d0"},{"name":"check-page","duration":503750,"timestamp":97444375962,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1781318180148,"traceId":"8a00e0678eda63d0"},{"name":"is-page-static","duration":609387,"timestamp":97444384139,"id":39,"parentId":23,"tags":{},"startTime":1781318180156,"traceId":"8a00e0678eda63d0"},{"name":"check-page","duration":617256,"timestamp":97444376331,"id":23,"parentId":19,"tags":{"page":"/api/context/aider"},"startTime":1781318180148,"traceId":"8a00e0678eda63d0"},{"name":"is-page-static","duration":629200,"timestamp":97444383794,"id":37,"parentId":21,"tags":{},"startTime":1781318180155,"traceId":"8a00e0678eda63d0"},{"name":"check-page","duration":638441,"timestamp":97444374603,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1781318180146,"traceId":"8a00e0678eda63d0"},{"name":"is-page-static","duration":629120,"timestamp":97444384218,"id":40,"parentId":24,"tags":{},"startTime":1781318180156,"traceId":"8a00e0678eda63d0"},{"name":"check-page","duration":636785,"timestamp":97444376598,"id":24,"parentId":19,"tags":{"page":"/api/context/claude"},"startTime":1781318180148,"traceId":"8a00e0678eda63d0"},{"name":"is-page-static","duration":630199,"timestamp":97444384710,"id":44,"parentId":28,"tags":{},"startTime":1781318180156,"traceId":"8a00e0678eda63d0"},{"name":"check-page","duration":637401,"timestamp":97444377544,"id":28,"parentId":19,"tags":{"page":"/api/git"},"startTime":1781318180149,"traceId":"8a00e0678eda63d0"},{"name":"is-page-static","duration":636258,"timestamp":97444385233,"id":49,"parentId":33,"tags":{},"startTime":1781318180157,"traceId":"8a00e0678eda63d0"},{"name":"check-page","duration":643077,"timestamp":97444378469,"id":33,"parentId":19,"tags":{"page":"/api/sessions/stats"},"startTime":1781318180150,"traceId":"8a00e0678eda63d0"},{"name":"is-page-static","duration":637176,"timestamp":97444384604,"id":43,"parentId":27,"tags":{},"startTime":1781318180156,"traceId":"8a00e0678eda63d0"},{"name":"check-page","duration":644488,"timestamp":97444377323,"id":27,"parentId":19,"tags":{"page":"/api/files"},"startTime":1781318180149,"traceId":"8a00e0678eda63d0"},{"name":"is-page-static","duration":640566,"timestamp":97444385318,"id":51,"parentId":35,"tags":{},"startTime":1781318180157,"traceId":"8a00e0678eda63d0"},{"name":"check-page","duration":647050,"timestamp":97444378885,"id":35,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1781318180150,"traceId":"8a00e0678eda63d0"},{"name":"is-page-static","duration":646175,"timestamp":97444385285,"id":50,"parentId":34,"tags":{},"startTime":1781318180157,"traceId":"8a00e0678eda63d0"},{"name":"check-page","duration":652866,"timestamp":97444378634,"id":34,"parentId":19,"tags":{"page":"/api/sessions/stop"},"startTime":1781318180150,"traceId":"8a00e0678eda63d0"},{"name":"is-page-static","duration":649834,"timestamp":97444384388,"id":42,"parentId":26,"tags":{},"startTime":1781318180156,"traceId":"8a00e0678eda63d0"},{"name":"check-page","duration":657181,"timestamp":97444377085,"id":26,"parentId":19,"tags":{"page":"/api/context/ssh"},"startTime":1781318180149,"traceId":"8a00e0678eda63d0"},{"name":"is-page-static","duration":650062,"timestamp":97444384304,"id":41,"parentId":25,"tags":{},"startTime":1781318180156,"traceId":"8a00e0678eda63d0"},{"name":"check-page","duration":657549,"timestamp":97444376839,"id":25,"parentId":19,"tags":{"page":"/api/context"},"startTime":1781318180148,"traceId":"8a00e0678eda63d0"},{"name":"is-page-static","duration":651376,"timestamp":97444385116,"id":47,"parentId":31,"tags":{},"startTime":1781318180157,"traceId":"8a00e0678eda63d0"},{"name":"check-page","duration":658407,"timestamp":97444378113,"id":31,"parentId":19,"tags":{"page":"/api/sessions/launch"},"startTime":1781318180150,"traceId":"8a00e0678eda63d0"},{"name":"is-page-static","duration":654452,"timestamp":97444384989,"id":46,"parentId":30,"tags":{},"startTime":1781318180157,"traceId":"8a00e0678eda63d0"},{"name":"check-page","duration":661536,"timestamp":97444377938,"id":30,"parentId":19,"tags":{"page":"/api/sessions/input"},"startTime":1781318180149,"traceId":"8a00e0678eda63d0"},{"name":"is-page-static","duration":654369,"timestamp":97444385183,"id":48,"parentId":32,"tags":{},"startTime":1781318180157,"traceId":"8a00e0678eda63d0"},{"name":"check-page","duration":661264,"timestamp":97444378299,"id":32,"parentId":19,"tags":{"page":"/api/sessions"},"startTime":1781318180150,"traceId":"8a00e0678eda63d0"},{"name":"is-page-static","duration":652192,"timestamp":97444388614,"id":52,"parentId":36,"tags":{},"startTime":1781318180160,"traceId":"8a00e0678eda63d0"},{"name":"check-page","duration":661317,"timestamp":97444379510,"id":36,"parentId":19,"tags":{"page":"/"},"startTime":1781318180151,"traceId":"8a00e0678eda63d0"},{"name":"is-page-static","duration":657040,"timestamp":97444384798,"id":45,"parentId":29,"tags":{},"startTime":1781318180156,"traceId":"8a00e0678eda63d0"},{"name":"check-page","duration":664135,"timestamp":97444377728,"id":29,"parentId":19,"tags":{"page":"/api/sessions/inject"},"startTime":1781318180149,"traceId":"8a00e0678eda63d0"},{"name":"static-check","duration":669997,"timestamp":97444371894,"id":19,"parentId":1,"tags":{},"startTime":1781318180143,"traceId":"8a00e0678eda63d0"},{"name":"write-routes-manifest","duration":872,"timestamp":97445043021,"id":54,"parentId":1,"tags":{},"startTime":1781318180815,"traceId":"8a00e0678eda63d0"},{"name":"load-dotenv","duration":34,"timestamp":97445059606,"id":57,"parentId":56,"tags":{},"startTime":1781318180831,"traceId":"8a00e0678eda63d0"},{"name":"run-export-path-map","duration":532,"timestamp":97445064710,"id":58,"parentId":56,"tags":{},"startTime":1781318180836,"traceId":"8a00e0678eda63d0"},{"name":"next-export","duration":671072,"timestamp":97445058667,"id":56,"parentId":1,"tags":{},"startTime":1781318180830,"traceId":"8a00e0678eda63d0"},{"name":"move-exported-app-not-found-","duration":2096,"timestamp":97445731385,"id":59,"parentId":55,"tags":{},"startTime":1781318181503,"traceId":"8a00e0678eda63d0"},{"name":"move-exported-app-global-error-","duration":1525,"timestamp":97445733590,"id":60,"parentId":55,"tags":{},"startTime":1781318181505,"traceId":"8a00e0678eda63d0"},{"name":"static-generation","duration":690666,"timestamp":97445048337,"id":55,"parentId":1,"tags":{},"startTime":1781318180820,"traceId":"8a00e0678eda63d0"},{"name":"write-routes-manifest","duration":735,"timestamp":97445739125,"id":61,"parentId":1,"tags":{},"startTime":1781318181511,"traceId":"8a00e0678eda63d0"},{"name":"print-tree-view","duration":3393,"timestamp":97445750157,"id":62,"parentId":1,"tags":{},"startTime":1781318181522,"traceId":"8a00e0678eda63d0"},{"name":"write-route-bundle-stats","duration":14168,"timestamp":97445753589,"id":63,"parentId":1,"tags":{},"startTime":1781318181525,"traceId":"8a00e0678eda63d0"},{"name":"telemetry-flush","duration":179376,"timestamp":97445767794,"id":64,"parentId":1,"tags":{},"startTime":1781318181539,"traceId":"8a00e0678eda63d0"},{"name":"next-build","duration":7731295,"timestamp":97438215906,"id":1,"tags":{"buildMode":"default","version":"16.2.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1781318173987,"traceId":"8a00e0678eda63d0"}]
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":2413510,"timestamp":96308412214,"id":14,"parentId":1,"tags":{},"startTime":1781317044184,"traceId":"c13c87749c5e01ee"},{"name":"turbopack-build-events","duration":70,"timestamp":96308708919,"id":15,"parentId":1,"tags":{},"startTime":1781317044480,"traceId":"c13c87749c5e01ee"},{"name":"run-typescript","duration":3470620,"timestamp":96310834871,"id":16,"parentId":1,"tags":{},"startTime":1781317046606,"traceId":"c13c87749c5e01ee"},{"name":"static-check","duration":685416,"timestamp":96314412845,"id":19,"parentId":1,"tags":{},"startTime":1781317050184,"traceId":"c13c87749c5e01ee"},{"name":"static-generation","duration":690583,"timestamp":96315104644,"id":55,"parentId":1,"tags":{},"startTime":1781317050876,"traceId":"c13c87749c5e01ee"},{"name":"telemetry-flush","duration":175178,"timestamp":96315819984,"id":64,"parentId":1,"tags":{},"startTime":1781317051591,"traceId":"c13c87749c5e01ee"},{"name":"next-build","duration":7697716,"timestamp":96308297470,"id":1,"tags":{"buildMode":"default","version":"16.2.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1781317044069,"traceId":"c13c87749c5e01ee"}]
1
+ [{"name":"run-turbopack","duration":2403123,"timestamp":97438339522,"id":14,"parentId":1,"tags":{},"startTime":1781318174111,"traceId":"8a00e0678eda63d0"},{"name":"turbopack-build-events","duration":72,"timestamp":97438658408,"id":15,"parentId":1,"tags":{},"startTime":1781318174430,"traceId":"8a00e0678eda63d0"},{"name":"run-typescript","duration":3510827,"timestamp":97440753199,"id":16,"parentId":1,"tags":{},"startTime":1781318176525,"traceId":"8a00e0678eda63d0"},{"name":"static-check","duration":669997,"timestamp":97444371894,"id":19,"parentId":1,"tags":{},"startTime":1781318180143,"traceId":"8a00e0678eda63d0"},{"name":"static-generation","duration":690666,"timestamp":97445048337,"id":55,"parentId":1,"tags":{},"startTime":1781318180820,"traceId":"8a00e0678eda63d0"},{"name":"telemetry-flush","duration":179376,"timestamp":97445767794,"id":64,"parentId":1,"tags":{},"startTime":1781318181539,"traceId":"8a00e0678eda63d0"},{"name":"next-build","duration":7731295,"timestamp":97438215906,"id":1,"tags":{"buildMode":"default","version":"16.2.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1781318173987,"traceId":"8a00e0678eda63d0"}]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neural-loom",
3
- "version": "0.1.2",
3
+ "version": "0.2.0",
4
4
  "bin": {
5
5
  "neural-loom": "./bin/cli.js"
6
6
  },
@@ -166,6 +166,48 @@ export async function GET(request: Request) {
166
166
  });
167
167
  }
168
168
 
169
+ if (action === "browse_dirs") {
170
+ const targetPathRaw = searchParams.get("path");
171
+ let targetPath = targetPathRaw ? path.resolve(targetPathRaw) : process.cwd();
172
+ targetPath = targetPath.replace(/\\/g, "/");
173
+
174
+ if (!fs.existsSync(targetPath)) {
175
+ return NextResponse.json({ error: "Directory does not exist" }, { status: 404 });
176
+ }
177
+
178
+ const stat = fs.statSync(targetPath);
179
+ if (!stat.isDirectory()) {
180
+ return NextResponse.json({ error: "Path is not a directory" }, { status: 400 });
181
+ }
182
+
183
+ const items = fs.readdirSync(targetPath, { withFileTypes: true });
184
+ const directories: { name: string; path: string }[] = [];
185
+
186
+ for (const item of items) {
187
+ if (item.isDirectory()) {
188
+ // Skip hidden directories
189
+ if (item.name.startsWith(".")) continue;
190
+ directories.push({
191
+ name: item.name,
192
+ path: path.join(targetPath, item.name).replace(/\\/g, "/"),
193
+ });
194
+ }
195
+ }
196
+
197
+ // Sort alphabetically
198
+ directories.sort((a, b) => a.name.localeCompare(b.name));
199
+
200
+ const parentPath = path.dirname(targetPath).replace(/\\/g, "/");
201
+ const isRoot = parentPath === targetPath;
202
+
203
+ return NextResponse.json({
204
+ success: true,
205
+ currentPath: targetPath,
206
+ parentPath: isRoot ? null : parentPath,
207
+ directories,
208
+ });
209
+ }
210
+
169
211
  if (action === "read") {
170
212
  const filePathRaw = searchParams.get("path");
171
213
  if (!filePathRaw) {
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
 
3
3
  import { useEffect, useState } from "react";
4
+ import DirectoryBrowserModal from "./DirectoryBrowserModal";
4
5
 
5
6
  interface AiderConfig {
6
7
  openaiApiKey: string;
@@ -33,6 +34,8 @@ export default function AiderWizard({ onClose, onConfirmLaunch, isDocker }: Aide
33
34
  const [isLoading, setIsLoading] = useState(true);
34
35
  const [isSaving, setIsSaving] = useState(false);
35
36
  const [errorMessage, setErrorMessage] = useState("");
37
+ const [isBrowsingWorkspace, setIsBrowsingWorkspace] = useState(false);
38
+ const [isBrowsingScope, setIsBrowsingScope] = useState(false);
36
39
 
37
40
  // Load config on mount
38
41
  useEffect(() => {
@@ -153,13 +156,22 @@ export default function AiderWizard({ onClose, onConfirmLaunch, isDocker }: Aide
153
156
 
154
157
  <div style={formGroupStyle}>
155
158
  <label style={labelStyle}>Workspace Directory (Root)</label>
156
- <input
157
- type="text"
158
- value={config.workspaceRoot}
159
- onChange={(e) => setConfig({ ...config, workspaceRoot: e.target.value })}
160
- placeholder="e.g. C:\Users\Dave\OneDrive\Projects\JS\neural-loom"
161
- style={inputStyle}
162
- />
159
+ <div style={{ display: "flex", gap: "0.5rem" }}>
160
+ <input
161
+ type="text"
162
+ value={config.workspaceRoot}
163
+ onChange={(e) => setConfig({ ...config, workspaceRoot: e.target.value })}
164
+ placeholder="e.g. C:\Users\Dave\OneDrive\Projects\JS\neural-loom"
165
+ style={{ ...inputStyle, flex: 1 }}
166
+ />
167
+ <button
168
+ type="button"
169
+ onClick={() => setIsBrowsingWorkspace(true)}
170
+ style={browseButtonStyle}
171
+ >
172
+ Browse...
173
+ </button>
174
+ </div>
163
175
  <span style={{ fontSize: "0.7rem", color: "var(--muted)", marginTop: "0.25rem" }}>
164
176
  Leave blank to default to the current orchestrator directory.
165
177
  </span>
@@ -194,6 +206,13 @@ export default function AiderWizard({ onClose, onConfirmLaunch, isDocker }: Aide
194
206
  placeholder="e.g. C:\Users\Dave\OneDrive\Projects\JS\wingman"
195
207
  style={{ ...inputStyle, flex: 1 }}
196
208
  />
209
+ <button
210
+ type="button"
211
+ onClick={() => setIsBrowsingScope(true)}
212
+ style={browseButtonStyle}
213
+ >
214
+ Browse...
215
+ </button>
197
216
  <button
198
217
  type="button"
199
218
  onClick={() => {
@@ -272,6 +291,23 @@ export default function AiderWizard({ onClose, onConfirmLaunch, isDocker }: Aide
272
291
  {isSaving ? "Saving..." : "Save & Launch Session"}
273
292
  </button>
274
293
  </div>
294
+ {isBrowsingWorkspace && (
295
+ <DirectoryBrowserModal
296
+ title="Select Workspace Root"
297
+ initialPath={config.workspaceRoot}
298
+ onClose={() => setIsBrowsingWorkspace(false)}
299
+ onSelect={(selectedPath) => setConfig({ ...config, workspaceRoot: selectedPath })}
300
+ />
301
+ )}
302
+
303
+ {isBrowsingScope && (
304
+ <DirectoryBrowserModal
305
+ title="Add Scoped Directory"
306
+ initialPath={newScopePath}
307
+ onClose={() => setIsBrowsingScope(false)}
308
+ onSelect={(selectedPath) => setNewScopePath(selectedPath)}
309
+ />
310
+ )}
275
311
  </div>
276
312
  </div>
277
313
  );
@@ -410,3 +446,15 @@ const secondaryButtonStyle: React.CSSProperties = {
410
446
  fontWeight: 600,
411
447
  cursor: "pointer",
412
448
  };
449
+
450
+ const browseButtonStyle: React.CSSProperties = {
451
+ padding: "0.35rem 0.75rem",
452
+ borderRadius: "6px",
453
+ border: "1px solid var(--border)",
454
+ backgroundColor: "rgba(255, 255, 255, 0.05)",
455
+ color: "var(--foreground)",
456
+ fontSize: "0.75rem",
457
+ fontWeight: 600,
458
+ cursor: "pointer",
459
+ transition: "all 0.15s ease",
460
+ };