@ecmaos/kernel 0.10.1 → 0.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/dist/.vite/manifest.json +12 -12
  2. package/dist/{browser-97JnRk6A.js → browser-D_rzdy4k.js} +2 -2
  3. package/dist/{browser-97JnRk6A.js.map → browser-D_rzdy4k.js.map} +1 -1
  4. package/dist/{index-BJ4HPRTi.js → index-Dt0A0I3o.js} +2 -2
  5. package/dist/{index-BJ4HPRTi.js.map → index-Dt0A0I3o.js.map} +1 -1
  6. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_auth.Auth.html +2 -2
  7. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_components.Component.html +2 -2
  8. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_components.Components.html +2 -2
  9. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_dom.Dom.html +2 -2
  10. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_events.Events.html +8 -8
  11. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_fdtable.FDTable.html +14 -14
  12. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_filesystem.Filesystem.html +12 -12
  13. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_i18n.I18n.html +6 -6
  14. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_intervals.Intervals.html +2 -2
  15. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_kernel.Kernel.html +68 -68
  16. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_lib_commands.TerminalCommand.html +4 -4
  17. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_log.Log.html +3 -3
  18. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_memory.Memory.html +2 -2
  19. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_processes.Process.html +33 -33
  20. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_processes.ProcessManager.html +2 -2
  21. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_protocol.Protocol.html +2 -2
  22. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_service.Service.html +10 -10
  23. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_shell.Shell.html +16 -16
  24. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_sockets.Sockets.html +7 -7
  25. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_storage.Storage.html +8 -8
  26. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_telemetry.Telemetry.html +2 -2
  27. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_terminal.Spinner.html +2 -2
  28. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_terminal.Terminal.html +38 -38
  29. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_users.Users.html +13 -13
  30. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_wasm.Wasm.html +8 -8
  31. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_windows.Windows.html +8 -8
  32. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_workers.Workers.html +4 -4
  33. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/enums/kernel_src_tree_terminal.CommandPath.html +2 -2
  34. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/enums/types_kernel.KernelEvents.html +2 -2
  35. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/enums/types_kernel.KernelState.html +2 -2
  36. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/enums/types_processes.ProcessEvents.html +2 -2
  37. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/enums/types_terminal.TerminalEvents.html +2 -2
  38. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.TerminalCommands.html +1 -1
  39. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.clear.html +1 -1
  40. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.df.html +1 -1
  41. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.download.html +1 -1
  42. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.exportCmd.html +1 -1
  43. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.load.html +1 -1
  44. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.passwd.html +1 -1
  45. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.ps.html +1 -1
  46. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.reboot.html +1 -1
  47. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.screensaver.html +1 -1
  48. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.snake.html +1 -1
  49. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.su.html +1 -1
  50. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.upload.html +1 -1
  51. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands_install.default.html +1 -1
  52. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands_uninstall.default.html +1 -1
  53. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_crontab.parseCrontabFile.html +1 -1
  54. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_crontab.parseCrontabLine.html +1 -1
  55. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_fstab.parseFstabFile.html +1 -1
  56. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_fstab.parseFstabLine.html +1 -1
  57. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_screensavers_blank.default.html +1 -1
  58. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_screensavers_blank.exit.html +1 -1
  59. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_screensavers_matrix.default.html +1 -1
  60. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_screensavers_matrix.exit.html +1 -1
  61. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_wasi_preview1.default.html +1 -1
  62. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_wasi_preview2.default.html +1 -1
  63. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/kernel_src_tree_lib_commands.CommandArgs.html +2 -2
  64. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/kernel_src_tree_lib_crontab.CrontabEntry.html +2 -2
  65. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/kernel_src_tree_wasm.WasiComponentResult.html +2 -2
  66. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/kernel_src_tree_wasm.WasiStreamOptions.html +2 -2
  67. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_auth.Auth.html +2 -2
  68. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_components.Components.html +2 -2
  69. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_device.KernelDevice.html +4 -4
  70. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_device.KernelDeviceCLIOptions.html +6 -6
  71. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_device.KernelDeviceData.html +1 -1
  72. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_dom.Dom.html +6 -6
  73. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_dom.DomOptions.html +2 -2
  74. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_events.Events.html +8 -8
  75. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_filesystem.FileHeader.html +4 -4
  76. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_filesystem.Filesystem.html +10 -10
  77. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_filesystem.FilesystemDescriptions.html +2 -2
  78. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_filesystem.FstabEntry.html +5 -5
  79. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_i18n.I18n.html +7 -7
  80. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_i18n.I18nFilesystemAdapter.html +2 -2
  81. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_i18n.I18nNamespaces.html +2 -2
  82. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_i18n.I18nOptions.html +7 -7
  83. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_i18n.I18nResourceLoadResult.html +2 -2
  84. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_intervals.ITimerHandle.html +2 -2
  85. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_intervals.Intervals.html +8 -8
  86. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_kernel.BootOptions.html +2 -2
  87. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_kernel.Kernel.html +51 -51
  88. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_kernel.KernelExecuteEvent.html +2 -2
  89. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_kernel.KernelExecuteOptions.html +2 -2
  90. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_kernel.KernelOptions.html +2 -2
  91. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_kernel.KernelPanicEvent.html +2 -2
  92. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_kernel.KernelShutdownEvent.html +2 -2
  93. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_kernel.KernelUploadEvent.html +2 -2
  94. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_keyboard.Keyboard.html +2 -2
  95. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_log.Log.html +10 -10
  96. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_log.LogOptions.html +4 -4
  97. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_memory.Memory.html +16 -16
  98. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_modules.KernelModule.html +2 -2
  99. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.FDTable.html +13 -13
  100. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.FileHandle.html +8 -8
  101. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.Process.html +31 -31
  102. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.ProcessEntryParams.html +16 -16
  103. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.ProcessExitEvent.html +2 -2
  104. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.ProcessManager.html +8 -8
  105. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.ProcessOptions.html +18 -18
  106. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.ProcessPauseEvent.html +2 -2
  107. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.ProcessResumeEvent.html +2 -2
  108. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.ProcessStartEvent.html +2 -2
  109. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.ProcessStopEvent.html +2 -2
  110. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_protocol.Protocol.html +3 -3
  111. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_protocol.ProtocolOptions.html +3 -3
  112. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_service.Service.html +9 -9
  113. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_service.ServiceOptions.html +4 -4
  114. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_shell.Shell.html +13 -13
  115. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_shell.ShellOptions.html +7 -7
  116. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_sockets.Sockets.html +7 -7
  117. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_sockets.SocketsOptions.html +2 -2
  118. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_sockets.WebSocketConnection.html +8 -8
  119. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_sockets.WebTransportConnection.html +8 -8
  120. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_storage.StorageOptions.html +3 -3
  121. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_storage.StorageProvider.html +7 -7
  122. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_telemetry.Telemetry.html +3 -3
  123. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_telemetry.TelemetryOptions.html +2 -2
  124. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.Terminal.html +36 -36
  125. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalAttachEvent.html +2 -2
  126. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalCommand.html +4 -4
  127. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalCreatedEvent.html +2 -2
  128. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalExecuteEvent.html +2 -2
  129. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalInputEvent.html +2 -2
  130. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalInterruptEvent.html +2 -2
  131. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalKeyEvent.html +2 -2
  132. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalListenEvent.html +2 -2
  133. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalMessageEvent.html +2 -2
  134. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalMountEvent.html +2 -2
  135. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalOptions.html +6 -6
  136. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalPasteEvent.html +2 -2
  137. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalResizeEvent.html +2 -2
  138. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalUnlistenEvent.html +2 -2
  139. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalWriteEvent.html +2 -2
  140. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalWritelnEvent.html +2 -2
  141. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_users.AddUserOptions.html +4 -4
  142. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_users.Passkey.html +7 -7
  143. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_users.User.html +9 -9
  144. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_users.Users.html +14 -14
  145. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_users.UsersOptions.html +2 -2
  146. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_wasm.WasiComponentResult.html +3 -3
  147. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_wasm.WasiStreamOptions.html +4 -4
  148. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_wasm.Wasm.html +5 -5
  149. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_wasm.WasmOptions.html +2 -2
  150. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_windows.WindowOptions.html +2 -2
  151. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_windows.Windows.html +7 -7
  152. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_workers.Workers.html +3 -3
  153. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/kernel_src_tree_fdtable.ZenFSFileHandle.html +1 -1
  154. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_auth.PasswordCredentialInit.html +1 -1
  155. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_components.ComponentListener.html +1 -1
  156. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_events.EventCallback.html +1 -1
  157. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_filesystem.FilesystemConfigMounts.html +1 -1
  158. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_filesystem.FilesystemOptions.html +1 -1
  159. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_filesystem.Fstab.html +1 -1
  160. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_filesystem.Path.html +1 -1
  161. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_i18n.I18nResourceBundle.html +1 -1
  162. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_intervals.CronMap.html +1 -1
  163. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_intervals.IntervalMap.html +1 -1
  164. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_memory.Address.html +1 -1
  165. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_memory.Collection.html +1 -1
  166. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_memory.Config.html +1 -1
  167. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_memory.Heap.html +1 -1
  168. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_memory.Stack.html +1 -1
  169. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_memory.StackFrame.html +1 -1
  170. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_modules.KernelModules.html +1 -1
  171. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_processes.ProcessStatus.html +1 -1
  172. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_processes.ProcessesMap.html +1 -1
  173. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_sockets.SocketConnection.html +1 -1
  174. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_sockets.WebSocketState.html +1 -1
  175. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_sockets.WebTransportState.html +1 -1
  176. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_users.GID.html +1 -1
  177. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_users.UID.html +1 -1
  178. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_windows.WindowId.html +1 -1
  179. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/variables/kernel_src_tree_device.DefaultDevices.html +1 -1
  180. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/variables/kernel_src_tree_dom.DefaultDomOptions.html +1 -1
  181. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/variables/kernel_src_tree_filesystem.DefaultFilesystemOptions.html +1 -1
  182. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/variables/kernel_src_tree_i18n.DefaultI18nOptions.html +1 -1
  183. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/variables/kernel_src_tree_log.DefaultLogOptions.html +1 -1
  184. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/variables/kernel_src_tree_service.DefaultServiceOptions.html +1 -1
  185. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/variables/kernel_src_tree_terminal.DefaultTerminalOptions.html +1 -1
  186. package/dist/initfs.tar.gz +0 -0
  187. package/dist/{install-CYHZu4La.js → install-CRrPdUs9.js} +2 -2
  188. package/dist/{install-CYHZu4La.js.map → install-CRrPdUs9.js.map} +1 -1
  189. package/dist/{kernel-CBc_SGe6.js → kernel-Io5VyIzi.js} +234 -74
  190. package/dist/{kernel-CBc_SGe6.js.map → kernel-Io5VyIzi.js.map} +1 -1
  191. package/dist/kernel.js +1 -1
  192. package/dist/swapi.js +22 -18
  193. package/dist/ui.js +1 -1
  194. package/dist/{uninstall-CGDotg6T.js → uninstall-Bb4xsCq5.js} +2 -2
  195. package/dist/{uninstall-CGDotg6T.js.map → uninstall-Bb4xsCq5.js.map} +1 -1
  196. package/package.json +8 -7
