harness-mcp-v2 3.2.19 → 3.2.21

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.
Files changed (111) hide show
  1. package/README.md +146 -75
  2. package/build/client/harness-client.d.ts.map +1 -1
  3. package/build/client/harness-client.js +32 -6
  4. package/build/client/harness-client.js.map +1 -1
  5. package/build/config.d.ts +10 -0
  6. package/build/config.d.ts.map +1 -1
  7. package/build/config.js +15 -0
  8. package/build/config.js.map +1 -1
  9. package/build/data/schemas/v0/pipeline.d.ts.map +1 -1
  10. package/build/data/schemas/v0/pipeline.js +1388 -580
  11. package/build/data/schemas/v0/pipeline.js.map +1 -1
  12. package/build/data/schemas/v0/template.d.ts.map +1 -1
  13. package/build/data/schemas/v0/template.js +1142 -166
  14. package/build/data/schemas/v0/template.js.map +1 -1
  15. package/build/data/schemas/v1/pipeline.d.ts.map +1 -1
  16. package/build/data/schemas/v1/pipeline.js +302 -90
  17. package/build/data/schemas/v1/pipeline.js.map +1 -1
  18. package/build/data/schemas/v1/template.d.ts.map +1 -1
  19. package/build/data/schemas/v1/template.js +708 -488
  20. package/build/data/schemas/v1/template.js.map +1 -1
  21. package/build/prompts/deploy-ai-agent.d.ts +3 -0
  22. package/build/prompts/deploy-ai-agent.d.ts.map +1 -0
  23. package/build/prompts/deploy-ai-agent.js +300 -0
  24. package/build/prompts/deploy-ai-agent.js.map +1 -0
  25. package/build/prompts/feature-flag-rollout.d.ts.map +1 -1
  26. package/build/prompts/feature-flag-rollout.js +19 -8
  27. package/build/prompts/feature-flag-rollout.js.map +1 -1
  28. package/build/prompts/index.d.ts.map +1 -1
  29. package/build/prompts/index.js +2 -0
  30. package/build/prompts/index.js.map +1 -1
  31. package/build/registry/extractors.d.ts +87 -10
  32. package/build/registry/extractors.d.ts.map +1 -1
  33. package/build/registry/extractors.js +426 -26
  34. package/build/registry/extractors.js.map +1 -1
  35. package/build/registry/index.d.ts.map +1 -1
  36. package/build/registry/index.js +34 -15
  37. package/build/registry/index.js.map +1 -1
  38. package/build/registry/scope-utils.d.ts +45 -0
  39. package/build/registry/scope-utils.d.ts.map +1 -1
  40. package/build/registry/scope-utils.js +78 -0
  41. package/build/registry/scope-utils.js.map +1 -1
  42. package/build/registry/toolsets/chaos-descriptions.d.ts +72 -20
  43. package/build/registry/toolsets/chaos-descriptions.d.ts.map +1 -1
  44. package/build/registry/toolsets/chaos-descriptions.js +435 -140
  45. package/build/registry/toolsets/chaos-descriptions.js.map +1 -1
  46. package/build/registry/toolsets/chaos.d.ts.map +1 -1
  47. package/build/registry/toolsets/chaos.js +967 -193
  48. package/build/registry/toolsets/chaos.js.map +1 -1
  49. package/build/registry/toolsets/feature-flags.d.ts.map +1 -1
  50. package/build/registry/toolsets/feature-flags.js +888 -85
  51. package/build/registry/toolsets/feature-flags.js.map +1 -1
  52. package/build/registry/toolsets/governance.d.ts.map +1 -1
  53. package/build/registry/toolsets/governance.js +4 -0
  54. package/build/registry/toolsets/governance.js.map +1 -1
  55. package/build/registry/toolsets/iacm.d.ts.map +1 -1
  56. package/build/registry/toolsets/iacm.js +787 -11
  57. package/build/registry/toolsets/iacm.js.map +1 -1
  58. package/build/registry/toolsets/infrastructure.d.ts.map +1 -1
  59. package/build/registry/toolsets/infrastructure.js +30 -5
  60. package/build/registry/toolsets/infrastructure.js.map +1 -1
  61. package/build/registry/toolsets/pipelines.d.ts.map +1 -1
  62. package/build/registry/toolsets/pipelines.js +208 -5
  63. package/build/registry/toolsets/pipelines.js.map +1 -1
  64. package/build/registry/toolsets/release-management.d.ts +8 -0
  65. package/build/registry/toolsets/release-management.d.ts.map +1 -0
  66. package/build/registry/toolsets/release-management.js +783 -0
  67. package/build/registry/toolsets/release-management.js.map +1 -0
  68. package/build/registry/toolsets/sto.d.ts.map +1 -1
  69. package/build/registry/toolsets/sto.js +93 -17
  70. package/build/registry/toolsets/sto.js.map +1 -1
  71. package/build/registry/types.d.ts +52 -4
  72. package/build/registry/types.d.ts.map +1 -1
  73. package/build/resources/harness-schema.d.ts.map +1 -1
  74. package/build/resources/harness-schema.js +2 -1
  75. package/build/resources/harness-schema.js.map +1 -1
  76. package/build/tools/entity-schema/live.d.ts +6 -5
  77. package/build/tools/entity-schema/live.d.ts.map +1 -1
  78. package/build/tools/entity-schema/live.js +114 -10
  79. package/build/tools/entity-schema/live.js.map +1 -1
  80. package/build/tools/entity-schema/types.d.ts +7 -1
  81. package/build/tools/entity-schema/types.d.ts.map +1 -1
  82. package/build/tools/harness-create.d.ts.map +1 -1
  83. package/build/tools/harness-create.js +5 -1
  84. package/build/tools/harness-create.js.map +1 -1
  85. package/build/tools/harness-delete.d.ts.map +1 -1
  86. package/build/tools/harness-delete.js +5 -1
  87. package/build/tools/harness-delete.js.map +1 -1
  88. package/build/tools/harness-execute.d.ts.map +1 -1
  89. package/build/tools/harness-execute.js +15 -9
  90. package/build/tools/harness-execute.js.map +1 -1
  91. package/build/tools/harness-get.d.ts.map +1 -1
  92. package/build/tools/harness-get.js +5 -1
  93. package/build/tools/harness-get.js.map +1 -1
  94. package/build/tools/harness-list.d.ts.map +1 -1
  95. package/build/tools/harness-list.js +18 -2
  96. package/build/tools/harness-list.js.map +1 -1
  97. package/build/tools/harness-schema.d.ts +2 -1
  98. package/build/tools/harness-schema.d.ts.map +1 -1
  99. package/build/tools/harness-schema.js +10 -8
  100. package/build/tools/harness-schema.js.map +1 -1
  101. package/build/tools/harness-update.d.ts.map +1 -1
  102. package/build/tools/harness-update.js +5 -1
  103. package/build/tools/harness-update.js.map +1 -1
  104. package/build/tools/index.js +1 -1
  105. package/build/tools/index.js.map +1 -1
  106. package/build/utils/url-parser.d.ts +2 -0
  107. package/build/utils/url-parser.d.ts.map +1 -1
  108. package/build/utils/url-parser.js +55 -0
  109. package/build/utils/url-parser.js.map +1 -1
  110. package/npm-shrinkwrap.json +2 -2
  111. package/package.json +1 -1
