247-cli 2.21.1 → 2.23.3
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/agent/dist/config.d.ts +4 -7
- package/agent/dist/config.d.ts.map +1 -1
- package/agent/dist/config.js +1 -2
- package/agent/dist/config.js.map +1 -1
- package/agent/dist/db/index.d.ts +0 -7
- package/agent/dist/db/index.d.ts.map +1 -1
- package/agent/dist/db/index.js +68 -333
- package/agent/dist/db/index.js.map +1 -1
- package/agent/dist/db/schema.d.ts +3 -90
- package/agent/dist/db/schema.d.ts.map +1 -1
- package/agent/dist/db/schema.js +4 -105
- package/agent/dist/db/schema.js.map +1 -1
- package/agent/dist/db/sessions.d.ts +0 -53
- package/agent/dist/db/sessions.d.ts.map +1 -1
- package/agent/dist/db/sessions.js +3 -224
- package/agent/dist/db/sessions.js.map +1 -1
- package/agent/dist/index.js +1 -0
- package/agent/dist/index.js.map +1 -1
- package/agent/dist/logger.d.ts +0 -2
- package/agent/dist/logger.d.ts.map +1 -1
- package/agent/dist/logger.js +0 -4
- package/agent/dist/logger.js.map +1 -1
- package/agent/dist/routes/attention.d.ts +10 -0
- package/agent/dist/routes/attention.d.ts.map +1 -0
- package/agent/dist/routes/attention.js +123 -0
- package/agent/dist/routes/attention.js.map +1 -0
- package/agent/dist/routes/index.d.ts +3 -7
- package/agent/dist/routes/index.d.ts.map +1 -1
- package/agent/dist/routes/index.js +3 -7
- package/agent/dist/routes/index.js.map +1 -1
- package/agent/dist/routes/pair.d.ts +26 -0
- package/agent/dist/routes/pair.d.ts.map +1 -0
- package/agent/dist/routes/pair.js +381 -0
- package/agent/dist/routes/pair.js.map +1 -0
- package/agent/dist/routes/projects.d.ts +2 -1
- package/agent/dist/routes/projects.d.ts.map +1 -1
- package/agent/dist/routes/projects.js +7 -39
- package/agent/dist/routes/projects.js.map +1 -1
- package/agent/dist/routes/sessions.d.ts +1 -0
- package/agent/dist/routes/sessions.d.ts.map +1 -1
- package/agent/dist/routes/sessions.js +14 -379
- package/agent/dist/routes/sessions.js.map +1 -1
- package/agent/dist/server.d.ts.map +1 -1
- package/agent/dist/server.js +11 -81
- package/agent/dist/server.js.map +1 -1
- package/agent/dist/services/index.d.ts +1 -6
- package/agent/dist/services/index.d.ts.map +1 -1
- package/agent/dist/services/index.js +4 -4
- package/agent/dist/services/index.js.map +1 -1
- package/agent/dist/setup-hooks.d.ts +10 -0
- package/agent/dist/setup-hooks.d.ts.map +1 -0
- package/agent/dist/setup-hooks.js +157 -0
- package/agent/dist/setup-hooks.js.map +1 -0
- package/agent/dist/status.d.ts +0 -6
- package/agent/dist/status.d.ts.map +1 -1
- package/agent/dist/status.js +2 -12
- package/agent/dist/status.js.map +1 -1
- package/agent/dist/terminal.d.ts +0 -11
- package/agent/dist/terminal.d.ts.map +1 -1
- package/agent/dist/terminal.js +6 -60
- package/agent/dist/terminal.js.map +1 -1
- package/agent/dist/websocket-handlers.d.ts +1 -0
- package/agent/dist/websocket-handlers.d.ts.map +1 -1
- package/agent/dist/websocket-handlers.js +3 -187
- package/agent/dist/websocket-handlers.js.map +1 -1
- package/agent/node_modules/247-shared/dist/types/index.d.ts +0 -232
- package/agent/node_modules/247-shared/dist/types/index.d.ts.map +1 -1
- package/agent/node_modules/247-shared/dist/types/index.js +1 -63
- package/agent/node_modules/247-shared/dist/types/index.js.map +1 -1
- package/agent/node_modules/247-shared/package.json +1 -1
- package/dist/index.js +1 -1
- package/package.json +3 -3
- package/agent/dist/db/environments.d.ts +0 -60
- package/agent/dist/db/environments.d.ts.map +0 -1
- package/agent/dist/db/environments.js +0 -235
- package/agent/dist/db/environments.js.map +0 -1
- package/agent/dist/db/events.d.ts +0 -46
- package/agent/dist/db/events.d.ts.map +0 -1
- package/agent/dist/db/events.js +0 -193
- package/agent/dist/db/events.js.map +0 -1
- package/agent/dist/db/history.d.ts +0 -37
- package/agent/dist/db/history.d.ts.map +0 -1
- package/agent/dist/db/history.js +0 -98
- package/agent/dist/db/history.js.map +0 -1
- package/agent/dist/db/push-subscriptions.d.ts +0 -44
- package/agent/dist/db/push-subscriptions.d.ts.map +0 -1
- package/agent/dist/db/push-subscriptions.js +0 -98
- package/agent/dist/db/push-subscriptions.js.map +0 -1
- package/agent/dist/editor.d.ts +0 -18
- package/agent/dist/editor.d.ts.map +0 -1
- package/agent/dist/editor.js +0 -222
- package/agent/dist/editor.js.map +0 -1
- package/agent/dist/environments.d.ts +0 -59
- package/agent/dist/environments.d.ts.map +0 -1
- package/agent/dist/environments.js +0 -229
- package/agent/dist/environments.js.map +0 -1
- package/agent/dist/git.d.ts +0 -39
- package/agent/dist/git.d.ts.map +0 -1
- package/agent/dist/git.js +0 -436
- package/agent/dist/git.js.map +0 -1
- package/agent/dist/heartbeat-monitor.d.ts +0 -24
- package/agent/dist/heartbeat-monitor.d.ts.map +0 -1
- package/agent/dist/heartbeat-monitor.js +0 -105
- package/agent/dist/heartbeat-monitor.js.map +0 -1
- package/agent/dist/push/sender.d.ts +0 -26
- package/agent/dist/push/sender.d.ts.map +0 -1
- package/agent/dist/push/sender.js +0 -122
- package/agent/dist/push/sender.js.map +0 -1
- package/agent/dist/push/vapid.d.ts +0 -25
- package/agent/dist/push/vapid.d.ts.map +0 -1
- package/agent/dist/push/vapid.js +0 -81
- package/agent/dist/push/vapid.js.map +0 -1
- package/agent/dist/routes/editor.d.ts +0 -9
- package/agent/dist/routes/editor.d.ts.map +0 -1
- package/agent/dist/routes/editor.js +0 -63
- package/agent/dist/routes/editor.js.map +0 -1
- package/agent/dist/routes/environments.d.ts +0 -6
- package/agent/dist/routes/environments.d.ts.map +0 -1
- package/agent/dist/routes/environments.js +0 -94
- package/agent/dist/routes/environments.js.map +0 -1
- package/agent/dist/routes/files.d.ts +0 -6
- package/agent/dist/routes/files.d.ts.map +0 -1
- package/agent/dist/routes/files.js +0 -84
- package/agent/dist/routes/files.js.map +0 -1
- package/agent/dist/routes/heartbeat.d.ts +0 -10
- package/agent/dist/routes/heartbeat.d.ts.map +0 -1
- package/agent/dist/routes/heartbeat.js +0 -124
- package/agent/dist/routes/heartbeat.js.map +0 -1
- package/agent/dist/routes/notification.d.ts +0 -9
- package/agent/dist/routes/notification.d.ts.map +0 -1
- package/agent/dist/routes/notification.js +0 -172
- package/agent/dist/routes/notification.js.map +0 -1
- package/agent/dist/routes/push.d.ts +0 -7
- package/agent/dist/routes/push.d.ts.map +0 -1
- package/agent/dist/routes/push.js +0 -98
- package/agent/dist/routes/push.js.map +0 -1
- package/agent/dist/routes/stop.d.ts +0 -9
- package/agent/dist/routes/stop.d.ts.map +0 -1
- package/agent/dist/routes/stop.js +0 -121
- package/agent/dist/routes/stop.js.map +0 -1
- package/agent/dist/services/cleanup.d.ts +0 -45
- package/agent/dist/services/cleanup.d.ts.map +0 -1
- package/agent/dist/services/cleanup.js +0 -130
- package/agent/dist/services/cleanup.js.map +0 -1
- package/agent/dist/services/execution.d.ts +0 -53
- package/agent/dist/services/execution.d.ts.map +0 -1
- package/agent/dist/services/execution.js +0 -75
- package/agent/dist/services/execution.js.map +0 -1
- package/agent/dist/services/stream-json.d.ts +0 -109
- package/agent/dist/services/stream-json.d.ts.map +0 -1
- package/agent/dist/services/stream-json.js +0 -335
- package/agent/dist/services/stream-json.js.map +0 -1
- package/agent/dist/services/worktree.d.ts +0 -41
- package/agent/dist/services/worktree.d.ts.map +0 -1
- package/agent/dist/services/worktree.js +0 -139
- package/agent/dist/services/worktree.js.map +0 -1
- package/agent/dist/setup-statusline.d.ts +0 -10
- package/agent/dist/setup-statusline.d.ts.map +0 -1
- package/agent/dist/setup-statusline.js +0 -234
- package/agent/dist/setup-statusline.js.map +0 -1
package/agent/dist/config.d.ts
CHANGED
|
@@ -5,18 +5,15 @@ export interface AgentConfig {
|
|
|
5
5
|
};
|
|
6
6
|
agent?: {
|
|
7
7
|
port?: number;
|
|
8
|
+
url?: string;
|
|
8
9
|
};
|
|
9
10
|
projects: {
|
|
10
11
|
basePath: string;
|
|
11
12
|
whitelist: string[];
|
|
12
13
|
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
start: number;
|
|
17
|
-
end: number;
|
|
18
|
-
};
|
|
19
|
-
idleTimeout?: number;
|
|
14
|
+
dashboard?: {
|
|
15
|
+
apiUrl?: string;
|
|
16
|
+
apiKey?: string;
|
|
20
17
|
};
|
|
21
18
|
}
|
|
22
19
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAgBD;;;GAGG;AACH,wBAAgB,UAAU,IAAI,WAAW,CAsCxC;AAED,eAAO,MAAM,MAAM,aAAe,CAAC;AACnC,eAAe,MAAM,CAAC"}
|
package/agent/dist/config.js
CHANGED
|
@@ -48,8 +48,7 @@ export function loadConfig() {
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
throw new Error(`No configuration found at ${configPath}\n` +
|
|
52
|
-
`Run '247 init' to create configuration.`);
|
|
51
|
+
throw new Error(`No configuration found at ${configPath}\n` + `Run '247 init' to create configuration.`);
|
|
53
52
|
}
|
|
54
53
|
export const config = loadConfig();
|
|
55
54
|
export default config;
|
package/agent/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAqB/B,IAAI,YAAY,GAAuB,IAAI,CAAC;AAE5C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,MAAM,CAAC,CAAC;AAE5D;;GAEG;AACH,SAAS,aAAa,CAAC,WAAoB;IACzC,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,WAAW,OAAO,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,SAAS,CAAC;IAC/D,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAE9C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAClD,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;YAClD,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,YAAY,WAAW,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,iBAAiB,UAAU,EAAE,CAAC,CAAC;YAC1D,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,UAAU,GAAG,EAAE,GAAG,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;QACpC,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBACnD,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,YAAY,WAAW,+BAA+B,WAAW,EAAE,CAAC,CAAC;gBACjF,OAAO,YAAY,CAAC;YACtB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,WAAW,GAAG,EAAE,GAAG,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,6BAA6B,UAAU,IAAI,GAAG,yCAAyC,CACxF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;AACnC,eAAe,MAAM,CAAC"}
|
package/agent/dist/db/index.d.ts
CHANGED
|
@@ -20,18 +20,11 @@ export declare function initTestDatabase(): Database.Database;
|
|
|
20
20
|
* Close the database connection
|
|
21
21
|
*/
|
|
22
22
|
export declare function closeDatabase(): void;
|
|
23
|
-
/**
|
|
24
|
-
* Migrate environments from JSON file to database
|
|
25
|
-
* Only runs if environments.json exists and environments table is empty
|
|
26
|
-
*/
|
|
27
|
-
export declare function migrateEnvironmentsFromJson(database: Database.Database): boolean;
|
|
28
23
|
/**
|
|
29
24
|
* Get database statistics for debugging
|
|
30
25
|
*/
|
|
31
26
|
export declare function getDatabaseStats(): {
|
|
32
27
|
sessions: number;
|
|
33
|
-
history: number;
|
|
34
|
-
environments: number;
|
|
35
28
|
};
|
|
36
29
|
export { RETENTION_CONFIG };
|
|
37
30
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAGtC,OAAO,EAAqC,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAUlF;;GAEG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAAC,QAAQ,CAK/C;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAqB/D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,QAAQ,CAAC,QAAQ,CAIpD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAMpC;AAyJD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI;IAClC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAUA;AAGD,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
package/agent/dist/db/index.js
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import Database from 'better-sqlite3';
|
|
2
|
-
import { existsSync, mkdirSync
|
|
3
|
-
import {
|
|
4
|
-
import { fileURLToPath } from 'url';
|
|
2
|
+
import { existsSync, mkdirSync } from 'fs';
|
|
3
|
+
import { dirname, join, resolve } from 'path';
|
|
5
4
|
import { CREATE_TABLES_SQL, SCHEMA_VERSION, RETENTION_CONFIG } from './schema.js';
|
|
6
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
7
|
-
const __dirname = dirname(__filename);
|
|
8
5
|
// Database file location: ~/.247/data/agent.db
|
|
9
6
|
const DATA_DIR = resolve(process.env.HOME || '~', '.247', 'data');
|
|
10
7
|
const DB_PATH = join(DATA_DIR, 'agent.db');
|
|
@@ -68,35 +65,15 @@ function runMigrations(database) {
|
|
|
68
65
|
const currentVersion = getCurrentSchemaVersion(database);
|
|
69
66
|
if (currentVersion < SCHEMA_VERSION) {
|
|
70
67
|
console.log(`[DB] Running migrations from v${currentVersion} to v${SCHEMA_VERSION}`);
|
|
71
|
-
//
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
if (currentVersion < 4) {
|
|
81
|
-
migrateToV4(database);
|
|
82
|
-
}
|
|
83
|
-
if (currentVersion < 5) {
|
|
84
|
-
migrateToV5(database);
|
|
85
|
-
}
|
|
86
|
-
if (currentVersion < 6) {
|
|
87
|
-
migrateToV6(database);
|
|
88
|
-
}
|
|
89
|
-
if (currentVersion < 7) {
|
|
90
|
-
migrateToV7(database);
|
|
91
|
-
}
|
|
92
|
-
if (currentVersion < 8) {
|
|
93
|
-
migrateToV8(database);
|
|
94
|
-
}
|
|
95
|
-
if (currentVersion < 9) {
|
|
96
|
-
migrateToV9(database);
|
|
97
|
-
}
|
|
98
|
-
if (currentVersion < 10) {
|
|
99
|
-
migrateToV10(database);
|
|
68
|
+
// For fresh databases or v15+, just run the simplified schema
|
|
69
|
+
if (currentVersion === 0) {
|
|
70
|
+
database.exec(CREATE_TABLES_SQL);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
// For existing databases, run the v15 migration to simplify
|
|
74
|
+
if (currentVersion < 15) {
|
|
75
|
+
migrateToV15(database);
|
|
76
|
+
}
|
|
100
77
|
}
|
|
101
78
|
// Record the new version
|
|
102
79
|
database
|
|
@@ -110,264 +87,73 @@ function runMigrations(database) {
|
|
|
110
87
|
else {
|
|
111
88
|
console.log(`[DB] Database schema is up to date (v${currentVersion})`);
|
|
112
89
|
}
|
|
113
|
-
// Always ensure required columns exist (handles incomplete migrations)
|
|
114
|
-
ensureRequiredColumns(database);
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Ensure all required columns exist (handles incomplete migrations)
|
|
118
|
-
*/
|
|
119
|
-
function ensureRequiredColumns(database) {
|
|
120
|
-
// Check environments.icon column
|
|
121
|
-
const envColumns = database.pragma('table_info(environments)');
|
|
122
|
-
if (!envColumns.some((c) => c.name === 'icon')) {
|
|
123
|
-
console.log('[DB] Adding missing icon column to environments');
|
|
124
|
-
database.exec('ALTER TABLE environments ADD COLUMN icon TEXT');
|
|
125
|
-
}
|
|
126
|
-
// Check sessions columns
|
|
127
|
-
const sessionColumns = database.pragma('table_info(sessions)');
|
|
128
|
-
const sessionColumnNames = new Set(sessionColumns.map((c) => c.name));
|
|
129
|
-
// v3: archived_at
|
|
130
|
-
if (!sessionColumnNames.has('archived_at')) {
|
|
131
|
-
console.log('[DB] Adding missing archived_at column to sessions');
|
|
132
|
-
database.exec('ALTER TABLE sessions ADD COLUMN archived_at INTEGER');
|
|
133
|
-
}
|
|
134
|
-
// v4: StatusLine metrics
|
|
135
|
-
const metricsColumns = [
|
|
136
|
-
{ name: 'model', sql: 'ALTER TABLE sessions ADD COLUMN model TEXT' },
|
|
137
|
-
{ name: 'cost_usd', sql: 'ALTER TABLE sessions ADD COLUMN cost_usd REAL' },
|
|
138
|
-
{ name: 'context_usage', sql: 'ALTER TABLE sessions ADD COLUMN context_usage INTEGER' },
|
|
139
|
-
{ name: 'lines_added', sql: 'ALTER TABLE sessions ADD COLUMN lines_added INTEGER' },
|
|
140
|
-
{ name: 'lines_removed', sql: 'ALTER TABLE sessions ADD COLUMN lines_removed INTEGER' },
|
|
141
|
-
];
|
|
142
|
-
for (const col of metricsColumns) {
|
|
143
|
-
if (!sessionColumnNames.has(col.name)) {
|
|
144
|
-
console.log(`[DB] Adding missing ${col.name} column to sessions`);
|
|
145
|
-
database.exec(col.sql);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
// v5: Ralph mode columns
|
|
149
|
-
const ralphColumns = [
|
|
150
|
-
{
|
|
151
|
-
name: 'ralph_enabled',
|
|
152
|
-
sql: 'ALTER TABLE sessions ADD COLUMN ralph_enabled INTEGER DEFAULT 0',
|
|
153
|
-
},
|
|
154
|
-
{ name: 'ralph_config', sql: 'ALTER TABLE sessions ADD COLUMN ralph_config TEXT' },
|
|
155
|
-
{
|
|
156
|
-
name: 'ralph_iteration',
|
|
157
|
-
sql: 'ALTER TABLE sessions ADD COLUMN ralph_iteration INTEGER DEFAULT 0',
|
|
158
|
-
},
|
|
159
|
-
{ name: 'ralph_status', sql: 'ALTER TABLE sessions ADD COLUMN ralph_status TEXT' },
|
|
160
|
-
];
|
|
161
|
-
for (const col of ralphColumns) {
|
|
162
|
-
if (!sessionColumnNames.has(col.name)) {
|
|
163
|
-
console.log(`[DB] Adding missing ${col.name} column to sessions`);
|
|
164
|
-
database.exec(col.sql);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
// v6: Worktree isolation columns
|
|
168
|
-
const worktreeColumns = [
|
|
169
|
-
{ name: 'worktree_path', sql: 'ALTER TABLE sessions ADD COLUMN worktree_path TEXT' },
|
|
170
|
-
{ name: 'branch_name', sql: 'ALTER TABLE sessions ADD COLUMN branch_name TEXT' },
|
|
171
|
-
];
|
|
172
|
-
for (const col of worktreeColumns) {
|
|
173
|
-
if (!sessionColumnNames.has(col.name)) {
|
|
174
|
-
console.log(`[DB] Adding missing ${col.name} column to sessions`);
|
|
175
|
-
database.exec(col.sql);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
// v9: Spawn/orchestration columns
|
|
179
|
-
const spawnColumns = [
|
|
180
|
-
{ name: 'spawn_prompt', sql: 'ALTER TABLE sessions ADD COLUMN spawn_prompt TEXT' },
|
|
181
|
-
{ name: 'parent_session', sql: 'ALTER TABLE sessions ADD COLUMN parent_session TEXT' },
|
|
182
|
-
{ name: 'task_id', sql: 'ALTER TABLE sessions ADD COLUMN task_id TEXT' },
|
|
183
|
-
{ name: 'exit_code', sql: 'ALTER TABLE sessions ADD COLUMN exit_code INTEGER' },
|
|
184
|
-
{ name: 'exited_at', sql: 'ALTER TABLE sessions ADD COLUMN exited_at INTEGER' },
|
|
185
|
-
];
|
|
186
|
-
for (const col of spawnColumns) {
|
|
187
|
-
if (!sessionColumnNames.has(col.name)) {
|
|
188
|
-
console.log(`[DB] Adding missing ${col.name} column to sessions`);
|
|
189
|
-
database.exec(col.sql);
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
// v10: Output capture columns
|
|
193
|
-
const outputColumns = [
|
|
194
|
-
{ name: 'output_content', sql: 'ALTER TABLE sessions ADD COLUMN output_content TEXT' },
|
|
195
|
-
{
|
|
196
|
-
name: 'output_captured_at',
|
|
197
|
-
sql: 'ALTER TABLE sessions ADD COLUMN output_captured_at INTEGER',
|
|
198
|
-
},
|
|
199
|
-
];
|
|
200
|
-
for (const col of outputColumns) {
|
|
201
|
-
if (!sessionColumnNames.has(col.name)) {
|
|
202
|
-
console.log(`[DB] Adding missing ${col.name} column to sessions`);
|
|
203
|
-
database.exec(col.sql);
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
/**
|
|
208
|
-
* Migration to v2: Add icon column to environments table
|
|
209
|
-
*/
|
|
210
|
-
function migrateToV2(database) {
|
|
211
|
-
// Check if icon column already exists
|
|
212
|
-
const columns = database.pragma('table_info(environments)');
|
|
213
|
-
const hasIcon = columns.some((c) => c.name === 'icon');
|
|
214
|
-
if (!hasIcon) {
|
|
215
|
-
console.log('[DB] v2 migration: Adding icon column to environments');
|
|
216
|
-
database.exec('ALTER TABLE environments ADD COLUMN icon TEXT');
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
/**
|
|
220
|
-
* Migration to v3: Add archived_at column to sessions table
|
|
221
|
-
*/
|
|
222
|
-
function migrateToV3(database) {
|
|
223
|
-
// Check if archived_at column already exists
|
|
224
|
-
const columns = database.pragma('table_info(sessions)');
|
|
225
|
-
const hasArchivedAt = columns.some((c) => c.name === 'archived_at');
|
|
226
|
-
if (!hasArchivedAt) {
|
|
227
|
-
console.log('[DB] v3 migration: Adding archived_at column to sessions');
|
|
228
|
-
database.exec('ALTER TABLE sessions ADD COLUMN archived_at INTEGER');
|
|
229
|
-
}
|
|
230
90
|
}
|
|
231
91
|
/**
|
|
232
|
-
* Migration to
|
|
92
|
+
* Migration to v15: Simplification - remove unused columns and tables
|
|
93
|
+
* SQLite doesn't support dropping columns easily, so we recreate the sessions table
|
|
233
94
|
*/
|
|
234
|
-
function
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
const
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
];
|
|
244
|
-
for (const col of metricsColumns) {
|
|
245
|
-
if (!columnNames.has(col.name)) {
|
|
246
|
-
console.log(`[DB] v4 migration: Adding ${col.name} column to sessions`);
|
|
247
|
-
database.exec(col.sql);
|
|
248
|
-
}
|
|
95
|
+
function migrateToV15(database) {
|
|
96
|
+
console.log('[DB] v15 migration: Simplifying schema');
|
|
97
|
+
// Drop status_history table if it exists
|
|
98
|
+
const historyTableExists = database
|
|
99
|
+
.prepare(`SELECT name FROM sqlite_master WHERE type='table' AND name='status_history'`)
|
|
100
|
+
.get();
|
|
101
|
+
if (historyTableExists) {
|
|
102
|
+
console.log('[DB] v15 migration: Dropping status_history table');
|
|
103
|
+
database.exec('DROP TABLE IF EXISTS status_history');
|
|
249
104
|
}
|
|
250
|
-
|
|
251
|
-
/**
|
|
252
|
-
* Migration to v5: Add Ralph mode columns to sessions table
|
|
253
|
-
*/
|
|
254
|
-
function migrateToV5(database) {
|
|
105
|
+
// Check if sessions table has the old columns we want to remove
|
|
255
106
|
const columns = database.pragma('table_info(sessions)');
|
|
256
107
|
const columnNames = new Set(columns.map((c) => c.name));
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
sql: 'ALTER TABLE sessions ADD COLUMN ralph_iteration INTEGER DEFAULT 0',
|
|
266
|
-
},
|
|
267
|
-
{ name: 'ralph_status', sql: 'ALTER TABLE sessions ADD COLUMN ralph_status TEXT' },
|
|
268
|
-
];
|
|
269
|
-
for (const col of ralphColumns) {
|
|
270
|
-
if (!columnNames.has(col.name)) {
|
|
271
|
-
console.log(`[DB] v5 migration: Adding ${col.name} column to sessions`);
|
|
272
|
-
database.exec(col.sql);
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
/**
|
|
277
|
-
* Migration to v6: Add worktree isolation columns to sessions table
|
|
278
|
-
*/
|
|
279
|
-
function migrateToV6(database) {
|
|
280
|
-
const columns = database.pragma('table_info(sessions)');
|
|
281
|
-
const columnNames = new Set(columns.map((c) => c.name));
|
|
282
|
-
const worktreeColumns = [
|
|
283
|
-
{ name: 'worktree_path', sql: 'ALTER TABLE sessions ADD COLUMN worktree_path TEXT' },
|
|
284
|
-
{ name: 'branch_name', sql: 'ALTER TABLE sessions ADD COLUMN branch_name TEXT' },
|
|
285
|
-
];
|
|
286
|
-
for (const col of worktreeColumns) {
|
|
287
|
-
if (!columnNames.has(col.name)) {
|
|
288
|
-
console.log(`[DB] v6 migration: Adding ${col.name} column to sessions`);
|
|
289
|
-
database.exec(col.sql);
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
/**
|
|
294
|
-
* Migration to v7: No-op (projects/issues tables removed)
|
|
295
|
-
*/
|
|
296
|
-
function migrateToV7(_database) {
|
|
297
|
-
// Previously created projects and issues tables, but this feature has been removed
|
|
298
|
-
console.log('[DB] v7 migration: No-op (projects/issues feature removed)');
|
|
299
|
-
}
|
|
300
|
-
/**
|
|
301
|
-
* Migration to v8: Add push_subscriptions table for Web Push notifications
|
|
302
|
-
*/
|
|
303
|
-
function migrateToV8(database) {
|
|
304
|
-
// Check if table already exists
|
|
305
|
-
const tableExists = database
|
|
306
|
-
.prepare(`SELECT name FROM sqlite_master WHERE type='table' AND name='push_subscriptions'`)
|
|
307
|
-
.get();
|
|
308
|
-
if (!tableExists) {
|
|
309
|
-
console.log('[DB] v8 migration: Creating push_subscriptions table');
|
|
108
|
+
// If we have old columns like model, cost_usd, worktree_path, etc., recreate the table
|
|
109
|
+
const hasOldColumns = columnNames.has('model') ||
|
|
110
|
+
columnNames.has('cost_usd') ||
|
|
111
|
+
columnNames.has('worktree_path') ||
|
|
112
|
+
columnNames.has('spawn_prompt');
|
|
113
|
+
if (hasOldColumns) {
|
|
114
|
+
console.log('[DB] v15 migration: Recreating sessions table with simplified schema');
|
|
115
|
+
// Create new simplified sessions table
|
|
310
116
|
database.exec(`
|
|
311
|
-
CREATE TABLE
|
|
117
|
+
CREATE TABLE IF NOT EXISTS sessions_new (
|
|
312
118
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
119
|
+
name TEXT NOT NULL UNIQUE,
|
|
120
|
+
project TEXT NOT NULL,
|
|
121
|
+
status TEXT NOT NULL DEFAULT 'init',
|
|
122
|
+
attention_reason TEXT,
|
|
123
|
+
last_event TEXT,
|
|
124
|
+
last_activity INTEGER NOT NULL,
|
|
125
|
+
last_status_change INTEGER NOT NULL,
|
|
126
|
+
archived_at INTEGER,
|
|
127
|
+
created_at INTEGER NOT NULL,
|
|
128
|
+
updated_at INTEGER NOT NULL
|
|
318
129
|
);
|
|
319
|
-
CREATE INDEX idx_push_endpoint ON push_subscriptions(endpoint);
|
|
320
130
|
`);
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
}
|
|
348
|
-
catch {
|
|
349
|
-
// Indexes might already exist
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
/**
|
|
353
|
-
* Migration to v10: Add output capture columns to sessions table
|
|
354
|
-
*/
|
|
355
|
-
function migrateToV10(database) {
|
|
356
|
-
const columns = database.pragma('table_info(sessions)');
|
|
357
|
-
const columnNames = new Set(columns.map((c) => c.name));
|
|
358
|
-
const outputColumns = [
|
|
359
|
-
{ name: 'output_content', sql: 'ALTER TABLE sessions ADD COLUMN output_content TEXT' },
|
|
360
|
-
{
|
|
361
|
-
name: 'output_captured_at',
|
|
362
|
-
sql: 'ALTER TABLE sessions ADD COLUMN output_captured_at INTEGER',
|
|
363
|
-
},
|
|
364
|
-
];
|
|
365
|
-
for (const col of outputColumns) {
|
|
366
|
-
if (!columnNames.has(col.name)) {
|
|
367
|
-
console.log(`[DB] v10 migration: Adding ${col.name} column to sessions`);
|
|
368
|
-
database.exec(col.sql);
|
|
369
|
-
}
|
|
370
|
-
}
|
|
131
|
+
// Copy data from old table to new table (only the columns we're keeping)
|
|
132
|
+
database.exec(`
|
|
133
|
+
INSERT INTO sessions_new (name, project, status, attention_reason, last_event,
|
|
134
|
+
last_activity, last_status_change, archived_at, created_at, updated_at)
|
|
135
|
+
SELECT name, project, status, attention_reason, last_event,
|
|
136
|
+
last_activity, last_status_change, archived_at, created_at, updated_at
|
|
137
|
+
FROM sessions;
|
|
138
|
+
`);
|
|
139
|
+
// Drop old table and rename new one
|
|
140
|
+
database.exec('DROP TABLE sessions');
|
|
141
|
+
database.exec('ALTER TABLE sessions_new RENAME TO sessions');
|
|
142
|
+
// Recreate indexes
|
|
143
|
+
database.exec('CREATE INDEX IF NOT EXISTS idx_sessions_name ON sessions(name)');
|
|
144
|
+
database.exec('CREATE INDEX IF NOT EXISTS idx_sessions_project ON sessions(project)');
|
|
145
|
+
database.exec('CREATE INDEX IF NOT EXISTS idx_sessions_status ON sessions(status)');
|
|
146
|
+
database.exec('CREATE INDEX IF NOT EXISTS idx_sessions_last_activity ON sessions(last_activity)');
|
|
147
|
+
console.log('[DB] v15 migration: Sessions table simplified');
|
|
148
|
+
}
|
|
149
|
+
// Ensure schema_version table exists
|
|
150
|
+
database.exec(`
|
|
151
|
+
CREATE TABLE IF NOT EXISTS schema_version (
|
|
152
|
+
version INTEGER PRIMARY KEY,
|
|
153
|
+
applied_at INTEGER NOT NULL
|
|
154
|
+
);
|
|
155
|
+
`);
|
|
156
|
+
console.log('[DB] v15 migration: Simplification complete');
|
|
371
157
|
}
|
|
372
158
|
/**
|
|
373
159
|
* Get current schema version
|
|
@@ -395,65 +181,14 @@ function getCurrentSchemaVersion(database) {
|
|
|
395
181
|
return 0;
|
|
396
182
|
}
|
|
397
183
|
}
|
|
398
|
-
/**
|
|
399
|
-
* Migrate environments from JSON file to database
|
|
400
|
-
* Only runs if environments.json exists and environments table is empty
|
|
401
|
-
*/
|
|
402
|
-
export function migrateEnvironmentsFromJson(database) {
|
|
403
|
-
const ENVIRONMENTS_FILE = join(__dirname, '..', '..', 'environments.json');
|
|
404
|
-
// Check if JSON file exists
|
|
405
|
-
if (!existsSync(ENVIRONMENTS_FILE)) {
|
|
406
|
-
console.log('[DB] No environments.json found, skipping migration');
|
|
407
|
-
return false;
|
|
408
|
-
}
|
|
409
|
-
// Check if environments table is empty
|
|
410
|
-
const count = database.prepare('SELECT COUNT(*) as count FROM environments').get();
|
|
411
|
-
if (count.count > 0) {
|
|
412
|
-
console.log('[DB] Environments table already has data, skipping migration');
|
|
413
|
-
return false;
|
|
414
|
-
}
|
|
415
|
-
try {
|
|
416
|
-
console.log('[DB] Migrating environments from JSON...');
|
|
417
|
-
const data = readFileSync(ENVIRONMENTS_FILE, 'utf-8');
|
|
418
|
-
const environments = JSON.parse(data);
|
|
419
|
-
const insert = database.prepare(`
|
|
420
|
-
INSERT INTO environments (id, name, provider, is_default, variables, created_at, updated_at)
|
|
421
|
-
VALUES (@id, @name, @provider, @isDefault, @variables, @createdAt, @updatedAt)
|
|
422
|
-
`);
|
|
423
|
-
const insertMany = database.transaction((envs) => {
|
|
424
|
-
for (const env of envs) {
|
|
425
|
-
insert.run({
|
|
426
|
-
id: env.id,
|
|
427
|
-
name: env.name,
|
|
428
|
-
provider: env.provider,
|
|
429
|
-
isDefault: env.isDefault ? 1 : 0,
|
|
430
|
-
variables: JSON.stringify(env.variables),
|
|
431
|
-
createdAt: env.createdAt,
|
|
432
|
-
updatedAt: env.updatedAt,
|
|
433
|
-
});
|
|
434
|
-
}
|
|
435
|
-
});
|
|
436
|
-
insertMany(environments);
|
|
437
|
-
console.log(`[DB] Migrated ${environments.length} environments from JSON`);
|
|
438
|
-
return true;
|
|
439
|
-
}
|
|
440
|
-
catch (err) {
|
|
441
|
-
console.error('[DB] Failed to migrate environments from JSON:', err);
|
|
442
|
-
return false;
|
|
443
|
-
}
|
|
444
|
-
}
|
|
445
184
|
/**
|
|
446
185
|
* Get database statistics for debugging
|
|
447
186
|
*/
|
|
448
187
|
export function getDatabaseStats() {
|
|
449
188
|
const database = getDatabase();
|
|
450
189
|
const sessions = database.prepare('SELECT COUNT(*) as count FROM sessions').get();
|
|
451
|
-
const history = database.prepare('SELECT COUNT(*) as count FROM status_history').get();
|
|
452
|
-
const environments = database.prepare('SELECT COUNT(*) as count FROM environments').get();
|
|
453
190
|
return {
|
|
454
191
|
sessions: sessions.count,
|
|
455
|
-
history: history.count,
|
|
456
|
-
environments: environments.count,
|
|
457
192
|
};
|
|
458
193
|
}
|
|
459
194
|
// Export retention config for use in cleanup
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGlF,+CAA+C;AAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAClE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAE3C,8BAA8B;AAC9B,IAAI,EAAE,GAA6B,IAAI,CAAC;AAExC;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,MAAe;IAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,OAAO,CAAC;IAE/B,4CAA4C;IAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC;QACxD,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,2CAA2C;IAC3C,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;IAC9C,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAExB,oDAAoD;IACpD,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAEhC,iBAAiB;IACjB,aAAa,CAAC,EAAE,CAAC,CAAC;IAElB,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,EAAE,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC9B,aAAa,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,IAAI,EAAE,EAAE,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,EAAE,GAAG,IAAI,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,QAA2B;IAChD,MAAM,cAAc,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAEzD,IAAI,cAAc,GAAG,cAAc,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,iCAAiC,cAAc,QAAQ,cAAc,EAAE,CAAC,CAAC;QAErF,8DAA8D;QAC9D,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,4DAA4D;YAC5D,IAAI,cAAc,GAAG,EAAE,EAAE,CAAC;gBACxB,YAAY,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,QAAQ;aACL,OAAO,CACN;;;KAGH,CACE;aACA,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAEnC,OAAO,CAAC,GAAG,CAAC,qCAAqC,cAAc,EAAE,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,wCAAwC,cAAc,GAAG,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,QAA2B;IAC/C,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAEtD,yCAAyC;IACzC,MAAM,kBAAkB,GAAG,QAAQ;SAChC,OAAO,CAAC,6EAA6E,CAAC;SACtF,GAAG,EAAE,CAAC;IAET,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACjE,QAAQ,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IACvD,CAAC;IAED,gEAAgE;IAChE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,sBAAsB,CAA4B,CAAC;IACnF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAExD,uFAAuF;IACvF,MAAM,aAAa,GACjB,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;QACxB,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC;QAC3B,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC;QAChC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAElC,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;QAEpF,uCAAuC;QACvC,QAAQ,CAAC,IAAI,CAAC;;;;;;;;;;;;;;KAcb,CAAC,CAAC;QAEH,yEAAyE;QACzE,QAAQ,CAAC,IAAI,CAAC;;;;;;KAMb,CAAC,CAAC;QAEH,oCAAoC;QACpC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAE7D,mBAAmB;QACnB,QAAQ,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;QAChF,QAAQ,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;QACtF,QAAQ,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;QACpF,QAAQ,CAAC,IAAI,CACX,kFAAkF,CACnF,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC/D,CAAC;IAED,qCAAqC;IACrC,QAAQ,CAAC,IAAI,CAAC;;;;;GAKb,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,QAA2B;IAC1D,IAAI,CAAC;QACH,uCAAuC;QACvC,MAAM,WAAW,GAAG,QAAQ;aACzB,OAAO,CACN;;;KAGH,CACE;aACA,GAAG,EAAE,CAAC;QAET,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,GAAG,GAAG,QAAQ;aACjB,OAAO,CACN;;KAEH,CACE;aACA,GAAG,EAAiC,CAAC;QAExC,OAAO,GAAG,EAAE,OAAO,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAG9B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,GAAG,EAE9E,CAAC;IAEF,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,KAAK;KACzB,CAAC;AACJ,CAAC;AAED,6CAA6C;AAC7C,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|