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,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/code/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,7 @@
1
+ import type { CommandContext } from '../types';
2
+ /**
3
+ * /new - Mark next code run as new session. Does NOT call any code tool.
4
+ * When user sends a prompt afterward, we run the code tool with "new session" params and clear the mark.
5
+ */
6
+ export declare function run(ctx: CommandContext): Promise<void>;
7
+ //# sourceMappingURL=new.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../../src/handler/code/new.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAM/C;;;GAGG;AACH,wBAAsB,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAc5D"}
@@ -0,0 +1,27 @@
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
+ /**
12
+ * /new - Mark next code run as new session. Does NOT call any code tool.
13
+ * When user sends a prompt afterward, we run the code tool with "new session" params and clear the mark.
14
+ */
15
+ async function run(ctx) {
16
+ const tasks = taskManager_1.taskManager.getUserTasks(ctx.senderId);
17
+ for (const task of tasks) {
18
+ taskManager_1.taskManager.cancelTask(task.id);
19
+ }
20
+ sessionManager_1.sessionManager.requestNewSession(ctx.senderId);
21
+ const session = sessionManager_1.sessionManager.getSession(ctx.senderId);
22
+ const adapter = registry_1.toolRegistry.get(session.tool);
23
+ const toolDisplay = adapter?.displayName || session.tool;
24
+ logger_1.default.info(`🔄 New session requested for ${toolDisplay}`);
25
+ await ctx.reply(`🔄 开始新会话(${toolDisplay})。下次发送指令时将在新会话中执行。`);
26
+ }
27
+ //# sourceMappingURL=new.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/handler/code/new.ts"],"names":[],"mappings":";;;;;AAUA,kBAcC;AAvBD,2DAAwD;AACxD,iEAA8D;AAC9D,2DAA4D;AAC5D,gEAAwC;AAExC;;;GAGG;AACI,KAAK,UAAU,GAAG,CAAC,GAAmB;IAC3C,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,+BAAc,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE/C,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,gCAAgC,WAAW,EAAE,CAAC,CAAC;IAC3D,MAAM,GAAG,CAAC,KAAK,CAAC,YAAY,WAAW,oBAAoB,CAAC,CAAC;AAC/D,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/code/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAM/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,88 @@
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
+ * Generic prompt executor.
44
+ * Uses the user's current tool from SessionManager, executes prompt with session/model/agent.
45
+ * Called by /opencode, default message handler, and /code one-shot.
46
+ */
47
+ async function executePrompt(ctx, prompt, toolNameOverride) {
48
+ if (!prompt) {
49
+ logger_1.default.info('💬 Reply: Usage: send a prompt to execute');
50
+ await ctx.reply('Usage: /opencode <prompt>\nOr just send a message directly.');
51
+ return;
52
+ }
53
+ const session = sessionManager_1.sessionManager.getSession(ctx.senderId);
54
+ const toolName = toolNameOverride || session.tool;
55
+ const adapter = registry_1.toolRegistry.get(toolName);
56
+ if (!adapter) {
57
+ await ctx.reply(`Tool "${toolName}" is not available. Use /code to switch tools.`);
58
+ return;
59
+ }
60
+ logger_1.default.info(`🚀 Running ${adapter.displayName}...`);
61
+ const streamHandler = (0, streamHandler_1.createStreamHandler)(ctx.reply);
62
+ const result = await adapter.execute(prompt, {
63
+ sessionId: session.sessionId ?? undefined,
64
+ model: session.model ?? undefined,
65
+ agent: session.agent ?? undefined,
66
+ cwd: session.cwd ?? undefined,
67
+ onOutput: streamHandler.onOutput,
68
+ });
69
+ await streamHandler.complete();
70
+ // Capture session ID for future continuation
71
+ if (result.sessionId) {
72
+ sessionManager_1.sessionManager.updateSession(ctx.senderId, { sessionId: result.sessionId });
73
+ }
74
+ const duration = (0, logger_1.formatDuration)(result.duration);
75
+ if (result.success) {
76
+ logger_1.default.info(`✅ ${adapter.displayName} 完成 (${duration})`);
77
+ }
78
+ else {
79
+ logger_1.default.info(`❌ ${adapter.displayName} 失败 (${duration})`);
80
+ }
81
+ }
82
+ /**
83
+ * /opencode command handler - delegates to executePrompt
84
+ */
85
+ async function run(ctx) {
86
+ await executePrompt(ctx, ctx.args.trim(), 'opencode');
87
+ }
88
+ //# sourceMappingURL=opencode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../src/handler/code/opencode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,sCA4CC;AAKD,kBAEC;AA7DD,2DAA4D;AAC5D,iEAA8D;AAC9D,+DAAkE;AAClE,6DAA4D;AAE5D;;;;GAIG;AACI,KAAK,UAAU,aAAa,CACjC,GAAmB,EACnB,MAAc,EACd,gBAAyB;IAEzB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,gBAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACzD,MAAM,GAAG,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAC/E,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,+BAAc,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAClD,MAAM,OAAO,GAAG,uBAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,GAAG,CAAC,KAAK,CAAC,SAAS,QAAQ,gDAAgD,CAAC,CAAC;QACnF,OAAO;IACT,CAAC;IAED,gBAAM,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,WAAW,KAAK,CAAC,CAAC;IAEpD,MAAM,aAAa,GAAG,IAAA,mCAAmB,EAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE;QAC3C,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,SAAS;QACzC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;QACjC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;QACjC,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,SAAS;QAC7B,QAAQ,EAAE,aAAa,CAAC,QAAQ;KACjC,CAAC,CAAC;IAEH,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;IAE/B,6CAA6C;IAC7C,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,+BAAc,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,uBAAc,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,gBAAM,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,WAAW,QAAQ,QAAQ,GAAG,CAAC,CAAC;IAC3D,CAAC;SAAM,CAAC;QACN,gBAAM,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,WAAW,QAAQ,QAAQ,GAAG,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,GAAG,CAAC,GAAmB;IAC3C,MAAM,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;AACxD,CAAC"}
@@ -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/code/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"}
@@ -0,0 +1,55 @@
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
+ * /session command - list or switch session
12
+ *
13
+ * /session -> list sessions or show current
14
+ * /session <id> -> switch to specific session
15
+ */
16
+ async function run(ctx) {
17
+ const args = ctx.args.trim();
18
+ const session = sessionManager_1.sessionManager.getSession(ctx.senderId);
19
+ const adapter = registry_1.toolRegistry.get(session.tool);
20
+ if (!adapter) {
21
+ await ctx.reply(`Current tool "${session.tool}" is not available.`);
22
+ return;
23
+ }
24
+ // Switch session
25
+ if (args) {
26
+ if (!adapter.capabilities.session) {
27
+ await ctx.reply(`${adapter.displayName} does not support session management.`);
28
+ return;
29
+ }
30
+ sessionManager_1.sessionManager.updateSession(ctx.senderId, { sessionId: args });
31
+ logger_1.default.info(`🔄 Session set to: ${args}`);
32
+ await ctx.reply(`Session set to: ${args}`);
33
+ return;
34
+ }
35
+ // List sessions
36
+ const current = session.sessionId || 'none (new session)';
37
+ if (!adapter.capabilities.listSessions) {
38
+ await ctx.reply(`${adapter.displayName} current session: ${current}\n(This tool does not support listing sessions. Use /session <id> to set.)`);
39
+ return;
40
+ }
41
+ const sessions = await adapter.listSessions();
42
+ if (sessions.length === 0) {
43
+ await ctx.reply(`No sessions found for ${adapter.displayName}.\nCurrent: ${current}`);
44
+ return;
45
+ }
46
+ const lines = [
47
+ `${adapter.displayName} sessions (current: ${current}):`,
48
+ '',
49
+ ...sessions.map(s => ` ${s.id} ${s.title} ${s.updatedAt}`),
50
+ '',
51
+ 'Usage: /session <id>',
52
+ ];
53
+ await ctx.reply(lines.join('\n'));
54
+ }
55
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/handler/code/session.ts"],"names":[],"mappings":";;;;;AAWA,kBA4CC;AAtDD,2DAA4D;AAC5D,iEAA8D;AAC9D,gEAAwC;AAExC;;;;;GAKG;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,iBAAiB;IACjB,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,uCAAuC,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;QACD,+BAAc,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,gBAAM,CAAC,IAAI,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;QAC1C,MAAM,GAAG,CAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;QAC3C,OAAO;IACT,CAAC;IAED,gBAAgB;IAChB,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI,oBAAoB,CAAC;IAE1D,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;QACvC,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,qBAAqB,OAAO,4EAA4E,CAAC,CAAC;QAChJ,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;IAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,GAAG,CAAC,KAAK,CAAC,yBAAyB,OAAO,CAAC,WAAW,eAAe,OAAO,EAAE,CAAC,CAAC;QACtF,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,GAAG,OAAO,CAAC,WAAW,uBAAuB,OAAO,IAAI;QACxD,EAAE;QACF,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;QAC7D,EAAE;QACF,sBAAsB;KACvB,CAAC;IACF,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { CommandContext } from '../types';
2
+ /**
3
+ * /workspace command - set or view working directory
4
+ *
5
+ * /workspace -> show current cwd
6
+ * /workspace <path> -> set cwd
7
+ * /workspace reset -> reset to default (process.cwd())
8
+ */
9
+ export declare function run(ctx: CommandContext): Promise<void>;
10
+ //# sourceMappingURL=workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../../src/handler/code/workspace.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI/C;;;;;;GAMG;AACH,wBAAsB,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC5D"}
@@ -0,0 +1,80 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.run = run;
40
+ const fs = __importStar(require("fs"));
41
+ const sessionManager_1 = require("../../runtime/sessionManager");
42
+ const logger_1 = __importDefault(require("../../utils/logger"));
43
+ /**
44
+ * /workspace command - set or view working directory
45
+ *
46
+ * /workspace -> show current cwd
47
+ * /workspace <path> -> set cwd
48
+ * /workspace reset -> reset to default (process.cwd())
49
+ */
50
+ async function run(ctx) {
51
+ const args = ctx.args.trim();
52
+ const session = sessionManager_1.sessionManager.getSession(ctx.senderId);
53
+ // Reset
54
+ if (args.toLowerCase() === 'reset') {
55
+ sessionManager_1.sessionManager.updateSession(ctx.senderId, { cwd: null });
56
+ await ctx.reply(`Workspace reset to default: ${process.cwd()}`);
57
+ return;
58
+ }
59
+ // Set workspace
60
+ if (args) {
61
+ // Validate path exists
62
+ if (!fs.existsSync(args)) {
63
+ await ctx.reply(`Path does not exist: ${args}`);
64
+ return;
65
+ }
66
+ const stat = fs.statSync(args);
67
+ if (!stat.isDirectory()) {
68
+ await ctx.reply(`Path is not a directory: ${args}`);
69
+ return;
70
+ }
71
+ sessionManager_1.sessionManager.updateSession(ctx.senderId, { cwd: args });
72
+ logger_1.default.info(`📂 Workspace set to: ${args}`);
73
+ await ctx.reply(`Workspace set to: ${args}`);
74
+ return;
75
+ }
76
+ // Show current
77
+ const cwd = session.cwd || process.cwd();
78
+ await ctx.reply(`Current workspace: ${cwd}${session.cwd ? '' : ' (default)'}`);
79
+ }
80
+ //# sourceMappingURL=workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../src/handler/code/workspace.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,kBAkCC;AA9CD,uCAAyB;AAEzB,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;IAExD,QAAQ;IACR,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC;QACnC,+BAAc,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,MAAM,GAAG,CAAC,KAAK,CAAC,+BAA+B,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAChE,OAAO;IACT,CAAC;IAED,gBAAgB;IAChB,IAAI,IAAI,EAAE,CAAC;QACT,uBAAuB;QACvB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,GAAG,CAAC,KAAK,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,GAAG,CAAC,KAAK,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;QAED,+BAAc,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,gBAAM,CAAC,IAAI,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;QAC5C,MAAM,GAAG,CAAC,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,eAAe;IACf,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzC,MAAM,GAAG,CAAC,KAAK,CAAC,sBAAsB,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;AACjF,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { CommandContext } from '../types';
2
+ /**
3
+ * /agent command - list or switch agent
4
+ *
5
+ * /agent -> list agents for current tool
6
+ * /agent <name> -> set agent
7
+ * /agent reset -> reset to default
8
+ */
9
+ export declare function run(ctx: CommandContext): Promise<void>;
10
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/handler/commands/agent.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
+ * /agent command - list or switch agent
12
+ *
13
+ * /agent -> list agents for current tool
14
+ * /agent <name> -> set agent
15
+ * /agent 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 agent
26
+ if (args.toLowerCase() === 'reset') {
27
+ sessionManager_1.sessionManager.updateSession(ctx.senderId, { agent: null });
28
+ await ctx.reply(`Agent reset to default for ${adapter.displayName}`);
29
+ return;
30
+ }
31
+ // Set agent
32
+ if (args) {
33
+ if (!adapter.capabilities.agent) {
34
+ await ctx.reply(`${adapter.displayName} does not support agent selection.`);
35
+ return;
36
+ }
37
+ sessionManager_1.sessionManager.updateSession(ctx.senderId, { agent: args });
38
+ logger_1.default.info(`🔄 Agent set to: ${args}`);
39
+ await ctx.reply(`Agent set to: ${args}`);
40
+ return;
41
+ }
42
+ // List agents
43
+ if (!adapter.capabilities.listAgents) {
44
+ const current = session.agent || 'default';
45
+ await ctx.reply(`${adapter.displayName} current agent: ${current}\n(This tool does not support listing agents. Use /agent <name> to set.)`);
46
+ return;
47
+ }
48
+ const agents = await adapter.listAgents();
49
+ if (agents.length === 0) {
50
+ await ctx.reply(`No agents found for ${adapter.displayName}.`);
51
+ return;
52
+ }
53
+ const current = session.agent || 'default';
54
+ const lines = [
55
+ `${adapter.displayName} agents (current: ${current}):`,
56
+ '',
57
+ ...agents.map(a => ` ${a}`),
58
+ '',
59
+ 'Usage: /agent <name>',
60
+ ];
61
+ await ctx.reply(lines.join('\n'));
62
+ }
63
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/handler/commands/agent.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=async.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../../src/handler/commands/async.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,CA4B5D"}
@@ -0,0 +1,30 @@
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 feishu_1 = require("../../gateway/feishu");
9
+ const logger_1 = __importDefault(require("../../utils/logger"));
10
+ async function run(ctx) {
11
+ const [tool, ...commandParts] = ctx.args.split(' ');
12
+ const command = commandParts.join(' ');
13
+ if (!tool || !command) {
14
+ logger_1.default.info('💬 Reply: Usage: /async <tool> <command>');
15
+ await ctx.reply('Usage: /async <tool> <command>\nExample: /async opencode Complex task');
16
+ return;
17
+ }
18
+ logger_1.default.info(`🚀 Executing ${tool} asynchronously...`);
19
+ // await ctx.reply(`Executing ${tool} asynchronously...`);
20
+ const task = await taskManager_1.taskManager.createTask(ctx.senderId, command, tool.toLowerCase());
21
+ // Execute in background and notify when done
22
+ taskManager_1.taskManager.executeTask(task.id).then(async (result) => {
23
+ if (result) {
24
+ await feishu_1.feishu.sendTextMessage(ctx.chatId, 'chat_id', `✅ Task completed! ID: ${task.id}\n\nUse /tasks to view results.`);
25
+ }
26
+ });
27
+ logger_1.default.info(`💬 Reply: Task started! ID: ${task.id}`);
28
+ await ctx.reply(`Task started! ID: ${task.id}\nI'll notify you when it's complete.`);
29
+ }
30
+ //# sourceMappingURL=async.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async.js","sourceRoot":"","sources":["../../../src/handler/commands/async.ts"],"names":[],"mappings":";;;;;AAKA,kBA4BC;AAhCD,2DAAwD;AACxD,iDAA8C;AAC9C,gEAAwC;AAEjC,KAAK,UAAU,GAAG,CAAC,GAAmB;IAC3C,MAAM,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEvC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACtB,gBAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACxD,MAAM,GAAG,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;QACzF,OAAO;IACT,CAAC;IAED,gBAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,oBAAoB,CAAC,CAAC;IACtD,0DAA0D;IAE1D,MAAM,IAAI,GAAG,MAAM,yBAAW,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAErF,6CAA6C;IAC7C,yBAAW,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,eAAM,CAAC,eAAe,CAC1B,GAAG,CAAC,MAAM,EACV,SAAS,EACT,yBAAyB,IAAI,CAAC,EAAE,iCAAiC,CAClE,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,gBAAM,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACtD,MAAM,GAAG,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,EAAE,uCAAuC,CAAC,CAAC;AACvF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CommandContext } from '../types';
2
+ export declare function run(ctx: CommandContext): Promise<void>;
3
+ //# sourceMappingURL=claude.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/handler/commands/claude.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI/C,wBAAsB,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB5D"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.run = run;
4
+ const taskManager_1 = require("../../runtime/taskManager");
5
+ const utils_1 = require("./utils");
6
+ async function run(ctx) {
7
+ const prompt = ctx.args.trim();
8
+ if (!prompt) {
9
+ await ctx.reply('Usage: /claudecode <prompt>\nExample: /claudecode Write a unit test');
10
+ return;
11
+ }
12
+ await ctx.reply('🤖 Running Claude Code...');
13
+ const task = await taskManager_1.taskManager.createTask(ctx.senderId, prompt, 'claude-code');
14
+ const result = await taskManager_1.taskManager.executeTask(task.id);
15
+ if (result) {
16
+ await (0, utils_1.sendResult)(result, ctx.reply);
17
+ }
18
+ }
19
+ //# sourceMappingURL=claude.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/handler/commands/claude.ts"],"names":[],"mappings":";;AAIA,kBAgBC;AAnBD,2DAAwD;AACxD,mCAAqC;AAE9B,KAAK,UAAU,GAAG,CAAC,GAAmB;IAC3C,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAE/B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACvF,OAAO;IACT,CAAC;IAED,MAAM,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAE7C,MAAM,IAAI,GAAG,MAAM,yBAAW,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAC/E,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,15 @@
1
+ import type { CommandContext } from '../types';
2
+ /**
3
+ * Execute prompt with current or specified code tool.
4
+ * Used by default message handler (no slash) and /code one-shot.
5
+ */
6
+ export declare function executePrompt(ctx: CommandContext, prompt: string, toolNameOverride?: string): Promise<void>;
7
+ /**
8
+ * /code command - switch tools or one-shot execute
9
+ *
10
+ * /code -> show current tool + list available
11
+ * /code opencode -> switch default tool
12
+ * /code claude "msg" -> one-shot execute with specified tool
13
+ */
14
+ export declare function run(ctx: CommandContext): Promise<void>;
15
+ //# sourceMappingURL=code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../../src/handler/commands/code.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAM/C;;;GAGG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,EACd,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,CAAC,CA4Cf;AAED;;;;;;GAMG;AACH,wBAAsB,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA+C5D"}