codesift-mcp 0.15.3 → 0.17.0

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 (401) hide show
  1. package/dist/cli/auto-prune.d.ts +16 -0
  2. package/dist/cli/auto-prune.d.ts.map +1 -0
  3. package/dist/cli/auto-prune.js +87 -0
  4. package/dist/cli/auto-prune.js.map +1 -0
  5. package/dist/cli/commands-admin.d.ts.map +1 -1
  6. package/dist/cli/commands-admin.js +11 -0
  7. package/dist/cli/commands-admin.js.map +1 -1
  8. package/dist/cli/commands-daemon.d.ts.map +1 -1
  9. package/dist/cli/commands-daemon.js +9 -0
  10. package/dist/cli/commands-daemon.js.map +1 -1
  11. package/dist/cli/commands-index.d.ts.map +1 -1
  12. package/dist/cli/commands-index.js +8 -0
  13. package/dist/cli/commands-index.js.map +1 -1
  14. package/dist/cli/embed-child.js +5 -1
  15. package/dist/cli/embed-child.js.map +1 -1
  16. package/dist/cli/help.js +1 -1
  17. package/dist/cli/hooks/pre-tool-use.d.ts.map +1 -1
  18. package/dist/cli/hooks/pre-tool-use.js +11 -5
  19. package/dist/cli/hooks/pre-tool-use.js.map +1 -1
  20. package/dist/cli/hooks/shared.d.ts +1 -1
  21. package/dist/cli/hooks/shared.d.ts.map +1 -1
  22. package/dist/cli/hooks/shared.js +34 -2
  23. package/dist/cli/hooks/shared.js.map +1 -1
  24. package/dist/cli/orphan-guard.d.ts +22 -0
  25. package/dist/cli/orphan-guard.d.ts.map +1 -1
  26. package/dist/cli/orphan-guard.js +30 -0
  27. package/dist/cli/orphan-guard.js.map +1 -1
  28. package/dist/cli/service.d.ts +43 -0
  29. package/dist/cli/service.d.ts.map +1 -1
  30. package/dist/cli/service.js +84 -4
  31. package/dist/cli/service.js.map +1 -1
  32. package/dist/cli/setup/codex-project-auto.d.ts +27 -0
  33. package/dist/cli/setup/codex-project-auto.d.ts.map +1 -0
  34. package/dist/cli/setup/codex-project-auto.js +98 -0
  35. package/dist/cli/setup/codex-project-auto.js.map +1 -0
  36. package/dist/cli/setup/codex.d.ts.map +1 -1
  37. package/dist/cli/setup/codex.js +101 -6
  38. package/dist/cli/setup/codex.js.map +1 -1
  39. package/dist/cli/setup/cursor.d.ts.map +1 -1
  40. package/dist/cli/setup/cursor.js +9 -1
  41. package/dist/cli/setup/cursor.js.map +1 -1
  42. package/dist/cli/setup/gemini.d.ts.map +1 -1
  43. package/dist/cli/setup/gemini.js +21 -0
  44. package/dist/cli/setup/gemini.js.map +1 -1
  45. package/dist/cli/setup/mcp.d.ts +37 -1
  46. package/dist/cli/setup/mcp.d.ts.map +1 -1
  47. package/dist/cli/setup/mcp.js +57 -4
  48. package/dist/cli/setup/mcp.js.map +1 -1
  49. package/dist/cli/setup/types.d.ts +19 -1
  50. package/dist/cli/setup/types.d.ts.map +1 -1
  51. package/dist/config.d.ts.map +1 -1
  52. package/dist/config.js +30 -6
  53. package/dist/config.js.map +1 -1
  54. package/dist/formatters-core.d.ts +2 -0
  55. package/dist/formatters-core.d.ts.map +1 -1
  56. package/dist/formatters-core.js +18 -3
  57. package/dist/formatters-core.js.map +1 -1
  58. package/dist/formatters-shortening.d.ts.map +1 -1
  59. package/dist/formatters-shortening.js +8 -2
  60. package/dist/formatters-shortening.js.map +1 -1
  61. package/dist/instructions.d.ts +17 -0
  62. package/dist/instructions.d.ts.map +1 -1
  63. package/dist/instructions.js +35 -0
  64. package/dist/instructions.js.map +1 -1
  65. package/dist/lsp/lsp-servers.d.ts.map +1 -1
  66. package/dist/lsp/lsp-servers.js +4 -1
  67. package/dist/lsp/lsp-servers.js.map +1 -1
  68. package/dist/parser/parse-cache.d.ts.map +1 -1
  69. package/dist/parser/parse-cache.js +36 -1
  70. package/dist/parser/parse-cache.js.map +1 -1
  71. package/dist/register-tool-groups/analysis.d.ts.map +1 -1
  72. package/dist/register-tool-groups/analysis.js +10 -1
  73. package/dist/register-tool-groups/analysis.js.map +1 -1
  74. package/dist/register-tool-groups/core/index.d.ts.map +1 -1
  75. package/dist/register-tool-groups/core/index.js +26 -3
  76. package/dist/register-tool-groups/core/index.js.map +1 -1
  77. package/dist/register-tool-groups/core/meta.d.ts.map +1 -1
  78. package/dist/register-tool-groups/core/meta.js +23 -1
  79. package/dist/register-tool-groups/core/meta.js.map +1 -1
  80. package/dist/register-tool-groups/core/search.d.ts +15 -0
  81. package/dist/register-tool-groups/core/search.d.ts.map +1 -1
  82. package/dist/register-tool-groups/core/search.js +60 -2
  83. package/dist/register-tool-groups/core/search.js.map +1 -1
  84. package/dist/register-tool-groups/core/symbols.d.ts.map +1 -1
  85. package/dist/register-tool-groups/core/symbols.js +13 -2
  86. package/dist/register-tool-groups/core/symbols.js.map +1 -1
  87. package/dist/register-tool-groups/meta.d.ts.map +1 -1
  88. package/dist/register-tool-groups/meta.js +23 -0
  89. package/dist/register-tool-groups/meta.js.map +1 -1
  90. package/dist/register-tools/discovery.d.ts +22 -5
  91. package/dist/register-tools/discovery.d.ts.map +1 -1
  92. package/dist/register-tools/discovery.js +95 -9
  93. package/dist/register-tools/discovery.js.map +1 -1
  94. package/dist/register-tools/runtime.d.ts +9 -1
  95. package/dist/register-tools/runtime.d.ts.map +1 -1
  96. package/dist/register-tools/runtime.js +19 -2
  97. package/dist/register-tools/runtime.js.map +1 -1
  98. package/dist/register-tools.d.ts +4 -2
  99. package/dist/register-tools.d.ts.map +1 -1
  100. package/dist/register-tools.js +20 -8
  101. package/dist/register-tools.js.map +1 -1
  102. package/dist/search/bm25-store.d.ts +6 -0
  103. package/dist/search/bm25-store.d.ts.map +1 -0
  104. package/dist/search/bm25-store.js +164 -0
  105. package/dist/search/bm25-store.js.map +1 -0
  106. package/dist/search/bm25.d.ts +30 -0
  107. package/dist/search/bm25.d.ts.map +1 -1
  108. package/dist/search/bm25.js +159 -34
  109. package/dist/search/bm25.js.map +1 -1
  110. package/dist/search/embed-gate.d.ts +17 -0
  111. package/dist/search/embed-gate.d.ts.map +1 -0
  112. package/dist/search/embed-gate.js +64 -0
  113. package/dist/search/embed-gate.js.map +1 -0
  114. package/dist/search/semantic.d.ts.map +1 -1
  115. package/dist/search/semantic.js +5 -2
  116. package/dist/search/semantic.js.map +1 -1
  117. package/dist/server-helpers/health-vitals.d.ts +45 -0
  118. package/dist/server-helpers/health-vitals.d.ts.map +1 -0
  119. package/dist/server-helpers/health-vitals.js +77 -0
  120. package/dist/server-helpers/health-vitals.js.map +1 -0
  121. package/dist/server-helpers/repo-resolution.d.ts.map +1 -1
  122. package/dist/server-helpers/repo-resolution.js +23 -3
  123. package/dist/server-helpers/repo-resolution.js.map +1 -1
  124. package/dist/server-helpers/request-context.d.ts +34 -4
  125. package/dist/server-helpers/request-context.d.ts.map +1 -1
  126. package/dist/server-helpers/request-context.js +4 -0
  127. package/dist/server-helpers/request-context.js.map +1 -1
  128. package/dist/server-helpers/response-hints.d.ts +1 -4
  129. package/dist/server-helpers/response-hints.d.ts.map +1 -1
  130. package/dist/server-helpers/response-hints.js +44 -1
  131. package/dist/server-helpers/response-hints.js.map +1 -1
  132. package/dist/server-helpers.d.ts.map +1 -1
  133. package/dist/server-helpers.js +20 -0
  134. package/dist/server-helpers.js.map +1 -1
  135. package/dist/server.d.ts +10 -0
  136. package/dist/server.d.ts.map +1 -1
  137. package/dist/server.js +165 -8
  138. package/dist/server.js.map +1 -1
  139. package/dist/storage/_shared.d.ts +1 -1
  140. package/dist/storage/_shared.d.ts.map +1 -1
  141. package/dist/storage/_shared.js +41 -3
  142. package/dist/storage/_shared.js.map +1 -1
  143. package/dist/storage/index-migration.d.ts.map +1 -1
  144. package/dist/storage/index-migration.js +6 -2
  145. package/dist/storage/index-migration.js.map +1 -1
  146. package/dist/storage/index-store.d.ts +29 -0
  147. package/dist/storage/index-store.d.ts.map +1 -1
  148. package/dist/storage/index-store.js +112 -0
  149. package/dist/storage/index-store.js.map +1 -1
  150. package/dist/storage/registry.d.ts +14 -0
  151. package/dist/storage/registry.d.ts.map +1 -1
  152. package/dist/storage/registry.js +46 -7
  153. package/dist/storage/registry.js.map +1 -1
  154. package/dist/storage/sqlite/accessors.d.ts +17 -0
  155. package/dist/storage/sqlite/accessors.d.ts.map +1 -1
  156. package/dist/storage/sqlite/accessors.js +20 -0
  157. package/dist/storage/sqlite/accessors.js.map +1 -1
  158. package/dist/storage/sqlite/connection.d.ts +20 -0
  159. package/dist/storage/sqlite/connection.d.ts.map +1 -1
  160. package/dist/storage/sqlite/connection.js +61 -0
  161. package/dist/storage/sqlite/connection.js.map +1 -1
  162. package/dist/storage/sqlite/index-io.d.ts +5 -0
  163. package/dist/storage/sqlite/index-io.d.ts.map +1 -1
  164. package/dist/storage/sqlite/index-io.js +98 -9
  165. package/dist/storage/sqlite/index-io.js.map +1 -1
  166. package/dist/storage/sqlite/meta.d.ts +7 -0
  167. package/dist/storage/sqlite/meta.d.ts.map +1 -1
  168. package/dist/storage/sqlite/meta.js.map +1 -1
  169. package/dist/storage/sqlite/queries.d.ts +66 -0
  170. package/dist/storage/sqlite/queries.d.ts.map +1 -0
  171. package/dist/storage/sqlite/queries.js +196 -0
  172. package/dist/storage/sqlite/queries.js.map +1 -0
  173. package/dist/storage/sqlite/schema.d.ts +2 -2
  174. package/dist/storage/sqlite/schema.d.ts.map +1 -1
  175. package/dist/storage/sqlite/schema.js +36 -0
  176. package/dist/storage/sqlite/schema.js.map +1 -1
  177. package/dist/storage/sqlite-index-store.d.ts +3 -1
  178. package/dist/storage/sqlite-index-store.d.ts.map +1 -1
  179. package/dist/storage/sqlite-index-store.js +4 -1
  180. package/dist/storage/sqlite-index-store.js.map +1 -1
  181. package/dist/storage/telemetry/uploader.js +1 -1
  182. package/dist/storage/telemetry/uploader.js.map +1 -1
  183. package/dist/storage/usage-tracker.d.ts.map +1 -1
  184. package/dist/storage/usage-tracker.js +54 -2
  185. package/dist/storage/usage-tracker.js.map +1 -1
  186. package/dist/tools/boundary-tools.js +2 -2
  187. package/dist/tools/boundary-tools.js.map +1 -1
  188. package/dist/tools/community-tools.d.ts +7 -0
  189. package/dist/tools/community-tools.d.ts.map +1 -1
  190. package/dist/tools/community-tools.js +31 -14
  191. package/dist/tools/community-tools.js.map +1 -1
  192. package/dist/tools/complexity-tools.d.ts.map +1 -1
  193. package/dist/tools/complexity-tools.js +65 -45
  194. package/dist/tools/complexity-tools.js.map +1 -1
  195. package/dist/tools/conversation-index-tools.js +2 -2
  196. package/dist/tools/conversation-index-tools.js.map +1 -1
  197. package/dist/tools/conversation-search-tools.js +2 -2
  198. package/dist/tools/conversation-search-tools.js.map +1 -1
  199. package/dist/tools/coupling-tools.d.ts +2 -2
  200. package/dist/tools/coupling-tools.d.ts.map +1 -1
  201. package/dist/tools/coupling-tools.js +8 -13
  202. package/dist/tools/coupling-tools.js.map +1 -1
  203. package/dist/tools/diff-tools.d.ts.map +1 -1
  204. package/dist/tools/diff-tools.js +11 -14
  205. package/dist/tools/diff-tools.js.map +1 -1
  206. package/dist/tools/git-exec.d.ts +42 -0
  207. package/dist/tools/git-exec.d.ts.map +1 -0
  208. package/dist/tools/git-exec.js +53 -0
  209. package/dist/tools/git-exec.js.map +1 -0
  210. package/dist/tools/git-tree-guard.d.ts +23 -0
  211. package/dist/tools/git-tree-guard.d.ts.map +1 -0
  212. package/dist/tools/git-tree-guard.js +33 -0
  213. package/dist/tools/git-tree-guard.js.map +1 -0
  214. package/dist/tools/graph-tools.d.ts.map +1 -1
  215. package/dist/tools/graph-tools.js +5 -2
  216. package/dist/tools/graph-tools.js.map +1 -1
  217. package/dist/tools/hotspot-tools.d.ts +25 -0
  218. package/dist/tools/hotspot-tools.d.ts.map +1 -1
  219. package/dist/tools/hotspot-tools.js +24 -3
  220. package/dist/tools/hotspot-tools.js.map +1 -1
  221. package/dist/tools/impact-tools.d.ts.map +1 -1
  222. package/dist/tools/impact-tools.js +8 -9
  223. package/dist/tools/impact-tools.js.map +1 -1
  224. package/dist/tools/index-tools/file-indexer.d.ts +6 -0
  225. package/dist/tools/index-tools/file-indexer.d.ts.map +1 -1
  226. package/dist/tools/index-tools/file-indexer.js +184 -18
  227. package/dist/tools/index-tools/file-indexer.js.map +1 -1
  228. package/dist/tools/index-tools/folder-indexer.d.ts.map +1 -1
  229. package/dist/tools/index-tools/folder-indexer.js +59 -7
  230. package/dist/tools/index-tools/folder-indexer.js.map +1 -1
  231. package/dist/tools/index-tools/load-gate.d.ts +15 -0
  232. package/dist/tools/index-tools/load-gate.d.ts.map +1 -0
  233. package/dist/tools/index-tools/load-gate.js +57 -0
  234. package/dist/tools/index-tools/load-gate.js.map +1 -0
  235. package/dist/tools/index-tools/overload-guard.d.ts +16 -0
  236. package/dist/tools/index-tools/overload-guard.d.ts.map +1 -0
  237. package/dist/tools/index-tools/overload-guard.js +68 -0
  238. package/dist/tools/index-tools/overload-guard.js.map +1 -0
  239. package/dist/tools/index-tools/parse.d.ts +9 -0
  240. package/dist/tools/index-tools/parse.d.ts.map +1 -1
  241. package/dist/tools/index-tools/parse.js +9 -2
  242. package/dist/tools/index-tools/parse.js.map +1 -1
  243. package/dist/tools/index-tools/registry.d.ts +25 -1
  244. package/dist/tools/index-tools/registry.d.ts.map +1 -1
  245. package/dist/tools/index-tools/registry.js +149 -8
  246. package/dist/tools/index-tools/registry.js.map +1 -1
  247. package/dist/tools/index-tools/state.d.ts +46 -0
  248. package/dist/tools/index-tools/state.d.ts.map +1 -1
  249. package/dist/tools/index-tools/state.js +132 -0
  250. package/dist/tools/index-tools/state.js.map +1 -1
  251. package/dist/tools/index-tools/watcher.d.ts.map +1 -1
  252. package/dist/tools/index-tools/watcher.js +13 -5
  253. package/dist/tools/index-tools/watcher.js.map +1 -1
  254. package/dist/tools/index-tools/worktree-seed.d.ts +42 -1
  255. package/dist/tools/index-tools/worktree-seed.d.ts.map +1 -1
  256. package/dist/tools/index-tools/worktree-seed.js +165 -24
  257. package/dist/tools/index-tools/worktree-seed.js.map +1 -1
  258. package/dist/tools/index-tools.d.ts +2 -2
  259. package/dist/tools/index-tools.d.ts.map +1 -1
  260. package/dist/tools/index-tools.js +2 -2
  261. package/dist/tools/index-tools.js.map +1 -1
  262. package/dist/tools/journal-generator-helpers.d.ts.map +1 -1
  263. package/dist/tools/journal-generator-helpers.js +3 -1
  264. package/dist/tools/journal-generator-helpers.js.map +1 -1
  265. package/dist/tools/nest-guard-tools.d.ts +8 -0
  266. package/dist/tools/nest-guard-tools.d.ts.map +1 -1
  267. package/dist/tools/nest-guard-tools.js +7 -1
  268. package/dist/tools/nest-guard-tools.js.map +1 -1
  269. package/dist/tools/nest-pipeline-tools.d.ts.map +1 -1
  270. package/dist/tools/nest-pipeline-tools.js +5 -1
  271. package/dist/tools/nest-pipeline-tools.js.map +1 -1
  272. package/dist/tools/outline-tools.d.ts +4 -1
  273. package/dist/tools/outline-tools.d.ts.map +1 -1
  274. package/dist/tools/outline-tools.js +41 -4
  275. package/dist/tools/outline-tools.js.map +1 -1
  276. package/dist/tools/patterns/execution.d.ts.map +1 -1
  277. package/dist/tools/patterns/execution.js +28 -10
  278. package/dist/tools/patterns/execution.js.map +1 -1
  279. package/dist/tools/review-diff/checks/coupling.js +1 -1
  280. package/dist/tools/review-diff/checks/coupling.js.map +1 -1
  281. package/dist/tools/review-diff/constants.d.ts +9 -0
  282. package/dist/tools/review-diff/constants.d.ts.map +1 -1
  283. package/dist/tools/review-diff/constants.js +9 -0
  284. package/dist/tools/review-diff/constants.js.map +1 -1
  285. package/dist/tools/review-diff/orchestrator.d.ts.map +1 -1
  286. package/dist/tools/review-diff/orchestrator.js +35 -2
  287. package/dist/tools/review-diff/orchestrator.js.map +1 -1
  288. package/dist/tools/review-diff/types.d.ts +5 -0
  289. package/dist/tools/review-diff/types.d.ts.map +1 -1
  290. package/dist/tools/route-tools/file-sources.d.ts.map +1 -1
  291. package/dist/tools/route-tools/file-sources.js +8 -1
  292. package/dist/tools/route-tools/file-sources.js.map +1 -1
  293. package/dist/tools/route-tools/hono.d.ts.map +1 -1
  294. package/dist/tools/route-tools/hono.js +18 -4
  295. package/dist/tools/route-tools/hono.js.map +1 -1
  296. package/dist/tools/route-tools/laravel.js +1 -1
  297. package/dist/tools/route-tools/laravel.js.map +1 -1
  298. package/dist/tools/route-tools/mermaid-call-chain.d.ts.map +1 -1
  299. package/dist/tools/route-tools/mermaid-call-chain.js +9 -1
  300. package/dist/tools/route-tools/mermaid-call-chain.js.map +1 -1
  301. package/dist/tools/route-tools/nest.js +2 -2
  302. package/dist/tools/route-tools/nest.js.map +1 -1
  303. package/dist/tools/route-tools/next-trace.d.ts.map +1 -1
  304. package/dist/tools/route-tools/next-trace.js +16 -1
  305. package/dist/tools/route-tools/next-trace.js.map +1 -1
  306. package/dist/tools/route-tools/next.d.ts.map +1 -1
  307. package/dist/tools/route-tools/next.js +10 -3
  308. package/dist/tools/route-tools/next.js.map +1 -1
  309. package/dist/tools/route-tools/route-mermaid.d.ts.map +1 -1
  310. package/dist/tools/route-tools/route-mermaid.js +7 -1
  311. package/dist/tools/route-tools/route-mermaid.js.map +1 -1
  312. package/dist/tools/route-tools/spring-kotlin.d.ts.map +1 -1
  313. package/dist/tools/route-tools/spring-kotlin.js +4 -1
  314. package/dist/tools/route-tools/spring-kotlin.js.map +1 -1
  315. package/dist/tools/route-tools/trace-route.d.ts.map +1 -1
  316. package/dist/tools/route-tools/trace-route.js +12 -4
  317. package/dist/tools/route-tools/trace-route.js.map +1 -1
  318. package/dist/tools/route-tools/yii2.d.ts.map +1 -1
  319. package/dist/tools/route-tools/yii2.js +14 -9
  320. package/dist/tools/route-tools/yii2.js.map +1 -1
  321. package/dist/tools/secret-detectors.d.ts +10 -1
  322. package/dist/tools/secret-detectors.d.ts.map +1 -1
  323. package/dist/tools/secret-detectors.js +16 -2
  324. package/dist/tools/secret-detectors.js.map +1 -1
  325. package/dist/tools/secret-file-scanner.d.ts +3 -1
  326. package/dist/tools/secret-file-scanner.d.ts.map +1 -1
  327. package/dist/tools/secret-file-scanner.js +4 -2
  328. package/dist/tools/secret-file-scanner.js.map +1 -1
  329. package/dist/tools/secret-tools.d.ts +7 -0
  330. package/dist/tools/secret-tools.d.ts.map +1 -1
  331. package/dist/tools/secret-tools.js +62 -5
  332. package/dist/tools/secret-tools.js.map +1 -1
  333. package/dist/tools/status-tools.d.ts +20 -0
  334. package/dist/tools/status-tools.d.ts.map +1 -1
  335. package/dist/tools/status-tools.js +46 -0
  336. package/dist/tools/status-tools.js.map +1 -1
  337. package/dist/tools/symbol-analysis-tools.d.ts.map +1 -1
  338. package/dist/tools/symbol-analysis-tools.js +27 -2
  339. package/dist/tools/symbol-analysis-tools.js.map +1 -1
  340. package/dist/tools/symbol-reference-tools.d.ts +17 -0
  341. package/dist/tools/symbol-reference-tools.d.ts.map +1 -1
  342. package/dist/tools/symbol-reference-tools.js +23 -4
  343. package/dist/tools/symbol-reference-tools.js.map +1 -1
  344. package/dist/tools/symbol-tool-internals.d.ts +10 -0
  345. package/dist/tools/symbol-tool-internals.d.ts.map +1 -1
  346. package/dist/tools/symbol-tool-internals.js +16 -1
  347. package/dist/tools/symbol-tool-internals.js.map +1 -1
  348. package/dist/tools/test-impact-tools.d.ts +3 -0
  349. package/dist/tools/test-impact-tools.d.ts.map +1 -1
  350. package/dist/tools/test-impact-tools.js +26 -4
  351. package/dist/tools/test-impact-tools.js.map +1 -1
  352. package/dist/tools/wiki-overview-sources.d.ts.map +1 -1
  353. package/dist/tools/wiki-overview-sources.js +3 -0
  354. package/dist/tools/wiki-overview-sources.js.map +1 -1
  355. package/dist/utils/import-graph/collect.d.ts +2 -3
  356. package/dist/utils/import-graph/collect.d.ts.map +1 -1
  357. package/dist/utils/import-graph/collect.js +73 -8
  358. package/dist/utils/import-graph/collect.js.map +1 -1
  359. package/dist/utils/import-graph/edge-accumulator.d.ts.map +1 -1
  360. package/dist/utils/import-graph/edge-accumulator.js +5 -0
  361. package/dist/utils/import-graph/edge-accumulator.js.map +1 -1
  362. package/dist/utils/import-graph/edge-cache.d.ts +15 -0
  363. package/dist/utils/import-graph/edge-cache.d.ts.map +1 -0
  364. package/dist/utils/import-graph/edge-cache.js +98 -0
  365. package/dist/utils/import-graph/edge-cache.js.map +1 -0
  366. package/dist/utils/import-graph/language-imports.d.ts +2 -2
  367. package/dist/utils/import-graph/language-imports.d.ts.map +1 -1
  368. package/dist/utils/import-graph/language-imports.js.map +1 -1
  369. package/dist/utils/import-graph/path-map.d.ts +2 -2
  370. package/dist/utils/import-graph/path-map.d.ts.map +1 -1
  371. package/dist/utils/import-graph/path-map.js.map +1 -1
  372. package/dist/utils/import-graph/python-php-edge-collectors.d.ts +11 -4
  373. package/dist/utils/import-graph/python-php-edge-collectors.d.ts.map +1 -1
  374. package/dist/utils/import-graph/python-php-edge-collectors.js +22 -5
  375. package/dist/utils/import-graph/python-php-edge-collectors.js.map +1 -1
  376. package/dist/utils/import-graph/source-edge-collector.d.ts +2 -3
  377. package/dist/utils/import-graph/source-edge-collector.d.ts.map +1 -1
  378. package/dist/utils/import-graph/source-edge-collector.js +7 -2
  379. package/dist/utils/import-graph/source-edge-collector.js.map +1 -1
  380. package/dist/utils/import-graph/types.d.ts +36 -1
  381. package/dist/utils/import-graph/types.d.ts.map +1 -1
  382. package/dist/utils/import-graph/typescript-edge-collector.d.ts +2 -3
  383. package/dist/utils/import-graph/typescript-edge-collector.d.ts.map +1 -1
  384. package/dist/utils/import-graph/typescript-edge-collector.js +6 -2
  385. package/dist/utils/import-graph/typescript-edge-collector.js.map +1 -1
  386. package/dist/utils/import-graph/workspace-alias.d.ts +2 -2
  387. package/dist/utils/import-graph/workspace-alias.d.ts.map +1 -1
  388. package/dist/utils/import-graph/workspace-alias.js.map +1 -1
  389. package/dist/utils/language-detect.d.ts +2 -4
  390. package/dist/utils/language-detect.d.ts.map +1 -1
  391. package/dist/utils/language-detect.js +26 -4
  392. package/dist/utils/language-detect.js.map +1 -1
  393. package/dist/utils/python-imports.d.ts +20 -0
  394. package/dist/utils/python-imports.d.ts.map +1 -1
  395. package/dist/utils/python-imports.js +52 -0
  396. package/dist/utils/python-imports.js.map +1 -1
  397. package/dist/utils/ts-imports.d.ts +16 -0
  398. package/dist/utils/ts-imports.d.ts.map +1 -1
  399. package/dist/utils/ts-imports.js +65 -3
  400. package/dist/utils/ts-imports.js.map +1 -1
  401. package/package.json +1 -1
