@elaraai/e3-cli 0.0.2-beta.4 → 0.0.2-beta.41

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 (69) hide show
  1. package/README.md +33 -9
  2. package/dist/src/cli.js +50 -15
  3. package/dist/src/cli.js.map +1 -1
  4. package/dist/src/commands/auth.d.ts +21 -0
  5. package/dist/src/commands/auth.d.ts.map +1 -0
  6. package/dist/src/commands/auth.js +196 -0
  7. package/dist/src/commands/auth.js.map +1 -0
  8. package/dist/src/commands/dataset-status.d.ts +9 -0
  9. package/dist/src/commands/dataset-status.d.ts.map +1 -0
  10. package/dist/src/commands/dataset-status.js +77 -0
  11. package/dist/src/commands/dataset-status.js.map +1 -0
  12. package/dist/src/commands/get.d.ts.map +1 -1
  13. package/dist/src/commands/get.js +32 -14
  14. package/dist/src/commands/get.js.map +1 -1
  15. package/dist/src/commands/list.d.ts +6 -1
  16. package/dist/src/commands/list.d.ts.map +1 -1
  17. package/dist/src/commands/list.js +259 -17
  18. package/dist/src/commands/list.js.map +1 -1
  19. package/dist/src/commands/logs.d.ts.map +1 -1
  20. package/dist/src/commands/logs.js +105 -69
  21. package/dist/src/commands/logs.js.map +1 -1
  22. package/dist/src/commands/package.d.ts.map +1 -1
  23. package/dist/src/commands/package.js +55 -18
  24. package/dist/src/commands/package.js.map +1 -1
  25. package/dist/src/commands/repo.d.ts +35 -0
  26. package/dist/src/commands/repo.d.ts.map +1 -0
  27. package/dist/src/commands/repo.js +242 -0
  28. package/dist/src/commands/repo.js.map +1 -0
  29. package/dist/src/commands/run.d.ts.map +1 -1
  30. package/dist/src/commands/run.js +4 -3
  31. package/dist/src/commands/run.js.map +1 -1
  32. package/dist/src/commands/set.d.ts.map +1 -1
  33. package/dist/src/commands/set.js +16 -10
  34. package/dist/src/commands/set.js.map +1 -1
  35. package/dist/src/commands/start.d.ts.map +1 -1
  36. package/dist/src/commands/start.js +188 -52
  37. package/dist/src/commands/start.js.map +1 -1
  38. package/dist/src/commands/watch.d.ts.map +1 -1
  39. package/dist/src/commands/watch.js +26 -16
  40. package/dist/src/commands/watch.js.map +1 -1
  41. package/dist/src/commands/workspace.d.ts +8 -0
  42. package/dist/src/commands/workspace.d.ts.map +1 -1
  43. package/dist/src/commands/workspace.js +325 -37
  44. package/dist/src/commands/workspace.js.map +1 -1
  45. package/dist/src/credentials.d.ts +123 -0
  46. package/dist/src/credentials.d.ts.map +1 -0
  47. package/dist/src/credentials.js +213 -0
  48. package/dist/src/credentials.js.map +1 -0
  49. package/dist/src/format.d.ts +15 -0
  50. package/dist/src/format.d.ts.map +1 -0
  51. package/dist/src/format.js +29 -0
  52. package/dist/src/format.js.map +1 -0
  53. package/dist/src/utils.d.ts +60 -1
  54. package/dist/src/utils.d.ts.map +1 -1
  55. package/dist/src/utils.js +80 -1
  56. package/dist/src/utils.js.map +1 -1
  57. package/package.json +7 -6
  58. package/dist/src/commands/gc.d.ts +0 -12
  59. package/dist/src/commands/gc.d.ts.map +0 -1
  60. package/dist/src/commands/gc.js +0 -44
  61. package/dist/src/commands/gc.js.map +0 -1
  62. package/dist/src/commands/init.d.ts +0 -9
  63. package/dist/src/commands/init.d.ts.map +0 -1
  64. package/dist/src/commands/init.js +0 -33
  65. package/dist/src/commands/init.js.map +0 -1
  66. package/dist/src/commands/status.d.ts +0 -9
  67. package/dist/src/commands/status.d.ts.map +0 -1
  68. package/dist/src/commands/status.js +0 -157
  69. package/dist/src/commands/status.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../src/commands/package.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,eAAO,MAAM,cAAc;IACzB;;OAEG;oBACmB,MAAM,WAAW,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa7D;;OAEG;oBACmB,MAAM,WAAW,MAAM,WAAW,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe9E;;OAEG;kBACiB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB1C;;OAEG;oBACmB,MAAM,WAAW,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAa9D,CAAC"}
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../src/commands/package.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsBH,eAAO,MAAM,cAAc;IACzB;;OAEG;oBACmB,MAAM,WAAW,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB7D;;OAEG;oBACmB,MAAM,WAAW,MAAM,WAAW,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB9E;;OAEG;kBACiB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B1C;;OAEG;oBACmB,MAAM,WAAW,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAkB9D,CAAC"}
@@ -5,19 +5,32 @@
5
5
  /**
6
6
  * e3 package commands - Package management
7
7
  */
