micro-models-agent 0.6.4 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (472) hide show
  1. package/README.md +286 -436
  2. package/dist/main.js +11706 -0
  3. package/dist/skills/builtin/git.md +36 -0
  4. package/dist/skills/builtin/typescript.md +35 -0
  5. package/package.json +41 -47
  6. package/dist/agent/context.d.ts +0 -73
  7. package/dist/agent/context.d.ts.map +0 -1
  8. package/dist/agent/context.js +0 -262
  9. package/dist/agent/context.js.map +0 -1
  10. package/dist/agent/error-escalation.d.ts +0 -19
  11. package/dist/agent/error-escalation.d.ts.map +0 -1
  12. package/dist/agent/error-escalation.js +0 -168
  13. package/dist/agent/error-escalation.js.map +0 -1
  14. package/dist/agent/loop.d.ts +0 -46
  15. package/dist/agent/loop.d.ts.map +0 -1
  16. package/dist/agent/loop.js +0 -1043
  17. package/dist/agent/loop.js.map +0 -1
  18. package/dist/agent/memory.d.ts +0 -40
  19. package/dist/agent/memory.d.ts.map +0 -1
  20. package/dist/agent/memory.js +0 -231
  21. package/dist/agent/memory.js.map +0 -1
  22. package/dist/agent/modes/applier.d.ts +0 -43
  23. package/dist/agent/modes/applier.d.ts.map +0 -1
  24. package/dist/agent/modes/applier.js +0 -30
  25. package/dist/agent/modes/applier.js.map +0 -1
  26. package/dist/agent/modes/registry.d.ts +0 -35
  27. package/dist/agent/modes/registry.d.ts.map +0 -1
  28. package/dist/agent/modes/registry.js +0 -169
  29. package/dist/agent/modes/registry.js.map +0 -1
  30. package/dist/agent/modes/types.d.ts +0 -61
  31. package/dist/agent/modes/types.d.ts.map +0 -1
  32. package/dist/agent/modes/types.js +0 -13
  33. package/dist/agent/modes/types.js.map +0 -1
  34. package/dist/agent/react-loop.d.ts +0 -65
  35. package/dist/agent/react-loop.d.ts.map +0 -1
  36. package/dist/agent/react-loop.js +0 -101
  37. package/dist/agent/react-loop.js.map +0 -1
  38. package/dist/agent/system-prompt.d.ts +0 -26
  39. package/dist/agent/system-prompt.d.ts.map +0 -1
  40. package/dist/agent/system-prompt.js +0 -478
  41. package/dist/agent/system-prompt.js.map +0 -1
  42. package/dist/agent/tool-executor.d.ts +0 -36
  43. package/dist/agent/tool-executor.d.ts.map +0 -1
  44. package/dist/agent/tool-executor.js +0 -346
  45. package/dist/agent/tool-executor.js.map +0 -1
  46. package/dist/agent/user-profile.d.ts +0 -26
  47. package/dist/agent/user-profile.d.ts.map +0 -1
  48. package/dist/agent/user-profile.js +0 -169
  49. package/dist/agent/user-profile.js.map +0 -1
  50. package/dist/agent/write-enforcer.d.ts +0 -7
  51. package/dist/agent/write-enforcer.d.ts.map +0 -1
  52. package/dist/agent/write-enforcer.js +0 -8
  53. package/dist/agent/write-enforcer.js.map +0 -1
  54. package/dist/cli/config.d.ts +0 -13
  55. package/dist/cli/config.d.ts.map +0 -1
  56. package/dist/cli/config.js +0 -82
  57. package/dist/cli/config.js.map +0 -1
  58. package/dist/cli/model.d.ts +0 -13
  59. package/dist/cli/model.d.ts.map +0 -1
  60. package/dist/cli/model.js +0 -170
  61. package/dist/cli/model.js.map +0 -1
  62. package/dist/cli/provider.d.ts +0 -12
  63. package/dist/cli/provider.d.ts.map +0 -1
  64. package/dist/cli/provider.js +0 -90
  65. package/dist/cli/provider.js.map +0 -1
  66. package/dist/cli/update.d.ts +0 -12
  67. package/dist/cli/update.d.ts.map +0 -1
  68. package/dist/cli/update.js +0 -69
  69. package/dist/cli/update.js.map +0 -1
  70. package/dist/cli.d.ts +0 -3
  71. package/dist/cli.d.ts.map +0 -1
  72. package/dist/cli.js +0 -310
  73. package/dist/cli.js.map +0 -1
  74. package/dist/config/config.d.ts +0 -59
  75. package/dist/config/config.d.ts.map +0 -1
  76. package/dist/config/config.js +0 -232
  77. package/dist/config/config.js.map +0 -1
  78. package/dist/config/types.d.ts +0 -122
  79. package/dist/config/types.d.ts.map +0 -1
  80. package/dist/config/types.js +0 -13
  81. package/dist/config/types.js.map +0 -1
  82. package/dist/file-loader.d.ts +0 -20
  83. package/dist/file-loader.d.ts.map +0 -1
  84. package/dist/file-loader.js +0 -121
  85. package/dist/file-loader.js.map +0 -1
  86. package/dist/index.d.ts +0 -9
  87. package/dist/index.d.ts.map +0 -1
  88. package/dist/index.js +0 -11
  89. package/dist/index.js.map +0 -1
  90. package/dist/indexer/cache.d.ts +0 -34
  91. package/dist/indexer/cache.d.ts.map +0 -1
  92. package/dist/indexer/cache.js +0 -221
  93. package/dist/indexer/cache.js.map +0 -1
  94. package/dist/indexer/code-index.d.ts +0 -27
  95. package/dist/indexer/code-index.d.ts.map +0 -1
  96. package/dist/indexer/code-index.js +0 -219
  97. package/dist/indexer/code-index.js.map +0 -1
  98. package/dist/indexer/project-map.d.ts +0 -23
  99. package/dist/indexer/project-map.d.ts.map +0 -1
  100. package/dist/indexer/project-map.js +0 -264
  101. package/dist/indexer/project-map.js.map +0 -1
  102. package/dist/llm/lmstudio-native.d.ts +0 -10
  103. package/dist/llm/lmstudio-native.d.ts.map +0 -1
  104. package/dist/llm/lmstudio-native.js +0 -179
  105. package/dist/llm/lmstudio-native.js.map +0 -1
  106. package/dist/llm/openai-compat.d.ts +0 -11
  107. package/dist/llm/openai-compat.d.ts.map +0 -1
  108. package/dist/llm/openai-compat.js +0 -161
  109. package/dist/llm/openai-compat.js.map +0 -1
  110. package/dist/llm/provider.d.ts +0 -46
  111. package/dist/llm/provider.d.ts.map +0 -1
  112. package/dist/llm/provider.js +0 -13
  113. package/dist/llm/provider.js.map +0 -1
  114. package/dist/llm/token-counter.d.ts +0 -15
  115. package/dist/llm/token-counter.d.ts.map +0 -1
  116. package/dist/llm/token-counter.js +0 -51
  117. package/dist/llm/token-counter.js.map +0 -1
  118. package/dist/logger.d.ts +0 -24
  119. package/dist/logger.d.ts.map +0 -1
  120. package/dist/logger.js +0 -156
  121. package/dist/logger.js.map +0 -1
  122. package/dist/plugins/adapters/hooks-adapter.d.ts +0 -12
  123. package/dist/plugins/adapters/hooks-adapter.d.ts.map +0 -1
  124. package/dist/plugins/adapters/hooks-adapter.js +0 -23
  125. package/dist/plugins/adapters/hooks-adapter.js.map +0 -1
  126. package/dist/plugins/builtin/lint-on-write/index.d.ts +0 -12
  127. package/dist/plugins/builtin/lint-on-write/index.d.ts.map +0 -1
  128. package/dist/plugins/builtin/lint-on-write/index.js +0 -98
  129. package/dist/plugins/builtin/lint-on-write/index.js.map +0 -1
  130. package/dist/plugins/builtin/lint-on-write/index.ts +0 -97
  131. package/dist/plugins/builtin/lint-on-write/manifest.json +0 -13
  132. package/dist/plugins/builtin/notify/index.d.ts +0 -11
  133. package/dist/plugins/builtin/notify/index.d.ts.map +0 -1
  134. package/dist/plugins/builtin/notify/index.js +0 -102
  135. package/dist/plugins/builtin/notify/index.js.map +0 -1
  136. package/dist/plugins/builtin/notify/index.ts +0 -105
  137. package/dist/plugins/builtin/notify/manifest.json +0 -16
  138. package/dist/plugins/loader.d.ts +0 -18
  139. package/dist/plugins/loader.d.ts.map +0 -1
  140. package/dist/plugins/loader.js +0 -182
  141. package/dist/plugins/loader.js.map +0 -1
  142. package/dist/plugins/manager.d.ts +0 -55
  143. package/dist/plugins/manager.d.ts.map +0 -1
  144. package/dist/plugins/manager.js +0 -190
  145. package/dist/plugins/manager.js.map +0 -1
  146. package/dist/plugins/types.d.ts +0 -76
  147. package/dist/plugins/types.d.ts.map +0 -1
  148. package/dist/plugins/types.js +0 -8
  149. package/dist/plugins/types.js.map +0 -1
  150. package/dist/repl/commands.d.ts +0 -63
  151. package/dist/repl/commands.d.ts.map +0 -1
  152. package/dist/repl/commands.js +0 -1070
  153. package/dist/repl/commands.js.map +0 -1
  154. package/dist/repl/history.d.ts +0 -32
  155. package/dist/repl/history.d.ts.map +0 -1
  156. package/dist/repl/history.js +0 -40
  157. package/dist/repl/history.js.map +0 -1
  158. package/dist/repl/index.d.ts +0 -14
  159. package/dist/repl/index.d.ts.map +0 -1
  160. package/dist/repl/index.js +0 -235
  161. package/dist/repl/index.js.map +0 -1
  162. package/dist/session/store.d.ts +0 -46
  163. package/dist/session/store.d.ts.map +0 -1
  164. package/dist/session/store.js +0 -154
  165. package/dist/session/store.js.map +0 -1
  166. package/dist/setup-wizard.d.ts +0 -3
  167. package/dist/setup-wizard.d.ts.map +0 -1
  168. package/dist/setup-wizard.js +0 -410
  169. package/dist/setup-wizard.js.map +0 -1
  170. package/dist/skills/builtin/agent-test/SKILL.md +0 -68
  171. package/dist/skills/builtin/cli-expert/SKILL.md +0 -848
  172. package/dist/skills/builtin/code-review/SKILL.md +0 -424
  173. package/dist/skills/builtin/git-expert/SKILL.md +0 -522
  174. package/dist/skills/builtin/grill-me/SKILL.md +0 -46
  175. package/dist/skills/builtin/jest-testing-expert/SKILL.md +0 -957
  176. package/dist/skills/builtin/nodejs-expert/SKILL.md +0 -192
  177. package/dist/skills/builtin/systematic-debugging/SKILL.md +0 -296
  178. package/dist/skills/builtin/test-driven-development/SKILL.md +0 -371
  179. package/dist/skills/builtin/typescript-expert/SKILL.md +0 -429
  180. package/dist/skills/builtin/web-scraping/SKILL.md +0 -422
  181. package/dist/skills/loader.d.ts +0 -49
  182. package/dist/skills/loader.d.ts.map +0 -1
  183. package/dist/skills/loader.js +0 -401
  184. package/dist/skills/loader.js.map +0 -1
  185. package/dist/styling/engine.d.ts +0 -39
  186. package/dist/styling/engine.d.ts.map +0 -1
  187. package/dist/styling/engine.js +0 -122
  188. package/dist/styling/engine.js.map +0 -1
  189. package/dist/styling/index.d.ts +0 -15
  190. package/dist/styling/index.d.ts.map +0 -1
  191. package/dist/styling/index.js +0 -40
  192. package/dist/styling/index.js.map +0 -1
  193. package/dist/styling/loader.d.ts +0 -9
  194. package/dist/styling/loader.d.ts.map +0 -1
  195. package/dist/styling/loader.js +0 -169
  196. package/dist/styling/loader.js.map +0 -1
  197. package/dist/styling/types.d.ts +0 -64
  198. package/dist/styling/types.d.ts.map +0 -1
  199. package/dist/styling/types.js +0 -12
  200. package/dist/styling/types.js.map +0 -1
  201. package/dist/subagent/chat.d.ts +0 -19
  202. package/dist/subagent/chat.d.ts.map +0 -1
  203. package/dist/subagent/chat.js +0 -279
  204. package/dist/subagent/chat.js.map +0 -1
  205. package/dist/subagent/context.d.ts +0 -9
  206. package/dist/subagent/context.d.ts.map +0 -1
  207. package/dist/subagent/context.js +0 -75
  208. package/dist/subagent/context.js.map +0 -1
  209. package/dist/subagent/definition.d.ts +0 -7
  210. package/dist/subagent/definition.d.ts.map +0 -1
  211. package/dist/subagent/definition.js +0 -26
  212. package/dist/subagent/definition.js.map +0 -1
  213. package/dist/subagent/errors.d.ts +0 -24
  214. package/dist/subagent/errors.d.ts.map +0 -1
  215. package/dist/subagent/errors.js +0 -85
  216. package/dist/subagent/errors.js.map +0 -1
  217. package/dist/subagent/validation.d.ts +0 -17
  218. package/dist/subagent/validation.d.ts.map +0 -1
  219. package/dist/subagent/validation.js +0 -83
  220. package/dist/subagent/validation.js.map +0 -1
  221. package/dist/tools/adapters/bash-to-fs.d.ts +0 -20
  222. package/dist/tools/adapters/bash-to-fs.d.ts.map +0 -1
  223. package/dist/tools/adapters/bash-to-fs.js +0 -74
  224. package/dist/tools/adapters/bash-to-fs.js.map +0 -1
  225. package/dist/tools/adapters/content-sanitizer.d.ts +0 -13
  226. package/dist/tools/adapters/content-sanitizer.d.ts.map +0 -1
  227. package/dist/tools/adapters/content-sanitizer.js +0 -73
  228. package/dist/tools/adapters/content-sanitizer.js.map +0 -1
  229. package/dist/tools/adapters/grounding-fixer.d.ts +0 -15
  230. package/dist/tools/adapters/grounding-fixer.d.ts.map +0 -1
  231. package/dist/tools/adapters/grounding-fixer.js +0 -57
  232. package/dist/tools/adapters/grounding-fixer.js.map +0 -1
  233. package/dist/tools/adapters/index.d.ts +0 -6
  234. package/dist/tools/adapters/index.d.ts.map +0 -1
  235. package/dist/tools/adapters/index.js +0 -5
  236. package/dist/tools/adapters/index.js.map +0 -1
  237. package/dist/tools/adapters/pipeline.d.ts +0 -34
  238. package/dist/tools/adapters/pipeline.d.ts.map +0 -1
  239. package/dist/tools/adapters/pipeline.js +0 -58
  240. package/dist/tools/adapters/pipeline.js.map +0 -1
  241. package/dist/tools/adapters/types.d.ts +0 -46
  242. package/dist/tools/adapters/types.d.ts.map +0 -1
  243. package/dist/tools/adapters/types.js +0 -2
  244. package/dist/tools/adapters/types.js.map +0 -1
  245. package/dist/tools/approve.d.ts +0 -27
  246. package/dist/tools/approve.d.ts.map +0 -1
  247. package/dist/tools/approve.js +0 -45
  248. package/dist/tools/approve.js.map +0 -1
  249. package/dist/tools/bash.d.ts +0 -25
  250. package/dist/tools/bash.d.ts.map +0 -1
  251. package/dist/tools/bash.js +0 -292
  252. package/dist/tools/bash.js.map +0 -1
  253. package/dist/tools/fs/copy-file.d.ts +0 -13
  254. package/dist/tools/fs/copy-file.d.ts.map +0 -1
  255. package/dist/tools/fs/copy-file.js +0 -54
  256. package/dist/tools/fs/copy-file.js.map +0 -1
  257. package/dist/tools/fs/create-dir.d.ts +0 -13
  258. package/dist/tools/fs/create-dir.d.ts.map +0 -1
  259. package/dist/tools/fs/create-dir.js +0 -44
  260. package/dist/tools/fs/create-dir.js.map +0 -1
  261. package/dist/tools/fs/delete-file.d.ts +0 -13
  262. package/dist/tools/fs/delete-file.d.ts.map +0 -1
  263. package/dist/tools/fs/delete-file.js +0 -52
  264. package/dist/tools/fs/delete-file.js.map +0 -1
  265. package/dist/tools/fs/edit-file.d.ts +0 -15
  266. package/dist/tools/fs/edit-file.d.ts.map +0 -1
  267. package/dist/tools/fs/edit-file.js +0 -95
  268. package/dist/tools/fs/edit-file.js.map +0 -1
  269. package/dist/tools/fs/file-info.d.ts +0 -13
  270. package/dist/tools/fs/file-info.d.ts.map +0 -1
  271. package/dist/tools/fs/file-info.js +0 -50
  272. package/dist/tools/fs/file-info.js.map +0 -1
  273. package/dist/tools/fs/glob-search.d.ts +0 -13
  274. package/dist/tools/fs/glob-search.d.ts.map +0 -1
  275. package/dist/tools/fs/glob-search.js +0 -112
  276. package/dist/tools/fs/glob-search.js.map +0 -1
  277. package/dist/tools/fs/grep-search.d.ts +0 -14
  278. package/dist/tools/fs/grep-search.d.ts.map +0 -1
  279. package/dist/tools/fs/grep-search.js +0 -135
  280. package/dist/tools/fs/grep-search.js.map +0 -1
  281. package/dist/tools/fs/list-dir.d.ts +0 -13
  282. package/dist/tools/fs/list-dir.d.ts.map +0 -1
  283. package/dist/tools/fs/list-dir.js +0 -74
  284. package/dist/tools/fs/list-dir.js.map +0 -1
  285. package/dist/tools/fs/move-file.d.ts +0 -13
  286. package/dist/tools/fs/move-file.d.ts.map +0 -1
  287. package/dist/tools/fs/move-file.js +0 -54
  288. package/dist/tools/fs/move-file.js.map +0 -1
  289. package/dist/tools/fs/path-utils.d.ts +0 -51
  290. package/dist/tools/fs/path-utils.d.ts.map +0 -1
  291. package/dist/tools/fs/path-utils.js +0 -103
  292. package/dist/tools/fs/path-utils.js.map +0 -1
  293. package/dist/tools/fs/read-file.d.ts +0 -13
  294. package/dist/tools/fs/read-file.d.ts.map +0 -1
  295. package/dist/tools/fs/read-file.js +0 -64
  296. package/dist/tools/fs/read-file.js.map +0 -1
  297. package/dist/tools/fs/tree.d.ts +0 -13
  298. package/dist/tools/fs/tree.d.ts.map +0 -1
  299. package/dist/tools/fs/tree.js +0 -89
  300. package/dist/tools/fs/tree.js.map +0 -1
  301. package/dist/tools/fs/types.d.ts +0 -14
  302. package/dist/tools/fs/types.d.ts.map +0 -1
  303. package/dist/tools/fs/types.js +0 -11
  304. package/dist/tools/fs/types.js.map +0 -1
  305. package/dist/tools/fs/write-file.d.ts +0 -14
  306. package/dist/tools/fs/write-file.d.ts.map +0 -1
  307. package/dist/tools/fs/write-file.js +0 -83
  308. package/dist/tools/fs/write-file.js.map +0 -1
  309. package/dist/tools/hooks.d.ts +0 -44
  310. package/dist/tools/hooks.d.ts.map +0 -1
  311. package/dist/tools/hooks.js +0 -217
  312. package/dist/tools/hooks.js.map +0 -1
  313. package/dist/tools/id-gen.d.ts +0 -4
  314. package/dist/tools/id-gen.d.ts.map +0 -1
  315. package/dist/tools/id-gen.js +0 -12
  316. package/dist/tools/id-gen.js.map +0 -1
  317. package/dist/tools/mcp.d.ts +0 -36
  318. package/dist/tools/mcp.d.ts.map +0 -1
  319. package/dist/tools/mcp.js +0 -93
  320. package/dist/tools/mcp.js.map +0 -1
  321. package/dist/tools/native/approve.d.ts +0 -11
  322. package/dist/tools/native/approve.d.ts.map +0 -1
  323. package/dist/tools/native/approve.js +0 -39
  324. package/dist/tools/native/approve.js.map +0 -1
  325. package/dist/tools/native/plan.d.ts +0 -10
  326. package/dist/tools/native/plan.d.ts.map +0 -1
  327. package/dist/tools/native/plan.js +0 -115
  328. package/dist/tools/native/plan.js.map +0 -1
  329. package/dist/tools/native/project-map.d.ts +0 -15
  330. package/dist/tools/native/project-map.d.ts.map +0 -1
  331. package/dist/tools/native/project-map.js +0 -203
  332. package/dist/tools/native/project-map.js.map +0 -1
  333. package/dist/tools/native/question.d.ts +0 -11
  334. package/dist/tools/native/question.d.ts.map +0 -1
  335. package/dist/tools/native/question.js +0 -41
  336. package/dist/tools/native/question.js.map +0 -1
  337. package/dist/tools/native/scaffold.d.ts +0 -5
  338. package/dist/tools/native/scaffold.d.ts.map +0 -1
  339. package/dist/tools/native/scaffold.js +0 -246
  340. package/dist/tools/native/scaffold.js.map +0 -1
  341. package/dist/tools/native/theme.d.ts +0 -10
  342. package/dist/tools/native/theme.d.ts.map +0 -1
  343. package/dist/tools/native/theme.js +0 -101
  344. package/dist/tools/native/theme.js.map +0 -1
  345. package/dist/tools/native/todo.d.ts +0 -10
  346. package/dist/tools/native/todo.d.ts.map +0 -1
  347. package/dist/tools/native/todo.js +0 -58
  348. package/dist/tools/native/todo.js.map +0 -1
  349. package/dist/tools/native/user-profile.d.ts +0 -10
  350. package/dist/tools/native/user-profile.d.ts.map +0 -1
  351. package/dist/tools/native/user-profile.js +0 -58
  352. package/dist/tools/native/user-profile.js.map +0 -1
  353. package/dist/tools/parse-tool-call.d.ts +0 -11
  354. package/dist/tools/parse-tool-call.d.ts.map +0 -1
  355. package/dist/tools/parse-tool-call.js +0 -87
  356. package/dist/tools/parse-tool-call.js.map +0 -1
  357. package/dist/tools/plan.d.ts +0 -40
  358. package/dist/tools/plan.d.ts.map +0 -1
  359. package/dist/tools/plan.js +0 -143
  360. package/dist/tools/plan.js.map +0 -1
  361. package/dist/tools/question.d.ts +0 -33
  362. package/dist/tools/question.d.ts.map +0 -1
  363. package/dist/tools/question.js +0 -62
  364. package/dist/tools/question.js.map +0 -1
  365. package/dist/tools/registry.d.ts +0 -37
  366. package/dist/tools/registry.d.ts.map +0 -1
  367. package/dist/tools/registry.js +0 -97
  368. package/dist/tools/registry.js.map +0 -1
  369. package/dist/tools/sanitizer.d.ts +0 -30
  370. package/dist/tools/sanitizer.d.ts.map +0 -1
  371. package/dist/tools/sanitizer.js +0 -77
  372. package/dist/tools/sanitizer.js.map +0 -1
  373. package/dist/tools/subagent.d.ts +0 -39
  374. package/dist/tools/subagent.d.ts.map +0 -1
  375. package/dist/tools/subagent.js +0 -225
  376. package/dist/tools/subagent.js.map +0 -1
  377. package/dist/tools/syntax-check.d.ts +0 -32
  378. package/dist/tools/syntax-check.d.ts.map +0 -1
  379. package/dist/tools/syntax-check.js +0 -272
  380. package/dist/tools/syntax-check.js.map +0 -1
  381. package/dist/tools/todo.d.ts +0 -28
  382. package/dist/tools/todo.d.ts.map +0 -1
  383. package/dist/tools/todo.js +0 -125
  384. package/dist/tools/todo.js.map +0 -1
  385. package/dist/tools/types.d.ts +0 -51
  386. package/dist/tools/types.d.ts.map +0 -1
  387. package/dist/tools/types.js +0 -2
  388. package/dist/tools/types.js.map +0 -1
  389. package/dist/tools/web-browse.d.ts +0 -5
  390. package/dist/tools/web-browse.d.ts.map +0 -1
  391. package/dist/tools/web-browse.js +0 -757
  392. package/dist/tools/web-browse.js.map +0 -1
  393. package/dist/tools/web-fetch.d.ts +0 -19
  394. package/dist/tools/web-fetch.d.ts.map +0 -1
  395. package/dist/tools/web-fetch.js +0 -90
  396. package/dist/tools/web-fetch.js.map +0 -1
  397. package/dist/tools/web-search.d.ts +0 -19
  398. package/dist/tools/web-search.d.ts.map +0 -1
  399. package/dist/tools/web-search.js +0 -97
  400. package/dist/tools/web-search.js.map +0 -1
  401. package/dist/ui/components/status-bar.d.ts +0 -11
  402. package/dist/ui/components/status-bar.d.ts.map +0 -1
  403. package/dist/ui/components/status-bar.js +0 -20
  404. package/dist/ui/components/status-bar.js.map +0 -1
  405. package/dist/ui/index.d.ts +0 -8
  406. package/dist/ui/index.d.ts.map +0 -1
  407. package/dist/ui/index.js +0 -9
  408. package/dist/ui/index.js.map +0 -1
  409. package/dist/ui/ink/components/App.d.ts +0 -98
  410. package/dist/ui/ink/components/App.d.ts.map +0 -1
  411. package/dist/ui/ink/components/App.js +0 -212
  412. package/dist/ui/ink/components/App.js.map +0 -1
  413. package/dist/ui/ink/components/Conversation.d.ts +0 -20
  414. package/dist/ui/ink/components/Conversation.d.ts.map +0 -1
  415. package/dist/ui/ink/components/Conversation.js +0 -15
  416. package/dist/ui/ink/components/Conversation.js.map +0 -1
  417. package/dist/ui/ink/components/MessageBlock.d.ts +0 -27
  418. package/dist/ui/ink/components/MessageBlock.d.ts.map +0 -1
  419. package/dist/ui/ink/components/MessageBlock.js +0 -41
  420. package/dist/ui/ink/components/MessageBlock.js.map +0 -1
  421. package/dist/ui/ink/components/PromptInput.d.ts +0 -25
  422. package/dist/ui/ink/components/PromptInput.d.ts.map +0 -1
  423. package/dist/ui/ink/components/PromptInput.js +0 -167
  424. package/dist/ui/ink/components/PromptInput.js.map +0 -1
  425. package/dist/ui/ink/components/SelectInput.d.ts +0 -9
  426. package/dist/ui/ink/components/SelectInput.d.ts.map +0 -1
  427. package/dist/ui/ink/components/SelectInput.js +0 -30
  428. package/dist/ui/ink/components/SelectInput.js.map +0 -1
  429. package/dist/ui/ink/components/StatusBar.d.ts +0 -14
  430. package/dist/ui/ink/components/StatusBar.d.ts.map +0 -1
  431. package/dist/ui/ink/components/StatusBar.js +0 -20
  432. package/dist/ui/ink/components/StatusBar.js.map +0 -1
  433. package/dist/ui/ink/components/StreamBlock.d.ts +0 -8
  434. package/dist/ui/ink/components/StreamBlock.d.ts.map +0 -1
  435. package/dist/ui/ink/components/StreamBlock.js +0 -15
  436. package/dist/ui/ink/components/StreamBlock.js.map +0 -1
  437. package/dist/ui/ink/components/Tags.d.ts +0 -26
  438. package/dist/ui/ink/components/Tags.d.ts.map +0 -1
  439. package/dist/ui/ink/components/Tags.js +0 -37
  440. package/dist/ui/ink/components/Tags.js.map +0 -1
  441. package/dist/ui/ink/components/ToolCallBlock.d.ts +0 -31
  442. package/dist/ui/ink/components/ToolCallBlock.d.ts.map +0 -1
  443. package/dist/ui/ink/components/ToolCallBlock.js +0 -17
  444. package/dist/ui/ink/components/ToolCallBlock.js.map +0 -1
  445. package/dist/ui/ink/renderer.d.ts +0 -69
  446. package/dist/ui/ink/renderer.d.ts.map +0 -1
  447. package/dist/ui/ink/renderer.js +0 -142
  448. package/dist/ui/ink/renderer.js.map +0 -1
  449. package/dist/ui/ink/theme.d.ts +0 -28
  450. package/dist/ui/ink/theme.d.ts.map +0 -1
  451. package/dist/ui/ink/theme.js +0 -45
  452. package/dist/ui/ink/theme.js.map +0 -1
  453. package/dist/ui/md-formatter.d.ts +0 -16
  454. package/dist/ui/md-formatter.d.ts.map +0 -1
  455. package/dist/ui/md-formatter.js +0 -448
  456. package/dist/ui/md-formatter.js.map +0 -1
  457. package/dist/ui/readline-renderer.d.ts +0 -45
  458. package/dist/ui/readline-renderer.d.ts.map +0 -1
  459. package/dist/ui/readline-renderer.js +0 -181
  460. package/dist/ui/readline-renderer.js.map +0 -1
  461. package/dist/ui/renderer.d.ts +0 -66
  462. package/dist/ui/renderer.d.ts.map +0 -1
  463. package/dist/ui/renderer.js +0 -16
  464. package/dist/ui/renderer.js.map +0 -1
  465. package/dist/ui/subagent-renderer.d.ts +0 -58
  466. package/dist/ui/subagent-renderer.d.ts.map +0 -1
  467. package/dist/ui/subagent-renderer.js +0 -100
  468. package/dist/ui/subagent-renderer.js.map +0 -1
  469. package/dist/updater.d.ts +0 -15
  470. package/dist/updater.d.ts.map +0 -1
  471. package/dist/updater.js +0 -166
  472. package/dist/updater.js.map +0 -1
