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.
Files changed (246) hide show
  1. package/CLAUDE.md.template +63 -55
  2. package/README.md +60 -29
  3. package/bin/gitmem.js +233 -109
  4. package/bin/init-wizard.js +642 -0
  5. package/bin/uninstall.js +288 -0
  6. package/dist/commands/check.js +20 -20
  7. package/dist/commands/check.js.map +1 -1
  8. package/dist/constants/closing-questions.d.ts +6 -0
  9. package/dist/constants/closing-questions.d.ts.map +1 -1
  10. package/dist/constants/closing-questions.js +65 -0
  11. package/dist/constants/closing-questions.js.map +1 -1
  12. package/dist/hooks/format-utils.d.ts +52 -0
  13. package/dist/hooks/format-utils.d.ts.map +1 -0
  14. package/dist/hooks/format-utils.js +89 -0
  15. package/dist/hooks/format-utils.js.map +1 -0
  16. package/dist/hooks/quick-retrieve.d.ts +30 -0
  17. package/dist/hooks/quick-retrieve.d.ts.map +1 -0
  18. package/dist/hooks/quick-retrieve.js +149 -0
  19. package/dist/hooks/quick-retrieve.js.map +1 -0
  20. package/dist/index.js +0 -0
  21. package/dist/schemas/active-sessions.d.ts +8 -8
  22. package/dist/schemas/analyze.d.ts +3 -3
  23. package/dist/schemas/common.d.ts +2 -2
  24. package/dist/schemas/common.d.ts.map +1 -1
  25. package/dist/schemas/common.js +1 -1
  26. package/dist/schemas/common.js.map +1 -1
  27. package/dist/schemas/create-decision.d.ts +3 -3
  28. package/dist/schemas/create-learning.d.ts +13 -13
  29. package/dist/schemas/log.d.ts +3 -3
  30. package/dist/schemas/prepare-context.d.ts +3 -3
  31. package/dist/schemas/recall.d.ts +3 -3
  32. package/dist/schemas/record-scar-usage-batch.d.ts +8 -3
  33. package/dist/schemas/record-scar-usage-batch.d.ts.map +1 -1
  34. package/dist/schemas/record-scar-usage.d.ts +3 -0
  35. package/dist/schemas/record-scar-usage.d.ts.map +1 -1
  36. package/dist/schemas/record-scar-usage.js +1 -0
  37. package/dist/schemas/record-scar-usage.js.map +1 -1
  38. package/dist/schemas/registry.d.ts +18 -0
  39. package/dist/schemas/registry.d.ts.map +1 -0
  40. package/dist/schemas/registry.js +158 -0
  41. package/dist/schemas/registry.js.map +1 -0
  42. package/dist/schemas/save-transcript.d.ts +3 -3
  43. package/dist/schemas/search-transcripts.d.ts +33 -0
  44. package/dist/schemas/search-transcripts.d.ts.map +1 -0
  45. package/dist/schemas/search-transcripts.js +26 -0
  46. package/dist/schemas/search-transcripts.js.map +1 -0
  47. package/dist/schemas/search.d.ts +3 -3
  48. package/dist/schemas/session-close.d.ts +43 -15
  49. package/dist/schemas/session-close.d.ts.map +1 -1
  50. package/dist/schemas/session-close.js +7 -2
  51. package/dist/schemas/session-close.js.map +1 -1
  52. package/dist/schemas/session-start.d.ts +3 -3
  53. package/dist/schemas/thread.d.ts +3 -3
  54. package/dist/server.d.ts.map +1 -1
  55. package/dist/server.js +82 -28
  56. package/dist/server.js.map +1 -1
  57. package/dist/services/active-sessions.d.ts +2 -1
  58. package/dist/services/active-sessions.d.ts.map +1 -1
  59. package/dist/services/active-sessions.js +130 -84
  60. package/dist/services/active-sessions.js.map +1 -1
  61. package/dist/services/analytics.d.ts.map +1 -1
  62. package/dist/services/analytics.js +1 -0
  63. package/dist/services/analytics.js.map +1 -1
  64. package/dist/services/behavioral-decay.d.ts +40 -0
  65. package/dist/services/behavioral-decay.d.ts.map +1 -0
  66. package/dist/services/behavioral-decay.js +110 -0
  67. package/dist/services/behavioral-decay.js.map +1 -0
  68. package/dist/services/bm25.d.ts +39 -0
  69. package/dist/services/bm25.d.ts.map +1 -0
  70. package/dist/services/bm25.js +132 -0
  71. package/dist/services/bm25.js.map +1 -0
  72. package/dist/services/cache.d.ts.map +1 -1
  73. package/dist/services/cache.js +9 -8
  74. package/dist/services/cache.js.map +1 -1
  75. package/dist/services/cache.test.js +17 -17
  76. package/dist/services/cache.test.js.map +1 -1
  77. package/dist/services/compliance-validator.d.ts.map +1 -1
  78. package/dist/services/compliance-validator.js +12 -1
  79. package/dist/services/compliance-validator.js.map +1 -1
  80. package/dist/services/display-protocol.d.ts +31 -0
  81. package/dist/services/display-protocol.d.ts.map +1 -0
  82. package/dist/services/display-protocol.js +73 -0
  83. package/dist/services/display-protocol.js.map +1 -0
  84. package/dist/services/effect-tracker.d.ts +81 -0
  85. package/dist/services/effect-tracker.d.ts.map +1 -0
  86. package/dist/services/effect-tracker.js +181 -0
  87. package/dist/services/effect-tracker.js.map +1 -0
  88. package/dist/services/file-lock.d.ts +31 -0
  89. package/dist/services/file-lock.d.ts.map +1 -0
  90. package/dist/services/file-lock.js +124 -0
  91. package/dist/services/file-lock.js.map +1 -0
  92. package/dist/services/gitmem-dir.d.ts +7 -0
  93. package/dist/services/gitmem-dir.d.ts.map +1 -1
  94. package/dist/services/gitmem-dir.js +21 -0
  95. package/dist/services/gitmem-dir.js.map +1 -1
  96. package/dist/services/local-file-storage.d.ts +3 -2
  97. package/dist/services/local-file-storage.d.ts.map +1 -1
  98. package/dist/services/local-file-storage.js +30 -43
  99. package/dist/services/local-file-storage.js.map +1 -1
  100. package/dist/services/local-vector-search.d.ts +10 -9
  101. package/dist/services/local-vector-search.d.ts.map +1 -1
  102. package/dist/services/local-vector-search.js +28 -23
  103. package/dist/services/local-vector-search.js.map +1 -1
  104. package/dist/services/metrics.d.ts +7 -2
  105. package/dist/services/metrics.d.ts.map +1 -1
  106. package/dist/services/metrics.js +41 -33
  107. package/dist/services/metrics.js.map +1 -1
  108. package/dist/services/session-state.d.ts +8 -0
  109. package/dist/services/session-state.d.ts.map +1 -1
  110. package/dist/services/session-state.js +9 -2
  111. package/dist/services/session-state.js.map +1 -1
  112. package/dist/services/startup.d.ts +12 -13
  113. package/dist/services/startup.d.ts.map +1 -1
  114. package/dist/services/startup.js +104 -57
  115. package/dist/services/startup.js.map +1 -1
  116. package/dist/services/supabase-client.d.ts +2 -1
  117. package/dist/services/supabase-client.d.ts.map +1 -1
  118. package/dist/services/supabase-client.js +22 -16
  119. package/dist/services/supabase-client.js.map +1 -1
  120. package/dist/services/thread-dedup.d.ts +9 -0
  121. package/dist/services/thread-dedup.d.ts.map +1 -1
  122. package/dist/services/thread-dedup.js +27 -0
  123. package/dist/services/thread-dedup.js.map +1 -1
  124. package/dist/services/thread-manager.d.ts.map +1 -1
  125. package/dist/services/thread-manager.js +38 -16
  126. package/dist/services/thread-manager.js.map +1 -1
  127. package/dist/services/thread-suggestions.d.ts.map +1 -1
  128. package/dist/services/thread-suggestions.js +1 -1
  129. package/dist/services/thread-suggestions.js.map +1 -1
  130. package/dist/services/thread-supabase.d.ts +0 -1
  131. package/dist/services/thread-supabase.d.ts.map +1 -1
  132. package/dist/services/thread-supabase.js +83 -54
  133. package/dist/services/thread-supabase.js.map +1 -1
  134. package/dist/services/timezone.d.ts.map +1 -1
  135. package/dist/services/timezone.js +1 -0
  136. package/dist/services/timezone.js.map +1 -1
  137. package/dist/services/transcript-chunker.d.ts.map +1 -1
  138. package/dist/services/transcript-chunker.js +18 -4
  139. package/dist/services/transcript-chunker.js.map +1 -1
  140. package/dist/services/variant-generation.d.ts +41 -0
  141. package/dist/services/variant-generation.d.ts.map +1 -0
  142. package/dist/services/variant-generation.js +263 -0
  143. package/dist/services/variant-generation.js.map +1 -0
  144. package/dist/tools/absorb-observations.d.ts.map +1 -1
  145. package/dist/tools/absorb-observations.js +9 -0
  146. package/dist/tools/absorb-observations.js.map +1 -1
  147. package/dist/tools/analyze.d.ts.map +1 -1
  148. package/dist/tools/analyze.js +13 -2
  149. package/dist/tools/analyze.js.map +1 -1
  150. package/dist/tools/archive-learning.d.ts +28 -0
  151. package/dist/tools/archive-learning.d.ts.map +1 -0
  152. package/dist/tools/archive-learning.js +81 -0
  153. package/dist/tools/archive-learning.js.map +1 -0
  154. package/dist/tools/cleanup-threads.d.ts +1 -0
  155. package/dist/tools/cleanup-threads.d.ts.map +1 -1
  156. package/dist/tools/cleanup-threads.js +111 -18
  157. package/dist/tools/cleanup-threads.js.map +1 -1
  158. package/dist/tools/confirm-scars.d.ts.map +1 -1
  159. package/dist/tools/confirm-scars.js +8 -2
  160. package/dist/tools/confirm-scars.js.map +1 -1
  161. package/dist/tools/create-decision.d.ts.map +1 -1
  162. package/dist/tools/create-decision.js +11 -8
  163. package/dist/tools/create-decision.js.map +1 -1
  164. package/dist/tools/create-learning.d.ts.map +1 -1
  165. package/dist/tools/create-learning.js +35 -11
  166. package/dist/tools/create-learning.js.map +1 -1
  167. package/dist/tools/create-linear-issue.d.ts +18 -0
  168. package/dist/tools/create-linear-issue.d.ts.map +1 -0
  169. package/dist/tools/create-linear-issue.js +197 -0
  170. package/dist/tools/create-linear-issue.js.map +1 -0
  171. package/dist/tools/create-thread.d.ts +2 -1
  172. package/dist/tools/create-thread.d.ts.map +1 -1
  173. package/dist/tools/create-thread.js +9 -4
  174. package/dist/tools/create-thread.js.map +1 -1
  175. package/dist/tools/definitions.d.ts +785 -34
  176. package/dist/tools/definitions.d.ts.map +1 -1
  177. package/dist/tools/definitions.js +239 -95
  178. package/dist/tools/definitions.js.map +1 -1
  179. package/dist/tools/dismiss-suggestion.d.ts +1 -0
  180. package/dist/tools/dismiss-suggestion.d.ts.map +1 -1
  181. package/dist/tools/dismiss-suggestion.js +4 -0
  182. package/dist/tools/dismiss-suggestion.js.map +1 -1
  183. package/dist/tools/graph-traverse.d.ts +1 -0
  184. package/dist/tools/graph-traverse.d.ts.map +1 -1
  185. package/dist/tools/graph-traverse.js +24 -9
  186. package/dist/tools/graph-traverse.js.map +1 -1
  187. package/dist/tools/list-threads.d.ts.map +1 -1
  188. package/dist/tools/list-threads.js +49 -5
  189. package/dist/tools/list-threads.js.map +1 -1
  190. package/dist/tools/log.d.ts +1 -0
  191. package/dist/tools/log.d.ts.map +1 -1
  192. package/dist/tools/log.js +84 -17
  193. package/dist/tools/log.js.map +1 -1
  194. package/dist/tools/prepare-context.d.ts +1 -0
  195. package/dist/tools/prepare-context.d.ts.map +1 -1
  196. package/dist/tools/prepare-context.js +15 -85
  197. package/dist/tools/prepare-context.js.map +1 -1
  198. package/dist/tools/promote-suggestion.d.ts +1 -0
  199. package/dist/tools/promote-suggestion.d.ts.map +1 -1
  200. package/dist/tools/promote-suggestion.js +5 -0
  201. package/dist/tools/promote-suggestion.js.map +1 -1
  202. package/dist/tools/recall.d.ts +2 -0
  203. package/dist/tools/recall.d.ts.map +1 -1
  204. package/dist/tools/recall.js +43 -10
  205. package/dist/tools/recall.js.map +1 -1
  206. package/dist/tools/recall.test.js +6 -6
  207. package/dist/tools/recall.test.js.map +1 -1
  208. package/dist/tools/record-scar-usage-batch.d.ts.map +1 -1
  209. package/dist/tools/record-scar-usage-batch.js +13 -0
  210. package/dist/tools/record-scar-usage-batch.js.map +1 -1
  211. package/dist/tools/record-scar-usage.d.ts.map +1 -1
  212. package/dist/tools/record-scar-usage.js +6 -0
  213. package/dist/tools/record-scar-usage.js.map +1 -1
  214. package/dist/tools/resolve-thread.d.ts.map +1 -1
  215. package/dist/tools/resolve-thread.js +57 -6
  216. package/dist/tools/resolve-thread.js.map +1 -1
  217. package/dist/tools/save-transcript.d.ts +1 -0
  218. package/dist/tools/save-transcript.d.ts.map +1 -1
  219. package/dist/tools/save-transcript.js +3 -1
  220. package/dist/tools/save-transcript.js.map +1 -1
  221. package/dist/tools/search-transcripts.d.ts +44 -0
  222. package/dist/tools/search-transcripts.d.ts.map +1 -0
  223. package/dist/tools/search-transcripts.js +158 -0
  224. package/dist/tools/search-transcripts.js.map +1 -0
  225. package/dist/tools/search.d.ts +1 -0
  226. package/dist/tools/search.d.ts.map +1 -1
  227. package/dist/tools/search.js +74 -3
  228. package/dist/tools/search.js.map +1 -1
  229. package/dist/tools/session-close.d.ts.map +1 -1
  230. package/dist/tools/session-close.js +563 -326
  231. package/dist/tools/session-close.js.map +1 -1
  232. package/dist/tools/session-start.d.ts +10 -6
  233. package/dist/tools/session-start.d.ts.map +1 -1
  234. package/dist/tools/session-start.js +317 -426
  235. package/dist/tools/session-start.js.map +1 -1
  236. package/dist/types/index.d.ts +37 -4
  237. package/dist/types/index.d.ts.map +1 -1
  238. package/hooks/hooks/hooks.json +8 -37
  239. package/hooks/scripts/auto-retrieve-hook.sh +163 -0
  240. package/hooks/scripts/post-tool-use.sh +0 -16
  241. package/hooks/scripts/recall-check.sh +0 -11
  242. package/hooks/scripts/session-close-check.sh +1 -1
  243. package/hooks/scripts/session-start.sh +89 -13
  244. package/hooks/tests/test-hooks.sh +3 -49
  245. package/package.json +3 -2
  246. package/schema/setup.sql +1 -1
