@runfusion/fusion 0.23.0 → 0.25.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 (172) hide show
  1. package/dist/bin.js +27921 -21003
  2. package/dist/client/assets/AgentDetailView-BwJaLqZh.css +1 -0
  3. package/dist/client/assets/AgentDetailView-ZbHEbYRT.js +18 -0
  4. package/dist/client/assets/AgentsView-B3jYk8Kt.js +29 -0
  5. package/dist/client/assets/{AgentsView-DSGQWObq.css → AgentsView-CV3vm7Qk.css} +1 -1
  6. package/dist/client/assets/ChatView-DhPkiEGs.js +1 -0
  7. package/dist/client/assets/ChatView-DwJAd5G1.css +1 -0
  8. package/dist/client/assets/{DevServerView-C9lzHrcT.js → DevServerView-DyGDEiBP.js} +1 -1
  9. package/dist/client/assets/{DirectoryPicker-aVdFaV37.js → DirectoryPicker-D5UIeIl6.js} +1 -1
  10. package/dist/client/assets/{DocumentsView-DIpg3NSP.js → DocumentsView-DNHu1T8K.js} +1 -1
  11. package/dist/client/assets/{DocumentsView-BrhyOdeE.css → DocumentsView-gv4zG3aT.css} +1 -1
  12. package/dist/client/assets/EvalsView-CUNJ1TLc.css +1 -0
  13. package/dist/client/assets/EvalsView-CpRobtDi.js +1 -0
  14. package/dist/client/assets/{agentSkills-DDHJnrkn.css → ExperimentalAgentOnboardingModal-B-APN_lM.css} +1 -1
  15. package/dist/client/assets/ExperimentalAgentOnboardingModal-DOY_oZi7.js +499 -0
  16. package/dist/client/assets/InsightsView-B0J4mhzV.css +1 -0
  17. package/dist/client/assets/InsightsView-vp0RE8Mg.js +11 -0
  18. package/dist/client/assets/MemoryView-PSc5lGJt.js +2 -0
  19. package/dist/client/assets/MemoryView-zaXewZzi.css +1 -0
  20. package/dist/client/assets/NodesView-DMj6HGeC.js +14 -0
  21. package/dist/client/assets/NodesView-DT4pXowv.css +1 -0
  22. package/dist/client/assets/{PiExtensionsManager-Buopv-jb.js → PiExtensionsManager-DL_QcN56.js} +2 -2
  23. package/dist/client/assets/PluginManager-BtYKm8IT.js +1 -0
  24. package/dist/client/assets/PluginManager-DtRQXia5.css +1 -0
  25. package/dist/client/assets/{ResearchView-_BHXUv2j.js → ResearchView-BhWqfdV0.js} +1 -1
  26. package/dist/client/assets/SettingsModal-BAgB4_AR.js +31 -0
  27. package/dist/client/assets/SettingsModal-CUCyaAyE.js +1 -0
  28. package/dist/client/assets/SettingsModal-DzsLquBu.css +1 -0
  29. package/dist/client/assets/SetupWizardModal-BKscasuh.js +1 -0
  30. package/dist/client/assets/{SkillsView-hDpTBdFT.js → SkillsView-BdELqTy7.js} +1 -1
  31. package/dist/client/assets/TodoView-Cx9cVhq7.css +1 -0
  32. package/dist/client/assets/TodoView-DFNGBDNV.js +6 -0
  33. package/dist/client/assets/{folder-open-usZkXdq2.js → folder-open-k1xmUMyr.js} +1 -1
  34. package/dist/client/assets/index-Qq2JOOWx.css +1 -0
  35. package/dist/client/assets/index-TFYXEVpn.js +692 -0
  36. package/dist/client/assets/projectDetection-G3XuxD2X.js +1 -0
  37. package/dist/client/assets/{star-BAT_ObKE.js → star-ne32r3Y4.js} +1 -1
  38. package/dist/client/assets/{upload-BC2YKNEV.js → upload-MS-2Gx53.js} +1 -1
  39. package/dist/client/assets/{users-Dkd4rtrN.js → users-C519GSjH.js} +1 -1
  40. package/dist/client/index.html +12 -20
  41. package/dist/client/theme-data.css +106 -0
  42. package/dist/client/version.json +1 -1
  43. package/dist/droid-cli/package.json +1 -1
  44. package/dist/extension.js +15395 -9935
  45. package/dist/pi-claude-cli/package.json +1 -1
  46. package/dist/plugins/fusion-plugin-cursor-runtime/bundled.js +216 -0
  47. package/dist/plugins/fusion-plugin-cursor-runtime/manifest.json +6 -0
  48. package/dist/plugins/fusion-plugin-cursor-runtime/package.json +11 -0
  49. package/dist/plugins/fusion-plugin-dependency-graph/bundled.js +30 -0
  50. package/dist/plugins/fusion-plugin-dependency-graph/manifest.json +1 -1
  51. package/dist/plugins/fusion-plugin-dependency-graph/package.json +3 -26
  52. package/dist/plugins/fusion-plugin-droid-runtime/bundled.js +136684 -0
  53. package/dist/plugins/fusion-plugin-droid-runtime/manifest.json +13 -0
  54. package/dist/plugins/fusion-plugin-droid-runtime/mcp-schema-server.cjs +49 -0
  55. package/dist/plugins/fusion-plugin-droid-runtime/package.json +11 -0
  56. package/dist/plugins/fusion-plugin-hermes-runtime/bundled.js +68 -71
  57. package/dist/plugins/fusion-plugin-hermes-runtime/package.json +1 -1
  58. package/dist/plugins/fusion-plugin-openclaw-runtime/bundled.js +137 -53
  59. package/dist/plugins/fusion-plugin-openclaw-runtime/mcp-schema-server.cjs +59 -0
  60. package/dist/plugins/fusion-plugin-openclaw-runtime/package.json +1 -1
  61. package/dist/plugins/fusion-plugin-paperclip-runtime/bundled.js +155 -109
  62. package/dist/plugins/fusion-plugin-paperclip-runtime/package.json +1 -1
  63. package/dist/plugins/fusion-plugin-reports/manifest.json +33 -0
  64. package/dist/plugins/fusion-plugin-reports/package.json +26 -0
  65. package/dist/plugins/fusion-plugin-reports/src/__tests__/manifest.test.ts +51 -0
  66. package/dist/plugins/fusion-plugin-reports/src/__tests__/review-panel.test.ts +166 -0
  67. package/dist/plugins/fusion-plugin-reports/src/__tests__/settings.test.ts +157 -0
  68. package/dist/plugins/fusion-plugin-reports/src/index.ts +87 -0
  69. package/dist/plugins/fusion-plugin-reports/src/report-schema.ts +38 -0
  70. package/dist/plugins/fusion-plugin-reports/src/review-panel.ts +294 -0
  71. package/dist/plugins/fusion-plugin-reports/src/review-types.ts +75 -0
  72. package/dist/plugins/fusion-plugin-reports/src/settings.ts +105 -0
  73. package/dist/plugins/fusion-plugin-reports/src/store/__tests__/report-schema.test.ts +66 -0
  74. package/dist/plugins/fusion-plugin-reports/src/store/__tests__/report-store.test.ts +177 -0
  75. package/dist/plugins/fusion-plugin-reports/src/store/report-store.ts +341 -0
  76. package/dist/plugins/fusion-plugin-reports/src/store/report-types.ts +77 -0
  77. package/dist/plugins/fusion-plugin-roadmap/manifest.json +16 -0
  78. package/dist/plugins/fusion-plugin-roadmap/package.json +48 -0
  79. package/dist/plugins/fusion-plugin-roadmap/src/__tests__/api-client.test.ts +101 -0
  80. package/dist/plugins/fusion-plugin-roadmap/src/__tests__/index.test.ts +92 -0
  81. package/dist/plugins/fusion-plugin-roadmap/src/__tests__/roadmap-routes.test.ts +48 -0
  82. package/dist/plugins/fusion-plugin-roadmap/src/__tests__/roadmap-suggestions.test.ts +31 -0
  83. package/dist/plugins/fusion-plugin-roadmap/src/dashboard/RoadmapsView.css +1299 -0
  84. package/dist/plugins/fusion-plugin-roadmap/src/dashboard/RoadmapsView.tsx +2559 -0
  85. package/dist/plugins/fusion-plugin-roadmap/src/dashboard/__tests__/RoadmapsView.test.tsx +1144 -0
  86. package/dist/plugins/fusion-plugin-roadmap/src/dashboard/__tests__/useRoadmaps.test.ts +1756 -0
  87. package/dist/plugins/fusion-plugin-roadmap/src/dashboard/api.ts +70 -0
  88. package/dist/plugins/fusion-plugin-roadmap/src/dashboard/test-setup.ts +7 -0
  89. package/dist/plugins/fusion-plugin-roadmap/src/dashboard/types.ts +1 -0
  90. package/dist/plugins/fusion-plugin-roadmap/src/dashboard/useConfirm.ts +8 -0
  91. package/dist/plugins/fusion-plugin-roadmap/src/dashboard/useRoadmaps.ts +1188 -0
  92. package/dist/plugins/fusion-plugin-roadmap/src/dashboard/useViewportMode.ts +20 -0
  93. package/dist/plugins/fusion-plugin-roadmap/src/dashboard-view.tsx +6 -0
  94. package/dist/plugins/fusion-plugin-roadmap/src/index.ts +74 -0
  95. package/dist/plugins/fusion-plugin-roadmap/src/roadmap-routes.ts +1 -0
  96. package/dist/plugins/fusion-plugin-roadmap/src/roadmap-schema.ts +41 -0
  97. package/dist/plugins/fusion-plugin-roadmap/src/roadmap-suggestions.d.ts +15 -0
  98. package/dist/plugins/fusion-plugin-roadmap/src/roadmap-suggestions.ts +15 -0
  99. package/dist/plugins/fusion-plugin-roadmap/src/roadmap-types.d.ts +283 -0
  100. package/dist/plugins/fusion-plugin-roadmap/src/roadmap-types.d.ts.map +1 -0
  101. package/dist/plugins/fusion-plugin-roadmap/src/roadmap-types.js +21 -0
  102. package/dist/plugins/fusion-plugin-roadmap/src/roadmap-types.js.map +1 -0
  103. package/dist/plugins/fusion-plugin-roadmap/src/roadmap-types.ts +310 -0
  104. package/dist/plugins/fusion-plugin-roadmap/src/routes/roadmap-routes.d.ts +5 -0
  105. package/dist/plugins/fusion-plugin-roadmap/src/routes/roadmap-routes.d.ts.map +1 -0
  106. package/dist/plugins/fusion-plugin-roadmap/src/routes/roadmap-routes.js +361 -0
  107. package/dist/plugins/fusion-plugin-roadmap/src/routes/roadmap-routes.js.map +1 -0
  108. package/dist/plugins/fusion-plugin-roadmap/src/routes/roadmap-routes.ts +408 -0
  109. package/dist/plugins/fusion-plugin-roadmap/src/routes/roadmap-suggestions.d.ts +68 -0
  110. package/dist/plugins/fusion-plugin-roadmap/src/routes/roadmap-suggestions.d.ts.map +1 -0
  111. package/dist/plugins/fusion-plugin-roadmap/src/routes/roadmap-suggestions.js +300 -0
  112. package/dist/plugins/fusion-plugin-roadmap/src/routes/roadmap-suggestions.js.map +1 -0
  113. package/dist/plugins/fusion-plugin-roadmap/src/routes/roadmap-suggestions.ts +381 -0
  114. package/dist/plugins/fusion-plugin-roadmap/src/server/index.d.ts +3 -0
  115. package/dist/plugins/fusion-plugin-roadmap/src/server/index.ts +1 -0
  116. package/dist/plugins/fusion-plugin-roadmap/src/store/__tests__/roadmap-handoff.test.ts +445 -0
  117. package/dist/plugins/fusion-plugin-roadmap/src/store/__tests__/roadmap-ordering.test.ts +334 -0
  118. package/dist/plugins/fusion-plugin-roadmap/src/store/__tests__/roadmap-store.test.ts +1318 -0
  119. package/dist/plugins/fusion-plugin-roadmap/src/store/roadmap-handoff.ts +163 -0
  120. package/dist/plugins/fusion-plugin-roadmap/src/store/roadmap-ordering.d.ts +37 -0
  121. package/dist/plugins/fusion-plugin-roadmap/src/store/roadmap-ordering.d.ts.map +1 -0
  122. package/dist/plugins/fusion-plugin-roadmap/src/store/roadmap-ordering.js +188 -0
  123. package/dist/plugins/fusion-plugin-roadmap/src/store/roadmap-ordering.js.map +1 -0
  124. package/dist/plugins/fusion-plugin-roadmap/src/store/roadmap-ordering.ts +311 -0
  125. package/dist/plugins/fusion-plugin-roadmap/src/store/roadmap-store.d.ts +299 -0
  126. package/dist/plugins/fusion-plugin-roadmap/src/store/roadmap-store.d.ts.map +1 -0
  127. package/dist/plugins/fusion-plugin-roadmap/src/store/roadmap-store.js +765 -0
  128. package/dist/plugins/fusion-plugin-roadmap/src/store/roadmap-store.js.map +1 -0
  129. package/dist/plugins/fusion-plugin-roadmap/src/store/roadmap-store.ts +1001 -0
  130. package/dist/plugins/fusion-plugin-whatsapp-chat/manifest.json +8 -0
  131. package/dist/plugins/fusion-plugin-whatsapp-chat/package.json +34 -0
  132. package/dist/plugins/fusion-plugin-whatsapp-chat/src/__tests__/auth-state.test.ts +99 -0
  133. package/dist/plugins/fusion-plugin-whatsapp-chat/src/__tests__/connection.test.ts +145 -0
  134. package/dist/plugins/fusion-plugin-whatsapp-chat/src/__tests__/index.test.ts +216 -0
  135. package/dist/plugins/fusion-plugin-whatsapp-chat/src/__tests__/reply.test.ts +52 -0
  136. package/dist/plugins/fusion-plugin-whatsapp-chat/src/auth-state.ts +89 -0
  137. package/dist/plugins/fusion-plugin-whatsapp-chat/src/connection.ts +253 -0
  138. package/dist/plugins/fusion-plugin-whatsapp-chat/src/index.ts +262 -0
  139. package/dist/plugins/fusion-plugin-whatsapp-chat/src/qrcode.d.ts +1 -0
  140. package/dist/plugins/fusion-plugin-whatsapp-chat/src/reply.ts +37 -0
  141. package/package.json +2 -2
  142. package/skill/fusion/SKILL.md +2 -2
  143. package/skill/fusion/references/engine-tools.md +3 -0
  144. package/skill/fusion/references/extension-tools.md +39 -0
  145. package/skill/fusion/references/fusion-capabilities.md +3 -0
  146. package/dist/client/assets/AgentDetailView-C1XceMgi.js +0 -18
  147. package/dist/client/assets/AgentDetailView-CeO_1MK7.css +0 -1
  148. package/dist/client/assets/AgentsView-Deh125ss.js +0 -527
  149. package/dist/client/assets/ChatView-7D_RQDqT.js +0 -1
  150. package/dist/client/assets/InsightsView-AWo5o_81.css +0 -1
  151. package/dist/client/assets/InsightsView-jKjEFAx_.js +0 -11
  152. package/dist/client/assets/MemoryView-DiajLXby.css +0 -1
  153. package/dist/client/assets/MemoryView-nXlTqebk.js +0 -2
  154. package/dist/client/assets/NodesView-Di2SvOhg.js +0 -14
  155. package/dist/client/assets/NodesView-fXqDk9ur.css +0 -1
  156. package/dist/client/assets/PluginManager-B9-NbQ8f.js +0 -1
  157. package/dist/client/assets/PluginManager-C1DbPaar.css +0 -1
  158. package/dist/client/assets/RoadmapsView-DHWjUoc8.js +0 -6
  159. package/dist/client/assets/RoadmapsView-DdGlfuu-.css +0 -1
  160. package/dist/client/assets/SettingsModal-C89Ikhfm.js +0 -1
  161. package/dist/client/assets/SettingsModal-DHitIpsa.css +0 -1
  162. package/dist/client/assets/SettingsModal-DR_yirvK.js +0 -31
  163. package/dist/client/assets/SetupWizardModal-BtDMY9pa.js +0 -1
  164. package/dist/client/assets/agentSkills-B-w5wFHh.js +0 -1
  165. package/dist/client/assets/index-Bc6ZdGMz.css +0 -1
  166. package/dist/client/assets/index-D__RMku8.js +0 -694
  167. package/dist/plugins/fusion-plugin-dependency-graph/src/DependencyGraphView.css +0 -141
  168. package/dist/plugins/fusion-plugin-dependency-graph/src/DependencyGraphView.tsx +0 -428
  169. package/dist/plugins/fusion-plugin-dependency-graph/src/__tests__/DependencyGraphView.test.tsx +0 -261
  170. package/dist/plugins/fusion-plugin-dependency-graph/src/__tests__/storage.test.ts +0 -41
  171. package/dist/plugins/fusion-plugin-dependency-graph/src/index.ts +0 -25
  172. package/dist/plugins/fusion-plugin-dependency-graph/src/storage.ts +0 -22
