@0xmaxma/claude-gateway 1.8.7 → 1.8.8

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 (72) hide show
  1. package/README.md +96 -0
  2. package/dist/agent/runner.d.ts +47 -1
  3. package/dist/agent/runner.d.ts.map +1 -1
  4. package/dist/agent/runner.js +116 -17
  5. package/dist/agent/runner.js.map +1 -1
  6. package/dist/api/connectors-router.d.ts +50 -0
  7. package/dist/api/connectors-router.d.ts.map +1 -0
  8. package/dist/api/connectors-router.js +650 -0
  9. package/dist/api/connectors-router.js.map +1 -0
  10. package/dist/api/gateway-router.d.ts +4 -0
  11. package/dist/api/gateway-router.d.ts.map +1 -1
  12. package/dist/api/gateway-router.js +26 -0
  13. package/dist/api/gateway-router.js.map +1 -1
  14. package/dist/api/oauth-connectors-router.d.ts +43 -0
  15. package/dist/api/oauth-connectors-router.d.ts.map +1 -0
  16. package/dist/api/oauth-connectors-router.js +384 -0
  17. package/dist/api/oauth-connectors-router.js.map +1 -0
  18. package/dist/api/router.d.ts.map +1 -1
  19. package/dist/api/router.js +101 -13
  20. package/dist/api/router.js.map +1 -1
  21. package/dist/apps/agent-manager.d.ts +6 -2
  22. package/dist/apps/agent-manager.d.ts.map +1 -1
  23. package/dist/apps/agent-manager.js +10 -18
  24. package/dist/apps/agent-manager.js.map +1 -1
  25. package/dist/config/config-write-lock.d.ts +45 -0
  26. package/dist/config/config-write-lock.d.ts.map +1 -0
  27. package/dist/config/config-write-lock.js +164 -0
  28. package/dist/config/config-write-lock.js.map +1 -0
  29. package/dist/config/watcher.d.ts.map +1 -1
  30. package/dist/config/watcher.js +29 -0
  31. package/dist/config/watcher.js.map +1 -1
  32. package/dist/connectors/custom-connectors-store.d.ts +54 -0
  33. package/dist/connectors/custom-connectors-store.d.ts.map +1 -0
  34. package/dist/connectors/custom-connectors-store.js +204 -0
  35. package/dist/connectors/custom-connectors-store.js.map +1 -0
  36. package/dist/connectors/custom.d.ts +69 -0
  37. package/dist/connectors/custom.d.ts.map +1 -0
  38. package/dist/connectors/custom.js +158 -0
  39. package/dist/connectors/custom.js.map +1 -0
  40. package/dist/connectors/mcp-oauth.d.ts +152 -0
  41. package/dist/connectors/mcp-oauth.d.ts.map +1 -0
  42. package/dist/connectors/mcp-oauth.js +522 -0
  43. package/dist/connectors/mcp-oauth.js.map +1 -0
  44. package/dist/connectors/oauth-refresh-sweep.d.ts +71 -0
  45. package/dist/connectors/oauth-refresh-sweep.d.ts.map +1 -0
  46. package/dist/connectors/oauth-refresh-sweep.js +337 -0
  47. package/dist/connectors/oauth-refresh-sweep.js.map +1 -0
  48. package/dist/connectors/pending-oauth-store.d.ts +39 -0
  49. package/dist/connectors/pending-oauth-store.d.ts.map +1 -0
  50. package/dist/connectors/pending-oauth-store.js +50 -0
  51. package/dist/connectors/pending-oauth-store.js.map +1 -0
  52. package/dist/connectors/resolve.d.ts +52 -0
  53. package/dist/connectors/resolve.d.ts.map +1 -0
  54. package/dist/connectors/resolve.js +176 -0
  55. package/dist/connectors/resolve.js.map +1 -0
  56. package/dist/connectors/token-env.d.ts +93 -0
  57. package/dist/connectors/token-env.d.ts.map +1 -0
  58. package/dist/connectors/token-env.js +323 -0
  59. package/dist/connectors/token-env.js.map +1 -0
  60. package/dist/connectors/types.d.ts +126 -0
  61. package/dist/connectors/types.d.ts.map +1 -0
  62. package/dist/connectors/types.js +13 -0
  63. package/dist/connectors/types.js.map +1 -0
  64. package/dist/index.js +32 -1
  65. package/dist/index.js.map +1 -1
  66. package/dist/session/process.d.ts +23 -0
  67. package/dist/session/process.d.ts.map +1 -1
  68. package/dist/session/process.js +78 -2
  69. package/dist/session/process.js.map +1 -1
  70. package/dist/types.d.ts +46 -1
  71. package/dist/types.d.ts.map +1 -1
  72. package/package.json +1 -1
