fa-mcp-sdk 0.4.132 → 0.4.137

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.
@@ -58,7 +58,7 @@
58
58
  "dependencies": {
59
59
  "@modelcontextprotocol/sdk": "^1.29.0",
60
60
  "dotenv": "^17.4.1",
61
- "fa-mcp-sdk": "^0.4.124"
61
+ "fa-mcp-sdk": "^0.4.137"
62
62
  },
63
63
  "devDependencies": {
64
64
  "@types/express": "^5.0.6",
@@ -1 +1 @@
1
- {"version":3,"file":"server-http.d.ts","sourceRoot":"","sources":["../../../src/core/web/server-http.ts"],"names":[],"mappings":"AAiDA,eAAO,MAAM,cAAc,SAAyC,CAAC;AAsCrE;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CA+mBrD"}
1
+ {"version":3,"file":"server-http.d.ts","sourceRoot":"","sources":["../../../src/core/web/server-http.ts"],"names":[],"mappings":"AAkDA,eAAO,MAAM,cAAc,SAAyC,CAAC;AAsCrE;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CA2oBrD"}
@@ -9,8 +9,9 @@ import { RateLimiterMemory } from 'rate-limiter-flexible';
9
9
  import { createAgentTesterRouter } from '../agent-tester/agent-tester-router.js';
10
10
  import { validateAdminAuthConfig } from '../auth/admin-auth.js';
11
11
  import { createAgentTesterSessionMW } from '../auth/agent-tester-auth.js';
12
- import { generateToken, MIN_ENCRYPT_KEY_LENGTH } from '../auth/jwt.js';
12
+ import { checkJwtToken, generateToken, MIN_ENCRYPT_KEY_LENGTH } from '../auth/jwt.js';
13
13
  import { createAuthMW } from '../auth/middleware.js';
14
+ import { checkPermanentToken } from '../auth/permanent.js';
14
15
  import { appConfig, getProjectData } from '../bootstrap/init-config.js';
15
16
  import { debugMcpNotification } from '../debug.js';
16
17
  import { getMainDBConnectionStatus } from '../db/pg-db.js';
@@ -113,6 +114,29 @@ export async function startHttpServer() {
113
114
  }
114
115
  res.json(health);
115
116
  });
117
+ // Token check endpoint: GET /ct?t=<token> or POST /ct {"t": "<token>"}
118
+ // Returns { success, type: 'permanent' | 'JWT', payload? } or { success: false, error }
119
+ const handleTokenCheck = (req, res) => {
120
+ const raw = req.method === 'GET' ? req.query.t : req.body?.t;
121
+ const token = typeof raw === 'string' ? raw.trim() : '';
122
+ if (!token) {
123
+ return res.status(400).json({ success: false, error: 'Token not provided. Pass via "t" query/body parameter' });
124
+ }
125
+ const { errorReason: permError } = checkPermanentToken(token);
126
+ if (!permError) {
127
+ return res.json({ success: true, type: 'permanent' });
128
+ }
129
+ const xff = req.headers['x-forwarded-for'];
130
+ const xffStr = (Array.isArray(xff) ? (xff[0] ?? '') : (xff ?? '')).split(',').shift() ?? '';
131
+ const clientIp = req.ip ?? (xffStr.trim() || (req.socket?.remoteAddress ?? ''));
132
+ const jwtResult = checkJwtToken({ token, clientIp });
133
+ if (!jwtResult.errorReason) {
134
+ return res.json({ success: true, type: 'JWT', payload: jwtResult.payload });
135
+ }
136
+ return res.status(401).json({ success: false, error: jwtResult.errorReason });
137
+ };
138
+ app.get('/ct', handleTokenCheck);
139
+ app.post('/ct', handleTokenCheck);
116
140
  // Public endpoint: returns used HTTP headers configured in the template (optional)
