@elaraai/e3-cli 0.0.2-beta.32 → 0.0.2-beta.34

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.
package/README.md CHANGED
@@ -43,7 +43,9 @@ e3 workspace remove <repo> <ws> # Remove workspace
43
43
 
44
44
  ```bash
45
45
  e3 list <repo> [path] # List workspaces or tree contents
46
- e3 tree <repo> <path> # Show full tree structure
46
+ e3 list <repo> <path> -r # List all dataset paths recursively
47
+ e3 list <repo> <path> -l # List immediate children with type/status/size
48
+ e3 list <repo> <path> -r -l # List all datasets with type/status/size
47
49
  e3 get <repo> <path> [-f format] # Get dataset value (east/json/beast2)
48
50
  e3 set <repo> <path> <file> # Set dataset value from file
49
51
  ```
package/dist/src/cli.js CHANGED
@@ -16,12 +16,12 @@ import { repoCommand } from './commands/repo.js';
16
16
  import { packageCommand } from './commands/package.js';
17
17
  import { workspaceCommand } from './commands/workspace.js';
18
18
  import { listCommand } from './commands/list.js';
19
- import { treeCommand } from './commands/tree.js';
20
19
  import { getCommand } from './commands/get.js';
21
20
  import { setCommand } from './commands/set.js';
22
21
  import { startCommand } from './commands/start.js';
23
22
  import { runCommand } from './commands/run.js';
24
23
  import { logsCommand } from './commands/logs.js';
24
+ import { datasetStatusCommand } from './commands/dataset-status.js';
25
25
  import { convertCommand } from './commands/convert.js';
26
26
  import { watchCommand } from './commands/watch.js';
27
27
  import { createAuthCommand, createLoginCommand, createLogoutCommand } from './commands/auth.js';
@@ -121,13 +121,9 @@ program
121
121
  program
122
122
  .command('list <repo> [path]')
123
123
  .description('List workspaces or tree contents at path (ws.path.to.tree)')
124
+ .option('-r, --recursive', 'List all datasets recursively')
125
+ .option('-l, --long', 'Show detailed information (type, status, size)')
124
126
  .action(listCommand);
125
- program
126
- .command('tree <repo> <path>')
127
- .description('Show full tree structure at path (ws or ws.subtree)')
128
- .option('--depth <n>', 'Maximum depth to display')
129
- .option('--types', 'Show dataset types')
130
- .action(treeCommand);
131
127
  program
132
128
  .command('get <repo> <path>')
133
129
  .description('Get dataset value at path (ws.path.to.dataset)')
@@ -138,6 +134,10 @@ program
138
134
  .description('Set dataset value from file (ws.path.to.dataset)')
139
135
  .option('--type <typespec>', 'Type specification in .east format (required for .json/.csv files)')
140
136
  .action(setCommand);
137
+ program
138
+ .command('status <repo> <path>')
139
+ .description('Show dataset status at path (ws.path.to.dataset)')
140
+ .action(datasetStatusCommand);
141
141
  // Execution commands
142
142
  program
