harness-mcp-v2 3.2.20 → 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 (75) hide show
  1. package/README.md +75 -36
  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 +545 -272
  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 +275 -2
  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 +43 -29
  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 +43 -29
  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.js +2 -2
  26. package/build/prompts/feature-flag-rollout.js.map +1 -1
  27. package/build/prompts/index.d.ts.map +1 -1
  28. package/build/prompts/index.js +2 -0
  29. package/build/prompts/index.js.map +1 -1
  30. package/build/registry/extractors.d.ts +69 -0
  31. package/build/registry/extractors.d.ts.map +1 -1
  32. package/build/registry/extractors.js +326 -0
  33. package/build/registry/extractors.js.map +1 -1
  34. package/build/registry/index.d.ts.map +1 -1
  35. package/build/registry/index.js +6 -2
  36. package/build/registry/index.js.map +1 -1
  37. package/build/registry/toolsets/feature-flags.d.ts.map +1 -1
  38. package/build/registry/toolsets/feature-flags.js +236 -30
  39. package/build/registry/toolsets/feature-flags.js.map +1 -1
  40. package/build/registry/toolsets/iacm.d.ts.map +1 -1
  41. package/build/registry/toolsets/iacm.js +194 -2
  42. package/build/registry/toolsets/iacm.js.map +1 -1
  43. package/build/registry/toolsets/pipelines.d.ts.map +1 -1
  44. package/build/registry/toolsets/pipelines.js +208 -5
  45. package/build/registry/toolsets/pipelines.js.map +1 -1
  46. package/build/registry/toolsets/release-management.d.ts +8 -0
  47. package/build/registry/toolsets/release-management.d.ts.map +1 -0
  48. package/build/registry/toolsets/release-management.js +783 -0
  49. package/build/registry/toolsets/release-management.js.map +1 -0
  50. package/build/registry/types.d.ts +2 -2
  51. package/build/registry/types.d.ts.map +1 -1
  52. package/build/resources/harness-schema.d.ts.map +1 -1
  53. package/build/resources/harness-schema.js +2 -1
  54. package/build/resources/harness-schema.js.map +1 -1
  55. package/build/tools/entity-schema/live.d.ts +6 -5
  56. package/build/tools/entity-schema/live.d.ts.map +1 -1
  57. package/build/tools/entity-schema/live.js +114 -10
  58. package/build/tools/entity-schema/live.js.map +1 -1
  59. package/build/tools/entity-schema/types.d.ts +7 -1
  60. package/build/tools/entity-schema/types.d.ts.map +1 -1
  61. package/build/tools/harness-list.d.ts.map +1 -1
  62. package/build/tools/harness-list.js +12 -0
  63. package/build/tools/harness-list.js.map +1 -1
  64. package/build/tools/harness-schema.d.ts +2 -1
  65. package/build/tools/harness-schema.d.ts.map +1 -1
  66. package/build/tools/harness-schema.js +10 -8
  67. package/build/tools/harness-schema.js.map +1 -1
  68. package/build/tools/index.js +1 -1
  69. package/build/tools/index.js.map +1 -1
  70. package/build/utils/url-parser.d.ts +2 -0
  71. package/build/utils/url-parser.d.ts.map +1 -1
  72. package/build/utils/url-parser.js +33 -0
  73. package/build/utils/url-parser.js.map +1 -1
  74. package/npm-shrinkwrap.json +2 -2
  75. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flags.d.ts","sourceRoot":"","sources":["../../../src/registry/toolsets/feature-flags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAc,MAAM,aAAa,CAAC;AAyKjE,eAAO,MAAM,mBAAmB,EAAE,iBAwpCjC,CAAC"}