@@ -26231,13 +26231,13 @@ const _Components = class _Components {
26231
26231
  };
26232
26232
  __name(_Components, "Components");
26233
26233
  let Components = _Components;
26234
- const pkg$c = {
26234
+ const pkg$d = {
26235
26235
  name: "audio",
26236
26236
  version: "0.1.0",
26237
26237
  description: "Web Audio API device driver"
26238
26238
  };
26239
26239
  async function cli$d(options) {
26240
- options.kernel.log.debug(`${pkg$c.name} CLI`, options.args);
26240
+ options.kernel.log.debug(`${pkg$d.name} CLI`, options.args);
26241
26241
  const usage = `
26242
26242
  Usage: audio <command>
26243
26243
 
@@ -26346,7 +26346,7 @@ async function test$2(kernel, shell) {
26346
26346
  return 0;
26347
26347
  }
26348
26348
  __name(test$2, "test$2");
26349
- async function getDrivers$c(kernel) {
26349
+ async function getDrivers$d(kernel) {
26350
26350
  const drivers = [];
26351
26351
  drivers.push({
26352
26352
  name: "audio",
@@ -26354,7 +26354,7 @@ async function getDrivers$c(kernel) {
26354
26354
  major: 14,
26355
26355
  minor: 4,
26356
26356
  data: {
26357
- version: pkg$c.version,
26357
+ version: pkg$d.version,
26358
26358
  kernel: kernel.id,
26359
26359
  context: new AudioContext()
26360
26360
  }
@@ -26427,12 +26427,12 @@ async function getDrivers$c(kernel) {
26427
26427
  });
26428
26428
  return drivers;
26429
26429
  }
26430
- __name(getDrivers$c, "getDrivers$c");
26430
+ __name(getDrivers$d, "getDrivers$d");
26431
26431
  const AudioDevice = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
26432
26432
  __proto__: null,
26433
26433
  cli: cli$d,
26434
- getDrivers: getDrivers$c,
26435
- pkg: pkg$c
26434
+ getDrivers: getDrivers$d,
26435
+ pkg: pkg$d
26436
26436
  }, Symbol.toStringTag, { value: "Module" }));
26437
26437
  function isObject$8(input) {
26438
26438
  return typeof input === "object" && input !== null;
@@ -26631,7 +26631,7 @@ ansi$5.erase = {
26631
26631
  return csi$5 + (n2 || 0) + "K";
26632
26632
  }, "inLine")
26633
26633
  };
26634
- const pkg$b = {
26634
+ const pkg$c = {
26635
26635
  name: "battery",
26636
26636
  version: "0.1.0",
26637
26637
  description: "Battery device driver"
@@ -26691,7 +26691,7 @@ Commands:
26691
26691
  }
26692
26692
  }
26693
26693
  __name(cli$c, "cli$c");
26694
- async function getDrivers$b(kernel) {
26694
+ async function getDrivers$c(kernel) {
26695
26695
  const drivers = [];
26696
26696
  if ("getBattery" in navigator) {
26697
26697
  const battery = await navigator.getBattery();
@@ -26718,14 +26718,14 @@ async function getDrivers$b(kernel) {
26718
26718
  }
26719
26719
  return drivers;
26720
26720
  }
26721
- __name(getDrivers$b, "getDrivers$b");
26721
+ __name(getDrivers$c, "getDrivers$c");
26722
26722
  const BatteryDevice = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
26723
26723
  __proto__: null,
26724
26724
  cli: cli$c,
26725
- getDrivers: getDrivers$b,
26726
- pkg: pkg$b
26725
+ getDrivers: getDrivers$c,
26726
+ pkg: pkg$c
26727
26727
  }, Symbol.toStringTag, { value: "Module" }));
26728
- const pkg$a = {
26728
+ const pkg$b = {
26729
26729
  name: "bluetooth",
26730
26730
  version: "0.1.0",
26731
26731
  description: "Web Bluetooth API device driver"
@@ -26976,7 +26976,7 @@ Commands:
26976
26976
  }
26977
26977
  }
26978
26978
  __name(cli$b, "cli$b");
26979
- async function getDrivers$a(kernel) {
26979
+ async function getDrivers$b(kernel) {
26980
26980
  const drivers = [{
26981
26981
  name: "bluetooth",
26982
26982
  init: /* @__PURE__ */ __name(() => ({
@@ -26996,12 +26996,12 @@ async function getDrivers$a(kernel) {
26996
26996
  }];
26997
26997
  return drivers;
26998
26998
  }
26999
- __name(getDrivers$a, "getDrivers$a");
26999
+ __name(getDrivers$b, "getDrivers$b");
27000
27000
  const BluetoothDevice = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
27001
27001
  __proto__: null,
27002
27002
  cli: cli$b,
27003
- getDrivers: getDrivers$a,
27004
- pkg: pkg$a
27003
+ getDrivers: getDrivers$b,
27004
+ pkg: pkg$b
27005
27005
  }, Symbol.toStringTag, { value: "Module" }));
27006
27006
  function isObject$7(input) {
27007
27007
  return typeof input === "object" && input !== null;
@@ -27200,7 +27200,7 @@ ansi$4.erase = {
27200
27200
  return csi$4 + (n2 || 0) + "K";
27201
27201
  }, "inLine")
27202
27202
  };
27203
- const pkg$9 = {
27203
+ const pkg$a = {
27204
27204
  name: "gamepad",
27205
27205
  version: "0.1.0",
27206
27206
  description: ""
@@ -27276,25 +27276,25 @@ Commands:
27276
27276
  }
27277
27277
  }
27278
27278
  __name(cli$a, "cli$a");
27279
- async function getDrivers$9(kernel) {
27279
+ async function getDrivers$a(kernel) {
27280
27280
  const drivers = [{
27281
27281
  name: "gamepad",
27282
27282
  init: /* @__PURE__ */ __name(() => ({
27283
27283
  major: 13,
27284
27284
  minor: 1,
27285
- data: { kernelId: kernel.id, version: pkg$9.version }
27285
+ data: { kernelId: kernel.id, version: pkg$a.version }
27286
27286
  }), "init"),
27287
27287
  read: /* @__PURE__ */ __name(() => 0, "read"),
27288
27288
  write: /* @__PURE__ */ __name(() => 0, "write")
27289
27289
  }];
27290
27290
  return drivers;
27291
27291
  }
27292
- __name(getDrivers$9, "getDrivers$9");
27292
+ __name(getDrivers$a, "getDrivers$a");
27293
27293
  const GamepadDevice = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
27294
27294
  __proto__: null,
27295
27295
  cli: cli$a,
27296
- getDrivers: getDrivers$9,
27297
- pkg: pkg$9
27296
+ getDrivers: getDrivers$a,
27297
+ pkg: pkg$a
27298
27298
  }, Symbol.toStringTag, { value: "Module" }));
27299
27299
  function isObject$6(input) {
27300
27300
  return typeof input === "object" && input !== null;
@@ -27493,7 +27493,7 @@ ansi$3.erase = {
27493
27493
  return csi$3 + (n2 || 0) + "K";
27494
27494
  }, "inLine")
27495
27495
  };
27496
- const pkg$8 = {
27496
+ const pkg$9 = {
27497
27497
  name: "geo",
27498
27498
  version: "0.1.0",
27499
27499
  description: "Geolocation device driver"
@@ -27563,7 +27563,7 @@ Commands:
27563
27563
  }
27564
27564
  }
27565
27565
  __name(cli$9, "cli$9");
27566
- async function getDrivers$8(kernel) {
27566
+ async function getDrivers$9(kernel) {
27567
27567
  const drivers = [];
27568
27568
  if ("geolocation" in navigator) {
27569
27569
  let lastPosition = {
@@ -27600,7 +27600,7 @@ async function getDrivers$8(kernel) {
27600
27600
  minor: 101,
27601
27601
  data: {
27602
27602
  kernelId: kernel.id,
27603
- version: pkg$8.version
27603
+ version: pkg$9.version
27604
27604
  }
27605
27605
  }), "init"),
27606
27606
  read: /* @__PURE__ */ __name((_2, buffer2) => {
@@ -27618,20 +27618,20 @@ async function getDrivers$8(kernel) {
27618
27618
  }
27619
27619
  return drivers;
27620
27620
  }
27621
- __name(getDrivers$8, "getDrivers$8");
27621
+ __name(getDrivers$9, "getDrivers$9");
27622
27622
  const GeoDevice = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
27623
27623
  __proto__: null,
27624
27624
  cli: cli$9,
27625
- getDrivers: getDrivers$8,
27626
- pkg: pkg$8
27625
+ getDrivers: getDrivers$9,
27626
+ pkg: pkg$9
27627
27627
  }, Symbol.toStringTag, { value: "Module" }));
27628
- const pkg$7 = {
27628
+ const pkg$8 = {
27629
27629
  name: "gpu",
27630
27630
  version: "0.1.0",
27631
27631
  description: "WebGPU device driver"
27632
27632
  };
27633
27633
  async function cli$8(options) {
27634
- options.kernel.log.debug(`${pkg$7.name} CLI`, options.args);
27634
+ options.kernel.log.debug(`${pkg$8.name} CLI`, options.args);
27635
27635
  const usage = `
27636
27636
  Usage: gpu <command>
27637
27637
 
@@ -27658,7 +27658,7 @@ Launch chrome using: google-chrome --enable-unsafe-webgpu --enable-features=Vulk
27658
27658
  return 0;
27659
27659
  }
27660
27660
  __name(cli$8, "cli$8");
27661
- async function getDrivers$7(kernel) {
27661
+ async function getDrivers$8(kernel) {
27662
27662
  const drivers = [];
27663
27663
  if ("gpu" in navigator) {
27664
27664
  const adapter = await navigator.gpu.requestAdapter();
@@ -27686,7 +27686,7 @@ async function getDrivers$7(kernel) {
27686
27686
  }
27687
27687
  return drivers;
27688
27688
  }
27689
- __name(getDrivers$7, "getDrivers$7");
27689
+ __name(getDrivers$8, "getDrivers$8");
27690
27690
  async function test$1(kernel) {
27691
27691
  if (!("gpu" in navigator)) throw new Error("WebGPU not available");
27692
27692
  const adapter = await navigator.gpu.requestAdapter();
@@ -27773,8 +27773,8 @@ __name(test$1, "test$1");
27773
27773
  const GPUDevice = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
27774
27774
  __proto__: null,
27775
27775
  cli: cli$8,
27776
- getDrivers: getDrivers$7,
27777
- pkg: pkg$7
27776
+ getDrivers: getDrivers$8,
27777
+ pkg: pkg$8
27778
27778
  }, Symbol.toStringTag, { value: "Module" }));
27779
27779
  function isObject$5(input) {
27780
27780
  return typeof input === "object" && input !== null;
@@ -27973,7 +27973,7 @@ ansi$2.erase = {
27973
27973
  return csi$2 + (n2 || 0) + "K";
27974
27974
  }, "inLine")
27975
27975
  };
