@rubytech/create-maxy-code 0.1.470 → 0.1.471

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 (423) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/config/brand.json +1 -1
  3. package/payload/platform/docs/superpowers/plans/2026-07-18-graph-native-ledger.md +807 -0
  4. package/payload/platform/docs/superpowers/specs/2026-07-18-graph-native-ledger-design.md +241 -0
  5. package/payload/platform/lib/ledger-core/dist/ageing.d.ts +14 -0
  6. package/payload/platform/lib/ledger-core/dist/ageing.d.ts.map +1 -0
  7. package/payload/platform/lib/ledger-core/dist/ageing.js +38 -0
  8. package/payload/platform/lib/ledger-core/dist/ageing.js.map +1 -0
  9. package/payload/platform/lib/ledger-core/dist/balance.d.ts +25 -0
  10. package/payload/platform/lib/ledger-core/dist/balance.d.ts.map +1 -0
  11. package/payload/platform/lib/ledger-core/dist/balance.js +38 -0
  12. package/payload/platform/lib/ledger-core/dist/balance.js.map +1 -0
  13. package/payload/platform/lib/ledger-core/dist/index.d.ts +5 -0
  14. package/payload/platform/lib/ledger-core/dist/index.d.ts.map +1 -0
  15. package/payload/platform/lib/ledger-core/dist/index.js +5 -0
  16. package/payload/platform/lib/ledger-core/dist/index.js.map +1 -0
  17. package/payload/platform/lib/ledger-core/dist/money.d.ts +12 -0
  18. package/payload/platform/lib/ledger-core/dist/money.d.ts.map +1 -0
  19. package/payload/platform/lib/ledger-core/dist/money.js +16 -0
  20. package/payload/platform/lib/ledger-core/dist/money.js.map +1 -0
  21. package/payload/platform/lib/ledger-core/dist/reconcile.d.ts +51 -0
  22. package/payload/platform/lib/ledger-core/dist/reconcile.d.ts.map +1 -0
  23. package/payload/platform/lib/ledger-core/dist/reconcile.js +77 -0
  24. package/payload/platform/lib/ledger-core/dist/reconcile.js.map +1 -0
  25. package/payload/platform/lib/ledger-core/package.json +16 -0
  26. package/payload/platform/lib/ledger-core/src/__tests__/ageing.test.ts +42 -0
  27. package/payload/platform/lib/ledger-core/src/__tests__/balance.test.ts +48 -0
  28. package/payload/platform/lib/ledger-core/src/__tests__/reconcile.test.ts +87 -0
  29. package/payload/platform/lib/ledger-core/src/ageing.ts +51 -0
  30. package/payload/platform/lib/ledger-core/src/balance.ts +52 -0
  31. package/payload/platform/lib/ledger-core/src/index.ts +4 -0
  32. package/payload/platform/lib/ledger-core/src/money.ts +17 -0
  33. package/payload/platform/lib/ledger-core/src/reconcile.ts +109 -0
  34. package/payload/platform/lib/ledger-core/tsconfig.json +6 -0
  35. package/payload/platform/neo4j/schema.cypher +16 -0
  36. package/payload/platform/package.json +2 -2
  37. package/payload/platform/plugins/.claude-plugin/marketplace.json +5 -0
  38. package/payload/platform/plugins/admin/hooks/lib/maxy-mcp-plugins.txt +1 -0
  39. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +98 -2
  40. package/payload/platform/plugins/cloudflare/bin/__tests__/portal-brand-css.test.sh +139 -0
  41. package/payload/platform/plugins/cloudflare/bin/portal-brand-css.mjs +128 -0
  42. package/payload/platform/plugins/cloudflare/mcp/__tests__/portal-enrol.test.ts +1 -1
  43. package/payload/platform/plugins/cloudflare/mcp/__tests__/skill-contract.test.ts +25 -0
  44. package/payload/platform/plugins/cloudflare/mcp/__tests__/template-config.test.ts +55 -3
  45. package/payload/platform/plugins/cloudflare/skills/data-portal/SKILL.md +38 -3
  46. package/payload/platform/plugins/cloudflare/skills/data-portal/template/{public/portal.css → portal.css} +13 -2
  47. package/payload/platform/plugins/cloudflare/skills/data-portal/template/wrangler.toml +1 -1
  48. package/payload/platform/plugins/docs/references/admin-ui.md +48 -0
  49. package/payload/platform/plugins/docs/references/internals.md +1 -1
  50. package/payload/platform/plugins/docs/references/ledger.md +43 -0
  51. package/payload/platform/plugins/email/PLUGIN.md +4 -0
  52. package/payload/platform/plugins/email/mcp/dist/__tests__/display-truncation.test.d.ts +2 -0
  53. package/payload/platform/plugins/email/mcp/dist/__tests__/display-truncation.test.d.ts.map +1 -0
  54. package/payload/platform/plugins/email/mcp/dist/__tests__/display-truncation.test.js +196 -0
  55. package/payload/platform/plugins/email/mcp/dist/__tests__/display-truncation.test.js.map +1 -0
  56. package/payload/platform/plugins/email/mcp/dist/__tests__/source-fetch-efficiency.test.js +10 -8
  57. package/payload/platform/plugins/email/mcp/dist/__tests__/source-fetch-efficiency.test.js.map +1 -1
  58. package/payload/platform/plugins/email/mcp/dist/__tests__/truncation-tool-output.test.d.ts +2 -0
  59. package/payload/platform/plugins/email/mcp/dist/__tests__/truncation-tool-output.test.d.ts.map +1 -0
  60. package/payload/platform/plugins/email/mcp/dist/__tests__/truncation-tool-output.test.js +110 -0
  61. package/payload/platform/plugins/email/mcp/dist/__tests__/truncation-tool-output.test.js.map +1 -0
  62. package/payload/platform/plugins/email/mcp/dist/lib/imap.d.ts +22 -0
  63. package/payload/platform/plugins/email/mcp/dist/lib/imap.d.ts.map +1 -1
  64. package/payload/platform/plugins/email/mcp/dist/lib/imap.js +90 -36
  65. package/payload/platform/plugins/email/mcp/dist/lib/imap.js.map +1 -1
  66. package/payload/platform/plugins/email/mcp/dist/tools/email-read.d.ts.map +1 -1
  67. package/payload/platform/plugins/email/mcp/dist/tools/email-read.js +6 -2
  68. package/payload/platform/plugins/email/mcp/dist/tools/email-read.js.map +1 -1
  69. package/payload/platform/plugins/email/mcp/dist/tools/email-search.d.ts.map +1 -1
  70. package/payload/platform/plugins/email/mcp/dist/tools/email-search.js +6 -2
  71. package/payload/platform/plugins/email/mcp/dist/tools/email-search.js.map +1 -1
  72. package/payload/platform/plugins/email/skills/email-ingest/SKILL.md +4 -0
  73. package/payload/platform/plugins/google/mcp/dist/__tests__/account-register.test.d.ts +2 -0
  74. package/payload/platform/plugins/google/mcp/dist/__tests__/account-register.test.d.ts.map +1 -0
  75. package/payload/platform/plugins/google/mcp/dist/__tests__/account-register.test.js +60 -0
  76. package/payload/platform/plugins/google/mcp/dist/__tests__/account-register.test.js.map +1 -0
  77. package/payload/platform/plugins/google/mcp/dist/__tests__/calendar-tools.test.d.ts +2 -0
  78. package/payload/platform/plugins/google/mcp/dist/__tests__/calendar-tools.test.d.ts.map +1 -0
  79. package/payload/platform/plugins/google/mcp/dist/__tests__/calendar-tools.test.js +48 -0
  80. package/payload/platform/plugins/google/mcp/dist/__tests__/calendar-tools.test.js.map +1 -0
  81. package/payload/platform/plugins/google/mcp/dist/__tests__/google-client.test.d.ts +2 -0
  82. package/payload/platform/plugins/google/mcp/dist/__tests__/google-client.test.d.ts.map +1 -0
  83. package/payload/platform/plugins/google/mcp/dist/__tests__/google-client.test.js +25 -0
  84. package/payload/platform/plugins/google/mcp/dist/__tests__/google-client.test.js.map +1 -0
  85. package/payload/platform/plugins/google/mcp/dist/__tests__/index-registration.test.d.ts +2 -0
  86. package/payload/platform/plugins/google/mcp/dist/__tests__/index-registration.test.d.ts.map +1 -0
  87. package/payload/platform/plugins/google/mcp/dist/__tests__/index-registration.test.js +40 -0
  88. package/payload/platform/plugins/google/mcp/dist/__tests__/index-registration.test.js.map +1 -0
  89. package/payload/platform/plugins/google/mcp/dist/__tests__/pending-store.test.d.ts +2 -0
  90. package/payload/platform/plugins/google/mcp/dist/__tests__/pending-store.test.d.ts.map +1 -0
  91. package/payload/platform/plugins/google/mcp/dist/__tests__/pending-store.test.js +35 -0
  92. package/payload/platform/plugins/google/mcp/dist/__tests__/pending-store.test.js.map +1 -0
  93. package/payload/platform/plugins/google/mcp/dist/__tests__/token-store.test.d.ts +2 -0
  94. package/payload/platform/plugins/google/mcp/dist/__tests__/token-store.test.d.ts.map +1 -0
  95. package/payload/platform/plugins/google/mcp/dist/__tests__/token-store.test.js +85 -0
  96. package/payload/platform/plugins/google/mcp/dist/__tests__/token-store.test.js.map +1 -0
  97. package/payload/platform/plugins/google/mcp/dist/auth/pending-store.d.ts +25 -0
  98. package/payload/platform/plugins/google/mcp/dist/auth/pending-store.d.ts.map +1 -0
  99. package/payload/platform/plugins/google/mcp/dist/auth/pending-store.js +87 -0
  100. package/payload/platform/plugins/google/mcp/dist/auth/pending-store.js.map +1 -0
  101. package/payload/platform/plugins/google/mcp/dist/auth/token-store.d.ts +46 -0
  102. package/payload/platform/plugins/google/mcp/dist/auth/token-store.d.ts.map +1 -0
  103. package/payload/platform/plugins/google/mcp/dist/auth/token-store.js +138 -0
  104. package/payload/platform/plugins/google/mcp/dist/auth/token-store.js.map +1 -0
  105. package/payload/platform/plugins/google/mcp/dist/index.d.ts +25 -0
  106. package/payload/platform/plugins/google/mcp/dist/index.d.ts.map +1 -0
  107. package/payload/platform/plugins/google/mcp/dist/index.js +300 -0
  108. package/payload/platform/plugins/google/mcp/dist/index.js.map +1 -0
  109. package/payload/platform/plugins/google/mcp/dist/lib/google-client.d.ts +28 -0
  110. package/payload/platform/plugins/google/mcp/dist/lib/google-client.d.ts.map +1 -0
  111. package/payload/platform/plugins/google/mcp/dist/lib/google-client.js +102 -0
  112. package/payload/platform/plugins/google/mcp/dist/lib/google-client.js.map +1 -0
  113. package/payload/platform/plugins/google/mcp/dist/lib/log.d.ts +3 -0
  114. package/payload/platform/plugins/google/mcp/dist/lib/log.d.ts.map +1 -0
  115. package/payload/platform/plugins/google/mcp/dist/lib/log.js +16 -0
  116. package/payload/platform/plugins/google/mcp/dist/lib/log.js.map +1 -0
  117. package/payload/platform/plugins/google/mcp/dist/tools/account-info.d.ts +12 -0
  118. package/payload/platform/plugins/google/mcp/dist/tools/account-info.d.ts.map +1 -0
  119. package/payload/platform/plugins/google/mcp/dist/tools/account-info.js +23 -0
  120. package/payload/platform/plugins/google/mcp/dist/tools/account-info.js.map +1 -0
  121. package/payload/platform/plugins/google/mcp/dist/tools/account-list.d.ts +12 -0
  122. package/payload/platform/plugins/google/mcp/dist/tools/account-list.d.ts.map +1 -0
  123. package/payload/platform/plugins/google/mcp/dist/tools/account-list.js +9 -0
  124. package/payload/platform/plugins/google/mcp/dist/tools/account-list.js.map +1 -0
  125. package/payload/platform/plugins/google/mcp/dist/tools/account-register.d.ts +42 -0
  126. package/payload/platform/plugins/google/mcp/dist/tools/account-register.d.ts.map +1 -0
  127. package/payload/platform/plugins/google/mcp/dist/tools/account-register.js +102 -0
  128. package/payload/platform/plugins/google/mcp/dist/tools/account-register.js.map +1 -0
  129. package/payload/platform/plugins/google/mcp/dist/tools/calendar-cancel.d.ts +10 -0
  130. package/payload/platform/plugins/google/mcp/dist/tools/calendar-cancel.d.ts.map +1 -0
  131. package/payload/platform/plugins/google/mcp/dist/tools/calendar-cancel.js +9 -0
  132. package/payload/platform/plugins/google/mcp/dist/tools/calendar-cancel.js.map +1 -0
  133. package/payload/platform/plugins/google/mcp/dist/tools/calendar-create.d.ts +20 -0
  134. package/payload/platform/plugins/google/mcp/dist/tools/calendar-create.d.ts.map +1 -0
  135. package/payload/platform/plugins/google/mcp/dist/tools/calendar-create.js +25 -0
  136. package/payload/platform/plugins/google/mcp/dist/tools/calendar-create.js.map +1 -0
  137. package/payload/platform/plugins/google/mcp/dist/tools/calendar-event.d.ts +6 -0
  138. package/payload/platform/plugins/google/mcp/dist/tools/calendar-event.d.ts.map +1 -0
  139. package/payload/platform/plugins/google/mcp/dist/tools/calendar-event.js +7 -0
  140. package/payload/platform/plugins/google/mcp/dist/tools/calendar-event.js.map +1 -0
  141. package/payload/platform/plugins/google/mcp/dist/tools/calendar-freebusy.d.ts +14 -0
  142. package/payload/platform/plugins/google/mcp/dist/tools/calendar-freebusy.d.ts.map +1 -0
  143. package/payload/platform/plugins/google/mcp/dist/tools/calendar-freebusy.js +16 -0
  144. package/payload/platform/plugins/google/mcp/dist/tools/calendar-freebusy.js.map +1 -0
  145. package/payload/platform/plugins/google/mcp/dist/tools/calendar-list.d.ts +44 -0
  146. package/payload/platform/plugins/google/mcp/dist/tools/calendar-list.d.ts.map +1 -0
  147. package/payload/platform/plugins/google/mcp/dist/tools/calendar-list.js +36 -0
  148. package/payload/platform/plugins/google/mcp/dist/tools/calendar-list.js.map +1 -0
  149. package/payload/platform/plugins/google/mcp/dist/tools/calendar-respond.d.ts +16 -0
  150. package/payload/platform/plugins/google/mcp/dist/tools/calendar-respond.d.ts.map +1 -0
  151. package/payload/platform/plugins/google/mcp/dist/tools/calendar-respond.js +29 -0
  152. package/payload/platform/plugins/google/mcp/dist/tools/calendar-respond.js.map +1 -0
  153. package/payload/platform/plugins/google/mcp/dist/tools/calendar-update.d.ts +16 -0
  154. package/payload/platform/plugins/google/mcp/dist/tools/calendar-update.d.ts.map +1 -0
  155. package/payload/platform/plugins/google/mcp/dist/tools/calendar-update.js +32 -0
  156. package/payload/platform/plugins/google/mcp/dist/tools/calendar-update.js.map +1 -0
  157. package/payload/platform/plugins/google/references/auth.md +35 -0
  158. package/payload/platform/plugins/ledger/.claude-plugin/plugin.json +21 -0
  159. package/payload/platform/plugins/ledger/PLUGIN.md +82 -0
  160. package/payload/platform/plugins/ledger/lib/mcp-spawn-tee/index.js +193 -0
  161. package/payload/platform/plugins/ledger/lib/mcp-spawn-tee/package.json +3 -0
  162. package/payload/platform/plugins/ledger/mcp/dist/index.d.ts +2 -0
  163. package/payload/platform/plugins/ledger/mcp/dist/index.d.ts.map +1 -0
  164. package/payload/platform/plugins/ledger/mcp/dist/index.js +168 -0
  165. package/payload/platform/plugins/ledger/mcp/dist/index.js.map +1 -0
  166. package/payload/platform/plugins/ledger/mcp/dist/lib/ids.d.ts +4 -0
  167. package/payload/platform/plugins/ledger/mcp/dist/lib/ids.d.ts.map +1 -0
  168. package/payload/platform/plugins/ledger/mcp/dist/lib/ids.js +0 -0
  169. package/payload/platform/plugins/ledger/mcp/dist/lib/ids.js.map +1 -0
  170. package/payload/platform/plugins/ledger/mcp/dist/lib/neo4j.d.ts +5 -0
  171. package/payload/platform/plugins/ledger/mcp/dist/lib/neo4j.d.ts.map +1 -0
  172. package/payload/platform/plugins/ledger/mcp/dist/lib/neo4j.js +40 -0
  173. package/payload/platform/plugins/ledger/mcp/dist/lib/neo4j.js.map +1 -0
  174. package/payload/platform/plugins/ledger/mcp/dist/lib/read.d.ts +29 -0
  175. package/payload/platform/plugins/ledger/mcp/dist/lib/read.d.ts.map +1 -0
  176. package/payload/platform/plugins/ledger/mcp/dist/lib/read.js +138 -0
  177. package/payload/platform/plugins/ledger/mcp/dist/lib/read.js.map +1 -0
  178. package/payload/platform/plugins/ledger/mcp/dist/lib/types.d.ts +47 -0
  179. package/payload/platform/plugins/ledger/mcp/dist/lib/types.d.ts.map +1 -0
  180. package/payload/platform/plugins/ledger/mcp/dist/lib/types.js +14 -0
  181. package/payload/platform/plugins/ledger/mcp/dist/lib/types.js.map +1 -0
  182. package/payload/platform/plugins/ledger/mcp/dist/tools/balance.d.ts +18 -0
  183. package/payload/platform/plugins/ledger/mcp/dist/tools/balance.d.ts.map +1 -0
  184. package/payload/platform/plugins/ledger/mcp/dist/tools/balance.js +23 -0
  185. package/payload/platform/plugins/ledger/mcp/dist/tools/balance.js.map +1 -0
  186. package/payload/platform/plugins/ledger/mcp/dist/tools/cash-record.d.ts +26 -0
  187. package/payload/platform/plugins/ledger/mcp/dist/tools/cash-record.d.ts.map +1 -0
  188. package/payload/platform/plugins/ledger/mcp/dist/tools/cash-record.js +33 -0
  189. package/payload/platform/plugins/ledger/mcp/dist/tools/cash-record.js.map +1 -0
  190. package/payload/platform/plugins/ledger/mcp/dist/tools/invoice-record.d.ts +27 -0
  191. package/payload/platform/plugins/ledger/mcp/dist/tools/invoice-record.d.ts.map +1 -0
  192. package/payload/platform/plugins/ledger/mcp/dist/tools/invoice-record.js +40 -0
  193. package/payload/platform/plugins/ledger/mcp/dist/tools/invoice-record.js.map +1 -0
  194. package/payload/platform/plugins/ledger/mcp/dist/tools/payment-record.d.ts +46 -0
  195. package/payload/platform/plugins/ledger/mcp/dist/tools/payment-record.d.ts.map +1 -0
  196. package/payload/platform/plugins/ledger/mcp/dist/tools/payment-record.js +68 -0
  197. package/payload/platform/plugins/ledger/mcp/dist/tools/payment-record.js.map +1 -0
  198. package/payload/platform/plugins/ledger/mcp/dist/tools/reconcile.d.ts +20 -0
  199. package/payload/platform/plugins/ledger/mcp/dist/tools/reconcile.d.ts.map +1 -0
  200. package/payload/platform/plugins/ledger/mcp/dist/tools/reconcile.js +30 -0
  201. package/payload/platform/plugins/ledger/mcp/dist/tools/reconcile.js.map +1 -0
  202. package/payload/platform/plugins/ledger/mcp/dist/tools/statement.d.ts +26 -0
  203. package/payload/platform/plugins/ledger/mcp/dist/tools/statement.d.ts.map +1 -0
  204. package/payload/platform/plugins/ledger/mcp/dist/tools/statement.js +35 -0
  205. package/payload/platform/plugins/ledger/mcp/dist/tools/statement.js.map +1 -0
  206. package/payload/platform/plugins/ledger/mcp/package.json +21 -0
  207. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/ledger-vertical-coverage.test.d.ts +2 -0
  208. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/ledger-vertical-coverage.test.d.ts.map +1 -0
  209. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/ledger-vertical-coverage.test.js +81 -0
  210. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/ledger-vertical-coverage.test.js.map +1 -0
  211. package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.d.ts +9 -7
  212. package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.d.ts.map +1 -1
  213. package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.js +10 -8
  214. package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.js.map +1 -1
  215. package/payload/platform/plugins/memory/references/schema-base.md +22 -0
  216. package/payload/platform/plugins/memory/references/schema-construction.md +0 -18
  217. package/payload/platform/plugins/scheduling/PLUGIN.md +20 -0
  218. package/payload/platform/plugins/scheduling/mcp/dist/lib/meeting-write.d.ts.map +1 -1
  219. package/payload/platform/plugins/scheduling/mcp/dist/lib/meeting-write.js +11 -2
  220. package/payload/platform/plugins/scheduling/mcp/dist/lib/meeting-write.js.map +1 -1
  221. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js +1 -1
  222. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js.map +1 -1
  223. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-create.js +3 -3
  224. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-create.js.map +1 -1
  225. package/payload/platform/services/claude-session-manager/dist/activity-rows.d.ts +138 -0
  226. package/payload/platform/services/claude-session-manager/dist/activity-rows.d.ts.map +1 -0
  227. package/payload/platform/services/claude-session-manager/dist/activity-rows.js +268 -0
  228. package/payload/platform/services/claude-session-manager/dist/activity-rows.js.map +1 -0
  229. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -1
  230. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +8 -0
  231. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
  232. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts +6 -0
  233. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  234. package/payload/platform/services/claude-session-manager/dist/http-server.js +42 -0
  235. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  236. package/payload/platform/services/claude-session-manager/dist/index.js +10 -1
  237. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  238. package/payload/platform/services/claude-session-manager/dist/pty-census.d.ts +80 -6
  239. package/payload/platform/services/claude-session-manager/dist/pty-census.d.ts.map +1 -1
  240. package/payload/platform/services/claude-session-manager/dist/pty-census.js +96 -20
  241. package/payload/platform/services/claude-session-manager/dist/pty-census.js.map +1 -1
  242. package/payload/platform/services/claude-session-manager/dist/slice-memory-policy.d.ts.map +1 -1
  243. package/payload/platform/services/claude-session-manager/dist/slice-memory-policy.js +5 -1
  244. package/payload/platform/services/claude-session-manager/dist/slice-memory-policy.js.map +1 -1
  245. package/payload/platform/templates/specialists/agents/database-operator.md +1 -1
  246. package/payload/platform/templates/specialists/agents/project-manager.md +1 -1
  247. package/payload/server/{chunk-JRIBGO45.js → chunk-BSTIQX52.js} +44 -0
  248. package/payload/server/maxy-edge.js +1 -1
  249. package/payload/server/public/activity.html +17 -0
  250. package/payload/server/public/assets/AdminLoginScreens-Rf94VD9w.js +1 -0
  251. package/payload/server/public/assets/AdminShell-CyGKg7MG.js +2 -0
  252. package/payload/server/public/assets/Checkbox-B0jmI2y2.js +1 -0
  253. package/payload/server/public/assets/HeaderMenu-BnTYGNaB.js +9 -0
  254. package/payload/server/public/assets/{useSubAccountSwitcher-pu0jjLCz.css → HeaderMenu-DtIEBHOU.css} +1 -1
  255. package/payload/server/public/assets/activity-BOBTWFr-.js +1 -0
  256. package/payload/server/public/assets/admin-HDLzwbLl.js +1 -0
  257. package/payload/server/public/assets/{arc-qKfXIt8v.js → arc-CFMJyMm-.js} +1 -1
  258. package/payload/server/public/assets/architecture-YZFGNWBL-Cypt5qHL.js +1 -0
  259. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-DkVrGn7G.js → architectureDiagram-Q4EWVU46-CmOpXLsH.js} +1 -1
  260. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-DqavswGH.js → blockDiagram-DXYQGD6D-CmS8f9YF.js} +1 -1
  261. package/payload/server/public/assets/browser-D4_XLSSm.js +1 -0
  262. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-B7fyKiXe.js → c4Diagram-AHTNJAMY-BXIjMl6A.js} +1 -1
  263. package/payload/server/public/assets/calendar-s5V_gbI7.js +1 -0
  264. package/payload/server/public/assets/channel-DhrFAm7m.js +1 -0
  265. package/payload/server/public/assets/chat-40WyKzGb.js +1 -0
  266. package/payload/server/public/assets/chevron-left-C35qGP5f.js +1 -0
  267. package/payload/server/public/assets/{chunk-2KRD3SAO-DsgMtGkv.js → chunk-2KRD3SAO-D4fktAwW.js} +1 -1
  268. package/payload/server/public/assets/{chunk-336JU56O-CkdISfNt.js → chunk-336JU56O-C2MKnRTj.js} +2 -2
  269. package/payload/server/public/assets/chunk-426QAEUC-BhU7-TyS.js +1 -0
  270. package/payload/server/public/assets/{chunk-4BX2VUAB-CYpiF2bl.js → chunk-4BX2VUAB-C13Wz3zS.js} +1 -1
  271. package/payload/server/public/assets/{chunk-4TB4RGXK-CWyc_F7v.js → chunk-4TB4RGXK-CalYahTR.js} +1 -1
  272. package/payload/server/public/assets/{chunk-55IACEB6-BbzKMw2Z.js → chunk-55IACEB6-TmOKdy8a.js} +1 -1
  273. package/payload/server/public/assets/{chunk-5FUZZQ4R-u19Nai9e.js → chunk-5FUZZQ4R-C-i0BVag.js} +1 -1
  274. package/payload/server/public/assets/{chunk-5PVQY5BW-Ba8by6Uy.js → chunk-5PVQY5BW-D6bJMLnf.js} +1 -1
  275. package/payload/server/public/assets/{chunk-67CJDMHE-BwUuxtyb.js → chunk-67CJDMHE-Cif9Uu5C.js} +1 -1
  276. package/payload/server/public/assets/{chunk-7N4EOEYR-BRH9iM9L.js → chunk-7N4EOEYR-WjTHCXnd.js} +1 -1
  277. package/payload/server/public/assets/{chunk-AA7GKIK3-BGoztgLL.js → chunk-AA7GKIK3-CwCfdQmb.js} +1 -1
  278. package/payload/server/public/assets/{chunk-BSJP7CBP-C5GDAZTl.js → chunk-BSJP7CBP-9A67yXwT.js} +1 -1
  279. package/payload/server/public/assets/{chunk-CIAEETIT-ChY32VPS.js → chunk-CIAEETIT-DPMiWSBi.js} +1 -1
  280. package/payload/server/public/assets/{chunk-EDXVE4YY-CPSD3p6p.js → chunk-EDXVE4YY-B9PBdwiT.js} +1 -1
  281. package/payload/server/public/assets/{chunk-ENJZ2VHE-D1oL-iUr.js → chunk-ENJZ2VHE-CM5OqcQ5.js} +1 -1
  282. package/payload/server/public/assets/{chunk-FMBD7UC4-CPvYEr54.js → chunk-FMBD7UC4-Bmt_ZRlV.js} +1 -1
  283. package/payload/server/public/assets/{chunk-FOC6F5B3-9Yyj7Vbz.js → chunk-FOC6F5B3-DfGJGxpX.js} +1 -1
  284. package/payload/server/public/assets/{chunk-ICPOFSXX-BaYgh8FR.js → chunk-ICPOFSXX-D6M89DA0.js} +2 -2
  285. package/payload/server/public/assets/{chunk-K5T4RW27-5ucpeRvm.js → chunk-K5T4RW27-DMpoaqw2.js} +1 -1
  286. package/payload/server/public/assets/{chunk-KGLVRYIC-DW-FHk7T.js → chunk-KGLVRYIC-DYUFgri2.js} +1 -1
  287. package/payload/server/public/assets/{chunk-LIHQZDEY-CGGVfAyG.js → chunk-LIHQZDEY-x3LmeKmx.js} +1 -1
  288. package/payload/server/public/assets/{chunk-ORNJ4GCN-Bv8EUa5d.js → chunk-ORNJ4GCN-BeuNAWkW.js} +1 -1
  289. package/payload/server/public/assets/{chunk-OYMX7WX6-C1mXJnyw.js → chunk-OYMX7WX6-Bv6gisQ6.js} +1 -1
  290. package/payload/server/public/assets/chunk-QZHKN3VN-7_kS3RBy.js +1 -0
  291. package/payload/server/public/assets/{chunk-U2HBQHQK-PwSQz6EP.js → chunk-U2HBQHQK-C2iT9Av2.js} +1 -1
  292. package/payload/server/public/assets/{chunk-X2U36JSP--NPHTBlU.js → chunk-X2U36JSP-Bd6bv87A.js} +1 -1
  293. package/payload/server/public/assets/{chunk-XPW4576I-Bbc7Da32.js → chunk-XPW4576I-ByFnN4JO.js} +1 -1
  294. package/payload/server/public/assets/{chunk-YZCP3GAM-D-9v8e--.js → chunk-YZCP3GAM-Bt8I6ZDb.js} +1 -1
  295. package/payload/server/public/assets/{chunk-ZZ45TVLE-CMPg670Q.js → chunk-ZZ45TVLE-DBMPgZ_A.js} +1 -1
  296. package/payload/server/public/assets/classDiagram-6PBFFD2Q-BrWqm88p.js +1 -0
  297. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-D0wzG5Fd.js +1 -0
  298. package/payload/server/public/assets/clone-DQA-nNrl.js +1 -0
  299. package/payload/server/public/assets/{cose-bilkent-S5V4N54A-NVSb1Bhy.js → cose-bilkent-S5V4N54A-DgLEaApT.js} +1 -1
  300. package/payload/server/public/assets/{dagre-KV5264BT-V2Ai1DFl.js → dagre-KV5264BT-kWVPgmmL.js} +1 -1
  301. package/payload/server/public/assets/{dagre-QfLcO-1j.js → dagre-mSazqXgG.js} +1 -1
  302. package/payload/server/public/assets/data-Bq0vU3qJ.js +1 -0
  303. package/payload/server/public/assets/{diagram-5BDNPKRD-Caw21693.js → diagram-5BDNPKRD-BHe_omJD.js} +1 -1
  304. package/payload/server/public/assets/{diagram-G4DWMVQ6-CgwVkT2q.js → diagram-G4DWMVQ6-fUFsmM3x.js} +1 -1
  305. package/payload/server/public/assets/{diagram-MMDJMWI5-DFUrLZhs.js → diagram-MMDJMWI5-DmujPLlM.js} +1 -1
  306. package/payload/server/public/assets/{diagram-TYMM5635-CEEiEuZJ.js → diagram-TYMM5635-B7Aoas89.js} +1 -1
  307. package/payload/server/public/assets/{dist-Cvgxm7qv.js → dist-C9D_xz81.js} +1 -1
  308. package/payload/server/public/assets/{erDiagram-SMLLAGMA-CG10NrT3.js → erDiagram-SMLLAGMA-6hS1rGiO.js} +1 -1
  309. package/payload/server/public/assets/{flatten-DAO0sfCM.js → flatten-BXzaHgtL.js} +1 -1
  310. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-BqkV9Okv.js → flowDiagram-DWJPFMVM-Bqhr_r5b.js} +1 -1
  311. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-DRiCDQF6.js → ganttDiagram-T4ZO3ILL-B8kjyN4o.js} +1 -1
  312. package/payload/server/public/assets/gitGraph-7Q5UKJZL-C_-XjxLd.js +1 -0
  313. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-BZV2voyy.js → gitGraphDiagram-UUTBAWPF--TTRq4ir.js} +1 -1
  314. package/payload/server/public/assets/{graph-BZiudUGr.js → graph-C252ZHjp.js} +3 -3
  315. package/payload/server/public/assets/graph-labels-DzPbbhLc.js +1 -0
  316. package/payload/server/public/assets/{graphlib-DGPThX8M.js → graphlib-CWkjawc5.js} +1 -1
  317. package/payload/server/public/assets/info-OMHHGYJF-BH8yDCfL.js +1 -0
  318. package/payload/server/public/assets/infoDiagram-42DDH7IO-D8U4M0pK.js +2 -0
  319. package/payload/server/public/assets/{isEmpty-Cb_U81C6.js → isEmpty-uB1dEu_Z.js} +1 -1
  320. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-BKsAxSvp.js → ishikawaDiagram-UXIWVN3A-CR8B7VzM.js} +1 -1
  321. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-CmliuOd-.js → journeyDiagram-VCZTEJTY-45lWAvtq.js} +1 -1
  322. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-DAlElMb-.js → kanban-definition-6JOO6SKY-DkrPXLVb.js} +1 -1
  323. package/payload/server/public/assets/{line-DKZqLKAC.js → line-Db0H446a.js} +1 -1
  324. package/payload/server/public/assets/{linear-CbSGdh1x.js → linear-X3O7lwK3.js} +1 -1
  325. package/payload/server/public/assets/maximize-2-CEbXFpQT.js +1 -0
  326. package/payload/server/public/assets/{mermaid-parser.core-DFvbao9C.js → mermaid-parser.core-CixBHOya.js} +2 -2
  327. package/payload/server/public/assets/{mermaid.core-C0vEBxDm.js → mermaid.core-BGQq98L7.js} +3 -3
  328. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-CShASUKd.js → mindmap-definition-QFDTVHPH-v9cJl1mj.js} +1 -1
  329. package/payload/server/public/assets/operator-zKk4HMdX.js +1 -0
  330. package/payload/server/public/assets/{ordinal-H0tVmBDP.js → ordinal-CZY9laxg.js} +1 -1
  331. package/payload/server/public/assets/packet-4T2RLAQJ-Bajcns4r.js +1 -0
  332. package/payload/server/public/assets/page-BrmN_vzV.js +1 -0
  333. package/payload/server/public/assets/page-Cts-ESBe.js +32 -0
  334. package/payload/server/public/assets/{pdf-render-jAQU0nXt.js → pdf-render-7HZBTZ0_.js} +1 -1
  335. package/payload/server/public/assets/pie-ZZUOXDRM-D7hjM5w1.js +1 -0
  336. package/payload/server/public/assets/{pieDiagram-DEJITSTG-CBZHpDAJ.js → pieDiagram-DEJITSTG-DQ0b6edX.js} +1 -1
  337. package/payload/server/public/assets/public-BItzHBc0.js +1 -0
  338. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-n3bB3K91.js → quadrantDiagram-34T5L4WZ-B64mj7Ei.js} +1 -1
  339. package/payload/server/public/assets/radar-PYXPWWZC-B46d5x7a.js +1 -0
  340. package/payload/server/public/assets/{reduce-DAvwat-a.js → reduce-BGQzAenn.js} +1 -1
  341. package/payload/server/public/assets/{requirementDiagram-MS252O5E-DiDvQK3c.js → requirementDiagram-MS252O5E-CE2JIEWo.js} +1 -1
  342. package/payload/server/public/assets/rotate-ccw-B0EYGhGx.js +1 -0
  343. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-DWDQQZmd.js → sankeyDiagram-XADWPNL6-Cmt5cfCz.js} +1 -1
  344. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-DmAqRlBT.js → sequenceDiagram-FGHM5R23-B5vVn_sw.js} +1 -1
  345. package/payload/server/public/assets/{src-DV4LKv2E.js → src-BTKk8KAG.js} +1 -1
  346. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-D4R-n6bZ.js → stateDiagram-FHFEXIEX-DiUEJ-RZ.js} +1 -1
  347. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-DIm3XuAD.js +1 -0
  348. package/payload/server/public/assets/tasks-ClE8-be8.js +1 -0
  349. package/payload/server/public/assets/time-entry-format-BwjGLnXu.js +1 -0
  350. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-CjiHGP4l.js → timeline-definition-GMOUNBTQ-C9jprDVw.js} +1 -1
  351. package/payload/server/public/assets/treeView-SZITEDCU-3XQh5xQ1.js +1 -0
  352. package/payload/server/public/assets/treemap-W4RFUUIX-DwR-_l5z.js +1 -0
  353. package/payload/server/public/assets/triangle-alert-DejWYn1x.js +1 -0
  354. package/payload/server/public/assets/useCopyFeedback-CpSgOavK.js +1 -0
  355. package/payload/server/public/assets/useSelectionMode-ZQZQUgze.js +1 -0
  356. package/payload/server/public/assets/useSubAccountSwitcher-DuRLvCfO.js +1 -0
  357. package/payload/server/public/assets/useVoiceRecorder-BTYYeUJW.js +2 -0
  358. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-CBdDQ7c-.js → vennDiagram-DHZGUBPP-DWqQJ9X0.js} +1 -1
  359. package/payload/server/public/assets/wardley-RL74JXVD-DZp9oCGv.js +1 -0
  360. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-BlIQPKLb.js → wardleyDiagram-NUSXRM2D-Dg6c2Voh.js} +1 -1
  361. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-CslKgh9B.js → xychartDiagram-5P7HB3ND-EhN-zeDj.js} +1 -1
  362. package/payload/server/public/browser.html +7 -6
  363. package/payload/server/public/calendar.html +8 -7
  364. package/payload/server/public/chat.html +15 -14
  365. package/payload/server/public/data.html +14 -12
  366. package/payload/server/public/graph.html +13 -12
  367. package/payload/server/public/index.html +17 -15
  368. package/payload/server/public/operator.html +17 -16
  369. package/payload/server/public/public.html +15 -14
  370. package/payload/server/public/tasks.html +7 -6
  371. package/payload/server/server.js +525 -244
  372. package/payload/server/public/assets/AdminLoginScreens-Bed8SDxY.js +0 -1
  373. package/payload/server/public/assets/AdminShell-BLh9O6dn.js +0 -2
  374. package/payload/server/public/assets/Checkbox-BC_KSbpS.js +0 -1
  375. package/payload/server/public/assets/admin-DfWgJVI3.js +0 -1
  376. package/payload/server/public/assets/architecture-YZFGNWBL-FPHT7s-C.js +0 -1
  377. package/payload/server/public/assets/browser-C0vkv-hH.js +0 -1
  378. package/payload/server/public/assets/calendar-_pfHw0Hp.js +0 -1
  379. package/payload/server/public/assets/channel-j70eMvcL.js +0 -1
  380. package/payload/server/public/assets/chat-DYT5H81o.js +0 -1
  381. package/payload/server/public/assets/chevron-left-BnpVBu51.js +0 -1
  382. package/payload/server/public/assets/chunk-426QAEUC-D-NcAlTW.js +0 -1
  383. package/payload/server/public/assets/chunk-QZHKN3VN-CAwbQBtf.js +0 -1
  384. package/payload/server/public/assets/classDiagram-6PBFFD2Q-Ct6Rn0vt.js +0 -1
  385. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-B_2XCIFv.js +0 -1
  386. package/payload/server/public/assets/clone-DjPWA_NH.js +0 -1
  387. package/payload/server/public/assets/data-CR-fbPWr.js +0 -1
  388. package/payload/server/public/assets/gitGraph-7Q5UKJZL-B8Hx7f-D.js +0 -1
  389. package/payload/server/public/assets/graph-labels-BzmmJwCR.js +0 -1
  390. package/payload/server/public/assets/info-OMHHGYJF-BicCJTqU.js +0 -1
  391. package/payload/server/public/assets/infoDiagram-42DDH7IO-tf-8rOez.js +0 -2
  392. package/payload/server/public/assets/maximize-2-Bhdsv0U-.js +0 -1
  393. package/payload/server/public/assets/operator-gm2eP4r6.js +0 -1
  394. package/payload/server/public/assets/packet-4T2RLAQJ-Ckn_5hq0.js +0 -1
  395. package/payload/server/public/assets/page-8AB3jUa_.js +0 -1
  396. package/payload/server/public/assets/page-BoPorLg-.js +0 -32
  397. package/payload/server/public/assets/pie-ZZUOXDRM-DzlGQW3J.js +0 -1
  398. package/payload/server/public/assets/public-DqJk6qgW.js +0 -1
  399. package/payload/server/public/assets/radar-PYXPWWZC-BHo2YD8b.js +0 -1
  400. package/payload/server/public/assets/rotate-ccw-D_5cETGt.js +0 -1
  401. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-BcFRbGRu.js +0 -1
  402. package/payload/server/public/assets/tasks-EyKLXINi.js +0 -1
  403. package/payload/server/public/assets/time-entry-format-DAwmmR3i.js +0 -1
  404. package/payload/server/public/assets/treeView-SZITEDCU-BtRr5vXp.js +0 -1
  405. package/payload/server/public/assets/treemap-W4RFUUIX-D8p0sbyo.js +0 -1
  406. package/payload/server/public/assets/useCopyFeedback-rOWd_lzl.js +0 -1
  407. package/payload/server/public/assets/useSelectionMode-DDmLmPph.js +0 -1
  408. package/payload/server/public/assets/useSubAccountSwitcher-CU-lOxTd.js +0 -9
  409. package/payload/server/public/assets/useVoiceRecorder-azG8zSUI.js +0 -2
  410. package/payload/server/public/assets/wardley-RL74JXVD-DgMn-9ZJ.js +0 -1
  411. /package/payload/platform/plugins/cloudflare/skills/data-portal/{template/schema.sql → schema.sql} +0 -0
  412. /package/payload/platform/plugins/cloudflare/skills/data-portal/template/{public/index.html → index.html} +0 -0
  413. /package/payload/platform/plugins/cloudflare/skills/data-portal/template/{public/portal.js → portal.js} +0 -0
  414. /package/payload/server/public/assets/{_baseFor-D3BqAOBr.js → _baseFor-CMWvz0uA.js} +0 -0
  415. /package/payload/server/public/assets/{array-iYP9fzJp.js → array-Cny_NT6T.js} +0 -0
  416. /package/payload/server/public/assets/{chunk-Ck5AOu5v.js → chunk-TPjIAO9U.js} +0 -0
  417. /package/payload/server/public/assets/{cytoscape.esm-BQSBzPsB.js → cytoscape.esm-De0CCmB2.js} +0 -0
  418. /package/payload/server/public/assets/{defaultLocale-BrdA1gDi.js → defaultLocale-BahRht8U.js} +0 -0
  419. /package/payload/server/public/assets/{init-Bx0S6pkp.js → init-DoIvjoJ_.js} +0 -0
  420. /package/payload/server/public/assets/{katex-BsiH_a6d.js → katex-Bfn1OZEl.js} +0 -0
  421. /package/payload/server/public/assets/{path-BLSgTy3w.js → path-CTezU8L5.js} +0 -0
  422. /package/payload/server/public/assets/{preload-helper-ClBMtM1g.js → preload-helper-CT1Z6Pdu.js} +0 -0
  423. /package/payload/server/public/assets/{rough.esm-BMOtDaaS.js → rough.esm-BJo4pvXu.js} +0 -0
