@puddle-code/cli 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/CHANGELOG.md +16 -5
  2. package/dist/host-control.mjs +15 -1
  3. package/dist/index.js +72 -12
  4. package/dist/public/assets/App-DYF0TQ7N.js +2 -0
  5. package/dist/public/assets/Dashboard-BLWy1kHm.js +1 -0
  6. package/dist/public/assets/{EditorTabClose-Dxz8ZjM9.js → EditorTabClose-CtInp1cT.js} +1 -1
  7. package/dist/public/assets/{LazyTerminal-CvkHRHQo.js → LazyTerminal-BrJnGoEX.js} +2 -2
  8. package/dist/public/assets/{ModelRefcount-C0ZeHnBJ.js → ModelRefcount-BNtD7p2m.js} +1 -1
  9. package/dist/public/assets/{NewProjectDialog-CHQ7EJYr.js → NewProjectDialog-BHIvFpCo.js} +1 -1
  10. package/dist/public/assets/{PaneEditorBody-Bco44A9M.js → PaneEditorBody--HKVd4ce.js} +4 -4
  11. package/dist/public/assets/{PdfViewer-Xg7NGubF.js → PdfViewer-DhO008IQ.js} +2 -2
  12. package/dist/public/assets/SettingsDialog-rfDhJoO1.js +8 -0
  13. package/dist/public/assets/Terminal-CttD7XcZ.js +60 -0
  14. package/dist/public/assets/Workspace-BB4IS8EP.js +20 -0
  15. package/dist/public/assets/Workspace-DgLBQU_0.css +1 -0
  16. package/dist/public/assets/{abnfDiagram-VCTEODGH-B9xm0g0V.js → abnfDiagram-VCTEODGH-CTMUfqGq.js} +1 -1
  17. package/dist/public/assets/architecture-7GRP2DOG-D65OB2im.js +1 -0
  18. package/dist/public/assets/{architectureDiagram-5GKGNRK7-DrrWczea.js → architectureDiagram-5GKGNRK7-B-L0EtRZ.js} +1 -1
  19. package/dist/public/assets/{blockDiagram-I7D4REHJ-CYEP6Dnn.js → blockDiagram-I7D4REHJ-CnmmDFsq.js} +1 -1
  20. package/dist/public/assets/{buffer-store-pvgusTv-.js → buffer-store-DzO77p-K.js} +2 -2
  21. package/dist/public/assets/{c4Diagram-7LVT6UL2-BAkFUfYR.js → c4Diagram-7LVT6UL2-DU4HXNd-.js} +1 -1
  22. package/dist/public/assets/channel-DDYJkwWS.js +1 -0
  23. package/dist/public/assets/{chunk-2E4U76K2-sXcn0WDZ.js → chunk-2E4U76K2-B8o6iRzd.js} +1 -1
  24. package/dist/public/assets/{chunk-4HAMMTFA-CPPsfbHS.js → chunk-4HAMMTFA-CfxkhHyC.js} +1 -1
  25. package/dist/public/assets/{chunk-75Z2AOVW-Cp3T9-mM.js → chunk-75Z2AOVW-D8v_0vko.js} +1 -1
  26. package/dist/public/assets/{chunk-CLGD4ZFX-aqUnXBfy.js → chunk-CLGD4ZFX-DPBjX4jg.js} +1 -1
  27. package/dist/public/assets/{chunk-DU6HZSFF-BKPHVNGu.js → chunk-DU6HZSFF-CuwQaNw0.js} +1 -1
  28. package/dist/public/assets/{chunk-F27PBJKO-IqOkPRK3.js → chunk-F27PBJKO-lg02cTVZ.js} +1 -1
  29. package/dist/public/assets/{chunk-GMAD6QVW-c9P8ntLy.js → chunk-GMAD6QVW-DICB0y-D.js} +1 -1
  30. package/dist/public/assets/{chunk-GVQU2GXP-DmZAhaXk.js → chunk-GVQU2GXP-9ghjwcoq.js} +1 -1
  31. package/dist/public/assets/{chunk-IMKFNOWR-CXrrJ9cb.js → chunk-IMKFNOWR-i_YIFBJX.js} +1 -1
  32. package/dist/public/assets/{chunk-L3NEJ4N5-Pn0OM8Or.js → chunk-L3NEJ4N5-gR7gj1U0.js} +1 -1
  33. package/dist/public/assets/{chunk-OSK3NFVY-CSxO-Bhw.js → chunk-OSK3NFVY-DHyaWigk.js} +1 -1
  34. package/dist/public/assets/{chunk-P2QGCYS3-DpTPoZQU.js → chunk-P2QGCYS3-ykV2meK0.js} +1 -1
  35. package/dist/public/assets/{chunk-POPQ4Y6H-V45h95Rz.js → chunk-POPQ4Y6H-BfpRTc3s.js} +1 -1
  36. package/dist/public/assets/{chunk-PWAF6VOD-aG71yphl.js → chunk-PWAF6VOD-gWIwGh8g.js} +1 -1
  37. package/dist/public/assets/{chunk-SHT3W25Y-8X6FPG54.js → chunk-SHT3W25Y-BQ_pTF0Z.js} +1 -1
  38. package/dist/public/assets/{chunk-SVP7TREG-x6ifISIm.js → chunk-SVP7TREG-SQwLD6DT.js} +1 -1
  39. package/dist/public/assets/{chunk-TICWLB2K-D9KB9pY5.js → chunk-TICWLB2K-B2zBy15L.js} +1 -1
  40. package/dist/public/assets/{chunk-TLUHSLCS-GPGNxyxD.js → chunk-TLUHSLCS-Bd2UG2tZ.js} +2 -2
  41. package/dist/public/assets/classDiagram-ZZMXUADV-DiYOyJFb.js +1 -0
  42. package/dist/public/assets/classDiagram-v2-VYDZK3BY-DiYOyJFb.js +1 -0
  43. package/dist/public/assets/{context-menu-Dt7h9y20.js → context-menu-Brk2htuk.js} +1 -1
  44. package/dist/public/assets/{cssMode-F3TrjQ2Y.js → cssMode-DqPCL8gS.js} +1 -1
  45. package/dist/public/assets/{cynefin-OW5HDTMX-BCcHZD-7.js → cynefin-OW5HDTMX-CSAZrmjo.js} +1 -1
  46. package/dist/public/assets/{cynefinDiagram-5FMLGOSQ-hEFQTinv.js → cynefinDiagram-5FMLGOSQ-CGKlzaPC.js} +1 -1
  47. package/dist/public/assets/{dagre-GXQ25YYZ-Dj7c-z9-.js → dagre-GXQ25YYZ-CgRwIpkl.js} +1 -1
  48. package/dist/public/assets/{diagram-S7CK7UJ4-i3ABTGXD.js → diagram-S7CK7UJ4-BMP1KOBu.js} +1 -1
  49. package/dist/public/assets/{diagram-UQ7AKVKN-BClHr071.js → diagram-UQ7AKVKN-DNcOIF4W.js} +1 -1
  50. package/dist/public/assets/{diagram-VSXAHHWV-_NoikNWl.js → diagram-VSXAHHWV-BGdHvK5Q.js} +1 -1
  51. package/dist/public/assets/{diagram-VX7I27RA-BxznNmgf.js → diagram-VX7I27RA-F7PfwNlr.js} +1 -1
  52. package/dist/public/assets/{diagram-Z3DM3KII-Dp_Elrik.js → diagram-Z3DM3KII-CPE4T9mi.js} +1 -1
  53. package/dist/public/assets/{dialog-GYBse2vm.js → dialog-B08M5Cgz.js} +2 -2
  54. package/dist/public/assets/disclosure-Bc6Ydabz.js +1 -0
  55. package/dist/public/assets/{dist-BB_jCiks.js → dist-CE40EiFY.js} +1 -1
  56. package/dist/public/assets/{dist-Dd_gMYta.js → dist-w0M7y9KX.js} +1 -1
  57. package/dist/public/assets/{ebnfDiagram-PWID7BFC-BrhXAUqf.js → ebnfDiagram-PWID7BFC-CqTR9kTI.js} +1 -1
  58. package/dist/public/assets/{erDiagram-RLTQ6QDP-DpvzwcpF.js → erDiagram-RLTQ6QDP-CVqix4AT.js} +1 -1
  59. package/dist/public/assets/eventmodeling-NTZA5JFV-BoPTLqKJ.js +1 -0
  60. package/dist/public/assets/flowDiagram-HODETNUW-2TNtc6rJ.js +1 -0
  61. package/dist/public/assets/{ganttDiagram-EL5Y4UJY-MwZQW2Ab.js → ganttDiagram-EL5Y4UJY-CFSX0WK6.js} +1 -1
  62. package/dist/public/assets/{gitGraph-4MIJSDKK-wD3tQrBr.js → gitGraph-4MIJSDKK-Doy-w5G0.js} +1 -1
  63. package/dist/public/assets/{gitGraphDiagram-WWUBYQGX-RZqAMYtF.js → gitGraphDiagram-WWUBYQGX-fQM29HOw.js} +1 -1
  64. package/dist/public/assets/{hotkeys-Bpeih0PX.js → hotkeys-DQNqRgOb.js} +1 -1
  65. package/dist/public/assets/{htmlMode-BQanlpBa.js → htmlMode-DE4OLLtJ.js} +1 -1
  66. package/dist/public/assets/index-CQ-7fSnd.css +2 -0
  67. package/dist/public/assets/{index-D96JjECU.js → index-CmEI98Do.js} +2 -2
  68. package/dist/public/assets/{info-A6RAGUB7-ie0E4iIr.js → info-A6RAGUB7-DPiPYEQe.js} +1 -1
  69. package/dist/public/assets/{infoDiagram-27XIBGKW-u5u8byqk.js → infoDiagram-27XIBGKW-DY5LKiBl.js} +1 -1
  70. package/dist/public/assets/{input-AzsFYZ3g.js → input-CRHttNr9.js} +1 -1
  71. package/dist/public/assets/{ishikawaDiagram-5VMMS53U-4GHMY6KJ.js → ishikawaDiagram-5VMMS53U-DwSURfQE.js} +1 -1
  72. package/dist/public/assets/{journeyDiagram-3NMN7TZE-Cwe5PRBP.js → journeyDiagram-3NMN7TZE-B0OCkFis.js} +1 -1
  73. package/dist/public/assets/{jsonMode-CRZXV6U_.js → jsonMode-F58eqVfl.js} +1 -1
  74. package/dist/public/assets/{kanban-definition-UXKFOSKX-CS-A9ZNT.js → kanban-definition-UXKFOSKX-CAQw3qWz.js} +1 -1
  75. package/dist/public/assets/{line-kZmQKU6y.js → line-Bcu_KJDQ.js} +1 -1
  76. package/dist/public/assets/{media-refresh-store-B_VyvYfl.js → media-refresh-store-B8Wdlks-.js} +1 -1
  77. package/dist/public/assets/{mermaid-parser.core-BEcx5De7.js → mermaid-parser.core-PSjhnHbq.js} +3 -3
  78. package/dist/public/assets/{mermaid.core-ZFBf3aP8.js → mermaid.core-CVDKsXhB.js} +3 -3
  79. package/dist/public/assets/{mindmap-definition-YA3MSWOX-ti5sUvQf.js → mindmap-definition-YA3MSWOX-CVAY5896.js} +1 -1
  80. package/dist/public/assets/{notification-permission-Car54v17.js → notification-permission-CbLpN3ev.js} +1 -1
  81. package/dist/public/assets/{packet-AYTQ26CC-BFLiDvUG.js → packet-AYTQ26CC-CTdFnPq7.js} +1 -1
  82. package/dist/public/assets/{pdf-CDunFg56.js → pdf-CNnH2qu8.js} +1 -1
  83. package/dist/public/assets/{pegDiagram-XKGWAZYB-L1VUrE59.js → pegDiagram-XKGWAZYB-DjAvebfq.js} +1 -1
  84. package/dist/public/assets/{pie-WAS4IAKB-BxBZGMsV.js → pie-WAS4IAKB-DGj7H0HD.js} +1 -1
  85. package/dist/public/assets/{pieDiagram-E7YTZNPT-D_z8Ah38.js → pieDiagram-E7YTZNPT-ZsMHxQiN.js} +1 -1
  86. package/dist/public/assets/{project-abbrev-B7pHIhbk.js → project-abbrev-CaGbOWtr.js} +1 -1
  87. package/dist/public/assets/{quadrantDiagram-AXDQQJYC-DEU0wyvb.js → quadrantDiagram-AXDQQJYC-DVxSJgm4.js} +1 -1
  88. package/dist/public/assets/{radar-RG4KPBEZ-C7ijJa3G.js → radar-RG4KPBEZ-D7tOXZhy.js} +1 -1
  89. package/dist/public/assets/{railroad-74A4TZTK-BR2-uhMp.js → railroad-74A4TZTK-EI9jAf_f.js} +1 -1
  90. package/dist/public/assets/railroad-abnf-HS5TGJTU-DnezvAFa.js +1 -0
  91. package/dist/public/assets/railroad-ebnf-LZEXJU2U-DHOzgi4x.js +1 -0
  92. package/dist/public/assets/railroad-peg-WCYAUIDC-C28W4OGa.js +1 -0
  93. package/dist/public/assets/{railroadDiagram-O6MQD6OU-BO2RgHB_.js → railroadDiagram-O6MQD6OU-uqpSPQV1.js} +1 -1
  94. package/dist/public/assets/{requirementDiagram-BXWQKSXE-DedAgdgA.js → requirementDiagram-BXWQKSXE-BlP0G3V7.js} +1 -1
  95. package/dist/public/assets/{sankeyDiagram-P5KCCOFB-XS4y44C-.js → sankeyDiagram-P5KCCOFB-BcxykWWD.js} +1 -1
  96. package/dist/public/assets/{sequenceDiagram-WJ2MYXX4-BgGPuhmx.js → sequenceDiagram-WJ2MYXX4-BleK5ON1.js} +1 -1
  97. package/dist/public/assets/{stateDiagram-D77RDMKH-t92luW0k.js → stateDiagram-D77RDMKH-C3Ojitqe.js} +1 -1
  98. package/dist/public/assets/stateDiagram-v2-MP3YSRHH-KLRu_NXG.js +1 -0
  99. package/dist/public/assets/{swimlanes-42K2YHIH-BTLMw_Zs.js → swimlanes-42K2YHIH-Bebu_xn2.js} +1 -1
  100. package/dist/public/assets/swimlanesDiagram-VR7AAH4N-BmvrlXmd.js +8 -0
  101. package/dist/public/assets/{switch-DFcV6j9m.js → switch-CaIM4dwn.js} +1 -1
  102. package/dist/public/assets/{timeline-definition-24CTP7MA-Buej45ei.js → timeline-definition-24CTP7MA-BKUpL8jk.js} +1 -1
  103. package/dist/public/assets/{treeView-Q6P3EWNA-CsmFV7PP.js → treeView-Q6P3EWNA-C7zCIwpV.js} +1 -1
  104. package/dist/public/assets/{treemap-WGGIJYW6-C7p2D31t.js → treemap-WGGIJYW6-6M3fRwft.js} +1 -1
  105. package/dist/public/assets/{tsMode-CkssN7v1.js → tsMode-DQRFLRMD.js} +1 -1
  106. package/dist/public/assets/{use-find-controls-o8dHk3Ai.js → use-find-controls-SI1t9mHH.js} +1 -1
  107. package/dist/public/assets/{use-ui-state-GQIbFm75.js → use-ui-state-D-3P_8P_.js} +1 -1
  108. package/dist/public/assets/{vennDiagram-4TSXK5OY-CabgcJgI.js → vennDiagram-4TSXK5OY-DxK4ozKb.js} +1 -1
  109. package/dist/public/assets/{wardley-WFR3VGLG-nDvUESM8.js → wardley-WFR3VGLG-B2zERAcS.js} +1 -1
  110. package/dist/public/assets/{wardleyDiagram-VM6X3IG4-lH7COUmu.js → wardleyDiagram-VM6X3IG4-Ctiwf9vH.js} +1 -1
  111. package/dist/public/assets/{ws-CvBEQDJB.js → ws-DK8JadaZ.js} +1 -1
  112. package/dist/public/assets/{xychartDiagram-S5SC5T6Z-c7fu3ePF.js → xychartDiagram-S5SC5T6Z-CxqvnL8v.js} +1 -1
  113. package/dist/public/index.html +2 -2
  114. package/package.json +1 -1
  115. package/dist/public/assets/App-4wHC7AhU.js +0 -2
  116. package/dist/public/assets/Dashboard-BTqiSGSr.js +0 -1
  117. package/dist/public/assets/SettingsDialog-BbqSqnMS.js +0 -8
  118. package/dist/public/assets/Terminal-DEVWotwh.js +0 -60
  119. package/dist/public/assets/Workspace-9Ke8tXhO.css +0 -1
  120. package/dist/public/assets/Workspace-D0vmiCsp.js +0 -20
  121. package/dist/public/assets/architecture-7GRP2DOG-B8geJhni.js +0 -1
  122. package/dist/public/assets/channel-B2boMkNJ.js +0 -1
  123. package/dist/public/assets/classDiagram-ZZMXUADV-D8W4ja-y.js +0 -1
  124. package/dist/public/assets/classDiagram-v2-VYDZK3BY-D8W4ja-y.js +0 -1
  125. package/dist/public/assets/eventmodeling-NTZA5JFV-DpPAlVka.js +0 -1
  126. package/dist/public/assets/flowDiagram-HODETNUW-emcn6VnU.js +0 -1
  127. package/dist/public/assets/index-BsSnxNPl.css +0 -2
  128. package/dist/public/assets/railroad-abnf-HS5TGJTU-Q_zhOWAR.js +0 -1
  129. package/dist/public/assets/railroad-ebnf-LZEXJU2U-BNV11-bx.js +0 -1
  130. package/dist/public/assets/railroad-peg-WCYAUIDC-D1whgDil.js +0 -1
  131. package/dist/public/assets/session-seed-exhI-dnY.js +0 -1
  132. package/dist/public/assets/stateDiagram-v2-MP3YSRHH-BVx0pqBn.js +0 -1
  133. package/dist/public/assets/swimlanesDiagram-VR7AAH4N-BaHPNnEm.js +0 -8
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{c as n,o as r,t as i}from"./buffer-store-pvgusTv-.js";var a=e(t(),1);function o({buffers:e}){let t=(0,a.useRef)(new Set);return(0,a.useEffect)(()=>{let a=new Set(e.map(e=>i(e.session,e.path,e.root))),o=t.current;for(let e of a)o.has(e)||(n(e),o.add(e));for(let e of[...o])a.has(e)||(r(e),o.delete(e))},[e]),(0,a.useEffect)(()=>()=>{for(let e of t.current)r(e);t.current.clear()},[]),null}export{o as ModelRefcount};
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{c as n,o as r,t as i}from"./buffer-store-DzO77p-K.js";var a=e(t(),1);function o({buffers:e}){let t=(0,a.useRef)(new Set);return(0,a.useEffect)(()=>{let a=new Set(e.map(e=>i(e.session,e.path,e.root))),o=t.current;for(let e of a)o.has(e)||(n(e),o.add(e));for(let e of[...o])a.has(e)||(r(e),o.delete(e))},[e]),(0,a.useEffect)(()=>()=>{for(let e of t.current)r(e);t.current.clear()},[]),null}export{o as ModelRefcount};
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{n}from"./index-D96JjECU.js";import{F as r,P as i,W as a,pt as o,q as s}from"./hotkeys-Bpeih0PX.js";import{n as c,o as l,p as u,t as d}from"./project-abbrev-B7pHIhbk.js";import{a as f,h as p,i as m,n as h,o as g,r as _,t as v}from"./dialog-GYBse2vm.js";import{c as y,l as b,r as x,s as S}from"./LazyTerminal-CvkHRHQo.js";import{t as C}from"./createLucideIcon-DyMAgLa3.js";import{t as w}from"./use-debounced-value-C86N-mOK.js";var T=C(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),E=e(t(),1),D=n();function O(e){let t=e.trim().replace(/\/+$/,``);return t===``?`/`:t}function k(e){return e.startsWith(`/`)||e.startsWith(`~`)}function A(e){let t=e.replace(/\/+$/,``),n=t.lastIndexOf(`/`);return n<=0?`/`:t.slice(0,n)}function j({dir:e,onNavigate:t,onChoose:n}){let r=a(e.endsWith(`/`)?e:`${e}/`);return(0,D.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,D.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,D.jsxs)(`button`,{type:`button`,onClick:()=>t(A(e)),disabled:e===`/`,title:`Parent directory`,className:`shrink-0 rounded-sm p-1 text-fg-gold transition-colors hover:bg-elevated hover:text-fg disabled:pointer-events-none disabled:opacity-40`,children:[(0,D.jsx)(l,{className:`size-3.5`}),(0,D.jsx)(`span`,{className:`sr-only`,children:`Parent directory`})]}),(0,D.jsx)(`button`,{type:`button`,onClick:()=>n(e),className:`ml-auto shrink-0 text-2xs text-fg-muted transition-colors hover:text-fg`,children:`choose this folder`})]}),(0,D.jsxs)(`div`,{className:`max-h-48 overflow-y-auto`,children:[(r.data?.entries??[]).map(e=>(0,D.jsxs)(`div`,{className:`flex items-center rounded-md transition-colors hover:bg-elevated`,children:[(0,D.jsxs)(`button`,{type:`button`,onClick:()=>t(e.path),className:`flex min-w-0 flex-1 items-center gap-2 px-2 py-1 text-left`,children:[e.is_git?(0,D.jsx)(S,{className:`size-3.5 shrink-0 text-success`}):(0,D.jsx)(T,{className:`size-3.5 shrink-0 text-fg-gold`}),(0,D.jsx)(`span`,{className:`truncate text-xs text-fg`,children:e.name})]}),e.is_git&&(0,D.jsx)(`button`,{type:`button`,onClick:()=>n(e.path),className:`shrink-0 px-2 py-1 text-2xs text-fg-muted transition-colors hover:text-fg`,children:`choose`})]},e.path)),r.data!==void 0&&r.data.entries.length===0&&(0,D.jsx)(`p`,{className:`px-2 py-1 text-xs text-fg-muted`,children:`No subdirectories.`})]})]})}function M({profileId:e,open:t,onOpenChange:n}){let l=o(),S=r(),C=i(),T=u(),A=s(),[M,N]=(0,E.useState)(``),[P,ee]=(0,E.useState)(``),[F,I]=(0,E.useState)(!1),[L,R]=(0,E.useState)(``),[z,B]=(0,E.useState)(!1),[V,H]=(0,E.useState)(null),[U,W]=(0,E.useState)(null),G=A.data?.home,K=()=>{let e=M.trim(),t=k(e)&&G!==void 0?O(e.replace(/^~(?=\/|$)/,G)):k(e)&&e.startsWith(`/`)?O(e):G??`/`;J(t)},q=e=>{ee(e),z||R(d(e))},J=e=>{W(e),N(e)},Y=e=>{N(e),W(null),q(e.split(`/`).filter(Boolean).pop()??``),I(!0)},X=a(w(M,150)),Z=(0,E.useMemo)(()=>{if(!k(M))return(l.data??[]).map(e=>({value:e.path,badge:`registered`,is_git:!0}));let e=new Set((l.data??[]).map(e=>e.path));return(X.data?.entries??[]).map(t=>({value:t.path,label:t.name,badge:e.has(t.path)?`registered`:t.is_git?`git`:void 0,is_git:t.is_git}))},[M,l.data,X.data]),Q=async()=>{H(null);try{let t=O(M),r=l.data?.find(e=>e.path===t)?.id??(await S.mutateAsync({path:t})).id,i=await C.mutateAsync({profile_id:e,repo_id:r,name:P.trim(),...c(L)?{abbrev:c(L)}:{}});n(!1),T(`/project/${i.id}`)}catch(e){H(e instanceof Error?e.message:String(e))}},$=P.trim()!==``&&k(M.trim());return(0,D.jsx)(v,{open:t,onOpenChange:n,children:(0,D.jsxs)(h,{children:[(0,D.jsxs)(f,{children:[(0,D.jsx)(g,{children:`New project`}),(0,D.jsx)(_,{children:`Point at a git repository on the daemon host — known repositories are reused.`})]}),(0,D.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>{e.preventDefault(),$&&Q()},children:[(0,D.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,D.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,D.jsx)(y,{htmlFor:`repo-path`,children:`Repository path`}),(0,D.jsx)(`button`,{type:`button`,onClick:()=>U===null?K():W(null),className:`text-2xs text-fg-muted transition-colors hover:text-fg`,children:U===null?`browse…`:`hide browser`})]}),(0,D.jsx)(x,{id:`repo-path`,placeholder:`~/src/my-repo`,value:M,onValueChange:N,onChoose:e=>{!F&&e.is_git&&q(e.value.split(`/`).filter(Boolean).pop()??``)},hints:Z}),U!==null&&(0,D.jsx)(j,{dir:U,onNavigate:J,onChoose:Y})]}),(0,D.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,D.jsx)(y,{htmlFor:`project-name`,children:`Project name`}),(0,D.jsx)(b,{id:`project-name`,placeholder:`e.g. checkout-rework`,value:P,onChange:e=>{q(e.target.value),I(!0)}})]}),(0,D.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,D.jsx)(y,{htmlFor:`project-abbrev`,children:`Abbreviation`}),(0,D.jsx)(b,{id:`project-abbrev`,placeholder:P.trim()?d(P):`ABBRV`,maxLength:5,value:L,onChange:e=>{R(c(e.target.value)),B(!0)},className:`w-24 uppercase`}),(0,D.jsxs)(`p`,{className:`text-2xs text-fg-muted`,children:[`Up to `,5,` characters — the project's label on the collapsed sidebar rail.`]})]}),V&&(0,D.jsx)(`p`,{className:`text-xs text-danger`,children:V}),(0,D.jsxs)(m,{children:[(0,D.jsx)(p,{type:`button`,variant:`ghost`,onClick:()=>n(!1),children:`Cancel`}),(0,D.jsx)(p,{type:`submit`,disabled:!$||S.isPending||C.isPending,children:`Create project`})]})]})]})})}export{M as t};
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{n}from"./index-CmEI98Do.js";import{F as r,P as i,W as a,pt as o,q as s}from"./hotkeys-DQNqRgOb.js";import{n as c,o as l,p as u,t as d}from"./project-abbrev-CaGbOWtr.js";import{a as f,h as p,i as m,n as h,o as g,r as _,t as v}from"./dialog-B08M5Cgz.js";import{c as y,l as b,r as x,s as S}from"./LazyTerminal-BrJnGoEX.js";import{t as C}from"./createLucideIcon-DyMAgLa3.js";import{t as w}from"./use-debounced-value-C86N-mOK.js";var T=C(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),E=e(t(),1),D=n();function O(e){let t=e.trim().replace(/\/+$/,``);return t===``?`/`:t}function k(e){return e.startsWith(`/`)||e.startsWith(`~`)}function A(e){let t=e.replace(/\/+$/,``),n=t.lastIndexOf(`/`);return n<=0?`/`:t.slice(0,n)}function j({dir:e,onNavigate:t,onChoose:n}){let r=a(e.endsWith(`/`)?e:`${e}/`);return(0,D.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,D.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,D.jsxs)(`button`,{type:`button`,onClick:()=>t(A(e)),disabled:e===`/`,title:`Parent directory`,className:`shrink-0 rounded-sm p-1 text-fg-gold transition-colors hover:bg-elevated hover:text-fg disabled:pointer-events-none disabled:opacity-40`,children:[(0,D.jsx)(l,{className:`size-3.5`}),(0,D.jsx)(`span`,{className:`sr-only`,children:`Parent directory`})]}),(0,D.jsx)(`button`,{type:`button`,onClick:()=>n(e),className:`ml-auto shrink-0 text-2xs text-fg-muted transition-colors hover:text-fg`,children:`choose this folder`})]}),(0,D.jsxs)(`div`,{className:`max-h-48 overflow-y-auto`,children:[(r.data?.entries??[]).map(e=>(0,D.jsxs)(`div`,{className:`flex items-center rounded-md transition-colors hover:bg-elevated`,children:[(0,D.jsxs)(`button`,{type:`button`,onClick:()=>t(e.path),className:`flex min-w-0 flex-1 items-center gap-2 px-2 py-1 text-left`,children:[e.is_git?(0,D.jsx)(S,{className:`size-3.5 shrink-0 text-success`}):(0,D.jsx)(T,{className:`size-3.5 shrink-0 text-fg-gold`}),(0,D.jsx)(`span`,{className:`truncate text-xs text-fg`,children:e.name})]}),e.is_git&&(0,D.jsx)(`button`,{type:`button`,onClick:()=>n(e.path),className:`shrink-0 px-2 py-1 text-2xs text-fg-muted transition-colors hover:text-fg`,children:`choose`})]},e.path)),r.data!==void 0&&r.data.entries.length===0&&(0,D.jsx)(`p`,{className:`px-2 py-1 text-xs text-fg-muted`,children:`No subdirectories.`})]})]})}function M({profileId:e,open:t,onOpenChange:n}){let l=o(),S=r(),C=i(),T=u(),A=s(),[M,N]=(0,E.useState)(``),[P,ee]=(0,E.useState)(``),[F,I]=(0,E.useState)(!1),[L,R]=(0,E.useState)(``),[z,B]=(0,E.useState)(!1),[V,H]=(0,E.useState)(null),[U,W]=(0,E.useState)(null),G=A.data?.home,K=()=>{let e=M.trim(),t=k(e)&&G!==void 0?O(e.replace(/^~(?=\/|$)/,G)):k(e)&&e.startsWith(`/`)?O(e):G??`/`;J(t)},q=e=>{ee(e),z||R(d(e))},J=e=>{W(e),N(e)},Y=e=>{N(e),W(null),q(e.split(`/`).filter(Boolean).pop()??``),I(!0)},X=a(w(M,150)),Z=(0,E.useMemo)(()=>{if(!k(M))return(l.data??[]).map(e=>({value:e.path,badge:`registered`,is_git:!0}));let e=new Set((l.data??[]).map(e=>e.path));return(X.data?.entries??[]).map(t=>({value:t.path,label:t.name,badge:e.has(t.path)?`registered`:t.is_git?`git`:void 0,is_git:t.is_git}))},[M,l.data,X.data]),Q=async()=>{H(null);try{let t=O(M),r=l.data?.find(e=>e.path===t)?.id??(await S.mutateAsync({path:t})).id,i=await C.mutateAsync({profile_id:e,repo_id:r,name:P.trim(),...c(L)?{abbrev:c(L)}:{}});n(!1),T(`/project/${i.id}`)}catch(e){H(e instanceof Error?e.message:String(e))}},$=P.trim()!==``&&k(M.trim());return(0,D.jsx)(v,{open:t,onOpenChange:n,children:(0,D.jsxs)(h,{children:[(0,D.jsxs)(f,{children:[(0,D.jsx)(g,{children:`New project`}),(0,D.jsx)(_,{children:`Point at a git repository on the daemon host — known repositories are reused.`})]}),(0,D.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>{e.preventDefault(),$&&Q()},children:[(0,D.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,D.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,D.jsx)(y,{htmlFor:`repo-path`,children:`Repository path`}),(0,D.jsx)(`button`,{type:`button`,onClick:()=>U===null?K():W(null),className:`text-2xs text-fg-muted transition-colors hover:text-fg`,children:U===null?`browse…`:`hide browser`})]}),(0,D.jsx)(x,{id:`repo-path`,placeholder:`~/src/my-repo`,value:M,onValueChange:N,onChoose:e=>{!F&&e.is_git&&q(e.value.split(`/`).filter(Boolean).pop()??``)},hints:Z}),U!==null&&(0,D.jsx)(j,{dir:U,onNavigate:J,onChoose:Y})]}),(0,D.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,D.jsx)(y,{htmlFor:`project-name`,children:`Project name`}),(0,D.jsx)(b,{id:`project-name`,placeholder:`e.g. checkout-rework`,value:P,onChange:e=>{q(e.target.value),I(!0)}})]}),(0,D.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,D.jsx)(y,{htmlFor:`project-abbrev`,children:`Abbreviation`}),(0,D.jsx)(b,{id:`project-abbrev`,placeholder:P.trim()?d(P):`ABBRV`,maxLength:5,value:L,onChange:e=>{R(c(e.target.value)),B(!0)},className:`w-24 uppercase`}),(0,D.jsxs)(`p`,{className:`text-2xs text-fg-muted`,children:[`Up to `,5,` characters — the project's label on the collapsed sidebar rail.`]})]}),V&&(0,D.jsx)(`p`,{className:`text-xs text-danger`,children:V}),(0,D.jsxs)(m,{children:[(0,D.jsx)(p,{type:`button`,variant:`ghost`,onClick:()=>n(!1),children:`Cancel`}),(0,D.jsx)(p,{type:`submit`,disabled:!$||S.isPending||C.isPending,children:`Create project`})]})]})]})})}export{M as t};