@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threat-list-relevant-capsules.js","sourceRoot":"","sources":["../../src/tools/threat-list-relevant-capsules.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zivis/mcp",
3
- "version": "0.1.0-alpha.21",
3
+ "version": "0.1.0-alpha.22",
4
4
  "description": "ZIVIS MCP server — threat modeling, security scans, and AI red team tools for IDE integration",
5
5
  "type": "module",
6
6
  "bin": {
@@ -15,7 +15,8 @@
15
15
  "./project-binding": "./dist/project-binding.js",
16
16
  "./server": "./dist/server.js",
17
17
  "./types": "./dist/types.js",
18
- "./cli": "./dist/cli.js"
18
+ "./cli": "./dist/cli.js",
19
+ "./pattern-pack": "./dist/pattern-pack/index.js"
19
20
  },
20
21
  "files": [
21
22
  "dist",
@@ -29,17 +30,23 @@
29
30
  },
30
31
  "dependencies": {
31
32
  "@modelcontextprotocol/sdk": "^1.26.0",
33
+ "js-yaml": "^4.1.0",
32
34
  "open": "^10.1.0",
33
35
  "zod": "^4.0.0"
34
36
  },
35
37
  "devDependencies": {
38
+ "@types/js-yaml": "^4.0.9",
36
39
  "@types/node": "^22.0.0",
40
+ "ajv": "^8.17.1",
41
+ "ajv-formats": "^3.0.1",
37
42
  "husky": "^9.1.7",
43
+ "tsx": "^4.19.2",
38
44
  "typescript": "^5.7.0",
39
45
  "vitest": "^3.0.0"
40
46
  },
