@meshagent/meshagent 0.44.12 → 0.45.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/CHANGELOG.md +8 -0
- package/dist/browser/index.d.ts +1 -1
- package/dist/browser/index.js +1 -1
- package/dist/browser/meshagent-client.d.ts +390 -372
- package/dist/browser/meshagent-client.js +841 -1040
- package/dist/browser/oauth-scopes.d.ts +1 -1
- package/dist/browser/oauth-scopes.js +64 -14
- package/dist/browser/participant-token.d.ts +68 -20
- package/dist/browser/participant-token.js +232 -61
- package/dist/browser/room-client.d.ts +4 -8
- package/dist/browser/room-client.js +4 -10
- package/dist/browser/services-client.d.ts +11 -0
- package/dist/browser/services-client.js +17 -0
- package/dist/browser/sqlite-client.d.ts +326 -0
- package/dist/browser/sqlite-client.js +630 -0
- package/dist/browser/toolkit-config.d.ts +7 -1
- package/dist/browser/toolkit-config.js +41 -22
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/meshagent-client.d.ts +390 -372
- package/dist/esm/meshagent-client.js +841 -1038
- package/dist/esm/oauth-scopes.d.ts +1 -1
- package/dist/esm/oauth-scopes.js +64 -14
- package/dist/esm/participant-token.d.ts +68 -20
- package/dist/esm/participant-token.js +228 -59
- package/dist/esm/room-client.d.ts +4 -8
- package/dist/esm/room-client.js +4 -10
- package/dist/esm/services-client.d.ts +11 -0
- package/dist/esm/services-client.js +17 -0
- package/dist/esm/sqlite-client.d.ts +326 -0
- package/dist/esm/sqlite-client.js +625 -0
- package/dist/esm/toolkit-config.d.ts +7 -1
- package/dist/esm/toolkit-config.js +41 -22
- package/dist/node/index.d.ts +1 -1
- package/dist/node/index.js +1 -1
- package/dist/node/meshagent-client.d.ts +390 -372
- package/dist/node/meshagent-client.js +841 -1040
- package/dist/node/oauth-scopes.d.ts +1 -1
- package/dist/node/oauth-scopes.js +64 -14
- package/dist/node/participant-token.d.ts +68 -20
- package/dist/node/participant-token.js +232 -61
- package/dist/node/room-client.d.ts +4 -8
- package/dist/node/room-client.js +4 -10
- package/dist/node/services-client.d.ts +11 -0
- package/dist/node/services-client.js +17 -0
- package/dist/node/sqlite-client.d.ts +326 -0
- package/dist/node/sqlite-client.js +630 -0
- package/dist/node/toolkit-config.d.ts +7 -1
- package/dist/node/toolkit-config.js +41 -22
- package/package.json +1 -1
- package/dist/browser/secrets-client.d.ts +0 -112
- package/dist/browser/secrets-client.js +0 -300
- package/dist/esm/secrets-client.d.ts +0 -112
- package/dist/esm/secrets-client.js +0 -296
- package/dist/node/secrets-client.d.ts +0 -112
- package/dist/node/secrets-client.js +0 -300
|
@@ -180,30 +180,19 @@ class Connector {
|
|
|
180
180
|
if (connector == null && this.oauth == null) {
|
|
181
181
|
return true;
|
|
182
182
|
}
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
delegatedTo: agentName,
|
|
187
|
-
});
|
|
188
|
-
return token != null;
|
|
183
|
+
void room;
|
|
184
|
+
void agentName;
|
|
185
|
+
throw new Error("OAuth MCP connections require proxy-backed user secrets");
|
|
189
186
|
}
|
|
190
187
|
async authenticate(client, agent, redirectUri) {
|
|
191
188
|
const connector = this.buildConnectorRef();
|
|
192
189
|
if (connector == null && this.oauth == null) {
|
|
193
190
|
return null;
|
|
194
191
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
const agentName = agent.getAttribute("name");
|
|
200
|
-
return await client.secrets.requestOAuthToken({
|
|
201
|
-
fromParticipantId: localParticipant.id,
|
|
202
|
-
connector,
|
|
203
|
-
oauth: this.oauth,
|
|
204
|
-
redirectUri,
|
|
205
|
-
delegateTo: agentName == null ? null : String(agentName),
|
|
206
|
-
});
|
|
192
|
+
void client;
|
|
193
|
+
void agent;
|
|
194
|
+
void redirectUri;
|
|
195
|
+
throw new Error("OAuth MCP connections require proxy-backed user secrets");
|
|
207
196
|
}
|
|
208
197
|
}
|
|
209
198
|
exports.Connector = Connector;
|
|
@@ -259,7 +248,25 @@ function roomServiceMcpServerUrl({ service, port, endpoint, }) {
|
|
|
259
248
|
const fragment = baseUrl.hash;
|
|
260
249
|
return `${baseUrl.protocol}//${userInfo}${bracketIpv6Host(baseUrl.hostname)}:${portValue}${joinedPath}${query}${fragment}`;
|
|
261
250
|
}
|
|
262
|
-
function
|
|
251
|
+
function proxyMcpServerUrl({ serverUrl, useProxySecret, proxyConfig, }) {
|
|
252
|
+
const secretId = useProxySecret?.trim();
|
|
253
|
+
if (serverUrl == null || secretId == null || secretId.length === 0 || proxyConfig == null) {
|
|
254
|
+
return serverUrl;
|
|
255
|
+
}
|
|
256
|
+
const apiUrl = proxyConfig.apiUrl.trim().replace(/\/+$/, "");
|
|
257
|
+
if (apiUrl.length === 0 || proxyConfig.apiKey.trim().length === 0) {
|
|
258
|
+
throw new Error("meshagent_proxy_config requires apiUrl and apiKey");
|
|
259
|
+
}
|
|
260
|
+
const url = new URL(`${apiUrl}/proxy-request`);
|
|
261
|
+
url.searchParams.set("url", serverUrl);
|
|
262
|
+
url.searchParams.set("secret-id", secretId);
|
|
263
|
+
const user = proxyConfig.user?.trim();
|
|
264
|
+
if (user != null && user.length > 0) {
|
|
265
|
+
url.searchParams.set("user", user);
|
|
266
|
+
}
|
|
267
|
+
return url.toString();
|
|
268
|
+
}
|
|
269
|
+
function mcpConnectorsFromRoomServices({ services, agentName, meshagentProxyConfig, }) {
|
|
263
270
|
const connectors = [];
|
|
264
271
|
for (const service of services) {
|
|
265
272
|
const filter = service.metadata.annotations?.["meshagent.agent.filter"];
|
|
@@ -276,12 +283,24 @@ function mcpConnectorsFromRoomServices({ services, agentName, }) {
|
|
|
276
283
|
name: mcp.label,
|
|
277
284
|
server: new MCPServer({
|
|
278
285
|
serverLabel: mcp.label,
|
|
279
|
-
serverUrl:
|
|
280
|
-
|
|
286
|
+
serverUrl: proxyMcpServerUrl({
|
|
287
|
+
serverUrl: roomServiceMcpServerUrl({ service, port, endpoint }),
|
|
288
|
+
useProxySecret: mcp.use_proxy_secret,
|
|
289
|
+
proxyConfig: meshagentProxyConfig,
|
|
290
|
+
}),
|
|
291
|
+
headers: mcp.use_proxy_secret != null && meshagentProxyConfig != null
|
|
292
|
+
? [
|
|
293
|
+
...(headersFromEndpointSpec(mcp.headers) ?? []),
|
|
294
|
+
new MCPHeader({
|
|
295
|
+
name: "Authorization",
|
|
296
|
+
value: `Bearer ${meshagentProxyConfig.apiKey}`,
|
|
297
|
+
}),
|
|
298
|
+
]
|
|
299
|
+
: headersFromEndpointSpec(mcp.headers),
|
|
281
300
|
requireApproval: mcp.require_approval,
|
|
282
301
|
openaiConnectorId: mcp.openai_connector_id,
|
|
283
302
|
}),
|
|
284
|
-
oauth: mcp.oauth,
|
|
303
|
+
oauth: mcp.use_proxy_secret != null ? undefined : mcp.oauth,
|
|
285
304
|
}));
|
|
286
305
|
}
|
|
287
306
|
}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ export * from './runtime.js';
|
|
|
24
24
|
export * from './schema.js';
|
|
25
25
|
export * from './storage-client.js';
|
|
26
26
|
export * from './services-client.js';
|
|
27
|
-
export * from './
|
|
27
|
+
export * from './sqlite-client.js';
|
|
28
28
|
export * from './stream-controller.js';
|
|
29
29
|
export * from './sync-client.js';
|
|
30
30
|
export * from './api_keys.js';
|
package/dist/esm/index.js
CHANGED
|
@@ -24,7 +24,7 @@ export * from './runtime.js';
|
|
|
24
24
|
export * from './schema.js';
|
|
25
25
|
export * from './storage-client.js';
|
|
26
26
|
export * from './services-client.js';
|
|
27
|
-
export * from './
|
|
27
|
+
export * from './sqlite-client.js';
|
|
28
28
|
export * from './stream-controller.js';
|
|
29
29
|
export * from './sync-client.js';
|
|
30
30
|
export * from './api_keys.js';
|