beecork 0.3.2 → 1.1.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 (285) hide show
  1. package/dist/channels/discord.d.ts +23 -0
  2. package/dist/channels/discord.d.ts.map +1 -0
  3. package/dist/channels/discord.js +352 -0
  4. package/dist/channels/discord.js.map +1 -0
  5. package/dist/channels/index.d.ts +8 -0
  6. package/dist/channels/index.d.ts.map +1 -0
  7. package/dist/channels/index.js +7 -0
  8. package/dist/channels/index.js.map +1 -0
  9. package/dist/channels/loader.d.ts +8 -0
  10. package/dist/channels/loader.d.ts.map +1 -0
  11. package/dist/channels/loader.js +72 -0
  12. package/dist/channels/loader.js.map +1 -0
  13. package/dist/channels/registry.d.ts +24 -0
  14. package/dist/channels/registry.d.ts.map +1 -0
  15. package/dist/channels/registry.js +65 -0
  16. package/dist/channels/registry.js.map +1 -0
  17. package/dist/channels/telegram.d.ts +41 -0
  18. package/dist/channels/telegram.d.ts.map +1 -0
  19. package/dist/channels/telegram.js +720 -0
  20. package/dist/channels/telegram.js.map +1 -0
  21. package/dist/channels/types.d.ts +67 -0
  22. package/dist/channels/types.d.ts.map +1 -0
  23. package/dist/channels/types.js +2 -0
  24. package/dist/channels/types.js.map +1 -0
  25. package/dist/channels/webhook.d.ts +28 -0
  26. package/dist/channels/webhook.d.ts.map +1 -0
  27. package/dist/channels/webhook.js +164 -0
  28. package/dist/channels/webhook.js.map +1 -0
  29. package/dist/channels/whatsapp.d.ts +27 -0
  30. package/dist/channels/whatsapp.d.ts.map +1 -0
  31. package/dist/channels/whatsapp.js +373 -0
  32. package/dist/channels/whatsapp.js.map +1 -0
  33. package/dist/cli/channel.d.ts +4 -0
  34. package/dist/cli/channel.d.ts.map +1 -0
  35. package/dist/cli/channel.js +194 -0
  36. package/dist/cli/channel.js.map +1 -0
  37. package/dist/cli/doctor.d.ts +2 -0
  38. package/dist/cli/doctor.d.ts.map +1 -0
  39. package/dist/cli/doctor.js +150 -0
  40. package/dist/cli/doctor.js.map +1 -0
  41. package/dist/cli/handoff.d.ts +16 -0
  42. package/dist/cli/handoff.d.ts.map +1 -0
  43. package/dist/cli/handoff.js +69 -0
  44. package/dist/cli/handoff.js.map +1 -0
  45. package/dist/cli/mcp.d.ts +4 -0
  46. package/dist/cli/mcp.d.ts.map +1 -0
  47. package/dist/cli/mcp.js +48 -0
  48. package/dist/cli/mcp.js.map +1 -0
  49. package/dist/cli/media.d.ts +3 -0
  50. package/dist/cli/media.d.ts.map +1 -0
  51. package/dist/cli/media.js +113 -0
  52. package/dist/cli/media.js.map +1 -0
  53. package/dist/cli/setup.d.ts.map +1 -1
  54. package/dist/cli/setup.js +249 -19
  55. package/dist/cli/setup.js.map +1 -1
  56. package/dist/config.d.ts.map +1 -1
  57. package/dist/config.js +10 -1
  58. package/dist/config.js.map +1 -1
  59. package/dist/cron/scheduler.d.ts +2 -0
  60. package/dist/cron/scheduler.d.ts.map +1 -1
  61. package/dist/cron/scheduler.js +32 -10
  62. package/dist/cron/scheduler.js.map +1 -1
  63. package/dist/daemon.js +87 -25
  64. package/dist/daemon.js.map +1 -1
  65. package/dist/dashboard/html.d.ts +1 -1
  66. package/dist/dashboard/html.d.ts.map +1 -1
  67. package/dist/dashboard/html.js +396 -111
  68. package/dist/dashboard/html.js.map +1 -1
  69. package/dist/dashboard/server.d.ts.map +1 -1
  70. package/dist/dashboard/server.js +176 -16
  71. package/dist/dashboard/server.js.map +1 -1
  72. package/dist/db/index.d.ts.map +1 -1
  73. package/dist/db/index.js +15 -0
  74. package/dist/db/index.js.map +1 -1
  75. package/dist/db/migrations.d.ts.map +1 -1
  76. package/dist/db/migrations.js +94 -0
  77. package/dist/db/migrations.js.map +1 -1
  78. package/dist/delegation/manager.d.ts +21 -0
  79. package/dist/delegation/manager.d.ts.map +1 -0
  80. package/dist/delegation/manager.js +88 -0
  81. package/dist/delegation/manager.js.map +1 -0
  82. package/dist/index.js +283 -0
  83. package/dist/index.js.map +1 -1
  84. package/dist/machines/forwarder.d.ts +7 -0
  85. package/dist/machines/forwarder.d.ts.map +1 -0
  86. package/dist/machines/forwarder.js +25 -0
  87. package/dist/machines/forwarder.js.map +1 -0
  88. package/dist/machines/index.d.ts +3 -0
  89. package/dist/machines/index.d.ts.map +1 -0
  90. package/dist/machines/index.js +3 -0
  91. package/dist/machines/index.js.map +1 -0
  92. package/dist/machines/registry.d.ts +22 -0
  93. package/dist/machines/registry.d.ts.map +1 -0
  94. package/dist/machines/registry.js +71 -0
  95. package/dist/machines/registry.js.map +1 -0
  96. package/dist/mcp/server.js +418 -32
  97. package/dist/mcp/server.js.map +1 -1
  98. package/dist/media/factory.d.ts +7 -0
  99. package/dist/media/factory.d.ts.map +1 -0
  100. package/dist/media/factory.js +33 -0
  101. package/dist/media/factory.js.map +1 -0
  102. package/dist/media/generators/dall-e.d.ts +11 -0
  103. package/dist/media/generators/dall-e.d.ts.map +1 -0
  104. package/dist/media/generators/dall-e.js +42 -0
  105. package/dist/media/generators/dall-e.js.map +1 -0
  106. package/dist/media/generators/elevenlabs-music.d.ts +10 -0
  107. package/dist/media/generators/elevenlabs-music.d.ts.map +1 -0
  108. package/dist/media/generators/elevenlabs-music.js +35 -0
  109. package/dist/media/generators/elevenlabs-music.js.map +1 -0
  110. package/dist/media/generators/elevenlabs-sfx.d.ts +10 -0
  111. package/dist/media/generators/elevenlabs-sfx.d.ts.map +1 -0
  112. package/dist/media/generators/elevenlabs-sfx.js +34 -0
  113. package/dist/media/generators/elevenlabs-sfx.js.map +1 -0
  114. package/dist/media/generators/kling.d.ts +10 -0
  115. package/dist/media/generators/kling.d.ts.map +1 -0
  116. package/dist/media/generators/kling.js +53 -0
  117. package/dist/media/generators/kling.js.map +1 -0
  118. package/dist/media/generators/lyria.d.ts +11 -0
  119. package/dist/media/generators/lyria.d.ts.map +1 -0
  120. package/dist/media/generators/lyria.js +42 -0
  121. package/dist/media/generators/lyria.js.map +1 -0
  122. package/dist/media/generators/nano-banana.d.ts +11 -0
  123. package/dist/media/generators/nano-banana.d.ts.map +1 -0
  124. package/dist/media/generators/nano-banana.js +46 -0
  125. package/dist/media/generators/nano-banana.js.map +1 -0
  126. package/dist/media/generators/recraft.d.ts +10 -0
  127. package/dist/media/generators/recraft.d.ts.map +1 -0
  128. package/dist/media/generators/recraft.js +53 -0
  129. package/dist/media/generators/recraft.js.map +1 -0
  130. package/dist/media/generators/runway.d.ts +10 -0
  131. package/dist/media/generators/runway.d.ts.map +1 -0
  132. package/dist/media/generators/runway.js +58 -0
  133. package/dist/media/generators/runway.js.map +1 -0
  134. package/dist/media/generators/stable-diffusion.d.ts +10 -0
  135. package/dist/media/generators/stable-diffusion.d.ts.map +1 -0
  136. package/dist/media/generators/stable-diffusion.js +36 -0
  137. package/dist/media/generators/stable-diffusion.js.map +1 -0
  138. package/dist/media/generators/veo.d.ts +10 -0
  139. package/dist/media/generators/veo.d.ts.map +1 -0
  140. package/dist/media/generators/veo.js +33 -0
  141. package/dist/media/generators/veo.js.map +1 -0
  142. package/dist/media/index.d.ts +13 -0
  143. package/dist/media/index.d.ts.map +1 -0
  144. package/dist/media/index.js +10 -0
  145. package/dist/media/index.js.map +1 -0
  146. package/dist/media/loader.d.ts +8 -0
  147. package/dist/media/loader.d.ts.map +1 -0
  148. package/dist/media/loader.js +46 -0
  149. package/dist/media/loader.js.map +1 -0
  150. package/dist/media/store.d.ts +11 -0
  151. package/dist/media/store.d.ts.map +1 -0
  152. package/dist/media/store.js +53 -0
  153. package/dist/media/store.js.map +1 -0
  154. package/dist/media/types.d.ts +22 -0
  155. package/dist/media/types.d.ts.map +1 -0
  156. package/dist/media/types.js +2 -0
  157. package/dist/media/types.js.map +1 -0
  158. package/dist/memory/extractor.js +1 -1
  159. package/dist/memory/extractor.js.map +1 -1
  160. package/dist/notifications/index.d.ts +7 -0
  161. package/dist/notifications/index.d.ts.map +1 -0
  162. package/dist/notifications/index.js +35 -0
  163. package/dist/notifications/index.js.map +1 -0
  164. package/dist/notifications/ntfy.d.ts +10 -0
  165. package/dist/notifications/ntfy.d.ts.map +1 -0
  166. package/dist/notifications/ntfy.js +26 -0
  167. package/dist/notifications/ntfy.js.map +1 -0
  168. package/dist/notifications/pushover.d.ts +10 -0
  169. package/dist/notifications/pushover.d.ts.map +1 -0
  170. package/dist/notifications/pushover.js +27 -0
  171. package/dist/notifications/pushover.js.map +1 -0
  172. package/dist/notifications/types.d.ts +6 -0
  173. package/dist/notifications/types.d.ts.map +1 -0
  174. package/dist/notifications/types.js +2 -0
  175. package/dist/notifications/types.js.map +1 -0
  176. package/dist/notifications/webhook-provider.d.ts +10 -0
  177. package/dist/notifications/webhook-provider.d.ts.map +1 -0
  178. package/dist/notifications/webhook-provider.js +25 -0
  179. package/dist/notifications/webhook-provider.js.map +1 -0
  180. package/dist/observability/analytics.d.ts +26 -0
  181. package/dist/observability/analytics.d.ts.map +1 -0
  182. package/dist/observability/analytics.js +94 -0
  183. package/dist/observability/analytics.js.map +1 -0
  184. package/dist/pipe/memory-store.d.ts +1 -6
  185. package/dist/pipe/memory-store.d.ts.map +1 -1
  186. package/dist/pipe/memory-store.js +0 -24
  187. package/dist/pipe/memory-store.js.map +1 -1
  188. package/dist/pipe/types.d.ts +0 -9
  189. package/dist/pipe/types.d.ts.map +1 -1
  190. package/dist/projects/index.d.ts +4 -0
  191. package/dist/projects/index.d.ts.map +1 -0
  192. package/dist/projects/index.js +3 -0
  193. package/dist/projects/index.js.map +1 -0
  194. package/dist/projects/manager.d.ts +20 -0
  195. package/dist/projects/manager.d.ts.map +1 -0
  196. package/dist/projects/manager.js +135 -0
  197. package/dist/projects/manager.js.map +1 -0
  198. package/dist/projects/router.d.ts +6 -0
  199. package/dist/projects/router.d.ts.map +1 -0
  200. package/dist/projects/router.js +177 -0
  201. package/dist/projects/router.js.map +1 -0
  202. package/dist/projects/types.d.ts +26 -0
  203. package/dist/projects/types.d.ts.map +1 -0
  204. package/dist/projects/types.js +2 -0
  205. package/dist/projects/types.js.map +1 -0
  206. package/dist/service/install.d.ts.map +1 -1
  207. package/dist/service/install.js +26 -7
  208. package/dist/service/install.js.map +1 -1
  209. package/dist/service/windows.d.ts +11 -0
  210. package/dist/service/windows.d.ts.map +1 -0
  211. package/dist/service/windows.js +70 -0
  212. package/dist/service/windows.js.map +1 -0
  213. package/dist/session/manager.d.ts +3 -1
  214. package/dist/session/manager.d.ts.map +1 -1
  215. package/dist/session/manager.js +46 -9
  216. package/dist/session/manager.js.map +1 -1
  217. package/dist/session/subprocess.d.ts +2 -1
  218. package/dist/session/subprocess.d.ts.map +1 -1
  219. package/dist/session/subprocess.js +8 -2
  220. package/dist/session/subprocess.js.map +1 -1
  221. package/dist/types.d.ts +54 -2
  222. package/dist/types.d.ts.map +1 -1
  223. package/dist/types.js +1 -3
  224. package/dist/types.js.map +1 -1
  225. package/dist/users/index.d.ts +3 -0
  226. package/dist/users/index.d.ts.map +1 -0
  227. package/dist/users/index.js +2 -0
  228. package/dist/users/index.js.map +1 -0
  229. package/dist/users/service.d.ts +25 -0
  230. package/dist/users/service.d.ts.map +1 -0
  231. package/dist/users/service.js +65 -0
  232. package/dist/users/service.js.map +1 -0
  233. package/dist/util/logger.d.ts +2 -0
  234. package/dist/util/logger.d.ts.map +1 -1
  235. package/dist/util/logger.js +24 -0
  236. package/dist/util/logger.js.map +1 -1
  237. package/dist/util/platform.d.ts +1 -1
  238. package/dist/util/platform.d.ts.map +1 -1
  239. package/dist/util/platform.js +3 -1
  240. package/dist/util/platform.js.map +1 -1
  241. package/dist/util/progress.d.ts +35 -0
  242. package/dist/util/progress.d.ts.map +1 -0
  243. package/dist/util/progress.js +134 -0
  244. package/dist/util/progress.js.map +1 -0
  245. package/dist/util/rate-limiter.d.ts +15 -0
  246. package/dist/util/rate-limiter.d.ts.map +1 -0
  247. package/dist/util/rate-limiter.js +43 -0
  248. package/dist/util/rate-limiter.js.map +1 -0
  249. package/dist/util/text.d.ts +3 -0
  250. package/dist/util/text.d.ts.map +1 -1
  251. package/dist/util/text.js +19 -0
  252. package/dist/util/text.js.map +1 -1
  253. package/dist/voice/index.d.ts +10 -0
  254. package/dist/voice/index.d.ts.map +1 -0
  255. package/dist/voice/index.js +16 -0
  256. package/dist/voice/index.js.map +1 -0
  257. package/dist/voice/stt.d.ts +15 -0
  258. package/dist/voice/stt.d.ts.map +1 -0
  259. package/dist/voice/stt.js +40 -0
  260. package/dist/voice/stt.js.map +1 -0
  261. package/dist/voice/tts.d.ts +24 -0
  262. package/dist/voice/tts.d.ts.map +1 -0
  263. package/dist/voice/tts.js +85 -0
  264. package/dist/voice/tts.js.map +1 -0
  265. package/package.json +2 -1
  266. package/dist/session/approval.d.ts +0 -20
  267. package/dist/session/approval.d.ts.map +0 -1
  268. package/dist/session/approval.js +0 -59
  269. package/dist/session/approval.js.map +0 -1
  270. package/dist/telegram/bot.d.ts +0 -25
  271. package/dist/telegram/bot.d.ts.map +0 -1
  272. package/dist/telegram/bot.js +0 -307
  273. package/dist/telegram/bot.js.map +0 -1
  274. package/dist/telegram/formatter.d.ts +0 -9
  275. package/dist/telegram/formatter.d.ts.map +0 -1
  276. package/dist/telegram/formatter.js +0 -13
  277. package/dist/telegram/formatter.js.map +0 -1
  278. package/dist/whatsapp/client.d.ts +0 -26
  279. package/dist/whatsapp/client.d.ts.map +0 -1
  280. package/dist/whatsapp/client.js +0 -145
  281. package/dist/whatsapp/client.js.map +0 -1
  282. package/dist/whatsapp/formatter.d.ts +0 -3
  283. package/dist/whatsapp/formatter.d.ts.map +0 -1
  284. package/dist/whatsapp/formatter.js +0 -7
  285. package/dist/whatsapp/formatter.js.map +0 -1
