@cardor/agent-harness-kit 0.10.3 → 0.12.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.js CHANGED
@@ -9,6 +9,7 @@ import { runServe } from './commands/serve.js';
9
9
  import { runMigrate } from './commands/migrate.js';
10
10
  import { runExport } from './commands/export.js';
11
11
  import { runTaskAdd, runTaskList, runTaskDone } from './commands/task/index.js';
12
+ import { runDashboard } from './commands/dashboard.js';
12
13
  const require = createRequire(import.meta.url);
13
14
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
14
15
  const pkg = require('../package.json');
@@ -91,6 +92,15 @@ task
91
92
  .action(async (idOrSlug) => {
92
93
  await runTaskDone(cwd, idOrSlug);
93
94
  });
95
+ // ─── dashboard ────────────────────────────────────────────────────────────────
96
+ program
97
+ .command('dashboard')
98
+ .description('Open web dashboard to visualize harness data')
99
+ .option('-p, --port <port>', 'Port to listen on', '4242')
100
+ .option('--no-open', 'Do not open browser automatically')
101
+ .action(async (opts) => {
102
+ await runDashboard(cwd, { port: parseInt(opts.port), open: opts.open });
103
+ });
94
104
  // ─── migrate ──────────────────────────────────────────────────────────────────
95
105
  program
96
106
  .command('migrate')
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ interface DashboardOptions {
2
+ port: number;
3
+ open: boolean;
4
+ }
5
+ export declare function runDashboard(cwd: string, opts: DashboardOptions): Promise<void>;
6
+ export {};
7
+ //# sourceMappingURL=dashboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":"AASA,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,OAAO,CAAA;CACd;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBrF"}
@@ -0,0 +1,27 @@
1
+ import { dirname, join, resolve } from 'node:path';
2
+ import { fileURLToPath } from 'node:url';
3
+ import pc from 'picocolors';
4
+ import { loadConfig } from '../core/config.js';
5
+ import { openDB } from '../core/db.js';
6
+ import { startDashboardServer } from '../core/dashboard-server.js';
7
+ const __dirname = dirname(fileURLToPath(import.meta.url));
8
+ export async function runDashboard(cwd, opts) {
9
+ const config = await loadConfig(cwd);
10
+ const db = openDB(config, cwd);
11
+ const dbPath = resolve(cwd, config.storage.dbPath);
12
+ const staticPath = join(__dirname, '..', 'dashboard-dist');
13
+ const { url } = startDashboardServer(db, dbPath, staticPath, opts.port);
14
+ console.log(pc.green(`✓`) + ` Dashboard running at ${pc.bold(pc.cyan(url))}`);
15
+ console.log(pc.dim(` WebSocket live updates enabled`));
16
+ console.log(pc.dim(` Press Ctrl+C to stop`));
17
+ if (opts.open) {
18
+ const { default: open } = await import('open');
19
+ await open(url);
20
+ }
21
+ process.on('SIGINT', () => {
22
+ process.exit(0);
23
+ });
24
+ // Keep process alive until SIGINT
25
+ await new Promise(() => { });
26
+ }
27
+ //# sourceMappingURL=dashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAElE,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAOzD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAW,EAAE,IAAsB;IACpE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAA;IACpC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAClD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAA;IAE1D,MAAM,EAAE,GAAG,EAAE,GAAG,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IAEvE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,yBAAyB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAA;IAC7E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAA;IACvD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAA;IAE7C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAA;QAC9C,MAAM,IAAI,CAAC,GAAG,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;IAEF,kCAAkC;IAClC,MAAM,IAAI,OAAO,CAAO,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;AACnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/commands/health.ts"],"names":[],"mappings":"AAYA,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuE1D"}
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/commands/health.ts"],"names":[],"mappings":"AAYA,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwE1D"}
@@ -3,8 +3,8 @@ import { spawnSync } from 'node:child_process';
3
3
  import { existsSync } from 'node:fs';
