causantic 0.9.4 → 0.10.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 (218) hide show
  1. package/README.md +70 -56
  2. package/dist/cli/skill-templates.d.ts.map +1 -1
  3. package/dist/cli/skill-templates.js +11 -8
  4. package/dist/cli/skill-templates.js.map +1 -1
  5. package/dist/clusters/cluster-manager.d.ts +16 -0
  6. package/dist/clusters/cluster-manager.d.ts.map +1 -1
  7. package/dist/clusters/cluster-manager.js +119 -1
  8. package/dist/clusters/cluster-manager.js.map +1 -1
  9. package/dist/config/loader.d.ts +16 -0
  10. package/dist/config/loader.d.ts.map +1 -1
  11. package/dist/config/loader.js +51 -0
  12. package/dist/config/loader.js.map +1 -1
  13. package/dist/config/memory-config.d.ts +26 -0
  14. package/dist/config/memory-config.d.ts.map +1 -1
  15. package/dist/config/memory-config.js +40 -0
  16. package/dist/config/memory-config.js.map +1 -1
  17. package/dist/eval/experiments/embedding-model-comparison/run-experiment.d.ts +20 -0
  18. package/dist/eval/experiments/embedding-model-comparison/run-experiment.d.ts.map +1 -0
  19. package/dist/eval/experiments/embedding-model-comparison/run-experiment.js +289 -0
  20. package/dist/eval/experiments/embedding-model-comparison/run-experiment.js.map +1 -0
  21. package/dist/eval/experiments/index-differentiation/alignment-analysis.d.ts +53 -0
  22. package/dist/eval/experiments/index-differentiation/alignment-analysis.d.ts.map +1 -0
  23. package/dist/eval/experiments/index-differentiation/alignment-analysis.js +85 -0
  24. package/dist/eval/experiments/index-differentiation/alignment-analysis.js.map +1 -0
  25. package/dist/eval/experiments/index-differentiation/discrimination-test.d.ts +24 -0
  26. package/dist/eval/experiments/index-differentiation/discrimination-test.d.ts.map +1 -0
  27. package/dist/eval/experiments/index-differentiation/discrimination-test.js +79 -0
  28. package/dist/eval/experiments/index-differentiation/discrimination-test.js.map +1 -0
  29. package/dist/eval/experiments/index-differentiation/index.d.ts +11 -0
  30. package/dist/eval/experiments/index-differentiation/index.d.ts.map +1 -0
  31. package/dist/eval/experiments/index-differentiation/index.js +8 -0
  32. package/dist/eval/experiments/index-differentiation/index.js.map +1 -0
  33. package/dist/eval/experiments/index-differentiation/refinement-test.d.ts +32 -0
  34. package/dist/eval/experiments/index-differentiation/refinement-test.d.ts.map +1 -0
  35. package/dist/eval/experiments/index-differentiation/refinement-test.js +201 -0
  36. package/dist/eval/experiments/index-differentiation/refinement-test.js.map +1 -0
  37. package/dist/eval/experiments/index-differentiation/run-experiment.d.ts +20 -0
  38. package/dist/eval/experiments/index-differentiation/run-experiment.d.ts.map +1 -0
  39. package/dist/eval/experiments/index-differentiation/run-experiment.js +336 -0
  40. package/dist/eval/experiments/index-differentiation/run-experiment.js.map +1 -0
  41. package/dist/eval/experiments/index-differentiation/similarity-analysis.d.ts +31 -0
  42. package/dist/eval/experiments/index-differentiation/similarity-analysis.d.ts.map +1 -0
  43. package/dist/eval/experiments/index-differentiation/similarity-analysis.js +60 -0
  44. package/dist/eval/experiments/index-differentiation/similarity-analysis.js.map +1 -0
  45. package/dist/eval/experiments/index-differentiation/types.d.ts +114 -0
  46. package/dist/eval/experiments/index-differentiation/types.d.ts.map +1 -0
  47. package/dist/eval/experiments/index-differentiation/types.js +8 -0
  48. package/dist/eval/experiments/index-differentiation/types.js.map +1 -0
  49. package/dist/eval/experiments/index-vs-chunk/jeopardy-experiment.d.ts +19 -0
  50. package/dist/eval/experiments/index-vs-chunk/jeopardy-experiment.d.ts.map +1 -0
  51. package/dist/eval/experiments/index-vs-chunk/jeopardy-experiment.js +326 -0
  52. package/dist/eval/experiments/index-vs-chunk/jeopardy-experiment.js.map +1 -0
  53. package/dist/eval/experiments/index-vs-chunk/jeopardy-generator.d.ts +27 -0
  54. package/dist/eval/experiments/index-vs-chunk/jeopardy-generator.d.ts.map +1 -0
  55. package/dist/eval/experiments/index-vs-chunk/jeopardy-generator.js +154 -0
  56. package/dist/eval/experiments/index-vs-chunk/jeopardy-generator.js.map +1 -0
  57. package/dist/eval/experiments/index-vs-chunk/query-generator.d.ts +23 -0
  58. package/dist/eval/experiments/index-vs-chunk/query-generator.d.ts.map +1 -0
  59. package/dist/eval/experiments/index-vs-chunk/query-generator.js +113 -0
  60. package/dist/eval/experiments/index-vs-chunk/query-generator.js.map +1 -0
  61. package/dist/eval/experiments/index-vs-chunk/run-experiment.d.ts +17 -0
  62. package/dist/eval/experiments/index-vs-chunk/run-experiment.d.ts.map +1 -0
  63. package/dist/eval/experiments/index-vs-chunk/run-experiment.js +331 -0
  64. package/dist/eval/experiments/index-vs-chunk/run-experiment.js.map +1 -0
  65. package/dist/eval/experiments/index-vs-chunk/types.d.ts +71 -0
  66. package/dist/eval/experiments/index-vs-chunk/types.d.ts.map +1 -0
  67. package/dist/eval/experiments/index-vs-chunk/types.js +8 -0
  68. package/dist/eval/experiments/index-vs-chunk/types.js.map +1 -0
  69. package/dist/eval/experiments/pipeline-dropout/run-experiment.d.ts +18 -0
  70. package/dist/eval/experiments/pipeline-dropout/run-experiment.d.ts.map +1 -0
  71. package/dist/eval/experiments/pipeline-dropout/run-experiment.js +355 -0
  72. package/dist/eval/experiments/pipeline-dropout/run-experiment.js.map +1 -0
  73. package/dist/eval/experiments/rescorer-ceiling/analyze-misses.d.ts +17 -0
  74. package/dist/eval/experiments/rescorer-ceiling/analyze-misses.d.ts.map +1 -0
  75. package/dist/eval/experiments/rescorer-ceiling/analyze-misses.js +247 -0
  76. package/dist/eval/experiments/rescorer-ceiling/analyze-misses.js.map +1 -0
  77. package/dist/eval/experiments/rescorer-ceiling/benchmark-rescorers.d.ts +18 -0
  78. package/dist/eval/experiments/rescorer-ceiling/benchmark-rescorers.d.ts.map +1 -0
  79. package/dist/eval/experiments/rescorer-ceiling/benchmark-rescorers.js +457 -0
  80. package/dist/eval/experiments/rescorer-ceiling/benchmark-rescorers.js.map +1 -0
  81. package/dist/eval/experiments/rescorer-ceiling/run-experiment.d.ts +16 -0
  82. package/dist/eval/experiments/rescorer-ceiling/run-experiment.d.ts.map +1 -0
  83. package/dist/eval/experiments/rescorer-ceiling/run-experiment.js +226 -0
  84. package/dist/eval/experiments/rescorer-ceiling/run-experiment.js.map +1 -0
  85. package/dist/index-entries/index-generator.d.ts +74 -0
  86. package/dist/index-entries/index-generator.d.ts.map +1 -0
  87. package/dist/index-entries/index-generator.js +321 -0
  88. package/dist/index-entries/index-generator.js.map +1 -0
  89. package/dist/index-entries/index-refresher.d.ts +54 -0
  90. package/dist/index-entries/index-refresher.d.ts.map +1 -0
  91. package/dist/index-entries/index-refresher.js +203 -0
  92. package/dist/index-entries/index-refresher.js.map +1 -0
  93. package/dist/index-entries/index.d.ts +6 -0
  94. package/dist/index-entries/index.d.ts.map +1 -0
  95. package/dist/index-entries/index.js +6 -0
  96. package/dist/index-entries/index.js.map +1 -0
  97. package/dist/index.d.ts +4 -0
  98. package/dist/index.d.ts.map +1 -1
  99. package/dist/index.js +5 -0
  100. package/dist/index.js.map +1 -1
  101. package/dist/ingest/entity-extractor.d.ts +23 -0
  102. package/dist/ingest/entity-extractor.d.ts.map +1 -0
  103. package/dist/ingest/entity-extractor.js +233 -0
  104. package/dist/ingest/entity-extractor.js.map +1 -0
  105. package/dist/ingest/index-entry-hook.d.ts +15 -0
  106. package/dist/ingest/index-entry-hook.d.ts.map +1 -0
  107. package/dist/ingest/index-entry-hook.js +84 -0
  108. package/dist/ingest/index-entry-hook.js.map +1 -0
  109. package/dist/ingest/ingest-session.d.ts.map +1 -1
  110. package/dist/ingest/ingest-session.js +89 -17
  111. package/dist/ingest/ingest-session.js.map +1 -1
  112. package/dist/ingest/session-state.d.ts +49 -0
  113. package/dist/ingest/session-state.d.ts.map +1 -0
  114. package/dist/ingest/session-state.js +146 -0
  115. package/dist/ingest/session-state.js.map +1 -0
  116. package/dist/maintenance/scheduler.d.ts.map +1 -1
  117. package/dist/maintenance/scheduler.js +25 -0
  118. package/dist/maintenance/scheduler.js.map +1 -1
  119. package/dist/maintenance/tasks/backfill-index.d.ts +27 -0
  120. package/dist/maintenance/tasks/backfill-index.d.ts.map +1 -0
  121. package/dist/maintenance/tasks/backfill-index.js +44 -0
  122. package/dist/maintenance/tasks/backfill-index.js.map +1 -0
  123. package/dist/mcp/services.d.ts.map +1 -1
  124. package/dist/mcp/services.js +9 -0
  125. package/dist/mcp/services.js.map +1 -1
  126. package/dist/mcp/tools.d.ts +4 -0
  127. package/dist/mcp/tools.d.ts.map +1 -1
  128. package/dist/mcp/tools.js +113 -7
  129. package/dist/mcp/tools.js.map +1 -1
  130. package/dist/models/embedder.js +2 -2
  131. package/dist/models/embedder.js.map +1 -1
  132. package/dist/models/model-registry.d.ts +2 -0
  133. package/dist/models/model-registry.d.ts.map +1 -1
  134. package/dist/models/model-registry.js +15 -0
  135. package/dist/models/model-registry.js.map +1 -1
  136. package/dist/repomap/cache.d.ts +58 -0
  137. package/dist/repomap/cache.d.ts.map +1 -0
  138. package/dist/repomap/cache.js +101 -0
  139. package/dist/repomap/cache.js.map +1 -0
  140. package/dist/repomap/graph.d.ts +54 -0
  141. package/dist/repomap/graph.d.ts.map +1 -0
  142. package/dist/repomap/graph.js +113 -0
  143. package/dist/repomap/graph.js.map +1 -0
  144. package/dist/repomap/index.d.ts +83 -0
  145. package/dist/repomap/index.d.ts.map +1 -0
  146. package/dist/repomap/index.js +99 -0
  147. package/dist/repomap/index.js.map +1 -0
  148. package/dist/repomap/parser.d.ts +43 -0
  149. package/dist/repomap/parser.d.ts.map +1 -0
  150. package/dist/repomap/parser.js +1043 -0
  151. package/dist/repomap/parser.js.map +1 -0
  152. package/dist/repomap/regex-parser.d.ts +24 -0
  153. package/dist/repomap/regex-parser.d.ts.map +1 -0
  154. package/dist/repomap/regex-parser.js +214 -0
  155. package/dist/repomap/regex-parser.js.map +1 -0
  156. package/dist/repomap/renderer.d.ts +40 -0
  157. package/dist/repomap/renderer.d.ts.map +1 -0
  158. package/dist/repomap/renderer.js +163 -0
  159. package/dist/repomap/renderer.js.map +1 -0
  160. package/dist/repomap/scanner.d.ts +32 -0
  161. package/dist/repomap/scanner.d.ts.map +1 -0
  162. package/dist/repomap/scanner.js +190 -0
  163. package/dist/repomap/scanner.js.map +1 -0
  164. package/dist/retrieval/chain-assembler.d.ts.map +1 -1
  165. package/dist/retrieval/chain-assembler.js +22 -3
  166. package/dist/retrieval/chain-assembler.js.map +1 -1
  167. package/dist/retrieval/context-assembler.d.ts +1 -1
  168. package/dist/retrieval/context-assembler.d.ts.map +1 -1
  169. package/dist/retrieval/index.d.ts +2 -0
  170. package/dist/retrieval/index.d.ts.map +1 -1
  171. package/dist/retrieval/index.js +2 -0
  172. package/dist/retrieval/index.js.map +1 -1
  173. package/dist/retrieval/mmr.d.ts +1 -0
  174. package/dist/retrieval/mmr.d.ts.map +1 -1
  175. package/dist/retrieval/mmr.js +35 -1
  176. package/dist/retrieval/mmr.js.map +1 -1
  177. package/dist/retrieval/rrf.d.ts +1 -1
  178. package/dist/retrieval/rrf.d.ts.map +1 -1
  179. package/dist/retrieval/rrf.js +1 -1
  180. package/dist/retrieval/rrf.js.map +1 -1
  181. package/dist/retrieval/search-assembler.d.ts +11 -2
  182. package/dist/retrieval/search-assembler.d.ts.map +1 -1
  183. package/dist/retrieval/search-assembler.js +305 -81
  184. package/dist/retrieval/search-assembler.js.map +1 -1
  185. package/dist/retrieval/session-reconstructor.d.ts +36 -0
  186. package/dist/retrieval/session-reconstructor.d.ts.map +1 -1
  187. package/dist/retrieval/session-reconstructor.js +128 -0
  188. package/dist/retrieval/session-reconstructor.js.map +1 -1
  189. package/dist/storage/db.d.ts.map +1 -1
  190. package/dist/storage/db.js +24 -0
  191. package/dist/storage/db.js.map +1 -1
  192. package/dist/storage/entity-store.d.ts +48 -0
  193. package/dist/storage/entity-store.d.ts.map +1 -0
  194. package/dist/storage/entity-store.js +111 -0
  195. package/dist/storage/entity-store.js.map +1 -0
  196. package/dist/storage/index-entry-store.d.ts +71 -0
  197. package/dist/storage/index-entry-store.d.ts.map +1 -0
  198. package/dist/storage/index-entry-store.js +277 -0
  199. package/dist/storage/index-entry-store.js.map +1 -0
  200. package/dist/storage/index.d.ts +5 -2
  201. package/dist/storage/index.d.ts.map +1 -1
  202. package/dist/storage/index.js +5 -1
  203. package/dist/storage/index.js.map +1 -1
  204. package/dist/storage/migrations.d.ts.map +1 -1
  205. package/dist/storage/migrations.js +147 -0
  206. package/dist/storage/migrations.js.map +1 -1
  207. package/dist/storage/schema.sql +104 -2
  208. package/dist/storage/session-state-store.d.ts +61 -0
  209. package/dist/storage/session-state-store.d.ts.map +1 -0
  210. package/dist/storage/session-state-store.js +157 -0
  211. package/dist/storage/session-state-store.js.map +1 -0
  212. package/dist/storage/types.d.ts +50 -0
  213. package/dist/storage/types.d.ts.map +1 -1
  214. package/dist/storage/vector-store.d.ts +17 -2
  215. package/dist/storage/vector-store.d.ts.map +1 -1
  216. package/dist/storage/vector-store.js +104 -36
  217. package/dist/storage/vector-store.js.map +1 -1
  218. package/package.json +4 -2
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Hook for generating semantic index entries during ingestion.
3
+ *
4
+ * Called after chunks are stored and embedded. Generates index entries
5
+ * (LLM or heuristic) and embeds the descriptions into the index vector store.
6
+ */
7
+ import { getConfig } from '../config/memory-config.js';
8
+ import { insertIndexEntries } from '../storage/index-entry-store.js';
9
+ import { indexVectorStore } from '../storage/vector-store.js';
10
+ import { Embedder } from '../models/embedder.js';
11
+ import { getModel } from '../models/model-registry.js';
12
+ import { generateLLMEntries, generateHeuristicEntry } from '../index-entries/index-generator.js';
13
+ import { createLogger } from '../utils/logger.js';
14
+ const log = createLogger('index-entry-hook');
15
+ /** Shared embedder for index entry descriptions. */
16
+ let sharedIndexEmbedder = null;
17
+ let sharedIndexEmbedderModelId = null;
18
+ async function getIndexEmbedder(modelId) {
19
+ if (!sharedIndexEmbedder || sharedIndexEmbedderModelId !== modelId) {
20
+ if (sharedIndexEmbedder) {
21
+ await sharedIndexEmbedder.dispose();
22
+ }
23
+ sharedIndexEmbedder = new Embedder();
24
+ await sharedIndexEmbedder.load(getModel(modelId));
25
+ sharedIndexEmbedderModelId = modelId;
26
+ }
27
+ return sharedIndexEmbedder;
28
+ }
29
+ /**
30
+ * Generate and store index entries for newly ingested chunks.
31
+ *
32
+ * This is called from processMainSession() after chunks are stored and embedded.
33
+ * It's a best-effort operation — failures are logged but don't block ingestion.
34
+ */
35
+ export async function generateIndexEntriesForChunks(chunks, sessionSlug, _chunkEmbeddings, _chunkIds, embeddingModel) {
36
+ const config = getConfig();
37
+ if (!config.semanticIndex.enabled)
38
+ return;
39
+ if (chunks.length === 0)
40
+ return;
41
+ try {
42
+ // Generate descriptions (LLM primary, heuristic fallback)
43
+ let entries;
44
+ try {
45
+ entries = await generateLLMEntries(chunks, sessionSlug);
46
+ }
47
+ catch {
48
+ log.debug('LLM generation unavailable, using heuristic');
49
+ entries = chunks.map((chunk) => generateHeuristicEntry(chunk, sessionSlug));
50
+ }
51
+ // Filter out empty descriptions
52
+ const validEntries = entries.filter((e) => e.description.trim().length > 0);
53
+ if (validEntries.length === 0)
54
+ return;
55
+ // Insert entries into database
56
+ const entryIds = insertIndexEntries(validEntries);
57
+ // Embed descriptions into index vector store
58
+ indexVectorStore.setModelId(embeddingModel);
59
+ const embedder = await getIndexEmbedder(embeddingModel);
60
+ const embeddings = [];
61
+ for (let i = 0; i < validEntries.length; i++) {
62
+ const result = await embedder.embed(validEntries[i].description, false);
63
+ embeddings.push({ id: entryIds[i], embedding: result.embedding });
64
+ }
65
+ await indexVectorStore.insertBatch(embeddings);
66
+ const methodCounts = {};
67
+ for (const e of validEntries) {
68
+ methodCounts[e.generationMethod] = (methodCounts[e.generationMethod] ?? 0) + 1;
69
+ }
70
+ log.debug('Generated index entries', {
71
+ sessionSlug,
72
+ count: validEntries.length,
73
+ ...methodCounts,
74
+ });
75
+ }
76
+ catch (error) {
77
+ // Non-fatal: index generation failure should not block ingestion
78
+ log.warn('Failed to generate index entries', {
79
+ sessionSlug,
80
+ error: error.message,
81
+ });
82
+ }
83
+ }
84
+ //# sourceMappingURL=index-entry-hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-entry-hook.js","sourceRoot":"","sources":["../../src/ingest/index-entry-hook.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ingest-session.d.ts","sourceRoot":"","sources":["../../src/ingest/ingest-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAaH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAyBjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAQ,MAAM,oBAAoB,CAAC;AAStD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8CAA8C;IAC9C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iDAAiD;IACjD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uDAAuD;IACvD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,0EAA0E;IAC1E,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,0CAA0C;IAC1C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,UAAU,CAAC,EAAE,kBAAkB,GAAG,gBAAgB,GAAG,cAAc,CAAC;IACpE,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,4CAA4C;IAC5C,aAAa,EAAE,OAAO,CAAC;CACxB;AA4BD;;GAEG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAkWvB;AA6TD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAarD"}
1
+ {"version":3,"file":"ingest-session.d.ts","sourceRoot":"","sources":["../../src/ingest/ingest-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAaH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAyBjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAQ,MAAM,oBAAoB,CAAC;AAetD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8CAA8C;IAC9C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iDAAiD;IACjD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uDAAuD;IACvD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,0EAA0E;IAC1E,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,0CAA0C;IAC1C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,UAAU,CAAC,EAAE,kBAAkB,GAAG,gBAAgB,GAAG,cAAc,CAAC;IACpE,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,4CAA4C;IAC5C,aAAa,EAAE,OAAO,CAAC;CACxB;AA4BD;;GAEG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAmXvB;AAiYD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAarD"}
@@ -26,6 +26,12 @@ import { getCheckpoint, saveCheckpoint } from '../storage/checkpoint-store.js';
26
26
  import { computeContentHash, getCachedEmbeddingsBatch, cacheEmbeddingsBatch, } from '../storage/embedding-cache.js';
27
27
  import { createLogger } from '../utils/logger.js';
28
28
  import { resolveCanonicalProjectPath } from '../utils/project-path.js';
29
+ import { generateIndexEntriesForChunks } from './index-entry-hook.js';
30
+ import { extractSessionState } from './session-state.js';
31
+ import { extractEntities } from './entity-extractor.js';
32
+ import { upsertSessionState } from '../storage/session-state-store.js';
33
+ import { resolveEntity, insertEntityMention } from '../storage/entity-store.js';
34
+ import { loadConfig, toRuntimeConfig } from '../config/loader.js';
29
35
  const log = createLogger('ingest-session');
30
36
  /** Threshold for streaming file parsing (10MB) */
31
37
  const STREAMING_THRESHOLD_BYTES = 10 * 1024 * 1024;
@@ -114,10 +120,15 @@ export async function ingestSession(sessionPath, options = {}) {
114
120
  skipReason: startTurnIndex > 0 ? 'no_new_turns' : undefined,
115
121
  });
