@chozzz/vargos 2.1.0 → 2.2.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 (204) hide show
  1. package/README.md +1 -1
  2. package/dist/.templates/{vargos/workspace → workspace}/AGENTS.md +2 -18
  3. package/dist/boot.d.ts +2 -0
  4. package/dist/boot.d.ts.map +1 -0
  5. package/dist/boot.js +111 -0
  6. package/dist/boot.js.map +1 -0
  7. package/dist/cli/channels.d.ts +3 -2
  8. package/dist/cli/channels.d.ts.map +1 -1
  9. package/dist/cli/channels.js +1 -1
  10. package/dist/cli/channels.js.map +1 -1
  11. package/dist/cli.js +5 -4
  12. package/dist/cli.js.map +1 -1
  13. package/dist/edge/webhooks/index.js +1 -1
  14. package/dist/edge/webhooks/index.js.map +1 -1
  15. package/dist/gateway/bus.d.ts +2 -0
  16. package/dist/gateway/bus.d.ts.map +1 -1
  17. package/dist/gateway/emitter.d.ts +10 -0
  18. package/dist/gateway/emitter.d.ts.map +1 -1
  19. package/dist/gateway/emitter.js +48 -3
  20. package/dist/gateway/emitter.js.map +1 -1
  21. package/dist/gateway/events.d.ts +26 -55
  22. package/dist/gateway/events.d.ts.map +1 -1
  23. package/dist/gateway/tcp-server.js +3 -0
  24. package/dist/gateway/tcp-server.js.map +1 -1
  25. package/dist/index.js +44 -71
  26. package/dist/index.js.map +1 -1
  27. package/dist/lib/{glob.d.ts → glob-match.d.ts} +1 -1
  28. package/dist/lib/glob-match.d.ts.map +1 -0
  29. package/dist/lib/{glob.js → glob-match.js} +1 -1
  30. package/dist/lib/glob-match.js.map +1 -0
  31. package/dist/lib/media.js +1 -1
  32. package/dist/lib/media.js.map +1 -1
  33. package/dist/lib/mime.d.ts +10 -3
  34. package/dist/lib/mime.d.ts.map +1 -1
  35. package/dist/lib/mime.js +48 -67
  36. package/dist/lib/mime.js.map +1 -1
  37. package/dist/lib/{subagent.d.ts → session-key.d.ts} +1 -1
  38. package/dist/lib/session-key.d.ts.map +1 -0
  39. package/dist/lib/{subagent.js → session-key.js} +1 -1
  40. package/dist/lib/session-key.js.map +1 -0
  41. package/dist/lib/templates.d.ts +2 -2
  42. package/dist/lib/templates.d.ts.map +1 -1
  43. package/dist/lib/templates.js +7 -14
  44. package/dist/lib/templates.js.map +1 -1
  45. package/dist/scripts/migrate-templates.d.ts +14 -0
  46. package/dist/scripts/migrate-templates.d.ts.map +1 -0
  47. package/dist/scripts/migrate-templates.js +98 -0
  48. package/dist/scripts/migrate-templates.js.map +1 -0
  49. package/dist/{lib → services/agent}/error-store.d.ts +1 -1
  50. package/dist/services/agent/error-store.d.ts.map +1 -0
  51. package/dist/{lib → services/agent}/error-store.js +2 -2
  52. package/dist/services/agent/error-store.js.map +1 -0
  53. package/dist/services/agent/index.d.ts +9 -15
  54. package/dist/services/agent/index.d.ts.map +1 -1
  55. package/dist/services/agent/index.js +43 -74
  56. package/dist/services/agent/index.js.map +1 -1
  57. package/dist/services/agent/persona.d.ts +1 -1
  58. package/dist/services/agent/persona.js +1 -1
  59. package/dist/services/agent/prompt-interpolate.d.ts +3 -3
  60. package/dist/services/agent/prompt-interpolate.js +10 -15
  61. package/dist/services/agent/prompt-interpolate.js.map +1 -1
  62. package/dist/services/agent/skills.d.ts.map +1 -0
  63. package/dist/services/agent/skills.js.map +1 -0
  64. package/dist/services/agent/tools.d.ts.map +1 -1
  65. package/dist/services/agent/tools.js +7 -2
  66. package/dist/services/agent/tools.js.map +1 -1
  67. package/dist/services/agent/{schema.d.ts → types.d.ts} +1 -1
  68. package/dist/services/agent/types.d.ts.map +1 -0
  69. package/dist/services/agent/{schema.js → types.js} +1 -1
  70. package/dist/services/agent/types.js.map +1 -0
  71. package/dist/services/channels/base-adapter.d.ts +22 -7
  72. package/dist/services/channels/base-adapter.d.ts.map +1 -1
  73. package/dist/services/channels/base-adapter.js +56 -73
  74. package/dist/services/channels/base-adapter.js.map +1 -1
  75. package/dist/services/channels/debounce.d.ts +1 -1
  76. package/dist/services/channels/debounce.d.ts.map +1 -1
  77. package/dist/services/channels/index.d.ts +1 -1
  78. package/dist/services/channels/index.d.ts.map +1 -1
  79. package/dist/services/channels/index.js +61 -18
  80. package/dist/services/channels/index.js.map +1 -1
  81. package/dist/services/channels/{media-extract.d.ts → media-paths.d.ts} +1 -1
  82. package/dist/services/channels/media-paths.d.ts.map +1 -0
  83. package/dist/services/channels/{media-extract.js → media-paths.js} +2 -2
  84. package/dist/services/channels/media-paths.js.map +1 -0
  85. package/dist/services/channels/pipeline.d.ts +2 -7
  86. package/dist/services/channels/pipeline.d.ts.map +1 -1
  87. package/dist/services/channels/pipeline.js +28 -47
  88. package/dist/services/channels/pipeline.js.map +1 -1
  89. package/dist/services/channels/provider-loader.d.ts +1 -1
  90. package/dist/services/channels/provider-loader.d.ts.map +1 -1
  91. package/dist/services/channels/providers/telegram/adapter.d.ts +5 -5
  92. package/dist/services/channels/providers/telegram/adapter.d.ts.map +1 -1
  93. package/dist/services/channels/providers/telegram/adapter.js +4 -6
  94. package/dist/services/channels/providers/telegram/adapter.js.map +1 -1
  95. package/dist/services/channels/providers/telegram/index.d.ts +1 -1
  96. package/dist/services/channels/providers/telegram/index.d.ts.map +1 -1
  97. package/dist/services/channels/providers/telegram/index.js +1 -1
  98. package/dist/services/channels/providers/telegram/index.js.map +1 -1
  99. package/dist/services/channels/providers/telegram/normalizer.d.ts +1 -1
  100. package/dist/services/channels/providers/telegram/normalizer.d.ts.map +1 -1
  101. package/dist/services/channels/providers/telegram/normalizer.js +0 -2
  102. package/dist/services/channels/providers/telegram/normalizer.js.map +1 -1
  103. package/dist/services/channels/providers/whatsapp/adapter.d.ts +6 -5
  104. package/dist/services/channels/providers/whatsapp/adapter.d.ts.map +1 -1
  105. package/dist/services/channels/providers/whatsapp/adapter.js +35 -28
  106. package/dist/services/channels/providers/whatsapp/adapter.js.map +1 -1
  107. package/dist/services/channels/providers/whatsapp/index.d.ts +1 -1
  108. package/dist/services/channels/providers/whatsapp/index.d.ts.map +1 -1
  109. package/dist/services/channels/providers/whatsapp/index.js +1 -1
  110. package/dist/services/channels/providers/whatsapp/index.js.map +1 -1
  111. package/dist/services/channels/providers/whatsapp/normalizer.d.ts +2 -1
  112. package/dist/services/channels/providers/whatsapp/normalizer.d.ts.map +1 -1
  113. package/dist/services/channels/providers/whatsapp/normalizer.js +9 -3
  114. package/dist/services/channels/providers/whatsapp/normalizer.js.map +1 -1
  115. package/dist/services/channels/providers/whatsapp/session.d.ts.map +1 -1
  116. package/dist/services/channels/providers/whatsapp/session.js +6 -4
  117. package/dist/services/channels/providers/whatsapp/session.js.map +1 -1
  118. package/dist/services/channels/providers/whatsapp/types.d.ts +1 -0
  119. package/dist/services/channels/providers/whatsapp/types.d.ts.map +1 -1
  120. package/dist/services/channels/types.d.ts +68 -3
  121. package/dist/services/channels/types.d.ts.map +1 -1
  122. package/dist/services/channels/types.js +4 -0
  123. package/dist/services/channels/types.js.map +1 -1
  124. package/dist/services/config/schemas/channels.d.ts +2 -0
  125. package/dist/services/config/schemas/channels.d.ts.map +1 -1
  126. package/dist/services/config/schemas/channels.js +2 -0
  127. package/dist/services/config/schemas/channels.js.map +1 -1
  128. package/dist/services/config/schemas/index.d.ts +3 -3
  129. package/dist/services/config/schemas/index.d.ts.map +1 -1
  130. package/dist/services/config/schemas/index.js +2 -2
  131. package/dist/services/config/schemas/index.js.map +1 -1
  132. package/dist/services/config/schemas/primitives.d.ts +0 -2
  133. package/dist/services/config/schemas/primitives.d.ts.map +1 -1
  134. package/dist/services/config/schemas/primitives.js +0 -1
  135. package/dist/services/config/schemas/primitives.js.map +1 -1
  136. package/dist/services/cron/heartbeat.d.ts.map +1 -0
  137. package/dist/services/cron/heartbeat.js.map +1 -0
  138. package/dist/services/cron/index.d.ts.map +1 -1
  139. package/dist/services/cron/index.js +3 -4
  140. package/dist/services/cron/index.js.map +1 -1
  141. package/dist/services/media/index.d.ts +1 -0
  142. package/dist/services/media/index.d.ts.map +1 -1
  143. package/dist/services/media/index.js +61 -5
  144. package/dist/services/media/index.js.map +1 -1
  145. package/dist/services/media/providers/anthropic.js +1 -1
  146. package/dist/services/media/providers/anthropic.js.map +1 -1
  147. package/dist/services/media/{extract-document.d.ts → providers/document.d.ts} +1 -1
  148. package/dist/services/media/providers/document.d.ts.map +1 -0
  149. package/dist/services/media/{extract-document.js → providers/document.js} +4 -4
  150. package/dist/services/media/providers/document.js.map +1 -0
  151. package/dist/services/media/providers/openai.d.ts.map +1 -1
  152. package/dist/services/media/providers/openai.js +5 -1
  153. package/dist/services/media/providers/openai.js.map +1 -1
  154. package/package.json +2 -2
  155. package/dist/lib/async-handlers.d.ts +0 -13
  156. package/dist/lib/async-handlers.d.ts.map +0 -1
  157. package/dist/lib/async-handlers.js +0 -6
  158. package/dist/lib/async-handlers.js.map +0 -1
  159. package/dist/lib/error-store.d.ts.map +0 -1
  160. package/dist/lib/error-store.js.map +0 -1
  161. package/dist/lib/glob.d.ts.map +0 -1
  162. package/dist/lib/glob.js.map +0 -1
  163. package/dist/lib/heartbeat.d.ts.map +0 -1
  164. package/dist/lib/heartbeat.js.map +0 -1
  165. package/dist/lib/media-transcribe.d.ts +0 -57
  166. package/dist/lib/media-transcribe.d.ts.map +0 -1
  167. package/dist/lib/media-transcribe.js +0 -98
  168. package/dist/lib/media-transcribe.js.map +0 -1
  169. package/dist/lib/safe-async.d.ts +0 -27
  170. package/dist/lib/safe-async.d.ts.map +0 -1
  171. package/dist/lib/safe-async.js +0 -38
  172. package/dist/lib/safe-async.js.map +0 -1
  173. package/dist/lib/skills.d.ts.map +0 -1
  174. package/dist/lib/skills.js.map +0 -1
  175. package/dist/lib/subagent.d.ts.map +0 -1
  176. package/dist/lib/subagent.js.map +0 -1
  177. package/dist/services/agent/schema.d.ts.map +0 -1
  178. package/dist/services/agent/schema.js.map +0 -1
  179. package/dist/services/channels/contracts.d.ts +0 -75
  180. package/dist/services/channels/contracts.d.ts.map +0 -1
  181. package/dist/services/channels/contracts.js +0 -6
  182. package/dist/services/channels/contracts.js.map +0 -1
  183. package/dist/services/channels/media-extract.d.ts.map +0 -1
  184. package/dist/services/channels/media-extract.js.map +0 -1
  185. package/dist/services/media/extract-document.d.ts.map +0 -1
  186. package/dist/services/media/extract-document.js.map +0 -1
  187. /package/dist/.templates/{vargos/agent → agent}/extensions/.gitkeep +0 -0
  188. /package/dist/.templates/{vargos/agent → agent}/mcp.json +0 -0
  189. /package/dist/.templates/{vargos/agent → agent}/skills/skill-creator/SKILL.md +0 -0
  190. /package/dist/.templates/{vargos/agent → agent}/skills/token-capture/SKILL.md +0 -0
  191. /package/dist/.templates/{vargos/agent → agent}/skills/token-capture/scripts/capture-bearer-token.sh +0 -0
  192. /package/dist/.templates/{vargos/agents → agents}/README +0 -0
  193. /package/dist/.templates/{vargos/agents → agents}/default.md +0 -0
  194. /package/dist/.templates/{vargos/agents → agents}/subagent.md +0 -0
  195. /package/dist/.templates/{vargos/config.json → config.json} +0 -0
  196. /package/dist/.templates/{vargos/cron → cron}/heartbeat.md +0 -0
  197. /package/dist/.templates/{vargos/workspace → workspace}/HEARTBEAT.md +0 -0
  198. /package/dist/.templates/{vargos/workspace → workspace}/MEMORY.md +0 -0
  199. /package/dist/.templates/{vargos/workspace → workspace}/SOUL.md +0 -0
  200. /package/dist/.templates/{vargos/workspace → workspace}/TOOLS.md +0 -0
  201. /package/dist/{lib → services/agent}/skills.d.ts +0 -0
  202. /package/dist/{lib → services/agent}/skills.js +0 -0
  203. /package/dist/{lib → services/cron}/heartbeat.d.ts +0 -0
  204. /package/dist/{lib → services/cron}/heartbeat.js +0 -0
