typescript-virtual-container 1.5.3 → 1.5.5

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 (371) hide show
  1. package/README.md +44 -532
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/SSHMimic/executor.js +23 -5
  4. package/dist/VirtualPackageManager/index.js +10 -0
  5. package/dist/VirtualShell/shell.js +158 -11
  6. package/dist/commands/basename.d.ts +13 -0
  7. package/dist/commands/basename.js +45 -0
  8. package/dist/commands/bc.d.ts +2 -0
  9. package/dist/commands/bc.js +28 -0
  10. package/dist/commands/file.d.ts +8 -0
  11. package/dist/commands/file.js +57 -0
  12. package/dist/commands/fun.d.ts +32 -0
  13. package/dist/commands/fun.js +172 -0
  14. package/dist/commands/ip.d.ts +7 -0
  15. package/dist/commands/ip.js +52 -0
  16. package/dist/commands/jobs.d.ts +4 -0
  17. package/dist/commands/jobs.js +27 -0
  18. package/dist/commands/last.d.ts +13 -0
  19. package/dist/commands/last.js +68 -0
  20. package/dist/commands/manuals-bundle.js +598 -6
  21. package/dist/commands/registry.js +30 -2
  22. package/dist/commands/runtime.js +24 -3
  23. package/dist/commands/set.js +20 -0
  24. package/dist/commands/sh.js +74 -1
  25. package/dist/commands/tput.d.ts +13 -0
  26. package/dist/commands/tput.js +76 -0
  27. package/dist/commands/w.d.ts +7 -0
  28. package/dist/commands/w.js +38 -0
  29. package/dist/utils/expand.d.ts +12 -0
  30. package/dist/utils/expand.js +87 -1
  31. package/package.json +9 -3
  32. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -50
  33. package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -31
  34. package/.github/dependabot.yml +0 -27
  35. package/.github/pull_request_template.md +0 -21
  36. package/.github/workflows/create-pull-request.yml +0 -85
  37. package/.github/workflows/publish.yml +0 -25
  38. package/.github/workflows/test-battery.yml +0 -102
  39. package/.vscode/settings.json +0 -20
  40. package/CODE_OF_CONDUCT.md +0 -39
  41. package/CONTRIBUTING.md +0 -59
  42. package/HONEYPOT.md +0 -358
  43. package/SECURITY.md +0 -33
  44. package/benchmark-results.txt +0 -40
  45. package/benchmark-virtualshell.ts +0 -88
  46. package/biome.json +0 -37
  47. package/build.js +0 -22
  48. package/builds/fortune-nyx-v1.5.3-directbash-k6.1.0.mjs +0 -1764
  49. package/builds/fortune-nyx-v1.5.3-ssh-nosftp.js +0 -1764
  50. package/builds/fortune-nyx-v1.5.3-ssh.cjs +0 -1765
  51. package/builds/fortune-nyx-v1.5.3-web.min.js +0 -17036
  52. package/bun.lock +0 -244
  53. package/docs/.nojekyll +0 -1
  54. package/docs/app.js +0 -1751
  55. package/docs/assets/hierarchy.js +0 -1
  56. package/docs/assets/highlight.css +0 -162
  57. package/docs/assets/icons.js +0 -18
  58. package/docs/assets/icons.svg +0 -1
  59. package/docs/assets/main.js +0 -60
  60. package/docs/assets/navigation.js +0 -1
  61. package/docs/assets/search.js +0 -1
  62. package/docs/assets/style.css +0 -1633
  63. package/docs/classes/HoneyPot.html +0 -31
  64. package/docs/classes/IdleManager.html +0 -162
  65. package/docs/classes/SshClient.html +0 -66
  66. package/docs/classes/VirtualFileSystem.html +0 -279
  67. package/docs/classes/VirtualPackageManager.html +0 -63
  68. package/docs/classes/VirtualSftpServer.html +0 -169
  69. package/docs/classes/VirtualShell.html +0 -285
  70. package/docs/classes/VirtualSshServer.html +0 -182
  71. package/docs/classes/VirtualUserManager.html +0 -276
  72. package/docs/demo.html +0 -82
  73. package/docs/functions/assertDiff.html +0 -6
  74. package/docs/functions/diffSnapshots.html +0 -7
  75. package/docs/functions/formatDiff.html +0 -6
  76. package/docs/functions/getArg.html +0 -13
  77. package/docs/functions/getFlag.html +0 -15
  78. package/docs/functions/ifFlag.html +0 -11
  79. package/docs/hierarchy.html +0 -1
  80. package/docs/index.html +0 -1869
  81. package/docs/interfaces/AuditLogEntry.html +0 -6
  82. package/docs/interfaces/CommandContext.html +0 -22
  83. package/docs/interfaces/CommandResult.html +0 -26
  84. package/docs/interfaces/ExecStream.html +0 -11
  85. package/docs/interfaces/HoneyPotStats.html +0 -16
  86. package/docs/interfaces/IdleManagerOptions.html +0 -7
  87. package/docs/interfaces/InstalledPackage.html +0 -20
  88. package/docs/interfaces/NanoEditorSession.html +0 -8
  89. package/docs/interfaces/PackageDefinition.html +0 -30
  90. package/docs/interfaces/PackageFile.html +0 -8
  91. package/docs/interfaces/PasswordChallenge.html +0 -16
  92. package/docs/interfaces/RemoveOptions.html +0 -4
  93. package/docs/interfaces/ShellEnv.html +0 -6
  94. package/docs/interfaces/ShellModule.html +0 -14
  95. package/docs/interfaces/ShellProperties.html +0 -14
  96. package/docs/interfaces/ShellStream.html +0 -11
  97. package/docs/interfaces/SudoChallenge.html +0 -24
  98. package/docs/interfaces/VfsBaseNode.html +0 -12
  99. package/docs/interfaces/VfsDiff.html +0 -10
  100. package/docs/interfaces/VfsDiffEntry.html +0 -6
  101. package/docs/interfaces/VfsDiffModified.html +0 -10
  102. package/docs/interfaces/VfsDirectoryNode.html +0 -15
  103. package/docs/interfaces/VfsFileNode.html +0 -17
  104. package/docs/interfaces/VfsOptions.html +0 -26
  105. package/docs/interfaces/VfsSnapshot.html +0 -3
  106. package/docs/interfaces/VfsSnapshotBaseNode.html +0 -8
  107. package/docs/interfaces/VfsSnapshotDirectoryNode.html +0 -10
  108. package/docs/interfaces/VfsSnapshotFileNode.html +0 -12
  109. package/docs/interfaces/VirtualActiveSession.html +0 -12
  110. package/docs/interfaces/VirtualSftpServerOptions.html +0 -7
  111. package/docs/interfaces/VirtualShellVfsLike.html +0 -15
  112. package/docs/interfaces/VirtualShellVfsOptions.html +0 -3
  113. package/docs/interfaces/WriteFileOptions.html +0 -6
  114. package/docs/media/LICENSE +0 -21
  115. package/docs/modules.html +0 -1
  116. package/docs/types/ArgParseOptions.html +0 -4
  117. package/docs/types/CommandMode.html +0 -2
  118. package/docs/types/CommandOutcome.html +0 -2
  119. package/docs/types/IdleState.html +0 -1
  120. package/docs/types/VfsNodeStats.html +0 -2
  121. package/docs/types/VfsNodeType.html +0 -2
  122. package/docs/types/VfsPersistenceMode.html +0 -5
  123. package/docs/types/VfsSnapshotNode.html +0 -2
  124. package/examples/README.md +0 -288
  125. package/examples/app.js +0 -1751
  126. package/examples/app.ts +0 -299
  127. package/examples/build.js +0 -27
  128. package/examples/demo.html +0 -33
  129. package/examples/honeypot-audit.ts +0 -180
  130. package/examples/honeypot-export.ts +0 -253
  131. package/examples/honeypot-quickstart.ts +0 -110
  132. package/examples/index.html +0 -82
  133. package/examples/server.js +0 -55
  134. package/polyfills/buffer.js +0 -117
  135. package/polyfills/node_child_process/index.js +0 -2
  136. package/polyfills/node_crypto/index.js +0 -167
  137. package/polyfills/node_events/index.js +0 -9
  138. package/polyfills/node_fs/index.js +0 -202
  139. package/polyfills/node_fs/promises.js +0 -4
  140. package/polyfills/node_os/index.js +0 -9
  141. package/polyfills/node_path/index.js +0 -28
  142. package/polyfills/node_vm/index.js +0 -7
  143. package/polyfills/node_zlib/index.js +0 -3
  144. package/polyfills/process.js +0 -14
  145. package/polyfills/ssh2/index.js +0 -75
  146. package/scripts/build-all.mjs +0 -226
  147. package/scripts/build-names.mjs +0 -43
  148. package/scripts/generate-manuals-bundle.mjs +0 -49
  149. package/scripts/postinstall.js +0 -42
  150. package/scripts/publish-package.sh +0 -70
  151. package/src/Honeypot/index.ts +0 -457
  152. package/src/SSHClient/index.ts +0 -270
  153. package/src/SSHMimic/exec.ts +0 -49
  154. package/src/SSHMimic/executor.ts +0 -251
  155. package/src/SSHMimic/hostKey.ts +0 -21
  156. package/src/SSHMimic/index.ts +0 -337
  157. package/src/SSHMimic/loginBanner.ts +0 -36
  158. package/src/SSHMimic/loginFormat.ts +0 -10
  159. package/src/SSHMimic/prompt.ts +0 -14
  160. package/src/SSHMimic/sftp.ts +0 -883
  161. package/src/VirtualFileSystem/binaryPack.ts +0 -258
  162. package/src/VirtualFileSystem/index.ts +0 -1193
  163. package/src/VirtualFileSystem/internalTypes.ts +0 -43
  164. package/src/VirtualFileSystem/journal.ts +0 -171
  165. package/src/VirtualFileSystem/path.ts +0 -74
  166. package/src/VirtualPackageManager/index.ts +0 -996
  167. package/src/VirtualShell/idleManager.ts +0 -137
  168. package/src/VirtualShell/index.ts +0 -475
  169. package/src/VirtualShell/shell.ts +0 -700
  170. package/src/VirtualShell/shellParser.ts +0 -285
  171. package/src/VirtualUserManager/index.ts +0 -758
  172. package/src/bun.d.ts +0 -1
  173. package/src/commands/adduser.ts +0 -103
  174. package/src/commands/alias.ts +0 -69
  175. package/src/commands/apt.ts +0 -233
  176. package/src/commands/awk.ts +0 -168
  177. package/src/commands/base64.ts +0 -29
  178. package/src/commands/cat.ts +0 -52
  179. package/src/commands/cd.ts +0 -25
  180. package/src/commands/chmod.ts +0 -85
  181. package/src/commands/clear.ts +0 -15
  182. package/src/commands/command-helpers.ts +0 -286
  183. package/src/commands/cp.ts +0 -83
  184. package/src/commands/curl.ts +0 -147
  185. package/src/commands/cut.ts +0 -36
  186. package/src/commands/date.ts +0 -30
  187. package/src/commands/declare.ts +0 -49
  188. package/src/commands/deluser.ts +0 -98
  189. package/src/commands/df.ts +0 -23
  190. package/src/commands/diff.ts +0 -43
  191. package/src/commands/dpkg.ts +0 -180
  192. package/src/commands/du.ts +0 -56
  193. package/src/commands/echo.ts +0 -58
  194. package/src/commands/env.ts +0 -23
  195. package/src/commands/exit.ts +0 -18
  196. package/src/commands/export.ts +0 -34
  197. package/src/commands/find.ts +0 -68
  198. package/src/commands/free.ts +0 -47
  199. package/src/commands/grep.ts +0 -116
  200. package/src/commands/groups.ts +0 -19
  201. package/src/commands/gzip.ts +0 -88
  202. package/src/commands/head.ts +0 -52
  203. package/src/commands/help.ts +0 -152
  204. package/src/commands/helpers.ts +0 -234
  205. package/src/commands/history.ts +0 -34
  206. package/src/commands/hostname.ts +0 -14
  207. package/src/commands/htop.ts +0 -20
  208. package/src/commands/id.ts +0 -19
  209. package/src/commands/index.ts +0 -9
  210. package/src/commands/kill.ts +0 -19
  211. package/src/commands/ln.ts +0 -71
  212. package/src/commands/ls.ts +0 -243
  213. package/src/commands/lsb-release.ts +0 -63
  214. package/src/commands/man.ts +0 -31
  215. package/src/commands/manuals/adduser.txt +0 -11
  216. package/src/commands/manuals/apt-cache.txt +0 -12
  217. package/src/commands/manuals/apt.txt +0 -20
  218. package/src/commands/manuals/awk.txt +0 -13
  219. package/src/commands/manuals/cat.txt +0 -14
  220. package/src/commands/manuals/cd.txt +0 -16
  221. package/src/commands/manuals/chmod.txt +0 -16
  222. package/src/commands/manuals/clear.txt +0 -10
  223. package/src/commands/manuals/cp.txt +0 -10
  224. package/src/commands/manuals/curl.txt +0 -20
  225. package/src/commands/manuals/date.txt +0 -14
  226. package/src/commands/manuals/declare.txt +0 -12
  227. package/src/commands/manuals/deluser.txt +0 -10
  228. package/src/commands/manuals/df.txt +0 -10
  229. package/src/commands/manuals/dpkg-query.txt +0 -11
  230. package/src/commands/manuals/dpkg.txt +0 -14
  231. package/src/commands/manuals/du.txt +0 -11
  232. package/src/commands/manuals/echo.txt +0 -11
  233. package/src/commands/manuals/false.txt +0 -10
  234. package/src/commands/manuals/find.txt +0 -11
  235. package/src/commands/manuals/free.txt +0 -12
  236. package/src/commands/manuals/grep.txt +0 -13
  237. package/src/commands/manuals/groups.txt +0 -10
  238. package/src/commands/manuals/gzip.txt +0 -11
  239. package/src/commands/manuals/head.txt +0 -10
  240. package/src/commands/manuals/help.txt +0 -11
  241. package/src/commands/manuals/history.txt +0 -11
  242. package/src/commands/manuals/hostname.txt +0 -10
  243. package/src/commands/manuals/id.txt +0 -10
  244. package/src/commands/manuals/kill.txt +0 -13
  245. package/src/commands/manuals/ls.txt +0 -20
  246. package/src/commands/manuals/lsb_release.txt +0 -14
  247. package/src/commands/manuals/mkdir.txt +0 -10
  248. package/src/commands/manuals/mv.txt +0 -10
  249. package/src/commands/manuals/nano.txt +0 -11
  250. package/src/commands/manuals/neofetch.txt +0 -10
  251. package/src/commands/manuals/node.txt +0 -13
  252. package/src/commands/manuals/npm.txt +0 -13
  253. package/src/commands/manuals/npx.txt +0 -13
  254. package/src/commands/manuals/passwd.txt +0 -11
  255. package/src/commands/manuals/ping.txt +0 -10
  256. package/src/commands/manuals/printf.txt +0 -11
  257. package/src/commands/manuals/ps.txt +0 -10
  258. package/src/commands/manuals/pwd.txt +0 -10
  259. package/src/commands/manuals/python3.txt +0 -13
  260. package/src/commands/manuals/readlink.txt +0 -10
  261. package/src/commands/manuals/return.txt +0 -10
  262. package/src/commands/manuals/rm.txt +0 -10
  263. package/src/commands/manuals/sed.txt +0 -11
  264. package/src/commands/manuals/set.txt +0 -11
  265. package/src/commands/manuals/shift.txt +0 -10
  266. package/src/commands/manuals/sleep.txt +0 -10
  267. package/src/commands/manuals/sort.txt +0 -12
  268. package/src/commands/manuals/source.txt +0 -11
  269. package/src/commands/manuals/ssh.txt +0 -11
  270. package/src/commands/manuals/stat.txt +0 -10
  271. package/src/commands/manuals/su.txt +0 -13
  272. package/src/commands/manuals/sudo.txt +0 -11
  273. package/src/commands/manuals/tail.txt +0 -10
  274. package/src/commands/manuals/tar.txt +0 -19
  275. package/src/commands/manuals/tee.txt +0 -10
  276. package/src/commands/manuals/test.txt +0 -11
  277. package/src/commands/manuals/touch.txt +0 -11
  278. package/src/commands/manuals/tr.txt +0 -10
  279. package/src/commands/manuals/trap.txt +0 -10
  280. package/src/commands/manuals/true.txt +0 -10
  281. package/src/commands/manuals/type.txt +0 -10
  282. package/src/commands/manuals/uname.txt +0 -12
  283. package/src/commands/manuals/uniq.txt +0 -12
  284. package/src/commands/manuals/unset.txt +0 -10
  285. package/src/commands/manuals/uptime.txt +0 -11
  286. package/src/commands/manuals/wc.txt +0 -12
  287. package/src/commands/manuals/wget.txt +0 -12
  288. package/src/commands/manuals/which.txt +0 -10
  289. package/src/commands/manuals/whoami.txt +0 -10
  290. package/src/commands/manuals/xargs.txt +0 -10
  291. package/src/commands/manuals-bundle.ts +0 -898
  292. package/src/commands/mkdir.ts +0 -31
  293. package/src/commands/mv.ts +0 -50
  294. package/src/commands/nano.ts +0 -38
  295. package/src/commands/neofetch.ts +0 -53
  296. package/src/commands/node.ts +0 -341
  297. package/src/commands/npm.ts +0 -132
  298. package/src/commands/passwd.ts +0 -50
  299. package/src/commands/ping.ts +0 -32
  300. package/src/commands/printf.ts +0 -129
  301. package/src/commands/ps.ts +0 -58
  302. package/src/commands/pwd.ts +0 -9
  303. package/src/commands/python.ts +0 -2229
  304. package/src/commands/read.ts +0 -46
  305. package/src/commands/registry.ts +0 -249
  306. package/src/commands/rm.ts +0 -42
  307. package/src/commands/runtime.ts +0 -421
  308. package/src/commands/sed.ts +0 -68
  309. package/src/commands/seq.ts +0 -43
  310. package/src/commands/set.ts +0 -29
  311. package/src/commands/sh.ts +0 -467
  312. package/src/commands/shift.ts +0 -63
  313. package/src/commands/sleep.ts +0 -20
  314. package/src/commands/sort.ts +0 -46
  315. package/src/commands/source.ts +0 -52
  316. package/src/commands/stat.ts +0 -61
  317. package/src/commands/su.ts +0 -72
  318. package/src/commands/sudo.ts +0 -76
  319. package/src/commands/tail.ts +0 -53
  320. package/src/commands/tar.ts +0 -102
  321. package/src/commands/tee.ts +0 -36
  322. package/src/commands/test.ts +0 -137
  323. package/src/commands/touch.ts +0 -28
  324. package/src/commands/tr.ts +0 -70
  325. package/src/commands/tree.ts +0 -20
  326. package/src/commands/true.ts +0 -27
  327. package/src/commands/type.ts +0 -48
  328. package/src/commands/uname.ts +0 -29
  329. package/src/commands/uniq.ts +0 -39
  330. package/src/commands/unset.ts +0 -17
  331. package/src/commands/uptime.ts +0 -54
  332. package/src/commands/wc.ts +0 -55
  333. package/src/commands/wget.ts +0 -148
  334. package/src/commands/which.ts +0 -37
  335. package/src/commands/who.ts +0 -25
  336. package/src/commands/whoami.ts +0 -14
  337. package/src/commands/xargs.ts +0 -31
  338. package/src/index.ts +0 -67
  339. package/src/modules/linuxRootfs.ts +0 -1961
  340. package/src/modules/neofetch.ts +0 -358
  341. package/src/modules/shellInteractive.ts +0 -57
  342. package/src/modules/shellRuntime.ts +0 -76
  343. package/src/self-standalone.ts +0 -542
  344. package/src/standalone-wo-sftp.ts +0 -38
  345. package/src/standalone.ts +0 -72
  346. package/src/types/commands.ts +0 -146
  347. package/src/types/pipeline.ts +0 -52
  348. package/src/types/streams.ts +0 -32
  349. package/src/types/tar-stream.d.ts +0 -38
  350. package/src/types/vfs.ts +0 -98
  351. package/src/utils/expand.ts +0 -491
  352. package/src/utils/perfLogger.ts +0 -72
  353. package/src/utils/tokenize.ts +0 -98
  354. package/src/utils/vfsDiff.ts +0 -275
  355. package/tests/command-helpers.test.ts +0 -116
  356. package/tests/commands-admin-net.test.ts +0 -441
  357. package/tests/commands-advanced.test.ts +0 -456
  358. package/tests/commands-core.test.ts +0 -562
  359. package/tests/commands-missing.test.ts +0 -570
  360. package/tests/commands-specific-units.test.ts +0 -327
  361. package/tests/commands-text-sys.test.ts +0 -445
  362. package/tests/expand.test.ts +0 -170
  363. package/tests/helpers.test.ts +0 -97
  364. package/tests/new-features.test.ts +0 -1036
  365. package/tests/parser-executor.test.ts +0 -37
  366. package/tests/sftp.test.ts +0 -323
  367. package/tests/ssh-exec.test.ts +0 -45
  368. package/tests/test-helper.ts +0 -79
  369. package/tests/users.test.ts +0 -86
  370. package/tsconfig.json +0 -49
  371. package/typedoc.json +0 -47
