@inspectr/mcplab 1.7.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/README.md +14 -1
  2. package/dist/app/assets/index-BLsLqeX3.js +249 -0
  3. package/dist/app/assets/index-D80zV1LL.css +1 -0
  4. package/dist/app/icons/claude-color.svg +1 -0
  5. package/dist/app/icons/openai.svg +1 -0
  6. package/dist/app/index.html +2 -2
  7. package/dist/app-server/app-context.d.ts +129 -75
  8. package/dist/app-server/assistant-common.d.ts +2 -0
  9. package/dist/app-server/assistant-common.d.ts.map +1 -1
  10. package/dist/app-server/assistant-common.js +2 -1
  11. package/dist/app-server/assistant-common.js.map +1 -1
  12. package/dist/app-server/config-store.d.ts +2 -0
  13. package/dist/app-server/config-store.d.ts.map +1 -1
  14. package/dist/app-server/config-store.js +10 -5
  15. package/dist/app-server/config-store.js.map +1 -1
  16. package/dist/app-server/oauth-debugger-domain.d.ts +202 -174
  17. package/dist/app-server/oauth-debugger-domain.d.ts.map +1 -1
  18. package/dist/app-server/oauth-debugger-domain.js +53 -4
  19. package/dist/app-server/oauth-debugger-domain.js.map +1 -1
  20. package/dist/app-server/oauth-runtime-domain.d.ts +53 -42
  21. package/dist/app-server/oauth-runtime-domain.d.ts.map +1 -1
  22. package/dist/app-server/oauth-runtime-domain.js +1 -3
  23. package/dist/app-server/oauth-runtime-domain.js.map +1 -1
  24. package/dist/app-server/oauth-runtime-routes.d.ts +13 -11
  25. package/dist/app-server/oauth-runtime-routes.d.ts.map +1 -1
  26. package/dist/app-server/oauth-runtime-routes.js +27 -1
  27. package/dist/app-server/oauth-runtime-routes.js.map +1 -1
  28. package/dist/app-server/oauth-session-manager.d.ts +57 -0
  29. package/dist/app-server/oauth-session-manager.d.ts.map +1 -0
  30. package/dist/app-server/oauth-session-manager.js +338 -0
  31. package/dist/app-server/oauth-session-manager.js.map +1 -0
  32. package/dist/app-server/result-assistant-domain.d.ts +5 -3
  33. package/dist/app-server/result-assistant-domain.d.ts.map +1 -1
  34. package/dist/app-server/result-assistant-domain.js +38 -44
  35. package/dist/app-server/result-assistant-domain.js.map +1 -1
  36. package/dist/app-server/result-assistant-tools.d.ts +11 -0
  37. package/dist/app-server/result-assistant-tools.d.ts.map +1 -0
  38. package/dist/app-server/result-assistant-tools.js +27 -0
  39. package/dist/app-server/result-assistant-tools.js.map +1 -0
  40. package/dist/app-server/result-assistant.d.ts.map +1 -1
  41. package/dist/app-server/result-assistant.js +24 -27
  42. package/dist/app-server/result-assistant.js.map +1 -1
  43. package/dist/app-server/router.d.ts.map +1 -1
  44. package/dist/app-server/router.js +36 -8
  45. package/dist/app-server/router.js.map +1 -1
  46. package/dist/app-server/runs-routes.d.ts +54 -30
  47. package/dist/app-server/runs-routes.d.ts.map +1 -1
  48. package/dist/app-server/runs-routes.js +207 -87
  49. package/dist/app-server/runs-routes.js.map +1 -1
  50. package/dist/app-server/scenario-assistant-domain.d.ts +19 -3
  51. package/dist/app-server/scenario-assistant-domain.d.ts.map +1 -1
  52. package/dist/app-server/scenario-assistant-domain.js +272 -6
  53. package/dist/app-server/scenario-assistant-domain.js.map +1 -1
  54. package/dist/app-server/scenario-assistant.d.ts +2 -0
  55. package/dist/app-server/scenario-assistant.d.ts.map +1 -1
  56. package/dist/app-server/scenario-assistant.js +60 -3
  57. package/dist/app-server/scenario-assistant.js.map +1 -1
  58. package/dist/app-server/tool-analysis-domain.d.ts +179 -165
  59. package/dist/app-server/tool-analysis-domain.d.ts.map +1 -1
  60. package/dist/app-server/tool-analysis-domain.js +21 -9
  61. package/dist/app-server/tool-analysis-domain.js.map +1 -1
  62. package/dist/app-server/tool-analysis.d.ts +21 -12
  63. package/dist/app-server/tool-analysis.d.ts.map +1 -1
  64. package/dist/app-server/tool-analysis.js +23 -20
  65. package/dist/app-server/tool-analysis.js.map +1 -1
  66. package/dist/app-server/types.d.ts +7 -0
  67. package/dist/app-server/types.d.ts.map +1 -1
  68. package/dist/cli.js +186 -103
  69. package/dist/cli.js.map +1 -1
  70. package/dist/eval-config-files.d.ts +13 -0
  71. package/dist/eval-config-files.d.ts.map +1 -0
  72. package/dist/eval-config-files.js +89 -0
  73. package/dist/eval-config-files.js.map +1 -0
  74. package/dist/run-interactive.d.ts.map +1 -1
  75. package/dist/run-interactive.js +14 -10
  76. package/dist/run-interactive.js.map +1 -1
  77. package/package.json +4 -4
  78. package/dist/app/assets/index-CYs1291A.css +0 -1
  79. package/dist/app/assets/index-Fe4npghI.js +0 -249