@@ -14,7 +14,7 @@ export interface Persona {
14
14
  export declare function loadChannelPersona(channelId: string): Promise<Persona | null>;
15
15
  /**
16
16
  * Load the subagent persona from `~/.vargos/agents/subagent.md`.
17
- * Seeded from `.templates/vargos/agents/subagent.md` on startup (copy-missing).
17
+ * Seeded from `.templates/agents/subagent.md` on startup (copy-missing).
18
18
  * Returns null if the file is missing or empty.
19
19
  */
20
20
  export declare function loadSubagentPersona(): Promise<Persona | null>;
@@ -39,7 +39,7 @@ export async function loadChannelPersona(channelId) {
39
39
  }
40
40
  /**
41
41
  * Load the subagent persona from `~/.vargos/agents/subagent.md`.
42
- * Seeded from `.templates/vargos/agents/subagent.md` on startup (copy-missing).
42
+ * Seeded from `.templates/agents/subagent.md` on startup (copy-missing).
43
43
  * Returns null if the file is missing or empty.
44
44
  */
45
45
  export async function loadSubagentPersona() {
@@ -10,9 +10,9 @@
10
10
  * - ${CHANNELS_DIR} → ~/.vargos/channels
11
11
  * - ${HOME} → user's home directory
12
12
  * - ${PWD} → current working directory
13
- * - ${SESSION_KEY}, ${CHANNEL_ID}, ${CHANNEL_TYPE}, ${CHAT_ID} → session identity
14
- * - ${USER_ID}, ${USER_NAME}, ${USER_HANDLE} message sender (from agent metadata)
15
- * - ${BOT_ID}, ${BOT_NAME}, ${BOT_HANDLE} bot identity (from agent metadata)
13
+ * - ${SESSION_KEY} → session identity
14
+ * - ${PROVIDER} → provider name (empty used in docs for ${PROVIDER}_API_KEY pattern)
15
+ * - ${VAR} → generic placeholder (empty used in docs for ${VAR:-default} pattern)
16
16
  *
17
17
  * Default values use bash-style syntax: ${VAR:-default}
18
18
  * - Used when VAR is missing OR an empty string.
@@ -10,9 +10,9 @@
10
10
  * - ${CHANNELS_DIR} → ~/.vargos/channels
11
11
  * - ${HOME} → user's home directory
12
12
  * - ${PWD} → current working directory
13
- * - ${SESSION_KEY}, ${CHANNEL_ID}, ${CHANNEL_TYPE}, ${CHAT_ID} → session identity
14
- * - ${USER_ID}, ${USER_NAME}, ${USER_HANDLE} message sender (from agent metadata)
15
- * - ${BOT_ID}, ${BOT_NAME}, ${BOT_HANDLE} bot identity (from agent metadata)
13
+ * - ${SESSION_KEY} → session identity
14
+ * - ${PROVIDER} → provider name (empty used in docs for ${PROVIDER}_API_KEY pattern)
15
+ * - ${VAR} → generic placeholder (empty used in docs for ${VAR:-default} pattern)
16
16
  *
17
17
  * Default values use bash-style syntax: ${VAR:-default}
18
18
  * - Used when VAR is missing OR an empty string.
@@ -68,18 +68,13 @@ function interpolatePromptWithMissing(prompt, context) {
68
68
  timeZoneName: 'short',
69
69
  }),
70
70
  CURRENT_TIMEZONE: currentTimezone,
71
- // Channel context variables — fall back to 'unknown' when not provided.
72
- // Handles default to '' so templates can override with ${VAR:-fallback}.
73
- CHANNEL_TYPE: context?.CHANNEL_TYPE || 'unknown',
74
- CHANNEL_ID: context?.CHANNEL_ID || 'unknown',
75
- CHAT_ID: context?.CHAT_ID || 'unknown',
76
- USER_ID: context?.USER_ID || 'unknown',
77
- USER_NAME: context?.USER_NAME || 'unknown',
78
- USER_HANDLE: context?.USER_HANDLE || '',
79
- BOT_ID: context?.BOT_ID || 'unknown',
80
- BOT_NAME: context?.BOT_NAME || 'unknown',
81
- BOT_HANDLE: context?.BOT_HANDLE || '',
82
- // Just in case context is provided, but not all variables are present.
71
+ // Session identity.
72
+ SESSION_KEY: context?.SESSION_KEY || 'unknown',
73
+ // Known documentation variables — referenced in bootstrap docs but not runtime values.
74
+ // These prevent spurious "Missing interpolation keys" warnings.
75
+ PROVIDER: '',
76
+ VAR: '',
77
+ // Merge any additional context variables (e.g., custom vars from tests or callers).
83
78
  ...context,
84
79
  };
