@jbctechsolutions/mcp-office365 2.5.1 → 4.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 (369) hide show
  1. package/README.md +66 -57
  2. package/dist/approval/hash.d.ts +8 -8
  3. package/dist/approval/token-manager.d.ts +37 -19
  4. package/dist/approval/token-manager.d.ts.map +1 -1
  5. package/dist/approval/token-manager.js +133 -37
  6. package/dist/approval/token-manager.js.map +1 -1
  7. package/dist/approval/types.d.ts +7 -3
  8. package/dist/approval/types.d.ts.map +1 -1
  9. package/dist/cli.d.ts +21 -0
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/cli.js +100 -2
  12. package/dist/cli.js.map +1 -1
  13. package/dist/database/repository.d.ts +48 -48
  14. package/dist/database/repository.d.ts.map +1 -1
  15. package/dist/database/repository.js.map +1 -1
  16. package/dist/delta/mirror.d.ts +67 -0
  17. package/dist/delta/mirror.d.ts.map +1 -0
  18. package/dist/delta/mirror.js +183 -0
  19. package/dist/delta/mirror.js.map +1 -0
  20. package/dist/graph/auth/account-id.d.ts +19 -0
  21. package/dist/graph/auth/account-id.d.ts.map +1 -0
  22. package/dist/graph/auth/account-id.js +55 -0
  23. package/dist/graph/auth/account-id.js.map +1 -0
  24. package/dist/graph/auth/config.d.ts +1 -1
  25. package/dist/graph/auth/config.d.ts.map +1 -1
  26. package/dist/graph/auth/config.js +13 -1
  27. package/dist/graph/auth/config.js.map +1 -1
  28. package/dist/graph/auth/device-code-flow.d.ts +3 -1
  29. package/dist/graph/auth/device-code-flow.d.ts.map +1 -1
  30. package/dist/graph/auth/device-code-flow.js +42 -14
  31. package/dist/graph/auth/device-code-flow.js.map +1 -1
  32. package/dist/graph/auth/index.d.ts +1 -0
  33. package/dist/graph/auth/index.d.ts.map +1 -1
  34. package/dist/graph/auth/index.js +1 -0
  35. package/dist/graph/auth/index.js.map +1 -1
  36. package/dist/graph/auth/token-cache.js +2 -2
  37. package/dist/graph/auth/token-cache.js.map +1 -1
  38. package/dist/graph/client/graph-client.d.ts +141 -8
  39. package/dist/graph/client/graph-client.d.ts.map +1 -1
  40. package/dist/graph/client/graph-client.js +536 -48
  41. package/dist/graph/client/graph-client.js.map +1 -1
  42. package/dist/graph/client/immutable-id-middleware.d.ts +50 -0
  43. package/dist/graph/client/immutable-id-middleware.d.ts.map +1 -0
  44. package/dist/graph/client/immutable-id-middleware.js +137 -0
  45. package/dist/graph/client/immutable-id-middleware.js.map +1 -0
  46. package/dist/graph/content-readers.d.ts +0 -12
  47. package/dist/graph/content-readers.d.ts.map +1 -1
  48. package/dist/graph/content-readers.js +0 -21
  49. package/dist/graph/content-readers.js.map +1 -1
  50. package/dist/graph/index.d.ts +5 -6
  51. package/dist/graph/index.d.ts.map +1 -1
  52. package/dist/graph/index.js +5 -6
  53. package/dist/graph/index.js.map +1 -1
  54. package/dist/graph/mailbox-adapter.d.ts +15 -15
  55. package/dist/graph/mappers/contact-mapper.d.ts +4 -1
  56. package/dist/graph/mappers/contact-mapper.d.ts.map +1 -1
  57. package/dist/graph/mappers/contact-mapper.js +7 -3
  58. package/dist/graph/mappers/contact-mapper.js.map +1 -1
  59. package/dist/graph/mappers/email-mapper.d.ts.map +1 -1
  60. package/dist/graph/mappers/email-mapper.js +7 -4
  61. package/dist/graph/mappers/email-mapper.js.map +1 -1
  62. package/dist/graph/mappers/event-mapper.d.ts.map +1 -1
  63. package/dist/graph/mappers/event-mapper.js +6 -3
  64. package/dist/graph/mappers/event-mapper.js.map +1 -1
  65. package/dist/graph/mappers/folder-mapper.d.ts +0 -4
  66. package/dist/graph/mappers/folder-mapper.d.ts.map +1 -1
  67. package/dist/graph/mappers/folder-mapper.js +9 -19
  68. package/dist/graph/mappers/folder-mapper.js.map +1 -1
  69. package/dist/graph/mappers/index.d.ts +2 -2
  70. package/dist/graph/mappers/index.d.ts.map +1 -1
  71. package/dist/graph/mappers/index.js +2 -2
  72. package/dist/graph/mappers/index.js.map +1 -1
  73. package/dist/graph/mappers/task-mapper.d.ts +4 -2
  74. package/dist/graph/mappers/task-mapper.d.ts.map +1 -1
  75. package/dist/graph/mappers/task-mapper.js +7 -5
  76. package/dist/graph/mappers/task-mapper.js.map +1 -1
  77. package/dist/graph/mappers/utils.d.ts +0 -10
  78. package/dist/graph/mappers/utils.d.ts.map +1 -1
  79. package/dist/graph/mappers/utils.js +0 -19
  80. package/dist/graph/mappers/utils.js.map +1 -1
  81. package/dist/graph/repository.d.ts +409 -276
  82. package/dist/graph/repository.d.ts.map +1 -1
  83. package/dist/graph/repository.js +772 -1082
  84. package/dist/graph/repository.js.map +1 -1
  85. package/dist/ids/mint.d.ts +31 -0
  86. package/dist/ids/mint.d.ts.map +1 -0
  87. package/dist/ids/mint.js +36 -0
  88. package/dist/ids/mint.js.map +1 -0
  89. package/dist/ids/next-action.d.ts +29 -0
  90. package/dist/ids/next-action.d.ts.map +1 -0
  91. package/dist/ids/next-action.js +58 -0
  92. package/dist/ids/next-action.js.map +1 -0
  93. package/dist/ids/resolver.d.ts +31 -0
  94. package/dist/ids/resolver.d.ts.map +1 -0
  95. package/dist/ids/resolver.js +52 -0
  96. package/dist/ids/resolver.js.map +1 -0
  97. package/dist/ids/schema.d.ts +91 -0
  98. package/dist/ids/schema.d.ts.map +1 -0
  99. package/dist/ids/schema.js +131 -0
  100. package/dist/ids/schema.js.map +1 -0
  101. package/dist/ids/token.d.ts +62 -0
  102. package/dist/ids/token.d.ts.map +1 -0
  103. package/dist/ids/token.js +225 -0
  104. package/dist/ids/token.js.map +1 -0
  105. package/dist/index.d.ts +10 -6
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +255 -5925
  108. package/dist/index.js.map +1 -1
  109. package/dist/parsers/index.d.ts +0 -1
  110. package/dist/parsers/index.d.ts.map +1 -1
  111. package/dist/parsers/index.js +0 -1
  112. package/dist/parsers/index.js.map +1 -1
  113. package/dist/registry/all-tools.d.ts +14 -0
  114. package/dist/registry/all-tools.d.ts.map +1 -0
  115. package/dist/registry/all-tools.js +68 -0
  116. package/dist/registry/all-tools.js.map +1 -0
  117. package/dist/registry/context.d.ts +19 -0
  118. package/dist/registry/context.d.ts.map +1 -0
  119. package/dist/registry/context.js +20 -0
  120. package/dist/registry/context.js.map +1 -0
  121. package/dist/registry/define-tool.d.ts +15 -0
  122. package/dist/registry/define-tool.d.ts.map +1 -0
  123. package/dist/registry/define-tool.js +8 -0
  124. package/dist/registry/define-tool.js.map +1 -0
  125. package/dist/registry/elicit-links.d.ts +35 -0
  126. package/dist/registry/elicit-links.d.ts.map +1 -0
  127. package/dist/registry/elicit-links.js +102 -0
  128. package/dist/registry/elicit-links.js.map +1 -0
  129. package/dist/registry/elicitor.d.ts +24 -0
  130. package/dist/registry/elicitor.d.ts.map +1 -0
  131. package/dist/registry/elicitor.js +51 -0
  132. package/dist/registry/elicitor.js.map +1 -0
  133. package/dist/registry/index.d.ts +13 -0
  134. package/dist/registry/index.d.ts.map +1 -0
  135. package/dist/registry/index.js +8 -0
  136. package/dist/registry/index.js.map +1 -0
  137. package/dist/registry/registry.d.ts +73 -0
  138. package/dist/registry/registry.d.ts.map +1 -0
  139. package/dist/registry/registry.js +221 -0
  140. package/dist/registry/registry.js.map +1 -0
  141. package/dist/registry/types.d.ts +146 -0
  142. package/dist/registry/types.d.ts.map +1 -0
  143. package/dist/registry/types.js +6 -0
  144. package/dist/registry/types.js.map +1 -0
  145. package/dist/search/compiler.d.ts +49 -0
  146. package/dist/search/compiler.d.ts.map +1 -0
  147. package/dist/search/compiler.js +168 -0
  148. package/dist/search/compiler.js.map +1 -0
  149. package/dist/signature.js +2 -2
  150. package/dist/signature.js.map +1 -1
  151. package/dist/state/delta-store.d.ts +85 -0
  152. package/dist/state/delta-store.d.ts.map +1 -0
  153. package/dist/state/delta-store.js +124 -0
  154. package/dist/state/delta-store.js.map +1 -0
  155. package/dist/state/migrate.d.ts +23 -0
  156. package/dist/state/migrate.d.ts.map +1 -0
  157. package/dist/state/migrate.js +81 -0
  158. package/dist/state/migrate.js.map +1 -0
  159. package/dist/state/schema.d.ts +26 -0
  160. package/dist/state/schema.d.ts.map +1 -0
  161. package/dist/state/schema.js +77 -0
  162. package/dist/state/schema.js.map +1 -0
  163. package/dist/state/store.d.ts +155 -0
  164. package/dist/state/store.d.ts.map +1 -0
  165. package/dist/state/store.js +321 -0
  166. package/dist/state/store.js.map +1 -0
  167. package/dist/tools/calendar-graph.d.ts +41 -0
  168. package/dist/tools/calendar-graph.d.ts.map +1 -0
  169. package/dist/tools/calendar-graph.js +299 -0
  170. package/dist/tools/calendar-graph.js.map +1 -0
  171. package/dist/tools/calendar-permissions.d.ts +17 -7
  172. package/dist/tools/calendar-permissions.d.ts.map +1 -1
  173. package/dist/tools/calendar-permissions.js +60 -4
  174. package/dist/tools/calendar-permissions.js.map +1 -1
  175. package/dist/tools/calendar.d.ts +133 -82
  176. package/dist/tools/calendar.d.ts.map +1 -1
  177. package/dist/tools/calendar.js +249 -136
  178. package/dist/tools/calendar.js.map +1 -1
  179. package/dist/tools/categories.d.ts +14 -4
  180. package/dist/tools/categories.d.ts.map +1 -1
  181. package/dist/tools/categories.js +59 -2
  182. package/dist/tools/categories.js.map +1 -1
  183. package/dist/tools/checklist-items.d.ts +19 -9
  184. package/dist/tools/checklist-items.d.ts.map +1 -1
  185. package/dist/tools/checklist-items.js +71 -5
  186. package/dist/tools/checklist-items.js.map +1 -1
  187. package/dist/tools/contact-folders.d.ts +50 -0
  188. package/dist/tools/contact-folders.d.ts.map +1 -0
  189. package/dist/tools/contact-folders.js +136 -0
  190. package/dist/tools/contact-folders.js.map +1 -0
  191. package/dist/tools/contacts-graph.d.ts +45 -0
  192. package/dist/tools/contacts-graph.d.ts.map +1 -0
  193. package/dist/tools/contacts-graph.js +174 -0
  194. package/dist/tools/contacts-graph.js.map +1 -0
  195. package/dist/tools/contacts.d.ts +61 -30
  196. package/dist/tools/contacts.d.ts.map +1 -1
  197. package/dist/tools/contacts.js +150 -93
  198. package/dist/tools/contacts.js.map +1 -1
  199. package/dist/tools/excel.d.ts +20 -10
  200. package/dist/tools/excel.d.ts.map +1 -1
  201. package/dist/tools/excel.js +82 -6
  202. package/dist/tools/excel.js.map +1 -1
  203. package/dist/tools/focused-overrides.d.ts +14 -4
  204. package/dist/tools/focused-overrides.d.ts.map +1 -1
  205. package/dist/tools/focused-overrides.js +59 -2
  206. package/dist/tools/focused-overrides.js.map +1 -1
  207. package/dist/tools/index.d.ts +4 -5
  208. package/dist/tools/index.d.ts.map +1 -1
  209. package/dist/tools/index.js +4 -6
  210. package/dist/tools/index.js.map +1 -1
  211. package/dist/tools/linked-resources.d.ts +17 -7
  212. package/dist/tools/linked-resources.d.ts.map +1 -1
  213. package/dist/tools/linked-resources.js +60 -4
  214. package/dist/tools/linked-resources.js.map +1 -1
  215. package/dist/tools/mail-graph.d.ts +38 -0
  216. package/dist/tools/mail-graph.d.ts.map +1 -0
  217. package/dist/tools/mail-graph.js +187 -0
  218. package/dist/tools/mail-graph.js.map +1 -0
  219. package/dist/tools/mail-rules.d.ts +20 -8
  220. package/dist/tools/mail-rules.d.ts.map +1 -1
  221. package/dist/tools/mail-rules.js +63 -7
  222. package/dist/tools/mail-rules.js.map +1 -1
  223. package/dist/tools/mail-send.d.ts +39 -27
  224. package/dist/tools/mail-send.d.ts.map +1 -1
  225. package/dist/tools/mail-send.js +249 -24
  226. package/dist/tools/mail-send.js.map +1 -1
  227. package/dist/tools/mail.d.ts +91 -68
  228. package/dist/tools/mail.d.ts.map +1 -1
  229. package/dist/tools/mail.js +232 -243
  230. package/dist/tools/mail.js.map +1 -1
  231. package/dist/tools/mailbox-organization.d.ts +51 -34
  232. package/dist/tools/mailbox-organization.d.ts.map +1 -1
  233. package/dist/tools/mailbox-organization.js +318 -35
  234. package/dist/tools/mailbox-organization.js.map +1 -1
  235. package/dist/tools/mailbox-settings.d.ts +59 -0
  236. package/dist/tools/mailbox-settings.d.ts.map +1 -0
  237. package/dist/tools/mailbox-settings.js +136 -0
  238. package/dist/tools/mailbox-settings.js.map +1 -0
  239. package/dist/tools/meetings.d.ts +24 -14
  240. package/dist/tools/meetings.d.ts.map +1 -1
  241. package/dist/tools/meetings.js +82 -6
  242. package/dist/tools/meetings.js.map +1 -1
  243. package/dist/tools/onedrive.d.ts +26 -16
  244. package/dist/tools/onedrive.d.ts.map +1 -1
  245. package/dist/tools/onedrive.js +140 -11
  246. package/dist/tools/onedrive.js.map +1 -1
  247. package/dist/tools/onenote.d.ts +63 -0
  248. package/dist/tools/onenote.d.ts.map +1 -0
  249. package/dist/tools/onenote.js +221 -0
  250. package/dist/tools/onenote.js.map +1 -0
  251. package/dist/tools/people.d.ts +10 -0
  252. package/dist/tools/people.d.ts.map +1 -1
  253. package/dist/tools/people.js +94 -0
  254. package/dist/tools/people.js.map +1 -1
  255. package/dist/tools/planner-visualization.d.ts +15 -5
  256. package/dist/tools/planner-visualization.d.ts.map +1 -1
  257. package/dist/tools/planner-visualization.js +58 -4
  258. package/dist/tools/planner-visualization.js.map +1 -1
  259. package/dist/tools/planner.d.ts +69 -39
  260. package/dist/tools/planner.d.ts.map +1 -1
  261. package/dist/tools/planner.js +231 -23
  262. package/dist/tools/planner.js.map +1 -1
  263. package/dist/tools/scheduling.d.ts +12 -0
  264. package/dist/tools/scheduling.d.ts.map +1 -1
  265. package/dist/tools/scheduling.js +38 -0
  266. package/dist/tools/scheduling.js.map +1 -1
  267. package/dist/tools/shared-mailbox.d.ts +164 -0
  268. package/dist/tools/shared-mailbox.d.ts.map +1 -0
  269. package/dist/tools/shared-mailbox.js +318 -0
  270. package/dist/tools/shared-mailbox.js.map +1 -0
  271. package/dist/tools/sharepoint-lists.d.ts +131 -0
  272. package/dist/tools/sharepoint-lists.d.ts.map +1 -0
  273. package/dist/tools/sharepoint-lists.js +246 -0
  274. package/dist/tools/sharepoint-lists.js.map +1 -0
  275. package/dist/tools/sharepoint.d.ts +24 -14
  276. package/dist/tools/sharepoint.d.ts.map +1 -1
  277. package/dist/tools/sharepoint.js +85 -9
  278. package/dist/tools/sharepoint.js.map +1 -1
  279. package/dist/tools/task-attachments.d.ts +17 -7
  280. package/dist/tools/task-attachments.d.ts.map +1 -1
  281. package/dist/tools/task-attachments.js +60 -4
  282. package/dist/tools/task-attachments.js.map +1 -1
  283. package/dist/tools/task-lists.d.ts +56 -0
  284. package/dist/tools/task-lists.d.ts.map +1 -0
  285. package/dist/tools/task-lists.js +155 -0
  286. package/dist/tools/task-lists.js.map +1 -0
  287. package/dist/tools/tasks-graph.d.ts +49 -0
  288. package/dist/tools/tasks-graph.d.ts.map +1 -0
  289. package/dist/tools/tasks-graph.js +193 -0
  290. package/dist/tools/tasks-graph.js.map +1 -0
  291. package/dist/tools/tasks.d.ts +121 -29
  292. package/dist/tools/tasks.d.ts.map +1 -1
  293. package/dist/tools/tasks.js +136 -84
  294. package/dist/tools/tasks.js.map +1 -1
  295. package/dist/tools/teams.d.ts +57 -46
  296. package/dist/tools/teams.d.ts.map +1 -1
  297. package/dist/tools/teams.js +288 -26
  298. package/dist/tools/teams.js.map +1 -1
  299. package/dist/tools/what-changed.d.ts +48 -0
  300. package/dist/tools/what-changed.d.ts.map +1 -0
  301. package/dist/tools/what-changed.js +149 -0
  302. package/dist/tools/what-changed.js.map +1 -0
  303. package/dist/types/calendar.d.ts +1 -1
  304. package/dist/types/calendar.d.ts.map +1 -1
  305. package/dist/types/calendar.js.map +1 -1
  306. package/dist/types/contacts.d.ts +1 -1
  307. package/dist/types/contacts.d.ts.map +1 -1
  308. package/dist/types/contacts.js.map +1 -1
  309. package/dist/types/mail.d.ts +1 -1
  310. package/dist/types/mail.d.ts.map +1 -1
  311. package/dist/types/mail.js.map +1 -1
  312. package/dist/utils/errors.d.ts +110 -38
  313. package/dist/utils/errors.d.ts.map +1 -1
  314. package/dist/utils/errors.js +239 -56
  315. package/dist/utils/errors.js.map +1 -1
  316. package/dist/visualization/types.d.ts +4 -4
  317. package/package.json +2 -3
  318. package/dist/applescript/account-repository.d.ts +0 -30
  319. package/dist/applescript/account-repository.d.ts.map +0 -1
  320. package/dist/applescript/account-repository.js +0 -38
  321. package/dist/applescript/account-repository.js.map +0 -1
  322. package/dist/applescript/account-scripts.d.ts +0 -21
  323. package/dist/applescript/account-scripts.d.ts.map +0 -1
  324. package/dist/applescript/account-scripts.js +0 -180
  325. package/dist/applescript/account-scripts.js.map +0 -1
  326. package/dist/applescript/calendar-manager.d.ts +0 -44
  327. package/dist/applescript/calendar-manager.d.ts.map +0 -1
  328. package/dist/applescript/calendar-manager.js +0 -92
  329. package/dist/applescript/calendar-manager.js.map +0 -1
  330. package/dist/applescript/calendar-writer.d.ts +0 -36
  331. package/dist/applescript/calendar-writer.d.ts.map +0 -1
  332. package/dist/applescript/calendar-writer.js +0 -94
  333. package/dist/applescript/calendar-writer.js.map +0 -1
  334. package/dist/applescript/content-readers.d.ts +0 -114
  335. package/dist/applescript/content-readers.d.ts.map +0 -1
  336. package/dist/applescript/content-readers.js +0 -328
  337. package/dist/applescript/content-readers.js.map +0 -1
  338. package/dist/applescript/executor.d.ts +0 -60
  339. package/dist/applescript/executor.d.ts.map +0 -1
  340. package/dist/applescript/executor.js +0 -173
  341. package/dist/applescript/executor.js.map +0 -1
  342. package/dist/applescript/index.d.ts +0 -20
  343. package/dist/applescript/index.d.ts.map +0 -1
  344. package/dist/applescript/index.js +0 -29
  345. package/dist/applescript/index.js.map +0 -1
  346. package/dist/applescript/mail-sender.d.ts +0 -38
  347. package/dist/applescript/mail-sender.d.ts.map +0 -1
  348. package/dist/applescript/mail-sender.js +0 -67
  349. package/dist/applescript/mail-sender.js.map +0 -1
  350. package/dist/applescript/parser.d.ts +0 -235
  351. package/dist/applescript/parser.d.ts.map +0 -1
  352. package/dist/applescript/parser.js +0 -496
  353. package/dist/applescript/parser.js.map +0 -1
  354. package/dist/applescript/repository.d.ts +0 -64
  355. package/dist/applescript/repository.d.ts.map +0 -1
  356. package/dist/applescript/repository.js +0 -444
  357. package/dist/applescript/repository.js.map +0 -1
  358. package/dist/applescript/scripts.d.ts +0 -265
  359. package/dist/applescript/scripts.d.ts.map +0 -1
  360. package/dist/applescript/scripts.js +0 -1483
  361. package/dist/applescript/scripts.js.map +0 -1
  362. package/dist/parsers/olk15.d.ts +0 -87
  363. package/dist/parsers/olk15.d.ts.map +0 -1
  364. package/dist/parsers/olk15.js +0 -368
  365. package/dist/parsers/olk15.js.map +0 -1
  366. package/dist/tools/notes.d.ts +0 -74
  367. package/dist/tools/notes.d.ts.map +0 -1
  368. package/dist/tools/notes.js +0 -136
  369. package/dist/tools/notes.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail-graph.d.ts","sourceRoot":"","sources":["../../src/tools/mail-graph.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAKvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EACV,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,WAAW,CAAC;AAgGnB;;;GAGG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc;gBADd,UAAU,EAAE,eAAe,EAC3B,cAAc,EAAE,mBAAmB;IAGhD,WAAW,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC;IAKhE,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAOzD,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC;IAO7D,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IAiBrD,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IAuBvD,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC;IAOjE,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC;IAKnE,kBAAkB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,UAAU,CAAC;IAKzE,oBAAoB,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,UAAU,CAAC;IAS7E,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC;IASjE,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC;IAKrE,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IAKvE,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC;IAKjE,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;CAIlE"}
