mikrojs 0.0.0 → 0.0.7

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 (497) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +76 -0
  3. package/bin/mikrojs.js +3 -0
  4. package/dist/_exports/ble.d.ts +3 -0
  5. package/dist/_exports/ble.d.ts.map +1 -0
  6. package/dist/_exports/ble.js +2 -0
  7. package/dist/_exports/ble.js.map +1 -0
  8. package/dist/_exports/cbor.d.ts +3 -0
  9. package/dist/_exports/cbor.d.ts.map +1 -0
  10. package/dist/_exports/cbor.js +2 -0
  11. package/dist/_exports/cbor.js.map +1 -0
  12. package/dist/_exports/console.d.ts +2 -0
  13. package/dist/_exports/console.d.ts.map +1 -0
  14. package/dist/_exports/console.js +2 -0
  15. package/dist/_exports/console.js.map +1 -0
  16. package/dist/_exports/env.d.ts +2 -0
  17. package/dist/_exports/env.d.ts.map +1 -0
  18. package/dist/_exports/env.js +2 -0
  19. package/dist/_exports/env.js.map +1 -0
  20. package/dist/_exports/format.d.ts +2 -0
  21. package/dist/_exports/format.d.ts.map +1 -0
  22. package/dist/_exports/format.js +2 -0
  23. package/dist/_exports/format.js.map +1 -0
  24. package/dist/_exports/fs.d.ts +2 -0
  25. package/dist/_exports/fs.d.ts.map +1 -0
  26. package/dist/_exports/fs.js +2 -0
  27. package/dist/_exports/fs.js.map +1 -0
  28. package/dist/_exports/http/helpers.d.ts +3 -0
  29. package/dist/_exports/http/helpers.d.ts.map +1 -0
  30. package/dist/_exports/http/helpers.js +5 -0
  31. package/dist/_exports/http/helpers.js.map +1 -0
  32. package/dist/_exports/http/request.d.ts +4 -0
  33. package/dist/_exports/http/request.d.ts.map +1 -0
  34. package/dist/_exports/http/request.js +10 -0
  35. package/dist/_exports/http/request.js.map +1 -0
  36. package/dist/_exports/i2c.d.ts +2 -0
  37. package/dist/_exports/i2c.d.ts.map +1 -0
  38. package/dist/_exports/i2c.js +2 -0
  39. package/dist/_exports/i2c.js.map +1 -0
  40. package/dist/_exports/index.d.ts +61 -0
  41. package/dist/_exports/index.d.ts.map +1 -0
  42. package/dist/_exports/index.js +4 -0
  43. package/dist/_exports/index.js.map +1 -0
  44. package/dist/_exports/inspect.d.ts +2 -0
  45. package/dist/_exports/inspect.d.ts.map +1 -0
  46. package/dist/_exports/inspect.js +2 -0
  47. package/dist/_exports/inspect.js.map +1 -0
  48. package/dist/_exports/kv/nvs.d.ts +3 -0
  49. package/dist/_exports/kv/nvs.d.ts.map +1 -0
  50. package/dist/_exports/kv/nvs.js +2 -0
  51. package/dist/_exports/kv/nvs.js.map +1 -0
  52. package/dist/_exports/kv/rtc.d.ts +3 -0
  53. package/dist/_exports/kv/rtc.d.ts.map +1 -0
  54. package/dist/_exports/kv/rtc.js +2 -0
  55. package/dist/_exports/kv/rtc.js.map +1 -0
  56. package/dist/_exports/neopixel.d.ts +2 -0
  57. package/dist/_exports/neopixel.d.ts.map +1 -0
  58. package/dist/_exports/neopixel.js +2 -0
  59. package/dist/_exports/neopixel.js.map +1 -0
  60. package/dist/_exports/pin.d.ts +2 -0
  61. package/dist/_exports/pin.d.ts.map +1 -0
  62. package/dist/_exports/pin.js +2 -0
  63. package/dist/_exports/pin.js.map +1 -0
  64. package/dist/_exports/pwm.d.ts +2 -0
  65. package/dist/_exports/pwm.d.ts.map +1 -0
  66. package/dist/_exports/pwm.js +2 -0
  67. package/dist/_exports/pwm.js.map +1 -0
  68. package/dist/_exports/reader.d.ts +2 -0
  69. package/dist/_exports/reader.d.ts.map +1 -0
  70. package/dist/_exports/reader.js +2 -0
  71. package/dist/_exports/reader.js.map +1 -0
  72. package/dist/_exports/result.d.ts +2 -0
  73. package/dist/_exports/result.d.ts.map +1 -0
  74. package/dist/_exports/result.js +2 -0
  75. package/dist/_exports/result.js.map +1 -0
  76. package/dist/_exports/schema.d.ts +2 -0
  77. package/dist/_exports/schema.d.ts.map +1 -0
  78. package/dist/_exports/schema.js +2 -0
  79. package/dist/_exports/schema.js.map +1 -0
  80. package/dist/_exports/sim.d.ts +199 -0
  81. package/dist/_exports/sim.d.ts.map +1 -0
  82. package/dist/_exports/sim.js +8 -0
  83. package/dist/_exports/sim.js.map +1 -0
  84. package/dist/_exports/sleep.d.ts +2 -0
  85. package/dist/_exports/sleep.d.ts.map +1 -0
  86. package/dist/_exports/sleep.js +2 -0
  87. package/dist/_exports/sleep.js.map +1 -0
  88. package/dist/_exports/sntp.d.ts +3 -0
  89. package/dist/_exports/sntp.d.ts.map +1 -0
  90. package/dist/_exports/sntp.js +2 -0
  91. package/dist/_exports/sntp.js.map +1 -0
  92. package/dist/_exports/spi.d.ts +2 -0
  93. package/dist/_exports/spi.d.ts.map +1 -0
  94. package/dist/_exports/spi.js +2 -0
  95. package/dist/_exports/spi.js.map +1 -0
  96. package/dist/_exports/stdio.d.ts +2 -0
  97. package/dist/_exports/stdio.d.ts.map +1 -0
  98. package/dist/_exports/stdio.js +2 -0
  99. package/dist/_exports/stdio.js.map +1 -0
  100. package/dist/_exports/stream.d.ts +2 -0
  101. package/dist/_exports/stream.d.ts.map +1 -0
  102. package/dist/_exports/stream.js +2 -0
  103. package/dist/_exports/stream.js.map +1 -0
  104. package/dist/_exports/sys.d.ts +2 -0
  105. package/dist/_exports/sys.d.ts.map +1 -0
  106. package/dist/_exports/sys.js +2 -0
  107. package/dist/_exports/sys.js.map +1 -0
  108. package/dist/_exports/test.d.ts +2 -0
  109. package/dist/_exports/test.d.ts.map +1 -0
  110. package/dist/_exports/test.js +2 -0
  111. package/dist/_exports/test.js.map +1 -0
  112. package/dist/_exports/uart.d.ts +2 -0
  113. package/dist/_exports/uart.d.ts.map +1 -0
  114. package/dist/_exports/uart.js +2 -0
  115. package/dist/_exports/uart.js.map +1 -0
  116. package/dist/_exports/wifi.d.ts +3 -0
  117. package/dist/_exports/wifi.d.ts.map +1 -0
  118. package/dist/_exports/wifi.js +2 -0
  119. package/dist/_exports/wifi.js.map +1 -0
  120. package/dist/cli/cli.d.ts +3 -0
  121. package/dist/cli/cli.d.ts.map +1 -0
  122. package/dist/cli/cli.js +215 -0
  123. package/dist/cli/cli.js.map +1 -0
  124. package/dist/cli/cliWrapper.d.ts +3 -0
  125. package/dist/cli/cliWrapper.d.ts.map +1 -0
  126. package/dist/cli/cliWrapper.js +27 -0
  127. package/dist/cli/cliWrapper.js.map +1 -0
  128. package/dist/cli/commands/build-runtime.d.ts +14 -0
  129. package/dist/cli/commands/build-runtime.d.ts.map +1 -0
  130. package/dist/cli/commands/build-runtime.js +122 -0
  131. package/dist/cli/commands/build-runtime.js.map +1 -0
  132. package/dist/cli/commands/build.d.ts +31 -0
  133. package/dist/cli/commands/build.d.ts.map +1 -0
  134. package/dist/cli/commands/build.js +145 -0
  135. package/dist/cli/commands/build.js.map +1 -0
  136. package/dist/cli/commands/clean.d.ts +16 -0
  137. package/dist/cli/commands/clean.d.ts.map +1 -0
  138. package/dist/cli/commands/clean.js +148 -0
  139. package/dist/cli/commands/clean.js.map +1 -0
  140. package/dist/cli/commands/console.d.ts +19 -0
  141. package/dist/cli/commands/console.d.ts.map +1 -0
  142. package/dist/cli/commands/console.js +32 -0
  143. package/dist/cli/commands/console.js.map +1 -0
  144. package/dist/cli/commands/deploy.d.ts +63 -0
  145. package/dist/cli/commands/deploy.d.ts.map +1 -0
  146. package/dist/cli/commands/deploy.js +242 -0
  147. package/dist/cli/commands/deploy.js.map +1 -0
  148. package/dist/cli/commands/dev.d.ts +41 -0
  149. package/dist/cli/commands/dev.d.ts.map +1 -0
  150. package/dist/cli/commands/dev.js +170 -0
  151. package/dist/cli/commands/dev.js.map +1 -0
  152. package/dist/cli/commands/docs.d.ts +7 -0
  153. package/dist/cli/commands/docs.d.ts.map +1 -0
  154. package/dist/cli/commands/docs.js +20 -0
  155. package/dist/cli/commands/docs.js.map +1 -0
  156. package/dist/cli/commands/env.d.ts +59 -0
  157. package/dist/cli/commands/env.d.ts.map +1 -0
  158. package/dist/cli/commands/env.js +257 -0
  159. package/dist/cli/commands/env.js.map +1 -0
  160. package/dist/cli/commands/erase.d.ts +18 -0
  161. package/dist/cli/commands/erase.d.ts.map +1 -0
  162. package/dist/cli/commands/erase.js +90 -0
  163. package/dist/cli/commands/erase.js.map +1 -0
  164. package/dist/cli/commands/flash.d.ts +30 -0
  165. package/dist/cli/commands/flash.d.ts.map +1 -0
  166. package/dist/cli/commands/flash.js +243 -0
  167. package/dist/cli/commands/flash.js.map +1 -0
  168. package/dist/cli/commands/home.d.ts +7 -0
  169. package/dist/cli/commands/home.d.ts.map +1 -0
  170. package/dist/cli/commands/home.js +20 -0
  171. package/dist/cli/commands/home.js.map +1 -0
  172. package/dist/cli/commands/ls.d.ts +17 -0
  173. package/dist/cli/commands/ls.d.ts.map +1 -0
  174. package/dist/cli/commands/ls.js +62 -0
  175. package/dist/cli/commands/ls.js.map +1 -0
  176. package/dist/cli/commands/sim/clean.d.ts +7 -0
  177. package/dist/cli/commands/sim/clean.d.ts.map +1 -0
  178. package/dist/cli/commands/sim/clean.js +34 -0
  179. package/dist/cli/commands/sim/clean.js.map +1 -0
  180. package/dist/cli/commands/sim/deploy.d.ts +46 -0
  181. package/dist/cli/commands/sim/deploy.d.ts.map +1 -0
  182. package/dist/cli/commands/sim/deploy.js +127 -0
  183. package/dist/cli/commands/sim/deploy.js.map +1 -0
  184. package/dist/cli/commands/sim/dev.d.ts +40 -0
  185. package/dist/cli/commands/sim/dev.d.ts.map +1 -0
  186. package/dist/cli/commands/sim/dev.js +254 -0
  187. package/dist/cli/commands/sim/dev.js.map +1 -0
  188. package/dist/cli/commands/sim/env.d.ts +56 -0
  189. package/dist/cli/commands/sim/env.d.ts.map +1 -0
  190. package/dist/cli/commands/sim/env.js +204 -0
  191. package/dist/cli/commands/sim/env.js.map +1 -0
  192. package/dist/cli/commands/sim/profile.d.ts +67 -0
  193. package/dist/cli/commands/sim/profile.d.ts.map +1 -0
  194. package/dist/cli/commands/sim/profile.js +354 -0
  195. package/dist/cli/commands/sim/profile.js.map +1 -0
  196. package/dist/cli/commands/sim/repl.d.ts +16 -0
  197. package/dist/cli/commands/sim/repl.d.ts.map +1 -0
  198. package/dist/cli/commands/sim/repl.js +119 -0
  199. package/dist/cli/commands/sim/repl.js.map +1 -0
  200. package/dist/cli/commands/sim/reset.d.ts +11 -0
  201. package/dist/cli/commands/sim/reset.d.ts.map +1 -0
  202. package/dist/cli/commands/sim/reset.js +59 -0
  203. package/dist/cli/commands/sim/reset.js.map +1 -0
  204. package/dist/cli/commands/sim/scaffold.d.ts +11 -0
  205. package/dist/cli/commands/sim/scaffold.d.ts.map +1 -0
  206. package/dist/cli/commands/sim/scaffold.js +41 -0
  207. package/dist/cli/commands/sim/scaffold.js.map +1 -0
  208. package/dist/cli/commands/sim/test.d.ts +49 -0
  209. package/dist/cli/commands/sim/test.d.ts.map +1 -0
  210. package/dist/cli/commands/sim/test.js +364 -0
  211. package/dist/cli/commands/sim/test.js.map +1 -0
  212. package/dist/cli/commands/sim.d.ts +220 -0
  213. package/dist/cli/commands/sim.d.ts.map +1 -0
  214. package/dist/cli/commands/sim.js +69 -0
  215. package/dist/cli/commands/sim.js.map +1 -0
  216. package/dist/cli/commands/tail.d.ts +14 -0
  217. package/dist/cli/commands/tail.d.ts.map +1 -0
  218. package/dist/cli/commands/tail.js +50 -0
  219. package/dist/cli/commands/tail.js.map +1 -0
  220. package/dist/cli/commands/test.d.ts +39 -0
  221. package/dist/cli/commands/test.d.ts.map +1 -0
  222. package/dist/cli/commands/test.js +432 -0
  223. package/dist/cli/commands/test.js.map +1 -0
  224. package/dist/cli/components/DevicePicker.d.ts +9 -0
  225. package/dist/cli/components/DevicePicker.d.ts.map +1 -0
  226. package/dist/cli/components/DevicePicker.js +71 -0
  227. package/dist/cli/components/DevicePicker.js.map +1 -0
  228. package/dist/cli/components/EnvEditor.d.ts +12 -0
  229. package/dist/cli/components/EnvEditor.d.ts.map +1 -0
  230. package/dist/cli/components/EnvEditor.js +201 -0
  231. package/dist/cli/components/EnvEditor.js.map +1 -0
  232. package/dist/cli/components/TextInput.d.ts +28 -0
  233. package/dist/cli/components/TextInput.d.ts.map +1 -0
  234. package/dist/cli/components/TextInput.js +73 -0
  235. package/dist/cli/components/TextInput.js.map +1 -0
  236. package/dist/cli/components/TitledBox.d.ts +27 -0
  237. package/dist/cli/components/TitledBox.d.ts.map +1 -0
  238. package/dist/cli/components/TitledBox.js +111 -0
  239. package/dist/cli/components/TitledBox.js.map +1 -0
  240. package/dist/cli/hooks/useDevices.d.ts +23 -0
  241. package/dist/cli/hooks/useDevices.d.ts.map +1 -0
  242. package/dist/cli/hooks/useDevices.js +19 -0
  243. package/dist/cli/hooks/useDevices.js.map +1 -0
  244. package/dist/cli/lib/RenderAndExit.d.ts +6 -0
  245. package/dist/cli/lib/RenderAndExit.d.ts.map +1 -0
  246. package/dist/cli/lib/RenderAndExit.js +8 -0
  247. package/dist/cli/lib/RenderAndExit.js.map +1 -0
  248. package/dist/cli/lib/Spinner.d.ts +11 -0
  249. package/dist/cli/lib/Spinner.d.ts.map +1 -0
  250. package/dist/cli/lib/Spinner.js +22 -0
  251. package/dist/cli/lib/Spinner.js.map +1 -0
  252. package/dist/cli/lib/agent.d.ts +38 -0
  253. package/dist/cli/lib/agent.d.ts.map +1 -0
  254. package/dist/cli/lib/agent.js +87 -0
  255. package/dist/cli/lib/agent.js.map +1 -0
  256. package/dist/cli/lib/boards.d.ts +23 -0
  257. package/dist/cli/lib/boards.d.ts.map +1 -0
  258. package/dist/cli/lib/boards.js +67 -0
  259. package/dist/cli/lib/boards.js.map +1 -0
  260. package/dist/cli/lib/build.d.ts +47 -0
  261. package/dist/cli/lib/build.d.ts.map +1 -0
  262. package/dist/cli/lib/build.js +533 -0
  263. package/dist/cli/lib/build.js.map +1 -0
  264. package/dist/cli/lib/connectSim.d.ts +21 -0
  265. package/dist/cli/lib/connectSim.d.ts.map +1 -0
  266. package/dist/cli/lib/connectSim.js +20 -0
  267. package/dist/cli/lib/connectSim.js.map +1 -0
  268. package/dist/cli/lib/deploy.d.ts +42 -0
  269. package/dist/cli/lib/deploy.d.ts.map +1 -0
  270. package/dist/cli/lib/deploy.js +121 -0
  271. package/dist/cli/lib/deploy.js.map +1 -0
  272. package/dist/cli/lib/deployProgress.d.ts +8 -0
  273. package/dist/cli/lib/deployProgress.d.ts.map +1 -0
  274. package/dist/cli/lib/deployProgress.js +32 -0
  275. package/dist/cli/lib/deployProgress.js.map +1 -0
  276. package/dist/cli/lib/dotenv.d.ts +16 -0
  277. package/dist/cli/lib/dotenv.d.ts.map +1 -0
  278. package/dist/cli/lib/dotenv.js +33 -0
  279. package/dist/cli/lib/dotenv.js.map +1 -0
  280. package/dist/cli/lib/esbuild.d.ts +7 -0
  281. package/dist/cli/lib/esbuild.d.ts.map +1 -0
  282. package/dist/cli/lib/esbuild.js +15 -0
  283. package/dist/cli/lib/esbuild.js.map +1 -0
  284. package/dist/cli/lib/esptool.d.ts +41 -0
  285. package/dist/cli/lib/esptool.d.ts.map +1 -0
  286. package/dist/cli/lib/esptool.js +43 -0
  287. package/dist/cli/lib/esptool.js.map +1 -0
  288. package/dist/cli/lib/firmware.d.ts +24 -0
  289. package/dist/cli/lib/firmware.d.ts.map +1 -0
  290. package/dist/cli/lib/firmware.js +379 -0
  291. package/dist/cli/lib/firmware.js.map +1 -0
  292. package/dist/cli/lib/firmwareCompat.d.ts +19 -0
  293. package/dist/cli/lib/firmwareCompat.d.ts.map +1 -0
  294. package/dist/cli/lib/firmwareCompat.js +31 -0
  295. package/dist/cli/lib/firmwareCompat.js.map +1 -0
  296. package/dist/cli/lib/heapBaseline.d.ts +15 -0
  297. package/dist/cli/lib/heapBaseline.d.ts.map +1 -0
  298. package/dist/cli/lib/heapBaseline.js +39 -0
  299. package/dist/cli/lib/heapBaseline.js.map +1 -0
  300. package/dist/cli/lib/ink-table/index.d.ts +88 -0
  301. package/dist/cli/lib/ink-table/index.d.ts.map +1 -0
  302. package/dist/cli/lib/ink-table/index.js +217 -0
  303. package/dist/cli/lib/ink-table/index.js.map +1 -0
  304. package/dist/cli/lib/loadMikroConfig.d.ts +7 -0
  305. package/dist/cli/lib/loadMikroConfig.d.ts.map +1 -0
  306. package/dist/cli/lib/loadMikroConfig.js +26 -0
  307. package/dist/cli/lib/loadMikroConfig.js.map +1 -0
  308. package/dist/cli/lib/minify.d.ts +3 -0
  309. package/dist/cli/lib/minify.d.ts.map +1 -0
  310. package/dist/cli/lib/minify.js +89 -0
  311. package/dist/cli/lib/minify.js.map +1 -0
  312. package/dist/cli/lib/openSim.d.ts +29 -0
  313. package/dist/cli/lib/openSim.d.ts.map +1 -0
  314. package/dist/cli/lib/openSim.js +32 -0
  315. package/dist/cli/lib/openSim.js.map +1 -0
  316. package/dist/cli/lib/ospawn.d.ts +34 -0
  317. package/dist/cli/lib/ospawn.d.ts.map +1 -0
  318. package/dist/cli/lib/ospawn.js +90 -0
  319. package/dist/cli/lib/ospawn.js.map +1 -0
  320. package/dist/cli/lib/parseMinifier.d.ts +10 -0
  321. package/dist/cli/lib/parseMinifier.d.ts.map +1 -0
  322. package/dist/cli/lib/parseMinifier.js +49 -0
  323. package/dist/cli/lib/parseMinifier.js.map +1 -0
  324. package/dist/cli/lib/parseSize.d.ts +6 -0
  325. package/dist/cli/lib/parseSize.d.ts.map +1 -0
  326. package/dist/cli/lib/parseSize.js +25 -0
  327. package/dist/cli/lib/parseSize.js.map +1 -0
  328. package/dist/cli/lib/projectRoot.d.ts +11 -0
  329. package/dist/cli/lib/projectRoot.d.ts.map +1 -0
  330. package/dist/cli/lib/projectRoot.js +28 -0
  331. package/dist/cli/lib/projectRoot.js.map +1 -0
  332. package/dist/cli/lib/protocol.d.ts +144 -0
  333. package/dist/cli/lib/protocol.d.ts.map +1 -0
  334. package/dist/cli/lib/protocol.js +385 -0
  335. package/dist/cli/lib/protocol.js.map +1 -0
  336. package/dist/cli/lib/recover.d.ts +25 -0
  337. package/dist/cli/lib/recover.d.ts.map +1 -0
  338. package/dist/cli/lib/recover.js +144 -0
  339. package/dist/cli/lib/recover.js.map +1 -0
  340. package/dist/cli/lib/resolveEntry.d.ts +7 -0
  341. package/dist/cli/lib/resolveEntry.d.ts.map +1 -0
  342. package/dist/cli/lib/resolveEntry.js +30 -0
  343. package/dist/cli/lib/resolveEntry.js.map +1 -0
  344. package/dist/cli/lib/runHooks.d.ts +34 -0
  345. package/dist/cli/lib/runHooks.d.ts.map +1 -0
  346. package/dist/cli/lib/runHooks.js +90 -0
  347. package/dist/cli/lib/runHooks.js.map +1 -0
  348. package/dist/cli/lib/serial/InkReplConsole.d.ts +27 -0
  349. package/dist/cli/lib/serial/InkReplConsole.d.ts.map +1 -0
  350. package/dist/cli/lib/serial/InkReplConsole.js +24 -0
  351. package/dist/cli/lib/serial/InkReplConsole.js.map +1 -0
  352. package/dist/cli/lib/serial/InkReplMode.d.ts +38 -0
  353. package/dist/cli/lib/serial/InkReplMode.d.ts.map +1 -0
  354. package/dist/cli/lib/serial/InkReplMode.js +90 -0
  355. package/dist/cli/lib/serial/InkReplMode.js.map +1 -0
  356. package/dist/cli/lib/serial/ReplConsole.d.ts +21 -0
  357. package/dist/cli/lib/serial/ReplConsole.d.ts.map +1 -0
  358. package/dist/cli/lib/serial/ReplConsole.js +249 -0
  359. package/dist/cli/lib/serial/ReplConsole.js.map +1 -0
  360. package/dist/cli/lib/serial/devSession.d.ts +53 -0
  361. package/dist/cli/lib/serial/devSession.d.ts.map +1 -0
  362. package/dist/cli/lib/serial/devSession.js +160 -0
  363. package/dist/cli/lib/serial/devSession.js.map +1 -0
  364. package/dist/cli/lib/serial/dispatchReplCommand.d.ts +25 -0
  365. package/dist/cli/lib/serial/dispatchReplCommand.d.ts.map +1 -0
  366. package/dist/cli/lib/serial/dispatchReplCommand.js +27 -0
  367. package/dist/cli/lib/serial/dispatchReplCommand.js.map +1 -0
  368. package/dist/cli/lib/serial/openSession.d.ts +28 -0
  369. package/dist/cli/lib/serial/openSession.d.ts.map +1 -0
  370. package/dist/cli/lib/serial/openSession.js +48 -0
  371. package/dist/cli/lib/serial/openSession.js.map +1 -0
  372. package/dist/cli/lib/serial/replStateMachine.d.ts +169 -0
  373. package/dist/cli/lib/serial/replStateMachine.d.ts.map +1 -0
  374. package/dist/cli/lib/serial/replStateMachine.js +650 -0
  375. package/dist/cli/lib/serial/replStateMachine.js.map +1 -0
  376. package/dist/cli/lib/serial/runAgentRepl.d.ts +33 -0
  377. package/dist/cli/lib/serial/runAgentRepl.d.ts.map +1 -0
  378. package/dist/cli/lib/serial/runAgentRepl.js +80 -0
  379. package/dist/cli/lib/serial/runAgentRepl.js.map +1 -0
  380. package/dist/cli/lib/session.d.ts +163 -0
  381. package/dist/cli/lib/session.d.ts.map +1 -0
  382. package/dist/cli/lib/session.js +490 -0
  383. package/dist/cli/lib/session.js.map +1 -0
  384. package/dist/cli/lib/simConfig.d.ts +15 -0
  385. package/dist/cli/lib/simConfig.d.ts.map +1 -0
  386. package/dist/cli/lib/simConfig.js +25 -0
  387. package/dist/cli/lib/simConfig.js.map +1 -0
  388. package/dist/cli/lib/simPid.d.ts +30 -0
  389. package/dist/cli/lib/simPid.d.ts.map +1 -0
  390. package/dist/cli/lib/simPid.js +112 -0
  391. package/dist/cli/lib/simPid.js.map +1 -0
  392. package/dist/cli/lib/simTransport.d.ts +17 -0
  393. package/dist/cli/lib/simTransport.d.ts.map +1 -0
  394. package/dist/cli/lib/simTransport.js +80 -0
  395. package/dist/cli/lib/simTransport.js.map +1 -0
  396. package/dist/cli/lib/testRunner.d.ts +86 -0
  397. package/dist/cli/lib/testRunner.d.ts.map +1 -0
  398. package/dist/cli/lib/testRunner.js +469 -0
  399. package/dist/cli/lib/testRunner.js.map +1 -0
  400. package/dist/cli/lib/transport.d.ts +34 -0
  401. package/dist/cli/lib/transport.d.ts.map +1 -0
  402. package/dist/cli/lib/transport.js +117 -0
  403. package/dist/cli/lib/transport.js.map +1 -0
  404. package/dist/cli/lib/useObservable.d.ts +4 -0
  405. package/dist/cli/lib/useObservable.d.ts.map +1 -0
  406. package/dist/cli/lib/useObservable.js +22 -0
  407. package/dist/cli/lib/useObservable.js.map +1 -0
  408. package/dist/cli/lib/watcher.d.ts +10 -0
  409. package/dist/cli/lib/watcher.d.ts.map +1 -0
  410. package/dist/cli/lib/watcher.js +34 -0
  411. package/dist/cli/lib/watcher.js.map +1 -0
  412. package/dist/constants.d.ts +13 -0
  413. package/dist/constants.d.ts.map +1 -0
  414. package/dist/constants.js +27 -0
  415. package/dist/constants.js.map +1 -0
  416. package/dist/simulator/builtins/ble.d.ts +3 -0
  417. package/dist/simulator/builtins/ble.d.ts.map +1 -0
  418. package/dist/simulator/builtins/ble.js +45 -0
  419. package/dist/simulator/builtins/ble.js.map +1 -0
  420. package/dist/simulator/builtins/console.d.ts +8 -0
  421. package/dist/simulator/builtins/console.d.ts.map +1 -0
  422. package/dist/simulator/builtins/console.js +24 -0
  423. package/dist/simulator/builtins/console.js.map +1 -0
  424. package/dist/simulator/builtins/http.d.ts +3 -0
  425. package/dist/simulator/builtins/http.d.ts.map +1 -0
  426. package/dist/simulator/builtins/http.js +32 -0
  427. package/dist/simulator/builtins/http.js.map +1 -0
  428. package/dist/simulator/builtins/i2c.d.ts +3 -0
  429. package/dist/simulator/builtins/i2c.d.ts.map +1 -0
  430. package/dist/simulator/builtins/i2c.js +16 -0
  431. package/dist/simulator/builtins/i2c.js.map +1 -0
  432. package/dist/simulator/builtins/index.d.ts +7 -0
  433. package/dist/simulator/builtins/index.d.ts.map +1 -0
  434. package/dist/simulator/builtins/index.js +49 -0
  435. package/dist/simulator/builtins/index.js.map +1 -0
  436. package/dist/simulator/builtins/kv.d.ts +3 -0
  437. package/dist/simulator/builtins/kv.d.ts.map +1 -0
  438. package/dist/simulator/builtins/kv.js +38 -0
  439. package/dist/simulator/builtins/kv.js.map +1 -0
  440. package/dist/simulator/builtins/neopixel.d.ts +3 -0
  441. package/dist/simulator/builtins/neopixel.d.ts.map +1 -0
  442. package/dist/simulator/builtins/neopixel.js +13 -0
  443. package/dist/simulator/builtins/neopixel.js.map +1 -0
  444. package/dist/simulator/builtins/nvs-kv.d.ts +3 -0
  445. package/dist/simulator/builtins/nvs-kv.d.ts.map +1 -0
  446. package/dist/simulator/builtins/nvs-kv.js +34 -0
  447. package/dist/simulator/builtins/nvs-kv.js.map +1 -0
  448. package/dist/simulator/builtins/pin.d.ts +3 -0
  449. package/dist/simulator/builtins/pin.d.ts.map +1 -0
  450. package/dist/simulator/builtins/pin.js +31 -0
  451. package/dist/simulator/builtins/pin.js.map +1 -0
  452. package/dist/simulator/builtins/pwm.d.ts +3 -0
  453. package/dist/simulator/builtins/pwm.d.ts.map +1 -0
  454. package/dist/simulator/builtins/pwm.js +29 -0
  455. package/dist/simulator/builtins/pwm.js.map +1 -0
  456. package/dist/simulator/builtins/sleep.d.ts +3 -0
  457. package/dist/simulator/builtins/sleep.d.ts.map +1 -0
  458. package/dist/simulator/builtins/sleep.js +32 -0
  459. package/dist/simulator/builtins/sleep.js.map +1 -0
  460. package/dist/simulator/builtins/sntp.d.ts +3 -0
  461. package/dist/simulator/builtins/sntp.d.ts.map +1 -0
  462. package/dist/simulator/builtins/sntp.js +12 -0
  463. package/dist/simulator/builtins/sntp.js.map +1 -0
  464. package/dist/simulator/builtins/spi.d.ts +3 -0
  465. package/dist/simulator/builtins/spi.d.ts.map +1 -0
  466. package/dist/simulator/builtins/spi.js +15 -0
  467. package/dist/simulator/builtins/spi.js.map +1 -0
  468. package/dist/simulator/builtins/types.d.ts +24 -0
  469. package/dist/simulator/builtins/types.d.ts.map +1 -0
  470. package/dist/simulator/builtins/types.js +2 -0
  471. package/dist/simulator/builtins/types.js.map +1 -0
  472. package/dist/simulator/builtins/uart.d.ts +3 -0
  473. package/dist/simulator/builtins/uart.d.ts.map +1 -0
  474. package/dist/simulator/builtins/uart.js +20 -0
  475. package/dist/simulator/builtins/uart.js.map +1 -0
  476. package/dist/simulator/builtins/wifi.d.ts +3 -0
  477. package/dist/simulator/builtins/wifi.d.ts.map +1 -0
  478. package/dist/simulator/builtins/wifi.js +54 -0
  479. package/dist/simulator/builtins/wifi.js.map +1 -0
  480. package/dist/simulator/devRunner.d.ts +41 -0
  481. package/dist/simulator/devRunner.d.ts.map +1 -0
  482. package/dist/simulator/devRunner.js +140 -0
  483. package/dist/simulator/devRunner.js.map +1 -0
  484. package/dist/simulator/loadSimStubs.d.ts +15 -0
  485. package/dist/simulator/loadSimStubs.d.ts.map +1 -0
  486. package/dist/simulator/loadSimStubs.js +54 -0
  487. package/dist/simulator/loadSimStubs.js.map +1 -0
  488. package/dist/simulator/simProcess.d.ts +11 -0
  489. package/dist/simulator/simProcess.d.ts.map +1 -0
  490. package/dist/simulator/simProcess.js +963 -0
  491. package/dist/simulator/simProcess.js.map +1 -0
  492. package/dist/simulator/simTemplates.d.ts +6 -0
  493. package/dist/simulator/simTemplates.d.ts.map +1 -0
  494. package/dist/simulator/simTemplates.js +21 -0
  495. package/dist/simulator/simTemplates.js.map +1 -0
  496. package/package.json +123 -2
  497. package/runtime.d.ts +95 -0
