toolhome 0.6.7 → 0.6.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.md +25 -0
  2. package/README.zh.md +25 -0
  3. package/dist/server/app.d.ts.map +1 -1
  4. package/dist/server/app.js +1 -1
  5. package/dist/server/app.js.map +1 -1
  6. package/dist/server/cli/main.js +7 -0
  7. package/dist/server/cli/main.js.map +1 -1
  8. package/dist/server/config.d.ts +12 -0
  9. package/dist/server/config.d.ts.map +1 -1
  10. package/dist/server/config.js +4 -0
  11. package/dist/server/config.js.map +1 -1
  12. package/dist/server/data-plane/compact-protocol.d.ts +111 -0
  13. package/dist/server/data-plane/compact-protocol.d.ts.map +1 -0
  14. package/dist/server/data-plane/compact-protocol.js +416 -0
  15. package/dist/server/data-plane/compact-protocol.js.map +1 -0
  16. package/dist/server/data-plane/compact-state.d.ts +28 -0
  17. package/dist/server/data-plane/compact-state.d.ts.map +1 -0
  18. package/dist/server/data-plane/compact-state.js +97 -0
  19. package/dist/server/data-plane/compact-state.js.map +1 -0
  20. package/dist/server/data-plane/data-plane.d.ts.map +1 -1
  21. package/dist/server/data-plane/data-plane.js +4 -0
  22. package/dist/server/data-plane/data-plane.js.map +1 -1
  23. package/dist/server/data-plane/gateway-server.d.ts +7 -1
  24. package/dist/server/data-plane/gateway-server.d.ts.map +1 -1
  25. package/dist/server/data-plane/gateway-server.js +333 -6
  26. package/dist/server/data-plane/gateway-server.js.map +1 -1
  27. package/dist/server/data-plane/registry.d.ts +1 -0
  28. package/dist/server/data-plane/registry.d.ts.map +1 -1
  29. package/dist/server/data-plane/registry.js +3 -0
  30. package/dist/server/data-plane/registry.js.map +1 -1
  31. package/dist/server/data-plane/tool-catalog.d.ts +71 -0
  32. package/dist/server/data-plane/tool-catalog.d.ts.map +1 -0
  33. package/dist/server/data-plane/tool-catalog.js +667 -0
  34. package/dist/server/data-plane/tool-catalog.js.map +1 -0
  35. package/dist/server/market/catalog.d.ts +5 -1
  36. package/dist/server/market/catalog.d.ts.map +1 -1
  37. package/dist/server/market/catalog.js +4 -1
  38. package/dist/server/market/catalog.js.map +1 -1
  39. package/dist/server/market/market-service.d.ts.map +1 -1
  40. package/dist/server/market/market-service.js +15 -7
  41. package/dist/server/market/market-service.js.map +1 -1
  42. package/dist/server/node/local-gateway.d.ts +20 -0
  43. package/dist/server/node/local-gateway.d.ts.map +1 -1
  44. package/dist/server/node/local-gateway.js +85 -1
  45. package/dist/server/node/local-gateway.js.map +1 -1
  46. package/dist/server/upstream/adapter.d.ts +39 -2
  47. package/dist/server/upstream/adapter.d.ts.map +1 -1
  48. package/dist/server/upstream/adapter.js +180 -62
  49. package/dist/server/upstream/adapter.js.map +1 -1
  50. package/dist/server/upstream/manager.d.ts +9 -2
  51. package/dist/server/upstream/manager.d.ts.map +1 -1
  52. package/dist/server/upstream/manager.js +19 -2
  53. package/dist/server/upstream/manager.js.map +1 -1
  54. package/dist/server/upstream/oauth-service.d.ts.map +1 -1
  55. package/dist/server/upstream/oauth-service.js +78 -0
  56. package/dist/server/upstream/oauth-service.js.map +1 -1
  57. package/package.json +1 -1
  58. package/skills/toolhome/SKILL.md +23 -0
  59. package/skills/toolhome/references/cli-reference.md +19 -0
  60. package/skills/toolhome/references/deployment.md +3 -0
  61. package/skills/toolhome/references/troubleshooting.md +18 -0
@@ -2,7 +2,7 @@ import { type ClientCapabilities, type Notification, type ServerContext } from '
2
2
  import { type CapabilitySnapshot, type ServerRecord } from '../domain/models.js';
3
3
  import type { Logger } from '../observability/logger.js';
