@alivault/pico 0.12.0 → 0.14.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 (328) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/addon-fit-CMMXLNsg.js +1 -0
  3. package/.output/public/assets/{index-DQLwecED.js → index-DBVxXDtw.js} +11 -10
  4. package/.output/public/assets/routes-yUxD2q-l.js +2194 -0
  5. package/.output/public/assets/styles-CUVz7jV9.css +2 -0
  6. package/.output/public/assets/xterm-CCMwI7sy.js +36 -0
  7. package/.output/public/screenshots/pico-ios-dark.png +0 -0
  8. package/.output/public/screenshots/pico-ios-light.png +0 -0
  9. package/.output/public/screenshots/pico-macos-dark.jpg +0 -0
  10. package/.output/public/screenshots/pico-macos-light.jpg +0 -0
  11. package/.output/server/_chunks/ssr-renderer.mjs +3 -3
  12. package/.output/server/_libs/crossws.mjs +2929 -0
  13. package/.output/server/_libs/h3+rou3+srvx.mjs +7 -1
  14. package/.output/server/_libs/lucide-react.mjs +20 -1
  15. package/.output/server/_libs/unctx.mjs +1 -1
  16. package/.output/server/_libs/xterm__addon-fit.mjs +44 -0
  17. package/.output/server/_libs/xterm__xterm.mjs +10234 -0
  18. package/.output/server/_routes/api/terminal/[id]/ws.mjs +8874 -0
  19. package/.output/server/_ssr/{router-D36lUq7O.mjs → router-CN4JMm2A.mjs} +1605 -314
  20. package/.output/server/_ssr/{routes-C8qT6Oju.mjs → routes-BsQ26pbY.mjs} +2377 -730
  21. package/.output/server/_ssr/{routes-9nZumcXQ.mjs → routes-DbjuMLFI.mjs} +176 -26
  22. package/.output/server/_ssr/ssr.mjs +3 -3
  23. package/.output/server/_ssr/start-jIczsXlR.mjs +4 -0
  24. package/.output/server/{_tanstack-start-manifest_v-Cd2ypHmK.mjs → _tanstack-start-manifest_v-Bs4g_j1_.mjs} +8 -4
  25. package/.output/server/index.mjs +594 -501
  26. package/.output/server/node_modules/node-pty/LICENSE +69 -0
  27. package/.output/server/node_modules/node-pty/README.md +165 -0
  28. package/.output/server/node_modules/node-pty/binding.gyp +111 -0
  29. package/.output/server/node_modules/node-pty/build/Makefile +369 -0
  30. package/.output/server/node_modules/node-pty/build/Release/pty.node +0 -0
  31. package/.output/server/node_modules/node-pty/build/binding.Makefile +6 -0
  32. package/.output/server/node_modules/node-pty/build/pty.target.mk +168 -0
  33. package/.output/server/node_modules/node-pty/deps/.editorconfig +2 -0
  34. package/.output/server/node_modules/node-pty/deps/winpty/.drone.yml +17 -0
  35. package/.output/server/node_modules/node-pty/deps/winpty/.gitattributes +19 -0
  36. package/.output/server/node_modules/node-pty/deps/winpty/LICENSE +21 -0
  37. package/.output/server/node_modules/node-pty/deps/winpty/Makefile +166 -0
  38. package/.output/server/node_modules/node-pty/deps/winpty/README.md +151 -0
  39. package/.output/server/node_modules/node-pty/deps/winpty/RELEASES.md +280 -0
  40. package/.output/server/node_modules/node-pty/deps/winpty/VERSION.txt +1 -0
  41. package/.output/server/node_modules/node-pty/deps/winpty/configure +167 -0
  42. package/.output/server/node_modules/node-pty/deps/winpty/misc/BufferResizeTests.cc +90 -0
  43. package/.output/server/node_modules/node-pty/deps/winpty/misc/ChangeScreenBuffer.cc +53 -0
  44. package/.output/server/node_modules/node-pty/deps/winpty/misc/ClearConsole.cc +72 -0
  45. package/.output/server/node_modules/node-pty/deps/winpty/misc/ConinMode.cc +117 -0
  46. package/.output/server/node_modules/node-pty/deps/winpty/misc/ConinMode.ps1 +116 -0
  47. package/.output/server/node_modules/node-pty/deps/winpty/misc/ConoutMode.cc +113 -0
  48. package/.output/server/node_modules/node-pty/deps/winpty/misc/DebugClient.py +42 -0
  49. package/.output/server/node_modules/node-pty/deps/winpty/misc/DebugServer.py +63 -0
  50. package/.output/server/node_modules/node-pty/deps/winpty/misc/DumpLines.py +5 -0
  51. package/.output/server/node_modules/node-pty/deps/winpty/misc/EnableExtendedFlags.txt +46 -0
  52. package/.output/server/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/CP437-Consolas.txt +528 -0
  53. package/.output/server/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/CP437-Lucida.txt +633 -0
  54. package/.output/server/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/CP932.txt +630 -0
  55. package/.output/server/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/CP936.txt +630 -0
  56. package/.output/server/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/CP949.txt +630 -0
  57. package/.output/server/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/CP950.txt +630 -0
  58. package/.output/server/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/MinimumWindowWidths.txt +16 -0
  59. package/.output/server/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/Results.txt +4 -0
  60. package/.output/server/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/Windows10SetFontBugginess.txt +144 -0
  61. package/.output/server/node_modules/node-pty/deps/winpty/misc/FontSurvey.cc +100 -0
  62. package/.output/server/node_modules/node-pty/deps/winpty/misc/FormatChar.h +21 -0
  63. package/.output/server/node_modules/node-pty/deps/winpty/misc/FreezePerfTest.cc +62 -0
  64. package/.output/server/node_modules/node-pty/deps/winpty/misc/GetCh.cc +20 -0
  65. package/.output/server/node_modules/node-pty/deps/winpty/misc/GetConsolePos.cc +41 -0
  66. package/.output/server/node_modules/node-pty/deps/winpty/misc/GetFont.cc +261 -0
  67. package/.output/server/node_modules/node-pty/deps/winpty/misc/IdentifyConsoleWindow.ps1 +51 -0
  68. package/.output/server/node_modules/node-pty/deps/winpty/misc/IsNewConsole.cc +87 -0
  69. package/.output/server/node_modules/node-pty/deps/winpty/misc/MouseInputNotes.txt +90 -0
  70. package/.output/server/node_modules/node-pty/deps/winpty/misc/MoveConsoleWindow.cc +34 -0
  71. package/.output/server/node_modules/node-pty/deps/winpty/misc/Notes.txt +219 -0
  72. package/.output/server/node_modules/node-pty/deps/winpty/misc/OSVersion.cc +27 -0
  73. package/.output/server/node_modules/node-pty/deps/winpty/misc/ScreenBufferFreezeInactive.cc +101 -0
  74. package/.output/server/node_modules/node-pty/deps/winpty/misc/ScreenBufferTest.cc +671 -0
  75. package/.output/server/node_modules/node-pty/deps/winpty/misc/ScreenBufferTest2.cc +151 -0
  76. package/.output/server/node_modules/node-pty/deps/winpty/misc/SelectAllTest.cc +45 -0
  77. package/.output/server/node_modules/node-pty/deps/winpty/misc/SetBufferSize.cc +32 -0
  78. package/.output/server/node_modules/node-pty/deps/winpty/misc/SetCursorPos.cc +10 -0
  79. package/.output/server/node_modules/node-pty/deps/winpty/misc/SetFont.cc +145 -0
  80. package/.output/server/node_modules/node-pty/deps/winpty/misc/SetWindowRect.cc +36 -0
  81. package/.output/server/node_modules/node-pty/deps/winpty/misc/ShowArgv.cc +12 -0
  82. package/.output/server/node_modules/node-pty/deps/winpty/misc/ShowConsoleInput.cc +40 -0
  83. package/.output/server/node_modules/node-pty/deps/winpty/misc/Spew.py +5 -0
  84. package/.output/server/node_modules/node-pty/deps/winpty/misc/TestUtil.cc +172 -0
  85. package/.output/server/node_modules/node-pty/deps/winpty/misc/UnicodeDoubleWidthTest.cc +102 -0
  86. package/.output/server/node_modules/node-pty/deps/winpty/misc/UnicodeWideTest1.cc +246 -0
  87. package/.output/server/node_modules/node-pty/deps/winpty/misc/UnicodeWideTest2.cc +130 -0
  88. package/.output/server/node_modules/node-pty/deps/winpty/misc/UnixEcho.cc +89 -0
  89. package/.output/server/node_modules/node-pty/deps/winpty/misc/Utf16Echo.cc +46 -0
  90. package/.output/server/node_modules/node-pty/deps/winpty/misc/VeryLargeRead.cc +122 -0
  91. package/.output/server/node_modules/node-pty/deps/winpty/misc/VkEscapeTest.cc +56 -0
  92. package/.output/server/node_modules/node-pty/deps/winpty/misc/Win10ResizeWhileFrozen.cc +52 -0
  93. package/.output/server/node_modules/node-pty/deps/winpty/misc/Win10WrapTest1.cc +57 -0
  94. package/.output/server/node_modules/node-pty/deps/winpty/misc/Win10WrapTest2.cc +30 -0
  95. package/.output/server/node_modules/node-pty/deps/winpty/misc/Win32Echo1.cc +26 -0
  96. package/.output/server/node_modules/node-pty/deps/winpty/misc/Win32Echo2.cc +19 -0
  97. package/.output/server/node_modules/node-pty/deps/winpty/misc/Win32Test1.cc +46 -0
  98. package/.output/server/node_modules/node-pty/deps/winpty/misc/Win32Test2.cc +70 -0
  99. package/.output/server/node_modules/node-pty/deps/winpty/misc/Win32Test3.cc +78 -0
  100. package/.output/server/node_modules/node-pty/deps/winpty/misc/Win32Write1.cc +44 -0
  101. package/.output/server/node_modules/node-pty/deps/winpty/misc/WindowsBugCrashReader.cc +27 -0
  102. package/.output/server/node_modules/node-pty/deps/winpty/misc/WriteConsole.cc +106 -0
  103. package/.output/server/node_modules/node-pty/deps/winpty/misc/build32.sh +9 -0
  104. package/.output/server/node_modules/node-pty/deps/winpty/misc/build64.sh +9 -0
  105. package/.output/server/node_modules/node-pty/deps/winpty/misc/color-test.sh +212 -0
  106. package/.output/server/node_modules/node-pty/deps/winpty/misc/font-notes.txt +300 -0
  107. package/.output/server/node_modules/node-pty/deps/winpty/misc/winbug-15048.cc +201 -0
  108. package/.output/server/node_modules/node-pty/deps/winpty/ship/build-pty4j-libpty.bat +36 -0
  109. package/.output/server/node_modules/node-pty/deps/winpty/ship/common_ship.py +53 -0
  110. package/.output/server/node_modules/node-pty/deps/winpty/ship/make_msvc_package.py +165 -0
  111. package/.output/server/node_modules/node-pty/deps/winpty/ship/ship.py +108 -0
  112. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/Agent.cc +613 -0
  113. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/Agent.h +103 -0
  114. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/AgentCreateDesktop.cc +84 -0
  115. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/AgentCreateDesktop.h +28 -0
  116. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/ConsoleFont.cc +632 -0
  117. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/ConsoleFont.h +28 -0
  118. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/ConsoleInput.cc +852 -0
  119. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/ConsoleInput.h +109 -0
  120. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/ConsoleInputReencoding.cc +121 -0
  121. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/ConsoleInputReencoding.h +36 -0
  122. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/ConsoleLine.cc +152 -0
  123. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/ConsoleLine.h +41 -0
  124. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/Coord.h +87 -0
  125. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/DebugShowInput.cc +239 -0
  126. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/DebugShowInput.h +32 -0
  127. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/DefaultInputMap.cc +422 -0
  128. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/DefaultInputMap.h +28 -0
  129. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/DsrSender.h +30 -0
  130. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/EventLoop.cc +99 -0
  131. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/EventLoop.h +47 -0
  132. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/InputMap.cc +246 -0
  133. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/InputMap.h +114 -0
  134. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/LargeConsoleRead.cc +71 -0
  135. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/LargeConsoleRead.h +68 -0
  136. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/NamedPipe.cc +378 -0
  137. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/NamedPipe.h +125 -0
  138. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/Scraper.cc +699 -0
  139. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/Scraper.h +103 -0
  140. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/SimplePool.h +75 -0
  141. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/SmallRect.h +143 -0
  142. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/Terminal.cc +535 -0
  143. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/Terminal.h +69 -0
  144. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/UnicodeEncoding.h +157 -0
  145. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/UnicodeEncodingTest.cc +189 -0
  146. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/Win32Console.cc +107 -0
  147. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/Win32Console.h +67 -0
  148. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/Win32ConsoleBuffer.cc +193 -0
  149. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/Win32ConsoleBuffer.h +99 -0
  150. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/main.cc +114 -0
  151. package/.output/server/node_modules/node-pty/deps/winpty/src/agent/subdir.mk +61 -0
  152. package/.output/server/node_modules/node-pty/deps/winpty/src/configurations.gypi +60 -0
  153. package/.output/server/node_modules/node-pty/deps/winpty/src/debugserver/DebugServer.cc +117 -0
  154. package/.output/server/node_modules/node-pty/deps/winpty/src/debugserver/subdir.mk +41 -0
  155. package/.output/server/node_modules/node-pty/deps/winpty/src/include/winpty.h +242 -0
  156. package/.output/server/node_modules/node-pty/deps/winpty/src/include/winpty_constants.h +131 -0
  157. package/.output/server/node_modules/node-pty/deps/winpty/src/libwinpty/AgentLocation.cc +75 -0
  158. package/.output/server/node_modules/node-pty/deps/winpty/src/libwinpty/AgentLocation.h +28 -0
  159. package/.output/server/node_modules/node-pty/deps/winpty/src/libwinpty/LibWinptyException.h +54 -0
  160. package/.output/server/node_modules/node-pty/deps/winpty/src/libwinpty/WinptyInternal.h +72 -0
  161. package/.output/server/node_modules/node-pty/deps/winpty/src/libwinpty/subdir.mk +46 -0
  162. package/.output/server/node_modules/node-pty/deps/winpty/src/libwinpty/winpty.cc +970 -0
  163. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/AgentMsg.h +38 -0
  164. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/BackgroundDesktop.cc +122 -0
  165. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/BackgroundDesktop.h +73 -0
  166. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/Buffer.cc +103 -0
  167. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/Buffer.h +102 -0
  168. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/DebugClient.cc +187 -0
  169. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/DebugClient.h +38 -0
  170. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/GenRandom.cc +138 -0
  171. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/GenRandom.h +55 -0
  172. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/GetCommitHash.bat +13 -0
  173. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/Mutex.h +54 -0
  174. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/OsModule.h +63 -0
  175. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/OwnedHandle.cc +36 -0
  176. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/OwnedHandle.h +45 -0
  177. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/PrecompiledHeader.h +43 -0
  178. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/StringBuilder.h +227 -0
  179. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/StringBuilderTest.cc +114 -0
  180. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/StringUtil.cc +55 -0
  181. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/StringUtil.h +80 -0
  182. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/TimeMeasurement.h +63 -0
  183. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/UnixCtrlChars.h +45 -0
  184. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/UpdateGenVersion.bat +20 -0
  185. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/WindowsSecurity.cc +460 -0
  186. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/WindowsSecurity.h +104 -0
  187. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/WindowsVersion.cc +252 -0
  188. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/WindowsVersion.h +29 -0
  189. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/WinptyAssert.cc +55 -0
  190. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/WinptyAssert.h +64 -0
  191. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/WinptyException.cc +57 -0
  192. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/WinptyException.h +43 -0
  193. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/WinptyVersion.cc +42 -0
  194. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/WinptyVersion.h +27 -0
  195. package/.output/server/node_modules/node-pty/deps/winpty/src/shared/winpty_snprintf.h +99 -0
  196. package/.output/server/node_modules/node-pty/deps/winpty/src/subdir.mk +5 -0
  197. package/.output/server/node_modules/node-pty/deps/winpty/src/tests/subdir.mk +28 -0
  198. package/.output/server/node_modules/node-pty/deps/winpty/src/tests/trivial_test.cc +158 -0
  199. package/.output/server/node_modules/node-pty/deps/winpty/src/unix-adapter/InputHandler.cc +114 -0
  200. package/.output/server/node_modules/node-pty/deps/winpty/src/unix-adapter/InputHandler.h +56 -0
  201. package/.output/server/node_modules/node-pty/deps/winpty/src/unix-adapter/OutputHandler.cc +80 -0
  202. package/.output/server/node_modules/node-pty/deps/winpty/src/unix-adapter/OutputHandler.h +53 -0
  203. package/.output/server/node_modules/node-pty/deps/winpty/src/unix-adapter/Util.cc +86 -0
  204. package/.output/server/node_modules/node-pty/deps/winpty/src/unix-adapter/Util.h +31 -0
  205. package/.output/server/node_modules/node-pty/deps/winpty/src/unix-adapter/WakeupFd.cc +70 -0
  206. package/.output/server/node_modules/node-pty/deps/winpty/src/unix-adapter/WakeupFd.h +42 -0
  207. package/.output/server/node_modules/node-pty/deps/winpty/src/unix-adapter/main.cc +729 -0
  208. package/.output/server/node_modules/node-pty/deps/winpty/src/unix-adapter/subdir.mk +41 -0
  209. package/.output/server/node_modules/node-pty/deps/winpty/src/winpty.gyp +234 -0
  210. package/.output/server/node_modules/node-pty/deps/winpty/vcbuild.bat +83 -0
  211. package/.output/server/node_modules/node-pty/lib/conpty_console_list_agent.js +16 -0
  212. package/.output/server/node_modules/node-pty/lib/conpty_console_list_agent.js.map +1 -0
  213. package/.output/server/node_modules/node-pty/lib/eventEmitter2.js +47 -0
  214. package/.output/server/node_modules/node-pty/lib/eventEmitter2.js.map +1 -0
  215. package/.output/server/node_modules/node-pty/lib/eventEmitter2.test.js +30 -0
  216. package/.output/server/node_modules/node-pty/lib/eventEmitter2.test.js.map +1 -0
  217. package/.output/server/node_modules/node-pty/lib/index.js +52 -0
  218. package/.output/server/node_modules/node-pty/lib/index.js.map +1 -0
  219. package/.output/server/node_modules/node-pty/lib/interfaces.js +7 -0
  220. package/.output/server/node_modules/node-pty/lib/interfaces.js.map +1 -0
  221. package/.output/server/node_modules/node-pty/lib/shared/conout.js +11 -0
  222. package/.output/server/node_modules/node-pty/lib/shared/conout.js.map +1 -0
  223. package/.output/server/node_modules/node-pty/lib/terminal.js +190 -0
  224. package/.output/server/node_modules/node-pty/lib/terminal.js.map +1 -0
  225. package/.output/server/node_modules/node-pty/lib/terminal.test.js +139 -0
  226. package/.output/server/node_modules/node-pty/lib/terminal.test.js.map +1 -0
  227. package/.output/server/node_modules/node-pty/lib/testUtils.test.js +28 -0
  228. package/.output/server/node_modules/node-pty/lib/testUtils.test.js.map +1 -0
  229. package/.output/server/node_modules/node-pty/lib/types.js +7 -0
  230. package/.output/server/node_modules/node-pty/lib/types.js.map +1 -0
  231. package/.output/server/node_modules/node-pty/lib/unixTerminal.js +346 -0
  232. package/.output/server/node_modules/node-pty/lib/unixTerminal.js.map +1 -0
  233. package/.output/server/node_modules/node-pty/lib/unixTerminal.test.js +351 -0
  234. package/.output/server/node_modules/node-pty/lib/unixTerminal.test.js.map +1 -0
  235. package/.output/server/node_modules/node-pty/lib/utils.js +39 -0
  236. package/.output/server/node_modules/node-pty/lib/utils.js.map +1 -0
  237. package/.output/server/node_modules/node-pty/lib/windowsConoutConnection.js +125 -0
  238. package/.output/server/node_modules/node-pty/lib/windowsConoutConnection.js.map +1 -0
  239. package/.output/server/node_modules/node-pty/lib/windowsPtyAgent.js +320 -0
  240. package/.output/server/node_modules/node-pty/lib/windowsPtyAgent.js.map +1 -0
  241. package/.output/server/node_modules/node-pty/lib/windowsPtyAgent.test.js +90 -0
  242. package/.output/server/node_modules/node-pty/lib/windowsPtyAgent.test.js.map +1 -0
  243. package/.output/server/node_modules/node-pty/lib/windowsTerminal.js +199 -0
  244. package/.output/server/node_modules/node-pty/lib/windowsTerminal.js.map +1 -0
  245. package/.output/server/node_modules/node-pty/lib/windowsTerminal.test.js +219 -0
  246. package/.output/server/node_modules/node-pty/lib/windowsTerminal.test.js.map +1 -0
  247. package/.output/server/node_modules/node-pty/lib/worker/conoutSocketWorker.js +22 -0
  248. package/.output/server/node_modules/node-pty/lib/worker/conoutSocketWorker.js.map +1 -0
  249. package/.output/server/node_modules/node-pty/package.json +64 -0
  250. package/.output/server/node_modules/node-pty/prebuilds/darwin-arm64/pty.node +0 -0
  251. package/.output/server/node_modules/node-pty/prebuilds/darwin-arm64/spawn-helper +0 -0
  252. package/.output/server/node_modules/node-pty/prebuilds/darwin-x64/pty.node +0 -0
  253. package/.output/server/node_modules/node-pty/prebuilds/darwin-x64/spawn-helper +0 -0
  254. package/.output/server/node_modules/node-pty/prebuilds/win32-arm64/conpty/OpenConsole.exe +0 -0
  255. package/.output/server/node_modules/node-pty/prebuilds/win32-arm64/conpty/conpty.dll +0 -0
  256. package/.output/server/node_modules/node-pty/prebuilds/win32-arm64/conpty.node +0 -0
  257. package/.output/server/node_modules/node-pty/prebuilds/win32-arm64/conpty.pdb +0 -0
  258. package/.output/server/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.node +0 -0
  259. package/.output/server/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.pdb +0 -0
  260. package/.output/server/node_modules/node-pty/prebuilds/win32-arm64/pty.node +0 -0
  261. package/.output/server/node_modules/node-pty/prebuilds/win32-arm64/pty.pdb +0 -0
  262. package/.output/server/node_modules/node-pty/prebuilds/win32-arm64/winpty-agent.exe +0 -0
  263. package/.output/server/node_modules/node-pty/prebuilds/win32-arm64/winpty-agent.pdb +0 -0
  264. package/.output/server/node_modules/node-pty/prebuilds/win32-arm64/winpty.dll +0 -0
  265. package/.output/server/node_modules/node-pty/prebuilds/win32-arm64/winpty.pdb +0 -0
  266. package/.output/server/node_modules/node-pty/prebuilds/win32-x64/conpty/OpenConsole.exe +0 -0
  267. package/.output/server/node_modules/node-pty/prebuilds/win32-x64/conpty/conpty.dll +0 -0
  268. package/.output/server/node_modules/node-pty/prebuilds/win32-x64/conpty.node +0 -0
  269. package/.output/server/node_modules/node-pty/prebuilds/win32-x64/conpty.pdb +0 -0
  270. package/.output/server/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.node +0 -0
  271. package/.output/server/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.pdb +0 -0
  272. package/.output/server/node_modules/node-pty/prebuilds/win32-x64/pty.node +0 -0
  273. package/.output/server/node_modules/node-pty/prebuilds/win32-x64/pty.pdb +0 -0
  274. package/.output/server/node_modules/node-pty/prebuilds/win32-x64/winpty-agent.exe +0 -0
  275. package/.output/server/node_modules/node-pty/prebuilds/win32-x64/winpty-agent.pdb +0 -0
  276. package/.output/server/node_modules/node-pty/prebuilds/win32-x64/winpty.dll +0 -0
  277. package/.output/server/node_modules/node-pty/prebuilds/win32-x64/winpty.pdb +0 -0
  278. package/.output/server/node_modules/node-pty/scripts/gen-compile-commands.js +8 -0
  279. package/.output/server/node_modules/node-pty/scripts/increment-version.js +54 -0
  280. package/.output/server/node_modules/node-pty/scripts/post-install.js +80 -0
  281. package/.output/server/node_modules/node-pty/scripts/prebuild.js +34 -0
  282. package/.output/server/node_modules/node-pty/src/conpty_console_list_agent.ts +15 -0
  283. package/.output/server/node_modules/node-pty/src/eventEmitter2.test.ts +30 -0
  284. package/.output/server/node_modules/node-pty/src/eventEmitter2.ts +48 -0
  285. package/.output/server/node_modules/node-pty/src/index.ts +52 -0
  286. package/.output/server/node_modules/node-pty/src/interfaces.ts +130 -0
  287. package/.output/server/node_modules/node-pty/src/native.d.ts +54 -0
  288. package/.output/server/node_modules/node-pty/src/shared/conout.ts +15 -0
  289. package/.output/server/node_modules/node-pty/src/terminal.test.ts +119 -0
  290. package/.output/server/node_modules/node-pty/src/terminal.ts +211 -0
  291. package/.output/server/node_modules/node-pty/src/testUtils.test.ts +23 -0
  292. package/.output/server/node_modules/node-pty/src/tsconfig.json +22 -0
  293. package/.output/server/node_modules/node-pty/src/types.ts +15 -0
  294. package/.output/server/node_modules/node-pty/src/unix/pty.cc +799 -0
  295. package/.output/server/node_modules/node-pty/src/unix/spawn-helper.cc +23 -0
  296. package/.output/server/node_modules/node-pty/src/unixTerminal.test.ts +367 -0
  297. package/.output/server/node_modules/node-pty/src/unixTerminal.ts +388 -0
  298. package/.output/server/node_modules/node-pty/src/utils.ts +29 -0
  299. package/.output/server/node_modules/node-pty/src/win/conpty.cc +583 -0
  300. package/.output/server/node_modules/node-pty/src/win/conpty.h +41 -0
  301. package/.output/server/node_modules/node-pty/src/win/conpty_console_list.cc +44 -0
  302. package/.output/server/node_modules/node-pty/src/win/path_util.cc +95 -0
  303. package/.output/server/node_modules/node-pty/src/win/path_util.h +26 -0
  304. package/.output/server/node_modules/node-pty/src/win/winpty.cc +333 -0
  305. package/.output/server/node_modules/node-pty/src/windowsConoutConnection.ts +82 -0
  306. package/.output/server/node_modules/node-pty/src/windowsPtyAgent.test.ts +94 -0
  307. package/.output/server/node_modules/node-pty/src/windowsPtyAgent.ts +321 -0
  308. package/.output/server/node_modules/node-pty/src/windowsTerminal.test.ts +229 -0
  309. package/.output/server/node_modules/node-pty/src/windowsTerminal.ts +203 -0
  310. package/.output/server/node_modules/node-pty/src/worker/conoutSocketWorker.ts +22 -0
  311. package/.output/server/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-arm64/OpenConsole.exe +0 -0
  312. package/.output/server/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-arm64/conpty.dll +0 -0
  313. package/.output/server/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-x64/OpenConsole.exe +0 -0
  314. package/.output/server/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-x64/conpty.dll +0 -0
  315. package/.output/server/node_modules/node-pty/typings/node-pty.d.ts +211 -0
  316. package/.output/server/package.json +1 -0
  317. package/README.md +68 -6
  318. package/bin/pico.mjs +103 -1
  319. package/package.json +14 -7
  320. package/public/screenshots/pico-ios-dark.png +0 -0
  321. package/public/screenshots/pico-ios-light.png +0 -0
  322. package/public/screenshots/pico-macos-dark.jpg +0 -0
  323. package/public/screenshots/pico-macos-light.jpg +0 -0
  324. package/.output/public/assets/routes-DynLhCvj.js +0 -2195
  325. package/.output/public/assets/styles-DJ9ubgcc.css +0 -2
  326. package/.output/server/_ssr/start-Captdpmb.mjs +0 -4
  327. package/scripts/patch-react-jsx-dev-runtime.mjs +0 -93
  328. /package/.output/public/assets/{wasm-CEUrWlVz.js → wasm-D_MQmneJ.js} +0 -0
