browser-debug-mcp-bridge 1.11.1 → 1.13.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 (33) hide show
  1. package/README.md +4 -2
  2. package/apps/mcp-server/dist/db/automation-repository.js +9 -4
  3. package/apps/mcp-server/dist/db/automation-repository.js.map +1 -1
  4. package/apps/mcp-server/dist/db/migrations.js +300 -1
  5. package/apps/mcp-server/dist/db/migrations.js.map +1 -1
  6. package/apps/mcp-server/dist/db/schema.js +226 -2
  7. package/apps/mcp-server/dist/db/schema.js.map +1 -1
  8. package/apps/mcp-server/dist/lighthouse-report.js +1001 -0
  9. package/apps/mcp-server/dist/lighthouse-report.js.map +1 -0
  10. package/apps/mcp-server/dist/main.js +249 -1
  11. package/apps/mcp-server/dist/main.js.map +1 -1
  12. package/apps/mcp-server/dist/mcp/server.js +3705 -311
  13. package/apps/mcp-server/dist/mcp/server.js.map +1 -1
  14. package/apps/mcp-server/dist/mcp/target-resolution.js +390 -0
  15. package/apps/mcp-server/dist/mcp/target-resolution.js.map +1 -0
  16. package/apps/mcp-server/dist/mcp/tool-loop-guard.js +655 -0
  17. package/apps/mcp-server/dist/mcp/tool-loop-guard.js.map +1 -0
  18. package/apps/mcp-server/dist/mock-store.js +408 -0
  19. package/apps/mcp-server/dist/mock-store.js.map +1 -0
  20. package/apps/mcp-server/dist/override-audit-contract.js +58 -0
  21. package/apps/mcp-server/dist/override-audit-contract.js.map +1 -1
  22. package/apps/mcp-server/dist/override-audit.js +100 -4
  23. package/apps/mcp-server/dist/override-audit.js.map +1 -1
  24. package/apps/mcp-server/dist/override-poc.js +4 -4
  25. package/apps/mcp-server/dist/override-poc.js.map +1 -1
  26. package/apps/mcp-server/dist/override-profile-generator.js +3 -9
  27. package/apps/mcp-server/dist/override-profile-generator.js.map +1 -1
  28. package/apps/mcp-server/dist/ssr-mock.js +480 -0
  29. package/apps/mcp-server/dist/ssr-mock.js.map +1 -0
  30. package/apps/mcp-server/dist/websocket/messages.js +5 -0
  31. package/apps/mcp-server/dist/websocket/messages.js.map +1 -1
  32. package/apps/mcp-server/package.json +5 -0
  33. package/package.json +9 -4
package/README.md CHANGED
@@ -16,7 +16,7 @@ It captures console logs, network calls, navigation, UI events, DOM snapshots, s
16
16
 
17
17
  ## Requirements
18
18
 
19
- - Node.js `>=20`
19
+ - Node.js `>=22.19`
20
20
  - Chrome or Chromium with extension Developer Mode enabled
21
21
  - An MCP-capable AI client
22
22
 
@@ -94,6 +94,8 @@ Quick secondary option:
94
94
  }
95
95
  ```
96
96
 
97
+ Keep `-y` in `npx` configs. Without it, npm can wait for an interactive install confirmation that MCP hosts such as VS Code Copilot cannot answer, so the server appears to start but no tools are registered.
98
+
97
99
  ## First Debug Session
98
100
 
99
101
  1. Start your MCP client so it launches the bridge.
@@ -354,7 +356,7 @@ Generate a generic static-assets profile:
354
356
  }
355
357
  ```
356
358
 
357
- Generated configs are disabled by default. Review exact production URLs before enabling.
359
+ Generated configs are usable by default. Review exact production URLs before enabling overrides from the extension popup or MCP tools.
358
360
 
359
361
  To make the runtime load your config, set `OVERRIDE_POC_CONFIG_PATH` in your MCP server environment to the generated config file path, then restart the MCP server.
