engram-mcp-server 1.2.8 → 1.2.9
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/README.md +12 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +6 -1
- package/dist/constants.js.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/installer/ide-detector.d.ts.map +1 -1
- package/dist/installer/ide-detector.js +10 -6
- package/dist/installer/ide-detector.js.map +1 -1
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +79 -15
- package/dist/installer/index.js.map +1 -1
- package/package.json +6 -3
- package/dist/installer.d.ts +0 -2
- package/dist/installer.d.ts.map +0 -1
- package/dist/installer.js +0 -315
- package/dist/installer.js.map +0 -1
- package/dist/src/constants.d.ts +0 -21
- package/dist/src/constants.d.ts.map +0 -1
- package/dist/src/constants.js +0 -81
- package/dist/src/constants.js.map +0 -1
- package/dist/src/database.d.ts +0 -32
- package/dist/src/database.d.ts.map +0 -1
- package/dist/src/database.js +0 -143
- package/dist/src/database.js.map +0 -1
- package/dist/src/errors.d.ts +0 -40
- package/dist/src/errors.d.ts.map +0 -1
- package/dist/src/errors.js +0 -63
- package/dist/src/errors.js.map +0 -1
- package/dist/src/index.d.ts +0 -3
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -89
- package/dist/src/index.js.map +0 -1
- package/dist/src/installer/config-writer.d.ts +0 -25
- package/dist/src/installer/config-writer.d.ts.map +0 -1
- package/dist/src/installer/config-writer.js +0 -86
- package/dist/src/installer/config-writer.js.map +0 -1
- package/dist/src/installer/ide-configs.d.ts +0 -19
- package/dist/src/installer/ide-configs.d.ts.map +0 -1
- package/dist/src/installer/ide-configs.js +0 -131
- package/dist/src/installer/ide-configs.js.map +0 -1
- package/dist/src/installer/ide-detector.d.ts +0 -6
- package/dist/src/installer/ide-detector.d.ts.map +0 -1
- package/dist/src/installer/ide-detector.js +0 -45
- package/dist/src/installer/ide-detector.js.map +0 -1
- package/dist/src/installer/index.d.ts +0 -2
- package/dist/src/installer/index.d.ts.map +0 -1
- package/dist/src/installer/index.js +0 -229
- package/dist/src/installer/index.js.map +0 -1
- package/dist/src/logger.d.ts +0 -10
- package/dist/src/logger.d.ts.map +0 -1
- package/dist/src/logger.js +0 -51
- package/dist/src/logger.js.map +0 -1
- package/dist/src/migrations.d.ts +0 -4
- package/dist/src/migrations.d.ts.map +0 -1
- package/dist/src/migrations.js +0 -343
- package/dist/src/migrations.js.map +0 -1
- package/dist/src/repositories/changes.repo.d.ts +0 -35
- package/dist/src/repositories/changes.repo.d.ts.map +0 -1
- package/dist/src/repositories/changes.repo.js +0 -53
- package/dist/src/repositories/changes.repo.js.map +0 -1
- package/dist/src/repositories/config.repo.d.ts +0 -11
- package/dist/src/repositories/config.repo.d.ts.map +0 -1
- package/dist/src/repositories/config.repo.js +0 -38
- package/dist/src/repositories/config.repo.js.map +0 -1
- package/dist/src/repositories/conventions.repo.d.ts +0 -15
- package/dist/src/repositories/conventions.repo.d.ts.map +0 -1
- package/dist/src/repositories/conventions.repo.js +0 -39
- package/dist/src/repositories/conventions.repo.js.map +0 -1
- package/dist/src/repositories/decisions.repo.d.ts +0 -19
- package/dist/src/repositories/decisions.repo.d.ts.map +0 -1
- package/dist/src/repositories/decisions.repo.js +0 -48
- package/dist/src/repositories/decisions.repo.js.map +0 -1
- package/dist/src/repositories/events.repo.d.ts +0 -34
- package/dist/src/repositories/events.repo.d.ts.map +0 -1
- package/dist/src/repositories/events.repo.js +0 -71
- package/dist/src/repositories/events.repo.js.map +0 -1
- package/dist/src/repositories/file-notes.repo.d.ts +0 -26
- package/dist/src/repositories/file-notes.repo.d.ts.map +0 -1
- package/dist/src/repositories/file-notes.repo.js +0 -55
- package/dist/src/repositories/file-notes.repo.js.map +0 -1
- package/dist/src/repositories/index.d.ts +0 -38
- package/dist/src/repositories/index.d.ts.map +0 -1
- package/dist/src/repositories/index.js +0 -41
- package/dist/src/repositories/index.js.map +0 -1
- package/dist/src/repositories/milestones.repo.d.ts +0 -10
- package/dist/src/repositories/milestones.repo.d.ts.map +0 -1
- package/dist/src/repositories/milestones.repo.js +0 -20
- package/dist/src/repositories/milestones.repo.js.map +0 -1
- package/dist/src/repositories/sessions.repo.d.ts +0 -27
- package/dist/src/repositories/sessions.repo.d.ts.map +0 -1
- package/dist/src/repositories/sessions.repo.js +0 -61
- package/dist/src/repositories/sessions.repo.js.map +0 -1
- package/dist/src/repositories/snapshot.repo.d.ts +0 -11
- package/dist/src/repositories/snapshot.repo.d.ts.map +0 -1
- package/dist/src/repositories/snapshot.repo.js +0 -17
- package/dist/src/repositories/snapshot.repo.js.map +0 -1
- package/dist/src/repositories/tasks.repo.d.ts +0 -40
- package/dist/src/repositories/tasks.repo.d.ts.map +0 -1
- package/dist/src/repositories/tasks.repo.js +0 -90
- package/dist/src/repositories/tasks.repo.js.map +0 -1
- package/dist/src/response.d.ts +0 -28
- package/dist/src/response.d.ts.map +0 -1
- package/dist/src/response.js +0 -38
- package/dist/src/response.js.map +0 -1
- package/dist/src/scripts/install-hooks.d.ts +0 -3
- package/dist/src/scripts/install-hooks.d.ts.map +0 -1
- package/dist/src/scripts/install-hooks.js +0 -89
- package/dist/src/scripts/install-hooks.js.map +0 -1
- package/dist/src/services/compaction.service.d.ts +0 -27
- package/dist/src/services/compaction.service.d.ts.map +0 -1
- package/dist/src/services/compaction.service.js +0 -93
- package/dist/src/services/compaction.service.js.map +0 -1
- package/dist/src/services/event-trigger.service.d.ts +0 -24
- package/dist/src/services/event-trigger.service.d.ts.map +0 -1
- package/dist/src/services/event-trigger.service.js +0 -60
- package/dist/src/services/event-trigger.service.js.map +0 -1
- package/dist/src/services/git.service.d.ts +0 -20
- package/dist/src/services/git.service.d.ts.map +0 -1
- package/dist/src/services/git.service.js +0 -88
- package/dist/src/services/git.service.js.map +0 -1
- package/dist/src/services/index.d.ts +0 -5
- package/dist/src/services/index.d.ts.map +0 -1
- package/dist/src/services/index.js +0 -8
- package/dist/src/services/index.js.map +0 -1
- package/dist/src/services/project-scan.service.d.ts +0 -19
- package/dist/src/services/project-scan.service.d.ts.map +0 -1
- package/dist/src/services/project-scan.service.js +0 -66
- package/dist/src/services/project-scan.service.js.map +0 -1
- package/dist/src/tools/backup.d.ts +0 -3
- package/dist/src/tools/backup.d.ts.map +0 -1
- package/dist/src/tools/backup.js +0 -191
- package/dist/src/tools/backup.js.map +0 -1
- package/dist/src/tools/changes.d.ts +0 -3
- package/dist/src/tools/changes.d.ts.map +0 -1
- package/dist/src/tools/changes.js +0 -97
- package/dist/src/tools/changes.js.map +0 -1
- package/dist/src/tools/compaction.d.ts +0 -3
- package/dist/src/tools/compaction.d.ts.map +0 -1
- package/dist/src/tools/compaction.js +0 -151
- package/dist/src/tools/compaction.js.map +0 -1
- package/dist/src/tools/conventions.d.ts +0 -3
- package/dist/src/tools/conventions.d.ts.map +0 -1
- package/dist/src/tools/conventions.js +0 -121
- package/dist/src/tools/conventions.js.map +0 -1
- package/dist/src/tools/decisions.d.ts +0 -3
- package/dist/src/tools/decisions.d.ts.map +0 -1
- package/dist/src/tools/decisions.js +0 -136
- package/dist/src/tools/decisions.js.map +0 -1
- package/dist/src/tools/export-import.d.ts +0 -3
- package/dist/src/tools/export-import.d.ts.map +0 -1
- package/dist/src/tools/export-import.js +0 -180
- package/dist/src/tools/export-import.js.map +0 -1
- package/dist/src/tools/file-notes.d.ts +0 -3
- package/dist/src/tools/file-notes.d.ts.map +0 -1
- package/dist/src/tools/file-notes.js +0 -104
- package/dist/src/tools/file-notes.js.map +0 -1
- package/dist/src/tools/intelligence.d.ts +0 -3
- package/dist/src/tools/intelligence.d.ts.map +0 -1
- package/dist/src/tools/intelligence.js +0 -427
- package/dist/src/tools/intelligence.js.map +0 -1
- package/dist/src/tools/milestones.d.ts +0 -3
- package/dist/src/tools/milestones.d.ts.map +0 -1
- package/dist/src/tools/milestones.js +0 -71
- package/dist/src/tools/milestones.js.map +0 -1
- package/dist/src/tools/scheduler.d.ts +0 -3
- package/dist/src/tools/scheduler.d.ts.map +0 -1
- package/dist/src/tools/scheduler.js +0 -363
- package/dist/src/tools/scheduler.js.map +0 -1
- package/dist/src/tools/sessions.d.ts +0 -3
- package/dist/src/tools/sessions.d.ts.map +0 -1
- package/dist/src/tools/sessions.js +0 -356
- package/dist/src/tools/sessions.js.map +0 -1
- package/dist/src/tools/stats.d.ts +0 -3
- package/dist/src/tools/stats.d.ts.map +0 -1
- package/dist/src/tools/stats.js +0 -63
- package/dist/src/tools/stats.js.map +0 -1
- package/dist/src/tools/tasks.d.ts +0 -3
- package/dist/src/tools/tasks.d.ts.map +0 -1
- package/dist/src/tools/tasks.js +0 -206
- package/dist/src/tools/tasks.js.map +0 -1
- package/dist/src/types.d.ts +0 -170
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/types.js +0 -5
- package/dist/src/types.js.map +0 -1
- package/dist/src/utils.d.ts +0 -58
- package/dist/src/utils.d.ts.map +0 -1
- package/dist/src/utils.js +0 -190
- package/dist/src/utils.js.map +0 -1
- package/dist/tests/helpers/test-db.d.ts +0 -12
- package/dist/tests/helpers/test-db.d.ts.map +0 -1
- package/dist/tests/helpers/test-db.js +0 -149
- package/dist/tests/helpers/test-db.js.map +0 -1
- package/dist/tests/installer/installer.test.d.ts +0 -2
- package/dist/tests/installer/installer.test.d.ts.map +0 -1
- package/dist/tests/installer/installer.test.js +0 -160
- package/dist/tests/installer/installer.test.js.map +0 -1
- package/dist/tests/repositories/repos.test.d.ts +0 -2
- package/dist/tests/repositories/repos.test.d.ts.map +0 -1
- package/dist/tests/repositories/repos.test.js +0 -220
- package/dist/tests/repositories/repos.test.js.map +0 -1
- package/dist/tools/maintenance.d.ts +0 -3
- package/dist/tools/maintenance.d.ts.map +0 -1
- package/dist/tools/maintenance.js +0 -647
- package/dist/tools/maintenance.js.map +0 -1
- package/dist/tools/memory.d.ts +0 -3
- package/dist/tools/memory.d.ts.map +0 -1
- package/dist/tools/memory.js +0 -446
- package/dist/tools/memory.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.repo.js","sourceRoot":"","sources":["../../../src/repositories/tasks.repo.ts"],"names":[],"mappings":"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"}
|
package/dist/src/response.d.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Standard MCP tool response types.
|
|
3
|
-
*/
|
|
4
|
-
interface McpToolResponse {
|
|
5
|
-
content: Array<{
|
|
6
|
-
type: "text";
|
|
7
|
-
text: string;
|
|
8
|
-
}>;
|
|
9
|
-
isError?: boolean;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Return a successful JSON response.
|
|
13
|
-
*/
|
|
14
|
-
export declare function success(data: Record<string, unknown>): McpToolResponse;
|
|
15
|
-
/**
|
|
16
|
-
* Return a successful plain-text response.
|
|
17
|
-
*/
|
|
18
|
-
export declare function textResult(message: string): McpToolResponse;
|
|
19
|
-
/**
|
|
20
|
-
* Return an error response.
|
|
21
|
-
*/
|
|
22
|
-
export declare function error(message: string): McpToolResponse;
|
|
23
|
-
/**
|
|
24
|
-
* Return an error response with structured data.
|
|
25
|
-
*/
|
|
26
|
-
export declare function errorWithData(message: string, data: Record<string, unknown>): McpToolResponse;
|
|
27
|
-
export {};
|
|
28
|
-
//# sourceMappingURL=response.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/response.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,UAAU,eAAe;IACrB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe,CAItE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAI3D;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAKtD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe,CAK7F"}
|
package/dist/src/response.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
// ============================================================================
|
|
2
|
-
// Engram MCP Server — Response Helpers
|
|
3
|
-
// ============================================================================
|
|
4
|
-
/**
|
|
5
|
-
* Return a successful JSON response.
|
|
6
|
-
*/
|
|
7
|
-
export function success(data) {
|
|
8
|
-
return {
|
|
9
|
-
content: [{ type: "text", text: JSON.stringify(data, null, 2) }],
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Return a successful plain-text response.
|
|
14
|
-
*/
|
|
15
|
-
export function textResult(message) {
|
|
16
|
-
return {
|
|
17
|
-
content: [{ type: "text", text: message }],
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Return an error response.
|
|
22
|
-
*/
|
|
23
|
-
export function error(message) {
|
|
24
|
-
return {
|
|
25
|
-
isError: true,
|
|
26
|
-
content: [{ type: "text", text: message }],
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Return an error response with structured data.
|
|
31
|
-
*/
|
|
32
|
-
export function errorWithData(message, data) {
|
|
33
|
-
return {
|
|
34
|
-
isError: true,
|
|
35
|
-
content: [{ type: "text", text: JSON.stringify({ error: message, ...data }, null, 2) }],
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=response.js.map
|
package/dist/src/response.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/response.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,uCAAuC;AACvC,+EAA+E;AAU/E;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,IAA6B;IACjD,OAAO;QACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;KACnE,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe;IACtC,OAAO;QACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;KAC7C,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,OAAe;IACjC,OAAO;QACH,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;KAC7C,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,IAA6B;IACxE,OAAO;QACH,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;KAC1F,CAAC;AACN,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"install-hooks.d.ts","sourceRoot":"","sources":["../../../src/scripts/install-hooks.ts"],"names":[],"mappings":""}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
// ============================================================================
|
|
3
|
-
// Engram — Git Hook Installer
|
|
4
|
-
//
|
|
5
|
-
// Installs a post-commit hook that records git commits in Engram's memory,
|
|
6
|
-
// so the agent always knows what changed between sessions even without
|
|
7
|
-
// explicitly recording changes.
|
|
8
|
-
// ============================================================================
|
|
9
|
-
import * as fs from "fs";
|
|
10
|
-
import * as path from "path";
|
|
11
|
-
const HOOK_CONTENT = `#!/bin/bash
|
|
12
|
-
# ─────────────────────────────────────────────────────────────
|
|
13
|
-
# Engram Post-Commit Hook
|
|
14
|
-
# Records commit info into .engram/git-changes.log
|
|
15
|
-
# The Engram MCP server reads this on session start.
|
|
16
|
-
# ─────────────────────────────────────────────────────────────
|
|
17
|
-
|
|
18
|
-
ENGRAM_DIR=".engram"
|
|
19
|
-
CHANGE_LOG="$ENGRAM_DIR/git-changes.log"
|
|
20
|
-
|
|
21
|
-
# Ensure the directory exists
|
|
22
|
-
mkdir -p "$ENGRAM_DIR"
|
|
23
|
-
|
|
24
|
-
# Get commit info
|
|
25
|
-
HASH=$(git rev-parse --short HEAD)
|
|
26
|
-
MSG=$(git log -1 --pretty=format:"%s")
|
|
27
|
-
AUTHOR=$(git log -1 --pretty=format:"%an")
|
|
28
|
-
DATE=$(git log -1 --pretty=format:"%aI")
|
|
29
|
-
FILES=$(git diff-tree --no-commit-id --name-status -r HEAD)
|
|
30
|
-
|
|
31
|
-
# Append to change log
|
|
32
|
-
{
|
|
33
|
-
echo "--- COMMIT $HASH ---"
|
|
34
|
-
echo "date: $DATE"
|
|
35
|
-
echo "author: $AUTHOR"
|
|
36
|
-
echo "message: $MSG"
|
|
37
|
-
echo "files:"
|
|
38
|
-
echo "$FILES"
|
|
39
|
-
echo "---"
|
|
40
|
-
echo ""
|
|
41
|
-
} >> "$CHANGE_LOG"
|
|
42
|
-
|
|
43
|
-
# Keep only last 200 entries to prevent unbounded growth
|
|
44
|
-
if [ -f "$CHANGE_LOG" ]; then
|
|
45
|
-
LINES=$(wc -l < "$CHANGE_LOG")
|
|
46
|
-
if [ "$LINES" -gt 2000 ]; then
|
|
47
|
-
tail -1000 "$CHANGE_LOG" > "$CHANGE_LOG.tmp"
|
|
48
|
-
mv "$CHANGE_LOG.tmp" "$CHANGE_LOG"
|
|
49
|
-
fi
|
|
50
|
-
fi
|
|
51
|
-
`;
|
|
52
|
-
function installHooks() {
|
|
53
|
-
// Find .git directory
|
|
54
|
-
let dir = process.cwd();
|
|
55
|
-
while (dir !== path.dirname(dir)) {
|
|
56
|
-
if (fs.existsSync(path.join(dir, ".git"))) {
|
|
57
|
-
break;
|
|
58
|
-
}
|
|
59
|
-
dir = path.dirname(dir);
|
|
60
|
-
}
|
|
61
|
-
const gitDir = path.join(dir, ".git");
|
|
62
|
-
if (!fs.existsSync(gitDir)) {
|
|
63
|
-
console.error("Error: Not a git repository. Navigate to a project with .git and try again.");
|
|
64
|
-
process.exit(1);
|
|
65
|
-
}
|
|
66
|
-
const hooksDir = path.join(gitDir, "hooks");
|
|
67
|
-
fs.mkdirSync(hooksDir, { recursive: true });
|
|
68
|
-
const hookPath = path.join(hooksDir, "post-commit");
|
|
69
|
-
// Check for existing hook
|
|
70
|
-
if (fs.existsSync(hookPath)) {
|
|
71
|
-
const existing = fs.readFileSync(hookPath, "utf-8");
|
|
72
|
-
if (existing.includes("Engram Post-Commit Hook")) {
|
|
73
|
-
console.log("Engram post-commit hook is already installed.");
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
// Append to existing hook
|
|
77
|
-
fs.appendFileSync(hookPath, "\n\n" + HOOK_CONTENT);
|
|
78
|
-
console.log("Engram post-commit hook appended to existing hook.");
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
fs.writeFileSync(hookPath, HOOK_CONTENT);
|
|
82
|
-
console.log("Engram post-commit hook installed.");
|
|
83
|
-
}
|
|
84
|
-
// Make executable
|
|
85
|
-
fs.chmodSync(hookPath, "755");
|
|
86
|
-
console.log(`Hook location: ${hookPath}`);
|
|
87
|
-
}
|
|
88
|
-
installHooks();
|
|
89
|
-
//# sourceMappingURL=install-hooks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"install-hooks.js","sourceRoot":"","sources":["../../../src/scripts/install-hooks.ts"],"names":[],"mappings":";AACA,+EAA+E;AAC/E,8BAA8B;AAC9B,EAAE;AACF,2EAA2E;AAC3E,uEAAuE;AACvE,gCAAgC;AAChC,+EAA+E;AAE/E,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCpB,CAAC;AAEF,SAAS,YAAY;IACnB,sBAAsB;IACtB,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACxB,OAAO,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YAC1C,MAAM;QACR,CAAC;QACD,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAC;QAC7F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAEpD,0BAA0B;IAC1B,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,QAAQ,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QACD,0BAA0B;QAC1B,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IACpD,CAAC;IAED,kBAAkB;IAClB,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,YAAY,EAAE,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { Database as DatabaseType } from "better-sqlite3";
|
|
2
|
-
import type { Repositories } from "../repositories/index.js";
|
|
3
|
-
/**
|
|
4
|
-
* Handles compaction of old session data — both auto-compact (session start)
|
|
5
|
-
* and manual compact (user-triggered).
|
|
6
|
-
*/
|
|
7
|
-
export declare class CompactionService {
|
|
8
|
-
private db;
|
|
9
|
-
private repos;
|
|
10
|
-
constructor(db: DatabaseType, repos: Repositories);
|
|
11
|
-
/**
|
|
12
|
-
* Auto-compaction: runs at session start if total completed sessions exceed threshold.
|
|
13
|
-
* Returns true if compaction was performed.
|
|
14
|
-
*/
|
|
15
|
-
autoCompact(threshold: number): boolean;
|
|
16
|
-
/**
|
|
17
|
-
* Manual compaction with dry-run support.
|
|
18
|
-
*/
|
|
19
|
-
manualCompact(keepSessions: number, maxAgeDays?: number, dryRun?: boolean): {
|
|
20
|
-
sessionsCompacted: number;
|
|
21
|
-
changesSummarized: number;
|
|
22
|
-
backupPath?: string;
|
|
23
|
-
};
|
|
24
|
-
private compactBeforeCutoff;
|
|
25
|
-
private countCompactableSessions;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=compaction.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compaction.service.d.ts","sourceRoot":"","sources":["../../../src/services/compaction.service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAI7D;;;GAGG;AACH,qBAAa,iBAAiB;IAEtB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,KAAK;gBADL,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,YAAY;IAG/B;;;OAGG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAoBvC;;OAEG;IACH,aAAa,CACT,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,GAAE,OAAc,GACvB;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IA+BhF,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,wBAAwB;CAYnC"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
// ============================================================================
|
|
2
|
-
// Engram MCP Server — Compaction Service
|
|
3
|
-
// ============================================================================
|
|
4
|
-
import { backupDatabase } from "../database.js";
|
|
5
|
-
import { log } from "../logger.js";
|
|
6
|
-
/**
|
|
7
|
-
* Handles compaction of old session data — both auto-compact (session start)
|
|
8
|
-
* and manual compact (user-triggered).
|
|
9
|
-
*/
|
|
10
|
-
export class CompactionService {
|
|
11
|
-
db;
|
|
12
|
-
repos;
|
|
13
|
-
constructor(db, repos) {
|
|
14
|
-
this.db = db;
|
|
15
|
-
this.repos = repos;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Auto-compaction: runs at session start if total completed sessions exceed threshold.
|
|
19
|
-
* Returns true if compaction was performed.
|
|
20
|
-
*/
|
|
21
|
-
autoCompact(threshold) {
|
|
22
|
-
const configThreshold = this.repos.config.getInt("compact_threshold", threshold);
|
|
23
|
-
const autoEnabled = this.repos.config.getBool("auto_compact", true);
|
|
24
|
-
const totalSessions = this.repos.sessions.countCompleted();
|
|
25
|
-
if (totalSessions <= configThreshold || !autoEnabled) {
|
|
26
|
-
return false;
|
|
27
|
-
}
|
|
28
|
-
log.info(`Auto-compacting: ${totalSessions} sessions exceed threshold of ${configThreshold}`);
|
|
29
|
-
try {
|
|
30
|
-
backupDatabase();
|
|
31
|
-
}
|
|
32
|
-
catch { /* best effort */ }
|
|
33
|
-
const cutoffId = this.repos.sessions.getIdAtOffset(configThreshold);
|
|
34
|
-
if (!cutoffId)
|
|
35
|
-
return false;
|
|
36
|
-
this.compactBeforeCutoff(cutoffId);
|
|
37
|
-
log.info("Auto-compaction complete.");
|
|
38
|
-
return true;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Manual compaction with dry-run support.
|
|
42
|
-
*/
|
|
43
|
-
manualCompact(keepSessions, maxAgeDays, dryRun = true) {
|
|
44
|
-
const cutoffId = this.repos.sessions.getIdAtOffset(keepSessions);
|
|
45
|
-
if (!cutoffId) {
|
|
46
|
-
return { sessionsCompacted: 0, changesSummarized: 0 };
|
|
47
|
-
}
|
|
48
|
-
const sessionsToCompact = this.countCompactableSessions(cutoffId, maxAgeDays);
|
|
49
|
-
const changesToSummarize = this.repos.changes.countBeforeCutoff(cutoffId);
|
|
50
|
-
if (dryRun) {
|
|
51
|
-
return { sessionsCompacted: sessionsToCompact, changesSummarized: changesToSummarize };
|
|
52
|
-
}
|
|
53
|
-
// Create backup before compacting
|
|
54
|
-
let backupPath;
|
|
55
|
-
try {
|
|
56
|
-
backupPath = backupDatabase();
|
|
57
|
-
log.info(`Auto-backup created before compaction: ${backupPath}`);
|
|
58
|
-
}
|
|
59
|
-
catch (e) {
|
|
60
|
-
log.warn(`Failed to create backup before compaction: ${e}`);
|
|
61
|
-
}
|
|
62
|
-
this.compactBeforeCutoff(cutoffId);
|
|
63
|
-
// Vacuum to reclaim space
|
|
64
|
-
this.db.exec("VACUUM");
|
|
65
|
-
return { sessionsCompacted: sessionsToCompact, changesSummarized: changesToSummarize, backupPath };
|
|
66
|
-
}
|
|
67
|
-
compactBeforeCutoff(cutoffId) {
|
|
68
|
-
const now = new Date().toISOString();
|
|
69
|
-
const doCompact = this.db.transaction(() => {
|
|
70
|
-
const sessionIds = this.repos.sessions.getCompletedBeforeId(cutoffId);
|
|
71
|
-
for (const sid of sessionIds) {
|
|
72
|
-
const changes = this.repos.changes.getBySession(sid);
|
|
73
|
-
if (changes.length > 0) {
|
|
74
|
-
const summary = changes.map(c => `[${c.change_type}] ${c.file_path}`).join("; ");
|
|
75
|
-
this.repos.changes.insertCompacted(sid, now, `Compacted ${changes.length} changes: ${summary.slice(0, 2000)}`);
|
|
76
|
-
}
|
|
77
|
-
this.repos.changes.deleteNonCompacted(sid);
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
doCompact();
|
|
81
|
-
}
|
|
82
|
-
countCompactableSessions(cutoffId, maxAgeDays) {
|
|
83
|
-
let query = "SELECT COUNT(*) as c FROM sessions WHERE id <= ? AND ended_at IS NOT NULL";
|
|
84
|
-
const params = [cutoffId];
|
|
85
|
-
if (maxAgeDays) {
|
|
86
|
-
const cutoffDate = new Date(Date.now() - maxAgeDays * 86400000).toISOString();
|
|
87
|
-
query += " AND started_at < ?";
|
|
88
|
-
params.push(cutoffDate);
|
|
89
|
-
}
|
|
90
|
-
return this.db.prepare(query).get(...params).c;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
//# sourceMappingURL=compaction.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compaction.service.js","sourceRoot":"","sources":["../../../src/services/compaction.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { Repositories } from "../repositories/index.js";
|
|
2
|
-
import type { ScheduledEventRow } from "../types.js";
|
|
3
|
-
/**
|
|
4
|
-
* Handles automatic triggering of scheduled events during session start
|
|
5
|
-
* and task completion.
|
|
6
|
-
*/
|
|
7
|
-
export declare class EventTriggerService {
|
|
8
|
-
private repos;
|
|
9
|
-
constructor(repos: Repositories);
|
|
10
|
-
/**
|
|
11
|
-
* Trigger all session-start events: next_session, expired datetime, and every_session.
|
|
12
|
-
* Returns the list of triggered events.
|
|
13
|
-
*/
|
|
14
|
-
triggerSessionEvents(): ScheduledEventRow[];
|
|
15
|
-
/**
|
|
16
|
-
* Trigger task_complete events when a task is marked as done.
|
|
17
|
-
*/
|
|
18
|
-
triggerTaskCompleteEvents(taskId: number): ScheduledEventRow[];
|
|
19
|
-
/**
|
|
20
|
-
* Mid-session check for any triggered events (datetime only).
|
|
21
|
-
*/
|
|
22
|
-
checkEvents(): ScheduledEventRow[];
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=event-trigger.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-trigger.service.d.ts","sourceRoot":"","sources":["../../../src/services/event-trigger.service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD;;;GAGG;AACH,qBAAa,mBAAmB;IAChB,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,YAAY;IAEvC;;;OAGG;IACH,oBAAoB,IAAI,iBAAiB,EAAE;IAoB3C;;OAEG;IACH,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAU9D;;OAEG;IACH,WAAW,IAAI,iBAAiB,EAAE;CASrC"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
// ============================================================================
|
|
2
|
-
// Engram MCP Server — Event Trigger Service
|
|
3
|
-
// ============================================================================
|
|
4
|
-
/**
|
|
5
|
-
* Handles automatic triggering of scheduled events during session start
|
|
6
|
-
* and task completion.
|
|
7
|
-
*/
|
|
8
|
-
export class EventTriggerService {
|
|
9
|
-
repos;
|
|
10
|
-
constructor(repos) {
|
|
11
|
-
this.repos = repos;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Trigger all session-start events: next_session, expired datetime, and every_session.
|
|
15
|
-
* Returns the list of triggered events.
|
|
16
|
-
*/
|
|
17
|
-
triggerSessionEvents() {
|
|
18
|
-
try {
|
|
19
|
-
const timestamp = new Date().toISOString();
|
|
20
|
-
// Auto-trigger 'next_session' events
|
|
21
|
-
this.repos.events.triggerNextSession(timestamp);
|
|
22
|
-
// Auto-trigger 'datetime' events that have passed
|
|
23
|
-
this.repos.events.triggerExpiredDatetime(timestamp);
|
|
24
|
-
// Auto-trigger 'every_session' recurring events
|
|
25
|
-
this.repos.events.triggerEverySession(timestamp);
|
|
26
|
-
// Fetch all triggered events
|
|
27
|
-
return this.repos.events.getTriggered();
|
|
28
|
-
}
|
|
29
|
-
catch {
|
|
30
|
-
return []; // scheduled_events table may not exist yet
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Trigger task_complete events when a task is marked as done.
|
|
35
|
-
*/
|
|
36
|
-
triggerTaskCompleteEvents(taskId) {
|
|
37
|
-
try {
|
|
38
|
-
const timestamp = new Date().toISOString();
|
|
39
|
-
this.repos.events.triggerTaskComplete(taskId, timestamp);
|
|
40
|
-
return this.repos.events.getTriggered();
|
|
41
|
-
}
|
|
42
|
-
catch {
|
|
43
|
-
return [];
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Mid-session check for any triggered events (datetime only).
|
|
48
|
-
*/
|
|
49
|
-
checkEvents() {
|
|
50
|
-
try {
|
|
51
|
-
const timestamp = new Date().toISOString();
|
|
52
|
-
this.repos.events.triggerExpiredDatetime(timestamp);
|
|
53
|
-
return this.repos.events.getTriggered();
|
|
54
|
-
}
|
|
55
|
-
catch {
|
|
56
|
-
return [];
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=event-trigger.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-trigger.service.js","sourceRoot":"","sources":["../../../src/services/event-trigger.service.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,4CAA4C;AAC5C,+EAA+E;AAK/E;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IACR;IAApB,YAAoB,KAAmB;QAAnB,UAAK,GAAL,KAAK,CAAc;IAAI,CAAC;IAE5C;;;OAGG;IACH,oBAAoB;QAChB,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAE3C,qCAAqC;YACrC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAEhD,kDAAkD;YAClD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;YAEpD,gDAAgD;YAChD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAEjD,6BAA6B;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,EAAE,CAAC,CAAC,2CAA2C;QAC1D,CAAC;IACL,CAAC;IAED;;OAEG;IACH,yBAAyB,CAAC,MAAc;QACpC,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAED;;OAEG;IACH,WAAW;QACP,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Consolidates all git-related operations including hook log parsing.
|
|
3
|
-
*/
|
|
4
|
-
export declare class GitService {
|
|
5
|
-
private projectRoot;
|
|
6
|
-
constructor(projectRoot: string);
|
|
7
|
-
isRepo(): boolean;
|
|
8
|
-
getBranch(): string | null;
|
|
9
|
-
getHead(): string | null;
|
|
10
|
-
getLogSince(since: string, limit?: number): string;
|
|
11
|
-
getDiffStat(since: string): string;
|
|
12
|
-
getFilesChanged(since: string): string[];
|
|
13
|
-
runGitCommand(command: string): string;
|
|
14
|
-
/**
|
|
15
|
-
* Parse the git hook log file (.engram/git-changes.log) and extract
|
|
16
|
-
* entries since the last session end time.
|
|
17
|
-
*/
|
|
18
|
-
parseHookLog(lastSessionEndedAt?: string | null): string;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=git.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git.service.d.ts","sourceRoot":"","sources":["../../../src/services/git.service.ts"],"names":[],"mappings":"AAYA;;GAEG;AACH,qBAAa,UAAU;IACP,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,MAAM;IAEvC,MAAM,IAAI,OAAO;IAIjB,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B,OAAO,IAAI,MAAM,GAAG,IAAI;IAIxB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;IAIlD,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIlC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAIxC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAItC;;;OAGG;IACH,YAAY,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM;CA6C3D"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
// ============================================================================
|
|
2
|
-
// Engram MCP Server — Git Service
|
|
3
|
-
// ============================================================================
|
|
4
|
-
import * as fs from "fs";
|
|
5
|
-
import * as path from "path";
|
|
6
|
-
import { isGitRepo, getGitLogSince, getGitBranch, getGitHead, getGitDiffStat, getGitFilesChanged, gitCommand, } from "../utils.js";
|
|
7
|
-
import { DB_DIR_NAME } from "../constants.js";
|
|
8
|
-
/**
|
|
9
|
-
* Consolidates all git-related operations including hook log parsing.
|
|
10
|
-
*/
|
|
11
|
-
export class GitService {
|
|
12
|
-
projectRoot;
|
|
13
|
-
constructor(projectRoot) {
|
|
14
|
-
this.projectRoot = projectRoot;
|
|
15
|
-
}
|
|
16
|
-
isRepo() {
|
|
17
|
-
return isGitRepo(this.projectRoot);
|
|
18
|
-
}
|
|
19
|
-
getBranch() {
|
|
20
|
-
return this.isRepo() ? getGitBranch(this.projectRoot) || null : null;
|
|
21
|
-
}
|
|
22
|
-
getHead() {
|
|
23
|
-
return this.isRepo() ? getGitHead(this.projectRoot) || null : null;
|
|
24
|
-
}
|
|
25
|
-
getLogSince(since, limit) {
|
|
26
|
-
return getGitLogSince(this.projectRoot, since, limit);
|
|
27
|
-
}
|
|
28
|
-
getDiffStat(since) {
|
|
29
|
-
return getGitDiffStat(this.projectRoot, since);
|
|
30
|
-
}
|
|
31
|
-
getFilesChanged(since) {
|
|
32
|
-
return getGitFilesChanged(this.projectRoot, since);
|
|
33
|
-
}
|
|
34
|
-
runGitCommand(command) {
|
|
35
|
-
return gitCommand(this.projectRoot, command);
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Parse the git hook log file (.engram/git-changes.log) and extract
|
|
39
|
-
* entries since the last session end time.
|
|
40
|
-
*/
|
|
41
|
-
parseHookLog(lastSessionEndedAt) {
|
|
42
|
-
try {
|
|
43
|
-
const hookLogPath = path.join(this.projectRoot, DB_DIR_NAME, "git-changes.log");
|
|
44
|
-
if (!fs.existsSync(hookLogPath))
|
|
45
|
-
return "";
|
|
46
|
-
const raw = fs.readFileSync(hookLogPath, "utf-8");
|
|
47
|
-
if (!lastSessionEndedAt) {
|
|
48
|
-
// First session — include last 20 lines as a hint
|
|
49
|
-
return raw.split("\n").slice(-20).join("\n");
|
|
50
|
-
}
|
|
51
|
-
const cutoffDate = new Date(lastSessionEndedAt);
|
|
52
|
-
const lines = raw.split("\n");
|
|
53
|
-
const relevantBlocks = [];
|
|
54
|
-
let inBlock = false;
|
|
55
|
-
let blockLines = [];
|
|
56
|
-
let blockDate = null;
|
|
57
|
-
for (const line of lines) {
|
|
58
|
-
if (line.startsWith("--- COMMIT")) {
|
|
59
|
-
if (inBlock && blockDate && blockDate > cutoffDate) {
|
|
60
|
-
relevantBlocks.push(blockLines.join("\n"));
|
|
61
|
-
}
|
|
62
|
-
inBlock = true;
|
|
63
|
-
blockLines = [line];
|
|
64
|
-
blockDate = null;
|
|
65
|
-
}
|
|
66
|
-
else if (inBlock && line.startsWith("date:")) {
|
|
67
|
-
blockLines.push(line);
|
|
68
|
-
try {
|
|
69
|
-
blockDate = new Date(line.replace("date:", "").trim());
|
|
70
|
-
}
|
|
71
|
-
catch { /* skip */ }
|
|
72
|
-
}
|
|
73
|
-
else if (inBlock) {
|
|
74
|
-
blockLines.push(line);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
// Flush last block
|
|
78
|
-
if (inBlock && blockDate && blockDate > cutoffDate) {
|
|
79
|
-
relevantBlocks.push(blockLines.join("\n"));
|
|
80
|
-
}
|
|
81
|
-
return relevantBlocks.join("\n\n");
|
|
82
|
-
}
|
|
83
|
-
catch {
|
|
84
|
-
return ""; // git-changes.log is optional
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
//# sourceMappingURL=git.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git.service.js","sourceRoot":"","sources":["../../../src/services/git.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { CompactionService } from "./compaction.service.js";
|
|
2
|
-
export { ProjectScanService } from "./project-scan.service.js";
|
|
3
|
-
export { GitService } from "./git.service.js";
|
|
4
|
-
export { EventTriggerService } from "./event-trigger.service.js";
|
|
5
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
// ============================================================================
|
|
2
|
-
// Engram MCP Server — Services Barrel Export
|
|
3
|
-
// ============================================================================
|
|
4
|
-
export { CompactionService } from "./compaction.service.js";
|
|
5
|
-
export { ProjectScanService } from "./project-scan.service.js";
|
|
6
|
-
export { GitService } from "./git.service.js";
|
|
7
|
-
export { EventTriggerService } from "./event-trigger.service.js";
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,6CAA6C;AAC7C,+EAA+E;AAE/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { Repositories } from "../repositories/index.js";
|
|
2
|
-
import type { ProjectSnapshot } from "../types.js";
|
|
3
|
-
/**
|
|
4
|
-
* Manages cached project scanning and snapshot generation.
|
|
5
|
-
*/
|
|
6
|
-
export declare class ProjectScanService {
|
|
7
|
-
private repos;
|
|
8
|
-
constructor(repos: Repositories);
|
|
9
|
-
/**
|
|
10
|
-
* Get the project snapshot from cache or perform a fresh scan.
|
|
11
|
-
* Returns null if scanning fails (best-effort).
|
|
12
|
-
*/
|
|
13
|
-
getOrRefresh(projectRoot: string, forceRefresh?: boolean, maxDepth?: number): ProjectSnapshot | null;
|
|
14
|
-
/**
|
|
15
|
-
* Build a fresh project snapshot and cache it.
|
|
16
|
-
*/
|
|
17
|
-
buildFreshSnapshot(projectRoot: string, maxDepth?: number): ProjectSnapshot;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=project-scan.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project-scan.service.d.ts","sourceRoot":"","sources":["../../../src/services/project-scan.service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAInD;;GAEG;AACH,qBAAa,kBAAkB;IACf,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,YAAY;IAEvC;;;OAGG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,GAAE,OAAe,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAkB3G;;OAEG;IACH,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,eAAe;CAmC9E"}
|