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.
- package/dist/agent/tools/graph-tools.d.ts +58 -0
- package/dist/agent/tools/graph-tools.js +92 -0
- package/dist/agent/tools/graph-tools.js.map +1 -1
- package/dist/core/graph.js +13 -6
- package/dist/core/graph.js.map +1 -1
- package/dist/core/validation.d.ts +12 -30
- package/dist/core/validation.js +2 -5
- package/dist/core/validation.js.map +1 -1
- package/dist/integrations/linear.js +13 -3
- package/dist/integrations/linear.js.map +1 -1
- package/dist/mcp/tools.d.ts +2 -1
- package/dist/mcp/tools.js +80 -1
- package/dist/mcp/tools.js.map +1 -1
- package/dist/server/index.js +40 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/routes/graph-api.js +91 -6
- package/dist/server/routes/graph-api.js.map +1 -1
- package/dist/server/routes/insights-api.d.ts +7 -3
- package/dist/server/routes/insights-api.js +46 -21
- package/dist/server/routes/insights-api.js.map +1 -1
- package/dist/server/routes/mcp.d.ts +2 -1
- package/dist/server/routes/mcp.js +2 -2
- package/dist/server/routes/mcp.js.map +1 -1
- package/dist/server/routes/views-api.d.ts +10 -0
- package/dist/server/routes/views-api.js +66 -0
- package/dist/server/routes/views-api.js.map +1 -0
- package/dist/server/ws-hub.d.ts +6 -1
- package/dist/server/ws-hub.js.map +1 -1
- package/dist/services/auth-service.d.ts +31 -0
- package/dist/services/auth-service.js +100 -0
- package/dist/services/auth-service.js.map +1 -1
- package/dist/services/insights.d.ts +18 -11
- package/dist/services/insights.js +121 -77
- package/dist/services/insights.js.map +1 -1
- package/dist/services/sync/collection-sync.js +1 -0
- package/dist/services/sync/collection-sync.js.map +1 -1
- package/dist/services/sync/structured-extractor.js +26 -5
- package/dist/services/sync/structured-extractor.js.map +1 -1
- package/dist/services/sync/types.d.ts +4 -0
- package/dist/web/_app/immutable/assets/{0.Bzn6qb0O.css → 0.n3qM-DRk.css} +1 -1
- package/dist/web/_app/immutable/assets/3.zsEg_MDN.css +1 -0
- package/dist/web/_app/immutable/assets/{7.X0WUW64S.css → 7.5LBMlZdT.css} +1 -1
- package/dist/web/_app/immutable/assets/8.DfcI2i9H.css +1 -0
- package/dist/web/_app/immutable/assets/Toaster.rN8r_Hzv.css +1 -0
- package/dist/web/_app/immutable/assets/ViewToolbar.BX74Ki7U.css +1 -0
- package/dist/web/_app/immutable/assets/checkbox.D6tMDJWk.css +1 -0
- package/dist/web/_app/immutable/chunks/0rsp5-Up.js +1 -0
- package/dist/web/_app/immutable/chunks/0wBGAod7.js +1 -0
- package/dist/web/_app/immutable/chunks/APIqItee.js +1 -0
- package/dist/web/_app/immutable/chunks/B3NI-DOv.js +1 -0
- package/dist/web/_app/immutable/chunks/BAAbylyg.js +1 -0
- package/dist/web/_app/immutable/chunks/BHue2Ock.js +1 -0
- package/dist/web/_app/immutable/chunks/BPXdu_FX.js +1 -0
- package/dist/web/_app/immutable/chunks/BU2bHQbQ.js +4 -0
- package/dist/web/_app/immutable/chunks/BUcIsKRk.js +1 -0
- package/dist/web/_app/immutable/chunks/BgBJ0u3M.js +1 -0
- package/dist/web/_app/immutable/chunks/Bnl5ADsW.js +1 -0
- package/dist/web/_app/immutable/chunks/Bs4ovbtO.js +2 -0
- package/dist/web/_app/immutable/chunks/Bt5_mycY.js +1 -0
- package/dist/web/_app/immutable/chunks/By_Wtb5J.js +1 -0
- package/dist/web/_app/immutable/chunks/{Bt7P6UBm.js → CFtRXHDP.js} +2 -2
- package/dist/web/_app/immutable/chunks/CRnhIQbv.js +1 -0
- package/dist/web/_app/immutable/chunks/CSzKZPD4.js +1 -0
- package/dist/web/_app/immutable/chunks/CdeYcEuU.js +1 -0
- package/dist/web/_app/immutable/chunks/D-yNNNdf.js +1 -0
- package/dist/web/_app/immutable/chunks/DC9z5DEo.js +1 -0
- package/dist/web/_app/immutable/chunks/DCVmM0L5.js +1 -0
- package/dist/web/_app/immutable/chunks/DHtLlmE0.js +1 -0
- package/dist/web/_app/immutable/chunks/DQ5NTKSo.js +1 -0
- package/dist/web/_app/immutable/chunks/{QOJagAiA.js → DQJwHeKh.js} +1 -1
- package/dist/web/_app/immutable/chunks/DQYNi3YK.js +5 -0
- package/dist/web/_app/immutable/chunks/{BBDMeJL4.js → DSh-OF2y.js} +1 -1
- package/dist/web/_app/immutable/chunks/DSkxw4Ss.js +1 -0
- package/dist/web/_app/immutable/chunks/{Dtbtl5su.js → DT3KtxWU.js} +1 -1
- package/dist/web/_app/immutable/chunks/DVx_0hnZ.js +1 -0
- package/dist/web/_app/immutable/chunks/DiWKchgv.js +1 -0
- package/dist/web/_app/immutable/chunks/Diui_MO0.js +1 -0
- package/dist/web/_app/immutable/chunks/DodWDTE5.js +1 -0
- package/dist/web/_app/immutable/chunks/KHKAD2Ng.js +1 -0
- package/dist/web/_app/immutable/chunks/{C8t_lVji.js → Sk0ODu4Y.js} +1 -1
- package/dist/web/_app/immutable/chunks/azUmHUDT.js +1 -0
- package/dist/web/_app/immutable/chunks/{yEDUbZbk.js → b0XUoOIH.js} +2 -2
- package/dist/web/_app/immutable/chunks/lsAKkphT.js +1 -0
- package/dist/web/_app/immutable/chunks/vZ2iBqLE.js +1 -0
- package/dist/web/_app/immutable/entry/app.DA5OyPOi.js +2 -0
- package/dist/web/_app/immutable/entry/start.DTjSVtws.js +1 -0
- package/dist/web/_app/immutable/nodes/0.BIvpQ3Qk.js +2 -0
- package/dist/web/_app/immutable/nodes/1.y3j9wcQE.js +1 -0
- package/dist/web/_app/immutable/nodes/{9.DlSjDUl0.js → 10.D03BZcr1.js} +1 -1
- package/dist/web/_app/immutable/nodes/2.Du0xZVQg.js +84 -0
- package/dist/web/_app/immutable/nodes/3.weQEi2lI.js +1 -0
- package/dist/web/_app/immutable/nodes/4.DJyhWznw.js +11 -0
- package/dist/web/_app/immutable/nodes/{5.BZZysw6z.js → 5.CipwuwB3.js} +2 -2
- package/dist/web/_app/immutable/nodes/6.Daxwm3Lw.js +2 -0
- package/dist/web/_app/immutable/nodes/7.TxeJDMtw.js +2 -0
- package/dist/web/_app/immutable/nodes/8.DWNdmB4l.js +1 -0
- package/dist/web/_app/immutable/nodes/{8.CZ7vB_Pl.js → 9.BuTZk7Le.js} +1 -1
- package/dist/web/_app/version.json +1 -1
- package/dist/web/index.html +11 -12
- package/package.json +1 -1
- package/dist/web/_app/immutable/assets/3.CHSDCrUY.css +0 -1
- package/dist/web/_app/immutable/assets/ViewToolbar.39HnhXNY.css +0 -1
- package/dist/web/_app/immutable/chunks/3ONneP0Z.js +0 -1
- package/dist/web/_app/immutable/chunks/8aEH9o48.js +0 -1
- package/dist/web/_app/immutable/chunks/B3cbqYdb.js +0 -1
- package/dist/web/_app/immutable/chunks/BMrbs3EC.js +0 -1
- package/dist/web/_app/immutable/chunks/BQZlAX3A.js +0 -1
- package/dist/web/_app/immutable/chunks/BmP3yl81.js +0 -1
- package/dist/web/_app/immutable/chunks/C8IfoK2g.js +0 -1
- package/dist/web/_app/immutable/chunks/CClliU_-.js +0 -4
- package/dist/web/_app/immutable/chunks/CDs3H3KT.js +0 -1
- package/dist/web/_app/immutable/chunks/CRbsz2jz.js +0 -1
- package/dist/web/_app/immutable/chunks/CWmHQEyb.js +0 -1
- package/dist/web/_app/immutable/chunks/CpAdcarq.js +0 -1
- package/dist/web/_app/immutable/chunks/CpXgbTWt.js +0 -1
- package/dist/web/_app/immutable/chunks/DYpjUIN_.js +0 -1
- package/dist/web/_app/immutable/chunks/Ddpk8P2X.js +0 -1
- package/dist/web/_app/immutable/chunks/DvqvTNdq.js +0 -1
- package/dist/web/_app/immutable/chunks/Dx6YFABE.js +0 -1
- package/dist/web/_app/immutable/chunks/Iwcm6r7d.js +0 -1
- package/dist/web/_app/immutable/chunks/Zf7H0ZZc.js +0 -5
- package/dist/web/_app/immutable/chunks/qvfhHbjx.js +0 -1
- package/dist/web/_app/immutable/entry/app.oDy7ig5b.js +0 -2
- package/dist/web/_app/immutable/entry/start.Cz7A2G8_.js +0 -1
- package/dist/web/_app/immutable/nodes/0.BuWS-_Tw.js +0 -2
- package/dist/web/_app/immutable/nodes/1.ClV7Vf9J.js +0 -1
- package/dist/web/_app/immutable/nodes/2.Dg3m027a.js +0 -84
- package/dist/web/_app/immutable/nodes/3.9iNkY9mM.js +0 -1
- package/dist/web/_app/immutable/nodes/4.UG11YFmx.js +0 -11
- package/dist/web/_app/immutable/nodes/6.LCPXZT0S.js +0 -2
- package/dist/web/_app/immutable/nodes/7.kgjplPpk.js +0 -2
- /package/dist/web/_app/immutable/assets/{9.BUrHkYry.css → 10.BUrHkYry.css} +0 -0
- /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
|
-
*
|
|
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: '
|
|
24
|
+
pattern: 'risk' | 'relationship' | 'opportunity' | 'quality' | 'trend';
|
|
18
25
|
}
|
|
19
26
|
export interface InsightsData {
|
|
20
27
|
insights: Insight[];
|
|
21
|
-
|
|
22
|
-
|
|
28
|
+
generatedAt: string | null;
|
|
29
|
+
entityCount: number;
|
|
30
|
+
}
|
|
31
|
+
export interface ToolCapability {
|
|
32
|
+
name: string;
|
|
33
|
+
description: string;
|
|
23
34
|
}
|
|
24
35
|
/**
|
|
25
|
-
*
|
|
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,
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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.
|
|
52
|
+
const title = fm.name ?? entity.id;
|
|
52
53
|
const wikilinks = entity.document?.wikilinks ?? [];
|
|
53
54
|
const content = entity.document?.content ?? '';
|
|
54
|
-
|
|
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
|
-
|
|
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.
|
|
69
|
-
meta.push(`
|
|
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
|
-
|
|
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
|
|
91
|
-
-
|
|
92
|
-
-
|
|
93
|
-
-
|
|
94
|
-
-
|
|
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
|
+
- ACTIONABLE — the 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
|
-
-
|
|
98
|
-
-
|
|
99
|
-
-
|
|
100
|
-
-
|
|
101
|
-
-
|
|
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": "
|
|
108
|
-
"detail": "2
|
|
109
|
-
"
|
|
110
|
-
"
|
|
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,
|
|
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: [],
|
|
121
|
-
|
|
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
|
-
|
|
129
|
-
|
|
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:
|
|
136
|
-
max_tokens:
|
|
137
|
-
system:
|
|
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
|
|
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
|
|
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
|
-
|
|
210
|
+
// Cache per-user
|
|
211
|
+
authService.setCachedInsights(userId, insights);
|
|
212
|
+
return {
|
|
167
213
|
insights,
|
|
168
|
-
|
|
169
|
-
|
|
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":"AAAA
|
|
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,
|