@compass-ai/nova 1.0.74 → 1.0.76

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 (973) hide show
  1. package/dist/cli.js +557 -555
  2. package/dist/index.js +10 -8
  3. package/package.json +1 -1
  4. package/dist/acp/agent.d.ts +0 -318
  5. package/dist/acp/agent.d.ts.map +0 -1
  6. package/dist/acp/agent.js +0 -795
  7. package/dist/acp/agent.js.map +0 -1
  8. package/dist/acp/backpressure-writer.d.ts +0 -49
  9. package/dist/acp/backpressure-writer.d.ts.map +0 -1
  10. package/dist/acp/backpressure-writer.js +0 -153
  11. package/dist/acp/backpressure-writer.js.map +0 -1
  12. package/dist/acp/event-adapter.d.ts +0 -242
  13. package/dist/acp/event-adapter.d.ts.map +0 -1
  14. package/dist/acp/event-adapter.js +0 -456
  15. package/dist/acp/event-adapter.js.map +0 -1
  16. package/dist/acp/index.d.ts +0 -30
  17. package/dist/acp/index.d.ts.map +0 -1
  18. package/dist/acp/index.js +0 -36
  19. package/dist/acp/index.js.map +0 -1
  20. package/dist/acp/modes.d.ts +0 -56
  21. package/dist/acp/modes.d.ts.map +0 -1
  22. package/dist/acp/modes.js +0 -135
  23. package/dist/acp/modes.js.map +0 -1
  24. package/dist/acp/session-manager.d.ts +0 -170
  25. package/dist/acp/session-manager.d.ts.map +0 -1
  26. package/dist/acp/session-manager.js +0 -381
  27. package/dist/acp/session-manager.js.map +0 -1
  28. package/dist/acp/text-coalescer.d.ts +0 -45
  29. package/dist/acp/text-coalescer.d.ts.map +0 -1
  30. package/dist/acp/text-coalescer.js +0 -110
  31. package/dist/acp/text-coalescer.js.map +0 -1
  32. package/dist/acp/tool-bridge.d.ts +0 -156
  33. package/dist/acp/tool-bridge.d.ts.map +0 -1
  34. package/dist/acp/tool-bridge.js +0 -381
  35. package/dist/acp/tool-bridge.js.map +0 -1
  36. package/dist/acp/types.d.ts +0 -314
  37. package/dist/acp/types.d.ts.map +0 -1
  38. package/dist/acp/types.js +0 -8
  39. package/dist/acp/types.js.map +0 -1
  40. package/dist/cli.d.ts +0 -9
  41. package/dist/cli.d.ts.map +0 -1
  42. package/dist/cli.js.map +0 -1
  43. package/dist/commands/acp.d.ts +0 -26
  44. package/dist/commands/acp.d.ts.map +0 -1
  45. package/dist/commands/acp.js +0 -492
  46. package/dist/commands/acp.js.map +0 -1
  47. package/dist/commands/cache.d.ts +0 -33
  48. package/dist/commands/cache.d.ts.map +0 -1
  49. package/dist/commands/cache.js +0 -537
  50. package/dist/commands/cache.js.map +0 -1
  51. package/dist/commands/config.d.ts +0 -10
  52. package/dist/commands/config.d.ts.map +0 -1
  53. package/dist/commands/config.js +0 -367
  54. package/dist/commands/config.js.map +0 -1
  55. package/dist/commands/consent.d.ts +0 -21
  56. package/dist/commands/consent.d.ts.map +0 -1
  57. package/dist/commands/consent.js +0 -334
  58. package/dist/commands/consent.js.map +0 -1
  59. package/dist/commands/data.d.ts +0 -24
  60. package/dist/commands/data.d.ts.map +0 -1
  61. package/dist/commands/data.js +0 -586
  62. package/dist/commands/data.js.map +0 -1
  63. package/dist/commands/index.d.ts +0 -145
  64. package/dist/commands/index.d.ts.map +0 -1
  65. package/dist/commands/index.js +0 -210
  66. package/dist/commands/index.js.map +0 -1
  67. package/dist/commands/init.d.ts +0 -106
  68. package/dist/commands/init.d.ts.map +0 -1
  69. package/dist/commands/init.js +0 -349
  70. package/dist/commands/init.js.map +0 -1
  71. package/dist/commands/logs.d.ts +0 -13
  72. package/dist/commands/logs.d.ts.map +0 -1
  73. package/dist/commands/logs.js +0 -359
  74. package/dist/commands/logs.js.map +0 -1
  75. package/dist/commands/mcp.d.ts +0 -20
  76. package/dist/commands/mcp.d.ts.map +0 -1
  77. package/dist/commands/mcp.js +0 -687
  78. package/dist/commands/mcp.js.map +0 -1
  79. package/dist/commands/reset.d.ts +0 -20
  80. package/dist/commands/reset.d.ts.map +0 -1
  81. package/dist/commands/reset.js +0 -372
  82. package/dist/commands/reset.js.map +0 -1
  83. package/dist/commands/setup.d.ts +0 -74
  84. package/dist/commands/setup.d.ts.map +0 -1
  85. package/dist/commands/setup.js +0 -863
  86. package/dist/commands/setup.js.map +0 -1
  87. package/dist/commands/slash/agents.d.ts +0 -40
  88. package/dist/commands/slash/agents.d.ts.map +0 -1
  89. package/dist/commands/slash/agents.js +0 -519
  90. package/dist/commands/slash/agents.js.map +0 -1
  91. package/dist/commands/slash/approve.d.ts +0 -46
  92. package/dist/commands/slash/approve.d.ts.map +0 -1
  93. package/dist/commands/slash/approve.js +0 -239
  94. package/dist/commands/slash/approve.js.map +0 -1
  95. package/dist/commands/slash/attach.d.ts +0 -70
  96. package/dist/commands/slash/attach.d.ts.map +0 -1
  97. package/dist/commands/slash/attach.js +0 -333
  98. package/dist/commands/slash/attach.js.map +0 -1
  99. package/dist/commands/slash/clear.d.ts +0 -47
  100. package/dist/commands/slash/clear.d.ts.map +0 -1
  101. package/dist/commands/slash/clear.js +0 -261
  102. package/dist/commands/slash/clear.js.map +0 -1
  103. package/dist/commands/slash/commit.d.ts +0 -40
  104. package/dist/commands/slash/commit.d.ts.map +0 -1
  105. package/dist/commands/slash/commit.js +0 -337
  106. package/dist/commands/slash/commit.js.map +0 -1
  107. package/dist/commands/slash/compact.d.ts +0 -48
  108. package/dist/commands/slash/compact.d.ts.map +0 -1
  109. package/dist/commands/slash/compact.js +0 -288
  110. package/dist/commands/slash/compact.js.map +0 -1
  111. package/dist/commands/slash/config.d.ts +0 -20
  112. package/dist/commands/slash/config.d.ts.map +0 -1
  113. package/dist/commands/slash/config.js +0 -136
  114. package/dist/commands/slash/config.js.map +0 -1
  115. package/dist/commands/slash/context.d.ts +0 -49
  116. package/dist/commands/slash/context.d.ts.map +0 -1
  117. package/dist/commands/slash/context.js +0 -430
  118. package/dist/commands/slash/context.js.map +0 -1
  119. package/dist/commands/slash/cost.d.ts +0 -34
  120. package/dist/commands/slash/cost.d.ts.map +0 -1
  121. package/dist/commands/slash/cost.js +0 -312
  122. package/dist/commands/slash/cost.js.map +0 -1
  123. package/dist/commands/slash/custom.d.ts +0 -41
  124. package/dist/commands/slash/custom.d.ts.map +0 -1
  125. package/dist/commands/slash/custom.js +0 -126
  126. package/dist/commands/slash/custom.js.map +0 -1
  127. package/dist/commands/slash/exit.d.ts +0 -25
  128. package/dist/commands/slash/exit.d.ts.map +0 -1
  129. package/dist/commands/slash/exit.js +0 -186
  130. package/dist/commands/slash/exit.js.map +0 -1
  131. package/dist/commands/slash/export.d.ts +0 -27
  132. package/dist/commands/slash/export.d.ts.map +0 -1
  133. package/dist/commands/slash/export.js +0 -318
  134. package/dist/commands/slash/export.js.map +0 -1
  135. package/dist/commands/slash/files.d.ts +0 -47
  136. package/dist/commands/slash/files.d.ts.map +0 -1
  137. package/dist/commands/slash/files.js +0 -521
  138. package/dist/commands/slash/files.js.map +0 -1
  139. package/dist/commands/slash/help.d.ts +0 -50
  140. package/dist/commands/slash/help.d.ts.map +0 -1
  141. package/dist/commands/slash/help.js +0 -282
  142. package/dist/commands/slash/help.js.map +0 -1
  143. package/dist/commands/slash/index-cmd.d.ts +0 -41
  144. package/dist/commands/slash/index-cmd.d.ts.map +0 -1
  145. package/dist/commands/slash/index-cmd.js +0 -349
  146. package/dist/commands/slash/index-cmd.js.map +0 -1
  147. package/dist/commands/slash/index.d.ts +0 -97
  148. package/dist/commands/slash/index.d.ts.map +0 -1
  149. package/dist/commands/slash/index.js +0 -251
  150. package/dist/commands/slash/index.js.map +0 -1
  151. package/dist/commands/slash/login.d.ts +0 -23
  152. package/dist/commands/slash/login.d.ts.map +0 -1
  153. package/dist/commands/slash/login.js +0 -175
  154. package/dist/commands/slash/login.js.map +0 -1
  155. package/dist/commands/slash/logout.d.ts +0 -23
  156. package/dist/commands/slash/logout.d.ts.map +0 -1
  157. package/dist/commands/slash/logout.js +0 -153
  158. package/dist/commands/slash/logout.js.map +0 -1
  159. package/dist/commands/slash/logs.d.ts +0 -29
  160. package/dist/commands/slash/logs.d.ts.map +0 -1
  161. package/dist/commands/slash/logs.js +0 -423
  162. package/dist/commands/slash/logs.js.map +0 -1
  163. package/dist/commands/slash/mcp.d.ts +0 -29
  164. package/dist/commands/slash/mcp.d.ts.map +0 -1
  165. package/dist/commands/slash/mcp.js +0 -1026
  166. package/dist/commands/slash/mcp.js.map +0 -1
  167. package/dist/commands/slash/model.d.ts +0 -60
  168. package/dist/commands/slash/model.d.ts.map +0 -1
  169. package/dist/commands/slash/model.js +0 -466
  170. package/dist/commands/slash/model.js.map +0 -1
  171. package/dist/commands/slash/personality.d.ts +0 -40
  172. package/dist/commands/slash/personality.d.ts.map +0 -1
  173. package/dist/commands/slash/personality.js +0 -272
  174. package/dist/commands/slash/personality.js.map +0 -1
  175. package/dist/commands/slash/purge.d.ts +0 -42
  176. package/dist/commands/slash/purge.d.ts.map +0 -1
  177. package/dist/commands/slash/purge.js +0 -233
  178. package/dist/commands/slash/purge.js.map +0 -1
  179. package/dist/commands/slash/reset.d.ts +0 -44
  180. package/dist/commands/slash/reset.d.ts.map +0 -1
  181. package/dist/commands/slash/reset.js +0 -326
  182. package/dist/commands/slash/reset.js.map +0 -1
  183. package/dist/commands/slash/skills.d.ts +0 -40
  184. package/dist/commands/slash/skills.d.ts.map +0 -1
  185. package/dist/commands/slash/skills.js +0 -207
  186. package/dist/commands/slash/skills.js.map +0 -1
  187. package/dist/commands/slash/tokens.d.ts +0 -34
  188. package/dist/commands/slash/tokens.d.ts.map +0 -1
  189. package/dist/commands/slash/tokens.js +0 -205
  190. package/dist/commands/slash/tokens.js.map +0 -1
  191. package/dist/commands/slash/unleash.d.ts +0 -50
  192. package/dist/commands/slash/unleash.d.ts.map +0 -1
  193. package/dist/commands/slash/unleash.js +0 -262
  194. package/dist/commands/slash/unleash.js.map +0 -1
  195. package/dist/commands/slash/update.d.ts +0 -34
  196. package/dist/commands/slash/update.d.ts.map +0 -1
  197. package/dist/commands/slash/update.js +0 -364
  198. package/dist/commands/slash/update.js.map +0 -1
  199. package/dist/commands/slash/wrap.d.ts +0 -18
  200. package/dist/commands/slash/wrap.d.ts.map +0 -1
  201. package/dist/commands/slash/wrap.js +0 -21
  202. package/dist/commands/slash/wrap.js.map +0 -1
  203. package/dist/commands/tokens.d.ts +0 -26
  204. package/dist/commands/tokens.d.ts.map +0 -1
  205. package/dist/commands/tokens.js +0 -245
  206. package/dist/commands/tokens.js.map +0 -1
  207. package/dist/constants/builtin-agents.d.ts +0 -27
  208. package/dist/constants/builtin-agents.d.ts.map +0 -1
  209. package/dist/constants/builtin-agents.js +0 -710
  210. package/dist/constants/builtin-agents.js.map +0 -1
  211. package/dist/constants/builtin-skills.d.ts +0 -32
  212. package/dist/constants/builtin-skills.d.ts.map +0 -1
  213. package/dist/constants/builtin-skills.js +0 -389
  214. package/dist/constants/builtin-skills.js.map +0 -1
  215. package/dist/constants/defaults.d.ts +0 -448
  216. package/dist/constants/defaults.d.ts.map +0 -1
  217. package/dist/constants/defaults.js +0 -829
  218. package/dist/constants/defaults.js.map +0 -1
  219. package/dist/constants/index.d.ts +0 -27
  220. package/dist/constants/index.d.ts.map +0 -1
  221. package/dist/constants/index.js +0 -85
  222. package/dist/constants/index.js.map +0 -1
  223. package/dist/constants/install-hints.d.ts +0 -7
  224. package/dist/constants/install-hints.d.ts.map +0 -1
  225. package/dist/constants/install-hints.js +0 -123
  226. package/dist/constants/install-hints.js.map +0 -1
  227. package/dist/constants/models.d.ts +0 -255
  228. package/dist/constants/models.d.ts.map +0 -1
  229. package/dist/constants/models.js +0 -596
  230. package/dist/constants/models.js.map +0 -1
  231. package/dist/constants/schedule.d.ts +0 -43
  232. package/dist/constants/schedule.d.ts.map +0 -1
  233. package/dist/constants/schedule.js +0 -110
  234. package/dist/constants/schedule.js.map +0 -1
  235. package/dist/constants/system-utilities.d.ts +0 -57
  236. package/dist/constants/system-utilities.d.ts.map +0 -1
  237. package/dist/constants/system-utilities.js +0 -421
  238. package/dist/constants/system-utilities.js.map +0 -1
  239. package/dist/constants/token-limits.d.ts +0 -102
  240. package/dist/constants/token-limits.d.ts.map +0 -1
  241. package/dist/constants/token-limits.js +0 -286
  242. package/dist/constants/token-limits.js.map +0 -1
  243. package/dist/core/autocomplete.d.ts +0 -132
  244. package/dist/core/autocomplete.d.ts.map +0 -1
  245. package/dist/core/autocomplete.js +0 -653
  246. package/dist/core/autocomplete.js.map +0 -1
  247. package/dist/core/command-parser.d.ts +0 -301
  248. package/dist/core/command-parser.d.ts.map +0 -1
  249. package/dist/core/command-parser.js +0 -526
  250. package/dist/core/command-parser.js.map +0 -1
  251. package/dist/core/context-builder.d.ts +0 -264
  252. package/dist/core/context-builder.d.ts.map +0 -1
  253. package/dist/core/context-builder.js +0 -1018
  254. package/dist/core/context-builder.js.map +0 -1
  255. package/dist/core/event-emitter.d.ts +0 -411
  256. package/dist/core/event-emitter.d.ts.map +0 -1
  257. package/dist/core/event-emitter.js +0 -138
  258. package/dist/core/event-emitter.js.map +0 -1
  259. package/dist/core/history-manager.d.ts +0 -62
  260. package/dist/core/history-manager.d.ts.map +0 -1
  261. package/dist/core/history-manager.js +0 -151
  262. package/dist/core/history-manager.js.map +0 -1
  263. package/dist/core/slash-command-handler.d.ts +0 -352
  264. package/dist/core/slash-command-handler.d.ts.map +0 -1
  265. package/dist/core/slash-command-handler.js +0 -563
  266. package/dist/core/slash-command-handler.js.map +0 -1
  267. package/dist/core/task-processor.d.ts +0 -179
  268. package/dist/core/task-processor.d.ts.map +0 -1
  269. package/dist/core/task-processor.js +0 -519
  270. package/dist/core/task-processor.js.map +0 -1
  271. package/dist/index.d.ts +0 -90
  272. package/dist/index.d.ts.map +0 -1
  273. package/dist/index.js.map +0 -1
  274. package/dist/prompts/agent-prompt-generator.d.ts +0 -26
  275. package/dist/prompts/agent-prompt-generator.d.ts.map +0 -1
  276. package/dist/prompts/agent-prompt-generator.js +0 -244
  277. package/dist/prompts/agent-prompt-generator.js.map +0 -1
  278. package/dist/prompts/commit-message.d.ts +0 -35
  279. package/dist/prompts/commit-message.d.ts.map +0 -1
  280. package/dist/prompts/commit-message.js +0 -187
  281. package/dist/prompts/commit-message.js.map +0 -1
  282. package/dist/prompts/conversation.d.ts +0 -51
  283. package/dist/prompts/conversation.d.ts.map +0 -1
  284. package/dist/prompts/conversation.js +0 -115
  285. package/dist/prompts/conversation.js.map +0 -1
  286. package/dist/prompts/index.d.ts +0 -39
  287. package/dist/prompts/index.d.ts.map +0 -1
  288. package/dist/prompts/index.js +0 -74
  289. package/dist/prompts/index.js.map +0 -1
  290. package/dist/prompts/memory.d.ts +0 -6
  291. package/dist/prompts/memory.d.ts.map +0 -1
  292. package/dist/prompts/memory.js +0 -29
  293. package/dist/prompts/memory.js.map +0 -1
  294. package/dist/prompts/personality.d.ts +0 -77
  295. package/dist/prompts/personality.d.ts.map +0 -1
  296. package/dist/prompts/personality.js +0 -393
  297. package/dist/prompts/personality.js.map +0 -1
  298. package/dist/prompts/plan-generator.d.ts +0 -144
  299. package/dist/prompts/plan-generator.d.ts.map +0 -1
  300. package/dist/prompts/plan-generator.js +0 -553
  301. package/dist/prompts/plan-generator.js.map +0 -1
  302. package/dist/prompts/system.d.ts +0 -95
  303. package/dist/prompts/system.d.ts.map +0 -1
  304. package/dist/prompts/system.js +0 -461
  305. package/dist/prompts/system.js.map +0 -1
  306. package/dist/prompts/task-processor.d.ts +0 -94
  307. package/dist/prompts/task-processor.d.ts.map +0 -1
  308. package/dist/prompts/task-processor.js +0 -554
  309. package/dist/prompts/task-processor.js.map +0 -1
  310. package/dist/prompts/unguarded.d.ts +0 -78
  311. package/dist/prompts/unguarded.d.ts.map +0 -1
  312. package/dist/prompts/unguarded.js +0 -418
  313. package/dist/prompts/unguarded.js.map +0 -1
  314. package/dist/prompts/utils.d.ts +0 -73
  315. package/dist/prompts/utils.d.ts.map +0 -1
  316. package/dist/prompts/utils.js +0 -114
  317. package/dist/prompts/utils.js.map +0 -1
  318. package/dist/prompts/workflow.d.ts +0 -241
  319. package/dist/prompts/workflow.d.ts.map +0 -1
  320. package/dist/prompts/workflow.js +0 -608
  321. package/dist/prompts/workflow.js.map +0 -1
  322. package/dist/services/action-logger.d.ts +0 -383
  323. package/dist/services/action-logger.d.ts.map +0 -1
  324. package/dist/services/action-logger.js +0 -544
  325. package/dist/services/action-logger.js.map +0 -1
  326. package/dist/services/agent-budget-allocator.d.ts +0 -111
  327. package/dist/services/agent-budget-allocator.d.ts.map +0 -1
  328. package/dist/services/agent-budget-allocator.js +0 -278
  329. package/dist/services/agent-budget-allocator.js.map +0 -1
  330. package/dist/services/agent-manager.d.ts +0 -181
  331. package/dist/services/agent-manager.d.ts.map +0 -1
  332. package/dist/services/agent-manager.js +0 -749
  333. package/dist/services/agent-manager.js.map +0 -1
  334. package/dist/services/agent-spawner.d.ts +0 -138
  335. package/dist/services/agent-spawner.d.ts.map +0 -1
  336. package/dist/services/agent-spawner.js +0 -748
  337. package/dist/services/agent-spawner.js.map +0 -1
  338. package/dist/services/agent-state-service.d.ts +0 -145
  339. package/dist/services/agent-state-service.d.ts.map +0 -1
  340. package/dist/services/agent-state-service.js +0 -247
  341. package/dist/services/agent-state-service.js.map +0 -1
  342. package/dist/services/anthropic-client.d.ts +0 -357
  343. package/dist/services/anthropic-client.d.ts.map +0 -1
  344. package/dist/services/anthropic-client.js +0 -1451
  345. package/dist/services/anthropic-client.js.map +0 -1
  346. package/dist/services/approval-manager.d.ts +0 -385
  347. package/dist/services/approval-manager.d.ts.map +0 -1
  348. package/dist/services/approval-manager.js +0 -1044
  349. package/dist/services/approval-manager.js.map +0 -1
  350. package/dist/services/audit-logger.d.ts +0 -245
  351. package/dist/services/audit-logger.d.ts.map +0 -1
  352. package/dist/services/audit-logger.js +0 -324
  353. package/dist/services/audit-logger.js.map +0 -1
  354. package/dist/services/backup-manager.d.ts +0 -136
  355. package/dist/services/backup-manager.d.ts.map +0 -1
  356. package/dist/services/backup-manager.js +0 -260
  357. package/dist/services/backup-manager.js.map +0 -1
  358. package/dist/services/cache-service.d.ts +0 -247
  359. package/dist/services/cache-service.d.ts.map +0 -1
  360. package/dist/services/cache-service.js +0 -558
  361. package/dist/services/cache-service.js.map +0 -1
  362. package/dist/services/chat-archival-service.d.ts +0 -108
  363. package/dist/services/chat-archival-service.d.ts.map +0 -1
  364. package/dist/services/chat-archival-service.js +0 -465
  365. package/dist/services/chat-archival-service.js.map +0 -1
  366. package/dist/services/codebase-indexer.d.ts +0 -272
  367. package/dist/services/codebase-indexer.d.ts.map +0 -1
  368. package/dist/services/codebase-indexer.js +0 -863
  369. package/dist/services/codebase-indexer.js.map +0 -1
  370. package/dist/services/compass-auth-service.d.ts +0 -204
  371. package/dist/services/compass-auth-service.d.ts.map +0 -1
  372. package/dist/services/compass-auth-service.js +0 -391
  373. package/dist/services/compass-auth-service.js.map +0 -1
  374. package/dist/services/complexity-classifier.d.ts +0 -208
  375. package/dist/services/complexity-classifier.d.ts.map +0 -1
  376. package/dist/services/complexity-classifier.js +0 -1410
  377. package/dist/services/complexity-classifier.js.map +0 -1
  378. package/dist/services/config-manager.d.ts +0 -278
  379. package/dist/services/config-manager.d.ts.map +0 -1
  380. package/dist/services/config-manager.js +0 -651
  381. package/dist/services/config-manager.js.map +0 -1
  382. package/dist/services/consent-manager.d.ts +0 -239
  383. package/dist/services/consent-manager.d.ts.map +0 -1
  384. package/dist/services/consent-manager.js +0 -516
  385. package/dist/services/consent-manager.js.map +0 -1
  386. package/dist/services/conversation-compactor.d.ts +0 -223
  387. package/dist/services/conversation-compactor.d.ts.map +0 -1
  388. package/dist/services/conversation-compactor.js +0 -750
  389. package/dist/services/conversation-compactor.js.map +0 -1
  390. package/dist/services/cost-tracker.d.ts +0 -167
  391. package/dist/services/cost-tracker.d.ts.map +0 -1
  392. package/dist/services/cost-tracker.js +0 -199
  393. package/dist/services/cost-tracker.js.map +0 -1
  394. package/dist/services/credential-store.d.ts +0 -273
  395. package/dist/services/credential-store.d.ts.map +0 -1
  396. package/dist/services/credential-store.js +0 -877
  397. package/dist/services/credential-store.js.map +0 -1
  398. package/dist/services/custom-command-service.d.ts +0 -112
  399. package/dist/services/custom-command-service.d.ts.map +0 -1
  400. package/dist/services/custom-command-service.js +0 -464
  401. package/dist/services/custom-command-service.js.map +0 -1
  402. package/dist/services/default-statusline-renderer.d.ts +0 -60
  403. package/dist/services/default-statusline-renderer.d.ts.map +0 -1
  404. package/dist/services/default-statusline-renderer.js +0 -110
  405. package/dist/services/default-statusline-renderer.js.map +0 -1
  406. package/dist/services/enhanced-context-gatherer.d.ts +0 -116
  407. package/dist/services/enhanced-context-gatherer.d.ts.map +0 -1
  408. package/dist/services/enhanced-context-gatherer.js +0 -605
  409. package/dist/services/enhanced-context-gatherer.js.map +0 -1
  410. package/dist/services/file-hash-tracker.d.ts +0 -95
  411. package/dist/services/file-hash-tracker.d.ts.map +0 -1
  412. package/dist/services/file-hash-tracker.js +0 -199
  413. package/dist/services/file-hash-tracker.js.map +0 -1
  414. package/dist/services/file-service.d.ts +0 -274
  415. package/dist/services/file-service.d.ts.map +0 -1
  416. package/dist/services/file-service.js +0 -876
  417. package/dist/services/file-service.js.map +0 -1
  418. package/dist/services/git-service.d.ts +0 -536
  419. package/dist/services/git-service.d.ts.map +0 -1
  420. package/dist/services/git-service.js +0 -1215
  421. package/dist/services/git-service.js.map +0 -1
  422. package/dist/services/hook-service.d.ts +0 -148
  423. package/dist/services/hook-service.d.ts.map +0 -1
  424. package/dist/services/hook-service.js +0 -705
  425. package/dist/services/hook-service.js.map +0 -1
  426. package/dist/services/ide-state-service.d.ts +0 -114
  427. package/dist/services/ide-state-service.d.ts.map +0 -1
  428. package/dist/services/ide-state-service.js +0 -204
  429. package/dist/services/ide-state-service.js.map +0 -1
  430. package/dist/services/interactive-clarifier.d.ts +0 -90
  431. package/dist/services/interactive-clarifier.d.ts.map +0 -1
  432. package/dist/services/interactive-clarifier.js +0 -446
  433. package/dist/services/interactive-clarifier.js.map +0 -1
  434. package/dist/services/iteration-scoper.d.ts +0 -225
  435. package/dist/services/iteration-scoper.d.ts.map +0 -1
  436. package/dist/services/iteration-scoper.js +0 -387
  437. package/dist/services/iteration-scoper.js.map +0 -1
  438. package/dist/services/llm-plan-generator.d.ts +0 -44
  439. package/dist/services/llm-plan-generator.d.ts.map +0 -1
  440. package/dist/services/llm-plan-generator.js +0 -863
  441. package/dist/services/llm-plan-generator.js.map +0 -1
  442. package/dist/services/llm-system-prompt-generator.d.ts +0 -85
  443. package/dist/services/llm-system-prompt-generator.d.ts.map +0 -1
  444. package/dist/services/llm-system-prompt-generator.js +0 -257
  445. package/dist/services/llm-system-prompt-generator.js.map +0 -1
  446. package/dist/services/log-interpreter.d.ts +0 -190
  447. package/dist/services/log-interpreter.d.ts.map +0 -1
  448. package/dist/services/log-interpreter.js +0 -520
  449. package/dist/services/log-interpreter.js.map +0 -1
  450. package/dist/services/mcp-config-manager.d.ts +0 -141
  451. package/dist/services/mcp-config-manager.d.ts.map +0 -1
  452. package/dist/services/mcp-config-manager.js +0 -678
  453. package/dist/services/mcp-config-manager.js.map +0 -1
  454. package/dist/services/mcp-oauth-service.d.ts +0 -170
  455. package/dist/services/mcp-oauth-service.d.ts.map +0 -1
  456. package/dist/services/mcp-oauth-service.js +0 -892
  457. package/dist/services/mcp-oauth-service.js.map +0 -1
  458. package/dist/services/mcp-plugin-support.d.ts +0 -81
  459. package/dist/services/mcp-plugin-support.d.ts.map +0 -1
  460. package/dist/services/mcp-plugin-support.js +0 -305
  461. package/dist/services/mcp-plugin-support.js.map +0 -1
  462. package/dist/services/mcp-server-manager.d.ts +0 -134
  463. package/dist/services/mcp-server-manager.d.ts.map +0 -1
  464. package/dist/services/mcp-server-manager.js +0 -613
  465. package/dist/services/mcp-server-manager.js.map +0 -1
  466. package/dist/services/mcp-tool-integration.d.ts +0 -119
  467. package/dist/services/mcp-tool-integration.d.ts.map +0 -1
  468. package/dist/services/mcp-tool-integration.js +0 -381
  469. package/dist/services/mcp-tool-integration.js.map +0 -1
  470. package/dist/services/mcp-transport.d.ts +0 -105
  471. package/dist/services/mcp-transport.d.ts.map +0 -1
  472. package/dist/services/mcp-transport.js +0 -1316
  473. package/dist/services/mcp-transport.js.map +0 -1
  474. package/dist/services/memory-service.d.ts +0 -55
  475. package/dist/services/memory-service.d.ts.map +0 -1
  476. package/dist/services/memory-service.js +0 -251
  477. package/dist/services/memory-service.js.map +0 -1
  478. package/dist/services/model-availability.d.ts +0 -64
  479. package/dist/services/model-availability.d.ts.map +0 -1
  480. package/dist/services/model-availability.js +0 -114
  481. package/dist/services/model-availability.js.map +0 -1
  482. package/dist/services/plan-generator.d.ts +0 -98
  483. package/dist/services/plan-generator.d.ts.map +0 -1
  484. package/dist/services/plan-generator.js +0 -658
  485. package/dist/services/plan-generator.js.map +0 -1
  486. package/dist/services/plan-mode-fallback.d.ts +0 -80
  487. package/dist/services/plan-mode-fallback.d.ts.map +0 -1
  488. package/dist/services/plan-mode-fallback.js +0 -307
  489. package/dist/services/plan-mode-fallback.js.map +0 -1
  490. package/dist/services/plan-mode-handler.d.ts +0 -42
  491. package/dist/services/plan-mode-handler.d.ts.map +0 -1
  492. package/dist/services/plan-mode-handler.js +0 -388
  493. package/dist/services/plan-mode-handler.js.map +0 -1
  494. package/dist/services/plan-persistence.d.ts +0 -203
  495. package/dist/services/plan-persistence.d.ts.map +0 -1
  496. package/dist/services/plan-persistence.js +0 -538
  497. package/dist/services/plan-persistence.js.map +0 -1
  498. package/dist/services/prompt-preprocessor.d.ts +0 -73
  499. package/dist/services/prompt-preprocessor.d.ts.map +0 -1
  500. package/dist/services/prompt-preprocessor.js +0 -146
  501. package/dist/services/prompt-preprocessor.js.map +0 -1
  502. package/dist/services/rating-service.d.ts +0 -84
  503. package/dist/services/rating-service.d.ts.map +0 -1
  504. package/dist/services/rating-service.js +0 -171
  505. package/dist/services/rating-service.js.map +0 -1
  506. package/dist/services/rating-state-manager.d.ts +0 -131
  507. package/dist/services/rating-state-manager.d.ts.map +0 -1
  508. package/dist/services/rating-state-manager.js +0 -270
  509. package/dist/services/rating-state-manager.js.map +0 -1
  510. package/dist/services/sdk-runner.d.ts +0 -113
  511. package/dist/services/sdk-runner.d.ts.map +0 -1
  512. package/dist/services/sdk-runner.js +0 -1424
  513. package/dist/services/sdk-runner.js.map +0 -1
  514. package/dist/services/session-manager.d.ts +0 -528
  515. package/dist/services/session-manager.d.ts.map +0 -1
  516. package/dist/services/session-manager.js +0 -1184
  517. package/dist/services/session-manager.js.map +0 -1
  518. package/dist/services/shell-executor.d.ts +0 -337
  519. package/dist/services/shell-executor.d.ts.map +0 -1
  520. package/dist/services/shell-executor.js +0 -1201
  521. package/dist/services/shell-executor.js.map +0 -1
  522. package/dist/services/skill-service.d.ts +0 -149
  523. package/dist/services/skill-service.d.ts.map +0 -1
  524. package/dist/services/skill-service.js +0 -594
  525. package/dist/services/skill-service.js.map +0 -1
  526. package/dist/services/statusline-executor.d.ts +0 -102
  527. package/dist/services/statusline-executor.d.ts.map +0 -1
  528. package/dist/services/statusline-executor.js +0 -305
  529. package/dist/services/statusline-executor.js.map +0 -1
  530. package/dist/services/step-tracker.d.ts +0 -356
  531. package/dist/services/step-tracker.d.ts.map +0 -1
  532. package/dist/services/step-tracker.js +0 -634
  533. package/dist/services/step-tracker.js.map +0 -1
  534. package/dist/services/system-event-logger.d.ts +0 -473
  535. package/dist/services/system-event-logger.d.ts.map +0 -1
  536. package/dist/services/system-event-logger.js +0 -790
  537. package/dist/services/system-event-logger.js.map +0 -1
  538. package/dist/services/system-utility-detector.d.ts +0 -91
  539. package/dist/services/system-utility-detector.d.ts.map +0 -1
  540. package/dist/services/system-utility-detector.js +0 -238
  541. package/dist/services/system-utility-detector.js.map +0 -1
  542. package/dist/services/team-context-store.d.ts +0 -100
  543. package/dist/services/team-context-store.d.ts.map +0 -1
  544. package/dist/services/team-context-store.js +0 -513
  545. package/dist/services/team-context-store.js.map +0 -1
  546. package/dist/services/temp-file-service.d.ts +0 -164
  547. package/dist/services/temp-file-service.d.ts.map +0 -1
  548. package/dist/services/temp-file-service.js +0 -303
  549. package/dist/services/temp-file-service.js.map +0 -1
  550. package/dist/services/token-limit-enforcer.d.ts +0 -53
  551. package/dist/services/token-limit-enforcer.d.ts.map +0 -1
  552. package/dist/services/token-limit-enforcer.js +0 -90
  553. package/dist/services/token-limit-enforcer.js.map +0 -1
  554. package/dist/services/token-limit-store.d.ts +0 -105
  555. package/dist/services/token-limit-store.d.ts.map +0 -1
  556. package/dist/services/token-limit-store.js +0 -288
  557. package/dist/services/token-limit-store.js.map +0 -1
  558. package/dist/services/token-tracker.d.ts +0 -290
  559. package/dist/services/token-tracker.d.ts.map +0 -1
  560. package/dist/services/token-tracker.js +0 -751
  561. package/dist/services/token-tracker.js.map +0 -1
  562. package/dist/services/tool-registry.d.ts +0 -302
  563. package/dist/services/tool-registry.d.ts.map +0 -1
  564. package/dist/services/tool-registry.js +0 -606
  565. package/dist/services/tool-registry.js.map +0 -1
  566. package/dist/services/tools-logger.d.ts +0 -152
  567. package/dist/services/tools-logger.d.ts.map +0 -1
  568. package/dist/services/tools-logger.js +0 -222
  569. package/dist/services/tools-logger.js.map +0 -1
  570. package/dist/services/update-plan-handler.d.ts +0 -56
  571. package/dist/services/update-plan-handler.d.ts.map +0 -1
  572. package/dist/services/update-plan-handler.js +0 -372
  573. package/dist/services/update-plan-handler.js.map +0 -1
  574. package/dist/services/update-service.d.ts +0 -197
  575. package/dist/services/update-service.d.ts.map +0 -1
  576. package/dist/services/update-service.js +0 -749
  577. package/dist/services/update-service.js.map +0 -1
  578. package/dist/services/verifier.d.ts +0 -113
  579. package/dist/services/verifier.d.ts.map +0 -1
  580. package/dist/services/verifier.js +0 -541
  581. package/dist/services/verifier.js.map +0 -1
  582. package/dist/services/workflow-manager.d.ts +0 -277
  583. package/dist/services/workflow-manager.d.ts.map +0 -1
  584. package/dist/services/workflow-manager.js +0 -616
  585. package/dist/services/workflow-manager.js.map +0 -1
  586. package/dist/services/workflow-orchestrator.d.ts +0 -148
  587. package/dist/services/workflow-orchestrator.d.ts.map +0 -1
  588. package/dist/services/workflow-orchestrator.js +0 -617
  589. package/dist/services/workflow-orchestrator.js.map +0 -1
  590. package/dist/services/worktree-manager.d.ts +0 -36
  591. package/dist/services/worktree-manager.d.ts.map +0 -1
  592. package/dist/services/worktree-manager.js +0 -185
  593. package/dist/services/worktree-manager.js.map +0 -1
  594. package/dist/templates/ascii-art.d.ts +0 -136
  595. package/dist/templates/ascii-art.d.ts.map +0 -1
  596. package/dist/templates/ascii-art.js +0 -286
  597. package/dist/templates/ascii-art.js.map +0 -1
  598. package/dist/templates/help.d.ts +0 -186
  599. package/dist/templates/help.d.ts.map +0 -1
  600. package/dist/templates/help.js +0 -588
  601. package/dist/templates/help.js.map +0 -1
  602. package/dist/templates/prompts/workflow-prompts.d.ts +0 -9
  603. package/dist/templates/prompts/workflow-prompts.d.ts.map +0 -1
  604. package/dist/templates/prompts/workflow-prompts.js +0 -9
  605. package/dist/templates/prompts/workflow-prompts.js.map +0 -1
  606. package/dist/tools/agent-tools.d.ts +0 -9
  607. package/dist/tools/agent-tools.d.ts.map +0 -1
  608. package/dist/tools/agent-tools.js +0 -349
  609. package/dist/tools/agent-tools.js.map +0 -1
  610. package/dist/tools/edit-replacers.d.ts +0 -90
  611. package/dist/tools/edit-replacers.d.ts.map +0 -1
  612. package/dist/tools/edit-replacers.js +0 -553
  613. package/dist/tools/edit-replacers.js.map +0 -1
  614. package/dist/tools/file-tools.d.ts +0 -13
  615. package/dist/tools/file-tools.d.ts.map +0 -1
  616. package/dist/tools/file-tools.js +0 -954
  617. package/dist/tools/file-tools.js.map +0 -1
  618. package/dist/tools/git-tools.d.ts +0 -9
  619. package/dist/tools/git-tools.d.ts.map +0 -1
  620. package/dist/tools/git-tools.js +0 -261
  621. package/dist/tools/git-tools.js.map +0 -1
  622. package/dist/tools/index.d.ts +0 -13
  623. package/dist/tools/index.d.ts.map +0 -1
  624. package/dist/tools/index.js +0 -70
  625. package/dist/tools/index.js.map +0 -1
  626. package/dist/tools/network-tools.d.ts +0 -8
  627. package/dist/tools/network-tools.d.ts.map +0 -1
  628. package/dist/tools/network-tools.js +0 -261
  629. package/dist/tools/network-tools.js.map +0 -1
  630. package/dist/tools/openai-tools.d.ts +0 -16
  631. package/dist/tools/openai-tools.d.ts.map +0 -1
  632. package/dist/tools/openai-tools.js +0 -385
  633. package/dist/tools/openai-tools.js.map +0 -1
  634. package/dist/tools/plan-tools.d.ts +0 -9
  635. package/dist/tools/plan-tools.d.ts.map +0 -1
  636. package/dist/tools/plan-tools.js +0 -223
  637. package/dist/tools/plan-tools.js.map +0 -1
  638. package/dist/tools/schedule-tools.d.ts +0 -9
  639. package/dist/tools/schedule-tools.d.ts.map +0 -1
  640. package/dist/tools/schedule-tools.js +0 -405
  641. package/dist/tools/schedule-tools.js.map +0 -1
  642. package/dist/tools/search-tools.d.ts +0 -8
  643. package/dist/tools/search-tools.d.ts.map +0 -1
  644. package/dist/tools/search-tools.js +0 -357
  645. package/dist/tools/search-tools.js.map +0 -1
  646. package/dist/tools/shared-utils.d.ts +0 -91
  647. package/dist/tools/shared-utils.d.ts.map +0 -1
  648. package/dist/tools/shared-utils.js +0 -385
  649. package/dist/tools/shared-utils.js.map +0 -1
  650. package/dist/tools/shell-tools.d.ts +0 -9
  651. package/dist/tools/shell-tools.d.ts.map +0 -1
  652. package/dist/tools/shell-tools.js +0 -409
  653. package/dist/tools/shell-tools.js.map +0 -1
  654. package/dist/tools/skill-tools.d.ts +0 -13
  655. package/dist/tools/skill-tools.d.ts.map +0 -1
  656. package/dist/tools/skill-tools.js +0 -244
  657. package/dist/tools/skill-tools.js.map +0 -1
  658. package/dist/tools/swarm-tools.d.ts +0 -9
  659. package/dist/tools/swarm-tools.d.ts.map +0 -1
  660. package/dist/tools/swarm-tools.js +0 -422
  661. package/dist/tools/swarm-tools.js.map +0 -1
  662. package/dist/tools/user-tools.d.ts +0 -13
  663. package/dist/tools/user-tools.d.ts.map +0 -1
  664. package/dist/tools/user-tools.js +0 -232
  665. package/dist/tools/user-tools.js.map +0 -1
  666. package/dist/types/agent-process.d.ts +0 -244
  667. package/dist/types/agent-process.d.ts.map +0 -1
  668. package/dist/types/agent-process.js +0 -93
  669. package/dist/types/agent-process.js.map +0 -1
  670. package/dist/types/agent.d.ts +0 -358
  671. package/dist/types/agent.d.ts.map +0 -1
  672. package/dist/types/agent.js +0 -171
  673. package/dist/types/agent.js.map +0 -1
  674. package/dist/types/anthropic.d.ts +0 -438
  675. package/dist/types/anthropic.d.ts.map +0 -1
  676. package/dist/types/anthropic.js +0 -9
  677. package/dist/types/anthropic.js.map +0 -1
  678. package/dist/types/approval.d.ts +0 -332
  679. package/dist/types/approval.d.ts.map +0 -1
  680. package/dist/types/approval.js +0 -44
  681. package/dist/types/approval.js.map +0 -1
  682. package/dist/types/autocomplete.d.ts +0 -57
  683. package/dist/types/autocomplete.d.ts.map +0 -1
  684. package/dist/types/autocomplete.js +0 -7
  685. package/dist/types/autocomplete.js.map +0 -1
  686. package/dist/types/chat-archive.d.ts +0 -161
  687. package/dist/types/chat-archive.d.ts.map +0 -1
  688. package/dist/types/chat-archive.js +0 -36
  689. package/dist/types/chat-archive.js.map +0 -1
  690. package/dist/types/config.d.ts +0 -268
  691. package/dist/types/config.d.ts.map +0 -1
  692. package/dist/types/config.js +0 -188
  693. package/dist/types/config.js.map +0 -1
  694. package/dist/types/consent.d.ts +0 -191
  695. package/dist/types/consent.d.ts.map +0 -1
  696. package/dist/types/consent.js +0 -119
  697. package/dist/types/consent.js.map +0 -1
  698. package/dist/types/custom-command.d.ts +0 -139
  699. package/dist/types/custom-command.d.ts.map +0 -1
  700. package/dist/types/custom-command.js +0 -7
  701. package/dist/types/custom-command.js.map +0 -1
  702. package/dist/types/git.d.ts +0 -20
  703. package/dist/types/git.d.ts.map +0 -1
  704. package/dist/types/git.js +0 -2
  705. package/dist/types/git.js.map +0 -1
  706. package/dist/types/hook.d.ts +0 -342
  707. package/dist/types/hook.d.ts.map +0 -1
  708. package/dist/types/hook.js +0 -84
  709. package/dist/types/hook.js.map +0 -1
  710. package/dist/types/index.d.ts +0 -86
  711. package/dist/types/index.d.ts.map +0 -1
  712. package/dist/types/index.js +0 -71
  713. package/dist/types/index.js.map +0 -1
  714. package/dist/types/mcp.d.ts +0 -456
  715. package/dist/types/mcp.d.ts.map +0 -1
  716. package/dist/types/mcp.js +0 -94
  717. package/dist/types/mcp.js.map +0 -1
  718. package/dist/types/rating.d.ts +0 -110
  719. package/dist/types/rating.d.ts.map +0 -1
  720. package/dist/types/rating.js +0 -53
  721. package/dist/types/rating.js.map +0 -1
  722. package/dist/types/schedule.d.ts +0 -91
  723. package/dist/types/schedule.d.ts.map +0 -1
  724. package/dist/types/schedule.js +0 -8
  725. package/dist/types/schedule.js.map +0 -1
  726. package/dist/types/session.d.ts +0 -361
  727. package/dist/types/session.d.ts.map +0 -1
  728. package/dist/types/session.js +0 -9
  729. package/dist/types/session.js.map +0 -1
  730. package/dist/types/skill.d.ts +0 -258
  731. package/dist/types/skill.d.ts.map +0 -1
  732. package/dist/types/skill.js +0 -79
  733. package/dist/types/skill.js.map +0 -1
  734. package/dist/types/statusline.d.ts +0 -212
  735. package/dist/types/statusline.d.ts.map +0 -1
  736. package/dist/types/statusline.js +0 -8
  737. package/dist/types/statusline.js.map +0 -1
  738. package/dist/types/stream.d.ts +0 -61
  739. package/dist/types/stream.d.ts.map +0 -1
  740. package/dist/types/stream.js +0 -17
  741. package/dist/types/stream.js.map +0 -1
  742. package/dist/types/swarm.d.ts +0 -132
  743. package/dist/types/swarm.d.ts.map +0 -1
  744. package/dist/types/swarm.js +0 -21
  745. package/dist/types/swarm.js.map +0 -1
  746. package/dist/types/token-limits.d.ts +0 -107
  747. package/dist/types/token-limits.d.ts.map +0 -1
  748. package/dist/types/token-limits.js +0 -57
  749. package/dist/types/token-limits.js.map +0 -1
  750. package/dist/types/token.d.ts +0 -329
  751. package/dist/types/token.d.ts.map +0 -1
  752. package/dist/types/token.js +0 -9
  753. package/dist/types/token.js.map +0 -1
  754. package/dist/types/update.d.ts +0 -189
  755. package/dist/types/update.d.ts.map +0 -1
  756. package/dist/types/update.js +0 -55
  757. package/dist/types/update.js.map +0 -1
  758. package/dist/types/workflow.d.ts +0 -396
  759. package/dist/types/workflow.d.ts.map +0 -1
  760. package/dist/types/workflow.js +0 -46
  761. package/dist/types/workflow.js.map +0 -1
  762. package/dist/ui/App.d.ts +0 -62
  763. package/dist/ui/App.d.ts.map +0 -1
  764. package/dist/ui/App.js +0 -511
  765. package/dist/ui/App.js.map +0 -1
  766. package/dist/ui/InteractiveSession.d.ts +0 -34
  767. package/dist/ui/InteractiveSession.d.ts.map +0 -1
  768. package/dist/ui/InteractiveSession.js +0 -3611
  769. package/dist/ui/InteractiveSession.js.map +0 -1
  770. package/dist/ui/MCPApprovalPrompt.d.ts +0 -27
  771. package/dist/ui/MCPApprovalPrompt.d.ts.map +0 -1
  772. package/dist/ui/MCPApprovalPrompt.js +0 -51
  773. package/dist/ui/MCPApprovalPrompt.js.map +0 -1
  774. package/dist/ui/SetupWizard.d.ts +0 -26
  775. package/dist/ui/SetupWizard.d.ts.map +0 -1
  776. package/dist/ui/SetupWizard.js +0 -396
  777. package/dist/ui/SetupWizard.js.map +0 -1
  778. package/dist/ui/components/AgentCreationWizard.d.ts +0 -36
  779. package/dist/ui/components/AgentCreationWizard.d.ts.map +0 -1
  780. package/dist/ui/components/AgentCreationWizard.js +0 -619
  781. package/dist/ui/components/AgentCreationWizard.js.map +0 -1
  782. package/dist/ui/components/AgentManager.d.ts +0 -41
  783. package/dist/ui/components/AgentManager.d.ts.map +0 -1
  784. package/dist/ui/components/AgentManager.js +0 -343
  785. package/dist/ui/components/AgentManager.js.map +0 -1
  786. package/dist/ui/components/ApprovalDialog.d.ts +0 -18
  787. package/dist/ui/components/ApprovalDialog.d.ts.map +0 -1
  788. package/dist/ui/components/ApprovalDialog.js +0 -439
  789. package/dist/ui/components/ApprovalDialog.js.map +0 -1
  790. package/dist/ui/components/AsciiArt.d.ts +0 -54
  791. package/dist/ui/components/AsciiArt.d.ts.map +0 -1
  792. package/dist/ui/components/AsciiArt.js +0 -89
  793. package/dist/ui/components/AsciiArt.js.map +0 -1
  794. package/dist/ui/components/ClarificationWizard.d.ts +0 -36
  795. package/dist/ui/components/ClarificationWizard.d.ts.map +0 -1
  796. package/dist/ui/components/ClarificationWizard.js +0 -407
  797. package/dist/ui/components/ClarificationWizard.js.map +0 -1
  798. package/dist/ui/components/CompassSpinner.d.ts +0 -15
  799. package/dist/ui/components/CompassSpinner.d.ts.map +0 -1
  800. package/dist/ui/components/CompassSpinner.js +0 -50
  801. package/dist/ui/components/CompassSpinner.js.map +0 -1
  802. package/dist/ui/components/ConfirmationSelector.d.ts +0 -45
  803. package/dist/ui/components/ConfirmationSelector.d.ts.map +0 -1
  804. package/dist/ui/components/ConfirmationSelector.js +0 -106
  805. package/dist/ui/components/ConfirmationSelector.js.map +0 -1
  806. package/dist/ui/components/ContextUsage.d.ts +0 -76
  807. package/dist/ui/components/ContextUsage.d.ts.map +0 -1
  808. package/dist/ui/components/ContextUsage.js +0 -188
  809. package/dist/ui/components/ContextUsage.js.map +0 -1
  810. package/dist/ui/components/DiffPreview.d.ts +0 -13
  811. package/dist/ui/components/DiffPreview.d.ts.map +0 -1
  812. package/dist/ui/components/DiffPreview.js +0 -30
  813. package/dist/ui/components/DiffPreview.js.map +0 -1
  814. package/dist/ui/components/ExecutionModeSelector.d.ts +0 -45
  815. package/dist/ui/components/ExecutionModeSelector.d.ts.map +0 -1
  816. package/dist/ui/components/ExecutionModeSelector.js +0 -120
  817. package/dist/ui/components/ExecutionModeSelector.js.map +0 -1
  818. package/dist/ui/components/FileTree.d.ts +0 -47
  819. package/dist/ui/components/FileTree.d.ts.map +0 -1
  820. package/dist/ui/components/FileTree.js +0 -258
  821. package/dist/ui/components/FileTree.js.map +0 -1
  822. package/dist/ui/components/HelpMenu.d.ts +0 -49
  823. package/dist/ui/components/HelpMenu.d.ts.map +0 -1
  824. package/dist/ui/components/HelpMenu.js +0 -91
  825. package/dist/ui/components/HelpMenu.js.map +0 -1
  826. package/dist/ui/components/InterleavedStream.d.ts +0 -42
  827. package/dist/ui/components/InterleavedStream.d.ts.map +0 -1
  828. package/dist/ui/components/InterleavedStream.js +0 -1500
  829. package/dist/ui/components/InterleavedStream.js.map +0 -1
  830. package/dist/ui/components/ModelSelector.d.ts +0 -81
  831. package/dist/ui/components/ModelSelector.d.ts.map +0 -1
  832. package/dist/ui/components/ModelSelector.js +0 -305
  833. package/dist/ui/components/ModelSelector.js.map +0 -1
  834. package/dist/ui/components/PlanApprovalDialog.d.ts +0 -21
  835. package/dist/ui/components/PlanApprovalDialog.d.ts.map +0 -1
  836. package/dist/ui/components/PlanApprovalDialog.js +0 -189
  837. package/dist/ui/components/PlanApprovalDialog.js.map +0 -1
  838. package/dist/ui/components/PlanExecutionTracker.d.ts +0 -53
  839. package/dist/ui/components/PlanExecutionTracker.d.ts.map +0 -1
  840. package/dist/ui/components/PlanExecutionTracker.js +0 -113
  841. package/dist/ui/components/PlanExecutionTracker.js.map +0 -1
  842. package/dist/ui/components/ProgressIndicator.d.ts +0 -151
  843. package/dist/ui/components/ProgressIndicator.d.ts.map +0 -1
  844. package/dist/ui/components/ProgressIndicator.js +0 -171
  845. package/dist/ui/components/ProgressIndicator.js.map +0 -1
  846. package/dist/ui/components/Prompt.d.ts +0 -47
  847. package/dist/ui/components/Prompt.d.ts.map +0 -1
  848. package/dist/ui/components/Prompt.js +0 -632
  849. package/dist/ui/components/Prompt.js.map +0 -1
  850. package/dist/ui/components/RatingPanel.d.ts +0 -45
  851. package/dist/ui/components/RatingPanel.d.ts.map +0 -1
  852. package/dist/ui/components/RatingPanel.js +0 -119
  853. package/dist/ui/components/RatingPanel.js.map +0 -1
  854. package/dist/ui/components/StatusLine.d.ts +0 -43
  855. package/dist/ui/components/StatusLine.d.ts.map +0 -1
  856. package/dist/ui/components/StatusLine.js +0 -44
  857. package/dist/ui/components/StatusLine.js.map +0 -1
  858. package/dist/ui/components/StreamingResponse.d.ts +0 -45
  859. package/dist/ui/components/StreamingResponse.d.ts.map +0 -1
  860. package/dist/ui/components/StreamingResponse.js +0 -56
  861. package/dist/ui/components/StreamingResponse.js.map +0 -1
  862. package/dist/ui/components/TokenUsage.d.ts +0 -89
  863. package/dist/ui/components/TokenUsage.d.ts.map +0 -1
  864. package/dist/ui/components/TokenUsage.js +0 -99
  865. package/dist/ui/components/TokenUsage.js.map +0 -1
  866. package/dist/ui/components/ToolSummary.d.ts +0 -77
  867. package/dist/ui/components/ToolSummary.d.ts.map +0 -1
  868. package/dist/ui/components/ToolSummary.js +0 -162
  869. package/dist/ui/components/ToolSummary.js.map +0 -1
  870. package/dist/ui/components/UpdateNotification.d.ts +0 -65
  871. package/dist/ui/components/UpdateNotification.d.ts.map +0 -1
  872. package/dist/ui/components/UpdateNotification.js +0 -166
  873. package/dist/ui/components/UpdateNotification.js.map +0 -1
  874. package/dist/ui/diff-renderer.d.ts +0 -18
  875. package/dist/ui/diff-renderer.d.ts.map +0 -1
  876. package/dist/ui/diff-renderer.js +0 -206
  877. package/dist/ui/diff-renderer.js.map +0 -1
  878. package/dist/ui/themes/markdown-theme.d.ts +0 -48
  879. package/dist/ui/themes/markdown-theme.d.ts.map +0 -1
  880. package/dist/ui/themes/markdown-theme.js +0 -79
  881. package/dist/ui/themes/markdown-theme.js.map +0 -1
  882. package/dist/ui/themes/ui-theme.d.ts +0 -301
  883. package/dist/ui/themes/ui-theme.d.ts.map +0 -1
  884. package/dist/ui/themes/ui-theme.js +0 -204
  885. package/dist/ui/themes/ui-theme.js.map +0 -1
  886. package/dist/utils/attachment-handler.d.ts +0 -129
  887. package/dist/utils/attachment-handler.d.ts.map +0 -1
  888. package/dist/utils/attachment-handler.js +0 -280
  889. package/dist/utils/attachment-handler.js.map +0 -1
  890. package/dist/utils/backup-cleanup.d.ts +0 -28
  891. package/dist/utils/backup-cleanup.d.ts.map +0 -1
  892. package/dist/utils/backup-cleanup.js +0 -99
  893. package/dist/utils/backup-cleanup.js.map +0 -1
  894. package/dist/utils/clipboard-handler.d.ts +0 -82
  895. package/dist/utils/clipboard-handler.d.ts.map +0 -1
  896. package/dist/utils/clipboard-handler.js +0 -311
  897. package/dist/utils/clipboard-handler.js.map +0 -1
  898. package/dist/utils/cloud-detection.d.ts +0 -14
  899. package/dist/utils/cloud-detection.d.ts.map +0 -1
  900. package/dist/utils/cloud-detection.js +0 -92
  901. package/dist/utils/cloud-detection.js.map +0 -1
  902. package/dist/utils/command-parser.d.ts +0 -56
  903. package/dist/utils/command-parser.d.ts.map +0 -1
  904. package/dist/utils/command-parser.js +0 -206
  905. package/dist/utils/command-parser.js.map +0 -1
  906. package/dist/utils/console-capture.d.ts +0 -30
  907. package/dist/utils/console-capture.d.ts.map +0 -1
  908. package/dist/utils/console-capture.js +0 -88
  909. package/dist/utils/console-capture.js.map +0 -1
  910. package/dist/utils/cron-parser.d.ts +0 -52
  911. package/dist/utils/cron-parser.d.ts.map +0 -1
  912. package/dist/utils/cron-parser.js +0 -455
  913. package/dist/utils/cron-parser.js.map +0 -1
  914. package/dist/utils/crypto.d.ts +0 -351
  915. package/dist/utils/crypto.d.ts.map +0 -1
  916. package/dist/utils/crypto.js +0 -615
  917. package/dist/utils/crypto.js.map +0 -1
  918. package/dist/utils/diff.d.ts +0 -311
  919. package/dist/utils/diff.d.ts.map +0 -1
  920. package/dist/utils/diff.js +0 -566
  921. package/dist/utils/diff.js.map +0 -1
  922. package/dist/utils/editor.d.ts +0 -12
  923. package/dist/utils/editor.d.ts.map +0 -1
  924. package/dist/utils/editor.js +0 -30
  925. package/dist/utils/editor.js.map +0 -1
  926. package/dist/utils/file-system.d.ts +0 -512
  927. package/dist/utils/file-system.d.ts.map +0 -1
  928. package/dist/utils/file-system.js +0 -798
  929. package/dist/utils/file-system.js.map +0 -1
  930. package/dist/utils/format.d.ts +0 -318
  931. package/dist/utils/format.d.ts.map +0 -1
  932. package/dist/utils/format.js +0 -587
  933. package/dist/utils/format.js.map +0 -1
  934. package/dist/utils/ignore-patterns.d.ts +0 -93
  935. package/dist/utils/ignore-patterns.d.ts.map +0 -1
  936. package/dist/utils/ignore-patterns.js +0 -710
  937. package/dist/utils/ignore-patterns.js.map +0 -1
  938. package/dist/utils/log-cleanup.d.ts +0 -16
  939. package/dist/utils/log-cleanup.d.ts.map +0 -1
  940. package/dist/utils/log-cleanup.js +0 -51
  941. package/dist/utils/log-cleanup.js.map +0 -1
  942. package/dist/utils/logger.d.ts +0 -305
  943. package/dist/utils/logger.d.ts.map +0 -1
  944. package/dist/utils/logger.js +0 -447
  945. package/dist/utils/logger.js.map +0 -1
  946. package/dist/utils/path.d.ts +0 -406
  947. package/dist/utils/path.d.ts.map +0 -1
  948. package/dist/utils/path.js +0 -549
  949. package/dist/utils/path.js.map +0 -1
  950. package/dist/utils/schedule-file.d.ts +0 -63
  951. package/dist/utils/schedule-file.d.ts.map +0 -1
  952. package/dist/utils/schedule-file.js +0 -244
  953. package/dist/utils/schedule-file.js.map +0 -1
  954. package/dist/utils/task-id.d.ts +0 -29
  955. package/dist/utils/task-id.d.ts.map +0 -1
  956. package/dist/utils/task-id.js +0 -53
  957. package/dist/utils/task-id.js.map +0 -1
  958. package/dist/utils/temp-cleanup.d.ts +0 -46
  959. package/dist/utils/temp-cleanup.d.ts.map +0 -1
  960. package/dist/utils/temp-cleanup.js +0 -95
  961. package/dist/utils/temp-cleanup.js.map +0 -1
  962. package/dist/utils/terminal-output.d.ts +0 -34
  963. package/dist/utils/terminal-output.d.ts.map +0 -1
  964. package/dist/utils/terminal-output.js +0 -40
  965. package/dist/utils/terminal-output.js.map +0 -1
  966. package/dist/utils/token-counter.d.ts +0 -224
  967. package/dist/utils/token-counter.d.ts.map +0 -1
  968. package/dist/utils/token-counter.js +0 -332
  969. package/dist/utils/token-counter.js.map +0 -1
  970. package/dist/utils/tool-mapper.d.ts +0 -70
  971. package/dist/utils/tool-mapper.d.ts.map +0 -1
  972. package/dist/utils/tool-mapper.js +0 -234
  973. package/dist/utils/tool-mapper.js.map +0 -1