27976
- const pkg$6 = {
27976
+ const pkg$7 = {
27977
27977
  name: "hid",
27978
27978
  version: "0.1.0",
27979
27979
  description: "Human Interface Device (HID) driver"
@@ -28091,7 +28091,7 @@ Commands:
28091
28091
  }
28092
28092
  }
28093
28093
  __name(cli$7, "cli$7");
28094
- async function getDrivers$6(kernel) {
28094
+ async function getDrivers$7(kernel) {
28095
28095
  const deviceMap = /* @__PURE__ */ new Map();
28096
28096
  const drivers = [{
28097
28097
  name: "hid",
@@ -28100,7 +28100,7 @@ async function getDrivers$6(kernel) {
28100
28100
  minor: 64,
28101
28101
  data: {
28102
28102
  kernelId: kernel.id,
28103
- version: pkg$6.version
28103
+ version: pkg$7.version
28104
28104
  }
28105
28105
  }), "init"),
28106
28106
  read: /* @__PURE__ */ __name((_2, buffer2) => {
@@ -28131,7 +28131,7 @@ async function getDrivers$6(kernel) {
28131
28131
  minor: 64 + drivers.length,
28132
28132
  data: {
28133
28133
  kernelId: kernel.id,
28134
- version: pkg$6.version
28134
+ version: pkg$7.version
28135
28135
  }
28136
28136
  }), "init"),
28137
28137
  read: /* @__PURE__ */ __name(() => 0, "read"),
@@ -28141,14 +28141,14 @@ async function getDrivers$6(kernel) {
28141
28141
  }
28142
28142
  return drivers;
28143
28143
  }
28144
- __name(getDrivers$6, "getDrivers$6");
28144
+ __name(getDrivers$7, "getDrivers$7");
28145
28145
  const HIDDevice = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
28146
28146
  __proto__: null,
28147
28147
  cli: cli$7,
28148
- getDrivers: getDrivers$6,
28149
- pkg: pkg$6
28148
+ getDrivers: getDrivers$7,
28149
+ pkg: pkg$7
28150
28150
  }, Symbol.toStringTag, { value: "Module" }));
