@teamlens/core 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analytics/analytics-engine.d.ts +45 -0
- package/dist/analytics/analytics-engine.d.ts.map +1 -0
- package/dist/analytics/analytics-engine.js +176 -0
- package/dist/analytics/analytics-engine.js.map +1 -0
- package/dist/distribution/distributor.d.ts +19 -0
- package/dist/distribution/distributor.d.ts.map +1 -0
- package/dist/distribution/distributor.js +220 -0
- package/dist/distribution/distributor.js.map +1 -0
- package/dist/extractor/git-extractor.d.ts +36 -0
- package/dist/extractor/git-extractor.d.ts.map +1 -0
- package/dist/extractor/git-extractor.js +198 -0
- package/dist/extractor/git-extractor.js.map +1 -0
- package/dist/index.d.ts +118 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +313 -0
- package/dist/index.js.map +1 -0
- package/dist/retrieval/retriever.d.ts +33 -0
- package/dist/retrieval/retriever.d.ts.map +1 -0
- package/dist/retrieval/retriever.js +126 -0
- package/dist/retrieval/retriever.js.map +1 -0
- package/dist/session/insight-detector.d.ts +10 -0
- package/dist/session/insight-detector.d.ts.map +1 -0
- package/dist/session/insight-detector.js +87 -0
- package/dist/session/insight-detector.js.map +1 -0
- package/dist/session/session-manager.d.ts +49 -0
- package/dist/session/session-manager.d.ts.map +1 -0
- package/dist/session/session-manager.js +228 -0
- package/dist/session/session-manager.js.map +1 -0
- package/dist/staleness/staleness-engine.d.ts +36 -0
- package/dist/staleness/staleness-engine.d.ts.map +1 -0
- package/dist/staleness/staleness-engine.js +141 -0
- package/dist/staleness/staleness-engine.js.map +1 -0
- package/dist/store/database.d.ts +121 -0
- package/dist/store/database.d.ts.map +1 -0
- package/dist/store/database.js +677 -0
- package/dist/store/database.js.map +1 -0
- package/dist/store/embeddings.d.ts +21 -0
- package/dist/store/embeddings.d.ts.map +1 -0
- package/dist/store/embeddings.js +70 -0
- package/dist/store/embeddings.js.map +1 -0
- package/dist/sync/team-sync.d.ts +77 -0
- package/dist/sync/team-sync.d.ts.map +1 -0
- package/dist/sync/team-sync.js +230 -0
- package/dist/sync/team-sync.js.map +1 -0
- package/dist/types.d.ts +223 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +24 -0
- package/dist/types.js.map +1 -0
- package/package.json +39 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/store/database.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { TeamLensConfig } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Embedding provider — generates vector embeddings for memory content.
|
|
4
|
+
*
|
|
5
|
+
* Uses Ollama locally by default (free, private, offline).
|
|
6
|
+
* Falls back to no embeddings if Ollama isn't available (retrieval
|
|
7
|
+
* uses keyword matching instead).
|
|
8
|
+
*/
|
|
9
|
+
export declare class EmbeddingProvider {
|
|
10
|
+
private model;
|
|
11
|
+
private host;
|
|
12
|
+
private available;
|
|
13
|
+
constructor(config: TeamLensConfig);
|
|
14
|
+
/** Check if Ollama is reachable and the model is available. */
|
|
15
|
+
isAvailable(): Promise<boolean>;
|
|
16
|
+
/** Generate an embedding vector for the given text. Returns null if unavailable. */
|
|
17
|
+
embed(text: string): Promise<number[] | null>;
|
|
18
|
+
/** Compute cosine similarity between two vectors. */
|
|
19
|
+
static cosineSimilarity(a: number[], b: number[]): number;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=embeddings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../src/store/embeddings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;;;;;GAMG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,SAAS,CAAwB;gBAE7B,MAAM,EAAE,cAAc;IAKlC,+DAA+D;IACzD,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAkBrC,oFAAoF;IAC9E,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAmBnD,qDAAqD;IACrD,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;CAgB1D"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embedding provider — generates vector embeddings for memory content.
|
|
3
|
+
*
|
|
4
|
+
* Uses Ollama locally by default (free, private, offline).
|
|
5
|
+
* Falls back to no embeddings if Ollama isn't available (retrieval
|
|
6
|
+
* uses keyword matching instead).
|
|
7
|
+
*/
|
|
8
|
+
export class EmbeddingProvider {
|
|
9
|
+
model;
|
|
10
|
+
host;
|
|
11
|
+
available = null;
|
|
12
|
+
constructor(config) {
|
|
13
|
+
this.model = config.embeddingModel;
|
|
14
|
+
this.host = config.ollamaHost;
|
|
15
|
+
}
|
|
16
|
+
/** Check if Ollama is reachable and the model is available. */
|
|
17
|
+
async isAvailable() {
|
|
18
|
+
if (this.available !== null)
|
|
19
|
+
return this.available;
|
|
20
|
+
try {
|
|
21
|
+
const res = await fetch(`${this.host}/api/tags`, { signal: AbortSignal.timeout(3000) });
|
|
22
|
+
if (!res.ok) {
|
|
23
|
+
this.available = false;
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
const data = (await res.json());
|
|
27
|
+
this.available = data.models?.some((m) => m.name.startsWith(this.model)) ?? false;
|
|
28
|
+
return this.available;
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
this.available = false;
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/** Generate an embedding vector for the given text. Returns null if unavailable. */
|
|
36
|
+
async embed(text) {
|
|
37
|
+
if (!(await this.isAvailable()))
|
|
38
|
+
return null;
|
|
39
|
+
try {
|
|
40
|
+
const res = await fetch(`${this.host}/api/embed`, {
|
|
41
|
+
method: 'POST',
|
|
42
|
+
headers: { 'Content-Type': 'application/json' },
|
|
43
|
+
body: JSON.stringify({ model: this.model, input: text }),
|
|
44
|
+
});
|
|
45
|
+
if (!res.ok)
|
|
46
|
+
return null;
|
|
47
|
+
const data = (await res.json());
|
|
48
|
+
return data.embeddings?.[0] ?? null;
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/** Compute cosine similarity between two vectors. */
|
|
55
|
+
static cosineSimilarity(a, b) {
|
|
56
|
+
if (a.length !== b.length)
|
|
57
|
+
return 0;
|
|
58
|
+
let dot = 0;
|
|
59
|
+
let normA = 0;
|
|
60
|
+
let normB = 0;
|
|
61
|
+
for (let i = 0; i < a.length; i++) {
|
|
62
|
+
dot += a[i] * b[i];
|
|
63
|
+
normA += a[i] * a[i];
|
|
64
|
+
normB += b[i] * b[i];
|
|
65
|
+
}
|
|
66
|
+
const denom = Math.sqrt(normA) * Math.sqrt(normB);
|
|
67
|
+
return denom === 0 ? 0 : dot / denom;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=embeddings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../src/store/embeddings.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,OAAO,iBAAiB;IACpB,KAAK,CAAS;IACd,IAAI,CAAS;IACb,SAAS,GAAmB,IAAI,CAAC;IAEzC,YAAY,MAAsB;QAChC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;IAChC,CAAC;IAED,+DAA+D;IAC/D,KAAK,CAAC,WAAW;QACf,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC;QAEnD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAoC,CAAC;YACnE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC;YAClF,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,oFAAoF;IACpF,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QAE7C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,YAAY,EAAE;gBAChD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;aACzD,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC;YAEzB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAgC,CAAC;YAC/D,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,MAAM,CAAC,gBAAgB,CAAC,CAAW,EAAE,CAAW;QAC9C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,CAAC,CAAC;QAEpC,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACnB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACrB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC;IACvC,CAAC;CACF"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { MemoryDatabase } from '../store/database.js';
|
|
2
|
+
import type { SharedMemoryEntry, Memory } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Team Sync Engine — syncs team memories via team.jsonl in git.
|
|
5
|
+
*
|
|
6
|
+
* Architecture:
|
|
7
|
+
* .teamlens/
|
|
8
|
+
* ├── memory.db ← local SQLite (gitignored) — all memories
|
|
9
|
+
* └── team.jsonl ← team memories (committed to git) — sync file
|
|
10
|
+
*
|
|
11
|
+
* Flow:
|
|
12
|
+
* share(id) → promote personal → team, append to team.jsonl
|
|
13
|
+
* sync() → read team.jsonl, import new team memories into memory.db
|
|
14
|
+
* export() → write all team memories to team.jsonl (rebuild)
|
|
15
|
+
*
|
|
16
|
+
* JSONL format: one JSON object per line, each line is a SharedMemoryEntry.
|
|
17
|
+
* Git-friendly: append-only, readable diffs, git blame shows who added what.
|
|
18
|
+
*
|
|
19
|
+
* Migration: auto-renames shared.jsonl → team.jsonl on first access.
|
|
20
|
+
*/
|
|
21
|
+
export declare class TeamSync {
|
|
22
|
+
private db;
|
|
23
|
+
private teamPath;
|
|
24
|
+
private legacyPath;
|
|
25
|
+
private repoPath;
|
|
26
|
+
constructor(db: MemoryDatabase, storageDir: string, repoPath?: string);
|
|
27
|
+
/** Path to the team.jsonl file. */
|
|
28
|
+
get filePath(): string;
|
|
29
|
+
/**
|
|
30
|
+
* Promote a personal memory to team.
|
|
31
|
+
* Updates tier in DB and appends to team.jsonl.
|
|
32
|
+
*/
|
|
33
|
+
share(memoryId: string): {
|
|
34
|
+
success: boolean;
|
|
35
|
+
error?: string;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Import new team memories from team.jsonl into local memory.db.
|
|
39
|
+
* Called after git pull to pick up teammates' memories.
|
|
40
|
+
* Returns count of new memories imported.
|
|
41
|
+
*/
|
|
42
|
+
importFromShared(): number;
|
|
43
|
+
/**
|
|
44
|
+
* Rebuild team.jsonl from all team memories in the database.
|
|
45
|
+
* Used to fix sync issues or initialize shared file.
|
|
46
|
+
*/
|
|
47
|
+
exportToShared(): number;
|
|
48
|
+
/** Get count of team memories in team.jsonl. */
|
|
49
|
+
sharedCount(): number;
|
|
50
|
+
/** Get all entries from team.jsonl. */
|
|
51
|
+
readSharedFile(): SharedMemoryEntry[];
|
|
52
|
+
/** Append a single memory to team.jsonl without rewriting the entire file. */
|
|
53
|
+
appendMemory(memory: Memory): void;
|
|
54
|
+
/**
|
|
55
|
+
* Auto-commit and push team.jsonl to git.
|
|
56
|
+
* Called after sharing an insight so teammates get it on next pull.
|
|
57
|
+
* Non-fatal — silently fails if not in a git repo or push fails.
|
|
58
|
+
*/
|
|
59
|
+
autoCommitAndPush(): {
|
|
60
|
+
committed: boolean;
|
|
61
|
+
pushed: boolean;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Auto-pull from git and import new team memories.
|
|
65
|
+
* Called on MCP server startup to get teammates' latest insights.
|
|
66
|
+
* Non-fatal — silently fails if not in a git repo or pull fails.
|
|
67
|
+
*/
|
|
68
|
+
autoGitPullAndImport(): {
|
|
69
|
+
pulled: boolean;
|
|
70
|
+
imported: number;
|
|
71
|
+
};
|
|
72
|
+
/** Migrate shared.jsonl → team.jsonl if the old file exists. */
|
|
73
|
+
private migrateIfNeeded;
|
|
74
|
+
private appendEntry;
|
|
75
|
+
private memoryToEntry;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=team-sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"team-sync.d.ts","sourceRoot":"","sources":["../../src/sync/team-sync.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAgB,MAAM,aAAa,CAAC;AAE3E;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,QAAQ;IAMjB,OAAO,CAAC,EAAE;IALZ,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAS;gBAGf,EAAE,EAAE,cAAc,EAC1B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM;IAUnB,mCAAmC;IACnC,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAe7D;;;;OAIG;IACH,gBAAgB,IAAI,MAAM;IAkC1B;;;OAGG;IACH,cAAc,IAAI,MAAM;IAWxB,gDAAgD;IAChD,WAAW,IAAI,MAAM;IAKrB,uCAAuC;IACvC,cAAc,IAAI,iBAAiB,EAAE;IAmBrC,8EAA8E;IAC9E,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKlC;;;;OAIG;IACH,iBAAiB,IAAI;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE;IA2C5D;;;;OAIG;IACH,oBAAoB,IAAI;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAqB7D,gEAAgE;IAChE,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,aAAa;CAkBtB"}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { execSync } from 'node:child_process';
|
|
4
|
+
/**
|
|
5
|
+
* Team Sync Engine — syncs team memories via team.jsonl in git.
|
|
6
|
+
*
|
|
7
|
+
* Architecture:
|
|
8
|
+
* .teamlens/
|
|
9
|
+
* ├── memory.db ← local SQLite (gitignored) — all memories
|
|
10
|
+
* └── team.jsonl ← team memories (committed to git) — sync file
|
|
11
|
+
*
|
|
12
|
+
* Flow:
|
|
13
|
+
* share(id) → promote personal → team, append to team.jsonl
|
|
14
|
+
* sync() → read team.jsonl, import new team memories into memory.db
|
|
15
|
+
* export() → write all team memories to team.jsonl (rebuild)
|
|
16
|
+
*
|
|
17
|
+
* JSONL format: one JSON object per line, each line is a SharedMemoryEntry.
|
|
18
|
+
* Git-friendly: append-only, readable diffs, git blame shows who added what.
|
|
19
|
+
*
|
|
20
|
+
* Migration: auto-renames shared.jsonl → team.jsonl on first access.
|
|
21
|
+
*/
|
|
22
|
+
export class TeamSync {
|
|
23
|
+
db;
|
|
24
|
+
teamPath;
|
|
25
|
+
legacyPath;
|
|
26
|
+
repoPath;
|
|
27
|
+
constructor(db, storageDir, repoPath) {
|
|
28
|
+
this.db = db;
|
|
29
|
+
this.teamPath = path.join(storageDir, 'team.jsonl');
|
|
30
|
+
this.legacyPath = path.join(storageDir, 'shared.jsonl');
|
|
31
|
+
this.repoPath = repoPath ?? path.resolve(storageDir, '..');
|
|
32
|
+
// Auto-migrate shared.jsonl → team.jsonl
|
|
33
|
+
this.migrateIfNeeded();
|
|
34
|
+
}
|
|
35
|
+
/** Path to the team.jsonl file. */
|
|
36
|
+
get filePath() {
|
|
37
|
+
return this.teamPath;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Promote a personal memory to team.
|
|
41
|
+
* Updates tier in DB and appends to team.jsonl.
|
|
42
|
+
*/
|
|
43
|
+
share(memoryId) {
|
|
44
|
+
const memory = this.db.getMemory(memoryId);
|
|
45
|
+
if (!memory)
|
|
46
|
+
return { success: false, error: 'Memory not found' };
|
|
47
|
+
if (memory.tier === 'team')
|
|
48
|
+
return { success: false, error: 'Already shared with team' };
|
|
49
|
+
// Update tier in database
|
|
50
|
+
this.db.updateTier(memoryId, 'team');
|
|
51
|
+
// Append to team.jsonl
|
|
52
|
+
const entry = this.memoryToEntry(memory);
|
|
53
|
+
this.appendEntry(entry);
|
|
54
|
+
return { success: true };
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Import new team memories from team.jsonl into local memory.db.
|
|
58
|
+
* Called after git pull to pick up teammates' memories.
|
|
59
|
+
* Returns count of new memories imported.
|
|
60
|
+
*/
|
|
61
|
+
importFromShared() {
|
|
62
|
+
if (!fs.existsSync(this.teamPath))
|
|
63
|
+
return 0;
|
|
64
|
+
const entries = this.readSharedFile();
|
|
65
|
+
let imported = 0;
|
|
66
|
+
for (const entry of entries) {
|
|
67
|
+
// Skip if we already have this memory
|
|
68
|
+
if (this.db.hasMemory(entry.id))
|
|
69
|
+
continue;
|
|
70
|
+
this.db.insertTeamMemory({
|
|
71
|
+
id: entry.id,
|
|
72
|
+
content: entry.content,
|
|
73
|
+
category: entry.category,
|
|
74
|
+
source: entry.source,
|
|
75
|
+
tier: 'team',
|
|
76
|
+
author: entry.author,
|
|
77
|
+
tags: entry.tags,
|
|
78
|
+
relatedFiles: entry.relatedFiles,
|
|
79
|
+
commitSha: entry.commitSha,
|
|
80
|
+
confidence: entry.confidence,
|
|
81
|
+
scope: entry.scope ?? null,
|
|
82
|
+
priority: entry.priority ?? null,
|
|
83
|
+
examples: entry.examples ?? null,
|
|
84
|
+
active: entry.active ?? true,
|
|
85
|
+
createdAt: entry.createdAt,
|
|
86
|
+
});
|
|
87
|
+
imported++;
|
|
88
|
+
}
|
|
89
|
+
return imported;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Rebuild team.jsonl from all team memories in the database.
|
|
93
|
+
* Used to fix sync issues or initialize shared file.
|
|
94
|
+
*/
|
|
95
|
+
exportToShared() {
|
|
96
|
+
const teamMemories = this.db.getMemoriesByTier('team', true);
|
|
97
|
+
const entries = teamMemories.map(this.memoryToEntry);
|
|
98
|
+
// Write all at once (overwrite)
|
|
99
|
+
const content = entries.map((e) => JSON.stringify(e)).join('\n');
|
|
100
|
+
fs.writeFileSync(this.teamPath, content ? content + '\n' : '');
|
|
101
|
+
return entries.length;
|
|
102
|
+
}
|
|
103
|
+
/** Get count of team memories in team.jsonl. */
|
|
104
|
+
sharedCount() {
|
|
105
|
+
if (!fs.existsSync(this.teamPath))
|
|
106
|
+
return 0;
|
|
107
|
+
return this.readSharedFile().length;
|
|
108
|
+
}
|
|
109
|
+
/** Get all entries from team.jsonl. */
|
|
110
|
+
readSharedFile() {
|
|
111
|
+
if (!fs.existsSync(this.teamPath))
|
|
112
|
+
return [];
|
|
113
|
+
const content = fs.readFileSync(this.teamPath, 'utf-8').trim();
|
|
114
|
+
if (!content)
|
|
115
|
+
return [];
|
|
116
|
+
return content
|
|
117
|
+
.split('\n')
|
|
118
|
+
.filter(Boolean)
|
|
119
|
+
.map((line) => {
|
|
120
|
+
try {
|
|
121
|
+
return JSON.parse(line);
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
})
|
|
127
|
+
.filter((entry) => entry !== null);
|
|
128
|
+
}
|
|
129
|
+
/** Append a single memory to team.jsonl without rewriting the entire file. */
|
|
130
|
+
appendMemory(memory) {
|
|
131
|
+
const entry = this.memoryToEntry(memory);
|
|
132
|
+
this.appendEntry(entry);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Auto-commit and push team.jsonl to git.
|
|
136
|
+
* Called after sharing an insight so teammates get it on next pull.
|
|
137
|
+
* Non-fatal — silently fails if not in a git repo or push fails.
|
|
138
|
+
*/
|
|
139
|
+
autoCommitAndPush() {
|
|
140
|
+
const relativePath = path.relative(this.repoPath, this.teamPath);
|
|
141
|
+
let committed = false;
|
|
142
|
+
let pushed = false;
|
|
143
|
+
try {
|
|
144
|
+
// Check if there are changes to team.jsonl
|
|
145
|
+
const status = execSync(`git status --porcelain "${relativePath}"`, {
|
|
146
|
+
cwd: this.repoPath,
|
|
147
|
+
encoding: 'utf-8',
|
|
148
|
+
timeout: 5000,
|
|
149
|
+
}).trim();
|
|
150
|
+
if (!status)
|
|
151
|
+
return { committed: false, pushed: false };
|
|
152
|
+
// Stage and commit
|
|
153
|
+
execSync(`git add "${relativePath}"`, {
|
|
154
|
+
cwd: this.repoPath,
|
|
155
|
+
timeout: 5000,
|
|
156
|
+
});
|
|
157
|
+
execSync(`git commit -m "teamlens: share team insights" --no-verify`, {
|
|
158
|
+
cwd: this.repoPath,
|
|
159
|
+
timeout: 5000,
|
|
160
|
+
});
|
|
161
|
+
committed = true;
|
|
162
|
+
// Try to push (non-fatal if it fails)
|
|
163
|
+
try {
|
|
164
|
+
execSync('git push', {
|
|
165
|
+
cwd: this.repoPath,
|
|
166
|
+
timeout: 15000,
|
|
167
|
+
});
|
|
168
|
+
pushed = true;
|
|
169
|
+
}
|
|
170
|
+
catch {
|
|
171
|
+
// Push failed (no remote, auth, etc.) — that's OK
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
catch {
|
|
175
|
+
// Not a git repo, or commit failed — non-fatal
|
|
176
|
+
}
|
|
177
|
+
return { committed, pushed };
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Auto-pull from git and import new team memories.
|
|
181
|
+
* Called on MCP server startup to get teammates' latest insights.
|
|
182
|
+
* Non-fatal — silently fails if not in a git repo or pull fails.
|
|
183
|
+
*/
|
|
184
|
+
autoGitPullAndImport() {
|
|
185
|
+
let pulled = false;
|
|
186
|
+
let imported = 0;
|
|
187
|
+
try {
|
|
188
|
+
execSync('git pull --rebase --autostash', {
|
|
189
|
+
cwd: this.repoPath,
|
|
190
|
+
timeout: 15000,
|
|
191
|
+
stdio: 'pipe',
|
|
192
|
+
});
|
|
193
|
+
pulled = true;
|
|
194
|
+
}
|
|
195
|
+
catch {
|
|
196
|
+
// Pull failed — try import anyway (file might have local changes)
|
|
197
|
+
}
|
|
198
|
+
imported = this.importFromShared();
|
|
199
|
+
return { pulled, imported };
|
|
200
|
+
}
|
|
201
|
+
// ── Private ──
|
|
202
|
+
/** Migrate shared.jsonl → team.jsonl if the old file exists. */
|
|
203
|
+
migrateIfNeeded() {
|
|
204
|
+
if (fs.existsSync(this.legacyPath) && !fs.existsSync(this.teamPath)) {
|
|
205
|
+
fs.renameSync(this.legacyPath, this.teamPath);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
appendEntry(entry) {
|
|
209
|
+
fs.appendFileSync(this.teamPath, JSON.stringify(entry) + '\n');
|
|
210
|
+
}
|
|
211
|
+
memoryToEntry(memory) {
|
|
212
|
+
return {
|
|
213
|
+
id: memory.id,
|
|
214
|
+
content: memory.content,
|
|
215
|
+
category: memory.category,
|
|
216
|
+
source: memory.source,
|
|
217
|
+
author: memory.author,
|
|
218
|
+
tags: memory.tags,
|
|
219
|
+
relatedFiles: memory.relatedFiles,
|
|
220
|
+
commitSha: memory.commitSha,
|
|
221
|
+
confidence: memory.confidence,
|
|
222
|
+
scope: memory.scope ?? null,
|
|
223
|
+
priority: memory.priority ?? null,
|
|
224
|
+
examples: memory.examples ?? null,
|
|
225
|
+
active: memory.active,
|
|
226
|
+
createdAt: memory.createdAt,
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
//# sourceMappingURL=team-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"team-sync.js","sourceRoot":"","sources":["../../src/sync/team-sync.ts"],"names":[],"mappings":"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"}
|