@trycompai/mcp-server 0.3.7 → 0.3.8

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 (59) hide show
  1. package/README.md +2 -2
  2. package/bin/mcp-server.js +1808 -1661
  3. package/bin/mcp-server.js.map +17 -14
  4. package/esm/funcs/ismsISMSControllerSetCoverageV1.d.ts +1 -1
  5. package/esm/funcs/ismsISMSControllerSetCoverageV1.js +1 -1
  6. package/esm/funcs/ismsISMSRegistersControllerImportVendorsAsContinuityContactsV1.d.ts +16 -0
  7. package/esm/funcs/ismsISMSRegistersControllerImportVendorsAsContinuityContactsV1.d.ts.map +1 -0
  8. package/esm/funcs/ismsISMSRegistersControllerImportVendorsAsContinuityContactsV1.js +90 -0
  9. package/esm/funcs/ismsISMSRegistersControllerImportVendorsAsContinuityContactsV1.js.map +1 -0
  10. package/esm/landing-page.js +1 -1
  11. package/esm/lib/config.d.ts +2 -2
  12. package/esm/lib/config.js +2 -2
  13. package/esm/mcp-server/mcp-server.js +1 -1
  14. package/esm/mcp-server/server.d.ts.map +1 -1
  15. package/esm/mcp-server/server.js +3 -1
  16. package/esm/mcp-server/server.js.map +1 -1
  17. package/esm/mcp-server/tools/ismsISMSControllerSetCoverageV1.js +1 -1
  18. package/esm/mcp-server/tools/ismsISMSControllerSetCoverageV1.js.map +1 -1
  19. package/esm/mcp-server/tools/ismsISMSRegistersControllerImportVendorsAsContinuityContactsV1.d.ts +7 -0
  20. package/esm/mcp-server/tools/ismsISMSRegistersControllerImportVendorsAsContinuityContactsV1.d.ts.map +1 -0
  21. package/esm/mcp-server/tools/ismsISMSRegistersControllerImportVendorsAsContinuityContactsV1.js +35 -0
  22. package/esm/mcp-server/tools/ismsISMSRegistersControllerImportVendorsAsContinuityContactsV1.js.map +1 -0
  23. package/esm/models/ismscontrollersetcoveragev1op.d.ts +1 -1
  24. package/esm/models/ismscontrollersetcoveragev1op.js +3 -3
  25. package/esm/models/ismscontrollersetcoveragev1op.js.map +1 -1
  26. package/esm/models/ismsregisterscontrollercreaterowv1op.d.ts +8 -0
  27. package/esm/models/ismsregisterscontrollercreaterowv1op.d.ts.map +1 -1
  28. package/esm/models/ismsregisterscontrollercreaterowv1op.js +8 -0
  29. package/esm/models/ismsregisterscontrollercreaterowv1op.js.map +1 -1
  30. package/esm/models/ismsregisterscontrollerdeleterowv1op.d.ts +8 -0
  31. package/esm/models/ismsregisterscontrollerdeleterowv1op.d.ts.map +1 -1
  32. package/esm/models/ismsregisterscontrollerdeleterowv1op.js +8 -0
  33. package/esm/models/ismsregisterscontrollerdeleterowv1op.js.map +1 -1
  34. package/esm/models/ismsregisterscontrollerimportvendorsascontinuitycontactsv1op.d.ts +14 -0
  35. package/esm/models/ismsregisterscontrollerimportvendorsascontinuitycontactsv1op.d.ts.map +1 -0
  36. package/esm/models/ismsregisterscontrollerimportvendorsascontinuitycontactsv1op.js +13 -0
  37. package/esm/models/ismsregisterscontrollerimportvendorsascontinuitycontactsv1op.js.map +1 -0
  38. package/esm/models/ismsregisterscontrollerupdaterowv1op.d.ts +8 -0
  39. package/esm/models/ismsregisterscontrollerupdaterowv1op.d.ts.map +1 -1
  40. package/esm/models/ismsregisterscontrollerupdaterowv1op.js +8 -0
  41. package/esm/models/ismsregisterscontrollerupdaterowv1op.js.map +1 -1
  42. package/esm/tool-names.d.ts.map +1 -1
  43. package/esm/tool-names.js +5 -1
  44. package/esm/tool-names.js.map +1 -1
  45. package/package.json +1 -1
  46. package/src/funcs/ismsISMSControllerSetCoverageV1.ts +1 -1
  47. package/src/funcs/ismsISMSRegistersControllerImportVendorsAsContinuityContactsV1.ts +158 -0
  48. package/src/landing-page.ts +1 -1
  49. package/src/lib/config.ts +2 -2
  50. package/src/mcp-server/mcp-server.ts +1 -1
  51. package/src/mcp-server/server.ts +3 -1
  52. package/src/mcp-server/tools/ismsISMSControllerSetCoverageV1.ts +1 -1
  53. package/src/mcp-server/tools/ismsISMSRegistersControllerImportVendorsAsContinuityContactsV1.ts +46 -0
  54. package/src/models/ismscontrollersetcoveragev1op.ts +4 -4
  55. package/src/models/ismsregisterscontrollercreaterowv1op.ts +8 -0
  56. package/src/models/ismsregisterscontrollerdeleterowv1op.ts +8 -0
  57. package/src/models/ismsregisterscontrollerimportvendorsascontinuitycontactsv1op.ts +38 -0
  58. package/src/models/ismsregisterscontrollerupdaterowv1op.ts +8 -0
  59. package/src/tool-names.ts +5 -1