@@ -0,0 +1,203 @@
1
+ /**
2
+ * Copyright (c) 2012-2015, Christopher Jeffrey, Peter Sunde (MIT License)
3
+ * Copyright (c) 2016, Daniel Imms (MIT License).
4
+ * Copyright (c) 2018, Microsoft Corporation (MIT License).
5
+ */
6
+
7
+ import { Socket } from 'net';
8
+ import { Terminal, DEFAULT_COLS, DEFAULT_ROWS } from './terminal';
9
+ import { WindowsPtyAgent } from './windowsPtyAgent';
10
+ import { IPtyOpenOptions, IWindowsPtyForkOptions } from './interfaces';
11
+ import { ArgvOrCommandLine } from './types';
12
+ import { assign } from './utils';
13
+
14
+ const DEFAULT_FILE = 'cmd.exe';
15
+ const DEFAULT_NAME = 'Windows Shell';
16
+
17
+ export class WindowsTerminal extends Terminal {
18
+ private _isReady: boolean;
19
+ private _deferreds: { run: () => void }[];
20
+ private _agent: WindowsPtyAgent;
21
+
22
+ constructor(file?: string, args?: ArgvOrCommandLine, opt?: IWindowsPtyForkOptions) {
23
+ super(opt);
24
+
25
+ this._checkType('args', args, 'string', true);
26
+
27
+ // Initialize arguments
28
+ args = args || [];
29
+ file = file || DEFAULT_FILE;
30
+ opt = opt || {};
31
+ opt.env = opt.env || process.env;
32
+
33
+ if (opt.encoding) {
34
+ console.warn('Setting encoding on Windows is not supported');
35
+ }
36
+
37
+ const env = assign({}, opt.env);
38
+ this._cols = opt.cols || DEFAULT_COLS;
39
+ this._rows = opt.rows || DEFAULT_ROWS;
40
+ const cwd = opt.cwd || process.cwd();
41
+ const name = opt.name || env.TERM || DEFAULT_NAME;
42
+ const parsedEnv = this._parseEnv(env);
43
+
44
+ // If the terminal is ready
45
+ this._isReady = false;
46
+
47
+ // Functions that need to run after `ready` event is emitted.
48
+ this._deferreds = [];
49
+
50
+ // Create new termal.
51
+ this._agent = new WindowsPtyAgent(file, args, parsedEnv, cwd, this._cols, this._rows, false, opt.useConpty, opt.useConptyDll, opt.conptyInheritCursor);
52
+ this._socket = this._agent.outSocket;
53
+
54
+ // Not available until `ready` event emitted.
55
+ this._pid = this._agent.innerPid;
56
+ this._fd = this._agent.fd;
57
+ this._pty = this._agent.pty;
58
+
59
+ // The forked windows terminal is not available until `ready` event is
60
+ // emitted.
61
+ this._socket.on('ready_datapipe', () => {
62
+
63
+ // Run deferreds and set ready state once the first data event is received.
64
+ this._socket.once('data', () => {
65
+ // Wait until the first data event is fired then we can run deferreds.
66
+ if (!this._isReady) {
67
+ // Terminal is now ready and we can avoid having to defer method
68
+ // calls.
69
+ this._isReady = true;
70
+
71
+ // Execute all deferred methods
72
+ this._deferreds.forEach(fn => {
73
+ // NB! In order to ensure that `this` has all its references
74
+ // updated any variable that need to be available in `this` before
75
+ // the deferred is run has to be declared above this forEach
76
+ // statement.
77
+ fn.run();
78
+ });
79
+
80
+ // Reset
81
+ this._deferreds = [];
82
+ }
83
+ });
84
+
85
+ // Shutdown if `error` event is emitted.
86
+ this._socket.on('error', err => {
87
+ // Close terminal session.
88
+ this._close();
89
+
90
+ // EIO, happens when someone closes our child process: the only process
91
+ // in the terminal.
92
+ // node < 0.6.14: errno 5
93
+ // node >= 0.6.14: read EIO
94
+ if ((<any>err).code) {
95
+ if (~(<any>err).code.indexOf('errno 5') || ~(<any>err).code.indexOf('EIO')) return;
96
+ }
97
+
98
+ // Throw anything else.
99
+ if (this.listeners('error').length < 2) {
100
+ throw err;
101
+ }
102
+ });
103
+
104
+ // Cleanup after the socket is closed.
105
+ this._socket.on('close', () => {
106
+ this.emit('exit', this._agent.exitCode);
107
+ this._close();
108
+ });
109
+
110
+ });
111
+
112
+ this._file = file;
113
+ this._name = name;
114
+
115
+ this._readable = true;
116
+ this._writable = true;
117
+
118
+ this._forwardEvents();
119
+ }
120
+
121
+ protected _write(data: string | Buffer): void {
122
+ this._defer(this._doWrite, data);
123
+ }
124
+
125
+ private _doWrite(data: string | Buffer): void {
126
+ this._agent.inSocket.write(data);
127
+ }
128
+
129
+ /**
130
+ * openpty
131
+ */
132
+
133
+ public static open(options?: IPtyOpenOptions): void {
134
+ throw new Error('open() not supported on windows, use Fork() instead.');
135
+ }
136
+
137
+ /**
138
+ * TTY
139
+ */
140
+
141
+ public resize(cols: number, rows: number): void {
142
+ if (cols <= 0 || rows <= 0 || isNaN(cols) || isNaN(rows) || cols === Infinity || rows === Infinity) {
143
+ throw new Error('resizing must be done using positive cols and rows');
144
+ }
145
+ this._deferNoArgs(() => {
146
+ this._agent.resize(cols, rows);
147
+ this._cols = cols;
148
+ this._rows = rows;
149
+ });
150
+ }
151
+
152
+ public clear(): void {
153
+ this._deferNoArgs(() => {
154
+ this._agent.clear();
155
+ });
156
+ }
157
+
158
+ public destroy(): void {
159
+ this._deferNoArgs(() => {
160
+ this.kill();
161
+ });
162
+ }
163
+
164
+ public kill(signal?: string): void {
165
+ this._deferNoArgs(() => {
166
+ if (signal) {
167
+ throw new Error('Signals not supported on windows.');
168
+ }
169
+ this._close();
170
+ this._agent.kill();
171
+ });
172
+ }
173
+
174
+ private _deferNoArgs<A>(deferredFn: () => void): void {
175
+ // If the terminal is ready, execute.
176
+ if (this._isReady) {
177
+ deferredFn.call(this);
178
+ return;
179
+ }
180
+
181
+ // Queue until terminal is ready.
182
+ this._deferreds.push({
183
+ run: () => deferredFn.call(this)
184
+ });
185
+ }
186
+
187
+ private _defer<A>(deferredFn: (arg: A) => void, arg: A): void {
188
+ // If the terminal is ready, execute.
189
+ if (this._isReady) {
190
+ deferredFn.call(this, arg);
191
+ return;
192
+ }
193
+
194
+ // Queue until terminal is ready.
195
+ this._deferreds.push({
196
+ run: () => deferredFn.call(this, arg)
197
+ });
198
+ }
199
+
200
+ public get process(): string { return this._name; }
201
+ public get master(): Socket { throw new Error('master is not supported on Windows'); }
202
+ public get slave(): Socket { throw new Error('slave is not supported on Windows'); }
203
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Copyright (c) 2020, Microsoft Corporation (MIT License).
3
+ */
4
+
5
+ import { parentPort, workerData } from 'worker_threads';
6
+ import { Socket, createServer } from 'net';
7
+ import { ConoutWorkerMessage, IWorkerData, getWorkerPipeName } from '../shared/conout';
8
+
9
+ const { conoutPipeName } = (workerData as IWorkerData);
10
+
11
+ const conoutSocket = new Socket();
12
+ conoutSocket.setEncoding('utf8');
13
+ conoutSocket.connect(conoutPipeName, () => {
14
+ const server = createServer(workerSocket => {
15
+ conoutSocket.pipe(workerSocket);
16
+ });
17
+ server.listen(getWorkerPipeName(conoutPipeName));
18
+ if (!parentPort) {
19
+ throw new Error('worker_threads parentPort is null');
20
+ }
21
+ parentPort.postMessage(ConoutWorkerMessage.READY);
22
+ });
@@ -0,0 +1,211 @@
1
+ /**
2
+ * Copyright (c) 2017, Daniel Imms (MIT License).
3
+ * Copyright (c) 2018, Microsoft Corporation (MIT License).
4
+ */
5
+
6
+ declare module 'node-pty' {
7
+ /**
8
+ * Forks a process as a pseudoterminal.
9
+ * @param file The file to launch.
10
+ * @param args The file's arguments as argv (string[]) or in a pre-escaped CommandLine format
11
+ * (string). Note that the CommandLine option is only available on Windows and is expected to be
12
+ * escaped properly.
13
+ * @param options The options of the terminal.
14
+ * @see CommandLineToArgvW https://msdn.microsoft.com/en-us/library/windows/desktop/bb776391(v=vs.85).aspx
15
+ * @see Parsing C++ Comamnd-Line Arguments https://msdn.microsoft.com/en-us/library/17w5ykft.aspx
16
+ * @see GetCommandLine https://msdn.microsoft.com/en-us/library/windows/desktop/ms683156.aspx
17
+ */
18
+ export function spawn(file: string, args: string[] | string, options: IPtyForkOptions | IWindowsPtyForkOptions): IPty;
19
+
20
+ export interface IBasePtyForkOptions {
21
+
22
+ /**
23
+ * Name of the terminal to be set in environment ($TERM variable).
24
+ */
25
+ name?: string;
26
+
27
+ /**
28
+ * Number of intial cols of the pty.
29
+ */
30
+ cols?: number;
31
+
32
+ /**
33
+ * Number of initial rows of the pty.
34
+ */
35
+ rows?: number;
36
+
37
+ /**
38
+ * Working directory to be set for the child program.
39
+ */
40
+ cwd?: string;
41
+
42
+ /**
43
+ * Environment to be set for the child program.
44
+ */
45
+ env?: { [key: string]: string | undefined };
46
+
47
+ /**
48
+ * String encoding of the underlying pty.
49
+ * If set, incoming data will be decoded to strings and outgoing strings to bytes applying this encoding.
50
+ * If unset, incoming data will be delivered as raw bytes (Buffer type).
51
+ * By default 'utf8' is assumed, to unset it explicitly set it to `null`.
52
+ */
53
+ encoding?: string | null;
54
+
55
+ /**
56
+ * (EXPERIMENTAL)
57
+ * Whether to enable flow control handling (false by default). If enabled a message of `flowControlPause`
58
+ * will pause the socket and thus blocking the child program execution due to buffer back pressure.
59
+ * A message of `flowControlResume` will resume the socket into flow mode.
60
+ * For performance reasons only a single message as a whole will match (no message part matching).
61
+ * If flow control is enabled the `flowControlPause` and `flowControlResume` messages are not forwarded to
62
+ * the underlying pseudoterminal.
63
+ */
64
+ handleFlowControl?: boolean;
65
+
66
+ /**
67
+ * (EXPERIMENTAL)
68
+ * The string that should pause the pty when `handleFlowControl` is true. Default is XOFF ('\x13').
69
+ */
70
+ flowControlPause?: string;
71
+
72
+ /**
73
+ * (EXPERIMENTAL)
74
+ * The string that should resume the pty when `handleFlowControl` is true. Default is XON ('\x11').
75
+ */
76
+ flowControlResume?: string;
77
+ }
78
+
79
+ export interface IPtyForkOptions extends IBasePtyForkOptions {
80
+ /**
81
+ * Security warning: use this option with great caution,
82
+ * as opened file descriptors with higher privileges might leak to the child program.
83
+ */
84
+ uid?: number;
85
+ gid?: number;
86
+ }
87
+
88
+ export interface IWindowsPtyForkOptions extends IBasePtyForkOptions {
89
+ /**
90
+ * Whether to use the ConPTY system on Windows. When this is not set, ConPTY will be used when
91
+ * the Windows build number is >= 18309 (instead of winpty). Note that ConPTY is available from
92
+ * build 17134 but is too unstable to enable by default.
93
+ *
94
+ * This setting does nothing on non-Windows.
95
+ */
96
+ useConpty?: boolean;
97
+
98
+ /**
99
+ * (EXPERIMENTAL)
100
+ *
101
+ * Whether to use the conpty.dll shipped with the node-pty package instead of the one built into
102
+ * Windows. Defaults to false.
103
+ */
104
+ useConptyDll?: boolean;
105
+
106
+ /**
107
+ * Whether to use PSEUDOCONSOLE_INHERIT_CURSOR in conpty.
108
+ * @see https://docs.microsoft.com/en-us/windows/console/createpseudoconsole
109
+ */
110
+ conptyInheritCursor?: boolean;
111
+ }
112
+
113
+ /**
114
+ * An interface representing a pseudoterminal, on Windows this is emulated via the winpty library.
115
+ */
116
+ export interface IPty {
117
+ /**
118
+ * The process ID of the outer process.
119
+ */
120
+ readonly pid: number;
121
+
122
+ /**
123
+ * The column size in characters.
124
+ */
125
+ readonly cols: number;
126
+
127
+ /**
128
+ * The row size in characters.
129
+ */
130
+ readonly rows: number;
131
+
132
+ /**
133
+ * The title of the active process.
134
+ */
135
+ readonly process: string;
136
+
137
+ /**
138
+ * (EXPERIMENTAL)
139
+ * Whether to handle flow control. Useful to disable/re-enable flow control during runtime.
140
+ * Use this for binary data that is likely to contain the `flowControlPause` string by accident.
141
+ */
142
+ handleFlowControl: boolean;
143
+
144
+ /**
145
+ * Adds an event listener for when a data event fires. This happens when data is returned from
146
+ * the pty.
147
+ * @returns an `IDisposable` to stop listening.
148
+ */
149
+ readonly onData: IEvent<string>;
150
+
151
+ /**
152
+ * Adds an event listener for when an exit event fires. This happens when the pty exits.
153
+ * @returns an `IDisposable` to stop listening.
154
+ */
155
+ readonly onExit: IEvent<{ exitCode: number, signal?: number }>;
156
+
157
+ /**
158
+ * Resizes the dimensions of the pty.
159
+ * @param columns The number of columns to use.
160
+ * @param rows The number of rows to use.
161
+ */
162
+ resize(columns: number, rows: number): void;
163
+
164
+ /**
165
+ * Clears the pty's internal representation of its buffer. This is a no-op
166
+ * unless on Windows/ConPTY. This is useful if the buffer is cleared on the
167
+ * frontend in order to synchronize state with the backend to avoid ConPTY
168
+ * possibly reprinting the screen.
169
+ */
170
+ clear(): void;
171
+
172
+ /**
173
+ * Writes data to the pty.
174
+ * @param data The data to write.
175
+ */
176
+ write(data: string | Buffer): void;
177
+
178
+ /**
179
+ * Kills the pty.
180
+ * @param signal The signal to use, defaults to SIGHUP. This parameter is not supported on
181
+ * Windows.
182
+ * @throws Will throw when signal is used on Windows.
183
+ */
184
+ kill(signal?: string): void;
185
+
186
+ /**
187
+ * Pauses the pty for customizable flow control.
188
+ */
189
+ pause(): void;
190
+
191
+ /**
192
+ * Resumes the pty for customizable flow control.
193
+ */
194
+ resume(): void;
195
+ }
196
+
197
+ /**
198
+ * An object that can be disposed via a dispose function.
199
+ */
200
+ export interface IDisposable {
201
+ dispose(): void;
202
+ }
203
+
204
+ /**
205
+ * An event that can be listened to.
206
+ * @returns an `IDisposable` to stop listening.
207
+ */
208
+ export interface IEvent<T> {
209
+ (listener: (e: T) => any): IDisposable;
210
+ }
211
+ }
@@ -4,6 +4,7 @@
4
4
  "type": "module",
5
5
  "private": true,
6
6
  "dependencies": {
7
+ "node-pty": "1.1.0",
7
8
  "tslib": "2.8.1"
8
9
  }
9
10
  }