package/dist/cli/setup.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import readline from 'node:readline';
2
+ import crypto from 'node:crypto';
2
3
  import { execSync } from 'node:child_process';
3
4
  import fs from 'node:fs';
4
5
  import path from 'node:path';
@@ -28,14 +29,78 @@ export async function setupWizard() {
28
29
  console.log('\n🔧 Beecork Setup\n');
29
30
  console.log('This wizard will configure Beecork to make Claude Code always-on.\n');
30
31
  try {
31
- // 1. Telegram token
32
- const token = await ask(rl, 'Telegram Bot token (from @BotFather)');
33
- if (!token) {
34
- console.log('Telegram token is required. Get one from @BotFather on Telegram.');
35
- return;
32
+ // 0. Auto-detect Claude Code
33
+ let claudeCodeMissing = false;
34
+ console.log('Checking prerequisites...\n');
35
+ try {
36
+ const version = execSync('claude --version 2>&1', { encoding: 'utf-8' }).trim();
37
+ console.log(` \u2713 Claude Code found: ${version}`);
38
+ }
39
+ catch {
40
+ claudeCodeMissing = true;
41
+ console.log(' \u2717 Claude Code is not installed yet.');
42
+ console.log('');
43
+ console.log(' Claude Code is the AI brain that Beecork connects to.');
44
+ console.log(' You need a Claude Pro or Max subscription ($20/month) from anthropic.com');
45
+ console.log(' Then install it: npm install -g @anthropic-ai/claude-code');
46
+ console.log('');
47
+ console.log(' You can continue setup now and install Claude Code afterwards.');
48
+ console.log(' Beecork will remind you at the end.');
49
+ console.log('');
50
+ console.log(' Guide: https://support.beecork.com/claude-code-setup');
51
+ }
52
+ console.log('');
53
+ // 1. Telegram token with step-by-step instructions
54
+ console.log('Step 1: Create a Telegram Bot');
55
+ console.log('');
56
+ console.log(' A Telegram bot is your personal AI phone number.');
57
+ console.log(' Only you can talk to it — nobody else can access your Claude.');
58
+ console.log('');
59
+ console.log(' How to create one:');
60
+ console.log(' 1. Open Telegram on your phone');
61
+ console.log(' 2. Search for @BotFather (it has a blue checkmark)');
62
+ console.log(' 3. Tap "Start" and then send: /newbot');
63
+ console.log(' 4. Choose a display name (e.g., "My Beecork")');
64
+ console.log(' 5. Choose a username ending in "bot" (e.g., "mybeecork_bot")');
65
+ console.log(' 6. BotFather will reply with a token — copy it');
66
+ console.log('');
67
+ console.log(' Detailed guide: https://support.beecork.com/telegram-setup\n');
68
+ let token = '';
69
+ while (!token) {
70
+ token = await ask(rl, 'Paste your Telegram Bot token');
71
+ if (!token) {
72
+ console.log('Telegram token is required. Get one from @BotFather on Telegram.');
73
+ continue;
74
+ }
75
+ // Validate token by calling getMe
76
+ try {
77
+ const resp = await fetch(`https://api.telegram.org/bot${token}/getMe`, { signal: AbortSignal.timeout(10000) });
78
+ if (resp.ok) {
79
+ const data = await resp.json();
80
+ console.log(` \u2713 Connected to bot: @${data.result.username}\n`);
81
+ }
82
+ else {
83
+ console.log(' \u2717 Invalid token. Please check and try again.\n');
84
+ token = '';
85
+ }
86
+ }
87
+ catch {
88
+ console.log(' \u26A0 Could not verify token (network error). Continuing anyway.\n');
89
+ }
36
90
  }
37
91
  // 2. Telegram user ID
38
- const userIdStr = await ask(rl, 'Your Telegram user ID (send /start to @userinfobot)');
92
+ console.log('Step 2: Find your Telegram User ID');
93
+ console.log('');
94
+ console.log(' Your user ID tells Beecork who is allowed to use the bot.');
95
+ console.log(' Without it, anyone who finds your bot could use your Claude.');
96
+ console.log('');
97
+ console.log(' How to find it:');
98
+ console.log(' 1. Search for @userinfobot on Telegram');
99
+ console.log(' 2. Tap "Start" and send it any message');
100
+ console.log(' 3. It replies with your user ID (a number like 123456789)');
101
+ console.log('');
102
+ console.log(' Detailed guide: https://support.beecork.com/telegram-setup\n');
103
+ const userIdStr = await ask(rl, 'Your Telegram user ID');
39
104
  const userId = parseInt(userIdStr, 10);
40
105
  if (isNaN(userId)) {
41
106
  console.log('Invalid user ID. Must be a number.');
@@ -75,7 +140,6 @@ export async function setupWizard() {
75
140
  workingDir: defaultDir,
76
141
  approvalMode: 'yolo',
77
142
  approvalTimeoutMinutes: 30,
78
- debounceMs: 1500,
79
143
  },
80
144
  },
81
145
  memory: {
@@ -94,6 +158,139 @@ export async function setupWizard() {
94
158
  },
95
159
  deployment: 'local',
96
160
  };
161
+ // Optional: Additional channels
162
+ console.log('\nOptional: Add more channels\n');
163
+ console.log('You can also connect via WhatsApp, Discord, or Webhooks.');
164
+ console.log('You can always add these later with: beecork discord, beecork whatsapp, etc.\n');
165
+ const addDiscord = await ask(rl, 'Set up Discord? (y/n)', 'n');
166
+ if (addDiscord.toLowerCase() === 'y') {
167
+ console.log('\nDiscord Setup:');
168
+ console.log(' 1. Go to https://discord.com/developers/applications');
169
+ console.log(' 2. Click "New Application", give it a name');
170
+ console.log(' 3. Go to Bot → click "Add Bot"');
171
+ console.log(' 4. Copy the bot token');
172
+ console.log(' 5. Under Bot → enable "Message Content Intent"');
173
+ console.log(' 6. Use OAuth2 URL Generator to invite bot to your server');
174
+ console.log('');
175
+ console.log(' Detailed guide: https://support.beecork.com/discord-setup\n');
176
+ const discordToken = await ask(rl, 'Discord bot token (or press Enter to skip)');
177
+ if (discordToken) {
178
+ const discordUserId = await ask(rl, 'Your Discord user ID (right-click your name → Copy User ID)');
179
+ config.discord = {
180
+ token: discordToken,
181
+ allowedUserIds: discordUserId ? [discordUserId] : [],
182
+ };
183
+ console.log(' ✓ Discord configured\n');
184
+ }
185
+ }
186
+ const addWhatsApp = await ask(rl, 'Set up WhatsApp? (y/n)', 'n');
187
+ if (addWhatsApp.toLowerCase() === 'y') {
188
+ console.log('\nWhatsApp Setup:');
189
+ console.log(' WhatsApp connects via QR code scanning (like WhatsApp Web).');
190
+ console.log(' When you start the daemon, a QR code appears in the terminal.');
191
+ console.log(' Scan it with your phone to link your WhatsApp account.');
192
+ console.log('');
193
+ console.log(' Note: This uses reverse-engineered WhatsApp Web protocol.');
194
+ console.log(' For personal use only — not officially supported by WhatsApp.');
195
+ console.log('');
196
+ console.log(' Guide: https://support.beecork.com/whatsapp-setup\n');
197
+ const waNumber = await ask(rl, 'Your WhatsApp phone number (e.g., 14155551234)');
198
+ if (waNumber) {
199
+ config.whatsapp = {
200
+ enabled: true,
201
+ mode: 'baileys',
202
+ sessionPath: `${getBeecorkHome()}/whatsapp-session`,
203
+ allowedNumbers: [waNumber],
204
+ };
205
+ console.log(' ✓ WhatsApp configured (scan QR code when daemon starts)\n');
206
+ }
207
+ }
208
+ const addWebhook = await ask(rl, 'Enable Webhook API? (y/n)', 'n');
209
+ if (addWebhook.toLowerCase() === 'y') {
210
+ const webhookPort = await ask(rl, 'Webhook port', '8374');
211
+ const webhookToken = await ask(rl, 'Webhook auth token (press Enter to auto-generate)');
212
+ const whToken = webhookToken || crypto.randomBytes(24).toString('base64url');
213
+ config.webhook = {
214
+ enabled: true,
215
+ port: parseInt(webhookPort),
216
+ authToken: whToken,
217
+ };
218
+ console.log(` ✓ Webhook enabled on port ${webhookPort}`);
219
+ if (!webhookToken)
220
+ console.log(` Auth token: ${whToken}\n`);
221
+ }
222
+ // Optional: Media generation
223
+ console.log('\nOptional: Media Generation\n');
224
+ console.log('Beecork can generate images, videos, and music using AI providers.');
225
+ console.log('You can add these later with: beecork media\n');
226
+ const addMedia = await ask(rl, 'Set up media generation? (y/n)', 'n');
227
+ if (addMedia.toLowerCase() === 'y') {
228
+ const mediaGenerators = [];
229
+ console.log('\nImage: 1) Nano Banana (Google) 2) DALL-E (OpenAI) 3) Stable Diffusion 4) Recraft (Vectors)');
230
+ const imgChoice = await ask(rl, 'Choose image provider (1/2/3/4 or Enter to skip)');
231
+ if (imgChoice === '1') {
232
+ const key = await ask(rl, ' Google AI API key (from ai.google.dev)');
233
+ if (key)
234
+ mediaGenerators.push({ provider: 'nano-banana', apiKey: key });
235
+ }
236
+ else if (imgChoice === '2') {
237
+ const key = await ask(rl, ' OpenAI API key');
238
+ if (key)
239
+ mediaGenerators.push({ provider: 'dall-e', apiKey: key });
240
+ }
241
+ else if (imgChoice === '3') {
242
+ const key = await ask(rl, ' Stability AI API key');
243
+ if (key)
244
+ mediaGenerators.push({ provider: 'stable-diffusion', apiKey: key });
245
+ }
246
+ else if (imgChoice === '4') {
247
+ const key = await ask(rl, ' Recraft API key');
248
+ if (key)
249
+ mediaGenerators.push({ provider: 'recraft', apiKey: key });
250
+ }
251
+ console.log('\nVideo: 1) Runway 2) Veo 3) Kling');
252
+ const vidChoice = await ask(rl, 'Choose video provider (1/2/3 or Enter to skip)');
253
+ if (vidChoice === '1') {
254
+ const key = await ask(rl, ' Runway API key');
255
+ if (key)
256
+ mediaGenerators.push({ provider: 'runway', apiKey: key });
257
+ }
258
+ else if (vidChoice === '2') {
259
+ const key = await ask(rl, ' Google AI API key');
260
+ if (key)
261
+ mediaGenerators.push({ provider: 'veo', apiKey: key });
262
+ }
263
+ else if (vidChoice === '3') {
264
+ const key = await ask(rl, ' Kling API key');
265
+ if (key)
266
+ mediaGenerators.push({ provider: 'kling', apiKey: key });
267
+ }
268
+ console.log('\nAudio/Music: 1) ElevenLabs Music 2) Google Lyria 3) ElevenLabs SFX');
269
+ const audChoice = await ask(rl, 'Choose audio provider (1/2/3 or Enter to skip)');
270
+ if (audChoice === '1') {
271
+ const key = await ask(rl, ' ElevenLabs API key (xi-...)');
272
+ if (key)
273
+ mediaGenerators.push({ provider: 'elevenlabs-music', apiKey: key });
274
+ }
275
+ else if (audChoice === '2') {
276
+ const key = await ask(rl, ' Google AI API key (from ai.google.dev)');
277
+ if (key)
278
+ mediaGenerators.push({ provider: 'lyria', apiKey: key });
279
+ }
280
+ else if (audChoice === '3') {
281
+ const key = await ask(rl, ' ElevenLabs API key (xi-...)');
282
+ if (key)
283
+ mediaGenerators.push({ provider: 'elevenlabs-sfx', apiKey: key });
284
+ }
285
+ if (mediaGenerators.length > 0) {
286
+ config.mediaGenerators = mediaGenerators;
287
+ console.log(`\n ✓ ${mediaGenerators.length} media provider(s) configured`);
288
+ }
289
+ }
290
+ console.log('You can add or change channels later with:');
291
+ console.log(' beecork discord — add/reconfigure Discord');
292
+ console.log(' beecork whatsapp — add/reconfigure WhatsApp');
293
+ console.log(' beecork dashboard — manage everything from the web UI\n');
97
294
  // Write everything
98
295
  ensureBeecorkDirs();
99
296
  saveConfig(config);
@@ -132,9 +329,27 @@ export async function setupWizard() {
132
329
  }
133
330
  }
134
331
  console.log('\n✅ Setup complete!\n');
135
- console.log('Next steps:');
136
- console.log(' beecork start — Start the daemon');
137
- console.log(' Send a message to your Telegram bot to test\n');
332
+ if (claudeCodeMissing) {
333
+ console.log(' ⚠️ IMPORTANT: Install Claude Code before starting the daemon:');
334
+ console.log('');
335
+ console.log(' npm install -g @anthropic-ai/claude-code');
336
+ console.log('');
337
+ console.log(' You also need a Claude Pro or Max subscription ($20/month).');
338
+ console.log(' Sign up at: https://claude.ai');
339
+ console.log(' Guide: https://support.beecork.com/claude-code-setup');
340
+ console.log('');
341
+ }
342
+ console.log(' Next steps:');
343
+ console.log(' 1. Start the daemon: beecork start');
344
+ console.log(' 2. Send a message to your Telegram bot');
345
+ console.log(' 3. Check status: beecork status');
346
+ console.log('');
347
+ console.log(' Useful commands:');
348
+ console.log(' beecork doctor — check if everything is working');
349
+ console.log(' beecork dashboard — open web control panel');
350
+ console.log(' beecork quickstart — full getting-started checklist');
351
+ console.log('');
352
+ console.log(' Need help? https://support.beecork.com\n');
138
353
  }
139
354
  finally {
140
355
  rl.close();
@@ -183,16 +398,31 @@ const BEECORK_CLAUDE_MD = `${BEECORK_MARKER_START}
183
398
 
184
399
  You have Beecork MCP tools available when running inside Beecork:
185
400
 
186
- - **beecork_remember**Store facts in long-term memory (preferences, addresses, decisions)
187
- - **beecork_recall**Search memories. Call this at the start of complex tasks.
188
- - **beecork_cron_create** Schedule tasks: "at" (one-time), "every" (interval), "cron" (expression)
189
- - **beecork_cron_list / beecork_cron_delete**Manage scheduled tasks
190
- - **beecork_tab_create / beecork_tab_list**Manage virtual tabs
191
- - **beecork_send_message**Send message to another tab
192
- - **beecork_notify**Notify the user mid-task without stopping
193
- - **beecork_status**Check system status
401
+ **Memory:** beecork_remember, beecork_recall store and search long-term memory
402
+ **Scheduling:** beecork_cron_create/list/delete schedule recurring tasks
403
+ **Tabs:** beecork_tab_create/list, beecork_send_message manage virtual tabs
404
+ **Communication:** beecork_notify, beecork_send_medianotify user, send files
405
+ **Delegation:** beecork_delegate, beecork_delegation_statusdelegate tasks to other tabs
406
+ **Media:** beecork_generate_image/video/audio generate media via AI providers
407
+ **Projects:** beecork_project_create/list manage projects
408
+ **Observability:** beecork_cost, beecork_activity, beecork_status — track spending and activity
409
+ **Handoff:** beecork_handoff — export session for terminal resume
410
+
411
+ ### Self-Extension
412
+
413
+ You can install new capabilities for yourself. If the user asks for a tool or media provider that isn't configured:
414
+
415
+ 1. Check if a community package exists: \`beecork-media-<name>\` or \`beecork-channel-<name>\` on npm
416
+ 2. Install it: \`npm install -g beecork-media-<name>\`
417
+ 3. Or create a custom MCP server: write a Node.js script wrapping the API, register in \`~/.beecork/mcp-config.json\`
418
+ 4. Tell the user to restart: \`beecork stop && beecork start\`
419
+
420
+ ### Guidelines
194
421
 
195
- When running unattended: always call beecork_recall first, always beecork_remember important outcomes, use beecork_notify for progress on long tasks.
422
+ - Always call beecork_recall at the start of complex tasks
423
+ - Always beecork_remember important outcomes and decisions
424
+ - Use beecork_notify for progress on long tasks
425
+ - Use beecork_delegate for independent subtasks that need their own workspace
196
426
  ${BEECORK_MARKER_END}`;
197
427
  function injectClaudeMd() {
198
428
  const claudeMdPath = path.join(os.homedir(), '.claude', 'CLAUDE.md');
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAGhD,SAAS,GAAG,CAAC,EAAsB,EAAE,QAAgB,EAAE,YAAqB;IAC1E,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC;IAClF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAC7B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,YAAY,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa;IACpB,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEtF,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;IAEnF,IAAI,CAAC;QACH,6BAA6B;QAC7B,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,QAAQ,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAChF,OAAO,CAAC,GAAG,CAAC,+BAA+B,OAAO,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB,GAAG,IAAI,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,8EAA8E,CAAC,CAAC;YAC5F,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;YAClF,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,mDAAmD;QACnD,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;QAE9E,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,EAAE,CAAC;YACd,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,+BAA+B,CAAC,CAAC;YACvD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;gBAChF,SAAS;YACX,CAAC;YAED,kCAAkC;YAClC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,+BAA+B,KAAK,QAAQ,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC/G,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;oBACZ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAsC,CAAC;oBACnE,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;gBACvE,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;oBACrE,KAAK,GAAG,EAAE,CAAC;gBACb,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;QAE9E,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,uBAAuB,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QAED,wBAAwB;QACxB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,uBAAuB,EAAE,UAAU,CAAC,CAAC;QAErE,+BAA+B;QAC/B,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,2BAA2B,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAE5E,6DAA6D;QAC7D,OAAO,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;QAC3F,OAAO,CAAC,GAAG,CAAC,mFAAmF,CAAC,CAAC;QACjG,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,yCAAyC,CAAC,CAAC;QAExE,wBAAwB;QACxB,IAAI,SAAS,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9D,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,sCAAsC,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9F,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtE,CAAC;QAED,yBAAyB;QACzB,MAAM,oBAAoB,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,sCAAsC,EAAE,GAAG,CAAC,CAAC;QACxF,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC;QAExE,eAAe;QACf,MAAM,MAAM,GAAkB;YAC5B,GAAG,SAAS,EAAE;YACd,QAAQ,EAAE;gBACR,KAAK;gBACL,cAAc,EAAE,CAAC,MAAM,CAAC;aACzB;YACD,UAAU,EAAE;gBACV,GAAG,EAAE,SAAS;gBACd,YAAY,EAAE,CAAC,gCAAgC,CAAC;aACjD;YACD,IAAI,EAAE;gBACJ,OAAO,EAAE;oBACP,UAAU,EAAE,UAAU;oBACtB,YAAY,EAAE,MAAM;oBACpB,sBAAsB,EAAE,EAAE;iBAC3B;aACF;YACD,MAAM,EAAE;gBACN,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,sBAAsB;gBAC9B,kBAAkB,EAAE,IAAI;aACzB;YACD,IAAI,EAAE;gBACJ,OAAO,EAAE,CAAC,CAAC,MAAM;gBACjB,eAAe,EAAE,MAAM;gBACvB,YAAY,EAAE,2BAA2B;gBACzC,YAAY,EAAE,4BAA4B;gBAC1C,mBAAmB,EAAE,IAAI;gBACzB,gBAAgB,EAAE,SAAS;gBAC3B,YAAY,EAAE,CAAC;aAChB;YACD,UAAU,EAAE,OAAO;SACpB,CAAC;QAEF,gCAAgC;QAChC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;QAE9F,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,uBAAuB,EAAE,GAAG,CAAC,CAAC;QAC/D,IAAI,UAAU,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;YAE7E,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,4CAA4C,CAAC,CAAC;YACjF,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,6DAA6D,CAAC,CAAC;gBAClG,MAAc,CAAC,OAAO,GAAG;oBACxB,KAAK,EAAE,YAAY;oBACnB,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;iBACrD,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,wBAAwB,EAAE,GAAG,CAAC,CAAC;QACjE,IAAI,WAAW,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;YAC/E,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;YAC3E,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;YAC/E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;YAErE,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,gDAAgD,CAAC,CAAC;YACjF,IAAI,QAAQ,EAAE,CAAC;gBACZ,MAAc,CAAC,QAAQ,GAAG;oBACzB,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,GAAG,cAAc,EAAE,mBAAmB;oBACnD,cAAc,EAAE,CAAC,QAAQ,CAAC;iBAC3B,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,2BAA2B,EAAE,GAAG,CAAC,CAAC;QACnE,IAAI,UAAU,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;YACrC,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;YAC1D,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,mDAAmD,CAAC,CAAC;YACxF,MAAM,OAAO,GAAG,YAAY,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC5E,MAAc,CAAC,OAAO,GAAG;gBACxB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC;gBAC3B,SAAS,EAAE,OAAO;aACnB,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,+BAA+B,WAAW,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,YAAY;gBAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,IAAI,CAAC,CAAC;QAC/D,CAAC;QAED,6BAA6B;QAC7B,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;QAClF,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAE7D,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,gCAAgC,EAAE,GAAG,CAAC,CAAC;QACtE,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;YACnC,MAAM,eAAe,GAAgE,EAAE,CAAC;YAExF,OAAO,CAAC,GAAG,CAAC,iGAAiG,CAAC,CAAC;YAC/G,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,kDAAkD,CAAC,CAAC;YACpF,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,0CAA0C,CAAC,CAAC;gBACtE,IAAI,GAAG;oBAAE,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1E,CAAC;iBAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;gBAC9C,IAAI,GAAG;oBAAE,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACrE,CAAC;iBAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,wBAAwB,CAAC,CAAC;gBACpD,IAAI,GAAG;oBAAE,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAC/E,CAAC;iBAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC;gBAC/C,IAAI,GAAG;oBAAE,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACtE,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;YACpD,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,gDAAgD,CAAC,CAAC;YAClF,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;gBAC9C,IAAI,GAAG;oBAAE,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACrE,CAAC;iBAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC;gBACjD,IAAI,GAAG;oBAAE,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAClE,CAAC;iBAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;gBAC7C,IAAI,GAAG;oBAAE,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;YACtF,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,gDAAgD,CAAC,CAAC;YAClF,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,+BAA+B,CAAC,CAAC;gBAC3D,IAAI,GAAG;oBAAE,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAC/E,CAAC;iBAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,0CAA0C,CAAC,CAAC;gBACtE,IAAI,GAAG;oBAAE,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACpE,CAAC;iBAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,+BAA+B,CAAC,CAAC;gBAC3D,IAAI,GAAG;oBAAE,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7E,CAAC;YAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAc,CAAC,eAAe,GAAG,eAAe,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,SAAS,eAAe,CAAC,MAAM,+BAA+B,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAE1E,mBAAmB;QACnB,iBAAiB,EAAE,CAAC;QACpB,UAAU,CAAC,MAAM,CAAC,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,uBAAuB,cAAc,EAAE,cAAc,CAAC,CAAC;QAEnE,sBAAsB;QACtB,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAEtC,sBAAsB;QACtB,iBAAiB,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,6BAA6B,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAE/D,oDAAoD;QACpD,cAAc,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QAEjE,uCAAuC;QACvC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;YACvE,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;YACpE,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC/D,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;YACpC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,CAAC,MAAM,WAAW,CAAC,CAAC;YACxD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,kBAAkB;QAClB,IAAI,oBAAoB,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,0BAA0B,WAAW,EAAE,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,6BAA6B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBACrF,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAErC,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;YAChF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;YAChF,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAE5D,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB;IACxB,2BAA2B;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChE,4CAA4C;IAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAEtE,0CAA0C;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAEnE,IAAI,aAAqB,CAAC;IAC1B,IAAI,UAAoB,CAAC;IAEzB,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,aAAa,GAAG,MAAM,CAAC;QACvB,UAAU,GAAG,CAAC,aAAa,CAAC,CAAC;IAC/B,CAAC;SAAM,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACrC,4BAA4B;QAC5B,aAAa,GAAG,KAAK,CAAC;QACtB,UAAU,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,kCAAkC;QAClC,aAAa,GAAG,MAAM,CAAC;QACvB,UAAU,GAAG,CAAC,aAAa,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,SAAS,GAAG;QAChB,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,OAAO,EAAE,aAAa;gBACtB,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE;oBACH,YAAY,EAAE,cAAc,EAAE;iBAC/B;aACF;SACF;KACF,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AACtD,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAElD,MAAM,iBAAiB,GAAG,GAAG,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8B/C,kBAAkB,EAAE,CAAC;AAEvB,SAAS,cAAc;IACrB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7C,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7C,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAEjD,kCAAkC;QAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACnD,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YACrC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACzF,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAAC;IACtD,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA0C3D,wBAAgB,SAAS,IAAI,aAAa,CAkBzC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAMtD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAGvD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGzD;AAED,wBAAgB,cAAc,IAAI,MAAM,CAGvC;AAID,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK3D"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAmD3D,wBAAgB,SAAS,IAAI,aAAa,CAkBzC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAMtD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAGvD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGzD;AAED,wBAAgB,cAAc,IAAI,MAAM,CAGvC;AAID,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK3D"}
package/dist/config.js CHANGED
@@ -6,7 +6,6 @@ const DEFAULT_TAB_CONFIG = {
6
6
  workingDir: os.homedir(),
7
7
  approvalMode: 'yolo',
8
8
  approvalTimeoutMinutes: 30,
9
- debounceMs: 1500,
10
9
  };
11
10
  const DEFAULT_PIPE_CONFIG = {
12
11
  enabled: false,
@@ -17,11 +16,21 @@ const DEFAULT_PIPE_CONFIG = {
17
16
  projectScanPaths: ['~/Coding', '~/Projects', '~/code', '~/dev'],
18
17
  maxFollowUps: 5,
19
18
  };
19
+ /**
20
+ * INTENTIONAL: Beecork is designed for unattended AI agent operation.
21
+ * 'yolo' mode allows all tool calls without user approval.
22
+ * Users can override to 'auto-safe' or 'manual' in ~/.beecork/config.json.
23
+ */
20
24
  const DEFAULT_CONFIG = {
21
25
  telegram: {
22
26
  token: '',
23
27
  allowedUserIds: [],
24
28
  },
29
+ /**
30
+ * INTENTIONAL: --dangerously-skip-permissions is required for unattended operation.
31
+ * Without it, Claude Code would block on every tool call waiting for user input.
32
+ * Users can override defaultFlags in ~/.beecork/config.json.
33
+ */
25
34
  claudeCode: {
26
35
  bin: 'claude',
27
36
  defaultFlags: ['--dangerously-skip-permissions'],
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,8 @@ export declare class CronScheduler {
15
15
  private fireJob;
16
16
  private handleSystemEvent;
17
17
  }
18
+ /** Convert human interval (30m, 2h, 1d, 1h30m, 2w) to milliseconds */
19
+ export declare function intervalToMs(interval: string): number | null;
18
20
  /** Convert human interval (30m, 2h, 1d, 1h30m, 2w) to cron expression */
19
21
  export declare function intervalToCron(interval: string): string | null;
20
22
  //# sourceMappingURL=scheduler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/cron/scheduler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAOxE,qBAAa,aAAa;IAKtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,QAAQ;IALlB,OAAO,CAAC,aAAa,CAAqC;IAC1D,OAAO,CAAC,KAAK,CAAmB;gBAGtB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,cAAc,GAAG,IAAI;IAGzC,sDAAsD;IACtD,eAAe,IAAI,IAAI;IAiCvB,6DAA6D;IAC7D,cAAc,IAAI,IAAI;IAStB,8BAA8B;IAC9B,OAAO,IAAI,IAAI;IAOf,OAAO,CAAC,WAAW;YAwCL,OAAO;YAoDP,iBAAiB;CAehC;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA4B9D"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/cron/scheduler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAOxE,qBAAa,aAAa;IAKtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,QAAQ;IALlB,OAAO,CAAC,aAAa,CAAqC;IAC1D,OAAO,CAAC,KAAK,CAAmB;gBAGtB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,cAAc,GAAG,IAAI;IAGzC,sDAAsD;IACtD,eAAe,IAAI,IAAI;IAiCvB,6DAA6D;IAC7D,cAAc,IAAI,IAAI;IAStB,8BAA8B;IAC9B,OAAO,IAAI,IAAI;IAOf,OAAO,CAAC,WAAW;YAmDL,OAAO;YAoDP,iBAAiB;CAehC;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAW5D;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAyB9D"}
@@ -74,12 +74,25 @@ export class CronScheduler {
74
74
  }
75
75
  case 'every': {
76
76
  const cronExpr = intervalToCron(job.schedule);
77
- if (!cronExpr || !cron.validate(cronExpr)) {
78
- logger.error(`Cron: invalid interval for "${job.name}": ${job.schedule}`);
79
- return;
77
+ if (cronExpr) {
78
+ if (!cron.validate(cronExpr)) {
79
+ logger.error(`Cron: invalid cron expression for "${job.name}": ${cronExpr}`);
80
+ return;
81
+ }
82
+ const task = cron.schedule(cronExpr, () => this.fireJob(job));
83
+ this.scheduledJobs.set(job.id, task);
84
+ }
85
+ else {
86
+ // Use setInterval for non-cron-expressible intervals
87
+ const totalMs = intervalToMs(job.schedule);
88
+ if (totalMs) {
89
+ const timer = setInterval(() => this.fireJob(job), totalMs);
90
+ this.scheduledJobs.set(job.id, { stop: () => clearInterval(timer) });
91
+ }
92
+ else {
93
+ logger.error(`Cron: invalid interval for "${job.name}": ${job.schedule}`);
94
+ }
80
95
  }
81
- const task = cron.schedule(cronExpr, () => this.fireJob(job));
82
- this.scheduledJobs.set(job.id, task);
83
96
  break;
84
97
  }
85
98
  case 'at': {
@@ -163,6 +176,18 @@ export class CronScheduler {
163
176
  }
164
177
  }
165
178
  }
179
+ /** Convert human interval (30m, 2h, 1d, 1h30m, 2w) to milliseconds */
180
+ export function intervalToMs(interval) {
181
+ const match = interval.match(/^(?:(\d+)w)?(?:(\d+)d)?(?:(\d+)h)?(?:(\d+)m)?$/);
182
+ if (!match || match.slice(1).every(g => g === undefined))
183
+ return null;
184
+ const weeks = parseInt(match[1] || '0', 10);
185
+ const days = parseInt(match[2] || '0', 10);
186
+ const hours = parseInt(match[3] || '0', 10);
187
+ const mins = parseInt(match[4] || '0', 10);
188
+ const totalMs = ((weeks * 7 * 24 * 60) + (days * 24 * 60) + (hours * 60) + mins) * 60 * 1000;
189
+ return totalMs > 0 ? totalMs : null;
190
+ }
166
191
  /** Convert human interval (30m, 2h, 1d, 1h30m, 2w) to cron expression */
167
192
  export function intervalToCron(interval) {
168
193
  // Try combined format: 1h30m, 2h, 30m, 1d, 2w
@@ -189,10 +214,7 @@ export function intervalToCron(interval) {
189
214
  // Weekly intervals
190
215
  if (mins === 0 && hours === 0 && days === 0 && weeks > 0)
191
216
  return `0 0 * * 0`;
192
- // Combined intervals (e.g., 1h30m = every 90 minutes)
193
- if (totalMins <= 1440)
194
- return `*/${totalMins} * * * *`; // up to 24h as minutes
195
- // Fallback for very large intervals: daily
196
- return `0 0 */${Math.ceil(totalMins / 1440)} * *`;
217
+ // Combined or large intervals return null, handled by setInterval in scheduleJob
218
+ return null;
197
219
  }
198
220
  //# sourceMappingURL=scheduler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/cron/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAQ3C,MAAM,OAAO,aAAa;IAKd;IACA;IALF,aAAa,GAA2B,IAAI,GAAG,EAAE,CAAC;IAClD,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;IAEhC,YACU,UAAsB,EACtB,QAA+B;QAD/B,eAAU,GAAV,UAAU,CAAY;QACtB,aAAQ,GAAR,QAAQ,CAAuB;IACtC,CAAC;IAEJ,sDAAsD;IACtD,eAAe;QACb,kBAAkB;QAClB,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,OAAO;gBAAE,SAAS;YAE3B,8EAA8E;YAC9E,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;gBAChD,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;gBACpD,IAAI,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,mCAAmC,GAAG,CAAC,IAAI,wBAAwB,GAAG,CAAC,QAAQ,eAAe,CAAC,CAAC;oBAC5G,WAAW,EAAE,CAAC;oBACd,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAClB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,mCAAmC;oBAClF,SAAS;gBACX,CAAC;YACH,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACtB,SAAS,EAAE,CAAC;QACd,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,gBAAgB,SAAS,iBAAiB,IAAI,CAAC,MAAM,UAAU,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,WAAW,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvI,CAAC;IAED,6DAA6D;IAC7D,cAAc;QACZ,MAAM,UAAU,GAAG,uBAAuB,EAAE,CAAC;QAC7C,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC;gBAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,wBAAwB,CAAC,CAAC;YACrE,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YACjE,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,OAAO;QACL,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAEO,WAAW,CAAC,GAAY;QAC9B,QAAQ,GAAG,CAAC,YAAY,EAAE,CAAC;YACzB,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACjC,MAAM,CAAC,KAAK,CAAC,iCAAiC,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC5E,OAAO;gBACT,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACrC,MAAM;YACR,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC9C,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC1C,MAAM,CAAC,KAAK,CAAC,+BAA+B,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC1E,OAAO;gBACT,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACrC,MAAM;YACR,CAAC;YAED,KAAK,IAAI,CAAC,CAAC,CAAC;gBACV,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACtC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,CAAC,uBAAuB,GAAG,CAAC,IAAI,4BAA4B,CAAC,CAAC;oBACzE,OAAO;gBACT,CAAC;gBACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAClB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChD,CAAC,EAAE,KAAK,CAAC,CAAC;gBACV,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACpE,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,GAAY;QAChC,MAAM,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,WAAW,IAAI,WAAW,WAAW,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACnG,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC;QAEhE,iEAAiE;QACjE,IAAI,GAAG,CAAC,WAAW,KAAK,aAAa,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACnE,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,aAAa,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;YACvF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,MAAM,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC,IAAI,WAAW,EAAE,GAAG,CAAC,CAAC;gBACxD,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,YAAY,MAAM,IAAI,CAAC,CAAC;YACjF,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAE3E,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAEnE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,aAAa,CAAC;YAE7E,aAAa;YACb,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,cAAc,SAAS,IAAI,CAAC,CAAC;YAEpF,0FAA0F;YAC1F,IAAI,CAAC;gBACH,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;wBACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,SAAS,EAAE,CAAC,CAAC;oBAC/D,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,SAAS,EAAE,CAAC,CAAC;oBAC7D,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,SAAS,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,wBAAwB,EAAE,SAAS,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,IAAI,WAAW,EAAE,GAAG,CAAC,CAAC;YACpD,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,YAAY,MAAM,IAAI,CAAC,CAAC;YAE/E,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;YAAC,MAAM,CAAC,CAAC,8BAA8B,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,GAAY;QAC1C,QAAQ,GAAG,CAAC,OAAO,EAAE,CAAC;YACpB,KAAK,cAAc;gBACjB,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;gBACzD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,MAAM,IAAI,CAAC,QAAQ,CAAC,kDAAkD,CAAC,CAAC;gBAC1E,CAAC;gBACD,MAAM;YACR,KAAK,mBAAmB;gBACtB,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;gBACrE,MAAM;YACR;gBACE,MAAM,CAAC,IAAI,CAAC,yBAAyB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;CACF;AAED,yEAAyE;AACzE,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,8CAA8C;IAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAC/E,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAE3C,gDAAgD;IAChD,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC;IAC3E,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhC,yBAAyB;IACzB,IAAI,SAAS,IAAI,EAAE;QAAE,OAAO,KAAK,SAAS,UAAU,CAAC;IACrD,mBAAmB;IACnB,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,OAAO,KAAK,QAAQ,CAAC;IACrG,kBAAkB;IAClB,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,SAAS,IAAI,MAAM,CAAC;IACrF,mBAAmB;IACnB,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,WAAW,CAAC;IAE7E,sDAAsD;IACtD,IAAI,SAAS,IAAI,IAAI;QAAE,OAAO,KAAK,SAAS,UAAU,CAAC,CAAC,uBAAuB;IAE/E,2CAA2C;IAC3C,OAAO,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/cron/scheduler.ts"],"names":[],"mappings":"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"}