@wirecat/cli-core 0.340.0 → 0.341.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 (257) hide show
  1. package/dist/cli/author.d.ts +6 -0
  2. package/dist/cli/author.d.ts.map +1 -1
  3. package/dist/cli/author.js +15 -0
  4. package/dist/cli/author.js.map +1 -1
  5. package/dist/cli/context.d.ts +2 -1
  6. package/dist/cli/context.d.ts.map +1 -1
  7. package/dist/cli/context.js +2 -1
  8. package/dist/cli/context.js.map +1 -1
  9. package/dist/cli/effects.d.ts +2 -1
  10. package/dist/cli/effects.d.ts.map +1 -1
  11. package/dist/cli/effects.js +3 -2
  12. package/dist/cli/effects.js.map +1 -1
  13. package/dist/cli/index.d.ts +0 -1
  14. package/dist/cli/index.d.ts.map +1 -1
  15. package/dist/cli/index.js +0 -1
  16. package/dist/cli/index.js.map +1 -1
  17. package/dist/cli/messenger/attachments-command.d.ts.map +1 -1
  18. package/dist/cli/messenger/attachments-command.js +10 -3
  19. package/dist/cli/messenger/attachments-command.js.map +1 -1
  20. package/dist/cli/messenger/catch-up.d.ts +8 -2
  21. package/dist/cli/messenger/catch-up.d.ts.map +1 -1
  22. package/dist/cli/messenger/catch-up.js +11 -3
  23. package/dist/cli/messenger/catch-up.js.map +1 -1
  24. package/dist/cli/messenger/context.d.ts +2 -0
  25. package/dist/cli/messenger/context.d.ts.map +1 -1
  26. package/dist/cli/messenger/context.js +5 -1
  27. package/dist/cli/messenger/context.js.map +1 -1
  28. package/dist/cli/messenger/conversations-command.d.ts.map +1 -1
  29. package/dist/cli/messenger/conversations-command.js +25 -1
  30. package/dist/cli/messenger/conversations-command.js.map +1 -1
  31. package/dist/cli/messenger/inbox.d.ts.map +1 -1
  32. package/dist/cli/messenger/inbox.js +11 -6
  33. package/dist/cli/messenger/inbox.js.map +1 -1
  34. package/dist/cli/messenger/mcp-command.js +1 -1
  35. package/dist/cli/messenger/mcp-command.js.map +1 -1
  36. package/dist/cli/messenger/mentions-command.d.ts.map +1 -1
  37. package/dist/cli/messenger/mentions-command.js +6 -7
  38. package/dist/cli/messenger/mentions-command.js.map +1 -1
  39. package/dist/cli/messenger/messages-command.d.ts.map +1 -1
  40. package/dist/cli/messenger/messages-command.js +2 -2
  41. package/dist/cli/messenger/messages-command.js.map +1 -1
  42. package/dist/cli/messenger/messages-send-command.d.ts.map +1 -1
  43. package/dist/cli/messenger/messages-send-command.js +2 -2
  44. package/dist/cli/messenger/messages-send-command.js.map +1 -1
  45. package/dist/cli/messenger/private-people-command.d.ts.map +1 -1
  46. package/dist/cli/messenger/private-people-command.js +5 -4
  47. package/dist/cli/messenger/private-people-command.js.map +1 -1
  48. package/dist/cli/messenger/review.js +6 -6
  49. package/dist/cli/messenger/review.js.map +1 -1
  50. package/dist/cli/messenger/tasks-command.d.ts.map +1 -1
  51. package/dist/cli/messenger/tasks-command.js +11 -9
  52. package/dist/cli/messenger/tasks-command.js.map +1 -1
  53. package/dist/cli/program.d.ts.map +1 -1
  54. package/dist/cli/program.js +3 -2
  55. package/dist/cli/program.js.map +1 -1
  56. package/dist/cli/stdin-field.d.ts +11 -0
  57. package/dist/cli/stdin-field.d.ts.map +1 -0
  58. package/dist/cli/stdin-field.js +7 -0
  59. package/dist/cli/stdin-field.js.map +1 -0
  60. package/dist/domain/tag-consolidation.d.ts +78 -0
  61. package/dist/domain/tag-consolidation.d.ts.map +1 -0
  62. package/dist/domain/tag-consolidation.js +2 -0
  63. package/dist/domain/tag-consolidation.js.map +1 -0
  64. package/dist/errors/reasons.d.ts.map +1 -1
  65. package/dist/errors/reasons.js +7 -1
  66. package/dist/errors/reasons.js.map +1 -1
  67. package/dist/mcp/agent.d.ts +10 -1
  68. package/dist/mcp/agent.d.ts.map +1 -1
  69. package/dist/mcp/agent.js +65 -20
  70. package/dist/mcp/agent.js.map +1 -1
  71. package/dist/mcp/prompts.js +1 -1
  72. package/dist/mcp/prompts.js.map +1 -1
  73. package/dist/mcp/server.d.ts +5 -0
  74. package/dist/mcp/server.d.ts.map +1 -1
  75. package/dist/mcp/server.js +278 -32
  76. package/dist/mcp/server.js.map +1 -1
  77. package/dist/mcp/session.d.ts +2 -0
  78. package/dist/mcp/session.d.ts.map +1 -1
  79. package/dist/mcp/session.js +2 -0
  80. package/dist/mcp/session.js.map +1 -1
  81. package/dist/mcp/surface.d.ts +5 -2
  82. package/dist/mcp/surface.d.ts.map +1 -1
  83. package/dist/mcp/surface.js +7 -4
  84. package/dist/mcp/surface.js.map +1 -1
  85. package/dist/mcp/tool.d.ts +3 -6
  86. package/dist/mcp/tool.d.ts.map +1 -1
  87. package/dist/mcp/tool.js +3 -36
  88. package/dist/mcp/tool.js.map +1 -1
  89. package/dist/mcp/tools/attachments.d.ts.map +1 -1
  90. package/dist/mcp/tools/attachments.js +3 -138
  91. package/dist/mcp/tools/attachments.js.map +1 -1
  92. package/dist/mcp/tools.d.ts +4 -21
  93. package/dist/mcp/tools.d.ts.map +1 -1
  94. package/dist/mcp/tools.js +4 -97
  95. package/dist/mcp/tools.js.map +1 -1
  96. package/dist/meetings/mcp/index.d.ts +15 -15
  97. package/dist/meetings/mcp/index.d.ts.map +1 -1
  98. package/dist/sends/permissions.d.ts.map +1 -1
  99. package/dist/sends/permissions.js +2 -1
  100. package/dist/sends/permissions.js.map +1 -1
  101. package/dist/store/drivers/node-sqlite.d.ts +2 -3
  102. package/dist/store/drivers/node-sqlite.d.ts.map +1 -1
  103. package/dist/store/drivers/node-sqlite.js +2 -3
  104. package/dist/store/drivers/node-sqlite.js.map +1 -1
  105. package/dist/store/index.d.ts +1 -0
  106. package/dist/store/index.d.ts.map +1 -1
  107. package/dist/store/index.js.map +1 -1
  108. package/dist/store/open.d.ts.map +1 -1
  109. package/dist/store/open.js +2 -0
  110. package/dist/store/open.js.map +1 -1
  111. package/dist/store/sqlite/open.d.ts.map +1 -1
  112. package/dist/store/sqlite/open.js +2 -0
  113. package/dist/store/sqlite/open.js.map +1 -1
  114. package/dist/store/sqlite/tag-consolidation.d.ts +5 -0
  115. package/dist/store/sqlite/tag-consolidation.d.ts.map +1 -0
  116. package/dist/store/sqlite/tag-consolidation.js +178 -0
  117. package/dist/store/sqlite/tag-consolidation.js.map +1 -0
  118. package/dist/store/sqlite/tags.js +1 -1
  119. package/dist/store/sqlite/tags.js.map +1 -1
  120. package/dist/store/sqlite/vocabulary.d.ts +2 -1
  121. package/dist/store/sqlite/vocabulary.d.ts.map +1 -1
  122. package/dist/store/sqlite/vocabulary.js +2 -0
  123. package/dist/store/sqlite/vocabulary.js.map +1 -1
  124. package/dist/store/sqlite-warning.d.ts +8 -0
  125. package/dist/store/sqlite-warning.d.ts.map +1 -0
  126. package/dist/store/sqlite-warning.js +26 -0
  127. package/dist/store/sqlite-warning.js.map +1 -0
  128. package/package.json +2 -2
  129. package/parity.json +12 -0
  130. package/dist/mcp/search-sync.d.ts +0 -12
  131. package/dist/mcp/search-sync.d.ts.map +0 -1
  132. package/dist/mcp/search-sync.js +0 -18
  133. package/dist/mcp/search-sync.js.map +0 -1
  134. package/dist/mcp/thread-options.d.ts +0 -19
  135. package/dist/mcp/thread-options.d.ts.map +0 -1
  136. package/dist/mcp/thread-options.js +0 -20
  137. package/dist/mcp/thread-options.js.map +0 -1
  138. package/dist/mcp/tools/account.d.ts +0 -4
  139. package/dist/mcp/tools/account.d.ts.map +0 -1
  140. package/dist/mcp/tools/account.js +0 -31
  141. package/dist/mcp/tools/account.js.map +0 -1
  142. package/dist/mcp/tools/admin-statistics.d.ts +0 -4
  143. package/dist/mcp/tools/admin-statistics.d.ts.map +0 -1
  144. package/dist/mcp/tools/admin-statistics.js +0 -163
  145. package/dist/mcp/tools/admin-statistics.js.map +0 -1
  146. package/dist/mcp/tools/admin.d.ts +0 -5
  147. package/dist/mcp/tools/admin.d.ts.map +0 -1
  148. package/dist/mcp/tools/admin.js +0 -262
  149. package/dist/mcp/tools/admin.js.map +0 -1
  150. package/dist/mcp/tools/chats-read.d.ts +0 -4
  151. package/dist/mcp/tools/chats-read.d.ts.map +0 -1
  152. package/dist/mcp/tools/chats-read.js +0 -28
  153. package/dist/mcp/tools/chats-read.js.map +0 -1
  154. package/dist/mcp/tools/chats-state.d.ts +0 -5
  155. package/dist/mcp/tools/chats-state.d.ts.map +0 -1
  156. package/dist/mcp/tools/chats-state.js +0 -58
  157. package/dist/mcp/tools/chats-state.js.map +0 -1
  158. package/dist/mcp/tools/chats.d.ts +0 -4
  159. package/dist/mcp/tools/chats.d.ts.map +0 -1
  160. package/dist/mcp/tools/chats.js +0 -194
  161. package/dist/mcp/tools/chats.js.map +0 -1
  162. package/dist/mcp/tools/contacts-write.d.ts +0 -5
  163. package/dist/mcp/tools/contacts-write.d.ts.map +0 -1
  164. package/dist/mcp/tools/contacts-write.js +0 -53
  165. package/dist/mcp/tools/contacts-write.js.map +0 -1
  166. package/dist/mcp/tools/contacts.d.ts +0 -4
  167. package/dist/mcp/tools/contacts.d.ts.map +0 -1
  168. package/dist/mcp/tools/contacts.js +0 -196
  169. package/dist/mcp/tools/contacts.js.map +0 -1
  170. package/dist/mcp/tools/conversations.d.ts +0 -5
  171. package/dist/mcp/tools/conversations.d.ts.map +0 -1
  172. package/dist/mcp/tools/conversations.js +0 -265
  173. package/dist/mcp/tools/conversations.js.map +0 -1
  174. package/dist/mcp/tools/folders.d.ts +0 -5
  175. package/dist/mcp/tools/folders.d.ts.map +0 -1
  176. package/dist/mcp/tools/folders.js +0 -103
  177. package/dist/mcp/tools/folders.js.map +0 -1
  178. package/dist/mcp/tools/inbox.d.ts +0 -6
  179. package/dist/mcp/tools/inbox.d.ts.map +0 -1
  180. package/dist/mcp/tools/inbox.js +0 -65
  181. package/dist/mcp/tools/inbox.js.map +0 -1
  182. package/dist/mcp/tools/messages-actions.d.ts +0 -5
  183. package/dist/mcp/tools/messages-actions.d.ts.map +0 -1
  184. package/dist/mcp/tools/messages-actions.js +0 -129
  185. package/dist/mcp/tools/messages-actions.js.map +0 -1
  186. package/dist/mcp/tools/messages-delete.d.ts +0 -4
  187. package/dist/mcp/tools/messages-delete.d.ts.map +0 -1
  188. package/dist/mcp/tools/messages-delete.js +0 -39
  189. package/dist/mcp/tools/messages-delete.js.map +0 -1
  190. package/dist/mcp/tools/messages-send.d.ts +0 -8
  191. package/dist/mcp/tools/messages-send.d.ts.map +0 -1
  192. package/dist/mcp/tools/messages-send.js +0 -107
  193. package/dist/mcp/tools/messages-send.js.map +0 -1
  194. package/dist/mcp/tools/messages-transcribe.d.ts +0 -4
  195. package/dist/mcp/tools/messages-transcribe.d.ts.map +0 -1
  196. package/dist/mcp/tools/messages-transcribe.js +0 -32
  197. package/dist/mcp/tools/messages-transcribe.js.map +0 -1
  198. package/dist/mcp/tools/messages.d.ts +0 -4
  199. package/dist/mcp/tools/messages.d.ts.map +0 -1
  200. package/dist/mcp/tools/messages.js +0 -207
  201. package/dist/mcp/tools/messages.js.map +0 -1
  202. package/dist/mcp/tools/moderation.d.ts +0 -8
  203. package/dist/mcp/tools/moderation.d.ts.map +0 -1
  204. package/dist/mcp/tools/moderation.js +0 -36
  205. package/dist/mcp/tools/moderation.js.map +0 -1
  206. package/dist/mcp/tools/polls.d.ts +0 -6
  207. package/dist/mcp/tools/polls.d.ts.map +0 -1
  208. package/dist/mcp/tools/polls.js +0 -140
  209. package/dist/mcp/tools/polls.js.map +0 -1
  210. package/dist/mcp/tools/private-people.d.ts +0 -4
  211. package/dist/mcp/tools/private-people.d.ts.map +0 -1
  212. package/dist/mcp/tools/private-people.js +0 -121
  213. package/dist/mcp/tools/private-people.js.map +0 -1
  214. package/dist/mcp/tools/rankings.d.ts +0 -4
  215. package/dist/mcp/tools/rankings.d.ts.map +0 -1
  216. package/dist/mcp/tools/rankings.js +0 -112
  217. package/dist/mcp/tools/rankings.js.map +0 -1
  218. package/dist/mcp/tools/reactions.d.ts +0 -5
  219. package/dist/mcp/tools/reactions.d.ts.map +0 -1
  220. package/dist/mcp/tools/reactions.js +0 -33
  221. package/dist/mcp/tools/reactions.js.map +0 -1
  222. package/dist/mcp/tools/review.d.ts +0 -4
  223. package/dist/mcp/tools/review.d.ts.map +0 -1
  224. package/dist/mcp/tools/review.js +0 -68
  225. package/dist/mcp/tools/review.js.map +0 -1
  226. package/dist/mcp/tools/runs.d.ts +0 -4
  227. package/dist/mcp/tools/runs.d.ts.map +0 -1
  228. package/dist/mcp/tools/runs.js +0 -28
  229. package/dist/mcp/tools/runs.js.map +0 -1
  230. package/dist/mcp/tools/search-tools.d.ts +0 -5
  231. package/dist/mcp/tools/search-tools.d.ts.map +0 -1
  232. package/dist/mcp/tools/search-tools.js +0 -132
  233. package/dist/mcp/tools/search-tools.js.map +0 -1
  234. package/dist/mcp/tools/search.d.ts +0 -154
  235. package/dist/mcp/tools/search.d.ts.map +0 -1
  236. package/dist/mcp/tools/search.js +0 -163
  237. package/dist/mcp/tools/search.js.map +0 -1
  238. package/dist/mcp/tools/searches.d.ts +0 -4
  239. package/dist/mcp/tools/searches.d.ts.map +0 -1
  240. package/dist/mcp/tools/searches.js +0 -108
  241. package/dist/mcp/tools/searches.js.map +0 -1
  242. package/dist/mcp/tools/store.d.ts +0 -4
  243. package/dist/mcp/tools/store.d.ts.map +0 -1
  244. package/dist/mcp/tools/store.js +0 -163
  245. package/dist/mcp/tools/store.js.map +0 -1
  246. package/dist/mcp/tools/tags.d.ts +0 -4
  247. package/dist/mcp/tools/tags.d.ts.map +0 -1
  248. package/dist/mcp/tools/tags.js +0 -64
  249. package/dist/mcp/tools/tags.js.map +0 -1
  250. package/dist/mcp/tools/tasks.d.ts +0 -4
  251. package/dist/mcp/tools/tasks.d.ts.map +0 -1
  252. package/dist/mcp/tools/tasks.js +0 -369
  253. package/dist/mcp/tools/tasks.js.map +0 -1
  254. package/dist/mcp/tools/topics.d.ts +0 -5
  255. package/dist/mcp/tools/topics.d.ts.map +0 -1
  256. package/dist/mcp/tools/topics.js +0 -134
  257. package/dist/mcp/tools/topics.js.map +0 -1
