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