@stupidloud/codegraph 0.7.14 → 0.7.20

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 (136) hide show
  1. package/README.md +44 -10
  2. package/README.zh-CN.md +3 -8
  3. package/dist/bin/codegraph.js +102 -24
  4. package/dist/bin/codegraph.js.map +1 -1
  5. package/dist/bin/node-version-check.d.ts +3 -0
  6. package/dist/bin/node-version-check.d.ts.map +1 -1
  7. package/dist/bin/node-version-check.js +5 -2
  8. package/dist/bin/node-version-check.js.map +1 -1
  9. package/dist/bin/uninstall.d.ts +7 -7
  10. package/dist/bin/uninstall.d.ts.map +1 -1
  11. package/dist/bin/uninstall.js +23 -135
  12. package/dist/bin/uninstall.js.map +1 -1
  13. package/dist/config.d.ts.map +1 -1
  14. package/dist/config.js +0 -2
  15. package/dist/config.js.map +1 -1
  16. package/dist/context/index.d.ts.map +1 -1
  17. package/dist/context/index.js +4 -2
  18. package/dist/context/index.js.map +1 -1
  19. package/dist/db/migrations.d.ts +1 -1
  20. package/dist/db/migrations.d.ts.map +1 -1
  21. package/dist/db/migrations.js +22 -8
  22. package/dist/db/migrations.js.map +1 -1
  23. package/dist/db/queries.d.ts.map +1 -1
  24. package/dist/db/queries.js +7 -1
  25. package/dist/db/queries.js.map +1 -1
  26. package/dist/db/schema.sql +0 -1
  27. package/dist/extraction/index.d.ts +1 -1
  28. package/dist/extraction/index.d.ts.map +1 -1
  29. package/dist/index.d.ts +0 -1
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +3 -3
  32. package/dist/index.js.map +1 -1
  33. package/dist/installer/claude-md-template.d.ts +10 -6
  34. package/dist/installer/claude-md-template.d.ts.map +1 -1
  35. package/dist/installer/claude-md-template.js +15 -40
  36. package/dist/installer/claude-md-template.js.map +1 -1
  37. package/dist/installer/config-writer.d.ts +17 -24
  38. package/dist/installer/config-writer.d.ts.map +1 -1
  39. package/dist/installer/config-writer.js +44 -239
  40. package/dist/installer/config-writer.js.map +1 -1
  41. package/dist/installer/index.d.ts +45 -4
  42. package/dist/installer/index.d.ts.map +1 -1
  43. package/dist/installer/index.js +216 -79
  44. package/dist/installer/index.js.map +1 -1
  45. package/dist/installer/instructions-template.d.ts +28 -0
  46. package/dist/installer/instructions-template.d.ts.map +1 -0
  47. package/dist/installer/instructions-template.js +63 -0
  48. package/dist/installer/instructions-template.js.map +1 -0
  49. package/dist/installer/targets/claude.d.ts +27 -0
  50. package/dist/installer/targets/claude.d.ts.map +1 -0
  51. package/dist/installer/targets/claude.js +246 -0
  52. package/dist/installer/targets/claude.js.map +1 -0
  53. package/dist/installer/targets/codex.d.ts +18 -0
  54. package/dist/installer/targets/codex.d.ts.map +1 -0
  55. package/dist/installer/targets/codex.js +185 -0
  56. package/dist/installer/targets/codex.js.map +1 -0
  57. package/dist/installer/targets/cursor.d.ts +35 -0
  58. package/dist/installer/targets/cursor.d.ts.map +1 -0
  59. package/dist/installer/targets/cursor.js +229 -0
  60. package/dist/installer/targets/cursor.js.map +1 -0
  61. package/dist/installer/targets/opencode.d.ts +30 -0
  62. package/dist/installer/targets/opencode.d.ts.map +1 -0
  63. package/dist/installer/targets/opencode.js +235 -0
  64. package/dist/installer/targets/opencode.js.map +1 -0
  65. package/dist/installer/targets/registry.d.ts +35 -0
  66. package/dist/installer/targets/registry.d.ts.map +1 -0
  67. package/dist/installer/targets/registry.js +83 -0
  68. package/dist/installer/targets/registry.js.map +1 -0
  69. package/dist/installer/targets/shared.d.ts +77 -0
  70. package/dist/installer/targets/shared.d.ts.map +1 -0
  71. package/dist/installer/targets/shared.js +246 -0
  72. package/dist/installer/targets/shared.js.map +1 -0
  73. package/dist/installer/targets/toml.d.ts +52 -0
  74. package/dist/installer/targets/toml.d.ts.map +1 -0
  75. package/dist/installer/targets/toml.js +147 -0
  76. package/dist/installer/targets/toml.js.map +1 -0
  77. package/dist/installer/targets/types.d.ts +116 -0
  78. package/dist/installer/targets/types.d.ts.map +1 -0
  79. package/dist/installer/targets/types.js +16 -0
  80. package/dist/installer/targets/types.js.map +1 -0
  81. package/dist/mcp/index.d.ts +4 -0
  82. package/dist/mcp/index.d.ts.map +1 -1
  83. package/dist/mcp/index.js +34 -9
  84. package/dist/mcp/index.js.map +1 -1
  85. package/dist/mcp/server-instructions.d.ts +1 -1
  86. package/dist/mcp/server-instructions.d.ts.map +1 -1
  87. package/dist/mcp/server-instructions.js +6 -6
  88. package/dist/mcp/tools.d.ts +61 -5
  89. package/dist/mcp/tools.d.ts.map +1 -1
  90. package/dist/mcp/tools.js +389 -81
  91. package/dist/mcp/tools.js.map +1 -1
  92. package/dist/search/query-utils.d.ts.map +1 -1
  93. package/dist/search/query-utils.js +29 -26
  94. package/dist/search/query-utils.js.map +1 -1
  95. package/dist/semantic-config-prompt.d.ts.map +1 -1
  96. package/dist/semantic-config-prompt.js +2 -3
  97. package/dist/semantic-config-prompt.js.map +1 -1
  98. package/dist/types.d.ts +0 -2
  99. package/dist/types.d.ts.map +1 -1
  100. package/dist/types.js +1 -2
  101. package/dist/types.js.map +1 -1
  102. package/dist/ui/glyphs.d.ts +42 -0
  103. package/dist/ui/glyphs.d.ts.map +1 -0
  104. package/dist/ui/glyphs.js +78 -0
  105. package/dist/ui/glyphs.js.map +1 -0
  106. package/dist/ui/shimmer-progress.d.ts +1 -0
  107. package/dist/ui/shimmer-progress.d.ts.map +1 -1
  108. package/dist/ui/shimmer-progress.js +7 -0
  109. package/dist/ui/shimmer-progress.js.map +1 -1
  110. package/dist/ui/shimmer-worker.js +20 -11
  111. package/dist/ui/shimmer-worker.js.map +1 -1
  112. package/dist/ui/types.d.ts +1 -0
  113. package/dist/ui/types.d.ts.map +1 -1
  114. package/dist/vectors/embedder.d.ts +15 -8
  115. package/dist/vectors/embedder.d.ts.map +1 -1
  116. package/dist/vectors/embedder.js +81 -53
  117. package/dist/vectors/embedder.js.map +1 -1
  118. package/dist/vectors/index.d.ts +1 -1
  119. package/dist/vectors/index.d.ts.map +1 -1
  120. package/dist/vectors/index.js.map +1 -1
  121. package/dist/vectors/manager.d.ts +5 -1
  122. package/dist/vectors/manager.d.ts.map +1 -1
  123. package/dist/vectors/manager.js +47 -28
  124. package/dist/vectors/manager.js.map +1 -1
  125. package/dist/vectors/search.d.ts +1 -1
  126. package/dist/vectors/search.d.ts.map +1 -1
  127. package/dist/vectors/search.js +9 -16
  128. package/dist/vectors/search.js.map +1 -1
  129. package/package.json +3 -2
  130. package/scripts/agent-eval/itrun.sh +107 -0
  131. package/scripts/agent-eval/parse-run.mjs +45 -0
  132. package/scripts/agent-eval/parse-session.mjs +93 -0
  133. package/scripts/agent-eval/run-agent.sh +34 -0
  134. package/scripts/extract-release-notes.mjs +130 -0
  135. package/scripts/local-install.sh +41 -0
  136. package/scripts/release.sh +68 -0
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/vectors/manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAgC,eAAe,EAAE,MAAM,YAAY,CAAC;AAE3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAEhB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IAEd,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,uBAAuB;IACvB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAE3B,6EAA6E;IAC7E,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IAE3B,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,4DAA4D;IAC5D,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;CACjD;AAeD;;;;;;;GAOG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;gBAG1B,EAAE,EAAE,cAAc,EAClB,OAAO,EAAE,YAAY,EACrB,OAAO,GAAE,oBAAyB;IAapC;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAcjC;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;;;;OAKG;IACG,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAoExF;;;;OAIG;IACG,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1C;;;;;;OAMG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA0CjF;;;;;;OAMG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA8DvF;;;;OAIG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIzC;;OAEG;IACH,QAAQ,IAAI;QACV,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,OAAO,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB;IASD;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAI5B;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,QAAQ;CAGjB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,cAAc,EAClB,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,aAAa,CAEf"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/vectors/manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAgC,eAAe,EAAwB,MAAM,YAAY,CAAC;AAEjG,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAEhB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IAEd,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,mEAAmE;IACnE,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAEjC,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,uBAAuB;IACvB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAE3B,6EAA6E;IAC7E,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IAE3B,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,4DAA4D;IAC5D,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;CACjD;AAeD;;;;;;;GAOG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;gBAG1B,EAAE,EAAE,cAAc,EAClB,OAAO,EAAE,YAAY,EACrB,OAAO,GAAE,oBAAyB;IAapC;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAcjC;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;;;;OAKG;IACG,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IA2ExF;;;;OAIG;IACG,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1C;;;;;;OAMG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA0CjF;;;;;;OAMG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA8DvF;;;;OAIG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIzC;;OAEG;IACH,QAAQ,IAAI;QACV,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,OAAO,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB;IAQD;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAI5B;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,oBAAoB;CAkB7B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,cAAc,EAClB,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,aAAa,CAEf"}
@@ -114,45 +114,53 @@ class VectorManager {
114
114
  const nodes = this.queries.getNodesByKind(kind);
115
115
  nodesToEmbed.push(...nodes);
116
116
  }
