@interactive-inc/claude-funnel 0.8.1 → 0.10.1

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 (354) hide show
  1. package/README.md +179 -80
  2. package/dist/bin.js +726 -658
  3. package/dist/connector-adapter-CXB-q_XC.d.ts +11 -0
  4. package/dist/connector-adapter-D5Utumgz.js +4 -0
  5. package/dist/connectors/discord.d.ts +76 -0
  6. package/dist/connectors/discord.js +2 -0
  7. package/dist/connectors/gh.d.ts +38 -0
  8. package/dist/connectors/gh.js +2 -0
  9. package/dist/connectors/schedule.d.ts +53 -0
  10. package/dist/connectors/schedule.js +2 -0
  11. package/dist/connectors/slack.d.ts +34 -0
  12. package/dist/connectors/slack.js +2 -0
  13. package/dist/discord-connector-schema-Dww2I4zH.d.ts +14 -0
  14. package/dist/discord-connector-schema-ygf5Df-2.js +173 -0
  15. package/dist/file-system-Co60LrmR.d.ts +74 -0
  16. package/dist/gateway/daemon.js +233 -183
  17. package/dist/gh-connector-schema-2ml29MBC.js +218 -0
  18. package/dist/gh-connector-schema-BZFAS-p-.d.ts +45 -0
  19. package/dist/index.d.ts +3881 -36
  20. package/dist/index.js +6217 -3483
  21. package/dist/logger-CTlXs7z4.d.ts +33 -0
  22. package/dist/node-logger-DQz_BGOD.js +61 -0
  23. package/dist/schedule-connector-schema-CkuIQ0JQ.js +325 -0
  24. package/dist/slack-connector-schema-Cd22WiHB.js +153 -0
  25. package/dist/slack-event-processor-CS-bAit9.d.ts +43 -0
  26. package/package.json +34 -28
  27. package/dist/cli/factory.d.ts +0 -7
  28. package/dist/cli/router/query-to-cli-args.d.ts +0 -1
  29. package/dist/cli/router/to-request.d.ts +0 -5
  30. package/dist/cli/router/validator.d.ts +0 -5
  31. package/dist/cli/routes/channels.$channel.connectors.$connector.d.ts +0 -42
  32. package/dist/cli/routes/channels.$channel.connectors.$connector.rename.$newName.d.ts +0 -46
  33. package/dist/cli/routes/channels.$channel.connectors.$connector.request.d.ts +0 -54
  34. package/dist/cli/routes/channels.$channel.connectors.$connector.schedules.add.$id.d.ts +0 -66
  35. package/dist/cli/routes/channels.$channel.connectors.$connector.schedules.d.ts +0 -42
  36. package/dist/cli/routes/channels.$channel.connectors.$connector.schedules.remove.$id.d.ts +0 -46
  37. package/dist/cli/routes/channels.$channel.connectors.add.$connector.d.ts +0 -90
  38. package/dist/cli/routes/channels.$channel.connectors.d.ts +0 -38
  39. package/dist/cli/routes/channels.$channel.connectors.remove.$connector.d.ts +0 -42
  40. package/dist/cli/routes/channels.$channel.connectors.set.$connector.d.ts +0 -62
  41. package/dist/cli/routes/channels.$channel.d.ts +0 -38
  42. package/dist/cli/routes/channels.$channel.rename.$newName.d.ts +0 -42
  43. package/dist/cli/routes/channels.$channel.set.delivery.$mode.d.ts +0 -28
  44. package/dist/cli/routes/channels.add.$channel.d.ts +0 -46
  45. package/dist/cli/routes/channels.d.ts +0 -16
  46. package/dist/cli/routes/channels.remove.$channel.d.ts +0 -38
  47. package/dist/cli/routes/claude.d.ts +0 -32
  48. package/dist/cli/routes/gateway.d.ts +0 -20
  49. package/dist/cli/routes/gateway.listeners.d.ts +0 -17
  50. package/dist/cli/routes/gateway.logs.d.ts +0 -24
  51. package/dist/cli/routes/gateway.restart.d.ts +0 -24
  52. package/dist/cli/routes/gateway.run.d.ts +0 -24
  53. package/dist/cli/routes/gateway.start.d.ts +0 -24
  54. package/dist/cli/routes/gateway.status.d.ts +0 -13
  55. package/dist/cli/routes/gateway.stop.d.ts +0 -16
  56. package/dist/cli/routes/index.d.ts +0 -1222
  57. package/dist/cli/routes/profiles.$profile.as-default.d.ts +0 -38
  58. package/dist/cli/routes/profiles.$profile.rename.$newName.d.ts +0 -42
  59. package/dist/cli/routes/profiles.$profile.run.d.ts +0 -46
  60. package/dist/cli/routes/profiles.add.$profile.d.ts +0 -54
  61. package/dist/cli/routes/profiles.d.ts +0 -16
  62. package/dist/cli/routes/profiles.remove.$profile.d.ts +0 -38
  63. package/dist/cli/routes/profiles.set.$profile.d.ts +0 -54
  64. package/dist/cli/routes/status.d.ts +0 -16
  65. package/dist/cli/routes/update.d.ts +0 -16
  66. package/dist/connectors/connector-adapter.d.ts +0 -8
  67. package/dist/connectors/connector-config-schema.d.ts +0 -43
  68. package/dist/connectors/connector-factory.d.ts +0 -32
  69. package/dist/connectors/connector-listener.d.ts +0 -17
  70. package/dist/connectors/discord-adapter.d.ts +0 -14
  71. package/dist/connectors/discord-connector-schema.d.ts +0 -10
  72. package/dist/connectors/discord-event-processor.d.ts +0 -26
  73. package/dist/connectors/discord-listener.d.ts +0 -17
  74. package/dist/connectors/gh-adapter.d.ts +0 -11
  75. package/dist/connectors/gh-connector-schema.d.ts +0 -10
  76. package/dist/connectors/gh-listener.d.ts +0 -26
  77. package/dist/connectors/match-cron.d.ts +0 -1
  78. package/dist/connectors/schedule-connector-schema.d.ts +0 -45
  79. package/dist/connectors/schedule-listener.d.ts +0 -30
  80. package/dist/connectors/schedule-state-store.d.ts +0 -19
  81. package/dist/connectors/slack-adapter.d.ts +0 -15
  82. package/dist/connectors/slack-connector-schema.d.ts +0 -11
  83. package/dist/connectors/slack-event-processor.d.ts +0 -27
  84. package/dist/connectors/slack-listener.d.ts +0 -17
  85. package/dist/engine/channels/channels.d.ts +0 -106
  86. package/dist/engine/claude/claude.d.ts +0 -49
  87. package/dist/engine/claude/gateway-controller.d.ts +0 -6
  88. package/dist/engine/fs/file-system.d.ts +0 -24
  89. package/dist/engine/fs/memory-file-system.d.ts +0 -31
  90. package/dist/engine/fs/node-file-system.d.ts +0 -15
  91. package/dist/engine/http/http-client.d.ts +0 -15
  92. package/dist/engine/http/memory-http-client.d.ts +0 -12
  93. package/dist/engine/http/node-http-client.d.ts +0 -5
  94. package/dist/engine/id/id-generator.d.ts +0 -7
  95. package/dist/engine/id/memory-id-generator.d.ts +0 -11
  96. package/dist/engine/id/node-id-generator.d.ts +0 -4
  97. package/dist/engine/logger/logger.d.ts +0 -11
  98. package/dist/engine/logger/memory-logger.d.ts +0 -14
  99. package/dist/engine/logger/node-logger.d.ts +0 -15
  100. package/dist/engine/logger/noop-logger.d.ts +0 -7
  101. package/dist/engine/mcp/channel-server.d.ts +0 -1
  102. package/dist/engine/mcp/mcp.d.ts +0 -22
  103. package/dist/engine/process/memory-process-runner.d.ts +0 -43
  104. package/dist/engine/process/node-process-runner.d.ts +0 -9
  105. package/dist/engine/process/process-runner.d.ts +0 -29
  106. package/dist/engine/profiles/profile-channel-checker.d.ts +0 -7
  107. package/dist/engine/profiles/profiles.d.ts +0 -31
  108. package/dist/engine/settings/mock-settings-reader.d.ts +0 -9
  109. package/dist/engine/settings/settings-reader.d.ts +0 -5
  110. package/dist/engine/settings/settings-schema.d.ts +0 -132
  111. package/dist/engine/settings/settings-store.d.ts +0 -18
  112. package/dist/engine/time/clock.d.ts +0 -9
  113. package/dist/engine/time/memory-clock.d.ts +0 -12
  114. package/dist/engine/time/node-clock.d.ts +0 -4
  115. package/dist/funnel.d.ts +0 -95
  116. package/dist/gateway/auth-middleware.d.ts +0 -14
  117. package/dist/gateway/broadcaster.d.ts +0 -122
  118. package/dist/gateway/daemon.d.ts +0 -2
  119. package/dist/gateway/factory.d.ts +0 -7
  120. package/dist/gateway/funnel-event-store.d.ts +0 -81
  121. package/dist/gateway/gateway-server.d.ts +0 -94
  122. package/dist/gateway/gateway-token.d.ts +0 -33
  123. package/dist/gateway/gateway.d.ts +0 -58
  124. package/dist/gateway/kill-competing-slack-gateways.d.ts +0 -9
  125. package/dist/gateway/listener-supervisor.d.ts +0 -85
  126. package/dist/gateway/listeners-client.d.ts +0 -53
  127. package/dist/gateway/resolve-daemon-script.d.ts +0 -11
  128. package/dist/gateway/routes/channels.connectors.call.d.ts +0 -41
  129. package/dist/gateway/routes/health.d.ts +0 -17
  130. package/dist/gateway/routes/index.d.ts +0 -209
  131. package/dist/gateway/routes/listeners.list.d.ts +0 -14
  132. package/dist/gateway/routes/listeners.restart.d.ts +0 -34
  133. package/dist/gateway/routes/listeners.start.d.ts +0 -34
  134. package/dist/gateway/routes/listeners.stop.d.ts +0 -34
  135. package/dist/gateway/routes/route-deps.d.ts +0 -10
  136. package/dist/gateway/routes/status.d.ts +0 -30
  137. package/dist/gateway/routes/validator.d.ts +0 -19
  138. package/dist/logger/leuco-human-file-writer.d.ts +0 -33
  139. package/dist/logger/leuco-human-logger.d.ts +0 -46
  140. package/dist/logger/leuco-human-record.d.ts +0 -15
  141. package/dist/logger/leuco-human-stdout-writer.d.ts +0 -20
  142. package/dist/logger/leuco-human-writer.d.ts +0 -13
  143. package/dist/logger/leuco-logger-memory-sink.d.ts +0 -33
  144. package/dist/logger/leuco-logger-record.d.ts +0 -13
  145. package/dist/logger/leuco-logger-sink.d.ts +0 -34
  146. package/dist/logger/leuco-logger-sqlite-sink.d.ts +0 -102
  147. package/dist/logger/leuco-logger.d.ts +0 -56
  148. package/lib/bin.ts +0 -78
  149. package/lib/cli/factory.ts +0 -10
  150. package/lib/cli/router/query-to-cli-args.ts +0 -20
  151. package/lib/cli/router/to-request.ts +0 -112
  152. package/lib/cli/router/validator.ts +0 -27
  153. package/lib/cli/routes/channels.$channel.connectors.$connector.rename.$newName.ts +0 -27
  154. package/lib/cli/routes/channels.$channel.connectors.$connector.request.ts +0 -40
  155. package/lib/cli/routes/channels.$channel.connectors.$connector.schedules.add.$id.ts +0 -41
  156. package/lib/cli/routes/channels.$channel.connectors.$connector.schedules.remove.$id.ts +0 -22
  157. package/lib/cli/routes/channels.$channel.connectors.$connector.schedules.ts +0 -23
  158. package/lib/cli/routes/channels.$channel.connectors.$connector.ts +0 -26
  159. package/lib/cli/routes/channels.$channel.connectors.add.$connector.ts +0 -92
  160. package/lib/cli/routes/channels.$channel.connectors.remove.$connector.ts +0 -22
  161. package/lib/cli/routes/channels.$channel.connectors.set.$connector.ts +0 -63
  162. package/lib/cli/routes/channels.$channel.connectors.ts +0 -26
  163. package/lib/cli/routes/channels.$channel.rename.$newName.ts +0 -22
  164. package/lib/cli/routes/channels.$channel.set.delivery.$mode.ts +0 -34
  165. package/lib/cli/routes/channels.$channel.ts +0 -34
  166. package/lib/cli/routes/channels.add.$channel.ts +0 -33
  167. package/lib/cli/routes/channels.remove.$channel.ts +0 -20
  168. package/lib/cli/routes/channels.ts +0 -39
  169. package/lib/cli/routes/claude.ts +0 -69
  170. package/lib/cli/routes/gateway.listeners.ts +0 -41
  171. package/lib/cli/routes/gateway.logs.ts +0 -123
  172. package/lib/cli/routes/gateway.restart.ts +0 -50
  173. package/lib/cli/routes/gateway.run.ts +0 -41
  174. package/lib/cli/routes/gateway.start.ts +0 -50
  175. package/lib/cli/routes/gateway.status.ts +0 -19
  176. package/lib/cli/routes/gateway.stop.ts +0 -32
  177. package/lib/cli/routes/gateway.ts +0 -55
  178. package/lib/cli/routes/index.ts +0 -202
  179. package/lib/cli/routes/profiles.$profile.as-default.ts +0 -22
  180. package/lib/cli/routes/profiles.$profile.rename.$newName.ts +0 -22
  181. package/lib/cli/routes/profiles.$profile.run.ts +0 -36
  182. package/lib/cli/routes/profiles.add.$profile.ts +0 -46
  183. package/lib/cli/routes/profiles.remove.$profile.ts +0 -20
  184. package/lib/cli/routes/profiles.set.$profile.ts +0 -46
  185. package/lib/cli/routes/profiles.ts +0 -40
  186. package/lib/cli/routes/status.ts +0 -93
  187. package/lib/cli/routes/update.ts +0 -27
  188. package/lib/connectors/connector-adapter.ts +0 -9
  189. package/lib/connectors/connector-config-schema.ts +0 -16
  190. package/lib/connectors/connector-factory.ts +0 -94
  191. package/lib/connectors/connector-listener.ts +0 -20
  192. package/lib/connectors/discord-adapter.ts +0 -51
  193. package/lib/connectors/discord-connector-schema.ts +0 -12
  194. package/lib/connectors/discord-event-processor.ts +0 -48
  195. package/lib/connectors/discord-listener.ts +0 -111
  196. package/lib/connectors/gh-adapter.ts +0 -48
  197. package/lib/connectors/gh-connector-schema.ts +0 -12
  198. package/lib/connectors/gh-listener.ts +0 -137
  199. package/lib/connectors/match-cron.ts +0 -78
  200. package/lib/connectors/schedule-connector-schema.ts +0 -33
  201. package/lib/connectors/schedule-listener.ts +0 -207
  202. package/lib/connectors/schedule-state-store.ts +0 -54
  203. package/lib/connectors/slack-adapter.ts +0 -36
  204. package/lib/connectors/slack-connector-schema.ts +0 -13
  205. package/lib/connectors/slack-event-processor.ts +0 -97
  206. package/lib/connectors/slack-listener.ts +0 -97
  207. package/lib/engine/channels/channels.ts +0 -520
  208. package/lib/engine/claude/claude.ts +0 -199
  209. package/lib/engine/claude/gateway-controller.ts +0 -4
  210. package/lib/engine/fs/file-system.ts +0 -23
  211. package/lib/engine/fs/memory-file-system.ts +0 -102
  212. package/lib/engine/fs/node-file-system.ts +0 -68
  213. package/lib/engine/http/http-client.ts +0 -17
  214. package/lib/engine/http/memory-http-client.ts +0 -36
  215. package/lib/engine/http/node-http-client.ts +0 -23
  216. package/lib/engine/id/id-generator.ts +0 -7
  217. package/lib/engine/id/memory-id-generator.ts +0 -20
  218. package/lib/engine/id/node-id-generator.ts +0 -7
  219. package/lib/engine/logger/logger.ts +0 -11
  220. package/lib/engine/logger/memory-logger.ts +0 -28
  221. package/lib/engine/logger/node-logger.ts +0 -49
  222. package/lib/engine/logger/noop-logger.ts +0 -9
  223. package/lib/engine/mcp/channel-server.ts +0 -204
  224. package/lib/engine/mcp/mcp.ts +0 -126
  225. package/lib/engine/process/memory-process-runner.ts +0 -88
  226. package/lib/engine/process/node-process-runner.ts +0 -91
  227. package/lib/engine/process/process-runner.ts +0 -33
  228. package/lib/engine/profiles/profile-channel-checker.ts +0 -7
  229. package/lib/engine/profiles/profiles.ts +0 -126
  230. package/lib/engine/settings/mock-settings-reader.ts +0 -27
  231. package/lib/engine/settings/settings-reader.ts +0 -6
  232. package/lib/engine/settings/settings-schema.ts +0 -46
  233. package/lib/engine/settings/settings-store.ts +0 -110
  234. package/lib/engine/time/clock.ts +0 -15
  235. package/lib/engine/time/memory-clock.ts +0 -26
  236. package/lib/engine/time/node-clock.ts +0 -7
  237. package/lib/funnel.ts +0 -187
  238. package/lib/gateway/auth-middleware.ts +0 -44
  239. package/lib/gateway/broadcaster.ts +0 -319
  240. package/lib/gateway/daemon.ts +0 -47
  241. package/lib/gateway/factory.ts +0 -10
  242. package/lib/gateway/funnel-event-store.ts +0 -155
  243. package/lib/gateway/gateway-server.ts +0 -414
  244. package/lib/gateway/gateway-token.ts +0 -79
  245. package/lib/gateway/gateway.ts +0 -209
  246. package/lib/gateway/kill-competing-slack-gateways.ts +0 -56
  247. package/lib/gateway/listener-supervisor.ts +0 -339
  248. package/lib/gateway/listeners-client.ts +0 -128
  249. package/lib/gateway/resolve-daemon-script.ts +0 -26
  250. package/lib/gateway/routes/channels.connectors.call.ts +0 -39
  251. package/lib/gateway/routes/health.ts +0 -13
  252. package/lib/gateway/routes/index.ts +0 -24
  253. package/lib/gateway/routes/listeners.list.ts +0 -6
  254. package/lib/gateway/routes/listeners.restart.ts +0 -15
  255. package/lib/gateway/routes/listeners.start.ts +0 -15
  256. package/lib/gateway/routes/listeners.stop.ts +0 -15
  257. package/lib/gateway/routes/route-deps.ts +0 -11
  258. package/lib/gateway/routes/status.ts +0 -15
  259. package/lib/gateway/routes/validator.ts +0 -17
  260. package/lib/index.ts +0 -52
  261. package/lib/logger/leuco-human-file-writer.ts +0 -65
  262. package/lib/logger/leuco-human-logger.ts +0 -98
  263. package/lib/logger/leuco-human-record.ts +0 -16
  264. package/lib/logger/leuco-human-stdout-writer.ts +0 -26
  265. package/lib/logger/leuco-human-writer.ts +0 -14
  266. package/lib/logger/leuco-logger-memory-sink.ts +0 -67
  267. package/lib/logger/leuco-logger-record.ts +0 -13
  268. package/lib/logger/leuco-logger-sink.ts +0 -33
  269. package/lib/logger/leuco-logger-sqlite-sink.ts +0 -355
  270. package/lib/logger/leuco-logger.ts +0 -135
  271. package/lib/tui/app.tsx +0 -357
  272. package/lib/tui/components/add-row.tsx +0 -18
  273. package/lib/tui/components/brand.tsx +0 -27
  274. package/lib/tui/components/card.tsx +0 -44
  275. package/lib/tui/components/detail-bar.tsx +0 -46
  276. package/lib/tui/components/editable-field.tsx +0 -33
  277. package/lib/tui/components/empty-state.tsx +0 -11
  278. package/lib/tui/components/gateway-status.tsx +0 -66
  279. package/lib/tui/components/keymap.tsx +0 -29
  280. package/lib/tui/components/menu-item.tsx +0 -73
  281. package/lib/tui/components/menu.tsx +0 -26
  282. package/lib/tui/components/panel-header.tsx +0 -22
  283. package/lib/tui/components/readonly-field.tsx +0 -18
  284. package/lib/tui/components/section-header.tsx +0 -25
  285. package/lib/tui/components/selection-accent.tsx +0 -32
  286. package/lib/tui/components/session-item.tsx +0 -33
  287. package/lib/tui/components/session-list.tsx +0 -33
  288. package/lib/tui/components/ui/hascii/accordion-item.tsx +0 -88
  289. package/lib/tui/components/ui/hascii/accordion.tsx +0 -96
  290. package/lib/tui/components/ui/hascii/alert-dialog.tsx +0 -43
  291. package/lib/tui/components/ui/hascii/badge.tsx +0 -51
  292. package/lib/tui/components/ui/hascii/breadcrumb.tsx +0 -58
  293. package/lib/tui/components/ui/hascii/button.tsx +0 -194
  294. package/lib/tui/components/ui/hascii/card-content.tsx +0 -14
  295. package/lib/tui/components/ui/hascii/card-description.tsx +0 -13
  296. package/lib/tui/components/ui/hascii/card-footer.tsx +0 -14
  297. package/lib/tui/components/ui/hascii/card-header.tsx +0 -14
  298. package/lib/tui/components/ui/hascii/card-title.tsx +0 -13
  299. package/lib/tui/components/ui/hascii/card.tsx +0 -27
  300. package/lib/tui/components/ui/hascii/checkbox.tsx +0 -65
  301. package/lib/tui/components/ui/hascii/command.tsx +0 -159
  302. package/lib/tui/components/ui/hascii/dialog-content.tsx +0 -14
  303. package/lib/tui/components/ui/hascii/dialog-description.tsx +0 -13
  304. package/lib/tui/components/ui/hascii/dialog-footer.tsx +0 -14
  305. package/lib/tui/components/ui/hascii/dialog-header.tsx +0 -14
  306. package/lib/tui/components/ui/hascii/dialog-title.tsx +0 -13
  307. package/lib/tui/components/ui/hascii/dialog.tsx +0 -27
  308. package/lib/tui/components/ui/hascii/file-tree.tsx +0 -142
  309. package/lib/tui/components/ui/hascii/focus-group.tsx +0 -62
  310. package/lib/tui/components/ui/hascii/form-item.tsx +0 -43
  311. package/lib/tui/components/ui/hascii/input-otp.tsx +0 -86
  312. package/lib/tui/components/ui/hascii/input.tsx +0 -130
  313. package/lib/tui/components/ui/hascii/pagination.tsx +0 -105
  314. package/lib/tui/components/ui/hascii/progress.tsx +0 -28
  315. package/lib/tui/components/ui/hascii/select.tsx +0 -131
  316. package/lib/tui/components/ui/hascii/separator.tsx +0 -35
  317. package/lib/tui/components/ui/hascii/sidebar-content.tsx +0 -23
  318. package/lib/tui/components/ui/hascii/sidebar-header.tsx +0 -14
  319. package/lib/tui/components/ui/hascii/sidebar-menu-item.tsx +0 -67
  320. package/lib/tui/components/ui/hascii/sidebar.tsx +0 -24
  321. package/lib/tui/components/ui/hascii/skeleton.tsx +0 -60
  322. package/lib/tui/components/ui/hascii/slider.tsx +0 -91
  323. package/lib/tui/components/ui/hascii/snackbar.tsx +0 -75
  324. package/lib/tui/components/ui/hascii/sparkline.tsx +0 -53
  325. package/lib/tui/components/ui/hascii/spinner.tsx +0 -47
  326. package/lib/tui/components/ui/hascii/stepper.tsx +0 -54
  327. package/lib/tui/components/ui/hascii/switch.tsx +0 -66
  328. package/lib/tui/components/ui/hascii/table.tsx +0 -95
  329. package/lib/tui/components/ui/hascii/tabs.tsx +0 -59
  330. package/lib/tui/components/ui/hascii/toggle-group-item.tsx +0 -45
  331. package/lib/tui/components/ui/hascii/toggle-group.tsx +0 -99
  332. package/lib/tui/components/ui/hascii/tree.tsx +0 -104
  333. package/lib/tui/components/view-shell.tsx +0 -44
  334. package/lib/tui/filter-input.tsx +0 -33
  335. package/lib/tui/hooks/hascii/use-pressable.ts +0 -54
  336. package/lib/tui/parse-comma-list.ts +0 -14
  337. package/lib/tui/profile-launcher.tsx +0 -61
  338. package/lib/tui/scrollbar-options.ts +0 -19
  339. package/lib/tui/sidebar.tsx +0 -50
  340. package/lib/tui/theme.ts +0 -40
  341. package/lib/tui/tui.tsx +0 -20
  342. package/lib/tui/types.ts +0 -38
  343. package/lib/tui/unique-name.ts +0 -18
  344. package/lib/tui/use-event-stream.ts +0 -133
  345. package/lib/tui/use-snapshot.ts +0 -99
  346. package/lib/tui/utils/hascii/form-item-context.tsx +0 -23
  347. package/lib/tui/utils/hascii/input-focus-context.tsx +0 -31
  348. package/lib/tui/utils/hascii/theme-context.tsx +0 -26
  349. package/lib/tui/utils/hascii/theme.ts +0 -176
  350. package/lib/tui/views/channels-view.tsx +0 -108
  351. package/lib/tui/views/connectors-view.tsx +0 -164
  352. package/lib/tui/views/events-view.tsx +0 -160
  353. package/lib/tui/views/listeners-view.tsx +0 -80
  354. package/lib/tui/views/profiles-view.tsx +0 -152
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@interactive-inc/claude-funnel",
3
- "version": "0.8.1",
3
+ "version": "0.10.1",
4
4
  "description": "Hub CLI that routes external events (Slack / GitHub / Discord) to Claude Code agents through subscription channels over MCP.",
