channelkit 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 (237) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +829 -0
  3. package/config.example.yaml +37 -0
  4. package/dist/api/middleware/auth.d.ts +14 -0
  5. package/dist/api/middleware/auth.d.ts.map +1 -0
  6. package/dist/api/middleware/auth.js +130 -0
  7. package/dist/api/middleware/auth.js.map +1 -0
  8. package/dist/api/routes/config.d.ts +4 -0
  9. package/dist/api/routes/config.d.ts.map +1 -0
  10. package/dist/api/routes/config.js +794 -0
  11. package/dist/api/routes/config.js.map +1 -0
  12. package/dist/api/routes/dashboard.d.ts +4 -0
  13. package/dist/api/routes/dashboard.d.ts.map +1 -0
  14. package/dist/api/routes/dashboard.js +89 -0
  15. package/dist/api/routes/dashboard.js.map +1 -0
  16. package/dist/api/routes/inbound.d.ts +4 -0
  17. package/dist/api/routes/inbound.d.ts.map +1 -0
  18. package/dist/api/routes/inbound.js +293 -0
  19. package/dist/api/routes/inbound.js.map +1 -0
  20. package/dist/api/routes/logs.d.ts +4 -0
  21. package/dist/api/routes/logs.d.ts.map +1 -0
  22. package/dist/api/routes/logs.js +49 -0
  23. package/dist/api/routes/logs.js.map +1 -0
  24. package/dist/api/routes/mcp.d.ts +4 -0
  25. package/dist/api/routes/mcp.d.ts.map +1 -0
  26. package/dist/api/routes/mcp.js +100 -0
  27. package/dist/api/routes/mcp.js.map +1 -0
  28. package/dist/api/routes/restart.d.ts +4 -0
  29. package/dist/api/routes/restart.d.ts.map +1 -0
  30. package/dist/api/routes/restart.js +11 -0
  31. package/dist/api/routes/restart.js.map +1 -0
  32. package/dist/api/routes/send.d.ts +4 -0
  33. package/dist/api/routes/send.d.ts.map +1 -0
  34. package/dist/api/routes/send.js +66 -0
  35. package/dist/api/routes/send.js.map +1 -0
  36. package/dist/api/routes/settings.d.ts +4 -0
  37. package/dist/api/routes/settings.d.ts.map +1 -0
  38. package/dist/api/routes/settings.js +133 -0
  39. package/dist/api/routes/settings.js.map +1 -0
  40. package/dist/api/routes/tunnel.d.ts +4 -0
  41. package/dist/api/routes/tunnel.d.ts.map +1 -0
  42. package/dist/api/routes/tunnel.js +209 -0
  43. package/dist/api/routes/tunnel.js.map +1 -0
  44. package/dist/api/routes/twilio.d.ts +4 -0
  45. package/dist/api/routes/twilio.d.ts.map +1 -0
  46. package/dist/api/routes/twilio.js +138 -0
  47. package/dist/api/routes/twilio.js.map +1 -0
  48. package/dist/api/routes/update.d.ts +4 -0
  49. package/dist/api/routes/update.d.ts.map +1 -0
  50. package/dist/api/routes/update.js +42 -0
  51. package/dist/api/routes/update.js.map +1 -0
  52. package/dist/api/server.d.ts +52 -0
  53. package/dist/api/server.d.ts.map +1 -0
  54. package/dist/api/server.js +415 -0
  55. package/dist/api/server.js.map +1 -0
  56. package/dist/api/types.d.ts +61 -0
  57. package/dist/api/types.d.ts.map +1 -0
  58. package/dist/api/types.js +3 -0
  59. package/dist/api/types.js.map +1 -0
  60. package/dist/channels/base.d.ts +15 -0
  61. package/dist/channels/base.d.ts.map +1 -0
  62. package/dist/channels/base.js +20 -0
  63. package/dist/channels/base.js.map +1 -0
  64. package/dist/channels/email/gmail.d.ts +36 -0
  65. package/dist/channels/email/gmail.d.ts.map +1 -0
  66. package/dist/channels/email/gmail.js +351 -0
  67. package/dist/channels/email/gmail.js.map +1 -0
  68. package/dist/channels/email/index.d.ts +3 -0
  69. package/dist/channels/email/index.d.ts.map +1 -0
  70. package/dist/channels/email/index.js +8 -0
  71. package/dist/channels/email/index.js.map +1 -0
  72. package/dist/channels/email/resend.d.ts +29 -0
  73. package/dist/channels/email/resend.d.ts.map +1 -0
  74. package/dist/channels/email/resend.js +155 -0
  75. package/dist/channels/email/resend.js.map +1 -0
  76. package/dist/channels/endpoint/index.d.ts +21 -0
  77. package/dist/channels/endpoint/index.d.ts.map +1 -0
  78. package/dist/channels/endpoint/index.js +80 -0
  79. package/dist/channels/endpoint/index.js.map +1 -0
  80. package/dist/channels/sms/index.d.ts +37 -0
  81. package/dist/channels/sms/index.d.ts.map +1 -0
  82. package/dist/channels/sms/index.js +163 -0
  83. package/dist/channels/sms/index.js.map +1 -0
  84. package/dist/channels/telegram/index.d.ts +24 -0
  85. package/dist/channels/telegram/index.d.ts.map +1 -0
  86. package/dist/channels/telegram/index.js +231 -0
  87. package/dist/channels/telegram/index.js.map +1 -0
  88. package/dist/channels/voice/index.d.ts +62 -0
  89. package/dist/channels/voice/index.d.ts.map +1 -0
  90. package/dist/channels/voice/index.js +286 -0
  91. package/dist/channels/voice/index.js.map +1 -0
  92. package/dist/channels/whatsapp/index.d.ts +31 -0
  93. package/dist/channels/whatsapp/index.d.ts.map +1 -0
  94. package/dist/channels/whatsapp/index.js +383 -0
  95. package/dist/channels/whatsapp/index.js.map +1 -0
  96. package/dist/cli/commands/demo.d.ts +4 -0
  97. package/dist/cli/commands/demo.d.ts.map +1 -0
  98. package/dist/cli/commands/demo.js +55 -0
  99. package/dist/cli/commands/demo.js.map +1 -0
  100. package/dist/cli/commands/init.d.ts +2 -0
  101. package/dist/cli/commands/init.d.ts.map +1 -0
  102. package/dist/cli/commands/init.js +254 -0
  103. package/dist/cli/commands/init.js.map +1 -0
  104. package/dist/cli/commands/install-skill.d.ts +4 -0
  105. package/dist/cli/commands/install-skill.d.ts.map +1 -0
  106. package/dist/cli/commands/install-skill.js +60 -0
  107. package/dist/cli/commands/install-skill.js.map +1 -0
  108. package/dist/cli/commands/send.d.ts +5 -0
  109. package/dist/cli/commands/send.d.ts.map +1 -0
  110. package/dist/cli/commands/send.js +46 -0
  111. package/dist/cli/commands/send.js.map +1 -0
  112. package/dist/cli/commands/start.d.ts +5 -0
  113. package/dist/cli/commands/start.d.ts.map +1 -0
  114. package/dist/cli/commands/start.js +129 -0
  115. package/dist/cli/commands/start.js.map +1 -0
  116. package/dist/cli/helpers.d.ts +26 -0
  117. package/dist/cli/helpers.d.ts.map +1 -0
  118. package/dist/cli/helpers.js +120 -0
  119. package/dist/cli/helpers.js.map +1 -0
  120. package/dist/cli/index.d.ts +3 -0
  121. package/dist/cli/index.d.ts.map +1 -0
  122. package/dist/cli/index.js +282 -0
  123. package/dist/cli/index.js.map +1 -0
  124. package/dist/cli/wizards/channel.d.ts +4 -0
  125. package/dist/cli/wizards/channel.d.ts.map +1 -0
  126. package/dist/cli/wizards/channel.js +285 -0
  127. package/dist/cli/wizards/channel.js.map +1 -0
  128. package/dist/cli/wizards/provision.d.ts +4 -0
  129. package/dist/cli/wizards/provision.d.ts.map +1 -0
  130. package/dist/cli/wizards/provision.js +213 -0
  131. package/dist/cli/wizards/provision.js.map +1 -0
  132. package/dist/cli/wizards/service.d.ts +5 -0
  133. package/dist/cli/wizards/service.d.ts.map +1 -0
  134. package/dist/cli/wizards/service.js +212 -0
  135. package/dist/cli/wizards/service.js.map +1 -0
  136. package/dist/cli.d.ts +3 -0
  137. package/dist/cli.d.ts.map +1 -0
  138. package/dist/cli.js +6 -0
  139. package/dist/cli.js.map +1 -0
  140. package/dist/config/parser.d.ts +6 -0
  141. package/dist/config/parser.d.ts.map +1 -0
  142. package/dist/config/parser.js +37 -0
  143. package/dist/config/parser.js.map +1 -0
  144. package/dist/config/types.d.ts +170 -0
  145. package/dist/config/types.d.ts.map +1 -0
  146. package/dist/config/types.js +3 -0
  147. package/dist/config/types.js.map +1 -0
  148. package/dist/core/apiServer.d.ts +2 -0
  149. package/dist/core/apiServer.d.ts.map +1 -0
  150. package/dist/core/apiServer.js +7 -0
  151. package/dist/core/apiServer.js.map +1 -0
  152. package/dist/core/groupStore.d.ts +19 -0
  153. package/dist/core/groupStore.d.ts.map +1 -0
  154. package/dist/core/groupStore.js +48 -0
  155. package/dist/core/groupStore.js.map +1 -0
  156. package/dist/core/logger.d.ts +42 -0
  157. package/dist/core/logger.d.ts.map +1 -0
  158. package/dist/core/logger.js +142 -0
  159. package/dist/core/logger.js.map +1 -0
  160. package/dist/core/messageHandler.d.ts +15 -0
  161. package/dist/core/messageHandler.d.ts.map +1 -0
  162. package/dist/core/messageHandler.js +309 -0
  163. package/dist/core/messageHandler.js.map +1 -0
  164. package/dist/core/restart.d.ts +3 -0
  165. package/dist/core/restart.d.ts.map +1 -0
  166. package/dist/core/restart.js +35 -0
  167. package/dist/core/restart.js.map +1 -0
  168. package/dist/core/router.d.ts +56 -0
  169. package/dist/core/router.d.ts.map +1 -0
  170. package/dist/core/router.js +168 -0
  171. package/dist/core/router.js.map +1 -0
  172. package/dist/core/tunnel.d.ts +16 -0
  173. package/dist/core/tunnel.d.ts.map +1 -0
  174. package/dist/core/tunnel.js +99 -0
  175. package/dist/core/tunnel.js.map +1 -0
  176. package/dist/core/types.d.ts +54 -0
  177. package/dist/core/types.d.ts.map +1 -0
  178. package/dist/core/types.js +3 -0
  179. package/dist/core/types.js.map +1 -0
  180. package/dist/core/updater.d.ts +44 -0
  181. package/dist/core/updater.d.ts.map +1 -0
  182. package/dist/core/updater.js +264 -0
  183. package/dist/core/updater.js.map +1 -0
  184. package/dist/core/webhook.d.ts +26 -0
  185. package/dist/core/webhook.d.ts.map +1 -0
  186. package/dist/core/webhook.js +224 -0
  187. package/dist/core/webhook.js.map +1 -0
  188. package/dist/dashboard/assets/browser-D_-rzKir.js +8 -0
  189. package/dist/dashboard/assets/index-CNa084vI.js +88 -0
  190. package/dist/dashboard/assets/index-CRvIEyjF.css +1 -0
  191. package/dist/dashboard/index.html +17 -0
  192. package/dist/index.d.ts +22 -0
  193. package/dist/index.d.ts.map +1 -0
  194. package/dist/index.js +551 -0
  195. package/dist/index.js.map +1 -0
  196. package/dist/mcp/index.d.ts +3 -0
  197. package/dist/mcp/index.d.ts.map +1 -0
  198. package/dist/mcp/index.js +6 -0
  199. package/dist/mcp/index.js.map +1 -0
  200. package/dist/mcp/server.d.ts +45 -0
  201. package/dist/mcp/server.d.ts.map +1 -0
  202. package/dist/mcp/server.js +197 -0
  203. package/dist/mcp/server.js.map +1 -0
  204. package/dist/mcp/tools.d.ts +16 -0
  205. package/dist/mcp/tools.d.ts.map +1 -0
  206. package/dist/mcp/tools.js +502 -0
  207. package/dist/mcp/tools.js.map +1 -0
  208. package/dist/media/formatter.d.ts +12 -0
  209. package/dist/media/formatter.d.ts.map +1 -0
  210. package/dist/media/formatter.js +147 -0
  211. package/dist/media/formatter.js.map +1 -0
  212. package/dist/media/processor.d.ts +33 -0
  213. package/dist/media/processor.d.ts.map +1 -0
  214. package/dist/media/processor.js +145 -0
  215. package/dist/media/processor.js.map +1 -0
  216. package/dist/media/stt.d.ts +16 -0
  217. package/dist/media/stt.d.ts.map +1 -0
  218. package/dist/media/stt.js +298 -0
  219. package/dist/media/stt.js.map +1 -0
  220. package/dist/media/tts.d.ts +19 -0
  221. package/dist/media/tts.d.ts.map +1 -0
  222. package/dist/media/tts.js +135 -0
  223. package/dist/media/tts.js.map +1 -0
  224. package/dist/onboarding/index.d.ts +28 -0
  225. package/dist/onboarding/index.d.ts.map +1 -0
  226. package/dist/onboarding/index.js +144 -0
  227. package/dist/onboarding/index.js.map +1 -0
  228. package/dist/paths.d.ts +9 -0
  229. package/dist/paths.d.ts.map +1 -0
  230. package/dist/paths.js +14 -0
  231. package/dist/paths.js.map +1 -0
  232. package/dist/provisioning/twilio.d.ts +51 -0
  233. package/dist/provisioning/twilio.d.ts.map +1 -0
  234. package/dist/provisioning/twilio.js +175 -0
  235. package/dist/provisioning/twilio.js.map +1 -0
  236. package/echo-server.js +163 -0
  237. package/package.json +79 -0
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.API_KEY_INFO = exports.COLORS = exports.LOGO = void 0;
4
+ exports.c = c;
5
+ exports.banner = banner;
6
+ exports.ask = ask;
7
+ exports.select = select;
8
+ exports.readEnvFile = readEnvFile;
9
+ exports.saveEnvVar = saveEnvVar;
10
+ exports.promptApiKey = promptApiKey;
11
+ const fs_1 = require("fs");
12
+ const path_1 = require("path");
13
+ exports.LOGO = `
14
+ ╔═══════════════════════════════════════╗
15
+ ║ ║
16
+ ║ 📱 ──┐ ║
17
+ ║ 💬 ──┤──→ ChannelKit ──→ 🔗 App ║
18
+ ║ 📞 ──┘ ║
19
+ ║ ║
20
+ ║ Messaging ingress for your app ║
21
+ ║ ║
22
+ ╚═══════════════════════════════════════╝
23
+ `;
24
+ exports.COLORS = {
25
+ reset: '\x1b[0m',
26
+ bright: '\x1b[1m',
27
+ dim: '\x1b[2m',
28
+ cyan: '\x1b[36m',
29
+ green: '\x1b[32m',
30
+ yellow: '\x1b[33m',
31
+ magenta: '\x1b[35m',
32
+ blue: '\x1b[34m',
33
+ white: '\x1b[37m',
34
+ gray: '\x1b[90m',
35
+ };
36
+ function c(color, text) {
37
+ return `${exports.COLORS[color]}${text}${exports.COLORS.reset}`;
38
+ }
39
+ function banner() {
40
+ console.log(c('cyan', exports.LOGO));
41
+ console.log(c('dim', ` v0.1.0\n`));
42
+ }
43
+ async function ask(rl, question, defaultVal) {
44
+ const suffix = defaultVal ? c('dim', ` (${defaultVal})`) : '';
45
+ return new Promise((resolve) => {
46
+ rl.question(` ${c('green', '?')} ${question}${suffix} `, (answer) => {
47
+ resolve(answer.trim() || defaultVal || '');
48
+ });
49
+ });
50
+ }
51
+ async function select(rl, question, options) {
52
+ console.log(`\n ${c('green', '?')} ${question}\n`);
53
+ options.forEach((opt, i) => {
54
+ console.log(` ${c('cyan', `${i + 1})`)} ${opt}`);
55
+ });
56
+ console.log();
57
+ while (true) {
58
+ const answer = await ask(rl, `Choose ${c('dim', `[1-${options.length}]`)}:`);
59
+ const num = parseInt(answer);
60
+ if (num >= 1 && num <= options.length)
61
+ return num - 1;
62
+ console.log(c('yellow', ' Please enter a valid number'));
63
+ }
64
+ }
65
+ // --- .env helpers ---
66
+ exports.API_KEY_INFO = {
67
+ google: { envVar: 'GOOGLE_API_KEY', hint: 'Get one at https://console.cloud.google.com/apis/credentials' },
68
+ whisper: { envVar: 'OPENAI_API_KEY', hint: 'Get one at https://platform.openai.com/api-keys' },
69
+ deepgram: { envVar: 'DEEPGRAM_API_KEY', hint: 'Get one at https://console.deepgram.com' },
70
+ elevenlabs: { envVar: 'ELEVENLABS_API_KEY', hint: 'Get one at https://elevenlabs.io/api' },
71
+ openai: { envVar: 'OPENAI_API_KEY', hint: 'Get one at https://platform.openai.com/api-keys' },
72
+ };
73
+ function readEnvFile(envPath) {
74
+ if (!(0, fs_1.existsSync)(envPath))
75
+ return {};
76
+ const content = (0, fs_1.readFileSync)(envPath, 'utf-8');
77
+ const vars = {};
78
+ for (const line of content.split('\n')) {
79
+ const trimmed = line.trim();
80
+ if (!trimmed || trimmed.startsWith('#'))
81
+ continue;
82
+ const eqIdx = trimmed.indexOf('=');
83
+ if (eqIdx === -1)
84
+ continue;
85
+ const key = trimmed.slice(0, eqIdx).trim();
86
+ let val = trimmed.slice(eqIdx + 1).trim();
87
+ if ((val.startsWith('"') && val.endsWith('"')) || (val.startsWith("'") && val.endsWith("'"))) {
88
+ val = val.slice(1, -1);
89
+ }
90
+ vars[key] = val;
91
+ }
92
+ return vars;
93
+ }
94
+ function saveEnvVar(envPath, key, value) {
95
+ const existing = readEnvFile(envPath);
96
+ if (existing[key])
97
+ return;
98
+ const line = `${key}=${value}\n`;
99
+ (0, fs_1.appendFileSync)(envPath, line);
100
+ }
101
+ async function promptApiKey(rl, provider, configPath) {
102
+ const info = exports.API_KEY_INFO[provider];
103
+ if (!info)
104
+ return;
105
+ const envPath = (0, path_1.join)((0, path_1.dirname)((0, path_1.resolve)(configPath)), '.env');
106
+ const envVars = readEnvFile(envPath);
107
+ if (process.env[info.envVar] || envVars[info.envVar]) {
108
+ console.log(c('dim', `\n ✓ ${info.envVar} already set`));
109
+ return;
110
+ }
111
+ console.log(c('dim', `\n ${info.hint}`));
112
+ const value = await ask(rl, `${info.envVar}:`);
113
+ if (value) {
114
+ saveEnvVar(envPath, info.envVar, value);
115
+ process.env[info.envVar] = value;
116
+ console.log(c('green', ` ✓ Saved to .env`));
117
+ console.log(c('yellow', ` 💡 Make sure .env is in your .gitignore`));
118
+ }
119
+ }
120
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/cli/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import 'dotenv/config';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC"}
@@ -0,0 +1,282 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ require("dotenv/config");
38
+ const commander_1 = require("commander");
39
+ const path_1 = require("path");
40
+ const fs_1 = require("fs");
41
+ const readline_1 = require("readline");
42
+ const helpers_1 = require("./helpers");
43
+ const paths_1 = require("../paths");
44
+ const init_1 = require("./commands/init");
45
+ const start_1 = require("./commands/start");
46
+ const send_1 = require("./commands/send");
47
+ const demo_1 = require("./commands/demo");
48
+ const service_1 = require("./wizards/service");
49
+ const channel_1 = require("./wizards/channel");
50
+ const provision_1 = require("./wizards/provision");
51
+ const install_skill_1 = require("./commands/install-skill");
52
+ const program = new commander_1.Command();
53
+ program
54
+ .name('channelkit')
55
+ .description('Messaging ingress for your app')
56
+ .version('0.1.0');
57
+ program
58
+ .command('init')
59
+ .description('Set up ChannelKit interactively')
60
+ .action(async () => {
61
+ try {
62
+ await (0, init_1.initCommand)();
63
+ }
64
+ catch (err) {
65
+ console.error((0, helpers_1.c)('yellow', `\n ❌ ${err.message}\n`));
66
+ process.exit(1);
67
+ }
68
+ });
69
+ program
70
+ .command('start')
71
+ .description('Start ChannelKit')
72
+ .option('-c, --config <path>', 'Path to config file', paths_1.DEFAULT_CONFIG_PATH)
73
+ .option('--tunnel', 'Start a cloudflared tunnel automatically')
74
+ .option('--public-url <url>', 'Use a manual public URL')
75
+ .action(async (opts) => {
76
+ const configPath = (0, path_1.resolve)(opts.config);
77
+ await (0, start_1.startCommand)(configPath, { tunnel: opts.tunnel, publicUrl: opts.publicUrl });
78
+ });
79
+ // Service management commands
80
+ const service = program
81
+ .command('service')
82
+ .description('Manage onboarding services');
83
+ service
84
+ .command('add')
85
+ .description('Add a new service interactively')
86
+ .option('-c, --config <path>', 'Path to config file', paths_1.DEFAULT_CONFIG_PATH)
87
+ .action((opts) => (0, service_1.serviceAddWizard)(opts));
88
+ service
89
+ .command('list')
90
+ .description('List all configured services')
91
+ .option('-c, --config <path>', 'Path to config file', paths_1.DEFAULT_CONFIG_PATH)
92
+ .action(async (opts) => {
93
+ const configPath = (0, path_1.resolve)(opts.config);
94
+ if (!(0, fs_1.existsSync)(configPath)) {
95
+ console.error((0, helpers_1.c)('yellow', `\n ❌ Config file not found: ${configPath}\n`));
96
+ process.exit(1);
97
+ }
98
+ const { loadConfig } = await Promise.resolve().then(() => __importStar(require('../config/parser')));
99
+ const config = loadConfig(configPath);
100
+ const svcs = config.services || {};
101
+ if (Object.keys(svcs).length === 0) {
102
+ console.log((0, helpers_1.c)('dim', '\n No services configured. Run `channelkit service add` to add one.\n'));
103
+ return;
104
+ }
105
+ console.log((0, helpers_1.c)('cyan', '\n 📦 Configured Services\n'));
106
+ for (const [name, svc] of Object.entries(svcs)) {
107
+ const chCfg = config.channels[svc.channel];
108
+ const icon = chCfg?.type === 'whatsapp' ? '📱' : chCfg?.type === 'telegram' ? '💬' : '📧';
109
+ const mode = Object.values(svcs).filter(s => s.channel === svc.channel).length > 1 ? 'groups' : 'direct';
110
+ console.log((0, helpers_1.c)('bright', ` ${icon} ${name}`));
111
+ console.log((0, helpers_1.c)('dim', ` Channel: ${svc.channel} (${chCfg?.type || '?'})`));
112
+ console.log((0, helpers_1.c)('dim', ` Webhook: ${svc.webhook}`));
113
+ console.log((0, helpers_1.c)('dim', ` Mode: ${mode}`));
114
+ if (svc.code) {
115
+ console.log((0, helpers_1.c)('dim', ` Code: ${svc.code}`));
116
+ const number = chCfg?.number?.replace(/[^0-9]/g, '') || '';
117
+ if (number) {
118
+ console.log((0, helpers_1.c)('dim', ` Share: https://wa.me/${number}?text=${encodeURIComponent(svc.code)}`));
119
+ }
120
+ }
121
+ console.log();
122
+ }
123
+ });
124
+ service
125
+ .command('remove <name>')
126
+ .description('Remove a service by name')
127
+ .option('-c, --config <path>', 'Path to config file', paths_1.DEFAULT_CONFIG_PATH)
128
+ .action(async (name, opts) => {
129
+ const configPath = (0, path_1.resolve)(opts.config);
130
+ if (!(0, fs_1.existsSync)(configPath)) {
131
+ console.error((0, helpers_1.c)('yellow', `\n ❌ Config file not found: ${configPath}\n`));
132
+ process.exit(1);
133
+ }
134
+ const { loadConfig, saveConfig } = await Promise.resolve().then(() => __importStar(require('../config/parser')));
135
+ const config = loadConfig(configPath);
136
+ if (!config.services || !config.services[name]) {
137
+ console.error((0, helpers_1.c)('yellow', `\n ❌ Service "${name}" not found.\n`));
138
+ const available = Object.keys(config.services || {}).join(', ');
139
+ if (available)
140
+ console.log((0, helpers_1.c)('dim', ` Available: ${available}\n`));
141
+ process.exit(1);
142
+ }
143
+ const removed = config.services[name];
144
+ const rl = (0, readline_1.createInterface)({ input: process.stdin, output: process.stdout });
145
+ const confirm = await (0, helpers_1.ask)(rl, `Remove service "${name}" (channel: ${removed.channel})? [y/N]`, 'N');
146
+ rl.close();
147
+ if (confirm.toLowerCase() !== 'y') {
148
+ console.log((0, helpers_1.c)('dim', '\n Cancelled.\n'));
149
+ process.exit(0);
150
+ }
151
+ delete config.services[name];
152
+ saveConfig(configPath, config);
153
+ console.log((0, helpers_1.c)('green', `\n ✅ Removed service "${name}" (channel: ${removed.channel})\n`));
154
+ });
155
+ // Channel management commands
156
+ const channel = program
157
+ .command('channel')
158
+ .description('Manage channels');
159
+ channel
160
+ .command('list')
161
+ .description('List all configured channels')
162
+ .option('-c, --config <path>', 'Path to config file', paths_1.DEFAULT_CONFIG_PATH)
163
+ .action(async (opts) => {
164
+ const configPath = (0, path_1.resolve)(opts.config);
165
+ if (!(0, fs_1.existsSync)(configPath)) {
166
+ console.error((0, helpers_1.c)('yellow', `\n ❌ Config file not found: ${configPath}\n Run 'channelkit init' first.\n`));
167
+ process.exit(1);
168
+ }
169
+ const { loadConfig } = await Promise.resolve().then(() => __importStar(require('../config/parser')));
170
+ const config = loadConfig(configPath);
171
+ const channels = Object.entries(config.channels);
172
+ if (channels.length === 0) {
173
+ console.log((0, helpers_1.c)('dim', '\n No channels configured. Run `channelkit channel add` to add one.\n'));
174
+ return;
175
+ }
176
+ console.log((0, helpers_1.c)('cyan', '\n 📡 Configured Channels\n'));
177
+ for (const [name, cfg] of channels) {
178
+ const chCfg = cfg;
179
+ const icon = chCfg.type === 'whatsapp' ? '📱' : chCfg.type === 'telegram' ? '💬' : chCfg.type === 'email' ? '📧' : '📡';
180
+ console.log((0, helpers_1.c)('bright', ` ${icon} ${name}`));
181
+ console.log((0, helpers_1.c)('dim', ` Type: ${chCfg.type}`));
182
+ if (chCfg.number)
183
+ console.log((0, helpers_1.c)('dim', ` Number: ${chCfg.number}`));
184
+ if (chCfg.mode)
185
+ console.log((0, helpers_1.c)('dim', ` Mode: ${chCfg.mode}`));
186
+ if (chCfg.bot_token)
187
+ console.log((0, helpers_1.c)('dim', ` Token: ${chCfg.bot_token.slice(0, 8)}...`));
188
+ if (chCfg.address)
189
+ console.log((0, helpers_1.c)('dim', ` Address: ${chCfg.address}`));
190
+ const svcCount = Object.values(config.services || {}).filter(s => s.channel === name).length
191
+ + (config.routes || []).filter(r => r.channel === name).length;
192
+ console.log((0, helpers_1.c)('dim', ` Services: ${svcCount}`));
193
+ console.log();
194
+ }
195
+ });
196
+ channel
197
+ .command('add')
198
+ .description('Add a new channel interactively')
199
+ .option('-c, --config <path>', 'Path to config file', paths_1.DEFAULT_CONFIG_PATH)
200
+ .action((opts) => (0, channel_1.channelAddWizard)(opts));
201
+ channel
202
+ .command('remove <name>')
203
+ .description('Remove a channel by name')
204
+ .option('-c, --config <path>', 'Path to config file', paths_1.DEFAULT_CONFIG_PATH)
205
+ .action(async (name, opts) => {
206
+ const configPath = (0, path_1.resolve)(opts.config);
207
+ if (!(0, fs_1.existsSync)(configPath)) {
208
+ console.error((0, helpers_1.c)('yellow', `\n ❌ Config file not found: ${configPath}\n`));
209
+ process.exit(1);
210
+ }
211
+ const { loadConfig, saveConfig } = await Promise.resolve().then(() => __importStar(require('../config/parser')));
212
+ const config = loadConfig(configPath);
213
+ if (!config.channels[name]) {
214
+ console.error((0, helpers_1.c)('yellow', `\n ❌ Channel "${name}" not found.\n`));
215
+ const available = Object.keys(config.channels).join(', ');
216
+ if (available)
217
+ console.log((0, helpers_1.c)('dim', ` Available channels: ${available}\n`));
218
+ process.exit(1);
219
+ }
220
+ const rl = (0, readline_1.createInterface)({ input: process.stdin, output: process.stdout });
221
+ try {
222
+ const affectedServices = Object.entries(config.services || {}).filter(([, v]) => v.channel === name);
223
+ const affectedRoutes = (config.routes || []).filter(r => r.channel === name);
224
+ const totalAffected = affectedServices.length + affectedRoutes.length;
225
+ if (totalAffected > 0) {
226
+ console.log((0, helpers_1.c)('yellow', `\n ⚠️ ${totalAffected} service(s) use this channel and will be removed too.`));
227
+ }
228
+ const confirm = await (0, helpers_1.ask)(rl, `Remove channel "${name}"? (y/N):`, 'N');
229
+ if (confirm.toLowerCase() !== 'y') {
230
+ console.log((0, helpers_1.c)('dim', '\n Cancelled.\n'));
231
+ rl.close();
232
+ return;
233
+ }
234
+ delete config.channels[name];
235
+ if (config.services) {
236
+ for (const [k, v] of Object.entries(config.services)) {
237
+ if (v.channel === name)
238
+ delete config.services[k];
239
+ }
240
+ }
241
+ config.routes = (config.routes || []).filter(r => r.channel !== name);
242
+ saveConfig(configPath, config);
243
+ console.log((0, helpers_1.c)('green', `\n ✅ Removed channel "${name}" and ${totalAffected} associated service(s).\n`));
244
+ }
245
+ finally {
246
+ rl.close();
247
+ }
248
+ });
249
+ // Provision command
250
+ const provision = program
251
+ .command('provision')
252
+ .description('Provision a new phone number for WhatsApp');
253
+ provision
254
+ .command('whatsapp')
255
+ .description('Buy a number and register it with WhatsApp')
256
+ .option('-c, --config <path>', 'Path to config file', paths_1.DEFAULT_CONFIG_PATH)
257
+ .action((opts) => (0, provision_1.provisionWhatsAppWizard)(opts));
258
+ program
259
+ .command('send <channel> <number> <message>')
260
+ .description('Send a WhatsApp message to a phone number')
261
+ .option('-c, --config <path>', 'Path to config file', paths_1.DEFAULT_CONFIG_PATH)
262
+ .option('-p, --port <port>', 'API server port', '4000')
263
+ .action(send_1.sendCommand);
264
+ program
265
+ .command('demo')
266
+ .description('Run the built-in echo/demo server')
267
+ .option('-p, --port <port>', 'Port to listen on', '3000')
268
+ .action(demo_1.demoCommand);
269
+ program
270
+ .command('install-skill')
271
+ .description('Install the ChannelKit skill for Claude Code')
272
+ .option('--print', 'Output the skill file to stdout instead of installing')
273
+ .action(install_skill_1.installSkillCommand);
274
+ // Default to "start" when no command is given
275
+ const args = process.argv.slice(2);
276
+ const knownCommands = program.commands.map(c => c.name());
277
+ if (args.length === 0 || (args.length > 0 && !knownCommands.includes(args[0]) && !args[0].startsWith('-'))) {
278
+ // Inject "start" as the default command
279
+ process.argv.splice(2, 0, 'start');
280
+ }
281
+ program.parse();
282
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function channelAddWizard(opts: {
2
+ config: string;
3
+ }): Promise<void>;
4
+ //# sourceMappingURL=channel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../src/cli/wizards/channel.ts"],"names":[],"mappings":"AAMA,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,iBAiP9D"}