1
+ {"version":3,"file":"feature-flags.d.ts","sourceRoot":"","sources":["../../../src/registry/toolsets/feature-flags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAc,MAAM,aAAa,CAAC;AAgQjE,eAAO,MAAM,mBAAmB,EAAE,iBA6yCjC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { passthrough, fmeListExtract, fmeGetExtract } from "../extractors.js";
1
+ import { passthrough, fmeListExtract, fmeGetExtract, fmeV4PaginatedListExtract } from "../extractors.js";
2
2
  import { isFmeHarnessNativeSelected, logFmeDeprecation, requireFmeIdentifier, requireHarnessNativeSegmentScope, resolveFmeDualMode } from "../scope-utils.js";
3
3
  const fmeActionExtract = (raw) => {
4
4
  if (raw !== null && typeof raw === "object" && !Array.isArray(raw))
@@ -36,7 +36,7 @@ const fmeFeatureFlagCreateSchema = {
36
36
  fields: [
37
37
  { name: "name", type: "string", required: true, description: "Feature flag name (must be unique within the workspace/project)" },
38
38
  { name: "description", type: "string", required: false, description: "Optional description of the feature flag" },
39
- { name: "trafficType", type: "string", required: false, description: "Traffic type name. Required in Harness-native (org_id+project_id) mode; ignored in legacy mode (pass traffic_type_id as a separate param there instead)" },
39
+ { name: "trafficType", type: "string", required: false, description: "Traffic type name. Required in Harness-native (org_id+project_id) mode; also accepted as top-level traffic_type_id or traffic_type. Ignored in legacy mode (pass traffic_type_id as a path param there instead)" },
40
40
  { name: "tags", type: "array", required: false, description: "Harness-native mode only. Each entry is {name: string}; bare strings are accepted and auto-wrapped", itemType: "object" },
41
41
  { name: "owners", type: "array", required: false, description: "Harness-native mode only. Each entry is {type: \"USER\", id or email} or {type: \"GROUP\", identifier}", itemType: "object" },
42
42
  ],
@@ -54,6 +54,52 @@ const fmeFeatureFlagArchiveSchema = {
54
54
  { name: "comment", type: "string", required: false, description: "Optional comment explaining the change" },
55
55
  ],
56
56
  };
57
+ const fmeEnvironmentCreateSchema = {
58
+ description: "Create an FME environment (Harness-native org_id+project_id only). name is required (max 15 characters). isProduction is optional (default false). production is accepted as an alias for isProduction.",
59
+ fields: [
60
+ { name: "name", type: "string", required: true, description: "Environment name (unique in the project; max 15 characters)" },
61
+ { name: "isProduction", type: "boolean", required: false, description: "Whether this is a production environment. Optional; defaults to false on the backend if omitted." },
62
+ { name: "production", type: "boolean", required: false, description: "Alias for isProduction." },
63
+ ],
64
+ };
65
+ const fmeEnvironmentUpdateSchema = {
66
+ description: "Partial environment update via JSON Merge Patch (RFC 7396), Harness-native only. name and isProduction are not clearable — omit to leave unchanged. production is accepted as an alias for isProduction.",
67
+ fields: [
68
+ { name: "name", type: "string", required: false, description: "Updated name; omit to leave unchanged. Blank names are rejected. Not clearable." },
69
+ { name: "isProduction", type: "boolean", required: false, description: "Updated production flag. Omit to leave unchanged; not clearable." },
70
+ { name: "production", type: "boolean", required: false, description: "Alias for isProduction." },
71
+ ],
72
+ };
73
+ function fmeEnvironmentProduction(body) {
74
+ if (!body)
75
+ return undefined;
76
+ if (body.isProduction !== undefined && body.isProduction !== null)
77
+ return Boolean(body.isProduction);
78
+ if (body.production !== undefined && body.production !== null)
79
+ return Boolean(body.production);
80
+ return undefined;
81
+ }
82
+ /** MCP never had workspace_id get/create/update/delete for environments (#806 list-only). */
83
+ function resolveNativeOnlyEnvironmentRoute(input, operation, opts = {}) {
84
+ const mode = resolveFmeDualMode(input, "fme_environment");
85
+ if (mode.mode === "legacy") {
86
+ throw new Error(`fme_environment.${operation}: Harness-native (org_id/project_id) only — MCP never supported workspace_id for this operation (list remains dual-mode).`);
87
+ }
88
+ if (opts.collection) {
89
+ return {
90
+ path: "/fme/api/v4/environments",
91
+ product: "harness",
92
+ scopeParams: FME_HARNESS_NATIVE_SCOPE_PARAMS,
93
+ };
94
+ }
95
+ const environmentId = encodeURIComponent(requireFmeIdentifier(input, "environment_id", "fme_environment"));
96
+ return {
97
+ path: `/fme/api/v4/environments/${environmentId}`,
98
+ product: "harness",
99
+ scopeParams: FME_HARNESS_NATIVE_SCOPE_PARAMS,
100
+ ...(opts.mergePatch ? { headers: { "Content-Type": "application/merge-patch+json" } } : {}),
101
+ };
102
+ }
57
103
  const fmeFeatureFlagDefinitionCreateSchema = {
58
104
  description: "Create a feature flag definition in a specific environment (initial treatments, rules, and default rule required)",
59
105
  fields: [
@@ -148,6 +194,27 @@ const fmeRbsChangeRequestSchema = {
148
194
  },
149
195
  ],
150
196
  };
197
+ function resolveNativeOnlyDefinitionRoute(input, operation, opts = {}) {
198
+ const mode = resolveFmeDualMode(input, "fme_feature_flag_definition");
199
+ if (mode.mode === "legacy") {
200
+ throw new Error(`fme_feature_flag_definition.${operation}: Harness-native (org_id/project_id) only — pass org_id+project_id instead of workspace_id.`);
201
+ }
202
+ if (opts.collection) {
203
+ requireFmeIdentifier(input, "feature_flag_name", "fme_feature_flag_definition");
204
+ return {
205
+ path: "/fme/api/v4/feature-flag-definitions",
206
+ product: "harness",
207
+ scopeParams: FME_HARNESS_NATIVE_SCOPE_PARAMS,
208
+ };
209
+ }
210
+ const flagName = encodeURIComponent(requireFmeIdentifier(input, "feature_flag_name", "fme_feature_flag_definition"));
211
+ requireFmeIdentifier(input, "environment_id", "fme_feature_flag_definition");
212
+ return {
213
+ path: `/fme/api/v4/feature-flag-definitions/${flagName}${opts.suffix ?? ""}`,
214
+ product: "harness",
215
+ scopeParams: FME_HARNESS_NATIVE_SCOPE_PARAMS,
216
+ };
217
+ }
151
218
  export const featureFlagsToolset = {
152
219
  name: "feature-flags",
153
220
  displayName: "Feature Management & Experimentation",
@@ -201,8 +268,7 @@ export const featureFlagsToolset = {
201
268
  {
202
269
  resourceType: "fme_environment",
203
270
  displayName: "FME Environment",
204
- description: "Feature Management environment. Supports list. Dual-mode scoping: pass either org_id+project_id " +
205
- "(Harness-native, preferred — no workspace lookup needed) or the deprecated workspace_id.",
271
+ description: "Feature Management environment. Dual-mode list (workspace_id or org_id+project_id). get/create/update/delete are Harness-native only. Native create/update use isProduction (production accepted as an alias). Native PATCH is JSON Merge Patch; name and isProduction are not clearable. Name max 15 characters. Delete returns 400 hasDependents while SDK API keys (always created with a new env), flags, or segments remain.",
206
272
  toolset: "feature-flags",
207
273
  scope: "account",
208
274
  scopeOptional: true,
@@ -210,6 +276,8 @@ export const featureFlagsToolset = {
210
276
  product: "fme",
211
277
  listFilterFields: [
212
278
  { name: "workspace_id", description: "FME workspace ID (get from harness_list resource_type=fme_workspace). Deprecated — omit and pass org_id+project_id instead for Harness-native scoping." },
279
+ { name: "offset", description: "Harness-native pagination offset (default 0)", type: "number" },
280
+ { name: "limit", description: "Harness-native page size (default 100, max 100)", type: "number" },
213
281
  ],
214
282
  operations: {
215
283
  list: {
@@ -223,8 +291,63 @@ export const featureFlagsToolset = {
223
291
  return { path: "/fme/api/v4/environments", product: "harness", scopeParams: FME_HARNESS_NATIVE_SCOPE_PARAMS };
224
292
  },
225
293
  operationPolicy: { risk: "read", retryPolicy: "safe" },
294
+ queryParams: { offset: "offset", size: "limit", limit: "limit" },
295
+ responseExtractor: fmeV4PaginatedListExtract,
296
+ description: "List FME environments for a workspace (legacy) or org_id+project_id project (Harness-native). Native envelope {data, limit, offset, totalCount} is promoted to items/total; harness_list size maps to limit.",
297
+ },
298
+ get: {
299
+ method: "GET",
300
+ path: "",
301
+ routeResolver: (input) => resolveNativeOnlyEnvironmentRoute(input, "get"),
302
+ operationPolicy: { risk: "read", retryPolicy: "safe" },
303
+ responseExtractor: passthrough,
304
+ description: "Get a single environment by environment_id (UUID from list). Harness-native only (org_id+project_id). MCP never supported workspace_id get.",
305
+ },
306
+ create: {
307
+ method: "POST",
308
+ path: "",
309
+ routeResolver: (input) => resolveNativeOnlyEnvironmentRoute(input, "create", { collection: true }),
310
+ operationPolicy: { risk: "low_write", retryPolicy: "do_not_retry" },
311
+ skipScopeBodyInjection: true,
312
+ bodyBuilder: (input) => {
313
+ const body = input.body;
314
+ const production = fmeEnvironmentProduction(body);
315
+ return {
316
+ name: body?.name,
317
+ ...(production !== undefined ? { isProduction: production } : {}),
318
+ };
319
+ },
320
+ responseExtractor: passthrough,
321
+ bodySchema: fmeEnvironmentCreateSchema,
322
+ description: "Create an environment (Harness-native only). Body requires name (max 15 characters). Optional isProduction (CreateEnvironmentRequest). NG scope is not injected into the JSON.",
323
+ },
324
+ update: {
325
+ method: "PATCH",
326
+ path: "",
327
+ routeResolver: (input) => resolveNativeOnlyEnvironmentRoute(input, "update", { mergePatch: true }),
328
+ operationPolicy: { risk: "low_write", retryPolicy: "safe" },
329
+ skipScopeBodyInjection: true,
330
+ bodyBuilder: (input) => {
331
+ const body = input.body;
332
+ if (!body)
333
+ return {};
334
+ const production = fmeEnvironmentProduction(body);
335
+ return {
336
+ ...(typeof body.name === "string" ? { name: body.name } : {}),
337
+ ...(production !== undefined ? { isProduction: production } : {}),
338
+ };
339
+ },
340
+ responseExtractor: passthrough,
341
+ bodySchema: fmeEnvironmentUpdateSchema,
342
+ description: "Update an environment by environment_id (Harness-native only). JSON Merge Patch on name and isProduction (not clearable).",
343
+ },
344
+ delete: {
345
+ method: "DELETE",
346
+ path: "",
347
+ routeResolver: (input) => resolveNativeOnlyEnvironmentRoute(input, "delete"),
348
+ operationPolicy: { risk: "destructive", retryPolicy: "do_not_retry" },
226
349
  responseExtractor: passthrough,
227
- description: "List FME environments for a workspace",
350
+ description: "Delete (archive) an environment by environment_id (Harness-native only). Returns 400 hasDependents while SDK API keys, flags, or segments still target it. Create via EnvironmentStarterKit always provisions client/server API keys, so a brand-new environment cannot be deleted until those keys are removed.",
228
351
  },
229
352
  },
230
353
  },
@@ -300,12 +423,16 @@ export const featureFlagsToolset = {
300
423
  bodyBuilder: (input) => {
301
424
  const body = input.body;
302
425
  if (isFmeHarnessNativeSelected(input, "fme_feature_flag")) {
303
- const trafficType = (body?.trafficType ?? body?.traffic_type);
426
+ const trafficType = (body?.trafficType ?? input.traffic_type_id ?? input.traffic_type ?? body?.traffic_type);
304
427
  if (!trafficType) {
305
- throw new Error("fme_feature_flag.create: \"trafficType\" is required in body for Harness-native (org_id/project_id) mode.");
428
+ throw new Error('fme_feature_flag.create: "trafficType" is required in Harness-native mode — pass body.trafficType, traffic_type_id, or traffic_type.');
429
+ }
430
+ const name = body?.name ?? input.name;
431
+ if (!name) {
432
+ throw new Error('fme_feature_flag.create: "name" is required in Harness-native mode — pass body.name.');
306
433
  }
307
434
  return {
308
- name: body?.name ?? input.name,
435
+ name,
309
436
  trafficType,
310
437
  ...(body?.description !== undefined ? { description: body.description } : {}),
311
438
  ...(body?.tags !== undefined ? { tags: normalizeFmeTags(body.tags) } : {}),
@@ -319,7 +446,7 @@ export const featureFlagsToolset = {
319
446
  },
320
447
  responseExtractor: passthrough,
321
448
  bodySchema: fmeFeatureFlagCreateSchema,
322
- description: "Create a feature flag. Legacy mode (workspace_id): requires workspace_id + traffic_type_id (get from fme_traffic_type); body: name, optional description (no tags/owners — use harness_update after creation). Harness-native mode (org_id+project_id): body requires name + trafficType, optional description/tags/owners.",
449
+ description: "Create a feature flag. Legacy mode (workspace_id): requires workspace_id + traffic_type_id (get from fme_traffic_type); body: name, optional description (no tags/owners — use harness_update after creation). Harness-native mode (org_id+project_id): body requires name + trafficType (or pass traffic_type_id / traffic_type at top level), optional description/tags/owners.",
323
450
  },
324
451
  delete: {
325
452
  method: "DELETE",
@@ -555,14 +682,27 @@ export const featureFlagsToolset = {
555
682
  {
556
683
  resourceType: "fme_feature_flag_definition",
557
684
  displayName: "FME Feature Flag Definition",
558
- description: "Detailed definition of a feature flag in a specific environment, including treatments, rules, targeting, and traffic allocation. Supports create, get, and update. Create requires treatments, defaultTreatment, and defaultRule. " +
559
- "Dual-mode scoping: pass org_id+project_id (Harness-native) or the deprecated workspace_id (Split.io API) — both modes share the same body shape and all three operations. environment_id is passed as a path segment in legacy mode and as a query param in Harness-native mode.",
685
+ description: "Detailed definition of a feature flag in a specific environment: treatments, rules, targeting, and traffic allocation. Create requires treatments, defaultTreatment, and defaultRule. Get/create/update: pass org_id+project_id (preferred) or the deprecated workspace_id. List/delete/kill/restore/reallocate: org_id+project_id only. Native list requires feature_flag_name and uses offset/limit (max 100); it does not take environment_id. Other ops require environment_id. Kill/restore/reallocate are the same actions as on fme_feature_flag; either resource works.",
560
686
  toolset: "feature-flags",
561
687
  scope: "account",
562
688
  scopeOptional: true,
563
689
  identifierFields: ["workspace_id", "environment_id", "feature_flag_name"],
564
690
  product: "fme",
691
+ listFilterFields: [
692
+ { name: "feature_flag_name", description: "Feature flag name whose definitions to list. Required.", required: true },
693
+ { name: "offset", description: "Pagination offset (default 0)", type: "number" },
694
+ { name: "limit", description: "Page size (default 100, max 100)", type: "number" },
695
+ ],
565
696
  operations: {
697
+ list: {
698
+ method: "GET",
699
+ path: "",
700
+ routeResolver: (input) => resolveNativeOnlyDefinitionRoute(input, "list", { collection: true }),
701
+ operationPolicy: { risk: "read", retryPolicy: "safe" },
702
+ queryParams: { feature_flag_name: "feature_flag_name", offset: "offset", limit: "limit" },
703
+ responseExtractor: passthrough,
704
+ description: "List feature flag definitions for a flag across environments (org_id+project_id only). Requires feature_flag_name. Pagination uses offset and limit (default 100, max 100). Do not pass environment_id.",
705
+ },
566
706
  get: {
567
707
  method: "GET",
568
708
  path: "/internal/api/v2/splits/ws/{wsId}/{featureFlagName}/environments/{environmentId}",
@@ -583,7 +723,7 @@ export const featureFlagsToolset = {
583
723
  },
584
724
  queryParams: { environment_id: "environment_id" },
585
725
  responseExtractor: passthrough,
586
- description: "Get feature flag definition in a specific environment (treatments, rules, default rule, traffic allocation). Legacy mode: workspace_id, environment_id in path. Harness-native mode: org_id+project_id, environment_id as query param.",
726
+ description: "Get a feature flag definition in a specific environment (treatments, rules, default rule, traffic allocation). Requires feature_flag_name and environment_id. Pass org_id+project_id (preferred) or deprecated workspace_id.",
587
727
  },
588
728
  create: {
589
729
  method: "POST",
@@ -607,7 +747,7 @@ export const featureFlagsToolset = {
607
747
  bodyBuilder: (input) => input.body,
608
748
  responseExtractor: passthrough,
609
749
  bodySchema: fmeFeatureFlagDefinitionCreateSchema,
610
- description: "Create a feature flag definition in a specific environment. Requires treatments (array of treatment objects), defaultTreatment (string matching a treatment name), and defaultRule (array of bucket objects). Optional: rules, baselineTreatment, trafficAllocation, comment, title (Harness-native only). Legacy mode: workspace_id, environment_id in path. Harness-native mode: org_id+project_id, environment_id as query param.",
750
+ description: "Create a feature flag definition in a specific environment. Requires treatments (array of treatment objects), defaultTreatment (string matching a treatment name), and defaultRule (array of bucket objects). Optional: rules, baselineTreatment, trafficAllocation, comment, title (Harness-native only). Requires feature_flag_name and environment_id. Pass org_id+project_id (preferred) or deprecated workspace_id.",
611
751
  },
612
752
  update: {
613
753
  method: "PUT",
@@ -637,14 +777,76 @@ export const featureFlagsToolset = {
637
777
  bodyBuilder: (input) => input.body,
638
778
  responseExtractor: passthrough,
639
779
  bodySchema: fmeFeatureFlagDefinitionUpdateSchema,
640
- description: "Update a feature flag definition in a specific environment (treatments, rules, default rule, traffic allocation, baseline treatment). Legacy mode: PUT, workspace_id/environment_id in path (full-replace, per the Split.io API). Harness-native mode: PATCH via JSON Merge Patch (RFC 7396) — omit a field to leave it unchanged; treatments/rules/defaultRule are omit-to-keep but reject explicit null (not clearable); org_id+project_id, environment_id as query param.",
780
+ description: "Update a feature flag definition in a specific environment (treatments, rules, default rule, traffic allocation, baseline treatment). Requires feature_flag_name and environment_id. Pass org_id+project_id (preferred) or deprecated workspace_id. Native update is JSON Merge Patch: omit a field to leave it unchanged; treatments/rules/defaultRule are omit-to-keep but reject explicit null (not clearable). Legacy update is a full replace.",
781
+ },
782
+ delete: {
783
+ method: "DELETE",
784
+ path: "",
785
+ routeResolver: (input) => resolveNativeOnlyDefinitionRoute(input, "delete"),
786
+ operationPolicy: { risk: "destructive", retryPolicy: "do_not_retry" },
787
+ queryParams: { environment_id: "environment_id" },
788
+ responseExtractor: passthrough,
789
+ description: "Delete a feature flag definition in an environment (org_id+project_id only). Requires feature_flag_name and environment_id.",
790
+ },
791
+ },
792
+ executeActions: {
793
+ kill: {
794
+ method: "POST",
795
+ path: "",
796
+ routeResolver: (input) => resolveNativeOnlyDefinitionRoute(input, "kill", { suffix: "/kill" }),
797
+ operationPolicy: { risk: "high_write", retryPolicy: "do_not_retry" },
798
+ queryParams: { environment_id: "environment_id" },
799
+ bodyBuilder: (input) => {
800
+ const body = input.body ?? {};
801
+ return {
802
+ ...(body.comment !== undefined ? { comment: body.comment } : {}),
803
+ ...(body.title !== undefined ? { title: body.title } : {}),
804
+ };
805
+ },
806
+ responseExtractor: fmeActionExtract,
807
+ actionDescription: "Kill (turn off) a feature flag definition in an environment (org_id+project_id only). Requires feature_flag_name and environment_id. Optional body comment/title. Same action as fme_feature_flag kill.",
808
+ bodySchema: fmeFeatureFlagKillRestoreReallocateSchema,
809
+ },
810
+ restore: {
811
+ method: "POST",
812
+ path: "",
813
+ routeResolver: (input) => resolveNativeOnlyDefinitionRoute(input, "restore", { suffix: "/restore" }),
814
+ operationPolicy: { risk: "high_write", retryPolicy: "do_not_retry" },
815
+ queryParams: { environment_id: "environment_id" },
816
+ bodyBuilder: (input) => {
817
+ const body = input.body ?? {};
818
+ return {
819
+ ...(body.comment !== undefined ? { comment: body.comment } : {}),
820
+ ...(body.title !== undefined ? { title: body.title } : {}),
821
+ };
822
+ },
823
+ responseExtractor: fmeActionExtract,
824
+ actionDescription: "Restore a killed feature flag definition in an environment (org_id+project_id only). Requires feature_flag_name and environment_id. Optional body comment/title. Same action as fme_feature_flag restore.",
825
+ bodySchema: fmeFeatureFlagKillRestoreReallocateSchema,
826
+ },
827
+ reallocate: {
828
+ method: "POST",
829
+ path: "",
830
+ routeResolver: (input) => resolveNativeOnlyDefinitionRoute(input, "reallocate", { suffix: "/reallocate" }),
831
+ operationPolicy: { risk: "high_write", retryPolicy: "do_not_retry" },
832
+ queryParams: { environment_id: "environment_id" },
833
+ bodyBuilder: (input) => {
834
+ const body = input.body ?? {};
835
+ return {
836
+ ...(body.comment !== undefined ? { comment: body.comment } : {}),
837
+ ...(body.title !== undefined ? { title: body.title } : {}),
838
+ };
839
+ },
840
+ responseExtractor: fmeActionExtract,
841
+ actionDescription: "Reallocate traffic across treatments for a feature flag definition in an environment (org_id+project_id only). Requires feature_flag_name and environment_id. Optional body comment/title. Same action as fme_feature_flag reallocate.",
842
+ bodySchema: fmeFeatureFlagKillRestoreReallocateSchema,
641
843
  },
642
844
  },
643
845
  },
644
846
  {
645
847
  resourceType: "fme_rollout_status",
646
848
  displayName: "FME Rollout Status",
647
- description: "Rollout status definitions for a workspace (e.g. Killed, Permanent, Ramping). Use to discover valid rollout_status_id UUIDs for filtering fme_feature_flag lists. Note: this endpoint may not be available on all account types — rollout status IDs are also returned inline with fme_feature_flag list results.",
849
+ description: "Rollout status definitions (e.g. Killed, Permanent, Ramping). Dual-mode: pass org_id+project_id (preferred) or the deprecated workspace_id. Use harness_list to discover rollout_status_id UUIDs for filtering fme_feature_flag lists. Pagination uses offset/limit (max 100; harness_list size maps to limit).",
648
850
  toolset: "feature-flags",
649
851
  scope: "account",
650
852
  scopeOptional: true,
@@ -652,22 +854,24 @@ export const featureFlagsToolset = {
652
854
  product: "fme",
653
855
  listFilterFields: [
654
856
  { name: "workspace_id", description: "FME workspace ID (get from fme_workspace). Deprecated — omit and pass org_id+project_id instead for Harness-native scoping." },
857
+ { name: "offset", description: "Harness-native pagination offset (default 0)", type: "number" },
858
+ { name: "limit", description: "Harness-native page size (default 100, max 100)", type: "number" },
655
859
  ],
656
860
  operations: {
657
861
  list: {
658
862
  method: "GET",
659
- path: "/internal/api/v2/rolloutStatuses/ws/{wsId}",
863
+ path: "",
660
864
  routeResolver: (input) => {
661
865
  const mode = resolveFmeDualMode(input, "fme_rollout_status");
662
- if (mode.mode === "harness_native") {
663
- throw new Error("fme_rollout_status.list: Harness-native (org_id/project_id) mode not yet implemented for this operation — pass workspace_id (deprecated) instead.");
866
+ if (mode.mode === "legacy") {
867
+ return { path: `/internal/api/v2/rolloutStatuses/ws/${encodeURIComponent(mode.workspaceId)}` };
664
868
  }
665
- return { path: `/internal/api/v2/rolloutStatuses/ws/${encodeURIComponent(mode.workspaceId)}` };
869
+ return { path: "/fme/api/v4/rollout-statuses", product: "harness", scopeParams: FME_HARNESS_NATIVE_SCOPE_PARAMS };
666
870
  },
667
871
  operationPolicy: { risk: "read", retryPolicy: "safe" },
668
- pathParams: { workspace_id: "wsId" },
669
- responseExtractor: passthrough,
670
- description: "List rollout status definitions for a workspace (Killed, Permanent, Ramping, etc.). If this returns 404, use rolloutStatus fields from fme_feature_flag list results instead.",
872
+ queryParams: { offset: "offset", size: "limit", limit: "limit" },
873
+ responseExtractor: fmeV4PaginatedListExtract,
874
+ description: "List rollout statuses. Pass org_id+project_id (preferred) or deprecated workspace_id. Optional offset/limit (harness_list size maps to limit).",
671
875
  },
672
876
  },
673
877
  },
@@ -872,7 +1076,7 @@ export const featureFlagsToolset = {
872
1076
  {
873
1077
  resourceType: "fme_traffic_type",
874
1078
  displayName: "FME Traffic Type",
875
- description: "Traffic type in a workspace (e.g. 'user', 'account'). List traffic types to discover traffic_type_id values needed for identity queries and flag/segment creation.",
1079
+ description: "Traffic type (e.g. 'user', 'account'). Dual-mode: pass org_id+project_id (preferred) or the deprecated workspace_id. Use harness_list to discover traffic_type_id / name values for flag and segment create. Pagination uses offset/limit (max 100; harness_list size maps to limit).",
876
1080
  toolset: "feature-flags",
877
1081
  scope: "account",
878
1082
  scopeOptional: true,
@@ -880,22 +1084,24 @@ export const featureFlagsToolset = {
880
1084
  product: "fme",
881
1085
  listFilterFields: [
882
1086
  { name: "workspace_id", description: "FME workspace ID (get from fme_workspace). Deprecated — omit and pass org_id+project_id instead for Harness-native scoping." },
1087
+ { name: "offset", description: "Harness-native pagination offset (default 0)", type: "number" },
1088
+ { name: "limit", description: "Harness-native page size (default 100, max 100)", type: "number" },
883
1089
  ],
884
1090
  operations: {
885
1091
  list: {
886
1092
  method: "GET",
887
- path: "/internal/api/v2/trafficTypes/ws/{wsId}",
1093
+ path: "",
888
1094
  routeResolver: (input) => {
889
1095
  const mode = resolveFmeDualMode(input, "fme_traffic_type");
890
- if (mode.mode === "harness_native") {
891
- throw new Error("fme_traffic_type.list: Harness-native (org_id/project_id) mode not yet implemented for this operation — pass workspace_id (deprecated) instead.");
1096
+ if (mode.mode === "legacy") {
1097
+ return { path: `/internal/api/v2/trafficTypes/ws/${encodeURIComponent(mode.workspaceId)}` };
892
1098
  }
893
- return { path: `/internal/api/v2/trafficTypes/ws/${encodeURIComponent(mode.workspaceId)}` };
1099
+ return { path: "/fme/api/v4/traffic-types", product: "harness", scopeParams: FME_HARNESS_NATIVE_SCOPE_PARAMS };
894
1100
  },
895
1101
  operationPolicy: { risk: "read", retryPolicy: "safe" },
896
- pathParams: { workspace_id: "wsId" },
897
- responseExtractor: passthrough,
898
- description: "List traffic types for a workspace. Returns id, name, and displayAttributeId for each traffic type.",
1102
+ queryParams: { offset: "offset", size: "limit", limit: "limit" },
1103
+ responseExtractor: fmeV4PaginatedListExtract,
1104
+ description: "List traffic types. Pass org_id+project_id (preferred) or deprecated workspace_id. Optional offset/limit (harness_list size maps to limit).",
899
1105
  },
900
1106
  },
901
1107
  },