studiograph 1.3.44-next.0 → 1.3.44-next.2

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 (133) hide show
  1. package/dist/agent/tools/graph-tools.d.ts +58 -0
  2. package/dist/agent/tools/graph-tools.js +92 -0
  3. package/dist/agent/tools/graph-tools.js.map +1 -1
  4. package/dist/core/graph.js +13 -6
  5. package/dist/core/graph.js.map +1 -1
  6. package/dist/core/validation.d.ts +12 -30
  7. package/dist/core/validation.js +2 -5
  8. package/dist/core/validation.js.map +1 -1
  9. package/dist/integrations/linear.js +13 -3
  10. package/dist/integrations/linear.js.map +1 -1
  11. package/dist/mcp/tools.d.ts +2 -1
  12. package/dist/mcp/tools.js +80 -1
  13. package/dist/mcp/tools.js.map +1 -1
  14. package/dist/server/index.js +40 -1
  15. package/dist/server/index.js.map +1 -1
  16. package/dist/server/routes/graph-api.js +91 -6
  17. package/dist/server/routes/graph-api.js.map +1 -1
  18. package/dist/server/routes/insights-api.d.ts +7 -3
  19. package/dist/server/routes/insights-api.js +46 -21
  20. package/dist/server/routes/insights-api.js.map +1 -1
  21. package/dist/server/routes/mcp.d.ts +2 -1
  22. package/dist/server/routes/mcp.js +2 -2
  23. package/dist/server/routes/mcp.js.map +1 -1
  24. package/dist/server/routes/views-api.d.ts +10 -0
  25. package/dist/server/routes/views-api.js +66 -0
  26. package/dist/server/routes/views-api.js.map +1 -0
  27. package/dist/server/ws-hub.d.ts +6 -1
  28. package/dist/server/ws-hub.js.map +1 -1
  29. package/dist/services/auth-service.d.ts +31 -0
  30. package/dist/services/auth-service.js +100 -0
  31. package/dist/services/auth-service.js.map +1 -1
  32. package/dist/services/insights.d.ts +18 -11
  33. package/dist/services/insights.js +121 -77
  34. package/dist/services/insights.js.map +1 -1
  35. package/dist/services/sync/collection-sync.js +1 -0
  36. package/dist/services/sync/collection-sync.js.map +1 -1
  37. package/dist/services/sync/structured-extractor.js +26 -5
  38. package/dist/services/sync/structured-extractor.js.map +1 -1
  39. package/dist/services/sync/types.d.ts +4 -0
  40. package/dist/web/_app/immutable/assets/{0.Bzn6qb0O.css → 0.n3qM-DRk.css} +1 -1
  41. package/dist/web/_app/immutable/assets/3.zsEg_MDN.css +1 -0
  42. package/dist/web/_app/immutable/assets/{7.X0WUW64S.css → 7.5LBMlZdT.css} +1 -1
  43. package/dist/web/_app/immutable/assets/8.DfcI2i9H.css +1 -0
  44. package/dist/web/_app/immutable/assets/Toaster.rN8r_Hzv.css +1 -0
  45. package/dist/web/_app/immutable/assets/ViewToolbar.BX74Ki7U.css +1 -0
  46. package/dist/web/_app/immutable/assets/checkbox.D6tMDJWk.css +1 -0
  47. package/dist/web/_app/immutable/chunks/0rsp5-Up.js +1 -0
  48. package/dist/web/_app/immutable/chunks/0wBGAod7.js +1 -0
  49. package/dist/web/_app/immutable/chunks/APIqItee.js +1 -0
  50. package/dist/web/_app/immutable/chunks/B3NI-DOv.js +1 -0
  51. package/dist/web/_app/immutable/chunks/BAAbylyg.js +1 -0
  52. package/dist/web/_app/immutable/chunks/BHue2Ock.js +1 -0
  53. package/dist/web/_app/immutable/chunks/BPXdu_FX.js +1 -0
  54. package/dist/web/_app/immutable/chunks/BU2bHQbQ.js +4 -0
  55. package/dist/web/_app/immutable/chunks/BUcIsKRk.js +1 -0
  56. package/dist/web/_app/immutable/chunks/BgBJ0u3M.js +1 -0
  57. package/dist/web/_app/immutable/chunks/Bnl5ADsW.js +1 -0
  58. package/dist/web/_app/immutable/chunks/Bs4ovbtO.js +2 -0
  59. package/dist/web/_app/immutable/chunks/Bt5_mycY.js +1 -0
  60. package/dist/web/_app/immutable/chunks/By_Wtb5J.js +1 -0
  61. package/dist/web/_app/immutable/chunks/{Bt7P6UBm.js → CFtRXHDP.js} +2 -2
  62. package/dist/web/_app/immutable/chunks/CRnhIQbv.js +1 -0
  63. package/dist/web/_app/immutable/chunks/CSzKZPD4.js +1 -0
  64. package/dist/web/_app/immutable/chunks/CdeYcEuU.js +1 -0
  65. package/dist/web/_app/immutable/chunks/D-yNNNdf.js +1 -0
  66. package/dist/web/_app/immutable/chunks/DC9z5DEo.js +1 -0
  67. package/dist/web/_app/immutable/chunks/DCVmM0L5.js +1 -0
  68. package/dist/web/_app/immutable/chunks/DHtLlmE0.js +1 -0
  69. package/dist/web/_app/immutable/chunks/DQ5NTKSo.js +1 -0
  70. package/dist/web/_app/immutable/chunks/{QOJagAiA.js → DQJwHeKh.js} +1 -1
  71. package/dist/web/_app/immutable/chunks/DQYNi3YK.js +5 -0
  72. package/dist/web/_app/immutable/chunks/{BBDMeJL4.js → DSh-OF2y.js} +1 -1
  73. package/dist/web/_app/immutable/chunks/DSkxw4Ss.js +1 -0
  74. package/dist/web/_app/immutable/chunks/{Dtbtl5su.js → DT3KtxWU.js} +1 -1
  75. package/dist/web/_app/immutable/chunks/DVx_0hnZ.js +1 -0
  76. package/dist/web/_app/immutable/chunks/DiWKchgv.js +1 -0
  77. package/dist/web/_app/immutable/chunks/Diui_MO0.js +1 -0
  78. package/dist/web/_app/immutable/chunks/DodWDTE5.js +1 -0
  79. package/dist/web/_app/immutable/chunks/KHKAD2Ng.js +1 -0
  80. package/dist/web/_app/immutable/chunks/{C8t_lVji.js → Sk0ODu4Y.js} +1 -1
  81. package/dist/web/_app/immutable/chunks/azUmHUDT.js +1 -0
  82. package/dist/web/_app/immutable/chunks/{yEDUbZbk.js → b0XUoOIH.js} +2 -2
  83. package/dist/web/_app/immutable/chunks/lsAKkphT.js +1 -0
  84. package/dist/web/_app/immutable/chunks/vZ2iBqLE.js +1 -0
  85. package/dist/web/_app/immutable/entry/app.DA5OyPOi.js +2 -0
  86. package/dist/web/_app/immutable/entry/start.DTjSVtws.js +1 -0
  87. package/dist/web/_app/immutable/nodes/0.BIvpQ3Qk.js +2 -0
  88. package/dist/web/_app/immutable/nodes/1.y3j9wcQE.js +1 -0
  89. package/dist/web/_app/immutable/nodes/{9.DlSjDUl0.js → 10.D03BZcr1.js} +1 -1
  90. package/dist/web/_app/immutable/nodes/2.Du0xZVQg.js +84 -0
  91. package/dist/web/_app/immutable/nodes/3.weQEi2lI.js +1 -0
  92. package/dist/web/_app/immutable/nodes/4.DJyhWznw.js +11 -0
  93. package/dist/web/_app/immutable/nodes/{5.BZZysw6z.js → 5.CipwuwB3.js} +2 -2
  94. package/dist/web/_app/immutable/nodes/6.Daxwm3Lw.js +2 -0
  95. package/dist/web/_app/immutable/nodes/7.TxeJDMtw.js +2 -0
  96. package/dist/web/_app/immutable/nodes/8.DWNdmB4l.js +1 -0
  97. package/dist/web/_app/immutable/nodes/{8.CZ7vB_Pl.js → 9.BuTZk7Le.js} +1 -1
  98. package/dist/web/_app/version.json +1 -1
  99. package/dist/web/index.html +11 -12
  100. package/package.json +1 -1
  101. package/dist/web/_app/immutable/assets/3.CHSDCrUY.css +0 -1
  102. package/dist/web/_app/immutable/assets/ViewToolbar.39HnhXNY.css +0 -1
  103. package/dist/web/_app/immutable/chunks/3ONneP0Z.js +0 -1
  104. package/dist/web/_app/immutable/chunks/8aEH9o48.js +0 -1
  105. package/dist/web/_app/immutable/chunks/B3cbqYdb.js +0 -1
  106. package/dist/web/_app/immutable/chunks/BMrbs3EC.js +0 -1
  107. package/dist/web/_app/immutable/chunks/BQZlAX3A.js +0 -1
  108. package/dist/web/_app/immutable/chunks/BmP3yl81.js +0 -1
  109. package/dist/web/_app/immutable/chunks/C8IfoK2g.js +0 -1
  110. package/dist/web/_app/immutable/chunks/CClliU_-.js +0 -4
  111. package/dist/web/_app/immutable/chunks/CDs3H3KT.js +0 -1
  112. package/dist/web/_app/immutable/chunks/CRbsz2jz.js +0 -1
  113. package/dist/web/_app/immutable/chunks/CWmHQEyb.js +0 -1
  114. package/dist/web/_app/immutable/chunks/CpAdcarq.js +0 -1
  115. package/dist/web/_app/immutable/chunks/CpXgbTWt.js +0 -1
  116. package/dist/web/_app/immutable/chunks/DYpjUIN_.js +0 -1
  117. package/dist/web/_app/immutable/chunks/Ddpk8P2X.js +0 -1
  118. package/dist/web/_app/immutable/chunks/DvqvTNdq.js +0 -1
  119. package/dist/web/_app/immutable/chunks/Dx6YFABE.js +0 -1
  120. package/dist/web/_app/immutable/chunks/Iwcm6r7d.js +0 -1
  121. package/dist/web/_app/immutable/chunks/Zf7H0ZZc.js +0 -5
  122. package/dist/web/_app/immutable/chunks/qvfhHbjx.js +0 -1
  123. package/dist/web/_app/immutable/entry/app.oDy7ig5b.js +0 -2
  124. package/dist/web/_app/immutable/entry/start.Cz7A2G8_.js +0 -1
  125. package/dist/web/_app/immutable/nodes/0.BuWS-_Tw.js +0 -2
  126. package/dist/web/_app/immutable/nodes/1.ClV7Vf9J.js +0 -1
  127. package/dist/web/_app/immutable/nodes/2.Dg3m027a.js +0 -84
  128. package/dist/web/_app/immutable/nodes/3.9iNkY9mM.js +0 -1
  129. package/dist/web/_app/immutable/nodes/4.UG11YFmx.js +0 -11
  130. package/dist/web/_app/immutable/nodes/6.LCPXZT0S.js +0 -2
  131. package/dist/web/_app/immutable/nodes/7.kgjplPpk.js +0 -2
  132. /package/dist/web/_app/immutable/assets/{9.BUrHkYry.css → 10.BUrHkYry.css} +0 -0
  133. /package/dist/web/_app/immutable/assets/{8.CT4xL4K3.css → 9.CT4xL4K3.css} +0 -0
