axon-code 2.4.0

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 (1975) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +261 -0
  3. package/README.zh-CN.md +261 -0
  4. package/dist/agents/context.d.ts +289 -0
  5. package/dist/agents/context.d.ts.map +1 -0
  6. package/dist/agents/context.js +944 -0
  7. package/dist/agents/context.js.map +1 -0
  8. package/dist/agents/explore.d.ts +190 -0
  9. package/dist/agents/explore.d.ts.map +1 -0
  10. package/dist/agents/explore.js +582 -0
  11. package/dist/agents/explore.js.map +1 -0
  12. package/dist/agents/guide.d.ts +117 -0
  13. package/dist/agents/guide.d.ts.map +1 -0
  14. package/dist/agents/guide.js +690 -0
  15. package/dist/agents/guide.js.map +1 -0
  16. package/dist/agents/index.d.ts +11 -0
  17. package/dist/agents/index.d.ts.map +1 -0
  18. package/dist/agents/index.js +17 -0
  19. package/dist/agents/index.js.map +1 -0
  20. package/dist/agents/monitor.d.ts +343 -0
  21. package/dist/agents/monitor.d.ts.map +1 -0
  22. package/dist/agents/monitor.js +963 -0
  23. package/dist/agents/monitor.js.map +1 -0
  24. package/dist/agents/parallel.d.ts +305 -0
  25. package/dist/agents/parallel.d.ts.map +1 -0
  26. package/dist/agents/parallel.js +717 -0
  27. package/dist/agents/parallel.js.map +1 -0
  28. package/dist/agents/plan.d.ts +236 -0
  29. package/dist/agents/plan.d.ts.map +1 -0
  30. package/dist/agents/plan.js +292 -0
  31. package/dist/agents/plan.js.map +1 -0
  32. package/dist/agents/resume.d.ts +209 -0
  33. package/dist/agents/resume.d.ts.map +1 -0
  34. package/dist/agents/resume.js +520 -0
  35. package/dist/agents/resume.js.map +1 -0
  36. package/dist/agents/statusline.d.ts +167 -0
  37. package/dist/agents/statusline.d.ts.map +1 -0
  38. package/dist/agents/statusline.js +546 -0
  39. package/dist/agents/statusline.js.map +1 -0
  40. package/dist/agents/teammate-context.d.ts +163 -0
  41. package/dist/agents/teammate-context.d.ts.map +1 -0
  42. package/dist/agents/teammate-context.js +272 -0
  43. package/dist/agents/teammate-context.js.map +1 -0
  44. package/dist/agents/tools.d.ts +30 -0
  45. package/dist/agents/tools.d.ts.map +1 -0
  46. package/dist/agents/tools.js +116 -0
  47. package/dist/agents/tools.js.map +1 -0
  48. package/dist/auth/index.d.ts +204 -0
  49. package/dist/auth/index.d.ts.map +1 -0
  50. package/dist/auth/index.js +1266 -0
  51. package/dist/auth/index.js.map +1 -0
  52. package/dist/auth/keychain.d.ts +74 -0
  53. package/dist/auth/keychain.d.ts.map +1 -0
  54. package/dist/auth/keychain.js +181 -0
  55. package/dist/auth/keychain.js.map +1 -0
  56. package/dist/auth/settings.d.ts +58 -0
  57. package/dist/auth/settings.d.ts.map +1 -0
  58. package/dist/auth/settings.js +260 -0
  59. package/dist/auth/settings.js.map +1 -0
  60. package/dist/background/index.d.ts +83 -0
  61. package/dist/background/index.d.ts.map +1 -0
  62. package/dist/background/index.js +106 -0
  63. package/dist/background/index.js.map +1 -0
  64. package/dist/background/persistence.d.ts +146 -0
  65. package/dist/background/persistence.d.ts.map +1 -0
  66. package/dist/background/persistence.js +347 -0
  67. package/dist/background/persistence.js.map +1 -0
  68. package/dist/background/shell-manager.d.ts +130 -0
  69. package/dist/background/shell-manager.d.ts.map +1 -0
  70. package/dist/background/shell-manager.js +401 -0
  71. package/dist/background/shell-manager.js.map +1 -0
  72. package/dist/background/task-queue.d.ts +96 -0
  73. package/dist/background/task-queue.d.ts.map +1 -0
  74. package/dist/background/task-queue.js +199 -0
  75. package/dist/background/task-queue.js.map +1 -0
  76. package/dist/background/timeout.d.ts +122 -0
  77. package/dist/background/timeout.d.ts.map +1 -0
  78. package/dist/background/timeout.js +247 -0
  79. package/dist/background/timeout.js.map +1 -0
  80. package/dist/blueprint/agent-decision-maker.d.ts +126 -0
  81. package/dist/blueprint/agent-decision-maker.d.ts.map +1 -0
  82. package/dist/blueprint/agent-decision-maker.js +433 -0
  83. package/dist/blueprint/agent-decision-maker.js.map +1 -0
  84. package/dist/blueprint/autonomous-worker.d.ts +182 -0
  85. package/dist/blueprint/autonomous-worker.d.ts.map +1 -0
  86. package/dist/blueprint/autonomous-worker.js +808 -0
  87. package/dist/blueprint/autonomous-worker.js.map +1 -0
  88. package/dist/blueprint/browser-test-tools.d.ts +277 -0
  89. package/dist/blueprint/browser-test-tools.d.ts.map +1 -0
  90. package/dist/blueprint/browser-test-tools.js +645 -0
  91. package/dist/blueprint/browser-test-tools.js.map +1 -0
  92. package/dist/blueprint/e2e-agent-registry.d.ts +27 -0
  93. package/dist/blueprint/e2e-agent-registry.d.ts.map +1 -0
  94. package/dist/blueprint/e2e-agent-registry.js +39 -0
  95. package/dist/blueprint/e2e-agent-registry.js.map +1 -0
  96. package/dist/blueprint/e2e-test-agent.d.ts +151 -0
  97. package/dist/blueprint/e2e-test-agent.d.ts.map +1 -0
  98. package/dist/blueprint/e2e-test-agent.js +612 -0
  99. package/dist/blueprint/e2e-test-agent.js.map +1 -0
  100. package/dist/blueprint/environment-checker.d.ts +113 -0
  101. package/dist/blueprint/environment-checker.d.ts.map +1 -0
  102. package/dist/blueprint/environment-checker.js +409 -0
  103. package/dist/blueprint/environment-checker.js.map +1 -0
  104. package/dist/blueprint/index.d.ts +26 -0
  105. package/dist/blueprint/index.d.ts.map +1 -0
  106. package/dist/blueprint/index.js +50 -0
  107. package/dist/blueprint/index.js.map +1 -0
  108. package/dist/blueprint/lead-agent.d.ts +97 -0
  109. package/dist/blueprint/lead-agent.d.ts.map +1 -0
  110. package/dist/blueprint/lead-agent.js +905 -0
  111. package/dist/blueprint/lead-agent.js.map +1 -0
  112. package/dist/blueprint/model-selector.d.ts +34 -0
  113. package/dist/blueprint/model-selector.d.ts.map +1 -0
  114. package/dist/blueprint/model-selector.js +83 -0
  115. package/dist/blueprint/model-selector.js.map +1 -0
  116. package/dist/blueprint/planner-session.d.ts +130 -0
  117. package/dist/blueprint/planner-session.d.ts.map +1 -0
  118. package/dist/blueprint/planner-session.js +479 -0
  119. package/dist/blueprint/planner-session.js.map +1 -0
  120. package/dist/blueprint/realtime-coordinator.d.ts +373 -0
  121. package/dist/blueprint/realtime-coordinator.d.ts.map +1 -0
  122. package/dist/blueprint/realtime-coordinator.js +1454 -0
  123. package/dist/blueprint/realtime-coordinator.js.map +1 -0
  124. package/dist/blueprint/smart-planner.d.ts +346 -0
  125. package/dist/blueprint/smart-planner.d.ts.map +1 -0
  126. package/dist/blueprint/smart-planner.js +2426 -0
  127. package/dist/blueprint/smart-planner.js.map +1 -0
  128. package/dist/blueprint/task-queue.d.ts +62 -0
  129. package/dist/blueprint/task-queue.d.ts.map +1 -0
  130. package/dist/blueprint/task-queue.js +185 -0
  131. package/dist/blueprint/task-queue.js.map +1 -0
  132. package/dist/blueprint/task-reviewer.d.ts +168 -0
  133. package/dist/blueprint/task-reviewer.d.ts.map +1 -0
  134. package/dist/blueprint/task-reviewer.js +570 -0
  135. package/dist/blueprint/task-reviewer.js.map +1 -0
  136. package/dist/blueprint/types.d.ts +1054 -0
  137. package/dist/blueprint/types.d.ts.map +1 -0
  138. package/dist/blueprint/types.js +49 -0
  139. package/dist/blueprint/types.js.map +1 -0
  140. package/dist/blueprint/verification-service.d.ts +134 -0
  141. package/dist/blueprint/verification-service.d.ts.map +1 -0
  142. package/dist/blueprint/verification-service.js +315 -0
  143. package/dist/blueprint/verification-service.js.map +1 -0
  144. package/dist/blueprint/visual-comparator.d.ts +112 -0
  145. package/dist/blueprint/visual-comparator.d.ts.map +1 -0
  146. package/dist/blueprint/visual-comparator.js +309 -0
  147. package/dist/blueprint/visual-comparator.js.map +1 -0
  148. package/dist/browser/controller.d.ts +188 -0
  149. package/dist/browser/controller.d.ts.map +1 -0
  150. package/dist/browser/controller.js +1256 -0
  151. package/dist/browser/controller.js.map +1 -0
  152. package/dist/browser/detect.d.ts +14 -0
  153. package/dist/browser/detect.d.ts.map +1 -0
  154. package/dist/browser/detect.js +93 -0
  155. package/dist/browser/detect.js.map +1 -0
  156. package/dist/browser/errors.d.ts +14 -0
  157. package/dist/browser/errors.d.ts.map +1 -0
  158. package/dist/browser/errors.js +45 -0
  159. package/dist/browser/errors.js.map +1 -0
  160. package/dist/browser/extension/background-utils.js +53 -0
  161. package/dist/browser/extension/background.js +895 -0
  162. package/dist/browser/extension/manifest.json +28 -0
  163. package/dist/browser/extension/options.html +214 -0
  164. package/dist/browser/extension/options.js +201 -0
  165. package/dist/browser/extension-relay-auth.d.ts +18 -0
  166. package/dist/browser/extension-relay-auth.d.ts.map +1 -0
  167. package/dist/browser/extension-relay-auth.js +53 -0
  168. package/dist/browser/extension-relay-auth.js.map +1 -0
  169. package/dist/browser/extension-relay.d.ts +39 -0
  170. package/dist/browser/extension-relay.d.ts.map +1 -0
  171. package/dist/browser/extension-relay.js +855 -0
  172. package/dist/browser/extension-relay.js.map +1 -0
  173. package/dist/browser/index.d.ts +11 -0
  174. package/dist/browser/index.d.ts.map +1 -0
  175. package/dist/browser/index.js +11 -0
  176. package/dist/browser/index.js.map +1 -0
  177. package/dist/browser/manager.d.ts +77 -0
  178. package/dist/browser/manager.d.ts.map +1 -0
  179. package/dist/browser/manager.js +911 -0
  180. package/dist/browser/manager.js.map +1 -0
  181. package/dist/browser/navigation-guard.d.ts +15 -0
  182. package/dist/browser/navigation-guard.d.ts.map +1 -0
  183. package/dist/browser/navigation-guard.js +163 -0
  184. package/dist/browser/navigation-guard.js.map +1 -0
  185. package/dist/browser/profiles.d.ts +49 -0
  186. package/dist/browser/profiles.d.ts.map +1 -0
  187. package/dist/browser/profiles.js +211 -0
  188. package/dist/browser/profiles.js.map +1 -0
  189. package/dist/browser/types.d.ts +96 -0
  190. package/dist/browser/types.d.ts.map +1 -0
  191. package/dist/browser/types.js +5 -0
  192. package/dist/browser/types.js.map +1 -0
  193. package/dist/checkpoint/index.d.ts +289 -0
  194. package/dist/checkpoint/index.d.ts.map +1 -0
  195. package/dist/checkpoint/index.js +1424 -0
  196. package/dist/checkpoint/index.js.map +1 -0
  197. package/dist/chrome/index.d.ts +31 -0
  198. package/dist/chrome/index.d.ts.map +1 -0
  199. package/dist/chrome/index.js +41 -0
  200. package/dist/chrome/index.js.map +1 -0
  201. package/dist/chrome-mcp/index.d.ts +84 -0
  202. package/dist/chrome-mcp/index.d.ts.map +1 -0
  203. package/dist/chrome-mcp/index.js +192 -0
  204. package/dist/chrome-mcp/index.js.map +1 -0
  205. package/dist/chrome-mcp/mcp-server.d.ts +115 -0
  206. package/dist/chrome-mcp/mcp-server.d.ts.map +1 -0
  207. package/dist/chrome-mcp/mcp-server.js +312 -0
  208. package/dist/chrome-mcp/mcp-server.js.map +1 -0
  209. package/dist/chrome-mcp/native-host.d.ts +65 -0
  210. package/dist/chrome-mcp/native-host.d.ts.map +1 -0
  211. package/dist/chrome-mcp/native-host.js +357 -0
  212. package/dist/chrome-mcp/native-host.js.map +1 -0
  213. package/dist/chrome-mcp/socket-client.d.ts +105 -0
  214. package/dist/chrome-mcp/socket-client.d.ts.map +1 -0
  215. package/dist/chrome-mcp/socket-client.js +325 -0
  216. package/dist/chrome-mcp/socket-client.js.map +1 -0
  217. package/dist/chrome-mcp/socket-server.d.ts +65 -0
  218. package/dist/chrome-mcp/socket-server.d.ts.map +1 -0
  219. package/dist/chrome-mcp/socket-server.js +354 -0
  220. package/dist/chrome-mcp/socket-server.js.map +1 -0
  221. package/dist/chrome-mcp/tools.d.ts +22 -0
  222. package/dist/chrome-mcp/tools.d.ts.map +1 -0
  223. package/dist/chrome-mcp/tools.js +372 -0
  224. package/dist/chrome-mcp/tools.js.map +1 -0
  225. package/dist/cli.d.ts +7 -0
  226. package/dist/cli.d.ts.map +1 -0
  227. package/dist/cli.js +3302 -0
  228. package/dist/cli.js.map +1 -0
  229. package/dist/codesign/index.d.ts +84 -0
  230. package/dist/codesign/index.d.ts.map +1 -0
  231. package/dist/codesign/index.js +289 -0
  232. package/dist/codesign/index.js.map +1 -0
  233. package/dist/commands/api.d.ts +8 -0
  234. package/dist/commands/api.d.ts.map +1 -0
  235. package/dist/commands/api.js +510 -0
  236. package/dist/commands/api.js.map +1 -0
  237. package/dist/commands/auth.d.ts +13 -0
  238. package/dist/commands/auth.d.ts.map +1 -0
  239. package/dist/commands/auth.js +713 -0
  240. package/dist/commands/auth.js.map +1 -0
  241. package/dist/commands/config-cmd.d.ts +12 -0
  242. package/dist/commands/config-cmd.d.ts.map +1 -0
  243. package/dist/commands/config-cmd.js +578 -0
  244. package/dist/commands/config-cmd.js.map +1 -0
  245. package/dist/commands/config.d.ts +22 -0
  246. package/dist/commands/config.d.ts.map +1 -0
  247. package/dist/commands/config.js +2457 -0
  248. package/dist/commands/config.js.map +1 -0
  249. package/dist/commands/development.d.ts +14 -0
  250. package/dist/commands/development.d.ts.map +1 -0
  251. package/dist/commands/development.js +905 -0
  252. package/dist/commands/development.js.map +1 -0
  253. package/dist/commands/general.d.ts +15 -0
  254. package/dist/commands/general.d.ts.map +1 -0
  255. package/dist/commands/general.js +620 -0
  256. package/dist/commands/general.js.map +1 -0
  257. package/dist/commands/index.d.ts +28 -0
  258. package/dist/commands/index.d.ts.map +1 -0
  259. package/dist/commands/index.js +70 -0
  260. package/dist/commands/index.js.map +1 -0
  261. package/dist/commands/registry.d.ts +16 -0
  262. package/dist/commands/registry.d.ts.map +1 -0
  263. package/dist/commands/registry.js +55 -0
  264. package/dist/commands/registry.js.map +1 -0
  265. package/dist/commands/session.d.ts +14 -0
  266. package/dist/commands/session.d.ts.map +1 -0
  267. package/dist/commands/session.js +1256 -0
  268. package/dist/commands/session.js.map +1 -0
  269. package/dist/commands/settings.d.ts +15 -0
  270. package/dist/commands/settings.d.ts.map +1 -0
  271. package/dist/commands/settings.js +439 -0
  272. package/dist/commands/settings.js.map +1 -0
  273. package/dist/commands/tools.d.ts +14 -0
  274. package/dist/commands/tools.d.ts.map +1 -0
  275. package/dist/commands/tools.js +1579 -0
  276. package/dist/commands/tools.js.map +1 -0
  277. package/dist/commands/types.d.ts +82 -0
  278. package/dist/commands/types.d.ts.map +1 -0
  279. package/dist/commands/types.js +5 -0
  280. package/dist/commands/types.js.map +1 -0
  281. package/dist/commands/utility.d.ts +19 -0
  282. package/dist/commands/utility.d.ts.map +1 -0
  283. package/dist/commands/utility.js +738 -0
  284. package/dist/commands/utility.js.map +1 -0
  285. package/dist/config/axon-md-parser.d.ts +167 -0
  286. package/dist/config/axon-md-parser.d.ts.map +1 -0
  287. package/dist/config/axon-md-parser.js +472 -0
  288. package/dist/config/axon-md-parser.js.map +1 -0
  289. package/dist/config/builtin-api.d.ts +2 -0
  290. package/dist/config/builtin-api.d.ts.map +1 -0
  291. package/dist/config/builtin-api.js +2 -0
  292. package/dist/config/builtin-api.js.map +1 -0
  293. package/dist/config/config-command.d.ts +81 -0
  294. package/dist/config/config-command.d.ts.map +1 -0
  295. package/dist/config/config-command.js +292 -0
  296. package/dist/config/config-command.js.map +1 -0
  297. package/dist/config/index.d.ts +1700 -0
  298. package/dist/config/index.d.ts.map +1 -0
  299. package/dist/config/index.js +1677 -0
  300. package/dist/config/index.js.map +1 -0
  301. package/dist/config/keybindings.d.ts +141 -0
  302. package/dist/config/keybindings.d.ts.map +1 -0
  303. package/dist/config/keybindings.js +708 -0
  304. package/dist/config/keybindings.js.map +1 -0
  305. package/dist/context/__tests__/enhanced.test.d.ts +5 -0
  306. package/dist/context/__tests__/enhanced.test.d.ts.map +1 -0
  307. package/dist/context/__tests__/enhanced.test.js +298 -0
  308. package/dist/context/__tests__/enhanced.test.js.map +1 -0
  309. package/dist/context/enhanced.d.ts +244 -0
  310. package/dist/context/enhanced.d.ts.map +1 -0
  311. package/dist/context/enhanced.js +527 -0
  312. package/dist/context/enhanced.js.map +1 -0
  313. package/dist/context/index.d.ts +249 -0
  314. package/dist/context/index.d.ts.map +1 -0
  315. package/dist/context/index.js +1043 -0
  316. package/dist/context/index.js.map +1 -0
  317. package/dist/context/intent-enricher.d.ts +38 -0
  318. package/dist/context/intent-enricher.d.ts.map +1 -0
  319. package/dist/context/intent-enricher.js +212 -0
  320. package/dist/context/intent-enricher.js.map +1 -0
  321. package/dist/context/link-detector.d.ts +20 -0
  322. package/dist/context/link-detector.d.ts.map +1 -0
  323. package/dist/context/link-detector.js +99 -0
  324. package/dist/context/link-detector.js.map +1 -0
  325. package/dist/context/session-memory.d.ts +206 -0
  326. package/dist/context/session-memory.d.ts.map +1 -0
  327. package/dist/context/session-memory.js +542 -0
  328. package/dist/context/session-memory.js.map +1 -0
  329. package/dist/context/summarizer.d.ts +27 -0
  330. package/dist/context/summarizer.d.ts.map +1 -0
  331. package/dist/context/summarizer.js +157 -0
  332. package/dist/context/summarizer.js.map +1 -0
  333. package/dist/context/window.d.ts +104 -0
  334. package/dist/context/window.d.ts.map +1 -0
  335. package/dist/context/window.js +140 -0
  336. package/dist/context/window.js.map +1 -0
  337. package/dist/core/backgroundTasks.d.ts +87 -0
  338. package/dist/core/backgroundTasks.d.ts.map +1 -0
  339. package/dist/core/backgroundTasks.js +229 -0
  340. package/dist/core/backgroundTasks.js.map +1 -0
  341. package/dist/core/cache-keepalive.d.ts +37 -0
  342. package/dist/core/cache-keepalive.d.ts.map +1 -0
  343. package/dist/core/cache-keepalive.js +130 -0
  344. package/dist/core/cache-keepalive.js.map +1 -0
  345. package/dist/core/client.cache.test.d.ts +13 -0
  346. package/dist/core/client.cache.test.d.ts.map +1 -0
  347. package/dist/core/client.cache.test.js +315 -0
  348. package/dist/core/client.cache.test.js.map +1 -0
  349. package/dist/core/client.d.ts +306 -0
  350. package/dist/core/client.d.ts.map +1 -0
  351. package/dist/core/client.js +1930 -0
  352. package/dist/core/client.js.map +1 -0
  353. package/dist/core/cwd-context.d.ts +53 -0
  354. package/dist/core/cwd-context.d.ts.map +1 -0
  355. package/dist/core/cwd-context.js +102 -0
  356. package/dist/core/cwd-context.js.map +1 -0
  357. package/dist/core/index.d.ts +9 -0
  358. package/dist/core/index.d.ts.map +1 -0
  359. package/dist/core/index.js +9 -0
  360. package/dist/core/index.js.map +1 -0
  361. package/dist/core/loop.d.ts +401 -0
  362. package/dist/core/loop.d.ts.map +1 -0
  363. package/dist/core/loop.js +3375 -0
  364. package/dist/core/loop.js.map +1 -0
  365. package/dist/core/retryLogic.d.ts +84 -0
  366. package/dist/core/retryLogic.d.ts.map +1 -0
  367. package/dist/core/retryLogic.js +157 -0
  368. package/dist/core/retryLogic.js.map +1 -0
  369. package/dist/core/session-context.d.ts +24 -0
  370. package/dist/core/session-context.d.ts.map +1 -0
  371. package/dist/core/session-context.js +35 -0
  372. package/dist/core/session-context.js.map +1 -0
  373. package/dist/core/session.d.ts +229 -0
  374. package/dist/core/session.d.ts.map +1 -0
  375. package/dist/core/session.js +729 -0
  376. package/dist/core/session.js.map +1 -0
  377. package/dist/core/validateToolResults.test.d.ts +6 -0
  378. package/dist/core/validateToolResults.test.d.ts.map +1 -0
  379. package/dist/core/validateToolResults.test.js +303 -0
  380. package/dist/core/validateToolResults.test.js.map +1 -0
  381. package/dist/daemon/alarm.d.ts +62 -0
  382. package/dist/daemon/alarm.d.ts.map +1 -0
  383. package/dist/daemon/alarm.js +145 -0
  384. package/dist/daemon/alarm.js.map +1 -0
  385. package/dist/daemon/config.d.ts +225 -0
  386. package/dist/daemon/config.d.ts.map +1 -0
  387. package/dist/daemon/config.js +104 -0
  388. package/dist/daemon/config.js.map +1 -0
  389. package/dist/daemon/executor.d.ts +52 -0
  390. package/dist/daemon/executor.d.ts.map +1 -0
  391. package/dist/daemon/executor.js +288 -0
  392. package/dist/daemon/executor.js.map +1 -0
  393. package/dist/daemon/index.d.ts +72 -0
  394. package/dist/daemon/index.d.ts.map +1 -0
  395. package/dist/daemon/index.js +394 -0
  396. package/dist/daemon/index.js.map +1 -0
  397. package/dist/daemon/locked.d.ts +15 -0
  398. package/dist/daemon/locked.d.ts.map +1 -0
  399. package/dist/daemon/locked.js +16 -0
  400. package/dist/daemon/locked.js.map +1 -0
  401. package/dist/daemon/notifier.d.ts +25 -0
  402. package/dist/daemon/notifier.d.ts.map +1 -0
  403. package/dist/daemon/notifier.js +87 -0
  404. package/dist/daemon/notifier.js.map +1 -0
  405. package/dist/daemon/run-log.d.ts +43 -0
  406. package/dist/daemon/run-log.d.ts.map +1 -0
  407. package/dist/daemon/run-log.js +126 -0
  408. package/dist/daemon/run-log.js.map +1 -0
  409. package/dist/daemon/scheduler.d.ts +85 -0
  410. package/dist/daemon/scheduler.d.ts.map +1 -0
  411. package/dist/daemon/scheduler.js +379 -0
  412. package/dist/daemon/scheduler.js.map +1 -0
  413. package/dist/daemon/store.d.ts +94 -0
  414. package/dist/daemon/store.d.ts.map +1 -0
  415. package/dist/daemon/store.js +121 -0
  416. package/dist/daemon/store.js.map +1 -0
  417. package/dist/daemon/time-parser.d.ts +15 -0
  418. package/dist/daemon/time-parser.d.ts.map +1 -0
  419. package/dist/daemon/time-parser.js +68 -0
  420. package/dist/daemon/time-parser.js.map +1 -0
  421. package/dist/daemon/watcher.d.ts +34 -0
  422. package/dist/daemon/watcher.d.ts.map +1 -0
  423. package/dist/daemon/watcher.js +105 -0
  424. package/dist/daemon/watcher.js.map +1 -0
  425. package/dist/database/drivers/mongo.d.ts +14 -0
  426. package/dist/database/drivers/mongo.d.ts.map +1 -0
  427. package/dist/database/drivers/mongo.js +112 -0
  428. package/dist/database/drivers/mongo.js.map +1 -0
  429. package/dist/database/drivers/mysql.d.ts +13 -0
  430. package/dist/database/drivers/mysql.d.ts.map +1 -0
  431. package/dist/database/drivers/mysql.js +76 -0
  432. package/dist/database/drivers/mysql.js.map +1 -0
  433. package/dist/database/drivers/postgres.d.ts +13 -0
  434. package/dist/database/drivers/postgres.d.ts.map +1 -0
  435. package/dist/database/drivers/postgres.js +79 -0
  436. package/dist/database/drivers/postgres.js.map +1 -0
  437. package/dist/database/drivers/redis.d.ts +13 -0
  438. package/dist/database/drivers/redis.d.ts.map +1 -0
  439. package/dist/database/drivers/redis.js +100 -0
  440. package/dist/database/drivers/redis.js.map +1 -0
  441. package/dist/database/drivers/sqlite.d.ts +13 -0
  442. package/dist/database/drivers/sqlite.d.ts.map +1 -0
  443. package/dist/database/drivers/sqlite.js +89 -0
  444. package/dist/database/drivers/sqlite.js.map +1 -0
  445. package/dist/database/index.d.ts +21 -0
  446. package/dist/database/index.d.ts.map +1 -0
  447. package/dist/database/index.js +97 -0
  448. package/dist/database/index.js.map +1 -0
  449. package/dist/database/types.d.ts +54 -0
  450. package/dist/database/types.d.ts.map +1 -0
  451. package/dist/database/types.js +2 -0
  452. package/dist/database/types.js.map +1 -0
  453. package/dist/debugger/dap-client.d.ts +32 -0
  454. package/dist/debugger/dap-client.d.ts.map +1 -0
  455. package/dist/debugger/dap-client.js +108 -0
  456. package/dist/debugger/dap-client.js.map +1 -0
  457. package/dist/debugger/index.d.ts +30 -0
  458. package/dist/debugger/index.d.ts.map +1 -0
  459. package/dist/debugger/index.js +574 -0
  460. package/dist/debugger/index.js.map +1 -0
  461. package/dist/debugger/types.d.ts +59 -0
  462. package/dist/debugger/types.d.ts.map +1 -0
  463. package/dist/debugger/types.js +2 -0
  464. package/dist/debugger/types.js.map +1 -0
  465. package/dist/diagnostics/index.d.ts +72 -0
  466. package/dist/diagnostics/index.d.ts.map +1 -0
  467. package/dist/diagnostics/index.js +1013 -0
  468. package/dist/diagnostics/index.js.map +1 -0
  469. package/dist/ear/index.d.ts +73 -0
  470. package/dist/ear/index.d.ts.map +1 -0
  471. package/dist/ear/index.js +114 -0
  472. package/dist/ear/index.js.map +1 -0
  473. package/dist/email-mcp/index.d.ts +12 -0
  474. package/dist/email-mcp/index.d.ts.map +1 -0
  475. package/dist/email-mcp/index.js +11 -0
  476. package/dist/email-mcp/index.js.map +1 -0
  477. package/dist/email-mcp/mcp-server.d.ts +18 -0
  478. package/dist/email-mcp/mcp-server.d.ts.map +1 -0
  479. package/dist/email-mcp/mcp-server.js +381 -0
  480. package/dist/email-mcp/mcp-server.js.map +1 -0
  481. package/dist/email-mcp/tools.d.ts +22 -0
  482. package/dist/email-mcp/tools.d.ts.map +1 -0
  483. package/dist/email-mcp/tools.js +251 -0
  484. package/dist/email-mcp/tools.js.map +1 -0
  485. package/dist/env/index.d.ts +27 -0
  486. package/dist/env/index.d.ts.map +1 -0
  487. package/dist/env/index.js +31 -0
  488. package/dist/env/index.js.map +1 -0
  489. package/dist/env/manager.d.ts +150 -0
  490. package/dist/env/manager.d.ts.map +1 -0
  491. package/dist/env/manager.js +290 -0
  492. package/dist/env/manager.js.map +1 -0
  493. package/dist/env/sensitive.d.ts +134 -0
  494. package/dist/env/sensitive.d.ts.map +1 -0
  495. package/dist/env/sensitive.js +255 -0
  496. package/dist/env/sensitive.js.map +1 -0
  497. package/dist/env/validator.d.ts +93 -0
  498. package/dist/env/validator.d.ts.map +1 -0
  499. package/dist/env/validator.js +122 -0
  500. package/dist/env/validator.js.map +1 -0
  501. package/dist/env/validators/builtin.d.ts +68 -0
  502. package/dist/env/validators/builtin.d.ts.map +1 -0
  503. package/dist/env/validators/builtin.js +294 -0
  504. package/dist/env/validators/builtin.js.map +1 -0
  505. package/dist/eye/camera.py +396 -0
  506. package/dist/eye/index.d.ts +70 -0
  507. package/dist/eye/index.d.ts.map +1 -0
  508. package/dist/eye/index.js +356 -0
  509. package/dist/eye/index.js.map +1 -0
  510. package/dist/fast-mode/index.d.ts +136 -0
  511. package/dist/fast-mode/index.d.ts.map +1 -0
  512. package/dist/fast-mode/index.js +390 -0
  513. package/dist/fast-mode/index.js.map +1 -0
  514. package/dist/fast-mode/provider.d.ts +10 -0
  515. package/dist/fast-mode/provider.d.ts.map +1 -0
  516. package/dist/fast-mode/provider.js +23 -0
  517. package/dist/fast-mode/provider.js.map +1 -0
  518. package/dist/feishu/bot.d.ts +71 -0
  519. package/dist/feishu/bot.d.ts.map +1 -0
  520. package/dist/feishu/bot.js +287 -0
  521. package/dist/feishu/bot.js.map +1 -0
  522. package/dist/feishu/config.d.ts +54 -0
  523. package/dist/feishu/config.d.ts.map +1 -0
  524. package/dist/feishu/config.js +100 -0
  525. package/dist/feishu/config.js.map +1 -0
  526. package/dist/feishu/index.d.ts +7 -0
  527. package/dist/feishu/index.d.ts.map +1 -0
  528. package/dist/feishu/index.js +5 -0
  529. package/dist/feishu/index.js.map +1 -0
  530. package/dist/feishu/message-handler.d.ts +42 -0
  531. package/dist/feishu/message-handler.d.ts.map +1 -0
  532. package/dist/feishu/message-handler.js +112 -0
  533. package/dist/feishu/message-handler.js.map +1 -0
  534. package/dist/feishu/session-manager.d.ts +57 -0
  535. package/dist/feishu/session-manager.d.ts.map +1 -0
  536. package/dist/feishu/session-manager.js +179 -0
  537. package/dist/feishu/session-manager.js.map +1 -0
  538. package/dist/feishu-cli.d.ts +34 -0
  539. package/dist/feishu-cli.d.ts.map +1 -0
  540. package/dist/feishu-cli.js +132 -0
  541. package/dist/feishu-cli.js.map +1 -0
  542. package/dist/git/analysis.d.ts +135 -0
  543. package/dist/git/analysis.d.ts.map +1 -0
  544. package/dist/git/analysis.js +259 -0
  545. package/dist/git/analysis.js.map +1 -0
  546. package/dist/git/core.d.ts +175 -0
  547. package/dist/git/core.d.ts.map +1 -0
  548. package/dist/git/core.js +349 -0
  549. package/dist/git/core.js.map +1 -0
  550. package/dist/git/ignore.d.ts +74 -0
  551. package/dist/git/ignore.d.ts.map +1 -0
  552. package/dist/git/ignore.js +257 -0
  553. package/dist/git/ignore.js.map +1 -0
  554. package/dist/git/index.d.ts +37 -0
  555. package/dist/git/index.d.ts.map +1 -0
  556. package/dist/git/index.js +48 -0
  557. package/dist/git/index.js.map +1 -0
  558. package/dist/git/operations.d.ts +96 -0
  559. package/dist/git/operations.d.ts.map +1 -0
  560. package/dist/git/operations.js +288 -0
  561. package/dist/git/operations.js.map +1 -0
  562. package/dist/git/safety.d.ts +107 -0
  563. package/dist/git/safety.d.ts.map +1 -0
  564. package/dist/git/safety.js +293 -0
  565. package/dist/git/safety.js.map +1 -0
  566. package/dist/github/index.d.ts +58 -0
  567. package/dist/github/index.d.ts.map +1 -0
  568. package/dist/github/index.js +246 -0
  569. package/dist/github/index.js.map +1 -0
  570. package/dist/goals/goal-daemon.d.ts +54 -0
  571. package/dist/goals/goal-daemon.d.ts.map +1 -0
  572. package/dist/goals/goal-daemon.js +171 -0
  573. package/dist/goals/goal-daemon.js.map +1 -0
  574. package/dist/goals/goal-evaluator.d.ts +28 -0
  575. package/dist/goals/goal-evaluator.d.ts.map +1 -0
  576. package/dist/goals/goal-evaluator.js +117 -0
  577. package/dist/goals/goal-evaluator.js.map +1 -0
  578. package/dist/goals/goal-planner.d.ts +21 -0
  579. package/dist/goals/goal-planner.d.ts.map +1 -0
  580. package/dist/goals/goal-planner.js +80 -0
  581. package/dist/goals/goal-planner.js.map +1 -0
  582. package/dist/goals/goal-store.d.ts +31 -0
  583. package/dist/goals/goal-store.d.ts.map +1 -0
  584. package/dist/goals/goal-store.js +238 -0
  585. package/dist/goals/goal-store.js.map +1 -0
  586. package/dist/goals/index.d.ts +15 -0
  587. package/dist/goals/index.d.ts.map +1 -0
  588. package/dist/goals/index.js +22 -0
  589. package/dist/goals/index.js.map +1 -0
  590. package/dist/goals/storage.d.ts +83 -0
  591. package/dist/goals/storage.d.ts.map +1 -0
  592. package/dist/goals/storage.js +235 -0
  593. package/dist/goals/storage.js.map +1 -0
  594. package/dist/goals/types.d.ts +138 -0
  595. package/dist/goals/types.d.ts.map +1 -0
  596. package/dist/goals/types.js +5 -0
  597. package/dist/goals/types.js.map +1 -0
  598. package/dist/hooks/blueprint-hooks.d.ts +52 -0
  599. package/dist/hooks/blueprint-hooks.d.ts.map +1 -0
  600. package/dist/hooks/blueprint-hooks.js +75 -0
  601. package/dist/hooks/blueprint-hooks.js.map +1 -0
  602. package/dist/hooks/index.d.ts +421 -0
  603. package/dist/hooks/index.d.ts.map +1 -0
  604. package/dist/hooks/index.js +1225 -0
  605. package/dist/hooks/index.js.map +1 -0
  606. package/dist/hooks/index.test.d.ts +33 -0
  607. package/dist/hooks/index.test.d.ts.map +1 -0
  608. package/dist/hooks/index.test.js +199 -0
  609. package/dist/hooks/index.test.js.map +1 -0
  610. package/dist/i18n/index.d.ts +25 -0
  611. package/dist/i18n/index.d.ts.map +1 -0
  612. package/dist/i18n/index.js +96 -0
  613. package/dist/i18n/index.js.map +1 -0
  614. package/dist/i18n/locales/en.d.ts +786 -0
  615. package/dist/i18n/locales/en.d.ts.map +1 -0
  616. package/dist/i18n/locales/en.js +865 -0
  617. package/dist/i18n/locales/en.js.map +1 -0
  618. package/dist/i18n/locales/zh.d.ts +7 -0
  619. package/dist/i18n/locales/zh.d.ts.map +1 -0
  620. package/dist/i18n/locales/zh.js +862 -0
  621. package/dist/i18n/locales/zh.js.map +1 -0
  622. package/dist/ide/index.d.ts +81 -0
  623. package/dist/ide/index.d.ts.map +1 -0
  624. package/dist/ide/index.js +371 -0
  625. package/dist/ide/index.js.map +1 -0
  626. package/dist/index.d.ts +39 -0
  627. package/dist/index.d.ts.map +1 -0
  628. package/dist/index.js +63 -0
  629. package/dist/index.js.map +1 -0
  630. package/dist/lifecycle/index.d.ts +120 -0
  631. package/dist/lifecycle/index.d.ts.map +1 -0
  632. package/dist/lifecycle/index.js +178 -0
  633. package/dist/lifecycle/index.js.map +1 -0
  634. package/dist/lsp/index.d.ts +12 -0
  635. package/dist/lsp/index.d.ts.map +1 -0
  636. package/dist/lsp/index.js +20 -0
  637. package/dist/lsp/index.js.map +1 -0
  638. package/dist/lsp/manager.d.ts +307 -0
  639. package/dist/lsp/manager.d.ts.map +1 -0
  640. package/dist/lsp/manager.js +1012 -0
  641. package/dist/lsp/manager.js.map +1 -0
  642. package/dist/map/index.d.ts +2 -0
  643. package/dist/map/index.d.ts.map +1 -0
  644. package/dist/map/index.js +2 -0
  645. package/dist/map/index.js.map +1 -0
  646. package/dist/map/types.d.ts +264 -0
  647. package/dist/map/types.d.ts.map +1 -0
  648. package/dist/map/types.js +6 -0
  649. package/dist/map/types.js.map +1 -0
  650. package/dist/mcp/adapter.d.ts +217 -0
  651. package/dist/mcp/adapter.d.ts.map +1 -0
  652. package/dist/mcp/adapter.js +527 -0
  653. package/dist/mcp/adapter.js.map +1 -0
  654. package/dist/mcp/auto-discovery.d.ts +303 -0
  655. package/dist/mcp/auto-discovery.d.ts.map +1 -0
  656. package/dist/mcp/auto-discovery.js +1009 -0
  657. package/dist/mcp/auto-discovery.js.map +1 -0
  658. package/dist/mcp/cancellation.d.ts +258 -0
  659. package/dist/mcp/cancellation.d.ts.map +1 -0
  660. package/dist/mcp/cancellation.js +478 -0
  661. package/dist/mcp/cancellation.js.map +1 -0
  662. package/dist/mcp/config.d.ts +521 -0
  663. package/dist/mcp/config.d.ts.map +1 -0
  664. package/dist/mcp/config.js +694 -0
  665. package/dist/mcp/config.js.map +1 -0
  666. package/dist/mcp/connection.d.ts +228 -0
  667. package/dist/mcp/connection.d.ts.map +1 -0
  668. package/dist/mcp/connection.js +707 -0
  669. package/dist/mcp/connection.js.map +1 -0
  670. package/dist/mcp/discovery.d.ts +128 -0
  671. package/dist/mcp/discovery.d.ts.map +1 -0
  672. package/dist/mcp/discovery.js +577 -0
  673. package/dist/mcp/discovery.js.map +1 -0
  674. package/dist/mcp/errors.d.ts +273 -0
  675. package/dist/mcp/errors.d.ts.map +1 -0
  676. package/dist/mcp/errors.js +566 -0
  677. package/dist/mcp/errors.js.map +1 -0
  678. package/dist/mcp/index.d.ts +10 -0
  679. package/dist/mcp/index.d.ts.map +1 -0
  680. package/dist/mcp/index.js +29 -0
  681. package/dist/mcp/index.js.map +1 -0
  682. package/dist/mcp/integration.d.ts +71 -0
  683. package/dist/mcp/integration.d.ts.map +1 -0
  684. package/dist/mcp/integration.js +198 -0
  685. package/dist/mcp/integration.js.map +1 -0
  686. package/dist/mcp/lifecycle.d.ts +261 -0
  687. package/dist/mcp/lifecycle.d.ts.map +1 -0
  688. package/dist/mcp/lifecycle.js +714 -0
  689. package/dist/mcp/lifecycle.js.map +1 -0
  690. package/dist/mcp/logging.d.ts +166 -0
  691. package/dist/mcp/logging.d.ts.map +1 -0
  692. package/dist/mcp/logging.js +346 -0
  693. package/dist/mcp/logging.js.map +1 -0
  694. package/dist/mcp/notifications.d.ts +221 -0
  695. package/dist/mcp/notifications.d.ts.map +1 -0
  696. package/dist/mcp/notifications.js +356 -0
  697. package/dist/mcp/notifications.js.map +1 -0
  698. package/dist/mcp/protocol.d.ts +516 -0
  699. package/dist/mcp/protocol.d.ts.map +1 -0
  700. package/dist/mcp/protocol.js +490 -0
  701. package/dist/mcp/protocol.js.map +1 -0
  702. package/dist/mcp/resources.d.ts +197 -0
  703. package/dist/mcp/resources.d.ts.map +1 -0
  704. package/dist/mcp/resources.js +432 -0
  705. package/dist/mcp/resources.js.map +1 -0
  706. package/dist/mcp/roots.d.ts +149 -0
  707. package/dist/mcp/roots.d.ts.map +1 -0
  708. package/dist/mcp/roots.js +368 -0
  709. package/dist/mcp/roots.js.map +1 -0
  710. package/dist/mcp/sampling.d.ts +170 -0
  711. package/dist/mcp/sampling.d.ts.map +1 -0
  712. package/dist/mcp/sampling.js +373 -0
  713. package/dist/mcp/sampling.js.map +1 -0
  714. package/dist/mcp/tools.d.ts +347 -0
  715. package/dist/mcp/tools.d.ts.map +1 -0
  716. package/dist/mcp/tools.js +773 -0
  717. package/dist/mcp/tools.js.map +1 -0
  718. package/dist/mcp/websocket-connection.d.ts +164 -0
  719. package/dist/mcp/websocket-connection.d.ts.map +1 -0
  720. package/dist/mcp/websocket-connection.js +503 -0
  721. package/dist/mcp/websocket-connection.js.map +1 -0
  722. package/dist/mcp-cli.d.ts +26 -0
  723. package/dist/mcp-cli.d.ts.map +1 -0
  724. package/dist/mcp-cli.js +366 -0
  725. package/dist/mcp-cli.js.map +1 -0
  726. package/dist/media/image.d.ts +91 -0
  727. package/dist/media/image.d.ts.map +1 -0
  728. package/dist/media/image.js +400 -0
  729. package/dist/media/image.js.map +1 -0
  730. package/dist/media/index.d.ts +66 -0
  731. package/dist/media/index.d.ts.map +1 -0
  732. package/dist/media/index.js +122 -0
  733. package/dist/media/index.js.map +1 -0
  734. package/dist/media/mime.d.ts +23 -0
  735. package/dist/media/mime.d.ts.map +1 -0
  736. package/dist/media/mime.js +110 -0
  737. package/dist/media/mime.js.map +1 -0
  738. package/dist/media/office.d.ts +93 -0
  739. package/dist/media/office.d.ts.map +1 -0
  740. package/dist/media/office.js +735 -0
  741. package/dist/media/office.js.map +1 -0
  742. package/dist/media/pdf.d.ts +132 -0
  743. package/dist/media/pdf.d.ts.map +1 -0
  744. package/dist/media/pdf.js +281 -0
  745. package/dist/media/pdf.js.map +1 -0
  746. package/dist/media/svg.d.ts +55 -0
  747. package/dist/media/svg.d.ts.map +1 -0
  748. package/dist/media/svg.js +217 -0
  749. package/dist/media/svg.js.map +1 -0
  750. package/dist/memory/embedding-cache.d.ts +40 -0
  751. package/dist/memory/embedding-cache.d.ts.map +1 -0
  752. package/dist/memory/embedding-cache.js +105 -0
  753. package/dist/memory/embedding-cache.js.map +1 -0
  754. package/dist/memory/embedding-provider.d.ts +36 -0
  755. package/dist/memory/embedding-provider.d.ts.map +1 -0
  756. package/dist/memory/embedding-provider.js +105 -0
  757. package/dist/memory/embedding-provider.js.map +1 -0
  758. package/dist/memory/hybrid-search.d.ts +58 -0
  759. package/dist/memory/hybrid-search.d.ts.map +1 -0
  760. package/dist/memory/hybrid-search.js +68 -0
  761. package/dist/memory/hybrid-search.js.map +1 -0
  762. package/dist/memory/index.d.ts +15 -0
  763. package/dist/memory/index.d.ts.map +1 -0
  764. package/dist/memory/index.js +12 -0
  765. package/dist/memory/index.js.map +1 -0
  766. package/dist/memory/long-term-store.d.ts +131 -0
  767. package/dist/memory/long-term-store.d.ts.map +1 -0
  768. package/dist/memory/long-term-store.js +701 -0
  769. package/dist/memory/long-term-store.js.map +1 -0
  770. package/dist/memory/memory-search.d.ts +134 -0
  771. package/dist/memory/memory-search.d.ts.map +1 -0
  772. package/dist/memory/memory-search.js +338 -0
  773. package/dist/memory/memory-search.js.map +1 -0
  774. package/dist/memory/memory-sync.d.ts +66 -0
  775. package/dist/memory/memory-sync.d.ts.map +1 -0
  776. package/dist/memory/memory-sync.js +429 -0
  777. package/dist/memory/memory-sync.js.map +1 -0
  778. package/dist/memory/mmr.d.ts +34 -0
  779. package/dist/memory/mmr.d.ts.map +1 -0
  780. package/dist/memory/mmr.js +101 -0
  781. package/dist/memory/mmr.js.map +1 -0
  782. package/dist/memory/notebook.d.ts +80 -0
  783. package/dist/memory/notebook.d.ts.map +1 -0
  784. package/dist/memory/notebook.js +320 -0
  785. package/dist/memory/notebook.js.map +1 -0
  786. package/dist/memory/query-expansion.d.ts +22 -0
  787. package/dist/memory/query-expansion.d.ts.map +1 -0
  788. package/dist/memory/query-expansion.js +60 -0
  789. package/dist/memory/query-expansion.js.map +1 -0
  790. package/dist/memory/types.d.ts +16 -0
  791. package/dist/memory/types.d.ts.map +1 -0
  792. package/dist/memory/types.js +5 -0
  793. package/dist/memory/types.js.map +1 -0
  794. package/dist/models/config.d.ts +85 -0
  795. package/dist/models/config.d.ts.map +1 -0
  796. package/dist/models/config.js +427 -0
  797. package/dist/models/config.js.map +1 -0
  798. package/dist/models/fallback.d.ts +80 -0
  799. package/dist/models/fallback.d.ts.map +1 -0
  800. package/dist/models/fallback.js +215 -0
  801. package/dist/models/fallback.js.map +1 -0
  802. package/dist/models/index.d.ts +12 -0
  803. package/dist/models/index.d.ts.map +1 -0
  804. package/dist/models/index.js +11 -0
  805. package/dist/models/index.js.map +1 -0
  806. package/dist/models/quota.d.ts +121 -0
  807. package/dist/models/quota.d.ts.map +1 -0
  808. package/dist/models/quota.js +397 -0
  809. package/dist/models/quota.js.map +1 -0
  810. package/dist/models/stats.d.ts +96 -0
  811. package/dist/models/stats.d.ts.map +1 -0
  812. package/dist/models/stats.js +224 -0
  813. package/dist/models/stats.js.map +1 -0
  814. package/dist/models/subagent-config.d.ts +119 -0
  815. package/dist/models/subagent-config.d.ts.map +1 -0
  816. package/dist/models/subagent-config.js +267 -0
  817. package/dist/models/subagent-config.js.map +1 -0
  818. package/dist/models/thinking.d.ts +102 -0
  819. package/dist/models/thinking.d.ts.map +1 -0
  820. package/dist/models/thinking.js +213 -0
  821. package/dist/models/thinking.js.map +1 -0
  822. package/dist/models/types.d.ts +250 -0
  823. package/dist/models/types.d.ts.map +1 -0
  824. package/dist/models/types.js +33 -0
  825. package/dist/models/types.js.map +1 -0
  826. package/dist/network/audit-log.d.ts +93 -0
  827. package/dist/network/audit-log.d.ts.map +1 -0
  828. package/dist/network/audit-log.js +319 -0
  829. package/dist/network/audit-log.js.map +1 -0
  830. package/dist/network/discovery.d.ts +91 -0
  831. package/dist/network/discovery.d.ts.map +1 -0
  832. package/dist/network/discovery.js +398 -0
  833. package/dist/network/discovery.js.map +1 -0
  834. package/dist/network/global-proxy.d.ts +19 -0
  835. package/dist/network/global-proxy.d.ts.map +1 -0
  836. package/dist/network/global-proxy.js +81 -0
  837. package/dist/network/global-proxy.js.map +1 -0
  838. package/dist/network/identity.d.ts +58 -0
  839. package/dist/network/identity.d.ts.map +1 -0
  840. package/dist/network/identity.js +267 -0
  841. package/dist/network/identity.js.map +1 -0
  842. package/dist/network/index.d.ts +153 -0
  843. package/dist/network/index.d.ts.map +1 -0
  844. package/dist/network/index.js +916 -0
  845. package/dist/network/index.js.map +1 -0
  846. package/dist/network/permission.d.ts +60 -0
  847. package/dist/network/permission.d.ts.map +1 -0
  848. package/dist/network/permission.js +124 -0
  849. package/dist/network/permission.js.map +1 -0
  850. package/dist/network/project-probe.d.ts +12 -0
  851. package/dist/network/project-probe.d.ts.map +1 -0
  852. package/dist/network/project-probe.js +74 -0
  853. package/dist/network/project-probe.js.map +1 -0
  854. package/dist/network/protocol.d.ts +59 -0
  855. package/dist/network/protocol.d.ts.map +1 -0
  856. package/dist/network/protocol.js +158 -0
  857. package/dist/network/protocol.js.map +1 -0
  858. package/dist/network/proxy.d.ts +93 -0
  859. package/dist/network/proxy.d.ts.map +1 -0
  860. package/dist/network/proxy.js +228 -0
  861. package/dist/network/proxy.js.map +1 -0
  862. package/dist/network/retry.d.ts +44 -0
  863. package/dist/network/retry.d.ts.map +1 -0
  864. package/dist/network/retry.js +110 -0
  865. package/dist/network/retry.js.map +1 -0
  866. package/dist/network/router.d.ts +36 -0
  867. package/dist/network/router.d.ts.map +1 -0
  868. package/dist/network/router.js +73 -0
  869. package/dist/network/router.js.map +1 -0
  870. package/dist/network/timeout.d.ts +59 -0
  871. package/dist/network/timeout.d.ts.map +1 -0
  872. package/dist/network/timeout.js +120 -0
  873. package/dist/network/timeout.js.map +1 -0
  874. package/dist/network/transport.d.ts +97 -0
  875. package/dist/network/transport.d.ts.map +1 -0
  876. package/dist/network/transport.js +397 -0
  877. package/dist/network/transport.js.map +1 -0
  878. package/dist/network/types.d.ts +282 -0
  879. package/dist/network/types.d.ts.map +1 -0
  880. package/dist/network/types.js +31 -0
  881. package/dist/network/types.js.map +1 -0
  882. package/dist/notifications/index.d.ts +161 -0
  883. package/dist/notifications/index.d.ts.map +1 -0
  884. package/dist/notifications/index.js +341 -0
  885. package/dist/notifications/index.js.map +1 -0
  886. package/dist/organization/index.d.ts +125 -0
  887. package/dist/organization/index.d.ts.map +1 -0
  888. package/dist/organization/index.js +237 -0
  889. package/dist/organization/index.js.map +1 -0
  890. package/dist/permissions/elevated-commands.d.ts +38 -0
  891. package/dist/permissions/elevated-commands.d.ts.map +1 -0
  892. package/dist/permissions/elevated-commands.js +256 -0
  893. package/dist/permissions/elevated-commands.js.map +1 -0
  894. package/dist/permissions/index.d.ts +120 -0
  895. package/dist/permissions/index.d.ts.map +1 -0
  896. package/dist/permissions/index.js +689 -0
  897. package/dist/permissions/index.js.map +1 -0
  898. package/dist/permissions/rule-parser.d.ts +396 -0
  899. package/dist/permissions/rule-parser.d.ts.map +1 -0
  900. package/dist/permissions/rule-parser.js +990 -0
  901. package/dist/permissions/rule-parser.js.map +1 -0
  902. package/dist/permissions/rule-parser.test.d.ts +15 -0
  903. package/dist/permissions/rule-parser.test.d.ts.map +1 -0
  904. package/dist/permissions/rule-parser.test.js +489 -0
  905. package/dist/permissions/rule-parser.test.js.map +1 -0
  906. package/dist/permissions/shell-security.d.ts +128 -0
  907. package/dist/permissions/shell-security.d.ts.map +1 -0
  908. package/dist/permissions/shell-security.js +669 -0
  909. package/dist/permissions/shell-security.js.map +1 -0
  910. package/dist/permissions/shell-security.test.d.ts +7 -0
  911. package/dist/permissions/shell-security.test.d.ts.map +1 -0
  912. package/dist/permissions/shell-security.test.js +286 -0
  913. package/dist/permissions/shell-security.test.js.map +1 -0
  914. package/dist/permissions/tools.d.ts +255 -0
  915. package/dist/permissions/tools.d.ts.map +1 -0
  916. package/dist/permissions/tools.js +733 -0
  917. package/dist/permissions/tools.js.map +1 -0
  918. package/dist/permissions/tools.test.d.ts +11 -0
  919. package/dist/permissions/tools.test.d.ts.map +1 -0
  920. package/dist/permissions/tools.test.js +530 -0
  921. package/dist/permissions/tools.test.js.map +1 -0
  922. package/dist/permissions/ui-integration.d.ts +69 -0
  923. package/dist/permissions/ui-integration.d.ts.map +1 -0
  924. package/dist/permissions/ui-integration.js +129 -0
  925. package/dist/permissions/ui-integration.js.map +1 -0
  926. package/dist/permissions/ui.d.ts +188 -0
  927. package/dist/permissions/ui.d.ts.map +1 -0
  928. package/dist/permissions/ui.js +590 -0
  929. package/dist/permissions/ui.js.map +1 -0
  930. package/dist/plan/comparison.d.ts +67 -0
  931. package/dist/plan/comparison.d.ts.map +1 -0
  932. package/dist/plan/comparison.js +451 -0
  933. package/dist/plan/comparison.js.map +1 -0
  934. package/dist/plan/index.d.ts +91 -0
  935. package/dist/plan/index.d.ts.map +1 -0
  936. package/dist/plan/index.js +151 -0
  937. package/dist/plan/index.js.map +1 -0
  938. package/dist/plan/persistence.d.ts +131 -0
  939. package/dist/plan/persistence.d.ts.map +1 -0
  940. package/dist/plan/persistence.js +781 -0
  941. package/dist/plan/persistence.js.map +1 -0
  942. package/dist/plan/types.d.ts +353 -0
  943. package/dist/plan/types.d.ts.map +1 -0
  944. package/dist/plan/types.js +6 -0
  945. package/dist/plan/types.js.map +1 -0
  946. package/dist/plugins/cli.d.ts +14 -0
  947. package/dist/plugins/cli.d.ts.map +1 -0
  948. package/dist/plugins/cli.js +1050 -0
  949. package/dist/plugins/cli.js.map +1 -0
  950. package/dist/plugins/index.d.ts +621 -0
  951. package/dist/plugins/index.d.ts.map +1 -0
  952. package/dist/plugins/index.js +1978 -0
  953. package/dist/plugins/index.js.map +1 -0
  954. package/dist/plugins/marketplace.d.ts +120 -0
  955. package/dist/plugins/marketplace.d.ts.map +1 -0
  956. package/dist/plugins/marketplace.js +630 -0
  957. package/dist/plugins/marketplace.js.map +1 -0
  958. package/dist/prompt/attachments.d.ts +94 -0
  959. package/dist/prompt/attachments.d.ts.map +1 -0
  960. package/dist/prompt/attachments.js +486 -0
  961. package/dist/prompt/attachments.js.map +1 -0
  962. package/dist/prompt/builder.d.ts +45 -0
  963. package/dist/prompt/builder.d.ts.map +1 -0
  964. package/dist/prompt/builder.js +298 -0
  965. package/dist/prompt/builder.js.map +1 -0
  966. package/dist/prompt/cache.d.ts +71 -0
  967. package/dist/prompt/cache.d.ts.map +1 -0
  968. package/dist/prompt/cache.js +150 -0
  969. package/dist/prompt/cache.js.map +1 -0
  970. package/dist/prompt/index.d.ts +10 -0
  971. package/dist/prompt/index.d.ts.map +1 -0
  972. package/dist/prompt/index.js +9 -0
  973. package/dist/prompt/index.js.map +1 -0
  974. package/dist/prompt/templates.d.ts +216 -0
  975. package/dist/prompt/templates.d.ts.map +1 -0
  976. package/dist/prompt/templates.js +670 -0
  977. package/dist/prompt/templates.js.map +1 -0
  978. package/dist/prompt/types.d.ts +234 -0
  979. package/dist/prompt/types.d.ts.map +1 -0
  980. package/dist/prompt/types.js +19 -0
  981. package/dist/prompt/types.js.map +1 -0
  982. package/dist/providers/cli.d.ts +14 -0
  983. package/dist/providers/cli.d.ts.map +1 -0
  984. package/dist/providers/cli.js +466 -0
  985. package/dist/providers/cli.js.map +1 -0
  986. package/dist/providers/index.d.ts +128 -0
  987. package/dist/providers/index.d.ts.map +1 -0
  988. package/dist/providers/index.js +662 -0
  989. package/dist/providers/index.js.map +1 -0
  990. package/dist/providers/vertex.d.ts +174 -0
  991. package/dist/providers/vertex.d.ts.map +1 -0
  992. package/dist/providers/vertex.js +499 -0
  993. package/dist/providers/vertex.js.map +1 -0
  994. package/dist/proxy/ollama-adapter.d.ts +41 -0
  995. package/dist/proxy/ollama-adapter.d.ts.map +1 -0
  996. package/dist/proxy/ollama-adapter.js +669 -0
  997. package/dist/proxy/ollama-adapter.js.map +1 -0
  998. package/dist/proxy/server.d.ts +63 -0
  999. package/dist/proxy/server.d.ts.map +1 -0
  1000. package/dist/proxy/server.js +1160 -0
  1001. package/dist/proxy/server.js.map +1 -0
  1002. package/dist/proxy-cli.d.ts +19 -0
  1003. package/dist/proxy-cli.d.ts.map +1 -0
  1004. package/dist/proxy-cli.js +308 -0
  1005. package/dist/proxy-cli.js.map +1 -0
  1006. package/dist/ratelimit/index.d.ts +252 -0
  1007. package/dist/ratelimit/index.d.ts.map +1 -0
  1008. package/dist/ratelimit/index.js +580 -0
  1009. package/dist/ratelimit/index.js.map +1 -0
  1010. package/dist/renderer/index.d.ts +75 -0
  1011. package/dist/renderer/index.d.ts.map +1 -0
  1012. package/dist/renderer/index.js +383 -0
  1013. package/dist/renderer/index.js.map +1 -0
  1014. package/dist/renderer/tree-render.d.ts +172 -0
  1015. package/dist/renderer/tree-render.d.ts.map +1 -0
  1016. package/dist/renderer/tree-render.js +397 -0
  1017. package/dist/renderer/tree-render.js.map +1 -0
  1018. package/dist/rewind/fileHistory.d.ts +140 -0
  1019. package/dist/rewind/fileHistory.d.ts.map +1 -0
  1020. package/dist/rewind/fileHistory.js +326 -0
  1021. package/dist/rewind/fileHistory.js.map +1 -0
  1022. package/dist/rewind/index.d.ts +8 -0
  1023. package/dist/rewind/index.d.ts.map +1 -0
  1024. package/dist/rewind/index.js +8 -0
  1025. package/dist/rewind/index.js.map +1 -0
  1026. package/dist/rewind/rewindManager.d.ts +98 -0
  1027. package/dist/rewind/rewindManager.d.ts.map +1 -0
  1028. package/dist/rewind/rewindManager.js +199 -0
  1029. package/dist/rewind/rewindManager.js.map +1 -0
  1030. package/dist/rules/index.d.ts +69 -0
  1031. package/dist/rules/index.d.ts.map +1 -0
  1032. package/dist/rules/index.js +410 -0
  1033. package/dist/rules/index.js.map +1 -0
  1034. package/dist/sandbox/bubblewrap.d.ts +157 -0
  1035. package/dist/sandbox/bubblewrap.d.ts.map +1 -0
  1036. package/dist/sandbox/bubblewrap.js +637 -0
  1037. package/dist/sandbox/bubblewrap.js.map +1 -0
  1038. package/dist/sandbox/config.d.ts +497 -0
  1039. package/dist/sandbox/config.d.ts.map +1 -0
  1040. package/dist/sandbox/config.js +696 -0
  1041. package/dist/sandbox/config.js.map +1 -0
  1042. package/dist/sandbox/docker.d.ts +104 -0
  1043. package/dist/sandbox/docker.d.ts.map +1 -0
  1044. package/dist/sandbox/docker.js +347 -0
  1045. package/dist/sandbox/docker.js.map +1 -0
  1046. package/dist/sandbox/executor.d.ts +68 -0
  1047. package/dist/sandbox/executor.d.ts.map +1 -0
  1048. package/dist/sandbox/executor.js +341 -0
  1049. package/dist/sandbox/executor.js.map +1 -0
  1050. package/dist/sandbox/filesystem.d.ts +146 -0
  1051. package/dist/sandbox/filesystem.d.ts.map +1 -0
  1052. package/dist/sandbox/filesystem.js +501 -0
  1053. package/dist/sandbox/filesystem.js.map +1 -0
  1054. package/dist/sandbox/index.d.ts +21 -0
  1055. package/dist/sandbox/index.d.ts.map +1 -0
  1056. package/dist/sandbox/index.js +21 -0
  1057. package/dist/sandbox/index.js.map +1 -0
  1058. package/dist/sandbox/network.d.ts +174 -0
  1059. package/dist/sandbox/network.d.ts.map +1 -0
  1060. package/dist/sandbox/network.js +487 -0
  1061. package/dist/sandbox/network.js.map +1 -0
  1062. package/dist/sandbox/resource-limits.d.ts +83 -0
  1063. package/dist/sandbox/resource-limits.d.ts.map +1 -0
  1064. package/dist/sandbox/resource-limits.js +305 -0
  1065. package/dist/sandbox/resource-limits.js.map +1 -0
  1066. package/dist/sandbox/seatbelt.d.ts +70 -0
  1067. package/dist/sandbox/seatbelt.d.ts.map +1 -0
  1068. package/dist/sandbox/seatbelt.js +256 -0
  1069. package/dist/sandbox/seatbelt.js.map +1 -0
  1070. package/dist/search/ripgrep.d.ts +82 -0
  1071. package/dist/search/ripgrep.d.ts.map +1 -0
  1072. package/dist/search/ripgrep.js +399 -0
  1073. package/dist/search/ripgrep.js.map +1 -0
  1074. package/dist/security/skill-scanner.d.ts +18 -0
  1075. package/dist/security/skill-scanner.d.ts.map +1 -0
  1076. package/dist/security/skill-scanner.js +115 -0
  1077. package/dist/security/skill-scanner.js.map +1 -0
  1078. package/dist/session/cleanup.d.ts +62 -0
  1079. package/dist/session/cleanup.d.ts.map +1 -0
  1080. package/dist/session/cleanup.js +218 -0
  1081. package/dist/session/cleanup.js.map +1 -0
  1082. package/dist/session/index.d.ts +584 -0
  1083. package/dist/session/index.d.ts.map +1 -0
  1084. package/dist/session/index.js +1910 -0
  1085. package/dist/session/index.js.map +1 -0
  1086. package/dist/session/list.d.ts +150 -0
  1087. package/dist/session/list.d.ts.map +1 -0
  1088. package/dist/session/list.js +807 -0
  1089. package/dist/session/list.js.map +1 -0
  1090. package/dist/session/resume.d.ts +103 -0
  1091. package/dist/session/resume.d.ts.map +1 -0
  1092. package/dist/session/resume.js +173 -0
  1093. package/dist/session/resume.js.map +1 -0
  1094. package/dist/skills/builtin/skill-hub/SKILL.md +51 -0
  1095. package/dist/skills/builtin/tool-discovery/SKILL.md +194 -0
  1096. package/dist/skills/hub.d.ts +54 -0
  1097. package/dist/skills/hub.d.ts.map +1 -0
  1098. package/dist/skills/hub.js +251 -0
  1099. package/dist/skills/hub.js.map +1 -0
  1100. package/dist/streaming/index.d.ts +115 -0
  1101. package/dist/streaming/index.d.ts.map +1 -0
  1102. package/dist/streaming/index.js +249 -0
  1103. package/dist/streaming/index.js.map +1 -0
  1104. package/dist/streaming/message-stream.d.ts +237 -0
  1105. package/dist/streaming/message-stream.d.ts.map +1 -0
  1106. package/dist/streaming/message-stream.js +480 -0
  1107. package/dist/streaming/message-stream.js.map +1 -0
  1108. package/dist/streaming/sse.d.ts +94 -0
  1109. package/dist/streaming/sse.d.ts.map +1 -0
  1110. package/dist/streaming/sse.js +314 -0
  1111. package/dist/streaming/sse.js.map +1 -0
  1112. package/dist/teams/index.d.ts +7 -0
  1113. package/dist/teams/index.d.ts.map +1 -0
  1114. package/dist/teams/index.js +7 -0
  1115. package/dist/teams/index.js.map +1 -0
  1116. package/dist/teams/storage.d.ts +94 -0
  1117. package/dist/teams/storage.d.ts.map +1 -0
  1118. package/dist/teams/storage.js +350 -0
  1119. package/dist/teams/storage.js.map +1 -0
  1120. package/dist/teams/tmux.d.ts +122 -0
  1121. package/dist/teams/tmux.d.ts.map +1 -0
  1122. package/dist/teams/tmux.js +419 -0
  1123. package/dist/teams/tmux.js.map +1 -0
  1124. package/dist/teams/types.d.ts +139 -0
  1125. package/dist/teams/types.d.ts.map +1 -0
  1126. package/dist/teams/types.js +8 -0
  1127. package/dist/teams/types.js.map +1 -0
  1128. package/dist/telemetry/index.d.ts +215 -0
  1129. package/dist/telemetry/index.d.ts.map +1 -0
  1130. package/dist/telemetry/index.js +776 -0
  1131. package/dist/telemetry/index.js.map +1 -0
  1132. package/dist/teleport/index.d.ts +43 -0
  1133. package/dist/teleport/index.d.ts.map +1 -0
  1134. package/dist/teleport/index.js +71 -0
  1135. package/dist/teleport/index.js.map +1 -0
  1136. package/dist/teleport/session.d.ts +78 -0
  1137. package/dist/teleport/session.d.ts.map +1 -0
  1138. package/dist/teleport/session.js +273 -0
  1139. package/dist/teleport/session.js.map +1 -0
  1140. package/dist/teleport/types.d.ts +93 -0
  1141. package/dist/teleport/types.d.ts.map +1 -0
  1142. package/dist/teleport/types.js +6 -0
  1143. package/dist/teleport/types.js.map +1 -0
  1144. package/dist/teleport/validation.d.ts +30 -0
  1145. package/dist/teleport/validation.d.ts.map +1 -0
  1146. package/dist/teleport/validation.js +124 -0
  1147. package/dist/teleport/validation.js.map +1 -0
  1148. package/dist/tools/agent-teams.d.ts +26 -0
  1149. package/dist/tools/agent-teams.d.ts.map +1 -0
  1150. package/dist/tools/agent-teams.js +171 -0
  1151. package/dist/tools/agent-teams.js.map +1 -0
  1152. package/dist/tools/agent.d.ts +223 -0
  1153. package/dist/tools/agent.d.ts.map +1 -0
  1154. package/dist/tools/agent.js +1540 -0
  1155. package/dist/tools/agent.js.map +1 -0
  1156. package/dist/tools/ask.d.ts +87 -0
  1157. package/dist/tools/ask.d.ts.map +1 -0
  1158. package/dist/tools/ask.js +572 -0
  1159. package/dist/tools/ask.js.map +1 -0
  1160. package/dist/tools/base.d.ts +89 -0
  1161. package/dist/tools/base.d.ts.map +1 -0
  1162. package/dist/tools/base.js +199 -0
  1163. package/dist/tools/base.js.map +1 -0
  1164. package/dist/tools/bash-history.d.ts +83 -0
  1165. package/dist/tools/bash-history.d.ts.map +1 -0
  1166. package/dist/tools/bash-history.js +245 -0
  1167. package/dist/tools/bash-history.js.map +1 -0
  1168. package/dist/tools/bash.d.ts +214 -0
  1169. package/dist/tools/bash.d.ts.map +1 -0
  1170. package/dist/tools/bash.js +1823 -0
  1171. package/dist/tools/bash.js.map +1 -0
  1172. package/dist/tools/blueprint.d.ts +91 -0
  1173. package/dist/tools/blueprint.d.ts.map +1 -0
  1174. package/dist/tools/blueprint.js +618 -0
  1175. package/dist/tools/blueprint.js.map +1 -0
  1176. package/dist/tools/browser.d.ts +28 -0
  1177. package/dist/tools/browser.d.ts.map +1 -0
  1178. package/dist/tools/browser.js +776 -0
  1179. package/dist/tools/browser.js.map +1 -0
  1180. package/dist/tools/create-tool.d.ts +63 -0
  1181. package/dist/tools/create-tool.d.ts.map +1 -0
  1182. package/dist/tools/create-tool.js +230 -0
  1183. package/dist/tools/create-tool.js.map +1 -0
  1184. package/dist/tools/database.d.ts +12 -0
  1185. package/dist/tools/database.d.ts.map +1 -0
  1186. package/dist/tools/database.js +223 -0
  1187. package/dist/tools/database.js.map +1 -0
  1188. package/dist/tools/dispatch-worker.d.ts +46 -0
  1189. package/dist/tools/dispatch-worker.d.ts.map +1 -0
  1190. package/dist/tools/dispatch-worker.js +276 -0
  1191. package/dist/tools/dispatch-worker.js.map +1 -0
  1192. package/dist/tools/ear.d.ts +25 -0
  1193. package/dist/tools/ear.d.ts.map +1 -0
  1194. package/dist/tools/ear.js +43 -0
  1195. package/dist/tools/ear.js.map +1 -0
  1196. package/dist/tools/eye.d.ts +29 -0
  1197. package/dist/tools/eye.d.ts.map +1 -0
  1198. package/dist/tools/eye.js +104 -0
  1199. package/dist/tools/eye.js.map +1 -0
  1200. package/dist/tools/file.d.ts +164 -0
  1201. package/dist/tools/file.d.ts.map +1 -0
  1202. package/dist/tools/file.js +1638 -0
  1203. package/dist/tools/file.js.map +1 -0
  1204. package/dist/tools/generate-blueprint.d.ts +62 -0
  1205. package/dist/tools/generate-blueprint.d.ts.map +1 -0
  1206. package/dist/tools/generate-blueprint.js +141 -0
  1207. package/dist/tools/generate-blueprint.js.map +1 -0
  1208. package/dist/tools/generate-design.d.ts +27 -0
  1209. package/dist/tools/generate-design.d.ts.map +1 -0
  1210. package/dist/tools/generate-design.js +66 -0
  1211. package/dist/tools/generate-design.js.map +1 -0
  1212. package/dist/tools/goal.d.ts +56 -0
  1213. package/dist/tools/goal.d.ts.map +1 -0
  1214. package/dist/tools/goal.js +298 -0
  1215. package/dist/tools/goal.js.map +1 -0
  1216. package/dist/tools/index.d.ts +53 -0
  1217. package/dist/tools/index.d.ts.map +1 -0
  1218. package/dist/tools/index.js +183 -0
  1219. package/dist/tools/index.js.map +1 -0
  1220. package/dist/tools/mcp-manage.d.ts +32 -0
  1221. package/dist/tools/mcp-manage.d.ts.map +1 -0
  1222. package/dist/tools/mcp-manage.js +61 -0
  1223. package/dist/tools/mcp-manage.js.map +1 -0
  1224. package/dist/tools/mcp.d.ts +311 -0
  1225. package/dist/tools/mcp.d.ts.map +1 -0
  1226. package/dist/tools/mcp.js +1696 -0
  1227. package/dist/tools/mcp.js.map +1 -0
  1228. package/dist/tools/memory-search.d.ts +26 -0
  1229. package/dist/tools/memory-search.d.ts.map +1 -0
  1230. package/dist/tools/memory-search.js +89 -0
  1231. package/dist/tools/memory-search.js.map +1 -0
  1232. package/dist/tools/network-agent.d.ts +55 -0
  1233. package/dist/tools/network-agent.d.ts.map +1 -0
  1234. package/dist/tools/network-agent.js +349 -0
  1235. package/dist/tools/network-agent.js.map +1 -0
  1236. package/dist/tools/notebook-write.d.ts +23 -0
  1237. package/dist/tools/notebook-write.d.ts.map +1 -0
  1238. package/dist/tools/notebook-write.js +86 -0
  1239. package/dist/tools/notebook-write.js.map +1 -0
  1240. package/dist/tools/notebook.d.ts +46 -0
  1241. package/dist/tools/notebook.d.ts.map +1 -0
  1242. package/dist/tools/notebook.js +335 -0
  1243. package/dist/tools/notebook.js.map +1 -0
  1244. package/dist/tools/output-persistence.d.ts +73 -0
  1245. package/dist/tools/output-persistence.d.ts.map +1 -0
  1246. package/dist/tools/output-persistence.js +258 -0
  1247. package/dist/tools/output-persistence.js.map +1 -0
  1248. package/dist/tools/planmode.d.ts +73 -0
  1249. package/dist/tools/planmode.d.ts.map +1 -0
  1250. package/dist/tools/planmode.js +464 -0
  1251. package/dist/tools/planmode.js.map +1 -0
  1252. package/dist/tools/sandbox.d.ts +192 -0
  1253. package/dist/tools/sandbox.d.ts.map +1 -0
  1254. package/dist/tools/sandbox.js +932 -0
  1255. package/dist/tools/sandbox.js.map +1 -0
  1256. package/dist/tools/schedule.d.ts +65 -0
  1257. package/dist/tools/schedule.d.ts.map +1 -0
  1258. package/dist/tools/schedule.js +537 -0
  1259. package/dist/tools/schedule.js.map +1 -0
  1260. package/dist/tools/search.d.ts +48 -0
  1261. package/dist/tools/search.d.ts.map +1 -0
  1262. package/dist/tools/search.js +568 -0
  1263. package/dist/tools/search.js.map +1 -0
  1264. package/dist/tools/self-evolve.d.ts +53 -0
  1265. package/dist/tools/self-evolve.d.ts.map +1 -0
  1266. package/dist/tools/self-evolve.js +241 -0
  1267. package/dist/tools/self-evolve.js.map +1 -0
  1268. package/dist/tools/skill.d.ts +182 -0
  1269. package/dist/tools/skill.d.ts.map +1 -0
  1270. package/dist/tools/skill.js +1274 -0
  1271. package/dist/tools/skill.js.map +1 -0
  1272. package/dist/tools/start-lead-agent.d.ts +103 -0
  1273. package/dist/tools/start-lead-agent.d.ts.map +1 -0
  1274. package/dist/tools/start-lead-agent.js +243 -0
  1275. package/dist/tools/start-lead-agent.js.map +1 -0
  1276. package/dist/tools/structured-output.d.ts +80 -0
  1277. package/dist/tools/structured-output.d.ts.map +1 -0
  1278. package/dist/tools/structured-output.js +113 -0
  1279. package/dist/tools/structured-output.js.map +1 -0
  1280. package/dist/tools/submit-e2e-result.d.ts +57 -0
  1281. package/dist/tools/submit-e2e-result.d.ts.map +1 -0
  1282. package/dist/tools/submit-e2e-result.js +161 -0
  1283. package/dist/tools/submit-e2e-result.js.map +1 -0
  1284. package/dist/tools/submit-review.d.ts +42 -0
  1285. package/dist/tools/submit-review.d.ts.map +1 -0
  1286. package/dist/tools/submit-review.js +122 -0
  1287. package/dist/tools/submit-review.js.map +1 -0
  1288. package/dist/tools/task-status.d.ts +33 -0
  1289. package/dist/tools/task-status.d.ts.map +1 -0
  1290. package/dist/tools/task-status.js +86 -0
  1291. package/dist/tools/task-status.js.map +1 -0
  1292. package/dist/tools/task-storage.d.ts +165 -0
  1293. package/dist/tools/task-storage.d.ts.map +1 -0
  1294. package/dist/tools/task-storage.js +354 -0
  1295. package/dist/tools/task-storage.js.map +1 -0
  1296. package/dist/tools/task-v2.d.ts +38 -0
  1297. package/dist/tools/task-v2.d.ts.map +1 -0
  1298. package/dist/tools/task-v2.js +472 -0
  1299. package/dist/tools/task-v2.js.map +1 -0
  1300. package/dist/tools/team.d.ts +51 -0
  1301. package/dist/tools/team.d.ts.map +1 -0
  1302. package/dist/tools/team.js +441 -0
  1303. package/dist/tools/team.js.map +1 -0
  1304. package/dist/tools/todo.d.ts +30 -0
  1305. package/dist/tools/todo.d.ts.map +1 -0
  1306. package/dist/tools/todo.js +204 -0
  1307. package/dist/tools/todo.js.map +1 -0
  1308. package/dist/tools/trigger-e2e-test.d.ts +62 -0
  1309. package/dist/tools/trigger-e2e-test.d.ts.map +1 -0
  1310. package/dist/tools/trigger-e2e-test.js +228 -0
  1311. package/dist/tools/trigger-e2e-test.js.map +1 -0
  1312. package/dist/tools/update-task-plan.d.ts +43 -0
  1313. package/dist/tools/update-task-plan.d.ts.map +1 -0
  1314. package/dist/tools/update-task-plan.js +214 -0
  1315. package/dist/tools/update-task-plan.js.map +1 -0
  1316. package/dist/tools/web.d.ts +78 -0
  1317. package/dist/tools/web.d.ts.map +1 -0
  1318. package/dist/tools/web.js +535 -0
  1319. package/dist/tools/web.js.map +1 -0
  1320. package/dist/trust/index.d.ts +165 -0
  1321. package/dist/trust/index.d.ts.map +1 -0
  1322. package/dist/trust/index.js +408 -0
  1323. package/dist/trust/index.js.map +1 -0
  1324. package/dist/types/config.d.ts +1259 -0
  1325. package/dist/types/config.d.ts.map +1 -0
  1326. package/dist/types/config.js +245 -0
  1327. package/dist/types/config.js.map +1 -0
  1328. package/dist/types/errors.d.ts +389 -0
  1329. package/dist/types/errors.d.ts.map +1 -0
  1330. package/dist/types/errors.js +670 -0
  1331. package/dist/types/errors.js.map +1 -0
  1332. package/dist/types/index.d.ts +30 -0
  1333. package/dist/types/index.d.ts.map +1 -0
  1334. package/dist/types/index.js +26 -0
  1335. package/dist/types/index.js.map +1 -0
  1336. package/dist/types/messages.d.ts +761 -0
  1337. package/dist/types/messages.d.ts.map +1 -0
  1338. package/dist/types/messages.js +10 -0
  1339. package/dist/types/messages.js.map +1 -0
  1340. package/dist/types/results.d.ts +583 -0
  1341. package/dist/types/results.d.ts.map +1 -0
  1342. package/dist/types/results.js +111 -0
  1343. package/dist/types/results.js.map +1 -0
  1344. package/dist/types/tools.d.ts +734 -0
  1345. package/dist/types/tools.d.ts.map +1 -0
  1346. package/dist/types/tools.js +9 -0
  1347. package/dist/types/tools.js.map +1 -0
  1348. package/dist/ui/App.d.ts +17 -0
  1349. package/dist/ui/App.d.ts.map +1 -0
  1350. package/dist/ui/App.js +977 -0
  1351. package/dist/ui/App.js.map +1 -0
  1352. package/dist/ui/ChromeSettings.d.ts +18 -0
  1353. package/dist/ui/ChromeSettings.d.ts.map +1 -0
  1354. package/dist/ui/ChromeSettings.js +224 -0
  1355. package/dist/ui/ChromeSettings.js.map +1 -0
  1356. package/dist/ui/LoginSelector.d.ts +29 -0
  1357. package/dist/ui/LoginSelector.d.ts.map +1 -0
  1358. package/dist/ui/LoginSelector.js +168 -0
  1359. package/dist/ui/LoginSelector.js.map +1 -0
  1360. package/dist/ui/McpSettings.d.ts +29 -0
  1361. package/dist/ui/McpSettings.d.ts.map +1 -0
  1362. package/dist/ui/McpSettings.js +689 -0
  1363. package/dist/ui/McpSettings.js.map +1 -0
  1364. package/dist/ui/PluginsDialog.d.ts +21 -0
  1365. package/dist/ui/PluginsDialog.d.ts.map +1 -0
  1366. package/dist/ui/PluginsDialog.js +923 -0
  1367. package/dist/ui/PluginsDialog.js.map +1 -0
  1368. package/dist/ui/autocomplete/bash-history.d.ts +58 -0
  1369. package/dist/ui/autocomplete/bash-history.d.ts.map +1 -0
  1370. package/dist/ui/autocomplete/bash-history.js +196 -0
  1371. package/dist/ui/autocomplete/bash-history.js.map +1 -0
  1372. package/dist/ui/autocomplete/commands.d.ts +25 -0
  1373. package/dist/ui/autocomplete/commands.d.ts.map +1 -0
  1374. package/dist/ui/autocomplete/commands.js +535 -0
  1375. package/dist/ui/autocomplete/commands.js.map +1 -0
  1376. package/dist/ui/autocomplete/example.d.ts +10 -0
  1377. package/dist/ui/autocomplete/example.d.ts.map +1 -0
  1378. package/dist/ui/autocomplete/example.js +118 -0
  1379. package/dist/ui/autocomplete/example.js.map +1 -0
  1380. package/dist/ui/autocomplete/files.d.ts +27 -0
  1381. package/dist/ui/autocomplete/files.d.ts.map +1 -0
  1382. package/dist/ui/autocomplete/files.js +127 -0
  1383. package/dist/ui/autocomplete/files.js.map +1 -0
  1384. package/dist/ui/autocomplete/index.d.ts +25 -0
  1385. package/dist/ui/autocomplete/index.d.ts.map +1 -0
  1386. package/dist/ui/autocomplete/index.js +85 -0
  1387. package/dist/ui/autocomplete/index.js.map +1 -0
  1388. package/dist/ui/autocomplete/mentions.d.ts +29 -0
  1389. package/dist/ui/autocomplete/mentions.d.ts.map +1 -0
  1390. package/dist/ui/autocomplete/mentions.js +170 -0
  1391. package/dist/ui/autocomplete/mentions.js.map +1 -0
  1392. package/dist/ui/autocomplete/types.d.ts +58 -0
  1393. package/dist/ui/autocomplete/types.d.ts.map +1 -0
  1394. package/dist/ui/autocomplete/types.js +110 -0
  1395. package/dist/ui/autocomplete/types.js.map +1 -0
  1396. package/dist/ui/components/AxonMdImportDialog.d.ts +79 -0
  1397. package/dist/ui/components/AxonMdImportDialog.d.ts.map +1 -0
  1398. package/dist/ui/components/AxonMdImportDialog.js +420 -0
  1399. package/dist/ui/components/AxonMdImportDialog.js.map +1 -0
  1400. package/dist/ui/components/BackgroundTasksPanel.d.ts +16 -0
  1401. package/dist/ui/components/BackgroundTasksPanel.d.ts.map +1 -0
  1402. package/dist/ui/components/BackgroundTasksPanel.js +90 -0
  1403. package/dist/ui/components/BackgroundTasksPanel.js.map +1 -0
  1404. package/dist/ui/components/BreathingLight.d.ts +68 -0
  1405. package/dist/ui/components/BreathingLight.d.ts.map +1 -0
  1406. package/dist/ui/components/BreathingLight.js +110 -0
  1407. package/dist/ui/components/BreathingLight.js.map +1 -0
  1408. package/dist/ui/components/DiffView.d.ts +21 -0
  1409. package/dist/ui/components/DiffView.d.ts.map +1 -0
  1410. package/dist/ui/components/DiffView.js +387 -0
  1411. package/dist/ui/components/DiffView.js.map +1 -0
  1412. package/dist/ui/components/Header.d.ts +38 -0
  1413. package/dist/ui/components/Header.d.ts.map +1 -0
  1414. package/dist/ui/components/Header.js +163 -0
  1415. package/dist/ui/components/Header.js.map +1 -0
  1416. package/dist/ui/components/HistorySearch.d.ts +18 -0
  1417. package/dist/ui/components/HistorySearch.d.ts.map +1 -0
  1418. package/dist/ui/components/HistorySearch.js +59 -0
  1419. package/dist/ui/components/HistorySearch.js.map +1 -0
  1420. package/dist/ui/components/HiveConsole.d.ts +45 -0
  1421. package/dist/ui/components/HiveConsole.d.ts.map +1 -0
  1422. package/dist/ui/components/HiveConsole.js +166 -0
  1423. package/dist/ui/components/HiveConsole.js.map +1 -0
  1424. package/dist/ui/components/HiveConsole.test.d.ts +8 -0
  1425. package/dist/ui/components/HiveConsole.test.d.ts.map +1 -0
  1426. package/dist/ui/components/HiveConsole.test.js +330 -0
  1427. package/dist/ui/components/HiveConsole.test.js.map +1 -0
  1428. package/dist/ui/components/Input.d.ts +25 -0
  1429. package/dist/ui/components/Input.d.ts.map +1 -0
  1430. package/dist/ui/components/Input.js +1097 -0
  1431. package/dist/ui/components/Input.js.map +1 -0
  1432. package/dist/ui/components/Message.d.ts +18 -0
  1433. package/dist/ui/components/Message.d.ts.map +1 -0
  1434. package/dist/ui/components/Message.js +212 -0
  1435. package/dist/ui/components/Message.js.map +1 -0
  1436. package/dist/ui/components/MessageSelector.d.ts +66 -0
  1437. package/dist/ui/components/MessageSelector.d.ts.map +1 -0
  1438. package/dist/ui/components/MessageSelector.js +272 -0
  1439. package/dist/ui/components/MessageSelector.js.map +1 -0
  1440. package/dist/ui/components/ModelSelector.d.ts +27 -0
  1441. package/dist/ui/components/ModelSelector.d.ts.map +1 -0
  1442. package/dist/ui/components/ModelSelector.js +135 -0
  1443. package/dist/ui/components/ModelSelector.js.map +1 -0
  1444. package/dist/ui/components/PermissionPrompt.d.ts +44 -0
  1445. package/dist/ui/components/PermissionPrompt.d.ts.map +1 -0
  1446. package/dist/ui/components/PermissionPrompt.js +416 -0
  1447. package/dist/ui/components/PermissionPrompt.js.map +1 -0
  1448. package/dist/ui/components/ProgressBar.d.ts +61 -0
  1449. package/dist/ui/components/ProgressBar.d.ts.map +1 -0
  1450. package/dist/ui/components/ProgressBar.js +174 -0
  1451. package/dist/ui/components/ProgressBar.js.map +1 -0
  1452. package/dist/ui/components/ResumeSession.d.ts +27 -0
  1453. package/dist/ui/components/ResumeSession.d.ts.map +1 -0
  1454. package/dist/ui/components/ResumeSession.js +330 -0
  1455. package/dist/ui/components/ResumeSession.js.map +1 -0
  1456. package/dist/ui/components/SelectInput.d.ts +22 -0
  1457. package/dist/ui/components/SelectInput.d.ts.map +1 -0
  1458. package/dist/ui/components/SelectInput.js +84 -0
  1459. package/dist/ui/components/SelectInput.js.map +1 -0
  1460. package/dist/ui/components/ShortcutHelp.d.ts +12 -0
  1461. package/dist/ui/components/ShortcutHelp.d.ts.map +1 -0
  1462. package/dist/ui/components/ShortcutHelp.js +55 -0
  1463. package/dist/ui/components/ShortcutHelp.js.map +1 -0
  1464. package/dist/ui/components/SkillsDialog.d.ts +12 -0
  1465. package/dist/ui/components/SkillsDialog.d.ts.map +1 -0
  1466. package/dist/ui/components/SkillsDialog.js +239 -0
  1467. package/dist/ui/components/SkillsDialog.js.map +1 -0
  1468. package/dist/ui/components/Spinner.d.ts +81 -0
  1469. package/dist/ui/components/Spinner.d.ts.map +1 -0
  1470. package/dist/ui/components/Spinner.js +165 -0
  1471. package/dist/ui/components/Spinner.js.map +1 -0
  1472. package/dist/ui/components/StatsPanel.d.ts +20 -0
  1473. package/dist/ui/components/StatsPanel.d.ts.map +1 -0
  1474. package/dist/ui/components/StatsPanel.js +584 -0
  1475. package/dist/ui/components/StatsPanel.js.map +1 -0
  1476. package/dist/ui/components/StatusBar.d.ts +43 -0
  1477. package/dist/ui/components/StatusBar.d.ts.map +1 -0
  1478. package/dist/ui/components/StatusBar.js +160 -0
  1479. package/dist/ui/components/StatusBar.js.map +1 -0
  1480. package/dist/ui/components/StatusBar.test.d.ts +10 -0
  1481. package/dist/ui/components/StatusBar.test.d.ts.map +1 -0
  1482. package/dist/ui/components/StatusBar.test.js +70 -0
  1483. package/dist/ui/components/StatusBar.test.js.map +1 -0
  1484. package/dist/ui/components/TodoList.d.ts +25 -0
  1485. package/dist/ui/components/TodoList.d.ts.map +1 -0
  1486. package/dist/ui/components/TodoList.js +146 -0
  1487. package/dist/ui/components/TodoList.js.map +1 -0
  1488. package/dist/ui/components/ToolCall.d.ts +19 -0
  1489. package/dist/ui/components/ToolCall.d.ts.map +1 -0
  1490. package/dist/ui/components/ToolCall.js +196 -0
  1491. package/dist/ui/components/ToolCall.js.map +1 -0
  1492. package/dist/ui/components/TrustDialog.d.ts +35 -0
  1493. package/dist/ui/components/TrustDialog.d.ts.map +1 -0
  1494. package/dist/ui/components/TrustDialog.js +163 -0
  1495. package/dist/ui/components/TrustDialog.js.map +1 -0
  1496. package/dist/ui/components/UpdateNotification.d.ts +11 -0
  1497. package/dist/ui/components/UpdateNotification.d.ts.map +1 -0
  1498. package/dist/ui/components/UpdateNotification.js +66 -0
  1499. package/dist/ui/components/UpdateNotification.js.map +1 -0
  1500. package/dist/ui/components/WelcomeScreen.d.ts +22 -0
  1501. package/dist/ui/components/WelcomeScreen.d.ts.map +1 -0
  1502. package/dist/ui/components/WelcomeScreen.js +156 -0
  1503. package/dist/ui/components/WelcomeScreen.js.map +1 -0
  1504. package/dist/ui/components/index.d.ts +35 -0
  1505. package/dist/ui/components/index.d.ts.map +1 -0
  1506. package/dist/ui/components/index.js +25 -0
  1507. package/dist/ui/components/index.js.map +1 -0
  1508. package/dist/ui/hooks/index.d.ts +12 -0
  1509. package/dist/ui/hooks/index.d.ts.map +1 -0
  1510. package/dist/ui/hooks/index.js +9 -0
  1511. package/dist/ui/hooks/index.js.map +1 -0
  1512. package/dist/ui/hooks/useAutoScroll.d.ts +22 -0
  1513. package/dist/ui/hooks/useAutoScroll.d.ts.map +1 -0
  1514. package/dist/ui/hooks/useAutoScroll.js +46 -0
  1515. package/dist/ui/hooks/useAutoScroll.js.map +1 -0
  1516. package/dist/ui/hooks/useAxonMdImport.d.ts +57 -0
  1517. package/dist/ui/hooks/useAxonMdImport.d.ts.map +1 -0
  1518. package/dist/ui/hooks/useAxonMdImport.js +248 -0
  1519. package/dist/ui/hooks/useAxonMdImport.js.map +1 -0
  1520. package/dist/ui/hooks/useGlobalKeybindings.d.ts +60 -0
  1521. package/dist/ui/hooks/useGlobalKeybindings.d.ts.map +1 -0
  1522. package/dist/ui/hooks/useGlobalKeybindings.js +460 -0
  1523. package/dist/ui/hooks/useGlobalKeybindings.js.map +1 -0
  1524. package/dist/ui/hooks/useRewind.d.ts +44 -0
  1525. package/dist/ui/hooks/useRewind.d.ts.map +1 -0
  1526. package/dist/ui/hooks/useRewind.js +67 -0
  1527. package/dist/ui/hooks/useRewind.js.map +1 -0
  1528. package/dist/ui/hooks/useTerminalSize.d.ts +32 -0
  1529. package/dist/ui/hooks/useTerminalSize.d.ts.map +1 -0
  1530. package/dist/ui/hooks/useTerminalSize.js +70 -0
  1531. package/dist/ui/hooks/useTerminalSize.js.map +1 -0
  1532. package/dist/ui/index.d.ts +29 -0
  1533. package/dist/ui/index.d.ts.map +1 -0
  1534. package/dist/ui/index.js +42 -0
  1535. package/dist/ui/index.js.map +1 -0
  1536. package/dist/ui/ink-v2/dom-renderer.d.ts +58 -0
  1537. package/dist/ui/ink-v2/dom-renderer.d.ts.map +1 -0
  1538. package/dist/ui/ink-v2/dom-renderer.js +295 -0
  1539. package/dist/ui/ink-v2/dom-renderer.js.map +1 -0
  1540. package/dist/ui/ink-v2/frame.d.ts +25 -0
  1541. package/dist/ui/ink-v2/frame.d.ts.map +1 -0
  1542. package/dist/ui/ink-v2/frame.js +120 -0
  1543. package/dist/ui/ink-v2/frame.js.map +1 -0
  1544. package/dist/ui/ink-v2/index.d.ts +92 -0
  1545. package/dist/ui/ink-v2/index.d.ts.map +1 -0
  1546. package/dist/ui/ink-v2/index.js +185 -0
  1547. package/dist/ui/ink-v2/index.js.map +1 -0
  1548. package/dist/ui/ink-v2/output.d.ts +43 -0
  1549. package/dist/ui/ink-v2/output.d.ts.map +1 -0
  1550. package/dist/ui/ink-v2/output.js +154 -0
  1551. package/dist/ui/ink-v2/output.js.map +1 -0
  1552. package/dist/ui/ink-v2/renderer.d.ts +49 -0
  1553. package/dist/ui/ink-v2/renderer.d.ts.map +1 -0
  1554. package/dist/ui/ink-v2/renderer.js +411 -0
  1555. package/dist/ui/ink-v2/renderer.js.map +1 -0
  1556. package/dist/ui/ink-v2/screen.d.ts +65 -0
  1557. package/dist/ui/ink-v2/screen.d.ts.map +1 -0
  1558. package/dist/ui/ink-v2/screen.js +260 -0
  1559. package/dist/ui/ink-v2/screen.js.map +1 -0
  1560. package/dist/ui/ink-v2/style-pool.d.ts +28 -0
  1561. package/dist/ui/ink-v2/style-pool.d.ts.map +1 -0
  1562. package/dist/ui/ink-v2/style-pool.js +50 -0
  1563. package/dist/ui/ink-v2/style-pool.js.map +1 -0
  1564. package/dist/ui/ink-v2/types.d.ts +138 -0
  1565. package/dist/ui/ink-v2/types.d.ts.map +1 -0
  1566. package/dist/ui/ink-v2/types.js +11 -0
  1567. package/dist/ui/ink-v2/types.js.map +1 -0
  1568. package/dist/ui/markdown-renderer.d.ts +35 -0
  1569. package/dist/ui/markdown-renderer.d.ts.map +1 -0
  1570. package/dist/ui/markdown-renderer.js +369 -0
  1571. package/dist/ui/markdown-renderer.js.map +1 -0
  1572. package/dist/ui/spinner-verbs.d.ts +15 -0
  1573. package/dist/ui/spinner-verbs.d.ts.map +1 -0
  1574. package/dist/ui/spinner-verbs.js +75 -0
  1575. package/dist/ui/spinner-verbs.js.map +1 -0
  1576. package/dist/ui/utils/history-manager.d.ts +41 -0
  1577. package/dist/ui/utils/history-manager.d.ts.map +1 -0
  1578. package/dist/ui/utils/history-manager.js +109 -0
  1579. package/dist/ui/utils/history-manager.js.map +1 -0
  1580. package/dist/ui/utils/index.d.ts +9 -0
  1581. package/dist/ui/utils/index.d.ts.map +1 -0
  1582. package/dist/ui/utils/index.js +10 -0
  1583. package/dist/ui/utils/index.js.map +1 -0
  1584. package/dist/ui/utils/kitty-keyboard.d.ts +239 -0
  1585. package/dist/ui/utils/kitty-keyboard.d.ts.map +1 -0
  1586. package/dist/ui/utils/kitty-keyboard.js +341 -0
  1587. package/dist/ui/utils/kitty-keyboard.js.map +1 -0
  1588. package/dist/ui/utils/string-width.d.ts +36 -0
  1589. package/dist/ui/utils/string-width.d.ts.map +1 -0
  1590. package/dist/ui/utils/string-width.js +339 -0
  1591. package/dist/ui/utils/string-width.js.map +1 -0
  1592. package/dist/ui/utils/syntaxHighlight.d.ts +94 -0
  1593. package/dist/ui/utils/syntaxHighlight.d.ts.map +1 -0
  1594. package/dist/ui/utils/syntaxHighlight.js +415 -0
  1595. package/dist/ui/utils/syntaxHighlight.js.map +1 -0
  1596. package/dist/ui/utils/terminal.d.ts +145 -0
  1597. package/dist/ui/utils/terminal.d.ts.map +1 -0
  1598. package/dist/ui/utils/terminal.js +229 -0
  1599. package/dist/ui/utils/terminal.js.map +1 -0
  1600. package/dist/updater/index.d.ts +115 -0
  1601. package/dist/updater/index.d.ts.map +1 -0
  1602. package/dist/updater/index.js +546 -0
  1603. package/dist/updater/index.js.map +1 -0
  1604. package/dist/utils/AppError.d.ts +24 -0
  1605. package/dist/utils/AppError.d.ts.map +1 -0
  1606. package/dist/utils/AppError.js +33 -0
  1607. package/dist/utils/AppError.js.map +1 -0
  1608. package/dist/utils/AppError.test.d.ts +2 -0
  1609. package/dist/utils/AppError.test.d.ts.map +1 -0
  1610. package/dist/utils/AppError.test.js +257 -0
  1611. package/dist/utils/AppError.test.js.map +1 -0
  1612. package/dist/utils/attribution.d.ts +111 -0
  1613. package/dist/utils/attribution.d.ts.map +1 -0
  1614. package/dist/utils/attribution.js +219 -0
  1615. package/dist/utils/attribution.js.map +1 -0
  1616. package/dist/utils/editor.d.ts +19 -0
  1617. package/dist/utils/editor.d.ts.map +1 -0
  1618. package/dist/utils/editor.js +115 -0
  1619. package/dist/utils/editor.js.map +1 -0
  1620. package/dist/utils/env-check.d.ts +78 -0
  1621. package/dist/utils/env-check.d.ts.map +1 -0
  1622. package/dist/utils/env-check.js +114 -0
  1623. package/dist/utils/env-check.js.map +1 -0
  1624. package/dist/utils/error-watcher.d.ts +78 -0
  1625. package/dist/utils/error-watcher.d.ts.map +1 -0
  1626. package/dist/utils/error-watcher.js +355 -0
  1627. package/dist/utils/error-watcher.js.map +1 -0
  1628. package/dist/utils/git-helper.d.ts +55 -0
  1629. package/dist/utils/git-helper.d.ts.map +1 -0
  1630. package/dist/utils/git-helper.js +238 -0
  1631. package/dist/utils/git-helper.js.map +1 -0
  1632. package/dist/utils/index.d.ts +188 -0
  1633. package/dist/utils/index.d.ts.map +1 -0
  1634. package/dist/utils/index.js +472 -0
  1635. package/dist/utils/index.js.map +1 -0
  1636. package/dist/utils/logger.d.ts +117 -0
  1637. package/dist/utils/logger.d.ts.map +1 -0
  1638. package/dist/utils/logger.js +458 -0
  1639. package/dist/utils/logger.js.map +1 -0
  1640. package/dist/utils/package-manager.d.ts +134 -0
  1641. package/dist/utils/package-manager.d.ts.map +1 -0
  1642. package/dist/utils/package-manager.js +325 -0
  1643. package/dist/utils/package-manager.js.map +1 -0
  1644. package/dist/utils/platform.d.ts +283 -0
  1645. package/dist/utils/platform.d.ts.map +1 -0
  1646. package/dist/utils/platform.js +748 -0
  1647. package/dist/utils/platform.js.map +1 -0
  1648. package/dist/utils/pr-status.d.ts +50 -0
  1649. package/dist/utils/pr-status.d.ts.map +1 -0
  1650. package/dist/utils/pr-status.js +182 -0
  1651. package/dist/utils/pr-status.js.map +1 -0
  1652. package/dist/utils/retry.d.ts +86 -0
  1653. package/dist/utils/retry.d.ts.map +1 -0
  1654. package/dist/utils/retry.js +202 -0
  1655. package/dist/utils/retry.js.map +1 -0
  1656. package/dist/utils/temp-dir.d.ts +31 -0
  1657. package/dist/utils/temp-dir.d.ts.map +1 -0
  1658. package/dist/utils/temp-dir.js +141 -0
  1659. package/dist/utils/temp-dir.js.map +1 -0
  1660. package/dist/utils/terminal-setup.d.ts +31 -0
  1661. package/dist/utils/terminal-setup.d.ts.map +1 -0
  1662. package/dist/utils/terminal-setup.js +224 -0
  1663. package/dist/utils/terminal-setup.js.map +1 -0
  1664. package/dist/utils/terminal-tab.d.ts +15 -0
  1665. package/dist/utils/terminal-tab.d.ts.map +1 -0
  1666. package/dist/utils/terminal-tab.js +173 -0
  1667. package/dist/utils/terminal-tab.js.map +1 -0
  1668. package/dist/utils/token-estimate.d.ts +26 -0
  1669. package/dist/utils/token-estimate.d.ts.map +1 -0
  1670. package/dist/utils/token-estimate.js +62 -0
  1671. package/dist/utils/token-estimate.js.map +1 -0
  1672. package/dist/utils/truncated-buffer.d.ts +70 -0
  1673. package/dist/utils/truncated-buffer.d.ts.map +1 -0
  1674. package/dist/utils/truncated-buffer.js +124 -0
  1675. package/dist/utils/truncated-buffer.js.map +1 -0
  1676. package/dist/version.d.ts +30 -0
  1677. package/dist/version.d.ts.map +1 -0
  1678. package/dist/version.js +32 -0
  1679. package/dist/version.js.map +1 -0
  1680. package/dist/web/index.d.ts +7 -0
  1681. package/dist/web/index.d.ts.map +1 -0
  1682. package/dist/web/index.js +7 -0
  1683. package/dist/web/index.js.map +1 -0
  1684. package/dist/web/server/api-manager.d.ts +53 -0
  1685. package/dist/web/server/api-manager.d.ts.map +1 -0
  1686. package/dist/web/server/api-manager.js +271 -0
  1687. package/dist/web/server/api-manager.js.map +1 -0
  1688. package/dist/web/server/channels/adapters/discord.d.ts +41 -0
  1689. package/dist/web/server/channels/adapters/discord.d.ts.map +1 -0
  1690. package/dist/web/server/channels/adapters/discord.js +326 -0
  1691. package/dist/web/server/channels/adapters/discord.js.map +1 -0
  1692. package/dist/web/server/channels/adapters/feishu.d.ts +38 -0
  1693. package/dist/web/server/channels/adapters/feishu.d.ts.map +1 -0
  1694. package/dist/web/server/channels/adapters/feishu.js +442 -0
  1695. package/dist/web/server/channels/adapters/feishu.js.map +1 -0
  1696. package/dist/web/server/channels/adapters/slack-bot.d.ts +30 -0
  1697. package/dist/web/server/channels/adapters/slack-bot.d.ts.map +1 -0
  1698. package/dist/web/server/channels/adapters/slack-bot.js +226 -0
  1699. package/dist/web/server/channels/adapters/slack-bot.js.map +1 -0
  1700. package/dist/web/server/channels/adapters/telegram.d.ts +32 -0
  1701. package/dist/web/server/channels/adapters/telegram.d.ts.map +1 -0
  1702. package/dist/web/server/channels/adapters/telegram.js +261 -0
  1703. package/dist/web/server/channels/adapters/telegram.js.map +1 -0
  1704. package/dist/web/server/channels/adapters/whatsapp.d.ts +48 -0
  1705. package/dist/web/server/channels/adapters/whatsapp.d.ts.map +1 -0
  1706. package/dist/web/server/channels/adapters/whatsapp.js +316 -0
  1707. package/dist/web/server/channels/adapters/whatsapp.js.map +1 -0
  1708. package/dist/web/server/channels/bridge.d.ts +103 -0
  1709. package/dist/web/server/channels/bridge.d.ts.map +1 -0
  1710. package/dist/web/server/channels/bridge.js +728 -0
  1711. package/dist/web/server/channels/bridge.js.map +1 -0
  1712. package/dist/web/server/channels/index.d.ts +71 -0
  1713. package/dist/web/server/channels/index.d.ts.map +1 -0
  1714. package/dist/web/server/channels/index.js +307 -0
  1715. package/dist/web/server/channels/index.js.map +1 -0
  1716. package/dist/web/server/channels/types.d.ts +249 -0
  1717. package/dist/web/server/channels/types.d.ts.map +1 -0
  1718. package/dist/web/server/channels/types.js +8 -0
  1719. package/dist/web/server/channels/types.js.map +1 -0
  1720. package/dist/web/server/checkpoint-manager.d.ts +152 -0
  1721. package/dist/web/server/checkpoint-manager.d.ts.map +1 -0
  1722. package/dist/web/server/checkpoint-manager.js +359 -0
  1723. package/dist/web/server/checkpoint-manager.js.map +1 -0
  1724. package/dist/web/server/connectors/index.d.ts +115 -0
  1725. package/dist/web/server/connectors/index.d.ts.map +1 -0
  1726. package/dist/web/server/connectors/index.js +759 -0
  1727. package/dist/web/server/connectors/index.js.map +1 -0
  1728. package/dist/web/server/connectors/providers.d.ts +6 -0
  1729. package/dist/web/server/connectors/providers.d.ts.map +1 -0
  1730. package/dist/web/server/connectors/providers.js +238 -0
  1731. package/dist/web/server/connectors/providers.js.map +1 -0
  1732. package/dist/web/server/connectors/types.d.ts +79 -0
  1733. package/dist/web/server/connectors/types.d.ts.map +1 -0
  1734. package/dist/web/server/connectors/types.js +5 -0
  1735. package/dist/web/server/connectors/types.js.map +1 -0
  1736. package/dist/web/server/conversation.d.ts +593 -0
  1737. package/dist/web/server/conversation.d.ts.map +1 -0
  1738. package/dist/web/server/conversation.js +5170 -0
  1739. package/dist/web/server/conversation.js.map +1 -0
  1740. package/dist/web/server/database/swarm-logs.d.ts +150 -0
  1741. package/dist/web/server/database/swarm-logs.d.ts.map +1 -0
  1742. package/dist/web/server/database/swarm-logs.js +456 -0
  1743. package/dist/web/server/database/swarm-logs.js.map +1 -0
  1744. package/dist/web/server/doctor.d.ts +59 -0
  1745. package/dist/web/server/doctor.d.ts.map +1 -0
  1746. package/dist/web/server/doctor.js +666 -0
  1747. package/dist/web/server/doctor.js.map +1 -0
  1748. package/dist/web/server/evolve-state.d.ts +30 -0
  1749. package/dist/web/server/evolve-state.d.ts.map +1 -0
  1750. package/dist/web/server/evolve-state.js +54 -0
  1751. package/dist/web/server/evolve-state.js.map +1 -0
  1752. package/dist/web/server/git-manager.d.ts +373 -0
  1753. package/dist/web/server/git-manager.d.ts.map +1 -0
  1754. package/dist/web/server/git-manager.js +1556 -0
  1755. package/dist/web/server/git-manager.js.map +1 -0
  1756. package/dist/web/server/handlers/types.d.ts +95 -0
  1757. package/dist/web/server/handlers/types.d.ts.map +1 -0
  1758. package/dist/web/server/handlers/types.js +22 -0
  1759. package/dist/web/server/handlers/types.js.map +1 -0
  1760. package/dist/web/server/index.d.ts +41 -0
  1761. package/dist/web/server/index.d.ts.map +1 -0
  1762. package/dist/web/server/index.js +935 -0
  1763. package/dist/web/server/index.js.map +1 -0
  1764. package/dist/web/server/oauth-manager.d.ts +89 -0
  1765. package/dist/web/server/oauth-manager.d.ts.map +1 -0
  1766. package/dist/web/server/oauth-manager.js +361 -0
  1767. package/dist/web/server/oauth-manager.js.map +1 -0
  1768. package/dist/web/server/permission-handler.d.ts +170 -0
  1769. package/dist/web/server/permission-handler.d.ts.map +1 -0
  1770. package/dist/web/server/permission-handler.js +591 -0
  1771. package/dist/web/server/permission-handler.js.map +1 -0
  1772. package/dist/web/server/project-suggestions.d.ts +39 -0
  1773. package/dist/web/server/project-suggestions.d.ts.map +1 -0
  1774. package/dist/web/server/project-suggestions.js +365 -0
  1775. package/dist/web/server/project-suggestions.js.map +1 -0
  1776. package/dist/web/server/prompt-snippets.d.ts +92 -0
  1777. package/dist/web/server/prompt-snippets.d.ts.map +1 -0
  1778. package/dist/web/server/prompt-snippets.js +206 -0
  1779. package/dist/web/server/prompt-snippets.js.map +1 -0
  1780. package/dist/web/server/routes/__tests__/artifacts-api.test.d.ts +2 -0
  1781. package/dist/web/server/routes/__tests__/artifacts-api.test.d.ts.map +1 -0
  1782. package/dist/web/server/routes/__tests__/artifacts-api.test.js +572 -0
  1783. package/dist/web/server/routes/__tests__/artifacts-api.test.js.map +1 -0
  1784. package/dist/web/server/routes/agent-api.d.ts +7 -0
  1785. package/dist/web/server/routes/agent-api.d.ts.map +1 -0
  1786. package/dist/web/server/routes/agent-api.js +225 -0
  1787. package/dist/web/server/routes/agent-api.js.map +1 -0
  1788. package/dist/web/server/routes/ai-editor.d.ts +13 -0
  1789. package/dist/web/server/routes/ai-editor.d.ts.map +1 -0
  1790. package/dist/web/server/routes/ai-editor.js +2079 -0
  1791. package/dist/web/server/routes/ai-editor.js.map +1 -0
  1792. package/dist/web/server/routes/ai-hover.d.ts +10 -0
  1793. package/dist/web/server/routes/ai-hover.d.ts.map +1 -0
  1794. package/dist/web/server/routes/ai-hover.js +359 -0
  1795. package/dist/web/server/routes/ai-hover.js.map +1 -0
  1796. package/dist/web/server/routes/api.d.ts +7 -0
  1797. package/dist/web/server/routes/api.d.ts.map +1 -0
  1798. package/dist/web/server/routes/api.js +1200 -0
  1799. package/dist/web/server/routes/api.js.map +1 -0
  1800. package/dist/web/server/routes/artifacts-api.d.ts +15 -0
  1801. package/dist/web/server/routes/artifacts-api.d.ts.map +1 -0
  1802. package/dist/web/server/routes/artifacts-api.js +231 -0
  1803. package/dist/web/server/routes/artifacts-api.js.map +1 -0
  1804. package/dist/web/server/routes/auth.d.ts +7 -0
  1805. package/dist/web/server/routes/auth.d.ts.map +1 -0
  1806. package/dist/web/server/routes/auth.js +292 -0
  1807. package/dist/web/server/routes/auth.js.map +1 -0
  1808. package/dist/web/server/routes/autocomplete-api.d.ts +10 -0
  1809. package/dist/web/server/routes/autocomplete-api.d.ts.map +1 -0
  1810. package/dist/web/server/routes/autocomplete-api.js +302 -0
  1811. package/dist/web/server/routes/autocomplete-api.js.map +1 -0
  1812. package/dist/web/server/routes/axon-cloud.d.ts +7 -0
  1813. package/dist/web/server/routes/axon-cloud.d.ts.map +1 -0
  1814. package/dist/web/server/routes/axon-cloud.js +160 -0
  1815. package/dist/web/server/routes/axon-cloud.js.map +1 -0
  1816. package/dist/web/server/routes/blueprint-api.d.ts +459 -0
  1817. package/dist/web/server/routes/blueprint-api.d.ts.map +1 -0
  1818. package/dist/web/server/routes/blueprint-api.js +6057 -0
  1819. package/dist/web/server/routes/blueprint-api.js.map +1 -0
  1820. package/dist/web/server/routes/blueprint-requirement-api.d.ts +11 -0
  1821. package/dist/web/server/routes/blueprint-requirement-api.d.ts.map +1 -0
  1822. package/dist/web/server/routes/blueprint-requirement-api.js +91 -0
  1823. package/dist/web/server/routes/blueprint-requirement-api.js.map +1 -0
  1824. package/dist/web/server/routes/code-parser.d.ts +14 -0
  1825. package/dist/web/server/routes/code-parser.d.ts.map +1 -0
  1826. package/dist/web/server/routes/code-parser.js +191 -0
  1827. package/dist/web/server/routes/code-parser.js.map +1 -0
  1828. package/dist/web/server/routes/config-api.d.ts +14 -0
  1829. package/dist/web/server/routes/config-api.d.ts.map +1 -0
  1830. package/dist/web/server/routes/config-api.js +670 -0
  1831. package/dist/web/server/routes/config-api.js.map +1 -0
  1832. package/dist/web/server/routes/connectors-api.d.ts +7 -0
  1833. package/dist/web/server/routes/connectors-api.d.ts.map +1 -0
  1834. package/dist/web/server/routes/connectors-api.js +267 -0
  1835. package/dist/web/server/routes/connectors-api.js.map +1 -0
  1836. package/dist/web/server/routes/data-flow-analyzer.d.ts +60 -0
  1837. package/dist/web/server/routes/data-flow-analyzer.d.ts.map +1 -0
  1838. package/dist/web/server/routes/data-flow-analyzer.js +220 -0
  1839. package/dist/web/server/routes/data-flow-analyzer.js.map +1 -0
  1840. package/dist/web/server/routes/download-proxy.d.ts +16 -0
  1841. package/dist/web/server/routes/download-proxy.d.ts.map +1 -0
  1842. package/dist/web/server/routes/download-proxy.js +114 -0
  1843. package/dist/web/server/routes/download-proxy.js.map +1 -0
  1844. package/dist/web/server/routes/file-api.d.ts +18 -0
  1845. package/dist/web/server/routes/file-api.d.ts.map +1 -0
  1846. package/dist/web/server/routes/file-api.js +1514 -0
  1847. package/dist/web/server/routes/file-api.js.map +1 -0
  1848. package/dist/web/server/routes/lsp-analyzer.d.ts +76 -0
  1849. package/dist/web/server/routes/lsp-analyzer.d.ts.map +1 -0
  1850. package/dist/web/server/routes/lsp-analyzer.js +457 -0
  1851. package/dist/web/server/routes/lsp-analyzer.js.map +1 -0
  1852. package/dist/web/server/routes/lsp-api.d.ts +8 -0
  1853. package/dist/web/server/routes/lsp-api.d.ts.map +1 -0
  1854. package/dist/web/server/routes/lsp-api.js +283 -0
  1855. package/dist/web/server/routes/lsp-api.js.map +1 -0
  1856. package/dist/web/server/routes/mcp-cli-api.d.ts +19 -0
  1857. package/dist/web/server/routes/mcp-cli-api.d.ts.map +1 -0
  1858. package/dist/web/server/routes/mcp-cli-api.js +223 -0
  1859. package/dist/web/server/routes/mcp-cli-api.js.map +1 -0
  1860. package/dist/web/server/routes/network-api.d.ts +8 -0
  1861. package/dist/web/server/routes/network-api.d.ts.map +1 -0
  1862. package/dist/web/server/routes/network-api.js +367 -0
  1863. package/dist/web/server/routes/network-api.js.map +1 -0
  1864. package/dist/web/server/routes/notebook-api.d.ts +12 -0
  1865. package/dist/web/server/routes/notebook-api.d.ts.map +1 -0
  1866. package/dist/web/server/routes/notebook-api.js +164 -0
  1867. package/dist/web/server/routes/notebook-api.js.map +1 -0
  1868. package/dist/web/server/routes/port-forward.d.ts +20 -0
  1869. package/dist/web/server/routes/port-forward.d.ts.map +1 -0
  1870. package/dist/web/server/routes/port-forward.js +155 -0
  1871. package/dist/web/server/routes/port-forward.js.map +1 -0
  1872. package/dist/web/server/routes/project-map-generator.d.ts +126 -0
  1873. package/dist/web/server/routes/project-map-generator.d.ts.map +1 -0
  1874. package/dist/web/server/routes/project-map-generator.js +800 -0
  1875. package/dist/web/server/routes/project-map-generator.js.map +1 -0
  1876. package/dist/web/server/routes/schedule-api.d.ts +7 -0
  1877. package/dist/web/server/routes/schedule-api.d.ts.map +1 -0
  1878. package/dist/web/server/routes/schedule-api.js +324 -0
  1879. package/dist/web/server/routes/schedule-api.js.map +1 -0
  1880. package/dist/web/server/routes/symbol-classifier.d.ts +71 -0
  1881. package/dist/web/server/routes/symbol-classifier.d.ts.map +1 -0
  1882. package/dist/web/server/routes/symbol-classifier.js +190 -0
  1883. package/dist/web/server/routes/symbol-classifier.js.map +1 -0
  1884. package/dist/web/server/services/axon-cloud-service.d.ts +95 -0
  1885. package/dist/web/server/services/axon-cloud-service.d.ts.map +1 -0
  1886. package/dist/web/server/services/axon-cloud-service.js +210 -0
  1887. package/dist/web/server/services/axon-cloud-service.js.map +1 -0
  1888. package/dist/web/server/services/config-service.d.ts +436 -0
  1889. package/dist/web/server/services/config-service.d.ts.map +1 -0
  1890. package/dist/web/server/services/config-service.js +872 -0
  1891. package/dist/web/server/services/config-service.js.map +1 -0
  1892. package/dist/web/server/services/gemini-image-service.d.ts +80 -0
  1893. package/dist/web/server/services/gemini-image-service.d.ts.map +1 -0
  1894. package/dist/web/server/services/gemini-image-service.js +373 -0
  1895. package/dist/web/server/services/gemini-image-service.js.map +1 -0
  1896. package/dist/web/server/services/mode-presets.d.ts +40 -0
  1897. package/dist/web/server/services/mode-presets.d.ts.map +1 -0
  1898. package/dist/web/server/services/mode-presets.js +167 -0
  1899. package/dist/web/server/services/mode-presets.js.map +1 -0
  1900. package/dist/web/server/services/proxy-service.d.ts +59 -0
  1901. package/dist/web/server/services/proxy-service.d.ts.map +1 -0
  1902. package/dist/web/server/services/proxy-service.js +132 -0
  1903. package/dist/web/server/services/proxy-service.js.map +1 -0
  1904. package/dist/web/server/session-manager.d.ts +152 -0
  1905. package/dist/web/server/session-manager.d.ts.map +1 -0
  1906. package/dist/web/server/session-manager.js +421 -0
  1907. package/dist/web/server/session-manager.js.map +1 -0
  1908. package/dist/web/server/slash-commands.d.ts +46 -0
  1909. package/dist/web/server/slash-commands.d.ts.map +1 -0
  1910. package/dist/web/server/slash-commands.js +774 -0
  1911. package/dist/web/server/slash-commands.js.map +1 -0
  1912. package/dist/web/server/task-manager.d.ts +190 -0
  1913. package/dist/web/server/task-manager.d.ts.map +1 -0
  1914. package/dist/web/server/task-manager.js +596 -0
  1915. package/dist/web/server/task-manager.js.map +1 -0
  1916. package/dist/web/server/terminal-manager.d.ts +50 -0
  1917. package/dist/web/server/terminal-manager.d.ts.map +1 -0
  1918. package/dist/web/server/terminal-manager.js +274 -0
  1919. package/dist/web/server/terminal-manager.js.map +1 -0
  1920. package/dist/web/server/trpc/appRouter.d.ts +429 -0
  1921. package/dist/web/server/trpc/appRouter.d.ts.map +1 -0
  1922. package/dist/web/server/trpc/appRouter.js +18 -0
  1923. package/dist/web/server/trpc/appRouter.js.map +1 -0
  1924. package/dist/web/server/trpc/index.d.ts +29 -0
  1925. package/dist/web/server/trpc/index.d.ts.map +1 -0
  1926. package/dist/web/server/trpc/index.js +25 -0
  1927. package/dist/web/server/trpc/index.js.map +1 -0
  1928. package/dist/web/server/trpc/routers/blueprint.d.ts +162 -0
  1929. package/dist/web/server/trpc/routers/blueprint.d.ts.map +1 -0
  1930. package/dist/web/server/trpc/routers/blueprint.js +225 -0
  1931. package/dist/web/server/trpc/routers/blueprint.js.map +1 -0
  1932. package/dist/web/server/trpc/routers/coordinator.d.ts +247 -0
  1933. package/dist/web/server/trpc/routers/coordinator.d.ts.map +1 -0
  1934. package/dist/web/server/trpc/routers/coordinator.js +363 -0
  1935. package/dist/web/server/trpc/routers/coordinator.js.map +1 -0
  1936. package/dist/web/server/trpc/routers/execution.d.ts +106 -0
  1937. package/dist/web/server/trpc/routers/execution.d.ts.map +1 -0
  1938. package/dist/web/server/trpc/routers/execution.js +176 -0
  1939. package/dist/web/server/trpc/routers/execution.js.map +1 -0
  1940. package/dist/web/server/user-interaction.d.ts +61 -0
  1941. package/dist/web/server/user-interaction.d.ts.map +1 -0
  1942. package/dist/web/server/user-interaction.js +133 -0
  1943. package/dist/web/server/user-interaction.js.map +1 -0
  1944. package/dist/web/server/web-auth.d.ts +125 -0
  1945. package/dist/web/server/web-auth.d.ts.map +1 -0
  1946. package/dist/web/server/web-auth.js +364 -0
  1947. package/dist/web/server/web-auth.js.map +1 -0
  1948. package/dist/web/server/web-scheduler.d.ts +96 -0
  1949. package/dist/web/server/web-scheduler.d.ts.map +1 -0
  1950. package/dist/web/server/web-scheduler.js +762 -0
  1951. package/dist/web/server/web-scheduler.js.map +1 -0
  1952. package/dist/web/server/websocket-git-handlers.d.ts +107 -0
  1953. package/dist/web/server/websocket-git-handlers.d.ts.map +1 -0
  1954. package/dist/web/server/websocket-git-handlers.js +855 -0
  1955. package/dist/web/server/websocket-git-handlers.js.map +1 -0
  1956. package/dist/web/server/websocket.d.ts +18 -0
  1957. package/dist/web/server/websocket.d.ts.map +1 -0
  1958. package/dist/web/server/websocket.js +6158 -0
  1959. package/dist/web/server/websocket.js.map +1 -0
  1960. package/dist/web/shared/types.d.ts +4100 -0
  1961. package/dist/web/shared/types.d.ts.map +1 -0
  1962. package/dist/web/shared/types.js +123 -0
  1963. package/dist/web/shared/types.js.map +1 -0
  1964. package/dist/web-cli.d.ts +11 -0
  1965. package/dist/web-cli.d.ts.map +1 -0
  1966. package/dist/web-cli.js +196 -0
  1967. package/dist/web-cli.js.map +1 -0
  1968. package/dist/wizard/onboarding.d.ts +13 -0
  1969. package/dist/wizard/onboarding.d.ts.map +1 -0
  1970. package/dist/wizard/onboarding.js +196 -0
  1971. package/dist/wizard/onboarding.js.map +1 -0
  1972. package/electron/README.md +41 -0
  1973. package/electron/main.cjs +341 -0
  1974. package/package.json +236 -0
  1975. package/scripts/postinstall.js +110 -0
