@foothill/agent-move 1.0.10 → 1.0.12
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/.github/screenshot.png +0 -0
- package/package.json +1 -1
- package/packages/client/dist/assets/{BufferResource-Dfd5uHKt.js → BufferResource-Dhljy8H8.js} +1 -1
- package/packages/client/dist/assets/{CanvasRenderer-7Cv6xZVP.js → CanvasRenderer-Bpr11iOT.js} +1 -1
- package/packages/client/dist/assets/{Filter-CBX7EB7j.js → Filter-DL2yN3-o.js} +1 -1
- package/packages/client/dist/assets/{RenderTargetSystem-ko-v73NG.js → RenderTargetSystem-BTwylEdr.js} +1 -1
- package/packages/client/dist/assets/{WebGLRenderer-vhPQEPUG.js → WebGLRenderer-wH1P7d1x.js} +1 -1
- package/packages/client/dist/assets/{WebGPURenderer-Dwywvwqe.js → WebGPURenderer-C7n8jUXC.js} +1 -1
- package/packages/client/dist/assets/{browserAll-QyCAT8_K.js → browserAll-CgAMpWnT.js} +1 -1
- package/packages/client/dist/assets/index-DG7HqEmM.js +1338 -0
- package/packages/client/dist/assets/index-Nz5TZeB1.css +1 -0
- package/packages/client/dist/assets/{webworkerAll-hM-gNP7L.js → webworkerAll-wrP2P1GC.js} +1 -1
- package/packages/client/dist/index.html +16 -2
- package/packages/server/dist/index.d.ts.map +1 -1
- package/packages/server/dist/index.js +954 -31
- package/packages/server/dist/index.js.map +1 -1
- package/packages/server/dist/routes/sessions-api.d.ts +5 -0
- package/packages/server/dist/routes/sessions-api.d.ts.map +1 -0
- package/packages/server/dist/routes/sessions-api.js +88 -0
- package/packages/server/dist/routes/sessions-api.js.map +1 -0
- package/packages/server/dist/state/activity-processor.d.ts.map +1 -1
- package/packages/server/dist/state/activity-processor.js +0 -2
- package/packages/server/dist/state/activity-processor.js.map +1 -1
- package/packages/server/dist/state/agent-state-manager.d.ts.map +1 -1
- package/packages/server/dist/state/agent-state-manager.js +3 -5
- package/packages/server/dist/state/agent-state-manager.js.map +1 -1
- package/packages/server/dist/state/identity-manager.d.ts.map +1 -1
- package/packages/server/dist/state/identity-manager.js +0 -3
- package/packages/server/dist/state/identity-manager.js.map +1 -1
- package/packages/server/dist/storage/session-recorder.d.ts +38 -0
- package/packages/server/dist/storage/session-recorder.d.ts.map +1 -0
- package/packages/server/dist/storage/session-recorder.js +941 -0
- package/packages/server/dist/storage/session-recorder.js.map +1 -0
- package/packages/server/dist/storage/session-store.d.ts +60 -0
- package/packages/server/dist/storage/session-store.d.ts.map +1 -0
- package/packages/server/dist/storage/session-store.js +330 -0
- package/packages/server/dist/storage/session-store.js.map +1 -0
- package/packages/server/dist/watcher/opencode/opencode-watcher.d.ts +15 -0
- package/packages/server/dist/watcher/opencode/opencode-watcher.d.ts.map +1 -1
- package/packages/server/dist/watcher/opencode/opencode-watcher.js +61 -4
- package/packages/server/dist/watcher/opencode/opencode-watcher.js.map +1 -1
- package/packages/server/dist/ws/broadcaster.d.ts.map +1 -1
- package/packages/server/dist/ws/broadcaster.js +3 -18
- package/packages/server/dist/ws/broadcaster.js.map +1 -1
- package/packages/shared/dist/constants/tools.d.ts +4 -0
- package/packages/shared/dist/constants/tools.d.ts.map +1 -1
- package/packages/shared/dist/constants/tools.js +4 -0
- package/packages/shared/dist/constants/tools.js.map +1 -1
- package/packages/shared/dist/index.d.ts +2 -1
- package/packages/shared/dist/index.d.ts.map +1 -1
- package/packages/shared/dist/index.js +1 -1
- package/packages/shared/dist/index.js.map +1 -1
- package/packages/shared/dist/types/session-record.d.ts +87 -0
- package/packages/shared/dist/types/session-record.d.ts.map +1 -0
- package/packages/shared/dist/types/session-record.js +2 -0
- package/packages/shared/dist/types/session-record.js.map +1 -0
- package/packages/shared/dist/types/websocket.d.ts +3 -0
- package/packages/shared/dist/types/websocket.d.ts.map +1 -1
- package/packages/client/dist/assets/index-BPJtz4FL.js +0 -722
- package/packages/client/dist/assets/index-CMmR_RuS.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-recorder.js","sourceRoot":"","sources":["../../src/storage/session-recorder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { RecordedSession, RecordedTimelineEvent, SessionSummary, LiveSessionSummary } from '@agent-move/shared';
|
|
2
|
+
export declare class SessionStore {
|
|
3
|
+
private db;
|
|
4
|
+
constructor(dbPath?: string);
|
|
5
|
+
private initSchema;
|
|
6
|
+
/** Save a complete recorded session with its timeline */
|
|
7
|
+
saveSession(session: RecordedSession, timeline: RecordedTimelineEvent[]): void;
|
|
8
|
+
/** List sessions with optional filtering */
|
|
9
|
+
listSessions(opts?: {
|
|
10
|
+
project?: string;
|
|
11
|
+
limit?: number;
|
|
12
|
+
offset?: number;
|
|
13
|
+
}): SessionSummary[];
|
|
14
|
+
/** Get a full session by ID (without timeline) */
|
|
15
|
+
getSession(id: string): RecordedSession | null;
|
|
16
|
+
/** Get timeline events for a session */
|
|
17
|
+
getTimeline(sessionId: string, opts?: {
|
|
18
|
+
limit?: number;
|
|
19
|
+
offset?: number;
|
|
20
|
+
}): RecordedTimelineEvent[];
|
|
21
|
+
/** Delete a session and its timeline */
|
|
22
|
+
deleteSession(id: string): boolean;
|
|
23
|
+
/** Update session label */
|
|
24
|
+
updateLabel(id: string, label: string | null): boolean;
|
|
25
|
+
/** Update session tags */
|
|
26
|
+
updateTags(id: string, tags: string[]): boolean;
|
|
27
|
+
/** Get total session count (for pagination) */
|
|
28
|
+
getSessionCount(project?: string): number;
|
|
29
|
+
/** Create or update a live session entry */
|
|
30
|
+
upsertLiveSession(rootSessionId: string, data: {
|
|
31
|
+
sessionId: string;
|
|
32
|
+
source: 'claude' | 'opencode';
|
|
33
|
+
projectName: string;
|
|
34
|
+
projectPath: string;
|
|
35
|
+
startedAt: number;
|
|
36
|
+
}): void;
|
|
37
|
+
/** Update the agent snapshot for a live session */
|
|
38
|
+
updateLiveAgents(rootSessionId: string, agentsJson: string): void;
|
|
39
|
+
/** Append a timeline event to the live buffer */
|
|
40
|
+
appendLiveTimelineEvent(rootSessionId: string, evt: RecordedTimelineEvent): void;
|
|
41
|
+
/** Get all live timeline events for a root session */
|
|
42
|
+
getLiveTimeline(rootSessionId: string): RecordedTimelineEvent[];
|
|
43
|
+
/** Remove live session data after finalization (atomic to prevent orphans on crash) */
|
|
44
|
+
removeLiveSession(rootSessionId: string): void;
|
|
45
|
+
/** List currently active (in-progress) live sessions */
|
|
46
|
+
listLiveSessions(): LiveSessionSummary[];
|
|
47
|
+
/** Get all orphaned live sessions (for crash recovery on startup) */
|
|
48
|
+
getOrphanedLiveSessions(): Array<{
|
|
49
|
+
rootSessionId: string;
|
|
50
|
+
sessionId: string;
|
|
51
|
+
source: 'claude' | 'opencode';
|
|
52
|
+
projectName: string;
|
|
53
|
+
projectPath: string;
|
|
54
|
+
startedAt: number;
|
|
55
|
+
lastActivityAt: number;
|
|
56
|
+
agentsJson: string;
|
|
57
|
+
}>;
|
|
58
|
+
close(): void;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=session-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/storage/session-store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EAEf,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAEnB,MAAM,oBAAoB,CAAC;AAO5B,qBAAa,YAAY;IACvB,OAAO,CAAC,EAAE,CAAoB;gBAElB,MAAM,CAAC,EAAE,MAAM;IAQ3B,OAAO,CAAC,UAAU;IAuFlB,yDAAyD;IACzD,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,qBAAqB,EAAE,GAAG,IAAI;IAmE9E,4CAA4C;IAC5C,YAAY,CAAC,IAAI,CAAC,EAAE;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,cAAc,EAAE;IAwCpB,kDAAkD;IAClD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAsC9C,wCAAwC;IACxC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,qBAAqB,EAAE;IA8BnG,wCAAwC;IACxC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAUlC,2BAA2B;IAC3B,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAKtD,0BAA0B;IAC1B,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO;IAK/C,+CAA+C;IAC/C,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IAWzC,4CAA4C;IAC5C,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE;QAC7C,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAC;QAC9B,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI;IAaR,mDAAmD;IACnD,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAMjE,iDAAiD;IACjD,uBAAuB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,GAAG,IAAI;IAkBhF,sDAAsD;IACtD,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,qBAAqB,EAAE;IAuB/D,uFAAuF;IACvF,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAO9C,wDAAwD;IACxD,gBAAgB,IAAI,kBAAkB,EAAE;IAuBxC,qEAAqE;IACrE,uBAAuB,IAAI,KAAK,CAAC;QAC/B,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAC;QAC9B,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IAiBF,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
// dist/storage/session-store.js
|
|
2
|
+
import { mkdirSync } from "fs";
|
|
3
|
+
import { join } from "path";
|
|
4
|
+
import { homedir } from "os";
|
|
5
|
+
import Database from "better-sqlite3";
|
|
6
|
+
var DB_DIR = join(homedir(), ".agent-move");
|
|
7
|
+
var DB_PATH = join(DB_DIR, "sessions.db");
|
|
8
|
+
var SCHEMA_VERSION = 2;
|
|
9
|
+
var SessionStore = class {
|
|
10
|
+
db;
|
|
11
|
+
constructor(dbPath) {
|
|
12
|
+
mkdirSync(DB_DIR, { recursive: true });
|
|
13
|
+
this.db = new Database(dbPath ?? DB_PATH);
|
|
14
|
+
this.db.pragma("journal_mode = WAL");
|
|
15
|
+
this.db.pragma("busy_timeout = 5000");
|
|
16
|
+
this.initSchema();
|
|
17
|
+
}
|
|
18
|
+
initSchema() {
|
|
19
|
+
this.db.exec(`CREATE TABLE IF NOT EXISTS schema_version (version INTEGER NOT NULL)`);
|
|
20
|
+
const row = this.db.prepare("SELECT version FROM schema_version").get();
|
|
21
|
+
const currentVersion = row?.version ?? 0;
|
|
22
|
+
if (currentVersion < SCHEMA_VERSION) {
|
|
23
|
+
this.db.exec(`
|
|
24
|
+
CREATE TABLE IF NOT EXISTS sessions (
|
|
25
|
+
id TEXT PRIMARY KEY,
|
|
26
|
+
source TEXT NOT NULL,
|
|
27
|
+
root_session_id TEXT NOT NULL,
|
|
28
|
+
project_name TEXT NOT NULL,
|
|
29
|
+
project_path TEXT NOT NULL,
|
|
30
|
+
started_at INTEGER NOT NULL,
|
|
31
|
+
ended_at INTEGER NOT NULL,
|
|
32
|
+
duration_ms INTEGER NOT NULL,
|
|
33
|
+
total_cost REAL NOT NULL DEFAULT 0,
|
|
34
|
+
total_input_tokens INTEGER NOT NULL DEFAULT 0,
|
|
35
|
+
total_output_tokens INTEGER NOT NULL DEFAULT 0,
|
|
36
|
+
total_cache_read_tokens INTEGER NOT NULL DEFAULT 0,
|
|
37
|
+
total_cache_creation_tokens INTEGER NOT NULL DEFAULT 0,
|
|
38
|
+
total_tool_uses INTEGER NOT NULL DEFAULT 0,
|
|
39
|
+
agent_count INTEGER NOT NULL DEFAULT 0,
|
|
40
|
+
model TEXT,
|
|
41
|
+
label TEXT,
|
|
42
|
+
tags TEXT NOT NULL DEFAULT '[]',
|
|
43
|
+
agents_json TEXT NOT NULL DEFAULT '[]',
|
|
44
|
+
tool_chain_json TEXT NOT NULL DEFAULT '{}'
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
CREATE TABLE IF NOT EXISTS timeline_events (
|
|
48
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
49
|
+
session_id TEXT NOT NULL,
|
|
50
|
+
timestamp INTEGER NOT NULL,
|
|
51
|
+
agent_id TEXT NOT NULL,
|
|
52
|
+
kind TEXT NOT NULL,
|
|
53
|
+
zone TEXT,
|
|
54
|
+
tool TEXT,
|
|
55
|
+
tool_args TEXT,
|
|
56
|
+
text_content TEXT,
|
|
57
|
+
input_tokens INTEGER,
|
|
58
|
+
output_tokens INTEGER
|
|
59
|
+
);
|
|
60
|
+
|
|
61
|
+
-- Live (in-progress) sessions: written incrementally so data survives crashes
|
|
62
|
+
CREATE TABLE IF NOT EXISTS live_sessions (
|
|
63
|
+
root_session_id TEXT PRIMARY KEY,
|
|
64
|
+
session_id TEXT NOT NULL,
|
|
65
|
+
source TEXT NOT NULL DEFAULT 'claude',
|
|
66
|
+
project_name TEXT NOT NULL,
|
|
67
|
+
project_path TEXT NOT NULL,
|
|
68
|
+
started_at INTEGER NOT NULL,
|
|
69
|
+
last_activity_at INTEGER NOT NULL,
|
|
70
|
+
agents_json TEXT NOT NULL DEFAULT '[]'
|
|
71
|
+
);
|
|
72
|
+
|
|
73
|
+
CREATE TABLE IF NOT EXISTS live_timeline_events (
|
|
74
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
75
|
+
root_session_id TEXT NOT NULL,
|
|
76
|
+
timestamp INTEGER NOT NULL,
|
|
77
|
+
agent_id TEXT NOT NULL,
|
|
78
|
+
kind TEXT NOT NULL,
|
|
79
|
+
zone TEXT,
|
|
80
|
+
tool TEXT,
|
|
81
|
+
tool_args TEXT,
|
|
82
|
+
text_content TEXT,
|
|
83
|
+
input_tokens INTEGER,
|
|
84
|
+
output_tokens INTEGER
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
CREATE INDEX IF NOT EXISTS idx_timeline_session ON timeline_events(session_id);
|
|
88
|
+
CREATE INDEX IF NOT EXISTS idx_timeline_timestamp ON timeline_events(session_id, timestamp);
|
|
89
|
+
CREATE INDEX IF NOT EXISTS idx_sessions_project ON sessions(project_name);
|
|
90
|
+
CREATE INDEX IF NOT EXISTS idx_sessions_started ON sessions(started_at DESC);
|
|
91
|
+
CREATE INDEX IF NOT EXISTS idx_live_timeline_root ON live_timeline_events(root_session_id);
|
|
92
|
+
`);
|
|
93
|
+
if (currentVersion === 0) {
|
|
94
|
+
this.db.prepare("INSERT INTO schema_version (version) VALUES (?)").run(SCHEMA_VERSION);
|
|
95
|
+
} else {
|
|
96
|
+
this.db.prepare("UPDATE schema_version SET version = ?").run(SCHEMA_VERSION);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/** Save a complete recorded session with its timeline */
|
|
101
|
+
saveSession(session, timeline) {
|
|
102
|
+
const insertSession = this.db.prepare(`
|
|
103
|
+
INSERT OR REPLACE INTO sessions (
|
|
104
|
+
id, source, root_session_id, project_name, project_path,
|
|
105
|
+
started_at, ended_at, duration_ms,
|
|
106
|
+
total_cost, total_input_tokens, total_output_tokens,
|
|
107
|
+
total_cache_read_tokens, total_cache_creation_tokens,
|
|
108
|
+
total_tool_uses, agent_count, model, label, tags,
|
|
109
|
+
agents_json, tool_chain_json
|
|
110
|
+
) VALUES (
|
|
111
|
+
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?
|
|
112
|
+
)
|
|
113
|
+
`);
|
|
114
|
+
const insertEvent = this.db.prepare(`
|
|
115
|
+
INSERT INTO timeline_events (
|
|
116
|
+
session_id, timestamp, agent_id, kind, zone, tool, tool_args,
|
|
117
|
+
text_content, input_tokens, output_tokens
|
|
118
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
119
|
+
`);
|
|
120
|
+
const txn = this.db.transaction(() => {
|
|
121
|
+
this.db.prepare("DELETE FROM timeline_events WHERE session_id = ?").run(session.id);
|
|
122
|
+
insertSession.run(session.id, session.source, session.rootSessionId, session.projectName, session.projectPath, session.startedAt, session.endedAt, session.durationMs, session.totalCost, session.totalInputTokens, session.totalOutputTokens, session.totalCacheReadTokens, session.totalCacheCreationTokens, session.totalToolUses, session.agentCount, session.model, session.label, JSON.stringify(session.tags), JSON.stringify(session.agents), JSON.stringify(session.toolChain));
|
|
123
|
+
for (const evt of timeline) {
|
|
124
|
+
insertEvent.run(session.id, evt.timestamp, evt.agentId, evt.kind, evt.zone ?? null, evt.tool ?? null, evt.toolArgs ?? null, evt.text ?? null, evt.inputTokens ?? null, evt.outputTokens ?? null);
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
txn();
|
|
128
|
+
}
|
|
129
|
+
/** List sessions with optional filtering */
|
|
130
|
+
listSessions(opts) {
|
|
131
|
+
const limit = opts?.limit ?? 50;
|
|
132
|
+
const offset = opts?.offset ?? 0;
|
|
133
|
+
let sql = `SELECT id, source, project_name, started_at, ended_at, duration_ms,
|
|
134
|
+
total_cost, total_tool_uses, agent_count, model, label, tags
|
|
135
|
+
FROM sessions`;
|
|
136
|
+
const params = [];
|
|
137
|
+
if (opts?.project) {
|
|
138
|
+
sql += " WHERE project_name = ?";
|
|
139
|
+
params.push(opts.project);
|
|
140
|
+
}
|
|
141
|
+
sql += " ORDER BY started_at DESC LIMIT ? OFFSET ?";
|
|
142
|
+
params.push(limit, offset);
|
|
143
|
+
const rows = this.db.prepare(sql).all(...params);
|
|
144
|
+
return rows.map((r) => ({
|
|
145
|
+
id: r.id,
|
|
146
|
+
source: r.source,
|
|
147
|
+
projectName: r.project_name,
|
|
148
|
+
startedAt: r.started_at,
|
|
149
|
+
endedAt: r.ended_at,
|
|
150
|
+
durationMs: r.duration_ms,
|
|
151
|
+
totalCost: r.total_cost,
|
|
152
|
+
totalToolUses: r.total_tool_uses,
|
|
153
|
+
agentCount: r.agent_count,
|
|
154
|
+
model: r.model,
|
|
155
|
+
label: r.label,
|
|
156
|
+
tags: JSON.parse(r.tags)
|
|
157
|
+
}));
|
|
158
|
+
}
|
|
159
|
+
/** Get a full session by ID (without timeline) */
|
|
160
|
+
getSession(id) {
|
|
161
|
+
const row = this.db.prepare("SELECT * FROM sessions WHERE id = ?").get(id);
|
|
162
|
+
if (!row)
|
|
163
|
+
return null;
|
|
164
|
+
return {
|
|
165
|
+
id: row.id,
|
|
166
|
+
source: row.source,
|
|
167
|
+
rootSessionId: row.root_session_id,
|
|
168
|
+
projectName: row.project_name,
|
|
169
|
+
projectPath: row.project_path,
|
|
170
|
+
startedAt: row.started_at,
|
|
171
|
+
endedAt: row.ended_at,
|
|
172
|
+
durationMs: row.duration_ms,
|
|
173
|
+
totalCost: row.total_cost,
|
|
174
|
+
totalInputTokens: row.total_input_tokens,
|
|
175
|
+
totalOutputTokens: row.total_output_tokens,
|
|
176
|
+
totalCacheReadTokens: row.total_cache_read_tokens,
|
|
177
|
+
totalCacheCreationTokens: row.total_cache_creation_tokens,
|
|
178
|
+
totalToolUses: row.total_tool_uses,
|
|
179
|
+
agentCount: row.agent_count,
|
|
180
|
+
model: row.model,
|
|
181
|
+
label: row.label,
|
|
182
|
+
tags: JSON.parse(row.tags),
|
|
183
|
+
agents: JSON.parse(row.agents_json),
|
|
184
|
+
toolChain: JSON.parse(row.tool_chain_json)
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
/** Get timeline events for a session */
|
|
188
|
+
getTimeline(sessionId, opts) {
|
|
189
|
+
const limit = opts?.limit ?? 1e4;
|
|
190
|
+
const offset = opts?.offset ?? 0;
|
|
191
|
+
const rows = this.db.prepare(`
|
|
192
|
+
SELECT timestamp, agent_id, kind, zone, tool, tool_args, text_content,
|
|
193
|
+
input_tokens, output_tokens
|
|
194
|
+
FROM timeline_events
|
|
195
|
+
WHERE session_id = ?
|
|
196
|
+
ORDER BY timestamp ASC
|
|
197
|
+
LIMIT ? OFFSET ?
|
|
198
|
+
`).all(sessionId, limit, offset);
|
|
199
|
+
return rows.map((r) => ({
|
|
200
|
+
timestamp: r.timestamp,
|
|
201
|
+
agentId: r.agent_id,
|
|
202
|
+
kind: r.kind,
|
|
203
|
+
...r.zone && { zone: r.zone },
|
|
204
|
+
...r.tool && { tool: r.tool },
|
|
205
|
+
...r.tool_args && { toolArgs: r.tool_args },
|
|
206
|
+
...r.text_content && { text: r.text_content },
|
|
207
|
+
...r.input_tokens != null && { inputTokens: r.input_tokens },
|
|
208
|
+
...r.output_tokens != null && { outputTokens: r.output_tokens }
|
|
209
|
+
}));
|
|
210
|
+
}
|
|
211
|
+
/** Delete a session and its timeline */
|
|
212
|
+
deleteSession(id) {
|
|
213
|
+
let changed = false;
|
|
214
|
+
this.db.transaction(() => {
|
|
215
|
+
this.db.prepare("DELETE FROM timeline_events WHERE session_id = ?").run(id);
|
|
216
|
+
const result = this.db.prepare("DELETE FROM sessions WHERE id = ?").run(id);
|
|
217
|
+
changed = result.changes > 0;
|
|
218
|
+
})();
|
|
219
|
+
return changed;
|
|
220
|
+
}
|
|
221
|
+
/** Update session label */
|
|
222
|
+
updateLabel(id, label) {
|
|
223
|
+
const result = this.db.prepare("UPDATE sessions SET label = ? WHERE id = ?").run(label, id);
|
|
224
|
+
return result.changes > 0;
|
|
225
|
+
}
|
|
226
|
+
/** Update session tags */
|
|
227
|
+
updateTags(id, tags) {
|
|
228
|
+
const result = this.db.prepare("UPDATE sessions SET tags = ? WHERE id = ?").run(JSON.stringify(tags), id);
|
|
229
|
+
return result.changes > 0;
|
|
230
|
+
}
|
|
231
|
+
/** Get total session count (for pagination) */
|
|
232
|
+
getSessionCount(project) {
|
|
233
|
+
if (project) {
|
|
234
|
+
const row2 = this.db.prepare("SELECT COUNT(*) as count FROM sessions WHERE project_name = ?").get(project);
|
|
235
|
+
return row2.count;
|
|
236
|
+
}
|
|
237
|
+
const row = this.db.prepare("SELECT COUNT(*) as count FROM sessions").get();
|
|
238
|
+
return row.count;
|
|
239
|
+
}
|
|
240
|
+
// ── Live session methods (incremental writes for crash safety) ──
|
|
241
|
+
/** Create or update a live session entry */
|
|
242
|
+
upsertLiveSession(rootSessionId, data) {
|
|
243
|
+
this.db.prepare(`
|
|
244
|
+
INSERT INTO live_sessions (root_session_id, session_id, source, project_name, project_path, started_at, last_activity_at)
|
|
245
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
246
|
+
ON CONFLICT(root_session_id) DO UPDATE SET
|
|
247
|
+
session_id = excluded.session_id,
|
|
248
|
+
source = excluded.source,
|
|
249
|
+
project_name = excluded.project_name,
|
|
250
|
+
project_path = excluded.project_path,
|
|
251
|
+
last_activity_at = excluded.last_activity_at
|
|
252
|
+
`).run(rootSessionId, data.sessionId, data.source, data.projectName, data.projectPath, data.startedAt, Date.now());
|
|
253
|
+
}
|
|
254
|
+
/** Update the agent snapshot for a live session */
|
|
255
|
+
updateLiveAgents(rootSessionId, agentsJson) {
|
|
256
|
+
this.db.prepare(`
|
|
257
|
+
UPDATE live_sessions SET agents_json = ?, last_activity_at = ? WHERE root_session_id = ?
|
|
258
|
+
`).run(agentsJson, Date.now(), rootSessionId);
|
|
259
|
+
}
|
|
260
|
+
/** Append a timeline event to the live buffer */
|
|
261
|
+
appendLiveTimelineEvent(rootSessionId, evt) {
|
|
262
|
+
this.db.prepare(`
|
|
263
|
+
INSERT INTO live_timeline_events (root_session_id, timestamp, agent_id, kind, zone, tool, tool_args, text_content, input_tokens, output_tokens)
|
|
264
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
265
|
+
`).run(rootSessionId, evt.timestamp, evt.agentId, evt.kind, evt.zone ?? null, evt.tool ?? null, evt.toolArgs ?? null, evt.text ?? null, evt.inputTokens ?? null, evt.outputTokens ?? null);
|
|
266
|
+
}
|
|
267
|
+
/** Get all live timeline events for a root session */
|
|
268
|
+
getLiveTimeline(rootSessionId) {
|
|
269
|
+
const rows = this.db.prepare(`
|
|
270
|
+
SELECT timestamp, agent_id, kind, zone, tool, tool_args, text_content, input_tokens, output_tokens
|
|
271
|
+
FROM live_timeline_events WHERE root_session_id = ? ORDER BY timestamp ASC
|
|
272
|
+
`).all(rootSessionId);
|
|
273
|
+
return rows.map((r) => ({
|
|
274
|
+
timestamp: r.timestamp,
|
|
275
|
+
agentId: r.agent_id,
|
|
276
|
+
kind: r.kind,
|
|
277
|
+
...r.zone && { zone: r.zone },
|
|
278
|
+
...r.tool && { tool: r.tool },
|
|
279
|
+
...r.tool_args && { toolArgs: r.tool_args },
|
|
280
|
+
...r.text_content && { text: r.text_content },
|
|
281
|
+
...r.input_tokens != null && { inputTokens: r.input_tokens },
|
|
282
|
+
...r.output_tokens != null && { outputTokens: r.output_tokens }
|
|
283
|
+
}));
|
|
284
|
+
}
|
|
285
|
+
/** Remove live session data after finalization (atomic to prevent orphans on crash) */
|
|
286
|
+
removeLiveSession(rootSessionId) {
|
|
287
|
+
this.db.transaction(() => {
|
|
288
|
+
this.db.prepare("DELETE FROM live_timeline_events WHERE root_session_id = ?").run(rootSessionId);
|
|
289
|
+
this.db.prepare("DELETE FROM live_sessions WHERE root_session_id = ?").run(rootSessionId);
|
|
290
|
+
})();
|
|
291
|
+
}
|
|
292
|
+
/** List currently active (in-progress) live sessions */
|
|
293
|
+
listLiveSessions() {
|
|
294
|
+
const rows = this.db.prepare("SELECT root_session_id, source, project_name, started_at, last_activity_at, agents_json FROM live_sessions ORDER BY started_at DESC").all();
|
|
295
|
+
return rows.map((r) => {
|
|
296
|
+
let agentCount = 0;
|
|
297
|
+
try {
|
|
298
|
+
agentCount = JSON.parse(r.agents_json).length;
|
|
299
|
+
} catch {
|
|
300
|
+
}
|
|
301
|
+
return {
|
|
302
|
+
rootSessionId: r.root_session_id,
|
|
303
|
+
source: r.source,
|
|
304
|
+
projectName: r.project_name,
|
|
305
|
+
startedAt: r.started_at,
|
|
306
|
+
lastActivityAt: r.last_activity_at,
|
|
307
|
+
agentCount
|
|
308
|
+
};
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
/** Get all orphaned live sessions (for crash recovery on startup) */
|
|
312
|
+
getOrphanedLiveSessions() {
|
|
313
|
+
return this.db.prepare("SELECT * FROM live_sessions").all().map((r) => ({
|
|
314
|
+
rootSessionId: r.root_session_id,
|
|
315
|
+
sessionId: r.session_id,
|
|
316
|
+
source: r.source,
|
|
317
|
+
projectName: r.project_name,
|
|
318
|
+
projectPath: r.project_path,
|
|
319
|
+
startedAt: r.started_at,
|
|
320
|
+
lastActivityAt: r.last_activity_at,
|
|
321
|
+
agentsJson: r.agents_json
|
|
322
|
+
}));
|
|
323
|
+
}
|
|
324
|
+
close() {
|
|
325
|
+
this.db.close();
|
|
326
|
+
}
|
|
327
|
+
};
|
|
328
|
+
export {
|
|
329
|
+
SessionStore
|
|
330
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/storage/session-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,19 @@ export declare class OpenCodeWatcher implements AgentWatcher {
|
|
|
26
26
|
private seenCallIds;
|
|
27
27
|
/** row id → true — deduplicates text/token events */
|
|
28
28
|
private seenIds;
|
|
29
|
+
/**
|
|
30
|
+
* Per-session idle timers: after step-finish, if no new step-start
|
|
31
|
+
* arrives within this window, call hookStop to idle the agent.
|
|
32
|
+
*/
|
|
33
|
+
private stepFinishTimers;
|
|
34
|
+
private static readonly STEP_FINISH_IDLE_MS;
|
|
35
|
+
/**
|
|
36
|
+
* Per-session shutdown timers: after step-finish, if no new activity
|
|
37
|
+
* arrives within this longer window, call hookSessionEnd to fully shut
|
|
38
|
+
* down the agent and finalize the session. This handles /exit and closed terminals.
|
|
39
|
+
*/
|
|
40
|
+
private sessionEndTimers;
|
|
41
|
+
private static readonly SESSION_END_MS;
|
|
29
42
|
private stmtAllSessions;
|
|
30
43
|
private stmtRecentSessions;
|
|
31
44
|
private stmtMessagesBySession;
|
|
@@ -42,6 +55,8 @@ export declare class OpenCodeWatcher implements AgentWatcher {
|
|
|
42
55
|
private poll;
|
|
43
56
|
private processMessageRow;
|
|
44
57
|
private processPartRow;
|
|
58
|
+
private cancelStepFinishTimer;
|
|
59
|
+
private cancelSessionEndTimer;
|
|
45
60
|
private getSessionInfo;
|
|
46
61
|
private prefixed;
|
|
47
62
|
private fallbackSession;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode-watcher.d.ts","sourceRoot":"","sources":["../../../src/watcher/opencode/opencode-watcher.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAU5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAkBxD;;;;;;;;GAQG;AACH,qBAAa,eAAgB,YAAW,YAAY;
|
|
1
|
+
{"version":3,"file":"opencode-watcher.d.ts","sourceRoot":"","sources":["../../../src/watcher/opencode/opencode-watcher.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAU5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAkBxD;;;;;;;;GAQG;AACH,qBAAa,eAAgB,YAAW,YAAY;IAwCtC,OAAO,CAAC,YAAY;IAvChC,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,EAAE,CAAkC;IAC5C,OAAO,CAAC,MAAM,CAAwB;IAEtC,uDAAuD;IACvD,OAAO,CAAC,aAAa,CAAK;IAC1B,oFAAoF;IACpF,OAAO,CAAC,iBAAiB,CAAK;IAE9B,oCAAoC;IACpC,OAAO,CAAC,QAAQ,CAAkC;IAClD,4CAA4C;IAC5C,OAAO,CAAC,QAAQ,CAA0C;IAC1D,gEAAgE;IAChE,OAAO,CAAC,WAAW,CAAqB;IACxC,qDAAqD;IACrD,OAAO,CAAC,OAAO,CAAqB;IACpC;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAAoD;IAC5E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IACnD;;;;OAIG;IACH,OAAO,CAAC,gBAAgB,CAAoD;IAC5E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAW;IAGjD,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,qBAAqB,CAAsB;IACnD,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,YAAY,CAAsB;gBAEtB,YAAY,EAAE,iBAAiB;IAE7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+C5B,IAAI;IAeJ,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,IAAI;IAkCZ,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,cAAc;IAsEtB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,eAAe;CAGxB"}
|
|
@@ -342,7 +342,7 @@ var OpenCodeParser = class {
|
|
|
342
342
|
};
|
|
343
343
|
}
|
|
344
344
|
};
|
|
345
|
-
var OpenCodeWatcher = class {
|
|
345
|
+
var OpenCodeWatcher = class _OpenCodeWatcher {
|
|
346
346
|
stateManager;
|
|
347
347
|
watcher = null;
|
|
348
348
|
db = null;
|
|
@@ -359,6 +359,19 @@ var OpenCodeWatcher = class {
|
|
|
359
359
|
seenCallIds = /* @__PURE__ */ new Set();
|
|
360
360
|
/** row id → true — deduplicates text/token events */
|
|
361
361
|
seenIds = /* @__PURE__ */ new Set();
|
|
362
|
+
/**
|
|
363
|
+
* Per-session idle timers: after step-finish, if no new step-start
|
|
364
|
+
* arrives within this window, call hookStop to idle the agent.
|
|
365
|
+
*/
|
|
366
|
+
stepFinishTimers = /* @__PURE__ */ new Map();
|
|
367
|
+
static STEP_FINISH_IDLE_MS = 4e3;
|
|
368
|
+
/**
|
|
369
|
+
* Per-session shutdown timers: after step-finish, if no new activity
|
|
370
|
+
* arrives within this longer window, call hookSessionEnd to fully shut
|
|
371
|
+
* down the agent and finalize the session. This handles /exit and closed terminals.
|
|
372
|
+
*/
|
|
373
|
+
sessionEndTimers = /* @__PURE__ */ new Map();
|
|
374
|
+
static SESSION_END_MS = 18e4;
|
|
362
375
|
// Prepared statements (initialised after DB opens)
|
|
363
376
|
stmtAllSessions;
|
|
364
377
|
stmtRecentSessions;
|
|
@@ -409,6 +422,12 @@ var OpenCodeWatcher = class {
|
|
|
409
422
|
this.messages.clear();
|
|
410
423
|
this.seenCallIds.clear();
|
|
411
424
|
this.seenIds.clear();
|
|
425
|
+
for (const t of this.stepFinishTimers.values())
|
|
426
|
+
clearTimeout(t);
|
|
427
|
+
this.stepFinishTimers.clear();
|
|
428
|
+
for (const t of this.sessionEndTimers.values())
|
|
429
|
+
clearTimeout(t);
|
|
430
|
+
this.sessionEndTimers.clear();
|
|
412
431
|
}
|
|
413
432
|
// ── Prepared statements ────────────────────────────────────────────────────
|
|
414
433
|
prepareStatements() {
|
|
@@ -497,8 +516,11 @@ var OpenCodeWatcher = class {
|
|
|
497
516
|
const activity = this.parser.parseTokenUsage(data);
|
|
498
517
|
if (!activity)
|
|
499
518
|
return;
|
|
519
|
+
const prefixedId = this.prefixed(row.session_id);
|
|
520
|
+
this.cancelStepFinishTimer(prefixedId);
|
|
521
|
+
this.cancelSessionEndTimer(prefixedId);
|
|
500
522
|
const sessionInfo = this.getSessionInfo(row.session_id);
|
|
501
|
-
this.stateManager.processMessage(
|
|
523
|
+
this.stateManager.processMessage(prefixedId, activity, sessionInfo);
|
|
502
524
|
}
|
|
503
525
|
processPartRow(row) {
|
|
504
526
|
let data;
|
|
@@ -512,7 +534,25 @@ var OpenCodeWatcher = class {
|
|
|
512
534
|
if (this.seenIds.has(row.id))
|
|
513
535
|
return;
|
|
514
536
|
this.seenIds.add(row.id);
|
|
515
|
-
this.
|
|
537
|
+
const prefixedId2 = this.prefixed(row.session_id);
|
|
538
|
+
if (data.type === "step-start") {
|
|
539
|
+
this.cancelStepFinishTimer(prefixedId2);
|
|
540
|
+
this.cancelSessionEndTimer(prefixedId2);
|
|
541
|
+
this.stateManager.heartbeat(prefixedId2);
|
|
542
|
+
} else {
|
|
543
|
+
this.cancelStepFinishTimer(prefixedId2);
|
|
544
|
+
this.cancelSessionEndTimer(prefixedId2);
|
|
545
|
+
const idleTimer = setTimeout(() => {
|
|
546
|
+
this.stepFinishTimers.delete(prefixedId2);
|
|
547
|
+
this.stateManager.hookStop(prefixedId2);
|
|
548
|
+
}, _OpenCodeWatcher.STEP_FINISH_IDLE_MS);
|
|
549
|
+
this.stepFinishTimers.set(prefixedId2, idleTimer);
|
|
550
|
+
const endTimer = setTimeout(() => {
|
|
551
|
+
this.sessionEndTimers.delete(prefixedId2);
|
|
552
|
+
this.stateManager.hookSessionEnd(prefixedId2);
|
|
553
|
+
}, _OpenCodeWatcher.SESSION_END_MS);
|
|
554
|
+
this.sessionEndTimers.set(prefixedId2, endTimer);
|
|
555
|
+
}
|
|
516
556
|
return;
|
|
517
557
|
}
|
|
518
558
|
if (data.type === "tool" && data.callID) {
|
|
@@ -527,10 +567,27 @@ var OpenCodeWatcher = class {
|
|
|
527
567
|
const activity = this.parser.parsePart(data, messageData);
|
|
528
568
|
if (!activity)
|
|
529
569
|
return;
|
|
570
|
+
const prefixedId = this.prefixed(row.session_id);
|
|
571
|
+
this.cancelStepFinishTimer(prefixedId);
|
|
572
|
+
this.cancelSessionEndTimer(prefixedId);
|
|
530
573
|
const sessionInfo = this.getSessionInfo(row.session_id);
|
|
531
|
-
this.stateManager.processMessage(
|
|
574
|
+
this.stateManager.processMessage(prefixedId, activity, sessionInfo);
|
|
532
575
|
}
|
|
533
576
|
// ── Helpers ────────────────────────────────────────────────────────────────
|
|
577
|
+
cancelStepFinishTimer(prefixedId) {
|
|
578
|
+
const timer = this.stepFinishTimers.get(prefixedId);
|
|
579
|
+
if (timer) {
|
|
580
|
+
clearTimeout(timer);
|
|
581
|
+
this.stepFinishTimers.delete(prefixedId);
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
cancelSessionEndTimer(prefixedId) {
|
|
585
|
+
const timer = this.sessionEndTimers.get(prefixedId);
|
|
586
|
+
if (timer) {
|
|
587
|
+
clearTimeout(timer);
|
|
588
|
+
this.sessionEndTimers.delete(prefixedId);
|
|
589
|
+
}
|
|
590
|
+
}
|
|
534
591
|
getSessionInfo(sessionId) {
|
|
535
592
|
const cached = this.sessions.get(sessionId);
|
|
536
593
|
if (cached)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode-watcher.js","sourceRoot":"","sources":["../../../src/watcher/opencode/opencode-watcher.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,GAErB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAA4B,MAAM,sBAAsB,CAAC;AAmBhF;;;;;;;;GAQG;AACH,MAAM,OAAO,eAAe;
|
|
1
|
+
{"version":3,"file":"opencode-watcher.js","sourceRoot":"","sources":["../../../src/watcher/opencode/opencode-watcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcaster.d.ts","sourceRoot":"","sources":["../../src/ws/broadcaster.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAA6E,MAAM,oBAAoB,CAAC;AAEnI,qBAAa,WAAW;IAIV,OAAO,CAAC,YAAY;IAHhC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,cAAc,CAA0I;gBAE5I,YAAY,EAAE,iBAAiB,EAAE,WAAW,CAAC,EAAE,gBAAgB;IAiFnF,SAAS,CAAC,EAAE,EAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"broadcaster.d.ts","sourceRoot":"","sources":["../../src/ws/broadcaster.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAA6E,MAAM,oBAAoB,CAAC;AAEnI,qBAAa,WAAW;IAIV,OAAO,CAAC,YAAY;IAHhC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,cAAc,CAA0I;gBAE5I,YAAY,EAAE,iBAAiB,EAAE,WAAW,CAAC,EAAE,gBAAgB;IAiFnF,SAAS,CAAC,EAAE,EAAE,SAAS;IA4BvB,oDAAoD;IACpD,oBAAoB,IAAI,IAAI;IAI5B,0CAA0C;IAC1C,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IAMzD,OAAO,IAAI,IAAI;IAQf,OAAO,CAAC,SAAS;CAYlB"}
|