@@ -1,876 +0,0 @@
1
- /**
2
- * File operations service for safe read/write with backup integration,
3
- * atomic multi-file operations, and rollback capability.
4
- *
5
- * This service provides a high-level interface for file operations that:
6
- * - Integrates with BackupManager for automatic backup creation
7
- * - Supports atomic multi-file transactions with rollback
8
- * - Integrates with ApprovalManager for user consent
9
- * - Emits events for UI updates
10
- * - Provides safe path handling to prevent directory traversal
11
- */
12
- import path from 'path';
13
- import { v4 as uuidv4 } from 'uuid';
14
- import { safeReadFile, safeWriteFile, safeReadJson, pathExists, ensureDir, remove, copy, stat, isDirectory, isFile, } from '../utils/file-system.js';
15
- import { sanitizePath, isPathWithin, getGlobalCompassDir, getProjectCompassDir } from '../utils/path.js';
16
- import { generateDiff } from '../utils/diff.js';
17
- import { formatTimestamp } from '../utils/format.js';
18
- import { logger } from '../utils/logger.js';
19
- import { getBackupManager } from './backup-manager.js';
20
- import { getApprovalManager } from './approval-manager.js';
21
- import { getEventEmitter } from '../core/event-emitter.js';
22
- import { getSystemEventLogger } from './system-event-logger.js';
23
- import { getTempFileService } from './temp-file-service.js';
24
- /**
25
- * FileService provides safe file operations with backup integration,
26
- * approval workflow, and transaction support for atomic multi-file operations.
27
- */
28
- class FileService {
29
- /** Project root directory for path validation */
30
- projectRoot = process.cwd();
31
- /** Currently active transaction */
32
- activeTransaction = null;
33
- /** Set of external file paths that have been approved for reading this session */
34
- approvedExternalPaths = new Set();
35
- /**
36
- * Sets the project root directory for path validation
37
- * @param projectRoot - The root directory of the project
38
- */
39
- setProjectRoot(projectRoot) {
40
- this.projectRoot = projectRoot;
41
- }
42
- /**
43
- * Gets the current project root
44
- * @returns The project root directory
45
- */
46
- getProjectRoot() {
47
- return this.projectRoot;
48
- }
49
- /**
50
- * Reads a file safely with path validation
51
- * @param filePath - Path to the file (relative or absolute)
52
- * @param options - Read options
53
- * @returns File content or null if not found
54
- */
55
- async readFile(filePath, options = {}) {
56
- const { requireApprovalForExternal = true } = options;
57
- // Allow external paths for reads since we have approval flow for external files
58
- const safePath = this.validatePath(filePath, true);
59
- if (!safePath) {
60
- logger.warn(`Path validation failed for: ${filePath}`);
61
- return options.fallback ?? null;
62
- }
63
- // Check if this is an external file (outside project root)
64
- const isExternal = this.isExternalPath(safePath);
65
- // Request approval for external files if required and not already approved
66
- if (isExternal && requireApprovalForExternal && !this.approvedExternalPaths.has(safePath)) {
67
- const approvalManager = getApprovalManager();
68
- const approvalResponse = await approvalManager.requestApproval('file_read_external', `Read external file: ${filePath}`, {
69
- filePaths: [filePath],
70
- affectedFiles: 1,
71
- });
72
- if (!approvalResponse.approved) {
73
- logger.info(`External file read rejected by user: ${filePath}`);
74
- return options.fallback ?? null;
75
- }
76
- // Remember this path as approved for the session
77
- this.approvedExternalPaths.add(safePath);
78
- }
79
- const content = await safeReadFile(safePath, {
80
- encoding: options.encoding,
81
- fallback: options.fallback,
82
- });
83
- // Log file read event
84
- if (content !== null) {
85
- getSystemEventLogger().logFileRead(filePath, content.length, true);
86
- }
87
- return content;
88
- }
89
- /**
90
- * Checks if a path is external (outside the project root)
91
- * @param filePath - Absolute path to check
92
- * @returns True if the path is outside the project root
93
- */
94
- isExternalPath(filePath) {
95
- if (!isPathWithin(filePath, this.projectRoot)) {
96
- // Compass-managed directories are internal safe paths, not external
97
- const globalCompass = getGlobalCompassDir();
98
- const projectCompass = getProjectCompassDir(this.projectRoot);
99
- if (filePath.startsWith(globalCompass) || filePath.startsWith(projectCompass)) {
100
- return false;
101
- }
102
- return true;
103
- }
104
- return false;
105
- }
106
- /**
107
- * Reads and parses a JSON file
108
- * @param filePath - Path to the JSON file
109
- * @param fallback - Fallback value if file doesn't exist or is invalid
110
- * @returns Parsed JSON or fallback value
111
- */
112
- async readJsonFile(filePath, fallback) {
113
- const safePath = this.validatePath(filePath);
114
- if (!safePath) {
115
- logger.warn(`Path validation failed for: ${filePath}`);
116
- return fallback ?? null;
117
- }
118
- return safeReadJson(safePath, fallback);
119
- }
120
- /**
121
- * Writes content to a file with backup and approval integration
122
- * @param filePath - Path to the file (relative or absolute)
123
- * @param content - Content to write
124
- * @param options - Write options
125
- * @returns Operation result
126
- */
127
- async writeFile(filePath, content, options = {}) {
128
- const { createBackup = true, requireApproval = true, description, atomic = true, complexityContext, } = options;
129
- const safePath = this.validatePath(filePath);
130
- if (!safePath) {
131
- return {
132
- success: false,
133
- filePath,
134
- operation: 'modify',
135
- error: 'Path validation failed - potential directory traversal detected',
136
- };
137
- }
138
- const fileExists = await pathExists(safePath);
139
- const operation = fileExists ? 'modify' : 'create';
140
- // Get original content for diff
141
- let originalContent = null;
142
- let diff;
143
- if (fileExists) {
144
- originalContent = await safeReadFile(safePath);
145
- if (originalContent !== null) {
146
- diff = generateDiff(originalContent, content, {
147
- fileName: path.basename(filePath),
148
- });
149
- }
150
- }
151
- else {
152
- // For new files, generate diff showing all content as additions
153
- diff = generateDiff('', content, {
154
- fileName: path.basename(filePath),
155
- });
156
- }
157
- // Request approval if required
158
- if (requireApproval) {
159
- const approvalManager = getApprovalManager();
160
- const approvalType = operation === 'create' ? 'file_create' : 'file_modify';
161
- // Create temp preview file for VS Code integration
162
- let previewTempRecord;
163
- try {
164
- const tempFileService = getTempFileService();
165
- previewTempRecord = await tempFileService.createTempFile({
166
- prefix: '[Nova]-preview',
167
- extension: path.extname(filePath),
168
- content: content, // Write the full new content for preview
169
- metadata: { originalPath: filePath },
170
- });
171
- }
172
- catch {
173
- // Non-critical - proceed without preview if temp file creation fails
174
- logger.debug('Failed to create preview temp file, proceeding without preview');
175
- }
176
- const approvalResponse = await approvalManager.requestApproval(approvalType, description || `${operation === 'create' ? 'Create' : 'Modify'} file: ${filePath}`, {
177
- filePaths: [filePath],
178
- affectedFiles: 1,
179
- linesAdded: diff?.additions,
180
- linesRemoved: diff?.deletions,
181
- diff: diff?.unified,
182
- // Include complexity context for SMART mode decisions
183
- complexityMode: complexityContext?.mode,
184
- complexityConfidence: complexityContext?.confidence,
185
- // Include preview file path for VS Code integration
186
- previewFilePath: previewTempRecord?.tempPath,
187
- });
188
- // Clean up temp preview file after approval (whether approved or rejected)
189
- if (previewTempRecord) {
190
- try {
191
- const tempFileService = getTempFileService();
192
- await tempFileService.deleteTempFile(previewTempRecord.id);
193
- }
194
- catch {
195
- // Non-critical - temp file will be cleaned up by periodic cleanup
196
- logger.debug('Failed to delete preview temp file, will be cleaned up later');
197
- }
198
- }
199
- if (!approvalResponse.approved) {
200
- // Include user feedback in the error message if provided
201
- const errorMessage = approvalResponse.reason
202
- ? approvalResponse.reason
203
- : 'Operation rejected by user';
204
- return {
205
- success: false,
206
- filePath,
207
- operation,
208
- error: errorMessage,
209
- };
210
- }
211
- }
212
- // Create backup if file exists and backup is requested
213
- let backup;
214
- if (createBackup && fileExists) {
215
- const backupManager = await getBackupManager();
216
- const backupRecord = await backupManager.createBackup(safePath);
217
- if (backupRecord) {
218
- backup = backupRecord;
219
- }
220
- }
221
- // Write the file
222
- try {
223
- await safeWriteFile(safePath, content, {
224
- atomic,
225
- createDir: true,
226
- });
227
- // Emit file-modified event
228
- const eventEmitter = getEventEmitter();
229
- eventEmitter.emit('file-modified', { path: filePath, operation });
230
- logger.info(`File ${operation}d: ${filePath}`);
231
- // Log file write event
232
- getSystemEventLogger().logFileWrite(filePath, content.length, true);
233
- return {
234
- success: true,
235
- filePath,
236
- operation,
237
- backup,
238
- diff,
239
- };
240
- }
241
- catch (error) {
242
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
243
- logger.error(`Failed to ${operation} file: ${filePath}`, error);
244
- // Log file write failure
245
- getSystemEventLogger().logFileWrite(filePath, content.length, false, errorMessage);
246
- return {
247
- success: false,
248
- filePath,
249
- operation,
250
- backup,
251
- error: errorMessage,
252
- };
253
- }
254
- }
255
- /**
256
- * Writes JSON content to a file
257
- * @param filePath - Path to the file
258
- * @param data - Data to serialize and write
259
- * @param options - Write options
260
- * @returns Operation result
261
- */
262
- async writeJsonFile(filePath, data, options = {}) {
263
- const content = JSON.stringify(data, null, 2);
264
- return this.writeFile(filePath, content, options);
265
- }
266
- /**
267
- * Deletes a file with backup and approval integration
268
- * @param filePath - Path to the file to delete
269
- * @param options - Operation options
270
- * @returns Operation result
271
- */
272
- async deleteFile(filePath, options = {}) {
273
- const { createBackup = true, requireApproval = true, description, complexityContext } = options;
274
- const safePath = this.validatePath(filePath);
275
- if (!safePath) {
276
- return {
277
- success: false,
278
- filePath,
279
- operation: 'delete',
280
- error: 'Path validation failed - potential directory traversal detected',
281
- };
282
- }
283
- if (!(await pathExists(safePath))) {
284
- return {
285
- success: false,
286
- filePath,
287
- operation: 'delete',
288
- error: 'File does not exist',
289
- };
290
- }
291
- // Request approval if required
292
- if (requireApproval) {
293
- const approvalManager = getApprovalManager();
294
- const approvalResponse = await approvalManager.requestApproval('file_delete', description || `Delete file: ${filePath}`, {
295
- filePaths: [filePath],
296
- affectedFiles: 1,
297
- // Include complexity context for SMART mode decisions
298
- complexityMode: complexityContext?.mode,
299
- complexityConfidence: complexityContext?.confidence,
300
- });
301
- if (!approvalResponse.approved) {
302
- // Include user feedback in the error message if provided
303
- const errorMessage = approvalResponse.reason
304
- ? approvalResponse.reason
305
- : 'Operation rejected by user';
306
- return {
307
- success: false,
308
- filePath,
309
- operation: 'delete',
310
- error: errorMessage,
311
- };
312
- }
313
- }
314
- // Create backup before deletion
315
- let backup;
316
- if (createBackup) {
317
- const backupManager = await getBackupManager();
318
- const backupRecord = await backupManager.createBackup(safePath);
319
- if (backupRecord) {
320
- backup = backupRecord;
321
- }
322
- }
323
- // Delete the file
324
- try {
325
- await remove(safePath);
326
- // Emit file-modified event
327
- const eventEmitter = getEventEmitter();
328
- eventEmitter.emit('file-modified', { path: filePath, operation: 'delete' });
329
- logger.info(`File deleted: ${filePath}`);
330
- // Log file delete event
331
- getSystemEventLogger().logFileDelete(filePath, true);
332
- return {
333
- success: true,
334
- filePath,
335
- operation: 'delete',
336
- backup,
337
- };
338
- }
339
- catch (error) {
340
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
341
- logger.error(`Failed to delete file: ${filePath}`, error);
342
- // Log file delete failure
343
- getSystemEventLogger().logFileDelete(filePath, false, errorMessage);
344
- return {
345
- success: false,
346
- filePath,
347
- operation: 'delete',
348
- backup,
349
- error: errorMessage,
350
- };
351
- }
352
- }
353
- /**
354
- * Renames or moves a file with backup and approval integration
355
- * @param oldPath - Current path of the file
356
- * @param newPath - New path for the file
357
- * @param options - Operation options
358
- * @returns Operation result
359
- */
360
- async renameFile(oldPath, newPath, options = {}) {
361
- const { createBackup = true, requireApproval = true, description, complexityContext } = options;
362
- const safeOldPath = this.validatePath(oldPath);
363
- const safeNewPath = this.validatePath(newPath);
364
- if (!safeOldPath || !safeNewPath) {
365
- return {
366
- success: false,
367
- filePath: oldPath,
368
- operation: 'rename',
369
- error: 'Path validation failed - potential directory traversal detected',
370
- };
371
- }
372
- if (!(await pathExists(safeOldPath))) {
373
- return {
374
- success: false,
375
- filePath: oldPath,
376
- operation: 'rename',
377
- error: 'Source file does not exist',
378
- };
379
- }
380
- if (await pathExists(safeNewPath)) {
381
- return {
382
- success: false,
383
- filePath: oldPath,
384
- operation: 'rename',
385
- error: 'Destination file already exists',
386
- };
387
- }
388
- // Request approval if required
389
- if (requireApproval) {
390
- const approvalManager = getApprovalManager();
391
- const approvalResponse = await approvalManager.requestApproval('file_rename', description || `Rename file: ${oldPath} → ${newPath}`, {
392
- filePaths: [oldPath, newPath],
393
- affectedFiles: 1,
394
- // Include complexity context for SMART mode decisions
395
- complexityMode: complexityContext?.mode,
396
- complexityConfidence: complexityContext?.confidence,
397
- });
398
- if (!approvalResponse.approved) {
399
- // Include user feedback in the error message if provided
400
- const errorMessage = approvalResponse.reason
401
- ? approvalResponse.reason
402
- : 'Operation rejected by user';
403
- return {
404
- success: false,
405
- filePath: oldPath,
406
- operation: 'rename',
407
- error: errorMessage,
408
- };
409
- }
410
- }
411
- // Create backup before rename
412
- let backup;
413
- if (createBackup) {
414
- const backupManager = await getBackupManager();
415
- const backupRecord = await backupManager.createBackup(safeOldPath);
416
- if (backupRecord) {
417
- backup = backupRecord;
418
- }
419
- }
420
- // Perform the rename
421
- try {
422
- // Ensure destination directory exists
423
- await ensureDir(path.dirname(safeNewPath));
424
- // Copy to new location then remove old
425
- await copy(safeOldPath, safeNewPath);
426
- await remove(safeOldPath);
427
- // Emit file-modified event
428
- const eventEmitter = getEventEmitter();
429
- eventEmitter.emit('file-modified', { path: newPath, operation: 'create' });
430
- logger.info(`File renamed: ${oldPath} → ${newPath}`);
431
- // Log file rename event
432
- getSystemEventLogger().logFileRename(oldPath, newPath, true);
433
- return {
434
- success: true,
435
- filePath: newPath,
436
- operation: 'rename',
437
- backup,
438
- };
439
- }
440
- catch (error) {
441
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
442
- logger.error(`Failed to rename file: ${oldPath}`, error);
443
- // Log file rename failure
444
- getSystemEventLogger().logFileRename(oldPath, newPath, false, errorMessage);
445
- return {
446
- success: false,
447
- filePath: oldPath,
448
- operation: 'rename',
449
- backup,
450
- error: errorMessage,
451
- };
452
- }
453
- }
454
- /**
455
- * Checks if a file exists
456
- * @param filePath - Path to check
457
- * @returns True if file exists
458
- */
459
- async exists(filePath) {
460
- const safePath = this.validatePath(filePath);
461
- if (!safePath) {
462
- return false;
463
- }
464
- return pathExists(safePath);
465
- }
466
- /**
467
- * Checks if a path is a file
468
- * @param filePath - Path to check
469
- * @returns True if path is a file
470
- */
471
- async isFile(filePath) {
472
- const safePath = this.validatePath(filePath);
473
- if (!safePath) {
474
- return false;
475
- }
476
- return isFile(safePath);
477
- }
478
- /**
479
- * Checks if a path is a directory
480
- * @param filePath - Path to check
481
- * @returns True if path is a directory
482
- */
483
- async isDirectory(filePath) {
484
- const safePath = this.validatePath(filePath);
485
- if (!safePath) {
486
- return false;
487
- }
488
- return isDirectory(safePath);
489
- }
490
- /**
491
- * Gets file statistics
492
- * @param filePath - Path to the file
493
- * @returns File stats or null if not found
494
- */
495
- async getStats(filePath) {
496
- const safePath = this.validatePath(filePath);
497
- if (!safePath) {
498
- return null;
499
- }
500
- const stats = await stat(safePath);
501
- if (!stats) {
502
- return null;
503
- }
504
- return {
505
- size: stats.size,
506
- modified: stats.mtime,
507
- created: stats.birthtime,
508
- isFile: stats.isFile(),
509
- isDirectory: stats.isDirectory(),
510
- };
511
- }
512
- // ============================================
513
- // Transaction Support for Atomic Multi-File Operations
514
- // ============================================
515
- /**
516
- * Begins a new transaction for atomic multi-file operations
517
- * @returns The transaction ID
518
- */
519
- beginTransaction() {
520
- if (this.activeTransaction) {
521
- throw new Error('A transaction is already in progress. Commit or rollback first.');
522
- }
523
- this.activeTransaction = {
524
- id: uuidv4(),
525
- createdAt: formatTimestamp(),
526
- operations: [],
527
- status: 'pending',
528
- };
529
- logger.debug(`Transaction started: ${this.activeTransaction.id}`);
530
- return this.activeTransaction.id;
531
- }
532
- /**
533
- * Adds a file write operation to the current transaction
534
- * @param filePath - Path to the file
535
- * @param content - Content to write
536
- */
537
- addWriteOperation(filePath, content) {
538
- if (!this.activeTransaction) {
539
- throw new Error('No active transaction. Call beginTransaction() first.');
540
- }
541
- const safePath = this.validatePath(filePath);
542
- if (!safePath) {
543
- throw new Error(`Invalid path: ${filePath}`);
544
- }
545
- this.activeTransaction.operations.push({
546
- id: uuidv4(),
547
- type: 'modify',
548
- filePath: safePath,
549
- content,
550
- executed: false,
551
- });
552
- logger.debug(`Added write operation to transaction: ${filePath}`);
553
- }
554
- /**
555
- * Adds a file delete operation to the current transaction
556
- * @param filePath - Path to the file to delete
557
- */
558
- addDeleteOperation(filePath) {
559
- if (!this.activeTransaction) {
560
- throw new Error('No active transaction. Call beginTransaction() first.');
561
- }
562
- const safePath = this.validatePath(filePath);
563
- if (!safePath) {
564
- throw new Error(`Invalid path: ${filePath}`);
565
- }
566
- this.activeTransaction.operations.push({
567
- id: uuidv4(),
568
- type: 'delete',
569
- filePath: safePath,
570
- executed: false,
571
- });
572
- logger.debug(`Added delete operation to transaction: ${filePath}`);
573
- }
574
- /**
575
- * Adds a file rename operation to the current transaction
576
- * @param oldPath - Current path of the file
577
- * @param newPath - New path for the file
578
- */
579
- addRenameOperation(oldPath, newPath) {
580
- if (!this.activeTransaction) {
581
- throw new Error('No active transaction. Call beginTransaction() first.');
582
- }
583
- const safeOldPath = this.validatePath(oldPath);
584
- const safeNewPath = this.validatePath(newPath);
585
- if (!safeOldPath || !safeNewPath) {
586
- throw new Error(`Invalid path: ${oldPath} or ${newPath}`);
587
- }
588
- this.activeTransaction.operations.push({
589
- id: uuidv4(),
590
- type: 'rename',
591
- filePath: safeOldPath,
592
- newPath: safeNewPath,
593
- executed: false,
594
- });
595
- logger.debug(`Added rename operation to transaction: ${oldPath} → ${newPath}`);
596
- }
597
- /**
598
- * Commits the current transaction, executing all operations atomically
599
- * @param options - Options for the commit
600
- * @returns Array of operation results
601
- */
602
- async commitTransaction(options = {}) {
603
- if (!this.activeTransaction) {
604
- throw new Error('No active transaction to commit.');
605
- }
606
- const { requireApproval = true, description } = options;
607
- const transaction = this.activeTransaction;
608
- const results = [];
609
- // Request approval for the entire transaction
610
- if (requireApproval && transaction.operations.length > 0) {
611
- const approvalManager = getApprovalManager();
612
- const filePaths = transaction.operations.map((op) => op.filePath);
613
- const approvalResponse = await approvalManager.requestApproval('multi_file_operation', description || `Multi-file operation: ${transaction.operations.length} files`, {
614
- filePaths,
615
- affectedFiles: transaction.operations.length,
616
- });
617
- if (!approvalResponse.approved) {
618
- transaction.status = 'failed';
619
- this.activeTransaction = null;
620
- // Include user feedback in the error message if provided
621
- const errorMessage = approvalResponse.reason
622
- ? `Transaction rejected: ${approvalResponse.reason}`
623
- : 'Transaction rejected by user';
624
- return transaction.operations.map((op) => ({
625
- success: false,
626
- filePath: op.filePath,
627
- operation: op.type === 'rename' ? 'rename' : op.type,
628
- error: errorMessage,
629
- }));
630
- }
631
- }
632
- const backupManager = await getBackupManager();
633
- // Execute all operations
634
- try {
635
- for (const operation of transaction.operations) {
636
- // Create backup for existing files
637
- if (operation.type !== 'create' && (await pathExists(operation.filePath))) {
638
- const backup = await backupManager.createBackup(operation.filePath);
639
- if (backup) {
640
- operation.backup = backup;
641
- }
642
- operation.originalContent = await safeReadFile(operation.filePath) || undefined;
643
- }
644
- // Execute the operation
645
- let result;
646
- switch (operation.type) {
647
- case 'create':
648
- case 'modify':
649
- await safeWriteFile(operation.filePath, operation.content || '', {
650
- atomic: true,
651
- createDir: true,
652
- });
653
- result = {
654
- success: true,
655
- filePath: operation.filePath,
656
- operation: operation.type,
657
- backup: operation.backup,
658
- };
659
- break;
660
- case 'delete':
661
- await remove(operation.filePath);
662
- result = {
663
- success: true,
664
- filePath: operation.filePath,
665
- operation: 'delete',
666
- backup: operation.backup,
667
- };
668
- break;
669
- case 'rename':
670
- await ensureDir(path.dirname(operation.newPath));
671
- await copy(operation.filePath, operation.newPath);
672
- await remove(operation.filePath);
673
- result = {
674
- success: true,
675
- filePath: operation.newPath,
676
- operation: 'rename',
677
- backup: operation.backup,
678
- };
679
- break;
680
- default:
681
- result = {
682
- success: false,
683
- filePath: operation.filePath,
684
- operation: 'modify',
685
- error: `Unknown operation type: ${operation.type}`,
686
- };
687
- }
688
- operation.executed = true;
689
- results.push(result);
690
- // Emit event for each successful operation
691
- if (result.success) {
692
- const eventEmitter = getEventEmitter();
693
- // Map rename to create for event emission (file is created at new location)
694
- const eventOperation = result.operation === 'rename' ? 'create' : result.operation;
695
- eventEmitter.emit('file-modified', {
696
- path: result.filePath,
697
- operation: eventOperation,
698
- });
699
- }
700
- }
701
- transaction.status = 'committed';
702
- logger.info(`Transaction committed: ${transaction.id} (${results.length} operations)`);
703
- }
704
- catch (error) {
705
- // Rollback on failure
706
- logger.error(`Transaction failed, rolling back: ${transaction.id}`, error);
707
- await this.rollbackTransaction();
708
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
709
- // Mark remaining operations as failed
710
- for (const operation of transaction.operations) {
711
- if (!operation.executed) {
712
- results.push({
713
- success: false,
714
- filePath: operation.filePath,
715
- operation: operation.type === 'rename' ? 'rename' : operation.type,
716
- error: `Transaction rolled back: ${errorMessage}`,
717
- });
718
- }
719
- }
720
- }
721
- this.activeTransaction = null;
722
- return results;
723
- }
724
- /**
725
- * Rolls back the current transaction, restoring all modified files
726
- */
727
- async rollbackTransaction() {
728
- if (!this.activeTransaction) {
729
- logger.warn('No active transaction to rollback');
730
- return;
731
- }
732
- const transaction = this.activeTransaction;
733
- const backupManager = await getBackupManager();
734
- // Rollback executed operations in reverse order
735
- const executedOps = transaction.operations.filter((op) => op.executed).reverse();
736
- for (const operation of executedOps) {
737
- try {
738
- if (operation.backup) {
739
- // Restore from backup
740
- await backupManager.restore(operation.backup.id);
741
- logger.debug(`Rolled back: ${operation.filePath}`);
742
- }
743
- else if (operation.type === 'create') {
744
- // Remove created file
745
- if (await pathExists(operation.filePath)) {
746
- await remove(operation.filePath);
747
- logger.debug(`Removed created file: ${operation.filePath}`);
748
- }
749
- }
750
- else if (operation.type === 'rename' && operation.newPath) {
751
- // Reverse the rename
752
- if (await pathExists(operation.newPath)) {
753
- await copy(operation.newPath, operation.filePath);
754
- await remove(operation.newPath);
755
- logger.debug(`Reversed rename: ${operation.newPath} → ${operation.filePath}`);
756
- }
757
- }
758
- }
759
- catch (error) {
760
- logger.error(`Failed to rollback operation: ${operation.filePath}`, error);
761
- }
762
- }
763
- transaction.status = 'rolled_back';
764
- this.activeTransaction = null;
765
- logger.info(`Transaction rolled back: ${transaction.id}`);
766
- }
767
- /**
768
- * Gets the current active transaction
769
- * @returns The active transaction or null
770
- */
771
- getActiveTransaction() {
772
- return this.activeTransaction;
773
- }
774
- /**
775
- * Checks if there is an active transaction
776
- * @returns True if a transaction is in progress
777
- */
778
- hasActiveTransaction() {
779
- return this.activeTransaction !== null;
780
- }
781
- // ============================================
782
- // Utility Methods
783
- // ============================================
784
- /**
785
- * Restores a file from its most recent backup
786
- * @param filePath - Path to the file to restore
787
- * @returns True if restoration was successful
788
- */
789
- async restoreFromBackup(filePath) {
790
- const safePath = this.validatePath(filePath);
791
- if (!safePath) {
792
- logger.warn(`Path validation failed for restore: ${filePath}`);
793
- return false;
794
- }
795
- const backupManager = await getBackupManager();
796
- return backupManager.restoreLatest(safePath);
797
- }
798
- /**
799
- * Gets the diff between current file content and proposed new content
800
- * @param filePath - Path to the file
801
- * @param newContent - Proposed new content
802
- * @returns Diff result or null if file doesn't exist
803
- */
804
- async getDiff(filePath, newContent) {
805
- const safePath = this.validatePath(filePath);
806
- if (!safePath) {
807
- return null;
808
- }
809
- const currentContent = await safeReadFile(safePath);
810
- if (currentContent === null) {
811
- return null;
812
- }
813
- return generateDiff(currentContent, newContent, {
814
- fileName: path.basename(filePath),
815
- });
816
- }
817
- /**
818
- * Validates and sanitizes a file path
819
- * @param filePath - Path to validate
820
- * @param allowExternal - Whether to allow paths outside project root (default: false)
821
- * @returns Sanitized absolute path or null if invalid
822
- */
823
- validatePath(filePath, allowExternal = false) {
824
- // Resolve the path to absolute form
825
- const resolvedPath = path.isAbsolute(filePath)
826
- ? path.normalize(filePath)
827
- : path.resolve(this.projectRoot, filePath);
828
- // Check for directory traversal patterns even in absolute paths
829
- // This catches attempts like /project/../../../etc/passwd
830
- const normalizedPath = path.normalize(resolvedPath);
831
- // For relative paths, use sanitizePath to prevent directory traversal
832
- if (!path.isAbsolute(filePath)) {
833
- const sanitized = sanitizePath(filePath, this.projectRoot);
834
- if (!sanitized) {
835
- logger.warn(`Path validation failed (directory traversal attempt): ${filePath}`);
836
- return null;
837
- }
838
- }
839
- // Check if path is within project root
840
- const isWithinProject = isPathWithin(normalizedPath, this.projectRoot);
841
- // If path is outside project root
842
- if (!isWithinProject) {
843
- // Always allow access to the global compass directory (~/.compass/)
844
- const globalDir = getGlobalCompassDir();
845
- if (isPathWithin(normalizedPath, globalDir)) {
846
- logger.debug(`Allowing global compass directory access: ${filePath}`);
847
- return normalizedPath;
848
- }
849
- if (allowExternal) {
850
- // External paths are allowed for this operation (e.g., read with approval)
851
- logger.debug(`Allowing external path access: ${filePath}`);
852
- return normalizedPath;
853
- }
854
- else {
855
- // Block access to paths outside project root
856
- logger.warn(`Path is outside project root and external access not allowed: ${filePath}`);
857
- return null;
858
- }
859
- }
860
- return normalizedPath;
861
- }
862
- }
863
- // Singleton instance
864
- let fileServiceInstance = null;
865
- /**
866
- * Gets the singleton FileService instance
867
- * @returns The FileService instance
868
- */
869
- export function getFileService() {
870
- if (!fileServiceInstance) {
871
- fileServiceInstance = new FileService();
872
- }
873
- return fileServiceInstance;
874
- }
875
- export { FileService };
876
- //# sourceMappingURL=file-service.js.map