@fnndsc/chell 4.3.1 → 4.4.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 (124) hide show
  1. package/dist/builtins/debug.d.ts +3 -1
  2. package/dist/builtins/debug.js +14 -22
  3. package/dist/builtins/debug.js.map +1 -1
  4. package/dist/builtins/fs/cat.d.ts +8 -8
  5. package/dist/builtins/fs/cat.js +37 -20
  6. package/dist/builtins/fs/cat.js.map +1 -1
  7. package/dist/builtins/fs/cd.d.ts +3 -2
  8. package/dist/builtins/fs/cd.js +48 -33
  9. package/dist/builtins/fs/cd.js.map +1 -1
  10. package/dist/builtins/fs/cp.d.ts +4 -1
  11. package/dist/builtins/fs/cp.js +23 -10
  12. package/dist/builtins/fs/cp.js.map +1 -1
  13. package/dist/builtins/fs/download.js +5 -1
  14. package/dist/builtins/fs/download.js.map +1 -1
  15. package/dist/builtins/fs/edit.d.ts +2 -2
  16. package/dist/builtins/fs/edit.js +37 -19
  17. package/dist/builtins/fs/edit.js.map +1 -1
  18. package/dist/builtins/fs/mkdir.d.ts +4 -1
  19. package/dist/builtins/fs/mkdir.js +20 -6
  20. package/dist/builtins/fs/mkdir.js.map +1 -1
  21. package/dist/builtins/fs/mv.d.ts +4 -1
  22. package/dist/builtins/fs/mv.js +23 -10
  23. package/dist/builtins/fs/mv.js.map +1 -1
  24. package/dist/builtins/fs/pull.d.ts +2 -2
  25. package/dist/builtins/fs/pull.js +57 -29
  26. package/dist/builtins/fs/pull.js.map +1 -1
  27. package/dist/builtins/fs/pwd.d.ts +6 -3
  28. package/dist/builtins/fs/pwd.js +8 -10
  29. package/dist/builtins/fs/pwd.js.map +1 -1
  30. package/dist/builtins/fs/rm.d.ts +7 -1
  31. package/dist/builtins/fs/rm.js +61 -12
  32. package/dist/builtins/fs/rm.js.map +1 -1
  33. package/dist/builtins/fs/touch.d.ts +4 -1
  34. package/dist/builtins/fs/touch.js +24 -12
  35. package/dist/builtins/fs/touch.js.map +1 -1
  36. package/dist/builtins/fs/upload.js +4 -1
  37. package/dist/builtins/fs/upload.js.map +1 -1
  38. package/dist/builtins/help.js +3 -3
  39. package/dist/builtins/index.d.ts +1 -0
  40. package/dist/builtins/index.js +1 -0
  41. package/dist/builtins/index.js.map +1 -1
  42. package/dist/builtins/net/cubepath.d.ts +1 -1
  43. package/dist/builtins/net/cubepath.js +1 -1
  44. package/dist/builtins/net/query.d.ts +1 -1
  45. package/dist/builtins/net/query.js +1 -1
  46. package/dist/builtins/sys/physicalmode.d.ts +3 -1
  47. package/dist/builtins/sys/physicalmode.js +13 -20
  48. package/dist/builtins/sys/physicalmode.js.map +1 -1
  49. package/dist/builtins/sys/timing.d.ts +3 -1
  50. package/dist/builtins/sys/timing.js +13 -20
  51. package/dist/builtins/sys/timing.js.map +1 -1
  52. package/dist/builtins/sys/version.d.ts +15 -0
  53. package/dist/builtins/sys/version.js +23 -0
  54. package/dist/builtins/sys/version.js.map +1 -0
  55. package/dist/builtins/sys/whoami.d.ts +9 -4
  56. package/dist/builtins/sys/whoami.js +20 -13
  57. package/dist/builtins/sys/whoami.js.map +1 -1
  58. package/dist/calypso.d.ts +13 -0
  59. package/dist/calypso.js +44 -0
  60. package/dist/calypso.js.map +1 -0
  61. package/dist/chell.d.ts +2 -1
  62. package/dist/chell.js +2 -1
  63. package/dist/chell.js.map +1 -1
  64. package/dist/core/boot.d.ts +3 -1
  65. package/dist/core/boot.js +50 -100
  66. package/dist/core/boot.js.map +1 -1
  67. package/dist/core/cli.d.ts +3 -1
  68. package/dist/core/cli.js +11 -1
  69. package/dist/core/cli.js.map +1 -1
  70. package/dist/core/cliSurface.d.ts +26 -0
  71. package/dist/core/cliSurface.js +152 -0
  72. package/dist/core/cliSurface.js.map +1 -0
  73. package/dist/core/dispatch.d.ts +63 -10
  74. package/dist/core/dispatch.js +326 -234
  75. package/dist/core/dispatch.js.map +1 -1
  76. package/dist/core/engine.d.ts +91 -0
  77. package/dist/core/engine.js +222 -0
  78. package/dist/core/engine.js.map +1 -0
  79. package/dist/core/progress.d.ts +25 -0
  80. package/dist/core/progress.js +10 -0
  81. package/dist/core/progress.js.map +1 -0
  82. package/dist/core/progressRenderer.d.ts +42 -0
  83. package/dist/core/progressRenderer.js +176 -0
  84. package/dist/core/progressRenderer.js.map +1 -0
  85. package/dist/core/prompt/session.d.ts +20 -0
  86. package/dist/core/prompt/session.js +43 -0
  87. package/dist/core/prompt/session.js.map +1 -0
  88. package/dist/core/question.d.ts +11 -18
  89. package/dist/core/question.js +14 -57
  90. package/dist/core/question.js.map +1 -1
  91. package/dist/core/repl.d.ts +25 -5
  92. package/dist/core/repl.js +56 -45
  93. package/dist/core/repl.js.map +1 -1
  94. package/dist/core/sink.d.ts +201 -0
  95. package/dist/core/sink.js +300 -0
  96. package/dist/core/sink.js.map +1 -0
  97. package/dist/core/surface.d.ts +172 -0
  98. package/dist/core/surface.js +105 -0
  99. package/dist/core/surface.js.map +1 -0
  100. package/dist/core/version.d.ts +20 -0
  101. package/dist/core/version.js +82 -0
  102. package/dist/core/version.js.map +1 -0
  103. package/dist/core/warnings.d.ts +14 -0
  104. package/dist/core/warnings.js +25 -0
  105. package/dist/core/warnings.js.map +1 -0
  106. package/dist/daemon/launch.d.ts +9 -0
  107. package/dist/daemon/launch.js +82 -0
  108. package/dist/daemon/launch.js.map +1 -0
  109. package/dist/index.js +2 -12
  110. package/dist/index.js.map +1 -1
  111. package/dist/lib/spinner.js +5 -4
  112. package/dist/lib/spinner.js.map +1 -1
  113. package/dist/lib/vfs/vfs.js +7 -3
  114. package/dist/lib/vfs/vfs.js.map +1 -1
  115. package/dist/remote/client.d.ts +6 -0
  116. package/dist/remote/client.js +71 -0
  117. package/dist/remote/client.js.map +1 -0
  118. package/dist/remote/discovery.d.ts +23 -0
  119. package/dist/remote/discovery.js +55 -0
  120. package/dist/remote/discovery.js.map +1 -0
  121. package/dist/remote/remoteEngine.d.ts +125 -0
  122. package/dist/remote/remoteEngine.js +283 -0
  123. package/dist/remote/remoteEngine.js.map +1 -0
  124. package/package.json +8 -6
