@copado/agentia-cli 0.96.0-alpha.0 → 0.97.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.
@@ -0,0 +1,12 @@
1
+ import { AgentiaCommand } from '../../../lib/agentia-command.js';
2
+ import { type CredentialListItem } from '../../../lib/environment-types.js';
3
+ export declare const CREDENTIAL_TABLE_DISPLAY_LIMIT = 100;
4
+ export declare function formatCredentialTable(credentials: CredentialListItem[]): string;
5
+ export default class CredentialList extends AgentiaCommand {
6
+ static description: string;
7
+ static examples: string[];
8
+ static flags: {
9
+ readonly environmentid: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
+ };
11
+ run(): Promise<CredentialListItem[]>;
12
+ }
@@ -0,0 +1,58 @@
1
+ import { AgentiaCommand } from '../../../lib/agentia-command.js';
2
+ import { credentialListFlags } from '../../../lib/environment-credential-flags.js';
3
+ import { listEnvironmentCredentials, sanitizeCredentialListItem, } from '../../../lib/environment-credential-operations.js';
4
+ import { cellValue, table } from '../../../lib/format.js';
5
+ export const CREDENTIAL_TABLE_DISPLAY_LIMIT = 100;
6
+ export function formatCredentialTable(credentials) {
7
+ const header = [
8
+ { alias: 'ID', value: 'id' },
9
+ { alias: 'NAME', value: 'name' },
10
+ { alias: 'USERNAME', value: 'username' },
11
+ { alias: 'ENVIRONMENT', value: 'environment' },
12
+ { alias: 'ORG ID', value: 'orgId' },
13
+ { alias: 'ORG TYPE', value: 'orgType' },
14
+ { alias: 'DEFAULT', value: 'defaultCredential' },
15
+ { alias: 'AUTHENTICATED', value: 'authenticated' },
16
+ { alias: 'LAST VALIDATED', value: 'lastValidationDate' },
17
+ ];
18
+ const rows = credentials.map((credential) => ({
19
+ authenticated: cellValue(credential.authenticated),
20
+ defaultCredential: cellValue(credential.defaultCredential),
21
+ environment: cellValue(credential.environmentName ?? credential.environment),
22
+ id: cellValue(credential.id),
23
+ lastValidationDate: cellValue(credential.lastValidationDate),
24
+ name: cellValue(credential.name),
25
+ orgId: cellValue(credential.orgId),
26
+ orgType: cellValue(credential.orgType),
27
+ username: cellValue(credential.username),
28
+ }));
29
+ return table(header, rows);
30
+ }
31
+ export default class CredentialList extends AgentiaCommand {
32
+ static description = 'List credentials for a Copado environment';
33
+ static examples = [
34
+ '<%= config.bin %> <%= command.id %> --environmentid <environment-id>',
35
+ '<%= config.bin %> <%= command.id %> --environmentid "Dev Sandbox"',
36
+ '<%= config.bin %> <%= command.id %> --environmentid <environment-id> --json',
37
+ ];
38
+ static flags = credentialListFlags;
39
+ async run() {
40
+ const { flags } = await this.parse(CredentialList);
41
+ const response = await this.withSpinner('Fetching environment credentials', () => listEnvironmentCredentials(flags.environmentid));
42
+ const credentials = response.map((credential) => sanitizeCredentialListItem(credential));
43
+ this.display(() => {
44
+ if (credentials.length === 0) {
45
+ this.log('No credentials found.');
46
+ return;
47
+ }
48
+ const truncated = credentials.length > CREDENTIAL_TABLE_DISPLAY_LIMIT;
49
+ const displayedCredentials = truncated ? credentials.slice(0, CREDENTIAL_TABLE_DISPLAY_LIMIT) : credentials;
50
+ if (truncated) {
51
+ this.log(`Showing first ${CREDENTIAL_TABLE_DISPLAY_LIMIT} of ${credentials.length} credentials.`);
52
+ }
53
+ this.log(formatCredentialTable(displayedCredentials));
54
+ });
55
+ return credentials;
56
+ }
57
+ }
58
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/cicd/credential/list.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Args } from '@oclif/core';
2
2
  import { AgentiaCommand } from '../../../lib/agentia-command.js';