@@ -0,0 +1,89 @@
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
+ // --- Severity Constants ---
9
+ export const SEVERITY_EMOJI = {
10
+ critical: "\uD83D\uDD34",
11
+ high: "\uD83D\uDFE0",
12
+ medium: "\uD83D\uDFE1",
13
+ low: "\uD83D\uDFE2",
14
+ };
15
+ export const SEVERITY_LABEL = {
16
+ critical: "CRITICAL",
17
+ high: "HIGH",
18
+ medium: "MEDIUM",
19
+ low: "LOW",
20
+ };
21
+ export const SEVERITY_ORDER = {
22
+ critical: 0,
23
+ high: 1,
24
+ medium: 2,
25
+ low: 3,
26
+ };
27
+ // --- Token Estimation ---
28
+ /**
29
+ * Estimate tokens from a string.
30
+ * Rough heuristic: ~4 characters per token for English text.
31
+ */
32
+ export function estimateTokens(text) {
33
+ return Math.ceil(text.length / 4);
34
+ }
35
+ // --- Formatters ---
36
+ /**
37
+ * Format scars in compact mode.
38
+ * One line per scar: emoji LABEL: Title — first sentence of description.
39
+ * Sorted by severity (critical first). Truncated to token budget.
40
+ */
41
+ export function formatCompact(scars, plan, maxTokens) {
42
+ const sorted = [...scars].sort((a, b) => (SEVERITY_ORDER[a.severity] ?? 3) - (SEVERITY_ORDER[b.severity] ?? 3));
43
+ const header = `[INSTITUTIONAL MEMORY \u2014 ${sorted.length} scars for: "${plan.slice(0, 60)}"]`;
44
+ const lines = [header];
45
+ let included = 0;
46
+ for (const scar of sorted) {
47
+ const emoji = SEVERITY_EMOJI[scar.severity] || "\u26AA";
48
+ const label = SEVERITY_LABEL[scar.severity] || "UNKNOWN";
49
+ const firstSentence = scar.description.split(/\.\s/)[0].slice(0, 120);
50
+ const line = `${emoji} ${label}: ${scar.title} \u2014 ${firstSentence}`;
51
+ // Check token budget before adding (always include at least one)
52
+ const candidate = [...lines, line].join("\n");
53
+ if (estimateTokens(candidate) > maxTokens && included > 0) {
54
+ break;
55
+ }
56
+ lines.push(line);
57
+ included++;
58
+ }
59
+ return { payload: lines.join("\n"), included };
60
+ }
61
+ /**
62
+ * Format scars in gate mode.
63
+ * Only blocking scars (required_verification.blocking === true).
64
+ * Returns PASS if none found.
65
+ */
66
+ export function formatGate(scars) {
67
+ const blockingScars = scars.filter((s) => s.required_verification?.blocking === true);
68
+ if (blockingScars.length === 0) {
69
+ return {
70
+ payload: "[MEMORY GATE: PASS \u2014 no blocking scars]",
71
+ blocking: 0,
72
+ };
73
+ }
74
+ const lines = [
75
+ `[MEMORY GATE: ${blockingScars.length} blocking scar${blockingScars.length === 1 ? "" : "s"}]`,
76
+ ];
77
+ for (const scar of blockingScars) {
78
+ const rv = scar.required_verification;
79
+ lines.push(`\uD83D\uDEA8 BLOCK: ${rv.when}`);
80
+ if (rv.queries && rv.queries.length > 0) {
81
+ for (const query of rv.queries) {
82
+ lines.push(` RUN: ${query}`);
83
+ }
84
+ }
85
+ lines.push(`MUST SHOW: ${rv.must_show}`);
86
+ }
87
+ return { payload: lines.join("\n"), blocking: blockingScars.length };
88
+ }
89
+ //# sourceMappingURL=format-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-utils.js","sourceRoot":"","sources":["../../src/hooks/format-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Quick Retrieve — lightweight scar search for hook invocation.
3
+ *
4
+ * Designed to be called from the auto-retrieve UserPromptSubmit hook
5
+ * via: node dist/hooks/quick-retrieve.js <prompt> <level> [token_budget]
6
+ *
7
+ * Imports the storage layer directly (no MCP overhead).
8
+ * Routes to:
9
+ * 1. In-memory vector search (MCP server process with warm cache)
10
+ * 2. Disk cache keyword search (hook child process reading hook-scars.json)
11
+ * 3. LocalStorage keyword search (free tier fallback)
12
+ *
13
+ * No side effects: no surfaced scar tracking, no variant assignment,
14
+ * no confirmation gate. Pure retrieval for passive context injection.
15
+ *
16
+ * Performance target: <300ms total.
17
+ */
18
+ import type { Project } from "../types/index.js";
19
+ export interface QuickRetrieveOptions {
20
+ project?: Project;
21
+ tokenBudget?: number;
22
+ }
23
+ /**
24
+ * Perform a quick scar search optimized for hook invocation.
25
+ *
26
+ * Returns formatted compact text suitable for additionalContext injection,
27
+ * or null if no relevant scars found or retrieval level is "none".
28
+ */
29
+ export declare function quickRetrieve(prompt: string, retrievalLevel: string, options?: QuickRetrieveOptions): Promise<string | null>;
30
+ //# sourceMappingURL=quick-retrieve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quick-retrieve.d.ts","sourceRoot":"","sources":["../../src/hooks/quick-retrieve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAWH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAyCxB"}
@@ -0,0 +1,149 @@
1
+ /**
2
+ * Quick Retrieve — lightweight scar search for hook invocation.
3
+ *
4
+ * Designed to be called from the auto-retrieve UserPromptSubmit hook
5
+ * via: node dist/hooks/quick-retrieve.js <prompt> <level> [token_budget]
6
+ *
7
+ * Imports the storage layer directly (no MCP overhead).
8
+ * Routes to:
9
+ * 1. In-memory vector search (MCP server process with warm cache)
10
+ * 2. Disk cache keyword search (hook child process reading hook-scars.json)
11
+ * 3. LocalStorage keyword search (free tier fallback)
12
+ *
13
+ * No side effects: no surfaced scar tracking, no variant assignment,
14
+ * no confirmation gate. Pure retrieval for passive context injection.
15
+ *
16
+ * Performance target: <300ms total.
17
+ */
18
+ import * as fs from "fs";
19
+ import * as path from "path";
20
+ import { getStorage } from "../services/storage.js";
21
+ import { hasSupabase } from "../services/tier.js";
22
+ import { isLocalSearchReady, localScarSearch } from "../services/local-vector-search.js";
23
+ import { bm25Search } from "../services/bm25.js";
24
+ import { formatCompact } from "./format-utils.js";
25
+ /**
26
+ * Perform a quick scar search optimized for hook invocation.
27
+ *
28
+ * Returns formatted compact text suitable for additionalContext injection,
29
+ * or null if no relevant scars found or retrieval level is "none".
30
+ */
31
+ export async function quickRetrieve(prompt, retrievalLevel, options = {}) {
32
+ if (retrievalLevel === "none" || !prompt || prompt.trim().length === 0) {
33
+ return null;
34
+ }
35
+ const matchCount = retrievalLevel === "full" ? 5 : 3;
36
+ const defaultBudget = hasSupabase() ? 4000 : 2000;
37
+ const tokenBudget = options.tokenBudget ?? defaultBudget;
38
+ const project = options.project ?? "default";
39
+ let scars = [];
40
+ try {
41
+ // Path 1: In-memory vector search (MCP server process with warm cache)
42
+ if (hasSupabase() && isLocalSearchReady(project)) {
43
+ const results = await localScarSearch(prompt, matchCount, project);
44
+ scars = results.map(toFormattable);
45
+ }
46
+ // Path 2: Disk cache keyword search (hook child process)
47
+ else {
48
+ const diskResults = searchDiskCache(prompt, matchCount);
49
+ if (diskResults.length > 0) {
50
+ scars = diskResults;
51
+ }
52
+ else {
53
+ // Path 3: LocalStorage fallback (free tier .gitmem/learnings.json)
54
+ const storage = getStorage();
55
+ const results = await storage.search(prompt, matchCount);
56
+ scars = results.map(toFormattable);
57
+ }
58
+ }
59
+ }
60
+ catch {
61
+ // Fail open — return nothing rather than block
62
+ return null;
63
+ }
64
+ if (scars.length === 0) {
65
+ return null;
66
+ }
67
+ const { payload } = formatCompact(scars, prompt, tokenBudget);
68
+ return payload;
69
+ }
70
+ /**
71
+ * Search the disk cache written by the MCP server's startup.ts.
72
+ * Uses BM25 ranking with field boosting (title 3x, keywords 2x, description 1x).
73
+ */
74
+ function searchDiskCache(query, k) {
75
+ const cachePath = path.join(process.cwd(), ".gitmem", "cache", "hook-scars.json");
76
+ if (!fs.existsSync(cachePath)) {
77
+ return [];
78
+ }
79
+ try {
80
+ const raw = fs.readFileSync(cachePath, "utf-8");
81
+ const scars = JSON.parse(raw);
82
+ const docs = scars.map((s) => ({
83
+ id: String(s.id),
84
+ fields: [
85
+ { text: String(s.title || ""), boost: 3 },
86
+ { text: (s.keywords || []).join(" "), boost: 2 },
87
+ { text: String(s.description || ""), boost: 1 },
88
+ ],
89
+ }));
90
+ const results = bm25Search(query, docs, k);
91
+ const byId = new Map(scars.map((s) => [String(s.id), s]));
92
+ const mapped = [];
93
+ for (const r of results) {
94
+ const s = byId.get(r.id);
95
+ if (!s)
96
+ continue;
97
+ mapped.push({
98
+ id: r.id,
99
+ title: String(s.title),
100
+ description: String(s.description || ""),
101
+ severity: String(s.severity || "medium"),
102
+ counter_arguments: s.counter_arguments || [],
103
+ similarity: r.similarity,
104
+ why_this_matters: s.why_this_matters,
105
+ action_protocol: s.action_protocol,
106
+ self_check_criteria: s.self_check_criteria,
107
+ });
108
+ }
109
+ return mapped;
110
+ }
111
+ catch {
112
+ return [];
113
+ }
114
+ }
115
+ function toFormattable(scar) {
116
+ return {
117
+ id: scar.id,
118
+ title: scar.title,
119
+ description: scar.description || "",
120
+ severity: scar.severity || "medium",
121
+ counter_arguments: scar.counter_arguments || [],
122
+ similarity: scar.similarity || 0,
123
+ why_this_matters: scar.why_this_matters,
124
+ action_protocol: scar.action_protocol,
125
+ self_check_criteria: scar.self_check_criteria,
126
+ };
127
+ }
128
+ // --- CLI entry point ---
129
+ // Called from hook: node dist/hooks/quick-retrieve.js <prompt> <level> [token_budget]
130
+ const isMainModule = process.argv[1]?.endsWith("quick-retrieve.js");
131
+ if (isMainModule) {
132
+ const prompt = process.argv[2];
133
+ const level = process.argv[3] || "scars";
134
+ const budget = process.argv[4] ? parseInt(process.argv[4], 10) : undefined;
135
+ if (!prompt) {
136
+ process.exit(0);
137
+ }
138
+ quickRetrieve(prompt, level, { tokenBudget: budget })
139
+ .then((result) => {
140
+ if (result) {
141
+ process.stdout.write(result);
142
+ }
143
+ })
144
+ .catch(() => {
145
+ // Fail open
146
+ process.exit(0);
147
+ });
148
+ }
149
+ //# sourceMappingURL=quick-retrieve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quick-retrieve.js","sourceRoot":"","sources":["../../src/hooks/quick-retrieve.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
File without changes
@@ -10,21 +10,21 @@ export declare const ActiveSessionEntrySchema: z.ZodObject<{
10
10
  started_at: z.ZodString;
11
11
  hostname: z.ZodString;
12
12
  pid: z.ZodNumber;
13
- project: z.ZodEnum<["orchestra_dev", "weekend_warrior"]>;
13
+ project: z.ZodDefault<z.ZodString>;
14
14
  }, "strip", z.ZodTypeAny, {
15
- project: "orchestra_dev" | "weekend_warrior";
15
+ project: string;
16
16
  agent: "CLI" | "DAC" | "CODA-1" | "Brain_Local" | "Brain_Cloud" | "Unknown";
17
17
  session_id: string;
18
18
  started_at: string;
19
19
  hostname: string;
20
20
  pid: number;
21
21
  }, {
22
- project: "orchestra_dev" | "weekend_warrior";
23
22
  agent: "CLI" | "DAC" | "CODA-1" | "Brain_Local" | "Brain_Cloud" | "Unknown";
24
23
  session_id: string;
25
24
  started_at: string;
26
25
  hostname: string;
27
26
  pid: number;
27
+ project?: string | undefined;
28
28
  }>;
