@fnndsc/brasa 0.10.0 → 0.11.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 (73) hide show
  1. package/dist/api/index.d.ts +120 -0
  2. package/dist/api/index.js +87 -0
  3. package/dist/api/index.js.map +1 -0
  4. package/dist/api/models.d.ts +73 -0
  5. package/dist/api/models.js +15 -0
  6. package/dist/api/models.js.map +1 -0
  7. package/dist/buildinfo.json +1 -1
  8. package/dist/builtins/fs/cat.d.ts +17 -0
  9. package/dist/builtins/fs/cat.js +11 -1
  10. package/dist/builtins/fs/cat.js.map +1 -1
  11. package/dist/builtins/fs/cd.d.ts +13 -0
  12. package/dist/builtins/fs/cd.js +11 -1
  13. package/dist/builtins/fs/cd.js.map +1 -1
  14. package/dist/builtins/fs/cp.d.ts +30 -0
  15. package/dist/builtins/fs/cp.js +20 -5
  16. package/dist/builtins/fs/cp.js.map +1 -1
  17. package/dist/builtins/fs/ls.d.ts +42 -0
  18. package/dist/builtins/fs/ls.js +33 -5
  19. package/dist/builtins/fs/ls.js.map +1 -1
  20. package/dist/builtins/fs/mkdir.d.ts +20 -2
  21. package/dist/builtins/fs/mkdir.js +14 -3
  22. package/dist/builtins/fs/mkdir.js.map +1 -1
  23. package/dist/builtins/fs/mv.d.ts +28 -0
  24. package/dist/builtins/fs/mv.js +18 -4
  25. package/dist/builtins/fs/mv.js.map +1 -1
  26. package/dist/builtins/fs/pwd.d.ts +13 -0
  27. package/dist/builtins/fs/pwd.js +11 -1
  28. package/dist/builtins/fs/pwd.js.map +1 -1
  29. package/dist/builtins/fs/rm.d.ts +14 -0
  30. package/dist/builtins/fs/rm.js +11 -1
  31. package/dist/builtins/fs/rm.js.map +1 -1
  32. package/dist/builtins/fs/touch.d.ts +24 -2
  33. package/dist/builtins/fs/touch.js +26 -13
  34. package/dist/builtins/fs/touch.js.map +1 -1
  35. package/dist/builtins/net/cubepath.js +1 -2
  36. package/dist/builtins/net/cubepath.js.map +1 -1
  37. package/dist/builtins/net/pacsUtils.d.ts +1 -21
  38. package/dist/builtins/net/pacsUtils.js +1 -2
  39. package/dist/builtins/net/pacsUtils.js.map +1 -1
  40. package/dist/builtins/res/feed.js +3 -3
  41. package/dist/builtins/res/feed.js.map +1 -1
  42. package/dist/builtins/res/files.js +2 -2
  43. package/dist/builtins/res/files.js.map +1 -1
  44. package/dist/builtins/res/group.js +2 -2
  45. package/dist/builtins/res/group.js.map +1 -1
  46. package/dist/builtins/res/plugin.js +2 -2
  47. package/dist/builtins/res/plugin.js.map +1 -1
  48. package/dist/builtins/res/plugininstance.js +2 -2
  49. package/dist/builtins/res/plugininstance.js.map +1 -1
  50. package/dist/builtins/res/pluginmeta.js +2 -2
  51. package/dist/builtins/res/pluginmeta.js.map +1 -1
  52. package/dist/builtins/res/tag.js +2 -2
  53. package/dist/builtins/res/tag.js.map +1 -1
  54. package/dist/builtins/res/workflow.js +2 -2
  55. package/dist/builtins/res/workflow.js.map +1 -1
  56. package/dist/builtins/utils.d.ts +11 -0
  57. package/dist/builtins/utils.js +17 -0
  58. package/dist/builtins/utils.js.map +1 -1
  59. package/dist/builtins/wildcard.js +2 -1
  60. package/dist/builtins/wildcard.js.map +1 -1
  61. package/dist/index.d.ts +1 -0
  62. package/dist/index.js +2 -0
  63. package/dist/index.js.map +1 -1
  64. package/dist/lib/completer/index.js +2 -1
  65. package/dist/lib/completer/index.js.map +1 -1
  66. package/dist/lib/vfs/listing.d.ts +22 -0
  67. package/dist/lib/vfs/listing.js +14 -0
  68. package/dist/lib/vfs/listing.js.map +1 -0
  69. package/dist/lib/vfs/providers/static_content.js +3 -3
  70. package/dist/lib/vfs/providers/static_content.js.map +1 -1
  71. package/dist/lib/vfs/vfs.js +3 -2
  72. package/dist/lib/vfs/vfs.js.map +1 -1
  73. package/package.json +4 -4
