@layr-labs/ecloud-cli 0.2.0-dev.2 → 0.2.0-dev.3
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/VERSION +2 -2
- package/dist/commands/auth/generate.js +2 -2
- package/dist/commands/auth/generate.js.map +1 -1
- package/dist/commands/auth/login.js.map +1 -1
- package/dist/commands/auth/logout.js.map +1 -1
- package/dist/commands/auth/migrate.js.map +1 -1
- package/dist/commands/auth/whoami.js +5 -3
- package/dist/commands/auth/whoami.js.map +1 -1
- package/dist/commands/billing/cancel.js +6 -3
- package/dist/commands/billing/cancel.js.map +1 -1
- package/dist/commands/billing/status.js +6 -3
- package/dist/commands/billing/status.js.map +1 -1
- package/dist/commands/billing/subscribe.js +12 -7
- package/dist/commands/billing/subscribe.js.map +1 -1
- package/dist/commands/compute/app/create.js.map +1 -1
- package/dist/commands/compute/app/deploy.js +614 -86
- package/dist/commands/compute/app/deploy.js.map +1 -1
- package/dist/commands/compute/app/info.js +59 -10
- package/dist/commands/compute/app/info.js.map +1 -1
- package/dist/commands/compute/app/list.js +10 -9
- package/dist/commands/compute/app/list.js.map +1 -1
- package/dist/commands/compute/app/logs.js +61 -11
- package/dist/commands/compute/app/logs.js.map +1 -1
- package/dist/commands/compute/app/profile/set.js +145 -20
- package/dist/commands/compute/app/profile/set.js.map +1 -1
- package/dist/commands/compute/app/releases.js +1111 -0
- package/dist/commands/compute/app/releases.js.map +1 -0
- package/dist/commands/compute/app/start.js +61 -11
- package/dist/commands/compute/app/start.js.map +1 -1
- package/dist/commands/compute/app/stop.js +61 -11
- package/dist/commands/compute/app/stop.js.map +1 -1
- package/dist/commands/compute/app/terminate.js +61 -11
- package/dist/commands/compute/app/terminate.js.map +1 -1
- package/dist/commands/compute/app/upgrade.js +615 -52
- package/dist/commands/compute/app/upgrade.js.map +1 -1
- package/dist/commands/compute/build/info.js +500 -0
- package/dist/commands/compute/build/info.js.map +1 -0
- package/dist/commands/compute/build/list.js +494 -0
- package/dist/commands/compute/build/list.js.map +1 -0
- package/dist/commands/compute/build/logs.js +459 -0
- package/dist/commands/compute/build/logs.js.map +1 -0
- package/dist/commands/compute/build/status.js +481 -0
- package/dist/commands/compute/build/status.js.map +1 -0
- package/dist/commands/compute/build/submit.js +618 -0
- package/dist/commands/compute/build/submit.js.map +1 -0
- package/dist/commands/compute/build/verify.js +439 -0
- package/dist/commands/compute/build/verify.js.map +1 -0
- package/dist/commands/compute/environment/list.js.map +1 -1
- package/dist/commands/compute/environment/set.js.map +1 -1
- package/dist/commands/compute/environment/show.js.map +1 -1
- package/dist/commands/compute/undelegate.js +11 -9
- package/dist/commands/compute/undelegate.js.map +1 -1
- package/dist/commands/telemetry/disable.js.map +1 -1
- package/dist/commands/telemetry/enable.js.map +1 -1
- package/dist/commands/telemetry/status.js.map +1 -1
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/commands/version.js.map +1 -1
- package/package.json +7 -2
|
@@ -8,6 +8,7 @@ import { getEnvironmentConfig as getEnvironmentConfig3 } from "@layr-labs/ecloud
|
|
|
8
8
|
import {
|
|
9
9
|
createComputeModule,
|
|
10
10
|
createBillingModule,
|
|
11
|
+
createBuildModule,
|
|
11
12
|
getEnvironmentConfig as getEnvironmentConfig2,
|
|
12
13
|
requirePrivateKey,
|
|
13
14
|
getPrivateKeyWithSource
|
|
@@ -15,6 +16,7 @@ import {
|
|
|
15
16
|
|
|
16
17
|
// src/flags.ts
|
|
17
18
|
import { Flags } from "@oclif/core";
|
|
19
|
+
import { getBuildType as getBuildType2 } from "@layr-labs/ecloud-sdk";
|
|
18
20
|
|
|
19
21
|
// src/utils/prompts.ts
|
|
20
22
|
import { input, select, password, confirm as inquirerConfirm } from "@inquirer/prompts";
|
|
@@ -96,6 +98,27 @@ function saveGlobalConfig(config) {
|
|
|
96
98
|
const content = dumpYaml(config, { lineWidth: -1 });
|
|
97
99
|
fs.writeFileSync(configPath, content, { mode: 420 });
|
|
98
100
|
}
|
|
101
|
+
function normalizeDirectoryPath(directoryPath) {
|
|
102
|
+
const resolved = path.resolve(directoryPath);
|
|
103
|
+
try {
|
|
104
|
+
return fs.realpathSync(resolved);
|
|
105
|
+
} catch {
|
|
106
|
+
return resolved;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
function getLinkedAppForDirectory(environment, directoryPath) {
|
|
110
|
+
if (!directoryPath) {
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
const config = loadGlobalConfig();
|
|
114
|
+
const links = config.directory_links?.[environment];
|
|
115
|
+
if (!links) {
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
const normalizedPath = normalizeDirectoryPath(directoryPath);
|
|
119
|
+
const appId = links[normalizedPath];
|
|
120
|
+
return appId || null;
|
|
121
|
+
}
|
|
99
122
|
function getDefaultEnvironment() {
|
|
100
123
|
const config = loadGlobalConfig();
|
|
101
124
|
return config.default_environment;
|
|
@@ -192,7 +215,7 @@ function listApps(environment) {
|
|
|
192
215
|
|
|
193
216
|
// src/utils/version.ts
|
|
194
217
|
function getCliVersion() {
|
|
195
|
-
return true ? "0.2.0-dev.
|
|
218
|
+
return true ? "0.2.0-dev.3" : "0.0.0";
|
|
196
219
|
}
|
|
197
220
|
function getClientId() {
|
|
198
221
|
return `ecloud-cli/v${getCliVersion()}`;
|
|
@@ -221,6 +244,9 @@ function addHexPrefix(value) {
|
|
|
221
244
|
}
|
|
222
245
|
return `0x${value}`;
|
|
223
246
|
}
|
|
247
|
+
function getCurrentProjectPath() {
|
|
248
|
+
return process.env.INIT_CWD || process.cwd();
|
|
249
|
+
}
|
|
224
250
|
var ContractAppStatusStarted = 1;
|
|
225
251
|
var ContractAppStatusStopped = 2;
|
|
226
252
|
var ContractAppStatusTerminated = 3;
|
|
@@ -359,6 +385,7 @@ Select an app to ${action}:
|
|
|
359
385
|
switch (action) {
|
|
360
386
|
case "view":
|
|
361
387
|
case "view info for":
|
|
388
|
+
case "view releases for":
|
|
362
389
|
case "set profile for":
|
|
363
390
|
return true;
|
|
364
391
|
case "start":
|
|
@@ -387,7 +414,19 @@ Select an app to ${action}:
|
|
|
387
414
|
index: i
|
|
388
415
|
});
|
|
389
416
|
}
|
|
417
|
+
const linkedAppId = getLinkedAppForDirectory(environment, getCurrentProjectPath());
|
|
418
|
+
const normalizedLinkedAppId = linkedAppId ? linkedAppId.toLowerCase() : "";
|
|
390
419
|
appItems.sort((a, b) => {
|
|
420
|
+
if (normalizedLinkedAppId) {
|
|
421
|
+
const aLinked = String(a.addr).toLowerCase() === normalizedLinkedAppId;
|
|
422
|
+
const bLinked = String(b.addr).toLowerCase() === normalizedLinkedAppId;
|
|
423
|
+
if (aLinked && !bLinked) {
|
|
424
|
+
return -1;
|
|
425
|
+
}
|
|
426
|
+
if (bLinked && !aLinked) {
|
|
427
|
+
return 1;
|
|
428
|
+
}
|
|
429
|
+
}
|
|
391
430
|
const aPriority = getStatusPriority(a.status, false);
|
|
392
431
|
const bPriority = getStatusPriority(b.status, false);
|
|
393
432
|
if (aPriority !== bPriority) {
|
|
@@ -453,7 +492,18 @@ async function getAppIDInteractiveFromRegistry(environment, action) {
|
|
|
453
492
|
}
|
|
454
493
|
throw new Error(`Invalid app ID address: ${appIDInput}`);
|
|
455
494
|
}
|
|
456
|
-
const
|
|
495
|
+
const entries = Object.entries(allApps);
|
|
496
|
+
const linkedAppId = getLinkedAppForDirectory(environment, getCurrentProjectPath());
|
|
497
|
+
if (linkedAppId) {
|
|
498
|
+
const linkedIndex = entries.findIndex(
|
|
499
|
+
([, appId]) => String(appId).toLowerCase() === linkedAppId.toLowerCase()
|
|
500
|
+
);
|
|
501
|
+
if (linkedIndex > 0) {
|
|
502
|
+
const [linkedEntry] = entries.splice(linkedIndex, 1);
|
|
503
|
+
entries.unshift(linkedEntry);
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
const choices = entries.map(([name, appID]) => {
|
|
457
507
|
const displayName = `${name} (${appID})`;
|
|
458
508
|
return { name: displayName, value: appID };
|
|
459
509
|
});
|
|
@@ -572,7 +622,8 @@ var commonFlags = {
|
|
|
572
622
|
environment: Flags.string({
|
|
573
623
|
required: false,
|
|
574
624
|
description: "Deployment environment to use",
|
|
575
|
-
env: "ECLOUD_ENV"
|
|
625
|
+
env: "ECLOUD_ENV",
|
|
626
|
+
default: async () => getDefaultEnvironment() || (getBuildType2() === "dev" ? "sepolia-dev" : "sepolia")
|
|
576
627
|
}),
|
|
577
628
|
"private-key": Flags.string({
|
|
578
629
|
required: false,
|
|
@@ -590,12 +641,11 @@ var commonFlags = {
|
|
|
590
641
|
default: false
|
|
591
642
|
})
|
|
592
643
|
};
|
|
593
|
-
async function validateCommonFlags(flags) {
|
|
594
|
-
if (!flags["environment"]) {
|
|
595
|
-
flags["environment"] = getDefaultEnvironment();
|
|
596
|
-
}
|
|
644
|
+
async function validateCommonFlags(flags, options) {
|
|
597
645
|
flags["environment"] = await getEnvironmentInteractive(flags["environment"]);
|
|
598
|
-
|
|
646
|
+
if (options?.requirePrivateKey !== false) {
|
|
647
|
+
flags["private-key"] = await getPrivateKeyInteractive(flags["private-key"]);
|
|
648
|
+
}
|
|
599
649
|
return flags;
|
|
600
650
|
}
|
|
601
651
|
|
|
@@ -630,7 +680,7 @@ import {
|
|
|
630
680
|
addMetric,
|
|
631
681
|
addMetricWithDimensions,
|
|
632
682
|
emitMetrics,
|
|
633
|
-
getBuildType as
|
|
683
|
+
getBuildType as getBuildType3
|
|
634
684
|
} from "@layr-labs/ecloud-sdk";
|
|
635
685
|
function createCLITelemetryClient() {
|
|
636
686
|
const userUUID = getOrCreateUserUUID();
|
|
@@ -648,7 +698,7 @@ async function withTelemetry(command, action) {
|
|
|
648
698
|
metrics.properties["command"] = command.id || command.constructor.name;
|
|
649
699
|
const environment = getDefaultEnvironment() || "sepolia";
|
|
650
700
|
metrics.properties["environment"] = environment;
|
|
651
|
-
const buildType =
|
|
701
|
+
const buildType = getBuildType3() || "prod";
|
|
652
702
|
metrics.properties["build_type"] = buildType;
|
|
653
703
|
const cliVersion = command.config.version;
|
|
654
704
|
if (cliVersion) {
|
|
@@ -701,7 +751,7 @@ var AppLogs = class _AppLogs extends Command {
|
|
|
701
751
|
return withTelemetry(this, async () => {
|
|
702
752
|
const { args, flags } = await this.parse(_AppLogs);
|
|
703
753
|
const compute = await createComputeClient(flags);
|
|
704
|
-
const environment = flags.environment
|
|
754
|
+
const environment = flags.environment;
|
|
705
755
|
const environmentConfig = getEnvironmentConfig3(environment);
|
|
706
756
|
const rpcUrl = flags["rpc-url"] || environmentConfig.defaultRPCURL;
|
|
707
757
|
const appID = await getOrPromptAppID({
|