@goondocks/myco 0.13.0 → 0.14.1

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.
Files changed (121) hide show
  1. package/dist/{agent-run-YBASQHC7.js → agent-run-VX5MAPRN.js} +4 -4
  2. package/dist/{agent-tasks-WBQFDHWC.js → agent-tasks-FJOBYYC5.js} +4 -4
  3. package/dist/{chunk-NCVR636M.js → chunk-4VF6KQ2Z.js} +55 -4
  4. package/dist/chunk-4VF6KQ2Z.js.map +1 -0
  5. package/dist/{chunk-EUQQVKGQ.js → chunk-CCKPBAKJ.js} +2 -2
  6. package/dist/{chunk-5BK6M6X5.js → chunk-JJXVDCEX.js} +160 -95
  7. package/dist/chunk-JJXVDCEX.js.map +1 -0
  8. package/dist/{chunk-VQEXXS56.js → chunk-NYTEHLVI.js} +2 -2
  9. package/dist/{chunk-W3T3QDBN.js → chunk-PSYLKCWQ.js} +17 -2
  10. package/dist/chunk-PSYLKCWQ.js.map +1 -0
  11. package/dist/{chunk-LPISXFM4.js → chunk-PX5KIOKY.js} +2 -2
  12. package/dist/{chunk-T77674VB.js → chunk-QB2UTRQE.js} +3 -3
  13. package/dist/chunk-QLCD77AN.js +93 -0
  14. package/dist/chunk-QLCD77AN.js.map +1 -0
  15. package/dist/{chunk-TFGGH6UB.js → chunk-RUDOGKWF.js} +2 -2
  16. package/dist/{chunk-NRT2ZRUG.js → chunk-S66YG6QK.js} +19 -1
  17. package/dist/{chunk-NRT2ZRUG.js.map → chunk-S66YG6QK.js.map} +1 -1
  18. package/dist/{chunk-2PWO3WPS.js → chunk-TVV6PZOC.js} +2 -2
  19. package/dist/{chunk-JBFFAGJK.js → chunk-X34OFKYU.js} +2 -2
  20. package/dist/{chunk-YYQWCTF6.js → chunk-XNHHADBK.js} +2 -2
  21. package/dist/{cli-WCBTILMW.js → cli-Z7VO7LIL.js} +36 -36
  22. package/dist/{client-MJUZJ5MC.js → client-CECN26WV.js} +3 -3
  23. package/dist/{config-WBCOTJUE.js → config-H657SF6B.js} +2 -2
  24. package/dist/{doctor-GDCLRJOF.js → doctor-TYMLSW5K.js} +5 -5
  25. package/dist/{executor-TCAXFOIS.js → executor-4DKCQN3A.js} +64 -23
  26. package/dist/executor-4DKCQN3A.js.map +1 -0
  27. package/dist/{init-ZSDMXY4T.js → init-W6VRN5ZZ.js} +10 -10
  28. package/dist/{init-wizard-6LDUVR7C.js → init-wizard-3RJFKAGM.js} +2 -2
  29. package/dist/{loader-L2TCAYCT.js → loader-JQLO6K44.js} +2 -2
  30. package/dist/{main-25MKYYKO.js → main-XUQRWNJ7.js} +255 -39
  31. package/dist/main-XUQRWNJ7.js.map +1 -0
  32. package/dist/{open-4YTUNIP3.js → open-6EC54JEU.js} +4 -4
  33. package/dist/{post-compact-E5V4OZJB.js → post-compact-55ISYIPY.js} +4 -4
  34. package/dist/{post-tool-use-Y6UWKCVD.js → post-tool-use-KNOFQNVX.js} +3 -3
  35. package/dist/{post-tool-use-failure-AHFXMNHX.js → post-tool-use-failure-UIRHWELN.js} +4 -4
  36. package/dist/{pre-compact-EI5EV3N7.js → pre-compact-T3CR4C3Q.js} +4 -4
  37. package/dist/{remove-F63WBELE.js → remove-HIIXTVAK.js} +4 -4
  38. package/dist/{resolution-events-BZYMUQ53.js → resolution-events-5EVUEWHS.js} +3 -3
  39. package/dist/{restart-GULUNCMX.js → restart-5FJYFNIR.js} +5 -5
  40. package/dist/{search-NLZMCEAG.js → search-C3CIHCMP.js} +4 -4
  41. package/dist/{server-CXPWUO6H.js → server-XJTAWCHN.js} +3 -3
  42. package/dist/{session-XXVEDIQZ.js → session-CUGCZWCY.js} +6 -6
  43. package/dist/{session-end-6DP6VTZV.js → session-end-5AI4U3KC.js} +3 -3
  44. package/dist/{session-start-QNAQDF5M.js → session-start-XHH6RN7T.js} +8 -8
  45. package/dist/{setup-llm-ER3B7AZ2.js → setup-llm-3LYRV4KB.js} +5 -5
  46. package/dist/src/agent/definitions/tasks/skill-evolve.yaml +40 -8
  47. package/dist/src/agent/definitions/tasks/skill-generate.yaml +8 -3
  48. package/dist/src/cli.js +1 -1
  49. package/dist/src/daemon/main.js +1 -1
  50. package/dist/src/hooks/post-tool-use.js +1 -1
  51. package/dist/src/hooks/session-end.js +1 -1
  52. package/dist/src/hooks/session-start.js +1 -1
  53. package/dist/src/hooks/stop.js +1 -1
  54. package/dist/src/hooks/user-prompt-submit.js +1 -1
  55. package/dist/src/mcp/server.js +1 -1
  56. package/dist/{stats-VQ7XMOCU.js → stats-BDE5FTO6.js} +6 -6
  57. package/dist/{stop-VTO2KIRG.js → stop-ZIKA2LGJ.js} +3 -3
  58. package/dist/{stop-failure-C5T6LJQR.js → stop-failure-MF22OJ7R.js} +4 -4
  59. package/dist/{subagent-start-NZF42NKF.js → subagent-start-XNAZKYVD.js} +4 -4
  60. package/dist/{subagent-stop-UV5ECFVU.js → subagent-stop-QTJSJYIT.js} +4 -4
  61. package/dist/{task-completed-3SV6TL3V.js → task-completed-24BVLKOC.js} +4 -4
  62. package/dist/{team-XSJXLBZX.js → team-SJPDXELY.js} +2 -2
  63. package/dist/turns-3ZQAF6HF.js +16 -0
  64. package/dist/ui/assets/index-BmsHIwjl.css +1 -0
  65. package/dist/ui/assets/index-Cn6cQwJy.js +842 -0
  66. package/dist/ui/index.html +2 -2
  67. package/dist/{update-5GXOQIY5.js → update-LRPXOWMZ.js} +4 -4
  68. package/dist/{user-prompt-submit-VLQG77A6.js → user-prompt-submit-HPBZOZHM.js} +3 -3
  69. package/dist/{verify-WF7U3NQW.js → verify-JHIMXTY5.js} +2 -2
  70. package/dist/{version-RGX7TZ7V.js → version-ELM3BK4H.js} +2 -2
  71. package/dist/version-ELM3BK4H.js.map +1 -0
  72. package/package.json +1 -1
  73. package/dist/chunk-5BK6M6X5.js.map +0 -1
  74. package/dist/chunk-NCVR636M.js.map +0 -1
  75. package/dist/chunk-W3T3QDBN.js.map +0 -1
  76. package/dist/executor-TCAXFOIS.js.map +0 -1
  77. package/dist/main-25MKYYKO.js.map +0 -1
  78. package/dist/ui/assets/index-BeygBZGu.css +0 -1
  79. package/dist/ui/assets/index-CbGC0T_o.js +0 -822
  80. /package/dist/{agent-run-YBASQHC7.js.map → agent-run-VX5MAPRN.js.map} +0 -0
  81. /package/dist/{agent-tasks-WBQFDHWC.js.map → agent-tasks-FJOBYYC5.js.map} +0 -0
  82. /package/dist/{chunk-EUQQVKGQ.js.map → chunk-CCKPBAKJ.js.map} +0 -0
  83. /package/dist/{chunk-VQEXXS56.js.map → chunk-NYTEHLVI.js.map} +0 -0
  84. /package/dist/{chunk-LPISXFM4.js.map → chunk-PX5KIOKY.js.map} +0 -0
  85. /package/dist/{chunk-T77674VB.js.map → chunk-QB2UTRQE.js.map} +0 -0
  86. /package/dist/{chunk-TFGGH6UB.js.map → chunk-RUDOGKWF.js.map} +0 -0
  87. /package/dist/{chunk-2PWO3WPS.js.map → chunk-TVV6PZOC.js.map} +0 -0
  88. /package/dist/{chunk-JBFFAGJK.js.map → chunk-X34OFKYU.js.map} +0 -0
  89. /package/dist/{chunk-YYQWCTF6.js.map → chunk-XNHHADBK.js.map} +0 -0
  90. /package/dist/{cli-WCBTILMW.js.map → cli-Z7VO7LIL.js.map} +0 -0
  91. /package/dist/{client-MJUZJ5MC.js.map → client-CECN26WV.js.map} +0 -0
  92. /package/dist/{config-WBCOTJUE.js.map → config-H657SF6B.js.map} +0 -0
  93. /package/dist/{doctor-GDCLRJOF.js.map → doctor-TYMLSW5K.js.map} +0 -0
  94. /package/dist/{init-ZSDMXY4T.js.map → init-W6VRN5ZZ.js.map} +0 -0
  95. /package/dist/{init-wizard-6LDUVR7C.js.map → init-wizard-3RJFKAGM.js.map} +0 -0
  96. /package/dist/{loader-L2TCAYCT.js.map → loader-JQLO6K44.js.map} +0 -0
  97. /package/dist/{open-4YTUNIP3.js.map → open-6EC54JEU.js.map} +0 -0
  98. /package/dist/{post-compact-E5V4OZJB.js.map → post-compact-55ISYIPY.js.map} +0 -0
  99. /package/dist/{post-tool-use-Y6UWKCVD.js.map → post-tool-use-KNOFQNVX.js.map} +0 -0
  100. /package/dist/{post-tool-use-failure-AHFXMNHX.js.map → post-tool-use-failure-UIRHWELN.js.map} +0 -0
  101. /package/dist/{pre-compact-EI5EV3N7.js.map → pre-compact-T3CR4C3Q.js.map} +0 -0
  102. /package/dist/{remove-F63WBELE.js.map → remove-HIIXTVAK.js.map} +0 -0
  103. /package/dist/{resolution-events-BZYMUQ53.js.map → resolution-events-5EVUEWHS.js.map} +0 -0
  104. /package/dist/{restart-GULUNCMX.js.map → restart-5FJYFNIR.js.map} +0 -0
  105. /package/dist/{search-NLZMCEAG.js.map → search-C3CIHCMP.js.map} +0 -0
  106. /package/dist/{server-CXPWUO6H.js.map → server-XJTAWCHN.js.map} +0 -0
  107. /package/dist/{session-XXVEDIQZ.js.map → session-CUGCZWCY.js.map} +0 -0
  108. /package/dist/{session-end-6DP6VTZV.js.map → session-end-5AI4U3KC.js.map} +0 -0
  109. /package/dist/{session-start-QNAQDF5M.js.map → session-start-XHH6RN7T.js.map} +0 -0
  110. /package/dist/{setup-llm-ER3B7AZ2.js.map → setup-llm-3LYRV4KB.js.map} +0 -0
  111. /package/dist/{stats-VQ7XMOCU.js.map → stats-BDE5FTO6.js.map} +0 -0
  112. /package/dist/{stop-VTO2KIRG.js.map → stop-ZIKA2LGJ.js.map} +0 -0
  113. /package/dist/{stop-failure-C5T6LJQR.js.map → stop-failure-MF22OJ7R.js.map} +0 -0
  114. /package/dist/{subagent-start-NZF42NKF.js.map → subagent-start-XNAZKYVD.js.map} +0 -0
  115. /package/dist/{subagent-stop-UV5ECFVU.js.map → subagent-stop-QTJSJYIT.js.map} +0 -0
  116. /package/dist/{task-completed-3SV6TL3V.js.map → task-completed-24BVLKOC.js.map} +0 -0
  117. /package/dist/{team-XSJXLBZX.js.map → team-SJPDXELY.js.map} +0 -0
  118. /package/dist/{version-RGX7TZ7V.js.map → turns-3ZQAF6HF.js.map} +0 -0
  119. /package/dist/{update-5GXOQIY5.js.map → update-LRPXOWMZ.js.map} +0 -0
  120. /package/dist/{user-prompt-submit-VLQG77A6.js.map → user-prompt-submit-HPBZOZHM.js.map} +0 -0
  121. /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-NRT2ZRUG.js";
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 SELECT_COLUMNS5 = RUN_COLUMNS.join(", ");
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 ${SELECT_COLUMNS5} FROM agent_runs WHERE id = ?`).get(data.id)
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 ${SELECT_COLUMNS5} FROM agent_runs WHERE id = ?`
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 ${SELECT_COLUMNS5}
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 ${SELECT_COLUMNS5} FROM agent_runs WHERE id = ?`).get(id)
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 SELECT_COLUMNS6 = REPORT_COLUMNS.join(", ");
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 ${SELECT_COLUMNS6} FROM agent_reports WHERE id = ?`).get(reportId)
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 ${SELECT_COLUMNS6}
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 crypto from "crypto";
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 SELECT_COLUMNS7 = GRAPH_EDGE_COLUMNS.join(", ");
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 = crypto.randomUUID();
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 ${SELECT_COLUMNS7} FROM graph_edges WHERE id = ?`).get(id)
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 ${SELECT_COLUMNS7}
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 ${SELECT_COLUMNS7}
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 SELECT_COLUMNS8 = ENTITY_COLUMNS.join(", ");
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 ${SELECT_COLUMNS8} FROM entities WHERE agent_id = ? AND type = ? AND name = ?`).get(
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 ${SELECT_COLUMNS8} FROM entities WHERE id = ?`
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 ${SELECT_COLUMNS8}
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 SELECT_COLUMNS9 = EXTRACT_COLUMNS.join(", ");
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 ${SELECT_COLUMNS9} FROM digest_extracts WHERE agent_id = ? AND tier = ?`
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 ${SELECT_COLUMNS9} FROM digest_extracts
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 ${SELECT_COLUMNS9}
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 SELECT_COLUMNS10 = LINEAGE_COLUMNS.join(", ");
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 ${SELECT_COLUMNS10} FROM skill_lineage WHERE id = ?`).get(data.id)
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 ${SELECT_COLUMNS10}
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-5BK6M6X5.js.map
1419
+ //# sourceMappingURL=chunk-JJXVDCEX.js.map