@copado/agentia-cli 0.90.0-alpha.0 → 0.92.0-alpha.0
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/README.md +262 -217
- package/dist/commands/auth/get.d.ts +1 -0
- package/dist/commands/auth/get.js +35 -21
- package/dist/commands/auth/get.js.map +1 -1
- package/dist/commands/auth/set.d.ts +1 -2
- package/dist/commands/auth/set.js +16 -23
- package/dist/commands/auth/set.js.map +1 -1
- package/dist/commands/auth/unset.d.ts +2 -0
- package/dist/commands/auth/unset.js +12 -1
- package/dist/commands/auth/unset.js.map +1 -1
- package/dist/commands/cicd/work/commit.d.ts +1 -0
- package/dist/commands/cicd/work/commit.js +7 -2
- package/dist/commands/cicd/work/commit.js.map +1 -1
- package/dist/commands/cicd/work/done.d.ts +3 -0
- package/dist/commands/cicd/work/done.js +14 -2
- package/dist/commands/cicd/work/done.js.map +1 -1
- package/dist/commands/cicd/work/push.d.ts +5 -0
- package/dist/commands/cicd/work/push.js +26 -3
- package/dist/commands/cicd/work/push.js.map +1 -1
- package/dist/commands/cicd/work/submit.d.ts +1 -0
- package/dist/commands/cicd/work/submit.js +5 -0
- package/dist/commands/cicd/work/submit.js.map +1 -1
- package/dist/commands/setup.js +1 -1
- package/dist/commands/setup.js.map +1 -1
- package/dist/lib/ai-config.js +33 -7
- package/dist/lib/ai-config.js.map +1 -1
- package/dist/lib/auth-config.d.ts +6 -3
- package/dist/lib/auth-config.js +127 -56
- package/dist/lib/auth-config.js.map +1 -1
- package/dist/lib/auth-profile.d.ts +25 -0
- package/dist/lib/auth-profile.js +112 -0
- package/dist/lib/auth-profile.js.map +1 -0
- package/dist/lib/cicd-gateway.js +19 -6
- package/dist/lib/cicd-gateway.js.map +1 -1
- package/dist/lib/credential-store.d.ts +3 -0
- package/dist/lib/credential-store.js +15 -3
- package/dist/lib/credential-store.js.map +1 -1
- package/dist/lib/defaults-store.d.ts +4 -0
- package/dist/lib/defaults-store.js +18 -3
- package/dist/lib/defaults-store.js.map +1 -1
- package/dist/lib/git-worktree.d.ts +4 -0
- package/dist/lib/git-worktree.js +24 -1
- package/dist/lib/git-worktree.js.map +1 -1
- package/dist/lib/mcp/command-id.js +1 -0
- package/dist/lib/mcp/command-id.js.map +1 -1
- package/dist/lib/mcp/tools.d.ts +29 -22
- package/dist/lib/mcp/tools.js +29 -36
- package/dist/lib/mcp/tools.js.map +1 -1
- package/dist/lib/mcp/work-tools.d.ts +12 -2
- package/dist/lib/mcp/work-tools.js +36 -9
- package/dist/lib/mcp/work-tools.js.map +1 -1
- package/dist/lib/nested-metadata-changes.d.ts +50 -0
- package/dist/lib/nested-metadata-changes.js +166 -0
- package/dist/lib/nested-metadata-changes.js.map +1 -0
- package/dist/lib/nested-metadata-registry.d.ts +24 -0
- package/dist/lib/nested-metadata-registry.js +201 -0
- package/dist/lib/nested-metadata-registry.js.map +1 -0
- package/dist/lib/setup-wizard.d.ts +3 -1
- package/dist/lib/setup-wizard.js +152 -30
- package/dist/lib/setup-wizard.js.map +1 -1
- package/dist/lib/testing-config.js +14 -5
- package/dist/lib/testing-config.js.map +1 -1
- package/dist/lib/user-context.js +3 -2
- package/dist/lib/user-context.js.map +1 -1
- package/dist/lib/work-local-commit.d.ts +2 -0
- package/dist/lib/work-local-commit.js +4 -0
- package/dist/lib/work-local-commit.js.map +1 -1
- package/dist/lib/work-push.d.ts +34 -0
- package/dist/lib/work-push.js +148 -11
- package/dist/lib/work-push.js.map +1 -1
- package/dist/lib/work-types.d.ts +30 -1
- package/dist/lib/work-types.js.map +1 -1
- package/oclif.manifest.json +897 -849
- package/package.json +2 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
1
2
|
import { AgentiaCommand } from '../../../lib/agentia-command.js';
|
|
2
3
|
import { listPendingChanges } from '../../../lib/git-worktree.js';
|
|
3
4
|
import { performWorkPush, resolveWorkPushContext, WorkPushValidationError, } from '../../../lib/work-push.js';
|
|
@@ -6,11 +7,30 @@ export default class WorkPush extends AgentiaCommand {
|
|
|
6
7
|
'Push the current feature/<lastWorkItem> branch and register commits with Copado.',
|
|
7
8
|
'Requires a clean working tree, base branch, and dev org branch from `.agentia/config.user.json`.',
|
|
8
9
|
'Applies Copado environment-variable then yaml replacements when needed, commits both as a single follow-up commit, locks the tip commit, runs `git push origin <branch>`,',
|
|
9
|
-
'
|
|
10
|
+
'reports the nested metadata changed across the branch, such as the CustomField behind a profile field-permission edit, plus the parent components it would ignore,',
|
|
11
|
+
'calls headless work/push with lastPermissionSelected and --permissions plus the nested metadata of the changed profiles and permission sets as the retrieveOnly list, lastFullMetadataSelected and --full-metadata as the fullMetadata list, the ignored parents as removeMetadataItems and the remaining nested metadata as addMetadataItems, then merges the feature branch into the recorded dev org branch.',
|
|
10
12
|
].join(' ');
|
|
11
|
-
static examples = [
|
|
13
|
+
static examples = [
|
|
14
|
+
'<%= config.bin %> <%= command.id %>',
|
|
15
|
+
'<%= config.bin %> <%= command.id %> --permissions CustomField:Account.SLA__c,ApexClass:AccountService',
|
|
16
|
+
'<%= config.bin %> <%= command.id %> --full-metadata PermissionSet:Sales_Onboarding',
|
|
17
|
+
'<%= config.bin %> <%= command.id %> --skip-nested-metadata-detection',
|
|
18
|
+
'<%= config.bin %> <%= command.id %> --json',
|
|
19
|
+
];
|
|
20
|
+
static flags = {
|
|
21
|
+
'full-metadata': Flags.string({
|
|
22
|
+
description: 'Comma-separated type-prefixed metadata such as Profile:Sales_User,PermissionSet:Sales_Onboarding, added to lastFullMetadataSelected for this push and sent as the headless push fullMetadata list. The named metadata is committed as a complete file, so it is never decomposed into nested metadata. Not stored; use `cicd work commit --full-metadata` to record it.',
|
|
23
|
+
}),
|
|
24
|
+
permissions: Flags.string({
|
|
25
|
+
description: 'Comma-separated type-prefixed metadata such as CustomField:Account.SLA__c,ApexClass:AccountService, added to lastPermissionSelected for this push and sent as part of the headless push retrieveOnly list. Not stored; use `cicd work commit --permissions` to record it.',
|
|
26
|
+
}),
|
|
27
|
+
'skip-nested-metadata-detection': Flags.boolean({
|
|
28
|
+
default: false,
|
|
29
|
+
description: 'Do not detect the nested metadata changed across the branch (also configurable via skipNestedMetadataDetection in .agentia/config.json or .agentia/config.user.json)',
|
|
30
|
+
}),
|
|
31
|
+
};
|
|
12
32
|
async run() {
|
|
13
|
-
await this.parse(WorkPush);
|
|
33
|
+
const { flags } = await this.parse(WorkPush);
|
|
14
34
|
const startedAt = Date.now();
|
|
15
35
|
let context;
|
|
16
36
|
try {
|
|
@@ -47,11 +67,14 @@ export default class WorkPush extends AgentiaCommand {
|
|
|
47
67
|
baseBranch,
|
|
48
68
|
branch,
|
|
49
69
|
devOrgBranch,
|
|
70
|
+
...(flags['full-metadata'] === undefined ? {} : { fullMetadata: flags['full-metadata'] }),
|
|
50
71
|
hooks: {
|
|
51
72
|
display: (render) => this.display(render),
|
|
52
73
|
log: (message) => this.log(message),
|
|
53
74
|
withSpinner: (message, action) => this.withSpinner(message, action),
|
|
54
75
|
},
|
|
76
|
+
...(flags.permissions === undefined ? {} : { permissions: flags.permissions }),
|
|
77
|
+
skipNestedMetadataDetection: flags['skip-nested-metadata-detection'],
|
|
55
78
|
workItem,
|
|
56
79
|
workItemId,
|
|
57
80
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../../../src/commands/cicd/work/push.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,kBAAkB,EAAC,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,2BAA2B,CAAA;AAGlC,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,cAAc;IAClD,MAAM,CAAU,WAAW,GAAG;QAC5B,kFAAkF;QAClF,kGAAkG;QAClG,2KAA2K;QAC3K,
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../../../src/commands/cicd/work/push.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ export default class WorkSubmit extends AgentiaCommand {
|
|
|
6
6
|
static flags: {
|
|
7
7
|
'apex-test-classes': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
8
|
'skip-local-tests': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
'skip-nested-metadata-detection': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
10
|
'skip-pull-request': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
11
|
};
|
|
11
12
|
run(): Promise<WorkSubmitResult>;
|
|
@@ -31,6 +31,10 @@ export default class WorkSubmit extends AgentiaCommand {
|
|
|
31
31
|
default: false,
|
|
32
32
|
description: 'Skip running local quality gates scripts in the project root',
|
|
33
33
|
}),
|
|
34
|
+
'skip-nested-metadata-detection': Flags.boolean({
|
|
35
|
+
default: false,
|
|
36
|
+
description: 'Do not detect the nested metadata changed across the branch when pushing (also configurable via skipNestedMetadataDetection in .agentia/config.json or .agentia/config.user.json)',
|
|
37
|
+
}),
|
|
34
38
|
'skip-pull-request': Flags.boolean({
|
|
35
39
|
default: false,
|
|
36
40
|
description: 'Do not open the pull request compare URL after submit (also configurable via skipPullRequest in .agentia/config.json or .agentia/config.user.json)',
|
|
@@ -161,6 +165,7 @@ export default class WorkSubmit extends AgentiaCommand {
|
|
|
161
165
|
log: (message) => this.log(message),
|
|
162
166
|
withSpinner: (message, action) => this.withSpinner(message, action),
|
|
163
167
|
},
|
|
168
|
+
skipNestedMetadataDetection: flags['skip-nested-metadata-detection'],
|
|
164
169
|
});
|
|
165
170
|
}
|
|
166
171
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../../src/commands/cicd/work/submit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AACxD,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAC,kBAAkB,EAAC,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EACL,sBAAsB,EACtB,8BAA8B,EAC9B,oBAAoB,GACrB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAC,OAAO,EAAC,MAAM,8BAA8B,CAAA;AACpD,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EACL,eAAe,EACf,4BAA4B,EAC5B,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EAGxB,kBAAkB,GAEnB,MAAM,4BAA4B,CAAA;AAEnC,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,cAAc;IACpD,MAAM,CAAU,WAAW,GAAG;QAC5B,gGAAgG;QAChG,iHAAiH;QACjH,kGAAkG;QAClG,sCAAsC;KACvC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACX,MAAM,CAAU,QAAQ,GAAG;QACzB,qCAAqC;QACrC,0EAA0E;QAC1E,wDAAwD;QACxD,yDAAyD;QACzD,4CAA4C;KAC7C,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,mBAAmB,EAAE,KAAK,CAAC,MAAM,CAAC;YAChC,WAAW,EACT,kGAAkG;SACrG,CAAC;QACF,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC;YAChC,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,8DAA8D;SAC5E,CAAC;QACF,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC;YACjC,OAAO,EAAE,KAAK;YACd,WAAW,EACT,oJAAoJ;SACvJ,CAAC;KACH,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAE5B,IAAI,MAAc,CAAA;QAClB,IAAI,QAAgB,CAAA;QACpB,IAAI,CAAC;YACH,CAAC;YAAA,CAAC,EAAC,MAAM,EAAE,QAAQ,EAAC,GAAG,MAAM,4BAA4B,EAAE,CAAC,CAAA;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,uBAAuB,EAAE,CAAC;gBAC7C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE;oBACxB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;iBAC/B,CAAC,CAAA;YACJ,CAAC;YAED,MAAM,KAAK,CAAA;QACb,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,kBAAkB,EAAE,CAAA;QAC/C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CACR;gBACE,mEAAmE;gBACnE,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;aAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ;gBACE,IAAI,EAAE,CAAC;gBACP,WAAW,EAAE,CAAC,0BAA0B,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,mBAAmB,CAAC;aACjF,CACF,CAAA;QACH,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,GAAG,CAAC,WAAW,MAAM,EAAE,CAAC,CAAA;YAC7B,IAAI,CAAC,GAAG,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;QAEF,IAAI,YAA8C,CAAA;QAClD,IAAI,CAAC;YACH,IAAI,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;oBAChB,IAAI,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAA;gBAChE,CAAC,CAAC,CAAA;gBACF,YAAY,GAAG,MAAM,oBAAoB,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAA;YACzD,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,8BAA8B,EAAE,CAAA;gBACnD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;wBAChB,IAAI,CAAC,GAAG,CAAC,gCAAgC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;oBAC3E,CAAC,CAAC,CAAA;gBACJ,CAAC;gBAED,YAAY,GAAG,MAAM,oBAAoB,CAAC;oBACxC,eAAe,EAAE,KAAK,CAAC,mBAAmB,CAAC;iBAC5C,CAAC,CAAA;gBAEF,IAAI,YAAY,CAAC,GAAG,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC9D,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;wBAChB,IAAI,CAAC,GAAG,CAAC,iCAAiC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAoB,CAAC,IAAI,CAAC,CAAA;oBACjG,CAAC,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,8BAA8B,CAAC;gBACnC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACzD,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC1C,YAAY;gBACZ,QAAQ;aACT,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;gBAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;oBAChB,IAAI,CAAC,GAAG,CAAC,iCAAiC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;gBAChF,CAAC,CAAC,CAAA;gBACF,MAAM,8BAA8B,CAAC;oBACnC,KAAK;oBACL,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACzD,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;oBAC1C,QAAQ;iBACT,CAAC,CAAA;gBACF,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE;oBACxB,IAAI,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC;oBACzB,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,sCAAsC,CAAC;iBACxE,CAAC,CAAA;YACJ,CAAC;YAED,MAAM,KAAK,CAAA;QACb,CAAC;QAED,IAAI,SAAkB,CAAA;QACtB,IAAI,mBAAmB,GAAG,KAAK,CAAA;QAC/B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAA;YAClD,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAA;YAC9B,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAA;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,uBAAuB,EAAE,CAAC;gBAC7C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE;oBACxB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;iBAC/B,CAAC,CAAA;YACJ,CAAC;YAED,MAAM,KAAK,CAAA;QACb,CAAC;QAED,IAAI,UAAoC,CAAA;QAExC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,WAAW,CAAA;YACf,IAAI,CAAC;gBACH,WAAW,GAAG,MAAM,sBAAsB,EAAE,CAAA;YAC9C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,uBAAuB,EAAE,CAAC;oBAC7C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE;wBACxB,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;qBAC/B,CAAC,CAAA;gBACJ,CAAC;gBAED,MAAM,KAAK,CAAA;YACb,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBAChB,IAAI,CAAC,GAAG,CAAC,gBAAgB,WAAW,CAAC,UAAU,EAAE,CAAC,CAAA;gBAClD,IAAI,CAAC,GAAG,CAAC,mBAAmB,WAAW,CAAC,YAAY,EAAE,CAAC,CAAA;gBACvD,IAAI,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAA;YAC/D,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC;gBACH,UAAU,GAAG,MAAM,eAAe,CAAC;oBACjC,GAAG,WAAW;oBACd,KAAK,EAAE;wBACL,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;wBACzC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;wBACnC,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC;qBACpE;
|
|
1
|
+
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../../src/commands/cicd/work/submit.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/setup.js
CHANGED
|
@@ -6,7 +6,7 @@ import { runSetupWizard } from '../lib/setup-wizard.js';
|
|
|
6
6
|
export default class Setup extends AgentiaCommand {
|
|
7
7
|
static description = [
|
|
8
8
|
'Prepare this machine and the current project for Agentia.',
|
|
9
|
-
'Guides CICD and CRT authentication, Cursor MCP, local quality gates, and AGENTS.md.',
|
|
9
|
+
'Guides CICD, AI, and CRT authentication, Cursor MCP, local quality gates, and AGENTS.md.',
|
|
10
10
|
'Git is optional: .gitignore is updated only inside a repository, and generated files are not committed.',
|
|
11
11
|
].join(' ');
|
|
12
12
|
static examples = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAEjC,OAAO,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAC,gBAAgB,EAAC,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAC,cAAc,EAAmB,MAAM,wBAAwB,CAAA;AAEvE,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,cAAc;IAC/C,MAAM,CAAU,WAAW,GAAG;QAC5B,2DAA2D;QAC3D,
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAEjC,OAAO,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAC,gBAAgB,EAAC,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAC,cAAc,EAAmB,MAAM,wBAAwB,CAAA;AAEvE,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,cAAc;IAC/C,MAAM,CAAU,WAAW,GAAG;QAC5B,2DAA2D;QAC3D,0FAA0F;QAC1F,yGAAyG;KAC1G,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACX,MAAM,CAAU,QAAQ,GAAG;QACzB,qCAAqC;QACrC,iDAAiD;QACjD,iGAAiG;QACjG,4CAA4C;KAC7C,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC;YAChC,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,+CAA+C;SAC7D,CAAC;QACF,4BAA4B,EAAE,KAAK,CAAC,OAAO,CAAC;YAC1C,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,6DAA6D;SAC3E,CAAC;QACF,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC;YACzB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,+EAA+E;SAC7F,CAAC;KACH,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAA;QAEzD,IAAI,CAAC;YACH,OAAO,MAAM,cAAc,CAAC;gBAC1B,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;gBACpB,cAAc,EAAE,KAAK,CAAC,kBAAkB,CAAC;gBACzC,uBAAuB,EAAE,KAAK,CAAC,4BAA4B,CAAC;gBAC5D,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE;oBACf,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;wBAChB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;oBACnB,CAAC,CAAC,CAAA;gBACJ,CAAC;gBACD,QAAQ;gBACR,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC;aACpE,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC,CAAA;YAC3C,CAAC;YAED,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;gBAClC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAC,CAAC,CAAA;YACnD,CAAC;YAED,IAAI,CAAC,KAAK,CAAE,KAAe,CAAC,OAAO,EAAE,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC,CAAA;QACjD,CAAC;IACH,CAAC"}
|
package/dist/lib/ai-config.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { readAuthProfile } from './auth-profile.js';
|
|
2
|
+
import { getAiDomain, getAiGatewayUrl, getAiOrgId, getAiWorkspaceId, getCredentialForKey } from './credential-store.js';
|
|
2
3
|
import { loadEnvFile } from './env-file.js';
|
|
3
4
|
export const AI_DEFAULT_WORKSPACE_NAME = 'agentia-cli';
|
|
4
5
|
export const AI_DEFAULT_TIMEOUT_MS = 120_000;
|
|
@@ -95,13 +96,38 @@ function normalizeOptionalAiWorkspace(value) {
|
|
|
95
96
|
}
|
|
96
97
|
export function resolveAiCredentials(overrides = {}) {
|
|
97
98
|
loadEnvFile();
|
|
98
|
-
const
|
|
99
|
-
const
|
|
100
|
-
const
|
|
101
|
-
const
|
|
102
|
-
const
|
|
99
|
+
const local = readAuthProfile('local');
|
|
100
|
+
const localAi = local?.ai;
|
|
101
|
+
const global = readAuthProfile('global');
|
|
102
|
+
const globalAi = global?.ai;
|
|
103
|
+
const localConfigured = localAi !== undefined;
|
|
104
|
+
const metadata = localConfigured ? localAi : globalAi;
|
|
105
|
+
if (localConfigured && metadata?.gatewayUrl === undefined && (metadata?.domain === undefined || metadata.orgId === undefined)) {
|
|
106
|
+
throw new Error('Local AI authentication profile is incomplete. Configure --ai-domain and --ai-org, or --ai-gateway-url.');
|
|
107
|
+
}
|
|
108
|
+
const keychainId = localConfigured ? local?.keychainId : undefined;
|
|
109
|
+
const pak = overrides.pak ??
|
|
110
|
+
overrides.pat ??
|
|
111
|
+
envValue('AGENTIA_AI_PAK', 'AGENTIA_AI_PAT', 'COPADO_AI_PAT') ??
|
|
112
|
+
(localConfigured ? getCredentialForKey('ai', keychainId) : getCredentialForKey('ai'));
|
|
113
|
+
const gatewayUrl = overrides.gatewayUrl ??
|
|
114
|
+
envValue('AGENTIA_AI_GATEWAY_URL', 'COPADO_AI_GATEWAY_URL') ??
|
|
115
|
+
metadata?.gatewayUrl ??
|
|
116
|
+
(localConfigured ? undefined : getAiGatewayUrl());
|
|
117
|
+
const domain = overrides.domain ??
|
|
118
|
+
envValue('AGENTIA_AI_DOMAIN', 'COPADO_AI_DOMAIN') ??
|
|
119
|
+
metadata?.domain ??
|
|
120
|
+
(localConfigured ? undefined : getAiDomain());
|
|
121
|
+
const org = overrides.org ??
|
|
122
|
+
envValue('AGENTIA_AI_ORG', 'COPADO_AI_ORG') ??
|
|
123
|
+
metadata?.orgId ??
|
|
124
|
+
(localConfigured ? undefined : getAiOrgId());
|
|
125
|
+
const workspace = overrides.workspace ??
|
|
126
|
+
envValue('AGENTIA_AI_WORKSPACE', 'COPADO_AI_WORKSPACE') ??
|
|
127
|
+
metadata?.workspaceId ??
|
|
128
|
+
(localConfigured ? undefined : getAiWorkspaceId());
|
|
103
129
|
if (!hasText(pak)) {
|
|
104
|
-
throw new Error('AI PAK is not configured. Run `agentia auth set --ai
|
|
130
|
+
throw new Error('AI PAK is not configured. Run `agentia auth set --ai <pak> --ai-domain <domain> --ai-org <org-id>` or set AGENTIA_AI_PAK.');
|
|
105
131
|
}
|
|
106
132
|
const resolvedBaseUrl = resolveAiBaseUrl({ domain, gatewayUrl, org });
|
|
107
133
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-config.js","sourceRoot":"","sources":["../../src/lib/ai-config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,eAAe,EACf,UAAU,EACV,gBAAgB,
|
|
1
|
+
{"version":3,"file":"ai-config.js","sourceRoot":"","sources":["../../src/lib/ai-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type AuthProfileScope } from './auth-profile.js';
|
|
1
2
|
import { type CredentialType } from './credential-store.js';
|
|
2
3
|
export declare const COPADO_ACCOUNT_SUMMARY_LOGIN_URL = "https://login.salesforce.com/?startURL=%2Flightning%2Fn%2Fcopado__Account_Summary";
|
|
3
4
|
export type AuthSetResult = {
|
|
@@ -30,27 +31,28 @@ export type ApplyAuthSetInput = {
|
|
|
30
31
|
aiDomain?: string;
|
|
31
32
|
aiGatewayUrl?: string;
|
|
32
33
|
aiOrg?: number;
|
|
33
|
-
aiPak?: string;
|
|
34
34
|
aiWorkspace?: string;
|
|
35
35
|
cicd?: string;
|
|
36
36
|
crt?: string;
|
|
37
37
|
crtDomain?: string;
|
|
38
38
|
crtOrg?: number;
|
|
39
|
-
crtPak?: string;
|
|
40
39
|
customUrl?: string;
|
|
41
40
|
region?: string;
|
|
41
|
+
scope?: AuthProfileScope;
|
|
42
42
|
};
|
|
43
43
|
export type CicdAuthStatus = {
|
|
44
44
|
baseUrl?: null | string;
|
|
45
45
|
local?: boolean;
|
|
46
46
|
masked?: string;
|
|
47
47
|
set: boolean;
|
|
48
|
+
source?: 'global' | 'local';
|
|
48
49
|
};
|
|
49
50
|
export type CrtAuthStatus = {
|
|
50
51
|
domain?: null | string;
|
|
51
52
|
masked?: string;
|
|
52
53
|
orgId?: null | string;
|
|
53
54
|
set: boolean;
|
|
55
|
+
source?: 'global' | 'local';
|
|
54
56
|
};
|
|
55
57
|
export type AiAuthStatus = {
|
|
56
58
|
domain?: null | string;
|
|
@@ -58,6 +60,7 @@ export type AiAuthStatus = {
|
|
|
58
60
|
masked?: string;
|
|
59
61
|
orgId?: null | string;
|
|
60
62
|
set: boolean;
|
|
63
|
+
source?: 'global' | 'local';
|
|
61
64
|
workspaceId?: null | string;
|
|
62
65
|
};
|
|
63
66
|
export declare class AuthSetError extends Error {
|
|
@@ -81,5 +84,5 @@ export declare function setAuthUnsetConfirmForTests(fn: AuthUnsetConfirmFn | und
|
|
|
81
84
|
export declare function resetAuthUnsetConfirmForTests(): void;
|
|
82
85
|
export declare function hasAuthUnsetTestConfirm(): boolean;
|
|
83
86
|
export declare function confirmAuthUnset(types: CredentialType[]): Promise<boolean>;
|
|
84
|
-
export declare function applyAuthUnset(types: CredentialType[]): Promise<AuthUnsetResult>;
|
|
87
|
+
export declare function applyAuthUnset(types: CredentialType[], scope?: AuthProfileScope): Promise<AuthUnsetResult>;
|
|
85
88
|
export declare function applyAuthSet(input: ApplyAuthSetInput): Promise<AuthSetResult>;
|
package/dist/lib/auth-config.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { confirm } from '@inquirer/prompts';
|
|
2
2
|
import { normalizeAiDomain, normalizeAiGatewayUrl, normalizeAiOrgId, normalizeAiWorkspaceId, resolveAiCredentials, } from './ai-config.js';
|
|
3
3
|
import { AiGateway } from './ai-gateway.js';
|
|
4
|
+
import { deleteAuthProfile, ensureLocalKeychainId, localProfileKeychainId, readAuthProfile, updateAuthProfile, writeAuthProfile, } from './auth-profile.js';
|
|
4
5
|
import { CicdGateway, normalizeCicdBaseUrl } from './cicd-gateway.js';
|
|
5
6
|
import { isCicdRegion } from './cicd-region.js';
|
|
6
|
-
import { ALL_CREDENTIAL_TYPES, credentialLabel, CredentialStoreError, deleteAiDomain, deleteAiGatewayUrl, deleteAiOrgId, deleteAiWorkspaceId, deleteCicdBaseUrl, deleteCredential, deleteCrtDomain, deleteCrtOrgId, getAiDomain, getAiGatewayUrl, getAiOrgId, getAiWorkspaceId, getCicdBaseUrl, getCredential, getCrtDomain, getCrtOrgId, maskSecret,
|
|
7
|
+
import { ALL_CREDENTIAL_TYPES, credentialLabel, CredentialStoreError, deleteAiDomain, deleteAiGatewayUrl, deleteAiOrgId, deleteAiWorkspaceId, deleteCicdBaseUrl, deleteCredential, deleteCredentialForKey, deleteCrtDomain, deleteCrtOrgId, getAiDomain, getAiGatewayUrl, getAiOrgId, getAiWorkspaceId, getCicdBaseUrl, getCredential, getCredentialForKey, getCrtDomain, getCrtOrgId, maskSecret, setCredentialForKey, } from './credential-store.js';
|
|
7
8
|
import { clearUserContext } from './defaults-store.js';
|
|
8
9
|
import { normalizeLocalGatewayBaseUrl, readLocalGatewayConfig } from './local-gateway-config.js';
|
|
9
10
|
import { normalizeCrtDomain, normalizeCrtOrgId } from './testing-config.js';
|
|
@@ -29,9 +30,12 @@ export function formatCicdApiKeyHelp() {
|
|
|
29
30
|
return `Create a Copado API key on the API Key tab of the ${accountSummary} page.`;
|
|
30
31
|
}
|
|
31
32
|
export function getCicdAuthStatus() {
|
|
33
|
+
const local = readAuthProfile('local');
|
|
34
|
+
const profile = local?.cicd === undefined ? readAuthProfile('global')?.cicd : local.cicd;
|
|
35
|
+
const scopedCredential = local?.cicd === undefined ? getCredential('cicd') : getCredentialForKey('cicd', local.keychainId);
|
|
32
36
|
const localConfig = readLocalGatewayConfig();
|
|
33
37
|
if (localConfig.enabled) {
|
|
34
|
-
const apiKey = localConfig.apiKey ||
|
|
38
|
+
const apiKey = localConfig.apiKey || scopedCredential;
|
|
35
39
|
if (apiKey === null || apiKey.trim().length === 0) {
|
|
36
40
|
return {
|
|
37
41
|
baseUrl: normalizeLocalGatewayBaseUrl(localConfig.url),
|
|
@@ -44,52 +48,60 @@ export function getCicdAuthStatus() {
|
|
|
44
48
|
local: true,
|
|
45
49
|
masked: maskSecret(apiKey),
|
|
46
50
|
set: true,
|
|
51
|
+
source: local?.cicd === undefined ? 'global' : 'local',
|
|
47
52
|
};
|
|
48
53
|
}
|
|
49
|
-
const credential =
|
|
54
|
+
const credential = scopedCredential;
|
|
50
55
|
if (credential === null) {
|
|
51
56
|
return { set: false };
|
|
52
57
|
}
|
|
53
58
|
return {
|
|
54
|
-
baseUrl: getCicdBaseUrl(),
|
|
59
|
+
baseUrl: profile?.baseUrl ?? getCicdBaseUrl(),
|
|
55
60
|
masked: maskSecret(credential),
|
|
56
61
|
set: true,
|
|
62
|
+
source: local?.cicd === undefined ? 'global' : 'local',
|
|
57
63
|
};
|
|
58
64
|
}
|
|
59
65
|
export function getCrtAuthStatus() {
|
|
60
|
-
const
|
|
66
|
+
const local = readAuthProfile('local');
|
|
67
|
+
const metadata = local?.crt ?? readAuthProfile('global')?.crt;
|
|
68
|
+
const credential = local?.crt === undefined ? getCredential('crt') : getCredentialForKey('crt', local.keychainId);
|
|
61
69
|
if (credential === null) {
|
|
62
70
|
return {
|
|
63
|
-
domain: getCrtDomain(),
|
|
64
|
-
orgId: getCrtOrgId(),
|
|
71
|
+
domain: metadata?.domain ?? getCrtDomain(),
|
|
72
|
+
orgId: metadata?.orgId ?? getCrtOrgId(),
|
|
65
73
|
set: false,
|
|
66
74
|
};
|
|
67
75
|
}
|
|
68
76
|
return {
|
|
69
|
-
domain: getCrtDomain(),
|
|
77
|
+
domain: metadata?.domain ?? getCrtDomain(),
|
|
70
78
|
masked: maskSecret(credential),
|
|
71
|
-
orgId: getCrtOrgId(),
|
|
79
|
+
orgId: metadata?.orgId ?? getCrtOrgId(),
|
|
72
80
|
set: true,
|
|
81
|
+
source: local?.crt === undefined ? 'global' : 'local',
|
|
73
82
|
};
|
|
74
83
|
}
|
|
75
84
|
export function getAiAuthStatus() {
|
|
76
|
-
const
|
|
85
|
+
const local = readAuthProfile('local');
|
|
86
|
+
const metadata = local?.ai ?? readAuthProfile('global')?.ai;
|
|
87
|
+
const credential = local?.ai === undefined ? getCredential('ai') : getCredentialForKey('ai', local.keychainId);
|
|
77
88
|
if (credential === null) {
|
|
78
89
|
return {
|
|
79
|
-
domain: getAiDomain(),
|
|
80
|
-
gatewayUrl: getAiGatewayUrl(),
|
|
81
|
-
orgId: getAiOrgId(),
|
|
90
|
+
domain: metadata?.domain ?? getAiDomain(),
|
|
91
|
+
gatewayUrl: metadata?.gatewayUrl ?? getAiGatewayUrl(),
|
|
92
|
+
orgId: metadata?.orgId ?? getAiOrgId(),
|
|
82
93
|
set: false,
|
|
83
|
-
workspaceId: getAiWorkspaceId(),
|
|
94
|
+
workspaceId: metadata?.workspaceId ?? getAiWorkspaceId(),
|
|
84
95
|
};
|
|
85
96
|
}
|
|
86
97
|
return {
|
|
87
|
-
domain: getAiDomain(),
|
|
88
|
-
gatewayUrl: getAiGatewayUrl(),
|
|
98
|
+
domain: metadata?.domain ?? getAiDomain(),
|
|
99
|
+
gatewayUrl: metadata?.gatewayUrl ?? getAiGatewayUrl(),
|
|
89
100
|
masked: maskSecret(credential),
|
|
90
|
-
orgId: getAiOrgId(),
|
|
101
|
+
orgId: metadata?.orgId ?? getAiOrgId(),
|
|
91
102
|
set: true,
|
|
92
|
-
|
|
103
|
+
source: local?.ai === undefined ? 'global' : 'local',
|
|
104
|
+
workspaceId: metadata?.workspaceId ?? getAiWorkspaceId(),
|
|
93
105
|
};
|
|
94
106
|
}
|
|
95
107
|
export function isCicdConfigured() {
|
|
@@ -156,35 +168,68 @@ function hasStoredAiConfig() {
|
|
|
156
168
|
getAiOrgId() !== null ||
|
|
157
169
|
getAiWorkspaceId() !== null);
|
|
158
170
|
}
|
|
159
|
-
async function unsetCicdAuth() {
|
|
160
|
-
const
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
171
|
+
async function unsetCicdAuth(scope) {
|
|
172
|
+
const local = scope === 'local' ? readAuthProfile('local') : undefined;
|
|
173
|
+
const hadConfig = scope === 'local' ? local?.cicd !== undefined : hasStoredCicdConfig();
|
|
174
|
+
if (scope === 'local') {
|
|
175
|
+
const keychainId = localProfileKeychainId('cicd');
|
|
176
|
+
if (keychainId === undefined)
|
|
177
|
+
return false;
|
|
178
|
+
deleteCredentialForKey('cicd', keychainId);
|
|
179
|
+
await deleteAuthProfile('local', 'cicd');
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
deleteCredential('cicd');
|
|
183
|
+
deleteCicdBaseUrl();
|
|
184
|
+
await deleteAuthProfile('global', 'cicd');
|
|
185
|
+
}
|
|
186
|
+
if (hadConfig && scope === 'global') {
|
|
164
187
|
await clearUserContext();
|
|
165
188
|
}
|
|
166
189
|
return hadConfig;
|
|
167
190
|
}
|
|
168
|
-
function unsetCrtAuth() {
|
|
169
|
-
const
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
191
|
+
async function unsetCrtAuth(scope) {
|
|
192
|
+
const local = scope === 'local' ? readAuthProfile('local') : undefined;
|
|
193
|
+
const hadConfig = scope === 'local' ? local?.crt !== undefined : hasStoredCrtConfig();
|
|
194
|
+
if (scope === 'local') {
|
|
195
|
+
const keychainId = localProfileKeychainId('crt');
|
|
196
|
+
if (keychainId === undefined)
|
|
197
|
+
return false;
|
|
198
|
+
deleteCredentialForKey('crt', keychainId);
|
|
199
|
+
await deleteAuthProfile('local', 'crt');
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
deleteCredential('crt');
|
|
203
|
+
deleteCrtDomain();
|
|
204
|
+
deleteCrtOrgId();
|
|
205
|
+
await deleteAuthProfile('global', 'crt');
|
|
206
|
+
}
|
|
173
207
|
return hadConfig;
|
|
174
208
|
}
|
|
175
|
-
function unsetAiAuth() {
|
|
176
|
-
const
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
209
|
+
async function unsetAiAuth(scope) {
|
|
210
|
+
const local = scope === 'local' ? readAuthProfile('local') : undefined;
|
|
211
|
+
const hadConfig = scope === 'local' ? local?.ai !== undefined : hasStoredAiConfig();
|
|
212
|
+
if (scope === 'local') {
|
|
213
|
+
const keychainId = localProfileKeychainId('ai');
|
|
214
|
+
if (keychainId === undefined)
|
|
215
|
+
return false;
|
|
216
|
+
deleteCredentialForKey('ai', keychainId);
|
|
217
|
+
await deleteAuthProfile('local', 'ai');
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
deleteCredential('ai');
|
|
221
|
+
deleteAiDomain();
|
|
222
|
+
deleteAiGatewayUrl();
|
|
223
|
+
deleteAiOrgId();
|
|
224
|
+
deleteAiWorkspaceId();
|
|
225
|
+
await deleteAuthProfile('global', 'ai');
|
|
226
|
+
}
|
|
182
227
|
return hadConfig;
|
|
183
228
|
}
|
|
184
|
-
export async function applyAuthUnset(types) {
|
|
229
|
+
export async function applyAuthUnset(types, scope = 'global') {
|
|
185
230
|
const removed = await Promise.all(types.map(async (type) => ({
|
|
186
231
|
label: credentialLabel(type),
|
|
187
|
-
removed: type === 'cicd' ? await unsetCicdAuth() : type === 'crt' ? unsetCrtAuth() : unsetAiAuth(),
|
|
232
|
+
removed: type === 'cicd' ? await unsetCicdAuth(scope) : type === 'crt' ? await unsetCrtAuth(scope) : await unsetAiAuth(scope),
|
|
188
233
|
type,
|
|
189
234
|
})));
|
|
190
235
|
return { removed };
|
|
@@ -193,14 +238,8 @@ export async function applyAuthUnset(types) {
|
|
|
193
238
|
// eslint-disable-next-line complexity
|
|
194
239
|
export async function applyAuthSet(input) {
|
|
195
240
|
const credentials = [];
|
|
196
|
-
const aiPak = input.
|
|
197
|
-
const crtPak = input.
|
|
198
|
-
if (input.aiPak !== undefined && input.ai !== undefined && input.aiPak !== input.ai) {
|
|
199
|
-
throw new AuthSetError('Use either --ai-pak or --ai, not conflicting values for both.');
|
|
200
|
-
}
|
|
201
|
-
if (input.crtPak !== undefined && input.crt !== undefined && input.crtPak !== input.crt) {
|
|
202
|
-
throw new AuthSetError('Use either --crt-pak or --crt, not conflicting values for both.');
|
|
203
|
-
}
|
|
241
|
+
const aiPak = input.ai;
|
|
242
|
+
const crtPak = input.crt;
|
|
204
243
|
if (aiPak !== undefined) {
|
|
205
244
|
credentials.push({ type: 'ai', value: aiPak });
|
|
206
245
|
}
|
|
@@ -220,7 +259,7 @@ export async function applyAuthSet(input) {
|
|
|
220
259
|
input.aiGatewayUrl === undefined &&
|
|
221
260
|
input.aiOrg === undefined &&
|
|
222
261
|
input.aiWorkspace === undefined) {
|
|
223
|
-
throw new AuthSetError('Must provide at least one of --cicd, --crt
|
|
262
|
+
throw new AuthSetError('Must provide at least one of --cicd, --crt, --crt-domain, --crt-org, --ai, --ai-domain, --ai-org, --ai-gateway-url, or --ai-workspace');
|
|
224
263
|
}
|
|
225
264
|
if (input.region !== undefined && !isCicdRegion(input.region)) {
|
|
226
265
|
throw new AuthSetError(`Invalid region "${input.region}"`);
|
|
@@ -309,27 +348,55 @@ export async function applyAuthSet(input) {
|
|
|
309
348
|
label: credentialLabel(type),
|
|
310
349
|
type,
|
|
311
350
|
}));
|
|
351
|
+
const scope = input.scope ?? 'global';
|
|
312
352
|
try {
|
|
353
|
+
if (scope === 'local' && credentials.length > 0) {
|
|
354
|
+
const currentProfile = readAuthProfile('local') ?? {};
|
|
355
|
+
if (currentProfile.keychainId === undefined) {
|
|
356
|
+
await writeAuthProfile('local', { ...currentProfile, keychainId: ensureLocalKeychainId() });
|
|
357
|
+
}
|
|
358
|
+
}
|
|
313
359
|
if (resolvedBaseUrl !== undefined) {
|
|
314
|
-
|
|
360
|
+
await updateAuthProfile(scope, 'cicd', { baseUrl: resolvedBaseUrl });
|
|
315
361
|
}
|
|
316
362
|
if (aiDomain !== undefined) {
|
|
317
|
-
|
|
363
|
+
await updateAuthProfile(scope, 'ai', {
|
|
364
|
+
domain: aiDomain,
|
|
365
|
+
gatewayUrl: aiGatewayUrl,
|
|
366
|
+
orgId: aiOrgId?.toString(),
|
|
367
|
+
workspaceId: aiWorkspaceId,
|
|
368
|
+
});
|
|
318
369
|
}
|
|
319
370
|
if (aiGatewayUrl !== undefined) {
|
|
320
|
-
|
|
371
|
+
await updateAuthProfile(scope, 'ai', {
|
|
372
|
+
domain: aiDomain,
|
|
373
|
+
gatewayUrl: aiGatewayUrl,
|
|
374
|
+
orgId: aiOrgId?.toString(),
|
|
375
|
+
workspaceId: aiWorkspaceId,
|
|
376
|
+
});
|
|
321
377
|
}
|
|
322
378
|
if (aiOrgId !== undefined) {
|
|
323
|
-
|
|
379
|
+
await updateAuthProfile(scope, 'ai', {
|
|
380
|
+
domain: aiDomain,
|
|
381
|
+
gatewayUrl: aiGatewayUrl,
|
|
382
|
+
orgId: aiOrgId.toString(),
|
|
383
|
+
workspaceId: aiWorkspaceId,
|
|
384
|
+
});
|
|
324
385
|
}
|
|
325
386
|
if (crtDomain !== undefined) {
|
|
326
|
-
|
|
387
|
+
await updateAuthProfile(scope, 'crt', { domain: crtDomain, orgId: crtOrgId?.toString() });
|
|
327
388
|
}
|
|
328
389
|
if (crtOrgId !== undefined) {
|
|
329
|
-
|
|
390
|
+
await updateAuthProfile(scope, 'crt', { domain: crtDomain, orgId: crtOrgId.toString() });
|
|
330
391
|
}
|
|
331
392
|
for (const { type, value } of credentials) {
|
|
332
|
-
|
|
393
|
+
if (scope === 'local') {
|
|
394
|
+
// Sequential writes preserve the shared local keychain identifier.
|
|
395
|
+
// eslint-disable-next-line no-await-in-loop
|
|
396
|
+
await updateAuthProfile(scope, type);
|
|
397
|
+
}
|
|
398
|
+
const keychainId = scope === 'local' ? readAuthProfile('local')?.keychainId : undefined;
|
|
399
|
+
setCredentialForKey(type, value, keychainId);
|
|
333
400
|
}
|
|
334
401
|
}
|
|
335
402
|
catch (error) {
|
|
@@ -348,7 +415,12 @@ export async function applyAuthSet(input) {
|
|
|
348
415
|
});
|
|
349
416
|
if (aiWorkspaceId !== undefined) {
|
|
350
417
|
try {
|
|
351
|
-
|
|
418
|
+
await updateAuthProfile(scope, 'ai', {
|
|
419
|
+
domain: aiDomain,
|
|
420
|
+
gatewayUrl: aiGatewayUrl,
|
|
421
|
+
orgId: aiOrgId?.toString(),
|
|
422
|
+
workspaceId: aiWorkspaceId,
|
|
423
|
+
});
|
|
352
424
|
}
|
|
353
425
|
catch (error) {
|
|
354
426
|
if (error instanceof CredentialStoreError) {
|
|
@@ -384,7 +456,6 @@ async function resolveCicdEndpoint(apiKey, region, customUrl) {
|
|
|
384
456
|
}
|
|
385
457
|
async function resolveAiWorkspaceForAuthSet(input, overrides) {
|
|
386
458
|
const aiTouched = input.ai !== undefined ||
|
|
387
|
-
input.aiPak !== undefined ||
|
|
388
459
|
input.aiDomain !== undefined ||
|
|
389
460
|
input.aiGatewayUrl !== undefined ||
|
|
390
461
|
input.aiOrg !== undefined ||
|
|
@@ -396,7 +467,7 @@ async function resolveAiWorkspaceForAuthSet(input, overrides) {
|
|
|
396
467
|
credentials = resolveAiCredentials(overrides);
|
|
397
468
|
}
|
|
398
469
|
catch (error) {
|
|
399
|
-
if (input.ai !== undefined || input.
|
|
470
|
+
if (input.ai !== undefined || input.aiWorkspace !== undefined) {
|
|
400
471
|
throw new AuthSetError(error.message, 1);
|
|
401
472
|
}
|
|
402
473
|
return overrides.workspace;
|