@@ -0,0 +1,158 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 2a38d3af6848
4
+ */
5
+
6
+ import { CompAiCore } from "../core.js";
7
+ import { encodeJSON, encodeSimple } from "../lib/encodings.js";
8
+ import { compactMap } from "../lib/primitives.js";
9
+ import { safeParse } from "../lib/schemas.js";
10
+ import { RequestOptions } from "../lib/sdks.js";
11
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
12
+ import { pathToFunc } from "../lib/url.js";
13
+ import { APIError } from "../models/errors/apierror.js";
14
+ import {
15
+ ConnectionError,
16
+ InvalidRequestError,
17
+ RequestAbortedError,
18
+ RequestTimeoutError,
19
+ UnexpectedClientError,
20
+ } from "../models/errors/httpclienterrors.js";
21
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
22
+ import {
23
+ IsmsRegistersControllerImportVendorsAsContinuityContactsV1Request,
24
+ IsmsRegistersControllerImportVendorsAsContinuityContactsV1Request$zodSchema,
25
+ } from "../models/ismsregisterscontrollerimportvendorsascontinuitycontactsv1op.js";
26
+ import { APICall, APIPromise } from "../types/async.js";
27
+ import { Result } from "../types/fp.js";
28
+
29
+ /**
30
+ * Add vendors to the continuity contact list in one action
31
+ *
32
+ * @remarks
33
+ * Adds the chosen vendors to the Business Continuity Plan contact list in one transaction. Vendors already listed are skipped, not duplicated. The support contact is left blank: a vendor record holds our commercial contact, not their outage.
34
+ */
35
+ export function ismsISMSRegistersControllerImportVendorsAsContinuityContactsV1(
36
+ client$: CompAiCore,
37
+ request: IsmsRegistersControllerImportVendorsAsContinuityContactsV1Request,
38
+ options?: RequestOptions,
39
+ ): APIPromise<
40
+ Result<
41
+ Response,
42
+ | APIError
43
+ | SDKValidationError
44
+ | UnexpectedClientError
45
+ | InvalidRequestError
46
+ | RequestAbortedError
47
+ | RequestTimeoutError
48
+ | ConnectionError
49
+ >
50
+ > {
51
+ return new APIPromise($do(
52
+ client$,
53
+ request,
54
+ options,
55
+ ));
56
+ }
57
+
58
+ async function $do(
59
+ client$: CompAiCore,
60
+ request: IsmsRegistersControllerImportVendorsAsContinuityContactsV1Request,
61
+ options?: RequestOptions,
62
+ ): Promise<
63
+ [
64
+ Result<
65
+ Response,
66
+ | APIError
67
+ | SDKValidationError
68
+ | UnexpectedClientError
69
+ | InvalidRequestError
70
+ | RequestAbortedError
71
+ | RequestTimeoutError
72
+ | ConnectionError
73
+ >,
74
+ APICall,
75
+ ]
76
+ > {
77
+ const parsed$ = safeParse(
78
+ request,
79
+ (value$) =>
80
+ IsmsRegistersControllerImportVendorsAsContinuityContactsV1Request$zodSchema
81
+ .parse(value$),
82
+ "Input validation failed",
83
+ );
84
+ if (!parsed$.ok) {
85
+ return [parsed$, { status: "invalid" }];
86
+ }
87
+ const payload$ = parsed$.value;
88
+ const body$ = encodeJSON("body", payload$.body, { explode: true });
89
+
90
+ const pathParams$ = {
91
+ id: encodeSimple("id", payload$.id, {
92
+ explode: false,
93
+ charEncoding: "percent",
94
+ }),
95
+ };
96
+ const path$ = pathToFunc(
97
+ "/v1/isms/documents/{id}/continuity-contacts/import-vendors",
98
+ )(
99
+ pathParams$,
100
+ );
101
+
102
+ const headers$ = new Headers(compactMap({
103
+ "Content-Type": "application/json",
104
+ Accept: "*/*",
105
+ }));
106
+ const securityInput = await extractSecurity(client$._options.security);
107
+ const requestSecurity = resolveGlobalSecurity(securityInput);
108
+
109
+ const context = {
110
+ options: client$._options,
111
+ baseURL: options?.serverURL ?? client$._baseURL ?? "",
112
+ operationID: "IsmsRegistersController_importVendorsAsContinuityContacts_v1",
113
+ oAuth2Scopes: null,
114
+ resolvedSecurity: requestSecurity,
115
+ securitySource: client$._options.security,
116
+ retryConfig: options?.retries
117
+ || client$._options.retryConfig
118
+ || { strategy: "none" },
119
+ retryCodes: options?.retryCodes || [
120
+ "429",
121
+ "500",
122
+ "502",
123
+ "503",
124
+ "504",
125
+ ],
126
+ };
127
+
128
+ const requestRes = client$._createRequest(context, {
129
+ security: requestSecurity,
130
+ method: "POST",
131
+ baseURL: options?.serverURL,
132
+ path: path$,
133
+ headers: headers$,
134
+ body: body$,
135
+ userAgent: client$._options.userAgent,
136
+ timeoutMs: options?.timeoutMs || client$._options.timeoutMs
137
+ || 120000,
138
+ }, options);
139
+ if (!requestRes.ok) {
140
+ return [requestRes, { status: "invalid" }];
141
+ }
142
+ const req$ = requestRes.value;
143
+
144
+ const doResult = await client$._do(req$, {
145
+ context,
146
+ errorCodes: [],
147
+ retryConfig: context.retryConfig,
148
+ retryCodes: context.retryCodes,
149
+ });
150
+ if (!doResult.ok) {
151
+ return [doResult, { status: "request-error", request: req$ }];
152
+ }
153
+ return [doResult, {
154
+ status: "complete",
155
+ "request": req$,
156
+ response: doResult.value,
157
+ }];
158
+ }
@@ -931,7 +931,7 @@ http_headers = { "apikey" = "YOUR_APIKEY" }`;
931
931
  <h1>Instructions</h1>
932
932
  <p>One-click installation for Claude Desktop users</p>
933
933
  <div class="instruction-item">
934
- <a href="https://github.com/trycompai/comp-v2/releases/download/v0.3.7/mcp-server.mcpb" download="mcp-server.mcpb" class="action-button header-action" style="display: inline-flex; margin-bottom: 16px;">
934
+ <a href="https://github.com/trycompai/comp-v2/releases/download/v0.3.8/mcp-server.mcpb" download="mcp-server.mcpb" class="action-button header-action" style="display: inline-flex; margin-bottom: 16px;">
935
935
  📥 Download MCP Bundle
936
936
  </a>
937
937
  </div>
package/src/lib/config.ts CHANGED
@@ -66,8 +66,8 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
66
66
  export const SDK_METADATA = {
67
67
  language: "typescript",
68
68
  openapiDocVersion: "1.0",
69
- sdkVersion: "0.3.7",
69
+ sdkVersion: "0.3.8",
70
70
  genVersion: "2.932.9",
71
71
  userAgent:
72
- "speakeasy-sdk/mcp-typescript 0.3.7 2.932.9 1.0 @trycompai/mcp-server",
72
+ "speakeasy-sdk/mcp-typescript 0.3.8 2.932.9 1.0 @trycompai/mcp-server",
73
73
  } as const;
@@ -22,7 +22,7 @@ const routes = buildRouteMap({
22
22
  export const app = buildApplication(routes, {
23
23
  name: "mcp",
24
24
  versionInfo: {
25
- currentVersion: "0.3.7",
25
+ currentVersion: "0.3.8",
26
26
  },
27
27
  });
28
28
 
@@ -181,6 +181,7 @@ import { tool$ismsISMSRegistersControllerBulkCreateMeasurementsV1 } from "./tool
181
181
  import { tool$ismsISMSRegistersControllerCreateRowV1 } from "./tools/ismsISMSRegistersControllerCreateRowV1.js";
182
182
  import { tool$ismsISMSRegistersControllerDeleteRowV1 } from "./tools/ismsISMSRegistersControllerDeleteRowV1.js";
183
183
  import { tool$ismsISMSRegistersControllerImportFindingsAsNonconformitiesV1 } from "./tools/ismsISMSRegistersControllerImportFindingsAsNonconformitiesV1.js";
184
+ import { tool$ismsISMSRegistersControllerImportVendorsAsContinuityContactsV1 } from "./tools/ismsISMSRegistersControllerImportVendorsAsContinuityContactsV1.js";
184
185
  import { tool$ismsISMSRegistersControllerImportVendorsAsSoftwareV1 } from "./tools/ismsISMSRegistersControllerImportVendorsAsSoftwareV1.js";
185
186
  import { tool$ismsISMSRegistersControllerSaveNarrativeV1 } from "./tools/ismsISMSRegistersControllerSaveNarrativeV1.js";
186
187
  import { tool$ismsISMSRegistersControllerUpdateRowV1 } from "./tools/ismsISMSRegistersControllerUpdateRowV1.js";
@@ -459,7 +460,7 @@ export function createMCPServer(deps: {
459
460
  }) {
460
461
  const server = new McpServer({
461
462
  name: "CompAi",
462
- version: "0.3.7",
463
+ version: "0.3.8",
463
464
  });
464
465
 
465
466
  const getClient = deps.getSDK || (() =>
@@ -843,6 +844,7 @@ export function createMCPServer(deps: {
843
844
  tool(tool$ismsISMSRegistersControllerDeleteRowV1);
844
845
  tool(tool$ismsISMSRegistersControllerBulkCreateMeasurementsV1);
845
846
  tool(tool$ismsISMSRegistersControllerImportVendorsAsSoftwareV1);
847
+ tool(tool$ismsISMSRegistersControllerImportVendorsAsContinuityContactsV1);
846
848
  tool(tool$ismsISMSRegistersControllerImportFindingsAsNonconformitiesV1);
847
849
  tool(tool$ismsISMSRegistersControllerSaveNarrativeV1);
848
850
  tool(tool$taskManagementTaskManagementControllerGetTaskItemsStatsV1);
@@ -16,7 +16,7 @@ export const tool$ismsISMSControllerSetCoverageV1: ToolDefinition<typeof args> =
16
16
  name: "set-coverage",
17
17
  description: `Set how much of an ISMS document Comp AI holds