@@ -0,0 +1,196 @@
1
+ import { beforeEach, describe, expect, it, vi } from "vitest";
2
+ import { formatTruncationLine } from "../lib/imap.js";
3
+ // Task 1777. The display slice is a second way a matching message can vanish
4
+ // from a result, distinct from the recipient filter Task 700 made non-silent.
5
+ // Truncation is only reachable when a recipient filter is active (that is what
6
+ // over-fetches past `limit`), but an active filter that hides nothing emits no
7
+ // recipient line at all — so the two signals do not coincide and truncation is
8
+ // reported on its own.
9
+ describe("formatTruncationLine", () => {
10
+ it("names shown and matched when the display was truncated", () => {
11
+ expect(formatTruncationLine({ shown: 20, matched: 33 })).toBe("Showing the newest 20 of 33 matches in the scanned window; the rest are older \u2014 page back with next_before_uid.");
12
+ });
13
+ it("returns null when nothing was truncated", () => {
14
+ expect(formatTruncationLine({ shown: 13, matched: 13 })).toBeNull();
15
+ });
16
+ it("returns null when no stats were recorded", () => {
17
+ expect(formatTruncationLine(undefined)).toBeNull();
18
+ });
19
+ });
20
+ let inbox = [];
21
+ function rowFor(uid, fields) {
22
+ const m = inbox.find((x) => x.uid === uid);
23
+ if (!m)
24
+ return null;
25
+ const row = { uid };
26
+ if (fields.envelope) {
27
+ row.envelope = {
28
+ from: [{ address: m.from, name: null }],
29
+ to: [{ address: m.to }],
30
+ cc: [],
31
+ subject: m.subject,
32
+ date: new Date("2026-01-01T00:00:00Z"),
33
+ messageId: `<${m.uid}@x>`,
34
+ inReplyTo: null,
35
+ };
36
+ }
37
+ if (fields.bodyStructure)
38
+ row.bodyStructure = { type: "text/plain" };
39
+ if (fields.source) {
40
+ row.source = Buffer.from([`From: ${m.from}`, `To: ${m.to}`, `Subject: ${m.subject}`, "", `body-${m.uid}`, ""].join("\r\n"));
41
+ }
42
+ return row;
43
+ }
44
+ const mockClient = {
45
+ connect: vi.fn(async () => { }),
46
+ list: vi.fn(async () => [{ path: "INBOX" }, { path: "Sent", specialUse: "\\Sent" }]),
47
+ getMailboxLock: vi.fn(async () => ({ release: vi.fn() })),
48
+ search: vi.fn(async () => inbox.map((m) => m.uid)),
49
+ fetch: vi.fn(function (range, fields) {
50
+ const uids = range.split(",").map((s) => Number(s.trim()));
51
+ async function* gen() {
52
+ for (const uid of uids) {
53
+ const row = rowFor(uid, fields);
54
+ if (row)
55
+ yield row;
56
+ }
57
+ }
58
+ return gen();
59
+ }),
60
+ fetchOne: vi.fn(async (range, fields) => rowFor(Number(range), fields)),
61
+ logout: vi.fn(async () => { }),
62
+ close: vi.fn(() => { }),
63
+ };
64
+ vi.mock("imapflow", () => ({
65
+ ImapFlow: function ImapFlow() {
66
+ return mockClient;
67
+ },
68
+ }));
69
+ import { fetchRecent, searchMessages } from "../lib/imap.js";
70
+ const config = {
71
+ email: "info@rubytech.llc",
72
+ imapHost: "imap.example.com",
73
+ imapPort: 993,
74
+ imapSecurity: "tls",
75
+ };
76
+ function seed(startUid, count) {
77
+ return Array.from({ length: count }, (_, i) => ({
78
+ uid: startUid + i,
79
+ to: "info@rubytech.llc",
80
+ from: `s${i}@x.com`,
81
+ subject: `msg-${startUid + i}`,
82
+ }));
83
+ }
84
+ beforeEach(() => {
85
+ vi.clearAllMocks();
86
+ inbox = [];
87
+ });
88
+ describe("Task 1777 — the newest matches survive the display slice", () => {
89
+ it("fetchRecent returns the newest limit matches, newest first", async () => {
90
+ // 12 seeded; limit 3 with a TO filter over-fetches ×3, so the window is the
91
+ // newest 9 UIDs (103..111). All 9 match, so 3 are shown and 6 are dropped.
92
+ inbox = seed(100, 12);
93
+ mockClient.search.mockResolvedValue(inbox.map((m) => m.uid));
94
+ const res = await fetchRecent(config, "pw", { limit: 3, to: ["info@rubytech.llc"] });
95
+ expect(res.messages.map((m) => m.uid)).toEqual([111, 110, 109]);
96
+ expect(res.truncation).toEqual({ shown: 3, matched: 9 });
97
+ });
98
+ it("searchMessages returns the newest limit matches, newest first", async () => {
99
+ // 9 seeded; limit 2 over-fetches ×3, so the window is the newest 6 (203..208).
100
+ inbox = seed(200, 9);
101
+ mockClient.search.mockResolvedValue(inbox.map((m) => m.uid));
102
+ const res = await searchMessages(config, "pw", { limit: 2, to: ["info@rubytech.llc"] });
103
+ expect(res.messages.map((m) => m.uid)).toEqual([208, 207]);
104
+ expect(res.truncation).toEqual({ shown: 2, matched: 6 });
105
+ });
106
+ it("reports no truncation when every match is shown", async () => {
107
+ inbox = seed(300, 2);
108
+ mockClient.search.mockResolvedValue(inbox.map((m) => m.uid));
109
+ const res = await fetchRecent(config, "pw", { limit: 10, to: ["info@rubytech.llc"] });
110
+ expect(res.messages.map((m) => m.uid)).toEqual([301, 300]);
111
+ expect(res.truncation).toBeUndefined();
112
+ });
113
+ it("replays the reported rubytech.llc case: the newest info@ mail leads", async () => {
114
+ // Envelopes observed live on 2026-07-18 (accountId 20028fb5-…, INBOX).
115
+ // UIDs 4406..4596 are the 20 matches the tool actually returned before the
116
+ // fix; 4730..4839 are the real newest 15, with their real recipients. At
117
+ // the default limit 20 the pre-fix reader returned 4406..4596 and both
118
+ // joshgoff1 messages (4811, 4816) were unreachable.
119
+ const olderMatches = [
120
+ 4406, 4407, 4418, 4419, 4420, 4421, 4423, 4440, 4464, 4528,
121
+ 4529, 4533, 4534, 4535, 4536, 4542, 4557, 4568, 4573, 4596,
122
+ ].map((uid) => ({ uid, to: "info@rubytech.llc", from: "older@x.com", subject: `older-${uid}` }));
123
+ const newest = [
124
+ { uid: 4730, to: "info@rubytech.llc", from: "Vincenzo.Aliotta@aon.it", subject: "R: RubySDK R&W" },
125
+ { uid: 4735, to: "info@rubytech.llc", from: "mark@rubysdk.com", subject: "Re: RubySDK R&W" },
126
+ { uid: 4759, to: "namecheap@rubytech.llc", from: "support@namecheap.com", subject: "expiry" },
127
+ { uid: 4760, to: "namecheap@rubytech.llc", from: "support@namecheap.com", subject: "order" },
128
+ { uid: 4761, to: "namecheap@rubytech.llc", from: "support@namecheap.com", subject: "order" },
129
+ { uid: 4771, to: "kappa@rubytech.llc", from: "tom@flashalpha.com", subject: "SPY digest" },
130
+ { uid: 4772, to: "realagent@rubytech.llc", from: "ebony@magneticbd.co.uk", subject: "Catch Up" },
131
+ { uid: 4773, to: "ebony@magneticbd.co.uk", from: "info@rubytech.llc", subject: "Re: Catch Up" },
132
+ { uid: 4794, to: "namecheap@rubytech.llc", from: "pesupport@namecheap.com", subject: "webmail" },
133
+ { uid: 4795, to: "kappa@rubytech.llc", from: "tom@flashalpha.com", subject: "SPY digest" },
134
+ { uid: 4809, to: "namecheap@rubytech.llc", from: "support@namecheap.com", subject: "30% off" },
135
+ { uid: 4810, to: "namecheap@rubytech.llc", from: "support@namecheap.com", subject: "order" },
136
+ { uid: 4811, to: "info@rubytech.llc", from: "joshgoff1@hotmail.com", subject: "Re: Maxy Institute Training" },
137
+ { uid: 4816, to: "info@rubytech.llc", from: "joshgoff1@hotmail.com", subject: "Re: Maxy Institute Training" },
138
+ { uid: 4839, to: "realagent.smarty@rubytech.llc", from: "no-reply@i.smarty.co.uk", subject: "favour" },
139
+ ];
140
+ inbox = [...olderMatches, ...newest];
141
+ mockClient.search.mockResolvedValue(inbox.map((m) => m.uid));
142
+ const res = await fetchRecent(config, "pw", {
143
+ limit: 20,
144
+ to: ["info@rubytech.llc", "maxy@rubytech.llc"],
145
+ });
146
+ const uids = res.messages.map((m) => m.uid);
147
+ // Both joshgoff1 messages now lead the result.
148
+ expect(uids[0]).toBe(4816);
149
+ expect(uids[1]).toBe(4811);
150
+ // 24 matched, 20 shown, so the four oldest matches drop off the back.
151
+ expect(res.truncation).toEqual({ shown: 20, matched: 24 });
152
+ expect(uids).not.toContain(4406);
153
+ });
154
+ it("pages back onto the truncated matches instead of skipping them", async () => {
155
+ // The cursor must land on the dropped set, not below it. With the
156
+ // window-floor cursor the dropped matches sit ABOVE beforeUid and are
157
+ // excluded from every subsequent page, so the truncation line would promise
158
+ // a remainder that pagination could never deliver.
159
+ inbox = seed(800, 12);
160
+ mockClient.search.mockResolvedValue(inbox.map((m) => m.uid));
161
+ const first = await fetchRecent(config, "pw", { limit: 3, to: ["info@rubytech.llc"] });
162
+ expect(first.messages.map((m) => m.uid)).toEqual([811, 810, 809]);
163
+ // Oldest displayed, NOT the window floor (803).
164
+ expect(first.nextBeforeUid).toBe(809);
165
+ const second = await fetchRecent(config, "pw", {
166
+ limit: 3,
167
+ to: ["info@rubytech.llc"],
168
+ beforeUid: first.nextBeforeUid,
169
+ });
170
+ // The next page continues exactly where the display stopped: no gap, no repeat.
171
+ expect(second.messages.map((m) => m.uid)).toEqual([808, 807, 806]);
172
+ });
173
+ it("sets a cursor whenever the display truncated, even inside one window", async () => {
174
+ // 35 UIDs with fetchLimit 60: the whole match set fits the window, so the
175
+ // window-floor branch reports "exhausted" while matches still exceed limit.
176
+ inbox = seed(900, 35);
177
+ mockClient.search.mockResolvedValue(inbox.map((m) => m.uid));
178
+ const res = await fetchRecent(config, "pw", { limit: 20, to: ["info@rubytech.llc"] });
179
+ expect(res.truncation).toEqual({ shown: 20, matched: 35 });
180
+ expect(res.nextBeforeUid).toBe(915);
181
+ });
182
+ it("downloads body source only for the retained (newest) UIDs", async () => {
183
+ // Guards the Task 1180 promise across the retention change: the second-pass
184
+ // source fetch must cover the displayed set, which is now the newest.
185
+ inbox = seed(400, 12);
186
+ mockClient.search.mockResolvedValue(inbox.map((m) => m.uid));
187
+ await fetchRecent(config, "pw", { limit: 3, to: ["info@rubytech.llc"] });
188
+ const sourceCall = mockClient.fetch.mock.calls.find((c) => c[1].source);
189
+ const fetched = String(sourceCall?.[0])
190
+ .split(",")
191
+ .map((s) => Number(s.trim()))
192
+ .sort((a, b) => a - b);
193
+ expect(fetched).toEqual([409, 410, 411]);
194
+ });
195
+ });
196
+ //# sourceMappingURL=display-truncation.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display-truncation.test.js","sourceRoot":"","sources":["../../src/__tests__/display-truncation.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,6EAA6E;AAC7E,8EAA8E;AAC9E,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,uBAAuB;AAEvB,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAC3D,sHAAsH,CACvH,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAQH,IAAI,KAAK,GAAU,EAAE,CAAC;AAEtB,SAAS,MAAM,CAAC,GAAW,EAAE,MAAmB;IAC9C,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,GAAG,GAA4B,EAAE,GAAG,EAAE,CAAC;IAC7C,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,GAAG,CAAC,QAAQ,GAAG;YACb,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACvC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;YACvB,EAAE,EAAE,EAAE;YACN,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,IAAI,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC;YACtC,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK;YACzB,SAAS,EAAE,IAAI;SAChB,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,aAAa;QAAE,GAAG,CAAC,aAAa,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IACrE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CACtB,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAClG,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,GAAG;IACjB,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC;IAC9B,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpF,cAAc,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAClD,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,KAAa,EAAE,MAAmB;QACvD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3D,KAAK,SAAS,CAAC,CAAC,GAAG;YACjB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAChC,IAAI,GAAG;oBAAE,MAAM,GAAG,CAAC;YACrB,CAAC;QACH,CAAC;QACD,OAAO,GAAG,EAAE,CAAC;IACf,CAAC,CAAC;IACF,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,KAAa,EAAE,MAAmB,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5F,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC;IAC7B,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;CACvB,CAAC;AAEF,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;IACzB,QAAQ,EAAE,SAAS,QAAQ;QACzB,OAAO,UAAU,CAAC;IACpB,CAAC;CACF,CAAC,CAAC,CAAC;AAEJ,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAG7D,MAAM,MAAM,GAAG;IACb,KAAK,EAAE,mBAAmB;IAC1B,QAAQ,EAAE,kBAAkB;IAC5B,QAAQ,EAAE,GAAG;IACb,YAAY,EAAE,KAAK;CACL,CAAC;AAEjB,SAAS,IAAI,CAAC,QAAgB,EAAE,KAAa;IAC3C,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,GAAG,EAAE,QAAQ,GAAG,CAAC;QACjB,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,IAAI,CAAC,QAAQ;QACnB,OAAO,EAAE,OAAO,QAAQ,GAAG,CAAC,EAAE;KAC/B,CAAC,CAAC,CAAC;AACN,CAAC;AAED,UAAU,CAAC,GAAG,EAAE;IACd,EAAE,CAAC,aAAa,EAAE,CAAC;IACnB,KAAK,GAAG,EAAE,CAAC;AACb,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0DAA0D,EAAE,GAAG,EAAE;IACxE,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,4EAA4E;QAC5E,2EAA2E;QAC3E,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACtB,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAU,CAAC,CAAC;QAEtE,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAErF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAChE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,+EAA+E;QAC/E,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAU,CAAC,CAAC;QAEtE,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAExF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAU,CAAC,CAAC;QAEtE,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAEtF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,uEAAuE;QACvE,2EAA2E;QAC3E,yEAAyE;QACzE,uEAAuE;QACvE,oDAAoD;QACpD,MAAM,YAAY,GAAG;YACnB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;YAC1D,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;SAC3D,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QACjG,MAAM,MAAM,GAAU;YACpB,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,gBAAgB,EAAE;YAClG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,iBAAiB,EAAE;YAC5F,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,QAAQ,EAAE;YAC7F,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,OAAO,EAAE;YAC5F,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,OAAO,EAAE;YAC5F,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,YAAY,EAAE;YAC1F,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,UAAU,EAAE;YAChG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,cAAc,EAAE;YAC/F,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,SAAS,EAAE;YAChG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,YAAY,EAAE;YAC1F,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,SAAS,EAAE;YAC9F,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,OAAO,EAAE;YAC5F,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,6BAA6B,EAAE;YAC7G,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,6BAA6B,EAAE;YAC7G,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,+BAA+B,EAAE,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,QAAQ,EAAE;SACvG,CAAC;QACF,KAAK,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC,CAAC;QACrC,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAU,CAAC,CAAC;QAEtE,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE;YAC1C,KAAK,EAAE,EAAE;YACT,EAAE,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;SAC/C,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5C,+CAA+C;QAC/C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,sEAAsE;QACtE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,kEAAkE;QAClE,sEAAsE;QACtE,4EAA4E;QAC5E,mDAAmD;QACnD,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACtB,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAU,CAAC,CAAC;QAEtE,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACvF,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAClE,gDAAgD;QAChD,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEtC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE;YAC7C,KAAK,EAAE,CAAC;YACR,EAAE,EAAE,CAAC,mBAAmB,CAAC;YACzB,SAAS,EAAE,KAAK,CAAC,aAAa;SAC/B,CAAC,CAAC;QACH,gFAAgF;QAChF,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,0EAA0E;QAC1E,4EAA4E;QAC5E,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACtB,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAU,CAAC,CAAC;QAEtE,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAEtF,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3D,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,4EAA4E;QAC5E,sEAAsE;QACtE,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACtB,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAU,CAAC,CAAC;QAEtE,MAAM,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAEzE,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CACjD,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,CAAC,CAAiB,CAAC,MAAM,CACpC,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;aACpC,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;aAC5B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -104,9 +104,10 @@ describe("Task 1180 — list/search fetch source only for displayed messages", (
104
104
  ];