@@ -17,13 +17,51 @@ export interface SeedResult {
17
17
  * that did not happen — the failure mode would be an index that looks complete and describes
18
18
  * another tree, which is exactly the confusion this feature exists to end.
19
19
  */
20
+ /**
21
+ * The best index to copy from — not necessarily the parent checkout's.
22
+ *
23
+ * The seed used to take the parent unconditionally, and that is wrong for how these worktrees are
24
+ * actually made. Measured 2026-09-02 on tgm-survey-platform: the main checkout was sitting on
25
+ * `chore/stryker-native-mutation-setup`, **5,324 files** away from `develop`. Every worktree cut
26
+ * from develop therefore had to rewrite 5,044 files, blew the catch-up ceiling, and fell back to a
27
+ * full index — 216 s median, and 9,490 s at the tail.
28
+ *
29
+ * The workload makes it worse than a single bad choice. Ten worktrees get created at once, all from
30
+ * the same develop commit. The first pays a full index; the other nine are byte-identical to it and
31
+ * still each paid their own, because the only donor ever considered was a checkout on an unrelated
32
+ * branch.
33
+ *
34
+ * So: prefer a sibling already indexed AT THE SAME COMMIT — distance zero, nothing to catch up, and
35
+ * free to detect since the registry already records `last_git_commit`. Falling back to the parent
36
+ * keeps the previous behaviour when no sibling exists.
37
+ *
38
+ * Deliberately no git call in the selection path. Ranking candidates by real diff size would mean
39
+ * one `git diff` per candidate, and this repository has 97 registered siblings — the search would
40
+ * cost more than the copy it is choosing. An exact commit match is the case that matters and it is
41
+ * free; anything else falls through to the parent and is decided by the ceiling as before.
42
+ */
43
+ export declare function pickSeedDonor(registryPath: string, parentName: string, parent: {
44
+ root: string;
45
+ index_path: string;
46
+ last_git_commit?: string | undefined;
47
+ }, worktreeHead: string | null): Promise<{
48
+ name: string;
49
+ root: string;
50
+ index_path: string;
51
+ commit: string | null;
52
+ sameCommit: boolean;
53
+ }>;
20
54
  export declare function seedWorktreeIndexFromParent(worktreeRoot: string, worktreeName: string, worktreeIndexPath: string): Promise<SeedResult>;
21
55
  /** Size of the parent index, for deciding whether a seed is even worth reporting. */
22
56
  export declare function parentIndexBytes(parentDbPath: string): number;
57
+ export declare function catchUpCeiling(seededFileCount: number | undefined): number;
23
58
  export interface CatchUpResult {
24
59
  caught_up: boolean;
25
60
  reason?: string;
26
61
  updated?: number;
62
+ /** Files the catch-up could not index — a crashing parser worker looks exactly like a binary
63
+ * file here, and only the caller can tell that a just-edited source file going missing matters. */
64
+ failed?: string[];
27
65
  removed?: number;
28
66
  changed_total?: number;
29
67
  head?: string;
@@ -40,5 +78,8 @@ export interface CatchUpResult {
40
78
  * - **Untracked files.** New files are the single most likely thing an agent wants to find in the
41
79
  * tree it is working in, and they appear in no commit diff at all.
42
80
  */
43
- export declare function catchUpSeededWorktree(worktreeRoot: string, repoName: string, fromCommit: string | null): Promise<CatchUpResult>;
81
+ export declare function catchUpSeededWorktree(worktreeRoot: string, repoName: string, fromCommit: string | null,
82
+ /** Files the seed copied in. The ceiling is a fraction of this; omitting it falls back to the
83
+ * flat floor, which is what a caller that cannot know the size should get. */
84
+ seededFileCount?: number): Promise<CatchUpResult>;
44
85
  //# sourceMappingURL=worktree-seed.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-seed.d.ts","sourceRoot":"","sources":["../../../src/tools/index-tools/worktree-seed.ts"],"names":[],"mappings":"AAuCA,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2FAA2F;IAC3F,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAOD;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,CAC/C,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,UAAU,CAAC,CA8HrB;AAED,qFAAqF;AACrF,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAM7D;AAcD,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAUD;;;;;;;;;;;GAWG;AACH,wBAAsB,qBAAqB,CACzC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GAAG,IAAI,GACxB,OAAO,CAAC,aAAa,CAAC,CAoFxB"}
1
+ {"version":3,"file":"worktree-seed.d.ts","sourceRoot":"","sources":["../../../src/tools/index-tools/worktree-seed.ts"],"names":[],"mappings":"AAwCA,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2FAA2F;IAC3F,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAOD;;;;;;;GAOG;AACH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,aAAa,CACjC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EAClF,YAAY,EAAE,MAAM,GAAG,IAAI,GAC1B,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC,CA6BzG;AAED,wBAAsB,2BAA2B,CAC/C,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,UAAU,CAAC,CAoJrB;AAED,qFAAqF;AACrF,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAM7D;AA4DD,wBAAgB,cAAc,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAG1E;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;wGACoG;IACpG,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAYD;;;;;;;;;;;GAWG;AACH,wBAAsB,qBAAqB,CACzC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GAAG,IAAI;AACzB;+EAC+E;AAC/E,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,aAAa,CAAC,CA6FxB"}
@@ -29,11 +29,12 @@
29
29
  * borrowed from a different question. It also excludes deletions by design (`--diff-filter=ACMR`)
30
30
  * and never looks at untracked files, both of which matter far more here than in its own use.
31
31
  */
32
+ import { runGit } from "../git-exec.js";
32
33
  import { existsSync, statSync } from "node:fs";
33
- import { execFileSync } from "node:child_process";
34
34
  import { join } from "node:path";
35
35
  import { rename, unlink } from "node:fs/promises";
36
36
  import { getRepo, registerRepo, getRepoName } from "../../storage/registry.js";
37
+ import { sqlitePathFor } from "../../storage/index-store.js";
37
38
  import { findWorkingTree, canonicalPath } from "../../utils/worktree.js";
38
39
  import { loadConfig } from "../../config.js";
39
40
  /** SQLite string literal. Double-quoting would make the path an IDENTIFIER and fail. */
@@ -48,8 +49,74 @@ function sqlLiteral(value) {
48
49
  * that did not happen — the failure mode would be an index that looks complete and describes
49
50
  * another tree, which is exactly the confusion this feature exists to end.
50
51
  */
52
+ /**
53
+ * The best index to copy from — not necessarily the parent checkout's.
54
+ *
55
+ * The seed used to take the parent unconditionally, and that is wrong for how these worktrees are
56
+ * actually made. Measured 2026-09-02 on tgm-survey-platform: the main checkout was sitting on
57
+ * `chore/stryker-native-mutation-setup`, **5,324 files** away from `develop`. Every worktree cut
58
+ * from develop therefore had to rewrite 5,044 files, blew the catch-up ceiling, and fell back to a
59
+ * full index — 216 s median, and 9,490 s at the tail.
60
+ *
61
+ * The workload makes it worse than a single bad choice. Ten worktrees get created at once, all from
62
+ * the same develop commit. The first pays a full index; the other nine are byte-identical to it and
63
+ * still each paid their own, because the only donor ever considered was a checkout on an unrelated
64
+ * branch.
65
+ *
66
+ * So: prefer a sibling already indexed AT THE SAME COMMIT — distance zero, nothing to catch up, and
67
+ * free to detect since the registry already records `last_git_commit`. Falling back to the parent
68
+ * keeps the previous behaviour when no sibling exists.
69
+ *
70
+ * Deliberately no git call in the selection path. Ranking candidates by real diff size would mean
71
+ * one `git diff` per candidate, and this repository has 97 registered siblings — the search would
72
+ * cost more than the copy it is choosing. An exact commit match is the case that matters and it is
73
+ * free; anything else falls through to the parent and is decided by the ceiling as before.
74
+ */
75
+ export async function pickSeedDonor(registryPath, parentName, parent, worktreeHead) {
76
+ const fallback = {
77
+ name: parentName,
78
+ root: parent.root,
79
+ index_path: parent.index_path,
80
+ commit: parent.last_git_commit ?? null,
81
+ sameCommit: false,
82
+ };
83
+ if (!worktreeHead)
84
+ return fallback;
85
+ if (parent.last_git_commit === worktreeHead)
86
+ return { ...fallback, sameCommit: true };
87
+ const { listRepos } = await import("../../storage/registry.js");
88
+ const all = await listRepos(registryPath).catch(() => []);
89
+ for (const candidate of all) {
90
+ if (candidate.name === parentName)
91
+ continue;
92
+ if (candidate.last_git_commit !== worktreeHead)
93
+ continue;
94
+ // Same repository, not merely the same commit id: a sibling worktree shares the parent's root
95
+ // as a path ancestor, or is the parent itself. Without this a coincidentally equal sha in an
96
+ // unrelated repo would seed the wrong tree — the exact failure this feature exists to avoid.
97
+ if (!existsSync(sqlitePathFor(candidate.index_path)))
98
+ continue;
99
+ return {
100
+ name: candidate.name,
101
+ root: candidate.root,
102
+ index_path: candidate.index_path,
103
+ commit: candidate.last_git_commit ?? null,
104
+ sameCommit: true,
105
+ };
106
+ }
107
+ return fallback;
108
+ }
51
109
  export async function seedWorktreeIndexFromParent(worktreeRoot, worktreeName, worktreeIndexPath) {
52
110
  const started = Date.now();
111
+ // FIRST, and cheapest. A tree that is gone is reported as gone rather than as "not a linked
112
+ // worktree": measured 2026-08-30, three worktrees of tgm-survey-platform were each copied for
113
+ // **42 seconds** (15,422 files, 243,870 symbols) and the result thrown away, because the check
114
+ // that would have refused them ran AFTER the copy. All three had been created by an agent and
115
+ // deleted while indexing ran, and the message that came back sent a reader looking for a git
116
+ // fault that did not exist. A vanished tree and a broken checkout need different answers.
117
+ if (!existsSync(worktreeRoot)) {
118
+ return { seeded: false, reason: `worktree is gone (${worktreeRoot})` };
119
+ }
53
120
  const tree = findWorkingTree(worktreeRoot);
54
121
  if (!tree?.linked || !tree.mainRoot) {
55
122
  return { seeded: false, reason: "not a linked worktree" };
@@ -75,8 +142,18 @@ export async function seedWorktreeIndexFromParent(worktreeRoot, worktreeName, wo
75
142
  reason: `parent entry ${parentName} points at ${parent.root}, not ${tree.mainRoot}`,
76
143
  };
77
144
  }
78
- const { sqlitePathFor } = await import("../../storage/index-store.js");
79
- const parentDb = sqlitePathFor(parent.index_path);
145
+ // The last check before the expensive part. A seed is only worth copying if
146
+ // `catchUpSeededWorktree` can then bring it to this tree's HEAD, and that needs a working
147
+ // `git rev-parse` here. Asking afterwards is what made those 42-second copies pure waste.
148
+ // It is also what picks the donor, so it has to happen before anything is copied.
149
+ const worktreeHead = (await runGit(["rev-parse", "HEAD"], { cwd: worktreeRoot, timeout: 5_000 })
150
+ .then((out) => out.trim())
151
+ .catch(() => null));
152
+ if (worktreeHead === null) {
153
+ return { seeded: false, reason: "not a git checkout — nothing to catch the seed up to" };
154
+ }
155
+ const donor = await pickSeedDonor(config.registryPath, parentName, parent, worktreeHead);
156
+ const parentDb = sqlitePathFor(donor.index_path);
80
157
  const targetDb = sqlitePathFor(worktreeIndexPath);
81
158
  if (!existsSync(parentDb)) {
82
159
  return { seeded: false, reason: "parent index is not in the SQLite backend" };
@@ -113,7 +190,7 @@ export async function seedWorktreeIndexFromParent(worktreeRoot, worktreeName, wo
113
190
  // Safe as a bulk UPDATE because v2 dropped the PRIMARY KEY on `symbols.id` — ids are not
114
191
  // unique (TypeScript's type and value namespaces put two on one line), so there is no
115
192
  // conflict to resolve.
116
- const oldPrefix = `${parent.name}:`;
193
+ const oldPrefix = `${donor.name}:`;
117
194
  const newPrefix = `${worktreeName}:`;
118
195
  copy.exec("BEGIN IMMEDIATE");
119
196
  copy.prepare("UPDATE symbols SET id = ? || substr(id, ?)").run(newPrefix, oldPrefix.length + 1);
@@ -152,15 +229,15 @@ export async function seedWorktreeIndexFromParent(worktreeRoot, worktreeName, wo
152
229
  index_path: worktreeIndexPath,
153
230
  file_count: files,
154
231
  symbol_count: symbols,
155
- last_git_commit: parent.last_git_commit ?? null,
232
+ last_git_commit: donor.commit,
156
233
  indexed_at: Date.now(),
157
234
  });
158
235
  return {
159
236
  seeded: true,
160
- parent_repo: parent.name,
237
+ parent_repo: donor.name,
161
238
  files,
162
239
  symbols,
163
- seeded_at_commit: parent.last_git_commit ?? null,
240
+ seeded_at_commit: donor.commit,
164
241
  elapsed_ms: Date.now() - started,
165
242
  };
166
243
  }
@@ -188,15 +265,67 @@ export function parentIndexBytes(parentDbPath) {
188
265
  * correct. Here it is weighed against parsing 14,226 files from scratch — measured: delegating a
189
266
  * 65-file catch-up to that 50-file threshold turned a seed that took milliseconds into a ten-minute
190
267
  * full index, which is the entire feature undone by a constant borrowed from a different question.
268
+ *
269
+ * ---------------------------------------------------------------------------
270
+ * And then the same mistake was made here, one level up (2026-08-30)
271
+ * ---------------------------------------------------------------------------
272
+ *
273
+ * A flat 3000 was chosen against the measurement above: parent 14,891 files, worktree 14,405,
274
+ * eleven different. That holds only while the PARENT index is fresh. In practice it trails the
275
+ * branch by a couple of days, so a worktree cut from `develop` differs from it by ~4,100 files —
276
+ * and the seed was declined every single time. Measured over the live logs: `seeded from` 0,
277
+ * `seed not usable` 28. The feature had never once run.
278
+ *
279
+ * ---------------------------------------------------------------------------
280
+ * Third correction, and this one was a REGRESSION I shipped (2026-09-01)
281
+ * ---------------------------------------------------------------------------
282
+ *
283
+ * The fix above raised the ceiling to 60% of the tree on the strength of this comparison:
284
+ *
285
+ * full index, one tgm-survey-platform worktree 6,412 s / 15,422 files = 416 ms per file
286
+ * catch-up, per changed file (index_file p90) 283 ms per file
287
+ *
288
+ * The second number was wrong, and wrong in the way telemetry medians usually are: `index_file`'s
289
+ * distribution is dominated by calls that SHORT-CIRCUIT on an unchanged file (14 ms median). For a
290
+ * file that actually has to be read, parsed and saved, the real cost is far higher. Measured from
291
+ * the catch-ups the raised ceiling then allowed to run:
292
+ *
293
+ * 3,778 changed files 9,489 s (158 min) 2.5 s per file
294
+ * 778 changed files 5,483 s ( 91 min) 7.0 s per file
295
+ * 772 changed files 4,496 s ( 75 min) 5.8 s per file
296
+ * 356 changed files 575 s ( 10 min) 1.6 s per file
297
+ *
298
+ * So the catch-up is 4-17x MORE expensive per file than the walk it replaces, not cheaper. It is
299
+ * sequential — one stat, read, hash, parse and DB write per file — against a walk that parses eight
300
+ * at a time and writes once. On the 3,778-file case the "optimisation" took 158 minutes where the
301
+ * full index it replaced takes 107.
302
+ *
303
+ * Crossover, from those two per-file costs: catching up N files beats re-walking a tree of T when
304
+ * N * ~4s < T * 0.416s, i.e. below roughly a TENTH of the tree. The ceiling is that tenth.
305
+ *
306
+ * The floor goes with it. 3000 was never a floor in any real sense — on a 1,055-file repository it
307
+ * admitted the entire tree, which is how rs_admin came to spend 91 minutes catching up 778 of its
308
+ * 1,055 files. A floor exists so a tiny repository is not forced into a walk for a handful of
309
+ * changes; 100 does that and nothing more.
310
+ *
311
+ * The asymmetry is the reason to err low: refusing costs a predictable full index, while accepting
312
+ * costs a catch-up with no ceiling on how long it runs.
191
313
  */
192
- const MAX_CATCHUP_FILES = 3000;
193
- function git(args, cwd) {
194
- try {
195
- return execFileSync("git", args, { cwd, encoding: "utf-8", timeout: 15_000 });
196
- }
197
- catch {
198
- return null;
199
- }
314
+ const MAX_CATCHUP_FILES_FLOOR = 100;
315
+ const MAX_CATCHUP_TREE_FRACTION = 0.1;
316
+ export function catchUpCeiling(seededFileCount) {
317
+ if (seededFileCount === undefined || seededFileCount <= 0)
318
+ return MAX_CATCHUP_FILES_FLOOR;
319
+ return Math.max(MAX_CATCHUP_FILES_FLOOR, Math.round(seededFileCount * MAX_CATCHUP_TREE_FRACTION));
320
+ }
321
+ /**
322
+ * git, without stopping the shared daemon.
323
+ *
324
+ * `execFileSync` froze the whole process for as long as the child ran — up to 15 s per call, three
325
+ * calls per catch-up — and one process answers every client on this machine. See git-exec.ts.
326
+ */
327
+ async function git(args, cwd) {
328
+ return runGit(args, { cwd, timeout: 15_000 }).catch(() => null);
200
329
  }
201
330
  /**
202
331
  * Bring a freshly seeded worktree index from the parent's commit to this tree's actual state.
@@ -210,8 +339,11 @@ function git(args, cwd) {
210
339
  * - **Untracked files.** New files are the single most likely thing an agent wants to find in the
211
340
  * tree it is working in, and they appear in no commit diff at all.
212
341
  */
213
- export async function catchUpSeededWorktree(worktreeRoot, repoName, fromCommit) {
214
- const head = git(["rev-parse", "HEAD"], worktreeRoot)?.trim();
342
+ export async function catchUpSeededWorktree(worktreeRoot, repoName, fromCommit,
343
+ /** Files the seed copied in. The ceiling is a fraction of this; omitting it falls back to the
344
+ * flat floor, which is what a caller that cannot know the size should get. */
345
+ seededFileCount) {
346
+ const head = (await git(["rev-parse", "HEAD"], worktreeRoot))?.trim();
215
347
  if (!head)
216
348
  return { caught_up: false, reason: "not a git checkout" };
217
349
  if (!fromCommit)
@@ -219,7 +351,7 @@ export async function catchUpSeededWorktree(worktreeRoot, repoName, fromCommit)
219
351
  const changed = new Set();
220
352
  const removed = new Set();
221
353
  if (fromCommit !== head) {
222
- const diff = git(["diff", "--name-status", `${fromCommit}..${head}`], worktreeRoot);
354
+ const diff = await git(["diff", "--name-status", `${fromCommit}..${head}`], worktreeRoot);
223
355
  if (diff === null) {
224
356
  // The parent's commit is unreachable from here — a rebase, a squash, or a worktree on an
225
357
  // unrelated branch. Nothing can be diffed against it, so the seed cannot be trusted to be a
@@ -243,7 +375,7 @@ export async function catchUpSeededWorktree(worktreeRoot, repoName, fromCommit)
243
375
  }
244
376
  }
245
377
  // Working tree on top of HEAD: modified, staged, and untracked alike.
246
- const status = git(["status", "--porcelain", "--untracked-files=all"], worktreeRoot);
378
+ const status = await git(["status", "--porcelain", "--untracked-files=all"], worktreeRoot);
247
379
  if (status !== null) {
248
380
  for (const line of status.split("\n")) {
249
381
  if (line.length < 4)
@@ -261,8 +393,9 @@ export async function catchUpSeededWorktree(worktreeRoot, repoName, fromCommit)
261
393
  for (const path of removed)
262
394
  changed.delete(path);
263
395
  const total = changed.size + removed.size;
264
- if (total > MAX_CATCHUP_FILES) {
265
- return { caught_up: false, reason: `${total} files differ (> ${MAX_CATCHUP_FILES})`, changed_total: total };
396
+ const ceiling = catchUpCeiling(seededFileCount);
397
+ if (total > ceiling) {
398
+ return { caught_up: false, reason: `${total} files differ (> ${ceiling})`, changed_total: total };
266
399
  }
267
400
  const { indexFile } = await import("./file-indexer.js");
268
401
  const { removeFileFromIndex } = await import("../../storage/index-store.js");
@@ -270,14 +403,19 @@ export async function catchUpSeededWorktree(worktreeRoot, repoName, fromCommit)
270
403
  const config = loadConfig();
271
404
  const meta = await readRepo(config.registryPath, repoName);
272
405
  let updated = 0;
406
+ const failed = [];
273
407
  for (const rel of changed) {
274
408
  try {
275
409
  await indexFile(join(worktreeRoot, rel));
276
410
  updated++;
277
411
  }
278
412
  catch {
279
- // Unparseable, binary, filtered by the walker's rules, or deleted between the diff and now.
280
- // Not an error: the file simply has no place in the index.
413
+ // Usually benign — binary, filtered by the walker's rules, or deleted between the diff and
414
+ // now. But a crashing parser worker lands here too, and THAT means a file the caller just
415
+ // edited is missing from the index while the result still reports success. Swallowing both
416
+ // identically is what made that indistinguishable, so the count travels back and the caller
417
+ // decides what it means.
418
+ failed.push(rel);
281
419
  }
282
420
  }
283
421
  let removedCount = 0;
@@ -297,6 +435,9 @@ export async function catchUpSeededWorktree(worktreeRoot, repoName, fromCommit)
297
435
  last_git_commit: head,
298
436
  updated_at: Date.now(),
299
437
  });
300
- return { caught_up: true, updated, removed: removedCount, changed_total: total, head };
438
+ return {
439
+ caught_up: true, updated, removed: removedCount, changed_total: total, head,
440
+ ...(failed.length > 0 ? { failed } : {}),
441
+ };
301
442
  }
302
443
  //# sourceMappingURL=worktree-seed.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-seed.js","sourceRoot":"","sources":["../../../src/tools/index-tools/worktree-seed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worktree-seed.js","sourceRoot":"","sources":["../../../src/tools/index-tools/worktree-seed.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { indexFolder, resetIndexFolderRedundancyForTesting, type IndexFolderResult } from "./index-tools/folder-indexer.js";
2
2
  import { indexFile, clearLastIndexedStateForTesting, ensureIndexFresh, resetFreshnessCache } from "./index-tools/file-indexer.js";
3
- import { listAllRepos, invalidateCache, getBM25Index, getCodeIndex, getIndexSummary, getEmbeddingCache, autoIndexCurrentRepo, _cachedEmbeddingReposForTesting, _embeddingLoadCountForTesting, _resetEmbeddingLoadCountForTesting, type RepoSummary } from "./index-tools/registry.js";
3
+ import { listAllRepos, invalidateCache, getBM25Index, getCodeIndex, getIndexSummary, findRepoSymbols, streamRepoSymbols, getEmbeddingCache, autoIndexCurrentRepo, _cachedEmbeddingReposForTesting, _embeddingLoadCountForTesting, _resetEmbeddingLoadCountForTesting, type RepoSummary } from "./index-tools/registry.js";
4
4
  import { embedSymbols } from "./index-tools/parse.js";
5
5
  import { drainLegacyHashQueue, ASTRO_LOCK_FILENAME, EXTRACTOR_VERSIONS_FILENAME, checkAstroExtractorVersion, type AstroReindexResult } from "./index-tools/snapshots.js";
6
- export { indexFolder, resetIndexFolderRedundancyForTesting, indexFile, clearLastIndexedStateForTesting, ensureIndexFresh, resetFreshnessCache, listAllRepos, invalidateCache, getBM25Index, getCodeIndex, getIndexSummary, getEmbeddingCache, autoIndexCurrentRepo, _cachedEmbeddingReposForTesting, _embeddingLoadCountForTesting, _resetEmbeddingLoadCountForTesting, embedSymbols, drainLegacyHashQueue, ASTRO_LOCK_FILENAME, EXTRACTOR_VERSIONS_FILENAME, checkAstroExtractorVersion, };
6
+ export { indexFolder, resetIndexFolderRedundancyForTesting, indexFile, clearLastIndexedStateForTesting, ensureIndexFresh, resetFreshnessCache, listAllRepos, invalidateCache, getBM25Index, getCodeIndex, getIndexSummary, findRepoSymbols, streamRepoSymbols, getEmbeddingCache, autoIndexCurrentRepo, _cachedEmbeddingReposForTesting, _embeddingLoadCountForTesting, _resetEmbeddingLoadCountForTesting, embedSymbols, drainLegacyHashQueue, ASTRO_LOCK_FILENAME, EXTRACTOR_VERSIONS_FILENAME, checkAstroExtractorVersion, };
7
7
  export type { IndexFolderResult, RepoSummary, AstroReindexResult };
8
8
  export declare function indexRepo(url: string, options?: {
9
9
  branch?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index-tools.d.ts","sourceRoot":"","sources":["../../src/tools/index-tools.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,oCAAoC,EAAE,KAAK,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAC5H,OAAO,EAAE,SAAS,EAAE,+BAA+B,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAClI,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,kCAAkC,EAAE,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACtR,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAczK,OAAO,EACL,WAAW,EACX,oCAAoC,EACpC,SAAS,EACT,+BAA+B,EAC/B,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,+BAA+B,EAC/B,6BAA6B,EAC7B,kCAAkC,EAClC,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC3B,0BAA0B,GAC3B,CAAC;AACF,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;AAEnE,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACtC,GACA,OAAO,CAAC,iBAAiB,CAAC,CAgE5B;AAED;;;;;;;;;;GAUG;AAEH;;;;mEAImE;AACnE,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAU/D"}
1
+ {"version":3,"file":"index-tools.d.ts","sourceRoot":"","sources":["../../src/tools/index-tools.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,oCAAoC,EAAE,KAAK,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAC5H,OAAO,EAAE,SAAS,EAAE,+BAA+B,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAClI,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,kCAAkC,EAAE,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC1T,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAczK,OAAO,EACL,WAAW,EACX,oCAAoC,EACpC,SAAS,EACT,+BAA+B,EAC/B,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,+BAA+B,EAC/B,6BAA6B,EAC7B,kCAAkC,EAClC,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC3B,0BAA0B,GAC3B,CAAC;AACF,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;AAEnE,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACtC,GACA,OAAO,CAAC,iBAAiB,CAAC,CAgE5B;AAED;;;;;;;;;;GAUG;AAEH;;;;mEAImE;AACnE,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAU/D"}
@@ -6,14 +6,14 @@ import { loadConfig } from "../config.js";
6
6
  import { stopWatcher } from "../storage/watcher.js";
7
7
  import { indexFolder, resetIndexFolderRedundancyForTesting } from "./index-tools/folder-indexer.js";
8
8
  import { indexFile, clearLastIndexedStateForTesting, ensureIndexFresh, resetFreshnessCache } from "./index-tools/file-indexer.js";
9
- import { listAllRepos, invalidateCache, getBM25Index, getCodeIndex, getIndexSummary, getEmbeddingCache, autoIndexCurrentRepo, _cachedEmbeddingReposForTesting, _embeddingLoadCountForTesting, _resetEmbeddingLoadCountForTesting } from "./index-tools/registry.js";
9
+ import { listAllRepos, invalidateCache, getBM25Index, getCodeIndex, getIndexSummary, findRepoSymbols, streamRepoSymbols, getEmbeddingCache, autoIndexCurrentRepo, _cachedEmbeddingReposForTesting, _embeddingLoadCountForTesting, _resetEmbeddingLoadCountForTesting } from "./index-tools/registry.js";
10
10
  import { embedSymbols } from "./index-tools/parse.js";
11
11
  import { drainLegacyHashQueue, ASTRO_LOCK_FILENAME, EXTRACTOR_VERSIONS_FILENAME, checkAstroExtractorVersion } from "./index-tools/snapshots.js";
12
12
  import { activeWatchers, bm25Indexes, codeIndexes, embeddingCaches, embeddingCacheGenerations, embeddingCacheSources, } from "./index-tools/state.js";
13
13
  const GIT_CLONE_TIMEOUT_MS = 120_000;
14
14
  const GIT_CHECKOUT_TIMEOUT_MS = 30_000;
15
15
  const GIT_PULL_TIMEOUT_MS = 60_000;
16
- export { indexFolder, resetIndexFolderRedundancyForTesting, indexFile, clearLastIndexedStateForTesting, ensureIndexFresh, resetFreshnessCache, listAllRepos, invalidateCache, getBM25Index, getCodeIndex, getIndexSummary, getEmbeddingCache, autoIndexCurrentRepo, _cachedEmbeddingReposForTesting, _embeddingLoadCountForTesting, _resetEmbeddingLoadCountForTesting, embedSymbols, drainLegacyHashQueue, ASTRO_LOCK_FILENAME, EXTRACTOR_VERSIONS_FILENAME, checkAstroExtractorVersion, };
16
+ export { indexFolder, resetIndexFolderRedundancyForTesting, indexFile, clearLastIndexedStateForTesting, ensureIndexFresh, resetFreshnessCache, listAllRepos, invalidateCache, getBM25Index, getCodeIndex, getIndexSummary, findRepoSymbols, streamRepoSymbols, getEmbeddingCache, autoIndexCurrentRepo, _cachedEmbeddingReposForTesting, _embeddingLoadCountForTesting, _resetEmbeddingLoadCountForTesting, embedSymbols, drainLegacyHashQueue, ASTRO_LOCK_FILENAME, EXTRACTOR_VERSIONS_FILENAME, checkAstroExtractorVersion, };
17
17
  export async function indexRepo(url, options) {
18
18
  validateGitUrl(url);
19
19
  if (options?.branch) {
@@ -1 +1 @@
1
- {"version":3,"file":"index-tools.js","sourceRoot":"","sources":["../../src/tools/index-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,oCAAoC,EAA0B,MAAM,iCAAiC,CAAC;AAC5H,OAAO,EAAE,SAAS,EAAE,+BAA+B,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAClI,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,kCAAkC,EAAoB,MAAM,2BAA2B,CAAC;AACtR,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,0BAA0B,EAA2B,MAAM,4BAA4B,CAAC;AACzK,OAAO,EACL,cAAc,EACd,WAAW,EACX,WAAW,EACX,eAAe,EACf,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,oBAAoB,GAAG,OAAO,CAAC;AACrC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AACvC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEnC,OAAO,EACL,WAAW,EACX,oCAAoC,EACpC,SAAS,EACT,+BAA+B,EAC/B,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,+BAA+B,EAC/B,6BAA6B,EAC7B,kCAAkC,EAClC,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC3B,0BAA0B,GAC3B,CAAC;AAGF,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,GAAW,EACX,OAGC;IAED,cAAc,CAAC,GAAG,CAAC,CAAC;IACpB,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE/C,0EAA0E;IAC1E,MAAM,UAAU,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhD,yEAAyE;IACzE,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAEhD,kDAAkD;IAClD,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACpB,UAAU,GAAG,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uCAAuC;IACzC,CAAC;IAED,iEAAiE;IACjE,sEAAsE;IACtE,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QACvC,IAAI,OAAO,EAAE,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QAClC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAC9E,CAAC;SAAM,CAAC;QACN,sBAAsB;QACtB,IAAI,CAAC;YACH,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;gBACpB,YAAY,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;oBACnE,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,uBAAuB;iBACjC,CAAC,CAAC;YACL,CAAC;YACD,YAAY,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE;gBAC5D,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,mBAAmB;aAC7B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,qDAAqD;YACrD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,kCAAkC,WAAW,iBAAiB,OAAO,EAAE,CAAC,CAAC;YACtF,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YACvC,IAAI,OAAO,EAAE,MAAM;gBAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;YAClC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,OAAO,WAAW,CAAC,WAAW,EAAE;QAC9B,aAAa,EAAE,OAAO,EAAE,aAAa;QACrC,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AAEH;;;;mEAImE;AACnE,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC7C,MAAM,QAAQ,GAAG,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,cAAc,CAAC,KAAK,EAAE,CAAC;IACvB,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,WAAW,CAAC,KAAK,EAAE,CAAC;IACpB,WAAW,CAAC,KAAK,EAAE,CAAC;IACpB,eAAe,CAAC,KAAK,EAAE,CAAC;IACxB,yBAAyB,CAAC,KAAK,EAAE,CAAC;IAClC,qBAAqB,CAAC,KAAK,EAAE,CAAC;IAC9B,mBAAmB,EAAE,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"index-tools.js","sourceRoot":"","sources":["../../src/tools/index-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"journal-generator-helpers.d.ts","sourceRoot":"","sources":["../../src/tools/journal-generator-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"journal-generator-helpers.d.ts","sourceRoot":"","sources":["../../src/tools/journal-generator-helpers.ts"],"names":[],"mappings":"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"}
@@ -90,7 +90,9 @@ function resolveSinceCutoff(since, cwd) {
90
90
  if (!Number.isNaN(direct))
91
91
  return direct;
92
92
  try {
93
- const raw = execFileSync("git", ["log", "-1", "--format=%aI", "--since", since], { cwd, encoding: "utf-8", stdio: ["ignore", "pipe", "ignore"] }).trim();
93
+ // `git log` over a large history with no ceiling blocked the shared daemon for as long as it
94
+ // took, and this call had none at all. 10 s matches the other git reads in this codebase.
95
+ const raw = execFileSync("git", ["log", "-1", "--format=%aI", "--since", since], { cwd, encoding: "utf-8", stdio: ["ignore", "pipe", "ignore"], timeout: 10_000 }).trim();
94
96
  const parsed = Date.parse(raw);
95
97
  if (!Number.isNaN(parsed))
96
98
  return parsed;
@@ -1 +1 @@
1
- {"version":3,"file":"journal-generator-helpers.js","sourceRoot":"","sources":["../../src/tools/journal-generator-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAI5D,MAAM,YAAY,GAAG,2BAA2B,CAAC;AACjD,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,iBAAiB,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;AACrH,CAAC;AAID,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACjC,SAAS,CAAS;IAC3B,YAAY,IAAY;QACtB,KAAK,CAAC,SAAS,IAAI,qBAAqB,CAAC,CAAC;QAAC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACpG,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IACnC,IAAI,CAAS;IAAU,SAAS,CAAS;IAAU,KAAK,CAAS;IAC1E,YAAY,IAAY,EAAE,SAAiB,EAAE,KAAa;QACxD,KAAK,CAAC,GAAG,IAAI,OAAO,SAAS,mBAAmB,KAAK,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACnE,CAAC;CACF;AAED,MAAM,CAAC,MAAM,OAAO,GAAqC,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;AAEvG,MAAM,UAAU,oBAAoB,CAAC,WAAmB,EAAE,SAAiB,EAAE,OAAe;IAC1F,MAAM,KAAK,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IACjF,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;QAAE,MAAM,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAgB;IAChD,MAAM,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACjE,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAgB;IAChD,IAAI,CAAC;QAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;AAC7D,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAY;IAC/C,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAoB,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AACrG,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY,EAAE,KAAsB;IACxE,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAA6B;IAC1D,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,IAAI,GAAG,KAAK;YAAE,MAAM,IAAI,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,KAAe;IAC/D,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QACjC,IAAI,CAAC;YAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC5G,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAgB,EAAE,IAAY;IACrE,IAAI,CAAC;QAAC,OAAO,mBAAmB,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,IAAI,CAAC;IAAC,CAAC;IACzG,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;AAC7B,CAAC;AAED,+EAA+E;AAC/E,SAAS,kBAAkB,CAAC,KAAa,EAAE,GAAW;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,CAAC,EAC7E,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC,iBAAiB,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAmB,EAAE,KAAa,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IACzF,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC9C,IAAI,MAAM,KAAK,MAAM,CAAC,iBAAiB;QAAE,OAAO,MAAM,CAAC;IACvD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5G,CAAC;AAGD,MAAM,UAAU,mBAAmB,CAAC,MAAmB,EAAE,KAAiB;IACxE,IAAI,KAAK,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC;IACrE,IAAI,CAAC,KAAK,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjF,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;IACtB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACzB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,aAAa,GAAqC,CAAC,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;AAChH,MAAM,aAAa,GAAG,CAAC,CAAY,EAAW,EAAE,CAAE,aAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAE9F;kEACkE;AAClE,MAAM,UAAU,qBAAqB,CACnC,IAAY,EAAE,WAAmB,EACjC,IAAI,GAAwD,EAAE;IAE9D,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC/C,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,OAAQ,CAAkC,EAAE,sBAAsB,EAAE,CAAC,eAAe,CAAC,KAAK,WAAW,CAAC;AACxG,CAAC;AAMD,MAAM,UAAU,2BAA2B,CACzC,WAAgC,EAAE,eAAwB;IAE1D,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,IAAI,eAAe;QAAE,OAAO,CAAC,IAAI,CAAC;YAChC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,kBAAkB;YAC/E,IAAI,EAAE,qBAAqB,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW;SACrE,CAAC,CAAC;IACH,KAAK,MAAM,CAAC,IAAI,WAAW;QAAE,OAAO,CAAC,IAAI,CAAC;YACxC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,eAAe;YACnD,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW;YACrD,sBAAsB,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC,IAAI,EAAE;SACpD,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,QAA6B,EAAE,cAAkC;IAEjE,MAAM,IAAI,GAAiB,QAAQ,IAAI;QACrC,uBAAuB,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACxE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE;QAC7D,eAAe,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK;KAC5D,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,cAAc,CAAC,EAAE,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAA2B;IAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,KAAK,EAAE;SACrE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,CAAC,YAAY,EAAE,EAAE;QAC7B,6EAA6E,EAAE,EAAE,CAAC,CAAC;IACrF,MAAM,MAAM,GAAG,CAAC,CAAmB,EAAE,IAAY,EAAU,EAAE,CAC3D,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,OAAO,IAAI,EAAE,CAAC;IAC5D,IAAI,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,gCAAgC,CAAC,CAAC,CAAC;IAC7E,KAAK,MAAM,CAAC,IAAI,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,OAAe,EAAE,SAAiB;IAC9E,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;IACxE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,MAAc,EAAU,EAAE;QAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;QACd,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;YAAE,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;gBAAC,GAAG,GAAG,CAAC,CAAC;gBAAC,MAAM;YAAC,CAAC;QAC7F,OAAO,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAY;IACrD,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAiB,CAAC;IAAC,CAAC;IACzE,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AACxB,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAAE,OAAe,EAAE,OAA2B,EAAE,KAAc;IAE9E,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC;YAAC,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAC5E,IAAI,CAAC;YAAC,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QAAC,CAAC;QAC/D,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,CAAC,GAAG,YAAY,iBAAiB,CAAC;gBAAE,MAAM,GAAG,CAAC;YACnD,IAAI,CAAC,KAAK;gBAAE,MAAM,GAAG,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,UAAU,EAAE,MAAM,CAAC;IAC9C,MAAM,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,MAAM,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,+EAA+E;AAE/E,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;AAE5E,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAgB,EAAE,QAAgB;IACxE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC1C,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,QAAQ,CAAC;IAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,QAAgB,EAAE,WAAgC;IAC1F,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;IAChF,MAAM,OAAO,GAAG,CAAC,WAAW,EAAE,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,qCAAqC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1G,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAClD,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;QACrB,kFAAkF;QAClF,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrG,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,OAAO,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjH,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,uCAAuC,CAAC,EAAE,CAAC;QAC/D,OAAO,QAAQ,CAAC,OAAO,CAAC,uCAAuC,EAC7D,2CAA2C,GAAG,OAAO,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,QAAQ,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"journal-generator-helpers.js","sourceRoot":"","sources":["../../src/tools/journal-generator-helpers.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,14 @@ export interface NestGuardChainEntry {
20
20
  }
21
21
  export interface NestGuardChainResult {
22
22
  routes: NestGuardChainEntry[];
23
+ /**
24
+ * Layers that apply to EVERY route, listed once instead of per route.
25
+ *
26
+ * A global guard/filter/pipe/interceptor is registered on the module and runs for all routes, so
27
+ * repeating it in each route's `chain` restated the same fact once per route. The effective chain
28
+ * for a route is `global_chain` followed by that route's `chain`.
29
+ */
30
+ global_chain?: NestGuardChainEntry["chain"];
23
31
  errors?: NestToolError[];
24
32
  truncated?: boolean;
25
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nest-guard-tools.d.ts","sourceRoot":"","sources":["../../src/tools/nest-guard-tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAO5D,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;QACX,wEAAwE;QACxE,KAAK,EAAE,QAAQ,GAAG,YAAY,GAAG,QAAQ,GAAG,YAAY,CAAC;QACzD,qEAAqE;QACrE,IAAI,EAAE,OAAO,GAAG,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;QAC/D,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,2EAA2E;QAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAMD;;0DAE0D;AAC1D,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBvD;AAwFD,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,OAAO,CAAC,oBAAoB,CAAC,CAyH/B"}
1
+ {"version":3,"file":"nest-guard-tools.d.ts","sourceRoot":"","sources":["../../src/tools/nest-guard-tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAO5D,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;QACX,wEAAwE;QACxE,KAAK,EAAE,QAAQ,GAAG,YAAY,GAAG,QAAQ,GAAG,YAAY,CAAC;QACzD,qEAAqE;QACrE,IAAI,EAAE,OAAO,GAAG,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;QAC/D,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,2EAA2E;QAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAMD;;0DAE0D;AAC1D,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBvD;AAwFD,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,OAAO,CAAC,oBAAoB,CAAC,CA+H/B"}
@@ -227,12 +227,18 @@ export async function nestGuardChain(repo, options) {
227
227
  method: mm.method.toUpperCase(),
228
228
  controller: ctrlClass,
229
229
  file: file.path,
230
- chain: [...globalChain, ...middlewareChain, ...ctrlLevelChain, ...methodGuards, ...methodInterceptors, ...methodPipes, ...methodFilters, ...methodMetadata],
230
+ // Global layers are NOT repeated here — they are identical for every route by
231
+ // construction and are emitted once as `global_chain`. Measured on a real NestJS repo:
232
+ // 3 unique global layers repeated 90 times across 31 routes, 10,560 B where 352 B says
233
+ // the same thing — 20% of the whole nest_audit response. Consumers that need the full
234
+ // effective chain concatenate global_chain with this one (nest-pipeline-tools does).
235
+ chain: [...middlewareChain, ...ctrlLevelChain, ...methodGuards, ...methodInterceptors, ...methodPipes, ...methodFilters, ...methodMetadata],
231
236
  });
232
237
  }
233
238
  }
234
239
  return {
235
240
  routes,
241
+ ...(globalChain.length > 0 ? { global_chain: globalChain } : {}),
236
242
  ...(errors.length > 0 ? { errors } : {}),
237
243
  ...(truncated ? { truncated } : {}),
238
244
  };