41
47
  "scripts": {
42
- "build": "tsc && node scripts/ensure-symlink.cjs",
48
+ "build:pattern-pack": "tsx ../scripts/build-pattern-pack.ts",
49
+ "build": "tsc && pnpm run build:pattern-pack && node scripts/ensure-symlink.cjs",
43
50
  "dev": "tsc --watch",
44
51
  "start": "node dist/index.js",
45
52
  "test": "vitest run",
@@ -1,9 +0,0 @@
1
- /**
2
- * prep-for-launch prompt
3
- *
4
- * Pre-deploy checklist: dependency audit + open findings review + scan status.
5
- * Returns a go / no-go summary based on severity counts.
6
- * In Cursor: /zivis-prep-for-launch
7
- */
8
- import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
9
- export declare function registerPrepForLaunchPrompt(server: McpServer): void;
@@ -1,62 +0,0 @@
1
- /**
2
- * prep-for-launch prompt
3
- *
4
- * Pre-deploy checklist: dependency audit + open findings review + scan status.
5
- * Returns a go / no-go summary based on severity counts.
6
- * In Cursor: /zivis-prep-for-launch
7
- */
8
- export function registerPrepForLaunchPrompt(server) {
9
- server.registerPrompt("prep-for-launch", {
10
- description: "Run a pre-launch security checklist. Checks open findings, recent scans, and dependency risks. Returns a go / no-go recommendation.",
11
- argsSchema: {},
12
- }, async () => ({
13
- messages: [
14
- {
15
- role: "user",
16
- content: {
17
- type: "text",
18
- text: `I'm about to launch / deploy to production and I want to make sure there are no known security issues.
19
-
20
- Please run through this checklist and give me a go / no-go recommendation at the end.
21
-
22
- **Step 1 — Check open findings**
23
- Call \`zivis_get_findings\` with status="open".
24
- - If there are any critical or high findings, list them by title and severity.
25
- - Note how many medium and low findings exist (don't list them all — just the count).
26
-
27
- **Step 2 — Check recent scans**
28
- Call \`zivis_list_scans\` with limit=5.
29
- - Tell me when the most recent scan ran and whether it completed successfully.
30
- - If no scan has run in the last 7 days, flag this as a gap.
31
-
32
- **Step 3 — Check dependency risks (if time permits)**
33
- If the project has a package.json, requirements.txt, or go.mod, identify the 3-5 most important AI or security-sensitive dependencies and call \`zivis_check_repo_trust\` for each.
34
- - Flag any with grade C or below.
35
-
36
- **Step 4 — Go / No-go recommendation**
37
- Based on the above, give me a clear recommendation:
38
-
39
- 🔴 NO-GO if:
40
- - Any critical open findings exist
41
- - No scan has run (ever)
42
- - Any dependency has grade D or F
43
-
44
- 🟡 PROCEED WITH CAUTION if:
45
- - Any high-severity open findings exist
46
- - Last scan ran more than 7 days ago
47
- - Any dependency has grade C
48
-
49
- 🟢 GO if:
50
- - No critical or high open findings
51
- - A scan ran within the last 7 days
52
- - No high-risk dependencies
53
-
54
- After the recommendation, list the top 3 things I should fix before or immediately after launch, in priority order.
55
-
56
- Speak in plain English. I'm a developer, not a security engineer.`,
57
- },
58
- },
59
- ],
60
- }));
61
- }
62
- //# sourceMappingURL=prep-for-launch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prep-for-launch.js","sourceRoot":"","sources":["../../src/prompts/prep-for-launch.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,UAAU,2BAA2B,CAAC,MAAiB;IAC3D,MAAM,CAAC,cAAc,CACnB,iBAAiB,EACjB;QACE,WAAW,EACT,qIAAqI;QACvI,UAAU,EAAE,EAAE;KACf,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kEAsCgD;iBACvD;aACF;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * secure-my-app prompt
3
- *
4
- * For developers who know they have an app and want to test it.
5
- * Skips the intro tour and goes straight to red team setup.
6
- * In Cursor: /zivis-secure-my-app
7
- */
8
- import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
9
- export declare function registerSecureMyAppPrompt(server: McpServer): void;
@@ -1,70 +0,0 @@
1
- /**
2
- * secure-my-app prompt
3
- *
4
- * For developers who know they have an app and want to test it.
5
- * Skips the intro tour and goes straight to red team setup.
6
- * In Cursor: /zivis-secure-my-app
7
- */
8
- import { z } from "zod";
9
- export function registerSecureMyAppPrompt(server) {
10
- server.registerPrompt("secure-my-app", {
11
- description: "Set up security testing for an app I'm building. Walks through registering the target and picking a test to run.",
12
- argsSchema: {
13
- app_kind: z
14
- .enum(["chatbot", "web_app", "api", "unknown"])
15
- .optional()
16
- .describe("What kind of app are you testing? chatbot = LLM/AI assistant, web_app = browser app, api = REST/GraphQL API, unknown = I'll describe it."),
17
- target_url: z
18
- .string()
19
- .optional()
20
- .describe("URL of the running app (e.g. https://chat.example.com/api/chat). Provide this if you have it."),
21
- },
22
- }, async (args) => {
23
- const kindHint = args.app_kind && args.app_kind !== "unknown"
24
- ? `The user says their app is a ${args.app_kind}.`
25
- : "The user hasn't specified what kind of app they have yet — ask them.";
26
- const urlHint = args.target_url
27
- ? `The user provided this URL: ${args.target_url}`
28
- : "No URL was provided yet — you'll need to ask.";
29
- return {
30
- messages: [
31
- {
32
- role: "user",
33
- content: {
34
- type: "text",
35
- text: `I want to set up security testing for an app I'm building.
36
-
37
- Context:
38
- - ${kindHint}
39
- - ${urlHint}
40
-
41
- Please follow these steps:
42
-
43
- 1. If you don't already know what kind of app it is, ask: "Is this a chatbot/AI assistant, a website, or a REST/GraphQL API?"
44
-
45
- 2. If you don't have a URL yet, ask: "What's the URL of your running app? (e.g. https://myapp.com)"
46
-
47
- 3. Once you have the app kind and URL, call \`zivis_setup_red_team_target\` with:
48
- - target_url = the URL they gave you
49
- - target_type = "ai_chat" for chatbots, "web_app" for websites, "api" for APIs
50
- - auto_scan = false (ask before running a scan)
51
-
52
- 4. After the target is set up, call \`zivis_list_test_scenarios\` and show the user the top 3 relevant scenarios as a numbered list. Use plain names — not IDs.
53
-
54
- 5. Ask: "Which of these do you want to run? I'll start with a quick scan (5-10 minutes) unless you want a thorough one."
55
-
56
- 6. When the user picks one, call \`zivis_run_test_scenario\` with:
57
- - scenario_id = the ID of their chosen scenario
58
- - intensity = 1 (quick) unless they explicitly ask for thorough (3)
59
-
60
- Ground rules:
61
- - Speak in plain English. No security jargon unless the user uses it first.
62
- - Never run a paid scan without confirming with the user first.
63
- - Never assume you know the URL — always confirm.`,
64
- },
65
- },
66
- ],
67
- };
68
- });
69
- }
70
- //# sourceMappingURL=secure-my-app.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"secure-my-app.js","sourceRoot":"","sources":["../../src/prompts/secure-my-app.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,cAAc,CACnB,eAAe,EACf;QACE,WAAW,EACT,kHAAkH;QACpH,UAAU,EAAE;YACV,QAAQ,EAAE,CAAC;iBACR,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;iBAC9C,QAAQ,EAAE;iBACV,QAAQ,CACP,0IAA0I,CAC3I;YACH,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,+FAA+F,CAChG;SACJ;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAC3D,CAAC,CAAC,gCAAgC,IAAI,CAAC,QAAQ,GAAG;YAClD,CAAC,CAAC,sEAAsE,CAAC;QAE3E,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU;YAC7B,CAAC,CAAC,+BAA+B,IAAI,CAAC,UAAU,EAAE;YAClD,CAAC,CAAC,+CAA+C,CAAC;QAEpD,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE;;;IAGhB,QAAQ;IACR,OAAO;;;;;;;;;;;;;;;;;;;;;;;;kDAwBuC;qBACrC;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * weekly-check prompt
3
- *
4
- * Re-runs the security pulse for this project. Designed to be triggered
5
- * every Monday (or whenever the user wants a status update).
6
- * In Cursor: /zivis-weekly-check
7
- */
8
- import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
9
- export declare function registerWeeklyCheckPrompt(server: McpServer): void;
@@ -1,48 +0,0 @@
1
- /**
2
- * weekly-check prompt
3
- *
4
- * Re-runs the security pulse for this project. Designed to be triggered
5
- * every Monday (or whenever the user wants a status update).
6
- * In Cursor: /zivis-weekly-check
7
- */
8
- export function registerWeeklyCheckPrompt(server) {
9
- server.registerPrompt("weekly-check", {
10
- description: "Get a quick security status update for this week. Shows new findings, scan activity, and what to focus on.",
11
- argsSchema: {},
12
- }, async () => ({
13
- messages: [
14
- {
15
- role: "user",
16
- content: {
17
- type: "text",
18
- text: `Give me a quick security status update for this project — what's changed or needs attention this week.
19
-
20
- Please do the following:
21
-
22
- **1. Open findings pulse**
23
- Call \`zivis_get_findings\` with status="open".
24
- - How many open issues are there total?
25
- - List any critical or high findings by title (one line each).
26
- - How does this compare to last week? (If you don't know, just show the current state.)
27
-
28
- **2. Recent scan activity**
29
- Call \`zivis_list_scans\` with limit=5.
30
- - What scans ran this week?
31
- - Did any complete with new findings?
32
- - Are any still running?
33
-
34
- **3. Top priority action**
35
- Based on the above, what is the single most important security action to take this week?
36
- - If there are critical findings: "Fix [finding title] — it's a critical issue."
37
- - If a scan is overdue: "Run a scan — the last one was X days ago."
38
- - If everything looks good: "Keep the streak going — schedule a scan for next week."
39
-
40
- Format the response as a brief weekly digest, not a full security report. Bullet points are better than paragraphs. Keep it under 300 words.
41
-
42
- If I want to dig into a specific issue, I'll ask — don't pre-load all the details.`,
43
- },
44
- },
45
- ],
46
- }));
47
- }
48
- //# sourceMappingURL=weekly-check.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"weekly-check.js","sourceRoot":"","sources":["../../src/prompts/weekly-check.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,cAAc,CACnB,cAAc,EACd;QACE,WAAW,EACT,4GAA4G;QAC9G,UAAU,EAAE,EAAE;KACf,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;mFAwBiE;iBACxE;aACF;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -1,54 +0,0 @@
1
- /**
2
- * zivis_capture_evidence — Capture evidence (screenshots, code, terminal output)
3
- *
4
- * Maps to: POST /api/evidence/mcp-capture
5
- */
6
- import { z } from "zod";
7
- import type { ApiClient } from "../../api-client.js";
8
- export declare const CAPTURE_EVIDENCE_NAME = "zivis_capture_evidence";
9
- export declare const CAPTURE_EVIDENCE_DESCRIPTION = "Capture and upload evidence from your pen testing session.\n\nSupports screenshots (base64-encoded images), code snippets, terminal output, HTTP requests/responses, and notes. Evidence is stored in ZIVIS and can be linked to threat model findings, test cases, and pen test sessions.\n\nReturns an evidence ID that you can reference in zivis_record_test_result.\n\nFor screenshots: provide base64-encoded image data in the content field.\nFor code/text: provide plain text in the content field.";
10
- export declare const CAPTURE_EVIDENCE_SCHEMA: {
11
- name: z.ZodString;
12
- type: z.ZodEnum<{
13
- code_snippet: "code_snippet";
14
- note: "note";
15
- screenshot: "screenshot";
16
- http_request: "http_request";
17
- terminal_output: "terminal_output";
18
- http_response: "http_response";
19
- }>;
20
- content: z.ZodString;
21
- mime_type: z.ZodOptional<z.ZodString>;
22
- description: z.ZodOptional<z.ZodString>;
23
- threat_model_id: z.ZodOptional<z.ZodString>;
24
- finding_id: z.ZodOptional<z.ZodString>;
25
- test_case_id: z.ZodOptional<z.ZodString>;
26
- pentest_session_id: z.ZodOptional<z.ZodString>;
27
- source_file: z.ZodOptional<z.ZodString>;
28
- source_line: z.ZodOptional<z.ZodNumber>;
29
- };
30
- export declare function createCaptureEvidenceHandler(apiClient: ApiClient): (params: {
31
- name: string;
32
- type: string;
33
- content: string;
34
- mime_type?: string;
35
- description?: string;
36
- threat_model_id?: string;
37
- finding_id?: string;
38
- test_case_id?: string;
39
- pentest_session_id?: string;
40
- source_file?: string;
41
- source_line?: number;
42
- }) => Promise<{
43
- content: {
44
- type: "text";
45
- text: string;
46
- }[];
47
- isError?: undefined;
48
- } | {
49
- content: {
50
- type: "text";
51
- text: string;
52
- }[];
53
- isError: boolean;
54
- }>;
@@ -1,72 +0,0 @@
1
- /**
2
- * zivis_capture_evidence — Capture evidence (screenshots, code, terminal output)
3
- *
4
- * Maps to: POST /api/evidence/mcp-capture
5
- */
6
- import { z } from "zod";
7
- import { sanitizeResponse } from "../../sanitize.js";
8
- export const CAPTURE_EVIDENCE_NAME = "zivis_capture_evidence";
9
- export const CAPTURE_EVIDENCE_DESCRIPTION = `Capture and upload evidence from your pen testing session.
10
-
11
- Supports screenshots (base64-encoded images), code snippets, terminal output, HTTP requests/responses, and notes. Evidence is stored in ZIVIS and can be linked to threat model findings, test cases, and pen test sessions.
12
-
13
- Returns an evidence ID that you can reference in zivis_record_test_result.
14
-
15
- For screenshots: provide base64-encoded image data in the content field.
16
- For code/text: provide plain text in the content field.`;
17
- export const CAPTURE_EVIDENCE_SCHEMA = {
18
- name: z.string().describe("Evidence name (e.g., 'SQLi payload response', 'Auth bypass screenshot')"),
19
- type: z
20
- .enum(["screenshot", "code_snippet", "terminal_output", "http_request", "http_response", "note"])
21
- .describe("Type of evidence being captured"),
22
- content: z
23
- .string()
24
- .describe("Content: base64-encoded data for screenshots, plain text for code/terminal/notes"),
25
- mime_type: z
26
- .string()
27
- .optional()
28
- .describe("MIME type (e.g., 'image/png'). Auto-detected from type if not provided."),
29
- description: z.string().optional().describe("Description of what this evidence shows"),
30
- threat_model_id: z.string().optional().describe("Threat model UUID to link evidence to"),
31
- finding_id: z.string().optional().describe("Finding UUID to link evidence to"),
32
- test_case_id: z.string().optional().describe("Test case UUID to link evidence to"),
33
- pentest_session_id: z.string().optional().describe("Pen test session UUID to associate with"),
34
- source_file: z.string().optional().describe("Source file path (for code snippets)"),
35
- source_line: z.number().optional().describe("Source line number (for code snippets)"),
36
- };
37
- export function createCaptureEvidenceHandler(apiClient) {
38
- return async (params) => {
39
- try {
40
- const data = await apiClient.post("/api/evidence/mcp-capture", {
41
- name: params.name,
42
- type: params.type,
43
- content: params.content,
44
- mimeType: params.mime_type,
45
- description: params.description,
46
- threatModelId: params.threat_model_id,
47
- findingId: params.finding_id,
48
- testCaseId: params.test_case_id,
49
- pentestSessionId: params.pentest_session_id,
50
- sourceFile: params.source_file,
51
- sourceLine: params.source_line,
52
- });
53
- const sanitized = sanitizeResponse(data);
54
- return {
55
- content: [
56
- {
57
- type: "text",
58
- text: JSON.stringify(sanitized, null, 2),
59
- },
60
- ],
61
- };
62
- }
63
- catch (err) {
64
- const message = err instanceof Error ? err.message : "Failed to capture evidence";
65
- return {
66
- content: [{ type: "text", text: `Error: ${message}` }],
67
- isError: true,
68
- };
69
- }
70
- };
71
- }
72
- //# sourceMappingURL=capture-evidence.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"capture-evidence.js","sourceRoot":"","sources":["../../../src/tools/enterprise/capture-evidence.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- /**
2
- * zivis_create_report_ticket — Create a Jira or Linear ticket from a report issue
3
- *
4
- * Maps to: POST /api/reports/:reportId/issues/:issueId/create-ticket
5
- */
6
- import { z } from "zod";
7
- import type { ApiClient } from "../../api-client.js";
8
- export declare const CREATE_REPORT_TICKET_NAME = "zivis_create_report_ticket";
9
- export declare const CREATE_REPORT_TICKET_DESCRIPTION = "Create a Jira or Linear ticket from a report issue.\n\nLinks the report issue to an external ticket tracker so remediation can be tracked in the customer's project management tool. The ticket includes the issue title, description, recommendation, severity, and metadata (CWE, OWASP, CVSS).\n\nPrerequisites:\n- Jira: Active Jira integration with a default project configured\n- Linear: Active Linear integration with a default team configured\n\nThe ticket reference is stored on the issue and displayed in the remediation checklist.";
10
- export declare const CREATE_REPORT_TICKET_SCHEMA: {
11
- report_id: z.ZodString;
12
- issue_id: z.ZodString;
13
- provider: z.ZodEnum<{
14
- jira: "jira";
15
- linear: "linear";
16
- }>;
17
- };
18
- export declare function createCreateReportTicketHandler(apiClient: ApiClient): (params: {
19
- report_id: string;
20
- issue_id: string;
21
- provider: "jira" | "linear";
22
- }) => Promise<{
23
- content: {
24
- type: "text";
25
- text: string;
26
- }[];
27
- isError?: undefined;
28
- } | {
29
- content: {
30
- type: "text";
31
- text: string;
32
- }[];
33
- isError: boolean;
34
- }>;
@@ -1,44 +0,0 @@
1
- /**
2
- * zivis_create_report_ticket — Create a Jira or Linear ticket from a report issue
3
- *
4
- * Maps to: POST /api/reports/:reportId/issues/:issueId/create-ticket
5
- */
6
- import { z } from "zod";
7
- import { sanitizeResponse } from "../../sanitize.js";
8
- export const CREATE_REPORT_TICKET_NAME = "zivis_create_report_ticket";
9
- export const CREATE_REPORT_TICKET_DESCRIPTION = `Create a Jira or Linear ticket from a report issue.
10
-
11
- Links the report issue to an external ticket tracker so remediation can be tracked in the customer's project management tool. The ticket includes the issue title, description, recommendation, severity, and metadata (CWE, OWASP, CVSS).
12
-
13
- Prerequisites:
14
- - Jira: Active Jira integration with a default project configured
15
- - Linear: Active Linear integration with a default team configured
16
-
17
- The ticket reference is stored on the issue and displayed in the remediation checklist.`;
18
- export const CREATE_REPORT_TICKET_SCHEMA = {
19
- report_id: z.string().describe("Report UUID"),
20
- issue_id: z.string().describe("Report issue UUID"),
21
- provider: z.enum(["jira", "linear"]).describe("Ticket provider to use"),
22
- };
23
- export function createCreateReportTicketHandler(apiClient) {
24
- return async (params) => {
25
- try {
26
- const data = await apiClient.post(`/api/reports/${params.report_id}/issues/${params.issue_id}/create-ticket`, { provider: params.provider });
27
- const result = sanitizeResponse({
28
- ...data,
29
- message: `${params.provider === "jira" ? "Jira" : "Linear"} ticket created and linked to issue.`,
30
- });
31
- return {
32
- content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
33
- };
34
- }
35
- catch (err) {
36
- const message = err instanceof Error ? err.message : "Failed to create ticket";
37
- return {
38
- content: [{ type: "text", text: `Error: ${message}` }],
39
- isError: true,
40
- };
41
- }
42
- };
43
- }
44
- //# sourceMappingURL=create-report-ticket.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-report-ticket.js","sourceRoot":"","sources":["../../../src/tools/enterprise/create-report-ticket.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,yBAAyB,GAAG,4BAA4B,CAAC;AAEtE,MAAM,CAAC,MAAM,gCAAgC,GAAG;;;;;;;;wFAQwC,CAAC;AAEzF,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC7C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAClD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;CACxE,CAAC;AAEF,MAAM,UAAU,+BAA+B,CAAC,SAAoB;IAClE,OAAO,KAAK,EAAE,MAIb,EAAE,EAAE;QACH,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAC/B,gBAAgB,MAAM,CAAC,SAAS,WAAW,MAAM,CAAC,QAAQ,gBAAgB,EAC1E,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAC9B,CAAC;YAEF,MAAM,MAAM,GAAG,gBAAgB,CAAC;gBAC9B,GAAG,IAAI;gBACP,OAAO,EAAE,GAAG,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,sCAAsC;aACjG,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC5E,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC;YAC/E,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,33 +0,0 @@
1
- /**
2
- * zivis_end_pentest_session — End a pen test session
3
- *
4
- * Maps to: PATCH /api/pentest-sessions/:id
5
- */
6
- import { z } from "zod";
7
- import type { ApiClient } from "../../api-client.js";
8
- export declare const END_PENTEST_SESSION_NAME = "zivis_end_pentest_session";
9
- export declare const END_PENTEST_SESSION_DESCRIPTION = "End a pen test session by marking it as completed or abandoned.\n\nCall this when you're done with your pen testing work. The session results will be preserved for report generation.";
10
- export declare const END_PENTEST_SESSION_SCHEMA: {
11
- session_id: z.ZodString;
12
- status: z.ZodDefault<z.ZodEnum<{
13
- completed: "completed";
14
- paused: "paused";
15
- abandoned: "abandoned";
16
- }>>;
17
- };
18
- export declare function createEndPentestSessionHandler(apiClient: ApiClient): (params: {
19
- session_id: string;
20
- status?: string;
21
- }) => Promise<{
22
- content: {
23
- type: "text";
24
- text: string;
25
- }[];
26
- isError?: undefined;
27
- } | {
28
- content: {
29
- type: "text";
30
- text: string;
31
- }[];
32
- isError: boolean;
33
- }>;
@@ -1,42 +0,0 @@
1
- /**
2
- * zivis_end_pentest_session — End a pen test session
3
- *
4
- * Maps to: PATCH /api/pentest-sessions/:id
5
- */
6
- import { z } from "zod";
7
- import { sanitizeResponse } from "../../sanitize.js";
8
- export const END_PENTEST_SESSION_NAME = "zivis_end_pentest_session";
9
- export const END_PENTEST_SESSION_DESCRIPTION = `End a pen test session by marking it as completed or abandoned.
10
-
11
- Call this when you're done with your pen testing work. The session results will be preserved for report generation.`;
12
- export const END_PENTEST_SESSION_SCHEMA = {
13
- session_id: z.string().describe("Pen test session UUID"),
14
- status: z
15
- .enum(["completed", "paused", "abandoned"])
16
- .default("completed")
17
- .describe("Final status (completed = normal end, abandoned = incomplete)"),
18
- };
19
- export function createEndPentestSessionHandler(apiClient) {
20
- return async (params) => {
21
- try {
22
- const data = await apiClient.patch(`/api/pentest-sessions/${params.session_id}`, { status: params.status || "completed" });
23
- const sanitized = sanitizeResponse(data);
24
- return {
25
- content: [
26
- {
27
- type: "text",
28
- text: JSON.stringify(sanitized, null, 2),
29
- },
30
- ],
31
- };
32
- }
33
- catch (err) {
34
- const message = err instanceof Error ? err.message : "Failed to end pentest session";
35
- return {
36
- content: [{ type: "text", text: `Error: ${message}` }],
37
- isError: true,
38
- };
39
- }
40
- };
41
- }
42
- //# sourceMappingURL=end-pentest-session.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"end-pentest-session.js","sourceRoot":"","sources":["../../../src/tools/enterprise/end-pentest-session.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,wBAAwB,GAAG,2BAA2B,CAAC;AAEpE,MAAM,CAAC,MAAM,+BAA+B,GAAG;;oHAEqE,CAAC;AAErH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACxD,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;SAC1C,OAAO,CAAC,WAAW,CAAC;SACpB,QAAQ,CAAC,+DAA+D,CAAC;CAC7E,CAAC;AAEF,MAAM,UAAU,8BAA8B,CAAC,SAAoB;IACjE,OAAO,KAAK,EAAE,MAA+C,EAAE,EAAE;QAC/D,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,KAAK,CAChC,yBAAyB,MAAM,CAAC,UAAU,EAAE,EAC5C,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,WAAW,EAAE,CACzC,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,+BAA+B,CAAC;YACrF,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,55 +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 type { ApiClient } from "../../api-client.js";
8
- export declare const GENERATE_REPORT_NAME = "zivis_generate_report";
9
- export declare const GENERATE_REPORT_DESCRIPTION = "Generate a professional pen test report with optional PDF export.\n\nCreates 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.\n\nAssessment types: web_pentest, api_pentest, ai_red_team, full_assessment, recon_only";
10
- export declare const GENERATE_REPORT_SCHEMA: {
11
- name: z.ZodString;
12
- assessment_type: z.ZodEnum<{
13
- ai_red_team: "ai_red_team";
14
- web_pentest: "web_pentest";
15
- api_pentest: "api_pentest";
16
- full_assessment: "full_assessment";
17
- recon_only: "recon_only";
18
- }>;
19
- customer_name: z.ZodString;
20
- analyst_name: z.ZodString;
21
- engagement_start: z.ZodString;
22
- engagement_end: z.ZodString;
23
- campaign_id: z.ZodOptional<z.ZodString>;
24
- application_id: z.ZodOptional<z.ZodString>;
25
- description: z.ZodOptional<z.ZodString>;
26
- customer_industry: z.ZodOptional<z.ZodString>;
27
- reviewer_name: z.ZodOptional<z.ZodString>;
28
- export_pdf: z.ZodDefault<z.ZodBoolean>;
29
- };
30
- export declare function createGenerateReportHandler(apiClient: ApiClient): (params: {
31
- name: string;
32
- assessment_type: string;
33
- customer_name: string;
34
- analyst_name: string;
35
- engagement_start: string;
36
- engagement_end: string;
37
- campaign_id?: string;
38
- application_id?: string;
39
- description?: string;
40
- customer_industry?: string;
41
- reviewer_name?: string;
42
- export_pdf?: boolean;
43
- }) => Promise<{
44
- content: {
45
- type: "text";
46
- text: string;
47
- }[];
48
- isError: boolean;
49
- } | {
50
- content: {
51
- type: "text";
52
- text: string;
53
- }[];
54
- isError?: undefined;
55
- }>;