105
105
  mockClient.search.mockResolvedValue(inbox.map((m) => m.uid));
106
106
  const res = await fetchRecent(config, "pw", { limit: 2, to: "keep@x.com" });
107
- // Window is the 6 newest UIDs (4..9). The display set is the FIRST two
108
- // keep@ matches in ascending window order (5, 7), returned newest-first.
109
- expect(res.messages.map((m) => m.uid)).toEqual([7, 5]);
107
+ // Window is the 6 newest UIDs (4..9). Matches are 5, 7, 9; the display set
108
+ // is the NEWEST two (7, 9), returned newest-first. Before Task 1777 this
109
+ // asserted [7, 5] — the oldest two — which encoded the truncation defect.
110
+ expect(res.messages.map((m) => m.uid)).toEqual([9, 7]);
110
111
  expect(res.messages.every((m) => m.bodyPreview.length > 0)).toBe(true);
111
112
  const sourceFetches = fetchCalls.filter((c) => c.fields.source);
112
113
  expect(sourceFetches.length).toBe(1);
@@ -114,7 +115,7 @@ describe("Task 1180 — list/search fetch source only for displayed messages", (
114
115
  .split(",")
115
116
  .map((s) => Number(s.trim()))
116
117
  .sort((a, b) => a - b);
117
- expect(fetchedUids).toEqual([5, 7]);
118
+ expect(fetchedUids).toEqual([7, 9]);
118
119
  });