28151
- const pkg$5 = {
28151
+ const pkg$6 = {
28152
28152
  name: "midi",
28153
28153
  version: "0.1.0",
28154
28154
  description: "MIDI device driver"
@@ -28271,7 +28271,7 @@ Commands:
28271
28271
  }
28272
28272
  }
28273
28273
  __name(cli$6, "cli$6");
28274
- async function getDrivers$5(kernel) {
28274
+ async function getDrivers$6(kernel) {
28275
28275
  const drivers = [{
28276
28276
  name: "midi",
28277
28277
  init: /* @__PURE__ */ __name(() => ({
@@ -28284,14 +28284,14 @@ async function getDrivers$5(kernel) {
28284
28284
  }];
28285
28285
  return drivers;
28286
28286
  }
28287
- __name(getDrivers$5, "getDrivers$5");
28287
+ __name(getDrivers$6, "getDrivers$6");
28288
28288
  const MIDIDevice = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
28289
28289
  __proto__: null,
28290
28290
  cli: cli$6,
28291
- getDrivers: getDrivers$5,
28292
- pkg: pkg$5
28291
+ getDrivers: getDrivers$6,
28292
+ pkg: pkg$6
28293
28293
  }, Symbol.toStringTag, { value: "Module" }));
28294
- const pkg$4 = {
28294
+ const pkg$5 = {
28295
28295
  name: "presentation",
28296
28296
  version: "0.1.0",
28297
28297
  description: "Web Presentation API device driver"
@@ -28326,7 +28326,7 @@ Commands:
28326
28326
  return 0;
28327
28327
  }
28328
28328
  __name(cli$5, "cli$5");
28329
- async function getDrivers$4() {
28329
+ async function getDrivers$5() {
28330
28330
  const drivers = [];
28331
28331
  if ("presentation" in navigator) {
28332
28332
  drivers.push({
@@ -28341,7 +28341,7 @@ async function getDrivers$4() {
28341
28341
  }
28342
28342
  return drivers;
28343
28343
  }
28344
- __name(getDrivers$4, "getDrivers$4");
28344
+ __name(getDrivers$5, "getDrivers$5");
28345
28345
  async function listDisplays(kernel, presentationUrl) {
28346
28346
  if (!("PresentationRequest" in globalThis)) throw new Error("PresentationRequest API not supported");
28347
28347
  try {
@@ -28391,8 +28391,8 @@ __name(startPresentation, "startPresentation");
28391
28391
  const PresentationDevice = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
28392
28392
  __proto__: null,
28393
28393
  cli: cli$5,
28394
- getDrivers: getDrivers$4,
28395
- pkg: pkg$4
28394
+ getDrivers: getDrivers$5,
28395
+ pkg: pkg$5
28396
28396
  }, Symbol.toStringTag, { value: "Module" }));
28397
28397
  function isObject$4(input) {
28398
28398
  return typeof input === "object" && input !== null;
@@ -28591,7 +28591,7 @@ ansi$1.erase = {
28591
28591
  return csi$1 + (n2 || 0) + "K";
28592
28592
  }, "inLine")
28593
28593
  };
28594
- const pkg$3 = {
28594
+ const pkg$4 = {
28595
28595
  name: "sensors",
28596
28596
  version: "0.1.0",
28597
28597
  description: "Device sensors driver"
@@ -28678,16 +28678,16 @@ Commands:
28678
28678
  }
28679
28679
  }
28680
28680
  __name(cli$4, "cli$4");
28681
- async function getDrivers$3(kernel) {
28681
+ async function getDrivers$4(kernel) {
28682
28682
  const drivers = [{
28683
28683
  name: "sensors",
28684
- init: /* @__PURE__ */ __name(() => ({ major: 0, minor: 0, data: { kernelId: kernel.id, version: pkg$3.version } }), "init"),
28684
+ init: /* @__PURE__ */ __name(() => ({ major: 0, minor: 0, data: { kernelId: kernel.id, version: pkg$4.version } }), "init"),
28685
28685
  read: /* @__PURE__ */ __name(() => 0, "read"),
28686
28686
  write: /* @__PURE__ */ __name(() => 0, "write")
28687
28687
  }];
28688
28688
  return drivers;
28689
28689
  }
28690
- __name(getDrivers$3, "getDrivers$3");
28690
+ __name(getDrivers$4, "getDrivers$4");
28691
28691
  const activeSensors = /* @__PURE__ */ new Map();
28692
28692
  let watchCounter = 0;
28693
28693
  async function readSensor(sensorType, terminal) {
@@ -28879,11 +28879,11 @@ __name(isSensorType, "isSensorType");
28879
28879
  const SensorsDevice = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
28880
28880
  __proto__: null,
28881
28881
  cli: cli$4,
28882
- getDrivers: getDrivers$3,
28883
- pkg: pkg$3
28882
+ getDrivers: getDrivers$4,
28883
+ pkg: pkg$4
28884
28884
  }, Symbol.toStringTag, { value: "Module" }));
28885
28885
  const availablePorts = /* @__PURE__ */ new Set();
28886
- const pkg$2 = {
28886
+ const pkg$3 = {
28887
28887
  name: "serial",
28888
28888
  version: "0.1.0",
28889
28889
  description: "Web Serial device driver",
@@ -28944,7 +28944,7 @@ async function cli$3(options) {
28944
28944
  }
28945
28945
  }
28946
28946
  default:
28947
- terminal.writeln(pkg$2.help);
28947
+ terminal.writeln(pkg$3.help);
28948
28948
  return 0;
28949
28949
  }
28950
28950
  }
@@ -28977,7 +28977,7 @@ async function createDriver(name) {
28977
28977
  };
28978
28978
  }
28979
28979
  __name(createDriver, "createDriver");
28980
- async function getDrivers$2(kernel) {
28980
+ async function getDrivers$3(kernel) {
28981
28981
  if (typeof navigator === "undefined" || !navigator.serial) return [];
28982
28982
  navigator.serial.addEventListener("connect", async (event) => {
28983
28983
  kernel.events.emit("device:connect", event.target);
@@ -28991,10 +28991,169 @@ async function getDrivers$2(kernel) {
28991
28991
  for (let i2 = 0; i2 < ports.length; i2++) drivers.push(await createDriver(`ttyS${i2}`));
28992
28992
  return drivers;
28993
28993
  }
28994
- __name(getDrivers$2, "getDrivers$2");
28994
+ __name(getDrivers$3, "getDrivers$3");
28995
28995
  const SerialDevice = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
28996
28996
  __proto__: null,
28997
28997
  cli: cli$3,
28998
+ getDrivers: getDrivers$3,
28999
+ pkg: pkg$3
29000
+ }, Symbol.toStringTag, { value: "Module" }));
29001
+ const pkg$2 = {
29002
+ name: "tty",
29003
+ version: "0.1.0",
29004
+ description: "TTY pseudo-device drivers for /dev/ttyN"
29005
+ };
29006
+ const _TTYReadBuffer = class _TTYReadBuffer {
29007
+ constructor() {
29008
+ __publicField(this, "buffer", []);
29009
+ __publicField(this, "maxSize", 1024 * 1024);
29010
+ __publicField(this, "currentSize", 0);
29011
+ }
29012
+ append(data) {
29013
+ this.buffer.push(data);
29014
+ this.currentSize += data.length;
29015
+ while (this.currentSize > this.maxSize && this.buffer.length > 0) {
29016
+ const removed = this.buffer.shift();
29017
+ if (removed)
29018
+ this.currentSize -= removed.length;
29019
+ }
29020
+ }
29021
+ read(target, offset, length) {
29022
+ if (this.buffer.length === 0)
29023
+ return 0;
29024
+ let bytesRead = 0;
29025
+ const targetView = new Uint8Array(target.buffer, target.byteOffset + offset, length);
29026
+ while (bytesRead < length && this.buffer.length > 0) {
29027
+ const chunk = this.buffer[0];
29028
+ if (!chunk)
29029
+ break;
29030
+ const remaining = length - bytesRead;
29031
+ const toCopy = Math.min(remaining, chunk.length);
29032
+ targetView.set(chunk.subarray(0, toCopy), bytesRead);
29033
+ bytesRead += toCopy;
29034
+ if (toCopy === chunk.length) {
29035
+ this.buffer.shift();
29036
+ this.currentSize -= chunk.length;
29037
+ } else {
29038
+ this.buffer[0] = chunk.subarray(toCopy);
29039
+ this.currentSize -= toCopy;
29040
+ }
29041
+ }
29042
+ return bytesRead;
29043
+ }
29044
+ clear() {
29045
+ this.buffer = [];
29046
+ this.currentSize = 0;
29047
+ }
29048
+ get size() {
29049
+ return this.currentSize;
29050
+ }
29051
+ };
29052
+ __name(_TTYReadBuffer, "TTYReadBuffer");
29053
+ let TTYReadBuffer = _TTYReadBuffer;
29054
+ const ttyBuffers = /* @__PURE__ */ new Map();
29055
+ const bufferedTerminals = /* @__PURE__ */ new WeakSet();
29056
+ function getOrCreateBuffer(ttyNumber) {
29057
+ if (!ttyBuffers.has(ttyNumber))
29058
+ ttyBuffers.set(ttyNumber, new TTYReadBuffer());
29059
+ return ttyBuffers.get(ttyNumber);
29060
+ }
29061
+ __name(getOrCreateBuffer, "getOrCreateBuffer");
29062
+ function setupTTYOutputBuffering(kernel, ttyNumber) {
29063
+ const shell = kernel.getShell(ttyNumber);
29064
+ if (!shell || !shell.terminal)
29065
+ return;
29066
+ const terminal = shell.terminal;
29067
+ const buffer2 = getOrCreateBuffer(ttyNumber);
29068
+ if (bufferedTerminals.has(terminal))
29069
+ return;
29070
+ const originalWrite = terminal.write.bind(terminal);
29071
+ const originalWriteln = terminal.writeln.bind(terminal);
29072
+ terminal.write = function(data) {
29073
+ const result = originalWrite(data);
29074
+ if (typeof data === "string") {
29075
+ buffer2.append(new TextEncoder().encode(data));
29076
+ } else {
29077
+ buffer2.append(data);
29078
+ }
29079
+ return result;
29080
+ };
29081
+ terminal.writeln = function(data) {
29082
+ const result = originalWriteln(data);
29083
+ const newline = new TextEncoder().encode("\n");
29084
+ if (typeof data === "string") {
29085
+ buffer2.append(new TextEncoder().encode(data + "\n"));
29086
+ } else {
29087
+ const combined = new Uint8Array(data.length + 1);
29088
+ combined.set(data);
29089
+ combined.set(newline, data.length);
29090
+ buffer2.append(combined);
29091
+ }
29092
+ return result;
29093
+ };
29094
+ bufferedTerminals.add(terminal);
29095
+ }
29096
+ __name(setupTTYOutputBuffering, "setupTTYOutputBuffering");
29097
+ async function getDrivers$2(kernel) {
29098
+ const drivers = [];
29099
+ for (let ttyNumber = 0; ttyNumber <= 9; ttyNumber++) {
29100
+ const deviceName = `tty${ttyNumber}`;
29101
+ drivers.push({
29102
+ name: deviceName,
29103
+ singleton: true,
29104
+ init: /* @__PURE__ */ __name(() => {
29105
+ return {
29106
+ major: 4,
29107
+ minor: ttyNumber,
29108
+ data: {
29109
+ ttyNumber,
29110
+ kernelId: kernel.id
29111
+ }
29112
+ };
29113
+ }, "init"),
29114
+ read: /* @__PURE__ */ __name((file, buffer2, offset, end) => {
29115
+ const ttyNumber2 = file.data?.ttyNumber;
29116
+ if (ttyNumber2 === void 0)
29117
+ return 0;
29118
+ const shell = kernel.getShell(ttyNumber2);
29119
+ if (!shell || !shell.terminal)
29120
+ return 0;
29121
+ setupTTYOutputBuffering(kernel, ttyNumber2);
29122
+ const readBuffer = getOrCreateBuffer(ttyNumber2);
29123
+ const length = end - offset;
29124
+ return readBuffer.read(buffer2, offset, length);
29125
+ }, "read"),
29126
+ write: /* @__PURE__ */ __name((file, buffer2, offset) => {
29127
+ const ttyNumber2 = file.data?.ttyNumber;
29128
+ if (ttyNumber2 === void 0)
29129
+ return 0;
29130
+ const bufferView = new Uint8Array(buffer2.buffer, buffer2.byteOffset + offset, buffer2.byteLength - offset);
29131
+ const text = new TextDecoder().decode(bufferView);
29132
+ let shell = kernel.getShell(ttyNumber2);
29133
+ if (!shell || !shell.terminal) {
29134
+ const terminalContainer = document.getElementById(`terminal-tty${ttyNumber2}`);
29135
+ if (terminalContainer) {
29136
+ kernel.createShell(ttyNumber2).then((createdShell) => {
29137
+ if (createdShell && createdShell.terminal) {
29138
+ createdShell.terminal.write(text);
29139
+ createdShell.terminal.dispatchStdin(text);
29140
+ }
29141
+ }).catch(() => {
29142
+ });
29143
+ }
29144
+ return bufferView.length;
29145
+ }
29146
+ shell.terminal.write(text);
29147
+ shell.terminal.dispatchStdin(text);
29148
+ return bufferView.length;
29149
+ }, "write")
29150
+ });
29151
+ }
29152
+ return drivers;
29153
+ }
29154
+ __name(getDrivers$2, "getDrivers$2");
29155
+ const TTYDevice = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
29156
+ __proto__: null,
28998
29157
  getDrivers: getDrivers$2,
28999
29158
  pkg: pkg$2
29000
29159
  }, Symbol.toStringTag, { value: "Module" }));