@@ -1,31 +0,0 @@
1
- import * as v from "valibot";
2
- import { itemOf } from "../../cli/envelope.js";
3
- import { accountAnswer, sessionAnswer, wholeList } from "../../cli/messenger/chat-answers.js";
4
- import { capability } from "../../ports/messenger.js";
5
- import { maskedAccount } from "../../services/people.js";
6
- import { nameOf, READ, tool } from "../tool.js";
7
- export const accountTools = (messenger) => {
8
- const name = nameOf(messenger);
9
- return {
10
- account_show: tool({
11
- title: "Who this is",
12
- description: `The ${name} account this server is logged in as.`,
13
- input: v.object({}),
14
- annotations: { ...READ, idempotentHint: true },
15
- output: { entity: "account", list: false },
16
- // An agent has no reason to hold the owner's number (max-cli NEED-209).
17
- online: async (adapter) => itemOf(accountAnswer(messenger.provider, maskedAccount(await adapter.me()))),
18
- }),
19
- account_sessions: tool({
20
- title: "Where the owner is logged in",
21
- description: `Every device and app logged in to the owner's ${name} account, each with current, client, device, ` +
22
- "location, last_active_at. Reads only; nothing is ended.",
23
- input: v.object({}),
24
- annotations: READ,
25
- command: "account sessions list",
26
- output: { entity: "account_session", list: true },
27
- online: async (adapter) => wholeList("account sessions list", (await capability(adapter, "sessions", "list the account's sessions")()).map(sessionAnswer)),
28
- }),
29
- };
30
- };
31
- //# sourceMappingURL=account.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/mcp/tools/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAE7F,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAgB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAE7D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAoB,EAA2B,EAAE;IAC5E,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;IAC9B,OAAO;QACL,YAAY,EAAE,IAAI,CAAC;YACjB,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,OAAO,IAAI,uCAAuC;YAC/D,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACnB,WAAW,EAAE,EAAE,GAAG,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;YAC9C,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;YAC1C,wEAAwE;YACxE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACxG,CAAC;QAEF,gBAAgB,EAAE,IAAI,CAAC;YACrB,KAAK,EAAE,8BAA8B;YACrC,WAAW,EACT,iDAAiD,IAAI,+CAA+C;gBACpG,yDAAyD;YAC3D,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACnB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,uBAAuB;YAChC,MAAM,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE;YACjD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CACxB,SAAS,CACP,uBAAuB,EACvB,CAAC,MAAM,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,6BAA6B,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAC5F;SACJ,CAAC;KACH,CAAA;AACH,CAAC,CAAA"}
@@ -1,4 +0,0 @@
1
- import type { Messenger } from "../../cli/messenger/context.js";
2
- import { type AnyTool } from "../tool.js";
3
- export declare const adminStatisticsTools: (messenger: Messenger) => Record<string, AnyTool>;
4
- //# sourceMappingURL=admin-statistics.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin-statistics.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/admin-statistics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAK/D,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,YAAY,CAAA;AAkCrD,eAAO,MAAM,oBAAoB,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CA8KjF,CAAA"}
@@ -1,163 +0,0 @@
1
- import * as v from "valibot";
2
- import { adminAnswer, countersAnswer, refreshAnswer, retentionAnswer } from "../../cli/messenger/stats-answers.js";
3
- import { searchServices } from "../search-sync.js";
4
- import { READ, tool } from "../tool.js";
5
- const common = {
6
- saved: v.optional(v.string()),
7
- timezone: v.optional(v.string()),
8
- limit: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(100))),
9
- };
10
- const query = {
11
- ...common,
12
- text: v.optional(v.string()),
13
- ast: v.optional(v.unknown()),
14
- chat: v.optional(v.pipe(v.string(), v.description("Stored chat ID, @username or title fragment; use chats list to discover IDs. Never guess ambiguous titles."))),
15
- source: v.optional(v.string()),
16
- exact: v.optional(v.boolean()),
17
- };
18
- const people = {
19
- answerer: v.optional(v.array(v.pipe(v.string(), v.description("Stored name, alias, @username, ID or person:provider/account/id, resolved only in query accounts. Unknown names fail; ambiguous names return candidates. Explicit unseen IDs remain unknown, not evidence of zero activity.")))),
20
- };
21
- export const adminStatisticsTools = (messenger) => {
22
- const definitions = {};
23
- for (const report of ["unanswered", "responses", "newcomers", "discussion"]) {
24
- const path = report === "responses" ? "contacts" : report === "newcomers" ? "chats" : "messages";
25
- const entries = report === "newcomers"
26
- ? {
27
- ...common,
28
- ...people,
29
- chat: v.pipe(v.string(), v.description("Stored chat ID, @username or title fragment; ambiguous titles require choosing a candidate.")),
30
- since_time: v.optional(v.string()),
31
- until_time: v.optional(v.string()),
32
- within: v.optional(v.string()),
33
- }
34
- : report === "discussion"
35
- ? {
36
- ...query,
37
- min_views: v.optional(v.pipe(v.number(), v.integer(), v.minValue(0))),
38
- max_replies: v.optional(v.pipe(v.number(), v.integer(), v.minValue(0))),
39
- }
40
- : {
41
- ...query,
42
- ...people,
43
- ...(report === "unanswered" ? { older_than: v.optional(v.string()) } : {}),
44
- };
45
- const input = v.object(entries);
46
- definitions[`stats_${path}_${report}`] = tool({
47
- title: `Stored ${report} report`,
48
- description: "Administrator statistics from authorized stored history only. Explicit qualifying replies; selected answerer identities do not prove historical admin roles. Missing joining dates, reply history and counters remain unknown or partial. Each row carries the selection its evidence takes; next names the top row's evidence. No fetch, sends, mark-read or model calls.",
49
- input,
50
- annotations: { ...READ, openWorldHint: false },
51
- output: { entity: "admin_report", list: false },
52
- stored: async (store, account, args, defaults) => {
53
- const services = searchServices(messenger, store, account, defaults);
54
- const values = args;
55
- const found = await services.adminStatistics.report(report, {
56
- limit: values.limit ?? 20,
57
- timezone: values.timezone,
58
- saved: values.saved,
59
- signal: defaults.signal,
60
- text: values.text,
61
- ast: values.ast,
62
- chat: values.chat,
63
- source: values.source,
64
- exact: values.exact,
65
- answerers: values.answerer,
66
- olderThan: values.older_than,
67
- within: values.within,
68
- sinceTime: values.since_time,
69
- untilTime: values.until_time,
70
- minViews: values.min_views,
71
- maxReplies: values.max_replies,
72
- });
73
- return adminAnswer(found);
74
- },
75
- });
76
- }
77
- definitions.stats_chats_retention = tool({
78
- title: "Observed retention cohorts",
79
- description: "Known joining cohorts, observed checkpoint membership, activity and interval departures from saved roster batches. Partial absences and missing joins remain unknown. Rates expose observed denominators. No connection or message actions.",
80
- input: v.object({
81
- chat: v.pipe(v.string(), v.description("Stored chat ID, @username or title fragment; ambiguous titles require choosing a candidate.")),
82
- since_time: v.optional(v.string()),
83
- until_time: v.optional(v.string()),
84
- checkpoints: v.optional(v.string()),
85
- within: v.optional(v.string()),
86
- by: v.optional(v.picklist(["day", "week"])),
87
- timezone: v.optional(v.string()),
88
- limit: common.limit,
89
- }),
90
- annotations: { ...READ, openWorldHint: false },
91
- output: { entity: "retention", list: false },
92
- stored: async (store, account, args, defaults) => retentionAnswer(await searchServices(messenger, store, account, defaults).retention.report(args.chat, {
93
- sinceTime: args.since_time,
94
- untilTime: args.until_time,
95
- checkpoints: args.checkpoints,
96
- within: args.within,
97
- by: args.by,
98
- timezone: args.timezone,
99
- limit: args.limit,
100
- })),
101
- });
102
- for (const operation of ["show", "refresh"]) {
103
- const entries = {
104
- text: query.text,
105
- ast: query.ast,
106
- chat: query.chat,
107
- source: query.source,
108
- exact: query.exact,
109
- timezone: query.timezone,
110
- limit: common.limit,
111
- selection: v.optional(v.unknown()),
112
- counters: v.optional(v.string()),
113
- ...(operation === "show" ? { max_age: v.optional(v.string()) } : {}),
114
- ...(operation === "refresh"
115
- ? {
116
- max_messages: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(100))),
117
- sync_time: v.optional(v.string()),
118
- dry_run: v.optional(v.boolean()),
119
- }
120
- : {}),
121
- };
122
- definitions[`stats_messages_counters_${operation}`] = tool({
123
- title: `Counter observations ${operation}`,
124
- description: operation === "show"
125
- ? "Bounded stored counter values with explicit per-field observation freshness and pinned exact locators."
126
- : "Bounded remote counter read and local observation write. Requires explicit chat or pinned selection. No send, mark-read or view increment. Dry run resolves targets and capabilities without connecting.",
127
- input: v.object(entries),
128
- annotations: {
129
- ...READ,
130
- readOnlyHint: operation === "show",
131
- destructiveHint: false,
132
- openWorldHint: operation === "refresh",
133
- },
134
- key: `stats.messages.counters.${operation}`,
135
- output: { entity: operation === "show" ? "counters" : "counter_refresh", list: false },
136
- stored: async (store, account, args, defaults, connect) => {
137
- const values = args;
138
- const counters = searchServices(messenger, store, account, defaults, operation === "refresh" && values.dry_run !== true ? connect : undefined).counters;
139
- const query = {
140
- text: values.text,
141
- ast: values.ast,
142
- chat: values.chat,
143
- source: values.source,
144
- exact: values.exact,
145
- timezone: values.timezone,
146
- selection: values.selection,
147
- counters: values.counters,
148
- maxAge: values.max_age,
149
- limit: values.limit ?? 20,
150
- maxMessages: values.max_messages,
151
- syncTime: values.sync_time,
152
- dryRun: values.dry_run,
153
- signal: defaults.signal,
154
- };
155
- return operation === "show"
156
- ? countersAnswer(await counters.show(query))
157
- : refreshAnswer(await counters.refresh(query));
158
- },
159
- });
160
- }
161
- return definitions;
162
- };
163
- //# sourceMappingURL=admin-statistics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin-statistics.js","sourceRoot":"","sources":["../../../src/mcp/tools/admin-statistics.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import type { Messenger } from "../../cli/messenger/context.js";
2
- import { type AnyTool } from "../tool.js";
3
- /** Groups the owner makes, joins and leaves: other people see each one, so each is behind its permission level. */
4
- export declare const adminTools: (messenger: Messenger) => Record<string, AnyTool>;
5
- //# sourceMappingURL=admin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/admin.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAK/D,OAAO,EAAE,KAAK,OAAO,EAA0C,MAAM,YAAY,CAAA;AAajF,mHAAmH;AACnH,eAAO,MAAM,UAAU,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAwUvE,CAAA"}
@@ -1,262 +0,0 @@
1
- import { CliError } from "@wirecat/cli-base";
2
- import * as v from "valibot";
3
- import { itemOf, snakeKeys } from "../../cli/envelope.js";
4
- import { queryArgument } from "../../cli/list-query.js";
5
- import { inviteLinks, joinRequests } from "../../cli/messenger/chat-lists.js";
6
- import { LINKS_QUERY, REQUESTS_QUERY } from "../../cli/messenger/chat-queries.js";
7
- import { ADMIN_RIGHTS, GROUP_SETTINGS } from "../../domain/models.js";
8
- import { onlineDeps, servicesFor } from "../../services/index.js";
9
- import { chatOf, limit, page, READ, tool, WRITE } from "../tool.js";
10
- const answer = (service, args, accept) => {
11
- if ((args.person === undefined) === (args.all !== true))
12
- throw new CliError("validation_error", "give one person, or all — not both, not neither");
13
- if (args.link !== undefined && args.all !== true)
14
- throw new CliError("validation_error", "link goes with all");
15
- return args.person === undefined
16
- ? service.answerAllRequests(args.chat, accept, args.link === undefined ? {} : { link: args.link })
17
- : service.answerRequest(args.chat, args.person, accept);
18
- };
19
- /** Groups the owner makes, joins and leaves: other people see each one, so each is behind its permission level. */
20
- export const adminTools = (messenger) => {
21
- const admin = (adapter, guard) => servicesFor(onlineDeps(messenger, adapter, guard)).admin;
22
- const photoRemoval = messenger.groupPhotoRemoval === true
23
- ? { remove_photo: v.optional(v.pipe(v.literal(true), v.description("take the group's photo away"))) }
24
- : {};
25
- const definitions = {
26
- chats_create: tool({
27
- title: "Create a group",
28
- description: "Create a group, or a channel, with these people in it; each of them is told they were added. " +
29
- "Only when the owner asked for this group with these people.",
30
- input: v.object({
31
- title: v.pipe(v.string(), v.minLength(1)),
32
- people: v.optional(v.array(v.pipe(v.string(), v.minLength(1)))),
33
- channel: v.optional(v.pipe(v.boolean(), v.description("a channel people join by its link, not a group"))),
34
- }),
35
- annotations: WRITE,
36
- permission: "groups",
37
- online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).create({
38
- title: args.title,
39
- people: args.people ?? [],
40
- channel: args.channel === true,
41
- }))),
42
- }),
43
- chats_join: tool({
44
- title: "Join a group by its link",
45
- description: "Join a group or channel by an invite or public link; the others in it see it. Where its admins approve " +
46
- "who joins, the answer is { requested: true }: the request is sent. Only when the owner asked.",
47
- input: v.object({ link: v.pipe(v.string(), v.minLength(1)) }),
48
- annotations: WRITE,
49
- permission: "groups",
50
- online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).join(args.link))),
51
- }),
52
- chats_leave: tool({
53
- title: "Leave a group",
54
- description: "Leave a group or channel; the others in it see it. Only when the owner asked to leave this chat.",
55
- input: v.object({ chat: chatOf(messenger) }),
56
- annotations: WRITE,
57
- permission: "groups",
58
- online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).leave(args.chat))),
59
- }),
60
- chats_update: tool({
61
- title: "Change a group",
62
- description: "Rename a group or channel, change its description, or turn its settings on or off; its members see the " +
63
- "change. Only when the owner asked for this change.",
64
- input: v.object({
65
- chat: chatOf(messenger),
66
- title: v.optional(v.pipe(v.string(), v.minLength(1))),
67
- description: v.optional(v.string()),
68
- settings: v.optional(v.pipe(v.partial(v.object(Object.fromEntries((messenger.groupSettings ?? GROUP_SETTINGS).map((key) => [
69
- key,
70
- key === "disappearingSeconds"
71
- ? v.pipe(v.number(), v.integer(), v.minValue(0), v.description("seconds; 0 keeps messages"))
72
- : v.boolean(),
73
- ])))), v.description("true turns a setting on, false off; one left out stays as it is"))),
74
- ...photoRemoval,
75
- }),
76
- annotations: WRITE,
77
- permission: "groups",
78
- online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).update(args.chat, {
79
- ...(args.title === undefined ? {} : { title: args.title }),
80
- ...(args.description === undefined ? {} : { description: args.description }),
81
- ...(args.settings === undefined ? {} : { settings: args.settings }),
82
- ...(args.remove_photo === true ? { removePhoto: true } : {}),
83
- }))),
84
- }),
85
- chats_link_show: tool({
86
- title: "A group's invite link",
87
- description: "The invite link of a group or channel, when the owner may see it. Reading changes nothing.",
88
- input: v.object({ chat: chatOf(messenger) }),
89
- annotations: READ,
90
- online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).link(args.chat))),
91
- }),
92
- chats_link_reset: tool({
93
- title: "Replace a group's invite link",
94
- description: "Make a new invite link for a group or channel; the old one stops working for everyone who has it. " +
95
- "Only when the owner asked.",
96
- input: v.object({ chat: chatOf(messenger) }),
97
- annotations: WRITE,
98
- permission: "groups",
99
- online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).resetLink(args.chat))),
100
- }),
101
- chats_link_create: tool({
102
- title: "Make another invite link",
103
- description: "Make an additional invite link for a group or channel: { chatId, link, approval, expiresAt, maxUses }. " +
104
- "Nobody is told until the link is shared. Only when the owner asked.",
105
- input: v.object({
106
- chat: chatOf(messenger),
107
- approval: v.optional(v.pipe(v.boolean(), v.description("who joins by it asks first, and an admin lets them in; not with max_uses"))),
108
- expire_time: v.optional(v.pipe(v.string(), v.description("it stops working then: 2026-09-25T09:00 (local time), or 30m, 2h, 7d"))),
109
- max_uses: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(99_999))),
110
- }),
111
- annotations: WRITE,
112
- permission: "groups",
113
- online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).createLink(args.chat, {
114
- approval: args.approval === true,
115
- ...(args.expire_time === undefined ? {} : { expires: args.expire_time }),
116
- ...(args.max_uses === undefined ? {} : { maxUses: args.max_uses }),
117
- }))),
118
- }),
119
- chats_link_list: tool({
120
- title: "A group's invite links",
121
- description: "The owner's own invite links of a group, newest first: { link, approval, expires_at, max_uses, primary, " +
122
- "revoked, pending_count, joined_count }. query revoked:true lists the stopped ones. Reading changes nothing.",
123
- input: v.object({ chat: chatOf(messenger), query: queryArgument(LINKS_QUERY), limit, page }),
124
- annotations: READ,
125
- output: { entity: "invite_link", list: true },
126
- online: (adapter, args, defaults) => inviteLinks(servicesFor(onlineDeps(messenger, adapter, defaults.guard)), args.chat, args.query, {
127
- limit: args.limit ?? defaults.limit,
128
- page: args.page ?? 1,
129
- }),
130
- }),
131
- chats_link_revoke: tool({
132
- title: "Revoke an invite link",
133
- description: "Stop one invite link; for the group's own link the answer is the new one the messenger made. " +
134
- "Only the link the owner named.",
135
- input: v.object({ chat: chatOf(messenger), link: v.pipe(v.string(), v.minLength(1)) }),
136
- annotations: WRITE,
137
- permission: "groups",
138
- online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).revokeLink(args.chat, args.link))),
139
- }),
140
- chats_link_update: tool({
141
- title: "Change an invite link",
142
- description: "Change one of the owner's invite links, the group's own one too: { chatId, link, approval, expiresAt, " +
143
- "maxUses }. Only the fields given change. Only when the owner asked.",
144
- input: v.object({
145
- chat: chatOf(messenger),
146
- link: v.pipe(v.string(), v.minLength(1)),
147
- approval: v.optional(v.pipe(v.boolean(), v.description("true: who joins by it asks first, not with max_uses; false: anyone with it joins at once"))),
148
- expire_time: v.optional(v.pipe(v.string(), v.description("it stops working then: 2026-09-25T09:00 (local time), or 30m, 2h, 7d; never takes the expiry away"))),
149
- max_uses: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(99_999))),
150
- }),
151
- annotations: WRITE,
152
- permission: "groups",
153
- online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).updateLink(args.chat, args.link, {
154
- ...(args.approval === undefined ? {} : { approval: args.approval }),
155
- ...(args.expire_time === undefined ? {} : { expires: args.expire_time }),
156
- ...(args.max_uses === undefined ? {} : { maxUses: args.max_uses }),
157
- }))),
158
- }),
159
- chats_requests_list: tool({
160
- title: "Requests to join a group",
161
- description: "Who asked to join a group or channel that needs an admin's approval, newest first: { person_id, name, " +
162
- 'username, requested_at, about? }. query narrows by name:ana or username:ana, or by link:"<invite link>" ' +
163
- "— not both. Only admins see them. Reading tells nobody.",
164
- input: v.object({ chat: chatOf(messenger), query: queryArgument(REQUESTS_QUERY), limit, page }),
165
- annotations: READ,
166
- output: { entity: "join_request", list: true },
167
- online: (adapter, args, defaults) => joinRequests(servicesFor(onlineDeps(messenger, adapter, defaults.guard)), args.chat, args.query, {
168
- limit: args.limit ?? defaults.limit,
169
- page: args.page ?? 1,
170
- }),
171
- }),
172
- chats_requests_accept: tool({
173
- title: "Accept a request to join",
174
- description: "Let one person who asked to join into the group. Only the person and group the owner named.",
175
- input: v.object({
176
- chat: chatOf(messenger),
177
- person: v.optional(v.pipe(v.string(), v.minLength(1))),
178
- all: v.optional(v.pipe(v.boolean(), v.description("every pending request instead of one person"))),
179
- link: v.optional(v.pipe(v.string(), v.minLength(1), v.description("with all: only requests by this link"))),
180
- }),
181
- annotations: WRITE,
182
- permission: "groups",
183
- online: async (adapter, args, { guard }) => itemOf(snakeKeys(await answer(admin(adapter, guard), args, true))),
184
- }),
185
- chats_requests_decline: tool({
186
- title: "Decline a request to join",
187
- description: "Turn away one person who asked to join the group. Only the person and group the owner named.",
188
- input: v.object({
189
- chat: chatOf(messenger),
190
- person: v.optional(v.pipe(v.string(), v.minLength(1))),
191
- all: v.optional(v.pipe(v.boolean(), v.description("every pending request instead of one person"))),
192
- link: v.optional(v.pipe(v.string(), v.minLength(1), v.description("with all: only requests by this link"))),
193
- }),
194
- annotations: WRITE,
195
- permission: "groups",
196
- online: async (adapter, args, { guard }) => itemOf(snakeKeys(await answer(admin(adapter, guard), args, false))),
197
- }),
198
- chats_members_add: tool({
199
- title: "Add people to a group",
200
- description: "Add people to a group; each is told. Only the people the owner named, to the group the owner named.",
201
- input: v.object({
202
- chat: chatOf(messenger),
203
- people: v.pipe(v.array(v.pipe(v.string(), v.minLength(1))), v.minLength(1)),
204
- history: v.optional(v.pipe(v.boolean(), v.description("they also see the messages from before; refused where the messenger cannot"))),
205
- }),
206
- annotations: WRITE,
207
- permission: "groups",
208
- online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).addMembers(args.chat, args.people, args.history === true ? { history: true } : {}))),
209
- }),
210
- chats_members_remove: tool({
211
- title: "Remove people from a group",
212
- description: "Remove people from a group; their messages stay. Only the people the owner named.",
213
- input: v.object({
214
- chat: chatOf(messenger),
215
- people: v.pipe(v.array(v.pipe(v.string(), v.minLength(1))), v.minLength(1)),
216
- }),
217
- annotations: WRITE,
218
- permission: "groups",
219
- online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).removeMembers(args.chat, args.people))),
220
- }),
221
- chats_admins_add: messenger.pickAdminRights === false
222
- ? tool({
223
- title: "Make someone an admin",
224
- description: "Make a member of a group an admin; this messenger gives every admin every right. Only when the owner " +
225
- "asked.",
226
- input: v.object({ chat: chatOf(messenger), person: v.pipe(v.string(), v.minLength(1)) }),
227
- annotations: WRITE,
228
- permission: "groups",
229
- online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).addAdmin(args.chat, args.person, [
230
- ...(messenger.adminRights ?? ADMIN_RIGHTS),
231
- ]))),
232
- })
233
- : tool({
234
- title: "Make someone an admin",
235
- description: "Make a member of a group an admin with these rights. Only when the owner asked, with these rights.",
236
- input: v.object({
237
- chat: chatOf(messenger),
238
- person: v.pipe(v.string(), v.minLength(1)),
239
- rights: v.pipe(v.array(v.picklist(messenger.adminRights ?? ADMIN_RIGHTS)), v.minLength(1)),
240
- }),
241
- annotations: WRITE,
242
- permission: "groups",
243
- online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).addAdmin(args.chat, args.person, args.rights))),
244
- }),
245
- chats_admins_remove: tool({
246
- title: "Take admin rights back",
247
- description: "Take a group admin's rights back; they stay a member. Only when the owner asked.",
248
- input: v.object({ chat: chatOf(messenger), person: v.pipe(v.string(), v.minLength(1)) }),
249
- annotations: WRITE,
250
- permission: "groups",
251
- online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).removeAdmin(args.chat, args.person))),
252
- }),
253
- };
254
- if (messenger.inviteLinkList === false)
255
- delete definitions.chats_link_list;
256
- if (messenger.inviteLinkRevoke === false)
257
- delete definitions.chats_link_revoke;
258
- if (messenger.inviteLinkUpdate !== true)
259
- delete definitions.chats_link_update;
260
- return definitions;
261
- };
262
- //# sourceMappingURL=admin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../../src/mcp/tools/admin.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import type { Messenger } from "../../cli/messenger/context.js";
2
- import { type AnyTool } from "../tool.js";
3
- export declare const chatsReadTools: (messenger: Messenger) => Record<string, AnyTool>;
4
- //# sourceMappingURL=chats-read.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chats-read.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/chats-read.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAE/D,OAAO,EAAE,KAAK,OAAO,EAAgC,MAAM,YAAY,CAAA;AAIvE,eAAO,MAAM,cAAc,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CA2B1E,CAAA"}
@@ -1,28 +0,0 @@
1
- import * as v from "valibot";
2
- import { itemOf, snakeKeys } from "../../cli/envelope.js";
3
- import { onlineDeps, servicesFor } from "../../services/index.js";
4
- import { chatOf, message, tool, WRITE } from "../tool.js";
5
- const TOPIC = v.optional(v.pipe(v.string(), v.minLength(1), v.description("only this forum topic")));
6
- export const chatsReadTools = (messenger) => ({
7
- chats_mark_read: tool({
8
- title: "Mark a chat read",
9
- description: `Mark a chat read up to a message, or up to its newest message${messenger.topics === false ? "" : "; with topic, only that forum topic"}. ` +
10
- "The other side sees that it was read. " +
11
- "Only when the owner asked for it.",
12
- input: v.object({
13
- chat: chatOf(messenger),
14
- until_id: v.optional(message),
15
- // Typed as present so the call reads it; offered only where the messenger has forum topics.
16
- ...(messenger.topics === false ? {} : { topic: TOPIC }),
17
- }),
18
- annotations: WRITE,
19
- permission: "read",
20
- command: "chats mark-read",
21
- online: async (adapter, args, { guard }) => itemOf(snakeKeys(await servicesFor(onlineDeps(messenger, adapter, guard)).chats.markRead({
22
- chat: args.chat,
23
- ...(args.until_id === undefined ? {} : { until: args.until_id }),
24
- ...(args.topic === undefined ? {} : { threadId: args.topic }),
25
- }))),
26
- }),
27
- });
28
- //# sourceMappingURL=chats-read.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chats-read.js","sourceRoot":"","sources":["../../../src/mcp/tools/chats-read.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEzD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAgB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvE,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAA;AAEpG,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAoB,EAA2B,EAAE,CAAC,CAAC;IAChF,eAAe,EAAE,IAAI,CAAC;QACpB,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,gEAAgE,SAAS,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qCAAqC,IAAI;YAC3I,wCAAwC;YACxC,mCAAmC;QACrC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC;YACvB,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC7B,4FAA4F;YAC5F,GAAI,CAAC,SAAS,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAA6B;SACrF,CAAC;QACF,WAAW,EAAE,KAAK;QAClB,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,iBAAiB;QAC1B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACzC,MAAM,CACJ,SAAS,CACP,MAAM,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;YACtE,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChE,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;SAC9D,CAAC,CACH,CACF;KACJ,CAAC;CACH,CAAC,CAAA"}
@@ -1,5 +0,0 @@
1
- import type { Messenger } from "../../cli/messenger/context.js";
2
- import { type AnyTool } from "../tool.js";
3
- /** The owner's own chat list — mute, archive, pin, unread — each behind the switch that mounts its command. */
4
- export declare const chatStateTools: (messenger: Messenger) => Record<string, AnyTool>;
5
- //# sourceMappingURL=chats-state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chats-state.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/chats-state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAM/D,OAAO,EAAE,KAAK,OAAO,EAAuB,MAAM,YAAY,CAAA;AAI9D,+GAA+G;AAC/G,eAAO,MAAM,cAAc,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAiF3E,CAAA"}