4
4
  import type { Store } from '../storage/store.js';
5
- import { type BridgeTransforms, type UpstreamEvent, type UpstreamRequest } from './adapter.js';
5
+ import { type BridgeTransforms, type ExecutionOptions, type TerminationResult, type UpstreamEvent, type UpstreamRequest } from './adapter.js';
6
6
  import type { CredentialSource } from './credential-resolver.js';
7
7
  type UpstreamEventListener = (event: UpstreamEvent) => void;
8
8
  export declare class UpstreamManager {
@@ -16,7 +16,14 @@ export declare class UpstreamManager {
16
16
  */
17
17
  hosts(server: ServerRecord): boolean;
18
18
  subscribe(listener: UpstreamEventListener): () => void;
19
- execute(serverId: string, request: UpstreamRequest, context: ServerContext, clientCapabilities: ClientCapabilities, transforms?: BridgeTransforms): Promise<unknown>;
19
+ execute(serverId: string, request: UpstreamRequest, context: ServerContext, clientCapabilities: ClientCapabilities, transforms?: BridgeTransforms, executionOptions?: ExecutionOptions): Promise<unknown>;
20
+ /**
21
+ * Release the pending state bound to a signed continuation using only an
22
+ * adapter this manager already created. This must never build an adapter,
23
+ * connect, or wait for a slot: termination exists to free pending work, not
24
+ * to start any. A missing adapter reports an explicit no-op.
25
+ */
26
+ terminateContinuation(serverId: string, requestState: string, reason?: string): TerminationResult;
20
27
  notify(serverId: string, notification: Notification, context: ServerContext, clientCapabilities: ClientCapabilities): Promise<void>;
21
28
  notifyDetached(serverId: string, notification: Notification, clientCapabilities: ClientCapabilities): Promise<void>;
22
29
  subscribeResources(serverId: string, uris: string[], clientCapabilities: ClientCapabilities): Promise<() => Promise<void>>;
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/upstream/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAEL,KAAK,kBAAkB,EAEvB,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,KAAK,qBAAqB,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;AAO5D,qBAAa,eAAe;;IAW1B,YACE,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,gBAAgB,EAC7B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAA;KAAO,EAS9D;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAEnC;IAED,SAAS,CAAC,QAAQ,EAAE,qBAAqB,GAAG,MAAM,IAAI,CAGrD;IAEK,OAAO,CACX,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,aAAa,EACtB,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,GAAE,gBAAqB,GAChC,OAAO,CAAC,OAAO,CAAC,CAkBlB;IAEK,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,aAAa,EACtB,kBAAkB,EAAE,kBAAkB,GACrC,OAAO,CAAC,IAAI,CAAC,CAIf;IAEK,cAAc,CAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,kBAAkB,GACrC,OAAO,CAAC,IAAI,CAAC,CAIf;IAEK,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EAAE,EACd,kBAAkB,EAAE,kBAAkB,GACrC,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAI9B;IAED,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAMrD;IAEK,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAc3D;IAEK,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI5C;IAEK,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBhD;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAM3B;CAuOF"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/upstream/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAEL,KAAK,kBAAkB,EAEvB,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,KAAK,qBAAqB,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;AAO5D,qBAAa,eAAe;;IAW1B,YACE,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,gBAAgB,EAC7B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAA;KAAO,EAS9D;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAEnC;IAED,SAAS,CAAC,QAAQ,EAAE,qBAAqB,GAAG,MAAM,IAAI,CAGrD;IAEK,OAAO,CACX,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,aAAa,EACtB,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,GAAE,gBAAqB,EACjC,gBAAgB,GAAE,gBAAqB,GACtC,OAAO,CAAC,OAAO,CAAC,CAsBlB;IAED;;;;;OAKG;IACH,qBAAqB,CACnB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,iBAAiB,CAUnB;IAEK,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,aAAa,EACtB,kBAAkB,EAAE,kBAAkB,GACrC,OAAO,CAAC,IAAI,CAAC,CAIf;IAEK,cAAc,CAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,kBAAkB,GACrC,OAAO,CAAC,IAAI,CAAC,CAIf;IAEK,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EAAE,EACd,kBAAkB,EAAE,kBAAkB,GACrC,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAI9B;IAED,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAMrD;IAEK,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAc3D;IAEK,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI5C;IAEK,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBhD;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAM3B;CAuOF"}
@@ -32,7 +32,7 @@ export class UpstreamManager {
32
32
  this.#listeners.add(listener);
33
33
  return () => this.#listeners.delete(listener);
34
34
  }
35
- async execute(serverId, request, context, clientCapabilities, transforms = {}) {
35
+ async execute(serverId, request, context, clientCapabilities, transforms = {}, executionOptions = {}) {
36
36
  const server = this.#requireServer(serverId, true);
37
37
  const adapter = await this.#adapterFor(server);
38
38
  try {
@@ -40,7 +40,7 @@ export class UpstreamManager {
40
40
  context,
41
41
  clientCapabilities,
42
42
  ...transforms,
43
- });
43
+ }, executionOptions);
44
44
  if (!context.mcpReq.signal.aborted)
45
45
  this.#markReady(server, adapter);
46
46
  return result;
@@ -53,6 +53,23 @@ export class UpstreamManager {
53
53
  throw error;
54
54
  }
55
55
  }