@@ -1 +1 @@
1
- {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/builtins/fs/download.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EACL,0BAA0B,IAAI,kBAAkB,EAEhD,YAAY,EACb,MAAM,uCAAuC,CAAC;AAE/C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAc;IACnD,MAAM,KAAK,GAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACvE,MAAM,SAAS,GAAa,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC;IAElF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC,CAAC;QAClF,OAAO;IACT,CAAC;IAED,MAAM,aAAa,GAAW,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAW,SAAS,CAAC,CAAC,CAAC,CAAC;IAE1C,MAAM,YAAY,GAAW,MAAM,YAAY,CAAC,aAAa,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAW,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEvD,IAAI,CAAC;QACH,MAAM,OAAO,GAAoB,MAAM,kBAAkB,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAEhG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,IAAI,OAAO,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,6BAA6B,OAAO,CAAC,gBAAgB,UAAU,CAAC,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,OAAO,CAAC,gBAAgB,aAAa,OAAO,CAAC,WAAW,SAAS,CAAC,CAAC,CAAC;QAC/G,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAClJ,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,MAAM,GAAG,GAAW,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/builtins/fs/download.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EACL,0BAA0B,IAAI,kBAAkB,EAEhD,YAAY,EACb,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAc;IACnD,MAAM,KAAK,GAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACvE,MAAM,SAAS,GAAa,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC;IAElF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC,CAAC;QAClF,OAAO;IACT,CAAC;IAED,MAAM,aAAa,GAAW,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAW,SAAS,CAAC,CAAC,CAAC,CAAC;IAE1C,MAAM,YAAY,GAAW,MAAM,YAAY,CAAC,aAAa,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAW,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEvD,IAAI,CAAC;QACH,MAAM,OAAO,GAAoB,MAAM,kBAAkB,CAAC,YAAY,EAAE,WAAW,EAAE;YACnF,KAAK;YACL,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC;SACtD,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,IAAI,OAAO,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,6BAA6B,OAAO,CAAC,gBAAgB,UAAU,CAAC,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,OAAO,CAAC,gBAAgB,aAAa,OAAO,CAAC,WAAW,SAAS,CAAC,CAAC,CAAC;QAC/G,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAClJ,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,MAAM,GAAG,GAAW,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;AACH,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
- * Opens a ChRIS file in $EDITOR. On save, replaces the original via
3
- * delete + re-upload. No-ops if content is unchanged.
2
+ * Opens a ChRIS file in the surface's local editor. On save, replaces the
3
+ * original via delete + re-upload. No-ops if content is unchanged.
4
4
  *
5
5
  * @param args - [filePath, ...]
6
6
  */
@@ -1,13 +1,16 @@
1
1
  /**
2
2
  * @file Builtin edit command.
3
- * Fetches a ChRIS file, opens it in $EDITOR, then deletes and re-uploads on save.
3
+ * Fetches a ChRIS file, opens it in the surface's local editor, then
4
+ * re-uploads on save. The editor mechanics live in the surface, so this
5
+ * builtin knows nothing of processes or terminals — it fetches, hands the
6
+ * content to the surface, and uploads the result.
4
7
  */
5
- import { spawnSync } from 'child_process';
6
- import { writeFileSync, readFileSync, unlinkSync, existsSync } from 'fs';
8
+ import { writeFileSync, unlinkSync, existsSync } from 'fs';
7
9
  import { tmpdir } from 'os';
8
10
  import { join, extname, posix } from 'path';
9
11
  import chalk from 'chalk';
10
12
  import { path_resolve, error_stripDebugPrefix } from '../utils.js';
13
+ import { surface_get, capability_require, CapabilityError } from '../../core/surface.js';
11
14
  import { files_cat } from '@fnndsc/chili/commands/fs/cat.js';
12
15
  import { file_replaceContent } from '@fnndsc/chili/commands/fs/edit.js';
13
16
  import { errorStack, listCache_get } from '@fnndsc/cumin';
@@ -17,8 +20,8 @@ const BINARY_EXTENSIONS = new Set([
17
20
  '.exe', '.dll', '.so', '.bin', '.mp3', '.mp4', '.avi', '.wav',
18
21
  ]);
19
22
  /**
20
- * Opens a ChRIS file in $EDITOR. On save, replaces the original via
21
- * delete + re-upload. No-ops if content is unchanged.
23
+ * Opens a ChRIS file in the surface's local editor. On save, replaces the
24
+ * original via delete + re-upload. No-ops if content is unchanged.
22
25
  *
23
26
  * @param args - [filePath, ...]
24
27
  */
@@ -28,6 +31,18 @@ export async function builtin_edit(args) {
28
31
  process.exitCode = 1;
29
32
  return;
30
33
  }
34
+ // Editing needs a surface that can open a local editor. A surface without
35
+ // the capability (a headless or browser host) fails here with a clear
36
+ // message instead of assuming a terminal exists.
37
+ try {
38
+ capability_require('localEdit', 'edit: this surface cannot open a local editor.');
39
+ }
40
+ catch (err) {
41
+ const message = err instanceof CapabilityError ? err.message : String(err);
42
+ console.error(chalk.red(message));
43
+ process.exitCode = 1;
44
+ return;
45
+ }
31
46
  const target = await path_resolve(args[0]);
32
47
  const ext = extname(target).toLowerCase();
33
48
  if (BINARY_EXTENSIONS.has(ext)) {
@@ -42,23 +57,26 @@ export async function builtin_edit(args) {
42
57
  process.exitCode = 1;
43
58
  return;
44
59
  }
45
- const originalContent = catResult.value;
60
+ // Hand the content to the surface's editor.
61
+ let edit;
62
+ try {
63
+ edit = await surface_get().localEdit({ content: catResult.value, extension: ext || '.txt' });
64
+ }
65
+ catch (err) {
66
+ console.error(chalk.red(`edit: ${err instanceof Error ? err.message : String(err)}`));
67
+ process.exitCode = 1;
68
+ return;
69
+ }
70
+ if (!edit.changed) {
71
+ console.log(chalk.gray('(no changes)'));
72
+ return;
73
+ }
74
+ // Upload the edited content: write it to a temp file the replace command
75
+ // reads, and preserve that file (reporting its path) if the save fails.
46
76
  const tmpPath = join(tmpdir(), `chell-edit-${Date.now()}${ext || '.txt'}`);
47
77
  let keepTmp = false;
48
78
  try {
49
- writeFileSync(tmpPath, originalContent, 'utf8');
50
- const editor = process.env.EDITOR || process.env.VISUAL || 'vi';
51
- const spawn = spawnSync(editor, [tmpPath], { stdio: 'inherit' });
52
- if (spawn.error) {
53
- console.error(chalk.red(`edit: Failed to launch '${editor}': ${spawn.error.message}`));
54
- process.exitCode = 1;
55
- return;
56
- }
57
- const editedContent = readFileSync(tmpPath, 'utf8');
58
- if (editedContent === originalContent) {
59
- console.log(chalk.gray('(no changes)'));
60
- return;
61
- }
79
+ writeFileSync(tmpPath, edit.content, 'utf8');
62
80
  const result = await file_replaceContent(target, tmpPath);
63
81
  listCache_get().cache_invalidate(posix.dirname(target));
64
82
  if (result.success) {
@@ -1 +1 @@
1
- {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/builtins/fs/edit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/builtins/fs/edit.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
+ import { CommandEnvelope } from '@fnndsc/cumin';
1
2
  /**
2
3
  * Creates directories.
3
4
  *
4
5
  * @param args - Command line arguments (directory paths).
6
+ * @returns An envelope whose rendered text reports each directory and whose
7
+ * model lists per-target outcomes.
5
8
  */
6
- export declare function builtin_mkdir(args: string[]): Promise<void>;
9
+ export declare function builtin_mkdir(args: string[]): Promise<CommandEnvelope>;
@@ -1,27 +1,32 @@
1
1
  /**
2
2
  * @file Builtin mkdir command.
3
- * Creates directories.
3
+ * Creates directories, reported as a command envelope.
4
4
  */
5
5
  import chalk from 'chalk';
6
+ import { listCache_get, envelope_ok, envelope_error } from '@fnndsc/cumin';
6
7
  import { path_resolve } from '../utils.js';
7
8
  import { files_mkdir as chefs_mkdir_cmd } from '@fnndsc/chili/commands/fs/mkdir.js';
8
9
  import { mkdir_render } from '@fnndsc/chili/views/fs.js';
9
- import { listCache_get } from '@fnndsc/cumin';
10
10
  /**
11
11
  * Creates directories.
12
12
  *
13
13
  * @param args - Command line arguments (directory paths).
14
+ * @returns An envelope whose rendered text reports each directory and whose
15
+ * model lists per-target outcomes.
14
16
  */
15
17
  export async function builtin_mkdir(args) {
16
18
  if (args.length === 0) {
17
- console.error(chalk.red('Usage: mkdir <directory> [directory...]'));
18
- return;
19
+ return envelope_error('', undefined, `${chalk.red('Usage: mkdir <directory> [directory...]')}\n`);
19
20
  }
21
+ let rendered = '';
22
+ let renderedErr = '';
23
+ const outcomes = [];
20
24
  for (const pathArg of args) {
21
25
  try {
22
26
  const targetPath = await path_resolve(pathArg);
23
27
  const success = await chefs_mkdir_cmd(targetPath);
24
- console.log(mkdir_render(targetPath, success));
28
+ rendered += `${mkdir_render(targetPath, success)}\n`;
29
+ outcomes.push({ path: targetPath, created: success });
25
30
  // Invalidate cache for parent directory
26
31
  if (success) {
27
32
  const parentDir = targetPath.substring(0, targetPath.lastIndexOf('/')) || '/';
@@ -31,8 +36,17 @@ export async function builtin_mkdir(args) {
31
36
  }
32
37
  catch (e) {
33
38
  const msg = e instanceof Error ? e.message : String(e);
34
- console.error(chalk.red(`mkdir: ${pathArg}: ${msg}`));
39
+ renderedErr += `${chalk.red(`mkdir: ${pathArg}: ${msg}`)}\n`;
40
+ outcomes.push({ path: pathArg, created: false });
35
41
  }
36
42
  }
43
+ const anyFailed = outcomes.some((outcome) => !outcome.created);
44
+ const model = { kind: 'fs.mkdir', data: outcomes };
45
+ if (anyFailed) {
46
+ const envelope = envelope_error(rendered, undefined, renderedErr || undefined);
47
+ envelope.model = model;
48
+ return envelope;
49
+ }
50
+ return envelope_ok(rendered, model);
37
51
  }
38
52
  //# sourceMappingURL=mkdir.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mkdir.js","sourceRoot":"","sources":["../../../src/builtins/fs/mkdir.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAc,MAAM,eAAe,CAAC;AAE1D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAc;IAChD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,UAAU,GAAW,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;YACvD,MAAM,OAAO,GAAY,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YAE/C,wCAAwC;YACxC,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,SAAS,GAAW,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC;gBACtF,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;gBAClC,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,GAAG,GAAW,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,OAAO,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"mkdir.js","sourceRoot":"","sources":["../../../src/builtins/fs/mkdir.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAmB,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE5F,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAQzD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAc;IAChD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,yCAAyC,CAAC,IAAI,CAAC,CAAC;IACpG,CAAC;IAED,IAAI,QAAQ,GAAW,EAAE,CAAC;IAC1B,IAAI,WAAW,GAAW,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAmB,EAAE,CAAC;IAEpC,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,UAAU,GAAW,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;YACvD,MAAM,OAAO,GAAY,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;YAC3D,QAAQ,IAAI,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC;YACrD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAEtD,wCAAwC;YACxC,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,SAAS,GAAW,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC;gBACtF,MAAM,SAAS,GAAc,aAAa,EAAE,CAAC;gBAC7C,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,GAAG,GAAW,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/D,WAAW,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,OAAO,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC;YAC7D,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAY,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAqB,EAAW,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/F,MAAM,KAAK,GAA2C,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC3F,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,QAAQ,GAAoB,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,IAAI,SAAS,CAAC,CAAC;QAChG,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC"}
@@ -1,7 +1,10 @@
1
+ import { CommandEnvelope } from '@fnndsc/cumin';
1
2
  /**
2
3
  * Moves or renames a file or directory.
3
4
  * Supports multiple sources when destination is a directory.
4
5
  *
5
6
  * @param args - [src1, src2, ..., dest] or [src, dest]
7
+ * @returns An envelope whose rendered text reports progress and results and
8
+ * whose model carries per-source outcomes.
6
9
  */
7
- export declare function builtin_mv(args: string[]): Promise<void>;
10
+ export declare function builtin_mv(args: string[]): Promise<CommandEnvelope>;
@@ -1,25 +1,26 @@
1
1
  /**
2
2
  * @file Builtin mv command.
3
- * Moves or renames files/directories.
3
+ * Moves or renames files/directories, reported as a command envelope.
4
4
  */
5
5
  import chalk from 'chalk';
6
6
  import path from 'path';
7
+ import { listCache_get, envelope_ok, envelope_error } from '@fnndsc/cumin';
7
8
  import { commandArgs_process, path_resolve } from '../utils.js';
8
9
  import { files_mv as chefs_mv_cmd } from '@fnndsc/chili/commands/fs/mv.js';
9
10
  import { mv_render } from '@fnndsc/chili/views/fs.js';
10
- import { listCache_get } from '@fnndsc/cumin';
11
11
  /**
12
12
  * Moves or renames a file or directory.
13
13
  * Supports multiple sources when destination is a directory.
14
14
  *
15
15
  * @param args - [src1, src2, ..., dest] or [src, dest]
16
+ * @returns An envelope whose rendered text reports progress and results and
17
+ * whose model carries per-source outcomes.
16
18
  */
17
19
  export async function builtin_mv(args) {
18
20
  const parsed = commandArgs_process(args);
19
21
  const pathArgs = parsed._;
20
22
  if (pathArgs.length < 2) {
21
- console.log(chalk.red('Usage: mv <source...> <dest>'));
22
- return;
23
+ return envelope_error(`${chalk.red('Usage: mv <source...> <dest>')}\n`);
23
24
  }
24
25
  // Last arg is destination, all others are sources
25
26
  const dest = pathArgs[pathArgs.length - 1];
@@ -28,20 +29,24 @@ export async function builtin_mv(args) {
28
29
  const listCache = listCache_get();
29
30
  let successCount = 0;
30
31
  let failCount = 0;
32
+ let rendered = '';
33
+ let renderedErr = '';
34
+ const outcomes = [];
31
35
  for (const src of sources) {
32
36
  try {
33
37
  const srcPath = await path_resolve(src);
34
38
  // For multiple sources, show which file we're moving
35
39
  if (sources.length > 1) {
36
- console.log(chalk.gray(`Moving ${srcPath}...`));
40
+ rendered += `${chalk.gray(`Moving ${srcPath}...`)}\n`;
37
41
  }
38
42
  else {
39
- console.log(`Moving ${srcPath} to ${destPath}...`);
43
+ rendered += `Moving ${srcPath} to ${destPath}...\n`;
40
44
  }
41
45
  const success = await chefs_mv_cmd(srcPath, destPath);
42
46
  if (sources.length === 1) {
43
- console.log(mv_render(srcPath, destPath, success));
47
+ rendered += `${mv_render(srcPath, destPath, success)}\n`;
44
48
  }
49
+ outcomes.push({ source: srcPath, moved: success });
45
50
  if (success) {
46
51
  successCount++;
47
52
  // Invalidate source directory
@@ -54,7 +59,8 @@ export async function builtin_mv(args) {
54
59
  }
55
60
  catch (e) {
56
61
  const msg = e instanceof Error ? e.message : String(e);
57
- console.error(chalk.red(`mv: ${src}: ${msg}`));
62
+ renderedErr += `${chalk.red(`mv: ${src}: ${msg}`)}\n`;
63
+ outcomes.push({ source: src, moved: false });
58
64
  failCount++;
59
65
  }
60
66
  }
@@ -65,11 +71,18 @@ export async function builtin_mv(args) {
65
71
  // Summary for multiple files
66
72
  if (sources.length > 1) {
67
73
  if (failCount === 0) {
68
- console.log(chalk.green(`✓ Moved ${successCount} file(s) to ${destPath}`));
74
+ rendered += `${chalk.green(`✓ Moved ${successCount} file(s) to ${destPath}`)}\n`;
69
75
  }
70
76
  else {
71
- console.log(chalk.yellow(`⚠ Moved ${successCount} file(s), ${failCount} failed`));
77
+ rendered += `${chalk.yellow(`⚠ Moved ${successCount} file(s), ${failCount} failed`)}\n`;
72
78
  }
73
79
  }
80
+ const modelData = { dest: destPath, outcomes, moved: successCount, failed: failCount };
81
+ if (failCount > 0) {
82
+ const envelope = envelope_error(rendered, undefined, renderedErr || undefined);
83
+ envelope.model = { kind: 'fs.mv', data: modelData };
84
+ return envelope;
85
+ }
86
+ return envelope_ok(rendered, { kind: 'fs.mv', data: modelData });
74
87
  }
75
88
  //# sourceMappingURL=mv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mv.js","sourceRoot":"","sources":["../../../src/builtins/fs/mv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mv.js","sourceRoot":"","sources":["../../../src/builtins/fs/mv.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @file Builtin pull command.
3
3
  *
4
- * Blocking PACS series retrieve with parallel execution and per-series MultiBar progress.
4
+ * Blocking PACS series retrieve with parallel execution and per-series structured progress.
5
5
  * Accepts one or more `/net/pacs/queries/...` VFS paths (query, study, or series level)
6
6
  * and materialises the matching DICOM series into ChRIS storage.
7
7
  *
@@ -13,7 +13,7 @@
13
13
  /**
14
14
  * Pulls one or more `/net/pacs/queries/...` VFS paths into ChRIS storage.
15
15
  *
16
- * Blocking by default: shows per-series MultiBar progress via LONK WebSocket,
16
+ * Blocking by default: emits per-series structured progress via LONK WebSocket,
17
17
  * exits non-zero on partial failure.
18
18
  * With `--nowait`: fires retrieves and prints `<seriesUID> <retrieveId>` per line, then returns.
19
19
  * With `--retry N`: re-fires retrieves for [NO LONK] series up to N additional times.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @file Builtin pull command.
3
3
  *
4
- * Blocking PACS series retrieve with parallel execution and per-series MultiBar progress.
4
+ * Blocking PACS series retrieve with parallel execution and per-series structured progress.
5
5
  * Accepts one or more `/net/pacs/queries/...` VFS paths (query, study, or series level)
6
6
  * and materialises the matching DICOM series into ChRIS storage.
7
7
  *
@@ -11,7 +11,6 @@
11
11
  * @module
12
12
  */
13
13
  import chalk from 'chalk';
14
- import cliProgress from 'cli-progress';
15
14
  import WebSocket from 'ws';
16
15
  import { pacsQueries_create, pacsRetrieve_create, } from '@fnndsc/cumin';
17
16
  import { session } from '../../session/index.js';
@@ -22,10 +21,48 @@ import { path_resolve } from '../utils.js';
22
21
  import { pacs_seriesCollect, pacsServer_resolve, series_cubePathGet, } from '../net/pacsUtils.js';
23
22
  import { builtin_cubepath } from '../net/cubepath.js';
24
23
  import { pullArgs_parse } from './pull.args.js';
24
+ import { sink_get } from '../../core/sink.js';
25
25
  const STALL_TIMEOUT_MS = 30_000;
26
26
  const NO_ACTIVITY_TIMEOUT_MS = 15_000;
27
27
  const SERIES_TIMEOUT_MS = 5 * 60 * 1_000;
28
28
  const CHECKER_INTERVAL_MS = 2_000;
29
+ function progressStatus_fromSeries(status, lonkConfirmed) {
30
+ if (status === 'pulled')
31
+ return lonkConfirmed ? 'done' : 'unconfirmed';
32
+ if (status === 'pending' || status === 'pulling')
33
+ return 'running';
34
+ return status;
35
+ }
36
+ function pullProgress_emit(task, status, phase = 'watching') {
37
+ const current = task.actualFiles;
38
+ const total = task.expectedFiles > 0 ? Math.max(task.expectedFiles, current, 1) : Math.max(current, 1);
39
+ sink_get().progress_write({
40
+ operation: 'pull',
41
+ kind: 'retrieve',
42
+ phase,
43
+ itemId: task.seriesUID,
44
+ label: task.label,
45
+ current,
46
+ total,
47
+ percent: total > 0 ? Math.min(100, (current / total) * 100) : undefined,
48
+ unit: 'files',
49
+ status: status ?? progressStatus_fromSeries(task.status, task.lonkConfirmed),
50
+ });
51
+ }
52
+ function pullProgress_complete(allTasks, failed) {
53
+ const done = allTasks.filter((t) => t.status === 'pulled').length;
54
+ sink_get().progress_write({
55
+ operation: 'pull',
56
+ kind: 'retrieve',
57
+ phase: failed ? 'failed' : 'complete',
58
+ label: failed ? 'Pull incomplete' : 'Pull complete',
59
+ current: done,
60
+ total: allTasks.length,
61
+ percent: allTasks.length > 0 ? (done / allTasks.length) * 100 : 100,
62
+ unit: 'series',
63
+ status: failed ? 'error' : 'done',
64
+ });
65
+ }
29
66
  /**
30
67
  * Walks a VFS path and returns SeriesPullTask array, delegating collection to pacsUtils.
31
68
  *
@@ -126,22 +163,15 @@ async function tasks_pullWatch(tasks, pacsserver, client) {
126
163
  const fired = tasks.filter((t) => t.status !== 'error');
127
164
  const firingErrors = tasks.length - fired.length;
128
165
  if (fired.length === 0) {
166
+ for (const t of tasks) {
167
+ if (t.status === 'error')
168
+ pullProgress_emit(t, 'error');
169
+ }
129
170
  ws.close();
130
171
  return firingErrors;
131
172
  }
132
- const multiBar = new cliProgress.MultiBar({
133
- format: ' {label}> [{bar}] {value}/{total}',
134
- barCompleteChar: '█',
135
- barIncompleteChar: '░',
136
- hideCursor: true,
137
- clearOnComplete: false,
138
- stopOnComplete: false,
139
- noTTYOutput: true,
140
- }, cliProgress.Presets.shades_classic);
141
- const barMap = new Map();
142
173
  for (const t of tasks) {
143
- const bar = multiBar.create(Math.max(t.expectedFiles, 1), 0, { label: t.label });
144
- barMap.set(t, bar);
174
+ pullProgress_emit(t, t.status === 'error' ? 'error' : 'running');
145
175
  }
146
176
  const taskByUID = new Map(tasks.map((t) => [t.seriesUID, t]));
147
177
  await new Promise((resolve) => {
@@ -165,21 +195,20 @@ async function tasks_pullWatch(tasks, pacsserver, client) {
165
195
  continue;
166
196
  }
167
197
  allTerminal = false;
168
- const bar = barMap.get(t);
169
198
  if (t.startTime > 0 && now - t.startTime > SERIES_TIMEOUT_MS) {
170
199
  t.status = 'timeout';
171
- bar?.update(t.actualFiles, { label: `${t.label} [TIMEOUT]` });
200
+ pullProgress_emit(t, 'timeout');
172
201
  continue;
173
202
  }
174
203
  if (t.actualFiles > 0 && now - t.lastProgressTime > STALL_TIMEOUT_MS) {
175
204
  t.status = 'stalled';
176
- bar?.update(t.actualFiles, { label: `${t.label} [STALLED]` });
205
+ pullProgress_emit(t, 'stalled');
177
206
  continue;
178
207
  }
179
208
  if (t.startTime > 0 && t.actualFiles === 0 && now - t.startTime > NO_ACTIVITY_TIMEOUT_MS) {
180
209
  t.status = 'pulled';
181
210
  t.lonkConfirmed = false;
182
- bar?.update(Math.max(t.expectedFiles, 1), { label: `${t.label} [NO LONK]` });
211
+ pullProgress_emit(t, 'unconfirmed');
183
212
  continue;
184
213
  }
185
214
  }
@@ -196,7 +225,6 @@ async function tasks_pullWatch(tasks, pacsserver, client) {
196
225
  const t = taskByUID.get(seriesUID);
197
226
  if (!t)
198
227
  return;
199
- const bar = barMap.get(t);
200
228
  if ('ndicom' in message && typeof message.ndicom === 'number') {
201
229
  const n = message.ndicom;
202
230
  t.actualFiles = n;
@@ -204,20 +232,18 @@ async function tasks_pullWatch(tasks, pacsserver, client) {
204
232
  t.lastProgressTime = Date.now();
205
233
  if (t.status === 'pending')
206
234
  t.status = 'pulling';
207
- const total = t.expectedFiles > 0 ? t.expectedFiles : Math.max(n, 1);
208
- bar?.setTotal(total);
209
- bar?.update(n);
235
+ pullProgress_emit(t, 'running');
210
236
  }
211
237
  else if ('done' in message && message.done === true) {
212
238
  t.status = 'pulled';
213
239
  t.lonkConfirmed = true;
214
- const finalTotal = t.expectedFiles > 0 ? t.expectedFiles : t.actualFiles || 1;
215
- bar?.setTotal(finalTotal);
216
- bar?.update(finalTotal, { label: `${t.label} [DONE]` });
240
+ if (t.actualFiles < t.expectedFiles)
241
+ t.actualFiles = t.expectedFiles;
242
+ pullProgress_emit(t, 'done');
217
243
  }
218
244
  else if ('error' in message && typeof message.error === 'string') {
219
245
  t.status = 'error';
220
- bar?.update(t.actualFiles, { label: `${t.label} [ERROR]` });
246
+ pullProgress_emit(t, 'error');
221
247
  }
222
248
  }
223
249
  catch {
@@ -228,14 +254,13 @@ async function tasks_pullWatch(tasks, pacsserver, client) {
228
254
  for (const t of fired) {
229
255
  if (t.status === 'pending' || t.status === 'pulling') {
230
256
  t.status = 'error';
231
- barMap.get(t)?.update(t.actualFiles, { label: `${t.label} [WS ERROR]` });
257
+ pullProgress_emit(t, 'error');
232
258
  }
233
259
  }
234
260
  done();
235
261
  });
236
262
  ws.on('close', () => { done(); });
237
263
  });
238
- multiBar.stop();
239
264
  return firingErrors;
240
265
  }
241
266
  /**
@@ -308,12 +333,14 @@ async function pullRetryLoop(allTasks, retryMax, pacsserver, client) {
308
333
  t.lonkConfirmed = false;
309
334
  t.syntheticQueryId = null;
310
335
  t.retrieveId = null;
336
+ pullProgress_emit(t, 'running', 'retrying');
311
337
  }
312
338
  extraFiringErrors += await tasks_pullWatch(retryCandidates, pacsserver, client);
313
339
  retryCandidates = retryCandidates.filter((t) => t.status === 'pulled' && !t.lonkConfirmed);
314
340
  }
315
341
  for (const t of retryCandidates) {
316
342
  t.status = 'error';
343
+ pullProgress_emit(t, 'error');
317
344
  }
318
345
  return extraFiringErrors;
319
346
  }
@@ -341,11 +368,12 @@ function pullSummary_print(allTasks, totalFiringErrors) {
341
368
  console.log(chalk.red(` ${totalFiringErrors} retrieve(s) failed to start.`));
342
369
  process.exitCode = 1;
343
370
  }
371
+ pullProgress_complete(allTasks, failures.length > 0 || totalFiringErrors > 0);
344
372
  }
345
373
  /**
346
374
  * Pulls one or more `/net/pacs/queries/...` VFS paths into ChRIS storage.
347
375
  *
348
- * Blocking by default: shows per-series MultiBar progress via LONK WebSocket,
376
+ * Blocking by default: emits per-series structured progress via LONK WebSocket,
349
377
  * exits non-zero on partial failure.
350
378
  * With `--nowait`: fires retrieves and prints `<seriesUID> <retrieveId>` per line, then returns.
351
379
  * With `--retry N`: re-fires retrieves for [NO LONK] series up to N additional times.
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/builtins/fs/pull.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/builtins/fs/pull.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
+ import { CommandEnvelope } from '@fnndsc/cumin';
1
2
  /**
2
- * Prints the current working directory in the ChRIS filesystem context.
3
+ * Reports the current working directory in the ChRIS filesystem context.
3
4
  *
4
5
  * @param args - Command arguments (--title flag supported).
5
- * @returns A Promise that resolves when the directory is printed.
6
+ * @returns An envelope whose rendered text is the directory (with feed and
7
+ * plugin segments replaced by titles under --title) and whose model
8
+ * carries the raw path.
6
9
  */
7
- export declare function builtin_pwd(args?: string[]): Promise<void>;
10
+ export declare function builtin_pwd(args?: string[]): Promise<CommandEnvelope>;