360
362
 
@@ -31,11 +31,12 @@ export class AutomationRepository {
31
31
  completed_at,
32
32
  stop_reason,
33
33
  target_summary_json,
34
+ diagnostics_json,
34
35
  failure_json,
35
36
  redaction_json,
36
37
  created_at,
37
38
  updated_at
38
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
39
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
39
40
  ON CONFLICT(run_id) DO UPDATE SET
40
41
  trace_id = COALESCE(excluded.trace_id, automation_runs.trace_id),
41
42
  action = COALESCE(excluded.action, automation_runs.action),
@@ -46,6 +47,7 @@ export class AutomationRepository {
46
47
  completed_at = COALESCE(excluded.completed_at, automation_runs.completed_at),
47
48
  stop_reason = COALESCE(excluded.stop_reason, automation_runs.stop_reason),
48
49
  target_summary_json = COALESCE(excluded.target_summary_json, automation_runs.target_summary_json),
50
+ diagnostics_json = COALESCE(excluded.diagnostics_json, automation_runs.diagnostics_json),
49
51
  failure_json = COALESCE(excluded.failure_json, automation_runs.failure_json),
50
52
  redaction_json = COALESCE(excluded.redaction_json, automation_runs.redaction_json),
51
53
  updated_at = excluded.updated_at
@@ -65,6 +67,7 @@ export class AutomationRepository {
65
67
  duration_ms,
66
68
  tab_id,
67
69
  target_summary_json,
70
+ diagnostics_json,
68
71
  redaction_json,
69
72
  failure_json,
70
73
  input_metadata_json,
@@ -72,7 +75,7 @@ export class AutomationRepository {
72
75
  event_id,
73
76
  created_at,
74
77
  updated_at
75
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
78
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
76
79
  ON CONFLICT(run_id, step_order) DO UPDATE SET
77
80
  trace_id = COALESCE(excluded.trace_id, automation_steps.trace_id),
78
81
  action = COALESCE(excluded.action, automation_steps.action),
@@ -83,6 +86,7 @@ export class AutomationRepository {
83
86
  duration_ms = COALESCE(excluded.duration_ms, automation_steps.duration_ms),
84
87
  tab_id = COALESCE(excluded.tab_id, automation_steps.tab_id),
85
88
  target_summary_json = COALESCE(excluded.target_summary_json, automation_steps.target_summary_json),
89
+ diagnostics_json = COALESCE(excluded.diagnostics_json, automation_steps.diagnostics_json),
86
90
  redaction_json = COALESCE(excluded.redaction_json, automation_steps.redaction_json),
87
91
  failure_json = COALESCE(excluded.failure_json, automation_steps.failure_json),
88
92
  input_metadata_json = COALESCE(excluded.input_metadata_json, automation_steps.input_metadata_json),
@@ -90,8 +94,8 @@ export class AutomationRepository {
90
94
  event_id = COALESCE(excluded.event_id, automation_steps.event_id),
91
95
  updated_at = excluded.updated_at
92
96
  `);
93
- upsertRun.run(normalized.runId, input.sessionId, normalized.traceId, normalized.action, normalized.tabId, normalized.selector, normalized.status, normalized.startedAt, normalized.completedAt, normalized.stopReason, normalized.targetSummaryJson, normalized.failureJson, normalized.redactionJson, normalized.createdAt, normalized.updatedAt);
94
- upsertStep.run(normalized.stepId, normalized.runId, input.sessionId, normalized.stepOrder, normalized.traceId, normalized.action ?? 'unknown', normalized.selector, normalized.status, normalized.startedAt, normalized.finishedAt, normalized.durationMs, normalized.tabId, normalized.targetSummaryJson, normalized.redactionJson, normalized.failureJson, normalized.inputMetadataJson, input.eventType, input.eventId ?? null, normalized.createdAt, normalized.updatedAt);
97
+ upsertRun.run(normalized.runId, input.sessionId, normalized.traceId, normalized.action, normalized.tabId, normalized.selector, normalized.status, normalized.startedAt, normalized.completedAt, normalized.stopReason, normalized.targetSummaryJson, normalized.diagnosticsJson, normalized.failureJson, normalized.redactionJson, normalized.createdAt, normalized.updatedAt);
98
+ upsertStep.run(normalized.stepId, normalized.runId, input.sessionId, normalized.stepOrder, normalized.traceId, normalized.action ?? 'unknown', normalized.selector, normalized.status, normalized.startedAt, normalized.finishedAt, normalized.durationMs, normalized.tabId, normalized.targetSummaryJson, normalized.diagnosticsJson, normalized.redactionJson, normalized.failureJson, normalized.inputMetadataJson, input.eventType, input.eventId ?? null, normalized.createdAt, normalized.updatedAt);
95
99
  }
96
100
  listRuns(sessionId) {
97
101
  return this.db.prepare(`
@@ -144,6 +148,7 @@ function normalizeLifecycleEvent(input) {
144
148
  durationMs,
145
149
  stopReason,
146
150
  targetSummaryJson: stringifyJson(target),
151
+ diagnosticsJson: stringifyJson(asRecord(input.payload.diagnostics)),
147
152
  failureJson: stringifyJson(asRecord(input.payload.failureReason)),
148
153
  redactionJson: stringifyJson(asRecord(input.payload.redaction)),
149
154
  inputMetadataJson: stringifyJson(asRecord(input.payload.input)),
@@ -1 +1 @@
1
- {"version":3,"file":"automation-repository.js","sourceRoot":"","sources":["../../src/db/automation-repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"automation-repository.js","sourceRoot":"","sources":["../../src/db/automation-repository.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { initializeSchema, getSchemaVersion, clearDatabase, SCHEMA_VERSION } from './schema.js';
2
2
  import { AutomationRepository, isAutomationLifecycleEventType } from './automation-repository.js';
3
- import { OVERRIDE_POC_FAILURE_CODES, OVERRIDE_PLAN_AUDIT_KINDS, OVERRIDE_POC_REQUEST_STATUSES, OVERRIDE_POC_RUN_STATUSES, } from '../override-audit-contract.js';
3
+ import { OVERRIDE_POC_FAILURE_CODES, OVERRIDE_PLAN_AUDIT_KINDS, OVERRIDE_POC_REQUEST_STATUSES, OVERRIDE_POC_RUN_STATUSES, MOCK_ROUTE_BODY_KINDS, MOCK_ROUTE_MATCH_MODES, MOCK_ROUTE_MODES, MOCK_ROUTE_SOURCE_KINDS, MOCK_RUN_STATUSES, SSR_MOCK_AUDIT_ACTIONS, SSR_MOCK_AUDIT_STATUSES, } from '../override-audit-contract.js';
4
4
  function getColumnNames(db, tableName) {
5
5
  const rows = db.prepare(`PRAGMA table_info('${tableName}')`).all();
6
6
  return new Set(rows.map((row) => row.name));
@@ -66,6 +66,13 @@ const OVERRIDE_POC_RUN_STATUS_SQL = OVERRIDE_POC_RUN_STATUSES.map((value) => `'$
66
66
  const OVERRIDE_POC_REQUEST_STATUS_SQL = OVERRIDE_POC_REQUEST_STATUSES.map((value) => `'${value}'`).join(', ');
67
67
  const OVERRIDE_POC_FAILURE_CODE_SQL = OVERRIDE_POC_FAILURE_CODES.map((value) => `'${value}'`).join(', ');
68
68
  const OVERRIDE_PLAN_AUDIT_KIND_SQL = OVERRIDE_PLAN_AUDIT_KINDS.map((value) => `'${value}'`).join(', ');
69
+ const MOCK_ROUTE_MODE_SQL = MOCK_ROUTE_MODES.map((value) => `'${value}'`).join(', ');
70
+ const MOCK_ROUTE_MATCH_MODE_SQL = MOCK_ROUTE_MATCH_MODES.map((value) => `'${value}'`).join(', ');
71
+ const MOCK_ROUTE_BODY_KIND_SQL = MOCK_ROUTE_BODY_KINDS.map((value) => `'${value}'`).join(', ');
72
+ const MOCK_ROUTE_SOURCE_KIND_SQL = MOCK_ROUTE_SOURCE_KINDS.map((value) => `'${value}'`).join(', ');
73
+ const MOCK_RUN_STATUS_SQL = MOCK_RUN_STATUSES.map((value) => `'${value}'`).join(', ');
74
+ const SSR_MOCK_AUDIT_ACTION_SQL = SSR_MOCK_AUDIT_ACTIONS.map((value) => `'${value}'`).join(', ');
75
+ const SSR_MOCK_AUDIT_STATUS_SQL = SSR_MOCK_AUDIT_STATUSES.map((value) => `'${value}'`).join(', ');
69
76
  function ensureAutomationTablesAndBackfill(db) {
70
77
  db.exec(`
71
78
  CREATE TABLE IF NOT EXISTS automation_runs (
@@ -80,6 +87,7 @@ function ensureAutomationTablesAndBackfill(db) {
80
87
  completed_at INTEGER,
81
88
  stop_reason TEXT,
82
89
  target_summary_json TEXT,
90
+ diagnostics_json TEXT,
83
91
  failure_json TEXT,
84
92
  redaction_json TEXT,
85
93
  created_at INTEGER NOT NULL,
@@ -105,6 +113,7 @@ function ensureAutomationTablesAndBackfill(db) {
105
113
  duration_ms INTEGER,
106
114
  tab_id INTEGER,
107
115
  target_summary_json TEXT,
116
+ diagnostics_json TEXT,
108
117
  redaction_json TEXT,
109
118
  failure_json TEXT,
110
119
  input_metadata_json TEXT,
@@ -122,6 +131,7 @@ function ensureAutomationTablesAndBackfill(db) {
122
131
  CREATE INDEX IF NOT EXISTS idx_automation_steps_session_started ON automation_steps(session_id, started_at);
123
132
  CREATE INDEX IF NOT EXISTS idx_automation_steps_trace_id ON automation_steps(trace_id);
124
133
  `);
134
+ ensureAutomationDiagnosticsColumns(db);
125
135
  const automationRepository = new AutomationRepository(db);
126
136
  const rows = db.prepare(`
127
137
  SELECT event_id, session_id, ts, payload_json, tab_id
@@ -154,6 +164,135 @@ function ensureAutomationTablesAndBackfill(db) {
154
164
  });
155
165
  }
156
166
  }
167
+ function ensureAutomationDiagnosticsColumns(db) {
168
+ if (tableExists(db, 'automation_runs') && !getColumnNames(db, 'automation_runs').has('diagnostics_json')) {
169
+ db.exec('ALTER TABLE automation_runs ADD COLUMN diagnostics_json TEXT;');
170
+ }
171
+ if (tableExists(db, 'automation_steps') && !getColumnNames(db, 'automation_steps').has('diagnostics_json')) {
172
+ db.exec('ALTER TABLE automation_steps ADD COLUMN diagnostics_json TEXT;');
173
+ }
174
+ }
175
+ function ensureLighthouseReportTables(db) {
176
+ db.exec(`
177
+ CREATE TABLE IF NOT EXISTS lighthouse_reports (
178
+ report_id TEXT PRIMARY KEY,
179
+ session_id TEXT,
180
+ requested_url TEXT NOT NULL,
181
+ final_url TEXT,
182
+ status TEXT NOT NULL CHECK(status IN ('succeeded', 'failed')),
183
+ created_at INTEGER NOT NULL,
184
+ completed_at INTEGER,
185
+ duration_ms INTEGER,
186
+ lighthouse_version TEXT,
187
+ user_agent TEXT,
188
+ fetch_time TEXT,
189
+ form_factor TEXT NOT NULL CHECK(form_factor IN ('mobile', 'desktop')),
190
+ categories_json TEXT NOT NULL,
191
+ metrics_json TEXT NOT NULL,
192
+ scores_json TEXT NOT NULL,
193
+ score_performance REAL,
194
+ score_accessibility REAL,
195
+ score_best_practices REAL,
196
+ score_seo REAL,
197
+ score_pwa REAL,
198
+ json_path TEXT,
199
+ json_bytes INTEGER,
200
+ html_path TEXT,
201
+ html_bytes INTEGER,
202
+ run_warnings_json TEXT NOT NULL,
203
+ runtime_error_json TEXT,
204
+ config_json TEXT NOT NULL,
205
+ error_message TEXT,
206
+ FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE SET NULL
207
+ );
208
+
209
+ CREATE INDEX IF NOT EXISTS idx_lighthouse_reports_session_created
210
+ ON lighthouse_reports(session_id, created_at);
211
+ CREATE INDEX IF NOT EXISTS idx_lighthouse_reports_url_created
212
+ ON lighthouse_reports(requested_url, created_at);
213
+ CREATE INDEX IF NOT EXISTS idx_lighthouse_reports_status_created
214
+ ON lighthouse_reports(status, created_at);
215
+
216
+ CREATE TABLE IF NOT EXISTS lighthouse_fix_plans (
217
+ plan_id TEXT PRIMARY KEY,
218
+ report_id TEXT NOT NULL,
219
+ session_id TEXT,
220
+ created_at INTEGER NOT NULL,
221
+ item_count INTEGER NOT NULL DEFAULT 0,
222
+ critical_count INTEGER NOT NULL DEFAULT 0,
223
+ high_count INTEGER NOT NULL DEFAULT 0,
224
+ medium_count INTEGER NOT NULL DEFAULT 0,
225
+ low_count INTEGER NOT NULL DEFAULT 0,
226
+ summary_json TEXT NOT NULL,
227
+ items_json TEXT NOT NULL,
228
+ FOREIGN KEY (report_id) REFERENCES lighthouse_reports(report_id) ON DELETE CASCADE,
229
+ FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE SET NULL
230
+ );
231
+
232
+ CREATE INDEX IF NOT EXISTS idx_lighthouse_fix_plans_report_created
233
+ ON lighthouse_fix_plans(report_id, created_at);
234
+ CREATE INDEX IF NOT EXISTS idx_lighthouse_fix_plans_session_created
235
+ ON lighthouse_fix_plans(session_id, created_at);
236
+ `);
237
+ }
238
+ function ensureMcpToolLoopGuardTables(db) {
239
+ db.exec(`
240
+ CREATE TABLE IF NOT EXISTS mcp_tool_invocations (
241
+ invocation_id TEXT PRIMARY KEY,
242
+ tool_name TEXT NOT NULL,
243
+ session_id TEXT,
244
+ family TEXT NOT NULL,
245
+ input_hash TEXT NOT NULL,
246
+ input_summary_json TEXT NOT NULL,
247
+ outcome_type TEXT NOT NULL CHECK(outcome_type IN ('success', 'failed', 'no_progress', 'blocked')),
248
+ root_cause_code TEXT,
249
+ state_hash TEXT,
250
+ state_summary_json TEXT NOT NULL,
251
+ response_bytes INTEGER,
252
+ duration_ms INTEGER NOT NULL DEFAULT 0,
253
+ blocked INTEGER NOT NULL DEFAULT 0,
254
+ warning INTEGER NOT NULL DEFAULT 0,
255
+ message TEXT,
256
+ created_at INTEGER NOT NULL
257
+ );
258
+
259
+ CREATE INDEX IF NOT EXISTS idx_mcp_tool_invocations_tool_input_time
260
+ ON mcp_tool_invocations(tool_name, session_id, input_hash, created_at);
261
+ CREATE INDEX IF NOT EXISTS idx_mcp_tool_invocations_family_root_time
262
+ ON mcp_tool_invocations(family, session_id, root_cause_code, state_hash, created_at);
263
+ CREATE INDEX IF NOT EXISTS idx_mcp_tool_invocations_created_at
264
+ ON mcp_tool_invocations(created_at);
265
+
266
+ CREATE TABLE IF NOT EXISTS mcp_loop_incidents (
267
+ incident_id TEXT PRIMARY KEY,
268
+ fingerprint TEXT NOT NULL,
269
+ scope TEXT NOT NULL CHECK(scope IN ('tool-input', 'family-root-cause')),
270
+ status TEXT NOT NULL CHECK(status IN ('open', 'resolved', 'expired')),
271
+ tool_name TEXT,
272
+ session_id TEXT,
273
+ family TEXT NOT NULL,
274
+ input_hash TEXT,
275
+ root_cause_code TEXT,
276
+ state_hash TEXT,
277
+ first_seen_at INTEGER NOT NULL,
278
+ last_seen_at INTEGER NOT NULL,
279
+ attempt_count INTEGER NOT NULL DEFAULT 0,
280
+ blocked_until INTEGER,
281
+ severity TEXT NOT NULL CHECK(severity IN ('warning', 'blocked')),
282
+ message TEXT NOT NULL,
283
+ created_at INTEGER NOT NULL,
284
+ updated_at INTEGER NOT NULL
285
+ );
286
+
287
+ CREATE UNIQUE INDEX IF NOT EXISTS idx_mcp_loop_incidents_open_fingerprint
288
+ ON mcp_loop_incidents(fingerprint)
289
+ WHERE status = 'open';
290
+ CREATE INDEX IF NOT EXISTS idx_mcp_loop_incidents_status_blocked
291
+ ON mcp_loop_incidents(status, blocked_until);
292
+ CREATE INDEX IF NOT EXISTS idx_mcp_loop_incidents_session_family
293
+ ON mcp_loop_incidents(session_id, family, status);
294
+ `);
295
+ }
157
296
  function rebuildOverrideFailureCodeChecks(db) {
158
297
  db.exec(`
159
298
  PRAGMA foreign_keys=OFF;
@@ -760,6 +899,166 @@ const migrations = [
760
899
  name: 'merge_automation_tables_compatibility',
761
900
  up: ensureAutomationTablesAndBackfill,
762
901
  },
902
+ {
903
+ version: 15,
904
+ name: 'mcp_tool_loop_guard',
905
+ up: ensureMcpToolLoopGuardTables,
906
+ },
907
+ {
908
+ version: 16,
909
+ name: 'automation_diagnostics_json',
910
+ up: ensureAutomationDiagnosticsColumns,
911
+ },
912
+ {
913
+ version: 17,
914
+ name: 'ssr_mock_audits',
915
+ up: (db) => {
916
+ db.exec(`
917
+ CREATE TABLE IF NOT EXISTS ssr_mock_audits (
918
+ audit_id TEXT PRIMARY KEY,
919
+ created_at INTEGER NOT NULL,
920
+ action TEXT NOT NULL CHECK(action IN (${SSR_MOCK_AUDIT_ACTION_SQL})),
921
+ status TEXT NOT NULL CHECK(status IN (${SSR_MOCK_AUDIT_STATUS_SQL})),
922
+ project_root TEXT NOT NULL,
923
+ target_url TEXT,
924
+ api_host TEXT,
925
+ env_var_name TEXT,
926
+ env_file_path TEXT,
927
+ mock_base_url TEXT,
928
+ rollback_id TEXT,
929
+ summary_json TEXT NOT NULL,
930
+ result_json TEXT NOT NULL,
931
+ updated_at INTEGER NOT NULL
932
+ );
933
+
934
+ CREATE INDEX IF NOT EXISTS idx_ssr_mock_audits_project_created_at
935
+ ON ssr_mock_audits(project_root, created_at);
936
+ CREATE INDEX IF NOT EXISTS idx_ssr_mock_audits_rollback_id
937
+ ON ssr_mock_audits(rollback_id);
938
+ CREATE INDEX IF NOT EXISTS idx_ssr_mock_audits_action_status_created_at
939
+ ON ssr_mock_audits(action, status, created_at);
940
+ `);
941
+ },
942
+ },
943
+ {
944
+ version: 18,
945
+ name: 'mock_routes_runs_hits',
946
+ up: (db) => {
947
+ db.exec(`
948
+ CREATE TABLE IF NOT EXISTS mock_routes (
949
+ route_id TEXT PRIMARY KEY,
950
+ created_at INTEGER NOT NULL,
951
+ updated_at INTEGER NOT NULL,
952
+ enabled INTEGER NOT NULL DEFAULT 1,
953
+ mode TEXT NOT NULL CHECK(mode IN (${MOCK_ROUTE_MODE_SQL})),
954
+ method TEXT NOT NULL,
955
+ match_mode TEXT NOT NULL CHECK(match_mode IN (${MOCK_ROUTE_MATCH_MODE_SQL})),
956
+ target_url TEXT NOT NULL,
957
+ status_code INTEGER NOT NULL,
958
+ response_headers_json TEXT NOT NULL,
959
+ body_kind TEXT NOT NULL CHECK(body_kind IN (${MOCK_ROUTE_BODY_KIND_SQL})),
960
+ body_json TEXT,
961
+ body_text TEXT,
962
+ body_base64 TEXT,
963
+ body_file_path TEXT,
964
+ delay_ms INTEGER NOT NULL DEFAULT 0,
965
+ source_kind TEXT NOT NULL CHECK(source_kind IN (${MOCK_ROUTE_SOURCE_KIND_SQL})),
966
+ session_scope TEXT,
967
+ project_root TEXT,
968
+ ttl_ms INTEGER,
969
+ expires_at INTEGER
970
+ );
971
+
972
+ CREATE INDEX IF NOT EXISTS idx_mock_routes_mode_enabled_created_at
973
+ ON mock_routes(mode, enabled, created_at);
974
+ CREATE INDEX IF NOT EXISTS idx_mock_routes_target_url_method
975
+ ON mock_routes(target_url, method);
976
+ CREATE INDEX IF NOT EXISTS idx_mock_routes_project_root
977
+ ON mock_routes(project_root);
978
+
979
+ CREATE TABLE IF NOT EXISTS mock_runs (
980
+ run_id TEXT PRIMARY KEY,
981
+ route_id TEXT NOT NULL,
982
+ execution_mode TEXT NOT NULL CHECK(execution_mode IN (${MOCK_ROUTE_MODE_SQL})),
983
+ session_id TEXT,
984
+ tab_id INTEGER,
985
+ project_root TEXT,
986
+ started_at INTEGER NOT NULL,
987
+ ended_at INTEGER,
988
+ status TEXT NOT NULL CHECK(status IN (${MOCK_RUN_STATUS_SQL})),
989
+ created_at INTEGER NOT NULL,
990
+ updated_at INTEGER NOT NULL,
991
+ FOREIGN KEY (route_id) REFERENCES mock_routes(route_id) ON DELETE CASCADE,
992
+ FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE SET NULL
993
+ );
994
+
995
+ CREATE INDEX IF NOT EXISTS idx_mock_runs_route_started_at
996
+ ON mock_runs(route_id, started_at);
997
+ CREATE INDEX IF NOT EXISTS idx_mock_runs_session_status_started_at
998
+ ON mock_runs(session_id, status, started_at);
999
+ CREATE INDEX IF NOT EXISTS idx_mock_runs_project_root_started_at
1000
+ ON mock_runs(project_root, started_at);
1001
+
1002
+ CREATE TABLE IF NOT EXISTS mock_hits (
1003
+ hit_id TEXT PRIMARY KEY,
1004
+ run_id TEXT,
1005
+ route_id TEXT NOT NULL,
1006
+ ts INTEGER NOT NULL,
1007
+ request_url TEXT NOT NULL,
1008
+ request_method TEXT NOT NULL,
1009
+ matched INTEGER NOT NULL DEFAULT 0,
1010
+ fulfilled INTEGER NOT NULL DEFAULT 0,
1011
+ status_code INTEGER,
1012
+ response_source TEXT NOT NULL CHECK(response_source IN (${MOCK_ROUTE_SOURCE_KIND_SQL})),
1013
+ error_code TEXT,
1014
+ error_message TEXT,
1015
+ created_at INTEGER NOT NULL,
1016
+ updated_at INTEGER NOT NULL,
1017
+ FOREIGN KEY (run_id) REFERENCES mock_runs(run_id) ON DELETE SET NULL,
1018
+ FOREIGN KEY (route_id) REFERENCES mock_routes(route_id) ON DELETE CASCADE
1019
+ );
1020
+
1021
+ CREATE INDEX IF NOT EXISTS idx_mock_hits_route_ts
1022
+ ON mock_hits(route_id, ts);
1023
+ CREATE INDEX IF NOT EXISTS idx_mock_hits_run_ts
1024
+ ON mock_hits(run_id, ts);
1025
+ CREATE INDEX IF NOT EXISTS idx_mock_hits_matched_fulfilled_ts
1026
+ ON mock_hits(matched, fulfilled, ts);
1027
+ `);
1028
+ },
1029
+ },
1030
+ {
1031
+ version: 19,
1032
+ name: 'lighthouse_reports_merge_compatibility',
1033
+ up: (db) => {
1034
+ db.exec(`
1035
+ CREATE TABLE IF NOT EXISTS ssr_mock_audits (
1036
+ audit_id TEXT PRIMARY KEY,
1037
+ created_at INTEGER NOT NULL,
1038
+ action TEXT NOT NULL CHECK(action IN (${SSR_MOCK_AUDIT_ACTION_SQL})),
1039
+ status TEXT NOT NULL CHECK(status IN (${SSR_MOCK_AUDIT_STATUS_SQL})),
1040
+ project_root TEXT NOT NULL,
1041
+ target_url TEXT,
1042
+ api_host TEXT,
1043
+ env_var_name TEXT,
1044
+ env_file_path TEXT,
1045
+ mock_base_url TEXT,
1046
+ rollback_id TEXT,
1047
+ summary_json TEXT NOT NULL,
1048
+ result_json TEXT NOT NULL,
1049
+ updated_at INTEGER NOT NULL
1050
+ );
1051
+
1052
+ CREATE INDEX IF NOT EXISTS idx_ssr_mock_audits_project_created_at
1053
+ ON ssr_mock_audits(project_root, created_at);
1054
+ CREATE INDEX IF NOT EXISTS idx_ssr_mock_audits_rollback_id
1055
+ ON ssr_mock_audits(rollback_id);
1056
+ CREATE INDEX IF NOT EXISTS idx_ssr_mock_audits_action_status_created_at
1057
+ ON ssr_mock_audits(action, status, created_at);
1058
+ `);
1059
+ ensureLighthouseReportTables(db);
1060
+ },
1061
+ },
763
1062
  ];
764
1063
  export function runMigrations(db) {
765
1064
  const currentVersion = getSchemaVersion(db) || 0;
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"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"}