@mcp-z/mcp-outlook 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (300) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +165 -0
  3. package/bin/server.js +5 -0
  4. package/dist/cjs/constants.d.cts +10 -0
  5. package/dist/cjs/constants.d.ts +10 -0
  6. package/dist/cjs/constants.js +35 -0
  7. package/dist/cjs/constants.js.map +1 -0
  8. package/dist/cjs/email/composition/outlook-message-builder.d.cts +36 -0
  9. package/dist/cjs/email/composition/outlook-message-builder.d.ts +36 -0
  10. package/dist/cjs/email/composition/outlook-message-builder.js +56 -0
  11. package/dist/cjs/email/composition/outlook-message-builder.js.map +1 -0
  12. package/dist/cjs/email/messages/messages.d.cts +7 -0
  13. package/dist/cjs/email/messages/messages.d.ts +7 -0
  14. package/dist/cjs/email/messages/messages.js +61 -0
  15. package/dist/cjs/email/messages/messages.js.map +1 -0
  16. package/dist/cjs/email/parsing/header-parsing.d.cts +18 -0
  17. package/dist/cjs/email/parsing/header-parsing.d.ts +18 -0
  18. package/dist/cjs/email/parsing/header-parsing.js +42 -0
  19. package/dist/cjs/email/parsing/header-parsing.js.map +1 -0
  20. package/dist/cjs/email/parsing/message-extraction.d.cts +4 -0
  21. package/dist/cjs/email/parsing/message-extraction.d.ts +4 -0
  22. package/dist/cjs/email/parsing/message-extraction.js +192 -0
  23. package/dist/cjs/email/parsing/message-extraction.js.map +1 -0
  24. package/dist/cjs/email/parsing/message-mapping.d.cts +21 -0
  25. package/dist/cjs/email/parsing/message-mapping.d.ts +21 -0
  26. package/dist/cjs/email/parsing/message-mapping.js +47 -0
  27. package/dist/cjs/email/parsing/message-mapping.js.map +1 -0
  28. package/dist/cjs/email/querying/execute-query.d.cts +20 -0
  29. package/dist/cjs/email/querying/execute-query.d.ts +20 -0
  30. package/dist/cjs/email/querying/execute-query.js +268 -0
  31. package/dist/cjs/email/querying/execute-query.js.map +1 -0
  32. package/dist/cjs/email/querying/query-builder.d.cts +32 -0
  33. package/dist/cjs/email/querying/query-builder.d.ts +32 -0
  34. package/dist/cjs/email/querying/query-builder.js +528 -0
  35. package/dist/cjs/email/querying/query-builder.js.map +1 -0
  36. package/dist/cjs/email/querying/search-execution.d.cts +24 -0
  37. package/dist/cjs/email/querying/search-execution.d.ts +24 -0
  38. package/dist/cjs/email/querying/search-execution.js +261 -0
  39. package/dist/cjs/email/querying/search-execution.js.map +1 -0
  40. package/dist/cjs/index.d.cts +8 -0
  41. package/dist/cjs/index.d.ts +8 -0
  42. package/dist/cjs/index.js +314 -0
  43. package/dist/cjs/index.js.map +1 -0
  44. package/dist/cjs/lib/create-store.d.cts +2 -0
  45. package/dist/cjs/lib/create-store.d.ts +2 -0
  46. package/dist/cjs/lib/create-store.js +166 -0
  47. package/dist/cjs/lib/create-store.js.map +1 -0
  48. package/dist/cjs/lib/messages-to-row.d.cts +39 -0
  49. package/dist/cjs/lib/messages-to-row.d.ts +39 -0
  50. package/dist/cjs/lib/messages-to-row.js +177 -0
  51. package/dist/cjs/lib/messages-to-row.js.map +1 -0
  52. package/dist/cjs/lib/outlook/index.d.cts +7 -0
  53. package/dist/cjs/lib/outlook/index.d.ts +7 -0
  54. package/dist/cjs/lib/outlook/index.js +56 -0
  55. package/dist/cjs/lib/outlook/index.js.map +1 -0
  56. package/dist/cjs/lib/outlook/types.d.cts +22 -0
  57. package/dist/cjs/lib/outlook/types.d.ts +22 -0
  58. package/dist/cjs/lib/outlook/types.js +6 -0
  59. package/dist/cjs/lib/outlook/types.js.map +1 -0
  60. package/dist/cjs/mcp/index.d.cts +3 -0
  61. package/dist/cjs/mcp/index.d.ts +3 -0
  62. package/dist/cjs/mcp/index.js +66 -0
  63. package/dist/cjs/mcp/index.js.map +1 -0
  64. package/dist/cjs/mcp/prompts/draft-email.d.cts +30 -0
  65. package/dist/cjs/mcp/prompts/draft-email.d.ts +30 -0
  66. package/dist/cjs/mcp/prompts/draft-email.js +184 -0
  67. package/dist/cjs/mcp/prompts/draft-email.js.map +1 -0
  68. package/dist/cjs/mcp/prompts/index.d.cts +2 -0
  69. package/dist/cjs/mcp/prompts/index.d.ts +2 -0
  70. package/dist/cjs/mcp/prompts/index.js +26 -0
  71. package/dist/cjs/mcp/prompts/index.js.map +1 -0
  72. package/dist/cjs/mcp/prompts/query-syntax.d.cts +19 -0
  73. package/dist/cjs/mcp/prompts/query-syntax.d.ts +19 -0
  74. package/dist/cjs/mcp/prompts/query-syntax.js +169 -0
  75. package/dist/cjs/mcp/prompts/query-syntax.js.map +1 -0
  76. package/dist/cjs/mcp/resources/email.d.cts +11 -0
  77. package/dist/cjs/mcp/resources/email.d.ts +11 -0
  78. package/dist/cjs/mcp/resources/email.js +233 -0
  79. package/dist/cjs/mcp/resources/email.js.map +1 -0
  80. package/dist/cjs/mcp/resources/index.d.cts +1 -0
  81. package/dist/cjs/mcp/resources/index.d.ts +1 -0
  82. package/dist/cjs/mcp/resources/index.js +17 -0
  83. package/dist/cjs/mcp/resources/index.js.map +1 -0
  84. package/dist/cjs/mcp/tools/categories-list.d.cts +96 -0
  85. package/dist/cjs/mcp/tools/categories-list.d.ts +96 -0
  86. package/dist/cjs/mcp/tools/categories-list.js +252 -0
  87. package/dist/cjs/mcp/tools/categories-list.js.map +1 -0
  88. package/dist/cjs/mcp/tools/index.d.cts +11 -0
  89. package/dist/cjs/mcp/tools/index.d.ts +11 -0
  90. package/dist/cjs/mcp/tools/index.js +62 -0
  91. package/dist/cjs/mcp/tools/index.js.map +1 -0
  92. package/dist/cjs/mcp/tools/label-add.d.cts +44 -0
  93. package/dist/cjs/mcp/tools/label-add.d.ts +44 -0
  94. package/dist/cjs/mcp/tools/label-add.js +249 -0
  95. package/dist/cjs/mcp/tools/label-add.js.map +1 -0
  96. package/dist/cjs/mcp/tools/label-delete.d.cts +54 -0
  97. package/dist/cjs/mcp/tools/label-delete.d.ts +54 -0
  98. package/dist/cjs/mcp/tools/label-delete.js +497 -0
  99. package/dist/cjs/mcp/tools/label-delete.js.map +1 -0
  100. package/dist/cjs/mcp/tools/labels-list.d.cts +96 -0
  101. package/dist/cjs/mcp/tools/labels-list.d.ts +96 -0
  102. package/dist/cjs/mcp/tools/labels-list.js +252 -0
  103. package/dist/cjs/mcp/tools/labels-list.js.map +1 -0
  104. package/dist/cjs/mcp/tools/message-get.d.cts +110 -0
  105. package/dist/cjs/mcp/tools/message-get.d.ts +110 -0
  106. package/dist/cjs/mcp/tools/message-get.js +289 -0
  107. package/dist/cjs/mcp/tools/message-get.js.map +1 -0
  108. package/dist/cjs/mcp/tools/message-mark-read.d.cts +42 -0
  109. package/dist/cjs/mcp/tools/message-mark-read.d.ts +42 -0
  110. package/dist/cjs/mcp/tools/message-mark-read.js +254 -0
  111. package/dist/cjs/mcp/tools/message-mark-read.js.map +1 -0
  112. package/dist/cjs/mcp/tools/message-move-to-trash.d.cts +54 -0
  113. package/dist/cjs/mcp/tools/message-move-to-trash.d.ts +54 -0
  114. package/dist/cjs/mcp/tools/message-move-to-trash.js +460 -0
  115. package/dist/cjs/mcp/tools/message-move-to-trash.js.map +1 -0
  116. package/dist/cjs/mcp/tools/message-respond.d.cts +52 -0
  117. package/dist/cjs/mcp/tools/message-respond.d.ts +52 -0
  118. package/dist/cjs/mcp/tools/message-respond.js +263 -0
  119. package/dist/cjs/mcp/tools/message-respond.js.map +1 -0
  120. package/dist/cjs/mcp/tools/message-search.d.cts +138 -0
  121. package/dist/cjs/mcp/tools/message-search.d.ts +138 -0
  122. package/dist/cjs/mcp/tools/message-search.js +408 -0
  123. package/dist/cjs/mcp/tools/message-search.js.map +1 -0
  124. package/dist/cjs/mcp/tools/message-send.d.cts +66 -0
  125. package/dist/cjs/mcp/tools/message-send.d.ts +66 -0
  126. package/dist/cjs/mcp/tools/message-send.js +298 -0
  127. package/dist/cjs/mcp/tools/message-send.js.map +1 -0
  128. package/dist/cjs/mcp/tools/messages-export-csv.d.cts +72 -0
  129. package/dist/cjs/mcp/tools/messages-export-csv.d.ts +72 -0
  130. package/dist/cjs/mcp/tools/messages-export-csv.js +540 -0
  131. package/dist/cjs/mcp/tools/messages-export-csv.js.map +1 -0
  132. package/dist/cjs/package.json +1 -0
  133. package/dist/cjs/schemas/index.d.cts +2 -0
  134. package/dist/cjs/schemas/index.d.ts +2 -0
  135. package/dist/cjs/schemas/index.js +20 -0
  136. package/dist/cjs/schemas/index.js.map +1 -0
  137. package/dist/cjs/schemas/outlook-query-schema.d.cts +53 -0
  138. package/dist/cjs/schemas/outlook-query-schema.d.ts +53 -0
  139. package/dist/cjs/schemas/outlook-query-schema.js +115 -0
  140. package/dist/cjs/schemas/outlook-query-schema.js.map +1 -0
  141. package/dist/cjs/schemas/outlook-validation.d.cts +428 -0
  142. package/dist/cjs/schemas/outlook-validation.d.ts +428 -0
  143. package/dist/cjs/schemas/outlook-validation.js +420 -0
  144. package/dist/cjs/schemas/outlook-validation.js.map +1 -0
  145. package/dist/cjs/setup/config.d.cts +50 -0
  146. package/dist/cjs/setup/config.d.ts +50 -0
  147. package/dist/cjs/setup/config.js +217 -0
  148. package/dist/cjs/setup/config.js.map +1 -0
  149. package/dist/cjs/setup/http.d.cts +8 -0
  150. package/dist/cjs/setup/http.d.ts +8 -0
  151. package/dist/cjs/setup/http.js +267 -0
  152. package/dist/cjs/setup/http.js.map +1 -0
  153. package/dist/cjs/setup/index.d.cts +5 -0
  154. package/dist/cjs/setup/index.d.ts +5 -0
  155. package/dist/cjs/setup/index.js +46 -0
  156. package/dist/cjs/setup/index.js.map +1 -0
  157. package/dist/cjs/setup/oauth-microsoft.d.cts +43 -0
  158. package/dist/cjs/setup/oauth-microsoft.d.ts +43 -0
  159. package/dist/cjs/setup/oauth-microsoft.js +366 -0
  160. package/dist/cjs/setup/oauth-microsoft.js.map +1 -0
  161. package/dist/cjs/setup/runtime.d.cts +11 -0
  162. package/dist/cjs/setup/runtime.d.ts +11 -0
  163. package/dist/cjs/setup/runtime.js +489 -0
  164. package/dist/cjs/setup/runtime.js.map +1 -0
  165. package/dist/cjs/setup/stdio.d.cts +7 -0
  166. package/dist/cjs/setup/stdio.d.ts +7 -0
  167. package/dist/cjs/setup/stdio.js +239 -0
  168. package/dist/cjs/setup/stdio.js.map +1 -0
  169. package/dist/cjs/types.d.cts +54 -0
  170. package/dist/cjs/types.d.ts +54 -0
  171. package/dist/cjs/types.js +5 -0
  172. package/dist/cjs/types.js.map +1 -0
  173. package/dist/esm/constants.d.ts +10 -0
  174. package/dist/esm/constants.js +13 -0
  175. package/dist/esm/constants.js.map +1 -0
  176. package/dist/esm/email/composition/outlook-message-builder.d.ts +36 -0
  177. package/dist/esm/email/composition/outlook-message-builder.js +46 -0
  178. package/dist/esm/email/composition/outlook-message-builder.js.map +1 -0
  179. package/dist/esm/email/messages/messages.d.ts +7 -0
  180. package/dist/esm/email/messages/messages.js +42 -0
  181. package/dist/esm/email/messages/messages.js.map +1 -0
  182. package/dist/esm/email/parsing/header-parsing.d.ts +18 -0
  183. package/dist/esm/email/parsing/header-parsing.js +18 -0
  184. package/dist/esm/email/parsing/header-parsing.js.map +1 -0
  185. package/dist/esm/email/parsing/message-extraction.d.ts +4 -0
  186. package/dist/esm/email/parsing/message-extraction.js +26 -0
  187. package/dist/esm/email/parsing/message-extraction.js.map +1 -0
  188. package/dist/esm/email/parsing/message-mapping.d.ts +21 -0
  189. package/dist/esm/email/parsing/message-mapping.js +35 -0
  190. package/dist/esm/email/parsing/message-mapping.js.map +1 -0
  191. package/dist/esm/email/querying/execute-query.d.ts +20 -0
  192. package/dist/esm/email/querying/execute-query.js +48 -0
  193. package/dist/esm/email/querying/execute-query.js.map +1 -0
  194. package/dist/esm/email/querying/query-builder.d.ts +32 -0
  195. package/dist/esm/email/querying/query-builder.js +424 -0
  196. package/dist/esm/email/querying/query-builder.js.map +1 -0
  197. package/dist/esm/email/querying/search-execution.d.ts +24 -0
  198. package/dist/esm/email/querying/search-execution.js +96 -0
  199. package/dist/esm/email/querying/search-execution.js.map +1 -0
  200. package/dist/esm/index.d.ts +8 -0
  201. package/dist/esm/index.js +34 -0
  202. package/dist/esm/index.js.map +1 -0
  203. package/dist/esm/lib/create-store.d.ts +2 -0
  204. package/dist/esm/lib/create-store.js +6 -0
  205. package/dist/esm/lib/create-store.js.map +1 -0
  206. package/dist/esm/lib/messages-to-row.d.ts +39 -0
  207. package/dist/esm/lib/messages-to-row.js +141 -0
  208. package/dist/esm/lib/messages-to-row.js.map +1 -0
  209. package/dist/esm/lib/outlook/index.d.ts +7 -0
  210. package/dist/esm/lib/outlook/index.js +7 -0
  211. package/dist/esm/lib/outlook/index.js.map +1 -0
  212. package/dist/esm/lib/outlook/types.d.ts +22 -0
  213. package/dist/esm/lib/outlook/types.js +2 -0
  214. package/dist/esm/lib/outlook/types.js.map +1 -0
  215. package/dist/esm/mcp/index.d.ts +3 -0
  216. package/dist/esm/mcp/index.js +6 -0
  217. package/dist/esm/mcp/index.js.map +1 -0
  218. package/dist/esm/mcp/prompts/draft-email.d.ts +30 -0
  219. package/dist/esm/mcp/prompts/draft-email.js +37 -0
  220. package/dist/esm/mcp/prompts/draft-email.js.map +1 -0
  221. package/dist/esm/mcp/prompts/index.d.ts +2 -0
  222. package/dist/esm/mcp/prompts/index.js +2 -0
  223. package/dist/esm/mcp/prompts/index.js.map +1 -0
  224. package/dist/esm/mcp/prompts/query-syntax.d.ts +19 -0
  225. package/dist/esm/mcp/prompts/query-syntax.js +75 -0
  226. package/dist/esm/mcp/prompts/query-syntax.js.map +1 -0
  227. package/dist/esm/mcp/resources/email.d.ts +11 -0
  228. package/dist/esm/mcp/resources/email.js +69 -0
  229. package/dist/esm/mcp/resources/email.js.map +1 -0
  230. package/dist/esm/mcp/resources/index.d.ts +1 -0
  231. package/dist/esm/mcp/resources/index.js +1 -0
  232. package/dist/esm/mcp/resources/index.js.map +1 -0
  233. package/dist/esm/mcp/tools/categories-list.d.ts +96 -0
  234. package/dist/esm/mcp/tools/categories-list.js +78 -0
  235. package/dist/esm/mcp/tools/categories-list.js.map +1 -0
  236. package/dist/esm/mcp/tools/index.d.ts +11 -0
  237. package/dist/esm/mcp/tools/index.js +11 -0
  238. package/dist/esm/mcp/tools/index.js.map +1 -0
  239. package/dist/esm/mcp/tools/label-add.d.ts +44 -0
  240. package/dist/esm/mcp/tools/label-add.js +75 -0
  241. package/dist/esm/mcp/tools/label-add.js.map +1 -0
  242. package/dist/esm/mcp/tools/label-delete.d.ts +54 -0
  243. package/dist/esm/mcp/tools/label-delete.js +166 -0
  244. package/dist/esm/mcp/tools/label-delete.js.map +1 -0
  245. package/dist/esm/mcp/tools/labels-list.d.ts +96 -0
  246. package/dist/esm/mcp/tools/labels-list.js +78 -0
  247. package/dist/esm/mcp/tools/labels-list.js.map +1 -0
  248. package/dist/esm/mcp/tools/message-get.d.ts +110 -0
  249. package/dist/esm/mcp/tools/message-get.js +117 -0
  250. package/dist/esm/mcp/tools/message-get.js.map +1 -0
  251. package/dist/esm/mcp/tools/message-mark-read.d.ts +42 -0
  252. package/dist/esm/mcp/tools/message-mark-read.js +80 -0
  253. package/dist/esm/mcp/tools/message-mark-read.js.map +1 -0
  254. package/dist/esm/mcp/tools/message-move-to-trash.d.ts +54 -0
  255. package/dist/esm/mcp/tools/message-move-to-trash.js +177 -0
  256. package/dist/esm/mcp/tools/message-move-to-trash.js.map +1 -0
  257. package/dist/esm/mcp/tools/message-respond.d.ts +52 -0
  258. package/dist/esm/mcp/tools/message-respond.js +89 -0
  259. package/dist/esm/mcp/tools/message-respond.js.map +1 -0
  260. package/dist/esm/mcp/tools/message-search.d.ts +138 -0
  261. package/dist/esm/mcp/tools/message-search.js +184 -0
  262. package/dist/esm/mcp/tools/message-search.js.map +1 -0
  263. package/dist/esm/mcp/tools/message-send.d.ts +66 -0
  264. package/dist/esm/mcp/tools/message-send.js +111 -0
  265. package/dist/esm/mcp/tools/message-send.js.map +1 -0
  266. package/dist/esm/mcp/tools/messages-export-csv.d.ts +72 -0
  267. package/dist/esm/mcp/tools/messages-export-csv.js +273 -0
  268. package/dist/esm/mcp/tools/messages-export-csv.js.map +1 -0
  269. package/dist/esm/package.json +1 -0
  270. package/dist/esm/schemas/index.d.ts +2 -0
  271. package/dist/esm/schemas/index.js +2 -0
  272. package/dist/esm/schemas/index.js.map +1 -0
  273. package/dist/esm/schemas/outlook-query-schema.d.ts +53 -0
  274. package/dist/esm/schemas/outlook-query-schema.js +63 -0
  275. package/dist/esm/schemas/outlook-query-schema.js.map +1 -0
  276. package/dist/esm/schemas/outlook-validation.d.ts +428 -0
  277. package/dist/esm/schemas/outlook-validation.js +388 -0
  278. package/dist/esm/schemas/outlook-validation.js.map +1 -0
  279. package/dist/esm/setup/config.d.ts +50 -0
  280. package/dist/esm/setup/config.js +180 -0
  281. package/dist/esm/setup/config.js.map +1 -0
  282. package/dist/esm/setup/http.d.ts +8 -0
  283. package/dist/esm/setup/http.js +61 -0
  284. package/dist/esm/setup/http.js.map +1 -0
  285. package/dist/esm/setup/index.d.ts +5 -0
  286. package/dist/esm/setup/index.js +5 -0
  287. package/dist/esm/setup/index.js.map +1 -0
  288. package/dist/esm/setup/oauth-microsoft.d.ts +43 -0
  289. package/dist/esm/setup/oauth-microsoft.js +169 -0
  290. package/dist/esm/setup/oauth-microsoft.js.map +1 -0
  291. package/dist/esm/setup/runtime.d.ts +11 -0
  292. package/dist/esm/setup/runtime.js +115 -0
  293. package/dist/esm/setup/runtime.js.map +1 -0
  294. package/dist/esm/setup/stdio.d.ts +7 -0
  295. package/dist/esm/setup/stdio.js +38 -0
  296. package/dist/esm/setup/stdio.js.map +1 -0
  297. package/dist/esm/types.d.ts +54 -0
  298. package/dist/esm/types.js +1 -0
  299. package/dist/esm/types.js.map +1 -0
  300. package/package.json +111 -0
