browser-debug-mcp-bridge 1.10.0 → 1.11.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.
- package/README.md +267 -195
- package/apps/mcp-server/dist/db/events-repository.js +61 -9
- package/apps/mcp-server/dist/db/events-repository.js.map +1 -1
- package/apps/mcp-server/dist/db/migrations.js +470 -70
- package/apps/mcp-server/dist/db/migrations.js.map +1 -1
- package/apps/mcp-server/dist/db/schema.js +134 -1
- package/apps/mcp-server/dist/db/schema.js.map +1 -1
- package/apps/mcp-server/dist/document-response-rewriter.js +196 -0
- package/apps/mcp-server/dist/document-response-rewriter.js.map +1 -0
- package/apps/mcp-server/dist/json-rewrite.js +189 -0
- package/apps/mcp-server/dist/json-rewrite.js.map +1 -0
- package/apps/mcp-server/dist/main.js +339 -2
- package/apps/mcp-server/dist/main.js.map +1 -1
- package/apps/mcp-server/dist/mcp/server.js +2146 -176
- package/apps/mcp-server/dist/mcp/server.js.map +1 -1
- package/apps/mcp-server/dist/next-asset-mapper.js +701 -0
- package/apps/mcp-server/dist/next-asset-mapper.js.map +1 -0
- package/apps/mcp-server/dist/next-source-override-planner.js +601 -0
- package/apps/mcp-server/dist/next-source-override-planner.js.map +1 -0
- package/apps/mcp-server/dist/override-audit-contract.js +51 -0
- package/apps/mcp-server/dist/override-audit-contract.js.map +1 -0
- package/apps/mcp-server/dist/override-audit.js +740 -0
- package/apps/mcp-server/dist/override-audit.js.map +1 -0
- package/apps/mcp-server/dist/override-capabilities.js +136 -0
- package/apps/mcp-server/dist/override-capabilities.js.map +1 -0
- package/apps/mcp-server/dist/override-observed-assets.js +179 -0
- package/apps/mcp-server/dist/override-observed-assets.js.map +1 -0
- package/apps/mcp-server/dist/override-poc.js +336 -0
- package/apps/mcp-server/dist/override-poc.js.map +1 -0
- package/apps/mcp-server/dist/override-profile-generator.js +403 -0
- package/apps/mcp-server/dist/override-profile-generator.js.map +1 -0
- package/apps/mcp-server/dist/override-response-planner.js +557 -0
- package/apps/mcp-server/dist/override-response-planner.js.map +1 -0
- package/apps/mcp-server/dist/override-rule-types.js +32 -0
- package/apps/mcp-server/dist/override-rule-types.js.map +1 -0
- package/apps/mcp-server/dist/retention.js +4 -3
- package/apps/mcp-server/dist/retention.js.map +1 -1
- package/apps/mcp-server/dist/rsc-flight-patch-safety.js +269 -0
- package/apps/mcp-server/dist/rsc-flight-patch-safety.js.map +1 -0
- package/apps/mcp-server/dist/websocket/messages.js +5 -0
- package/apps/mcp-server/dist/websocket/messages.js.map +1 -1
- package/apps/mcp-server/dist/websocket/websocket-server.js +10 -0
- package/apps/mcp-server/dist/websocket/websocket-server.js.map +1 -1
- package/apps/mcp-server/package.json +1 -0
- package/package.json +12 -1
|
@@ -1,9 +1,35 @@
|
|
|
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
4
|
function getColumnNames(db, tableName) {
|
|
4
5
|
const rows = db.prepare(`PRAGMA table_info('${tableName}')`).all();
|
|
5
6
|
return new Set(rows.map((row) => row.name));
|
|
6
7
|
}
|
|
8
|
+
function tableExists(db, tableName) {
|
|
9
|
+
const row = db
|
|
10
|
+
.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?")
|
|
11
|
+
.get(tableName);
|
|
12
|
+
return row !== undefined;
|
|
13
|
+
}
|
|
14
|
+
function getMaxTimestampBySession(db, tableName, timestampColumn) {
|
|
15
|
+
if (!tableExists(db, tableName)) {
|
|
16
|
+
return new Map();
|
|
17
|
+
}
|
|
18
|
+
const columns = getColumnNames(db, tableName);
|
|
19
|
+
if (!columns.has('session_id') || !columns.has(timestampColumn)) {
|
|
20
|
+
return new Map();
|
|
21
|
+
}
|
|
22
|
+
const rows = db
|
|
23
|
+
.prepare(`
|
|
24
|
+
SELECT session_id, MAX(${timestampColumn}) AS max_ts
|
|
25
|
+
FROM ${tableName}
|
|
26
|
+
GROUP BY session_id
|
|
27
|
+
`)
|
|
28
|
+
.all();
|
|
29
|
+
return new Map(rows
|
|
30
|
+
.filter((row) => row.max_ts !== null)
|
|
31
|
+
.map((row) => [row.session_id, row.max_ts]));
|
|
32
|
+
}
|
|
7
33
|
function normalizeOriginCandidate(value) {
|
|
8
34
|
if (typeof value !== 'string' || value.trim().length === 0) {
|
|
9
35
|
return null;
|
|
@@ -36,6 +62,247 @@ function extractEventOrigin(payload) {
|
|
|
36
62
|
}
|
|
37
63
|
return null;
|
|
38
64
|
}
|
|
65
|
+
const OVERRIDE_POC_RUN_STATUS_SQL = OVERRIDE_POC_RUN_STATUSES.map((value) => `'${value}'`).join(', ');
|
|
66
|
+
const OVERRIDE_POC_REQUEST_STATUS_SQL = OVERRIDE_POC_REQUEST_STATUSES.map((value) => `'${value}'`).join(', ');
|
|
67
|
+
const OVERRIDE_POC_FAILURE_CODE_SQL = OVERRIDE_POC_FAILURE_CODES.map((value) => `'${value}'`).join(', ');
|
|
68
|
+
const OVERRIDE_PLAN_AUDIT_KIND_SQL = OVERRIDE_PLAN_AUDIT_KINDS.map((value) => `'${value}'`).join(', ');
|
|
69
|
+
function ensureAutomationTablesAndBackfill(db) {
|
|
70
|
+
db.exec(`
|
|
71
|
+
CREATE TABLE IF NOT EXISTS automation_runs (
|
|
72
|
+
run_id TEXT PRIMARY KEY,
|
|
73
|
+
session_id TEXT NOT NULL,
|
|
74
|
+
trace_id TEXT,
|
|
75
|
+
action TEXT,
|
|
76
|
+
tab_id INTEGER,
|
|
77
|
+
selector TEXT,
|
|
78
|
+
status TEXT NOT NULL,
|
|
79
|
+
started_at INTEGER NOT NULL,
|
|
80
|
+
completed_at INTEGER,
|
|
81
|
+
stop_reason TEXT,
|
|
82
|
+
target_summary_json TEXT,
|
|
83
|
+
failure_json TEXT,
|
|
84
|
+
redaction_json TEXT,
|
|
85
|
+
created_at INTEGER NOT NULL,
|
|
86
|
+
updated_at INTEGER NOT NULL,
|
|
87
|
+
FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE CASCADE
|
|
88
|
+
);
|
|
89
|
+
|
|
90
|
+
CREATE INDEX IF NOT EXISTS idx_automation_runs_session_started ON automation_runs(session_id, started_at);
|
|
91
|
+
CREATE INDEX IF NOT EXISTS idx_automation_runs_session_status ON automation_runs(session_id, status);
|
|
92
|
+
CREATE INDEX IF NOT EXISTS idx_automation_runs_trace_id ON automation_runs(trace_id);
|
|
93
|
+
|
|
94
|
+
CREATE TABLE IF NOT EXISTS automation_steps (
|
|
95
|
+
step_id TEXT PRIMARY KEY,
|
|
96
|
+
run_id TEXT NOT NULL,
|
|
97
|
+
session_id TEXT NOT NULL,
|
|
98
|
+
step_order INTEGER NOT NULL,
|
|
99
|
+
trace_id TEXT,
|
|
100
|
+
action TEXT NOT NULL,
|
|
101
|
+
selector TEXT,
|
|
102
|
+
status TEXT NOT NULL,
|
|
103
|
+
started_at INTEGER,
|
|
104
|
+
finished_at INTEGER,
|
|
105
|
+
duration_ms INTEGER,
|
|
106
|
+
tab_id INTEGER,
|
|
107
|
+
target_summary_json TEXT,
|
|
108
|
+
redaction_json TEXT,
|
|
109
|
+
failure_json TEXT,
|
|
110
|
+
input_metadata_json TEXT,
|
|
111
|
+
event_type TEXT NOT NULL,
|
|
112
|
+
event_id TEXT,
|
|
113
|
+
created_at INTEGER NOT NULL,
|
|
114
|
+
updated_at INTEGER NOT NULL,
|
|
115
|
+
FOREIGN KEY (run_id) REFERENCES automation_runs(run_id) ON DELETE CASCADE,
|
|
116
|
+
FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE CASCADE,
|
|
117
|
+
FOREIGN KEY (event_id) REFERENCES events(event_id) ON DELETE SET NULL,
|
|
118
|
+
UNIQUE(run_id, step_order)
|
|
119
|
+
);
|
|
120
|
+
|
|
121
|
+
CREATE INDEX IF NOT EXISTS idx_automation_steps_run_order ON automation_steps(run_id, step_order);
|
|
122
|
+
CREATE INDEX IF NOT EXISTS idx_automation_steps_session_started ON automation_steps(session_id, started_at);
|
|
123
|
+
CREATE INDEX IF NOT EXISTS idx_automation_steps_trace_id ON automation_steps(trace_id);
|
|
124
|
+
`);
|
|
125
|
+
const automationRepository = new AutomationRepository(db);
|
|
126
|
+
const rows = db.prepare(`
|
|
127
|
+
SELECT event_id, session_id, ts, payload_json, tab_id
|
|
128
|
+
FROM events
|
|
129
|
+
WHERE type = 'ui'
|
|
130
|
+
ORDER BY ts ASC, rowid ASC
|
|
131
|
+
`).all();
|
|
132
|
+
for (const row of rows) {
|
|
133
|
+
let payload = {};
|
|
134
|
+
try {
|
|
135
|
+
const parsed = JSON.parse(row.payload_json);
|
|
136
|
+
if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
|
|
137
|
+
payload = parsed;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
payload = {};
|
|
142
|
+
}
|
|
143
|
+
const eventType = typeof payload.eventType === 'string' ? payload.eventType : '';
|
|
144
|
+
if (!isAutomationLifecycleEventType(eventType)) {
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
automationRepository.upsertLifecycleEvent({
|
|
148
|
+
eventId: row.event_id,
|
|
149
|
+
eventType,
|
|
150
|
+
sessionId: row.session_id,
|
|
151
|
+
timestamp: row.ts,
|
|
152
|
+
tabId: row.tab_id,
|
|
153
|
+
payload,
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
function rebuildOverrideFailureCodeChecks(db) {
|
|
158
|
+
db.exec(`
|
|
159
|
+
PRAGMA foreign_keys=OFF;
|
|
160
|
+
|
|
161
|
+
DROP INDEX IF EXISTS idx_override_requests_session_ts;
|
|
162
|
+
DROP INDEX IF EXISTS idx_override_requests_run_ts;
|
|
163
|
+
DROP INDEX IF EXISTS idx_override_requests_status_ts;
|
|
164
|
+
DROP INDEX IF EXISTS idx_override_runs_session_started_at;
|
|
165
|
+
DROP INDEX IF EXISTS idx_override_runs_session_status_started_at;
|
|
166
|
+
|
|
167
|
+
ALTER TABLE override_requests RENAME TO override_requests_v11;
|
|
168
|
+
ALTER TABLE override_runs RENAME TO override_runs_v11;
|
|
169
|
+
|
|
170
|
+
CREATE TABLE override_runs (
|
|
171
|
+
run_id TEXT PRIMARY KEY,
|
|
172
|
+
session_id TEXT NOT NULL,
|
|
173
|
+
started_at INTEGER NOT NULL,
|
|
174
|
+
ended_at INTEGER,
|
|
175
|
+
run_status TEXT NOT NULL CHECK(run_status IN (${OVERRIDE_POC_RUN_STATUS_SQL})),
|
|
176
|
+
tab_id INTEGER NOT NULL,
|
|
177
|
+
selected_tab_id INTEGER,
|
|
178
|
+
target_asset_url TEXT NOT NULL,
|
|
179
|
+
local_file_path TEXT NOT NULL,
|
|
180
|
+
resolved_local_file_path TEXT NOT NULL,
|
|
181
|
+
content_type TEXT NOT NULL,
|
|
182
|
+
auto_reload INTEGER NOT NULL DEFAULT 0,
|
|
183
|
+
config_path TEXT NOT NULL,
|
|
184
|
+
file_exists INTEGER NOT NULL DEFAULT 0,
|
|
185
|
+
file_size_bytes INTEGER,
|
|
186
|
+
matched_requests INTEGER NOT NULL DEFAULT 0,
|
|
187
|
+
fulfilled_requests INTEGER NOT NULL DEFAULT 0,
|
|
188
|
+
last_matched_at INTEGER,
|
|
189
|
+
last_fulfilled_at INTEGER,
|
|
190
|
+
last_error_code TEXT CHECK(last_error_code IN (${OVERRIDE_POC_FAILURE_CODE_SQL})),
|
|
191
|
+
last_error_message TEXT,
|
|
192
|
+
created_at INTEGER NOT NULL,
|
|
193
|
+
updated_at INTEGER NOT NULL,
|
|
194
|
+
FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE CASCADE
|
|
195
|
+
);
|
|
196
|
+
|
|
197
|
+
CREATE TABLE override_requests (
|
|
198
|
+
request_log_id TEXT PRIMARY KEY,
|
|
199
|
+
run_id TEXT NOT NULL,
|
|
200
|
+
session_id TEXT NOT NULL,
|
|
201
|
+
request_id TEXT NOT NULL,
|
|
202
|
+
ts INTEGER NOT NULL,
|
|
203
|
+
request_url TEXT NOT NULL,
|
|
204
|
+
request_status TEXT NOT NULL CHECK(request_status IN (${OVERRIDE_POC_REQUEST_STATUS_SQL})),
|
|
205
|
+
failure_code TEXT CHECK(failure_code IN (${OVERRIDE_POC_FAILURE_CODE_SQL})),
|
|
206
|
+
error_message TEXT,
|
|
207
|
+
response_code INTEGER,
|
|
208
|
+
created_at INTEGER NOT NULL,
|
|
209
|
+
updated_at INTEGER NOT NULL,
|
|
210
|
+
FOREIGN KEY (run_id) REFERENCES override_runs(run_id) ON DELETE CASCADE,
|
|
211
|
+
FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE CASCADE
|
|
212
|
+
);
|
|
213
|
+
|
|
214
|
+
INSERT INTO override_runs (
|
|
215
|
+
run_id,
|
|
216
|
+
session_id,
|
|
217
|
+
started_at,
|
|
218
|
+
ended_at,
|
|
219
|
+
run_status,
|
|
220
|
+
tab_id,
|
|
221
|
+
selected_tab_id,
|
|
222
|
+
target_asset_url,
|
|
223
|
+
local_file_path,
|
|
224
|
+
resolved_local_file_path,
|
|
225
|
+
content_type,
|
|
226
|
+
auto_reload,
|
|
227
|
+
config_path,
|
|
228
|
+
file_exists,
|
|
229
|
+
file_size_bytes,
|
|
230
|
+
matched_requests,
|
|
231
|
+
fulfilled_requests,
|
|
232
|
+
last_matched_at,
|
|
233
|
+
last_fulfilled_at,
|
|
234
|
+
last_error_code,
|
|
235
|
+
last_error_message,
|
|
236
|
+
created_at,
|
|
237
|
+
updated_at
|
|
238
|
+
)
|
|
239
|
+
SELECT
|
|
240
|
+
run_id,
|
|
241
|
+
session_id,
|
|
242
|
+
started_at,
|
|
243
|
+
ended_at,
|
|
244
|
+
run_status,
|
|
245
|
+
tab_id,
|
|
246
|
+
selected_tab_id,
|
|
247
|
+
target_asset_url,
|
|
248
|
+
local_file_path,
|
|
249
|
+
resolved_local_file_path,
|
|
250
|
+
content_type,
|
|
251
|
+
auto_reload,
|
|
252
|
+
config_path,
|
|
253
|
+
file_exists,
|
|
254
|
+
file_size_bytes,
|
|
255
|
+
matched_requests,
|
|
256
|
+
fulfilled_requests,
|
|
257
|
+
last_matched_at,
|
|
258
|
+
last_fulfilled_at,
|
|
259
|
+
last_error_code,
|
|
260
|
+
last_error_message,
|
|
261
|
+
created_at,
|
|
262
|
+
updated_at
|
|
263
|
+
FROM override_runs_v11;
|
|
264
|
+
|
|
265
|
+
INSERT INTO override_requests (
|
|
266
|
+
request_log_id,
|
|
267
|
+
run_id,
|
|
268
|
+
session_id,
|
|
269
|
+
request_id,
|
|
270
|
+
ts,
|
|
271
|
+
request_url,
|
|
272
|
+
request_status,
|
|
273
|
+
failure_code,
|
|
274
|
+
error_message,
|
|
275
|
+
response_code,
|
|
276
|
+
created_at,
|
|
277
|
+
updated_at
|
|
278
|
+
)
|
|
279
|
+
SELECT
|
|
280
|
+
request_log_id,
|
|
281
|
+
run_id,
|
|
282
|
+
session_id,
|
|
283
|
+
request_id,
|
|
284
|
+
ts,
|
|
285
|
+
request_url,
|
|
286
|
+
request_status,
|
|
287
|
+
failure_code,
|
|
288
|
+
error_message,
|
|
289
|
+
response_code,
|
|
290
|
+
created_at,
|
|
291
|
+
updated_at
|
|
292
|
+
FROM override_requests_v11;
|
|
293
|
+
|
|
294
|
+
DROP TABLE override_requests_v11;
|
|
295
|
+
DROP TABLE override_runs_v11;
|
|
296
|
+
|
|
297
|
+
CREATE INDEX IF NOT EXISTS idx_override_runs_session_started_at ON override_runs(session_id, started_at);
|
|
298
|
+
CREATE INDEX IF NOT EXISTS idx_override_runs_session_status_started_at ON override_runs(session_id, run_status, started_at);
|
|
299
|
+
CREATE INDEX IF NOT EXISTS idx_override_requests_session_ts ON override_requests(session_id, ts);
|
|
300
|
+
CREATE INDEX IF NOT EXISTS idx_override_requests_run_ts ON override_requests(run_id, ts);
|
|
301
|
+
CREATE INDEX IF NOT EXISTS idx_override_requests_status_ts ON override_requests(request_status, ts);
|
|
302
|
+
|
|
303
|
+
PRAGMA foreign_keys=ON;
|
|
304
|
+
`);
|
|
305
|
+
}
|
|
39
306
|
const migrations = [
|
|
40
307
|
{
|
|
41
308
|
version: 1,
|
|
@@ -271,95 +538,228 @@ const migrations = [
|
|
|
271
538
|
{
|
|
272
539
|
version: 7,
|
|
273
540
|
name: 'automation_run_tables',
|
|
541
|
+
up: ensureAutomationTablesAndBackfill,
|
|
542
|
+
},
|
|
543
|
+
{
|
|
544
|
+
version: 8,
|
|
545
|
+
name: 'session_last_seen_tracking',
|
|
274
546
|
up: (db) => {
|
|
547
|
+
const sessionColumns = getColumnNames(db, 'sessions');
|
|
548
|
+
if (!sessionColumns.has('last_seen_at')) {
|
|
549
|
+
db.exec('ALTER TABLE sessions ADD COLUMN last_seen_at INTEGER NOT NULL DEFAULT 0;');
|
|
550
|
+
}
|
|
275
551
|
db.exec(`
|
|
276
|
-
CREATE
|
|
552
|
+
CREATE INDEX IF NOT EXISTS idx_sessions_last_seen_at ON sessions(last_seen_at);
|
|
553
|
+
`);
|
|
554
|
+
const refreshedSessionColumns = getColumnNames(db, 'sessions');
|
|
555
|
+
const pausedAtExpr = refreshedSessionColumns.has('paused_at') ? 's.paused_at' : 'NULL';
|
|
556
|
+
const endedAtExpr = refreshedSessionColumns.has('ended_at') ? 's.ended_at' : 'NULL';
|
|
557
|
+
const eventLastSeenBySession = getMaxTimestampBySession(db, 'events', 'ts');
|
|
558
|
+
const networkLastSeenBySession = getMaxTimestampBySession(db, 'network', 'ts_start');
|
|
559
|
+
const snapshotLastSeenBySession = getMaxTimestampBySession(db, 'snapshots', 'ts');
|
|
560
|
+
const updateLastSeen = db.prepare('UPDATE sessions SET last_seen_at = ? WHERE session_id = ?');
|
|
561
|
+
const runBackfill = db.transaction(() => {
|
|
562
|
+
const rows = db.prepare(`
|
|
563
|
+
SELECT
|
|
564
|
+
s.session_id,
|
|
565
|
+
s.created_at,
|
|
566
|
+
${pausedAtExpr} AS paused_at,
|
|
567
|
+
${endedAtExpr} AS ended_at
|
|
568
|
+
FROM sessions s
|
|
569
|
+
`).all();
|
|
570
|
+
for (const row of rows) {
|
|
571
|
+
const lastSeenAt = Math.max(row.created_at, row.paused_at ?? 0, row.ended_at ?? 0, eventLastSeenBySession.get(row.session_id) ?? 0, networkLastSeenBySession.get(row.session_id) ?? 0, snapshotLastSeenBySession.get(row.session_id) ?? 0);
|
|
572
|
+
updateLastSeen.run(lastSeenAt, row.session_id);
|
|
573
|
+
}
|
|
574
|
+
});
|
|
575
|
+
runBackfill();
|
|
576
|
+
},
|
|
577
|
+
},
|
|
578
|
+
{
|
|
579
|
+
version: 9,
|
|
580
|
+
name: 'override_audit_tables',
|
|
581
|
+
up: (db) => {
|
|
582
|
+
db.exec(`
|
|
583
|
+
CREATE TABLE IF NOT EXISTS override_runs (
|
|
277
584
|
run_id TEXT PRIMARY KEY,
|
|
278
585
|
session_id TEXT NOT NULL,
|
|
279
|
-
trace_id TEXT,
|
|
280
|
-
action TEXT,
|
|
281
|
-
tab_id INTEGER,
|
|
282
|
-
selector TEXT,
|
|
283
|
-
status TEXT NOT NULL,
|
|
284
586
|
started_at INTEGER NOT NULL,
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
587
|
+
ended_at INTEGER,
|
|
588
|
+
run_status TEXT NOT NULL CHECK(run_status IN (${OVERRIDE_POC_RUN_STATUS_SQL})),
|
|
589
|
+
tab_id INTEGER NOT NULL,
|
|
590
|
+
selected_tab_id INTEGER,
|
|
591
|
+
target_asset_url TEXT NOT NULL,
|
|
592
|
+
local_file_path TEXT NOT NULL,
|
|
593
|
+
resolved_local_file_path TEXT NOT NULL,
|
|
594
|
+
content_type TEXT NOT NULL,
|
|
595
|
+
auto_reload INTEGER NOT NULL DEFAULT 0,
|
|
596
|
+
config_path TEXT NOT NULL,
|
|
597
|
+
file_exists INTEGER NOT NULL DEFAULT 0,
|
|
598
|
+
file_size_bytes INTEGER,
|
|
599
|
+
matched_requests INTEGER NOT NULL DEFAULT 0,
|
|
600
|
+
fulfilled_requests INTEGER NOT NULL DEFAULT 0,
|
|
601
|
+
last_matched_at INTEGER,
|
|
602
|
+
last_fulfilled_at INTEGER,
|
|
603
|
+
last_error_code TEXT CHECK(last_error_code IN (${OVERRIDE_POC_FAILURE_CODE_SQL})),
|
|
604
|
+
last_error_message TEXT,
|
|
290
605
|
created_at INTEGER NOT NULL,
|
|
291
606
|
updated_at INTEGER NOT NULL,
|
|
292
607
|
FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE CASCADE
|
|
293
608
|
);
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
CREATE INDEX IF NOT EXISTS
|
|
297
|
-
CREATE INDEX IF NOT EXISTS
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
609
|
+
`);
|
|
610
|
+
db.exec(`
|
|
611
|
+
CREATE INDEX IF NOT EXISTS idx_override_runs_session_started_at ON override_runs(session_id, started_at);
|
|
612
|
+
CREATE INDEX IF NOT EXISTS idx_override_runs_session_status_started_at ON override_runs(session_id, run_status, started_at);
|
|
613
|
+
`);
|
|
614
|
+
db.exec(`
|
|
615
|
+
CREATE TABLE IF NOT EXISTS override_requests (
|
|
616
|
+
request_log_id TEXT PRIMARY KEY,
|
|
301
617
|
run_id TEXT NOT NULL,
|
|
302
618
|
session_id TEXT NOT NULL,
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
619
|
+
request_id TEXT NOT NULL,
|
|
620
|
+
ts INTEGER NOT NULL,
|
|
621
|
+
request_url TEXT NOT NULL,
|
|
622
|
+
request_status TEXT NOT NULL CHECK(request_status IN (${OVERRIDE_POC_REQUEST_STATUS_SQL})),
|
|
623
|
+
failure_code TEXT CHECK(failure_code IN (${OVERRIDE_POC_FAILURE_CODE_SQL})),
|
|
624
|
+
error_message TEXT,
|
|
625
|
+
response_code INTEGER,
|
|
626
|
+
created_at INTEGER NOT NULL,
|
|
627
|
+
updated_at INTEGER NOT NULL,
|
|
628
|
+
FOREIGN KEY (run_id) REFERENCES override_runs(run_id) ON DELETE CASCADE,
|
|
629
|
+
FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE CASCADE
|
|
630
|
+
);
|
|
631
|
+
`);
|
|
632
|
+
db.exec(`
|
|
633
|
+
CREATE INDEX IF NOT EXISTS idx_override_requests_session_ts ON override_requests(session_id, ts);
|
|
634
|
+
CREATE INDEX IF NOT EXISTS idx_override_requests_run_ts ON override_requests(run_id, ts);
|
|
635
|
+
CREATE INDEX IF NOT EXISTS idx_override_requests_status_ts ON override_requests(request_status, ts);
|
|
636
|
+
`);
|
|
637
|
+
},
|
|
638
|
+
},
|
|
639
|
+
{
|
|
640
|
+
version: 10,
|
|
641
|
+
name: 'override_observed_assets',
|
|
642
|
+
up: (db) => {
|
|
643
|
+
db.exec(`
|
|
644
|
+
CREATE TABLE IF NOT EXISTS override_observed_assets (
|
|
645
|
+
observed_asset_id TEXT PRIMARY KEY,
|
|
646
|
+
session_id TEXT NOT NULL,
|
|
647
|
+
observed_at INTEGER NOT NULL,
|
|
648
|
+
last_seen_at INTEGER NOT NULL,
|
|
311
649
|
tab_id INTEGER,
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
650
|
+
page_url TEXT,
|
|
651
|
+
base_url TEXT,
|
|
652
|
+
page_title TEXT,
|
|
653
|
+
service_worker_controlled INTEGER NOT NULL DEFAULT 0,
|
|
654
|
+
csp_meta_json TEXT,
|
|
655
|
+
asset_url TEXT NOT NULL,
|
|
656
|
+
asset_path TEXT,
|
|
657
|
+
pathname TEXT,
|
|
658
|
+
kind TEXT,
|
|
659
|
+
initiator_type TEXT,
|
|
660
|
+
rel TEXT,
|
|
661
|
+
as_attr TEXT,
|
|
662
|
+
integrity TEXT,
|
|
663
|
+
from_dom INTEGER NOT NULL DEFAULT 0,
|
|
664
|
+
from_performance INTEGER NOT NULL DEFAULT 0,
|
|
665
|
+
payload_json TEXT NOT NULL,
|
|
318
666
|
created_at INTEGER NOT NULL,
|
|
319
667
|
updated_at INTEGER NOT NULL,
|
|
320
|
-
FOREIGN KEY (
|
|
321
|
-
FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE CASCADE,
|
|
322
|
-
FOREIGN KEY (event_id) REFERENCES events(event_id) ON DELETE SET NULL,
|
|
323
|
-
UNIQUE(run_id, step_order)
|
|
668
|
+
FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE CASCADE
|
|
324
669
|
);
|
|
325
|
-
|
|
326
|
-
CREATE INDEX IF NOT EXISTS idx_automation_steps_run_order ON automation_steps(run_id, step_order);
|
|
327
|
-
CREATE INDEX IF NOT EXISTS idx_automation_steps_session_started ON automation_steps(session_id, started_at);
|
|
328
|
-
CREATE INDEX IF NOT EXISTS idx_automation_steps_trace_id ON automation_steps(trace_id);
|
|
329
670
|
`);
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
catch {
|
|
346
|
-
payload = {};
|
|
347
|
-
}
|
|
348
|
-
const eventType = typeof payload.eventType === 'string' ? payload.eventType : '';
|
|
349
|
-
if (!isAutomationLifecycleEventType(eventType)) {
|
|
350
|
-
continue;
|
|
671
|
+
db.exec(`
|
|
672
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_override_observed_assets_session_url ON override_observed_assets(session_id, asset_url);
|
|
673
|
+
CREATE INDEX IF NOT EXISTS idx_override_observed_assets_session_seen ON override_observed_assets(session_id, last_seen_at);
|
|
674
|
+
CREATE INDEX IF NOT EXISTS idx_override_observed_assets_asset_path ON override_observed_assets(asset_path);
|
|
675
|
+
`);
|
|
676
|
+
},
|
|
677
|
+
},
|
|
678
|
+
{
|
|
679
|
+
version: 11,
|
|
680
|
+
name: 'override_observed_request_metadata',
|
|
681
|
+
up: (db) => {
|
|
682
|
+
const columns = getColumnNames(db, 'override_observed_assets');
|
|
683
|
+
const addColumn = (name, sql) => {
|
|
684
|
+
if (!columns.has(name)) {
|
|
685
|
+
db.exec(`ALTER TABLE override_observed_assets ADD COLUMN ${sql};`);
|
|
351
686
|
}
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
687
|
+
};
|
|
688
|
+
addColumn('rule_type', "rule_type TEXT NOT NULL DEFAULT 'asset'");
|
|
689
|
+
addColumn('request_method', "request_method TEXT NOT NULL DEFAULT 'GET'");
|
|
690
|
+
addColumn('resource_type', 'resource_type TEXT');
|
|
691
|
+
addColumn('content_type', 'content_type TEXT');
|
|
692
|
+
addColumn('status_code', 'status_code INTEGER');
|
|
693
|
+
addColumn('from_navigation', 'from_navigation INTEGER NOT NULL DEFAULT 0');
|
|
694
|
+
addColumn('from_fetch', 'from_fetch INTEGER NOT NULL DEFAULT 0');
|
|
695
|
+
db.exec(`
|
|
696
|
+
UPDATE override_observed_assets
|
|
697
|
+
SET
|
|
698
|
+
rule_type = COALESCE(NULLIF(rule_type, ''), 'asset'),
|
|
699
|
+
request_method = COALESCE(NULLIF(request_method, ''), 'GET');
|
|
700
|
+
|
|
701
|
+
DROP INDEX IF EXISTS idx_override_observed_assets_session_url;
|
|
702
|
+
|
|
703
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_override_observed_assets_session_method_url
|
|
704
|
+
ON override_observed_assets(session_id, request_method, asset_url);
|
|
705
|
+
CREATE INDEX IF NOT EXISTS idx_override_observed_assets_rule_type
|
|
706
|
+
ON override_observed_assets(rule_type);
|
|
707
|
+
`);
|
|
361
708
|
},
|
|
362
709
|
},
|
|
710
|
+
{
|
|
711
|
+
version: 12,
|
|
712
|
+
name: 'override_plan_audits',
|
|
713
|
+
up: (db) => {
|
|
714
|
+
db.exec(`
|
|
715
|
+
CREATE TABLE IF NOT EXISTS override_plan_audits (
|
|
716
|
+
plan_id TEXT PRIMARY KEY,
|
|
717
|
+
session_id TEXT,
|
|
718
|
+
created_at INTEGER NOT NULL,
|
|
719
|
+
planner_kind TEXT NOT NULL CHECK(planner_kind IN (${OVERRIDE_PLAN_AUDIT_KIND_SQL})),
|
|
720
|
+
tool_name TEXT NOT NULL,
|
|
721
|
+
profile_id TEXT,
|
|
722
|
+
rule_id TEXT NOT NULL,
|
|
723
|
+
rule_type TEXT NOT NULL,
|
|
724
|
+
request_method TEXT NOT NULL,
|
|
725
|
+
match_mode TEXT NOT NULL,
|
|
726
|
+
target_asset_url TEXT NOT NULL,
|
|
727
|
+
local_file_path TEXT,
|
|
728
|
+
config_path TEXT,
|
|
729
|
+
content_type TEXT NOT NULL,
|
|
730
|
+
original_sha256 TEXT,
|
|
731
|
+
patched_sha256 TEXT,
|
|
732
|
+
original_bytes INTEGER,
|
|
733
|
+
patched_bytes INTEGER,
|
|
734
|
+
patch_summary_json TEXT NOT NULL,
|
|
735
|
+
preview_json TEXT,
|
|
736
|
+
warnings_json TEXT NOT NULL,
|
|
737
|
+
blockers_json TEXT NOT NULL,
|
|
738
|
+
captured_from_live_session_json TEXT,
|
|
739
|
+
rollback_json TEXT NOT NULL,
|
|
740
|
+
updated_at INTEGER NOT NULL,
|
|
741
|
+
FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE SET NULL
|
|
742
|
+
);
|
|
743
|
+
|
|
744
|
+
CREATE INDEX IF NOT EXISTS idx_override_plan_audits_session_created_at
|
|
745
|
+
ON override_plan_audits(session_id, created_at);
|
|
746
|
+
CREATE INDEX IF NOT EXISTS idx_override_plan_audits_target_url
|
|
747
|
+
ON override_plan_audits(target_asset_url);
|
|
748
|
+
CREATE INDEX IF NOT EXISTS idx_override_plan_audits_planner_kind
|
|
749
|
+
ON override_plan_audits(planner_kind);
|
|
750
|
+
`);
|
|
751
|
+
},
|
|
752
|
+
},
|
|
753
|
+
{
|
|
754
|
+
version: 13,
|
|
755
|
+
name: 'override_failure_code_taxonomy',
|
|
756
|
+
up: rebuildOverrideFailureCodeChecks,
|
|
757
|
+
},
|
|
758
|
+
{
|
|
759
|
+
version: 14,
|
|
760
|
+
name: 'merge_automation_tables_compatibility',
|
|
761
|
+
up: ensureAutomationTablesAndBackfill,
|
|
762
|
+
},
|
|
363
763
|
];
|
|
364
764
|
export function runMigrations(db) {
|
|
365
765
|
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":"AACA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAChG,OAAO,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAClG,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,GAC1B,MAAM,+BAA+B,CAAC;AAQvC,SAAS,cAAc,CAAC,EAAY,EAAE,SAAiB;IACrD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,sBAAsB,SAAS,IAAI,CAAC,CAAC,GAAG,EAA6B,CAAC;IAC9F,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,WAAW,CAAC,EAAY,EAAE,SAAiB;IAClD,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CAAC,kEAAkE,CAAC;SAC3E,GAAG,CAAC,SAAS,CAAiC,CAAC;IAClD,OAAO,GAAG,KAAK,SAAS,CAAC;AAC3B,CAAC;AAED,SAAS,wBAAwB,CAAC,EAAY,EAAE,SAAiB,EAAE,eAAuB;IACxF,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QAChE,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,CAAC;+BACkB,eAAe;aACjC,SAAS;;KAEjB,CAAC;SACD,GAAG,EAA0D,CAAC;IAEjE,OAAO,IAAI,GAAG,CACZ,IAAI;SACD,MAAM,CAAC,CAAC,GAAG,EAAiD,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC;SACnF,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAC9C,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAChE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAgC;IAC1D,MAAM,UAAU,GAAG;QACjB,OAAO,CAAC,MAAM;QACd,OAAO,CAAC,GAAG;QACX,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,IAAI;QACZ,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,UAAU;KACnB,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,2BAA2B,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtG,MAAM,+BAA+B,GAAG,6BAA6B,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9G,MAAM,6BAA6B,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzG,MAAM,4BAA4B,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEvG,SAAS,iCAAiC,CAAC,EAAY;IACrD,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDP,CAAC,CAAC;IAEH,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;GAKvB,CAAC,CAAC,GAAG,EAMJ,CAAC;IAEH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,GAA4B,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAY,CAAC;YACvD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnE,OAAO,GAAG,MAAiC,CAAC;YAC9C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,IAAI,CAAC,8BAA8B,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/C,SAAS;QACX,CAAC;QAED,oBAAoB,CAAC,oBAAoB,CAAC;YACxC,OAAO,EAAE,GAAG,CAAC,QAAQ;YACrB,SAAS;YACT,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,SAAS,EAAE,GAAG,CAAC,EAAE;YACjB,KAAK,EAAE,GAAG,CAAC,MAAM;YACjB,OAAO;SACR,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,gCAAgC,CAAC,EAAY;IACpD,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;sDAiB4C,2BAA2B;;;;;;;;;;;;;;;uDAe1B,6BAA6B;;;;;;;;;;;;;;8DActB,+BAA+B;iDAC5C,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmG3E,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,GAAgB;IAC9B;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,gBAAgB;QACtB,EAAE,EAAE,gBAAgB;KACrB;IACD;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,uBAAuB;QAC7B,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YACT,MAAM,eAAe,GAAI,EAAE,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,GAAG,EAA8B,CAAC,IAAI,CACzG,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CACrC,CAAC;YACF,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,EAAE,CAAC,IAAI,CAAC;;SAEP,CAAC,CAAC;YACL,CAAC;YACD,EAAE,CAAC,IAAI,CAAC;;OAEP,CAAC,CAAC;YACH,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;OAUP,CAAC,CAAC;YACH,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;OAUP,CAAC,CAAC;QACL,CAAC;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,mBAAmB;QACzB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YACT,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;OAuBP,CAAC,CAAC;YACH,EAAE,CAAC,IAAI,CAAC;;;;OAIP,CAAC,CAAC;QACL,CAAC;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,4BAA4B;QAClC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YACT,MAAM,YAAY,GAAG,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAClD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChC,EAAE,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChC,EAAE,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,cAAc,GAAG,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YACrD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,EAAE,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YACzD,CAAC;YAED,EAAE,CAAC,IAAI,CAAC;;;;;;OAMP,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC;;;;OAI9B,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC;YAEvF,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;gBACtC,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC;;;;SAI5B,CAAC,CAAC,GAAG,EAKJ,CAAC;gBAEH,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;oBAC5B,IAAI,OAAO,GAA4B,EAAE,CAAC;oBAC1C,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAY,CAAC;wBACvD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;4BACnE,OAAO,GAAG,MAAiC,CAAC;wBAC9C,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,GAAG,EAAE,CAAC;oBACf,CAAC;oBAED,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;oBACrC,MAAM,KAAK,GACT,OAAO,cAAc,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;wBACnE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;wBAC5B,CAAC,CAAC,IAAI,CAAC;oBACX,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBAE3C,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC/C,CAAC;gBAED,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC;;;;SAI9B,CAAC,CAAC,GAAG,EAAuD,CAAC;gBAE9D,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;oBAC9B,MAAM,MAAM,GAAG,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACjD,IAAI,MAAM,EAAE,CAAC;wBACX,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;oBAC5C,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,WAAW,EAAE,CAAC;QAChB,CAAC;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YACT,MAAM,cAAc,GAAG,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YACrD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpC,EAAE,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,EAAE,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBAChD,EAAE,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YACvE,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC7C,EAAE,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC7C,EAAE,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC9C,EAAE,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;YACxE,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAAC;gBAClD,EAAE,CAAC,IAAI,CAAC,mFAAmF,CAAC,CAAC;YAC/F,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAAC;gBAClD,EAAE,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;YACzE,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,CAAC;gBACjD,EAAE,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;YACxE,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC9C,EAAE,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC9C,EAAE,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBAC/C,EAAE,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;YACzE,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,CAAC;gBACnD,EAAE,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC;YAChG,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,CAAC;gBACnD,EAAE,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;YAC1E,CAAC;YAED,EAAE,CAAC,IAAI,CAAC;;;;OAIP,CAAC,CAAC;YAEH,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;OAcP,CAAC,CAAC;YAEH,EAAE,CAAC,IAAI,CAAC;;;;OAIP,CAAC,CAAC;QACL,CAAC;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,4BAA4B;QAClC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YACT,MAAM,cAAc,GAAG,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YACtD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrC,EAAE,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YAChE,CAAC;YAED,EAAE,CAAC,IAAI,CAAC;;OAEP,CAAC,CAAC;QACL,CAAC;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,uBAAuB;QAC7B,EAAE,EAAE,iCAAiC;KACtC;IACD;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,4BAA4B;QAClC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YACT,MAAM,cAAc,GAAG,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YACtD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;gBACxC,EAAE,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;YACtF,CAAC;YAED,EAAE,CAAC,IAAI,CAAC;;OAEP,CAAC,CAAC;YAEH,MAAM,uBAAuB,GAAG,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAC/D,MAAM,YAAY,GAAG,uBAAuB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;YACvF,MAAM,WAAW,GAAG,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC;YACpF,MAAM,sBAAsB,GAAG,wBAAwB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC5E,MAAM,wBAAwB,GAAG,wBAAwB,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YACrF,MAAM,yBAAyB,GAAG,wBAAwB,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;YAClF,MAAM,cAAc,GAAG,EAAE,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAC;YAE/F,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;gBACtC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;cAIlB,YAAY;cACZ,WAAW;;SAEhB,CAAC,CAAC,GAAG,EAKJ,CAAC;gBAEH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CACzB,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,SAAS,IAAI,CAAC,EAClB,GAAG,CAAC,QAAQ,IAAI,CAAC,EACjB,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAC/C,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EACjD,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CACnD,CAAC;oBACF,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,WAAW,EAAE,CAAC;QAChB,CAAC;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,uBAAuB;QAC7B,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YACT,EAAE,CAAC,IAAI,CAAC;;;;;;0DAM4C,2BAA2B;;;;;;;;;;;;;;;2DAe1B,6BAA6B;;;;;;OAMjF,CAAC,CAAC;YAEH,EAAE,CAAC,IAAI,CAAC;;;OAGP,CAAC,CAAC;YAEH,EAAE,CAAC,IAAI,CAAC;;;;;;;;kEAQoD,+BAA+B;qDAC5C,6BAA6B;;;;;;;;OAQ3E,CAAC,CAAC;YAEH,EAAE,CAAC,IAAI,CAAC;;;;OAIP,CAAC,CAAC;QACL,CAAC;KACF;IACD;QACE,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,0BAA0B;QAChC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YACT,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BP,CAAC,CAAC;YAEH,EAAE,CAAC,IAAI,CAAC;;;;OAIP,CAAC,CAAC;QACL,CAAC;KACF;IACD;QACE,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,oCAAoC;QAC1C,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YACT,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,EAAE,0BAA0B,CAAC,CAAC;YAC/D,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,GAAW,EAAQ,EAAE;gBACpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvB,EAAE,CAAC,IAAI,CAAC,mDAAmD,GAAG,GAAG,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC,CAAC;YAEF,SAAS,CAAC,WAAW,EAAE,yCAAyC,CAAC,CAAC;YAClE,SAAS,CAAC,gBAAgB,EAAE,4CAA4C,CAAC,CAAC;YAC1E,SAAS,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;YACjD,SAAS,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;YAC/C,SAAS,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;YAChD,SAAS,CAAC,iBAAiB,EAAE,4CAA4C,CAAC,CAAC;YAC3E,SAAS,CAAC,YAAY,EAAE,uCAAuC,CAAC,CAAC;YAEjE,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;OAYP,CAAC,CAAC;QACL,CAAC;KACF;IACD;QACE,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,sBAAsB;QAC5B,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YACT,EAAE,CAAC,IAAI,CAAC;;;;;8DAKgD,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BnF,CAAC,CAAC;QACL,CAAC;KACF;IACD;QACE,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE,gCAAgC;KACrC;IACD;QACE,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,uCAAuC;QAC7C,EAAE,EAAE,iCAAiC;KACtC;CACF,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,EAAY;IACxC,MAAM,cAAc,GAAG,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAEjD,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,cAAc,CAAC,CAAC;IAE7E,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;QAC1C,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEjB,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC;;;KAGhC,CAAC,CAAC;QACH,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAY;IAC7C,aAAa,CAAC,EAAE,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAY;IACxC,aAAa,CAAC,EAAE,CAAC,CAAC;IAClB,kBAAkB,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC;AAED,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC"}
|