@@ -1,122 +0,0 @@
1
- /**
2
- * Типы конфигурации приложения.
3
- *
4
- * Определяют структуру конфигов:
5
- * - Провайдеры и модели
6
- * - Активная конфигурация
7
- * - Параметры агента
8
- * - Режимы работы (fast/base/pro)
9
- *
10
- * @module config/types
11
- */
12
- /** Конфигурация модели */
13
- export interface ModelConfig {
14
- model: string;
15
- contextWindow: number;
16
- params: ModelParams;
17
- }
18
- /** Параметры генерации модели */
19
- export interface ModelParams {
20
- temperature?: number;
21
- top_p?: number;
22
- max_tokens?: number;
23
- frequency_penalty?: number;
24
- presence_penalty?: number;
25
- seed?: number | null;
26
- [key: string]: unknown;
27
- }
28
- /** Конфигурация провайдера LLM */
29
- export interface ProviderConfig {
30
- type: string;
31
- url: string;
32
- apiKey: string | null;
33
- models: Record<string, ModelConfig>;
34
- }
35
- /** Активная конфигурация (провайдер + модель) */
36
- export interface ActiveConfig {
37
- provider: string;
38
- model: string;
39
- }
40
- /** Параметры агента */
41
- export interface AgentConfig {
42
- maxSteps: number;
43
- autoCompact: boolean;
44
- compactThreshold: number;
45
- toolTimeout: number;
46
- maxOutputLength: number;
47
- showThinking?: boolean;
48
- /** @deprecated Используйте ModeRegistry вместо этого */
49
- mode?: AgentMode;
50
- /** Макс. токенов для загруженных скилов в system prompt (default: 4000) */
51
- skillTokenBudget?: number;
52
- /** @deprecated Используйте ModeRegistry.maxSkills вместо этого */
53
- maxSkillsBase?: number;
54
- /** @deprecated Используйте ModeRegistry.maxSkills вместо этого */
55
- maxSkillsPro?: number;
56
- /** Параметры LLM: retry, thinking, max_tokens */
57
- llm?: LLMConfig;
58
- /** Auto-specialist конфигурация */
59
- specialist?: SpecialistConfig;
60
- /** Grounding-конфигурация (борьба с галлюцинациями) */
61
- grounding?: GroundingConfig;
62
- }
63
- /** Параметры LLM для tuning (пустые значения = использовать defaults) */
64
- export interface LLMConfig {
65
- /** Количество повторных попыток при пустом ответе (default: 1) */
66
- retries?: number;
67
- /** Retry без thinking при пустом ответе с reasoning chunks (default: true) */
68
- retryWithoutThinking?: boolean;
69
- /** Fallback: использовать reasoning как content при пустом ответе (default: true) */
70
- fallbackToReasoning?: boolean;
71
- /** max_tokens для reasoning-моделей (default: 32768) */
72
- maxTokensReasoning?: number;
73
- /** max_tokens для обычных моделей (default: 4096) */
74
- maxTokensDefault?: number;
75
- /** max_tokens после tool call в subagent (default: 24576) */
76
- maxTokensAfterTool?: number;
77
- /** Мин. количество reasoning chunks для триггера retry (default: 10) */
78
- emptyResponseThreshold?: number;
79
- /** Модель для tool execution в subagent (default: undefined = тот же模型) */
80
- toolModel?: string;
81
- }
82
- /** Конфигурация grounding-проверок (борьба с галлюцинациями) */
83
- export interface GroundingConfig {
84
- /** Включить grounding-проверки (default: true) */
85
- enabled?: boolean;
86
- /** strict=retry LLM, false=только reminder (default: false) */
87
- strictMode?: boolean;
88
- /** Pre-flight валидация путей (default: true) */
89
- checkFiles?: boolean;
90
- /** Сколько раз можно пропустить токен до retry (default: 3) */
91
- maxMissingGrounding?: number;
92
- /** Лимит CRITICAL retry-попыток подряд — после превышения grounding отключается до конца сессии (default: 5) */
93
- maxConsecutiveGroundingErrors?: number;
94
- }
95
- /** Конфигурация auto-specialist (автоделегирование при повторяющихся ошибках) */
96
- export interface SpecialistConfig {
97
- /** Включить auto-specialist (default: true) */
98
- enabled?: boolean;
99
- /** Кол-во одинаковых ошибок до триггера (default: 2) */
100
- triggerThreshold?: number;
101
- /** Макс. ходов specialist'а (default: 10) */
102
- maxSteps?: number;
103
- /** Мин. длина текста ошибки для триггера — отсекает trivia (default: 15) */
104
- minErrorLength?: number;
105
- }
106
- /** Режимы работы агента: fast (без скилов), base (обычный), pro (с grill-me) */
107
- export type AgentMode = "fast" | "base" | "pro";
108
- /** Runtime-флаги сессии (не сохраняются, передаются через CLI) */
109
- export interface RuntimeFlags {
110
- dev?: boolean;
111
- logs?: boolean;
112
- }
113
- /** Полная конфигурация приложения */
114
- export interface AppConfig {
115
- providers: Record<string, ProviderConfig>;
116
- active: ActiveConfig;
117
- agent: AgentConfig;
118
- theme?: string;
119
- /** Кастомные режимы (overrides для ModeRegistry) */
120
- modes?: Record<string, Record<string, unknown>>;
121
- }
122
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Типы конфигурации приложения.
3
- *
4
- * Определяют структуру конфигов:
5
- * - Провайдеры и модели
6
- * - Активная конфигурация
7
- * - Параметры агента
8
- * - Режимы работы (fast/base/pro)
9
- *
10
- * @module config/types
11
- */
12
- export {};
13
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Загрузчик файлов по ссылкам @path/to/file.
3
- *
4
- * Парсит промпт пользователя и загружает файлы,
5
- * указанные через @path/to/file. Поддерживает glob-паттерны.
6
- *
7
- * @module file-loader
8
- */
9
- interface LoadedFile {
10
- path: string;
11
- content: string;
12
- tokens: number;
13
- }
14
- interface ParseResult {
15
- prompt: string;
16
- files: LoadedFile[];
17
- }
18
- export declare function parseFileRefs(input: string): Promise<ParseResult>;
19
- export {};
20
- //# sourceMappingURL=file-loader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-loader.d.ts","sourceRoot":"","sources":["../src/file-loader.ts"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AAEH,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AA0DD,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA4EvE"}
@@ -1,121 +0,0 @@
1
- import { readFileSync, existsSync, statSync } from 'node:fs';
2
- import { globSync } from 'node:fs';
3
- import { resolve } from 'node:path';
4
- import { countTokens } from './llm/token-counter.js';
5
- import { getTheme } from './styling/index.js';
6
- import { logInfo, logDebug } from './logger.js';
7
- const AT_REF_RE = /@([^\s"'|;]+)/g;
8
- function resolveFileRef(ref) {
9
- // Filter out URLs (http://, https://, ftp://) but allow Windows paths (E:\...)
10
- if (/^[a-z]+:\/\//i.test(ref)) {
11
- return [];
12
- }
13
- const globPattern = resolve(process.cwd(), ref);
14
- try {
15
- const matches = globSync(globPattern);
16
- if (matches.length > 0)
17
- return matches;
18
- }
19
- catch { /* not a glob */ }
20
- if (existsSync(ref))
21
- return [ref];
22
- if (existsSync(resolve(process.cwd(), ref)))
23
- return [resolve(process.cwd(), ref)];
24
- return [];
25
- }
26
- function readFileRange(filePath, range) {
27
- const content = readFileSync(filePath, 'utf-8');
28
- if (!range)
29
- return content;
30
- const lines = content.split('\n');
31
- const rangeMatch = range.match(/^(\d+)-(\d+)$/);
32
- if (rangeMatch) {
33
- const start = parseInt(rangeMatch[1], 10);
34
- const end = parseInt(rangeMatch[2], 10);
35
- return lines.slice(Math.max(0, start - 1), end).join('\n');
36
- }
37
- const lineMatch = range.match(/^(\d+)$/);
38
- if (lineMatch) {
39
- const line = parseInt(lineMatch[1], 10);
40
- return lines[line - 1] ?? '';
41
- }
42
- return content;
43
- }
44
- function isBinaryFile(filePath) {
45
- try {
46
- const stats = statSync(filePath);
47
- if (stats.size > 100 * 1024)
48
- return true;
49
- const buf = readFileSync(filePath);
50
- return buf.includes(0);
51
- }
52
- catch {
53
- return true;
54
- }
55
- }
56
- const MAX_FILE_SIZE = 50 * 1024;
57
- const MAX_FILE_LINES = 2000;
58
- export async function parseFileRefs(input) {
59
- const start = performance.now();
60
- const files = [];
61
- const processed = new Set();
62
- let prompt = input;
63
- let match;
64
- const re = new RegExp(AT_REF_RE.source, 'g');
65
- while ((match = re.exec(input)) !== null) {
66
- const ref = match[1];
67
- let filePath = ref;
68
- let range;
69
- let dirRef = false;
70
- if (ref.endsWith('/')) {
71
- dirRef = true;
72
- const dirPath = ref.slice(0, -1);
73
- const absolute = resolve(process.cwd(), dirPath);
74
- if (existsSync(absolute) && statSync(absolute).isDirectory()) {
75
- const dirFiles = globSync(`${absolute}/**/*.{ts,tsx,js,jsx,json,md}`);
76
- for (const f of dirFiles.slice(0, 20)) {
77
- if (!processed.has(f)) {
78
- processed.add(f);
79
- }
80
- }
81
- continue;
82
- }
83
- }
84
- if (filePath.includes(':')) {
85
- const colonIdx = filePath.indexOf(':');
86
- range = filePath.slice(colonIdx + 1);
87
- filePath = filePath.slice(0, colonIdx);
88
- }
89
- const resolved = resolveFileRef(filePath);
90
- for (const f of resolved) {
91
- if (processed.has(f))
92
- continue;
93
- processed.add(f);
94
- if (isBinaryFile(f) || statSync(f).size > MAX_FILE_SIZE) {
95
- continue;
96
- }
97
- const content = readFileRange(f, range);
98
- const lines = content.split('\n');
99
- if (lines.length > MAX_FILE_LINES) {
100
- continue;
101
- }
102
- const tokens = await countTokens(content);
103
- files.push({ path: f, content, tokens });
104
- }
105
- }
106
- if (files.length > 0) {
107
- const theme = getTheme();
108
- const fileList = files.map(f => {
109
- const lines = f.content.split('\n').length;
110
- return theme.successMsg(`${theme.filePath(f.path)} (${lines} строк, ~${f.tokens} токенов)`);
111
- }).join('\n');
112
- const filesSection = files.map(f => `\n### ${f.path}\n\`\`\`\n${f.content}\n\`\`\``).join('\n');
113
- prompt = `${input}\n\n[Загруженные файлы:]\n${fileList}\n${filesSection}`;
114
- }
115
- const elapsed = (performance.now() - start).toFixed(1);
116
- if (files.length > 0)
117
- logInfo('FILELOADER', `parsed ${files.length} file refs in ${elapsed}ms`);
118
- logDebug('FILELOADER', `parseFileRefs done: ${elapsed}ms`);
119
- return { prompt, files };
120
- }
121
- //# sourceMappingURL=file-loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-loader.js","sourceRoot":"","sources":["../src/file-loader.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts DELETED
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Точка входа CLI.
4
- * Создаёт CLI и запускает парсинг аргументов.
5
- *
6
- * @module index
7
- */
8
- export {};
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG"}
package/dist/index.js DELETED
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Точка входа CLI.
4
- * Создаёт CLI и запускает парсинг аргументов.
5
- *
6
- * @module index
7
- */
8
- import { createCli } from './cli.js';
9
- const cli = createCli();
10
- cli.parse(process.argv);
11
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;AACxB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -1,34 +0,0 @@
1
- import { type ProjectMap } from './project-map.js';
2
- import { type CodeIndex } from './code-index.js';
3
- export declare function loadCachedProjectMap(): {
4
- map: ProjectMap;
5
- formatted: string;
6
- } | null;
7
- export declare function saveProjectMap(map: ProjectMap, formatted: string): void;
8
- export declare function loadCachedCodeIndex(): CodeIndex | null;
9
- export declare function saveCodeIndex(index: CodeIndex): void;
10
- export declare function notifyFileChanged(relPath: string): void;
11
- export declare function getOrBuildProjectMap(cwd: string): {
12
- map: ProjectMap;
13
- formatted: string;
14
- fromCache: boolean;
15
- };
16
- export declare function checkProjectSize(cwd: string): number;
17
- export declare function ensureMaxFiles(cwd: string, count: number): void;
18
- export declare function getOrBuildCodeIndex(cwd: string): {
19
- index: CodeIndex;
20
- formatted: string;
21
- fromCache: boolean;
22
- };
23
- export declare function rebuildCodeIndex(cwd: string): {
24
- index: CodeIndex;
25
- formatted: string;
26
- };
27
- export declare function rebuildProjectMap(cwd: string): {
28
- map: ProjectMap;
29
- formatted: string;
30
- };
31
- export { setMaxFilesForProject } from './project-map.js';
32
- export declare function updateIndexForFile(cwd: string, filePath: string): boolean;
33
- export declare function isIndexStale(cwd: string): boolean;
34
- //# sourceMappingURL=cache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/indexer/cache.ts"],"names":[],"mappings":"AAGA,OAAO,EAA6I,KAAK,UAAU,EAAoB,MAAM,kBAAkB,CAAC;AAChN,OAAO,EAAmC,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAmClF,wBAAgB,oBAAoB,IAAI;IAAE,GAAG,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA+BpF;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAKvE;AAED,wBAAgB,mBAAmB,IAAI,SAAS,GAAG,IAAI,CAOtD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAIpD;AAKD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEvD;AAsDD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CA+B5G;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAQ/D;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAc5G;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAKrF;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAKrF;AAED,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CASzE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQjD"}
@@ -1,221 +0,0 @@
1
- import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
2
- import { join } from 'node:path';
3
- import { homedir } from 'node:os';
4
- import { generateProjectMap, formatProjectMap, collectSourceFiles, getMaxFilesForProject, extractExports, getLangKeyFromExt } from './project-map.js';
5
- import { buildCodeIndex, formatCodeIndex } from './code-index.js';
6
- import { logInfo, logWarn, logDebug, writeStatus } from '../logger.js';
7
- /**
8
- * Кэш индексатора проекта.
9
- *
10
- * Управляет кэшированием:
11
- * - Карты проекта (project-map)
12
- * - Индекса кода (code-index)
13
- *
14
- * Кэш хранится в ~/.mma/index/.
15
- * Инвалидация по хэшам файлов.
16
- *
17
- * @module indexer/cache
18
- */
19
- const CACHE_DIR = join(homedir(), '.mma', 'index');
20
- function ensureCacheDir() {
21
- if (!existsSync(CACHE_DIR)) {
22
- mkdirSync(CACHE_DIR, { recursive: true });
23
- }
24
- }
25
- const PROJECT_MAP_FILE = join(CACHE_DIR, 'project-map.txt');
26
- const PROJECT_MAP_JSON = join(CACHE_DIR, 'project-map.json');
27
- const CODE_INDEX_FILE = join(CACHE_DIR, 'code-index.json');
28
- const CODE_INDEX_TXT = join(CACHE_DIR, 'code-index.txt');
29
- /** Версия формата кэша. При изменении — кэш пересоздаётся. */
30
- const CACHE_VERSION = 2; // v2: added directories field
31
- /** Максимальный возраст кэша (5 минут). После — пересборка. */
32
- const CACHE_MAX_AGE_MS = 5 * 60 * 1000;
33
- export function loadCachedProjectMap() {
34
- try {
35
- if (existsSync(PROJECT_MAP_JSON) && existsSync(PROJECT_MAP_FILE)) {
36
- const raw = readFileSync(PROJECT_MAP_JSON, 'utf-8');
37
- const data = JSON.parse(raw);
38
- // Проверка версии кэша
39
- if (data._cacheVersion !== CACHE_VERSION) {
40
- logInfo('INDEXER', `Cache version mismatch: ${data._cacheVersion} != ${CACHE_VERSION}, rebuilding`);
41
- return null;
42
- }
43
- // Проверка возраста кэша
44
- if (data.generatedAt) {
45
- const age = Date.now() - new Date(data.generatedAt).getTime();
46
- if (age > CACHE_MAX_AGE_MS) {
47
- logInfo('INDEXER', `Cache expired (${Math.round(age / 1000)}s old), rebuilding`);
48
- return null;
49
- }
50
- }
51
- // Совместимость: старый кэш без directories
52
- if (!data.directories) {
53
- data.directories = [];
54
- }
55
- const formatted = readFileSync(PROJECT_MAP_FILE, 'utf-8');
56
- return { map: data, formatted };
57
- }
58
- }
59
- catch { /* ignore */ }
60
- return null;
61
- }
62
- export function saveProjectMap(map, formatted) {
63
- ensureCacheDir();
64
- const data = { ...map, _cacheVersion: CACHE_VERSION };
65
- writeFileSync(PROJECT_MAP_JSON, JSON.stringify(data), 'utf-8');
66
- writeFileSync(PROJECT_MAP_FILE, formatted, 'utf-8');
67
- }
68
- export function loadCachedCodeIndex() {
69
- try {
70
- if (existsSync(CODE_INDEX_FILE)) {
71
- return JSON.parse(readFileSync(CODE_INDEX_FILE, 'utf-8'));
72
- }
73
- }
74
- catch { /* ignore */ }
75
- return null;
76
- }
77
- export function saveCodeIndex(index) {
78
- ensureCacheDir();
79
- writeFileSync(CODE_INDEX_FILE, JSON.stringify(index, null, 2), 'utf-8');
80
- writeFileSync(CODE_INDEX_TXT, formatCodeIndex(index), 'utf-8');
81
- }
82
- let _projectMapCache = null;
83
- let _dirtyFiles = new Set();
84
- export function notifyFileChanged(relPath) {
85
- if (relPath)
86
- _dirtyFiles.add(relPath);
87
- }
88
- function applyPendingUpdates(cache, cwd) {
89
- if (_dirtyFiles.size === 0)
90
- return false;
91
- writeStatus(`Updating ${_dirtyFiles.size} file(s)...`);
92
- logInfo('INDEXER', `applyPendingUpdates: ${_dirtyFiles.size} files`);
93
- let changed = false;
94
- for (const relPath of _dirtyFiles) {
95
- const absPath = join(cwd, relPath);
96
- if (!existsSync(absPath)) {
97
- const idx = cache.map.files.findIndex(f => f.path === relPath);
98
- if (idx !== -1) {
99
- cache.map.files.splice(idx, 1);
100
- changed = true;
101
- }
102
- continue;
103
- }
104
- try {
105
- const content = readFileSync(absPath, 'utf-8');
106
- const lines = content.split('\n').length;
107
- const ext = relPath.split('.').pop()?.toLowerCase() || '';
108
- const langKey = getLangKeyFromExt(ext);
109
- const exports = extractExports(content, langKey);
110
- const existing = cache.map.files.find(f => f.path === relPath);
111
- if (existing) {
112
- if (existing.lines !== lines || JSON.stringify(existing.exports) !== JSON.stringify(exports)) {
113
- existing.lines = lines;
114
- existing.exports = exports;
115
- changed = true;
116
- }
117
- }
118
- else {
119
- cache.map.files.push({ path: relPath, exports, lines });
120
- cache.map.files.sort((a, b) => a.path.localeCompare(b.path));
121
- changed = true;
122
- }
123
- }
124
- catch { /* skip unreadable */ }
125
- }
126
- _dirtyFiles.clear();
127
- if (changed) {
128
- cache.map.generatedAt = new Date().toISOString();
129
- cache.formatted = formatProjectMap(cache.map);
130
- saveProjectMap(cache.map, cache.formatted);
131
- }
132
- return changed;
133
- }
134
- export function getOrBuildProjectMap(cwd) {
135
- if (_projectMapCache && _dirtyFiles.size === 0) {
136
- logDebug('INDEXER', 'getOrBuildProjectMap: memory cache hit');
137
- return { ..._projectMapCache, fromCache: true };
138
- }
139
- if (!_projectMapCache) {
140
- const cached = loadCachedProjectMap();
141
- if (cached) {
142
- logDebug('INDEXER', 'getOrBuildProjectMap: disk cache hit');
143
- _projectMapCache = { map: cached.map, formatted: cached.formatted };
144
- }
145
- }
146
- if (_projectMapCache) {
147
- const fromCache = _dirtyFiles.size === 0;
148
- applyPendingUpdates(_projectMapCache, cwd);
149
- return { ..._projectMapCache, fromCache };
150
- }
151
- writeStatus('Indexing project files...');
152
- logInfo('INDEXER', 'getOrBuildProjectMap: cache miss, building from scratch');
153
- const stored = getMaxFilesForProject(cwd);
154
- const max = stored ?? 5000;
155
- const map = generateProjectMap(cwd, max);
156
- const formatted = formatProjectMap(map);
157
- _projectMapCache = { map, formatted };
158
- _dirtyFiles.clear();
159
- saveProjectMap(map, formatted);
160
- writeStatus(`${map.files.length} files indexed`);
161
- return { map, formatted, fromCache: false };
162
- }
163
- export function checkProjectSize(cwd) {
164
- return collectSourceFiles(cwd).length;
165
- }
166
- export function ensureMaxFiles(cwd, count) {
167
- const stored = getMaxFilesForProject(cwd);
168
- if (stored)
169
- return;
170
- if (count > 5000) {
171
- logWarn('INDEXER', `${count} source files found. Use --max-files <N> or set in config agent.maxProjectFiles`);
172
- logInfo('INDEXER', `Indexing first 5000 files. Set maxProjectFiles in ~/.mma/config.json to index more.`);
173
- }
174
- }
175
- export function getOrBuildCodeIndex(cwd) {
176
- const cached = loadCachedCodeIndex();
177
- if (cached) {
178
- logDebug('INDEXER', 'getOrBuildCodeIndex: disk cache hit');
179
- const formatted = formatCodeIndex(cached);
180
- return { index: cached, formatted, fromCache: true };
181
- }
182
- writeStatus('Building code index...');
183
- logInfo('INDEXER', 'getOrBuildCodeIndex: cache miss, building AST index');
184
- const index = buildCodeIndex(cwd);
185
- const formatted = formatCodeIndex(index);
186
- saveCodeIndex(index);
187
- return { index, formatted, fromCache: false };
188
- }
189
- export function rebuildCodeIndex(cwd) {
190
- const index = buildCodeIndex(cwd);
191
- const formatted = formatCodeIndex(index);
192
- saveCodeIndex(index);
193
- return { index, formatted };
194
- }
195
- export function rebuildProjectMap(cwd) {
196
- const map = generateProjectMap(cwd);
197
- const formatted = formatProjectMap(map);
198
- saveProjectMap(map, formatted);
199
- return { map, formatted };
200
- }
201
- export { setMaxFilesForProject } from './project-map.js';
202
- export function updateIndexForFile(cwd, filePath) {
203
- try {
204
- _projectMapCache = null;
205
- const fullIndex = buildCodeIndex(cwd);
206
- saveCodeIndex(fullIndex);
207
- return true;
208
- }
209
- catch {
210
- return false;
211
- }
212
- }
213
- export function isIndexStale(cwd) {
214
- const index = loadCachedCodeIndex();
215
- if (!index)
216
- return true;
217
- const builtAt = new Date(index.builtAt).getTime();
218
- const maxAge = 5 * 60 * 1000;
219
- return (Date.now() - builtAt) > maxAge;
220
- }
221
- //# sourceMappingURL=cache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/indexer/cache.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- interface SymbolInfo {
2
- file: string;
3
- line: number;
4
- type: string;
5
- sig: string;
6
- }
7
- interface ImportInfo {
8
- from: string;
9
- imports: string[];
10
- }
11
- interface ReferenceInfo {
12
- symbol: string;
13
- locations: string[];
14
- }
15
- export interface CodeIndex {
16
- language: string;
17
- symbols: Record<string, SymbolInfo>;
18
- imports: Record<string, ImportInfo>;
19
- references: Record<string, ReferenceInfo>;
20
- builtAt: string;
21
- fileHashes: Record<string, string>;
22
- }
23
- export declare function buildCodeIndex(cwd: string): CodeIndex;
24
- export declare function formatCodeIndex(index: CodeIndex): string;
25
- export declare function getCodeIndexTokenEstimate(index: CodeIndex): number;
26
- export {};
27
- //# sourceMappingURL=code-index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-index.d.ts","sourceRoot":"","sources":["../../src/indexer/code-index.ts"],"names":[],"mappings":"AA4BA,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AA2HD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAoDrD;AAID,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAyBxD;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAGlE"}