5
5
  "keywords": [
6
6
  "bun",
@@ -27,23 +27,10 @@
27
27
  "funnel": "./dist/bin.js"
28
28
  },
29
29
  "files": [
30
- "lib/**/*.ts",
31
- "lib/**/*.tsx",
32
- "!lib/**/*.test.ts",
33
- "!lib/**/*.test.tsx",
34
- "!lib/**/*.bun-test.ts",
35
30
  "dist/**/*",
36
31
  "README.md",
37
32
  "LICENSE"
38
33
  ],
39
- "scripts": {
40
- "build": "bun run build:lib && bun run build:bin && bun run build:types && bun run build:resolve-aliases",
41
- "build:lib": "bun scripts/build-lib.ts",
42
- "build:bin": "bun build lib/bin.ts lib/gateway/daemon.ts --target=bun --outdir dist --minify",
43
- "build:types": "tsc -p tsconfig.build.json",
44
- "build:resolve-aliases": "bun scripts/resolve-d-ts-aliases.ts",
45
- "prepare": "bun run build"
46
- },
47
34
  "type": "module",
48
35
  "main": "./dist/index.js",
49
36
  "module": "./dist/index.js",
@@ -51,10 +38,29 @@
51
38
  "exports": {
52
39
  ".": {
53
40
  "types": "./dist/index.d.ts",
54
- "bun": "./dist/index.js",
55
41
  "import": "./dist/index.js",
56
42
  "default": "./dist/index.js"
57
43
  },
44
+ "./connectors/slack": {
45
+ "types": "./dist/connectors/slack.d.ts",
46
+ "import": "./dist/connectors/slack.js",
47
+ "default": "./dist/connectors/slack.js"
48
+ },
49
+ "./connectors/discord": {
50
+ "types": "./dist/connectors/discord.d.ts",
51
+ "import": "./dist/connectors/discord.js",
52
+ "default": "./dist/connectors/discord.js"
53
+ },
54
+ "./connectors/gh": {
55
+ "types": "./dist/connectors/gh.d.ts",
56
+ "import": "./dist/connectors/gh.js",
57
+ "default": "./dist/connectors/gh.js"
58
+ },
59
+ "./connectors/schedule": {
60
+ "types": "./dist/connectors/schedule.d.ts",
61
+ "import": "./dist/connectors/schedule.js",
62
+ "default": "./dist/connectors/schedule.js"
63
+ },
58
64
  "./bin": "./dist/bin.js",
59
65
  "./package.json": "./package.json"
60
66
  },
