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

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 (175) hide show
  1. package/dist/pattern-pack/index.d.ts +133 -0
  2. package/dist/pattern-pack/index.js +212 -0
  3. package/dist/pattern-pack/index.js.map +1 -0
  4. package/dist/pattern-packs/zivis-public-0.1.0/capsules/agents/privilege-separation.yaml +228 -0
  5. package/dist/pattern-packs/zivis-public-0.1.0/capsules/prompting/self-consistency-no-isolation.yaml +240 -0
  6. package/dist/pattern-packs/zivis-public-0.1.0/capsules/security/late-org-filter.yaml +270 -0
  7. package/dist/pattern-packs/zivis-public-0.1.0/manifest.json +68 -0
  8. package/dist/pattern-packs/zivis-public-0.1.0/prompts/agents/privilege-separation/identify.md +54 -0
  9. package/dist/pattern-packs/zivis-public-0.1.0/prompts/prompting/self-consistency-no-isolation/identify.md +60 -0
  10. package/dist/pattern-packs/zivis-public-0.1.0/prompts/security/late-org-filter/identify.md +78 -0
  11. package/dist/prompts/index.d.ts +1 -1
  12. package/dist/prompts/index.js +1 -7
  13. package/dist/prompts/index.js.map +1 -1
  14. package/dist/server.js +26 -166
  15. package/dist/server.js.map +1 -1
  16. package/dist/tools/enterprise/get-threat-model-artifact.d.ts +30 -0
  17. package/dist/tools/enterprise/get-threat-model-artifact.js +80 -0
  18. package/dist/tools/enterprise/get-threat-model-artifact.js.map +1 -0
  19. package/dist/tools/enterprise/get-threat-model.d.ts +1 -1
  20. package/dist/tools/enterprise/get-threat-model.js +59 -11
  21. package/dist/tools/enterprise/get-threat-model.js.map +1 -1
  22. package/dist/tools/enterprise/list-threat-model-artifacts.d.ts +67 -0
  23. package/dist/tools/enterprise/list-threat-model-artifacts.js +121 -0
  24. package/dist/tools/enterprise/list-threat-model-artifacts.js.map +1 -0
  25. package/dist/tools/enterprise/manage-data-asset.d.ts +1 -1
  26. package/dist/tools/enterprise/manage-data-flow.d.ts +1 -1
  27. package/dist/tools/enterprise/manage-test-case.d.ts +1 -1
  28. package/dist/tools/inspect.d.ts +31 -0
  29. package/dist/tools/inspect.js +100 -0
  30. package/dist/tools/inspect.js.map +1 -0
  31. package/dist/tools/manage-application.d.ts +1 -1
  32. package/dist/tools/security-review.js +67 -50
  33. package/dist/tools/security-review.js.map +1 -1
  34. package/dist/tools/threat-get-capsule.d.ts +25 -0
  35. package/dist/tools/threat-get-capsule.js +64 -0
  36. package/dist/tools/threat-get-capsule.js.map +1 -0
  37. package/dist/tools/threat-get-inference-prompt.d.ts +32 -0
  38. package/dist/tools/threat-get-inference-prompt.js +91 -0
  39. package/dist/tools/threat-get-inference-prompt.js.map +1 -0
  40. package/dist/tools/threat-list-relevant-capsules.d.ts +30 -0
  41. package/dist/tools/threat-list-relevant-capsules.js +176 -0
  42. package/dist/tools/threat-list-relevant-capsules.js.map +1 -0
  43. package/package.json +10 -3
  44. package/dist/prompts/prep-for-launch.d.ts +0 -9
  45. package/dist/prompts/prep-for-launch.js +0 -62
  46. package/dist/prompts/prep-for-launch.js.map +0 -1
  47. package/dist/prompts/secure-my-app.d.ts +0 -9
  48. package/dist/prompts/secure-my-app.js +0 -70
  49. package/dist/prompts/secure-my-app.js.map +0 -1
  50. package/dist/prompts/weekly-check.d.ts +0 -9
  51. package/dist/prompts/weekly-check.js +0 -48
  52. package/dist/prompts/weekly-check.js.map +0 -1
  53. package/dist/tools/enterprise/capture-evidence.d.ts +0 -54
  54. package/dist/tools/enterprise/capture-evidence.js +0 -72
  55. package/dist/tools/enterprise/capture-evidence.js.map +0 -1
  56. package/dist/tools/enterprise/create-report-ticket.d.ts +0 -34
  57. package/dist/tools/enterprise/create-report-ticket.js +0 -44
  58. package/dist/tools/enterprise/create-report-ticket.js.map +0 -1
  59. package/dist/tools/enterprise/end-pentest-session.d.ts +0 -33
  60. package/dist/tools/enterprise/end-pentest-session.js +0 -42
  61. package/dist/tools/enterprise/end-pentest-session.js.map +0 -1
  62. package/dist/tools/enterprise/generate-report.d.ts +0 -55
  63. package/dist/tools/enterprise/generate-report.js +0 -111
  64. package/dist/tools/enterprise/generate-report.js.map +0 -1
  65. package/dist/tools/enterprise/get-campaign.d.ts +0 -27
  66. package/dist/tools/enterprise/get-campaign.js +0 -31
  67. package/dist/tools/enterprise/get-campaign.js.map +0 -1
  68. package/dist/tools/enterprise/get-report-status.d.ts +0 -27
  69. package/dist/tools/enterprise/get-report-status.js +0 -38
  70. package/dist/tools/enterprise/get-report-status.js.map +0 -1
  71. package/dist/tools/enterprise/list-agents.d.ts +0 -42
  72. package/dist/tools/enterprise/list-agents.js +0 -95
  73. package/dist/tools/enterprise/list-agents.js.map +0 -1
  74. package/dist/tools/enterprise/list-campaigns.d.ts +0 -37
  75. package/dist/tools/enterprise/list-campaigns.js +0 -60
  76. package/dist/tools/enterprise/list-campaigns.js.map +0 -1
  77. package/dist/tools/enterprise/list-report-issues.d.ts +0 -36
  78. package/dist/tools/enterprise/list-report-issues.js +0 -50
  79. package/dist/tools/enterprise/list-report-issues.js.map +0 -1
  80. package/dist/tools/enterprise/manage-campaign-agent-instance.d.ts +0 -42
  81. package/dist/tools/enterprise/manage-campaign-agent-instance.js +0 -68
  82. package/dist/tools/enterprise/manage-campaign-agent-instance.js.map +0 -1
  83. package/dist/tools/enterprise/manage-campaign-target.d.ts +0 -44
  84. package/dist/tools/enterprise/manage-campaign-target.js +0 -70
  85. package/dist/tools/enterprise/manage-campaign-target.js.map +0 -1
  86. package/dist/tools/enterprise/manage-campaign.d.ts +0 -62
  87. package/dist/tools/enterprise/manage-campaign.js +0 -114
  88. package/dist/tools/enterprise/manage-campaign.js.map +0 -1
  89. package/dist/tools/enterprise/manage-finding.d.ts +0 -69
  90. package/dist/tools/enterprise/manage-finding.js +0 -106
  91. package/dist/tools/enterprise/manage-finding.js.map +0 -1
  92. package/dist/tools/enterprise/promote-finding-to-issue.d.ts +0 -36
  93. package/dist/tools/enterprise/promote-finding-to-issue.js +0 -65
  94. package/dist/tools/enterprise/promote-finding-to-issue.js.map +0 -1
  95. package/dist/tools/enterprise/publish-report-version.d.ts +0 -34
  96. package/dist/tools/enterprise/publish-report-version.js +0 -75
  97. package/dist/tools/enterprise/publish-report-version.js.map +0 -1
  98. package/dist/tools/enterprise/publish-test-to-library.d.ts +0 -31
  99. package/dist/tools/enterprise/publish-test-to-library.js +0 -40
  100. package/dist/tools/enterprise/publish-test-to-library.js.map +0 -1
  101. package/dist/tools/enterprise/record-test-result.d.ts +0 -67
  102. package/dist/tools/enterprise/record-test-result.js +0 -75
  103. package/dist/tools/enterprise/record-test-result.js.map +0 -1
  104. package/dist/tools/enterprise/start-pentest-session.d.ts +0 -35
  105. package/dist/tools/enterprise/start-pentest-session.js +0 -50
  106. package/dist/tools/enterprise/start-pentest-session.js.map +0 -1
  107. package/dist/tools/enterprise/sync-report-section.d.ts +0 -41
  108. package/dist/tools/enterprise/sync-report-section.js +0 -79
  109. package/dist/tools/enterprise/sync-report-section.js.map +0 -1
  110. package/dist/tools/enterprise/update-report-issue.d.ts +0 -55
  111. package/dist/tools/enterprise/update-report-issue.js +0 -69
  112. package/dist/tools/enterprise/update-report-issue.js.map +0 -1
  113. package/dist/tools/get-agent-test-results.d.ts +0 -41
  114. package/dist/tools/get-agent-test-results.js +0 -86
  115. package/dist/tools/get-agent-test-results.js.map +0 -1
  116. package/dist/tools/get-application-auth-config.d.ts +0 -27
  117. package/dist/tools/get-application-auth-config.js +0 -44
  118. package/dist/tools/get-application-auth-config.js.map +0 -1
  119. package/dist/tools/get-artifact-content.d.ts +0 -29
  120. package/dist/tools/get-artifact-content.js +0 -86
  121. package/dist/tools/get-artifact-content.js.map +0 -1
  122. package/dist/tools/get-finding-details.d.ts +0 -22
  123. package/dist/tools/get-finding-details.js +0 -61
  124. package/dist/tools/get-finding-details.js.map +0 -1
  125. package/dist/tools/get-findings.d.ts +0 -51
  126. package/dist/tools/get-findings.js +0 -124
  127. package/dist/tools/get-findings.js.map +0 -1
  128. package/dist/tools/get-recon-scan.d.ts +0 -27
  129. package/dist/tools/get-recon-scan.js +0 -46
  130. package/dist/tools/get-recon-scan.js.map +0 -1
  131. package/dist/tools/get-scan-output.d.ts +0 -27
  132. package/dist/tools/get-scan-output.js +0 -64
  133. package/dist/tools/get-scan-output.js.map +0 -1
  134. package/dist/tools/get-scenario-details.d.ts +0 -27
  135. package/dist/tools/get-scenario-details.js +0 -46
  136. package/dist/tools/get-scenario-details.js.map +0 -1
  137. package/dist/tools/get-test-case-results.d.ts +0 -37
  138. package/dist/tools/get-test-case-results.js +0 -66
  139. package/dist/tools/get-test-case-results.js.map +0 -1
  140. package/dist/tools/get-test-details.d.ts +0 -29
  141. package/dist/tools/get-test-details.js +0 -49
  142. package/dist/tools/get-test-details.js.map +0 -1
  143. package/dist/tools/list-agent-test-cases.d.ts +0 -41
  144. package/dist/tools/list-agent-test-cases.js +0 -73
  145. package/dist/tools/list-agent-test-cases.js.map +0 -1
  146. package/dist/tools/list-recon-scans.d.ts +0 -36
  147. package/dist/tools/list-recon-scans.js +0 -74
  148. package/dist/tools/list-recon-scans.js.map +0 -1
  149. package/dist/tools/list-scan-artifacts.d.ts +0 -41
  150. package/dist/tools/list-scan-artifacts.js +0 -63
  151. package/dist/tools/list-scan-artifacts.js.map +0 -1
  152. package/dist/tools/list-scans.d.ts +0 -38
  153. package/dist/tools/list-scans.js +0 -125
  154. package/dist/tools/list-scans.js.map +0 -1
  155. package/dist/tools/list-test-library.d.ts +0 -44
  156. package/dist/tools/list-test-library.js +0 -83
  157. package/dist/tools/list-test-library.js.map +0 -1
  158. package/dist/tools/list-test-scenarios.d.ts +0 -25
  159. package/dist/tools/list-test-scenarios.js +0 -94
  160. package/dist/tools/list-test-scenarios.js.map +0 -1
  161. package/dist/tools/local-scan.d.ts +0 -40
  162. package/dist/tools/local-scan.js +0 -261
  163. package/dist/tools/local-scan.js.map +0 -1
  164. package/dist/tools/run-test-scenario.d.ts +0 -37
  165. package/dist/tools/run-test-scenario.js +0 -70
  166. package/dist/tools/run-test-scenario.js.map +0 -1
  167. package/dist/tools/scan-pr.d.ts +0 -27
  168. package/dist/tools/scan-pr.js +0 -51
  169. package/dist/tools/scan-pr.js.map +0 -1
  170. package/dist/tools/setup-red-team-target.d.ts +0 -73
  171. package/dist/tools/setup-red-team-target.js +0 -461
  172. package/dist/tools/setup-red-team-target.js.map +0 -1
  173. package/dist/tools/triage-finding.d.ts +0 -41
  174. package/dist/tools/triage-finding.js +0 -125
  175. package/dist/tools/triage-finding.js.map +0 -1