117
- // Remove vectors for nodes no longer present, then embed nodes whose text,
118
- // model, or dimension changed.
117
+ // Remove vectors for nodes no longer present, then embed nodes whose text
118
+ // or model changed.
119
119
  this.searchManager.deleteStaleVectors();
120
120
  const model = this.embedder.getModelId();
121
- const dimension = this.embedder.getDimension();
122
121
  const newNodes = nodesToEmbed.filter((node) => {
123
122
  const text = embedder_1.TextEmbedder.createNodeText(node);
124
- return !this.searchManager.hasCurrentVector(node.id, model, dimension, this.hashText(text));
123
+ return !this.searchManager.hasCurrentVector(node.id, model, this.hashText(text));
125
124
  });
126
125
  if (newNodes.length === 0) {
127
126
  return 0;
128
127
  }
129
128
  // Process in batches
130
129
  let processed = 0;
131
- for (let i = 0; i < newNodes.length; i += this.batchSize) {
132
- const batch = newNodes.slice(i, i + this.batchSize);
133
- // Create text representations
134
- const texts = batch.map((node) => embedder_1.TextEmbedder.createNodeText(node));
135
- // Generate embeddings
136
- const result = await this.embedder.embedBatch(texts, 'document');
137
- // Store embeddings
138
- const entries = [];
139
- for (let idx = 0; idx < batch.length; idx++) {
140
- const node = batch[idx];
141
- const embedding = result.embeddings[idx];
142
- if (node && embedding) {
143
- entries.push({ nodeId: node.id, embedding, contentHash: this.hashText(texts[idx]) });
130
+ this.embedder.setStatusReporter((status) => {
131
+ this.reportEmbedderStatus(status, processed, newNodes.length, onProgress);
132
+ });
133
+ try {
134
+ for (let i = 0; i < newNodes.length; i += this.batchSize) {
135
+ const batch = newNodes.slice(i, i + this.batchSize);
136
+ // Create text representations
137
+ const texts = batch.map((node) => embedder_1.TextEmbedder.createNodeText(node));
138
+ // Generate embeddings
139
+ const result = await this.embedder.embedBatch(texts, 'document');
140
+ // Store embeddings
141
+ const entries = [];
142
+ for (let idx = 0; idx < batch.length; idx++) {
143
+ const node = batch[idx];
144
+ const embedding = result.embeddings[idx];
145
+ if (node && embedding) {
146
+ entries.push({ nodeId: node.id, embedding, contentHash: this.hashText(texts[idx]) });
147
+ }
148
+ }
149
+ this.searchManager.storeVectorBatch(entries, model);
150
+ processed += batch.length;
151
+ // Report progress
152
+ if (onProgress) {
153
+ onProgress({
154
+ current: processed,
155
+ total: newNodes.length,
156
+ nodeName: batch[batch.length - 1]?.name,
157
+ status: 'embedding',
158
+ });
144
159
  }
145
160
  }
146
- this.searchManager.storeVectorBatch(entries, model);
147
- processed += batch.length;
148
- // Report progress
149
- if (onProgress) {
150
- onProgress({
151
- current: processed,
152
- total: newNodes.length,
153
- nodeName: batch[batch.length - 1]?.name,
154
- });
155
- }
161
+ }
162
+ finally {
163
+ this.embedder.setStatusReporter(undefined);
156
164
  }
157
165
  return processed;
158
166
  }
@@ -281,7 +289,6 @@ class VectorManager {
281
289
  totalVectors: this.searchManager.getVectorCount(),
282
290
  vssEnabled: this.searchManager.isVssEnabled(),
283
291
  modelId: this.embedder.getModelId(),
284
- dimension: this.embedder.getDimension(),
285
292
  };
286
293
  }
287
294
  /**
@@ -311,6 +318,18 @@ class VectorManager {
311
318
  hashText(text) {
312
319
  return crypto.createHash('sha256').update(text).digest('hex');
313
320
  }
321
+ reportEmbedderStatus(status, current, total, onProgress) {
322
+ if (!onProgress || status.phase !== 'retry_wait') {
323
+ return;
324
+ }
325
+ const retryInSeconds = Math.max(1, Math.ceil(status.retryInMs / 1000));
326
+ onProgress({
327
+ current,
328
+ total,
329
+ status: 'waiting',
330
+ detail: `${retryInSeconds}s (try ${status.attempt})`,
331
+ });
332
+ }
314
333
  }
315
334
  exports.VectorManager = VectorManager;
316
335
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/vectors/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/vectors/manager.ts"],"names":[],"mappings":"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"}
@@ -118,7 +118,7 @@ export declare class VectorSearchManager {
118
118
  /**
119
119
  * Check if a node has a vector matching the current embedded text.
120
120
  */
121
- hasCurrentVector(nodeId: string, model: string, dimension: number, contentHash: string): boolean;
121
+ hasCurrentVector(nodeId: string, model: string, contentHash: string): boolean;
122
122
  /**
123
123
  * Get all node IDs that have vectors
124
124
  */
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/vectors/search.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAS5D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,mCAAmC;IACnC,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;CAC5B;AAED;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,gBAAgB,CAAC,CAAyB;gBAEtC,EAAE,EAAE,cAAc,EAAE,SAAS,GAAE,MAA4B,EAAE,gBAAgB,CAAC,EAAE,sBAAsB;IAMlH;;;;;OAKG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBjC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAexB;;OAEG;IACH,OAAO,CAAC,cAAc;IA8BtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA4B1B;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;;;;;OAMG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,GAAE,MAAW,GAAG,IAAI;IAoBnG;;OAEG;IACH,OAAO,CAAC,UAAU;IAoClB;;;;;OAKG;IACH,gBAAgB,CACd,OAAO,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,YAAY,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EACjF,KAAK,EAAE,MAAM,GACZ,IAAI;IAuBP;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAe9C;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAgBlC;;;;;;OAMG;IACH,MAAM,CACJ,cAAc,EAAE,YAAY,EAC5B,OAAO,GAAE,mBAAwB,GAChC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAU3C;;OAEG;IACH,OAAO,CAAC,aAAa;IAyCrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;OAEG;IACH,cAAc,IAAI,MAAM;IAOxB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAOlC;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAWhG;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAO7B;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAiB5B;;OAEG;IACH,KAAK,IAAI,IAAI;IASb;;;;OAIG;IACH,eAAe,IAAI,IAAI;CAwBxB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,cAAc,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,sBAAsB,GACxC,mBAAmB,CAErB"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/vectors/search.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAS5D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,mCAAmC;IACnC,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;CAC5B;AAED;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,gBAAgB,CAAC,CAAyB;gBAEtC,EAAE,EAAE,cAAc,EAAE,SAAS,GAAE,MAA4B,EAAE,gBAAgB,CAAC,EAAE,sBAAsB;IAMlH;;;;;OAKG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBjC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAexB;;OAEG;IACH,OAAO,CAAC,cAAc;IA8BtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;;;;;OAMG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,GAAE,MAAW,GAAG,IAAI;IAoBnG;;OAEG;IACH,OAAO,CAAC,UAAU;IAoClB;;;;;OAKG;IACH,gBAAgB,CACd,OAAO,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,YAAY,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EACjF,KAAK,EAAE,MAAM,GACZ,IAAI;IAuBP;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAe9C;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAgBlC;;;;;;OAMG;IACH,MAAM,CACJ,cAAc,EAAE,YAAY,EAC5B,OAAO,GAAE,mBAAwB,GAChC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAU3C;;OAEG;IACH,OAAO,CAAC,aAAa;IAyCrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;OAEG;IACH,cAAc,IAAI,MAAM;IAOxB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAOlC;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAW7E;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAO7B;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAiB5B;;OAEG;IACH,KAAK,IAAI,IAAI;IASb;;;;OAIG;IACH,eAAe,IAAI,IAAI;CAwBxB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,cAAc,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,sBAAsB,GACxC,mBAAmB,CAErB"}
@@ -109,7 +109,6 @@ class VectorSearchManager {
109
109
  node_id TEXT PRIMARY KEY,
110
110
  embedding BLOB NOT NULL,
111
111
  model TEXT NOT NULL,
112
- dimension INTEGER NOT NULL DEFAULT ${this.embeddingDimension},
113
112
  content_hash TEXT NOT NULL DEFAULT '',
114
113
  created_at INTEGER NOT NULL
115
114
  );
