@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,710 @@
1
+ /**
2
+ * Shared ignore patterns utility for file discovery and tree generation.
3
+ *
4
+ * This module provides a single source of truth for ignore patterns used by:
5
+ * - Codebase indexer (file discovery)
6
+ * - Context builder (directory tree generation)
7
+ * - File listing commands
8
+ *
9
+ * It also provides utilities for loading .gitignore files and converting
10
+ * between glob patterns and simple name matching.
11
+ */
12
+ import ignore from 'ignore';
13
+ import path from 'path';
14
+ import { glob } from 'glob';
15
+ import fs from 'fs/promises';
16
+ import { safeReadFile, pathExists, stat } from './file-system.js';
17
+ import { getProjectCompassDir } from './path.js';
18
+ import { logger } from './logger.js';
19
+ /**
20
+ * Default glob patterns to ignore during file discovery and indexing.
21
+ * These patterns are compatible with the glob library.
22
+ */
23
+ export const DEFAULT_IGNORE_PATTERNS = [
24
+ // Dependencies
25
+ 'node_modules/**',
26
+ 'bower_components/**',
27
+ 'jspm_packages/**',
28
+ // VCS
29
+ '.git/**',
30
+ // Build outputs
31
+ 'dist/**',
32
+ 'build/**',
33
+ 'out/**',
34
+ '.output/**',
35
+ // Framework-specific build outputs
36
+ '.next/**',
37
+ '.nuxt/**',
38
+ '.svelte-kit/**',
39
+ '.remix/**',
40
+ '.astro/**',
41
+ '.docusaurus/**',
42
+ '.angular/**',
43
+ // Coverage and test artifacts
44
+ 'coverage/**',
45
+ '.nyc_output/**',
46
+ '.pytest_cache/**',
47
+ '.vitest/**',
48
+ 'jest-cache/**',
49
+ '.tox/**',
50
+ // Cache and temp directories
51
+ '.cache/**',
52
+ '.turbo/**',
53
+ '.parcel-cache/**',
54
+ // Environment and secrets
55
+ '.env*',
56
+ // Log files
57
+ '*.log',
58
+ // Lock files
59
+ '*.lock',
60
+ 'package-lock.json',
61
+ 'yarn.lock',
62
+ 'pnpm-lock.yaml',
63
+ 'Gemfile.lock',
64
+ 'composer.lock',
65
+ 'go.sum',
66
+ 'Cargo.lock',
67
+ 'pubspec.lock',
68
+ 'Podfile.lock',
69
+ 'Packages.resolved',
70
+ // Minified and source maps
71
+ '*.min.js',
72
+ '*.min.css',
73
+ '*.map',
74
+ // Python
75
+ '__pycache__/**',
76
+ '*.pyc',
77
+ 'venv/**',
78
+ '.venv/**',
79
+ '*.egg-info/**',
80
+ '*.egg',
81
+ 'dist-info/**',
82
+ // Ruby
83
+ '.bundle/**',
84
+ // Rust
85
+ 'target/**',
86
+ // Java/JVM
87
+ '*.class',
88
+ '.gradle/**',
89
+ '.mvn/**',
90
+ // .NET
91
+ 'bin/**',
92
+ 'obj/**',
93
+ '.nuget/**',
94
+ 'packages/**',
95
+ // PHP
96
+ 'vendor/**',
97
+ // Elixir/Phoenix
98
+ '_build/**',
99
+ 'deps/**',
100
+ // iOS/macOS
101
+ 'Pods/**',
102
+ 'DerivedData/**',
103
+ 'Carthage/**',
104
+ '*.xcworkspace/**',
105
+ // Android
106
+ '*.apk',
107
+ '*.aab',
108
+ // Terraform/IaC
109
+ '*.tfstate',
110
+ '*.tfstate.backup',
111
+ // IDE and editor
112
+ '.idea/**',
113
+ '.vscode/**',
114
+ '.vs/**',
115
+ // CLI data directories
116
+ '.compass/**',
117
+ '.claude/**',
118
+ // OS files
119
+ '.DS_Store',
120
+ 'Thumbs.db',
121
+ '*.swp',
122
+ '*.swo',
123
+ ];
124
+ /**
125
+ * Extracts directory names from glob patterns.
126
+ * Converts patterns like 'node_modules/**' or 'dist/' to just the directory name.
127
+ *
128
+ * @param patterns - Array of glob patterns
129
+ * @returns Set of directory names
130
+ */
131
+ export function extractDirectoryNames(patterns) {
132
+ const names = new Set();
133
+ for (const pattern of patterns) {
134
+ // Match patterns like 'dirname/**', 'dirname/', or just 'dirname' (without wildcards)
135
+ const match = pattern.match(/^\.?([^/*?]+)(?:\/\*\*|\/)?$/);
136
+ if (match) {
137
+ names.add(match[1]);
138
+ }
139
+ }
140
+ return names;
141
+ }
142
+ /**
143
+ * Pre-computed set of directory names that should be excluded during tree traversal.
144
+ * Derived from DEFAULT_IGNORE_PATTERNS for efficient name-based filtering.
145
+ */
146
+ export const EXCLUDED_DIRECTORY_NAMES = extractDirectoryNames(DEFAULT_IGNORE_PATTERNS);
147
+ /**
148
+ * Checks if a directory name should be excluded based on default patterns.
149
+ * For use in tree traversal where full paths aren't available.
150
+ *
151
+ * @param name - Directory name to check (not full path)
152
+ * @returns True if the directory should be excluded
153
+ */
154
+ export function shouldExcludeDirectory(name) {
155
+ // Hidden directories (starting with .)
156
+ if (name.startsWith('.')) {
157
+ return true;
158
+ }
159
+ return EXCLUDED_DIRECTORY_NAMES.has(name);
160
+ }
161
+ /**
162
+ * Checks if a file should be excluded based on its extension/name.
163
+ *
164
+ * @param name - File name to check (not full path)
165
+ * @returns True if the file should be excluded
166
+ */
167
+ export function shouldExcludeFile(name) {
168
+ // Hidden files
169
+ if (name.startsWith('.')) {
170
+ return true;
171
+ }
172
+ // Log files
173
+ if (name.endsWith('.log')) {
174
+ return true;
175
+ }
176
+ // Lock files
177
+ if (name.endsWith('.lock') || name === 'package-lock.json' || name === 'yarn.lock' || name === 'pnpm-lock.yaml') {
178
+ return true;
179
+ }
180
+ // Minified files
181
+ if (name.endsWith('.min.js') || name.endsWith('.min.css')) {
182
+ return true;
183
+ }
184
+ // Source maps
185
+ if (name.endsWith('.map')) {
186
+ return true;
187
+ }
188
+ // Python compiled
189
+ if (name.endsWith('.pyc')) {
190
+ return true;
191
+ }
192
+ // Java compiled
193
+ if (name.endsWith('.class')) {
194
+ return true;
195
+ }
196
+ // Android binaries
197
+ if (name.endsWith('.apk') || name.endsWith('.aab')) {
198
+ return true;
199
+ }
200
+ // Terraform state (may contain secrets)
201
+ if (name.endsWith('.tfstate') || name.endsWith('.tfstate.backup')) {
202
+ return true;
203
+ }
204
+ // Swap files
205
+ if (name.endsWith('.swp') || name.endsWith('.swo')) {
206
+ return true;
207
+ }
208
+ // OS files
209
+ if (name === '.DS_Store' || name === 'Thumbs.db') {
210
+ return true;
211
+ }
212
+ // Image files (not useful for code analysis)
213
+ const ext = name.lastIndexOf('.') !== -1 ? name.slice(name.lastIndexOf('.')).toLowerCase() : '';
214
+ if ([
215
+ '.png', '.jpg', '.jpeg', '.gif', '.bmp', '.ico', '.svg',
216
+ '.webp', '.tiff', '.tif', '.avif', '.heic', '.heif',
217
+ '.txt', '.pdf',
218
+ ].includes(ext)) {
219
+ return true;
220
+ }
221
+ return false;
222
+ }
223
+ // Cache for createIgnoreInstance — avoids re-reading all .gitignore files on every tool call
224
+ const CACHE_TTL_MS = 30 * 60_000; // 30 minutes — .gitignore files rarely change mid-session
225
+ let ignoreInstanceCache = null;
226
+ const DISK_CACHE_MAX_AGE_MS = 24 * 60 * 60_000; // 24 hours
227
+ function getDiskCachePath(projectRoot) {
228
+ return path.join(getProjectCompassDir(projectRoot), 'cache', 'gitignore-cache.json');
229
+ }
230
+ async function loadDiskCache(projectRoot) {
231
+ try {
232
+ const cachePath = getDiskCachePath(projectRoot);
233
+ if (!await pathExists(cachePath))
234
+ return null;
235
+ const raw = await fs.readFile(cachePath, 'utf-8');
236
+ const cache = JSON.parse(raw);
237
+ // Validate structure and freshness
238
+ if (cache.version !== 1 ||
239
+ cache.projectRoot !== projectRoot ||
240
+ Date.now() - cache.timestamp > DISK_CACHE_MAX_AGE_MS) {
241
+ return null;
242
+ }
243
+ // Validate each known .gitignore file's mtime
244
+ for (const [relPath, cachedMtime] of Object.entries(cache.mtimes)) {
245
+ const fullPath = path.join(projectRoot, relPath);
246
+ const fileStat = await stat(fullPath);
247
+ if (!fileStat || Math.abs(fileStat.mtimeMs - cachedMtime) > 1000) {
248
+ logger.debug(`Disk cache invalidated: ${relPath} mtime changed`);
249
+ return null;
250
+ }
251
+ }
252
+ logger.debug(`Disk cache valid: ${cache.gitignoreFiles.length} .gitignore files`);
253
+ return cache.gitignoreFiles;
254
+ }
255
+ catch {
256
+ return null;
257
+ }
258
+ }
259
+ async function saveDiskCache(projectRoot, gitignoreFiles) {
260
+ try {
261
+ const cachePath = getDiskCachePath(projectRoot);
262
+ const cacheDir = path.dirname(cachePath);
263
+ await fs.mkdir(cacheDir, { recursive: true });
264
+ const mtimes = {};
265
+ for (const relPath of gitignoreFiles) {
266
+ const fullPath = path.join(projectRoot, relPath);
267
+ const fileStat = await stat(fullPath);
268
+ if (fileStat) {
269
+ mtimes[relPath] = fileStat.mtimeMs;
270
+ }
271
+ }
272
+ const cache = {
273
+ version: 1,
274
+ projectRoot,
275
+ gitignoreFiles,
276
+ mtimes,
277
+ timestamp: Date.now(),
278
+ };
279
+ await fs.writeFile(cachePath, JSON.stringify(cache), 'utf-8');
280
+ logger.debug(`Saved gitignore disk cache: ${gitignoreFiles.length} files`);
281
+ }
282
+ catch (err) {
283
+ logger.debug('Failed to save gitignore disk cache', err);
284
+ }
285
+ }
286
+ // In-memory cache for getCachedGitignoreFiles (shared between createIgnoreInstance and loadIgnorePatterns)
287
+ let gitignoreFilesCache = null;
288
+ /**
289
+ * Returns the list of .gitignore files, using disk cache first, then in-memory cache,
290
+ * falling back to the expensive glob scan.
291
+ */
292
+ async function getCachedGitignoreFiles(projectRoot) {
293
+ // Check in-memory cache
294
+ if (gitignoreFilesCache &&
295
+ gitignoreFilesCache.root === projectRoot &&
296
+ Date.now() - gitignoreFilesCache.timestamp < CACHE_TTL_MS) {
297
+ return gitignoreFilesCache.files;
298
+ }
299
+ // Check disk cache
300
+ const diskCached = await loadDiskCache(projectRoot);
301
+ if (diskCached) {
302
+ gitignoreFilesCache = { root: projectRoot, files: diskCached, timestamp: Date.now() };
303
+ return diskCached;
304
+ }
305
+ // Full scan (expensive)
306
+ const files = await findAllGitignoreFiles(projectRoot);
307
+ gitignoreFilesCache = { root: projectRoot, files, timestamp: Date.now() };
308
+ // Fire-and-forget save to disk
309
+ saveDiskCache(projectRoot, files).catch(() => { });
310
+ return files;
311
+ }
312
+ /**
313
+ * Creates an ignore instance from .gitignore files (including nested ones).
314
+ * Falls back to default patterns if no .gitignore files exist.
315
+ * Results are cached for 1 minute to avoid redundant filesystem reads on every tool call.
316
+ *
317
+ * @param projectRoot - Project root directory
318
+ * @param useDefaults - Whether to use DEFAULT_IGNORE_PATTERNS as fallback (default: true)
319
+ * @returns Configured ignore instance
320
+ */
321
+ export async function createIgnoreInstance(projectRoot, useDefaults = true) {
322
+ if (ignoreInstanceCache &&
323
+ ignoreInstanceCache.root === projectRoot &&
324
+ ignoreInstanceCache.useDefaults === useDefaults &&
325
+ Date.now() - ignoreInstanceCache.timestamp < CACHE_TTL_MS) {
326
+ logger.debug('Using cached ignore instance');
327
+ return ignoreInstanceCache.instance;
328
+ }
329
+ const ig = ignore();
330
+ let hasPatterns = false;
331
+ // Try to load root .gitignore
332
+ const rootGitignorePath = path.join(projectRoot, '.gitignore');
333
+ const rootContent = await safeReadFile(rootGitignorePath);
334
+ if (rootContent) {
335
+ logger.debug(`Loaded .gitignore from ${rootGitignorePath}`);
336
+ ig.add(rootContent);
337
+ hasPatterns = true;
338
+ }
339
+ // Load nested .gitignore files (uses disk cache when available)
340
+ const nestedGitignoreFiles = await getCachedGitignoreFiles(projectRoot);
341
+ for (const gitignorePath of nestedGitignoreFiles) {
342
+ // Skip the root .gitignore (already processed)
343
+ if (gitignorePath === '.gitignore') {
344
+ continue;
345
+ }
346
+ const fullPath = path.join(projectRoot, gitignorePath);
347
+ const content = await safeReadFile(fullPath);
348
+ if (content) {
349
+ // Get the directory containing this .gitignore
350
+ const dirPath = path.dirname(gitignorePath);
351
+ const patterns = parseGitignoreContent(content);
352
+ const scopedPatterns = scopePatternsToDirectory(patterns, dirPath);
353
+ logger.debug(`Loaded ${scopedPatterns.length} patterns from nested .gitignore at ${gitignorePath}`);
354
+ ig.add(scopedPatterns);
355
+ hasPatterns = true;
356
+ }
357
+ }
358
+ if (hasPatterns) {
359
+ // Always ignore .git directory
360
+ ig.add('.git');
361
+ }
362
+ else if (useDefaults) {
363
+ logger.debug('No .gitignore found, using default ignore patterns');
364
+ ig.add(DEFAULT_IGNORE_PATTERNS);
365
+ }
366
+ ignoreInstanceCache = { root: projectRoot, useDefaults, instance: ig, timestamp: Date.now() };
367
+ return ig;
368
+ }
369
+ /**
370
+ * Parses gitignore content into patterns array.
371
+ *
372
+ * @param content - Raw gitignore file content
373
+ * @returns Array of parsed patterns
374
+ */
375
+ function parseGitignoreContent(content) {
376
+ return content
377
+ .split('\n')
378
+ .map((line) => line.trim())
379
+ .filter((line) => line && !line.startsWith('#'));
380
+ }
381
+ /**
382
+ * Transforms gitignore patterns to be glob-compatible.
383
+ * - Patterns ending with '/' need '**' to match directory contents
384
+ * - Simple directory/file names without wildcards need variants to match at any depth
385
+ *
386
+ * @param patterns - Array of raw gitignore patterns
387
+ * @returns Array of glob-compatible patterns
388
+ */
389
+ function transformPatternsForGlob(patterns) {
390
+ return patterns.flatMap((pattern) => {
391
+ // Handle negation patterns
392
+ const isNegation = pattern.startsWith('!');
393
+ const actualPattern = isNegation ? pattern.slice(1) : pattern;
394
+ // Patterns ending with / are directory patterns - need /** to match contents
395
+ if (actualPattern.endsWith('/')) {
396
+ const dirName = actualPattern.slice(0, -1);
397
+ // Match at root level and at any depth
398
+ const rootPattern = `${dirName}/**`;
399
+ const deepPattern = `**/${dirName}/**`;
400
+ if (isNegation) {
401
+ return [`!${rootPattern}`, `!${deepPattern}`];
402
+ }
403
+ return [rootPattern, deepPattern];
404
+ }
405
+ // If pattern already has glob wildcards, return as-is
406
+ if (actualPattern.includes('*') || actualPattern.includes('?')) {
407
+ return isNegation ? [`!${actualPattern}`] : [actualPattern];
408
+ }
409
+ // Handle patterns with leading '/' (anchored to root in gitignore)
410
+ // Strip the leading '/' since glob treats it as an absolute filesystem path
411
+ if (actualPattern.startsWith('/')) {
412
+ const stripped = actualPattern.slice(1);
413
+ // Could be a file or directory, generate both variants
414
+ const asFile = stripped;
415
+ const asDir = `${stripped}/**`;
416
+ if (isNegation) {
417
+ return [`!${asFile}`, `!${asDir}`];
418
+ }
419
+ return [asFile, asDir];
420
+ }
421
+ // If pattern has path separators (but no leading /), it's a relative path
422
+ if (actualPattern.includes('/')) {
423
+ return isNegation ? [`!${actualPattern}`] : [actualPattern];
424
+ }
425
+ // Simple name without wildcards (like 'node_modules', 'dist', '.env')
426
+ // Should match at any depth AND as a directory
427
+ const asFile = actualPattern;
428
+ const asDir = `${actualPattern}/**`;
429
+ const deepFile = `**/${actualPattern}`;
430
+ const deepDir = `**/${actualPattern}/**`;
431
+ if (isNegation) {
432
+ return [`!${asFile}`, `!${asDir}`, `!${deepFile}`, `!${deepDir}`];
433
+ }
434
+ return [asFile, asDir, deepFile, deepDir];
435
+ });
436
+ }
437
+ /**
438
+ * Scopes gitignore patterns to a subdirectory.
439
+ * Patterns from subdirectory .gitignore files need to be prefixed with the
440
+ * relative path to work correctly with glob from the project root.
441
+ *
442
+ * Gitignore semantics:
443
+ * - Patterns without leading '/' match at any depth (e.g., 'node_modules' matches 'foo/bar/node_modules')
444
+ * - Patterns with leading '/' are anchored to the gitignore directory
445
+ * - Patterns ending with '/' only match directories
446
+ *
447
+ * @param patterns - Array of patterns from a .gitignore file
448
+ * @param relativeDirPath - Relative path of the directory containing the .gitignore
449
+ * @returns Array of scoped patterns
450
+ */
451
+ function scopePatternsToDirectory(patterns, relativeDirPath) {
452
+ if (!relativeDirPath || relativeDirPath === '.') {
453
+ return patterns;
454
+ }
455
+ // Normalize path separators
456
+ const normalizedDir = relativeDirPath.replace(/\\/g, '/');
457
+ return patterns.flatMap((pattern) => {
458
+ // Handle negation patterns (patterns starting with !)
459
+ const isNegation = pattern.startsWith('!');
460
+ const actualPattern = isNegation ? pattern.slice(1) : pattern;
461
+ // If the pattern starts with /, it's anchored to the .gitignore directory
462
+ if (actualPattern.startsWith('/')) {
463
+ // Remove the leading / and scope to the directory
464
+ const scopedPattern = `${normalizedDir}${actualPattern}`;
465
+ return isNegation ? [`!${scopedPattern}`] : [scopedPattern];
466
+ }
467
+ // For patterns without leading /, they can match at any depth within the directory
468
+ // In gitignore, 'node_modules' matches 'node_modules', 'foo/node_modules', etc.
469
+ // We need to generate patterns that match both at the directory root AND at any depth
470
+ // Check if pattern already contains path separators or glob wildcards
471
+ const hasPathSeparator = actualPattern.includes('/');
472
+ const hasDoublestar = actualPattern.includes('**');
473
+ if (hasDoublestar) {
474
+ // Pattern already has **, just prefix with directory
475
+ const scopedPattern = `${normalizedDir}/${actualPattern}`;
476
+ return isNegation ? [`!${scopedPattern}`] : [scopedPattern];
477
+ }
478
+ if (hasPathSeparator) {
479
+ // Pattern has path separator but no **, treat as relative path from gitignore location
480
+ // e.g., 'build/output' in backend/.gitignore -> 'backend/build/output'
481
+ const scopedPattern = `${normalizedDir}/${actualPattern}`;
482
+ return isNegation ? [`!${scopedPattern}`] : [scopedPattern];
483
+ }
484
+ // Simple pattern without path separators (e.g., 'node_modules', '*.log', 'dist/')
485
+ // Should match at the directory root AND at any depth within it
486
+ // Generate two patterns: one for root level, one for any depth
487
+ // Handle directory patterns (ending with /)
488
+ // 'node_modules/' should match the directory and all its contents
489
+ if (actualPattern.endsWith('/')) {
490
+ const dirName = actualPattern.slice(0, -1);
491
+ const rootPattern = `${normalizedDir}/${dirName}/**`;
492
+ const deepPattern = `${normalizedDir}/**/${dirName}/**`;
493
+ if (isNegation) {
494
+ return [`!${rootPattern}`, `!${deepPattern}`];
495
+ }
496
+ return [rootPattern, deepPattern];
497
+ }
498
+ // Check if pattern contains wildcards (like *.log)
499
+ const hasWildcard = actualPattern.includes('*') || actualPattern.includes('?');
500
+ if (hasWildcard) {
501
+ // For wildcard patterns, just scope them
502
+ const rootPattern = `${normalizedDir}/${actualPattern}`;
503
+ const deepPattern = `${normalizedDir}/**/${actualPattern}`;
504
+ if (isNegation) {
505
+ return [`!${rootPattern}`, `!${deepPattern}`];
506
+ }
507
+ return [rootPattern, deepPattern];
508
+ }
509
+ // For simple names without wildcards (like 'node_modules', 'dist', '.env')
510
+ // These could be files or directories, so generate patterns for both
511
+ // Also add /** versions to match directory contents
512
+ const rootPattern = `${normalizedDir}/${actualPattern}`;
513
+ const rootDirPattern = `${normalizedDir}/${actualPattern}/**`;
514
+ const deepPattern = `${normalizedDir}/**/${actualPattern}`;
515
+ const deepDirPattern = `${normalizedDir}/**/${actualPattern}/**`;
516
+ if (isNegation) {
517
+ return [`!${rootPattern}`, `!${rootDirPattern}`, `!${deepPattern}`, `!${deepDirPattern}`];
518
+ }
519
+ return [rootPattern, rootDirPattern, deepPattern, deepDirPattern];
520
+ });
521
+ }
522
+ /**
523
+ * Finds all .gitignore files in a project, including nested ones in subdirectories.
524
+ *
525
+ * @param projectRoot - Project root directory
526
+ * @returns Array of relative paths to .gitignore files
527
+ */
528
+ async function findAllGitignoreFiles(projectRoot) {
529
+ try {
530
+ // Find all .gitignore files, but skip common directories that are typically ignored
531
+ const gitignoreFiles = await glob('**/.gitignore', {
532
+ cwd: projectRoot,
533
+ dot: true,
534
+ ignore: [
535
+ 'node_modules/**',
536
+ '.git/**',
537
+ 'dist/**',
538
+ 'build/**',
539
+ 'vendor/**',
540
+ '.next/**',
541
+ '.nuxt/**',
542
+ 'coverage/**',
543
+ '__pycache__/**',
544
+ 'venv/**',
545
+ '.venv/**',
546
+ 'target/**',
547
+ ],
548
+ absolute: false,
549
+ });
550
+ return gitignoreFiles;
551
+ }
552
+ catch (error) {
553
+ logger.debug('Failed to find nested .gitignore files', error);
554
+ return [];
555
+ }
556
+ }
557
+ /**
558
+ * Loads ignore patterns from .gitignore file and all nested .gitignore files
559
+ * in subdirectories, falling back to defaults if no .gitignore exists.
560
+ * Returns patterns as an array suitable for use with the glob library.
561
+ *
562
+ * @param projectRoot - Project root directory
563
+ * @returns Array of ignore patterns
564
+ */
565
+ // Cache for loadIgnorePatterns — avoids re-reading all .gitignore files on every tool call
566
+ let ignorePatternsCache = null;
567
+ export async function loadIgnorePatterns(projectRoot) {
568
+ if (ignorePatternsCache &&
569
+ ignorePatternsCache.root === projectRoot &&
570
+ Date.now() - ignorePatternsCache.timestamp < CACHE_TTL_MS) {
571
+ logger.debug('Using cached ignore patterns');
572
+ return ignorePatternsCache.patterns;
573
+ }
574
+ const allPatterns = [];
575
+ // First, try to load the root .gitignore
576
+ const rootGitignorePath = path.join(projectRoot, '.gitignore');
577
+ const rootContent = await safeReadFile(rootGitignorePath);
578
+ if (rootContent) {
579
+ const rawPatterns = parseGitignoreContent(rootContent);
580
+ const rootPatterns = transformPatternsForGlob(rawPatterns);
581
+ logger.debug(`Loaded ${rawPatterns.length} raw patterns from root .gitignore, transformed to ${rootPatterns.length} glob patterns`);
582
+ logger.debug(`Root .gitignore patterns (sample): ${rootPatterns.slice(0, 10).join(', ')}${rootPatterns.length > 10 ? '...' : ''}`);
583
+ allPatterns.push(...rootPatterns);
584
+ }
585
+ // Find and load all nested .gitignore files (uses disk cache when available)
586
+ const nestedGitignoreFiles = await getCachedGitignoreFiles(projectRoot);
587
+ if (nestedGitignoreFiles.length > 0) {
588
+ logger.info(`Found ${nestedGitignoreFiles.length} .gitignore file(s) in project`);
589
+ }
590
+ logger.debug(`Gitignore files found: ${nestedGitignoreFiles.join(', ')}`);
591
+ for (const gitignorePath of nestedGitignoreFiles) {
592
+ // Normalize path separators for comparison
593
+ const normalizedPath = gitignorePath.replace(/\\/g, '/');
594
+ // Skip the root .gitignore (already processed)
595
+ if (normalizedPath === '.gitignore') {
596
+ continue;
597
+ }
598
+ const fullPath = path.join(projectRoot, gitignorePath);
599
+ const content = await safeReadFile(fullPath);
600
+ if (content) {
601
+ // Get the directory containing this .gitignore (use normalized path)
602
+ const dirPath = path.dirname(normalizedPath);
603
+ const patterns = parseGitignoreContent(content);
604
+ const scopedPatterns = scopePatternsToDirectory(patterns, dirPath);
605
+ logger.debug(`Loaded ${scopedPatterns.length} patterns from nested .gitignore at ${gitignorePath}: ${scopedPatterns.slice(0, 5).join(', ')}${scopedPatterns.length > 5 ? '...' : ''}`);
606
+ allPatterns.push(...scopedPatterns);
607
+ }
608
+ }
609
+ // If we found any patterns, return them
610
+ if (allPatterns.length > 0) {
611
+ // Always include .git
612
+ if (!allPatterns.includes('.git') && !allPatterns.includes('.git/**')) {
613
+ allPatterns.push('.git/**');
614
+ }
615
+ logger.info(`Loaded ${allPatterns.length} ignore patterns from .gitignore files`);
616
+ ignorePatternsCache = { root: projectRoot, patterns: allPatterns, timestamp: Date.now() };
617
+ return allPatterns;
618
+ }
619
+ logger.debug('No .gitignore found, using default ignore patterns');
620
+ return [...DEFAULT_IGNORE_PATTERNS];
621
+ }
622
+ /**
623
+ * Merges custom patterns with defaults, removing duplicates.
624
+ *
625
+ * @param customPatterns - Custom patterns to merge
626
+ * @param defaults - Default patterns (defaults to DEFAULT_IGNORE_PATTERNS)
627
+ * @returns Merged array of unique patterns
628
+ */
629
+ export function mergeIgnorePatterns(customPatterns, defaults = DEFAULT_IGNORE_PATTERNS) {
630
+ return [...new Set([...defaults, ...customPatterns])];
631
+ }
632
+ /**
633
+ * Normalizes folder patterns to proper glob format.
634
+ * - Simple folder names like "folder" become "**\/folder/**" to match at any depth
635
+ * - Relative paths like "some/path" become "some/path/**"
636
+ * - Patterns with glob syntax are returned as-is
637
+ *
638
+ * @param folderPatterns - Array of folder patterns (can be simple names or globs)
639
+ * @returns Array of normalized glob patterns
640
+ */
641
+ export function normalizeFolderPatterns(folderPatterns) {
642
+ return folderPatterns.map((pattern) => {
643
+ // Already has glob syntax
644
+ if (pattern.includes('*') || pattern.includes('?')) {
645
+ return pattern;
646
+ }
647
+ // Remove trailing slash if present
648
+ const normalized = pattern.replace(/[/\\]+$/, '');
649
+ // If it's a simple folder name (no path separators), match at any depth
650
+ if (!normalized.includes('/') && !normalized.includes('\\')) {
651
+ return `**/${normalized}/**`;
652
+ }
653
+ // It's a relative path, add /** to match all contents
654
+ return `${normalized}/**`;
655
+ });
656
+ }
657
+ /**
658
+ * Checks if a relative path should be excluded based on session folder patterns.
659
+ * Used by directory tree traversal to exclude paths like "api/stacks" correctly.
660
+ *
661
+ * @param relativePath - The relative path to check (e.g., "api/stacks")
662
+ * @param sessionExcludedFolders - Raw session excluded folder patterns
663
+ * @returns True if the path should be excluded
664
+ */
665
+ export function shouldExcludeSessionPath(relativePath, sessionExcludedFolders) {
666
+ // Normalize path separators
667
+ const normalizedPath = relativePath.replace(/\\/g, '/');
668
+ for (const pattern of sessionExcludedFolders) {
669
+ // Normalize pattern separators and remove trailing slashes
670
+ let normalizedPattern = pattern.replace(/\\/g, '/').replace(/\/+$/, '');
671
+ // Handle glob patterns like "folder/**" - extract the base path
672
+ if (normalizedPattern.endsWith('/**')) {
673
+ normalizedPattern = normalizedPattern.slice(0, -3);
674
+ }
675
+ else if (normalizedPattern.includes('*') || normalizedPattern.includes('?')) {
676
+ // Skip complex glob patterns (can't easily match without glob library)
677
+ continue;
678
+ }
679
+ // Check if it's a simple folder name (no path separator)
680
+ if (!normalizedPattern.includes('/')) {
681
+ // Simple folder name should match at any depth
682
+ // Check if any segment of the path matches the folder name
683
+ const segments = normalizedPath.split('/');
684
+ if (segments.includes(normalizedPattern)) {
685
+ return true;
686
+ }
687
+ }
688
+ else {
689
+ // It's a path pattern like "api/stacks"
690
+ // Check if the relative path matches or starts with the pattern
691
+ if (normalizedPath === normalizedPattern || normalizedPath.startsWith(normalizedPattern + '/')) {
692
+ return true;
693
+ }
694
+ }
695
+ }
696
+ return false;
697
+ }
698
+ /**
699
+ * Merges session excluded folders with base ignore patterns.
700
+ * Normalizes folder patterns to proper glob format.
701
+ *
702
+ * @param sessionExcludedFolders - Folders from session state
703
+ * @param basePatterns - Base patterns to merge with
704
+ * @returns Merged array of unique patterns
705
+ */
706
+ export function mergeSessionExclusions(sessionExcludedFolders, basePatterns = DEFAULT_IGNORE_PATTERNS) {
707
+ const normalizedFolders = normalizeFolderPatterns(sessionExcludedFolders);
708
+ return [...new Set([...basePatterns, ...normalizedFolders])];
709
+ }
710
+ //# sourceMappingURL=ignore-patterns.js.map