typescript-virtual-container 1.5.3 → 1.5.4

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 (365) hide show
  1. package/README.md +43 -23
  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/commands/basename.d.ts +13 -0
  6. package/dist/commands/basename.js +45 -0
  7. package/dist/commands/file.d.ts +8 -0
  8. package/dist/commands/file.js +57 -0
  9. package/dist/commands/fun.d.ts +32 -0
  10. package/dist/commands/fun.js +172 -0
  11. package/dist/commands/ifconfig.d.ts +7 -0
  12. package/dist/commands/ifconfig.js +52 -0
  13. package/dist/commands/last.d.ts +13 -0
  14. package/dist/commands/last.js +68 -0
  15. package/dist/commands/manuals-bundle.js +598 -6
  16. package/dist/commands/registry.js +24 -2
  17. package/dist/commands/runtime.js +22 -2
  18. package/dist/commands/sh.js +5 -0
  19. package/dist/commands/tput.d.ts +13 -0
  20. package/dist/commands/tput.js +76 -0
  21. package/dist/commands/w.d.ts +7 -0
  22. package/dist/commands/w.js +38 -0
  23. package/dist/utils/expand.d.ts +12 -0
  24. package/dist/utils/expand.js +84 -0
  25. package/package.json +9 -3
  26. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -50
  27. package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -31
  28. package/.github/dependabot.yml +0 -27
  29. package/.github/pull_request_template.md +0 -21
  30. package/.github/workflows/create-pull-request.yml +0 -85
  31. package/.github/workflows/publish.yml +0 -25
  32. package/.github/workflows/test-battery.yml +0 -102
  33. package/.vscode/settings.json +0 -20
  34. package/CODE_OF_CONDUCT.md +0 -39
  35. package/CONTRIBUTING.md +0 -59
  36. package/HONEYPOT.md +0 -358
  37. package/SECURITY.md +0 -33
  38. package/benchmark-results.txt +0 -40
  39. package/benchmark-virtualshell.ts +0 -88
  40. package/biome.json +0 -37
  41. package/build.js +0 -22
  42. package/builds/fortune-nyx-v1.5.3-directbash-k6.1.0.mjs +0 -1764
  43. package/builds/fortune-nyx-v1.5.3-ssh-nosftp.js +0 -1764
  44. package/builds/fortune-nyx-v1.5.3-ssh.cjs +0 -1765
  45. package/builds/fortune-nyx-v1.5.3-web.min.js +0 -17036
  46. package/bun.lock +0 -244
  47. package/docs/.nojekyll +0 -1
  48. package/docs/app.js +0 -1751
  49. package/docs/assets/hierarchy.js +0 -1
  50. package/docs/assets/highlight.css +0 -162
  51. package/docs/assets/icons.js +0 -18
  52. package/docs/assets/icons.svg +0 -1
  53. package/docs/assets/main.js +0 -60
  54. package/docs/assets/navigation.js +0 -1
  55. package/docs/assets/search.js +0 -1
  56. package/docs/assets/style.css +0 -1633
  57. package/docs/classes/HoneyPot.html +0 -31
  58. package/docs/classes/IdleManager.html +0 -162
  59. package/docs/classes/SshClient.html +0 -66
  60. package/docs/classes/VirtualFileSystem.html +0 -279
  61. package/docs/classes/VirtualPackageManager.html +0 -63
  62. package/docs/classes/VirtualSftpServer.html +0 -169
  63. package/docs/classes/VirtualShell.html +0 -285
  64. package/docs/classes/VirtualSshServer.html +0 -182
  65. package/docs/classes/VirtualUserManager.html +0 -276
  66. package/docs/demo.html +0 -82
  67. package/docs/functions/assertDiff.html +0 -6
  68. package/docs/functions/diffSnapshots.html +0 -7
  69. package/docs/functions/formatDiff.html +0 -6
  70. package/docs/functions/getArg.html +0 -13
  71. package/docs/functions/getFlag.html +0 -15
  72. package/docs/functions/ifFlag.html +0 -11
  73. package/docs/hierarchy.html +0 -1
  74. package/docs/index.html +0 -1869
  75. package/docs/interfaces/AuditLogEntry.html +0 -6
  76. package/docs/interfaces/CommandContext.html +0 -22
  77. package/docs/interfaces/CommandResult.html +0 -26
  78. package/docs/interfaces/ExecStream.html +0 -11
  79. package/docs/interfaces/HoneyPotStats.html +0 -16
  80. package/docs/interfaces/IdleManagerOptions.html +0 -7
  81. package/docs/interfaces/InstalledPackage.html +0 -20
  82. package/docs/interfaces/NanoEditorSession.html +0 -8
  83. package/docs/interfaces/PackageDefinition.html +0 -30
  84. package/docs/interfaces/PackageFile.html +0 -8
  85. package/docs/interfaces/PasswordChallenge.html +0 -16
  86. package/docs/interfaces/RemoveOptions.html +0 -4
  87. package/docs/interfaces/ShellEnv.html +0 -6
  88. package/docs/interfaces/ShellModule.html +0 -14
  89. package/docs/interfaces/ShellProperties.html +0 -14
  90. package/docs/interfaces/ShellStream.html +0 -11
  91. package/docs/interfaces/SudoChallenge.html +0 -24
  92. package/docs/interfaces/VfsBaseNode.html +0 -12
  93. package/docs/interfaces/VfsDiff.html +0 -10
  94. package/docs/interfaces/VfsDiffEntry.html +0 -6
  95. package/docs/interfaces/VfsDiffModified.html +0 -10
  96. package/docs/interfaces/VfsDirectoryNode.html +0 -15
  97. package/docs/interfaces/VfsFileNode.html +0 -17
  98. package/docs/interfaces/VfsOptions.html +0 -26
  99. package/docs/interfaces/VfsSnapshot.html +0 -3
  100. package/docs/interfaces/VfsSnapshotBaseNode.html +0 -8
  101. package/docs/interfaces/VfsSnapshotDirectoryNode.html +0 -10
  102. package/docs/interfaces/VfsSnapshotFileNode.html +0 -12
  103. package/docs/interfaces/VirtualActiveSession.html +0 -12
  104. package/docs/interfaces/VirtualSftpServerOptions.html +0 -7
  105. package/docs/interfaces/VirtualShellVfsLike.html +0 -15
  106. package/docs/interfaces/VirtualShellVfsOptions.html +0 -3
  107. package/docs/interfaces/WriteFileOptions.html +0 -6
  108. package/docs/media/LICENSE +0 -21
  109. package/docs/modules.html +0 -1
  110. package/docs/types/ArgParseOptions.html +0 -4
  111. package/docs/types/CommandMode.html +0 -2
  112. package/docs/types/CommandOutcome.html +0 -2
  113. package/docs/types/IdleState.html +0 -1
  114. package/docs/types/VfsNodeStats.html +0 -2
  115. package/docs/types/VfsNodeType.html +0 -2
  116. package/docs/types/VfsPersistenceMode.html +0 -5
  117. package/docs/types/VfsSnapshotNode.html +0 -2
  118. package/examples/README.md +0 -288
  119. package/examples/app.js +0 -1751
  120. package/examples/app.ts +0 -299
  121. package/examples/build.js +0 -27
  122. package/examples/demo.html +0 -33
  123. package/examples/honeypot-audit.ts +0 -180
  124. package/examples/honeypot-export.ts +0 -253
  125. package/examples/honeypot-quickstart.ts +0 -110
  126. package/examples/index.html +0 -82
  127. package/examples/server.js +0 -55
  128. package/polyfills/buffer.js +0 -117
  129. package/polyfills/node_child_process/index.js +0 -2
  130. package/polyfills/node_crypto/index.js +0 -167
  131. package/polyfills/node_events/index.js +0 -9
  132. package/polyfills/node_fs/index.js +0 -202
  133. package/polyfills/node_fs/promises.js +0 -4
  134. package/polyfills/node_os/index.js +0 -9
  135. package/polyfills/node_path/index.js +0 -28
  136. package/polyfills/node_vm/index.js +0 -7
  137. package/polyfills/node_zlib/index.js +0 -3
  138. package/polyfills/process.js +0 -14
  139. package/polyfills/ssh2/index.js +0 -75
  140. package/scripts/build-all.mjs +0 -226
  141. package/scripts/build-names.mjs +0 -43
  142. package/scripts/generate-manuals-bundle.mjs +0 -49
  143. package/scripts/postinstall.js +0 -42
  144. package/scripts/publish-package.sh +0 -70
  145. package/src/Honeypot/index.ts +0 -457
  146. package/src/SSHClient/index.ts +0 -270
  147. package/src/SSHMimic/exec.ts +0 -49
  148. package/src/SSHMimic/executor.ts +0 -251
  149. package/src/SSHMimic/hostKey.ts +0 -21
  150. package/src/SSHMimic/index.ts +0 -337
  151. package/src/SSHMimic/loginBanner.ts +0 -36
  152. package/src/SSHMimic/loginFormat.ts +0 -10
  153. package/src/SSHMimic/prompt.ts +0 -14
  154. package/src/SSHMimic/sftp.ts +0 -883
  155. package/src/VirtualFileSystem/binaryPack.ts +0 -258
  156. package/src/VirtualFileSystem/index.ts +0 -1193
  157. package/src/VirtualFileSystem/internalTypes.ts +0 -43
  158. package/src/VirtualFileSystem/journal.ts +0 -171
  159. package/src/VirtualFileSystem/path.ts +0 -74
  160. package/src/VirtualPackageManager/index.ts +0 -996
  161. package/src/VirtualShell/idleManager.ts +0 -137
  162. package/src/VirtualShell/index.ts +0 -475
  163. package/src/VirtualShell/shell.ts +0 -700
  164. package/src/VirtualShell/shellParser.ts +0 -285
  165. package/src/VirtualUserManager/index.ts +0 -758
  166. package/src/bun.d.ts +0 -1
  167. package/src/commands/adduser.ts +0 -103
  168. package/src/commands/alias.ts +0 -69
  169. package/src/commands/apt.ts +0 -233
  170. package/src/commands/awk.ts +0 -168
  171. package/src/commands/base64.ts +0 -29
  172. package/src/commands/cat.ts +0 -52
  173. package/src/commands/cd.ts +0 -25
  174. package/src/commands/chmod.ts +0 -85
  175. package/src/commands/clear.ts +0 -15
  176. package/src/commands/command-helpers.ts +0 -286
  177. package/src/commands/cp.ts +0 -83
  178. package/src/commands/curl.ts +0 -147
  179. package/src/commands/cut.ts +0 -36
  180. package/src/commands/date.ts +0 -30
  181. package/src/commands/declare.ts +0 -49
  182. package/src/commands/deluser.ts +0 -98
  183. package/src/commands/df.ts +0 -23
  184. package/src/commands/diff.ts +0 -43
  185. package/src/commands/dpkg.ts +0 -180
  186. package/src/commands/du.ts +0 -56
  187. package/src/commands/echo.ts +0 -58
  188. package/src/commands/env.ts +0 -23
  189. package/src/commands/exit.ts +0 -18
  190. package/src/commands/export.ts +0 -34
  191. package/src/commands/find.ts +0 -68
  192. package/src/commands/free.ts +0 -47
  193. package/src/commands/grep.ts +0 -116
  194. package/src/commands/groups.ts +0 -19
  195. package/src/commands/gzip.ts +0 -88
  196. package/src/commands/head.ts +0 -52
  197. package/src/commands/help.ts +0 -152
  198. package/src/commands/helpers.ts +0 -234
  199. package/src/commands/history.ts +0 -34
  200. package/src/commands/hostname.ts +0 -14
  201. package/src/commands/htop.ts +0 -20
  202. package/src/commands/id.ts +0 -19
  203. package/src/commands/index.ts +0 -9
  204. package/src/commands/kill.ts +0 -19
  205. package/src/commands/ln.ts +0 -71
  206. package/src/commands/ls.ts +0 -243
  207. package/src/commands/lsb-release.ts +0 -63
  208. package/src/commands/man.ts +0 -31
  209. package/src/commands/manuals/adduser.txt +0 -11
  210. package/src/commands/manuals/apt-cache.txt +0 -12
  211. package/src/commands/manuals/apt.txt +0 -20
  212. package/src/commands/manuals/awk.txt +0 -13
  213. package/src/commands/manuals/cat.txt +0 -14
  214. package/src/commands/manuals/cd.txt +0 -16
  215. package/src/commands/manuals/chmod.txt +0 -16
  216. package/src/commands/manuals/clear.txt +0 -10
  217. package/src/commands/manuals/cp.txt +0 -10
  218. package/src/commands/manuals/curl.txt +0 -20
  219. package/src/commands/manuals/date.txt +0 -14
  220. package/src/commands/manuals/declare.txt +0 -12
  221. package/src/commands/manuals/deluser.txt +0 -10
  222. package/src/commands/manuals/df.txt +0 -10
  223. package/src/commands/manuals/dpkg-query.txt +0 -11
  224. package/src/commands/manuals/dpkg.txt +0 -14
  225. package/src/commands/manuals/du.txt +0 -11
  226. package/src/commands/manuals/echo.txt +0 -11
  227. package/src/commands/manuals/false.txt +0 -10
  228. package/src/commands/manuals/find.txt +0 -11
  229. package/src/commands/manuals/free.txt +0 -12
  230. package/src/commands/manuals/grep.txt +0 -13
  231. package/src/commands/manuals/groups.txt +0 -10
  232. package/src/commands/manuals/gzip.txt +0 -11
  233. package/src/commands/manuals/head.txt +0 -10
  234. package/src/commands/manuals/help.txt +0 -11
  235. package/src/commands/manuals/history.txt +0 -11
  236. package/src/commands/manuals/hostname.txt +0 -10
  237. package/src/commands/manuals/id.txt +0 -10
  238. package/src/commands/manuals/kill.txt +0 -13
  239. package/src/commands/manuals/ls.txt +0 -20
  240. package/src/commands/manuals/lsb_release.txt +0 -14
  241. package/src/commands/manuals/mkdir.txt +0 -10
  242. package/src/commands/manuals/mv.txt +0 -10
  243. package/src/commands/manuals/nano.txt +0 -11
  244. package/src/commands/manuals/neofetch.txt +0 -10
  245. package/src/commands/manuals/node.txt +0 -13
  246. package/src/commands/manuals/npm.txt +0 -13
  247. package/src/commands/manuals/npx.txt +0 -13
  248. package/src/commands/manuals/passwd.txt +0 -11
  249. package/src/commands/manuals/ping.txt +0 -10
  250. package/src/commands/manuals/printf.txt +0 -11
  251. package/src/commands/manuals/ps.txt +0 -10
  252. package/src/commands/manuals/pwd.txt +0 -10
  253. package/src/commands/manuals/python3.txt +0 -13
  254. package/src/commands/manuals/readlink.txt +0 -10
  255. package/src/commands/manuals/return.txt +0 -10
  256. package/src/commands/manuals/rm.txt +0 -10
  257. package/src/commands/manuals/sed.txt +0 -11
  258. package/src/commands/manuals/set.txt +0 -11
  259. package/src/commands/manuals/shift.txt +0 -10
  260. package/src/commands/manuals/sleep.txt +0 -10
  261. package/src/commands/manuals/sort.txt +0 -12
  262. package/src/commands/manuals/source.txt +0 -11
  263. package/src/commands/manuals/ssh.txt +0 -11
  264. package/src/commands/manuals/stat.txt +0 -10
  265. package/src/commands/manuals/su.txt +0 -13
  266. package/src/commands/manuals/sudo.txt +0 -11
  267. package/src/commands/manuals/tail.txt +0 -10
  268. package/src/commands/manuals/tar.txt +0 -19
  269. package/src/commands/manuals/tee.txt +0 -10
  270. package/src/commands/manuals/test.txt +0 -11
  271. package/src/commands/manuals/touch.txt +0 -11
  272. package/src/commands/manuals/tr.txt +0 -10
  273. package/src/commands/manuals/trap.txt +0 -10
  274. package/src/commands/manuals/true.txt +0 -10
  275. package/src/commands/manuals/type.txt +0 -10
  276. package/src/commands/manuals/uname.txt +0 -12
  277. package/src/commands/manuals/uniq.txt +0 -12
  278. package/src/commands/manuals/unset.txt +0 -10
  279. package/src/commands/manuals/uptime.txt +0 -11
  280. package/src/commands/manuals/wc.txt +0 -12
  281. package/src/commands/manuals/wget.txt +0 -12
  282. package/src/commands/manuals/which.txt +0 -10
  283. package/src/commands/manuals/whoami.txt +0 -10
  284. package/src/commands/manuals/xargs.txt +0 -10
  285. package/src/commands/manuals-bundle.ts +0 -898
  286. package/src/commands/mkdir.ts +0 -31
  287. package/src/commands/mv.ts +0 -50
  288. package/src/commands/nano.ts +0 -38
  289. package/src/commands/neofetch.ts +0 -53
  290. package/src/commands/node.ts +0 -341
  291. package/src/commands/npm.ts +0 -132
  292. package/src/commands/passwd.ts +0 -50
  293. package/src/commands/ping.ts +0 -32
  294. package/src/commands/printf.ts +0 -129
  295. package/src/commands/ps.ts +0 -58
  296. package/src/commands/pwd.ts +0 -9
  297. package/src/commands/python.ts +0 -2229
  298. package/src/commands/read.ts +0 -46
  299. package/src/commands/registry.ts +0 -249
  300. package/src/commands/rm.ts +0 -42
  301. package/src/commands/runtime.ts +0 -421
  302. package/src/commands/sed.ts +0 -68
  303. package/src/commands/seq.ts +0 -43
  304. package/src/commands/set.ts +0 -29
  305. package/src/commands/sh.ts +0 -467
  306. package/src/commands/shift.ts +0 -63
  307. package/src/commands/sleep.ts +0 -20
  308. package/src/commands/sort.ts +0 -46
  309. package/src/commands/source.ts +0 -52
  310. package/src/commands/stat.ts +0 -61
  311. package/src/commands/su.ts +0 -72
  312. package/src/commands/sudo.ts +0 -76
  313. package/src/commands/tail.ts +0 -53
  314. package/src/commands/tar.ts +0 -102
  315. package/src/commands/tee.ts +0 -36
  316. package/src/commands/test.ts +0 -137
  317. package/src/commands/touch.ts +0 -28
  318. package/src/commands/tr.ts +0 -70
  319. package/src/commands/tree.ts +0 -20
  320. package/src/commands/true.ts +0 -27
  321. package/src/commands/type.ts +0 -48
  322. package/src/commands/uname.ts +0 -29
  323. package/src/commands/uniq.ts +0 -39
  324. package/src/commands/unset.ts +0 -17
  325. package/src/commands/uptime.ts +0 -54
  326. package/src/commands/wc.ts +0 -55
  327. package/src/commands/wget.ts +0 -148
  328. package/src/commands/which.ts +0 -37
  329. package/src/commands/who.ts +0 -25
  330. package/src/commands/whoami.ts +0 -14
  331. package/src/commands/xargs.ts +0 -31
  332. package/src/index.ts +0 -67
  333. package/src/modules/linuxRootfs.ts +0 -1961
  334. package/src/modules/neofetch.ts +0 -358
  335. package/src/modules/shellInteractive.ts +0 -57
  336. package/src/modules/shellRuntime.ts +0 -76
  337. package/src/self-standalone.ts +0 -542
  338. package/src/standalone-wo-sftp.ts +0 -38
  339. package/src/standalone.ts +0 -72
  340. package/src/types/commands.ts +0 -146
  341. package/src/types/pipeline.ts +0 -52
  342. package/src/types/streams.ts +0 -32
  343. package/src/types/tar-stream.d.ts +0 -38
  344. package/src/types/vfs.ts +0 -98
  345. package/src/utils/expand.ts +0 -491
  346. package/src/utils/perfLogger.ts +0 -72
  347. package/src/utils/tokenize.ts +0 -98
  348. package/src/utils/vfsDiff.ts +0 -275
  349. package/tests/command-helpers.test.ts +0 -116
  350. package/tests/commands-admin-net.test.ts +0 -441
  351. package/tests/commands-advanced.test.ts +0 -456
  352. package/tests/commands-core.test.ts +0 -562
  353. package/tests/commands-missing.test.ts +0 -570
  354. package/tests/commands-specific-units.test.ts +0 -327
  355. package/tests/commands-text-sys.test.ts +0 -445
  356. package/tests/expand.test.ts +0 -170
  357. package/tests/helpers.test.ts +0 -97
  358. package/tests/new-features.test.ts +0 -1036
  359. package/tests/parser-executor.test.ts +0 -37
  360. package/tests/sftp.test.ts +0 -323
  361. package/tests/ssh-exec.test.ts +0 -45
  362. package/tests/test-helper.ts +0 -79
  363. package/tests/users.test.ts +0 -86
  364. package/tsconfig.json +0 -49
  365. 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