@@ -62,6 +62,29 @@ export class AuthService {
62
62
  updated_at TEXT NOT NULL DEFAULT (datetime('now')),
63
63
  PRIMARY KEY (user_id, connector_name)
64
64
  )
65
+ `);
66
+ // Per-user saved views
67
+ this.db.exec(`
68
+ CREATE TABLE IF NOT EXISTS user_views (
69
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
70
+ user_id INTEGER NOT NULL DEFAULT 0,
71
+ name TEXT NOT NULL,
72
+ view_type TEXT NOT NULL DEFAULT 'list',
73
+ config_json TEXT NOT NULL DEFAULT '{}',
74
+ sort_order INTEGER NOT NULL DEFAULT 0,
75
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
76
+ updated_at TEXT NOT NULL DEFAULT (datetime('now'))
77
+ )
78
+ `);
79
+ // Per-user preferences (home brief, cached insights)
80
+ this.db.exec(`
81
+ CREATE TABLE IF NOT EXISTS user_preferences (
82
+ user_id INTEGER PRIMARY KEY DEFAULT 0,
83
+ home_brief TEXT NOT NULL DEFAULT '',
84
+ insights_json TEXT NOT NULL DEFAULT '[]',
85
+ insights_generated_at TEXT,
86
+ updated_at TEXT NOT NULL DEFAULT (datetime('now'))
87
+ )
65
88
  `);
66
89
  this.db.pragma('foreign_keys = ON');
67
90
  // Ensure auth.db and auth-secret are gitignored (only seed file should be committed)
@@ -199,6 +222,10 @@ export class AuthService {
199
222
  DO UPDATE SET data_json = excluded.data_json, updated_at = excluded.updated_at
200
223
  `).run(userId, connectorName, JSON.stringify(data));