29
29
  export declare const ActiveSessionsRegistrySchema: z.ZodObject<{
30
30
  sessions: z.ZodArray<z.ZodObject<{
@@ -33,25 +33,25 @@ export declare const ActiveSessionsRegistrySchema: z.ZodObject<{
33
33
  started_at: z.ZodString;
34
34
  hostname: z.ZodString;
35
35
  pid: z.ZodNumber;
36
- project: z.ZodEnum<["orchestra_dev", "weekend_warrior"]>;
36
+ project: z.ZodDefault<z.ZodString>;
37
37
  }, "strip", z.ZodTypeAny, {
38
- project: "orchestra_dev" | "weekend_warrior";
38
+ project: string;
39
39
  agent: "CLI" | "DAC" | "CODA-1" | "Brain_Local" | "Brain_Cloud" | "Unknown";
40
40
  session_id: string;
41
41
  started_at: string;
42
42
  hostname: string;
43
43
  pid: number;
44
44
  }, {
45
- project: "orchestra_dev" | "weekend_warrior";
46
45
  agent: "CLI" | "DAC" | "CODA-1" | "Brain_Local" | "Brain_Cloud" | "Unknown";
47
46
  session_id: string;
48
47
  started_at: string;
49
48
  hostname: string;
50
49
  pid: number;
50
+ project?: string | undefined;
51
51
  }>, "many">;
52
52
  }, "strip", z.ZodTypeAny, {
53
53
  sessions: {
54
- project: "orchestra_dev" | "weekend_warrior";
54
+ project: string;
55
55
  agent: "CLI" | "DAC" | "CODA-1" | "Brain_Local" | "Brain_Cloud" | "Unknown";
56
56
  session_id: string;
57
57
  started_at: string;
@@ -60,12 +60,12 @@ export declare const ActiveSessionsRegistrySchema: z.ZodObject<{
60
60
  }[];
61
61
  }, {
62
62
  sessions: {
63
- project: "orchestra_dev" | "weekend_warrior";
64
63
  agent: "CLI" | "DAC" | "CODA-1" | "Brain_Local" | "Brain_Cloud" | "Unknown";
65
64
  session_id: string;
66
65
  started_at: string;
67
66
  hostname: string;
68
67
  pid: number;
68
+ project?: string | undefined;
69
69
  }[];
70
70
  }>;
71
71
  //# sourceMappingURL=active-sessions.d.ts.map
@@ -13,15 +13,15 @@ export type AnalyzeLens = z.infer<typeof AnalyzeLensSchema>;
13
13
  export declare const AnalyzeParamsSchema: z.ZodObject<{
14
14
  lens: z.ZodOptional<z.ZodEnum<["summary", "reflections", "blindspots"]>>;
15
15
  days: z.ZodOptional<z.ZodNumber>;
16
- project: z.ZodOptional<z.ZodEnum<["orchestra_dev", "weekend_warrior"]>>;
16
+ project: z.ZodOptional<z.ZodDefault<z.ZodString>>;
17
17
  agent: z.ZodOptional<z.ZodString>;
18
18
  }, "strip", z.ZodTypeAny, {
19
- project?: "orchestra_dev" | "weekend_warrior" | undefined;
19
+ project?: string | undefined;
20
20
  agent?: string | undefined;
21
21
  lens?: "summary" | "reflections" | "blindspots" | undefined;
22
22
  days?: number | undefined;
23
23
  }, {
24
- project?: "orchestra_dev" | "weekend_warrior" | undefined;
24
+ project?: string | undefined;
25
25
  agent?: string | undefined;
26
26
  lens?: "summary" | "reflections" | "blindspots" | undefined;
27
27
  days?: number | undefined;
@@ -5,8 +5,8 @@ import { z } from "zod";
5
5
  /**
6
6
  * Project namespace enum
7
7
  */
8
- export declare const ProjectSchema: z.ZodEnum<["orchestra_dev", "weekend_warrior"]>;
9
- export type Project = z.infer<typeof ProjectSchema>;
8
+ export declare const ProjectSchema: z.ZodDefault<z.ZodString>;
9
+ export type Project = string;
10
10
  /**
11
11
  * Agent identity enum
12
12
  */
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/schemas/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,aAAa,iDAA+C,CAAC;AAC1E,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,mBAAmB,8EAO9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,kBAAkB,uDAAqD,CAAC;AACrF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,kBAAkB,kDAAgD,CAAC;AAChF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,eAAe,+DAA6D,CAAC;AAC1F,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,mBAAmB,wEAM9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,kBAAkB,2CAM9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,aAAoB,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,oBAAoB,aAA8C,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,iBAAiB,aAA8B,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,oBAAoB,aAAiC,CAAC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/schemas/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,aAAa,2BAAgC,CAAC;AAC3D,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B;;GAEG;AACH,eAAO,MAAM,mBAAmB,8EAO9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,kBAAkB,uDAAqD,CAAC;AACrF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,kBAAkB,kDAAgD,CAAC;AAChF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,eAAe,+DAA6D,CAAC;AAC1F,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,mBAAmB,wEAM9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,kBAAkB,2CAM9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,aAAoB,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,oBAAoB,aAA8C,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,iBAAiB,aAA8B,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,oBAAoB,aAAiC,CAAC"}
@@ -5,7 +5,7 @@ import { z } from "zod";
5
5
  /**
6
6
  * Project namespace enum
7
7
  */
8
- export const ProjectSchema = z.enum(["orchestra_dev", "weekend_warrior"]);
8
+ export const ProjectSchema = z.string().default("default");
9
9
  /**
10
10
  * Agent identity enum
11
11
  */
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/schemas/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAG1E;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC;IACxC,KAAK;IACL,KAAK;IACL,QAAQ;IACR,aAAa;IACb,aAAa;IACb,SAAS;CACV,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;AAGrF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAGhF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;AAG1F;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC;IACxC,UAAU;IACV,UAAU;IACV,cAAc;IACd,SAAS;IACT,MAAM;CACP,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CACjD,CAAC,GAAG,EAAE,EAAE;IACN,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAChC,CAAC,EACD,EAAE,OAAO,EAAE,uBAAuB,EAAE,CACrC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AAE5C;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/schemas/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAG3D;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC;IACxC,KAAK;IACL,KAAK;IACL,QAAQ;IACR,aAAa;IACb,aAAa;IACb,SAAS;CACV,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;AAGrF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAGhF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;AAG1F;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC;IACxC,UAAU;IACV,UAAU;IACV,cAAc;IACd,SAAS;IACT,MAAM;CACP,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CACjD,CAAC,GAAG,EAAE,EAAE;IACN,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAChC,CAAC,EACD,EAAE,OAAO,EAAE,uBAAuB,EAAE,CACrC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AAE5C;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC"}
@@ -14,12 +14,12 @@ export declare const CreateDecisionParamsSchema: z.ZodObject<{
14
14
  docs_affected: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
15
15
  linear_issue: z.ZodOptional<z.ZodString>;
16
16
  session_id: z.ZodOptional<z.ZodString>;
17
- project: z.ZodOptional<z.ZodEnum<["orchestra_dev", "weekend_warrior"]>>;
17
+ project: z.ZodOptional<z.ZodDefault<z.ZodString>>;
18
18
  }, "strip", z.ZodTypeAny, {
19
19
  title: string;
20
20
  decision: string;
21
21
  rationale: string;
22
- project?: "orchestra_dev" | "weekend_warrior" | undefined;
22
+ project?: string | undefined;
23
23
  session_id?: string | undefined;
24
24
  linear_issue?: string | undefined;
25
25
  alternatives_considered?: string[] | undefined;
@@ -29,7 +29,7 @@ export declare const CreateDecisionParamsSchema: z.ZodObject<{
29
29
  title: string;
30
30
  decision: string;
31
31
  rationale: string;
32
- project?: "orchestra_dev" | "weekend_warrior" | undefined;
32
+ project?: string | undefined;
33
33
  session_id?: string | undefined;
34
34
  linear_issue?: string | undefined;
35
35
  alternatives_considered?: string[] | undefined;
@@ -22,7 +22,7 @@ export declare const CreateLearningParamsSchema: z.ZodEffects<z.ZodObject<{
22
22
  domain: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
23
23
  keywords: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
24
24
  source_linear_issue: z.ZodOptional<z.ZodString>;
25
- project: z.ZodOptional<z.ZodEnum<["orchestra_dev", "weekend_warrior"]>>;
25
+ project: z.ZodOptional<z.ZodDefault<z.ZodString>>;
26
26
  why_this_matters: z.ZodOptional<z.ZodString>;
27
27
  action_protocol: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
28
28
  self_check_criteria: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -30,15 +30,15 @@ export declare const CreateLearningParamsSchema: z.ZodEffects<z.ZodObject<{
30
30
  learning_type: "scar" | "win" | "pattern" | "anti_pattern";
31
31
  title: string;
32
32
  description: string;
33
- project?: "orchestra_dev" | "weekend_warrior" | undefined;
33
+ project?: string | undefined;
34
34
  severity?: "critical" | "high" | "medium" | "low" | undefined;
35
35
  counter_arguments?: string[] | undefined;
36
36
  keywords?: string[] | undefined;
37
- source_linear_issue?: string | undefined;
38
- domain?: string[] | undefined;
39
37
  why_this_matters?: string | undefined;
40
38
  action_protocol?: string[] | undefined;
41
39
  self_check_criteria?: string[] | undefined;
40
+ source_linear_issue?: string | undefined;
41
+ domain?: string[] | undefined;
42
42
  scar_type?: string | undefined;
43
43
  problem_context?: string | undefined;
44
44
  solution_approach?: string | undefined;
@@ -47,15 +47,15 @@ export declare const CreateLearningParamsSchema: z.ZodEffects<z.ZodObject<{
47
47
  learning_type: "scar" | "win" | "pattern" | "anti_pattern";
48
48
  title: string;
49
49
  description: string;
50
- project?: "orchestra_dev" | "weekend_warrior" | undefined;
50
+ project?: string | undefined;
51
51
  severity?: "critical" | "high" | "medium" | "low" | undefined;
52
52
  counter_arguments?: string[] | undefined;
53
53
  keywords?: string[] | undefined;
54
- source_linear_issue?: string | undefined;
55
- domain?: string[] | undefined;
56
54
  why_this_matters?: string | undefined;
57
55
  action_protocol?: string[] | undefined;
58
56
  self_check_criteria?: string[] | undefined;
57
+ source_linear_issue?: string | undefined;
58
+ domain?: string[] | undefined;
59
59
  scar_type?: string | undefined;
60
60
  problem_context?: string | undefined;
61
61
  solution_approach?: string | undefined;
@@ -64,15 +64,15 @@ export declare const CreateLearningParamsSchema: z.ZodEffects<z.ZodObject<{
64
64
  learning_type: "scar" | "win" | "pattern" | "anti_pattern";
65
65
  title: string;
66
66
  description: string;
67
- project?: "orchestra_dev" | "weekend_warrior" | undefined;
67
+ project?: string | undefined;
68
68
  severity?: "critical" | "high" | "medium" | "low" | undefined;
69
69
  counter_arguments?: string[] | undefined;
70
70
  keywords?: string[] | undefined;
71
- source_linear_issue?: string | undefined;
72
- domain?: string[] | undefined;
73
71
  why_this_matters?: string | undefined;
74
72
  action_protocol?: string[] | undefined;
75
73
  self_check_criteria?: string[] | undefined;
74
+ source_linear_issue?: string | undefined;
75
+ domain?: string[] | undefined;
76
76
  scar_type?: string | undefined;
77
77
  problem_context?: string | undefined;
78
78
  solution_approach?: string | undefined;
@@ -81,15 +81,15 @@ export declare const CreateLearningParamsSchema: z.ZodEffects<z.ZodObject<{
81
81
  learning_type: "scar" | "win" | "pattern" | "anti_pattern";
82
82
  title: string;
83
83
  description: string;
84
- project?: "orchestra_dev" | "weekend_warrior" | undefined;
84
+ project?: string | undefined;
85
85
  severity?: "critical" | "high" | "medium" | "low" | undefined;
86
86
  counter_arguments?: string[] | undefined;
87
87
  keywords?: string[] | undefined;
88
- source_linear_issue?: string | undefined;
89
- domain?: string[] | undefined;
90
88
  why_this_matters?: string | undefined;
91
89
  action_protocol?: string[] | undefined;
92
90
  self_check_criteria?: string[] | undefined;
91
+ source_linear_issue?: string | undefined;
92
+ domain?: string[] | undefined;
93
93
  scar_type?: string | undefined;
94
94
  problem_context?: string | undefined;
95
95
  solution_approach?: string | undefined;
@@ -7,19 +7,19 @@ import { z } from "zod";
7
7
  */
8
8
  export declare const LogParamsSchema: z.ZodObject<{
9
9
  limit: z.ZodOptional<z.ZodNumber>;
10
- project: z.ZodOptional<z.ZodEnum<["orchestra_dev", "weekend_warrior"]>>;
10
+ project: z.ZodOptional<z.ZodDefault<z.ZodString>>;
11
11
  learning_type: z.ZodOptional<z.ZodEnum<["scar", "win", "pattern", "anti_pattern"]>>;
12
12
  severity: z.ZodOptional<z.ZodEnum<["critical", "high", "medium", "low"]>>;
13
13
  since: z.ZodOptional<z.ZodNumber>;
14
14
  }, "strip", z.ZodTypeAny, {
15
15
  limit?: number | undefined;
16
- project?: "orchestra_dev" | "weekend_warrior" | undefined;
16
+ project?: string | undefined;
17
17
  learning_type?: "scar" | "win" | "pattern" | "anti_pattern" | undefined;
18
18
  severity?: "critical" | "high" | "medium" | "low" | undefined;
19
19
  since?: number | undefined;
20
20
  }, {
21
21
  limit?: number | undefined;
22
- project?: "orchestra_dev" | "weekend_warrior" | undefined;
22
+ project?: string | undefined;
23
23
  learning_type?: "scar" | "win" | "pattern" | "anti_pattern" | undefined;
24
24
  severity?: "critical" | "high" | "medium" | "low" | undefined;
25
25
  since?: number | undefined;
@@ -15,17 +15,17 @@ export declare const PrepareContextParamsSchema: z.ZodObject<{
15
15
  format: z.ZodEnum<["full", "compact", "gate"]>;
16
16
  max_tokens: z.ZodOptional<z.ZodNumber>;
17
17
  agent_role: z.ZodOptional<z.ZodString>;
18
- project: z.ZodOptional<z.ZodEnum<["orchestra_dev", "weekend_warrior"]>>;
18
+ project: z.ZodOptional<z.ZodDefault<z.ZodString>>;
19
19
  }, "strip", z.ZodTypeAny, {
20
20
  format: "full" | "compact" | "gate";
21
21
  plan: string;
22
- project?: "orchestra_dev" | "weekend_warrior" | undefined;
22
+ project?: string | undefined;
23
23
  max_tokens?: number | undefined;
24
24
  agent_role?: string | undefined;
25
25
  }, {
26
26
  format: "full" | "compact" | "gate";
27
27
  plan: string;
28
- project?: "orchestra_dev" | "weekend_warrior" | undefined;
28
+ project?: string | undefined;
29
29
  max_tokens?: number | undefined;
30
30
  agent_role?: string | undefined;
31
31
  }>;
@@ -15,18 +15,18 @@ import { z } from "zod";
15
15
  */
16
16
  export declare const RecallParamsSchema: z.ZodObject<{
17
17
  plan: z.ZodString;
18
- project: z.ZodOptional<z.ZodEnum<["orchestra_dev", "weekend_warrior"]>>;
18
+ project: z.ZodOptional<z.ZodDefault<z.ZodString>>;
19
19
  match_count: z.ZodOptional<z.ZodNumber>;
20
20
  issue_id: z.ZodOptional<z.ZodString>;
21
21
  }, "strip", z.ZodTypeAny, {
22
22
  plan: string;
23
23
  match_count?: number | undefined;
24
- project?: "orchestra_dev" | "weekend_warrior" | undefined;
24
+ project?: string | undefined;
25
25
  issue_id?: string | undefined;
26
26
  }, {
27
27
  plan: string;
28
28
  match_count?: number | undefined;
29
- project?: "orchestra_dev" | "weekend_warrior" | undefined;
29
+ project?: string | undefined;
30
30
  issue_id?: string | undefined;
31
31
  }>;
32
32
  export type RecallParams = z.infer<typeof RecallParamsSchema>;
@@ -17,6 +17,7 @@ export declare const RecordScarUsageBatchParamsSchema: z.ZodObject<{
17
17
  reference_type: z.ZodEnum<["explicit", "implicit", "acknowledged", "refuted", "none"]>;
18
18
  reference_context: z.ZodString;
19
19
  execution_successful: z.ZodOptional<z.ZodBoolean>;
20
+ variant_id: z.ZodOptional<z.ZodString>;
20
21
  }, "strip", z.ZodTypeAny, {
21
22
  surfaced_at: string;
22
23
  reference_type: "explicit" | "implicit" | "acknowledged" | "refuted" | "none";
@@ -28,6 +29,7 @@ export declare const RecordScarUsageBatchParamsSchema: z.ZodObject<{
28
29
  issue_identifier?: string | undefined;
29
30
  acknowledged_at?: string | undefined;
30
31
  execution_successful?: boolean | undefined;
32
+ variant_id?: string | undefined;
31
33
  }, {
32
34
  surfaced_at: string;
33
35
  reference_type: "explicit" | "implicit" | "acknowledged" | "refuted" | "none";
@@ -39,8 +41,9 @@ export declare const RecordScarUsageBatchParamsSchema: z.ZodObject<{
39
41
  issue_identifier?: string | undefined;
40
42
  acknowledged_at?: string | undefined;
41
43
  execution_successful?: boolean | undefined;
44
+ variant_id?: string | undefined;
42
45
  }>, "many">;
43
- project: z.ZodOptional<z.ZodEnum<["orchestra_dev", "weekend_warrior"]>>;
46
+ project: z.ZodOptional<z.ZodDefault<z.ZodString>>;
44
47
  }, "strip", z.ZodTypeAny, {
45
48
  scars: {
46
49
  surfaced_at: string;
@@ -53,8 +56,9 @@ export declare const RecordScarUsageBatchParamsSchema: z.ZodObject<{
53
56
  issue_identifier?: string | undefined;
54
57
  acknowledged_at?: string | undefined;
55
58
  execution_successful?: boolean | undefined;
59
+ variant_id?: string | undefined;
56
60
  }[];
57
- project?: "orchestra_dev" | "weekend_warrior" | undefined;
61
+ project?: string | undefined;
58
62
  }, {
59
63
  scars: {
60
64
  surfaced_at: string;
@@ -67,8 +71,9 @@ export declare const RecordScarUsageBatchParamsSchema: z.ZodObject<{
67
71
  issue_identifier?: string | undefined;
68
72
  acknowledged_at?: string | undefined;
69
73
  execution_successful?: boolean | undefined;
74
+ variant_id?: string | undefined;
70
75
  }[];
71
- project?: "orchestra_dev" | "weekend_warrior" | undefined;
76
+ project?: string | undefined;
72
77
  }>;
73
78
  export type RecordScarUsageBatchParams = z.infer<typeof RecordScarUsageBatchParamsSchema>;
74
79
  /**