@puddle-code/cli 0.1.13 → 0.2.1

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 (159) hide show
  1. package/CHANGELOG.md +6 -3
  2. package/README.md +8 -1
  3. package/dist/host-control.mjs +16292 -0
  4. package/dist/index.js +3254 -1474
  5. package/dist/install.sh +21 -0
  6. package/dist/public/assets/App-4wHC7AhU.js +2 -0
  7. package/dist/public/assets/Dashboard-BTqiSGSr.js +1 -0
  8. package/dist/public/assets/EditorTabClose-Dxz8ZjM9.js +1 -0
  9. package/dist/public/assets/LazyTerminal-CvkHRHQo.js +2 -0
  10. package/dist/public/assets/{ModelRefcount-DX2lgSEo.js → ModelRefcount-C0ZeHnBJ.js} +1 -1
  11. package/dist/public/assets/NewProjectDialog-CHQ7EJYr.js +1 -0
  12. package/dist/public/assets/{PaneEditorBody-BTyEi-sK.js → PaneEditorBody-Bco44A9M.js} +8 -8
  13. package/dist/public/assets/PdfViewer-Xg7NGubF.js +2 -0
  14. package/dist/public/assets/SettingsDialog-BbqSqnMS.js +8 -0
  15. package/dist/public/assets/Terminal-DEVWotwh.js +60 -0
  16. package/dist/public/assets/Workspace-9Ke8tXhO.css +1 -0
  17. package/dist/public/assets/Workspace-D0vmiCsp.js +20 -0
  18. package/dist/public/assets/{abnfDiagram-VCTEODGH-DrU7IXaw.js → abnfDiagram-VCTEODGH-B9xm0g0V.js} +1 -1
  19. package/dist/public/assets/architecture-7GRP2DOG-B8geJhni.js +1 -0
  20. package/dist/public/assets/{architectureDiagram-5GKGNRK7-t9ELRICA.js → architectureDiagram-5GKGNRK7-DrrWczea.js} +1 -1
  21. package/dist/public/assets/{blockDiagram-I7D4REHJ-YdSPz_k5.js → blockDiagram-I7D4REHJ-CYEP6Dnn.js} +1 -1
  22. package/dist/public/assets/{buffer-store-C_7hgG9s.js → buffer-store-pvgusTv-.js} +3 -3
  23. package/dist/public/assets/{c4Diagram-7LVT6UL2-CUOQ2rbu.js → c4Diagram-7LVT6UL2-BAkFUfYR.js} +1 -1
  24. package/dist/public/assets/channel-B2boMkNJ.js +1 -0
  25. package/dist/public/assets/{chevron-down-DPOlcAF_.js → chevron-down--sjpQEHH.js} +1 -1
  26. package/dist/public/assets/chunk-2E4U76K2-sXcn0WDZ.js +2 -0
  27. package/dist/public/assets/{chunk-4HAMMTFA-BZ51_p7P.js → chunk-4HAMMTFA-CPPsfbHS.js} +1 -1
  28. package/dist/public/assets/{chunk-75Z2AOVW-kxCDxh6q.js → chunk-75Z2AOVW-Cp3T9-mM.js} +1 -1
  29. package/dist/public/assets/{chunk-CLGD4ZFX-pSu1f4n0.js → chunk-CLGD4ZFX-aqUnXBfy.js} +1 -1
  30. package/dist/public/assets/chunk-DU6HZSFF-BKPHVNGu.js +125 -0
  31. package/dist/public/assets/{chunk-F27PBJKO-Cmu9YLxN.js → chunk-F27PBJKO-IqOkPRK3.js} +1 -1
  32. package/dist/public/assets/{chunk-GMAD6QVW-CYrdWVZ3.js → chunk-GMAD6QVW-c9P8ntLy.js} +1 -1
  33. package/dist/public/assets/{chunk-GVQU2GXP-eDWbw8E-.js → chunk-GVQU2GXP-DmZAhaXk.js} +1 -1
  34. package/dist/public/assets/{chunk-IMKFNOWR-BGpQKF0M.js → chunk-IMKFNOWR-CXrrJ9cb.js} +1 -1
  35. package/dist/public/assets/{chunk-L3NEJ4N5-BWoXa-mv.js → chunk-L3NEJ4N5-Pn0OM8Or.js} +1 -1
  36. package/dist/public/assets/{chunk-OSK3NFVY-DgJh1Aoq.js → chunk-OSK3NFVY-CSxO-Bhw.js} +1 -1
  37. package/dist/public/assets/{chunk-P2QGCYS3-CkK7MDIt.js → chunk-P2QGCYS3-DpTPoZQU.js} +1 -1
  38. package/dist/public/assets/{chunk-POPQ4Y6H-CgNwSzsJ.js → chunk-POPQ4Y6H-V45h95Rz.js} +1 -1
  39. package/dist/public/assets/{chunk-PWAF6VOD-D1QREJv6.js → chunk-PWAF6VOD-aG71yphl.js} +1 -1
  40. package/dist/public/assets/{chunk-SHT3W25Y-CW83WuuF.js → chunk-SHT3W25Y-8X6FPG54.js} +1 -1
  41. package/dist/public/assets/{chunk-SVP7TREG-D70EFjSd.js → chunk-SVP7TREG-x6ifISIm.js} +1 -1
  42. package/dist/public/assets/{chunk-TICWLB2K-BdLyZiK8.js → chunk-TICWLB2K-D9KB9pY5.js} +1 -1
  43. package/dist/public/assets/chunk-TLUHSLCS-GPGNxyxD.js +2 -0
  44. package/dist/public/assets/classDiagram-ZZMXUADV-D8W4ja-y.js +1 -0
  45. package/dist/public/assets/classDiagram-v2-VYDZK3BY-D8W4ja-y.js +1 -0
  46. package/dist/public/assets/context-menu-Dt7h9y20.js +1 -0
  47. package/dist/public/assets/createLucideIcon-DyMAgLa3.js +1 -0
  48. package/dist/public/assets/{cssMode-Bz3VFhZH.js → cssMode-F3TrjQ2Y.js} +1 -1
  49. package/dist/public/assets/{cynefin-OW5HDTMX-CVPxUP3o.js → cynefin-OW5HDTMX-BCcHZD-7.js} +1 -1
  50. package/dist/public/assets/{cynefinDiagram-5FMLGOSQ-Eoj-svLE.js → cynefinDiagram-5FMLGOSQ-hEFQTinv.js} +1 -1
  51. package/dist/public/assets/{dagre-GXQ25YYZ-B05PrdkZ.js → dagre-GXQ25YYZ-Dj7c-z9-.js} +1 -1
  52. package/dist/public/assets/debounce-B9DrqirV.js +1 -0
  53. package/dist/public/assets/{diagram-S7CK7UJ4-DcxmHlO1.js → diagram-S7CK7UJ4-i3ABTGXD.js} +1 -1
  54. package/dist/public/assets/{diagram-UQ7AKVKN-DmVSn0-1.js → diagram-UQ7AKVKN-BClHr071.js} +1 -1
  55. package/dist/public/assets/{diagram-VSXAHHWV-BGultN_5.js → diagram-VSXAHHWV-_NoikNWl.js} +1 -1
  56. package/dist/public/assets/{diagram-VX7I27RA-i6gsnYil.js → diagram-VX7I27RA-BxznNmgf.js} +1 -1
  57. package/dist/public/assets/{diagram-Z3DM3KII-Dk2VW9nr.js → diagram-Z3DM3KII-Dp_Elrik.js} +1 -1
  58. package/dist/public/assets/dialog-GYBse2vm.js +41 -0
  59. package/dist/public/assets/dist-BB_jCiks.js +1 -0
  60. package/dist/public/assets/dist-Dd_gMYta.js +1 -0
  61. package/dist/public/assets/drafts-B_tChlzR.js +1 -0
  62. package/dist/public/assets/{ebnfDiagram-PWID7BFC-ZRpPOgCS.js → ebnfDiagram-PWID7BFC-BrhXAUqf.js} +1 -1
  63. package/dist/public/assets/{erDiagram-RLTQ6QDP-C_a1ewl3.js → erDiagram-RLTQ6QDP-DpvzwcpF.js} +1 -1
  64. package/dist/public/assets/eventmodeling-NTZA5JFV-DpPAlVka.js +1 -0
  65. package/dist/public/assets/flowDiagram-HODETNUW-emcn6VnU.js +1 -0
  66. package/dist/public/assets/{ganttDiagram-EL5Y4UJY-BQSJiQPw.js → ganttDiagram-EL5Y4UJY-MwZQW2Ab.js} +1 -1
  67. package/dist/public/assets/{gitGraph-4MIJSDKK-DnzqjUZ8.js → gitGraph-4MIJSDKK-wD3tQrBr.js} +1 -1
  68. package/dist/public/assets/{gitGraphDiagram-WWUBYQGX-DqIRXgnV.js → gitGraphDiagram-WWUBYQGX-RZqAMYtF.js} +1 -1
  69. package/dist/public/assets/hotkeys-Bpeih0PX.js +1 -0
  70. package/dist/public/assets/{htmlMode-Bs17EcNI.js → htmlMode-BQanlpBa.js} +1 -1
  71. package/dist/public/assets/index-BsSnxNPl.css +2 -0
  72. package/dist/public/assets/index-D96JjECU.js +82 -0
  73. package/dist/public/assets/{info-A6RAGUB7-D-Rg6JUN.js → info-A6RAGUB7-ie0E4iIr.js} +1 -1
  74. package/dist/public/assets/{infoDiagram-27XIBGKW-D2WlI0b3.js → infoDiagram-27XIBGKW-u5u8byqk.js} +1 -1
  75. package/dist/public/assets/input-AzsFYZ3g.js +1 -0
  76. package/dist/public/assets/{ishikawaDiagram-5VMMS53U-DrJpdpRY.js → ishikawaDiagram-5VMMS53U-4GHMY6KJ.js} +1 -1
  77. package/dist/public/assets/{journeyDiagram-3NMN7TZE-DbbEx7ZS.js → journeyDiagram-3NMN7TZE-Cwe5PRBP.js} +1 -1
  78. package/dist/public/assets/{jsonMode-CzJOxi5s.js → jsonMode-CRZXV6U_.js} +1 -1
  79. package/dist/public/assets/{kanban-definition-UXKFOSKX-CjQ2Pird.js → kanban-definition-UXKFOSKX-CS-A9ZNT.js} +1 -1
  80. package/dist/public/assets/{line-Y9535-xV.js → line-kZmQKU6y.js} +1 -1
  81. package/dist/public/assets/media-refresh-store-B_VyvYfl.js +1 -0
  82. package/dist/public/assets/{mermaid-parser.core-CHfO7_QP.js → mermaid-parser.core-BEcx5De7.js} +3 -3
  83. package/dist/public/assets/mermaid.core-ZFBf3aP8.js +11 -0
  84. package/dist/public/assets/{mindmap-definition-YA3MSWOX-192tJvHd.js → mindmap-definition-YA3MSWOX-ti5sUvQf.js} +1 -1
  85. package/dist/public/assets/notification-permission-Car54v17.js +1 -0
  86. package/dist/public/assets/{packet-AYTQ26CC-CTuDVT1l.js → packet-AYTQ26CC-BFLiDvUG.js} +1 -1
  87. package/dist/public/assets/{pdf-EQHMWEbX.js → pdf-CDunFg56.js} +1 -1
  88. package/dist/public/assets/{pegDiagram-XKGWAZYB-DKWuJLBr.js → pegDiagram-XKGWAZYB-L1VUrE59.js} +1 -1
  89. package/dist/public/assets/{pie-WAS4IAKB-hKIvAklj.js → pie-WAS4IAKB-BxBZGMsV.js} +1 -1
  90. package/dist/public/assets/{pieDiagram-E7YTZNPT-CNnu3Gqt.js → pieDiagram-E7YTZNPT-D_z8Ah38.js} +1 -1
  91. package/dist/public/assets/preview-kind-QJSMKfUN.js +1 -0
  92. package/dist/public/assets/project-abbrev-B7pHIhbk.js +1 -0
  93. package/dist/public/assets/protocol-support-C1NCVjbV.js +1 -0
  94. package/dist/public/assets/{quadrantDiagram-AXDQQJYC-BDfukVAC.js → quadrantDiagram-AXDQQJYC-DEU0wyvb.js} +1 -1
  95. package/dist/public/assets/{radar-RG4KPBEZ-znNmLflQ.js → radar-RG4KPBEZ-C7ijJa3G.js} +1 -1
  96. package/dist/public/assets/{railroad-74A4TZTK-B4mnaNAW.js → railroad-74A4TZTK-BR2-uhMp.js} +1 -1
  97. package/dist/public/assets/railroad-abnf-HS5TGJTU-Q_zhOWAR.js +1 -0
  98. package/dist/public/assets/railroad-ebnf-LZEXJU2U-BNV11-bx.js +1 -0
  99. package/dist/public/assets/railroad-peg-WCYAUIDC-D1whgDil.js +1 -0
  100. package/dist/public/assets/{railroadDiagram-O6MQD6OU-BjW5Goxg.js → railroadDiagram-O6MQD6OU-BO2RgHB_.js} +1 -1
  101. package/dist/public/assets/{requirementDiagram-BXWQKSXE-WZ7qYbwG.js → requirementDiagram-BXWQKSXE-DedAgdgA.js} +1 -1
  102. package/dist/public/assets/{sankeyDiagram-P5KCCOFB-xfsRJbYV.js → sankeyDiagram-P5KCCOFB-XS4y44C-.js} +1 -1
  103. package/dist/public/assets/{sequenceDiagram-WJ2MYXX4-CnXOIvsD.js → sequenceDiagram-WJ2MYXX4-BgGPuhmx.js} +1 -1
  104. package/dist/public/assets/session-seed-exhI-dnY.js +1 -0
  105. package/dist/public/assets/{stateDiagram-D77RDMKH-BC-kRyi8.js → stateDiagram-D77RDMKH-t92luW0k.js} +1 -1
  106. package/dist/public/assets/stateDiagram-v2-MP3YSRHH-BVx0pqBn.js +1 -0
  107. package/dist/public/assets/{swimlanes-42K2YHIH-DImnagTG.js → swimlanes-42K2YHIH-BTLMw_Zs.js} +1 -1
  108. package/dist/public/assets/swimlanesDiagram-VR7AAH4N-BaHPNnEm.js +8 -0
  109. package/dist/public/assets/switch-DFcV6j9m.js +1 -0
  110. package/dist/public/assets/{timeline-definition-24CTP7MA-DxXJ2EnM.js → timeline-definition-24CTP7MA-Buej45ei.js} +1 -1
  111. package/dist/public/assets/{treeView-Q6P3EWNA-BWIPDCZv.js → treeView-Q6P3EWNA-CsmFV7PP.js} +1 -1
  112. package/dist/public/assets/{treemap-WGGIJYW6-BcfuZ8Jf.js → treemap-WGGIJYW6-C7p2D31t.js} +1 -1
  113. package/dist/public/assets/{tsMode-D3u1l2bP.js → tsMode-CkssN7v1.js} +1 -1
  114. package/dist/public/assets/use-debounced-value-C86N-mOK.js +1 -0
  115. package/dist/public/assets/use-find-controls-o8dHk3Ai.js +1 -0
  116. package/dist/public/assets/use-ui-state-GQIbFm75.js +1 -0
  117. package/dist/public/assets/{vennDiagram-4TSXK5OY-CObuiC8v.js → vennDiagram-4TSXK5OY-CabgcJgI.js} +1 -1
  118. package/dist/public/assets/{wardley-WFR3VGLG-M4SNYgeF.js → wardley-WFR3VGLG-nDvUESM8.js} +1 -1
  119. package/dist/public/assets/{wardleyDiagram-VM6X3IG4-CijOXrVJ.js → wardleyDiagram-VM6X3IG4-lH7COUmu.js} +1 -1
  120. package/dist/public/assets/ws-CvBEQDJB.js +1 -0
  121. package/dist/public/assets/{x-C-HTKvar.js → x-CZCUod6A.js} +1 -1
  122. package/dist/public/assets/{xychartDiagram-S5SC5T6Z-DYuJKDDP.js → xychartDiagram-S5SC5T6Z-c7fu3ePF.js} +1 -1
  123. package/dist/public/index.html +6 -9
  124. package/package.json +1 -1
  125. package/dist/public/assets/Dashboard-DZ2wJzxT.js +0 -1
  126. package/dist/public/assets/EditorTabClose-C_KshuUy.js +0 -1
  127. package/dist/public/assets/LazyTerminal-WrcQmMlN.js +0 -2
  128. package/dist/public/assets/PdfViewer-CgEeDupC.js +0 -2
  129. package/dist/public/assets/SettingsDialog-DGGo0qi-.js +0 -1
  130. package/dist/public/assets/Terminal-Bz5IcWGB.js +0 -60
  131. package/dist/public/assets/Workspace-CFVjVR8W.js +0 -8
  132. package/dist/public/assets/api-BCQXSMww.js +0 -73
  133. package/dist/public/assets/architecture-7GRP2DOG-D_jntaTV.js +0 -1
  134. package/dist/public/assets/channel-VzmaFbZX.js +0 -1
  135. package/dist/public/assets/chunk-2E4U76K2-Co6b1Y97.js +0 -2
  136. package/dist/public/assets/chunk-DU6HZSFF-CCNUFaQT.js +0 -125
  137. package/dist/public/assets/chunk-TLUHSLCS-B7jq2TOO.js +0 -2
  138. package/dist/public/assets/classDiagram-ZZMXUADV-CYpW3ppG.js +0 -1
  139. package/dist/public/assets/classDiagram-v2-VYDZK3BY-CYpW3ppG.js +0 -1
  140. package/dist/public/assets/context-menu-yfgRnFtF.js +0 -1
  141. package/dist/public/assets/createLucideIcon-C6JENrH3.js +0 -1
  142. package/dist/public/assets/dialog-DI1-uj7G.js +0 -41
  143. package/dist/public/assets/dist-CKuo36qW.js +0 -1
  144. package/dist/public/assets/drafts-DH4d2pY0.js +0 -1
  145. package/dist/public/assets/eventmodeling-NTZA5JFV-B1CPh3nL.js +0 -1
  146. package/dist/public/assets/file-links-D_PVEDZX.js +0 -1
  147. package/dist/public/assets/flowDiagram-HODETNUW-B4hsNbjc.js +0 -1
  148. package/dist/public/assets/index-CvsABxea.css +0 -2
  149. package/dist/public/assets/index-F0Bi9YXX.js +0 -10
  150. package/dist/public/assets/media-refresh-store-BSV42cAv.js +0 -1
  151. package/dist/public/assets/mermaid.core-Czw_C2pz.js +0 -11
  152. package/dist/public/assets/preload-helper-Czpn1I53.js +0 -1
  153. package/dist/public/assets/railroad-abnf-HS5TGJTU-CfsGG-fR.js +0 -1
  154. package/dist/public/assets/railroad-ebnf-LZEXJU2U-BmUL54vf.js +0 -1
  155. package/dist/public/assets/railroad-peg-WCYAUIDC-BNoPIdtK.js +0 -1
  156. package/dist/public/assets/session-seed-BJa5Z1W1.js +0 -1
  157. package/dist/public/assets/stateDiagram-v2-MP3YSRHH-3Xfb1SN8.js +0 -1
  158. package/dist/public/assets/swimlanesDiagram-VR7AAH4N-isFys79B.js +0 -8
  159. package/dist/public/assets/use-find-controls-BjoerBs9.js +0 -1