3
3
  import { CicdGateway } from '../../../lib/cicd-gateway.js';
4
+ import { sanitizeEnvironment } from '../../../lib/environment-credential-operations.js';
4
5
  import { environmentEndpoint, formatEnvironmentDetail } from '../../../lib/environment-types.js';
5
6
  export default class EnvironmentGet extends AgentiaCommand {
6
7
  static args = {
@@ -17,10 +18,10 @@ export default class EnvironmentGet extends AgentiaCommand {
17
18
  ];
18
19
  async run() {
19
20
  const { args } = await this.parse(EnvironmentGet);
20
- const environment = await this.withSpinner('Fetching environment', () => CicdGateway.call({
21
+ const environment = sanitizeEnvironment(await this.withSpinner('Fetching environment', () => CicdGateway.call({
21
22
  endpoint: environmentEndpoint(args.id),
22
23
  method: 'GET',
23
- }));
24
+ })));
24
25
  this.display(() => {
25
26
  this.log(formatEnvironmentDetail(environment));
26
27
  });
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/commands/cicd/environment/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AACxD,OAAO,EAAmB,mBAAmB,EAAE,uBAAuB,EAAC,MAAM,mCAAmC,CAAA;AAEhH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,cAAc;IACxD,MAAM,CAAU,IAAI,GAAG;QACrB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC;YACd,WAAW,EAAE,uBAAuB;YACpC,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IACD,MAAM,CAAU,WAAW,GAAG,gCAAgC,CAAA;IAC9D,MAAM,CAAU,QAAQ,GAAG;QACzB,uDAAuD;QACvD,8DAA8D;KAC/D,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QAE/C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,GAAG,EAAE,CACtE,WAAW,CAAC,IAAI,CAAc;YAC5B,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,EAAE,KAAK;SACd,CAAC,CACH,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAA;QAChD,CAAC,CAAC,CAAA;QAEF,OAAO,WAAW,CAAA;IACpB,CAAC"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/commands/cicd/environment/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AACxD,OAAO,EAAC,mBAAmB,EAAC,MAAM,mDAAmD,CAAA;AACrF,OAAO,EAAmB,mBAAmB,EAAE,uBAAuB,EAAC,MAAM,mCAAmC,CAAA;AAEhH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,cAAc;IACxD,MAAM,CAAU,IAAI,GAAG;QACrB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC;YACd,WAAW,EAAE,uBAAuB;YACpC,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IACD,MAAM,CAAU,WAAW,GAAG,gCAAgC,CAAA;IAC9D,MAAM,CAAU,QAAQ,GAAG;QACzB,uDAAuD;QACvD,8DAA8D;KAC/D,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QAE/C,MAAM,WAAW,GAAG,mBAAmB,CACrC,MAAM,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAClD,WAAW,CAAC,IAAI,CAAc;YAC5B,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,EAAE,KAAK;SACd,CAAC,CACH,CACF,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAA;QAChD,CAAC,CAAC,CAAA;QAEF,OAAO,WAAW,CAAA;IACpB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { Args } from '@oclif/core';
2
2
  import { AgentiaCommand } from '../../../lib/agentia-command.js';
3
3
  import { CicdGateway } from '../../../lib/cicd-gateway.js';
4
+ import { sanitizeEnvironment } from '../../../lib/environment-credential-operations.js';
4
5
  import { buildMutationPayload, collectMutationFlagKeys, ENVIRONMENT_STRING_VALIDATION_KEYS, environmentUpdateFlags, validateNonEmptyStringFields, } from '../../../lib/environment-flags.js';
5
6
  import { environmentEndpoint } from '../../../lib/environment-types.js';
6
7
  export default class EnvironmentUpdate extends AgentiaCommand {
@@ -51,14 +52,14 @@ export default class EnvironmentUpdate extends AgentiaCommand {
51
52
  if (payload.name === undefined || payload.platform === undefined || requiredFieldError !== undefined) {
52
53
  this.error('Environment name and platform are required to update an environment.', { exit: 2 });
53
54
  }
54
- const environment = await this.withSpinner('Updating environment', () => CicdGateway.call({
55
+ const environment = sanitizeEnvironment(await this.withSpinner('Updating environment', () => CicdGateway.call({
55
56
  body: payload,
56
57
  endpoint: environmentEndpoint(args.id),
57
58
  headers: {
58
59
  'Content-Type': 'application/json',
59
60
  },
60
61
  method: 'PATCH',
61
- }));
62
+ })));
62
63
  this.display(() => {
63
64
  const name = environment.name ?? 'unknown name';
64
65
  const id = environment.id ?? args.id;
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/commands/cicd/environment/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/commands/cicd/environment/update.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,9 @@ export declare const credentialUpdateFlags: {
16
16
  readonly environmentid: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
17
17
  readonly name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
18
  };
19
+ export declare const credentialListFlags: {
20
+ readonly environmentid: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
21
+ };
19
22
  export type CredentialUpdateFlagValues = {
20
23
  default?: boolean;
21
24
  name?: string;
@@ -34,6 +34,9 @@ export const credentialUpdateFlags = {
34
34
  description: 'Credential name',
35
35
  }),
36
36
  };
37
+ export const credentialListFlags = {
38
+ environmentid: credentialEnvironmentIdFlag,
39
+ };
37
40
  export function collectCredentialUpdateFlagKeys(flags) {
38
41
  const selected = [];
39
42
  if (flags.name !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"environment-credential-flags.js","sourceRoot":"","sources":["../../src/lib/environment-credential-flags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAIjC,MAAM,CAAC,MAAM,6CAA6C,GACxD,mFAAmF,CAAA;AACrF,MAAM,CAAC,MAAM,iCAAiC,GAAG,gEAAgE,CAAA;AAEjH,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IAC/C,QAAQ,GAAG,CAAC,CAAA;IAErB,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAA;IAC/C,CAAC;CACF;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,CAAC,MAAM,CAAC;IACtD,WAAW,EAAE,uBAAuB;IACpC,QAAQ,EAAE,IAAI;CACf,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;QACrB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,iDAAiD;KAC/D,CAAC;IACF,aAAa,EAAE,2BAA2B;IAC1C,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;QACjB,WAAW,EAAE,iBAAiB;QAC9B,QAAQ,EAAE,IAAI;KACf,CAAC;CACM,CAAA;AAEV,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;QACrB,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,iDAAiD;KAC/D,CAAC;IACF,aAAa,EAAE,2BAA2B;IAC1C,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;QACjB,WAAW,EAAE,iBAAiB;KAC/B,CAAC;CACM,CAAA;AAOV,MAAM,UAAU,+BAA+B,CAAC,KAAiC;IAC/E,MAAM,QAAQ,GAA8B,EAAE,CAAA;IAE9C,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACvB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC1B,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAwB;IAC7D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO,4BAA4B,CAAA;IACrC,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,IAAY,EACZ,OAAe,EACf,iBAA0B;IAE1B,OAAO;QACL,iBAAiB;QACjB,IAAI;QACJ,OAAO;KACR,CAAA;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,OAAe,EACf,KAAiC;IAEjC,MAAM,OAAO,GAAyC,EAAC,OAAO,EAAC,CAAA;IAE/D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IAC3B,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAA;IAC3C,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"environment-credential-flags.js","sourceRoot":"","sources":["../../src/lib/environment-credential-flags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAIjC,MAAM,CAAC,MAAM,6CAA6C,GACxD,mFAAmF,CAAA;AACrF,MAAM,CAAC,MAAM,iCAAiC,GAAG,gEAAgE,CAAA;AAEjH,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IAC/C,QAAQ,GAAG,CAAC,CAAA;IAErB,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAA;IAC/C,CAAC;CACF;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,CAAC,MAAM,CAAC;IACtD,WAAW,EAAE,uBAAuB;IACpC,QAAQ,EAAE,IAAI;CACf,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;QACrB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,iDAAiD;KAC/D,CAAC;IACF,aAAa,EAAE,2BAA2B;IAC1C,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;QACjB,WAAW,EAAE,iBAAiB;QAC9B,QAAQ,EAAE,IAAI;KACf,CAAC;CACM,CAAA;AAEV,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;QACrB,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,iDAAiD;KAC/D,CAAC;IACF,aAAa,EAAE,2BAA2B;IAC1C,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;QACjB,WAAW,EAAE,iBAAiB;KAC/B,CAAC;CACM,CAAA;AAEV,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,aAAa,EAAE,2BAA2B;CAClC,CAAA;AAOV,MAAM,UAAU,+BAA+B,CAAC,KAAiC;IAC/E,MAAM,QAAQ,GAA8B,EAAE,CAAA;IAE9C,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACvB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC1B,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAwB;IAC7D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO,4BAA4B,CAAA;IACrC,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,IAAY,EACZ,OAAe,EACf,iBAA0B;IAE1B,OAAO;QACL,iBAAiB;QACjB,IAAI;QACJ,OAAO;KACR,CAAA;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,OAAe,EACf,KAAiC;IAEjC,MAAM,OAAO,GAAyC,EAAC,OAAO,EAAC,CAAA;IAE/D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IAC3B,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAA;IAC3C,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -1,4 +1,7 @@
1
- import { type EnvironmentCredential } from './environment-types.js';
1
+ import { type CredentialListItem, type Environment, type EnvironmentCredential } from './environment-types.js';
2
+ export declare function sanitizeCredentialListItem(credential: Record<string, unknown>): CredentialListItem;
3
+ export declare function sanitizeEnvironment(environment: Environment): Environment;
4
+ export declare function normalizeEnvironmentCredentials(environment: Environment): CredentialListItem[];
2
5
  export declare function resolveEnvironmentOrgType(environmentId: string): Promise<string>;
3
6
  export declare function createEnvironmentCredential(input: {
4
7
  defaultCredential: boolean;
@@ -6,6 +9,7 @@ export declare function createEnvironmentCredential(input: {
6
9
  name: string;
7
10
  orgType: string;
8
11
  }): Promise<EnvironmentCredential>;
12
+ export declare function listEnvironmentCredentials(environmentIdOrName: string): Promise<CredentialListItem[]>;
9
13
  export declare function updateEnvironmentCredential(input: {
10
14
  credentialId: string;
11
15
  defaultCredential?: boolean;
@@ -1,6 +1,25 @@
1
1
  import { CicdGateway } from './cicd-gateway.js';
2
2
  import { buildCredentialCreatePayload, buildCredentialUpdatePayload, CUSTOM_DOMAIN_CREDENTIALS_UNSUPPORTED_MESSAGE, ENVIRONMENT_TYPE_REQUIRED_MESSAGE, EnvironmentCredentialInputError, } from './environment-credential-flags.js';
3
3
  import { environmentCredentialEndpoint, environmentCredentialsEndpoint, environmentEndpoint, } from './environment-types.js';
4
+ export function sanitizeCredentialListItem(credential) {
5
+ const { signature, ...safeCredential } = credential;
6
+ if (safeCredential.authenticated === undefined && typeof signature === 'string') {
7
+ safeCredential.authenticated = signature.trim().length > 0;
8
+ }
9
+ return safeCredential;
10
+ }
11
+ export function sanitizeEnvironment(environment) {
12
+ if (!Array.isArray(environment.credentials)) {
13
+ return environment;
14
+ }
15
+ return {
16
+ ...environment,
17
+ credentials: environment.credentials.map((credential) => sanitizeCredentialListItem(credential)),
18
+ };
19
+ }
20
+ export function normalizeEnvironmentCredentials(environment) {
21
+ return (sanitizeEnvironment(environment).credentials ?? []);
22
+ }
4
23
  export async function resolveEnvironmentOrgType(environmentId) {
5
24
  const environment = await CicdGateway.call({
6
25
  endpoint: environmentEndpoint(environmentId),
@@ -25,6 +44,13 @@ export async function createEnvironmentCredential(input) {
25
44
  method: 'POST',
26
45
  });
27
46
  }
47
+ export async function listEnvironmentCredentials(environmentIdOrName) {
48
+ const environment = await CicdGateway.call({
49
+ endpoint: environmentEndpoint(environmentIdOrName),
50
+ method: 'GET',
51
+ });
52
+ return normalizeEnvironmentCredentials(environment);
53
+ }
28
54
  export async function updateEnvironmentCredential(input) {
29
55
  return CicdGateway.call({
30
56
  body: buildCredentialUpdatePayload(input.orgType, {
@@ -1 +1 @@
1
- {"version":3,"file":"environment-credential-operations.js","sourceRoot":"","sources":["../../src/lib/environment-credential-operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,6CAA6C,EAC7C,iCAAiC,EACjC,+BAA+B,GAChC,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAGL,6BAA6B,EAC7B,8BAA8B,EAC9B,mBAAmB,GACpB,MAAM,wBAAwB,CAAA;AAE/B,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,aAAqB;IACnE,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,IAAI,CAAc;QACtD,QAAQ,EAAE,mBAAmB,CAAC,aAAa,CAAC;QAC5C,MAAM,EAAE,KAAK;KACd,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAEnF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,+BAA+B,CAAC,iCAAiC,CAAC,CAAA;IAC9E,CAAC;IAED,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;QAChC,MAAM,IAAI,+BAA+B,CAAC,6CAA6C,CAAC,CAAA;IAC1F,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,KAKjD;IACC,OAAO,WAAW,CAAC,IAAI,CAAwB;QAC7C,IAAI,EAAE,4BAA4B,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC;QACtF,QAAQ,EAAE,8BAA8B,CAAC,KAAK,CAAC,aAAa,CAAC;QAC7D,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QACD,MAAM,EAAE,MAAM;KACf,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,KAMjD;IACC,OAAO,WAAW,CAAC,IAAI,CAAwB;QAC7C,IAAI,EAAE,4BAA4B,CAAC,KAAK,CAAC,OAAO,EAAE;YAChD,OAAO,EAAE,KAAK,CAAC,iBAAiB;YAChC,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC;QACF,QAAQ,EAAE,6BAA6B,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC;QAChF,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QACD,MAAM,EAAE,OAAO;KAChB,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"environment-credential-operations.js","sourceRoot":"","sources":["../../src/lib/environment-credential-operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,6CAA6C,EAC7C,iCAAiC,EACjC,+BAA+B,GAChC,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAIL,6BAA6B,EAC7B,8BAA8B,EAC9B,mBAAmB,GACpB,MAAM,wBAAwB,CAAA;AAE/B,MAAM,UAAU,0BAA0B,CAAC,UAAmC;IAC5E,MAAM,EAAC,SAAS,EAAE,GAAG,cAAc,EAAC,GAAG,UAAU,CAAA;IAEjD,IAAI,cAAc,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChF,cAAc,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAA;IAC5D,CAAC;IAED,OAAO,cAAoC,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAAwB;IAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5C,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,OAAO;QACL,GAAG,WAAW;QACd,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CACtD,0BAA0B,CAAC,UAAqC,CAAC,CAClE;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,WAAwB;IACtE,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,WAAW,IAAI,EAAE,CAAyB,CAAA;AACrF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,aAAqB;IACnE,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,IAAI,CAAc;QACtD,QAAQ,EAAE,mBAAmB,CAAC,aAAa,CAAC;QAC5C,MAAM,EAAE,KAAK;KACd,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAEnF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,+BAA+B,CAAC,iCAAiC,CAAC,CAAA;IAC9E,CAAC;IAED,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;QAChC,MAAM,IAAI,+BAA+B,CAAC,6CAA6C,CAAC,CAAA;IAC1F,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,KAKjD;IACC,OAAO,WAAW,CAAC,IAAI,CAAwB;QAC7C,IAAI,EAAE,4BAA4B,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC;QACtF,QAAQ,EAAE,8BAA8B,CAAC,KAAK,CAAC,aAAa,CAAC;QAC7D,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QACD,MAAM,EAAE,MAAM;KACf,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,mBAA2B;IAE3B,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,IAAI,CAAc;QACtD,QAAQ,EAAE,mBAAmB,CAAC,mBAAmB,CAAC;QAClD,MAAM,EAAE,KAAK;KACd,CAAC,CAAA;IAEF,OAAO,+BAA+B,CAAC,WAAW,CAAC,CAAA;AACrD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,KAMjD;IACC,OAAO,WAAW,CAAC,IAAI,CAAwB;QAC7C,IAAI,EAAE,4BAA4B,CAAC,KAAK,CAAC,OAAO,EAAE;YAChD,OAAO,EAAE,KAAK,CAAC,iBAAiB;YAChC,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC;QACF,QAAQ,EAAE,6BAA6B,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC;QAChF,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QACD,MAAM,EAAE,OAAO;KAChB,CAAC,CAAA;AACJ,CAAC"}
@@ -21,6 +21,9 @@ export type EnvironmentCredential = {
21
21
  signature?: string;
22
22
  username?: string;
23
23
  };
24
+ export type CredentialListItem = Omit<EnvironmentCredential, 'signature'> & {
25
+ authenticated?: boolean;
26
+ };
24
27
  export type EnvironmentCredentialMutationPayload = {
25
28
  defaultCredential?: boolean;
26
29
  name?: string;
@@ -24,13 +24,13 @@ export function environmentsListEndpoint(filters = {}) {
24
24
  return query.length > 0 ? `/corpus/environments?${query}` : '/corpus/environments';
25
25
  }
26
26
  export function environmentEndpoint(id) {
27
- return `/corpus/environments/${normalizeSalesforceId(id)}`;
27
+ return `/corpus/environments/${encodeURIComponent(normalizeSalesforceId(id))}`;
28
28
  }
29
29
  export function environmentCredentialsEndpoint(environmentId) {
30
- return `/corpus/environments/${normalizeSalesforceId(environmentId)}/credentials/`;
30
+ return `/corpus/environments/${encodeURIComponent(normalizeSalesforceId(environmentId))}/credentials/`;
31
31
  }
32
32
  export function environmentCredentialEndpoint(environmentId, credentialId) {
33
- return `/corpus/environments/${normalizeSalesforceId(environmentId)}/credentials/${normalizeSalesforceId(credentialId)}`;
33
+ return `/corpus/environments/${encodeURIComponent(normalizeSalesforceId(environmentId))}/credentials/${encodeURIComponent(normalizeSalesforceId(credentialId))}`;
34
34
  }
35
35
  export function environmentCredentialAuthUrlEndpoint(environmentId, credentialId, redirectUrl) {
36
36
  const endpoint = `/corpus/environments/${normalizeSalesforceId(environmentId)}/credentials/${normalizeSalesforceId(credentialId)}/auth-url`;
@@ -1 +1 @@
1
- {"version":3,"file":"environment-types.js","sourceRoot":"","sources":["../../src/lib/environment-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"environment-types.js","sourceRoot":"","sources":["../../src/lib/environment-types.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,9 @@ type CredentialUpdateArgs = {
55
55
  id: string;
56
56
  name?: string;
57
57
  };
58
+ type CredentialListArgs = {
59
+ environmentId: string;
60
+ };
58
61
  type JobListArgs = JobListFilters & {
59
62
  mine?: boolean;
60
63
  };
@@ -289,6 +292,9 @@ declare function environmentUpdate(args: EnvironmentUpdateArgs): Promise<{
289
292
  declare function credentialCreate(args: CredentialCreateArgs): Promise<{
290
293
  credential: import("../environment-types.js").EnvironmentCredential;
291
294
  }>;
295
+ declare function credentialList(args: CredentialListArgs): Promise<{
296
+ credentials: import("../environment-types.js").CredentialListItem[];
297
+ }>;
292
298
  declare function credentialUpdate(args: CredentialUpdateArgs): Promise<{
293
299
  credential: import("../environment-types.js").EnvironmentCredential;
294
300
  }>;
@@ -1250,6 +1256,7 @@ export declare const agentiaMcpToolHandlers: {
1250
1256
  authGet: typeof authGet;
1251
1257
  authSet: typeof authSet;
1252
1258
  credentialCreate: typeof credentialCreate;
1259
+ credentialList: typeof credentialList;
1253
1260
  credentialUpdate: typeof credentialUpdate;
1254
1261
  environmentAuthStatus: typeof environmentAuthStatus;
1255
1262
  environmentCreate: typeof environmentCreate;
@@ -13,7 +13,7 @@ import { credentialLabel, } from '../credential-store.js';
13
13
  import { readDefaults, readLastWorkItem, resolveDefaults, unsetDefaults, writeDefaults } from '../defaults-store.js';
14
14
  import { runEnvironmentAuthStatus } from '../environment-auth-status.js';
15
15
  import { collectCredentialUpdateFlagKeys, validateCredentialName } from '../environment-credential-flags.js';
16
- import { createEnvironmentCredential, resolveEnvironmentOrgType, updateEnvironmentCredential, } from '../environment-credential-operations.js';
16
+ import { createEnvironmentCredential, listEnvironmentCredentials, resolveEnvironmentOrgType, sanitizeEnvironment, updateEnvironmentCredential, } from '../environment-credential-operations.js';
17
17
  import { buildCreatePayload, buildMutationPayload, ENVIRONMENT_STRING_VALIDATION_KEYS, validateNonEmptyStringFields, } from '../environment-flags.js';
18
18
  import { DEFAULT_ENVIRONMENT_PLATFORM, DEFAULT_ENVIRONMENT_TYPE, ENVIRONMENT_TYPES, environmentEndpoint, environmentsListEndpoint, } from '../environment-types.js';
19
19
  import { executeLocalFunctionRun } from '../function-local-run.js';
@@ -55,10 +55,10 @@ async function environmentList(args = {}) {
55
55
  return mcpPaginatedListPayload('environments', normalizeEnvironmentsListPage(response));
56
56
  }
57
57
  async function environmentGet(args) {
58
- const environment = await CicdGateway.call({
58
+ const environment = sanitizeEnvironment(await CicdGateway.call({
59
59
  endpoint: environmentEndpoint(assertRequired(args.id, 'id')),
60
60
  method: 'GET',
61
- });
61
+ }));
62
62
  return { environment };
63
63
  }
64
64
  const silentPromotionRunHooks = {
@@ -180,12 +180,12 @@ async function environmentUpdate(args) {
180
180
  if (payload.name === undefined || payload.platform === undefined) {
181
181
  throw new Error('Environment name and platform are required to update an environment.');
182
182
  }
183
- const environment = await CicdGateway.call({
183
+ const environment = sanitizeEnvironment(await CicdGateway.call({
184
184
  body: payload,
185
185
  endpoint: environmentEndpoint(args.id),
186
186
  headers: { 'Content-Type': 'application/json' },
187
187
  method: 'PATCH',
188
- });
188
+ }));
189
189
  return { environment };
190
190
  }
191
191
  async function credentialCreate(args) {
@@ -203,6 +203,10 @@ async function credentialCreate(args) {
203
203
  });
204
204
  return { credential };
205
205
  }
206
+ async function credentialList(args) {
207
+ const credentials = await listEnvironmentCredentials(assertRequired(args.environmentId, 'environmentId'));
208
+ return { credentials };
209
+ }
206
210
  async function credentialUpdate(args) {
207
211
  const selectedKeys = collectCredentialUpdateFlagKeys({
208
212
  default: args.default,
@@ -1123,6 +1127,7 @@ export const agentiaMcpToolHandlers = wrapMcpToolHandlers({
1123
1127
  authGet,
1124
1128
  authSet,
1125
1129
  credentialCreate,
1130
+ credentialList,
1126
1131
  credentialUpdate,
1127
1132
  environmentAuthStatus,
1128
1133
  environmentCreate,
@@ -1320,6 +1325,13 @@ export function registerAgentiaMcpTools(server) {
1320
1325
  },
1321
1326
  title: 'Agentia Credential Create',
1322
1327
  }, (args) => safelyHandleTool(() => credentialCreate(args)));
1328
+ server.registerTool('agentia_credential_list', {
1329
+ description: 'List credentials for a Copado environment via the CICD gateway.',
1330
+ inputSchema: {
1331
+ environmentId: z.string().describe('Copado environment Id or name.'),
1332
+ },
1333
+ title: 'Agentia Credential List',
1334
+ }, (args) => safelyHandleTool(() => credentialList(args)));
1323
1335
  server.registerTool('agentia_credential_update', {
1324
1336
  description: 'Update a Copado environment credential by Id via the CICD gateway.',
1325
1337
  inputSchema: {