56
+ /**
57
+ * Release the pending state bound to a signed continuation using only an
58
+ * adapter this manager already created. This must never build an adapter,
59
+ * connect, or wait for a slot: termination exists to free pending work, not
60
+ * to start any. A missing adapter reports an explicit no-op.
61
+ */
62
+ terminateContinuation(serverId, requestState, reason) {
63
+ const adapter = this.#adapters.get(serverId)?.adapter;
64
+ if (!adapter) {
65
+ return {
66
+ kind: 'unknown',
67
+ terminated: false,
68
+ limitation: 'No live adapter for this server; nothing to terminate.',
69
+ };
70
+ }
71
+ return adapter.terminateContinuation(requestState, reason);
72
+ }
56
73
  async notify(serverId, notification, context, clientCapabilities) {
57
74
  const server = this.#requireServer(serverId, true);
58
75
  const adapter = await this.#adapterFor(server);
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/upstream/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/upstream/manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-service.d.ts","sourceRoot":"","sources":["../../../src/upstream/oauth-service.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAQpD,qBAAa,oBAAoB;;IAO/B,YACE,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,GAAG,EACd,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,MAAM,EACd,WAAW,UAAO,EAOnB;IAQD,QAAQ,CAAC,YAAY,EAAE,MAAM;;;;;;;;;;;;;;;;;;MAE5B;IAEK,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,GAAE,OAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmDpD;IAEK,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA6H5E,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;gBAAE,IAAI,EAAE,iBAAiB,CAAA;aAAE,CAAC;;;;;;;;;;;;;;;;;;OA9F3E;IAEK,MAAM,CAAC,YAAY,EAAE,MAAM;;;;;uBAYlB,eAAe,GAAG,cAAc;gBACvC,OAAO;qBACF,MAAM;;;;;;;;;;;OAqClB;CA+FF"}
1
+ {"version":3,"file":"oauth-service.d.ts","sourceRoot":"","sources":["../../../src/upstream/oauth-service.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAQpD,qBAAa,oBAAoB;;IAO/B,YACE,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,GAAG,EACd,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,MAAM,EACd,WAAW,UAAO,EAOnB;IAQD,QAAQ,CAAC,YAAY,EAAE,MAAM;;;;;;;;;;;;;;;;;;MAE5B;IAEK,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,GAAE,OAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0DpD;IAEK,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA6H5E,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;gBAAE,IAAI,EAAE,iBAAiB,CAAA;aAAE,CAAC;;;;;;;;;;;;;;;;;;OA9F3E;IAEK,MAAM,CAAC,YAAY,EAAE,MAAM;;;;;uBAYlB,eAAe,GAAG,cAAc;gBACvC,OAAO;qBACF,MAAM;;;;;;;;;;;OAqClB;CAyKF"}
@@ -32,6 +32,9 @@ export class UpstreamOAuthService {
32
32
  const server = this.#serverFor(credentialId, input.serverId);
33
33
  const provider = this.#provider(credentialId, server.settings.urlClientId ?? this.#urlClientId);
34
34
  const payload = this.#oauthPayload(credentialId);
35
+ if (!(await this.#advertisesAuthorizationServer(server))) {
36
+ throw new AppError('oauth_not_supported', `${server.transport.url} publishes no OAuth authorization server, so this credential cannot be authorized. If the server needs no credentials, delete the credential and keep the server.`, 400);
37
+ }
35
38
  if (input.force) {
36
39
  // A forced flow starts over: discard any previously registered client so
37
40
  // the next authorization re-registers under the current configuration
@@ -191,6 +194,81 @@ export class UpstreamOAuthService {
191
194
  }
192
195
  return payload;
193
196
  }
197
+ /**
198
+ * Whether the upstream publishes enough OAuth metadata to authorize against.
199
+ *
200
+ * A resource that declares protected-resource metadata naming an
201
+ * authorization server, publishes authorization-server metadata itself, or
202
+ * answers with a `resource_metadata` challenge can be authorized. An upstream
203
+ * that does none of these has no authorization server at all (for example a
204
+ * public endpoint that needs no credentials): starting a flow against it only
205
+ * fails later inside dynamic client registration, leaving the credential
206
+ * permanently pending.
207
+ */
208
+ async #advertisesAuthorizationServer(server) {
209
+ const resource = new URL(server.transport.url);
210
+ const protectedResource = [
211
+ new URL(`/.well-known/oauth-protected-resource${resource.pathname}`, resource.origin),
212
+ new URL('/.well-known/oauth-protected-resource', resource.origin),
213
+ ];
214
+ for (const url of protectedResource) {
215
+ const body = await this.#fetchJson(url);
216
+ const issuers = body?.authorization_servers;
217
+ if (!Array.isArray(issuers))
218
+ continue;
219
+ for (const issuer of issuers) {
220
+ if (typeof issuer !== 'string')
221
+ continue;
222
+ if (await this.#publishesAuthorizationServer(new URL(issuer)))
223
+ return true;
224
+ }
225
+ }
226
+ if (await this.#publishesAuthorizationServer(new URL(resource.origin)))
227
+ return true;
228
+ try {
229
+ // Some servers skip the metadata documents and reply 401 with a
230
+ // `resource_metadata` challenge; treat that as authorization-capable so a
231
+ // supported provider is never blocked here.
232
+ const response = await fetch(resource, {
233
+ method: 'GET',
234
+ redirect: 'follow',
235
+ headers: { accept: 'application/json, text/event-stream' },
236
+ signal: AbortSignal.timeout(8_000),
237
+ });
238
+ const challenge = response.headers.get('www-authenticate');
239
+ return challenge !== null && /resource_metadata/i.test(challenge);
240
+ }
241
+ catch {
242
+ return false;
243
+ }
244
+ }
245
+ async #publishesAuthorizationServer(issuer) {
246
+ for (const path of [
247
+ '/.well-known/oauth-authorization-server',
248
+ '/.well-known/openid-configuration',
249
+ ]) {
250
+ const body = await this.#fetchJson(new URL(path, issuer));
251
+ if (typeof body?.authorization_endpoint === 'string')
252
+ return true;
253
+ }
254
+ return false;
255
+ }
256
+ async #fetchJson(url) {
257
+ try {
258
+ const response = await fetch(url, {
259
+ headers: { accept: 'application/json' },
260
+ redirect: 'follow',
261
+ signal: AbortSignal.timeout(8_000),
262
+ });
263
+ if (!response.ok)
264
+ return null;
265
+ const body = await response.json();
266
+ return typeof body === 'object' && body !== null ? body : null;
267
+ }
268
+ catch {
269
+ return null;
270
+ }
271
+ }
194
272
  async #reload(server) {
195
273
  await this.#upstreams.remove(server.id);
196
274
  if (!server.enabled)
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-service.js","sourceRoot":"","sources":["../../../src/upstream/oauth-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-service.js","sourceRoot":"","sources":["../../../src/upstream/oauth-service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,IAAI,GAEL,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAK/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAC7B,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAClC,CAAC,CAAC;AAEH,MAAM,OAAO,oBAAoB;IACtB,MAAM,CAAQ;IACd,UAAU,CAAM;IAChB,UAAU,CAAkB;IAC5B,OAAO,CAAS;IAChB,YAAY,CAAU;IAE/B,YACE,KAAY,EACZ,SAAc,EACd,SAA0B,EAC1B,MAAc,EACd,WAAW,GAAG,IAAI;QAElB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IAED,SAAS,CAAC,YAAoB,EAAE,WAAW,GAAG,IAAI,CAAC,YAAY;QAC7D,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE;YACzE,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,YAAoB;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,YAAoB,EAAE,KAAK,GAAY,EAAE;QACnD,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAC7B,YAAY,EACZ,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,CACjD,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,QAAQ,CAChB,qBAAqB,EACrB,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,mKAAmK,EAC1L,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,yEAAyE;YACzE,sEAAsE;YACtE,mDAAmD;YACnD,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE;YAClC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG;YAC/B,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YAChE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvD,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9C,OAAO;gBACL,MAAM,EAAE,YAAY;gBACpB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC;gBACnD,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,UAAU;aACX,CAAC;QACJ,CAAC;QACD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QACrD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,QAAQ,CAChB,wBAAwB,EACxB,gDAAgD,EAChD,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YACtB,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,kCAAkC;YACxC,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,OAAO,EAAE,mCAAmC,MAAM,CAAC,IAAI,EAAE;YACzD,MAAM,EAAE,EAAE,YAAY,EAAE;SACzB,CAAC,CAAC;QACH,OAAO;YACL,MAAM,EAAE,wBAAwB;YAChC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC;YACnD,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,gBAAgB;YAChB,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE;SAC7C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,YAAoB,EAAE,KAAoD;QACvF,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAC7B,YAAY,EACZ,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,CACjD,CAAC;QACF,QAAQ,CAAC,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE;YAClC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG;YAC/B,iBAAiB,EAAE,KAAK,CAAC,IAAI;YAC7B,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;YACtD,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;SACjE,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,MAAM,IAAI,QAAQ,CAAC,2BAA2B,EAAE,sCAAsC,EAAE,GAAG,CAAC,CAAC;QAC/F,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YACtB,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,OAAO,EAAE,cAAc,MAAM,CAAC,IAAI,EAAE;YACpC,MAAM,EAAE,EAAE,YAAY,EAAE;SACzB,CAAC,CAAC;QACH,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,MAAM;YACN,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC;YACnD,UAAU;SACX,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,YAAoB;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAC7B,YAAY,EACZ,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,CACjD,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,EAAE,2BAA2B,CAAC;QACrE,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1F,MAAM,QAAQ,GAAG,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,MAAM,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QACvD,MAAM,QAAQ,GAIR,EAAE,CAAC;QACT,IAAI,QAAQ,EAAE,CAAC;YACb,yBAAyB,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBACzB,QAAQ,CAAC,IAAI,CACX,MAAM,IAAI,CAAC,YAAY,CACrB,QAAQ,EACR,OAAO,CAAC,YAAY,EACpB,eAAe,EACf,iBAAiB,CAClB,CACF,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,QAAQ,CAAC,IAAI,CACX,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAC1F,CAAC;YACJ,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACzC,QAAQ,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YACtB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YAChE,IAAI,EAAE,oBAAoB;YAC1B,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,OAAO,EAAE,gCAAgC,MAAM,CAAC,IAAI,EAAE;YACtD,MAAM,EAAE,EAAE,YAAY,EAAE,yBAAyB,EAAE,QAAQ,KAAK,SAAS,EAAE,QAAQ,EAAE;SACtF,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,IAAI;YACb,yBAAyB,EAAE,QAAQ,KAAK,SAAS;YACjD,aAAa,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7E,QAAQ;YACR,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC;SACpD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,QAAgB,EAChB,KAAa,EACb,SAA2C,EAC3C,iBAA2D;QAE3D,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,cAAc,EAAE,mCAAmC,EAAE,CAAC,CAAC;QACrF,IAAI,iBAAiB,EAAE,aAAa,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,UAAU,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CACT,eAAe,EACf,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CACjE,CAAC;QACJ,CAAC;aAAM,IAAI,iBAAiB,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;gBACrC,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI;gBACJ,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;aACpC,CAAC,CAAC;YACH,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE;gBACxD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IAED,UAAU,CACR,YAAoB,EACpB,QAAiB;QAIjB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM;aAC3B,WAAW,EAAE;aACb,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,KAAK,YAAY,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,QAAQ;YACrB,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,QAAQ,CAAC;YAC3D,CAAC,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;gBACvB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;gBACf,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,QAAQ,CAChB,uBAAuB,EACvB,UAAU,CAAC,MAAM,KAAK,CAAC;gBACrB,CAAC,CAAC,0DAA0D;gBAC5D,CAAC,CAAC,oEAAoE,EACxE,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAChD,MAAM,IAAI,QAAQ,CAChB,mBAAmB,EACnB,gDAAgD,EAChD,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;IACpD,CAAC;IAED,aAAa,CAAC,YAAoB;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACzC,MAAM,IAAI,QAAQ,CAAC,0BAA0B,EAAE,yBAAyB,EAAE,GAAG,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,8BAA8B,CAClC,MAEC;QAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,iBAAiB,GAAG;YACxB,IAAI,GAAG,CAAC,wCAAwC,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC;YACrF,IAAI,GAAG,CAAC,uCAAuC,EAAE,QAAQ,CAAC,MAAM,CAAC;SAClE,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,EAAE,qBAAqB,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBAAE,SAAS;YACtC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,OAAO,MAAM,KAAK,QAAQ;oBAAE,SAAS;gBACzC,IAAI,MAAM,IAAI,CAAC,6BAA6B,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;oBAAE,OAAO,IAAI,CAAC;YAC7E,CAAC;QACH,CAAC;QACD,IAAI,MAAM,IAAI,CAAC,6BAA6B,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpF,IAAI,CAAC;YACH,gEAAgE;YAChE,0EAA0E;YAC1E,4CAA4C;YAC5C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;gBACrC,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,EAAE,MAAM,EAAE,qCAAqC,EAAE;gBAC1D,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;aACnC,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAC3D,OAAO,SAAS,KAAK,IAAI,IAAI,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,MAAW;QAC7C,KAAK,MAAM,IAAI,IAAI;YACjB,yCAAyC;YACzC,mCAAmC;SACpC,EAAE,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YAC1D,IAAI,OAAO,IAAI,EAAE,sBAAsB,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;QACpE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAQ;QACvB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;gBACvC,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;aACnC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC;YAC9B,MAAM,IAAI,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC5C,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAE,IAAgC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9F,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAoB;QAChC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QAC5E,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACzC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qDAAqD,EAAE;gBACvE,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC/D,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "toolhome",
3
- "version": "0.6.7",
3
+ "version": "0.6.9",
4
4
  "description": "Self-hosted home for remote-native and home-hosted MCP servers and CLIs.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -206,6 +206,28 @@ Or per-server (independent endpoint, original tool names):
206
206
 
207
207
  Aggregate tool names are `{server_slug}_{encoded_tool_name}`; non-alphanumeric UTF-8 bytes are encoded as `-hh` (for example, `github.search_code` becomes `github_search-5fcode`). Per-server preserves original names.
208
208
 
209
+ ### Choose a Tool Exposure Mode
210
+
211
+ By default the aggregate `/mcp` endpoint lists every enabled server's tools (`full`). An opt-in `compact` mode instead exposes exactly two tools — `search` and `exec` — so an agent discovers tools on demand:
212
+
213
+ - `search`: `action=servers` (server catalog), `action=find` (ranked tools for a task), `action=describe` (a selected tool's complete input schema).
214
+ - `exec`: run one exact tool returned by `search`.
215
+
216
+ Enable it per entry (afterwards reconnect the client, which may cache `tools/list`):
217
+
218
+ ```bash
219
+ # Host
220
+ TOOLHOME_MCP_TOOL_MODE=compact
221
+ # Local node
222
+ toolhome mcp stdio --tool-mode compact
223
+ ```
224
+
225
+ `search` reads only locally stored definitions — no upstream request and no child process; `exec` connects only to the selected server. Node tools still run only on their owning machine, and the local compact catalog covers only that node. At startup the local entry mirrors the control plane's tool visibility; if a server's projection cannot be read it stays hidden (fail closed) until the next start or refresh.
226
+
227
+ Roll back with `TOOLHOME_MCP_TOOL_MODE=full` (or unset) and/or by dropping `--tool-mode`, then reconnect. No migration is needed: full clears compact-mirrored visibility rows and exposes every enabled tool again.
228
+
229
+ Do not nest ToolHome compact behind an upstream that already performs its own search/exec or Code Mode — keep a single discovery layer. For Cloudflare API MCP, opt out explicitly with its documented `?codemode=false` URL; ToolHome never rewrites upstream URLs or query parameters.
230
+
209
231
  ### Run a Server on a Client Machine
210
232
 
211
233
  Some capabilities only exist on the machine running the agent: a local Chrome, a local Ghidra bridge, a local Python tool. Place those servers on a **node** (a label for the machine) and let the CLI launch them locally.
@@ -271,6 +293,7 @@ toolhome events --limit 100 # recent events, including cli.exec
271
293
  | `TOOLHOME_OAUTH_URL_CLIENT_ID` | Global OAuth client registration | `true` (URL-based) |
272
294
  | `TOOLHOME_UV_INDEX_URL` | PyPI mirror for uvx Market installs | unset (pypi.org) |
273
295
  | `TOOLHOME_CALLS_RETENTION_DAYS` | Tool call record retention in days (metadata only) | `30` |
296
+ | `TOOLHOME_MCP_TOOL_MODE` | Aggregate `/mcp` exposure: `full` or `compact` | `full` |
274
297
 
275
298
  ## Deep Dives
276
299
 
@@ -137,6 +137,25 @@ are stored as encrypted credentials; everything else lands in the server transpo
137
137
  `--upsert` re-imports as an update: existing servers are diffed (unchanged → skip,
138
138
  changed → update transport/env/credential) instead of reported as conflicts.
139
139
 
140
+ ## mcp
141
+
142
+ ```bash
143
+ toolhome mcp launch <slug> # run one node-placed server (stdio)
144
+ toolhome mcp stdio # front every node-placed server (stdio)
145
+ toolhome mcp stdio --node <id> # pick a node label (default: config, else hostname)
146
+ toolhome mcp stdio --tool-mode <mode> # full (default) or compact
147
+ ```
148
+
149
+ `toolhome mcp launch <slug>` spawns one node-placed server with its stored credential and
150
+ hands this process's stdio to it, preserving original tool names. `toolhome mcp stdio` fronts
151
+ every server placed on the machine in one stdio connection using `{slug}_{encodedToolName}`
152
+ names; children spawn lazily.
153
+
154
+ `--tool-mode compact` exposes only the `search`/`exec` discovery pair instead of the full tool
155
+ list. The mode is independent per entry, so the host aggregate's `TOOLHOME_MCP_TOOL_MODE` and
156
+ this flag do not affect each other. Roll back by omitting `--tool-mode` and reconnecting the
157
+ client.
158
+
140
159
  ## endpoint
141
160
 
142
161
  ```bash
@@ -25,6 +25,9 @@ TOOLHOME_MASTER_KEY=<32+ char random>
25
25
  TOOLHOME_BOOTSTRAP_CONTROL_KEY=tch_ctl_<random suffix, different from master>
26
26
  TOOLHOME_PUBLIC_URL=https://tool.cyncyn.xyz
27
27
  TOOLHOME_ALLOWED_HOSTS=tool.cyncyn.xyz
28
+ # Optional: aggregate /mcp tool exposure. full (default) lists every enabled
29
+ # server's tools; compact exposes only the search/exec discovery pair.
30
+ TOOLHOME_MCP_TOOL_MODE=full
28
31
  ```
29
32
 
30
33
  ```bash
@@ -131,3 +131,21 @@ toolhome server refresh <server-id>
131
131
  **Cause**: Commander action handler parameter ordering bug (fixed in recent versions).
132
132
 
133
133
  **Fix**: Update to the latest version: `npm install -g toolhome@latest`.
134
+
135
+ ## Aggregate `/mcp` Only Shows `search` and `exec`
136
+
137
+ **Cause**: Compact tool exposure is enabled. `compact` intentionally replaces the full tool list with the `search`/`exec` discovery pair.
138
+
139
+ **Fix**: To go back to the full tool list, set `TOOLHOME_MCP_TOOL_MODE=full` (or remove it) on the host, or drop `--tool-mode` from `toolhome mcp stdio` on a node, then reconnect the client. Full mode clears compact-mirrored visibility rows, so no migration is required.
140
+
141
+ ## Compact Mode Misses a Node Server
142
+
143
+ **Cause**: The local compact catalog covers only servers placed on this node, and a server whose control-plane projection could not be read at startup stays hidden (fail closed).
144
+
145
+ **Fix**: Reconnect/restart the local entry (`toolhome mcp stdio`) so it re-mirrors the projection. If it still fails, check `toolhome doctor` and the control-plane connection, and confirm the server is enabled and placed on the correct node. The same rules apply when tool visibility was changed on the control plane after the local entry started.
146
+
147
+ ## Nested Discovery Returns Fewer Tools Than Expected
148
+
149
+ **Cause**: ToolHome `compact` was stacked behind an upstream that already performs its own search/exec or Code Mode, hiding its real tools behind a second discovery layer.
150
+
151
+ **Fix**: Keep one discovery layer. Use ToolHome `full`/per-server endpoints, or configure the upstream to expose its full tool list. For Cloudflare API MCP, opt out yourself with its documented `?codemode=false` URL; ToolHome never rewrites upstream URLs or query parameters.