@@ -0,0 +1,120 @@
1
+ import { type LsOptions } from '../builtins/fs/ls.js';
2
+ import { type TypedEnvelope } from './models.js';
3
+ export type { TypedEnvelope, ModelKind, FsModelMap, CwdModel } from './models.js';
4
+ export { envelope_typed } from './models.js';
5
+ /** Options for {@link ChellApi.touch}. */
6
+ export interface TouchApiOptions {
7
+ /** Literal content to write into the file. */
8
+ contents?: string;
9
+ /** Local file whose content is uploaded into the target. */
10
+ contentsFromFile?: string;
11
+ }
12
+ /** Options for {@link ChellApi.ls}: the ls flags, minus the target paths. */
13
+ export type LsApiOptions = Omit<LsOptions, 'paths'>;
14
+ /** Options for {@link ChellApi.cat}. */
15
+ export interface CatApiOptions {
16
+ /** Print raw bytes without the binary-file guard. */
17
+ binary?: boolean;
18
+ }
19
+ /** Options for {@link ChellApi.rm}. */
20
+ export interface RmApiOptions {
21
+ /** Remove directories and their contents. */
22
+ recursive?: boolean;
23
+ /** POSIX -f: missing operands succeed; no confirmation prompts. */
24
+ force?: boolean;
25
+ }
26
+ /**
27
+ * The chell command vocabulary as typed calls.
28
+ *
29
+ * Method names keep the shell's own verbs verbatim (`ls`, `mkdir`, `rm`):
30
+ * they are the projection's external schema, the same exemption the style
31
+ * guide grants wire field names. Every method resolves to the command's
32
+ * envelope; a failed command is an `error`-status envelope, never a throw.
33
+ */
34
+ export interface ChellApi {
35
+ /**
36
+ * Reports the session's current working directory.
37
+ *
38
+ * @param options - `titles` substitutes feed/plugin titles into the path.
39
+ * @returns Envelope carrying the `fs.cwd` model.
40
+ */
41
+ pwd(options?: {
42
+ titles?: boolean;
43
+ }): Promise<TypedEnvelope<'fs.cwd'>>;
44
+ /**
45
+ * Changes the session's working directory.
46
+ *
47
+ * @param path - Target directory; omit for home, `'-'` for the previous cwd.
48
+ * @returns Envelope carrying the `fs.cwd` model on success.
49
+ */
50
+ cd(path?: string): Promise<TypedEnvelope<'fs.cwd'>>;
51
+ /**
52
+ * Creates one or more directories.
53
+ *
54
+ * @param paths - Directory path or paths, absolute or cwd-relative.
55
+ * @returns Envelope whose `fs.mkdir` model lists per-target outcomes.
56
+ */
57
+ mkdir(paths: string | string[]): Promise<TypedEnvelope<'fs.mkdir'>>;
58
+ /**
59
+ * Creates a file, optionally with content.
60
+ *
61
+ * @param path - Target file path, absolute or cwd-relative.
62
+ * @param options - Content source, when the file should not be empty.
63
+ * @returns Envelope whose `fs.touch` model lists per-target outcomes.
64
+ */
65
+ touch(path: string, options?: TouchApiOptions): Promise<TypedEnvelope<'fs.touch'>>;
66
+ /**
67
+ * Lists a directory (or several).
68
+ *
69
+ * @param paths - Target path or paths; omit to list the session cwd.
70
+ * @param options - Sorting and presentation flags.
71
+ * @returns Envelope whose `fs.listing` model carries entries per target.
72
+ */
73
+ ls(paths?: string | string[], options?: LsApiOptions): Promise<TypedEnvelope<'fs.listing'>>;
74
+ /**
75
+ * Prints one or more files; content arrives in the envelope's rendered
76
+ * channel, per-file outcomes in the model.
77
+ *
78
+ * @param paths - File path or paths.
79
+ * @param options - Binary handling.
80
+ * @returns Envelope whose `fs.cat` model lists per-file outcomes.
81
+ */
82
+ cat(paths: string | string[], options?: CatApiOptions): Promise<TypedEnvelope<'fs.cat'>>;
83
+ /**
84
+ * Copies files or directories.
85
+ *
86
+ * @param sources - Source path or paths.
87
+ * @param dest - Destination path (a directory when several sources).
88
+ * @param options - `recursive` copies directories.
89
+ * @returns Envelope whose `fs.cp` model carries per-source outcomes.
90
+ */
91
+ cp(sources: string | string[], dest: string, options?: {
92
+ recursive?: boolean;
93
+ }): Promise<TypedEnvelope<'fs.cp'>>;
94
+ /**
95
+ * Moves or renames files or directories.
96
+ *
97
+ * @param sources - Source path or paths.
98
+ * @param dest - Destination path (a directory when several sources).
99
+ * @returns Envelope whose `fs.mv` model carries per-source outcomes.
100
+ */
101
+ mv(sources: string | string[], dest: string): Promise<TypedEnvelope<'fs.mv'>>;
102
+ /**
103
+ * Removes files or directories.
104
+ *
105
+ * @param paths - Target path or paths, absolute or cwd-relative.
106
+ * @param options - Recursive and force flags.
107
+ * @returns Envelope whose `fs.rm` model lists per-target outcomes.
108
+ */
109
+ rm(paths: string | string[], options?: RmApiOptions): Promise<TypedEnvelope<'fs.rm'>>;
110
+ }
111
+ /**
112
+ * Creates the typed chell API over the process-global session.
113
+ *
114
+ * Initializes the session layer (idempotent) so the returned object works
115
+ * in a bare program; in a process that already runs an engine, the API and
116
+ * the engine share cwd and connection.
117
+ *
118
+ * @returns The typed API.
119
+ */
120
+ export declare function chellApi_create(): Promise<ChellApi>;
@@ -0,0 +1,87 @@
1
+ /**
2
+ * @file The typed chell API: the shell's vocabulary as function calls.
3
+ *
4
+ * `chellApi_create()` returns an object whose methods are the chell commands
5
+ * themselves, entered one layer above the parser: typed options in, typed
6
+ * envelopes out. Each method calls the same per-command core the parsed
7
+ * builtin calls, so the two entry points cannot drift, and no command line
8
+ * is ever assembled or re-parsed.
9
+ *
10
+ * v1 is in-process and wraps the process-global session: `cd` moves the
11
+ * same working directory the engine and any in-process REPL share. The
12
+ * remote form arrives with the calypso wire revision. Design record:
13
+ * docs/typed-chell-api.adoc.
14
+ *
15
+ * Typical usage:
16
+ * ```typescript
17
+ * const sh: ChellApi = await chellApi_create();
18
+ * await sh.cd(`/home/${user}`);
19
+ * await sh.mkdir('scratch');
20
+ * await sh.touch('scratch/hello.txt', { contents: 'hi' });
21
+ * const where = await sh.pwd();
22
+ * if (where.status === 'ok') console.log(where.model?.data.path);
23
+ * await sh.rm('scratch', { recursive: true });
24
+ * ```
25
+ *
26
+ * @module
27
+ */
28
+ import { session } from '../session/index.js';
29
+ import { mkdir_run } from '../builtins/fs/mkdir.js';
30
+ import { touch_run } from '../builtins/fs/touch.js';
31
+ import { rm_run } from '../builtins/fs/rm.js';
32
+ import { pwd_run } from '../builtins/fs/pwd.js';
33
+ import { cd_run } from '../builtins/fs/cd.js';
34
+ import { ls_run } from '../builtins/fs/ls.js';
35
+ import { cat_run } from '../builtins/fs/cat.js';
36
+ import { cp_run } from '../builtins/fs/cp.js';
37
+ import { mv_run } from '../builtins/fs/mv.js';
38
+ import { envelope_typed } from './models.js';
39
+ export { envelope_typed } from './models.js';
40
+ /**
41
+ * Creates the typed chell API over the process-global session.
42
+ *
43
+ * Initializes the session layer (idempotent) so the returned object works
44
+ * in a bare program; in a process that already runs an engine, the API and
45
+ * the engine share cwd and connection.
46
+ *
47
+ * @returns The typed API.
48
+ */
49
+ export async function chellApi_create() {
50
+ await session.init();
51
+ return {
52
+ pwd: (options) => pwd_run({ titles: options?.titles }).then((envelope_typed)),
53
+ cd: (path) => cd_run({ path }).then((envelope_typed)),
54
+ mkdir: (paths) => mkdir_run({ paths: Array.isArray(paths) ? paths : [paths] }).then((envelope_typed)),
55
+ touch: (path, options) => touch_run({
56
+ paths: [path],
57
+ contents: options?.contents,
58
+ contentsFromFile: options?.contentsFromFile,
59
+ }).then((envelope_typed)),
60
+ ls: (paths, options) => ls_run({
61
+ ...options,
62
+ paths: paths === undefined ? [] : Array.isArray(paths) ? paths : [paths],
63
+ }).then((envelope_typed)),
64
+ cat: (paths, options) => cat_run({
65
+ filePaths: Array.isArray(paths) ? paths : [paths],
66
+ binaryMode: options?.binary ?? false,
67
+ // A program consumes rendered content as data: never inject ANSI.
68
+ highlightMode: 'never',
69
+ }).then((envelope_typed)),
70
+ cp: (sources, dest, options) => cp_run({
71
+ sources: Array.isArray(sources) ? sources : [sources],
72
+ dest,
73
+ recursive: options?.recursive ?? false,
74
+ }).then((envelope_typed)),
75
+ mv: (sources, dest) => mv_run({
76
+ sources: Array.isArray(sources) ? sources : [sources],
77
+ dest,
78
+ }).then((envelope_typed)),
79
+ rm: (paths, options) => rm_run({
80
+ paths: Array.isArray(paths) ? paths : [paths],
81
+ recursive: options?.recursive ?? false,
82
+ force: options?.force ?? false,
83
+ interactive: false,
84
+ }).then((envelope_typed)),
85
+ };
86
+ }
87
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * @file Typed envelope models: the kind map behind the typed chell API.
3
+ *
4
+ * The envelope's model slot has always been discriminated but untyped
5
+ * (`{ kind: string, data: unknown }`); this module is where the kinds gain
6
+ * compile-time payload types. `FsModelMap` maps each `kind` a filesystem
7
+ * command emits to the payload its core actually builds, and
8
+ * `TypedEnvelope<K>` narrows a `CommandEnvelope` accordingly, so typed-API
9
+ * callers read `envelope.model.data` without a cast.
10
+ *
11
+ * The map grows with the facade: commands join it as their cores join the
12
+ * typed API (see docs/typed-chell-api.adoc). When models later cross the
13
+ * wire, calypso validates exactly the kinds in this map at its boundary.
14
+ *
15
+ * @module
16
+ */
17
+ import type { CommandEnvelope } from '@fnndsc/cumin';
18
+ import type { MkdirOutcome } from '../builtins/fs/mkdir.js';
19
+ import type { TouchOutcome } from '../builtins/fs/touch.js';
20
+ import type { RmOutcome } from '../builtins/fs/rm.js';
21
+ import type { LsListing } from '../builtins/fs/ls.js';
22
+ import type { CatOutcome } from '../builtins/fs/cat.js';
23
+ import type { CpModelData } from '../builtins/fs/cp.js';
24
+ import type { MvModelData } from '../builtins/fs/mv.js';
25
+ /**
26
+ * The payload the `fs.cwd` kind carries.
27
+ *
28
+ * @property path - The current working directory.
29
+ * @property shown - The display form (titles substituted), when produced.
30
+ */
31
+ export interface CwdModel {
32
+ path: string;
33
+ shown?: string;
34
+ }
35
+ /**
36
+ * Model kinds emitted by the filesystem commands, mapped to their payloads.
37
+ */
38
+ export interface FsModelMap {
39
+ 'fs.cwd': CwdModel;
40
+ 'fs.mkdir': MkdirOutcome[];
41
+ 'fs.touch': TouchOutcome[];
42
+ 'fs.rm': RmOutcome[];
43
+ 'fs.listing': LsListing[];
44
+ 'fs.cat': CatOutcome[];
45
+ 'fs.cp': CpModelData;
46
+ 'fs.mv': MvModelData;
47
+ }
48
+ /** Every kind the typed API currently maps. */
49
+ export type ModelKind = keyof FsModelMap;
50
+ /**
51
+ * A command envelope whose model slot is narrowed to one known kind.
52
+ *
53
+ * Structurally a plain `CommandEnvelope` (the wire and the REPL see no
54
+ * difference); the narrowing is purely compile-time.
55
+ */
56
+ export interface TypedEnvelope<K extends ModelKind> extends CommandEnvelope {
57
+ model?: {
58
+ kind: K;
59
+ data: FsModelMap[K];
60
+ };
61
+ }
62
+ /**
63
+ * Narrows a core's envelope to its declared kind.
64
+ *
65
+ * The single trusted assertion of the typed API: each command core is the
66
+ * sole producer of its kind, so the envelope it returns carries that kind's
67
+ * payload by construction. Centralized here so the facade methods stay
68
+ * cast-free.
69
+ *
70
+ * @param envelope - The envelope a command core returned.
71
+ * @returns The same envelope, typed by its kind.
72
+ */
73
+ export declare function envelope_typed<K extends ModelKind>(envelope: CommandEnvelope): TypedEnvelope<K>;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Narrows a core's envelope to its declared kind.
3
+ *
4
+ * The single trusted assertion of the typed API: each command core is the
5
+ * sole producer of its kind, so the envelope it returns carries that kind's
6
+ * payload by construction. Centralized here so the facade methods stay
7
+ * cast-free.
8
+ *
9
+ * @param envelope - The envelope a command core returned.
10
+ * @returns The same envelope, typed by its kind.
11
+ */
12
+ export function envelope_typed(envelope) {
13
+ return envelope;
14
+ }
15
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/api/models.ts"],"names":[],"mappings":"AA+DA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAsB,QAAyB;IAC3E,OAAO,QAA4B,CAAC;AACtC,CAAC"}
@@ -1 +1 @@
1
- {"hash":"858de5"}
1
+ {"hash":"fbb9d0"}
@@ -1,4 +1,12 @@
1
1
  import type { CommandEnvelope } from '@fnndsc/cumin';
