@elaraai/e3-cli 0.0.1-alpha.2

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 (71) hide show
  1. package/LICENSE.md +50 -0
  2. package/README.md +121 -0
  3. package/dist/src/cli-test-helpers.d.ts +17 -0
  4. package/dist/src/cli-test-helpers.d.ts.map +1 -0
  5. package/dist/src/cli-test-helpers.js +48 -0
  6. package/dist/src/cli-test-helpers.js.map +1 -0
  7. package/dist/src/cli.d.ts +7 -0
  8. package/dist/src/cli.d.ts.map +1 -0
  9. package/dist/src/cli.js +144 -0
  10. package/dist/src/cli.js.map +1 -0
  11. package/dist/src/commands/convert.d.ts +11 -0
  12. package/dist/src/commands/convert.d.ts.map +1 -0
  13. package/dist/src/commands/convert.impl.d.ts +31 -0
  14. package/dist/src/commands/convert.impl.d.ts.map +1 -0
  15. package/dist/src/commands/convert.impl.js +197 -0
  16. package/dist/src/commands/convert.impl.js.map +1 -0
  17. package/dist/src/commands/convert.js +11 -0
  18. package/dist/src/commands/convert.js.map +1 -0
  19. package/dist/src/commands/gc.d.ts +12 -0
  20. package/dist/src/commands/gc.d.ts.map +1 -0
  21. package/dist/src/commands/gc.js +44 -0
  22. package/dist/src/commands/gc.js.map +1 -0
  23. package/dist/src/commands/get.d.ts +11 -0
  24. package/dist/src/commands/get.d.ts.map +1 -0
  25. package/dist/src/commands/get.js +60 -0
  26. package/dist/src/commands/get.js.map +1 -0
  27. package/dist/src/commands/init.d.ts +9 -0
  28. package/dist/src/commands/init.d.ts.map +1 -0
  29. package/dist/src/commands/init.js +33 -0
  30. package/dist/src/commands/init.js.map +1 -0
  31. package/dist/src/commands/list.d.ts +9 -0
  32. package/dist/src/commands/list.d.ts.map +1 -0
  33. package/dist/src/commands/list.js +54 -0
  34. package/dist/src/commands/list.js.map +1 -0
  35. package/dist/src/commands/logs.d.ts +11 -0
  36. package/dist/src/commands/logs.d.ts.map +1 -0
  37. package/dist/src/commands/logs.js +179 -0
  38. package/dist/src/commands/logs.js.map +1 -0
  39. package/dist/src/commands/package.d.ts +23 -0
  40. package/dist/src/commands/package.d.ts.map +1 -0
  41. package/dist/src/commands/package.js +78 -0
  42. package/dist/src/commands/package.js.map +1 -0
  43. package/dist/src/commands/run.d.ts +12 -0
  44. package/dist/src/commands/run.d.ts.map +1 -0
  45. package/dist/src/commands/run.js +99 -0
  46. package/dist/src/commands/run.js.map +1 -0
  47. package/dist/src/commands/set.d.ts +11 -0
  48. package/dist/src/commands/set.d.ts.map +1 -0
  49. package/dist/src/commands/set.js +129 -0
  50. package/dist/src/commands/set.js.map +1 -0
  51. package/dist/src/commands/start.d.ts +13 -0
  52. package/dist/src/commands/start.d.ts.map +1 -0
  53. package/dist/src/commands/start.js +111 -0
  54. package/dist/src/commands/start.js.map +1 -0
  55. package/dist/src/commands/status.d.ts +9 -0
  56. package/dist/src/commands/status.d.ts.map +1 -0
  57. package/dist/src/commands/status.js +157 -0
  58. package/dist/src/commands/status.js.map +1 -0
  59. package/dist/src/commands/workspace.d.ts +30 -0
  60. package/dist/src/commands/workspace.d.ts.map +1 -0
  61. package/dist/src/commands/workspace.js +106 -0
  62. package/dist/src/commands/workspace.js.map +1 -0
  63. package/dist/src/index.d.ts +6 -0
  64. package/dist/src/index.d.ts.map +1 -0
  65. package/dist/src/index.js +6 -0
  66. package/dist/src/index.js.map +1 -0
  67. package/dist/src/utils.d.ts +28 -0
  68. package/dist/src/utils.d.ts.map +1 -0
  69. package/dist/src/utils.js +45 -0
  70. package/dist/src/utils.js.map +1 -0
  71. package/package.json +50 -0
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ /**
6
+ * e3 workspace commands - Workspace management
7
+ */
8
+ import { workspaceCreate, workspaceDeploy, workspaceExport, workspaceList, workspaceRemove, workspaceGetState, WorkspaceLockError, } from '@elaraai/e3-core';
9
+ import { resolveRepo, parsePackageSpec, formatError, exitError } from '../utils.js';
10
+ export const workspaceCommand = {
11
+ /**
12
+ * Create an empty workspace.
13
+ */
14
+ async create(repoArg, name) {
15
+ try {
16
+ const repoPath = resolveRepo(repoArg);
17
+ await workspaceCreate(repoPath, name);
18
+ console.log(`Created workspace: ${name}`);
19
+ console.log('Deploy a package with: e3 workspace deploy <repo> <ws> <pkg>[@<ver>]');
20
+ }
21
+ catch (err) {
22
+ exitError(formatError(err));
23
+ }
24
+ },
25
+ /**
26
+ * Deploy a package to a workspace.
27
+ */
28
+ async deploy(repoArg, ws, pkgSpec) {
29
+ try {
30
+ const repoPath = resolveRepo(repoArg);
31
+ const { name, version } = parsePackageSpec(pkgSpec);
32
+ await workspaceDeploy(repoPath, ws, name, version);
33
+ console.log(`Deployed ${name}@${version} to workspace: ${ws}`);
34
+ }
35
+ catch (err) {
36
+ if (err instanceof WorkspaceLockError) {
37
+ console.log('');
38
+ console.log(`Workspace is locked by another process with PID: ${err.holder?.pid ?? 'unknown'}`);
39
+ process.exit(1);
40
+ }
41
+ exitError(formatError(err));
42
+ }
43
+ },
44
+ /**
45
+ * Export workspace as a package.
46
+ */
47
+ async export(repoArg, ws, zipPath, options) {
48
+ try {
49
+ const repoPath = resolveRepo(repoArg);
50
+ const result = await workspaceExport(repoPath, ws, zipPath, options.name, options.version);
51
+ console.log(`Exported workspace ${ws} as ${result.name}@${result.version}`);
52
+ console.log(` Output: ${zipPath}`);
53
+ console.log(` Package hash: ${result.packageHash.slice(0, 12)}...`);
54
+ console.log(` Objects: ${result.objectCount}`);
55
+ }
56
+ catch (err) {
57
+ exitError(formatError(err));
58
+ }
59
+ },
60
+ /**
61
+ * List workspaces.
62
+ */
63
+ async list(repoArg) {
64
+ try {
65
+ const repoPath = resolveRepo(repoArg);
66
+ const workspaces = await workspaceList(repoPath);
67
+ if (workspaces.length === 0) {
68
+ console.log('No workspaces');
69
+ return;
70
+ }
71
+ console.log('Workspaces:');
72
+ for (const ws of workspaces) {
73
+ const state = await workspaceGetState(repoPath, ws);
74
+ if (state) {
75
+ console.log(` ${ws} (${state.packageName}@${state.packageVersion})`);
76
+ }
77
+ else {
78
+ console.log(` ${ws} (not deployed)`);
79
+ }
80
+ }
81
+ }
82
+ catch (err) {
83
+ exitError(formatError(err));
84
+ }
85
+ },
86
+ /**
87
+ * Remove a workspace.
88
+ */
89
+ async remove(repoArg, ws) {
90
+ try {
91
+ const repoPath = resolveRepo(repoArg);
92
+ await workspaceRemove(repoPath, ws);
93
+ console.log(`Removed workspace: ${ws}`);
94
+ console.log('Run `e3 gc` to reclaim disk space');
95
+ }
96
+ catch (err) {
97
+ if (err instanceof WorkspaceLockError) {
98
+ console.log('');
99
+ console.log(`Workspace is locked by another process with PID: ${err.holder?.pid ?? 'unknown'}`);
100
+ process.exit(1);
101
+ }
102
+ exitError(formatError(err));
103
+ }
104
+ },
105
+ };
106
+ //# sourceMappingURL=workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../src/commands/workspace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ import { parseDatasetPath, parsePackageRef } from '@elaraai/e3-types';
6
+ export { parseDatasetPath, parsePackageRef };
7
+ /**
8
+ * Resolve repository path from CLI argument.
9
+ * Supports `.` for current directory and relative/absolute paths.
10
+ */
11
+ export declare function resolveRepo(repoArg: string): string;
12
+ /**
13
+ * Parse package specification: name[@version]
14
+ * Returns { name, version } where version defaults to 'latest' if not specified.
15
+ */
16
+ export declare function parsePackageSpec(spec: string): {
17
+ name: string;
18
+ version: string;
19
+ };
20
+ /**
21
+ * Format error for CLI output.
22
+ */
23
+ export declare function formatError(err: unknown): string;
24
+ /**
25
+ * Exit with error message.
26
+ */
27
+ export declare function exitError(message: string): never;
28
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGtE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC;AAE7C;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAGhF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAKhD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAGhD"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ /**
6
+ * CLI utilities for path parsing and resolution
7
+ */
8
+ import { resolve } from 'path';
9
+ import { repoGet } from '@elaraai/e3-core';
10
+ import { parseDatasetPath, parsePackageRef } from '@elaraai/e3-types';
11
+ // Re-export for convenience
12
+ export { parseDatasetPath, parsePackageRef };
13
+ /**
14
+ * Resolve repository path from CLI argument.
15
+ * Supports `.` for current directory and relative/absolute paths.
16
+ */
17
+ export function resolveRepo(repoArg) {
18
+ const absolutePath = resolve(repoArg);
19
+ return repoGet(absolutePath);
20
+ }
21
+ /**
22
+ * Parse package specification: name[@version]
23
+ * Returns { name, version } where version defaults to 'latest' if not specified.
24
+ */
25
+ export function parsePackageSpec(spec) {
26
+ const { name, version } = parsePackageRef(spec);
27
+ return { name, version: version ?? 'latest' };
28
+ }
29
+ /**
30
+ * Format error for CLI output.
31
+ */
32
+ export function formatError(err) {
33
+ if (err instanceof Error) {
34
+ return err.message;
35
+ }
36
+ return String(err);
37
+ }
38
+ /**
39
+ * Exit with error message.
40
+ */
41
+ export function exitError(message) {
42
+ console.error(`Error: ${message}`);
43
+ process.exit(1);
44
+ }
45
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEtE,4BAA4B;AAC5B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC;AAE7C;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAChD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,GAAY;IACtC,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,OAAO,CAAC,KAAK,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;IACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "@elaraai/e3-cli",
3
+ "version": "0.0.1-alpha.2",
4
+ "type": "module",
5
+ "description": "East Execution Engine CLI - Command-line tool for managing e3 repositories and tasks",
6
+ "main": "dist/src/index.js",
7
+ "types": "dist/src/index.d.ts",
8
+ "bin": {
9
+ "e3": "./dist/src/cli.js"
10
+ },
11
+ "files": [
12
+ "dist/src",
13
+ "!dist/src/**/*.spec.*",
14
+ "README.md",
15
+ "LICENSE"
16
+ ],
17
+ "scripts": {
18
+ "build": "tsc --build",
19
+ "test": "npm run build && node --enable-source-maps --test 'dist/src/**/*.spec.js'",
20
+ "lint": "eslint .",
21
+ "lint:fix": "eslint . --fix",
22
+ "dev": "npm run build && node --enable-source-maps dist/src/cli.js"
23
+ },
24
+ "keywords": [
25
+ "east",
26
+ "e3",
27
+ "cli",
28
+ "execution-engine"
29
+ ],
30
+ "license": "SEE LICENSE IN LICENSE",
31
+ "repository": {
32
+ "type": "git",
33
+ "url": "https://github.com/elaraai/e3",
34
+ "directory": "packages/e3-cli"
35
+ },
36
+ "dependencies": {
37
+ "@elaraai/e3-core": "*",
38
+ "@elaraai/e3-types": "*",
39
+ "@elaraai/east": "^0.0.1-beta.14",
40
+ "commander": "^12.0.0"
41
+ },
42
+ "devDependencies": {
43
+ "@types/node": "^22.0.0",
44
+ "@typescript-eslint/eslint-plugin": "^8.47.0",
45
+ "@typescript-eslint/parser": "^8.47.0",
46
+ "eslint": "^9.0.0",
47
+ "eslint-plugin-headers": "^1.3.3",
48
+ "typescript": "^5.6.0"
49
+ }
50
+ }