@@ -1,63 +0,0 @@
1
- import type { ShellModule } from "../types/commands";
2
- import { ifFlag } from "./command-helpers";
3
-
4
- /**
5
- * Print Linux distribution information.
6
- * @category system
7
- * @params ["[-a] [-i] [-d] [-r] [-c]"]
8
- */
9
- export const lsbReleaseCommand: ShellModule = {
10
- name: "lsb_release",
11
- description: "Print distribution-specific information",
12
- category: "system",
13
- params: ["[-a] [-i] [-d] [-r] [-c]"],
14
- run: ({ args, shell }) => {
15
- let osName = shell.properties?.os ?? "Fortune GNU/Linux x64";
16
- let codename = "nyx";
17
- let version = "1.0";
18
-
19
- try {
20
- const content = shell.vfs.readFile("/etc/os-release");
21
- for (const line of content.split("\n")) {
22
- if (line.startsWith("PRETTY_NAME="))
23
- osName = line
24
- .slice("PRETTY_NAME=".length)
25
- .replace(/^"|"$/g, "")
26
- .trim();
27
- if (line.startsWith("VERSION_CODENAME="))
28
- codename = line.slice("VERSION_CODENAME=".length).trim();
29
- if (line.startsWith("VERSION_ID="))
30
- version = line
31
- .slice("VERSION_ID=".length)
32
- .replace(/^"|"$/g, "")
33
- .trim();
34
- }
35
- } catch {}
36
-
37
- const all = ifFlag(args, ["-a", "--all"]);
38
- const showId = ifFlag(args, ["-i", "--id"]);
39
- const showDesc = ifFlag(args, ["-d", "--description"]);
40
- const showRelease = ifFlag(args, ["-r", "--release"]);
41
- const showCodename = ifFlag(args, ["-c", "--codename"]);
42
-
43
- if (all || args.length === 0) {
44
- return {
45
- stdout: [
46
- `Distributor ID:\tFortune`,
47
- `Description:\t${osName}`,
48
- `Release:\t${version}`,
49
- `Codename:\t${codename}`,
50
- ].join("\n"),
51
- exitCode: 0,
52
- };
53
- }
54
-
55
- const lines: string[] = [];
56
- if (showId) lines.push(`Distributor ID:\tFortune`);
57
- if (showDesc) lines.push(`Description:\t${osName}`);
58
- if (showRelease) lines.push(`Release:\t${version}`);
59
- if (showCodename) lines.push(`Codename:\t${codename}`);
60
-
61
- return { stdout: lines.join("\n"), exitCode: 0 };
62
- },
63
- };
@@ -1,31 +0,0 @@
1
- import type { ShellModule } from "../types/commands";
2
- import { MANUALS } from "./manuals-bundle";
3
-
4
- const MANUAL_ALIASES: Record<string, string> = {
5
- gunzip: "gzip",
6
- };
7
-
8
- export const manCommand: ShellModule = {
9
- name: "man",
10
- description: "Interface to the system reference manuals",
11
- category: "shell",
12
- params: ["<command>"],
13
- run: async ({ args, shell }) => {
14
- const name = args[0];
15
- if (!name) return { stderr: "What manual page do you want?", exitCode: 1 };
16
-
17
- // VFS-installed man pages take priority
18
- const manPath = `/usr/share/man/man1/${name}.1`;
19
- if (shell.vfs.exists(manPath)) {
20
- return { stdout: shell.vfs.readFile(manPath), exitCode: 0 };
21
- }
22
-
23
- // Bundled manuals — available in all build modes (standalone, web, dev)
24
- const normalized = name.toLowerCase();
25
- const lookupName = MANUAL_ALIASES[normalized] ?? normalized;
26
- const page = MANUALS[lookupName] ?? null;
27
- if (page) return { stdout: page, exitCode: 0 };
28
-
29
- return { stderr: `No manual entry for ${name}`, exitCode: 16 };
30
- },
31
- };
@@ -1,11 +0,0 @@
1
- ADDUSER(8) User Commands ADDUSER(8)
2
-
3
- NAME
4
- adduser - add a user to the system
5
-
6
- SYNOPSIS
7
- adduser USERNAME
8
-
9
- DESCRIPTION
10
- Create a new user account with a home directory.
11
- In this environment, prompts for a password interactively.
@@ -1,12 +0,0 @@
1
- APT-CACHE(8) APT APT-CACHE(8)
2
-
3
- NAME
4
- apt-cache - query APT package cache
5
-
6
- SYNOPSIS
7
- apt-cache command [args]
8
-
9
- COMMANDS
10
- search term search package names/descriptions
11
- show pkg show package metadata
12
- policy pkg show package policy and candidate versions
@@ -1,20 +0,0 @@
1
- APT(8) APT APT(8)
2
-
3
- NAME
4
- apt - command-line interface
5
-
6
- SYNOPSIS
7
- apt [options] command
8
-
9
- DESCRIPTION
10
- apt provides a high-level commandline interface for the package
11
- management system.
12
-
13
- COMMANDS
14
- install pkg... Install packages
15
- remove pkg... Remove packages
16
- update Download package information
17
- upgrade Upgrade installed packages
18
- search term Search in package descriptions
19
- show pkg Show package information
20
- list List packages
@@ -1,13 +0,0 @@
1
- AWK(1) User Commands AWK(1)
2
-
3
- NAME
4
- awk - pattern scanning and processing language
5
-
6
- SYNOPSIS
7
- awk [OPTION]... 'PROGRAM' [FILE]...
8
-
9
- DESCRIPTION
10
- awk scans each input line, applies PROGRAM rules, and prints results.
11
-
12
- OPTIONS
13
- -F fs use fs as input field separator
@@ -1,14 +0,0 @@
1
- CAT(1) User Commands CAT(1)
2
-
3
- NAME
4
- cat - concatenate files and print on the standard output
5
-
6
- SYNOPSIS
7
- cat [OPTION]... [FILE]...
8
-
9
- DESCRIPTION
10
- Concatenate FILE(s) to standard output.
11
-
12
- OPTIONS
13
- -n, --number number all output lines
14
- -b, --number-nonblank number nonempty output lines
@@ -1,16 +0,0 @@
1
- CD(1) Shell Builtins CD(1)
2
-
3
- NAME
4
- cd - change the shell working directory
5
-
6
- SYNOPSIS
7
- cd [DIRECTORY]
8
-
9
- DESCRIPTION
10
- Change the current working directory.
11
- Without DIRECTORY, changes to $HOME.
12
-
13
- EXAMPLES
14
- cd /etc
15
- cd ..
16
- cd ~
@@ -1,16 +0,0 @@
1
- CHMOD(1) User Commands CHMOD(1)
2
-
3
- NAME
4
- chmod - change file mode bits
5
-
6
- SYNOPSIS
7
- chmod [OPTION]... MODE[,MODE]... FILE...
8
- chmod [OPTION]... OCTAL-MODE FILE...
9
-
10
- DESCRIPTION
11
- Change the file mode bits of each given file according to MODE.
12
-
13
- EXAMPLES
14
- chmod 755 script.sh rwxr-xr-x
15
- chmod 644 file.txt rw-r--r--
16
- chmod +x script.sh add execute permission
@@ -1,10 +0,0 @@
1
- CLEAR(1) User Commands CLEAR(1)
2
-
3
- NAME
4
- clear - clear the terminal screen
5
-
6
- SYNOPSIS
7
- clear
8
-
9
- DESCRIPTION
10
- Clear the display and move cursor to top-left.
@@ -1,10 +0,0 @@
1
- CP(1) User Commands CP(1)
2
-
3
- NAME
4
- cp - copy files and directories
5
-
6
- SYNOPSIS
7
- cp [OPTION]... SOURCE... DEST
8
-
9
- OPTIONS
10
- -r copy directories recursively
@@ -1,20 +0,0 @@
1
- CURL(1) User Commands CURL(1)
2
-
3
- NAME
4
- curl - transfer a URL
5
-
6
- SYNOPSIS
7
- curl [options / URLs]
8
-
9
- DESCRIPTION
10
- curl is a tool for transferring data with URL syntax.
11
-
12
- OPTIONS
13
- -o, --output <file> Write output to <file>
14
- -X, --request <method> Specify request method
15
- -d, --data <data> HTTP POST data
16
- -H, --header <header> Pass custom header
17
- -s, --silent Silent mode
18
- -I, --head Show document info only
19
- -L, --location Follow redirects
20
- -v, --verbose Make the operation more talkative
@@ -1,14 +0,0 @@
1
- DATE(1) User Commands DATE(1)
2
-
3
- NAME
4
- date - print or set the system date and time
5
-
6
- SYNOPSIS
7
- date [+FORMAT]
8
-
9
- DESCRIPTION
10
- Display current date/time, optionally formatted.
11
-
12
- EXAMPLES
13
- date
14
- date +%Y-%m-%d
@@ -1,12 +0,0 @@
1
- DECLARE(1) Shell Builtins DECLARE(1)
2
-
3
- NAME
4
- declare - set variable values and attributes
5
-
6
- SYNOPSIS
7
- declare [OPTION]... [NAME[=VALUE]...]
8
-
9
- OPTIONS
10
- -i variable has integer attribute
11
- -r make NAMEs readonly
12
- -x export NAMEs to environment
@@ -1,10 +0,0 @@
1
- DELUSER(8) User Commands DELUSER(8)
2
-
3
- NAME
4
- deluser - remove a user account
5
-
6
- SYNOPSIS
7
- deluser [OPTION] USERNAME
8
-
9
- OPTIONS
10
- -f, --force remove without interactive confirmation
@@ -1,10 +0,0 @@
1
- DF(1) User Commands DF(1)
2
-
3
- NAME
4
- df - report file system disk space usage
5
-
6
- SYNOPSIS
7
- df [OPTION]... [FILE]...
8
-
9
- OPTIONS
10
- -h print sizes in human readable format
@@ -1,11 +0,0 @@
1
- DPKG-QUERY(1) User Commands DPKG-QUERY(1)
2
-
3
- NAME
4
- dpkg-query - tool to query the dpkg database
5
-
6
- SYNOPSIS
7
- dpkg-query [OPTION]... [ACTION]
8
-
9
- OPTIONS
10
- -W list installed packages (show format)
11
- -l list packages
@@ -1,14 +0,0 @@
1
- DPKG(1) User Commands DPKG(1)
2
-
3
- NAME
4
- dpkg - package manager for Debian-like systems
5
-
6
- SYNOPSIS
7
- dpkg [OPTION]... ACTION
8
-
9
- OPTIONS
10
- -l list installed packages
11
- -s show package status
12
- -L list files in package
13
- -r remove package
14
- -P purge package
@@ -1,11 +0,0 @@
1
- DU(1) User Commands DU(1)
2
-
3
- NAME
4
- du - estimate file space usage
5
-
6
- SYNOPSIS
7
- du [OPTION]... [FILE]...
8
-
9
- OPTIONS
10
- -h print sizes in human readable format
11
- -s display only a total for each argument
@@ -1,11 +0,0 @@
1
- ECHO(1) User Commands ECHO(1)
2
-
3
- NAME
4
- echo - display a line of text
5
-
6
- SYNOPSIS
7
- echo [OPTION]... [STRING]...
8
-
9
- OPTIONS
10
- -n do not output the trailing newline
11
- -e enable interpretation of backslash escapes
@@ -1,10 +0,0 @@
1
- FALSE(1) User Commands FALSE(1)
2
-
3
- NAME
4
- false - do nothing, unsuccessfully
5
-
6
- SYNOPSIS
7
- false
8
-
9
- DESCRIPTION
10
- Exit with a status code indicating failure (1).
@@ -1,11 +0,0 @@
1
- FIND(1) User Commands FIND(1)
2
-
3
- NAME
4
- find - search for files in a directory hierarchy
5
-
6
- SYNOPSIS
7
- find [PATH] [EXPRESSION]
8
-
9
- OPTIONS
10
- -name PATTERN base name matches shell PATTERN
11
- -type TYPE file type, e.g. f for file, d for directory
@@ -1,12 +0,0 @@
1
- FREE(1) User Commands FREE(1)
2
-
3
- NAME
4
- free - display amount of free and used memory in the system
5
-
6
- SYNOPSIS
7
- free [OPTION]...
8
-
9
- OPTIONS
10
- -h show all output fields automatically scaled
11
- -m show output in mebibytes
12
- -g show output in gibibytes
@@ -1,13 +0,0 @@
1
- GREP(1) User Commands GREP(1)
2
-
3
- NAME
4
- grep, egrep, fgrep - print lines that match patterns
5
-
6
- SYNOPSIS
7
- grep [OPTION]... PATTERNS [FILE]...
8
-
9
- OPTIONS
10
- -i, --ignore-case ignore case distinctions in patterns and data
11
- -v, --invert-match select non-matching lines
12
- -n, --line-number print line number with output lines
13
- -r, --recursive read all files under each directory, recursively
@@ -1,10 +0,0 @@
1
- GROUPS(1) User Commands GROUPS(1)
2
-
3
- NAME
4
- groups - print the groups a user is in
5
-
6
- SYNOPSIS
7
- groups [USER]
8
-
9
- DESCRIPTION
10
- Print group memberships for USER or current user if omitted.
@@ -1,11 +0,0 @@
1
- GZIP(1) User Commands GZIP(1)
2
-
3
- NAME
4
- gzip, gunzip - compress or expand files
5
-
6
- SYNOPSIS
7
- gzip FILE...
8
- gunzip FILE...
9
-
10
- DESCRIPTION
11
- Compress or decompress files in place.
@@ -1,10 +0,0 @@
1
- HEAD(1) User Commands HEAD(1)
2
-
3
- NAME
4
- head - output the first part of files
5
-
6
- SYNOPSIS
7
- head [OPTION]... [FILE]...
8
-
9
- OPTIONS
10
- -n, --lines=[-]NUM print the first NUM lines
@@ -1,11 +0,0 @@
1
- HELP(1) Shell Builtins HELP(1)
2
-
3
- NAME
4
- help - display information about builtin commands
5
-
6
- SYNOPSIS
7
- help [COMMAND]
8
-
9
- DESCRIPTION
10
- With no arguments, list available commands.
11
- With COMMAND, show usage details for that command.
@@ -1,11 +0,0 @@
1
- HISTORY(1) Shell Builtins HISTORY(1)
2
-
3
- NAME
4
- history - command history list
5
-
6
- SYNOPSIS
7
- history [N]
8
-
9
- DESCRIPTION
10
- Print recent command history entries.
11
- If N is provided, print only the last N entries.
@@ -1,10 +0,0 @@
1
- HOSTNAME(1) User Commands HOSTNAME(1)
2
-
3
- NAME
4
- hostname - show or set the system host name
5
-
6
- SYNOPSIS
7
- hostname
8
-
9
- DESCRIPTION
10
- Print the current host name.
@@ -1,10 +0,0 @@
1
- ID(1) User Commands ID(1)
2
-
3
- NAME
4
- id - print real and effective user and group IDs
5
-
6
- SYNOPSIS
7
- id [USER]
8
-
9
- DESCRIPTION
10
- Print user identity information including uid, gid, and groups.
@@ -1,13 +0,0 @@
1
- KILL(1) User Commands KILL(1)
2
-
3
- NAME
4
- kill - send signals to processes
5
-
6
- SYNOPSIS
7
- kill [-SIGNAL] PID...
8
-
9
- DESCRIPTION
10
- Send a signal to one or more process IDs.
11
-
12
- NOTES
13
- This environment provides a mock process model.
@@ -1,20 +0,0 @@
1
- LS(1) User Commands LS(1)
2
-
3
- NAME
4
- ls - list directory contents
5
-
6
- SYNOPSIS
7
- ls [OPTION]... [FILE]...
8
-
9
- DESCRIPTION
10
- List information about the FILEs (the current directory by default).
11
-
12
- OPTIONS
13
- -l use a long listing format
14
- -a do not ignore entries starting with .
15
- -h with -l, print human readable sizes
16
- -r reverse order while sorting
17
- -t sort by modification time
18
-
19
- AUTHOR
20
- Written by Richard M. Stallman and David MacKenzie.
@@ -1,14 +0,0 @@
1
- LSB_RELEASE(1) User Commands LSB_RELEASE(1)
2
-
3
- NAME
4
- lsb_release - print distribution-specific information
5
-
6
- SYNOPSIS
7
- lsb_release [OPTION]...
8
-
9
- OPTIONS
10
- -a show all available information
11
- -i show distributor ID
12
- -d show description
13
- -r show release number
14
- -c show codename
@@ -1,10 +0,0 @@
1
- MKDIR(1) User Commands MKDIR(1)
2
-
3
- NAME
4
- mkdir - make directories
5
-
6
- SYNOPSIS
7
- mkdir [OPTION]... DIRECTORY...
8
-
9
- OPTIONS
10
- -p no error if existing, make parent directories as needed
@@ -1,10 +0,0 @@
1
- MV(1) User Commands MV(1)
2
-
3
- NAME
4
- mv - move (rename) files
5
-
6
- SYNOPSIS
7
- mv SOURCE DEST
8
-
9
- DESCRIPTION
10
- Rename SOURCE to DEST, or move SOURCE into a destination directory.
@@ -1,11 +0,0 @@
1
- NANO(1) User Commands NANO(1)
2
-
3
- NAME
4
- nano - simple terminal text editor
5
-
6
- SYNOPSIS
7
- nano FILE
8
-
9
- DESCRIPTION
10
- Open FILE in an interactive editor.
11
- Save with Ctrl+O, exit with Ctrl+X.
@@ -1,10 +0,0 @@
1
- NEOFETCH(1) User Commands NEOFETCH(1)
2
-
3
- NAME
4
- neofetch - display system information
5
-
6
- SYNOPSIS
7
- neofetch
8
-
9
- DESCRIPTION
10
- Print OS, kernel, uptime, package count, and related system details.
@@ -1,13 +0,0 @@
1
- NODE(1) User Commands NODE(1)
2
-
3
- NAME
4
- node - virtual JavaScript runtime entry point
5
-
6
- SYNOPSIS
7
- node [--version] [-e SCRIPT] [-p EXPR]
8
-
9
- DESCRIPTION
10
- Execute JavaScript snippets in the virtual runtime.
11
-
12
- NOTES
13
- Requires package installation: apt install nodejs.
@@ -1,13 +0,0 @@
1
- NPM(1) User Commands NPM(1)
2
-
3
- NAME
4
- npm - virtual Node.js package manager interface
5
-
6
- SYNOPSIS
7
- npm [--version] [COMMAND]
8
-
9
- DESCRIPTION
10
- Manage packages and run scripts in the virtual environment.
11
-
12
- NOTES
13
- Requires package installation: apt install npm.
@@ -1,13 +0,0 @@
1
- NPX(1) User Commands NPX(1)
2
-
3
- NAME
4
- npx - execute package binaries from npm
5
-
6
- SYNOPSIS
7
- npx [--version] <command>
8
-
9
- DESCRIPTION
10
- Run package executables in the virtual environment.
11
-
12
- NOTES
13
- Requires package installation: apt install npm.
@@ -1,11 +0,0 @@
1
- PASSWD(1) User Commands PASSWD(1)
2
-
3
- NAME
4
- passwd - change user password
5
-
6
- SYNOPSIS
7
- passwd [USER]
8
-
9
- DESCRIPTION
10
- Update the authentication token (password) for USER.
11
- Without USER, change the current user's password.
@@ -1,10 +0,0 @@
1
- PING(8) User Commands PING(8)
2
-
3
- NAME
4
- ping - send ICMP ECHO_REQUEST to network hosts
5
-
6
- SYNOPSIS
7
- ping [-c COUNT] DESTINATION
8
-
9
- OPTIONS
10
- -c COUNT stop after sending COUNT packets