harness-mcp-v2 3.2.3 → 3.2.5
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 +62 -3
- package/build/config.d.ts +22 -3
- package/build/config.d.ts.map +1 -1
- package/build/config.js +10 -0
- package/build/config.js.map +1 -1
- package/build/data/examples/index.d.ts +2 -0
- package/build/data/examples/index.d.ts.map +1 -1
- package/build/data/examples/index.js +4 -0
- package/build/data/examples/index.js.map +1 -1
- package/build/data/schemas/v0/pipeline.d.ts.map +1 -1
- package/build/data/schemas/v0/pipeline.js +31 -10
- package/build/data/schemas/v0/pipeline.js.map +1 -1
- package/build/data/schemas/v0/template.d.ts.map +1 -1
- package/build/data/schemas/v0/template.js +28 -10
- package/build/data/schemas/v0/template.js.map +1 -1
- package/build/index.js +67 -11
- package/build/index.js.map +1 -1
- package/build/prompts/build-deploy-app.d.ts.map +1 -1
- package/build/prompts/build-deploy-app.js +4 -3
- package/build/prompts/build-deploy-app.js.map +1 -1
- package/build/prompts/create-agent.d.ts.map +1 -1
- package/build/prompts/create-agent.js +21 -1
- package/build/prompts/create-agent.js.map +1 -1
- package/build/prompts/create-pipeline.d.ts.map +1 -1
- package/build/prompts/create-pipeline.js +1 -0
- package/build/prompts/create-pipeline.js.map +1 -1
- package/build/registry/extractors.d.ts +10 -3
- package/build/registry/extractors.d.ts.map +1 -1
- package/build/registry/extractors.js +27 -9
- package/build/registry/extractors.js.map +1 -1
- package/build/registry/toolsets/chaos-descriptions.d.ts +23 -19
- package/build/registry/toolsets/chaos-descriptions.d.ts.map +1 -1
- package/build/registry/toolsets/chaos-descriptions.js +134 -48
- package/build/registry/toolsets/chaos-descriptions.js.map +1 -1
- package/build/registry/toolsets/chaos.d.ts.map +1 -1
- package/build/registry/toolsets/chaos.js +323 -56
- package/build/registry/toolsets/chaos.js.map +1 -1
- package/build/registry/toolsets/dbops.js +2 -2
- package/build/registry/toolsets/dbops.js.map +1 -1
- package/build/registry/toolsets/idp.d.ts.map +1 -1
- package/build/registry/toolsets/idp.js +0 -6
- package/build/registry/toolsets/idp.js.map +1 -1
- package/build/registry/toolsets/pipelines.d.ts.map +1 -1
- package/build/registry/toolsets/pipelines.js +7 -5
- package/build/registry/toolsets/pipelines.js.map +1 -1
- package/build/registry/toolsets/pull-requests.d.ts.map +1 -1
- package/build/registry/toolsets/pull-requests.js +47 -2
- package/build/registry/toolsets/pull-requests.js.map +1 -1
- package/build/registry/toolsets/templates.d.ts.map +1 -1
- package/build/registry/toolsets/templates.js +28 -4
- package/build/registry/toolsets/templates.js.map +1 -1
- package/build/search/embedding-content.d.ts +5 -0
- package/build/search/embedding-content.d.ts.map +1 -0
- package/build/search/embedding-content.js +31 -0
- package/build/search/embedding-content.js.map +1 -0
- package/build/search/index.d.ts +8 -0
- package/build/search/index.d.ts.map +1 -0
- package/build/search/index.js +6 -0
- package/build/search/index.js.map +1 -0
- package/build/search/local-provider.d.ts +37 -0
- package/build/search/local-provider.d.ts.map +1 -0
- package/build/search/local-provider.js +269 -0
- package/build/search/local-provider.js.map +1 -0
- package/build/search/manager.d.ts +39 -0
- package/build/search/manager.d.ts.map +1 -0
- package/build/search/manager.js +283 -0
- package/build/search/manager.js.map +1 -0
- package/build/search/null-provider.d.ts +9 -0
- package/build/search/null-provider.d.ts.map +1 -0
- package/build/search/null-provider.js +8 -0
- package/build/search/null-provider.js.map +1 -0
- package/build/search/remote-provider.d.ts +28 -0
- package/build/search/remote-provider.d.ts.map +1 -0
- package/build/search/remote-provider.js +139 -0
- package/build/search/remote-provider.js.map +1 -0
- package/build/search/routing-eval.d.ts +49 -0
- package/build/search/routing-eval.d.ts.map +1 -0
- package/build/search/routing-eval.js +80 -0
- package/build/search/routing-eval.js.map +1 -0
- package/build/search/types.d.ts +58 -0
- package/build/search/types.d.ts.map +1 -0
- package/build/search/types.js +7 -0
- package/build/search/types.js.map +1 -0
- package/build/tools/harness-execute.d.ts.map +1 -1
- package/build/tools/harness-execute.js +19 -7
- package/build/tools/harness-execute.js.map +1 -1
- package/build/tools/harness-get.d.ts +2 -1
- package/build/tools/harness-get.d.ts.map +1 -1
- package/build/tools/harness-get.js +21 -1
- package/build/tools/harness-get.js.map +1 -1
- package/build/tools/harness-list.d.ts +2 -1
- package/build/tools/harness-list.d.ts.map +1 -1
- package/build/tools/harness-list.js +22 -1
- package/build/tools/harness-list.js.map +1 -1
- package/build/tools/harness-search.d.ts +20 -1
- package/build/tools/harness-search.d.ts.map +1 -1
- package/build/tools/harness-search.js +124 -14
- package/build/tools/harness-search.js.map +1 -1
- package/build/tools/index.d.ts +2 -1
- package/build/tools/index.d.ts.map +1 -1
- package/build/tools/index.js +4 -4
- package/build/tools/index.js.map +1 -1
- package/build/utils/http-health.d.ts +11 -0
- package/build/utils/http-health.d.ts.map +1 -0
- package/build/utils/http-health.js +11 -0
- package/build/utils/http-health.js.map +1 -0
- package/build/utils/http-sessions.d.ts +8 -0
- package/build/utils/http-sessions.d.ts.map +1 -0
- package/build/utils/http-sessions.js +12 -0
- package/build/utils/http-sessions.js.map +1 -0
- package/package.json +5 -1
package/build/index.js
CHANGED
|
@@ -18,16 +18,20 @@ import { resolveHttpHostValidationOptions } from "./utils/http-hosts.js";
|
|
|
18
18
|
import { createHttpAuthMiddleware, validateHttpAuthForBindHost } from "./utils/http-auth.js";
|
|
19
19
|
import { loadEnvFile } from "./utils/env.js";
|
|
20
20
|
import { createAuditManager } from "./audit/index.js";
|
|
21
|
+
import { SearchManager } from "./search/index.js";
|
|
21
22
|
import { mergeConfigWithSessionHeaders, MissingSessionCredentialsError } from "./utils/session-headers.js";
|
|
23
|
+
import { buildHttpHealthResponse } from "./utils/http-health.js";
|
|
24
|
+
import { beginSessionRequest, endSessionRequest, isSessionExpired } from "./utils/http-sessions.js";
|
|
22
25
|
const log = createLogger("main");
|
|
23
26
|
/**
|
|
24
27
|
* Create a fully-configured MCP server instance with all tools, resources, and prompts.
|
|
25
28
|
* @param sharedAuditManager When set (HTTP mode), reuse this manager instead of creating one per session.
|
|
26
29
|
*/
|
|
27
|
-
function createHarnessServer(config, sharedAuditManager) {
|
|
30
|
+
function createHarnessServer(config, sharedAuditManager, sharedSearchManager) {
|
|
28
31
|
const auditManager = sharedAuditManager ?? createAuditManager(config);
|
|
29
32
|
const client = new HarnessClient(config);
|
|
30
33
|
const registry = new Registry(config, { auditManager });
|
|
34
|
+
const searchManager = sharedSearchManager ?? new SearchManager(config);
|
|
31
35
|
const server = new McpServer({
|
|
32
36
|
name: "harness-mcp-server",
|
|
33
37
|
version: getVersion(),
|
|
@@ -60,10 +64,25 @@ function createHarnessServer(config, sharedAuditManager) {
|
|
|
60
64
|
].join("\n"),
|
|
61
65
|
});
|
|
62
66
|
configureElicitation({ autoApproveRisk: config.HARNESS_AUTO_APPROVE_RISK });
|
|
63
|
-
|
|
67
|
+
// Initialize search provider only if we created it (shared instances are pre-initialized)
|
|
68
|
+
if (!sharedSearchManager) {
|
|
69
|
+
searchManager.initialize().then(async () => {
|
|
70
|
+
if (!searchManager.getProvider().isAvailable())
|
|
71
|
+
return;
|
|
72
|
+
// Always index static content (schemas, examples, resource defs) — account-agnostic
|
|
73
|
+
await searchManager.indexStaticContent(registry);
|
|
74
|
+
// Pre-index tier-1 resources only in single-user mode where account is known
|
|
75
|
+
if (config.HARNESS_MCP_MODE !== "multi-user") {
|
|
76
|
+
await searchManager.initializeIndex(registry, client);
|
|
77
|
+
}
|
|
78
|
+
}).catch((err) => {
|
|
79
|
+
log.error("SearchManager initialization failed", { error: String(err) });
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
registerAllTools(server, registry, client, config, undefined, searchManager);
|
|
64
83
|
registerAllResources(server, registry, client, config);
|
|
65
84
|
registerAllPrompts(server);
|
|
66
|
-
return { server, auditManager };
|
|
85
|
+
return { server, auditManager, searchManager };
|
|
67
86
|
}
|
|
68
87
|
/**
|
|
69
88
|
* Write a diagnostic line directly to a log file.
|
|
@@ -180,7 +199,6 @@ async function startStdio(config) {
|
|
|
180
199
|
}, KEEPALIVE_CHECK_MS);
|
|
181
200
|
keepaliveTimer.unref();
|
|
182
201
|
}
|
|
183
|
-
const SESSION_TTL_MS = 30 * 60_000; // 30 minutes
|
|
184
202
|
const REAP_INTERVAL_MS = 60_000; // check every minute
|
|
185
203
|
/**
|
|
186
204
|
* Start the server in HTTP mode — stateful, session-based.
|
|
@@ -234,6 +252,16 @@ async function startHttp(config, port) {
|
|
|
234
252
|
// ---- Session store ----
|
|
235
253
|
const sessions = new Map();
|
|
236
254
|
const sharedAuditManager = createAuditManager(config);
|
|
255
|
+
const sharedSearchManager = new SearchManager(config);
|
|
256
|
+
// In HTTP mode: initialize + index static content using a baseline registry (no account needed)
|
|
257
|
+
const baseRegistry = new Registry(config, { auditManager: sharedAuditManager });
|
|
258
|
+
sharedSearchManager.initialize().then(async () => {
|
|
259
|
+
if (sharedSearchManager.getProvider().isAvailable()) {
|
|
260
|
+
await sharedSearchManager.indexStaticContent(baseRegistry);
|
|
261
|
+
}
|
|
262
|
+
}).catch((err) => {
|
|
263
|
+
log.error("Shared SearchManager initialization failed", { error: String(err) });
|
|
264
|
+
});
|
|
237
265
|
async function destroySession(sessionId) {
|
|
238
266
|
const session = sessions.get(sessionId);
|
|
239
267
|
if (!session)
|
|
@@ -247,7 +275,7 @@ async function startHttp(config, port) {
|
|
|
247
275
|
const reaper = setInterval(() => {
|
|
248
276
|
const now = Date.now();
|
|
249
277
|
for (const [id, session] of sessions) {
|
|
250
|
-
if (
|
|
278
|
+
if (isSessionExpired(session, config.MCP_SESSION_TTL_MS, now)) {
|
|
251
279
|
log.info("Reaping idle session", { sessionId: id });
|
|
252
280
|
destroySession(id);
|
|
253
281
|
}
|
|
@@ -261,9 +289,11 @@ async function startHttp(config, port) {
|
|
|
261
289
|
}, REAP_INTERVAL_MS);
|
|
262
290
|
reaper.unref();
|
|
263
291
|
// ---- Routes ----
|
|
264
|
-
// Health check (includes session count for observability)
|
|
292
|
+
// Health check (includes session count and search readiness for observability)
|
|
265
293
|
app.get("/health", (_req, res) => {
|
|
266
|
-
|
|
294
|
+
const search = sharedSearchManager.getReadiness();
|
|
295
|
+
const health = buildHttpHealthResponse(search, sessions.size);
|
|
296
|
+
res.status(health.statusCode).json(health.body);
|
|
267
297
|
});
|
|
268
298
|
// POST /mcp — initialize new sessions or route to existing session
|
|
269
299
|
app.post("/mcp", async (req, res) => {
|
|
@@ -279,7 +309,7 @@ async function startHttp(config, port) {
|
|
|
279
309
|
});
|
|
280
310
|
return;
|
|
281
311
|
}
|
|
282
|
-
session
|
|
312
|
+
beginSessionRequest(session);
|
|
283
313
|
try {
|
|
284
314
|
await session.transport.handleRequest(req, res, req.body);
|
|
285
315
|
}
|
|
@@ -293,6 +323,9 @@ async function startHttp(config, port) {
|
|
|
293
323
|
});
|
|
294
324
|
}
|
|
295
325
|
}
|
|
326
|
+
finally {
|
|
327
|
+
endSessionRequest(session);
|
|
328
|
+
}
|
|
296
329
|
return;
|
|
297
330
|
}
|
|
298
331
|
// No session header — must be an initialize request. Create a new session.
|
|
@@ -300,12 +333,17 @@ async function startHttp(config, port) {
|
|
|
300
333
|
let transport;
|
|
301
334
|
try {
|
|
302
335
|
const sessionConfig = mergeConfigWithSessionHeaders(config, req.headers);
|
|
303
|
-
const result = createHarnessServer(sessionConfig, sharedAuditManager);
|
|
336
|
+
const result = createHarnessServer(sessionConfig, sharedAuditManager, sharedSearchManager);
|
|
304
337
|
server = result.server;
|
|
305
338
|
transport = new StreamableHTTPServerTransport({
|
|
306
339
|
sessionIdGenerator: () => randomUUID(),
|
|
307
340
|
onsessioninitialized: (id) => {
|
|
308
|
-
sessions.set(id, {
|
|
341
|
+
sessions.set(id, {
|
|
342
|
+
server: server,
|
|
343
|
+
transport: transport,
|
|
344
|
+
lastActivity: Date.now(),
|
|
345
|
+
activeRequests: 0,
|
|
346
|
+
});
|
|
309
347
|
log.info("Session created", { sessionId: id, total: sessions.size });
|
|
310
348
|
},
|
|
311
349
|
});
|
|
@@ -361,7 +399,15 @@ async function startHttp(config, port) {
|
|
|
361
399
|
});
|
|
362
400
|
return;
|
|
363
401
|
}
|
|
364
|
-
session
|
|
402
|
+
beginSessionRequest(session);
|
|
403
|
+
let streamClosed = false;
|
|
404
|
+
const markStreamClosed = () => {
|
|
405
|
+
if (streamClosed)
|
|
406
|
+
return;
|
|
407
|
+
streamClosed = true;
|
|
408
|
+
endSessionRequest(session);
|
|
409
|
+
};
|
|
410
|
+
res.once("close", markStreamClosed);
|
|
365
411
|
try {
|
|
366
412
|
await session.transport.handleRequest(req, res);
|
|
367
413
|
}
|
|
@@ -374,6 +420,12 @@ async function startHttp(config, port) {
|
|
|
374
420
|
id: null,
|
|
375
421
|
});
|
|
376
422
|
}
|
|
423
|
+
markStreamClosed();
|
|
424
|
+
}
|
|
425
|
+
finally {
|
|
426
|
+
if (res.writableEnded) {
|
|
427
|
+
markStreamClosed();
|
|
428
|
+
}
|
|
377
429
|
}
|
|
378
430
|
});
|
|
379
431
|
// DELETE /mcp — terminate a session
|
|
@@ -396,12 +448,16 @@ async function startHttp(config, port) {
|
|
|
396
448
|
});
|
|
397
449
|
return;
|
|
398
450
|
}
|
|
451
|
+
beginSessionRequest(session);
|
|
399
452
|
try {
|
|
400
453
|
await session.transport.handleRequest(req, res);
|
|
401
454
|
}
|
|
402
455
|
catch (err) {
|
|
403
456
|
log.error("Error handling DELETE request", { sessionId, error: String(err) });
|
|
404
457
|
}
|
|
458
|
+
finally {
|
|
459
|
+
endSessionRequest(session);
|
|
460
|
+
}
|
|
405
461
|
destroySession(sessionId);
|
|
406
462
|
});
|
|
407
463
|
// Graceful shutdown — drain in-flight requests, then close all sessions
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-deploy-app.d.ts","sourceRoot":"","sources":["../../src/prompts/build-deploy-app.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"build-deploy-app.d.ts","sourceRoot":"","sources":["../../src/prompts/build-deploy-app.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuPpE"}
|
|
@@ -59,12 +59,13 @@ Present the full plan and generated YAML for review before creating anything.
|
|
|
59
59
|
### Step 5 — Ensure connectors exist
|
|
60
60
|
- **Harness Artifact Registry (HAR)**: If the user mentions "Harness Artifact Registry", "HAR", or a HAR registry was found in Step 4 — no Docker connector is needed. Skip Docker connector creation entirely.
|
|
61
61
|
- **Third-party registry** (DockerHub, ECR, GCR, ACR, etc.): If no Docker registry connector exists, generate connector YAML and present for review.
|
|
62
|
-
-
|
|
62
|
+
- **Harness Code repo**: If "${repoUrl}" is a Harness Code repository (URL contains app.harness.io or the user says "Harness Code") — no Git connector is needed. The platform clones natively using just \`repoName\` in the codebase config.
|
|
63
|
+
- **Third-party Git** (GitHub, GitLab, Bitbucket, etc.): If no Git connector exists for "${repoUrl}": generate a Git connector YAML and present it for review
|
|
63
64
|
- Create any missing connectors using harness_create with resource_type="connector" (only after user confirmation)
|
|
64
65
|
|
|
65
66
|
### Step 6 — Generate CI pipeline YAML
|
|
66
67
|
Generate a Harness CI pipeline that:
|
|
67
|
-
- Clones "${repoUrl}"
|
|
68
|
+
- Clones "${repoUrl}" — if it's a Harness Code repo, use \`properties.ci.codebase.repoName\` (no connectorRef needed); otherwise use the Git connector
|
|
68
69
|
- Builds the Docker image from the Dockerfile found in Step 1
|
|
69
70
|
- Tags the image with \`latest\` and \`<+pipeline.sequenceId>\`
|
|
70
71
|
- Includes a build test step if the repo has tests (e.g. npm test, go test, pytest)
|
|
@@ -153,7 +154,7 @@ If still failing after 5 attempts:
|
|
|
153
154
|
### Step 9 — Create Harness service & environment
|
|
154
155
|
- Create (or update) a Harness service definition that references the K8s manifests from the repo:
|
|
155
156
|
- Service type: Kubernetes
|
|
156
|
-
- Manifest source:
|
|
157
|
+
- Manifest source: for Harness Code repos, use store type \`HarnessCode\` with \`repoName\`, \`branch\`, \`paths\` (no connectorRef needed). For external Git repos, use the Git connector pointing to the manifest path.
|
|
157
158
|
- Artifact source: use \`registryRef\` for Harness Artifact Registry or \`connectorRef\` for third-party (same pattern as the BuildAndPush step — never mix both fields)
|
|
158
159
|
- Ensure a target environment exists (or create one) for the ${namespace || "default"} namespace
|
|
159
160
|
- Present the service and environment YAML for review before creating
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-deploy-app.js","sourceRoot":"","sources":["../../src/prompts/build-deploy-app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,MAAM,UAAU,4BAA4B,CAAC,MAAiB;IAC5D,MAAM,CAAC,cAAc,CACnB,kBAAkB,EAClB;QACE,WAAW,EAAE,iIAAiI;QAC9I,UAAU,EAAE;YACV,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;YACrF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;YACnG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,EAAE;YACvE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAC,QAAQ,EAAE;SACjF;KACF,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACvD,QAAQ,EAAE,CAAC;gBACT,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,0CAA0C,OAAO;;gBAEjD,SAAS;EACvB,SAAS,CAAC,CAAC,CAAC,YAAY,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE;EACxC,SAAS,CAAC,CAAC,CAAC,kBAAkB,SAAS,EAAE,CAAC,CAAC,CAAC,wBAAwB;;;;;;;;;;WAU3D,OAAO;;;;;;;;;;;;;;;;;;;;;;;oDAuBkC,SAAS,CAAC,CAAC,CAAC,oBAAoB,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE;mDAClD,SAAS,CAAC,CAAC,CAAC,oBAAoB,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE;kDAClD,SAAS,CAAC,CAAC,CAAC,oBAAoB,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE;sDAC7C,SAAS,CAAC,CAAC,CAAC,oBAAoB,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE
|
|
1
|
+
{"version":3,"file":"build-deploy-app.js","sourceRoot":"","sources":["../../src/prompts/build-deploy-app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,MAAM,UAAU,4BAA4B,CAAC,MAAiB;IAC5D,MAAM,CAAC,cAAc,CACnB,kBAAkB,EAClB;QACE,WAAW,EAAE,iIAAiI;QAC9I,UAAU,EAAE;YACV,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;YACrF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;YACnG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,EAAE;YACvE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAC,QAAQ,EAAE;SACjF;KACF,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACvD,QAAQ,EAAE,CAAC;gBACT,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,0CAA0C,OAAO;;gBAEjD,SAAS;EACvB,SAAS,CAAC,CAAC,CAAC,YAAY,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE;EACxC,SAAS,CAAC,CAAC,CAAC,kBAAkB,SAAS,EAAE,CAAC,CAAC,CAAC,wBAAwB;;;;;;;;;;WAU3D,OAAO;;;;;;;;;;;;;;;;;;;;;;;oDAuBkC,SAAS,CAAC,CAAC,CAAC,oBAAoB,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE;mDAClD,SAAS,CAAC,CAAC,CAAC,oBAAoB,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE;kDAClD,SAAS,CAAC,CAAC,CAAC,oBAAoB,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE;sDAC7C,SAAS,CAAC,CAAC,CAAC,oBAAoB,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE;;;;;;+BAMxE,OAAO;2FACqD,OAAO;;;;;YAKtF,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wEA0EqD,SAAS;;;;;kCAK/C,SAAS;;;;;;;;;;;;+DAYoB,SAAS,IAAI,SAAS;;;;;;;;qDAQhC,SAAS,IAAI,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8GA0EmC;iBACrG;aACF,CAAC;KACH,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-agent.d.ts","sourceRoot":"","sources":["../../src/prompts/create-agent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"create-agent.d.ts","sourceRoot":"","sources":["../../src/prompts/create-agent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqZjE"}
|
|
@@ -83,6 +83,7 @@ Based on requirements, recommend and verify with the user:
|
|
|
83
83
|
- Only add if user confirms runtime parameters are needed
|
|
84
84
|
- Map each input to what the agent needs (repo, branch, executionId, thresholds, etc.)
|
|
85
85
|
- **Always set a \`default\` value for every non-required input** — if \`\${{inputs.fieldName}}\` is referenced in \`PLUGIN_TASK\` or any env var and no value is supplied at runtime nor a default exists, the agent will error at execution time
|
|
86
|
+
- Always include \`allowedDomains\` so users understand and control non-LLM/non-MCP network access
|
|
86
87
|
|
|
87
88
|
3. **Connectors**:
|
|
88
89
|
- LLM connector for model access (required for all agents) - User must create via Harness UI or MCP
|
|
@@ -113,6 +114,7 @@ agent:
|
|
|
113
114
|
<step-by-step task instructions>
|
|
114
115
|
PLUGIN_MAX_TURNS: 150
|
|
115
116
|
PLUGIN_HARNESS_CONNECTOR: \${{inputs.llmConnector.id}}
|
|
117
|
+
PLUGIN_ALLOWED_DOMAINS: \${{inputs.allowedDomains}}
|
|
116
118
|
\`\`\`
|
|
117
119
|
|
|
118
120
|
**Required environment variables:**
|
|
@@ -122,6 +124,7 @@ env:
|
|
|
122
124
|
<step-by-step instructions>
|
|
123
125
|
PLUGIN_MAX_TURNS: 150 # Adjust 100-200 based on task complexity
|
|
124
126
|
PLUGIN_HARNESS_CONNECTOR: \${{inputs.llmConnector.id}} # References llmConnector input's id property
|
|
127
|
+
PLUGIN_ALLOWED_DOMAINS: \${{inputs.allowedDomains}} # Regexes for additional network access
|
|
125
128
|
\`\`\`
|
|
126
129
|
|
|
127
130
|
**MCP configuration (only if external services needed):**
|
|
@@ -148,8 +151,14 @@ agent:
|
|
|
148
151
|
ui:
|
|
149
152
|
connectorCategories:
|
|
150
153
|
- AI
|
|
154
|
+
|
|
155
|
+
allowedDomains:
|
|
156
|
+
type: string
|
|
157
|
+
default: ""
|
|
151
158
|
\`\`\`
|
|
152
159
|
|
|
160
|
+
**Network access:** Agent network access is limited to the LLM connector, configured MCP connectors, and domains matching \`allowedDomains\`. \`allowedDomains\` accepts regexes separated by \`|\`. Default to an empty string if the user does not specify domains; if they do specify domains, work with them to build the right regex.
|
|
161
|
+
|
|
153
162
|
**Optional inputs (add as needed):**
|
|
154
163
|
\`\`\`yaml
|
|
155
164
|
# MCP connectors - only if agent needs external services
|
|
@@ -179,7 +188,7 @@ agent:
|
|
|
179
188
|
|
|
180
189
|
**\`layout\` block (always include, only list fields that are present as inputs):**
|
|
181
190
|
|
|
182
|
-
The \`layout\` block controls what appears in the agent configuration UI. It contains **at most
|
|
191
|
+
The \`layout\` block controls what appears in the agent configuration UI. It contains **at most four items** — \`llmConnector\`, \`allowedDomains\`, \`modelName\`, and \`mcpConnectors\` — and only those that exist as first-class input fields in the \`inputs\` section. Never include any other fields (e.g. custom inputs like \`repo_name\`) in the layout block:
|
|
183
192
|
|
|
184
193
|
\`\`\`yaml
|
|
185
194
|
agent:
|
|
@@ -187,6 +196,7 @@ agent:
|
|
|
187
196
|
- title: Agent Configuration
|
|
188
197
|
items:
|
|
189
198
|
- llmConnector # always present
|
|
199
|
+
- allowedDomains # always present
|
|
190
200
|
- modelName # only if modelName input exists
|
|
191
201
|
- mcpConnectors # only if mcpConnectors input exists
|
|
192
202
|
\`\`\`
|
|
@@ -209,16 +219,19 @@ Assemble the complete agent YAML specification (\`spec\` field):
|
|
|
209
219
|
- \`PLUGIN_TASK:\` — multiline string with step-by-step instructions and \`## RULES\` section
|
|
210
220
|
- \`PLUGIN_MAX_TURNS: 150\` (adjust 100-200 based on complexity)
|
|
211
221
|
- \`PLUGIN_HARNESS_CONNECTOR: \${{inputs.llmConnector.id}}\`
|
|
222
|
+
- \`PLUGIN_ALLOWED_DOMAINS: \${{inputs.allowedDomains}}\`
|
|
212
223
|
- \`PLUGIN_MCP_FORMAT: harness\` (only if MCPs needed)
|
|
213
224
|
- \`PLUGIN_MCP_SERVERS: <+connectorInputs.resolveList(<+inputs.mcpConnectors>)>\` (only if MCPs needed)
|
|
214
225
|
- \`ANTHROPIC_MODEL: \${{inputs.modelName}}\` (**only** if user explicitly requests a \`modelName\` input)
|
|
215
226
|
3. Add \`agent.inputs\` section with:
|
|
216
227
|
- \`llmConnector\` (required) with \`ui.connectorCategories: [AI]\`
|
|
228
|
+
- \`allowedDomains\` (default \`""\`) to allow additional network domains using regexes
|
|
217
229
|
- \`mcpConnectors\` (optional - only if needed) with \`ui.component: array\`, \`ui.input.inputType: connector\`, and \`ui.input.inputConfig.connectorTypes: [Mcp]\`
|
|
218
230
|
- \`modelName\` (optional - **only** if user explicitly requests it)
|
|
219
231
|
- Custom inputs (as needed)
|
|
220
232
|
4. Add \`agent.layout\` block — only include items that are present as inputs:
|
|
221
233
|
- Always include \`llmConnector\`
|
|
234
|
+
- Always include \`allowedDomains\`
|
|
222
235
|
- Include \`modelName\` only if that input exists
|
|
223
236
|
- Include \`mcpConnectors\` only if that input exists
|
|
224
237
|
|
|
@@ -319,6 +332,7 @@ agent:
|
|
|
319
332
|
- Suggest specific code improvements
|
|
320
333
|
PLUGIN_MAX_TURNS: 150
|
|
321
334
|
PLUGIN_HARNESS_CONNECTOR: \${{inputs.llmConnector.id}}
|
|
335
|
+
PLUGIN_ALLOWED_DOMAINS: \${{inputs.allowedDomains}}
|
|
322
336
|
PLUGIN_MCP_FORMAT: harness
|
|
323
337
|
PLUGIN_MCP_SERVERS: <+connectorInputs.resolveList(<+inputs.mcpConnectors>)>
|
|
324
338
|
|
|
@@ -331,6 +345,10 @@ agent:
|
|
|
331
345
|
connectorCategories:
|
|
332
346
|
- AI
|
|
333
347
|
|
|
348
|
+
allowedDomains:
|
|
349
|
+
type: string
|
|
350
|
+
default: ""
|
|
351
|
+
|
|
334
352
|
mcpConnectors:
|
|
335
353
|
type: array
|
|
336
354
|
default:
|
|
@@ -355,6 +373,7 @@ agent:
|
|
|
355
373
|
- title: Agent Configuration
|
|
356
374
|
items:
|
|
357
375
|
- llmConnector
|
|
376
|
+
- allowedDomains
|
|
358
377
|
- mcpConnectors
|
|
359
378
|
\`\`\`
|
|
360
379
|
|
|
@@ -373,6 +392,7 @@ agent:
|
|
|
373
392
|
| **Task in env** | Task instructions go in \`PLUGIN_TASK\` env var (multiline string). Max turns in \`PLUGIN_MAX_TURNS\`. There is no \`with:\` block. |
|
|
374
393
|
| **Expression syntax** | Use \`\${{inputs.fieldName}}\` inside env values. Use \`<+connectorInputs.resolveList(...)>\` for MCP server resolution. |
|
|
375
394
|
| **modelName is optional** | Do NOT add \`modelName\` input or \`ANTHROPIC_MODEL\` env var by default — only add when the user explicitly requests it |
|
|
395
|
+
| **Allowed domains** | Always include \`PLUGIN_ALLOWED_DOMAINS: \${{inputs.allowedDomains}}\`, an \`allowedDomains\` string input with default \`""\`, and \`allowedDomains\` in layout. If the user specifies domains, help build the regex. |
|
|
376
396
|
| **Input defaults** | Every non-required input that is referenced via \`\${{inputs.fieldName}}\` **must have a \`default\` value** — omitting it causes a runtime error if the caller does not supply the value |
|
|
377
397
|
| **Connector placeholders** | Always use placeholders like \`your_llm_connector_id\` and \`your_mcp_connector_id\` and notify users to replace both LLM and MCP connector IDs with actual values before running the agent |
|
|
378
398
|
| **No clone/platform** | Do NOT add \`clone\`, \`platform\`, \`os\`, \`arch\`, or \`allowed_tools\` sections — agents are standalone with simplified structure |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-agent.js","sourceRoot":"","sources":["../../src/prompts/create-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,cAAc,CACnB,cAAc,EACd;QACE,WAAW,EAAE,6UAA6U;QAC1V,UAAU,EAAE;YACV,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YAC5D,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACjE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,QAAQ,EAAE;YACjE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE;SACjE;KACF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/D,QAAQ,EAAE,CAAC;gBACT,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE;;kBAEE,UAAU;YAChB,gBAAgB;aACf,MAAM,CAAC,CAAC,CAAC,QAAQ,MAAM,EAAE,CAAC,CAAC,CAAC,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,cAAc,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;oFAUnB,MAAM,CAAC,CAAC,CAAC,kBAAkB,MAAM,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,sBAAsB,UAAU,KAAK,CAAC,CAAC,CAAC,EAAE
|
|
1
|
+
{"version":3,"file":"create-agent.js","sourceRoot":"","sources":["../../src/prompts/create-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,cAAc,CACnB,cAAc,EACd;QACE,WAAW,EAAE,6UAA6U;QAC1V,UAAU,EAAE;YACV,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YAC5D,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACjE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,QAAQ,EAAE;YACjE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE;SACjE;KACF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/D,QAAQ,EAAE,CAAC;gBACT,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE;;kBAEE,UAAU;YAChB,gBAAgB;aACf,MAAM,CAAC,CAAC,CAAC,QAAQ,MAAM,EAAE,CAAC,CAAC,CAAC,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,cAAc,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;oFAUnB,MAAM,CAAC,CAAC,CAAC,kBAAkB,MAAM,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,sBAAsB,UAAU,KAAK,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+MAiXsB;iBACtM;aACF,CAAC;KACH,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-pipeline.d.ts","sourceRoot":"","sources":["../../src/prompts/create-pipeline.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"create-pipeline.d.ts","sourceRoot":"","sources":["../../src/prompts/create-pipeline.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA6FpE"}
|
|
@@ -20,6 +20,7 @@ Steps:
|
|
|
20
20
|
2. Call harness_describe with resource_type="pipeline" to understand available operations
|
|
21
21
|
3. If helpful, call harness_list with resource_type="pipeline"${projectId ? ` and project_id="${projectId}"` : ""} to see existing pipeline patterns
|
|
22
22
|
4. Also check available connectors (harness_list resource_type="connector"), services (harness_list resource_type="service"), and environments (harness_list resource_type="environment")
|
|
23
|
+
NOTE: If the source repo is in Harness Code, no Git connector is needed — use \`properties.ci.codebase.repoName\` directly. Only create Git connectors for third-party repos (GitHub, GitLab, Bitbucket).
|
|
23
24
|
5. If the pipeline involves building/pushing Docker images, determine the registry type:
|
|
24
25
|
- If the user says "Harness Artifact Registry" or "HAR" → use TEMPLATE A below
|
|
25
26
|
- If the user says DockerHub, ECR, GCR, ACR, or any other provider → use TEMPLATE B below
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-pipeline.js","sourceRoot":"","sources":["../../src/prompts/create-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,MAAM,UAAU,4BAA4B,CAAC,MAAiB;IAC5D,MAAM,CAAC,cAAc,CACnB,iBAAiB,EACjB;QACE,WAAW,EAAE,wDAAwD;QACrE,UAAU,EAAE;YACV,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YACxE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,QAAQ,EAAE;SACvE;KACF,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACrC,QAAQ,EAAE,CAAC;gBACT,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE;;EAEd,WAAW;;;;;gEAKmD,SAAS,CAAC,CAAC,CAAC,oBAAoB,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE
|
|
1
|
+
{"version":3,"file":"create-pipeline.js","sourceRoot":"","sources":["../../src/prompts/create-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,MAAM,UAAU,4BAA4B,CAAC,MAAiB;IAC5D,MAAM,CAAC,cAAc,CACnB,iBAAiB,EACjB;QACE,WAAW,EAAE,wDAAwD;QACrE,UAAU,EAAE;YACV,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YACxE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,QAAQ,EAAE;SACvE;KACF,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACrC,QAAQ,EAAE,CAAC;gBACT,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE;;EAEd,WAAW;;;;;gEAKmD,SAAS,CAAC,CAAC,CAAC,oBAAoB,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE;;;;;;sDAM3D,SAAS,CAAC,CAAC,CAAC,oBAAoB,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uFA4DhB;iBAC9E;aACF,CAAC;KACH,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -245,9 +245,16 @@ export declare const chaosK8sInfraListExtract: (raw: unknown) => {
|
|
|
245
245
|
};
|
|
246
246
|
/**
|
|
247
247
|
* Project a single load test (InternalApiLoadTestResponse) to a stable shape.
|
|
248
|
-
*
|
|
249
|
-
*
|
|
250
|
-
*
|
|
248
|
+
*
|
|
249
|
+
* The new wire format carries every recognised tunable inside `inputs[]`
|
|
250
|
+
* (TemplateInput) and user-defined non-secrets inside `variables[]`
|
|
251
|
+
* (TemplateVariable). We pass both arrays through as-is for fidelity AND
|
|
252
|
+
* surface derived convenience scalars (target_url / users / duration_sec / ...)
|
|
253
|
+
* that mirror the create-side LLM surface so round-trips are intuitive.
|
|
254
|
+
*
|
|
255
|
+
* Drops the large base64 scriptContent and backend user-detail envelopes.
|
|
256
|
+
* Mirrors `identity` into `loadtestId` so the deep-link resolver fills
|
|
257
|
+
* {loadtestId} instead of falling back to the name.
|
|
251
258
|
*/
|
|
252
259
|
export declare const chaosLoadTestExtract: (raw: unknown) => unknown;
|
|
253
260
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractors.d.ts","sourceRoot":"","sources":["../../src/registry/extractors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"extractors.d.ts","sourceRoot":"","sources":["../../src/registry/extractors.ts"],"names":[],"mappings":"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"}
|
|
@@ -549,16 +549,27 @@ export const chaosK8sInfraListExtract = (raw) => {
|
|
|
549
549
|
total: r.totalNoOfInfrastructures ?? (Array.isArray(r.infras) ? r.infras.length : 0),
|
|
550
550
|
};
|
|
551
551
|
};
|
|
552
|
+
// Read a well-known input value from the inputs[] slice by name.
|
|
553
|
+
const readLoadtestInput = (inputs, name) => (inputs ?? []).find((i) => i?.name === name)?.value;
|
|
552
554
|
/**
|
|
553
555
|
* Project a single load test (InternalApiLoadTestResponse) to a stable shape.
|
|
554
|
-
*
|
|
555
|
-
*
|
|
556
|
-
*
|
|
556
|
+
*
|
|
557
|
+
* The new wire format carries every recognised tunable inside `inputs[]`
|
|
558
|
+
* (TemplateInput) and user-defined non-secrets inside `variables[]`
|
|
559
|
+
* (TemplateVariable). We pass both arrays through as-is for fidelity AND
|
|
560
|
+
* surface derived convenience scalars (target_url / users / duration_sec / ...)
|
|
561
|
+
* that mirror the create-side LLM surface so round-trips are intuitive.
|
|
562
|
+
*
|
|
563
|
+
* Drops the large base64 scriptContent and backend user-detail envelopes.
|
|
564
|
+
* Mirrors `identity` into `loadtestId` so the deep-link resolver fills
|
|
565
|
+
* {loadtestId} instead of falling back to the name.
|
|
557
566
|
*/
|
|
558
567
|
export const chaosLoadTestExtract = (raw) => {
|
|
559
568
|
if (!raw || typeof raw !== "object" || Array.isArray(raw))
|
|
560
569
|
return raw;
|
|
561
570
|
const t = raw;
|
|
571
|
+
const inputs = Array.isArray(t.inputs) ? t.inputs : undefined;
|
|
572
|
+
const variables = Array.isArray(t.variables) ? t.variables : undefined;
|
|
562
573
|
return {
|
|
563
574
|
loadtestId: t.identity,
|
|
564
575
|
identity: t.identity,
|
|
@@ -568,14 +579,21 @@ export const chaosLoadTestExtract = (raw) => {
|
|
|
568
579
|
environmentIdentifier: t.environmentIdentifier,
|
|
569
580
|
infraIdentifier: t.infraIdentifier,
|
|
570
581
|
targetType: t.targetType,
|
|
571
|
-
targetUrl: t.targetUrl,
|
|
572
582
|
toolType: t.toolType,
|
|
573
583
|
scriptSource: t.scriptSource,
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
584
|
+
// Canonical slices — passed through as-is for fidelity.
|
|
585
|
+
inputs,
|
|
586
|
+
variables,
|
|
587
|
+
yaml: t.yaml,
|
|
588
|
+
// Derived convenience scalars (read-side mirror of the create-side LLM surface).
|
|
589
|
+
target_url: readLoadtestInput(inputs, "targetUrl"),
|
|
590
|
+
users: readLoadtestInput(inputs, "targetUsers"),
|
|
591
|
+
duration_sec: readLoadtestInput(inputs, "durationSeconds"),
|
|
592
|
+
ramp_up_sec: readLoadtestInput(inputs, "rampUpTimeSec"),
|
|
593
|
+
worker_count: readLoadtestInput(inputs, "workerCount"),
|
|
594
|
+
script_image: readLoadtestInput(inputs, "scriptImage"),
|
|
595
|
+
script_entrypoint: readLoadtestInput(inputs, "scriptEntrypoint"),
|
|
596
|
+
load_args: readLoadtestInput(inputs, "loadArgs"),
|
|
579
597
|
lastExecuted: t.lastExecuted,
|
|
580
598
|
createdAt: t.createdAt,
|
|
581
599
|
updatedAt: t.updatedAt,
|