@@ -0,0 +1,1514 @@
1
+ /**
2
+ * 文件操作 API 路由
3
+ *
4
+ * 提供安全的文件系统访问接口:
5
+ * - GET /api/files/tree - 获取目录树
6
+ * - GET /api/files/read - 读取文件内容
7
+ * - PUT /api/files/write - 写入文件内容
8
+ * - POST /api/files/rename - 重命名文件/目录
9
+ * - POST /api/files/delete - 删除文件/目录
10
+ * - POST /api/files/create - 新建文件
11
+ * - POST /api/files/mkdir - 新建目录
12
+ * - POST /api/files/copy - 复制文件/目录
13
+ * - POST /api/files/move - 移动文件/目录
14
+ * - POST /api/files/reveal - 在系统资源管理器中打开
15
+ */
16
+ import { Router } from 'express';
17
+ import * as fs from 'fs/promises';
18
+ import * as path from 'path';
19
+ import { exec, spawn } from 'child_process';
20
+ import { promisify } from 'util';
21
+ import { getRgPath } from '../../../search/ripgrep.js';
22
+ const execPromise = promisify(exec);
23
+ const router = Router();
24
+ // 默认项目根目录(仅在请求未指定 root 时使用)
25
+ const DEFAULT_PROJECT_ROOT = process.env.PROJECT_ROOT || process.cwd();
26
+ /**
27
+ * 从请求中获取项目根目录
28
+ * 优先使用 query/body 中的 root 参数,否则使用默认值
29
+ */
30
+ function getProjectRoot(req) {
31
+ const root = req.query.root || req.body?.root;
32
+ if (root && path.isAbsolute(root)) {
33
+ const normalized = path.normalize(root);
34
+ // 防止路径遍历:normalize 后不应包含 ..
35
+ if (normalized.includes('..')) {
36
+ return DEFAULT_PROJECT_ROOT;
37
+ }
38
+ return normalized;
39
+ }
40
+ return DEFAULT_PROJECT_ROOT;
41
+ }
42
+ // 自动排除的目录
43
+ const EXCLUDED_DIRS = new Set([
44
+ 'node_modules',
45
+ '.git',
46
+ 'dist',
47
+ '.cache',
48
+ 'build',
49
+ 'out',
50
+ 'target',
51
+ '.next',
52
+ '.nuxt',
53
+ 'coverage',
54
+ '.vscode',
55
+ '.idea',
56
+ ]);
57
+ // 文件扩展名到语言映射
58
+ const EXT_TO_LANGUAGE = {
59
+ '.ts': 'typescript',
60
+ '.tsx': 'typescriptreact',
61
+ '.js': 'javascript',
62
+ '.jsx': 'javascriptreact',
63
+ '.css': 'css',
64
+ '.scss': 'scss',
65
+ '.less': 'less',
66
+ '.json': 'json',
67
+ '.md': 'markdown',
68
+ '.txt': 'plaintext',
69
+ '.html': 'html',
70
+ '.xml': 'xml',
71
+ '.yaml': 'yaml',
72
+ '.yml': 'yaml',
73
+ '.py': 'python',
74
+ '.java': 'java',
75
+ '.c': 'c',
76
+ '.cpp': 'cpp',
77
+ '.h': 'c',
78
+ '.hpp': 'cpp',
79
+ '.rs': 'rust',
80
+ '.go': 'go',
81
+ '.php': 'php',
82
+ '.rb': 'ruby',
83
+ '.sh': 'shell',
84
+ '.bash': 'shell',
85
+ '.sql': 'sql',
86
+ };
87
+ /**
88
+ * 验证路径安全性
89
+ * 防止路径遍历攻击,确保路径在项目根目录下
90
+ */
91
+ function validatePath(filePath, projectRoot) {
92
+ try {
93
+ // 解析绝对路径
94
+ const resolvedPath = path.resolve(projectRoot, filePath);
95
+ // 计算相对路径
96
+ const relativePath = path.relative(projectRoot, resolvedPath);
97
+ // 检查是否在项目目录下(不能以 '..' 开头)
98
+ if (relativePath.startsWith('..') || path.isAbsolute(relativePath)) {
99
+ return {
100
+ valid: false,
101
+ resolvedPath,
102
+ error: 'Path must be within the project directory',
103
+ };
104
+ }
105
+ return {
106
+ valid: true,
107
+ resolvedPath,
108
+ };
109
+ }
110
+ catch (error) {
111
+ return {
112
+ valid: false,
113
+ resolvedPath: '',
114
+ error: error instanceof Error ? error.message : 'Path resolution failed',
115
+ };
116
+ }
117
+ }
118
+ /**
119
+ * 递归获取目录树结构
120
+ *
121
+ * 性能优化:
122
+ * - 使用 readdir({ withFileTypes: true }) 避免额外的 stat 调用
123
+ * - 并发处理子目录(Promise.all),而非串行 await
124
+ */
125
+ async function getDirectoryTree(dirPath, currentDepth, maxDepth, projectRoot) {
126
+ try {
127
+ const name = path.basename(dirPath);
128
+ const relativePath = path.relative(projectRoot, dirPath);
129
+ // 排除特定目录(在 readdir 阶段就已经过滤了,这里是根节点保护)
130
+ if (currentDepth > 0 && EXCLUDED_DIRS.has(name)) {
131
+ return null;
132
+ }
133
+ // 使用 readdir withFileTypes 一次性获取类型信息,避免每个条目单独 stat
134
+ const entries = await fs.readdir(dirPath, { withFileTypes: true });
135
+ const node = {
136
+ name,
137
+ path: relativePath || '.',
138
+ type: 'directory',
139
+ };
140
+ // 如果达到最大深度,不再递归(但标记为目录,前端可以懒加载)
141
+ if (currentDepth >= maxDepth) {
142
+ return node;
143
+ }
144
+ // 分离文件和目录,过滤排除项
145
+ const fileEntries = [];
146
+ const dirPromises = [];
147
+ for (const entry of entries) {
148
+ if (entry.isDirectory()) {
149
+ if (EXCLUDED_DIRS.has(entry.name))
150
+ continue;
151
+ // 并发递归子目录
152
+ dirPromises.push(getDirectoryTree(path.join(dirPath, entry.name), currentDepth + 1, maxDepth, projectRoot));
153
+ }
154
+ else if (entry.isFile()) {
155
+ fileEntries.push({
156
+ name: entry.name,
157
+ path: path.join(relativePath || '.', entry.name),
158
+ type: 'file',
159
+ });
160
+ }
161
+ // 跳过 symlinks 和其他特殊类型
162
+ }
163
+ // 并发等待所有子目录结果
164
+ const dirResults = await Promise.all(dirPromises);
165
+ const dirNodes = dirResults.filter((n) => n !== null);
166
+ // 排序:目录按名称排序
167
+ dirNodes.sort((a, b) => a.name.localeCompare(b.name));
168
+ // 文件按名称排序
169
+ fileEntries.sort((a, b) => a.name.localeCompare(b.name));
170
+ // 目录在前,文件在后
171
+ const children = [...dirNodes, ...fileEntries];
172
+ if (children.length > 0) {
173
+ node.children = children;
174
+ }
175
+ return node;
176
+ }
177
+ catch (error) {
178
+ console.error(`[File API] Failed to read directory tree: ${dirPath}`, error);
179
+ return null;
180
+ }
181
+ }
182
+ // ============================================================================
183
+ // API 路由
184
+ // ============================================================================
185
+ /**
186
+ * GET /api/files/tree
187
+ * 获取目录树结构
188
+ *
189
+ * Query 参数:
190
+ * - path: 相对路径(默认 '.')
191
+ * - depth: 递归深度(默认 3,最大 5)
192
+ */
193
+ router.get('/tree', async (req, res) => {
194
+ try {
195
+ const projectRoot = getProjectRoot(req);
196
+ const queryPath = req.query.path || '.';
197
+ const depth = Math.min(Math.max(parseInt(req.query.depth) || 3, 1), 5);
198
+ // 验证路径
199
+ const validation = validatePath(queryPath, projectRoot);
200
+ if (!validation.valid) {
201
+ res.status(400).json({
202
+ error: validation.error,
203
+ });
204
+ return;
205
+ }
206
+ // 检查路径是否存在
207
+ try {
208
+ await fs.access(validation.resolvedPath);
209
+ }
210
+ catch {
211
+ res.status(404).json({
212
+ error: 'Path does not exist',
213
+ });
214
+ return;
215
+ }
216
+ // 获取目录树
217
+ const tree = await getDirectoryTree(validation.resolvedPath, 0, depth, projectRoot);
218
+ if (!tree) {
219
+ res.status(404).json({
220
+ error: 'Unable to read directory',
221
+ });
222
+ return;
223
+ }
224
+ res.json(tree);
225
+ }
226
+ catch (error) {
227
+ console.error('[File API] Failed to get directory tree:', error);
228
+ res.status(500).json({
229
+ error: 'Failed to get directory tree',
230
+ message: error instanceof Error ? error.message : 'Unknown error',
231
+ });
232
+ }
233
+ });
234
+ /**
235
+ * GET /api/files/read
236
+ * 读取文件内容
237
+ *
238
+ * Query 参数:
239
+ * - path: 文件相对路径
240
+ */
241
+ router.get('/read', async (req, res) => {
242
+ try {
243
+ const projectRoot = getProjectRoot(req);
244
+ const queryPath = req.query.path;
245
+ if (!queryPath) {
246
+ res.status(400).json({
247
+ error: 'Missing path parameter',
248
+ });
249
+ return;
250
+ }
251
+ // 验证路径
252
+ const validation = validatePath(queryPath, projectRoot);
253
+ if (!validation.valid) {
254
+ res.status(400).json({
255
+ error: validation.error,
256
+ });
257
+ return;
258
+ }
259
+ // 检查文件是否存在
260
+ try {
261
+ const stats = await fs.stat(validation.resolvedPath);
262
+ if (!stats.isFile()) {
263
+ res.status(400).json({
264
+ error: 'Path is not a file',
265
+ });
266
+ return;
267
+ }
268
+ }
269
+ catch {
270
+ res.status(404).json({
271
+ error: 'File does not exist',
272
+ });
273
+ return;
274
+ }
275
+ // 读取文件内容
276
+ const content = await fs.readFile(validation.resolvedPath, 'utf-8');
277
+ // 推断语言
278
+ const ext = path.extname(validation.resolvedPath).toLowerCase();
279
+ const language = EXT_TO_LANGUAGE[ext] || 'plaintext';
280
+ const response = {
281
+ content,
282
+ language,
283
+ };
284
+ res.json(response);
285
+ }
286
+ catch (error) {
287
+ console.error('[File API] Failed to read file:', error);
288
+ res.status(500).json({
289
+ error: 'Failed to read file',
290
+ message: error instanceof Error ? error.message : 'Unknown error',
291
+ });
292
+ }
293
+ });
294
+ /**
295
+ * PUT /api/files/write
296
+ * 写入文件内容
297
+ *
298
+ * Body:
299
+ * - path: 文件相对路径
300
+ * - content: 文件内容
301
+ */
302
+ router.put('/write', async (req, res) => {
303
+ try {
304
+ const projectRoot = getProjectRoot(req);
305
+ const { path: filePath, content } = req.body;
306
+ if (!filePath) {
307
+ res.status(400).json({
308
+ success: false,
309
+ message: 'Missing path parameter',
310
+ });
311
+ return;
312
+ }
313
+ if (typeof content !== 'string') {
314
+ res.status(400).json({
315
+ success: false,
316
+ message: 'content must be a string',
317
+ });
318
+ return;
319
+ }
320
+ // 验证路径
321
+ const validation = validatePath(filePath, projectRoot);
322
+ if (!validation.valid) {
323
+ res.status(400).json({
324
+ success: false,
325
+ message: validation.error,
326
+ });
327
+ return;
328
+ }
329
+ // 确保目录存在
330
+ const dirPath = path.dirname(validation.resolvedPath);
331
+ await fs.mkdir(dirPath, { recursive: true });
332
+ // 写入文件
333
+ await fs.writeFile(validation.resolvedPath, content, 'utf-8');
334
+ const response = {
335
+ success: true,
336
+ message: 'File written successfully',
337
+ };
338
+ res.json(response);
339
+ }
340
+ catch (error) {
341
+ console.error('[File API] Failed to write file:', error);
342
+ res.status(500).json({
343
+ success: false,
344
+ message: error instanceof Error ? error.message : 'Unknown error',
345
+ });
346
+ }
347
+ });
348
+ /**
349
+ * POST /api/files/rename
350
+ * 重命名文件/目录
351
+ *
352
+ * Body:
353
+ * - oldPath: 原路径(相对)
354
+ * - newPath: 新路径(相对)
355
+ */
356
+ router.post('/rename', async (req, res) => {
357
+ try {
358
+ const projectRoot = getProjectRoot(req);
359
+ const { oldPath, newPath } = req.body;
360
+ if (!oldPath || !newPath) {
361
+ res.status(400).json({
362
+ success: false,
363
+ error: 'Missing oldPath or newPath parameter',
364
+ });
365
+ return;
366
+ }
367
+ // 验证路径
368
+ const oldValidation = validatePath(oldPath, projectRoot);
369
+ const newValidation = validatePath(newPath, projectRoot);
370
+ if (!oldValidation.valid) {
371
+ res.status(400).json({
372
+ success: false,
373
+ error: `Invalid source path: ${oldValidation.error}`,
374
+ });
375
+ return;
376
+ }
377
+ if (!newValidation.valid) {
378
+ res.status(400).json({
379
+ success: false,
380
+ error: `Invalid target path: ${newValidation.error}`,
381
+ });
382
+ return;
383
+ }
384
+ // 检查源路径是否存在
385
+ try {
386
+ await fs.access(oldValidation.resolvedPath);
387
+ }
388
+ catch {
389
+ res.status(404).json({
390
+ success: false,
391
+ error: 'Source path does not exist',
392
+ });
393
+ return;
394
+ }
395
+ // 检查目标路径是否已存在
396
+ try {
397
+ await fs.access(newValidation.resolvedPath);
398
+ res.status(400).json({
399
+ success: false,
400
+ error: 'Target path already exists',
401
+ });
402
+ return;
403
+ }
404
+ catch {
405
+ // 目标不存在,可以继续
406
+ }
407
+ // 确保目标目录存在
408
+ const newDir = path.dirname(newValidation.resolvedPath);
409
+ await fs.mkdir(newDir, { recursive: true });
410
+ // 重命名
411
+ await fs.rename(oldValidation.resolvedPath, newValidation.resolvedPath);
412
+ res.json({
413
+ success: true,
414
+ });
415
+ }
416
+ catch (error) {
417
+ console.error('[File API] Rename failed:', error);
418
+ res.status(500).json({
419
+ success: false,
420
+ error: error instanceof Error ? error.message : 'Rename failed',
421
+ });
422
+ }
423
+ });
424
+ /**
425
+ * POST /api/files/delete
426
+ * 删除文件/目录
427
+ *
428
+ * Body:
429
+ * - path: 文件或目录路径(相对)
430
+ */
431
+ router.post('/delete', async (req, res) => {
432
+ try {
433
+ const projectRoot = getProjectRoot(req);
434
+ const { path: filePath } = req.body;
435
+ if (!filePath) {
436
+ res.status(400).json({
437
+ success: false,
438
+ error: 'Missing path parameter',
439
+ });
440
+ return;
441
+ }
442
+ // 验证路径
443
+ const validation = validatePath(filePath, projectRoot);
444
+ if (!validation.valid) {
445
+ res.status(400).json({
446
+ success: false,
447
+ error: validation.error,
448
+ });
449
+ return;
450
+ }
451
+ // 检查路径是否存在
452
+ try {
453
+ await fs.access(validation.resolvedPath);
454
+ }
455
+ catch {
456
+ res.status(404).json({
457
+ success: false,
458
+ error: 'Path does not exist',
459
+ });
460
+ return;
461
+ }
462
+ // 检查是否是目录
463
+ const stats = await fs.stat(validation.resolvedPath);
464
+ // 删除(目录使用 recursive)
465
+ if (stats.isDirectory()) {
466
+ await fs.rm(validation.resolvedPath, { recursive: true, force: true });
467
+ }
468
+ else {
469
+ await fs.unlink(validation.resolvedPath);
470
+ }
471
+ res.json({
472
+ success: true,
473
+ });
474
+ }
475
+ catch (error) {
476
+ console.error('[File API] Delete failed:', error);
477
+ res.status(500).json({
478
+ success: false,
479
+ error: error instanceof Error ? error.message : 'Delete failed',
480
+ });
481
+ }
482
+ });
483
+ /**
484
+ * POST /api/files/create
485
+ * 新建文件
486
+ *
487
+ * Body:
488
+ * - path: 文件路径(相对)
489
+ * - content: 文件内容(可选,默认为空字符串)
490
+ */
491
+ router.post('/create', async (req, res) => {
492
+ try {
493
+ const projectRoot = getProjectRoot(req);
494
+ const { path: filePath, content = '' } = req.body;
495
+ if (!filePath) {
496
+ res.status(400).json({
497
+ success: false,
498
+ error: 'Missing path parameter',
499
+ });
500
+ return;
501
+ }
502
+ // 验证路径
503
+ const validation = validatePath(filePath, projectRoot);
504
+ if (!validation.valid) {
505
+ res.status(400).json({
506
+ success: false,
507
+ error: validation.error,
508
+ });
509
+ return;
510
+ }
511
+ // 检查文件是否已存在
512
+ try {
513
+ await fs.access(validation.resolvedPath);
514
+ res.status(400).json({
515
+ success: false,
516
+ error: 'File already exists',
517
+ });
518
+ return;
519
+ }
520
+ catch {
521
+ // 文件不存在,可以继续
522
+ }
523
+ // 确保目录存在
524
+ const dirPath = path.dirname(validation.resolvedPath);
525
+ await fs.mkdir(dirPath, { recursive: true });
526
+ // 创建文件
527
+ await fs.writeFile(validation.resolvedPath, content, 'utf-8');
528
+ res.json({
529
+ success: true,
530
+ });
531
+ }
532
+ catch (error) {
533
+ console.error('[File API] Failed to create file:', error);
534
+ res.status(500).json({
535
+ success: false,
536
+ error: error instanceof Error ? error.message : 'Failed to create file',
537
+ });
538
+ }
539
+ });
540
+ /**
541
+ * POST /api/files/mkdir
542
+ * 新建目录
543
+ *
544
+ * Body:
545
+ * - path: 目录路径(相对)
546
+ */
547
+ router.post('/mkdir', async (req, res) => {
548
+ try {
549
+ const projectRoot = getProjectRoot(req);
550
+ const { path: dirPath } = req.body;
551
+ if (!dirPath) {
552
+ res.status(400).json({
553
+ success: false,
554
+ error: 'Missing path parameter',
555
+ });
556
+ return;
557
+ }
558
+ // 验证路径
559
+ const validation = validatePath(dirPath, projectRoot);
560
+ if (!validation.valid) {
561
+ res.status(400).json({
562
+ success: false,
563
+ error: validation.error,
564
+ });
565
+ return;
566
+ }
567
+ // 检查目录是否已存在
568
+ try {
569
+ await fs.access(validation.resolvedPath);
570
+ res.status(400).json({
571
+ success: false,
572
+ error: 'Directory already exists',
573
+ });
574
+ return;
575
+ }
576
+ catch {
577
+ // 目录不存在,可以继续
578
+ }
579
+ // 创建目录
580
+ await fs.mkdir(validation.resolvedPath, { recursive: true });
581
+ res.json({
582
+ success: true,
583
+ });
584
+ }
585
+ catch (error) {
586
+ console.error('[File API] Failed to create directory:', error);
587
+ res.status(500).json({
588
+ success: false,
589
+ error: error instanceof Error ? error.message : 'Failed to create directory',
590
+ });
591
+ }
592
+ });
593
+ /**
594
+ * POST /api/files/copy
595
+ * 复制文件/目录
596
+ *
597
+ * Body:
598
+ * - sourcePath: 源路径(相对)
599
+ * - destPath: 目标路径(相对)
600
+ */
601
+ router.post('/copy', async (req, res) => {
602
+ try {
603
+ const projectRoot = getProjectRoot(req);
604
+ const { sourcePath, destPath } = req.body;
605
+ if (!sourcePath || !destPath) {
606
+ res.status(400).json({
607
+ success: false,
608
+ error: 'Missing sourcePath or destPath parameter',
609
+ });
610
+ return;
611
+ }
612
+ // 验证路径
613
+ const sourceValidation = validatePath(sourcePath, projectRoot);
614
+ const destValidation = validatePath(destPath, projectRoot);
615
+ if (!sourceValidation.valid) {
616
+ res.status(400).json({
617
+ success: false,
618
+ error: `Invalid source path: ${sourceValidation.error}`,
619
+ });
620
+ return;
621
+ }
622
+ if (!destValidation.valid) {
623
+ res.status(400).json({
624
+ success: false,
625
+ error: `Invalid target path: ${destValidation.error}`,
626
+ });
627
+ return;
628
+ }
629
+ // 检查源路径是否存在
630
+ try {
631
+ await fs.access(sourceValidation.resolvedPath);
632
+ }
633
+ catch {
634
+ res.status(404).json({
635
+ success: false,
636
+ error: 'Source path does not exist',
637
+ });
638
+ return;
639
+ }
640
+ // 确保目标目录存在
641
+ const destDir = path.dirname(destValidation.resolvedPath);
642
+ await fs.mkdir(destDir, { recursive: true });
643
+ // 复制文件/目录
644
+ await fs.cp(sourceValidation.resolvedPath, destValidation.resolvedPath, {
645
+ recursive: true,
646
+ force: false,
647
+ });
648
+ res.json({
649
+ success: true,
650
+ });
651
+ }
652
+ catch (error) {
653
+ console.error('[File API] Copy failed:', error);
654
+ res.status(500).json({
655
+ success: false,
656
+ error: error instanceof Error ? error.message : 'Copy failed',
657
+ });
658
+ }
659
+ });
660
+ /**
661
+ * POST /api/files/move
662
+ * 移动文件/目录(剪切粘贴)
663
+ *
664
+ * Body:
665
+ * - sourcePath: 源路径(相对)
666
+ * - destPath: 目标路径(相对)
667
+ */
668
+ router.post('/move', async (req, res) => {
669
+ try {
670
+ const projectRoot = getProjectRoot(req);
671
+ const { sourcePath, destPath } = req.body;
672
+ if (!sourcePath || !destPath) {
673
+ res.status(400).json({
674
+ success: false,
675
+ error: 'Missing sourcePath or destPath parameter',
676
+ });
677
+ return;
678
+ }
679
+ // 验证路径
680
+ const sourceValidation = validatePath(sourcePath, projectRoot);
681
+ const destValidation = validatePath(destPath, projectRoot);
682
+ if (!sourceValidation.valid) {
683
+ res.status(400).json({
684
+ success: false,
685
+ error: `Invalid source path: ${sourceValidation.error}`,
686
+ });
687
+ return;
688
+ }
689
+ if (!destValidation.valid) {
690
+ res.status(400).json({
691
+ success: false,
692
+ error: `Invalid target path: ${destValidation.error}`,
693
+ });
694
+ return;
695
+ }
696
+ // 检查源路径是否存在
697
+ try {
698
+ await fs.access(sourceValidation.resolvedPath);
699
+ }
700
+ catch {
701
+ res.status(404).json({
702
+ success: false,
703
+ error: 'Source path does not exist',
704
+ });
705
+ return;
706
+ }
707
+ // 确保目标目录存在
708
+ const destDir = path.dirname(destValidation.resolvedPath);
709
+ await fs.mkdir(destDir, { recursive: true });
710
+ // 移动文件/目录
711
+ await fs.rename(sourceValidation.resolvedPath, destValidation.resolvedPath);
712
+ res.json({
713
+ success: true,
714
+ });
715
+ }
716
+ catch (error) {
717
+ console.error('[File API] Move failed:', error);
718
+ res.status(500).json({
719
+ success: false,
720
+ error: error instanceof Error ? error.message : 'Move failed',
721
+ });
722
+ }
723
+ });
724
+ /**
725
+ * POST /api/files/reveal
726
+ * 在系统资源管理器中打开文件/目录
727
+ *
728
+ * Body:
729
+ * - path: 文件或目录路径(相对)
730
+ */
731
+ router.post('/reveal', async (req, res) => {
732
+ try {
733
+ const projectRoot = getProjectRoot(req);
734
+ const { path: filePath } = req.body;
735
+ if (!filePath) {
736
+ res.status(400).json({
737
+ success: false,
738
+ error: 'Missing path parameter',
739
+ });
740
+ return;
741
+ }
742
+ // 验证路径
743
+ const validation = validatePath(filePath, projectRoot);
744
+ if (!validation.valid) {
745
+ res.status(400).json({
746
+ success: false,
747
+ error: validation.error,
748
+ });
749
+ return;
750
+ }
751
+ // 检查路径是否存在
752
+ try {
753
+ await fs.access(validation.resolvedPath);
754
+ }
755
+ catch {
756
+ res.status(404).json({
757
+ success: false,
758
+ error: 'Path does not exist',
759
+ });
760
+ return;
761
+ }
762
+ // 根据操作系统执行不同的命令
763
+ const platform = process.platform;
764
+ let command;
765
+ if (platform === 'win32') {
766
+ // Windows: 使用 explorer 并选中文件
767
+ command = `explorer /select,"${validation.resolvedPath}"`;
768
+ }
769
+ else if (platform === 'darwin') {
770
+ // macOS: 使用 open -R
771
+ command = `open -R "${validation.resolvedPath}"`;
772
+ }
773
+ else {
774
+ // Linux: 使用 xdg-open 打开所在目录
775
+ const dirPath = path.dirname(validation.resolvedPath);
776
+ command = `xdg-open "${dirPath}"`;
777
+ }
778
+ await execPromise(command);
779
+ res.json({
780
+ success: true,
781
+ });
782
+ }
783
+ catch (error) {
784
+ console.error('[File API] Failed to open file manager:', error);
785
+ res.status(500).json({
786
+ success: false,
787
+ error: error instanceof Error ? error.message : 'Failed to open file explorer',
788
+ });
789
+ }
790
+ });
791
+ /**
792
+ * GET /api/files/preview
793
+ * 以原始内容返回 HTML 文件,用于 iframe 预览
794
+ *
795
+ * Query 参数:
796
+ * - path: 文件绝对路径或相对路径
797
+ * - root: 项目根目录(可选)
798
+ */
799
+ router.get('/preview', async (req, res) => {
800
+ try {
801
+ const queryPath = req.query.path;
802
+ if (!queryPath) {
803
+ res.status(400).send('Missing path parameter');
804
+ return;
805
+ }
806
+ // 只允许 .html / .htm 文件
807
+ const ext = path.extname(queryPath).toLowerCase();
808
+ if (ext !== '.html' && ext !== '.htm') {
809
+ res.status(400).send('Only .html / .htm files are supported for preview');
810
+ return;
811
+ }
812
+ // 解析文件路径:支持绝对路径和相对路径
813
+ let resolvedPath;
814
+ if (path.isAbsolute(queryPath)) {
815
+ resolvedPath = path.normalize(queryPath);
816
+ }
817
+ else {
818
+ const projectRoot = getProjectRoot(req);
819
+ const validation = validatePath(queryPath, projectRoot);
820
+ if (!validation.valid) {
821
+ res.status(400).send(validation.error || 'Invalid path');
822
+ return;
823
+ }
824
+ resolvedPath = validation.resolvedPath;
825
+ }
826
+ // 检查文件是否存在
827
+ try {
828
+ const stats = await fs.stat(resolvedPath);
829
+ if (!stats.isFile()) {
830
+ res.status(400).send('Path is not a file');
831
+ return;
832
+ }
833
+ }
834
+ catch {
835
+ res.status(404).send('File does not exist');
836
+ return;
837
+ }
838
+ // 读取并返回原始 HTML 内容
839
+ const content = await fs.readFile(resolvedPath, 'utf-8');
840
+ res.setHeader('Content-Type', 'text/html; charset=utf-8');
841
+ res.send(content);
842
+ }
843
+ catch (error) {
844
+ console.error('[File API] Failed to preview file:', error);
845
+ res.status(500).send('Failed to preview file');
846
+ }
847
+ });
848
+ /**
849
+ * 检查文件是否为二进制文件
850
+ * 通过检查文件前 512 字节是否包含 \0 来判断
851
+ */
852
+ async function isBinaryFile(filePath) {
853
+ try {
854
+ const buffer = Buffer.alloc(512);
855
+ const fd = await fs.open(filePath, 'r');
856
+ try {
857
+ const { bytesRead } = await fd.read(buffer, 0, 512, 0);
858
+ const content = buffer.slice(0, bytesRead);
859
+ // 检查是否包含空字节
860
+ return content.includes(0);
861
+ }
862
+ finally {
863
+ await fd.close();
864
+ }
865
+ }
866
+ catch {
867
+ return true; // 读取失败时视为二进制文件
868
+ }
869
+ }
870
+ /**
871
+ * 递归搜索文件内容
872
+ */
873
+ async function searchInDirectory(dirPath, query, options, projectRoot, results, maxResults) {
874
+ if (results.length >= maxResults) {
875
+ return;
876
+ }
877
+ try {
878
+ const entries = await fs.readdir(dirPath, { withFileTypes: true });
879
+ for (const entry of entries) {
880
+ if (results.length >= maxResults) {
881
+ break;
882
+ }
883
+ const entryPath = path.join(dirPath, entry.name);
884
+ const relativePath = path.relative(projectRoot, entryPath);
885
+ if (entry.isDirectory()) {
886
+ // 跳过排除的目录
887
+ if (EXCLUDED_DIRS.has(entry.name)) {
888
+ continue;
889
+ }
890
+ // 递归搜索子目录
891
+ await searchInDirectory(entryPath, query, options, projectRoot, results, maxResults);
892
+ }
893
+ else if (entry.isFile()) {
894
+ // 检查是否匹配 include/exclude 模式
895
+ if (options.includePattern) {
896
+ const includeRegex = new RegExp(options.includePattern);
897
+ if (!includeRegex.test(relativePath)) {
898
+ continue;
899
+ }
900
+ }
901
+ if (options.excludePattern) {
902
+ const excludeRegex = new RegExp(options.excludePattern);
903
+ if (excludeRegex.test(relativePath)) {
904
+ continue;
905
+ }
906
+ }
907
+ // 跳过二进制文件
908
+ if (await isBinaryFile(entryPath)) {
909
+ continue;
910
+ }
911
+ // 搜索文件内容
912
+ const matches = await searchInFile(entryPath, query, options);
913
+ if (matches.length > 0) {
914
+ results.push({
915
+ file: relativePath,
916
+ matches,
917
+ });
918
+ }
919
+ }
920
+ }
921
+ }
922
+ catch (error) {
923
+ console.error(`[Search] Failed to search directory: ${dirPath}`, error);
924
+ }
925
+ }
926
+ /**
927
+ * 在单个文件中搜索
928
+ */
929
+ async function searchInFile(filePath, query, options) {
930
+ try {
931
+ const content = await fs.readFile(filePath, 'utf-8');
932
+ const lines = content.split('\n');
933
+ const matches = [];
934
+ // 构建搜索正则表达式
935
+ let searchRegex;
936
+ if (options.isRegex) {
937
+ try {
938
+ searchRegex = new RegExp(query, options.isCaseSensitive ? 'g' : 'gi');
939
+ }
940
+ catch {
941
+ // 无效的正则表达式,返回空结果
942
+ return [];
943
+ }
944
+ }
945
+ else {
946
+ // 转义特殊字符
947
+ const escapedQuery = query.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
948
+ const pattern = options.isWholeWord
949
+ ? `\\b${escapedQuery}\\b`
950
+ : escapedQuery;
951
+ searchRegex = new RegExp(pattern, options.isCaseSensitive ? 'g' : 'gi');
952
+ }
953
+ // 逐行搜索
954
+ for (let i = 0; i < lines.length; i++) {
955
+ const line = lines[i];
956
+ const lineMatches = [...line.matchAll(searchRegex)];
957
+ for (const match of lineMatches) {
958
+ if (match.index === undefined)
959
+ continue;
960
+ const column = match.index;
961
+ const matchText = match[0];
962
+ const previewBefore = line.slice(Math.max(0, column - 50), column);
963
+ const previewAfter = line.slice(column + matchText.length, column + matchText.length + 50);
964
+ matches.push({
965
+ line: i + 1, // 1-based line number
966
+ column: column + 1, // 1-based column number
967
+ length: matchText.length,
968
+ lineContent: line,
969
+ previewBefore,
970
+ matchText,
971
+ previewAfter,
972
+ });
973
+ }
974
+ }
975
+ return matches;
976
+ }
977
+ catch (error) {
978
+ console.error(`[Search] Failed to search file: ${filePath}`, error);
979
+ return [];
980
+ }
981
+ }
982
+ /**
983
+ * 使用 ripgrep 执行搜索(异步,不阻塞主线程)
984
+ */
985
+ async function searchWithRipgrep(rgPath, projectRoot, query, options) {
986
+ const args = [
987
+ '--json', // JSON 输出,方便解析
988
+ '--max-columns', '500', // 限制单行长度
989
+ ];
990
+ // 大小写
991
+ if (!options.isCaseSensitive) {
992
+ args.push('-i');
993
+ }
994
+ // 全词匹配
995
+ if (options.isWholeWord) {
996
+ args.push('-w');
997
+ }
998
+ // 正则 vs 固定字符串
999
+ if (!options.isRegex) {
1000
+ args.push('-F'); // 固定字符串模式,不解析正则
1001
+ }
1002
+ // include/exclude glob 模式
1003
+ if (options.includePattern) {
1004
+ args.push('--glob', options.includePattern);
1005
+ }
1006
+ if (options.excludePattern) {
1007
+ args.push('--glob', `!${options.excludePattern}`);
1008
+ }
1009
+ // 搜索模式和路径
1010
+ args.push('--', query, '.');
1011
+ return new Promise((resolve, reject) => {
1012
+ const child = spawn(rgPath, args, {
1013
+ cwd: projectRoot,
1014
+ stdio: ['ignore', 'pipe', 'pipe'],
1015
+ windowsHide: true,
1016
+ });
1017
+ const chunks = [];
1018
+ let stderrData = '';
1019
+ let killed = false;
1020
+ // 30 秒超时
1021
+ const timer = setTimeout(() => {
1022
+ killed = true;
1023
+ child.kill('SIGTERM');
1024
+ reject(new Error('ripgrep search timed out after 30s'));
1025
+ }, 30000);
1026
+ child.stdout.on('data', (chunk) => {
1027
+ chunks.push(chunk);
1028
+ });
1029
+ child.stderr.on('data', (chunk) => {
1030
+ stderrData += chunk.toString();
1031
+ });
1032
+ child.on('close', (code) => {
1033
+ clearTimeout(timer);
1034
+ if (killed)
1035
+ return;
1036
+ // ripgrep: 0=有匹配, 1=无匹配, 2+=错误
1037
+ if (code !== 0 && code !== 1) {
1038
+ reject(new Error(`ripgrep exited with code ${code}: ${stderrData}`));
1039
+ return;
1040
+ }
1041
+ const stdout = Buffer.concat(chunks).toString('utf-8');
1042
+ if (!stdout || code === 1) {
1043
+ resolve({ results: [], totalMatches: 0, truncated: false });
1044
+ return;
1045
+ }
1046
+ // 解析 ripgrep JSON 输出,转换为前端格式
1047
+ const fileMap = new Map();
1048
+ let totalMatches = 0;
1049
+ let truncated = false;
1050
+ const lines = stdout.split('\n');
1051
+ for (const line of lines) {
1052
+ if (!line)
1053
+ continue;
1054
+ if (totalMatches >= options.maxResults) {
1055
+ truncated = true;
1056
+ break;
1057
+ }
1058
+ try {
1059
+ const obj = JSON.parse(line);
1060
+ if (obj.type !== 'match')
1061
+ continue;
1062
+ const data = obj.data;
1063
+ const filePath = data.path.text;
1064
+ // ripgrep 用 ./ 前缀,需要去掉
1065
+ const relativePath = filePath.startsWith('./') ? filePath.slice(2) : filePath;
1066
+ // 将 posix 路径分隔符统一为系统路径
1067
+ const normalizedPath = relativePath.replace(/\//g, path.sep);
1068
+ const lineContent = (data.lines.text || '').replace(/\r?\n$/, '');
1069
+ const lineNumber = data.line_number;
1070
+ for (const sub of data.submatches || []) {
1071
+ if (totalMatches >= options.maxResults) {
1072
+ truncated = true;
1073
+ break;
1074
+ }
1075
+ const matchStart = sub.start;
1076
+ const matchEnd = sub.end;
1077
+ const matchText = lineContent.slice(matchStart, matchEnd);
1078
+ const previewBefore = lineContent.slice(Math.max(0, matchStart - 50), matchStart);
1079
+ const previewAfter = lineContent.slice(matchEnd, matchEnd + 50);
1080
+ if (!fileMap.has(normalizedPath)) {
1081
+ fileMap.set(normalizedPath, []);
1082
+ }
1083
+ fileMap.get(normalizedPath).push({
1084
+ line: lineNumber,
1085
+ column: matchStart + 1, // 1-based
1086
+ length: matchEnd - matchStart,
1087
+ lineContent,
1088
+ previewBefore,
1089
+ matchText,
1090
+ previewAfter,
1091
+ });
1092
+ totalMatches++;
1093
+ }
1094
+ }
1095
+ catch {
1096
+ // 忽略解析失败的行
1097
+ }
1098
+ }
1099
+ const results = [];
1100
+ for (const [file, matches] of fileMap) {
1101
+ results.push({ file, matches });
1102
+ }
1103
+ resolve({ results, totalMatches, truncated });
1104
+ });
1105
+ child.on('error', (err) => {
1106
+ clearTimeout(timer);
1107
+ reject(err);
1108
+ });
1109
+ });
1110
+ }
1111
+ /**
1112
+ * POST /api/files/search
1113
+ * 在项目中搜索文本
1114
+ *
1115
+ * Body:
1116
+ * - query: 搜索查询字符串
1117
+ * - root: 项目根目录(可选)
1118
+ * - isRegex: 是否使用正则表达式(默认 false)
1119
+ * - isCaseSensitive: 是否区分大小写(默认 false)
1120
+ * - isWholeWord: 是否全词匹配(默认 false)
1121
+ * - includePattern: 包含文件模式(可选,正则)
1122
+ * - excludePattern: 排除文件模式(可选,正则)
1123
+ * - maxResults: 最大结果数(默认 500)
1124
+ */
1125
+ router.post('/search', async (req, res) => {
1126
+ try {
1127
+ const projectRoot = getProjectRoot(req);
1128
+ const { query, isRegex = false, isCaseSensitive = false, isWholeWord = false, includePattern, excludePattern, maxResults = 500, } = req.body;
1129
+ if (!query) {
1130
+ res.status(400).json({
1131
+ error: 'Missing query parameter',
1132
+ });
1133
+ return;
1134
+ }
1135
+ // 检查项目根目录是否存在
1136
+ try {
1137
+ await fs.access(projectRoot);
1138
+ }
1139
+ catch {
1140
+ res.status(404).json({
1141
+ error: 'Project root directory does not exist',
1142
+ });
1143
+ return;
1144
+ }
1145
+ // 尝试使用 ripgrep 加速搜索
1146
+ const rgPath = getRgPath();
1147
+ if (rgPath) {
1148
+ try {
1149
+ const rgResult = await searchWithRipgrep(rgPath, projectRoot, query, {
1150
+ isRegex,
1151
+ isCaseSensitive,
1152
+ isWholeWord,
1153
+ includePattern,
1154
+ excludePattern,
1155
+ maxResults,
1156
+ });
1157
+ res.json(rgResult);
1158
+ return;
1159
+ }
1160
+ catch (err) {
1161
+ console.warn('[File API] ripgrep search failed, falling back to JS search:', err);
1162
+ }
1163
+ }
1164
+ // Fallback: 纯 JS 搜索
1165
+ const results = [];
1166
+ await searchInDirectory(projectRoot, query, {
1167
+ isRegex,
1168
+ isCaseSensitive,
1169
+ isWholeWord,
1170
+ includePattern,
1171
+ excludePattern,
1172
+ }, projectRoot, results, maxResults);
1173
+ const totalMatches = results.reduce((sum, r) => sum + r.matches.length, 0);
1174
+ const truncated = results.length >= maxResults;
1175
+ const response = {
1176
+ results,
1177
+ totalMatches,
1178
+ truncated,
1179
+ };
1180
+ res.json(response);
1181
+ }
1182
+ catch (error) {
1183
+ console.error('[File API] Search failed:', error);
1184
+ res.status(500).json({
1185
+ error: 'Search failed',
1186
+ message: error instanceof Error ? error.message : 'Unknown error',
1187
+ });
1188
+ }
1189
+ });
1190
+ /**
1191
+ * POST /api/files/replace
1192
+ * 替换文件中的文本
1193
+ *
1194
+ * Body:
1195
+ * - file: 文件路径(相对)
1196
+ * - root: 项目根目录(可选)
1197
+ * - replacements: 替换项数组(按行号从大到小排序)
1198
+ */
1199
+ router.post('/replace', async (req, res) => {
1200
+ try {
1201
+ const projectRoot = getProjectRoot(req);
1202
+ const { file: filePath, replacements } = req.body;
1203
+ if (!filePath) {
1204
+ res.status(400).json({
1205
+ success: false,
1206
+ message: 'Missing file parameter',
1207
+ });
1208
+ return;
1209
+ }
1210
+ if (!Array.isArray(replacements) || replacements.length === 0) {
1211
+ res.status(400).json({
1212
+ success: false,
1213
+ message: 'Missing replacements parameter',
1214
+ });
1215
+ return;
1216
+ }
1217
+ // 验证路径
1218
+ const validation = validatePath(filePath, projectRoot);
1219
+ if (!validation.valid) {
1220
+ res.status(400).json({
1221
+ success: false,
1222
+ message: validation.error,
1223
+ });
1224
+ return;
1225
+ }
1226
+ // 检查文件是否存在
1227
+ try {
1228
+ const stats = await fs.stat(validation.resolvedPath);
1229
+ if (!stats.isFile()) {
1230
+ res.status(400).json({
1231
+ success: false,
1232
+ message: 'Path is not a file',
1233
+ });
1234
+ return;
1235
+ }
1236
+ }
1237
+ catch {
1238
+ res.status(404).json({
1239
+ success: false,
1240
+ message: 'File does not exist',
1241
+ });
1242
+ return;
1243
+ }
1244
+ // 读取文件内容
1245
+ const content = await fs.readFile(validation.resolvedPath, 'utf-8');
1246
+ const lines = content.split('\n');
1247
+ // 按行号从大到小排序(避免偏移问题)
1248
+ const sortedReplacements = [...replacements].sort((a, b) => {
1249
+ if (b.line !== a.line) {
1250
+ return b.line - a.line;
1251
+ }
1252
+ return b.column - a.column;
1253
+ });
1254
+ let replacedCount = 0;
1255
+ // 执行替换
1256
+ for (const replacement of sortedReplacements) {
1257
+ const { line, column, length, newText } = replacement;
1258
+ const lineIndex = line - 1; // 转换为 0-based
1259
+ if (lineIndex < 0 || lineIndex >= lines.length) {
1260
+ continue; // 行号无效,跳过
1261
+ }
1262
+ const originalLine = lines[lineIndex];
1263
+ const columnIndex = column - 1; // 转换为 0-based
1264
+ if (columnIndex < 0 || columnIndex + length > originalLine.length) {
1265
+ continue; // 列号无效,跳过
1266
+ }
1267
+ // 执行替换
1268
+ const before = originalLine.slice(0, columnIndex);
1269
+ const after = originalLine.slice(columnIndex + length);
1270
+ lines[lineIndex] = before + newText + after;
1271
+ replacedCount++;
1272
+ }
1273
+ // 写回文件
1274
+ const newContent = lines.join('\n');
1275
+ await fs.writeFile(validation.resolvedPath, newContent, 'utf-8');
1276
+ const response = {
1277
+ success: true,
1278
+ replacedCount,
1279
+ };
1280
+ res.json(response);
1281
+ }
1282
+ catch (error) {
1283
+ console.error('[File API] Replace failed:', error);
1284
+ res.status(500).json({
1285
+ success: false,
1286
+ message: error instanceof Error ? error.message : 'Unknown error',
1287
+ });
1288
+ }
1289
+ });
1290
+ /**
1291
+ * GET /api/files/download - 下载文件(二进制流)
1292
+ *
1293
+ * 支持任意文件类型的下载,返回正确的 MIME 类型和 Content-Disposition 头。
1294
+ * 可选 inline 参数控制浏览器是预览还是下载。
1295
+ *
1296
+ * Query 参数:
1297
+ * - path: 文件绝对路径或相对路径
1298
+ * - root: 项目根目录(可选)
1299
+ * - inline: 设为 "1" 时使用 inline 预览而非下载(可选)
1300
+ */
1301
+ router.get('/download', async (req, res) => {
1302
+ try {
1303
+ const queryPath = req.query.path;
1304
+ if (!queryPath) {
1305
+ res.status(400).json({ error: 'Missing path parameter' });
1306
+ return;
1307
+ }
1308
+ // 解析文件路径:支持绝对路径和相对路径
1309
+ let resolvedPath;
1310
+ if (path.isAbsolute(queryPath)) {
1311
+ resolvedPath = path.normalize(queryPath);
1312
+ }
1313
+ else {
1314
+ const projectRoot = getProjectRoot(req);
1315
+ const validation = validatePath(queryPath, projectRoot);
1316
+ if (!validation.valid) {
1317
+ res.status(400).json({ error: validation.error || 'Invalid path' });
1318
+ return;
1319
+ }
1320
+ resolvedPath = validation.resolvedPath;
1321
+ }
1322
+ // 检查文件是否存在
1323
+ let stats;
1324
+ try {
1325
+ stats = await fs.stat(resolvedPath);
1326
+ if (!stats.isFile()) {
1327
+ res.status(400).json({ error: 'Path is not a file' });
1328
+ return;
1329
+ }
1330
+ }
1331
+ catch {
1332
+ res.status(404).json({ error: 'File does not exist' });
1333
+ return;
1334
+ }
1335
+ // MIME 类型映射
1336
+ const MIME_TYPES = {
1337
+ // 文档
1338
+ '.pdf': 'application/pdf',
1339
+ '.doc': 'application/msword',
1340
+ '.docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
1341
+ '.xls': 'application/vnd.ms-excel',
1342
+ '.xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
1343
+ '.ppt': 'application/vnd.ms-powerpoint',
1344
+ '.pptx': 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
1345
+ '.csv': 'text/csv',
1346
+ // 图片
1347
+ '.png': 'image/png',
1348
+ '.jpg': 'image/jpeg',
1349
+ '.jpeg': 'image/jpeg',
1350
+ '.gif': 'image/gif',
1351
+ '.svg': 'image/svg+xml',
1352
+ '.webp': 'image/webp',
1353
+ '.ico': 'image/x-icon',
1354
+ '.bmp': 'image/bmp',
1355
+ // 视频
1356
+ '.mp4': 'video/mp4',
1357
+ '.webm': 'video/webm',
1358
+ '.avi': 'video/x-msvideo',
1359
+ '.mov': 'video/quicktime',
1360
+ '.mkv': 'video/x-matroska',
1361
+ // 音频
1362
+ '.mp3': 'audio/mpeg',
1363
+ '.wav': 'audio/wav',
1364
+ '.ogg': 'audio/ogg',
1365
+ '.flac': 'audio/flac',
1366
+ '.aac': 'audio/aac',
1367
+ // 压缩包
1368
+ '.zip': 'application/zip',
1369
+ '.tar': 'application/x-tar',
1370
+ '.gz': 'application/gzip',
1371
+ '.7z': 'application/x-7z-compressed',
1372
+ '.rar': 'application/vnd.rar',
1373
+ // 代码/文本
1374
+ '.html': 'text/html',
1375
+ '.htm': 'text/html',
1376
+ '.css': 'text/css',
1377
+ '.js': 'application/javascript',
1378
+ '.ts': 'text/plain',
1379
+ '.json': 'application/json',
1380
+ '.xml': 'application/xml',
1381
+ '.txt': 'text/plain',
1382
+ '.md': 'text/markdown',
1383
+ '.yaml': 'text/yaml',
1384
+ '.yml': 'text/yaml',
1385
+ '.log': 'text/plain',
1386
+ };
1387
+ const ext = path.extname(resolvedPath).toLowerCase();
1388
+ const mimeType = MIME_TYPES[ext] || 'application/octet-stream';
1389
+ const fileName = path.basename(resolvedPath);
1390
+ const isInline = req.query.inline === '1';
1391
+ // 设置响应头
1392
+ res.setHeader('Content-Type', mimeType);
1393
+ res.setHeader('Content-Length', stats.size);
1394
+ res.setHeader('Content-Disposition', isInline
1395
+ ? `inline; filename="${encodeURIComponent(fileName)}"`
1396
+ : `attachment; filename="${encodeURIComponent(fileName)}"`);
1397
+ // 使用流式传输
1398
+ const { createReadStream } = await import('fs');
1399
+ const stream = createReadStream(resolvedPath);
1400
+ stream.pipe(res);
1401
+ stream.on('error', (err) => {
1402
+ console.error('[File API] File download stream error:', err);
1403
+ if (!res.headersSent) {
1404
+ res.status(500).json({ error: 'Failed to read file' });
1405
+ }
1406
+ });
1407
+ }
1408
+ catch (error) {
1409
+ console.error('[File API] Failed to download file:', error);
1410
+ res.status(500).json({ error: 'Failed to download file' });
1411
+ }
1412
+ });
1413
+ /**
1414
+ * POST /api/files/browse - 浏览目录(用于目录选择器)
1415
+ * Body: { path?: string }
1416
+ * - 不传 path 或传空:Windows 返回磁盘驱动器列表,Unix 返回 / 下的目录
1417
+ * - 传 path:返回该目录下的子目录列表
1418
+ *
1419
+ * Response: { current: string, parent: string | null, dirs: Array<{ name: string, path: string }> }
1420
+ */
1421
+ router.post('/browse', async (req, res) => {
1422
+ try {
1423
+ const requestedPath = req.body?.path?.trim() || '';
1424
+ // 没有传路径 → 返回根级别
1425
+ if (!requestedPath) {
1426
+ if (process.platform === 'win32') {
1427
+ // Windows: 列出可用磁盘驱动器
1428
+ try {
1429
+ const { stdout } = await execPromise('wmic logicaldisk get name', { timeout: 5000 });
1430
+ const drives = stdout
1431
+ .split('\n')
1432
+ .map(line => line.trim())
1433
+ .filter(line => /^[A-Z]:$/.test(line))
1434
+ .map(drive => ({
1435
+ name: drive + '\\',
1436
+ path: drive + '\\',
1437
+ }));
1438
+ res.json({ current: '', parent: null, dirs: drives });
1439
+ }
1440
+ catch {
1441
+ // wmic 不可用时的备用方案
1442
+ const drives = [];
1443
+ for (const letter of 'CDEFGHIJKLMNOPQRSTUVWXYZ') {
1444
+ try {
1445
+ await fs.access(`${letter}:\\`);
1446
+ drives.push({ name: `${letter}:\\`, path: `${letter}:\\` });
1447
+ }
1448
+ catch { /* drive not available */ }
1449
+ }
1450
+ res.json({ current: '', parent: null, dirs: drives });
1451
+ }
1452
+ }
1453
+ else {
1454
+ // Unix: 从 / 开始
1455
+ const entries = await fs.readdir('/', { withFileTypes: true });
1456
+ const dirs = entries
1457
+ .filter(e => e.isDirectory())
1458
+ .map(e => ({ name: e.name, path: '/' + e.name }))
1459
+ .sort((a, b) => a.name.localeCompare(b.name));
1460
+ res.json({ current: '/', parent: null, dirs });
1461
+ }
1462
+ return;
1463
+ }
1464
+ // 有路径 → 读取子目录
1465
+ const normalized = path.resolve(requestedPath);
1466
+ // 安全检查
1467
+ if (normalized.includes('..')) {
1468
+ res.status(400).json({ error: 'Invalid path' });
1469
+ return;
1470
+ }
1471
+ // 确认路径存在且是目录
1472
+ try {
1473
+ const stat = await fs.stat(normalized);
1474
+ if (!stat.isDirectory()) {
1475
+ res.status(400).json({ error: 'Not a directory' });
1476
+ return;
1477
+ }
1478
+ }
1479
+ catch {
1480
+ res.status(404).json({ error: 'Directory not found' });
1481
+ return;
1482
+ }
1483
+ // 计算父目录
1484
+ const parentDir = path.dirname(normalized);
1485
+ const hasParent = parentDir !== normalized; // 根目录的 dirname === 自己
1486
+ // 读取子目录
1487
+ const entries = await fs.readdir(normalized, { withFileTypes: true });
1488
+ const dirs = entries
1489
+ .filter(e => {
1490
+ try {
1491
+ return e.isDirectory() && !e.name.startsWith('.');
1492
+ }
1493
+ catch {
1494
+ return false;
1495
+ }
1496
+ })
1497
+ .map(e => ({
1498
+ name: e.name,
1499
+ path: path.join(normalized, e.name),
1500
+ }))
1501
+ .sort((a, b) => a.name.localeCompare(b.name));
1502
+ res.json({
1503
+ current: normalized,
1504
+ parent: hasParent ? parentDir : null,
1505
+ dirs,
1506
+ });
1507
+ }
1508
+ catch (error) {
1509
+ console.error('[File API] Browse directory error:', error);
1510
+ res.status(500).json({ error: error.message || 'Failed to browse directory' });
1511
+ }
1512
+ });
1513
+ export default router;
1514
+ //# sourceMappingURL=file-api.js.map