18
18
 
19
- Marks a whole ISMS document as included, maintained outside Comp AI, or not applicable, which requires a written justification. External renders a pointer to where the content lives. Per-section coverage is not available yet.`,
19
+ Marks an ISMS document, or one section of it, as included, maintained outside Comp AI, or not applicable, which requires a written justification. External renders a pointer to where the content lives; the sections depend on the type.`,
20
20
  annotations: {
21
21
  "title": "",
22
22
  "destructiveHint": false,
@@ -0,0 +1,46 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 465a8e2af6f9
4
+ */
5
+
6
+ import { ismsISMSRegistersControllerImportVendorsAsContinuityContactsV1 } from "../../funcs/ismsISMSRegistersControllerImportVendorsAsContinuityContactsV1.js";
7
+ import { IsmsRegistersControllerImportVendorsAsContinuityContactsV1Request$zodSchema } from "../../models/ismsregisterscontrollerimportvendorsascontinuitycontactsv1op.js";
8
+ import { formatResult, ToolDefinition } from "../tools.js";
9
+
10
+ const args = {
11
+ request:
12
+ IsmsRegistersControllerImportVendorsAsContinuityContactsV1Request$zodSchema,
13
+ };
14
+
15
+ export const tool$ismsISMSRegistersControllerImportVendorsAsContinuityContactsV1:
16
+ ToolDefinition<typeof args> = {
17
+ name: "import-vendors-as-continuity-contacts",
18
+ description: `Add vendors to the continuity contact list in one action
19
+
20
+ Adds the chosen vendors to the Business Continuity Plan contact list in one transaction. Vendors already listed are skipped, not duplicated. The support contact is left blank: a vendor record holds our commercial contact, not their outage.`,
21
+ annotations: {
22
+ "title": "",
23
+ "destructiveHint": false,
24
+ "idempotentHint": false,
25
+ "openWorldHint": false,
26
+ "readOnlyHint": false,
27
+ },
28
+ args,
29
+ tool: async (client, args, ctx) => {
30
+ const [result] =
31
+ await ismsISMSRegistersControllerImportVendorsAsContinuityContactsV1(
32
+ client,
33
+ args.request,
34
+ { fetchOptions: { signal: ctx.signal } },
35
+ ).$inspect();
36
+
37
+ if (!result.ok) {
38
+ return {
39
+ content: [{ type: "text", text: result.error.message }],
40
+ isError: true,
41
+ };
42
+ }
43
+
44
+ return formatResult(result.value);
45
+ },
46
+ };
@@ -22,7 +22,7 @@ export const IsmsControllerSetCoverageV1Status$zodSchema = z.enum([
22
22
  ]);
23
23
 
24
24
  /**
25
- * Coverage decision for a whole ISMS document (per-section coverage is not available yet)
25
+ * Coverage decision for a whole ISMS document, or for one section of it
26
26
  */
27
27
  export type IsmsControllerSetCoverageV1RequestBody = {
28
28
  sectionKey?: string | undefined;
@@ -45,11 +45,11 @@ export const IsmsControllerSetCoverageV1RequestBody$zodSchema: z.ZodType<
45
45
  ),
46
46
  naJustification: z.string().nullable().optional(),
47
47
  sectionKey: z.string().optional().describe(
48
- "Omit, or send an empty or whitespace-only string: coverage always applies to the whole document. Per-section coverage is not available yet, so any other value is rejected with 400.",
48
+ "Omit, or send an empty or whitespace-only string, to set coverage for the whole document. A section key sets coverage for one section; the keys a document offers depend on its type, and an unknown key is rejected with 400.",
49
49
  ),
50
50
  status: IsmsControllerSetCoverageV1Status$zodSchema,
51
51
  }).describe(
52
- "Coverage decision for a whole ISMS document (per-section coverage is not available yet)",
52
+ "Coverage decision for a whole ISMS document, or for one section of it",
53
53
  );