package/README.md CHANGED
@@ -1,16 +1,30 @@
1
1
  # Pico
2
2
 
3
- Pico is a local, keyboard-friendly browser workspace for Pi coding-agent sessions.
3
+ Pico is a local, keyboard-friendly workspace for Pi coding-agent sessions, available in the browser and as a native SwiftUI app for macOS and iOS.
4
4
 
5
5
  It gives you a persistent session browser, a live conversation shell, git tools, and project-aware prompt helpers in one app.
6
6
 
7
+ ## Browser workspace
8
+
7
9
  ![Pico workspace showing the session browser, conversation shell, composer, and git tools](public/screenshots/pico-workspace.png)
8
10
 
9
11
  ![Pico workspace showing project-aware context and coding-agent workflow](public/screenshots/pico-workspace-alt.png)
10
12
 
11
- | Dark mobile | Light mobile |
12
- | ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
13
- | ![Pico mobile session view in dark mode](public/screenshots/pico-mobile.png) | ![Pico mobile session view in light mode](public/screenshots/pico-mobile-alt.png) |
13
+ | Dark mobile browser | Light mobile browser |
14
+ | ----------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
15
+ | ![Pico mobile browser in dark mode](public/screenshots/pico-mobile.png) | ![Pico mobile browser in light mode](public/screenshots/pico-mobile-alt.png) |
16
+
17
+ ## Native Apple clients
18
+
19
+ Pico also includes a shared SwiftUI client with platform-native layouts for macOS and iOS. Both clients connect to the same local Pico server, stream live session updates, manage conversations, and provide native Git and project-file workflows.
20
+
21
+ | macOS dark | macOS light |
22
+ | -------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
23
+ | ![Pico native macOS client in dark mode](public/screenshots/pico-macos-dark.jpg) | ![Pico native macOS client in light mode](public/screenshots/pico-macos-light.jpg) |
24
+
25
+ | iOS dark | iOS light |
26
+ | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
27
+ | ![Pico native iOS client in dark mode](public/screenshots/pico-ios-dark.png) | ![Pico native iOS client in light mode](public/screenshots/pico-ios-light.png) |
14
28
 