@@ -119,12 +118,6 @@ class VectorSearchManager {
119
118
  `);
120
119
  // Existing databases from the old semantic-search implementation only had
121
120
  // node_id, embedding, model, and created_at.
122
- try {
123
- this.db.exec(`ALTER TABLE vectors ADD COLUMN dimension INTEGER NOT NULL DEFAULT ${this.embeddingDimension};`);
124
- }
125
- catch {
126
- // Column already exists.
127
- }
128
121
  try {
129
122
  this.db.exec(`ALTER TABLE vectors ADD COLUMN content_hash TEXT NOT NULL DEFAULT '';`);
130
123
  }
@@ -151,10 +144,10 @@ class VectorSearchManager {
151
144
  const blob = Buffer.from(embedding.buffer);
152
145
  this.db
153
146
  .prepare(`
154
- INSERT OR REPLACE INTO vectors (node_id, embedding, model, dimension, content_hash, created_at)
155
- VALUES (?, ?, ?, ?, ?, ?)
147
+ INSERT OR REPLACE INTO vectors (node_id, embedding, model, content_hash, created_at)
148
+ VALUES (?, ?, ?, ?, ?)
156
149
  `)
157
- .run(nodeId, blob, model, embedding.length, contentHash, now);
150
+ .run(nodeId, blob, model, contentHash, now);
158
151
  // Also store in VSS table if enabled
159
152
  if (this.vssEnabled) {
160
153
  this.storeInVss(nodeId, embedding);
@@ -211,10 +204,10 @@ class VectorSearchManager {
211
204
  const blob = Buffer.from(entry.embedding.buffer);
212
205
  this.db
213
206
  .prepare(`
214
- INSERT OR REPLACE INTO vectors (node_id, embedding, model, dimension, content_hash, created_at)
215
- VALUES (?, ?, ?, ?, ?, ?)
207
+ INSERT OR REPLACE INTO vectors (node_id, embedding, model, content_hash, created_at)
208
+ VALUES (?, ?, ?, ?, ?)
216
209
  `)
217
- .run(entry.nodeId, blob, model, entry.embedding.length, entry.contentHash ?? '', now);
210
+ .run(entry.nodeId, blob, model, entry.contentHash ?? '', now);
218
211
  if (this.vssEnabled) {
219
212
  this.storeInVss(entry.nodeId, entry.embedding);
220
213
  }
@@ -348,14 +341,14 @@ class VectorSearchManager {
348
341
  /**
349
342
  * Check if a node has a vector matching the current embedded text.
350
343
  */
351
- hasCurrentVector(nodeId, model, dimension, contentHash) {
344
+ hasCurrentVector(nodeId, model, contentHash) {
352
345
  const result = this.db
353
346
  .prepare(`
354
347
  SELECT 1 FROM vectors
355
- WHERE node_id = ? AND model = ? AND dimension = ? AND content_hash = ?
348
+ WHERE node_id = ? AND model = ? AND content_hash = ?
356
349
  LIMIT 1
357
350
  `)
358
- .get(nodeId, model, dimension, contentHash);
351
+ .get(nodeId, model, contentHash);
359
352
  return !!result;
360
353
  }
361
354
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/vectors/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/vectors/search.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stupidloud/codegraph",
3
- "version": "0.7.14",
3
+ "version": "0.7.20",
4
4
  "description": "Supercharge Claude Code with semantic code intelligence. 94% fewer tool calls • 77% faster exploration • 100% local.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -39,6 +39,7 @@
39
39
  "fast-string-width": "^3.0.2",
40
40
  "fast-wrap-ansi": "^0.2.0",
41
41
  "gpt-tokenizer": "^3.4.0",
42
+ "jsonc-parser": "^3.3.1",
42
43
  "node-sqlite3-wasm": "^0.8.30",
43
44
  "picomatch": "^4.0.3",
44
45
  "sisteransi": "^1.0.5",
@@ -53,7 +54,7 @@
53
54
  "vitest": "^2.1.9"
54
55
  },
55
56
  "optionalDependencies": {
56
- "better-sqlite3": "^11.0.0",
57
+ "better-sqlite3": "^11.10.0",
57
58
  "sqlite-vss": "^0.1.2"
58
59
  },
59
60
  "engines": {
@@ -0,0 +1,107 @@
1
+ #!/usr/bin/env bash
2
+ # Drive an INTERACTIVE Claude Code session in tmux, send a prompt, wait for the
3
+ # agent to finish, then print the tool-call breakdown from the session logs.
4
+ #
5
+ # Why interactive (not `claude -p`): headless print-mode picks the
6
+ # general-purpose subagent, while real interactive sessions delegate to the
7
+ # Explore subagent (or drive codegraph from the main thread). Only the
8
+ # interactive TUI reproduces the behavior users actually see. (Idle-detection
9
+ # technique borrowed from devpit's WaitForIdle.)
10
+ #
11
+ # Usage: itrun.sh <repo-path> <label> "<prompt>"
12
+ # Output dir: $AGENT_EVAL_OUT (default /tmp/agent-eval)
13
+ # Requires: tmux 3.0+, a logged-in `claude` CLI, codegraph MCP configured.
14
+ set -uo pipefail
15
+ REPO="$1"; LABEL="$2"; PROMPT="$3"
16
+ SESSION="cgt_${LABEL}"
17
+ OUT_DIR="${AGENT_EVAL_OUT:-/tmp/agent-eval}"; mkdir -p "$OUT_DIR"
18
+ OUT="$OUT_DIR/itrun-${LABEL}.txt"
19
+ HERE="$(cd "$(dirname "$0")" && pwd)"
20
+
21
+ cap() { tmux capture-pane -p -t "$SESSION" -S -40; }
22
+
23
+ tmux kill-session -t "$SESSION" 2>/dev/null
24
+
25
+ # Wide pane so the TUI doesn't hard-wrap tool lines.
26
+ tmux new-session -d -s "$SESSION" -x 230 -y 60
27
+ tmux send-keys -t "$SESSION" "cd $REPO && claude --dangerously-skip-permissions" Enter
28
+
29
+ # Wait for the ❯ prompt (claude drew its UI), up to 60s. NOTE: ❯ appears on the
30
+ # welcome screen seconds before the input actually accepts keystrokes, so this is
31
+ # necessary but NOT sufficient — the type-and-verify loop below is what proves
32
+ # the input is live.
33
+ ready=0
34
+ for _ in $(seq 1 120); do
35
+ cap | grep -q "❯" && { ready=1; break; }
36
+ sleep 0.5
37
+ done
38
+ [ "$ready" = 1 ] || { echo "claude never drew its UI"; cap; tmux kill-session -t "$SESSION" 2>/dev/null; exit 1; }
39
+
40
+ # Accept the per-folder "Is this a project you trust?" dialog if it shows (first
41
+ # time claude opens a given repo). Option 1 ("Yes, I trust this folder") is
42
+ # pre-selected, so Enter accepts. This dialog also contains ❯, so it must be
43
+ # cleared before the type-and-verify loop or keystrokes land on the menu.
44
+ for _ in $(seq 1 20); do
45
+ cap | grep -q "trust this folder" || break
46
+ tmux send-keys -t "$SESSION" Enter
47
+ sleep 1
48
+ done
49
+
50
+ # Type-and-verify: send the prompt, confirm a distinctive chunk of it actually
51
+ # landed in the input box, retry if it didn't (handles the early-❯ race where
52
+ # the welcome screen shows the prompt glyph but MCP init is still eating keys).
53
+ needle="${PROMPT:0:24}"
54
+ typed=0
55
+ for _ in $(seq 1 30); do
56
+ tmux send-keys -l -t "$SESSION" "$PROMPT"
57
+ sleep 1
58
+ if cap | grep -Fq "$needle"; then typed=1; break; fi
59
+ # Clear whatever partial text may have landed, then retry.
60
+ tmux send-keys -t "$SESSION" C-u
61
+ sleep 1
62
+ done
63
+ [ "$typed" = 1 ] || { echo "prompt never landed in the input box"; cap; tmux kill-session -t "$SESSION" 2>/dev/null; exit 1; }
64
+ sleep 0.5
65
+ tmux send-keys -t "$SESSION" Enter
66
+
67
+ # Busy signals. The robust one is the spinner's elapsed-time-in-parens, which
68
+ # EVERY working state shows — both the pre-stream thinking phase
69
+ # "(8s · thinking with max effort)" and the streaming phase
70
+ # "(24s · ↑ 2.5k tokens · …)", and it survives the 32s→"1m 3s" rollover. We OR
71
+ # in the token arrows, "esc to interrupt", and "Initializing" as belt-and-braces
72
+ # (some TUI versions/states show one but not the others).
73
+ BUSY_RE='esc to interrupt|↓ [0-9]|↑ [0-9]|Initializing|\(([0-9]+m )?[0-9]+s ·'
74
+
75
+ # Wait for work to START (busy indicator appears), up to 60s. If it never starts,
76
+ # fail loudly rather than silently reporting an empty run.
77
+ started=0
78
+ for _ in $(seq 1 120); do
79
+ cap | grep -qE "$BUSY_RE" && { started=1; break; }
80
+ sleep 0.5
81
+ done
82
+ [ "$started" = 1 ] || { echo "agent never started working"; cap; tmux kill-session -t "$SESSION" 2>/dev/null; exit 1; }
83
+
84
+ # Poll for idle: not busy AND ❯ present, for 10 consecutive polls (~5s) to ride
85
+ # out mid-conversation thinking gaps that briefly drop the spinner. Up to ~15min.
86
+ consec=0
87
+ for _ in $(seq 1 1800); do
88
+ pane=$(cap)
89
+ if echo "$pane" | grep -qE "$BUSY_RE"; then
90
+ consec=0
91
+ elif echo "$pane" | grep -q "❯"; then
92
+ consec=$((consec+1)); [ "$consec" -ge 10 ] && break
93
+ else
94
+ consec=0
95
+ fi
96
+ sleep 0.5
97
+ done
98
+ sleep 1
99
+
100
+ tmux capture-pane -p -t "$SESSION" -S - > "$OUT"
101
+ echo "captured $(wc -l < "$OUT") lines -> $OUT"
102
+ grep -oE "Done \([^)]*\)" "$OUT" | tail -1
103
+ grep -oE "[0-9.]+k?/[0-9.]+M" "$OUT" | tail -1 | sed 's/^/Context /'
104
+ tmux kill-session -t "$SESSION" 2>/dev/null
105
+
106
+ # Clean tool breakdown from the session logs (main + subagents).
107
+ node "$HERE/parse-session.mjs" "$REPO" 2>/dev/null || true
@@ -0,0 +1,45 @@
1
+ #!/usr/bin/env node
2
+ // Parse a Claude Code stream-json run log: tool-call sequence + token usage.
3
+ import { readFileSync } from 'fs';
4
+ const file = process.argv[2];
5
+ const lines = readFileSync(file, 'utf8').split('\n').filter(Boolean);
6
+
7
+ const toolCalls = [];
8
+ let result = null;
9
+ let initTools = null;
10
+
11
+ for (const line of lines) {
12
+ let ev;
13
+ try { ev = JSON.parse(line); } catch { continue; }
14
+ if (ev.type === 'system' && ev.subtype === 'init') {
15
+ initTools = (ev.tools || []).filter(t => /codegraph/.test(t));
16
+ }
17
+ if (ev.type === 'assistant' && ev.message?.content) {
18
+ for (const block of ev.message.content) {
19
+ if (block.type === 'tool_use') {
20
+ let detail = '';
21
+ if (block.name === 'Task') detail = ` [subagent_type=${block.input?.subagent_type ?? '?'}] ${(block.input?.description ?? '').slice(0,40)}`;
22
+ else if (/codegraph/.test(block.name)) detail = ` ${JSON.stringify(block.input?.query ?? block.input?.task ?? block.input?.symbol ?? '').slice(0,60)}`;
23
+ else if (block.name === 'Bash') detail = ` ${(block.input?.command ?? '').slice(0,50)}`;
24
+ else if (block.name === 'Read') detail = ` ${(block.input?.file_path ?? '').split('/').slice(-1)[0]}`;
25
+ toolCalls.push(`${block.name}${detail}`);
26
+ }
27
+ }
28
+ }
29
+ if (ev.type === 'result') result = ev;
30
+ }
31
+
32
+ console.log(`\n=== ${file.split('/').pop()} ===`);
33
+ console.log(`codegraph tools exposed: ${initTools ? initTools.length : '?'}`);
34
+ console.log(`\nTool calls (${toolCalls.length}):`);
35
+ const counts = {};
36
+ for (const tc of toolCalls) { const n = tc.split(' ')[0]; counts[n] = (counts[n]||0)+1; }
37
+ console.log(' by type:', JSON.stringify(counts));
38
+ toolCalls.forEach((tc, i) => console.log(` ${i+1}. ${tc}`));
39
+
40
+ if (result) {
41
+ const u = result.usage || {};
42
+ const totalIn = (u.input_tokens||0) + (u.cache_read_input_tokens||0) + (u.cache_creation_input_tokens||0);
43
+ console.log(`\nResult: ${result.subtype} | duration ${(result.duration_ms/1000).toFixed(0)}s | turns ${result.num_turns}`);
44
+ console.log(` tokens: in=${totalIn} out=${u.output_tokens||0} | cost $${(result.total_cost_usd||0).toFixed(3)}`);
45
+ }
@@ -0,0 +1,93 @@
1
+ #!/usr/bin/env node
2
+ // Parse the newest Claude Code session log for a project + its subagent logs,
3
+ // and report the tool-call breakdown (main + subagents). Works for interactive
4
+ // runs (driven via itrun.sh) — Claude Code writes full transcripts to
5
+ // ~/.claude/projects/<escaped-cwd>/<session>.jsonl with subagents/ alongside.
6
+ import { readFileSync, readdirSync, statSync, existsSync, realpathSync } from 'fs';
7
+ import { join } from 'path';
8
+ import { homedir } from 'os';
9
+
10
+ const projectArg = process.argv[2];
11
+ if (!projectArg) { console.error('usage: parse-session.mjs <project-dir>'); process.exit(1); }
12
+
13
+ // Claude Code escapes the (real) cwd by replacing every "/" with "-".
14
+ const real = realpathSync(projectArg);
15
+ const escaped = real.replace(/\//g, '-');
16
+ const projDir = join(homedir(), '.claude', 'projects', escaped);
17
+ if (!existsSync(projDir)) { console.error('no session logs at', projDir); process.exit(1); }
18
+
19
+ // Newest top-level session .jsonl
20
+ const sessions = readdirSync(projDir)
21
+ .filter(f => f.endsWith('.jsonl'))
22
+ .map(f => ({ f, m: statSync(join(projDir, f)).mtimeMs }))
23
+ .sort((a, b) => b.m - a.m);
24
+ if (sessions.length === 0) { console.error('no .jsonl sessions in', projDir); process.exit(1); }
25
+ const sessionId = sessions[0].f.replace('.jsonl', '');
26
+
27
+ function tally(file) {
28
+ const counts = {};
29
+ for (const line of readFileSync(file, 'utf8').split('\n')) {
30
+ if (!line) continue;
31
+ let ev; try { ev = JSON.parse(line); } catch { continue; }
32
+ const content = ev.message?.content;
33
+ if (!Array.isArray(content)) continue;
34
+ for (const b of content) {
35
+ if (b.type === 'tool_use') counts[b.name] = (counts[b.name] || 0) + 1;
36
+ }
37
+ }
38
+ return counts;
39
+ }
40
+
41
+ // Sum token usage from a transcript. The TUI's "Done (…Xk tokens…)" line only
42
+ // covers a subagent's throughput; this works for main-thread runs too and is
43
+ // consistent across both paths. `gen` = output, `fresh` = uncached input
44
+ // (input + cache_creation), `cached` = cache reads (≈free), `total` = all.
45
+ function sumTokens(file) {
46
+ const t = { gen: 0, fresh: 0, cached: 0 };
47
+ for (const line of readFileSync(file, 'utf8').split('\n')) {
48
+ if (!line) continue;
49
+ let ev; try { ev = JSON.parse(line); } catch { continue; }
50
+ const u = ev.message?.usage;
51
+ if (!u) continue;
52
+ t.gen += u.output_tokens || 0;
53
+ t.fresh += (u.input_tokens || 0) + (u.cache_creation_input_tokens || 0);
54
+ t.cached += u.cache_read_input_tokens || 0;
55
+ }
56
+ return t;
57
+ }
58
+
59
+ const mainCounts = tally(join(projDir, sessionId + '.jsonl'));
60
+
61
+ // Subagent transcripts live under <session>/subagents/*.jsonl
62
+ const subDir = join(projDir, sessionId, 'subagents');
63
+ const subCounts = {};
64
+ let subAgentFiles = 0;
65
+ if (existsSync(subDir)) {
66
+ for (const f of readdirSync(subDir).filter(f => f.endsWith('.jsonl'))) {
67
+ subAgentFiles++;
68
+ const c = tally(join(subDir, f));
69
+ for (const [k, v] of Object.entries(c)) subCounts[k] = (subCounts[k] || 0) + v;
70
+ }
71
+ }
72
+
73
+ const fmt = (counts) => Object.entries(counts).sort((a, b) => b[1] - a[1])
74
+ .map(([k, v]) => ` ${String(v).padStart(3)} ${k}`).join('\n') || ' (none)';
75
+
76
+ console.log(`session: ${sessionId}`);
77
+ console.log(`\nMAIN thread tools:\n${fmt(mainCounts)}`);
78
+ console.log(`\nSUBAGENT tools (${subAgentFiles} subagent transcript${subAgentFiles === 1 ? '' : 's'}):\n${fmt(subCounts)}`);
79
+
80
+ const explore = subCounts['mcp__codegraph__codegraph_explore'] || mainCounts['mcp__codegraph__codegraph_explore'] || 0;
81
+ const reads = (subCounts['Read'] || 0) + (mainCounts['Read'] || 0);
82
+ const greps = (subCounts['Grep'] || 0) + (mainCounts['Grep'] || 0) + (subCounts['Bash'] || 0) + (mainCounts['Bash'] || 0);
83
+ console.log(`\nVERDICT: codegraph_explore used ${explore}x | Read ${reads} | Grep/Bash ${greps}`);
84
+
85
+ // Token totals (main + subagents), consistent across main-thread and subagent runs.
86
+ const tok = { gen: 0, fresh: 0, cached: 0 };
87
+ const addTok = (t) => { tok.gen += t.gen; tok.fresh += t.fresh; tok.cached += t.cached; };
88
+ addTok(sumTokens(join(projDir, sessionId + '.jsonl')));
89
+ if (existsSync(subDir)) {
90
+ for (const f of readdirSync(subDir).filter(f => f.endsWith('.jsonl'))) addTok(sumTokens(join(subDir, f)));
91
+ }
92
+ const k = (n) => (n / 1000).toFixed(1) + 'k';
93
+ console.log(`TOKENS: gen ${k(tok.gen)} | fresh-in ${k(tok.fresh)} | cached-in ${k(tok.cached)} | billable≈ ${k(tok.gen + tok.fresh)}`);
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env bash
2
+ # Headless Claude Code run against a repo with codegraph MCP, capturing the
3
+ # full stream-json so we can see tool calls + token usage. Complements the
4
+ # interactive itrun.sh: headless gives a clean per-tool breakdown + exact
5
+ # tokens/cost, but defaults to the general-purpose subagent (not Explore).
6
+ # To force the Explore path, ask for it in the prompt.
7
+ #
8
+ # Usage: run-agent.sh <repo-path> <label> "<prompt>"
9
+ # Env: AGENT_EVAL_OUT (default /tmp/agent-eval), CG_BIN (codegraph dist binary)
10
+ set -uo pipefail
11
+
12
+ REPO="$1"; LABEL="$2"; PROMPT="$3"
13
+ CG_BIN="${CG_BIN:-$(command -v codegraph || echo /usr/local/bin/codegraph)}"
14
+ OUT_DIR="${AGENT_EVAL_OUT:-/tmp/agent-eval}"; mkdir -p "$OUT_DIR"
15
+ OUT="$OUT_DIR/run-${LABEL}.jsonl"
16
+
17
+ MCP_CONFIG=$(cat <<JSON
18
+ {"mcpServers":{"codegraph":{"command":"${CG_BIN}","args":["serve","--mcp","--path","${REPO}"]}}}
19
+ JSON
20
+ )
21
+
22
+ echo "→ running [$LABEL] in $REPO"
23
+ cd "$REPO" || exit 1
24
+
25
+ claude -p "$PROMPT" \
26
+ --output-format stream-json --verbose \
27
+ --permission-mode bypassPermissions \
28
+ --model opus \
29
+ --max-budget-usd 2 \
30
+ --strict-mcp-config --mcp-config "$MCP_CONFIG" \
31
+ > "$OUT" 2>"$OUT_DIR/run-${LABEL}.err"
32
+
33
+ echo "exit: $? | wrote $OUT ($(wc -l < "$OUT") lines)"
34
+ node "$(cd "$(dirname "$0")" && pwd)/parse-run.mjs" "$OUT" 2>/dev/null || true