@compass-ai/nova 1.0.72 → 1.0.74

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (974) hide show
  1. package/dist/acp/agent.d.ts +318 -0
  2. package/dist/acp/agent.d.ts.map +1 -0
  3. package/dist/acp/agent.js +795 -0
  4. package/dist/acp/agent.js.map +1 -0
  5. package/dist/acp/backpressure-writer.d.ts +49 -0
  6. package/dist/acp/backpressure-writer.d.ts.map +1 -0
  7. package/dist/acp/backpressure-writer.js +153 -0
  8. package/dist/acp/backpressure-writer.js.map +1 -0
  9. package/dist/acp/event-adapter.d.ts +242 -0
  10. package/dist/acp/event-adapter.d.ts.map +1 -0
  11. package/dist/acp/event-adapter.js +456 -0
  12. package/dist/acp/event-adapter.js.map +1 -0
  13. package/dist/acp/index.d.ts +30 -0
  14. package/dist/acp/index.d.ts.map +1 -0
  15. package/dist/acp/index.js +36 -0
  16. package/dist/acp/index.js.map +1 -0
  17. package/dist/acp/modes.d.ts +56 -0
  18. package/dist/acp/modes.d.ts.map +1 -0
  19. package/dist/acp/modes.js +135 -0
  20. package/dist/acp/modes.js.map +1 -0
  21. package/dist/acp/session-manager.d.ts +170 -0
  22. package/dist/acp/session-manager.d.ts.map +1 -0
  23. package/dist/acp/session-manager.js +381 -0
  24. package/dist/acp/session-manager.js.map +1 -0
  25. package/dist/acp/text-coalescer.d.ts +45 -0
  26. package/dist/acp/text-coalescer.d.ts.map +1 -0
  27. package/dist/acp/text-coalescer.js +110 -0
  28. package/dist/acp/text-coalescer.js.map +1 -0
  29. package/dist/acp/tool-bridge.d.ts +156 -0
  30. package/dist/acp/tool-bridge.d.ts.map +1 -0
  31. package/dist/acp/tool-bridge.js +381 -0
  32. package/dist/acp/tool-bridge.js.map +1 -0
  33. package/dist/acp/types.d.ts +314 -0
  34. package/dist/acp/types.d.ts.map +1 -0
  35. package/dist/acp/types.js +8 -0
  36. package/dist/acp/types.js.map +1 -0
  37. package/dist/cli.d.ts +9 -0
  38. package/dist/cli.d.ts.map +1 -0
  39. package/dist/cli.js +185 -184
  40. package/dist/cli.js.map +1 -0
  41. package/dist/commands/acp.d.ts +26 -0
  42. package/dist/commands/acp.d.ts.map +1 -0
  43. package/dist/commands/acp.js +492 -0
  44. package/dist/commands/acp.js.map +1 -0
  45. package/dist/commands/cache.d.ts +33 -0
  46. package/dist/commands/cache.d.ts.map +1 -0
  47. package/dist/commands/cache.js +537 -0
  48. package/dist/commands/cache.js.map +1 -0
  49. package/dist/commands/config.d.ts +10 -0
  50. package/dist/commands/config.d.ts.map +1 -0
  51. package/dist/commands/config.js +367 -0
  52. package/dist/commands/config.js.map +1 -0
  53. package/dist/commands/consent.d.ts +21 -0
  54. package/dist/commands/consent.d.ts.map +1 -0
  55. package/dist/commands/consent.js +334 -0
  56. package/dist/commands/consent.js.map +1 -0
  57. package/dist/commands/data.d.ts +24 -0
  58. package/dist/commands/data.d.ts.map +1 -0
  59. package/dist/commands/data.js +586 -0
  60. package/dist/commands/data.js.map +1 -0
  61. package/dist/commands/index.d.ts +145 -0
  62. package/dist/commands/index.d.ts.map +1 -0
  63. package/dist/commands/index.js +210 -0
  64. package/dist/commands/index.js.map +1 -0
  65. package/dist/commands/init.d.ts +106 -0
  66. package/dist/commands/init.d.ts.map +1 -0
  67. package/dist/commands/init.js +349 -0
  68. package/dist/commands/init.js.map +1 -0
  69. package/dist/commands/logs.d.ts +13 -0
  70. package/dist/commands/logs.d.ts.map +1 -0
  71. package/dist/commands/logs.js +359 -0
  72. package/dist/commands/logs.js.map +1 -0
  73. package/dist/commands/mcp.d.ts +20 -0
  74. package/dist/commands/mcp.d.ts.map +1 -0
  75. package/dist/commands/mcp.js +687 -0
  76. package/dist/commands/mcp.js.map +1 -0
  77. package/dist/commands/reset.d.ts +20 -0
  78. package/dist/commands/reset.d.ts.map +1 -0
  79. package/dist/commands/reset.js +372 -0
  80. package/dist/commands/reset.js.map +1 -0
  81. package/dist/commands/setup.d.ts +74 -0
  82. package/dist/commands/setup.d.ts.map +1 -0
  83. package/dist/commands/setup.js +863 -0
  84. package/dist/commands/setup.js.map +1 -0
  85. package/dist/commands/slash/agents.d.ts +40 -0
  86. package/dist/commands/slash/agents.d.ts.map +1 -0
  87. package/dist/commands/slash/agents.js +519 -0
  88. package/dist/commands/slash/agents.js.map +1 -0
  89. package/dist/commands/slash/approve.d.ts +46 -0
  90. package/dist/commands/slash/approve.d.ts.map +1 -0
  91. package/dist/commands/slash/approve.js +239 -0
  92. package/dist/commands/slash/approve.js.map +1 -0
  93. package/dist/commands/slash/attach.d.ts +70 -0
  94. package/dist/commands/slash/attach.d.ts.map +1 -0
  95. package/dist/commands/slash/attach.js +333 -0
  96. package/dist/commands/slash/attach.js.map +1 -0
  97. package/dist/commands/slash/clear.d.ts +47 -0
  98. package/dist/commands/slash/clear.d.ts.map +1 -0
  99. package/dist/commands/slash/clear.js +261 -0
  100. package/dist/commands/slash/clear.js.map +1 -0
  101. package/dist/commands/slash/commit.d.ts +40 -0
  102. package/dist/commands/slash/commit.d.ts.map +1 -0
  103. package/dist/commands/slash/commit.js +337 -0
  104. package/dist/commands/slash/commit.js.map +1 -0
  105. package/dist/commands/slash/compact.d.ts +48 -0
  106. package/dist/commands/slash/compact.d.ts.map +1 -0
  107. package/dist/commands/slash/compact.js +288 -0
  108. package/dist/commands/slash/compact.js.map +1 -0
  109. package/dist/commands/slash/config.d.ts +20 -0
  110. package/dist/commands/slash/config.d.ts.map +1 -0
  111. package/dist/commands/slash/config.js +136 -0
  112. package/dist/commands/slash/config.js.map +1 -0
  113. package/dist/commands/slash/context.d.ts +49 -0
  114. package/dist/commands/slash/context.d.ts.map +1 -0
  115. package/dist/commands/slash/context.js +430 -0
  116. package/dist/commands/slash/context.js.map +1 -0
  117. package/dist/commands/slash/cost.d.ts +34 -0
  118. package/dist/commands/slash/cost.d.ts.map +1 -0
  119. package/dist/commands/slash/cost.js +312 -0
  120. package/dist/commands/slash/cost.js.map +1 -0
  121. package/dist/commands/slash/custom.d.ts +41 -0
  122. package/dist/commands/slash/custom.d.ts.map +1 -0
  123. package/dist/commands/slash/custom.js +126 -0
  124. package/dist/commands/slash/custom.js.map +1 -0
  125. package/dist/commands/slash/exit.d.ts +25 -0
  126. package/dist/commands/slash/exit.d.ts.map +1 -0
  127. package/dist/commands/slash/exit.js +186 -0
  128. package/dist/commands/slash/exit.js.map +1 -0
  129. package/dist/commands/slash/export.d.ts +27 -0
  130. package/dist/commands/slash/export.d.ts.map +1 -0
  131. package/dist/commands/slash/export.js +318 -0
  132. package/dist/commands/slash/export.js.map +1 -0
  133. package/dist/commands/slash/files.d.ts +47 -0
  134. package/dist/commands/slash/files.d.ts.map +1 -0
  135. package/dist/commands/slash/files.js +521 -0
  136. package/dist/commands/slash/files.js.map +1 -0
  137. package/dist/commands/slash/help.d.ts +50 -0
  138. package/dist/commands/slash/help.d.ts.map +1 -0
  139. package/dist/commands/slash/help.js +282 -0
  140. package/dist/commands/slash/help.js.map +1 -0
  141. package/dist/commands/slash/index-cmd.d.ts +41 -0
  142. package/dist/commands/slash/index-cmd.d.ts.map +1 -0
  143. package/dist/commands/slash/index-cmd.js +349 -0
  144. package/dist/commands/slash/index-cmd.js.map +1 -0
  145. package/dist/commands/slash/index.d.ts +97 -0
  146. package/dist/commands/slash/index.d.ts.map +1 -0
  147. package/dist/commands/slash/index.js +251 -0
  148. package/dist/commands/slash/index.js.map +1 -0
  149. package/dist/commands/slash/login.d.ts +23 -0
  150. package/dist/commands/slash/login.d.ts.map +1 -0
  151. package/dist/commands/slash/login.js +175 -0
  152. package/dist/commands/slash/login.js.map +1 -0
  153. package/dist/commands/slash/logout.d.ts +23 -0
  154. package/dist/commands/slash/logout.d.ts.map +1 -0
  155. package/dist/commands/slash/logout.js +153 -0
  156. package/dist/commands/slash/logout.js.map +1 -0
  157. package/dist/commands/slash/logs.d.ts +29 -0
  158. package/dist/commands/slash/logs.d.ts.map +1 -0
  159. package/dist/commands/slash/logs.js +423 -0
  160. package/dist/commands/slash/logs.js.map +1 -0
  161. package/dist/commands/slash/mcp.d.ts +29 -0
  162. package/dist/commands/slash/mcp.d.ts.map +1 -0
  163. package/dist/commands/slash/mcp.js +1026 -0
  164. package/dist/commands/slash/mcp.js.map +1 -0
  165. package/dist/commands/slash/model.d.ts +60 -0
  166. package/dist/commands/slash/model.d.ts.map +1 -0
  167. package/dist/commands/slash/model.js +466 -0
  168. package/dist/commands/slash/model.js.map +1 -0
  169. package/dist/commands/slash/personality.d.ts +40 -0
  170. package/dist/commands/slash/personality.d.ts.map +1 -0
  171. package/dist/commands/slash/personality.js +272 -0
  172. package/dist/commands/slash/personality.js.map +1 -0
  173. package/dist/commands/slash/purge.d.ts +42 -0
  174. package/dist/commands/slash/purge.d.ts.map +1 -0
  175. package/dist/commands/slash/purge.js +233 -0
  176. package/dist/commands/slash/purge.js.map +1 -0
  177. package/dist/commands/slash/reset.d.ts +44 -0
  178. package/dist/commands/slash/reset.d.ts.map +1 -0
  179. package/dist/commands/slash/reset.js +326 -0
  180. package/dist/commands/slash/reset.js.map +1 -0
  181. package/dist/commands/slash/skills.d.ts +40 -0
  182. package/dist/commands/slash/skills.d.ts.map +1 -0
  183. package/dist/commands/slash/skills.js +207 -0
  184. package/dist/commands/slash/skills.js.map +1 -0
  185. package/dist/commands/slash/tokens.d.ts +34 -0
  186. package/dist/commands/slash/tokens.d.ts.map +1 -0
  187. package/dist/commands/slash/tokens.js +205 -0
  188. package/dist/commands/slash/tokens.js.map +1 -0
  189. package/dist/commands/slash/unleash.d.ts +50 -0
  190. package/dist/commands/slash/unleash.d.ts.map +1 -0
  191. package/dist/commands/slash/unleash.js +262 -0
  192. package/dist/commands/slash/unleash.js.map +1 -0
  193. package/dist/commands/slash/update.d.ts +34 -0
  194. package/dist/commands/slash/update.d.ts.map +1 -0
  195. package/dist/commands/slash/update.js +364 -0
  196. package/dist/commands/slash/update.js.map +1 -0
  197. package/dist/commands/slash/wrap.d.ts +18 -0
  198. package/dist/commands/slash/wrap.d.ts.map +1 -0
  199. package/dist/commands/slash/wrap.js +21 -0
  200. package/dist/commands/slash/wrap.js.map +1 -0
  201. package/dist/commands/tokens.d.ts +26 -0
  202. package/dist/commands/tokens.d.ts.map +1 -0
  203. package/dist/commands/tokens.js +245 -0
  204. package/dist/commands/tokens.js.map +1 -0
  205. package/dist/constants/builtin-agents.d.ts +27 -0
  206. package/dist/constants/builtin-agents.d.ts.map +1 -0
  207. package/dist/constants/builtin-agents.js +710 -0
  208. package/dist/constants/builtin-agents.js.map +1 -0
  209. package/dist/constants/builtin-skills.d.ts +32 -0
  210. package/dist/constants/builtin-skills.d.ts.map +1 -0
  211. package/dist/constants/builtin-skills.js +389 -0
  212. package/dist/constants/builtin-skills.js.map +1 -0
  213. package/dist/constants/defaults.d.ts +448 -0
  214. package/dist/constants/defaults.d.ts.map +1 -0
  215. package/dist/constants/defaults.js +829 -0
  216. package/dist/constants/defaults.js.map +1 -0
  217. package/dist/constants/index.d.ts +27 -0
  218. package/dist/constants/index.d.ts.map +1 -0
  219. package/dist/constants/index.js +85 -0
  220. package/dist/constants/index.js.map +1 -0
  221. package/dist/constants/install-hints.d.ts +7 -0
  222. package/dist/constants/install-hints.d.ts.map +1 -0
  223. package/dist/constants/install-hints.js +123 -0
  224. package/dist/constants/install-hints.js.map +1 -0
  225. package/dist/constants/models.d.ts +255 -0
  226. package/dist/constants/models.d.ts.map +1 -0
  227. package/dist/constants/models.js +596 -0
  228. package/dist/constants/models.js.map +1 -0
  229. package/dist/constants/schedule.d.ts +43 -0
  230. package/dist/constants/schedule.d.ts.map +1 -0
  231. package/dist/constants/schedule.js +110 -0
  232. package/dist/constants/schedule.js.map +1 -0
  233. package/dist/constants/system-utilities.d.ts +57 -0
  234. package/dist/constants/system-utilities.d.ts.map +1 -0
  235. package/dist/constants/system-utilities.js +421 -0
  236. package/dist/constants/system-utilities.js.map +1 -0
  237. package/dist/constants/token-limits.d.ts +102 -0
  238. package/dist/constants/token-limits.d.ts.map +1 -0
  239. package/dist/constants/token-limits.js +286 -0
  240. package/dist/constants/token-limits.js.map +1 -0
  241. package/dist/core/autocomplete.d.ts +132 -0
  242. package/dist/core/autocomplete.d.ts.map +1 -0
  243. package/dist/core/autocomplete.js +653 -0
  244. package/dist/core/autocomplete.js.map +1 -0
  245. package/dist/core/command-parser.d.ts +301 -0
  246. package/dist/core/command-parser.d.ts.map +1 -0
  247. package/dist/core/command-parser.js +526 -0
  248. package/dist/core/command-parser.js.map +1 -0
  249. package/dist/core/context-builder.d.ts +264 -0
  250. package/dist/core/context-builder.d.ts.map +1 -0
  251. package/dist/core/context-builder.js +1018 -0
  252. package/dist/core/context-builder.js.map +1 -0
  253. package/dist/core/event-emitter.d.ts +411 -0
  254. package/dist/core/event-emitter.d.ts.map +1 -0
  255. package/dist/core/event-emitter.js +138 -0
  256. package/dist/core/event-emitter.js.map +1 -0
  257. package/dist/core/history-manager.d.ts +62 -0
  258. package/dist/core/history-manager.d.ts.map +1 -0
  259. package/dist/core/history-manager.js +151 -0
  260. package/dist/core/history-manager.js.map +1 -0
  261. package/dist/core/slash-command-handler.d.ts +352 -0
  262. package/dist/core/slash-command-handler.d.ts.map +1 -0
  263. package/dist/core/slash-command-handler.js +563 -0
  264. package/dist/core/slash-command-handler.js.map +1 -0
  265. package/dist/core/task-processor.d.ts +179 -0
  266. package/dist/core/task-processor.d.ts.map +1 -0
  267. package/dist/core/task-processor.js +519 -0
  268. package/dist/core/task-processor.js.map +1 -0
  269. package/dist/index.d.ts +90 -0
  270. package/dist/index.d.ts.map +1 -0
  271. package/dist/index.js +4 -3
  272. package/dist/index.js.map +1 -0
  273. package/dist/prompts/agent-prompt-generator.d.ts +26 -0
  274. package/dist/prompts/agent-prompt-generator.d.ts.map +1 -0
  275. package/dist/prompts/agent-prompt-generator.js +244 -0
  276. package/dist/prompts/agent-prompt-generator.js.map +1 -0
  277. package/dist/prompts/commit-message.d.ts +35 -0
  278. package/dist/prompts/commit-message.d.ts.map +1 -0
  279. package/dist/prompts/commit-message.js +187 -0
  280. package/dist/prompts/commit-message.js.map +1 -0
  281. package/dist/prompts/conversation.d.ts +51 -0
  282. package/dist/prompts/conversation.d.ts.map +1 -0
  283. package/dist/prompts/conversation.js +115 -0
  284. package/dist/prompts/conversation.js.map +1 -0
  285. package/dist/prompts/index.d.ts +39 -0
  286. package/dist/prompts/index.d.ts.map +1 -0
  287. package/dist/prompts/index.js +74 -0
  288. package/dist/prompts/index.js.map +1 -0
  289. package/dist/prompts/memory.d.ts +6 -0
  290. package/dist/prompts/memory.d.ts.map +1 -0
  291. package/dist/prompts/memory.js +29 -0
  292. package/dist/prompts/memory.js.map +1 -0
  293. package/dist/prompts/personality.d.ts +77 -0
  294. package/dist/prompts/personality.d.ts.map +1 -0
  295. package/dist/prompts/personality.js +393 -0
  296. package/dist/prompts/personality.js.map +1 -0
  297. package/dist/prompts/plan-generator.d.ts +144 -0
  298. package/dist/prompts/plan-generator.d.ts.map +1 -0
  299. package/dist/prompts/plan-generator.js +553 -0
  300. package/dist/prompts/plan-generator.js.map +1 -0
  301. package/dist/prompts/system.d.ts +95 -0
  302. package/dist/prompts/system.d.ts.map +1 -0
  303. package/dist/prompts/system.js +461 -0
  304. package/dist/prompts/system.js.map +1 -0
  305. package/dist/prompts/task-processor.d.ts +94 -0
  306. package/dist/prompts/task-processor.d.ts.map +1 -0
  307. package/dist/prompts/task-processor.js +554 -0
  308. package/dist/prompts/task-processor.js.map +1 -0
  309. package/dist/prompts/unguarded.d.ts +78 -0
  310. package/dist/prompts/unguarded.d.ts.map +1 -0
  311. package/dist/prompts/unguarded.js +418 -0
  312. package/dist/prompts/unguarded.js.map +1 -0
  313. package/dist/prompts/utils.d.ts +73 -0
  314. package/dist/prompts/utils.d.ts.map +1 -0
  315. package/dist/prompts/utils.js +114 -0
  316. package/dist/prompts/utils.js.map +1 -0
  317. package/dist/prompts/workflow.d.ts +241 -0
  318. package/dist/prompts/workflow.d.ts.map +1 -0
  319. package/dist/prompts/workflow.js +608 -0
  320. package/dist/prompts/workflow.js.map +1 -0
  321. package/dist/services/action-logger.d.ts +383 -0
  322. package/dist/services/action-logger.d.ts.map +1 -0
  323. package/dist/services/action-logger.js +544 -0
  324. package/dist/services/action-logger.js.map +1 -0
  325. package/dist/services/agent-budget-allocator.d.ts +111 -0
  326. package/dist/services/agent-budget-allocator.d.ts.map +1 -0
  327. package/dist/services/agent-budget-allocator.js +278 -0
  328. package/dist/services/agent-budget-allocator.js.map +1 -0
  329. package/dist/services/agent-manager.d.ts +181 -0
  330. package/dist/services/agent-manager.d.ts.map +1 -0
  331. package/dist/services/agent-manager.js +749 -0
  332. package/dist/services/agent-manager.js.map +1 -0
  333. package/dist/services/agent-spawner.d.ts +138 -0
  334. package/dist/services/agent-spawner.d.ts.map +1 -0
  335. package/dist/services/agent-spawner.js +748 -0
  336. package/dist/services/agent-spawner.js.map +1 -0
  337. package/dist/services/agent-state-service.d.ts +145 -0
  338. package/dist/services/agent-state-service.d.ts.map +1 -0
  339. package/dist/services/agent-state-service.js +247 -0
  340. package/dist/services/agent-state-service.js.map +1 -0
  341. package/dist/services/anthropic-client.d.ts +357 -0
  342. package/dist/services/anthropic-client.d.ts.map +1 -0
  343. package/dist/services/anthropic-client.js +1451 -0
  344. package/dist/services/anthropic-client.js.map +1 -0
  345. package/dist/services/approval-manager.d.ts +385 -0
  346. package/dist/services/approval-manager.d.ts.map +1 -0
  347. package/dist/services/approval-manager.js +1044 -0
  348. package/dist/services/approval-manager.js.map +1 -0
  349. package/dist/services/audit-logger.d.ts +245 -0
  350. package/dist/services/audit-logger.d.ts.map +1 -0
  351. package/dist/services/audit-logger.js +324 -0
  352. package/dist/services/audit-logger.js.map +1 -0
  353. package/dist/services/backup-manager.d.ts +136 -0
  354. package/dist/services/backup-manager.d.ts.map +1 -0
  355. package/dist/services/backup-manager.js +260 -0
  356. package/dist/services/backup-manager.js.map +1 -0
  357. package/dist/services/cache-service.d.ts +247 -0
  358. package/dist/services/cache-service.d.ts.map +1 -0
  359. package/dist/services/cache-service.js +558 -0
  360. package/dist/services/cache-service.js.map +1 -0
  361. package/dist/services/chat-archival-service.d.ts +108 -0
  362. package/dist/services/chat-archival-service.d.ts.map +1 -0
  363. package/dist/services/chat-archival-service.js +465 -0
  364. package/dist/services/chat-archival-service.js.map +1 -0
  365. package/dist/services/codebase-indexer.d.ts +272 -0
  366. package/dist/services/codebase-indexer.d.ts.map +1 -0
  367. package/dist/services/codebase-indexer.js +863 -0
  368. package/dist/services/codebase-indexer.js.map +1 -0
  369. package/dist/services/compass-auth-service.d.ts +204 -0
  370. package/dist/services/compass-auth-service.d.ts.map +1 -0
  371. package/dist/services/compass-auth-service.js +391 -0
  372. package/dist/services/compass-auth-service.js.map +1 -0
  373. package/dist/services/complexity-classifier.d.ts +208 -0
  374. package/dist/services/complexity-classifier.d.ts.map +1 -0
  375. package/dist/services/complexity-classifier.js +1410 -0
  376. package/dist/services/complexity-classifier.js.map +1 -0
  377. package/dist/services/config-manager.d.ts +278 -0
  378. package/dist/services/config-manager.d.ts.map +1 -0
  379. package/dist/services/config-manager.js +651 -0
  380. package/dist/services/config-manager.js.map +1 -0
  381. package/dist/services/consent-manager.d.ts +239 -0
  382. package/dist/services/consent-manager.d.ts.map +1 -0
  383. package/dist/services/consent-manager.js +516 -0
  384. package/dist/services/consent-manager.js.map +1 -0
  385. package/dist/services/conversation-compactor.d.ts +223 -0
  386. package/dist/services/conversation-compactor.d.ts.map +1 -0
  387. package/dist/services/conversation-compactor.js +750 -0
  388. package/dist/services/conversation-compactor.js.map +1 -0
  389. package/dist/services/cost-tracker.d.ts +167 -0
  390. package/dist/services/cost-tracker.d.ts.map +1 -0
  391. package/dist/services/cost-tracker.js +199 -0
  392. package/dist/services/cost-tracker.js.map +1 -0
  393. package/dist/services/credential-store.d.ts +273 -0
  394. package/dist/services/credential-store.d.ts.map +1 -0
  395. package/dist/services/credential-store.js +877 -0
  396. package/dist/services/credential-store.js.map +1 -0
  397. package/dist/services/custom-command-service.d.ts +112 -0
  398. package/dist/services/custom-command-service.d.ts.map +1 -0
  399. package/dist/services/custom-command-service.js +464 -0
  400. package/dist/services/custom-command-service.js.map +1 -0
  401. package/dist/services/default-statusline-renderer.d.ts +60 -0
  402. package/dist/services/default-statusline-renderer.d.ts.map +1 -0
  403. package/dist/services/default-statusline-renderer.js +110 -0
  404. package/dist/services/default-statusline-renderer.js.map +1 -0
  405. package/dist/services/enhanced-context-gatherer.d.ts +116 -0
  406. package/dist/services/enhanced-context-gatherer.d.ts.map +1 -0
  407. package/dist/services/enhanced-context-gatherer.js +605 -0
  408. package/dist/services/enhanced-context-gatherer.js.map +1 -0
  409. package/dist/services/file-hash-tracker.d.ts +95 -0
  410. package/dist/services/file-hash-tracker.d.ts.map +1 -0
  411. package/dist/services/file-hash-tracker.js +199 -0
  412. package/dist/services/file-hash-tracker.js.map +1 -0
  413. package/dist/services/file-service.d.ts +274 -0
  414. package/dist/services/file-service.d.ts.map +1 -0
  415. package/dist/services/file-service.js +876 -0
  416. package/dist/services/file-service.js.map +1 -0
  417. package/dist/services/git-service.d.ts +536 -0
  418. package/dist/services/git-service.d.ts.map +1 -0
  419. package/dist/services/git-service.js +1215 -0
  420. package/dist/services/git-service.js.map +1 -0
  421. package/dist/services/hook-service.d.ts +148 -0
  422. package/dist/services/hook-service.d.ts.map +1 -0
  423. package/dist/services/hook-service.js +705 -0
  424. package/dist/services/hook-service.js.map +1 -0
  425. package/dist/services/ide-state-service.d.ts +114 -0
  426. package/dist/services/ide-state-service.d.ts.map +1 -0
  427. package/dist/services/ide-state-service.js +204 -0
  428. package/dist/services/ide-state-service.js.map +1 -0
  429. package/dist/services/interactive-clarifier.d.ts +90 -0
  430. package/dist/services/interactive-clarifier.d.ts.map +1 -0
  431. package/dist/services/interactive-clarifier.js +446 -0
  432. package/dist/services/interactive-clarifier.js.map +1 -0
  433. package/dist/services/iteration-scoper.d.ts +225 -0
  434. package/dist/services/iteration-scoper.d.ts.map +1 -0
  435. package/dist/services/iteration-scoper.js +387 -0
  436. package/dist/services/iteration-scoper.js.map +1 -0
  437. package/dist/services/llm-plan-generator.d.ts +44 -0
  438. package/dist/services/llm-plan-generator.d.ts.map +1 -0
  439. package/dist/services/llm-plan-generator.js +863 -0
  440. package/dist/services/llm-plan-generator.js.map +1 -0
  441. package/dist/services/llm-system-prompt-generator.d.ts +85 -0
  442. package/dist/services/llm-system-prompt-generator.d.ts.map +1 -0
  443. package/dist/services/llm-system-prompt-generator.js +257 -0
  444. package/dist/services/llm-system-prompt-generator.js.map +1 -0
  445. package/dist/services/log-interpreter.d.ts +190 -0
  446. package/dist/services/log-interpreter.d.ts.map +1 -0
  447. package/dist/services/log-interpreter.js +520 -0
  448. package/dist/services/log-interpreter.js.map +1 -0
  449. package/dist/services/mcp-config-manager.d.ts +141 -0
  450. package/dist/services/mcp-config-manager.d.ts.map +1 -0
  451. package/dist/services/mcp-config-manager.js +678 -0
  452. package/dist/services/mcp-config-manager.js.map +1 -0
  453. package/dist/services/mcp-oauth-service.d.ts +170 -0
  454. package/dist/services/mcp-oauth-service.d.ts.map +1 -0
  455. package/dist/services/mcp-oauth-service.js +892 -0
  456. package/dist/services/mcp-oauth-service.js.map +1 -0
  457. package/dist/services/mcp-plugin-support.d.ts +81 -0
  458. package/dist/services/mcp-plugin-support.d.ts.map +1 -0
  459. package/dist/services/mcp-plugin-support.js +305 -0
  460. package/dist/services/mcp-plugin-support.js.map +1 -0
  461. package/dist/services/mcp-server-manager.d.ts +134 -0
  462. package/dist/services/mcp-server-manager.d.ts.map +1 -0
  463. package/dist/services/mcp-server-manager.js +613 -0
  464. package/dist/services/mcp-server-manager.js.map +1 -0
  465. package/dist/services/mcp-tool-integration.d.ts +119 -0
  466. package/dist/services/mcp-tool-integration.d.ts.map +1 -0
  467. package/dist/services/mcp-tool-integration.js +381 -0
  468. package/dist/services/mcp-tool-integration.js.map +1 -0
  469. package/dist/services/mcp-transport.d.ts +105 -0
  470. package/dist/services/mcp-transport.d.ts.map +1 -0
  471. package/dist/services/mcp-transport.js +1316 -0
  472. package/dist/services/mcp-transport.js.map +1 -0
  473. package/dist/services/memory-service.d.ts +55 -0
  474. package/dist/services/memory-service.d.ts.map +1 -0
  475. package/dist/services/memory-service.js +251 -0
  476. package/dist/services/memory-service.js.map +1 -0
  477. package/dist/services/model-availability.d.ts +64 -0
  478. package/dist/services/model-availability.d.ts.map +1 -0
  479. package/dist/services/model-availability.js +114 -0
  480. package/dist/services/model-availability.js.map +1 -0
  481. package/dist/services/plan-generator.d.ts +98 -0
  482. package/dist/services/plan-generator.d.ts.map +1 -0
  483. package/dist/services/plan-generator.js +658 -0
  484. package/dist/services/plan-generator.js.map +1 -0
  485. package/dist/services/plan-mode-fallback.d.ts +80 -0
  486. package/dist/services/plan-mode-fallback.d.ts.map +1 -0
  487. package/dist/services/plan-mode-fallback.js +307 -0
  488. package/dist/services/plan-mode-fallback.js.map +1 -0
  489. package/dist/services/plan-mode-handler.d.ts +42 -0
  490. package/dist/services/plan-mode-handler.d.ts.map +1 -0
  491. package/dist/services/plan-mode-handler.js +388 -0
  492. package/dist/services/plan-mode-handler.js.map +1 -0
  493. package/dist/services/plan-persistence.d.ts +203 -0
  494. package/dist/services/plan-persistence.d.ts.map +1 -0
  495. package/dist/services/plan-persistence.js +538 -0
  496. package/dist/services/plan-persistence.js.map +1 -0
  497. package/dist/services/prompt-preprocessor.d.ts +73 -0
  498. package/dist/services/prompt-preprocessor.d.ts.map +1 -0
  499. package/dist/services/prompt-preprocessor.js +146 -0
  500. package/dist/services/prompt-preprocessor.js.map +1 -0
  501. package/dist/services/rating-service.d.ts +84 -0
  502. package/dist/services/rating-service.d.ts.map +1 -0
  503. package/dist/services/rating-service.js +171 -0
  504. package/dist/services/rating-service.js.map +1 -0
  505. package/dist/services/rating-state-manager.d.ts +131 -0
  506. package/dist/services/rating-state-manager.d.ts.map +1 -0
  507. package/dist/services/rating-state-manager.js +270 -0
  508. package/dist/services/rating-state-manager.js.map +1 -0
  509. package/dist/services/sdk-runner.d.ts +113 -0
  510. package/dist/services/sdk-runner.d.ts.map +1 -0
  511. package/dist/services/sdk-runner.js +1424 -0
  512. package/dist/services/sdk-runner.js.map +1 -0
  513. package/dist/services/session-manager.d.ts +528 -0
  514. package/dist/services/session-manager.d.ts.map +1 -0
  515. package/dist/services/session-manager.js +1184 -0
  516. package/dist/services/session-manager.js.map +1 -0
  517. package/dist/services/shell-executor.d.ts +337 -0
  518. package/dist/services/shell-executor.d.ts.map +1 -0
  519. package/dist/services/shell-executor.js +1201 -0
  520. package/dist/services/shell-executor.js.map +1 -0
  521. package/dist/services/skill-service.d.ts +149 -0
  522. package/dist/services/skill-service.d.ts.map +1 -0
  523. package/dist/services/skill-service.js +594 -0
  524. package/dist/services/skill-service.js.map +1 -0
  525. package/dist/services/statusline-executor.d.ts +102 -0
  526. package/dist/services/statusline-executor.d.ts.map +1 -0
  527. package/dist/services/statusline-executor.js +305 -0
  528. package/dist/services/statusline-executor.js.map +1 -0
  529. package/dist/services/step-tracker.d.ts +356 -0
  530. package/dist/services/step-tracker.d.ts.map +1 -0
  531. package/dist/services/step-tracker.js +634 -0
  532. package/dist/services/step-tracker.js.map +1 -0
  533. package/dist/services/system-event-logger.d.ts +473 -0
  534. package/dist/services/system-event-logger.d.ts.map +1 -0
  535. package/dist/services/system-event-logger.js +790 -0
  536. package/dist/services/system-event-logger.js.map +1 -0
  537. package/dist/services/system-utility-detector.d.ts +91 -0
  538. package/dist/services/system-utility-detector.d.ts.map +1 -0
  539. package/dist/services/system-utility-detector.js +238 -0
  540. package/dist/services/system-utility-detector.js.map +1 -0
  541. package/dist/services/team-context-store.d.ts +100 -0
  542. package/dist/services/team-context-store.d.ts.map +1 -0
  543. package/dist/services/team-context-store.js +513 -0
  544. package/dist/services/team-context-store.js.map +1 -0
  545. package/dist/services/temp-file-service.d.ts +164 -0
  546. package/dist/services/temp-file-service.d.ts.map +1 -0
  547. package/dist/services/temp-file-service.js +303 -0
  548. package/dist/services/temp-file-service.js.map +1 -0
  549. package/dist/services/token-limit-enforcer.d.ts +53 -0
  550. package/dist/services/token-limit-enforcer.d.ts.map +1 -0
  551. package/dist/services/token-limit-enforcer.js +90 -0
  552. package/dist/services/token-limit-enforcer.js.map +1 -0
  553. package/dist/services/token-limit-store.d.ts +105 -0
  554. package/dist/services/token-limit-store.d.ts.map +1 -0
  555. package/dist/services/token-limit-store.js +288 -0
  556. package/dist/services/token-limit-store.js.map +1 -0
  557. package/dist/services/token-tracker.d.ts +290 -0
  558. package/dist/services/token-tracker.d.ts.map +1 -0
  559. package/dist/services/token-tracker.js +751 -0
  560. package/dist/services/token-tracker.js.map +1 -0
  561. package/dist/services/tool-registry.d.ts +302 -0
  562. package/dist/services/tool-registry.d.ts.map +1 -0
  563. package/dist/services/tool-registry.js +606 -0
  564. package/dist/services/tool-registry.js.map +1 -0
  565. package/dist/services/tools-logger.d.ts +152 -0
  566. package/dist/services/tools-logger.d.ts.map +1 -0
  567. package/dist/services/tools-logger.js +222 -0
  568. package/dist/services/tools-logger.js.map +1 -0
  569. package/dist/services/update-plan-handler.d.ts +56 -0
  570. package/dist/services/update-plan-handler.d.ts.map +1 -0
  571. package/dist/services/update-plan-handler.js +372 -0
  572. package/dist/services/update-plan-handler.js.map +1 -0
  573. package/dist/services/update-service.d.ts +197 -0
  574. package/dist/services/update-service.d.ts.map +1 -0
  575. package/dist/services/update-service.js +749 -0
  576. package/dist/services/update-service.js.map +1 -0
  577. package/dist/services/verifier.d.ts +113 -0
  578. package/dist/services/verifier.d.ts.map +1 -0
  579. package/dist/services/verifier.js +541 -0
  580. package/dist/services/verifier.js.map +1 -0
  581. package/dist/services/workflow-manager.d.ts +277 -0
  582. package/dist/services/workflow-manager.d.ts.map +1 -0
  583. package/dist/services/workflow-manager.js +616 -0
  584. package/dist/services/workflow-manager.js.map +1 -0
  585. package/dist/services/workflow-orchestrator.d.ts +148 -0
  586. package/dist/services/workflow-orchestrator.d.ts.map +1 -0
  587. package/dist/services/workflow-orchestrator.js +617 -0
  588. package/dist/services/workflow-orchestrator.js.map +1 -0
  589. package/dist/services/worktree-manager.d.ts +36 -0
  590. package/dist/services/worktree-manager.d.ts.map +1 -0
  591. package/dist/services/worktree-manager.js +185 -0
  592. package/dist/services/worktree-manager.js.map +1 -0
  593. package/dist/templates/ascii-art.d.ts +136 -0
  594. package/dist/templates/ascii-art.d.ts.map +1 -0
  595. package/dist/templates/ascii-art.js +286 -0
  596. package/dist/templates/ascii-art.js.map +1 -0
  597. package/dist/templates/help.d.ts +186 -0
  598. package/dist/templates/help.d.ts.map +1 -0
  599. package/dist/templates/help.js +588 -0
  600. package/dist/templates/help.js.map +1 -0
  601. package/dist/templates/prompts/workflow-prompts.d.ts +9 -0
  602. package/dist/templates/prompts/workflow-prompts.d.ts.map +1 -0
  603. package/dist/templates/prompts/workflow-prompts.js +9 -0
  604. package/dist/templates/prompts/workflow-prompts.js.map +1 -0
  605. package/dist/tools/agent-tools.d.ts +9 -0
  606. package/dist/tools/agent-tools.d.ts.map +1 -0
  607. package/dist/tools/agent-tools.js +349 -0
  608. package/dist/tools/agent-tools.js.map +1 -0
  609. package/dist/tools/edit-replacers.d.ts +90 -0
  610. package/dist/tools/edit-replacers.d.ts.map +1 -0
  611. package/dist/tools/edit-replacers.js +553 -0
  612. package/dist/tools/edit-replacers.js.map +1 -0
  613. package/dist/tools/file-tools.d.ts +13 -0
  614. package/dist/tools/file-tools.d.ts.map +1 -0
  615. package/dist/tools/file-tools.js +954 -0
  616. package/dist/tools/file-tools.js.map +1 -0
  617. package/dist/tools/git-tools.d.ts +9 -0
  618. package/dist/tools/git-tools.d.ts.map +1 -0
  619. package/dist/tools/git-tools.js +261 -0
  620. package/dist/tools/git-tools.js.map +1 -0
  621. package/dist/tools/index.d.ts +13 -0
  622. package/dist/tools/index.d.ts.map +1 -0
  623. package/dist/tools/index.js +70 -0
  624. package/dist/tools/index.js.map +1 -0
  625. package/dist/tools/network-tools.d.ts +8 -0
  626. package/dist/tools/network-tools.d.ts.map +1 -0
  627. package/dist/tools/network-tools.js +261 -0
  628. package/dist/tools/network-tools.js.map +1 -0
  629. package/dist/tools/openai-tools.d.ts +16 -0
  630. package/dist/tools/openai-tools.d.ts.map +1 -0
  631. package/dist/tools/openai-tools.js +385 -0
  632. package/dist/tools/openai-tools.js.map +1 -0
  633. package/dist/tools/plan-tools.d.ts +9 -0
  634. package/dist/tools/plan-tools.d.ts.map +1 -0
  635. package/dist/tools/plan-tools.js +223 -0
  636. package/dist/tools/plan-tools.js.map +1 -0
  637. package/dist/tools/schedule-tools.d.ts +9 -0
  638. package/dist/tools/schedule-tools.d.ts.map +1 -0
  639. package/dist/tools/schedule-tools.js +405 -0
  640. package/dist/tools/schedule-tools.js.map +1 -0
  641. package/dist/tools/search-tools.d.ts +8 -0
  642. package/dist/tools/search-tools.d.ts.map +1 -0
  643. package/dist/tools/search-tools.js +357 -0
  644. package/dist/tools/search-tools.js.map +1 -0
  645. package/dist/tools/shared-utils.d.ts +91 -0
  646. package/dist/tools/shared-utils.d.ts.map +1 -0
  647. package/dist/tools/shared-utils.js +385 -0
  648. package/dist/tools/shared-utils.js.map +1 -0
  649. package/dist/tools/shell-tools.d.ts +9 -0
  650. package/dist/tools/shell-tools.d.ts.map +1 -0
  651. package/dist/tools/shell-tools.js +409 -0
  652. package/dist/tools/shell-tools.js.map +1 -0
  653. package/dist/tools/skill-tools.d.ts +13 -0
  654. package/dist/tools/skill-tools.d.ts.map +1 -0
  655. package/dist/tools/skill-tools.js +244 -0
  656. package/dist/tools/skill-tools.js.map +1 -0
  657. package/dist/tools/swarm-tools.d.ts +9 -0
  658. package/dist/tools/swarm-tools.d.ts.map +1 -0
  659. package/dist/tools/swarm-tools.js +422 -0
  660. package/dist/tools/swarm-tools.js.map +1 -0
  661. package/dist/tools/user-tools.d.ts +13 -0
  662. package/dist/tools/user-tools.d.ts.map +1 -0
  663. package/dist/tools/user-tools.js +232 -0
  664. package/dist/tools/user-tools.js.map +1 -0
  665. package/dist/types/agent-process.d.ts +244 -0
  666. package/dist/types/agent-process.d.ts.map +1 -0
  667. package/dist/types/agent-process.js +93 -0
  668. package/dist/types/agent-process.js.map +1 -0
  669. package/dist/types/agent.d.ts +358 -0
  670. package/dist/types/agent.d.ts.map +1 -0
  671. package/dist/types/agent.js +171 -0
  672. package/dist/types/agent.js.map +1 -0
  673. package/dist/types/anthropic.d.ts +438 -0
  674. package/dist/types/anthropic.d.ts.map +1 -0
  675. package/dist/types/anthropic.js +9 -0
  676. package/dist/types/anthropic.js.map +1 -0
  677. package/dist/types/approval.d.ts +332 -0
  678. package/dist/types/approval.d.ts.map +1 -0
  679. package/dist/types/approval.js +44 -0
  680. package/dist/types/approval.js.map +1 -0
  681. package/dist/types/autocomplete.d.ts +57 -0
  682. package/dist/types/autocomplete.d.ts.map +1 -0
  683. package/dist/types/autocomplete.js +7 -0
  684. package/dist/types/autocomplete.js.map +1 -0
  685. package/dist/types/chat-archive.d.ts +161 -0
  686. package/dist/types/chat-archive.d.ts.map +1 -0
  687. package/dist/types/chat-archive.js +36 -0
  688. package/dist/types/chat-archive.js.map +1 -0
  689. package/dist/types/config.d.ts +268 -0
  690. package/dist/types/config.d.ts.map +1 -0
  691. package/dist/types/config.js +188 -0
  692. package/dist/types/config.js.map +1 -0
  693. package/dist/types/consent.d.ts +191 -0
  694. package/dist/types/consent.d.ts.map +1 -0
  695. package/dist/types/consent.js +119 -0
  696. package/dist/types/consent.js.map +1 -0
  697. package/dist/types/custom-command.d.ts +139 -0
  698. package/dist/types/custom-command.d.ts.map +1 -0
  699. package/dist/types/custom-command.js +7 -0
  700. package/dist/types/custom-command.js.map +1 -0
  701. package/dist/types/git.d.ts +20 -0
  702. package/dist/types/git.d.ts.map +1 -0
  703. package/dist/types/git.js +2 -0
  704. package/dist/types/git.js.map +1 -0
  705. package/dist/types/hook.d.ts +342 -0
  706. package/dist/types/hook.d.ts.map +1 -0
  707. package/dist/types/hook.js +84 -0
  708. package/dist/types/hook.js.map +1 -0
  709. package/dist/types/index.d.ts +86 -0
  710. package/dist/types/index.d.ts.map +1 -0
  711. package/dist/types/index.js +71 -0
  712. package/dist/types/index.js.map +1 -0
  713. package/dist/types/mcp.d.ts +456 -0
  714. package/dist/types/mcp.d.ts.map +1 -0
  715. package/dist/types/mcp.js +94 -0
  716. package/dist/types/mcp.js.map +1 -0
  717. package/dist/types/rating.d.ts +110 -0
  718. package/dist/types/rating.d.ts.map +1 -0
  719. package/dist/types/rating.js +53 -0
  720. package/dist/types/rating.js.map +1 -0
  721. package/dist/types/schedule.d.ts +91 -0
  722. package/dist/types/schedule.d.ts.map +1 -0
  723. package/dist/types/schedule.js +8 -0
  724. package/dist/types/schedule.js.map +1 -0
  725. package/dist/types/session.d.ts +361 -0
  726. package/dist/types/session.d.ts.map +1 -0
  727. package/dist/types/session.js +9 -0
  728. package/dist/types/session.js.map +1 -0
  729. package/dist/types/skill.d.ts +258 -0
  730. package/dist/types/skill.d.ts.map +1 -0
  731. package/dist/types/skill.js +79 -0
  732. package/dist/types/skill.js.map +1 -0
  733. package/dist/types/statusline.d.ts +212 -0
  734. package/dist/types/statusline.d.ts.map +1 -0
  735. package/dist/types/statusline.js +8 -0
  736. package/dist/types/statusline.js.map +1 -0
  737. package/dist/types/stream.d.ts +61 -0
  738. package/dist/types/stream.d.ts.map +1 -0
  739. package/dist/types/stream.js +17 -0
  740. package/dist/types/stream.js.map +1 -0
  741. package/dist/types/swarm.d.ts +132 -0
  742. package/dist/types/swarm.d.ts.map +1 -0
  743. package/dist/types/swarm.js +21 -0
  744. package/dist/types/swarm.js.map +1 -0
  745. package/dist/types/token-limits.d.ts +107 -0
  746. package/dist/types/token-limits.d.ts.map +1 -0
  747. package/dist/types/token-limits.js +57 -0
  748. package/dist/types/token-limits.js.map +1 -0
  749. package/dist/types/token.d.ts +329 -0
  750. package/dist/types/token.d.ts.map +1 -0
  751. package/dist/types/token.js +9 -0
  752. package/dist/types/token.js.map +1 -0
  753. package/dist/types/update.d.ts +189 -0
  754. package/dist/types/update.d.ts.map +1 -0
  755. package/dist/types/update.js +55 -0
  756. package/dist/types/update.js.map +1 -0
  757. package/dist/types/workflow.d.ts +396 -0
  758. package/dist/types/workflow.d.ts.map +1 -0
  759. package/dist/types/workflow.js +46 -0
  760. package/dist/types/workflow.js.map +1 -0
  761. package/dist/ui/App.d.ts +62 -0
  762. package/dist/ui/App.d.ts.map +1 -0
  763. package/dist/ui/App.js +511 -0
  764. package/dist/ui/App.js.map +1 -0
  765. package/dist/ui/InteractiveSession.d.ts +34 -0
  766. package/dist/ui/InteractiveSession.d.ts.map +1 -0
  767. package/dist/ui/InteractiveSession.js +3611 -0
  768. package/dist/ui/InteractiveSession.js.map +1 -0
  769. package/dist/ui/MCPApprovalPrompt.d.ts +27 -0
  770. package/dist/ui/MCPApprovalPrompt.d.ts.map +1 -0
  771. package/dist/ui/MCPApprovalPrompt.js +51 -0
  772. package/dist/ui/MCPApprovalPrompt.js.map +1 -0
  773. package/dist/ui/SetupWizard.d.ts +26 -0
  774. package/dist/ui/SetupWizard.d.ts.map +1 -0
  775. package/dist/ui/SetupWizard.js +396 -0
  776. package/dist/ui/SetupWizard.js.map +1 -0
  777. package/dist/ui/components/AgentCreationWizard.d.ts +36 -0
  778. package/dist/ui/components/AgentCreationWizard.d.ts.map +1 -0
  779. package/dist/ui/components/AgentCreationWizard.js +619 -0
  780. package/dist/ui/components/AgentCreationWizard.js.map +1 -0
  781. package/dist/ui/components/AgentManager.d.ts +41 -0
  782. package/dist/ui/components/AgentManager.d.ts.map +1 -0
  783. package/dist/ui/components/AgentManager.js +343 -0
  784. package/dist/ui/components/AgentManager.js.map +1 -0
  785. package/dist/ui/components/ApprovalDialog.d.ts +18 -0
  786. package/dist/ui/components/ApprovalDialog.d.ts.map +1 -0
  787. package/dist/ui/components/ApprovalDialog.js +439 -0
  788. package/dist/ui/components/ApprovalDialog.js.map +1 -0
  789. package/dist/ui/components/AsciiArt.d.ts +54 -0
  790. package/dist/ui/components/AsciiArt.d.ts.map +1 -0
  791. package/dist/ui/components/AsciiArt.js +89 -0
  792. package/dist/ui/components/AsciiArt.js.map +1 -0
  793. package/dist/ui/components/ClarificationWizard.d.ts +36 -0
  794. package/dist/ui/components/ClarificationWizard.d.ts.map +1 -0
  795. package/dist/ui/components/ClarificationWizard.js +407 -0
  796. package/dist/ui/components/ClarificationWizard.js.map +1 -0
  797. package/dist/ui/components/CompassSpinner.d.ts +15 -0
  798. package/dist/ui/components/CompassSpinner.d.ts.map +1 -0
  799. package/dist/ui/components/CompassSpinner.js +50 -0
  800. package/dist/ui/components/CompassSpinner.js.map +1 -0
  801. package/dist/ui/components/ConfirmationSelector.d.ts +45 -0
  802. package/dist/ui/components/ConfirmationSelector.d.ts.map +1 -0
  803. package/dist/ui/components/ConfirmationSelector.js +106 -0
  804. package/dist/ui/components/ConfirmationSelector.js.map +1 -0
  805. package/dist/ui/components/ContextUsage.d.ts +76 -0
  806. package/dist/ui/components/ContextUsage.d.ts.map +1 -0
  807. package/dist/ui/components/ContextUsage.js +188 -0
  808. package/dist/ui/components/ContextUsage.js.map +1 -0
  809. package/dist/ui/components/DiffPreview.d.ts +13 -0
  810. package/dist/ui/components/DiffPreview.d.ts.map +1 -0
  811. package/dist/ui/components/DiffPreview.js +30 -0
  812. package/dist/ui/components/DiffPreview.js.map +1 -0
  813. package/dist/ui/components/ExecutionModeSelector.d.ts +45 -0
  814. package/dist/ui/components/ExecutionModeSelector.d.ts.map +1 -0
  815. package/dist/ui/components/ExecutionModeSelector.js +120 -0
  816. package/dist/ui/components/ExecutionModeSelector.js.map +1 -0
  817. package/dist/ui/components/FileTree.d.ts +47 -0
  818. package/dist/ui/components/FileTree.d.ts.map +1 -0
  819. package/dist/ui/components/FileTree.js +258 -0
  820. package/dist/ui/components/FileTree.js.map +1 -0
  821. package/dist/ui/components/HelpMenu.d.ts +49 -0
  822. package/dist/ui/components/HelpMenu.d.ts.map +1 -0
  823. package/dist/ui/components/HelpMenu.js +91 -0
  824. package/dist/ui/components/HelpMenu.js.map +1 -0
  825. package/dist/ui/components/InterleavedStream.d.ts +42 -0
  826. package/dist/ui/components/InterleavedStream.d.ts.map +1 -0
  827. package/dist/ui/components/InterleavedStream.js +1500 -0
  828. package/dist/ui/components/InterleavedStream.js.map +1 -0
  829. package/dist/ui/components/ModelSelector.d.ts +81 -0
  830. package/dist/ui/components/ModelSelector.d.ts.map +1 -0
  831. package/dist/ui/components/ModelSelector.js +305 -0
  832. package/dist/ui/components/ModelSelector.js.map +1 -0
  833. package/dist/ui/components/PlanApprovalDialog.d.ts +21 -0
  834. package/dist/ui/components/PlanApprovalDialog.d.ts.map +1 -0
  835. package/dist/ui/components/PlanApprovalDialog.js +189 -0
  836. package/dist/ui/components/PlanApprovalDialog.js.map +1 -0
  837. package/dist/ui/components/PlanExecutionTracker.d.ts +53 -0
  838. package/dist/ui/components/PlanExecutionTracker.d.ts.map +1 -0
  839. package/dist/ui/components/PlanExecutionTracker.js +113 -0
  840. package/dist/ui/components/PlanExecutionTracker.js.map +1 -0
  841. package/dist/ui/components/ProgressIndicator.d.ts +151 -0
  842. package/dist/ui/components/ProgressIndicator.d.ts.map +1 -0
  843. package/dist/ui/components/ProgressIndicator.js +171 -0
  844. package/dist/ui/components/ProgressIndicator.js.map +1 -0
  845. package/dist/ui/components/Prompt.d.ts +47 -0
  846. package/dist/ui/components/Prompt.d.ts.map +1 -0
  847. package/dist/ui/components/Prompt.js +632 -0
  848. package/dist/ui/components/Prompt.js.map +1 -0
  849. package/dist/ui/components/RatingPanel.d.ts +45 -0
  850. package/dist/ui/components/RatingPanel.d.ts.map +1 -0
  851. package/dist/ui/components/RatingPanel.js +119 -0
  852. package/dist/ui/components/RatingPanel.js.map +1 -0
  853. package/dist/ui/components/StatusLine.d.ts +43 -0
  854. package/dist/ui/components/StatusLine.d.ts.map +1 -0
  855. package/dist/ui/components/StatusLine.js +44 -0
  856. package/dist/ui/components/StatusLine.js.map +1 -0
  857. package/dist/ui/components/StreamingResponse.d.ts +45 -0
  858. package/dist/ui/components/StreamingResponse.d.ts.map +1 -0
  859. package/dist/ui/components/StreamingResponse.js +56 -0
  860. package/dist/ui/components/StreamingResponse.js.map +1 -0
  861. package/dist/ui/components/TokenUsage.d.ts +89 -0
  862. package/dist/ui/components/TokenUsage.d.ts.map +1 -0
  863. package/dist/ui/components/TokenUsage.js +99 -0
  864. package/dist/ui/components/TokenUsage.js.map +1 -0
  865. package/dist/ui/components/ToolSummary.d.ts +77 -0
  866. package/dist/ui/components/ToolSummary.d.ts.map +1 -0
  867. package/dist/ui/components/ToolSummary.js +162 -0
  868. package/dist/ui/components/ToolSummary.js.map +1 -0
  869. package/dist/ui/components/UpdateNotification.d.ts +65 -0
  870. package/dist/ui/components/UpdateNotification.d.ts.map +1 -0
  871. package/dist/ui/components/UpdateNotification.js +166 -0
  872. package/dist/ui/components/UpdateNotification.js.map +1 -0
  873. package/dist/ui/diff-renderer.d.ts +18 -0
  874. package/dist/ui/diff-renderer.d.ts.map +1 -0
  875. package/dist/ui/diff-renderer.js +206 -0
  876. package/dist/ui/diff-renderer.js.map +1 -0
  877. package/dist/ui/themes/markdown-theme.d.ts +48 -0
  878. package/dist/ui/themes/markdown-theme.d.ts.map +1 -0
  879. package/dist/ui/themes/markdown-theme.js +79 -0
  880. package/dist/ui/themes/markdown-theme.js.map +1 -0
  881. package/dist/ui/themes/ui-theme.d.ts +301 -0
  882. package/dist/ui/themes/ui-theme.d.ts.map +1 -0
  883. package/dist/ui/themes/ui-theme.js +204 -0
  884. package/dist/ui/themes/ui-theme.js.map +1 -0
  885. package/dist/utils/attachment-handler.d.ts +129 -0
  886. package/dist/utils/attachment-handler.d.ts.map +1 -0
  887. package/dist/utils/attachment-handler.js +280 -0
  888. package/dist/utils/attachment-handler.js.map +1 -0
  889. package/dist/utils/backup-cleanup.d.ts +28 -0
  890. package/dist/utils/backup-cleanup.d.ts.map +1 -0
  891. package/dist/utils/backup-cleanup.js +99 -0
  892. package/dist/utils/backup-cleanup.js.map +1 -0
  893. package/dist/utils/clipboard-handler.d.ts +82 -0
  894. package/dist/utils/clipboard-handler.d.ts.map +1 -0
  895. package/dist/utils/clipboard-handler.js +311 -0
  896. package/dist/utils/clipboard-handler.js.map +1 -0
  897. package/dist/utils/cloud-detection.d.ts +14 -0
  898. package/dist/utils/cloud-detection.d.ts.map +1 -0
  899. package/dist/utils/cloud-detection.js +92 -0
  900. package/dist/utils/cloud-detection.js.map +1 -0
  901. package/dist/utils/command-parser.d.ts +56 -0
  902. package/dist/utils/command-parser.d.ts.map +1 -0
  903. package/dist/utils/command-parser.js +206 -0
  904. package/dist/utils/command-parser.js.map +1 -0
  905. package/dist/utils/console-capture.d.ts +30 -0
  906. package/dist/utils/console-capture.d.ts.map +1 -0
  907. package/dist/utils/console-capture.js +88 -0
  908. package/dist/utils/console-capture.js.map +1 -0
  909. package/dist/utils/cron-parser.d.ts +52 -0
  910. package/dist/utils/cron-parser.d.ts.map +1 -0
  911. package/dist/utils/cron-parser.js +455 -0
  912. package/dist/utils/cron-parser.js.map +1 -0
  913. package/dist/utils/crypto.d.ts +351 -0
  914. package/dist/utils/crypto.d.ts.map +1 -0
  915. package/dist/utils/crypto.js +615 -0
  916. package/dist/utils/crypto.js.map +1 -0
  917. package/dist/utils/diff.d.ts +311 -0
  918. package/dist/utils/diff.d.ts.map +1 -0
  919. package/dist/utils/diff.js +566 -0
  920. package/dist/utils/diff.js.map +1 -0
  921. package/dist/utils/editor.d.ts +12 -0
  922. package/dist/utils/editor.d.ts.map +1 -0
  923. package/dist/utils/editor.js +30 -0
  924. package/dist/utils/editor.js.map +1 -0
  925. package/dist/utils/file-system.d.ts +512 -0
  926. package/dist/utils/file-system.d.ts.map +1 -0
  927. package/dist/utils/file-system.js +798 -0
  928. package/dist/utils/file-system.js.map +1 -0
  929. package/dist/utils/format.d.ts +318 -0
  930. package/dist/utils/format.d.ts.map +1 -0
  931. package/dist/utils/format.js +587 -0
  932. package/dist/utils/format.js.map +1 -0
  933. package/dist/utils/ignore-patterns.d.ts +93 -0
  934. package/dist/utils/ignore-patterns.d.ts.map +1 -0
  935. package/dist/utils/ignore-patterns.js +710 -0
  936. package/dist/utils/ignore-patterns.js.map +1 -0
  937. package/dist/utils/log-cleanup.d.ts +16 -0
  938. package/dist/utils/log-cleanup.d.ts.map +1 -0
  939. package/dist/utils/log-cleanup.js +51 -0
  940. package/dist/utils/log-cleanup.js.map +1 -0
  941. package/dist/utils/logger.d.ts +305 -0
  942. package/dist/utils/logger.d.ts.map +1 -0
  943. package/dist/utils/logger.js +447 -0
  944. package/dist/utils/logger.js.map +1 -0
  945. package/dist/utils/path.d.ts +406 -0
  946. package/dist/utils/path.d.ts.map +1 -0
  947. package/dist/utils/path.js +549 -0
  948. package/dist/utils/path.js.map +1 -0
  949. package/dist/utils/schedule-file.d.ts +63 -0
  950. package/dist/utils/schedule-file.d.ts.map +1 -0
  951. package/dist/utils/schedule-file.js +244 -0
  952. package/dist/utils/schedule-file.js.map +1 -0
  953. package/dist/utils/task-id.d.ts +29 -0
  954. package/dist/utils/task-id.d.ts.map +1 -0
  955. package/dist/utils/task-id.js +53 -0
  956. package/dist/utils/task-id.js.map +1 -0
  957. package/dist/utils/temp-cleanup.d.ts +46 -0
  958. package/dist/utils/temp-cleanup.d.ts.map +1 -0
  959. package/dist/utils/temp-cleanup.js +95 -0
  960. package/dist/utils/temp-cleanup.js.map +1 -0
  961. package/dist/utils/terminal-output.d.ts +34 -0
  962. package/dist/utils/terminal-output.d.ts.map +1 -0
  963. package/dist/utils/terminal-output.js +40 -0
  964. package/dist/utils/terminal-output.js.map +1 -0
  965. package/dist/utils/token-counter.d.ts +224 -0
  966. package/dist/utils/token-counter.d.ts.map +1 -0
  967. package/dist/utils/token-counter.js +332 -0
  968. package/dist/utils/token-counter.js.map +1 -0
  969. package/dist/utils/tool-mapper.d.ts +70 -0
  970. package/dist/utils/tool-mapper.d.ts.map +1 -0
  971. package/dist/utils/tool-mapper.js +234 -0
  972. package/dist/utils/tool-mapper.js.map +1 -0
  973. package/package.json +2 -1
  974. package/scripts/preuninstall.mjs +99 -0
