@rubytech/create-maxy-code 0.1.138 → 0.1.142

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 (108) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/config/brand.json +1 -1
  3. package/payload/platform/lib/obsidian-parser/dist/index.d.ts +98 -0
  4. package/payload/platform/lib/obsidian-parser/dist/index.d.ts.map +1 -0
  5. package/payload/platform/lib/obsidian-parser/dist/index.js +480 -0
  6. package/payload/platform/lib/obsidian-parser/dist/index.js.map +1 -0
  7. package/payload/platform/lib/obsidian-parser/src/index.ts +572 -0
  8. package/payload/platform/lib/obsidian-parser/tsconfig.json +8 -0
  9. package/payload/platform/neo4j/schema.cypher +48 -67
  10. package/payload/platform/package.json +2 -2
  11. package/payload/platform/plugins/.claude-plugin/marketplace.json +15 -0
  12. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-erase.d.ts.map +1 -1
  13. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-erase.js +14 -8
  14. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-erase.js.map +1 -1
  15. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-export.d.ts +1 -1
  16. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-export.d.ts.map +1 -1
  17. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-export.js +10 -7
  18. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-export.js.map +1 -1
  19. package/payload/platform/plugins/docs/references/internals.md +1 -1
  20. package/payload/platform/plugins/docs/references/neo4j.md +3 -3
  21. package/payload/platform/plugins/docs/references/plugins-guide.md +3 -0
  22. package/payload/platform/plugins/email/.claude-plugin/plugin.json +1 -1
  23. package/payload/platform/plugins/email/PLUGIN.md +3 -7
  24. package/payload/platform/plugins/email/mcp/dist/index.js +7 -46
  25. package/payload/platform/plugins/email/mcp/dist/index.js.map +1 -1
  26. package/payload/platform/plugins/email/mcp/dist/lib/credentials.d.ts.map +1 -1
  27. package/payload/platform/plugins/email/mcp/dist/lib/credentials.js +4 -15
  28. package/payload/platform/plugins/email/mcp/dist/lib/credentials.js.map +1 -1
  29. package/payload/platform/plugins/email/mcp/dist/lib/graph.d.ts +51 -43
  30. package/payload/platform/plugins/email/mcp/dist/lib/graph.d.ts.map +1 -1
  31. package/payload/platform/plugins/email/mcp/dist/lib/graph.js +223 -229
  32. package/payload/platform/plugins/email/mcp/dist/lib/graph.js.map +1 -1
  33. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js +7 -4
  34. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js.map +1 -1
  35. package/payload/platform/plugins/email/mcp/dist/tools/email-graph-query.d.ts +14 -4
  36. package/payload/platform/plugins/email/mcp/dist/tools/email-graph-query.d.ts.map +1 -1
  37. package/payload/platform/plugins/email/mcp/dist/tools/email-graph-query.js +69 -84
  38. package/payload/platform/plugins/email/mcp/dist/tools/email-graph-query.js.map +1 -1
  39. package/payload/platform/plugins/email/mcp/dist/tools/email-reply.d.ts.map +1 -1
  40. package/payload/platform/plugins/email/mcp/dist/tools/email-reply.js +49 -64
  41. package/payload/platform/plugins/email/mcp/dist/tools/email-reply.js.map +1 -1
  42. package/payload/platform/plugins/email/mcp/dist/tools/email-setup.d.ts.map +1 -1
  43. package/payload/platform/plugins/email/mcp/dist/tools/email-setup.js +1 -2
  44. package/payload/platform/plugins/email/mcp/dist/tools/email-setup.js.map +1 -1
  45. package/payload/platform/plugins/memory/PLUGIN.md +3 -0
  46. package/payload/platform/plugins/memory/mcp/dist/index.js +89 -2
  47. package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
  48. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/index.d.ts +1 -0
  49. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/index.d.ts.map +1 -1
  50. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/index.js +3 -0
  51. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/index.js.map +1 -1
  52. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/types.d.ts +1 -1
  53. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/types.d.ts.map +1 -1
  54. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/types.js +1 -0
  55. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/types.js.map +1 -1
  56. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/x-dm.d.ts +3 -0
  57. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/x-dm.d.ts.map +1 -0
  58. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/x-dm.js +101 -0
  59. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/x-dm.js.map +1 -0
  60. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-schema.d.ts.map +1 -1
  61. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-schema.js +7 -4
  62. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-schema.js.map +1 -1
  63. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.d.ts +122 -1
  64. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.d.ts.map +1 -1
  65. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.js +580 -0
  66. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.js.map +1 -1
  67. package/payload/platform/plugins/memory/mcp/dist/tools/obsidian-vault-import.d.ts +127 -0
  68. package/payload/platform/plugins/memory/mcp/dist/tools/obsidian-vault-import.d.ts.map +1 -0
  69. package/payload/platform/plugins/memory/mcp/dist/tools/obsidian-vault-import.js +477 -0
  70. package/payload/platform/plugins/memory/mcp/dist/tools/obsidian-vault-import.js.map +1 -0
  71. package/payload/platform/plugins/memory/references/schema-base.md +4 -4
  72. package/payload/platform/plugins/memory/skills/conversation-archive/SKILL.md +2 -1
  73. package/payload/platform/plugins/memory/skills/document-ingest/SKILL.md +1 -0
  74. package/payload/platform/plugins/notion-import/.claude-plugin/plugin.json +8 -0
  75. package/payload/platform/plugins/notion-import/PLUGIN.md +27 -0
  76. package/payload/platform/plugins/notion-import/skills/notion-import/SKILL.md +114 -0
  77. package/payload/platform/plugins/notion-import/skills/notion-import/references/attachments.md +55 -0
  78. package/payload/platform/plugins/notion-import/skills/notion-import/references/databases.md +83 -0
  79. package/payload/platform/plugins/notion-import/skills/notion-import/references/page-tree.md +61 -0
  80. package/payload/platform/plugins/notion-import/skills/notion-import/references/workspace-export.md +41 -0
  81. package/payload/platform/plugins/obsidian-import/.claude-plugin/plugin.json +8 -0
  82. package/payload/platform/plugins/obsidian-import/PLUGIN.md +39 -0
  83. package/payload/platform/plugins/obsidian-import/skills/obsidian-import/SKILL.md +92 -0
  84. package/payload/platform/plugins/obsidian-import/skills/obsidian-import/references/attachments.md +80 -0
  85. package/payload/platform/plugins/obsidian-import/skills/obsidian-import/references/daily-notes.md +31 -0
  86. package/payload/platform/plugins/obsidian-import/skills/obsidian-import/references/vault-structure.md +46 -0
  87. package/payload/platform/plugins/obsidian-import/skills/obsidian-import/references/wikilinks.md +70 -0
  88. package/payload/platform/plugins/scheduling/PLUGIN.md +18 -0
  89. package/payload/platform/plugins/scheduling/mcp/dist/index.js +93 -0
  90. package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
  91. package/payload/platform/plugins/scheduling/mcp/dist/lib/ics-graph-ingest.d.ts +80 -0
  92. package/payload/platform/plugins/scheduling/mcp/dist/lib/ics-graph-ingest.d.ts.map +1 -0
  93. package/payload/platform/plugins/scheduling/mcp/dist/lib/ics-graph-ingest.js +395 -0
  94. package/payload/platform/plugins/scheduling/mcp/dist/lib/ics-graph-ingest.js.map +1 -0
  95. package/payload/platform/plugins/scheduling/mcp/dist/lib/ics.d.ts +16 -0
  96. package/payload/platform/plugins/scheduling/mcp/dist/lib/ics.d.ts.map +1 -1
  97. package/payload/platform/plugins/scheduling/mcp/dist/lib/ics.js +111 -2
  98. package/payload/platform/plugins/scheduling/mcp/dist/lib/ics.js.map +1 -1
  99. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-archive-ics.d.ts +20 -0
  100. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-archive-ics.d.ts.map +1 -0
  101. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-archive-ics.js +63 -0
  102. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-archive-ics.js.map +1 -0
  103. package/payload/platform/plugins/x-import/.claude-plugin/plugin.json +8 -0
  104. package/payload/platform/plugins/x-import/PLUGIN.md +33 -0
  105. package/payload/platform/plugins/x-import/references/archive-shape.md +124 -0
  106. package/payload/platform/plugins/x-import/references/transcript-shape.md +121 -0
  107. package/payload/platform/plugins/x-import/skills/x-import/SKILL.md +123 -0
  108. package/payload/platform/templates/specialists/agents/database-operator.md +18 -2
