@compass-ai/nova 1.0.72 → 1.0.74

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 (974) hide show
  1. package/dist/acp/agent.d.ts +318 -0
  2. package/dist/acp/agent.d.ts.map +1 -0
  3. package/dist/acp/agent.js +795 -0
  4. package/dist/acp/agent.js.map +1 -0
  5. package/dist/acp/backpressure-writer.d.ts +49 -0
  6. package/dist/acp/backpressure-writer.d.ts.map +1 -0
  7. package/dist/acp/backpressure-writer.js +153 -0
  8. package/dist/acp/backpressure-writer.js.map +1 -0
  9. package/dist/acp/event-adapter.d.ts +242 -0
  10. package/dist/acp/event-adapter.d.ts.map +1 -0
  11. package/dist/acp/event-adapter.js +456 -0
  12. package/dist/acp/event-adapter.js.map +1 -0
  13. package/dist/acp/index.d.ts +30 -0
  14. package/dist/acp/index.d.ts.map +1 -0
  15. package/dist/acp/index.js +36 -0
  16. package/dist/acp/index.js.map +1 -0
  17. package/dist/acp/modes.d.ts +56 -0
  18. package/dist/acp/modes.d.ts.map +1 -0
  19. package/dist/acp/modes.js +135 -0
  20. package/dist/acp/modes.js.map +1 -0
  21. package/dist/acp/session-manager.d.ts +170 -0
  22. package/dist/acp/session-manager.d.ts.map +1 -0
  23. package/dist/acp/session-manager.js +381 -0
  24. package/dist/acp/session-manager.js.map +1 -0
  25. package/dist/acp/text-coalescer.d.ts +45 -0
  26. package/dist/acp/text-coalescer.d.ts.map +1 -0
  27. package/dist/acp/text-coalescer.js +110 -0
  28. package/dist/acp/text-coalescer.js.map +1 -0
  29. package/dist/acp/tool-bridge.d.ts +156 -0
  30. package/dist/acp/tool-bridge.d.ts.map +1 -0
  31. package/dist/acp/tool-bridge.js +381 -0
  32. package/dist/acp/tool-bridge.js.map +1 -0
  33. package/dist/acp/types.d.ts +314 -0
  34. package/dist/acp/types.d.ts.map +1 -0
  35. package/dist/acp/types.js +8 -0
  36. package/dist/acp/types.js.map +1 -0
  37. package/dist/cli.d.ts +9 -0
  38. package/dist/cli.d.ts.map +1 -0
  39. package/dist/cli.js +185 -184
  40. package/dist/cli.js.map +1 -0
  41. package/dist/commands/acp.d.ts +26 -0
  42. package/dist/commands/acp.d.ts.map +1 -0
  43. package/dist/commands/acp.js +492 -0
  44. package/dist/commands/acp.js.map +1 -0
  45. package/dist/commands/cache.d.ts +33 -0
  46. package/dist/commands/cache.d.ts.map +1 -0
  47. package/dist/commands/cache.js +537 -0
  48. package/dist/commands/cache.js.map +1 -0
  49. package/dist/commands/config.d.ts +10 -0
  50. package/dist/commands/config.d.ts.map +1 -0
  51. package/dist/commands/config.js +367 -0
  52. package/dist/commands/config.js.map +1 -0
  53. package/dist/commands/consent.d.ts +21 -0
  54. package/dist/commands/consent.d.ts.map +1 -0
  55. package/dist/commands/consent.js +334 -0
  56. package/dist/commands/consent.js.map +1 -0
  57. package/dist/commands/data.d.ts +24 -0
  58. package/dist/commands/data.d.ts.map +1 -0
  59. package/dist/commands/data.js +586 -0
  60. package/dist/commands/data.js.map +1 -0
  61. package/dist/commands/index.d.ts +145 -0
  62. package/dist/commands/index.d.ts.map +1 -0
  63. package/dist/commands/index.js +210 -0
  64. package/dist/commands/index.js.map +1 -0
  65. package/dist/commands/init.d.ts +106 -0
  66. package/dist/commands/init.d.ts.map +1 -0
  67. package/dist/commands/init.js +349 -0
  68. package/dist/commands/init.js.map +1 -0
  69. package/dist/commands/logs.d.ts +13 -0
  70. package/dist/commands/logs.d.ts.map +1 -0
  71. package/dist/commands/logs.js +359 -0
  72. package/dist/commands/logs.js.map +1 -0
  73. package/dist/commands/mcp.d.ts +20 -0
  74. package/dist/commands/mcp.d.ts.map +1 -0
  75. package/dist/commands/mcp.js +687 -0
  76. package/dist/commands/mcp.js.map +1 -0
  77. package/dist/commands/reset.d.ts +20 -0
  78. package/dist/commands/reset.d.ts.map +1 -0
  79. package/dist/commands/reset.js +372 -0
  80. package/dist/commands/reset.js.map +1 -0
  81. package/dist/commands/setup.d.ts +74 -0
  82. package/dist/commands/setup.d.ts.map +1 -0
  83. package/dist/commands/setup.js +863 -0
  84. package/dist/commands/setup.js.map +1 -0
  85. package/dist/commands/slash/agents.d.ts +40 -0
  86. package/dist/commands/slash/agents.d.ts.map +1 -0
  87. package/dist/commands/slash/agents.js +519 -0
  88. package/dist/commands/slash/agents.js.map +1 -0
  89. package/dist/commands/slash/approve.d.ts +46 -0
  90. package/dist/commands/slash/approve.d.ts.map +1 -0
  91. package/dist/commands/slash/approve.js +239 -0
  92. package/dist/commands/slash/approve.js.map +1 -0
  93. package/dist/commands/slash/attach.d.ts +70 -0
  94. package/dist/commands/slash/attach.d.ts.map +1 -0
  95. package/dist/commands/slash/attach.js +333 -0
  96. package/dist/commands/slash/attach.js.map +1 -0
  97. package/dist/commands/slash/clear.d.ts +47 -0
  98. package/dist/commands/slash/clear.d.ts.map +1 -0
  99. package/dist/commands/slash/clear.js +261 -0
  100. package/dist/commands/slash/clear.js.map +1 -0
  101. package/dist/commands/slash/commit.d.ts +40 -0
  102. package/dist/commands/slash/commit.d.ts.map +1 -0
  103. package/dist/commands/slash/commit.js +337 -0
  104. package/dist/commands/slash/commit.js.map +1 -0
  105. package/dist/commands/slash/compact.d.ts +48 -0
  106. package/dist/commands/slash/compact.d.ts.map +1 -0
  107. package/dist/commands/slash/compact.js +288 -0
  108. package/dist/commands/slash/compact.js.map +1 -0
  109. package/dist/commands/slash/config.d.ts +20 -0
  110. package/dist/commands/slash/config.d.ts.map +1 -0
  111. package/dist/commands/slash/config.js +136 -0
  112. package/dist/commands/slash/config.js.map +1 -0
  113. package/dist/commands/slash/context.d.ts +49 -0
  114. package/dist/commands/slash/context.d.ts.map +1 -0
  115. package/dist/commands/slash/context.js +430 -0
  116. package/dist/commands/slash/context.js.map +1 -0
  117. package/dist/commands/slash/cost.d.ts +34 -0
  118. package/dist/commands/slash/cost.d.ts.map +1 -0
  119. package/dist/commands/slash/cost.js +312 -0
  120. package/dist/commands/slash/cost.js.map +1 -0
  121. package/dist/commands/slash/custom.d.ts +41 -0
  122. package/dist/commands/slash/custom.d.ts.map +1 -0
  123. package/dist/commands/slash/custom.js +126 -0
  124. package/dist/commands/slash/custom.js.map +1 -0
  125. package/dist/commands/slash/exit.d.ts +25 -0
  126. package/dist/commands/slash/exit.d.ts.map +1 -0
  127. package/dist/commands/slash/exit.js +186 -0
  128. package/dist/commands/slash/exit.js.map +1 -0
  129. package/dist/commands/slash/export.d.ts +27 -0
  130. package/dist/commands/slash/export.d.ts.map +1 -0
  131. package/dist/commands/slash/export.js +318 -0
  132. package/dist/commands/slash/export.js.map +1 -0
  133. package/dist/commands/slash/files.d.ts +47 -0
  134. package/dist/commands/slash/files.d.ts.map +1 -0
  135. package/dist/commands/slash/files.js +521 -0
  136. package/dist/commands/slash/files.js.map +1 -0
  137. package/dist/commands/slash/help.d.ts +50 -0
  138. package/dist/commands/slash/help.d.ts.map +1 -0
  139. package/dist/commands/slash/help.js +282 -0
  140. package/dist/commands/slash/help.js.map +1 -0
  141. package/dist/commands/slash/index-cmd.d.ts +41 -0
  142. package/dist/commands/slash/index-cmd.d.ts.map +1 -0
  143. package/dist/commands/slash/index-cmd.js +349 -0
  144. package/dist/commands/slash/index-cmd.js.map +1 -0
  145. package/dist/commands/slash/index.d.ts +97 -0
  146. package/dist/commands/slash/index.d.ts.map +1 -0
  147. package/dist/commands/slash/index.js +251 -0
  148. package/dist/commands/slash/index.js.map +1 -0
  149. package/dist/commands/slash/login.d.ts +23 -0
  150. package/dist/commands/slash/login.d.ts.map +1 -0
  151. package/dist/commands/slash/login.js +175 -0
  152. package/dist/commands/slash/login.js.map +1 -0
  153. package/dist/commands/slash/logout.d.ts +23 -0
  154. package/dist/commands/slash/logout.d.ts.map +1 -0
  155. package/dist/commands/slash/logout.js +153 -0
  156. package/dist/commands/slash/logout.js.map +1 -0
  157. package/dist/commands/slash/logs.d.ts +29 -0
  158. package/dist/commands/slash/logs.d.ts.map +1 -0
  159. package/dist/commands/slash/logs.js +423 -0
  160. package/dist/commands/slash/logs.js.map +1 -0
  161. package/dist/commands/slash/mcp.d.ts +29 -0
  162. package/dist/commands/slash/mcp.d.ts.map +1 -0
  163. package/dist/commands/slash/mcp.js +1026 -0
  164. package/dist/commands/slash/mcp.js.map +1 -0
  165. package/dist/commands/slash/model.d.ts +60 -0
  166. package/dist/commands/slash/model.d.ts.map +1 -0
  167. package/dist/commands/slash/model.js +466 -0
  168. package/dist/commands/slash/model.js.map +1 -0
  169. package/dist/commands/slash/personality.d.ts +40 -0
  170. package/dist/commands/slash/personality.d.ts.map +1 -0
  171. package/dist/commands/slash/personality.js +272 -0
  172. package/dist/commands/slash/personality.js.map +1 -0
  173. package/dist/commands/slash/purge.d.ts +42 -0
  174. package/dist/commands/slash/purge.d.ts.map +1 -0
  175. package/dist/commands/slash/purge.js +233 -0
  176. package/dist/commands/slash/purge.js.map +1 -0
  177. package/dist/commands/slash/reset.d.ts +44 -0
  178. package/dist/commands/slash/reset.d.ts.map +1 -0
  179. package/dist/commands/slash/reset.js +326 -0
  180. package/dist/commands/slash/reset.js.map +1 -0
  181. package/dist/commands/slash/skills.d.ts +40 -0
  182. package/dist/commands/slash/skills.d.ts.map +1 -0
  183. package/dist/commands/slash/skills.js +207 -0
  184. package/dist/commands/slash/skills.js.map +1 -0
  185. package/dist/commands/slash/tokens.d.ts +34 -0
  186. package/dist/commands/slash/tokens.d.ts.map +1 -0
  187. package/dist/commands/slash/tokens.js +205 -0
  188. package/dist/commands/slash/tokens.js.map +1 -0
  189. package/dist/commands/slash/unleash.d.ts +50 -0
  190. package/dist/commands/slash/unleash.d.ts.map +1 -0
  191. package/dist/commands/slash/unleash.js +262 -0
  192. package/dist/commands/slash/unleash.js.map +1 -0
  193. package/dist/commands/slash/update.d.ts +34 -0
  194. package/dist/commands/slash/update.d.ts.map +1 -0
  195. package/dist/commands/slash/update.js +364 -0
  196. package/dist/commands/slash/update.js.map +1 -0
  197. package/dist/commands/slash/wrap.d.ts +18 -0
  198. package/dist/commands/slash/wrap.d.ts.map +1 -0
  199. package/dist/commands/slash/wrap.js +21 -0
  200. package/dist/commands/slash/wrap.js.map +1 -0
  201. package/dist/commands/tokens.d.ts +26 -0
  202. package/dist/commands/tokens.d.ts.map +1 -0
  203. package/dist/commands/tokens.js +245 -0
  204. package/dist/commands/tokens.js.map +1 -0
  205. package/dist/constants/builtin-agents.d.ts +27 -0
  206. package/dist/constants/builtin-agents.d.ts.map +1 -0
  207. package/dist/constants/builtin-agents.js +710 -0
  208. package/dist/constants/builtin-agents.js.map +1 -0
  209. package/dist/constants/builtin-skills.d.ts +32 -0
  210. package/dist/constants/builtin-skills.d.ts.map +1 -0
  211. package/dist/constants/builtin-skills.js +389 -0
  212. package/dist/constants/builtin-skills.js.map +1 -0
  213. package/dist/constants/defaults.d.ts +448 -0
  214. package/dist/constants/defaults.d.ts.map +1 -0
  215. package/dist/constants/defaults.js +829 -0
  216. package/dist/constants/defaults.js.map +1 -0
  217. package/dist/constants/index.d.ts +27 -0
  218. package/dist/constants/index.d.ts.map +1 -0
  219. package/dist/constants/index.js +85 -0
  220. package/dist/constants/index.js.map +1 -0
  221. package/dist/constants/install-hints.d.ts +7 -0
  222. package/dist/constants/install-hints.d.ts.map +1 -0
  223. package/dist/constants/install-hints.js +123 -0
  224. package/dist/constants/install-hints.js.map +1 -0
  225. package/dist/constants/models.d.ts +255 -0
  226. package/dist/constants/models.d.ts.map +1 -0
  227. package/dist/constants/models.js +596 -0
  228. package/dist/constants/models.js.map +1 -0
  229. package/dist/constants/schedule.d.ts +43 -0
  230. package/dist/constants/schedule.d.ts.map +1 -0
  231. package/dist/constants/schedule.js +110 -0
  232. package/dist/constants/schedule.js.map +1 -0
  233. package/dist/constants/system-utilities.d.ts +57 -0
  234. package/dist/constants/system-utilities.d.ts.map +1 -0
  235. package/dist/constants/system-utilities.js +421 -0
  236. package/dist/constants/system-utilities.js.map +1 -0
  237. package/dist/constants/token-limits.d.ts +102 -0
  238. package/dist/constants/token-limits.d.ts.map +1 -0
  239. package/dist/constants/token-limits.js +286 -0
  240. package/dist/constants/token-limits.js.map +1 -0
  241. package/dist/core/autocomplete.d.ts +132 -0
  242. package/dist/core/autocomplete.d.ts.map +1 -0
  243. package/dist/core/autocomplete.js +653 -0
  244. package/dist/core/autocomplete.js.map +1 -0
  245. package/dist/core/command-parser.d.ts +301 -0
  246. package/dist/core/command-parser.d.ts.map +1 -0
  247. package/dist/core/command-parser.js +526 -0
  248. package/dist/core/command-parser.js.map +1 -0
  249. package/dist/core/context-builder.d.ts +264 -0
  250. package/dist/core/context-builder.d.ts.map +1 -0
  251. package/dist/core/context-builder.js +1018 -0
  252. package/dist/core/context-builder.js.map +1 -0
  253. package/dist/core/event-emitter.d.ts +411 -0
  254. package/dist/core/event-emitter.d.ts.map +1 -0
  255. package/dist/core/event-emitter.js +138 -0
  256. package/dist/core/event-emitter.js.map +1 -0
  257. package/dist/core/history-manager.d.ts +62 -0
  258. package/dist/core/history-manager.d.ts.map +1 -0
  259. package/dist/core/history-manager.js +151 -0
  260. package/dist/core/history-manager.js.map +1 -0
  261. package/dist/core/slash-command-handler.d.ts +352 -0
  262. package/dist/core/slash-command-handler.d.ts.map +1 -0
  263. package/dist/core/slash-command-handler.js +563 -0
  264. package/dist/core/slash-command-handler.js.map +1 -0
  265. package/dist/core/task-processor.d.ts +179 -0
  266. package/dist/core/task-processor.d.ts.map +1 -0
  267. package/dist/core/task-processor.js +519 -0
  268. package/dist/core/task-processor.js.map +1 -0
  269. package/dist/index.d.ts +90 -0
  270. package/dist/index.d.ts.map +1 -0
  271. package/dist/index.js +4 -3
  272. package/dist/index.js.map +1 -0
  273. package/dist/prompts/agent-prompt-generator.d.ts +26 -0
  274. package/dist/prompts/agent-prompt-generator.d.ts.map +1 -0
  275. package/dist/prompts/agent-prompt-generator.js +244 -0
  276. package/dist/prompts/agent-prompt-generator.js.map +1 -0
  277. package/dist/prompts/commit-message.d.ts +35 -0
  278. package/dist/prompts/commit-message.d.ts.map +1 -0
  279. package/dist/prompts/commit-message.js +187 -0
  280. package/dist/prompts/commit-message.js.map +1 -0
  281. package/dist/prompts/conversation.d.ts +51 -0
  282. package/dist/prompts/conversation.d.ts.map +1 -0
  283. package/dist/prompts/conversation.js +115 -0
  284. package/dist/prompts/conversation.js.map +1 -0
  285. package/dist/prompts/index.d.ts +39 -0
  286. package/dist/prompts/index.d.ts.map +1 -0
  287. package/dist/prompts/index.js +74 -0
  288. package/dist/prompts/index.js.map +1 -0
  289. package/dist/prompts/memory.d.ts +6 -0
  290. package/dist/prompts/memory.d.ts.map +1 -0
  291. package/dist/prompts/memory.js +29 -0
  292. package/dist/prompts/memory.js.map +1 -0
  293. package/dist/prompts/personality.d.ts +77 -0
  294. package/dist/prompts/personality.d.ts.map +1 -0
  295. package/dist/prompts/personality.js +393 -0
  296. package/dist/prompts/personality.js.map +1 -0
  297. package/dist/prompts/plan-generator.d.ts +144 -0
  298. package/dist/prompts/plan-generator.d.ts.map +1 -0
  299. package/dist/prompts/plan-generator.js +553 -0
  300. package/dist/prompts/plan-generator.js.map +1 -0
  301. package/dist/prompts/system.d.ts +95 -0
  302. package/dist/prompts/system.d.ts.map +1 -0
  303. package/dist/prompts/system.js +461 -0
  304. package/dist/prompts/system.js.map +1 -0
  305. package/dist/prompts/task-processor.d.ts +94 -0
  306. package/dist/prompts/task-processor.d.ts.map +1 -0
  307. package/dist/prompts/task-processor.js +554 -0
  308. package/dist/prompts/task-processor.js.map +1 -0
  309. package/dist/prompts/unguarded.d.ts +78 -0
  310. package/dist/prompts/unguarded.d.ts.map +1 -0
  311. package/dist/prompts/unguarded.js +418 -0
  312. package/dist/prompts/unguarded.js.map +1 -0
  313. package/dist/prompts/utils.d.ts +73 -0
  314. package/dist/prompts/utils.d.ts.map +1 -0
  315. package/dist/prompts/utils.js +114 -0
  316. package/dist/prompts/utils.js.map +1 -0
  317. package/dist/prompts/workflow.d.ts +241 -0
  318. package/dist/prompts/workflow.d.ts.map +1 -0
  319. package/dist/prompts/workflow.js +608 -0
  320. package/dist/prompts/workflow.js.map +1 -0
  321. package/dist/services/action-logger.d.ts +383 -0
  322. package/dist/services/action-logger.d.ts.map +1 -0
  323. package/dist/services/action-logger.js +544 -0
  324. package/dist/services/action-logger.js.map +1 -0
  325. package/dist/services/agent-budget-allocator.d.ts +111 -0
  326. package/dist/services/agent-budget-allocator.d.ts.map +1 -0
  327. package/dist/services/agent-budget-allocator.js +278 -0
  328. package/dist/services/agent-budget-allocator.js.map +1 -0
  329. package/dist/services/agent-manager.d.ts +181 -0
  330. package/dist/services/agent-manager.d.ts.map +1 -0
  331. package/dist/services/agent-manager.js +749 -0
  332. package/dist/services/agent-manager.js.map +1 -0
  333. package/dist/services/agent-spawner.d.ts +138 -0
  334. package/dist/services/agent-spawner.d.ts.map +1 -0
  335. package/dist/services/agent-spawner.js +748 -0
  336. package/dist/services/agent-spawner.js.map +1 -0
  337. package/dist/services/agent-state-service.d.ts +145 -0
  338. package/dist/services/agent-state-service.d.ts.map +1 -0
  339. package/dist/services/agent-state-service.js +247 -0
  340. package/dist/services/agent-state-service.js.map +1 -0
  341. package/dist/services/anthropic-client.d.ts +357 -0
  342. package/dist/services/anthropic-client.d.ts.map +1 -0
  343. package/dist/services/anthropic-client.js +1451 -0
  344. package/dist/services/anthropic-client.js.map +1 -0
  345. package/dist/services/approval-manager.d.ts +385 -0
  346. package/dist/services/approval-manager.d.ts.map +1 -0
  347. package/dist/services/approval-manager.js +1044 -0
  348. package/dist/services/approval-manager.js.map +1 -0
  349. package/dist/services/audit-logger.d.ts +245 -0
  350. package/dist/services/audit-logger.d.ts.map +1 -0
  351. package/dist/services/audit-logger.js +324 -0
  352. package/dist/services/audit-logger.js.map +1 -0
  353. package/dist/services/backup-manager.d.ts +136 -0
  354. package/dist/services/backup-manager.d.ts.map +1 -0
  355. package/dist/services/backup-manager.js +260 -0
  356. package/dist/services/backup-manager.js.map +1 -0
  357. package/dist/services/cache-service.d.ts +247 -0
  358. package/dist/services/cache-service.d.ts.map +1 -0
  359. package/dist/services/cache-service.js +558 -0
  360. package/dist/services/cache-service.js.map +1 -0
  361. package/dist/services/chat-archival-service.d.ts +108 -0
  362. package/dist/services/chat-archival-service.d.ts.map +1 -0
  363. package/dist/services/chat-archival-service.js +465 -0
  364. package/dist/services/chat-archival-service.js.map +1 -0
  365. package/dist/services/codebase-indexer.d.ts +272 -0
  366. package/dist/services/codebase-indexer.d.ts.map +1 -0
  367. package/dist/services/codebase-indexer.js +863 -0
  368. package/dist/services/codebase-indexer.js.map +1 -0
  369. package/dist/services/compass-auth-service.d.ts +204 -0
  370. package/dist/services/compass-auth-service.d.ts.map +1 -0
  371. package/dist/services/compass-auth-service.js +391 -0
  372. package/dist/services/compass-auth-service.js.map +1 -0
  373. package/dist/services/complexity-classifier.d.ts +208 -0
  374. package/dist/services/complexity-classifier.d.ts.map +1 -0
  375. package/dist/services/complexity-classifier.js +1410 -0
  376. package/dist/services/complexity-classifier.js.map +1 -0
  377. package/dist/services/config-manager.d.ts +278 -0
  378. package/dist/services/config-manager.d.ts.map +1 -0
  379. package/dist/services/config-manager.js +651 -0
  380. package/dist/services/config-manager.js.map +1 -0
  381. package/dist/services/consent-manager.d.ts +239 -0
  382. package/dist/services/consent-manager.d.ts.map +1 -0
  383. package/dist/services/consent-manager.js +516 -0
  384. package/dist/services/consent-manager.js.map +1 -0
  385. package/dist/services/conversation-compactor.d.ts +223 -0
  386. package/dist/services/conversation-compactor.d.ts.map +1 -0
  387. package/dist/services/conversation-compactor.js +750 -0
  388. package/dist/services/conversation-compactor.js.map +1 -0
  389. package/dist/services/cost-tracker.d.ts +167 -0
  390. package/dist/services/cost-tracker.d.ts.map +1 -0
  391. package/dist/services/cost-tracker.js +199 -0
  392. package/dist/services/cost-tracker.js.map +1 -0
  393. package/dist/services/credential-store.d.ts +273 -0
  394. package/dist/services/credential-store.d.ts.map +1 -0
  395. package/dist/services/credential-store.js +877 -0
  396. package/dist/services/credential-store.js.map +1 -0
  397. package/dist/services/custom-command-service.d.ts +112 -0
  398. package/dist/services/custom-command-service.d.ts.map +1 -0
  399. package/dist/services/custom-command-service.js +464 -0
  400. package/dist/services/custom-command-service.js.map +1 -0
  401. package/dist/services/default-statusline-renderer.d.ts +60 -0
  402. package/dist/services/default-statusline-renderer.d.ts.map +1 -0
  403. package/dist/services/default-statusline-renderer.js +110 -0
  404. package/dist/services/default-statusline-renderer.js.map +1 -0
  405. package/dist/services/enhanced-context-gatherer.d.ts +116 -0
  406. package/dist/services/enhanced-context-gatherer.d.ts.map +1 -0
  407. package/dist/services/enhanced-context-gatherer.js +605 -0
  408. package/dist/services/enhanced-context-gatherer.js.map +1 -0
  409. package/dist/services/file-hash-tracker.d.ts +95 -0
  410. package/dist/services/file-hash-tracker.d.ts.map +1 -0
  411. package/dist/services/file-hash-tracker.js +199 -0
  412. package/dist/services/file-hash-tracker.js.map +1 -0
  413. package/dist/services/file-service.d.ts +274 -0
  414. package/dist/services/file-service.d.ts.map +1 -0
  415. package/dist/services/file-service.js +876 -0
  416. package/dist/services/file-service.js.map +1 -0
  417. package/dist/services/git-service.d.ts +536 -0
  418. package/dist/services/git-service.d.ts.map +1 -0
  419. package/dist/services/git-service.js +1215 -0
  420. package/dist/services/git-service.js.map +1 -0
  421. package/dist/services/hook-service.d.ts +148 -0
  422. package/dist/services/hook-service.d.ts.map +1 -0
  423. package/dist/services/hook-service.js +705 -0
  424. package/dist/services/hook-service.js.map +1 -0
  425. package/dist/services/ide-state-service.d.ts +114 -0
  426. package/dist/services/ide-state-service.d.ts.map +1 -0
  427. package/dist/services/ide-state-service.js +204 -0
  428. package/dist/services/ide-state-service.js.map +1 -0
  429. package/dist/services/interactive-clarifier.d.ts +90 -0
  430. package/dist/services/interactive-clarifier.d.ts.map +1 -0
  431. package/dist/services/interactive-clarifier.js +446 -0
  432. package/dist/services/interactive-clarifier.js.map +1 -0
  433. package/dist/services/iteration-scoper.d.ts +225 -0
  434. package/dist/services/iteration-scoper.d.ts.map +1 -0
  435. package/dist/services/iteration-scoper.js +387 -0
  436. package/dist/services/iteration-scoper.js.map +1 -0
  437. package/dist/services/llm-plan-generator.d.ts +44 -0
  438. package/dist/services/llm-plan-generator.d.ts.map +1 -0
  439. package/dist/services/llm-plan-generator.js +863 -0
  440. package/dist/services/llm-plan-generator.js.map +1 -0
  441. package/dist/services/llm-system-prompt-generator.d.ts +85 -0
  442. package/dist/services/llm-system-prompt-generator.d.ts.map +1 -0
  443. package/dist/services/llm-system-prompt-generator.js +257 -0
  444. package/dist/services/llm-system-prompt-generator.js.map +1 -0
  445. package/dist/services/log-interpreter.d.ts +190 -0
  446. package/dist/services/log-interpreter.d.ts.map +1 -0
  447. package/dist/services/log-interpreter.js +520 -0
  448. package/dist/services/log-interpreter.js.map +1 -0
  449. package/dist/services/mcp-config-manager.d.ts +141 -0
  450. package/dist/services/mcp-config-manager.d.ts.map +1 -0
  451. package/dist/services/mcp-config-manager.js +678 -0
  452. package/dist/services/mcp-config-manager.js.map +1 -0
  453. package/dist/services/mcp-oauth-service.d.ts +170 -0
  454. package/dist/services/mcp-oauth-service.d.ts.map +1 -0
  455. package/dist/services/mcp-oauth-service.js +892 -0
  456. package/dist/services/mcp-oauth-service.js.map +1 -0
  457. package/dist/services/mcp-plugin-support.d.ts +81 -0
  458. package/dist/services/mcp-plugin-support.d.ts.map +1 -0
  459. package/dist/services/mcp-plugin-support.js +305 -0
  460. package/dist/services/mcp-plugin-support.js.map +1 -0
  461. package/dist/services/mcp-server-manager.d.ts +134 -0
  462. package/dist/services/mcp-server-manager.d.ts.map +1 -0
  463. package/dist/services/mcp-server-manager.js +613 -0
  464. package/dist/services/mcp-server-manager.js.map +1 -0
  465. package/dist/services/mcp-tool-integration.d.ts +119 -0
  466. package/dist/services/mcp-tool-integration.d.ts.map +1 -0
  467. package/dist/services/mcp-tool-integration.js +381 -0
  468. package/dist/services/mcp-tool-integration.js.map +1 -0
  469. package/dist/services/mcp-transport.d.ts +105 -0
  470. package/dist/services/mcp-transport.d.ts.map +1 -0
  471. package/dist/services/mcp-transport.js +1316 -0
  472. package/dist/services/mcp-transport.js.map +1 -0
  473. package/dist/services/memory-service.d.ts +55 -0
  474. package/dist/services/memory-service.d.ts.map +1 -0
  475. package/dist/services/memory-service.js +251 -0
  476. package/dist/services/memory-service.js.map +1 -0
  477. package/dist/services/model-availability.d.ts +64 -0
  478. package/dist/services/model-availability.d.ts.map +1 -0
  479. package/dist/services/model-availability.js +114 -0
  480. package/dist/services/model-availability.js.map +1 -0
  481. package/dist/services/plan-generator.d.ts +98 -0
  482. package/dist/services/plan-generator.d.ts.map +1 -0
  483. package/dist/services/plan-generator.js +658 -0
  484. package/dist/services/plan-generator.js.map +1 -0
  485. package/dist/services/plan-mode-fallback.d.ts +80 -0
  486. package/dist/services/plan-mode-fallback.d.ts.map +1 -0
  487. package/dist/services/plan-mode-fallback.js +307 -0
  488. package/dist/services/plan-mode-fallback.js.map +1 -0
  489. package/dist/services/plan-mode-handler.d.ts +42 -0
  490. package/dist/services/plan-mode-handler.d.ts.map +1 -0
  491. package/dist/services/plan-mode-handler.js +388 -0
  492. package/dist/services/plan-mode-handler.js.map +1 -0
  493. package/dist/services/plan-persistence.d.ts +203 -0
  494. package/dist/services/plan-persistence.d.ts.map +1 -0
  495. package/dist/services/plan-persistence.js +538 -0
  496. package/dist/services/plan-persistence.js.map +1 -0
  497. package/dist/services/prompt-preprocessor.d.ts +73 -0
  498. package/dist/services/prompt-preprocessor.d.ts.map +1 -0
  499. package/dist/services/prompt-preprocessor.js +146 -0
  500. package/dist/services/prompt-preprocessor.js.map +1 -0
  501. package/dist/services/rating-service.d.ts +84 -0
  502. package/dist/services/rating-service.d.ts.map +1 -0
  503. package/dist/services/rating-service.js +171 -0
  504. package/dist/services/rating-service.js.map +1 -0
  505. package/dist/services/rating-state-manager.d.ts +131 -0
  506. package/dist/services/rating-state-manager.d.ts.map +1 -0
  507. package/dist/services/rating-state-manager.js +270 -0
  508. package/dist/services/rating-state-manager.js.map +1 -0
  509. package/dist/services/sdk-runner.d.ts +113 -0
  510. package/dist/services/sdk-runner.d.ts.map +1 -0
  511. package/dist/services/sdk-runner.js +1424 -0
  512. package/dist/services/sdk-runner.js.map +1 -0
  513. package/dist/services/session-manager.d.ts +528 -0
  514. package/dist/services/session-manager.d.ts.map +1 -0
  515. package/dist/services/session-manager.js +1184 -0
  516. package/dist/services/session-manager.js.map +1 -0
  517. package/dist/services/shell-executor.d.ts +337 -0
  518. package/dist/services/shell-executor.d.ts.map +1 -0
  519. package/dist/services/shell-executor.js +1201 -0
  520. package/dist/services/shell-executor.js.map +1 -0
  521. package/dist/services/skill-service.d.ts +149 -0
  522. package/dist/services/skill-service.d.ts.map +1 -0
  523. package/dist/services/skill-service.js +594 -0
  524. package/dist/services/skill-service.js.map +1 -0
  525. package/dist/services/statusline-executor.d.ts +102 -0
  526. package/dist/services/statusline-executor.d.ts.map +1 -0
  527. package/dist/services/statusline-executor.js +305 -0
  528. package/dist/services/statusline-executor.js.map +1 -0
  529. package/dist/services/step-tracker.d.ts +356 -0
  530. package/dist/services/step-tracker.d.ts.map +1 -0
  531. package/dist/services/step-tracker.js +634 -0
  532. package/dist/services/step-tracker.js.map +1 -0
  533. package/dist/services/system-event-logger.d.ts +473 -0
  534. package/dist/services/system-event-logger.d.ts.map +1 -0
  535. package/dist/services/system-event-logger.js +790 -0
  536. package/dist/services/system-event-logger.js.map +1 -0
  537. package/dist/services/system-utility-detector.d.ts +91 -0
  538. package/dist/services/system-utility-detector.d.ts.map +1 -0
  539. package/dist/services/system-utility-detector.js +238 -0
  540. package/dist/services/system-utility-detector.js.map +1 -0
  541. package/dist/services/team-context-store.d.ts +100 -0
  542. package/dist/services/team-context-store.d.ts.map +1 -0
  543. package/dist/services/team-context-store.js +513 -0
  544. package/dist/services/team-context-store.js.map +1 -0
  545. package/dist/services/temp-file-service.d.ts +164 -0
  546. package/dist/services/temp-file-service.d.ts.map +1 -0
  547. package/dist/services/temp-file-service.js +303 -0
  548. package/dist/services/temp-file-service.js.map +1 -0
  549. package/dist/services/token-limit-enforcer.d.ts +53 -0
  550. package/dist/services/token-limit-enforcer.d.ts.map +1 -0
  551. package/dist/services/token-limit-enforcer.js +90 -0
  552. package/dist/services/token-limit-enforcer.js.map +1 -0
  553. package/dist/services/token-limit-store.d.ts +105 -0
  554. package/dist/services/token-limit-store.d.ts.map +1 -0
  555. package/dist/services/token-limit-store.js +288 -0
  556. package/dist/services/token-limit-store.js.map +1 -0
  557. package/dist/services/token-tracker.d.ts +290 -0
  558. package/dist/services/token-tracker.d.ts.map +1 -0
  559. package/dist/services/token-tracker.js +751 -0
  560. package/dist/services/token-tracker.js.map +1 -0
  561. package/dist/services/tool-registry.d.ts +302 -0
  562. package/dist/services/tool-registry.d.ts.map +1 -0
  563. package/dist/services/tool-registry.js +606 -0
  564. package/dist/services/tool-registry.js.map +1 -0
  565. package/dist/services/tools-logger.d.ts +152 -0
  566. package/dist/services/tools-logger.d.ts.map +1 -0
  567. package/dist/services/tools-logger.js +222 -0
  568. package/dist/services/tools-logger.js.map +1 -0
  569. package/dist/services/update-plan-handler.d.ts +56 -0
  570. package/dist/services/update-plan-handler.d.ts.map +1 -0
  571. package/dist/services/update-plan-handler.js +372 -0
  572. package/dist/services/update-plan-handler.js.map +1 -0
  573. package/dist/services/update-service.d.ts +197 -0
  574. package/dist/services/update-service.d.ts.map +1 -0
  575. package/dist/services/update-service.js +749 -0
  576. package/dist/services/update-service.js.map +1 -0
  577. package/dist/services/verifier.d.ts +113 -0
  578. package/dist/services/verifier.d.ts.map +1 -0
  579. package/dist/services/verifier.js +541 -0
  580. package/dist/services/verifier.js.map +1 -0
  581. package/dist/services/workflow-manager.d.ts +277 -0
  582. package/dist/services/workflow-manager.d.ts.map +1 -0
  583. package/dist/services/workflow-manager.js +616 -0
  584. package/dist/services/workflow-manager.js.map +1 -0
  585. package/dist/services/workflow-orchestrator.d.ts +148 -0
  586. package/dist/services/workflow-orchestrator.d.ts.map +1 -0
  587. package/dist/services/workflow-orchestrator.js +617 -0
  588. package/dist/services/workflow-orchestrator.js.map +1 -0
  589. package/dist/services/worktree-manager.d.ts +36 -0
  590. package/dist/services/worktree-manager.d.ts.map +1 -0
  591. package/dist/services/worktree-manager.js +185 -0
  592. package/dist/services/worktree-manager.js.map +1 -0
  593. package/dist/templates/ascii-art.d.ts +136 -0
  594. package/dist/templates/ascii-art.d.ts.map +1 -0
  595. package/dist/templates/ascii-art.js +286 -0
  596. package/dist/templates/ascii-art.js.map +1 -0
  597. package/dist/templates/help.d.ts +186 -0
  598. package/dist/templates/help.d.ts.map +1 -0
  599. package/dist/templates/help.js +588 -0
  600. package/dist/templates/help.js.map +1 -0
  601. package/dist/templates/prompts/workflow-prompts.d.ts +9 -0
  602. package/dist/templates/prompts/workflow-prompts.d.ts.map +1 -0
  603. package/dist/templates/prompts/workflow-prompts.js +9 -0
  604. package/dist/templates/prompts/workflow-prompts.js.map +1 -0
  605. package/dist/tools/agent-tools.d.ts +9 -0
  606. package/dist/tools/agent-tools.d.ts.map +1 -0
  607. package/dist/tools/agent-tools.js +349 -0
  608. package/dist/tools/agent-tools.js.map +1 -0
  609. package/dist/tools/edit-replacers.d.ts +90 -0
  610. package/dist/tools/edit-replacers.d.ts.map +1 -0
  611. package/dist/tools/edit-replacers.js +553 -0
  612. package/dist/tools/edit-replacers.js.map +1 -0
  613. package/dist/tools/file-tools.d.ts +13 -0
  614. package/dist/tools/file-tools.d.ts.map +1 -0
  615. package/dist/tools/file-tools.js +954 -0
  616. package/dist/tools/file-tools.js.map +1 -0
  617. package/dist/tools/git-tools.d.ts +9 -0
  618. package/dist/tools/git-tools.d.ts.map +1 -0
  619. package/dist/tools/git-tools.js +261 -0
  620. package/dist/tools/git-tools.js.map +1 -0
  621. package/dist/tools/index.d.ts +13 -0
  622. package/dist/tools/index.d.ts.map +1 -0
  623. package/dist/tools/index.js +70 -0
  624. package/dist/tools/index.js.map +1 -0
  625. package/dist/tools/network-tools.d.ts +8 -0
  626. package/dist/tools/network-tools.d.ts.map +1 -0
  627. package/dist/tools/network-tools.js +261 -0
  628. package/dist/tools/network-tools.js.map +1 -0
  629. package/dist/tools/openai-tools.d.ts +16 -0
  630. package/dist/tools/openai-tools.d.ts.map +1 -0
  631. package/dist/tools/openai-tools.js +385 -0
  632. package/dist/tools/openai-tools.js.map +1 -0
  633. package/dist/tools/plan-tools.d.ts +9 -0
  634. package/dist/tools/plan-tools.d.ts.map +1 -0
  635. package/dist/tools/plan-tools.js +223 -0
  636. package/dist/tools/plan-tools.js.map +1 -0
  637. package/dist/tools/schedule-tools.d.ts +9 -0
  638. package/dist/tools/schedule-tools.d.ts.map +1 -0
  639. package/dist/tools/schedule-tools.js +405 -0
  640. package/dist/tools/schedule-tools.js.map +1 -0
  641. package/dist/tools/search-tools.d.ts +8 -0
  642. package/dist/tools/search-tools.d.ts.map +1 -0
  643. package/dist/tools/search-tools.js +357 -0
  644. package/dist/tools/search-tools.js.map +1 -0
  645. package/dist/tools/shared-utils.d.ts +91 -0
  646. package/dist/tools/shared-utils.d.ts.map +1 -0
  647. package/dist/tools/shared-utils.js +385 -0
  648. package/dist/tools/shared-utils.js.map +1 -0
  649. package/dist/tools/shell-tools.d.ts +9 -0
  650. package/dist/tools/shell-tools.d.ts.map +1 -0
  651. package/dist/tools/shell-tools.js +409 -0
  652. package/dist/tools/shell-tools.js.map +1 -0
  653. package/dist/tools/skill-tools.d.ts +13 -0
  654. package/dist/tools/skill-tools.d.ts.map +1 -0
  655. package/dist/tools/skill-tools.js +244 -0
  656. package/dist/tools/skill-tools.js.map +1 -0
  657. package/dist/tools/swarm-tools.d.ts +9 -0
  658. package/dist/tools/swarm-tools.d.ts.map +1 -0
  659. package/dist/tools/swarm-tools.js +422 -0
  660. package/dist/tools/swarm-tools.js.map +1 -0
  661. package/dist/tools/user-tools.d.ts +13 -0
  662. package/dist/tools/user-tools.d.ts.map +1 -0
  663. package/dist/tools/user-tools.js +232 -0
  664. package/dist/tools/user-tools.js.map +1 -0
  665. package/dist/types/agent-process.d.ts +244 -0
  666. package/dist/types/agent-process.d.ts.map +1 -0
  667. package/dist/types/agent-process.js +93 -0
  668. package/dist/types/agent-process.js.map +1 -0
  669. package/dist/types/agent.d.ts +358 -0
  670. package/dist/types/agent.d.ts.map +1 -0
  671. package/dist/types/agent.js +171 -0
  672. package/dist/types/agent.js.map +1 -0
  673. package/dist/types/anthropic.d.ts +438 -0
  674. package/dist/types/anthropic.d.ts.map +1 -0
  675. package/dist/types/anthropic.js +9 -0
  676. package/dist/types/anthropic.js.map +1 -0
  677. package/dist/types/approval.d.ts +332 -0
  678. package/dist/types/approval.d.ts.map +1 -0
  679. package/dist/types/approval.js +44 -0
  680. package/dist/types/approval.js.map +1 -0
  681. package/dist/types/autocomplete.d.ts +57 -0
  682. package/dist/types/autocomplete.d.ts.map +1 -0
  683. package/dist/types/autocomplete.js +7 -0
  684. package/dist/types/autocomplete.js.map +1 -0
  685. package/dist/types/chat-archive.d.ts +161 -0
  686. package/dist/types/chat-archive.d.ts.map +1 -0
  687. package/dist/types/chat-archive.js +36 -0
  688. package/dist/types/chat-archive.js.map +1 -0
  689. package/dist/types/config.d.ts +268 -0
  690. package/dist/types/config.d.ts.map +1 -0
  691. package/dist/types/config.js +188 -0
  692. package/dist/types/config.js.map +1 -0
  693. package/dist/types/consent.d.ts +191 -0
  694. package/dist/types/consent.d.ts.map +1 -0
  695. package/dist/types/consent.js +119 -0
  696. package/dist/types/consent.js.map +1 -0
  697. package/dist/types/custom-command.d.ts +139 -0
  698. package/dist/types/custom-command.d.ts.map +1 -0
  699. package/dist/types/custom-command.js +7 -0
  700. package/dist/types/custom-command.js.map +1 -0
  701. package/dist/types/git.d.ts +20 -0
  702. package/dist/types/git.d.ts.map +1 -0
  703. package/dist/types/git.js +2 -0
  704. package/dist/types/git.js.map +1 -0
  705. package/dist/types/hook.d.ts +342 -0
  706. package/dist/types/hook.d.ts.map +1 -0
  707. package/dist/types/hook.js +84 -0
  708. package/dist/types/hook.js.map +1 -0
  709. package/dist/types/index.d.ts +86 -0
  710. package/dist/types/index.d.ts.map +1 -0
  711. package/dist/types/index.js +71 -0
  712. package/dist/types/index.js.map +1 -0
  713. package/dist/types/mcp.d.ts +456 -0
  714. package/dist/types/mcp.d.ts.map +1 -0
  715. package/dist/types/mcp.js +94 -0
  716. package/dist/types/mcp.js.map +1 -0
  717. package/dist/types/rating.d.ts +110 -0
  718. package/dist/types/rating.d.ts.map +1 -0
  719. package/dist/types/rating.js +53 -0
  720. package/dist/types/rating.js.map +1 -0
  721. package/dist/types/schedule.d.ts +91 -0
  722. package/dist/types/schedule.d.ts.map +1 -0
  723. package/dist/types/schedule.js +8 -0
  724. package/dist/types/schedule.js.map +1 -0
  725. package/dist/types/session.d.ts +361 -0
  726. package/dist/types/session.d.ts.map +1 -0
  727. package/dist/types/session.js +9 -0
  728. package/dist/types/session.js.map +1 -0
  729. package/dist/types/skill.d.ts +258 -0
  730. package/dist/types/skill.d.ts.map +1 -0
  731. package/dist/types/skill.js +79 -0
  732. package/dist/types/skill.js.map +1 -0
  733. package/dist/types/statusline.d.ts +212 -0
  734. package/dist/types/statusline.d.ts.map +1 -0
  735. package/dist/types/statusline.js +8 -0
  736. package/dist/types/statusline.js.map +1 -0
  737. package/dist/types/stream.d.ts +61 -0
  738. package/dist/types/stream.d.ts.map +1 -0
  739. package/dist/types/stream.js +17 -0
  740. package/dist/types/stream.js.map +1 -0
  741. package/dist/types/swarm.d.ts +132 -0
  742. package/dist/types/swarm.d.ts.map +1 -0
  743. package/dist/types/swarm.js +21 -0
  744. package/dist/types/swarm.js.map +1 -0
  745. package/dist/types/token-limits.d.ts +107 -0
  746. package/dist/types/token-limits.d.ts.map +1 -0
  747. package/dist/types/token-limits.js +57 -0
  748. package/dist/types/token-limits.js.map +1 -0
  749. package/dist/types/token.d.ts +329 -0
  750. package/dist/types/token.d.ts.map +1 -0
  751. package/dist/types/token.js +9 -0
  752. package/dist/types/token.js.map +1 -0
  753. package/dist/types/update.d.ts +189 -0
  754. package/dist/types/update.d.ts.map +1 -0
  755. package/dist/types/update.js +55 -0
  756. package/dist/types/update.js.map +1 -0
  757. package/dist/types/workflow.d.ts +396 -0
  758. package/dist/types/workflow.d.ts.map +1 -0
  759. package/dist/types/workflow.js +46 -0
  760. package/dist/types/workflow.js.map +1 -0
  761. package/dist/ui/App.d.ts +62 -0
  762. package/dist/ui/App.d.ts.map +1 -0
  763. package/dist/ui/App.js +511 -0
  764. package/dist/ui/App.js.map +1 -0
  765. package/dist/ui/InteractiveSession.d.ts +34 -0
  766. package/dist/ui/InteractiveSession.d.ts.map +1 -0
  767. package/dist/ui/InteractiveSession.js +3611 -0
  768. package/dist/ui/InteractiveSession.js.map +1 -0
  769. package/dist/ui/MCPApprovalPrompt.d.ts +27 -0
  770. package/dist/ui/MCPApprovalPrompt.d.ts.map +1 -0
  771. package/dist/ui/MCPApprovalPrompt.js +51 -0
  772. package/dist/ui/MCPApprovalPrompt.js.map +1 -0
  773. package/dist/ui/SetupWizard.d.ts +26 -0
  774. package/dist/ui/SetupWizard.d.ts.map +1 -0
  775. package/dist/ui/SetupWizard.js +396 -0
  776. package/dist/ui/SetupWizard.js.map +1 -0
  777. package/dist/ui/components/AgentCreationWizard.d.ts +36 -0
  778. package/dist/ui/components/AgentCreationWizard.d.ts.map +1 -0
  779. package/dist/ui/components/AgentCreationWizard.js +619 -0
  780. package/dist/ui/components/AgentCreationWizard.js.map +1 -0
  781. package/dist/ui/components/AgentManager.d.ts +41 -0
  782. package/dist/ui/components/AgentManager.d.ts.map +1 -0
  783. package/dist/ui/components/AgentManager.js +343 -0
  784. package/dist/ui/components/AgentManager.js.map +1 -0
  785. package/dist/ui/components/ApprovalDialog.d.ts +18 -0
  786. package/dist/ui/components/ApprovalDialog.d.ts.map +1 -0
  787. package/dist/ui/components/ApprovalDialog.js +439 -0
  788. package/dist/ui/components/ApprovalDialog.js.map +1 -0
  789. package/dist/ui/components/AsciiArt.d.ts +54 -0
  790. package/dist/ui/components/AsciiArt.d.ts.map +1 -0
  791. package/dist/ui/components/AsciiArt.js +89 -0
  792. package/dist/ui/components/AsciiArt.js.map +1 -0
  793. package/dist/ui/components/ClarificationWizard.d.ts +36 -0
  794. package/dist/ui/components/ClarificationWizard.d.ts.map +1 -0
  795. package/dist/ui/components/ClarificationWizard.js +407 -0
  796. package/dist/ui/components/ClarificationWizard.js.map +1 -0
  797. package/dist/ui/components/CompassSpinner.d.ts +15 -0
  798. package/dist/ui/components/CompassSpinner.d.ts.map +1 -0
  799. package/dist/ui/components/CompassSpinner.js +50 -0
  800. package/dist/ui/components/CompassSpinner.js.map +1 -0
  801. package/dist/ui/components/ConfirmationSelector.d.ts +45 -0
  802. package/dist/ui/components/ConfirmationSelector.d.ts.map +1 -0
  803. package/dist/ui/components/ConfirmationSelector.js +106 -0
  804. package/dist/ui/components/ConfirmationSelector.js.map +1 -0
  805. package/dist/ui/components/ContextUsage.d.ts +76 -0
  806. package/dist/ui/components/ContextUsage.d.ts.map +1 -0
  807. package/dist/ui/components/ContextUsage.js +188 -0
  808. package/dist/ui/components/ContextUsage.js.map +1 -0
  809. package/dist/ui/components/DiffPreview.d.ts +13 -0
  810. package/dist/ui/components/DiffPreview.d.ts.map +1 -0
  811. package/dist/ui/components/DiffPreview.js +30 -0
  812. package/dist/ui/components/DiffPreview.js.map +1 -0
  813. package/dist/ui/components/ExecutionModeSelector.d.ts +45 -0
  814. package/dist/ui/components/ExecutionModeSelector.d.ts.map +1 -0
  815. package/dist/ui/components/ExecutionModeSelector.js +120 -0
  816. package/dist/ui/components/ExecutionModeSelector.js.map +1 -0
  817. package/dist/ui/components/FileTree.d.ts +47 -0
  818. package/dist/ui/components/FileTree.d.ts.map +1 -0
  819. package/dist/ui/components/FileTree.js +258 -0
  820. package/dist/ui/components/FileTree.js.map +1 -0
  821. package/dist/ui/components/HelpMenu.d.ts +49 -0
  822. package/dist/ui/components/HelpMenu.d.ts.map +1 -0
  823. package/dist/ui/components/HelpMenu.js +91 -0
  824. package/dist/ui/components/HelpMenu.js.map +1 -0
  825. package/dist/ui/components/InterleavedStream.d.ts +42 -0
  826. package/dist/ui/components/InterleavedStream.d.ts.map +1 -0
  827. package/dist/ui/components/InterleavedStream.js +1500 -0
  828. package/dist/ui/components/InterleavedStream.js.map +1 -0
  829. package/dist/ui/components/ModelSelector.d.ts +81 -0
  830. package/dist/ui/components/ModelSelector.d.ts.map +1 -0
  831. package/dist/ui/components/ModelSelector.js +305 -0
  832. package/dist/ui/components/ModelSelector.js.map +1 -0
  833. package/dist/ui/components/PlanApprovalDialog.d.ts +21 -0
  834. package/dist/ui/components/PlanApprovalDialog.d.ts.map +1 -0
  835. package/dist/ui/components/PlanApprovalDialog.js +189 -0
  836. package/dist/ui/components/PlanApprovalDialog.js.map +1 -0
  837. package/dist/ui/components/PlanExecutionTracker.d.ts +53 -0
  838. package/dist/ui/components/PlanExecutionTracker.d.ts.map +1 -0
  839. package/dist/ui/components/PlanExecutionTracker.js +113 -0
  840. package/dist/ui/components/PlanExecutionTracker.js.map +1 -0
  841. package/dist/ui/components/ProgressIndicator.d.ts +151 -0
  842. package/dist/ui/components/ProgressIndicator.d.ts.map +1 -0
  843. package/dist/ui/components/ProgressIndicator.js +171 -0
  844. package/dist/ui/components/ProgressIndicator.js.map +1 -0
  845. package/dist/ui/components/Prompt.d.ts +47 -0
  846. package/dist/ui/components/Prompt.d.ts.map +1 -0
  847. package/dist/ui/components/Prompt.js +632 -0
  848. package/dist/ui/components/Prompt.js.map +1 -0
  849. package/dist/ui/components/RatingPanel.d.ts +45 -0
  850. package/dist/ui/components/RatingPanel.d.ts.map +1 -0
  851. package/dist/ui/components/RatingPanel.js +119 -0
  852. package/dist/ui/components/RatingPanel.js.map +1 -0
  853. package/dist/ui/components/StatusLine.d.ts +43 -0
  854. package/dist/ui/components/StatusLine.d.ts.map +1 -0
  855. package/dist/ui/components/StatusLine.js +44 -0
  856. package/dist/ui/components/StatusLine.js.map +1 -0
  857. package/dist/ui/components/StreamingResponse.d.ts +45 -0
  858. package/dist/ui/components/StreamingResponse.d.ts.map +1 -0
  859. package/dist/ui/components/StreamingResponse.js +56 -0
  860. package/dist/ui/components/StreamingResponse.js.map +1 -0
  861. package/dist/ui/components/TokenUsage.d.ts +89 -0
  862. package/dist/ui/components/TokenUsage.d.ts.map +1 -0
  863. package/dist/ui/components/TokenUsage.js +99 -0
  864. package/dist/ui/components/TokenUsage.js.map +1 -0
  865. package/dist/ui/components/ToolSummary.d.ts +77 -0
  866. package/dist/ui/components/ToolSummary.d.ts.map +1 -0
  867. package/dist/ui/components/ToolSummary.js +162 -0
  868. package/dist/ui/components/ToolSummary.js.map +1 -0
  869. package/dist/ui/components/UpdateNotification.d.ts +65 -0
  870. package/dist/ui/components/UpdateNotification.d.ts.map +1 -0
  871. package/dist/ui/components/UpdateNotification.js +166 -0
  872. package/dist/ui/components/UpdateNotification.js.map +1 -0
  873. package/dist/ui/diff-renderer.d.ts +18 -0
  874. package/dist/ui/diff-renderer.d.ts.map +1 -0
  875. package/dist/ui/diff-renderer.js +206 -0
  876. package/dist/ui/diff-renderer.js.map +1 -0
  877. package/dist/ui/themes/markdown-theme.d.ts +48 -0
  878. package/dist/ui/themes/markdown-theme.d.ts.map +1 -0
  879. package/dist/ui/themes/markdown-theme.js +79 -0
  880. package/dist/ui/themes/markdown-theme.js.map +1 -0
  881. package/dist/ui/themes/ui-theme.d.ts +301 -0
  882. package/dist/ui/themes/ui-theme.d.ts.map +1 -0
  883. package/dist/ui/themes/ui-theme.js +204 -0
  884. package/dist/ui/themes/ui-theme.js.map +1 -0
  885. package/dist/utils/attachment-handler.d.ts +129 -0
  886. package/dist/utils/attachment-handler.d.ts.map +1 -0
  887. package/dist/utils/attachment-handler.js +280 -0
  888. package/dist/utils/attachment-handler.js.map +1 -0
  889. package/dist/utils/backup-cleanup.d.ts +28 -0
  890. package/dist/utils/backup-cleanup.d.ts.map +1 -0
  891. package/dist/utils/backup-cleanup.js +99 -0
  892. package/dist/utils/backup-cleanup.js.map +1 -0
  893. package/dist/utils/clipboard-handler.d.ts +82 -0
  894. package/dist/utils/clipboard-handler.d.ts.map +1 -0
  895. package/dist/utils/clipboard-handler.js +311 -0
  896. package/dist/utils/clipboard-handler.js.map +1 -0
  897. package/dist/utils/cloud-detection.d.ts +14 -0
  898. package/dist/utils/cloud-detection.d.ts.map +1 -0
  899. package/dist/utils/cloud-detection.js +92 -0
  900. package/dist/utils/cloud-detection.js.map +1 -0
  901. package/dist/utils/command-parser.d.ts +56 -0
  902. package/dist/utils/command-parser.d.ts.map +1 -0
  903. package/dist/utils/command-parser.js +206 -0
  904. package/dist/utils/command-parser.js.map +1 -0
  905. package/dist/utils/console-capture.d.ts +30 -0
  906. package/dist/utils/console-capture.d.ts.map +1 -0
  907. package/dist/utils/console-capture.js +88 -0
  908. package/dist/utils/console-capture.js.map +1 -0
  909. package/dist/utils/cron-parser.d.ts +52 -0
  910. package/dist/utils/cron-parser.d.ts.map +1 -0
  911. package/dist/utils/cron-parser.js +455 -0
  912. package/dist/utils/cron-parser.js.map +1 -0
  913. package/dist/utils/crypto.d.ts +351 -0
  914. package/dist/utils/crypto.d.ts.map +1 -0
  915. package/dist/utils/crypto.js +615 -0
  916. package/dist/utils/crypto.js.map +1 -0
  917. package/dist/utils/diff.d.ts +311 -0
  918. package/dist/utils/diff.d.ts.map +1 -0
  919. package/dist/utils/diff.js +566 -0
  920. package/dist/utils/diff.js.map +1 -0
  921. package/dist/utils/editor.d.ts +12 -0
  922. package/dist/utils/editor.d.ts.map +1 -0
  923. package/dist/utils/editor.js +30 -0
  924. package/dist/utils/editor.js.map +1 -0
  925. package/dist/utils/file-system.d.ts +512 -0
  926. package/dist/utils/file-system.d.ts.map +1 -0
  927. package/dist/utils/file-system.js +798 -0
  928. package/dist/utils/file-system.js.map +1 -0
  929. package/dist/utils/format.d.ts +318 -0
  930. package/dist/utils/format.d.ts.map +1 -0
  931. package/dist/utils/format.js +587 -0
  932. package/dist/utils/format.js.map +1 -0
  933. package/dist/utils/ignore-patterns.d.ts +93 -0
  934. package/dist/utils/ignore-patterns.d.ts.map +1 -0
  935. package/dist/utils/ignore-patterns.js +710 -0
  936. package/dist/utils/ignore-patterns.js.map +1 -0
  937. package/dist/utils/log-cleanup.d.ts +16 -0
  938. package/dist/utils/log-cleanup.d.ts.map +1 -0
  939. package/dist/utils/log-cleanup.js +51 -0
  940. package/dist/utils/log-cleanup.js.map +1 -0
  941. package/dist/utils/logger.d.ts +305 -0
  942. package/dist/utils/logger.d.ts.map +1 -0
  943. package/dist/utils/logger.js +447 -0
  944. package/dist/utils/logger.js.map +1 -0
  945. package/dist/utils/path.d.ts +406 -0
  946. package/dist/utils/path.d.ts.map +1 -0
  947. package/dist/utils/path.js +549 -0
  948. package/dist/utils/path.js.map +1 -0
  949. package/dist/utils/schedule-file.d.ts +63 -0
  950. package/dist/utils/schedule-file.d.ts.map +1 -0
  951. package/dist/utils/schedule-file.js +244 -0
  952. package/dist/utils/schedule-file.js.map +1 -0
  953. package/dist/utils/task-id.d.ts +29 -0
  954. package/dist/utils/task-id.d.ts.map +1 -0
  955. package/dist/utils/task-id.js +53 -0
  956. package/dist/utils/task-id.js.map +1 -0
  957. package/dist/utils/temp-cleanup.d.ts +46 -0
  958. package/dist/utils/temp-cleanup.d.ts.map +1 -0
  959. package/dist/utils/temp-cleanup.js +95 -0
  960. package/dist/utils/temp-cleanup.js.map +1 -0
  961. package/dist/utils/terminal-output.d.ts +34 -0
  962. package/dist/utils/terminal-output.d.ts.map +1 -0
  963. package/dist/utils/terminal-output.js +40 -0
  964. package/dist/utils/terminal-output.js.map +1 -0
  965. package/dist/utils/token-counter.d.ts +224 -0
  966. package/dist/utils/token-counter.d.ts.map +1 -0
  967. package/dist/utils/token-counter.js +332 -0
  968. package/dist/utils/token-counter.js.map +1 -0
  969. package/dist/utils/tool-mapper.d.ts +70 -0
  970. package/dist/utils/tool-mapper.d.ts.map +1 -0
  971. package/dist/utils/tool-mapper.js +234 -0
  972. package/dist/utils/tool-mapper.js.map +1 -0
  973. package/package.json +2 -1
  974. package/scripts/preuninstall.mjs +99 -0
