@rubytech/create-maxy-code 0.1.592 → 0.1.594

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 (339) hide show
  1. package/package.json +2 -2
  2. package/payload/platform/package.json +1 -0
  3. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +11 -5
  4. package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +11 -0
  5. package/payload/platform/plugins/cloudflare/PLUGIN.md +2 -0
  6. package/payload/platform/plugins/docs/references/internals.md +5 -3
  7. package/payload/platform/plugins/docs/references/telegram-guide.md +5 -1
  8. package/payload/platform/plugins/scheduling/PLUGIN.md +1 -1
  9. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/agent-turn-dispatch.test.js +15 -2
  10. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/agent-turn-dispatch.test.js.map +1 -1
  11. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts.map +1 -1
  12. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js +7 -2
  13. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js.map +1 -1
  14. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/scheduling-gate.test.js +125 -1
  15. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/scheduling-gate.test.js.map +1 -1
  16. package/payload/platform/plugins/scheduling/mcp/dist/tools/scheduling-gate.d.ts +28 -0
  17. package/payload/platform/plugins/scheduling/mcp/dist/tools/scheduling-gate.d.ts.map +1 -1
  18. package/payload/platform/plugins/scheduling/mcp/dist/tools/scheduling-gate.js +72 -12
  19. package/payload/platform/plugins/scheduling/mcp/dist/tools/scheduling-gate.js.map +1 -1
  20. package/payload/platform/plugins/telegram/PLUGIN.md +12 -5
  21. package/payload/platform/plugins/telegram/mcp/dist/__tests__/ask-tool.test.js +31 -0
  22. package/payload/platform/plugins/telegram/mcp/dist/__tests__/ask-tool.test.js.map +1 -1
  23. package/payload/platform/plugins/telegram/mcp/dist/__tests__/card-tool.test.js +30 -0
  24. package/payload/platform/plugins/telegram/mcp/dist/__tests__/card-tool.test.js.map +1 -1
  25. package/payload/platform/plugins/telegram/mcp/dist/__tests__/media-fetch-tool.test.js +24 -0
  26. package/payload/platform/plugins/telegram/mcp/dist/__tests__/media-fetch-tool.test.js.map +1 -1
  27. package/payload/platform/plugins/telegram/mcp/dist/__tests__/media-send-tool.test.js +31 -0
  28. package/payload/platform/plugins/telegram/mcp/dist/__tests__/media-send-tool.test.js.map +1 -1
  29. package/payload/platform/plugins/telegram/mcp/dist/__tests__/public-pin-registry.test.d.ts +2 -0
  30. package/payload/platform/plugins/telegram/mcp/dist/__tests__/public-pin-registry.test.d.ts.map +1 -0
  31. package/payload/platform/plugins/telegram/mcp/dist/__tests__/public-pin-registry.test.js +55 -0
  32. package/payload/platform/plugins/telegram/mcp/dist/__tests__/public-pin-registry.test.js.map +1 -0
  33. package/payload/platform/plugins/telegram/mcp/dist/__tests__/public-pin.test.d.ts +2 -0
  34. package/payload/platform/plugins/telegram/mcp/dist/__tests__/public-pin.test.d.ts.map +1 -0
  35. package/payload/platform/plugins/telegram/mcp/dist/__tests__/public-pin.test.js +89 -0
  36. package/payload/platform/plugins/telegram/mcp/dist/__tests__/public-pin.test.js.map +1 -0
  37. package/payload/platform/plugins/telegram/mcp/dist/index.js +13 -42
  38. package/payload/platform/plugins/telegram/mcp/dist/index.js.map +1 -1
  39. package/payload/platform/plugins/telegram/mcp/dist/lib/public-pin.d.ts +80 -0
  40. package/payload/platform/plugins/telegram/mcp/dist/lib/public-pin.d.ts.map +1 -0
  41. package/payload/platform/plugins/telegram/mcp/dist/lib/public-pin.js +96 -0
  42. package/payload/platform/plugins/telegram/mcp/dist/lib/public-pin.js.map +1 -0
  43. package/payload/platform/plugins/telegram/mcp/dist/tools/ask.d.ts +5 -0
  44. package/payload/platform/plugins/telegram/mcp/dist/tools/ask.d.ts.map +1 -1
  45. package/payload/platform/plugins/telegram/mcp/dist/tools/ask.js.map +1 -1
  46. package/payload/platform/plugins/telegram/mcp/dist/tools/card.d.ts +5 -0
  47. package/payload/platform/plugins/telegram/mcp/dist/tools/card.d.ts.map +1 -1
  48. package/payload/platform/plugins/telegram/mcp/dist/tools/card.js.map +1 -1
  49. package/payload/platform/plugins/telegram/mcp/dist/tools/media-fetch.d.ts +5 -0
  50. package/payload/platform/plugins/telegram/mcp/dist/tools/media-fetch.d.ts.map +1 -1
  51. package/payload/platform/plugins/telegram/mcp/dist/tools/media-fetch.js.map +1 -1
  52. package/payload/platform/plugins/telegram/mcp/dist/tools/media-send.d.ts +5 -0
  53. package/payload/platform/plugins/telegram/mcp/dist/tools/media-send.d.ts.map +1 -1
  54. package/payload/platform/plugins/telegram/mcp/dist/tools/media-send.js.map +1 -1
  55. package/payload/platform/plugins/telegram/mcp/dist/tools/thread.d.ts +5 -0
  56. package/payload/platform/plugins/telegram/mcp/dist/tools/thread.d.ts.map +1 -1
  57. package/payload/platform/plugins/telegram/mcp/dist/tools/thread.js.map +1 -1
  58. package/payload/platform/scripts/__tests__/agent-identity-reconcile.test.sh +110 -0
  59. package/payload/platform/scripts/__tests__/check-orphan-dist.test.sh +87 -0
  60. package/payload/platform/scripts/check-orphan-dist.mjs +143 -0
  61. package/payload/platform/scripts/lib/agent-identity-reconcile.sh +122 -0
  62. package/payload/platform/scripts/lib/provision-account-dir.sh +8 -26
  63. package/payload/platform/scripts/setup-account.sh +15 -0
  64. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts +37 -0
  65. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  66. package/payload/platform/services/claude-session-manager/dist/http-server.js +178 -13
  67. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  68. package/payload/platform/services/claude-session-manager/dist/index.js +5 -0
  69. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  70. package/payload/platform/services/claude-session-manager/dist/public-agent-reachability.d.ts +5 -0
  71. package/payload/platform/services/claude-session-manager/dist/public-agent-reachability.d.ts.map +1 -1
  72. package/payload/platform/services/claude-session-manager/dist/public-agent-reachability.js +42 -1
  73. package/payload/platform/services/claude-session-manager/dist/public-agent-reachability.js.map +1 -1
  74. package/payload/platform/services/claude-session-manager/dist/rc-public-lockdown.d.ts +13 -5
  75. package/payload/platform/services/claude-session-manager/dist/rc-public-lockdown.d.ts.map +1 -1
  76. package/payload/platform/services/claude-session-manager/dist/rc-public-lockdown.js +23 -9
  77. package/payload/platform/services/claude-session-manager/dist/rc-public-lockdown.js.map +1 -1
  78. package/payload/platform/services/claude-session-manager/dist/telegram-channel-mcp.d.ts +7 -4
  79. package/payload/platform/services/claude-session-manager/dist/telegram-channel-mcp.d.ts.map +1 -1
  80. package/payload/platform/services/claude-session-manager/dist/telegram-channel-mcp.js +5 -3
  81. package/payload/platform/services/claude-session-manager/dist/telegram-channel-mcp.js.map +1 -1
  82. package/payload/platform/services/claude-session-manager/dist/telegram-channel-store.d.ts +15 -1
  83. package/payload/platform/services/claude-session-manager/dist/telegram-channel-store.d.ts.map +1 -1
  84. package/payload/platform/services/claude-session-manager/dist/telegram-channel-store.js +16 -7
  85. package/payload/platform/services/claude-session-manager/dist/telegram-channel-store.js.map +1 -1
  86. package/payload/platform/services/claude-session-manager/dist/telegram-plugin-mcp.d.ts +28 -0
  87. package/payload/platform/services/claude-session-manager/dist/telegram-plugin-mcp.d.ts.map +1 -0
  88. package/payload/platform/services/claude-session-manager/dist/telegram-plugin-mcp.js +53 -0
  89. package/payload/platform/services/claude-session-manager/dist/telegram-plugin-mcp.js.map +1 -0
  90. package/payload/platform/services/claude-session-manager/dist/wa-channel-mcp.d.ts +9 -5
  91. package/payload/platform/services/claude-session-manager/dist/wa-channel-mcp.d.ts.map +1 -1
  92. package/payload/platform/services/claude-session-manager/dist/wa-channel-mcp.js +12 -6
  93. package/payload/platform/services/claude-session-manager/dist/wa-channel-mcp.js.map +1 -1
  94. package/payload/platform/services/claude-session-manager/dist/webchat-channel-mcp.d.ts +7 -3
  95. package/payload/platform/services/claude-session-manager/dist/webchat-channel-mcp.d.ts.map +1 -1
  96. package/payload/platform/services/claude-session-manager/dist/webchat-channel-mcp.js +5 -1
  97. package/payload/platform/services/claude-session-manager/dist/webchat-channel-mcp.js.map +1 -1
  98. package/payload/platform/services/telegram-channel/dist/instructions.d.ts +14 -2
  99. package/payload/platform/services/telegram-channel/dist/instructions.d.ts.map +1 -1
  100. package/payload/platform/services/telegram-channel/dist/instructions.js +34 -3
  101. package/payload/platform/services/telegram-channel/dist/instructions.js.map +1 -1
  102. package/payload/platform/templates/agents/public/IDENTITY.md +3 -3
  103. package/payload/server/server.js +74 -9
  104. package/payload/platform/lib/anthropic-key/dist/index.d.ts +0 -22
  105. package/payload/platform/lib/anthropic-key/dist/index.d.ts.map +0 -1
  106. package/payload/platform/lib/anthropic-key/dist/index.js +0 -232
  107. package/payload/platform/lib/anthropic-key/dist/index.js.map +0 -1
  108. package/payload/platform/lib/graph-search/dist/query-expansion.d.ts +0 -37
  109. package/payload/platform/lib/graph-search/dist/query-expansion.d.ts.map +0 -1
  110. package/payload/platform/lib/graph-search/dist/query-expansion.js +0 -101
  111. package/payload/platform/lib/graph-search/dist/query-expansion.js.map +0 -1
  112. package/payload/platform/lib/oauth-llm/dist/index.d.ts +0 -116
  113. package/payload/platform/lib/oauth-llm/dist/index.d.ts.map +0 -1
  114. package/payload/platform/lib/oauth-llm/dist/index.js +0 -386
  115. package/payload/platform/lib/oauth-llm/dist/index.js.map +0 -1
  116. package/payload/platform/lib/screening-patterns/dist/index.d.ts +0 -29
  117. package/payload/platform/lib/screening-patterns/dist/index.d.ts.map +0 -1
  118. package/payload/platform/lib/screening-patterns/dist/index.js +0 -48
  119. package/payload/platform/lib/screening-patterns/dist/index.js.map +0 -1
  120. package/payload/platform/plugins/admin/mcp/dist/__tests__/admin-identity-authenticate.test.d.ts +0 -2
  121. package/payload/platform/plugins/admin/mcp/dist/__tests__/admin-identity-authenticate.test.d.ts.map +0 -1
  122. package/payload/platform/plugins/admin/mcp/dist/__tests__/admin-identity-authenticate.test.js +0 -34
  123. package/payload/platform/plugins/admin/mcp/dist/__tests__/admin-identity-authenticate.test.js.map +0 -1
  124. package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.d.ts +0 -39
  125. package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.d.ts.map +0 -1
  126. package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.js +0 -249
  127. package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.js.map +0 -1
  128. package/payload/platform/plugins/admin/mcp/dist/tools/admin-identity-authenticate.d.ts +0 -6
  129. package/payload/platform/plugins/admin/mcp/dist/tools/admin-identity-authenticate.d.ts.map +0 -1
  130. package/payload/platform/plugins/admin/mcp/dist/tools/admin-identity-authenticate.js +0 -32
  131. package/payload/platform/plugins/admin/mcp/dist/tools/admin-identity-authenticate.js.map +0 -1
  132. package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.d.ts +0 -283
  133. package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.d.ts.map +0 -1
  134. package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.js +0 -1155
  135. package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.js.map +0 -1
  136. package/payload/platform/plugins/cloudflare/mcp/dist/lib/setup-orchestrator.d.ts +0 -90
  137. package/payload/platform/plugins/cloudflare/mcp/dist/lib/setup-orchestrator.d.ts.map +0 -1
  138. package/payload/platform/plugins/cloudflare/mcp/dist/lib/setup-orchestrator.js +0 -551
  139. package/payload/platform/plugins/cloudflare/mcp/dist/lib/setup-orchestrator.js.map +0 -1
  140. package/payload/platform/plugins/email/mcp/dist/lib/claude-bridge.d.ts +0 -17
  141. package/payload/platform/plugins/email/mcp/dist/lib/claude-bridge.d.ts.map +0 -1
  142. package/payload/platform/plugins/email/mcp/dist/lib/claude-bridge.js +0 -186
  143. package/payload/platform/plugins/email/mcp/dist/lib/claude-bridge.js.map +0 -1
  144. package/payload/platform/plugins/email/mcp/dist/lib/screening.d.ts +0 -29
  145. package/payload/platform/plugins/email/mcp/dist/lib/screening.d.ts.map +0 -1
  146. package/payload/platform/plugins/email/mcp/dist/lib/screening.js +0 -105
  147. package/payload/platform/plugins/email/mcp/dist/lib/screening.js.map +0 -1
  148. package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.d.ts +0 -38
  149. package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.d.ts.map +0 -1
  150. package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.js +0 -817
  151. package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.js.map +0 -1
  152. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.d.ts +0 -30
  153. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.d.ts.map +0 -1
  154. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js +0 -215
  155. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js.map +0 -1
  156. package/payload/platform/plugins/email/mcp/dist/tools/email-auto-respond-config.d.ts +0 -19
  157. package/payload/platform/plugins/email/mcp/dist/tools/email-auto-respond-config.d.ts.map +0 -1
  158. package/payload/platform/plugins/email/mcp/dist/tools/email-auto-respond-config.js +0 -151
  159. package/payload/platform/plugins/email/mcp/dist/tools/email-auto-respond-config.js.map +0 -1
  160. package/payload/platform/plugins/email/mcp/dist/tools/email-classify.d.ts +0 -6
  161. package/payload/platform/plugins/email/mcp/dist/tools/email-classify.d.ts.map +0 -1
  162. package/payload/platform/plugins/email/mcp/dist/tools/email-classify.js +0 -89
  163. package/payload/platform/plugins/email/mcp/dist/tools/email-classify.js.map +0 -1
  164. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/compiled-truth-rewriter-operator-hint.test.d.ts +0 -2
  165. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/compiled-truth-rewriter-operator-hint.test.d.ts.map +0 -1
  166. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/compiled-truth-rewriter-operator-hint.test.js +0 -90
  167. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/compiled-truth-rewriter-operator-hint.test.js.map +0 -1
  168. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.d.ts +0 -2
  169. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.d.ts.map +0 -1
  170. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.js +0 -226
  171. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.js.map +0 -1
  172. package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-rewriter.d.ts +0 -60
  173. package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-rewriter.d.ts.map +0 -1
  174. package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-rewriter.js +0 -169
  175. package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-rewriter.js.map +0 -1
  176. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.d.ts +0 -248
  177. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.d.ts.map +0 -1
  178. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.js +0 -824
  179. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.js.map +0 -1
  180. package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.d.ts +0 -63
  181. package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.d.ts.map +0 -1
  182. package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.js +0 -210
  183. package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.js.map +0 -1
  184. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-pass.d.ts +0 -35
  185. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-pass.d.ts.map +0 -1
  186. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-pass.js +0 -28
  187. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-pass.js.map +0 -1
  188. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights-emit.test.d.ts +0 -2
  189. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights-emit.test.d.ts.map +0 -1
  190. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights-emit.test.js +0 -68
  191. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights-emit.test.js.map +0 -1
  192. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-archive-write-emit.test.d.ts +0 -2
  193. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-archive-write-emit.test.d.ts.map +0 -1
  194. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-archive-write-emit.test.js +0 -88
  195. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-archive-write-emit.test.js.map +0 -1
  196. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-classify-emit.test.d.ts +0 -2
  197. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-classify-emit.test.d.ts.map +0 -1
  198. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-classify-emit.test.js +0 -58
  199. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-classify-emit.test.js.map +0 -1
  200. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-emit.test.d.ts +0 -2
  201. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-emit.test.d.ts.map +0 -1
  202. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-emit.test.js +0 -64
  203. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-emit.test.js.map +0 -1
  204. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-edit-attachment-emit.test.d.ts +0 -2
  205. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-edit-attachment-emit.test.d.ts.map +0 -1
  206. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-edit-attachment-emit.test.js +0 -70
  207. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-edit-attachment-emit.test.js.map +0 -1
  208. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-empty-trash-emit.test.d.ts +0 -2
  209. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-empty-trash-emit.test.d.ts.map +0 -1
  210. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-empty-trash-emit.test.js +0 -48
  211. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-empty-trash-emit.test.js.map +0 -1
  212. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-emit.test.d.ts +0 -2
  213. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-emit.test.d.ts.map +0 -1
  214. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-emit.test.js +0 -74
  215. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-emit.test.js.map +0 -1
  216. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-extract-emit.test.d.ts +0 -2
  217. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-extract-emit.test.d.ts.map +0 -1
  218. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-extract-emit.test.js +0 -47
  219. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-extract-emit.test.js.map +0 -1
  220. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-web-emit.test.d.ts +0 -2
  221. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-web-emit.test.d.ts.map +0 -1
  222. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-web-emit.test.js +0 -65
  223. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-web-emit.test.js.map +0 -1
  224. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-reindex-emit.test.d.ts +0 -2
  225. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-reindex-emit.test.d.ts.map +0 -1
  226. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-reindex-emit.test.js +0 -43
  227. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-reindex-emit.test.js.map +0 -1
  228. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-rename-attachment-emit.test.d.ts +0 -2
  229. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-rename-attachment-emit.test.d.ts.map +0 -1
  230. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-rename-attachment-emit.test.js +0 -65
  231. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-rename-attachment-emit.test.js.map +0 -1
  232. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-restore-emit.test.d.ts +0 -2
  233. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-restore-emit.test.d.ts.map +0 -1
  234. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-restore-emit.test.js +0 -49
  235. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-restore-emit.test.js.map +0 -1
  236. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-emit.test.d.ts +0 -2
  237. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-emit.test.d.ts.map +0 -1
  238. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-emit.test.js +0 -79
  239. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-emit.test.js.map +0 -1
  240. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-operator-hint.test.d.ts +0 -2
  241. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-operator-hint.test.d.ts.map +0 -1
  242. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-operator-hint.test.js +0 -329
  243. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-operator-hint.test.js.map +0 -1
  244. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-write-emit.test.d.ts +0 -2
  245. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-write-emit.test.d.ts.map +0 -1
  246. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-write-emit.test.js +0 -81
  247. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-write-emit.test.js.map +0 -1
  248. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.d.ts +0 -34
  249. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.d.ts.map +0 -1
  250. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.js +0 -62
  251. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.js.map +0 -1
  252. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rank.d.ts +0 -61
  253. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rank.d.ts.map +0 -1
  254. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rank.js +0 -102
  255. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rank.js.map +0 -1
  256. package/payload/platform/plugins/memory/mcp/dist/tools/memory-signals-recent.d.ts +0 -35
  257. package/payload/platform/plugins/memory/mcp/dist/tools/memory-signals-recent.d.ts.map +0 -1
  258. package/payload/platform/plugins/memory/mcp/dist/tools/memory-signals-recent.js +0 -73
  259. package/payload/platform/plugins/memory/mcp/dist/tools/memory-signals-recent.js.map +0 -1
  260. package/payload/platform/plugins/memory/mcp/dist/tools/memory-typed-edge-pass.d.ts +0 -29
  261. package/payload/platform/plugins/memory/mcp/dist/tools/memory-typed-edge-pass.d.ts.map +0 -1
  262. package/payload/platform/plugins/memory/mcp/dist/tools/memory-typed-edge-pass.js +0 -22
  263. package/payload/platform/plugins/memory/mcp/dist/tools/memory-typed-edge-pass.js.map +0 -1
  264. package/payload/platform/plugins/memory/mcp/dist/tools/session-retrospective-skip-rate.d.ts +0 -30
  265. package/payload/platform/plugins/memory/mcp/dist/tools/session-retrospective-skip-rate.d.ts.map +0 -1
  266. package/payload/platform/plugins/memory/mcp/dist/tools/session-retrospective-skip-rate.js +0 -130
  267. package/payload/platform/plugins/memory/mcp/dist/tools/session-retrospective-skip-rate.js.map +0 -1
  268. package/payload/platform/plugins/outlook/mcp/dist/auth/pkce-flow.d.ts +0 -65
  269. package/payload/platform/plugins/outlook/mcp/dist/auth/pkce-flow.d.ts.map +0 -1
  270. package/payload/platform/plugins/outlook/mcp/dist/auth/pkce-flow.js +0 -262
  271. package/payload/platform/plugins/outlook/mcp/dist/auth/pkce-flow.js.map +0 -1
  272. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/normalise-start-date.test.d.ts +0 -2
  273. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/normalise-start-date.test.d.ts.map +0 -1
  274. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/normalise-start-date.test.js +0 -100
  275. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/normalise-start-date.test.js.map +0 -1
  276. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/scheduled-seat-id.test.d.ts +0 -2
  277. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/scheduled-seat-id.test.d.ts.map +0 -1
  278. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/scheduled-seat-id.test.js +0 -22
  279. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/scheduled-seat-id.test.js.map +0 -1
  280. package/payload/platform/plugins/scheduling/mcp/dist/lib/scheduled-seat-id.d.ts +0 -11
  281. package/payload/platform/plugins/scheduling/mcp/dist/lib/scheduled-seat-id.d.ts.map +0 -1
  282. package/payload/platform/plugins/scheduling/mcp/dist/lib/scheduled-seat-id.js +0 -19
  283. package/payload/platform/plugins/scheduling/mcp/dist/lib/scheduled-seat-id.js.map +0 -1
  284. package/payload/platform/plugins/telegram/mcp/dist/__tests__/invoice-tool.test.d.ts +0 -2
  285. package/payload/platform/plugins/telegram/mcp/dist/__tests__/invoice-tool.test.d.ts.map +0 -1
  286. package/payload/platform/plugins/telegram/mcp/dist/__tests__/invoice-tool.test.js +0 -196
  287. package/payload/platform/plugins/telegram/mcp/dist/__tests__/invoice-tool.test.js.map +0 -1
  288. package/payload/platform/plugins/telegram/mcp/dist/tools/invoice.d.ts +0 -70
  289. package/payload/platform/plugins/telegram/mcp/dist/tools/invoice.d.ts.map +0 -1
  290. package/payload/platform/plugins/telegram/mcp/dist/tools/invoice.js +0 -247
  291. package/payload/platform/plugins/telegram/mcp/dist/tools/invoice.js.map +0 -1
  292. package/payload/platform/plugins/telegram/mcp/dist/tools/message.d.ts +0 -21
  293. package/payload/platform/plugins/telegram/mcp/dist/tools/message.d.ts.map +0 -1
  294. package/payload/platform/plugins/telegram/mcp/dist/tools/message.js +0 -40
  295. package/payload/platform/plugins/telegram/mcp/dist/tools/message.js.map +0 -1
  296. package/payload/platform/plugins/url-get/mcp/dist/lib/summarise.d.ts +0 -8
  297. package/payload/platform/plugins/url-get/mcp/dist/lib/summarise.d.ts.map +0 -1
  298. package/payload/platform/plugins/url-get/mcp/dist/lib/summarise.js +0 -83
  299. package/payload/platform/plugins/url-get/mcp/dist/lib/summarise.js.map +0 -1
  300. package/payload/platform/plugins/workflows/mcp/dist/lib/llm-call.d.ts +0 -151
  301. package/payload/platform/plugins/workflows/mcp/dist/lib/llm-call.d.ts.map +0 -1
  302. package/payload/platform/plugins/workflows/mcp/dist/lib/llm-call.js +0 -299
  303. package/payload/platform/plugins/workflows/mcp/dist/lib/llm-call.js.map +0 -1
  304. package/payload/platform/services/claude-session-manager/dist/account-admin-census.d.ts +0 -39
  305. package/payload/platform/services/claude-session-manager/dist/account-admin-census.d.ts.map +0 -1
  306. package/payload/platform/services/claude-session-manager/dist/account-admin-census.js +0 -122
  307. package/payload/platform/services/claude-session-manager/dist/account-admin-census.js.map +0 -1
  308. package/payload/platform/services/claude-session-manager/dist/admin-identity-audit.d.ts +0 -39
  309. package/payload/platform/services/claude-session-manager/dist/admin-identity-audit.d.ts.map +0 -1
  310. package/payload/platform/services/claude-session-manager/dist/admin-identity-audit.js +0 -133
  311. package/payload/platform/services/claude-session-manager/dist/admin-identity-audit.js.map +0 -1
  312. package/payload/platform/services/claude-session-manager/dist/input-postcondition.d.ts +0 -22
  313. package/payload/platform/services/claude-session-manager/dist/input-postcondition.d.ts.map +0 -1
  314. package/payload/platform/services/claude-session-manager/dist/input-postcondition.js +0 -50
  315. package/payload/platform/services/claude-session-manager/dist/input-postcondition.js.map +0 -1
  316. package/payload/platform/services/claude-session-manager/dist/jsonl-observer.d.ts +0 -30
  317. package/payload/platform/services/claude-session-manager/dist/jsonl-observer.d.ts.map +0 -1
  318. package/payload/platform/services/claude-session-manager/dist/jsonl-observer.js +0 -204
  319. package/payload/platform/services/claude-session-manager/dist/jsonl-observer.js.map +0 -1
  320. package/payload/platform/services/claude-session-manager/dist/rc-script-spawn.d.ts +0 -80
  321. package/payload/platform/services/claude-session-manager/dist/rc-script-spawn.d.ts.map +0 -1
  322. package/payload/platform/services/claude-session-manager/dist/rc-script-spawn.js +0 -306
  323. package/payload/platform/services/claude-session-manager/dist/rc-script-spawn.js.map +0 -1
  324. package/payload/platform/services/claude-session-manager/dist/session-store.d.ts +0 -49
  325. package/payload/platform/services/claude-session-manager/dist/session-store.d.ts.map +0 -1
  326. package/payload/platform/services/claude-session-manager/dist/session-store.js +0 -52
  327. package/payload/platform/services/claude-session-manager/dist/session-store.js.map +0 -1
  328. package/payload/platform/services/claude-session-manager/dist/systemd-spawn.d.ts +0 -83
  329. package/payload/platform/services/claude-session-manager/dist/systemd-spawn.d.ts.map +0 -1
  330. package/payload/platform/services/claude-session-manager/dist/systemd-spawn.js +0 -345
  331. package/payload/platform/services/claude-session-manager/dist/systemd-spawn.js.map +0 -1
  332. package/payload/platform/services/telegram-channel/dist/turn-follow.d.ts +0 -104
  333. package/payload/platform/services/telegram-channel/dist/turn-follow.d.ts.map +0 -1
  334. package/payload/platform/services/telegram-channel/dist/turn-follow.js +0 -408
  335. package/payload/platform/services/telegram-channel/dist/turn-follow.js.map +0 -1
  336. package/payload/platform/services/whatsapp-channel/dist/turn-follow.d.ts +0 -104
  337. package/payload/platform/services/whatsapp-channel/dist/turn-follow.d.ts.map +0 -1
  338. package/payload/platform/services/whatsapp-channel/dist/turn-follow.js +0 -393
  339. package/payload/platform/services/whatsapp-channel/dist/turn-follow.js.map +0 -1
