@ecmaos/kernel 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/README.md +112 -19
  2. package/dist/.vite/manifest.json +23 -12
  3. package/dist/ecmaos-figlet.png +0 -0
  4. package/dist/ecmaos-screenshot.png +0 -0
  5. package/dist/ecmaos.sh-lighthouse-report.png +0 -0
  6. package/dist/index-CxwR4Omn.js +1651 -0
  7. package/dist/index-CxwR4Omn.js.map +1 -0
  8. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/assets/dmt/dmt-component-data.js +1 -1
  9. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/assets/dmt/dmt-search.cmp +0 -0
  10. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/assets/highlight.css +12 -12
  11. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_auth.Auth.html +2 -2
  12. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_components.Component.html +2 -2
  13. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_components.Components.html +2 -2
  14. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_dom.Dom.html +2 -2
  15. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_events.Events.html +8 -8
  16. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_fdtable.FDTable.html +14 -14
  17. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_filesystem.Filesystem.html +12 -11
  18. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_i18n.I18n.html +2 -2
  19. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_intervals.Intervals.html +6 -2
  20. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_kernel.Kernel.html +68 -60
  21. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_lib_commands.TerminalCommand.html +4 -4
  22. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_log.Log.html +3 -3
  23. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_memory.Memory.html +2 -2
  24. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_processes.Process.html +33 -33
  25. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_processes.ProcessManager.html +2 -2
  26. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_protocol.Protocol.html +2 -2
  27. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_service.Service.html +10 -10
  28. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_shell.Shell.html +16 -16
  29. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_sockets.Sockets.html +7 -7
  30. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_storage.Storage.html +8 -8
  31. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_telemetry.Telemetry.html +2 -2
  32. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_terminal.Spinner.html +2 -2
  33. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_terminal.Terminal.html +32 -32
  34. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_users.Users.html +13 -13
  35. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_wasm.Wasm.html +4 -4
  36. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_windows.Windows.html +8 -8
  37. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_workers.Workers.html +4 -4
  38. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/enums/kernel_src_tree_terminal.CommandPath.html +2 -2
  39. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/enums/types_kernel.KernelEvents.html +2 -2
  40. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/enums/types_kernel.KernelState.html +2 -2
  41. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/enums/types_processes.ProcessEvents.html +2 -2
  42. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/enums/types_terminal.TerminalEvents.html +2 -2
  43. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.TerminalCommands.html +1 -1
  44. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.chown.html +1 -1
  45. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.clear.html +1 -1
  46. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.df.html +1 -1
  47. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.download.html +1 -1
  48. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.env.html +1 -1
  49. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.load.html +1 -1
  50. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.mount.html +1 -1
  51. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.passwd.html +1 -1
  52. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.play.html +1 -1
  53. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.ps.html +1 -1
  54. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.reboot.html +1 -1
  55. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.screensaver.html +1 -1
  56. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.snake.html +1 -1
  57. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.su.html +1 -1
  58. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.umount.html +1 -1
  59. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.upload.html +1 -1
  60. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.video.html +1 -1
  61. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands_install.default.html +1 -1
  62. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands_uninstall.default.html +1 -1
  63. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_crontab.parseCrontabFile.html +5 -0
  64. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_crontab.parseCrontabLine.html +5 -0
  65. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_fstab.parseFstabFile.html +5 -0
  66. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_fstab.parseFstabLine.html +5 -0
  67. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_screensavers_blank.default.html +1 -1
  68. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_screensavers_blank.exit.html +1 -1
  69. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_screensavers_matrix.default.html +1 -1
  70. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_screensavers_matrix.exit.html +1 -1
  71. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/index.html +70 -16
  72. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/kernel_src_tree_lib_commands.CommandArgs.html +2 -2
  73. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/kernel_src_tree_lib_crontab.CrontabEntry.html +5 -0
  74. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_auth.Auth.html +2 -2
  75. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_components.Components.html +2 -2
  76. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_device.KernelDevice.html +4 -4
  77. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_device.KernelDeviceCLIOptions.html +6 -6
  78. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_device.KernelDeviceData.html +1 -1
  79. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_dom.Dom.html +4 -4
  80. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_dom.DomOptions.html +2 -2
  81. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_events.Events.html +8 -8
  82. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_filesystem.FileHeader.html +4 -4
  83. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_filesystem.Filesystem.html +9 -9
  84. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_filesystem.FilesystemDescriptions.html +2 -2
  85. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_filesystem.FstabEntry.html +13 -0
  86. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_i18n.I18n.html +4 -4
  87. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_i18n.I18nOptions.html +7 -7
  88. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_intervals.ITimerHandle.html +5 -0
  89. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_intervals.Intervals.html +18 -4
  90. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_kernel.BootOptions.html +2 -2
  91. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_kernel.Kernel.html +46 -46
  92. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_kernel.KernelExecuteEvent.html +2 -2
  93. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_kernel.KernelExecuteOptions.html +2 -2
  94. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_kernel.KernelOptions.html +2 -2
  95. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_kernel.KernelPanicEvent.html +2 -2
  96. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_kernel.KernelShutdownEvent.html +2 -2
  97. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_kernel.KernelUploadEvent.html +2 -2
  98. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_keyboard.Keyboard.html +2 -2
  99. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_log.Log.html +10 -10
  100. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_log.LogOptions.html +4 -4
  101. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_memory.Memory.html +16 -16
  102. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_modules.KernelModule.html +2 -2
  103. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.FDTable.html +13 -13
  104. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.FileHandle.html +8 -8
  105. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.Process.html +31 -31
  106. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.ProcessEntryParams.html +16 -16
  107. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.ProcessExitEvent.html +2 -2
  108. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.ProcessManager.html +8 -8
  109. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.ProcessOptions.html +18 -18
  110. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.ProcessPauseEvent.html +2 -2
  111. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.ProcessResumeEvent.html +2 -2
  112. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.ProcessStartEvent.html +2 -2
  113. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.ProcessStopEvent.html +2 -2
  114. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_protocol.Protocol.html +3 -3
  115. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_protocol.ProtocolOptions.html +3 -3
  116. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_service.Service.html +9 -9
  117. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_service.ServiceOptions.html +4 -4
  118. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_shell.Shell.html +13 -13
  119. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_shell.ShellOptions.html +7 -7
  120. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_sockets.Sockets.html +7 -7
  121. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_sockets.SocketsOptions.html +2 -2
  122. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_sockets.WebSocketConnection.html +8 -8
  123. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_sockets.WebTransportConnection.html +8 -8
  124. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_storage.StorageOptions.html +3 -3
  125. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_storage.StorageProvider.html +7 -7
  126. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_telemetry.Telemetry.html +3 -3
  127. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_telemetry.TelemetryOptions.html +2 -2
  128. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.Terminal.html +30 -30
  129. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalAttachEvent.html +2 -2
  130. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalCommand.html +4 -4
  131. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalCreatedEvent.html +2 -2
  132. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalExecuteEvent.html +2 -2
  133. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalInputEvent.html +2 -2
  134. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalInterruptEvent.html +2 -2
  135. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalKeyEvent.html +2 -2
  136. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalListenEvent.html +2 -2
  137. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalMessageEvent.html +2 -2
  138. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalMountEvent.html +2 -2
  139. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalOptions.html +6 -6
  140. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalPasteEvent.html +2 -2
  141. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalResizeEvent.html +2 -2
  142. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalUnlistenEvent.html +2 -2
  143. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalWriteEvent.html +2 -2
  144. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalWritelnEvent.html +2 -2
  145. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_users.AddUserOptions.html +4 -4
  146. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_users.Passkey.html +7 -7
  147. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_users.User.html +9 -9
  148. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_users.Users.html +14 -14
  149. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_users.UsersOptions.html +2 -2
  150. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_wasm.Wasm.html +3 -3
  151. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_wasm.WasmOptions.html +2 -2
  152. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_windows.WindowOptions.html +2 -2
  153. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_windows.Windows.html +7 -7
  154. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_workers.Workers.html +3 -3
  155. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/media/package.json +8 -5
  156. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/media/turbo.json +7 -7
  157. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/modules/kernel_src_tree_lib_commands.html +1 -1
  158. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/modules/kernel_src_tree_lib_crontab.html +2 -0
  159. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/modules/kernel_src_tree_lib_fstab.html +2 -0
  160. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/modules/types_filesystem.html +1 -1
  161. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/modules/types_intervals.html +1 -1
  162. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/modules.html +1 -1
  163. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/tutorials/ai.md +114 -0
  164. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/tutorials/passkey.md +147 -0
  165. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/kernel_src_tree_fdtable.ZenFSFileHandle.html +1 -1
  166. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_auth.PasswordCredentialInit.html +1 -1
  167. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_components.ComponentListener.html +1 -1
  168. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_events.EventCallback.html +1 -1
  169. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_filesystem.FilesystemConfigMounts.html +1 -1
  170. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_filesystem.FilesystemOptions.html +1 -1
  171. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_filesystem.Fstab.html +3 -0
  172. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_filesystem.Path.html +1 -1
  173. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_intervals.CronMap.html +3 -0
  174. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_intervals.IntervalMap.html +1 -1
  175. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_memory.Address.html +1 -1
  176. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_memory.Collection.html +1 -1
  177. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_memory.Config.html +1 -1
  178. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_memory.Heap.html +1 -1
  179. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_memory.Stack.html +1 -1
  180. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_memory.StackFrame.html +1 -1
  181. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_modules.KernelModules.html +1 -1
  182. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_processes.ProcessStatus.html +1 -1
  183. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_processes.ProcessesMap.html +1 -1
  184. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_sockets.SocketConnection.html +1 -1
  185. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_sockets.WebSocketState.html +1 -1
  186. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_sockets.WebTransportState.html +1 -1
  187. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_users.GID.html +1 -1
  188. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_users.UID.html +1 -1
  189. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_windows.WindowId.html +1 -1
  190. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/variables/kernel_src_tree_device.DefaultDevices.html +1 -1
  191. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/variables/kernel_src_tree_dom.DefaultDomOptions.html +1 -1
  192. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/variables/kernel_src_tree_filesystem.DefaultFilesystemOptions.html +1 -1
  193. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/variables/kernel_src_tree_i18n.DefaultI18nOptions.html +1 -1
  194. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/variables/kernel_src_tree_log.DefaultLogOptions.html +1 -1
  195. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/variables/kernel_src_tree_service.DefaultServiceOptions.html +1 -1
  196. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/variables/kernel_src_tree_terminal.DefaultTerminalOptions.html +1 -1
  197. package/dist/initfs/usr/share/docs/@ecmaos/kernel/index.md +112 -19
  198. package/dist/initfs/usr/share/docs/@zenfs/core/index.md +192 -0
  199. package/dist/initfs.tar.gz +0 -0
  200. package/dist/{install-q2Renhgi.js → install-v7WLn3NU.js} +2 -2
  201. package/dist/{install-q2Renhgi.js.map → install-v7WLn3NU.js.map} +1 -1
  202. package/dist/{kernel-BR5am0OX.js → kernel-j5HiQNwE.js} +44130 -15230
  203. package/dist/kernel-j5HiQNwE.js.map +1 -0
  204. package/dist/kernel.css +0 -1
  205. package/dist/kernel.d.ts +12 -0
  206. package/dist/kernel.js +1 -1
  207. package/dist/{topbar.min-dK87tSZy.js → topbar.min-BKs7fUL5.js} +2 -2
  208. package/dist/{topbar.min-dK87tSZy.js.map → topbar.min-BKs7fUL5.js.map} +1 -1
  209. package/dist/ui.js +1 -1
  210. package/dist/ui.js.map +1 -1
  211. package/dist/{uninstall-CzJG8s4q.js → uninstall-DdFQZCNc.js} +2 -2
  212. package/dist/{uninstall-CzJG8s4q.js.map → uninstall-DdFQZCNc.js.map} +1 -1
  213. package/package.json +8 -4
  214. package/dist/kernel-BR5am0OX.js.map +0 -1