@@ -0,0 +1,863 @@
1
+ /**
2
+ * Codebase indexing service for file discovery, AST parsing, and dependency graph building.
3
+ * This service provides efficient indexing of large codebases (up to 100,000 files) while
4
+ * maintaining memory constraints (<500MB). It supports streaming file processing, lazy loading,
5
+ * and LRU caching for file metadata.
6
+ */
7
+ import path from 'path';
8
+ import { glob } from 'glob';
9
+ import * as parser from '@babel/parser';
10
+ import { safeReadFile, safeWriteJson, safeReadJson, pathExists, stat, ensureDir, } from '../utils/file-system.js';
11
+ import { getProjectCompassDir, toForwardSlashes, sanitizePath, } from '../utils/path.js';
12
+ import { formatTimestamp } from '../utils/format.js';
13
+ import { logger } from '../utils/logger.js';
14
+ import { getConfigManager } from './config-manager.js';
15
+ import { INDEX_DIR, DEFAULT_CONFIG } from '../constants/defaults.js';
16
+ import { getSystemEventLogger } from './system-event-logger.js';
17
+ import { DEFAULT_IGNORE_PATTERNS, loadIgnorePatterns, mergeSessionExclusions } from '../utils/ignore-patterns.js';
18
+ import { getSessionManager } from './session-manager.js';
19
+ // DEFAULT_IGNORE_PATTERNS is now imported from '../utils/ignore-patterns.js'
20
+ // and re-exported for backward compatibility
21
+ /**
22
+ * Language detection mapping based on file extensions
23
+ */
24
+ const EXTENSION_TO_LANGUAGE = {
25
+ '.ts': 'typescript',
26
+ '.tsx': 'typescript',
27
+ '.js': 'javascript',
28
+ '.jsx': 'javascript',
29
+ '.mjs': 'javascript',
30
+ '.cjs': 'javascript',
31
+ '.py': 'python',
32
+ '.rb': 'ruby',
33
+ '.go': 'go',
34
+ '.rs': 'rust',
35
+ '.java': 'java',
36
+ '.kt': 'kotlin',
37
+ '.swift': 'swift',
38
+ '.c': 'c',
39
+ '.cpp': 'cpp',
40
+ '.h': 'c',
41
+ '.hpp': 'cpp',
42
+ '.cs': 'csharp',
43
+ '.php': 'php',
44
+ '.vue': 'vue',
45
+ '.svelte': 'svelte',
46
+ '.html': 'html',
47
+ '.css': 'css',
48
+ '.scss': 'scss',
49
+ '.sass': 'sass',
50
+ '.less': 'less',
51
+ '.json': 'json',
52
+ '.yaml': 'yaml',
53
+ '.yml': 'yaml',
54
+ '.xml': 'xml',
55
+ '.md': 'markdown',
56
+ '.mdx': 'markdown',
57
+ '.sql': 'sql',
58
+ '.sh': 'shell',
59
+ '.bash': 'shell',
60
+ '.zsh': 'shell',
61
+ '.fish': 'shell',
62
+ '.ps1': 'powershell',
63
+ '.dockerfile': 'dockerfile',
64
+ '.toml': 'toml',
65
+ '.ini': 'ini',
66
+ '.env': 'env',
67
+ '.graphql': 'graphql',
68
+ '.gql': 'graphql',
69
+ '.proto': 'protobuf',
70
+ };
71
+ /**
72
+ * Binary file extensions to exclude
73
+ */
74
+ const BINARY_EXTENSIONS = new Set([
75
+ '.png', '.jpg', '.jpeg', '.gif', '.bmp', '.ico', '.webp', '.svg',
76
+ '.mp3', '.mp4', '.wav', '.avi', '.mov', '.mkv', '.webm',
77
+ '.zip', '.tar', '.gz', '.rar', '.7z', '.bz2',
78
+ '.pdf', '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx',
79
+ '.exe', '.dll', '.so', '.dylib', '.bin',
80
+ '.woff', '.woff2', '.ttf', '.otf', '.eot',
81
+ '.sqlite', '.db',
82
+ ]);
83
+ /**
84
+ * LRU Cache implementation for file metadata
85
+ */
86
+ class LRUCache {
87
+ cache = new Map();
88
+ maxSize;
89
+ constructor(maxSize = 1000) {
90
+ this.maxSize = maxSize;
91
+ }
92
+ get(key) {
93
+ const value = this.cache.get(key);
94
+ if (value !== undefined) {
95
+ // Move to end (most recently used)
96
+ this.cache.delete(key);
97
+ this.cache.set(key, value);
98
+ }
99
+ return value;
100
+ }
101
+ set(key, value) {
102
+ if (this.cache.has(key)) {
103
+ this.cache.delete(key);
104
+ }
105
+ else if (this.cache.size >= this.maxSize) {
106
+ // Remove oldest entry
107
+ const firstKey = this.cache.keys().next().value;
108
+ if (firstKey !== undefined) {
109
+ this.cache.delete(firstKey);
110
+ }
111
+ }
112
+ this.cache.set(key, value);
113
+ }
114
+ has(key) {
115
+ return this.cache.has(key);
116
+ }
117
+ delete(key) {
118
+ return this.cache.delete(key);
119
+ }
120
+ clear() {
121
+ this.cache.clear();
122
+ }
123
+ get size() {
124
+ return this.cache.size;
125
+ }
126
+ }
127
+ /**
128
+ * CodebaseIndexer class for efficient codebase indexing and semantic search.
129
+ * Handles file discovery, AST parsing, dependency graph building, and caching.
130
+ */
131
+ class CodebaseIndexer {
132
+ projectRoot;
133
+ index = null;
134
+ fileCache;
135
+ contentCache;
136
+ indexPath = null;
137
+ isInitialized = false;
138
+ constructor(projectRoot) {
139
+ this.projectRoot = projectRoot || process.cwd();
140
+ this.fileCache = new LRUCache(5000);
141
+ this.contentCache = new LRUCache(100);
142
+ }
143
+ /**
144
+ * Initializes the indexer and loads existing index if available
145
+ */
146
+ async initialize(projectRoot) {
147
+ if (projectRoot) {
148
+ this.projectRoot = projectRoot;
149
+ }
150
+ this.indexPath = path.join(getProjectCompassDir(this.projectRoot), INDEX_DIR, 'file-index.json');
151
+ // Ensure index directory exists
152
+ await ensureDir(path.dirname(this.indexPath));
153
+ // Try to load existing index
154
+ if (await pathExists(this.indexPath)) {
155
+ const existingIndex = await safeReadJson(this.indexPath);
156
+ if (existingIndex && existingIndex.projectRoot === this.projectRoot) {
157
+ this.index = existingIndex;
158
+ logger.debug(`Loaded existing index with ${existingIndex.totalFiles} files`);
159
+ }
160
+ }
161
+ // Create new index if none exists
162
+ if (!this.index) {
163
+ this.index = this.createEmptyIndex();
164
+ }
165
+ this.isInitialized = true;
166
+ }
167
+ /**
168
+ * Creates an empty index structure
169
+ */
170
+ createEmptyIndex() {
171
+ return {
172
+ version: '1.0',
173
+ projectRoot: this.projectRoot,
174
+ updatedAt: formatTimestamp(),
175
+ totalFiles: 0,
176
+ totalSize: 0,
177
+ files: {},
178
+ dependencyGraph: {},
179
+ };
180
+ }
181
+ /**
182
+ * Discovers files in the project directory.
183
+ * By default, loads ignore patterns from .gitignore if it exists,
184
+ * otherwise falls back to DEFAULT_IGNORE_PATTERNS.
185
+ * Also respects excludedFolders from the session.
186
+ */
187
+ async discoverFiles(projectRoot, options = {}) {
188
+ const root = projectRoot || this.projectRoot;
189
+ const configManager = getConfigManager();
190
+ const config = configManager.getConfig();
191
+ // Load base ignore patterns - use .gitignore if available and useGitignore is not false
192
+ const useGitignore = options.useGitignore !== false;
193
+ const basePatterns = useGitignore
194
+ ? await loadIgnorePatterns(root)
195
+ : DEFAULT_IGNORE_PATTERNS;
196
+ // Get session excluded folders
197
+ const sessionManager = getSessionManager();
198
+ const sessionExcludedFolders = sessionManager.getExcludedFolders();
199
+ // Merge base patterns with session exclusions
200
+ const patternsWithSessionExclusions = mergeSessionExclusions(sessionExcludedFolders, basePatterns);
201
+ // Merge with custom patterns from options or config
202
+ const ignorePatterns = [
203
+ ...patternsWithSessionExclusions,
204
+ ...(options.ignorePatterns || config.project?.ignorePatterns || []),
205
+ ];
206
+ const includePatterns = options.includePatterns ||
207
+ config.project?.includePatterns || ['**/*'];
208
+ const pattern = options.pattern || includePatterns;
209
+ const maxFileSize = options.maxFileSize ||
210
+ config.project?.maxFileSize ||
211
+ DEFAULT_CONFIG.project.maxFileSize;
212
+ try {
213
+ const files = await glob(pattern, {
214
+ cwd: root,
215
+ nodir: true,
216
+ ignore: ignorePatterns,
217
+ absolute: false,
218
+ dot: false,
219
+ maxDepth: options.maxDepth,
220
+ });
221
+ const discoveredFiles = [];
222
+ for (const filePath of files) {
223
+ const absolutePath = path.join(root, filePath);
224
+ const ext = path.extname(filePath).toLowerCase();
225
+ // Skip binary files
226
+ if (BINARY_EXTENSIONS.has(ext)) {
227
+ continue;
228
+ }
229
+ try {
230
+ const stats = await stat(absolutePath);
231
+ if (stats && stats.size <= maxFileSize) {
232
+ discoveredFiles.push({
233
+ path: toForwardSlashes(filePath),
234
+ absolutePath,
235
+ size: stats.size,
236
+ modifiedAt: stats.mtime,
237
+ });
238
+ }
239
+ }
240
+ catch {
241
+ // Skip files we can't stat
242
+ }
243
+ }
244
+ logger.debug(`Discovered ${discoveredFiles.length} files in ${root}`);
245
+ return discoveredFiles;
246
+ }
247
+ catch (error) {
248
+ logger.error('Failed to discover files', error);
249
+ return [];
250
+ }
251
+ }
252
+ /**
253
+ * Indexes the entire project
254
+ */
255
+ async indexProject(projectRoot, options = {}) {
256
+ const startTime = Date.now();
257
+ const root = projectRoot || this.projectRoot;
258
+ const systemEventLogger = getSystemEventLogger();
259
+ // Log index start
260
+ await systemEventLogger.logIndexStarted({
261
+ projectPath: root,
262
+ });
263
+ if (!this.isInitialized) {
264
+ await this.initialize(root);
265
+ }
266
+ const errors = [];
267
+ let newFiles = 0;
268
+ let updatedFiles = 0;
269
+ let removedFiles = 0;
270
+ try {
271
+ // Discover all files
272
+ const discoveredFiles = await this.discoverFiles(root, options);
273
+ const totalFiles = discoveredFiles.length;
274
+ // Track which files we've seen
275
+ const seenPaths = new Set();
276
+ // Process each file
277
+ for (let i = 0; i < discoveredFiles.length; i++) {
278
+ const file = discoveredFiles[i];
279
+ seenPaths.add(file.path);
280
+ // Report progress
281
+ if (options.onProgress) {
282
+ options.onProgress(i + 1, totalFiles, file.path);
283
+ }
284
+ try {
285
+ const existingFile = this.index.files[file.path];
286
+ const modifiedAt = file.modifiedAt?.toISOString() || formatTimestamp();
287
+ // Check if file needs reindexing
288
+ const needsReindex = options.force ||
289
+ !existingFile ||
290
+ existingFile.modifiedAt !== modifiedAt ||
291
+ existingFile.size !== file.size;
292
+ if (needsReindex) {
293
+ const indexedFile = await this.indexFile(file.path, file.absolutePath);
294
+ if (indexedFile) {
295
+ this.index.files[file.path] = indexedFile;
296
+ this.fileCache.set(file.path, indexedFile);
297
+ const status = existingFile ? 'updated' : 'new';
298
+ if (status === 'new') {
299
+ newFiles++;
300
+ }
301
+ else {
302
+ updatedFiles++;
303
+ }
304
+ if (options.onFileIndexed) {
305
+ options.onFileIndexed(indexedFile, status);
306
+ }
307
+ }
308
+ }
309
+ else {
310
+ if (options.onFileIndexed) {
311
+ options.onFileIndexed(existingFile, 'skipped');
312
+ }
313
+ }
314
+ }
315
+ catch (error) {
316
+ const errorMsg = error instanceof Error ? error.message : 'Unknown error';
317
+ errors.push(`${file.path}: ${errorMsg}`);
318
+ if (options.onError) {
319
+ options.onError(file.path, errorMsg);
320
+ }
321
+ }
322
+ }
323
+ // Remove files that no longer exist
324
+ for (const filePath of Object.keys(this.index.files)) {
325
+ if (!seenPaths.has(filePath)) {
326
+ delete this.index.files[filePath];
327
+ delete this.index.dependencyGraph[filePath];
328
+ this.fileCache.delete(filePath);
329
+ removedFiles++;
330
+ }
331
+ }
332
+ // Update index metadata
333
+ this.index.updatedAt = formatTimestamp();
334
+ this.index.totalFiles = Object.keys(this.index.files).length;
335
+ this.index.totalSize = Object.values(this.index.files).reduce((sum, f) => sum + f.size, 0);
336
+ // Build dependency graph
337
+ await this.buildDependencyGraph();
338
+ // Save index to disk
339
+ await this.saveIndex();
340
+ const duration = Date.now() - startTime;
341
+ logger.info(`Indexed ${this.index.totalFiles} files in ${duration}ms ` +
342
+ `(${newFiles} new, ${updatedFiles} updated, ${removedFiles} removed)`);
343
+ // Log successful completion
344
+ await systemEventLogger.logIndexCompleted({
345
+ projectPath: root,
346
+ fileCount: this.index.totalFiles,
347
+ indexedCount: newFiles + updatedFiles,
348
+ skippedCount: this.index.totalFiles - newFiles - updatedFiles,
349
+ duration_ms: duration,
350
+ });
351
+ return {
352
+ totalFiles: this.index.totalFiles,
353
+ newFiles,
354
+ updatedFiles,
355
+ removedFiles,
356
+ duration,
357
+ errors,
358
+ };
359
+ }
360
+ catch (error) {
361
+ const errorMsg = error instanceof Error ? error.message : 'Indexing failed';
362
+ errors.push(errorMsg);
363
+ logger.error('Project indexing failed', error);
364
+ // Log indexing failure
365
+ await systemEventLogger.logIndexCompleted({
366
+ projectPath: root,
367
+ fileCount: 0,
368
+ duration_ms: Date.now() - startTime,
369
+ error: errorMsg,
370
+ });
371
+ return {
372
+ totalFiles: 0,
373
+ newFiles: 0,
374
+ updatedFiles: 0,
375
+ removedFiles: 0,
376
+ duration: Date.now() - startTime,
377
+ errors,
378
+ };
379
+ }
380
+ }
381
+ /**
382
+ * Indexes a single file
383
+ */
384
+ async indexFile(relativePath, absolutePath) {
385
+ const absPath = absolutePath || path.join(this.projectRoot, relativePath);
386
+ const sanitized = sanitizePath(relativePath, this.projectRoot);
387
+ if (!sanitized) {
388
+ logger.warn(`Path traversal attempt blocked: ${relativePath}`);
389
+ return null;
390
+ }
391
+ if (!await pathExists(absPath)) {
392
+ return null;
393
+ }
394
+ try {
395
+ const content = await safeReadFile(absPath);
396
+ if (content === null) {
397
+ return null;
398
+ }
399
+ const stats = await stat(absPath);
400
+ const name = path.basename(relativePath);
401
+ const extension = path.extname(name).slice(1);
402
+ const language = this.detectLanguage(relativePath);
403
+ // Parse file for exports and imports
404
+ const { exports, imports } = await this.parseFile(content, language, relativePath);
405
+ const indexedFile = {
406
+ path: toForwardSlashes(relativePath),
407
+ absolutePath: absPath,
408
+ name,
409
+ extension,
410
+ size: stats?.size || 0,
411
+ modifiedAt: stats?.mtime.toISOString() || formatTimestamp(),
412
+ language,
413
+ exports,
414
+ imports,
415
+ parsed: true,
416
+ };
417
+ return indexedFile;
418
+ }
419
+ catch (error) {
420
+ logger.debug(`Failed to index file: ${relativePath}`, error);
421
+ return null;
422
+ }
423
+ }
424
+ /**
425
+ * Parses a file to extract exports and imports
426
+ */
427
+ async parseFile(content, language, filePath) {
428
+ const exports = [];
429
+ const imports = [];
430
+ try {
431
+ if (language === 'typescript' || language === 'javascript') {
432
+ return this.parseJavaScriptTypeScript(content, filePath);
433
+ }
434
+ else if (language === 'python') {
435
+ return this.parsePython(content);
436
+ }
437
+ }
438
+ catch (error) {
439
+ logger.debug(`Failed to parse ${filePath}`, error);
440
+ }
441
+ return { exports, imports };
442
+ }
443
+ /**
444
+ * Parses JavaScript/TypeScript files using Babel parser
445
+ */
446
+ parseJavaScriptTypeScript(content, filePath) {
447
+ const exports = [];
448
+ const imports = [];
449
+ try {
450
+ const isTypeScript = filePath.endsWith('.ts') || filePath.endsWith('.tsx');
451
+ const isJSX = filePath.endsWith('.jsx') || filePath.endsWith('.tsx');
452
+ const plugins = [
453
+ 'decorators-legacy',
454
+ 'classProperties',
455
+ 'classPrivateProperties',
456
+ 'classPrivateMethods',
457
+ 'exportDefaultFrom',
458
+ 'exportNamespaceFrom',
459
+ 'dynamicImport',
460
+ 'nullishCoalescingOperator',
461
+ 'optionalChaining',
462
+ 'topLevelAwait',
463
+ ];
464
+ if (isTypeScript) {
465
+ plugins.push('typescript');
466
+ }
467
+ if (isJSX) {
468
+ plugins.push('jsx');
469
+ }
470
+ const ast = parser.parse(content, {
471
+ sourceType: 'module',
472
+ plugins,
473
+ errorRecovery: true,
474
+ });
475
+ // Extract imports and exports from AST
476
+ for (const node of ast.program.body) {
477
+ // Import declarations
478
+ if (node.type === 'ImportDeclaration') {
479
+ const source = node.source.value;
480
+ if (typeof source === 'string') {
481
+ imports.push(source);
482
+ }
483
+ }
484
+ // Export declarations
485
+ if (node.type === 'ExportNamedDeclaration') {
486
+ if (node.declaration) {
487
+ if (node.declaration.type === 'FunctionDeclaration' ||
488
+ node.declaration.type === 'ClassDeclaration') {
489
+ if (node.declaration.id?.name) {
490
+ exports.push(node.declaration.id.name);
491
+ }
492
+ }
493
+ else if (node.declaration.type === 'VariableDeclaration') {
494
+ for (const decl of node.declaration.declarations) {
495
+ if (decl.id.type === 'Identifier') {
496
+ exports.push(decl.id.name);
497
+ }
498
+ }
499
+ }
500
+ }
501
+ if (node.specifiers) {
502
+ for (const spec of node.specifiers) {
503
+ if (spec.exported.type === 'Identifier') {
504
+ exports.push(spec.exported.name);
505
+ }
506
+ }
507
+ }
508
+ }
509
+ if (node.type === 'ExportDefaultDeclaration') {
510
+ exports.push('default');
511
+ }
512
+ if (node.type === 'ExportAllDeclaration') {
513
+ if (node.source?.value) {
514
+ imports.push(node.source.value);
515
+ }
516
+ }
517
+ }
518
+ }
519
+ catch (error) {
520
+ // Fallback to regex-based parsing
521
+ return this.parseWithRegex(content);
522
+ }
523
+ return { exports, imports };
524
+ }
525
+ /**
526
+ * Parses Python files using regex
527
+ */
528
+ parsePython(content) {
529
+ const exports = [];
530
+ const imports = [];
531
+ // Match import statements
532
+ const importRegex = /^(?:from\s+(\S+)\s+)?import\s+(.+)$/gm;
533
+ let match;
534
+ while ((match = importRegex.exec(content)) !== null) {
535
+ if (match[1]) {
536
+ imports.push(match[1]);
537
+ }
538
+ else if (match[2]) {
539
+ const importedModules = match[2].split(',').map((s) => s.trim().split(' ')[0]);
540
+ imports.push(...importedModules);
541
+ }
542
+ }
543
+ // Match function and class definitions (potential exports)
544
+ const defRegex = /^(?:def|class)\s+(\w+)/gm;
545
+ while ((match = defRegex.exec(content)) !== null) {
546
+ exports.push(match[1]);
547
+ }
548
+ // Match __all__ definition
549
+ const allRegex = /__all__\s*=\s*\[([^\]]+)\]/;
550
+ const allMatch = content.match(allRegex);
551
+ if (allMatch) {
552
+ const allExports = allMatch[1]
553
+ .split(',')
554
+ .map((s) => s.trim().replace(/['"]/g, ''));
555
+ exports.length = 0;
556
+ exports.push(...allExports);
557
+ }
558
+ return { exports, imports };
559
+ }
560
+ /**
561
+ * Fallback regex-based parsing for JavaScript/TypeScript
562
+ */
563
+ parseWithRegex(content) {
564
+ const exports = [];
565
+ const imports = [];
566
+ // Match import statements
567
+ const importRegex = /import\s+(?:(?:\{[^}]*\}|\*\s+as\s+\w+|\w+)\s+from\s+)?['"]([^'"]+)['"]/g;
568
+ let match;
569
+ while ((match = importRegex.exec(content)) !== null) {
570
+ imports.push(match[1]);
571
+ }
572
+ // Match require statements
573
+ const requireRegex = /require\s*\(\s*['"]([^'"]+)['"]\s*\)/g;
574
+ while ((match = requireRegex.exec(content)) !== null) {
575
+ imports.push(match[1]);
576
+ }
577
+ // Match export statements
578
+ const exportRegex = /export\s+(?:default\s+)?(?:const|let|var|function|class|async\s+function)\s+(\w+)/g;
579
+ while ((match = exportRegex.exec(content)) !== null) {
580
+ exports.push(match[1]);
581
+ }
582
+ // Match named exports
583
+ const namedExportRegex = /export\s*\{\s*([^}]+)\s*\}/g;
584
+ while ((match = namedExportRegex.exec(content)) !== null) {
585
+ const names = match[1].split(',').map((s) => s.trim().split(/\s+as\s+/)[0].trim());
586
+ exports.push(...names.filter((n) => n.length > 0));
587
+ }
588
+ return { exports, imports };
589
+ }
590
+ /**
591
+ * Builds the dependency graph from indexed files
592
+ */
593
+ async buildDependencyGraph() {
594
+ if (!this.index)
595
+ return;
596
+ // Reset dependency graph
597
+ this.index.dependencyGraph = {};
598
+ // Initialize nodes for all files
599
+ for (const filePath of Object.keys(this.index.files)) {
600
+ this.index.dependencyGraph[filePath] = {
601
+ path: filePath,
602
+ dependencies: [],
603
+ dependents: [],
604
+ };
605
+ }
606
+ // Build dependencies
607
+ for (const [filePath, file] of Object.entries(this.index.files)) {
608
+ const node = this.index.dependencyGraph[filePath];
609
+ for (const importPath of file.imports) {
610
+ // Resolve relative imports
611
+ const resolvedPath = this.resolveImportPath(filePath, importPath);
612
+ if (resolvedPath && this.index.files[resolvedPath]) {
613
+ node.dependencies.push(resolvedPath);
614
+ // Add as dependent to the imported file
615
+ const importedNode = this.index.dependencyGraph[resolvedPath];
616
+ if (importedNode && !importedNode.dependents.includes(filePath)) {
617
+ importedNode.dependents.push(filePath);
618
+ }
619
+ }
620
+ }
621
+ }
622
+ }
623
+ /**
624
+ * Resolves an import path to a file in the index
625
+ */
626
+ resolveImportPath(fromFile, importPath) {
627
+ // Skip external packages
628
+ if (!importPath.startsWith('.') && !importPath.startsWith('/')) {
629
+ return null;
630
+ }
631
+ const fromDir = path.dirname(fromFile);
632
+ let resolvedPath = path.join(fromDir, importPath);
633
+ resolvedPath = toForwardSlashes(resolvedPath);
634
+ // Try exact match
635
+ if (this.index?.files[resolvedPath]) {
636
+ return resolvedPath;
637
+ }
638
+ // Try with extensions
639
+ const extensions = ['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs'];
640
+ for (const ext of extensions) {
641
+ const withExt = resolvedPath + ext;
642
+ if (this.index?.files[withExt]) {
643
+ return withExt;
644
+ }
645
+ }
646
+ // Try index files
647
+ for (const ext of extensions) {
648
+ const indexPath = `${resolvedPath}/index${ext}`;
649
+ if (this.index?.files[indexPath]) {
650
+ return indexPath;
651
+ }
652
+ }
653
+ return null;
654
+ }
655
+ /**
656
+ * Detects the programming language based on file extension
657
+ */
658
+ detectLanguage(filePath) {
659
+ const ext = path.extname(filePath).toLowerCase();
660
+ const basename = path.basename(filePath).toLowerCase();
661
+ // Check for special filenames
662
+ if (basename === 'dockerfile' || basename.startsWith('dockerfile.')) {
663
+ return 'dockerfile';
664
+ }
665
+ if (basename === 'makefile' || basename === 'gnumakefile') {
666
+ return 'makefile';
667
+ }
668
+ if (basename === '.gitignore' || basename === '.dockerignore') {
669
+ return 'gitignore';
670
+ }
671
+ return EXTENSION_TO_LANGUAGE[ext] || 'text';
672
+ }
673
+ /**
674
+ * Saves the index to disk
675
+ */
676
+ async saveIndex() {
677
+ if (!this.index || !this.indexPath)
678
+ return;
679
+ try {
680
+ await safeWriteJson(this.indexPath, this.index);
681
+ logger.debug('Index saved to disk');
682
+ }
683
+ catch (error) {
684
+ logger.error('Failed to save index', error);
685
+ }
686
+ }
687
+ /**
688
+ * Gets the current index
689
+ */
690
+ getIndex() {
691
+ return this.index;
692
+ }
693
+ /**
694
+ * Gets an indexed file by path
695
+ */
696
+ getFile(filePath) {
697
+ // Check cache first
698
+ const cached = this.fileCache.get(filePath);
699
+ if (cached) {
700
+ return cached;
701
+ }
702
+ // Check index
703
+ if (this.index?.files[filePath]) {
704
+ const file = this.index.files[filePath];
705
+ this.fileCache.set(filePath, file);
706
+ return file;
707
+ }
708
+ return null;
709
+ }
710
+ /**
711
+ * Searches for files matching a pattern or query
712
+ */
713
+ async searchFiles(query) {
714
+ if (!this.index) {
715
+ await this.initialize();
716
+ }
717
+ const results = [];
718
+ const lowerQuery = query.toLowerCase();
719
+ for (const filePath of Object.keys(this.index.files)) {
720
+ // Match file path
721
+ if (filePath.toLowerCase().includes(lowerQuery)) {
722
+ results.push(filePath);
723
+ continue;
724
+ }
725
+ // Match file name
726
+ const fileName = path.basename(filePath).toLowerCase();
727
+ if (fileName.includes(lowerQuery)) {
728
+ results.push(filePath);
729
+ continue;
730
+ }
731
+ // Match exports
732
+ const file = this.index.files[filePath];
733
+ if (file.exports.some((e) => e.toLowerCase().includes(lowerQuery))) {
734
+ results.push(filePath);
735
+ }
736
+ }
737
+ return results;
738
+ }
739
+ /**
740
+ * Finds files related to a given file (imports/dependents)
741
+ */
742
+ async findRelatedFiles(filePath) {
743
+ if (!this.index) {
744
+ await this.initialize();
745
+ }
746
+ const related = new Set();
747
+ const node = this.index.dependencyGraph[filePath];
748
+ if (node) {
749
+ // Add direct dependencies
750
+ for (const dep of node.dependencies) {
751
+ related.add(dep);
752
+ }
753
+ // Add direct dependents
754
+ for (const dep of node.dependents) {
755
+ related.add(dep);
756
+ }
757
+ }
758
+ return Array.from(related);
759
+ }
760
+ /**
761
+ * Gets files by language
762
+ */
763
+ getFilesByLanguage(language) {
764
+ if (!this.index)
765
+ return [];
766
+ return Object.values(this.index.files).filter((f) => f.language === language);
767
+ }
768
+ /**
769
+ * Gets files by extension
770
+ */
771
+ getFilesByExtension(extension) {
772
+ if (!this.index)
773
+ return [];
774
+ const ext = extension.startsWith('.') ? extension.slice(1) : extension;
775
+ return Object.values(this.index.files).filter((f) => f.extension === ext);
776
+ }
777
+ /**
778
+ * Gets all indexed files
779
+ */
780
+ getAllFiles() {
781
+ if (!this.index)
782
+ return [];
783
+ return Object.values(this.index.files);
784
+ }
785
+ /**
786
+ * Gets index statistics
787
+ */
788
+ getStats() {
789
+ if (!this.index) {
790
+ return {
791
+ totalFiles: 0,
792
+ totalSize: 0,
793
+ languageBreakdown: {},
794
+ lastUpdated: '',
795
+ };
796
+ }
797
+ const languageBreakdown = {};
798
+ for (const file of Object.values(this.index.files)) {
799
+ languageBreakdown[file.language] = (languageBreakdown[file.language] || 0) + 1;
800
+ }
801
+ return {
802
+ totalFiles: this.index.totalFiles,
803
+ totalSize: this.index.totalSize,
804
+ languageBreakdown,
805
+ lastUpdated: this.index.updatedAt,
806
+ };
807
+ }
808
+ /**
809
+ * Clears the index and cache
810
+ */
811
+ async clearIndex() {
812
+ this.index = this.createEmptyIndex();
813
+ this.fileCache.clear();
814
+ this.contentCache.clear();
815
+ if (this.indexPath && await pathExists(this.indexPath)) {
816
+ const { remove } = await import('../utils/file-system.js');
817
+ await remove(this.indexPath);
818
+ }
819
+ logger.info('Index cleared');
820
+ }
821
+ /**
822
+ * Sets the project root and reinitializes
823
+ */
824
+ async setProjectRoot(projectRoot) {
825
+ this.projectRoot = projectRoot;
826
+ this.isInitialized = false;
827
+ this.index = null;
828
+ this.fileCache.clear();
829
+ this.contentCache.clear();
830
+ await this.initialize(projectRoot);
831
+ }
832
+ }
833
+ // Singleton instance
834
+ let codebaseIndexerInstance = null;
835
+ /**
836
+ * Gets the singleton CodebaseIndexer instance.
837
+ * Creates and initializes the instance on first call.
838
+ *
839
+ * @param projectRoot - Optional project root directory
840
+ * @returns Promise resolving to the CodebaseIndexer instance
841
+ */
842
+ export async function getCodebaseIndexer(projectRoot) {
843
+ if (!codebaseIndexerInstance) {
844
+ codebaseIndexerInstance = new CodebaseIndexer(projectRoot);
845
+ await codebaseIndexerInstance.initialize(projectRoot);
846
+ }
847
+ else if (projectRoot && projectRoot !== codebaseIndexerInstance['projectRoot']) {
848
+ await codebaseIndexerInstance.setProjectRoot(projectRoot);
849
+ }
850
+ return codebaseIndexerInstance;
851
+ }
852
+ /**
853
+ * Creates a new CodebaseIndexer instance with the specified project root.
854
+ * Use this when you need a separate instance from the singleton.
855
+ *
856
+ * @param projectRoot - Project root directory
857
+ * @returns A new CodebaseIndexer instance
858
+ */
859
+ export function createCodebaseIndexer(projectRoot) {
860
+ return new CodebaseIndexer(projectRoot);
861
+ }
862
+ export { CodebaseIndexer, DEFAULT_IGNORE_PATTERNS, EXTENSION_TO_LANGUAGE, BINARY_EXTENSIONS, LRUCache, };
863
+ //# sourceMappingURL=codebase-indexer.js.map