@xpert-ai/xpert-sdk 0.0.14 → 0.0.16
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/dist/auth/types.d.ts +1 -0
- package/dist/client.d.ts +34 -0
- package/dist/client.js +210 -25
- package/dist/client.js.map +1 -1
- package/dist/client.mjs +210 -25
- package/dist/client.mjs.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -1
- package/dist/mcp/apps.d.ts +11 -0
- package/dist/mcp/apps.js +49 -0
- package/dist/mcp/apps.js.map +1 -0
- package/dist/mcp/apps.mjs +49 -0
- package/dist/mcp/apps.mjs.map +1 -0
- package/dist/mcp/apps.test.d.ts +1 -0
- package/dist/mcp/apps.test.js +77 -0
- package/dist/mcp/apps.test.js.map +1 -0
- package/dist/mcp/apps.test.mjs +77 -0
- package/dist/mcp/apps.test.mjs.map +1 -0
- package/dist/mcp/index.d.ts +11 -0
- package/dist/mcp/index.js +13 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/index.mjs +13 -0
- package/dist/mcp/index.mjs.map +1 -0
- package/dist/mcp/publications.d.ts +27 -0
- package/dist/mcp/publications.js +101 -0
- package/dist/mcp/publications.js.map +1 -0
- package/dist/mcp/publications.mjs +101 -0
- package/dist/mcp/publications.mjs.map +1 -0
- package/dist/mcp/publications.test.d.ts +1 -0
- package/dist/mcp/publications.test.js +176 -0
- package/dist/mcp/publications.test.js.map +1 -0
- package/dist/mcp/publications.test.mjs +176 -0
- package/dist/mcp/publications.test.mjs.map +1 -0
- package/dist/mcp/transport.d.ts +10 -0
- package/dist/mcp/transport.js +2 -0
- package/dist/mcp/transport.js.map +1 -0
- package/dist/mcp/transport.mjs +2 -0
- package/dist/mcp/transport.mjs.map +1 -0
- package/dist/mcp/types.d.ts +326 -0
- package/dist/mcp/types.js +2 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/mcp/types.mjs +2 -0
- package/dist/mcp/types.mjs.map +1 -0
- package/dist/tests/fetch.test.js +16 -0
- package/dist/tests/fetch.test.js.map +1 -1
- package/dist/tests/fetch.test.mjs +16 -0
- package/dist/tests/fetch.test.mjs.map +1 -1
- package/dist/tests/view-hosts.test.d.ts +1 -0
- package/dist/tests/view-hosts.test.js +222 -0
- package/dist/tests/view-hosts.test.js.map +1 -0
- package/dist/tests/view-hosts.test.mjs +222 -0
- package/dist/tests/view-hosts.test.mjs.map +1 -0
- package/dist/view-extension.d.ts +428 -0
- package/dist/view-extension.js +10 -0
- package/dist/view-extension.js.map +1 -0
- package/dist/view-extension.mjs +10 -0
- package/dist/view-extension.mjs.map +1 -0
- package/package.json +5 -5
package/dist/mcp/apps.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
function id(value) {
|
|
2
|
+
return encodeURIComponent(value);
|
|
3
|
+
}
|
|
4
|
+
function params(query) {
|
|
5
|
+
if (!query)
|
|
6
|
+
return undefined;
|
|
7
|
+
return {
|
|
8
|
+
toolsetId: query.toolsetId,
|
|
9
|
+
serverName: query.serverName,
|
|
10
|
+
toolName: query.toolName,
|
|
11
|
+
toolCallId: query.toolCallId,
|
|
12
|
+
resourceUri: query.resourceUri,
|
|
13
|
+
title: query.title,
|
|
14
|
+
token: query.token,
|
|
15
|
+
messageId: query.messageId,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export class McpAppsClient {
|
|
19
|
+
transport;
|
|
20
|
+
constructor(transport) {
|
|
21
|
+
this.transport = transport;
|
|
22
|
+
}
|
|
23
|
+
getResource(appInstanceId, query, options) {
|
|
24
|
+
return this.transport.request(`/xpert-toolset/mcp-apps/${id(appInstanceId)}/resource`, { params: params(query), signal: options?.signal });
|
|
25
|
+
}
|
|
26
|
+
rpc(appInstanceId, request, query, options) {
|
|
27
|
+
return this.transport.request(`/xpert-toolset/mcp-apps/${id(appInstanceId)}/rpc`, {
|
|
28
|
+
method: 'POST',
|
|
29
|
+
json: request,
|
|
30
|
+
params: params(query),
|
|
31
|
+
signal: options?.signal,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
approve(appInstanceId, approvalId, query, options) {
|
|
35
|
+
return this.transport.request(`/xpert-toolset/mcp-apps/${id(appInstanceId)}/approvals/${id(approvalId)}/approve`, { method: 'POST', params: params(query), signal: options?.signal });
|
|
36
|
+
}
|
|
37
|
+
reject(appInstanceId, approvalId, query, options) {
|
|
38
|
+
return this.transport.request(`/xpert-toolset/mcp-apps/${id(appInstanceId)}/approvals/${id(approvalId)}/reject`, { method: 'POST', params: params(query), signal: options?.signal });
|
|
39
|
+
}
|
|
40
|
+
async teardown(appInstanceId, query, options) {
|
|
41
|
+
await this.transport.request(`/xpert-toolset/mcp-apps/${id(appInstanceId)}`, {
|
|
42
|
+
method: 'DELETE',
|
|
43
|
+
params: params(query),
|
|
44
|
+
emptyResponse: undefined,
|
|
45
|
+
signal: options?.signal,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=apps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apps.js","sourceRoot":"","sources":["../../src/mcp/apps.ts"],"names":[],"mappings":"AAQA,SAAS,EAAE,CAAC,KAAa;IACvB,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,MAAM,CAAC,KAAyB;IACvC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;IAAG,CAAC;IAExD,WAAW,CAAC,aAAqB,EAAE,KAAyB,EAAE,OAA2B;QACvF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAC3B,2BAA2B,EAAE,CAAC,aAAa,CAAC,WAAW,EACvD,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACnD,CAAC;IACJ,CAAC;IAED,GAAG,CACD,aAAqB,EACrB,OAAgB,EAChB,KAAyB,EACzB,OAA2B;QAE3B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAI,2BAA2B,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE;YACnF,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;YACrB,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CACL,aAAqB,EACrB,UAAkB,EAClB,KAAyB,EACzB,OAA2B;QAE3B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAC3B,2BAA2B,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,UAAU,EAClF,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACnE,CAAC;IACJ,CAAC;IAED,MAAM,CACJ,aAAqB,EACrB,UAAkB,EAClB,KAAyB,EACzB,OAA2B;QAE3B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAC3B,2BAA2B,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,SAAS,EACjF,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACnE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,aAAqB,EAAE,KAAyB,EAAE,OAA2B;QAC1F,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,2BAA2B,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE;YAC3E,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;YACrB,aAAa,EAAE,SAAS;YACxB,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
function id(value) {
|
|
2
|
+
return encodeURIComponent(value);
|
|
3
|
+
}
|
|
4
|
+
function params(query) {
|
|
5
|
+
if (!query)
|
|
6
|
+
return undefined;
|
|
7
|
+
return {
|
|
8
|
+
toolsetId: query.toolsetId,
|
|
9
|
+
serverName: query.serverName,
|
|
10
|
+
toolName: query.toolName,
|
|
11
|
+
toolCallId: query.toolCallId,
|
|
12
|
+
resourceUri: query.resourceUri,
|
|
13
|
+
title: query.title,
|
|
14
|
+
token: query.token,
|
|
15
|
+
messageId: query.messageId,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export class McpAppsClient {
|
|
19
|
+
transport;
|
|
20
|
+
constructor(transport) {
|
|
21
|
+
this.transport = transport;
|
|
22
|
+
}
|
|
23
|
+
getResource(appInstanceId, query, options) {
|
|
24
|
+
return this.transport.request(`/xpert-toolset/mcp-apps/${id(appInstanceId)}/resource`, { params: params(query), signal: options?.signal });
|
|
25
|
+
}
|
|
26
|
+
rpc(appInstanceId, request, query, options) {
|
|
27
|
+
return this.transport.request(`/xpert-toolset/mcp-apps/${id(appInstanceId)}/rpc`, {
|
|
28
|
+
method: 'POST',
|
|
29
|
+
json: request,
|
|
30
|
+
params: params(query),
|
|
31
|
+
signal: options?.signal,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
approve(appInstanceId, approvalId, query, options) {
|
|
35
|
+
return this.transport.request(`/xpert-toolset/mcp-apps/${id(appInstanceId)}/approvals/${id(approvalId)}/approve`, { method: 'POST', params: params(query), signal: options?.signal });
|
|
36
|
+
}
|
|
37
|
+
reject(appInstanceId, approvalId, query, options) {
|
|
38
|
+
return this.transport.request(`/xpert-toolset/mcp-apps/${id(appInstanceId)}/approvals/${id(approvalId)}/reject`, { method: 'POST', params: params(query), signal: options?.signal });
|
|
39
|
+
}
|
|
40
|
+
async teardown(appInstanceId, query, options) {
|
|
41
|
+
await this.transport.request(`/xpert-toolset/mcp-apps/${id(appInstanceId)}`, {
|
|
42
|
+
method: 'DELETE',
|
|
43
|
+
params: params(query),
|
|
44
|
+
emptyResponse: undefined,
|
|
45
|
+
signal: options?.signal,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=apps.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apps.mjs","sourceRoot":"","sources":["../../src/mcp/apps.ts"],"names":[],"mappings":"AAQA,SAAS,EAAE,CAAC,KAAa;IACvB,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,MAAM,CAAC,KAAyB;IACvC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;IAAG,CAAC;IAExD,WAAW,CAAC,aAAqB,EAAE,KAAyB,EAAE,OAA2B;QACvF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAC3B,2BAA2B,EAAE,CAAC,aAAa,CAAC,WAAW,EACvD,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACnD,CAAC;IACJ,CAAC;IAED,GAAG,CACD,aAAqB,EACrB,OAAgB,EAChB,KAAyB,EACzB,OAA2B;QAE3B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAI,2BAA2B,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE;YACnF,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;YACrB,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CACL,aAAqB,EACrB,UAAkB,EAClB,KAAyB,EACzB,OAA2B;QAE3B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAC3B,2BAA2B,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,UAAU,EAClF,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACnE,CAAC;IACJ,CAAC;IAED,MAAM,CACJ,aAAqB,EACrB,UAAkB,EAClB,KAAyB,EACzB,OAA2B;QAE3B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAC3B,2BAA2B,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,SAAS,EACjF,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACnE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,aAAqB,EAAE,KAAyB,EAAE,OAA2B;QAC1F,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,2BAA2B,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE;YAC3E,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;YACrB,aAAa,EAAE,SAAS;YACxB,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { McpAppsClient } from "./apps.js";
|
|
3
|
+
class RecordingTransport {
|
|
4
|
+
requests = [];
|
|
5
|
+
responses = [];
|
|
6
|
+
request(path, options) {
|
|
7
|
+
this.requests.push({ path, options });
|
|
8
|
+
return Promise.resolve(this.responses.shift());
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
const reviveQuery = {
|
|
12
|
+
toolsetId: 'toolset/1',
|
|
13
|
+
serverName: 'documents',
|
|
14
|
+
toolName: 'search',
|
|
15
|
+
toolCallId: 'call/1',
|
|
16
|
+
resourceUri: 'ui://documents/app.html',
|
|
17
|
+
title: 'Documents',
|
|
18
|
+
token: 'runtime-token',
|
|
19
|
+
messageId: 'message/1',
|
|
20
|
+
};
|
|
21
|
+
describe('McpAppsClient', () => {
|
|
22
|
+
it('routes resource and RPC calls through the authenticated Xpert API client', async () => {
|
|
23
|
+
const transport = new RecordingTransport();
|
|
24
|
+
const client = new McpAppsClient(transport);
|
|
25
|
+
transport.responses.push({ uri: reviveQuery.resourceUri, text: '<html></html>' }, { jsonrpc: '2.0', id: 'rpc-1', result: {} });
|
|
26
|
+
await client.getResource('app/1', reviveQuery);
|
|
27
|
+
await client.rpc('app/1', { jsonrpc: '2.0', id: 'rpc-1', method: 'tools/call' }, reviveQuery);
|
|
28
|
+
expect(transport.requests).toEqual([
|
|
29
|
+
{
|
|
30
|
+
path: '/xpert-toolset/mcp-apps/app%2F1/resource',
|
|
31
|
+
options: { params: reviveQuery, signal: undefined },
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
path: '/xpert-toolset/mcp-apps/app%2F1/rpc',
|
|
35
|
+
options: {
|
|
36
|
+
method: 'POST',
|
|
37
|
+
json: { jsonrpc: '2.0', id: 'rpc-1', method: 'tools/call' },
|
|
38
|
+
params: reviveQuery,
|
|
39
|
+
signal: undefined,
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
]);
|
|
43
|
+
});
|
|
44
|
+
it('encodes approval identifiers and tears down the exact App instance', async () => {
|
|
45
|
+
const transport = new RecordingTransport();
|
|
46
|
+
const client = new McpAppsClient(transport);
|
|
47
|
+
transport.responses.push({
|
|
48
|
+
approved: true,
|
|
49
|
+
approvalId: 'approval/1',
|
|
50
|
+
expiresAt: Date.now() + 60_000,
|
|
51
|
+
toolName: 'update_record',
|
|
52
|
+
risk: 'write',
|
|
53
|
+
}, undefined);
|
|
54
|
+
await client.approve('app/1', 'approval/1', reviveQuery);
|
|
55
|
+
await client.teardown('app/1', reviveQuery);
|
|
56
|
+
expect(transport.requests).toEqual([
|
|
57
|
+
{
|
|
58
|
+
path: '/xpert-toolset/mcp-apps/app%2F1/approvals/approval%2F1/approve',
|
|
59
|
+
options: {
|
|
60
|
+
method: 'POST',
|
|
61
|
+
params: reviveQuery,
|
|
62
|
+
signal: undefined,
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
path: '/xpert-toolset/mcp-apps/app%2F1',
|
|
67
|
+
options: {
|
|
68
|
+
method: 'DELETE',
|
|
69
|
+
params: reviveQuery,
|
|
70
|
+
emptyResponse: undefined,
|
|
71
|
+
signal: undefined,
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
]);
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
//# sourceMappingURL=apps.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apps.test.js","sourceRoot":"","sources":["../../src/mcp/apps.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { McpAppsClient } from "./apps.mjs";
|
|
3
|
+
class RecordingTransport {
|
|
4
|
+
requests = [];
|
|
5
|
+
responses = [];
|
|
6
|
+
request(path, options) {
|
|
7
|
+
this.requests.push({ path, options });
|
|
8
|
+
return Promise.resolve(this.responses.shift());
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
const reviveQuery = {
|
|
12
|
+
toolsetId: 'toolset/1',
|
|
13
|
+
serverName: 'documents',
|
|
14
|
+
toolName: 'search',
|
|
15
|
+
toolCallId: 'call/1',
|
|
16
|
+
resourceUri: 'ui://documents/app.html',
|
|
17
|
+
title: 'Documents',
|
|
18
|
+
token: 'runtime-token',
|
|
19
|
+
messageId: 'message/1',
|
|
20
|
+
};
|
|
21
|
+
describe('McpAppsClient', () => {
|
|
22
|
+
it('routes resource and RPC calls through the authenticated Xpert API client', async () => {
|
|
23
|
+
const transport = new RecordingTransport();
|
|
24
|
+
const client = new McpAppsClient(transport);
|
|
25
|
+
transport.responses.push({ uri: reviveQuery.resourceUri, text: '<html></html>' }, { jsonrpc: '2.0', id: 'rpc-1', result: {} });
|
|
26
|
+
await client.getResource('app/1', reviveQuery);
|
|
27
|
+
await client.rpc('app/1', { jsonrpc: '2.0', id: 'rpc-1', method: 'tools/call' }, reviveQuery);
|
|
28
|
+
expect(transport.requests).toEqual([
|
|
29
|
+
{
|
|
30
|
+
path: '/xpert-toolset/mcp-apps/app%2F1/resource',
|
|
31
|
+
options: { params: reviveQuery, signal: undefined },
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
path: '/xpert-toolset/mcp-apps/app%2F1/rpc',
|
|
35
|
+
options: {
|
|
36
|
+
method: 'POST',
|
|
37
|
+
json: { jsonrpc: '2.0', id: 'rpc-1', method: 'tools/call' },
|
|
38
|
+
params: reviveQuery,
|
|
39
|
+
signal: undefined,
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
]);
|
|
43
|
+
});
|
|
44
|
+
it('encodes approval identifiers and tears down the exact App instance', async () => {
|
|
45
|
+
const transport = new RecordingTransport();
|
|
46
|
+
const client = new McpAppsClient(transport);
|
|
47
|
+
transport.responses.push({
|
|
48
|
+
approved: true,
|
|
49
|
+
approvalId: 'approval/1',
|
|
50
|
+
expiresAt: Date.now() + 60_000,
|
|
51
|
+
toolName: 'update_record',
|
|
52
|
+
risk: 'write',
|
|
53
|
+
}, undefined);
|
|
54
|
+
await client.approve('app/1', 'approval/1', reviveQuery);
|
|
55
|
+
await client.teardown('app/1', reviveQuery);
|
|
56
|
+
expect(transport.requests).toEqual([
|
|
57
|
+
{
|
|
58
|
+
path: '/xpert-toolset/mcp-apps/app%2F1/approvals/approval%2F1/approve',
|
|
59
|
+
options: {
|
|
60
|
+
method: 'POST',
|
|
61
|
+
params: reviveQuery,
|
|
62
|
+
signal: undefined,
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
path: '/xpert-toolset/mcp-apps/app%2F1',
|
|
67
|
+
options: {
|
|
68
|
+
method: 'DELETE',
|
|
69
|
+
params: reviveQuery,
|
|
70
|
+
emptyResponse: undefined,
|
|
71
|
+
signal: undefined,
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
]);
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
//# sourceMappingURL=apps.test.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apps.test.mjs","sourceRoot":"","sources":["../../src/mcp/apps.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { McpAppsClient } from './apps.js';
|
|
2
|
+
import { McpPublicationsClient } from './publications.js';
|
|
3
|
+
import type { McpTransport } from './transport.js';
|
|
4
|
+
export declare class McpClient {
|
|
5
|
+
publications: McpPublicationsClient;
|
|
6
|
+
apps: McpAppsClient;
|
|
7
|
+
constructor(transport: McpTransport);
|
|
8
|
+
}
|
|
9
|
+
export * from './apps.js';
|
|
10
|
+
export * from './publications.js';
|
|
11
|
+
export type * from './types.js';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { McpAppsClient } from "./apps.js";
|
|
2
|
+
import { McpPublicationsClient } from "./publications.js";
|
|
3
|
+
export class McpClient {
|
|
4
|
+
publications;
|
|
5
|
+
apps;
|
|
6
|
+
constructor(transport) {
|
|
7
|
+
this.publications = new McpPublicationsClient(transport);
|
|
8
|
+
this.apps = new McpAppsClient(transport);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export * from "./apps.js";
|
|
12
|
+
export * from "./publications.js";
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"OAAO,EAAE,aAAa,EAAE;OACjB,EAAE,qBAAqB,EAAE;AAGhC,MAAM,OAAO,SAAS;IACb,YAAY,CAAwB;IACpC,IAAI,CAAgB;IAE3B,YAAY,SAAuB;QACjC,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;CACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { McpAppsClient } from "./apps.mjs";
|
|
2
|
+
import { McpPublicationsClient } from "./publications.mjs";
|
|
3
|
+
export class McpClient {
|
|
4
|
+
publications;
|
|
5
|
+
apps;
|
|
6
|
+
constructor(transport) {
|
|
7
|
+
this.publications = new McpPublicationsClient(transport);
|
|
8
|
+
this.apps = new McpAppsClient(transport);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export * from "./apps.mjs";
|
|
12
|
+
export * from "./publications.mjs";
|
|
13
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"OAAO,EAAE,aAAa,EAAE;OACjB,EAAE,qBAAqB,EAAE;AAGhC,MAAM,OAAO,SAAS;IACb,YAAY,CAAwB;IACpC,IAAI,CAAgB;IAE3B,YAAY,SAAuB;QACjC,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;CACF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { McpTransport } from './transport.js';
|
|
2
|
+
import type { CreateMcpApiKeyInput, CreateMcpPublicationInput, McpAuditRequestOptions, McpApiKey, McpApiKeySecret, McpCapabilityBindingInput, McpCapabilityCatalogItem, McpConnectionInfo, McpInvocationAudit, McpOAuthPolicy, McpOAuthPolicyTestResult, McpPagination, McpPublication, McpPublicationSummary, McpPublicationTestResult, PatchMcpCapabilityBindingInput, McpRequestOptions, UpdateMcpPublicationInput, UpsertMcpOAuthPolicyInput } from './types.js';
|
|
3
|
+
export declare class McpPublicationsClient {
|
|
4
|
+
private readonly transport;
|
|
5
|
+
constructor(transport: McpTransport);
|
|
6
|
+
create(input: CreateMcpPublicationInput, options?: McpRequestOptions): Promise<McpPublication>;
|
|
7
|
+
list(options?: McpRequestOptions): Promise<McpPublicationSummary[]>;
|
|
8
|
+
get(publicationId: string, options?: McpRequestOptions): Promise<McpPublication>;
|
|
9
|
+
update(publicationId: string, input: UpdateMcpPublicationInput, options?: McpRequestOptions): Promise<McpPublication>;
|
|
10
|
+
remove(publicationId: string, options?: McpRequestOptions): Promise<void>;
|
|
11
|
+
enable(publicationId: string, options?: McpRequestOptions): Promise<McpPublication>;
|
|
12
|
+
disable(publicationId: string, options?: McpRequestOptions): Promise<McpPublication>;
|
|
13
|
+
availableCapabilities(publicationId: string, options?: McpRequestOptions): Promise<McpCapabilityCatalogItem[]>;
|
|
14
|
+
discoverToolsetCapabilities(toolsetId: string, options?: McpRequestOptions): Promise<McpCapabilityCatalogItem[]>;
|
|
15
|
+
replaceCapabilities(publicationId: string, input: McpCapabilityBindingInput[], options?: McpRequestOptions): Promise<import("./types.js").McpPublicationCapability[]>;
|
|
16
|
+
patchCapability(publicationId: string, capabilityId: string, input: PatchMcpCapabilityBindingInput, options?: McpRequestOptions): Promise<import("./types.js").McpPublicationCapability>;
|
|
17
|
+
createApiKey(publicationId: string, input: CreateMcpApiKeyInput, options?: McpRequestOptions): Promise<McpApiKeySecret>;
|
|
18
|
+
listApiKeys(publicationId: string, options?: McpRequestOptions): Promise<McpApiKey[]>;
|
|
19
|
+
revokeApiKey(keyId: string, options?: McpRequestOptions): Promise<McpApiKey>;
|
|
20
|
+
rotateApiKey(keyId: string, options?: McpRequestOptions): Promise<McpApiKeySecret>;
|
|
21
|
+
getOAuthPolicy(publicationId: string, options?: McpRequestOptions): Promise<McpOAuthPolicy | null>;
|
|
22
|
+
upsertOAuthPolicy(publicationId: string, input: UpsertMcpOAuthPolicyInput, options?: McpRequestOptions): Promise<McpOAuthPolicy>;
|
|
23
|
+
testOAuthPolicy(publicationId: string, options?: McpRequestOptions): Promise<McpOAuthPolicyTestResult>;
|
|
24
|
+
audit(publicationId: string, options?: McpAuditRequestOptions): Promise<McpPagination<McpInvocationAudit>>;
|
|
25
|
+
test(publicationId: string, options?: McpRequestOptions): Promise<McpPublicationTestResult>;
|
|
26
|
+
connectionInfo(publicationId: string, options?: McpRequestOptions): Promise<McpConnectionInfo>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
function id(value) {
|
|
2
|
+
return encodeURIComponent(value);
|
|
3
|
+
}
|
|
4
|
+
export class McpPublicationsClient {
|
|
5
|
+
transport;
|
|
6
|
+
constructor(transport) {
|
|
7
|
+
this.transport = transport;
|
|
8
|
+
}
|
|
9
|
+
create(input, options) {
|
|
10
|
+
return this.transport.request('/mcp-publications', {
|
|
11
|
+
method: 'POST',
|
|
12
|
+
json: input,
|
|
13
|
+
signal: options?.signal,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
list(options) {
|
|
17
|
+
return this.transport.request('/mcp-publications', {
|
|
18
|
+
signal: options?.signal,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
get(publicationId, options) {
|
|
22
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}`, {
|
|
23
|
+
signal: options?.signal,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
update(publicationId, input, options) {
|
|
27
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}`, {
|
|
28
|
+
method: 'PATCH',
|
|
29
|
+
json: input,
|
|
30
|
+
signal: options?.signal,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
async remove(publicationId, options) {
|
|
34
|
+
await this.transport.request(`/mcp-publications/${id(publicationId)}`, {
|
|
35
|
+
method: 'DELETE',
|
|
36
|
+
emptyResponse: undefined,
|
|
37
|
+
signal: options?.signal,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
enable(publicationId, options) {
|
|
41
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/enable`, {
|
|
42
|
+
method: 'POST',
|
|
43
|
+
signal: options?.signal,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
disable(publicationId, options) {
|
|
47
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/disable`, { method: 'POST', signal: options?.signal });
|
|
48
|
+
}
|
|
49
|
+
availableCapabilities(publicationId, options) {
|
|
50
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/available-capabilities`, { signal: options?.signal });
|
|
51
|
+
}
|
|
52
|
+
discoverToolsetCapabilities(toolsetId, options) {
|
|
53
|
+
return this.transport.request(`/mcp-capability-catalog/toolsets/${id(toolsetId)}/discover`, { method: 'POST', signal: options?.signal });
|
|
54
|
+
}
|
|
55
|
+
replaceCapabilities(publicationId, input, options) {
|
|
56
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/capabilities`, { method: 'PUT', json: input, signal: options?.signal });
|
|
57
|
+
}
|
|
58
|
+
patchCapability(publicationId, capabilityId, input, options) {
|
|
59
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/capabilities/${id(capabilityId)}`, { method: 'PATCH', json: input, signal: options?.signal });
|
|
60
|
+
}
|
|
61
|
+
createApiKey(publicationId, input, options) {
|
|
62
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/api-keys`, { method: 'POST', json: input, signal: options?.signal });
|
|
63
|
+
}
|
|
64
|
+
listApiKeys(publicationId, options) {
|
|
65
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/api-keys`, {
|
|
66
|
+
signal: options?.signal,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
revokeApiKey(keyId, options) {
|
|
70
|
+
return this.transport.request(`/mcp-api-keys/${id(keyId)}/revoke`, {
|
|
71
|
+
method: 'POST',
|
|
72
|
+
signal: options?.signal,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
rotateApiKey(keyId, options) {
|
|
76
|
+
return this.transport.request(`/mcp-api-keys/${id(keyId)}/rotate`, {
|
|
77
|
+
method: 'POST',
|
|
78
|
+
signal: options?.signal,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
getOAuthPolicy(publicationId, options) {
|
|
82
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/oauth-policy`, { signal: options?.signal });
|
|
83
|
+
}
|
|
84
|
+
upsertOAuthPolicy(publicationId, input, options) {
|
|
85
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/oauth-policy`, { method: 'PUT', json: input, signal: options?.signal });
|
|
86
|
+
}
|
|
87
|
+
testOAuthPolicy(publicationId, options) {
|
|
88
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/oauth-policy/test`, { method: 'POST', signal: options?.signal });
|
|
89
|
+
}
|
|
90
|
+
audit(publicationId, options = {}) {
|
|
91
|
+
const { skip = 0, take = 10 } = options;
|
|
92
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/audit`, { params: { skip, take }, signal: options.signal });
|
|
93
|
+
}
|
|
94
|
+
test(publicationId, options) {
|
|
95
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/test`, { method: 'POST', signal: options?.signal });
|
|
96
|
+
}
|
|
97
|
+
connectionInfo(publicationId, options) {
|
|
98
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/connection-info`, { signal: options?.signal });
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=publications.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publications.js","sourceRoot":"","sources":["../../src/mcp/publications.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
function id(value) {
|
|
2
|
+
return encodeURIComponent(value);
|
|
3
|
+
}
|
|
4
|
+
export class McpPublicationsClient {
|
|
5
|
+
transport;
|
|
6
|
+
constructor(transport) {
|
|
7
|
+
this.transport = transport;
|
|
8
|
+
}
|
|
9
|
+
create(input, options) {
|
|
10
|
+
return this.transport.request('/mcp-publications', {
|
|
11
|
+
method: 'POST',
|
|
12
|
+
json: input,
|
|
13
|
+
signal: options?.signal,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
list(options) {
|
|
17
|
+
return this.transport.request('/mcp-publications', {
|
|
18
|
+
signal: options?.signal,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
get(publicationId, options) {
|
|
22
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}`, {
|
|
23
|
+
signal: options?.signal,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
update(publicationId, input, options) {
|
|
27
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}`, {
|
|
28
|
+
method: 'PATCH',
|
|
29
|
+
json: input,
|
|
30
|
+
signal: options?.signal,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
async remove(publicationId, options) {
|
|
34
|
+
await this.transport.request(`/mcp-publications/${id(publicationId)}`, {
|
|
35
|
+
method: 'DELETE',
|
|
36
|
+
emptyResponse: undefined,
|
|
37
|
+
signal: options?.signal,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
enable(publicationId, options) {
|
|
41
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/enable`, {
|
|
42
|
+
method: 'POST',
|
|
43
|
+
signal: options?.signal,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
disable(publicationId, options) {
|
|
47
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/disable`, { method: 'POST', signal: options?.signal });
|
|
48
|
+
}
|
|
49
|
+
availableCapabilities(publicationId, options) {
|
|
50
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/available-capabilities`, { signal: options?.signal });
|
|
51
|
+
}
|
|
52
|
+
discoverToolsetCapabilities(toolsetId, options) {
|
|
53
|
+
return this.transport.request(`/mcp-capability-catalog/toolsets/${id(toolsetId)}/discover`, { method: 'POST', signal: options?.signal });
|
|
54
|
+
}
|
|
55
|
+
replaceCapabilities(publicationId, input, options) {
|
|
56
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/capabilities`, { method: 'PUT', json: input, signal: options?.signal });
|
|
57
|
+
}
|
|
58
|
+
patchCapability(publicationId, capabilityId, input, options) {
|
|
59
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/capabilities/${id(capabilityId)}`, { method: 'PATCH', json: input, signal: options?.signal });
|
|
60
|
+
}
|
|
61
|
+
createApiKey(publicationId, input, options) {
|
|
62
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/api-keys`, { method: 'POST', json: input, signal: options?.signal });
|
|
63
|
+
}
|
|
64
|
+
listApiKeys(publicationId, options) {
|
|
65
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/api-keys`, {
|
|
66
|
+
signal: options?.signal,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
revokeApiKey(keyId, options) {
|
|
70
|
+
return this.transport.request(`/mcp-api-keys/${id(keyId)}/revoke`, {
|
|
71
|
+
method: 'POST',
|
|
72
|
+
signal: options?.signal,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
rotateApiKey(keyId, options) {
|
|
76
|
+
return this.transport.request(`/mcp-api-keys/${id(keyId)}/rotate`, {
|
|
77
|
+
method: 'POST',
|
|
78
|
+
signal: options?.signal,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
getOAuthPolicy(publicationId, options) {
|
|
82
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/oauth-policy`, { signal: options?.signal });
|
|
83
|
+
}
|
|
84
|
+
upsertOAuthPolicy(publicationId, input, options) {
|
|
85
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/oauth-policy`, { method: 'PUT', json: input, signal: options?.signal });
|
|
86
|
+
}
|
|
87
|
+
testOAuthPolicy(publicationId, options) {
|
|
88
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/oauth-policy/test`, { method: 'POST', signal: options?.signal });
|
|
89
|
+
}
|
|
90
|
+
audit(publicationId, options = {}) {
|
|
91
|
+
const { skip = 0, take = 10 } = options;
|
|
92
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/audit`, { params: { skip, take }, signal: options.signal });
|
|
93
|
+
}
|
|
94
|
+
test(publicationId, options) {
|
|
95
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/test`, { method: 'POST', signal: options?.signal });
|
|
96
|
+
}
|
|
97
|
+
connectionInfo(publicationId, options) {
|
|
98
|
+
return this.transport.request(`/mcp-publications/${id(publicationId)}/connection-info`, { signal: options?.signal });
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=publications.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publications.mjs","sourceRoot":"","sources":["../../src/mcp/publications.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|