143
143
  .command('run <repo> <task> [inputs...]')
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ /**
6
+ * Show status detail for a single dataset at a path.
7
+ */
8
+ export declare function datasetStatusCommand(repoArg: string, pathSpec: string): Promise<void>;
9
+ //# sourceMappingURL=dataset-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataset-status.d.ts","sourceRoot":"","sources":["../../../src/commands/dataset-status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgBH;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAgEf"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ /**
6
+ * e3 status command - Show dataset status detail
7
+ *
8
+ * Usage:
9
+ * e3 status . ws.path.to.dataset
10
+ * e3 status https://server/repos/myrepo ws.path.to.dataset
11
+ */
12
+ import { workspaceGetDatasetStatus, LocalStorage } from '@elaraai/e3-core';
13
+ import { datasetGetStatus as datasetGetStatusRemote } from '@elaraai/e3-api-client';
14
+ import { printFor, EastTypeType, isVariant, toEastTypeValue } from '@elaraai/east';
15
+ import { parseRepoLocation, parseDatasetPath, formatError, exitError } from '../utils.js';
16
+ import { formatSize } from '../format.js';
17
+ /**
18
+ * Show status detail for a single dataset at a path.
19
+ */
20
+ export async function datasetStatusCommand(repoArg, pathSpec) {
21
+ try {
22
+ const location = await parseRepoLocation(repoArg);
23
+ const { ws, path } = parseDatasetPath(pathSpec);
24
+ if (path.length === 0) {
25
+ exitError('Path must include at least one field (e.g., ws.field)');
26
+ }
27
+ const pathStr = '.' + path.map(s => s.value).join('.');
28
+ const printType = printFor(EastTypeType);
29
+ if (location.type === 'local') {
30
+ const storage = new LocalStorage();
31
+ const result = await workspaceGetDatasetStatus(storage, location.path, ws, path);
32
+ // Convert type to EastTypeValue if needed
33
+ const typeValue = isVariant(result.datasetType)
34
+ ? result.datasetType
35
+ : toEastTypeValue(result.datasetType);
36
+ console.log(`Path: ${pathStr}`);
37
+ console.log(`Type: ${printType(typeValue)}`);
38
+ if (result.refType === 'unassigned') {
39
+ console.log('Status: unset');
40
+ }
41
+ else if (result.refType === 'null') {
42
+ console.log('Status: set');
43
+ console.log('Hash: (null)');
44
+ console.log('Size: 0 B');
45
+ }
46
+ else {
47
+ console.log('Status: set');
48
+ console.log(`Hash: ${result.hash}`);
49
+ console.log(`Size: ${formatSize(result.size)}`);
50
+ }
51
+ }
52
+ else {
53
+ const detail = await datasetGetStatusRemote(location.baseUrl, location.repo, ws, path, { token: location.token });
54
+ console.log(`Path: ${detail.path}`);
55
+ console.log(`Type: ${printType(detail.type)}`);
56
+ if (detail.hash.type === 'none' && detail.size.type === 'none') {
57
+ console.log('Status: unset');
58
+ }
59
+ else {
60
+ console.log('Status: set');
61
+ if (detail.hash.type === 'some') {
62
+ console.log(`Hash: ${detail.hash.value}`);
63
+ }
64
+ else {
65
+ console.log('Hash: (null)');
66
+ }
67
+ if (detail.size.type === 'some') {
68
+ console.log(`Size: ${formatSize(Number(detail.size.value))}`);
69
+ }
70
+ }
71
+ }
72
+ }
73
+ catch (err) {
74
+ exitError(formatError(err));
75
+ }
76
+ }
77
+ //# sourceMappingURL=dataset-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataset-status.js","sourceRoot":"","sources":["../../../src/commands/dataset-status.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,13 @@
2
2
  * Copyright (c) 2025 Elara AI Pty Ltd
3
3
  * Licensed under BSL 1.1. See LICENSE for details.
4
4
  */
5
+ interface ListOptions {
6
+ recursive?: boolean;
7
+ long?: boolean;
8
+ }
5
9
  /**
6
10
  * List workspaces or tree contents at a path.
7
11
  */
8
- export declare function listCommand(repoArg: string, pathSpec?: string): Promise<void>;
12
+ export declare function listCommand(repoArg: string, pathSpec: string | undefined, options: ListOptions): Promise<void>;
13
+ export {};
9
14
  //# sourceMappingURL=list.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/list.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwBH;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqFnF"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/list.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqCH,UAAU,WAAW;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAiJD;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAkKpH"}
@@ -8,17 +8,155 @@
8
8
  * Usage:
9
9
  * e3 list . # List all workspaces
10
10
  * e3 list . ws # List root tree of workspace