@@ -0,0 +1,300 @@
1
+ import * as z from "zod/v4";
2
+ export function registerDeployAiAgentPrompt(server) {
3
+ server.registerPrompt("deploy-ai-agent", {
4
+ description: "End-to-end workflow: ship an AI agent from an IDE to a cloud agent runtime (Google Agent Runtime or AWS AgentCore) through Harness CD — get code into a repo, build & push the agent image, then create the AiAgent service, environment, infrastructure, and a build→deploy pipeline",
5
+ argsSchema: {
6
+ platform: z
7
+ .enum(["GoogleAgentRuntime", "AwsAgentCore"])
8
+ .describe("Target agent runtime: GoogleAgentRuntime (Vertex/GAR) or AwsAgentCore (Bedrock/ECR)")
9
+ .optional(),
10
+ repoUrl: z
11
+ .string()
12
+ .describe("Git repo URL of the agent code. Leave blank to create a Harness Code repo and push.")
13
+ .optional(),
14
+ projectId: z.string().describe("Harness project identifier").optional(),
15
+ executionRoleArn: z
16
+ .string()
17
+ .describe("AWS IAM execution role ARN (required for AwsAgentCore only)")
18
+ .optional(),
19
+ },
20
+ }, async ({ platform, repoUrl, projectId, executionRoleArn }) => ({
21
+ messages: [
22
+ {
23
+ role: "user",
24
+ content: {
25
+ type: "text",
26
+ text: `Ship the AI agent in this workspace to a Harness-managed cloud agent runtime.
27
+
28
+ ${platform ? `Target platform: ${platform}` : "Target platform: ASK the user — GoogleAgentRuntime or AwsAgentCore"}
29
+ ${repoUrl ? `Source repo: ${repoUrl}` : "Source repo: not provided — inspect the local workspace for a git remote"}
30
+ ${projectId ? `Project: ${projectId}` : ""}
31
+ ${executionRoleArn ? `AWS execution role ARN: ${executionRoleArn}` : ""}
32
+
33
+ IMPORTANT: Follow the phases IN ORDER. Present the full plan and every generated YAML for review BEFORE creating anything with an MCP tool. Do NOT create resources without explicit user confirmation. Reuse existing connectors / services / environments — never duplicate them.
34
+
35
+ KEY FACTS ABOUT AI AGENT DEPLOYMENT (do not deviate):
36
+ - The agent runs from a pre-built CONTAINER IMAGE. A build step is MANDATORY — there is no build-from-source path. The source discriminator value is the lowercase string \`container\` (not \`Container\`).
37
+ - The AiAgent service references the image by URI STRING at \`platform.spec.source.spec.image\` — NOT via an artifact-source connector. Do not add an artifact source.
38
+ - Chain the built image into the service with a shared tag expression: tag the image \`<+pipeline.sequenceId>\` in the build step, and set the service image to \`<registry-path>:<+pipeline.sequenceId>\`.
39
+ - AwsAgentCore additionally REQUIRES \`executionRoleArn\` on the platform spec.
40
+ - The deploy/shift/rollback steps read the agent image and identity from the SERVICE at runtime — do NOT put the agent image on the steps.
41
+
42
+ ---
43
+
44
+ ## Phase A — Source: get the code into a Harness-reachable repo
45
+
46
+ ### Step 1 — Check for a git remote (local)
47
+ - Run \`git remote -v\` in the workspace.
48
+ - **External remote exists** (GitHub/GitLab/Bitbucket): keep it. In Phase D create/confirm a Git connector to it.
49
+ - **No remote**: create a Harness Code repo with harness_create resource_type="repository"${projectId ? ` project_id="${projectId}"` : ""} (body: identifier, default_branch, description). Return the clone URL, then instruct the user to \`git remote add\` and \`git push\`. (Harness Code needs no Git connector — the platform clones natively via \`repoName\`.)
50
+
51
+ ---
52
+
53
+ ## Phase B — Target platform
54
+
55
+ ### Step 2 — Confirm the platform
56
+ - Confirm ${platform ? platform : "the platform with the user"}. This choice drives everything downstream:
57
+ - **GoogleAgentRuntime** → GCP connector, image in Google Artifact Registry (GAR), \`BuildAndPushGAR\`, infra type \`GoogleAgentRuntime\`, steps \`Deploy/Shift/RollbackGoogleAgentRuntimeRevision\`.
58
+ - **AwsAgentCore** → AWS connector, image in ECR, \`BuildAndPushECR\`, infra type \`AwsAgentCore\`, steps \`Deploy/Shift/RollbackAwsAgentCoreRevision\`, plus \`executionRoleArn\`.
59
+
60
+ ---
61
+
62
+ ## Phase C — Build the image (CI) — MANDATORY
63
+
64
+ ### Step 3 — Check existing Harness resources
65
+ - harness_list resource_type="connector"${projectId ? ` project_id="${projectId}"` : ""} — find existing Git, GCP/AWS, and registry connectors.
66
+ - harness_list resource_type="service" / "environment" / "infrastructure" — check what already exists.
67
+ - harness_describe resource_type="pipeline" — confirm the pipeline schema.
68
+
69
+ ### Step 4 — Gather build prerequisites (ASK the user)
70
+ - **Registry push connector**: GCP connector (for GAR) or AWS connector (for ECR).
71
+ - **Build infrastructure**: default to **Harness Cloud** (hosted, zero setup) unless the user has a Kubernetes build farm. Confirm before generating YAML.
72
+
73
+ ### Step 5 — Generate the CI Build stage YAML
74
+ Build the agent image from the repo and push it to the registry, tagged \`<+pipeline.sequenceId>\`. Use the template for the chosen platform.
75
+
76
+ **GoogleAgentRuntime → BuildAndPushGAR:**
77
+ \`\`\`yaml
78
+ - step:
79
+ type: BuildAndPushGAR
80
+ name: Build and Push Agent Image
81
+ identifier: build_agent_image
82
+ spec:
83
+ connectorRef: <+input> # GCP connector
84
+ host: <+input> # e.g. us-docker.pkg.dev
85
+ projectID: <+input> # GCP project id
86
+ imageName: <+input> # e.g. my-repo/my-agent
87
+ tags:
88
+ - <+pipeline.sequenceId>
89
+ caching: true
90
+ \`\`\`
91
+ Resulting image URI: \`<host>/<projectID>/<imageName>:<+pipeline.sequenceId>\`.
92
+
93
+ **AwsAgentCore → BuildAndPushECR:**
94
+ \`\`\`yaml
95
+ - step:
96
+ type: BuildAndPushECR
97
+ name: Build and Push Agent Image
98
+ identifier: build_agent_image
99
+ spec:
100
+ connectorRef: <+input> # AWS connector
101
+ account: <+input> # AWS account id
102
+ region: <+input> # e.g. us-east-1
103
+ imageName: <+input> # e.g. my-agent
104
+ tags:
105
+ - <+pipeline.sequenceId>
106
+ caching: true
107
+ \`\`\`
108
+ Resulting image URI: \`<account>.dkr.ecr.<region>.amazonaws.com/<imageName>:<+pipeline.sequenceId>\`.
109
+
110
+ Present the CI stage YAML for review. Do NOT create it yet.
111
+
112
+ ---
113
+
114
+ ## Phase D — Connectors
115
+
116
+ ### Step 6 — Create any missing connectors (only after confirmation)
117
+ - Enumerate what's needed: cloud connector for CD infra (GCP or AWS), the registry push connector from Phase C (often the same GCP/AWS connector), and a Git connector if using an external SCM.
118
+ - Create missing ones with harness_create resource_type="connector" (show YAML first). Connectors MUST exist before the service/infra/pipeline reference them.
119
+
120
+ ---
121
+
122
+ ## Phase E — AiAgent service (source side)
123
+
124
+ ### Step 7 — Author the AiAgent service
125
+ - Confirm field shapes with harness_schema resource_type="service".
126
+ - Create with harness_create resource_type="service". The image is a STRING using the same tag expression as Step 5.
127
+
128
+ **GoogleAgentRuntime service:**
129
+ \`\`\`yaml
130
+ service:
131
+ name: <+input>
132
+ identifier: <+input>
133
+ serviceDefinition:
134
+ type: AiAgent
135
+ spec:
136
+ platform:
137
+ type: GoogleAgentRuntime
138
+ spec:
139
+ source:
140
+ type: container
141
+ spec:
142
+ image: <host>/<projectID>/<imageName>:<+pipeline.sequenceId>
143
+ \`\`\`
144
+
145
+ **AwsAgentCore service (executionRoleArn REQUIRED):**
146
+ \`\`\`yaml
147
+ service:
148
+ name: <+input>
149
+ identifier: <+input>
150
+ serviceDefinition:
151
+ type: AiAgent
152
+ spec:
153
+ platform:
154
+ type: AwsAgentCore
155
+ spec:
156
+ executionRoleArn: ${executionRoleArn ? executionRoleArn : "<+input>"}
157
+ source:
158
+ type: container
159
+ spec:
160
+ image: <account>.dkr.ecr.<region>.amazonaws.com/<imageName>:<+pipeline.sequenceId>
161
+ \`\`\`
162
+
163
+ Optional: an \`AgentConfig\` manifest (Git/Harness store) can carry the agent's config spec — add it only if the agent ships one. Present the service YAML for review before creating.
164
+
165
+ ---
166
+
167
+ ## Phase F — Environment + Infrastructure (target side)
168
+
169
+ ### Step 8 — Environment
170
+ - Ask the user: reuse an existing environment or create a new one. Create with harness_create resource_type="environment" if needed.
171
+
172
+ ### Step 9 — Infrastructure
173
+ - Confirm field shapes with harness_schema resource_type="infrastructure", then harness_create resource_type="infrastructure".
174
+
175
+ **GoogleAgentRuntime infrastructure:**
176
+ \`\`\`yaml
177
+ infrastructureDefinition:
178
+ name: <+input>
179
+ identifier: <+input>
180
+ environmentRef: <env-id>
181
+ deploymentType: AiAgent
182
+ type: GoogleAgentRuntime
183
+ spec:
184
+ connectorRef: <+input> # GCP connector
185
+ projectId: <+input>
186
+ location: <+input> # e.g. us-central1
187
+ \`\`\`
188
+
189
+ **AwsAgentCore infrastructure:**
190
+ \`\`\`yaml
191
+ infrastructureDefinition:
192
+ name: <+input>
193
+ identifier: <+input>
194
+ environmentRef: <env-id>
195
+ deploymentType: AiAgent
196
+ type: AwsAgentCore
197
+ spec:
198
+ connectorRef: <+input> # AWS connector
199
+ region: <+input>
200
+ \`\`\`
201
+
202
+ Present the environment and infrastructure YAML for review before creating.
203
+
204
+ ---
205
+
206
+ ## Phase G — Deploy stage + run
207
+
208
+ ### Step 10 — Add the CD Deploy stage
209
+ Extend the pipeline (or create one) so it runs the CI Build stage from Phase C, then a CD stage of deployment type \`AiAgent\` referencing the service + environment/infrastructure. Use a Canary or Default strategy. Add the platform's Deploy → Shift Traffic → Rollback steps.
210
+
211
+ **GoogleAgentRuntime steps:**
212
+ \`\`\`yaml
213
+ - step:
214
+ type: DeployGoogleAgentRuntimeRevision
215
+ name: Deploy Agent
216
+ identifier: deploy_agent
217
+ spec:
218
+ waitReady: true
219
+ timeout: 10m
220
+ - step:
221
+ type: ShiftGoogleAgentRuntimeTraffic
222
+ name: Shift Traffic
223
+ identifier: shift_traffic
224
+ spec:
225
+ target:
226
+ revisionId: <+pipeline.stages.deploy.spec.execution.steps.deploy_agent.output.revisionId>
227
+ weight: 100
228
+ timeout: 10m
229
+ \`\`\`
230
+ Rollback (in the stage's \`rollbackSteps\`):
231
+ \`\`\`yaml
232
+ - step:
233
+ type: RollbackGoogleAgentRuntimeRevision
234
+ name: Rollback Agent
235
+ identifier: rollback_agent
236
+ spec: {}
237
+ timeout: 10m
238
+ \`\`\`
239
+
240
+ **AwsAgentCore steps:**
241
+ \`\`\`yaml
242
+ - step:
243
+ type: DeployAwsAgentCoreRevision
244
+ name: Deploy Agent
245
+ identifier: deploy_agent
246
+ spec:
247
+ waitReady: true
248
+ timeout: 10m
249
+ - step:
250
+ type: ShiftAwsAgentCoreTraffic
251
+ name: Shift Traffic
252
+ identifier: shift_traffic
253
+ spec:
254
+ target:
255
+ revisionId: <+pipeline.stages.deploy.spec.execution.steps.deploy_agent.output.revisionId>
256
+ weight: 100
257
+ timeout: 10m
258
+ \`\`\`
259
+ Rollback (in the stage's \`rollbackSteps\`):
260
+ \`\`\`yaml
261
+ - step:
262
+ type: RollbackAwsAgentCoreRevision
263
+ name: Rollback Agent
264
+ identifier: rollback_agent
265
+ spec: {}
266
+ timeout: 10m
267
+ \`\`\`
268
+
269
+ Present the full pipeline YAML for review. Do NOT create it yet.
270
+
271
+ ### Step 11 — Create, execute, and monitor
272
+ - After confirmation, create the pipeline with harness_create resource_type="pipeline".
273
+ - Discover runtime inputs: harness_get resource_type="runtime_input_template" resource_id=<pipeline_id>.
274
+ - Execute: harness_execute resource_type="pipeline" action="run" resource_id=<pipeline_id>, passing required \`inputs\` (branch for the CI codebase, plus any \`<+input>\` values).
275
+ - Monitor with harness_status until the run completes or fails.
276
+
277
+ **FAILURE RETRY LOOP (up to 3 attempts):**
278
+ 1. harness_get the execution details/logs and identify the root cause.
279
+ 2. Fix: code/Dockerfile issues → edit + commit + push; pipeline/service/infra YAML issues → harness_update; connector/credential/role issues → flag to the user with a deep link.
280
+ 3. Re-execute and monitor. Repeat up to 3 total attempts.
281
+ 4. After 3 failures: summarize the failures and fixes, and provide Harness UI deep links to every created resource (pipeline, service, environment, infrastructure, connectors).
282
+
283
+ ### Step 12 — Success: verify & report
284
+ - Confirm success via harness_status and harness_get.
285
+ - Report: image tag pushed, service/env/infra created, deploy + traffic-shift result, and Harness UI deep links to the pipeline execution, service, environment, and infrastructure.
286
+
287
+ ---
288
+
289
+ CRITICAL RULES:
290
+ - Never create a resource without showing its YAML and getting confirmation first.
291
+ - Do not skip phases — finish each before the next.
292
+ - The agent image is a string on the service source (shared \`<+pipeline.sequenceId>\` tag) — never an artifact source, never on the steps.
293
+ - AwsAgentCore requires \`executionRoleArn\`.
294
+ - Reuse existing connectors/services/environments/infrastructure when present.`,
295
+ },
296
+ },
297
+ ],
298
+ }));
299
+ }
300
+ //# sourceMappingURL=deploy-ai-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-ai-agent.js","sourceRoot":"","sources":["../../src/prompts/deploy-ai-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,MAAM,UAAU,2BAA2B,CAAC,MAAiB;IAC3D,MAAM,CAAC,cAAc,CACnB,iBAAiB,EACjB;QACE,WAAW,EACT,uRAAuR;QACzR,UAAU,EAAE;YACV,QAAQ,EAAE,CAAC;iBACR,IAAI,CAAC,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;iBAC5C,QAAQ,CAAC,qFAAqF,CAAC;iBAC/F,QAAQ,EAAE;YACb,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,CAAC,qFAAqF,CAAC;iBAC/F,QAAQ,EAAE;YACb,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,EAAE;YACvE,gBAAgB,EAAE,CAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,CAAC,6DAA6D,CAAC;iBACvE,QAAQ,EAAE;SACd;KACF,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7D,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE;;EAEhB,QAAQ,CAAC,CAAC,CAAC,oBAAoB,QAAQ,EAAE,CAAC,CAAC,CAAC,oEAAoE;EAChH,OAAO,CAAC,CAAC,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC,CAAC,0EAA0E;EAChH,SAAS,CAAC,CAAC,CAAC,YAAY,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE;EACxC,gBAAgB,CAAC,CAAC,CAAC,2BAA2B,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;4FAkBqB,SAAS,CAAC,CAAC,CAAC,gBAAgB,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE;;;;;;;YAO7H,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,4BAA4B;;;;;;;;;0CASpB,SAAS,CAAC,CAAC,CAAC,gBAAgB,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA2FzD,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA0IC;iBACpE;aACF;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flag-rollout.d.ts","sourceRoot":"","sources":["../../src/prompts/feature-flag-rollout.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqCxE"}
1
+ {"version":3,"file":"feature-flag-rollout.d.ts","sourceRoot":"","sources":["../../src/prompts/feature-flag-rollout.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAmDxE"}
@@ -4,21 +4,32 @@ export function registerFeatureFlagRolloutPrompt(server) {
4
4
  description: "Plan and execute a progressive FME feature flag rollout across environments",
5
5
  argsSchema: {
6
6
  featureFlagName: z.string().describe("Feature flag name to roll out"),
7
- workspaceId: z.string().describe("FME workspace ID"),
7
+ workspaceId: z.string().describe("FME workspace ID (deprecated — omit if passing orgId+projectId)").optional(),
8
+ orgId: z.string().describe("Harness org identifier (pass together with projectId)").optional(),
9
+ projectId: z.string().describe("Harness project identifier (pass together with orgId)").optional(),
8
10
  },
9
- }, async ({ featureFlagName, workspaceId }) => {
11
+ }, async ({ featureFlagName, workspaceId, orgId, projectId }) => {
12
+ if (!workspaceId && !(orgId && projectId)) {
13
+ throw new Error("Provide either workspaceId (deprecated) or orgId + projectId.");
14
+ }
15
+ const scopeArgs = workspaceId
16
+ ? `workspace_id="${workspaceId}"`
17
+ : `org_id="${orgId}", project_id="${projectId}"`;
18
+ const nativeModeCaveat = workspaceId
19
+ ? ""
20
+ : "\n\nNote: in Harness-native mode (org_id/project_id), fme_rollout_status is not yet implemented server-side and will error — step 4 only works today with workspace_id (legacy mode). Steps 3 and 7 work with org_id+project_id.";
10
21
  return {
11
22
  messages: [{
12
23
  role: "user",
13
24
  content: {
14
25
  type: "text",
15
- text: `Plan a progressive rollout for FME feature flag "${featureFlagName}" in workspace "${workspaceId}".
26
+ text: `Plan a progressive rollout for FME feature flag "${featureFlagName}" (${scopeArgs}).
16
27
 
17
28
  Steps:
18
- 1. **Get flag details**: Call harness_get with resource_type="fme_feature_flag", feature_flag_name="${featureFlagName}", workspace_id="${workspaceId}" to see the current flag state
19
- 2. **List environments**: Call harness_list with resource_type="fme_environment", workspace_id="${workspaceId}" to see available environments
20
- 3. **Get flag definition per environment**: For each environment, call harness_get with resource_type="fme_feature_flag_definition", feature_flag_name="${featureFlagName}", workspace_id="${workspaceId}", environment_id=<env_id> to see treatments and rules
21
- 4. **Check rollout statuses**: Call harness_list with resource_type="fme_rollout_status", workspace_id="${workspaceId}" for rollout status context
29
+ 1. **Get flag details**: Call harness_get with resource_type="fme_feature_flag", feature_flag_name="${featureFlagName}", ${scopeArgs} to see the current flag state
30
+ 2. **List environments**: Call harness_list with resource_type="fme_environment", ${scopeArgs} to see available environments
31
+ 3. **Get flag definition per environment**: For each environment, call harness_get with resource_type="fme_feature_flag_definition", feature_flag_name="${featureFlagName}", ${scopeArgs}, environment_id=<env_id> to see treatments and rules
32
+ 4. **Check rollout statuses**: Call harness_list with resource_type="fme_rollout_status", ${scopeArgs} for rollout status context
22
33
  5. **Propose rollout plan**: Recommend a progressive rollout strategy:
23
34
  - Phase 1: Restore flag in dev/test environments
24
35
  - Phase 2: Restore in staging, verify treatments
@@ -27,7 +38,7 @@ Steps:
27
38
  6. **Safety gates**: Identify metrics or health checks between each phase
28
39
  7. **Rollback plan**: Use kill action to immediately turn off the flag if issues arise
29
40
 
30
- Present the rollout plan for review. Use harness_execute with resource_type="fme_feature_flag", action="kill" or action="restore", workspace_id="${workspaceId}", feature_flag_name="${featureFlagName}", environment_id=<env_id> to execute each phase after user approval.`,
41
+ Present the rollout plan for review. Use harness_execute with resource_type="fme_feature_flag", action="kill" or action="restore", ${scopeArgs}, feature_flag_name="${featureFlagName}", environment_id=<env_id> to execute each phase after user approval.`,
31
42
  },
32
43
  }],
33
44
  };
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flag-rollout.js","sourceRoot":"","sources":["../../src/prompts/feature-flag-rollout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,MAAM,UAAU,gCAAgC,CAAC,MAAiB;IAChE,MAAM,CAAC,cAAc,CACnB,sBAAsB,EACtB;QACE,WAAW,EAAE,6EAA6E;QAC1F,UAAU,EAAE;YACV,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YACrE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;SACrD;KACF,EACD,KAAK,EAAE,EAAE,eAAe,EAAE,WAAW,EAAE,EAAE,EAAE;QACzC,OAAO;YACL,QAAQ,EAAE,CAAC;oBACT,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,oDAAoD,eAAe,mBAAmB,WAAW;;;sGAGb,eAAe,oBAAoB,WAAW;kGAClD,WAAW;0JAC6C,eAAe,oBAAoB,WAAW;0GAC9F,WAAW;;;;;;;;;mJAS8B,WAAW,yBAAyB,eAAe,uEAAuE;qBAClQ;iBACF,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"feature-flag-rollout.js","sourceRoot":"","sources":["../../src/prompts/feature-flag-rollout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,MAAM,UAAU,gCAAgC,CAAC,MAAiB;IAChE,MAAM,CAAC,cAAc,CACnB,sBAAsB,EACtB;QACE,WAAW,EAAE,6EAA6E;QAC1F,UAAU,EAAE;YACV,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YACrE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC,CAAC,QAAQ,EAAE;YAC9G,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC,CAAC,QAAQ,EAAE;YAC9F,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC,CAAC,QAAQ,EAAE;SACnG;KACF,EACD,KAAK,EAAE,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE;QAC3D,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,SAAS,GAAG,WAAW;YAC3B,CAAC,CAAC,iBAAiB,WAAW,GAAG;YACjC,CAAC,CAAC,WAAW,KAAK,kBAAkB,SAAS,GAAG,CAAC;QAEnD,MAAM,gBAAgB,GAAG,WAAW;YAClC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,kOAAkO,CAAC;QAEvO,OAAO;YACL,QAAQ,EAAE,CAAC;oBACT,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,oDAAoD,eAAe,MAAM,SAAS;;;sGAGE,eAAe,MAAM,SAAS;oFAChD,SAAS;0JAC6D,eAAe,MAAM,SAAS;4FAC5F,SAAS;;;;;;;;;qIASgC,SAAS,wBAAwB,eAAe,uEAAuE;qBACjP;iBACF,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAqDzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoD1D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsDzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqD1D"}
@@ -34,6 +34,7 @@ import { registerBranchCleanupPrompt } from "./branch-cleanup.js";
34
34
  import { registerPendingApprovalsPrompt } from "./pending-approvals.js";
35
35
  // Deployment workflow prompts
36
36
  import { registerBuildDeployAppPrompt } from "./build-deploy-app.js";
37
+ import { registerDeployAiAgentPrompt } from "./deploy-ai-agent.js";
37
38
  // Pipeline summarizer
38
39
  import { registerSummarizePipelinePrompt } from "./summarize-pipeline.js";
39
40
  // AI Evals
@@ -78,6 +79,7 @@ export function registerAllPrompts(server) {
78
79
  registerPendingApprovalsPrompt(server);
79
80
  // Deployment workflows
80
81
  registerBuildDeployAppPrompt(server);
82
+ registerDeployAiAgentPrompt(server);
81
83
  // Pipeline summarizer
82
84
  registerSummarizePipelinePrompt(server);
83
85
  // AI Evals (harness-evals + ai-evals API)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { PreflightContext } from "./types.js";
1
2
  /** Extract `data` from standard NG API responses: `{ status, data, ... }` */
2
3
  export declare const ngExtract: (raw: unknown) => unknown;
3
4
  /**
@@ -15,6 +16,14 @@ export declare const pageExtract: (raw: unknown) => {
15
16
  items: unknown[];
16
17
  total: number;
17
18
  };
19
+ /**
20
+ * Spring Data page at the response root (no NG `{ data }` envelope):
21
+ * `{ content, totalElements }`. Used by Release Management (RMG) list APIs.
22
+ */
23
+ export declare const springPageExtract: (raw: unknown) => {
24
+ items: unknown[];
25
+ total: number;
26
+ };
18
27
  /** Extract `data` from NG API and wrap primitive values in an object for structuredContent compatibility. */
19
28
  export declare const countExtract: (raw: unknown) => {
20
29
  count: number;
@@ -37,8 +46,8 @@ export declare const offsetListExtract: (raw: unknown) => {
37
46
  */
38
47
  export declare const stoExemptionsExtract: (raw: unknown, input?: Record<string, unknown>) => unknown;
39
48
  /**
40
- * STO SAST remediation DiffOccurrences
41
- * (`GET /sto/api/v2/sast-remediation/diff-occurrences`).
49
+ * STO Remediation DiffOccurrences
50
+ * (`GET /sto/api/v2/remediation-agent/diff-occurrences`).
42
51
  *
43
52
  * API shape:
44
53
  * { validationScanId, existingOccurrences: [...], newOccurrences: [...],
@@ -48,7 +57,7 @@ export declare const stoExemptionsExtract: (raw: unknown, input?: Record<string,
48
57
  * tell still-present vs newly introduced occurrences without two list calls.
49
58
  * Fingerprint is not on the wire (Diff matching is server-side only).
50
59
  */
51
- export declare const stoSastRemediationDiffExtract: (raw: unknown) => unknown;
60
+ export declare const stoRemediationDiffExtract: (raw: unknown) => unknown;
52
61
  /**
53
62
  * AI Evals control plane — paginated list: `{ data, page, limit, total_elements }`.
54
63
  */
@@ -338,15 +347,14 @@ export declare const chaosK8sInfraListExtract: (raw: unknown) => {
338
347
  total: number;
339
348
  };
340
349
  /**
341
- * Project a single load test (InternalApiLoadTestResponse) to a stable shape.
350
+ * Project a single load test (LoadTestResponse) to a stable shape.
342
351
  *
343
- * The new wire format carries every recognised tunable inside `inputs[]`
344
- * (TemplateInput) and user-defined non-secrets inside `variables[]`
345
- * (TemplateVariable). We pass both arrays through as-is for fidelity AND
346
- * surface derived convenience scalars (target_url / users / duration_sec / ...)
347
- * that mirror the create-side LLM surface so round-trips are intuitive.
352
+ * Since the variables migration, all tunables and custom env vars live under
353
+ * toolConfig.<tool>.tunables / toolConfig.<tool>.variables (see LocustSpec /
354
+ * K6Spec / JMeterSpec in loadTestManager/internal/domain). We pass toolConfig
355
+ * through as-is for fidelity AND surface derived convenience scalars mirroring
356
+ * the create-side LLM surface so round-trips are intuitive.
348
357
  *
349
- * Drops the large base64 scriptContent and backend user-detail envelopes.
350
358
  * Mirrors `identity` into `loadtestId` so the deep-link resolver fills
351
359
  * {loadtestId} instead of falling back to the name.
352
360
  */
@@ -359,6 +367,15 @@ export declare const chaosLoadTestListExtract: (raw: unknown) => {
359
367
  items: unknown[];
360
368
  total: number;
361
369
  };
370
+ /**
371
+ * Chaos Service (v3) list response: { data: [...], correlationID, pagination: { index, limit, totalPages, totalItems } }.
372
+ * Distinct from chaos_loadtest's { items, pagination } envelope — the v3 chaos-services API
373
+ * wraps the array under `data` per shared PaginationResponse contract.
374
+ */
375
+ export declare const chaosServiceListExtract: (raw: unknown) => {
376
+ items: unknown[];
377
+ total: number;
378
+ };
362
379
  /**
363
380
  * Extract chaos hub list response: { items: [...], pagination: { totalItems } }
364
381
  */
@@ -396,8 +413,68 @@ export declare const sdPageExtract: (raw: unknown) => {
396
413
  * Enables deep link templates to reference `trafficTypeId` directly.
397
414
  */
398
415
  export declare function flattenTrafficType(item: Record<string, unknown>): void;
416
+ /**
417
+ * Public v4 paginated lists (`EnvironmentListResponse`, `TrafficTypeListResponse` / `RolloutStatusListResponse`):
418
+ * `{ data, limit, offset, totalCount }`. Promote `data`→`items` and `totalCount`→`total`
419
+ * so harness_list compact/output schema see a full total, not the current page length.
420
+ */
421
+ export declare const fmeV4PaginatedListExtract: (raw: unknown) => unknown;
399
422
  /** Extract FME feature flag list — passthrough with trafficType.id flattened on each item. */
400
423
  export declare const fmeListExtract: (raw: unknown) => unknown;
401
424
  /** Extract FME feature flag single item — passthrough with trafficType.id flattened. */
402
425
  export declare const fmeGetExtract: (raw: unknown) => unknown;
426
+ export declare const RMG_DEFAULT_DAYS_BACK = 30;
427
+ export declare const RMG_MAX_DAYS_BACK = 365;
428
+ /** Days of look-ahead included in the window so scheduled releases stay visible. */
429
+ export declare const RMG_DAYS_FORWARD = 7;
430
+ export declare const RMG_DEFAULT_TASK_LIMIT = 50;
431
+ export declare const RMG_MAX_TASK_LIMIT = 100;
432
+ /**
433
+ * Copy HARNESS_ORG / HARNESS_PROJECT into input when scopeOptional resources
434
+ * omit explicit org_id/project_id (same pattern as release list preflight).
435
+ */
436
+ export declare function releaseFillScopeFromConfig({ input, registry }: PreflightContext): Promise<void>;
437
+ /**
438
+ * Resolve the effective scope and time window before the body/query are built.
439
+ * The registry only merges HARNESS_ORG/HARNESS_PROJECT into `input` when the
440
+ * caller passes `resource_scope`, but the body always needs them.
441
+ */
442
+ export declare function releaseListPreflight(ctx: PreflightContext): Promise<void>;
443
+ /** POST /api/release/list — scope travels in the body as `scopes`, not as query params. */
444
+ export declare function releaseListBody(input: Record<string, unknown>): Record<string, unknown>;
445
+ /**
446
+ * Normalize the list payload and apply the optional status filter client-side
447
+ * (the endpoint takes no status param). Status matching is case-insensitive
448
+ * because RMG returns both `Running` and `RUNNING` depending on the field.
449
+ */
450
+ export declare function releaseListExtract(raw: unknown, input?: Record<string, unknown>): unknown;
451
+ /** Flatten GET /api/release/{id} → { release: releaseInfo, ... }. */
452
+ export declare function releaseGetExtract(raw: unknown): unknown;
453
+ /** Normalize sort/status/type filters before query param mapping (GET list). */
454
+ export declare function normalizeReleaseActivityExecutionInput(input: Record<string, unknown>): void;
455
+ export declare function normalizeReleaseTaskLimit(input: Record<string, unknown>): void;
456
+ /** GET /api/release/{id}/tasks → standard list envelope with cursor pagination. */
457
+ export declare function releaseTaskListExtract(raw: unknown, input?: Record<string, unknown>): unknown;
458
+ /** GET /api/release/{id}/execution/activities — Spring page at root. */
459
+ export declare function releaseActivityExecutionListExtract(raw: unknown): unknown;
460
+ export declare function releaseExecutionPhaseOutputPath(input: Record<string, unknown>): string;
461
+ export declare function releaseExecutionPhaseInputPath(input: Record<string, unknown>): string;
462
+ export declare function releaseExecutionActivityOutputPath(input: Record<string, unknown>): string;
463
+ export declare function releasePhaseOutputGetExtract(raw: unknown, input?: Record<string, unknown>): unknown;
464
+ export declare function releasePhaseInputGetExtract(raw: unknown, input?: Record<string, unknown>): unknown;
465
+ export declare function releaseActivityOutputGetExtract(raw: unknown, input: Record<string, unknown> | undefined): unknown;
466
+ export declare function releaseActivityInputGetExtract(raw: unknown): unknown;
467
+ export declare function releaseInputGetExtract(raw: unknown): unknown;
468
+ /** GET /api/orchestration/execution/{id}/phases → standard list envelope. */
469
+ export declare function releasePhaseListExtract(raw: unknown): {
470
+ items: unknown[];
471
+ total: number;
472
+ release_id?: string;
473
+ total_running_phases?: number;
474
+ };
475
+ /** Project RMG process/activity YAML entity responses to a stable agent shape. */
476
+ export declare function rmgYamlEntityExtract(raw: unknown): unknown;
477
+ /** Normalize RMG delete responses to a stable confirmation shape. */
478
+ export declare function rmgYamlEntityDeleteExtract(raw: unknown): unknown;
479
+ export declare function yamlWriteBody(input: Record<string, unknown>): Record<string, unknown>;
403
480
  //# sourceMappingURL=extractors.d.ts.map
@@ -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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"}