@copado/agentia-cli 0.11.0-alpha.0 → 0.14.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 +130 -92
- package/dist/commands/promotion/get.d.ts +10 -0
- package/dist/commands/promotion/get.js +31 -0
- package/dist/commands/promotion/get.js.map +1 -0
- package/dist/commands/promotion/list.d.ts +30 -0
- package/dist/commands/promotion/list.js +48 -0
- package/dist/commands/promotion/list.js.map +1 -0
- package/dist/lib/cicd-gateway.d.ts +4 -0
- package/dist/lib/cicd-gateway.js +112 -15
- package/dist/lib/cicd-gateway.js.map +1 -1
- package/dist/lib/env-file.d.ts +5 -0
- package/dist/lib/env-file.js +41 -0
- package/dist/lib/env-file.js.map +1 -0
- package/dist/lib/local-gateway-config.d.ts +21 -0
- package/dist/lib/local-gateway-config.js +53 -0
- package/dist/lib/local-gateway-config.js.map +1 -0
- package/dist/lib/mcp/tools.d.ts +12 -0
- package/dist/lib/mcp/tools.js +58 -10
- package/dist/lib/mcp/tools.js.map +1 -1
- package/dist/lib/promotion-flags.d.ts +21 -0
- package/dist/lib/promotion-flags.js +77 -0
- package/dist/lib/promotion-flags.js.map +1 -0
- package/dist/lib/promotion-types.d.ts +188 -0
- package/dist/lib/promotion-types.js +145 -0
- package/dist/lib/promotion-types.js.map +1 -0
- package/dist/lib/sf-org-context.d.ts +13 -0
- package/dist/lib/sf-org-context.js +151 -0
- package/dist/lib/sf-org-context.js.map +1 -0
- package/oclif.manifest.json +646 -476
- package/package.json +3 -1
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { AgentiaCommand } from '../../lib/agentia-command.js';
|
|
2
|
+
import { CicdGateway } from '../../lib/cicd-gateway.js';
|
|
3
|
+
import { buildPromotionListFilters, promotionListFilterFlags } from '../../lib/promotion-flags.js';
|
|
4
|
+
import { formatPromotionTable, normalizePromotions, promotionListEndpoint, } from '../../lib/promotion-types.js';
|
|
5
|
+
export const PROMOTION_TABLE_DISPLAY_LIMIT = 100;
|
|
6
|
+
export function selectPromotionsForTableDisplay(promotions) {
|
|
7
|
+
const total = promotions.length;
|
|
8
|
+
const truncated = total > PROMOTION_TABLE_DISPLAY_LIMIT;
|
|
9
|
+
return {
|
|
10
|
+
displayed: truncated ? promotions.slice(0, PROMOTION_TABLE_DISPLAY_LIMIT) : promotions,
|
|
11
|
+
total,
|
|
12
|
+
truncated,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export function formatPromotionTableTruncationMessage(total) {
|
|
16
|
+
return `Showing first ${PROMOTION_TABLE_DISPLAY_LIMIT} of ${total} promotions.`;
|
|
17
|
+
}
|
|
18
|
+
export default class PromotionList extends AgentiaCommand {
|
|
19
|
+
static description = 'List Copado promotions';
|
|
20
|
+
static examples = [
|
|
21
|
+
'<%= config.bin %> <%= command.id %>',
|
|
22
|
+
'<%= config.bin %> <%= command.id %> --status Completed --project-name "My Project" --limit 50',
|
|
23
|
+
'<%= config.bin %> <%= command.id %> --json',
|
|
24
|
+
];
|
|
25
|
+
static flags = promotionListFilterFlags;
|
|
26
|
+
async run() {
|
|
27
|
+
const { flags } = await this.parse(PromotionList);
|
|
28
|
+
const filters = buildPromotionListFilters(flags);
|
|
29
|
+
const response = await this.withSpinner('Fetching promotions', () => CicdGateway.call({
|
|
30
|
+
endpoint: promotionListEndpoint(filters),
|
|
31
|
+
method: 'GET',
|
|
32
|
+
}));
|
|
33
|
+
const promotions = normalizePromotions(response);
|
|
34
|
+
this.display(() => {
|
|
35
|
+
if (promotions.length === 0) {
|
|
36
|
+
this.log('No promotions found.');
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const { displayed, total, truncated } = selectPromotionsForTableDisplay(promotions);
|
|
40
|
+
if (truncated) {
|
|
41
|
+
this.log(formatPromotionTableTruncationMessage(total));
|
|
42
|
+
}
|
|
43
|
+
this.log(formatPromotionTable(displayed));
|
|
44
|
+
});
|
|
45
|
+
return promotions;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/promotion/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAC,yBAAyB,EAAE,wBAAwB,EAAC,MAAM,8BAA8B,CAAA;AAChG,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EAEnB,qBAAqB,GAEtB,MAAM,8BAA8B,CAAA;AAErC,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAA;AAEhD,MAAM,UAAU,+BAA+B,CAAC,UAAuB;IAKrE,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAA;IAC/B,MAAM,SAAS,GAAG,KAAK,GAAG,6BAA6B,CAAA;IAEvD,OAAO;QACL,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,6BAA6B,CAAC,CAAC,CAAC,CAAC,UAAU;QACtF,KAAK;QACL,SAAS;KACV,CAAA;AACH,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,KAAa;IACjE,OAAO,iBAAiB,6BAA6B,OAAO,KAAK,cAAc,CAAA;AACjF,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,cAAc;IACvD,MAAM,CAAU,WAAW,GAAG,wBAAwB,CAAA;IACtD,MAAM,CAAU,QAAQ,GAAG;QACzB,qCAAqC;QACrC,+FAA+F;QAC/F,4CAA4C;KAC7C,CAAA;IACD,MAAM,CAAU,KAAK,GAAG,wBAAwB,CAAA;IAEzC,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QAC/C,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAA;QAEhD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAClE,WAAW,CAAC,IAAI,CAAwB;YACtC,QAAQ,EAAE,qBAAqB,CAAC,OAAO,CAAC;YACxC,MAAM,EAAE,KAAK;SACd,CAAC,CACH,CAAA;QAED,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QAEhD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;gBAChC,OAAM;YACR,CAAC;YAED,MAAM,EAAC,SAAS,EAAE,KAAK,EAAE,SAAS,EAAC,GAAG,+BAA+B,CAAC,UAAU,CAAC,CAAA;YAEjF,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC,GAAG,CAAC,qCAAqC,CAAC,KAAK,CAAC,CAAC,CAAA;YACxD,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAA;QAEF,OAAO,UAAU,CAAA;IACnB,CAAC"}
|
|
@@ -7,6 +7,9 @@ export type CicdRequest = {
|
|
|
7
7
|
method: 'DELETE' | 'GET' | 'PATCH' | 'POST' | 'PUT';
|
|
8
8
|
responseType?: 'json' | 'text';
|
|
9
9
|
};
|
|
10
|
+
export type HttpRequestOptions = {
|
|
11
|
+
rejectUnauthorized?: boolean;
|
|
12
|
+
};
|
|
10
13
|
export type CicdResponse<T = unknown> = {
|
|
11
14
|
data?: T;
|
|
12
15
|
message?: string;
|
|
@@ -62,6 +65,7 @@ export declare function discoverCicdBaseUrl(apiKey: string): Promise<string>;
|
|
|
62
65
|
export declare function resolveAndValidateCicdEndpoint(apiKey: string, options: CicdEndpointOptions): Promise<string>;
|
|
63
66
|
export declare function setHttpRequestForTests(requestFn: HttpRequestFn): void;
|
|
64
67
|
export declare function resetHttpRequestForTests(): void;
|
|
68
|
+
export declare function getActiveHttpRequestOptionsForTests(): HttpRequestOptions;
|
|
65
69
|
export declare class CicdGateway {
|
|
66
70
|
static call<T = unknown>(request: CicdRequest, onDebugRequest?: (debugRequest: CicdDebugRequest) => void): Promise<T>;
|
|
67
71
|
static resolveAndValidateEndpoint(apiKey: string, options: CicdEndpointOptions): Promise<string>;
|
package/dist/lib/cicd-gateway.js
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
|
+
import * as http from 'node:http';
|
|
1
2
|
import * as https from 'node:https';
|
|
2
3
|
import { createRequire } from 'node:module';
|
|
3
4
|
import { URL } from 'node:url';
|
|
4
5
|
import { v7 as uuidv7 } from 'uuid';
|
|
5
6
|
import { CICD_REGIONS, cicdBaseUrl } from './cicd-region.js';
|
|
6
7
|
import { getCicdBaseUrl, getCredential } from './credential-store.js';
|
|
8
|
+
import { normalizeLocalGatewayBaseUrl, readLocalGatewayConfig } from './local-gateway-config.js';
|
|
9
|
+
import { getSfOrgContext } from './sf-org-context.js';
|
|
7
10
|
const require = createRequire(import.meta.url);
|
|
8
11
|
const packageJson = require('../../package.json');
|
|
9
12
|
const CICD_API_PATH = '/json/v1/webhook/cicd-api';
|
|
10
13
|
const CICD_VALIDATION_ENDPOINT = '/health';
|
|
14
|
+
let activeHttpRequestOptions = {};
|
|
11
15
|
export class CicdGatewayError extends Error {
|
|
12
16
|
categories;
|
|
13
17
|
code;
|
|
@@ -122,19 +126,31 @@ export function maskedCicdApiUrl(serverUrl) {
|
|
|
122
126
|
return endpoint.toString();
|
|
123
127
|
}
|
|
124
128
|
function defaultHttpsJsonRequest(url, method, headers, body) {
|
|
125
|
-
const
|
|
129
|
+
const hasBody = body !== undefined;
|
|
130
|
+
const payload = hasBody ? JSON.stringify(body) : '';
|
|
131
|
+
const requestHeaders = {
|
|
132
|
+
Accept: 'application/json',
|
|
133
|
+
...headers,
|
|
134
|
+
};
|
|
135
|
+
const { rejectUnauthorized } = activeHttpRequestOptions;
|
|
136
|
+
const transport = url.protocol === 'http:' ? http : https;
|
|
137
|
+
if (hasBody) {
|
|
138
|
+
requestHeaders['Content-Type'] = requestHeaders['Content-Type'] ?? 'application/json';
|
|
139
|
+
requestHeaders['Content-Length'] = Buffer.byteLength(payload).toString();
|
|
140
|
+
}
|
|
126
141
|
return new Promise((resolve, reject) => {
|
|
127
|
-
const
|
|
128
|
-
headers:
|
|
129
|
-
Accept: 'application/json',
|
|
130
|
-
'Content-Length': Buffer.byteLength(payload).toString(),
|
|
131
|
-
'Content-Type': 'application/json',
|
|
132
|
-
...headers,
|
|
133
|
-
},
|
|
142
|
+
const requestOptions = {
|
|
143
|
+
headers: requestHeaders,
|
|
134
144
|
hostname: url.hostname,
|
|
135
145
|
method,
|
|
136
146
|
path: `${url.pathname}${url.search}`,
|
|
137
|
-
|
|
147
|
+
port: url.port.length > 0 ? Number(url.port) : undefined,
|
|
148
|
+
};
|
|
149
|
+
if (url.protocol === 'https:' && rejectUnauthorized !== undefined) {
|
|
150
|
+
;
|
|
151
|
+
requestOptions.rejectUnauthorized = rejectUnauthorized;
|
|
152
|
+
}
|
|
153
|
+
const req = transport.request(requestOptions, (res) => {
|
|
138
154
|
const chunks = [];
|
|
139
155
|
res.on('data', (chunk) => chunks.push(chunk));
|
|
140
156
|
res.on('end', () => {
|
|
@@ -148,12 +164,25 @@ function defaultHttpsJsonRequest(url, method, headers, body) {
|
|
|
148
164
|
});
|
|
149
165
|
});
|
|
150
166
|
req.on('error', (error) => reject(error));
|
|
151
|
-
|
|
167
|
+
if (hasBody) {
|
|
168
|
+
req.write(payload);
|
|
169
|
+
}
|
|
152
170
|
req.end();
|
|
153
171
|
});
|
|
154
172
|
}
|
|
155
173
|
let httpRequestFn = defaultHttpsJsonRequest;
|
|
156
|
-
function resolveCicdCredentials() {
|
|
174
|
+
function resolveCicdCredentials(options = {}) {
|
|
175
|
+
const localConfig = readLocalGatewayConfig();
|
|
176
|
+
if (!options.forceRemote && localConfig.enabled) {
|
|
177
|
+
const apiKey = localConfig.apiKey || getCredential('cicd');
|
|
178
|
+
if (apiKey === null || apiKey.trim().length === 0) {
|
|
179
|
+
throw new Error('CICD API key is not configured for local gateway mode. Set AGENTIA_LOCAL_API_KEY in .env or run `agentia auth set --cicd <key>`.');
|
|
180
|
+
}
|
|
181
|
+
return {
|
|
182
|
+
apiKey,
|
|
183
|
+
baseUrl: normalizeLocalGatewayBaseUrl(localConfig.url),
|
|
184
|
+
};
|
|
185
|
+
}
|
|
157
186
|
const apiKey = getCredential('cicd');
|
|
158
187
|
if (apiKey === null || apiKey.trim().length === 0) {
|
|
159
188
|
throw new Error('CICD API key is not configured. Run `agentia auth set --cicd <key> [--region <region> | --custom-url <url>]`.');
|
|
@@ -164,6 +193,34 @@ function resolveCicdCredentials() {
|
|
|
164
193
|
}
|
|
165
194
|
return { apiKey, baseUrl };
|
|
166
195
|
}
|
|
196
|
+
function maskSecret(value) {
|
|
197
|
+
if (value.length <= 8) {
|
|
198
|
+
return '<masked>';
|
|
199
|
+
}
|
|
200
|
+
return `${value.slice(0, 4)}...${value.slice(-4)}`;
|
|
201
|
+
}
|
|
202
|
+
function buildLocalGatewayHeaders(apiKey, sfContext, requestHeaders, transactionId) {
|
|
203
|
+
return {
|
|
204
|
+
'User-Agent': gatewayUserAgent(),
|
|
205
|
+
'x-api-key': apiKey,
|
|
206
|
+
'x-canvas-api-session': sfContext.accessToken,
|
|
207
|
+
'x-copado-api-url': sfContext.instanceUrl,
|
|
208
|
+
'x-organization-id': sfContext.orgId,
|
|
209
|
+
'x-transaction-id': transactionId,
|
|
210
|
+
'x-user-id': sfContext.userId,
|
|
211
|
+
...requestHeaders,
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
function maskLocalGatewayHeaders(headers) {
|
|
215
|
+
const masked = { ...headers };
|
|
216
|
+
if (masked['x-api-key'] !== undefined) {
|
|
217
|
+
masked['x-api-key'] = maskSecret(masked['x-api-key']);
|
|
218
|
+
}
|
|
219
|
+
if (masked['x-canvas-api-session'] !== undefined) {
|
|
220
|
+
masked['x-canvas-api-session'] = '<masked>';
|
|
221
|
+
}
|
|
222
|
+
return masked;
|
|
223
|
+
}
|
|
167
224
|
function unwrapResponse(parsed) {
|
|
168
225
|
const data = (parsed && typeof parsed === 'object' && 'data' in parsed ? parsed.data : undefined) ?? parsed.result;
|
|
169
226
|
if (data === undefined) {
|
|
@@ -171,8 +228,8 @@ function unwrapResponse(parsed) {
|
|
|
171
228
|
}
|
|
172
229
|
return data;
|
|
173
230
|
}
|
|
174
|
-
async function executeRequest(credentials, request, onDebugRequest) {
|
|
175
|
-
const raw = await sendRequest(credentials, request, onDebugRequest);
|
|
231
|
+
async function executeRequest(credentials, request, onDebugRequest, options = {}) {
|
|
232
|
+
const raw = await sendRequest(credentials, request, onDebugRequest, options);
|
|
176
233
|
if (raw.trim().length === 0) {
|
|
177
234
|
return undefined;
|
|
178
235
|
}
|
|
@@ -202,7 +259,7 @@ async function executeRequest(credentials, request, onDebugRequest) {
|
|
|
202
259
|
}
|
|
203
260
|
return unwrapResponse(parsed);
|
|
204
261
|
}
|
|
205
|
-
async function
|
|
262
|
+
async function sendRemoteRequest(credentials, request, onDebugRequest) {
|
|
206
263
|
const endpoint = cicdApiUrl(credentials.baseUrl, credentials.apiKey);
|
|
207
264
|
const transactionId = createTransactionId();
|
|
208
265
|
const outerHeaders = buildOuterHeaders(transactionId);
|
|
@@ -222,6 +279,41 @@ async function sendRequest(credentials, request, onDebugRequest) {
|
|
|
222
279
|
}
|
|
223
280
|
return httpRequestFn(endpoint, 'POST', outerHeaders, gatewayRequest);
|
|
224
281
|
}
|
|
282
|
+
async function sendLocalRequest(credentials, request, onDebugRequest) {
|
|
283
|
+
const localConfig = readLocalGatewayConfig();
|
|
284
|
+
const sfContext = await getSfOrgContext(localConfig.orgAlias);
|
|
285
|
+
const transactionId = createTransactionId();
|
|
286
|
+
const headers = buildLocalGatewayHeaders(credentials.apiKey, sfContext, request.headers, transactionId);
|
|
287
|
+
const url = new URL(request.endpoint, `${credentials.baseUrl}/`);
|
|
288
|
+
const { body } = request;
|
|
289
|
+
if (onDebugRequest) {
|
|
290
|
+
onDebugRequest({
|
|
291
|
+
body: body ?? null,
|
|
292
|
+
headers: {
|
|
293
|
+
Accept: 'application/json',
|
|
294
|
+
...maskLocalGatewayHeaders(headers),
|
|
295
|
+
},
|
|
296
|
+
method: request.method,
|
|
297
|
+
url: url.toString(),
|
|
298
|
+
});
|
|
299
|
+
}
|
|
300
|
+
const previousOptions = activeHttpRequestOptions;
|
|
301
|
+
activeHttpRequestOptions = {
|
|
302
|
+
rejectUnauthorized: localConfig.tlsInsecure ? false : undefined,
|
|
303
|
+
};
|
|
304
|
+
try {
|
|
305
|
+
return await httpRequestFn(url, request.method, headers, body);
|
|
306
|
+
}
|
|
307
|
+
finally {
|
|
308
|
+
activeHttpRequestOptions = previousOptions;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
async function sendRequest(credentials, request, onDebugRequest, options = {}) {
|
|
312
|
+
if (!options.forceRemote && readLocalGatewayConfig().enabled) {
|
|
313
|
+
return sendLocalRequest(credentials, request, onDebugRequest);
|
|
314
|
+
}
|
|
315
|
+
return sendRemoteRequest(credentials, request, onDebugRequest);
|
|
316
|
+
}
|
|
225
317
|
export async function discoverCicdBaseUrl(apiKey) {
|
|
226
318
|
for (const region of CICD_REGIONS) {
|
|
227
319
|
const baseUrl = cicdBaseUrl(region);
|
|
@@ -257,7 +349,7 @@ async function validateCredentialsAtBaseUrl(apiKey, baseUrl) {
|
|
|
257
349
|
}, {
|
|
258
350
|
endpoint: CICD_VALIDATION_ENDPOINT,
|
|
259
351
|
method: 'GET',
|
|
260
|
-
});
|
|
352
|
+
}, undefined, { forceRemote: true });
|
|
261
353
|
}
|
|
262
354
|
// Test-only hook
|
|
263
355
|
export function setHttpRequestForTests(requestFn) {
|
|
@@ -266,6 +358,11 @@ export function setHttpRequestForTests(requestFn) {
|
|
|
266
358
|
// Test-only hook
|
|
267
359
|
export function resetHttpRequestForTests() {
|
|
268
360
|
httpRequestFn = defaultHttpsJsonRequest;
|
|
361
|
+
activeHttpRequestOptions = {};
|
|
362
|
+
}
|
|
363
|
+
// Test-only hook
|
|
364
|
+
export function getActiveHttpRequestOptionsForTests() {
|
|
365
|
+
return activeHttpRequestOptions;
|
|
269
366
|
}
|
|
270
367
|
export class CicdGateway {
|
|
271
368
|
static async call(request, onDebugRequest) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cicd-gateway.js","sourceRoot":"","sources":["../../src/lib/cicd-gateway.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cicd-gateway.js","sourceRoot":"","sources":["../../src/lib/cicd-gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
2
|
+
import { resolve } from 'node:path';
|
|
3
|
+
let loadedPath = null;
|
|
4
|
+
export function parseEnvFileContents(contents) {
|
|
5
|
+
const values = {};
|
|
6
|
+
for (const rawLine of contents.split(/\r?\n/)) {
|
|
7
|
+
const line = rawLine.trim();
|
|
8
|
+
if (line.length === 0 || line.startsWith('#')) {
|
|
9
|
+
continue;
|
|
10
|
+
}
|
|
11
|
+
const separator = line.indexOf('=');
|
|
12
|
+
if (separator === -1) {
|
|
13
|
+
continue;
|
|
14
|
+
}
|
|
15
|
+
const key = line.slice(0, separator).trim();
|
|
16
|
+
const value = line.slice(separator + 1).trim().replaceAll(/^['"]|['"]$/g, '');
|
|
17
|
+
if (key.length > 0) {
|
|
18
|
+
values[key] = value;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return values;
|
|
22
|
+
}
|
|
23
|
+
export function loadEnvFile(filePath = resolve(process.cwd(), '.env'), options = {}) {
|
|
24
|
+
if (loadedPath === filePath) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
loadedPath = filePath;
|
|
28
|
+
if (!existsSync(filePath)) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const values = parseEnvFileContents(readFileSync(filePath, 'utf8'));
|
|
32
|
+
for (const [key, value] of Object.entries(values)) {
|
|
33
|
+
if (options.override || process.env[key] === undefined) {
|
|
34
|
+
process.env[key] = value;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export function resetEnvFileForTests() {
|
|
39
|
+
loadedPath = null;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=env-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-file.js","sourceRoot":"","sources":["../../src/lib/env-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,SAAS,CAAA;AAChD,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAEjC,IAAI,UAAU,GAAkB,IAAI,CAAA;AAEpC,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,MAAM,MAAM,GAA2B,EAAE,CAAA;IAEzC,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;QAE3B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9C,SAAQ;QACV,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAEnC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;YACrB,SAAQ;QACV,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAA;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;QAE7E,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QACrB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,WAAmB,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,UAAgC,EAAE;IAC/G,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAM;IACR,CAAC;IAED,UAAU,GAAG,QAAQ,CAAA;IAErB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAM;IACR,CAAC;IAED,MAAM,MAAM,GAAG,oBAAoB,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;IAEnE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QAC1B,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,UAAU,GAAG,IAAI,CAAA;AACnB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare const DEFAULT_LOCAL_GATEWAY_URL = "http://localhost:8000";
|
|
2
|
+
export declare function normalizeLocalGatewayBaseUrl(value: string): string;
|
|
3
|
+
export declare const DEFAULT_LOCAL_SF_ORG_ALIAS = "test14";
|
|
4
|
+
export declare const LOCAL_GATEWAY_ENV: {
|
|
5
|
+
readonly apiKey: "AGENTIA_LOCAL_API_KEY";
|
|
6
|
+
readonly orgAlias: "AGENTIA_LOCAL_SF_ORG_ALIAS";
|
|
7
|
+
readonly tlsInsecure: "AGENTIA_LOCAL_GATEWAY_TLS_INSECURE";
|
|
8
|
+
readonly url: "AGENTIA_LOCAL_GATEWAY_URL";
|
|
9
|
+
readonly useLocal: "AGENTIA_USE_LOCAL_GATEWAY";
|
|
10
|
+
};
|
|
11
|
+
export type LocalGatewayConfig = {
|
|
12
|
+
apiKey?: string;
|
|
13
|
+
enabled: boolean;
|
|
14
|
+
orgAlias: string;
|
|
15
|
+
tlsInsecure: boolean;
|
|
16
|
+
url: string;
|
|
17
|
+
};
|
|
18
|
+
export declare function readLocalGatewayConfig(env?: NodeJS.ProcessEnv, options?: {
|
|
19
|
+
loadFile?: boolean;
|
|
20
|
+
}): LocalGatewayConfig;
|
|
21
|
+
export declare function isLocalGatewayEnabled(env?: NodeJS.ProcessEnv): boolean;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { loadEnvFile } from './env-file.js';
|
|
2
|
+
export const DEFAULT_LOCAL_GATEWAY_URL = 'http://localhost:8000';
|
|
3
|
+
export function normalizeLocalGatewayBaseUrl(value) {
|
|
4
|
+
let url;
|
|
5
|
+
try {
|
|
6
|
+
url = new URL(value);
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
throw new Error('Local gateway URL must be a valid absolute HTTP or HTTPS URL.');
|
|
10
|
+
}
|
|
11
|
+
if (url.protocol !== 'http:' && url.protocol !== 'https:') {
|
|
12
|
+
throw new Error('Local gateway URL must use HTTP or HTTPS.');
|
|
13
|
+
}
|
|
14
|
+
return url.origin;
|
|
15
|
+
}
|
|
16
|
+
export const DEFAULT_LOCAL_SF_ORG_ALIAS = 'test14';
|
|
17
|
+
export const LOCAL_GATEWAY_ENV = {
|
|
18
|
+
apiKey: 'AGENTIA_LOCAL_API_KEY',
|
|
19
|
+
orgAlias: 'AGENTIA_LOCAL_SF_ORG_ALIAS',
|
|
20
|
+
tlsInsecure: 'AGENTIA_LOCAL_GATEWAY_TLS_INSECURE',
|
|
21
|
+
url: 'AGENTIA_LOCAL_GATEWAY_URL',
|
|
22
|
+
useLocal: 'AGENTIA_USE_LOCAL_GATEWAY',
|
|
23
|
+
};
|
|
24
|
+
function isTruthyEnv(value) {
|
|
25
|
+
if (value === undefined) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
const normalized = value.trim().toLowerCase();
|
|
29
|
+
return normalized === '1' || normalized === 'true' || normalized === 'yes' || normalized === 'on';
|
|
30
|
+
}
|
|
31
|
+
export function readLocalGatewayConfig(env = process.env, options = {}) {
|
|
32
|
+
if (options.loadFile !== false && env === process.env) {
|
|
33
|
+
loadEnvFile();
|
|
34
|
+
}
|
|
35
|
+
const enabled = isTruthyEnv(env[LOCAL_GATEWAY_ENV.useLocal]);
|
|
36
|
+
const url = env[LOCAL_GATEWAY_ENV.url]?.trim() || DEFAULT_LOCAL_GATEWAY_URL;
|
|
37
|
+
const orgAlias = env[LOCAL_GATEWAY_ENV.orgAlias]?.trim() || DEFAULT_LOCAL_SF_ORG_ALIAS;
|
|
38
|
+
const apiKey = env[LOCAL_GATEWAY_ENV.apiKey]?.trim() || undefined;
|
|
39
|
+
const tlsInsecure = env[LOCAL_GATEWAY_ENV.tlsInsecure] === undefined
|
|
40
|
+
? true
|
|
41
|
+
: isTruthyEnv(env[LOCAL_GATEWAY_ENV.tlsInsecure]);
|
|
42
|
+
return {
|
|
43
|
+
apiKey,
|
|
44
|
+
enabled,
|
|
45
|
+
orgAlias,
|
|
46
|
+
tlsInsecure,
|
|
47
|
+
url,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export function isLocalGatewayEnabled(env = process.env) {
|
|
51
|
+
return readLocalGatewayConfig(env).enabled;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=local-gateway-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-gateway-config.js","sourceRoot":"","sources":["../../src/lib/local-gateway-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA;AAEzC,MAAM,CAAC,MAAM,yBAAyB,GAAG,uBAAuB,CAAA;AAEhE,MAAM,UAAU,4BAA4B,CAAC,KAAa;IACxD,IAAI,GAAQ,CAAA;IAEZ,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;IAClF,CAAC;IAED,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,GAAG,CAAC,MAAM,CAAA;AACnB,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,QAAQ,CAAA;AAElD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,uBAAuB;IAC/B,QAAQ,EAAE,4BAA4B;IACtC,WAAW,EAAE,oCAAoC;IACjD,GAAG,EAAE,2BAA2B;IAChC,QAAQ,EAAE,2BAA2B;CAC7B,CAAA;AAEV,SAAS,WAAW,CAAC,KAAyB;IAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC7C,OAAO,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,IAAI,CAAA;AACnG,CAAC;AAUD,MAAM,UAAU,sBAAsB,CACpC,MAAyB,OAAO,CAAC,GAAG,EACpC,UAAgC,EAAE;IAElC,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC;QACtD,WAAW,EAAE,CAAA;IACf,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC5D,MAAM,GAAG,GAAG,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,yBAAyB,CAAA;IAC3E,MAAM,QAAQ,GAAG,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,0BAA0B,CAAA;IACtF,MAAM,MAAM,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAA;IACjE,MAAM,WAAW,GACf,GAAG,CAAC,iBAAiB,CAAC,WAAW,CAAC,KAAK,SAAS;QAC9C,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAA;IAErD,OAAO;QACL,MAAM;QACN,OAAO;QACP,QAAQ;QACR,WAAW;QACX,GAAG;KACJ,CAAA;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACxE,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAA;AAC5C,CAAC"}
|
package/dist/lib/mcp/tools.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { type ComparisonMode, type ContentSource, type DependencyResult, type In
|
|
|
5
5
|
import { type PipelineConnection, type PipelineDescribe } from '../pipeline-types.js';
|
|
6
6
|
import { type ProjectDefaultScope } from '../project-defaults.js';
|
|
7
7
|
import { type Project } from '../project-types.js';
|
|
8
|
+
import { type PromotionDetail, type PromotionListFilters } from '../promotion-types.js';
|
|
8
9
|
import { type User } from '../user-types.js';
|
|
9
10
|
import { type UserStory, type UserStoryMutationPayload, type WorkListFilters } from '../work-types.js';
|
|
10
11
|
type EnvironmentCreateArgs = {
|
|
@@ -157,6 +158,15 @@ declare function environmentGet(args: {
|
|
|
157
158
|
}): Promise<{
|
|
158
159
|
environment: Environment;
|
|
159
160
|
}>;
|
|
161
|
+
type PromotionListArgs = PromotionListFilters;
|
|
162
|
+
declare function promotionList(args?: PromotionListArgs): Promise<{
|
|
163
|
+
promotions: import("../promotion-types.js").Promotion[];
|
|
164
|
+
}>;
|
|
165
|
+
declare function promotionGet(args: {
|
|
166
|
+
id: string;
|
|
167
|
+
}): Promise<{
|
|
168
|
+
promotion: PromotionDetail;
|
|
169
|
+
}>;
|
|
160
170
|
declare function environmentCreate(args: EnvironmentCreateArgs): Promise<{
|
|
161
171
|
environment: Environment;
|
|
162
172
|
}>;
|
|
@@ -279,6 +289,8 @@ export declare const agentiaMcpToolHandlers: {
|
|
|
279
289
|
projectDefaultSet: typeof projectDefaultSet;
|
|
280
290
|
projectDefaultUnset: typeof projectDefaultUnset;
|
|
281
291
|
projectList: typeof projectList;
|
|
292
|
+
promotionGet: typeof promotionGet;
|
|
293
|
+
promotionList: typeof promotionList;
|
|
282
294
|
userGet: typeof userGet;
|
|
283
295
|
workCreate: typeof workCreate;
|
|
284
296
|
workDelete: typeof workDelete;
|
package/dist/lib/mcp/tools.js
CHANGED
|
@@ -15,7 +15,8 @@ import { pipelineHeaders } from '../pipeline-flags.js';
|
|
|
15
15
|
import { normalizePipelineDescribe, normalizePipelines, pipelineConnectionsFromPipelines, pipelineDescribeEndpoint, pipelineListEndpoint, } from '../pipeline-types.js';
|
|
16
16
|
import { buildSetValues, collectSelectedKeys } from '../project-default-flags.js';
|
|
17
17
|
import { PROJECT_DEFAULT_KEYS } from '../project-defaults.js';
|
|
18
|
-
import { normalizeProjects, projectsListEndpoint
|
|
18
|
+
import { normalizeProjects, projectsListEndpoint } from '../project-types.js';
|
|
19
|
+
import { normalizePromotionDetail, normalizePromotions, PROMOTION_LIST_LIMIT_MAX, PROMOTION_LIST_LIMIT_MIN, promotionEndpoint, promotionListEndpoint, } from '../promotion-types.js';
|
|
19
20
|
import { getUserContext } from '../user-context.js';
|
|
20
21
|
import { DEFAULT_USER_ID, resolveUserId, userEndpoint } from '../user-types.js';
|
|
21
22
|
import { buildWorkCreatePayload } from '../work-defaults.js';
|
|
@@ -90,6 +91,20 @@ async function environmentGet(args) {
|
|
|
90
91
|
});
|
|
91
92
|
return { environment };
|
|
92
93
|
}
|
|
94
|
+
async function promotionList(args = {}) {
|
|
95
|
+
const response = await CicdGateway.call({
|
|
96
|
+
endpoint: promotionListEndpoint(args),
|
|
97
|
+
method: 'GET',
|
|
98
|
+
});
|
|
99
|
+
return { promotions: normalizePromotions(response) };
|
|
100
|
+
}
|
|
101
|
+
async function promotionGet(args) {
|
|
102
|
+
const response = await CicdGateway.call({
|
|
103
|
+
endpoint: promotionEndpoint(assertRequired(args.id, 'id')),
|
|
104
|
+
method: 'GET',
|
|
105
|
+
});
|
|
106
|
+
return { promotion: normalizePromotionDetail(response) };
|
|
107
|
+
}
|
|
93
108
|
async function environmentCreate(args) {
|
|
94
109
|
const payload = buildCreatePayload(args.name, {
|
|
95
110
|
'apex-test-level': args.apexTestLevel,
|
|
@@ -592,6 +607,8 @@ export const agentiaMcpToolHandlers = {
|
|
|
592
607
|
projectDefaultSet,
|
|
593
608
|
projectDefaultUnset,
|
|
594
609
|
projectList,
|
|
610
|
+
promotionGet,
|
|
611
|
+
promotionList,
|
|
595
612
|
userGet,
|
|
596
613
|
workCreate,
|
|
597
614
|
workDelete,
|
|
@@ -609,10 +626,7 @@ const environmentMutationSchema = {
|
|
|
609
626
|
runLocalTests: z.boolean().optional().describe('Run local tests.'),
|
|
610
627
|
runSpecifiedTests: z.string().optional().describe('Specified tests to run.'),
|
|
611
628
|
type: z.enum(ENVIRONMENT_TYPES).optional().describe('Environment type.'),
|
|
612
|
-
validationPromotionDefaultCredential: z
|
|
613
|
-
.string()
|
|
614
|
-
.optional()
|
|
615
|
-
.describe('Default credential for validation promotions.'),
|
|
629
|
+
validationPromotionDefaultCredential: z.string().optional().describe('Default credential for validation promotions.'),
|
|
616
630
|
};
|
|
617
631
|
const pipelineHeaderSchema = {
|
|
618
632
|
organizationId: z.string().describe('Organization Id for the x-organization-id gateway header.'),
|
|
@@ -656,6 +670,28 @@ const workMutationSchema = {
|
|
|
656
670
|
title: z.string().optional().describe('Title.'),
|
|
657
671
|
wantTo: z.string().optional().describe('User story "want to" clause.'),
|
|
658
672
|
};
|
|
673
|
+
const promotionListSchema = {
|
|
674
|
+
createdById: z.string().optional().describe('Filter by creator ID.'),
|
|
675
|
+
createdByName: z.string().optional().describe('Filter by creator name.'),
|
|
676
|
+
destinationEnvironmentId: z.string().optional().describe('Filter by destination environment ID.'),
|
|
677
|
+
destinationEnvironmentName: z.string().optional().describe('Filter by destination environment name.'),
|
|
678
|
+
isBackPromotion: z.boolean().optional().describe('Filter by back promotion.'),
|
|
679
|
+
limit: z
|
|
680
|
+
.number()
|
|
681
|
+
.int()
|
|
682
|
+
.min(PROMOTION_LIST_LIMIT_MIN)
|
|
683
|
+
.max(PROMOTION_LIST_LIMIT_MAX)
|
|
684
|
+
.optional()
|
|
685
|
+
.describe(`Maximum number of promotions to return (${PROMOTION_LIST_LIMIT_MIN}-${PROMOTION_LIST_LIMIT_MAX}).`),
|
|
686
|
+
name: z.string().optional().describe('Filter by name.'),
|
|
687
|
+
pipelineId: z.string().optional().describe('Filter by pipeline ID.'),
|
|
688
|
+
pipelineName: z.string().optional().describe('Filter by pipeline name.'),
|
|
689
|
+
projectId: z.string().optional().describe('Filter by project ID.'),
|
|
690
|
+
projectName: z.string().optional().describe('Filter by project name.'),
|
|
691
|
+
sourceEnvironmentId: z.string().optional().describe('Filter by source environment ID.'),
|
|
692
|
+
sourceEnvironmentName: z.string().optional().describe('Filter by source environment name.'),
|
|
693
|
+
status: z.string().optional().describe('Filter by status.'),
|
|
694
|
+
};
|
|
659
695
|
const workListSchema = {
|
|
660
696
|
assignedToMe: z.boolean().optional().describe('Filter by the current user as assignee.'),
|
|
661
697
|
assigneeId: z.string().optional().describe('Filter by assignee ID.'),
|
|
@@ -705,6 +741,18 @@ export function registerAgentiaMcpTools(server) {
|
|
|
705
741
|
},
|
|
706
742
|
title: 'Agentia Environment Update',
|
|
707
743
|
}, (args) => safelyHandleTool(() => environmentUpdate(args)));
|
|
744
|
+
server.registerTool('agentia_promotion_list', {
|
|
745
|
+
description: 'List Copado promotions via the CICD gateway.',
|
|
746
|
+
inputSchema: promotionListSchema,
|
|
747
|
+
title: 'Agentia Promotion List',
|
|
748
|
+
}, (args) => safelyHandleTool(() => promotionList(args || {})));
|
|
749
|
+
server.registerTool('agentia_promotion_get', {
|
|
750
|
+
description: 'Get a Copado promotion by Id via the CICD gateway.',
|
|
751
|
+
inputSchema: {
|
|
752
|
+
id: z.string().describe('Copado promotion Id.'),
|
|
753
|
+
},
|
|
754
|
+
title: 'Agentia Promotion Get',
|
|
755
|
+
}, (args) => safelyHandleTool(() => promotionGet(args)));
|
|
708
756
|
server.registerTool('agentia_job_list', {
|
|
709
757
|
description: 'List Copado job executions via the CICD gateway.',
|
|
710
758
|
inputSchema: {
|
|
@@ -790,10 +838,7 @@ export function registerAgentiaMcpTools(server) {
|
|
|
790
838
|
server.registerTool('agentia_project_list', {
|
|
791
839
|
description: 'List Copado projects via the CICD gateway.',
|
|
792
840
|
inputSchema: {
|
|
793
|
-
mine: z
|
|
794
|
-
.boolean()
|
|
795
|
-
.optional()
|
|
796
|
-
.describe('When true, list only projects owned by or related to the current user.'),
|
|
841
|
+
mine: z.boolean().optional().describe('When true, list only projects owned by or related to the current user.'),
|
|
797
842
|
},
|
|
798
843
|
title: 'Agentia Project List',
|
|
799
844
|
}, (args) => safelyHandleTool(() => projectList(args || {})));
|
|
@@ -866,7 +911,10 @@ export function registerAgentiaMcpTools(server) {
|
|
|
866
911
|
server.registerTool('agentia_metadata_list', {
|
|
867
912
|
description: 'Search the Copado metadata index via the CICD gateway.',
|
|
868
913
|
inputSchema: {
|
|
869
|
-
avoidSourceTracking: z
|
|
914
|
+
avoidSourceTracking: z
|
|
915
|
+
.boolean()
|
|
916
|
+
.optional()
|
|
917
|
+
.describe('Pass avoidSourceTracking=true to the gateway index route.'),
|
|
870
918
|
filterType: z.string().optional().describe('Optional metadata type name filter, for example ApexClass.'),
|
|
871
919
|
findManagedPackages: z.boolean().optional().describe('Include managed package metadata in the search.'),
|
|
872
920
|
limit: z.number().int().min(1).max(MAX_LIMIT).optional().describe('Maximum number of records to return.'),
|