@rubytech/create-maxy-code 0.1.593 → 0.1.595

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 (270) hide show
  1. package/package.json +2 -2
  2. package/payload/platform/lib/telegram-button-labels/dist/index.d.ts +19 -0
  3. package/payload/platform/lib/telegram-button-labels/dist/index.d.ts.map +1 -0
  4. package/payload/platform/lib/telegram-button-labels/dist/index.js +84 -0
  5. package/payload/platform/lib/telegram-button-labels/dist/index.js.map +1 -0
  6. package/payload/platform/lib/telegram-button-labels/src/__tests__/store.test.ts +67 -0
  7. package/payload/platform/lib/telegram-button-labels/src/index.ts +88 -0
  8. package/payload/platform/lib/telegram-button-labels/tsconfig.json +9 -0
  9. package/payload/platform/lib/telegram-button-labels/vitest.config.ts +9 -0
  10. package/payload/platform/package.json +3 -2
  11. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +12 -3
  12. package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +10 -0
  13. package/payload/platform/plugins/cloudflare/PLUGIN.md +2 -0
  14. package/payload/platform/plugins/docs/references/internals.md +1 -1
  15. package/payload/platform/plugins/docs/references/telegram-guide.md +10 -1
  16. package/payload/platform/plugins/telegram/mcp/dist/__tests__/card-tool.test.js +43 -0
  17. package/payload/platform/plugins/telegram/mcp/dist/__tests__/card-tool.test.js.map +1 -1
  18. package/payload/platform/plugins/telegram/mcp/dist/tools/card.d.ts.map +1 -1
  19. package/payload/platform/plugins/telegram/mcp/dist/tools/card.js +21 -0
  20. package/payload/platform/plugins/telegram/mcp/dist/tools/card.js.map +1 -1
  21. package/payload/platform/scripts/__tests__/agent-identity-reconcile.test.sh +110 -0
  22. package/payload/platform/scripts/__tests__/check-orphan-dist.test.sh +87 -0
  23. package/payload/platform/scripts/check-orphan-dist.mjs +143 -0
  24. package/payload/platform/scripts/lib/agent-identity-reconcile.sh +122 -0
  25. package/payload/platform/scripts/lib/provision-account-dir.sh +8 -26
  26. package/payload/platform/scripts/setup-account.sh +15 -0
  27. package/payload/platform/services/claude-session-manager/dist/index.js +5 -0
  28. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  29. package/payload/platform/services/claude-session-manager/dist/public-agent-reachability.d.ts +5 -0
  30. package/payload/platform/services/claude-session-manager/dist/public-agent-reachability.d.ts.map +1 -1
  31. package/payload/platform/services/claude-session-manager/dist/public-agent-reachability.js +42 -1
  32. package/payload/platform/services/claude-session-manager/dist/public-agent-reachability.js.map +1 -1
  33. package/payload/platform/templates/agents/public/IDENTITY.md +3 -3
  34. package/payload/server/server.js +543 -409
  35. package/payload/platform/lib/anthropic-key/dist/index.d.ts +0 -22
  36. package/payload/platform/lib/anthropic-key/dist/index.d.ts.map +0 -1
  37. package/payload/platform/lib/anthropic-key/dist/index.js +0 -232
  38. package/payload/platform/lib/anthropic-key/dist/index.js.map +0 -1
  39. package/payload/platform/lib/graph-search/dist/query-expansion.d.ts +0 -37
  40. package/payload/platform/lib/graph-search/dist/query-expansion.d.ts.map +0 -1
  41. package/payload/platform/lib/graph-search/dist/query-expansion.js +0 -101
  42. package/payload/platform/lib/graph-search/dist/query-expansion.js.map +0 -1
  43. package/payload/platform/lib/oauth-llm/dist/index.d.ts +0 -116
  44. package/payload/platform/lib/oauth-llm/dist/index.d.ts.map +0 -1
  45. package/payload/platform/lib/oauth-llm/dist/index.js +0 -386
  46. package/payload/platform/lib/oauth-llm/dist/index.js.map +0 -1
  47. package/payload/platform/lib/screening-patterns/dist/index.d.ts +0 -29
  48. package/payload/platform/lib/screening-patterns/dist/index.d.ts.map +0 -1
  49. package/payload/platform/lib/screening-patterns/dist/index.js +0 -48
  50. package/payload/platform/lib/screening-patterns/dist/index.js.map +0 -1
  51. package/payload/platform/plugins/admin/mcp/dist/__tests__/admin-identity-authenticate.test.d.ts +0 -2
  52. package/payload/platform/plugins/admin/mcp/dist/__tests__/admin-identity-authenticate.test.d.ts.map +0 -1
  53. package/payload/platform/plugins/admin/mcp/dist/__tests__/admin-identity-authenticate.test.js +0 -34
  54. package/payload/platform/plugins/admin/mcp/dist/__tests__/admin-identity-authenticate.test.js.map +0 -1
  55. package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.d.ts +0 -39
  56. package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.d.ts.map +0 -1
  57. package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.js +0 -249
  58. package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.js.map +0 -1
  59. package/payload/platform/plugins/admin/mcp/dist/tools/admin-identity-authenticate.d.ts +0 -6
  60. package/payload/platform/plugins/admin/mcp/dist/tools/admin-identity-authenticate.d.ts.map +0 -1
  61. package/payload/platform/plugins/admin/mcp/dist/tools/admin-identity-authenticate.js +0 -32
  62. package/payload/platform/plugins/admin/mcp/dist/tools/admin-identity-authenticate.js.map +0 -1
  63. package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.d.ts +0 -283
  64. package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.d.ts.map +0 -1
  65. package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.js +0 -1155
  66. package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.js.map +0 -1
  67. package/payload/platform/plugins/cloudflare/mcp/dist/lib/setup-orchestrator.d.ts +0 -90
  68. package/payload/platform/plugins/cloudflare/mcp/dist/lib/setup-orchestrator.d.ts.map +0 -1
  69. package/payload/platform/plugins/cloudflare/mcp/dist/lib/setup-orchestrator.js +0 -551
  70. package/payload/platform/plugins/cloudflare/mcp/dist/lib/setup-orchestrator.js.map +0 -1
  71. package/payload/platform/plugins/email/mcp/dist/lib/claude-bridge.d.ts +0 -17
  72. package/payload/platform/plugins/email/mcp/dist/lib/claude-bridge.d.ts.map +0 -1
  73. package/payload/platform/plugins/email/mcp/dist/lib/claude-bridge.js +0 -186
  74. package/payload/platform/plugins/email/mcp/dist/lib/claude-bridge.js.map +0 -1
  75. package/payload/platform/plugins/email/mcp/dist/lib/screening.d.ts +0 -29
  76. package/payload/platform/plugins/email/mcp/dist/lib/screening.d.ts.map +0 -1
  77. package/payload/platform/plugins/email/mcp/dist/lib/screening.js +0 -105
  78. package/payload/platform/plugins/email/mcp/dist/lib/screening.js.map +0 -1
  79. package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.d.ts +0 -38
  80. package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.d.ts.map +0 -1
  81. package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.js +0 -817
  82. package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.js.map +0 -1
  83. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.d.ts +0 -30
  84. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.d.ts.map +0 -1
  85. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js +0 -215
  86. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js.map +0 -1
  87. package/payload/platform/plugins/email/mcp/dist/tools/email-auto-respond-config.d.ts +0 -19
  88. package/payload/platform/plugins/email/mcp/dist/tools/email-auto-respond-config.d.ts.map +0 -1
  89. package/payload/platform/plugins/email/mcp/dist/tools/email-auto-respond-config.js +0 -151
  90. package/payload/platform/plugins/email/mcp/dist/tools/email-auto-respond-config.js.map +0 -1
  91. package/payload/platform/plugins/email/mcp/dist/tools/email-classify.d.ts +0 -6
  92. package/payload/platform/plugins/email/mcp/dist/tools/email-classify.d.ts.map +0 -1
  93. package/payload/platform/plugins/email/mcp/dist/tools/email-classify.js +0 -89
  94. package/payload/platform/plugins/email/mcp/dist/tools/email-classify.js.map +0 -1
  95. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/compiled-truth-rewriter-operator-hint.test.d.ts +0 -2
  96. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/compiled-truth-rewriter-operator-hint.test.d.ts.map +0 -1
  97. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/compiled-truth-rewriter-operator-hint.test.js +0 -90
  98. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/compiled-truth-rewriter-operator-hint.test.js.map +0 -1
  99. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.d.ts +0 -2
  100. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.d.ts.map +0 -1
  101. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.js +0 -226
  102. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.js.map +0 -1
  103. package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-rewriter.d.ts +0 -60
  104. package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-rewriter.d.ts.map +0 -1
  105. package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-rewriter.js +0 -169
  106. package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-rewriter.js.map +0 -1
  107. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.d.ts +0 -248
  108. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.d.ts.map +0 -1
  109. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.js +0 -824
  110. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.js.map +0 -1
  111. package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.d.ts +0 -63
  112. package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.d.ts.map +0 -1
  113. package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.js +0 -210
  114. package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.js.map +0 -1
  115. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-pass.d.ts +0 -35
  116. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-pass.d.ts.map +0 -1
  117. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-pass.js +0 -28
  118. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-pass.js.map +0 -1
  119. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights-emit.test.d.ts +0 -2
  120. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights-emit.test.d.ts.map +0 -1
  121. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights-emit.test.js +0 -68
  122. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights-emit.test.js.map +0 -1
  123. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-archive-write-emit.test.d.ts +0 -2
  124. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-archive-write-emit.test.d.ts.map +0 -1
  125. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-archive-write-emit.test.js +0 -88
  126. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-archive-write-emit.test.js.map +0 -1
  127. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-classify-emit.test.d.ts +0 -2
  128. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-classify-emit.test.d.ts.map +0 -1
  129. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-classify-emit.test.js +0 -58
  130. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-classify-emit.test.js.map +0 -1
  131. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-emit.test.d.ts +0 -2
  132. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-emit.test.d.ts.map +0 -1
  133. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-emit.test.js +0 -64
  134. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-emit.test.js.map +0 -1
  135. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-edit-attachment-emit.test.d.ts +0 -2
  136. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-edit-attachment-emit.test.d.ts.map +0 -1
  137. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-edit-attachment-emit.test.js +0 -70
  138. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-edit-attachment-emit.test.js.map +0 -1
  139. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-empty-trash-emit.test.d.ts +0 -2
  140. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-empty-trash-emit.test.d.ts.map +0 -1
  141. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-empty-trash-emit.test.js +0 -48
  142. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-empty-trash-emit.test.js.map +0 -1
  143. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-emit.test.d.ts +0 -2
  144. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-emit.test.d.ts.map +0 -1
  145. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-emit.test.js +0 -74
  146. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-emit.test.js.map +0 -1
  147. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-extract-emit.test.d.ts +0 -2
  148. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-extract-emit.test.d.ts.map +0 -1
  149. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-extract-emit.test.js +0 -47
  150. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-extract-emit.test.js.map +0 -1
  151. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-web-emit.test.d.ts +0 -2
  152. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-web-emit.test.d.ts.map +0 -1
  153. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-web-emit.test.js +0 -65
  154. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-web-emit.test.js.map +0 -1
  155. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-reindex-emit.test.d.ts +0 -2
  156. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-reindex-emit.test.d.ts.map +0 -1
  157. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-reindex-emit.test.js +0 -43
  158. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-reindex-emit.test.js.map +0 -1
  159. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-rename-attachment-emit.test.d.ts +0 -2
  160. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-rename-attachment-emit.test.d.ts.map +0 -1
  161. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-rename-attachment-emit.test.js +0 -65
  162. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-rename-attachment-emit.test.js.map +0 -1
  163. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-restore-emit.test.d.ts +0 -2
  164. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-restore-emit.test.d.ts.map +0 -1
  165. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-restore-emit.test.js +0 -49
  166. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-restore-emit.test.js.map +0 -1
  167. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-emit.test.d.ts +0 -2
  168. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-emit.test.d.ts.map +0 -1
  169. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-emit.test.js +0 -79
  170. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-emit.test.js.map +0 -1
  171. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-operator-hint.test.d.ts +0 -2
  172. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-operator-hint.test.d.ts.map +0 -1
  173. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-operator-hint.test.js +0 -329
  174. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-operator-hint.test.js.map +0 -1
  175. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-write-emit.test.d.ts +0 -2
  176. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-write-emit.test.d.ts.map +0 -1
  177. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-write-emit.test.js +0 -81
  178. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-write-emit.test.js.map +0 -1
  179. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.d.ts +0 -34
  180. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.d.ts.map +0 -1
  181. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.js +0 -62
  182. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.js.map +0 -1
  183. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rank.d.ts +0 -61
  184. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rank.d.ts.map +0 -1
  185. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rank.js +0 -102
  186. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rank.js.map +0 -1
  187. package/payload/platform/plugins/memory/mcp/dist/tools/memory-signals-recent.d.ts +0 -35
  188. package/payload/platform/plugins/memory/mcp/dist/tools/memory-signals-recent.d.ts.map +0 -1
  189. package/payload/platform/plugins/memory/mcp/dist/tools/memory-signals-recent.js +0 -73
  190. package/payload/platform/plugins/memory/mcp/dist/tools/memory-signals-recent.js.map +0 -1
  191. package/payload/platform/plugins/memory/mcp/dist/tools/memory-typed-edge-pass.d.ts +0 -29
  192. package/payload/platform/plugins/memory/mcp/dist/tools/memory-typed-edge-pass.d.ts.map +0 -1
  193. package/payload/platform/plugins/memory/mcp/dist/tools/memory-typed-edge-pass.js +0 -22
  194. package/payload/platform/plugins/memory/mcp/dist/tools/memory-typed-edge-pass.js.map +0 -1
  195. package/payload/platform/plugins/memory/mcp/dist/tools/session-retrospective-skip-rate.d.ts +0 -30
  196. package/payload/platform/plugins/memory/mcp/dist/tools/session-retrospective-skip-rate.d.ts.map +0 -1
  197. package/payload/platform/plugins/memory/mcp/dist/tools/session-retrospective-skip-rate.js +0 -130
  198. package/payload/platform/plugins/memory/mcp/dist/tools/session-retrospective-skip-rate.js.map +0 -1
  199. package/payload/platform/plugins/outlook/mcp/dist/auth/pkce-flow.d.ts +0 -65
  200. package/payload/platform/plugins/outlook/mcp/dist/auth/pkce-flow.d.ts.map +0 -1
  201. package/payload/platform/plugins/outlook/mcp/dist/auth/pkce-flow.js +0 -262
  202. package/payload/platform/plugins/outlook/mcp/dist/auth/pkce-flow.js.map +0 -1
  203. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/normalise-start-date.test.d.ts +0 -2
  204. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/normalise-start-date.test.d.ts.map +0 -1
  205. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/normalise-start-date.test.js +0 -100
  206. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/normalise-start-date.test.js.map +0 -1
  207. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/scheduled-seat-id.test.d.ts +0 -2
  208. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/scheduled-seat-id.test.d.ts.map +0 -1
  209. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/scheduled-seat-id.test.js +0 -22
  210. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/scheduled-seat-id.test.js.map +0 -1
  211. package/payload/platform/plugins/scheduling/mcp/dist/lib/scheduled-seat-id.d.ts +0 -11
  212. package/payload/platform/plugins/scheduling/mcp/dist/lib/scheduled-seat-id.d.ts.map +0 -1
  213. package/payload/platform/plugins/scheduling/mcp/dist/lib/scheduled-seat-id.js +0 -19
  214. package/payload/platform/plugins/scheduling/mcp/dist/lib/scheduled-seat-id.js.map +0 -1
  215. package/payload/platform/plugins/telegram/mcp/dist/__tests__/invoice-tool.test.d.ts +0 -2
  216. package/payload/platform/plugins/telegram/mcp/dist/__tests__/invoice-tool.test.d.ts.map +0 -1
  217. package/payload/platform/plugins/telegram/mcp/dist/__tests__/invoice-tool.test.js +0 -196
  218. package/payload/platform/plugins/telegram/mcp/dist/__tests__/invoice-tool.test.js.map +0 -1
  219. package/payload/platform/plugins/telegram/mcp/dist/tools/invoice.d.ts +0 -70
  220. package/payload/platform/plugins/telegram/mcp/dist/tools/invoice.d.ts.map +0 -1
  221. package/payload/platform/plugins/telegram/mcp/dist/tools/invoice.js +0 -247
  222. package/payload/platform/plugins/telegram/mcp/dist/tools/invoice.js.map +0 -1
  223. package/payload/platform/plugins/telegram/mcp/dist/tools/message.d.ts +0 -21
  224. package/payload/platform/plugins/telegram/mcp/dist/tools/message.d.ts.map +0 -1
  225. package/payload/platform/plugins/telegram/mcp/dist/tools/message.js +0 -40
  226. package/payload/platform/plugins/telegram/mcp/dist/tools/message.js.map +0 -1
  227. package/payload/platform/plugins/url-get/mcp/dist/lib/summarise.d.ts +0 -8
  228. package/payload/platform/plugins/url-get/mcp/dist/lib/summarise.d.ts.map +0 -1
  229. package/payload/platform/plugins/url-get/mcp/dist/lib/summarise.js +0 -83
  230. package/payload/platform/plugins/url-get/mcp/dist/lib/summarise.js.map +0 -1
  231. package/payload/platform/plugins/workflows/mcp/dist/lib/llm-call.d.ts +0 -151
  232. package/payload/platform/plugins/workflows/mcp/dist/lib/llm-call.d.ts.map +0 -1
  233. package/payload/platform/plugins/workflows/mcp/dist/lib/llm-call.js +0 -299
  234. package/payload/platform/plugins/workflows/mcp/dist/lib/llm-call.js.map +0 -1
  235. package/payload/platform/services/claude-session-manager/dist/account-admin-census.d.ts +0 -39
  236. package/payload/platform/services/claude-session-manager/dist/account-admin-census.d.ts.map +0 -1
  237. package/payload/platform/services/claude-session-manager/dist/account-admin-census.js +0 -122
  238. package/payload/platform/services/claude-session-manager/dist/account-admin-census.js.map +0 -1
  239. package/payload/platform/services/claude-session-manager/dist/admin-identity-audit.d.ts +0 -39
  240. package/payload/platform/services/claude-session-manager/dist/admin-identity-audit.d.ts.map +0 -1
  241. package/payload/platform/services/claude-session-manager/dist/admin-identity-audit.js +0 -133
  242. package/payload/platform/services/claude-session-manager/dist/admin-identity-audit.js.map +0 -1
  243. package/payload/platform/services/claude-session-manager/dist/input-postcondition.d.ts +0 -22
  244. package/payload/platform/services/claude-session-manager/dist/input-postcondition.d.ts.map +0 -1
  245. package/payload/platform/services/claude-session-manager/dist/input-postcondition.js +0 -50
  246. package/payload/platform/services/claude-session-manager/dist/input-postcondition.js.map +0 -1
  247. package/payload/platform/services/claude-session-manager/dist/jsonl-observer.d.ts +0 -30
  248. package/payload/platform/services/claude-session-manager/dist/jsonl-observer.d.ts.map +0 -1
  249. package/payload/platform/services/claude-session-manager/dist/jsonl-observer.js +0 -204
  250. package/payload/platform/services/claude-session-manager/dist/jsonl-observer.js.map +0 -1
  251. package/payload/platform/services/claude-session-manager/dist/rc-script-spawn.d.ts +0 -80
  252. package/payload/platform/services/claude-session-manager/dist/rc-script-spawn.d.ts.map +0 -1
  253. package/payload/platform/services/claude-session-manager/dist/rc-script-spawn.js +0 -306
  254. package/payload/platform/services/claude-session-manager/dist/rc-script-spawn.js.map +0 -1
  255. package/payload/platform/services/claude-session-manager/dist/session-store.d.ts +0 -49
  256. package/payload/platform/services/claude-session-manager/dist/session-store.d.ts.map +0 -1
  257. package/payload/platform/services/claude-session-manager/dist/session-store.js +0 -52
  258. package/payload/platform/services/claude-session-manager/dist/session-store.js.map +0 -1
  259. package/payload/platform/services/claude-session-manager/dist/systemd-spawn.d.ts +0 -83
  260. package/payload/platform/services/claude-session-manager/dist/systemd-spawn.d.ts.map +0 -1
  261. package/payload/platform/services/claude-session-manager/dist/systemd-spawn.js +0 -345
  262. package/payload/platform/services/claude-session-manager/dist/systemd-spawn.js.map +0 -1
  263. package/payload/platform/services/telegram-channel/dist/turn-follow.d.ts +0 -104
  264. package/payload/platform/services/telegram-channel/dist/turn-follow.d.ts.map +0 -1
  265. package/payload/platform/services/telegram-channel/dist/turn-follow.js +0 -408
  266. package/payload/platform/services/telegram-channel/dist/turn-follow.js.map +0 -1
  267. package/payload/platform/services/whatsapp-channel/dist/turn-follow.d.ts +0 -104
  268. package/payload/platform/services/whatsapp-channel/dist/turn-follow.d.ts.map +0 -1
  269. package/payload/platform/services/whatsapp-channel/dist/turn-follow.js +0 -393
  270. package/payload/platform/services/whatsapp-channel/dist/turn-follow.js.map +0 -1