package/dist/kernel.css CHANGED
@@ -33,7 +33,6 @@
33
33
  margin: 4px;
34
34
  color: #fff;
35
35
  background: #121212;
36
- padding: 1rem;
37
36
  }
38
37
 
39
38
  .winbox.ecmaos-window .wb-body::-webkit-scrollbar {
package/dist/kernel.d.ts CHANGED
@@ -245,6 +245,18 @@ export declare class Kernel implements Kernel_2 {
245
245
  * @returns {Promise<void>} A promise that resolves when the packages are registered.
246
246
  */
247
247
  registerPackages(): Promise<void>;
248
+ /**
249
+ * Loads and registers crontab entries from a file.
250
+ * @param filePath - Path to the crontab file
251
+ * @param scope - Scope of the crontab ('system' or 'user')
252
+ * @returns {Promise<void>} A promise that resolves when the crontab is loaded.
253
+ */
254
+ loadCrontab(filePath: string, scope: 'system' | 'user'): Promise<void>;
255
+ /**
256
+ * Loads and processes fstab entries from /etc/fstab.
257
+ * @returns {Promise<void>} A promise that resolves when fstab is processed.
258
+ */
259
+ loadFstab(): Promise<void>;
248
260
  /**
249
261
  * Registers the initial /proc entries.
250
262
  * @returns {Promise<void>} A promise that resolves when the proc entries are registered.
package/dist/kernel.js CHANGED
@@ -1,4 +1,4 @@
1
- import { K } from "./kernel-BR5am0OX.js";
1
+ import { K } from "./kernel-j5HiQNwE.js";
2
2
  export {
3
3
  K as Kernel
4
4
  };
@@ -1,6 +1,6 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- import { g as getDefaultExportFromCjs } from "./kernel-BR5am0OX.js";
3
+ import { g as getDefaultExportFromCjs } from "./kernel-j5HiQNwE.js";
4
4
  var topbar_min$3 = { exports: {} };
5
5
  var topbar_min$2 = topbar_min$3.exports;
6
6
  var hasRequiredTopbar_min;
@@ -47,4 +47,4 @@ const topbar_min$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.define
47
47
  export {
48
48
  topbar_min$1 as t
49
49
  };
50
- //# sourceMappingURL=topbar.min-dK87tSZy.js.map
50
+ //# sourceMappingURL=topbar.min-BKs7fUL5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"topbar.min-dK87tSZy.js","sources":["../node_modules/.pnpm/topbar@3.0.0/node_modules/topbar/topbar.min.js"],"sourcesContent":["/**\n * @license MIT\n * topbar 3.0.0\n * http://buunguyen.github.io/topbar\n * Copyright (c) 2024 Buu Nguyen\n */\n(function(window,document){\"use strict\";function repaint(){canvas.width=window.innerWidth,canvas.height=5*options.barThickness;var ctx=canvas.getContext(\"2d\");ctx.shadowBlur=options.shadowBlur,ctx.shadowColor=options.shadowColor;var stop,lineGradient=ctx.createLinearGradient(0,0,canvas.width,0);for(stop in options.barColors)lineGradient.addColorStop(stop,options.barColors[stop]);ctx.lineWidth=options.barThickness,ctx.beginPath(),ctx.moveTo(0,options.barThickness/2),ctx.lineTo(Math.ceil(currentProgress*canvas.width),options.barThickness/2),ctx.strokeStyle=lineGradient,ctx.stroke()}var canvas,currentProgress,showing,progressTimerId=null,fadeTimerId=null,delayTimerId=null,options={autoRun:!0,barThickness:3,barColors:{0:\"rgba(26, 188, 156, .9)\",\".25\":\"rgba(52, 152, 219, .9)\",\".50\":\"rgba(241, 196, 15, .9)\",\".75\":\"rgba(230, 126, 34, .9)\",\"1.0\":\"rgba(211, 84, 0, .9)\"},shadowBlur:10,shadowColor:\"rgba(0, 0, 0, .6)\",className:null},topbar={config:function(opts){for(var key in opts)options.hasOwnProperty(key)&&(options[key]=opts[key])},show:function(handler){var type,elem;showing||(handler?delayTimerId=delayTimerId||setTimeout(()=>topbar.show(),handler):(showing=!0,null!==fadeTimerId&&window.cancelAnimationFrame(fadeTimerId),canvas||((elem=(canvas=document.createElement(\"canvas\")).style).position=\"fixed\",elem.top=elem.left=elem.right=elem.margin=elem.padding=0,elem.zIndex=100001,elem.display=\"none\",options.className&&canvas.classList.add(options.className),type=\"resize\",handler=repaint,(elem=window).addEventListener?elem.addEventListener(type,handler,!1):elem.attachEvent?elem.attachEvent(\"on\"+type,handler):elem[\"on\"+type]=handler),canvas.parentElement||document.body.appendChild(canvas),canvas.style.opacity=1,canvas.style.display=\"block\",topbar.progress(0),options.autoRun&&function loop(){progressTimerId=window.requestAnimationFrame(loop),topbar.progress(\"+\"+.05*Math.pow(1-Math.sqrt(currentProgress),2))}()))},progress:function(to){return void 0===to||(\"string\"==typeof to&&(to=(0<=to.indexOf(\"+\")||0<=to.indexOf(\"-\")?currentProgress:0)+parseFloat(to)),currentProgress=1<to?1:to,repaint()),currentProgress},hide:function(){clearTimeout(delayTimerId),delayTimerId=null,showing&&(showing=!1,null!=progressTimerId&&(window.cancelAnimationFrame(progressTimerId),progressTimerId=null),function loop(){return 1<=topbar.progress(\"+.1\")&&(canvas.style.opacity-=.05,canvas.style.opacity<=.05)?(canvas.style.display=\"none\",void(fadeTimerId=null)):void(fadeTimerId=window.requestAnimationFrame(loop))}())}};\"object\"==typeof module&&\"object\"==typeof module.exports?module.exports=topbar:\"function\"==typeof define&&define.amd?define(function(){return topbar}):this.topbar=topbar}).call(this,window,document);"],"names":["window","document","this"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"topbar.min-BKs7fUL5.js","sources":["../node_modules/.pnpm/topbar@3.0.0/node_modules/topbar/topbar.min.js"],"sourcesContent":["/**\n * @license MIT\n * topbar 3.0.0\n * http://buunguyen.github.io/topbar\n * Copyright (c) 2024 Buu Nguyen\n */\n(function(window,document){\"use strict\";function repaint(){canvas.width=window.innerWidth,canvas.height=5*options.barThickness;var ctx=canvas.getContext(\"2d\");ctx.shadowBlur=options.shadowBlur,ctx.shadowColor=options.shadowColor;var stop,lineGradient=ctx.createLinearGradient(0,0,canvas.width,0);for(stop in options.barColors)lineGradient.addColorStop(stop,options.barColors[stop]);ctx.lineWidth=options.barThickness,ctx.beginPath(),ctx.moveTo(0,options.barThickness/2),ctx.lineTo(Math.ceil(currentProgress*canvas.width),options.barThickness/2),ctx.strokeStyle=lineGradient,ctx.stroke()}var canvas,currentProgress,showing,progressTimerId=null,fadeTimerId=null,delayTimerId=null,options={autoRun:!0,barThickness:3,barColors:{0:\"rgba(26, 188, 156, .9)\",\".25\":\"rgba(52, 152, 219, .9)\",\".50\":\"rgba(241, 196, 15, .9)\",\".75\":\"rgba(230, 126, 34, .9)\",\"1.0\":\"rgba(211, 84, 0, .9)\"},shadowBlur:10,shadowColor:\"rgba(0, 0, 0, .6)\",className:null},topbar={config:function(opts){for(var key in opts)options.hasOwnProperty(key)&&(options[key]=opts[key])},show:function(handler){var type,elem;showing||(handler?delayTimerId=delayTimerId||setTimeout(()=>topbar.show(),handler):(showing=!0,null!==fadeTimerId&&window.cancelAnimationFrame(fadeTimerId),canvas||((elem=(canvas=document.createElement(\"canvas\")).style).position=\"fixed\",elem.top=elem.left=elem.right=elem.margin=elem.padding=0,elem.zIndex=100001,elem.display=\"none\",options.className&&canvas.classList.add(options.className),type=\"resize\",handler=repaint,(elem=window).addEventListener?elem.addEventListener(type,handler,!1):elem.attachEvent?elem.attachEvent(\"on\"+type,handler):elem[\"on\"+type]=handler),canvas.parentElement||document.body.appendChild(canvas),canvas.style.opacity=1,canvas.style.display=\"block\",topbar.progress(0),options.autoRun&&function loop(){progressTimerId=window.requestAnimationFrame(loop),topbar.progress(\"+\"+.05*Math.pow(1-Math.sqrt(currentProgress),2))}()))},progress:function(to){return void 0===to||(\"string\"==typeof to&&(to=(0<=to.indexOf(\"+\")||0<=to.indexOf(\"-\")?currentProgress:0)+parseFloat(to)),currentProgress=1<to?1:to,repaint()),currentProgress},hide:function(){clearTimeout(delayTimerId),delayTimerId=null,showing&&(showing=!1,null!=progressTimerId&&(window.cancelAnimationFrame(progressTimerId),progressTimerId=null),function loop(){return 1<=topbar.progress(\"+.1\")&&(canvas.style.opacity-=.05,canvas.style.opacity<=.05)?(canvas.style.display=\"none\",void(fadeTimerId=null)):void(fadeTimerId=window.requestAnimationFrame(loop))}())}};\"object\"==typeof module&&\"object\"==typeof module.exports?module.exports=topbar:\"function\"==typeof define&&define.amd?define(function(){return topbar}):this.topbar=topbar}).call(this,window,document);"],"names":["window","document","this"],"mappings":";;;;;;;;;;AAMA,KAAC,SAASA,SAAOC,WAAS;AAAc,eAAS,UAAS;AAAC,eAAO,QAAMD,QAAO,YAAW,OAAO,SAAO,IAAE,QAAQ;AAAa,YAAI,MAAI,OAAO,WAAW,IAAI;AAAE,YAAI,aAAW,QAAQ,YAAW,IAAI,cAAY,QAAQ;AAAY,YAAI,MAAK,eAAa,IAAI,qBAAqB,GAAE,GAAE,OAAO,OAAM,CAAC;AAAE,aAAI,QAAQ,QAAQ,UAAU,cAAa,aAAa,MAAK,QAAQ,UAAU,IAAI,CAAC;AAAE,YAAI,YAAU,QAAQ,cAAa,IAAI,UAAS,GAAG,IAAI,OAAO,GAAE,QAAQ,eAAa,CAAC,GAAE,IAAI,OAAO,KAAK,KAAK,kBAAgB,OAAO,KAAK,GAAE,QAAQ,eAAa,CAAC,GAAE,IAAI,cAAY,cAAa,IAAI,OAAM;AAAA,MAAE;AAAzhB;AAA0hB,UAAI,QAAO,iBAAgB,SAAQ,kBAAgB,MAAK,cAAY,MAAK,eAAa,MAAK,UAAQ,EAAC,SAAQ,MAAG,cAAa,GAAE,WAAU,EAAC,GAAE,2BAA0B,OAAM,2BAA0B,OAAM,2BAA0B,OAAM,2BAA0B,OAAM,0BAAyB,GAAE,YAAW,IAAG,aAAY,2BAA0B,WAAU,KAAI,GAAE,SAAO,EAAC,QAAO,gCAAS,MAAK;AAAC,iBAAQ,OAAO,KAAK,SAAQ,eAAe,GAAG,MAAI,QAAQ,GAAG,IAAE,KAAK,GAAG;AAAA,MAAE,GAAxF,WAA0F,MAAK,gCAAS,SAAQ;AAAC,YAAI,MAAK;AAAK,oBAAU,UAAQ,eAAa,gBAAc,WAAW,MAAI,OAAO,KAAI,GAAG,OAAO,KAAG,UAAQ,MAAG,SAAO,eAAaA,QAAO,qBAAqB,WAAW,GAAE,YAAU,QAAM,SAAOC,UAAS,cAAc,QAAQ,GAAG,OAAO,WAAS,SAAQ,KAAK,MAAI,KAAK,OAAK,KAAK,QAAM,KAAK,SAAO,KAAK,UAAQ,GAAE,KAAK,SAAO,QAAO,KAAK,UAAQ,QAAO,QAAQ,aAAW,OAAO,UAAU,IAAI,QAAQ,SAAS,GAAE,OAAK,UAAS,UAAQ,UAAS,OAAKD,SAAQ,mBAAiB,KAAK,iBAAiB,MAAK,SAAQ,KAAE,IAAE,KAAK,cAAY,KAAK,YAAY,OAAK,MAAK,OAAO,IAAE,KAAK,OAAK,IAAI,IAAE,UAAS,OAAO,iBAAeC,UAAS,KAAK,YAAY,MAAM,GAAE,OAAO,MAAM,UAAQ,GAAE,OAAO,MAAM,UAAQ,SAAQ,OAAO,SAAS,CAAC,GAAE,QAAQ,YAAS,gCAAS,OAAM;AAAC,4BAAgBD,QAAO,sBAAsB,IAAI,GAAE,OAAO,SAAS,MAAI,OAAI,KAAK,IAAI,IAAE,KAAK,KAAK,eAAe,GAAE,CAAC,CAAC;AAAA,QAAC,GAApI,SAAqI;AAAA,MAAI,GAAn3B,SAAq3B,UAAS,gCAAS,IAAG;AAAC,eAAO,WAAS,OAAK,YAAU,OAAO,OAAK,MAAI,KAAG,GAAG,QAAQ,GAAG,KAAG,KAAG,GAAG,QAAQ,GAAG,IAAE,kBAAgB,KAAG,WAAW,EAAE,IAAG,kBAAgB,IAAE,KAAG,IAAE,IAAG,QAAO,IAAI;AAAA,MAAe,GAA1L,aAA4L,MAAK,kCAAU;AAAC,qBAAa,YAAY,GAAE,eAAa,MAAK,YAAU,UAAQ,OAAG,QAAM,oBAAkBA,QAAO,qBAAqB,eAAe,GAAE,kBAAgB,QAAM,gCAAS,OAAM;AAAC,iBAAO,KAAG,OAAO,SAAS,KAAK,MAAI,OAAO,MAAM,WAAS,MAAI,OAAO,MAAM,WAAS,SAAM,OAAO,MAAM,UAAQ,QAAO,MAAK,cAAY,SAAO,MAAK,cAAYA,QAAO,sBAAsB,IAAI;AAAA,QAAE,GAAjN,SAAkN;AAAA,MAAG,GAA7X,QAA8X;AAA2D,uBAAe;AAAA,IAAiG,GAAG,KAAKE,cAAK,QAAO,QAAQ;AAAA;;;;;;;;;;","x_google_ignoreList":[0]}
package/dist/ui.js CHANGED
@@ -1,4 +1,4 @@
1
- import { K as Kernel } from "./kernel-BR5am0OX.js";
1
+ import { K as Kernel } from "./kernel-j5HiQNwE.js";
2
2
  const username = "root";
3
3
  const password = "root";
4
4
  const socket = "ws://localhost:30445/socket";
package/dist/ui.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sources":["../src/ui.ts"],"sourcesContent":["import { Kernel } from '#kernel.ts'\nimport './ui.css'\n\nconst username = import.meta.env.VITE_AUTOLOGIN_USERNAME\nconst password = import.meta.env.VITE_AUTOLOGIN_PASSWORD\nconst socket = import.meta.env.VITE_METAL_SOCKET\n\nconst kernel = new Kernel({\n credentials: (username && password) ? { username, password } : undefined,\n dom: { topbar: import.meta.env.NODE_ENV !== 'test' },\n log: { name: `ecmaos:${import.meta.env.NODE_ENV || 'kernel'}` },\n socket: socket ? new WebSocket(socket) : undefined\n})\n\nglobalThis.kernels = globalThis.kernels || new Map()\nglobalThis.kernels.set(kernel.id, kernel)\n\nglobalThis.shells = globalThis.shells || new Map()\nglobalThis.shells.set(kernel.shell.id, kernel.shell)\n\nglobalThis.terminals = globalThis.terminals || new Map()\nglobalThis.terminals.set(kernel.terminal.id, kernel.terminal)\n\nconst primaryKernel = globalThis.kernels.values().next().value\nglobalThis.kernel = primaryKernel\n\nkernel.terminal.mount(document.getElementById('terminal') as HTMLElement)\nkernel.boot({ silent: import.meta.env.NODE_ENV === 'test', figletFontRandom: false })\n"],"names":[],"mappings":";AAGA,MAAM,WAAW;AACjB,MAAM,WAAW;AACjB,MAAM,SAAS;AAEf,MAAM,SAAS,IAAI,OAAO;AAAA,EACxB,aAAsC,EAAE,UAAU;EAClD,KAAK,EAAE,QAAQ,KAA6B;AAAA,EAC5C,KAAK,EAAE,MAAM,UAAsC,QAAQ,GAAA;AAAA,EAC3D,QAAiB,IAAI,UAAU,MAAM;AACvC,CAAC;AAED,WAAW,UAAU,WAAW,WAAW,oBAAI,IAAA;AAC/C,WAAW,QAAQ,IAAI,OAAO,IAAI,MAAM;AAExC,WAAW,SAAS,WAAW,UAAU,oBAAI,IAAA;AAC7C,WAAW,OAAO,IAAI,OAAO,MAAM,IAAI,OAAO,KAAK;AAEnD,WAAW,YAAY,WAAW,aAAa,oBAAI,IAAA;AACnD,WAAW,UAAU,IAAI,OAAO,SAAS,IAAI,OAAO,QAAQ;AAE5D,MAAM,gBAAgB,WAAW,QAAQ,OAAA,EAAS,OAAO;AACzD,WAAW,SAAS;AAEpB,OAAO,SAAS,MAAM,SAAS,eAAe,UAAU,CAAgB;AACxE,OAAO,KAAK,EAAE,QAAQ,OAAqC,kBAAkB,OAAO;"}
1
+ {"version":3,"file":"ui.js","sources":["../src/ui.ts"],"sourcesContent":["import { Kernel } from '#kernel.ts'\nimport './ui.css'\n\nconst username = import.meta.env.ECMAOS_AUTOLOGIN_USERNAME\nconst password = import.meta.env.ECMAOS_AUTOLOGIN_PASSWORD\nconst socket = import.meta.env.ECMAOS_METAL_SOCKET\n\nconst kernel = new Kernel({\n credentials: (username && password) ? { username, password } : undefined,\n dom: { topbar: import.meta.env.NODE_ENV !== 'test' },\n log: { name: `ecmaos:${import.meta.env.NODE_ENV || 'kernel'}` },\n socket: socket ? new WebSocket(socket) : undefined\n})\n\nglobalThis.kernels = globalThis.kernels || new Map()\nglobalThis.kernels.set(kernel.id, kernel)\n\nglobalThis.shells = globalThis.shells || new Map()\nglobalThis.shells.set(kernel.shell.id, kernel.shell)\n\nglobalThis.terminals = globalThis.terminals || new Map()\nglobalThis.terminals.set(kernel.terminal.id, kernel.terminal)\n\nconst primaryKernel = globalThis.kernels.values().next().value\nglobalThis.kernel = primaryKernel\n\nkernel.terminal.mount(document.getElementById('terminal') as HTMLElement)\nkernel.boot({ silent: import.meta.env.NODE_ENV === 'test', figletFontRandom: false })\n"],"names":[],"mappings":";AAGA,MAAM,WAAW;AACjB,MAAM,WAAW;AACjB,MAAM,SAAS;AAEf,MAAM,SAAS,IAAI,OAAO;AAAA,EACxB,aAAsC,EAAE,UAAU;EAClD,KAAK,EAAE,QAAQ,KAA6B;AAAA,EAC5C,KAAK,EAAE,MAAM,UAAsC,QAAQ,GAAA;AAAA,EAC3D,QAAiB,IAAI,UAAU,MAAM;AACvC,CAAC;AAED,WAAW,UAAU,WAAW,WAAW,oBAAI,IAAA;AAC/C,WAAW,QAAQ,IAAI,OAAO,IAAI,MAAM;AAExC,WAAW,SAAS,WAAW,UAAU,oBAAI,IAAA;AAC7C,WAAW,OAAO,IAAI,OAAO,MAAM,IAAI,OAAO,KAAK;AAEnD,WAAW,YAAY,WAAW,aAAa,oBAAI,IAAA;AACnD,WAAW,UAAU,IAAI,OAAO,SAAS,IAAI,OAAO,QAAQ;AAE5D,MAAM,gBAAgB,WAAW,QAAQ,OAAA,EAAS,OAAO;AACzD,WAAW,SAAS;AAEpB,OAAO,SAAS,MAAM,SAAS,eAAe,UAAU,CAAgB;AACxE,OAAO,KAAK,EAAE,QAAQ,OAAqC,kBAAkB,OAAO;"}
@@ -1,6 +1,6 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- import { c as chalk, p as path } from "./kernel-BR5am0OX.js";
3
+ import { c as chalk, p as path } from "./kernel-j5HiQNwE.js";
4
4
  const uninstall = /* @__PURE__ */ __name(async ({ kernel, terminal, args }) => {
5
5
  const [packageArg] = args;
6
6
  if (!packageArg) {
@@ -94,4 +94,4 @@ const uninstall = /* @__PURE__ */ __name(async ({ kernel, terminal, args }) => {
94
94
  export {
95
95
  uninstall as default
96
96
  };
97
- //# sourceMappingURL=uninstall-CzJG8s4q.js.map
97
+ //# sourceMappingURL=uninstall-DdFQZCNc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall-CzJG8s4q.js","sources":["../src/tree/lib/commands/uninstall.ts"],"sourcesContent":["import chalk from 'chalk'\nimport path from 'path'\n\nimport { CommandArgs } from './'\n\nconst uninstall = async ({ kernel, terminal, args }: CommandArgs) => {\n const [packageArg] = args as [string]\n if (!packageArg) {\n terminal.writeln(chalk.red('Usage: uninstall <package-name>[@version]'))\n return 1\n }\n\n const spec = packageArg.match(/(@[^/]+\\/[^@]+|[^@]+)(?:@([^/]+))?/)\n if (!spec) {\n terminal.writeln(chalk.red('Invalid package name format'))\n return 1\n }\n\n const packageName = spec[1]?.replace('vnpm:', '')\n const version = spec[2]\n\n if (!packageName) {\n terminal.writeln(chalk.red('Invalid package name format'))\n return 1\n }\n\n const packageDir = path.join('/usr/lib', packageName)\n \n // Check if package is installed\n if (!await kernel.filesystem.fs.exists(packageDir)) {\n terminal.writeln(chalk.red(`Package ${packageName} is not installed`))\n return 1\n }\n\n try {\n // Get installed versions\n const versions = await kernel.filesystem.fs.readdir(packageDir)\n \n if (versions.length === 0) {\n terminal.writeln(chalk.red(`No versions found for ${packageName}`))\n return 1\n }\n\n // If version is specified, uninstall only that version\n // Otherwise, uninstall all versions\n const versionsToUninstall = version \n ? versions.filter(v => v === version)\n : versions\n\n if (version && versionsToUninstall.length === 0) {\n terminal.writeln(chalk.red(`Version ${version} of ${packageName} is not installed`))\n terminal.writeln(chalk.yellow(`Installed versions: ${versions.join(', ')}`))\n return 1\n }\n\n // Uninstall each version\n for (const versionToUninstall of versionsToUninstall) {\n const versionPath = path.join(packageDir, versionToUninstall)\n const packagePath = path.join(versionPath, 'package.json')\n\n if (!await kernel.filesystem.fs.exists(packagePath)) {\n terminal.writeln(chalk.yellow(`Warning: package.json not found for ${packageName}@${versionToUninstall}, skipping binary unlinking`))\n } else {\n try {\n // Read package.json to find binaries to unlink\n const packageData = await kernel.filesystem.fs.readFile(packagePath, 'utf-8')\n const packageJson = JSON.parse(packageData)\n\n // Unlink binaries\n if (packageJson.bin) {\n if (typeof packageJson.bin === 'string') {\n const binPath = path.join('/usr/bin', packageJson.name)\n try {\n await kernel.filesystem.fs.unlink(binPath)\n terminal.writeln(chalk.blue(`Unlinked ${packageJson.name} from ${binPath}`))\n } catch (error) {\n // Binary might not exist or might not be a symlink, continue anyway\n terminal.writeln(chalk.yellow(`Warning: Could not unlink ${binPath}: ${error instanceof Error ? error.message : 'Unknown error'}`))\n }\n } else if (typeof packageJson.bin === 'object') {\n for (const bin in packageJson.bin) {\n const binPath = path.join('/usr/bin', bin)\n try {\n await kernel.filesystem.fs.unlink(binPath)\n terminal.writeln(chalk.blue(`Unlinked ${bin} from ${binPath}`))\n } catch (error) {\n // Binary might not exist or might not be a symlink, continue anyway\n terminal.writeln(chalk.yellow(`Warning: Could not unlink ${binPath}: ${error instanceof Error ? error.message : 'Unknown error'}`))\n }\n }\n }\n }\n } catch (error) {\n terminal.writeln(chalk.yellow(`Warning: Failed to read package.json for ${packageName}@${versionToUninstall}: ${error instanceof Error ? error.message : 'Unknown error'}`))\n }\n }\n\n // Remove the package version directory\n try {\n await kernel.filesystem.fs.rm(versionPath, { recursive: true, force: true })\n terminal.writeln(chalk.green(`Uninstalled ${packageName}@${versionToUninstall}`))\n } catch (error) {\n terminal.writeln(chalk.red(`Failed to remove ${versionPath}: ${error instanceof Error ? error.message : 'Unknown error'}`))\n return 1\n }\n }\n\n // If all versions were uninstalled, remove the package directory\n const remainingVersions = await kernel.filesystem.fs.readdir(packageDir).catch(() => [])\n if (remainingVersions.length === 0) {\n try {\n await kernel.filesystem.fs.rmdir(packageDir)\n } catch {\n // Directory might not be empty or might have already been removed, that's okay\n terminal.writeln(chalk.yellow(`Warning: Could not remove package directory ${packageDir}`))\n }\n }\n\n return 0\n } catch (error) {\n terminal.writeln(chalk.red(`Failed to uninstall ${packageName}: ${error instanceof Error ? error.message : 'Unknown error'}`))\n return 1\n }\n}\n\nexport default uninstall\n\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uninstall-DdFQZCNc.js","sources":["../src/tree/lib/commands/uninstall.ts"],"sourcesContent":["import chalk from 'chalk'\nimport path from 'path'\n\nimport { CommandArgs } from './'\n\nconst uninstall = async ({ kernel, terminal, args }: CommandArgs) => {\n const [packageArg] = args as [string]\n if (!packageArg) {\n terminal.writeln(chalk.red('Usage: uninstall <package-name>[@version]'))\n return 1\n }\n\n const spec = packageArg.match(/(@[^/]+\\/[^@]+|[^@]+)(?:@([^/]+))?/)\n if (!spec) {\n terminal.writeln(chalk.red('Invalid package name format'))\n return 1\n }\n\n const packageName = spec[1]?.replace('vnpm:', '')\n const version = spec[2]\n\n if (!packageName) {\n terminal.writeln(chalk.red('Invalid package name format'))\n return 1\n }\n\n const packageDir = path.join('/usr/lib', packageName)\n \n // Check if package is installed\n if (!await kernel.filesystem.fs.exists(packageDir)) {\n terminal.writeln(chalk.red(`Package ${packageName} is not installed`))\n return 1\n }\n\n try {\n // Get installed versions\n const versions = await kernel.filesystem.fs.readdir(packageDir)\n \n if (versions.length === 0) {\n terminal.writeln(chalk.red(`No versions found for ${packageName}`))\n return 1\n }\n\n // If version is specified, uninstall only that version\n // Otherwise, uninstall all versions\n const versionsToUninstall = version \n ? versions.filter(v => v === version)\n : versions\n\n if (version && versionsToUninstall.length === 0) {\n terminal.writeln(chalk.red(`Version ${version} of ${packageName} is not installed`))\n terminal.writeln(chalk.yellow(`Installed versions: ${versions.join(', ')}`))\n return 1\n }\n\n // Uninstall each version\n for (const versionToUninstall of versionsToUninstall) {\n const versionPath = path.join(packageDir, versionToUninstall)\n const packagePath = path.join(versionPath, 'package.json')\n\n if (!await kernel.filesystem.fs.exists(packagePath)) {\n terminal.writeln(chalk.yellow(`Warning: package.json not found for ${packageName}@${versionToUninstall}, skipping binary unlinking`))\n } else {\n try {\n // Read package.json to find binaries to unlink\n const packageData = await kernel.filesystem.fs.readFile(packagePath, 'utf-8')\n const packageJson = JSON.parse(packageData)\n\n // Unlink binaries\n if (packageJson.bin) {\n if (typeof packageJson.bin === 'string') {\n const binPath = path.join('/usr/bin', packageJson.name)\n try {\n await kernel.filesystem.fs.unlink(binPath)\n terminal.writeln(chalk.blue(`Unlinked ${packageJson.name} from ${binPath}`))\n } catch (error) {\n // Binary might not exist or might not be a symlink, continue anyway\n terminal.writeln(chalk.yellow(`Warning: Could not unlink ${binPath}: ${error instanceof Error ? error.message : 'Unknown error'}`))\n }\n } else if (typeof packageJson.bin === 'object') {\n for (const bin in packageJson.bin) {\n const binPath = path.join('/usr/bin', bin)\n try {\n await kernel.filesystem.fs.unlink(binPath)\n terminal.writeln(chalk.blue(`Unlinked ${bin} from ${binPath}`))\n } catch (error) {\n // Binary might not exist or might not be a symlink, continue anyway\n terminal.writeln(chalk.yellow(`Warning: Could not unlink ${binPath}: ${error instanceof Error ? error.message : 'Unknown error'}`))\n }\n }\n }\n }\n } catch (error) {\n terminal.writeln(chalk.yellow(`Warning: Failed to read package.json for ${packageName}@${versionToUninstall}: ${error instanceof Error ? error.message : 'Unknown error'}`))\n }\n }\n\n // Remove the package version directory\n try {\n await kernel.filesystem.fs.rm(versionPath, { recursive: true, force: true })\n terminal.writeln(chalk.green(`Uninstalled ${packageName}@${versionToUninstall}`))\n } catch (error) {\n terminal.writeln(chalk.red(`Failed to remove ${versionPath}: ${error instanceof Error ? error.message : 'Unknown error'}`))\n return 1\n }\n }\n\n // If all versions were uninstalled, remove the package directory\n const remainingVersions = await kernel.filesystem.fs.readdir(packageDir).catch(() => [])\n if (remainingVersions.length === 0) {\n try {\n await kernel.filesystem.fs.rmdir(packageDir)\n } catch {\n // Directory might not be empty or might have already been removed, that's okay\n terminal.writeln(chalk.yellow(`Warning: Could not remove package directory ${packageDir}`))\n }\n }\n\n return 0\n } catch (error) {\n terminal.writeln(chalk.red(`Failed to uninstall ${packageName}: ${error instanceof Error ? error.message : 'Unknown error'}`))\n return 1\n }\n}\n\nexport default uninstall\n\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ecmaos/kernel",
3
3
  "description": "ecmaOS: Micro-kernel and framework for web technologies",
4
- "version": "0.8.0",
4
+ "version": "0.9.0",
5
5
  "license": "MIT+Apache-2.0",
6
6
  "homepage": "https://ecmaos.sh",
7
7
  "repository": "https://github.com/ecmaos/ecmaos",
@@ -31,6 +31,7 @@
31
31
  "Lots of unfinished work; watch your step"
32
32
  ],
33
33
  "tips": [
34
+ "ecmaos.sh has no backend server; all data is stored and processed entirely in your browser",
34
35
  "If it ever fails to boot, check your logs, try clearing all data, try incognito mode, or try another browser",
35
36
  "You can run some devices that offer a CLI - e.g. '/dev/battery --help'",
36
37
  "Use the 'install' command to install packages - e.g. 'install @ecmaos-apps/news'",
@@ -38,6 +39,7 @@
38
39
  "Use the 'news' command to see the latest news about ecmaOS",
39
40
  "Type 'ls /bin' to see all built-in commands",
40
41
  "Type 'ls /usr/bin' to see all installed commands",
42
+ "Type 'ls /dev' to see all available devices",
41
43
  "You can set your environment variables in ~/.env (try setting PROMPT to a PS1-like format)",
42
44
  "You can register and login with a passkey: 'passkey register' and 'passkey list'",
43
45
  "The 'man' command can be used to view the manual pages for commands: 'man @ecmaos/kernel'",
@@ -63,6 +65,7 @@
63
65
  "./i18n": "./src/tree/i18n.ts",
64
66
  "./intervals": "./src/tree/intervals.ts",
65
67
  "./kernel": "./src/tree/kernel.ts",
68
+ "./lib/crontab": "./src/tree/lib/crontab.ts",
66
69
  "./log": "./src/tree/log.ts",
67
70
  "./memory": "./src/tree/memory.ts",
68
71
  "./processes": "./src/tree/processes.ts",
@@ -139,7 +142,7 @@
139
142
  "vitest": "^2.1.2",
140
143
  "vitest-canvas-mock": "^0.3.3",
141
144
  "@ecmaos/config-typescript": "^0.2.0",
142
- "@ecmaos/types": "^0.6.0"
145
+ "@ecmaos/types": "^0.7.0"
143
146
  },
144
147
  "dependencies": {
145
148
  "@gera2ld/tarjs": "^0.3.1",
@@ -167,6 +170,7 @@
167
170
  "cli-spinners": "^3.2.0",
168
171
  "command-line-args": "^6.0.0",
169
172
  "command-line-usage": "^7.0.3",
173
+ "cron-schedule": "^6.0.0",
170
174
  "figlet": "^1.7.0",
171
175
  "human-format": "^1.2.1",
172
176
  "i18next": "^23.16.6",
@@ -181,10 +185,10 @@
181
185
  "wabt": "^1.0.36",
182
186
  "winbox": "^0.2.82",
183
187
  "@ecmaos-devices/audio": "^0.1.0",
184
- "@ecmaos-devices/bluetooth": "^0.1.0",
185
188
  "@ecmaos-devices/battery": "^0.1.0",
186
189
  "@ecmaos-devices/gamepad": "^0.1.0",
187
190
  "@ecmaos-devices/geo": "^0.1.0",
191
+ "@ecmaos-devices/bluetooth": "^0.1.0",
188
192
  "@ecmaos-devices/gpu": "^0.1.0",
189
193
  "@ecmaos-devices/hid": "^0.1.0",
190
194
  "@ecmaos-devices/midi": "^0.1.0",
@@ -194,7 +198,7 @@
194
198
  "@ecmaos-devices/usb": "^0.1.0",
195
199
  "@ecmaos-devices/webgl": "^0.1.0",
196
200
  "@ecmaos/bios": "^0.2.0",
197
- "@ecmaos/coreutils": "^0.3.0"
201
+ "@ecmaos/coreutils": "^0.4.0"
198
202
  },
199
203
  "resolutions": {
200
204
  "ws": ">=8.17.1"