116
122
  }
117
- // Set up embedding single embedder, sequential inference
118
- const embedder = options.embedder ?? new Embedder();
119
- const needsDispose = !options.embedder;
123
+ // Determine whether to embed chunks during ingestion
124
+ const runtimeConfig = toRuntimeConfig(loadConfig());
125
+ const shouldEmbed = runtimeConfig.embeddingEager;
126
+ // Set up embedding — single embedder, sequential inference (only when eager)
127
+ const embedder = shouldEmbed ? (options.embedder ?? new Embedder()) : null;
128
+ const needsDispose = shouldEmbed && !options.embedder;
120
129
  const embedAllFn = async (texts) => {
130
+ if (!embedder)
131
+ return texts.map(() => []);
121
132
  const results = [];
122
133
  for (const t of texts) {
123
134
  const r = await embedder.embed(t, false);
@@ -177,7 +188,7 @@ export async function ingestSession(sessionPath, options = {}) {
177
188
  }
178
189
  // Process regular sub-agents through existing brief/debrief pipeline
179
190
  for (const subAgent of regularSubAgents) {
180
- const result = await processSubAgent(subAgent, info.sessionId, projectSlug, projectPath, maxTokensPerChunk, includeThinking, embedAllFn, embeddingModel, useEmbeddingCache);
191
+ const result = await processSubAgent(subAgent, info.sessionId, projectSlug, projectPath, maxTokensPerChunk, includeThinking, embedAllFn, embeddingModel, useEmbeddingCache, shouldEmbed);
181
192
  if (!result)
182
193
  continue;
183
194
  totalChunkCount += result.chunkCount;
@@ -213,11 +224,13 @@ export async function ingestSession(sessionPath, options = {}) {
213
224
  teamName: topology.teamName ?? undefined,
214
225
  }));
215
226
  const subChunkIds = insertChunks(subChunkInputs);
216
- // Embed
217
- const { embeddings: subEmbeddings, cacheHits: ch, cacheMisses: cm, } = await embedChunksWithCache(subChunks, embedAllFn, embeddingModel, useEmbeddingCache);
218
- totalCacheHits += ch;
219
- totalCacheMisses += cm;
220
- await vectorStore.insertBatch(subChunkIds.map((id, i) => ({ id, embedding: subEmbeddings[i] })));
227
+ // Embed (only when eager embedding is enabled)
228
+ if (shouldEmbed) {
229
+ const { embeddings: subEmbeddings, cacheHits: ch, cacheMisses: cm, } = await embedChunksWithCache(subChunks, embedAllFn, embeddingModel, useEmbeddingCache);
230
+ totalCacheHits += ch;
231
+ totalCacheMisses += cm;
232
+ await vectorStore.insertBatch(subChunkIds.map((id, i) => ({ id, embedding: subEmbeddings[i] })));
233
+ }
221
234
  // Create within-chain edges
222
235
  const subTransitions = detectCausalTransitions(subChunks);
223
236
  const subEdgeResult = await createEdgesFromTransitions(subTransitions, subChunkIds);
@@ -256,11 +269,14 @@ export async function ingestSession(sessionPath, options = {}) {
256
269
  fileMtime,
257
270
  subAgentData,
258
271
  team: { topology, agentData: teamAgentData },
272
+ shouldEmbed,
259
273
  });