package/CHANGELOG.md CHANGED
@@ -7,8 +7,11 @@ Past releases: see docs/changelogs/.
7
7
 
8
8
  # Changelog
9
9
 
10
- ## [0.1.13] — 2026-09-10
10
+ ## [0.2.1] — 2026-09-21
11
11
 
12
- ### Added
12
+ ### Fixed
13
13
 
14
- - Select session ranges in either right-sidebar presentation and archive the selected batch from its context menu or archive drop target.
14
+ - Fix daemon and cockpit startup on legacy installations by migrating owned Puddle homes from `0755` to `0700`, and create fresh installer homes privately.
15
+ - Fix self-hosted application builds with filtered dependencies by separating the production Vite configuration from the development cockpit gateway.
16
+ - Fix remote container builds and static file serving from checkouts with private file permissions.
17
+ - Remove Caddy's unused privileged-port capability so the application container starts with all capabilities dropped.
package/README.md CHANGED
@@ -34,6 +34,13 @@ puddle launch <user>@<host>
34
34
 
35
35
  This connects Puddle to the remote host over SSH, bootstrapping the Puddle daemon on first contact and enabling you to begin development.
36
36
 
37
+ **To connect from a phone or another browser over the internet:** deploy your own
38
+ [mobile access service and trusted web application](docs/mobile-access.md), then
39
+ use `puddle remote enable` and `puddle remote pair`. The host connects outward;
40
+ there is no public daemon port or VPN requirement. Each browser needs explicit
41
+ host approval. The phone view provides live terminals, prompt input and read-only
42
+ text/diff review over a pinned Noise connection through the relay.
43
+
37
44
  Puddle works using your system `ssh`, so `~/.ssh/config`, agents, and jump hosts apply.
