@zivis/mcp 0.1.0-alpha.13 → 0.1.0-alpha.15

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 (103) hide show
  1. package/dist/cli.js +4 -2
  2. package/dist/cli.js.map +1 -1
  3. package/dist/lib/next-steps.d.ts +57 -0
  4. package/dist/lib/next-steps.js +45 -0
  5. package/dist/lib/next-steps.js.map +1 -0
  6. package/dist/prompts/audit-dependencies.d.ts +10 -0
  7. package/dist/prompts/audit-dependencies.js +56 -0
  8. package/dist/prompts/audit-dependencies.js.map +1 -0
  9. package/dist/prompts/getting-started.d.ts +12 -0
  10. package/dist/prompts/getting-started.js +48 -0
  11. package/dist/prompts/getting-started.js.map +1 -0
  12. package/dist/prompts/index.d.ts +14 -0
  13. package/dist/prompts/index.js +25 -0
  14. package/dist/prompts/index.js.map +1 -0
  15. package/dist/prompts/prep-for-launch.d.ts +9 -0
  16. package/dist/prompts/prep-for-launch.js +62 -0
  17. package/dist/prompts/prep-for-launch.js.map +1 -0
  18. package/dist/prompts/secure-my-app.d.ts +9 -0
  19. package/dist/prompts/secure-my-app.js +70 -0
  20. package/dist/prompts/secure-my-app.js.map +1 -0
  21. package/dist/prompts/weekly-check.d.ts +9 -0
  22. package/dist/prompts/weekly-check.js +48 -0
  23. package/dist/prompts/weekly-check.js.map +1 -0
  24. package/dist/server.js +54 -1
  25. package/dist/server.js.map +1 -1
  26. package/dist/tools/check-project.d.ts +4 -4
  27. package/dist/tools/check-project.js +91 -61
  28. package/dist/tools/check-project.js.map +1 -1
  29. package/dist/tools/check-repo-trust.d.ts +4 -10
  30. package/dist/tools/check-repo-trust.js +56 -27
  31. package/dist/tools/check-repo-trust.js.map +1 -1
  32. package/dist/tools/enterprise/get-campaign.d.ts +27 -0
  33. package/dist/tools/enterprise/get-campaign.js +31 -0
  34. package/dist/tools/enterprise/get-campaign.js.map +1 -0
  35. package/dist/tools/enterprise/list-agents.d.ts +1 -1
  36. package/dist/tools/enterprise/list-attack-scenarios.d.ts +29 -0
  37. package/dist/tools/enterprise/list-attack-scenarios.js +69 -0
  38. package/dist/tools/enterprise/list-attack-scenarios.js.map +1 -0
  39. package/dist/tools/enterprise/list-attack-step-library-tests.d.ts +29 -0
  40. package/dist/tools/enterprise/list-attack-step-library-tests.js +61 -0
  41. package/dist/tools/enterprise/list-attack-step-library-tests.js.map +1 -0
  42. package/dist/tools/enterprise/list-campaigns.d.ts +37 -0
  43. package/dist/tools/enterprise/list-campaigns.js +60 -0
  44. package/dist/tools/enterprise/list-campaigns.js.map +1 -0
  45. package/dist/tools/enterprise/list-threat-model-review-items.d.ts +35 -0
  46. package/dist/tools/enterprise/list-threat-model-review-items.js +60 -0
  47. package/dist/tools/enterprise/list-threat-model-review-items.js.map +1 -0
  48. package/dist/tools/enterprise/list-threat-model-versions.d.ts +29 -0
  49. package/dist/tools/enterprise/list-threat-model-versions.js +60 -0
  50. package/dist/tools/enterprise/list-threat-model-versions.js.map +1 -0
  51. package/dist/tools/enterprise/manage-campaign-agent-instance.d.ts +42 -0
  52. package/dist/tools/enterprise/manage-campaign-agent-instance.js +68 -0
  53. package/dist/tools/enterprise/manage-campaign-agent-instance.js.map +1 -0
  54. package/dist/tools/enterprise/manage-campaign-target.d.ts +44 -0
  55. package/dist/tools/enterprise/manage-campaign-target.js +70 -0
  56. package/dist/tools/enterprise/manage-campaign-target.js.map +1 -0
  57. package/dist/tools/enterprise/manage-campaign.d.ts +62 -0
  58. package/dist/tools/enterprise/manage-campaign.js +114 -0
  59. package/dist/tools/enterprise/manage-campaign.js.map +1 -0
  60. package/dist/tools/enterprise/manage-finding.d.ts +1 -1
  61. package/dist/tools/enterprise/manage-threat-model-analysis.d.ts +52 -0
  62. package/dist/tools/enterprise/manage-threat-model-analysis.js +92 -0
  63. package/dist/tools/enterprise/manage-threat-model-analysis.js.map +1 -0
  64. package/dist/tools/enterprise/manage-threat-model-review.d.ts +47 -0
  65. package/dist/tools/enterprise/manage-threat-model-review.js +82 -0
  66. package/dist/tools/enterprise/manage-threat-model-review.js.map +1 -0
  67. package/dist/tools/get-application-auth-config.d.ts +27 -0
  68. package/dist/tools/get-application-auth-config.js +44 -0
  69. package/dist/tools/get-application-auth-config.js.map +1 -0
  70. package/dist/tools/get-finding-details.d.ts +4 -10
  71. package/dist/tools/get-finding-details.js +28 -10
  72. package/dist/tools/get-finding-details.js.map +1 -1
  73. package/dist/tools/get-findings.d.ts +4 -10
  74. package/dist/tools/get-findings.js +44 -23
  75. package/dist/tools/get-findings.js.map +1 -1
  76. package/dist/tools/get-started.d.ts +28 -0
  77. package/dist/tools/get-started.js +364 -0
  78. package/dist/tools/get-started.js.map +1 -0
  79. package/dist/tools/list-applications.d.ts +1 -1
  80. package/dist/tools/list-scans.d.ts +4 -10
  81. package/dist/tools/list-scans.js +55 -21
  82. package/dist/tools/list-scans.js.map +1 -1
  83. package/dist/tools/list-test-scenarios.d.ts +4 -10
  84. package/dist/tools/list-test-scenarios.js +41 -13
  85. package/dist/tools/list-test-scenarios.js.map +1 -1
  86. package/dist/tools/local-scan.d.ts +1 -1
  87. package/dist/tools/manage-application.d.ts +72 -0
  88. package/dist/tools/manage-application.js +138 -0
  89. package/dist/tools/manage-application.js.map +1 -0
  90. package/dist/tools/manage-endpoint-lifecycle.d.ts +90 -0
  91. package/dist/tools/manage-endpoint-lifecycle.js +191 -0
  92. package/dist/tools/manage-endpoint-lifecycle.js.map +1 -0
  93. package/dist/tools/open-in-ide.d.ts +1 -1
  94. package/dist/tools/setup-red-team-target.d.ts +6 -12
  95. package/dist/tools/setup-red-team-target.js +51 -20
  96. package/dist/tools/setup-red-team-target.js.map +1 -1
  97. package/dist/tools/triage-finding.d.ts +4 -10
  98. package/dist/tools/triage-finding.js +30 -21
  99. package/dist/tools/triage-finding.js.map +1 -1
  100. package/dist/types.d.ts +0 -1
  101. package/dist/types.js +19 -23
  102. package/dist/types.js.map +1 -1
  103. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"list-test-scenarios.js","sourceRoot":"","sources":["../../src/tools/list-test-scenarios.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,CAAC,MAAM,wBAAwB,GAAG,2BAA2B,CAAC;AAEpE,MAAM,CAAC,MAAM,+BAA+B,GAAG;;;;;;;;+CAQA,CAAC;AAEhD,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,iEAAiE,CAAC;IAC9E,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,+BAA+B,CAAC;IAC5C,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,8CAA8C,CAAC;CAC5D,CAAC;AAEF,MAAM,UAAU,8BAA8B,CAAC,SAAoB;IACjE,OAAO,KAAK,EAAE,MAIb,EAAE,EAAE;QACH,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,aAAa;YAAE,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QAC3E,IAAI,MAAM,CAAC,MAAM;YAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,MAAM,CAAC,KAAK;YAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAE3D,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,iCAAiC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAE/E,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAA+D,IAAI,CAAC,CAAC;YACrG,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
+ {"version":3,"file":"list-test-scenarios.js","sourceRoot":"","sources":["../../src/tools/list-test-scenarios.ts"],"names":[],"mappings":"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"}
@@ -17,9 +17,9 @@ export declare const LOCAL_SCAN_DESCRIPTION = "Run AI red team security tests ag
17
17
  export declare const LOCAL_SCAN_SCHEMA: {
18
18
  target_url: z.ZodString;
19
19
  target_type: z.ZodOptional<z.ZodEnum<{
20
- ai_chat: "ai_chat";
21
20
  web_app: "web_app";
22
21
  api: "api";
22
+ ai_chat: "ai_chat";
23
23
  }>>;
24
24
  chat_endpoint: z.ZodOptional<z.ZodString>;
25
25
  request_template: z.ZodOptional<z.ZodString>;
@@ -0,0 +1,72 @@
1
+ /**
2
+ * zivis_manage_application — Create/update/delete application
3
+ *
4
+ * Maps to:
5
+ * - POST /api/rt/applications
6
+ * - PATCH /api/rt/applications/:id
7
+ * - DELETE /api/rt/applications/:id
8
+ */
9
+ import { z } from "zod";
10
+ import type { ApiClient } from "../api-client.js";
11
+ export declare const MANAGE_APPLICATION_NAME = "zivis_manage_application";
12
+ export declare const MANAGE_APPLICATION_DESCRIPTION = "Create, update, or delete a target application.\n\nActions:\n- create: requires at least name, base_url, auth_type\n- update: patch an existing application (requires application_id)\n- delete: remove an application (requires application_id)";
13
+ export declare const MANAGE_APPLICATION_SCHEMA: {
14
+ action: z.ZodEnum<{
15
+ create: "create";
16
+ update: "update";
17
+ delete: "delete";
18
+ }>;
19
+ application_id: z.ZodOptional<z.ZodString>;
20
+ name: z.ZodOptional<z.ZodString>;
21
+ description: z.ZodOptional<z.ZodString>;
22
+ base_url: z.ZodOptional<z.ZodString>;
23
+ api_url: z.ZodOptional<z.ZodString>;
24
+ auth_type: z.ZodOptional<z.ZodEnum<{
25
+ none: "none";
26
+ static_token: "static_token";
27
+ oauth_pkce: "oauth_pkce";
28
+ client_credentials: "client_credentials";
29
+ bearer_refresh: "bearer_refresh";
30
+ }>>;
31
+ has_rag: z.ZodOptional<z.ZodBoolean>;
32
+ has_tools: z.ZodOptional<z.ZodBoolean>;
33
+ has_memory: z.ZodOptional<z.ZodBoolean>;
34
+ is_multi_turn: z.ZodOptional<z.ZodBoolean>;
35
+ system_context: z.ZodOptional<z.ZodString>;
36
+ type: z.ZodOptional<z.ZodEnum<{
37
+ api: "api";
38
+ chat: "chat";
39
+ sse: "sse";
40
+ validation: "validation";
41
+ web: "web";
42
+ }>>;
43
+ use_ephemeral_creds: z.ZodOptional<z.ZodBoolean>;
44
+ };
45
+ export declare function createManageApplicationHandler(apiClient: ApiClient): (params: {
46
+ action: "create" | "update" | "delete";
47
+ application_id?: string;
48
+ name?: string;
49
+ description?: string;
50
+ base_url?: string;
51
+ api_url?: string;
52
+ auth_type?: "none" | "oauth_pkce" | "static_token" | "client_credentials" | "bearer_refresh";
53
+ has_rag?: boolean;
54
+ has_tools?: boolean;
55
+ has_memory?: boolean;
56
+ is_multi_turn?: boolean;
57
+ system_context?: string;
58
+ type?: "api" | "chat" | "sse" | "validation" | "web";
59
+ use_ephemeral_creds?: boolean;
60
+ }) => Promise<{
61
+ content: {
62
+ type: "text";
63
+ text: string;
64
+ }[];
65
+ isError: boolean;
66
+ } | {
67
+ content: {
68
+ type: "text";
69
+ text: string;
70
+ }[];
71
+ isError?: undefined;
72
+ }>;
@@ -0,0 +1,138 @@
1
+ /**
2
+ * zivis_manage_application — Create/update/delete application
3
+ *
4
+ * Maps to:
5
+ * - POST /api/rt/applications
6
+ * - PATCH /api/rt/applications/:id
7
+ * - DELETE /api/rt/applications/:id
8
+ */
9
+ import { z } from "zod";
10
+ import { requireApplicationId } from "../resolve-application-id.js";
11
+ import { sanitizeResponse } from "../sanitize.js";
12
+ export const MANAGE_APPLICATION_NAME = "zivis_manage_application";
13
+ export const MANAGE_APPLICATION_DESCRIPTION = `Create, update, or delete a target application.
14
+
15
+ Actions:
16
+ - create: requires at least name, base_url, auth_type
17
+ - update: patch an existing application (requires application_id)
18
+ - delete: remove an application (requires application_id)`;
19
+ export const MANAGE_APPLICATION_SCHEMA = {
20
+ action: z.enum(["create", "update", "delete"]).describe("CRUD action"),
21
+ application_id: z
22
+ .string()
23
+ .optional()
24
+ .describe("Required for update/delete. Optional for create."),
25
+ name: z.string().optional().describe("Application name"),
26
+ description: z.string().optional().describe("Application description"),
27
+ base_url: z.string().optional().describe("Base URL, e.g. https://api.example.com"),
28
+ api_url: z.string().optional().describe("Explicit API URL"),
29
+ auth_type: z
30
+ .enum(["none", "oauth_pkce", "static_token", "client_credentials", "bearer_refresh"])
31
+ .optional()
32
+ .describe("Application auth type (required for create)"),
33
+ has_rag: z.boolean().optional().describe("LLM capability flag"),
34
+ has_tools: z.boolean().optional().describe("LLM capability flag"),
35
+ has_memory: z.boolean().optional().describe("LLM capability flag"),
36
+ is_multi_turn: z.boolean().optional().describe("LLM capability flag"),
37
+ system_context: z.string().optional().describe("System context/prompt context"),
38
+ type: z
39
+ .enum(["api", "chat", "sse", "validation", "web"])
40
+ .optional()
41
+ .describe("Application type"),
42
+ use_ephemeral_creds: z
43
+ .boolean()
44
+ .optional()
45
+ .describe("Whether ephemeral credentials are enabled"),
46
+ };
47
+ export function createManageApplicationHandler(apiClient) {
48
+ return async (params) => {
49
+ try {
50
+ const { action } = params;
51
+ let data;
52
+ if (action === "create") {
53
+ if (!params.name || !params.base_url || !params.auth_type) {
54
+ return {
55
+ content: [
56
+ {
57
+ type: "text",
58
+ text: "Error: create requires name, base_url, and auth_type",
59
+ },
60
+ ],
61
+ isError: true,
62
+ };
63
+ }
64
+ data = await apiClient.post("/api/rt/applications", {
65
+ name: params.name,
66
+ description: params.description,
67
+ baseUrl: params.base_url,
68
+ apiUrl: params.api_url,
69
+ authType: params.auth_type,
70
+ hasRag: params.has_rag,
71
+ hasTools: params.has_tools,
72
+ hasMemory: params.has_memory,
73
+ isMultiTurn: params.is_multi_turn,
74
+ systemContext: params.system_context,
75
+ type: params.type,
76
+ useEphemeralCreds: params.use_ephemeral_creds,
77
+ });
78
+ }
79
+ else {
80
+ const req = requireApplicationId(params.application_id);
81
+ if (!req.ok) {
82
+ return {
83
+ content: [{ type: "text", text: `Error: ${req.message}` }],
84
+ isError: true,
85
+ };
86
+ }
87
+ if (action === "delete") {
88
+ data = await apiClient.del(`/api/rt/applications/${req.id}`);
89
+ }
90
+ else {
91
+ const body = {};
92
+ if (params.name !== undefined)
93
+ body.name = params.name;
94
+ if (params.description !== undefined)
95
+ body.description = params.description;
96
+ if (params.base_url !== undefined)
97
+ body.baseUrl = params.base_url;
98
+ if (params.api_url !== undefined)
99
+ body.apiUrl = params.api_url;
100
+ if (params.auth_type !== undefined)
101
+ body.authType = params.auth_type;
102
+ if (params.has_rag !== undefined)
103
+ body.hasRag = params.has_rag;
104
+ if (params.has_tools !== undefined)
105
+ body.hasTools = params.has_tools;
106
+ if (params.has_memory !== undefined)
107
+ body.hasMemory = params.has_memory;
108
+ if (params.is_multi_turn !== undefined)
109
+ body.isMultiTurn = params.is_multi_turn;
110
+ if (params.system_context !== undefined)
111
+ body.systemContext = params.system_context;
112
+ if (params.type !== undefined)
113
+ body.type = params.type;
114
+ if (params.use_ephemeral_creds !== undefined) {
115
+ body.useEphemeralCreds = params.use_ephemeral_creds;
116
+ }
117
+ data = await apiClient.patch(`/api/rt/applications/${req.id}`, body);
118
+ }
119
+ }
120
+ const sanitized = sanitizeResponse({
121
+ action,
122
+ application_id: params.application_id,
123
+ result: data,
124
+ });
125
+ return {
126
+ content: [{ type: "text", text: JSON.stringify(sanitized, null, 2) }],
127
+ };
128
+ }
129
+ catch (err) {
130
+ const message = err instanceof Error ? err.message : "Failed to manage application";
131
+ return {
132
+ content: [{ type: "text", text: `Error: ${message}` }],
133
+ isError: true,
134
+ };
135
+ }
136
+ };
137
+ }
138
+ //# sourceMappingURL=manage-application.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manage-application.js","sourceRoot":"","sources":["../../src/tools/manage-application.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * zivis_manage_endpoint_lifecycle — Create/update/delete/import endpoints
3
+ *
4
+ * Maps to:
5
+ * - POST /api/rt/applications/:id/endpoints
6
+ * - PATCH /api/rt/applications/:id/endpoints/:endpointId
7
+ * - DELETE /api/rt/applications/:id/endpoints/:endpointId
8
+ * - DELETE /api/rt/applications/:id/endpoints?source=<source>
9
+ * - POST /api/rt/applications/:id/endpoints/import-openapi
10
+ */
11
+ import { z } from "zod";
12
+ import type { ApiClient } from "../api-client.js";
13
+ export declare const MANAGE_ENDPOINT_LIFECYCLE_NAME = "zivis_manage_endpoint_lifecycle";
14
+ export declare const MANAGE_ENDPOINT_LIFECYCLE_DESCRIPTION = "Manage endpoint lifecycle for an application.\n\nActions:\n- create: create a single endpoint\n- update: patch an endpoint\n- delete: delete a single endpoint\n- bulk_delete: delete endpoints by source (e.g., openapi)\n- import_openapi: import endpoints from an OpenAPI spec";
15
+ export declare const MANAGE_ENDPOINT_LIFECYCLE_SCHEMA: {
16
+ application_id: z.ZodOptional<z.ZodString>;
17
+ action: z.ZodEnum<{
18
+ create: "create";
19
+ update: "update";
20
+ delete: "delete";
21
+ bulk_delete: "bulk_delete";
22
+ import_openapi: "import_openapi";
23
+ }>;
24
+ endpoint_id: z.ZodOptional<z.ZodString>;
25
+ path: z.ZodOptional<z.ZodString>;
26
+ method: z.ZodOptional<z.ZodEnum<{
27
+ POST: "POST";
28
+ GET: "GET";
29
+ PATCH: "PATCH";
30
+ DELETE: "DELETE";
31
+ PUT: "PUT";
32
+ HEAD: "HEAD";
33
+ OPTIONS: "OPTIONS";
34
+ }>>;
35
+ summary: z.ZodOptional<z.ZodString>;
36
+ description: z.ZodOptional<z.ZodString>;
37
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
38
+ auth_required: z.ZodOptional<z.ZodBoolean>;
39
+ deprecated: z.ZodOptional<z.ZodBoolean>;
40
+ endpoint_type: z.ZodOptional<z.ZodEnum<{
41
+ api: "api";
42
+ chat: "chat";
43
+ sse: "sse";
44
+ validation: "validation";
45
+ web: "web";
46
+ }>>;
47
+ request_template: z.ZodOptional<z.ZodString>;
48
+ response_path: z.ZodOptional<z.ZodString>;
49
+ streaming_enabled: z.ZodOptional<z.ZodBoolean>;
50
+ source: z.ZodOptional<z.ZodEnum<{
51
+ openapi: "openapi";
52
+ manual: "manual";
53
+ discovery: "discovery";
54
+ }>>;
55
+ spec_url: z.ZodOptional<z.ZodString>;
56
+ spec_content: z.ZodOptional<z.ZodString>;
57
+ replace_existing: z.ZodOptional<z.ZodBoolean>;
58
+ };
59
+ export declare function createManageEndpointLifecycleHandler(apiClient: ApiClient): (params: {
60
+ application_id?: string;
61
+ action: "create" | "update" | "delete" | "bulk_delete" | "import_openapi";
62
+ endpoint_id?: string;
63
+ path?: string;
64
+ method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS";
65
+ summary?: string;
66
+ description?: string;
67
+ tags?: string[];
68
+ auth_required?: boolean;
69
+ deprecated?: boolean;
70
+ endpoint_type?: "api" | "chat" | "sse" | "validation" | "web";
71
+ request_template?: string;
72
+ response_path?: string;
73
+ streaming_enabled?: boolean;
74
+ source?: "openapi" | "manual" | "discovery";
75
+ spec_url?: string;
76
+ spec_content?: string;
77
+ replace_existing?: boolean;
78
+ }) => Promise<{
79
+ content: {
80
+ type: "text";
81
+ text: string;
82
+ }[];
83
+ isError: boolean;
84
+ } | {
85
+ content: {
86
+ type: "text";
87
+ text: string;
88
+ }[];
89
+ isError?: undefined;
90
+ }>;
@@ -0,0 +1,191 @@
1
+ /**
2
+ * zivis_manage_endpoint_lifecycle — Create/update/delete/import endpoints
3
+ *
4
+ * Maps to:
5
+ * - POST /api/rt/applications/:id/endpoints
6
+ * - PATCH /api/rt/applications/:id/endpoints/:endpointId
7
+ * - DELETE /api/rt/applications/:id/endpoints/:endpointId
8
+ * - DELETE /api/rt/applications/:id/endpoints?source=<source>
9
+ * - POST /api/rt/applications/:id/endpoints/import-openapi
10
+ */
11
+ import { z } from "zod";
12
+ import { requireApplicationId } from "../resolve-application-id.js";
13
+ import { sanitizeResponse } from "../sanitize.js";
14
+ export const MANAGE_ENDPOINT_LIFECYCLE_NAME = "zivis_manage_endpoint_lifecycle";
15
+ export const MANAGE_ENDPOINT_LIFECYCLE_DESCRIPTION = `Manage endpoint lifecycle for an application.
16
+
17
+ Actions:
18
+ - create: create a single endpoint
19
+ - update: patch an endpoint
20
+ - delete: delete a single endpoint
21
+ - bulk_delete: delete endpoints by source (e.g., openapi)
22
+ - import_openapi: import endpoints from an OpenAPI spec`;
23
+ export const MANAGE_ENDPOINT_LIFECYCLE_SCHEMA = {
24
+ application_id: z
25
+ .string()
26
+ .optional()
27
+ .describe("Application UUID. If omitted, uses applicationId from .zivis/project.json when set."),
28
+ action: z
29
+ .enum(["create", "update", "delete", "bulk_delete", "import_openapi"])
30
+ .describe("Endpoint lifecycle action"),
31
+ endpoint_id: z.string().optional().describe("Required for update/delete actions"),
32
+ path: z.string().optional().describe("Endpoint path, e.g. /api/chat"),
33
+ method: z
34
+ .enum(["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"])
35
+ .optional()
36
+ .describe("HTTP method"),
37
+ summary: z.string().optional().describe("Endpoint summary"),
38
+ description: z.string().optional().describe("Endpoint description"),
39
+ tags: z.array(z.string()).optional().describe("Endpoint tags"),
40
+ auth_required: z.boolean().optional().describe("Whether auth is required"),
41
+ deprecated: z.boolean().optional().describe("Whether endpoint is deprecated"),
42
+ endpoint_type: z
43
+ .enum(["api", "chat", "sse", "validation", "web"])
44
+ .optional()
45
+ .describe("Endpoint type"),
46
+ request_template: z
47
+ .string()
48
+ .optional()
49
+ .describe("AI request template, usually includes {{message}}"),
50
+ response_path: z
51
+ .string()
52
+ .optional()
53
+ .describe("JSON path to pull response text"),
54
+ streaming_enabled: z.boolean().optional().describe("Whether streaming is enabled"),
55
+ source: z
56
+ .enum(["openapi", "manual", "discovery"])
57
+ .optional()
58
+ .describe("Source filter for bulk_delete"),
59
+ spec_url: z.string().optional().describe("OpenAPI spec URL for import_openapi"),
60
+ spec_content: z.string().optional().describe("Raw OpenAPI spec content"),
61
+ replace_existing: z
62
+ .boolean()
63
+ .optional()
64
+ .describe("When import_openapi, remove previous openapi endpoints first"),
65
+ };
66
+ export function createManageEndpointLifecycleHandler(apiClient) {
67
+ return async (params) => {
68
+ const req = requireApplicationId(params.application_id);
69
+ if (!req.ok) {
70
+ return {
71
+ content: [{ type: "text", text: `Error: ${req.message}` }],
72
+ isError: true,
73
+ };
74
+ }
75
+ const applicationId = req.id;
76
+ const action = params.action;
77
+ try {
78
+ let data;
79
+ if (action === "create") {
80
+ if (!params.path || !params.method) {
81
+ return {
82
+ content: [
83
+ {
84
+ type: "text",
85
+ text: "Error: create requires path and method",
86
+ },
87
+ ],
88
+ isError: true,
89
+ };
90
+ }
91
+ data = await apiClient.post(`/api/rt/applications/${applicationId}/endpoints`, {
92
+ path: params.path,
93
+ method: params.method,
94
+ summary: params.summary,
95
+ description: params.description,
96
+ tags: params.tags,
97
+ authRequired: params.auth_required,
98
+ deprecated: params.deprecated,
99
+ endpointType: params.endpoint_type,
100
+ requestTemplate: params.request_template,
101
+ responsePath: params.response_path,
102
+ streamingEnabled: params.streaming_enabled,
103
+ });
104
+ }
105
+ else if (action === "update") {
106
+ if (!params.endpoint_id) {
107
+ return {
108
+ content: [
109
+ { type: "text", text: "Error: endpoint_id is required for update" },
110
+ ],
111
+ isError: true,
112
+ };
113
+ }
114
+ const body = {};
115
+ if (params.path !== undefined)
116
+ body.path = params.path;
117
+ if (params.method !== undefined)
118
+ body.method = params.method;
119
+ if (params.summary !== undefined)
120
+ body.summary = params.summary;
121
+ if (params.description !== undefined)
122
+ body.description = params.description;
123
+ if (params.tags !== undefined)
124
+ body.tags = params.tags;
125
+ if (params.auth_required !== undefined)
126
+ body.authRequired = params.auth_required;
127
+ if (params.deprecated !== undefined)
128
+ body.deprecated = params.deprecated;
129
+ if (params.endpoint_type !== undefined)
130
+ body.endpointType = params.endpoint_type;
131
+ if (params.request_template !== undefined)
132
+ body.requestTemplate = params.request_template;
133
+ if (params.response_path !== undefined)
134
+ body.responsePath = params.response_path;
135
+ if (params.streaming_enabled !== undefined) {
136
+ body.streamingEnabled = params.streaming_enabled;
137
+ }
138
+ data = await apiClient.patch(`/api/rt/applications/${applicationId}/endpoints/${params.endpoint_id}`, body);
139
+ }
140
+ else if (action === "delete") {
141
+ if (!params.endpoint_id) {
142
+ return {
143
+ content: [
144
+ { type: "text", text: "Error: endpoint_id is required for delete" },
145
+ ],
146
+ isError: true,
147
+ };
148
+ }
149
+ data = await apiClient.del(`/api/rt/applications/${applicationId}/endpoints/${params.endpoint_id}`);
150
+ }
151
+ else if (action === "bulk_delete") {
152
+ if (!params.source) {
153
+ return {
154
+ content: [
155
+ {
156
+ type: "text",
157
+ text: "Error: source is required for bulk_delete (openapi/manual/discovery)",
158
+ },
159
+ ],
160
+ isError: true,
161
+ };
162
+ }
163
+ data = await apiClient.del(`/api/rt/applications/${applicationId}/endpoints?source=${encodeURIComponent(params.source)}`);
164
+ }
165
+ else {
166
+ data = await apiClient.post(`/api/rt/applications/${applicationId}/endpoints/import-openapi`, {
167
+ specUrl: params.spec_url,
168
+ specContent: params.spec_content,
169
+ replaceExisting: params.replace_existing ?? false,
170
+ });
171
+ }
172
+ const sanitized = sanitizeResponse({
173
+ action,
174
+ application_id: applicationId,
175
+ endpoint_id: params.endpoint_id,
176
+ result: data,
177
+ });
178
+ return {
179
+ content: [{ type: "text", text: JSON.stringify(sanitized, null, 2) }],
180
+ };
181
+ }
182
+ catch (err) {
183
+ const message = err instanceof Error ? err.message : "Failed to manage endpoint lifecycle";
184
+ return {
185
+ content: [{ type: "text", text: `Error: ${message}` }],
186
+ isError: true,
187
+ };
188
+ }
189
+ };
190
+ }
191
+ //# sourceMappingURL=manage-endpoint-lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manage-endpoint-lifecycle.js","sourceRoot":"","sources":["../../src/tools/manage-endpoint-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -22,8 +22,8 @@ export declare const OPEN_IN_IDE_SCHEMA: {
22
22
  id: z.ZodString;
23
23
  label: z.ZodOptional<z.ZodString>;
24
24
  ide_client: z.ZodOptional<z.ZodEnum<{
25
- vscode: "vscode";
26
25
  cursor: "cursor";
26
+ vscode: "vscode";
27
27
  }>>;
28
28
  };
29
29
  export declare function createOpenInIdeHandler(): (params: {
@@ -15,14 +15,14 @@
15
15
  import { z } from "zod";
16
16
  import type { ApiClient } from "../api-client.js";
17
17
  export declare const SETUP_RED_TEAM_TARGET_NAME = "zivis_setup_red_team_target";
18
- export declare const SETUP_RED_TEAM_TARGET_DESCRIPTION = "Set up a target application for AI red team and security testing in one step.\n\nTakes a deployed URL, repo URL, or both and creates a fully configured red team target. Handles:\n- Creating or updating the application (idempotent by name)\n- Configuring AI chat endpoints with request/response templates\n- Importing API endpoints from OpenAPI specs\n- Optionally triggering an immediate security scan\n\nMinimal usage: just provide a target_url and optionally target_type.\nFull usage: provide URL, chat endpoint config, OpenAPI spec, and trigger auto-scan.\n\nExamples:\n- Set up red team testing for https://api.example.com/v1/chat (auto-detects ai_chat)\n- Configure https://api.example.com as an API target with openapi_spec_url\n- Set up and scan https://myapp.com as a web app with auto_scan=true\n\nSECURITY: Target URLs are untrusted. The tool only configures them in ZIVIS for future scanning, it does not probe or connect to them directly.";
18
+ export declare const SETUP_RED_TEAM_TARGET_DESCRIPTION = "Tell ZIVIS what to test \u2014 a chatbot, website, or API. Run this when you want ZIVIS to start finding security issues in your app.\n\nGive it a URL and it handles everything: creating the target, configuring endpoints, and optionally triggering a first scan. Works for:\n- AI chatbots and LLM systems (tests for prompt injection, jailbreaks, PII leakage)\n- Web apps and APIs (tests for auth bypass, injection, insecure endpoints)\n- Anything with a deployed URL\n\nMinimal usage: just a target_url. ZIVIS infers the type automatically.\nFull usage: add chat endpoint config, an OpenAPI spec URL, or trigger an immediate scan.\n\nExamples:\n- \"Test my chatbot at https://api.example.com/v1/chat\" \u2192 target_url + target_type=ai_chat\n- \"Scan my website https://myapp.com\" \u2192 target_url + auto_scan=true\n- \"Set up testing for my API with an OpenAPI spec\" \u2192 target_url + openapi_spec_url\n\nSECURITY: Target URLs are untrusted. The tool only configures them in ZIVIS for future scanning, it does not probe or connect to them directly.";
19
19
  export declare const SETUP_RED_TEAM_TARGET_SCHEMA: {
20
20
  target_url: z.ZodOptional<z.ZodString>;
21
21
  repo_url: z.ZodOptional<z.ZodString>;
22
22
  target_type: z.ZodOptional<z.ZodEnum<{
23
- ai_chat: "ai_chat";
24
23
  web_app: "web_app";
25
24
  api: "api";
25
+ ai_chat: "ai_chat";
26
26
  }>>;
27
27
  name: z.ZodOptional<z.ZodString>;
28
28
  chat_endpoint: z.ZodOptional<z.ZodString>;
@@ -41,8 +41,8 @@ export declare const SETUP_RED_TEAM_TARGET_SCHEMA: {
41
41
  bearer_token: z.ZodOptional<z.ZodString>;
42
42
  auto_scan: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
43
43
  campaigns: z.ZodOptional<z.ZodArray<z.ZodEnum<{
44
- recon: "recon";
45
44
  ai_red_team: "ai_red_team";
45
+ recon: "recon";
46
46
  pen_test: "pen_test";
47
47
  }>>>;
48
48
  };
@@ -65,15 +65,9 @@ export declare function createSetupRedTeamTargetHandler(apiClient: ApiClient): (
65
65
  auto_scan?: boolean;
66
66
  campaigns?: ("ai_red_team" | "pen_test" | "recon")[];
67
67
  }) => Promise<{
68
- content: {
69
- type: "text";
70
- text: string;
71
- }[];
72
- isError: boolean;
73
- } | {
74
- content: {
68
+ content: Array<{
75
69
  type: "text";
76
70
  text: string;
77
- }[];
78
- isError?: undefined;
71
+ }>;
72
+ isError?: boolean;
79
73
  }>;