@@ -62,24 +68,24 @@
62
68
  "access": "public"
63
69
  },
64
70
  "dependencies": {
65
- "@hono/zod-validator": "^0.7.6",
71
+ "@hono/zod-validator": "^0.8.0",
66
72
  "@modelcontextprotocol/sdk": "^1.29.0",
67
- "@opentui/core": "^0.2.2",
68
- "@opentui/react": "^0.2.2",
73
+ "@opentui/core": "^0.2.12",
74
+ "@opentui/react": "^0.2.12",
69
75
  "@slack/bolt": "^4.7.2",
70
- "@slack/web-api": "^7.15.1",
71
- "@types/react": "^19.2.14",
76
+ "@slack/web-api": "^7.16.0",
72
77
  "discord.js": "^14.26.4",
73
- "hono": "^4.12.16",
74
- "react": "^19.2.5",
75
- "yaml": "^2.8.4",
76
- "zod": "^4.4.2"
78
+ "hono": "^4.12.19",
79
+ "react": "^19.2.6",
80
+ "yaml": "^2.9.0",
81
+ "zod": "^4.4.3"
77
82
  },
78
83
  "devDependencies": {
79
- "@types/bun": "^1.3.13",
80
- "@typescript/native-preview": "^7.0.0-dev.20260503.1",
81
- "vite-plus": "^0.1.20",
82
- "vitest": "^4.1.5"
84
+ "@types/bun": "^1.3.14",
85
+ "@types/react": "^19.2.14",
86
+ "@typescript/native-preview": "^7.0.0-dev.20260516.1",
87
+ "vite-plus": "^0.1.21",
88
+ "vitest": "^4.1.6"
83
89
  },