@@ -0,0 +1,50 @@
1
+ import { Router } from 'express';
2
+ import { ApiKey } from '../types';
3
+ import { type CustomConnectorsStore } from '../connectors/custom-connectors-store';
4
+ import type { AgentRunner } from '../agent/runner';
5
+ /**
6
+ * Connector management API. The gateway acts as connector registry + secret manager
7
+ * + config injector: connecting a connector stores its secret in mcp-token.env —
8
+ * that store alone is authoritative for "connected" (see resolve.ts's
9
+ * listConnectorStatus). The actual MCP server is injected into each session by
10
+ * SessionProcess (see resolveEnabledConnectors).
11
+ *
12
+ * Routes (mounted under /api):
13
+ * GET /v1/connectors — every connector, with connected state
14
+ * GET /v1/connectors/:id/status — connected boolean (for polling)
15
+ * POST /v1/connectors/:id/connect — store a secret (admin) into a
16
+ * single-secret customConnectors entry
17
+ * (e.g. reconnecting a paste-token
18
+ * connector after DELETE
19
+ * soft-disconnected it) — see the handler
20
+ * POST /v1/connectors/:id/oauth/receive — store a pushed access_token (admin);
21
+ * always writes credentialOwner 'external'
22
+ * DELETE /v1/connectors/:id — clear a secret (admin); a 'static' or
23
+ * 'gateway' connector keeps its
24
+ * entry (config/label intact, just
25
+ * disconnected), a 'none' or 'external'
26
+ * one is removed outright — see the handler below
27
+ * POST /v1/connectors/custom — add a user-pasted connector (admin)
28
+ *
29
+ * (Removal of a custom connector is NOT a separate route — it's the same
30
+ * DELETE /v1/connectors/:id above. See the note at the bottom of this file for
31
+ * why the old dedicated /custom/:id route was retired.)
32
+ *
33
+ * Externally-owned connectors (Gmail/Drive/Calendar) never do the actual OAuth
34
+ * dance here — an external control plane the deployer runs owns the
35
+ * client_secret, the token exchange, and the refresh loop (this gateway runs
36
+ * inside the user's own VM, reachable by that user's own shell/SSH, so a
37
+ * shared client_secret can't live here safely — see ConnectorCredentialOwner's
38
+ * doc comment). That control plane pushes the resulting short-lived
39
+ * access_token here via /oauth/receive, over the internal network,
40
+ * authenticated the same way any other admin API caller is. A connector this
41
+ * gateway signs in for itself is 'gateway' instead, and lives in
42
+ * oauth-connectors-router.ts.
43
+ *
44
+ * `agents` (all live AgentRunners) is what lets a route that changes a connector's
45
+ * secrets restart the sessions already using it — every route works without it
46
+ * (e.g. in tests), it just leaves running sessions on their stale MCP config
47
+ * until they next respawn on their own.
48
+ */
49
+ export declare function createConnectorsRouter(apiKeys?: ApiKey[], configPath?: string, agents?: Map<string, AgentRunner>, customConnectorsStore?: CustomConnectorsStore): Router;
50
+ //# sourceMappingURL=connectors-router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectors-router.d.ts","sourceRoot":"","sources":["../../src/api/connectors-router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAmC,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,MAAM,EAAwB,MAAM,UAAU,CAAC;AAmBxD,OAAO,EAA+B,KAAK,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAEhH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAInD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EACjC,qBAAqB,CAAC,EAAE,qBAAqB,GAC5C,MAAM,CAgoBR"}