@or-sdk/mcp-tools 0.5.0-beta.4167.0 → 0.5.0-beta.4172.0
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/cjs/McpTools.js +5 -32
- package/dist/cjs/McpTools.js.map +1 -1
- package/dist/esm/McpTools.js +7 -31
- package/dist/esm/McpTools.js.map +1 -1
- package/dist/types/McpTools.d.ts +4 -5
- package/dist/types/McpTools.d.ts.map +1 -1
- package/dist/types/types.d.ts +6 -33
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/McpTools.ts +14 -48
- package/src/types.ts +6 -37
package/dist/cjs/McpTools.js
CHANGED
|
@@ -125,7 +125,7 @@ var McpTools = (function (_super) {
|
|
|
125
125
|
};
|
|
126
126
|
McpTools.prototype.getAvailableMcp = function () {
|
|
127
127
|
return __awaiter(this, arguments, void 0, function (options) {
|
|
128
|
-
var _a, serversResult, discoveryResult,
|
|
128
|
+
var _a, serversResult, discoveryResult, items;
|
|
129
129
|
if (options === void 0) { options = {}; }
|
|
130
130
|
return __generator(this, function (_b) {
|
|
131
131
|
switch (_b.label) {
|
|
@@ -135,42 +135,15 @@ var McpTools = (function (_super) {
|
|
|
135
135
|
])];
|
|
136
136
|
case 1:
|
|
137
137
|
_a = _b.sent(), serversResult = _a[0], discoveryResult = _a[1];
|
|
138
|
-
|
|
139
|
-
? serversResult.value.servers.map(function (s) { return ({
|
|
140
|
-
name: s.label || s.name,
|
|
141
|
-
url: s.url,
|
|
142
|
-
description: s.description,
|
|
143
|
-
flowId: s.flowId,
|
|
144
|
-
flowUrl: s.flowUrl,
|
|
145
|
-
auth: 'bearer',
|
|
146
|
-
source: 'internal',
|
|
147
|
-
}); })
|
|
148
|
-
: [];
|
|
149
|
-
fromDiscovery = discoveryResult.status === 'fulfilled' && discoveryResult.value
|
|
150
|
-
? discoveryResult.value.packages.map(function (p) { return ({
|
|
151
|
-
name: p.package + ' (platform)',
|
|
152
|
-
url: p.url,
|
|
153
|
-
auth: p.auth,
|
|
154
|
-
redirectUrl: p.redirectUrl,
|
|
155
|
-
source: 'discovery',
|
|
156
|
-
}); })
|
|
157
|
-
: [];
|
|
158
|
-
items = __spreadArray(__spreadArray([], fromServers, true), fromDiscovery, true);
|
|
138
|
+
items = __spreadArray(__spreadArray([], (serversResult.status === 'fulfilled' && serversResult.value ? serversResult.value.servers : []), true), (discoveryResult.status === 'fulfilled' && discoveryResult.value ? discoveryResult.value.servers : []), true);
|
|
159
139
|
return [2, {
|
|
160
|
-
|
|
140
|
+
servers: items,
|
|
161
141
|
total: items.length,
|
|
162
142
|
}];
|
|
163
143
|
}
|
|
164
144
|
});
|
|
165
145
|
});
|
|
166
146
|
};
|
|
167
|
-
McpTools.prototype.getOAuthAuthUrlRoute = function (pkg) {
|
|
168
|
-
var url = new URL(pkg.redirectUrl);
|
|
169
|
-
if (url.pathname === "/auth/".concat(pkg.package)) {
|
|
170
|
-
return "".concat(pkg.package, "/auth-url");
|
|
171
|
-
}
|
|
172
|
-
return url.pathname.replace(/^\//, '');
|
|
173
|
-
};
|
|
174
147
|
McpTools.prototype.authorizeOAuthPackage = function (pkg) {
|
|
175
148
|
return __awaiter(this, void 0, void 0, function () {
|
|
176
149
|
var url;
|
|
@@ -178,8 +151,8 @@ var McpTools = (function (_super) {
|
|
|
178
151
|
switch (_a.label) {
|
|
179
152
|
case 0: return [4, this.makeRequest({
|
|
180
153
|
method: 'GET',
|
|
181
|
-
route:
|
|
182
|
-
url: pkg.
|
|
154
|
+
route: '',
|
|
155
|
+
url: pkg.oAuth2RedirectUri,
|
|
183
156
|
})];
|
|
184
157
|
case 1:
|
|
185
158
|
url = (_a.sent()).url;
|
package/dist/cjs/McpTools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"McpTools.js","sourceRoot":"","sources":["../../src/McpTools.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAkD;AAElD,yCAA0C;AAC1C,+CAA+D;
|
|
1
|
+
{"version":3,"file":"McpTools.js","sourceRoot":"","sources":["../../src/McpTools.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/McpTools.js
CHANGED
|
@@ -53,46 +53,22 @@ export class McpTools extends Base {
|
|
|
53
53
|
this._mcpApiUrl ? this.getInternalServers(options) : Promise.resolve(null),
|
|
54
54
|
this._mcpToolsUrl ? this.getDiscovery(options) : Promise.resolve(null),
|
|
55
55
|
]);
|
|
56
|
-
const
|
|
57
|
-
? serversResult.value.servers
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
description: s.description,
|
|
61
|
-
flowId: s.flowId,
|
|
62
|
-
flowUrl: s.flowUrl,
|
|
63
|
-
auth: 'bearer',
|
|
64
|
-
source: 'internal',
|
|
65
|
-
}))
|
|
66
|
-
: [];
|
|
67
|
-
const fromDiscovery = discoveryResult.status === 'fulfilled' && discoveryResult.value
|
|
68
|
-
? discoveryResult.value.packages.map((p) => ({
|
|
69
|
-
name: p.package + ' (platform)',
|
|
70
|
-
url: p.url,
|
|
71
|
-
auth: p.auth,
|
|
72
|
-
redirectUrl: p.redirectUrl,
|
|
73
|
-
source: 'discovery',
|
|
74
|
-
}))
|
|
75
|
-
: [];
|
|
76
|
-
const items = [...fromServers, ...fromDiscovery];
|
|
56
|
+
const items = [
|
|
57
|
+
...(serversResult.status === 'fulfilled' && serversResult.value ? serversResult.value.servers : []),
|
|
58
|
+
...(discoveryResult.status === 'fulfilled' && discoveryResult.value ? discoveryResult.value.servers : []),
|
|
59
|
+
];
|
|
77
60
|
return {
|
|
78
|
-
items,
|
|
61
|
+
servers: items,
|
|
79
62
|
total: items.length,
|
|
80
63
|
};
|
|
81
64
|
});
|
|
82
65
|
}
|
|
83
|
-
getOAuthAuthUrlRoute(pkg) {
|
|
84
|
-
const url = new URL(pkg.redirectUrl);
|
|
85
|
-
if (url.pathname === `/auth/${pkg.package}`) {
|
|
86
|
-
return `${pkg.package}/auth-url`;
|
|
87
|
-
}
|
|
88
|
-
return url.pathname.replace(/^\//, '');
|
|
89
|
-
}
|
|
90
66
|
authorizeOAuthPackage(pkg) {
|
|
91
67
|
return __awaiter(this, void 0, void 0, function* () {
|
|
92
68
|
const { url } = yield this.makeRequest({
|
|
93
69
|
method: 'GET',
|
|
94
|
-
route:
|
|
95
|
-
url: pkg.
|
|
70
|
+
route: '',
|
|
71
|
+
url: pkg.oAuth2RedirectUri,
|
|
96
72
|
});
|
|
97
73
|
return window.open(url, '_blank');
|
|
98
74
|
});
|
package/dist/esm/McpTools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"McpTools.js","sourceRoot":"","sources":["../../src/McpTools.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAgB,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"McpTools.js","sourceRoot":"","sources":["../../src/McpTools.ts"],"names":[],"mappings":"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"}
|
package/dist/types/McpTools.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Base } from '@or-sdk/base';
|
|
2
|
-
import {
|
|
2
|
+
import { CallOptions, Config, InternalServersResponse, McpServer } from './types';
|
|
3
3
|
export declare class McpTools extends Base {
|
|
4
4
|
private readonly _mcpApiUrl?;
|
|
5
5
|
private readonly _mcpToolsUrl?;
|
|
@@ -7,9 +7,8 @@ export declare class McpTools extends Base {
|
|
|
7
7
|
private makeRequest;
|
|
8
8
|
parseError(err: unknown): Error;
|
|
9
9
|
getInternalServers(options?: CallOptions): Promise<InternalServersResponse>;
|
|
10
|
-
getDiscovery(options?: CallOptions): Promise<
|
|
11
|
-
getAvailableMcp(options?: CallOptions): Promise<
|
|
12
|
-
|
|
13
|
-
authorizeOAuthPackage(pkg: OAuthPackage): Promise<Window | null>;
|
|
10
|
+
getDiscovery(options?: CallOptions): Promise<InternalServersResponse>;
|
|
11
|
+
getAvailableMcp(options?: CallOptions): Promise<InternalServersResponse>;
|
|
12
|
+
authorizeOAuthPackage(pkg: McpServer): Promise<Window | null>;
|
|
14
13
|
}
|
|
15
14
|
//# sourceMappingURL=McpTools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"McpTools.d.ts","sourceRoot":"","sources":["../../src/McpTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAgB,MAAM,cAAc,CAAC;AAIlD,OAAO,
|
|
1
|
+
{"version":3,"file":"McpTools.d.ts","sourceRoot":"","sources":["../../src/McpTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAgB,MAAM,cAAc,CAAC;AAIlD,OAAO,EACL,WAAW,EACX,MAAM,EACN,uBAAuB,EACvB,SAAS,EAEV,MAAM,SAAS,CAAC;AAIjB,qBAAa,QAAS,SAAQ,IAAI;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAS;gBAE3B,MAAM,EAAE,MAAM;YAcZ,WAAW;IAIzB,UAAU,CAAC,GAAG,EAAE,OAAO;IASjB,kBAAkB,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAkB/E,YAAY,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAkBzE,eAAe,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAsB5E,qBAAqB,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CASpE"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -10,8 +10,6 @@ export type CallOptions = {
|
|
|
10
10
|
};
|
|
11
11
|
export type McpServer = {
|
|
12
12
|
id: string;
|
|
13
|
-
flowId: string;
|
|
14
|
-
accountId: string;
|
|
15
13
|
name: string;
|
|
16
14
|
description: string;
|
|
17
15
|
version: string;
|
|
@@ -19,46 +17,21 @@ export type McpServer = {
|
|
|
19
17
|
isBearerTokenValidationEnabled: boolean;
|
|
20
18
|
tokenValidationCacheTtlSeconds: number;
|
|
21
19
|
isStandardAuthEndpointsEnabled: boolean;
|
|
20
|
+
isPlatformAuthEnabled: boolean;
|
|
21
|
+
isOAuth2Enabled: boolean;
|
|
22
|
+
oAuth2RedirectUri?: string;
|
|
22
23
|
timeout: number;
|
|
23
24
|
label: string;
|
|
24
25
|
url: string;
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
service?: string;
|
|
27
|
+
params?: Record<string, string>;
|
|
28
|
+
flowUrl?: string;
|
|
27
29
|
};
|
|
28
30
|
export type InternalServersResponse = {
|
|
29
31
|
servers: McpServer[];
|
|
30
32
|
total: number;
|
|
31
33
|
};
|
|
32
|
-
export type McpPackage = {
|
|
33
|
-
package: string;
|
|
34
|
-
url: string;
|
|
35
|
-
auth: 'oauth' | string;
|
|
36
|
-
redirectUrl?: string;
|
|
37
|
-
};
|
|
38
|
-
export type OAuthPackage = McpPackage & {
|
|
39
|
-
auth: 'oauth';
|
|
40
|
-
redirectUrl: string;
|
|
41
|
-
};
|
|
42
34
|
export type OAuthAuthUrlResponse = {
|
|
43
35
|
url: string;
|
|
44
36
|
};
|
|
45
|
-
export type AvailableMcp = {
|
|
46
|
-
name: string;
|
|
47
|
-
url: string;
|
|
48
|
-
description?: string;
|
|
49
|
-
flowId?: string;
|
|
50
|
-
flowUrl?: string;
|
|
51
|
-
auth: 'oauth' | string;
|
|
52
|
-
redirectUrl?: string;
|
|
53
|
-
source: 'internal' | 'discovery';
|
|
54
|
-
};
|
|
55
|
-
export type AvailableMcpResponse = {
|
|
56
|
-
items: AvailableMcp[];
|
|
57
|
-
total: number;
|
|
58
|
-
};
|
|
59
|
-
export type DiscoveryResponse = {
|
|
60
|
-
description: string;
|
|
61
|
-
auth: string;
|
|
62
|
-
packages: McpPackage[];
|
|
63
|
-
};
|
|
64
37
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAKrC,MAAM,MAAM,MAAM,GAAG;IAInB,KAAK,EAAE,KAAK,CAAC;IAKb,YAAY,CAAC,EAAE,MAAM,CAAC;IAKtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAKrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAKrC,MAAM,MAAM,MAAM,GAAG;IAInB,KAAK,EAAE,KAAK,CAAC;IAKb,YAAY,CAAC,EAAE,MAAM,CAAC;IAKtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAKrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB,EAAE,OAAO,CAAC;IACnC,8BAA8B,EAAE,OAAO,CAAC;IACxC,8BAA8B,EAAE,MAAM,CAAC;IACvC,8BAA8B,EAAE,OAAO,CAAC;IACxC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;CACb,CAAC"}
|
package/package.json
CHANGED
package/src/McpTools.ts
CHANGED
|
@@ -3,14 +3,11 @@ import { Base, CalApiParams } from '@or-sdk/base';
|
|
|
3
3
|
import { SERVICE_KEY } from './constants';
|
|
4
4
|
import { createErrorParser, processors } from './error-parser';
|
|
5
5
|
import {
|
|
6
|
-
AvailableMcp,
|
|
7
|
-
AvailableMcpResponse,
|
|
8
6
|
CallOptions,
|
|
9
7
|
Config,
|
|
10
|
-
DiscoveryResponse,
|
|
11
8
|
InternalServersResponse,
|
|
9
|
+
McpServer,
|
|
12
10
|
OAuthAuthUrlResponse,
|
|
13
|
-
OAuthPackage,
|
|
14
11
|
} from './types';
|
|
15
12
|
|
|
16
13
|
const errorParser = createErrorParser(processors.AXIOS);
|
|
@@ -62,14 +59,14 @@ export class McpTools extends Base {
|
|
|
62
59
|
/**
|
|
63
60
|
* Retrieves the MCP discovery information with available packages.
|
|
64
61
|
* @param [options] - The API call options.
|
|
65
|
-
* @returns {Promise<
|
|
62
|
+
* @returns {Promise<InternalServersResponse>} A promise that resolves with the discovery information.
|
|
66
63
|
*/
|
|
67
|
-
async getDiscovery(options: CallOptions = {}): Promise<
|
|
64
|
+
async getDiscovery(options: CallOptions = {}): Promise<InternalServersResponse> {
|
|
68
65
|
if (!this._mcpToolsUrl) {
|
|
69
66
|
throw new Error('mcpToolsUrl is required for getDiscovery');
|
|
70
67
|
}
|
|
71
68
|
|
|
72
|
-
return this.makeRequest<
|
|
69
|
+
return this.makeRequest<InternalServersResponse>({
|
|
73
70
|
method: 'GET',
|
|
74
71
|
route: '',
|
|
75
72
|
url: `${this._mcpToolsUrl}/mcp/discovery`,
|
|
@@ -80,66 +77,35 @@ export class McpTools extends Base {
|
|
|
80
77
|
/**
|
|
81
78
|
* Fetches internal MCP servers and discovery packages in parallel and returns them as a unified list.
|
|
82
79
|
* @param [options] - The API call options.
|
|
83
|
-
* @returns {Promise<
|
|
80
|
+
* @returns {Promise<InternalServersResponse>} A promise that resolves with all available MCP entries.
|
|
84
81
|
*/
|
|
85
|
-
async getAvailableMcp(options: CallOptions = {}): Promise<
|
|
82
|
+
async getAvailableMcp(options: CallOptions = {}): Promise<InternalServersResponse> {
|
|
86
83
|
const [serversResult, discoveryResult] = await Promise.allSettled([
|
|
87
84
|
this._mcpApiUrl ? this.getInternalServers(options) : Promise.resolve(null),
|
|
88
85
|
this._mcpToolsUrl ? this.getDiscovery(options) : Promise.resolve(null),
|
|
89
86
|
]);
|
|
90
87
|
|
|
91
|
-
const
|
|
92
|
-
serversResult.status === 'fulfilled' && serversResult.value
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
url: s.url,
|
|
96
|
-
description: s.description,
|
|
97
|
-
flowId: s.flowId,
|
|
98
|
-
flowUrl: s.flowUrl,
|
|
99
|
-
auth: 'bearer',
|
|
100
|
-
source: 'internal' as const,
|
|
101
|
-
}))
|
|
102
|
-
: [];
|
|
103
|
-
|
|
104
|
-
const fromDiscovery: AvailableMcp[] =
|
|
105
|
-
discoveryResult.status === 'fulfilled' && discoveryResult.value
|
|
106
|
-
? discoveryResult.value.packages.map((p) => ({
|
|
107
|
-
name: p.package + ' (platform)',
|
|
108
|
-
url: p.url,
|
|
109
|
-
auth: p.auth,
|
|
110
|
-
redirectUrl: p.redirectUrl,
|
|
111
|
-
source: 'discovery' as const,
|
|
112
|
-
}))
|
|
113
|
-
: [];
|
|
114
|
-
|
|
115
|
-
const items = [...fromServers, ...fromDiscovery];
|
|
88
|
+
const items = [
|
|
89
|
+
...(serversResult.status === 'fulfilled' && serversResult.value ? serversResult.value.servers : []),
|
|
90
|
+
...(discoveryResult.status === 'fulfilled' && discoveryResult.value ? discoveryResult.value.servers : []),
|
|
91
|
+
];
|
|
116
92
|
|
|
117
93
|
return {
|
|
118
|
-
items,
|
|
94
|
+
servers: items,
|
|
119
95
|
total: items.length,
|
|
120
96
|
};
|
|
121
97
|
}
|
|
122
98
|
|
|
123
|
-
private getOAuthAuthUrlRoute(pkg: OAuthPackage): string {
|
|
124
|
-
const url = new URL(pkg.redirectUrl);
|
|
125
|
-
|
|
126
|
-
if (url.pathname === `/auth/${pkg.package}`) {
|
|
127
|
-
return `${pkg.package}/auth-url`;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
return url.pathname.replace(/^\//, '');
|
|
131
|
-
}
|
|
132
|
-
|
|
133
99
|
/**
|
|
134
100
|
* Opens the OAuth authorization URL for the given package in a new browser window.
|
|
135
101
|
* @param pkg - The OAuth package to authorize.
|
|
136
102
|
* @returns {Window | null} The opened window reference, or null if it could not be opened.
|
|
137
103
|
*/
|
|
138
|
-
async authorizeOAuthPackage(pkg:
|
|
104
|
+
async authorizeOAuthPackage(pkg: McpServer): Promise<Window | null> {
|
|
139
105
|
const { url } = await this.makeRequest<OAuthAuthUrlResponse>({
|
|
140
106
|
method: 'GET',
|
|
141
|
-
route:
|
|
142
|
-
url: pkg.
|
|
107
|
+
route: '',
|
|
108
|
+
url: pkg.oAuth2RedirectUri!,
|
|
143
109
|
});
|
|
144
110
|
|
|
145
111
|
return window.open(url, '_blank');
|
package/src/types.ts
CHANGED
|
@@ -31,8 +31,6 @@ export type CallOptions = {
|
|
|
31
31
|
|
|
32
32
|
export type McpServer = {
|
|
33
33
|
id: string;
|
|
34
|
-
flowId: string;
|
|
35
|
-
accountId: string;
|
|
36
34
|
name: string;
|
|
37
35
|
description: string;
|
|
38
36
|
version: string;
|
|
@@ -40,11 +38,15 @@ export type McpServer = {
|
|
|
40
38
|
isBearerTokenValidationEnabled: boolean;
|
|
41
39
|
tokenValidationCacheTtlSeconds: number;
|
|
42
40
|
isStandardAuthEndpointsEnabled: boolean;
|
|
41
|
+
isPlatformAuthEnabled: boolean;
|
|
42
|
+
isOAuth2Enabled: boolean;
|
|
43
|
+
oAuth2RedirectUri?: string;
|
|
43
44
|
timeout: number;
|
|
44
45
|
label: string;
|
|
45
46
|
url: string;
|
|
46
|
-
|
|
47
|
-
|
|
47
|
+
service?: string;
|
|
48
|
+
params?: Record<string, string>;
|
|
49
|
+
flowUrl?: string;
|
|
48
50
|
};
|
|
49
51
|
|
|
50
52
|
export type InternalServersResponse = {
|
|
@@ -52,40 +54,7 @@ export type InternalServersResponse = {
|
|
|
52
54
|
total: number;
|
|
53
55
|
};
|
|
54
56
|
|
|
55
|
-
export type McpPackage = {
|
|
56
|
-
package: string;
|
|
57
|
-
url: string;
|
|
58
|
-
auth: 'oauth' | string;
|
|
59
|
-
redirectUrl?: string;
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
export type OAuthPackage = McpPackage & {
|
|
63
|
-
auth: 'oauth';
|
|
64
|
-
redirectUrl: string;
|
|
65
|
-
};
|
|
66
|
-
|
|
67
57
|
export type OAuthAuthUrlResponse = {
|
|
68
58
|
url: string;
|
|
69
59
|
};
|
|
70
60
|
|
|
71
|
-
export type AvailableMcp = {
|
|
72
|
-
name: string;
|
|
73
|
-
url: string;
|
|
74
|
-
description?: string;
|
|
75
|
-
flowId?: string;
|
|
76
|
-
flowUrl?: string;
|
|
77
|
-
auth: 'oauth' | string;
|
|
78
|
-
redirectUrl?: string;
|
|
79
|
-
source: 'internal' | 'discovery';
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
export type AvailableMcpResponse = {
|
|
83
|
-
items: AvailableMcp[];
|
|
84
|
-
total: number;
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
export type DiscoveryResponse = {
|
|
88
|
-
description: string;
|
|
89
|
-
auth: string;
|
|
90
|
-
packages: McpPackage[];
|
|
91
|
-
};
|