@@ -1 +1 @@
1
- {"version":3,"file":"email-fetch.js","sourceRoot":"","sources":["../../src/scripts/email-fetch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzG,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAkB,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAwB,MAAM,qBAAqB,CAAC;AAExE,8EAA8E;AAC9E,0FAA0F;AAC1F,+FAA+F;AAC/F,8EAA8E;AAE9E,SAAS,gBAAgB;IACvB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IAC/C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAChE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,oCAAoC,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,iBAAiB,SAAS,iCAAiC,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,KAAK,CAAC,SAAS,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,iBAAiB,SAAS,uBAAuB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAE1D,8EAA8E;AAC9E,4CAA4C;AAC5C,8EAA8E;AAE9E,MAAM,QAAQ,GAAG,UAAU,CAAC;AAC5B,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;AAExD,SAAS,WAAW;IAClB,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzC,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YACnC,OAAO,KAAK,CAAC,CAAC,gCAAgC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa;QACtC,CAAC;IACH,CAAC;IAED,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1D,IAAI,SAAS,KAAK,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtC,UAAU,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;AAErD,SAAS,GAAG,CAAC,KAAa,EAAE,GAAW;IACrC,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,EAAE,MAAM,KAAK,KAAK,GAAG,EAAE,CAAC;IACzC,OAAO,CAAC,KAAK,CAAC,iBAAiB,KAAK,KAAK,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC;IACxD,IAAI,CAAC;QACH,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,cAAc,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,2BAA2B;IAC7B,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACzC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,GAAG,CAAC,OAAO,EAAE,6CAA6C,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACnB,GAAG,CAAC,MAAM,EAAE,mCAAmC,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,mBAAmB;QACnB,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;YAC1B,GAAG,CAAC,MAAM,EAAE,+BAA+B,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC;QAEpD,kBAAkB;QAClB,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,EAAE,qCAAqC,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QAED,uDAAuD;QACvD,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;YACtE,MAAM,UAAU,GAAG,SAAS,CAAC,mBAAmB,GAAG,EAAE,GAAG,IAAI,CAAC;YAC7D,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;gBACzB,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,kCAAkC,SAAS,CAAC,mBAAmB,cAAc,CAAC,CAAC;gBACxH,OAAO;YACT,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,IAAI,QAAQ,GAAG,SAAS,CAAC,cAAc,CAAC;QACxC,GAAG,CAAC,MAAM,EAAE,sBAAsB,QAAQ,QAAQ,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QACzE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACvD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,YAAY,CAChD,CAAC;QAEF,uEAAuE;QACvE,iEAAiE;QACjE,IAAI,SAAS,CAAC,WAAW,KAAK,IAAI,IAAI,SAAS,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;YAC5E,GAAG,CAAC,MAAM,EAAE,wBAAwB,SAAS,CAAC,WAAW,MAAM,WAAW,6BAA6B,CAAC,CAAC;YACzG,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACpD,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,YAAY,CACzC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAC7B,+DAA+D;YAC/D,MAAM,eAAe,CAAC,SAAS,EAAE,MAAM,IAAI,QAAQ,EAAE,WAAW,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAED,qEAAqE;QACrE,uEAAuE;QACvE,0EAA0E;QAC1E,MAAM,SAAS,GAAgB,EAAE,CAAC;QAClC,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,SAAS,GAAoB,MAAM,WAAW,CAAC;gBACnD,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,WAAW,EAAE,CAAC,CAAC,WAAW;aAC3B,CAAC,CAAC;YAEH,qEAAqE;YACrE,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,WAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;YAElG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,WAAW,cAAc,SAAS,CAAC,OAAO,YAAY,SAAS,CAAC,MAAM,QAAQ,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC;YAE3I,IAAI,SAAS,CAAC,OAAO,KAAK,OAAO;gBAAE,UAAU,EAAE,CAAC;iBAC3C,IAAI,SAAS,CAAC,OAAO,KAAK,YAAY;gBAAE,eAAe,EAAE,CAAC;;gBAC1D,YAAY,EAAE,CAAC;YAEpB,SAAS,CAAC,IAAI,CAAC;gBACb,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,WAAW;gBACX,OAAO,EAAE,OAAO;gBAChB,gBAAgB,EAAE,MAAM,CAAC,YAAY;gBACrC,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,UAAU,EAAE,CAAC,CAAC,IAAI;gBAClB,SAAS;gBACT,SAAS,EAAE,cAAc;gBACzB,eAAe,EAAE,SAAS,CAAC,MAAM;gBACjC,mBAAmB,EAAE,SAAS,CAAC,mBAAmB,IAAI,SAAS;aAChE,CAAC,CAAC;QACL,CAAC;QAED,GAAG,CAAC,MAAM,EAAE,2BAA2B,UAAU,WAAW,eAAe,gBAAgB,YAAY,YAAY,CAAC,CAAC;QAErH,iBAAiB;QACjB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC;QAC1D,GAAG,CAAC,MAAM,EAAE,UAAU,OAAO,SAAS,OAAO,qBAAqB,CAAC,CAAC;QAEpE,yBAAyB;QACzB,MAAM,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACtD,GAAG,CAAC,MAAM,EAAE,kCAAkC,MAAM,iBAAiB,WAAW,EAAE,CAAC,CAAC;IACtF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,OAAO,EAAE,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC;YAAS,CAAC;QACT,MAAM,WAAW,EAAE,CAAC;QACpB,WAAW,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IAC/C,GAAG,CAAC,OAAO,EAAE,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpE,WAAW,EAAE,CAAC;IACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"email-fetch.js","sourceRoot":"","sources":["../../src/scripts/email-fetch.ts"],"names":[],"mappings":"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"}
@@ -4,18 +4,28 @@ interface GraphQueryParams {
4
4
  sender?: string;
5
5
  dateFrom?: string;
6
6
  dateTo?: string;
7
+ /**
8
+ * direction filter:
9
+ * - "inbound" → threads whose first message was received
10
+ * - "outbound" → KDs created by send/reply (sender was the operator)
11
+ * Implementation note: outbound vs inbound is decided by whether the KD
12
+ * has a `direction:'outbound'` property. Mixed threads (operator both
13
+ * sent and received messages) appear under whichever direction matches
14
+ * their first message.
15
+ */
7
16
  direction?: "inbound" | "outbound";
8
17
  offset?: number;
9
18
  limit?: number;
10
19
  }
11
20
  /**
12
- * Query Email nodes stored in the graph.
21
+ * Query email-source :KnowledgeDocument threads stored in the graph.
13
22
  *
14
23
  * Two modes:
15
- * - List (no query): Cypher MATCH with optional filters, sorted by receivedAt DESC
16
- * - Search (query provided): embed via Ollama, vector similarity on email_embedding index
24
+ * - List (no query): Cypher MATCH with optional filters, sorted by lastReceivedAt DESC
25
+ * - Search (query provided): embed via Ollama, vector similarity on KD embedding index
17
26
  *
18
- * Always scoped to accountId. Thread info enriched when available.
27
+ * Always scoped to accountId. The display surface is per-thread, not
28
+ * per-message — the KD body holds the verbatim chronological transcript.
19
29
  */
20
30
  export declare function emailGraphQuery(params: GraphQueryParams): Promise<string>;
21
31
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"email-graph-query.d.ts","sourceRoot":"","sources":["../../src/tools/email-graph-query.ts"],"names":[],"mappings":"AAKA,UAAU,gBAAgB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAgBD;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CA0D/E"}
1
+ {"version":3,"file":"email-graph-query.d.ts","sourceRoot":"","sources":["../../src/tools/email-graph-query.ts"],"names":[],"mappings":"AAIA,UAAU,gBAAgB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAgBD;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsC/E"}
@@ -1,141 +1,126 @@
1
1
  import neo4j from "neo4j-driver";
2
2
  import { getSession } from "../lib/neo4j.js";
3
3
  import { computeEmbedding } from "../lib/embedding.js";
4
- import { getThreadInfo, stripAngleBrackets } from "../lib/graph.js";
5
4
  /**
6
- * Query Email nodes stored in the graph.
5
+ * Query email-source :KnowledgeDocument threads stored in the graph.
7
6
  *
8
7
  * Two modes:
9
- * - List (no query): Cypher MATCH with optional filters, sorted by receivedAt DESC
10
- * - Search (query provided): embed via Ollama, vector similarity on email_embedding index
8
+ * - List (no query): Cypher MATCH with optional filters, sorted by lastReceivedAt DESC
9
+ * - Search (query provided): embed via Ollama, vector similarity on KD embedding index
11
10
  *
12
- * Always scoped to accountId. Thread info enriched when available.
11
+ * Always scoped to accountId. The display surface is per-thread, not
12
+ * per-message — the KD body holds the verbatim chronological transcript.
13
13
  */
14
14
  export async function emailGraphQuery(params) {
15
15
  const limit = Math.min(Math.max(1, params.limit ?? 20), 50);
16
16
  const offset = Math.max(0, params.offset ?? 0);
17
17
  const query = params.query?.trim();
18
- let emails;
19
- if (query && query.length > 0) {
20
- emails = await searchMode(query, params, limit);
21
- }
22
- else {
23
- emails = await listMode(params, limit, offset);
24
- }
25
- if (emails.length === 0) {
18
+ const threads = query && query.length > 0
19
+ ? await searchMode(query, params, limit)
20
+ : await listMode(params, limit, offset);
21
+ if (threads.length === 0) {
26
22
  return formatEmptyResult(params, query);
27
23
  }
28
- // Enrich with thread info (best-effort)
29
- const messageIds = emails
30
- .map((e) => e.messageId)
31
- .filter((id) => !!id);
32
- let threadMap = new Map();
33
- try {
34
- threadMap = await getThreadInfo(messageIds, params.accountId);
35
- }
36
- catch {
37
- // Thread enrichment is optional — continue without it
38
- }
39
- const lines = emails
40
- .map((e) => {
41
- let entry = `From: ${e.fromName ? `${e.fromName} <${e.fromAddress}>` : e.fromAddress}`;
42
- entry += `\nSubject: ${e.subject}`;
43
- entry += `\nDate: ${e.receivedAt}`;
44
- if (e.direction === "outbound")
24
+ const lines = threads
25
+ .map((t) => {
26
+ const sender = t.rootFromName
27
+ ? `${t.rootFromName} <${t.rootFromAddress ?? ""}>`
28
+ : (t.rootFromAddress ?? "(unknown)");
29
+ let entry = `Thread: ${t.attachmentId.slice(0, 16)}…`;
30
+ entry += `\nSubject: ${t.subject}`;
31
+ entry += `\nFirst sender: ${sender}`;
32
+ entry += `\nMessages: ${t.messageIds.length}`;
33
+ entry += `\nFirst: ${t.firstReceivedAt}`;
34
+ entry += `\nLast: ${t.lastReceivedAt}`;
35
+ if (t.direction === "outbound")
45
36
  entry += `\nDirection: outbound`;
46
- if (e.messageId)
47
- entry += `\nMessage-ID: ${e.messageId}`;
48
- if (e.inReplyTo)
49
- entry += `\nIn-Reply-To: ${e.inReplyTo}`;
50
- if (e.score !== undefined)
51
- entry += `\nScore: ${e.score.toFixed(3)}`;
52
- const normalisedMid = stripAngleBrackets(e.messageId);
53
- if (normalisedMid) {
54
- const thread = threadMap.get(normalisedMid);
55
- if (thread) {
56
- entry += `\nThread-Depth: ${thread.threadDepth}`;
57
- entry += `\nThread-ID: ${thread.threadId}`;
58
- }
59
- }
60
- if (e.bodyPreview)
61
- entry += `\n\n${e.bodyPreview}`;
37
+ if (t.score !== undefined)
38
+ entry += `\nScore: ${t.score.toFixed(3)}`;
39
+ // Truncate body to a preview so list responses stay readable.
40
+ const preview = t.body.length > 800 ? `${t.body.slice(0, 800)}\n…(truncated)` : t.body;
41
+ entry += `\n\n${preview}`;
62
42
  return entry + "\n---";
63
43
  })
64
44
  .join("\n\n");
65
- // Pagination hint for list mode only (search mode is ranked by similarity, not paginated)
66
- if (!query && emails.length === limit) {
45
+ if (!query && threads.length === limit) {
67
46
  return `${lines}\n\nPagination: next offset=${offset + limit} (pass as offset to get more results)`;
68
47
  }
69
48
  return lines;
70
49
  }
71
50
  // ---------------------------------------------------------------------------
72
- // List mode — Cypher query with optional filters
51
+ // List mode — Cypher MATCH with optional filters
73
52
  // ---------------------------------------------------------------------------
74
53
  async function listMode(params, limit, offset) {
75
- // Exclude discarded emails (spam) from list results. Legacy emails without
76
- // a screening property (IS NULL) are included — only explicitly discarded
77
- // emails are hidden. Admin can still find them via direct Cypher.
54
+ // Exclude discarded threads (spam) from list results. Threads without a
55
+ // screening property are included.
78
56
  const conditions = [
79
- "e.accountId = $accountId",
80
- "(e.screening <> 'discarded' OR e.screening IS NULL)",
57
+ "kd.source = 'email'",
58
+ "kd.accountId = $accountId",
59
+ "(kd.screening <> 'discarded' OR kd.screening IS NULL)",
81
60
  ];
82
61
  const cyParams = {
83
62
  accountId: params.accountId,
84
63
  limit: neo4j.int(limit),
85
64
  offset: neo4j.int(offset),
86
65
  };
87
- if (params.sender) {
88
- conditions.push("toLower(e.fromAddress) CONTAINS toLower($sender)");
89
- cyParams.sender = params.sender;
90
- }
91
66
  if (params.dateFrom) {
92
- conditions.push("e.receivedAt >= $dateFrom");
67
+ conditions.push("kd.lastReceivedAt >= $dateFrom");
93
68
  cyParams.dateFrom = params.dateFrom;
94
69
  }
95
70
  if (params.dateTo) {
96
- conditions.push("e.receivedAt <= $dateTo");
71
+ conditions.push("kd.firstReceivedAt <= $dateTo");
97
72
  cyParams.dateTo = params.dateTo;
98
73
  }
99
74
  if (params.direction === "outbound") {
100
- conditions.push("e.direction = 'outbound'");
75
+ conditions.push("kd.direction = 'outbound'");
101
76
  }
102
77
  else if (params.direction === "inbound") {
103
- conditions.push("e.direction IS NULL");
78
+ conditions.push("kd.direction IS NULL");
79
+ }
80
+ const senderClause = params.sender
81
+ ? `, (kd)-[:FROM]->(sender:Person)
82
+ WHERE toLower(sender.email) CONTAINS toLower($sender)`
83
+ : `OPTIONAL MATCH (kd)-[:FROM]->(sender:Person)`;
84
+ if (params.sender) {
85
+ cyParams.sender = params.sender;
104
86
  }
105
87
  const cypher = `
106
- MATCH (e:Email)
88
+ MATCH (kd:KnowledgeDocument)
89
+ ${senderClause}
107
90
  WHERE ${conditions.join(" AND ")}
108
- RETURN e
109
- ORDER BY e.receivedAt DESC
91
+ WITH kd, head(collect(sender)) AS rootSender
92
+ RETURN kd, rootSender
93
+ ORDER BY kd.lastReceivedAt DESC
110
94
  SKIP $offset
111
95
  LIMIT $limit
112
96
  `;
113
97
  const session = getSession();
114
98
  try {
115
99
  const result = await session.run(cypher, cyParams);
116
- return result.records.map((r) => nodeToRecord(r.get("e")));
100
+ return result.records.map((r) => nodeToRecord(r.get("kd"), r.get("rootSender")));
117
101
  }
118
102
  finally {
119
103
  await session.close();
120
104
  }
121
105
  }
122
106
  // ---------------------------------------------------------------------------
123
- // Search mode — vector similarity on email_embedding index
107
+ // Search mode — vector similarity on KD embedding index
124
108
  // ---------------------------------------------------------------------------
125
109
  async function searchMode(query, params, limit) {
126
110
  const embedding = await computeEmbedding(query);
127
111
  if (embedding.length === 0) {
128
112
  throw new Error("Semantic search unavailable — the embedding service is not responding. " +
129
- "Try again without a query to list emails instead.");
113
+ "Try again without a query to list email threads instead.");
130
114
  }
131
- // Over-fetch to account for accountId filtering, then trim
132
115
  const topK = Math.min(limit * 3, 150);
133
116
  const session = getSession();
134
117
  try {
135
- const result = await session.run(`CALL db.index.vector.queryNodes('email_embedding', $topK, $embedding)
118
+ const result = await session.run(`CALL db.index.vector.queryNodes('knowledge_document_embedding', $topK, $embedding)
136
119
  YIELD node, score
137
- WHERE node.accountId = $accountId
138
- RETURN node, score
120
+ WHERE node.source = 'email' AND node.accountId = $accountId
121
+ OPTIONAL MATCH (node)-[:FROM]->(sender:Person)
122
+ WITH node, score, head(collect(sender)) AS rootSender
123
+ RETURN node, score, rootSender
139
124
  ORDER BY score DESC
140
125
  LIMIT $limit`, {
141
126
  topK: neo4j.int(topK),
@@ -144,7 +129,7 @@ async function searchMode(query, params, limit) {
144
129
  limit: neo4j.int(limit),
145
130
  });
146
131
  return result.records.map((r) => {
147
- const record = nodeToRecord(r.get("node"));
132
+ const record = nodeToRecord(r.get("node"), r.get("rootSender"));
148
133
  record.score = r.get("score");
149
134
  return record;
150
135
  });
@@ -156,19 +141,19 @@ async function searchMode(query, params, limit) {
156
141
  // ---------------------------------------------------------------------------
157
142
  // Helpers
158
143
  // ---------------------------------------------------------------------------
159
- function nodeToRecord(node) {
144
+ function nodeToRecord(node, rootSender) {
160
145
  const p = node.properties;
146
+ const sp = rootSender?.properties ?? null;
161
147
  return {
162
- emailId: p.emailId,
163
- messageId: p.messageId ?? null,
164
- inReplyTo: p.inReplyTo ?? null,
165
- fromAddress: p.fromAddress,
166
- fromName: p.fromName ?? null,
167
- toAddresses: p.toAddresses ?? [],
168
- subject: p.subject,
169
- bodyPreview: p.bodyPreview ?? "",
170
- receivedAt: p.receivedAt,
148
+ attachmentId: p.attachmentId,
149
+ subject: p.subject ?? "(no subject)",
150
+ body: p.body ?? "",
151
+ messageIds: p.messageIds ?? [],
152
+ firstReceivedAt: p.firstReceivedAt ?? "",
153
+ lastReceivedAt: p.lastReceivedAt ?? "",
171
154
  direction: p.direction ?? null,
155
+ rootFromAddress: sp ? (sp.email ?? null) : null,
156
+ rootFromName: sp ? (sp.displayName ?? null) : null,
172
157
  };
173
158
  }
174
159
  function formatEmptyResult(params, query) {
@@ -183,6 +168,6 @@ function formatEmptyResult(params, query) {
183
168
  filters.push(`to: ${params.dateTo}`);
184
169
  if (params.direction)
185
170
  filters.push(`direction: ${params.direction}`);
186
- return `No emails found in the graph${filters.length > 0 ? ` matching ${filters.join(", ")}` : ""}.`;
171
+ return `No email threads found in the graph${filters.length > 0 ? ` matching ${filters.join(", ")}` : ""}.`;
187
172
  }
188
173
  //# sourceMappingURL=email-graph-query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-graph-query.js","sourceRoot":"","sources":["../../src/tools/email-graph-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email-graph-query.js","sourceRoot":"","sources":["../../src/tools/email-graph-query.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"email-reply.d.ts","sourceRoot":"","sources":["../../src/tools/email-reply.ts"],"names":[],"mappings":"AAIA,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAUD,wBAAsB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAsFrE"}
1
+ {"version":3,"file":"email-reply.d.ts","sourceRoot":"","sources":["../../src/tools/email-reply.ts"],"names":[],"mappings":"AAIA,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAUD,wBAAsB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAiErE"}
@@ -1,6 +1,6 @@
1
1
  import { loadCredentials } from "../lib/credentials.js";
2
2
  import { sendEmail } from "../lib/smtp.js";
3
- import { getSession } from "../lib/neo4j.js";
3
+ import { getMessageEnvelope } from "../lib/graph.js";
4
4
  /**
5
5
  * Strip duplicate Re:/RE:/re: prefixes and prepend a single Re:.
6
6
  */
@@ -13,71 +13,56 @@ export async function emailReply(params) {
13
13
  if ("error" in result)
14
14
  throw new Error(result.error);
15
15
  const { config, password } = result.credentials;
16
- // Look up the original email in the graph by messageId
17
- const session = getSession();
16
+ // Look up the original message inside its thread KD by messageId.
17
+ const envelope = await getMessageEnvelope(params.messageId, params.accountId);
18
+ if (!envelope) {
19
+ throw new Error(`No email found with Message-ID ${params.messageId}. The thread may not have been fetched yet — emails are ingested by the background polling job.`);
20
+ }
21
+ const originalMessageId = envelope.messageId;
22
+ const originalFrom = envelope.fromAddress;
23
+ const originalTo = envelope.toAddresses;
24
+ const originalCc = envelope.ccAddresses;
25
+ const originalSubject = envelope.subject || "(no subject)";
26
+ // Guard: don't reply to own messages
27
+ const agentAddr = config.agentAddress.toLowerCase();
28
+ if (originalFrom.toLowerCase() === agentAddr) {
29
+ throw new Error("Cannot reply to a message sent from the agent's own address.");
30
+ }
31
+ // Build recipient list
32
+ let to;
33
+ if (params.replyAll) {
34
+ // Union of original sender + TO + CC, minus the agent's own address (case-insensitive)
35
+ const all = [originalFrom, ...originalTo, ...originalCc];
36
+ const filtered = [...new Set(all)].filter((a) => a.toLowerCase() !== agentAddr);
37
+ to = filtered.join(", ");
38
+ }
39
+ else {
40
+ to = originalFrom;
41
+ }
42
+ if (!to) {
43
+ throw new Error("Cannot reply — no valid recipients after filtering the agent's own address.");
44
+ }
45
+ // Send the reply with threading headers
46
+ let sentMessageId;
18
47
  try {
19
- const queryResult = await session.run(`MATCH (e:Email {messageId: $messageId, accountId: $accountId})
20
- RETURN e.messageId AS messageId,
21
- e.fromAddress AS fromAddress,
22
- e.toAddresses AS toAddresses,
23
- e.ccAddresses AS ccAddresses,
24
- e.subject AS subject`, { messageId: params.messageId, accountId: params.accountId });
25
- if (queryResult.records.length === 0) {
26
- throw new Error(`No email found with Message-ID ${params.messageId}. The email may not have been fetched yet — emails are stored by the background polling job.`);
27
- }
28
- const record = queryResult.records[0];
29
- const originalMessageId = record.get("messageId");
30
- const originalFrom = record.get("fromAddress");
31
- const originalTo = record.get("toAddresses") ?? [];
32
- const originalCc = record.get("ccAddresses") ?? [];
33
- const originalSubject = record.get("subject") ?? "(no subject)";
34
- if (!originalMessageId) {
35
- throw new Error("Cannot reply — the original email has no Message-ID header. This can happen with malformed messages from some servers.");
36
- }
37
- // Guard: don't reply to own messages
38
- const agentAddr = config.agentAddress.toLowerCase();
39
- if (originalFrom.toLowerCase() === agentAddr) {
40
- throw new Error("Cannot reply to a message sent from the agent's own address.");
41
- }
42
- // Build recipient list
43
- let to;
44
- if (params.replyAll) {
45
- // Union of original sender + TO + CC, minus the agent's own address (case-insensitive)
46
- const all = [originalFrom, ...originalTo, ...originalCc];
47
- const filtered = [...new Set(all)].filter((a) => a.toLowerCase() !== agentAddr);
48
- to = filtered.join(", ");
49
- }
50
- else {
51
- to = originalFrom;
52
- }
53
- if (!to) {
54
- throw new Error("Cannot reply — no valid recipients after filtering the agent's own address.");
55
- }
56
- // Send the reply with threading headers
57
- let sentMessageId;
58
- try {
59
- ({ messageId: sentMessageId } = await sendEmail(config, password, {
60
- to,
61
- subject: replySubject(originalSubject),
62
- body: params.body,
63
- html: params.html,
64
- inReplyTo: originalMessageId,
65
- references: originalMessageId,
66
- }));
67
- }
68
- catch (smtpErr) {
69
- const smtpMsg = smtpErr instanceof Error ? smtpErr.message : String(smtpErr);
70
- // Add alias diagnostic only for SMTP failures
71
- if (config.agentAddress !== config.email) {
72
- throw new Error(`${smtpMsg} — Note: sending as ${config.agentAddress} (authenticated as ${config.email}). If your provider doesn't allow sending as this alias, check your catchall or alias settings.`);
73
- }
74
- throw smtpErr;
75
- }
76
- const replyType = params.replyAll ? "Reply-all" : "Reply";
77
- return `${replyType} sent to ${to} (Message-ID: ${sentMessageId})`;
48
+ ({ messageId: sentMessageId } = await sendEmail(config, password, {
49
+ to,
50
+ subject: replySubject(originalSubject),
51
+ body: params.body,
52
+ html: params.html,
53
+ inReplyTo: originalMessageId,
54
+ references: originalMessageId,
55
+ }));
78
56
  }
79
- finally {
80
- await session.close();
57
+ catch (smtpErr) {
58
+ const smtpMsg = smtpErr instanceof Error ? smtpErr.message : String(smtpErr);
59
+ // Add alias diagnostic only for SMTP failures
60
+ if (config.agentAddress !== config.email) {
61
+ throw new Error(`${smtpMsg} — Note: sending as ${config.agentAddress} (authenticated as ${config.email}). If your provider doesn't allow sending as this alias, check your catchall or alias settings.`);
62
+ }
63
+ throw smtpErr;
81
64
  }
65
+ const replyType = params.replyAll ? "Reply-all" : "Reply";
66
+ return `${replyType} sent to ${to} (Message-ID: ${sentMessageId})`;
82
67
  }
83
68
  //# sourceMappingURL=email-reply.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-reply.js","sourceRoot":"","sources":["../../src/tools/email-reply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAU7C;;GAEG;AACH,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3D,OAAO,OAAO,QAAQ,IAAI,cAAc,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAmB;IAClD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,OAAO,IAAI,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAErD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;IAEhD,uDAAuD;IACvD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC;;;;;mCAK6B,EAC7B,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAC7D,CAAC;QAEF,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CACb,kCAAkC,MAAM,CAAC,SAAS,8FAA8F,CACjJ,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,iBAAiB,GAAkB,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,YAAY,GAAW,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,UAAU,GAAa,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC7D,MAAM,UAAU,GAAa,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC7D,MAAM,eAAe,GAAW,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,cAAc,CAAC;QAExE,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,wHAAwH,CACzH,CAAC;QACJ,CAAC;QAED,qCAAqC;QACrC,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QACpD,IAAI,YAAY,CAAC,WAAW,EAAE,KAAK,SAAS,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QAED,uBAAuB;QACvB,IAAI,EAAU,CAAC;QACf,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,uFAAuF;YACvF,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,CAAC;YAChF,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,EAAE,GAAG,YAAY,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;QACjG,CAAC;QAED,wCAAwC;QACxC,IAAI,aAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE;gBAChE,EAAE;gBACF,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC;gBACtC,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,SAAS,EAAE,iBAAiB;gBAC5B,UAAU,EAAE,iBAAiB;aAC9B,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,OAAO,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7E,8CAA8C;YAC9C,IAAI,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CACb,GAAG,OAAO,uBAAuB,MAAM,CAAC,YAAY,sBAAsB,MAAM,CAAC,KAAK,iGAAiG,CACxL,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,CAAC;QAChB,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1D,OAAO,GAAG,SAAS,YAAY,EAAE,iBAAiB,aAAa,GAAG,CAAC;IACrE,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"email-reply.js","sourceRoot":"","sources":["../../src/tools/email-reply.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"email-setup.d.ts","sourceRoot":"","sources":["../../src/tools/email-setup.ts"],"names":[],"mappings":"AAsEA,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAC7D,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC,CA8HD"}
1
+ {"version":3,"file":"email-setup.d.ts","sourceRoot":"","sources":["../../src/tools/email-setup.ts"],"names":[],"mappings":"AAqEA,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAC7D,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC,CA8HD"}
@@ -6,7 +6,7 @@ import { inferProvider, getProviderNotes } from "../lib/providers.js";
6
6
  import * as imap from "../lib/imap.js";
7
7
  import * as smtp from "../lib/smtp.js";
8
8
  /**
9
- * Ensures email cron jobs (email-fetch, email-auto-respond) are registered.
9
+ * Ensures the email-fetch cron job is registered (auto-respond is retired).
10
10
  * Called after successful email setup so polling starts immediately —
11
11
  * no reinstall or service restart required.
12
12
  *
@@ -38,7 +38,6 @@ function ensureEmailCrons(accountId) {
38
38
  const logDir = resolve(homedir(), ".maxy/logs");
39
39
  const cronEntries = [
40
40
  `* * * * * mkdir -p ${logDir} && PLATFORM_ROOT=${platformRoot} ACCOUNT_ID=${accountId} ${nodeBin} ${platformRoot}/plugins/email/mcp/dist/scripts/email-fetch.js >> ${logDir}/email-fetch.log 2>&1`,
41
- `* * * * * mkdir -p ${logDir} && PLATFORM_ROOT=${platformRoot} ${nodeBin} ${platformRoot}/plugins/email/mcp/dist/scripts/email-auto-respond.js >> ${logDir}/email-auto-respond.log 2>&1`,
42
41
  ];
43
42
  const newCrontab = existing.trimEnd()
44
43
  ? `${existing.trimEnd()}\n${cronEntries.join("\n")}\n`
@@ -1 +1 @@
1
- {"version":3,"file":"email-setup.js","sourceRoot":"","sources":["../../src/tools/email-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EACL,WAAW,EAAE,aAAa,EAAE,YAAY,EACxC,mBAAmB,EAAE,kBAAkB,GACxC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AAEvC;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,SAAiB;IACzC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE;YAC9C,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAElE,0DAA0D;QAC1D,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACrC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAC9B,CAAC;QAED,iDAAiD;QACjD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC9F,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;YACpB,IAAI,CAAC;gBAAC,OAAO,YAAY,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAAC,CAAC;YAC7E,MAAM,CAAC;gBAAC,OAAO,eAAe,CAAC;YAAC,CAAC;QACnC,CAAC,CAAC,EAAE,CAAC;QACL,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;QAEhD,MAAM,WAAW,GAAG;YAClB,sBAAsB,MAAM,qBAAqB,YAAY,eAAe,SAAS,IAAI,OAAO,IAAI,YAAY,qDAAqD,MAAM,uBAAuB;YAClM,sBAAsB,MAAM,qBAAqB,YAAY,IAAI,OAAO,IAAI,YAAY,4DAA4D,MAAM,8BAA8B;SACzL,CAAC;QAEF,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,EAAE;YACnC,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACtD,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAElC,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE;YAC9C,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QAEH,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACzE,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC;IACJ,CAAC;AACH,CAAC;AAiBD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAmB;IAMlD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAE9C,2DAA2D;IAC3D,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;IAE3D,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC;IAE1D,MAAM,MAAM,GAAgB;QAC1B,KAAK;QACL,YAAY;QACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,QAAQ,EAAE,QAAQ,IAAI,EAAE;QACrD,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,QAAQ,EAAE,QAAQ,IAAI,GAAG;QACtD,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,QAAQ,EAAE,YAAY,IAAI,KAAK;QACpE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,QAAQ,EAAE,QAAQ,IAAI,EAAE;QACrD,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,QAAQ,EAAE,QAAQ,IAAI,GAAG;QACtD,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,QAAQ,EAAE,YAAY,IAAI,UAAU;KAC1E,CAAC;IAEF,0EAA0E;IAC1E,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,8BAA8B,KAAK,6CAA6C;YACzF,aAAa;SACd,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,8BAA8B,KAAK,gCAAgC;YAC5E,aAAa;SACd,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC;IAC9C,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACvE,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,iBAAiB,YAAY,+BAA+B,WAAW,sDAAsD;SACvI,CAAC;IACJ,CAAC;IAED,6DAA6D;IAC7D,IAAI,MAAM,CAAC,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;QAClE,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,+GAA+G;SACzH,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;QAClE,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,+GAA+G;SACzH,CAAC;IACJ,CAAC;IAED,yBAAyB;IACzB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9D,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;IAC/D,CAAC;IAED,yBAAyB;IACzB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9D,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;IAC/D,CAAC;IAED,0CAA0C;IAC1C,kEAAkE;IAClE,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,mEAAmE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SAC/H,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,mEAAmE;QACnE,IAAI,CAAC;YAAC,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,qDAAqD,CAAC,CAAC;QACtG,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,0EAA0E,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SACtI,CAAC;IACJ,CAAC;IAED,oCAAoC;IACpC,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,SAAS,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,sEAAsE;IACtE,MAAM,UAAU,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAE/C,2CAA2C;IAC3C,IAAI,UAA8B,CAAC;IACnC,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,oCAAoC;IACtC,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,mBAAmB,YAAY,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACpG,MAAM,QAAQ,GAAG,SAAS;QACxB,CAAC,CAAC,iCAAiC,MAAM,CAAC,mBAAmB,IAAI,CAAC,sBAAsB,SAAS,IAAI;QACrG,CAAC,CAAC,iFAAiF,CAAC;IACtF,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU;QACpC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,6CAA6C,UAAU,CAAC,KAAK,sDAAsD,CAAC;IACxH,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,qCAAqC,KAAK,IAAI,SAAS,uCAAuC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,UAAU,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,GAAG,QAAQ,EAAE;QACnM,UAAU;QACV,aAAa;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"email-setup.js","sourceRoot":"","sources":["../../src/tools/email-setup.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,9 @@ tools:
56
56
  - name: memory-archive-write
57
57
  publicAllowlist: false
58
58
  adminAllowlist: false
59
+ - name: obsidian-vault-import
60
+ publicAllowlist: false
61
+ adminAllowlist: false
59
62
  - name: conversation-archive-derive-insights
60
63
  publicAllowlist: false
61
64
  adminAllowlist: false