@@ -1,345 +0,0 @@
1
- // Task 552 — non-PTY spawn primitive for claude scope units.
2
- //
3
- // Wraps `child_process.spawn` around `systemd-run --user --scope ...` so
4
- // the manager allocates ZERO file descriptors per spawn (stdio: 'ignore',
5
- // detached + unref). The previous `spawnPty` adapter wrapped node-pty
6
- // around the same systemd-run argv, which opened a master pty fd in the
7
- // manager process — one fd leaked per /rc-spawn click and one per
8
- // rc-daemon respawn until V8 GC fired.
9
- //
10
- // This primitive is for spawns the manager never talks to: `/rc-spawn`
11
- // (fire-and-forget, the route never writes back to the child) and the
12
- // rc-daemon supervisor. Channel-bridge spawns (`/spawn`,
13
- // `:sessionId/input`, WhatsApp / public-agent / channel-pty-bridge) keep
14
- // node-pty because they genuinely need bidirectional IO with the
15
- // manager.
16
- //
17
- // Argv composition reuses `buildSystemdRunArgv` from systemd-scope.ts so
18
- // the SIGHUP wrap, per-spawn unit token, slice membership,
19
- // `--setenv=KEY=VAL` env block, and `script(1)`-based TTY allocation
20
- // (Task 556) are byte-identical with the PTY spawn path.
21
- //
22
- // Task 556 — child output capture is the typescript file written by the
23
- // inner `script -q -f -c "$1" "$2"` wrapper (see buildSystemdRunArgv).
24
- // The prior Task 555 attempt to capture via `StandardOutput=journal`
25
- // scope properties was a no-op: those properties are `Exec*=`
26
- // service-unit fields that systemd silently ignores on `--scope` units,
27
- // which inherit the launcher's fds. With the manager's `stdio: 'ignore'`
28
- // the child received `/dev/null` on every stream and `claude
29
- // --remote-control --resume` / `claude rc --spawn` early-exited because
30
- // no TTY / live stdin was present. The `script` wrap allocates a real
31
- // pty, claude stays resident, and the per-spawn capture file holds the
32
- // stdout/stderr for retrieval after the scope is reaped.
33
- //
34
- // Task 554 — activation gate reads ActiveState + ControlGroup + cgroup.procs,
35
- // NOT MainPID. `systemctl show -p MainPID` returns nothing for transient
36
- // scope units on systemd 255 (Ubuntu 24.04), so the prior MainPID poll
37
- // timed out at 5 s even though the scope was already live. The new gate:
38
- //
39
- // - One `systemctl show -p ActiveState -p ControlGroup` call per poll
40
- // iteration.
41
- // - The pid is read from `cgroup.procs` under the path systemd reports
42
- // in `ControlGroup`. The minimum pid wins — the in-place exec chain
43
- // `systemd-run → /bin/sh → claude` preserves the original pid, which
44
- // is the lowest in the cgroup.
45
- // - Three terminal outcomes distinguish how a spawn failed:
46
- // systemd-start-failure — ActiveState terminated and cgroup.procs
47
- // was never populated (bad cwd, missing binary, slice not loaded).
48
- // boot-crash — cgroup.procs was populated then emptied
49
- // before ActiveState reached `active`. Claude itself crashed at
50
- // init; observed pid is captured in the error message.
51
- // activation-timeout — deadline reached without ActiveState ever
52
- // leaving the activating set. Reserved for genuine systemd hangs;
53
- // the terminal ActiveState value is logged.
54
- // - Before any terminal reject, `stopScopeUnit` is called against the
55
- // unit so a partially-registered scope cannot leak. The eight
56
- // `claude-session-rc-daemon-*.scope` units leaked on the laptop by
57
- // the prior bug are reaped at session-manager startup via
58
- // `reapOrphanNonPtyScopes` (systemd-scope.ts).
59
- import { spawn } from 'node:child_process';
60
- import { mkdirSync, openSync, readFileSync, readSync, statSync, closeSync } from 'node:fs';
61
- import { dirname } from 'node:path';
62
- import { buildSystemdRunArgv, defaultSystemctlRunner, scopeUnitName, stopScopeUnit, } from './systemd-scope.js';
63
- const ACTIVE_STATES = new Set(['active', 'activating', 'reloading']);
64
- /** Spawn `systemd-run --user --scope ... <claudeBin> <claudeArgs>` so the
65
- * manager holds no file descriptors for the resulting claude process.
66
- * Returns once cgroup.procs is non-empty AND ActiveState is `active`.
67
- * On terminal failure, stops the partially-registered scope and rejects
68
- * with one of three distinct error tokens. */
69
- export async function systemdSpawn(p) {
70
- const run = p.runSystemctl ?? defaultSystemctlRunner;
71
- const readCgroupProcs = p.readCgroupProcs ?? defaultReadCgroupProcs;
72
- const readCaptureTailFn = p.readCaptureTail ?? readCaptureFile;
73
- const spawnChild = p.spawnChild ?? defaultSpawnChild;
74
- const activationTimeoutMs = p.activationTimeoutMs ?? 5_000;
75
- const pollIntervalMs = p.activationPollIntervalMs ?? 50;
76
- // script(1) opens the typescript file for write at exec time. ENOENT on
77
- // the parent dir would surface as a fast-exit with no capture — make
78
- // the dir before spawn so the capture path is always writable.
79
- try {
80
- mkdirSync(dirname(p.captureFilePath), { recursive: true });
81
- }
82
- catch (err) {
83
- throw new Error(`[systemd-spawn] capture-dir-create-failed unitToken=${p.unitToken} captureFilePath=${p.captureFilePath} err=${err instanceof Error ? err.message : String(err)}`);
84
- }
85
- const wrapped = buildSystemdRunArgv({
86
- unitToken: p.unitToken,
87
- claudeBin: p.claudeBin,
88
- claudeArgs: p.claudeArgs,
89
- env: p.env,
90
- cwd: p.cwd,
91
- captureFilePath: p.captureFilePath,
92
- });
93
- // Spawn systemd-run as a detached child with stdio:'ignore'. The manager
94
- // process holds zero fds to it; user systemd owns the scope cgroup's
95
- // lifetime. `detached: true` puts the child in its own process group so
96
- // it survives manager exit (systemd already owns it once registered, but
97
- // the detach is belt-and-braces against PG signal forwarding).
98
- let child;
99
- const errorBox = { err: null };
100
- try {
101
- child = spawnChild(wrapped.cmd, wrapped.args, {
102
- cwd: p.cwd,
103
- env: process.env,
104
- stdio: 'ignore',
105
- detached: true,
106
- });
107
- }
108
- catch (err) {
109
- throw new Error(`[systemd-spawn] spawn-failed unitToken=${p.unitToken} err=${err instanceof Error ? err.message : String(err)}`);
110
- }
111
- child.on('error', (err) => {
112
- errorBox.err = err;
113
- });
114
- child.unref();
115
- const unit = scopeUnitName(p.unitToken);
116
- const deadline = Date.now() + activationTimeoutMs;
117
- let seenPid = null;
118
- let lastControlGroup = '';
119
- let lastActiveState = '';
120
- while (Date.now() < deadline) {
121
- if (errorBox.err) {
122
- // Pair with stop so the scope (if it managed to register before the
123
- // child errored on the manager side) doesn't leak. systemctl's stop
124
- // is harmless when the unit was never loaded.
125
- await safeStop(run, p.unitToken);
126
- throw new Error(`[systemd-spawn] child-error unitToken=${p.unitToken} err=${errorBox.err.message}`);
127
- }
128
- const show = run([
129
- '--user', 'show',
130
- '-p', 'ActiveState',
131
- '-p', 'ControlGroup',
132
- '-p', 'Result',
133
- '-p', 'SubState',
134
- unit,
135
- ]);
136
- const fields = show.exitCode === 0 ? parseShowFields(show.stdout) : {};
137
- const activeState = fields.ActiveState ?? '';
138
- const controlGroup = fields.ControlGroup ?? '';
139
- const result = fields.Result ?? '';
140
- const subState = fields.SubState ?? '';
141
- if (activeState)
142
- lastActiveState = activeState;
143
- if (controlGroup)
144
- lastControlGroup = controlGroup;
145
- if (controlGroup) {
146
- const pids = readCgroupProcs(controlGroup);
147
- if (pids.length > 0) {
148
- seenPid = Math.min(...pids);
149
- if (activeState === 'active') {
150
- return buildHandle(seenPid, p.unitToken, p.captureFilePath, run);
151
- }
152
- }
153
- }
154
- // Terminal non-active state — classify by (seenPid, Result). systemd's
155
- // `Result` is the truthful signal for whether the start succeeded:
156
- // `success` ⇒ unit started and the child terminated normally;
157
- // anything else ⇒ start or runtime failure recognised by systemd.
158
- // The seenPid branch separates "child died during boot" from "child
159
- // exited before the poll loop ever observed it in cgroup.procs".
160
- //
161
- // seenPid observed → boot-crash
162
- // no seenPid + Result=success → child-exited-during-activation
163
- // (the race this gate was missing;
164
- // systemd is happy, the child just
165
- // exited faster than 50 ms)
166
- // no seenPid + Result!=success → systemd-start-failure
167
- // (genuine systemd-side start fail
168
- // — bad cwd, missing binary, slice
169
- // not loaded, etc.)
170
- //
171
- // Every branch carries the journal tail in the thrown message so the
172
- // admin-UI log line surfaces the child's last stderr/stdout without an
173
- // SSH-into-the-box step.
174
- if (activeState && !ACTIVE_STATES.has(activeState)) {
175
- const capture = await safeReadCaptureTail(readCaptureTailFn, p.captureFilePath, 2_048);
176
- await safeStop(run, p.unitToken, seenPid);
177
- const journalSuffix = capture ? ` captureTail=${JSON.stringify(capture)}` : '';
178
- if (seenPid !== null) {
179
- throw new Error(`[systemd-spawn] boot-crash unitToken=${p.unitToken} observedPid=${seenPid} controlGroup=${lastControlGroup} activeState=${activeState}${journalSuffix}`);
180
- }
181
- if (result === 'success') {
182
- throw new Error(`[systemd-spawn] child-exited-during-activation unitToken=${p.unitToken} activeState=${activeState} subState=${subState || 'unknown'}${journalSuffix}`);
183
- }
184
- throw new Error(`[systemd-spawn] systemd-start-failure unitToken=${p.unitToken} activeState=${activeState} result=${result || 'unknown'}${journalSuffix}`);
185
- }
186
- await sleep(pollIntervalMs);
187
- }
188
- // Deadline hit while still activating (or no controlGroup ever
189
- // reported). Stop the scope to avoid leaking it, then reject.
190
- await safeStop(run, p.unitToken, seenPid);
191
- throw new Error(`[systemd-spawn] activation-timeout unitToken=${p.unitToken} activeState=${lastActiveState || 'unknown'} timeoutMs=${activationTimeoutMs}`);
192
- }
193
- function parseShowFields(stdout) {
194
- const out = {};
195
- for (const line of stdout.split('\n')) {
196
- const eq = line.indexOf('=');
197
- if (eq < 0)
198
- continue;
199
- out[line.slice(0, eq)] = line.slice(eq + 1).trim();
200
- }
201
- return out;
202
- }
203
- /** Read /sys/fs/cgroup<controlGroup>/cgroup.procs. Returns the parsed pids
204
- * (one per line). Empty list on ENOENT / parse failure — the caller treats
205
- * empty as "scope not yet populated", which is the truthful default. */
206
- function defaultReadCgroupProcs(controlGroup) {
207
- if (!controlGroup)
208
- return [];
209
- // ControlGroup is the systemd-relative path (e.g.
210
- // `/user.slice/user-1000.slice/.../foo.scope`). Concatenate with
211
- // /sys/fs/cgroup for the unified hierarchy.
212
- const path = `/sys/fs/cgroup${controlGroup}/cgroup.procs`;
213
- try {
214
- const raw = readFileSync(path, 'utf8');
215
- const pids = [];
216
- for (const line of raw.split('\n')) {
217
- const trimmed = line.trim();
218
- if (!trimmed)
219
- continue;
220
- const n = Number.parseInt(trimmed, 10);
221
- if (Number.isFinite(n) && n > 0)
222
- pids.push(n);
223
- }
224
- return pids;
225
- }
226
- catch {
227
- return [];
228
- }
229
- }
230
- /** Best-effort cleanup of a partially-registered scope on terminal
231
- * failure. Swallows stop errors — the caller is already about to reject
232
- * with the original cause; surfacing a secondary stop failure would mask
233
- * it. */
234
- async function safeStop(run, unitToken, pid = null) {
235
- try {
236
- await stopScopeUnit(run, unitToken, { pid: pid ?? undefined });
237
- }
238
- catch {
239
- /* deliberately swallow — original failure is what the caller needs */
240
- }
241
- }
242
- /** Best-effort capture-file tail read for inclusion in activation-gate
243
- * failure envelopes. A read failure must not mask the underlying
244
- * activation-gate error, so any throw degrades to an empty string. */
245
- async function safeReadCaptureTail(reader, captureFilePath, maxBytes) {
246
- try {
247
- return await reader(captureFilePath, maxBytes);
248
- }
249
- catch {
250
- return '';
251
- }
252
- }
253
- function buildHandle(pid, unitToken, captureFilePath, run) {
254
- const unit = scopeUnitName(unitToken);
255
- return {
256
- pid,
257
- unitToken,
258
- captureFilePath,
259
- async waitForExit(opts) {
260
- const interval = opts?.pollIntervalMs ?? 250;
261
- while (true) {
262
- const r = run(['--user', 'show', '-p', 'ActiveState', '--value', unit]);
263
- const state = r.exitCode === 0 ? r.stdout.trim() : '';
264
- // Empty state OR exit code 4 (unit not loaded) means the transient
265
- // unit has been collected — treat as exited.
266
- if (!state || !ACTIVE_STATES.has(state)) {
267
- return readScopeExit(run, unit);
268
- }
269
- await sleep(interval);
270
- }
271
- },
272
- async readCaptureTail(maxBytes) {
273
- return readCaptureFile(captureFilePath, maxBytes);
274
- },
275
- async stop() {
276
- await stopScopeUnit(run, unitToken, { pid });
277
- },
278
- };
279
- }
280
- function readScopeExit(run, unit) {
281
- const r = run([
282
- '--user',
283
- 'show',
284
- '-p', 'Result',
285
- '-p', 'ExecMainStatus',
286
- '-p', 'ExecMainCode',
287
- unit,
288
- ]);
289
- if (r.exitCode !== 0) {
290
- return { result: 'unknown', exitCode: null, code: null };
291
- }
292
- const fields = {};
293
- for (const line of r.stdout.split('\n')) {
294
- const eq = line.indexOf('=');
295
- if (eq < 0)
296
- continue;
297
- fields[line.slice(0, eq)] = line.slice(eq + 1);
298
- }
299
- const statusRaw = fields.ExecMainStatus ?? '';
300
- const status = statusRaw === '' ? null : Number.parseInt(statusRaw, 10);
301
- return {
302
- result: fields.Result || 'unknown',
303
- exitCode: Number.isFinite(status) ? status : null,
304
- code: fields.ExecMainCode || null,
305
- };
306
- }
307
- /** Read the last `maxBytes` bytes of the script(1) typescript file.
308
- * Returns '' when the file does not exist (the child died before
309
- * script(1) opened it) or on any read failure — the caller treats
310
- * empty as "no capture available" and falls through to the bare error
311
- * envelope. */
312
- async function readCaptureFile(captureFilePath, maxBytes) {
313
- try {
314
- const st = statSync(captureFilePath);
315
- const size = st.size;
316
- if (size === 0)
317
- return '';
318
- const start = size > maxBytes ? size - maxBytes : 0;
319
- const length = size - start;
320
- const fd = openSync(captureFilePath, 'r');
321
- try {
322
- const buf = Buffer.alloc(length);
323
- readSync(fd, buf, 0, length, start);
324
- return buf.toString('utf8');
325
- }
326
- finally {
327
- closeSync(fd);
328
- }
329
- }
330
- catch {
331
- return '';
332
- }
333
- }
334
- function defaultSpawnChild(cmd, args, opts) {
335
- const child = spawn(cmd, [...args], opts);
336
- return {
337
- pid: child.pid,
338
- unref: () => child.unref(),
339
- on: (event, cb) => { child.on(event, cb); },
340
- };
341
- }
342
- function sleep(ms) {
343
- return new Promise((resolve) => setTimeout(resolve, ms));
344
- }
345
- //# sourceMappingURL=systemd-spawn.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"systemd-spawn.js","sourceRoot":"","sources":["../src/systemd-spawn.ts"],"names":[],"mappings":"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"}
@@ -1,104 +0,0 @@
1
- export interface TurnOutcome {
2
- /** A telegram reply tool_use appeared in the turn. */
3
- replied: boolean;
4
- /** Text of the end_turn assistant message ('' when none / not yet reached). */
5
- finalText: string;
6
- /** The turn reached an assistant end_turn. */
7
- reachedEndTurn: boolean;
8
- /** Task 2078 — the byte range of this turn's lines in the JSONL, so a reader
9
- * in another process can parse exactly this turn without being handed its
10
- * text. -1/-1 from `reduceTurnFromLines`, which is given lines and not
11
- * offsets; `followTurnEnds` overwrites both before calling back. */
12
- segmentStart: number;
13
- segmentEnd: number;
14
- /** Task 2451 — `message.id` of the closing end_turn row; '' when the row
15
- * carries none. Claude Code 2.1.222 can persist ONE assistant message as
16
- * several rows, each stamped end_turn, so this is the identity
17
- * `followTurnEnds` merges a split message on. */
18
- messageId: string;
19
- /** Task 2451 — `type:'tool_use'` blocks across EVERY assistant row in the
20
- * segment. `replied` cannot serve here: it matches only the retired reply
21
- * tool names, so a turn that called Read or Bash reports replied=false
22
- * with tool_use present. The hold rule needs "this turn called no tool
23
- * at all". */
24
- toolUseBlocks: number;
25
- /**
26
- * Task 2456 — how many channel inbounds this turn answered. `followTurnEnds`
27
- * segments on ANY assistant end_turn, so a turn woken by something other than
28
- * a channel message arrives at the callback too and must consume nothing:
29
- * measured on the laptop 2026-08-06, 2 of 15 telegram turn segments and 113
30
- * of 411 webchat segments hold no channel row at all. Non-zero counts also
31
- * matter: the harness answers every inbound queued while it was busy in ONE
32
- * turn, so a turn-end can owe several credits, not one.
33
- */
34
- consumedInbounds: number;
35
- /** Task 2364 — the turn's token and thinking counts, for the gateway's
36
- * op=turn-context line. */
37
- context: TurnContextCounts;
38
- }
39
- /**
40
- * Task 2364 — the per-turn evidence a refusal has to be diagnosed from. Every
41
- * field is `-1` when no figure was available and `>= 0` when measured; a real 0
42
- * (nothing cached this turn, no thinking done) is a finding and must never read
43
- * as "not reported".
44
- */
45
- export interface TurnContextCounts {
46
- /** `message.usage.cache_read_input_tokens` on the turn's end_turn row. It
47
- * separates "the turn was outside the model's context" from "the model had it
48
- * and did not use it". -1 when that row carries no usage object. */
49
- cacheReadTokens: number;
50
- /** `message.usage.input_tokens` on the end_turn row; -1 when absent. */
51
- inputTokens: number;
52
- /** `message.usage.output_tokens` on the end_turn row; -1 when absent. */
53
- outputTokens: number;
54
- /** `type:'thinking'` blocks across EVERY assistant row in the turn. The
55
- * reasoning sits on the rows before the final one; the end_turn row usually
56
- * carries only text, so an end-row-only count reads 0 on a turn that
57
- * reasoned at length. Never -1 from a live producer. */
58
- thinkingBlocks: number;
59
- /** Summed length of those blocks' `thinking` strings. 0 across a non-zero
60
- * `thinkingBlocks` is the finding this exists for: the reasoning behind the
61
- * turn is unrecoverable. Never -1 from a live producer. */
62
- thinkingChars: number;
63
- }
64
- /** Fold one turn's JSONL line strings into the delivery decision. Pure. */
65
- export declare function reduceTurnFromLines(lines: string[]): TurnOutcome;
66
- export type OnTurnEnd = (outcome: TurnOutcome) => void;
67
- /**
68
- * Walk `${CLAUDE_CONFIG_DIR}/projects/<slug>/` for `${sessionId}.jsonl` (live
69
- * and archived). Returns the first match or null. Inlined from
70
- * whatsapp-channel/jsonl-watch.ts (itself inlined from
71
- * claude-session-manager/src/jsonl-path.ts) to avoid a cross-package dep.
72
- */
73
- export declare function findJsonlForSessionId(sessionId: string, env?: NodeJS.ProcessEnv): string | null;
74
- /**
75
- * Task 2451 — the follower's live hold state, mutated in place so the owning
76
- * channel server can log a standing census without the follower importing a
77
- * logger. A held segment that never resolves emits no event of its own; the
78
- * census is the only surface that shows it.
79
- */
80
- export interface FollowerState {
81
- /** True while a thinking-only close is held awaiting the rest of its message. */
82
- held: boolean;
83
- /** `message.id` of the held segment; '' when not holding. */
84
- heldMessageId: string;
85
- /** Clock value when the hold began; -1 when not holding. */
86
- heldSinceMs: number;
87
- /** `message.id` of the last outcome emitted; '' before the first. */
88
- lastMessageId: string;
89
- }
90
- /**
91
- * Tail `jsonlPath` from `startOffset` for the life of the session, invoking
92
- * `onTurnEnd` once per TURN. Task 2451: that is once per assistant end_turn
93
- * EXCEPT where one message was split across several end_turn rows, which are
94
- * merged into a single call. It
95
- * segments the JSONL at each end_turn so a follow-on turn produced from a
96
- * mid-turn-queued message is reported too. The process dies with the session,
97
- * so there is no per-turn timeout; the promise resolves only when the file
98
- * becomes unreadable. Never rejects. (Mirror of the WhatsApp twin.)
99
- */
100
- export declare function followTurnEnds(jsonlPath: string, startOffset: number, onTurnEnd: OnTurnEnd, opts?: {
101
- state?: FollowerState;
102
- now?: () => number;
103
- }): Promise<void>;
104
- //# sourceMappingURL=turn-follow.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"turn-follow.d.ts","sourceRoot":"","sources":["../src/turn-follow.ts"],"names":[],"mappings":"AA6DA,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,OAAO,EAAE,OAAO,CAAA;IAChB,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAA;IACjB,8CAA8C;IAC9C,cAAc,EAAE,OAAO,CAAA;IACvB;;;yEAGqE;IACrE,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB;;;sDAGkD;IAClD,SAAS,EAAE,MAAM,CAAA;IACjB;;;;mBAIe;IACf,aAAa,EAAE,MAAM,CAAA;IACrB;;;;;;;;OAQG;IACH,gBAAgB,EAAE,MAAM,CAAA;IACxB;gCAC4B;IAC5B,OAAO,EAAE,iBAAiB,CAAA;CAC3B;AAYD;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;yEAEqE;IACrE,eAAe,EAAE,MAAM,CAAA;IACvB,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAA;IACnB,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAA;IACpB;;;6DAGyD;IACzD,cAAc,EAAE,MAAM,CAAA;IACtB;;gEAE4D;IAC5D,aAAa,EAAE,MAAM,CAAA;CACtB;AAOD,2EAA2E;AAC3E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,CAmFhE;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAA;AAkBtD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,GAAG,IAAI,CAmBf;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,iFAAiF;IACjF,IAAI,EAAE,OAAO,CAAA;IACb,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAA;IACrB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,aAAa,EAAE,MAAM,CAAA;CACtB;AAmCD;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,SAAS,EACpB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,aAAa,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CAAO,GACvD,OAAO,CAAC,IAAI,CAAC,CA+Jf"}