@layr-labs/ecloud-cli 0.2.0-dev → 0.2.0-dev.1
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 +4 -4
- package/dist/commands/auth/generate.js.map +1 -1
- package/dist/commands/auth/login.js +2 -2
- package/dist/commands/auth/login.js.map +1 -1
- package/dist/commands/auth/logout.js +2 -2
- package/dist/commands/auth/logout.js.map +1 -1
- package/dist/commands/auth/migrate.js +2 -2
- package/dist/commands/auth/migrate.js.map +1 -1
- package/dist/commands/auth/whoami.js +7 -5
- package/dist/commands/auth/whoami.js.map +1 -1
- package/dist/commands/billing/cancel.js +9 -7
- package/dist/commands/billing/cancel.js.map +1 -1
- package/dist/commands/billing/status.js +8 -5
- package/dist/commands/billing/status.js.map +1 -1
- package/dist/commands/billing/subscribe.js +14 -10
- package/dist/commands/billing/subscribe.js.map +1 -1
- package/dist/commands/compute/app/create.js +2 -2
- package/dist/commands/compute/app/create.js.map +1 -1
- package/dist/commands/compute/app/deploy.js +105 -105
- package/dist/commands/compute/app/deploy.js.map +1 -1
- package/dist/commands/compute/app/info.js +55 -8
- package/dist/commands/compute/app/info.js.map +1 -1
- package/dist/commands/compute/app/list.js +8 -9
- package/dist/commands/compute/app/list.js.map +1 -1
- package/dist/commands/compute/app/logs.js +58 -11
- package/dist/commands/compute/app/logs.js.map +1 -1
- package/dist/commands/compute/app/profile/set.js +147 -22
- package/dist/commands/compute/app/profile/set.js.map +1 -1
- package/dist/commands/compute/app/releases.js +110 -143
- package/dist/commands/compute/app/releases.js.map +1 -1
- package/dist/commands/compute/app/start.js +58 -11
- package/dist/commands/compute/app/start.js.map +1 -1
- package/dist/commands/compute/app/stop.js +58 -11
- package/dist/commands/compute/app/stop.js.map +1 -1
- package/dist/commands/compute/app/terminate.js +58 -11
- package/dist/commands/compute/app/terminate.js.map +1 -1
- package/dist/commands/compute/app/upgrade.js +121 -67
- package/dist/commands/compute/app/upgrade.js.map +1 -1
- package/dist/commands/compute/build/info.js +8 -9
- package/dist/commands/compute/build/info.js.map +1 -1
- package/dist/commands/compute/build/list.js +50 -131
- package/dist/commands/compute/build/list.js.map +1 -1
- package/dist/commands/compute/build/logs.js +9 -10
- package/dist/commands/compute/build/logs.js.map +1 -1
- package/dist/commands/compute/build/status.js +9 -10
- package/dist/commands/compute/build/status.js.map +1 -1
- package/dist/commands/compute/build/submit.js +8 -9
- package/dist/commands/compute/build/submit.js.map +1 -1
- package/dist/commands/compute/build/verify.js +59 -12
- package/dist/commands/compute/build/verify.js.map +1 -1
- package/dist/commands/compute/environment/list.js +2 -2
- package/dist/commands/compute/environment/list.js.map +1 -1
- package/dist/commands/compute/environment/set.js +2 -2
- package/dist/commands/compute/environment/set.js.map +1 -1
- package/dist/commands/compute/environment/show.js +2 -2
- package/dist/commands/compute/environment/show.js.map +1 -1
- package/dist/commands/compute/undelegate.js +8 -9
- package/dist/commands/compute/undelegate.js.map +1 -1
- package/dist/commands/{telemetry.js → telemetry/disable.js} +15 -64
- package/dist/commands/telemetry/disable.js.map +1 -0
- package/dist/commands/telemetry/enable.js +164 -0
- package/dist/commands/telemetry/enable.js.map +1 -0
- package/dist/commands/telemetry/status.js +159 -0
- package/dist/commands/telemetry/status.js.map +1 -0
- package/dist/commands/upgrade.js +2 -2
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/commands/version.js +2 -2
- package/dist/commands/version.js.map +1 -1
- package/package.json +4 -2
- package/dist/commands/telemetry.js.map +0 -1
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
|
|
17
17
|
// src/flags.ts
|
|
18
18
|
import { Flags } from "@oclif/core";
|
|
19
|
+
import { getBuildType as getBuildType2 } from "@layr-labs/ecloud-sdk";
|
|
19
20
|
|
|
20
21
|
// src/utils/prompts.ts
|
|
21
22
|
import { input, select, password, confirm as inquirerConfirm } from "@inquirer/prompts";
|
|
@@ -97,6 +98,27 @@ function saveGlobalConfig(config) {
|
|
|
97
98
|
const content = dumpYaml(config, { lineWidth: -1 });
|
|
98
99
|
fs.writeFileSync(configPath, content, { mode: 420 });
|
|
99
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
|
+
}
|
|
100
122
|
function getDefaultEnvironment() {
|
|
101
123
|
const config = loadGlobalConfig();
|
|
102
124
|
return config.default_environment;
|
|
@@ -193,7 +215,7 @@ function listApps(environment) {
|
|
|
193
215
|
|
|
194
216
|
// src/utils/version.ts
|
|
195
217
|
function getCliVersion() {
|
|
196
|
-
return true ? "0.2.0-dev" : "0.0.0";
|
|
218
|
+
return true ? "0.2.0-dev.1" : "0.0.0";
|
|
197
219
|
}
|
|
198
220
|
function getClientId() {
|
|
199
221
|
return `ecloud-cli/v${getCliVersion()}`;
|
|
@@ -222,6 +244,9 @@ function addHexPrefix(value) {
|
|
|
222
244
|
}
|
|
223
245
|
return `0x${value}`;
|
|
224
246
|
}
|
|
247
|
+
function getCurrentProjectPath() {
|
|
248
|
+
return process.env.INIT_CWD || process.cwd();
|
|
249
|
+
}
|
|
225
250
|
var ContractAppStatusStarted = 1;
|
|
226
251
|
var ContractAppStatusStopped = 2;
|
|
227
252
|
var ContractAppStatusTerminated = 3;
|
|
@@ -360,6 +385,7 @@ Select an app to ${action}:
|
|
|
360
385
|
switch (action) {
|
|
361
386
|
case "view":
|
|
362
387
|
case "view info for":
|
|
388
|
+
case "view releases for":
|
|
363
389
|
case "set profile for":
|
|
364
390
|
return true;
|
|
365
391
|
case "start":
|
|
@@ -388,7 +414,19 @@ Select an app to ${action}:
|
|
|
388
414
|
index: i
|
|
389
415
|
});
|
|
390
416
|
}
|
|
417
|
+
const linkedAppId = getLinkedAppForDirectory(environment, getCurrentProjectPath());
|
|
418
|
+
const normalizedLinkedAppId = linkedAppId ? linkedAppId.toLowerCase() : "";
|
|
391
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
|
+
}
|
|
392
430
|
const aPriority = getStatusPriority(a.status, false);
|
|
393
431
|
const bPriority = getStatusPriority(b.status, false);
|
|
394
432
|
if (aPriority !== bPriority) {
|
|
@@ -454,7 +492,18 @@ async function getAppIDInteractiveFromRegistry(environment, action) {
|
|
|
454
492
|
}
|
|
455
493
|
throw new Error(`Invalid app ID address: ${appIDInput}`);
|
|
456
494
|
}
|
|
457
|
-
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]) => {
|
|
458
507
|
const displayName = `${name} (${appID})`;
|
|
459
508
|
return { name: displayName, value: appID };
|
|
460
509
|
});
|
|
@@ -573,7 +622,8 @@ var commonFlags = {
|
|
|
573
622
|
environment: Flags.string({
|
|
574
623
|
required: false,
|
|
575
624
|
description: "Deployment environment to use",
|
|
576
|
-
env: "ECLOUD_ENV"
|
|
625
|
+
env: "ECLOUD_ENV",
|
|
626
|
+
default: async () => getDefaultEnvironment() || (getBuildType2() === "dev" ? "sepolia-dev" : "sepolia")
|
|
577
627
|
}),
|
|
578
628
|
"private-key": Flags.string({
|
|
579
629
|
required: false,
|
|
@@ -592,9 +642,6 @@ var commonFlags = {
|
|
|
592
642
|
})
|
|
593
643
|
};
|
|
594
644
|
async function validateCommonFlags(flags, options) {
|
|
595
|
-
if (!flags["environment"]) {
|
|
596
|
-
flags["environment"] = getDefaultEnvironment();
|
|
597
|
-
}
|
|
598
645
|
flags["environment"] = await getEnvironmentInteractive(flags["environment"]);
|
|
599
646
|
if (options?.requirePrivateKey !== false) {
|
|
600
647
|
flags["private-key"] = await getPrivateKeyInteractive(flags["private-key"]);
|
|
@@ -633,15 +680,15 @@ import {
|
|
|
633
680
|
addMetric,
|
|
634
681
|
addMetricWithDimensions,
|
|
635
682
|
emitMetrics,
|
|
636
|
-
getBuildType as
|
|
683
|
+
getBuildType as getBuildType3
|
|
637
684
|
} from "@layr-labs/ecloud-sdk";
|
|
638
685
|
function createCLITelemetryClient() {
|
|
639
686
|
const userUUID = getOrCreateUserUUID();
|
|
640
687
|
const environment = createAppEnvironment(userUUID);
|
|
641
688
|
const telemetryEnabled = getGlobalTelemetryPreference();
|
|
642
689
|
return createTelemetryClient(environment, "ecloud-cli", {
|
|
643
|
-
telemetryEnabled: telemetryEnabled
|
|
644
|
-
//
|
|
690
|
+
telemetryEnabled: telemetryEnabled !== false
|
|
691
|
+
// Enabled by default, disabled only if explicitly set to false
|
|
645
692
|
});
|
|
646
693
|
}
|
|
647
694
|
async function withTelemetry(command, action) {
|
|
@@ -651,7 +698,7 @@ async function withTelemetry(command, action) {
|
|
|
651
698
|
metrics.properties["command"] = command.id || command.constructor.name;
|
|
652
699
|
const environment = getDefaultEnvironment() || "sepolia";
|
|
653
700
|
metrics.properties["environment"] = environment;
|
|
654
|
-
const buildType =
|
|
701
|
+
const buildType = getBuildType3() || "prod";
|
|
655
702
|
metrics.properties["build_type"] = buildType;
|
|
656
703
|
const cliVersion = command.config.version;
|
|
657
704
|
if (cliVersion) {
|
|
@@ -704,7 +751,7 @@ var AppLogs = class _AppLogs extends Command {
|
|
|
704
751
|
return withTelemetry(this, async () => {
|
|
705
752
|
const { args, flags } = await this.parse(_AppLogs);
|
|
706
753
|
const compute = await createComputeClient(flags);
|
|
707
|
-
const environment = flags.environment
|
|
754
|
+
const environment = flags.environment;
|
|
708
755
|
const environmentConfig = getEnvironmentConfig3(environment);
|
|
709
756
|
const rpcUrl = flags["rpc-url"] || environmentConfig.defaultRPCURL;
|
|
710
757
|
const appID = await getOrPromptAppID({
|