@agentuity/cli 0.1.13 → 0.1.15
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/dist/auth.d.ts +1 -1
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +12 -7
- package/dist/auth.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +94 -97
- package/dist/cli.js.map +1 -1
- package/dist/cmd/ai/index.d.ts.map +1 -1
- package/dist/cmd/ai/index.js +6 -1
- package/dist/cmd/ai/index.js.map +1 -1
- package/dist/cmd/ai/opencode/index.d.ts +3 -0
- package/dist/cmd/ai/opencode/index.d.ts.map +1 -0
- package/dist/cmd/ai/opencode/index.js +27 -0
- package/dist/cmd/ai/opencode/index.js.map +1 -0
- package/dist/cmd/ai/opencode/install.d.ts +3 -0
- package/dist/cmd/ai/opencode/install.d.ts.map +1 -0
- package/dist/cmd/ai/opencode/install.js +102 -0
- package/dist/cmd/ai/opencode/install.js.map +1 -0
- package/dist/cmd/ai/opencode/run.d.ts +3 -0
- package/dist/cmd/ai/opencode/run.d.ts.map +1 -0
- package/dist/cmd/ai/opencode/run.js +88 -0
- package/dist/cmd/ai/opencode/run.js.map +1 -0
- package/dist/cmd/ai/opencode/uninstall.d.ts +3 -0
- package/dist/cmd/ai/opencode/uninstall.d.ts.map +1 -0
- package/dist/cmd/ai/opencode/uninstall.js +82 -0
- package/dist/cmd/ai/opencode/uninstall.js.map +1 -0
- package/dist/cmd/auth/index.d.ts.map +1 -1
- package/dist/cmd/auth/index.js +3 -0
- package/dist/cmd/auth/index.js.map +1 -1
- package/dist/cmd/auth/org/index.d.ts +2 -0
- package/dist/cmd/auth/org/index.d.ts.map +1 -0
- package/dist/cmd/auth/org/index.js +121 -0
- package/dist/cmd/auth/org/index.js.map +1 -0
- package/dist/cmd/build/vite/beacon-plugin.d.ts +19 -0
- package/dist/cmd/build/vite/beacon-plugin.d.ts.map +1 -0
- package/dist/cmd/build/vite/beacon-plugin.js +137 -0
- package/dist/cmd/build/vite/beacon-plugin.js.map +1 -0
- package/dist/cmd/build/vite/vite-builder.d.ts +2 -0
- package/dist/cmd/build/vite/vite-builder.d.ts.map +1 -1
- package/dist/cmd/build/vite/vite-builder.js +12 -2
- package/dist/cmd/build/vite/vite-builder.js.map +1 -1
- package/dist/cmd/build/webanalytics-generator.js +25 -9
- package/dist/cmd/build/webanalytics-generator.js.map +1 -1
- package/dist/cmd/cloud/db/get.d.ts.map +1 -1
- package/dist/cmd/cloud/db/get.js +7 -0
- package/dist/cmd/cloud/db/get.js.map +1 -1
- package/dist/cmd/cloud/db/list.d.ts.map +1 -1
- package/dist/cmd/cloud/db/list.js +19 -6
- package/dist/cmd/cloud/db/list.js.map +1 -1
- package/dist/cmd/cloud/deploy.d.ts.map +1 -1
- package/dist/cmd/cloud/deploy.js +24 -1
- package/dist/cmd/cloud/deploy.js.map +1 -1
- package/dist/cmd/cloud/deployment/show.d.ts.map +1 -1
- package/dist/cmd/cloud/deployment/show.js +5 -0
- package/dist/cmd/cloud/deployment/show.js.map +1 -1
- package/dist/cmd/cloud/index.d.ts.map +1 -1
- package/dist/cmd/cloud/index.js +3 -0
- package/dist/cmd/cloud/index.js.map +1 -1
- package/dist/cmd/cloud/region/index.d.ts +2 -0
- package/dist/cmd/cloud/region/index.d.ts.map +1 -0
- package/dist/cmd/cloud/region/index.js +136 -0
- package/dist/cmd/cloud/region/index.js.map +1 -0
- package/dist/cmd/cloud/sandbox/snapshot/build.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/build.js +35 -5
- package/dist/cmd/cloud/sandbox/snapshot/build.js.map +1 -1
- package/dist/cmd/cloud/scp/download.d.ts.map +1 -1
- package/dist/cmd/cloud/scp/download.js +4 -2
- package/dist/cmd/cloud/scp/download.js.map +1 -1
- package/dist/cmd/cloud/scp/upload.d.ts.map +1 -1
- package/dist/cmd/cloud/scp/upload.js +4 -2
- package/dist/cmd/cloud/scp/upload.js.map +1 -1
- package/dist/cmd/cloud/ssh.d.ts.map +1 -1
- package/dist/cmd/cloud/ssh.js +3 -1
- package/dist/cmd/cloud/ssh.js.map +1 -1
- package/dist/cmd/cloud/storage/get.d.ts.map +1 -1
- package/dist/cmd/cloud/storage/get.js +12 -5
- package/dist/cmd/cloud/storage/get.js.map +1 -1
- package/dist/cmd/cloud/storage/list.d.ts.map +1 -1
- package/dist/cmd/cloud/storage/list.js +10 -0
- package/dist/cmd/cloud/storage/list.js.map +1 -1
- package/dist/cmd/dev/index.d.ts.map +1 -1
- package/dist/cmd/dev/index.js +62 -5
- package/dist/cmd/dev/index.js.map +1 -1
- package/dist/cmd/help/index.d.ts.map +1 -1
- package/dist/cmd/help/index.js +8 -18
- package/dist/cmd/help/index.js.map +1 -1
- package/dist/cmd/project/create.d.ts.map +1 -1
- package/dist/cmd/project/create.js +18 -9
- package/dist/cmd/project/create.js.map +1 -1
- package/dist/cmd/project/download.d.ts +3 -1
- package/dist/cmd/project/download.d.ts.map +1 -1
- package/dist/cmd/project/download.js +5 -0
- package/dist/cmd/project/download.js.map +1 -1
- package/dist/cmd/project/import.d.ts +2 -0
- package/dist/cmd/project/import.d.ts.map +1 -0
- package/dist/cmd/project/import.js +88 -0
- package/dist/cmd/project/import.js.map +1 -0
- package/dist/cmd/project/index.d.ts.map +1 -1
- package/dist/cmd/project/index.js +3 -0
- package/dist/cmd/project/index.js.map +1 -1
- package/dist/cmd/project/reconcile.d.ts +67 -0
- package/dist/cmd/project/reconcile.d.ts.map +1 -0
- package/dist/cmd/project/reconcile.js +458 -0
- package/dist/cmd/project/reconcile.js.map +1 -0
- package/dist/cmd/project/template-flow.d.ts +13 -1
- package/dist/cmd/project/template-flow.d.ts.map +1 -1
- package/dist/cmd/project/template-flow.js +56 -18
- package/dist/cmd/project/template-flow.js.map +1 -1
- package/dist/config.d.ts +8 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +50 -21
- package/dist/config.js.map +1 -1
- package/dist/legacy-check.d.ts.map +1 -1
- package/dist/legacy-check.js +8 -0
- package/dist/legacy-check.js.map +1 -1
- package/dist/program-ref.d.ts +4 -0
- package/dist/program-ref.d.ts.map +1 -0
- package/dist/program-ref.js +8 -0
- package/dist/program-ref.js.map +1 -0
- package/dist/regions.d.ts +8 -0
- package/dist/regions.d.ts.map +1 -0
- package/dist/regions.js +77 -0
- package/dist/regions.js.map +1 -0
- package/dist/tui/prompt.d.ts.map +1 -1
- package/dist/tui/prompt.js +7 -1
- package/dist/tui/prompt.js.map +1 -1
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +79 -25
- package/dist/tui.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/package.json +7 -7
- package/src/auth.ts +14 -13
- package/src/cli.ts +118 -114
- package/src/cmd/ai/index.ts +6 -1
- package/src/cmd/ai/opencode/index.ts +28 -0
- package/src/cmd/ai/opencode/install.ts +120 -0
- package/src/cmd/ai/opencode/run.ts +103 -0
- package/src/cmd/ai/opencode/uninstall.ts +90 -0
- package/src/cmd/auth/index.ts +3 -0
- package/src/cmd/auth/org/index.ts +142 -0
- package/src/cmd/build/vite/beacon-plugin.ts +164 -0
- package/src/cmd/build/vite/vite-builder.ts +19 -2
- package/src/cmd/build/webanalytics-generator.ts +25 -9
- package/src/cmd/cloud/db/get.ts +7 -0
- package/src/cmd/cloud/db/list.ts +20 -6
- package/src/cmd/cloud/deploy.ts +32 -1
- package/src/cmd/cloud/deployment/show.ts +5 -0
- package/src/cmd/cloud/index.ts +3 -0
- package/src/cmd/cloud/region/index.ts +157 -0
- package/src/cmd/cloud/sandbox/snapshot/build.ts +42 -5
- package/src/cmd/cloud/scp/download.ts +6 -2
- package/src/cmd/cloud/scp/upload.ts +6 -2
- package/src/cmd/cloud/ssh.ts +5 -1
- package/src/cmd/cloud/storage/get.ts +12 -5
- package/src/cmd/cloud/storage/list.ts +11 -0
- package/src/cmd/dev/index.ts +62 -5
- package/src/cmd/help/index.ts +8 -22
- package/src/cmd/project/create.ts +19 -9
- package/src/cmd/project/download.ts +7 -1
- package/src/cmd/project/import.ts +98 -0
- package/src/cmd/project/index.ts +3 -0
- package/src/cmd/project/reconcile.ts +606 -0
- package/src/cmd/project/template-flow.ts +69 -18
- package/src/config.ts +58 -22
- package/src/legacy-check.ts +10 -0
- package/src/program-ref.ts +11 -0
- package/src/regions.ts +95 -0
- package/src/tui/prompt.ts +10 -3
- package/src/tui.ts +82 -26
- package/src/types.ts +2 -0
package/dist/auth.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export declare function isTTY(): boolean;
|
|
|
4
4
|
export declare function hasLoggedInBefore(): Promise<boolean>;
|
|
5
5
|
export declare function isAuthenticated(): Promise<boolean>;
|
|
6
6
|
export declare function requireAuth(ctx: CommandContext<undefined>): Promise<AuthData>;
|
|
7
|
-
export declare function optionalAuth(ctx: CommandContext<undefined>, continueText?: string): Promise<AuthData | null>;
|
|
7
|
+
export declare function optionalAuth(ctx: CommandContext<undefined>, continueText?: string, skipPrompts?: boolean): Promise<AuthData | null>;
|
|
8
8
|
export declare function requireOrg(ctx: CommandContext & {
|
|
9
9
|
apiClient: APIClientType;
|
|
10
10
|
}): Promise<string>;
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIxD,OAAO,EAA2C,KAAK,SAAS,IAAI,aAAa,EAAE,MAAM,OAAO,CAAC;AAEjG,wBAAgB,KAAK,IAAI,OAAO,CAE/B;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAG1D;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAMxD;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,cAAc,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAmEnF;AAED,wBAAsB,YAAY,CACjC,GAAG,EAAE,cAAc,CAAC,SAAS,CAAC,EAC9B,YAAY,CAAC,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,OAAO,GACnB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CA6H1B;AAED,wBAAsB,UAAU,CAC/B,GAAG,EAAE,cAAc,GAAG;IAAE,SAAS,EAAE,aAAa,CAAA;CAAE,GAChD,OAAO,CAAC,MAAM,CAAC,CA+BjB;AAED,wBAAsB,WAAW,CAChC,GAAG,EAAE,cAAc,GAAG;IAAE,SAAS,CAAC,EAAE,aAAa,CAAC;IAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;CAAE,GAClE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA0C7B"}
|
package/dist/auth.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import enquirer from 'enquirer';
|
|
2
|
-
import { getDefaultConfigPath, getAuth, saveConfig, loadConfig, saveOrgId
|
|
2
|
+
import { getDefaultConfigPath, getAuth, saveConfig, loadConfig, saveOrgId } from './config';
|
|
3
3
|
import { getCommand } from './command-prefix';
|
|
4
4
|
import * as tui from './tui';
|
|
5
5
|
import { defaultProfileName } from './config';
|
|
@@ -67,11 +67,20 @@ export async function requireAuth(ctx) {
|
|
|
67
67
|
tui.newline();
|
|
68
68
|
return newAuth;
|
|
69
69
|
}
|
|
70
|
-
export async function optionalAuth(ctx, continueText) {
|
|
70
|
+
export async function optionalAuth(ctx, continueText, skipPrompts) {
|
|
71
71
|
const auth = await getAuth();
|
|
72
72
|
if (auth && auth.expires > new Date()) {
|
|
73
73
|
return auth;
|
|
74
74
|
}
|
|
75
|
+
// Skip interactive prompts if requested (e.g., --confirm flag, --no-register in CI/scripts)
|
|
76
|
+
// Still show the logged out message to inform user about limited capabilities
|
|
77
|
+
if (skipPrompts) {
|
|
78
|
+
if (isTTY()) {
|
|
79
|
+
const hasLoggedIn = await hasLoggedInBefore();
|
|
80
|
+
tui.showLoggedOutMessage(getAppBaseURL(ctx.config ?? null), hasLoggedIn);
|
|
81
|
+
}
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
75
84
|
// Show signup benefits but don't block - just return null
|
|
76
85
|
if (isTTY()) {
|
|
77
86
|
const config = await loadConfig();
|
|
@@ -202,11 +211,7 @@ export async function optionalOrg(ctx) {
|
|
|
202
211
|
if (!auth.apiKey) {
|
|
203
212
|
return undefined;
|
|
204
213
|
}
|
|
205
|
-
//
|
|
206
|
-
// Type assertion: register is a command-specific option not in GlobalOptions
|
|
207
|
-
if ('register' in options && options.register === false) {
|
|
208
|
-
return undefined;
|
|
209
|
-
}
|
|
214
|
+
// Note: --no-register check is handled in cli.ts before calling this function
|
|
210
215
|
// Check if org is provided via --org-id flag
|
|
211
216
|
if (options.orgId) {
|
|
212
217
|
return options.orgId;
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EACX,iBAAiB,EAEjB,cAAc,EAQd,MAAM,SAAS,CAAC;AAgcjB,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA4MjE;AA6gCD,wBAAsB,gBAAgB,CACrC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,OAAO,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC,CAiOf"}
|
package/dist/cli.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { mkdir, unlink } from 'node:fs/promises';
|
|
2
1
|
import { homedir } from 'node:os';
|
|
3
|
-
import { resolve
|
|
2
|
+
import { resolve } from 'node:path';
|
|
4
3
|
import { Command } from 'commander';
|
|
5
|
-
import { getDefaultConfigDir } from './config';
|
|
6
4
|
import { showBanner, generateBanner } from './banner';
|
|
7
5
|
import { requireAuth, optionalAuth, requireOrg, optionalOrg as selectOptionalOrg } from './auth';
|
|
8
|
-
import {
|
|
6
|
+
import { ValidationOutputError } from '@agentuity/server';
|
|
7
|
+
import { fetchRegionsWithCache } from './regions';
|
|
9
8
|
import enquirer from 'enquirer';
|
|
10
9
|
import * as tui from './tui';
|
|
11
10
|
import { parseArgsSchema, parseOptionsSchema, buildValidationInput } from './schema-parser';
|
|
@@ -15,6 +14,7 @@ import { ErrorCode, ExitCode, createError, exitWithError } from './errors';
|
|
|
15
14
|
import { getCommand } from './command-prefix';
|
|
16
15
|
import { isValidateMode, outputValidation } from './output';
|
|
17
16
|
import { StructuredError } from '@agentuity/core';
|
|
17
|
+
import { setProgram } from './program-ref';
|
|
18
18
|
/**
|
|
19
19
|
* Check if an error is a CLI input validation error (Zod error from schema parsing),
|
|
20
20
|
* and not an API response validation error (ValidationOutputError).
|
|
@@ -358,6 +358,7 @@ async function promptProjectSelection(baseCtx) {
|
|
|
358
358
|
}
|
|
359
359
|
export async function createCLI(version) {
|
|
360
360
|
const program = new Command();
|
|
361
|
+
setProgram(program);
|
|
361
362
|
program
|
|
362
363
|
.name('agentuity')
|
|
363
364
|
.version(version, '-v, --version', 'Display version')
|
|
@@ -550,72 +551,6 @@ async function getRegion(regions) {
|
|
|
550
551
|
return response.region;
|
|
551
552
|
}
|
|
552
553
|
}
|
|
553
|
-
const REGIONS_CACHE_MAX_AGE_MS = 5 * 24 * 60 * 60 * 1000; // 5 days
|
|
554
|
-
const LEGACY_REGIONS_CACHE_FILE = 'regions.json';
|
|
555
|
-
function getRegionsCacheFile(profileName) {
|
|
556
|
-
return `regions-${profileName}.json`;
|
|
557
|
-
}
|
|
558
|
-
async function removeLegacyRegionsCache(logger) {
|
|
559
|
-
try {
|
|
560
|
-
const legacyPath = join(getDefaultConfigDir(), LEGACY_REGIONS_CACHE_FILE);
|
|
561
|
-
const file = Bun.file(legacyPath);
|
|
562
|
-
if (await file.exists()) {
|
|
563
|
-
await unlink(legacyPath);
|
|
564
|
-
logger.trace('removed legacy regions cache file');
|
|
565
|
-
}
|
|
566
|
-
}
|
|
567
|
-
catch {
|
|
568
|
-
// Ignore errors when removing legacy file
|
|
569
|
-
}
|
|
570
|
-
}
|
|
571
|
-
async function getCachedRegions(profileName, logger) {
|
|
572
|
-
try {
|
|
573
|
-
// Clean up legacy single-file cache from older versions
|
|
574
|
-
await removeLegacyRegionsCache(logger);
|
|
575
|
-
const cachePath = join(getDefaultConfigDir(), getRegionsCacheFile(profileName));
|
|
576
|
-
const file = Bun.file(cachePath);
|
|
577
|
-
if (!(await file.exists())) {
|
|
578
|
-
return null;
|
|
579
|
-
}
|
|
580
|
-
const data = await file.json();
|
|
581
|
-
const age = Date.now() - data.timestamp;
|
|
582
|
-
if (age > REGIONS_CACHE_MAX_AGE_MS) {
|
|
583
|
-
logger.trace('regions cache expired for profile %s (age: %dms)', profileName, age);
|
|
584
|
-
return null;
|
|
585
|
-
}
|
|
586
|
-
logger.trace('using cached regions for profile %s (age: %dms)', profileName, age);
|
|
587
|
-
return data.regions;
|
|
588
|
-
}
|
|
589
|
-
catch (error) {
|
|
590
|
-
logger.trace('failed to read regions cache for profile %s: %s', profileName, error);
|
|
591
|
-
return null;
|
|
592
|
-
}
|
|
593
|
-
}
|
|
594
|
-
async function saveRegionsCache(profileName, regions, logger) {
|
|
595
|
-
try {
|
|
596
|
-
const cacheDir = getDefaultConfigDir();
|
|
597
|
-
await mkdir(cacheDir, { recursive: true });
|
|
598
|
-
const cachePath = join(cacheDir, getRegionsCacheFile(profileName));
|
|
599
|
-
const data = {
|
|
600
|
-
timestamp: Date.now(),
|
|
601
|
-
regions,
|
|
602
|
-
};
|
|
603
|
-
await Bun.write(cachePath, JSON.stringify(data));
|
|
604
|
-
logger.trace('saved regions cache for profile %s', profileName);
|
|
605
|
-
}
|
|
606
|
-
catch (error) {
|
|
607
|
-
logger.trace('failed to save regions cache for profile %s: %s', profileName, error);
|
|
608
|
-
}
|
|
609
|
-
}
|
|
610
|
-
async function fetchRegionsWithCache(profileName, apiClient, logger) {
|
|
611
|
-
const cached = await getCachedRegions(profileName, logger);
|
|
612
|
-
if (cached) {
|
|
613
|
-
return cached;
|
|
614
|
-
}
|
|
615
|
-
const regions = await listRegions(apiClient);
|
|
616
|
-
await saveRegionsCache(profileName, regions, logger);
|
|
617
|
-
return regions;
|
|
618
|
-
}
|
|
619
554
|
async function resolveRegion(opts) {
|
|
620
555
|
const { options, regions, logger, required } = opts;
|
|
621
556
|
// No regions available
|
|
@@ -977,10 +912,25 @@ async function registerSubcommand(parent, subcommand, baseCtx, hidden) {
|
|
|
977
912
|
if (normalized.requiresOrg) {
|
|
978
913
|
ctx.orgId = await requireOrg(ctx);
|
|
979
914
|
}
|
|
980
|
-
if (
|
|
915
|
+
// Skip org handling if --no-register is set (org only needed for registration)
|
|
916
|
+
const skipOrg = normalized.optionalOrg &&
|
|
917
|
+
!normalized.requiresOrg &&
|
|
918
|
+
ctx.opts &&
|
|
919
|
+
ctx.opts.register === false;
|
|
920
|
+
if (normalized.optionalOrg && ctx.auth && !skipOrg) {
|
|
981
921
|
ctx.orgId = await selectOptionalOrg(ctx);
|
|
982
922
|
}
|
|
983
|
-
if (
|
|
923
|
+
// Skip region handling if --no-register is set (region only needed for registration)
|
|
924
|
+
const skipRegion = normalized.optionalRegion &&
|
|
925
|
+
!normalized.requiresRegion &&
|
|
926
|
+
!normalized.requiresRegions &&
|
|
927
|
+
ctx.opts &&
|
|
928
|
+
ctx.opts.register === false;
|
|
929
|
+
if ((normalized.requiresRegion ||
|
|
930
|
+
normalized.optionalRegion ||
|
|
931
|
+
normalized.requiresRegions) &&
|
|
932
|
+
ctx.apiClient &&
|
|
933
|
+
!skipRegion) {
|
|
984
934
|
const apiClient = ctx.apiClient;
|
|
985
935
|
const regions = await tui.spinner({
|
|
986
936
|
message: 'Fetching cloud regions',
|
|
@@ -989,15 +939,20 @@ async function registerSubcommand(parent, subcommand, baseCtx, hidden) {
|
|
|
989
939
|
return fetchRegionsWithCache(baseCtx.config?.name ?? defaultProfileName, apiClient, baseCtx.logger);
|
|
990
940
|
},
|
|
991
941
|
});
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
942
|
+
if (normalized.requiresRegions) {
|
|
943
|
+
ctx.regions = regions;
|
|
944
|
+
}
|
|
945
|
+
if (normalized.requiresRegion || normalized.optionalRegion) {
|
|
946
|
+
const region = await resolveRegion({
|
|
947
|
+
options: options,
|
|
948
|
+
regions,
|
|
949
|
+
logger: baseCtx.logger,
|
|
950
|
+
required: !!normalized.requiresRegion,
|
|
951
|
+
region: project?.region,
|
|
952
|
+
});
|
|
953
|
+
if (region) {
|
|
954
|
+
ctx.region = region;
|
|
955
|
+
}
|
|
1001
956
|
}
|
|
1002
957
|
}
|
|
1003
958
|
await executeOrValidate(ctx, getFullCommandPath(cmd), subcommand.handler, !!subcommand.schema?.response, subcommand.webUrl);
|
|
@@ -1038,10 +993,25 @@ async function registerSubcommand(parent, subcommand, baseCtx, hidden) {
|
|
|
1038
993
|
if (normalized.requiresOrg) {
|
|
1039
994
|
ctx.orgId = await requireOrg(ctx);
|
|
1040
995
|
}
|
|
1041
|
-
if (
|
|
996
|
+
// Skip org handling if --no-register is set (org only needed for registration)
|
|
997
|
+
const skipOrg = normalized.optionalOrg &&
|
|
998
|
+
!normalized.requiresOrg &&
|
|
999
|
+
ctx.opts &&
|
|
1000
|
+
ctx.opts.register === false;
|
|
1001
|
+
if (normalized.optionalOrg && ctx.auth && !skipOrg) {
|
|
1042
1002
|
ctx.orgId = await selectOptionalOrg(ctx);
|
|
1043
1003
|
}
|
|
1044
|
-
if (
|
|
1004
|
+
// Skip region handling if --no-register is set (region only needed for registration)
|
|
1005
|
+
const skipRegion = normalized.optionalRegion &&
|
|
1006
|
+
!normalized.requiresRegion &&
|
|
1007
|
+
!normalized.requiresRegions &&
|
|
1008
|
+
ctx.opts &&
|
|
1009
|
+
ctx.opts.register === false;
|
|
1010
|
+
if ((normalized.requiresRegion ||
|
|
1011
|
+
normalized.optionalRegion ||
|
|
1012
|
+
normalized.requiresRegions) &&
|
|
1013
|
+
ctx.apiClient &&
|
|
1014
|
+
!skipRegion) {
|
|
1045
1015
|
const apiClient = ctx.apiClient;
|
|
1046
1016
|
const regions = await tui.spinner({
|
|
1047
1017
|
message: 'Fetching cloud regions',
|
|
@@ -1050,15 +1020,20 @@ async function registerSubcommand(parent, subcommand, baseCtx, hidden) {
|
|
|
1050
1020
|
return fetchRegionsWithCache(baseCtx.config?.name ?? defaultProfileName, apiClient, baseCtx.logger);
|
|
1051
1021
|
},
|
|
1052
1022
|
});
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1023
|
+
if (normalized.requiresRegions) {
|
|
1024
|
+
ctx.regions = regions;
|
|
1025
|
+
}
|
|
1026
|
+
if (normalized.requiresRegion || normalized.optionalRegion) {
|
|
1027
|
+
const region = await resolveRegion({
|
|
1028
|
+
options: options,
|
|
1029
|
+
regions,
|
|
1030
|
+
logger: baseCtx.logger,
|
|
1031
|
+
required: !!normalized.requiresRegion,
|
|
1032
|
+
region: project?.region,
|
|
1033
|
+
});
|
|
1034
|
+
if (region) {
|
|
1035
|
+
ctx.region = region;
|
|
1036
|
+
}
|
|
1062
1037
|
}
|
|
1063
1038
|
}
|
|
1064
1039
|
if (subcommand.handler) {
|
|
@@ -1088,7 +1063,9 @@ async function registerSubcommand(parent, subcommand, baseCtx, hidden) {
|
|
|
1088
1063
|
if (normalized.requiresAPIClient) {
|
|
1089
1064
|
baseCtx.apiClient = createAPIClient(baseCtx, baseCtx.config ?? null);
|
|
1090
1065
|
}
|
|
1091
|
-
|
|
1066
|
+
// Check if --confirm flag or --no-register flag is set to skip interactive prompts
|
|
1067
|
+
const skipPrompts = options.confirm === true || options.register === false;
|
|
1068
|
+
const auth = await optionalAuth(baseCtx, continueText, skipPrompts);
|
|
1092
1069
|
if (subcommand.schema) {
|
|
1093
1070
|
try {
|
|
1094
1071
|
const input = buildValidationInput(subcommand.schema, args, options);
|
|
@@ -1126,13 +1103,24 @@ async function registerSubcommand(parent, subcommand, baseCtx, hidden) {
|
|
|
1126
1103
|
if (normalized.requiresOrg && ctx.apiClient) {
|
|
1127
1104
|
ctx.orgId = await requireOrg(ctx);
|
|
1128
1105
|
}
|
|
1129
|
-
if (
|
|
1106
|
+
// Skip org handling if --no-register is set (org only needed for registration)
|
|
1107
|
+
const skipOrg = normalized.optionalOrg &&
|
|
1108
|
+
!normalized.requiresOrg &&
|
|
1109
|
+
ctx.opts &&
|
|
1110
|
+
ctx.opts.register === false;
|
|
1111
|
+
if (normalized.optionalOrg && ctx.apiClient && auth && !skipOrg) {
|
|
1130
1112
|
ctx.orgId = await selectOptionalOrg(ctx);
|
|
1131
1113
|
baseCtx.logger.trace('selected orgId: %s', ctx.orgId);
|
|
1132
1114
|
}
|
|
1115
|
+
// Skip region handling if --no-register is set (region only needed for registration)
|
|
1116
|
+
const skipRegion = normalized.optionalRegion &&
|
|
1117
|
+
!normalized.requiresRegion &&
|
|
1118
|
+
ctx.opts &&
|
|
1119
|
+
ctx.opts.register === false;
|
|
1133
1120
|
if ((normalized.requiresRegion || normalized.optionalRegion) &&
|
|
1134
1121
|
ctx.apiClient &&
|
|
1135
|
-
auth
|
|
1122
|
+
auth &&
|
|
1123
|
+
!skipRegion) {
|
|
1136
1124
|
const apiClient = ctx.apiClient;
|
|
1137
1125
|
const regions = await tui.spinner({
|
|
1138
1126
|
message: 'Fetching cloud regions',
|
|
@@ -1189,10 +1177,19 @@ async function registerSubcommand(parent, subcommand, baseCtx, hidden) {
|
|
|
1189
1177
|
if (normalized.requiresOrg && ctx.apiClient) {
|
|
1190
1178
|
ctx.orgId = await requireOrg(ctx);
|
|
1191
1179
|
}
|
|
1192
|
-
if (
|
|
1180
|
+
// Skip org handling if --no-register is set (org only needed for registration)
|
|
1181
|
+
// For non-schema commands, check options directly (Commander passes all options)
|
|
1182
|
+
const skipOrg = normalized.optionalOrg &&
|
|
1183
|
+
!normalized.requiresOrg &&
|
|
1184
|
+
options.register === false;
|
|
1185
|
+
if (normalized.optionalOrg && ctx.apiClient && !skipOrg) {
|
|
1193
1186
|
ctx.orgId = await selectOptionalOrg(ctx);
|
|
1194
1187
|
}
|
|
1195
|
-
if (
|
|
1188
|
+
// Skip region handling if --no-register is set (region only needed for registration)
|
|
1189
|
+
const skipRegion = normalized.optionalRegion &&
|
|
1190
|
+
!normalized.requiresRegion &&
|
|
1191
|
+
options.register === false;
|
|
1192
|
+
if ((normalized.requiresRegion || normalized.optionalRegion) && ctx.apiClient && !skipRegion) {
|
|
1196
1193
|
const apiClient = ctx.apiClient;
|
|
1197
1194
|
const regions = await tui.spinner({
|
|
1198
1195
|
message: 'Fetching cloud regions',
|