11
- * e3 list . ws.inputs # List fields under inputs
11
+ * e3 list . ws -r # All descendant dataset paths
12
+ * e3 list . ws -l # Immediate children with type/status/size
13
+ * e3 list . ws -r -l # All descendants with type/status/size
12
14
  */
13
- import { workspaceList, workspaceListTree, workspaceGetState, LocalStorage, } from '@elaraai/e3-core';
14
- import { workspaceList as workspaceListRemote, datasetList as datasetListRemote, datasetListAt as datasetListAtRemote, } from '@elaraai/e3-api-client';
15
+ import { workspaceList, workspaceListTree, workspaceGetState, workspaceGetTree, LocalStorage, } from '@elaraai/e3-core';
16
+ import { workspaceList as workspaceListRemote, datasetList as datasetListRemote, datasetListAt as datasetListAtRemote, datasetListRecursive as datasetListRecursiveRemote, datasetListRecursivePaths as datasetListRecursivePathsRemote, datasetListWithStatus as datasetListWithStatusRemote, } from '@elaraai/e3-api-client';
17
+ import { printFor, EastTypeType } from '@elaraai/east';
15
18
  import { parseRepoLocation, parseDatasetPath, formatError, exitError } from '../utils.js';
19
+ import { formatSize } from '../format.js';
20
+ const printTypeValue = printFor(EastTypeType);
21
+ /** Flatten tree nodes to collect leaf paths. */
22
+ function collectPaths(nodes, prefix, result) {
23
+ for (const node of nodes) {
24
+ const path = prefix ? `${prefix}.${node.name}` : `.${node.name}`;
25
+ if (node.kind === 'dataset') {
26
+ result.push(path);
27
+ }
28
+ else if (node.kind === 'tree') {
29
+ collectPaths(node.children, path, result);
30
+ }
31
+ }
32
+ }
33
+ /** Derive status string from a tree leaf node. */
34
+ function leafStatus(node) {
35
+ if (node.refType === undefined)
36
+ return '-';
37
+ if (node.refType === 'unassigned')
38
+ return 'unset';
39
+ if (node.refType === 'null')
40
+ return 'null';
41
+ return 'set';
42
+ }
43
+ /** Derive size string from a tree leaf node. */
44
+ function leafSize(node) {
45
+ if (node.refType === 'unassigned')
46
+ return '-';
47
+ if (node.refType === 'null')
48
+ return '0 B';
49
+ if (node.size !== undefined)
50
+ return formatSize(node.size);
51
+ return '-';
52
+ }
53
+ /** Format type from a tree leaf node. */
54
+ function leafType(node) {
55
+ if (!node.datasetType)
56
+ return '-';
57
+ try {
58
+ return printTypeValue(node.datasetType);
59
+ }
60
+ catch {
61
+ return '?';
62
+ }
63
+ }
64
+ /** Flatten tree to table rows (recursive), including tree entries. */
65
+ function collectRows(nodes, prefix, result) {
66
+ for (const node of nodes) {
67
+ const path = prefix ? `${prefix}.${node.name}` : `.${node.name}`;
68
+ if (node.kind === 'dataset') {
69
+ result.push({
70
+ name: path,
71
+ type: leafType(node),
72
+ status: leafStatus(node),
73
+ size: leafSize(node),
74
+ });
75
+ }
76
+ else if (node.kind === 'tree') {
77
+ result.push({ name: path, type: '(tree)', status: '-', size: '-' });
78
+ collectRows(node.children, path, result);
79
+ }
80
+ }
81
+ }
82
+ /** Collect immediate children as rows (both datasets and trees). */
83
+ function collectImmediateRows(nodes, prefix, result) {
84
+ for (const node of nodes) {
85
+ if (node.kind === 'dataset') {
86
+ result.push({
87
+ name: node.name,
88
+ type: leafType(node),
89
+ status: leafStatus(node),
90
+ size: leafSize(node),
91
+ });
92
+ }
93
+ else if (node.kind === 'tree') {
94
+ result.push({ name: node.name, type: '(tree)', status: '-', size: '-' });
95
+ }
96
+ }
97
+ }
98
+ /** Convert a ListEntry variant to a table row. */
99
+ function entryToRow(entry, usePath) {
100
+ if (entry.type === 'tree') {
101
+ const name = usePath ? entry.value.path : entry.value.path.split('.').pop();
102
+ return { name, type: '(tree)', status: '-', size: '-' };
103
+ }
104
+ // entry.type === 'dataset'
105
+ const item = entry.value;
106
+ let typeStr;
107
+ try {
108
+ typeStr = printTypeValue(item.type);
109
+ }
110
+ catch {
111
+ typeStr = '?';
112
+ }
113
+ let status;
114
+ let size;
115
+ if (item.hash.type === 'none' && item.size.type === 'none') {
116
+ status = 'unset';
117
+ size = '-';
118
+ }
119
+ else if (item.size.type === 'some' && item.size.value === 0n) {
120
+ status = 'null';
121
+ size = '0 B';
122
+ }
123
+ else {
124
+ status = 'set';
125
+ size = item.size.type === 'some' ? formatSize(Number(item.size.value)) : '-';
126
+ }
127
+ return {
128
+ name: usePath ? item.path : item.path.split('.').pop(),
129
+ type: typeStr,
130
+ status,
131
+ size,
132
+ };
133
+ }
134
+ /** Print rows as a padded table. */
135
+ function printTable(rows, nameHeader) {
136
+ if (rows.length === 0) {
137
+ console.log('(empty)');
138
+ return;
139
+ }
140
+ // Calculate column widths
141
+ const nameWidth = Math.max(nameHeader.length, ...rows.map(r => r.name.length));
142
+ const typeWidth = Math.max(4, ...rows.map(r => r.type.length));
143
+ const statusWidth = Math.max(6, ...rows.map(r => r.status.length));
144
+ const sizeWidth = Math.max(4, ...rows.map(r => r.size.length));
145
+ // Print header
146
+ console.log(`${nameHeader.padEnd(nameWidth)} ${('TYPE').padEnd(typeWidth)} ${('STATUS').padEnd(statusWidth)} ${('SIZE').padEnd(sizeWidth)}`);
147
+ // Print rows
148
+ for (const row of rows) {
149
+ console.log(`${row.name.padEnd(nameWidth)} ${row.type.padEnd(typeWidth)} ${row.status.padEnd(statusWidth)} ${row.size.padEnd(sizeWidth)}`);
150
+ }
151
+ }
16
152
  /**
17
153
  * List workspaces or tree contents at a path.
18
154
  */