85
80
  const missing = [];
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-interpolate.js","sourceRoot":"","sources":["../../../services/agent/prompt-interpolate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-interpolate.js","sourceRoot":"","sources":["../../../services/agent/prompt-interpolate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,MAAM,GAAG,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;AAOxC,MAAM,OAAO,GAAG,iCAAiC,CAAC;AAElD;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,OAAgC;IAChF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,4BAA4B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3E,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,4BAA4B,CAAC,MAAc,EAAE,OAAgC;IACpF,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;IAEzE,MAAM,SAAS,GAA2B;QACxC,QAAQ,EAAE,KAAK,CAAC,OAAO;QACvB,aAAa,EAAE,KAAK,CAAC,YAAY;QACjC,YAAY,EAAE,KAAK,CAAC,WAAW;QAC/B,QAAQ,EAAE,KAAK,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK,CAAC,QAAQ;QACzB,QAAQ,EAAE,KAAK,CAAC,OAAO;QACvB,YAAY,EAAE,KAAK,CAAC,WAAW;QAC/B,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE;QAClB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE;YACjD,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS;YAC9C,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;YACrD,MAAM,EAAE,KAAK;YACb,YAAY,EAAE,OAAO;SACtB,CAAC;QACF,gBAAgB,EAAE,eAAe;QAEjC,oBAAoB;QACpB,WAAW,EAAI,OAAO,EAAE,WAAW,IAAM,SAAS;QAElD,uFAAuF;QACvF,gEAAgE;QAChE,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,EAAE;QAEP,oFAAoF;QACpF,GAAG,OAAO;KACX,CAAC;IAEF,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAW,EAAE,YAAqB,EAAE,EAAE;QAClF,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,GAAG,CAAC,IAAI,CAAC,+BAA+B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACrC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../../services/agent/skills.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAI9D"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../services/agent/skills.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAG,KAAe;IAClD,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;SAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../services/agent/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAyFhD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAO/F"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../services/agent/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AA+FhD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAO/F"}
@@ -23,8 +23,8 @@
23
23
  import { createLogger } from '../../lib/logger.js';
