@zivis/mcp 0.1.0-alpha.21 → 0.1.0-alpha.23

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 (223) hide show
  1. package/dist/matcher/ast-eval.d.ts +27 -0
  2. package/dist/matcher/ast-eval.js +132 -0
  3. package/dist/matcher/ast-eval.js.map +1 -0
  4. package/dist/matcher/finding.d.ts +76 -0
  5. package/dist/matcher/finding.js +14 -0
  6. package/dist/matcher/finding.js.map +1 -0
  7. package/dist/matcher/index.d.ts +30 -0
  8. package/dist/matcher/index.js +255 -0
  9. package/dist/matcher/index.js.map +1 -0
  10. package/dist/matcher/inference-candidates.d.ts +54 -0
  11. package/dist/matcher/inference-candidates.js +106 -0
  12. package/dist/matcher/inference-candidates.js.map +1 -0
  13. package/dist/matcher/walker.d.ts +14 -0
  14. package/dist/matcher/walker.js +79 -0
  15. package/dist/matcher/walker.js.map +1 -0
  16. package/dist/pattern-pack/index.d.ts +154 -0
  17. package/dist/pattern-pack/index.js +224 -0
  18. package/dist/pattern-pack/index.js.map +1 -0
  19. package/dist/pattern-packs/zivis-public-0.1.0/capsules/agents/privilege-separation.yaml +224 -0
  20. package/dist/pattern-packs/zivis-public-0.1.0/capsules/prompting/self-consistency-no-isolation.yaml +237 -0
  21. package/dist/pattern-packs/zivis-public-0.1.0/capsules/security/late-org-filter.yaml +266 -0
  22. package/dist/pattern-packs/zivis-public-0.1.0/controls/external_validator_on_facts.yaml +37 -0
  23. package/dist/pattern-packs/zivis-public-0.1.0/controls/human_approval_gate.yaml +44 -0
  24. package/dist/pattern-packs/zivis-public-0.1.0/controls/langgraph_state_machine_with_per_node_tools.yaml +35 -0
  25. package/dist/pattern-packs/zivis-public-0.1.0/controls/per_sample_retrieval_diversification.yaml +38 -0
  26. package/dist/pattern-packs/zivis-public-0.1.0/controls/prisma_extension_or_middleware_attaching_org_filter.yaml +31 -0
  27. package/dist/pattern-packs/zivis-public-0.1.0/controls/row_level_security_policy.yaml +37 -0
  28. package/dist/pattern-packs/zivis-public-0.1.0/manifest.json +129 -0
  29. package/dist/pattern-packs/zivis-public-0.1.0/prompts/agents/privilege-separation/identify.md +54 -0
  30. package/dist/pattern-packs/zivis-public-0.1.0/prompts/prompting/self-consistency-no-isolation/identify.md +60 -0
  31. package/dist/pattern-packs/zivis-public-0.1.0/prompts/security/late-org-filter/identify.md +78 -0
  32. package/dist/prompts/index.d.ts +1 -1
  33. package/dist/prompts/index.js +1 -7
  34. package/dist/prompts/index.js.map +1 -1
  35. package/dist/server.js +36 -166
  36. package/dist/server.js.map +1 -1
  37. package/dist/tools/enterprise/get-threat-model-artifact.d.ts +30 -0
  38. package/dist/tools/enterprise/get-threat-model-artifact.js +80 -0
  39. package/dist/tools/enterprise/get-threat-model-artifact.js.map +1 -0
  40. package/dist/tools/enterprise/get-threat-model.d.ts +1 -1
  41. package/dist/tools/enterprise/get-threat-model.js +59 -11
  42. package/dist/tools/enterprise/get-threat-model.js.map +1 -1
  43. package/dist/tools/enterprise/list-threat-model-artifacts.d.ts +67 -0
  44. package/dist/tools/enterprise/list-threat-model-artifacts.js +121 -0
  45. package/dist/tools/enterprise/list-threat-model-artifacts.js.map +1 -0
  46. package/dist/tools/enterprise/manage-actor.d.ts +1 -1
  47. package/dist/tools/enterprise/manage-actor.js +14 -1
  48. package/dist/tools/enterprise/manage-actor.js.map +1 -1
  49. package/dist/tools/enterprise/manage-attack-scenario.d.ts +1 -1
  50. package/dist/tools/enterprise/manage-attack-scenario.js +13 -1
  51. package/dist/tools/enterprise/manage-attack-scenario.js.map +1 -1
  52. package/dist/tools/enterprise/manage-component.d.ts +1 -1
  53. package/dist/tools/enterprise/manage-component.js +20 -1
  54. package/dist/tools/enterprise/manage-component.js.map +1 -1
  55. package/dist/tools/enterprise/manage-data-asset.d.ts +2 -2
  56. package/dist/tools/enterprise/manage-data-asset.js +17 -1
  57. package/dist/tools/enterprise/manage-data-asset.js.map +1 -1
  58. package/dist/tools/enterprise/manage-data-flow.d.ts +2 -2
  59. package/dist/tools/enterprise/manage-data-flow.js +19 -1
  60. package/dist/tools/enterprise/manage-data-flow.js.map +1 -1
  61. package/dist/tools/enterprise/manage-security-control.d.ts +1 -1
  62. package/dist/tools/enterprise/manage-security-control.js +18 -1
  63. package/dist/tools/enterprise/manage-security-control.js.map +1 -1
  64. package/dist/tools/enterprise/manage-test-case.d.ts +2 -2
  65. package/dist/tools/enterprise/manage-test-case.js +8 -0
  66. package/dist/tools/enterprise/manage-test-case.js.map +1 -1
  67. package/dist/tools/get-started.d.ts +1 -1
  68. package/dist/tools/get-started.js +185 -8
  69. package/dist/tools/get-started.js.map +1 -1
  70. package/dist/tools/inspect.d.ts +38 -0
  71. package/dist/tools/inspect.js +252 -0
  72. package/dist/tools/inspect.js.map +1 -0
  73. package/dist/tools/manage-application.d.ts +1 -1
  74. package/dist/tools/security-review.js +67 -50
  75. package/dist/tools/security-review.js.map +1 -1
  76. package/dist/tools/threat-get-capsule.d.ts +25 -0
  77. package/dist/tools/threat-get-capsule.js +64 -0
  78. package/dist/tools/threat-get-capsule.js.map +1 -0
  79. package/dist/tools/threat-get-inference-prompt.d.ts +32 -0
  80. package/dist/tools/threat-get-inference-prompt.js +91 -0
  81. package/dist/tools/threat-get-inference-prompt.js.map +1 -0
  82. package/dist/tools/threat-guide.d.ts +39 -0
  83. package/dist/tools/threat-guide.js +111 -0
  84. package/dist/tools/threat-guide.js.map +1 -0
  85. package/dist/tools/threat-list-relevant-capsules.d.ts +30 -0
  86. package/dist/tools/threat-list-relevant-capsules.js +176 -0
  87. package/dist/tools/threat-list-relevant-capsules.js.map +1 -0
  88. package/dist/tools/threat-run-matcher.d.ts +27 -0
  89. package/dist/tools/threat-run-matcher.js +164 -0
  90. package/dist/tools/threat-run-matcher.js.map +1 -0
  91. package/package.json +13 -3
  92. package/dist/prompts/prep-for-launch.d.ts +0 -9
  93. package/dist/prompts/prep-for-launch.js +0 -62
  94. package/dist/prompts/prep-for-launch.js.map +0 -1
  95. package/dist/prompts/secure-my-app.d.ts +0 -9
  96. package/dist/prompts/secure-my-app.js +0 -70
  97. package/dist/prompts/secure-my-app.js.map +0 -1
  98. package/dist/prompts/weekly-check.d.ts +0 -9
  99. package/dist/prompts/weekly-check.js +0 -48
  100. package/dist/prompts/weekly-check.js.map +0 -1
  101. package/dist/tools/enterprise/capture-evidence.d.ts +0 -54
  102. package/dist/tools/enterprise/capture-evidence.js +0 -72
  103. package/dist/tools/enterprise/capture-evidence.js.map +0 -1
  104. package/dist/tools/enterprise/create-report-ticket.d.ts +0 -34
  105. package/dist/tools/enterprise/create-report-ticket.js +0 -44
  106. package/dist/tools/enterprise/create-report-ticket.js.map +0 -1
  107. package/dist/tools/enterprise/end-pentest-session.d.ts +0 -33
  108. package/dist/tools/enterprise/end-pentest-session.js +0 -42
  109. package/dist/tools/enterprise/end-pentest-session.js.map +0 -1
  110. package/dist/tools/enterprise/generate-report.d.ts +0 -55
  111. package/dist/tools/enterprise/generate-report.js +0 -111
  112. package/dist/tools/enterprise/generate-report.js.map +0 -1
  113. package/dist/tools/enterprise/get-campaign.d.ts +0 -27
  114. package/dist/tools/enterprise/get-campaign.js +0 -31
  115. package/dist/tools/enterprise/get-campaign.js.map +0 -1
  116. package/dist/tools/enterprise/get-report-status.d.ts +0 -27
  117. package/dist/tools/enterprise/get-report-status.js +0 -38
  118. package/dist/tools/enterprise/get-report-status.js.map +0 -1
  119. package/dist/tools/enterprise/list-agents.d.ts +0 -42
  120. package/dist/tools/enterprise/list-agents.js +0 -95
  121. package/dist/tools/enterprise/list-agents.js.map +0 -1
  122. package/dist/tools/enterprise/list-campaigns.d.ts +0 -37
  123. package/dist/tools/enterprise/list-campaigns.js +0 -60
  124. package/dist/tools/enterprise/list-campaigns.js.map +0 -1
  125. package/dist/tools/enterprise/list-report-issues.d.ts +0 -36
  126. package/dist/tools/enterprise/list-report-issues.js +0 -50
  127. package/dist/tools/enterprise/list-report-issues.js.map +0 -1
  128. package/dist/tools/enterprise/manage-campaign-agent-instance.d.ts +0 -42
  129. package/dist/tools/enterprise/manage-campaign-agent-instance.js +0 -68
  130. package/dist/tools/enterprise/manage-campaign-agent-instance.js.map +0 -1
  131. package/dist/tools/enterprise/manage-campaign-target.d.ts +0 -44
  132. package/dist/tools/enterprise/manage-campaign-target.js +0 -70
  133. package/dist/tools/enterprise/manage-campaign-target.js.map +0 -1
  134. package/dist/tools/enterprise/manage-campaign.d.ts +0 -62
  135. package/dist/tools/enterprise/manage-campaign.js +0 -114
  136. package/dist/tools/enterprise/manage-campaign.js.map +0 -1
  137. package/dist/tools/enterprise/manage-finding.d.ts +0 -69
  138. package/dist/tools/enterprise/manage-finding.js +0 -106
  139. package/dist/tools/enterprise/manage-finding.js.map +0 -1
  140. package/dist/tools/enterprise/promote-finding-to-issue.d.ts +0 -36
  141. package/dist/tools/enterprise/promote-finding-to-issue.js +0 -65
  142. package/dist/tools/enterprise/promote-finding-to-issue.js.map +0 -1
  143. package/dist/tools/enterprise/publish-report-version.d.ts +0 -34
  144. package/dist/tools/enterprise/publish-report-version.js +0 -75
  145. package/dist/tools/enterprise/publish-report-version.js.map +0 -1
  146. package/dist/tools/enterprise/publish-test-to-library.d.ts +0 -31
  147. package/dist/tools/enterprise/publish-test-to-library.js +0 -40
  148. package/dist/tools/enterprise/publish-test-to-library.js.map +0 -1
  149. package/dist/tools/enterprise/record-test-result.d.ts +0 -67
  150. package/dist/tools/enterprise/record-test-result.js +0 -75
  151. package/dist/tools/enterprise/record-test-result.js.map +0 -1
  152. package/dist/tools/enterprise/start-pentest-session.d.ts +0 -35
  153. package/dist/tools/enterprise/start-pentest-session.js +0 -50
  154. package/dist/tools/enterprise/start-pentest-session.js.map +0 -1
  155. package/dist/tools/enterprise/sync-report-section.d.ts +0 -41
  156. package/dist/tools/enterprise/sync-report-section.js +0 -79
  157. package/dist/tools/enterprise/sync-report-section.js.map +0 -1
  158. package/dist/tools/enterprise/update-report-issue.d.ts +0 -55
  159. package/dist/tools/enterprise/update-report-issue.js +0 -69
  160. package/dist/tools/enterprise/update-report-issue.js.map +0 -1
  161. package/dist/tools/get-agent-test-results.d.ts +0 -41
  162. package/dist/tools/get-agent-test-results.js +0 -86
  163. package/dist/tools/get-agent-test-results.js.map +0 -1
  164. package/dist/tools/get-application-auth-config.d.ts +0 -27
  165. package/dist/tools/get-application-auth-config.js +0 -44
  166. package/dist/tools/get-application-auth-config.js.map +0 -1
  167. package/dist/tools/get-artifact-content.d.ts +0 -29
  168. package/dist/tools/get-artifact-content.js +0 -86
  169. package/dist/tools/get-artifact-content.js.map +0 -1
  170. package/dist/tools/get-finding-details.d.ts +0 -22
  171. package/dist/tools/get-finding-details.js +0 -61
  172. package/dist/tools/get-finding-details.js.map +0 -1
  173. package/dist/tools/get-findings.d.ts +0 -51
  174. package/dist/tools/get-findings.js +0 -124
  175. package/dist/tools/get-findings.js.map +0 -1
  176. package/dist/tools/get-recon-scan.d.ts +0 -27
  177. package/dist/tools/get-recon-scan.js +0 -46
  178. package/dist/tools/get-recon-scan.js.map +0 -1
  179. package/dist/tools/get-scan-output.d.ts +0 -27
  180. package/dist/tools/get-scan-output.js +0 -64
  181. package/dist/tools/get-scan-output.js.map +0 -1
  182. package/dist/tools/get-scenario-details.d.ts +0 -27
  183. package/dist/tools/get-scenario-details.js +0 -46
  184. package/dist/tools/get-scenario-details.js.map +0 -1
  185. package/dist/tools/get-test-case-results.d.ts +0 -37
  186. package/dist/tools/get-test-case-results.js +0 -66
  187. package/dist/tools/get-test-case-results.js.map +0 -1
  188. package/dist/tools/get-test-details.d.ts +0 -29
  189. package/dist/tools/get-test-details.js +0 -49
  190. package/dist/tools/get-test-details.js.map +0 -1
  191. package/dist/tools/list-agent-test-cases.d.ts +0 -41
  192. package/dist/tools/list-agent-test-cases.js +0 -73
  193. package/dist/tools/list-agent-test-cases.js.map +0 -1
  194. package/dist/tools/list-recon-scans.d.ts +0 -36
  195. package/dist/tools/list-recon-scans.js +0 -74
  196. package/dist/tools/list-recon-scans.js.map +0 -1
  197. package/dist/tools/list-scan-artifacts.d.ts +0 -41
  198. package/dist/tools/list-scan-artifacts.js +0 -63
  199. package/dist/tools/list-scan-artifacts.js.map +0 -1
  200. package/dist/tools/list-scans.d.ts +0 -38
  201. package/dist/tools/list-scans.js +0 -125
  202. package/dist/tools/list-scans.js.map +0 -1
  203. package/dist/tools/list-test-library.d.ts +0 -44
  204. package/dist/tools/list-test-library.js +0 -83
  205. package/dist/tools/list-test-library.js.map +0 -1
  206. package/dist/tools/list-test-scenarios.d.ts +0 -25
  207. package/dist/tools/list-test-scenarios.js +0 -94
  208. package/dist/tools/list-test-scenarios.js.map +0 -1
  209. package/dist/tools/local-scan.d.ts +0 -40
  210. package/dist/tools/local-scan.js +0 -261
  211. package/dist/tools/local-scan.js.map +0 -1
  212. package/dist/tools/run-test-scenario.d.ts +0 -37
  213. package/dist/tools/run-test-scenario.js +0 -70
  214. package/dist/tools/run-test-scenario.js.map +0 -1
  215. package/dist/tools/scan-pr.d.ts +0 -27
  216. package/dist/tools/scan-pr.js +0 -51
  217. package/dist/tools/scan-pr.js.map +0 -1
  218. package/dist/tools/setup-red-team-target.d.ts +0 -73
  219. package/dist/tools/setup-red-team-target.js +0 -461
  220. package/dist/tools/setup-red-team-target.js.map +0 -1
  221. package/dist/tools/triage-finding.d.ts +0 -41
  222. package/dist/tools/triage-finding.js +0 -125
  223. package/dist/tools/triage-finding.js.map +0 -1