8
- import { packageImport, packageExport, packageList, packageRemove, } from '@elaraai/e3-core';
9
- import { resolveRepo, parsePackageSpec, formatError, exitError } from '../utils.js';
8
+ import { readFileSync, writeFileSync } from 'node:fs';
9
+ import { packageImport, packageExport, packageList, packageRemove, LocalStorage, } from '@elaraai/e3-core';
10
+ import { packageImport as packageImportRemote, packageExport as packageExportRemote, packageList as packageListRemote, packageRemove as packageRemoveRemote, } from '@elaraai/e3-api-client';
11
+ import { parseRepoLocation, parsePackageSpec, formatError, exitError } from '../utils.js';
10
12
  export const packageCommand = {
11
13
  /**
12
14
  * Import a package from a .zip file.
13
15
  */
14
16
  async import(repoArg, zipPath) {
15
17
  try {
16
- const repoPath = resolveRepo(repoArg);
17
- const result = await packageImport(repoPath, zipPath);
18
- console.log(`Imported ${result.name}@${result.version}`);
19
- console.log(` Package hash: ${result.packageHash.slice(0, 12)}...`);
20
- console.log(` Objects: ${result.objectCount}`);
18
+ const location = await parseRepoLocation(repoArg);
19
+ if (location.type === 'local') {
20
+ const storage = new LocalStorage();
21
+ const result = await packageImport(storage, location.path, zipPath);
22
+ console.log(`Imported ${result.name}@${result.version}`);
23
+ console.log(` Package hash: ${result.packageHash.slice(0, 12)}...`);
24
+ console.log(` Objects: ${result.objectCount}`);
25
+ }
26
+ else {
27
+ // Remote import - read local zip and send to server
28
+ const zipBytes = readFileSync(zipPath);
29
+ const result = await packageImportRemote(location.baseUrl, location.repo, new Uint8Array(zipBytes), { token: location.token });
30
+ console.log(`Imported ${result.name}@${result.version}`);
31
+ console.log(` Package hash: ${result.packageHash.slice(0, 12)}...`);
32
+ console.log(` Objects: ${result.objectCount}`);
33
+ }
21
34
  }
22
35
  catch (err) {
23
36
  exitError(formatError(err));
@@ -28,12 +41,22 @@ export const packageCommand = {
28
41
  */
29
42
  async export(repoArg, pkgSpec, zipPath) {
30
43
  try {
31
- const repoPath = resolveRepo(repoArg);
44
+ const location = await parseRepoLocation(repoArg);
32
45
  const { name, version } = parsePackageSpec(pkgSpec);
33
- const result = await packageExport(repoPath, name, version, zipPath);
34
- console.log(`Exported ${name}@${version} to ${zipPath}`);
35
- console.log(` Package hash: ${result.packageHash.slice(0, 12)}...`);
36
- console.log(` Objects: ${result.objectCount}`);
46
+ if (location.type === 'local') {
47
+ const storage = new LocalStorage();
48
+ const result = await packageExport(storage, location.path, name, version, zipPath);
49
+ console.log(`Exported ${name}@${version} to ${zipPath}`);
50
+ console.log(` Package hash: ${result.packageHash.slice(0, 12)}...`);
51
+ console.log(` Objects: ${result.objectCount}`);
52
+ }
53
+ else {
54
+ // Remote export - fetch zip bytes and write locally
55
+ const zipBytes = await packageExportRemote(location.baseUrl, location.repo, name, version, { token: location.token });
56
+ writeFileSync(zipPath, zipBytes);
57
+ console.log(`Exported ${name}@${version} to ${zipPath}`);
58
+ console.log(` Size: ${zipBytes.length} bytes`);
59
+ }
37
60
  }
38
61
  catch (err) {
39
62
  exitError(formatError(err));
@@ -44,8 +67,15 @@ export const packageCommand = {
44
67
  */
45
68
  async list(repoArg) {
46
69
  try {
47
- const repoPath = resolveRepo(repoArg);
48
- const packages = await packageList(repoPath);
70
+ const location = await parseRepoLocation(repoArg);
71
+ let packages;
72
+ if (location.type === 'local') {
73
+ const storage = new LocalStorage();
74
+ packages = await packageList(storage, location.path);
75
+ }
76
+ else {
77
+ packages = await packageListRemote(location.baseUrl, location.repo, { token: location.token });
78
+ }
49
79
  if (packages.length === 0) {
50
80
  console.log('No packages installed');
51
81
  return;
@@ -64,11 +94,18 @@ export const packageCommand = {
64
94
  */
65
95
  async remove(repoArg, pkgSpec) {
66
96
  try {
67
- const repoPath = resolveRepo(repoArg);
97
+ const location = await parseRepoLocation(repoArg);
68
98
  const { name, version } = parsePackageSpec(pkgSpec);
69
- await packageRemove(repoPath, name, version);
70
- console.log(`Removed ${name}@${version}`);
71
- console.log('Run `e3 gc` to reclaim disk space');
99
+ if (location.type === 'local') {
100
+ const storage = new LocalStorage();
101
+ await packageRemove(storage, location.path, name, version);
102
+ console.log(`Removed ${name}@${version}`);
103
+ console.log('Run `e3 gc` to reclaim disk space');
104
+ }
105
+ else {
106
+ await packageRemoveRemote(location.baseUrl, location.repo, name, version, { token: location.token });
107
+ console.log(`Removed ${name}@${version}`);
108
+ }
72
109
  }
73
110
  catch (err) {
74
111
  exitError(formatError(err));
@@ -1 +1 @@
1
- {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../src/commands/package.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AAEH,OAAO,EACL,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEpF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,OAAe;QAC3C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEtD,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,OAAe,EAAE,OAAe;QAC5D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YACtC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAEpD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAErE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,OAAO,OAAO,OAAO,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,OAAe;QACxB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;YAE7C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;gBACrC,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACzB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,OAAe;QAC3C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YACtC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAEpD,MAAM,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAE7C,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../src/commands/package.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ export declare const repoCommand: {
6
+ /**
7
+ * Create a new repository.
8
+ *
9
+ * Local: e3 repo create <path>
10
+ * Remote: e3 repo create <url> (e.g., http://server/repos/name)
11
+ */
12
+ create(repoArg: string): Promise<void>;
13
+ /**
14
+ * Remove a repository.
15
+ */
16
+ remove(locationArg: string): Promise<void>;
17
+ /**
18
+ * Show repository status.
19
+ */
20
+ status(locationArg: string): Promise<void>;
21
+ /**
22
+ * Run garbage collection.
23
+ */
24
+ gc(locationArg: string, options: {
25
+ dryRun?: boolean;
26
+ minAge?: string;
27
+ }): Promise<void>;
28
+ /**
29
+ * List repositories on a server.
30
+ *
31
+ * Remote only: e3 repo list <server-url>
32
+ */
33
+ list(serverUrl: string): Promise<void>;
34
+ };
35
+ //# sourceMappingURL=repo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo.d.ts","sourceRoot":"","sources":["../../../src/commands/repo.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA4CH,eAAO,MAAM,WAAW;IACtB;;;;;OAKG;oBACmB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC5C;;OAEG;wBACuB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBhD;;OAEG;wBACuB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmDhD;;OAEG;oBACmB,MAAM,WAAW;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiF5F;;;;OAIG;oBACmB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAyB7C,CAAC"}
@@ -0,0 +1,242 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ /**
6
+ * e3 repo commands - Repository management
7
+ */
8
+ import { resolve } from 'path';
9
+ import { rmSync } from 'fs';
10
+ import { repoInit, repoGc, packageList, workspaceList, workspaceGetState, LocalStorage, } from '@elaraai/e3-core';
11
+ import { repoStatus as repoStatusRemote, repoGcStart as repoGcStartRemote, repoGcStatus as repoGcStatusRemote, repoCreate as repoCreateRemote, repoRemove as repoRemoveRemote, repoList as repoListRemote, } from '@elaraai/e3-api-client';
12
+ import { some, none } from '@elaraai/east';
13
+ import { parseRepoLocation, formatError, exitError } from '../utils.js';
14
+ import { getValidToken } from '../credentials.js';
15
+ /**
16
+ * Parse repo URL for create command (doesn't validate existence).
17
+ * Returns { type: 'remote', baseUrl, repo } for URLs, or { type: 'local', path } for paths.
18
+ */
19
+ function parseRepoForCreate(arg) {
20
+ if (arg.startsWith('https://') || arg.startsWith('http://')) {
21
+ const url = new URL(arg);
22
+ const match = url.pathname.match(/^\/repos\/([^/]+)/);
23
+ if (!match) {
24
+ throw new Error(`Invalid remote URL: expected /repos/{repo} in path, got ${url.pathname}`);
25
+ }
26
+ return { type: 'remote', baseUrl: url.origin, repo: match[1] };
27
+ }
28
+ return { type: 'local', path: resolve(arg) };
29
+ }
30
+ export const repoCommand = {
31
+ /**
32
+ * Create a new repository.
33
+ *
34
+ * Local: e3 repo create <path>
35
+ * Remote: e3 repo create <url> (e.g., http://server/repos/name)
36
+ */
37
+ async create(repoArg) {
38
+ try {
39
+ const location = parseRepoForCreate(repoArg);
40
+ if (location.type === 'remote') {
41
+ const token = await getValidToken(location.baseUrl);
42
+ await repoCreateRemote(location.baseUrl, location.repo, { token });
43
+ console.log(`Created repository: ${location.repo}`);
44
+ console.log(` URL: ${location.baseUrl}/repos/${location.repo}`);
45
+ }
46
+ else {
47
+ const result = repoInit(location.path);
48
+ if (!result.success) {
49
+ if (result.alreadyExists) {
50
+ exitError(`e3 repository already exists at ${result.repoPath}`);
51
+ }
52
+ else {
53
+ exitError(`Failed to create repository: ${formatError(result.error)}`);
54
+ }
55
+ }
56
+ console.log(`Initialized e3 repository at ${result.repoPath}`);
57
+ console.log('');
58
+ console.log('Created:');
59
+ console.log(' objects/ Content-addressable storage');
60
+ console.log(' packages/ Package references');
61
+ console.log(' workspaces/ Workspace state');
62
+ console.log(' executions/ Task execution cache');
63
+ }
64
+ }
65
+ catch (err) {
66
+ exitError(formatError(err));
67
+ }
68
+ },
69
+ /**
70
+ * Remove a repository.
71
+ */
72
+ async remove(locationArg) {
73
+ try {
74
+ const location = await parseRepoLocation(locationArg);
75
+ if (location.type === 'local') {
76
+ // Remove the repository directory
77
+ rmSync(location.path, { recursive: true, force: true });
78
+ console.log(`Removed repository at ${location.path}`);
79
+ }
80
+ else {
81
+ // Remove repository via API (synchronous operation)
82
+ await repoRemoveRemote(location.baseUrl, location.repo, { token: location.token });
83
+ console.log(`Removed repository: ${location.repo}`);
84
+ }
85
+ }
86
+ catch (err) {
87
+ exitError(formatError(err));
88
+ }
89
+ },
90
+ /**
91
+ * Show repository status.
92
+ */
93
+ async status(locationArg) {
94
+ try {
95
+ const location = await parseRepoLocation(locationArg);
96
+ if (location.type === 'local') {
97
+ const storage = new LocalStorage();
98
+ console.log(`Repository: ${location.path}`);
99
+ console.log('');
100
+ // List packages
101
+ const packages = await packageList(storage, location.path);
102
+ console.log('Packages:');
103
+ if (packages.length === 0) {
104
+ console.log(' (none)');
105
+ }
106
+ else {
107
+ for (const pkg of packages) {
108
+ console.log(` ${pkg.name}@${pkg.version}`);
109
+ }
110
+ }
111
+ console.log('');
112
+ // List workspaces
113
+ const workspaces = await workspaceList(storage, location.path);
114
+ console.log('Workspaces:');
115
+ if (workspaces.length === 0) {
116
+ console.log(' (none)');
117
+ }
118
+ else {
119
+ for (const ws of workspaces) {
120
+ const state = await workspaceGetState(storage, location.path, ws);
121
+ if (state) {
122
+ console.log(` ${ws}`);
123
+ console.log(` Package: ${state.packageName}@${state.packageVersion}`);
124
+ console.log(` Deployed: ${state.deployedAt.toISOString()}`);
125
+ }
126
+ else {
127
+ console.log(` ${ws} (not deployed)`);
128
+ }
129
+ }
130
+ }
131
+ }
132
+ else {
133
+ const status = await repoStatusRemote(location.baseUrl, location.repo, { token: location.token });
134
+ console.log(`Repository: ${location.repo}`);
135
+ console.log('');
136
+ console.log(` Objects: ${status.objectCount}`);
137
+ console.log(` Packages: ${status.packageCount}`);
138
+ console.log(` Workspaces: ${status.workspaceCount}`);
139
+ }
140
+ }
141
+ catch (err) {
142
+ exitError(formatError(err));
143
+ }
144
+ },
145
+ /**
146
+ * Run garbage collection.
147
+ */
148
+ async gc(locationArg, options) {
149
+ try {
150
+ const location = await parseRepoLocation(locationArg);
151
+ const minAge = options.minAge ? parseInt(options.minAge, 10) : 60000;
152
+ if (options.dryRun) {
153
+ console.log('Dry run - no files will be deleted');
154
+ }
155
+ console.log(`Minimum age: ${minAge}ms`);
156
+ console.log('');
157
+ if (location.type === 'local') {
158
+ const storage = new LocalStorage();
159
+ const result = await repoGc(storage, location.path, {
160
+ dryRun: options.dryRun,
161
+ minAge,
162
+ });
163
+ console.log('Garbage collection complete:');
164
+ console.log(` Objects retained: ${result.retainedObjects}`);
165
+ console.log(` Objects deleted: ${result.deletedObjects}`);
166
+ console.log(` Partials deleted: ${result.deletedPartials}`);
167
+ console.log(` Skipped (young): ${result.skippedYoung}`);
168
+ if (result.bytesFreed > 0) {
169
+ const mb = (result.bytesFreed / 1024 / 1024).toFixed(2);
170
+ console.log(` Space reclaimed: ${mb} MB`);
171
+ }
172
+ }
173
+ else {
174
+ // Start async GC
175
+ const { executionId } = await repoGcStartRemote(location.baseUrl, location.repo, {
176
+ dryRun: options.dryRun ?? false,
177
+ minAge: minAge ? some(BigInt(minAge)) : none,
178
+ }, { token: location.token });
179
+ console.log('Running garbage collection...');
180
+ // Poll for completion
181
+ const pollInterval = 500;
182
+ while (true) {
183
+ const status = await repoGcStatusRemote(location.baseUrl, location.repo, executionId, { token: location.token });
184
+ if (status.status.type === 'succeeded') {
185
+ if (status.stats.type !== 'some') {
186
+ exitError('GC succeeded but no stats returned');
187
+ }
188
+ const result = status.stats.value;
189
+ console.log('');
190
+ console.log('Garbage collection complete:');
191
+ console.log(` Objects retained: ${result.retainedObjects}`);
192
+ console.log(` Objects deleted: ${result.deletedObjects}`);
193
+ console.log(` Partials deleted: ${result.deletedPartials}`);
194
+ console.log(` Skipped (young): ${result.skippedYoung}`);
195
+ if (result.bytesFreed > 0n) {
196
+ const mb = (Number(result.bytesFreed) / 1024 / 1024).toFixed(2);
197
+ console.log(` Space reclaimed: ${mb} MB`);
198
+ }
199
+ break;
200
+ }
201
+ if (status.status.type === 'failed') {
202
+ const errorMsg = status.error.type === 'some' ? status.error.value : 'Unknown error';
203
+ exitError(`GC failed: ${errorMsg}`);
204
+ }
205
+ // Still running, wait and poll again
206
+ await new Promise(resolve => setTimeout(resolve, pollInterval));
207
+ }
208
+ }
209
+ }
210
+ catch (err) {
211
+ exitError(formatError(err));
212
+ }
213
+ },
214
+ /**
215
+ * List repositories on a server.
216
+ *
217
+ * Remote only: e3 repo list <server-url>
218
+ */
219
+ async list(serverUrl) {
220
+ try {
221
+ if (!serverUrl.startsWith('http://') && !serverUrl.startsWith('https://')) {
222
+ exitError('Server URL must start with http:// or https://');
223
+ }
224
+ const url = new URL(serverUrl);
225
+ const baseUrl = url.origin;
226
+ const token = await getValidToken(baseUrl);
227
+ const repos = await repoListRemote(baseUrl, { token });
228
+ if (repos.length === 0) {
229
+ console.log('No repositories');
230
+ return;
231
+ }
232
+ console.log('Repositories:');
233
+ for (const repo of repos) {
234
+ console.log(` ${repo}`);
235
+ }
236
+ }
237
+ catch (err) {
238
+ exitError(formatError(err));
239
+ }
240
+ },
241
+ };
242
+ //# sourceMappingURL=repo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo.js","sourceRoot":"","sources":["../../../src/commands/repo.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/commands/run.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA6CH;;GAEG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5C,OAAO,CAAC,IAAI,CAAC,CAuEf"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/commands/run.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA8CH;;GAEG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5C,OAAO,CAAC,IAAI,CAAC,CAwEf"}
@@ -11,7 +11,7 @@
11
11
  * e3 run . my-pkg/task ./data.beast2 -o ./out.beast2 --force
12
12
  */
13
13
  import { readFile, writeFile } from 'fs/promises';
14
- import { packageRead, objectWrite, objectRead, taskExecute, } from '@elaraai/e3-core';
14
+ import { packageRead, objectWrite, objectRead, taskExecute, LocalStorage, } from '@elaraai/e3-core';
15
15
  import { decodeBeast2 } from '@elaraai/east';
16
16
  import { resolveRepo, parsePackageSpec, formatError, exitError } from '../utils.js';
17
17
  /**
@@ -36,6 +36,7 @@ function parseTaskSpec(spec) {
36
36
  export async function runCommand(repoArg, taskSpec, inputs, options) {
37
37
  try {
38
38
  const repoPath = resolveRepo(repoArg);
39
+ const storage = new LocalStorage();
39
40
  // Parse task specifier
40
41
  const { name, version, task } = parseTaskSpec(taskSpec);
41
42
  // Validate output is provided
@@ -43,7 +44,7 @@ export async function runCommand(repoArg, taskSpec, inputs, options) {
43
44
  exitError('Output file is required. Use -o <path> to specify output.');
44
45
  }
45
46
  // Get package and find task hash
46
- const pkg = await packageRead(repoPath, name, version);
47
+ const pkg = await packageRead(storage, repoPath, name, version);
47
48
  const taskHash = pkg.tasks.get(task);
48
49
  if (!taskHash) {
49
50
  const available = Array.from(pkg.tasks.keys()).join(', ');
@@ -67,7 +68,7 @@ export async function runCommand(repoArg, taskSpec, inputs, options) {
67
68
  }
68
69
  // Execute the task
69
70
  const startTime = Date.now();
70
- const result = await taskExecute(repoPath, taskHash, inputHashes, {
71
+ const result = await taskExecute(storage, repoPath, taskHash, inputHashes, {
71
72
  force: options.force,
72
73
  });
73
74
  const elapsed = Date.now() - startTime;
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/run.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EACL,WAAW,EACX,WAAW,EACX,UAAU,EACV,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEpF;;GAEG;AACH,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,2BAA2B,IAAI,iDAAiD,CACjF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAExC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,2BAA2B,IAAI,8BAA8B,CAC9D,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAe,EACf,QAAgB,EAChB,MAAgB,EAChB,OAA6C;IAE7C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAEtC,uBAAuB;QACvB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAExD,8BAA8B;QAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,SAAS,CAAC,2DAA2D,CAAC,CAAC;QACzE,CAAC;QAED,iCAAiC;QACjC,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,SAAS,CACP,SAAS,IAAI,kBAAkB,IAAI,IAAI,OAAO,gBAAgB,SAAS,IAAI,QAAQ,EAAE,CACtF,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC;QAElD,wCAAwC;QACxC,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;YAEvC,+CAA+C;YAC/C,IAAI,CAAC;gBACH,YAAY,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;YACjD,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC/C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,YAAY,SAAS,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACjE,CAAC;QAED,mBAAmB;QACnB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE;YAChE,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAEvC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,KAAK,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,SAAS,OAAO,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,gBAAgB;QAChB,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACpD,uCAAuC;YACvC,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YACjE,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,CAAC,KAAK,CAAC,+BAA+B,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YACpC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/run.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../src/commands/set.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA8CH;;GAEG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9B,OAAO,CAAC,IAAI,CAAC,CA8Ff"}
1
+ {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../src/commands/set.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiDH;;GAEG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9B,OAAO,CAAC,IAAI,CAAC,CAwGf"}
@@ -10,12 +10,14 @@
10
10
  * e3 set . ws.path.to.dataset ./data.east
11
11
  * e3 set . ws.path.to.dataset ./data.json --type ".Integer"
12
12
  * e3 set . ws.path.to.dataset ./data.csv --type ".Array .Struct [{name: \"name\", type: .String}, {name: \"value\", type: .Integer}]"
13
+ * e3 set https://server/repos/myrepo ws.path.to.dataset ./data.east
13
14
  */
14
15
  import { readFile } from 'fs/promises';
15
16
  import { extname } from 'path';
16
- import { WorkspaceLockError, workspaceSetDataset } from '@elaraai/e3-core';
17
- import { decodeBeast2, parseFor, fromJSONFor, decodeCsvFor, EastTypeType, parseInferred, toEastTypeValue, } from '@elaraai/east';
18
- import { resolveRepo, parseDatasetPath, formatError, exitError } from '../utils.js';
17
+ import { workspaceSetDataset, LocalStorage } from '@elaraai/e3-core';
18
+ import { datasetSet as datasetSetRemote } from '@elaraai/e3-api-client';
19
+ import { decodeBeast2, parseFor, fromJSONFor, decodeCsvFor, encodeBeast2For, EastTypeType, parseInferred, toEastTypeValue, } from '@elaraai/east';
20
+ import { parseRepoLocation, parseDatasetPath, formatError, exitError } from '../utils.js';
19
21
  /**
20
22
  * Parse a type specification in .east format.
21
23
  * Types are represented as EastTypeValue variants.
@@ -38,7 +40,7 @@ function parseTypeSpec(typeSpec) {
38
40
  */
39
41
  export async function setCommand(repoArg, pathSpec, filePath, options = {}) {
40
42
  try {
41
- const repoPath = resolveRepo(repoArg);
43
+ const location = await parseRepoLocation(repoArg);
42
44
  const { ws, path } = parseDatasetPath(pathSpec);
43
45
  if (path.length === 0) {
44
46
  exitError('Path must include at least one field (e.g., ws.field)');
@@ -114,15 +116,19 @@ export async function setCommand(repoArg, pathSpec, filePath, options = {}) {
114
116
  default:
115
117
  exitError(`Unknown file extension: ${ext}. Supported: .beast2, .east, .json, .csv`);
116
118
  }
117
- await workspaceSetDataset(repoPath, ws, path, value, type);
119
+ if (location.type === 'local') {
120
+ const storage = new LocalStorage();
121
+ await workspaceSetDataset(storage, location.path, ws, path, value, type);
122
+ }
123
+ else {
124
+ // Remote: encode value to BEAST2 and send
125
+ const encoder = encodeBeast2For(type);
126
+ const beast2Data = encoder(value);
127
+ await datasetSetRemote(location.baseUrl, location.repo, ws, path, beast2Data, { token: location.token });
128
+ }
118
129
  console.log(`Set ${pathSpec} from ${filePath}`);
119
130
  }
120
131
  catch (err) {
121
- if (err instanceof WorkspaceLockError) {
122
- console.log('');
123
- console.log(`Workspace is locked by another process with PID: ${err.holder?.pid ?? 'unknown'}`);
124
- process.exit(1);
125
- }
126
132
  exitError(formatError(err));
127
133
  }
128
134
  }
@@ -1 +1 @@
1
- {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/commands/set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/commands/set.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/commands/start.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,EACV,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAClE,OAAO,CAAC,IAAI,CAAC,CAkFf"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/commands/start.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA+BH;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,EACV,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAClE,OAAO,CAAC,IAAI,CAAC,CA+Df"}