54
54
 
55
55
  export type IsmsControllerSetCoverageV1Request = {
@@ -61,7 +61,7 @@ export const IsmsControllerSetCoverageV1Request$zodSchema: z.ZodType<
61
61
  IsmsControllerSetCoverageV1Request
62
62
  > = z.object({
63
63
  body: z.lazy(() => IsmsControllerSetCoverageV1RequestBody$zodSchema).describe(
64
- "Coverage decision for a whole ISMS document (per-section coverage is not available yet)",
64
+ "Coverage decision for a whole ISMS document, or for one section of it",
65
65
  ),
66
66
  id: z.string(),
67
67
  });
@@ -29,6 +29,10 @@ export const IsmsRegistersControllerCreateRowV1Register = {
29
29
  KeyRecords: "key-records",
30
30
  ApprovedSoftware: "approved-software",
31
31
  Nonconformities: "nonconformities",
32
+ BusinessProcesses: "business-processes",
33
+ ContinuityPlaybooks: "continuity-playbooks",
34
+ ContinuityContacts: "continuity-contacts",
35
+ RecoverySystems: "recovery-systems",
32
36
  } as const;
33
37
  /**
34
38
  * Which ISMS register the row belongs to.
@@ -57,6 +61,10 @@ export const IsmsRegistersControllerCreateRowV1Register$zodSchema = z.enum([
57
61
  "key-records",
58
62
  "approved-software",
59
63
  "nonconformities",
64
+ "business-processes",
65
+ "continuity-playbooks",
66
+ "continuity-contacts",
67
+ "recovery-systems",
60
68
  ]).describe("Which ISMS register the row belongs to.");
61
69
 
62
70
  export const IsmsRegistersControllerCreateRowV1Kind = {
@@ -29,6 +29,10 @@ export const IsmsRegistersControllerDeleteRowV1Register = {
29
29
  KeyRecords: "key-records",
30
30
  ApprovedSoftware: "approved-software",
31
31
  Nonconformities: "nonconformities",
32
+ BusinessProcesses: "business-processes",
33
+ ContinuityPlaybooks: "continuity-playbooks",
34
+ ContinuityContacts: "continuity-contacts",
35
+ RecoverySystems: "recovery-systems",
32
36
  } as const;
33
37
  /**
34
38
  * Which ISMS register the row belongs to.
@@ -57,6 +61,10 @@ export const IsmsRegistersControllerDeleteRowV1Register$zodSchema = z.enum([
57
61
  "key-records",
58
62
  "approved-software",
59
63
  "nonconformities",
64
+ "business-processes",
65
+ "continuity-playbooks",
66
+ "continuity-contacts",
67
+ "recovery-systems",
60
68
  ]).describe("Which ISMS register the row belongs to.");
61
69
 
62
70
  export type IsmsRegistersControllerDeleteRowV1Request = {
@@ -0,0 +1,38 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: bcd04bf05e98
4
+ */
5
+
6
+ import * as z from "zod";
7
+
8
+ /**
9
+ * Vendors to add to the continuity contact list in one confirm action
10
+ */
11
+ export type IsmsRegistersControllerImportVendorsAsContinuityContactsV1RequestBody =
12
+ { vendorIds: Array<string> };
13
+
14
+ export const IsmsRegistersControllerImportVendorsAsContinuityContactsV1RequestBody$zodSchema:
15
+ z.ZodType<
16
+ IsmsRegistersControllerImportVendorsAsContinuityContactsV1RequestBody
17
+ > = z.object({
18
+ vendorIds: z.array(z.string()),
19
+ }).describe(
20
+ "Vendors to add to the continuity contact list in one confirm action",
21
+ );
22
+
23
+ export type IsmsRegistersControllerImportVendorsAsContinuityContactsV1Request =
24
+ {
25
+ id: string;
26
+ body: IsmsRegistersControllerImportVendorsAsContinuityContactsV1RequestBody;
27
+ };
28
+
29
+ export const IsmsRegistersControllerImportVendorsAsContinuityContactsV1Request$zodSchema:
30
+ z.ZodType<IsmsRegistersControllerImportVendorsAsContinuityContactsV1Request> =
31
+ z.object({
32
+ body: z.lazy(() =>
33
+ IsmsRegistersControllerImportVendorsAsContinuityContactsV1RequestBody$zodSchema
34
+ ).describe(
35
+ "Vendors to add to the continuity contact list in one confirm action",
36
+ ),
37
+ id: z.string(),
38
+ });
@@ -29,6 +29,10 @@ export const IsmsRegistersControllerUpdateRowV1Register = {
29
29
  KeyRecords: "key-records",
30
30
  ApprovedSoftware: "approved-software",
31
31
  Nonconformities: "nonconformities",
32
+ BusinessProcesses: "business-processes",
33
+ ContinuityPlaybooks: "continuity-playbooks",
34
+ ContinuityContacts: "continuity-contacts",
35
+ RecoverySystems: "recovery-systems",
32
36
  } as const;
33
37
  /**
34
38
  * Which ISMS register the row belongs to.
@@ -57,6 +61,10 @@ export const IsmsRegistersControllerUpdateRowV1Register$zodSchema = z.enum([
57
61
  "key-records",
58
62
  "approved-software",
59
63
  "nonconformities",
64
+ "business-processes",
65
+ "continuity-playbooks",
66
+ "continuity-contacts",
67
+ "recovery-systems",
60
68
  ]).describe("Which ISMS register the row belongs to.");
61
69
 
62
70
  export const IsmsRegistersControllerUpdateRowV1Kind = {
package/src/tool-names.ts CHANGED
@@ -1266,7 +1266,7 @@ export const toolNames: Array<{ name: string; description: string }>= [
1266
1266
  },
1267
1267
  {
1268
1268
  "name": "set-coverage",
1269
- "description": "Set how much of an ISMS document Comp AI holds\n\nMarks a whole ISMS document as included, maintained outside Comp AI, or not applicable, which requires a written justification. External renders a pointer to where the content lives. Per-section coverage is not available yet."
1269
+ "description": "Set how much of an ISMS document Comp AI holds\n\nMarks an ISMS document, or one section of it, as included, maintained outside Comp AI, or not applicable, which requires a written justification. External renders a pointer to where the content lives; the sections depend on the type."
1270
1270
  },
1271
1271
  {
1272
1272
  "name": "generate",
@@ -1332,6 +1332,10 @@ export const toolNames: Array<{ name: string; description: string }>= [
1332
1332
  "name": "import-vendors-as-software",
1333
1333
  "description": "Add vendors to the Approved Software Register in one action\n\nAdds the chosen vendors as approved software rows in one transaction. Vendors already listed are skipped, not duplicated. \"Where it is used\" is left unanswered: a supplier record does not say where its product runs."
1334
1334
  },
1335
+ {
1336
+ "name": "import-vendors-as-continuity-contacts",
1337
+ "description": "Add vendors to the continuity contact list in one action\n\nAdds the chosen vendors to the Business Continuity Plan contact list in one transaction. Vendors already listed are skipped, not duplicated. The support contact is left blank: a vendor record holds our commercial contact, not their outage."
1338
+ },
1335
1339
  {
1336
1340
  "name": "import-findings-as-nonconformities",
1337
1341
  "description": "Raise register entries from internal-audit findings\n\nRaises the chosen internal-audit findings as entries in the Nonconformity & Corrective Action Register, in one transaction. A finding already imported is skipped, never duplicated. Findings must belong to this register's framework."