2
+ import { type CatArguments } from './cat.args.js';
3
+ /** Outcome of one cat target, for the envelope model. */
4
+ export interface CatOutcome {
5
+ path: string;
6
+ ok: boolean;
7
+ binary: boolean;
8
+ bytes?: number;
9
+ }
2
10
  /**
3
11
  * Displays the content of one or more files.
4
12
  *
@@ -14,3 +22,12 @@ import type { CommandEnvelope } from '@fnndsc/cumin';
14
22
  * contents and whose model lists per-file outcomes.
15
23
  */
16
24
  export declare function builtin_cat(args: string[]): Promise<CommandEnvelope>;
25
+ /**
26
+ * Prints files: the shared typed core behind the parsed builtin and the
27
+ * typed API.
28
+ *
29
+ * @param parsed - File paths and presentation options.
30
+ * @returns An envelope whose rendered text carries the (highlighted) file
31
+ * contents and whose model lists per-file outcomes.
32
+ */
33
+ export declare function cat_run(parsed: CatArguments): Promise<CommandEnvelope>;
@@ -255,7 +255,17 @@ async function textFile_read(target) {
255
255
  * contents and whose model lists per-file outcomes.
256
256
  */
257
257
  export async function builtin_cat(args) {
258
- const parsed = catArguments_parse(args);
258
+ return cat_run(catArguments_parse(args));
259
+ }
260
+ /**
261
+ * Prints files: the shared typed core behind the parsed builtin and the
262
+ * typed API.
263
+ *
264
+ * @param parsed - File paths and presentation options.
265
+ * @returns An envelope whose rendered text carries the (highlighted) file
266
+ * contents and whose model lists per-file outcomes.
267
+ */
268
+ export async function cat_run(parsed) {
259
269
  if (parsed.filePaths.length === 0) {
260
270
  return envelope_error('', undefined, `${chalk.red(`Usage: ${CAT_USAGE}`)}\n`);
261
271
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cat.js","sourceRoot":"","sources":["../../../src/builtins/fs/cat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cat.js","sourceRoot":"","sources":["../../../src/builtins/fs/cat.ts"],"names":[],"mappings":"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"}
@@ -39,4 +39,17 @@ export declare function folder_verifyPathMatch(folder: FileBrowserFolder | null
39
39
  * @returns An envelope carrying the new working directory on success.
40
40
  */
41
41
  export declare function builtin_cd(args: string[]): Promise<CommandEnvelope>;
42
+ /** Typed invocation options for cd. */
43
+ export interface CdOptions {
44
+ /** Target directory; omitted means home, '-' means the previous cwd. */
45
+ path?: string;
46
+ }
47
+ /**
48
+ * Changes the working directory: the shared typed core behind the parsed
49
+ * builtin and the typed API.
50
+ *
51
+ * @param options - The target directory.
52
+ * @returns An envelope carrying the fs.cwd model on success.
53
+ */
54
+ export declare function cd_run(options: CdOptions): Promise<CommandEnvelope>;
42
55
  export {};
@@ -190,7 +190,17 @@ async function cdReal_handle(logicalPath, pathArg) {
190
190
  * @returns An envelope carrying the new working directory on success.
191
191
  */
192
192
  export async function builtin_cd(args) {
193
- const pathArg = args.length > 0 ? args.join(' ') : undefined;
193
+ return cd_run({ path: args.length > 0 ? args.join(' ') : undefined });
194
+ }
195
+ /**
196
+ * Changes the working directory: the shared typed core behind the parsed
197
+ * builtin and the typed API.
198
+ *
199
+ * @param options - The target directory.
200
+ * @returns An envelope carrying the fs.cwd model on success.
201
+ */
202
+ export async function cd_run(options) {
203
+ const pathArg = options.path;
194
204
  // 'cd' with no args goes to home
195
205
  if (!pathArg) {
196
206
  return builtin_cd(['~']);
@@ -1 +1 @@
1
- {"version":3,"file":"cd.js","sourceRoot":"","sources":["../../../src/builtins/fs/cd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cd.js","sourceRoot":"","sources":["../../../src/builtins/fs/cd.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,16 @@
1
1
  import { CommandEnvelope } from '@fnndsc/cumin';
2
+ /** Outcome of one copy source, for the envelope model. */
3
+ export interface CpOutcome {
4
+ source: string;
5
+ copied: boolean;
6
+ }
7
+ /** Model payload for the fs.cp envelope. */
8
+ export interface CpModelData {
9
+ dest: string;
10
+ outcomes: CpOutcome[];
11
+ copied: number;
12
+ failed: number;
13
+ }
2
14
  /**
3
15
  * Copies a file or directory.
4
16
  * Supports multiple sources when destination is a directory.
@@ -8,3 +20,21 @@ import { CommandEnvelope } from '@fnndsc/cumin';
8
20
  * whose model carries per-source outcomes.
9
21
  */
10
22
  export declare function builtin_cp(args: string[]): Promise<CommandEnvelope>;
23
+ /** Typed invocation options for cp. */
24
+ export interface CpOptions {
25
+ /** Source paths, absolute or relative to the session cwd. */
26
+ sources: string[];
27
+ /** Destination path (a directory when several sources are given). */
28
+ dest: string;
29
+ /** Copy directories recursively. */
30
+ recursive?: boolean;
31
+ }
32
+ /**
33
+ * Copies files or directories: the shared typed core behind the parsed
34
+ * builtin and the typed API.
35
+ *
36
+ * @param options - Sources, destination, and the recursive flag.
37
+ * @returns An envelope whose rendered text reports results and whose
38
+ * `fs.cp` model carries per-source outcomes.
39
+ */
40
+ export declare function cp_run(options: CpOptions): Promise<CommandEnvelope>;
@@ -19,13 +19,28 @@ import { cp_render } from '@fnndsc/chili/views/fs.js';
19
19
  export async function builtin_cp(args) {
20
20
  const parsed = commandArgs_process(args);
21
21
  const pathArgs = parsed._;
22
- if (pathArgs.length < 2) {
22
+ // Last arg is destination, all others are sources
23
+ return cp_run({
24
+ sources: pathArgs.slice(0, -1),
25
+ dest: pathArgs.length > 0 ? pathArgs[pathArgs.length - 1] : '',
26
+ recursive: !!parsed['r'] || !!parsed['recursive'],
27
+ });
28
+ }
29
+ /**
30
+ * Copies files or directories: the shared typed core behind the parsed
31
+ * builtin and the typed API.
32
+ *
33
+ * @param options - Sources, destination, and the recursive flag.
34
+ * @returns An envelope whose rendered text reports results and whose
35
+ * `fs.cp` model carries per-source outcomes.
36
+ */
37
+ export async function cp_run(options) {
38
+ const sources = options.sources;
39
+ const dest = options.dest;
40
+ if (sources.length === 0 || dest === '') {
23
41
  return envelope_error(`${chalk.red('Usage: cp [-r] <source...> <dest>')}\n`);
24
42
  }
25
- const recursive = !!parsed['r'] || !!parsed['recursive'];
26
- // Last arg is destination, all others are sources
27
- const dest = pathArgs[pathArgs.length - 1];
28
- const sources = pathArgs.slice(0, -1);
43
+ const recursive = options.recursive ?? false;
29
44
  const destPath = await path_resolve(dest);
30
45
  const listCache = listCache_get();
31
46
  let successCount = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"cp.js","sourceRoot":"","sources":["../../../src/builtins/fs/cp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cp.js","sourceRoot":"","sources":["../../../src/builtins/fs/cp.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
1
  import { type CommandEnvelope } from '@fnndsc/cumin';
2
+ import type { ListingItem } from '@fnndsc/chili/models/listing.js';
3
+ /** Valid sort fields for ls. */
4
+ type LsSortField = 'name' | 'size' | 'date' | 'owner';
2
5
  /**
3
6
  * Lists the contents of the current or specified directory/files in the ChRIS filesystem context.
4
7
  * Supports a virtual `/bin` directory for plugins and multiple paths (e.g., from wildcard expansion).
@@ -7,3 +10,42 @@ import { type CommandEnvelope } from '@fnndsc/cumin';
7
10
  * @returns A Promise that resolves when the directory contents are listed.
8
11
  */
9
12
  export declare function builtin_ls(args: string[]): Promise<CommandEnvelope>;
13
+ /** Typed invocation options for ls. */
14
+ export interface LsOptions {
15
+ /** Paths to list; empty or omitted lists the session cwd. */
16
+ paths?: string[];
17
+ /** Long (detailed) listing. */
18
+ long?: boolean;
19
+ /** Human-readable sizes in the long listing. */
20
+ human?: boolean;
21
+ /** One entry per line. */
22
+ oneColumn?: boolean;
23
+ /** Sort field. */
24
+ sort?: LsSortField;
25
+ /** Reverse the sort order. */
26
+ reverse?: boolean;
27
+ /** List the entry itself rather than its contents. */
28
+ directory?: boolean;
29
+ /** Invalidate cached listings before reading. */
30
+ refresh?: boolean;
31
+ }
32
+ /**
33
+ * One listed target and its resolved entries, for the envelope model.
34
+ *
35
+ * @property path - The listed directory (resolved; the cwd when none given).
36
+ * @property items - The listing entries in display order.
37
+ */
38
+ export interface LsListing {
39
+ path: string;
40
+ items: ListingItem[];
41
+ }
42
+ /**
43
+ * Lists directories: the shared typed core behind the parsed builtin and
44
+ * the typed API.
45
+ *
46
+ * @param runOptions - Target paths, sorting, and presentation flags.
47
+ * @returns An envelope whose rendered text carries the listing and whose
48
+ * `fs.listing` model carries the entries per target.
49
+ */
50
+ export declare function ls_run(runOptions: LsOptions): Promise<CommandEnvelope>;
51
+ export {};