@trycompai/mcp-server 0.3.3 → 0.3.5
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.
- package/README.md +2 -2
- package/bin/mcp-server.js +2319 -1685
- package/bin/mcp-server.js.map +23 -13
- package/esm/funcs/ismsISMSControllerSetCoverageV1.d.ts +16 -0
- package/esm/funcs/ismsISMSControllerSetCoverageV1.d.ts.map +1 -0
- package/esm/funcs/ismsISMSControllerSetCoverageV1.js +89 -0
- package/esm/funcs/ismsISMSControllerSetCoverageV1.js.map +1 -0
- package/esm/funcs/ismsISMSRegistersControllerCreateRowV1.d.ts +1 -1
- package/esm/funcs/ismsISMSRegistersControllerCreateRowV1.js +1 -1
- package/esm/funcs/ismsISMSRegistersControllerImportVendorsAsSoftwareV1.d.ts +16 -0
- package/esm/funcs/ismsISMSRegistersControllerImportVendorsAsSoftwareV1.d.ts.map +1 -0
- package/esm/funcs/ismsISMSRegistersControllerImportVendorsAsSoftwareV1.js +89 -0
- package/esm/funcs/ismsISMSRegistersControllerImportVendorsAsSoftwareV1.js.map +1 -0
- package/esm/funcs/policiesPoliciesControllerExtractPolicyDocumentV1.d.ts +16 -0
- package/esm/funcs/policiesPoliciesControllerExtractPolicyDocumentV1.d.ts.map +1 -0
- package/esm/funcs/policiesPoliciesControllerExtractPolicyDocumentV1.js +90 -0
- package/esm/funcs/policiesPoliciesControllerExtractPolicyDocumentV1.js.map +1 -0
- package/esm/landing-page.js +1 -1
- package/esm/lib/config.d.ts +3 -3
- package/esm/lib/config.js +3 -3
- package/esm/mcp-server/mcp-server.js +1 -1
- package/esm/mcp-server/server.d.ts.map +1 -1
- package/esm/mcp-server/server.js +7 -1
- package/esm/mcp-server/server.js.map +1 -1
- package/esm/mcp-server/tools/ismsISMSControllerSetCoverageV1.d.ts +7 -0
- package/esm/mcp-server/tools/ismsISMSControllerSetCoverageV1.d.ts.map +1 -0
- package/esm/mcp-server/tools/ismsISMSControllerSetCoverageV1.js +35 -0
- package/esm/mcp-server/tools/ismsISMSControllerSetCoverageV1.js.map +1 -0
- package/esm/mcp-server/tools/ismsISMSRegistersControllerCreateRowV1.js +1 -1
- package/esm/mcp-server/tools/ismsISMSRegistersControllerCreateRowV1.js.map +1 -1
- package/esm/mcp-server/tools/ismsISMSRegistersControllerImportVendorsAsSoftwareV1.d.ts +7 -0
- package/esm/mcp-server/tools/ismsISMSRegistersControllerImportVendorsAsSoftwareV1.d.ts.map +1 -0
- package/esm/mcp-server/tools/ismsISMSRegistersControllerImportVendorsAsSoftwareV1.js +35 -0
- package/esm/mcp-server/tools/ismsISMSRegistersControllerImportVendorsAsSoftwareV1.js.map +1 -0
- package/esm/mcp-server/tools/policiesPoliciesControllerExtractPolicyDocumentV1.d.ts +7 -0
- package/esm/mcp-server/tools/policiesPoliciesControllerExtractPolicyDocumentV1.d.ts.map +1 -0
- package/esm/mcp-server/tools/policiesPoliciesControllerExtractPolicyDocumentV1.js +35 -0
- package/esm/mcp-server/tools/policiesPoliciesControllerExtractPolicyDocumentV1.js.map +1 -0
- package/esm/models/createriskdto.d.ts +1 -1
- package/esm/models/ismscontrollersetcoveragev1op.d.ts +31 -0
- package/esm/models/ismscontrollersetcoveragev1op.d.ts.map +1 -0
- package/esm/models/ismscontrollersetcoveragev1op.js +28 -0
- package/esm/models/ismscontrollersetcoveragev1op.js.map +1 -0
- package/esm/models/ismsregisterscontrollercreaterowv1op.d.ts +181 -1
- package/esm/models/ismsregisterscontrollercreaterowv1op.d.ts.map +1 -1
- package/esm/models/ismsregisterscontrollercreaterowv1op.js +173 -1
- package/esm/models/ismsregisterscontrollercreaterowv1op.js.map +1 -1
- package/esm/models/ismsregisterscontrollerdeleterowv1op.d.ts +49 -1
- package/esm/models/ismsregisterscontrollerdeleterowv1op.d.ts.map +1 -1
- package/esm/models/ismsregisterscontrollerdeleterowv1op.js +44 -1
- package/esm/models/ismsregisterscontrollerdeleterowv1op.js.map +1 -1
- package/esm/models/ismsregisterscontrollerimportvendorsassoftwarev1op.d.ts +14 -0
- package/esm/models/ismsregisterscontrollerimportvendorsassoftwarev1op.d.ts.map +1 -0
- package/esm/models/ismsregisterscontrollerimportvendorsassoftwarev1op.js +14 -0
- package/esm/models/ismsregisterscontrollerimportvendorsassoftwarev1op.js.map +1 -0
- package/esm/models/ismsregisterscontrollerupdaterowv1op.d.ts +181 -1
- package/esm/models/ismsregisterscontrollerupdaterowv1op.d.ts.map +1 -1
- package/esm/models/ismsregisterscontrollerupdaterowv1op.js +173 -1
- package/esm/models/ismsregisterscontrollerupdaterowv1op.js.map +1 -1
- package/esm/models/policiescontrollerextractpolicydocumentv1op.d.ts +9 -0
- package/esm/models/policiescontrollerextractpolicydocumentv1op.d.ts.map +1 -0
- package/esm/models/policiescontrollerextractpolicydocumentv1op.js +12 -0
- package/esm/models/policiescontrollerextractpolicydocumentv1op.js.map +1 -0
- package/esm/models/policydocumentextractionresponsedto.d.ts +18 -0
- package/esm/models/policydocumentextractionresponsedto.d.ts.map +1 -0
- package/esm/models/policydocumentextractionresponsedto.js +13 -0
- package/esm/models/policydocumentextractionresponsedto.js.map +1 -0
- package/esm/models/requestpolicydocumentextractiondto.d.ts +6 -0
- package/esm/models/requestpolicydocumentextractiondto.d.ts.map +1 -0
- package/esm/models/requestpolicydocumentextractiondto.js +9 -0
- package/esm/models/requestpolicydocumentextractiondto.js.map +1 -0
- package/esm/models/riskscontrollercreateriskv1op.d.ts +1 -1
- package/esm/models/riskscontrollergetallrisksv1op.d.ts +2 -2
- package/esm/models/riskscontrollergetriskbyidv1op.d.ts +1 -1
- package/esm/models/riskscontrollerupdateriskv1op.d.ts +1 -1
- package/esm/models/updateriskdto.d.ts +1 -1
- package/esm/tool-names.d.ts.map +1 -1
- package/esm/tool-names.js +13 -1
- package/esm/tool-names.js.map +1 -1
- package/package.json +8 -4
- package/src/funcs/ismsISMSControllerSetCoverageV1.ts +154 -0
- package/src/funcs/ismsISMSRegistersControllerCreateRowV1.ts +1 -1
- package/src/funcs/ismsISMSRegistersControllerImportVendorsAsSoftwareV1.ts +159 -0
- package/src/funcs/policiesPoliciesControllerExtractPolicyDocumentV1.ts +160 -0
- package/src/landing-page.ts +1 -1
- package/src/lib/config.ts +3 -3
- package/src/mcp-server/mcp-server.ts +1 -1
- package/src/mcp-server/server.ts +7 -1
- package/src/mcp-server/tools/ismsISMSControllerSetCoverageV1.ts +44 -0
- package/src/mcp-server/tools/ismsISMSRegistersControllerCreateRowV1.ts +1 -1
- package/src/mcp-server/tools/ismsISMSRegistersControllerImportVendorsAsSoftwareV1.ts +45 -0
- package/src/mcp-server/tools/policiesPoliciesControllerExtractPolicyDocumentV1.ts +44 -0
- package/src/models/ismscontrollersetcoveragev1op.ts +67 -0
- package/src/models/ismsregisterscontrollercreaterowv1op.ts +249 -2
- package/src/models/ismsregisterscontrollerdeleterowv1op.ts +56 -2
- package/src/models/ismsregisterscontrollerimportvendorsassoftwarev1op.ts +38 -0
- package/src/models/ismsregisterscontrollerupdaterowv1op.ts +249 -2
- package/src/models/policiescontrollerextractpolicydocumentv1op.ts +25 -0
- package/src/models/policydocumentextractionresponsedto.ts +44 -0
- package/src/models/requestpolicydocumentextractiondto.ts +18 -0
- package/src/tool-names.ts +13 -1
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
* @generated-id: ec10e1a51c70
|
|
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
|
+
IsmsRegistersControllerImportVendorsAsSoftwareV1Request,
|
|
24
|
+
IsmsRegistersControllerImportVendorsAsSoftwareV1Request$zodSchema,
|
|
25
|
+
} from "../models/ismsregisterscontrollerimportvendorsassoftwarev1op.js";
|
|
26
|
+
import { APICall, APIPromise } from "../types/async.js";
|
|
27
|
+
import { Result } from "../types/fp.js";
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Add vendors to the Approved Software Register in one action
|
|
31
|
+
*
|
|
32
|
+
* @remarks
|
|
33
|
+
* Adds 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.
|
|
34
|
+
*/
|
|
35
|
+
export function ismsISMSRegistersControllerImportVendorsAsSoftwareV1(
|
|
36
|
+
client$: CompAiCore,
|
|
37
|
+
request: IsmsRegistersControllerImportVendorsAsSoftwareV1Request,
|
|
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: IsmsRegistersControllerImportVendorsAsSoftwareV1Request,
|
|
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
|
+
IsmsRegistersControllerImportVendorsAsSoftwareV1Request$zodSchema.parse(
|
|
81
|
+
value$,
|
|
82
|
+
),
|
|
83
|
+
"Input validation failed",
|
|
84
|
+
);
|
|
85
|
+
if (!parsed$.ok) {
|
|
86
|
+
return [parsed$, { status: "invalid" }];
|
|
87
|
+
}
|
|
88
|
+
const payload$ = parsed$.value;
|
|
89
|
+
const body$ = encodeJSON("body", payload$.body, { explode: true });
|
|
90
|
+
|
|
91
|
+
const pathParams$ = {
|
|
92
|
+
id: encodeSimple("id", payload$.id, {
|
|
93
|
+
explode: false,
|
|
94
|
+
charEncoding: "percent",
|
|
95
|
+
}),
|
|
96
|
+
};
|
|
97
|
+
const path$ = pathToFunc(
|
|
98
|
+
"/v1/isms/documents/{id}/approved-software/import-vendors",
|
|
99
|
+
)(
|
|
100
|
+
pathParams$,
|
|
101
|
+
);
|
|
102
|
+
|
|
103
|
+
const headers$ = new Headers(compactMap({
|
|
104
|
+
"Content-Type": "application/json",
|
|
105
|
+
Accept: "*/*",
|
|
106
|
+
}));
|
|
107
|
+
const securityInput = await extractSecurity(client$._options.security);
|
|
108
|
+
const requestSecurity = resolveGlobalSecurity(securityInput);
|
|
109
|
+
|
|
110
|
+
const context = {
|
|
111
|
+
options: client$._options,
|
|
112
|
+
baseURL: options?.serverURL ?? client$._baseURL ?? "",
|
|
113
|
+
operationID: "IsmsRegistersController_importVendorsAsSoftware_v1",
|
|
114
|
+
oAuth2Scopes: null,
|
|
115
|
+
resolvedSecurity: requestSecurity,
|
|
116
|
+
securitySource: client$._options.security,
|
|
117
|
+
retryConfig: options?.retries
|
|
118
|
+
|| client$._options.retryConfig
|
|
119
|
+
|| { strategy: "none" },
|
|
120
|
+
retryCodes: options?.retryCodes || [
|
|
121
|
+
"429",
|
|
122
|
+
"500",
|
|
123
|
+
"502",
|
|
124
|
+
"503",
|
|
125
|
+
"504",
|
|
126
|
+
],
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
const requestRes = client$._createRequest(context, {
|
|
130
|
+
security: requestSecurity,
|
|
131
|
+
method: "POST",
|
|
132
|
+
baseURL: options?.serverURL,
|
|
133
|
+
path: path$,
|
|
134
|
+
headers: headers$,
|
|
135
|
+
body: body$,
|
|
136
|
+
userAgent: client$._options.userAgent,
|
|
137
|
+
timeoutMs: options?.timeoutMs || client$._options.timeoutMs
|
|
138
|
+
|| 120000,
|
|
139
|
+
}, options);
|
|
140
|
+
if (!requestRes.ok) {
|
|
141
|
+
return [requestRes, { status: "invalid" }];
|
|
142
|
+
}
|
|
143
|
+
const req$ = requestRes.value;
|
|
144
|
+
|
|
145
|
+
const doResult = await client$._do(req$, {
|
|
146
|
+
context,
|
|
147
|
+
errorCodes: [],
|
|
148
|
+
retryConfig: context.retryConfig,
|
|
149
|
+
retryCodes: context.retryCodes,
|
|
150
|
+
});
|
|
151
|
+
if (!doResult.ok) {
|
|
152
|
+
return [doResult, { status: "request-error", request: req$ }];
|
|
153
|
+
}
|
|
154
|
+
return [doResult, {
|
|
155
|
+
status: "complete",
|
|
156
|
+
"request": req$,
|
|
157
|
+
response: doResult.value,
|
|
158
|
+
}];
|
|
159
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
* @generated-id: 734646bd07fa
|
|
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
|
+
PoliciesControllerExtractPolicyDocumentV1Request,
|
|
24
|
+
PoliciesControllerExtractPolicyDocumentV1Request$zodSchema,
|
|
25
|
+
} from "../models/policiescontrollerextractpolicydocumentv1op.js";
|
|
26
|
+
import { APICall, APIPromise } from "../types/async.js";
|
|
27
|
+
import { Result } from "../types/fp.js";
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Re-read an attached policy document into the editor
|
|
31
|
+
*
|
|
32
|
+
* @remarks
|
|
33
|
+
* Queues a fresh read of the PDF already attached to a policy, storing its text as the version's editor content. Use when an uploaded policy still reads as empty because its first read never produced any text.
|
|
34
|
+
*/
|
|
35
|
+
export function policiesPoliciesControllerExtractPolicyDocumentV1(
|
|
36
|
+
client$: CompAiCore,
|
|
37
|
+
request: PoliciesControllerExtractPolicyDocumentV1Request,
|
|
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: PoliciesControllerExtractPolicyDocumentV1Request,
|
|
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
|
+
PoliciesControllerExtractPolicyDocumentV1Request$zodSchema.parse(value$),
|
|
81
|
+
"Input validation failed",
|
|
82
|
+
);
|
|
83
|
+
if (!parsed$.ok) {
|
|
84
|
+
return [parsed$, { status: "invalid" }];
|
|
85
|
+
}
|
|
86
|
+
const payload$ = parsed$.value;
|
|
87
|
+
const body$ = encodeJSON("body", payload$.body, { explode: true });
|
|
88
|
+
|
|
89
|
+
const pathParams$ = {
|
|
90
|
+
id: encodeSimple("id", payload$.id, {
|
|
91
|
+
explode: false,
|
|
92
|
+
charEncoding: "percent",
|
|
93
|
+
}),
|
|
94
|
+
};
|
|
95
|
+
const path$ = pathToFunc("/v1/policies/{id}/extract-document")(
|
|
96
|
+
pathParams$,
|
|
97
|
+
);
|
|
98
|
+
|
|
99
|
+
const headers$ = new Headers(compactMap({
|
|
100
|
+
"Content-Type": "application/json",
|
|
101
|
+
Accept: "application/json",
|
|
102
|
+
"X-Organization-Id": encodeSimple(
|
|
103
|
+
"X-Organization-Id",
|
|
104
|
+
payload$.xOrganizationId,
|
|
105
|
+
{ explode: false, charEncoding: "none" },
|
|
106
|
+
),
|
|
107
|
+
}));
|
|
108
|
+
const securityInput = await extractSecurity(client$._options.security);
|
|
109
|
+
const requestSecurity = resolveGlobalSecurity(securityInput);
|
|
110
|
+
|
|
111
|
+
const context = {
|
|
112
|
+
options: client$._options,
|
|
113
|
+
baseURL: options?.serverURL ?? client$._baseURL ?? "",
|
|
114
|
+
operationID: "PoliciesController_extractPolicyDocument_v1",
|
|
115
|
+
oAuth2Scopes: null,
|
|
116
|
+
resolvedSecurity: requestSecurity,
|
|
117
|
+
securitySource: client$._options.security,
|
|
118
|
+
retryConfig: options?.retries
|
|
119
|
+
|| client$._options.retryConfig
|
|
120
|
+
|| { strategy: "none" },
|
|
121
|
+
retryCodes: options?.retryCodes || [
|
|
122
|
+
"429",
|
|
123
|
+
"500",
|
|
124
|
+
"502",
|
|
125
|
+
"503",
|
|
126
|
+
"504",
|
|
127
|
+
],
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
const requestRes = client$._createRequest(context, {
|
|
131
|
+
security: requestSecurity,
|
|
132
|
+
method: "POST",
|
|
133
|
+
baseURL: options?.serverURL,
|
|
134
|
+
path: path$,
|
|
135
|
+
headers: headers$,
|
|
136
|
+
body: body$,
|
|
137
|
+
userAgent: client$._options.userAgent,
|
|
138
|
+
timeoutMs: options?.timeoutMs || client$._options.timeoutMs
|
|
139
|
+
|| 120000,
|
|
140
|
+
}, options);
|
|
141
|
+
if (!requestRes.ok) {
|
|
142
|
+
return [requestRes, { status: "invalid" }];
|
|
143
|
+
}
|
|
144
|
+
const req$ = requestRes.value;
|
|
145
|
+
|
|
146
|
+
const doResult = await client$._do(req$, {
|
|
147
|
+
context,
|
|
148
|
+
errorCodes: [],
|
|
149
|
+
retryConfig: context.retryConfig,
|
|
150
|
+
retryCodes: context.retryCodes,
|
|
151
|
+
});
|
|
152
|
+
if (!doResult.ok) {
|
|
153
|
+
return [doResult, { status: "request-error", request: req$ }];
|
|
154
|
+
}
|
|
155
|
+
return [doResult, {
|
|
156
|
+
status: "complete",
|
|
157
|
+
"request": req$,
|
|
158
|
+
response: doResult.value,
|
|
159
|
+
}];
|
|
160
|
+
}
|
package/src/landing-page.ts
CHANGED
|
@@ -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.
|
|
934
|
+
<a href="https://github.com/trycompai/comp-v2/releases/download/v0.3.5/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.
|
|
70
|
-
genVersion: "2.
|
|
69
|
+
sdkVersion: "0.3.5",
|
|
70
|
+
genVersion: "2.931.0",
|
|
71
71
|
userAgent:
|
|
72
|
-
"speakeasy-sdk/mcp-typescript 0.3.
|
|
72
|
+
"speakeasy-sdk/mcp-typescript 0.3.5 2.931.0 1.0 @trycompai/mcp-server",
|
|
73
73
|
} as const;
|
package/src/mcp-server/server.ts
CHANGED
|
@@ -173,11 +173,13 @@ import { tool$ismsISMSControllerRemoveControlV1 } from "./tools/ismsISMSControll
|
|
|
173
173
|
import { tool$ismsISMSControllerRemoveDocumentFileV1 } from "./tools/ismsISMSControllerRemoveDocumentFileV1.js";
|
|
174
174
|
import { tool$ismsISMSControllerRiskTreatmentV1 } from "./tools/ismsISMSControllerRiskTreatmentV1.js";
|
|
175
175
|
import { tool$ismsISMSControllerSetContentSourceV1 } from "./tools/ismsISMSControllerSetContentSourceV1.js";
|
|
176
|
+
import { tool$ismsISMSControllerSetCoverageV1 } from "./tools/ismsISMSControllerSetCoverageV1.js";
|
|
176
177
|
import { tool$ismsISMSControllerSubmitForApprovalV1 } from "./tools/ismsISMSControllerSubmitForApprovalV1.js";
|
|
177
178
|
import { tool$ismsISMSControllerUploadDocumentFileV1 } from "./tools/ismsISMSControllerUploadDocumentFileV1.js";
|
|
178
179
|
import { tool$ismsISMSRegistersControllerBulkCreateMeasurementsV1 } from "./tools/ismsISMSRegistersControllerBulkCreateMeasurementsV1.js";
|
|
179
180
|
import { tool$ismsISMSRegistersControllerCreateRowV1 } from "./tools/ismsISMSRegistersControllerCreateRowV1.js";
|
|
180
181
|
import { tool$ismsISMSRegistersControllerDeleteRowV1 } from "./tools/ismsISMSRegistersControllerDeleteRowV1.js";
|
|
182
|
+
import { tool$ismsISMSRegistersControllerImportVendorsAsSoftwareV1 } from "./tools/ismsISMSRegistersControllerImportVendorsAsSoftwareV1.js";
|
|
181
183
|
import { tool$ismsISMSRegistersControllerSaveNarrativeV1 } from "./tools/ismsISMSRegistersControllerSaveNarrativeV1.js";
|
|
182
184
|
import { tool$ismsISMSRegistersControllerUpdateRowV1 } from "./tools/ismsISMSRegistersControllerUpdateRowV1.js";
|
|
183
185
|
import { tool$knowledgeBaseKnowledgeBaseControllerDeleteAllManualAnswersV1 } from "./tools/knowledgeBaseKnowledgeBaseControllerDeleteAllManualAnswersV1.js";
|
|
@@ -257,6 +259,7 @@ import { tool$policiesPoliciesControllerDeletePolicyV1 } from "./tools/policiesP
|
|
|
257
259
|
import { tool$policiesPoliciesControllerDeletePolicyVersionV1 } from "./tools/policiesPoliciesControllerDeletePolicyVersionV1.js";
|
|
258
260
|
import { tool$policiesPoliciesControllerDenyPolicyChangesV1 } from "./tools/policiesPoliciesControllerDenyPolicyChangesV1.js";
|
|
259
261
|
import { tool$policiesPoliciesControllerDownloadAllPoliciesV1 } from "./tools/policiesPoliciesControllerDownloadAllPoliciesV1.js";
|
|
262
|
+
import { tool$policiesPoliciesControllerExtractPolicyDocumentV1 } from "./tools/policiesPoliciesControllerExtractPolicyDocumentV1.js";
|
|
260
263
|
import { tool$policiesPoliciesControllerGetAllPoliciesV1 } from "./tools/policiesPoliciesControllerGetAllPoliciesV1.js";
|
|
261
264
|
import { tool$policiesPoliciesControllerGetPdfSignedUrlV1 } from "./tools/policiesPoliciesControllerGetPdfSignedUrlV1.js";
|
|
262
265
|
import { tool$policiesPoliciesControllerGetPdfUrlV1 } from "./tools/policiesPoliciesControllerGetPdfUrlV1.js";
|
|
@@ -454,7 +457,7 @@ export function createMCPServer(deps: {
|
|
|
454
457
|
}) {
|
|
455
458
|
const server = new McpServer({
|
|
456
459
|
name: "CompAi",
|
|
457
|
-
version: "0.3.
|
|
460
|
+
version: "0.3.5",
|
|
458
461
|
});
|
|
459
462
|
|
|
460
463
|
const getClient = deps.getSDK || (() =>
|
|
@@ -645,6 +648,7 @@ export function createMCPServer(deps: {
|
|
|
645
648
|
tool(tool$policiesPoliciesControllerDeletePolicyPdfV1);
|
|
646
649
|
tool(tool$policiesPoliciesControllerRequestPolicyPdfUploadUrlV1);
|
|
647
650
|
tool(tool$policiesPoliciesControllerConfirmPolicyPdfUploadedV1);
|
|
651
|
+
tool(tool$policiesPoliciesControllerExtractPolicyDocumentV1);
|
|
648
652
|
tool(tool$policiesPoliciesControllerGetPdfUrlV1);
|
|
649
653
|
tool(tool$policiesPoliciesControllerRemovePolicyControlV1);
|
|
650
654
|
tool(tool$policiesPoliciesControllerGetPolicyV1);
|
|
@@ -820,6 +824,7 @@ export function createMCPServer(deps: {
|
|
|
820
824
|
tool(tool$ismsISMSControllerGetDocumentV1);
|
|
821
825
|
tool(tool$ismsISMSControllerAddControlsV1);
|
|
822
826
|
tool(tool$ismsISMSControllerRemoveControlV1);
|
|
827
|
+
tool(tool$ismsISMSControllerSetCoverageV1);
|
|
823
828
|
tool(tool$ismsISMSControllerGenerateV1);
|
|
824
829
|
tool(tool$ismsISMSControllerSubmitForApprovalV1);
|
|
825
830
|
tool(tool$ismsISMSControllerApproveV1);
|
|
@@ -835,6 +840,7 @@ export function createMCPServer(deps: {
|
|
|
835
840
|
tool(tool$ismsISMSRegistersControllerUpdateRowV1);
|
|
836
841
|
tool(tool$ismsISMSRegistersControllerDeleteRowV1);
|
|
837
842
|
tool(tool$ismsISMSRegistersControllerBulkCreateMeasurementsV1);
|
|
843
|
+
tool(tool$ismsISMSRegistersControllerImportVendorsAsSoftwareV1);
|
|
838
844
|
tool(tool$ismsISMSRegistersControllerSaveNarrativeV1);
|
|
839
845
|
tool(tool$taskManagementTaskManagementControllerGetTaskItemsStatsV1);
|
|
840
846
|
tool(tool$taskManagementTaskManagementControllerGetTaskItemsV1);
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
* @generated-id: ec379fd3a90c
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { ismsISMSControllerSetCoverageV1 } from "../../funcs/ismsISMSControllerSetCoverageV1.js";
|
|
7
|
+
import { IsmsControllerSetCoverageV1Request$zodSchema } from "../../models/ismscontrollersetcoveragev1op.js";
|
|
8
|
+
import { formatResult, ToolDefinition } from "../tools.js";
|
|
9
|
+
|
|
10
|
+
const args = {
|
|
11
|
+
request: IsmsControllerSetCoverageV1Request$zodSchema,
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export const tool$ismsISMSControllerSetCoverageV1: ToolDefinition<typeof args> =
|
|
15
|
+
{
|
|
16
|
+
name: "set-coverage",
|
|
17
|
+
description: `Set how much of an ISMS document Comp AI holds
|
|
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.`,
|
|
20
|
+
annotations: {
|
|
21
|
+
"title": "",
|
|
22
|
+
"destructiveHint": false,
|
|
23
|
+
"idempotentHint": false,
|
|
24
|
+
"openWorldHint": false,
|
|
25
|
+
"readOnlyHint": false,
|
|
26
|
+
},
|
|
27
|
+
args,
|
|
28
|
+
tool: async (client, args, ctx) => {
|
|
29
|
+
const [result] = await ismsISMSControllerSetCoverageV1(
|
|
30
|
+
client,
|
|
31
|
+
args.request,
|
|
32
|
+
{ fetchOptions: { signal: ctx.signal } },
|
|
33
|
+
).$inspect();
|
|
34
|
+
|
|
35
|
+
if (!result.ok) {
|
|
36
|
+
return {
|
|
37
|
+
content: [{ type: "text", text: result.error.message }],
|
|
38
|
+
isError: true,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return formatResult(result.value);
|
|
43
|
+
},
|
|
44
|
+
};
|
|
@@ -17,7 +17,7 @@ export const tool$ismsISMSRegistersControllerCreateRowV1: ToolDefinition<
|
|
|
17
17
|
name: "create-row",
|
|
18
18
|
description: `Create a row in an ISMS register
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
Create a row in an ISMS register in Comp AI. Build and maintain the ISO 27001 ISMS document set — scope, leadership commitment, context, interested parties, objectives, roles, monitoring, internal audit, and management review.`,
|
|
21
21
|
annotations: {
|
|
22
22
|
"title": "",
|
|
23
23
|
"destructiveHint": false,
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
* @generated-id: 64e8d6b5a4c3
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { ismsISMSRegistersControllerImportVendorsAsSoftwareV1 } from "../../funcs/ismsISMSRegistersControllerImportVendorsAsSoftwareV1.js";
|
|
7
|
+
import { IsmsRegistersControllerImportVendorsAsSoftwareV1Request$zodSchema } from "../../models/ismsregisterscontrollerimportvendorsassoftwarev1op.js";
|
|
8
|
+
import { formatResult, ToolDefinition } from "../tools.js";
|
|
9
|
+
|
|
10
|
+
const args = {
|
|
11
|
+
request: IsmsRegistersControllerImportVendorsAsSoftwareV1Request$zodSchema,
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export const tool$ismsISMSRegistersControllerImportVendorsAsSoftwareV1:
|
|
15
|
+
ToolDefinition<typeof args> = {
|
|
16
|
+
name: "import-vendors-as-software",
|
|
17
|
+
description: `Add vendors to the Approved Software Register in one action
|
|
18
|
+
|
|
19
|
+
Adds 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.`,
|
|
20
|
+
annotations: {
|
|
21
|
+
"title": "",
|
|
22
|
+
"destructiveHint": false,
|
|
23
|
+
"idempotentHint": false,
|
|
24
|
+
"openWorldHint": false,
|
|
25
|
+
"readOnlyHint": false,
|
|
26
|
+
},
|
|
27
|
+
args,
|
|
28
|
+
tool: async (client, args, ctx) => {
|
|
29
|
+
const [result] =
|
|
30
|
+
await ismsISMSRegistersControllerImportVendorsAsSoftwareV1(
|
|
31
|
+
client,
|
|
32
|
+
args.request,
|
|
33
|
+
{ fetchOptions: { signal: ctx.signal } },
|
|
34
|
+
).$inspect();
|
|
35
|
+
|
|
36
|
+
if (!result.ok) {
|
|
37
|
+
return {
|
|
38
|
+
content: [{ type: "text", text: result.error.message }],
|
|
39
|
+
isError: true,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return formatResult(result.value);
|
|
44
|
+
},
|
|
45
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
* @generated-id: fd7a8fbac445
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { policiesPoliciesControllerExtractPolicyDocumentV1 } from "../../funcs/policiesPoliciesControllerExtractPolicyDocumentV1.js";
|
|
7
|
+
import { PoliciesControllerExtractPolicyDocumentV1Request$zodSchema } from "../../models/policiescontrollerextractpolicydocumentv1op.js";
|
|
8
|
+
import { formatResult, ToolDefinition } from "../tools.js";
|
|
9
|
+
|
|
10
|
+
const args = {
|
|
11
|
+
request: PoliciesControllerExtractPolicyDocumentV1Request$zodSchema,
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export const tool$policiesPoliciesControllerExtractPolicyDocumentV1:
|
|
15
|
+
ToolDefinition<typeof args> = {
|
|
16
|
+
name: "extract-policy-document",
|
|
17
|
+
description: `Re-read an attached policy document into the editor
|
|
18
|
+
|
|
19
|
+
Queues a fresh read of the PDF already attached to a policy, storing its text as the version's editor content. Use when an uploaded policy still reads as empty because its first read never produced any text.`,
|
|
20
|
+
annotations: {
|
|
21
|
+
"title": "",
|
|
22
|
+
"destructiveHint": false,
|
|
23
|
+
"idempotentHint": false,
|
|
24
|
+
"openWorldHint": false,
|
|
25
|
+
"readOnlyHint": false,
|
|
26
|
+
},
|
|
27
|
+
args,
|
|
28
|
+
tool: async (client, args, ctx) => {
|
|
29
|
+
const [result] = await policiesPoliciesControllerExtractPolicyDocumentV1(
|
|
30
|
+
client,
|
|
31
|
+
args.request,
|
|
32
|
+
{ fetchOptions: { signal: ctx.signal } },
|
|
33
|
+
).$inspect();
|
|
34
|
+
|
|
35
|
+
if (!result.ok) {
|
|
36
|
+
return {
|
|
37
|
+
content: [{ type: "text", text: result.error.message }],
|
|
38
|
+
isError: true,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return formatResult(result.value);
|
|
43
|
+
},
|
|
44
|
+
};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
* @generated-id: cdce17718bae
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import * as z from "zod";
|
|
7
|
+
import { ClosedEnum } from "../types/enums.js";
|
|
8
|
+
|
|
9
|
+
export const IsmsControllerSetCoverageV1Status = {
|
|
10
|
+
Included: "included",
|
|
11
|
+
External: "external",
|
|
12
|
+
NotApplicable: "not_applicable",
|
|
13
|
+
} as const;
|
|
14
|
+
export type IsmsControllerSetCoverageV1Status = ClosedEnum<
|
|
15
|
+
typeof IsmsControllerSetCoverageV1Status
|
|
16
|
+
>;
|
|
17
|
+
|
|
18
|
+
export const IsmsControllerSetCoverageV1Status$zodSchema = z.enum([
|
|
19
|
+
"included",
|
|
20
|
+
"external",
|
|
21
|
+
"not_applicable",
|
|
22
|
+
]);
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Coverage decision for a whole ISMS document (per-section coverage is not available yet)
|
|
26
|
+
*/
|
|
27
|
+
export type IsmsControllerSetCoverageV1RequestBody = {
|
|
28
|
+
sectionKey?: string | undefined;
|
|
29
|
+
status: IsmsControllerSetCoverageV1Status;
|
|
30
|
+
externalLocation?: string | null | undefined;
|
|
31
|
+
externalLastReviewedAt?: string | null | undefined;
|
|
32
|
+
naJustification?: string | null | undefined;
|
|
33
|
+
naAnnexAControlRef?: string | null | undefined;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export const IsmsControllerSetCoverageV1RequestBody$zodSchema: z.ZodType<
|
|
37
|
+
IsmsControllerSetCoverageV1RequestBody
|
|
38
|
+
> = z.object({
|
|
39
|
+
externalLastReviewedAt: z.string().nullable().optional().describe(
|
|
40
|
+
"YYYY-MM-DD",
|
|
41
|
+
),
|
|
42
|
+
externalLocation: z.string().nullable().optional(),
|
|
43
|
+
naAnnexAControlRef: z.string().nullable().optional().describe(
|
|
44
|
+
"Annex A control the justification answers, e.g. \"5.1\".",
|
|
45
|
+
),
|
|
46
|
+
naJustification: z.string().nullable().optional(),
|
|
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.",
|
|
49
|
+
),
|
|
50
|
+
status: IsmsControllerSetCoverageV1Status$zodSchema,
|
|
51
|
+
}).describe(
|
|
52
|
+
"Coverage decision for a whole ISMS document (per-section coverage is not available yet)",
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
export type IsmsControllerSetCoverageV1Request = {
|
|
56
|
+
id: string;
|
|
57
|
+
body: IsmsControllerSetCoverageV1RequestBody;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
export const IsmsControllerSetCoverageV1Request$zodSchema: z.ZodType<
|
|
61
|
+
IsmsControllerSetCoverageV1Request
|
|
62
|
+
> = z.object({
|
|
63
|
+
body: z.lazy(() => IsmsControllerSetCoverageV1RequestBody$zodSchema).describe(
|
|
64
|
+
"Coverage decision for a whole ISMS document (per-section coverage is not available yet)",
|
|
65
|
+
),
|
|
66
|
+
id: z.string(),
|
|
67
|
+
});
|