19
- export async function listCommand(repoArg, pathSpec) {
155
+ export async function listCommand(repoArg, pathSpec, options) {
20
156
  try {
21
157
  const location = await parseRepoLocation(repoArg);
158
+ const recursive = options.recursive ?? false;
159
+ const long = options.long ?? false;
22
160
  // If no path, list workspaces
23
161
  if (!pathSpec) {
24
162
  if (location.type === 'local') {
@@ -56,15 +194,86 @@ export async function listCommand(repoArg, pathSpec) {
56
194
  }
57
195
  return;
58
196
  }
59
- // Parse path and list tree contents
197
+ // Parse path
60
198
  const { ws, path } = parseDatasetPath(pathSpec);
199
+ // -r -l: recursive with details
200
+ if (recursive && long) {
201
+ if (location.type === 'local') {
202
+ const storage = new LocalStorage();
203
+ const nodes = await workspaceGetTree(storage, location.path, ws, path, {
204
+ includeTypes: true,
205
+ includeStatus: true,
206
+ });
207
+ const rows = [];
208
+ const prefix = path.length > 0 ? '.' + path.map(s => s.value).join('.') : '';
209
+ collectRows(nodes, prefix, rows);
210
+ printTable(rows, 'PATH');
211
+ }
212
+ else {
213
+ const items = await datasetListRecursiveRemote(location.baseUrl, location.repo, ws, path, { token: location.token });
214
+ const rows = items.map(item => entryToRow(item, true));
215
+ printTable(rows, 'PATH');
216
+ }
217
+ return;
218
+ }
219
+ // -r: recursive paths only
220
+ if (recursive) {
221
+ if (location.type === 'local') {
222
+ const storage = new LocalStorage();
223
+ const nodes = await workspaceGetTree(storage, location.path, ws, path, {
224
+ includeTypes: false,
225
+ includeStatus: false,
226
+ });
227
+ const paths = [];
228
+ const prefix = path.length > 0 ? '.' + path.map(s => s.value).join('.') : '';
229
+ collectPaths(nodes, prefix, paths);
230
+ if (paths.length === 0) {
231
+ console.log('(empty)');
232
+ return;
233
+ }
234
+ for (const p of paths) {
235
+ console.log(p);
236
+ }
237
+ }
238
+ else {
239
+ const paths = await datasetListRecursivePathsRemote(location.baseUrl, location.repo, ws, path, { token: location.token });
240
+ if (paths.length === 0) {
241
+ console.log('(empty)');
242
+ return;
243
+ }
244
+ for (const p of paths) {
245
+ console.log(p);
246
+ }
247
+ }
248
+ return;
249
+ }
250
+ // -l: immediate children with details
251
+ if (long) {
252
+ if (location.type === 'local') {
253
+ const storage = new LocalStorage();
254
+ const nodes = await workspaceGetTree(storage, location.path, ws, path, {
255
+ maxDepth: 0,
256
+ includeTypes: true,
257
+ includeStatus: true,
258
+ });
259
+ const rows = [];
260
+ collectImmediateRows(nodes, '', rows);
261
+ printTable(rows, 'NAME');
262
+ }
263
+ else {
264
+ const items = await datasetListWithStatusRemote(location.baseUrl, location.repo, ws, path, { token: location.token });
265
+ const rows = items.map(item => entryToRow(item, false));
266
+ printTable(rows, 'NAME');
267
+ }
268
+ return;
269
+ }
270
+ // Default: list field names (unchanged)
61
271
  let fields;
62
272
  if (location.type === 'local') {
63
273
  const storage = new LocalStorage();
64
274
  fields = await workspaceListTree(storage, location.path, ws, path);
65
275
  }
66
276
  else {
67
- // Remote: list tree contents
68
277
  if (path.length === 0) {
69
278
  fields = await datasetListRemote(location.baseUrl, location.repo, ws, { token: location.token });
70
279
  }
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ /**
6
+ * Shared formatting utilities for CLI commands.
7
+ */
8
+ /**
9
+ * Format a byte count as a human-readable string.
10
+ *
11
+ * @param bytes - Size in bytes
12
+ * @returns Formatted string like "42 B", "1.5 KB", "1 MB"
13
+ */
14
+ export declare function formatSize(bytes: number): string;
15
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/format.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AAEH;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAahD"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ /**
6
+ * Shared formatting utilities for CLI commands.
7
+ */
8
+ /**
9
+ * Format a byte count as a human-readable string.
10
+ *
11
+ * @param bytes - Size in bytes
12
+ * @returns Formatted string like "42 B", "1.5 KB", "1 MB"
13
+ */
14
+ export function formatSize(bytes) {
15
+ if (bytes < 1024)
16
+ return `${bytes} B`;
17
+ const units = ['KB', 'MB', 'GB', 'TB'];
18
+ let value = bytes;
19
+ for (const unit of units) {
20
+ value /= 1024;
21
+ if (value < 1024 || unit === 'TB') {
22
+ const formatted = value % 1 === 0 ? value.toFixed(0) : value.toFixed(1);
23
+ return `${formatted} ${unit}`;
24
+ }
25
+ }
26
+ // unreachable, but TypeScript needs it
27
+ return `${bytes} B`;
28
+ }
29
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/format.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,IAAI,KAAK,GAAG,IAAI;QAAE,OAAO,GAAG,KAAK,IAAI,CAAC;IACtC,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,IAAI,IAAI,CAAC;QACd,IAAI,KAAK,GAAG,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACxE,OAAO,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;IACD,uCAAuC;IACvC,OAAO,GAAG,KAAK,IAAI,CAAC;AACtB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elaraai/e3-cli",
3
- "version": "0.0.2-beta.32",
3
+ "version": "0.0.2-beta.34",
4
4
  "type": "module",
5
5
  "description": "East Execution Engine CLI - Command-line tool for managing e3 repositories and tasks",
6
6
  "main": "dist/src/index.js",
@@ -1,14 +0,0 @@
1
- /**
2
- * Copyright (c) 2025 Elara AI Pty Ltd
3
- * Licensed under BSL 1.1. See LICENSE for details.
4
- */
5
- interface TreeOptions {
6
- depth?: string;
7
- types?: boolean;
8
- }
9
- /**
10
- * Show full tree structure of a workspace.
11
- */
12
- export declare function treeCommand(repoArg: string, pathSpec: string, options: TreeOptions): Promise<void>;
13
- export {};
14
- //# sourceMappingURL=tree.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../src/commands/tree.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoBH,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAkHD;;GAEG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CA2Ef"}
@@ -1,171 +0,0 @@
1
- /**
2
- * Copyright (c) 2025 Elara AI Pty Ltd
3
- * Licensed under BSL 1.1. See LICENSE for details.
4
- */
5
- /**
6
- * e3 tree command - Show full tree structure of a workspace
7
- *
8
- * Usage:
9
- * e3 tree . dev # Full tree for workspace
10
- * e3 tree . dev.tasks # Tree from subtree
11
- * e3 tree . dev --depth 2 # Limit depth
12
- * e3 tree . dev --types # Show dataset types
13
- */
14
- import { workspaceGetTree, LocalStorage } from '@elaraai/e3-core';
15
- import { printFor, EastTypeType } from '@elaraai/east';
16
- import { datasetListRecursive as datasetListRecursiveRemote } from '@elaraai/e3-api-client';
17
- import { parseRepoLocation, parseDatasetPath, formatError, exitError } from '../utils.js';
18
- // Printer for type values (decoded types are EastTypeValue, not EastType)
19
- const printTypeValue = printFor(EastTypeType);
20
- /**
21
- * Render tree nodes with box-drawing characters.
22
- */
23
- function renderTree(nodes, prefix = '', showTypes = false) {
24
- const lines = [];
25
- for (let i = 0; i < nodes.length; i++) {
26
- const node = nodes[i];
27
- const isLast = i === nodes.length - 1;
28
- const connector = isLast ? '└── ' : '├── ';
29
- const childPrefix = isLast ? ' ' : '│ ';
30
- // Format node name with optional type
31
- let nodeName = node.name;
32
- if (showTypes && node.kind === 'dataset' && node.datasetType) {
33
- try {
34
- nodeName += ` (${printTypeValue(node.datasetType)})`;
35
- }
36
- catch {
37
- nodeName += ' (?)';
38
- }
39
- }
40
- lines.push(prefix + connector + nodeName);
41
- // Recurse into children (only tree nodes have children)
42
- if (node.kind === 'tree' && node.children.length > 0) {
43
- const childLines = renderTree(node.children, prefix + childPrefix, showTypes);
44
- lines.push(...childLines);
45
- }
46
- }
47
- return lines;
48
- }
49
- function buildTreeFromFlat(items, showTypes) {
50
- const root = { name: '', children: new Map(), isDataset: false };
51
- for (const item of items) {
52
- // Path is like ".inputs.a.x" - split into segments
53
- const segments = item.path.split('.').filter(s => s !== '');
54
- let current = root;
55
- for (let i = 0; i < segments.length; i++) {
56
- const segment = segments[i];
57
- const isLast = i === segments.length - 1;
58
- if (!current.children.has(segment)) {
59
- current.children.set(segment, {
60
- name: segment,
61
- children: new Map(),
62
- isDataset: false,
63
- });
64
- }
65
- const node = current.children.get(segment);
66
- if (isLast) {
67
- node.isDataset = true;
68
- if (showTypes) {
69
- try {
70
- node.type = printTypeValue(item.type);
71
- }
72
- catch {
73
- node.type = '?';
74
- }
75
- }
76
- }
77
- current = node;
78
- }
79
- }
80
- return root;
81
- }
82
- /**
83
- * Render flat tree structure with box-drawing characters.
84
- */
85
- function renderFlatTree(node, prefix = '', showTypes = false) {
86
- const lines = [];
87
- const children = Array.from(node.children.values());
88
- for (let i = 0; i < children.length; i++) {
89
- const child = children[i];
90
- const isLast = i === children.length - 1;
91
- const connector = isLast ? '└── ' : '├── ';
92
- const childPrefix = isLast ? ' ' : '│ ';
93
- let nodeName = child.name;
94
- if (showTypes && child.isDataset && child.type) {
95
- nodeName += ` (${child.type})`;
96
- }
97
- lines.push(prefix + connector + nodeName);
98
- // Recurse into children
99
- if (child.children.size > 0) {
100
- const childLines = renderFlatTree(child, prefix + childPrefix, showTypes);
101
- lines.push(...childLines);
102
- }
103
- }
104
- return lines;
105
- }
106
- /**
107
- * Show full tree structure of a workspace.
108
- */
109
- export async function treeCommand(repoArg, pathSpec, options) {
110
- try {
111
- const location = await parseRepoLocation(repoArg);
112
- const { ws, path } = parseDatasetPath(pathSpec);
113
- const maxDepth = options.depth !== undefined ? parseInt(options.depth, 10) : undefined;
114
- const includeTypes = options.types ?? false;
115
- if (location.type === 'local') {
116
- const storage = new LocalStorage();
117
- const nodes = await workspaceGetTree(storage, location.path, ws, path, {
118
- maxDepth,
119
- includeTypes,
120
- });
121
- if (nodes.length === 0) {
122
- console.log('(empty)');
123
- return;
124
- }
125
- // Print root path
126
- console.log(pathSpec);
127
- // Render and print tree
128
- const lines = renderTree(nodes, '', includeTypes);
129
- for (const line of lines) {
130
- console.log(line);
131
- }
132
- }
133
- else {
134
- // Remote: use flat list and build tree
135
- const items = await datasetListRecursiveRemote(location.baseUrl, location.repo, ws, path, { token: location.token });
136
- if (items.length === 0) {
137
- console.log('(empty)');
138
- return;
139
- }
140
- // Print root path
141
- console.log(pathSpec);
142
- // Build tree from flat list and render
143
- const tree = buildTreeFromFlat(items, includeTypes);
144
- // Apply depth limit if specified
145
- const lines = renderFlatTree(tree, '', includeTypes);
146
- // Apply depth filter if needed
147
- if (maxDepth !== undefined) {
148
- const filteredLines = [];
149
- for (const line of lines) {
150
- // Count depth by counting connector patterns
151
- const depth = (line.match(/[├└]/g) || []).length;
152
- if (depth <= maxDepth) {
153
- filteredLines.push(line);
154
- }
155
- }
156
- for (const line of filteredLines) {
157
- console.log(line);
158
- }
159
- }
160
- else {
161
- for (const line of lines) {
162
- console.log(line);
163
- }
164
- }
165
- }
166
- }
167
- catch (err) {
168
- exitError(formatError(err));
169
- }
170
- }
171
- //# sourceMappingURL=tree.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../src/commands/tree.ts"],"names":[],"mappings":"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"}