@@ -1,210 +1,238 @@
1
1
  import type { ServerResponse } from 'node:http';
2
2
  import type { EvalConfig } from '@inspectr/mcplab-core';
3
- type SessionStatus = 'configuring' | 'running' | 'waiting_for_user' | 'waiting_for_browser_callback' | 'completed' | 'error' | 'stopped';
3
+ type SessionStatus =
4
+ | 'configuring'
5
+ | 'running'
6
+ | 'waiting_for_user'
7
+ | 'waiting_for_browser_callback'
8
+ | 'completed'
9
+ | 'error'
10
+ | 'stopped';
4
11
  type RegistrationMethod = 'pre_registered' | 'dcr' | 'cimd';
5
12
  export interface OAuthDebuggerSessionConfigInput {
6
- profile: 'latest';
7
- target: {
8
- serverName: string;
9
- overrides?: {
10
- authorizationServerMetadataUrl?: string;
11
- authorizationEndpoint?: string;
12
- tokenEndpoint?: string;
13
- registrationEndpoint?: string;
14
- cimdUrl?: string;
15
- resourceBaseUrl?: string;
16
- };
13
+ profile: 'latest';
14
+ target: {
15
+ serverName: string;
16
+ overrides?: {
17
+ authorizationServerMetadataUrl?: string;
18
+ authorizationEndpoint?: string;
19
+ tokenEndpoint?: string;
20
+ registrationEndpoint?: string;
21
+ cimdUrl?: string;
22
+ resourceBaseUrl?: string;
17
23
  };
18
- registrationMethod: RegistrationMethod;
19
- clientConfig: {
20
- preRegistered?: {
21
- clientId: string;
22
- clientSecret?: string;
23
- tokenEndpointAuthMethod?: string;
24
- };
25
- dcr?: {
26
- metadata?: Record<string, unknown>;
27
- tokenEndpointAuthMethod?: string;
28
- };
29
- cimd?: {
30
- cimdUrl?: string;
31
- expectedClientId?: string;
32
- };
24
+ };
25
+ registrationMethod: RegistrationMethod;
26
+ clientConfig: {
27
+ preRegistered?: {
28
+ clientId: string;
29
+ clientSecret?: string;
30
+ tokenEndpointAuthMethod?: string;
33
31
  };
34
- runtime: {
35
- redirectMode: 'local_callback' | 'manual';
36
- scopes?: string[];
37
- resource?: string;
38
- usePkce?: boolean;
39
- codeChallengeMethod?: 'S256';
40
- state?: string;
41
- nonce?: string;
42
- extraAuthParams?: Record<string, string>;
32
+ dcr?: {
33
+ metadata?: Record<string, unknown>;
34
+ tokenEndpointAuthMethod?: string;
43
35
  };
44
- display?: {
45
- showSensitiveValues?: boolean;
36
+ cimd?: {
37
+ cimdUrl?: string;
38
+ expectedClientId?: string;
46
39
  };
40
+ };
41
+ runtime: {
42
+ redirectMode: 'local_callback' | 'manual';
43
+ scopes?: string[];
44
+ resource?: string;
45
+ usePkce?: boolean;
46
+ codeChallengeMethod?: 'S256';
47
+ state?: string;
48
+ nonce?: string;
49
+ extraAuthParams?: Record<string, string>;
50
+ };
51
+ display?: {
52
+ showSensitiveValues?: boolean;
53
+ };
47
54
  }
48
55
  export interface OAuthNetworkExchange {
49
- id: string;
50
- stepId: string;
51
- kind: 'http';
52
- phase: 'request' | 'response';
53
- label: string;
54
- method?: string;
55
- url: string;
56
- headers: Record<string, string>;
57
- bodyText?: string;
58
- status?: number;
59
- durationMs?: number;
60
- timestamp: string;
61
- sensitiveFields?: Array<{
62
- path: string;
63
- type: 'token' | 'secret' | 'authorization_header';
64
- }>;
56
+ id: string;
57
+ stepId: string;
58
+ kind: 'http';
59
+ phase: 'request' | 'response';
60
+ label: string;
61
+ method?: string;
62
+ url: string;
63
+ headers: Record<string, string>;
64
+ bodyText?: string;
65
+ status?: number;
66
+ durationMs?: number;
67
+ timestamp: string;
68
+ sensitiveFields?: Array<{
69
+ path: string;
70
+ type: 'token' | 'secret' | 'authorization_header';
71
+ }>;
65
72
  }
66
73
  export interface OAuthValidationFinding {
67
- id: string;
68
- stepId: string;
69
- severity: 'error' | 'warning' | 'info';
70
- code: string;
71
- title: string;
72
- detail: string;
73
- specReference?: string;
74
- recommendation?: string;
74
+ id: string;
75
+ stepId: string;
76
+ severity: 'error' | 'warning' | 'info';
77
+ code: string;
78
+ title: string;
79
+ detail: string;
80
+ specReference?: string;
81
+ recommendation?: string;
75
82
  }
76
83
  export interface OAuthDebuggerStepState {
77
- id: string;
78
- title: string;
79
- description: string;
80
- status: 'pending' | 'active' | 'completed' | 'failed' | 'skipped';
81
- startedAt?: string;
82
- finishedAt?: string;
83
- outcomeSummary?: string;
84
- teachableMoment?: string;
85
- networkExchangeIds: string[];
86
- validationIds: string[];
84
+ id: string;
85
+ title: string;
86
+ description: string;
87
+ status: 'pending' | 'active' | 'completed' | 'failed' | 'skipped';
88
+ startedAt?: string;
89
+ finishedAt?: string;
90
+ outcomeSummary?: string;
91
+ teachableMoment?: string;
92
+ networkExchangeIds: string[];
93
+ validationIds: string[];
87
94
  }
88
95
  export interface OAuthSequenceEvent {
89
- id: string;
90
- ts: string;
91
- from: 'User' | 'Debugger' | 'Auth Server' | 'Token Endpoint' | 'MCP/Resource';
92
- to: 'User' | 'Debugger' | 'Auth Server' | 'Token Endpoint' | 'MCP/Resource';
93
- label: string;
94
- stepId?: string;
95
- networkExchangeId?: string;
96
+ id: string;
97
+ ts: string;
98
+ from: 'User' | 'Debugger' | 'Auth Server' | 'Token Endpoint' | 'MCP/Resource';
99
+ to: 'User' | 'Debugger' | 'Auth Server' | 'Token Endpoint' | 'MCP/Resource';
100
+ label: string;
101
+ stepId?: string;
102
+ networkExchangeId?: string;
96
103
  }
97
104
  export interface OAuthDebuggerSession {
98
- id: string;
99
- createdAt: number;
100
- updatedAt: number;
101
- status: SessionStatus;
102
- config: {
103
- profile: 'latest';
104
- target: OAuthDebuggerSessionConfigInput['target'];
105
- registrationMethod: RegistrationMethod;
106
- clientConfig: OAuthDebuggerSessionConfigInput['clientConfig'];
107
- runtime: Required<Pick<OAuthDebuggerSessionConfigInput['runtime'], 'redirectMode' | 'usePkce' | 'codeChallengeMethod'>> & Omit<OAuthDebuggerSessionConfigInput['runtime'], 'redirectMode' | 'usePkce' | 'codeChallengeMethod'>;
108
- display: {
109
- showSensitiveValues: boolean;
110
- };
111
- };
112
- steps: OAuthDebuggerStepState[];
113
- validations: OAuthValidationFinding[];
114
- network: OAuthNetworkExchange[];
115
- sequence: OAuthSequenceEvent[];
116
- events: Array<{
117
- type: string;
118
- ts: string;
119
- payload: Record<string, unknown>;
120
- }>;
121
- clients: Set<ServerResponse>;
122
- abortController: AbortController;
123
- serverConfig?: EvalConfig['servers'][string];
124
- context: {
125
- resourceMetadata?: any;
126
- authServerMetadata?: any;
127
- registration?: any;
128
- resolvedClient?: {
129
- clientId: string;
130
- clientSecret?: string;
131
- tokenEndpointAuthMethod?: string;
132
- };
133
- pkce?: {
134
- verifier: string;
135
- challenge: string;
136
- method: 'S256';
137
- };
138
- authorizationRequestUrl?: string;
139
- callbackResult?: {
140
- rawUrl?: string;
141
- code?: string;
142
- state?: string;
143
- error?: string;
144
- errorDescription?: string;
145
- };
146
- tokenResponse?: any;
147
- probeResponse?: {
148
- status: number;
149
- bodyText: string;
150
- url: string;
151
- };
152
- callbackUrl?: string;
153
- };
154
- }
155
- export interface OAuthDebuggerSessionView {
156
- id: string;
157
- status: SessionStatus;
158
- createdAt: string;
159
- updatedAt: string;
105
+ id: string;
106
+ createdAt: number;
107
+ updatedAt: number;
108
+ status: SessionStatus;
109
+ config: {
160
110
  profile: 'latest';
111
+ target: OAuthDebuggerSessionConfigInput['target'];
161
112
  registrationMethod: RegistrationMethod;
162
- stepStates: OAuthDebuggerStepState[];
163
- validations: OAuthValidationFinding[];
164
- network: OAuthNetworkExchange[];
165
- networkSummary: {
166
- requestCount: number;
167
- errorCount: number;
113
+ clientConfig: OAuthDebuggerSessionConfigInput['clientConfig'];
114
+ runtime: Required<
115
+ Pick<
116
+ OAuthDebuggerSessionConfigInput['runtime'],
117
+ 'redirectMode' | 'usePkce' | 'codeChallengeMethod'
118
+ >
119
+ > &
120
+ Omit<
121
+ OAuthDebuggerSessionConfigInput['runtime'],
122
+ 'redirectMode' | 'usePkce' | 'codeChallengeMethod'
123
+ >;
124
+ display: {
125
+ showSensitiveValues: boolean;
126
+ };
127
+ };
128
+ steps: OAuthDebuggerStepState[];
129
+ validations: OAuthValidationFinding[];
130
+ network: OAuthNetworkExchange[];
131
+ sequence: OAuthSequenceEvent[];
132
+ events: Array<{
133
+ type: string;
134
+ ts: string;
135
+ payload: Record<string, unknown>;
136
+ }>;
137
+ clients: Set<ServerResponse>;
138
+ abortController: AbortController;
139
+ serverConfig?: EvalConfig['servers'][string];
140
+ context: {
141
+ resourceMetadata?: any;
142
+ authServerMetadata?: any;
143
+ registration?: any;
144
+ resolvedClient?: {
145
+ clientId: string;
146
+ clientSecret?: string;
147
+ tokenEndpointAuthMethod?: string;
148
+ };
149
+ pkce?: {
150
+ verifier: string;
151
+ challenge: string;
152
+ method: 'S256';
168
153
  };
169
- sequence: OAuthSequenceEvent[];
170
- uiHints: {
171
- nextAction?: 'start' | 'open_authorize_url' | 'paste_callback_url' | 'none';
172
- authorizationUrl?: string;
173
- callbackMode?: 'local_callback' | 'manual';
174
- callbackUrl?: string;
154
+ authorizationRequestUrl?: string;
155
+ callbackResult?: {
156
+ rawUrl?: string;
157
+ code?: string;
158
+ state?: string;
159
+ error?: string;
160
+ errorDescription?: string;
175
161
  };
176
- summary?: {
177
- issuer?: string;
178
- clientId?: string;
179
- redirectUri?: string;
180
- tokenEndpointStatus?: number;
181
- tokenType?: string;
182
- grantedScopes?: string[];
183
- accessToken?: string;
162
+ tokenResponse?: any;
163
+ tokenReceivedAt?: number;
164
+ probeResponse?: {
165
+ status: number;
166
+ bodyText: string;
167
+ url: string;
184
168
  };
169
+ callbackUrl?: string;
170
+ };
185
171
  }
186
- export declare function cleanupOAuthDebuggerSessions(sessions: Map<string, OAuthDebuggerSession>, now?: number): void;
172
+ export interface OAuthDebuggerSessionView {
173
+ id: string;
174
+ status: SessionStatus;
175
+ createdAt: string;
176
+ updatedAt: string;
177
+ profile: 'latest';
178
+ registrationMethod: RegistrationMethod;
179
+ stepStates: OAuthDebuggerStepState[];
180
+ validations: OAuthValidationFinding[];
181
+ network: OAuthNetworkExchange[];
182
+ networkSummary: {
183
+ requestCount: number;
184
+ errorCount: number;
185
+ };
186
+ sequence: OAuthSequenceEvent[];
187
+ uiHints: {
188
+ nextAction?: 'start' | 'open_authorize_url' | 'paste_callback_url' | 'none';
189
+ authorizationUrl?: string;
190
+ callbackMode?: 'local_callback' | 'manual';
191
+ callbackUrl?: string;
192
+ };
193
+ summary?: {
194
+ showSensitiveValues?: boolean;
195
+ issuer?: string;
196
+ clientId?: string;
197
+ redirectUri?: string;
198
+ tokenEndpointStatus?: number;
199
+ tokenType?: string;
200
+ grantedScopes?: string[];
201
+ accessToken?: string;
202
+ accessTokenExpiresInSeconds?: number;
203
+ accessTokenExpiresAt?: string;
204
+ accessTokenValidForSeconds?: number;
205
+ accessTokenExpirySource?: 'expires_in' | 'jwt_exp' | 'none';
206
+ refreshTokenAvailable?: boolean;
207
+ };
208
+ }
209
+ export declare function cleanupOAuthDebuggerSessions(
210
+ sessions: Map<string, OAuthDebuggerSession>,
211
+ now?: number
212
+ ): void;
187
213
  export declare function createOAuthDebuggerSession(params: {
188
- config: OAuthDebuggerSessionConfigInput;
189
- serverConfig?: EvalConfig['servers'][string];
214
+ config: OAuthDebuggerSessionConfigInput;
215
+ serverConfig?: EvalConfig['servers'][string];
190
216
  }): OAuthDebuggerSession;
191
- export declare function oauthDebuggerSessionView(session: OAuthDebuggerSession): OAuthDebuggerSessionView;
217
+ export declare function oauthDebuggerSessionView(
218
+ session: OAuthDebuggerSession
219
+ ): OAuthDebuggerSessionView;
192
220
  export declare function startOrResumeOAuthDebuggerSession(params: {
193
- session: OAuthDebuggerSession;
194
- appBaseUrl: string;
221
+ session: OAuthDebuggerSession;
222
+ appBaseUrl: string;
195
223
  }): Promise<void>;
196
224
  export declare function submitManualCallbackToSession(params: {
197
- session: OAuthDebuggerSession;
198
- redirectUrl?: string;
199
- code?: string;
200
- state?: string;
225
+ session: OAuthDebuggerSession;
226
+ redirectUrl?: string;
227
+ code?: string;
228
+ state?: string;
201
229
  }): void;
202
230
  export declare function submitBrowserCallbackToSession(params: {
203
- session: OAuthDebuggerSession;
204
- rawUrl: string;
231
+ session: OAuthDebuggerSession;
232
+ rawUrl: string;
205
233
  }): void;
206
234
  export declare function stopOAuthDebuggerSession(session: OAuthDebuggerSession): void;
207
235
  export declare function oauthDebuggerExportMarkdown(session: OAuthDebuggerSession): string;
208
236
  export declare function oauthDebuggerExportRawTrace(session: OAuthDebuggerSession): string;
209
237
  export {};
210
- //# sourceMappingURL=oauth-debugger-domain.d.ts.map
238
+ //# sourceMappingURL=oauth-debugger-domain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-debugger-domain.d.ts","sourceRoot":"","sources":["../../src/app-server/oauth-debugger-domain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-debugger-domain.d.ts","sourceRoot":"","sources":["../../src/app-server/oauth-debugger-domain.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,19 @@ function makeId(prefix) {
12
12
  function toBase64Url(buffer) {
13
13
  return buffer.toString('base64').replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/g, '');
14
14
  }
15
+ function parseJwtClaims(token) {
16
+ const parts = token.split('.');
17
+ if (parts.length < 2)
18
+ return undefined;
19
+ try {
20
+ const payload = parts[1].replace(/-/g, '+').replace(/_/g, '/');
21
+ const padded = payload + '='.repeat((4 - (payload.length % 4)) % 4);
22
+ return JSON.parse(Buffer.from(padded, 'base64').toString('utf8'));
23
+ }
24
+ catch {
25
+ return undefined;
26
+ }
27
+ }
15
28
  function pkcePair() {
16
29
  const verifier = toBase64Url(randomBytes(32));
17
30
  const challenge = createHash('sha256').update(verifier).digest('base64url');
@@ -401,7 +414,8 @@ async function stepResolveTargetMetadata(session) {
401
414
  }
402
415
  const resourceMetadataUrl = session.config.target.overrides?.authorizationServerMetadataUrl
403
416
  ? undefined
404
- : probedResourceMetadataUrl ?? inferResourceMetadataUrl(session.config.target.overrides?.resourceBaseUrl || server.url);
417
+ : probedResourceMetadataUrl ??
418
+ inferResourceMetadataUrl(session.config.target.overrides?.resourceBaseUrl || server.url);
405
419
  if (resourceMetadataUrl) {
406
420
  try {
407
421
  const { response, responseJson, responseText } = await fetchWithTrace({
@@ -756,6 +770,7 @@ async function stepTokenExchange(session) {
756
770
  bodyText: form.toString()
757
771
  });
758
772
  session.context.tokenResponse = responseJson ?? { raw: responseText, status: response.status };
773
+ session.context.tokenReceivedAt = Date.now();
759
774
  if (!response.ok) {
760
775
  throw new Error(`Token exchange failed (${response.status})`);
761
776
  }
@@ -953,6 +968,34 @@ export function oauthDebuggerSessionView(session) {
953
968
  const token = session.context.tokenResponse && typeof session.context.tokenResponse === 'object'
954
969
  ? session.context.tokenResponse
955
970
  : undefined;
971
+ const accessTokenRaw = typeof token?.access_token === 'string' ? token.access_token : undefined;
972
+ const jwtClaims = accessTokenRaw ? parseJwtClaims(accessTokenRaw) : undefined;
973
+ const expiresInRaw = token?.expires_in;
974
+ const expiresInSeconds = typeof expiresInRaw === 'number'
975
+ ? Math.max(0, Math.floor(expiresInRaw))
976
+ : typeof expiresInRaw === 'string' && /^\d+$/.test(expiresInRaw)
977
+ ? Math.max(0, Math.floor(Number(expiresInRaw)))
978
+ : undefined;
979
+ const jwtExpSecondsRaw = jwtClaims?.exp;
980
+ const jwtExpSeconds = typeof jwtExpSecondsRaw === 'number'
981
+ ? Math.floor(jwtExpSecondsRaw)
982
+ : typeof jwtExpSecondsRaw === 'string' && /^\d+$/.test(jwtExpSecondsRaw)
983
+ ? Math.floor(Number(jwtExpSecondsRaw))
984
+ : undefined;
985
+ const tokenReceivedAt = session.context.tokenReceivedAt ?? session.updatedAt;
986
+ const expiresAtMs = typeof expiresInSeconds === 'number'
987
+ ? tokenReceivedAt + expiresInSeconds * 1000
988
+ : typeof jwtExpSeconds === 'number'
989
+ ? jwtExpSeconds * 1000
990
+ : undefined;
991
+ const validForSeconds = typeof expiresAtMs === 'number'
992
+ ? Math.max(0, Math.floor((expiresAtMs - Date.now()) / 1000))
993
+ : undefined;
994
+ const expirySource = typeof expiresInSeconds === 'number'
995
+ ? 'expires_in'
996
+ : typeof jwtExpSeconds === 'number'
997
+ ? 'jwt_exp'
998
+ : 'none';
956
999
  return {
957
1000
  id: session.id,
958
1001
  status: session.status,
@@ -981,6 +1024,7 @@ export function oauthDebuggerSessionView(session) {
981
1024
  callbackUrl: session.context.callbackUrl
982
1025
  },
983
1026
  summary: {
1027
+ showSensitiveValues: session.config.display.showSensitiveValues,
984
1028
  issuer: session.context.authServerMetadata?.issuer ?? session.context.resourceMetadata?.issuer,
985
1029
  clientId: session.context.resolvedClient?.clientId,
986
1030
  redirectUri: session.context.callbackUrl,
@@ -991,9 +1035,14 @@ export function oauthDebuggerSessionView(session) {
991
1035
  grantedScopes: typeof token?.scope === 'string'
992
1036
  ? String(token.scope).split(/\s+/).filter(Boolean)
993
1037
  : undefined,
994
- accessToken: session.config.display.showSensitiveValues && typeof token?.access_token === 'string'
995
- ? token.access_token
996
- : undefined
1038
+ accessToken: session.config.display.showSensitiveValues && typeof accessTokenRaw === 'string'
1039
+ ? accessTokenRaw
1040
+ : undefined,
1041
+ accessTokenExpiresInSeconds: expiresInSeconds,
1042
+ accessTokenExpiresAt: typeof expiresAtMs === 'number' ? new Date(expiresAtMs).toISOString() : undefined,
1043
+ accessTokenValidForSeconds: validForSeconds,
1044
+ accessTokenExpirySource: expirySource,
1045
+ refreshTokenAvailable: token != null && typeof token.refresh_token === 'string' && token.refresh_token.length > 0
997
1046
  }
998
1047
  };
999
1048
  }