@goondocks/myco 0.13.0 → 0.14.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/{agent-run-YBASQHC7.js → agent-run-3WLMSLMJ.js} +4 -4
- package/dist/{agent-tasks-WBQFDHWC.js → agent-tasks-BQE2GEVS.js} +4 -4
- package/dist/{chunk-NCVR636M.js → chunk-4VF6KQ2Z.js} +55 -4
- package/dist/chunk-4VF6KQ2Z.js.map +1 -0
- package/dist/{chunk-T77674VB.js → chunk-745SWTQX.js} +3 -3
- package/dist/{chunk-YYQWCTF6.js → chunk-EVPG26CR.js} +2 -2
- package/dist/{chunk-5BK6M6X5.js → chunk-JJXVDCEX.js} +160 -95
- package/dist/chunk-JJXVDCEX.js.map +1 -0
- package/dist/{chunk-W3T3QDBN.js → chunk-PSYLKCWQ.js} +17 -2
- package/dist/chunk-PSYLKCWQ.js.map +1 -0
- package/dist/{chunk-LPISXFM4.js → chunk-PX5KIOKY.js} +2 -2
- package/dist/chunk-QLCD77AN.js +93 -0
- package/dist/chunk-QLCD77AN.js.map +1 -0
- package/dist/{chunk-NRT2ZRUG.js → chunk-S66YG6QK.js} +19 -1
- package/dist/{chunk-NRT2ZRUG.js.map → chunk-S66YG6QK.js.map} +1 -1
- package/dist/{chunk-TFGGH6UB.js → chunk-SBVDG5JP.js} +2 -2
- package/dist/{chunk-2PWO3WPS.js → chunk-TVV6PZOC.js} +2 -2
- package/dist/{chunk-VQEXXS56.js → chunk-UWXJCLCK.js} +2 -2
- package/dist/{chunk-JBFFAGJK.js → chunk-X34OFKYU.js} +2 -2
- package/dist/{chunk-EUQQVKGQ.js → chunk-ZKXW46HZ.js} +2 -2
- package/dist/{cli-WCBTILMW.js → cli-SKCINMJI.js} +36 -36
- package/dist/{client-MJUZJ5MC.js → client-KZGZHHXT.js} +3 -3
- package/dist/{config-WBCOTJUE.js → config-H657SF6B.js} +2 -2
- package/dist/{doctor-GDCLRJOF.js → doctor-6FKSHJRU.js} +5 -5
- package/dist/{executor-TCAXFOIS.js → executor-W5MKZH7B.js} +49 -23
- package/dist/executor-W5MKZH7B.js.map +1 -0
- package/dist/{init-ZSDMXY4T.js → init-5QHCXBLF.js} +10 -10
- package/dist/{init-wizard-6LDUVR7C.js → init-wizard-HEY4HMG3.js} +2 -2
- package/dist/{loader-L2TCAYCT.js → loader-JQLO6K44.js} +2 -2
- package/dist/{main-25MKYYKO.js → main-IZ277SHB.js} +255 -39
- package/dist/main-IZ277SHB.js.map +1 -0
- package/dist/{open-4YTUNIP3.js → open-S7YUWON4.js} +4 -4
- package/dist/{post-compact-E5V4OZJB.js → post-compact-EFKFT7TM.js} +4 -4
- package/dist/{post-tool-use-Y6UWKCVD.js → post-tool-use-624YC6ZH.js} +3 -3
- package/dist/{post-tool-use-failure-AHFXMNHX.js → post-tool-use-failure-QCHZAWQH.js} +4 -4
- package/dist/{pre-compact-EI5EV3N7.js → pre-compact-7DWH2EM3.js} +4 -4
- package/dist/{remove-F63WBELE.js → remove-ESVIET5C.js} +4 -4
- package/dist/{resolution-events-BZYMUQ53.js → resolution-events-5EVUEWHS.js} +3 -3
- package/dist/{restart-GULUNCMX.js → restart-AZHV6OKM.js} +5 -5
- package/dist/{search-NLZMCEAG.js → search-JS4HXYGS.js} +4 -4
- package/dist/{server-CXPWUO6H.js → server-KT5GW333.js} +3 -3
- package/dist/{session-XXVEDIQZ.js → session-JSI67FEM.js} +6 -6
- package/dist/{session-end-6DP6VTZV.js → session-end-4CM462MC.js} +3 -3
- package/dist/{session-start-QNAQDF5M.js → session-start-ZGF7F6DE.js} +8 -8
- package/dist/{setup-llm-ER3B7AZ2.js → setup-llm-S2UYJYIS.js} +5 -5
- package/dist/src/cli.js +1 -1
- package/dist/src/daemon/main.js +1 -1
- package/dist/src/hooks/post-tool-use.js +1 -1
- package/dist/src/hooks/session-end.js +1 -1
- package/dist/src/hooks/session-start.js +1 -1
- package/dist/src/hooks/stop.js +1 -1
- package/dist/src/hooks/user-prompt-submit.js +1 -1
- package/dist/src/mcp/server.js +1 -1
- package/dist/{stats-VQ7XMOCU.js → stats-D2FM6ZXO.js} +6 -6
- package/dist/{stop-VTO2KIRG.js → stop-DQEKVNST.js} +3 -3
- package/dist/{stop-failure-C5T6LJQR.js → stop-failure-EHH7AN5E.js} +4 -4
- package/dist/{subagent-start-NZF42NKF.js → subagent-start-6R52PAFA.js} +4 -4
- package/dist/{subagent-stop-UV5ECFVU.js → subagent-stop-CLDFJKYQ.js} +4 -4
- package/dist/{task-completed-3SV6TL3V.js → task-completed-V47JA3OV.js} +4 -4
- package/dist/{team-XSJXLBZX.js → team-SJPDXELY.js} +2 -2
- package/dist/turns-3ZQAF6HF.js +16 -0
- package/dist/ui/assets/index-BmsHIwjl.css +1 -0
- package/dist/ui/assets/index-Cn6cQwJy.js +842 -0
- package/dist/ui/index.html +2 -2
- package/dist/{update-5GXOQIY5.js → update-ZNIYDQHJ.js} +4 -4
- package/dist/{user-prompt-submit-VLQG77A6.js → user-prompt-submit-6TX6VECI.js} +3 -3
- package/dist/{verify-WF7U3NQW.js → verify-JHIMXTY5.js} +2 -2
- package/dist/{version-RGX7TZ7V.js → version-UMEN7OJU.js} +2 -2
- package/dist/version-UMEN7OJU.js.map +1 -0
- package/package.json +1 -1
- package/dist/chunk-5BK6M6X5.js.map +0 -1
- package/dist/chunk-NCVR636M.js.map +0 -1
- package/dist/chunk-W3T3QDBN.js.map +0 -1
- package/dist/executor-TCAXFOIS.js.map +0 -1
- package/dist/main-25MKYYKO.js.map +0 -1
- package/dist/ui/assets/index-BeygBZGu.css +0 -1
- package/dist/ui/assets/index-CbGC0T_o.js +0 -822
- /package/dist/{agent-run-YBASQHC7.js.map → agent-run-3WLMSLMJ.js.map} +0 -0
- /package/dist/{agent-tasks-WBQFDHWC.js.map → agent-tasks-BQE2GEVS.js.map} +0 -0
- /package/dist/{chunk-T77674VB.js.map → chunk-745SWTQX.js.map} +0 -0
- /package/dist/{chunk-YYQWCTF6.js.map → chunk-EVPG26CR.js.map} +0 -0
- /package/dist/{chunk-LPISXFM4.js.map → chunk-PX5KIOKY.js.map} +0 -0
- /package/dist/{chunk-TFGGH6UB.js.map → chunk-SBVDG5JP.js.map} +0 -0
- /package/dist/{chunk-2PWO3WPS.js.map → chunk-TVV6PZOC.js.map} +0 -0
- /package/dist/{chunk-VQEXXS56.js.map → chunk-UWXJCLCK.js.map} +0 -0
- /package/dist/{chunk-JBFFAGJK.js.map → chunk-X34OFKYU.js.map} +0 -0
- /package/dist/{chunk-EUQQVKGQ.js.map → chunk-ZKXW46HZ.js.map} +0 -0
- /package/dist/{cli-WCBTILMW.js.map → cli-SKCINMJI.js.map} +0 -0
- /package/dist/{client-MJUZJ5MC.js.map → client-KZGZHHXT.js.map} +0 -0
- /package/dist/{config-WBCOTJUE.js.map → config-H657SF6B.js.map} +0 -0
- /package/dist/{doctor-GDCLRJOF.js.map → doctor-6FKSHJRU.js.map} +0 -0
- /package/dist/{init-ZSDMXY4T.js.map → init-5QHCXBLF.js.map} +0 -0
- /package/dist/{init-wizard-6LDUVR7C.js.map → init-wizard-HEY4HMG3.js.map} +0 -0
- /package/dist/{loader-L2TCAYCT.js.map → loader-JQLO6K44.js.map} +0 -0
- /package/dist/{open-4YTUNIP3.js.map → open-S7YUWON4.js.map} +0 -0
- /package/dist/{post-compact-E5V4OZJB.js.map → post-compact-EFKFT7TM.js.map} +0 -0
- /package/dist/{post-tool-use-Y6UWKCVD.js.map → post-tool-use-624YC6ZH.js.map} +0 -0
- /package/dist/{post-tool-use-failure-AHFXMNHX.js.map → post-tool-use-failure-QCHZAWQH.js.map} +0 -0
- /package/dist/{pre-compact-EI5EV3N7.js.map → pre-compact-7DWH2EM3.js.map} +0 -0
- /package/dist/{remove-F63WBELE.js.map → remove-ESVIET5C.js.map} +0 -0
- /package/dist/{resolution-events-BZYMUQ53.js.map → resolution-events-5EVUEWHS.js.map} +0 -0
- /package/dist/{restart-GULUNCMX.js.map → restart-AZHV6OKM.js.map} +0 -0
- /package/dist/{search-NLZMCEAG.js.map → search-JS4HXYGS.js.map} +0 -0
- /package/dist/{server-CXPWUO6H.js.map → server-KT5GW333.js.map} +0 -0
- /package/dist/{session-XXVEDIQZ.js.map → session-JSI67FEM.js.map} +0 -0
- /package/dist/{session-end-6DP6VTZV.js.map → session-end-4CM462MC.js.map} +0 -0
- /package/dist/{session-start-QNAQDF5M.js.map → session-start-ZGF7F6DE.js.map} +0 -0
- /package/dist/{setup-llm-ER3B7AZ2.js.map → setup-llm-S2UYJYIS.js.map} +0 -0
- /package/dist/{stats-VQ7XMOCU.js.map → stats-D2FM6ZXO.js.map} +0 -0
- /package/dist/{stop-VTO2KIRG.js.map → stop-DQEKVNST.js.map} +0 -0
- /package/dist/{stop-failure-C5T6LJQR.js.map → stop-failure-EHH7AN5E.js.map} +0 -0
- /package/dist/{subagent-start-NZF42NKF.js.map → subagent-start-6R52PAFA.js.map} +0 -0
- /package/dist/{subagent-stop-UV5ECFVU.js.map → subagent-stop-CLDFJKYQ.js.map} +0 -0
- /package/dist/{task-completed-3SV6TL3V.js.map → task-completed-V47JA3OV.js.map} +0 -0
- /package/dist/{team-XSJXLBZX.js.map → team-SJPDXELY.js.map} +0 -0
- /package/dist/{version-RGX7TZ7V.js.map → turns-3ZQAF6HF.js.map} +0 -0
- /package/dist/{update-5GXOQIY5.js.map → update-ZNIYDQHJ.js.map} +0 -0
- /package/dist/{user-prompt-submit-VLQG77A6.js.map → user-prompt-submit-6TX6VECI.js.map} +0 -0
- /package/dist/{verify-WF7U3NQW.js.map → verify-JHIMXTY5.js.map} +0 -0
|
@@ -2,7 +2,10 @@ import { createRequire as __cr } from 'node:module'; const require = __cr(import
|
|
|
2
2
|
import {
|
|
3
3
|
getTeamMachineId,
|
|
4
4
|
syncRow
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-S66YG6QK.js";
|
|
6
|
+
import {
|
|
7
|
+
loadConfig
|
|
8
|
+
} from "./chunk-PSYLKCWQ.js";
|
|
6
9
|
import {
|
|
7
10
|
getDatabase
|
|
8
11
|
} from "./chunk-MYX5NCRH.js";
|
|
@@ -14,7 +17,8 @@ import {
|
|
|
14
17
|
EDGE_TYPE_FROM_SESSION,
|
|
15
18
|
EDGE_TYPE_HAS_BATCH,
|
|
16
19
|
GRAPH_EDGE_DEFAULT_CONFIDENCE,
|
|
17
|
-
QUERY_DEFAULT_LIST_LIMIT
|
|
20
|
+
QUERY_DEFAULT_LIST_LIMIT,
|
|
21
|
+
epochSeconds
|
|
18
22
|
} from "./chunk-TRA3R4EC.js";
|
|
19
23
|
|
|
20
24
|
// src/db/queries/batches.ts
|
|
@@ -209,6 +213,125 @@ function countBatchesBySession(sessionId) {
|
|
|
209
213
|
return row.count;
|
|
210
214
|
}
|
|
211
215
|
|
|
216
|
+
// src/notifications/notify.ts
|
|
217
|
+
import crypto from "crypto";
|
|
218
|
+
|
|
219
|
+
// src/db/queries/notifications.ts
|
|
220
|
+
var DEFAULT_LIMIT = 50;
|
|
221
|
+
var NOTIFICATION_PRUNE_AGE_SECONDS = 30 * 24 * 60 * 60;
|
|
222
|
+
function insertNotification(n) {
|
|
223
|
+
const db = getDatabase();
|
|
224
|
+
db.prepare(
|
|
225
|
+
`INSERT INTO notifications (id, domain, type, level, title, message, mode, status, link, metadata, created_at)
|
|
226
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, 'unread', ?, ?, ?)`
|
|
227
|
+
).run(n.id, n.domain, n.type, n.level, n.title, n.message, n.mode, n.link, n.metadata, epochSeconds());
|
|
228
|
+
}
|
|
229
|
+
function listNotifications(opts = {}) {
|
|
230
|
+
const db = getDatabase();
|
|
231
|
+
const conditions = [];
|
|
232
|
+
const params = [];
|
|
233
|
+
if (opts.status) {
|
|
234
|
+
conditions.push("status = ?");
|
|
235
|
+
params.push(opts.status);
|
|
236
|
+
}
|
|
237
|
+
if (opts.domain) {
|
|
238
|
+
conditions.push("domain = ?");
|
|
239
|
+
params.push(opts.domain);
|
|
240
|
+
}
|
|
241
|
+
if (opts.mode) {
|
|
242
|
+
conditions.push("mode = ?");
|
|
243
|
+
params.push(opts.mode);
|
|
244
|
+
}
|
|
245
|
+
const where = conditions.length > 0 ? `WHERE ${conditions.join(" AND ")}` : "";
|
|
246
|
+
const limit = opts.limit ?? DEFAULT_LIMIT;
|
|
247
|
+
const offset = opts.offset ?? 0;
|
|
248
|
+
return db.prepare(
|
|
249
|
+
`SELECT * FROM notifications ${where} ORDER BY created_at DESC LIMIT ? OFFSET ?`
|
|
250
|
+
).all(...params, limit, offset);
|
|
251
|
+
}
|
|
252
|
+
function countNotifications(status) {
|
|
253
|
+
const db = getDatabase();
|
|
254
|
+
if (status) {
|
|
255
|
+
const row2 = db.prepare("SELECT COUNT(*) as count FROM notifications WHERE status = ?").get(status);
|
|
256
|
+
return row2.count;
|
|
257
|
+
}
|
|
258
|
+
const row = db.prepare("SELECT COUNT(*) as count FROM notifications").get();
|
|
259
|
+
return row.count;
|
|
260
|
+
}
|
|
261
|
+
function getNotification(id) {
|
|
262
|
+
const db = getDatabase();
|
|
263
|
+
return db.prepare("SELECT * FROM notifications WHERE id = ?").get(id);
|
|
264
|
+
}
|
|
265
|
+
function updateNotificationStatus(id, status) {
|
|
266
|
+
const db = getDatabase();
|
|
267
|
+
const result = db.prepare("UPDATE notifications SET status = ? WHERE id = ?").run(status, id);
|
|
268
|
+
return result.changes > 0;
|
|
269
|
+
}
|
|
270
|
+
function dismissAllNotifications(domain) {
|
|
271
|
+
const db = getDatabase();
|
|
272
|
+
if (domain) {
|
|
273
|
+
const result2 = db.prepare("UPDATE notifications SET status = 'dismissed' WHERE domain = ? AND status != 'dismissed'").run(domain);
|
|
274
|
+
return result2.changes;
|
|
275
|
+
}
|
|
276
|
+
const result = db.prepare("UPDATE notifications SET status = 'dismissed' WHERE status != 'dismissed'").run();
|
|
277
|
+
return result.changes;
|
|
278
|
+
}
|
|
279
|
+
function markAllRead(domain) {
|
|
280
|
+
const db = getDatabase();
|
|
281
|
+
if (domain) {
|
|
282
|
+
const result2 = db.prepare("UPDATE notifications SET status = 'read' WHERE domain = ? AND status = 'unread'").run(domain);
|
|
283
|
+
return result2.changes;
|
|
284
|
+
}
|
|
285
|
+
const result = db.prepare("UPDATE notifications SET status = 'read' WHERE status = 'unread'").run();
|
|
286
|
+
return result.changes;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
// src/notifications/registry.ts
|
|
290
|
+
var domains = /* @__PURE__ */ new Map();
|
|
291
|
+
function register(descriptor) {
|
|
292
|
+
domains.set(descriptor.domain, descriptor);
|
|
293
|
+
}
|
|
294
|
+
function getAllDomains() {
|
|
295
|
+
return [...domains.values()].sort((a, b) => a.domain.localeCompare(b.domain));
|
|
296
|
+
}
|
|
297
|
+
function getType(typeId) {
|
|
298
|
+
for (const descriptor of domains.values()) {
|
|
299
|
+
const match = descriptor.types.find((t) => t.id === typeId);
|
|
300
|
+
if (match) return { domain: descriptor, type: match };
|
|
301
|
+
}
|
|
302
|
+
return void 0;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
// src/notifications/notify.ts
|
|
306
|
+
function notify(vaultDir, payload, config) {
|
|
307
|
+
if (!vaultDir) return null;
|
|
308
|
+
try {
|
|
309
|
+
const cfg = config ?? loadConfig(vaultDir);
|
|
310
|
+
if (!cfg.notifications.enabled) return null;
|
|
311
|
+
const domainConfig = cfg.notifications.domains[payload.domain];
|
|
312
|
+
if (domainConfig && !domainConfig.enabled) return null;
|
|
313
|
+
const registeredType = getType(payload.type);
|
|
314
|
+
const mode = payload.mode ?? domainConfig?.mode ?? registeredType?.type.defaultMode ?? cfg.notifications.default_mode;
|
|
315
|
+
const level = payload.level ?? registeredType?.type.defaultLevel ?? "info";
|
|
316
|
+
const id = crypto.randomUUID();
|
|
317
|
+
insertNotification({
|
|
318
|
+
id,
|
|
319
|
+
domain: payload.domain,
|
|
320
|
+
type: payload.type,
|
|
321
|
+
level,
|
|
322
|
+
title: payload.title,
|
|
323
|
+
message: payload.message ?? null,
|
|
324
|
+
mode,
|
|
325
|
+
link: payload.link ?? null,
|
|
326
|
+
metadata: payload.metadata ? JSON.stringify(payload.metadata) : null
|
|
327
|
+
});
|
|
328
|
+
return id;
|
|
329
|
+
} catch (err) {
|
|
330
|
+
console.warn("[notify] Failed to emit notification:", err instanceof Error ? err.message : err);
|
|
331
|
+
return null;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
|
|
212
335
|
// src/utils/error-message.ts
|
|
213
336
|
function errorMessage(err) {
|
|
214
337
|
if (err instanceof Error) return err.message || err.constructor.name || "Error";
|
|
@@ -570,71 +693,6 @@ function deleteSkillRecordCascade(idOrName) {
|
|
|
570
693
|
return { id: record.id, name: record.name };
|
|
571
694
|
}
|
|
572
695
|
|
|
573
|
-
// src/db/queries/turns.ts
|
|
574
|
-
var TURN_COLUMNS = [
|
|
575
|
-
"id",
|
|
576
|
-
"run_id",
|
|
577
|
-
"agent_id",
|
|
578
|
-
"turn_number",
|
|
579
|
-
"tool_name",
|
|
580
|
-
"tool_input",
|
|
581
|
-
"tool_output_summary",
|
|
582
|
-
"started_at",
|
|
583
|
-
"completed_at"
|
|
584
|
-
];
|
|
585
|
-
var SELECT_COLUMNS4 = TURN_COLUMNS.join(", ");
|
|
586
|
-
function toTurnRow(row) {
|
|
587
|
-
return {
|
|
588
|
-
id: row.id,
|
|
589
|
-
run_id: row.run_id,
|
|
590
|
-
agent_id: row.agent_id,
|
|
591
|
-
turn_number: row.turn_number,
|
|
592
|
-
tool_name: row.tool_name,
|
|
593
|
-
tool_input: row.tool_input ?? null,
|
|
594
|
-
tool_output_summary: row.tool_output_summary ?? null,
|
|
595
|
-
started_at: row.started_at ?? null,
|
|
596
|
-
completed_at: row.completed_at ?? null
|
|
597
|
-
};
|
|
598
|
-
}
|
|
599
|
-
function insertTurn(data) {
|
|
600
|
-
const db = getDatabase();
|
|
601
|
-
const info = db.prepare(
|
|
602
|
-
`INSERT INTO agent_turns (
|
|
603
|
-
run_id, agent_id, turn_number, tool_name,
|
|
604
|
-
tool_input, tool_output_summary, started_at, completed_at
|
|
605
|
-
) VALUES (
|
|
606
|
-
?, ?, ?, ?,
|
|
607
|
-
?, ?, ?, ?
|
|
608
|
-
)`
|
|
609
|
-
).run(
|
|
610
|
-
data.run_id,
|
|
611
|
-
data.agent_id,
|
|
612
|
-
data.turn_number,
|
|
613
|
-
data.tool_name,
|
|
614
|
-
data.tool_input ?? null,
|
|
615
|
-
data.tool_output_summary ?? null,
|
|
616
|
-
data.started_at ?? null,
|
|
617
|
-
data.completed_at ?? null
|
|
618
|
-
);
|
|
619
|
-
const turnId = Number(info.lastInsertRowid);
|
|
620
|
-
return toTurnRow(
|
|
621
|
-
db.prepare(`SELECT ${SELECT_COLUMNS4} FROM agent_turns WHERE id = ?`).get(turnId)
|
|
622
|
-
);
|
|
623
|
-
}
|
|
624
|
-
function listTurns(runId) {
|
|
625
|
-
const db = getDatabase();
|
|
626
|
-
const rows = db.prepare(
|
|
627
|
-
`SELECT ${SELECT_COLUMNS4}
|
|
628
|
-
FROM agent_turns
|
|
629
|
-
WHERE run_id = ?
|
|
630
|
-
ORDER BY turn_number ASC`
|
|
631
|
-
).all(runId);
|
|
632
|
-
return rows.map(toTurnRow);
|
|
633
|
-
}
|
|
634
|
-
function listTurnsByRun(runId) {
|
|
635
|
-
return listTurns(runId);
|
|
636
|
-
}
|
|
637
|
-
|
|
638
696
|
// src/db/queries/runs.ts
|
|
639
697
|
var DEFAULT_LIST_LIMIT2 = 100;
|
|
640
698
|
var DEFAULT_STATUS4 = "pending";
|
|
@@ -654,7 +712,7 @@ var RUN_COLUMNS = [
|
|
|
654
712
|
"actions_taken",
|
|
655
713
|
"error"
|
|
656
714
|
];
|
|
657
|
-
var
|
|
715
|
+
var SELECT_COLUMNS4 = RUN_COLUMNS.join(", ");
|
|
658
716
|
function toRunRow(row) {
|
|
659
717
|
return {
|
|
660
718
|
id: row.id,
|
|
@@ -696,13 +754,13 @@ function insertRun(data) {
|
|
|
696
754
|
data.error ?? null
|
|
697
755
|
);
|
|
698
756
|
return toRunRow(
|
|
699
|
-
db.prepare(`SELECT ${
|
|
757
|
+
db.prepare(`SELECT ${SELECT_COLUMNS4} FROM agent_runs WHERE id = ?`).get(data.id)
|
|
700
758
|
);
|
|
701
759
|
}
|
|
702
760
|
function getRun(id) {
|
|
703
761
|
const db = getDatabase();
|
|
704
762
|
const row = db.prepare(
|
|
705
|
-
`SELECT ${
|
|
763
|
+
`SELECT ${SELECT_COLUMNS4} FROM agent_runs WHERE id = ?`
|
|
706
764
|
).get(id);
|
|
707
765
|
if (!row) return null;
|
|
708
766
|
return toRunRow(row);
|
|
@@ -737,7 +795,7 @@ function listRuns(options = {}) {
|
|
|
737
795
|
const limit = options.limit ?? DEFAULT_LIST_LIMIT2;
|
|
738
796
|
const offset = options.offset ?? 0;
|
|
739
797
|
const rows = db.prepare(
|
|
740
|
-
`SELECT ${
|
|
798
|
+
`SELECT ${SELECT_COLUMNS4}
|
|
741
799
|
FROM agent_runs
|
|
742
800
|
${where}
|
|
743
801
|
ORDER BY started_at DESC NULLS LAST
|
|
@@ -786,7 +844,7 @@ function updateRunStatus(id, status, completion) {
|
|
|
786
844
|
).run(...params);
|
|
787
845
|
if (info.changes === 0) return null;
|
|
788
846
|
return toRunRow(
|
|
789
|
-
db.prepare(`SELECT ${
|
|
847
|
+
db.prepare(`SELECT ${SELECT_COLUMNS4} FROM agent_runs WHERE id = ?`).get(id)
|
|
790
848
|
);
|
|
791
849
|
}
|
|
792
850
|
function getRunningRunForTask(agentId, taskName) {
|
|
@@ -828,7 +886,7 @@ var REPORT_COLUMNS = [
|
|
|
828
886
|
"details",
|
|
829
887
|
"created_at"
|
|
830
888
|
];
|
|
831
|
-
var
|
|
889
|
+
var SELECT_COLUMNS5 = REPORT_COLUMNS.join(", ");
|
|
832
890
|
function toReportRow(row) {
|
|
833
891
|
return {
|
|
834
892
|
id: row.id,
|
|
@@ -858,13 +916,13 @@ function insertReport(data) {
|
|
|
858
916
|
);
|
|
859
917
|
const reportId = Number(info.lastInsertRowid);
|
|
860
918
|
return toReportRow(
|
|
861
|
-
db.prepare(`SELECT ${
|
|
919
|
+
db.prepare(`SELECT ${SELECT_COLUMNS5} FROM agent_reports WHERE id = ?`).get(reportId)
|
|
862
920
|
);
|
|
863
921
|
}
|
|
864
922
|
function listReports(runId) {
|
|
865
923
|
const db = getDatabase();
|
|
866
924
|
const rows = db.prepare(
|
|
867
|
-
`SELECT ${
|
|
925
|
+
`SELECT ${SELECT_COLUMNS5}
|
|
868
926
|
FROM agent_reports
|
|
869
927
|
WHERE run_id = ?
|
|
870
928
|
ORDER BY created_at ASC`
|
|
@@ -873,7 +931,7 @@ function listReports(runId) {
|
|
|
873
931
|
}
|
|
874
932
|
|
|
875
933
|
// src/db/queries/graph-edges.ts
|
|
876
|
-
import
|
|
934
|
+
import crypto2 from "crypto";
|
|
877
935
|
var DEFAULT_BFS_DEPTH = 2;
|
|
878
936
|
var MAX_BFS_DEPTH = 5;
|
|
879
937
|
var GRAPH_EDGE_COLUMNS = [
|
|
@@ -891,7 +949,7 @@ var GRAPH_EDGE_COLUMNS = [
|
|
|
891
949
|
"machine_id",
|
|
892
950
|
"synced_at"
|
|
893
951
|
];
|
|
894
|
-
var
|
|
952
|
+
var SELECT_COLUMNS6 = GRAPH_EDGE_COLUMNS.join(", ");
|
|
895
953
|
function toGraphEdgeRow(row) {
|
|
896
954
|
return {
|
|
897
955
|
id: row.id,
|
|
@@ -911,7 +969,7 @@ function toGraphEdgeRow(row) {
|
|
|
911
969
|
}
|
|
912
970
|
function insertGraphEdge(data) {
|
|
913
971
|
const db = getDatabase();
|
|
914
|
-
const id =
|
|
972
|
+
const id = crypto2.randomUUID();
|
|
915
973
|
db.prepare(
|
|
916
974
|
`INSERT INTO graph_edges (
|
|
917
975
|
id, agent_id, source_id, source_type, target_id, target_type,
|
|
@@ -932,7 +990,7 @@ function insertGraphEdge(data) {
|
|
|
932
990
|
data.machine_id ?? getTeamMachineId()
|
|
933
991
|
);
|
|
934
992
|
const row = toGraphEdgeRow(
|
|
935
|
-
db.prepare(`SELECT ${
|
|
993
|
+
db.prepare(`SELECT ${SELECT_COLUMNS6} FROM graph_edges WHERE id = ?`).get(id)
|
|
936
994
|
);
|
|
937
995
|
syncRow("graph_edges", row);
|
|
938
996
|
return row;
|
|
@@ -961,7 +1019,7 @@ function listGraphEdges(options = {}) {
|
|
|
961
1019
|
const limit = options.limit ?? QUERY_DEFAULT_LIST_LIMIT;
|
|
962
1020
|
params.push(limit);
|
|
963
1021
|
const rows = db.prepare(
|
|
964
|
-
`SELECT ${
|
|
1022
|
+
`SELECT ${SELECT_COLUMNS6}
|
|
965
1023
|
FROM graph_edges
|
|
966
1024
|
${where}
|
|
967
1025
|
ORDER BY created_at DESC
|
|
@@ -981,7 +1039,7 @@ function getGraphForNode(nodeId, nodeType, options) {
|
|
|
981
1039
|
const frontierArray = Array.from(frontier);
|
|
982
1040
|
const placeholders = frontierArray.map(() => `?`).join(", ");
|
|
983
1041
|
const rows = db.prepare(
|
|
984
|
-
`SELECT ${
|
|
1042
|
+
`SELECT ${SELECT_COLUMNS6}
|
|
985
1043
|
FROM graph_edges
|
|
986
1044
|
WHERE source_id IN (${placeholders}) OR target_id IN (${placeholders})`
|
|
987
1045
|
).all(...frontierArray, ...frontierArray);
|
|
@@ -1078,7 +1136,7 @@ var ENTITY_COLUMNS = [
|
|
|
1078
1136
|
"machine_id",
|
|
1079
1137
|
"synced_at"
|
|
1080
1138
|
];
|
|
1081
|
-
var
|
|
1139
|
+
var SELECT_COLUMNS7 = ENTITY_COLUMNS.join(", ");
|
|
1082
1140
|
function toEntityRow(row) {
|
|
1083
1141
|
return {
|
|
1084
1142
|
id: row.id,
|
|
@@ -1112,7 +1170,7 @@ function insertEntity(data) {
|
|
|
1112
1170
|
data.machine_id ?? getTeamMachineId()
|
|
1113
1171
|
);
|
|
1114
1172
|
const row = toEntityRow(
|
|
1115
|
-
db.prepare(`SELECT ${
|
|
1173
|
+
db.prepare(`SELECT ${SELECT_COLUMNS7} FROM entities WHERE agent_id = ? AND type = ? AND name = ?`).get(
|
|
1116
1174
|
data.agent_id,
|
|
1117
1175
|
data.type,
|
|
1118
1176
|
data.name
|
|
@@ -1124,7 +1182,7 @@ function insertEntity(data) {
|
|
|
1124
1182
|
function getEntity(id) {
|
|
1125
1183
|
const db = getDatabase();
|
|
1126
1184
|
const row = db.prepare(
|
|
1127
|
-
`SELECT ${
|
|
1185
|
+
`SELECT ${SELECT_COLUMNS7} FROM entities WHERE id = ?`
|
|
1128
1186
|
).get(id);
|
|
1129
1187
|
if (!row) return null;
|
|
1130
1188
|
return toEntityRow(row);
|
|
@@ -1165,7 +1223,7 @@ function listEntities(options = {}) {
|
|
|
1165
1223
|
params.push(limit);
|
|
1166
1224
|
params.push(offset);
|
|
1167
1225
|
const rows = db.prepare(
|
|
1168
|
-
`SELECT ${
|
|
1226
|
+
`SELECT ${SELECT_COLUMNS7}
|
|
1169
1227
|
FROM entities
|
|
1170
1228
|
${where}
|
|
1171
1229
|
ORDER BY last_seen DESC
|
|
@@ -1186,7 +1244,7 @@ var EXTRACT_COLUMNS = [
|
|
|
1186
1244
|
"machine_id",
|
|
1187
1245
|
"synced_at"
|
|
1188
1246
|
];
|
|
1189
|
-
var
|
|
1247
|
+
var SELECT_COLUMNS8 = EXTRACT_COLUMNS.join(", ");
|
|
1190
1248
|
function toDigestExtractRow(row) {
|
|
1191
1249
|
return {
|
|
1192
1250
|
id: row.id,
|
|
@@ -1209,14 +1267,14 @@ function upsertDigestExtract(data) {
|
|
|
1209
1267
|
generated_at = EXCLUDED.generated_at`
|
|
1210
1268
|
).run(data.agent_id, data.tier, data.content, data.generated_at);
|
|
1211
1269
|
const row = db.prepare(
|
|
1212
|
-
`SELECT ${
|
|
1270
|
+
`SELECT ${SELECT_COLUMNS8} FROM digest_extracts WHERE agent_id = ? AND tier = ?`
|
|
1213
1271
|
).get(data.agent_id, data.tier);
|
|
1214
1272
|
return toDigestExtractRow(row);
|
|
1215
1273
|
}
|
|
1216
1274
|
function getDigestExtract(agentId, tier) {
|
|
1217
1275
|
const db = getDatabase();
|
|
1218
1276
|
const row = db.prepare(
|
|
1219
|
-
`SELECT ${
|
|
1277
|
+
`SELECT ${SELECT_COLUMNS8} FROM digest_extracts
|
|
1220
1278
|
WHERE agent_id = ? AND tier = ?`
|
|
1221
1279
|
).get(agentId, tier);
|
|
1222
1280
|
if (!row) return null;
|
|
@@ -1226,7 +1284,7 @@ function listDigestExtracts(agentId) {
|
|
|
1226
1284
|
const db = getDatabase();
|
|
1227
1285
|
const tierPlaceholders = DIGEST_TIERS.map(() => "?").join(", ");
|
|
1228
1286
|
const rows = db.prepare(
|
|
1229
|
-
`SELECT ${
|
|
1287
|
+
`SELECT ${SELECT_COLUMNS8}
|
|
1230
1288
|
FROM digest_extracts
|
|
1231
1289
|
WHERE agent_id = ? AND tier IN (${tierPlaceholders})
|
|
1232
1290
|
ORDER BY tier ASC`
|
|
@@ -1245,7 +1303,7 @@ var LINEAGE_COLUMNS = [
|
|
|
1245
1303
|
"content_snapshot",
|
|
1246
1304
|
"created_at"
|
|
1247
1305
|
];
|
|
1248
|
-
var
|
|
1306
|
+
var SELECT_COLUMNS9 = LINEAGE_COLUMNS.join(", ");
|
|
1249
1307
|
function toLineageRow(row) {
|
|
1250
1308
|
return {
|
|
1251
1309
|
id: row.id,
|
|
@@ -1279,13 +1337,13 @@ function insertLineage(data) {
|
|
|
1279
1337
|
data.created_at
|
|
1280
1338
|
);
|
|
1281
1339
|
return toLineageRow(
|
|
1282
|
-
db.prepare(`SELECT ${
|
|
1340
|
+
db.prepare(`SELECT ${SELECT_COLUMNS9} FROM skill_lineage WHERE id = ?`).get(data.id)
|
|
1283
1341
|
);
|
|
1284
1342
|
}
|
|
1285
1343
|
function listLineageForSkill(skillId, limit = 50) {
|
|
1286
1344
|
const db = getDatabase();
|
|
1287
1345
|
const rows = db.prepare(
|
|
1288
|
-
`SELECT ${
|
|
1346
|
+
`SELECT ${SELECT_COLUMNS9}
|
|
1289
1347
|
FROM skill_lineage
|
|
1290
1348
|
WHERE skill_id = ?
|
|
1291
1349
|
ORDER BY generation DESC
|
|
@@ -1315,6 +1373,15 @@ export {
|
|
|
1315
1373
|
upsertDigestExtract,
|
|
1316
1374
|
getDigestExtract,
|
|
1317
1375
|
listDigestExtracts,
|
|
1376
|
+
register,
|
|
1377
|
+
getAllDomains,
|
|
1378
|
+
listNotifications,
|
|
1379
|
+
countNotifications,
|
|
1380
|
+
getNotification,
|
|
1381
|
+
updateNotificationStatus,
|
|
1382
|
+
dismissAllNotifications,
|
|
1383
|
+
markAllRead,
|
|
1384
|
+
notify,
|
|
1318
1385
|
errorMessage,
|
|
1319
1386
|
insertCandidate,
|
|
1320
1387
|
getCandidate,
|
|
@@ -1334,8 +1401,6 @@ export {
|
|
|
1334
1401
|
deleteSkillRecordCascade,
|
|
1335
1402
|
insertLineage,
|
|
1336
1403
|
listLineageForSkill,
|
|
1337
|
-
insertTurn,
|
|
1338
|
-
listTurnsByRun,
|
|
1339
1404
|
STATUS_RUNNING,
|
|
1340
1405
|
STATUS_COMPLETED2 as STATUS_COMPLETED,
|
|
1341
1406
|
STATUS_FAILED,
|
|
@@ -1351,4 +1416,4 @@ export {
|
|
|
1351
1416
|
createSporeLineage,
|
|
1352
1417
|
createBatchLineage
|
|
1353
1418
|
};
|
|
1354
|
-
//# sourceMappingURL=chunk-
|
|
1419
|
+
//# sourceMappingURL=chunk-JJXVDCEX.js.map
|