openbotgate 1.0.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 (425) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +293 -0
  3. package/bin/openbotgate.js +31 -0
  4. package/dist/config/config.d.ts +56 -0
  5. package/dist/config/config.d.ts.map +1 -0
  6. package/dist/config/config.js +136 -0
  7. package/dist/config/config.js.map +1 -0
  8. package/dist/debug.d.ts +2 -0
  9. package/dist/debug.d.ts.map +1 -0
  10. package/dist/debug.js +33 -0
  11. package/dist/debug.js.map +1 -0
  12. package/dist/gateway/bluebubbles.d.ts +12 -0
  13. package/dist/gateway/bluebubbles.d.ts.map +1 -0
  14. package/dist/gateway/bluebubbles.js +80 -0
  15. package/dist/gateway/bluebubbles.js.map +1 -0
  16. package/dist/gateway/catalog.d.ts +10 -0
  17. package/dist/gateway/catalog.d.ts.map +1 -0
  18. package/dist/gateway/catalog.js +28 -0
  19. package/dist/gateway/catalog.js.map +1 -0
  20. package/dist/gateway/discord.d.ts +12 -0
  21. package/dist/gateway/discord.d.ts.map +1 -0
  22. package/dist/gateway/discord.js +83 -0
  23. package/dist/gateway/discord.js.map +1 -0
  24. package/dist/gateway/feishu.d.ts +35 -0
  25. package/dist/gateway/feishu.d.ts.map +1 -0
  26. package/dist/gateway/feishu.js +290 -0
  27. package/dist/gateway/feishu.js.map +1 -0
  28. package/dist/gateway/googlechat.d.ts +11 -0
  29. package/dist/gateway/googlechat.d.ts.map +1 -0
  30. package/dist/gateway/googlechat.js +92 -0
  31. package/dist/gateway/googlechat.js.map +1 -0
  32. package/dist/gateway/imessage.d.ts +12 -0
  33. package/dist/gateway/imessage.d.ts.map +1 -0
  34. package/dist/gateway/imessage.js +84 -0
  35. package/dist/gateway/imessage.js.map +1 -0
  36. package/dist/gateway/index.d.ts +9 -0
  37. package/dist/gateway/index.d.ts.map +1 -0
  38. package/dist/gateway/index.js +27 -0
  39. package/dist/gateway/index.js.map +1 -0
  40. package/dist/gateway/line.d.ts +13 -0
  41. package/dist/gateway/line.d.ts.map +1 -0
  42. package/dist/gateway/line.js +80 -0
  43. package/dist/gateway/line.js.map +1 -0
  44. package/dist/gateway/matrix.d.ts +12 -0
  45. package/dist/gateway/matrix.d.ts.map +1 -0
  46. package/dist/gateway/matrix.js +105 -0
  47. package/dist/gateway/matrix.js.map +1 -0
  48. package/dist/gateway/mattermost.d.ts +14 -0
  49. package/dist/gateway/mattermost.d.ts.map +1 -0
  50. package/dist/gateway/mattermost.js +92 -0
  51. package/dist/gateway/mattermost.js.map +1 -0
  52. package/dist/gateway/msteams.d.ts +12 -0
  53. package/dist/gateway/msteams.d.ts.map +1 -0
  54. package/dist/gateway/msteams.js +119 -0
  55. package/dist/gateway/msteams.js.map +1 -0
  56. package/dist/gateway/nextcloud-talk.d.ts +11 -0
  57. package/dist/gateway/nextcloud-talk.d.ts.map +1 -0
  58. package/dist/gateway/nextcloud-talk.js +93 -0
  59. package/dist/gateway/nextcloud-talk.js.map +1 -0
  60. package/dist/gateway/nostr.d.ts +15 -0
  61. package/dist/gateway/nostr.d.ts.map +1 -0
  62. package/dist/gateway/nostr.js +95 -0
  63. package/dist/gateway/nostr.js.map +1 -0
  64. package/dist/gateway/qq-guild.d.ts +14 -0
  65. package/dist/gateway/qq-guild.d.ts.map +1 -0
  66. package/dist/gateway/qq-guild.js +121 -0
  67. package/dist/gateway/qq-guild.js.map +1 -0
  68. package/dist/gateway/qq.d.ts +14 -0
  69. package/dist/gateway/qq.d.ts.map +1 -0
  70. package/dist/gateway/qq.js +121 -0
  71. package/dist/gateway/qq.js.map +1 -0
  72. package/dist/gateway/registry.d.ts +4 -0
  73. package/dist/gateway/registry.d.ts.map +1 -0
  74. package/dist/gateway/registry.js +38 -0
  75. package/dist/gateway/registry.js.map +1 -0
  76. package/dist/gateway/signal.d.ts +12 -0
  77. package/dist/gateway/signal.d.ts.map +1 -0
  78. package/dist/gateway/signal.js +80 -0
  79. package/dist/gateway/signal.js.map +1 -0
  80. package/dist/gateway/slack.d.ts +12 -0
  81. package/dist/gateway/slack.d.ts.map +1 -0
  82. package/dist/gateway/slack.js +83 -0
  83. package/dist/gateway/slack.js.map +1 -0
  84. package/dist/gateway/stub.d.ts +7 -0
  85. package/dist/gateway/stub.d.ts.map +1 -0
  86. package/dist/gateway/stub.js +23 -0
  87. package/dist/gateway/stub.js.map +1 -0
  88. package/dist/gateway/telegram.d.ts +12 -0
  89. package/dist/gateway/telegram.d.ts.map +1 -0
  90. package/dist/gateway/telegram.js +61 -0
  91. package/dist/gateway/telegram.js.map +1 -0
  92. package/dist/gateway/tlon.d.ts +12 -0
  93. package/dist/gateway/tlon.d.ts.map +1 -0
  94. package/dist/gateway/tlon.js +105 -0
  95. package/dist/gateway/tlon.js.map +1 -0
  96. package/dist/gateway/types.d.ts +21 -0
  97. package/dist/gateway/types.d.ts.map +1 -0
  98. package/dist/gateway/types.js +3 -0
  99. package/dist/gateway/types.js.map +1 -0
  100. package/dist/gateway/whatsapp.d.ts +12 -0
  101. package/dist/gateway/whatsapp.d.ts.map +1 -0
  102. package/dist/gateway/whatsapp.js +81 -0
  103. package/dist/gateway/whatsapp.js.map +1 -0
  104. package/dist/gateway/zalo.d.ts +12 -0
  105. package/dist/gateway/zalo.d.ts.map +1 -0
  106. package/dist/gateway/zalo.js +77 -0
  107. package/dist/gateway/zalo.js.map +1 -0
  108. package/dist/gateway/zalouser.d.ts +12 -0
  109. package/dist/gateway/zalouser.d.ts.map +1 -0
  110. package/dist/gateway/zalouser.js +85 -0
  111. package/dist/gateway/zalouser.js.map +1 -0
  112. package/dist/handler/code/agent.d.ts +10 -0
  113. package/dist/handler/code/agent.d.ts.map +1 -0
  114. package/dist/handler/code/agent.js +63 -0
  115. package/dist/handler/code/agent.js.map +1 -0
  116. package/dist/handler/code/code.d.ts +15 -0
  117. package/dist/handler/code/code.d.ts.map +1 -0
  118. package/dist/handler/code/code.js +129 -0
  119. package/dist/handler/code/code.js.map +1 -0
  120. package/dist/handler/code/model.d.ts +10 -0
  121. package/dist/handler/code/model.d.ts.map +1 -0
  122. package/dist/handler/code/model.js +63 -0
  123. package/dist/handler/code/model.js.map +1 -0
  124. package/dist/handler/code/new.d.ts +7 -0
  125. package/dist/handler/code/new.d.ts.map +1 -0
  126. package/dist/handler/code/new.js +27 -0
  127. package/dist/handler/code/new.js.map +1 -0
  128. package/dist/handler/code/opencode.d.ts +12 -0
  129. package/dist/handler/code/opencode.d.ts.map +1 -0
  130. package/dist/handler/code/opencode.js +88 -0
  131. package/dist/handler/code/opencode.js.map +1 -0
  132. package/dist/handler/code/session.d.ts +9 -0
  133. package/dist/handler/code/session.d.ts.map +1 -0
  134. package/dist/handler/code/session.js +55 -0
  135. package/dist/handler/code/session.js.map +1 -0
  136. package/dist/handler/code/workspace.d.ts +10 -0
  137. package/dist/handler/code/workspace.d.ts.map +1 -0
  138. package/dist/handler/code/workspace.js +80 -0
  139. package/dist/handler/code/workspace.js.map +1 -0
  140. package/dist/handler/commands/agent.d.ts +10 -0
  141. package/dist/handler/commands/agent.d.ts.map +1 -0
  142. package/dist/handler/commands/agent.js +63 -0
  143. package/dist/handler/commands/agent.js.map +1 -0
  144. package/dist/handler/commands/async.d.ts +3 -0
  145. package/dist/handler/commands/async.d.ts.map +1 -0
  146. package/dist/handler/commands/async.js +30 -0
  147. package/dist/handler/commands/async.js.map +1 -0
  148. package/dist/handler/commands/claude.d.ts +3 -0
  149. package/dist/handler/commands/claude.d.ts.map +1 -0
  150. package/dist/handler/commands/claude.js +19 -0
  151. package/dist/handler/commands/claude.js.map +1 -0
  152. package/dist/handler/commands/code.d.ts +15 -0
  153. package/dist/handler/commands/code.d.ts.map +1 -0
  154. package/dist/handler/commands/code.js +133 -0
  155. package/dist/handler/commands/code.js.map +1 -0
  156. package/dist/handler/commands/git.d.ts +3 -0
  157. package/dist/handler/commands/git.d.ts.map +1 -0
  158. package/dist/handler/commands/git.js +25 -0
  159. package/dist/handler/commands/git.js.map +1 -0
  160. package/dist/handler/commands/help.d.ts +3 -0
  161. package/dist/handler/commands/help.d.ts.map +1 -0
  162. package/dist/handler/commands/help.js +49 -0
  163. package/dist/handler/commands/help.js.map +1 -0
  164. package/dist/handler/commands/index.d.ts +10 -0
  165. package/dist/handler/commands/index.d.ts.map +1 -0
  166. package/dist/handler/commands/index.js +43 -0
  167. package/dist/handler/commands/index.js.map +1 -0
  168. package/dist/handler/commands/model.d.ts +10 -0
  169. package/dist/handler/commands/model.d.ts.map +1 -0
  170. package/dist/handler/commands/model.js +63 -0
  171. package/dist/handler/commands/model.js.map +1 -0
  172. package/dist/handler/commands/new.d.ts +3 -0
  173. package/dist/handler/commands/new.d.ts.map +1 -0
  174. package/dist/handler/commands/new.js +25 -0
  175. package/dist/handler/commands/new.js.map +1 -0
  176. package/dist/handler/commands/opencode.d.ts +12 -0
  177. package/dist/handler/commands/opencode.d.ts.map +1 -0
  178. package/dist/handler/commands/opencode.js +131 -0
  179. package/dist/handler/commands/opencode.js.map +1 -0
  180. package/dist/handler/commands/session.d.ts +9 -0
  181. package/dist/handler/commands/session.d.ts.map +1 -0
  182. package/dist/handler/commands/session.js +55 -0
  183. package/dist/handler/commands/session.js.map +1 -0
  184. package/dist/handler/commands/shell.d.ts +11 -0
  185. package/dist/handler/commands/shell.d.ts.map +1 -0
  186. package/dist/handler/commands/shell.js +142 -0
  187. package/dist/handler/commands/shell.js.map +1 -0
  188. package/dist/handler/commands/status.d.ts +3 -0
  189. package/dist/handler/commands/status.d.ts.map +1 -0
  190. package/dist/handler/commands/status.js +21 -0
  191. package/dist/handler/commands/status.js.map +1 -0
  192. package/dist/handler/commands/sync.d.ts +3 -0
  193. package/dist/handler/commands/sync.d.ts.map +1 -0
  194. package/dist/handler/commands/sync.js +26 -0
  195. package/dist/handler/commands/sync.js.map +1 -0
  196. package/dist/handler/commands/tasks.d.ts +10 -0
  197. package/dist/handler/commands/tasks.d.ts.map +1 -0
  198. package/dist/handler/commands/tasks.js +58 -0
  199. package/dist/handler/commands/tasks.js.map +1 -0
  200. package/dist/handler/commands/utils.d.ts +10 -0
  201. package/dist/handler/commands/utils.d.ts.map +1 -0
  202. package/dist/handler/commands/utils.js +63 -0
  203. package/dist/handler/commands/utils.js.map +1 -0
  204. package/dist/handler/commands/workspace.d.ts +10 -0
  205. package/dist/handler/commands/workspace.d.ts.map +1 -0
  206. package/dist/handler/commands/workspace.js +80 -0
  207. package/dist/handler/commands/workspace.js.map +1 -0
  208. package/dist/handler/dedup.d.ts +3 -0
  209. package/dist/handler/dedup.d.ts.map +1 -0
  210. package/dist/handler/dedup.js +29 -0
  211. package/dist/handler/dedup.js.map +1 -0
  212. package/dist/handler/index.d.ts +21 -0
  213. package/dist/handler/index.d.ts.map +1 -0
  214. package/dist/handler/index.js +189 -0
  215. package/dist/handler/index.js.map +1 -0
  216. package/dist/handler/parse.d.ts +30 -0
  217. package/dist/handler/parse.d.ts.map +1 -0
  218. package/dist/handler/parse.js +57 -0
  219. package/dist/handler/parse.js.map +1 -0
  220. package/dist/handler/session/agent.d.ts +10 -0
  221. package/dist/handler/session/agent.d.ts.map +1 -0
  222. package/dist/handler/session/agent.js +63 -0
  223. package/dist/handler/session/agent.js.map +1 -0
  224. package/dist/handler/session/model.d.ts +10 -0
  225. package/dist/handler/session/model.d.ts.map +1 -0
  226. package/dist/handler/session/model.js +63 -0
  227. package/dist/handler/session/model.js.map +1 -0
  228. package/dist/handler/session/new.d.ts +3 -0
  229. package/dist/handler/session/new.d.ts.map +1 -0
  230. package/dist/handler/session/new.js +25 -0
  231. package/dist/handler/session/new.js.map +1 -0
  232. package/dist/handler/session/session.d.ts +9 -0
  233. package/dist/handler/session/session.d.ts.map +1 -0
  234. package/dist/handler/session/session.js +55 -0
  235. package/dist/handler/session/session.js.map +1 -0
  236. package/dist/handler/session/workspace.d.ts +10 -0
  237. package/dist/handler/session/workspace.d.ts.map +1 -0
  238. package/dist/handler/session/workspace.js +80 -0
  239. package/dist/handler/session/workspace.js.map +1 -0
  240. package/dist/handler/shell/git.d.ts +3 -0
  241. package/dist/handler/shell/git.d.ts.map +1 -0
  242. package/dist/handler/shell/git.js +25 -0
  243. package/dist/handler/shell/git.js.map +1 -0
  244. package/dist/handler/shell/runShell.d.ts +7 -0
  245. package/dist/handler/shell/runShell.d.ts.map +1 -0
  246. package/dist/handler/shell/runShell.js +42 -0
  247. package/dist/handler/shell/runShell.js.map +1 -0
  248. package/dist/handler/shell/utils.d.ts +10 -0
  249. package/dist/handler/shell/utils.d.ts.map +1 -0
  250. package/dist/handler/shell/utils.js +63 -0
  251. package/dist/handler/shell/utils.js.map +1 -0
  252. package/dist/handler/streamHandler.d.ts +9 -0
  253. package/dist/handler/streamHandler.d.ts.map +1 -0
  254. package/dist/handler/streamHandler.js +49 -0
  255. package/dist/handler/streamHandler.js.map +1 -0
  256. package/dist/handler/types.d.ts +36 -0
  257. package/dist/handler/types.d.ts.map +1 -0
  258. package/dist/handler/types.js +3 -0
  259. package/dist/handler/types.js.map +1 -0
  260. package/dist/handlers/messageHandler.d.ts +3 -0
  261. package/dist/handlers/messageHandler.d.ts.map +1 -0
  262. package/dist/handlers/messageHandler.js +249 -0
  263. package/dist/handlers/messageHandler.js.map +1 -0
  264. package/dist/handlers/messageHandlerOfficial.d.ts +2 -0
  265. package/dist/handlers/messageHandlerOfficial.d.ts.map +1 -0
  266. package/dist/handlers/messageHandlerOfficial.js +302 -0
  267. package/dist/handlers/messageHandlerOfficial.js.map +1 -0
  268. package/dist/handlers/messageHandlerV2.d.ts +2 -0
  269. package/dist/handlers/messageHandlerV2.d.ts.map +1 -0
  270. package/dist/handlers/messageHandlerV2.js +250 -0
  271. package/dist/handlers/messageHandlerV2.js.map +1 -0
  272. package/dist/helloWorld.d.ts +5 -0
  273. package/dist/helloWorld.d.ts.map +1 -0
  274. package/dist/helloWorld.js +19 -0
  275. package/dist/helloWorld.js.map +1 -0
  276. package/dist/index.d.ts +2 -0
  277. package/dist/index.d.ts.map +1 -0
  278. package/dist/index.js +25 -0
  279. package/dist/index.js.map +1 -0
  280. package/dist/indexOfficial.d.ts +4 -0
  281. package/dist/indexOfficial.d.ts.map +1 -0
  282. package/dist/indexOfficial.js +92 -0
  283. package/dist/indexOfficial.js.map +1 -0
  284. package/dist/indexV2.d.ts +4 -0
  285. package/dist/indexV2.d.ts.map +1 -0
  286. package/dist/indexV2.js +109 -0
  287. package/dist/indexV2.js.map +1 -0
  288. package/dist/runtime/cliTools.d.ts +17 -0
  289. package/dist/runtime/cliTools.d.ts.map +1 -0
  290. package/dist/runtime/cliTools.js +97 -0
  291. package/dist/runtime/cliTools.js.map +1 -0
  292. package/dist/runtime/executor.d.ts +27 -0
  293. package/dist/runtime/executor.d.ts.map +1 -0
  294. package/dist/runtime/executor.js +108 -0
  295. package/dist/runtime/executor.js.map +1 -0
  296. package/dist/runtime/sessionManager.d.ts +42 -0
  297. package/dist/runtime/sessionManager.d.ts.map +1 -0
  298. package/dist/runtime/sessionManager.js +161 -0
  299. package/dist/runtime/sessionManager.js.map +1 -0
  300. package/dist/runtime/streamHandler.d.ts +9 -0
  301. package/dist/runtime/streamHandler.d.ts.map +1 -0
  302. package/dist/runtime/streamHandler.js +49 -0
  303. package/dist/runtime/streamHandler.js.map +1 -0
  304. package/dist/runtime/taskManager.d.ts +26 -0
  305. package/dist/runtime/taskManager.d.ts.map +1 -0
  306. package/dist/runtime/taskManager.js +153 -0
  307. package/dist/runtime/taskManager.js.map +1 -0
  308. package/dist/runtime/tools/base.d.ts +81 -0
  309. package/dist/runtime/tools/base.d.ts.map +1 -0
  310. package/dist/runtime/tools/base.js +100 -0
  311. package/dist/runtime/tools/base.js.map +1 -0
  312. package/dist/runtime/tools/claudecode.d.ts +19 -0
  313. package/dist/runtime/tools/claudecode.d.ts.map +1 -0
  314. package/dist/runtime/tools/claudecode.js +59 -0
  315. package/dist/runtime/tools/claudecode.js.map +1 -0
  316. package/dist/runtime/tools/codex.d.ts +19 -0
  317. package/dist/runtime/tools/codex.d.ts.map +1 -0
  318. package/dist/runtime/tools/codex.js +68 -0
  319. package/dist/runtime/tools/codex.js.map +1 -0
  320. package/dist/runtime/tools/cursor.d.ts +15 -0
  321. package/dist/runtime/tools/cursor.d.ts.map +1 -0
  322. package/dist/runtime/tools/cursor.js +33 -0
  323. package/dist/runtime/tools/cursor.js.map +1 -0
  324. package/dist/runtime/tools/cursorcode.d.ts +20 -0
  325. package/dist/runtime/tools/cursorcode.d.ts.map +1 -0
  326. package/dist/runtime/tools/cursorcode.js +99 -0
  327. package/dist/runtime/tools/cursorcode.js.map +1 -0
  328. package/dist/runtime/tools/geminicode.d.ts +20 -0
  329. package/dist/runtime/tools/geminicode.d.ts.map +1 -0
  330. package/dist/runtime/tools/geminicode.js +65 -0
  331. package/dist/runtime/tools/geminicode.js.map +1 -0
  332. package/dist/runtime/tools/index.d.ts +11 -0
  333. package/dist/runtime/tools/index.d.ts.map +1 -0
  334. package/dist/runtime/tools/index.js +36 -0
  335. package/dist/runtime/tools/index.js.map +1 -0
  336. package/dist/runtime/tools/kimi.d.ts +16 -0
  337. package/dist/runtime/tools/kimi.d.ts.map +1 -0
  338. package/dist/runtime/tools/kimi.js +32 -0
  339. package/dist/runtime/tools/kimi.js.map +1 -0
  340. package/dist/runtime/tools/kimicode.d.ts +16 -0
  341. package/dist/runtime/tools/kimicode.d.ts.map +1 -0
  342. package/dist/runtime/tools/kimicode.js +43 -0
  343. package/dist/runtime/tools/kimicode.js.map +1 -0
  344. package/dist/runtime/tools/nanobot.d.ts +19 -0
  345. package/dist/runtime/tools/nanobot.d.ts.map +1 -0
  346. package/dist/runtime/tools/nanobot.js +94 -0
  347. package/dist/runtime/tools/nanobot.js.map +1 -0
  348. package/dist/runtime/tools/openaicodex.d.ts +17 -0
  349. package/dist/runtime/tools/openaicodex.d.ts.map +1 -0
  350. package/dist/runtime/tools/openaicodex.js +54 -0
  351. package/dist/runtime/tools/openaicodex.js.map +1 -0
  352. package/dist/runtime/tools/openclaw.d.ts +24 -0
  353. package/dist/runtime/tools/openclaw.d.ts.map +1 -0
  354. package/dist/runtime/tools/openclaw.js +88 -0
  355. package/dist/runtime/tools/openclaw.js.map +1 -0
  356. package/dist/runtime/tools/opencode.d.ts +23 -0
  357. package/dist/runtime/tools/opencode.d.ts.map +1 -0
  358. package/dist/runtime/tools/opencode.js +82 -0
  359. package/dist/runtime/tools/opencode.js.map +1 -0
  360. package/dist/runtime/tools/qwencode.d.ts +17 -0
  361. package/dist/runtime/tools/qwencode.d.ts.map +1 -0
  362. package/dist/runtime/tools/qwencode.js +49 -0
  363. package/dist/runtime/tools/qwencode.js.map +1 -0
  364. package/dist/runtime/tools/registerAll.d.ts +9 -0
  365. package/dist/runtime/tools/registerAll.d.ts.map +1 -0
  366. package/dist/runtime/tools/registerAll.js +29 -0
  367. package/dist/runtime/tools/registerAll.js.map +1 -0
  368. package/dist/runtime/tools/registry.d.ts +21 -0
  369. package/dist/runtime/tools/registry.d.ts.map +1 -0
  370. package/dist/runtime/tools/registry.js +41 -0
  371. package/dist/runtime/tools/registry.js.map +1 -0
  372. package/dist/runtime/tools/types.d.ts +67 -0
  373. package/dist/runtime/tools/types.d.ts.map +1 -0
  374. package/dist/runtime/tools/types.js +3 -0
  375. package/dist/runtime/tools/types.js.map +1 -0
  376. package/dist/services/cliTools.d.ts +32 -0
  377. package/dist/services/cliTools.d.ts.map +1 -0
  378. package/dist/services/cliTools.js +149 -0
  379. package/dist/services/cliTools.js.map +1 -0
  380. package/dist/services/commandExecutor.d.ts +29 -0
  381. package/dist/services/commandExecutor.d.ts.map +1 -0
  382. package/dist/services/commandExecutor.js +125 -0
  383. package/dist/services/commandExecutor.js.map +1 -0
  384. package/dist/services/commandExecutor.test.d.ts +2 -0
  385. package/dist/services/commandExecutor.test.d.ts.map +1 -0
  386. package/dist/services/commandExecutor.test.js +54 -0
  387. package/dist/services/commandExecutor.test.js.map +1 -0
  388. package/dist/services/feishuService.d.ts +14 -0
  389. package/dist/services/feishuService.d.ts.map +1 -0
  390. package/dist/services/feishuService.js +103 -0
  391. package/dist/services/feishuService.js.map +1 -0
  392. package/dist/services/feishuServiceOfficial.d.ts +15 -0
  393. package/dist/services/feishuServiceOfficial.d.ts.map +1 -0
  394. package/dist/services/feishuServiceOfficial.js +167 -0
  395. package/dist/services/feishuServiceOfficial.js.map +1 -0
  396. package/dist/services/feishuServiceV2.d.ts +20 -0
  397. package/dist/services/feishuServiceV2.d.ts.map +1 -0
  398. package/dist/services/feishuServiceV2.js +222 -0
  399. package/dist/services/feishuServiceV2.js.map +1 -0
  400. package/dist/services/taskManager.d.ts +25 -0
  401. package/dist/services/taskManager.d.ts.map +1 -0
  402. package/dist/services/taskManager.js +129 -0
  403. package/dist/services/taskManager.js.map +1 -0
  404. package/dist/services/taskManagerSimple.d.ts +25 -0
  405. package/dist/services/taskManagerSimple.d.ts.map +1 -0
  406. package/dist/services/taskManagerSimple.js +147 -0
  407. package/dist/services/taskManagerSimple.js.map +1 -0
  408. package/dist/testHelloWorld.d.ts +2 -0
  409. package/dist/testHelloWorld.d.ts.map +1 -0
  410. package/dist/testHelloWorld.js +18 -0
  411. package/dist/testHelloWorld.js.map +1 -0
  412. package/dist/utils/encoding.d.ts +3 -0
  413. package/dist/utils/encoding.d.ts.map +1 -0
  414. package/dist/utils/encoding.js +110 -0
  415. package/dist/utils/encoding.js.map +1 -0
  416. package/dist/utils/logger.d.ts +19 -0
  417. package/dist/utils/logger.d.ts.map +1 -0
  418. package/dist/utils/logger.js +192 -0
  419. package/dist/utils/logger.js.map +1 -0
  420. package/dist/utils/shellEncoding.d.ts +5 -0
  421. package/dist/utils/shellEncoding.d.ts.map +1 -0
  422. package/dist/utils/shellEncoding.js +117 -0
  423. package/dist/utils/shellEncoding.js.map +1 -0
  424. package/openbotgate.example.yml +60 -0
  425. package/package.json +81 -0
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.executePrompt = executePrompt;
37
+ exports.run = run;
38
+ const registry_1 = require("../../runtime/tools/registry");
39
+ const sessionManager_1 = require("../../runtime/sessionManager");
40
+ const streamHandler_1 = require("../../runtime/streamHandler");
41
+ const logger_1 = __importStar(require("../../utils/logger"));
42
+ /**
43
+ * Execute prompt with current or specified code tool.
44
+ * Used by default message handler (no slash) and /code one-shot.
45
+ */
46
+ async function executePrompt(ctx, prompt, toolNameOverride) {
47
+ if (!prompt) {
48
+ logger_1.default.info('💬 Reply: Usage: send a prompt to execute');
49
+ await ctx.reply('Send a message to run with current tool, or use /code <tool> "prompt" for one-shot.');
50
+ return;
51
+ }
52
+ const session = sessionManager_1.sessionManager.getSession(ctx.senderId);
53
+ const toolName = toolNameOverride || session.tool;
54
+ const adapter = registry_1.toolRegistry.get(toolName);
55
+ if (!adapter) {
56
+ await ctx.reply(`Tool "${toolName}" is not available. Use /code to switch tools.`);
57
+ return;
58
+ }
59
+ const newSession = !!session.newSessionRequested;
60
+ if (newSession) {
61
+ sessionManager_1.sessionManager.clearNewSessionRequest(ctx.senderId);
62
+ }
63
+ const streamHandler = (0, streamHandler_1.createStreamHandler)(ctx.reply);
64
+ const runOpts = {
65
+ newSession,
66
+ sessionId: newSession ? undefined : (session.sessionId ?? undefined),
67
+ model: session.model ?? undefined,
68
+ agent: session.agent ?? undefined,
69
+ cwd: session.cwd ?? undefined,
70
+ onOutput: streamHandler.onOutput,
71
+ };
72
+ const command = adapter.buildCommand(prompt, runOpts);
73
+ logger_1.default.info(`🚀 Running ${adapter.displayName}: ${command}`);
74
+ const result = await adapter.execute(prompt, runOpts);
75
+ await streamHandler.complete();
76
+ const duration = (0, logger_1.formatDuration)(result.duration);
77
+ if (result.success) {
78
+ logger_1.default.info(`✅ ${adapter.displayName} 完成 (${duration})`);
79
+ }
80
+ else {
81
+ logger_1.default.info(`❌ ${adapter.displayName} 失败 (${duration})`);
82
+ }
83
+ }
84
+ /**
85
+ * /code command - switch tools or one-shot execute
86
+ *
87
+ * /code -> show current tool + list available
88
+ * /code opencode -> switch default tool
89
+ * /code claude "msg" -> one-shot execute with specified tool
90
+ */
91
+ async function run(ctx) {
92
+ const args = ctx.args.trim();
93
+ const session = sessionManager_1.sessionManager.getSession(ctx.senderId);
94
+ if (!args) {
95
+ const current = registry_1.toolRegistry.get(session.tool);
96
+ const all = registry_1.toolRegistry.getEnabled();
97
+ const lines = [
98
+ `Current tool: ${current?.displayName || session.tool}`,
99
+ '',
100
+ 'Available tools:',
101
+ ...all.map(t => ` ${t.commandName} - ${t.displayName}${t.name === session.tool ? ' (active)' : ''}`),
102
+ '',
103
+ 'Usage:',
104
+ ' /code <tool> - switch default tool',
105
+ ' /code <tool> "prompt" - one-shot execute',
106
+ ];
107
+ await ctx.reply(lines.join('\n'));
108
+ return;
109
+ }
110
+ const parts = args.split(/\s+/);
111
+ const toolCmd = parts[0].toLowerCase();
112
+ const prompt = parts.slice(1).join(' ').trim();
113
+ const adapter = registry_1.toolRegistry.getByCommand(toolCmd);
114
+ if (!adapter) {
115
+ const available = registry_1.toolRegistry.getEnabled().map(t => t.commandName).join(', ');
116
+ await ctx.reply(`Unknown tool: ${toolCmd}\nAvailable: ${available}`);
117
+ return;
118
+ }
119
+ if (prompt) {
120
+ logger_1.default.info(`🔧 One-shot ${adapter.displayName}: ${prompt.substring(0, 50)}...`);
121
+ await executePrompt(ctx, prompt, adapter.name);
122
+ return;
123
+ }
124
+ sessionManager_1.sessionManager.updateSession(ctx.senderId, {
125
+ tool: adapter.name,
126
+ sessionId: null,
127
+ model: null,
128
+ agent: null,
129
+ });
130
+ logger_1.default.info(`🔄 Switched to ${adapter.displayName}`);
131
+ await ctx.reply(`Switched to ${adapter.displayName}`);
132
+ }
133
+ //# sourceMappingURL=code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code.js","sourceRoot":"","sources":["../../../src/handler/commands/code.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { CommandContext } from '../types';
2
+ export declare function run(ctx: CommandContext): Promise<void>;
3
+ //# sourceMappingURL=git.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../src/handler/commands/git.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAK/C,wBAAsB,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB5D"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.run = run;
7
+ const taskManager_1 = require("../../runtime/taskManager");
8
+ const utils_1 = require("./utils");
9
+ const logger_1 = __importDefault(require("../../utils/logger"));
10
+ async function run(ctx) {
11
+ const command = ctx.args.trim();
12
+ if (!command) {
13
+ logger_1.default.info('💬 Reply: Usage: /git <command>');
14
+ await ctx.reply('Usage: /git <command>\nExample: /git status');
15
+ return;
16
+ }
17
+ logger_1.default.info('🚀 Running Git...');
18
+ // await ctx.reply('🔧 Running Git...');
19
+ const task = await taskManager_1.taskManager.createTask(ctx.senderId, command, 'git');
20
+ const result = await taskManager_1.taskManager.executeTask(task.id);
21
+ if (result) {
22
+ await (0, utils_1.sendResult)(result, ctx.reply);
23
+ }
24
+ }
25
+ //# sourceMappingURL=git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/handler/commands/git.ts"],"names":[],"mappings":";;;;;AAKA,kBAkBC;AAtBD,2DAAwD;AACxD,mCAAqC;AACrC,gEAAwC;AAEjC,KAAK,UAAU,GAAG,CAAC,GAAmB;IAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAEhC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,gBAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC/C,MAAM,GAAG,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IAED,gBAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACjC,wCAAwC;IAExC,MAAM,IAAI,GAAG,MAAM,yBAAW,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEtD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,IAAA,kBAAU,EAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CommandContext } from '../types';
2
+ export declare function run(ctx: CommandContext): Promise<void>;
3
+ //# sourceMappingURL=help.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../src/handler/commands/help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAiD/C,wBAAsB,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5D"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.run = run;
7
+ const config_1 = require("../../config/config");
8
+ const logger_1 = __importDefault(require("../../utils/logger"));
9
+ const HELP_CODE = `*Code* (tool + session)
10
+ • \`/code\` - Show current tool / list available tools
11
+ • \`/code <tool>\` - Switch default tool (opencode, cursor, claude, codex, qwen, kimi, openclaw, gemini, nanobot)
12
+ • \`/code <tool> "prompt"\` - One-shot execute with specified tool
13
+ • \`/new\` - Start new session (clear history)
14
+ • \`/session\` - List sessions | \`/session <id>\` - Switch to session
15
+ • \`/model\` - List models | \`/model <name>\` - Set model
16
+ • \`/agent\` - List agents | \`/agent <name>\` - Set agent
17
+ • \`/workspace\` - Show cwd | \`/workspace <path>\` - Set working directory`;
18
+ const HELP_SHELL = `*Shell*
19
+ <allowed shell commands>
20
+ `;
21
+ const HELP_TASK = `*Task*
22
+ • \`/status\` - Show system status
23
+ • \`/tasks\` - List running tasks
24
+ • \`/cancel <task_id>\` - Cancel a task`;
25
+ const PLACEHOLDER_SHELL = '<allowed shell commands>';
26
+ function buildHelpText() {
27
+ const shellLines = config_1.config.allowedShellCommands.length
28
+ ? config_1.config.allowedShellCommands
29
+ .map((name) => `• \`/${name} <args>\` - Execute ${name} command`)
30
+ .join('\n')
31
+ : '• (no shell commands configured)';
32
+ const helpShell = HELP_SHELL.replace(PLACEHOLDER_SHELL, shellLines);
33
+ return [
34
+ '*AI Code Gateway - Help*',
35
+ '',
36
+ HELP_CODE,
37
+ '',
38
+ helpShell,
39
+ '',
40
+ HELP_TASK,
41
+ '',
42
+ '*Tip:* Send a message without / to execute with current code tool.',
43
+ ].join('\n');
44
+ }
45
+ async function run(ctx) {
46
+ logger_1.default.info('💬 Reply: AI Code Gateway Help');
47
+ await ctx.send('AI Code Gateway Help', buildHelpText());
48
+ }
49
+ //# sourceMappingURL=help.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../../src/handler/commands/help.ts"],"names":[],"mappings":";;;;;AAiDA,kBAGC;AAnDD,gDAA6C;AAC7C,gEAAwC;AAExC,MAAM,SAAS,GAAG;;;;;;;;4EAQ0D,CAAC;AAE7E,MAAM,UAAU,GAAG;;CAElB,CAAC;AAEF,MAAM,SAAS,GAAG;;;wCAGsB,CAAC;AAIzC,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAErD,SAAS,aAAa;IACpB,MAAM,UAAU,GAAG,eAAM,CAAC,oBAAoB,CAAC,MAAM;QACnD,CAAC,CAAC,eAAM,CAAC,oBAAoB;aACxB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,IAAI,uBAAuB,IAAI,UAAU,CAAC;aAChE,IAAI,CAAC,IAAI,CAAC;QACf,CAAC,CAAC,kCAAkC,CAAC;IAEvC,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAEpE,OAAO;QACL,0BAA0B;QAC1B,EAAE;QACF,SAAS;QACT,EAAE;QACF,SAAS;QACT,EAAE;QACF,SAAS;QACT,EAAE;QACF,oEAAoE;KACrE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAEM,KAAK,UAAU,GAAG,CAAC,GAAmB;IAC3C,gBAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC9C,MAAM,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,aAAa,EAAE,CAAC,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { CommandHandler } from '../types';
2
+ /**
3
+ * Command registry: maps command name to handler (static commands only; shell commands resolved in getCommand)
4
+ */
5
+ export declare const commands: Record<string, CommandHandler>;
6
+ /**
7
+ * Get command handler by name. If not in static map, checks config.allowedShellCommands and returns generic shell handler.
8
+ */
9
+ export declare function getCommand(cmd: string): CommandHandler | undefined;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/handler/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAa/C;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAWnD,CAAC;AAEF;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAQlE"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.commands = void 0;
4
+ exports.getCommand = getCommand;
5
+ const config_1 = require("../../config/config");
6
+ const help_1 = require("./help");
7
+ const status_1 = require("./status");
8
+ const tasks_1 = require("./tasks");
9
+ const code_1 = require("./code");
10
+ const shell_1 = require("./shell");
11
+ const new_1 = require("../code/new");
12
+ const model_1 = require("../code/model");
13
+ const session_1 = require("../code/session");
14
+ const agent_1 = require("../code/agent");
15
+ const workspace_1 = require("../code/workspace");
16
+ /**
17
+ * Command registry: maps command name to handler (static commands only; shell commands resolved in getCommand)
18
+ */
19
+ exports.commands = {
20
+ '/help': help_1.run,
21
+ '/status': status_1.run,
22
+ '/tasks': tasks_1.run,
23
+ '/cancel': tasks_1.cancel,
24
+ '/new': new_1.run,
25
+ '/code': code_1.run,
26
+ '/model': model_1.run,
27
+ '/session': session_1.run,
28
+ '/agent': agent_1.run,
29
+ '/workspace': workspace_1.run,
30
+ };
31
+ /**
32
+ * Get command handler by name. If not in static map, checks config.allowedShellCommands and returns generic shell handler.
33
+ */
34
+ function getCommand(cmd) {
35
+ const staticHandler = exports.commands[cmd];
36
+ if (staticHandler)
37
+ return staticHandler;
38
+ const name = cmd.replace(/^\//, '').toLowerCase();
39
+ if (config_1.config.allowedShellCommands.includes(name))
40
+ return (0, shell_1.createShellHandler)(name);
41
+ return undefined;
42
+ }
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handler/commands/index.ts"],"names":[],"mappings":";;;AAgCA,gCAQC;AAvCD,gDAA6C;AAC7C,iCAAqC;AACrC,qCAAyC;AACzC,mCAA+C;AAC/C,iCAAqC;AACrC,mCAA6C;AAC7C,qCAAqD;AACrD,yCAA6C;AAC7C,6CAAiD;AACjD,yCAA6C;AAC7C,iDAAqD;AAErD;;GAEG;AACU,QAAA,QAAQ,GAAmC;IACtD,OAAO,EAAE,UAAI;IACb,SAAS,EAAE,YAAM;IACjB,QAAQ,EAAE,WAAK;IACf,SAAS,EAAE,cAAM;IACjB,MAAM,EAAE,SAAe;IACvB,OAAO,EAAE,UAAI;IACb,QAAQ,EAAE,WAAK;IACf,UAAU,EAAE,aAAO;IACnB,QAAQ,EAAE,WAAK;IACf,YAAY,EAAE,eAAS;CACxB,CAAC;AAEF;;GAEG;AACH,SAAgB,UAAU,CAAC,GAAW;IACpC,MAAM,aAAa,GAAG,gBAAQ,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC;IAExC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAClD,IAAI,eAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAA,0BAAkB,EAAC,IAAI,CAAC,CAAC;IAEhF,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { CommandContext } from '../types';
2
+ /**
3
+ * /model command - list or switch model
4
+ *
5
+ * /model -> list models for current tool
6
+ * /model <name> -> set model
7
+ * /model reset -> reset to default
8
+ */
9
+ export declare function run(ctx: CommandContext): Promise<void>;
10
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/handler/commands/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAK/C;;;;;;GAMG;AACH,wBAAsB,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAmD5D"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.run = run;
7
+ const registry_1 = require("../../runtime/tools/registry");
8
+ const sessionManager_1 = require("../../runtime/sessionManager");
9
+ const logger_1 = __importDefault(require("../../utils/logger"));
10
+ /**
11
+ * /model command - list or switch model
12
+ *
13
+ * /model -> list models for current tool
14
+ * /model <name> -> set model
15
+ * /model reset -> reset to default
16
+ */
17
+ async function run(ctx) {
18
+ const args = ctx.args.trim();
19
+ const session = sessionManager_1.sessionManager.getSession(ctx.senderId);
20
+ const adapter = registry_1.toolRegistry.get(session.tool);
21
+ if (!adapter) {
22
+ await ctx.reply(`Current tool "${session.tool}" is not available.`);
23
+ return;
24
+ }
25
+ // Reset model
26
+ if (args.toLowerCase() === 'reset') {
27
+ sessionManager_1.sessionManager.updateSession(ctx.senderId, { model: null });
28
+ await ctx.reply(`Model reset to default for ${adapter.displayName}`);
29
+ return;
30
+ }
31
+ // Set model
32
+ if (args) {
33
+ if (!adapter.capabilities.model) {
34
+ await ctx.reply(`${adapter.displayName} does not support model selection.`);
35
+ return;
36
+ }
37
+ sessionManager_1.sessionManager.updateSession(ctx.senderId, { model: args });
38
+ logger_1.default.info(`🔄 Model set to: ${args}`);
39
+ await ctx.reply(`Model set to: ${args}`);
40
+ return;
41
+ }
42
+ // List models
43
+ if (!adapter.capabilities.listModels) {
44
+ const current = session.model || 'default';
45
+ await ctx.reply(`${adapter.displayName} current model: ${current}\n(This tool does not support listing models. Use /model <name> to set.)`);
46
+ return;
47
+ }
48
+ const models = await adapter.listModels();
49
+ if (models.length === 0) {
50
+ await ctx.reply(`No models found for ${adapter.displayName}.`);
51
+ return;
52
+ }
53
+ const current = session.model || 'default';
54
+ const lines = [
55
+ `${adapter.displayName} models (current: ${current}):`,
56
+ '',
57
+ ...models.map(m => ` ${m}`),
58
+ '',
59
+ 'Usage: /model <name>',
60
+ ];
61
+ await ctx.reply(lines.join('\n'));
62
+ }
63
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/handler/commands/model.ts"],"names":[],"mappings":";;;;;AAYA,kBAmDC;AA9DD,2DAA4D;AAC5D,iEAA8D;AAC9D,gEAAwC;AAExC;;;;;;GAMG;AACI,KAAK,UAAU,GAAG,CAAC,GAAmB;IAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,+BAAc,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,uBAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,GAAG,CAAC,KAAK,CAAC,iBAAiB,OAAO,CAAC,IAAI,qBAAqB,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IAED,cAAc;IACd,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC;QACnC,+BAAc,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,GAAG,CAAC,KAAK,CAAC,8BAA8B,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACrE,OAAO;IACT,CAAC;IAED,YAAY;IACZ,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,oCAAoC,CAAC,CAAC;YAC5E,OAAO;QACT,CAAC;QACD,+BAAc,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,gBAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QACzC,OAAO;IACT,CAAC;IAED,cAAc;IACd,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;QAC3C,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,mBAAmB,OAAO,0EAA0E,CAAC,CAAC;QAC5I,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;IAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,GAAG,CAAC,KAAK,CAAC,uBAAuB,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;IAC3C,MAAM,KAAK,GAAG;QACZ,GAAG,OAAO,CAAC,WAAW,qBAAqB,OAAO,IAAI;QACtD,EAAE;QACF,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,EAAE;QACF,sBAAsB;KACvB,CAAC;IACF,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CommandContext } from '../types';
2
+ export declare function run(ctx: CommandContext): Promise<void>;
3
+ //# sourceMappingURL=new.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../../src/handler/commands/new.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAM/C,wBAAsB,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB5D"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.run = run;
7
+ const taskManager_1 = require("../../runtime/taskManager");
8
+ const sessionManager_1 = require("../../runtime/sessionManager");
9
+ const registry_1 = require("../../runtime/tools/registry");
10
+ const logger_1 = __importDefault(require("../../utils/logger"));
11
+ async function run(ctx) {
12
+ // Cancel running tasks
13
+ const tasks = taskManager_1.taskManager.getUserTasks(ctx.senderId);
14
+ for (const task of tasks) {
15
+ taskManager_1.taskManager.cancelTask(task.id);
16
+ }
17
+ // Reset session (clears sessionId/model/agent, keeps tool and cwd)
18
+ sessionManager_1.sessionManager.resetSession(ctx.senderId);
19
+ const session = sessionManager_1.sessionManager.getSession(ctx.senderId);
20
+ const adapter = registry_1.toolRegistry.get(session.tool);
21
+ const toolDisplay = adapter?.displayName || session.tool;
22
+ logger_1.default.info(`🔄 New session for ${toolDisplay}`);
23
+ await ctx.reply(`🔄 New session started (${toolDisplay}). Previous tasks cleared.`);
24
+ }
25
+ //# sourceMappingURL=new.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/handler/commands/new.ts"],"names":[],"mappings":";;;;;AAMA,kBAgBC;AArBD,2DAAwD;AACxD,iEAA8D;AAC9D,2DAA4D;AAC5D,gEAAwC;AAEjC,KAAK,UAAU,GAAG,CAAC,GAAmB;IAC3C,uBAAuB;IACvB,MAAM,KAAK,GAAG,yBAAW,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,yBAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,mEAAmE;IACnE,+BAAc,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE1C,MAAM,OAAO,GAAG,+BAAc,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,uBAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAEzD,gBAAM,CAAC,IAAI,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC;IACjD,MAAM,GAAG,CAAC,KAAK,CAAC,2BAA2B,WAAW,4BAA4B,CAAC,CAAC;AACtF,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { CommandContext } from '../types';
2
+ /**
3
+ * Generic prompt executor.
4
+ * Uses the user's current tool from SessionManager, executes prompt with session/model/agent.
5
+ * Called by /opencode, default message handler, and /code one-shot.
6
+ */
7
+ export declare function executePrompt(ctx: CommandContext, prompt: string, toolNameOverride?: string): Promise<void>;
8
+ /**
9
+ * /opencode command handler - delegates to executePrompt
10
+ */
11
+ export declare function run(ctx: CommandContext): Promise<void>;
12
+ //# sourceMappingURL=opencode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../src/handler/commands/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAwD/C;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,EACd,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,CAAC,CAwCf;AAED;;GAEG;AACH,wBAAsB,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5D"}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.executePrompt = executePrompt;
37
+ exports.run = run;
38
+ const registry_1 = require("../../runtime/tools/registry");
39
+ const sessionManager_1 = require("../../runtime/sessionManager");
40
+ const logger_1 = __importStar(require("../../utils/logger"));
41
+ /** Throttle interval for streaming output (ms) */
42
+ const STREAM_THROTTLE_MS = 1000;
43
+ /**
44
+ * Creates a throttled stream handler that batches output and sends periodically
45
+ */
46
+ function createStreamHandler(reply) {
47
+ let buffer = '';
48
+ let lastSendTime = 0;
49
+ let pendingTimeout = null;
50
+ const flush = async () => {
51
+ if (buffer) {
52
+ const content = buffer;
53
+ buffer = '';
54
+ lastSendTime = Date.now();
55
+ await reply(content).catch(() => { });
56
+ }
57
+ };
58
+ const onOutput = (chunk) => {
59
+ buffer += (buffer ? '\n' : '') + chunk;
60
+ const now = Date.now();
61
+ const timeSinceLastSend = now - lastSendTime;
62
+ if (timeSinceLastSend >= STREAM_THROTTLE_MS) {
63
+ if (pendingTimeout) {
64
+ clearTimeout(pendingTimeout);
65
+ pendingTimeout = null;
66
+ }
67
+ flush();
68
+ }
69
+ else if (!pendingTimeout) {
70
+ pendingTimeout = setTimeout(() => {
71
+ pendingTimeout = null;
72
+ flush();
73
+ }, STREAM_THROTTLE_MS - timeSinceLastSend);
74
+ }
75
+ };
76
+ const complete = async () => {
77
+ if (pendingTimeout) {
78
+ clearTimeout(pendingTimeout);
79
+ pendingTimeout = null;
80
+ }
81
+ await flush();
82
+ };
83
+ return { onOutput, complete };
84
+ }
85
+ /**
86
+ * Generic prompt executor.
87
+ * Uses the user's current tool from SessionManager, executes prompt with session/model/agent.
88
+ * Called by /opencode, default message handler, and /code one-shot.
89
+ */
90
+ async function executePrompt(ctx, prompt, toolNameOverride) {
91
+ if (!prompt) {
92
+ logger_1.default.info('💬 Reply: Usage: send a prompt to execute');
93
+ await ctx.reply('Usage: /opencode <prompt>\nOr just send a message directly.');
94
+ return;
95
+ }
96
+ const session = sessionManager_1.sessionManager.getSession(ctx.senderId);
97
+ const toolName = toolNameOverride || session.tool;
98
+ const adapter = registry_1.toolRegistry.get(toolName);
99
+ if (!adapter) {
100
+ await ctx.reply(`Tool "${toolName}" is not available. Use /code to switch tools.`);
101
+ return;
102
+ }
103
+ logger_1.default.info(`🚀 Running ${adapter.displayName}...`);
104
+ const streamHandler = createStreamHandler(ctx.reply);
105
+ const result = await adapter.execute(prompt, {
106
+ sessionId: session.sessionId ?? undefined,
107
+ model: session.model ?? undefined,
108
+ agent: session.agent ?? undefined,
109
+ cwd: session.cwd ?? undefined,
110
+ onOutput: streamHandler.onOutput,
111
+ });
112
+ await streamHandler.complete();
113
+ // Capture session ID for future continuation
114
+ if (result.sessionId) {
115
+ sessionManager_1.sessionManager.updateSession(ctx.senderId, { sessionId: result.sessionId });
116
+ }
117
+ const duration = (0, logger_1.formatDuration)(result.duration);
118
+ if (result.success) {
119
+ logger_1.default.info(`✅ ${adapter.displayName} 完成 (${duration})`);
120
+ }
121
+ else {
122
+ logger_1.default.info(`❌ ${adapter.displayName} 失败 (${duration})`);
123
+ }
124
+ }
125
+ /**
126
+ * /opencode command handler - delegates to executePrompt
127
+ */
128
+ async function run(ctx) {
129
+ await executePrompt(ctx, ctx.args.trim(), 'opencode');
130
+ }
131
+ //# sourceMappingURL=opencode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../src/handler/commands/opencode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { CommandContext } from '../types';
2
+ /**
3
+ * /session command - list or switch session
4
+ *
5
+ * /session -> list sessions or show current
6
+ * /session <id> -> switch to specific session
7
+ */
8
+ export declare function run(ctx: CommandContext): Promise<void>;
9
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/handler/commands/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAK/C;;;;;GAKG;AACH,wBAAsB,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA4C5D"}