cbrowser 9.6.0 → 9.8.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.
@@ -1,8 +1,18 @@
1
1
  /**
2
2
  * Cognitive Journey API Module
3
3
  *
4
- * Provides autonomous cognitive user simulation using Claude API directly.
5
- * This allows CBrowser to run cognitive journeys standalone without Claude Code.
4
+ * Provides cognitive user simulation with two modes:
5
+ *
6
+ * ## Mode 1: Claude Code Session (Recommended when inside Claude Code)
7
+ * When running via MCP inside Claude Code, use the step-by-step tools:
8
+ * - `cognitive_journey_init` - Initialize journey with persona
9
+ * - `cognitive_journey_update_state` - Track cognitive state after each action
10
+ * No API key needed - Claude Code itself is the reasoning engine.
11
+ *
12
+ * ## Mode 2: Standalone (API Key Required)
13
+ * When running standalone (CLI, CI/CD, scripts), uses Anthropic API directly:
14
+ * - `npx cbrowser cognitive-journey --persona X --start URL --goal "..."
15
+ * Requires: `npx cbrowser config set-api-key YOUR_KEY`
6
16
  *
7
17
  * @module cognitive
8
18
  */
@@ -27,6 +37,16 @@ export declare function removeAnthropicApiKey(): void;
27
37
  * Check if API key is configured and valid format.
28
38
  */
29
39
  export declare function isApiKeyConfigured(): boolean;