@@ -1,111 +0,0 @@
1
- /**
2
- * zivis_generate_report — Generate a pen test report with PDF export
3
- *
4
- * Maps to: POST /api/reports + POST /api/reports/:id/regenerate + POST /api/reports/:id/export
5
- */
6
- import { z } from "zod";
7
- import { resolveApplicationId } from "../../resolve-application-id.js";
8
- import { sanitizeResponse } from "../../sanitize.js";
9
- export const GENERATE_REPORT_NAME = "zivis_generate_report";
10
- export const GENERATE_REPORT_DESCRIPTION = `Generate a professional pen test report with optional PDF export.
11
-
12
- Creates a report from campaign findings, pen test session results, and threat model data. The report is generated section by section using AI, then can be exported as a branded PDF.
13
-
14
- Assessment types: web_pentest, api_pentest, ai_red_team, full_assessment, recon_only`;
15
- export const GENERATE_REPORT_SCHEMA = {
16
- name: z.string().describe("Report name (e.g., 'Q1 2026 Web Application Penetration Test')"),
17
- assessment_type: z
18
- .enum(["web_pentest", "api_pentest", "ai_red_team", "full_assessment", "recon_only"])
19
- .describe("Type of assessment report to generate"),
20
- customer_name: z.string().describe("Customer/client name"),
21
- analyst_name: z.string().describe("Name of the security analyst"),
22
- engagement_start: z.string().describe("Engagement start date (ISO 8601, e.g., '2026-03-01')"),
23
- engagement_end: z.string().describe("Engagement end date (ISO 8601, e.g., '2026-03-15')"),
24
- campaign_id: z.string().optional().describe("Campaign UUID to pull findings from"),
25
- application_id: z
26
- .string()
27
- .optional()
28
- .describe("Application UUID for context. If omitted, uses applicationId from .zivis/project.json when set."),
29
- description: z.string().optional().describe("Report description or executive summary notes"),
30
- customer_industry: z.string().optional().describe("Customer's industry (for context in report)"),
31
- reviewer_name: z.string().optional().describe("Name of the report reviewer"),
32
- export_pdf: z.boolean().default(false).describe("Whether to also generate a PDF export"),
33
- };
34
- export function createGenerateReportHandler(apiClient) {
35
- return async (params) => {
36
- try {
37
- const applicationId = resolveApplicationId(params.application_id);
38
- // Step 1: Create the report
39
- const report = await apiClient.post("/api/reports", {
40
- name: params.name,
41
- assessmentType: params.assessment_type,
42
- customerName: params.customer_name,
43
- analystName: params.analyst_name,
44
- engagementStart: params.engagement_start,
45
- engagementEnd: params.engagement_end,
46
- campaignId: params.campaign_id,
47
- applicationId,
48
- description: params.description,
49
- customerIndustry: params.customer_industry,
50
- reviewerName: params.reviewer_name,
51
- });
52
- const reportId = report.report?.id;
53
- if (!reportId) {
54
- return {
55
- content: [{ type: "text", text: "Error: Report created but no ID returned" }],
56
- isError: true,
57
- };
58
- }
59
- // Step 2: Trigger content generation
60
- let generationJob = null;
61
- try {
62
- generationJob = await apiClient.post(`/api/reports/${reportId}/regenerate`, {});
63
- }
64
- catch (genErr) {
65
- // Generation may fail if no credits — still return the report
66
- console.error("Report generation failed:", genErr);
67
- }
68
- // Step 3: If PDF export requested, trigger it (async)
69
- let pdfJob = null;
70
- if (params.export_pdf) {
71
- try {
72
- pdfJob = await apiClient.post(`/api/reports/${reportId}/export`, {});
73
- }
74
- catch (pdfErr) {
75
- console.error("PDF export failed:", pdfErr);
76
- }
77
- }
78
- const result = sanitizeResponse({
79
- report,
80
- generationJob,
81
- pdfExport: pdfJob,
82
- nextSteps: [
83
- generationJob
84
- ? "Report generation started. Content will be generated section by section."
85
- : "Report created but generation could not start. Check credits.",
86
- params.export_pdf
87
- ? pdfJob
88
- ? "PDF export triggered. Check status with zivis_get_report_status."
89
- : "PDF export could not start."
90
- : "Use export_pdf: true to generate a PDF when ready.",
91
- ],
92
- });
93
- return {
94
- content: [
95
- {
96
- type: "text",
97
- text: JSON.stringify(result, null, 2),
98
- },
99
- ],
100
- };
101
- }
102
- catch (err) {
103
- const message = err instanceof Error ? err.message : "Failed to generate report";
104
- return {
105
- content: [{ type: "text", text: `Error: ${message}` }],
106
- isError: true,
107
- };
108
- }
109
- };
110
- }
111
- //# sourceMappingURL=generate-report.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-report.js","sourceRoot":"","sources":["../../../src/tools/enterprise/generate-report.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- /**
2
- * zivis_get_campaign — Get campaign details
3
- *
4
- * Maps to: GET /api/redteam/campaigns/:id
5
- */
6
- import { z } from "zod";
7
- import type { ApiClient } from "../../api-client.js";
8
- export declare const GET_CAMPAIGN_NAME = "zivis_get_campaign";
9
- export declare const GET_CAMPAIGN_DESCRIPTION = "Get full details for one red-team campaign including linked agents, targets, and recent scans.";
10
- export declare const GET_CAMPAIGN_SCHEMA: {
11
- campaign_id: z.ZodString;
12
- };
13
- export declare function createGetCampaignHandler(apiClient: ApiClient): (params: {
14
- campaign_id: string;
15
- }) => Promise<{
16
- content: {
17
- type: "text";
18
- text: string;
19
- }[];
20
- isError?: undefined;
21
- } | {
22
- content: {
23
- type: "text";
24
- text: string;
25
- }[];
26
- isError: boolean;
27
- }>;
@@ -1,31 +0,0 @@
1
- /**
2
- * zivis_get_campaign — Get campaign details
3
- *
4
- * Maps to: GET /api/redteam/campaigns/:id
5
- */
6
- import { z } from "zod";
7
- import { sanitizeResponse } from "../../sanitize.js";
8
- export const GET_CAMPAIGN_NAME = "zivis_get_campaign";
9
- export const GET_CAMPAIGN_DESCRIPTION = `Get full details for one red-team campaign including linked agents, targets, and recent scans.`;
10
- export const GET_CAMPAIGN_SCHEMA = {
11
- campaign_id: z.string().describe("Campaign UUID (from zivis_list_campaigns)"),
12
- };
13
- export function createGetCampaignHandler(apiClient) {
14
- return async (params) => {
15
- try {
16
- const data = await apiClient.get(`/api/redteam/campaigns/${params.campaign_id}`);
17
- const sanitized = sanitizeResponse(data);
18
- return {
19
- content: [{ type: "text", text: JSON.stringify(sanitized, null, 2) }],
20
- };
21
- }
22
- catch (err) {
23
- const message = err instanceof Error ? err.message : "Failed to get campaign";
24
- return {
25
- content: [{ type: "text", text: `Error: ${message}` }],
26
- isError: true,
27
- };
28
- }
29
- };
30
- }
31
- //# sourceMappingURL=get-campaign.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-campaign.js","sourceRoot":"","sources":["../../../src/tools/enterprise/get-campaign.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,iBAAiB,GAAG,oBAAoB,CAAC;AAEtD,MAAM,CAAC,MAAM,wBAAwB,GAAG,gGAAgG,CAAC;AAEzI,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;CAC9E,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAC,SAAoB;IAC3D,OAAO,KAAK,EAAE,MAA+B,EAAE,EAAE;QAC/C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAC9B,0BAA0B,MAAM,CAAC,WAAW,EAAE,CAC/C,CAAC;YAEF,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACzC,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,wBAAwB,CAAC;YAC9E,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,27 +0,0 @@
1
- /**
2
- * zivis_get_report_status — Check report generation and PDF export status
3
- *
4
- * Maps to: GET /api/reports/:id
5
- */
6
- import { z } from "zod";
7
- import type { ApiClient } from "../../api-client.js";
8
- export declare const GET_REPORT_STATUS_NAME = "zivis_get_report_status";
9
- export declare const GET_REPORT_STATUS_DESCRIPTION = "Check the status of a report, including content generation progress and PDF export status.\n\nUse this after calling zivis_generate_report to monitor progress.";
10
- export declare const GET_REPORT_STATUS_SCHEMA: {
11
- report_id: z.ZodString;
12
- };
13
- export declare function createGetReportStatusHandler(apiClient: ApiClient): (params: {
14
- report_id: string;
15
- }) => Promise<{
16
- content: {
17
- type: "text";
18
- text: string;
19
- }[];
20
- isError?: undefined;
21
- } | {
22
- content: {
23
- type: "text";
24
- text: string;
25
- }[];
26
- isError: boolean;
27
- }>;
@@ -1,38 +0,0 @@
1
- /**
2
- * zivis_get_report_status — Check report generation and PDF export status
3
- *
4
- * Maps to: GET /api/reports/:id
5
- */
6
- import { z } from "zod";
7
- import { sanitizeResponse } from "../../sanitize.js";
8
- export const GET_REPORT_STATUS_NAME = "zivis_get_report_status";
9
- export const GET_REPORT_STATUS_DESCRIPTION = `Check the status of a report, including content generation progress and PDF export status.
10
-
11
- Use this after calling zivis_generate_report to monitor progress.`;
12
- export const GET_REPORT_STATUS_SCHEMA = {
13
- report_id: z.string().describe("Report UUID to check status for"),
14
- };
15
- export function createGetReportStatusHandler(apiClient) {
16
- return async (params) => {
17
- try {
18
- const data = await apiClient.get(`/api/reports/${params.report_id}`);
19
- const sanitized = sanitizeResponse(data);
20
- return {
21
- content: [
22
- {
23
- type: "text",
24
- text: JSON.stringify(sanitized, null, 2),
25
- },
26
- ],
27
- };
28
- }
29
- catch (err) {
30
- const message = err instanceof Error ? err.message : "Failed to get report status";
31
- return {
32
- content: [{ type: "text", text: `Error: ${message}` }],
33
- isError: true,
34
- };
35
- }
36
- };
37
- }
38
- //# sourceMappingURL=get-report-status.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-report-status.js","sourceRoot":"","sources":["../../../src/tools/enterprise/get-report-status.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,sBAAsB,GAAG,yBAAyB,CAAC;AAEhE,MAAM,CAAC,MAAM,6BAA6B,GAAG;;kEAEqB,CAAC;AAEnE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;CAClE,CAAC;AAEF,MAAM,UAAU,4BAA4B,CAAC,SAAoB;IAC/D,OAAO,KAAK,EAAE,MAA6B,EAAE,EAAE;QAC7C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAC9B,gBAAgB,MAAM,CAAC,SAAS,EAAE,CACnC,CAAC;YAEF,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAEzC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;qBACzC;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC;YACnF,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_list_agents — List agent instances for the org
3
- *
4
- * Maps to: GET /api/agent-instances
5
- */
6
- import { z } from "zod";
7
- import type { ApiClient } from "../../api-client.js";
8
- export declare const LIST_AGENTS_NAME = "zivis_list_agents";
9
- export declare const LIST_AGENTS_DESCRIPTION = "List all configured agent instances for your organization.\n\nIMPORTANT \u2014 Understand the ZIVIS entity hierarchy:\n- **Agent instance** = a configured agent (e.g., \"Production Recon Agent\", \"API Pen Test Agent\"). Each has a UUID, an agent type, a target URL, and configuration. This tool lists these.\n- **Scan** = a single execution run of an agent instance. One agent can have many scans. Use zivis_list_scans to see scan runs.\n- **Threat model** = a structured security model (components, data flows, actors, findings). Created/updated by threat-analysis agent scans. Use zivis_list_threat_models to see these.\n\nAgent types:\n- **recon**: Reconnaissance \u2014 discovers attack surface, endpoints, technologies\n- **pen-test**: Penetration testing \u2014 actively tests for vulnerabilities\n- **ai-red-team**: AI/LLM red teaming \u2014 tests AI systems for prompt injection, jailbreaks, etc.\n- **threat-analysis**: Threat modeling \u2014 builds structured threat models (automated LLM threat ID is pipeline-specific)\n- **code-monitor**: Code monitoring \u2014 continuous scanning of repositories\n- **evidence**: Evidence collection \u2014 gathers compliance evidence\n\nWhen users ask about \"the threat model agent\" or \"the recon agent\", use this tool to find the agent instance, NOT zivis_list_scans.";
10
- export declare const LIST_AGENTS_SCHEMA: {
11
- agent_type: z.ZodOptional<z.ZodEnum<{
12
- "pen-test": "pen-test";
13
- recon: "recon";
14
- "ai-red-team": "ai-red-team";
15
- "threat-analysis": "threat-analysis";
16
- "code-monitor": "code-monitor";
17
- evidence: "evidence";
18
- }>>;
19
- status: z.ZodOptional<z.ZodEnum<{
20
- archived: "archived";
21
- active: "active";
22
- paused: "paused";
23
- }>>;
24
- limit: z.ZodDefault<z.ZodNumber>;
25
- };
26
- export declare function createListAgentsHandler(apiClient: ApiClient): (params: {
27
- agent_type?: string;
28
- status?: string;
29
- limit?: 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,95 +0,0 @@
1
- /**
2
- * zivis_list_agents — List agent instances for the org
3
- *
4
- * Maps to: GET /api/agent-instances
5
- */
6
- import { z } from "zod";
7
- import { sanitizeResponse } from "../../sanitize.js";
8
- export const LIST_AGENTS_NAME = "zivis_list_agents";
9
- export const LIST_AGENTS_DESCRIPTION = `List all configured agent instances for your organization.
10
-
11
- IMPORTANT — Understand the ZIVIS entity hierarchy:
12
- - **Agent instance** = a configured agent (e.g., "Production Recon Agent", "API Pen Test Agent"). Each has a UUID, an agent type, a target URL, and configuration. This tool lists these.
13
- - **Scan** = a single execution run of an agent instance. One agent can have many scans. Use zivis_list_scans to see scan runs.
14
- - **Threat model** = a structured security model (components, data flows, actors, findings). Created/updated by threat-analysis agent scans. Use zivis_list_threat_models to see these.
15
-
16
- Agent types:
17
- - **recon**: Reconnaissance — discovers attack surface, endpoints, technologies
18
- - **pen-test**: Penetration testing — actively tests for vulnerabilities
19
- - **ai-red-team**: AI/LLM red teaming — tests AI systems for prompt injection, jailbreaks, etc.
20
- - **threat-analysis**: Threat modeling — builds structured threat models (automated LLM threat ID is pipeline-specific)
21
- - **code-monitor**: Code monitoring — continuous scanning of repositories
22
- - **evidence**: Evidence collection — gathers compliance evidence
23
-
24
- When users ask about "the threat model agent" or "the recon agent", use this tool to find the agent instance, NOT zivis_list_scans.`;
25
- export const LIST_AGENTS_SCHEMA = {
26
- agent_type: z
27
- .enum(["pen-test", "ai-red-team", "recon", "threat-analysis", "code-monitor", "evidence"])
28
- .optional()
29
- .describe("Filter by agent type"),
30
- status: z
31
- .enum(["active", "paused", "archived"])
32
- .optional()
33
- .describe("Filter by agent status"),
34
- limit: z
35
- .number()
36
- .min(1)
37
- .max(50)
38
- .default(20)
39
- .describe("Maximum number of results (1-50, default 20)"),
40
- };
41
- export function createListAgentsHandler(apiClient) {
42
- return async (params) => {
43
- try {
44
- const query = new URLSearchParams();
45
- if (params.agent_type)
46
- query.set("agentType", params.agent_type);
47
- if (params.status)
48
- query.set("status", params.status);
49
- if (params.limit)
50
- query.set("limit", String(params.limit));
51
- query.set("includeOpenStats", "true");
52
- const queryStr = query.toString();
53
- const path = `/api/agent-instances${queryStr ? `?${queryStr}` : ""}`;
54
- const data = await apiClient.get(path);
55
- const sanitized = sanitizeResponse(data);
56
- const instances = Array.isArray(sanitized.instances) ? sanitized.instances : [];
57
- const summary = instances.map((agent) => ({
58
- agent_instance_id: agent.id,
59
- name: agent.name,
60
- agent_type: agent.agentType,
61
- status: agent.status,
62
- target_url: agent.targetUrl,
63
- description: agent.description || null,
64
- is_enabled: agent.isEnabled,
65
- last_scan_at: agent.lastScanAt || null,
66
- created_at: agent.createdAt,
67
- updated_at: agent.updatedAt,
68
- open_critical_count: agent.openCriticalCount ?? null,
69
- open_findings_total: agent.openFindingsTotal ?? null,
70
- campaigns: Array.isArray(agent.campaignLinks)
71
- ? agent.campaignLinks.map((link) => {
72
- const campaign = link.campaign;
73
- return campaign ? { id: campaign.id, name: campaign.name } : null;
74
- }).filter(Boolean)
75
- : [],
76
- }));
77
- return {
78
- content: [
79
- {
80
- type: "text",
81
- text: JSON.stringify({ total: data.total, agents: summary }, null, 2),
82
- },
83
- ],
84
- };
85
- }
86
- catch (err) {
87
- const message = err instanceof Error ? err.message : "Failed to list agents";
88
- return {
89
- content: [{ type: "text", text: `Error: ${message}` }],
90
- isError: true,
91
- };
92
- }
93
- };
94
- }
95
- //# sourceMappingURL=list-agents.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-agents.js","sourceRoot":"","sources":["../../../src/tools/enterprise/list-agents.ts"],"names":[],"mappings":"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"}
@@ -1,37 +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 type { ApiClient } from "../../api-client.js";
8
- export declare const LIST_CAMPAIGNS_NAME = "zivis_list_campaigns";
9
- export declare const LIST_CAMPAIGNS_DESCRIPTION = "List red-team campaigns for the organization.\n\nUse campaign IDs with zivis_get_campaign and campaign management tools.";
10
- export declare const LIST_CAMPAIGNS_SCHEMA: {
11
- status: z.ZodOptional<z.ZodEnum<{
12
- completed: "completed";
13
- draft: "draft";
14
- archived: "archived";
15
- active: "active";
16
- paused: "paused";
17
- }>>;
18
- limit: z.ZodDefault<z.ZodNumber>;
19
- offset: z.ZodDefault<z.ZodNumber>;
20
- };
21
- export declare function createListCampaignsHandler(apiClient: ApiClient): (params: {
22
- status?: string;
23
- limit?: number;
24
- offset?: number;
25
- }) => Promise<{
26
- content: {
27
- type: "text";
28
- text: string;
29
- }[];
30
- isError?: undefined;
31
- } | {
32
- content: {
33
- type: "text";
34
- text: string;
35
- }[];
36
- isError: boolean;
37
- }>;
@@ -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
- }>;