harness-mcp-v2 0.8.7 → 0.8.8
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 +52 -2
- package/build/client/harness-client.d.ts.map +1 -1
- package/build/client/harness-client.js +53 -12
- package/build/client/harness-client.js.map +1 -1
- package/build/client/types.d.ts +2 -1
- package/build/client/types.d.ts.map +1 -1
- package/build/config.d.ts +3 -3
- package/build/config.d.ts.map +1 -1
- package/build/config.js +11 -3
- package/build/config.js.map +1 -1
- package/build/prompts/build-deploy-app.d.ts.map +1 -1
- package/build/prompts/build-deploy-app.js +26 -2
- package/build/prompts/build-deploy-app.js.map +1 -1
- package/build/prompts/create-pipeline.d.ts.map +1 -1
- package/build/prompts/create-pipeline.js +25 -2
- package/build/prompts/create-pipeline.js.map +1 -1
- package/build/prompts/debug-pipeline.d.ts.map +1 -1
- package/build/prompts/debug-pipeline.js +4 -0
- package/build/prompts/debug-pipeline.js.map +1 -1
- package/build/prompts/migrate-to-template.d.ts.map +1 -1
- package/build/prompts/migrate-to-template.js +24 -6
- package/build/prompts/migrate-to-template.js.map +1 -1
- package/build/prompts/onboard-service.d.ts.map +1 -1
- package/build/prompts/onboard-service.js +30 -4
- package/build/prompts/onboard-service.js.map +1 -1
- package/build/registry/extractors.d.ts +29 -0
- package/build/registry/extractors.d.ts.map +1 -1
- package/build/registry/extractors.js +55 -0
- package/build/registry/extractors.js.map +1 -1
- package/build/registry/index.d.ts.map +1 -1
- package/build/registry/index.js +21 -3
- package/build/registry/index.js.map +1 -1
- package/build/registry/toolsets/chaos-descriptions.d.ts +68 -32
- package/build/registry/toolsets/chaos-descriptions.d.ts.map +1 -1
- package/build/registry/toolsets/chaos-descriptions.js +273 -34
- 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 +379 -83
- package/build/registry/toolsets/chaos.js.map +1 -1
- package/build/registry/toolsets/gitops.d.ts.map +1 -1
- package/build/registry/toolsets/gitops.js +38 -6
- package/build/registry/toolsets/gitops.js.map +1 -1
- package/build/registry/toolsets/pipelines.d.ts.map +1 -1
- package/build/registry/toolsets/pipelines.js +129 -25
- package/build/registry/toolsets/pipelines.js.map +1 -1
- package/build/registry/toolsets/platform.d.ts.map +1 -1
- package/build/registry/toolsets/platform.js +74 -53
- package/build/registry/toolsets/platform.js.map +1 -1
- package/build/registry/toolsets/scs.d.ts.map +1 -1
- package/build/registry/toolsets/scs.js +41 -1
- package/build/registry/toolsets/scs.js.map +1 -1
- package/build/registry/types.d.ts +6 -0
- package/build/registry/types.d.ts.map +1 -1
- package/build/tools/harness-create.d.ts.map +1 -1
- package/build/tools/harness-create.js +9 -3
- package/build/tools/harness-create.js.map +1 -1
- package/build/tools/harness-delete.d.ts.map +1 -1
- package/build/tools/harness-delete.js +5 -2
- package/build/tools/harness-delete.js.map +1 -1
- package/build/tools/harness-execute.d.ts.map +1 -1
- package/build/tools/harness-execute.js +38 -2
- package/build/tools/harness-execute.js.map +1 -1
- package/build/tools/harness-update.d.ts.map +1 -1
- package/build/tools/harness-update.js +14 -5
- package/build/tools/harness-update.js.map +1 -1
- package/build/utils/compact.js +2 -2
- package/build/utils/compact.js.map +1 -1
- package/build/utils/materialize-input-sets.d.ts +15 -0
- package/build/utils/materialize-input-sets.d.ts.map +1 -0
- package/build/utils/materialize-input-sets.js +125 -0
- package/build/utils/materialize-input-sets.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -64,7 +64,7 @@ harness-mcp-v2
|
|
|
64
64
|
For development or customization:
|
|
65
65
|
|
|
66
66
|
```bash
|
|
67
|
-
git clone https://github.com/
|
|
67
|
+
git clone https://github.com/harness/mcp-server.git
|
|
68
68
|
cd harness-mcp-v2
|
|
69
69
|
pnpm install
|
|
70
70
|
pnpm build
|
|
@@ -807,6 +807,56 @@ Harness pipelines can be stored in three ways:
|
|
|
807
807
|
}
|
|
808
808
|
```
|
|
809
809
|
|
|
810
|
+
**List input sets for a pipeline:**
|
|
811
|
+
|
|
812
|
+
```json
|
|
813
|
+
{
|
|
814
|
+
"resource_type": "input_set",
|
|
815
|
+
"pipeline_id": "my-pipeline"
|
|
816
|
+
}
|
|
817
|
+
```
|
|
818
|
+
|
|
819
|
+
**Get a specific input set:**
|
|
820
|
+
|
|
821
|
+
```json
|
|
822
|
+
{
|
|
823
|
+
"resource_type": "input_set",
|
|
824
|
+
"resource_id": "prod-inputs",
|
|
825
|
+
"pipeline_id": "my-pipeline"
|
|
826
|
+
}
|
|
827
|
+
```
|
|
828
|
+
|
|
829
|
+
**Create an input set:**
|
|
830
|
+
|
|
831
|
+
```json
|
|
832
|
+
{
|
|
833
|
+
"resource_type": "input_set",
|
|
834
|
+
"pipeline_id": "my-pipeline",
|
|
835
|
+
"body": "inputSet:\n name: Production Inputs\n identifier: prod_inputs\n pipeline:\n identifier: my-pipeline\n variables:\n - name: env\n type: String\n value: production"
|
|
836
|
+
}
|
|
837
|
+
```
|
|
838
|
+
|
|
839
|
+
**Update an input set:**
|
|
840
|
+
|
|
841
|
+
```json
|
|
842
|
+
{
|
|
843
|
+
"resource_type": "input_set",
|
|
844
|
+
"resource_id": "prod_inputs",
|
|
845
|
+
"pipeline_id": "my-pipeline",
|
|
846
|
+
"body": "inputSet:\n name: Production Inputs\n identifier: prod_inputs\n pipeline:\n identifier: my-pipeline\n variables:\n - name: env\n type: String\n value: production\n - name: replicas\n type: String\n value: \"3\""
|
|
847
|
+
}
|
|
848
|
+
```
|
|
849
|
+
|
|
850
|
+
**Delete an input set:**
|
|
851
|
+
|
|
852
|
+
```json
|
|
853
|
+
{
|
|
854
|
+
"resource_type": "input_set",
|
|
855
|
+
"resource_id": "prod_inputs",
|
|
856
|
+
"pipeline_id": "my-pipeline"
|
|
857
|
+
}
|
|
858
|
+
```
|
|
859
|
+
|
|
810
860
|
## Resource Types
|
|
811
861
|
|
|
812
862
|
139 resource types organized across 30 toolsets. Each resource type supports a subset of CRUD operations and optional execute actions.
|
|
@@ -826,7 +876,7 @@ Harness pipelines can be stored in three ways:
|
|
|
826
876
|
| `execution` | x | x | | | | `interrupt` |
|
|
827
877
|
| `trigger` | x | x | x | x | x | |
|
|
828
878
|
| `pipeline_summary` | | x | | | | |
|
|
829
|
-
| `input_set` | x | x | | | | |
|
|
879
|
+
| `input_set` | x | x | x | x | x | |
|
|
830
880
|
| `runtime_input_template` | | x | | | | |
|
|
831
881
|
| `approval_instance` | x | | | | | `approve`, `reject` |
|
|
832
882
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness-client.d.ts","sourceRoot":"","sources":["../../src/client/harness-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"harness-client.d.ts","sourceRoot":"","sources":["../../src/client/harness-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAkGjD;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,MAAM,GAAG,SAAS,CAAC;AAEzD,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,iBAAiB,CAAC,CAAoB;gBAElC,MAAM,EAAE,MAAM;IAS1B;;;OAGG;IACH,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAIvD,6EAA6E;IAC7E,OAAO,CAAC,gBAAgB;IAIxB,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAEK,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IA0JrD;;;;OAIG;IACG,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4F/D,OAAO,CAAC,QAAQ;CA2CjB"}
|
|
@@ -3,6 +3,20 @@ import { RateLimiter } from "../utils/rate-limiter.js";
|
|
|
3
3
|
import { createLogger } from "../utils/logger.js";
|
|
4
4
|
const log = createLogger("harness-client");
|
|
5
5
|
const RETRYABLE_STATUS_CODES = new Set([429, 500, 502, 503, 504]);
|
|
6
|
+
/**
|
|
7
|
+
* Whether the caller explicitly set a body (including empty string).
|
|
8
|
+
* `""` must be preserved: `if (options.body)` treats it as absent, which drops the
|
|
9
|
+
* YAML body on pipeline execute — Harness then ignores `inputSetIdentifiers` and
|
|
10
|
+
* fails with "Value not provided for required variable".
|
|
11
|
+
*/
|
|
12
|
+
function hasExplicitBody(body) {
|
|
13
|
+
return body !== undefined && body !== null;
|
|
14
|
+
}
|
|
15
|
+
function serializeRequestBody(body) {
|
|
16
|
+
if (!hasExplicitBody(body))
|
|
17
|
+
return undefined;
|
|
18
|
+
return typeof body === "string" ? body : JSON.stringify(body);
|
|
19
|
+
}
|
|
6
20
|
const BASE_BACKOFF_MS = 1000;
|
|
7
21
|
/** Strip HTML tags, script/style contents, and collapse whitespace. */
|
|
8
22
|
function stripHtml(html) {
|
|
@@ -50,6 +64,26 @@ function isGarbageMessage(message) {
|
|
|
50
64
|
return true;
|
|
51
65
|
return false;
|
|
52
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Per-path-prefix error field enrichments.
|
|
69
|
+
* When an API error response contains the named field AND the request path
|
|
70
|
+
* matches the prefix, the field value is appended to the error message.
|
|
71
|
+
* Add entries here for endpoint groups that return extra context fields.
|
|
72
|
+
*/
|
|
73
|
+
const ERROR_FIELD_ENRICHMENTS = [
|
|
74
|
+
{ pathPrefix: "/chaos/", field: "description" },
|
|
75
|
+
{ pathPrefix: "/loadTest/", field: "description" },
|
|
76
|
+
];
|
|
77
|
+
function enrichErrorMessage(rawMessage, parsed, path) {
|
|
78
|
+
let message = rawMessage;
|
|
79
|
+
for (const { pathPrefix, field } of ERROR_FIELD_ENRICHMENTS) {
|
|
80
|
+
const value = parsed[field];
|
|
81
|
+
if (path.startsWith(pathPrefix) && typeof value === "string" && value) {
|
|
82
|
+
message += ` — ${value}`;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return message;
|
|
86
|
+
}
|
|
53
87
|
export class HarnessClient {
|
|
54
88
|
baseUrl;
|
|
55
89
|
token;
|
|
@@ -99,7 +133,7 @@ export class HarnessClient {
|
|
|
99
133
|
if (!headers["Authorization"] && !headers["x-api-key"]) {
|
|
100
134
|
headers["x-api-key"] = this.token;
|
|
101
135
|
}
|
|
102
|
-
if (options.body) {
|
|
136
|
+
if (hasExplicitBody(options.body)) {
|
|
103
137
|
if (typeof options.body === "string") {
|
|
104
138
|
headers["Content-Type"] = headers["Content-Type"] ?? "application/yaml";
|
|
105
139
|
}
|
|
@@ -126,11 +160,9 @@ export class HarnessClient {
|
|
|
126
160
|
const signal = options.signal
|
|
127
161
|
? AbortSignal.any([options.signal, timeoutController.signal])
|
|
128
162
|
: timeoutController.signal;
|
|
129
|
-
const bodyString = options.body
|
|
130
|
-
? (typeof options.body === "string" ? options.body : JSON.stringify(options.body))
|
|
131
|
-
: undefined;
|
|
163
|
+
const bodyString = serializeRequestBody(options.body);
|
|
132
164
|
log.debug(`${method} ${url}`);
|
|
133
|
-
if (bodyString) {
|
|
165
|
+
if (bodyString !== undefined) {
|
|
134
166
|
log.debug("Request body", { body: bodyString.slice(0, 1000) });
|
|
135
167
|
}
|
|
136
168
|
const response = await fetch(url, {
|
|
@@ -150,9 +182,10 @@ export class HarnessClient {
|
|
|
150
182
|
// Non-JSON error (HTML proxy page, WAF block, etc.)
|
|
151
183
|
// Provide actionable messages instead of leaking raw HTML to the LLM
|
|
152
184
|
}
|
|
153
|
-
const
|
|
185
|
+
const rawMessage = isGarbageMessage(parsed.message)
|
|
154
186
|
? humanizeHttpError(response.status, body)
|
|
155
187
|
: parsed.message;
|
|
188
|
+
const message = enrichErrorMessage(rawMessage, parsed, options.path);
|
|
156
189
|
log.debug(`HTTP ${response.status} error`, { body: body.slice(0, 1000) });
|
|
157
190
|
const error = new HarnessApiError(message, response.status, parsed.code, parsed.correlationId);
|
|
158
191
|
if (RETRYABLE_STATUS_CODES.has(response.status) && attempt < this.maxRetries) {
|
|
@@ -222,7 +255,7 @@ export class HarnessClient {
|
|
|
222
255
|
if (!headers["Authorization"] && !headers["x-api-key"]) {
|
|
223
256
|
headers["x-api-key"] = this.token;
|
|
224
257
|
}
|
|
225
|
-
if (options.body) {
|
|
258
|
+
if (hasExplicitBody(options.body)) {
|
|
226
259
|
if (typeof options.body === "string") {
|
|
227
260
|
headers["Content-Type"] = headers["Content-Type"] ?? "application/yaml";
|
|
228
261
|
}
|
|
@@ -247,9 +280,7 @@ export class HarnessClient {
|
|
|
247
280
|
const signal = options.signal
|
|
248
281
|
? AbortSignal.any([options.signal, timeoutController.signal])
|
|
249
282
|
: timeoutController.signal;
|
|
250
|
-
const bodyString = options.body
|
|
251
|
-
? (typeof options.body === "string" ? options.body : JSON.stringify(options.body))
|
|
252
|
-
: undefined;
|
|
283
|
+
const bodyString = serializeRequestBody(options.body);
|
|
253
284
|
log.debug(`STREAM ${method} ${url}`);
|
|
254
285
|
const response = await fetch(url, { method, headers, body: bodyString, signal });
|
|
255
286
|
clearTimeout(timer);
|
|
@@ -260,9 +291,10 @@ export class HarnessClient {
|
|
|
260
291
|
parsed = JSON.parse(body);
|
|
261
292
|
}
|
|
262
293
|
catch { /* non-JSON */ }
|
|
263
|
-
const
|
|
294
|
+
const rawMessage = isGarbageMessage(parsed.message)
|
|
264
295
|
? humanizeHttpError(response.status, body)
|
|
265
296
|
: parsed.message;
|
|
297
|
+
const message = enrichErrorMessage(rawMessage, parsed, options.path);
|
|
266
298
|
const error = new HarnessApiError(message, response.status, parsed.code, parsed.correlationId);
|
|
267
299
|
if (RETRYABLE_STATUS_CODES.has(response.status) && attempt < this.maxRetries) {
|
|
268
300
|
lastError = error;
|
|
@@ -310,7 +342,16 @@ export class HarnessClient {
|
|
|
310
342
|
}
|
|
311
343
|
if (options.params) {
|
|
312
344
|
for (const [key, value] of Object.entries(options.params)) {
|
|
313
|
-
if (value
|
|
345
|
+
if (value === undefined || value === "")
|
|
346
|
+
continue;
|
|
347
|
+
if (Array.isArray(value)) {
|
|
348
|
+
for (const item of value) {
|
|
349
|
+
if (item !== undefined && item !== "") {
|
|
350
|
+
params.append(key, String(item));
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
else {
|
|
314
355
|
params.set(key, String(value));
|
|
315
356
|
}
|
|
316
357
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness-client.js","sourceRoot":"","sources":["../../src/client/harness-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"harness-client.js","sourceRoot":"","sources":["../../src/client/harness-client.ts"],"names":[],"mappings":"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"}
|
package/build/client/types.d.ts
CHANGED
|
@@ -36,7 +36,8 @@ export interface HarnessV1ListResponse<T> {
|
|
|
36
36
|
export interface RequestOptions {
|
|
37
37
|
method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
38
38
|
path: string;
|
|
39
|
-
|
|
39
|
+
/** Scalar or string[] (repeated query keys, e.g. `inputSetIdentifiers=a&inputSetIdentifiers=b`). */
|
|
40
|
+
params?: Record<string, string | number | boolean | string[] | undefined>;
|
|
40
41
|
body?: unknown;
|
|
41
42
|
headers?: Record<string, string>;
|
|
42
43
|
/** Override base URL for this request (e.g. FME/Split.io uses https://api.split.io) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,+CAA+C;AAC/C,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACxC,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,yDAAyD;AACzD,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACxC,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QACd,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,mCAAmC;AACnC,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,+CAA+C;AAC/C,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACxC,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,yDAAyD;AACzD,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACxC,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QACd,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,mCAAmC;AACnC,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,oGAAoG;IACpG,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAC1E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,uFAAuF;IACvF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oFAAoF;IACpF,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iGAAiG;IACjG,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACjC,gFAAgF;IAChF,OAAO,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;IAC5B;0FACsF;IACtF,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B"}
|
package/build/config.d.ts
CHANGED
|
@@ -24,9 +24,9 @@ export declare const ConfigSchema: z.ZodPipe<z.ZodObject<{
|
|
|
24
24
|
HARNESS_TOOLSETS: z.ZodOptional<z.ZodString>;
|
|
25
25
|
HARNESS_MAX_BODY_SIZE_MB: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
26
26
|
HARNESS_RATE_LIMIT_RPS: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
27
|
-
HARNESS_READ_ONLY: z.ZodDefault<z.
|
|
28
|
-
HARNESS_SKIP_ELICITATION: z.ZodDefault<z.
|
|
29
|
-
HARNESS_ALLOW_HTTP: z.ZodDefault<z.
|
|
27
|
+
HARNESS_READ_ONLY: z.ZodDefault<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodUndefined]>, z.ZodTransform<boolean, string | boolean | undefined>>>;
|
|
28
|
+
HARNESS_SKIP_ELICITATION: z.ZodDefault<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodUndefined]>, z.ZodTransform<boolean, string | boolean | undefined>>>;
|
|
29
|
+
HARNESS_ALLOW_HTTP: z.ZodDefault<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodUndefined]>, z.ZodTransform<boolean, string | boolean | undefined>>>;
|
|
30
30
|
HARNESS_FME_BASE_URL: z.ZodDefault<z.ZodString>;
|
|
31
31
|
}, z.core.$strip>, z.ZodTransform<{
|
|
32
32
|
HARNESS_ACCOUNT_ID: string;
|
package/build/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAW5B;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAO5E;AA2BD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BvB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAKlD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAGrG;AAED,wBAAgB,UAAU,IAAI,MAAM,CAQnC"}
|
package/build/config.js
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import * as z from "zod/v4";
|
|
2
|
+
/**
|
|
3
|
+
* Coerce a string env var to a boolean.
|
|
4
|
+
* "true" / "1" / "yes" → true; everything else (including "false") → false.
|
|
5
|
+
* This avoids the JS `Boolean("false") === true` footgun with z.coerce.boolean().
|
|
6
|
+
*/
|
|
7
|
+
const booleanFromEnv = z
|
|
8
|
+
.union([z.boolean(), z.string(), z.undefined()])
|
|
9
|
+
.transform((val) => typeof val === "string" && ["true", "1", "yes"].includes(val.toLowerCase()));
|
|
2
10
|
/**
|
|
3
11
|
* Extract the account ID from a Harness PAT token.
|
|
4
12
|
* PAT format: pat.<accountId>.<tokenId>.<secret>
|
|
@@ -28,9 +36,9 @@ const RawConfigSchema = z.object({
|
|
|
28
36
|
HARNESS_TOOLSETS: z.string().optional(),
|
|
29
37
|
HARNESS_MAX_BODY_SIZE_MB: z.coerce.number().default(10),
|
|
30
38
|
HARNESS_RATE_LIMIT_RPS: z.coerce.number().default(10),
|
|
31
|
-
HARNESS_READ_ONLY:
|
|
32
|
-
HARNESS_SKIP_ELICITATION:
|
|
33
|
-
HARNESS_ALLOW_HTTP:
|
|
39
|
+
HARNESS_READ_ONLY: booleanFromEnv.default(false),
|
|
40
|
+
HARNESS_SKIP_ELICITATION: booleanFromEnv.default(false),
|
|
41
|
+
HARNESS_ALLOW_HTTP: booleanFromEnv.default(false),
|
|
34
42
|
HARNESS_FME_BASE_URL: z.string().url().default("https://api.split.io"),
|
|
35
43
|
});
|
|
36
44
|
export const ConfigSchema = RawConfigSchema.transform((data) => {
|
package/build/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAc;IACtD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,6BAA6B,CAAC;IACjE,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC;IACpE,wBAAwB;IACxB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,qCAAqC;IACrC,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7C,0BAA0B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjD,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACxD,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,SAAS,EAAE,CAAC,CAAC,UAAU,CACrB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EACvC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAC3D;IACD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,wBAAwB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACvD,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACrD,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.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,CAsPpE"}
|
|
@@ -106,7 +106,11 @@ Present the full pipeline YAML for review. Do NOT create it yet.
|
|
|
106
106
|
|
|
107
107
|
### Step 7 — Create & execute CI pipeline (with auto-retry)
|
|
108
108
|
- After user confirms the YAML, create it using harness_create with resource_type="pipeline"
|
|
109
|
-
-
|
|
109
|
+
- **Discover runtime inputs**: Call harness_get with resource_type="runtime_input_template" and resource_id=<pipeline_id> to see which \`<+input>\` placeholders need values
|
|
110
|
+
- **Execute with shorthands**: Call harness_execute with resource_type="pipeline", action="run", resource_id=<pipeline_id>. For CI pipelines, pass the Git branch/tag directly as shorthand inputs:
|
|
111
|
+
- \`inputs: { branch: "main" }\` — auto-expands to the full codebase build structure
|
|
112
|
+
- Other shorthands: \`tag\`, \`pr_number\`, \`commit_sha\` (see harness_describe for details)
|
|
113
|
+
- For remaining \`<+input>\` values, pass them as flat key-value pairs in \`inputs\`
|
|
110
114
|
- Monitor progress using harness_status — poll until the execution completes or fails
|
|
111
115
|
|
|
112
116
|
**CI FAILURE RETRY LOOP (up to 5 attempts):**
|
|
@@ -166,7 +170,8 @@ Present the full pipeline YAML for review. Do NOT create it yet.
|
|
|
166
170
|
|
|
167
171
|
### Step 11 — Create & execute CD pipeline (with auto-retry)
|
|
168
172
|
- After user confirms, create the CD pipeline using harness_create with resource_type="pipeline"
|
|
169
|
-
-
|
|
173
|
+
- **Discover runtime inputs**: Call harness_get with resource_type="runtime_input_template" and resource_id=<pipeline_id> to see which \`<+input>\` placeholders need values
|
|
174
|
+
- **Execute**: Call harness_execute with resource_type="pipeline", action="run", resource_id=<pipeline_id>, passing any required runtime inputs as flat key-value \`inputs\`
|
|
170
175
|
- Monitor with harness_status — poll until the execution completes or fails
|
|
171
176
|
|
|
172
177
|
**CD FAILURE RETRY LOOP (up to 3 attempts):**
|
|
@@ -204,6 +209,25 @@ If still failing after 3 attempts:
|
|
|
204
209
|
- Links: Harness UI links to both pipelines, service, and environment
|
|
205
210
|
- App URL: if determinable from the K8s service (LoadBalancer IP/hostname)
|
|
206
211
|
|
|
212
|
+
### Step 13 — Optional: Create input sets for reusability
|
|
213
|
+
If the pipelines have \`<+input>\` runtime placeholders, offer to create saved input sets so future runs don't require manual input:
|
|
214
|
+
- Call harness_get with resource_type="runtime_input_template" and resource_id=<pipeline_id> for each pipeline to identify all placeholders
|
|
215
|
+
- Suggest creating input sets (e.g., "dev-inputs", "prod-inputs") that pre-fill common values
|
|
216
|
+
- Create using harness_create with resource_type="input_set", pipeline_id=<pipeline_id>, and a YAML body:
|
|
217
|
+
\`\`\`yaml
|
|
218
|
+
inputSet:
|
|
219
|
+
name: Dev Defaults
|
|
220
|
+
identifier: dev_defaults
|
|
221
|
+
pipeline:
|
|
222
|
+
identifier: <pipeline_id>
|
|
223
|
+
variables:
|
|
224
|
+
- name: env
|
|
225
|
+
type: String
|
|
226
|
+
value: dev
|
|
227
|
+
\`\`\`
|
|
228
|
+
- Future runs can use: harness_execute with input_set_ids=["dev_defaults"] instead of passing inputs manually
|
|
229
|
+
- This is optional — only create if the user wants reusable configurations
|
|
230
|
+
|
|
207
231
|
---
|
|
208
232
|
|
|
209
233
|
CRITICAL RULES:
|
|
@@ -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;;;;;;oCAMnE,OAAO;;;;;YAK/B,OAAO
|
|
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;;;;;;oCAMnE,OAAO;;;;;YAK/B,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-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,CA4FpE"}
|
|
@@ -58,9 +58,32 @@ Steps:
|
|
|
58
58
|
Key: uses \`connectorRef\`. Does NOT have \`registryRef\`.
|
|
59
59
|
|
|
60
60
|
6. Generate the pipeline YAML conforming to the schema, using the correct template from step 5
|
|
61
|
-
7.
|
|
61
|
+
7. **Choose storage mode** — ask the user where to store the pipeline:
|
|
62
|
+
- **Inline (default)**: Stored in Harness. Simplest setup, no Git required. Just call harness_create with resource_type="pipeline" and the YAML body.
|
|
63
|
+
- **Remote (External Git)**: Stored in GitHub/GitLab/Bitbucket. Pass \`params: { store_type: "REMOTE", connector_ref: "<git_connector>", repo_name: "<repo>", branch: "main", file_path: ".harness/<pipeline_id>.yaml", commit_msg: "Add pipeline via MCP" }\`
|
|
64
|
+
- **Remote (Harness Code)**: Stored in a Harness Code repo. Pass \`params: { store_type: "REMOTE", is_harness_code_repo: true, repo_name: "<repo>", branch: "main", file_path: ".harness/<pipeline_id>.yaml", commit_msg: "Add pipeline via MCP" }\`
|
|
65
|
+
8. Present the YAML for review before creating
|
|
62
66
|
|
|
63
|
-
Do NOT create the pipeline until I confirm — just show me the YAML first
|
|
67
|
+
Do NOT create the pipeline until I confirm — just show me the YAML first.
|
|
68
|
+
|
|
69
|
+
After the pipeline is created, if it contains \`<+input>\` runtime placeholders:
|
|
70
|
+
9. **Suggest creating input sets** to save common configurations for future runs:
|
|
71
|
+
- Call harness_get with resource_type="runtime_input_template" and resource_id=<pipeline_id> to discover all \`<+input>\` placeholders
|
|
72
|
+
- Propose input sets for common scenarios (e.g., "dev-defaults", "prod-defaults") that pre-fill values
|
|
73
|
+
- Create using harness_create with resource_type="input_set", pipeline_id=<pipeline_id>, and a YAML body like:
|
|
74
|
+
\`\`\`yaml
|
|
75
|
+
inputSet:
|
|
76
|
+
name: Dev Defaults
|
|
77
|
+
identifier: dev_defaults
|
|
78
|
+
pipeline:
|
|
79
|
+
identifier: <pipeline_id>
|
|
80
|
+
variables:
|
|
81
|
+
- name: env
|
|
82
|
+
type: String
|
|
83
|
+
value: dev
|
|
84
|
+
\`\`\`
|
|
85
|
+
- This lets future runs use \`input_set_ids: ["dev_defaults"]\` instead of manual input each time
|
|
86
|
+
- This step is optional — only create if the user wants reusable run configurations`,
|
|
64
87
|
},
|
|
65
88
|
}],
|
|
66
89
|
}));
|
|
@@ -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;;;;;sDAK3D,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;;;;;sDAK3D,SAAS,CAAC,CAAC,CAAC,oBAAoB,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uFA4DhB;iBAC9E;aACF,CAAC;KACH,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-pipeline.d.ts","sourceRoot":"","sources":["../../src/prompts/debug-pipeline.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"debug-pipeline.d.ts","sourceRoot":"","sources":["../../src/prompts/debug-pipeline.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8CnE"}
|
|
@@ -30,6 +30,10 @@ Then analyze the diagnostic payload:
|
|
|
30
30
|
- **failure section**: failed stage, step, error message, and delegate
|
|
31
31
|
- **child_pipeline section**: if present, the failure is in a chained pipeline — focus on the child's failure details
|
|
32
32
|
- **failed_step_logs**: actual log output from the failed steps — look for error patterns, stack traces, and exit codes
|
|
33
|
+
- **runtime input issues**: if the error mentions unresolved \`<+input>\` expressions or missing variables, check:
|
|
34
|
+
- Call harness_get with resource_type="runtime_input_template" and resource_id=<pipeline_id> to see which inputs the pipeline expects
|
|
35
|
+
- Call harness_list with resource_type="input_set", pipeline_id=<pipeline_id> to see available input sets that could provide the missing values
|
|
36
|
+
- Suggest the user either pass the missing values as \`inputs\` or use \`input_set_ids\` referencing a saved input set
|
|
33
37
|
|
|
34
38
|
Provide actionable recommendations based on the combined evidence.`,
|
|
35
39
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-pipeline.js","sourceRoot":"","sources":["../../src/prompts/debug-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,MAAM,UAAU,2BAA2B,CAAC,MAAiB;IAC3D,MAAM,CAAC,cAAc,CACnB,wBAAwB,EACxB;QACE,WAAW,EAAE,8GAA8G;QAC3H,UAAU,EAAE;YACV,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC,CAAC,QAAQ,EAAE;YACrG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE;SAChE;KACF,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE;QACnC,uCAAuC;QACvC,MAAM,KAAK,GAAG,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,KAAK;YACnB,CAAC,CAAC,QAAQ,WAAW,GAAG;YACxB,CAAC,CAAC,iBAAiB,WAAW,GAAG,CAAC;QAEpC,OAAO;YACL,QAAQ,EAAE,CAAC;oBACT,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE;;;;;;;yCAOuB,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,iBAAiB,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE
|
|
1
|
+
{"version":3,"file":"debug-pipeline.js","sourceRoot":"","sources":["../../src/prompts/debug-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,MAAM,UAAU,2BAA2B,CAAC,MAAiB;IAC3D,MAAM,CAAC,cAAc,CACnB,wBAAwB,EACxB;QACE,WAAW,EAAE,8GAA8G;QAC3H,UAAU,EAAE;YACV,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC,CAAC,QAAQ,EAAE;YACrG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE;SAChE;KACF,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE;QACnC,uCAAuC;QACvC,MAAM,KAAK,GAAG,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,KAAK;YACnB,CAAC,CAAC,QAAQ,WAAW,GAAG;YACxB,CAAC,CAAC,iBAAiB,WAAW,GAAG,CAAC;QAEpC,OAAO;YACL,QAAQ,EAAE,CAAC;oBACT,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE;;;;;;;yCAOuB,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,iBAAiB,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;mEAW9B;qBACxD;iBACF,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate-to-template.d.ts","sourceRoot":"","sources":["../../src/prompts/migrate-to-template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"migrate-to-template.d.ts","sourceRoot":"","sources":["../../src/prompts/migrate-to-template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAyDvE"}
|
|
@@ -18,18 +18,36 @@ export function registerMigrateToTemplatePrompt(server) {
|
|
|
18
18
|
Steps:
|
|
19
19
|
1. **Get pipeline YAML**: Call harness_get with resource_type="pipeline", resource_id="${pipelineId}"${projectFilter} to fetch the full pipeline definition
|
|
20
20
|
2. **List existing templates**: Call harness_list with resource_type="template"${projectFilter} to see what templates already exist (avoid duplicating)
|
|
21
|
-
3. **
|
|
21
|
+
3. **List existing input sets**: Call harness_list with resource_type="input_set", pipeline_id="${pipelineId}"${projectFilter} to see if input sets already exist for this pipeline
|
|
22
|
+
4. **Identify reusable patterns**: Analyze the pipeline for:
|
|
22
23
|
- Stages that could become **Stage templates** (e.g., deployment stages, approval stages)
|
|
23
24
|
- Steps or step groups that could become **Step templates** (e.g., common build steps, deploy steps, notification steps)
|
|
24
25
|
- Patterns repeated across stages that indicate template opportunity
|
|
25
|
-
|
|
26
|
+
- Hardcoded values that vary per environment or run (these become \`<+input>\` placeholders)
|
|
27
|
+
5. **Generate template YAML**: For each identified template:
|
|
26
28
|
- Extract the stage/step definition
|
|
27
|
-
- Parameterize hardcoded values as runtime inputs (
|
|
29
|
+
- Parameterize hardcoded values as runtime inputs (\`<+input>\`)
|
|
28
30
|
- Add template metadata (name, identifier, versionLabel, type)
|
|
29
|
-
|
|
30
|
-
|
|
31
|
+
6. **Generate updated pipeline YAML**: Rewrite the pipeline to reference the new templates using templateRef and templateInputs
|
|
32
|
+
7. **Generate input sets for common configurations**: For each set of \`<+input>\` placeholders introduced:
|
|
33
|
+
- Identify which values were previously hardcoded and extract them into named input sets
|
|
34
|
+
- Create input sets for common scenarios (e.g., "dev-defaults", "prod-defaults"):
|
|
35
|
+
\`\`\`yaml
|
|
36
|
+
inputSet:
|
|
37
|
+
name: Dev Defaults
|
|
38
|
+
identifier: dev_defaults
|
|
39
|
+
pipeline:
|
|
40
|
+
identifier: ${pipelineId}
|
|
41
|
+
variables:
|
|
42
|
+
- name: env
|
|
43
|
+
type: String
|
|
44
|
+
value: dev
|
|
45
|
+
\`\`\`
|
|
46
|
+
- This preserves the original behavior: running with \`input_set_ids: ["dev_defaults"]\` produces the same result as the pre-template pipeline
|
|
47
|
+
- Multiple input sets can be combined: \`input_set_ids: ["base_defaults", "prod_overrides"]\` (later sets override earlier ones by variable name)
|
|
48
|
+
8. **Present for review**: Show all template YAMLs, the updated pipeline YAML, and proposed input sets
|
|
31
49
|
|
|
32
|
-
Do NOT create templates
|
|
50
|
+
Do NOT create templates, update the pipeline, or create input sets until I confirm the plan.`,
|
|
33
51
|
},
|
|
34
52
|
}],
|
|
35
53
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate-to-template.js","sourceRoot":"","sources":["../../src/prompts/migrate-to-template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,MAAM,UAAU,+BAA+B,CAAC,MAAiB;IAC/D,MAAM,CAAC,cAAc,CACnB,8BAA8B,EAC9B;QACE,WAAW,EAAE,gFAAgF;QAC7F,UAAU,EAAE;YACV,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YACjE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE;SAChE;KACF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE;QAClC,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,iBAAiB,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,OAAO;YACL,QAAQ,EAAE,CAAC;oBACT,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,qBAAqB,UAAU;;;yFAGwC,UAAU,IAAI,aAAa;iFACnC,aAAa
|
|
1
|
+
{"version":3,"file":"migrate-to-template.js","sourceRoot":"","sources":["../../src/prompts/migrate-to-template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,MAAM,UAAU,+BAA+B,CAAC,MAAiB;IAC/D,MAAM,CAAC,cAAc,CACnB,8BAA8B,EAC9B;QACE,WAAW,EAAE,gFAAgF;QAC7F,UAAU,EAAE;YACV,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YACjE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE;SAChE;KACF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE;QAClC,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,iBAAiB,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,OAAO;YACL,QAAQ,EAAE,CAAC;oBACT,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,qBAAqB,UAAU;;;yFAGwC,UAAU,IAAI,aAAa;iFACnC,aAAa;kGACI,UAAU,IAAI,aAAa;;;;;;;;;;;;;;;;;;;uBAmBtG,UAAU;;;;;;;;;;6FAU4D;qBAClF;iBACF,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboard-service.d.ts","sourceRoot":"","sources":["../../src/prompts/onboard-service.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":"onboard-service.d.ts","sourceRoot":"","sources":["../../src/prompts/onboard-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA4DpE"}
|
|
@@ -18,12 +18,38 @@ Steps:
|
|
|
18
18
|
2. **Review patterns**: Call harness_list with resource_type="service"${projectId ? ` and project_id="${projectId}"` : ""} to see existing service patterns in the project
|
|
19
19
|
3. **Environments**: Call harness_list with resource_type="environment"${projectId ? ` and project_id="${projectId}"` : ""} to see available environments
|
|
20
20
|
4. **Connectors**: Call harness_list with resource_type="connector"${projectId ? ` and project_id="${projectId}"` : ""} to see available infrastructure connectors
|
|
21
|
-
5. **
|
|
22
|
-
6. **Create
|
|
21
|
+
5. **Check existing input sets**: Call harness_list with resource_type="input_set"${projectId ? ` and project_id="${projectId}"` : ""} to see if the project already uses input sets for parameterized deployments
|
|
22
|
+
6. **Create service**: Generate the service YAML definition following existing patterns
|
|
23
|
+
7. **Create pipeline**: Generate a deployment pipeline YAML for the service with:
|
|
23
24
|
- Build stage (if applicable)
|
|
24
|
-
- Deploy to dev/staging/prod environments
|
|
25
|
+
- Deploy to dev/staging/prod environments using \`<+input>\` for environment-specific values (infrastructure, namespace, replicas, image tag)
|
|
25
26
|
- Approval gates between staging and prod
|
|
26
|
-
|
|
27
|
+
8. **Choose storage mode** — ask where to store the pipeline:
|
|
28
|
+
- **Inline (default)**: Stored in Harness — simplest setup
|
|
29
|
+
- **Remote (External Git)**: Stored in GitHub/GitLab/Bitbucket via a Git connector
|
|
30
|
+
- **Remote (Harness Code)**: Stored in a Harness Code repository
|
|
31
|
+
9. **Create per-environment input sets**: Since the pipeline uses \`<+input>\` placeholders for multi-environment deployment, create input sets that pre-fill values for each target environment:
|
|
32
|
+
- \`${serviceName}-dev\` — dev infrastructure, namespace, lower replicas
|
|
33
|
+
- \`${serviceName}-staging\` — staging infrastructure, namespace
|
|
34
|
+
- \`${serviceName}-prod\` — prod infrastructure, namespace, higher replicas
|
|
35
|
+
- Example YAML for each:
|
|
36
|
+
\`\`\`yaml
|
|
37
|
+
inputSet:
|
|
38
|
+
name: ${serviceName} Dev
|
|
39
|
+
identifier: ${serviceName.replace(/[^a-zA-Z0-9]/g, "_")}_dev
|
|
40
|
+
pipeline:
|
|
41
|
+
identifier: <pipeline_id>
|
|
42
|
+
variables:
|
|
43
|
+
- name: env
|
|
44
|
+
type: String
|
|
45
|
+
value: dev
|
|
46
|
+
- name: namespace
|
|
47
|
+
type: String
|
|
48
|
+
value: dev
|
|
49
|
+
\`\`\`
|
|
50
|
+
- Create each using harness_create with resource_type="input_set" and pipeline_id=<pipeline_id>
|
|
51
|
+
- This lets future runs use: \`harness_execute(resource_type="pipeline", input_set_ids=["${serviceName.replace(/[^a-zA-Z0-9]/g, "_")}_dev"])\` instead of passing inputs manually
|
|
52
|
+
10. **Present for review**: Show all generated YAML (service, pipeline, input sets) before creating anything
|
|
27
53
|
|
|
28
54
|
Do NOT create any resources until I confirm — present the complete plan first with all YAML definitions.`,
|
|
29
55
|
},
|