4
4
  import { join, resolve } from 'node:path';
5
5
  import { loadConfig } from '../core/config.js';
6
- function checkLine(label, ok, message) {
7
- const prefix = label ? pc.cyan(`[${label}] `) : '';
6
+ function checkLine(label, ok, message, indent = 0) {
7
+ const prefix = label ? pc.cyan(`[${label}] `) : ' '.repeat(indent);
8
8
  const icon = ok ? pc.green('✓') : pc.red('✗');
9
9
  console.log(prefix + icon + ' ' + (ok ? pc.green(message) : pc.red(message)));
10
10
  }
@@ -27,11 +27,12 @@ export async function runHealth(cwd) {
27
27
  // ─── [checking agents] ──────────────────────────────────────────────────────
28
28
  const agentsDir = config.provider === 'claude-code' ? '.claude/agents' : '.opencode/agents';
29
29
  const agentNames = ['lead', 'explorer', 'builder', 'reviewer'];
30
+ const agentsLabelWidth = '[checking agents] '.length;
30
31
  for (let i = 0; i < agentNames.length; i++) {
31
32
  const name = agentNames[i];
32
33
  const agentPath = join(cwd, agentsDir, `${name}.md`);
33
34
  const ok = existsSync(agentPath);
34
- checkLine(i === 0 ? 'checking agents' : null, ok, `${name}.md present`);
35
+ checkLine(i === 0 ? 'checking agents' : null, ok, `${name}.md present`, agentsLabelWidth);
35
36
  if (!ok)
36
37
  allOk = false;
37
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/commands/health.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/commands/health.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ export async function runTaskAdd(cwd) {
27
27
  p.log.info('Acceptance criteria — one per line, empty line to finish');
28
28
  while (true) {
29
29
  const val = await p.text({ message: '>', placeholder: 'Criterion (or press Enter to finish)' });
30
- if (p.isCancel(val) || !val.trim())
30
+ if (p.isCancel(val) || !val || !val.trim())
31
31
  break;
32
32
  acceptance.push(val.trim());
33
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/task/add.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/task/add.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { HarnessDB } from './db.js';
2
+ export interface DashboardServerResult {
3
+ url: string;
4
+ close: () => void;
5
+ }
6
+ export declare function startDashboardServer(db: HarnessDB, dbPath: string, staticPath: string, port: number): DashboardServerResult;
7
+ //# sourceMappingURL=dashboard-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-server.d.ts","sourceRoot":"","sources":["../../src/core/dashboard-server.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AA2BxC,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,qBAAqB,CA+NvB"}
@@ -0,0 +1,211 @@
1
+ import { Hono } from 'hono';
2
+ import { serve } from '@hono/node-server';
3
+ import { WebSocketServer } from 'ws';
4
+ import { watch } from 'node:fs';
5
+ import { existsSync, readFileSync } from 'node:fs';
6
+ import { join, extname } from 'node:path';
7
+ // ─── Static file serving ──────────────────────────────────────────────────────
8
+ const MIME = {
9
+ '.html': 'text/html; charset=utf-8',
10
+ '.js': 'application/javascript; charset=utf-8',
11
+ '.css': 'text/css; charset=utf-8',
12
+ '.json': 'application/json; charset=utf-8',
13
+ '.svg': 'image/svg+xml',
14
+ '.png': 'image/png',
15
+ '.ico': 'image/x-icon',
16
+ '.woff': 'font/woff',
17
+ '.woff2': 'font/woff2',
18
+ '.ttf': 'font/ttf',
19
+ };
20
+ function fileResponse(filePath) {
21
+ const content = readFileSync(filePath);
22
+ const mime = MIME[extname(filePath)] ?? 'application/octet-stream';
23
+ return new Response(content, {
24
+ headers: { 'Content-Type': mime, 'Cache-Control': 'no-cache' },
25
+ });
26
+ }
27
+ export function startDashboardServer(db, dbPath, staticPath, port) {
28
+ const app = new Hono();
29
+ // ─── CORS ─────────────────────────────────────────────────────────────────
30
+ app.use('/api/*', async (c, next) => {
31
+ await next();
32
+ c.res.headers.set('Access-Control-Allow-Origin', '*');
33
+ });
34
+ // ─── Stats overview ───────────────────────────────────────────────────────
35
+ app.get('/api/stats', (c) => {
36
+ const summary = db.getStatusSummary();
37
+ const byStatus = { pending: 0, in_progress: 0, done: 0, blocked: 0 };
38
+ for (const { status, total } of summary)
39
+ byStatus[status] = total;
40
+ const [{ total: totalActions }] = db.queryRaw(`SELECT COUNT(*) as total FROM actions`);
41
+ const [{ total: totalFiles }] = db.queryRaw(`SELECT COUNT(*) as total FROM action_files`);
42
+ const [{ total: uniqueTools }] = db.queryRaw(`SELECT COUNT(DISTINCT tool_name) as total FROM action_tools`);
43
+ const [{ total: activeAgents }] = db.queryRaw(`SELECT COUNT(DISTINCT agent) as total FROM actions WHERE status = 'in_progress'`);
44
+ return c.json({ byStatus, totalActions, totalFiles, uniqueTools, activeAgents });
45
+ });
46
+ // ─── Meta ─────────────────────────────────────────────────────────────────
47
+ app.get('/api/meta', (c) => {
48
+ return c.json({ ok: true });
49
+ });
50
+ // ─── Tasks list ───────────────────────────────────────────────────────────
51
+ app.get('/api/tasks', (c) => {
52
+ const rows = db.queryRaw(`
53
+ SELECT t.*,
54
+ COUNT(ta.id) as acceptance_total,
55
+ COALESCE(SUM(ta.met), 0) as acceptance_met
56
+ FROM tasks t
57
+ LEFT JOIN task_acceptance ta ON ta.task_id = t.id
58
+ GROUP BY t.id
59
+ ORDER BY t.id
60
+ `);
61
+ return c.json(rows);
62
+ });
63
+ // ─── Task detail ──────────────────────────────────────────────────────────
64
+ app.get('/api/tasks/:id', (c) => {
65
+ const id = parseInt(c.req.param('id'));
66
+ const task = db.getTaskById(id);
67
+ if (!task)
68
+ return c.json({ error: 'Not found' }, 404);
69
+ const acceptance = db.getTaskAcceptance(id);
70
+ const actions = db.getActionsForTask(id).map((action) => ({
71
+ ...action,
72
+ sections: db.getActionSections(action.id),
73
+ files: db.queryRaw(`SELECT * FROM action_files WHERE action_id = ?`, action.id),
74
+ tools: db.queryRaw(`SELECT * FROM action_tools WHERE action_id = ? ORDER BY called_at`, action.id),
75
+ }));
76
+ return c.json({ ...task, acceptance, actions });
77
+ });
78
+ // ─── Tools top ────────────────────────────────────────────────────────────
79
+ app.get('/api/tools/top', (c) => {
80
+ const limit = parseInt(c.req.query('limit') ?? '20');
81
+ return c.json(db.getTopTools(limit));
82
+ });
83
+ // ─── Tools recent ─────────────────────────────────────────────────────────
84
+ app.get('/api/tools/recent', (c) => {
85
+ const limit = parseInt(c.req.query('limit') ?? '50');
86
+ const rows = db.queryRaw(`
87
+ SELECT at.*, t.id as task_id, t.title as task_title, t.slug as task_slug, a.agent
88
+ FROM action_tools at
89
+ JOIN actions a ON at.action_id = a.id
90
+ JOIN tasks t ON a.task_id = t.id
91
+ ORDER BY at.called_at DESC
92
+ LIMIT ?
93
+ `, limit);
94
+ return c.json(rows);
95
+ });
96
+ // ─── Files top ────────────────────────────────────────────────────────────
97
+ app.get('/api/files/top', (c) => {
98
+ const limit = parseInt(c.req.query('limit') ?? '20');
99
+ const rows = db.queryRaw(`
100
+ SELECT
101
+ file_path,
102
+ COUNT(*) as total,
103
+ SUM(CASE WHEN operation='read' THEN 1 ELSE 0 END) as read,
104
+ SUM(CASE WHEN operation='created' THEN 1 ELSE 0 END) as created,
105
+ SUM(CASE WHEN operation='modified' THEN 1 ELSE 0 END) as modified,
106
+ SUM(CASE WHEN operation='deleted' THEN 1 ELSE 0 END) as deleted
107
+ FROM action_files
108
+ GROUP BY file_path
109
+ ORDER BY total DESC
110
+ LIMIT ?
111
+ `, limit);
112
+ return c.json(rows);
113
+ });
114
+ // ─── Files recent ─────────────────────────────────────────────────────────
115
+ app.get('/api/files/recent', (c) => {
116
+ const limit = parseInt(c.req.query('limit') ?? '50');
117
+ const rows = db.queryRaw(`
118
+ SELECT af.*, t.id as task_id, t.title as task_title, t.slug as task_slug,
119
+ a.agent, a.created_at as called_at
120
+ FROM action_files af
121
+ JOIN actions a ON af.action_id = a.id
122
+ JOIN tasks t ON a.task_id = t.id
123
+ ORDER BY a.created_at DESC
124
+ LIMIT ?
125
+ `, limit);
126
+ return c.json(rows);
127
+ });
128
+ // ─── Agents stats ─────────────────────────────────────────────────────────
129
+ app.get('/api/agents/stats', (c) => {
130
+ const rows = db.queryRaw(`
131
+ SELECT
132
+ a.agent,
133
+ COUNT(*) as actions_total,
134
+ SUM(CASE WHEN a.status='completed' THEN 1 ELSE 0 END) as actions_done,
135
+ SUM(CASE WHEN a.status='blocked' THEN 1 ELSE 0 END) as actions_blocked,
136
+ COUNT(DISTINCT a.task_id) as tasks_worked,
137
+ COUNT(DISTINCT af.file_path) as files_touched
138
+ FROM actions a
139
+ LEFT JOIN action_files af ON af.action_id = a.id
140
+ GROUP BY a.agent
141
+ ORDER BY actions_total DESC
142
+ `);
143
+ return c.json(rows);
144
+ });
145
+ // ─── Timeline ─────────────────────────────────────────────────────────────
146
+ app.get('/api/timeline', (c) => {
147
+ const limit = parseInt(c.req.query('limit') ?? '50');
148
+ const rows = db.queryRaw(`
149
+ SELECT a.*, t.title as task_title, t.slug as task_slug, t.status as task_status
150
+ FROM actions a
151
+ JOIN tasks t ON a.task_id = t.id
152
+ ORDER BY a.created_at DESC
153
+ LIMIT ?
154
+ `, limit);
155
+ return c.json(rows);
156
+ });
157
+ // ─── Static SPA ───────────────────────────────────────────────────────────
158
+ app.get('/*', (c) => {
159
+ const urlPath = c.req.path;
160
+ if (urlPath !== '/') {
161
+ const candidate = join(staticPath, urlPath);
162
+ if (existsSync(candidate)) {
163
+ try {
164
+ return fileResponse(candidate);
165
+ }
166
+ catch { /* fall through */ }
167
+ }
168
+ }
169
+ return fileResponse(join(staticPath, 'index.html'));
170
+ });
171
+ // ─── Start HTTP server ────────────────────────────────────────────────────
172
+ const httpServer = serve({ fetch: app.fetch, port });
173
+ // ─── WebSocket ────────────────────────────────────────────────────────────
174
+ const wss = new WebSocketServer({ noServer: true });
175
+ httpServer.on('upgrade', (req, socket, head) => {
176
+ if (req.url === '/ws') {
177
+ wss.handleUpgrade(req, socket, head, (ws) => {
178
+ wss.emit('connection', ws, req);
179
+ });
180
+ }
181
+ else {
182
+ socket.destroy();
183
+ }
184
+ });
185
+ // ─── DB file watcher → broadcast update ──────────────────────────────────
186
+ let debounce;
187
+ const broadcast = () => {
188
+ clearTimeout(debounce);
189
+ debounce = setTimeout(() => {
190
+ for (const client of wss.clients) {
191
+ if (client.readyState === 1) {
192
+ client.send(JSON.stringify({ type: 'update' }));
193
+ }
194
+ }
195
+ }, 150);
196
+ };
197
+ // Watch WAL file for writes (more responsive in WAL mode)
198
+ const walPath = `${dbPath}-wal`;
199
+ const watchTarget = existsSync(walPath) ? walPath : dbPath;
200
+ const watcher = watch(watchTarget, broadcast);
201
+ return {
202
+ url: `http://localhost:${port}`,
203
+ close: () => {
204
+ clearTimeout(debounce);
205
+ watcher.close();
206
+ wss.close();
207
+ httpServer.close();
208
+ },
209
+ };
210
+ }
211
+ //# sourceMappingURL=dashboard-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-server.js","sourceRoot":"","sources":["../../src/core/dashboard-server.ts"],"names":[],"mappings":"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"}
package/dist/core/db.d.ts CHANGED
@@ -35,6 +35,7 @@ export declare class HarnessDB {
35
35
  total: number;
36
36
  }[];
37
37
  regenerateCurrentMd(): void;
38
+ queryRaw<T = Record<string, unknown>>(sql: string, ...params: unknown[]): T[];
38
39
  exportJson(): {
39
40
  tasks: TaskRow[];
40
41
  actions: ActionRow[];
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/core/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/core/db.ts"],"names":[],"mappings":"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"}
package/dist/core/db.js CHANGED
@@ -294,6 +294,10 @@ export class HarnessDB {
294
294
  }
295
295
  writeFileSync(mdPath, md, 'utf8');
296
296
  }
297
+ // ─── Raw query (dashboard / analytics) ───────────────────────────────────
298
+ queryRaw(sql, ...params) {
299
+ return this.db.prepare(sql).all(...params);
300
+ }
297
301
  // ─── Export helpers ───────────────────────────────────────────────────────
298
302
  exportJson() {
299
303
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/core/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/core/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAiB,MAAM,qBAAqB,CAAA;AAa7E,iFAAiF;AAEjF,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiEd,CAAA;AAED,iFAAiF;AAEjF,MAAM,OAAO,SAAS;IACZ,EAAE,CAAU;IACZ,MAAM,CAAe;IAE7B,YAAY,MAAc,EAAE,MAAqB;QAC/C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;QAC3B,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;QACzB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;QACzC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;QACxC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACtB,CAAC;IAED,6EAA6E;IAE7E,OAAO,CAAC,MAKP;QACC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QACpC,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;sEAC8D,CAC/D;aACA,GAAG,CAAC;YACH,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,IAAI;YACvC,UAAU,EAAE,GAAG;SAChB,CAAC,CAAA;QAEJ,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEpC,IAAI,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC7B,gEAAgE,CACjE,CAAA;YACD,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;YAChC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAE,CAAA;IAClC,CAAC;IAED,QAAQ,CAAC,MAAmB;QAC1B,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,EAAE;iBACX,OAAO,CAAC,kDAAkD,CAAC;iBAC3D,GAAG,CAAC,MAAM,CAAyB,CAAA;QACxC,CAAC;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,GAAG,EAA0B,CAAA;IACzF,CAAC;IAED,WAAW,CAAC,EAAU;QACpB,OAAQ,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAwB,IAAI,IAAI,CAAA;IACpG,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,OAAQ,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAwB,IAAI,IAAI,CAAA;IACxG,CAAC;IAED,iBAAiB,CAAC,MAAc;QAC9B,OAAO,IAAI,CAAC,EAAE;aACX,OAAO,CAAC,iDAAiD,CAAC;aAC1D,GAAG,CAAC,MAAM,CAAmC,CAAA;IAClD,CAAC;IAED,gBAAgB,CAAC,QAAyB,EAAE,MAAkB;QAC5D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QACpC,MAAM,IAAI,GACR,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAC1F,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAA;QAEzD,IAAI,MAAM,KAAK,aAAa,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACjD,IAAI,CAAC,EAAE;iBACJ,OAAO,CACN,0DAA0D,CAC3D;iBACA,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;QAC9B,CAAC;aAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7B,IAAI,CAAC,EAAE;iBACJ,OAAO,CACN,4DAA4D,CAC7D;iBACA,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;QAC9B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;QAClF,CAAC;QAED,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAE,CAAA;IACnC,CAAC;IAED,SAAS,CAAC,EAAU,EAAE,KAAa;QACjC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QACpC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC/B,IAAI,CAAC;YACH,IAAI,CAAC,EAAE;iBACJ,OAAO,CACN;+CACqC,CACtC;iBACA,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;YACtB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAEtB,4EAA4E;YAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;YACjC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK;gBAAE,OAAO,IAAI,CAAA;YAErF,IAAI,CAAC,mBAAmB,EAAE,CAAA;YAC1B,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACxB,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED,6EAA6E;IAE7E,WAAW,CAAC,MAAc,EAAE,KAAgB;QAC1C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QACpC,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;QACvB,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;4CACoC,CACrC;aACA,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QAE9B,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAE,CAAA;IAC5B,CAAC;IAED,YAAY,CAAC,QAAgB,EAAE,WAAmB,EAAE,OAAe;QACjE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QACpC,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;6BACqB,CACtB;aACA,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;QAE3C,IAAI,CAAC,mBAAmB,EAAE,CAAA;IAC5B,CAAC;IAED,cAAc,CAAC,QAAgB,EAAE,OAAe;QAC9C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QACpC,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;sBACc,CACf;aACA,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QAE9B,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAE,CAAA;IAClC,CAAC;IAED,SAAS,CAAC,QAAgB;QACxB,OAAO,CACJ,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAA0B,IAAI,IAAI,CACtG,CAAA;IACH,CAAC;IAED,iBAAiB,CAAC,MAAc;QAC9B,OAAO,IAAI,CAAC,EAAE;aACX,OAAO,CAAC,6DAA6D,CAAC;aACtE,GAAG,CAAC,MAAM,CAA2B,CAAA;IAC1C,CAAC;IAED,iBAAiB,CAAC,QAAgB;QAChC,OAAO,IAAI,CAAC,EAAE;aACX,OAAO,CACN,uEAAuE,CACxE;aACA,GAAG,CAAC,QAAQ,CAAkC,CAAA;IACnD,CAAC;IAED,UAAU,CACR,QAAgB,EAChB,QAAgB,EAChB,SAAqC,EACrC,KAAc;QAEd,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;6BACqB,CACtB;aACA,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,IAAI,IAAI,CAAC,CAAA;IACtD,CAAC;IAED,UAAU,CACR,QAAgB,EAChB,QAAgB,EAChB,QAAiB,EACjB,aAAsB;QAEtB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QACpC,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;gCACwB,CACzB;aACA,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,IAAI,EAAE,aAAa,IAAI,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1E,CAAC;IAED,eAAe,CAAC,MAAc;QAC5B,OAAO,IAAI,CAAC,EAAE;aACX,OAAO,CACN;;;;wCAIgC,CACjC;aACA,GAAG,CAAC,MAAM,CAAwD,CAAA;IACvE,CAAC;IAED,WAAW,CAAC,KAAK,GAAG,EAAE;QACpB,OAAO,IAAI,CAAC,EAAE;aACX,OAAO,CACN;;;;iBAIS,CACV;aACA,GAAG,CAAC,KAAK,CAA0C,CAAA;IACxD,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,EAAE;aACX,OAAO,CAAC,6DAA6D,CAAC;aACtE,GAAG,EAAyC,CAAA;IACjD,CAAC;IAED,6EAA6E;IAE7E,mBAAmB;QACjB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO;YAAE,OAAM;QAEzD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACjE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAE/C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;QAC/C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAEpC,IAAI,EAAE,GAAG,uEAAuE,CAAA;QAChF,EAAE,IAAI,sBAAsB,GAAG,UAAU,CAAA;QACzC,EAAE,IAAI,uBAAuB,CAAA;QAE7B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,EAAE,IAAI,6BAA6B,CAAA;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YACxC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,EAAE,IAAI,0BAA0B,CAAA;gBAChC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBACpC,EAAE,IAAI,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,IAAI,OAAO,CAAA;gBACrD,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,EAAE,IAAI,kBAAkB,CAAA;gBACxB,EAAE,IAAI,aAAa,IAAI,CAAC,EAAE,IAAI,CAAA;gBAC9B,EAAE,IAAI,eAAe,IAAI,CAAC,IAAI,IAAI,CAAA;gBAClC,EAAE,IAAI,iBAAiB,IAAI,CAAC,MAAM,IAAI,CAAA;gBACtC,EAAE,IAAI,kBAAkB,IAAI,CAAC,UAAU,IAAI,SAAS,MAAM,CAAA;gBAE1D,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAC/C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,EAAE,IAAI,2BAA2B,CAAA;oBACjC,EAAE,IAAI,+EAA+E,CAAA;oBACrF,EAAE,IAAI,+EAA+E,CAAA;oBACrF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;wBACxB,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;wBAC1C,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;wBACzD,EAAE,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,OAAO,MAAM,OAAO,YAAY,CAAA;oBAC7F,CAAC;oBACD,EAAE,IAAI,IAAI,CAAA;gBACZ,CAAC;gBAED,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAClD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,EAAE,IAAI,0BAA0B,CAAA;oBAChC,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;wBAC3B,EAAE,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,SAAS,IAAI,CAAA;oBACnD,CAAC;oBACD,EAAE,IAAI,IAAI,CAAA;gBACZ,CAAC;YACH,CAAC;QACH,CAAC;QAED,aAAa,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;IACnC,CAAC;IAED,4EAA4E;IAE5E,QAAQ,CAA8B,GAAW,EAAE,GAAG,MAAiB;QACrE,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAmB,CAAA;IAC9D,CAAC;IAED,6EAA6E;IAE7E,UAAU;QACR,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;YACtB,OAAO,EAAE,IAAI,CAAC,EAAE;iBACb,OAAO,CAAC,2CAA2C,CAAC;iBACpD,GAAG,EAA4B;YAClC,QAAQ,EAAE,IAAI,CAAC,EAAE;iBACd,OAAO,CAAC,mDAAmD,CAAC;iBAC5D,GAAG,EAAmC;SAC1C,CAAA;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;IACjB,CAAC;IAED,6EAA6E;IAE7E,mBAAmB,CACjB,KAKG;QAEH,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,IAAI,OAAO,GAAG,CAAC,CAAA;QAEf,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,OAAO,EAAE,CAAA;gBACT,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YACf,KAAK,EAAE,CAAA;QACT,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;IAC3B,CAAC;IAED,gBAAgB,CAAC,GAAW;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,SAAS;YACvC,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC,CAAC,CAAA;QAEH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAA;QAC7E,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC7C,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAA;IACnE,CAAC;CACF;AAED,MAAM,UAAU,MAAM,CAAC,MAAqB,EAAE,GAAW;IACvD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACxD,OAAO,IAAI,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AACtC,CAAC"}