119
120
  it("searchMessages second-pass source fetch covers only the displayed UID set", async () => {
120
121
  inbox = [
@@ -127,16 +128,17 @@ describe("Task 1180 — list/search fetch source only for displayed messages", (
127
128
  ];
128
129
  mockClient.search.mockResolvedValue(inbox.map((m) => m.uid));
129
130
  const res = await searchMessages(config, "pw", { limit: 2, to: "keep@x.com" });
130
- // Window is all 6 UIDs (1..6). Display set is the first two keep@ matches
131
- // in ascending order (1, 3), returned newest-first.
132
- expect(res.messages.map((m) => m.uid)).toEqual([3, 1]);
131
+ // Window is all 6 UIDs (1..6). Matches are 1, 3, 5; the display set is the
132
+ // NEWEST two (3, 5), returned newest-first. Before Task 1777 this asserted
133
+ // [3, 1] — the oldest two — which encoded the truncation defect.
134
+ expect(res.messages.map((m) => m.uid)).toEqual([5, 3]);
133
135
  const sourceFetches = fetchCalls.filter((c) => c.fields.source);
134
136
  expect(sourceFetches.length).toBe(1);
135
137
  const fetchedUids = sourceFetches[0].range
136
138
  .split(",")
137
139
  .map((s) => Number(s.trim()))
138
140
  .sort((a, b) => a - b);
139
- expect(fetchedUids).toEqual([1, 3]);
141
+ expect(fetchedUids).toEqual([3, 5]);
140
142
  });
141
143
  });