@@ -0,0 +1,408 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return createTool;
9
+ }
10
+ });
11
+ var _email = require("@mcp-z/email");
12
+ var _oauthmicrosoft = require("@mcp-z/oauth-microsoft");
13
+ var _server = require("@mcp-z/server");
14
+ var _microsoftgraphclient = require("@microsoft/microsoft-graph-client");
15
+ var _types = require("@modelcontextprotocol/sdk/types.js");
16
+ var _zod = require("zod");
17
+ var _executequery = require("../../email/querying/execute-query.js");
18
+ var _outlookqueryschema = require("../../schemas/outlook-query-schema.js");
19
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
20
+ try {
21
+ var info = gen[key](arg);
22
+ var value = info.value;
23
+ } catch (error) {
24
+ reject(error);
25
+ return;
26
+ }
27
+ if (info.done) {
28
+ resolve(value);
29
+ } else {
30
+ Promise.resolve(value).then(_next, _throw);
31
+ }
32
+ }
33
+ function _async_to_generator(fn) {
34
+ return function() {
35
+ var self = this, args = arguments;
36
+ return new Promise(function(resolve, reject) {
37
+ var gen = fn.apply(self, args);
38
+ function _next(value) {
39
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
40
+ }
41
+ function _throw(err) {
42
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
43
+ }
44
+ _next(undefined);
45
+ });
46
+ };
47
+ }
48
+ function _define_property(obj, key, value) {
49
+ if (key in obj) {
50
+ Object.defineProperty(obj, key, {
51
+ value: value,
52
+ enumerable: true,
53
+ configurable: true,
54
+ writable: true
55
+ });
56
+ } else {
57
+ obj[key] = value;
58
+ }
59
+ return obj;
60
+ }
61
+ function _instanceof(left, right) {
62
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
63
+ return !!right[Symbol.hasInstance](left);
64
+ } else {
65
+ return left instanceof right;
66
+ }
67
+ }
68
+ function _object_spread(target) {
69
+ for(var i = 1; i < arguments.length; i++){
70
+ var source = arguments[i] != null ? arguments[i] : {};
71
+ var ownKeys = Object.keys(source);
72
+ if (typeof Object.getOwnPropertySymbols === "function") {
73
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
74
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
75
+ }));
76
+ }
77
+ ownKeys.forEach(function(key) {
78
+ _define_property(target, key, source[key]);
79
+ });
80
+ }
81
+ return target;
82
+ }
83
+ function ownKeys(object, enumerableOnly) {
84
+ var keys = Object.keys(object);
85
+ if (Object.getOwnPropertySymbols) {
86
+ var symbols = Object.getOwnPropertySymbols(object);
87
+ if (enumerableOnly) {
88
+ symbols = symbols.filter(function(sym) {
89
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
90
+ });
91
+ }
92
+ keys.push.apply(keys, symbols);
93
+ }
94
+ return keys;
95
+ }
96
+ function _object_spread_props(target, source) {
97
+ source = source != null ? source : {};
98
+ if (Object.getOwnPropertyDescriptors) {
99
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
100
+ } else {
101
+ ownKeys(Object(source)).forEach(function(key) {
102
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
103
+ });
104
+ }
105
+ return target;
106
+ }
107
+ function _ts_generator(thisArg, body) {
108
+ var f, y, t, _ = {
109
+ label: 0,
110
+ sent: function() {
111
+ if (t[0] & 1) throw t[1];
112
+ return t[1];
113
+ },
114
+ trys: [],
115
+ ops: []
116
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
117
+ return d(g, "next", {
118
+ value: verb(0)
119
+ }), d(g, "throw", {
120
+ value: verb(1)
121
+ }), d(g, "return", {
122
+ value: verb(2)
123
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
124
+ value: function() {
125
+ return this;
126
+ }
127
+ }), g;
128
+ function verb(n) {
129
+ return function(v) {
130
+ return step([
131
+ n,
132
+ v
133
+ ]);
134
+ };
135
+ }
136
+ function step(op) {
137
+ if (f) throw new TypeError("Generator is already executing.");
138
+ while(g && (g = 0, op[0] && (_ = 0)), _)try {
139
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
140
+ if (y = 0, t) op = [
141
+ op[0] & 2,
142
+ t.value
143
+ ];
144
+ switch(op[0]){
145
+ case 0:
146
+ case 1:
147
+ t = op;
148
+ break;
149
+ case 4:
150
+ _.label++;
151
+ return {
152
+ value: op[1],
153
+ done: false
154
+ };
155
+ case 5:
156
+ _.label++;
157
+ y = op[1];
158
+ op = [
159
+ 0
160
+ ];
161
+ continue;
162
+ case 7:
163
+ op = _.ops.pop();
164
+ _.trys.pop();
165
+ continue;
166
+ default:
167
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
168
+ _ = 0;
169
+ continue;
170
+ }
171
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
172
+ _.label = op[1];
173
+ break;
174
+ }
175
+ if (op[0] === 6 && _.label < t[1]) {
176
+ _.label = t[1];
177
+ t = op;
178
+ break;
179
+ }
180
+ if (t && _.label < t[2]) {
181
+ _.label = t[2];
182
+ _.ops.push(op);
183
+ break;
184
+ }
185
+ if (t[2]) _.ops.pop();
186
+ _.trys.pop();
187
+ continue;
188
+ }
189
+ op = body.call(thisArg, _);
190
+ } catch (e) {
191
+ op = [
192
+ 6,
193
+ e
194
+ ];
195
+ y = 0;
196
+ } finally{
197
+ f = t = 0;
198
+ }
199
+ if (op[0] & 5) throw op[1];
200
+ return {
201
+ value: op[0] ? op[1] : void 0,
202
+ done: true
203
+ };
204
+ }
205
+ }
206
+ var AuthRequiredBranchSchema = _oauthmicrosoft.schemas.AuthRequiredBranchSchema;
207
+ var inputSchema = _zod.z.object(_object_spread_props(_object_spread({
208
+ query: _outlookqueryschema.OutlookQuerySchema.optional().describe('Structured query object for filtering messages. Use query-syntax prompt for reference.'),
209
+ fields: (0, _server.createFieldsSchema)({
210
+ availableFields: _email.EMAIL_FIELDS,
211
+ fieldDescriptions: _email.EMAIL_FIELD_DESCRIPTIONS,
212
+ commonPatterns: _email.EMAIL_COMMON_PATTERNS,
213
+ resourceName: 'email message'
214
+ })
215
+ }, (0, _server.createPaginationSchema)({
216
+ defaultPageSize: 50,
217
+ maxPageSize: 500,
218
+ provider: 'outlook'
219
+ }).shape), {
220
+ shape: (0, _server.createShapeSchema)(),
221
+ contentType: _email.EmailContentTypeSchema,
222
+ excludeThreadHistory: _email.ExcludeThreadHistorySchema
223
+ }));
224
+ // Success branch schemas for different shapes
225
+ var successObjectsBranchSchema = _zod.z.object({
226
+ type: _zod.z.literal('success'),
227
+ shape: _zod.z.literal('objects'),
228
+ items: _zod.z.array(_email.EmailDetailSchema).describe('Matching email messages'),
229
+ nextPageToken: _zod.z.string().optional().describe('Token for fetching next page of results')
230
+ });
231
+ var successArraysBranchSchema = _zod.z.object({
232
+ type: _zod.z.literal('success'),
233
+ shape: _zod.z.literal('arrays'),
234
+ columns: _zod.z.array(_zod.z.string()).describe('Column names in canonical order'),
235
+ rows: _zod.z.array(_zod.z.array(_zod.z.unknown())).describe('Row data matching column order'),
236
+ nextPageToken: _zod.z.string().optional().describe('Token for fetching next page of results')
237
+ });
238
+ // Output schema with auth_required support
239
+ // Using z.union instead of discriminatedUnion since we have two success branches with different shapes
240
+ var outputSchema = _zod.z.union([
241
+ successObjectsBranchSchema,
242
+ successArraysBranchSchema,
243
+ AuthRequiredBranchSchema
244
+ ]);
245
+ var config = {
246
+ description: 'Search Outlook messages using structured query objects with flexible field selection.',
247
+ inputSchema: inputSchema,
248
+ outputSchema: _zod.z.object({
249
+ result: outputSchema
250
+ })
251
+ };
252
+ function handler(_0, _1) {
253
+ return _async_to_generator(function(param, extra) {
254
+ var query, _param_pageSize, pageSize, pageToken, fields, _param_shape, shape, contentType, excludeThreadHistory, logger, requestedFields, includeBody, graph, started, exec, durationMs, filteredItems, metadataObj, result, error, message;
255
+ return _ts_generator(this, function(_state) {
256
+ switch(_state.label){
257
+ case 0:
258
+ query = param.query, _param_pageSize = param.pageSize, pageSize = _param_pageSize === void 0 ? 50 : _param_pageSize, pageToken = param.pageToken, fields = param.fields, _param_shape = param.shape, shape = _param_shape === void 0 ? 'arrays' : _param_shape, contentType = param.contentType, excludeThreadHistory = param.excludeThreadHistory;
259
+ logger = extra.logger;
260
+ requestedFields = (0, _server.parseFields)(fields, _email.EMAIL_FIELDS);
261
+ includeBody = requestedFields === 'all' || requestedFields.has('body');
262
+ logger.info('outlook.search called with', {
263
+ query: query,
264
+ pageSize: pageSize,
265
+ pageToken: pageToken ? '[provided]' : undefined,
266
+ fields: fields || 'all',
267
+ includeBody: includeBody
268
+ });
269
+ _state.label = 1;
270
+ case 1:
271
+ _state.trys.push([
272
+ 1,
273
+ 3,
274
+ ,
275
+ 4
276
+ ]);
277
+ graph = _microsoftgraphclient.Client.initWithMiddleware({
278
+ authProvider: extra.authContext.auth
279
+ });
280
+ started = Date.now();
281
+ return [
282
+ 4,
283
+ (0, _executequery.executeQuery)(graph, query, _object_spread_props(_object_spread({
284
+ logger: logger,
285
+ pageSize: pageSize
286
+ }, pageToken ? {
287
+ pageToken: pageToken
288
+ } : {}), {
289
+ includeBody: includeBody,
290
+ limit: pageSize
291
+ }), function(m) {
292
+ var _ref, _ref1, _ref2, _ref3, _ref4, _ref5;
293
+ var _message_from_emailAddress, _message_from, _message_from_emailAddress1, _message_from1, _message_body;
294
+ var message = m;
295
+ var to = Array.isArray(message === null || message === void 0 ? void 0 : message.toRecipients) ? message.toRecipients.map(function(r) {
296
+ var _r_emailAddress;
297
+ return r === null || r === void 0 ? void 0 : (_r_emailAddress = r.emailAddress) === null || _r_emailAddress === void 0 ? void 0 : _r_emailAddress.address;
298
+ }).filter(Boolean).join(', ') : undefined;
299
+ var cc = Array.isArray(message === null || message === void 0 ? void 0 : message.ccRecipients) ? message.ccRecipients.map(function(r) {
300
+ var _r_emailAddress;
301
+ return r === null || r === void 0 ? void 0 : (_r_emailAddress = r.emailAddress) === null || _r_emailAddress === void 0 ? void 0 : _r_emailAddress.address;
302
+ }).filter(Boolean).join(', ') : undefined;
303
+ var bcc = Array.isArray(message === null || message === void 0 ? void 0 : message.bccRecipients) ? message.bccRecipients.map(function(r) {
304
+ var _r_emailAddress;
305
+ return r === null || r === void 0 ? void 0 : (_r_emailAddress = r.emailAddress) === null || _r_emailAddress === void 0 ? void 0 : _r_emailAddress.address;
306
+ }).filter(Boolean).join(', ') : undefined;
307
+ var fromAddr = (_ref = message === null || message === void 0 ? void 0 : (_message_from = message.from) === null || _message_from === void 0 ? void 0 : (_message_from_emailAddress = _message_from.emailAddress) === null || _message_from_emailAddress === void 0 ? void 0 : _message_from_emailAddress.address) !== null && _ref !== void 0 ? _ref : null;
308
+ var fromName = (_ref1 = message === null || message === void 0 ? void 0 : (_message_from1 = message.from) === null || _message_from1 === void 0 ? void 0 : (_message_from_emailAddress1 = _message_from1.emailAddress) === null || _message_from_emailAddress1 === void 0 ? void 0 : _message_from_emailAddress1.name) !== null && _ref1 !== void 0 ? _ref1 : null;
309
+ // Process body based on contentType and excludeThreadHistory options
310
+ var bodyContent;
311
+ if (includeBody && (message === null || message === void 0 ? void 0 : (_message_body = message.body) === null || _message_body === void 0 ? void 0 : _message_body.content)) {
312
+ var _message_body_contentType;
313
+ var isHtml = ((_message_body_contentType = message.body.contentType) === null || _message_body_contentType === void 0 ? void 0 : _message_body_contentType.toLowerCase()) === 'html';
314
+ bodyContent = message.body.content;
315
+ if (isHtml && excludeThreadHistory) {
316
+ bodyContent = (0, _email.extractCurrentMessageFromHtml)(bodyContent);
317
+ }
318
+ if (isHtml && contentType === 'text') {
319
+ bodyContent = excludeThreadHistory ? (0, _email.extractCurrentMessageFromHtmlToText)(bodyContent) : (0, _email.extractCurrentMessageFromHtmlToText)(message.body.content);
320
+ }
321
+ }
322
+ var mapped = _object_spread({
323
+ id: (_ref2 = message === null || message === void 0 ? void 0 : message.id) !== null && _ref2 !== void 0 ? _ref2 : undefined,
324
+ subject: (_ref3 = message === null || message === void 0 ? void 0 : message.subject) !== null && _ref3 !== void 0 ? _ref3 : undefined,
325
+ from: fromAddr !== null && fromAddr !== void 0 ? fromAddr : undefined,
326
+ fromName: fromName !== null && fromName !== void 0 ? fromName : undefined,
327
+ to: to,
328
+ cc: cc,
329
+ bcc: bcc,
330
+ date: (_ref4 = message === null || message === void 0 ? void 0 : message.receivedDateTime) !== null && _ref4 !== void 0 ? _ref4 : undefined,
331
+ snippet: (_ref5 = message === null || message === void 0 ? void 0 : message.bodyPreview) !== null && _ref5 !== void 0 ? _ref5 : undefined
332
+ }, bodyContent && {
333
+ body: bodyContent,
334
+ bodyContentType: contentType
335
+ });
336
+ return mapped;
337
+ })
338
+ ];
339
+ case 2:
340
+ exec = _state.sent();
341
+ durationMs = Date.now() - started;
342
+ filteredItems = exec.items.map(function(item) {
343
+ return (0, _server.filterFields)(item, requestedFields);
344
+ });
345
+ logger.info('outlook.message.search returning', {
346
+ query: query,
347
+ pageSize: pageSize,
348
+ itemsLength: filteredItems.length,
349
+ fields: fields || 'all'
350
+ });
351
+ logger.info('outlook.message.search metrics', {
352
+ durationMs: durationMs,
353
+ metadata: exec.metadata
354
+ });
355
+ // Type-safe metadata access
356
+ metadataObj = exec.metadata;
357
+ // Build result based on shape
358
+ result = shape === 'arrays' ? _object_spread({
359
+ type: 'success',
360
+ shape: 'arrays'
361
+ }, (0, _server.toColumnarFormat)(filteredItems, requestedFields, _email.EMAIL_FIELDS), (metadataObj === null || metadataObj === void 0 ? void 0 : metadataObj.nextPageToken) && {
362
+ nextPageToken: metadataObj.nextPageToken
363
+ }) : _object_spread({
364
+ type: 'success',
365
+ shape: 'objects',
366
+ items: filteredItems
367
+ }, (metadataObj === null || metadataObj === void 0 ? void 0 : metadataObj.nextPageToken) && {
368
+ nextPageToken: metadataObj.nextPageToken
369
+ });
370
+ return [
371
+ 2,
372
+ {
373
+ content: [
374
+ {
375
+ type: 'text',
376
+ text: JSON.stringify(result)
377
+ }
378
+ ],
379
+ structuredContent: {
380
+ result: result
381
+ }
382
+ }
383
+ ];
384
+ case 3:
385
+ error = _state.sent();
386
+ message = _instanceof(error, Error) ? error.message : String(error);
387
+ logger.error('outlook.message.search error', {
388
+ error: message
389
+ });
390
+ throw new _types.McpError(_types.ErrorCode.InternalError, "Error searching messages: ".concat(message), {
391
+ stack: _instanceof(error, Error) ? error.stack : undefined
392
+ });
393
+ case 4:
394
+ return [
395
+ 2
396
+ ];
397
+ }
398
+ });
399
+ }).apply(this, arguments);
400
+ }
401
+ function createTool() {
402
+ return {
403
+ name: 'message-search',
404
+ config: config,
405
+ handler: handler
406
+ };
407
+ }
408
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/Projects/ai/mcp-z/servers/mcp-outlook/src/mcp/tools/message-search.ts"],"sourcesContent":["import { EMAIL_COMMON_PATTERNS, EMAIL_FIELD_DESCRIPTIONS, EMAIL_FIELDS, EmailContentTypeSchema, type EmailDetail, EmailDetailSchema, ExcludeThreadHistorySchema, extractCurrentMessageFromHtml, extractCurrentMessageFromHtmlToText } from '@mcp-z/email';\nimport type { EnrichedExtra } from '@mcp-z/oauth-microsoft';\nimport { schemas } from '@mcp-z/oauth-microsoft';\n\nconst { AuthRequiredBranchSchema } = schemas;\n\nimport { createFieldsSchema, createPaginationSchema, createShapeSchema, filterFields, parseFields, type ToolModule, toColumnarFormat } from '@mcp-z/server';\nimport { Client } from '@microsoft/microsoft-graph-client';\nimport type * as MicrosoftGraph from '@microsoft/microsoft-graph-types';\nimport { type CallToolResult, ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js';\nimport { z } from 'zod';\nimport { executeQuery as executeOutlookQuery } from '../../email/querying/execute-query.js';\nimport { OutlookQuerySchema } from '../../schemas/outlook-query-schema.js';\n\nconst inputSchema = z.object({\n query: OutlookQuerySchema.optional().describe('Structured query object for filtering messages. Use query-syntax prompt for reference.'),\n fields: createFieldsSchema({\n availableFields: EMAIL_FIELDS,\n fieldDescriptions: EMAIL_FIELD_DESCRIPTIONS,\n commonPatterns: EMAIL_COMMON_PATTERNS,\n resourceName: 'email message',\n }),\n ...createPaginationSchema({\n defaultPageSize: 50,\n maxPageSize: 500,\n provider: 'outlook',\n }).shape,\n shape: createShapeSchema(),\n contentType: EmailContentTypeSchema,\n excludeThreadHistory: ExcludeThreadHistorySchema,\n});\n\n// Success branch schemas for different shapes\nconst successObjectsBranchSchema = z.object({\n type: z.literal('success'),\n shape: z.literal('objects'),\n items: z.array(EmailDetailSchema).describe('Matching email messages'),\n nextPageToken: z.string().optional().describe('Token for fetching next page of results'),\n});\n\nconst successArraysBranchSchema = z.object({\n type: z.literal('success'),\n shape: z.literal('arrays'),\n columns: z.array(z.string()).describe('Column names in canonical order'),\n rows: z.array(z.array(z.unknown())).describe('Row data matching column order'),\n nextPageToken: z.string().optional().describe('Token for fetching next page of results'),\n});\n\n// Output schema with auth_required support\n// Using z.union instead of discriminatedUnion since we have two success branches with different shapes\nconst outputSchema = z.union([successObjectsBranchSchema, successArraysBranchSchema, AuthRequiredBranchSchema]);\n\nconst config = {\n description: 'Search Outlook messages using structured query objects with flexible field selection.',\n inputSchema: inputSchema,\n outputSchema: z.object({\n result: outputSchema,\n }),\n} as const;\n\nexport type Input = z.infer<typeof inputSchema>;\nexport type Output = z.infer<typeof outputSchema>;\n\nasync function handler({ query, pageSize = 50, pageToken, fields, shape = 'arrays', contentType, excludeThreadHistory }: Input, extra: EnrichedExtra): Promise<CallToolResult> {\n const logger = extra.logger;\n\n const requestedFields = parseFields(fields, EMAIL_FIELDS);\n const includeBody = requestedFields === 'all' || requestedFields.has('body');\n\n logger.info('outlook.search called with', {\n query,\n pageSize,\n pageToken: pageToken ? '[provided]' : undefined,\n fields: fields || 'all',\n includeBody,\n });\n\n try {\n const graph = Client.initWithMiddleware({\n authProvider: extra.authContext.auth,\n });\n const started = Date.now();\n const exec = await executeOutlookQuery(\n graph,\n query,\n {\n logger,\n pageSize,\n ...(pageToken ? { pageToken } : {}),\n includeBody,\n limit: pageSize,\n },\n (m: unknown) => {\n const message = m as MicrosoftGraph.Message;\n const to = Array.isArray(message?.toRecipients)\n ? message.toRecipients\n .map((r: MicrosoftGraph.Recipient) => r?.emailAddress?.address)\n .filter(Boolean)\n .join(', ')\n : undefined;\n const cc = Array.isArray(message?.ccRecipients)\n ? message.ccRecipients\n .map((r: MicrosoftGraph.Recipient) => r?.emailAddress?.address)\n .filter(Boolean)\n .join(', ')\n : undefined;\n const bcc = Array.isArray(message?.bccRecipients)\n ? message.bccRecipients\n .map((r: MicrosoftGraph.Recipient) => r?.emailAddress?.address)\n .filter(Boolean)\n .join(', ')\n : undefined;\n const fromAddr = message?.from?.emailAddress?.address ?? null;\n const fromName = message?.from?.emailAddress?.name ?? null;\n // Process body based on contentType and excludeThreadHistory options\n let bodyContent: string | undefined;\n if (includeBody && message?.body?.content) {\n const isHtml = message.body.contentType?.toLowerCase() === 'html';\n bodyContent = message.body.content;\n\n if (isHtml && excludeThreadHistory) {\n bodyContent = extractCurrentMessageFromHtml(bodyContent);\n }\n\n if (isHtml && contentType === 'text') {\n bodyContent = excludeThreadHistory ? extractCurrentMessageFromHtmlToText(bodyContent) : extractCurrentMessageFromHtmlToText(message.body.content);\n }\n }\n\n const mapped: Partial<EmailDetail> = {\n id: message?.id ?? undefined,\n subject: message?.subject ?? undefined,\n from: fromAddr ?? undefined,\n fromName: fromName ?? undefined,\n to,\n cc,\n bcc,\n date: message?.receivedDateTime ?? undefined,\n snippet: message?.bodyPreview ?? undefined,\n ...(bodyContent && { body: bodyContent, bodyContentType: contentType }),\n };\n return mapped;\n }\n );\n const durationMs = Date.now() - started;\n\n const filteredItems = exec.items.map((item) => filterFields(item, requestedFields));\n\n logger.info('outlook.message.search returning', {\n query,\n pageSize,\n itemsLength: filteredItems.length,\n fields: fields || 'all',\n });\n logger.info('outlook.message.search metrics', {\n durationMs,\n metadata: exec.metadata,\n });\n\n // Type-safe metadata access\n const metadataObj = exec.metadata as { nextPageToken?: string } | undefined;\n\n // Build result based on shape\n const result: Output =\n shape === 'arrays'\n ? {\n type: 'success' as const,\n shape: 'arrays' as const,\n ...toColumnarFormat(filteredItems, requestedFields, EMAIL_FIELDS),\n ...(metadataObj?.nextPageToken && { nextPageToken: metadataObj.nextPageToken }),\n }\n : {\n type: 'success' as const,\n shape: 'objects' as const,\n items: filteredItems,\n ...(metadataObj?.nextPageToken && { nextPageToken: metadataObj.nextPageToken }),\n };\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(result),\n },\n ],\n structuredContent: { result },\n };\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n logger.error('outlook.message.search error', { error: message });\n\n throw new McpError(ErrorCode.InternalError, `Error searching messages: ${message}`, {\n stack: error instanceof Error ? error.stack : undefined,\n });\n }\n}\n\nexport default function createTool() {\n return {\n name: 'message-search',\n config,\n handler,\n } satisfies ToolModule;\n}\n"],"names":["createTool","AuthRequiredBranchSchema","schemas","inputSchema","z","object","query","OutlookQuerySchema","optional","describe","fields","createFieldsSchema","availableFields","EMAIL_FIELDS","fieldDescriptions","EMAIL_FIELD_DESCRIPTIONS","commonPatterns","EMAIL_COMMON_PATTERNS","resourceName","createPaginationSchema","defaultPageSize","maxPageSize","provider","shape","createShapeSchema","contentType","EmailContentTypeSchema","excludeThreadHistory","ExcludeThreadHistorySchema","successObjectsBranchSchema","type","literal","items","array","EmailDetailSchema","nextPageToken","string","successArraysBranchSchema","columns","rows","unknown","outputSchema","union","config","description","result","handler","extra","pageSize","pageToken","logger","requestedFields","includeBody","graph","started","exec","durationMs","filteredItems","metadataObj","error","message","parseFields","has","info","undefined","Client","initWithMiddleware","authProvider","authContext","auth","Date","now","executeOutlookQuery","limit","m","to","Array","isArray","toRecipients","map","r","emailAddress","address","filter","Boolean","join","cc","ccRecipients","bcc","bccRecipients","fromAddr","from","fromName","name","bodyContent","body","content","isHtml","toLowerCase","extractCurrentMessageFromHtml","extractCurrentMessageFromHtmlToText","mapped","id","subject","date","receivedDateTime","snippet","bodyPreview","bodyContentType","item","filterFields","itemsLength","length","metadata","toColumnarFormat","text","JSON","stringify","structuredContent","Error","String","McpError","ErrorCode","InternalError","stack"],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import type { EnrichedExtra } from '@mcp-z/oauth-microsoft';
2
+ import { type CallToolResult } from '@modelcontextprotocol/sdk/types.js';
3
+ import { z } from 'zod';
4
+ declare const inputSchema: z.ZodObject<{
5
+ to: z.ZodString | z.ZodOptional<z.ZodString>;
6
+ cc: z.ZodString | z.ZodOptional<z.ZodString>;
7
+ bcc: z.ZodString | z.ZodOptional<z.ZodString>;
8
+ subject: z.ZodDefault<z.ZodString>;
9
+ body: z.ZodString;
10
+ contentType: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
11
+ text: "text";
12
+ html: "html";
13
+ }>>>;
14
+ }, z.core.$strip>;
15
+ declare const outputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
16
+ id: z.ZodString;
17
+ threadId: z.ZodOptional<z.ZodString>;
18
+ sentAt: z.ZodString;
19
+ recipientCount: z.ZodNumber;
20
+ webLink: z.ZodOptional<z.ZodString>;
21
+ size: z.ZodOptional<z.ZodNumber>;
22
+ type: z.ZodLiteral<"success">;
23
+ }, z.core.$strip>, z.ZodObject<{
24
+ type: z.ZodLiteral<"auth_required">;
25
+ provider: z.ZodString;
26
+ message: z.ZodString;
27
+ url: z.ZodOptional<z.ZodString>;
28
+ }, z.core.$strip>], "type">;
29
+ export type Input = z.infer<typeof inputSchema>;
30
+ export type Output = z.infer<typeof outputSchema>;
31
+ declare function handler({ to, cc, bcc, subject, body, contentType }: Input, extra: EnrichedExtra): Promise<CallToolResult>;
32
+ export default function createTool(): {
33
+ name: string;
34
+ config: {
35
+ readonly description: "Send an email message through Outlook";
36
+ readonly inputSchema: z.ZodObject<{
37
+ to: z.ZodString | z.ZodOptional<z.ZodString>;
38
+ cc: z.ZodString | z.ZodOptional<z.ZodString>;
39
+ bcc: z.ZodString | z.ZodOptional<z.ZodString>;
40
+ subject: z.ZodDefault<z.ZodString>;
41
+ body: z.ZodString;
42
+ contentType: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
43
+ text: "text";
44
+ html: "html";
45
+ }>>>;
46
+ }, z.core.$strip>;
47
+ readonly outputSchema: z.ZodObject<{
48
+ result: z.ZodDiscriminatedUnion<[z.ZodObject<{
49
+ id: z.ZodString;
50
+ threadId: z.ZodOptional<z.ZodString>;
51
+ sentAt: z.ZodString;
52
+ recipientCount: z.ZodNumber;
53
+ webLink: z.ZodOptional<z.ZodString>;
54
+ size: z.ZodOptional<z.ZodNumber>;
55
+ type: z.ZodLiteral<"success">;
56
+ }, z.core.$strip>, z.ZodObject<{
57
+ type: z.ZodLiteral<"auth_required">;
58
+ provider: z.ZodString;
59
+ message: z.ZodString;
60
+ url: z.ZodOptional<z.ZodString>;
61
+ }, z.core.$strip>], "type">;
62
+ }, z.core.$strip>;
63
+ };
64
+ handler: typeof handler;
65
+ };
66
+ export {};
@@ -0,0 +1,66 @@
1
+ import type { EnrichedExtra } from '@mcp-z/oauth-microsoft';
2
+ import { type CallToolResult } from '@modelcontextprotocol/sdk/types.js';
3
+ import { z } from 'zod';
4
+ declare const inputSchema: z.ZodObject<{
5
+ to: z.ZodString | z.ZodOptional<z.ZodString>;
6
+ cc: z.ZodString | z.ZodOptional<z.ZodString>;
7
+ bcc: z.ZodString | z.ZodOptional<z.ZodString>;
8
+ subject: z.ZodDefault<z.ZodString>;
9
+ body: z.ZodString;
10
+ contentType: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
11
+ text: "text";
12
+ html: "html";
13
+ }>>>;
14
+ }, z.core.$strip>;
15
+ declare const outputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
16
+ id: z.ZodString;
17
+ threadId: z.ZodOptional<z.ZodString>;
18
+ sentAt: z.ZodString;
19
+ recipientCount: z.ZodNumber;
20
+ webLink: z.ZodOptional<z.ZodString>;
21
+ size: z.ZodOptional<z.ZodNumber>;
22
+ type: z.ZodLiteral<"success">;
23
+ }, z.core.$strip>, z.ZodObject<{
24
+ type: z.ZodLiteral<"auth_required">;
25
+ provider: z.ZodString;
26
+ message: z.ZodString;
27
+ url: z.ZodOptional<z.ZodString>;
28
+ }, z.core.$strip>], "type">;
29
+ export type Input = z.infer<typeof inputSchema>;
30
+ export type Output = z.infer<typeof outputSchema>;
31
+ declare function handler({ to, cc, bcc, subject, body, contentType }: Input, extra: EnrichedExtra): Promise<CallToolResult>;
32
+ export default function createTool(): {
33
+ name: string;
34
+ config: {
35
+ readonly description: "Send an email message through Outlook";
36
+ readonly inputSchema: z.ZodObject<{
37
+ to: z.ZodString | z.ZodOptional<z.ZodString>;
38
+ cc: z.ZodString | z.ZodOptional<z.ZodString>;
39
+ bcc: z.ZodString | z.ZodOptional<z.ZodString>;
40
+ subject: z.ZodDefault<z.ZodString>;
41
+ body: z.ZodString;
42
+ contentType: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
43
+ text: "text";
44
+ html: "html";
45
+ }>>>;
46
+ }, z.core.$strip>;
47
+ readonly outputSchema: z.ZodObject<{
48
+ result: z.ZodDiscriminatedUnion<[z.ZodObject<{
49
+ id: z.ZodString;
50
+ threadId: z.ZodOptional<z.ZodString>;
51
+ sentAt: z.ZodString;
52
+ recipientCount: z.ZodNumber;
53
+ webLink: z.ZodOptional<z.ZodString>;
54
+ size: z.ZodOptional<z.ZodNumber>;
55
+ type: z.ZodLiteral<"success">;
56
+ }, z.core.$strip>, z.ZodObject<{
57
+ type: z.ZodLiteral<"auth_required">;
58
+ provider: z.ZodString;
59
+ message: z.ZodString;
60
+ url: z.ZodOptional<z.ZodString>;
61
+ }, z.core.$strip>], "type">;
62
+ }, z.core.$strip>;
63
+ };
64
+ handler: typeof handler;
65
+ };
66
+ export {};