201
224
  }
225
+ /** List all connected connectors for a user. */
226
+ getUserConnectedConnectors(userId) {
227
+ return this.db.prepare('SELECT connector_name FROM oauth_tokens WHERE user_id = ?').all(userId);
228
+ }
202
229
  /** Clear OAuth data for a user+connector. */
203
230
  clearOAuthData(userId, connectorName) {
204
231
  this.db.prepare('DELETE FROM oauth_tokens WHERE user_id = ? AND connector_name = ?').run(userId, connectorName);
@@ -391,6 +418,79 @@ export class AuthService {
391
418
  console.warn(`Auth: failed to import seed — ${err.message}`);
392
419
  }
393
420
  }
421
+ // ── Views ──
422
+ getUserViews(userId) {
423
+ const rows = this.db.prepare('SELECT * FROM user_views WHERE user_id = ? ORDER BY sort_order, id').all(userId);
424
+ return rows.map(r => this.toUserView(r));
425
+ }
426
+ createUserView(userId, name, viewType = 'list', config = {}) {
427
+ const maxOrder = this.db.prepare('SELECT MAX(sort_order) as max_order FROM user_views WHERE user_id = ?').get(userId)?.max_order ?? -1;
428
+ const result = this.db.prepare('INSERT INTO user_views (user_id, name, view_type, config_json, sort_order) VALUES (?, ?, ?, ?, ?)').run(userId, name, viewType, JSON.stringify(config), maxOrder + 1);
429
+ return this.getUserView(Number(result.lastInsertRowid), userId);
430
+ }
431
+ getUserView(viewId, userId) {
432
+ const row = this.db.prepare('SELECT * FROM user_views WHERE id = ? AND user_id = ?').get(viewId, userId);
433
+ return row ? this.toUserView(row) : null;
434
+ }
435
+ updateUserView(viewId, userId, fields) {
436
+ const sets = ['updated_at = datetime(\'now\')'];
437
+ const params = [];
438
+ if (fields.name !== undefined) {
439
+ sets.push('name = ?');
440
+ params.push(fields.name);
441
+ }
442
+ if (fields.config !== undefined) {
443
+ sets.push('config_json = ?');
444
+ params.push(JSON.stringify(fields.config));
445
+ }
446
+ if (fields.sortOrder !== undefined) {
447
+ sets.push('sort_order = ?');
448
+ params.push(fields.sortOrder);
449
+ }
450
+ params.push(viewId, userId);
451
+ this.db.prepare(`UPDATE user_views SET ${sets.join(', ')} WHERE id = ? AND user_id = ?`).run(...params);
452
+ }
453
+ deleteUserView(viewId, userId) {
454
+ this.db.prepare('DELETE FROM user_views WHERE id = ? AND user_id = ?').run(viewId, userId);
455
+ }
456
+ ensureDefaultViews(_userId, _hasTasks) {
457
+ // No default views — users create their own via the + button
458
+ }
459
+ toUserView(row) {
460
+ return {
461
+ id: row.id,
462
+ name: row.name,
463
+ viewType: row.view_type,
464
+ config: JSON.parse(row.config_json),
465
+ sortOrder: row.sort_order,
466
+ createdAt: row.created_at,
467
+ updatedAt: row.updated_at,
468
+ };
469
+ }
470
+ // ── Preferences ──
471
+ getHomeBrief(userId) {
472
+ const row = this.db.prepare('SELECT home_brief FROM user_preferences WHERE user_id = ?').get(userId);
473
+ return row?.home_brief ?? '';
474
+ }
475
+ setHomeBrief(userId, brief) {
476
+ this.db.prepare(`INSERT INTO user_preferences (user_id, home_brief, updated_at) VALUES (?, ?, datetime('now'))
477
+ ON CONFLICT(user_id) DO UPDATE SET home_brief = excluded.home_brief, updated_at = excluded.updated_at`).run(userId, brief);
478
+ }
479
+ getCachedInsights(userId) {
480
+ const row = this.db.prepare('SELECT insights_json, insights_generated_at FROM user_preferences WHERE user_id = ?').get(userId);
481
+ if (!row)
482
+ return { insights: [], generatedAt: null };
483
+ try {
484
+ return { insights: JSON.parse(row.insights_json), generatedAt: row.insights_generated_at };
485
+ }
486
+ catch {
487
+ return { insights: [], generatedAt: null };
488
+ }
489
+ }
490
+ setCachedInsights(userId, insights) {
491
+ this.db.prepare(`INSERT INTO user_preferences (user_id, insights_json, insights_generated_at, updated_at) VALUES (?, ?, datetime('now'), datetime('now'))
492
+ ON CONFLICT(user_id) DO UPDATE SET insights_json = excluded.insights_json, insights_generated_at = excluded.insights_generated_at, updated_at = excluded.updated_at`).run(userId, JSON.stringify(insights));
493
+ }
394
494
  close() {
395
495
  this.db.close();
396
496
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth-service.js","sourceRoot":"","sources":["../../src/services/auth-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,GAAG,MAAM,cAAc,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAoB5B,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,UAAU,GAAG,IAAI,CAAC;AAkBxB,MAAM,OAAO,WAAW;IACd,EAAE,CAAoB;IACtB,SAAS,CAAS;IAClB,MAAM,CAAS;IACf,KAAK,CAAS;IAEtB,YAAY,aAAqB;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,8BAA8B;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAErC,qBAAqB;QACrB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;KAUZ,CAAC,CAAC;QAEH,gEAAgE;QAChE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;KAOZ,CAAC,CAAC;QAEH,2CAA2C;QAC3C,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;KAQZ,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAEpC,qFAAqF;QACrF,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,wEAAwE;QACxE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;QAED,4DAA4D;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QACnD,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACjD,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,yDAAyD;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAChD,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9C,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,UAAU,CAAC,KAAa,EAAE,QAAgB,EAAE,WAAmB,EAAE,OAA2B,QAAQ;QAClG,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAEtD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1B,kFAAkF,CACnF,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;QAEpE,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,OAAO;YACL,EAAE,EAAE,MAAM,CAAC,eAAyB;YACpC,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,WAAW,CAAC,IAAI,EAAE;YAC/B,IAAI;YACJ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,KAAa,EAAE,QAAgB;QAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAwB,CAAC;QAE1G,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CACpB,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EACvD,IAAI,CAAC,SAAS,EACd,EAAE,SAAS,EAAE,UAAU,EAAE,CAC1B,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,WAAW,CAAC,KAAa;QACvB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAoD,CAAC;YACrG,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAwB,CAAC;YAC3G,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,SAAS;QACP,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,EAAe,CAAC;QAC/F,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,UAAU,CAAC,KAAa;QACtB,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACpF,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC;YAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,cAAc,CAAC,KAAa,EAAE,WAAmB;QAC/C,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC5B,kFAAkF,CACnF,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACxB,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC;YAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,qCAAqC;IAErC,qBAAqB,CAAC,MAAc,EAAE,cAAsB;QAC1D,IAAI,CAAC,EAAE,CAAC,OAAO,CACb,kFAAkF,CACnF,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,sBAAsB,CAAC,MAAc,EAAE,cAAsB;QAC3D,IAAI,CAAC,EAAE,CAAC,OAAO,CACb,yEAAyE,CAC1E,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,kBAAkB,CAAC,MAAc;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1B,0FAA0F,CAC3F,CAAC,GAAG,CAAC,MAAM,CAAuC,CAAC;QACpD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;IAED,kBAAkB,CAAC,cAAsB;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;KAK5B,CAAC,CAAC,GAAG,CAAC,cAAc,CAAc,CAAC;QACpC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,gBAAgB,CAAC,OAAe,EAAE,OAAe;QAC/C,IAAI,CAAC,EAAE,CAAC,OAAO,CACb,4EAA4E,CAC7E,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,+BAA+B;IAE/B,qFAAqF;IACrF,YAAY,CAAC,MAAc,EAAE,aAAqB;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACzB,6EAA6E,CAC9E,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAsC,CAAC;QAClE,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,IAAI,CAAC;YAAC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;IAClE,CAAC;IAED,gCAAgC;IAChC,aAAa,CAAC,MAAc,EAAE,aAAqB,EAAE,IAAyB;QAC5E,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;KAKf,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,6CAA6C;IAC7C,cAAc,CAAC,MAAc,EAAE,aAAqB;QAClD,IAAI,CAAC,EAAE,CAAC,OAAO,CACb,mEAAmE,CACpE,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC/B,CAAC;IAED,wDAAwD;IACxD,cAAc,CAAC,MAAc,EAAE,aAAqB;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACxC,CAAC;IAED,QAAQ;QACN,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,EAAuB,CAAC;QAC9F,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,YAAY;QACV,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,EAAuB,CAAC;QAC9F,OAAO,GAAG,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,mEAAmE;IACnE,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,oEAAoE;IACpE,cAAc,CAAC,GAAW;QACxB,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,gBAAgB;QACd,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;YACpD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAa,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YACnE,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChC,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,mCAAmC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,gBAAgB;QACd,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;OAGG;IACK,eAAe;QACrB,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAEzG,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9B,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,8DAA8D;gBAC9D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YAC5B,aAAa,CAAC,aAAa,EAAE,OAAO,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1B,wFAAwF,CACzF,CAAC,GAAG,EAA6G,CAAC;QAEnH,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;KAIlC,CAAC,CAAC,GAAG,EAA4D,CAAC;QAEnE,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI;YACX,iBAAiB,EAAE,UAAU;SAC9B,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,UAAU;QACR,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QACpD,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAEhE,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,QAAQ;QACd,IAAI,CAAC;YACH,uCAAuC;YACvC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE;gBAC1D,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;aAClD,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAEhC,uCAAuC;YACvC,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE;gBAC7C,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;aAClD,CAAC,CAAC;YACH,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE;gBAAE,OAAO;YAE/D,yEAAyE;YACzE,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,YAAY,CAAC,EAAE;gBACxD,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;aAClD,CAAC,CAAC;YAEH,sCAAsC;YACtC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE;gBAC7D,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;aAClD,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,CAAC,iBAAiB;YAEhD,sEAAsE;YACtE,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE;gBAC9B,IAAI,EAAE,uBAAuB;gBAC7B,IAAI,EAAE,sCAAsC;gBAC5C,QAAQ,EAAE,IAAI,EAAE,mBAAmB;aACpC,EAAE;gBACD,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;aAClD,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC9E,OAAO;YACT,CAAC;YAED,OAAO;YACP,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE;gBACtC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;aACnE,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,4BAA4B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO;QAElC,IAAI,CAAC;YACH,MAAM,IAAI,GAAa,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YAEnE,qDAAqD;YACrD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;gBACnD,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7D,CAAC;YAED,kBAAkB;YAClB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;gBAChD,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,2EAA2E;YAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1B,2GAA2G,CAC5G,CAAC;YACF,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;YAC3E,CAAC;YAED,gEAAgE;YAChE,IAAI,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;gBACnC,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAChC,4GAA4G,CAC7G,CAAC;gBACF,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACxC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,MAAM,oBAAoB,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,iCAAiC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAEO,UAAU,CAAC,GAAY;QAC7B,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,WAAW,EAAE,GAAG,CAAC,YAAY;YAC7B,IAAI,EAAE,GAAG,CAAC,IAA0B;YACpC,SAAS,EAAE,GAAG,CAAC,UAAU;SAC1B,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"auth-service.js","sourceRoot":"","sources":["../../src/services/auth-service.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,38 @@
1
1
  /**
2
2
  * Insights Service
3
3
  *
4
- * Generates AI-driven insights by analyzing entities across collections.
5
- * Insights surface cross-entity connections, trends, and patterns.
4
+ * Generates AI-driven insights by analyzing entities across collections,
5
+ * personalized by the user's home brief. Insights surface actionable
6
+ * patterns: risks, relationship health, opportunities, and graph quality.
7
+ *
8
+ * Adapted from feat/insights-home reference implementation.
6
9
  */
7
10
  import type { WorkspaceConfig } from '../core/types.js';
8
11
  import type { WorkspaceManager } from '../core/workspace-manager.js';
12
+ import type { AuthService } from './auth-service.js';
9
13
  export interface Insight {
10
14
  headline: string;
11
15
  detail: string;
16
+ urgency: 'high' | 'medium' | 'low';
17
+ actions: string[];
12
18
  entities: Array<{
13
19
  id: string;
14
20
  type: string;
15
21
  repo: string;
22
+ name?: string;
16
23
  }>;
17
- pattern: 'cluster' | 'trend' | 'gap' | 'relationship' | 'recency';
24
+ pattern: 'risk' | 'relationship' | 'opportunity' | 'quality' | 'trend';
18
25
  }
19
26
  export interface InsightsData {
20
27
  insights: Insight[];
21
- generated_at: string;
22
- entity_count: number;
28
+ generatedAt: string | null;
29
+ entityCount: number;
30
+ }
31
+ export interface ToolCapability {
32
+ name: string;
33
+ description: string;
23
34
  }
24
35
  /**
25
- * Read cached insights from disk.
26
- */
27
- export declare function readInsights(workspacePath: string): InsightsData | null;
28
- /**
29
- * Generate insights from workspace entities.
36
+ * Generate insights from workspace entities, personalized by user brief.
30
37
  */
31
- export declare function generateInsights(wm: WorkspaceManager, workspacePath: string, repoNames: string[], workspaceConfig?: WorkspaceConfig): Promise<InsightsData>;
38
+ export declare function generateInsights(wm: WorkspaceManager, repoNames: string[], userBrief: string, authService: AuthService, userId: number, workspaceConfig?: WorkspaceConfig, tools?: ToolCapability[]): Promise<InsightsData>;
@@ -1,44 +1,45 @@
1
1
  /**
2
2
  * Insights Service
3
3
  *
4
- * Generates AI-driven insights by analyzing entities across collections.
5
- * Insights surface cross-entity connections, trends, and patterns.
4
+ * Generates AI-driven insights by analyzing entities across collections,
5
+ * personalized by the user's home brief. Insights surface actionable
6
+ * patterns: risks, relationship health, opportunities, and graph quality.
7
+ *
8
+ * Adapted from feat/insights-home reference implementation.
6
9
  */
7
- import { join } from 'path';
8
- import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
9
10
  import Anthropic from '@anthropic-ai/sdk';
10
- import { resolveApiKey, resolveProvider, loadUserConfig } from '../core/user-config.js';
11
- const INSIGHTS_FILE = 'insights.json';
12
- /**
13
- * Read cached insights from disk.
14
- */
15
- export function readInsights(workspacePath) {
16
- const filePath = join(workspacePath, '.studiograph', INSIGHTS_FILE);
17
- if (!existsSync(filePath))
18
- return null;
19
- try {
20
- return JSON.parse(readFileSync(filePath, 'utf-8'));
21
- }
22
- catch {
23
- return null;
24
- }
25
- }
26
- /**
27
- * Save insights to disk.
28
- */
29
- function saveInsights(workspacePath, data) {
30
- const dir = join(workspacePath, '.studiograph');
31
- if (!existsSync(dir))
32
- mkdirSync(dir, { recursive: true });
33
- writeFileSync(join(dir, INSIGHTS_FILE), JSON.stringify(data, null, 2), 'utf-8');
34
- }
11
+ import { resolveApiKey, resolveProvider, resolveModelId, loadUserConfig } from '../core/user-config.js';
35
12
  /**
36
13
  * Gather entity summaries for insight generation.
37
- * Returns a compact text representation of recent entities across accessible repos.
14
+ * Includes temporal signals (due dates, staleness) for actionable analysis.
38
15
  */
39
16
  function gatherEntityContext(wm, repoNames, maxEntities = 200) {
40
17
  const lines = [];
41
18
  let total = 0;
19
+ const now = new Date();
20
+ // Collection summaries first — gives the AI an accurate overview before entity details
21
+ lines.push('=== COLLECTION SUMMARIES ===');
22
+ for (const repoName of repoNames) {
23
+ try {
24
+ const graph = wm.getGraph(repoName);
25
+ const allEntities = graph.search({});
26
+ const typeCounts = {};
27
+ for (const e of allEntities) {
28
+ const t = e.data?.entity_type ?? e.entityType ?? 'unknown';
29
+ typeCounts[t] = (typeCounts[t] ?? 0) + 1;
30
+ }
31
+ const repoConfig = wm.getRepoConfig(repoName);
32
+ const syncSources = repoConfig?.sync ?? [];
33
+ const summary = Object.entries(typeCounts).map(([t, c]) => `${c} ${t}s`).join(', ');
34
+ lines.push(`[${repoName}] ${allEntities.length} entities: ${summary}`);
35
+ if (syncSources.length > 0) {
36
+ lines.push(` sync sources: ${syncSources.map((s) => s.source ?? 'unknown').join(', ')}`);
37
+ }
38
+ }
39
+ catch { /* skip */ }
40
+ }
41
+ lines.push('');
42
+ lines.push('=== ENTITY DETAILS ===');
42
43
  for (const repoName of repoNames) {
43
44
  try {
44
45
  const graph = wm.getGraph(repoName);
@@ -48,31 +49,47 @@ function gatherEntityContext(wm, repoNames, maxEntities = 200) {
48
49
  break;
49
50
  const fm = entity.data;
50
51
  const type = fm.entity_type ?? entity.entityType ?? 'unknown';
51
- const title = fm.title ?? fm.name ?? entity.id;
52
+ const title = fm.name ?? entity.id;
52
53
  const wikilinks = entity.document?.wikilinks ?? [];
53
54
  const content = entity.document?.content ?? '';
54
- // Truncate content to keep context manageable
55
- const snippet = content.length > 500 ? content.slice(0, 500) + '...' : content;
55
+ const snippet = content.length > 300 ? content.slice(0, 300) + '...' : content;
56
56
  lines.push(`[${repoName}/${type}/${entity.id}] ${title}`);
57
- if (wikilinks.length > 0) {
58
- lines.push(` links: ${wikilinks.join(', ')}`);
59
- }
60
- // Include select frontmatter fields
57
+ // Temporal and status metadata
61
58
  const meta = [];
62
- if (fm.created_at)
63
- meta.push(`created: ${fm.created_at}`);
64
- if (fm.updated_at)
65
- meta.push(`updated: ${fm.updated_at}`);
66
59
  if (fm.status)
67
60
  meta.push(`status: ${fm.status}`);
68
- if (fm.attendees)
69
- meta.push(`attendees: ${JSON.stringify(fm.attendees)}`);
61
+ if (fm.priority)
62
+ meta.push(`priority: ${fm.priority}`);
63
+ if (fm.stage)
64
+ meta.push(`stage: ${fm.stage}`);
65
+ if (fm.assignee)
66
+ meta.push(`assignee: ${fm.assignee}`);
67
+ if (fm.due_date) {
68
+ const dueDate = new Date(fm.due_date);
69
+ const daysUntil = Math.round((dueDate.getTime() - now.getTime()) / 86400000);
70
+ meta.push(`due: ${fm.due_date} (${daysUntil < 0 ? Math.abs(daysUntil) + 'd overdue' : daysUntil + 'd away'})`);
71
+ }
72
+ if (fm.expected_close)
73
+ meta.push(`expected_close: ${fm.expected_close}`);
70
74
  if (fm.client)
71
75
  meta.push(`client: ${fm.client}`);
72
76
  if (fm.project)
73
77
  meta.push(`project: ${fm.project}`);
78
+ if (fm.deal_value)
79
+ meta.push(`deal_value: ${fm.deal_value}`);
80
+ if (fm.attendees)
81
+ meta.push(`attendees: ${JSON.stringify(fm.attendees)}`);
82
+ if (fm.updated_at) {
83
+ const updated = new Date(fm.updated_at);
84
+ const daysSince = Math.round((now.getTime() - updated.getTime()) / 86400000);
85
+ if (daysSince > 14)
86
+ meta.push(`stale: ${daysSince}d since update`);
87
+ }
74
88
  if (meta.length > 0)
75
89
  lines.push(` ${meta.join(' | ')}`);
90
+ if (wikilinks.length > 0) {
91
+ lines.push(` links: ${wikilinks.join(', ')}`);
92
+ }
76
93
  if (snippet)
77
94
  lines.push(` content: ${snippet}`);
78
95
  lines.push('');
@@ -85,60 +102,86 @@ function gatherEntityContext(wm, repoNames, maxEntities = 200) {
85
102
  }
86
103
  return { context: lines.join('\n'), entityCount: total };
87
104
  }
88
- const SYSTEM_PROMPT = `You are an insight engine for a knowledge management workspace. Your job is to analyze entities (meetings, people, projects, decisions, documents, etc.) and surface non-obvious connections, patterns, and trends.
105
+ function buildSystemPrompt(userBrief, tools) {
106
+ const briefSection = userBrief
107
+ ? `\n\nThe user has described what they care about most:\n"${userBrief}"\n\nPrioritize insights that align with their focus. But also surface critical issues they might not have asked about (like overdue tasks or stalled projects).`
108
+ : '';
109
+ return `You are an insight engine for a knowledge management workspace used by creative services teams. Analyze entities (meetings, people, projects, decisions, tasks, deals, documents, etc.) and surface actionable insights.
110
+
111
+ ACCURACY IS CRITICAL. The data provided includes:
112
+ - Collection summaries with exact entity type counts — trust these numbers, do not guess or speculate about what exists
113
+ - Sync source configurations — if a collection lists a sync source, data IS flowing from it
114
+ - Entity details with metadata — only make claims you can back up with the data shown
89
115
 
90
- Generate exactly 3-5 insights. Each insight should:
91
- - Reveal a CONNECTION between entities the user might not have noticed
92
- - Be specific name the entities involved
93
- - Be actionable or thought-provoking
94
- - Feel like an "a-ha" moment
116
+ Generate 3-7 insights. Each insight should be:
117
+ - ACCURATE only state facts supported by the data provided. Never say "no X entities exist" unless the collection summaries confirm zero
118
+ - ACTIONABLEthe action must be something the AI agent can actually execute (see capabilities below)
119
+ - SPECIFIC name the entities involved
120
+ - IMPORTANT focus on things that need attention now
121
+ ${briefSection}
95
122
 
96
123
  Insight patterns to look for:
97
- - cluster: Multiple entities converge on the same topic/person/theme
98
- - trend: Activity increasing/decreasing over time
99
- - gap: Missing connections (e.g., project with meetings but no decisions)
100
- - relationship: A person/org appears across multiple contexts
101
- - recency: New entities that connect to existing ones
124
+ - risk: Overdue tasks, stalled projects, deadlines approaching without progress, deals aging without next steps
125
+ - relationship: Client engagement gaps, key people appearing across contexts, uncontacted stakeholders
126
+ - opportunity: Patterns across deals/projects, uncaptured practice areas, reusable knowledge
127
+ - quality: Isolated entities with no connections, missing data, entities that should be linked but aren't
128
+ - trend: Activity patterns, increasing/decreasing engagement, velocity changes
129
+
130
+ IMPORTANT — The "action" field will be sent to an AI assistant as a prompt. Think of yourself as a concierge offering to do things for the user. The action should be something you'd naturally say: "Shall I create a meeting entity for a check-in with Cooper Hewitt?" or "I can update the status of these overdue tasks — want me to?"
131
+
132
+ The assistant has access to ONLY these tools — no others:
133
+ ${tools.length > 0 ? tools.map(t => `- ${t.name}: ${t.description}`).join('\n') : '(core workspace tools only — create/update/search/delete entities, create views, lint, find orphans)'}
134
+
135
+ CRITICAL: Only suggest actions that use the tools listed above. If a connector (like Pipedrive, Linear, Slack, etc.) is NOT in the tool list, do NOT reference it in any action. Even if entities in the workspace mention an external system, only suggest actions the assistant can actually perform with its available tools. For example, if there is no pipedrive_connector tool, never suggest "Search Pipedrive" — instead suggest workspace-level actions like "Create a deal entity" or "Search for existing deal entities."
102
136
 
103
137
  Respond with valid JSON matching this schema:
104
138
  {
105
139
  "insights": [
106
140
  {
107
- "headline": "One-sentence insight (the a-ha)",
108
- "detail": "2-3 sentence explanation with specifics",
109
- "entities": [{"id": "entity-id", "type": "entity-type", "repo": "collection-name"}],
110
- "pattern": "cluster|trend|gap|relationship|recency"
141
+ "headline": "Short, punchy headline (under 12 words)",
142
+ "detail": "1-2 sentence explanation be concise, not exhaustive",
143
+ "urgency": "high|medium|low",
144
+ "actions": ["Imperative action 1", "Imperative action 2"],
145
+ "entities": [{"id": "entity-id", "type": "entity-type", "repo": "collection-name", "name": "display name"}],
146
+ "pattern": "risk|relationship|opportunity|quality|trend"
111
147
  }
112
148
  ]
113
- }`;
149
+ }
150
+
151
+ Each insight should have exactly 1 action — the single most impactful next step. The action is a short imperative sentence sent directly to the AI assistant as a prompt. Write as an instruction, not a question:
152
+ - Good: "Run a lint check on all Cooper Hewitt entities"
153
+ - Good: "Create a deal entity for the Existence next phase"
154
+ - Bad: "Shall I run a lint check?" (not imperative)
155
+ - Bad: "You should consider updating..." (not an instruction)`;
156
+ }
114
157
  /**
115
- * Generate insights from workspace entities.
158
+ * Generate insights from workspace entities, personalized by user brief.
116
159
  */
117
- export async function generateInsights(wm, workspacePath, repoNames, workspaceConfig) {
160
+ export async function generateInsights(wm, repoNames, userBrief, authService, userId, workspaceConfig, tools) {
118
161
  const { context, entityCount } = gatherEntityContext(wm, repoNames);
119
162
  if (entityCount === 0) {
120
- const empty = { insights: [], generated_at: new Date().toISOString(), entity_count: 0 };
121
- saveInsights(workspacePath, empty);
163
+ const empty = { insights: [], generatedAt: new Date().toISOString(), entityCount: 0 };
164
+ authService.setCachedInsights(userId, []);
122
165
  return empty;
123
166
  }
124
167
  const userConfig = loadUserConfig();
125
168
  const apiKey = resolveApiKey(userConfig, workspaceConfig);
126
169
  const provider = resolveProvider(userConfig, workspaceConfig);
127
170
  if (!apiKey || provider !== 'anthropic') {
128
- // For now, only support Anthropic
129
- const empty = { insights: [], generated_at: new Date().toISOString(), entity_count: entityCount };
130
- saveInsights(workspacePath, empty);
171
+ const empty = { insights: [], generatedAt: new Date().toISOString(), entityCount };
172
+ authService.setCachedInsights(userId, []);
131
173
  return empty;
132
174
  }
175
+ const modelId = resolveModelId(userConfig, workspaceConfig);
133
176
  const client = new Anthropic({ apiKey });
134
177
  const response = await client.messages.create({
135
- model: 'claude-sonnet-4-5-20250929',
136
- max_tokens: 2000,
137
- system: SYSTEM_PROMPT,
178
+ model: modelId,
179
+ max_tokens: 3000,
180
+ system: buildSystemPrompt(userBrief, tools ?? []),
138
181
  messages: [
139
182
  {
140
183
  role: 'user',
141
- content: `Here are the entities in my workspace:\n\n${context}\n\nGenerate insights about the connections and patterns you see.`,
184
+ content: `Here are the entities in my workspace (today is ${new Date().toISOString().split('T')[0]}):\n\n${context}\n\nGenerate actionable insights.`,
142
185
  },
143
186
  ],
144
187
  });
@@ -148,27 +191,28 @@ export async function generateInsights(wm, workspacePath, repoNames, workspaceCo
148
191
  .join('');
149
192
  let insights = [];
150
193
  try {
151
- // Extract JSON from response (may be wrapped in markdown code block)
152
194
  const jsonMatch = text.match(/\{[\s\S]*\}/);
153
195
  if (jsonMatch) {
154
196
  const parsed = JSON.parse(jsonMatch[0]);
155
197
  insights = (parsed.insights ?? []).map((i) => ({
156
198
  headline: i.headline ?? '',
157
199
  detail: i.detail ?? '',
200
+ urgency: (['high', 'medium', 'low'].includes(i.urgency) ? i.urgency : 'medium'),
201
+ actions: Array.isArray(i.actions) ? i.actions.filter((a) => typeof a === 'string') : (i.action ? [i.action] : []),
158
202
  entities: Array.isArray(i.entities) ? i.entities : [],
159
- pattern: i.pattern ?? 'cluster',
203
+ pattern: (['risk', 'relationship', 'opportunity', 'quality', 'trend'].includes(i.pattern) ? i.pattern : 'trend'),
160
204
  }));
161
205
  }
162
206
  }
163
207
  catch {
164
208
  console.error('[insights] Failed to parse LLM response:', text.slice(0, 200));
165
209
  }
166
- const data = {
210
+ // Cache per-user
211
+ authService.setCachedInsights(userId, insights);
212
+ return {
167
213
  insights,
168
- generated_at: new Date().toISOString(),
169
- entity_count: entityCount,
214
+ generatedAt: new Date().toISOString(),
215
+ entityCount,
170
216
  };
171
- saveInsights(workspacePath, data);
172
- return data;
173
217
  }
174
218
  //# sourceMappingURL=insights.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"insights.js","sourceRoot":"","sources":["../../src/services/insights.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"insights.js","sourceRoot":"","sources":["../../src/services/insights.ts"],"names":[],"mappings":"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"}
@@ -379,6 +379,7 @@ export function sourceEntityConfigToMapping(entityType, config, sourceName, targ
379
379
  extraction_mode: config.extraction_mode ?? 'structured',
380
380
  field_map: config.field_map,
381
381
  status_map: config.status_map,
382
+ priority_map: config.priority_map,
382
383
  id_from: config.id_from,
383
384
  content_from: config.content_from,
384
385
  fetch_details: config.fetch_details,