24
24
  import { isToolEvent } from '../../gateway/emitter.js';
25
25
  import { toMessage } from '../../lib/error.js';
26
- import { appendError } from '../../lib/error-store.js';
27
- import { subagentSessionKey } from '../../lib/subagent.js';
26
+ import { appendError } from './error-store.js';
27
+ import { subagentSessionKey } from '../../lib/session-key.js';
28
28
  const log = createLogger('agent-tools');
29
29
  const LARGE_RESULT_TOKEN_THRESHOLD = 5_000;
30
30
  /**
@@ -49,6 +49,11 @@ function wrapEventAsToolDefinition(eventName, description, parameters, sessionKe
49
49
  if (eventName === 'agent.execute') {
50
50
  paramsObj.sessionKey = subagentSessionKey(sessionKey);
51
51
  }
52
+ // Auto-inject sessionKey for channel.send if not provided.
53
+ // Allows the agent to call channel-send without knowing its own sessionKey.
54
+ if (eventName === 'channel.send' && !paramsObj.sessionKey) {
55
+ paramsObj.sessionKey = sessionKey;
56
+ }
52
57
  const result = await bus.call(eventName, paramsObj);
53
58
  let resultText = '';
54
59
  if (result && typeof result === 'object') {
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../services/agent/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../services/agent/tools.ts"],"names":[],"mappings":"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"}
@@ -7,4 +7,4 @@ export interface AgentDeps {
7
7
  bus: Bus;
8
8
  config: AppConfig;
9
9
  }
10
- //# sourceMappingURL=schema.d.ts.map
10
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../services/agent/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAEhE,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,SAAS,CAAC;CACnB"}
@@ -2,4 +2,4 @@
2
2
  * Agent — Type schemas
3
3
  */