15
29
  ## What Pico gives you
16
30
 
@@ -27,7 +41,7 @@ It gives you a persistent session browser, a live conversation shell, git tools,
27
41
 
28
42
  ## Built on Pi
29
43
 
30
- Pico runs Pi locally through the bundled `@earendil-works/pi-coding-agent` SDK dependency, pinned to `0.74.0` for reproducible installs. You do not need a separate global Pi install for normal use.
44
+ Pico runs Pi locally through the bundled `@earendil-works/pi-coding-agent` SDK dependency, pinned to `0.80.6` for reproducible installs. You do not need a separate global Pi install for normal use.
31
45
 
32
46
  If you intentionally want to test Pico against a different Pi SDK checkout or install, set:
33
47
 
@@ -43,7 +57,7 @@ pnpm update:pi
43
57
 
44
58
  ## Getting started
45
59
 
46
- Run Pico without cloning the repo:
60
+ Run Pico without cloning the repo (Node.js 22.19.0 or newer is required):
47
61
 
48
62
  ```bash
49
63
  npx @alivault/pico
@@ -94,6 +108,53 @@ Then open:
94
108
  http://localhost:3141
95
109
  ```
96
110
 
111
+ ## Developing the native macOS and iOS app
112
+
113
+ The native SwiftUI client lives in `apps/apple/Pico` and builds for both macOS and iOS. It connects to an already-running Pico server over HTTP JSON and SSE; it does not embed the Pi runtime. The native clients are currently built from source and are not distributed through the npm package.
114
+
115
+ Open the shared project in Xcode:
116
+
117
+ ```bash
118
+ open apps/apple/Pico/Pico.xcodeproj
119
+ ```
120
+
121
+ Select the `Pico` scheme and a macOS, iPhone, or iPad destination.
122
+
123
+ Build and launch the macOS app:
124
+
125
+ ```bash
126
+ xcodebuild \
127
+ -project apps/apple/Pico/Pico.xcodeproj \
128
+ -scheme Pico \
129
+ -destination 'platform=macOS' \
130
+ -derivedDataPath /tmp/pico-macos-build \
131
+ build
132
+
133
+ open /tmp/pico-macos-build/Build/Products/Debug/Pico.app
134
+ ```
135
+
136
+ The macOS client defaults to `http://localhost:3141`. Keep Pico on a trusted local machine or network; the server does not currently provide remote pairing or token authentication.
137
+
138
+ Run the shared native tests on macOS:
139
+
140
+ ```bash
141
+ xcodebuild \
142
+ -project apps/apple/Pico/Pico.xcodeproj \
143
+ -scheme Pico \
144
+ -destination 'platform=macOS' \
145
+ test
146
+ ```
147
+
148
+ Run the iOS tests with an installed simulator:
149
+
150
+ ```bash
151
+ xcodebuild \
152
+ -project apps/apple/Pico/Pico.xcodeproj \
153
+ -scheme Pico \
154
+ -destination 'platform=iOS Simulator,name=iPhone 16 Pro' \
155
+ test
156
+ ```
157
+
97
158
  ## Development commands
98
159
 
99
160
  ```bash
@@ -122,6 +183,7 @@ The release script verifies a clean, up-to-date `main`, runs checks and build, b
122
183
  Pico is built with:
123
184
 
124
185
  - TanStack Start, Router, Query, Store, Hotkeys, and Pacer
186
+ - Native SwiftUI for macOS and iOS
125
187
  - React 19
126
188
  - TypeScript
127
189
  - Vite+ and Nitro