@@ -29325,6 +29484,7 @@ const DefaultDevices = {
29325
29484
  presentation: PresentationDevice,
29326
29485
  sensors: SensorsDevice,
29327
29486
  serial: SerialDevice,
29487
+ tty: TTYDevice,
29328
29488
  usb: USBDevice,
29329
29489
  webgl: WebGLDevice
29330
29490
  };
@@ -81555,7 +81715,7 @@ function createCommand$1b(kernel, shell, terminal) {
81555
81715
  if (!clientConfig.accessToken) {
81556
81716
  throw new Error("client configuration must include accessToken");
81557
81717
  }
81558
- const dropboxModule = await import("./index-BJ4HPRTi.js");
81718
+ const dropboxModule = await import("./index-Dt0A0I3o.js");
81559
81719
  const DropboxClient = dropboxModule.Dropbox;
81560
81720
  const client = new DropboxClient(clientConfig);
81561
81721
  const cacheTTL = mountOptions.cacheTTL ? parseInt(mountOptions.cacheTTL, 10) : void 0;
@@ -81895,7 +82055,7 @@ Mount summary: ${successCount} succeeded, ${failCount} failed`);
81895
82055
  await writelnStderr(process2, terminal, chalk$1.red("mount: client configuration must include accessToken"));
81896
82056
  return 1;
81897
82057
  }
81898
- const dropboxModule = await import("./index-BJ4HPRTi.js");
82058
+ const dropboxModule = await import("./index-Dt0A0I3o.js");
81899
82059
  const DropboxClient = dropboxModule.Dropbox;
81900
82060
  const client = new DropboxClient(clientConfig);
81901
82061
  const cacheTTL = mountOptions.cacheTTL ? parseInt(mountOptions.cacheTTL, 10) : void 0;
@@ -124989,7 +125149,7 @@ const TerminalCommands = /* @__PURE__ */ __name((kernel, shell, terminal) => {
124989
125149
  { name: "reinstall", type: Boolean, description: "Reinstall the package if it is already installed" }
124990
125150
  ],
124991
125151
  run: /* @__PURE__ */ __name(async (argv) => {
124992
- const { default: install } = await import("./install-CYHZu4La.js");
125152
+ const { default: install } = await import("./install-CRrPdUs9.js");
124993
125153
  return await install({ kernel, shell, terminal, args: [argv.package, argv.registry, argv.reinstall] });
124994
125154
  }, "run")
124995
125155
  }),
@@ -125004,7 +125164,7 @@ const TerminalCommands = /* @__PURE__ */ __name((kernel, shell, terminal) => {
125004
125164
  { name: "package", type: String, typeLabel: "{underline package}", defaultOption: true, description: "The package name and optional version (e.g. package@1.0.0). If no version is specified, all versions will be uninstalled." }
125005
125165
  ],
125006
125166
  run: /* @__PURE__ */ __name(async (argv) => {
125007
- const { default: uninstall } = await import("./uninstall-CGDotg6T.js");
125167
+ const { default: uninstall } = await import("./uninstall-Bb4xsCq5.js");
125008
125168
  return await uninstall({ kernel, shell, terminal, args: [argv.package] });
125009
125169
  }, "run")
125010
125170
  }),
@@ -142785,7 +142945,7 @@ async function createWasiPreview2Bindings({
142785
142945
  const stdinReader = streams2.stdin.getReader();
142786
142946
  const stdoutWriter = streams2.stdout.getWriter();
142787
142947
  const stderrWriter = streams2.stderr.getWriter();
142788
- const jco = await import("./browser-97JnRk6A.js");
142948
+ const jco = await import("./browser-D_rzdy4k.js");
142789
142949
  const { transpile: transpileComponent } = jco;
142790
142950
  const wasiCli = await Promise.resolve().then(() => cli);
142791
142951
  const wasiCliAny = wasiCli;
@@ -144974,7 +145134,7 @@ function parseFstabFile(content) {
144974
145134
  return entries2;
144975
145135
  }
144976
145136
  __name(parseFstabFile, "parseFstabFile");
144977
- const __vite_import_meta_env__ = { "AUTHOR": { "name": "Jay Mathis", "email": "code@mathis.network", "url": "https://github.com/mathiscode" }, "BASE_URL": "/", "DESCRIPTION": "ecmaOS: Micro-kernel and framework for web technologies", "DEV": false, "ECMAOS_APP_SHOW_DEFAULT_LOGIN": "true", "ECMAOS_BOOT_DISABLE_ISSUES": "true", "ECMAOS_BOOT_DISABLE_LOGO_CONSOLE": "false", "ECMAOS_BOOT_DISABLE_LOGO_FIGLET": "false", "ECMAOS_BOOT_DISABLE_TIPS": "false", "ECMAOS_INITFS": "/initfs.tar.gz", "ECMAOS_KERNEL_INTERVALS_PROC": "1000", "ECMAOS_KERNEL_MODULES": "@ecmaos-modules/boilerplate@0.1.0", "ECMAOS_METAL_SOCKET": "ws://localhost:30445/socket", "ECMAOS_OPENTELEMETRY_ENDPOINT": "http://localhost:4318/v1/traces", "ECMAOS_PORT": "30443", "ECMAOS_RECOMMENDED_APPS": "@ecmaos-apps/code,@ecmaos-apps/edit,@ecmaos-apps/ai,@ecmaos-apps/webamp,@ecmaos-apps/news", "HOMEPAGE": "https://ecmaos.sh", "KNOWN_ISSUES": ["It's best to stick to Chromium-based browsers for the most features", "Keyboard is broken on mobile; ecmaOS is not mobile-friendly at this time", "Don't expect any sort of POSIX compliance at this stage", "Most commands/devices are very basic implementations, not complete reproductions", "stdin/stdout/stderr streams and redirection can be wonky and don't work everywhere, but are coming along", "CTRL-C will return you to a prompt, but doesn't currently interrupt a process", "Lots of unfinished work; watch your step"], "MODE": "production", "NAME": "@ecmaos/kernel", "PROD": true, "REPOSITORY": "https://github.com/ecmaos/ecmaos", "SSR": false, "TIPS": ["ecmaos.sh has no backend server; all data is stored and processed entirely in your browser", "If it ever fails to boot, check your logs, try clearing all data, try incognito mode, or try another browser", "You can switch between TTYs using CTRL+SHIFT+<0-9>", "You can run some devices that offer a CLI - e.g. '/dev/battery --help'", "Use the 'install' command to install packages - e.g. 'install @ecmaos-apps/news'", "You can install any NPM package - e.g. 'install jquery'", "You can use the 'mount' command to view and mount filesystems (/etc/fstab supported)", "Use the 'news' command to see the latest news about ecmaOS", "Type 'ls /bin' to see all built-in commands", "Type 'ls /usr/bin' to see all installed commands", "Type 'ls /dev' to see all available devices", "You can set your environment variables in ~/.env (try setting PROMPT to a PS1-like format)", "You can register and login with a passkey: 'passkey register' and 'passkey list'", "The 'man' command can be used to view the manual pages for packages: 'man @ecmaos/kernel'", "Try 'fetch /xkcd-os.sixel'"], "VERSION": "0.10.1", "XTERM_VERSION": "6.0.0", "ZENFS_VERSION": "2.4.4" };
145137
+ const __vite_import_meta_env__ = { "AUTHOR": { "name": "Jay Mathis", "email": "code@mathis.network", "url": "https://github.com/mathiscode" }, "BASE_URL": "/", "DESCRIPTION": "ecmaOS: Micro-kernel and framework for web technologies", "DEV": false, "ECMAOS_APP_SHOW_DEFAULT_LOGIN": "true", "ECMAOS_BOOT_DISABLE_ISSUES": "true", "ECMAOS_BOOT_DISABLE_LOGO_CONSOLE": "false", "ECMAOS_BOOT_DISABLE_LOGO_FIGLET": "false", "ECMAOS_BOOT_DISABLE_TIPS": "false", "ECMAOS_INITFS": "/initfs.tar.gz", "ECMAOS_KERNEL_INTERVALS_PROC": "1000", "ECMAOS_KERNEL_MODULES": "@ecmaos-modules/boilerplate@0.1.0", "ECMAOS_METAL_SOCKET": "ws://localhost:30445/socket", "ECMAOS_OPENTELEMETRY_ENDPOINT": "http://localhost:4318/v1/traces", "ECMAOS_PORT": "30443", "ECMAOS_RECOMMENDED_APPS": "@ecmaos-apps/code,@ecmaos-apps/edit,@ecmaos-apps/ai,@ecmaos-apps/webamp,@ecmaos-apps/news", "HOMEPAGE": "https://ecmaos.sh", "KNOWN_ISSUES": ["It's best to stick to Chromium-based browsers for the most features", "Keyboard is broken on mobile; ecmaOS is not mobile-friendly at this time", "Don't expect any sort of POSIX compliance at this stage", "Most commands/devices are very basic implementations, not complete reproductions", "stdin/stdout/stderr streams and redirection can be wonky and don't work everywhere, but are coming along", "CTRL-C will return you to a prompt, but doesn't currently interrupt a process", "Lots of unfinished work; watch your step"], "MODE": "production", "NAME": "@ecmaos/kernel", "PROD": true, "REPOSITORY": "https://github.com/ecmaos/ecmaos", "SSR": false, "TIPS": ["ecmaos.sh has no backend server; all data is stored and processed entirely in your browser", "If it ever fails to boot, check your logs, try clearing all data, try incognito mode, or try another browser", "You can switch between TTYs using CTRL+SHIFT+<0-9>", "You can run some devices that offer a CLI - e.g. '/dev/battery --help'", "Use the 'install' command to install packages - e.g. 'install @ecmaos-apps/news'", "You can install any NPM package - e.g. 'install jquery'", "You can use the 'mount' command to view and mount filesystems (/etc/fstab supported)", "Use the 'news' command to see the latest news about ecmaOS", "Type 'ls /bin' to see all built-in commands", "Type 'ls /usr/bin' to see all installed commands", "Type 'ls /dev' to see all available devices", "You can set your environment variables in ~/.env (try setting PROMPT to a PS1-like format)", "You can register and login with a passkey: 'passkey register' and 'passkey list'", "The 'man' command can be used to view the manual pages for packages: 'man @ecmaos/kernel'", "Try 'fetch /xkcd-os.sixel'"], "VERSION": "0.10.2", "XTERM_VERSION": "6.0.0", "ZENFS_VERSION": "2.4.4" };
144978
145138
  var define_import_meta_env_AUTHOR_default = { name: "Jay Mathis", email: "code@mathis.network", url: "https://github.com/mathiscode" };
144979
145139
  var define_import_meta_env_KNOWN_ISSUES_default = ["It's best to stick to Chromium-based browsers for the most features", "Keyboard is broken on mobile; ecmaOS is not mobile-friendly at this time", "Don't expect any sort of POSIX compliance at this stage", "Most commands/devices are very basic implementations, not complete reproductions", "stdin/stdout/stderr streams and redirection can be wonky and don't work everywhere, but are coming along", "CTRL-C will return you to a prompt, but doesn't currently interrupt a process", "Lots of unfinished work; watch your step"];
144980
145140
  var define_import_meta_env_TIPS_default = ["ecmaos.sh has no backend server; all data is stored and processed entirely in your browser", "If it ever fails to boot, check your logs, try clearing all data, try incognito mode, or try another browser", "You can switch between TTYs using CTRL+SHIFT+<0-9>", "You can run some devices that offer a CLI - e.g. '/dev/battery --help'", "Use the 'install' command to install packages - e.g. 'install @ecmaos-apps/news'", "You can install any NPM package - e.g. 'install jquery'", "You can use the 'mount' command to view and mount filesystems (/etc/fstab supported)", "Use the 'news' command to see the latest news about ecmaOS", "Type 'ls /bin' to see all built-in commands", "Type 'ls /usr/bin' to see all installed commands", "Type 'ls /dev' to see all available devices", "You can set your environment variables in ~/.env (try setting PROMPT to a PS1-like format)", "You can register and login with a passkey: 'passkey register' and 'passkey list'", "The 'man' command can be used to view the manual pages for packages: 'man @ecmaos/kernel'", "Try 'fetch /xkcd-os.sixel'"];
@@ -145019,7 +145179,7 @@ const _Kernel = class _Kernel {
145019
145179
  /** Name of the kernel */
145020
145180
  __publicField(this, "name", "@ecmaos/kernel");
145021
145181
  /** Version string of the kernel */
145022
- __publicField(this, "version", "0.10.1");
145182
+ __publicField(this, "version", "0.10.2");
145023
145183
  /** Authentication and authorization service */
145024
145184
  __publicField(this, "auth");
145025
145185
  /** BIOS module providing low-level functionality */
@@ -145317,7 +145477,7 @@ const _Kernel = class _Kernel {
145317
145477
  ];
145318
145478
  this.terminal.writeln(chalk$2.red.bold(`🐉 ${this.i18n.ns.kernel("experimental")} 🐉`));
145319
145479
  this.terminal.writeln(
145320
- `${this.terminal.createSpecialLink("https://ecmaos.sh", "@ecmaos/kernel")}@${"0.10.1"}` + chalk$2.cyan(` [${dependencyLinks.map((link2) => link2.link).join(", ")}]`)
145480
+ `${this.terminal.createSpecialLink("https://ecmaos.sh", "@ecmaos/kernel")}@${"0.10.2"}` + chalk$2.cyan(` [${dependencyLinks.map((link2) => link2.link).join(", ")}]`)
145321
145481
  );
145322
145482
  this.terminal.writeln(`${this.i18n.ns.kernel("madeBy")} ${this.terminal.createSpecialLink(
145323
145483
  define_import_meta_env_AUTHOR_default?.url || "https://github.com/mathiscode",
@@ -145340,14 +145500,14 @@ const _Kernel = class _Kernel {
145340
145500
  if (logoFiglet && true) {
145341
145501
  console.log(`%c${logoFiglet}`, "color: green");
145342
145502
  console.log(`%c${"https://github.com/ecmaos/ecmaos"}`, "color: blue; text-decoration: underline; font-size: 16px");
145343
- this.log.info(`${"@ecmaos/kernel"} v${"0.10.1"}`);
145503
+ this.log.info(`${"@ecmaos/kernel"} v${"0.10.2"}`);
145344
145504
  }
145345
145505
  if (Notification?.permission === "default") Notification.requestPermission();
145346
145506
  if (Notification?.permission === "denied") this.log.warn(t2("kernel.permissionNotificationDenied", "Notification permission denied"));
145347
145507
  this.intervals.set("title-blink", () => {
145348
145508
  globalThis.document.title = globalThis.document.title.includes("_") ? "ecmaos# " : "ecmaos# _";
145349
145509
  }, 600);
145350
- this.toast.success(`${"@ecmaos/kernel"} v${"0.10.1"}`);
145510
+ this.toast.success(`${"@ecmaos/kernel"} v${"0.10.2"}`);
145351
145511
  this._showTtyIndicator(this._activeTty);
145352
145512
  }
145353
145513
  if (await this.filesystem.fs.exists("/run")) {
@@ -146291,7 +146451,7 @@ const _Kernel = class _Kernel {
146291
146451
  memory: "?",
146292
146452
  platform: navigator.userAgentData?.platform || navigator?.platform || navigator.userAgent,
146293
146453
  querystring: location.search,
146294
- version: `${"@ecmaos/kernel"} ${"0.10.1"}`,
146454
+ version: `${"@ecmaos/kernel"} ${"0.10.2"}`,
146295
146455
  language: navigator.language,
146296
146456
  host: location.host,
146297
146457
  userAgent: navigator.userAgent,
@@ -146845,4 +147005,4 @@ export {
146845
147005
  semver as s,
146846
147006
  types$1 as t
146847
147007
  };
146848
- //# sourceMappingURL=kernel-CBc_SGe6.js.map
147008
+ //# sourceMappingURL=kernel-Io5VyIzi.js.map