@compass-ai/nova 1.0.74 → 1.0.75

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 +540 -538
  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,877 +0,0 @@
1
- /**
2
- * Credential storage service using keytar for system keychain integration
3
- * with AES-256 encrypted file fallback for API keys.
4
- *
5
- * This module provides secure storage for sensitive credentials like API keys,
6
- * using the system keychain when available (via keytar) and falling back to
7
- * AES-256 encrypted file storage when the keychain is unavailable.
8
- *
9
- * Security features:
10
- * - System keychain integration via keytar (macOS Keychain, Windows Credential Vault, Linux Secret Service)
11
- * - AES-256-GCM encryption for file-based fallback
12
- * - Machine-specific encryption key derivation
13
- * - Environment variable support for CI/CD environments
14
- */
15
- import path from 'path';
16
- import os from 'os';
17
- import crypto from 'crypto';
18
- import { encrypt, decrypt } from '../utils/crypto.js';
19
- import { safeReadFile, safeWriteFile, pathExists, remove, ensureDir, } from '../utils/file-system.js';
20
- import { getGlobalCompassDir } from '../utils/path.js';
21
- import { logger } from '../utils/logger.js';
22
- import { CREDENTIALS_FILE_NAME, ENV_VARS, PROVIDER_ENV_VARS, PROVIDERS } from '../constants/defaults.js';
23
- /**
24
- * Cached keytar module instance (loaded dynamically to handle missing native deps)
25
- */
26
- let keytarModule = null;
27
- let keytarLoadAttempted = false;
28
- /**
29
- * File name for caching keytar availability probe result.
30
- * Avoids a write+delete to the system keychain on every startup.
31
- */
32
- const KEYTAR_CACHE_FILE = 'keytar-available.json';
33
- /**
34
- * Attempts to load keytar dynamically.
35
- * Returns null if keytar cannot be loaded (missing native dependencies).
36
- */
37
- async function loadKeytar() {
38
- if (keytarLoadAttempted) {
39
- return keytarModule;
40
- }
41
- keytarLoadAttempted = true;
42
- try {
43
- const keytar = await import('keytar');
44
- keytarModule = keytar.default || keytar;
45
- return keytarModule;
46
- }
47
- catch (error) {
48
- logger.debug('Failed to load keytar native module:', error);
49
- return null;
50
- }
51
- }
52
- /**
53
- * Service name used for keytar keychain storage
54
- */
55
- const SERVICE_NAME = 'compass-cli';
56
- /**
57
- * Account name for the Anthropic API key in keychain
58
- */
59
- const ANTHROPIC_API_KEY_ACCOUNT = 'anthropic-api-key';
60
- /**
61
- * Account name for the Compass API key in keychain
62
- */
63
- const COMPASS_API_KEY_ACCOUNT = 'compass-api-key';
64
- /**
65
- * Mapping of provider names to keychain account names
66
- */
67
- const PROVIDER_KEYCHAIN_ACCOUNTS = {
68
- anthropic: 'anthropic-api-key',
69
- ollama: 'ollama-api-key',
70
- zai: 'zai-api-key',
71
- minimax: 'minimax-api-key',
72
- };
73
- /**
74
- * Version identifier for encrypted credentials file format
75
- */
76
- const CREDENTIALS_VERSION = '1.0';
77
- /**
78
- * Mapping of provider names to credentials data keys
79
- */
80
- const PROVIDER_CREDENTIALS_KEYS = {
81
- anthropic: 'anthropicApiKey',
82
- ollama: 'ollamaApiKey',
83
- zai: 'zaiApiKey',
84
- minimax: 'minimaxApiKey',
85
- };
86
- /**
87
- * CredentialStore class provides secure storage for sensitive credentials.
88
- *
89
- * It attempts to use the system keychain via keytar for maximum security,
90
- * and falls back to AES-256 encrypted file storage when the keychain is
91
- * unavailable (e.g., in headless environments or when keytar fails).
92
- *
93
- * Features:
94
- * - Automatic detection of keychain availability
95
- * - Transparent fallback to encrypted file storage
96
- * - Machine-specific encryption key derivation
97
- * - Environment variable support for CI/CD
98
- * - API key format validation
99
- */
100
- class CredentialStore {
101
- useKeytar = true;
102
- machineKey = null;
103
- initialized = false;
104
- /**
105
- * Initializes the credential store by testing keytar availability.
106
- * Uses a cached probe result to avoid keychain write+delete on every startup.
107
- * This should be called before any other operations.
108
- */
109
- async initialize() {
110
- if (this.initialized) {
111
- return;
112
- }
113
- const platformStamp = `${os.platform()}-${os.arch()}`;
114
- // Try to read cached probe result first
115
- try {
116
- const cachePath = path.join(getGlobalCompassDir(), KEYTAR_CACHE_FILE);
117
- if (await pathExists(cachePath)) {
118
- const content = await safeReadFile(cachePath);
119
- if (content) {
120
- const cache = JSON.parse(content);
121
- if (cache.platform === platformStamp) {
122
- if (cache.available) {
123
- // Verify keytar module can still be loaded (binary might have been removed)
124
- const keytar = await loadKeytar();
125
- if (keytar) {
126
- this.useKeytar = true;
127
- this.initialized = true;
128
- logger.debug('Using system keychain (cached probe)');
129
- return;
130
- }
131
- // Module gone — fall through to full probe
132
- }
133
- else {
134
- // Previously determined unavailable on this platform
135
- this.useKeytar = false;
136
- this.machineKey = await this.getMachineKey();
137
- this.initialized = true;
138
- logger.debug('Using encrypted file storage (cached probe)');
139
- return;
140
- }
141
- }
142
- // Platform changed — re-probe
143
- }
144
- }
145
- }
146
- catch {
147
- // Cache unreadable — fall through to full probe
148
- }
149
- // Full probe: test keytar with a write+delete
150
- try {
151
- const keytar = await loadKeytar();
152
- if (!keytar) {
153
- throw new Error('Keytar module not available');
154
- }
155
- const testService = `${SERVICE_NAME}-test`;
156
- const testAccount = 'availability-test';
157
- await keytar.setPassword(testService, testAccount, 'test');
158
- await keytar.deletePassword(testService, testAccount);
159
- this.useKeytar = true;
160
- logger.debug('Using system keychain for credential storage');
161
- }
162
- catch (error) {
163
- this.useKeytar = false;
164
- logger.debug('System keychain unavailable, using encrypted file storage', error);
165
- // Pre-compute machine key for file-based storage
166
- this.machineKey = await this.getMachineKey();
167
- }
168
- this.initialized = true;
169
- // Persist probe result for next startup (fire-and-forget)
170
- this.saveKeytarCache(platformStamp).catch(err => {
171
- logger.debug('Failed to cache keytar probe result', err);
172
- });
173
- }
174
- /**
175
- * Persists the keytar availability probe result to disk.
176
- */
177
- async saveKeytarCache(platformStamp) {
178
- const globalDir = getGlobalCompassDir();
179
- await ensureDir(globalDir);
180
- const cachePath = path.join(globalDir, KEYTAR_CACHE_FILE);
181
- const data = {
182
- available: this.useKeytar,
183
- platform: platformStamp,
184
- checkedAt: new Date().toISOString(),
185
- };
186
- await safeWriteFile(cachePath, JSON.stringify(data));
187
- }
188
- /**
189
- * Stores the Anthropic API key securely.
190
- *
191
- * @param apiKey - The API key to store
192
- * @throws Error if storage fails
193
- *
194
- * @example
195
- * ```typescript
196
- * const store = await getCredentialStore();
197
- * await store.setApiKey('sk-ant-api03-...');
198
- * ```
199
- */
200
- async setApiKey(apiKey) {
201
- await this.ensureInitialized();
202
- if (!apiKey || typeof apiKey !== 'string') {
203
- throw new Error('API key must be a non-empty string');
204
- }
205
- const trimmedKey = apiKey.trim();
206
- if (this.useKeytar) {
207
- try {
208
- const keytar = await loadKeytar();
209
- if (keytar) {
210
- await keytar.setPassword(SERVICE_NAME, ANTHROPIC_API_KEY_ACCOUNT, trimmedKey);
211
- logger.debug('API key stored in system keychain');
212
- return;
213
- }
214
- }
215
- catch (error) {
216
- logger.warn('Failed to store in keychain, falling back to file storage', error);
217
- // Fall through to file-based storage
218
- }
219
- }
220
- await this.saveToFile({ anthropicApiKey: trimmedKey });
221
- logger.debug('API key stored in encrypted file');
222
- }
223
- /**
224
- * Retrieves the stored Anthropic API key.
225
- *
226
- * Checks sources in order of precedence:
227
- * 1. Environment variable (ANTHROPIC_API_KEY)
228
- * 2. System keychain (if available)
229
- * 3. Encrypted file storage
230
- *
231
- * @returns The API key if found, null otherwise
232
- *
233
- * @example
234
- * ```typescript
235
- * const store = await getCredentialStore();
236
- * const apiKey = await store.getApiKey();
237
- * if (apiKey) {
238
- * // Use the API key
239
- * }
240
- * ```
241
- */
242
- async getApiKey() {
243
- await this.ensureInitialized();
244
- // First, check environment variable (highest precedence)
245
- const envKey = process.env[ENV_VARS.API_KEY];
246
- if (envKey && envKey.trim()) {
247
- logger.debug('API key loaded from environment variable');
248
- return envKey.trim();
249
- }
250
- // Try keychain if available
251
- if (this.useKeytar) {
252
- try {
253
- const keytar = await loadKeytar();
254
- if (keytar) {
255
- const keychainKey = await keytar.getPassword(SERVICE_NAME, ANTHROPIC_API_KEY_ACCOUNT);
256
- if (keychainKey) {
257
- logger.debug('API key loaded from system keychain');
258
- return keychainKey;
259
- }
260
- }
261
- }
262
- catch (error) {
263
- logger.debug('Failed to read from keychain', error);
264
- // Fall through to file-based storage
265
- }
266
- }
267
- // Try file-based storage
268
- const credentials = await this.loadFromFile();
269
- if (credentials?.anthropicApiKey) {
270
- logger.debug('API key loaded from encrypted file');
271
- return credentials.anthropicApiKey;
272
- }
273
- return null;
274
- }
275
- /**
276
- * Deletes the stored API key from all storage locations.
277
- *
278
- * @returns True if deletion was successful, false otherwise
279
- *
280
- * @example
281
- * ```typescript
282
- * const store = await getCredentialStore();
283
- * const deleted = await store.deleteApiKey();
284
- * ```
285
- */
286
- async deleteApiKey() {
287
- await this.ensureInitialized();
288
- let success = true;
289
- // Delete from keychain if available
290
- if (this.useKeytar) {
291
- try {
292
- const keytar = await loadKeytar();
293
- if (keytar) {
294
- const deleted = await keytar.deletePassword(SERVICE_NAME, ANTHROPIC_API_KEY_ACCOUNT);
295
- if (deleted) {
296
- logger.debug('API key deleted from system keychain');
297
- }
298
- }
299
- }
300
- catch (error) {
301
- logger.debug('Failed to delete from keychain', error);
302
- success = false;
303
- }
304
- }
305
- // Delete from file storage
306
- const fileDeleted = await this.deleteFile();
307
- if (!fileDeleted) {
308
- success = false;
309
- }
310
- if (success) {
311
- logger.debug('API key deleted successfully');
312
- }
313
- return success;
314
- }
315
- /**
316
- * Checks if an API key is currently stored.
317
- *
318
- * @returns True if an API key is available (from any source)
319
- *
320
- * @example
321
- * ```typescript
322
- * const store = await getCredentialStore();
323
- * if (await store.hasApiKey()) {
324
- * console.log('API key is configured');
325
- * }
326
- * ```
327
- */
328
- async hasApiKey() {
329
- const key = await this.getApiKey();
330
- return key !== null && key.length > 0;
331
- }
332
- /**
333
- * Stores the Compass API key securely.
334
- *
335
- * @param apiKey - The API key to store
336
- * @throws Error if storage fails
337
- */
338
- async setCompassApiKey(apiKey) {
339
- await this.ensureInitialized();
340
- if (!apiKey || typeof apiKey !== 'string') {
341
- throw new Error('API key must be a non-empty string');
342
- }
343
- const trimmedKey = apiKey.trim();
344
- if (this.useKeytar) {
345
- try {
346
- const keytar = await loadKeytar();
347
- if (keytar) {
348
- await keytar.setPassword(SERVICE_NAME, COMPASS_API_KEY_ACCOUNT, trimmedKey);
349
- logger.debug('Compass API key stored in system keychain');
350
- return;
351
- }
352
- }
353
- catch (error) {
354
- logger.warn('Failed to store in keychain, falling back to file storage', error);
355
- // Fall through to file-based storage
356
- }
357
- }
358
- // Get existing credentials and update compassApiKey
359
- const existingCredentials = await this.loadFromFile() || {};
360
- await this.saveToFile({ ...existingCredentials, compassApiKey: trimmedKey });
361
- logger.debug('Compass API key stored in encrypted file');
362
- }
363
- /**
364
- * Retrieves the stored Compass API key.
365
- *
366
- * Checks sources in order of precedence:
367
- * 1. Environment variable (COMPASS_API_KEY)
368
- * 2. System keychain (if available)
369
- * 3. Encrypted file storage
370
- *
371
- * @returns The API key if found, null otherwise
372
- */
373
- async getCompassApiKey() {
374
- await this.ensureInitialized();
375
- // First, check environment variable (highest precedence)
376
- const envKey = process.env[ENV_VARS.COMPASS_API_KEY];
377
- if (envKey && envKey.trim()) {
378
- logger.debug('Compass API key loaded from environment variable');
379
- return envKey.trim();
380
- }
381
- // Try keychain if available
382
- if (this.useKeytar) {
383
- try {
384
- const keytar = await loadKeytar();
385
- if (keytar) {
386
- const keychainKey = await keytar.getPassword(SERVICE_NAME, COMPASS_API_KEY_ACCOUNT);
387
- if (keychainKey) {
388
- logger.debug('Compass API key loaded from system keychain');
389
- return keychainKey;
390
- }
391
- }
392
- }
393
- catch (error) {
394
- logger.debug('Failed to read from keychain', error);
395
- // Fall through to file-based storage
396
- }
397
- }
398
- // Try file-based storage
399
- const credentials = await this.loadFromFile();
400
- if (credentials?.compassApiKey) {
401
- logger.debug('Compass API key loaded from encrypted file');
402
- return credentials.compassApiKey;
403
- }
404
- return null;
405
- }
406
- /**
407
- * Deletes the stored Compass API key from all storage locations.
408
- *
409
- * @returns True if deletion was successful, false otherwise
410
- */
411
- async deleteCompassApiKey() {
412
- await this.ensureInitialized();
413
- let success = true;
414
- // Delete from keychain if available
415
- if (this.useKeytar) {
416
- try {
417
- const keytar = await loadKeytar();
418
- if (keytar) {
419
- const deleted = await keytar.deletePassword(SERVICE_NAME, COMPASS_API_KEY_ACCOUNT);
420
- if (deleted) {
421
- logger.debug('Compass API key deleted from system keychain');
422
- }
423
- }
424
- }
425
- catch (error) {
426
- logger.debug('Failed to delete from keychain', error);
427
- success = false;
428
- }
429
- }
430
- // Delete from file storage by updating credentials without compassApiKey
431
- try {
432
- const existingCredentials = await this.loadFromFile();
433
- if (existingCredentials?.compassApiKey) {
434
- delete existingCredentials.compassApiKey;
435
- await this.saveToFile(existingCredentials);
436
- logger.debug('Compass API key deleted from encrypted file');
437
- }
438
- }
439
- catch (error) {
440
- logger.error('Failed to delete Compass API key from file', error);
441
- success = false;
442
- }
443
- if (success) {
444
- logger.debug('Compass API key deleted successfully');
445
- }
446
- return success;
447
- }
448
- /**
449
- * Checks if a Compass API key is currently stored.
450
- *
451
- * @returns True if an API key is available (from any source)
452
- */
453
- async hasCompassApiKey() {
454
- const key = await this.getCompassApiKey();
455
- return key !== null && key.length > 0;
456
- }
457
- // =========================================================================
458
- // Provider-Specific API Key Methods
459
- // =========================================================================
460
- /**
461
- * Stores an API key for a specific provider.
462
- *
463
- * @param provider - The provider name (anthropic, ollama, zai, minimax)
464
- * @param apiKey - The API key to store
465
- * @throws Error if storage fails
466
- *
467
- * @example
468
- * ```typescript
469
- * const store = await getCredentialStore();
470
- * await store.setProviderApiKey('ollama', 'my-ollama-key');
471
- * ```
472
- */
473
- async setProviderApiKey(provider, apiKey) {
474
- await this.ensureInitialized();
475
- if (!apiKey || typeof apiKey !== 'string') {
476
- throw new Error('API key must be a non-empty string');
477
- }
478
- if (!PROVIDERS.includes(provider)) {
479
- throw new Error(`Invalid provider: ${provider}. Must be one of: ${PROVIDERS.join(', ')}`);
480
- }
481
- const trimmedKey = apiKey.trim();
482
- const accountName = PROVIDER_KEYCHAIN_ACCOUNTS[provider];
483
- if (this.useKeytar) {
484
- try {
485
- const keytar = await loadKeytar();
486
- if (keytar) {
487
- await keytar.setPassword(SERVICE_NAME, accountName, trimmedKey);
488
- logger.debug(`${provider} API key stored in system keychain`);
489
- return;
490
- }
491
- }
492
- catch (error) {
493
- logger.warn('Failed to store in keychain, falling back to file storage', error);
494
- }
495
- }
496
- // Fall back to file storage
497
- const existingCredentials = await this.loadFromFile() || {};
498
- const credentialsKey = PROVIDER_CREDENTIALS_KEYS[provider];
499
- await this.saveToFile({ ...existingCredentials, [credentialsKey]: trimmedKey });
500
- logger.debug(`${provider} API key stored in encrypted file`);
501
- }
502
- /**
503
- * Retrieves the stored API key for a specific provider.
504
- *
505
- * Checks sources in order of precedence:
506
- * 1. Environment variable (provider-specific)
507
- * 2. System keychain (if available)
508
- * 3. Encrypted file storage
509
- *
510
- * @param provider - The provider name (anthropic, ollama, zai, minimax)
511
- * @returns The API key if found, null otherwise
512
- *
513
- * @example
514
- * ```typescript
515
- * const store = await getCredentialStore();
516
- * const apiKey = await store.getProviderApiKey('ollama');
517
- * ```
518
- */
519
- async getProviderApiKey(provider) {
520
- await this.ensureInitialized();
521
- if (!PROVIDERS.includes(provider)) {
522
- logger.warn(`Invalid provider: ${provider}`);
523
- return null;
524
- }
525
- // First, check environment variable (highest precedence)
526
- const envVarName = PROVIDER_ENV_VARS[provider];
527
- const envKey = process.env[envVarName];
528
- if (envKey && envKey.trim()) {
529
- logger.debug(`${provider} API key loaded from environment variable ${envVarName}`);
530
- return envKey.trim();
531
- }
532
- // Try keychain if available
533
- const accountName = PROVIDER_KEYCHAIN_ACCOUNTS[provider];
534
- if (this.useKeytar) {
535
- try {
536
- const keytar = await loadKeytar();
537
- if (keytar) {
538
- const keychainKey = await keytar.getPassword(SERVICE_NAME, accountName);
539
- if (keychainKey) {
540
- logger.debug(`${provider} API key loaded from system keychain`);
541
- return keychainKey;
542
- }
543
- }
544
- }
545
- catch (error) {
546
- logger.debug(`Failed to read ${provider} key from keychain`, error);
547
- }
548
- }
549
- // Try file-based storage
550
- const credentials = await this.loadFromFile();
551
- const credentialsKey = PROVIDER_CREDENTIALS_KEYS[provider];
552
- if (credentials?.[credentialsKey]) {
553
- logger.debug(`${provider} API key loaded from encrypted file`);
554
- return credentials[credentialsKey];
555
- }
556
- return null;
557
- }
558
- /**
559
- * Checks if an API key is stored for a specific provider.
560
- *
561
- * @param provider - The provider name (anthropic, ollama, zai, minimax)
562
- * @returns True if an API key is available (from any source)
563
- */
564
- async hasProviderApiKey(provider) {
565
- const key = await this.getProviderApiKey(provider);
566
- return key !== null && key.length > 0;
567
- }
568
- /**
569
- * Deletes the stored API key for a specific provider.
570
- *
571
- * @param provider - The provider name (anthropic, ollama, zai, minimax)
572
- * @returns True if deletion was successful, false otherwise
573
- */
574
- async deleteProviderApiKey(provider) {
575
- await this.ensureInitialized();
576
- if (!PROVIDERS.includes(provider)) {
577
- logger.warn(`Invalid provider: ${provider}`);
578
- return false;
579
- }
580
- let success = true;
581
- const accountName = PROVIDER_KEYCHAIN_ACCOUNTS[provider];
582
- // Delete from keychain if available
583
- if (this.useKeytar) {
584
- try {
585
- const keytar = await loadKeytar();
586
- if (keytar) {
587
- const deleted = await keytar.deletePassword(SERVICE_NAME, accountName);
588
- if (deleted) {
589
- logger.debug(`${provider} API key deleted from system keychain`);
590
- }
591
- }
592
- }
593
- catch (error) {
594
- logger.debug(`Failed to delete ${provider} key from keychain`, error);
595
- success = false;
596
- }
597
- }
598
- // Delete from file storage
599
- try {
600
- const existingCredentials = await this.loadFromFile();
601
- const credentialsKey = PROVIDER_CREDENTIALS_KEYS[provider];
602
- if (existingCredentials?.[credentialsKey]) {
603
- delete existingCredentials[credentialsKey];
604
- await this.saveToFile(existingCredentials);
605
- logger.debug(`${provider} API key deleted from encrypted file`);
606
- }
607
- }
608
- catch (error) {
609
- logger.error(`Failed to delete ${provider} API key from file`, error);
610
- success = false;
611
- }
612
- return success;
613
- }
614
- /**
615
- * Gets all configured providers that have API keys.
616
- *
617
- * @returns Array of provider names that have API keys configured
618
- */
619
- async getConfiguredProviders() {
620
- const configured = [];
621
- for (const provider of PROVIDERS) {
622
- if (await this.hasProviderApiKey(provider)) {
623
- configured.push(provider);
624
- }
625
- }
626
- return configured;
627
- }
628
- /**
629
- * Validates the format of an Anthropic API key.
630
- *
631
- * Anthropic API keys follow the format: sk-ant-api03-...
632
- * This method performs basic format validation without making API calls.
633
- *
634
- * @param apiKey - The API key to validate
635
- * @returns True if the format is valid
636
- *
637
- * @example
638
- * ```typescript
639
- * const store = await getCredentialStore();
640
- * if (store.validateApiKeyFormat('sk-ant-api03-...')) {
641
- * // Key format is valid
642
- * }
643
- * ```
644
- */
645
- validateApiKeyFormat(apiKey) {
646
- if (!apiKey || typeof apiKey !== 'string') {
647
- return false;
648
- }
649
- const trimmed = apiKey.trim();
650
- // Minimum reasonable length for an API key
651
- if (trimmed.length < 20) {
652
- return false;
653
- }
654
- return true;
655
- // Anthropic API keys start with 'sk-ant-' and have a minimum length
656
- // Format: sk-ant-api03-<base64-encoded-data>
657
- if (!trimmed.startsWith('sk-ant-')) {
658
- return false;
659
- }
660
- // Check for valid characters (alphanumeric, hyphens, underscores)
661
- const validPattern = /^sk-ant-[a-zA-Z0-9_-]+$/;
662
- return validPattern.test(trimmed);
663
- }
664
- /**
665
- * Gets the storage method currently in use.
666
- *
667
- * @returns 'keychain' if using system keychain, 'file' if using encrypted file
668
- */
669
- getStorageMethod() {
670
- return this.useKeytar ? 'keychain' : 'file';
671
- }
672
- /**
673
- * Checks if the credential store has been initialized.
674
- *
675
- * @returns True if initialize() has been called
676
- */
677
- isInitialized() {
678
- return this.initialized;
679
- }
680
- /**
681
- * Ensures the store is initialized before operations.
682
- */
683
- async ensureInitialized() {
684
- if (!this.initialized) {
685
- await this.initialize();
686
- }
687
- }
688
- /**
689
- * Generates a machine-specific key for encryption.
690
- * Uses a combination of machine identifiers to create a unique key.
691
- */
692
- async getMachineKey() {
693
- if (this.machineKey) {
694
- return this.machineKey;
695
- }
696
- // Combine multiple machine-specific values for key derivation
697
- const components = [
698
- os.hostname(),
699
- os.platform(),
700
- os.arch(),
701
- os.userInfo().username,
702
- // Add home directory for additional uniqueness
703
- os.homedir(),
704
- ];
705
- // Create a hash of the combined components
706
- const combined = components.join(':');
707
- const hash = crypto.createHash('sha256').update(combined).digest('hex');
708
- this.machineKey = hash;
709
- return hash;
710
- }
711
- /**
712
- * Saves credentials to an encrypted file.
713
- */
714
- async saveToFile(credentials) {
715
- const key = await this.getMachineKey();
716
- const dataString = JSON.stringify(credentials);
717
- const encrypted = encrypt(dataString, key);
718
- const encryptedCredentials = {
719
- version: CREDENTIALS_VERSION,
720
- data: encrypted,
721
- updatedAt: new Date().toISOString(),
722
- };
723
- const globalDir = getGlobalCompassDir();
724
- await ensureDir(globalDir);
725
- const filePath = path.join(globalDir, CREDENTIALS_FILE_NAME);
726
- await safeWriteFile(filePath, JSON.stringify(encryptedCredentials, null, 2));
727
- logger.debug('Credentials saved to encrypted file');
728
- }
729
- /**
730
- * Loads credentials from the encrypted file.
731
- */
732
- async loadFromFile() {
733
- const filePath = path.join(getGlobalCompassDir(), CREDENTIALS_FILE_NAME);
734
- if (!(await pathExists(filePath))) {
735
- return null;
736
- }
737
- try {
738
- const content = await safeReadFile(filePath);
739
- if (!content) {
740
- return null;
741
- }
742
- const encryptedCredentials = JSON.parse(content);
743
- // Validate version
744
- if (encryptedCredentials.version !== CREDENTIALS_VERSION) {
745
- logger.warn(`Credentials file version mismatch: ${encryptedCredentials.version}`);
746
- // For now, attempt to decrypt anyway; future versions may need migration
747
- }
748
- const key = await this.getMachineKey();
749
- const decrypted = decrypt(encryptedCredentials.data, key);
750
- const credentials = JSON.parse(decrypted);
751
- return credentials;
752
- }
753
- catch (error) {
754
- logger.error('Failed to load credentials from file', error);
755
- return null;
756
- }
757
- }
758
- /**
759
- * Deletes the encrypted credentials file.
760
- */
761
- async deleteFile() {
762
- const filePath = path.join(getGlobalCompassDir(), CREDENTIALS_FILE_NAME);
763
- try {
764
- if (await pathExists(filePath)) {
765
- await remove(filePath);
766
- logger.debug('Credentials file deleted');
767
- }
768
- return true;
769
- }
770
- catch (error) {
771
- logger.error('Failed to delete credentials file', error);
772
- return false;
773
- }
774
- }
775
- /**
776
- * Migrates credentials from file storage to keychain.
777
- * Useful when keychain becomes available after initial setup.
778
- *
779
- * @returns True if migration was successful or not needed
780
- */
781
- async migrateToKeychain() {
782
- if (!this.useKeytar) {
783
- logger.debug('Keychain not available, migration skipped');
784
- return false;
785
- }
786
- try {
787
- const keytar = await loadKeytar();
788
- if (!keytar) {
789
- logger.debug('Keytar not available, migration skipped');
790
- return false;
791
- }
792
- // Check if there are file-based credentials to migrate
793
- const fileCredentials = await this.loadFromFile();
794
- if (!fileCredentials?.anthropicApiKey) {
795
- logger.debug('No file-based credentials to migrate');
796
- return true;
797
- }
798
- // Check if keychain already has the key
799
- const keychainKey = await keytar.getPassword(SERVICE_NAME, ANTHROPIC_API_KEY_ACCOUNT);
800
- if (keychainKey) {
801
- logger.debug('Keychain already has credentials, skipping migration');
802
- return true;
803
- }
804
- // Migrate to keychain
805
- await keytar.setPassword(SERVICE_NAME, ANTHROPIC_API_KEY_ACCOUNT, fileCredentials.anthropicApiKey);
806
- // Delete file-based storage after successful migration
807
- await this.deleteFile();
808
- logger.debug('Credentials migrated from file to system keychain');
809
- return true;
810
- }
811
- catch (error) {
812
- logger.error('Failed to migrate credentials to keychain', error);
813
- return false;
814
- }
815
- }
816
- /**
817
- * Clears all stored credentials from all storage locations.
818
- * Use with caution - this is irreversible.
819
- */
820
- async clearAll() {
821
- await this.ensureInitialized();
822
- // Clear keychain
823
- if (this.useKeytar) {
824
- try {
825
- const keytar = await loadKeytar();
826
- if (keytar) {
827
- await keytar.deletePassword(SERVICE_NAME, ANTHROPIC_API_KEY_ACCOUNT);
828
- await keytar.deletePassword(SERVICE_NAME, COMPASS_API_KEY_ACCOUNT);
829
- // Clear all provider-specific keys
830
- for (const provider of PROVIDERS) {
831
- await keytar.deletePassword(SERVICE_NAME, PROVIDER_KEYCHAIN_ACCOUNTS[provider]);
832
- }
833
- }
834
- }
835
- catch (error) {
836
- logger.debug('Failed to clear keychain', error);
837
- }
838
- }
839
- // Clear file storage
840
- await this.deleteFile();
841
- logger.debug('All credentials cleared');
842
- }
843
- }
844
- // Singleton instance
845
- let credentialStoreInstance = null;
846
- /**
847
- * Gets the singleton CredentialStore instance.
848
- * Initializes the instance on first call.
849
- *
850
- * @returns Promise resolving to the initialized CredentialStore instance
851
- *
852
- * @example
853
- * ```typescript
854
- * const store = await getCredentialStore();
855
- * const apiKey = await store.getApiKey();
856
- * ```
857
- */
858
- export async function getCredentialStore() {
859
- if (!credentialStoreInstance) {
860
- credentialStoreInstance = new CredentialStore();
861
- await credentialStoreInstance.initialize();
862
- }
863
- return credentialStoreInstance;
864
- }
865
- /**
866
- * Creates a new CredentialStore instance.
867
- * Use this when you need a separate instance from the singleton.
868
- *
869
- * Note: You must call initialize() on the returned instance before use.
870
- *
871
- * @returns A new CredentialStore instance (not initialized)
872
- */
873
- export function createCredentialStore() {
874
- return new CredentialStore();
875
- }
876
- export { CredentialStore };
877
- //# sourceMappingURL=credential-store.js.map