@@ -0,0 +1,187 @@
1
+ /**
2
+ * Copyright (c) 2026 JBC Tech Solutions, LLC
3
+ * Licensed under the MIT License. See LICENSE file in the project root.
4
+ */
5
+ import { unixTimestampToLocalIso } from '../graph/mappers/utils.js';
6
+ import { compileEmailSearch } from '../search/compiler.js';
7
+ import { nextActionFor } from '../ids/next-action.js';
8
+ function jsonResult(data) {
9
+ return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
10
+ }
11
+ /**
12
+ * Transforms a folder row into the shape returned by the graph backend's
13
+ * `list_folders` tool. Self-contained copy of the legacy graph-mode transform.
14
+ */
15
+ function transformFolderRow(row) {
16
+ return {
17
+ id: row.id,
18
+ name: row.name ?? 'Unnamed',
19
+ parentId: row.parentId,
20
+ specialType: row.specialType,
21
+ folderType: row.folderType,
22
+ accountId: row.accountId,
23
+ messageCount: row.messageCount,
24
+ unreadCount: row.unreadCount,
25
+ };
26
+ }
27
+ /**
28
+ * Transforms an email row into the shape returned by the graph backend's mail
29
+ * READ tools. Uses Unix timestamps (not Apple epoch). Self-contained copy of
30
+ * the legacy graph-mode transform.
31
+ */
32
+ function transformEmailRow(row) {
33
+ return {
34
+ id: row.id,
35
+ folderId: row.folderId,
36
+ subject: row.subject,
37
+ sender: row.sender,
38
+ senderAddress: row.senderAddress,
39
+ preview: row.preview,
40
+ isRead: row.isRead === 1,
41
+ timeReceived: unixTimestampToLocalIso(row.timeReceived),
42
+ timeSent: unixTimestampToLocalIso(row.timeSent),
43
+ hasAttachment: row.hasAttachment === 1,
44
+ priority: row.priority,
45
+ flagStatus: row.flagStatus,
46
+ categories: parseEmailCategories(row.categories),
47
+ };
48
+ }
49
+ function parseEmailCategories(buffer) {
50
+ if (buffer == null || buffer.length === 0)
51
+ return [];
52
+ try {
53
+ const text = buffer.toString('utf-8');
54
+ return text.includes('\0')
55
+ ? text.split('\0').filter(s => s.length > 0)
56
+ : text.split(',').map(s => s.trim()).filter(s => s.length > 0);
57
+ }
58
+ catch {
59
+ return [];
60
+ }
61
+ }
62
+ function stripHtml(html) {
63
+ return html
64
+ .replace(/<style[^>]*>[\s\S]*?<\/style>/gi, '')
65
+ .replace(/<script[^>]*>[\s\S]*?<\/script>/gi, '')
66
+ .replace(/<[^>]+>/g, ' ')
67
+ .replace(/&nbsp;/g, ' ')
68
+ .replace(/&amp;/g, '&')
69
+ .replace(/&lt;/g, '<')
70
+ .replace(/&gt;/g, '>')
71
+ .replace(/&quot;/g, '"')
72
+ .replace(/&#39;/g, "'")
73
+ .replace(/\s+/g, ' ')
74
+ .trim();
75
+ }
76
+ /**
77
+ * Graph mail tools. Each method mirrors the extracted inline graph case body
78
+ * and returns an MCP `ToolResult`.
79
+ */
80
+ export class GraphMailTools {
81
+ repository;
82
+ contentReaders;
83
+ constructor(repository, contentReaders) {
84
+ this.repository = repository;
85
+ this.contentReaders = contentReaders;
86
+ }
87
+ async listFolders(_params) {
88
+ const folders = await this.repository.listFoldersAsync();
89
+ return jsonResult({ folders: folders.map(transformFolderRow) });
90
+ }
91
+ async listEmails(params) {
92
+ const emails = params.unread_only
93
+ ? await this.repository.listUnreadEmailsAsync(params.folder_id, params.limit, params.offset)
94
+ : await this.repository.listEmailsAsync(params.folder_id, params.limit, params.offset);
95
+ return jsonResult({ emails: emails.map(transformEmailRow), next: nextActionFor('message') ?? undefined });
96
+ }
97
+ async searchEmails(params) {
98
+ const emails = params.folder_id != null
99
+ ? await this.repository.searchEmailsInFolderAsync(params.folder_id, params.query, params.limit)
100
+ : await this.repository.searchEmailsAsync(params.query, params.limit);
101
+ return jsonResult({ emails: emails.map(transformEmailRow), next: nextActionFor('message') ?? undefined });
102
+ }
103
+ async getEmail(params) {
104
+ const email = await this.repository.getEmailAsync(params.email_id);
105
+ if (email == null) {
106
+ return { content: [{ type: 'text', text: 'Email not found' }], isError: true };
107
+ }
108
+ let body = null;
109
+ if (params.include_body) {
110
+ body = await this.contentReaders.email.readEmailBodyAsync(email.dataFilePath);
111
+ if (params.strip_html && body != null) {
112
+ body = stripHtml(body);
113
+ }
114
+ }
115
+ return jsonResult({ ...transformEmailRow(email), body });
116
+ }
117
+ async getEmails(params) {
118
+ const results = await Promise.all(params.email_ids.map(async (id) => {
119
+ try {
120
+ const email = await this.repository.getEmailAsync(id);
121
+ if (email == null)
122
+ return { id, error: 'Not found' };
123
+ let body = null;
124
+ if (params.include_body) {
125
+ body = await this.contentReaders.email.readEmailBodyAsync(email.dataFilePath);
126
+ if (params.strip_html && body != null)
127
+ body = stripHtml(body);
128
+ }
129
+ return { ...transformEmailRow(email), body };
130
+ }
131
+ catch (err) {
132
+ // Per-id isolation: an unresolvable id (legacy numeric →
133
+ // NUMERIC_ID_UNSUPPORTED, or a wrong-entity token →
134
+ // ID_ENTITY_MISMATCH) must not abort the whole batch.
135
+ return { id, error: err instanceof Error ? err.message : 'Unresolvable id' };
136
+ }
137
+ }));
138
+ return jsonResult({ emails: results });
139
+ }
140
+ async getUnreadCount(params) {
141
+ const count = params.folder_id != null
142
+ ? await this.repository.getUnreadCountByFolderAsync(params.folder_id)
143
+ : await this.repository.getUnreadCountAsync();
144
+ return jsonResult({ total: count });
145
+ }
146
+ async listAttachments(params) {
147
+ const attachments = await this.repository.listAttachmentsAsync(params.email_id);
148
+ return jsonResult({ attachments });
149
+ }
150
+ async downloadAttachment(params) {
151
+ const result = await this.repository.downloadAttachmentAsync(params.attachment_id);
152
+ return jsonResult(result);
153
+ }
154
+ async searchEmailsAdvanced(params) {
155
+ const { limit, ...criteria } = params;
156
+ // Compile structured criteria to the correct Graph mechanism (U7/D9). An
157
+ // empty or malformed-date query throws a typed VALIDATION error → envelope.
158
+ const compiled = compileEmailSearch(criteria);
159
+ const emails = await this.repository.searchEmailsStructuredAsync(compiled, limit);
160
+ return jsonResult({ emails: emails.map(transformEmailRow) });
161
+ }
162
+ async checkNewEmails(params) {
163
+ const deltaResult = await this.repository.checkNewEmailsAsync(params.folder_id);
164
+ return jsonResult({
165
+ emails: deltaResult.emails.map(transformEmailRow),
166
+ is_initial_sync: deltaResult.isInitialSync,
167
+ count: deltaResult.emails.length,
168
+ });
169
+ }
170
+ async listConversation(params) {
171
+ const emails = await this.repository.listConversationAsync(params.message_id, params.limit);
172
+ return jsonResult({ emails: emails.map(transformEmailRow) });
173
+ }
174
+ async getMessageHeaders(params) {
175
+ const headers = await this.repository.getMessageHeadersAsync(params.email_id);
176
+ return jsonResult({ headers });
177
+ }
178
+ async getMessageMime(params) {
179
+ const result = await this.repository.getMessageMimeAsync(params.email_id);
180
+ return jsonResult({ success: true, file_path: result.filePath });
181
+ }
182
+ async getMailTips(params) {
183
+ const tips = await this.repository.getMailTipsAsync(params.email_addresses);
184
+ return jsonResult({ mail_tips: tips });
185
+ }
186
+ }
187
+ //# sourceMappingURL=mail-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail-graph.js","sourceRoot":"","sources":["../../src/tools/mail-graph.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,12 @@
10
10
  */
11
11
  import { z } from 'zod';
12
12
  import type { ApprovalTokenManager } from '../approval/index.js';
13
+ import type { ToolDefinition } from '../registry/types.js';
14
+ declare module '../registry/types.js' {
15
+ interface GraphToolsets {
16
+ rules: MailRulesTools;
17
+ }
18
+ }
13
19
  export declare const CreateMailRuleInput: z.ZodObject<{
14
20
  display_name: z.ZodString;
15
21
  sequence: z.ZodOptional<z.ZodNumber>;
@@ -27,7 +33,7 @@ export declare const CreateMailRuleInput: z.ZodObject<{
27
33
  }>>;
28
34
  }, z.core.$strict>;
29
35
  actions: z.ZodObject<{
30
- move_to_folder: z.ZodOptional<z.ZodNumber>;
36
+ move_to_folder: z.ZodOptional<z.ZodString>;
31
37
  mark_as_read: z.ZodOptional<z.ZodBoolean>;
32
38
  mark_importance: z.ZodOptional<z.ZodEnum<{
33
39
  high: "high";
@@ -40,28 +46,28 @@ export declare const CreateMailRuleInput: z.ZodObject<{
40
46
  }, z.core.$strict>;
41
47
  }, z.core.$strict>;
42
48
  export declare const PrepareDeleteMailRuleInput: z.ZodObject<{
43
- rule_id: z.ZodNumber;
49
+ rule_id: z.ZodString;
44
50
  }, z.core.$strict>;
45
51
  export declare const ConfirmDeleteMailRuleInput: z.ZodObject<{
46
52
  token_id: z.ZodString;
47
- rule_id: z.ZodNumber;
53
+ rule_id: z.ZodString;
48
54
  }, z.core.$strict>;
49
55
  export type CreateMailRuleParams = z.infer<typeof CreateMailRuleInput>;
50
56
  export type PrepareDeleteMailRuleParams = z.infer<typeof PrepareDeleteMailRuleInput>;
51
57
  export type ConfirmDeleteMailRuleParams = z.infer<typeof ConfirmDeleteMailRuleInput>;
52
58
  export interface IMailRulesRepository {
53
59
  listMailRulesAsync(): Promise<Array<{
54
- id: number;
60
+ id: string;
55
61
  displayName: string;
56
62
  sequence: number;
57
63
  isEnabled: boolean;
58
64
  conditions: unknown;
59
65
  actions: unknown;
60
66
  }>>;
61
- createMailRuleAsync(rule: Record<string, unknown>): Promise<number>;
62
- deleteMailRuleAsync(ruleId: number): Promise<void>;
63
- /** Resolve a numeric folder ID to the Graph string ID for move_to_folder action. */
64
- getFolderGraphId(folderId: number): string | undefined;
67
+ createMailRuleAsync(rule: Record<string, unknown>): Promise<string>;
68
+ deleteMailRuleAsync(ruleId: string): Promise<void>;
69
+ /** Resolve a folder ID (durable `fd_` token or raw Graph id) for move_to_folder action. */
70
+ getFolderGraphId(folderId: string): string;
65
71
  }
66
72
  /**
67
73
  * Mail rules tools with two-phase approval for delete operations.
@@ -95,4 +101,10 @@ export declare class MailRulesTools {
95
101
  }>;
96
102
  }>;
97
103
  }
104
+ /**
105
+ * Registry tool definitions for the mail-rules domain. Handlers close over the
106
+ * live MailRulesTools instance resolved from the runtime context after the
107
+ * Graph backend is initialized.
108
+ */
109
+ export declare function mailRulesToolDefinitions(): ToolDefinition[];
98
110
  //# sourceMappingURL=mail-rules.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mail-rules.d.ts","sourceRoot":"","sources":["../../src/tools/mail-rules.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAMjE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAoB9B,CAAC;AAEH,eAAO,MAAM,0BAA0B;;kBAErC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;kBAGrC,CAAC;AAMH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACvE,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AACrF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAMrF,MAAM,WAAW,oBAAoB;IACnC,kBAAkB,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC,CAAC;IACvJ,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpE,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,oFAAoF;IACpF,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACxD;AAMD;;GAEG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,YAAY;gBADZ,IAAI,EAAE,oBAAoB,EAC1B,YAAY,EAAE,oBAAoB;IAG/C,aAAa,IAAI,OAAO,CAAC;QAC7B,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAChD,CAAC;IAUI,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC;QAC1D,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAChD,CAAC;IAiDF,qBAAqB,CAAC,MAAM,EAAE,2BAA2B,GAAG;QAC1D,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAChD;IAqBK,qBAAqB,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC;QACxE,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAChD,CAAC;CA6BH"}
1
+ {"version":3,"file":"mail-rules.d.ts","sourceRoot":"","sources":["../../src/tools/mail-rules.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAIjE,OAAO,KAAK,EAAe,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAIxE,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,aAAa;QACrB,KAAK,EAAE,cAAc,CAAC;KACvB;CACF;AAMD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAoB9B,CAAC;AAEH,eAAO,MAAM,0BAA0B;;kBAErC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;kBAGrC,CAAC;AAMH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACvE,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AACrF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAMrF,MAAM,WAAW,oBAAoB;IACnC,kBAAkB,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC,CAAC;IACvJ,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpE,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,2FAA2F;IAC3F,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5C;AAMD;;GAEG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,YAAY;gBADZ,IAAI,EAAE,oBAAoB,EAC1B,YAAY,EAAE,oBAAoB;IAG/C,aAAa,IAAI,OAAO,CAAC;QAC7B,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAChD,CAAC;IAUI,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC;QAC1D,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAChD,CAAC;IA+CF,qBAAqB,CAAC,MAAM,EAAE,2BAA2B,GAAG;QAC1D,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAChD;IAqBK,qBAAqB,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC;QACxE,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAChD,CAAC;CA6BH;AAQD;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,cAAc,EAAE,CA8C3D"}
@@ -9,6 +9,10 @@
9
9
  * approval pattern for destructive delete operations.
10
10
  */
11
11
  import { z } from 'zod';
12
+ import { Id } from '../ids/schema.js';
13
+ import { defineTool } from '../registry/define-tool.js';
14
+ import { tokenIdLink } from '../registry/elicit-links.js';
15
+ import { requireGraphToolset } from '../registry/context.js';
12
16
  // =============================================================================
13
17
  // Input Schemas
14
18
  // =============================================================================
@@ -25,7 +29,7 @@ export const CreateMailRuleInput = z.strictObject({
25
29
  importance: z.enum(['low', 'normal', 'high']).optional().describe('Match importance level'),
26
30
  }).describe('Conditions that trigger the rule'),
27
31
  actions: z.strictObject({
28
- move_to_folder: z.number().int().positive().optional().describe('Folder ID to move to'),
32
+ move_to_folder: z.string().min(1).optional().describe('Folder ID to move to'),
29
33
  mark_as_read: z.boolean().optional().describe('Mark as read'),
30
34
  mark_importance: z.enum(['low', 'normal', 'high']).optional().describe('Set importance'),
31
35
  forward_to: z.array(z.string().email()).optional().describe('Forward to these addresses'),
@@ -34,11 +38,11 @@ export const CreateMailRuleInput = z.strictObject({
34
38
  }).describe('Actions to perform'),
35
39
  });
36
40
  export const PrepareDeleteMailRuleInput = z.strictObject({
37
- rule_id: z.number().int().positive().describe('The rule ID to delete'),
41
+ rule_id: Id.mailRule,
38
42
  });
39
43
  export const ConfirmDeleteMailRuleInput = z.strictObject({
40
44
  token_id: z.string().uuid().describe('Approval token from prepare_delete_mail_rule'),
41
- rule_id: z.number().int().positive().describe('The rule ID to delete'),
45
+ rule_id: Id.mailRule,
42
46
  });
43
47
  // =============================================================================
44
48
  // Mail Rules Tools
@@ -91,10 +95,7 @@ export class MailRulesTools {
91
95
  // Build actions
92
96
  const actions = {};
93
97
  if (params.actions.move_to_folder != null) {
94
- const folderId = this.repo.getFolderGraphId(params.actions.move_to_folder);
95
- if (folderId == null)
96
- throw new Error(`Folder ID ${params.actions.move_to_folder} not found in cache. Try listing folders first.`);
97
- actions['moveToFolder'] = folderId;
98
+ actions['moveToFolder'] = this.repo.getFolderGraphId(params.actions.move_to_folder);
98
99
  }
99
100
  if (params.actions.mark_as_read != null)
100
101
  actions['markAsRead'] = params.actions.mark_as_read;
@@ -166,4 +167,59 @@ export class MailRulesTools {
166
167
  };
167
168
  }
168
169
  }
170
+ // =============================================================================
171
+ // Registry Definitions (v3 registry-driven architecture, U1 pilot)
172
+ // =============================================================================
173
+ const NoInput = z.strictObject({});
174
+ /**
175
+ * Registry tool definitions for the mail-rules domain. Handlers close over the
176
+ * live MailRulesTools instance resolved from the runtime context after the
177
+ * Graph backend is initialized.
178
+ */
179
+ export function mailRulesToolDefinitions() {
180
+ const tools = (ctx) => requireGraphToolset(ctx, 'rules');
181
+ return [
182
+ defineTool({
183
+ name: 'list_mail_rules',
184
+ description: 'List all inbox mail rules (Graph API)',
185
+ input: NoInput,
186
+ annotations: { readOnlyHint: true, openWorldHint: true },
187
+ destructive: false,
188
+ presets: ['mail'],
189
+ backends: ['graph'],
190
+ handler: (ctx) => tools(ctx).listMailRules(),
191
+ }),
192
+ defineTool({
193
+ name: 'create_mail_rule',
194
+ description: 'Create an inbox mail rule with conditions and actions (Graph API)',
195
+ input: CreateMailRuleInput,
196
+ annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: true },
197
+ destructive: false,
198
+ presets: ['mail'],
199
+ backends: ['graph'],
200
+ handler: (ctx, params) => tools(ctx).createMailRule(params),
201
+ }),
202
+ defineTool({
203
+ name: 'prepare_delete_mail_rule',
204
+ description: 'Prepare to delete a mail rule. Returns a preview and approval token. Call confirm_delete_mail_rule to execute. (Graph API)',
205
+ input: PrepareDeleteMailRuleInput,
206
+ annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: true },
207
+ destructive: true,
208
+ presets: ['mail'],
209
+ backends: ['graph'],
210
+ handler: (ctx, params) => tools(ctx).prepareDeleteMailRule(params),
211
+ onElicit: tokenIdLink('confirm_delete_mail_rule', ['rule_id']),
212
+ }),
213
+ defineTool({
214
+ name: 'confirm_delete_mail_rule',
215
+ description: 'Confirm mail rule deletion with approval token (Graph API)',
216
+ input: ConfirmDeleteMailRuleInput,
217
+ annotations: { readOnlyHint: false, destructiveHint: true, openWorldHint: true },
218
+ destructive: true,
219
+ presets: ['mail'],
220
+ backends: ['graph'],
221
+ handler: (ctx, params) => tools(ctx).confirmDeleteMailRule(params),
222
+ }),
223
+ ];
224
+ }
169
225
  //# sourceMappingURL=mail-rules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mail-rules.js","sourceRoot":"","sources":["../../src/tools/mail-rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mail-rules.js","sourceRoot":"","sources":["../../src/tools/mail-rules.ts"],"names":[],"mappings":"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"}