@@ -1,81 +0,0 @@
1
- // Task 168 — per-tool emit assertion for memory-write.
2
- import { describe, it, expect, beforeEach, afterEach, vi } from "vitest";
3
- import { setupEmitCapture, makeMockSession } from "./_helpers/emit-capture.js";
4
- const mockSession = makeMockSession();
5
- vi.mock("../../lib/neo4j.js", () => ({
6
- getSession: () => mockSession,
7
- }));
8
- vi.mock("../../lib/embeddings.js", () => ({
9
- embed: vi.fn().mockResolvedValue([0.1, 0.2, 0.3]),
10
- }));
11
- vi.mock("../../lib/schema-validator.js", () => ({
12
- validateWrite: vi.fn(),
13
- }));
14
- vi.mock("../../lib/graph-write-gate.js", () => ({
15
- checkGraphWriteGate: vi.fn().mockResolvedValue({ ok: true }),
16
- checkPropertyWriteGate: vi.fn().mockReturnValue({ ok: true }),
17
- checkLabelWriteGate: vi.fn().mockReturnValue({ ok: true }),
18
- COMPILED_TRUTH_MAX_CHARS: 2000,
19
- }));
20
- vi.mock("../../../../../../lib/graph-write/dist/index.js", () => ({
21
- writeNodeWithEdges: vi.fn(),
22
- injectConversationProvenance: vi
23
- .fn()
24
- .mockImplementation(async ({ relationships }) => relationships),
25
- }));
26
- import { memoryWrite } from "../memory-write.js";
27
- import { writeNodeWithEdges } from "../../../../../../lib/graph-write/dist/index.js";
28
- describe("memory-write — emit wrapper wired", () => {
29
- let emit;
30
- beforeEach(() => {
31
- emit = setupEmitCapture();
32
- // Use mockClear (not mockReset) so the helper's default
33
- // implementation — empty `records` array — is preserved. memory-write
34
- // now runs resolveActiveVertical via this session before validating;
35
- // a wiped implementation would return undefined and crash that read.
36
- mockSession.run.mockClear();
37
- vi.mocked(writeNodeWithEdges).mockReset();
38
- });
39
- afterEach(() => emit.restore());
40
- it("emits result=ok line on happy path", async () => {
41
- vi.mocked(writeNodeWithEdges).mockResolvedValue({
42
- nodeId: "4:abc:1",
43
- labels: ["LocalBusiness"],
44
- created: true,
45
- });
46
- await memoryWrite({
47
- labels: ["LocalBusiness"],
48
- properties: { name: "Smalleys" },
49
- accountId: "acct-1",
50
- scope: "shared",
51
- relationships: [{ type: "BELONGS_TO", direction: "outgoing", targetNodeId: "4:owner:1" }],
52
- createdBy: { agent: "system", session: "s1" },
53
- validator: { schema: { brandVertical: null } },
54
- });
55
- expect(emit.fetchSpy).toHaveBeenCalledTimes(1);
56
- const body = emit.captures()[0];
57
- expect(body.tag).toBe("mcp:memory");
58
- expect(body.level).toBe("info");
59
- expect(body.line).toContain("memory-write");
60
- expect(body.line).toContain("result=ok");
61
- expect(body.line).toContain("elementId=4:abc:1");
62
- });
63
- it("emits result=error reason=invalid-input on missing scope", async () => {
64
- await expect(memoryWrite({
65
- labels: ["LocalBusiness"],
66
- properties: { name: "Smalleys" },
67
- accountId: "acct-1",
68
- scope: "",
69
- relationships: [],
70
- createdBy: {},
71
- validator: { schema: { brandVertical: null } },
72
- })).rejects.toThrow(/scope is required/);
73
- expect(emit.fetchSpy).toHaveBeenCalledTimes(1);
74
- const body = emit.captures()[0];
75
- expect(body.level).toBe("error");
76
- expect(body.line).toContain("memory-write");
77
- expect(body.line).toContain("result=error");
78
- expect(body.line).toContain("reason=invalid-input");
79
- });
80
- });
81
- //# sourceMappingURL=memory-write-emit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-write-emit.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/memory-write-emit.test.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- /**
2
- * memory-classify MCP tool — classifies an unstructured document into typed
3
- * sections via Claude Haiku, ready for memory-ingest to write as typed
4
- * graph nodes.
5
- *
6
- * Pairs with memory-ingest-extract (which produces the text) and memory-ingest
7
- * (which consumes the typed structure). The classifier output is a deterministic
8
- * JSON shape — every `kind` is verified against the live ontology label set
9
- * before reaching this tool's caller, so a hallucinated label can never reach
10
- * the graph writer.
11
- */
12
- import { type ClassifyResult } from "../lib/llm-classifier.js";
13
- import type { LiveSchemaSource } from "../lib/live-schema-source.js";
14
- export interface MemoryClassifyParams {
15
- accountId: string;
16
- /**
17
- * The attachmentId from memory-ingest-extract — its cache holds the
18
- * extracted text. The classifier never re-reads the file from disk.
19
- */
20
- attachmentId: string;
21
- /**
22
- * Anchor description — a short human sentence the classifier reads to
23
- * decide which ontology edges fit. Examples:
24
- * "subject = UserProfile (the account owner)"
25
- * "subject = LocalBusiness (the operator's business)"
26
- * "subject = Person {name: 'Jane Smith'} (a third party)"
27
- */
28
- anchorDescription: string;
29
- /** Live ∪ declared label source — used to verify every classifier `kind`. */
30
- liveSchemaSource: LiveSchemaSource;
31
- }
32
- export type MemoryClassifyResult = ClassifyResult;
33
- export declare function memoryClassify(params: MemoryClassifyParams): Promise<MemoryClassifyResult>;
34
- //# sourceMappingURL=memory-classify.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-classify.d.ts","sourceRoot":"","sources":["../../src/tools/memory-classify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGrE,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC;AA4BlD,wBAAsB,cAAc,CAClC,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAK/B"}
@@ -1,62 +0,0 @@
1
- /**
2
- * memory-classify MCP tool — classifies an unstructured document into typed
3
- * sections via Claude Haiku, ready for memory-ingest to write as typed
4
- * graph nodes.
5
- *
6
- * Pairs with memory-ingest-extract (which produces the text) and memory-ingest
7
- * (which consumes the typed structure). The classifier output is a deterministic
8
- * JSON shape — every `kind` is verified against the live ontology label set
9
- * before reaching this tool's caller, so a hallucinated label can never reach
10
- * the graph writer.
11
- */
12
- import { extractCache } from "./memory-ingest-extract.js";
13
- import { classifyDocument } from "../lib/llm-classifier.js";
14
- import { withWriteEvent } from "../lib/log-ingest.js";
15
- /**
16
- * Natural-edge map pasted into the classifier prompt. Mirrors
17
- * schema-base.md "Section kinds" table. Every section becomes a `:Section`
18
- * node with the listed secondary label (e.g. `:Section:Position`).
19
- *
20
- * For identity kinds: anchorEdge points from the document subject to the
21
- * multi-labeled section node. For structural and contract-clause kinds:
22
- * anchorEdge is null — the section is anchored only via HAS_SECTION + NEXT.
23
- * Special-case extras for Parties + Definitions are emitted via documentEdges
24
- * and section-level related entries.
25
- */
26
- const NATURAL_EDGE_MAP = `Section kind | Anchor edge (direction = from-anchor unless noted)
27
- Position (identity) | (anchor:UserProfile)-[:HAS_POSITION]->(:Section:Position); section -[:AT]-> related:Organization (merge:true)
28
- Education (identity) | (anchor:UserProfile)-[:ATTENDED {degree, startDate, endDate}]->(:Section:Education); section -[:ATTENDED]-> related:Organization {organizationCategory:'educational'} (merge:true)
29
- Credential (identity) | (anchor:UserProfile)-[:HOLDS]->(:Section:Credential)
30
- Skill (identity) | (anchor:UserProfile)-[:HAS_SKILL]->(:Section:Skill)
31
- Biography (identity) | (anchor:UserProfile)-[:DESCRIBED_BY]->(:Section:Biography)
32
- Project (standalone, not :Section) | (anchor:UserProfile)-[:CREATED]->(:Project); optional (:Project)-[:UNDER]->related:Organization (merge:true)
33
- Preface, Abstract, Introduction, TableOfContents, Chapter, Conclusion, Appendix, Bibliography, Glossary, Acknowledgments (structural)
34
- | anchorEdge: null — anchored only via (:KnowledgeDocument)-[:HAS_SECTION]->(:Section:<Kind>) + (:Section)-[:NEXT]->(:Section)
35
- Parties, Recitals, Definitions, Scope, Term, Payment, Confidentiality, IntellectualProperty, Warranties, Indemnification, Liability, Termination, GoverningLaw, ForceMajeure, Notices, EntireAgreement, Amendment, Assignment, Severability, Signatures (contract-clause)
36
- | anchorEdge: null — anchored via HAS_SECTION + NEXT; for Parties section, additionally emit top-level documentEdges PARTY entries; for Definitions, emit related DefinedTerm nodes with edge type DEFINES (direction outgoing from the Definitions section).
37
- Other (label fallback) | anchorEdge: null — section-kind closure miss; you MUST also include 'classifierReason' (one-line about-what)
38
-
39
- Set "anchorEdge" to null for any kind whose row says "anchorEdge: null". For others, emit { "type": "<edge>", "direction": "from-anchor", "properties": { ... edge properties if any } }.`;
40
- export async function memoryClassify(params) {
41
- return withWriteEvent({ tool: "memory-classify", accountId: params.accountId, name: params.attachmentId }, () => memoryClassifyImpl(params));
42
- }
43
- async function memoryClassifyImpl(params) {
44
- const { accountId, attachmentId, anchorDescription, liveSchemaSource } = params;
45
- const cached = extractCache.get(attachmentId);
46
- if (!cached) {
47
- throw new Error(`No cached extract found for attachment "${attachmentId}". ` +
48
- `Call memory-ingest-extract first.`);
49
- }
50
- // Live ∪ declared labels — the gate the validator uses for memory-write.
51
- // The classifier sees the same set so its output and the validator agree
52
- // by construction.
53
- const ontologyLabels = liveSchemaSource.recognisedLabels();
54
- return classifyDocument({
55
- accountId,
56
- anchorDescription,
57
- ontologyLabels,
58
- naturalEdgeMap: NATURAL_EDGE_MAP,
59
- documentText: cached.text,
60
- });
61
- }
62
- //# sourceMappingURL=memory-classify.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-classify.js","sourceRoot":"","sources":["../../src/tools/memory-classify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAuB,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAuBtD;;;;;;;;;;GAUG;AACH,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;0LAaiK,CAAC;AAE3L,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA4B;IAE5B,OAAO,cAAc,CACnB,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,EACnF,GAAG,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,CACjC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,MAA4B;IAE5B,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC;IAEhF,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,2CAA2C,YAAY,KAAK;YAC5D,mCAAmC,CACpC,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,yEAAyE;IACzE,mBAAmB;IACnB,MAAM,cAAc,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;IAE3D,OAAO,gBAAgB,CAAC;QACtB,SAAS;QACT,iBAAiB;QACjB,cAAc;QACd,cAAc,EAAE,gBAAgB;QAChC,YAAY,EAAE,MAAM,CAAC,IAAI;KAC1B,CAAC,CAAC;AACL,CAAC"}
@@ -1,61 +0,0 @@
1
- /**
2
- * memory-rank — LLM-reasoned entity ranking.
3
- *
4
- * Flow:
5
- * 1. memorySearch(..., limit = candidatePoolSize) to retrieve candidates
6
- * using the existing hybrid vector+BM25 pipeline and scope/agent filters.
7
- * 2. rankCandidates(candidates, criteria, accountId) — passes the pool to
8
- * Claude Haiku with a sandboxed ranking prompt, parses the response, and
9
- * filters any hallucinated nodeIds.
10
- * 3. Merge reasoning back onto the original memory-search results and slice
11
- * to `limit`.
12
- * 4. On LLM unavailability (no key, API error, malformed response, etc.),
13
- * fall back to the unranked memory-search results prefixed with a
14
- * "[Ranking unavailable: <reason>]" notice. Degraded success — not an
15
- * error response. This makes the failure visible to the agent so it can
16
- * relay to the user.
17
- */
18
- export interface RankParams {
19
- query: string;
20
- criteria: string;
21
- labels?: string[];
22
- accountId: string;
23
- limit?: number;
24
- candidatePoolSize?: number;
25
- expandHops?: number;
26
- allowedScopes?: string[];
27
- keywords?: string[];
28
- keywordMatch?: "any" | "all";
29
- agentSlug?: string;
30
- /** Passed through to memory-search so reactive knowledge subscriptions
31
- * (KNOWLEDGE_KEYWORDS env var on public agents) expand the candidate pool
32
- * the same way they do for memory-search. Omitting this would silently
33
- * give memory-rank a narrower candidate pool than memory-search for the
34
- * same account. */
35
- keywordSubscriptions?: string[];
36
- }
37
- export interface RankedResult {
38
- nodeId: string;
39
- labels: string[];
40
- properties: Record<string, unknown>;
41
- score: number;
42
- related: Array<{
43
- relationship: string;
44
- direction: string;
45
- labels: string[];
46
- properties: Record<string, unknown>;
47
- }>;
48
- rank?: number;
49
- reasoning?: string;
50
- }
51
- export interface RankResponse {
52
- results: RankedResult[];
53
- /** When present, ranking failed and results are in original memory-search score order. */
54
- fallbackReason?: string;
55
- /** Number of candidates the LLM invented that were filtered out. */
56
- hallucinated: number;
57
- /** Number of candidates returned by memory-search before ranking. */
58
- candidatePoolSize: number;
59
- }
60
- export declare function memoryRank(params: RankParams): Promise<RankResponse>;
61
- //# sourceMappingURL=memory-rank.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-rank.d.ts","sourceRoot":"","sources":["../../src/tools/memory-rank.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AASH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;uBAImB;IACnB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACrC,CAAC,CAAC;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,0FAA0F;IAC1F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAeD,wBAAsB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAqF1E"}
@@ -1,102 +0,0 @@
1
- /**
2
- * memory-rank — LLM-reasoned entity ranking.
3
- *
4
- * Flow:
5
- * 1. memorySearch(..., limit = candidatePoolSize) to retrieve candidates
6
- * using the existing hybrid vector+BM25 pipeline and scope/agent filters.
7
- * 2. rankCandidates(candidates, criteria, accountId) — passes the pool to
8
- * Claude Haiku with a sandboxed ranking prompt, parses the response, and
9
- * filters any hallucinated nodeIds.
10
- * 3. Merge reasoning back onto the original memory-search results and slice
11
- * to `limit`.
12
- * 4. On LLM unavailability (no key, API error, malformed response, etc.),
13
- * fall back to the unranked memory-search results prefixed with a
14
- * "[Ranking unavailable: <reason>]" notice. Degraded success — not an
15
- * error response. This makes the failure visible to the agent so it can
16
- * relay to the user.
17
- */
18
- import { memorySearch } from "./memory-search.js";
19
- import { rankCandidates } from "../lib/llm-ranker.js";
20
- // ---------------------------------------------------------------------------
21
- // Defaults
22
- // ---------------------------------------------------------------------------
23
- const DEFAULT_LIMIT = 10;
24
- const DEFAULT_POOL = 20;
25
- const MAX_POOL = 50;
26
- const DEFAULT_EXPAND = 1;
27
- // ---------------------------------------------------------------------------
28
- // Main entry point
29
- // ---------------------------------------------------------------------------
30
- export async function memoryRank(params) {
31
- const limit = Math.max(1, Math.min(params.limit ?? DEFAULT_LIMIT, MAX_POOL));
32
- const pool = Math.max(1, Math.min(params.candidatePoolSize ?? DEFAULT_POOL, MAX_POOL));
33
- const expandHops = params.expandHops ?? DEFAULT_EXPAND;
34
- // --- Step 1: retrieve candidates via memory-search ---
35
- const candidates = await memorySearch({
36
- query: params.query,
37
- labels: params.labels,
38
- accountId: params.accountId,
39
- limit: pool,
40
- expandHops,
41
- allowedScopes: params.allowedScopes,
42
- keywords: params.keywords,
43
- keywordMatch: params.keywordMatch,
44
- agentSlug: params.agentSlug,
45
- keywordSubscriptions: params.keywordSubscriptions,
46
- });
47
- process.stderr.write(`[memory-rank] [${params.accountId}] candidates=${candidates.length} (requested pool=${pool}, limit=${limit})\n`);
48
- if (candidates.length === 0) {
49
- return {
50
- results: [],
51
- hallucinated: 0,
52
- candidatePoolSize: 0,
53
- };
54
- }
55
- // --- Step 2: LLM ranking ---
56
- const rankCandidatePayload = candidates.map((c) => ({
57
- nodeId: c.nodeId,
58
- labels: c.labels,
59
- properties: c.properties,
60
- related: c.related,
61
- }));
62
- const rankResult = await rankCandidates(rankCandidatePayload, params.criteria, params.accountId);
63
- // --- Step 3a: error path — return original memory-search order unranked ---
64
- if (rankResult.kind === "error") {
65
- const sliced = candidates.slice(0, limit).map((c) => ({
66
- nodeId: c.nodeId,
67
- labels: c.labels,
68
- properties: c.properties,
69
- score: c.score,
70
- related: c.related,
71
- }));
72
- return {
73
- results: sliced,
74
- fallbackReason: rankResult.reason,
75
- hallucinated: 0,
76
- candidatePoolSize: candidates.length,
77
- };
78
- }
79
- // --- Step 3b: ranked path — merge reasoning back onto memory-search results ---
80
- const candidateByNodeId = new Map(candidates.map((c) => [c.nodeId, c]));
81
- const rankedResults = [];
82
- for (const ranking of rankResult.rankings) {
83
- const candidate = candidateByNodeId.get(ranking.nodeId);
84
- if (!candidate)
85
- continue; // defensive — should never hit since llm-ranker already filtered
86
- rankedResults.push({
87
- nodeId: candidate.nodeId,
88
- labels: candidate.labels,
89
- properties: candidate.properties,
90
- score: candidate.score,
91
- related: candidate.related,
92
- rank: ranking.rank,
93
- reasoning: ranking.reasoning,
94
- });
95
- }
96
- return {
97
- results: rankedResults.slice(0, limit),
98
- hallucinated: rankResult.hallucinated,
99
- candidatePoolSize: candidates.length,
100
- };
101
- }
102
- //# sourceMappingURL=memory-rank.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-rank.js","sourceRoot":"","sources":["../../src/tools/memory-rank.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- interface SignalsRecentParams {
2
- accountId: string;
3
- /** Hours back from now. Default 24. Capped at 720h (30 days) — beyond that the read becomes a graph crawl, not a diagnostic. */
4
- windowHours?: number;
5
- /** Max rows returned. Default 50, max 200. */
6
- limit?: number;
7
- }
8
- interface MentionRow {
9
- kind: "mention";
10
- entityLabel: string;
11
- entityName: string;
12
- conversationId: string;
13
- messageId: string;
14
- messageExcerpt: string;
15
- observedAt: string;
16
- }
17
- interface IdeaRow {
18
- kind: "idea";
19
- conversationId: string;
20
- ideaBody: string;
21
- observedAt: string;
22
- }
23
- type SignalRow = MentionRow | IdeaRow;
24
- interface SignalsRecentResult {
25
- rows: SignalRow[];
26
- windowHours: number;
27
- counts: {
28
- mentions: number;
29
- ideas: number;
30
- total: number;
31
- };
32
- }
33
- export declare function memorySignalsRecent(params: SignalsRecentParams): Promise<SignalsRecentResult>;
34
- export {};
35
- //# sourceMappingURL=memory-signals-recent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-signals-recent.d.ts","sourceRoot":"","sources":["../../src/tools/memory-signals-recent.ts"],"names":[],"mappings":"AAiBA,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,gIAAgI;IAChI,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,KAAK,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAEtC,UAAU,mBAAmB;IAC3B,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAOD,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CA8E9B"}
@@ -1,73 +0,0 @@
1
- import { getSession } from "../lib/neo4j.js";
2
- import { notTrashed } from "../../../../../lib/graph-trash/dist/index.js";
3
- const DEFAULT_WINDOW_HOURS = 24;
4
- const MAX_WINDOW_HOURS = 720;
5
- const DEFAULT_LIMIT = 50;
6
- const MAX_LIMIT = 200;
7
- export async function memorySignalsRecent(params) {
8
- const { accountId } = params;
9
- const windowHours = Math.min(Math.max(params.windowHours ?? DEFAULT_WINDOW_HOURS, 1), MAX_WINDOW_HOURS);
10
- const limit = Math.min(Math.max(params.limit ?? DEFAULT_LIMIT, 1), MAX_LIMIT);
11
- const session = getSession();
12
- try {
13
- // Mentions: :Message-[:MENTIONS]->Entity edges written by signal-detector
14
- // since the cutoff. Excerpt is the first 120 chars of the message body
15
- // so the operator sees enough to recognise context without a separate read.
16
- const mentionsResult = await session.run(`MATCH (m:Message)-[r:MENTIONS]->(e)
17
- WHERE m.accountId = $accountId
18
- AND r.createdByAgent = 'signal-detector'
19
- AND r.createdAt > datetime() - duration({hours: $windowHours})
20
- AND ${notTrashed("m")}
21
- AND ${notTrashed("e")}
22
- RETURN labels(e) AS entityLabels,
23
- coalesce(e.name, e.title, '<unnamed>') AS entityName,
24
- m.conversationId AS conversationId,
25
- elementId(m) AS messageId,
26
- substring(coalesce(m.body, m.text, ''), 0, 120) AS messageExcerpt,
27
- toString(r.createdAt) AS observedAt
28
- ORDER BY r.createdAt DESC
29
- LIMIT $limit`, { accountId, windowHours, limit });
30
- const mentions = mentionsResult.records.map((rec) => ({
31
- kind: "mention",
32
- entityLabel: (rec.get("entityLabels") ?? []).find((l) => l !== "Trashed") ?? "Unknown",
33
- entityName: String(rec.get("entityName") ?? ""),
34
- conversationId: String(rec.get("conversationId") ?? ""),
35
- messageId: String(rec.get("messageId") ?? ""),
36
- messageExcerpt: String(rec.get("messageExcerpt") ?? ""),
37
- observedAt: String(rec.get("observedAt") ?? ""),
38
- }));
39
- // Ideas: :Idea nodes written by signal-detector since the cutoff.
40
- const ideasResult = await session.run(`MATCH (i:Idea)
41
- WHERE i.accountId = $accountId
42
- AND i.createdByAgent = 'signal-detector'
43
- AND i.createdAt > datetime() - duration({hours: $windowHours})
44
- AND ${notTrashed("i")}
45
- RETURN coalesce(i.conversationId, '<none>') AS conversationId,
46
- coalesce(i.body, '') AS ideaBody,
47
- toString(i.createdAt) AS observedAt
48
- ORDER BY i.createdAt DESC
49
- LIMIT $limit`, { accountId, windowHours, limit });
50
- const ideas = ideasResult.records.map((rec) => ({
51
- kind: "idea",
52
- conversationId: String(rec.get("conversationId") ?? ""),
53
- ideaBody: String(rec.get("ideaBody") ?? ""),
54
- observedAt: String(rec.get("observedAt") ?? ""),
55
- }));
56
- // Interleaved by observedAt desc so the operator scans a single
57
- // chronological feed instead of two separate sections.
58
- const rows = [...mentions, ...ideas].sort((a, b) => a.observedAt < b.observedAt ? 1 : a.observedAt > b.observedAt ? -1 : 0);
59
- return {
60
- rows: rows.slice(0, limit),
61
- windowHours,
62
- counts: {
63
- mentions: mentions.length,
64
- ideas: ideas.length,
65
- total: mentions.length + ideas.length,
66
- },
67
- };
68
- }
69
- finally {
70
- await session.close();
71
- }
72
- }
73
- //# sourceMappingURL=memory-signals-recent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-signals-recent.js","sourceRoot":"","sources":["../../src/tools/memory-signals-recent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAC;AAqD1E,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAA2B;IAE3B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,oBAAoB,EAAE,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACxG,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,aAAa,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAE9E,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,0EAA0E;QAC1E,uEAAuE;QACvE,4EAA4E;QAC5E,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC;;;;eAIS,UAAU,CAAC,GAAG,CAAC;eACf,UAAU,CAAC,GAAG,CAAC;;;;;;;;oBAQV,EACd,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,CAClC,CAAC;QAEF,MAAM,QAAQ,GAAiB,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAClE,IAAI,EAAE,SAAkB;YACxB,WAAW,EAAE,CAAE,GAAG,CAAC,GAAG,CAAC,cAAc,CAAc,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,IAAI,SAAS;YACpG,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC/C,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;YACvD,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAC7C,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;YACvD,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;SAChD,CAAC,CAAC,CAAC;QAEJ,kEAAkE;QAClE,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC;;;;eAIS,UAAU,CAAC,GAAG,CAAC;;;;;oBAKV,EACd,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,CAClC,CAAC;QAEF,MAAM,KAAK,GAAc,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACzD,IAAI,EAAE,MAAe;YACrB,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;YACvD,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC3C,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;SAChD,CAAC,CAAC,CAAC;QAEJ,gEAAgE;QAChE,uDAAuD;QACvD,MAAM,IAAI,GAAgB,CAAC,GAAG,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC9D,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACvE,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;YAC1B,WAAW;YACX,MAAM,EAAE;gBACN,QAAQ,EAAE,QAAQ,CAAC,MAAM;gBACzB,KAAK,EAAE,KAAK,CAAC,MAAM;gBACnB,KAAK,EAAE,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM;aACtC;SACF,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;AACH,CAAC"}
@@ -1,29 +0,0 @@
1
- /**
2
- * MCP tool wrapper for the typed-edge pass.
3
- *
4
- * Called by `database-operator` (Task-spawned by admin during an on-demand
5
- * `/insight` pass). Admin does not call this tool directly — it is not in
6
- * `ADMIN_CORE_TOOLS`. Backfill invokes the underlying `runTypedEdgePass`
7
- * via the CLI script, bypassing this tool.
8
- *
9
- * Returns the pass counters so database-operator can hand them back to
10
- * admin for its insight-pass summary.
11
- */
12
- import type { Session } from "neo4j-driver";
13
- import { type TypedEdgePassResult } from "../lib/typed-edge-pass.js";
14
- export interface MemoryTypedEdgePassArgs {
15
- /**
16
- * Lower bound on `node.updatedAt`. The admin agent passes the session
17
- * start timestamp from the insight-pass prompt. Backfill mode passes
18
- * null (handled by the CLI script, not this tool).
19
- */
20
- sinceIso: string;
21
- /**
22
- * Optional conversation id stamped onto the createdBy provenance of
23
- * MERGEd edges. Admin passes its own conversation id; if absent, the
24
- * env var fallback is used.
25
- */
26
- sessionId?: string;
27
- }
28
- export declare function memoryTypedEdgePass(args: MemoryTypedEdgePassArgs, session: Session, accountId: string): Promise<TypedEdgePassResult>;
29
- //# sourceMappingURL=memory-typed-edge-pass.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-typed-edge-pass.d.ts","sourceRoot":"","sources":["../../src/tools/memory-typed-edge-pass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAoB,KAAK,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEvF,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,uBAAuB,EAC7B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,mBAAmB,CAAC,CAQ9B"}
@@ -1,22 +0,0 @@
1
- /**
2
- * MCP tool wrapper for the typed-edge pass.
3
- *
4
- * Called by `database-operator` (Task-spawned by admin during an on-demand
5
- * `/insight` pass). Admin does not call this tool directly — it is not in
6
- * `ADMIN_CORE_TOOLS`. Backfill invokes the underlying `runTypedEdgePass`
7
- * via the CLI script, bypassing this tool.
8
- *
9
- * Returns the pass counters so database-operator can hand them back to
10
- * admin for its insight-pass summary.
11
- */
12
- import { runTypedEdgePass } from "../lib/typed-edge-pass.js";
13
- export async function memoryTypedEdgePass(args, session, accountId) {
14
- const sessionId = args.sessionId ?? process.env.SESSION_ID ?? null;
15
- return runTypedEdgePass({
16
- session,
17
- accountId,
18
- sinceIso: args.sinceIso,
19
- sessionId,
20
- });
21
- }
22
- //# sourceMappingURL=memory-typed-edge-pass.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-typed-edge-pass.js","sourceRoot":"","sources":["../../src/tools/memory-typed-edge-pass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,gBAAgB,EAA4B,MAAM,2BAA2B,CAAC;AAiBvF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAA6B,EAC7B,OAAgB,EAChB,SAAiB;IAEjB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC;IACnE,OAAO,gBAAgB,CAAC;QACtB,OAAO;QACP,SAAS;QACT,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,SAAS;KACV,CAAC,CAAC;AACL,CAAC"}
@@ -1,30 +0,0 @@
1
- /**
2
- * Session-retrospective skip-rate visibility tool.
3
- *
4
- * Called by the admin agent at session start. Returns the ratio of recent
5
- * sessions that closed without calling `session-retrospective-mark-complete`
6
- * — sessions where the typed-edge pass, learnings pass, and SOUL.md pass
7
- * never ran. The admin agent surfaces the result to the operator if the
8
- * rate is non-zero so closing via Sidebar Archive / tab-close becomes a
9
- * visible cost rather than a silent one.
10
- *
11
- * Mechanism: count `:Conversation` nodes for this account in the recent
12
- * window; count those whose corresponding session log contains the
13
- * sentinel tool-use of `session-retrospective-mark-complete`. The ratio
14
- * is the skip rate. Pending nodes (prose with `updatedAt` later than the
15
- * most-recent completed retrospective) carry the deferred typed-edge work
16
- * that will land at the next /end.
17
- */
18
- import { type Session } from "neo4j-driver";
19
- export interface SessionSkipRateArgs {
20
- /** Window size — number of most-recent sessions to inspect. Default 10. */
21
- windowSize?: number;
22
- }
23
- export interface SessionSkipRateResult {
24
- windowSessions: number;
25
- completedRetrospectives: number;
26
- skipRate: number;
27
- oldestPendingSinceIso: string | null;
28
- }
29
- export declare function sessionRetrospectiveSkipRate(args: SessionSkipRateArgs, session: Session, accountId: string): Promise<SessionSkipRateResult>;
30
- //# sourceMappingURL=session-retrospective-skip-rate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-retrospective-skip-rate.d.ts","sourceRoot":"","sources":["../../src/tools/session-retrospective-skip-rate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAO,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,WAAW,mBAAmB;IAClC,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,uBAAuB,EAAE,MAAM,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,qBAAqB,CAAC,CAuHhC"}