@jungjaehoon/mama-os 0.1.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 (356) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/README.md +643 -0
  3. package/dist/agent/agent-loop.d.ts +98 -0
  4. package/dist/agent/agent-loop.d.ts.map +1 -0
  5. package/dist/agent/agent-loop.js +417 -0
  6. package/dist/agent/agent-loop.js.map +1 -0
  7. package/dist/agent/auto-recall.d.ts +48 -0
  8. package/dist/agent/auto-recall.d.ts.map +1 -0
  9. package/dist/agent/auto-recall.js +178 -0
  10. package/dist/agent/auto-recall.js.map +1 -0
  11. package/dist/agent/claude-cli-wrapper.d.ts +130 -0
  12. package/dist/agent/claude-cli-wrapper.d.ts.map +1 -0
  13. package/dist/agent/claude-cli-wrapper.js +227 -0
  14. package/dist/agent/claude-cli-wrapper.js.map +1 -0
  15. package/dist/agent/claude-client.d.ts +50 -0
  16. package/dist/agent/claude-client.d.ts.map +1 -0
  17. package/dist/agent/claude-client.js +214 -0
  18. package/dist/agent/claude-client.js.map +1 -0
  19. package/dist/agent/gateway-tool-executor.d.ts +75 -0
  20. package/dist/agent/gateway-tool-executor.d.ts.map +1 -0
  21. package/dist/agent/gateway-tool-executor.js +348 -0
  22. package/dist/agent/gateway-tool-executor.js.map +1 -0
  23. package/dist/agent/index.d.ts +13 -0
  24. package/dist/agent/index.d.ts.map +1 -0
  25. package/dist/agent/index.js +18 -0
  26. package/dist/agent/index.js.map +1 -0
  27. package/dist/agent/mcp-executor.d.ts +75 -0
  28. package/dist/agent/mcp-executor.d.ts.map +1 -0
  29. package/dist/agent/mcp-executor.js +307 -0
  30. package/dist/agent/mcp-executor.js.map +1 -0
  31. package/dist/agent/session-pool.d.ts +148 -0
  32. package/dist/agent/session-pool.d.ts.map +1 -0
  33. package/dist/agent/session-pool.js +272 -0
  34. package/dist/agent/session-pool.js.map +1 -0
  35. package/dist/agent/streaming-callback-manager.d.ts +85 -0
  36. package/dist/agent/streaming-callback-manager.d.ts.map +1 -0
  37. package/dist/agent/streaming-callback-manager.js +103 -0
  38. package/dist/agent/streaming-callback-manager.js.map +1 -0
  39. package/dist/agent/types.d.ts +437 -0
  40. package/dist/agent/types.d.ts.map +1 -0
  41. package/dist/agent/types.js +29 -0
  42. package/dist/agent/types.js.map +1 -0
  43. package/dist/api/cron-handler.d.ts +44 -0
  44. package/dist/api/cron-handler.d.ts.map +1 -0
  45. package/dist/api/cron-handler.js +195 -0
  46. package/dist/api/cron-handler.js.map +1 -0
  47. package/dist/api/error-handler.d.ts +22 -0
  48. package/dist/api/error-handler.d.ts.map +1 -0
  49. package/dist/api/error-handler.js +104 -0
  50. package/dist/api/error-handler.js.map +1 -0
  51. package/dist/api/heartbeat-handler.d.ts +49 -0
  52. package/dist/api/heartbeat-handler.d.ts.map +1 -0
  53. package/dist/api/heartbeat-handler.js +91 -0
  54. package/dist/api/heartbeat-handler.js.map +1 -0
  55. package/dist/api/index.d.ts +61 -0
  56. package/dist/api/index.d.ts.map +1 -0
  57. package/dist/api/index.js +145 -0
  58. package/dist/api/index.js.map +1 -0
  59. package/dist/api/types.d.ts +156 -0
  60. package/dist/api/types.d.ts.map +1 -0
  61. package/dist/api/types.js +62 -0
  62. package/dist/api/types.js.map +1 -0
  63. package/dist/auth/index.d.ts +7 -0
  64. package/dist/auth/index.d.ts.map +1 -0
  65. package/dist/auth/index.js +11 -0
  66. package/dist/auth/index.js.map +1 -0
  67. package/dist/auth/oauth-manager.d.ts +59 -0
  68. package/dist/auth/oauth-manager.d.ts.map +1 -0
  69. package/dist/auth/oauth-manager.js +237 -0
  70. package/dist/auth/oauth-manager.js.map +1 -0
  71. package/dist/auth/types.d.ts +92 -0
  72. package/dist/auth/types.d.ts.map +1 -0
  73. package/dist/auth/types.js +23 -0
  74. package/dist/auth/types.js.map +1 -0
  75. package/dist/cli/commands/init.d.ts +19 -0
  76. package/dist/cli/commands/init.d.ts.map +1 -0
  77. package/dist/cli/commands/init.js +155 -0
  78. package/dist/cli/commands/init.js.map +1 -0
  79. package/dist/cli/commands/run.d.ts +19 -0
  80. package/dist/cli/commands/run.d.ts.map +1 -0
  81. package/dist/cli/commands/run.js +89 -0
  82. package/dist/cli/commands/run.js.map +1 -0
  83. package/dist/cli/commands/setup.d.ts +19 -0
  84. package/dist/cli/commands/setup.d.ts.map +1 -0
  85. package/dist/cli/commands/setup.js +134 -0
  86. package/dist/cli/commands/setup.js.map +1 -0
  87. package/dist/cli/commands/start.d.ts +24 -0
  88. package/dist/cli/commands/start.d.ts.map +1 -0
  89. package/dist/cli/commands/start.js +1073 -0
  90. package/dist/cli/commands/start.js.map +1 -0
  91. package/dist/cli/commands/status.d.ts +10 -0
  92. package/dist/cli/commands/status.d.ts.map +1 -0
  93. package/dist/cli/commands/status.js +85 -0
  94. package/dist/cli/commands/status.js.map +1 -0
  95. package/dist/cli/commands/stop.d.ts +10 -0
  96. package/dist/cli/commands/stop.d.ts.map +1 -0
  97. package/dist/cli/commands/stop.js +65 -0
  98. package/dist/cli/commands/stop.js.map +1 -0
  99. package/dist/cli/config/config-manager.d.ts +51 -0
  100. package/dist/cli/config/config-manager.d.ts.map +1 -0
  101. package/dist/cli/config/config-manager.js +216 -0
  102. package/dist/cli/config/config-manager.js.map +1 -0
  103. package/dist/cli/config/types.d.ts +172 -0
  104. package/dist/cli/config/types.d.ts.map +1 -0
  105. package/dist/cli/config/types.js +48 -0
  106. package/dist/cli/config/types.js.map +1 -0
  107. package/dist/cli/index.d.ts +8 -0
  108. package/dist/cli/index.d.ts.map +1 -0
  109. package/dist/cli/index.js +92 -0
  110. package/dist/cli/index.js.map +1 -0
  111. package/dist/cli/utils/pid-manager.d.ts +66 -0
  112. package/dist/cli/utils/pid-manager.d.ts.map +1 -0
  113. package/dist/cli/utils/pid-manager.js +167 -0
  114. package/dist/cli/utils/pid-manager.js.map +1 -0
  115. package/dist/concurrency/index.d.ts +13 -0
  116. package/dist/concurrency/index.d.ts.map +1 -0
  117. package/dist/concurrency/index.js +22 -0
  118. package/dist/concurrency/index.js.map +1 -0
  119. package/dist/concurrency/lane-manager.d.ts +113 -0
  120. package/dist/concurrency/lane-manager.d.ts.map +1 -0
  121. package/dist/concurrency/lane-manager.js +245 -0
  122. package/dist/concurrency/lane-manager.js.map +1 -0
  123. package/dist/concurrency/session-key.d.ts +41 -0
  124. package/dist/concurrency/session-key.d.ts.map +1 -0
  125. package/dist/concurrency/session-key.js +61 -0
  126. package/dist/concurrency/session-key.js.map +1 -0
  127. package/dist/concurrency/types.d.ts +69 -0
  128. package/dist/concurrency/types.d.ts.map +1 -0
  129. package/dist/concurrency/types.js +16 -0
  130. package/dist/concurrency/types.js.map +1 -0
  131. package/dist/gateways/channel-history.d.ts +102 -0
  132. package/dist/gateways/channel-history.d.ts.map +1 -0
  133. package/dist/gateways/channel-history.js +181 -0
  134. package/dist/gateways/channel-history.js.map +1 -0
  135. package/dist/gateways/context-injector.d.ts +74 -0
  136. package/dist/gateways/context-injector.d.ts.map +1 -0
  137. package/dist/gateways/context-injector.js +121 -0
  138. package/dist/gateways/context-injector.js.map +1 -0
  139. package/dist/gateways/discord.d.ts +122 -0
  140. package/dist/gateways/discord.d.ts.map +1 -0
  141. package/dist/gateways/discord.js +602 -0
  142. package/dist/gateways/discord.js.map +1 -0
  143. package/dist/gateways/index.d.ts +30 -0
  144. package/dist/gateways/index.d.ts.map +1 -0
  145. package/dist/gateways/index.js +49 -0
  146. package/dist/gateways/index.js.map +1 -0
  147. package/dist/gateways/message-router.d.ts +116 -0
  148. package/dist/gateways/message-router.d.ts.map +1 -0
  149. package/dist/gateways/message-router.js +315 -0
  150. package/dist/gateways/message-router.js.map +1 -0
  151. package/dist/gateways/message-splitter.d.ts +54 -0
  152. package/dist/gateways/message-splitter.d.ts.map +1 -0
  153. package/dist/gateways/message-splitter.js +146 -0
  154. package/dist/gateways/message-splitter.js.map +1 -0
  155. package/dist/gateways/plugin-loader.d.ts +76 -0
  156. package/dist/gateways/plugin-loader.d.ts.map +1 -0
  157. package/dist/gateways/plugin-loader.js +221 -0
  158. package/dist/gateways/plugin-loader.js.map +1 -0
  159. package/dist/gateways/session-store.d.ts +77 -0
  160. package/dist/gateways/session-store.d.ts.map +1 -0
  161. package/dist/gateways/session-store.js +233 -0
  162. package/dist/gateways/session-store.js.map +1 -0
  163. package/dist/gateways/slack.d.ts +90 -0
  164. package/dist/gateways/slack.d.ts.map +1 -0
  165. package/dist/gateways/slack.js +281 -0
  166. package/dist/gateways/slack.js.map +1 -0
  167. package/dist/gateways/telegram.d.ts +79 -0
  168. package/dist/gateways/telegram.d.ts.map +1 -0
  169. package/dist/gateways/telegram.js +207 -0
  170. package/dist/gateways/telegram.js.map +1 -0
  171. package/dist/gateways/types.d.ts +340 -0
  172. package/dist/gateways/types.d.ts.map +1 -0
  173. package/dist/gateways/types.js +6 -0
  174. package/dist/gateways/types.js.map +1 -0
  175. package/dist/index.d.ts +7 -0
  176. package/dist/index.d.ts.map +1 -0
  177. package/dist/index.js +26 -0
  178. package/dist/index.js.map +1 -0
  179. package/dist/memory/memory-logger.d.ts +47 -0
  180. package/dist/memory/memory-logger.d.ts.map +1 -0
  181. package/dist/memory/memory-logger.js +126 -0
  182. package/dist/memory/memory-logger.js.map +1 -0
  183. package/dist/onboarding/all-tools.d.ts +18 -0
  184. package/dist/onboarding/all-tools.d.ts.map +1 -0
  185. package/dist/onboarding/all-tools.js +149 -0
  186. package/dist/onboarding/all-tools.js.map +1 -0
  187. package/dist/onboarding/autonomous-discovery-tools.d.ts +13 -0
  188. package/dist/onboarding/autonomous-discovery-tools.d.ts.map +1 -0
  189. package/dist/onboarding/autonomous-discovery-tools.js +268 -0
  190. package/dist/onboarding/autonomous-discovery-tools.js.map +1 -0
  191. package/dist/onboarding/bootstrap-template.d.ts +5 -0
  192. package/dist/onboarding/bootstrap-template.d.ts.map +1 -0
  193. package/dist/onboarding/bootstrap-template.js +142 -0
  194. package/dist/onboarding/bootstrap-template.js.map +1 -0
  195. package/dist/onboarding/complete-autonomous-prompt.d.ts +13 -0
  196. package/dist/onboarding/complete-autonomous-prompt.d.ts.map +1 -0
  197. package/dist/onboarding/complete-autonomous-prompt.js +1220 -0
  198. package/dist/onboarding/complete-autonomous-prompt.js.map +1 -0
  199. package/dist/onboarding/onboarding-state.d.ts +70 -0
  200. package/dist/onboarding/onboarding-state.d.ts.map +1 -0
  201. package/dist/onboarding/onboarding-state.js +184 -0
  202. package/dist/onboarding/onboarding-state.js.map +1 -0
  203. package/dist/onboarding/personality-quiz.d.ts +35 -0
  204. package/dist/onboarding/personality-quiz.d.ts.map +1 -0
  205. package/dist/onboarding/personality-quiz.js +219 -0
  206. package/dist/onboarding/personality-quiz.js.map +1 -0
  207. package/dist/onboarding/phase-5-summary.d.ts +22 -0
  208. package/dist/onboarding/phase-5-summary.d.ts.map +1 -0
  209. package/dist/onboarding/phase-5-summary.js +151 -0
  210. package/dist/onboarding/phase-5-summary.js.map +1 -0
  211. package/dist/onboarding/phase-6-security.d.ts +33 -0
  212. package/dist/onboarding/phase-6-security.d.ts.map +1 -0
  213. package/dist/onboarding/phase-6-security.js +473 -0
  214. package/dist/onboarding/phase-6-security.js.map +1 -0
  215. package/dist/onboarding/phase-7-integrations.d.ts +66 -0
  216. package/dist/onboarding/phase-7-integrations.d.ts.map +1 -0
  217. package/dist/onboarding/phase-7-integrations.js +619 -0
  218. package/dist/onboarding/phase-7-integrations.js.map +1 -0
  219. package/dist/onboarding/phase-8-demo.d.ts +43 -0
  220. package/dist/onboarding/phase-8-demo.d.ts.map +1 -0
  221. package/dist/onboarding/phase-8-demo.js +346 -0
  222. package/dist/onboarding/phase-8-demo.js.map +1 -0
  223. package/dist/onboarding/phase-9-finalization.d.ts +22 -0
  224. package/dist/onboarding/phase-9-finalization.d.ts.map +1 -0
  225. package/dist/onboarding/phase-9-finalization.js +375 -0
  226. package/dist/onboarding/phase-9-finalization.js.map +1 -0
  227. package/dist/onboarding/ritual-prompt.d.ts +2 -0
  228. package/dist/onboarding/ritual-prompt.d.ts.map +1 -0
  229. package/dist/onboarding/ritual-prompt.js +285 -0
  230. package/dist/onboarding/ritual-prompt.js.map +1 -0
  231. package/dist/onboarding/ritual-tools.d.ts +13 -0
  232. package/dist/onboarding/ritual-tools.d.ts.map +1 -0
  233. package/dist/onboarding/ritual-tools.js +93 -0
  234. package/dist/onboarding/ritual-tools.js.map +1 -0
  235. package/dist/runners/cli-runner.d.ts +59 -0
  236. package/dist/runners/cli-runner.d.ts.map +1 -0
  237. package/dist/runners/cli-runner.js +190 -0
  238. package/dist/runners/cli-runner.js.map +1 -0
  239. package/dist/runners/index.d.ts +11 -0
  240. package/dist/runners/index.d.ts.map +1 -0
  241. package/dist/runners/index.js +15 -0
  242. package/dist/runners/index.js.map +1 -0
  243. package/dist/runners/types.d.ts +81 -0
  244. package/dist/runners/types.d.ts.map +1 -0
  245. package/dist/runners/types.js +31 -0
  246. package/dist/runners/types.js.map +1 -0
  247. package/dist/scheduler/cron-scheduler.d.ts +115 -0
  248. package/dist/scheduler/cron-scheduler.d.ts.map +1 -0
  249. package/dist/scheduler/cron-scheduler.js +320 -0
  250. package/dist/scheduler/cron-scheduler.js.map +1 -0
  251. package/dist/scheduler/heartbeat.d.ts +53 -0
  252. package/dist/scheduler/heartbeat.d.ts.map +1 -0
  253. package/dist/scheduler/heartbeat.js +160 -0
  254. package/dist/scheduler/heartbeat.js.map +1 -0
  255. package/dist/scheduler/index.d.ts +22 -0
  256. package/dist/scheduler/index.d.ts.map +1 -0
  257. package/dist/scheduler/index.js +31 -0
  258. package/dist/scheduler/index.js.map +1 -0
  259. package/dist/scheduler/job-lock.d.ts +85 -0
  260. package/dist/scheduler/job-lock.d.ts.map +1 -0
  261. package/dist/scheduler/job-lock.js +137 -0
  262. package/dist/scheduler/job-lock.js.map +1 -0
  263. package/dist/scheduler/recovery.d.ts +78 -0
  264. package/dist/scheduler/recovery.d.ts.map +1 -0
  265. package/dist/scheduler/recovery.js +124 -0
  266. package/dist/scheduler/recovery.js.map +1 -0
  267. package/dist/scheduler/schedule-store.d.ts +112 -0
  268. package/dist/scheduler/schedule-store.d.ts.map +1 -0
  269. package/dist/scheduler/schedule-store.js +259 -0
  270. package/dist/scheduler/schedule-store.js.map +1 -0
  271. package/dist/scheduler/token-keep-alive.d.ts +49 -0
  272. package/dist/scheduler/token-keep-alive.d.ts.map +1 -0
  273. package/dist/scheduler/token-keep-alive.js +102 -0
  274. package/dist/scheduler/token-keep-alive.js.map +1 -0
  275. package/dist/scheduler/types.d.ts +96 -0
  276. package/dist/scheduler/types.d.ts.map +1 -0
  277. package/dist/scheduler/types.js +21 -0
  278. package/dist/scheduler/types.js.map +1 -0
  279. package/dist/setup/setup-prompt.d.ts +2 -0
  280. package/dist/setup/setup-prompt.d.ts.map +1 -0
  281. package/dist/setup/setup-prompt.js +138 -0
  282. package/dist/setup/setup-prompt.js.map +1 -0
  283. package/dist/setup/setup-server.d.ts +8 -0
  284. package/dist/setup/setup-server.d.ts.map +1 -0
  285. package/dist/setup/setup-server.js +71 -0
  286. package/dist/setup/setup-server.js.map +1 -0
  287. package/dist/setup/setup-tools.d.ts +13 -0
  288. package/dist/setup/setup-tools.d.ts.map +1 -0
  289. package/dist/setup/setup-tools.js +103 -0
  290. package/dist/setup/setup-tools.js.map +1 -0
  291. package/dist/setup/setup-websocket.d.ts +6 -0
  292. package/dist/setup/setup-websocket.d.ts.map +1 -0
  293. package/dist/setup/setup-websocket.js +312 -0
  294. package/dist/setup/setup-websocket.js.map +1 -0
  295. package/dist/skills/index.d.ts +10 -0
  296. package/dist/skills/index.d.ts.map +1 -0
  297. package/dist/skills/index.js +26 -0
  298. package/dist/skills/index.js.map +1 -0
  299. package/dist/skills/skill-executor.d.ts +48 -0
  300. package/dist/skills/skill-executor.d.ts.map +1 -0
  301. package/dist/skills/skill-executor.js +483 -0
  302. package/dist/skills/skill-executor.js.map +1 -0
  303. package/dist/skills/skill-loader.d.ts +40 -0
  304. package/dist/skills/skill-loader.d.ts.map +1 -0
  305. package/dist/skills/skill-loader.js +225 -0
  306. package/dist/skills/skill-loader.js.map +1 -0
  307. package/dist/skills/skill-matcher.d.ts +33 -0
  308. package/dist/skills/skill-matcher.d.ts.map +1 -0
  309. package/dist/skills/skill-matcher.js +190 -0
  310. package/dist/skills/skill-matcher.js.map +1 -0
  311. package/dist/skills/types.d.ts +123 -0
  312. package/dist/skills/types.d.ts.map +1 -0
  313. package/dist/skills/types.js +12 -0
  314. package/dist/skills/types.js.map +1 -0
  315. package/dist/tools/browser-tool.d.ts +149 -0
  316. package/dist/tools/browser-tool.d.ts.map +1 -0
  317. package/dist/tools/browser-tool.js +257 -0
  318. package/dist/tools/browser-tool.js.map +1 -0
  319. package/package.json +84 -0
  320. package/public/favicon.ico +0 -0
  321. package/public/setup.html +1026 -0
  322. package/public/viewer/icons/icon-192.png +0 -0
  323. package/public/viewer/icons/icon-512.png +0 -0
  324. package/public/viewer/js/modules/chat.js +1587 -0
  325. package/public/viewer/js/modules/dashboard.js +275 -0
  326. package/public/viewer/js/modules/graph.js +997 -0
  327. package/public/viewer/js/modules/memory.js +353 -0
  328. package/public/viewer/js/modules/settings.js +255 -0
  329. package/public/viewer/js/utils/api.js +169 -0
  330. package/public/viewer/js/utils/dom.js +92 -0
  331. package/public/viewer/js/utils/format.js +192 -0
  332. package/public/viewer/manifest.json +26 -0
  333. package/public/viewer/sw.js +131 -0
  334. package/public/viewer/viewer.css +500 -0
  335. package/public/viewer/viewer.html +1535 -0
  336. package/scripts/postinstall.js +118 -0
  337. package/templates/skills/document-analyze.md +63 -0
  338. package/templates/skills/heartbeat-report.md +75 -0
  339. package/templates/skills/image-translate.md +67 -0
  340. package/templates/workspace/skill-forge/DESIGN.md +115 -0
  341. package/templates/workspace/skill-forge/agents/architect.ts +295 -0
  342. package/templates/workspace/skill-forge/agents/developer.ts +364 -0
  343. package/templates/workspace/skill-forge/agents/qa.ts +313 -0
  344. package/templates/workspace/skill-forge/claude-api.ts +353 -0
  345. package/templates/workspace/skill-forge/discord-ui.ts +580 -0
  346. package/templates/workspace/skill-forge/error-handler.ts +354 -0
  347. package/templates/workspace/skill-forge/mama-integration.ts +357 -0
  348. package/templates/workspace/skill-forge/orchestrator.ts +495 -0
  349. package/templates/workspace/skill-forge/output/generated-skills/skills/hello-world/README.md +24 -0
  350. package/templates/workspace/skill-forge/output/generated-skills/skills/hello-world/index.ts +79 -0
  351. package/templates/workspace/skill-forge/output/generated-skills/skills/hello-world/types.ts +17 -0
  352. package/templates/workspace/skill-forge/package.json +21 -0
  353. package/templates/workspace/skill-forge/state/session.json +132 -0
  354. package/templates/workspace/skill-forge/test-e2e.ts +139 -0
  355. package/templates/workspace/skill-forge/tsconfig.json +20 -0
  356. package/templates/workspace/skill-forge/types.ts +159 -0
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Telegram Gateway for MAMA Standalone
3
+ *
4
+ * Provides Telegram bot integration for receiving and responding to messages.
5
+ */
6
+ import type { Gateway, GatewayEventHandler } from './types.js';
7
+ import { MessageRouter } from './message-router.js';
8
+ /**
9
+ * Telegram Gateway configuration
10
+ */
11
+ export interface TelegramGatewayConfig {
12
+ /** Enable Telegram gateway */
13
+ enabled: boolean;
14
+ /** Telegram bot token from @BotFather */
15
+ token: string;
16
+ /** Allowed chat IDs (empty = allow all) */
17
+ allowedChats?: string[];
18
+ }
19
+ /**
20
+ * Telegram Gateway options
21
+ */
22
+ export interface TelegramGatewayOptions {
23
+ /** Telegram bot token */
24
+ token: string;
25
+ /** Message router for processing messages */
26
+ messageRouter: MessageRouter;
27
+ /** Gateway configuration */
28
+ config?: Partial<TelegramGatewayConfig>;
29
+ }
30
+ /**
31
+ * Telegram Gateway class
32
+ */
33
+ export declare class TelegramGateway implements Gateway {
34
+ readonly source: "telegram";
35
+ private token;
36
+ private messageRouter;
37
+ private config;
38
+ private eventHandlers;
39
+ private connected;
40
+ private bot;
41
+ constructor(options: TelegramGatewayOptions);
42
+ /**
43
+ * Start the Telegram gateway
44
+ */
45
+ start(): Promise<void>;
46
+ /**
47
+ * Stop the Telegram gateway
48
+ */
49
+ stop(): Promise<void>;
50
+ /**
51
+ * Handle incoming Telegram message
52
+ */
53
+ private handleMessage;
54
+ /**
55
+ * Send message to a chat
56
+ */
57
+ sendMessage(chatId: string, text: string): Promise<void>;
58
+ /**
59
+ * Send image to a chat
60
+ */
61
+ sendImage(chatId: string, imagePath: string, caption?: string): Promise<void>;
62
+ /**
63
+ * Split message into chunks
64
+ */
65
+ private splitMessage;
66
+ /**
67
+ * Emit event to registered handlers
68
+ */
69
+ private emitEvent;
70
+ /**
71
+ * Check if gateway is connected
72
+ */
73
+ isConnected(): boolean;
74
+ /**
75
+ * Register event handler
76
+ */
77
+ onEvent(handler: GatewayEventHandler): void;
78
+ }
79
+ //# sourceMappingURL=telegram.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telegram.d.ts","sourceRoot":"","sources":["../../src/gateways/telegram.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAgB,mBAAmB,EAAqB,MAAM,YAAY,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,8BAA8B;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,aAAa,EAAE,aAAa,CAAC;IAC7B,4BAA4B;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,qBAAa,eAAgB,YAAW,OAAO;IAC7C,QAAQ,CAAC,MAAM,EAAG,UAAU,CAAU;IAEtC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,GAAG,CAA4B;gBAE3B,OAAO,EAAE,sBAAsB;IAU3C;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmC5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B;;OAEG;YACW,aAAa;IAkE3B;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY9D;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnF;;OAEG;IACH,OAAO,CAAC,YAAY;IAwBpB;;OAEG;IACH,OAAO,CAAC,SAAS;IAUjB;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;CAG5C"}
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+ /**
3
+ * Telegram Gateway for MAMA Standalone
4
+ *
5
+ * Provides Telegram bot integration for receiving and responding to messages.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.TelegramGateway = void 0;
9
+ const memory_logger_js_1 = require("../memory/memory-logger.js");
10
+ /**
11
+ * Telegram Gateway class
12
+ */
13
+ class TelegramGateway {
14
+ source = 'telegram';
15
+ token;
16
+ messageRouter;
17
+ config;
18
+ eventHandlers = [];
19
+ connected = false;
20
+ bot = null;
21
+ constructor(options) {
22
+ this.token = options.token;
23
+ this.messageRouter = options.messageRouter;
24
+ this.config = {
25
+ enabled: true,
26
+ token: options.token,
27
+ allowedChats: options.config?.allowedChats || [],
28
+ };
29
+ }
30
+ /**
31
+ * Start the Telegram gateway
32
+ */
33
+ async start() {
34
+ if (this.connected) {
35
+ console.log('Telegram gateway already connected');
36
+ return;
37
+ }
38
+ try {
39
+ // Dynamic import to avoid bundling issues if not used
40
+ const TelegramBotModule = await import('node-telegram-bot-api');
41
+ const TelegramBotClass = TelegramBotModule.default;
42
+ this.bot = new TelegramBotClass(this.token, { polling: true });
43
+ // Handle incoming messages
44
+ this.bot.on('message', async (msg) => {
45
+ await this.handleMessage(msg);
46
+ });
47
+ // Get bot info
48
+ const me = await this.bot.getMe();
49
+ console.log(`Telegram bot logged in as @${me.username}`);
50
+ this.connected = true;
51
+ this.emitEvent({
52
+ type: 'connected',
53
+ source: 'telegram',
54
+ timestamp: new Date(),
55
+ data: { username: me.username },
56
+ });
57
+ }
58
+ catch (error) {
59
+ console.error('Telegram connection failed:', error);
60
+ throw error;
61
+ }
62
+ }
63
+ /**
64
+ * Stop the Telegram gateway
65
+ */
66
+ async stop() {
67
+ if (this.bot) {
68
+ await this.bot.stopPolling();
69
+ this.bot = null;
70
+ }
71
+ this.connected = false;
72
+ this.emitEvent({
73
+ type: 'disconnected',
74
+ source: 'telegram',
75
+ timestamp: new Date(),
76
+ });
77
+ }
78
+ /**
79
+ * Handle incoming Telegram message
80
+ */
81
+ async handleMessage(msg) {
82
+ // Check if chat is allowed
83
+ if (this.config.allowedChats && this.config.allowedChats.length > 0) {
84
+ if (!this.config.allowedChats.includes(String(msg.chat.id))) {
85
+ console.log(`[Telegram] Ignoring message from unauthorized chat: ${msg.chat.id}`);
86
+ return;
87
+ }
88
+ }
89
+ const text = msg.text || '';
90
+ if (!text.trim())
91
+ return;
92
+ console.log(`[Telegram] Message from ${msg.from?.username || msg.from?.id}: ${text.substring(0, 50)}...`);
93
+ // Log incoming message
94
+ const memoryLogger = (0, memory_logger_js_1.getMemoryLogger)();
95
+ memoryLogger.logMessage('Telegram', msg.from?.username || String(msg.from?.id), text, false);
96
+ // Emit message received event
97
+ this.emitEvent({
98
+ type: 'message_received',
99
+ source: 'telegram',
100
+ timestamp: new Date(),
101
+ data: {
102
+ chatId: String(msg.chat.id),
103
+ userId: String(msg.from?.id),
104
+ },
105
+ });
106
+ // Normalize message for router
107
+ const normalizedMessage = {
108
+ source: 'telegram',
109
+ channelId: String(msg.chat.id),
110
+ userId: String(msg.from?.id),
111
+ text,
112
+ metadata: {
113
+ username: msg.from?.username,
114
+ messageId: String(msg.message_id),
115
+ chatType: msg.chat.type,
116
+ },
117
+ };
118
+ // Process through message router
119
+ const result = await this.messageRouter.process(normalizedMessage);
120
+ // Log bot response
121
+ memoryLogger.logMessage('Telegram', 'MAMA', result.response, true);
122
+ // Send response
123
+ await this.sendMessage(String(msg.chat.id), result.response);
124
+ // Emit message sent event
125
+ this.emitEvent({
126
+ type: 'message_sent',
127
+ source: 'telegram',
128
+ timestamp: new Date(),
129
+ data: {
130
+ chatId: String(msg.chat.id),
131
+ responseLength: result.response.length,
132
+ duration: result.duration,
133
+ },
134
+ });
135
+ }
136
+ /**
137
+ * Send message to a chat
138
+ */
139
+ async sendMessage(chatId, text) {
140
+ if (!this.bot) {
141
+ throw new Error('Telegram gateway not connected');
142
+ }
143
+ // Split long messages (Telegram limit: 4096 characters)
144
+ const chunks = this.splitMessage(text, 4096);
145
+ for (const chunk of chunks) {
146
+ await this.bot.sendMessage(chatId, chunk, { parse_mode: 'Markdown' });
147
+ }
148
+ }
149
+ /**
150
+ * Send image to a chat
151
+ */
152
+ async sendImage(chatId, imagePath, caption) {
153
+ if (!this.bot) {
154
+ throw new Error('Telegram gateway not connected');
155
+ }
156
+ await this.bot.sendPhoto(chatId, imagePath, { caption });
157
+ }
158
+ /**
159
+ * Split message into chunks
160
+ */
161
+ splitMessage(text, maxLength) {
162
+ const chunks = [];
163
+ let remaining = text;
164
+ while (remaining.length > 0) {
165
+ if (remaining.length <= maxLength) {
166
+ chunks.push(remaining);
167
+ break;
168
+ }
169
+ // Find a good split point
170
+ let splitIndex = maxLength;
171
+ const newlineIndex = remaining.lastIndexOf('\n', maxLength);
172
+ if (newlineIndex > maxLength * 0.7) {
173
+ splitIndex = newlineIndex;
174
+ }
175
+ chunks.push(remaining.substring(0, splitIndex));
176
+ remaining = remaining.substring(splitIndex).trim();
177
+ }
178
+ return chunks;
179
+ }
180
+ /**
181
+ * Emit event to registered handlers
182
+ */
183
+ emitEvent(event) {
184
+ for (const handler of this.eventHandlers) {
185
+ try {
186
+ handler(event);
187
+ }
188
+ catch (error) {
189
+ console.error('Error in gateway event handler:', error);
190
+ }
191
+ }
192
+ }
193
+ /**
194
+ * Check if gateway is connected
195
+ */
196
+ isConnected() {
197
+ return this.connected;
198
+ }
199
+ /**
200
+ * Register event handler
201
+ */
202
+ onEvent(handler) {
203
+ this.eventHandlers.push(handler);
204
+ }
205
+ }
206
+ exports.TelegramGateway = TelegramGateway;
207
+ //# sourceMappingURL=telegram.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../src/gateways/telegram.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,340 @@
1
+ /**
2
+ * Type definitions for Message Gateway system
3
+ */
4
+ /**
5
+ * Supported messenger platforms
6
+ */
7
+ export type MessageSource = 'discord' | 'slack' | 'telegram' | 'chatwork' | 'mobile' | 'viewer';
8
+ /**
9
+ * Content block for multimodal input (OpenClaw-style)
10
+ */
11
+ export interface ContentBlock {
12
+ type: 'text' | 'image';
13
+ text?: string;
14
+ source?: {
15
+ type: 'base64';
16
+ media_type: string;
17
+ data: string;
18
+ };
19
+ }
20
+ /**
21
+ * Normalized message format for cross-platform handling
22
+ */
23
+ export interface NormalizedMessage {
24
+ /** Source messenger platform */
25
+ source: MessageSource;
26
+ /** Channel or DM identifier */
27
+ channelId: string;
28
+ /** User identifier on the platform */
29
+ userId: string;
30
+ /** Message text content */
31
+ text: string;
32
+ /** Multimodal content blocks (images, etc.) */
33
+ contentBlocks?: ContentBlock[];
34
+ /** Platform-specific metadata */
35
+ metadata?: MessageMetadata;
36
+ }
37
+ /**
38
+ * Message attachment (image, file, etc.)
39
+ */
40
+ export interface MessageAttachment {
41
+ /** Attachment type */
42
+ type: 'image' | 'file';
43
+ /** Original URL */
44
+ url: string;
45
+ /** Local file path (after download) */
46
+ localPath?: string;
47
+ /** File name */
48
+ filename: string;
49
+ /** MIME type */
50
+ contentType?: string;
51
+ /** File size in bytes */
52
+ size?: number;
53
+ }
54
+ /**
55
+ * Platform-specific metadata
56
+ */
57
+ export interface MessageMetadata {
58
+ /** Discord guild ID */
59
+ guildId?: string;
60
+ /** Slack thread timestamp */
61
+ threadTs?: string;
62
+ /** User display name */
63
+ username?: string;
64
+ /** Original message ID */
65
+ messageId?: string;
66
+ /** Message attachments */
67
+ attachments?: MessageAttachment[];
68
+ /** Telegram chat type (private, group, supergroup, channel) */
69
+ chatType?: string;
70
+ /** Channel history context (OpenClaw-style) */
71
+ historyContext?: string;
72
+ /** Session ID (for WebSocket/viewer) */
73
+ sessionId?: string;
74
+ /** OS Agent mode flag */
75
+ osAgentMode?: boolean;
76
+ }
77
+ /**
78
+ * Session data for messenger conversations
79
+ */
80
+ export interface Session {
81
+ /** Unique session ID */
82
+ id: string;
83
+ /** Source platform */
84
+ source: MessageSource;
85
+ /** Channel ID */
86
+ channelId: string;
87
+ /** User ID (optional, for DMs) */
88
+ userId?: string;
89
+ /** Rolling conversation context (JSON) */
90
+ context: string;
91
+ /** Session creation timestamp */
92
+ createdAt: number;
93
+ /** Last activity timestamp */
94
+ lastActive: number;
95
+ }
96
+ /**
97
+ * Conversation turn in rolling context
98
+ */
99
+ export interface ConversationTurn {
100
+ /** User message */
101
+ user: string;
102
+ /** Bot response (truncated) */
103
+ bot: string;
104
+ /** Timestamp */
105
+ timestamp?: number;
106
+ }
107
+ /**
108
+ * Decision from MAMA memory for context injection
109
+ */
110
+ export interface RelatedDecision {
111
+ /** Decision ID */
112
+ id: string;
113
+ /** Topic identifier */
114
+ topic: string;
115
+ /** Decision text */
116
+ decision: string;
117
+ /** Reasoning */
118
+ reasoning?: string;
119
+ /** Outcome status */
120
+ outcome?: 'success' | 'failed' | 'partial' | 'pending';
121
+ /** Similarity score (0-1) */
122
+ similarity: number;
123
+ }
124
+ /**
125
+ * Message router configuration
126
+ */
127
+ export interface MessageRouterConfig {
128
+ /** Minimum similarity threshold for context injection (default: 0.7) */
129
+ similarityThreshold?: number;
130
+ /** Maximum number of decisions to inject (default: 3) */
131
+ maxDecisions?: number;
132
+ /** Maximum conversation turns to keep (default: 5) */
133
+ maxTurns?: number;
134
+ /** Maximum response length for context storage (default: 200) */
135
+ maxResponseLength?: number;
136
+ }
137
+ /**
138
+ * Gateway configuration base
139
+ */
140
+ export interface GatewayConfig {
141
+ /** Whether the gateway is enabled */
142
+ enabled: boolean;
143
+ }
144
+ /**
145
+ * Discord gateway configuration
146
+ */
147
+ export interface DiscordGatewayConfig extends GatewayConfig {
148
+ /** Discord bot token */
149
+ token: string;
150
+ /** Guild-specific settings */
151
+ guilds?: Record<string, DiscordGuildConfig>;
152
+ }
153
+ /**
154
+ * Discord guild configuration
155
+ */
156
+ export interface DiscordGuildConfig {
157
+ /** Channel-specific settings */
158
+ channels?: Record<string, DiscordChannelConfig>;
159
+ /** Default: require mention to respond */
160
+ requireMention?: boolean;
161
+ }
162
+ /**
163
+ * Discord channel configuration
164
+ */
165
+ export interface DiscordChannelConfig {
166
+ /** Whether mention is required (overrides guild setting) */
167
+ requireMention?: boolean;
168
+ }
169
+ /**
170
+ * Slack gateway configuration
171
+ */
172
+ export interface SlackGatewayConfig extends GatewayConfig {
173
+ /** Slack bot token */
174
+ botToken: string;
175
+ /** Slack app token (for Socket Mode) */
176
+ appToken: string;
177
+ /** Channel-specific settings */
178
+ channels?: Record<string, SlackChannelConfig>;
179
+ }
180
+ /**
181
+ * Slack channel configuration
182
+ */
183
+ export interface SlackChannelConfig {
184
+ /** Whether mention is required */
185
+ requireMention?: boolean;
186
+ }
187
+ /**
188
+ * Chatwork gateway configuration
189
+ */
190
+ export interface ChatworkGatewayConfig extends GatewayConfig {
191
+ /** Chatwork API token */
192
+ apiToken: string;
193
+ /** Room IDs to monitor */
194
+ roomIds?: string[];
195
+ /** Polling interval in milliseconds */
196
+ pollInterval?: number;
197
+ /** Whether mention is required */
198
+ mentionRequired?: boolean;
199
+ }
200
+ /**
201
+ * Gateway event types
202
+ */
203
+ export type GatewayEventType = 'connected' | 'disconnected' | 'message_received' | 'message_sent' | 'error';
204
+ /**
205
+ * Gateway event
206
+ */
207
+ export interface GatewayEvent {
208
+ type: GatewayEventType;
209
+ source: MessageSource;
210
+ timestamp: Date;
211
+ data?: unknown;
212
+ error?: Error;
213
+ }
214
+ /**
215
+ * Gateway event handler
216
+ */
217
+ export type GatewayEventHandler = (event: GatewayEvent) => void;
218
+ /**
219
+ * Gateway interface that all platform gateways must implement
220
+ */
221
+ export interface Gateway {
222
+ /** Platform identifier */
223
+ readonly source: MessageSource;
224
+ /** Start the gateway */
225
+ start(): Promise<void>;
226
+ /** Stop the gateway */
227
+ stop(): Promise<void>;
228
+ /** Check if gateway is connected */
229
+ isConnected(): boolean;
230
+ /** Register event handler */
231
+ onEvent(handler: GatewayEventHandler): void;
232
+ }
233
+ /**
234
+ * Plugin manifest (plugin.json)
235
+ */
236
+ export interface PluginManifest {
237
+ /** Unique plugin ID */
238
+ id: string;
239
+ /** Display name */
240
+ name: string;
241
+ /** Plugin version */
242
+ version: string;
243
+ /** Description */
244
+ description?: string;
245
+ /** Entry point (relative to plugin directory) */
246
+ main: string;
247
+ /** Plugin type */
248
+ type: 'gateway';
249
+ /** Gateway-specific metadata */
250
+ gateway?: {
251
+ /** Gateway source ID (e.g., 'discord', 'slack') */
252
+ sourceId: string;
253
+ /** Display label */
254
+ label: string;
255
+ /** Config schema (JSON Schema) */
256
+ configSchema?: Record<string, unknown>;
257
+ };
258
+ /** Required dependencies */
259
+ dependencies?: Record<string, string>;
260
+ }
261
+ /**
262
+ * Plugin API provided to plugins
263
+ */
264
+ export interface PluginApi {
265
+ /** Logger */
266
+ logger: PluginLogger;
267
+ /** Get config for this plugin */
268
+ getConfig<T = unknown>(): T | undefined;
269
+ /** Get agent loop for processing messages */
270
+ getAgentLoop(): AgentLoopInterface;
271
+ /** Register a message handler */
272
+ onMessage(handler: MessageHandler): void;
273
+ /** Send a response to a channel */
274
+ sendResponse(channelId: string, text: string, metadata?: MessageMetadata): Promise<void>;
275
+ }
276
+ /**
277
+ * Plugin logger interface
278
+ */
279
+ export interface PluginLogger {
280
+ info(message: string, ...args: unknown[]): void;
281
+ warn(message: string, ...args: unknown[]): void;
282
+ error(message: string, ...args: unknown[]): void;
283
+ debug(message: string, ...args: unknown[]): void;
284
+ }
285
+ /**
286
+ * Agent loop interface for plugins
287
+ */
288
+ export interface AgentLoopInterface {
289
+ run(prompt: string): Promise<{
290
+ response: string;
291
+ }>;
292
+ runWithContent(content: ContentBlock[]): Promise<{
293
+ response: string;
294
+ }>;
295
+ }
296
+ /**
297
+ * Content block for multimodal messages
298
+ */
299
+ export interface ContentBlock {
300
+ type: 'text' | 'image';
301
+ text?: string;
302
+ source?: {
303
+ type: 'base64';
304
+ media_type: string;
305
+ data: string;
306
+ };
307
+ }
308
+ /**
309
+ * Message handler function type
310
+ */
311
+ export type MessageHandler = (message: NormalizedMessage) => Promise<void>;
312
+ /**
313
+ * Gateway plugin registration function
314
+ */
315
+ export type GatewayPluginRegister = (api: PluginApi) => Gateway | Promise<Gateway>;
316
+ /**
317
+ * Gateway plugin module export
318
+ */
319
+ export interface GatewayPluginModule {
320
+ /** Plugin ID (optional, uses manifest id if not provided) */
321
+ id?: string;
322
+ /** Plugin display name */
323
+ name?: string;
324
+ /** Registration function */
325
+ register: GatewayPluginRegister;
326
+ }
327
+ /**
328
+ * Loaded plugin info
329
+ */
330
+ export interface LoadedPlugin {
331
+ /** Plugin manifest */
332
+ manifest: PluginManifest;
333
+ /** Plugin directory path */
334
+ path: string;
335
+ /** Gateway instance (after registration) */
336
+ gateway?: Gateway;
337
+ /** Is plugin enabled */
338
+ enabled: boolean;
339
+ }
340
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/gateways/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEhG;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,MAAM,EAAE,aAAa,CAAC;IACtB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,iCAAiC;IACjC,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,sBAAsB;IACtB,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,mBAAmB;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,sBAAsB;IACtB,MAAM,EAAE,aAAa,CAAC;IACtB,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,kBAAkB;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACvD,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wEAAwE;IACxE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAChD,0CAA0C;IAC1C,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,kCAAkC;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,yBAAyB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,WAAW,GACX,cAAc,GACd,kBAAkB,GAClB,cAAc,GACd,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,0BAA0B;IAC1B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,wBAAwB;IACxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,uBAAuB;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,oCAAoC;IACpC,WAAW,IAAI,OAAO,CAAC;IACvB,6BAA6B;IAC7B,OAAO,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAC7C;AAMD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,uBAAuB;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,gCAAgC;IAChC,OAAO,CAAC,EAAE;QACR,mDAAmD;QACnD,QAAQ,EAAE,MAAM,CAAC;QACjB,oBAAoB;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,kCAAkC;QAClC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACxC,CAAC;IACF,4BAA4B;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,aAAa;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,iCAAiC;IACjC,SAAS,CAAC,CAAC,GAAG,OAAO,KAAK,CAAC,GAAG,SAAS,CAAC;IACxC,6CAA6C;IAC7C,YAAY,IAAI,kBAAkB,CAAC;IACnC,iCAAiC;IACjC,SAAS,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IACzC,mCAAmC;IACnC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1F;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxE;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEnF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,6DAA6D;IAC7D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,QAAQ,EAAE,qBAAqB,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,sBAAsB;IACtB,QAAQ,EAAE,cAAc,CAAC;IACzB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wBAAwB;IACxB,OAAO,EAAE,OAAO,CAAC;CAClB"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Type definitions for Message Gateway system
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/gateways/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * MAMA Standalone - Always-on AI assistant powered by Claude Pro
3
+ */
4
+ export * from './auth/index.js';
5
+ export * from './agent/index.js';
6
+ export * from './scheduler/index.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,iBAAiB,CAAC;AAGhC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,sBAAsB,CAAC"}