84
90
  "engines": {
85
91
  "bun": ">=1.3.0"
@@ -1,7 +0,0 @@
1
- import type { Funnel } from "../funnel";
2
- export type Env = {
3
- Variables: {
4
- funnel: Funnel;
5
- };
6
- };
7
- export declare const factory: import("hono/factory").Factory<Env, string>;
@@ -1 +0,0 @@
1
- export declare const queryToCliArgs: (url: string, reservedKeys?: string[]) => string[];
@@ -1,5 +0,0 @@
1
- export declare const toRequest: (args: string[]) => {
2
- method: string;
3
- path: string;
4
- url: string;
5
- };
@@ -1,5 +0,0 @@
1
- import type { ZodType } from "zod";
2
- export declare const zValidator: <Target extends "param" | "query" | "json", T extends ZodType>(target: Target, schema: T, helpText?: string) => import("hono").MiddlewareHandler<import("hono").Env, string, {
3
- in: (undefined extends (T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod").input<T> : never) ? true : false) extends true ? { [K in Target]?: ([T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod").input<T> : never] extends [import("hono").ValidationTargets[K]] ? import("hono").ValidationTargets[K] & (T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod").input<T> : never) : [Exclude<T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod").input<T> : never, undefined>] extends [never] ? {} : [Exclude<T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod").input<T> : never, undefined>] extends [object] ? undefined extends (T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod").input<T> : never) ? ((T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod").input<T> : never) & undefined) | (((Exclude<T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod").input<T> : never, (T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod").input<T> : never) & undefined> extends infer T_3 ? { [K_4 in keyof T_3]: ([Exclude<T_3[K_4], undefined>] extends [string] ? [string & Exclude<T_3[K_4], undefined>] extends [import("hono/utils/types").UnionToIntersection<string & Exclude<T_3[K_4], undefined>>] ? false : true : false) extends true ? T_3[K_4] : ([unknown] extends [T_3[K_4]] ? false : undefined extends T_3[K_4] ? true : false) extends true ? T_3[K_4] : Target_1 extends "form" ? T$1 | T$1[] : Target_1 extends "query" ? string | string[] : Target_1 extends "param" ? string : Target_1 extends "header" ? string : Target_1 extends "cookie" ? string : unknown; } : never) extends infer T_2 ? { [K_3 in keyof T_2]: T_2[K_3]; } : never) extends infer T_1 ? { [K_2 in keyof T_1]: T_1[K_2]; } : never) : (((T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod").input<T> : never) extends infer T_6 ? { [K_7 in keyof T_6]: ([Exclude<T_6[K_7], undefined>] extends [string] ? [string & Exclude<T_6[K_7], undefined>] extends [import("hono/utils/types").UnionToIntersection<string & Exclude<T_6[K_7], undefined>>] ? false : true : false) extends true ? T_6[K_7] : ([unknown] extends [T_6[K_7]] ? false : undefined extends T_6[K_7] ? true : false) extends true ? T_6[K_7] : Target_1 extends "form" ? T$1 | T$1[] : Target_1 extends "query" ? string | string[] : Target_1 extends "param" ? string : Target_1 extends "header" ? string : Target_1 extends "cookie" ? string : unknown; } : never) extends infer T_5 ? { [K_6 in keyof T_5]: T_5[K_6]; } : never) extends infer T_4 ? { [K_5 in keyof T_4]: T_4[K_5]; } : never : {}) | undefined; } : { [K_1 in Target]: [T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod").input<T> : never] extends [import("hono").ValidationTargets[K_1]] ? import("hono").ValidationTargets[K_1] & (T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod").input<T> : never) : [Exclude<T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod").input<T> : never, undefined>] extends [never] ? {} : [Exclude<T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod").input<T> : never, undefined>] extends [object] ? undefined extends (T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod").input<T> : never) ? ((T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod").input<T> : never) & undefined) | (((Exclude<T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod").input<T> : never, (T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod").input<T> : never) & undefined> extends infer T_3 ? { [K_5 in keyof T_3]: ([Exclude<T_3[K_5], undefined>] extends [string] ? [string & Exclude<T_3[K_5], undefined>] extends [import("hono/utils/types").UnionToIntersection<string & Exclude<T_3[K_5], undefined>>] ? false : true : false) extends true ? T_3[K_5] : ([unknown] extends [T_3[K_5]] ? false : undefined extends T_3[K_5] ? true : false) extends true ? T_3[K_5] : Target_1 extends "form" ? T$1 | T$1[] : Target_1 extends "query" ? string | string[] : Target_1 extends "param" ? string : Target_1 extends "header" ? string : Target_1 extends "cookie" ? string : unknown; } : never) extends infer T_2 ? { [K_4 in keyof T_2]: T_2[K_4]; } : never) extends infer T_1 ? { [K_3 in keyof T_1]: T_1[K_3]; } : never) : (((T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod").input<T> : never) extends infer T_6 ? { [K_8 in keyof T_6]: ([Exclude<T_6[K_8], undefined>] extends [string] ? [string & Exclude<T_6[K_8], undefined>] extends [import("hono/utils/types").UnionToIntersection<string & Exclude<T_6[K_8], undefined>>] ? false : true : false) extends true ? T_6[K_8] : ([unknown] extends [T_6[K_8]] ? false : undefined extends T_6[K_8] ? true : false) extends true ? T_6[K_8] : Target_1 extends "form" ? T$1 | T$1[] : Target_1 extends "query" ? string | string[] : Target_1 extends "param" ? string : Target_1 extends "header" ? string : Target_1 extends "cookie" ? string : unknown; } : never) extends infer T_5 ? { [K_7 in keyof T_5]: T_5[K_7]; } : never) extends infer T_4 ? { [K_6 in keyof T_4]: T_4[K_6]; } : never : {}; };
4
- out: { [K_2 in Target]: T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").output<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod").infer<T> : never; };
5
- }, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>;
@@ -1,42 +0,0 @@
1
- export declare const showHelp = "funnel channels <channel> connectors show <connector> \u2014 show connector config\n\nusage: funnel channels <channel> connectors show <connector>";
2
- export declare const channelsConnectorsShowHandler: [import("hono/types").H<import("hono").Env, string, {
3
- in: {
4
- param: {
5
- channel: string;
6
- connector: string;
7
- };
8
- };
9
- out: {
10
- param: {
11
- channel: string;
12
- connector: string;
13
- };
14
- };
15
- }, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("hono").Env, string, {
16
- in: {
17
- query: Record<string, never>;
18
- };
19
- out: {
20
- query: Record<string, never>;
21
- };
22
- }, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("../factory").Env, string, {
23
- in: {
24
- param: {
25
- channel: string;
26
- connector: string;
27
- };
28
- };
29
- out: {
30
- param: {
31
- channel: string;
32
- connector: string;
33
- };
34
- };
35
- } & {
36
- in: {
37
- query: Record<string, never>;
38
- };
39
- out: {
40
- query: Record<string, never>;
41
- };
42
- }, Response & import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>];
@@ -1,46 +0,0 @@
1
- export declare const renameHelp = "funnel channels <channel> connectors rename <connector> <new-name>\n\nusage: funnel channels <channel> connectors rename <connector> <new-name>";
2
- export declare const channelsConnectorsRenameHandler: [import("hono/types").H<import("hono").Env, string, {
3
- in: {
4
- param: {
5
- channel: string;
6
- connector: string;
7
- newName: string;
8
- };
9
- };
10
- out: {
11
- param: {
12
- channel: string;
13
- connector: string;
14
- newName: string;
15
- };
16
- };
17
- }, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("hono").Env, string, {
18
- in: {
19
- query: Record<string, never>;
20
- };
21
- out: {
22
- query: Record<string, never>;
23
- };
24
- }, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("../factory").Env, string, {
25
- in: {
26
- param: {
27
- channel: string;
28
- connector: string;
29
- newName: string;
30
- };
31
- };
32
- out: {
33
- param: {
34
- channel: string;
35
- connector: string;
36
- newName: string;
37
- };
38
- };
39
- } & {
40
- in: {
41
- query: Record<string, never>;
42
- };
43
- out: {
44
- query: Record<string, never>;
45
- };
46
- }, Promise<Response & import("hono").TypedResponse<`renamed connector "${string}" to "${string}"`, import("hono/utils/http-status").ContentfulStatusCode, "text">>>];
@@ -1,54 +0,0 @@
1
- export declare const requestHelp = "funnel channels <channel> connectors <connector> request \u2014 call a connector's outbound API\n\nusage: funnel channels <channel> connectors <connector> request --method=<api.method> [--key=value ...]";
2
- export declare const channelsConnectorsRequestHandler: [import("hono/types").H<import("hono").Env, string, {
3
- in: {
4
- param: {
5
- channel: string;
6
- connector: string;
7
- };
8
- };
9
- out: {
10
- param: {
11
- channel: string;
12
- connector: string;
13
- };
14
- };
15
- }, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("hono").Env, string, {
16
- in: {
17
- query: {
18
- [x: string]: string | string[];
19
- method: string | string[];
20
- };
21
- };
22
- out: {
23
- query: {
24
- [x: string]: unknown;
25
- method: string;
26
- };
27
- };
28
- }, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("../factory").Env, string, {
29
- in: {
30
- param: {
31
- channel: string;
32
- connector: string;
33
- };
34
- };
35
- out: {
36
- param: {
37
- channel: string;
38
- connector: string;
39
- };
40
- };
41
- } & {
42
- in: {
43
- query: {
44
- [x: string]: string | string[];
45
- method: string | string[];
46
- };
47
- };
48
- out: {
49
- query: {
50
- [x: string]: unknown;
51
- method: string;
52
- };
53
- };
54
- }, Promise<Response & import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>>];
@@ -1,66 +0,0 @@
1
- export declare const addHelp = "funnel channels <ch> connectors <conn> schedules add <id> \u2014 add a schedule entry\n\nusage: funnel channels <ch> connectors <conn> schedules add <id> --cron=\"*/5 * * * *\" --prompt=\"...\" [--enabled=true] [--catchup-policy=latest|all|skip]";
2
- export declare const channelsConnectorsSchedulesAddHandler: [import("hono/types").H<import("hono").Env, string, {
3
- in: {
4
- param: {
5
- channel: string;
6
- connector: string;
7
- id: string;
8
- };
9
- };
10
- out: {
11
- param: {
12
- channel: string;
13
- connector: string;
14
- id: string;
15
- };
16
- };
17
- }, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("hono").Env, string, {
18
- in: {
19
- query: {
20
- cron: string | string[];
21
- prompt: string | string[];
22
- enabled?: string | string[] | undefined;
23
- "catchup-policy"?: "latest" | "all" | "skip" | undefined;
24
- };
25
- };
26
- out: {
27
- query: {
28
- cron: string;
29
- prompt: string;
30
- enabled?: boolean | undefined;
31
- "catchup-policy"?: "latest" | "all" | "skip" | undefined;
32
- };
33
- };
34
- }, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("../factory").Env, string, {
35
- in: {
36
- param: {
37
- channel: string;
38
- connector: string;
39
- id: string;
40
- };
41
- };
42
- out: {
43
- param: {
44
- channel: string;
45
- connector: string;
46
- id: string;
47
- };
48
- };
49
- } & {
50
- in: {
51
- query: {
52
- cron: string | string[];
53
- prompt: string | string[];
54
- enabled?: string | string[] | undefined;
55
- "catchup-policy"?: "latest" | "all" | "skip" | undefined;
56
- };
57
- };
58
- out: {
59
- query: {
60
- cron: string;
61
- prompt: string;
62
- enabled?: boolean | undefined;
63
- "catchup-policy"?: "latest" | "all" | "skip" | undefined;
64
- };
65
- };
66
- }, Promise<Response & import("hono").TypedResponse<`added schedule entry "${string}"`, import("hono/utils/http-status").ContentfulStatusCode, "text">>>];
@@ -1,42 +0,0 @@
1
- export declare const groupHelp = "funnel channels <ch> connectors <conn> schedules \u2014 list schedule entries\n\nusage: funnel channels <ch> connectors <conn> schedules";
2
- export declare const channelsConnectorsSchedulesGroupHandler: [import("hono/types").H<import("hono").Env, string, {
3
- in: {
4
- param: {
5
- channel: string;
6
- connector: string;
7
- };
8
- };
9
- out: {
10
- param: {
11
- channel: string;
12
- connector: string;
13
- };
14
- };
15
- }, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("hono").Env, string, {
16
- in: {
17
- query: Record<string, never>;
18
- };
19
- out: {
20
- query: Record<string, never>;
21
- };
22
- }, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("../factory").Env, string, {
23
- in: {
24
- param: {
25
- channel: string;
26
- connector: string;
27
- };
28
- };
29
- out: {
30
- param: {
31
- channel: string;
32
- connector: string;
33
- };
34
- };
35
- } & {
36
- in: {
37
- query: Record<string, never>;
38
- };
39
- out: {
40
- query: Record<string, never>;
41
- };
42
- }, Response & import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>];
@@ -1,46 +0,0 @@
1
- export declare const removeHelp = "funnel channels <ch> connectors <conn> schedules remove <id>\n\nusage: funnel channels <ch> connectors <conn> schedules remove <id>";
2
- export declare const channelsConnectorsSchedulesRemoveHandler: [import("hono/types").H<import("hono").Env, string, {
3
- in: {
4
- param: {
5
- channel: string;
6
- connector: string;
7
- id: string;
8
- };
9
- };
10
- out: {
11
- param: {
12
- channel: string;
13
- connector: string;
14
- id: string;
15
- };
16
- };
17
- }, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("hono").Env, string, {
18
- in: {
19
- query: Record<string, never>;
20
- };
21
- out: {
22
- query: Record<string, never>;
23
- };
24
- }, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("../factory").Env, string, {
25
- in: {
26
- param: {
27
- channel: string;
28
- connector: string;
29
- id: string;
30
- };
31
- };
32
- out: {
33
- param: {
34
- channel: string;
35
- connector: string;
36
- id: string;
37
- };
38
- };
39
- } & {
40
- in: {
41
- query: Record<string, never>;
42
- };
43
- out: {
44
- query: Record<string, never>;
45
- };
46
- }, Promise<Response & import("hono").TypedResponse<`removed schedule entry "${string}"`, import("hono/utils/http-status").ContentfulStatusCode, "text">>>];
@@ -1,90 +0,0 @@
1
- export declare const addHelp = "funnel channels <channel> connectors add <connector> \u2014 add a connector to a channel\n\nusage:\n funnel channels <channel> connectors add <connector> --type=slack --bot-token=xoxb-... --app-token=xapp-...\n funnel channels <channel> connectors add <connector> --type=gh [--poll-interval=60]\n funnel channels <channel> connectors add <connector> --type=discord --bot-token=...\n funnel channels <channel> connectors add <connector> --type=schedule\n\nToken uniqueness is enforced across all channels.";
2
- export declare const channelsConnectorsAddHandler: [import("hono/types").H<import("hono").Env, string, {
3
- in: {
4
- param: {
5
- channel: string;
6
- connector: string;
7
- };
8
- };
9
- out: {
10
- param: {
11
- channel: string;
12
- connector: string;
13
- };
14
- };
15
- }, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("hono").Env, string, {
16
- in: {
17
- query: {
18
- type: string | string[];
19
- "bot-token": string | string[];
20
- "app-token": string | string[];
21
- } | {
22
- type: string | string[];
23
- "poll-interval"?: string | string[] | undefined;
24
- } | {
25
- type: string | string[];
26
- "bot-token": string | string[];
27
- } | {
28
- type: string | string[];
29
- };
30
- };
31
- out: {
32
- query: {
33
- type: "slack";
34
- "bot-token": string;
35
- "app-token": string;
36
- } | {
37
- type: "gh";
38
- "poll-interval"?: number | undefined;
39
- } | {
40
- type: "discord";
41
- "bot-token": string;
42
- } | {
43
- type: "schedule";
44
- };
45
- };
46
- }, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("../factory").Env, string, {
47
- in: {
48
- param: {
49
- channel: string;
50
- connector: string;
51
- };
52
- };
53
- out: {
54
- param: {
55
- channel: string;
56
- connector: string;
57
- };
58
- };
59
- } & {
60
- in: {
61
- query: {
62
- type: string | string[];
63
- "bot-token": string | string[];
64
- "app-token": string | string[];
65
- } | {
66
- type: string | string[];
67
- "poll-interval"?: string | string[] | undefined;
68
- } | {
69
- type: string | string[];
70
- "bot-token": string | string[];
71
- } | {
72
- type: string | string[];
73
- };
74
- };
75
- out: {
76
- query: {
77
- type: "slack";
78
- "bot-token": string;
79
- "app-token": string;
80
- } | {
81
- type: "gh";
82
- "poll-interval"?: number | undefined;
83
- } | {
84
- type: "discord";
85
- "bot-token": string;
86
- } | {
87
- type: "schedule";
88
- };
89
- };
90
- }, Promise<(Response & import("hono").TypedResponse<`added slack connector "${string}" to channel "${string}"`, import("hono/utils/http-status").ContentfulStatusCode, "text">) | (Response & import("hono").TypedResponse<`added gh connector "${string}" to channel "${string}"`, import("hono/utils/http-status").ContentfulStatusCode, "text">) | (Response & import("hono").TypedResponse<`added discord connector "${string}" to channel "${string}"`, import("hono/utils/http-status").ContentfulStatusCode, "text">) | (Response & import("hono").TypedResponse<`added schedule connector "${string}" to channel "${string}"`, import("hono/utils/http-status").ContentfulStatusCode, "text">)>>];
@@ -1,38 +0,0 @@
1
- export declare const groupHelp = "funnel channels <channel> connectors \u2014 list connectors in a channel\n\nusage: funnel channels <channel> connectors";
2
- export declare const channelsConnectorsGroupHandler: [import("hono/types").H<import("hono").Env, string, {
3
- in: {
4
- param: {
5
- channel: string;
6
- };
7
- };
8
- out: {
9
- param: {
10
- channel: string;
11
- };
12
- };
13
- }, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("hono").Env, string, {
14
- in: {
15
- query: Record<string, never>;
16
- };
17
- out: {
18
- query: Record<string, never>;
19
- };
20
- }, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("../factory").Env, string, {
21
- in: {
22
- param: {
23
- channel: string;
24
- };
25
- };
26
- out: {
27
- param: {
28
- channel: string;
29
- };
30
- };
31
- } & {
32
- in: {
33
- query: Record<string, never>;
34
- };
35
- out: {
36
- query: Record<string, never>;
37
- };
38
- }, Response & import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>];
@@ -1,42 +0,0 @@
1
- export declare const removeHelp = "funnel channels <channel> connectors remove <connector> \u2014 remove a connector\n\nusage: funnel channels <channel> connectors remove <connector>";
2
- export declare const channelsConnectorsRemoveHandler: [import("hono/types").H<import("hono").Env, string, {
3
- in: {
4
- param: {
5
- channel: string;
6
- connector: string;
7
- };
8
- };
9
- out: {
10
- param: {
11
- channel: string;
12
- connector: string;
13
- };
14
- };
15
- }, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("hono").Env, string, {
16
- in: {
17
- query: Record<string, never>;
18
- };
19
- out: {
20
- query: Record<string, never>;
21
- };
22
- }, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("../factory").Env, string, {
23
- in: {
24
- param: {
25
- channel: string;
26
- connector: string;
27
- };
28
- };
29
- out: {
30
- param: {
31
- channel: string;
32
- connector: string;
33
- };
34
- };
35
- } & {
36
- in: {
37
- query: Record<string, never>;
38
- };
39
- out: {
40
- query: Record<string, never>;
41
- };
42
- }, Promise<Response & import("hono").TypedResponse<`removed connector "${string}" from channel "${string}"`, import("hono/utils/http-status").ContentfulStatusCode, "text">>>];