142
144
  //# sourceMappingURL=source-fetch-efficiency.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"source-fetch-efficiency.test.js","sourceRoot":"","sources":["../../src/__tests__/source-fetch-efficiency.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-fetch-efficiency.test.js","sourceRoot":"","sources":["../../src/__tests__/source-fetch-efficiency.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=truncation-tool-output.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truncation-tool-output.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/truncation-tool-output.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,110 @@
1
+ import { beforeEach, describe, expect, it, vi } from "vitest";
2
+ let inbox = [];
3
+ function rowFor(uid, fields) {
4
+ const m = inbox.find((x) => x.uid === uid);
5
+ if (!m)
6
+ return null;
7
+ const row = { uid };
8
+ if (fields.envelope) {
9
+ row.envelope = {
10
+ from: [{ address: m.from, name: null }],
11
+ to: [{ address: m.to }],
12
+ cc: [],
13
+ subject: m.subject,
14
+ date: new Date("2026-01-01T00:00:00Z"),
15
+ messageId: `<${m.uid}@x>`,
16
+ inReplyTo: null,
17
+ };
18
+ }
19
+ if (fields.bodyStructure)
20
+ row.bodyStructure = { type: "text/plain" };
21
+ if (fields.source) {
22
+ row.source = Buffer.from([`From: ${m.from}`, `To: ${m.to}`, `Subject: ${m.subject}`, "", `body-${m.uid}`, ""].join("\r\n"));
23
+ }
24
+ return row;
25
+ }
26
+ const mockClient = {
27
+ connect: vi.fn(async () => { }),
28
+ list: vi.fn(async () => [{ path: "INBOX" }, { path: "Sent", specialUse: "\\Sent" }]),
29
+ getMailboxLock: vi.fn(async () => ({ release: vi.fn() })),
30
+ search: vi.fn(async () => inbox.map((m) => m.uid)),
31
+ fetch: vi.fn(function (range, fields) {
32
+ const uids = range.split(",").map((s) => Number(s.trim()));
33
+ async function* gen() {
34
+ for (const uid of uids) {
35
+ const row = rowFor(uid, fields);
36
+ if (row)
37
+ yield row;
38
+ }
39
+ }
40
+ return gen();
41
+ }),
42
+ fetchOne: vi.fn(async (range, fields) => rowFor(Number(range), fields)),
43
+ logout: vi.fn(async () => { }),
44
+ close: vi.fn(() => { }),
45
+ };
46
+ vi.mock("imapflow", () => ({
47
+ ImapFlow: function ImapFlow() {
48
+ return mockClient;
49
+ },
50
+ }));
51
+ const { loadCredentials } = vi.hoisted(() => ({
52
+ loadCredentials: vi.fn(async () => ({
53
+ credentials: {
54
+ config: {
55
+ email: "info@rubytech.llc",
56
+ agentAddress: "maxy@rubytech.llc",
57
+ imapHost: "imap.example.com",
58
+ imapPort: 993,
59
+ imapSecurity: "tls",
60
+ },
61
+ password: "pw",
62
+ },
63
+ })),
64
+ }));
65
+ vi.mock("../lib/credentials.js", () => ({ loadCredentials }));
66
+ // Archive enrichment reaches Neo4j; stub it out. The tool already degrades
67
+ // silently on failure, so this only keeps the test hermetic.
68
+ vi.mock("../lib/conversation-archive-lookup.js", () => ({
69
+ getMessageArchiveHints: vi.fn(async () => new Map()),
70
+ }));
71
+ import { emailRead } from "../tools/email-read.js";
72
+ import { emailSearch } from "../tools/email-search.js";
73
+ const ACCT = "20028fb5-db26-4de7-bff6-c5ec2d4fc766";
74
+ function seed(startUid, count) {
75
+ return Array.from({ length: count }, (_, i) => ({
76
+ uid: startUid + i,
77
+ to: "info@rubytech.llc",
78
+ from: `s${i}@x.com`,
79
+ subject: `msg-${startUid + i}`,
80
+ }));
81
+ }
82
+ beforeEach(() => {
83
+ vi.clearAllMocks();
84
+ inbox = [];
85
+ });
86
+ describe("Task 1777 — tools report a truncated display", () => {
87
+ it("email-read names the truncation and leads with the newest message", async () => {
88
+ inbox = seed(500, 12);
89
+ mockClient.search.mockResolvedValue(inbox.map((m) => m.uid));
90
+ const out = await emailRead({ accountId: ACCT, mailbox: "info@rubytech.llc", limit: 3 });
91
+ expect(out).toContain("Showing the newest 3 of 9 matches in the scanned window");
92
+ expect(out).toContain("UID: 511");
93
+ expect(out).not.toContain("UID: 503");
94
+ });
95
+ it("email-search names the truncation", async () => {
96
+ inbox = seed(600, 9);
97
+ mockClient.search.mockResolvedValue(inbox.map((m) => m.uid));
98
+ const out = await emailSearch({ accountId: ACCT, mailbox: "info@rubytech.llc", limit: 2 });
99
+ expect(out).toContain("Showing the newest 2 of 6 matches in the scanned window");
100
+ expect(out).toContain("UID: 608");
101
+ });
102
+ it("emits no truncation line when every match is shown", async () => {
103
+ inbox = seed(700, 2);
104
+ mockClient.search.mockResolvedValue(inbox.map((m) => m.uid));
105
+ const out = await emailRead({ accountId: ACCT, mailbox: "info@rubytech.llc", limit: 10 });
106
+ expect(out).not.toContain("Showing the newest");
107
+ expect(out).toContain("UID: 701");
108
+ });
109
+ });
110
+ //# sourceMappingURL=truncation-tool-output.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truncation-tool-output.test.js","sourceRoot":"","sources":["../../src/__tests__/truncation-tool-output.test.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,8 @@ export interface PaginatedMessages {
16
16
  nextBeforeUid?: number;