@@ -0,0 +1,59 @@
1
+ import type { InferValue } from '@optique/core/parser';
2
+ export declare const args: import("@optique/core").Parser<"sync", {
3
+ readonly action: "env";
4
+ readonly sub: {
5
+ readonly subcommand: "list";
6
+ readonly port: string | undefined;
7
+ readonly json: true | undefined;
8
+ readonly agent: true | undefined;
9
+ } | {
10
+ readonly subcommand: "set";
11
+ readonly secret: true | undefined;
12
+ readonly key: string;
13
+ readonly value: string | undefined;
14
+ readonly port: string | undefined;
15
+ readonly json: true | undefined;
16
+ readonly agent: true | undefined;
17
+ } | {
18
+ readonly subcommand: "delete";
19
+ readonly key: string;
20
+ readonly port: string | undefined;
21
+ readonly json: true | undefined;
22
+ readonly agent: true | undefined;
23
+ } | {
24
+ readonly subcommand: "ui";
25
+ readonly port: string | undefined;
26
+ };
27
+ }, ["matched", string] | ["parsing", {
28
+ readonly action: "env";
29
+ readonly sub: [0, import("@optique/core").ParserResult<["matched", string] | ["parsing", {
30
+ readonly subcommand: "list";
31
+ readonly port: [import("@optique/core").ValueParserResult<string> | undefined] | undefined;
32
+ readonly json: [import("@optique/core").ValueParserResult<true> | undefined] | undefined;
33
+ readonly agent: [import("@optique/core").ValueParserResult<true> | undefined] | undefined;
34
+ }] | undefined>] | [1, import("@optique/core").ParserResult<["matched", string] | ["parsing", {
35
+ readonly subcommand: "set";
36
+ readonly secret: [import("@optique/core").ValueParserResult<true> | undefined] | undefined;
37
+ readonly key: import("@optique/core").ValueParserResult<string> | undefined;
38
+ readonly value: [import("@optique/core").ValueParserResult<string> | undefined] | undefined;
39
+ readonly port: [import("@optique/core").ValueParserResult<string> | undefined] | undefined;
40
+ readonly json: [import("@optique/core").ValueParserResult<true> | undefined] | undefined;
41
+ readonly agent: [import("@optique/core").ValueParserResult<true> | undefined] | undefined;
42
+ }] | undefined>] | [2, import("@optique/core").ParserResult<["matched", string] | ["parsing", {
43
+ readonly subcommand: "delete";
44
+ readonly key: import("@optique/core").ValueParserResult<string> | undefined;
45
+ readonly port: [import("@optique/core").ValueParserResult<string> | undefined] | undefined;
46
+ readonly json: [import("@optique/core").ValueParserResult<true> | undefined] | undefined;
47
+ readonly agent: [import("@optique/core").ValueParserResult<true> | undefined] | undefined;
48
+ }] | undefined>] | [3, import("@optique/core").ParserResult<["matched", string] | ["parsing", {
49
+ readonly subcommand: "ui";
50
+ readonly port: [import("@optique/core").ValueParserResult<string> | undefined] | undefined;
51
+ }] | undefined>] | undefined;
52
+ }] | undefined>;
53
+ export declare function run(config: InferValue<typeof args>): Promise<void>;
54
+ type Props = {
55
+ args: InferValue<typeof args>;
56
+ };
57
+ export default function EnvCmd(props: Props): import("react/jsx-runtime").JSX.Element;
58
+ export {};
59
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/env.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAA;AAqEpD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAMhB,CAAA;AAuDD,wBAAsB,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,iBA0IxD;AAID,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAA;CAC9B,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,KAAK,EAAE,KAAK,2CAO1C"}
@@ -0,0 +1,257 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /* eslint-disable no-console */
3
+ import { command, constant, message, optional } from '@optique/core';
4
+ import { object as objectConstruct, or as orConstruct } from '@optique/core/constructs';
5
+ import { argument, flag, option } from '@optique/core/primitives';
6
+ import { string } from '@optique/core/valueparser';
7
+ import { useCallback, useMemo, useState } from 'react';
8
+ import { catchError, map, of, shareReplay } from 'rxjs';
9
+ import { DevicePicker } from '../components/DevicePicker.js';
10
+ import { EnvEditor } from '../components/EnvEditor.js';
11
+ import { agentError, agentResult, isAgentMode } from '../lib/agent.js';
12
+ import { openSession } from '../lib/serial/openSession.js';
13
+ import { connectRepl } from '../lib/session.js';
14
+ import { createSerialTransport, openSerial } from '../lib/transport.js';
15
+ import { useObservable } from '../lib/useObservable.js';
16
+ const portOption = optional(option('-p', '--port', string({ metavar: 'PORT' }), {
17
+ description: message `Serial port of device`,
18
+ }));
19
+ const jsonFlag = optional(flag('--json', { description: message `Output as JSON` }));
20
+ const agentFlag = optional(flag('--agent', { description: message `Output as JSON (agent mode)` }));
21
+ const listArgs = command('list', objectConstruct({
22
+ subcommand: constant('list'),
23
+ port: portOption,
24
+ json: jsonFlag,
25
+ agent: agentFlag,
26
+ }));
27
+ const setArgs = command('set', objectConstruct({
28
+ subcommand: constant('set'),
29
+ secret: optional(flag('--secret', {
30
+ description: message `Mark value as a secret (write-only, never displayed)`,
31
+ })),
32
+ key: argument(string({ metavar: 'KEY' })),
33
+ value: optional(argument(string({ metavar: 'VALUE' }))),
34
+ port: portOption,
35
+ json: jsonFlag,
36
+ agent: agentFlag,
37
+ }));
38
+ const deleteArgs = command('delete', objectConstruct({
39
+ subcommand: constant('delete'),
40
+ key: argument(string({ metavar: 'KEY' })),
41
+ port: portOption,
42
+ json: jsonFlag,
43
+ agent: agentFlag,
44
+ }));
45
+ const uiArgs = command('ui', objectConstruct({
46
+ subcommand: constant('ui'),
47
+ port: portOption,
48
+ }));
49
+ export const args = command('env', objectConstruct({
50
+ action: constant('env'),
51
+ sub: orConstruct(listArgs, setArgs, deleteArgs, uiArgs),
52
+ }));
53
+ /** Enable Secure Keyboard Entry (prevents other apps from intercepting keystrokes) */
54
+ function setSecureKeyboardEntry(enabled) {
55
+ // iTerm2 proprietary escape sequence
56
+ process.stdout.write(`\x1b]1337;SetSecureKeyboardEntry=${enabled ? 1 : 0}\x07`);
57
+ }
58
+ /** Read a secret value from stdin without echoing */
59
+ async function readSecretValue(prompt) {
60
+ process.stdout.write(prompt);
61
+ setSecureKeyboardEntry(true);
62
+ return new Promise((resolve) => {
63
+ const stdin = process.stdin;
64
+ const wasRaw = stdin.isRaw;
65
+ if (stdin.isTTY)
66
+ stdin.setRawMode(true);
67
+ const cleanup = () => {
68
+ stdin.removeListener('data', onData);
69
+ if (stdin.isTTY)
70
+ stdin.setRawMode(wasRaw ?? false);
71
+ setSecureKeyboardEntry(false);
72
+ };
73
+ let buf = '';
74
+ const onData = (chunk) => {
75
+ const ch = chunk.toString();
76
+ if (ch === '\r' || ch === '\n') {
77
+ process.stdout.write('\n');
78
+ cleanup();
79
+ resolve(buf);
80
+ }
81
+ else if (ch === '\x7f' || ch === '\b') {
82
+ buf = buf.slice(0, -1);
83
+ }
84
+ else if (ch === '\x03') {
85
+ cleanup();
86
+ resolve('');
87
+ }
88
+ else {
89
+ buf += ch;
90
+ }
91
+ };
92
+ stdin.on('data', onData);
93
+ });
94
+ }
95
+ async function withSession(portArg, fn) {
96
+ const handles = await openSession({ port: portArg });
97
+ try {
98
+ return await fn(handles.session);
99
+ }
100
+ finally {
101
+ handles.close();
102
+ }
103
+ }
104
+ export async function run(config) {
105
+ const { sub } = config;
106
+ if (sub.subcommand === 'ui')
107
+ return;
108
+ const jsonOutput = sub.json === true || isAgentMode(sub.agent);
109
+ switch (sub.subcommand) {
110
+ case 'list': {
111
+ await withSession(sub.port, async (session) => {
112
+ const entries = await session.config.list();
113
+ if (jsonOutput) {
114
+ agentResult('env list', entries.map((e) => ({
115
+ key: e.key,
116
+ value: e.secret ? undefined : e.value,
117
+ secret: e.secret,
118
+ })), [
119
+ { command: 'mikro env set <KEY> <VALUE>', description: 'Set an env variable' },
120
+ { command: 'mikro env delete <KEY>', description: 'Delete an env variable' },
121
+ ]);
122
+ return;
123
+ }
124
+ if (entries.length === 0) {
125
+ console.log('No env variables configured');
126
+ return;
127
+ }
128
+ const envEntries = entries.filter((e) => !e.secret);
129
+ const secretEntries = entries.filter((e) => e.secret);
130
+ if (envEntries.length > 0) {
131
+ const maxKeyLen = Math.max(...envEntries.map((e) => e.key.length));
132
+ for (const e of envEntries) {
133
+ console.log(`${e.key.padEnd(maxKeyLen)} ${e.value}`);
134
+ }
135
+ }
136
+ if (secretEntries.length > 0) {
137
+ for (const e of secretEntries) {
138
+ console.log(`${e.key} ********`);
139
+ }
140
+ }
141
+ });
142
+ break;
143
+ }
144
+ case 'set': {
145
+ const { key, secret: isSecret } = sub;
146
+ if (Buffer.byteLength(key, 'utf-8') > 15) {
147
+ if (jsonOutput) {
148
+ agentError('env set', `Key "${key}" exceeds NVS 15-char limit`, {
149
+ fix: 'Use a key with 15 or fewer characters',
150
+ });
151
+ }
152
+ else {
153
+ console.error(`Error: key "${key}" exceeds NVS 15-char limit`);
154
+ }
155
+ process.exit(1);
156
+ }
157
+ let value;
158
+ if (isSecret) {
159
+ if (jsonOutput) {
160
+ agentError('env set', 'Cannot use --secret with --json (no interactive input)', {
161
+ fix: 'Provide the value directly: mikro env set <KEY> <VALUE>',
162
+ });
163
+ process.exit(1);
164
+ }
165
+ value = await readSecretValue(`Enter value for ${key}: `);
166
+ if (!value) {
167
+ console.error('Cancelled');
168
+ process.exit(1);
169
+ }
170
+ }
171
+ else {
172
+ if (!sub.value) {
173
+ if (jsonOutput) {
174
+ agentError('env set', 'Missing VALUE', {
175
+ fix: 'Provide a value: mikro env set <KEY> <VALUE>',
176
+ });
177
+ }
178
+ else {
179
+ console.error('Error: missing VALUE (use --secret for hidden input)');
180
+ }
181
+ process.exit(1);
182
+ }
183
+ value = sub.value;
184
+ }
185
+ await withSession(sub.port, async (session) => {
186
+ await session.config.set(key, value, isSecret === true);
187
+ if (jsonOutput) {
188
+ agentResult('env set', { key }, [
189
+ { command: 'mikro env list', description: 'List all env variables' },
190
+ ]);
191
+ }
192
+ else if (isSecret) {
193
+ console.log(`Set secret ${key}`);
194
+ }
195
+ else {
196
+ console.log(`Set ${key}=${value}`);
197
+ }
198
+ });
199
+ break;
200
+ }
201
+ case 'delete': {
202
+ const { key } = sub;
203
+ await withSession(sub.port, async (session) => {
204
+ const entries = await session.config.list();
205
+ const entry = entries.find((e) => e.key === key);
206
+ if (!entry) {
207
+ if (jsonOutput) {
208
+ agentError('env delete', `Not found: ${key}`, {
209
+ fix: 'Run mikro env list to see available keys',
210
+ next_actions: [{ command: 'mikro env list', description: 'List all env variables' }],
211
+ });
212
+ }
213
+ else {
214
+ console.error(`Not found: ${key}`);
215
+ }
216
+ process.exit(1);
217
+ }
218
+ await session.config.delete(key);
219
+ if (jsonOutput) {
220
+ agentResult('env delete', { key }, [
221
+ { command: 'mikro env list', description: 'List all env variables' },
222
+ ]);
223
+ }
224
+ else {
225
+ console.log(`Deleted ${key}`);
226
+ }
227
+ });
228
+ break;
229
+ }
230
+ }
231
+ process.exit(0);
232
+ }
233
+ export default function EnvCmd(props) {
234
+ const { args: config } = props;
235
+ const port = config.sub.subcommand === 'ui' ? config.sub.port : undefined;
236
+ return (_jsx(DevicePicker, { port: port, children: (device) => _jsx(EnvUiSession, { devicePath: device.path }) }));
237
+ }
238
+ const BAUD_RATE_UI = 115200;
239
+ function EnvUiSession({ devicePath }) {
240
+ const [didEnd, setDidEnd] = useState(false);
241
+ const handleEnd = useCallback(() => {
242
+ process.stdout.write('\x1b[<u');
243
+ setDidEnd(true);
244
+ }, []);
245
+ const config$ = useMemo(() => openSerial(devicePath, BAUD_RATE_UI).pipe(map((serial) => {
246
+ const transport = createSerialTransport(serial);
247
+ const session = connectRepl(transport);
248
+ return session.config;
249
+ }), catchError(() => of(null)), shareReplay({ bufferSize: 1, refCount: true })), [devicePath]);
250
+ const config = useObservable(config$, null);
251
+ if (didEnd)
252
+ return null;
253
+ if (!config)
254
+ return null;
255
+ return _jsx(EnvEditor, { config: config, onClose: handleEnd });
256
+ }
257
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/cli/commands/env.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { InferValue } from '@optique/core/parser';
2
+ export declare const args: import("@optique/core").Parser<"sync", {
3
+ readonly action: "erase";
4
+ readonly port: string | undefined;
5
+ readonly baud: string | undefined;
6
+ readonly yes: true | undefined;
7
+ }, ["matched", string] | ["parsing", {
8
+ readonly action: "erase";
9
+ readonly port: [import("@optique/core").ValueParserResult<string> | undefined] | undefined;
10
+ readonly baud: [import("@optique/core").ValueParserResult<string> | undefined] | undefined;
11
+ readonly yes: [import("@optique/core").ValueParserResult<true> | undefined] | undefined;
12
+ }] | undefined>;
13
+ type Props = {
14
+ args: InferValue<typeof args>;
15
+ };
16
+ export default function EraseCmd(props: Props): import("react/jsx-runtime").JSX.Element;
17
+ export {};
18
+ //# sourceMappingURL=erase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erase.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/erase.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAA;AAepD,eAAO,MAAM,IAAI;;;;;;;;;;eAqBhB,CAAA;AAED,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAA;CAC9B,CAAA;AAOD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,KAAK,2CAK5C"}
@@ -0,0 +1,90 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { getEsptoolPath } from '@mikrojs/esptool';
3
+ import { command, constant, message, object, optional } from '@optique/core';
4
+ import { flag, option } from '@optique/core/primitives';
5
+ import { string } from '@optique/core/valueparser';
6
+ import spinners from 'cli-spinners';
7
+ import figures from 'figures';
8
+ import { Box, Text, useInput } from 'ink';
9
+ import { useEffect, useMemo, useState } from 'react';
10
+ import { useDevices } from '../hooks/useDevices.js';
11
+ import { INITIAL_SPAWN_STATE, ospawn } from '../lib/ospawn.js';
12
+ import { RenderAndExit } from '../lib/RenderAndExit.js';
13
+ import { Spinner } from '../lib/Spinner.js';
14
+ import { useObservable } from '../lib/useObservable.js';
15
+ export const args = command('erase', object({
16
+ action: constant('erase'),
17
+ port: optional(option('-p', '--port', string({ metavar: 'PORT' }), {
18
+ description: message `Serial port of device to erase, example: /dev/cu.usbmodem101`,
19
+ })),
20
+ baud: optional(option('--baud', string({ metavar: 'BAUD' }), {
21
+ description: message `Baud rate (default: 460800)`,
22
+ })),
23
+ yes: optional(flag('-y', '--yes', {
24
+ description: message `Skip confirmation prompt`,
25
+ })),
26
+ }), { description: message `Erase all flash on a connected device (factory reset)` });
27
+ export default function EraseCmd(props) {
28
+ const { args: { port, baud, yes }, } = props;
29
+ return _jsx(DeviceErase, { port: port, baud: baud, yes: yes === true });
30
+ }
31
+ function DeviceErase({ port, baud, yes }) {
32
+ const baudRate = baud ? Number(baud) : 460800;
33
+ const deviceDiscovery = useDevices();
34
+ const [initState, setInitState] = useState({ status: 'loading' });
35
+ const [confirmed, setConfirmed] = useState(yes);
36
+ useEffect(() => {
37
+ getEsptoolPath().then((esptoolPath) => setInitState({ status: 'ready', esptoolPath }), (err) => {
38
+ const error = err instanceof Error ? err : new Error(String(err));
39
+ setInitState({ status: 'error', error });
40
+ });
41
+ }, []);
42
+ if (initState.status === 'error') {
43
+ return (_jsx(RenderAndExit, { exitCode: 1, children: _jsxs(Text, { color: "red", children: [figures.cross, " ", initState.error.message] }) }));
44
+ }
45
+ if (initState.status === 'loading' || deviceDiscovery.status === 'loading') {
46
+ return (_jsxs(Text, { children: [_jsx(Spinner, { spinner: spinners.dots }), " Preparing\u2026"] }));
47
+ }
48
+ const devices = deviceDiscovery.status === 'success' ? deviceDiscovery.value : [];
49
+ const device = port
50
+ ? devices.find((dev) => dev.path === port)
51
+ : devices.length === 1
52
+ ? devices[0]
53
+ : undefined;
54
+ if (port && !device) {
55
+ return (_jsxs(RenderAndExit, { exitCode: 1, children: [_jsxs(Text, { color: "red", children: [figures.cross, " Device not found: ", port] }), devices.length > 0 ? (_jsxs(Box, { paddingTop: 1, flexDirection: "column", children: [_jsx(Text, { children: "Connected devices:" }), devices.map((d, i) => (_jsxs(Text, { children: [i + 1, ". ", d.path, " (", d.manufacturer, " ", d.serialNumber, ")"] }, d.path)))] })) : (_jsx(Text, { children: "No devices found" }))] }));
56
+ }
57
+ if (!device) {
58
+ if (devices.length === 0) {
59
+ return (_jsx(RenderAndExit, { exitCode: 1, children: _jsxs(Text, { color: "red", children: [figures.cross, " No devices found. Connect a device and try again."] }) }));
60
+ }
61
+ return (_jsxs(RenderAndExit, { exitCode: 1, children: [_jsxs(Text, { color: "red", children: [figures.cross, " Multiple devices found. Use --port to specify which one:"] }), devices.map((d, i) => (_jsxs(Text, { children: [i + 1, ". ", d.path, " (", d.manufacturer, " ", d.serialNumber, ")"] }, d.path)))] }));
62
+ }
63
+ if (!confirmed) {
64
+ return (_jsx(ConfirmErase, { port: device.path, onConfirm: () => setConfirmed(true), onCancel: () => process.exit(0) }));
65
+ }
66
+ return (_jsx(EraseProgress, { esptoolPath: initState.esptoolPath, port: device.path, baudRate: baudRate }));
67
+ }
68
+ function ConfirmErase(props) {
69
+ const { port, onConfirm, onCancel } = props;
70
+ useInput((input) => {
71
+ if (input.toLowerCase() === 'y') {
72
+ onConfirm();
73
+ }
74
+ else {
75
+ onCancel();
76
+ }
77
+ });
78
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: "yellow", children: [figures.warning, " This will erase all flash on ", port, ", including firmware, filesystem, and configuration."] }), _jsx(Text, { color: "yellow", children: "This cannot be undone." }), _jsxs(Text, { children: ['\n', "Continue? ", _jsx(Text, { bold: true, children: "(y/N)" })] })] }));
79
+ }
80
+ function EraseProgress(props) {
81
+ const { esptoolPath, port, baudRate } = props;
82
+ const observable = useMemo(() => {
83
+ return ospawn(esptoolPath, ['--port', port, '--baud', String(baudRate), 'erase-flash']);
84
+ }, [esptoolPath, port, baudRate]);
85
+ const progress = useObservable(observable, INITIAL_SPAWN_STATE);
86
+ const { output, error, completed } = progress;
87
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { children: [error ? (_jsx(Text, { color: "red", children: figures.cross })) : completed ? (_jsx(Text, { color: "green", children: figures.tick })) : (_jsx(Spinner, { spinner: spinners.dots })), ' ', "Erasing flash on ", port, error ? _jsx(Text, { children: " failed" }) : null] }), output.map((chunk, i) => (_jsx(Text, { color: chunk.type === 'err' ? 'red' : 'gray', children: textDecoder.decode(chunk.output) }, i))), error && _jsx(Text, { color: "red", children: error.stack })] }));
88
+ }
89
+ const textDecoder = new TextDecoder();
90
+ //# sourceMappingURL=erase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erase.js","sourceRoot":"","sources":["../../../src/cli/commands/erase.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAA;AAE1E,OAAO,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAC,MAAM,EAAC,MAAM,2BAA2B,CAAA;AAChD,OAAO,QAAQ,MAAM,cAAc,CAAA;AACnC,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAC,MAAM,KAAK,CAAA;AACvC,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAA;AAGlD,OAAO,EAAgB,UAAU,EAAC,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAC,mBAAmB,EAAE,MAAM,EAAkB,MAAM,kBAAkB,CAAA;AAC7E,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAC,OAAO,EAAC,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAA;AAErD,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,CACzB,OAAO,EACP,MAAM,CAAC;IACL,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC;IACzB,IAAI,EAAE,QAAQ,CACZ,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,EAAE;QAChD,WAAW,EAAE,OAAO,CAAA,8DAA8D;KACnF,CAAC,CACH;IACD,IAAI,EAAE,QAAQ,CACZ,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,EAAE;QAC1C,WAAW,EAAE,OAAO,CAAA,6BAA6B;KAClD,CAAC,CACH;IACD,GAAG,EAAE,QAAQ,CACX,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE;QAClB,WAAW,EAAE,OAAO,CAAA,0BAA0B;KAC/C,CAAC,CACH;CACF,CAAC,EACF,EAAC,WAAW,EAAE,OAAO,CAAA,uDAAuD,EAAC,CAC9E,CAAA;AAWD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAY;IAC3C,MAAM,EACJ,IAAI,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAC,GACxB,GAAG,KAAK,CAAA;IACT,OAAO,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,IAAI,GAAI,CAAA;AACnE,CAAC;AAED,SAAS,WAAW,CAAC,EAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAA+C;IAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAC7C,MAAM,eAAe,GAAG,UAAU,EAAE,CAAA;IACpC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAY,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC,CAAA;IAC1E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;IAE/C,SAAS,CAAC,GAAG,EAAE;QACb,cAAc,EAAE,CAAC,IAAI,CACnB,CAAC,WAAW,EAAE,EAAE,CAAC,YAAY,CAAC,EAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAC,CAAC,EAC7D,CAAC,GAAY,EAAE,EAAE;YACf,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YACjE,YAAY,CAAC,EAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC,CAAA;QACxC,CAAC,CACF,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,CACL,KAAC,aAAa,IAAC,QAAQ,EAAE,CAAC,YACxB,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,aACd,OAAO,CAAC,KAAK,OAAG,SAAS,CAAC,KAAK,CAAC,OAAO,IACnC,GACO,CACjB,CAAA;IACH,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,eAAe,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC3E,OAAO,CACL,MAAC,IAAI,eACH,KAAC,OAAO,IAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,GAAI,wBAC9B,CACR,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAE,EAAiB,CAAA;IAEjG,MAAM,MAAM,GAAG,IAAI;QACjB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC;QAC1C,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YACpB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACZ,CAAC,CAAC,SAAS,CAAA;IAEf,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,CACL,MAAC,aAAa,IAAC,QAAQ,EAAE,CAAC,aACxB,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,aACd,OAAO,CAAC,KAAK,yBAAqB,IAAI,IAClC,EACN,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACpB,MAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aACxC,KAAC,IAAI,qCAA0B,EAC9B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACrB,MAAC,IAAI,eACF,CAAC,GAAG,CAAC,QAAI,CAAC,CAAC,IAAI,QAAI,CAAC,CAAC,YAAY,OAAG,CAAC,CAAC,YAAY,UAD1C,CAAC,CAAC,IAAI,CAEV,CACR,CAAC,IACE,CACP,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,mCAAwB,CAC9B,IACa,CACjB,CAAA;IACH,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CACL,KAAC,aAAa,IAAC,QAAQ,EAAE,CAAC,YACxB,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,aAAE,OAAO,CAAC,KAAK,0DAA0D,GAC5E,CACjB,CAAA;QACH,CAAC;QACD,OAAO,CACL,MAAC,aAAa,IAAC,QAAQ,EAAE,CAAC,aACxB,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,aACd,OAAO,CAAC,KAAK,iEACT,EACN,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACrB,MAAC,IAAI,eACF,CAAC,GAAG,CAAC,QAAI,CAAC,CAAC,IAAI,QAAI,CAAC,CAAC,YAAY,OAAG,CAAC,CAAC,YAAY,UAD1C,CAAC,CAAC,IAAI,CAEV,CACR,CAAC,IACY,CACjB,CAAA;IACH,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CACL,KAAC,YAAY,IACX,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,SAAS,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EACnC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAC/B,CACH,CAAA;IACH,CAAC;IAED,OAAO,CACL,KAAC,aAAa,IAAC,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAC7F,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAkE;IACtF,MAAM,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAC,GAAG,KAAK,CAAA;IAEzC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE;QACjB,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;YAChC,SAAS,EAAE,CAAA;QACb,CAAC;aAAM,CAAC;YACN,QAAQ,EAAE,CAAA;QACZ,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,aACjB,OAAO,CAAC,OAAO,oCAAgC,IAAI,4DAE/C,EACP,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,uCAA8B,EAClD,MAAC,IAAI,eACF,IAAI,gBAAW,KAAC,IAAI,IAAC,IAAI,4BAAa,IAClC,IACH,CACP,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAA4D;IACjF,MAAM,EAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAC,GAAG,KAAK,CAAA;IAE3C,MAAM,UAAU,GAAG,OAAO,CAAC,GAA2B,EAAE;QACtD,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC,CAAA;IACzF,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEjC,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAA;IAC/D,MAAM,EAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAC,GAAG,QAAQ,CAAA;IAE3C,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,IAAI,eACF,KAAK,CAAC,CAAC,CAAC,CACP,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,YAAE,OAAO,CAAC,KAAK,GAAQ,CACzC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CACd,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YAAE,OAAO,CAAC,IAAI,GAAQ,CAC1C,CAAC,CAAC,CAAC,CACF,KAAC,OAAO,IAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,GAAI,CACpC,EAAE,GAAG,uBACY,IAAI,EACrB,KAAK,CAAC,CAAC,CAAC,KAAC,IAAI,0BAAe,CAAC,CAAC,CAAC,IAAI,IAC/B,EACN,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CACxB,KAAC,IAAI,IAAS,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,YACvD,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IADxB,CAAC,CAEL,CACR,CAAC,EACD,KAAK,IAAI,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,YAAE,KAAK,CAAC,KAAK,GAAQ,IAC5C,CACP,CAAA;AACH,CAAC;AAED,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAA"}
@@ -0,0 +1,30 @@
1
+ import type { InferValue } from '@optique/core/parser';
2
+ export declare const args: import("@optique/core").Parser<"sync", {
3
+ readonly action: "flash";
4
+ readonly buildDir: string | undefined;
5
+ readonly from: string | undefined;
6
+ readonly release: string | undefined;
7
+ readonly firmware: string | undefined;
8
+ readonly board: string | undefined;
9
+ readonly target: string | undefined;
10
+ readonly port: string | undefined;
11
+ readonly baud: string | undefined;
12
+ readonly yes: true | undefined;
13
+ }, ["matched", string] | ["parsing", {
14
+ readonly action: "flash";
15
+ readonly buildDir: [import("@optique/core").ValueParserResult<string> | undefined] | undefined;
16
+ readonly from: [import("@optique/core").ValueParserResult<string> | undefined] | undefined;
17
+ readonly release: [import("@optique/core").ValueParserResult<string> | undefined] | undefined;
18
+ readonly firmware: [import("@optique/core").ValueParserResult<string> | undefined] | undefined;
19
+ readonly board: [import("@optique/core").ValueParserResult<string> | undefined] | undefined;
20
+ readonly target: [import("@optique/core").ValueParserResult<string> | undefined] | undefined;
21
+ readonly port: [import("@optique/core").ValueParserResult<string> | undefined] | undefined;
22
+ readonly baud: [import("@optique/core").ValueParserResult<string> | undefined] | undefined;
23
+ readonly yes: [import("@optique/core").ValueParserResult<true> | undefined] | undefined;
24
+ }] | undefined>;
25
+ type Props = {
26
+ args: InferValue<typeof args>;
27
+ };
28
+ export default function FlashCmd(props: Props): import("react/jsx-runtime").JSX.Element;
29
+ export {};
30
+ //# sourceMappingURL=flash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flash.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/flash.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAA;AAkBpD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;eAkDhB,CAAA;AAED,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAA;CAC9B,CAAA;AAmDD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,KAAK,2CAoO5C"}