260
274
  totalChunkCount += mainResult?.chunkCount ?? 0;
261
275
  totalEdgeCount += mainResult?.edgeCount ?? 0;
262
276
  totalCacheHits += mainResult?.cacheHits ?? 0;
263
277
  totalCacheMisses += mainResult?.cacheMisses ?? 0;
278
+ // Extract and store session state
279
+ saveSessionState(turns, info.sessionId, projectSlug, projectPath);
264
280
  return {
265
281
  sessionId: info.sessionId,
266
282
  sessionSlug: projectSlug,
@@ -280,7 +296,7 @@ export async function ingestSession(sessionPath, options = {}) {
280
296
  }
281
297
  // Non-team session: process all active sub-agents through existing pipeline
282
298
  for (const subAgent of activeSubAgents) {
283
- const result = await processSubAgent(subAgent, info.sessionId, projectSlug, projectPath, maxTokensPerChunk, includeThinking, embedAllFn, embeddingModel, useEmbeddingCache);
299
+ const result = await processSubAgent(subAgent, info.sessionId, projectSlug, projectPath, maxTokensPerChunk, includeThinking, embedAllFn, embeddingModel, useEmbeddingCache, shouldEmbed);
284
300
  if (!result)
285
301
  continue;
286
302
  totalChunkCount += result.chunkCount;
@@ -308,11 +324,14 @@ export async function ingestSession(sessionPath, options = {}) {
308
324
  fileMtime,
309
325
  subAgentData,
310
326
  team: null,
327
+ shouldEmbed,
311
328
  });
312
329
  totalChunkCount += mainResult?.chunkCount ?? 0;
313
330
  totalEdgeCount += mainResult?.edgeCount ?? 0;
314
331
  totalCacheHits += mainResult?.cacheHits ?? 0;
315
332
  totalCacheMisses += mainResult?.cacheMisses ?? 0;
333
+ // Extract and store session state
334
+ saveSessionState(turns, info.sessionId, projectSlug, projectPath);
316
335
  return {
317
336
  sessionId: info.sessionId,
318
337
  sessionSlug: projectSlug,
@@ -342,7 +361,7 @@ export async function ingestSession(sessionPath, options = {}) {
342
361
  * Returns null if no chunks were produced.
343
362
  */
344
363
  async function processMainSession(params) {
345
- const { turnsToProcess, allTurns, sessionId, projectSlug, projectPath, maxTokensPerChunk, includeThinking, embedAllFn, embeddingModel, useEmbeddingCache, useIncrementalIngestion, linkCrossSessions, startTurnIndex, fileMtime, subAgentData, team, } = params;
364
+ const { turnsToProcess, allTurns, sessionId, projectSlug, projectPath, maxTokensPerChunk, includeThinking, embedAllFn, embeddingModel, useEmbeddingCache, useIncrementalIngestion, linkCrossSessions, startTurnIndex, fileMtime, subAgentData, team, shouldEmbed = true, } = params;
346
365
  // Chunk main session (only new turns)
347
366
  const mainChunks = chunkTurns(turnsToProcess, {
348
367
  maxTokens: maxTokensPerChunk,
@@ -359,9 +378,23 @@ async function processMainSession(params) {
359
378
  projectPath,
360
379
  }));
361
380
  const mainChunkIds = insertChunks(mainChunkInputs);
362
- // Embed main chunks
363
- const { embeddings: mainEmbeddings, cacheHits, cacheMisses, } = await embedChunksWithCache(mainChunks, embedAllFn, embeddingModel, useEmbeddingCache);
364
- await vectorStore.insertBatch(mainChunkIds.map((id, i) => ({ id, embedding: mainEmbeddings[i] })));
381
+ // Embed main chunks (only when eager embedding is enabled)
382
+ let cacheHits = 0;
383
+ let cacheMisses = 0;
384
+ if (shouldEmbed) {
385
+ const embedResult = await embedChunksWithCache(mainChunks, embedAllFn, embeddingModel, useEmbeddingCache);
386
+ cacheHits = embedResult.cacheHits;
387
+ cacheMisses = embedResult.cacheMisses;
388
+ await vectorStore.insertBatch(mainChunkIds.map((id, i) => ({ id, embedding: embedResult.embeddings[i] })));
389
+ // Generate semantic index entries for the new chunks
390
+ await generateIndexEntriesForChunks(mainChunks.map((c, i) => ({
391
+ id: mainChunkIds[i],
392
+ sessionSlug: projectSlug,
393
+ startTime: c.metadata.startTime,
394
+ content: c.text,
395
+ approxTokens: c.metadata.approxTokens,
396
+ })), projectSlug, embedResult.embeddings, mainChunkIds, embeddingModel);
397
+ }
365
398
  // Create main intra-session edges
366
399
  const mainTransitions = detectCausalTransitions(mainChunks);
367
400
  const mainEdgeResult = await createEdgesFromTransitions(mainTransitions, mainChunkIds);
@@ -389,6 +422,13 @@ async function processMainSession(params) {
389
422
  subAgentEdges += 1;
390
423
  }
391
424
  }
425
+ // Entity extraction (best-effort, non-blocking)
426
+ try {
427
+ saveEntityMentions(mainChunks.map((c, i) => ({ id: mainChunkIds[i], content: c.text })), projectSlug);
428
+ }
429
+ catch (error) {
430
+ log.warn('Failed to extract entities', { error: String(error) });
431
+ }
392
432
  // Team edges (team sessions only)
393
433
  if (team && team.agentData.size > 0) {
394
434
  const mainChunkInputsForEdges = mainChunks.map((c, i) => ({
@@ -428,11 +468,23 @@ async function processMainSession(params) {
428
468
  mainChunkIds,
429
469
  };
430
470
  }
471
+ /**
472
+ * Extract and store entity mentions from chunks. Best-effort — failures are logged but don't block ingestion.
473
+ */
474
+ function saveEntityMentions(chunks, projectSlug) {
475
+ for (const chunk of chunks) {
476
+ const mentions = extractEntities(chunk.content);
477
+ for (const mention of mentions) {
478
+ const entityId = resolveEntity(mention.normalizedName, mention.entityType, mention.mentionForm, projectSlug);
479
+ insertEntityMention(chunk.id, entityId, mention.mentionForm, mention.confidence);
480
+ }
481
+ }
482
+ }
431
483
  /**
432
484
  * Process a single sub-agent file: parse, chunk, embed, store, create edges.
433
485
  * Extracted to reduce duplication between team and non-team paths.
434
486
  */
435
- async function processSubAgent(subAgent, sessionId, sessionSlug, projectPath, maxTokensPerChunk, includeThinking, embedAllFn, embeddingModel, useEmbeddingCache) {
487
+ async function processSubAgent(subAgent, sessionId, sessionSlug, projectPath, maxTokensPerChunk, includeThinking, embedAllFn, embeddingModel, useEmbeddingCache, shouldEmbed = true) {
436
488
  const subMessages = await readSessionMessages(subAgent.filePath, {
437
489
  includeSidechains: true,
438
490
  });
@@ -449,8 +501,14 @@ async function processSubAgent(subAgent, sessionId, sessionSlug, projectPath, ma
449
501
  return null;
450
502
  const subChunkInputs = subChunks.map((chunk) => ({ ...chunkToInput(chunk), projectPath }));
451
503
  const subChunkIds = insertChunks(subChunkInputs);
452
- const { embeddings: subEmbeddings, cacheHits, cacheMisses, } = await embedChunksWithCache(subChunks, embedAllFn, embeddingModel, useEmbeddingCache);
453
- await vectorStore.insertBatch(subChunkIds.map((id, i) => ({ id, embedding: subEmbeddings[i] })));
504
+ let cacheHits = 0;
505
+ let cacheMisses = 0;
506
+ if (shouldEmbed) {
507
+ const embedResult = await embedChunksWithCache(subChunks, embedAllFn, embeddingModel, useEmbeddingCache);
508
+ cacheHits = embedResult.cacheHits;
509
+ cacheMisses = embedResult.cacheMisses;
510
+ await vectorStore.insertBatch(subChunkIds.map((id, i) => ({ id, embedding: embedResult.embeddings[i] })));
511
+ }
454
512
  const subTransitions = detectCausalTransitions(subChunks);
455
513
  const subEdgeResult = await createEdgesFromTransitions(subTransitions, subChunkIds);
456
514
  return {
@@ -538,4 +596,18 @@ export function chunkToInput(chunk) {
538
596
  approxTokens: chunk.metadata.approxTokens,
539
597
  };
540
598
  }
599
+ /**
600
+ * Extract and persist session state from the full turn list.
601
+ * Non-critical — errors are logged but don't fail ingestion.
602
+ */
603
+ function saveSessionState(turns, sessionId, projectSlug, projectPath) {
604
+ try {
605
+ const state = extractSessionState(turns);
606
+ const endedAt = turns.length > 0 ? turns[turns.length - 1].startTime : new Date().toISOString();
607
+ upsertSessionState(sessionId, projectSlug, projectPath || null, endedAt, state);
608
+ }
609
+ catch (error) {
610
+ log.warn('Failed to extract session state', { sessionId, error: String(error) });
611
+ }
612
+ }
541
613
  //# sourceMappingURL=ingest-session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ingest-session.js","sourceRoot":"","sources":["../../src/ingest/ingest-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ingest-session.js","sourceRoot":"","sources":["../../src/ingest/ingest-session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Session state extraction from transcripts.
3
+ *
4
+ * Deterministically extracts structured state from tool_use blocks:
5
+ * - Files touched: paths from Read/Write/Edit/Glob tool calls
6
+ * - Errors: tool_result blocks with is_error: true
7
+ * - Outcomes: git commit/push/gh pr create from Bash tool calls
8
+ * - Tasks: TaskCreate/TaskUpdate tool calls
9
+ */
10
+ import type { Turn } from '../parser/types.js';
11
+ /** An error encountered during a session. */
12
+ export interface SessionError {
13
+ /** The tool that produced the error. */
14
+ tool: string;
15
+ /** The error message (truncated). */
16
+ message: string;
17
+ /** Brief resolution attempt from next assistant message, if any. */
18
+ resolution?: string;
19
+ }
20
+ /** A task created or updated during a session. */
21
+ export interface SessionTask {
22
+ /** Task description/subject. */
23
+ description: string;
24
+ /** Last known status. */
25
+ status: string;
26
+ }
27
+ /** Extracted session state from a transcript. */
28
+ export interface SessionState {
29
+ /** Files that were read, written, or edited. Deduplicated. */
30
+ filesTouched: string[];
31
+ /** Errors encountered during the session. */
32
+ errors: SessionError[];
33
+ /** Key outcomes (commits, pushes, PRs created). */
34
+ outcomes: string[];
35
+ /** Tasks created or updated. */
36
+ tasks: SessionTask[];
37
+ }
38
+ /**
39
+ * Extract structured session state from parsed turns.
40
+ *
41
+ * This is a deterministic extraction — no LLM calls needed.
42
+ * Walks through all turns and their tool exchanges to collect:
43
+ * - File paths from Read/Write/Edit/Glob calls
44
+ * - Errors from failed tool results
45
+ * - Git/publish outcomes from Bash commands
46
+ * - Tasks from TaskCreate/TaskUpdate calls
47
+ */
48
+ export declare function extractSessionState(turns: Turn[]): SessionState;
49
+ //# sourceMappingURL=session-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-state.d.ts","sourceRoot":"","sources":["../../src/ingest/session-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAgB,MAAM,oBAAoB,CAAC;AAE7D,6CAA6C;AAC7C,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,kDAAkD;AAClD,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,iDAAiD;AACjD,MAAM,WAAW,YAAY;IAC3B,8DAA8D;IAC9D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,6CAA6C;IAC7C,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,mDAAmD;IACnD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gCAAgC;IAChC,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAwED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,CA2E/D"}
@@ -0,0 +1,146 @@
1
+ /**
2
+ * Session state extraction from transcripts.
3
+ *
4
+ * Deterministically extracts structured state from tool_use blocks:
5
+ * - Files touched: paths from Read/Write/Edit/Glob tool calls
6
+ * - Errors: tool_result blocks with is_error: true
7
+ * - Outcomes: git commit/push/gh pr create from Bash tool calls
8
+ * - Tasks: TaskCreate/TaskUpdate tool calls
9
+ */
10
+ /** Max length for error messages to avoid bloating storage. */
11
+ const MAX_ERROR_MESSAGE_LENGTH = 200;
12
+ /** Max length for resolution text. */
13
+ const MAX_RESOLUTION_LENGTH = 150;
14
+ /** Tools that touch files. */
15
+ const FILE_TOOLS = new Set(['Read', 'Write', 'Edit', 'Glob', 'NotebookEdit']);
16
+ /** Patterns that indicate key git outcomes in Bash commands. */
17
+ const OUTCOME_PATTERNS = [
18
+ { pattern: /git\s+commit\b/, label: 'git commit' },
19
+ { pattern: /git\s+push\b/, label: 'git push' },
20
+ { pattern: /gh\s+pr\s+create\b/, label: 'gh pr create' },
21
+ { pattern: /gh\s+pr\s+merge\b/, label: 'gh pr merge' },
22
+ { pattern: /npm\s+publish\b/, label: 'npm publish' },
23
+ ];
24
+ /**
25
+ * Extract file paths from a tool exchange's input.
26
+ */
27
+ function extractFilePaths(exchange) {
28
+ const paths = [];
29
+ const input = exchange.input;
30
+ // Read, Write, Edit, NotebookEdit — file_path parameter
31
+ if (typeof input.file_path === 'string' && input.file_path) {
32
+ paths.push(input.file_path);
33
+ }
34
+ // Glob — pattern + path (directory)
35
+ if (typeof input.pattern === 'string' && typeof input.path === 'string' && input.path) {
36
+ paths.push(input.path);
37
+ }
38
+ return paths;
39
+ }
40
+ /**
41
+ * Extract outcome labels from a Bash command string.
42
+ */
43
+ function extractOutcomes(command) {
44
+ const outcomes = [];
45
+ for (const { pattern, label } of OUTCOME_PATTERNS) {
46
+ if (pattern.test(command)) {
47
+ outcomes.push(label);
48
+ }
49
+ }
50
+ return outcomes;
51
+ }
52
+ /**
53
+ * Extract a brief resolution from assistant text blocks following an error.
54
+ */
55
+ function extractResolution(turn, _exchangeIndex) {
56
+ // Look at text blocks in the same turn after this tool exchange
57
+ // The assistant's response after an error typically addresses it
58
+ const textBlocks = turn.assistantBlocks.filter((b) => b.type === 'text');
59
+ if (textBlocks.length === 0)
60
+ return undefined;
61
+ // Use the last text block as the resolution attempt
62
+ const lastText = textBlocks[textBlocks.length - 1];
63
+ if (lastText.type !== 'text')
64
+ return undefined;
65
+ const text = lastText.text.trim();
66
+ if (!text)
67
+ return undefined;
68
+ return text.length > MAX_RESOLUTION_LENGTH ? text.slice(0, MAX_RESOLUTION_LENGTH) + '...' : text;
69
+ }
70
+ /**
71
+ * Extract structured session state from parsed turns.
72
+ *
73
+ * This is a deterministic extraction — no LLM calls needed.
74
+ * Walks through all turns and their tool exchanges to collect:
75
+ * - File paths from Read/Write/Edit/Glob calls
76
+ * - Errors from failed tool results
77
+ * - Git/publish outcomes from Bash commands
78
+ * - Tasks from TaskCreate/TaskUpdate calls
79
+ */
80
+ export function extractSessionState(turns) {
81
+ const fileSet = new Set();
82
+ const errors = [];
83
+ const outcomeSet = new Set();
84
+ const taskMap = new Map();
85
+ for (const turn of turns) {
86
+ for (let i = 0; i < turn.toolExchanges.length; i++) {
87
+ const exchange = turn.toolExchanges[i];
88
+ // 1. File paths
89
+ if (FILE_TOOLS.has(exchange.toolName)) {
90
+ for (const path of extractFilePaths(exchange)) {
91
+ fileSet.add(path);
92
+ }
93
+ }
94
+ // 2. Errors
95
+ if (exchange.isError && exchange.result) {
96
+ const message = exchange.result.length > MAX_ERROR_MESSAGE_LENGTH
97
+ ? exchange.result.slice(0, MAX_ERROR_MESSAGE_LENGTH) + '...'
98
+ : exchange.result;
99
+ errors.push({
100
+ tool: exchange.toolName,
101
+ message,
102
+ resolution: extractResolution(turn, i),
103
+ });
104
+ }
105
+ // 3. Bash outcomes
106
+ if (exchange.toolName === 'Bash' || exchange.toolName === 'bash') {
107
+ const command = typeof exchange.input.command === 'string' ? exchange.input.command : '';
108
+ for (const outcome of extractOutcomes(command)) {
109
+ outcomeSet.add(outcome);
110
+ }
111
+ }
112
+ // 4. Tasks
113
+ if (exchange.toolName === 'TaskCreate') {
114
+ const subject = typeof exchange.input.subject === 'string' ? exchange.input.subject : 'Unknown task';
115
+ const id = exchange.toolUseId;
116
+ taskMap.set(id, { description: subject, status: 'pending' });
117
+ }
118
+ if (exchange.toolName === 'TaskUpdate') {
119
+ const taskId = typeof exchange.input.taskId === 'string' ? exchange.input.taskId : '';
120
+ const status = typeof exchange.input.status === 'string' ? exchange.input.status : undefined;
121
+ const subject = typeof exchange.input.subject === 'string' ? exchange.input.subject : undefined;
122
+ // Update existing task or create placeholder
123
+ const existing = taskMap.get(taskId);
124
+ if (existing) {
125
+ if (status)
126
+ existing.status = status;
127
+ if (subject)
128
+ existing.description = subject;
129
+ }
130
+ else if (subject || status) {
131
+ taskMap.set(taskId, {
132
+ description: subject ?? 'Updated task',
133
+ status: status ?? 'unknown',
134
+ });
135
+ }
136
+ }
137
+ }
138
+ }
139
+ return {
140
+ filesTouched: [...fileSet].sort(),
141
+ errors,
142
+ outcomes: [...outcomeSet],
143
+ tasks: [...taskMap.values()],
144
+ };
145
+ }
146
+ //# sourceMappingURL=session-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-state.js","sourceRoot":"","sources":["../../src/ingest/session-state.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/maintenance/scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAWH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5F,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;AA0O1E;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,eAAe,EAA4B,CAAC;AAE5E;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEjE;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA6BtE;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAS3E;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,KAAK,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;CACtB,CAAC,CAUD;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CnE;AAcD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CA0B/C"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/maintenance/scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAYH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5F,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;AAqQ1E;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,eAAe,EAA4B,CAAC;AAE5E;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEjE;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA6BtE;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAS3E;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,KAAK,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;CACtB,CAAC,CAUD;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CnE;AAcD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CA0B/C"}