gitmem-mcp 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md.template +63 -55
- package/README.md +60 -29
- package/bin/gitmem.js +233 -109
- package/bin/init-wizard.js +642 -0
- package/bin/uninstall.js +288 -0
- package/dist/commands/check.js +20 -20
- package/dist/commands/check.js.map +1 -1
- package/dist/constants/closing-questions.d.ts +6 -0
- package/dist/constants/closing-questions.d.ts.map +1 -1
- package/dist/constants/closing-questions.js +65 -0
- package/dist/constants/closing-questions.js.map +1 -1
- package/dist/hooks/format-utils.d.ts +52 -0
- package/dist/hooks/format-utils.d.ts.map +1 -0
- package/dist/hooks/format-utils.js +89 -0
- package/dist/hooks/format-utils.js.map +1 -0
- package/dist/hooks/quick-retrieve.d.ts +30 -0
- package/dist/hooks/quick-retrieve.d.ts.map +1 -0
- package/dist/hooks/quick-retrieve.js +149 -0
- package/dist/hooks/quick-retrieve.js.map +1 -0
- package/dist/index.js +0 -0
- package/dist/schemas/active-sessions.d.ts +8 -8
- package/dist/schemas/analyze.d.ts +3 -3
- package/dist/schemas/common.d.ts +2 -2
- package/dist/schemas/common.d.ts.map +1 -1
- package/dist/schemas/common.js +1 -1
- package/dist/schemas/common.js.map +1 -1
- package/dist/schemas/create-decision.d.ts +3 -3
- package/dist/schemas/create-learning.d.ts +13 -13
- package/dist/schemas/log.d.ts +3 -3
- package/dist/schemas/prepare-context.d.ts +3 -3
- package/dist/schemas/recall.d.ts +3 -3
- package/dist/schemas/record-scar-usage-batch.d.ts +8 -3
- package/dist/schemas/record-scar-usage-batch.d.ts.map +1 -1
- package/dist/schemas/record-scar-usage.d.ts +3 -0
- package/dist/schemas/record-scar-usage.d.ts.map +1 -1
- package/dist/schemas/record-scar-usage.js +1 -0
- package/dist/schemas/record-scar-usage.js.map +1 -1
- package/dist/schemas/registry.d.ts +18 -0
- package/dist/schemas/registry.d.ts.map +1 -0
- package/dist/schemas/registry.js +158 -0
- package/dist/schemas/registry.js.map +1 -0
- package/dist/schemas/save-transcript.d.ts +3 -3
- package/dist/schemas/search-transcripts.d.ts +33 -0
- package/dist/schemas/search-transcripts.d.ts.map +1 -0
- package/dist/schemas/search-transcripts.js +26 -0
- package/dist/schemas/search-transcripts.js.map +1 -0
- package/dist/schemas/search.d.ts +3 -3
- package/dist/schemas/session-close.d.ts +43 -15
- package/dist/schemas/session-close.d.ts.map +1 -1
- package/dist/schemas/session-close.js +7 -2
- package/dist/schemas/session-close.js.map +1 -1
- package/dist/schemas/session-start.d.ts +3 -3
- package/dist/schemas/thread.d.ts +3 -3
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +82 -28
- package/dist/server.js.map +1 -1
- package/dist/services/active-sessions.d.ts +2 -1
- package/dist/services/active-sessions.d.ts.map +1 -1
- package/dist/services/active-sessions.js +130 -84
- package/dist/services/active-sessions.js.map +1 -1
- package/dist/services/analytics.d.ts.map +1 -1
- package/dist/services/analytics.js +1 -0
- package/dist/services/analytics.js.map +1 -1
- package/dist/services/behavioral-decay.d.ts +40 -0
- package/dist/services/behavioral-decay.d.ts.map +1 -0
- package/dist/services/behavioral-decay.js +110 -0
- package/dist/services/behavioral-decay.js.map +1 -0
- package/dist/services/bm25.d.ts +39 -0
- package/dist/services/bm25.d.ts.map +1 -0
- package/dist/services/bm25.js +132 -0
- package/dist/services/bm25.js.map +1 -0
- package/dist/services/cache.d.ts.map +1 -1
- package/dist/services/cache.js +9 -8
- package/dist/services/cache.js.map +1 -1
- package/dist/services/cache.test.js +17 -17
- package/dist/services/cache.test.js.map +1 -1
- package/dist/services/compliance-validator.d.ts.map +1 -1
- package/dist/services/compliance-validator.js +12 -1
- package/dist/services/compliance-validator.js.map +1 -1
- package/dist/services/display-protocol.d.ts +31 -0
- package/dist/services/display-protocol.d.ts.map +1 -0
- package/dist/services/display-protocol.js +73 -0
- package/dist/services/display-protocol.js.map +1 -0
- package/dist/services/effect-tracker.d.ts +81 -0
- package/dist/services/effect-tracker.d.ts.map +1 -0
- package/dist/services/effect-tracker.js +181 -0
- package/dist/services/effect-tracker.js.map +1 -0
- package/dist/services/file-lock.d.ts +31 -0
- package/dist/services/file-lock.d.ts.map +1 -0
- package/dist/services/file-lock.js +124 -0
- package/dist/services/file-lock.js.map +1 -0
- package/dist/services/gitmem-dir.d.ts +7 -0
- package/dist/services/gitmem-dir.d.ts.map +1 -1
- package/dist/services/gitmem-dir.js +21 -0
- package/dist/services/gitmem-dir.js.map +1 -1
- package/dist/services/local-file-storage.d.ts +3 -2
- package/dist/services/local-file-storage.d.ts.map +1 -1
- package/dist/services/local-file-storage.js +30 -43
- package/dist/services/local-file-storage.js.map +1 -1
- package/dist/services/local-vector-search.d.ts +10 -9
- package/dist/services/local-vector-search.d.ts.map +1 -1
- package/dist/services/local-vector-search.js +28 -23
- package/dist/services/local-vector-search.js.map +1 -1
- package/dist/services/metrics.d.ts +7 -2
- package/dist/services/metrics.d.ts.map +1 -1
- package/dist/services/metrics.js +41 -33
- package/dist/services/metrics.js.map +1 -1
- package/dist/services/session-state.d.ts +8 -0
- package/dist/services/session-state.d.ts.map +1 -1
- package/dist/services/session-state.js +9 -2
- package/dist/services/session-state.js.map +1 -1
- package/dist/services/startup.d.ts +12 -13
- package/dist/services/startup.d.ts.map +1 -1
- package/dist/services/startup.js +104 -57
- package/dist/services/startup.js.map +1 -1
- package/dist/services/supabase-client.d.ts +2 -1
- package/dist/services/supabase-client.d.ts.map +1 -1
- package/dist/services/supabase-client.js +22 -16
- package/dist/services/supabase-client.js.map +1 -1
- package/dist/services/thread-dedup.d.ts +9 -0
- package/dist/services/thread-dedup.d.ts.map +1 -1
- package/dist/services/thread-dedup.js +27 -0
- package/dist/services/thread-dedup.js.map +1 -1
- package/dist/services/thread-manager.d.ts.map +1 -1
- package/dist/services/thread-manager.js +38 -16
- package/dist/services/thread-manager.js.map +1 -1
- package/dist/services/thread-suggestions.d.ts.map +1 -1
- package/dist/services/thread-suggestions.js +1 -1
- package/dist/services/thread-suggestions.js.map +1 -1
- package/dist/services/thread-supabase.d.ts +0 -1
- package/dist/services/thread-supabase.d.ts.map +1 -1
- package/dist/services/thread-supabase.js +83 -54
- package/dist/services/thread-supabase.js.map +1 -1
- package/dist/services/timezone.d.ts.map +1 -1
- package/dist/services/timezone.js +1 -0
- package/dist/services/timezone.js.map +1 -1
- package/dist/services/transcript-chunker.d.ts.map +1 -1
- package/dist/services/transcript-chunker.js +18 -4
- package/dist/services/transcript-chunker.js.map +1 -1
- package/dist/services/variant-generation.d.ts +41 -0
- package/dist/services/variant-generation.d.ts.map +1 -0
- package/dist/services/variant-generation.js +263 -0
- package/dist/services/variant-generation.js.map +1 -0
- package/dist/tools/absorb-observations.d.ts.map +1 -1
- package/dist/tools/absorb-observations.js +9 -0
- package/dist/tools/absorb-observations.js.map +1 -1
- package/dist/tools/analyze.d.ts.map +1 -1
- package/dist/tools/analyze.js +13 -2
- package/dist/tools/analyze.js.map +1 -1
- package/dist/tools/archive-learning.d.ts +28 -0
- package/dist/tools/archive-learning.d.ts.map +1 -0
- package/dist/tools/archive-learning.js +81 -0
- package/dist/tools/archive-learning.js.map +1 -0
- package/dist/tools/cleanup-threads.d.ts +1 -0
- package/dist/tools/cleanup-threads.d.ts.map +1 -1
- package/dist/tools/cleanup-threads.js +111 -18
- package/dist/tools/cleanup-threads.js.map +1 -1
- package/dist/tools/confirm-scars.d.ts.map +1 -1
- package/dist/tools/confirm-scars.js +8 -2
- package/dist/tools/confirm-scars.js.map +1 -1
- package/dist/tools/create-decision.d.ts.map +1 -1
- package/dist/tools/create-decision.js +11 -8
- package/dist/tools/create-decision.js.map +1 -1
- package/dist/tools/create-learning.d.ts.map +1 -1
- package/dist/tools/create-learning.js +35 -11
- package/dist/tools/create-learning.js.map +1 -1
- package/dist/tools/create-linear-issue.d.ts +18 -0
- package/dist/tools/create-linear-issue.d.ts.map +1 -0
- package/dist/tools/create-linear-issue.js +197 -0
- package/dist/tools/create-linear-issue.js.map +1 -0
- package/dist/tools/create-thread.d.ts +2 -1
- package/dist/tools/create-thread.d.ts.map +1 -1
- package/dist/tools/create-thread.js +9 -4
- package/dist/tools/create-thread.js.map +1 -1
- package/dist/tools/definitions.d.ts +785 -34
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +239 -95
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/dismiss-suggestion.d.ts +1 -0
- package/dist/tools/dismiss-suggestion.d.ts.map +1 -1
- package/dist/tools/dismiss-suggestion.js +4 -0
- package/dist/tools/dismiss-suggestion.js.map +1 -1
- package/dist/tools/graph-traverse.d.ts +1 -0
- package/dist/tools/graph-traverse.d.ts.map +1 -1
- package/dist/tools/graph-traverse.js +24 -9
- package/dist/tools/graph-traverse.js.map +1 -1
- package/dist/tools/list-threads.d.ts.map +1 -1
- package/dist/tools/list-threads.js +49 -5
- package/dist/tools/list-threads.js.map +1 -1
- package/dist/tools/log.d.ts +1 -0
- package/dist/tools/log.d.ts.map +1 -1
- package/dist/tools/log.js +84 -17
- package/dist/tools/log.js.map +1 -1
- package/dist/tools/prepare-context.d.ts +1 -0
- package/dist/tools/prepare-context.d.ts.map +1 -1
- package/dist/tools/prepare-context.js +15 -85
- package/dist/tools/prepare-context.js.map +1 -1
- package/dist/tools/promote-suggestion.d.ts +1 -0
- package/dist/tools/promote-suggestion.d.ts.map +1 -1
- package/dist/tools/promote-suggestion.js +5 -0
- package/dist/tools/promote-suggestion.js.map +1 -1
- package/dist/tools/recall.d.ts +2 -0
- package/dist/tools/recall.d.ts.map +1 -1
- package/dist/tools/recall.js +43 -10
- package/dist/tools/recall.js.map +1 -1
- package/dist/tools/recall.test.js +6 -6
- package/dist/tools/recall.test.js.map +1 -1
- package/dist/tools/record-scar-usage-batch.d.ts.map +1 -1
- package/dist/tools/record-scar-usage-batch.js +13 -0
- package/dist/tools/record-scar-usage-batch.js.map +1 -1
- package/dist/tools/record-scar-usage.d.ts.map +1 -1
- package/dist/tools/record-scar-usage.js +6 -0
- package/dist/tools/record-scar-usage.js.map +1 -1
- package/dist/tools/resolve-thread.d.ts.map +1 -1
- package/dist/tools/resolve-thread.js +57 -6
- package/dist/tools/resolve-thread.js.map +1 -1
- package/dist/tools/save-transcript.d.ts +1 -0
- package/dist/tools/save-transcript.d.ts.map +1 -1
- package/dist/tools/save-transcript.js +3 -1
- package/dist/tools/save-transcript.js.map +1 -1
- package/dist/tools/search-transcripts.d.ts +44 -0
- package/dist/tools/search-transcripts.d.ts.map +1 -0
- package/dist/tools/search-transcripts.js +158 -0
- package/dist/tools/search-transcripts.js.map +1 -0
- package/dist/tools/search.d.ts +1 -0
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +74 -3
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/session-close.d.ts.map +1 -1
- package/dist/tools/session-close.js +563 -326
- package/dist/tools/session-close.js.map +1 -1
- package/dist/tools/session-start.d.ts +10 -6
- package/dist/tools/session-start.d.ts.map +1 -1
- package/dist/tools/session-start.js +317 -426
- package/dist/tools/session-start.js.map +1 -1
- package/dist/types/index.d.ts +37 -4
- package/dist/types/index.d.ts.map +1 -1
- package/hooks/hooks/hooks.json +8 -37
- package/hooks/scripts/auto-retrieve-hook.sh +163 -0
- package/hooks/scripts/post-tool-use.sh +0 -16
- package/hooks/scripts/recall-check.sh +0 -11
- package/hooks/scripts/session-close-check.sh +1 -1
- package/hooks/scripts/session-start.sh +89 -13
- package/hooks/tests/test-hooks.sh +3 -49
- package/package.json +3 -2
- package/schema/setup.sql +1 -1
package/bin/uninstall.js
ADDED
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* GitMem Uninstall
|
|
5
|
+
*
|
|
6
|
+
* Cleanly reverses everything `npx gitmem init` did.
|
|
7
|
+
* Usage: npx gitmem uninstall [--yes] [--all]
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import {
|
|
11
|
+
readFileSync,
|
|
12
|
+
writeFileSync,
|
|
13
|
+
existsSync,
|
|
14
|
+
rmSync,
|
|
15
|
+
} from "fs";
|
|
16
|
+
import { dirname, join } from "path";
|
|
17
|
+
import { fileURLToPath } from "url";
|
|
18
|
+
import { createInterface } from "readline/promises";
|
|
19
|
+
|
|
20
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
21
|
+
const cwd = process.cwd();
|
|
22
|
+
|
|
23
|
+
const args = process.argv.slice(2);
|
|
24
|
+
const autoYes = args.includes("--yes") || args.includes("-y");
|
|
25
|
+
const deleteAll = args.includes("--all");
|
|
26
|
+
|
|
27
|
+
const gitmemDir = join(cwd, ".gitmem");
|
|
28
|
+
const mcpJsonPath = join(cwd, ".mcp.json");
|
|
29
|
+
const claudeMdPath = join(cwd, "CLAUDE.md");
|
|
30
|
+
const claudeDir = join(cwd, ".claude");
|
|
31
|
+
const settingsPath = join(claudeDir, "settings.json");
|
|
32
|
+
const gitignorePath = join(cwd, ".gitignore");
|
|
33
|
+
|
|
34
|
+
let rl;
|
|
35
|
+
|
|
36
|
+
async function confirm(message, defaultYes = true) {
|
|
37
|
+
if (autoYes) return defaultYes;
|
|
38
|
+
if (!rl) {
|
|
39
|
+
rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
40
|
+
}
|
|
41
|
+
const suffix = defaultYes ? "[Y/n]" : "[y/N]";
|
|
42
|
+
const answer = await rl.question(` ${message} ${suffix} `);
|
|
43
|
+
const trimmed = answer.trim().toLowerCase();
|
|
44
|
+
if (trimmed === "") return defaultYes;
|
|
45
|
+
return trimmed === "y" || trimmed === "yes";
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function readJson(path) {
|
|
49
|
+
try {
|
|
50
|
+
return JSON.parse(readFileSync(path, "utf-8"));
|
|
51
|
+
} catch {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function writeJson(path, data) {
|
|
57
|
+
writeFileSync(path, JSON.stringify(data, null, 2) + "\n");
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function isGitmemHook(entry) {
|
|
61
|
+
if (!entry.hooks || !Array.isArray(entry.hooks)) return false;
|
|
62
|
+
return entry.hooks.some(
|
|
63
|
+
(h) => typeof h.command === "string" && h.command.includes("gitmem")
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// ── Steps ──
|
|
68
|
+
|
|
69
|
+
function stepClaudeMd() {
|
|
70
|
+
if (!existsSync(claudeMdPath)) {
|
|
71
|
+
console.log(" No CLAUDE.md found. Skipping.");
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
let content = readFileSync(claudeMdPath, "utf-8");
|
|
76
|
+
const startMarker = "<!-- gitmem:start -->";
|
|
77
|
+
const endMarker = "<!-- gitmem:end -->";
|
|
78
|
+
|
|
79
|
+
if (!content.includes(startMarker)) {
|
|
80
|
+
console.log(" No gitmem section in CLAUDE.md. Skipping.");
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
const startIdx = content.indexOf(startMarker);
|
|
85
|
+
const endIdx = content.indexOf(endMarker);
|
|
86
|
+
if (startIdx === -1 || endIdx === -1) {
|
|
87
|
+
console.log(" Malformed gitmem markers in CLAUDE.md. Skipping.");
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// Remove the block including markers and surrounding whitespace
|
|
92
|
+
const before = content.slice(0, startIdx).trimEnd();
|
|
93
|
+
const after = content.slice(endIdx + endMarker.length).trimStart();
|
|
94
|
+
|
|
95
|
+
const result = before + (before && after ? "\n\n" : "") + after;
|
|
96
|
+
|
|
97
|
+
if (result.trim() === "") {
|
|
98
|
+
// CLAUDE.md would be empty — delete it
|
|
99
|
+
rmSync(claudeMdPath);
|
|
100
|
+
console.log(" Removed CLAUDE.md (was gitmem-only)");
|
|
101
|
+
} else {
|
|
102
|
+
writeFileSync(claudeMdPath, result.trimEnd() + "\n");
|
|
103
|
+
console.log(" Stripped gitmem section from CLAUDE.md");
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
function stepMcpJson() {
|
|
108
|
+
const config = readJson(mcpJsonPath);
|
|
109
|
+
if (!config?.mcpServers) {
|
|
110
|
+
console.log(" No .mcp.json found. Skipping.");
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
const had = !!config.mcpServers.gitmem || !!config.mcpServers["gitmem-mcp"];
|
|
115
|
+
if (!had) {
|
|
116
|
+
console.log(" No gitmem in .mcp.json. Skipping.");
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
delete config.mcpServers.gitmem;
|
|
121
|
+
delete config.mcpServers["gitmem-mcp"];
|
|
122
|
+
|
|
123
|
+
const remaining = Object.keys(config.mcpServers).length;
|
|
124
|
+
writeJson(mcpJsonPath, config);
|
|
125
|
+
console.log(
|
|
126
|
+
` Removed gitmem server (${remaining} other server${remaining !== 1 ? "s" : ""} preserved)`
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
function stepHooks() {
|
|
131
|
+
const settings = readJson(settingsPath);
|
|
132
|
+
if (!settings?.hooks) {
|
|
133
|
+
console.log(" No hooks in .claude/settings.json. Skipping.");
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
let removed = 0;
|
|
138
|
+
let preserved = 0;
|
|
139
|
+
const cleaned = {};
|
|
140
|
+
|
|
141
|
+
for (const [eventType, entries] of Object.entries(settings.hooks)) {
|
|
142
|
+
if (!Array.isArray(entries)) continue;
|
|
143
|
+
const nonGitmem = entries.filter((e) => {
|
|
144
|
+
if (isGitmemHook(e)) {
|
|
145
|
+
removed++;
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
148
|
+
preserved++;
|
|
149
|
+
return true;
|
|
150
|
+
});
|
|
151
|
+
if (nonGitmem.length > 0) {
|
|
152
|
+
cleaned[eventType] = nonGitmem;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
if (removed === 0) {
|
|
157
|
+
console.log(" No gitmem hooks found. Skipping.");
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
if (Object.keys(cleaned).length > 0) {
|
|
162
|
+
settings.hooks = cleaned;
|
|
163
|
+
} else {
|
|
164
|
+
delete settings.hooks;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
writeJson(settingsPath, settings);
|
|
168
|
+
console.log(
|
|
169
|
+
` Removed gitmem hooks` +
|
|
170
|
+
(preserved > 0
|
|
171
|
+
? ` (${preserved} other hook${preserved !== 1 ? "s" : ""} preserved)`
|
|
172
|
+
: "")
|
|
173
|
+
);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
function stepPermissions() {
|
|
177
|
+
const settings = readJson(settingsPath);
|
|
178
|
+
const allow = settings?.permissions?.allow;
|
|
179
|
+
if (!Array.isArray(allow)) {
|
|
180
|
+
console.log(" No permissions in .claude/settings.json. Skipping.");
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
const pattern = "mcp__gitmem__*";
|
|
185
|
+
const idx = allow.indexOf(pattern);
|
|
186
|
+
if (idx === -1) {
|
|
187
|
+
console.log(" No gitmem permissions found. Skipping.");
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
allow.splice(idx, 1);
|
|
192
|
+
settings.permissions.allow = allow;
|
|
193
|
+
|
|
194
|
+
// Clean up empty permissions
|
|
195
|
+
if (allow.length === 0) {
|
|
196
|
+
delete settings.permissions.allow;
|
|
197
|
+
}
|
|
198
|
+
if (
|
|
199
|
+
settings.permissions &&
|
|
200
|
+
Object.keys(settings.permissions).length === 0
|
|
201
|
+
) {
|
|
202
|
+
delete settings.permissions;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
writeJson(settingsPath, settings);
|
|
206
|
+
console.log(" Removed mcp__gitmem__* from permissions.allow");
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
async function stepGitmemDir() {
|
|
210
|
+
if (!existsSync(gitmemDir)) {
|
|
211
|
+
console.log(" No .gitmem/ directory. Skipping.");
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
if (deleteAll) {
|
|
216
|
+
rmSync(gitmemDir, { recursive: true, force: true });
|
|
217
|
+
console.log(" Deleted .gitmem/ directory");
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
console.log(
|
|
222
|
+
" This contains your memory data (scars, sessions, decisions)."
|
|
223
|
+
);
|
|
224
|
+
|
|
225
|
+
// Default to No for data deletion
|
|
226
|
+
if (await confirm("Delete .gitmem/?", false)) {
|
|
227
|
+
rmSync(gitmemDir, { recursive: true, force: true });
|
|
228
|
+
console.log(" Deleted .gitmem/ directory");
|
|
229
|
+
} else {
|
|
230
|
+
console.log(" Skipped — .gitmem/ preserved.");
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
function stepGitignore() {
|
|
235
|
+
if (!existsSync(gitignorePath)) return;
|
|
236
|
+
|
|
237
|
+
let content = readFileSync(gitignorePath, "utf-8");
|
|
238
|
+
if (!content.includes(".gitmem/")) return;
|
|
239
|
+
|
|
240
|
+
// Remove the .gitmem/ line
|
|
241
|
+
const lines = content.split("\n");
|
|
242
|
+
const filtered = lines.filter((line) => line.trim() !== ".gitmem/");
|
|
243
|
+
writeFileSync(gitignorePath, filtered.join("\n"));
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
// ── Main ──
|
|
247
|
+
|
|
248
|
+
async function main() {
|
|
249
|
+
console.log("");
|
|
250
|
+
console.log(" gitmem — Uninstall");
|
|
251
|
+
console.log("");
|
|
252
|
+
|
|
253
|
+
console.log(" Step 1/5 — Remove gitmem section from CLAUDE.md");
|
|
254
|
+
stepClaudeMd();
|
|
255
|
+
console.log("");
|
|
256
|
+
|
|
257
|
+
console.log(" Step 2/5 — Remove gitmem from .mcp.json");
|
|
258
|
+
stepMcpJson();
|
|
259
|
+
console.log("");
|
|
260
|
+
|
|
261
|
+
console.log(" Step 3/5 — Remove gitmem hooks from .claude/settings.json");
|
|
262
|
+
stepHooks();
|
|
263
|
+
console.log("");
|
|
264
|
+
|
|
265
|
+
console.log(
|
|
266
|
+
" Step 4/5 — Remove gitmem permissions from .claude/settings.json"
|
|
267
|
+
);
|
|
268
|
+
stepPermissions();
|
|
269
|
+
console.log("");
|
|
270
|
+
|
|
271
|
+
console.log(" Step 5/5 — Delete .gitmem/ directory?");
|
|
272
|
+
await stepGitmemDir();
|
|
273
|
+
|
|
274
|
+
// Also clean .gitignore entry
|
|
275
|
+
stepGitignore();
|
|
276
|
+
|
|
277
|
+
console.log("");
|
|
278
|
+
console.log(" Uninstall complete.");
|
|
279
|
+
console.log("");
|
|
280
|
+
|
|
281
|
+
if (rl) rl.close();
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
main().catch((err) => {
|
|
285
|
+
console.error("Error:", err.message || err);
|
|
286
|
+
if (rl) rl.close();
|
|
287
|
+
process.exit(1);
|
|
288
|
+
});
|
package/dist/commands/check.js
CHANGED
|
@@ -354,7 +354,7 @@ async function runFullCheck() {
|
|
|
354
354
|
const benchmarks = {};
|
|
355
355
|
const cache = getCache();
|
|
356
356
|
// Cold start benchmark (cache initialization)
|
|
357
|
-
console.
|
|
357
|
+
console.error(" Running cold start benchmark...");
|
|
358
358
|
try {
|
|
359
359
|
benchmarks.coldStart = await runBenchmark("coldStart", async () => {
|
|
360
360
|
// Simulate cold start by creating new cache instance
|
|
@@ -363,10 +363,10 @@ async function runFullCheck() {
|
|
|
363
363
|
}, 5);
|
|
364
364
|
}
|
|
365
365
|
catch (error) {
|
|
366
|
-
console.
|
|
366
|
+
console.error(` Cold start benchmark failed: ${error}`);
|
|
367
367
|
}
|
|
368
368
|
// Cache populate benchmark
|
|
369
|
-
console.
|
|
369
|
+
console.error(" Running cache populate benchmark...");
|
|
370
370
|
try {
|
|
371
371
|
benchmarks.cachePopulate = await runBenchmark("cachePopulate", async () => {
|
|
372
372
|
const key = `bench_populate_${Date.now()}`;
|
|
@@ -374,10 +374,10 @@ async function runFullCheck() {
|
|
|
374
374
|
}, 5);
|
|
375
375
|
}
|
|
376
376
|
catch (error) {
|
|
377
|
-
console.
|
|
377
|
+
console.error(` Cache populate benchmark failed: ${error}`);
|
|
378
378
|
}
|
|
379
379
|
// Cache hit benchmark
|
|
380
|
-
console.
|
|
380
|
+
console.error(" Running cache hit benchmark...");
|
|
381
381
|
try {
|
|
382
382
|
// First, populate a cache entry
|
|
383
383
|
const hitKey = `bench_hit_${Date.now()}`;
|
|
@@ -387,11 +387,11 @@ async function runFullCheck() {
|
|
|
387
387
|
}, 5);
|
|
388
388
|
}
|
|
389
389
|
catch (error) {
|
|
390
|
-
console.
|
|
390
|
+
console.error(` Cache hit benchmark failed: ${error}`);
|
|
391
391
|
}
|
|
392
392
|
// Recall benchmark (if Supabase configured)
|
|
393
393
|
if (hasSupabase()) {
|
|
394
|
-
console.
|
|
394
|
+
console.error(" Running recall benchmark...");
|
|
395
395
|
try {
|
|
396
396
|
benchmarks.recall = await runBenchmark("recall", async () => {
|
|
397
397
|
// Simulate recall by doing a search
|
|
@@ -406,7 +406,7 @@ async function runFullCheck() {
|
|
|
406
406
|
}, 5);
|
|
407
407
|
}
|
|
408
408
|
catch (error) {
|
|
409
|
-
console.
|
|
409
|
+
console.error(` Recall benchmark failed: ${error}`);
|
|
410
410
|
}
|
|
411
411
|
}
|
|
412
412
|
return benchmarks;
|
|
@@ -416,30 +416,30 @@ async function runFullCheck() {
|
|
|
416
416
|
*/
|
|
417
417
|
export async function runCheck(options) {
|
|
418
418
|
const mode = options.full ? "full" : "quick";
|
|
419
|
-
console.
|
|
420
|
-
console.
|
|
419
|
+
console.error(`\nGitMem Diagnostic Check (${mode} mode)\n`);
|
|
420
|
+
console.error("=".repeat(50));
|
|
421
421
|
const collector = new DiagnosticsCollector();
|
|
422
422
|
collector.start();
|
|
423
423
|
// Run quick checks
|
|
424
|
-
console.
|
|
424
|
+
console.error("\nRunning health checks...");
|
|
425
425
|
const { health, configuration, dataVolume } = await runQuickCheck();
|
|
426
426
|
// Print health check results
|
|
427
|
-
console.
|
|
427
|
+
console.error("\nHealth Checks:");
|
|
428
428
|
for (const [name, result] of Object.entries(health)) {
|
|
429
429
|
const icon = result.status === "pass" ? "✓" : result.status === "fail" ? "✗" : "○";
|
|
430
430
|
const time = result.durationMs ? ` (${result.durationMs}ms)` : "";
|
|
431
|
-
console.
|
|
431
|
+
console.error(` ${icon} ${name}: ${result.message}${time}`);
|
|
432
432
|
}
|
|
433
433
|
// Run benchmarks if full mode
|
|
434
434
|
let benchmarks;
|
|
435
435
|
if (options.full) {
|
|
436
|
-
console.
|
|
436
|
+
console.error("\nRunning benchmarks...");
|
|
437
437
|
benchmarks = await runFullCheck();
|
|
438
438
|
if (benchmarks) {
|
|
439
|
-
console.
|
|
439
|
+
console.error("\nBenchmark Results:");
|
|
440
440
|
for (const [name, result] of Object.entries(benchmarks)) {
|
|
441
441
|
if (result) {
|
|
442
|
-
console.
|
|
442
|
+
console.error(` ${name}: mean=${result.meanMs.toFixed(2)}ms, p95=${result.p95Ms.toFixed(2)}ms`);
|
|
443
443
|
}
|
|
444
444
|
}
|
|
445
445
|
}
|
|
@@ -470,17 +470,17 @@ export async function runCheck(options) {
|
|
|
470
470
|
const outputPath = options.output || join(gitmemDir, `diagnostic-${Date.now()}.json`);
|
|
471
471
|
// Write report
|
|
472
472
|
writeFileSync(outputPath, JSON.stringify(report, null, 2));
|
|
473
|
-
console.
|
|
473
|
+
console.error(`\nReport saved to: ${outputPath}`);
|
|
474
474
|
// Summary
|
|
475
475
|
const passCount = Object.values(health).filter((h) => h.status === "pass").length;
|
|
476
476
|
const failCount = Object.values(health).filter((h) => h.status === "fail").length;
|
|
477
477
|
const skipCount = Object.values(health).filter((h) => h.status === "skip").length;
|
|
478
|
-
console.
|
|
478
|
+
console.error(`\nSummary: ${passCount} passed, ${failCount} failed, ${skipCount} skipped`);
|
|
479
479
|
if (failCount > 0) {
|
|
480
|
-
console.
|
|
480
|
+
console.error("\n⚠️ Some health checks failed. Review the report for details.");
|
|
481
481
|
process.exit(1);
|
|
482
482
|
}
|
|
483
|
-
console.
|
|
483
|
+
console.error("\n✓ All health checks passed.");
|
|
484
484
|
}
|
|
485
485
|
/**
|
|
486
486
|
* Entry point for CLI
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,4 +37,10 @@ export declare function closingReflectionSchema(): Record<string, unknown>;
|
|
|
37
37
|
* Build a description string listing all questions (for tool descriptions or prompts).
|
|
38
38
|
*/
|
|
39
39
|
export declare function closingReflectionDescription(): string;
|
|
40
|
+
/**
|
|
41
|
+
* Normalize closing_reflection field names from common aliases to canonical keys.
|
|
42
|
+
* Agents frequently guess field names (q1_broke, q2_slow, etc.) instead of using
|
|
43
|
+
* the canonical names (what_broke, what_took_longer). This prevents validation failures.
|
|
44
|
+
*/
|
|
45
|
+
export declare function normalizeReflectionKeys(reflection: Record<string, unknown>): Record<string, unknown>;
|
|
40
46
|
//# sourceMappingURL=closing-questions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"closing-questions.d.ts","sourceRoot":"","sources":["../../src/constants/closing-questions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,UAAU,EAAE,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,WAAW,GAAG,IAAI,CAAC;IAC7D,+DAA+D;IAC/D,QAAQ,EAAE,OAAO,CAAC;IAClB,qCAAqC;IACrC,SAAS,EAAE,QAAQ,GAAG,UAAU,CAAC;CAClC;AAED,eAAO,MAAM,iBAAiB,EAAE,eAAe,EA4D9C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iCAAiC,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAa3E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMjE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,CAIrD"}
|
|
1
|
+
{"version":3,"file":"closing-questions.d.ts","sourceRoot":"","sources":["../../src/constants/closing-questions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,UAAU,EAAE,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,WAAW,GAAG,IAAI,CAAC;IAC7D,+DAA+D;IAC/D,QAAQ,EAAE,OAAO,CAAC;IAClB,qCAAqC;IACrC,SAAS,EAAE,QAAQ,GAAG,UAAU,CAAC;CAClC;AAED,eAAO,MAAM,iBAAiB,EAAE,eAAe,EA4D9C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iCAAiC,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAa3E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMjE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,CAIrD;AA2CD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkBzB"}
|
|
@@ -104,4 +104,69 @@ export function closingReflectionSchema() {
|
|
|
104
104
|
export function closingReflectionDescription() {
|
|
105
105
|
return CLOSING_QUESTIONS.map((q) => `Q${q.number} (${q.key}): ${q.question}`).join("\n");
|
|
106
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Common aliases agents use for closing_reflection field names.
|
|
109
|
+
* Maps alias → canonical key from CLOSING_QUESTIONS.
|
|
110
|
+
*/
|
|
111
|
+
const REFLECTION_ALIASES = {
|
|
112
|
+
// Q1
|
|
113
|
+
q1_broke: "what_broke",
|
|
114
|
+
broke: "what_broke",
|
|
115
|
+
unexpected: "what_broke",
|
|
116
|
+
// Q2
|
|
117
|
+
q2_slow: "what_took_longer",
|
|
118
|
+
took_longer: "what_took_longer",
|
|
119
|
+
slow: "what_took_longer",
|
|
120
|
+
// Q3
|
|
121
|
+
q3_differently: "do_differently",
|
|
122
|
+
differently: "do_differently",
|
|
123
|
+
next_time: "do_differently",
|
|
124
|
+
// Q4
|
|
125
|
+
q4_worked: "what_worked",
|
|
126
|
+
worked: "what_worked",
|
|
127
|
+
pattern_worked: "what_worked",
|
|
128
|
+
// Q5
|
|
129
|
+
q5_wrong_assumption: "wrong_assumption",
|
|
130
|
+
assumption: "wrong_assumption",
|
|
131
|
+
wrong: "wrong_assumption",
|
|
132
|
+
// Q6
|
|
133
|
+
q6_scars_applied: "scars_applied",
|
|
134
|
+
scars: "scars_applied",
|
|
135
|
+
// Q7
|
|
136
|
+
q7_capture: "institutional_memory_items",
|
|
137
|
+
capture: "institutional_memory_items",
|
|
138
|
+
capture_as_memory: "institutional_memory_items",
|
|
139
|
+
memory_items: "institutional_memory_items",
|
|
140
|
+
// Q8-Q9 (rapport, not in CLOSING_QUESTIONS but used)
|
|
141
|
+
q8_human_style: "human_work_style",
|
|
142
|
+
q9_dynamic: "collaborative_dynamic",
|
|
143
|
+
};
|
|
144
|
+
/** Canonical keys from CLOSING_QUESTIONS */
|
|
145
|
+
const CANONICAL_KEYS = new Set(CLOSING_QUESTIONS.map((q) => q.key));
|
|
146
|
+
/**
|
|
147
|
+
* Normalize closing_reflection field names from common aliases to canonical keys.
|
|
148
|
+
* Agents frequently guess field names (q1_broke, q2_slow, etc.) instead of using
|
|
149
|
+
* the canonical names (what_broke, what_took_longer). This prevents validation failures.
|
|
150
|
+
*/
|
|
151
|
+
export function normalizeReflectionKeys(reflection) {
|
|
152
|
+
const normalized = {};
|
|
153
|
+
for (const [key, value] of Object.entries(reflection)) {
|
|
154
|
+
if (CANONICAL_KEYS.has(key) || key === "human_work_style" || key === "collaborative_dynamic" || key === "rapport_notes") {
|
|
155
|
+
// Already canonical
|
|
156
|
+
normalized[key] = value;
|
|
157
|
+
}
|
|
158
|
+
else if (REFLECTION_ALIASES[key]) {
|
|
159
|
+
// Map alias to canonical (don't overwrite if canonical already set)
|
|
160
|
+
const canonical = REFLECTION_ALIASES[key];
|
|
161
|
+
if (!(canonical in normalized)) {
|
|
162
|
+
normalized[canonical] = value;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
// Unknown key — pass through
|
|
167
|
+
normalized[key] = value;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return normalized;
|
|
171
|
+
}
|
|
107
172
|
//# sourceMappingURL=closing-questions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"closing-questions.js","sourceRoot":"","sources":["../../src/constants/closing-questions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAiBH,MAAM,CAAC,MAAM,iBAAiB,GAAsB;IAClD;QACE,GAAG,EAAE,YAAY;QACjB,MAAM,EAAE,CAAC;QACT,QAAQ,EAAE,oCAAoC;QAC9C,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,GAAG,EAAE,kBAAkB;QACvB,MAAM,EAAE,CAAC;QACT,QAAQ,EAAE,uCAAuC;QACjD,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,GAAG,EAAE,gBAAgB;QACrB,MAAM,EAAE,CAAC;QACT,QAAQ,EAAE,0CAA0C;QACpD,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,GAAG,EAAE,aAAa;QAClB,MAAM,EAAE,CAAC;QACT,QAAQ,EAAE,uCAAuC;QACjD,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,GAAG,EAAE,kBAAkB;QACvB,MAAM,EAAE,CAAC;QACT,QAAQ,EAAE,4BAA4B;QACtC,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,GAAG,EAAE,eAAe;QACpB,MAAM,EAAE,CAAC;QACT,QAAQ,EAAE,uDAAuD;QACjE,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,UAAU;KACtB;IACD;QACE,GAAG,EAAE,4BAA4B;QACjC,MAAM,EAAE,CAAC;QACT,QAAQ,EACN,qEAAqE;YACrE,8EAA8E;YAC9E,+DAA+D;QACjE,UAAU,EAAE,WAAW;QACvB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,QAAQ;KACpB;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,iCAAiC;IAC/C,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;QAClC,IAAI,CAAC,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YAC/B,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG;gBAClB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,iCAAiC,EAAE;QAC/C,WAAW,EAAE,cAAc,iBAAiB,CAAC,MAAM,kDAAkD;KACtG,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B;IAC1C,OAAO,iBAAiB,CAAC,GAAG,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE,CAChD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"closing-questions.js","sourceRoot":"","sources":["../../src/constants/closing-questions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared formatting utilities for scar display.
|
|
3
|
+
*
|
|
4
|
+
* Used by:
|
|
5
|
+
* - prepare-context.ts (MCP tool for sub-agent injection)
|
|
6
|
+
* - quick-retrieve.ts (hook-invoked retrieval for auto-inject)
|
|
7
|
+
*/
|
|
8
|
+
export interface FormattableScar {
|
|
9
|
+
id: string;
|
|
10
|
+
title: string;
|
|
11
|
+
description: string;
|
|
12
|
+
severity: string;
|
|
13
|
+
counter_arguments?: string[];
|
|
14
|
+
similarity?: number;
|
|
15
|
+
source_linear_issue?: string;
|
|
16
|
+
required_verification?: {
|
|
17
|
+
when: string;
|
|
18
|
+
queries: string[];
|
|
19
|
+
must_show: string;
|
|
20
|
+
blocking?: boolean;
|
|
21
|
+
};
|
|
22
|
+
why_this_matters?: string;
|
|
23
|
+
action_protocol?: string[];
|
|
24
|
+
self_check_criteria?: string[];
|
|
25
|
+
}
|
|
26
|
+
export declare const SEVERITY_EMOJI: Record<string, string>;
|
|
27
|
+
export declare const SEVERITY_LABEL: Record<string, string>;
|
|
28
|
+
export declare const SEVERITY_ORDER: Record<string, number>;
|
|
29
|
+
/**
|
|
30
|
+
* Estimate tokens from a string.
|
|
31
|
+
* Rough heuristic: ~4 characters per token for English text.
|
|
32
|
+
*/
|
|
33
|
+
export declare function estimateTokens(text: string): number;
|
|
34
|
+
/**
|
|
35
|
+
* Format scars in compact mode.
|
|
36
|
+
* One line per scar: emoji LABEL: Title — first sentence of description.
|
|
37
|
+
* Sorted by severity (critical first). Truncated to token budget.
|
|
38
|
+
*/
|
|
39
|
+
export declare function formatCompact(scars: FormattableScar[], plan: string, maxTokens: number): {
|
|
40
|
+
payload: string;
|
|
41
|
+
included: number;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Format scars in gate mode.
|
|
45
|
+
* Only blocking scars (required_verification.blocking === true).
|
|
46
|
+
* Returns PASS if none found.
|
|
47
|
+
*/
|
|
48
|
+
export declare function formatGate(scars: FormattableScar[]): {
|
|
49
|
+
payload: string;
|
|
50
|
+
blocking: number;
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=format-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-utils.d.ts","sourceRoot":"","sources":["../../src/hooks/format-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qBAAqB,CAAC,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAID,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKjD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKjD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKjD,CAAC;AAIF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAID;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,eAAe,EAAE,EACxB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CA0BvC;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CA4B1F"}
|