@@ -0,0 +1,892 @@
1
+ /**
2
+ * MCP OAuth Service.
3
+ *
4
+ * Handles OAuth 2.0 authentication for MCP servers that require it.
5
+ * Features:
6
+ * - OAuth 2.0 authorization code flow
7
+ * - Token storage and refresh
8
+ * - Local callback server for OAuth redirects
9
+ * - Automatic token refresh
10
+ */
11
+ import { createServer } from 'http';
12
+ import { URL, URLSearchParams } from 'url';
13
+ import { createHash, randomBytes } from 'crypto';
14
+ import { logger } from '../utils/logger.js';
15
+ import { safeReadFile, safeWriteFile, pathExists, ensureDir } from '../utils/file-system.js';
16
+ import { getGlobalCompassDir } from '../utils/path.js';
17
+ /**
18
+ * Built-in OAuth configurations for known MCP servers.
19
+ * These are bundled with Kore-CLI so users don't need to register their own OAuth apps.
20
+ *
21
+ * The client credentials here are for the "Kore-CLI" OAuth application registered
22
+ * with each service. Using PKCE, so client_secret exposure is acceptable for public clients.
23
+ *
24
+ * To add credentials:
25
+ * - Set via environment variables (FIGMA_MCP_CLIENT_ID, FIGMA_MCP_CLIENT_SECRET)
26
+ * - Or hardcode the values directly below for distribution
27
+ */
28
+ const KNOWN_MCP_OAUTH_CONFIGS = {
29
+ // Figma MCP Server - uses Kore-CLI OAuth application
30
+ // Get your credentials from: https://www.figma.com/developers/apps
31
+ // Scopes reference: https://developers.figma.com/docs/rest-api/scopes/
32
+ 'mcp.figma.com': {
33
+ clientId: process.env.FIGMA_MCP_CLIENT_ID || '7cLAcGuKlF257dbgakWp7O',
34
+ clientSecret: process.env.FIGMA_MCP_CLIENT_SECRET || 'zPgspJQf9J5WfDxXjYc0XxTB9fFOpL',
35
+ // OAuth URLs - see: https://developers.figma.com/docs/rest-api/authentication/
36
+ authorizationUrl: 'https://www.figma.com/oauth',
37
+ tokenUrl: 'https://api.figma.com/v1/oauth/token', // Note: api.figma.com, not www.figma.com
38
+ // Required scopes for Figma MCP - enable these in your Figma app settings:
39
+ // See: https://developers.figma.com/docs/rest-api/scopes/
40
+ scopes: [
41
+ 'file_content:read', // Read the contents of files (nodes, editor type)
42
+ 'file_metadata:read', // Read metadata of files
43
+ 'file_dev_resources:read', // Read dev resources in files
44
+ 'file_dev_resources:write', // Write dev resources to files
45
+ // Note: file_variables:read/write are Enterprise-only
46
+ ],
47
+ },
48
+ // Add more known MCP servers here as needed:
49
+ // 'mcp.example.com': {
50
+ // clientId: process.env.EXAMPLE_MCP_CLIENT_ID || 'client-id',
51
+ // clientSecret: process.env.EXAMPLE_MCP_CLIENT_SECRET || 'client-secret',
52
+ // },
53
+ };
54
+ /**
55
+ * Registry of known MCP providers with their authentication restrictions and fallbacks.
56
+ * This helps users when they encounter authentication issues with specific providers.
57
+ */
58
+ const KNOWN_MCP_PROVIDERS = [
59
+ {
60
+ name: 'figma',
61
+ remoteUrlPattern: /^https?:\/\/(mcp\.)?figma\.com/i,
62
+ oauthRestricted: true,
63
+ approvedClients: ['VS Code', 'Cursor', 'Claude Code'],
64
+ fallback: {
65
+ name: 'Figma Desktop MCP Server',
66
+ reason: 'Figma restricts remote MCP OAuth to approved clients only. Use the local desktop server instead.',
67
+ config: {
68
+ type: 'http',
69
+ url: 'http://127.0.0.1:3845/mcp',
70
+ enabled: true,
71
+ },
72
+ requirements: [
73
+ 'Figma desktop app installed and running',
74
+ 'Logged in to your Figma account',
75
+ 'A Design file open with Dev Mode enabled',
76
+ ],
77
+ setupInstructions: [
78
+ '1. Open Figma desktop app (ensure latest version)',
79
+ '2. Create or open a Design file',
80
+ '3. Enable Dev Mode (toolbar or Shift+D)',
81
+ '4. In the Inspect panel, enable MCP server',
82
+ '5. Update your .mcp.json to use: http://127.0.0.1:3845/mcp',
83
+ ],
84
+ },
85
+ },
86
+ ];
87
+ /**
88
+ * Gets provider info for a server URL.
89
+ */
90
+ export function getProviderInfo(serverUrl) {
91
+ for (const provider of KNOWN_MCP_PROVIDERS) {
92
+ if (provider.remoteUrlPattern.test(serverUrl)) {
93
+ return provider;
94
+ }
95
+ }
96
+ return undefined;
97
+ }
98
+ /**
99
+ * Gets fallback configuration for a server URL if available.
100
+ */
101
+ export function getFallbackConfig(serverUrl) {
102
+ const provider = getProviderInfo(serverUrl);
103
+ return provider?.fallback;
104
+ }
105
+ /**
106
+ * Checks if a server URL is for a provider with restricted OAuth.
107
+ */
108
+ export function isOAuthRestricted(serverUrl) {
109
+ const provider = getProviderInfo(serverUrl);
110
+ return provider?.oauthRestricted ?? false;
111
+ }
112
+ /**
113
+ * Checks if the local Figma MCP server is available.
114
+ * Returns true if the server responds to a health check.
115
+ */
116
+ export async function checkLocalFigmaServer() {
117
+ try {
118
+ const controller = new AbortController();
119
+ const timeoutId = setTimeout(() => controller.abort(), 2000);
120
+ const response = await fetch('http://127.0.0.1:3845/mcp', {
121
+ method: 'POST',
122
+ headers: { 'Content-Type': 'application/json' },
123
+ body: JSON.stringify({
124
+ jsonrpc: '2.0',
125
+ id: 1,
126
+ method: 'initialize',
127
+ params: {
128
+ protocolVersion: '2024-11-05',
129
+ capabilities: {},
130
+ clientInfo: { name: 'kore-cli', version: '1.0.0' },
131
+ },
132
+ }),
133
+ signal: controller.signal,
134
+ });
135
+ clearTimeout(timeoutId);
136
+ return response.ok;
137
+ }
138
+ catch {
139
+ return false;
140
+ }
141
+ }
142
+ /**
143
+ * Gets the built-in OAuth config for a known MCP server URL.
144
+ * Returns undefined if the server is not in the known registry or has placeholder credentials.
145
+ */
146
+ function getKnownOAuthConfig(serverUrl) {
147
+ try {
148
+ const url = new URL(serverUrl);
149
+ const host = url.host.toLowerCase();
150
+ // Check for exact match or subdomain match
151
+ for (const [knownHost, config] of Object.entries(KNOWN_MCP_OAUTH_CONFIGS)) {
152
+ if (host === knownHost || host.endsWith(`.${knownHost}`)) {
153
+ // Only return if we have real credentials (not placeholders)
154
+ const hasRealClientId = config.clientId &&
155
+ !config.clientId.includes('YOUR_') &&
156
+ !config.clientId.includes('_HERE');
157
+ if (hasRealClientId) {
158
+ logger.debug(`Found built-in OAuth config for ${knownHost}`);
159
+ return config;
160
+ }
161
+ else {
162
+ // Return URLs only (for discovery) if credentials are placeholders
163
+ if (config.authorizationUrl || config.tokenUrl) {
164
+ logger.debug(`Found built-in OAuth URLs (no credentials) for ${knownHost}`);
165
+ return {
166
+ authorizationUrl: config.authorizationUrl,
167
+ tokenUrl: config.tokenUrl,
168
+ scopes: config.scopes,
169
+ };
170
+ }
171
+ }
172
+ }
173
+ }
174
+ }
175
+ catch {
176
+ // Invalid URL, ignore
177
+ }
178
+ return undefined;
179
+ }
180
+ /**
181
+ * MCP OAuth Service class.
182
+ */
183
+ class MCPOAuthService {
184
+ storage = { tokens: {} };
185
+ storagePath;
186
+ pendingAuths = new Map();
187
+ callbackServer = null;
188
+ callbackPort = 23456; // Default callback port
189
+ constructor() {
190
+ this.storagePath = `${getGlobalCompassDir()}/mcp-oauth.json`;
191
+ }
192
+ /**
193
+ * Loads stored OAuth tokens.
194
+ */
195
+ async load() {
196
+ try {
197
+ if (await pathExists(this.storagePath)) {
198
+ const content = await safeReadFile(this.storagePath);
199
+ this.storage = JSON.parse(content || '{"tokens":{}}');
200
+ }
201
+ }
202
+ catch (error) {
203
+ logger.warn('Failed to load OAuth storage', error);
204
+ this.storage = { tokens: {} };
205
+ }
206
+ }
207
+ /**
208
+ * Saves OAuth tokens.
209
+ */
210
+ async save() {
211
+ try {
212
+ await ensureDir(getGlobalCompassDir());
213
+ await safeWriteFile(this.storagePath, JSON.stringify(this.storage, null, 2));
214
+ }
215
+ catch (error) {
216
+ logger.error('Failed to save OAuth storage', error);
217
+ }
218
+ }
219
+ /**
220
+ * Gets authentication state for a server.
221
+ */
222
+ getAuthState(serverName, oauthConfig) {
223
+ const tokens = this.storage.tokens[serverName];
224
+ const authenticated = !!tokens && this.isTokenValid(tokens);
225
+ return {
226
+ serverName,
227
+ required: !!oauthConfig,
228
+ authenticated,
229
+ oauth: oauthConfig,
230
+ tokens: authenticated ? tokens : undefined,
231
+ method: oauthConfig ? 'oauth' : 'none',
232
+ };
233
+ }
234
+ /**
235
+ * Checks if tokens are valid (not expired).
236
+ */
237
+ isTokenValid(tokens) {
238
+ if (!tokens.expiresAt) {
239
+ return true; // No expiration means always valid
240
+ }
241
+ const expiresAt = new Date(tokens.expiresAt);
242
+ const now = new Date();
243
+ // Consider token expired 5 minutes early to allow for refresh
244
+ return expiresAt.getTime() - 5 * 60 * 1000 > now.getTime();
245
+ }
246
+ /**
247
+ * Gets stored tokens for a server.
248
+ */
249
+ getTokens(serverName) {
250
+ return this.storage.tokens[serverName];
251
+ }
252
+ /**
253
+ * Starts the OAuth authorization flow.
254
+ */
255
+ async startAuthFlow(serverName, oauthConfig) {
256
+ if (!oauthConfig.authorizationUrl || !oauthConfig.clientId) {
257
+ return {
258
+ authUrl: '',
259
+ error: 'OAuth configuration incomplete: missing authorizationUrl or clientId',
260
+ };
261
+ }
262
+ try {
263
+ // Start callback server if not running
264
+ await this.startCallbackServer();
265
+ // Generate PKCE code verifier and challenge
266
+ const codeVerifier = this.generateCodeVerifier();
267
+ const codeChallenge = this.generateCodeChallenge(codeVerifier);
268
+ // Generate state for CSRF protection
269
+ const state = randomBytes(16).toString('hex');
270
+ // Store pending auth state
271
+ this.pendingAuths.set(state, {
272
+ serverName,
273
+ state,
274
+ codeVerifier,
275
+ createdAt: new Date(),
276
+ });
277
+ // Build authorization URL
278
+ const authUrl = new URL(oauthConfig.authorizationUrl);
279
+ authUrl.searchParams.set('client_id', oauthConfig.clientId);
280
+ authUrl.searchParams.set('response_type', 'code');
281
+ authUrl.searchParams.set('redirect_uri', this.getRedirectUri());
282
+ authUrl.searchParams.set('state', state);
283
+ authUrl.searchParams.set('code_challenge', codeChallenge);
284
+ authUrl.searchParams.set('code_challenge_method', 'S256');
285
+ if (oauthConfig.scopes?.length) {
286
+ authUrl.searchParams.set('scope', oauthConfig.scopes.join(' '));
287
+ }
288
+ logger.info(`Starting OAuth flow for ${serverName}`);
289
+ return { authUrl: authUrl.toString() };
290
+ }
291
+ catch (error) {
292
+ const errorMessage = error instanceof Error ? error.message : String(error);
293
+ logger.error(`Failed to start OAuth flow for ${serverName}:`, error);
294
+ return { authUrl: '', error: errorMessage };
295
+ }
296
+ }
297
+ /**
298
+ * Starts the local callback server for OAuth redirects.
299
+ */
300
+ async startCallbackServer() {
301
+ if (this.callbackServer) {
302
+ return;
303
+ }
304
+ return new Promise((resolve, reject) => {
305
+ this.callbackServer = createServer(this.handleCallback.bind(this));
306
+ this.callbackServer.on('error', (error) => {
307
+ if (error.code === 'EADDRINUSE') {
308
+ // Try next port
309
+ this.callbackPort++;
310
+ this.callbackServer = null;
311
+ this.startCallbackServer().then(resolve).catch(reject);
312
+ }
313
+ else {
314
+ reject(error);
315
+ }
316
+ });
317
+ this.callbackServer.listen(this.callbackPort, '127.0.0.1', () => {
318
+ logger.debug(`OAuth callback server listening on port ${this.callbackPort}`);
319
+ resolve();
320
+ });
321
+ });
322
+ }
323
+ /**
324
+ * Handles OAuth callback requests.
325
+ */
326
+ async handleCallback(req, res) {
327
+ try {
328
+ const url = new URL(req.url || '', `http://127.0.0.1:${this.callbackPort}`);
329
+ if (url.pathname !== '/oauth/callback') {
330
+ res.writeHead(404);
331
+ res.end('Not found');
332
+ return;
333
+ }
334
+ const code = url.searchParams.get('code');
335
+ const state = url.searchParams.get('state');
336
+ const error = url.searchParams.get('error');
337
+ if (error) {
338
+ res.writeHead(400);
339
+ res.end(`OAuth error: ${error}`);
340
+ return;
341
+ }
342
+ if (!code || !state) {
343
+ res.writeHead(400);
344
+ res.end('Missing code or state parameter');
345
+ return;
346
+ }
347
+ const pendingAuth = this.pendingAuths.get(state);
348
+ if (!pendingAuth) {
349
+ res.writeHead(400);
350
+ res.end('Invalid state parameter');
351
+ return;
352
+ }
353
+ // Clean up pending auth
354
+ this.pendingAuths.delete(state);
355
+ // Display success page
356
+ res.writeHead(200, { 'Content-Type': 'text/html' });
357
+ res.end(`
358
+ <!DOCTYPE html>
359
+ <html>
360
+ <head>
361
+ <title>Compass CLI - OAuth Success</title>
362
+ <style>
363
+ body { font-family: -apple-system, BlinkMacSystemFont, sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background: #1a1a2e; color: #eee; }
364
+ .container { text-align: center; padding: 2rem; }
365
+ h1 { color: #4ade80; }
366
+ p { color: #9ca3af; }
367
+ </style>
368
+ </head>
369
+ <body>
370
+ <div class="container">
371
+ <h1>Authentication Successful</h1>
372
+ <p>You can close this window and return to Compass CLI.</p>
373
+ </div>
374
+ </body>
375
+ </html>
376
+ `);
377
+ // Store the auth code for later exchange
378
+ // The code exchange happens separately via completeAuthFlow
379
+ this.pendingAuths.set(`code:${pendingAuth.serverName}`, {
380
+ ...pendingAuth,
381
+ state: code, // Temporarily store code in state field
382
+ });
383
+ logger.info(`OAuth callback received for ${pendingAuth.serverName}`);
384
+ }
385
+ catch (error) {
386
+ logger.error('Error handling OAuth callback:', error);
387
+ res.writeHead(500);
388
+ res.end('Internal server error');
389
+ }
390
+ }
391
+ /**
392
+ * Completes the OAuth flow by exchanging the code for tokens.
393
+ */
394
+ async completeAuthFlow(serverName, oauthConfig) {
395
+ const pendingKey = `code:${serverName}`;
396
+ const pendingAuth = this.pendingAuths.get(pendingKey);
397
+ if (!pendingAuth) {
398
+ return {
399
+ success: false,
400
+ error: 'No pending OAuth flow for this server',
401
+ };
402
+ }
403
+ const code = pendingAuth.state;
404
+ const codeVerifier = pendingAuth.codeVerifier;
405
+ this.pendingAuths.delete(pendingKey);
406
+ if (!oauthConfig.tokenUrl) {
407
+ return {
408
+ success: false,
409
+ error: 'OAuth configuration incomplete: missing tokenUrl',
410
+ };
411
+ }
412
+ try {
413
+ // Exchange code for tokens
414
+ const tokenParams = new URLSearchParams();
415
+ tokenParams.set('grant_type', 'authorization_code');
416
+ tokenParams.set('client_id', oauthConfig.clientId || '');
417
+ tokenParams.set('code', code);
418
+ tokenParams.set('redirect_uri', this.getRedirectUri());
419
+ tokenParams.set('code_verifier', codeVerifier);
420
+ if (oauthConfig.clientSecret) {
421
+ tokenParams.set('client_secret', oauthConfig.clientSecret);
422
+ }
423
+ const response = await fetch(oauthConfig.tokenUrl, {
424
+ method: 'POST',
425
+ headers: {
426
+ 'Content-Type': 'application/x-www-form-urlencoded',
427
+ },
428
+ body: tokenParams.toString(),
429
+ });
430
+ if (!response.ok) {
431
+ const errorText = await response.text();
432
+ return {
433
+ success: false,
434
+ error: `Token exchange failed: ${response.status} ${errorText}`,
435
+ };
436
+ }
437
+ const tokenData = (await response.json());
438
+ // Store tokens
439
+ const tokens = {
440
+ accessToken: tokenData.access_token,
441
+ tokenType: tokenData.token_type || 'Bearer',
442
+ refreshToken: tokenData.refresh_token,
443
+ expiresAt: tokenData.expires_in
444
+ ? new Date(Date.now() + tokenData.expires_in * 1000)
445
+ : undefined,
446
+ scopes: tokenData.scope?.split(' '),
447
+ };
448
+ this.storage.tokens[serverName] = tokens;
449
+ await this.save();
450
+ logger.info(`OAuth flow completed for ${serverName}`);
451
+ return { success: true };
452
+ }
453
+ catch (error) {
454
+ const errorMessage = error instanceof Error ? error.message : String(error);
455
+ logger.error(`Failed to complete OAuth flow for ${serverName}:`, error);
456
+ return { success: false, error: errorMessage };
457
+ }
458
+ }
459
+ /**
460
+ * Refreshes tokens for a server.
461
+ */
462
+ async refreshTokens(serverName, oauthConfig) {
463
+ const existingTokens = this.storage.tokens[serverName];
464
+ if (!existingTokens?.refreshToken) {
465
+ return {
466
+ success: false,
467
+ error: 'No refresh token available',
468
+ };
469
+ }
470
+ if (!oauthConfig.tokenUrl) {
471
+ return {
472
+ success: false,
473
+ error: 'OAuth configuration incomplete: missing tokenUrl',
474
+ };
475
+ }
476
+ try {
477
+ const tokenParams = new URLSearchParams();
478
+ tokenParams.set('grant_type', 'refresh_token');
479
+ tokenParams.set('client_id', oauthConfig.clientId || '');
480
+ tokenParams.set('refresh_token', existingTokens.refreshToken);
481
+ if (oauthConfig.clientSecret) {
482
+ tokenParams.set('client_secret', oauthConfig.clientSecret);
483
+ }
484
+ const response = await fetch(oauthConfig.tokenUrl, {
485
+ method: 'POST',
486
+ headers: {
487
+ 'Content-Type': 'application/x-www-form-urlencoded',
488
+ },
489
+ body: tokenParams.toString(),
490
+ });
491
+ if (!response.ok) {
492
+ const errorText = await response.text();
493
+ return {
494
+ success: false,
495
+ error: `Token refresh failed: ${response.status} ${errorText}`,
496
+ };
497
+ }
498
+ const tokenData = (await response.json());
499
+ // Update tokens
500
+ this.storage.tokens[serverName] = {
501
+ accessToken: tokenData.access_token,
502
+ tokenType: tokenData.token_type || 'Bearer',
503
+ refreshToken: tokenData.refresh_token || existingTokens.refreshToken,
504
+ expiresAt: tokenData.expires_in
505
+ ? new Date(Date.now() + tokenData.expires_in * 1000)
506
+ : undefined,
507
+ scopes: tokenData.scope?.split(' ') || existingTokens.scopes,
508
+ };
509
+ await this.save();
510
+ logger.debug(`Tokens refreshed for ${serverName}`);
511
+ return { success: true };
512
+ }
513
+ catch (error) {
514
+ const errorMessage = error instanceof Error ? error.message : String(error);
515
+ logger.error(`Failed to refresh tokens for ${serverName}:`, error);
516
+ return { success: false, error: errorMessage };
517
+ }
518
+ }
519
+ /**
520
+ * Clears authentication for a server.
521
+ */
522
+ async clearAuth(serverName) {
523
+ delete this.storage.tokens[serverName];
524
+ if (this.storage.apiTokens) {
525
+ delete this.storage.apiTokens[serverName];
526
+ }
527
+ await this.save();
528
+ logger.info(`Cleared authentication for ${serverName}`);
529
+ }
530
+ /**
531
+ * Sets a simple API token for a server (non-OAuth authentication).
532
+ * Used for servers that accept Bearer tokens or API keys directly.
533
+ */
534
+ async setApiToken(serverName, token) {
535
+ if (!this.storage.apiTokens) {
536
+ this.storage.apiTokens = {};
537
+ }
538
+ this.storage.apiTokens[serverName] = token;
539
+ await this.save();
540
+ logger.info(`Stored API token for ${serverName}`);
541
+ }
542
+ /**
543
+ * Gets a simple API token for a server.
544
+ */
545
+ getApiToken(serverName) {
546
+ return this.storage.apiTokens?.[serverName];
547
+ }
548
+ /**
549
+ * Checks if a server has any form of stored authentication (OAuth or API token).
550
+ */
551
+ hasStoredAuth(serverName) {
552
+ const hasOAuth = !!this.storage.tokens[serverName] && this.isTokenValid(this.storage.tokens[serverName]);
553
+ const hasApiToken = !!this.storage.apiTokens?.[serverName];
554
+ return hasOAuth || hasApiToken;
555
+ }
556
+ /**
557
+ * Gets the OAuth redirect URI.
558
+ */
559
+ getRedirectUri() {
560
+ return `http://127.0.0.1:${this.callbackPort}/oauth/callback`;
561
+ }
562
+ /**
563
+ * Generates a PKCE code verifier.
564
+ */
565
+ generateCodeVerifier() {
566
+ return randomBytes(32)
567
+ .toString('base64')
568
+ .replace(/\+/g, '-')
569
+ .replace(/\//g, '_')
570
+ .replace(/=/g, '');
571
+ }
572
+ /**
573
+ * Generates a PKCE code challenge from verifier.
574
+ */
575
+ generateCodeChallenge(verifier) {
576
+ return createHash('sha256')
577
+ .update(verifier)
578
+ .digest('base64')
579
+ .replace(/\+/g, '-')
580
+ .replace(/\//g, '_')
581
+ .replace(/=/g, '');
582
+ }
583
+ /**
584
+ * Gets authorization header for a server.
585
+ * Checks OAuth tokens first, then falls back to simple API tokens.
586
+ */
587
+ getAuthHeader(serverName) {
588
+ logger.debug(`getAuthHeader called for server: ${serverName}`);
589
+ logger.debug(`Available token keys: ${Object.keys(this.storage.tokens || {}).join(', ') || 'none'}`);
590
+ logger.debug(`Available API token keys: ${Object.keys(this.storage.apiTokens || {}).join(', ') || 'none'}`);
591
+ // First check OAuth tokens
592
+ const tokens = this.storage.tokens[serverName];
593
+ if (tokens) {
594
+ logger.debug(`Found OAuth token for ${serverName}, valid: ${this.isTokenValid(tokens)}`);
595
+ if (this.isTokenValid(tokens)) {
596
+ // Normalize token type to "Bearer" (capitalized) as per RFC 6750
597
+ // Some servers return lowercase "bearer" but expect capitalized in requests
598
+ const tokenType = tokens.tokenType?.toLowerCase() === 'bearer' ? 'Bearer' : tokens.tokenType;
599
+ logger.debug(`Returning OAuth auth header for ${serverName} with tokenType: ${tokenType}`);
600
+ return `${tokenType} ${tokens.accessToken}`;
601
+ }
602
+ }
603
+ // Fall back to simple API token
604
+ const apiToken = this.storage.apiTokens?.[serverName];
605
+ if (apiToken) {
606
+ logger.debug(`Returning API token auth header for ${serverName}`);
607
+ return `Bearer ${apiToken}`;
608
+ }
609
+ logger.debug(`No auth header found for ${serverName}`);
610
+ return undefined;
611
+ }
612
+ /**
613
+ * Discovers OAuth configuration from a server URL using RFC 8414.
614
+ * Tries multiple well-known endpoints to find OAuth metadata.
615
+ */
616
+ async discoverOAuthConfig(serverUrl) {
617
+ const baseUrl = new URL(serverUrl);
618
+ const origin = baseUrl.origin;
619
+ // Try different well-known OAuth discovery endpoints
620
+ const discoveryEndpoints = [
621
+ `${origin}/.well-known/oauth-authorization-server`,
622
+ `${origin}/.well-known/openid-configuration`,
623
+ ];
624
+ for (const endpoint of discoveryEndpoints) {
625
+ try {
626
+ logger.debug(`Trying OAuth discovery at: ${endpoint}`);
627
+ const response = await fetch(endpoint, {
628
+ method: 'GET',
629
+ headers: { 'Accept': 'application/json' },
630
+ });
631
+ if (response.ok) {
632
+ const metadata = (await response.json());
633
+ logger.debug(`OAuth discovery response from ${endpoint}: ${JSON.stringify(metadata)}`);
634
+ if (metadata.authorization_endpoint && metadata.token_endpoint) {
635
+ logger.info(`Discovered OAuth config from ${endpoint}`);
636
+ return {
637
+ authorizationUrl: metadata.authorization_endpoint,
638
+ tokenUrl: metadata.token_endpoint,
639
+ scopes: metadata.scopes_supported,
640
+ // Note: clientId needs to be registered or dynamically obtained
641
+ // Some servers support dynamic client registration
642
+ };
643
+ }
644
+ }
645
+ }
646
+ catch (error) {
647
+ logger.debug(`OAuth discovery failed at ${endpoint}:`, error);
648
+ }
649
+ }
650
+ return null;
651
+ }
652
+ /**
653
+ * Starts OAuth flow with automatic discovery if no config is provided.
654
+ * This handles servers that support standard OAuth discovery.
655
+ *
656
+ * Config priority (highest to lowest):
657
+ * 1. User-provided config in .mcp.json
658
+ * 2. Built-in known config for the server (Kore-CLI registered apps)
659
+ * 3. Discovered config from server's well-known endpoint
660
+ */
661
+ async startAuthFlowWithDiscovery(serverName, serverUrl, providedConfig) {
662
+ // Check for built-in known OAuth config for this server
663
+ const knownConfig = getKnownOAuthConfig(serverUrl);
664
+ if (knownConfig) {
665
+ logger.info(`Using built-in Kore-CLI OAuth credentials for ${serverName}`);
666
+ }
667
+ // Merge configs: user-provided > known > discovered
668
+ // Start with provided config as base
669
+ let oauthConfig = providedConfig;
670
+ // If no OAuth URLs provided, try to discover them
671
+ if (!oauthConfig?.authorizationUrl) {
672
+ logger.info(`Discovering OAuth endpoints for ${serverName}...`);
673
+ const discovered = await this.discoverOAuthConfig(serverUrl);
674
+ if (discovered) {
675
+ // Merge priority: discovered URLs/scopes > known credentials > user overrides
676
+ // Key: Use discovered URLs and scopes, but use our clientId/clientSecret
677
+ oauthConfig = {
678
+ // Start with known credentials (clientId, clientSecret)
679
+ clientId: knownConfig?.clientId,
680
+ clientSecret: knownConfig?.clientSecret,
681
+ // Use discovered URLs and scopes (server-specific)
682
+ authorizationUrl: discovered.authorizationUrl,
683
+ tokenUrl: discovered.tokenUrl,
684
+ scopes: discovered.scopes, // Use server's supported scopes
685
+ // Allow user overrides for everything
686
+ ...providedConfig,
687
+ };
688
+ logger.debug(`Merged OAuth config: authUrl=${oauthConfig.authorizationUrl}, scopes=${oauthConfig.scopes?.join(',')}`);
689
+ logger.info(`Using discovered OAuth config for ${serverName}`);
690
+ }
691
+ else if (knownConfig?.clientId) {
692
+ // No discovery, but we have known credentials - use hardcoded URLs as fallback
693
+ oauthConfig = { ...knownConfig, ...providedConfig };
694
+ logger.debug(`Using hardcoded OAuth config for ${serverName}`);
695
+ }
696
+ else {
697
+ return {
698
+ authUrl: '',
699
+ error: 'Could not discover OAuth configuration. Server may require manual token authentication.',
700
+ };
701
+ }
702
+ }
703
+ else {
704
+ // User provided URLs, just merge with known credentials if available
705
+ oauthConfig = {
706
+ clientId: knownConfig?.clientId,
707
+ clientSecret: knownConfig?.clientSecret,
708
+ ...providedConfig,
709
+ };
710
+ }
711
+ // Check if we have the minimum required config
712
+ if (!oauthConfig.authorizationUrl) {
713
+ return {
714
+ authUrl: '',
715
+ error: 'OAuth configuration incomplete: missing authorizationUrl',
716
+ };
717
+ }
718
+ // For servers without a pre-registered client, we may need dynamic registration
719
+ // or the server may accept requests without a client_id (public client)
720
+ const clientId = oauthConfig.clientId || 'compass-cli';
721
+ try {
722
+ // Start callback server if not running
723
+ await this.startCallbackServer();
724
+ // Generate PKCE code verifier and challenge
725
+ const codeVerifier = this.generateCodeVerifier();
726
+ const codeChallenge = this.generateCodeChallenge(codeVerifier);
727
+ // Generate state for CSRF protection
728
+ const state = randomBytes(16).toString('hex');
729
+ // Store pending auth state
730
+ this.pendingAuths.set(state, {
731
+ serverName,
732
+ state,
733
+ codeVerifier,
734
+ createdAt: new Date(),
735
+ });
736
+ // Build authorization URL
737
+ const authUrl = new URL(oauthConfig.authorizationUrl);
738
+ authUrl.searchParams.set('client_id', clientId);
739
+ authUrl.searchParams.set('response_type', 'code');
740
+ authUrl.searchParams.set('redirect_uri', this.getRedirectUri());
741
+ authUrl.searchParams.set('state', state);
742
+ authUrl.searchParams.set('code_challenge', codeChallenge);
743
+ authUrl.searchParams.set('code_challenge_method', 'S256');
744
+ if (oauthConfig.scopes?.length) {
745
+ authUrl.searchParams.set('scope', oauthConfig.scopes.join(' '));
746
+ }
747
+ logger.info(`Starting OAuth flow for ${serverName}`);
748
+ return {
749
+ authUrl: authUrl.toString(),
750
+ discoveredConfig: oauthConfig,
751
+ };
752
+ }
753
+ catch (error) {
754
+ const errorMessage = error instanceof Error ? error.message : String(error);
755
+ logger.error(`Failed to start OAuth flow for ${serverName}:`, error);
756
+ return { authUrl: '', error: errorMessage };
757
+ }
758
+ }
759
+ /**
760
+ * Completes OAuth flow with discovered config.
761
+ */
762
+ async completeAuthFlowWithConfig(serverName, oauthConfig) {
763
+ const pendingKey = `code:${serverName}`;
764
+ const pendingAuth = this.pendingAuths.get(pendingKey);
765
+ if (!pendingAuth) {
766
+ return {
767
+ success: false,
768
+ error: 'No pending OAuth flow for this server',
769
+ };
770
+ }
771
+ const code = pendingAuth.state;
772
+ const codeVerifier = pendingAuth.codeVerifier;
773
+ this.pendingAuths.delete(pendingKey);
774
+ if (!oauthConfig.tokenUrl) {
775
+ return {
776
+ success: false,
777
+ error: 'OAuth configuration incomplete: missing tokenUrl',
778
+ };
779
+ }
780
+ const clientId = oauthConfig.clientId || 'compass-cli';
781
+ try {
782
+ // Exchange code for tokens
783
+ const tokenParams = new URLSearchParams();
784
+ tokenParams.set('grant_type', 'authorization_code');
785
+ tokenParams.set('code', code);
786
+ tokenParams.set('redirect_uri', this.getRedirectUri());
787
+ tokenParams.set('code_verifier', codeVerifier);
788
+ // Build headers - use Basic Auth if we have client credentials (required by some servers like Figma)
789
+ const headers = {
790
+ 'Content-Type': 'application/x-www-form-urlencoded',
791
+ };
792
+ if (oauthConfig.clientId && oauthConfig.clientSecret) {
793
+ // Use HTTP Basic Authentication for client credentials
794
+ const credentials = Buffer.from(`${clientId}:${oauthConfig.clientSecret}`).toString('base64');
795
+ headers['Authorization'] = `Basic ${credentials}`;
796
+ }
797
+ else {
798
+ // Fallback: include client_id in body for servers that don't use Basic Auth
799
+ tokenParams.set('client_id', clientId);
800
+ if (oauthConfig.clientSecret) {
801
+ tokenParams.set('client_secret', oauthConfig.clientSecret);
802
+ }
803
+ }
804
+ const response = await fetch(oauthConfig.tokenUrl, {
805
+ method: 'POST',
806
+ headers,
807
+ body: tokenParams.toString(),
808
+ });
809
+ if (!response.ok) {
810
+ const errorText = await response.text();
811
+ return {
812
+ success: false,
813
+ error: `Token exchange failed: ${response.status} ${errorText}`,
814
+ };
815
+ }
816
+ const tokenData = (await response.json());
817
+ // Store tokens
818
+ const tokens = {
819
+ accessToken: tokenData.access_token,
820
+ tokenType: tokenData.token_type || 'Bearer',
821
+ refreshToken: tokenData.refresh_token,
822
+ expiresAt: tokenData.expires_in
823
+ ? new Date(Date.now() + tokenData.expires_in * 1000)
824
+ : undefined,
825
+ scopes: tokenData.scope?.split(' '),
826
+ };
827
+ this.storage.tokens[serverName] = tokens;
828
+ await this.save();
829
+ logger.info(`OAuth flow completed for ${serverName}`);
830
+ logger.debug(`Stored token for ${serverName}, tokenType: ${tokens.tokenType}, hasAccessToken: ${!!tokens.accessToken}`);
831
+ logger.debug(`Current storage token keys: ${Object.keys(this.storage.tokens).join(', ')}`);
832
+ return { success: true };
833
+ }
834
+ catch (error) {
835
+ const errorMessage = error instanceof Error ? error.message : String(error);
836
+ logger.error(`Failed to complete OAuth flow for ${serverName}:`, error);
837
+ return { success: false, error: errorMessage };
838
+ }
839
+ }
840
+ /**
841
+ * Stops the callback server.
842
+ */
843
+ async stopCallbackServer() {
844
+ if (this.callbackServer) {
845
+ return new Promise((resolve) => {
846
+ this.callbackServer.close(() => {
847
+ this.callbackServer = null;
848
+ logger.debug('OAuth callback server stopped');
849
+ resolve();
850
+ });
851
+ });
852
+ }
853
+ }
854
+ /**
855
+ * Cleans up expired pending auth states.
856
+ */
857
+ cleanupPendingAuths() {
858
+ const now = new Date();
859
+ const maxAge = 10 * 60 * 1000; // 10 minutes
860
+ for (const [key, pending] of this.pendingAuths) {
861
+ if (now.getTime() - pending.createdAt.getTime() > maxAge) {
862
+ this.pendingAuths.delete(key);
863
+ }
864
+ }
865
+ }
866
+ /**
867
+ * Gets all servers with stored authentication.
868
+ */
869
+ getAuthenticatedServers() {
870
+ return Object.keys(this.storage.tokens).filter((name) => this.isTokenValid(this.storage.tokens[name]));
871
+ }
872
+ }
873
+ // Singleton instance
874
+ let mcpOAuthServiceInstance = null;
875
+ /**
876
+ * Gets the singleton MCPOAuthService instance.
877
+ */
878
+ export async function getMCPOAuthService() {
879
+ if (!mcpOAuthServiceInstance) {
880
+ mcpOAuthServiceInstance = new MCPOAuthService();
881
+ await mcpOAuthServiceInstance.load();
882
+ }
883
+ return mcpOAuthServiceInstance;
884
+ }
885
+ /**
886
+ * Creates a new MCPOAuthService instance.
887
+ */
888
+ export function createMCPOAuthService() {
889
+ return new MCPOAuthService();
890
+ }
891
+ export { MCPOAuthService };
892
+ //# sourceMappingURL=mcp-oauth-service.js.map