@forge/cli-shared 8.4.0 → 8.5.0-experimental-73629cc
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/CHANGELOG.md +99 -0
- package/out/graphql/graphql-types.d.ts +5707 -151
- package/out/graphql/graphql-types.d.ts.map +1 -1
- package/out/graphql/graphql-types.js +556 -28
- package/out/service/statsig-service.d.ts +2 -1
- package/out/service/statsig-service.d.ts.map +1 -1
- package/out/service/statsig-service.js +6 -0
- package/out/shared/assistant-cli.d.ts +14 -0
- package/out/shared/assistant-cli.d.ts.map +1 -0
- package/out/shared/assistant-cli.js +73 -0
- package/out/shared/error-handling.d.ts +5 -1
- package/out/shared/error-handling.d.ts.map +1 -1
- package/out/shared/error-handling.js +5 -1
- package/out/shared/index.d.ts +1 -0
- package/out/shared/index.d.ts.map +1 -1
- package/out/shared/index.js +1 -0
- package/out/shared/test.d.ts.map +1 -1
- package/out/shared/test.js +1 -2
- package/out/tunnel/tunnel-options.d.ts +1 -0
- package/out/tunnel/tunnel-options.d.ts.map +1 -1
- package/out/ui/text.d.ts +21 -2
- package/out/ui/text.d.ts.map +1 -1
- package/out/ui/text.js +48 -27
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CLIDetails, ConfigSectionReader, CredentialGetter, getEnvironmentConfig, Logger } from '../index';
|
|
2
|
-
export declare type FeatureGate = 'forge-cli-test-gate' | 'is-logs-v-2-api-enabled' | 'forge-cli-bundle-runtime-loader' | 'forge-cli-enable-atlas-product-support' | 'forge-cli-enable-teamwork-graph-product-support' | 'forge-cli-enable-xpa-installation' | 'forge-cli-enable-developer-space-flow';
|
|
2
|
+
export declare type FeatureGate = 'forge-cli-test-gate' | 'is-logs-v-2-api-enabled' | 'forge-cli-bundle-runtime-loader' | 'forge-cli-enable-atlas-product-support' | 'forge-cli-enable-teamwork-graph-product-support' | 'forge-cli-enable-xpa-installation' | 'forge-cli-enable-developer-space-flow' | 'forge-cli-enable-typescript-bundler';
|
|
3
3
|
export declare type DynamicConfig = {
|
|
4
4
|
'forge-cli-test-dynamic-configs': string[];
|
|
5
5
|
'xls-forge-cli-deprecated-runtimes': string[];
|
|
@@ -17,6 +17,7 @@ export declare abstract class StatsigReader {
|
|
|
17
17
|
enableCrossProductAppInstallation(): Promise<boolean>;
|
|
18
18
|
getDeprecatedRuntimes(): Promise<string[]>;
|
|
19
19
|
isDevSpaceSelectionEnabled(): Promise<boolean>;
|
|
20
|
+
isTypescriptBundlerEnabled(): Promise<boolean>;
|
|
20
21
|
}
|
|
21
22
|
export declare function cacheStatsigResult<C, T>(getter: (this: C, ...args: any[]) => Promise<T>): (this: C, ...args: any[]) => Promise<T>;
|
|
22
23
|
export declare class StatsigService extends StatsigReader {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statsig-service.d.ts","sourceRoot":"","sources":["../../src/service/statsig-service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EAEpB,MAAM,EACP,MAAM,UAAU,CAAC;AAElB,oBAAY,WAAW,GACnB,qBAAqB,GACrB,yBAAyB,GACzB,iCAAiC,GACjC,wCAAwC,GACxC,iDAAiD,GACjD,mCAAmC,GACnC,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"statsig-service.d.ts","sourceRoot":"","sources":["../../src/service/statsig-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,8 +31,14 @@ class StatsigReader {
|
|
|
31
31
|
if (process.env.FORGE_CLI_DISABLE_DEV_SPACE === 'true') {
|
|
32
32
|
return false;
|
|
33
33
|
}
|
|
34
|
+
else if (process.env.FORGE_CLI_DISABLE_DEV_SPACE === 'false') {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
34
37
|
return (await this.checkGate('forge-cli-enable-developer-space-flow')) ?? false;
|
|
35
38
|
}
|
|
39
|
+
async isTypescriptBundlerEnabled() {
|
|
40
|
+
return (await this.checkGate('forge-cli-enable-typescript-bundler')) ?? false;
|
|
41
|
+
}
|
|
36
42
|
}
|
|
37
43
|
exports.StatsigReader = StatsigReader;
|
|
38
44
|
var STATSIG_API_KEYS;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Logger } from '../ui';
|
|
2
|
+
export declare const ASSISTANT_ANALYZE_TIMEOUT = 300000;
|
|
3
|
+
export declare const ASSISTANT_CHECK_TIMEOUT = 30000;
|
|
4
|
+
export declare enum AssistantName {
|
|
5
|
+
ROVO = "rovo",
|
|
6
|
+
GEMINI = "gemini"
|
|
7
|
+
}
|
|
8
|
+
export declare function createForgeTunnelErrorPrompt(error: string): string;
|
|
9
|
+
export declare function createUnknownForgeCommandPrompt(command: string, errorText: string): string;
|
|
10
|
+
export declare function createForgeCommandErrorPrompt(command: string, error: unknown): string;
|
|
11
|
+
export declare function checkRovoAuthStatus(): Promise<boolean>;
|
|
12
|
+
export declare function checkGeminiSetup(): Promise<boolean>;
|
|
13
|
+
export declare function runAssistant(prompt: string, assistantName: string, logger: Logger): Promise<void>;
|
|
14
|
+
//# sourceMappingURL=assistant-cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assistant-cli.d.ts","sourceRoot":"","sources":["../../src/shared/assistant-cli.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG/B,eAAO,MAAM,yBAAyB,SAAS,CAAC;AAChD,eAAO,MAAM,uBAAuB,QAAQ,CAAC;AAG7C,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,MAAM,WAAW;CAClB;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1F;AAQD,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAErF;AA6BD,wBAAgB,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAEtD;AAED,wBAAgB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAEnD;AAqCD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUjG"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runAssistant = exports.checkGeminiSetup = exports.checkRovoAuthStatus = exports.createForgeCommandErrorPrompt = exports.createUnknownForgeCommandPrompt = exports.createForgeTunnelErrorPrompt = exports.AssistantName = exports.ASSISTANT_CHECK_TIMEOUT = exports.ASSISTANT_ANALYZE_TIMEOUT = void 0;
|
|
4
|
+
const child_process_1 = require("child_process");
|
|
5
|
+
exports.ASSISTANT_ANALYZE_TIMEOUT = 300000;
|
|
6
|
+
exports.ASSISTANT_CHECK_TIMEOUT = 30000;
|
|
7
|
+
var AssistantName;
|
|
8
|
+
(function (AssistantName) {
|
|
9
|
+
AssistantName["ROVO"] = "rovo";
|
|
10
|
+
AssistantName["GEMINI"] = "gemini";
|
|
11
|
+
})(AssistantName = exports.AssistantName || (exports.AssistantName = {}));
|
|
12
|
+
function createForgeTunnelErrorPrompt(error) {
|
|
13
|
+
return `Do not try to change the code, just analyze the issue and make a suggestion to fix the error. Analyze why when the Forge function resolver code is executed, there is error ${error}. This is likely because of some bug in the app code`;
|
|
14
|
+
}
|
|
15
|
+
exports.createForgeTunnelErrorPrompt = createForgeTunnelErrorPrompt;
|
|
16
|
+
function createUnknownForgeCommandPrompt(command, errorText) {
|
|
17
|
+
return `Do not try to change the code, just analyze the issue and make a suggestion to fix the error. Analyze why when I run the Forge command${command} and has the unknown command error ${errorText}. This is likely because of syntax error in the command. You can refer to https://developer.atlassian.com/platform/forge/cli-reference/ for the CLI reference. Try to suggest a valid command based on the intention.`;
|
|
18
|
+
}
|
|
19
|
+
exports.createUnknownForgeCommandPrompt = createUnknownForgeCommandPrompt;
|
|
20
|
+
function createForgeCommandErrorPrompt(command, error) {
|
|
21
|
+
return `Do not try to change the code, just analyze the issue and make a suggestion to fix the error. Analyze why when I run the command ${command} and I have the error ${error}`;
|
|
22
|
+
}
|
|
23
|
+
exports.createForgeCommandErrorPrompt = createForgeCommandErrorPrompt;
|
|
24
|
+
function checkCommandAvailability(command, args) {
|
|
25
|
+
return new Promise((resolve) => {
|
|
26
|
+
const childProcess = (0, child_process_1.spawn)(command, args, {
|
|
27
|
+
stdio: 'pipe',
|
|
28
|
+
timeout: exports.ASSISTANT_CHECK_TIMEOUT
|
|
29
|
+
});
|
|
30
|
+
childProcess.on('close', (code) => {
|
|
31
|
+
resolve(code === 0);
|
|
32
|
+
});
|
|
33
|
+
childProcess.on('error', () => {
|
|
34
|
+
resolve(false);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
function checkRovoAuthStatus() {
|
|
39
|
+
return checkCommandAvailability('acli', ['rovodev', 'auth', 'status']);
|
|
40
|
+
}
|
|
41
|
+
exports.checkRovoAuthStatus = checkRovoAuthStatus;
|
|
42
|
+
function checkGeminiSetup() {
|
|
43
|
+
return checkCommandAvailability('gemini', ['--help']);
|
|
44
|
+
}
|
|
45
|
+
exports.checkGeminiSetup = checkGeminiSetup;
|
|
46
|
+
function runAssistantCommand(assistantName, command, args, logger) {
|
|
47
|
+
return new Promise((resolve) => {
|
|
48
|
+
logger.info(`Sending error to ${assistantName} for analysis...`);
|
|
49
|
+
const childProcess = (0, child_process_1.spawn)(command, args, {
|
|
50
|
+
stdio: 'inherit',
|
|
51
|
+
timeout: exports.ASSISTANT_ANALYZE_TIMEOUT
|
|
52
|
+
});
|
|
53
|
+
childProcess.on('close', () => {
|
|
54
|
+
resolve();
|
|
55
|
+
});
|
|
56
|
+
childProcess.on('error', (error) => {
|
|
57
|
+
logger.error(new Error(`Failed to start ${assistantName.toLowerCase()}: ${error.message}`));
|
|
58
|
+
resolve();
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
function runAssistant(prompt, assistantName, logger) {
|
|
63
|
+
switch (assistantName) {
|
|
64
|
+
case AssistantName.ROVO:
|
|
65
|
+
return runAssistantCommand(AssistantName.ROVO, 'acli', ['rovodev', prompt], logger);
|
|
66
|
+
case AssistantName.GEMINI:
|
|
67
|
+
return runAssistantCommand(AssistantName.GEMINI, 'gemini', ['-p', prompt], logger);
|
|
68
|
+
default:
|
|
69
|
+
logger.error(new Error(`Unknown assistant: ${assistantName}`));
|
|
70
|
+
return Promise.resolve();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.runAssistant = runAssistant;
|
|
@@ -21,7 +21,11 @@ export declare class UserError extends BaseError {
|
|
|
21
21
|
export declare class HiddenError extends BaseError {
|
|
22
22
|
constructor(message?: string, requestId?: string | undefined);
|
|
23
23
|
}
|
|
24
|
-
export
|
|
24
|
+
export interface AutoAnalyzeErrorInput {
|
|
25
|
+
assistantName?: string;
|
|
26
|
+
prompt?: string;
|
|
27
|
+
}
|
|
28
|
+
export declare const exitOnError: (logger: Logger, error: Error, hint?: string | null, autoAnalyzeErrorInput?: AutoAnalyzeErrorInput) => Promise<never>;
|
|
25
29
|
export declare const wrapError: (error: unknown) => Error;
|
|
26
30
|
export declare const assertIsError: (error: unknown) => asserts error is Error;
|
|
27
31
|
export declare class ValidationError extends UserError {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-handling.d.ts","sourceRoot":"","sources":["../../src/shared/error-handling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"error-handling.d.ts","sourceRoot":"","sources":["../../src/shared/error-handling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAK/B,oBAAY,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,GAAG,SAAS,CAAC,GAAG;IACrF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAKF,MAAM,WAAW,kBAAkB;IACjC,aAAa,IAAI,cAAc,CAAC;CACjC;AAMD,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAe3C;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,GAAG,GAAG,cAAc,CAOzD;AAED,qBAAa,SAAU,SAAQ,KAAM,YAAW,kBAAkB;IAE9D,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAV,SAAS,CAAC,oBAAoB,EACjD,OAAO,CAAC,EAAE,MAAM;IAKX,aAAa,IAAI,cAAc;IAM/B,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,SAAU,SAAQ,SAAS;gBAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS;IAIrD,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,WAAY,SAAQ,SAAS;gBAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS;CAG7D;AAUD,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AASD,eAAO,MAAM,WAAW,WACd,MAAM,SACP,KAAK,SACL,MAAM,GAAG,IAAI,0BACI,qBAAqB,KAC5C,QAAQ,KAAK,CAmCf,CAAC;AAOF,eAAO,MAAM,SAAS,UAAW,OAAO,KAAG,KAK1C,CAAC;AAMF,eAAO,MAAM,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,KAAK,IAAI,KAIhE,CAAC;AAEF,qBAAa,eAAgB,SAAQ,SAAS;CAAG;AAEjD,qBAAa,cAAe,SAAQ,SAAS;CAAG;AAEhD,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,qBAAa,uBAAwB,SAAQ,SAAS;CAAG;AAEzD,qBAAa,aAAc,SAAQ,SAAS;IAGxC,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAD3B,OAAO,CAAC,EAAE,MAAM,EACC,UAAU,GAAE,OAAe;IAKvC,WAAW;CAGnB;AAUD,qBAAa,wBAAyB,SAAQ,SAAS;gBAMzC,OAAO,CAAC,EAAE,MAAM;CAG7B;AAUD,qBAAa,mBAAoB,SAAQ,SAAS;gBAMpC,OAAO,CAAC,EAAE,MAAM;CAG7B"}
|
|
@@ -4,6 +4,7 @@ exports.MissingCreatorError = exports.PartialInstallationError = exports.UIPromp
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const ui_1 = require("../ui");
|
|
6
6
|
const Sentry = tslib_1.__importStar(require("@sentry/node"));
|
|
7
|
+
const assistant_cli_1 = require("./assistant-cli");
|
|
7
8
|
function isErrorWithAnalytics(e) {
|
|
8
9
|
return e.getAttributes !== undefined;
|
|
9
10
|
}
|
|
@@ -66,7 +67,7 @@ function removePrefixFromErrorMessage(message) {
|
|
|
66
67
|
}
|
|
67
68
|
return message;
|
|
68
69
|
}
|
|
69
|
-
const exitOnError = async (logger, error, hint) => {
|
|
70
|
+
const exitOnError = async (logger, error, hint, autoAnalyzeErrorInput) => {
|
|
70
71
|
let exitCode = 0;
|
|
71
72
|
Sentry.withScope((scope) => {
|
|
72
73
|
scope.setTag('userError', isUserError(error));
|
|
@@ -85,6 +86,9 @@ const exitOnError = async (logger, error, hint) => {
|
|
|
85
86
|
}
|
|
86
87
|
exitCode = 1;
|
|
87
88
|
await Sentry.close();
|
|
89
|
+
if (autoAnalyzeErrorInput?.prompt && autoAnalyzeErrorInput?.assistantName) {
|
|
90
|
+
await (0, assistant_cli_1.runAssistant)(autoAnalyzeErrorInput.prompt, autoAnalyzeErrorInput.assistantName, logger);
|
|
91
|
+
}
|
|
88
92
|
process.exit(exitCode);
|
|
89
93
|
};
|
|
90
94
|
exports.exitOnError = exitOnError;
|
package/out/shared/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAEA,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,QAAQ,CAAC;AAEvB,OAAO,OAAO,MAAM,yBAAyB,CAAC;AAC9C,QAAA,MAAM,IAAI,0BAAqD,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAEA,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,QAAQ,CAAC;AAEvB,OAAO,OAAO,MAAM,yBAAyB,CAAC;AAC9C,QAAA,MAAM,IAAI,0BAAqD,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC"}
|
package/out/shared/index.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.flat = exports.flatMap = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
tslib_1.__exportStar(require("./assertUnreachable"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./assistant-cli"), exports);
|
|
6
7
|
tslib_1.__exportStar(require("./cli-details"), exports);
|
|
7
8
|
tslib_1.__exportStar(require("./directories"), exports);
|
|
8
9
|
tslib_1.__exportStar(require("./environment"), exports);
|
package/out/shared/test.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/shared/test.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG/B,wBAAgB,UAAU,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,GAAG,MAAM,CAU/E;AAED,aAAK,OAAO,GAAG;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC/C,CAAC;AAEF,wBAAsB,aAAa,CAAC,EAClC,QAAQ,EACR,gBAA0B,EAC1B,QAAQ,EACR,cAAsB,EACvB,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/shared/test.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG/B,wBAAgB,UAAU,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,GAAG,MAAM,CAU/E;AAED,aAAK,OAAO,GAAG;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC/C,CAAC;AAEF,wBAAsB,aAAa,CAAC,EAClC,QAAQ,EACR,gBAA0B,EAC1B,QAAQ,EACR,cAAsB,EACvB,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,OAAO,CAAC,OAAO,CAAC,CA8CnB"}
|
package/out/shared/test.js
CHANGED
|
@@ -41,8 +41,7 @@ async function createTestApp({ userCode, userCodeFilename = 'index', packages, w
|
|
|
41
41
|
src = path_1.default.join(monorepoNodeModules, pkg);
|
|
42
42
|
}
|
|
43
43
|
const dest = path_1.default.join(appDirectory, 'node_modules', pkg);
|
|
44
|
-
await (0, fs_extra_1.
|
|
45
|
-
await (0, fs_extra_1.copy)(src, dest);
|
|
44
|
+
await (0, fs_extra_1.ensureSymlink)(src, dest);
|
|
46
45
|
}
|
|
47
46
|
if (withI18nBundle) {
|
|
48
47
|
const localeFolder = 'locales';
|
|
@@ -7,6 +7,7 @@ export declare type TunnelCommandOptions = {
|
|
|
7
7
|
};
|
|
8
8
|
export declare type TunnelOptions = Omit<TunnelCommandOptions, 'debugStartingPort'> & {
|
|
9
9
|
debugStartingPort: number;
|
|
10
|
+
assistantName?: string | null;
|
|
10
11
|
};
|
|
11
12
|
export declare const defaultDebugStartingPort = 9229;
|
|
12
13
|
export declare const TUNNEL_BUNDLE_DIRECTORY: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tunnel-options.d.ts","sourceRoot":"","sources":["../../src/tunnel/tunnel-options.ts"],"names":[],"mappings":"AAIA,oBAAY,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,oBAAY,aAAa,GAAG,IAAI,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,GAAG;
|
|
1
|
+
{"version":3,"file":"tunnel-options.d.ts","sourceRoot":"","sources":["../../src/tunnel/tunnel-options.ts"],"names":[],"mappings":"AAIA,oBAAY,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,oBAAY,aAAa,GAAG,IAAI,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,GAAG;IAC5E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAC7C,eAAO,MAAM,uBAAuB,QAA8C,CAAC;AACnF,eAAO,MAAM,2BAA2B,EAAE,aAGzC,CAAC"}
|
package/out/ui/text.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ export interface ListScope {
|
|
|
9
9
|
export declare function itemList(items: string[], indent?: string): string;
|
|
10
10
|
export declare const capitalise: (word: string) => string;
|
|
11
11
|
export declare const Text: {
|
|
12
|
+
buildTerminalLink: (text: string) => string;
|
|
13
|
+
go: (link: string) => string;
|
|
12
14
|
error: {
|
|
13
15
|
noKeytar: string;
|
|
14
16
|
noTokenStored: string;
|
|
@@ -225,7 +227,7 @@ export declare const Text: {
|
|
|
225
227
|
noSpacesFound: (command: string, documentationLink: string) => string;
|
|
226
228
|
selectPrompt: string;
|
|
227
229
|
assignmentInfo: string;
|
|
228
|
-
selectionPrompt: string;
|
|
230
|
+
selectionPrompt: (documentationLink: string) => string;
|
|
229
231
|
createNewOption: string;
|
|
230
232
|
createContinuePrompt: string;
|
|
231
233
|
createNewSpaceInfo: (documentationLink: string) => string;
|
|
@@ -704,12 +706,14 @@ export declare const Text: {
|
|
|
704
706
|
bannerSite: string;
|
|
705
707
|
bannerWorkspace: string;
|
|
706
708
|
devAppInstallWarning: string;
|
|
709
|
+
majorVersionIsNotLatest: (versionToInstall: string) => string;
|
|
707
710
|
devAppInstallConfirm: string;
|
|
708
711
|
optionConfirmScopes: string;
|
|
709
712
|
optionUpgrade: string;
|
|
710
713
|
optionLicense: string;
|
|
711
714
|
optionLicenseModes: string;
|
|
712
715
|
optionUsersWithAccess: string;
|
|
716
|
+
optionMajorVersion: string;
|
|
713
717
|
listScopes: (scopes: ListScope[]) => string;
|
|
714
718
|
listEgressAddresses: (egressAddresses: string[]) => string;
|
|
715
719
|
permissionsMismatch: (environment: string) => string;
|
|
@@ -725,10 +729,13 @@ export declare const Text: {
|
|
|
725
729
|
url: (url: string) => string;
|
|
726
730
|
site: (url: string) => string;
|
|
727
731
|
alreadyInstalledError: string;
|
|
732
|
+
alreadyInstalledErrorWithMajorVersion: (envKey: string, envType: AppEnvironmentType) => string;
|
|
728
733
|
serverSideInstallationError: (message: string) => string;
|
|
729
734
|
noDeploymentFound: (environment: string) => string;
|
|
730
735
|
permissionsDeniedInstructions: (requestId: string, appId: string) => string;
|
|
731
736
|
appendRequestIdToErrorMessage: (message: string | undefined, requestId: string) => string;
|
|
737
|
+
majorVersionNotFound: string;
|
|
738
|
+
majorVersionAndUpgrade: string;
|
|
732
739
|
};
|
|
733
740
|
failedAll: (site: URL, environment: string) => string;
|
|
734
741
|
security: {
|
|
@@ -948,7 +955,6 @@ export declare const Text: {
|
|
|
948
955
|
listingImages: (key: string) => string;
|
|
949
956
|
noImagesFound: string;
|
|
950
957
|
promptNextPage: string;
|
|
951
|
-
confirmationForNextPage: string;
|
|
952
958
|
};
|
|
953
959
|
};
|
|
954
960
|
login: {
|
|
@@ -1052,6 +1058,19 @@ export declare const Text: {
|
|
|
1052
1058
|
info: string;
|
|
1053
1059
|
};
|
|
1054
1060
|
};
|
|
1061
|
+
assistant: {
|
|
1062
|
+
description: string;
|
|
1063
|
+
on: {
|
|
1064
|
+
description: string;
|
|
1065
|
+
};
|
|
1066
|
+
off: {
|
|
1067
|
+
description: string;
|
|
1068
|
+
};
|
|
1069
|
+
enabled: (assistantName: string) => string;
|
|
1070
|
+
disabled: string;
|
|
1071
|
+
alreadyDisabled: string;
|
|
1072
|
+
enableConfirmation: string;
|
|
1073
|
+
};
|
|
1055
1074
|
nonInteractive: {
|
|
1056
1075
|
description: string;
|
|
1057
1076
|
error: {
|
package/out/ui/text.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/ui/text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAI9D,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAErC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/ui/text.ts"],"names":[],"mappings":"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"}
|
package/out/ui/text.js
CHANGED
|
@@ -12,10 +12,11 @@ const cli_details_1 = require("../shared/cli-details");
|
|
|
12
12
|
const environment_1 = require("../shared/environment");
|
|
13
13
|
const manifest_1 = require("@forge/manifest");
|
|
14
14
|
const ctrlC = 'Press Ctrl+C to cancel.';
|
|
15
|
-
const gettingStartedDACLink = 'https://go.atlassian.com/dac/platform/forge/getting-started/#log-in-with-an-atlassian-api-token';
|
|
16
15
|
const encryptedValue = '****';
|
|
17
16
|
const greenTick = `${chalk_1.default.bold(chalk_1.default.green('✔'))}`;
|
|
18
17
|
const buildTerminalLink = (text) => (0, terminal_link_1.default)(chalk_1.default.bold(text), text, { fallback: () => chalk_1.default.underline.bold(text) });
|
|
18
|
+
const go = (link) => buildTerminalLink(`https://go.atlassian.com/${link}`);
|
|
19
|
+
const gettingStartedDACLink = go('dac/platform/forge/getting-started/#log-in-with-an-atlassian-api-token');
|
|
19
20
|
const command = (...args) => chalk_1.default.bold(args.join(' '));
|
|
20
21
|
const forge = (...args) => command('forge', ...args);
|
|
21
22
|
const autoSpaceSentences = (...sentences) => sentences
|
|
@@ -48,9 +49,11 @@ const platformKeytarRecommendations = () => {
|
|
|
48
49
|
}
|
|
49
50
|
};
|
|
50
51
|
exports.Text = {
|
|
52
|
+
buildTerminalLink,
|
|
53
|
+
go,
|
|
51
54
|
error: {
|
|
52
|
-
noKeytar: autoSpaceSentences(`The CLI couldn't securely store your login credentials in a local keychain.`, platformKeytarRecommendations(), `If a local keychain is not available, use environment variables before trying again. See ${
|
|
53
|
-
noTokenStored: `Not logged in. If a local keychain is available, run ${forge('login')}, otherwise set environment variables before trying again. See ${
|
|
55
|
+
noKeytar: autoSpaceSentences(`The CLI couldn't securely store your login credentials in a local keychain.`, platformKeytarRecommendations(), `If a local keychain is not available, use environment variables before trying again. See ${gettingStartedDACLink} for more.`),
|
|
56
|
+
noTokenStored: `Not logged in. If a local keychain is available, run ${forge('login')}, otherwise set environment variables before trying again. See ${gettingStartedDACLink} for more.`,
|
|
54
57
|
keytarAccessError: {
|
|
55
58
|
other: (message) => keytarAccessErrorBase(message),
|
|
56
59
|
mac: (message) => keytarAccessErrorBase(message) +
|
|
@@ -102,7 +105,7 @@ exports.Text = {
|
|
|
102
105
|
warning: {
|
|
103
106
|
plaintextCredentialsFound: (url) => `Your credentials were stored in plaintext by a previous version of the Forge CLI. For additional security, revoke your existing API token by visting this URL ${buildTerminalLink(url)}.`,
|
|
104
107
|
plaintextCredentialsMigrated: 'The credentials found in plaintext have been migrated to your local keychain.',
|
|
105
|
-
plaintextCredentialsNotMigrated: autoSpaceSentences(`The CLI couldn't securely store your login credentials in a local keychain.`, platformKeytarRecommendations(), `If a local keychain is not available, use environment variables instead. See ${
|
|
108
|
+
plaintextCredentialsNotMigrated: autoSpaceSentences(`The CLI couldn't securely store your login credentials in a local keychain.`, platformKeytarRecommendations(), `If a local keychain is not available, use environment variables instead. See ${gettingStartedDACLink} for more information.`),
|
|
106
109
|
unsupportedNodeVersion: (_userNodeVersion, supportedNodeVersions) => log_color_1.LogColor.warn(`Warning: Forge CLI supports Node.js ${supportedNodeVersions}.` +
|
|
107
110
|
`\nUnsupported Node.js versions are not guaranteed to work correctly.\n`),
|
|
108
111
|
deprecation: {
|
|
@@ -217,9 +220,9 @@ exports.Text = {
|
|
|
217
220
|
action: {
|
|
218
221
|
start: `Help us make Forge even better.
|
|
219
222
|
|
|
220
|
-
For any questions, post them on:
|
|
223
|
+
For any questions, post them on: ${go('developer-community')}
|
|
221
224
|
|
|
222
|
-
To report bugs or issues, go to:
|
|
225
|
+
To report bugs or issues, go to: ${go('forge-project')}
|
|
223
226
|
|
|
224
227
|
What do you like or don't like about Forge? Share your feedback below or press Ctrl+C to cancel.
|
|
225
228
|
`,
|
|
@@ -242,7 +245,7 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
242
245
|
introWithCurrentDirectory: (currentDirectory) => `Creating an app in your current directory:\n\n ${chalk_1.default.bold(currentDirectory)}\n`,
|
|
243
246
|
optionTemplate: 'specify the template to use',
|
|
244
247
|
optionDirectory: 'specify the directory to create (uses the template name by default)',
|
|
245
|
-
optionSpace: 'specify the
|
|
248
|
+
optionSpace: 'specify the Developer Space id to use',
|
|
246
249
|
overviewAppName: `\nName your app. The app name can include dashes, spaces, and underscores.\n`,
|
|
247
250
|
overviewTemplates: '\nStart with a template. Each template contains the required files to be a valid app.\n',
|
|
248
251
|
waitTemplates: 'Getting template list...',
|
|
@@ -282,29 +285,29 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
282
285
|
}
|
|
283
286
|
},
|
|
284
287
|
devSpace: {
|
|
285
|
-
fetching: 'Fetching your
|
|
286
|
-
documentationLink: 'https://
|
|
287
|
-
noSpacesFound: (command, documentationLink) => `You are not currently a member of a Developer Space. You must be a member of a Developer
|
|
288
|
+
fetching: 'Fetching your Developer Spaces...',
|
|
289
|
+
documentationLink: 'https://developer.atlassian.com/platform/forge/developer-space/developer-spaces-introduction',
|
|
290
|
+
noSpacesFound: (command, documentationLink) => `You are not currently a member of a Developer Space. You must be a member of a Developer Space to ${command} an app. Please contact an admin to be added to an existing space or create a new one. To learn more about your Developer Space, go to: ${documentationLink}\n`,
|
|
288
291
|
selectPrompt: 'Select or create a Developer Space:',
|
|
289
292
|
assignmentInfo: 'You are about to assign your app to a Developer Space. Once you assign your app to the selected Developer Space, all usage and billing for the app will be managed through this space.',
|
|
290
|
-
selectionPrompt:
|
|
293
|
+
selectionPrompt: (documentationLink) => `Please select the Developer Space you want to assign your app to. To learn more about your Developer Space, go to: ${documentationLink}`,
|
|
291
294
|
createNewOption: 'Create a new Developer Space',
|
|
292
295
|
createContinuePrompt: 'Do you want to continue?',
|
|
293
296
|
createNewSpaceInfo: (documentationLink) => `\nA new Developer Space will now be created for you. To learn more about your Developer Space, go to: \n${documentationLink}`,
|
|
294
|
-
createMessage: '
|
|
297
|
+
createMessage: 'Name your Developer Space. The name must be unique and can include dashes, spaces, and underscores.\n',
|
|
295
298
|
createPrompt: 'Enter a name for your Developer Space:',
|
|
296
299
|
nameRequired: 'Developer Space name is required.',
|
|
297
300
|
createInProgress: 'Creating your Developer Space...',
|
|
298
301
|
contributingToSpace: (name) => `${greenTick} You are contributing to this Developer Space: ${name}.\n`,
|
|
299
302
|
assigningToSpace: (name) => `${greenTick} You are assigning your app to this Developer Space: ${name}.\n`,
|
|
300
303
|
createdAndContributing: (name) => `A Developer Space has been created for you. You are contributing to this Developer Space: ${name}.`,
|
|
301
|
-
invalidSpaceName: (spaceName) => `Developer
|
|
302
|
-
invalidSpaceId: (spaceId) => `Developer
|
|
304
|
+
invalidSpaceName: (spaceName) => `The Developer Space does not exist, or you don't have the correct permissions to access it.`,
|
|
305
|
+
invalidSpaceId: (spaceId) => `Developer Space id is not a valid UUID.`,
|
|
303
306
|
error: {
|
|
304
|
-
fetchOrSelect: (errorMessage) => `Failed to fetch or select
|
|
305
|
-
create: (errorMessage) => `Failed to create
|
|
306
|
-
selectedNotFound: 'Selected
|
|
307
|
-
nameAlreadyExists: chalk_1.default.red('\nError: The name you have entered for your
|
|
307
|
+
fetchOrSelect: (errorMessage) => `Failed to fetch or select Developer Space: ${errorMessage}`,
|
|
308
|
+
create: (errorMessage) => `Failed to create Developer Space: ${errorMessage}`,
|
|
309
|
+
selectedNotFound: 'Selected Developer Space not found',
|
|
310
|
+
nameAlreadyExists: chalk_1.default.red('\nError: The name you have entered for your Developer Space is already in use. Please choose a different name to ensure it is unique.')
|
|
308
311
|
},
|
|
309
312
|
terms: {
|
|
310
313
|
agreement: 'Please review the following agreement before continuing:\n',
|
|
@@ -824,10 +827,10 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
824
827
|
mpacAppConnectKeyChangeAnalyticsError: 'Cannot change app.connect.key for an app with an Atlassian Marketplace listing.',
|
|
825
828
|
mpacAppConnectKeyChangeError: (mpacAppKey, connectKey) => log_color_1.LogColor.error(`Cannot change the app.connect.key from \'${mpacAppKey}\' to \'${connectKey}\'. The app's Connect key must match the Atlassian Marketplace key.\n`),
|
|
826
829
|
connectKeyChangeWarning: (environment, migrationKey, connectKey) => `WARNING: Changing the app.connect.key in ${(0, environment_1.environmentToOption)(environment)} from \'${migrationKey}\' to \'${connectKey}\' affects features using the Connect key as an identifier. ` +
|
|
827
|
-
`\nLearn more about the impact of this change at
|
|
830
|
+
`\nLearn more about the impact of this change at ${go('forge-connect-key-changes')}.\n`,
|
|
828
831
|
connectKeyDeleteWarning: (environment) => `WARNING: You're about to delete the app.connect.key of the app in ${(0, environment_1.environmentToOption)(environment)}. ` +
|
|
829
832
|
`\nIf you proceed, non-Forge Connect installations using the Connect key will no longer be replaced by future Forge installations of the app, and will co-exist. ` +
|
|
830
|
-
`\nLearn more at
|
|
833
|
+
`\nLearn more at ${go('forge-connect-key-deletion')}.\n`,
|
|
831
834
|
connectKeyMutationInProductionError: (migrationKey, connectKey) => log_color_1.LogColor.error(`Cannot change the app.connect.key from \'${migrationKey}\' to \'${connectKey}\'. The app's Connect key cannot be mutated in production after deployment.\n`),
|
|
832
835
|
connectKeyMutationInProductionAnalyticsError: 'Cannot mutate app.connect.key for an app in production.'
|
|
833
836
|
},
|
|
@@ -851,8 +854,8 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
851
854
|
},
|
|
852
855
|
outdatedInstallations: `We've detected new scopes or egress URLs in your app.\n` +
|
|
853
856
|
`Run ${forge('install', '--upgrade')} and restart your tunnel to put them into effect.`,
|
|
854
|
-
postDeploymentRoaEligibilityFailure: (appVersion, envKey, envType) => `${log_symbols_1.default.info} The version of your app [${appVersion}] that was just deployed to [${exports.Text.env.displayEnvironment(envKey, envType)}] is not eligible for the Runs on Atlassian program. Run ${forge('eligibility')} to know more.\n\nTo know more about Runs on Atlassian, go to
|
|
855
|
-
postDeploymentRoaEligibilitySuccess: (appVersion, envKey, envType) => `${log_symbols_1.default.info} The version of your app [${appVersion}] that was just deployed to [${exports.Text.env.displayEnvironment(envKey, envType)}] is eligible for the Runs on Atlassian program.\n\nTo know more about Runs on Atlassian, go to
|
|
857
|
+
postDeploymentRoaEligibilityFailure: (appVersion, envKey, envType) => `${log_symbols_1.default.info} The version of your app [${appVersion}] that was just deployed to [${exports.Text.env.displayEnvironment(envKey, envType)}] is not eligible for the Runs on Atlassian program. Run ${forge('eligibility')} to know more.\n\nTo know more about Runs on Atlassian, go to ${go('runs-on-atlassian')}.`,
|
|
858
|
+
postDeploymentRoaEligibilitySuccess: (appVersion, envKey, envType) => `${log_symbols_1.default.info} The version of your app [${appVersion}] that was just deployed to [${exports.Text.env.displayEnvironment(envKey, envType)}] is eligible for the Runs on Atlassian program.\n\nTo know more about Runs on Atlassian, go to ${go('runs-on-atlassian')}.`,
|
|
856
859
|
listIndexes: (environment) => `Run ${forge('storage', 'entities', 'indexes', 'list', '-e', (0, environment_1.environmentToOption)(environment))} to check the status of the indexes.`,
|
|
857
860
|
reindexingInProgress: {
|
|
858
861
|
continueDeployment: 'Reindexing is currently in progress. Are you sure you want to deploy?',
|
|
@@ -885,12 +888,14 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
885
888
|
bannerSite: `\nInstalling your app onto an Atlassian site.\n${ctrlC}\n`,
|
|
886
889
|
bannerWorkspace: `\nInstalling your app onto the selected workspace.\n${ctrlC}\n`,
|
|
887
890
|
devAppInstallWarning: `${chalk_1.default.bold('WARNING:')} You are about to install a development app to a production site. If you do not intend to test your app, we strongly recommend that you deploy your app to production and install the production version instead.`,
|
|
891
|
+
majorVersionIsNotLatest: (versionToInstall) => `WARNING: You are about to install a previous version of the app. (${versionToInstall})`,
|
|
888
892
|
devAppInstallConfirm: `Are you sure you want to proceed?`,
|
|
889
893
|
optionConfirmScopes: 'skip confirmation of scopes for the app before installing or upgrading the app',
|
|
890
894
|
optionUpgrade: 'upgrade an existing installation',
|
|
891
895
|
optionLicense: 'specify the license value for the app (allowed values: active, standard, advanced, inactive, and trial)',
|
|
892
896
|
optionLicenseModes: 'specify the list of license mode value for the app (allowed values: user-access)',
|
|
893
897
|
optionUsersWithAccess: 'specify the list of Atlassian Account IDs(aaid) for users who have access to the app',
|
|
898
|
+
optionMajorVersion: 'specify the major version to install',
|
|
894
899
|
listScopes: (scopes) => `Your app will be installed with the following scopes:\n${scopes
|
|
895
900
|
.map(({ name, requiresInteractiveConsent }) => `- ${name}${requiresInteractiveConsent ? ' (requires user consent)' : ''}`)
|
|
896
901
|
.join('\n')}\n`,
|
|
@@ -917,13 +922,16 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
917
922
|
url: (url) => `Site URL is invalid: ${url}`,
|
|
918
923
|
site: (url) => `Site is invalid: ${url}`,
|
|
919
924
|
alreadyInstalledError: `Installation error: App is already installed.\nIf you're trying to upgrade your app, use the ${forge('install', '--upgrade')} command.`,
|
|
925
|
+
alreadyInstalledErrorWithMajorVersion: (envKey, envType) => `The app in the ${exports.Text.env.displayEnvironment(envKey, envType)} environment is already installed on this site. Uninstall the app before trying again.`,
|
|
920
926
|
serverSideInstallationError: (message) => `Installation error: ${message}`,
|
|
921
927
|
noDeploymentFound: (environment) => `Forge apps must be deployed before installation. Deploy your app by running ${forge('deploy', '-e', (0, environment_1.environmentToOption)(environment))}.`,
|
|
922
928
|
permissionsDeniedInstructions: (requestId, appId) => `Insufficient permissions to install app (requestId: ${requestId})` +
|
|
923
929
|
'\n\nTo install the app on this site, generate an installation link ' +
|
|
924
930
|
'in the developer console and share it with the site admin: ' +
|
|
925
931
|
`https://developer.atlassian.com/console/myapps/${appId}/distribution`,
|
|
926
|
-
appendRequestIdToErrorMessage: (message, requestId) => `${message} For more help on this issue, please reach out to support ${buildTerminalLink('
|
|
932
|
+
appendRequestIdToErrorMessage: (message, requestId) => `${message} For more help on this issue, please reach out to support (${buildTerminalLink('https://developer.atlassian.com/support')}) and provide them the following request ID: ${requestId}`,
|
|
933
|
+
majorVersionNotFound: 'The major version you specified does not exist. Check the version number and try again.',
|
|
934
|
+
majorVersionAndUpgrade: 'Cannot use the major version flag with the upgrade flag'
|
|
927
935
|
},
|
|
928
936
|
failedAll: (site, environment) => `Your app in ${(0, environment_1.environmentToOption)(environment)} was not installed to any contexts on ${chalk_1.default.bold(site)}.`,
|
|
929
937
|
security: {
|
|
@@ -956,7 +964,7 @@ ${buildTerminalLink(link)}\n`,
|
|
|
956
964
|
harmonization: {
|
|
957
965
|
installation: {
|
|
958
966
|
errors: {
|
|
959
|
-
concurrentSync: `Install has failed due to a background syncing clash. Try installing your app again in 10 minutes. If you see this error again, raise a thread at ${
|
|
967
|
+
concurrentSync: `Install has failed due to a background syncing clash. Try installing your app again in 10 minutes. If you see this error again, raise a thread at ${go('cdac-connect-forge')}.`,
|
|
960
968
|
placeholderMacroCollision: 'Confluence macro key is already used by another app. Macro keys must be globally unique. Prefixing with your app.key name ensures compatibility with other apps.',
|
|
961
969
|
placeholderFailedDescriptorValidation: 'One or more connectModules are defined incorrectly in your manifest.yml. Check the module definitions and deploy before trying again.'
|
|
962
970
|
}
|
|
@@ -1024,7 +1032,7 @@ ${buildTerminalLink(link)}\n`,
|
|
|
1024
1032
|
fileServed: (filename, resourceKey) => `Serving file ${filename} for resource ${resourceKey}`,
|
|
1025
1033
|
fileProxied: (filename, resourceKey, tunnelPort) => `Received proxy request. ${exports.Text.tunnel.customUI.fileServed(filename, resourceKey)} from specified address http://localhost:${tunnelPort}`,
|
|
1026
1034
|
warning: {
|
|
1027
|
-
cspViolation: (localUrl, violation) => `CSP violation detected for '${violation}' while serving content at ${localUrl}\nFor an app to share data with external resources or use custom CSP, follow the steps in:
|
|
1035
|
+
cspViolation: (localUrl, violation) => `CSP violation detected for '${violation}' while serving content at ${localUrl}\nFor an app to share data with external resources or use custom CSP, follow the steps in: ${go('forge-content-security-and-egress-controls')}\n`
|
|
1028
1036
|
}
|
|
1029
1037
|
},
|
|
1030
1038
|
container: {
|
|
@@ -1176,8 +1184,7 @@ ${buildTerminalLink(link)}\n`,
|
|
|
1176
1184
|
},
|
|
1177
1185
|
listingImages: (key) => `Listing images for container with key '${key}'.`,
|
|
1178
1186
|
noImagesFound: `No images found.`,
|
|
1179
|
-
promptNextPage: 'Load next page
|
|
1180
|
-
confirmationForNextPage: 'y'
|
|
1187
|
+
promptNextPage: 'Load next page?'
|
|
1181
1188
|
}
|
|
1182
1189
|
},
|
|
1183
1190
|
login: {
|
|
@@ -1281,6 +1288,20 @@ ${buildTerminalLink(link)}\n`,
|
|
|
1281
1288
|
info: `To view all environments for this app, run ${forge('environments', 'list')}.`
|
|
1282
1289
|
}
|
|
1283
1290
|
},
|
|
1291
|
+
assistant: {
|
|
1292
|
+
description: '[⚠️ experimental feature] manage AI assistant settings (Rovo/Gemini)',
|
|
1293
|
+
on: {
|
|
1294
|
+
description: `[⚠️ experimental feature] enable AI assistant for error analysis (specify name: rovo or gemini)
|
|
1295
|
+
When errors occur during Forge command execution, error details will be sent to your AI agent to help you understand and resolve issues.`
|
|
1296
|
+
},
|
|
1297
|
+
off: {
|
|
1298
|
+
description: 'disable AI assistant for error analysis'
|
|
1299
|
+
},
|
|
1300
|
+
enabled: (assistantName) => `${greenTick} ${assistantName} assistant enabled.`,
|
|
1301
|
+
disabled: `${greenTick} Assistant disabled. Error analysis will not be performed during Forge CLI commands.`,
|
|
1302
|
+
alreadyDisabled: 'Assistant is already disabled',
|
|
1303
|
+
enableConfirmation: '⚠️ Are you sure you want to enable the assistant? This is an experimental feature. When errors occur during Forge command execution, error details will be sent to your AI agent automatically to help you understand and resolve issues.'
|
|
1304
|
+
},
|
|
1284
1305
|
nonInteractive: {
|
|
1285
1306
|
description: 'run the command without input prompts',
|
|
1286
1307
|
error: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/cli-shared",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.5.0-experimental-73629cc",
|
|
4
4
|
"description": "Common functionality for Forge CLI",
|
|
5
5
|
"author": "Atlassian",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"generate-graphql-types": "graphql-codegen --config src/graphql/codegen.yml"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@forge/manifest": "10.
|
|
15
|
+
"@forge/manifest": "10.4.0-experimental-73629cc",
|
|
16
16
|
"@forge/util": "2.0.0",
|
|
17
17
|
"@forge/i18n": "0.0.7",
|
|
18
18
|
"@sentry/node": "7.106.0",
|