4
4
  export {};
5
- //# sourceMappingURL=schema.js.map
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../services/agent/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,12 +1,12 @@
1
1
  /**
2
2
  * Base channel adapter — shared logic for typing indicators, debounce, dedupe, and media handling.
3
3
  */
4
- import type { ChannelType, OnInboundMessageFn, InboundMediaSource } from './types.js';
5
- import type { ChannelAdapter, NormalizedInboundMessage, AdapterDeps } from './contracts.js';
4
+ import type { ChannelType, OnInboundMessageFn, InboundMediaSource, ChannelAdapter, NormalizedInboundMessage, AdapterDeps } from './types.js';
6
5
  import type { ChannelStatus } from '../../gateway/events.js';
7
6
  import { createMessageDebouncer } from './debounce.js';
8
7
  import { TypingStateManager } from './typing-state.js';
9
- export declare abstract class BaseChannelAdapter implements ChannelAdapter {
8
+ export declare const MEDIA_TYPE_LABELS: Record<string, string>;
9
+ export declare abstract class BaseChannelAdapter<TRaw = never> implements ChannelAdapter {
10
10
  abstract readonly type: ChannelType;
11
11
  readonly instanceId: string;
12
12
  status: ChannelStatus;
@@ -27,7 +27,8 @@ export declare abstract class BaseChannelAdapter implements ChannelAdapter {
27
27
  protected extractFn?: (filePath: string, mimeType: string) => Promise<{
28
28
  text: string;
29
29
  }>;
30
- constructor(instanceId: string, _channelType: ChannelType, deps: AdapterDeps, debounceMs?: number);
30
+ protected allowFrom?: string[];
31
+ constructor(instanceId: string, _channelType: ChannelType, deps: AdapterDeps, allowFrom?: string[], debounceMs?: number);
31
32
  protected createDebouncer(): ReturnType<typeof createMessageDebouncer>;
32
33
  abstract start(): Promise<void>;
33
34
  abstract stop(): Promise<void>;
@@ -43,8 +44,8 @@ export declare abstract class BaseChannelAdapter implements ChannelAdapter {
43
44
  protected handleBatch(id: string, messages: string[], normalizedMsg?: NormalizedInboundMessage): Promise<void>;
44
45
  protected buildSessionKey(id: string): string;
45
46
  protected cleanupTimers(): void;
46
- /** Override to handle media resolution for your channel. */
47
- protected resolveMedia(_msg: unknown): Promise<InboundMediaSource | null>;
47
+ /** Override to handle media resolution for your channel. Typed via the adapter's TRaw param. */
48
+ protected resolveMedia(_msg: TRaw): Promise<InboundMediaSource | null>;
48
49
  /**
49
50
  * Process inbound media message.
50
51
  * @param msg - Raw message from channel
@@ -52,7 +53,21 @@ export declare abstract class BaseChannelAdapter implements ChannelAdapter {
52
53
  * @param normalizedMsg - Normalized message with flags (skipAgent, etc)
53
54
  * @param route - Function to route processed text to onInboundMessage
54
55
  */
55
- protected processInboundMedia(msg: unknown, sessionKey: string, normalizedMsg: NormalizedInboundMessage, route: (text: string) => Promise<void>): Promise<{
56
+ /**
57
+ * Check if the agent should execute for this message.
58
+ * Used by both media processing and agent execution decisions.
59
+ *
60
+ * Rules:
61
+ * - Private chat: whitelisted user → execute
62
+ * - Group chat: mentioned + whitelisted → execute
63
+ * - No allowFrom configured: always execute (permissive)
64
+ */
65
+ shouldExecute(userId: string, chatType: string, isMentioned: boolean): boolean;
66
+ /**
67
+ * Process inbound media: save file, optionally transcribe/describe.
68
+ * Returns caption text + saved path for routing to onInboundMessage.
69
+ */
70
+ protected processInboundMedia(msg: TRaw, route: (text: string) => Promise<void>, sessionKey: string, shouldProcessMedia?: boolean): Promise<{
56
71
  caption: string;
57
72
  savedPath: string;
58
73
  mimeType: string;
@@ -1 +1 @@
1
- {"version":3,"file":"base-adapter.d.ts","sourceRoot":"","sources":["../../../services/channels/base-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-adapter.d.ts","sourceRoot":"","sources":["../../../services/channels/base-adapter.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,11 @@ import { createDedupeCache } from './dedupe.js';
6
6
  import { createMessageDebouncer } from './debounce.js';
7
7
  import { createLogger } from '../../lib/logger.js';
8
8
  import { toMessage } from '../../lib/error.js';
9
- import { parseSessionKey } from '../../lib/subagent.js';
9
+ import { parseSessionKey } from '../../lib/session-key.js';
10
10
  import { TypingStateManager } from './typing-state.js';
11
11
  import { saveMedia } from '../../lib/media.js';
12
12
  import { getDataPaths } from '../../lib/paths.js';
13
- const MEDIA_TYPE_LABELS = {
13
+ export const MEDIA_TYPE_LABELS = {
14
14
  audio: 'Voice message',
15
15
  video: 'Video message',
16
16
  document: 'Document',
@@ -29,9 +29,11 @@ export class BaseChannelAdapter {
29
29
  transcribeFn;
30
30
  describeFn;
31
31
  extractFn;
32
- constructor(instanceId, _channelType, deps, debounceMs) {
32
+ allowFrom;
33
+ constructor(instanceId, _channelType, deps, allowFrom, debounceMs) {
33
34
  this.instanceId = instanceId;
34
35
  this.onInboundMessage = deps.onInbound;
36
+ this.allowFrom = allowFrom;
35
37
  this.transcribeFn = deps.transcribe;
36
38
  this.describeFn = deps.describe;
37
39
  this.extractFn = deps.extract;
@@ -84,7 +86,7 @@ export class BaseChannelAdapter {
84
86
  this.debouncer.flushAll();
85
87
  this.typingState.cleanup();
86
88
  }
87
- /** Override to handle media resolution for your channel. */
89
+ /** Override to handle media resolution for your channel. Typed via the adapter's TRaw param. */
88
90
  async resolveMedia(_msg) {
89
91
  return null;
90
92
  }
@@ -95,87 +97,68 @@ export class BaseChannelAdapter {
95
97
  * @param normalizedMsg - Normalized message with flags (skipAgent, etc)
96
98
  * @param route - Function to route processed text to onInboundMessage
97
99
  */
98
- async processInboundMedia(msg, sessionKey, normalizedMsg, route) {
100
+ /**
101
+ * Check if the agent should execute for this message.
102
+ * Used by both media processing and agent execution decisions.
103
+ *
104
+ * Rules:
105
+ * - Private chat: whitelisted user → execute
106
+ * - Group chat: mentioned + whitelisted → execute
107
+ * - No allowFrom configured: always execute (permissive)
108
+ */
109
+ shouldExecute(userId, chatType, isMentioned) {
110
+ // undefined = not configured (allow all), [] = configured but empty (block all)
111
+ if (this.allowFrom === undefined)
112
+ return true;
113
+ const normalizedUser = userId.replace(/^\+/, '').replace(/@[^@]+$/, '');
114
+ const fullJidNoPlus = userId.replace(/^\+/, '');
115
+ const isWhitelisted = this.allowFrom.some(entry => {
116
+ const normalizedEntry = entry.replace(/^\+/, '');
117
+ // Match: full JID (no +) OR normalized numeric (no +, no @...)
118
+ return fullJidNoPlus === normalizedEntry || normalizedUser === normalizedEntry;
119
+ });
120
+ if (!isWhitelisted)
121
+ return false;
122
+ if (chatType === 'private')
123
+ return true;
124
+ // Group chat: require mention. For practical purposes, any @number pattern
125
+ // in the message counts (covers both proper mentions and manual @typing).
126
+ return isMentioned;
127
+ }
128
+ /**
129
+ * Process inbound media: save file, optionally transcribe/describe.
130
+ * Returns caption text + saved path for routing to onInboundMessage.
131
+ */
132
+ async processInboundMedia(msg, route, sessionKey, shouldProcessMedia = true) {
99
133
  const source = await this.resolveMedia(msg);
100
- const defaultReturn = { caption: '', savedPath: '', mimeType: '' };
101
134
  if (!source)
102
- return defaultReturn;
135
+ return { caption: '', savedPath: '', mimeType: '' };
103
136
  const { buffer, mimeType, mediaType, caption, duration } = source;
104
137
  const mediaDir = path.join(getDataPaths().dataDir, 'media');
105
138
  const savedPath = await saveMedia({ buffer, sessionKey, mimeType, mediaDir });
106
- // Skip transcription for messages agent won't process (e.g., group mentions)
107
- if (normalizedMsg.skipAgent) {
108
- const label = MEDIA_TYPE_LABELS[mediaType] ?? 'Media';
109
- const durationSuffix = duration != null ? `, ${duration}s` : '';
110
- const fallbackCaption = caption || `[${label}${durationSuffix}]`;
111
- await route(`${fallbackCaption}\n\n[${label} saved: ${savedPath}]`);
112
- return {
113
- caption: fallbackCaption,
114
- savedPath,
115
- mimeType
116
- };
117
- }
118
- if (mediaType === 'image') {
119
- if (this.describeFn) {
120
- try {
121
- const description = await this.describeFn(savedPath);
122
- await route(`${description}\n\n[Image described from: ${savedPath}]`);
123
- return {
124
- caption: description,
125
- savedPath,
126
- mimeType
127
- };
128
- }
129
- catch (err) {
130
- this.log.warn(`Image description failed: ${err}. Falling back to caption.`);
131
- }
132
- }
133
- const text = caption || 'User sent an image.';
134
- await route(`${text}\n\n[Image saved: ${savedPath}]`);
135
- return {
136
- caption: text,
137
- savedPath,
138
- mimeType
139
- };
140
- }
141
- if (mediaType === 'audio' && this.transcribeFn) {
142
- try {
143
- const transcription = await this.transcribeFn(savedPath);
144
- await route(`${transcription}\n\n[Audio transcribed from: ${savedPath}]`);
145
- return {
146
- caption: transcription,
147
- savedPath,
148
- mimeType
149
- };
150
- }
151
- catch (err) {
152
- this.log.warn(`Audio transcription failed: ${err}. Falling back to file path.`);
153
- }
154
- }
155
- if (mediaType === 'document' && this.extractFn) {
139
+ // Process map: media type [process function, fallback text, label]
140
+ const processMap = {
141
+ image: [this.describeFn?.bind(this), caption || 'User sent an image.', 'Image'],
142
+ audio: [this.transcribeFn?.bind(this), caption || 'User sent an audio file.', 'Audio'],
143
+ document: [this.extractFn?.bind(this), caption || 'User sent a document.', 'Document'],
144
+ };
145
+ const [processFn, _fb, label] = processMap[mediaType] ?? [undefined, caption || 'Media', MEDIA_TYPE_LABELS[mediaType] ?? 'Media'];
146
+ if (shouldProcessMedia && processFn) {
156
147
  try {
157
- const { text } = await this.extractFn(savedPath, mimeType);
158
- await route(`${text}\n\n[Document extracted from: ${savedPath}]`);
159
- return {
160
- caption: text,
161
- savedPath,
162
- mimeType
163
- };
148
+ const result = await processFn(savedPath, mimeType);
149
+ const text = typeof result === 'string' ? result : result.text;
150
+ await route(`${text}\n\n[${label}: ${savedPath}]`);
151
+ return { caption: text, savedPath, mimeType };
164
152
  }
165
153
  catch (err) {
166
- this.log.warn(`Document extraction failed: ${err}. Falling back to file path.`);
154
+ this.log.warn(`${label} processing failed: ${err}. Falling back to path.`);
167
155
  }
168
156
  }
169
- // Default handling for audio (no transcription), documents (no extraction), or other media types
170
- const label = MEDIA_TYPE_LABELS[mediaType] ?? 'Media';
157
+ // Fallback: just include path
171
158
  const durationSuffix = duration != null ? `, ${duration}s` : '';
172
159
  const fallbackCaption = caption || `[${label}${durationSuffix}]`;
173
- await route(`${fallbackCaption}\n\n[${label} saved: ${savedPath}]`);
174
- return {
175
- caption: fallbackCaption,
176
- savedPath,
177
- mimeType,
178
- };
160
+ await route(`${fallbackCaption}\n\n[${label}: ${savedPath}]`);
161
+ return { caption: fallbackCaption, savedPath, mimeType };
179
162
  }
180
163
  }
181
164
  //# sourceMappingURL=base-adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-adapter.js","sourceRoot":"","sources":["../../../services/channels/base-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-adapter.js","sourceRoot":"","sources":["../../../services/channels/base-adapter.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * Accumulates rapid messages from the same sender, flushes after a delay
4
4
  * Prevents partial messages from triggering separate agent runs
5
5
  */
6
- import type { NormalizedInboundMessage } from './contracts.js';
6
+ import type { NormalizedInboundMessage } from './types.js';
7
7
  export interface DebounceConfig {
8
8
  /** Delay in ms before flushing accumulated messages (default: 1500) */
9
9
  delayMs?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"debounce.d.ts","sourceRoot":"","sources":["../../../services/channels/debounce.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE/D,MAAM,WAAW,cAAc;IAC7B,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAC9E,mDAAmD;IACnD,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,yCAAyC;IACzC,QAAQ,IAAI,IAAI,CAAC;CAClB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,wBAAwB,KAAK,IAAI,EACvF,IAAI,GAAE,cAAmB,GACxB,gBAAgB,CAkDlB"}
1
+ {"version":3,"file":"debounce.d.ts","sourceRoot":"","sources":["../../../services/channels/debounce.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC7B,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAC9E,mDAAmD;IACnD,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,yCAAyC;IACzC,QAAQ,IAAI,IAAI,CAAC;CAClB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,wBAAwB,KAAK,IAAI,EACvF,IAAI,GAAE,cAAmB,GACxB,gBAAgB,CAkDlB"}
@@ -19,7 +19,7 @@
19
19
  import type { Bus } from '../../gateway/bus.js';
20
20
  import type { EventMap } from '../../gateway/events.js';
21
21
  import type { AppConfig } from '../../services/config/index.js';
22
- import type { NormalizedInboundMessage } from './contracts.js';
22
+ import type { NormalizedInboundMessage } from './types.js';
23
23
  export declare class ChannelService {
24
24
  private readonly bus;
25
25
  private readonly config;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../services/channels/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,gCAAgC,CAAC;AAM9E,OAAO,KAAK,EAAmC,wBAAwB,EAAe,MAAM,gBAAgB,CAAC;AA4C7G,qBAAa,cAAc;IAOvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPzB,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,cAAc,CAAsC;IAC5D,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,QAAQ,CAAyB;gBAGtB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,SAAS;IAK9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAKd,iBAAiB;IAOzB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBrB,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC;IAuC7F,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,CAAC;IAqB5G,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,CAAC;IAkBnG,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC;IAqB1F,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB7E,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,gBAAgB;IAuDxB;;;OAGG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC;YAoBF,YAAY;YAmBZ,aAAa;YAcb,kBAAkB;CAiBjC;AAID,wBAAsB,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC;IAAE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CAMvE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../services/channels/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,gCAAgC,CAAC;AAM9E,OAAO,KAAK,EAAmC,wBAAwB,EAAe,MAAM,YAAY,CAAC;AAoDzG,qBAAa,cAAc;IAOvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPzB,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,cAAc,CAAsC;IAC5D,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,QAAQ,CAAyB;gBAGtB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,SAAS;IAK9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAKd,iBAAiB;IAOzB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBrB,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC;IA6C7F,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,CAAC;IAqB5G,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,CAAC;IAkBnG,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC;IAuB1F,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B7E,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,gBAAgB;IAgFxB;;;OAGG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC;YAoBF,YAAY;YAmBZ,aAAa;YAcb,kBAAkB;CAiBjC;AAID,wBAAsB,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC;IAAE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CAMvE"}