17
17
  /** Kept-vs-hidden accounting, present only when a client-side recipient filter ran. */
18
18
  recipientFilter?: RecipientFilterStats;
19
+ /** Display-slice accounting, present only when matches exceeded the limit. */
20
+ truncation?: DisplayTruncationStats;
19
21
  }
20
22
  export declare const MAX_LIMIT = 50;
21
23
  /**
@@ -219,6 +221,26 @@ export interface RecipientFilterStats {
219
221
  * nothing was hidden, so a fully-matched window emits no misleading line.
220
222
  */
221
223
  export declare function formatRecipientFilterLine(stats: RecipientFilterStats | undefined): string | null;
224
+ /** Display-slice accounting: how many messages matched vs how many were shown. */
225
+ export interface DisplayTruncationStats {
226
+ shown: number;
227
+ matched: number;
228
+ }
229
+ /**
230
+ * Render the operator-facing truncation signal. Returns null when the display
231
+ * showed every match, so a complete result emits no misleading line.
232
+ *
233
+ * Reported separately from the recipient filter because the two do not coincide:
234
+ * a filter that hides nothing (`hidden === 0`) emits no recipient line at all,
235
+ * yet still over-fetches and can truncate. Truncation is only reachable when a
236
+ * recipient filter is active — that is what widens the window past `limit` —
237
+ * but an active filter is not enough to make the recipient line appear.
238
+ *
239
+ * `matched` counts matches within the fetched window, not the whole mailbox;
240
+ * the wording says so, because a window-scoped count read as a mailbox total
241
+ * is exactly the kind of false reassurance this signal exists to prevent.
242
+ */
243
+ export declare function formatTruncationLine(stats: DisplayTruncationStats | undefined): string | null;
222
244
  /**
223
245
  * Build IMAP SEARCH criteria for fetchRecent.
224
246
  * Never includes TO — that filter is applied client-side to avoid
@@ -1 +1 @@
1
- {"version":3,"file":"imap.d.ts","sourceRoot":"","sources":["../../src/lib/imap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imap.d.ts","sourceRoot":"","sources":["../../src/lib/imap.ts"],"names":[],"mappings":"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"}