40
+ /**
41
+ * Check if running inside Claude Code session (via MCP).
42
+ * In this mode, cognitive journeys can be driven by Claude Code itself
43
+ * without needing a separate API key.
44
+ */
45
+ export declare function isClaudeCodeSession(): boolean;
46
+ /**
47
+ * Check if cognitive features are available (either via API key or Claude Code session).
48
+ */
49
+ export declare function isCognitiveAvailable(): boolean;
30
50
  export interface CognitiveJourneyOptions {
31
51
  /** Persona name or description */
32
52
  persona: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cognitive/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,OAAO,KAAK,EACV,cAAc,EAEd,sBAAsB,EAItB,eAAe,EAChB,MAAM,aAAa,CAAC;AAOrB;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAalD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAO1C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAcvD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAW5C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAG5C;AAMD,MAAM,WAAW,uBAAuB;IACtC,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACxC,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gCAAgC;IAChC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,cAAc,CAAC;CACvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,sBAAsB,CAAC,CAgTjC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cognitive/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAWH,OAAO,KAAK,EACV,cAAc,EAEd,sBAAsB,EAItB,eAAe,EAChB,MAAM,aAAa,CAAC;AAOrB;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAalD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAO1C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAcvD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAW5C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAG5C;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAO7C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAMD,MAAM,WAAW,uBAAuB;IACtC,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACxC,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gCAAgC;IAChC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,cAAc,CAAC;CACvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,sBAAsB,CAAC,CAmTjC"}
@@ -1,8 +1,18 @@
1
1
  /**
2
2
  * Cognitive Journey API Module
3
3
  *
4
- * Provides autonomous cognitive user simulation using Claude API directly.
5
- * This allows CBrowser to run cognitive journeys standalone without Claude Code.
4
+ * Provides cognitive user simulation with two modes:
5
+ *
6
+ * ## Mode 1: Claude Code Session (Recommended when inside Claude Code)
7
+ * When running via MCP inside Claude Code, use the step-by-step tools:
8
+ * - `cognitive_journey_init` - Initialize journey with persona
9
+ * - `cognitive_journey_update_state` - Track cognitive state after each action
10
+ * No API key needed - Claude Code itself is the reasoning engine.
11
+ *
12
+ * ## Mode 2: Standalone (API Key Required)
13
+ * When running standalone (CLI, CI/CD, scripts), uses Anthropic API directly:
14
+ * - `npx cbrowser cognitive-journey --persona X --start URL --goal "..."
15
+ * Requires: `npx cbrowser config set-api-key YOUR_KEY`
6
16
  *
7
17
  * @module cognitive
8
18
  */
@@ -79,6 +89,23 @@ export function isApiKeyConfigured() {
79
89
  const key = getAnthropicApiKey();
80
90
  return !!key && key.startsWith("sk-ant-");
81
91
  }
92
+ /**
93
+ * Check if running inside Claude Code session (via MCP).
94
+ * In this mode, cognitive journeys can be driven by Claude Code itself
95
+ * without needing a separate API key.
96
+ */
97
+ export function isClaudeCodeSession() {
98
+ // Check for MCP environment markers
99
+ return !!(process.env.CLAUDE_CODE_SESSION ||
100
+ process.env.MCP_SERVER_NAME ||
101
+ process.env.CLAUDE_CODE);
102
+ }
103
+ /**
104
+ * Check if cognitive features are available (either via API key or Claude Code session).
105
+ */
106
+ export function isCognitiveAvailable() {
107
+ return isApiKeyConfigured() || isClaudeCodeSession();
108
+ }
82
109
  /**
83
110
  * Run an autonomous cognitive journey using the Claude API.
84
111
  *
@@ -95,7 +122,10 @@ export function isApiKeyConfigured() {
95
122
  export async function runCognitiveJourney(options) {
96
123
  const apiKey = getAnthropicApiKey();
97
124
  if (!apiKey) {
98
- throw new Error("Anthropic API key not configured. Run: npx cbrowser config set-api-key YOUR_KEY");
125
+ throw new Error("Anthropic API key not configured.\n\n" +
126
+ "TWO OPTIONS:\n" +
127
+ "1. Inside Claude Code: Use MCP tools (cognitive_journey_init, cognitive_journey_update_state) - no API key needed\n" +
128
+ "2. Standalone/CLI: Run: npx cbrowser config set-api-key YOUR_KEY");
99
129
  }
100
130
  const anthropic = new Anthropic({ apiKey });
101
131
  const model = getAnthropicModel();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cognitive/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cognitive/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AAiFH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA64CpD"}
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AAyHH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAirDpD"}
@@ -35,6 +35,17 @@ async function getBrowser() {
35
35
  }
36
36
  return browser;
37
37
  }
38
+ // Session storage (in-memory, cleared when server restarts)
39
+ const comparisonSessions = new Map();
40
+ // Cleanup old sessions (older than 1 hour)
41
+ function cleanupOldSessions() {
42
+ const oneHourAgo = Date.now() - 60 * 60 * 1000;
43
+ for (const [id, session] of comparisonSessions) {
44
+ if (session.createdAt < oneHourAgo) {
45
+ comparisonSessions.delete(id);
46
+ }
47
+ }
48
+ }
38
49
  export async function startMcpServer() {
39
50
  // Auto-initialize all data directories on server start
40
51
  ensureDirectories();
@@ -1002,6 +1013,255 @@ Begin the simulation now. Narrate your thoughts as this persona.
1002
1013
  };
1003
1014
  });
1004
1015
  // =========================================================================
1016
+ // Persona Comparison Session Bridge (API-free via Claude orchestration)
1017
+ // =========================================================================
1018
+ server.tool("compare_personas_init", "Initialize a multi-persona comparison session. Returns all persona profiles and initial states. Claude orchestrates the journeys using browser tools + cognitive_journey_update_state, then records results. NO API KEY NEEDED - Claude is the brain.", {
1019
+ url: z.string().url().describe("Starting URL for all journeys"),
1020
+ goal: z.string().describe("Goal to accomplish"),
1021
+ personas: z.array(z.string()).describe("Persona names to compare (e.g., ['first-timer', 'elderly-user', 'power-user'])"),
1022
+ }, async ({ url, goal, personas: personaNames }) => {
1023
+ // Cleanup old sessions
1024
+ cleanupOldSessions();
1025
+ // Generate session ID
1026
+ const sessionId = `cmp_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;
1027
+ // Build persona profiles
1028
+ const personas = personaNames.map(name => {
1029
+ const existingPersona = getPersona(name);
1030
+ let personaObj;
1031
+ if (!existingPersona) {
1032
+ personaObj = createCognitivePersona(name, name, {});
1033
+ }
1034
+ else {
1035
+ personaObj = existingPersona;
1036
+ }
1037
+ const profile = getCognitiveProfile(personaObj);
1038
+ // Initial cognitive state
1039
+ const initialState = {
1040
+ patienceRemaining: 1.0,
1041
+ confusionLevel: 0.0,
1042
+ frustrationLevel: 0.0,
1043
+ goalProgress: 0.0,
1044
+ confidenceLevel: 0.5,
1045
+ currentMood: "neutral",
1046
+ memory: {
1047
+ pagesVisited: [url],
1048
+ actionsAttempted: [],
1049
+ errorsEncountered: [],
1050
+ backtrackCount: 0,
1051
+ },
1052
+ timeElapsed: 0,
1053
+ stepCount: 0,
1054
+ };
1055
+ // Abandonment thresholds
1056
+ const traits = profile.traits;
1057
+ const thresholds = {
1058
+ patienceMin: 0.1,
1059
+ confusionMax: traits.comprehension < 0.4 ? 0.6 : 0.8,
1060
+ frustrationMax: traits.patience < 0.3 ? 0.7 : 0.85,
1061
+ maxStepsWithoutProgress: traits.persistence > 0.7 ? 15 : 10,
1062
+ loopDetectionThreshold: 3,
1063
+ timeLimit: traits.patience > 0.7 ? 180 : (traits.patience < 0.3 ? 60 : 120),
1064
+ };
1065
+ return {
1066
+ name,
1067
+ description: personaObj.description || name,
1068
+ profile,
1069
+ initialState,
1070
+ thresholds,
1071
+ };
1072
+ });
1073
+ // Store session
1074
+ const session = {
1075
+ id: sessionId,
1076
+ url,
1077
+ goal,
1078
+ personas,
1079
+ results: [],
1080
+ createdAt: Date.now(),
1081
+ };
1082
+ comparisonSessions.set(sessionId, session);
1083
+ return {
1084
+ content: [
1085
+ {
1086
+ type: "text",
1087
+ text: JSON.stringify({
1088
+ sessionId,
1089
+ url,
1090
+ goal,
1091
+ personaCount: personas.length,
1092
+ personas: personas.map(p => ({
1093
+ name: p.name,
1094
+ description: p.description,
1095
+ cognitiveTraits: p.profile.traits,
1096
+ attentionPattern: p.profile.attentionPattern,
1097
+ decisionStyle: p.profile.decisionStyle,
1098
+ initialState: p.initialState,
1099
+ thresholds: p.thresholds,
1100
+ })),
1101
+ instructions: "For each persona: 1) Use browser tools (navigate, click, fill) to attempt the goal. 2) Call cognitive_journey_update_state after each action. 3) Call compare_personas_record_result when done (success or abandon). 4) After all personas, call compare_personas_summarize.",
1102
+ }, null, 2),
1103
+ },
1104
+ ],
1105
+ };
1106
+ });
1107
+ server.tool("compare_personas_record_result", "Record the journey result for a persona in the comparison session. Call this when a persona's journey is complete (success or abandonment).", {
1108
+ sessionId: z.string().describe("Session ID from compare_personas_init"),
1109
+ persona: z.string().describe("Persona name"),
1110
+ goalAchieved: z.boolean().describe("Whether the goal was accomplished"),
1111
+ abandonmentReason: z.enum(["patience", "confusion", "frustration", "no_progress", "loop", "timeout"]).optional().describe("Why the persona abandoned (if goalAchieved is false)"),
1112
+ finalState: z.object({
1113
+ patienceRemaining: z.number(),
1114
+ confusionLevel: z.number(),
1115
+ frustrationLevel: z.number(),
1116
+ stepCount: z.number(),
1117
+ timeElapsed: z.number(),
1118
+ }).describe("Final cognitive state"),
1119
+ frictionPoints: z.array(z.object({
1120
+ type: z.string(),
1121
+ description: z.string(),
1122
+ })).optional().describe("Friction points encountered during journey"),
1123
+ }, async ({ sessionId, persona, goalAchieved, abandonmentReason, finalState, frictionPoints }) => {
1124
+ const session = comparisonSessions.get(sessionId);
1125
+ if (!session) {
1126
+ return {
1127
+ content: [{ type: "text", text: JSON.stringify({ error: "Session not found", sessionId }) }],
1128
+ };
1129
+ }
1130
+ // Add result
1131
+ session.results.push({
1132
+ persona,
1133
+ goalAchieved,
1134
+ abandonmentReason,
1135
+ finalState: {
1136
+ ...finalState,
1137
+ goalProgress: goalAchieved ? 1.0 : 0.5,
1138
+ confidenceLevel: goalAchieved ? 0.9 : 0.3,
1139
+ currentMood: goalAchieved ? "relieved" : "defeated",
1140
+ memory: {
1141
+ pagesVisited: [],
1142
+ actionsAttempted: [],
1143
+ errorsEncountered: [],
1144
+ backtrackCount: 0,
1145
+ },
1146
+ },
1147
+ stepCount: finalState.stepCount,
1148
+ timeElapsed: finalState.timeElapsed,
1149
+ frictionPoints: frictionPoints || [],
1150
+ });
1151
+ const remaining = session.personas.length - session.results.length;
1152
+ return {
1153
+ content: [
1154
+ {
1155
+ type: "text",
1156
+ text: JSON.stringify({
1157
+ recorded: true,
1158
+ persona,
1159
+ goalAchieved,
1160
+ resultCount: session.results.length,
1161
+ totalPersonas: session.personas.length,
1162
+ remaining,
1163
+ nextStep: remaining > 0
1164
+ ? `Run journey for ${remaining} more persona(s), then call compare_personas_summarize`
1165
+ : "All personas complete. Call compare_personas_summarize to get the comparison report.",
1166
+ }, null, 2),
1167
+ },
1168
+ ],
1169
+ };
1170
+ });
1171
+ server.tool("compare_personas_summarize", "Generate the final comparison summary after all persona journeys are complete. Returns rankings, insights, and recommendations.", {
1172
+ sessionId: z.string().describe("Session ID from compare_personas_init"),
1173
+ }, async ({ sessionId }) => {
1174
+ const session = comparisonSessions.get(sessionId);
1175
+ if (!session) {
1176
+ return {
1177
+ content: [{ type: "text", text: JSON.stringify({ error: "Session not found", sessionId }) }],
1178
+ };
1179
+ }
1180
+ if (session.results.length === 0) {
1181
+ return {
1182
+ content: [{ type: "text", text: JSON.stringify({ error: "No results recorded yet", sessionId }) }],
1183
+ };
1184
+ }
1185
+ // Generate summary (deterministic aggregation)
1186
+ const successfulResults = session.results.filter(r => r.goalAchieved);
1187
+ const failedResults = session.results.filter(r => !r.goalAchieved);
1188
+ const sortedByTime = [...successfulResults].sort((a, b) => a.timeElapsed - b.timeElapsed);
1189
+ const sortedBySteps = [...successfulResults].sort((a, b) => a.stepCount - b.stepCount);
1190
+ const sortedByFriction = [...session.results].sort((a, b) => b.frictionPoints.length - a.frictionPoints.length);
1191
+ // Collect all friction points
1192
+ const allFrictionPoints = session.results.flatMap(r => r.frictionPoints.map(fp => fp.type));
1193
+ const frictionCounts = allFrictionPoints.reduce((acc, fp) => {
1194
+ acc[fp] = (acc[fp] || 0) + 1;
1195
+ return acc;
1196
+ }, {});
1197
+ const commonFriction = Object.entries(frictionCounts)
1198
+ .filter(([_, count]) => count > 1)
1199
+ .sort((a, b) => b[1] - a[1])
1200
+ .slice(0, 5)
1201
+ .map(([fp]) => fp);
1202
+ // Generate recommendations
1203
+ const recommendations = [];
1204
+ // Abandonment analysis
1205
+ const abandonedByPatience = failedResults.filter(r => r.abandonmentReason === "patience");
1206
+ const abandonedByFrustration = failedResults.filter(r => r.abandonmentReason === "frustration");
1207
+ const abandonedByConfusion = failedResults.filter(r => r.abandonmentReason === "confusion");
1208
+ if (abandonedByPatience.length > 0) {
1209
+ recommendations.push(`${abandonedByPatience.length} persona(s) abandoned due to PATIENCE exhaustion: ${abandonedByPatience.map(r => r.persona).join(", ")} - consider shorter flows`);
1210
+ }
1211
+ if (abandonedByFrustration.length > 0) {
1212
+ recommendations.push(`${abandonedByFrustration.length} persona(s) abandoned due to FRUSTRATION: ${abandonedByFrustration.map(r => r.persona).join(", ")} - review error messages and feedback`);
1213
+ }
1214
+ if (abandonedByConfusion.length > 0) {
1215
+ recommendations.push(`${abandonedByConfusion.length} persona(s) abandoned due to CONFUSION: ${abandonedByConfusion.map(r => r.persona).join(", ")} - improve UI clarity and labeling`);
1216
+ }
1217
+ if (sortedByFriction[0]?.frictionPoints.length > 0) {
1218
+ recommendations.push(`"${sortedByFriction[0].persona}" experienced the most friction (${sortedByFriction[0].frictionPoints.length} points)`);
1219
+ }
1220
+ // Calculate averages
1221
+ const avgTime = session.results.reduce((sum, r) => sum + r.timeElapsed, 0) / session.results.length;
1222
+ const avgSteps = session.results.reduce((sum, r) => sum + r.stepCount, 0) / session.results.length;
1223
+ const summary = {
1224
+ sessionId,
1225
+ url: session.url,
1226
+ goal: session.goal,
1227
+ timestamp: new Date().toISOString(),
1228
+ totalPersonas: session.personas.length,
1229
+ successCount: successfulResults.length,
1230
+ failureCount: failedResults.length,
1231
+ successRate: `${Math.round((successfulResults.length / session.results.length) * 100)}%`,
1232
+ fastestPersona: sortedByTime[0]?.persona || "N/A",
1233
+ slowestPersona: sortedByTime[sortedByTime.length - 1]?.persona || "N/A",
1234
+ fewestSteps: sortedBySteps[0]?.persona || "N/A",
1235
+ mostFriction: sortedByFriction[0]?.persona || "N/A",
1236
+ leastFriction: sortedByFriction[sortedByFriction.length - 1]?.persona || "N/A",
1237
+ avgCompletionTime: Math.round(avgTime),
1238
+ avgSteps: Math.round(avgSteps),
1239
+ commonFrictionPoints: commonFriction,
1240
+ recommendations,
1241
+ results: session.results.map(r => ({
1242
+ persona: r.persona,
1243
+ success: r.goalAchieved,
1244
+ abandonmentReason: r.abandonmentReason,
1245
+ timeElapsed: r.timeElapsed,
1246
+ stepCount: r.stepCount,
1247
+ frictionCount: r.frictionPoints.length,
1248
+ finalPatience: Math.round(r.finalState.patienceRemaining * 100) + "%",
1249
+ finalFrustration: Math.round(r.finalState.frustrationLevel * 100) + "%",
1250
+ finalConfusion: Math.round(r.finalState.confusionLevel * 100) + "%",
1251
+ })),
1252
+ };
1253
+ // Clean up session after summarizing
1254
+ comparisonSessions.delete(sessionId);
1255
+ return {
1256
+ content: [
1257
+ {
1258
+ type: "text",
1259
+ text: JSON.stringify(summary, null, 2),
1260
+ },
1261
+ ],
1262
+ };
1263
+ });
1264
+ // =========================================================================
1005
1265
  // Performance Tools (v6.4.0+)
1006
1266
  // =========================================================================
1007
1267
  server.tool("perf_baseline", "Capture performance baseline for a URL", {