@padua/cli 2.0.13 → 2.0.15

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/README.md CHANGED
@@ -61,66 +61,267 @@ The `init` command will:
61
61
 
62
62
  ## MCP Server
63
63
 
64
- `@padua/cli` v2 includes a built-in MCP (Model Context Protocol) server that provides 49 tools for GitLab and Atlassian integration, accessible from AI-powered IDEs.
64
+ `@padua/cli` v2 includes a built-in [MCP](https://modelcontextprotocol.io/) (Model Context Protocol) server that exposes 49 tools and 6 resource templates for GitLab and Atlassian. Any MCP-compatible client — Claude Code, Claude Desktop, Cursor, Windsurf, VS Code, etc. — can call these tools directly.
65
65
 
66
- ### How It Works
66
+ ### Setup
67
67
 
68
- Running `padua login` now performs a 7-step authentication flow:
68
+ ```bash
69
+ padua login # authenticates everything and starts the daemon
70
+ padua doctor # verify the server is healthy
71
+ ```
69
72
 
70
- 1. **AWS SSO** Authenticate to AWS
71
- 2. **S3 Config** — Download MCP provider configuration
72
- 3. **CodeArtifact** — Configure npm registry
73
- 4. **ECR** — Configure Docker registry
74
- 5. **GitLab** — OAuth2 PKCE authentication
75
- 6. **Atlassian** — OAuth2 authentication
76
- 7. **MCP Daemon** — Start background server on port 8919
73
+ `padua login` runs a 7-step flow:
77
74
 
78
- OAuth tokens are persisted to `~/.padua/tokens.db` (AES-256-GCM encrypted) with the encryption key auto-generated at `~/.padua/encryption.key`. Tokens are automatically refreshed on every MCP tool call — no manual re-authentication needed until the refresh token expires. The MCP daemon runs as a background process and serves tools via HTTP at `http://127.0.0.1:8919/mcp`. Subsequent logins automatically kill any orphaned daemon before starting a fresh one.
75
+ | Step | What happens |
76
+ |------|--------------|
77
+ | 1. AWS SSO | Authenticate to AWS |
78
+ | 2. S3 Config | Download MCP provider configuration to `~/.padua/mcp-providers.json` |
79
+ | 3. CodeArtifact | Configure npm registry |
80
+ | 4. ECR | Configure Docker registry |
81
+ | 5. GitLab | OAuth2 PKCE authentication |
82
+ | 6. Atlassian | OAuth2 confidential client authentication |
83
+ | 7. MCP Daemon | Start background HTTP server on port 8919 |
79
84
 
80
- ### Available Tools
85
+ Steps 5-7 are non-blocking — if a provider fails, the rest of Padua still works.
81
86
 
82
- | Provider | Tools | Examples |
83
- |----------|-------|---------|
84
- | **GitLab** (30 tools) | Repository, Issue, Merge Request, Pipeline management | `gitlab_list_projects`, `gitlab_create_merge_request`, `gitlab_get_job_log` |
85
- | **Atlassian** (19 tools) | Jira issues, Confluence pages, search, transitions | `jira_search_issues`, `jira_create_issue`, `confluence_get_page` |
87
+ ### Architecture
88
+
89
+ ```
90
+ ┌─────────────────┐ HTTP POST ┌──────────────────────┐
91
+ │ Claude Code / │ ──────────────→ │ Padua MCP Daemon │
92
+ │ Claude Desktop │ Bearer token │ 127.0.0.1:8919/mcp │
93
+ │ Cursor / etc. │ ←────────────── │ │
94
+ └─────────────────┘ JSON-RPC │ ┌────────────────┐ │
95
+ │ │ GitLab (OAuth) │ │
96
+ │ │ 30 tools │ │
97
+ │ └────────────────┘ │
98
+ │ ┌────────────────┐ │
99
+ │ │ Atlassian (OAuth│) │
100
+ │ │ 19 tools │ │
101
+ │ └────────────────┘ │
102
+ └──────────────────────┘
103
+ ```
86
104
 
87
- Plus 6 resource templates for direct resource access.
105
+ - **Transport:** HTTP with [Streamable HTTP](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http) transport at `POST /mcp`
106
+ - **Auth:** `Authorization: Bearer padua-mcp-local` (fixed token — the server only binds to localhost)
107
+ - **Tokens:** OAuth tokens persisted to `~/.padua/tokens.db` (AES-256-GCM encrypted), proactively refreshed before expiry and lazily refreshed on tool calls
108
+ - **Sessions:** Per-session transport management — the daemon handles ungraceful disconnects and reconnections without requiring `padua login`
88
109
 
89
110
  ### IDE Configuration
90
111
 
91
- **Claude Desktop** (`~/Library/Application Support/Claude/claude_desktop_config.json`):
112
+ #### Claude Code (`~/.claude/settings.json`)
113
+
114
+ Claude Code discovers MCP servers from its settings file. Add the `padua` server:
115
+
116
+ ```json
117
+ {
118
+ "mcpServers": {
119
+ "padua": {
120
+ "type": "url",
121
+ "url": "http://127.0.0.1:8919/mcp",
122
+ "headers": {
123
+ "Authorization": "Bearer padua-mcp-local"
124
+ }
125
+ }
126
+ }
127
+ }
128
+ ```
129
+
130
+ After adding the config, restart Claude Code or run `/mcp` to verify the server is connected.
131
+
132
+ #### Claude Desktop (`~/Library/Application Support/Claude/claude_desktop_config.json`)
92
133
 
93
134
  ```json
94
135
  {
95
136
  "mcpServers": {
96
137
  "padua": {
97
- "url": "http://127.0.0.1:8919/mcp"
138
+ "url": "http://127.0.0.1:8919/mcp",
139
+ "headers": {
140
+ "Authorization": "Bearer padua-mcp-local"
141
+ }
98
142
  }
99
143
  }
100
144
  }
101
145
  ```
102
146
 
103
- **Cursor** (`.cursor/mcp.json`):
147
+ #### Cursor (`.cursor/mcp.json`)
104
148
 
105
149
  ```json
106
150
  {
107
151
  "mcpServers": {
108
152
  "padua": {
109
- "url": "http://127.0.0.1:8919/mcp"
153
+ "url": "http://127.0.0.1:8919/mcp",
154
+ "headers": {
155
+ "Authorization": "Bearer padua-mcp-local"
156
+ }
110
157
  }
111
158
  }
112
159
  }
113
160
  ```
114
161
 
115
- ### MCP Diagnostics
162
+ #### Windsurf (`~/.windsurf/mcp.json`)
163
+
164
+ ```json
165
+ {
166
+ "mcpServers": {
167
+ "padua": {
168
+ "serverUrl": "http://127.0.0.1:8919/mcp",
169
+ "headers": {
170
+ "Authorization": "Bearer padua-mcp-local"
171
+ }
172
+ }
173
+ }
174
+ }
175
+ ```
116
176
 
117
- Run `padua doctor` to check MCP server health:
177
+ #### Any MCP Client (manual HTTP)
178
+
179
+ ```bash
180
+ curl -X POST http://127.0.0.1:8919/mcp \
181
+ -H "Authorization: Bearer padua-mcp-local" \
182
+ -H "Content-Type: application/json" \
183
+ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
184
+ ```
185
+
186
+ ### Tool Reference
187
+
188
+ #### GitLab — Repository (10 tools)
189
+
190
+ | Tool | Description |
191
+ |------|-------------|
192
+ | `gitlab_list_projects` | List projects accessible to the authenticated user |
193
+ | `gitlab_get_project` | Get project metadata by ID |
194
+ | `gitlab_get_file` | Get file content from a repository |
195
+ | `gitlab_create_file` | Create a new file in a repository |
196
+ | `gitlab_update_file` | Update an existing file in a repository |
197
+ | `gitlab_list_branches` | List branches in a project |
198
+ | `gitlab_get_branch` | Get a single branch by name |
199
+ | `gitlab_search_code` | Search for code across projects |
200
+ | `gitlab_get_repository_tree` | List files and directories in a repository tree |
201
+ | `gitlab_get_clone_urls` | Get clone URLs (SSH and HTTPS) for a project |
202
+
203
+ #### GitLab — Issues (4 tools)
204
+
205
+ | Tool | Description |
206
+ |------|-------------|
207
+ | `gitlab_list_issues` | List issues with filtering (project, state, labels, assignee) |
208
+ | `gitlab_get_issue` | Get a single issue by IID |
209
+ | `gitlab_create_issue` | Create a new issue |
210
+ | `gitlab_update_issue` | Update an existing issue (title, description, labels, state) |
211
+
212
+ #### GitLab — Merge Requests (11 tools)
213
+
214
+ | Tool | Description |
215
+ |------|-------------|
216
+ | `gitlab_list_merge_requests` | List merge requests with filtering |
217
+ | `gitlab_get_merge_request` | Get a single merge request by IID |
218
+ | `gitlab_create_merge_request` | Create a new merge request |
219
+ | `gitlab_update_merge_request` | Update MR title, description, labels, assignees |
220
+ | `gitlab_get_merge_request_diffs` | Get the diff/changes in a merge request |
221
+ | `gitlab_list_merge_request_notes` | List comments on a merge request |
222
+ | `gitlab_create_merge_request_note` | Add a comment to a merge request |
223
+ | `gitlab_get_merge_request_approvals` | Get approval status and required approvers |
224
+ | `gitlab_approve_merge_request` | Approve a merge request |
225
+ | `gitlab_merge_merge_request` | Merge a merge request |
226
+ | `gitlab_rebase_merge_request` | Rebase a merge request onto its target branch |
227
+
228
+ #### GitLab — Pipelines (5 tools)
229
+
230
+ | Tool | Description |
231
+ |------|-------------|
232
+ | `gitlab_list_pipelines` | List CI/CD pipelines for a project |
233
+ | `gitlab_get_pipeline` | Get pipeline details (status, duration, stages) |
234
+ | `gitlab_list_pipeline_jobs` | List jobs within a pipeline |
235
+ | `gitlab_get_job_log` | Get the log output of a CI/CD job |
236
+ | `gitlab_retry_pipeline` | Retry a failed pipeline |
237
+
238
+ #### Atlassian — Jira (11 tools)
239
+
240
+ | Tool | Description |
241
+ |------|-------------|
242
+ | `atlassian_jira_search` | Search issues using JQL |
243
+ | `atlassian_jira_get_issue` | Get a single issue by key (e.g., `PROJ-123`) |
244
+ | `atlassian_jira_create_issue` | Create a new issue (Bug, Story, Task, Epic, etc.) |
245
+ | `atlassian_jira_update_issue` | Update issue fields (summary, description, labels, etc.) |
246
+ | `atlassian_jira_link_issues` | Create a link between two issues (Blocks, Relates, etc.) |
247
+ | `atlassian_jira_add_comment` | Add a comment to an issue (supports Markdown) |
248
+ | `atlassian_jira_transition_issue` | Move an issue to a new status |
249
+ | `atlassian_jira_list_projects` | List accessible Jira projects |
250
+ | `atlassian_jira_add_worklog` | Log time spent on an issue |
251
+ | `atlassian_jira_get_transitions` | Get available transitions for an issue |
252
+ | `atlassian_jira_get_issue_types` | Get available issue types for a project |
253
+
254
+ #### Atlassian — Confluence (8 tools)
255
+
256
+ | Tool | Description |
257
+ |------|-------------|
258
+ | `atlassian_confluence_search` | Search Confluence using CQL |
259
+ | `atlassian_confluence_get_page` | Get page content by ID |
260
+ | `atlassian_confluence_create_page` | Create a new page in a space |
261
+ | `atlassian_confluence_update_page` | Update an existing page |
262
+ | `atlassian_confluence_delete_page` | Delete a page |
263
+ | `atlassian_confluence_list_spaces` | List accessible Confluence spaces |
264
+ | `atlassian_confluence_get_space` | Get space details by key |
265
+ | `atlassian_confluence_search_content` | Search page content |
266
+
267
+ ### Resource Templates
268
+
269
+ Resources provide direct read access to specific entities by URI:
270
+
271
+ | URI Template | Description |
272
+ |--------------|-------------|
273
+ | `gitlab://project/{projectId}` | GitLab project metadata |
274
+ | `gitlab://project/{projectId}/file/{filePath}` | File content from a GitLab repository |
275
+ | `atlassian://jira/issue/{issueKey}` | Jira issue details |
276
+ | `atlassian://jira/project/{projectKey}` | Jira project details |
277
+ | `atlassian://confluence/page/{pageId}` | Confluence page content |
278
+ | `atlassian://confluence/space/{spaceKey}` | Confluence space details |
279
+
280
+ ### Server Endpoints
281
+
282
+ | Endpoint | Method | Auth | Description |
283
+ |----------|--------|------|-------------|
284
+ | `/mcp` | POST | Required | MCP protocol (JSON-RPC over Streamable HTTP) |
285
+ | `/health` | GET | Not required | Health check and provider status |
286
+
287
+ **Health check:**
288
+
289
+ ```bash
290
+ curl http://127.0.0.1:8919/health
291
+ ```
292
+
293
+ Returns:
294
+
295
+ ```json
296
+ {
297
+ "healthy": true,
298
+ "status": "ok",
299
+ "providers": {
300
+ "gitlab": "ready",
301
+ "atlassian": "ready"
302
+ },
303
+ "uptime": 3600,
304
+ "version": "2.0.13"
305
+ }
306
+ ```
307
+
308
+ ### Daemon Files
309
+
310
+ | File | Purpose |
311
+ |------|---------|
312
+ | `~/.padua/mcp-auth.json` | Bearer token, port, PID, start time |
313
+ | `~/.padua/mcp-server.pid` | Daemon process ID |
314
+ | `~/.padua/mcp-providers.json` | Provider configuration (downloaded from S3) |
315
+ | `~/.padua/tokens.db` | Encrypted OAuth tokens (AES-256-GCM) |
316
+ | `~/.padua/encryption.key` | Auto-generated encryption key |
317
+
318
+ ### Diagnostics
118
319
 
119
320
  ```bash
120
321
  padua doctor
121
322
  ```
122
323
 
123
- The doctor command now includes MCP-specific checks:
324
+ MCP-specific checks:
124
325
  - Node.js version (>= 20.0.0)
125
326
  - MCP provider configuration
126
327
  - Token store integrity
@@ -137,8 +338,6 @@ If upgrading from the standalone `padua-mcp` Go server:
137
338
  padua doctor --migrate-tokens
138
339
  ```
139
340
 
140
- This migrates encrypted tokens from the legacy `padua-mcp` database to the new integrated store.
141
-
142
341
  ### Troubleshooting
143
342
 
144
343
  | Issue | Solution |
@@ -147,6 +346,9 @@ This migrates encrypted tokens from the legacy `padua-mcp` database to the new i
147
346
  | Port 8919 in use | `padua login` auto-kills orphaned processes; or set `mcp.port` in `~/.padua/padua.config.json` |
148
347
  | Token issues | Delete `~/.padua/tokens.db` and `~/.padua/encryption.key`, then run `padua login` |
149
348
  | Legacy daemon running | `pkill -f padua-mcp-daemon` |
349
+ | Tools not appearing | Verify `padua login` completed steps 5-7; check `padua doctor` for provider status |
350
+ | 401 Unauthorized | Ensure your IDE config includes the `Authorization: Bearer padua-mcp-local` header |
351
+ | MCP reconnection fails | Upgrade to v2.0.15+ — the daemon now handles ungraceful disconnects automatically |
150
352
 
151
353
  ### Downgrade to 1.x
152
354
 
@@ -139,6 +139,13 @@ async function main() {
139
139
  logger.warn(`Provider not ready: ${result.name}`, { error: result.error?.message });
140
140
  }
141
141
  }
142
+ // Start proactive token refresh so tokens stay fresh even with zero tool calls.
143
+ for (const [name, tm] of tokenManagers) {
144
+ if (tm instanceof manager_1.OAuthTokenManager) {
145
+ tm.startProactiveRefresh();
146
+ logger.info(`Proactive token refresh started: ${name}`);
147
+ }
148
+ }
142
149
  // Graceful shutdown: clean up providers, store, and daemon files.
143
150
  process.on('SIGTERM', async () => {
144
151
  logger.info('SIGTERM received, shutting down daemon...', { pid: process.pid });
@@ -1 +1 @@
1
- {"version":3,"file":"entry.js","sourceRoot":"","sources":["../../../src/mcp/daemon/entry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entry.js","sourceRoot":"","sources":["../../../src/mcp/daemon/entry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp/server/server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAmC,MAAM,WAAW,CAAC;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWpE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAqGD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,eAAe,EACvB,mBAAmB,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChD,iBAAiB,CAsDnB"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp/server/server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAmC,MAAM,WAAW,CAAC;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWpE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAmFD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,eAAe,EACvB,mBAAmB,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChD,iBAAiB,CAkKnB"}
@@ -41,19 +41,7 @@ function sendNotFound(res, url) {
41
41
  function isMcpRoute(url) {
42
42
  return url === '/mcp' || url.startsWith('/mcp?');
43
43
  }
44
- async function handleMcpRequest(req, res, transport, logger, correlationId) {
45
- try {
46
- await transport.handleRequest(req, res);
47
- }
48
- catch (err) {
49
- logger.error('MCP handler error', { error: String(err), correlationId });
50
- if (!res.headersSent) {
51
- res.writeHead(500, { 'Content-Type': 'application/json' });
52
- res.end(JSON.stringify({ error: { code: 'INTERNAL_ERROR', message: 'Internal server error' } }));
53
- }
54
- }
55
- }
56
- function buildRequestHandler(authMiddleware, rateLimiter, transport, healthHandler, logger, maxBodySize) {
44
+ function buildRequestHandler(authMiddleware, rateLimiter, healthHandler, logger, maxBodySize, handleMcp) {
57
45
  return async (req, res) => {
58
46
  const correlationId = (0, node_crypto_1.randomUUID)();
59
47
  res.setHeader('X-Correlation-Id', correlationId);
@@ -73,7 +61,7 @@ function buildRequestHandler(authMiddleware, rateLimiter, transport, healthHandl
73
61
  runMiddleware(req, res, [authMiddleware, rateLimiter], async () => {
74
62
  if (isMcpRoute(url)) {
75
63
  logger.debug('MCP request', { method, correlationId });
76
- await handleMcpRequest(req, res, transport, logger, correlationId);
64
+ await handleMcp(req, res, correlationId);
77
65
  return;
78
66
  }
79
67
  logger.debug('Route not found', { url, correlationId });
@@ -89,9 +77,76 @@ function createMcpServer(config, getProviderStatuses) {
89
77
  name: 'padua-mcp',
90
78
  version: config.version,
91
79
  });
92
- const transport = new streamableHttp_js_1.StreamableHTTPServerTransport({
93
- sessionIdGenerator: () => (0, node_crypto_1.randomUUID)(),
94
- });
80
+ // ---------------------------------------------------------------------------
81
+ // Per-session transport management
82
+ // ---------------------------------------------------------------------------
83
+ const activeSessions = new Map();
84
+ let currentTransport = null;
85
+ /**
86
+ * Creates a new transport for an incoming MCP session. If an existing
87
+ * connection is active, closes the McpServer protocol connection first
88
+ * (which nulls Protocol._transport, allowing reconnect), then creates a
89
+ * fresh transport. Tool handlers registered on McpServer survive across
90
+ * reconnections.
91
+ */
92
+ async function acquireTransport() {
93
+ if (currentTransport) {
94
+ logger.info('Closing existing MCP connection for reconnect', {
95
+ sessionCount: activeSessions.size,
96
+ });
97
+ await mcpServer.close();
98
+ for (const t of activeSessions.values()) {
99
+ await t.close().catch(() => { });
100
+ }
101
+ activeSessions.clear();
102
+ currentTransport = null;
103
+ }
104
+ const transport = new streamableHttp_js_1.StreamableHTTPServerTransport({
105
+ sessionIdGenerator: () => (0, node_crypto_1.randomUUID)(),
106
+ onsessioninitialized: (sessionId) => {
107
+ activeSessions.set(sessionId, transport);
108
+ logger.info('MCP session initialized', { sessionId });
109
+ },
110
+ onsessionclosed: (sessionId) => {
111
+ activeSessions.delete(sessionId);
112
+ logger.info('MCP session closed', { sessionId });
113
+ },
114
+ });
115
+ await mcpServer.connect(transport);
116
+ currentTransport = transport;
117
+ return transport;
118
+ }
119
+ /**
120
+ * Routes an incoming request to the correct session transport. Returns the
121
+ * transport, or null if a 404 was already sent (unknown session ID).
122
+ *
123
+ * - Requests with a session ID are routed to that session (404 if unknown).
124
+ * - Requests without a session ID reuse the current transport if it hasn't
125
+ * initialized a session yet, or acquire a fresh one for reconnection.
126
+ */
127
+ async function resolveTransport(req, res, correlationId) {
128
+ const sessionId = req.headers['mcp-session-id'];
129
+ if (sessionId) {
130
+ const transport = activeSessions.get(sessionId);
131
+ if (!transport) {
132
+ logger.debug('Unknown MCP session', { sessionId, correlationId });
133
+ res.writeHead(404, { 'Content-Type': 'application/json' });
134
+ res.end(JSON.stringify({
135
+ error: { code: 'SESSION_NOT_FOUND', message: 'Unknown session' },
136
+ }));
137
+ return null;
138
+ }
139
+ return transport;
140
+ }
141
+ // No session ID — reuse un-initialized transport or acquire a new one.
142
+ if (currentTransport && activeSessions.size === 0) {
143
+ return currentTransport;
144
+ }
145
+ return acquireTransport();
146
+ }
147
+ // ---------------------------------------------------------------------------
148
+ // Request handling
149
+ // ---------------------------------------------------------------------------
95
150
  const authMiddleware = (0, auth_1.createAuthMiddleware)(config.bearerToken);
96
151
  const rateLimiter = (0, ratelimit_1.createRateLimiter)(config.rateLimit?.ratePerSec ?? 10, config.rateLimit?.burst ?? 20);
97
152
  const healthDeps = {
@@ -100,18 +155,42 @@ function createMcpServer(config, getProviderStatuses) {
100
155
  getProviderStatuses: () => getProviderStatuses(),
101
156
  };
102
157
  const healthHandler = (0, health_1.createHealthHandler)(healthDeps);
103
- const requestHandler = buildRequestHandler(authMiddleware, rateLimiter, transport, healthHandler, logger, maxBodySize);
158
+ async function handleMcp(req, res, correlationId) {
159
+ const transport = await resolveTransport(req, res, correlationId);
160
+ if (!transport)
161
+ return; // 404 already sent
162
+ try {
163
+ await transport.handleRequest(req, res);
164
+ }
165
+ catch (err) {
166
+ logger.error('MCP handler error', { error: String(err), correlationId });
167
+ if (!res.headersSent) {
168
+ res.writeHead(500, { 'Content-Type': 'application/json' });
169
+ res.end(JSON.stringify({ error: { code: 'INTERNAL_ERROR', message: 'Internal server error' } }));
170
+ }
171
+ }
172
+ }
173
+ const requestHandler = buildRequestHandler(authMiddleware, rateLimiter, healthHandler, logger, maxBodySize, handleMcp);
104
174
  const httpServer = (0, node_http_1.createServer)(requestHandler);
175
+ // ---------------------------------------------------------------------------
176
+ // Lifecycle
177
+ // ---------------------------------------------------------------------------
105
178
  function start() {
106
179
  return new Promise((resolve, reject) => {
107
- mcpServer.connect(transport).then(() => {
108
- httpServer.listen(config.port, '127.0.0.1', () => resolve());
109
- httpServer.once('error', reject);
110
- }).catch(reject);
180
+ httpServer.listen(config.port, '127.0.0.1', () => resolve());
181
+ httpServer.once('error', reject);
111
182
  });
112
183
  }
113
- function stop() {
114
- return new Promise((resolve, reject) => {
184
+ async function stop() {
185
+ for (const t of activeSessions.values()) {
186
+ await t.close().catch(() => { });
187
+ }
188
+ activeSessions.clear();
189
+ if (currentTransport) {
190
+ await mcpServer.close();
191
+ currentTransport = null;
192
+ }
193
+ await new Promise((resolve, reject) => {
115
194
  httpServer.close((err) => (err ? reject(err) : resolve()));
116
195
  });
117
196
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/server/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/server/server.ts"],"names":[],"mappings":";;AAgHA,0CAqKC;AArRD,yCAA6D;AAE7D,6CAAyC;AACzC,oEAAoE;AACpE,0FAAmG;AACnG,iCAA8C;AAE9C,2CAAgD;AAChD,qCAA+C;AAE/C,qCAAyC;AACzC,uCAAyC;AAoBzC,SAAS,aAAa,CACpB,GAAoB,EACpB,GAAmB,EACnB,WAA6B,EAC7B,KAAiB;IAEjB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,SAAS,IAAI;QACX,IAAI,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YAChC,KAAK,EAAE,CAAC;YACR,OAAO;QACT,CAAC;QACD,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;QAChC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACrB,CAAC;IACD,IAAI,EAAE,CAAC;AACT,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAoB,EAAE,WAAmB;IAClE,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IACzE,OAAO,aAAa,GAAG,WAAW,CAAC;AACrC,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAmB;IAC9C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QACrB,KAAK,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,gCAAgC,EAAE;KAChF,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,YAAY,CAAC,GAAmB,EAAE,GAAW;IACpD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,OAAO,GAAG,KAAK,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,mBAAmB,CAC1B,cAA8B,EAC9B,WAA2B,EAC3B,aAAqD,EACrD,MAAc,EACd,WAAmB,EACnB,SAA8F;IAE9F,OAAO,KAAK,EAAE,GAAoB,EAAE,GAAmB,EAAiB,EAAE;QACxE,MAAM,aAAa,GAAG,IAAA,wBAAU,GAAE,CAAC;QACnC,GAAG,CAAC,SAAS,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;QAEjD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC;QAEvC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;QAEjE,IAAI,IAAA,sBAAa,EAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;YACxD,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACnG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QAED,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE,KAAK,IAAI,EAAE;YAChE,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;gBACvD,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;gBACzC,OAAO;YACT,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;YACxD,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,eAAe,CAC7B,MAAuB,EACvB,mBAAiD;IAEjD,MAAM,MAAM,GAAG,IAAA,sBAAY,EAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,MAAM,SAAS,GAAG,IAAI,kBAAS,CAAC;QAC9B,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC,CAAC;IAEH,8EAA8E;IAC9E,mCAAmC;IACnC,8EAA8E;IAE9E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAyC,CAAC;IACxE,IAAI,gBAAgB,GAAyC,IAAI,CAAC;IAElE;;;;;;OAMG;IACH,KAAK,UAAU,gBAAgB;QAC7B,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE;gBAC3D,YAAY,EAAE,cAAc,CAAC,IAAI;aAClC,CAAC,CAAC;YACH,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;YACxB,KAAK,MAAM,CAAC,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;gBACxC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAClC,CAAC;YACD,cAAc,CAAC,KAAK,EAAE,CAAC;YACvB,gBAAgB,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,iDAA6B,CAAC;YAClD,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAA,wBAAU,GAAE;YACtC,oBAAoB,EAAE,CAAC,SAAiB,EAAE,EAAE;gBAC1C,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YACxD,CAAC;YACD,eAAe,EAAE,CAAC,SAAiB,EAAE,EAAE;gBACrC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YACnD,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACnC,gBAAgB,GAAG,SAAS,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,UAAU,gBAAgB,CAC7B,GAAoB,EACpB,GAAmB,EACnB,aAAqB;QAErB,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;QAEtE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;gBAClE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;oBACrB,KAAK,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,iBAAiB,EAAE;iBACjE,CAAC,CAAC,CAAC;gBACJ,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,uEAAuE;QACvE,IAAI,gBAAgB,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAClD,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QACD,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAED,8EAA8E;IAC9E,mBAAmB;IACnB,8EAA8E;IAE9E,MAAM,cAAc,GAAG,IAAA,2BAAoB,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,IAAA,6BAAiB,EACnC,MAAM,CAAC,SAAS,EAAE,UAAU,IAAI,EAAE,EAClC,MAAM,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,CAC9B,CAAC;IAEF,MAAM,UAAU,GAAuB;QACrC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS;QACT,mBAAmB,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAA0D;KACzG,CAAC;IACF,MAAM,aAAa,GAAG,IAAA,4BAAmB,EAAC,UAAU,CAAC,CAAC;IAEtD,KAAK,UAAU,SAAS,CACtB,GAAoB,EACpB,GAAmB,EACnB,aAAqB;QAErB,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;QAClE,IAAI,CAAC,SAAS;YAAE,OAAO,CAAC,mBAAmB;QAE3C,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;YACzE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC,CAAC;YACnG,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,mBAAmB,CACxC,cAAc,EACd,WAAW,EACX,aAAa,EACb,MAAM,EACN,WAAW,EACX,SAAS,CACV,CAAC;IAEF,MAAM,UAAU,GAAG,IAAA,wBAAgB,EAAC,cAAc,CAAC,CAAC;IAEpD,8EAA8E;IAC9E,YAAY;IACZ,8EAA8E;IAE9E,SAAS,KAAK;QACZ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7D,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,IAAI;QACjB,KAAK,MAAM,CAAC,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAClC,CAAC;QACD,cAAc,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;YACxB,gBAAgB,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAChD,CAAC"}
@@ -29,6 +29,7 @@ export declare class OAuthTokenManager implements TokenManager {
29
29
  private circuitOpenUntil;
30
30
  private retryAfterMs;
31
31
  private refreshPromise;
32
+ private refreshTimer;
32
33
  constructor(config: OAuthConfig, store: TokenStore, service: string, callbackPort: number, options?: {
33
34
  cloudIdResolver?: (accessToken: string) => Promise<{
34
35
  cloudId: string;
@@ -42,6 +43,21 @@ export declare class OAuthTokenManager implements TokenManager {
42
43
  isAuthenticated(): boolean;
43
44
  getTokenStatus(): TokenStatus;
44
45
  shutdown(): void;
46
+ /**
47
+ * Starts the proactive refresh timer. Reads the current token from the store
48
+ * and schedules a refresh before it expires. No-op if no token or no refresh
49
+ * token exists.
50
+ */
51
+ startProactiveRefresh(): void;
52
+ private clearRefreshTimer;
53
+ private scheduleRefresh;
54
+ /**
55
+ * Timer callback. Reuses the existing refreshPromise mutex so proactive and
56
+ * lazy refreshes coalesce into a single HTTP call. On success doRefresh()
57
+ * reschedules the timer. On failure we do NOT reschedule — lazy refresh
58
+ * serves as the fallback.
59
+ */
60
+ private proactiveRefresh;
45
61
  private ensureFresh;
46
62
  private doRefresh;
47
63
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/mcp/token/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAwBnF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAWvD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,WAAW,EACnB,QAAQ,CAAC,EAAE,WAAW,GACrB,WAAW,CAgBb;AAMD,qBAAa,iBAAkB,YAAW,YAAY;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAIvB;IAGF,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,gBAAgB,CAAK;IAE7B,OAAO,CAAC,YAAY,CAAK;IAGzB,OAAO,CAAC,cAAc,CAA8B;gBAGlD,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC1F,2EAA2E;QAC3E,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;KACrC;IAaG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAKjC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBnC,eAAe,IAAI,OAAO;IAI1B,cAAc,IAAI,WAAW;IAkB7B,QAAQ,IAAI,IAAI;YAYF,WAAW;YA6BX,SAAS;IAkCvB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;CAKzB"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/mcp/token/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAwBnF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAWvD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,WAAW,EACnB,QAAQ,CAAC,EAAE,WAAW,GACrB,WAAW,CAgBb;AAMD,qBAAa,iBAAkB,YAAW,YAAY;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAIvB;IAGF,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,gBAAgB,CAAK;IAE7B,OAAO,CAAC,YAAY,CAAK;IAGzB,OAAO,CAAC,cAAc,CAA8B;IAGpD,OAAO,CAAC,YAAY,CAA8C;gBAGhE,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC1F,2EAA2E;QAC3E,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;KACrC;IAaG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAKjC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBnC,eAAe,IAAI,OAAO;IAI1B,cAAc,IAAI,WAAW;IAkB7B,QAAQ,IAAI,IAAI;IAShB;;;;OAIG;IACH,qBAAqB,IAAI,IAAI;IAU7B,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,eAAe;IAQvB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;YAqBV,WAAW;YA6BX,SAAS;IAmCvB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;CAKzB"}
@@ -77,6 +77,8 @@ class OAuthTokenManager {
77
77
  retryAfterMs = 0;
78
78
  // Refresh mutex — collapses concurrent refresh attempts
79
79
  refreshPromise = null;
80
+ // Proactive refresh timer
81
+ refreshTimer = null;
80
82
  constructor(config, store, service, callbackPort, options) {
81
83
  this.config = config;
82
84
  this.store = store;
@@ -126,12 +128,60 @@ class OAuthTokenManager {
126
128
  };
127
129
  }
128
130
  shutdown() {
131
+ this.clearRefreshTimer();
129
132
  // Reset circuit-breaker and mutex state
130
133
  this.refreshPromise = null;
131
134
  this.consecutiveFailures = 0;
132
135
  this.circuitOpenUntil = 0;
133
136
  this.retryAfterMs = 0;
134
137
  }
138
+ /**
139
+ * Starts the proactive refresh timer. Reads the current token from the store
140
+ * and schedules a refresh before it expires. No-op if no token or no refresh
141
+ * token exists.
142
+ */
143
+ startProactiveRefresh() {
144
+ const token = this.store.get(this.service);
145
+ if (!token?.refreshToken)
146
+ return;
147
+ this.scheduleRefresh(token);
148
+ }
149
+ // ---------------------------------------------------------------------------
150
+ // Private: proactive refresh timer
151
+ // ---------------------------------------------------------------------------
152
+ clearRefreshTimer() {
153
+ if (this.refreshTimer !== null) {
154
+ clearTimeout(this.refreshTimer);
155
+ this.refreshTimer = null;
156
+ }
157
+ }
158
+ scheduleRefresh(token) {
159
+ this.clearRefreshTimer();
160
+ const now = Math.floor(Date.now() / 1000);
161
+ const delaySec = Math.max(0, token.expiresAt - now - EXPIRY_THRESHOLD_SECONDS);
162
+ this.refreshTimer = setTimeout(() => this.proactiveRefresh(), delaySec * 1000);
163
+ this.refreshTimer.unref();
164
+ }
165
+ /**
166
+ * Timer callback. Reuses the existing refreshPromise mutex so proactive and
167
+ * lazy refreshes coalesce into a single HTTP call. On success doRefresh()
168
+ * reschedules the timer. On failure we do NOT reschedule — lazy refresh
169
+ * serves as the fallback.
170
+ */
171
+ proactiveRefresh() {
172
+ this.refreshTimer = null;
173
+ const token = this.store.get(this.service);
174
+ if (!token)
175
+ return;
176
+ // Reuse the existing refresh mutex (coalesces with lazy refreshes)
177
+ if (!this.refreshPromise) {
178
+ this.refreshPromise = this.doRefresh(token).finally(() => {
179
+ this.refreshPromise = null;
180
+ });
181
+ }
182
+ // Swallow errors — lazy refresh is the fallback
183
+ this.refreshPromise.catch(() => { });
184
+ }
135
185
  // ---------------------------------------------------------------------------
136
186
  // Private: token freshness + mutex
137
187
  // ---------------------------------------------------------------------------
@@ -167,6 +217,7 @@ class OAuthTokenManager {
167
217
  this.store.upsert(this.service, refreshed);
168
218
  this.consecutiveFailures = 0;
169
219
  this.retryAfterMs = 0;
220
+ this.scheduleRefresh(refreshed);
170
221
  }
171
222
  catch (err) {
172
223
  this.consecutiveFailures += 1;
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/mcp/token/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/mcp/token/manager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@padua/cli",
3
- "version": "2.0.13",
3
+ "version": "2.0.15",
4
4
  "description": "Unified AWS infrastructure management CLI",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",