@@ -3,23 +3,29 @@
3
3
  * Licensed under the MIT License. See LICENSE file in the project root.
4
4
  */
5
5
  import { z } from 'zod';
6
+ import type { ToolDefinition } from '../registry/types.js';
6
7
  import type { EmailRow } from '../database/repository.js';
7
8
  import { ApprovalTokenManager } from '../approval/index.js';
8
9
  import type { GraphClient } from '../graph/client/index.js';
10
+ declare module '../registry/types.js' {
11
+ interface GraphToolsets {
12
+ mailSend: MailSendTools;
13
+ }
14
+ }
9
15
  /**
10
16
  * Async-compatible repository interface for mail send tools.
11
17
  *
12
18
  * Matches the async methods on GraphRepository.
13
19
  */
14
20
  /**
15
- * Result of creating a draft, containing both the numeric and Graph IDs.
21
+ * Result of creating a draft: a durable `em_` token plus the raw Graph ID.
16
22
  */
17
23
  export interface CreateDraftResult {
18
- numericId: number;
24
+ token: string;
19
25
  graphId: string;
20
26
  }
21
27
  export interface IMailSendRepository {
22
- getEmailAsync(id: number): Promise<EmailRow | undefined>;
28
+ getEmailAsync(id: string): Promise<EmailRow | undefined>;
23
29
  createDraftAsync(params: {
24
30
  subject: string;
25
31
  body: string;
@@ -28,9 +34,9 @@ export interface IMailSendRepository {
28
34
  cc?: string[];
29
35
  bcc?: string[];
30
36
  }): Promise<CreateDraftResult>;
31
- updateDraftAsync(draftId: number, updates: Record<string, unknown>): Promise<void>;
37
+ updateDraftAsync(draftId: string, updates: Record<string, unknown>): Promise<void>;
32
38
  listDraftsAsync(limit: number, offset: number): Promise<EmailRow[]>;
33
- sendDraftAsync(draftId: number): Promise<void>;
39
+ sendDraftAsync(draftId: string): Promise<void>;
34
40
  sendMailAsync(params: {
35
41
  subject: string;
36
42
  body: string;
@@ -39,14 +45,14 @@ export interface IMailSendRepository {
39
45
  cc?: string[];
40
46
  bcc?: string[];
41
47
  }): Promise<void>;
42
- replyMessageAsync(messageId: number, comment: string, replyAll: boolean): Promise<void>;
43
- forwardMessageAsync(messageId: number, toRecipients: string[], comment?: string): Promise<void>;
44
- replyAsDraftAsync(messageId: number, replyAll?: boolean, comment?: string, bodyType?: string): Promise<CreateDraftResult>;
45
- forwardAsDraftAsync(messageId: number, toRecipients?: string[], comment?: string, bodyType?: string): Promise<CreateDraftResult>;
48
+ replyMessageAsync(messageId: string, comment: string, replyAll: boolean): Promise<void>;
49
+ forwardMessageAsync(messageId: string, toRecipients: string[], comment?: string): Promise<void>;
50
+ replyAsDraftAsync(messageId: string, replyAll?: boolean, comment?: string, bodyType?: string): Promise<CreateDraftResult>;
51
+ forwardAsDraftAsync(messageId: string, toRecipients?: string[], comment?: string, bodyType?: string): Promise<CreateDraftResult>;
46
52
  /** Returns the Graph client for direct API operations (e.g., attachment uploads). */
47
53
  getGraphClient(): GraphClient;
48
- /** Returns the Graph string ID for a cached draft numeric ID. */
49
- getGraphIdForDraft(draftId: number): string | undefined;
54
+ /** Resolves a draft id (durable `em_` token or raw Graph id) to its Graph id. */
55
+ getGraphIdForDraft(draftId: string): string;
50
56
  }
51
57
  export declare const CreateDraftInput: z.ZodObject<{
52
58
  to: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -71,7 +77,7 @@ export declare const CreateDraftInput: z.ZodObject<{
71
77
  include_signature: z.ZodDefault<z.ZodBoolean>;
72
78
  }, z.core.$strict>;
73
79
  export declare const UpdateDraftInput: z.ZodObject<{
74
- draft_id: z.ZodNumber;
80
+ draft_id: z.ZodString;
75
81
  to: z.ZodOptional<z.ZodArray<z.ZodString>>;
76
82
  cc: z.ZodOptional<z.ZodArray<z.ZodString>>;
77
83
  bcc: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -84,13 +90,13 @@ export declare const UpdateDraftInput: z.ZodObject<{
84
90
  }>>;
85
91
  }, z.core.$strict>;
86
92
  export declare const AddDraftAttachmentInput: z.ZodObject<{
87
- draft_id: z.ZodNumber;
93
+ draft_id: z.ZodString;
88
94
  file_path: z.ZodString;
89
95
  name: z.ZodOptional<z.ZodString>;
90
96
  content_type: z.ZodOptional<z.ZodString>;
91
97
  }, z.core.$strict>;
92
98
  export declare const AddDraftInlineImageInput: z.ZodObject<{
93
- draft_id: z.ZodNumber;
99
+ draft_id: z.ZodString;
94
100
  file_path: z.ZodString;
95
101
  content_id: z.ZodString;
96
102
  }, z.core.$strict>;
@@ -99,11 +105,11 @@ export declare const ListDraftsInput: z.ZodObject<{
99
105
  offset: z.ZodDefault<z.ZodNumber>;
100
106
  }, z.core.$strict>;
101
107
  export declare const PrepareSendDraftInput: z.ZodObject<{
102
- draft_id: z.ZodNumber;
108
+ draft_id: z.ZodString;
103
109
  }, z.core.$strict>;
104
110
  export declare const ConfirmSendDraftInput: z.ZodObject<{
105
111
  token_id: z.ZodUUID;
106
- draft_id: z.ZodNumber;
112
+ draft_id: z.ZodString;
107
113
  }, z.core.$strict>;
108
114
  export declare const PrepareSendEmailInput: z.ZodObject<{
109
115
  to: z.ZodArray<z.ZodString>;
@@ -127,25 +133,25 @@ export declare const ConfirmSendEmailInput: z.ZodObject<{
127
133
  token_id: z.ZodUUID;
128
134
  }, z.core.$strict>;
129
135
  export declare const PrepareReplyEmailInput: z.ZodObject<{
130
- message_id: z.ZodNumber;
136
+ message_id: z.ZodString;
131
137
  comment: z.ZodString;
132
138
  reply_all: z.ZodDefault<z.ZodBoolean>;
133
139
  }, z.core.$strict>;
134
140
  export declare const ConfirmReplyEmailInput: z.ZodObject<{
135
141
  token_id: z.ZodUUID;
136
- message_id: z.ZodNumber;
142
+ message_id: z.ZodString;
137
143
  }, z.core.$strict>;
138
144
  export declare const PrepareForwardEmailInput: z.ZodObject<{
139
- message_id: z.ZodNumber;
145
+ message_id: z.ZodString;
140
146
  to_recipients: z.ZodArray<z.ZodString>;
141
147
  comment: z.ZodOptional<z.ZodString>;
142
148
  }, z.core.$strict>;
143
149
  export declare const ConfirmForwardEmailInput: z.ZodObject<{
144
150
  token_id: z.ZodUUID;
145
- message_id: z.ZodNumber;
151
+ message_id: z.ZodString;
146
152
  }, z.core.$strict>;
147
153
  export declare const ReplyAsDraftInput: z.ZodObject<{
148
- message_id: z.ZodNumber;
154
+ message_id: z.ZodString;
149
155
  comment: z.ZodOptional<z.ZodString>;
150
156
  reply_all: z.ZodDefault<z.ZodBoolean>;
151
157
  body_type: z.ZodDefault<z.ZodEnum<{
@@ -155,7 +161,7 @@ export declare const ReplyAsDraftInput: z.ZodObject<{
155
161
  include_signature: z.ZodDefault<z.ZodBoolean>;
156
162
  }, z.core.$strict>;
157
163
  export declare const ForwardAsDraftInput: z.ZodObject<{
158
- message_id: z.ZodNumber;
164
+ message_id: z.ZodString;
159
165
  to_recipients: z.ZodOptional<z.ZodArray<z.ZodString>>;
160
166
  comment: z.ZodOptional<z.ZodString>;
161
167
  body_type: z.ZodDefault<z.ZodEnum<{
@@ -186,13 +192,13 @@ export type ConfirmForwardEmailParams = z.infer<typeof ConfirmForwardEmailInput>
186
192
  export type ReplyAsDraftParams = z.infer<typeof ReplyAsDraftInput>;
187
193
  export type ForwardAsDraftParams = z.infer<typeof ForwardAsDraftInput>;
188
194
  declare function draftPreview(row: EmailRow): {
189
- id: number;
195
+ id: string;
190
196
  subject: string | null;
191
197
  to: string | null;
192
198
  cc: string | null;
193
199
  };
194
200
  declare function messagePreview(row: EmailRow): {
195
- id: number;
201
+ id: string;
196
202
  subject: string | null;
197
203
  sender: string | null;
198
204
  senderAddress: string | null;
@@ -209,7 +215,7 @@ export declare class MailSendTools {
209
215
  constructor(repository: IMailSendRepository, tokenManager: ApprovalTokenManager);
210
216
  createDraft(params: CreateDraftParams): Promise<{
211
217
  success: boolean;
212
- draft_id: number;
218
+ draft_id: string;
213
219
  }>;
214
220
  updateDraft(params: UpdateDraftParams): Promise<{
215
221
  success: boolean;
@@ -271,12 +277,12 @@ export declare class MailSendTools {
271
277
  }>;
272
278
  replyAsDraft(params: z.infer<typeof ReplyAsDraftInput>): Promise<{
273
279
  success: boolean;
274
- draft_id: number;
280
+ draft_id: string;
275
281
  message: string;
276
282
  }>;
277
283
  forwardAsDraft(params: z.infer<typeof ForwardAsDraftInput>): Promise<{
278
284
  success: boolean;
279
- draft_id: number;
285
+ draft_id: string;
280
286
  message: string;
281
287
  }>;
282
288
  setSignature(params: z.infer<typeof SetSignatureInput>): {
@@ -310,5 +316,11 @@ export declare class MailSendTools {
310
316
  * Creates mail send tools with the given repository and token manager.
311
317
  */
312
318
  export declare function createMailSendTools(repository: IMailSendRepository, tokenManager: ApprovalTokenManager): MailSendTools;
319
+ /**
320
+ * Registry tool definitions for the mail-send domain (Graph API only). The
321
+ * MailSendTools methods return raw objects, wrapped here to match the
322
+ * pre-registry dispatch behavior exactly.
323
+ */
324
+ export declare function mailSendToolDefinitions(): ToolDefinition[];
313
325
  export {};
314
326
  //# sourceMappingURL=mail-send.d.ts.map