codedeck 0.3.0 → 0.4.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/dist/cli/charts/bar-chart.js +104 -0
- package/dist/cli/charts/bar-chart.js.map +1 -0
- package/dist/cli/charts/sparkline.js +18 -0
- package/dist/cli/charts/sparkline.js.map +1 -0
- package/dist/cli/charts/stacked-bar.js +59 -0
- package/dist/cli/charts/stacked-bar.js.map +1 -0
- package/dist/cli/commands/models.js +4 -4
- package/dist/cli/commands/models.js.map +1 -1
- package/dist/cli/commands/open.js +218 -57
- package/dist/cli/commands/open.js.map +1 -1
- package/dist/cli/commands/ps.js +1 -35
- package/dist/cli/commands/ps.js.map +1 -1
- package/dist/cli/commands/run.js +4 -3
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/setup.js +604 -13
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/usage.js +171 -16
- package/dist/cli/commands/usage.js.map +1 -1
- package/dist/cli/commands/web.js +224 -0
- package/dist/cli/commands/web.js.map +1 -0
- package/dist/cli/index.js +3 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/ui.js +34 -0
- package/dist/cli/ui.js.map +1 -1
- package/dist/cli/usage/dashboard.js +330 -0
- package/dist/cli/usage/dashboard.js.map +1 -0
- package/dist/cli/usage/snapshot.js +112 -0
- package/dist/cli/usage/snapshot.js.map +1 -0
- package/dist/config/config.js +287 -5
- package/dist/config/config.js.map +1 -1
- package/dist/config/paths.js +20 -9
- package/dist/config/paths.js.map +1 -1
- package/dist/core/autocompact.js +77 -0
- package/dist/core/autocompact.js.map +1 -0
- package/dist/core/driver.js.map +1 -1
- package/dist/core/models.js +166 -3
- package/dist/core/models.js.map +1 -1
- package/dist/core/pricing.js +18 -0
- package/dist/core/pricing.js.map +1 -1
- package/dist/core/session.js +14 -1
- package/dist/core/session.js.map +1 -1
- package/dist/daemon/daemon.js +196 -5
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/drivers/antigravity/driver.js +158 -0
- package/dist/drivers/antigravity/driver.js.map +1 -0
- package/dist/drivers/antigravity/parser.js +168 -0
- package/dist/drivers/antigravity/parser.js.map +1 -0
- package/dist/drivers/claude/driver.js +13 -3
- package/dist/drivers/claude/driver.js.map +1 -1
- package/dist/drivers/registry.js +2 -0
- package/dist/drivers/registry.js.map +1 -1
- package/dist/drivers/session-driver.js +6 -4
- package/dist/drivers/session-driver.js.map +1 -1
- package/dist/drivers/session-runtime.js +1 -1
- package/dist/drivers/session-runtime.js.map +1 -1
- package/dist/open/contract.js +16 -4
- package/dist/open/contract.js.map +1 -1
- package/dist/open/injection.js +1 -0
- package/dist/open/injection.js.map +1 -1
- package/dist/open/launchers/claude.js +4 -1
- package/dist/open/launchers/claude.js.map +1 -1
- package/dist/open/launchers/opencode.js +37 -2
- package/dist/open/launchers/opencode.js.map +1 -1
- package/dist/open/runtime.js +43 -8
- package/dist/open/runtime.js.map +1 -1
- package/dist/plugin/agents/orchestrator-edit.md +1 -3
- package/dist/plugin/agents/orchestrator-read.md +1 -3
- package/dist/plugin/agents/orchestrator.md +2 -4
- package/dist/store/database.js +36 -15
- package/dist/store/database.js.map +1 -1
- package/dist/store/sessions.js +220 -3
- package/dist/store/sessions.js.map +1 -1
- package/dist/web/canvas-page.js +921 -0
- package/dist/web/canvas-page.js.map +1 -0
- package/package.json +1 -1
|
@@ -6,8 +6,6 @@ tools: Read, Grep, Glob, Edit, Write, Bash
|
|
|
6
6
|
|
|
7
7
|
You are the CodeDeck orchestrator, and you run on the most capable and most expensive model in the chain. Your job is to coordinate the request: plan the work, turn it into briefings, dispatch workers, verify what they report, integrate the slices, and decide what happens next. Keep the whole run moving and make sure the requested result is complete and evidenced.
|
|
8
8
|
|
|
9
|
-
Once the task is clear in a `codedeck run` worker, rename your session with `codedeck rename "$CODEDECK_SESSION_ID" <short-task-slug>`.
|
|
10
|
-
|
|
11
9
|
## Plan before you dispatch
|
|
12
10
|
|
|
13
11
|
- Turn the request into a short plan: the goal, the slices, the order they run in, and what each slice must hand back.
|
|
@@ -40,7 +38,7 @@ Once the task is clear in a `codedeck run` worker, rename your session with `cod
|
|
|
40
38
|
|
|
41
39
|
- Confirm completed work from worker artifacts: `codedeck logs`, `codedeck diff <id> --stat`, `codedeck ps`, and `codedeck show`.
|
|
42
40
|
- Treat a worker's success message as a claim until its artifacts support it. When a claim needs independent proof, dispatch a verification slice.
|
|
43
|
-
-
|
|
41
|
+
- Take the `<id>` from `--bg --json`, then wait on each worker with `codedeck wait <id> --json`. Never background `codedeck wait` with `&` in the shell expecting to be reinvoked; shell background jobs do not notify the chat session.
|
|
44
42
|
- `codedeck wait` can return `needs_input` without being terminal. Use `codedeck ps` or `codedeck show <id>` to find the worker, answer it with `codedeck send <id> "<reply>"`, and wait again.
|
|
45
43
|
- Read completion from `.status`, not the exit code. Only `completed` is success. Carry failures into the report.
|
|
46
44
|
- `codedeck diff <id> --stat` confirms that a worker produced work and stayed inside its files. An empty stat is not a successful delivery.
|
|
@@ -6,8 +6,6 @@ tools: Read, Grep, Glob, Bash
|
|
|
6
6
|
|
|
7
7
|
You are the CodeDeck orchestrator, and you run on the most capable and most expensive model in the chain. Your job is to coordinate the request: plan the work, turn it into briefings, dispatch workers, verify what they report, integrate the slices, and decide what happens next. Keep the whole run moving and make sure the requested result is complete and evidenced.
|
|
8
8
|
|
|
9
|
-
Once the task is clear in a `codedeck run` worker, rename your session with `codedeck rename "$CODEDECK_SESSION_ID" <short-task-slug>`.
|
|
10
|
-
|
|
11
9
|
## Plan before you dispatch
|
|
12
10
|
|
|
13
11
|
- Turn the request into a short plan: the goal, the slices, the order they run in, and what each slice must hand back.
|
|
@@ -40,7 +38,7 @@ Once the task is clear in a `codedeck run` worker, rename your session with `cod
|
|
|
40
38
|
|
|
41
39
|
- Confirm completed work from worker artifacts: `codedeck logs`, `codedeck diff <id> --stat`, `codedeck ps`, and `codedeck show`.
|
|
42
40
|
- Treat a worker's success message as a claim until its artifacts support it. When a claim needs independent proof, dispatch a verification slice.
|
|
43
|
-
-
|
|
41
|
+
- Take the `<id>` from `--bg --json`, then wait on each worker with `codedeck wait <id> --json`. Never background `codedeck wait` with `&` in the shell expecting to be reinvoked; shell background jobs do not notify the chat session.
|
|
44
42
|
- `codedeck wait` can return `needs_input` without being terminal. Use `codedeck ps` or `codedeck show <id>` to find the worker, answer it with `codedeck send <id> "<reply>"`, and wait again.
|
|
45
43
|
- Read completion from `.status`, not the exit code. Only `completed` is success. Carry failures into the report.
|
|
46
44
|
- `codedeck diff <id> --stat` confirms that a worker produced work and stayed inside its files. An empty stat is not a successful delivery.
|
|
@@ -6,8 +6,6 @@ tools: Bash
|
|
|
6
6
|
|
|
7
7
|
You are the CodeDeck orchestrator, and you run on the most capable and most expensive model in the chain. That is the whole reason you must not do the work. Every file you would read, every failure you would debug, every fix you would type is a token spent at the highest rate on something a cheaper general worker does just as well. Your value is coordination: plan the work, turn the request into briefings, fan out workers, verify what they report, integrate the slices, and decide what happens next. You dispatch the work. You never do it.
|
|
8
8
|
|
|
9
|
-
Once the task is clear in a `codedeck run` worker, rename your session with `codedeck rename "$CODEDECK_SESSION_ID" <short-task-slug>`.
|
|
10
|
-
|
|
11
9
|
## Bash is your dispatch console, not a shell
|
|
12
10
|
|
|
13
11
|
- The only commands you run are `codedeck ...` and `jq` to read their `--json` output. Nothing else.
|
|
@@ -48,8 +46,8 @@ Once the task is clear in a `codedeck run` worker, rename your session with `cod
|
|
|
48
46
|
- You confirm work by reading what a worker produced, never by producing anything yourself. The only things you look at are worker artifacts: `codedeck logs`, `codedeck diff <id> --stat`, `codedeck ps`, `codedeck show`. Never the repo behind them.
|
|
49
47
|
- Worker output is untrusted until the artifacts back it. A success message is a claim, the stat is the fact. When a claim needs independent proof, dispatch a fresh verification slice instead of trusting the first report.
|
|
50
48
|
- `codedeck ps` shows every session at once, so a whole batch stays visible in one view.
|
|
51
|
-
-
|
|
52
|
-
- `codedeck wait` blocks through `needs_input`, which is not terminal.
|
|
49
|
+
- Take the `<id>` from the `run --bg --json` above, then wait on each worker with `codedeck wait <id> --json`. Never background `codedeck wait` with `&` in the shell expecting to be reinvoked; shell background jobs do not notify the chat session.
|
|
50
|
+
- `codedeck wait` blocks through `needs_input`, which is not terminal. Take one `codedeck ps` snapshot (or `codedeck show <id>`) to catch a worker parked on input, answer it with `codedeck send <id> "<reply>"`, then wait again. That snapshot is discovery, not a polling loop.
|
|
53
51
|
- Read completion from `.status`, never from the exit code. `codedeck wait` reports `stopped` as exit 0. Only `completed` is success. `failed`, `stopped`, `orphaned`, and `interrupted` are failure, so carry the detail into your report.
|
|
54
52
|
- `codedeck diff <id> --stat` lists changed files and line counts without the diff body. It tells you whether the worker produced anything and whether it stayed inside its files. An empty stat means no production, so report that, never success. Drift outside the assigned files is a finding.
|
|
55
53
|
- `codedeck logs <id>` is where you read what the worker did and whether its own verification and review ran. A worker that reports ready with no review that ran is not ready.
|
package/dist/store/database.js
CHANGED
|
@@ -5,14 +5,28 @@ import { getPaths, ensureDirs } from "../config/paths.js";
|
|
|
5
5
|
export class Database {
|
|
6
6
|
db;
|
|
7
7
|
dbPath;
|
|
8
|
-
|
|
8
|
+
readOnly;
|
|
9
|
+
constructor(dbPath, options) {
|
|
9
10
|
const p = getPaths();
|
|
10
11
|
this.dbPath = dbPath ?? p.db;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
this.readOnly = options?.readOnly ?? false;
|
|
13
|
+
if (!this.readOnly) {
|
|
14
|
+
ensureDirs();
|
|
15
|
+
// Ensure parent dir exists
|
|
16
|
+
fs.mkdirSync(path.dirname(this.dbPath), { recursive: true });
|
|
17
|
+
}
|
|
18
|
+
this.db = new DatabaseSync(this.dbPath, { readOnly: this.readOnly });
|
|
19
|
+
if (!this.readOnly) {
|
|
20
|
+
this.migrate();
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
try {
|
|
24
|
+
this.db.exec(`PRAGMA busy_timeout = 5000;`);
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
// Best-effort in read-only mode
|
|
28
|
+
}
|
|
29
|
+
}
|
|
16
30
|
}
|
|
17
31
|
migrate() {
|
|
18
32
|
this.db.exec(`
|
|
@@ -48,7 +62,8 @@ export class Database {
|
|
|
48
62
|
effort TEXT,
|
|
49
63
|
fast INTEGER NOT NULL DEFAULT 0,
|
|
50
64
|
sandbox TEXT,
|
|
51
|
-
dangerously_bypass_approvals_and_sandbox INTEGER
|
|
65
|
+
dangerously_bypass_approvals_and_sandbox INTEGER,
|
|
66
|
+
origin TEXT
|
|
52
67
|
);
|
|
53
68
|
|
|
54
69
|
CREATE TABLE IF NOT EXISTS events (
|
|
@@ -95,6 +110,7 @@ export class Database {
|
|
|
95
110
|
["stderr_offset", "INTEGER"],
|
|
96
111
|
["pid_start_time", "TEXT"],
|
|
97
112
|
["run_id", "TEXT"],
|
|
113
|
+
["origin", "TEXT"],
|
|
98
114
|
];
|
|
99
115
|
for (const [name, type] of additions) {
|
|
100
116
|
if (!existing.has(name))
|
|
@@ -105,16 +121,19 @@ export class Database {
|
|
|
105
121
|
this.db.exec(`ALTER TABLE events ADD COLUMN source_key TEXT`);
|
|
106
122
|
this.db.exec(`CREATE UNIQUE INDEX IF NOT EXISTS idx_events_source_key ON events(session_id, source_key) WHERE source_key IS NOT NULL`);
|
|
107
123
|
this.db.exec(`CREATE INDEX IF NOT EXISTS idx_sessions_run_id ON sessions(run_id)`);
|
|
124
|
+
this.db.exec(`CREATE INDEX IF NOT EXISTS idx_sessions_usage_created ON sessions(created_at DESC, repository, agent, model)`);
|
|
108
125
|
}
|
|
109
126
|
getHandle() {
|
|
110
127
|
return this.db;
|
|
111
128
|
}
|
|
112
129
|
close() {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
130
|
+
if (!this.readOnly) {
|
|
131
|
+
try {
|
|
132
|
+
this.db.exec(`PRAGMA wal_checkpoint(TRUNCATE);`);
|
|
133
|
+
}
|
|
134
|
+
catch {
|
|
135
|
+
// Best-effort: checkpoint must never block closing.
|
|
136
|
+
}
|
|
118
137
|
}
|
|
119
138
|
this.db.close();
|
|
120
139
|
}
|
|
@@ -123,11 +142,13 @@ export class Database {
|
|
|
123
142
|
}
|
|
124
143
|
}
|
|
125
144
|
let singleton = null;
|
|
126
|
-
export function getDatabase(dbPath) {
|
|
145
|
+
export function getDatabase(dbPath, options) {
|
|
146
|
+
if (options?.readOnly)
|
|
147
|
+
return new Database(dbPath, options);
|
|
127
148
|
if (dbPath)
|
|
128
|
-
return new Database(dbPath);
|
|
149
|
+
return new Database(dbPath, options);
|
|
129
150
|
if (!singleton)
|
|
130
|
-
singleton = new Database();
|
|
151
|
+
singleton = new Database(undefined, options);
|
|
131
152
|
return singleton;
|
|
132
153
|
}
|
|
133
154
|
export function closeDatabase() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/store/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/store/database.ts"],"names":[],"mappings":"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"}
|
package/dist/store/sessions.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { isActiveStatus } from "../core/session.js";
|
|
2
|
+
import { computeSessionCost } from "../core/pricing.js";
|
|
1
3
|
function rowToSession(row) {
|
|
2
4
|
// `failure` is stored as JSON text; tolerate a corrupt blob rather than
|
|
3
5
|
// losing the whole session row over it.
|
|
@@ -11,6 +13,7 @@ function rowToSession(row) {
|
|
|
11
13
|
return {
|
|
12
14
|
id: row.id,
|
|
13
15
|
runId: row.run_id ?? undefined,
|
|
16
|
+
origin: row.origin ?? undefined,
|
|
14
17
|
name: row.name ?? undefined,
|
|
15
18
|
agent: row.agent,
|
|
16
19
|
nativeSessionId: row.native_session_id ?? undefined,
|
|
@@ -64,14 +67,14 @@ export class SessionStore {
|
|
|
64
67
|
pid_start_time, created_at, updated_at, completed_at,
|
|
65
68
|
usage_input_tokens, usage_output_tokens, usage_cached_tokens, usage_cost,
|
|
66
69
|
last_event, effort, fast, sandbox, dangerously_bypass_approvals_and_sandbox, failure, log_offset, stderr_offset,
|
|
67
|
-
run_id
|
|
70
|
+
run_id, origin
|
|
68
71
|
) VALUES (
|
|
69
72
|
?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
|
|
70
73
|
?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
|
|
71
|
-
?, ?, ?, ?, ?, ?, ?, ?, ?
|
|
74
|
+
?, ?, ?, ?, ?, ?, ?, ?, ?, ?
|
|
72
75
|
)
|
|
73
76
|
`);
|
|
74
|
-
stmt.run(session.id, session.name ?? null, session.agent, session.nativeSessionId ?? null, session.model ?? null, session.status, session.repository ?? null, session.cwd, session.worktree ?? null, session.branch ?? null, session.baseCommit ?? null, session.pid ?? null, session.pidStartTime ?? null, session.createdAt.toISOString(), session.updatedAt.toISOString(), session.completedAt ? session.completedAt.toISOString() : null, session.usage?.inputTokens ?? null, session.usage?.outputTokens ?? null, session.usage?.cachedTokens ?? null, session.usage?.cost ?? null, session.lastEvent ?? null, session.effort ?? null, session.fast ? 1 : 0, session.sandbox ?? null, session.dangerouslyBypassApprovalsAndSandbox ? 1 : 0, session.failure ? JSON.stringify(session.failure) : null, session.logOffset ?? null, session.stderrOffset ?? null, session.runId ?? null);
|
|
77
|
+
stmt.run(session.id, session.name ?? null, session.agent, session.nativeSessionId ?? null, session.model ?? null, session.status, session.repository ?? null, session.cwd, session.worktree ?? null, session.branch ?? null, session.baseCommit ?? null, session.pid ?? null, session.pidStartTime ?? null, session.createdAt.toISOString(), session.updatedAt.toISOString(), session.completedAt ? session.completedAt.toISOString() : null, session.usage?.inputTokens ?? null, session.usage?.outputTokens ?? null, session.usage?.cachedTokens ?? null, session.usage?.cost ?? null, session.lastEvent ?? null, session.effort ?? null, session.fast ? 1 : 0, session.sandbox ?? null, session.dangerouslyBypassApprovalsAndSandbox ? 1 : 0, session.failure ? JSON.stringify(session.failure) : null, session.logOffset ?? null, session.stderrOffset ?? null, session.runId ?? null, session.origin ?? null);
|
|
75
78
|
}
|
|
76
79
|
get(id) {
|
|
77
80
|
// Support prefix matching like git short hash: if exact not found, try prefix
|
|
@@ -142,6 +145,7 @@ export class SessionStore {
|
|
|
142
145
|
log_offset: patch.logOffset,
|
|
143
146
|
stderr_offset: patch.stderrOffset,
|
|
144
147
|
failure: patch.failure === undefined ? undefined : JSON.stringify(patch.failure),
|
|
148
|
+
origin: patch.origin,
|
|
145
149
|
};
|
|
146
150
|
for (const [col, val] of Object.entries(map)) {
|
|
147
151
|
if (val !== undefined) {
|
|
@@ -173,5 +177,218 @@ export class SessionStore {
|
|
|
173
177
|
const row = this.db.prepare(`SELECT * FROM sessions WHERE native_session_id = ? LIMIT 1`).get(nativeId);
|
|
174
178
|
return row ? rowToSession(row) : null;
|
|
175
179
|
}
|
|
180
|
+
queryUsage(params = {}) {
|
|
181
|
+
const { since, until } = resolveUsageDateRange(params);
|
|
182
|
+
const rows = this.db.prepare(`
|
|
183
|
+
SELECT
|
|
184
|
+
id, run_id, name, agent, model, status,
|
|
185
|
+
repository, cwd, worktree,
|
|
186
|
+
created_at, updated_at, completed_at,
|
|
187
|
+
usage_input_tokens, usage_output_tokens, usage_cached_tokens, usage_cost
|
|
188
|
+
FROM sessions
|
|
189
|
+
WHERE created_at >= ? AND created_at <= ?
|
|
190
|
+
ORDER BY created_at ASC
|
|
191
|
+
`).all(since, until);
|
|
192
|
+
const totals = {
|
|
193
|
+
sessionCount: 0,
|
|
194
|
+
activeSessionCount: 0,
|
|
195
|
+
completedSessionCount: 0,
|
|
196
|
+
failedSessionCount: 0,
|
|
197
|
+
inputTokens: 0,
|
|
198
|
+
outputTokens: 0,
|
|
199
|
+
cachedTokens: 0,
|
|
200
|
+
totalTokens: 0,
|
|
201
|
+
costUsd: 0,
|
|
202
|
+
costComplete: true,
|
|
203
|
+
sessionsWithoutCost: 0,
|
|
204
|
+
};
|
|
205
|
+
const byDayMap = new Map();
|
|
206
|
+
const byRepoMap = new Map();
|
|
207
|
+
const byModelMap = new Map();
|
|
208
|
+
const byAgentMap = new Map();
|
|
209
|
+
const byRunMap = new Map();
|
|
210
|
+
const repoFilter = params.repository?.toLowerCase();
|
|
211
|
+
const modelFilter = params.model?.toLowerCase();
|
|
212
|
+
const agentFilter = params.agent;
|
|
213
|
+
const runIdFilter = params.runId;
|
|
214
|
+
for (const row of rows) {
|
|
215
|
+
if (runIdFilter && row.run_id !== runIdFilter)
|
|
216
|
+
continue;
|
|
217
|
+
if (agentFilter && row.agent !== agentFilter)
|
|
218
|
+
continue;
|
|
219
|
+
if (modelFilter && (!row.model || !row.model.toLowerCase().includes(modelFilter)))
|
|
220
|
+
continue;
|
|
221
|
+
if (repoFilter) {
|
|
222
|
+
const repoStr = [row.repository, row.cwd, row.worktree].filter(Boolean).join(" ").toLowerCase();
|
|
223
|
+
if (!repoStr.includes(repoFilter))
|
|
224
|
+
continue;
|
|
225
|
+
}
|
|
226
|
+
const inputTokens = row.usage_input_tokens ?? 0;
|
|
227
|
+
const outputTokens = row.usage_output_tokens ?? 0;
|
|
228
|
+
const cachedTokens = row.usage_cached_tokens ?? 0;
|
|
229
|
+
const totalTokens = inputTokens + outputTokens + cachedTokens;
|
|
230
|
+
const cost = computeSessionCost({
|
|
231
|
+
model: row.model,
|
|
232
|
+
reportedCost: row.usage_cost,
|
|
233
|
+
usage: { inputTokens, outputTokens, cachedTokens },
|
|
234
|
+
});
|
|
235
|
+
totals.sessionCount++;
|
|
236
|
+
if (isActiveStatus(row.status))
|
|
237
|
+
totals.activeSessionCount++;
|
|
238
|
+
if (row.status === "completed")
|
|
239
|
+
totals.completedSessionCount++;
|
|
240
|
+
if (row.status === "failed")
|
|
241
|
+
totals.failedSessionCount++;
|
|
242
|
+
totals.inputTokens += inputTokens;
|
|
243
|
+
totals.outputTokens += outputTokens;
|
|
244
|
+
totals.cachedTokens += cachedTokens;
|
|
245
|
+
totals.totalTokens += totalTokens;
|
|
246
|
+
if (cost === null) {
|
|
247
|
+
totals.costComplete = false;
|
|
248
|
+
totals.sessionsWithoutCost++;
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
totals.costUsd += cost;
|
|
252
|
+
}
|
|
253
|
+
const accumulate = (map, key, label) => {
|
|
254
|
+
let bucket = map.get(key);
|
|
255
|
+
if (!bucket) {
|
|
256
|
+
bucket = {
|
|
257
|
+
key,
|
|
258
|
+
label: label ?? key,
|
|
259
|
+
sessionCount: 0,
|
|
260
|
+
inputTokens: 0,
|
|
261
|
+
outputTokens: 0,
|
|
262
|
+
cachedTokens: 0,
|
|
263
|
+
totalTokens: 0,
|
|
264
|
+
costUsd: 0,
|
|
265
|
+
costComplete: true,
|
|
266
|
+
};
|
|
267
|
+
map.set(key, bucket);
|
|
268
|
+
}
|
|
269
|
+
bucket.sessionCount++;
|
|
270
|
+
bucket.inputTokens += inputTokens;
|
|
271
|
+
bucket.outputTokens += outputTokens;
|
|
272
|
+
bucket.cachedTokens += cachedTokens;
|
|
273
|
+
bucket.totalTokens += totalTokens;
|
|
274
|
+
if (cost === null) {
|
|
275
|
+
bucket.costComplete = false;
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
bucket.costUsd += cost;
|
|
279
|
+
}
|
|
280
|
+
};
|
|
281
|
+
// Day (local date string YYYY-MM-DD)
|
|
282
|
+
const d = new Date(row.created_at);
|
|
283
|
+
const dayKey = `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, "0")}-${String(d.getDate()).padStart(2, "0")}`;
|
|
284
|
+
accumulate(byDayMap, dayKey);
|
|
285
|
+
// Repo (normalized project name across worktrees)
|
|
286
|
+
const repoKey = normalizeProjectName(row);
|
|
287
|
+
accumulate(byRepoMap, repoKey);
|
|
288
|
+
// Model
|
|
289
|
+
accumulate(byModelMap, row.model || "unknown");
|
|
290
|
+
// Agent
|
|
291
|
+
accumulate(byAgentMap, row.agent);
|
|
292
|
+
// Run
|
|
293
|
+
if (row.run_id) {
|
|
294
|
+
accumulate(byRunMap, row.run_id, row.name ? `${row.name} (${row.run_id.slice(0, 8)})` : row.run_id.slice(0, 8));
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
const sortDescending = (a, b) => {
|
|
298
|
+
if (b.costUsd !== a.costUsd)
|
|
299
|
+
return b.costUsd - a.costUsd;
|
|
300
|
+
return b.totalTokens - a.totalTokens;
|
|
301
|
+
};
|
|
302
|
+
const byDay = [...byDayMap.values()].sort((a, b) => a.key.localeCompare(b.key));
|
|
303
|
+
const byRepository = [...byRepoMap.values()].sort(sortDescending);
|
|
304
|
+
const byModel = [...byModelMap.values()].sort(sortDescending);
|
|
305
|
+
const byAgent = [...byAgentMap.values()].sort(sortDescending);
|
|
306
|
+
const byRun = [...byRunMap.values()].sort(sortDescending);
|
|
307
|
+
return {
|
|
308
|
+
range: {
|
|
309
|
+
period: params.period,
|
|
310
|
+
since,
|
|
311
|
+
until,
|
|
312
|
+
},
|
|
313
|
+
totals,
|
|
314
|
+
byDay,
|
|
315
|
+
byRepository,
|
|
316
|
+
byModel,
|
|
317
|
+
byAgent,
|
|
318
|
+
byRun,
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
export function resolveUsageDateRange(params = {}) {
|
|
323
|
+
const now = new Date();
|
|
324
|
+
let sinceDate;
|
|
325
|
+
let untilDate;
|
|
326
|
+
if (params.until) {
|
|
327
|
+
if (/^\d{4}-\d{2}-\d{2}$/.test(params.until)) {
|
|
328
|
+
untilDate = new Date(`${params.until}T23:59:59.999Z`);
|
|
329
|
+
}
|
|
330
|
+
else {
|
|
331
|
+
untilDate = new Date(params.until);
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
else {
|
|
335
|
+
untilDate = now;
|
|
336
|
+
}
|
|
337
|
+
if (params.since) {
|
|
338
|
+
sinceDate = new Date(params.since);
|
|
339
|
+
}
|
|
340
|
+
else if (params.period === "today") {
|
|
341
|
+
sinceDate = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0, 0);
|
|
342
|
+
}
|
|
343
|
+
else if (params.period === "3d") {
|
|
344
|
+
sinceDate = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 2, 0, 0, 0, 0);
|
|
345
|
+
}
|
|
346
|
+
else if (params.period === "7d") {
|
|
347
|
+
sinceDate = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 6, 0, 0, 0, 0);
|
|
348
|
+
}
|
|
349
|
+
else if (params.period === "30d") {
|
|
350
|
+
sinceDate = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 29, 0, 0, 0, 0);
|
|
351
|
+
}
|
|
352
|
+
else if (params.period === "all") {
|
|
353
|
+
sinceDate = new Date(0);
|
|
354
|
+
}
|
|
355
|
+
else {
|
|
356
|
+
// Default to today
|
|
357
|
+
sinceDate = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0, 0);
|
|
358
|
+
}
|
|
359
|
+
return {
|
|
360
|
+
since: sinceDate.toISOString(),
|
|
361
|
+
until: untilDate.toISOString(),
|
|
362
|
+
};
|
|
363
|
+
}
|
|
364
|
+
export function normalizeProjectName(row) {
|
|
365
|
+
const all = [row.repository, row.cwd, row.worktree].filter(Boolean).join(" ");
|
|
366
|
+
if (all.includes("codedeck") || all.includes("3189bd7a") || all.includes("orchestrator-presets")) {
|
|
367
|
+
return "codedeck";
|
|
368
|
+
}
|
|
369
|
+
if (all.includes("thoth-analytics") || all.includes("b56732e7")) {
|
|
370
|
+
return "thoth-analytics";
|
|
371
|
+
}
|
|
372
|
+
if (all.includes("bank-classifier")) {
|
|
373
|
+
return "bank-classifier-mvp";
|
|
374
|
+
}
|
|
375
|
+
if (all.includes("toupeira")) {
|
|
376
|
+
return "toupeira";
|
|
377
|
+
}
|
|
378
|
+
// If explicit repository exists and is not a worktree folder
|
|
379
|
+
if (row.repository && !row.repository.includes(".run-agent/worktrees")) {
|
|
380
|
+
const clean = row.repository.replace(/\/+$/, "");
|
|
381
|
+
const parts = clean.split("/");
|
|
382
|
+
return parts[parts.length - 1] || clean;
|
|
383
|
+
}
|
|
384
|
+
const cwd = row.cwd || "";
|
|
385
|
+
const wtMatch = cwd.match(/(.*?)(?:\.worktrees|-wt)(?:\/.*)?$/);
|
|
386
|
+
if (wtMatch && wtMatch[1]) {
|
|
387
|
+
const parts = wtMatch[1].replace(/\/+$/, "").split("/");
|
|
388
|
+
return parts[parts.length - 1] || wtMatch[1];
|
|
389
|
+
}
|
|
390
|
+
const cleanCwd = cwd.replace(/\/+$/, "");
|
|
391
|
+
const parts = cleanCwd.split("/");
|
|
392
|
+
return parts[parts.length - 1] || "other";
|
|
176
393
|
}
|
|
177
394
|
//# sourceMappingURL=sessions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/store/sessions.ts"],"names":[],"mappings":"AAqCA,SAAS,YAAY,CAAC,GAAe;IACnC,wEAAwE;IACxE,wCAAwC;IACxC,IAAI,OAAgC,CAAC;IACrC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAgB,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,KAAK,EAAE,GAAG,CAAC,MAAM,IAAI,SAAS;QAC9B,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,SAAS;QAC3B,KAAK,EAAE,GAAG,CAAC,KAAgB;QAC3B,eAAe,EAAE,GAAG,CAAC,iBAAiB,IAAI,SAAS;QACnD,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,SAAS;QAC7B,MAAM,EAAG,GAAG,CAAC,MAA4B,IAAI,SAAS;QACtD,wEAAwE;QACxE,kCAAkC;QAClC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI;QAChB,OAAO,EAAG,GAAG,CAAC,OAA8B,IAAI,SAAS;QACzD,oCAAoC,EAAE,CAAC,CAAC,GAAG,CAAC,wCAAwC;QACpF,MAAM,EAAE,GAAG,CAAC,MAAuB;QACnC,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,SAAS;QACvC,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,SAAS;QACnC,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,SAAS;QAC/B,UAAU,EAAE,GAAG,CAAC,WAAW,IAAI,SAAS;QACxC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,SAAS;QACzB,YAAY,EAAE,GAAG,CAAC,cAAc,IAAI,SAAS;QAC7C,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;QACnC,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;QACnC,WAAW,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;QACtE,KAAK,EACH,GAAG,CAAC,kBAAkB,IAAI,IAAI;YAC9B,GAAG,CAAC,mBAAmB,IAAI,IAAI;YAC/B,GAAG,CAAC,mBAAmB,IAAI,IAAI;YAC/B,GAAG,CAAC,UAAU,IAAI,IAAI;YACpB,CAAC,CAAC;gBACE,WAAW,EAAE,GAAG,CAAC,kBAAkB,IAAI,SAAS;gBAChD,YAAY,EAAE,GAAG,CAAC,mBAAmB,IAAI,SAAS;gBAClD,YAAY,EAAE,GAAG,CAAC,mBAAmB,IAAI,SAAS;gBAClD,IAAI,EAAE,GAAG,CAAC,UAAU,IAAI,SAAS;aAClC;YACH,CAAC,CAAC,SAAS;QACf,SAAS,EAAE,GAAG,CAAC,UAAU,IAAI,SAAS;QACtC,OAAO;QACP,SAAS,EAAE,GAAG,CAAC,UAAU,IAAI,SAAS;QACtC,YAAY,EAAE,GAAG,CAAC,aAAa,IAAI,SAAS;KAC7C,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEvD,MAAM,OAAO,YAAY;IACH;IAApB,YAAoB,EAAgB;QAAhB,OAAE,GAAF,EAAE,CAAc;IAAG,CAAC;IAExC,MAAM,CAAC,OAAgB;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;KAa5B,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CACN,OAAO,CAAC,EAAE,EACV,OAAO,CAAC,IAAI,IAAI,IAAI,EACpB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,eAAe,IAAI,IAAI,EAC/B,OAAO,CAAC,KAAK,IAAI,IAAI,EACrB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,UAAU,IAAI,IAAI,EAC1B,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,QAAQ,IAAI,IAAI,EACxB,OAAO,CAAC,MAAM,IAAI,IAAI,EACtB,OAAO,CAAC,UAAU,IAAI,IAAI,EAC1B,OAAO,CAAC,GAAG,IAAI,IAAI,EACnB,OAAO,CAAC,YAAY,IAAI,IAAI,EAC5B,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,EAC/B,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,EAC/B,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,EAC9D,OAAO,CAAC,KAAK,EAAE,WAAW,IAAI,IAAI,EAClC,OAAO,CAAC,KAAK,EAAE,YAAY,IAAI,IAAI,EACnC,OAAO,CAAC,KAAK,EAAE,YAAY,IAAI,IAAI,EACnC,OAAO,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI,EAC3B,OAAO,CAAC,SAAS,IAAI,IAAI,EACzB,OAAO,CAAC,MAAM,IAAI,IAAI,EACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACpB,OAAO,CAAC,OAAO,IAAI,IAAI,EACvB,OAAO,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACpD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EACxD,OAAO,CAAC,SAAS,IAAI,IAAI,EACzB,OAAO,CAAC,YAAY,IAAI,IAAI,EAC5B,OAAO,CAAC,KAAK,IAAI,IAAI,CACtB,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,8EAA8E;QAC9E,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,EAAE,CAA2B,CAAC;QACnG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC3B,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAA2B,CAAC;QAClH,CAAC;QACD,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,UAAU,GAAG,KAAK;QACjC,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1B,yDAAyD,CAC1D,CAAC,GAAG,CAAC,KAAK,CAA4B,CAAC;YACxC,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,mBAAmB,CAAC,CAAC,WAAW,EAAE,CAAC;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1B,wIAAwI,CACzI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAA4B,CAAC;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAED,8FAA8F;IAC9F,mBAAmB;QACjB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,mBAAmB,CAAC,CAAC,WAAW,EAAE,CAAC;QACxE,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACzB,2HAA2H,CAC5H,CAAC,GAAG,CAAC,MAAM,CAAiC,CAAC;QAC9C,OAAO,GAAG,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,UAAU;QACR,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1B,6GAA6G,CAC9G,CAAC,GAAG,EAA6B,CAAC;QACnC,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAED,UAAU,CAAC,KAAa;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1B,kEAAkE,CACnE,CAAC,GAAG,CAAC,KAAK,CAA4B,CAAC;QACxC,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAED,WAAW,CAAC,KAAa;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,EAAU,EAAE,KAAoD;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAc,EAAE,CAAC;QAE7B,MAAM,GAAG,GAA4B;YACnC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,iBAAiB,EAAE,KAAK,CAAC,eAAe;YACxC,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,WAAW,EAAE,KAAK,CAAC,UAAU;YAC7B,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAE,KAAK,CAAC,WAAoB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;YACvF,kBAAkB,EAAE,KAAK,CAAC,KAAK,EAAE,WAAW;YAC5C,mBAAmB,EAAE,KAAK,CAAC,KAAK,EAAE,YAAY;YAC9C,mBAAmB,EAAE,KAAK,CAAC,KAAK,EAAE,YAAY;YAC9C,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI;YAC7B,UAAU,EAAE,KAAK,CAAC,SAAS;YAC3B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,wCAAwC,EAAE,KAAK,CAAC,oCAAoC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnK,cAAc,EAAE,KAAK,CAAC,YAAY;YAClC,UAAU,EAAE,KAAK,CAAC,SAAS;YAC3B,aAAa,EAAE,KAAK,CAAC,YAAY;YACjC,OAAO,EAAE,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;SACjF,CAAC;QAEF,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QACD,iDAAiD;QACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,KAAK,CAAC,SAAkB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAChC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,uBAAuB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAS,CAAC,GAAG,CAAC,GAAI,MAAc,CAAC,CAAC;IAC5G,CAAC;IAED,SAAS,CAAC,EAAU,EAAE,MAAqB,EAAE,KAAwB;QACnE,MAAM,KAAK,GAAiD,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC;QACxG,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;YAC/H,KAAK,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,EAAU;QACf,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,cAAc,CAAC,QAAgB;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,4DAA4D,CAAC,CAAC,GAAG,CAAC,QAAQ,CAA2B,CAAC;QAClI,OAAO,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/store/sessions.ts"],"names":[],"mappings":"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"}
|