@@ -1 +0,0 @@
1
- import{r as l,j as e}from"./vendor-react-K0fH_qHe.js";import{ce as f,a$ as L,cf as _,cg as $,ch as O,X as W,b as Y,C,L as G}from"./index-D__RMku8.js";import{D as Z}from"./DirectoryPicker-aVdFaV37.js";import"./vendor-xterm-DzcZoU0P.js";import"./folder-open-usZkXdq2.js";function y(u){const d=u.split(/[/\\]/).filter(p=>p.length>0);return(d[d.length-1]||"My Project").replace(/[^a-zA-Z0-9-_]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")||"My Project"}function Q({onProjectRegistered:u,onClose:d}){const x="https://github.com/runfusion/fusion/discussions",[p,z]=l.useState(!0),[s,n]=l.useState(()=>({step:f()?"manual":"auth",manualMode:"existing",manualPath:"",manualCloneUrl:"",manualName:"",manualIsolationMode:"in-process",manualNodeId:"",isRegistering:!1,error:null})),[g,M]=l.useState(!1),[r,h]=l.useState(""),[m,N]=l.useState(()=>f()),{nodes:v,loading:I}=L(),S=v.find(a=>a.type==="local")?.id,b=l.useCallback(()=>{z(!1),d?.()},[d]),P=l.useCallback(a=>{n(t=>{const c={manualPath:a};return a&&(!t.manualName||t.manualName===y(t.manualPath))&&(c.manualName=y(a)),{...t,...c}})},[]),A=l.useCallback(async()=>{const a=s.manualPath.trim(),t=s.manualName.trim(),c=s.manualCloneUrl.trim();if(!(!a||!t)&&!(s.manualMode==="clone"&&!c)){n(i=>({...i,isRegistering:!0,error:null}));try{const i={name:t,path:a,isolationMode:s.manualIsolationMode,nodeId:s.manualNodeId||void 0,cloneUrl:s.manualMode==="clone"?c:void 0},j=await _(i);u(j),n(B=>({...B,step:"complete",isRegistering:!1}))}catch(i){n(j=>({...j,isRegistering:!1,error:i instanceof Error?i.message:"Failed to register project"}))}}},[s.manualPath,s.manualName,s.manualCloneUrl,s.manualMode,s.manualIsolationMode,s.manualNodeId,u]),w=l.useCallback(()=>{const a=r.trim();a&&($(a),N(a),h(""),n(t=>t.step==="auth"?{...t,step:"manual"}:t))},[r]),R=l.useCallback(()=>{O(),N(void 0),h("")},[]),F=l.useCallback(()=>{n(a=>({...a,step:"manual"}))},[]);if(!p)return null;const k=s.manualMode==="existing",o=s.manualMode==="clone",T=s.manualPath.trim().length>0,U=s.manualName.trim().length>0,D=s.manualCloneUrl.trim().length>0,E=s.isRegistering||!T||!U||o&&!D;return e.jsx("div",{className:"modal-overlay open setup-wizard-overlay",role:"dialog","aria-modal":"true","aria-labelledby":"wizard-title",children:e.jsxs("div",{className:"modal setup-wizard-modal",children:[e.jsxs("div",{className:"setup-wizard-header",children:[e.jsxs("div",{className:"setup-wizard-heading",children:[e.jsxs("div",{className:"setup-wizard-brand","aria-label":"Fusion",children:[e.jsxs("svg",{className:"setup-wizard-brand-logo",width:28,height:28,viewBox:"0 0 128 128",fill:"none","aria-label":"Fusion logo",role:"img",children:[e.jsx("circle",{cx:"64",cy:"64",r:"52",stroke:"currentColor",strokeWidth:"8"}),e.jsx("path",{d:"M26 101C44 82 62 64 82 45C90 37 98 30 104 24C96 35 89 47 81 60C70 79 57 95 43 108C38 112 32 108 26 101Z",fill:"currentColor"})]}),e.jsx("span",{className:"setup-wizard-brand-name",children:"Fusion"})]}),e.jsxs("h2",{id:"wizard-title",className:"setup-wizard-title",children:[s.step==="auth"&&"Set Auth Token",s.step==="manual"&&"Welcome to Fusion",s.step==="complete"&&"Setup Complete!"]})]}),s.step!=="complete"&&e.jsx("button",{className:"modal-close",onClick:b,"aria-label":"Close wizard",children:e.jsx(W,{size:20})})]}),e.jsxs("div",{className:"setup-wizard-content",children:[s.step==="auth"&&e.jsxs("div",{className:"setup-wizard-auth-step",children:[e.jsx("p",{className:"setup-wizard-auth-step-description",children:"This dashboard requires an auth token to communicate with the Fusion daemon. Paste the token below to continue."}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{htmlFor:"setup-auth-token",children:"Auth Token"}),e.jsx("input",{id:"setup-auth-token",type:"password",value:r,onChange:a=>h(a.target.value),placeholder:"Paste the daemon auth token",autoComplete:"off",spellCheck:!1,autoFocus:!0}),e.jsxs("p",{className:"form-hint",children:["The token was set via the ",e.jsx("code",{children:"FUSION_DAEMON_TOKEN"})," environment variable when starting the dashboard."]})]}),s.error&&e.jsx("div",{className:"wizard-error",role:"alert",children:s.error})]}),s.step==="manual"&&e.jsxs("div",{className:"setup-wizard-manual",children:[e.jsxs("div",{className:"form-group",children:[e.jsx("label",{htmlFor:"project-name",children:"Project Name"}),e.jsx("input",{id:"project-name",type:"text",value:s.manualName,onChange:a=>n(t=>({...t,manualName:a.target.value})),placeholder:"my-project"}),e.jsx("p",{className:"form-hint",children:o?"By default this follows the destination folder name unless you edit it.":"By default this follows the selected directory name unless you edit it."})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{htmlFor:"project-path",children:o?"Destination Directory":"Project Directory"}),e.jsx(Z,{value:s.manualPath,onChange:P,nodeId:s.manualNodeId||void 0,localNodeId:S,placeholder:o?"/path/for/new-clone":"/path/to/your/project"}),e.jsx("p",{className:"form-hint",children:o?"Select or type an absolute destination path. Fusion will clone into this directory.":"Select or type the absolute path to your project"})]}),e.jsxs("div",{className:"setup-wizard-advanced",children:[e.jsxs("button",{type:"button",className:"setup-wizard-advanced-toggle","aria-expanded":g,onClick:()=>M(a=>!a),children:[e.jsx(Y,{size:16,className:"setup-wizard-advanced-chevron"}),e.jsx("span",{children:"Advanced settings"})]}),g&&e.jsxs("div",{className:"setup-wizard-advanced-panel",children:[e.jsxs("fieldset",{className:"setup-wizard-mode-switch","aria-label":"Project setup mode",children:[e.jsx("legend",{children:"Setup Mode"}),e.jsxs("label",{className:`setup-wizard-mode-option${k?" selected":""}`,children:[e.jsx("input",{type:"radio",name:"setup-mode",value:"existing",checked:k,onChange:()=>n(a=>({...a,manualMode:"existing",error:null}))}),e.jsx("span",{children:"Use Existing Directory"})]}),e.jsxs("label",{className:`setup-wizard-mode-option${o?" selected":""}`,children:[e.jsx("input",{type:"radio",name:"setup-mode",value:"clone",checked:o,onChange:()=>n(a=>({...a,manualMode:"clone",error:null}))}),e.jsx("span",{children:"Clone Git Repository"})]})]}),o&&e.jsxs("div",{className:"form-group",children:[e.jsx("label",{htmlFor:"project-clone-url",children:"Repository URL"}),e.jsx("input",{id:"project-clone-url",type:"text",value:s.manualCloneUrl,onChange:a=>n(t=>({...t,manualCloneUrl:a.target.value})),placeholder:"https://github.com/owner/repo.git"}),e.jsx("p",{className:"form-hint",children:"Fusion will run git clone into the destination directory, then register that cloned folder."})]}),e.jsx("div",{className:"form-group",children:e.jsxs("div",{className:"project-node-selector",children:[e.jsx("span",{className:"project-node-selector__label",children:"Runtime Node"}),e.jsxs("select",{value:s.manualNodeId,onChange:a=>n(t=>({...t,manualNodeId:a.target.value})),disabled:I||s.isRegistering,children:[e.jsx("option",{value:"",children:"Local node"}),v.map(a=>e.jsxs("option",{value:a.id,children:[a.name," (",a.type,")"]},a.id))]})]})}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"Isolation Mode"}),e.jsxs("div",{className:"setup-wizard-isolation-options",children:[e.jsxs("label",{className:`setup-wizard-isolation-option${s.manualIsolationMode==="in-process"?" selected":""}`,children:[e.jsx("input",{type:"radio",name:"isolation-mode",value:"in-process",checked:s.manualIsolationMode==="in-process",onChange:()=>n(a=>({...a,manualIsolationMode:"in-process"}))}),e.jsxs("div",{className:"setup-wizard-isolation-option-content",children:[e.jsx("strong",{children:"In-Process"}),e.jsx("span",{children:"Lower overhead, shared memory. Best for most projects."}),e.jsx("span",{className:"wizard-option-recommended",children:"Recommended"})]})]}),e.jsxs("label",{className:`setup-wizard-isolation-option${s.manualIsolationMode==="child-process"?" selected":""}`,children:[e.jsx("input",{type:"radio",name:"isolation-mode",value:"child-process",checked:s.manualIsolationMode==="child-process",onChange:()=>n(a=>({...a,manualIsolationMode:"child-process"}))}),e.jsxs("div",{className:"setup-wizard-isolation-option-content",children:[e.jsx("strong",{children:"Child-Process"}),e.jsx("span",{children:"Isolated execution with crash containment."})]})]})]})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{htmlFor:"advanced-auth-token",children:"Browser Auth Token"}),e.jsxs("div",{className:"setup-wizard-auth-token",children:[e.jsx("input",{id:"advanced-auth-token",type:"password",value:r,onChange:a=>h(a.target.value),placeholder:m?"Enter a new token to replace the stored one":"Paste the auth token for this browser",autoComplete:"off",spellCheck:!1}),e.jsxs("div",{className:"setup-wizard-auth-token-actions",children:[e.jsx("button",{type:"button",className:"btn",onClick:w,disabled:r.trim().length===0,children:m?"Update token":"Set token"}),m&&e.jsx("button",{type:"button",className:"btn",onClick:R,children:"Reset token"})]})]}),e.jsx("p",{className:"form-hint",children:m?"A token is already stored in this browser. You can update or reset it below.":"No token is stored. Use the auth prompt at the top of the wizard, or set one here."})]})]})]}),s.error&&e.jsx("div",{className:"wizard-error",role:"alert",children:s.error})]}),s.step==="complete"&&e.jsxs("div",{className:"setup-wizard-complete",children:[e.jsxs("div",{className:"setup-wizard-success-streak","aria-hidden":"true",children:[e.jsx("div",{className:"setup-wizard-success-streak-core"}),e.jsx("div",{className:"setup-wizard-success-streak-glow"})]}),e.jsx(C,{size:64,className:"success-icon"}),e.jsx("h3",{children:"All Set!"}),e.jsx("p",{children:"Your project has been registered successfully."}),e.jsx("p",{children:"You can add more projects anytime from the project overview."})]})]}),e.jsxs("div",{className:"setup-wizard-footer",children:[e.jsx("a",{className:"btn setup-wizard-help-link",href:x,target:"_blank",rel:"noreferrer",children:"Need help?"}),s.step==="auth"&&e.jsxs(e.Fragment,{children:[e.jsx("button",{className:"btn",onClick:F,children:"Skip"}),e.jsx("button",{className:"btn btn-primary",onClick:w,disabled:r.trim().length===0,children:e.jsx("span",{children:"Set Token & Continue"})})]}),s.step==="manual"&&e.jsx("button",{className:"btn btn-primary",onClick:A,disabled:E,children:s.isRegistering?e.jsxs(e.Fragment,{children:[e.jsx(G,{size:16,className:"animate-spin"}),e.jsx("span",{children:"Registering..."})]}):e.jsx("span",{children:"Register Project"})}),s.step==="complete"&&e.jsxs("button",{className:"btn btn-primary",onClick:b,children:[e.jsx(C,{size:16}),e.jsx("span",{children:"Get Started"})]})]})]})})}export{Q as SetupWizardModal};
@@ -1 +0,0 @@
1
- import{r as n,j as e}from"./vendor-react-K0fH_qHe.js";import{bc as g}from"./index-D__RMku8.js";function L({value:s,onChange:t,projectId:i,disabled:d=!1,id:a,label:r="Skills"}){const[o,m]=n.useState([]),[f,h]=n.useState(!0);n.useEffect(()=>{let l=!1;return h(!0),g(i).then(c=>{l||m(c)}).catch(()=>{l||m([])}).finally(()=>{l||h(!1)}),()=>{l=!0}},[i]);const p=l=>{s.includes(l)||t([...s,l])},x=l=>{t(s.filter(c=>c!==l))},u=l=>o.find(S=>S.id===l)?.name??l,k=o.filter(l=>!s.includes(l.id));return e.jsxs("div",{className:"skill-multiselect","data-testid":"skill-multiselect",children:[r&&e.jsx("label",{htmlFor:a?`${a}-select`:void 0,className:"skill-multiselect-label",children:r}),s.length>0&&e.jsx("div",{className:"skill-multiselect-chips","data-testid":"skill-chips",children:s.map(l=>e.jsxs("span",{className:"skill-chip","data-testid":`skill-chip-${l}`,children:[e.jsx("span",{className:"skill-chip-name",children:u(l)}),e.jsx("button",{type:"button",className:"skill-chip-remove",onClick:()=>x(l),disabled:d,"aria-label":`Remove ${u(l)}`,"data-testid":`remove-skill-${l}`,children:"×"})]},l))}),e.jsx("div",{className:"skill-multiselect-add",children:f?e.jsx("span",{className:"skill-multiselect-loading","data-testid":"skills-loading",children:"Loading skills…"}):k.length===0?e.jsx("span",{className:"skill-multiselect-empty","data-testid":"skills-empty",children:s.length===0?"No skills discovered":"All skills selected"}):e.jsxs("select",{id:a?`${a}-select`:void 0,className:"select skill-multiselect-dropdown",value:"",onChange:l=>{l.target.value&&(p(l.target.value),l.target.value="")},disabled:d,"data-testid":"skill-dropdown",children:[e.jsx("option",{value:"",children:"Add a skill…"}),k.map(l=>e.jsx("option",{value:l.id,children:l.name},l.id))]})})]})}const j=/(?:^|\/)skills\/([^/]+)\/SKILL\.md$/i;function A(s){const t=s.trim();if(!t)return s;const i=t.match(j);return i?.[1]?i[1]:t}export{L as S,A as f};