38
45
 
39
46
  **For development on your own machine:**
@@ -106,7 +113,7 @@ auth prompts unless you use a key).
106
113
  └───────────────────────────────────┘
107
114
  ```
108
115
 
109
- The CLI serves the UI at a stable local origin and reverse-proxies the API to the daemon, directly in local mode, through the tunnel in SSH mode. The daemon is headless and host-agnostic on `127.0.0.1:7434`. UI updates ship with the CLI (`npm update -g @puddle-code/cli` refreshes the cockpit for every host); the daemon only has to update when the versioned protocol breaks, and the CLI does that automatically. A mandatory bearer token plus Host/Origin validation guard the localhost API against malicious web pages.
116
+ The CLI serves the UI at a stable local origin and reverse-proxies the API to the daemon, directly in local mode, through the tunnel in SSH mode. The daemon is headless and host-agnostic on `127.0.0.1:7434`. UI updates ship with the CLI (`npm update -g @puddle-code/cli` refreshes the cockpit for every host); the daemon only has to update when the versioned protocol breaks, and the CLI does that automatically. Short-lived host connection leases, separate browser authorisation and exact cockpit Host/Origin checks guard local access. Launch invitations are single-use; browser login survives cockpit restarts, while forwarded applications use a separate loopback origin. After upgrading from the old token flow, run `puddle launch` once to authorise existing tabs.
110
117
 
111
118
  Everything lives under `~/.puddle` on the host, installed without sudo — and `puddle remove daemon` takes it apart again.
112
119