@@ -1,60 +0,0 @@
1
- /**
2
- * zivis_list_campaigns — List red-team campaigns
3
- *
4
- * Maps to: GET /api/redteam/campaigns
5
- */
6
- import { z } from "zod";
7
- import { sanitizeResponse } from "../../sanitize.js";
8
- export const LIST_CAMPAIGNS_NAME = "zivis_list_campaigns";
9
- export const LIST_CAMPAIGNS_DESCRIPTION = `List red-team campaigns for the organization.
10
-
11
- Use campaign IDs with zivis_get_campaign and campaign management tools.`;
12
- export const LIST_CAMPAIGNS_SCHEMA = {
13
- status: z
14
- .enum(["draft", "active", "paused", "completed", "archived"])
15
- .optional()
16
- .describe("Optional campaign status filter"),
17
- limit: z
18
- .number()
19
- .min(1)
20
- .max(100)
21
- .default(25)
22
- .describe("Maximum campaigns to return (1-100, default 25)"),
23
- offset: z
24
- .number()
25
- .min(0)
26
- .default(0)
27
- .describe("Pagination offset (default 0)"),
28
- };
29
- export function createListCampaignsHandler(apiClient) {
30
- return async (params) => {
31
- try {
32
- const query = new URLSearchParams();
33
- if (params.status)
34
- query.set("status", params.status);
35
- if (params.limit !== undefined)
36
- query.set("limit", String(params.limit));
37
- if (params.offset !== undefined)
38
- query.set("offset", String(params.offset));
39
- const queryStr = query.toString();
40
- const data = await apiClient.get(`/api/redteam/campaigns${queryStr ? `?${queryStr}` : ""}`);
41
- const sanitized = sanitizeResponse({
42
- total: data.total ?? 0,
43
- limit: data.limit ?? params.limit ?? 25,
44
- offset: data.offset ?? params.offset ?? 0,
45
- campaigns: data.campaigns || [],
46
- });
47
- return {
48
- content: [{ type: "text", text: JSON.stringify(sanitized, null, 2) }],
49
- };
50
- }
51
- catch (err) {
52
- const message = err instanceof Error ? err.message : "Failed to list campaigns";
53
- return {
54
- content: [{ type: "text", text: `Error: ${message}` }],
55
- isError: true,
56
- };
57
- }
58
- };
59
- }
60
- //# sourceMappingURL=list-campaigns.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-campaigns.js","sourceRoot":"","sources":["../../../src/tools/enterprise/list-campaigns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,CAAC,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;AAE1D,MAAM,CAAC,MAAM,0BAA0B,GAAG;;wEAE8B,CAAC;AAEzE,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;SAC5D,QAAQ,EAAE;SACV,QAAQ,CAAC,iCAAiC,CAAC;IAC9C,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,iDAAiD,CAAC;IAC9D,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,CAAC,+BAA+B,CAAC;CAC7C,CAAC;AASF,MAAM,UAAU,0BAA0B,CAAC,SAAoB;IAC7D,OAAO,KAAK,EAAE,MAA4D,EAAE,EAAE;QAC5E,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;YACpC,IAAI,MAAM,CAAC,MAAM;gBAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;gBAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACzE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;gBAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAE5E,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAC9B,yBAAyB,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1D,CAAC;YAEF,MAAM,SAAS,GAAG,gBAAgB,CAAC;gBACjC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;gBACtB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE;gBACvC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;gBACzC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;aAChC,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC/E,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,CAAC;YAChF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC;gBAC/D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -1,36 +0,0 @@
1
- /**
2
- * zivis_list_report_issues — List remediation checklist issues for a campaign report
3
- *
4
- * Maps to: GET /api/reports/:reportId/issues
5
- * Also uses: POST /api/reports/for-campaign/:campaignId
6
- */
7
- import { z } from "zod";
8
- import type { ApiClient } from "../../api-client.js";
9
- export declare const LIST_REPORT_ISSUES_NAME = "zivis_list_report_issues";
10
- export declare const LIST_REPORT_ISSUES_DESCRIPTION = "List all issues in a campaign's remediation checklist with status summary.\n\nReturns issues grouped by severity with stats (open/in_progress/done counts). Use campaign_id to auto-resolve the report, or provide report_id directly.\n\nFilter by status to see only open, in-progress, or completed items.";
11
- export declare const LIST_REPORT_ISSUES_SCHEMA: {
12
- campaign_id: z.ZodOptional<z.ZodString>;
13
- report_id: z.ZodOptional<z.ZodString>;
14
- status: z.ZodOptional<z.ZodEnum<{
15
- open: "open";
16
- in_progress: "in_progress";
17
- done: "done";
18
- }>>;
19
- };
20
- export declare function createListReportIssuesHandler(apiClient: ApiClient): (params: {
21
- campaign_id?: string;
22
- report_id?: string;
23
- status?: string;
24
- }) => Promise<{
25
- content: {
26
- type: "text";
27
- text: string;
28
- }[];
29
- isError: boolean;
30
- } | {
31
- content: {
32
- type: "text";
33
- text: string;
34
- }[];
35
- isError?: undefined;
36
- }>;
@@ -1,50 +0,0 @@
1
- /**
2
- * zivis_list_report_issues — List remediation checklist issues for a campaign report
3
- *
4
- * Maps to: GET /api/reports/:reportId/issues
5
- * Also uses: POST /api/reports/for-campaign/:campaignId
6
- */
7
- import { z } from "zod";
8
- import { sanitizeResponse } from "../../sanitize.js";
9
- export const LIST_REPORT_ISSUES_NAME = "zivis_list_report_issues";
10
- export const LIST_REPORT_ISSUES_DESCRIPTION = `List all issues in a campaign's remediation checklist with status summary.
11
-
12
- Returns issues grouped by severity with stats (open/in_progress/done counts). Use campaign_id to auto-resolve the report, or provide report_id directly.
13
-
14
- Filter by status to see only open, in-progress, or completed items.`;
15
- export const LIST_REPORT_ISSUES_SCHEMA = {
16
- campaign_id: z.string().optional().describe("Campaign UUID — auto-resolves to report"),
17
- report_id: z.string().optional().describe("Report UUID (alternative to campaign_id)"),
18
- status: z.enum(["open", "in_progress", "done"]).optional().describe("Filter by status"),
19
- };
20
- export function createListReportIssuesHandler(apiClient) {
21
- return async (params) => {
22
- try {
23
- let reportId = params.report_id;
24
- // Resolve campaign → report if needed
25
- if (!reportId && params.campaign_id) {
26
- const reportData = await apiClient.post(`/api/reports/for-campaign/${params.campaign_id}`, {});
27
- reportId = reportData.reportId;
28
- }
29
- if (!reportId) {
30
- return {
31
- content: [{ type: "text", text: "Error: Provide either campaign_id or report_id" }],
32
- isError: true,
33
- };
34
- }
35
- const queryParams = params.status ? `?status=${params.status}` : "";
36
- const data = await apiClient.get(`/api/reports/${reportId}/issues${queryParams}`);
37
- return {
38
- content: [{ type: "text", text: JSON.stringify(sanitizeResponse(data), null, 2) }],
39
- };
40
- }
41
- catch (err) {
42
- const message = err instanceof Error ? err.message : "Failed to list report issues";
43
- return {
44
- content: [{ type: "text", text: `Error: ${message}` }],
45
- isError: true,
46
- };
47
- }
48
- };
49
- }
50
- //# sourceMappingURL=list-report-issues.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-report-issues.js","sourceRoot":"","sources":["../../../src/tools/enterprise/list-report-issues.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,CAAC,MAAM,uBAAuB,GAAG,0BAA0B,CAAC;AAElE,MAAM,CAAC,MAAM,8BAA8B,GAAG;;;;oEAIsB,CAAC;AAErE,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACtF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACrF,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;CACxF,CAAC;AAEF,MAAM,UAAU,6BAA6B,CAAC,SAAoB;IAChE,OAAO,KAAK,EAAE,MAIb,EAAE,EAAE;QACH,IAAI,CAAC;YACH,IAAI,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;YAEhC,sCAAsC;YACtC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACpC,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,IAAI,CACrC,6BAA6B,MAAM,CAAC,WAAW,EAAE,EACjD,EAAE,CACH,CAAC;gBACF,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;YACjC,CAAC;YAED,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,gDAAgD,EAAE,CAAC;oBAC5F,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAC9B,gBAAgB,QAAQ,UAAU,WAAW,EAAE,CAChD,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC5F,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC;YACpF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC;gBAC/D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -1,42 +0,0 @@
1
- /**
2
- * zivis_manage_campaign_agent_instance — Add/update/remove agent instance link on campaign
3
- *
4
- * Maps to:
5
- * - POST /api/redteam/campaigns/:id/agent-instances
6
- * - PATCH /api/redteam/campaigns/:id/agent-instances/:instanceId
7
- * - DELETE /api/redteam/campaigns/:id/agent-instances/:instanceId
8
- */
9
- import { z } from "zod";
10
- import type { ApiClient } from "../../api-client.js";
11
- export declare const MANAGE_CAMPAIGN_AGENT_INSTANCE_NAME = "zivis_manage_campaign_agent_instance";
12
- export declare const MANAGE_CAMPAIGN_AGENT_INSTANCE_DESCRIPTION = "Manage agent instance links for a campaign.\n\nActions:\n- add: link agent instance to campaign\n- update: update link settings (enabled/priority)\n- remove: unlink agent instance from campaign";
13
- export declare const MANAGE_CAMPAIGN_AGENT_INSTANCE_SCHEMA: {
14
- campaign_id: z.ZodString;
15
- action: z.ZodEnum<{
16
- update: "update";
17
- add: "add";
18
- remove: "remove";
19
- }>;
20
- agent_instance_id: z.ZodString;
21
- enabled: z.ZodOptional<z.ZodBoolean>;
22
- priority: z.ZodOptional<z.ZodNumber>;
23
- };
24
- export declare function createManageCampaignAgentInstanceHandler(apiClient: ApiClient): (params: {
25
- campaign_id: string;
26
- action: "add" | "update" | "remove";
27
- agent_instance_id: string;
28
- enabled?: boolean;
29
- priority?: number;
30
- }) => Promise<{
31
- content: {
32
- type: "text";
33
- text: string;
34
- }[];
35
- isError?: undefined;
36
- } | {
37
- content: {
38
- type: "text";
39
- text: string;
40
- }[];
41
- isError: boolean;
42
- }>;
@@ -1,68 +0,0 @@
1
- /**
2
- * zivis_manage_campaign_agent_instance — Add/update/remove agent instance link on campaign
3
- *
4
- * Maps to:
5
- * - POST /api/redteam/campaigns/:id/agent-instances
6
- * - PATCH /api/redteam/campaigns/:id/agent-instances/:instanceId
7
- * - DELETE /api/redteam/campaigns/:id/agent-instances/:instanceId
8
- */
9
- import { z } from "zod";
10
- import { sanitizeResponse } from "../../sanitize.js";
11
- export const MANAGE_CAMPAIGN_AGENT_INSTANCE_NAME = "zivis_manage_campaign_agent_instance";
12
- export const MANAGE_CAMPAIGN_AGENT_INSTANCE_DESCRIPTION = `Manage agent instance links for a campaign.
13
-
14
- Actions:
15
- - add: link agent instance to campaign
16
- - update: update link settings (enabled/priority)
17
- - remove: unlink agent instance from campaign`;
18
- export const MANAGE_CAMPAIGN_AGENT_INSTANCE_SCHEMA = {
19
- campaign_id: z.string().describe("Campaign UUID"),
20
- action: z.enum(["add", "update", "remove"]).describe("Agent instance link action"),
21
- agent_instance_id: z.string().describe("Agent instance UUID"),
22
- enabled: z.boolean().optional().describe("Enable/disable this link"),
23
- priority: z.number().min(0).max(1000).optional().describe("Execution priority"),
24
- };
25
- export function createManageCampaignAgentInstanceHandler(apiClient) {
26
- return async (params) => {
27
- try {
28
- const { campaign_id, action, agent_instance_id } = params;
29
- let data;
30
- if (action === "add") {
31
- data = await apiClient.post(`/api/redteam/campaigns/${campaign_id}/agent-instances`, {
32
- agentInstanceId: agent_instance_id,
33
- priority: params.priority,
34
- });
35
- }
36
- else if (action === "update") {
37
- const body = {};
38
- if (params.enabled !== undefined)
39
- body.enabled = params.enabled;
40
- if (params.priority !== undefined)
41
- body.priority = params.priority;
42
- data = await apiClient.patch(`/api/redteam/campaigns/${campaign_id}/agent-instances/${agent_instance_id}`, body);
43
- }
44
- else {
45
- data = await apiClient.del(`/api/redteam/campaigns/${campaign_id}/agent-instances/${agent_instance_id}`);
46
- }
47
- const sanitized = sanitizeResponse({
48
- action,
49
- campaign_id,
50
- agent_instance_id,
51
- result: data,
52
- });
53
- return {
54
- content: [{ type: "text", text: JSON.stringify(sanitized, null, 2) }],
55
- };
56
- }
57
- catch (err) {
58
- const message = err instanceof Error
59
- ? err.message
60
- : "Failed to manage campaign agent instance";
61
- return {
62
- content: [{ type: "text", text: `Error: ${message}` }],
63
- isError: true,
64
- };
65
- }
66
- };
67
- }
68
- //# sourceMappingURL=manage-campaign-agent-instance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manage-campaign-agent-instance.js","sourceRoot":"","sources":["../../../src/tools/enterprise/manage-campaign-agent-instance.ts"],"names":[],"mappings":"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"}
@@ -1,44 +0,0 @@
1
- /**
2
- * zivis_manage_campaign_target — Add/update/remove target link on campaign
3
- *
4
- * Maps to:
5
- * - POST /api/redteam/campaigns/:id/targets
6
- * - PATCH /api/redteam/campaigns/:id/targets/:targetId
7
- * - DELETE /api/redteam/campaigns/:id/targets/:targetId
8
- */
9
- import { z } from "zod";
10
- import type { ApiClient } from "../../api-client.js";
11
- export declare const MANAGE_CAMPAIGN_TARGET_NAME = "zivis_manage_campaign_target";
12
- export declare const MANAGE_CAMPAIGN_TARGET_DESCRIPTION = "Manage target assignments for a campaign.\n\nActions:\n- add: add a target to campaign\n- update: update target link settings (enabled/priority/custom_config)\n- remove: remove target from campaign";
13
- export declare const MANAGE_CAMPAIGN_TARGET_SCHEMA: {
14
- campaign_id: z.ZodString;
15
- action: z.ZodEnum<{
16
- update: "update";
17
- add: "add";
18
- remove: "remove";
19
- }>;
20
- target_id: z.ZodString;
21
- enabled: z.ZodOptional<z.ZodBoolean>;
22
- priority: z.ZodOptional<z.ZodNumber>;
23
- custom_config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
24
- };
25
- export declare function createManageCampaignTargetHandler(apiClient: ApiClient): (params: {
26
- campaign_id: string;
27
- action: "add" | "update" | "remove";
28
- target_id: string;
29
- enabled?: boolean;
30
- priority?: number;
31
- custom_config?: Record<string, unknown>;
32
- }) => Promise<{
33
- content: {
34
- type: "text";
35
- text: string;
36
- }[];
37
- isError?: undefined;
38
- } | {
39
- content: {
40
- type: "text";
41
- text: string;
42
- }[];
43
- isError: boolean;
44
- }>;
@@ -1,70 +0,0 @@
1
- /**
2
- * zivis_manage_campaign_target — Add/update/remove target link on campaign
3
- *
4
- * Maps to:
5
- * - POST /api/redteam/campaigns/:id/targets
6
- * - PATCH /api/redteam/campaigns/:id/targets/:targetId
7
- * - DELETE /api/redteam/campaigns/:id/targets/:targetId
8
- */
9
- import { z } from "zod";
10
- import { sanitizeResponse } from "../../sanitize.js";
11
- export const MANAGE_CAMPAIGN_TARGET_NAME = "zivis_manage_campaign_target";
12
- export const MANAGE_CAMPAIGN_TARGET_DESCRIPTION = `Manage target assignments for a campaign.
13
-
14
- Actions:
15
- - add: add a target to campaign
16
- - update: update target link settings (enabled/priority/custom_config)
17
- - remove: remove target from campaign`;
18
- export const MANAGE_CAMPAIGN_TARGET_SCHEMA = {
19
- campaign_id: z.string().describe("Campaign UUID"),
20
- action: z.enum(["add", "update", "remove"]).describe("Target link action"),
21
- target_id: z.string().describe("Target UUID"),
22
- enabled: z.boolean().optional().describe("Enable/disable target within campaign"),
23
- priority: z.number().min(0).max(1000).optional().describe("Execution priority"),
24
- custom_config: z.record(z.string(), z.unknown()).optional().describe("Per-target config"),
25
- };
26
- export function createManageCampaignTargetHandler(apiClient) {
27
- return async (params) => {
28
- try {
29
- const { campaign_id, action, target_id } = params;
30
- let data;
31
- if (action === "add") {
32
- data = await apiClient.post(`/api/redteam/campaigns/${campaign_id}/targets`, {
33
- targetId: target_id,
34
- priority: params.priority,
35
- customConfig: params.custom_config,
36
- });
37
- }
38
- else if (action === "update") {
39
- const body = {};
40
- if (params.enabled !== undefined)
41
- body.enabled = params.enabled;
42
- if (params.priority !== undefined)
43
- body.priority = params.priority;
44
- if (params.custom_config !== undefined)
45
- body.customConfig = params.custom_config;
46
- data = await apiClient.patch(`/api/redteam/campaigns/${campaign_id}/targets/${target_id}`, body);
47
- }
48
- else {
49
- data = await apiClient.del(`/api/redteam/campaigns/${campaign_id}/targets/${target_id}`);
50
- }
51
- const sanitized = sanitizeResponse({
52
- action,
53
- campaign_id,
54
- target_id,
55
- result: data,
56
- });
57
- return {
58
- content: [{ type: "text", text: JSON.stringify(sanitized, null, 2) }],
59
- };
60
- }
61
- catch (err) {
62
- const message = err instanceof Error ? err.message : "Failed to manage campaign target";
63
- return {
64
- content: [{ type: "text", text: `Error: ${message}` }],
65
- isError: true,
66
- };
67
- }
68
- };
69
- }
70
- //# sourceMappingURL=manage-campaign-target.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manage-campaign-target.js","sourceRoot":"","sources":["../../../src/tools/enterprise/manage-campaign-target.ts"],"names":[],"mappings":"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"}
@@ -1,62 +0,0 @@
1
- /**
2
- * zivis_manage_campaign — Create/update/delete campaign
3
- *
4
- * Maps to:
5
- * - POST /api/redteam/campaigns
6
- * - PATCH /api/redteam/campaigns/:id
7
- * - DELETE /api/redteam/campaigns/:id
8
- */
9
- import { z } from "zod";
10
- import type { ApiClient } from "../../api-client.js";
11
- export declare const MANAGE_CAMPAIGN_NAME = "zivis_manage_campaign";
12
- export declare const MANAGE_CAMPAIGN_DESCRIPTION = "Create, update, or delete a red-team campaign.\n\nActions:\n- create: create a new campaign (requires name)\n- update: patch campaign fields (requires campaign_id)\n- delete: remove campaign (requires campaign_id)";
13
- export declare const MANAGE_CAMPAIGN_SCHEMA: {
14
- action: z.ZodEnum<{
15
- create: "create";
16
- update: "update";
17
- delete: "delete";
18
- }>;
19
- campaign_id: z.ZodOptional<z.ZodString>;
20
- name: z.ZodOptional<z.ZodString>;
21
- description: z.ZodOptional<z.ZodString>;
22
- status: z.ZodOptional<z.ZodEnum<{
23
- completed: "completed";
24
- draft: "draft";
25
- archived: "archived";
26
- active: "active";
27
- paused: "paused";
28
- }>>;
29
- objective: z.ZodOptional<z.ZodString>;
30
- methodology: z.ZodOptional<z.ZodString>;
31
- assessment_context_id: z.ZodOptional<z.ZodString>;
32
- categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
33
- target_endpoint: z.ZodOptional<z.ZodString>;
34
- target_model: z.ZodOptional<z.ZodString>;
35
- target_provider: z.ZodOptional<z.ZodString>;
36
- };
37
- export declare function createManageCampaignHandler(apiClient: ApiClient): (params: {
38
- action: "create" | "update" | "delete";
39
- campaign_id?: string;
40
- name?: string;
41
- description?: string;
42
- status?: "draft" | "active" | "paused" | "completed" | "archived";
43
- objective?: string;
44
- methodology?: string;
45
- assessment_context_id?: string;
46
- categories?: string[];
47
- target_endpoint?: string;
48
- target_model?: string;
49
- target_provider?: string;
50
- }) => Promise<{
51
- content: {
52
- type: "text";
53
- text: string;
54
- }[];
55
- isError: boolean;
56
- } | {
57
- content: {
58
- type: "text";
59
- text: string;
60
- }[];
61
- isError?: undefined;
62
- }>;
@@ -1,114 +0,0 @@
1
- /**
2
- * zivis_manage_campaign — Create/update/delete campaign
3
- *
4
- * Maps to:
5
- * - POST /api/redteam/campaigns
6
- * - PATCH /api/redteam/campaigns/:id
7
- * - DELETE /api/redteam/campaigns/:id
8
- */
9
- import { z } from "zod";
10
- import { sanitizeResponse } from "../../sanitize.js";
11
- export const MANAGE_CAMPAIGN_NAME = "zivis_manage_campaign";
12
- export const MANAGE_CAMPAIGN_DESCRIPTION = `Create, update, or delete a red-team campaign.
13
-
14
- Actions:
15
- - create: create a new campaign (requires name)
16
- - update: patch campaign fields (requires campaign_id)
17
- - delete: remove campaign (requires campaign_id)`;
18
- export const MANAGE_CAMPAIGN_SCHEMA = {
19
- action: z.enum(["create", "update", "delete"]).describe("CRUD action"),
20
- campaign_id: z.string().optional().describe("Required for update/delete"),
21
- name: z.string().optional().describe("Campaign name (required for create)"),
22
- description: z.string().optional().describe("Campaign description"),
23
- status: z
24
- .enum(["draft", "active", "paused", "completed", "archived"])
25
- .optional()
26
- .describe("Campaign status (for update)"),
27
- objective: z.string().optional().describe("Campaign objective"),
28
- methodology: z.string().optional().describe("Methodology (e.g., stride, owasp)"),
29
- assessment_context_id: z.string().optional().describe("Assessment context UUID"),
30
- categories: z.array(z.string()).optional().describe("Category tags"),
31
- target_endpoint: z.string().optional().describe("Legacy single-target endpoint"),
32
- target_model: z.string().optional().describe("Legacy single-target model name"),
33
- target_provider: z.string().optional().describe("Legacy single-target provider"),
34
- };
35
- export function createManageCampaignHandler(apiClient) {
36
- return async (params) => {
37
- try {
38
- const { action, campaign_id } = params;
39
- let data;
40
- if ((action === "update" || action === "delete") && !campaign_id) {
41
- return {
42
- content: [
43
- { type: "text", text: "Error: campaign_id is required for update/delete" },
44
- ],
45
- isError: true,
46
- };
47
- }
48
- if (action === "create" && !params.name) {
49
- return {
50
- content: [{ type: "text", text: "Error: name is required for create" }],
51
- isError: true,
52
- };
53
- }
54
- if (action === "create") {
55
- data = await apiClient.post("/api/redteam/campaigns", {
56
- name: params.name,
57
- description: params.description,
58
- status: params.status,
59
- objective: params.objective,
60
- methodology: params.methodology,
61
- assessmentContextId: params.assessment_context_id,
62
- categories: params.categories,
63
- targetEndpoint: params.target_endpoint,
64
- targetModel: params.target_model,
65
- targetProvider: params.target_provider,
66
- });
67
- }
68
- else if (action === "update") {
69
- const body = {};
70
- if (params.name !== undefined)
71
- body.name = params.name;
72
- if (params.description !== undefined)
73
- body.description = params.description;
74
- if (params.status !== undefined)
75
- body.status = params.status;
76
- if (params.objective !== undefined)
77
- body.objective = params.objective;
78
- if (params.methodology !== undefined)
79
- body.methodology = params.methodology;
80
- if (params.assessment_context_id !== undefined) {
81
- body.assessmentContextId = params.assessment_context_id;
82
- }
83
- if (params.categories !== undefined)
84
- body.categories = params.categories;
85
- if (params.target_endpoint !== undefined)
86
- body.targetEndpoint = params.target_endpoint;
87
- if (params.target_model !== undefined)
88
- body.targetModel = params.target_model;
89
- if (params.target_provider !== undefined)
90
- body.targetProvider = params.target_provider;
91
- data = await apiClient.patch(`/api/redteam/campaigns/${campaign_id}`, body);
92
- }
93
- else {
94
- data = await apiClient.del(`/api/redteam/campaigns/${campaign_id}`);
95
- }
96
- const sanitized = sanitizeResponse({
97
- action,
98
- campaign_id,
99
- result: data,
100
- });
101
- return {
102
- content: [{ type: "text", text: JSON.stringify(sanitized, null, 2) }],
103
- };
104
- }
105
- catch (err) {
106
- const message = err instanceof Error ? err.message : "Failed to manage campaign";
107
- return {
108
- content: [{ type: "text", text: `Error: ${message}` }],
109
- isError: true,
110
- };
111
- }
112
- };
113
- }
114
- //# sourceMappingURL=manage-campaign.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manage-campaign.js","sourceRoot":"","sources":["../../../src/tools/enterprise/manage-campaign.ts"],"names":[],"mappings":"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"}
@@ -1,69 +0,0 @@
1
- /**
2
- * zivis_manage_finding — Create or update findings in a threat model
3
- *
4
- * Maps to: POST/PATCH /api/threat-models/:id/findings
5
- */
6
- import { z } from "zod";
7
- import type { ApiClient } from "../../api-client.js";
8
- export declare const MANAGE_FINDING_NAME = "zivis_manage_finding";
9
- export declare const MANAGE_FINDING_DESCRIPTION = "Create or update a finding (vulnerability) in a threat model.\n\nFindings represent confirmed or suspected vulnerabilities discovered during analysis or pen testing. They link to components, attack scenarios, and can be tracked through remediation.\n\nActions:\n- create: Add a new finding (requires title, severity)\n- update: Modify an existing finding (requires finding_id) \u2014 use to update status, add notes, etc.";
10
- export declare const MANAGE_FINDING_SCHEMA: {
11
- threat_model_id: z.ZodString;
12
- action: z.ZodEnum<{
13
- create: "create";
14
- update: "update";
15
- }>;
16
- finding_id: z.ZodOptional<z.ZodString>;
17
- title: z.ZodOptional<z.ZodString>;
18
- description: z.ZodOptional<z.ZodString>;
19
- severity: z.ZodOptional<z.ZodEnum<{
20
- critical: "critical";
21
- high: "high";
22
- medium: "medium";
23
- low: "low";
24
- info: "info";
25
- }>>;
26
- status: z.ZodOptional<z.ZodEnum<{
27
- open: "open";
28
- false_positive: "false_positive";
29
- in_progress: "in_progress";
30
- mitigated: "mitigated";
31
- verified: "verified";
32
- accepted_risk: "accepted_risk";
33
- }>>;
34
- category: z.ZodOptional<z.ZodString>;
35
- component_id: z.ZodOptional<z.ZodString>;
36
- attack_scenario_id: z.ZodOptional<z.ZodString>;
37
- cwe_id: z.ZodOptional<z.ZodString>;
38
- cvss_score: z.ZodOptional<z.ZodNumber>;
39
- remediation: z.ZodOptional<z.ZodString>;
40
- proof_of_concept: z.ZodOptional<z.ZodString>;
41
- };
42
- export declare function createManageFindingHandler(apiClient: ApiClient): (params: {
43
- threat_model_id: string;
44
- action: "create" | "update";
45
- finding_id?: string;
46
- title?: string;
47
- description?: string;
48
- severity?: string;
49
- status?: string;
50
- category?: string;
51
- component_id?: string;
52
- attack_scenario_id?: string;
53
- cwe_id?: string;
54
- cvss_score?: number;
55
- remediation?: string;
56
- proof_of_concept?: string;
57
- }) => Promise<{
58
- content: {
59
- type: "text";
60
- text: string;
61
- }[];
62
- isError: boolean;
63
- } | {
64
- content: {
65
- type: "text";
66
- text: string;
67
- }[];
68
- isError?: undefined;
69
- }>;