@rubytech/create-realagent-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 (289) 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/scripts/__tests__/agent-identity-reconcile.test.sh +110 -0
  21. package/payload/platform/scripts/__tests__/check-orphan-dist.test.sh +87 -0
  22. package/payload/platform/scripts/check-orphan-dist.mjs +143 -0
  23. package/payload/platform/scripts/lib/agent-identity-reconcile.sh +122 -0
  24. package/payload/platform/scripts/lib/provision-account-dir.sh +8 -26
  25. package/payload/platform/scripts/setup-account.sh +15 -0
  26. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts +37 -0
  27. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  28. package/payload/platform/services/claude-session-manager/dist/http-server.js +178 -13
  29. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  30. package/payload/platform/services/claude-session-manager/dist/index.js +5 -0
  31. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  32. package/payload/platform/services/claude-session-manager/dist/public-agent-reachability.d.ts +5 -0
  33. package/payload/platform/services/claude-session-manager/dist/public-agent-reachability.d.ts.map +1 -1
  34. package/payload/platform/services/claude-session-manager/dist/public-agent-reachability.js +42 -1
  35. package/payload/platform/services/claude-session-manager/dist/public-agent-reachability.js.map +1 -1
  36. package/payload/platform/services/claude-session-manager/dist/rc-public-lockdown.d.ts +13 -5
  37. package/payload/platform/services/claude-session-manager/dist/rc-public-lockdown.d.ts.map +1 -1
  38. package/payload/platform/services/claude-session-manager/dist/rc-public-lockdown.js +23 -9
  39. package/payload/platform/services/claude-session-manager/dist/rc-public-lockdown.js.map +1 -1
  40. package/payload/platform/services/claude-session-manager/dist/telegram-channel-mcp.d.ts +7 -4
  41. package/payload/platform/services/claude-session-manager/dist/telegram-channel-mcp.d.ts.map +1 -1
  42. package/payload/platform/services/claude-session-manager/dist/telegram-channel-mcp.js +5 -3
  43. package/payload/platform/services/claude-session-manager/dist/telegram-channel-mcp.js.map +1 -1
  44. package/payload/platform/services/claude-session-manager/dist/telegram-channel-store.d.ts +15 -1
  45. package/payload/platform/services/claude-session-manager/dist/telegram-channel-store.d.ts.map +1 -1
  46. package/payload/platform/services/claude-session-manager/dist/telegram-channel-store.js +16 -7
  47. package/payload/platform/services/claude-session-manager/dist/telegram-channel-store.js.map +1 -1
  48. package/payload/platform/services/claude-session-manager/dist/telegram-plugin-mcp.d.ts +28 -0
  49. package/payload/platform/services/claude-session-manager/dist/telegram-plugin-mcp.d.ts.map +1 -0
  50. package/payload/platform/services/claude-session-manager/dist/telegram-plugin-mcp.js +53 -0
  51. package/payload/platform/services/claude-session-manager/dist/telegram-plugin-mcp.js.map +1 -0
  52. package/payload/platform/services/claude-session-manager/dist/wa-channel-mcp.d.ts +9 -5
  53. package/payload/platform/services/claude-session-manager/dist/wa-channel-mcp.d.ts.map +1 -1
  54. package/payload/platform/services/claude-session-manager/dist/wa-channel-mcp.js +12 -6
  55. package/payload/platform/services/claude-session-manager/dist/wa-channel-mcp.js.map +1 -1
  56. package/payload/platform/services/claude-session-manager/dist/webchat-channel-mcp.d.ts +7 -3
  57. package/payload/platform/services/claude-session-manager/dist/webchat-channel-mcp.d.ts.map +1 -1
  58. package/payload/platform/services/claude-session-manager/dist/webchat-channel-mcp.js +5 -1
  59. package/payload/platform/services/claude-session-manager/dist/webchat-channel-mcp.js.map +1 -1
  60. package/payload/platform/services/telegram-channel/dist/instructions.d.ts +14 -2
  61. package/payload/platform/services/telegram-channel/dist/instructions.d.ts.map +1 -1
  62. package/payload/platform/services/telegram-channel/dist/instructions.js +34 -3
  63. package/payload/platform/services/telegram-channel/dist/instructions.js.map +1 -1
  64. package/payload/platform/templates/agents/public/IDENTITY.md +3 -3
  65. package/payload/server/server.js +74 -9
  66. package/payload/platform/lib/anthropic-key/dist/index.d.ts +0 -22
  67. package/payload/platform/lib/anthropic-key/dist/index.d.ts.map +0 -1
  68. package/payload/platform/lib/anthropic-key/dist/index.js +0 -232
  69. package/payload/platform/lib/anthropic-key/dist/index.js.map +0 -1
  70. package/payload/platform/lib/graph-search/dist/query-expansion.d.ts +0 -37
  71. package/payload/platform/lib/graph-search/dist/query-expansion.d.ts.map +0 -1
  72. package/payload/platform/lib/graph-search/dist/query-expansion.js +0 -101
  73. package/payload/platform/lib/graph-search/dist/query-expansion.js.map +0 -1
  74. package/payload/platform/lib/oauth-llm/dist/index.d.ts +0 -116
  75. package/payload/platform/lib/oauth-llm/dist/index.d.ts.map +0 -1
  76. package/payload/platform/lib/oauth-llm/dist/index.js +0 -386
  77. package/payload/platform/lib/oauth-llm/dist/index.js.map +0 -1
  78. package/payload/platform/lib/screening-patterns/dist/index.d.ts +0 -29
  79. package/payload/platform/lib/screening-patterns/dist/index.d.ts.map +0 -1
  80. package/payload/platform/lib/screening-patterns/dist/index.js +0 -48
  81. package/payload/platform/lib/screening-patterns/dist/index.js.map +0 -1
  82. package/payload/platform/plugins/admin/mcp/dist/__tests__/admin-identity-authenticate.test.d.ts +0 -2
  83. package/payload/platform/plugins/admin/mcp/dist/__tests__/admin-identity-authenticate.test.d.ts.map +0 -1
  84. package/payload/platform/plugins/admin/mcp/dist/__tests__/admin-identity-authenticate.test.js +0 -34
  85. package/payload/platform/plugins/admin/mcp/dist/__tests__/admin-identity-authenticate.test.js.map +0 -1
  86. package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.d.ts +0 -39
  87. package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.d.ts.map +0 -1
  88. package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.js +0 -249
  89. package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.js.map +0 -1
  90. package/payload/platform/plugins/admin/mcp/dist/tools/admin-identity-authenticate.d.ts +0 -6
  91. package/payload/platform/plugins/admin/mcp/dist/tools/admin-identity-authenticate.d.ts.map +0 -1
  92. package/payload/platform/plugins/admin/mcp/dist/tools/admin-identity-authenticate.js +0 -32
  93. package/payload/platform/plugins/admin/mcp/dist/tools/admin-identity-authenticate.js.map +0 -1
  94. package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.d.ts +0 -283
  95. package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.d.ts.map +0 -1
  96. package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.js +0 -1155
  97. package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.js.map +0 -1
  98. package/payload/platform/plugins/cloudflare/mcp/dist/lib/setup-orchestrator.d.ts +0 -90
  99. package/payload/platform/plugins/cloudflare/mcp/dist/lib/setup-orchestrator.d.ts.map +0 -1
  100. package/payload/platform/plugins/cloudflare/mcp/dist/lib/setup-orchestrator.js +0 -551
  101. package/payload/platform/plugins/cloudflare/mcp/dist/lib/setup-orchestrator.js.map +0 -1
  102. package/payload/platform/plugins/email/mcp/dist/lib/claude-bridge.d.ts +0 -17
  103. package/payload/platform/plugins/email/mcp/dist/lib/claude-bridge.d.ts.map +0 -1
  104. package/payload/platform/plugins/email/mcp/dist/lib/claude-bridge.js +0 -186
  105. package/payload/platform/plugins/email/mcp/dist/lib/claude-bridge.js.map +0 -1
  106. package/payload/platform/plugins/email/mcp/dist/lib/screening.d.ts +0 -29
  107. package/payload/platform/plugins/email/mcp/dist/lib/screening.d.ts.map +0 -1
  108. package/payload/platform/plugins/email/mcp/dist/lib/screening.js +0 -105
  109. package/payload/platform/plugins/email/mcp/dist/lib/screening.js.map +0 -1
  110. package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.d.ts +0 -38
  111. package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.d.ts.map +0 -1
  112. package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.js +0 -817
  113. package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.js.map +0 -1
  114. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.d.ts +0 -30
  115. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.d.ts.map +0 -1
  116. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js +0 -215
  117. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js.map +0 -1
  118. package/payload/platform/plugins/email/mcp/dist/tools/email-auto-respond-config.d.ts +0 -19
  119. package/payload/platform/plugins/email/mcp/dist/tools/email-auto-respond-config.d.ts.map +0 -1
  120. package/payload/platform/plugins/email/mcp/dist/tools/email-auto-respond-config.js +0 -151
  121. package/payload/platform/plugins/email/mcp/dist/tools/email-auto-respond-config.js.map +0 -1
  122. package/payload/platform/plugins/email/mcp/dist/tools/email-classify.d.ts +0 -6
  123. package/payload/platform/plugins/email/mcp/dist/tools/email-classify.d.ts.map +0 -1
  124. package/payload/platform/plugins/email/mcp/dist/tools/email-classify.js +0 -89
  125. package/payload/platform/plugins/email/mcp/dist/tools/email-classify.js.map +0 -1
  126. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/compiled-truth-rewriter-operator-hint.test.d.ts +0 -2
  127. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/compiled-truth-rewriter-operator-hint.test.d.ts.map +0 -1
  128. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/compiled-truth-rewriter-operator-hint.test.js +0 -90
  129. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/compiled-truth-rewriter-operator-hint.test.js.map +0 -1
  130. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.d.ts +0 -2
  131. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.d.ts.map +0 -1
  132. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.js +0 -226
  133. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.js.map +0 -1
  134. package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-rewriter.d.ts +0 -60
  135. package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-rewriter.d.ts.map +0 -1
  136. package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-rewriter.js +0 -169
  137. package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-rewriter.js.map +0 -1
  138. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.d.ts +0 -248
  139. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.d.ts.map +0 -1
  140. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.js +0 -824
  141. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.js.map +0 -1
  142. package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.d.ts +0 -63
  143. package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.d.ts.map +0 -1
  144. package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.js +0 -210
  145. package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.js.map +0 -1
  146. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-pass.d.ts +0 -35
  147. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-pass.d.ts.map +0 -1
  148. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-pass.js +0 -28
  149. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-pass.js.map +0 -1
  150. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights-emit.test.d.ts +0 -2
  151. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights-emit.test.d.ts.map +0 -1
  152. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights-emit.test.js +0 -68
  153. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights-emit.test.js.map +0 -1
  154. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-archive-write-emit.test.d.ts +0 -2
  155. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-archive-write-emit.test.d.ts.map +0 -1
  156. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-archive-write-emit.test.js +0 -88
  157. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-archive-write-emit.test.js.map +0 -1
  158. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-classify-emit.test.d.ts +0 -2
  159. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-classify-emit.test.d.ts.map +0 -1
  160. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-classify-emit.test.js +0 -58
  161. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-classify-emit.test.js.map +0 -1
  162. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-emit.test.d.ts +0 -2
  163. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-emit.test.d.ts.map +0 -1
  164. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-emit.test.js +0 -64
  165. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-emit.test.js.map +0 -1
  166. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-edit-attachment-emit.test.d.ts +0 -2
  167. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-edit-attachment-emit.test.d.ts.map +0 -1
  168. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-edit-attachment-emit.test.js +0 -70
  169. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-edit-attachment-emit.test.js.map +0 -1
  170. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-empty-trash-emit.test.d.ts +0 -2
  171. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-empty-trash-emit.test.d.ts.map +0 -1
  172. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-empty-trash-emit.test.js +0 -48
  173. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-empty-trash-emit.test.js.map +0 -1
  174. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-emit.test.d.ts +0 -2
  175. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-emit.test.d.ts.map +0 -1
  176. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-emit.test.js +0 -74
  177. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-emit.test.js.map +0 -1
  178. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-extract-emit.test.d.ts +0 -2
  179. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-extract-emit.test.d.ts.map +0 -1
  180. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-extract-emit.test.js +0 -47
  181. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-extract-emit.test.js.map +0 -1
  182. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-web-emit.test.d.ts +0 -2
  183. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-web-emit.test.d.ts.map +0 -1
  184. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-web-emit.test.js +0 -65
  185. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-web-emit.test.js.map +0 -1
  186. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-reindex-emit.test.d.ts +0 -2
  187. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-reindex-emit.test.d.ts.map +0 -1
  188. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-reindex-emit.test.js +0 -43
  189. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-reindex-emit.test.js.map +0 -1
  190. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-rename-attachment-emit.test.d.ts +0 -2
  191. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-rename-attachment-emit.test.d.ts.map +0 -1
  192. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-rename-attachment-emit.test.js +0 -65
  193. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-rename-attachment-emit.test.js.map +0 -1
  194. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-restore-emit.test.d.ts +0 -2
  195. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-restore-emit.test.d.ts.map +0 -1
  196. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-restore-emit.test.js +0 -49
  197. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-restore-emit.test.js.map +0 -1
  198. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-emit.test.d.ts +0 -2
  199. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-emit.test.d.ts.map +0 -1
  200. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-emit.test.js +0 -79
  201. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-emit.test.js.map +0 -1
  202. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-operator-hint.test.d.ts +0 -2
  203. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-operator-hint.test.d.ts.map +0 -1
  204. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-operator-hint.test.js +0 -329
  205. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-operator-hint.test.js.map +0 -1
  206. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-write-emit.test.d.ts +0 -2
  207. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-write-emit.test.d.ts.map +0 -1
  208. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-write-emit.test.js +0 -81
  209. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-write-emit.test.js.map +0 -1
  210. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.d.ts +0 -34
  211. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.d.ts.map +0 -1
  212. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.js +0 -62
  213. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.js.map +0 -1
  214. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rank.d.ts +0 -61
  215. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rank.d.ts.map +0 -1
  216. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rank.js +0 -102
  217. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rank.js.map +0 -1
  218. package/payload/platform/plugins/memory/mcp/dist/tools/memory-signals-recent.d.ts +0 -35
  219. package/payload/platform/plugins/memory/mcp/dist/tools/memory-signals-recent.d.ts.map +0 -1
  220. package/payload/platform/plugins/memory/mcp/dist/tools/memory-signals-recent.js +0 -73
  221. package/payload/platform/plugins/memory/mcp/dist/tools/memory-signals-recent.js.map +0 -1
  222. package/payload/platform/plugins/memory/mcp/dist/tools/memory-typed-edge-pass.d.ts +0 -29
  223. package/payload/platform/plugins/memory/mcp/dist/tools/memory-typed-edge-pass.d.ts.map +0 -1
  224. package/payload/platform/plugins/memory/mcp/dist/tools/memory-typed-edge-pass.js +0 -22
  225. package/payload/platform/plugins/memory/mcp/dist/tools/memory-typed-edge-pass.js.map +0 -1
  226. package/payload/platform/plugins/memory/mcp/dist/tools/session-retrospective-skip-rate.d.ts +0 -30
  227. package/payload/platform/plugins/memory/mcp/dist/tools/session-retrospective-skip-rate.d.ts.map +0 -1
  228. package/payload/platform/plugins/memory/mcp/dist/tools/session-retrospective-skip-rate.js +0 -130
  229. package/payload/platform/plugins/memory/mcp/dist/tools/session-retrospective-skip-rate.js.map +0 -1
  230. package/payload/platform/plugins/outlook/mcp/dist/auth/pkce-flow.d.ts +0 -65
  231. package/payload/platform/plugins/outlook/mcp/dist/auth/pkce-flow.d.ts.map +0 -1
  232. package/payload/platform/plugins/outlook/mcp/dist/auth/pkce-flow.js +0 -262
  233. package/payload/platform/plugins/outlook/mcp/dist/auth/pkce-flow.js.map +0 -1
  234. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/normalise-start-date.test.d.ts +0 -2
  235. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/normalise-start-date.test.d.ts.map +0 -1
  236. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/normalise-start-date.test.js +0 -100
  237. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/normalise-start-date.test.js.map +0 -1
  238. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/scheduled-seat-id.test.d.ts +0 -2
  239. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/scheduled-seat-id.test.d.ts.map +0 -1
  240. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/scheduled-seat-id.test.js +0 -22
  241. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/scheduled-seat-id.test.js.map +0 -1
  242. package/payload/platform/plugins/scheduling/mcp/dist/lib/scheduled-seat-id.d.ts +0 -11
  243. package/payload/platform/plugins/scheduling/mcp/dist/lib/scheduled-seat-id.d.ts.map +0 -1
  244. package/payload/platform/plugins/scheduling/mcp/dist/lib/scheduled-seat-id.js +0 -19
  245. package/payload/platform/plugins/scheduling/mcp/dist/lib/scheduled-seat-id.js.map +0 -1
  246. package/payload/platform/plugins/url-get/mcp/dist/lib/summarise.d.ts +0 -8
  247. package/payload/platform/plugins/url-get/mcp/dist/lib/summarise.d.ts.map +0 -1
  248. package/payload/platform/plugins/url-get/mcp/dist/lib/summarise.js +0 -83
  249. package/payload/platform/plugins/url-get/mcp/dist/lib/summarise.js.map +0 -1
  250. package/payload/platform/plugins/workflows/mcp/dist/lib/llm-call.d.ts +0 -151
  251. package/payload/platform/plugins/workflows/mcp/dist/lib/llm-call.d.ts.map +0 -1
  252. package/payload/platform/plugins/workflows/mcp/dist/lib/llm-call.js +0 -299
  253. package/payload/platform/plugins/workflows/mcp/dist/lib/llm-call.js.map +0 -1
  254. package/payload/platform/services/claude-session-manager/dist/account-admin-census.d.ts +0 -39
  255. package/payload/platform/services/claude-session-manager/dist/account-admin-census.d.ts.map +0 -1
  256. package/payload/platform/services/claude-session-manager/dist/account-admin-census.js +0 -122
  257. package/payload/platform/services/claude-session-manager/dist/account-admin-census.js.map +0 -1
  258. package/payload/platform/services/claude-session-manager/dist/admin-identity-audit.d.ts +0 -39
  259. package/payload/platform/services/claude-session-manager/dist/admin-identity-audit.d.ts.map +0 -1
  260. package/payload/platform/services/claude-session-manager/dist/admin-identity-audit.js +0 -133
  261. package/payload/platform/services/claude-session-manager/dist/admin-identity-audit.js.map +0 -1
  262. package/payload/platform/services/claude-session-manager/dist/input-postcondition.d.ts +0 -22
  263. package/payload/platform/services/claude-session-manager/dist/input-postcondition.d.ts.map +0 -1
  264. package/payload/platform/services/claude-session-manager/dist/input-postcondition.js +0 -50
  265. package/payload/platform/services/claude-session-manager/dist/input-postcondition.js.map +0 -1
  266. package/payload/platform/services/claude-session-manager/dist/jsonl-observer.d.ts +0 -30
  267. package/payload/platform/services/claude-session-manager/dist/jsonl-observer.d.ts.map +0 -1
  268. package/payload/platform/services/claude-session-manager/dist/jsonl-observer.js +0 -204
  269. package/payload/platform/services/claude-session-manager/dist/jsonl-observer.js.map +0 -1
  270. package/payload/platform/services/claude-session-manager/dist/rc-script-spawn.d.ts +0 -80
  271. package/payload/platform/services/claude-session-manager/dist/rc-script-spawn.d.ts.map +0 -1
  272. package/payload/platform/services/claude-session-manager/dist/rc-script-spawn.js +0 -306
  273. package/payload/platform/services/claude-session-manager/dist/rc-script-spawn.js.map +0 -1
  274. package/payload/platform/services/claude-session-manager/dist/session-store.d.ts +0 -49
  275. package/payload/platform/services/claude-session-manager/dist/session-store.d.ts.map +0 -1
  276. package/payload/platform/services/claude-session-manager/dist/session-store.js +0 -52
  277. package/payload/platform/services/claude-session-manager/dist/session-store.js.map +0 -1
  278. package/payload/platform/services/claude-session-manager/dist/systemd-spawn.d.ts +0 -83
  279. package/payload/platform/services/claude-session-manager/dist/systemd-spawn.d.ts.map +0 -1
  280. package/payload/platform/services/claude-session-manager/dist/systemd-spawn.js +0 -345
  281. package/payload/platform/services/claude-session-manager/dist/systemd-spawn.js.map +0 -1
  282. package/payload/platform/services/telegram-channel/dist/turn-follow.d.ts +0 -104
  283. package/payload/platform/services/telegram-channel/dist/turn-follow.d.ts.map +0 -1
  284. package/payload/platform/services/telegram-channel/dist/turn-follow.js +0 -408
  285. package/payload/platform/services/telegram-channel/dist/turn-follow.js.map +0 -1
  286. package/payload/platform/services/whatsapp-channel/dist/turn-follow.d.ts +0 -104
  287. package/payload/platform/services/whatsapp-channel/dist/turn-follow.d.ts.map +0 -1
  288. package/payload/platform/services/whatsapp-channel/dist/turn-follow.js +0 -393
  289. 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":"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"}
@@ -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"}