117
141
  app.get('/used-http-headers', (req, res) => {
118
142
  try {
@@ -550,6 +574,7 @@ export async function startHttpServer() {
550
574
  const availableEndpoints = {
551
575
  home: 'GET /',
552
576
  health: 'GET /health',
577
+ checkToken: 'GET /ct?t=<token>, POST /ct',
553
578
  sse: 'GET /sse, POST /sse',
554
579
  messages: 'POST /messages',
555
580
  mcp: 'POST /mcp',
@@ -1 +1 @@
1
- {"version":3,"file":"server-http.js","sourceRoot":"","sources":["../../../src/core/web/server-http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-http.js","sourceRoot":"","sources":["../../../src/core/web/server-http.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,10 @@
30
30
  <label for="authToken">Token</label>
31
31
  <input type="password" id="authToken" placeholder="Enter access token" autocomplete="off" data-testid="at-auth-token-input">
32
32
  </div>
33
+ <label class="auth-remember" data-testid="at-auth-token-remember-label">
34
+ <input type="checkbox" id="authTokenRemember" checked data-testid="at-auth-token-remember">
35
+ <span>Remember me on this device</span>
36
+ </label>
33
37
  <button type="submit" class="btn btn-primary auth-submit" data-testid="at-auth-token-submit">
34
38
  <span class="material-icons-round">login</span>
35
39
  Sign In
@@ -45,6 +49,10 @@
45
49
  <label for="authPassword">Password</label>
46
50
  <input type="password" id="authPassword" placeholder="Password" autocomplete="current-password" data-testid="at-auth-password">
47
51
  </div>
52
+ <label class="auth-remember" data-testid="at-auth-basic-remember-label">
53
+ <input type="checkbox" id="authBasicRemember" checked data-testid="at-auth-basic-remember">
54
+ <span>Remember me on this device</span>
55
+ </label>
48
56
  <button type="submit" class="btn btn-primary auth-submit" data-testid="at-auth-basic-submit">
49
57
  <span class="material-icons-round">login</span>
50
58
  Sign In
@@ -363,6 +371,9 @@
363
371
  </div>
364
372
  </section>
365
373
  </div>
374
+ <div class="settings-modal-footer">
375
+ <button type="button" class="btn btn-primary" id="settingsModalOk" data-testid="at-settings-modal-ok">OK</button>
376
+ </div>
366
377
  </div>
367
378
  </div>
368
379
 
@@ -38,6 +38,8 @@ function apiFetch(url, options = {}) {
38
38
  * Auth manager — handles login overlay when agentTester.useAuth is enabled.
39
39
  */
40
40
  class AuthManager {
41
+ static LS_KEY = 'agentTesterAuthCreds';
42
+
41
43
  constructor() {
42
44
  this._authenticated = false;
43
45
  this._authRequired = false;
@@ -61,7 +63,13 @@ class AuthManager {
61
63
  return true;
62
64
  }
63
65
 
64
- this._showLoginOverlay(status.methods || []);
66
+ // Try silent re-login with saved credentials before showing overlay
67
+ const saved = this._loadSavedCreds();
68
+ if (saved && (await this._login(saved, { silent: true }))) {
69
+ return true;
70
+ }
71
+
72
+ this._showLoginOverlay(status.methods || [], saved);
65
73
  return false; // block app init until authenticated
66
74
  } catch (e) {
67
75
  console.warn('Auth status check failed, proceeding without auth:', e);
@@ -69,7 +77,39 @@ class AuthManager {
69
77
  }
70
78
  }
71
79
 
72
- _showLoginOverlay(methods) {
80
+ _loadSavedCreds() {
81
+ try {
82
+ const raw = localStorage.getItem(AuthManager.LS_KEY);
83
+ if (!raw) {
84
+ return null;
85
+ }
86
+ const obj = JSON.parse(raw);
87
+ if (obj && (obj.token || (obj.username && obj.password))) {
88
+ return obj;
89
+ }
90
+ } catch {
91
+ /* ignore */
92
+ }
93
+ return null;
94
+ }
95
+
96
+ _saveCreds(creds) {
97
+ try {
98
+ localStorage.setItem(AuthManager.LS_KEY, JSON.stringify(creds));
99
+ } catch {
100
+ /* ignore */
101
+ }
102
+ }
103
+
104
+ _clearSavedCreds() {
105
+ try {
106
+ localStorage.removeItem(AuthManager.LS_KEY);
107
+ } catch {
108
+ /* ignore */
109
+ }
110
+ }
111
+
112
+ _showLoginOverlay(methods, saved) {
73
113
  const overlay = document.getElementById('authOverlay');
74
114
  const appEl = document.querySelector('.app');
75
115
  overlay.style.display = 'flex';
@@ -82,10 +122,30 @@ class AuthManager {
82
122
  const basicForm = document.getElementById('authBasicForm');
83
123
  const tabs = document.getElementById('authTabs');
84
124
 
125
+ // Pre-fill from saved credentials (if any)
126
+ if (saved?.token) {
127
+ document.getElementById('authToken').value = saved.token;
128
+ }
129
+ if (saved?.username) {
130
+ document.getElementById('authUsername').value = saved.username;
131
+ }
132
+ if (saved?.password) {
133
+ document.getElementById('authPassword').value = saved.password;
134
+ }
135
+
136
+ // If saved creds match a single available method, switch to that tab.
137
+ const preferBasic = saved?.username && hasBasic && !saved?.token;
138
+
85
139
  if (hasToken && hasBasic) {
86
140
  tabs.style.display = 'flex';
87
- tokenForm.style.display = 'flex';
88
- basicForm.style.display = 'none';
141
+ if (preferBasic) {
142
+ tokenForm.style.display = 'none';
143
+ basicForm.style.display = 'flex';
144
+ document.querySelectorAll('.auth-tab').forEach((t) => t.classList.toggle('active', t.dataset.tab === 'basic'));
145
+ } else {
146
+ tokenForm.style.display = 'flex';
147
+ basicForm.style.display = 'none';
148
+ }
89
149
  this._bindTabs();
90
150
  } else if (hasBasic) {
91
151
  tokenForm.style.display = 'none';
@@ -98,8 +158,9 @@ class AuthManager {
98
158
  tokenForm.addEventListener('submit', (e) => {
99
159
  e.preventDefault();
100
160
  const token = document.getElementById('authToken').value.trim();
161
+ const remember = document.getElementById('authTokenRemember').checked;
101
162
  if (token) {
102
- this._login({ token });
163
+ this._login({ token }, { remember });
103
164
  }
104
165
  });
105
166
 
@@ -107,8 +168,9 @@ class AuthManager {
107
168
  e.preventDefault();
108
169
  const username = document.getElementById('authUsername').value.trim();
109
170
  const password = document.getElementById('authPassword').value;
171
+ const remember = document.getElementById('authBasicRemember').checked;
110
172
  if (username && password) {
111
- this._login({ username, password });
173
+ this._login({ username, password }, { remember });
112
174
  }
113
175
  });
114
176
  }
@@ -134,8 +196,17 @@ class AuthManager {
134
196
  });
135
197
  }
136
198
 
137
- async _login(credentials) {
138
- this._hideError();
199
+ /**
200
+ * Attempt login. Options:
201
+ * - silent: on failure, suppress error UI and return false (used for auto-login)
202
+ * - remember: on success, persist credentials to localStorage; on omission, leave LS untouched
203
+ *
204
+ * Returns true on success, false on failure.
205
+ */
206
+ async _login(credentials, { silent = false, remember } = {}) {
207
+ if (!silent) {
208
+ this._hideError();
209
+ }
139
210
  try {
140
211
  const resp = await apiFetch(`${API_BASE}/api/auth/login`, {
141
212
  method: 'POST',
@@ -144,13 +215,23 @@ class AuthManager {
144
215
  });
145
216
 
146
217
  if (!resp.ok) {
147
- const err = await resp.json();
218
+ if (silent) {
219
+ this._clearSavedCreds();
220
+ return false;
221
+ }
222
+ const err = await resp.json().catch(() => ({}));
148
223
  this._showError(err.error || 'Authentication failed');
149
- return;
224
+ return false;
150
225
  }
151
226
 
152
227
  this._authenticated = true;
153
228
 
229
+ if (remember === true) {
230
+ this._saveCreds(credentials);
231
+ } else if (remember === false) {
232
+ this._clearSavedCreds();
233
+ }
234
+
154
235
  // Hide overlay, show app
155
236
  document.getElementById('authOverlay').style.display = 'none';
156
237
  document.querySelector('.app').style.display = 'flex';
@@ -158,8 +239,12 @@ class AuthManager {
158
239
 
159
240
  // Initialize the main app after successful login
160
241
  window.mcpAgentTester = new McpAgentTester();
242
+ return true;
161
243
  } catch (_e) {
162
- this._showError('Connection error');
244
+ if (!silent) {
245
+ this._showError('Connection error');
246
+ }
247
+ return false;
163
248
  }
164
249
  }
165
250
 
@@ -172,6 +257,7 @@ class AuthManager {
172
257
  }
173
258
 
174
259
  async _logout() {
260
+ this._clearSavedCreds();
175
261
  try {
176
262
  await apiFetch(`${API_BASE}/api/auth/logout`, { method: 'POST' });
177
263
  } catch {
@@ -1216,6 +1302,7 @@ class McpAgentTester {
1216
1302
  this.settingsModal = document.getElementById('settingsModal');
1217
1303
  this.settingsBtn = document.getElementById('settingsBtn');
1218
1304
  this.settingsModalClose = document.getElementById('settingsModalClose');
1305
+ this.settingsModalOk = document.getElementById('settingsModalOk');
1219
1306
 
1220
1307
  // LLM settings — collapsed view + modal
1221
1308
  this.modelDisplay = document.getElementById('modelDisplay');
@@ -1375,12 +1462,8 @@ class McpAgentTester {
1375
1462
  if (this.settingsModalClose) {
1376
1463
  this.settingsModalClose.addEventListener('click', () => this.closeSettingsModal());
1377
1464
  }
1378
- if (this.settingsModal) {
1379
- this.settingsModal.addEventListener('click', (e) => {
1380
- if (e.target === this.settingsModal) {
1381
- this.closeSettingsModal();
1382
- }
1383
- });
1465
+ if (this.settingsModalOk) {
1466
+ this.settingsModalOk.addEventListener('click', () => this.closeSettingsModal());
1384
1467
  }
1385
1468
  document.addEventListener('keydown', (e) => {
1386
1469
  if (e.key === 'Escape' && this.settingsModal && this.settingsModal.style.display === 'flex') {
@@ -521,6 +521,15 @@ body {
521
521
  color: var(--text);
522
522
  }
523
523
 
524
+ #logoutBtn {
525
+ color: var(--error);
526
+ }
527
+
528
+ #logoutBtn:hover {
529
+ background-color: var(--error-bg);
530
+ color: var(--error);
531
+ }
532
+
524
533
  .btn-danger {
525
534
  background: var(--error-bg);
526
535
  color: var(--error);
@@ -2117,6 +2126,13 @@ textarea.prompt-modified {
2117
2126
  margin-bottom: 0;
2118
2127
  }
2119
2128
 
2129
+ .settings-modal-footer {
2130
+ display: flex;
2131
+ justify-content: flex-end;
2132
+ padding: 12px 20px;
2133
+ border-top: 1px solid var(--border);
2134
+ }
2135
+
2120
2136
  /* ============================================
2121
2137
  LLM Settings Modal
2122
2138
  ============================================ */
@@ -2334,6 +2350,24 @@ textarea.prompt-modified {
2334
2350
  box-shadow: 0 0 0 3px var(--primary-glow);
2335
2351
  }
2336
2352
 
2353
+ .auth-remember {
2354
+ display: flex;
2355
+ align-items: center;
2356
+ gap: 8px;
2357
+ font-size: 0.85rem;
2358
+ color: var(--text-secondary);
2359
+ cursor: pointer;
2360
+ user-select: none;
2361
+ }
2362
+
2363
+ .auth-remember input[type="checkbox"] {
2364
+ width: 16px;
2365
+ height: 16px;
2366
+ margin: 0;
2367
+ cursor: pointer;
2368
+ accent-color: var(--primary);
2369
+ }
2370
+
2337
2371
  .auth-submit {
2338
2372
  display: flex;
2339
2373
  align-items: center;
@@ -2567,6 +2601,8 @@ textarea.prompt-modified {
2567
2601
  border-bottom: 1px solid var(--border);
2568
2602
  white-space: pre-wrap;
2569
2603
  word-break: break-word;
2604
+ max-height: 150px;
2605
+ overflow: auto;
2570
2606
  }
2571
2607
 
2572
2608
  .tt-panel-body {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "fa-mcp-sdk",
3
3
  "productName": "FA MCP SDK",
4
- "version": "0.4.132",
4
+ "version": "0.4.137",
5
5
  "description": "Core infrastructure and templates for building Model Context Protocol (MCP) servers with TypeScript",
6
6
  "type": "module",
7
7
  "main": "dist/core/index.js",