@a1hvdy/cc-openclaw 0.26.5 → 0.26.6

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 (444) hide show
  1. package/dist/src/channels/adapter.js +0 -1
  2. package/dist/src/channels/telegram-mirror/askuser.js +0 -1
  3. package/dist/src/channels/telegram-mirror/burst-accumulator.js +0 -1
  4. package/dist/src/channels/telegram-mirror/callback-mapping.js +0 -1
  5. package/dist/src/channels/telegram-mirror/card-renderer.js +63 -21
  6. package/dist/src/channels/telegram-mirror/card-state.js +0 -1
  7. package/dist/src/channels/telegram-mirror/commands.js +0 -1
  8. package/dist/src/channels/telegram-mirror/compose-buffer.js +0 -1
  9. package/dist/src/channels/telegram-mirror/cost-views.js +0 -1
  10. package/dist/src/channels/telegram-mirror/failure/callback-data-overflow.js +0 -1
  11. package/dist/src/channels/telegram-mirror/failure/gateway-down.js +0 -1
  12. package/dist/src/channels/telegram-mirror/failure/in-flight-conflict.js +0 -1
  13. package/dist/src/channels/telegram-mirror/failure/index.js +0 -1
  14. package/dist/src/channels/telegram-mirror/failure/model-5xx.js +0 -1
  15. package/dist/src/channels/telegram-mirror/failure/network-blip.js +0 -1
  16. package/dist/src/channels/telegram-mirror/failure/pool-exhausted-fallback.js +0 -1
  17. package/dist/src/channels/telegram-mirror/failure/rate-limit.js +0 -1
  18. package/dist/src/channels/telegram-mirror/failure/returning-after-24h.js +0 -1
  19. package/dist/src/channels/telegram-mirror/failure/types.js +0 -1
  20. package/dist/src/channels/telegram-mirror/inbound-handler.js +0 -1
  21. package/dist/src/channels/telegram-mirror/index.js +0 -1
  22. package/dist/src/channels/telegram-mirror/plan-attachment.js +0 -1
  23. package/dist/src/channels/telegram-mirror/quota-reader.js +0 -1
  24. package/dist/src/channels/telegram-mirror/sessions-keyboard.js +0 -1
  25. package/dist/src/channels/telegram-mirror/soak-log.js +0 -1
  26. package/dist/src/channels/telegram-mirror/state-machine.js +21 -2
  27. package/dist/src/channels/telegram-mirror/status-line.js +0 -1
  28. package/dist/src/channels/telegram-mirror/sync-commands.js +0 -1
  29. package/dist/src/channels/telegram-mirror/threshold-watcher.js +0 -1
  30. package/dist/src/channels/telegram-mirror/turn-bridge.js +21 -2
  31. package/dist/src/cli/checks/bridge-wiring.js +0 -1
  32. package/dist/src/cli/checks/config-schema.js +0 -1
  33. package/dist/src/cli/checks/critical-openclaw-json-keys.js +0 -1
  34. package/dist/src/cli/checks/install-path.js +0 -1
  35. package/dist/src/cli/checks/patch-scaffold.js +0 -1
  36. package/dist/src/cli/doctor.js +0 -1
  37. package/dist/src/cli/index.js +0 -1
  38. package/dist/src/cli/migrate.js +0 -1
  39. package/dist/src/command-router/cc-handler.js +0 -1
  40. package/dist/src/command-router/index.js +0 -1
  41. package/dist/src/command-router/launch-policy.js +0 -1
  42. package/dist/src/command-router/resume-policy.js +0 -1
  43. package/dist/src/command-router/turn-formatter.js +0 -1
  44. package/dist/src/config/drift-detector.js +0 -1
  45. package/dist/src/config/loader.js +0 -1
  46. package/dist/src/config/schema.js +0 -1
  47. package/dist/src/constants.js +0 -1
  48. package/dist/src/council/build-agent-prompt.js +0 -1
  49. package/dist/src/council/cleanup-worktrees.js +0 -1
  50. package/dist/src/council/consensus.js +0 -1
  51. package/dist/src/council/council.js +0 -1
  52. package/dist/src/council/index.js +0 -1
  53. package/dist/src/council/system-prompt.js +0 -1
  54. package/dist/src/council/write-worktree-claude-md.js +0 -1
  55. package/dist/src/engines/base-oneshot-session.js +0 -1
  56. package/dist/src/engines/heartbeat-guard.js +0 -1
  57. package/dist/src/engines/index.js +0 -1
  58. package/dist/src/engines/persistent-codex-session.js +0 -1
  59. package/dist/src/engines/persistent-cursor-session.js +0 -1
  60. package/dist/src/engines/persistent-custom-session.js +0 -1
  61. package/dist/src/engines/persistent-gemini-session.js +0 -1
  62. package/dist/src/engines/persistent-session.js +30 -1
  63. package/dist/src/engines/resolve-bin.js +0 -1
  64. package/dist/src/engines/subprocess-pool.js +0 -1
  65. package/dist/src/health/handler.js +0 -1
  66. package/dist/src/health/index.js +0 -1
  67. package/dist/src/health/metrics.js +0 -1
  68. package/dist/src/index.js +0 -1
  69. package/dist/src/lib/auto-recovery.js +0 -1
  70. package/dist/src/lib/cache-parity.js +0 -1
  71. package/dist/src/lib/circuit-breaker.js +0 -1
  72. package/dist/src/lib/config-service.js +0 -1
  73. package/dist/src/lib/config.js +0 -1
  74. package/dist/src/lib/cost-rollup.js +0 -1
  75. package/dist/src/lib/debounce.js +0 -1
  76. package/dist/src/lib/debug-tap.js +0 -1
  77. package/dist/src/lib/domain-error.js +0 -1
  78. package/dist/src/lib/drift-detector.js +0 -1
  79. package/dist/src/lib/env-overrides.js +0 -1
  80. package/dist/src/lib/error-formatter.js +0 -1
  81. package/dist/src/lib/error-renderer.js +0 -1
  82. package/dist/src/lib/heartbeat-config.js +0 -1
  83. package/dist/src/lib/heartbeat-workaround.js +0 -1
  84. package/dist/src/lib/http-agent.js +0 -1
  85. package/dist/src/lib/index.js +0 -1
  86. package/dist/src/lib/json-array.js +0 -1
  87. package/dist/src/lib/markdown-to-mdv2.js +0 -1
  88. package/dist/src/lib/markdown-v2.js +0 -1
  89. package/dist/src/lib/perf/async-compact.js +0 -1
  90. package/dist/src/lib/perf/direct-sdk.js +0 -1
  91. package/dist/src/lib/perf/haiku-route.js +0 -1
  92. package/dist/src/lib/perf/predictive-continuation.js +0 -1
  93. package/dist/src/lib/perf/read-batch.js +0 -1
  94. package/dist/src/lib/perf/skill-list-collapse.js +0 -1
  95. package/dist/src/lib/perf/speculative-bubble.js +0 -1
  96. package/dist/src/lib/perf/typing-prefetch.js +0 -1
  97. package/dist/src/lib/register-guard.js +0 -1
  98. package/dist/src/lib/req-shape-log.js +0 -1
  99. package/dist/src/lib/safe-upstream-probes.js +0 -1
  100. package/dist/src/lib/session-registry.js +0 -1
  101. package/dist/src/lib/spawn-async.js +0 -1
  102. package/dist/src/lib/stale-pid-files.js +0 -1
  103. package/dist/src/lib/status-tee-reader.js +0 -1
  104. package/dist/src/lib/sysprompt-strip.js +0 -1
  105. package/dist/src/lib/telegram-bot-api.js +0 -1
  106. package/dist/src/lib/telemetry.js +0 -1
  107. package/dist/src/lib/test-mode.js +0 -1
  108. package/dist/src/lib/trajectory.js +0 -1
  109. package/dist/src/lib/vendor-paths.js +0 -1
  110. package/dist/src/lifecycle/boot.js +0 -1
  111. package/dist/src/lifecycle/patch-manifest.js +0 -1
  112. package/dist/src/lifecycle/phase-import-upstream.js +0 -1
  113. package/dist/src/lifecycle/phase-install-patches.js +0 -1
  114. package/dist/src/lifecycle/phase-schedule-jobs.js +0 -1
  115. package/dist/src/lifecycle/phase-start-server.js +0 -1
  116. package/dist/src/lifecycle/phase-validate-config.js +0 -1
  117. package/dist/src/lifecycle/phase-validate-upstream.js +0 -1
  118. package/dist/src/lifecycle/phase-wire-handlers.js +0 -1
  119. package/dist/src/lifecycle/safe-restart.js +0 -1
  120. package/dist/src/logger.js +0 -1
  121. package/dist/src/mcp/bridge.js +0 -1
  122. package/dist/src/mcp/index.js +0 -1
  123. package/dist/src/models.js +0 -1
  124. package/dist/src/observability/event-bus.js +0 -1
  125. package/dist/src/observability/get-event-bus.js +0 -1
  126. package/dist/src/observability/observability-service.js +0 -1
  127. package/dist/src/observability/perf-telemetry.js +0 -1
  128. package/dist/src/observability/subscribers/metrics.js +0 -1
  129. package/dist/src/observability/subscribers/session-capture.js +0 -1
  130. package/dist/src/openai-compat/bridges/allowlist.js +0 -1
  131. package/dist/src/openai-compat/bridges/factory.js +0 -1
  132. package/dist/src/openai-compat/bridges/media-bridge.js +0 -1
  133. package/dist/src/openai-compat/bridges/openclaw-api-shim.js +0 -1
  134. package/dist/src/openai-compat/bridges/openclaw-native-tools.js +0 -1
  135. package/dist/src/openai-compat/bridges/openclaw-tool-registry.js +0 -1
  136. package/dist/src/openai-compat/bridges/tts-media-bridge.js +0 -1
  137. package/dist/src/openai-compat/cli-stream-parser.js +0 -1
  138. package/dist/src/openai-compat/index.js +0 -1
  139. package/dist/src/openai-compat/message-extractor.js +0 -1
  140. package/dist/src/openai-compat/mode-flags.js +0 -1
  141. package/dist/src/openai-compat/non-streaming-handler.js +4 -2
  142. package/dist/src/openai-compat/openai-chunk-types.js +0 -1
  143. package/dist/src/openai-compat/openai-compat.js +0 -1
  144. package/dist/src/openai-compat/openai-types.js +0 -1
  145. package/dist/src/openai-compat/parse-route-body.js +0 -1
  146. package/dist/src/openai-compat/prompts.js +0 -1
  147. package/dist/src/openai-compat/response-formatter.js +0 -1
  148. package/dist/src/openai-compat/session-key-resolver.js +0 -1
  149. package/dist/src/openai-compat/skill-resolver.js +0 -1
  150. package/dist/src/openai-compat/sse-translator.js +0 -1
  151. package/dist/src/openai-compat/status-reporter.js +0 -1
  152. package/dist/src/openai-compat/streaming-handler.js +6 -2
  153. package/dist/src/openai-compat/tool-calls-parser.js +0 -1
  154. package/dist/src/openai-compat/tool-results-serializer.js +0 -1
  155. package/dist/src/openai-compat/tts-rule.js +0 -1
  156. package/dist/src/openai-compat/voice-recovery.js +0 -1
  157. package/dist/src/patches/cache-parity-registry.js +0 -1
  158. package/dist/src/patches/claude-md-injection.js +0 -1
  159. package/dist/src/patches/cwd-redirect.js +0 -1
  160. package/dist/src/patches/embedded-server-route.js +0 -1
  161. package/dist/src/patches/pricing-overrides.js +0 -1
  162. package/dist/src/patches/resume-registry-restore.js +0 -1
  163. package/dist/src/patches/session-pid-tracking.js +0 -1
  164. package/dist/src/patches/sysprompt-strip.js +0 -1
  165. package/dist/src/patches/tools-restoration.js +0 -1
  166. package/dist/src/persistence/migration-v0.js +0 -1
  167. package/dist/src/persistence/session-registry.js +0 -1
  168. package/dist/src/persistence/snapshot.js +0 -1
  169. package/dist/src/persistence/wal.js +0 -1
  170. package/dist/src/proxy/anthropic-adapter.js +0 -1
  171. package/dist/src/proxy/handler.js +0 -1
  172. package/dist/src/proxy/index.js +0 -1
  173. package/dist/src/proxy/schema-cleaner.js +0 -1
  174. package/dist/src/proxy/thought-cache.js +0 -1
  175. package/dist/src/session/embedded-server.js +0 -1
  176. package/dist/src/session/inbox-manager.js +0 -1
  177. package/dist/src/session/index.js +0 -1
  178. package/dist/src/session/persisted-sessions.js +0 -1
  179. package/dist/src/session/session-manager.js +0 -1
  180. package/dist/src/session/watchdogs.js +0 -1
  181. package/dist/src/session-bootstrap/boot-self-heal.js +0 -1
  182. package/dist/src/session-bootstrap/cwd-patch.js +0 -1
  183. package/dist/src/session-bootstrap/index.js +0 -1
  184. package/dist/src/session-bootstrap/resume-registry.js +0 -1
  185. package/dist/src/session-bootstrap/session-hygiene.js +0 -1
  186. package/dist/src/session-bootstrap/sysprompt-strip.js +0 -1
  187. package/dist/src/session-bootstrap/think-conflict-resolver.js +0 -1
  188. package/dist/src/types/index.js +0 -1
  189. package/dist/src/types/route.js +0 -1
  190. package/dist/src/types/runtime-config.js +0 -1
  191. package/dist/src/types/session.js +0 -1
  192. package/dist/src/types/sse.js +0 -1
  193. package/dist/src/types/tool-bridge.js +0 -1
  194. package/dist/src/types/upstream.js +0 -1
  195. package/dist/src/types.js +0 -1
  196. package/dist/src/validation.js +0 -1
  197. package/package.json +1 -1
  198. package/dist/src/channels/adapter.js.map +0 -1
  199. package/dist/src/channels/telegram/card-renderer.d.ts +0 -80
  200. package/dist/src/channels/telegram/card-renderer.js +0 -169
  201. package/dist/src/channels/telegram/card-renderer.js.map +0 -1
  202. package/dist/src/channels/telegram/completion-summary.d.ts +0 -21
  203. package/dist/src/channels/telegram/completion-summary.js +0 -218
  204. package/dist/src/channels/telegram/completion-summary.js.map +0 -1
  205. package/dist/src/channels/telegram/edit-cadence.d.ts +0 -37
  206. package/dist/src/channels/telegram/edit-cadence.js +0 -50
  207. package/dist/src/channels/telegram/edit-cadence.js.map +0 -1
  208. package/dist/src/channels/telegram/error-renderer.d.ts +0 -29
  209. package/dist/src/channels/telegram/error-renderer.js +0 -133
  210. package/dist/src/channels/telegram/error-renderer.js.map +0 -1
  211. package/dist/src/channels/telegram/event-reducer.d.ts +0 -33
  212. package/dist/src/channels/telegram/event-reducer.js +0 -647
  213. package/dist/src/channels/telegram/event-reducer.js.map +0 -1
  214. package/dist/src/channels/telegram/format-helpers.d.ts +0 -20
  215. package/dist/src/channels/telegram/format-helpers.js +0 -34
  216. package/dist/src/channels/telegram/format-helpers.js.map +0 -1
  217. package/dist/src/channels/telegram/index.d.ts +0 -13
  218. package/dist/src/channels/telegram/index.js +0 -14
  219. package/dist/src/channels/telegram/index.js.map +0 -1
  220. package/dist/src/channels/telegram/injector.d.ts +0 -53
  221. package/dist/src/channels/telegram/injector.js +0 -271
  222. package/dist/src/channels/telegram/injector.js.map +0 -1
  223. package/dist/src/channels/telegram/insight-formatter.d.ts +0 -36
  224. package/dist/src/channels/telegram/insight-formatter.js +0 -36
  225. package/dist/src/channels/telegram/insight-formatter.js.map +0 -1
  226. package/dist/src/channels/telegram/live-card.d.ts +0 -185
  227. package/dist/src/channels/telegram/live-card.js +0 -868
  228. package/dist/src/channels/telegram/live-card.js.map +0 -1
  229. package/dist/src/channels/telegram/logger.d.ts +0 -10
  230. package/dist/src/channels/telegram/logger.js +0 -13
  231. package/dist/src/channels/telegram/logger.js.map +0 -1
  232. package/dist/src/channels/telegram/result-preview.d.ts +0 -12
  233. package/dist/src/channels/telegram/result-preview.js +0 -48
  234. package/dist/src/channels/telegram/result-preview.js.map +0 -1
  235. package/dist/src/channels/telegram/speculative-bubble.d.ts +0 -33
  236. package/dist/src/channels/telegram/speculative-bubble.js +0 -42
  237. package/dist/src/channels/telegram/speculative-bubble.js.map +0 -1
  238. package/dist/src/channels/telegram/state-machine.d.ts +0 -22
  239. package/dist/src/channels/telegram/state-machine.js +0 -72
  240. package/dist/src/channels/telegram/state-machine.js.map +0 -1
  241. package/dist/src/channels/telegram/throttle-controller.d.ts +0 -88
  242. package/dist/src/channels/telegram/throttle-controller.js +0 -203
  243. package/dist/src/channels/telegram/throttle-controller.js.map +0 -1
  244. package/dist/src/channels/telegram/tool-tracker.d.ts +0 -149
  245. package/dist/src/channels/telegram/tool-tracker.js +0 -578
  246. package/dist/src/channels/telegram/tool-tracker.js.map +0 -1
  247. package/dist/src/channels/telegram-mirror/askuser.js.map +0 -1
  248. package/dist/src/channels/telegram-mirror/burst-accumulator.js.map +0 -1
  249. package/dist/src/channels/telegram-mirror/callback-mapping.js.map +0 -1
  250. package/dist/src/channels/telegram-mirror/card-renderer.js.map +0 -1
  251. package/dist/src/channels/telegram-mirror/card-state.js.map +0 -1
  252. package/dist/src/channels/telegram-mirror/commands.js.map +0 -1
  253. package/dist/src/channels/telegram-mirror/compose-buffer.js.map +0 -1
  254. package/dist/src/channels/telegram-mirror/cost-views.js.map +0 -1
  255. package/dist/src/channels/telegram-mirror/failure/callback-data-overflow.js.map +0 -1
  256. package/dist/src/channels/telegram-mirror/failure/gateway-down.js.map +0 -1
  257. package/dist/src/channels/telegram-mirror/failure/in-flight-conflict.js.map +0 -1
  258. package/dist/src/channels/telegram-mirror/failure/index.js.map +0 -1
  259. package/dist/src/channels/telegram-mirror/failure/model-5xx.js.map +0 -1
  260. package/dist/src/channels/telegram-mirror/failure/network-blip.js.map +0 -1
  261. package/dist/src/channels/telegram-mirror/failure/pool-exhausted-fallback.js.map +0 -1
  262. package/dist/src/channels/telegram-mirror/failure/rate-limit.js.map +0 -1
  263. package/dist/src/channels/telegram-mirror/failure/returning-after-24h.js.map +0 -1
  264. package/dist/src/channels/telegram-mirror/failure/types.js.map +0 -1
  265. package/dist/src/channels/telegram-mirror/inbound-handler.js.map +0 -1
  266. package/dist/src/channels/telegram-mirror/index.js.map +0 -1
  267. package/dist/src/channels/telegram-mirror/plan-attachment.js.map +0 -1
  268. package/dist/src/channels/telegram-mirror/quota-reader.js.map +0 -1
  269. package/dist/src/channels/telegram-mirror/sessions-keyboard.js.map +0 -1
  270. package/dist/src/channels/telegram-mirror/soak-log.js.map +0 -1
  271. package/dist/src/channels/telegram-mirror/state-machine.js.map +0 -1
  272. package/dist/src/channels/telegram-mirror/status-line.js.map +0 -1
  273. package/dist/src/channels/telegram-mirror/sync-commands.js.map +0 -1
  274. package/dist/src/channels/telegram-mirror/threshold-watcher.js.map +0 -1
  275. package/dist/src/channels/telegram-mirror/turn-bridge.js.map +0 -1
  276. package/dist/src/cli/checks/bridge-wiring.js.map +0 -1
  277. package/dist/src/cli/checks/config-schema.js.map +0 -1
  278. package/dist/src/cli/checks/critical-openclaw-json-keys.js.map +0 -1
  279. package/dist/src/cli/checks/install-path.js.map +0 -1
  280. package/dist/src/cli/checks/patch-scaffold.js.map +0 -1
  281. package/dist/src/cli/doctor.js.map +0 -1
  282. package/dist/src/cli/index.js.map +0 -1
  283. package/dist/src/cli/migrate.js.map +0 -1
  284. package/dist/src/command-router/cc-handler.js.map +0 -1
  285. package/dist/src/command-router/index.js.map +0 -1
  286. package/dist/src/command-router/launch-policy.js.map +0 -1
  287. package/dist/src/command-router/resume-policy.js.map +0 -1
  288. package/dist/src/command-router/turn-formatter.js.map +0 -1
  289. package/dist/src/config/drift-detector.js.map +0 -1
  290. package/dist/src/config/loader.js.map +0 -1
  291. package/dist/src/config/schema.js.map +0 -1
  292. package/dist/src/constants.js.map +0 -1
  293. package/dist/src/council/build-agent-prompt.js.map +0 -1
  294. package/dist/src/council/cleanup-worktrees.js.map +0 -1
  295. package/dist/src/council/consensus.js.map +0 -1
  296. package/dist/src/council/council.js.map +0 -1
  297. package/dist/src/council/index.js.map +0 -1
  298. package/dist/src/council/system-prompt.js.map +0 -1
  299. package/dist/src/council/write-worktree-claude-md.js.map +0 -1
  300. package/dist/src/engines/base-oneshot-session.js.map +0 -1
  301. package/dist/src/engines/heartbeat-guard.js.map +0 -1
  302. package/dist/src/engines/index.js.map +0 -1
  303. package/dist/src/engines/persistent-codex-session.js.map +0 -1
  304. package/dist/src/engines/persistent-cursor-session.js.map +0 -1
  305. package/dist/src/engines/persistent-custom-session.js.map +0 -1
  306. package/dist/src/engines/persistent-gemini-session.js.map +0 -1
  307. package/dist/src/engines/persistent-session.js.map +0 -1
  308. package/dist/src/engines/resolve-bin.js.map +0 -1
  309. package/dist/src/engines/subprocess-pool.js.map +0 -1
  310. package/dist/src/health/handler.js.map +0 -1
  311. package/dist/src/health/index.js.map +0 -1
  312. package/dist/src/health/metrics.js.map +0 -1
  313. package/dist/src/index.js.map +0 -1
  314. package/dist/src/lib/auto-recovery.js.map +0 -1
  315. package/dist/src/lib/cache-parity.js.map +0 -1
  316. package/dist/src/lib/circuit-breaker.js.map +0 -1
  317. package/dist/src/lib/config-service.js.map +0 -1
  318. package/dist/src/lib/config.js.map +0 -1
  319. package/dist/src/lib/cost-rollup.js.map +0 -1
  320. package/dist/src/lib/debounce.js.map +0 -1
  321. package/dist/src/lib/debug-tap.js.map +0 -1
  322. package/dist/src/lib/domain-error.js.map +0 -1
  323. package/dist/src/lib/drift-detector.js.map +0 -1
  324. package/dist/src/lib/env-overrides.js.map +0 -1
  325. package/dist/src/lib/error-formatter.js.map +0 -1
  326. package/dist/src/lib/error-renderer.js.map +0 -1
  327. package/dist/src/lib/heartbeat-config.js.map +0 -1
  328. package/dist/src/lib/heartbeat-workaround.js.map +0 -1
  329. package/dist/src/lib/http-agent.js.map +0 -1
  330. package/dist/src/lib/index.js.map +0 -1
  331. package/dist/src/lib/json-array.js.map +0 -1
  332. package/dist/src/lib/markdown-to-mdv2.js.map +0 -1
  333. package/dist/src/lib/markdown-v2.js.map +0 -1
  334. package/dist/src/lib/perf/async-compact.js.map +0 -1
  335. package/dist/src/lib/perf/direct-sdk.js.map +0 -1
  336. package/dist/src/lib/perf/haiku-route.js.map +0 -1
  337. package/dist/src/lib/perf/predictive-continuation.js.map +0 -1
  338. package/dist/src/lib/perf/read-batch.js.map +0 -1
  339. package/dist/src/lib/perf/skill-list-collapse.js.map +0 -1
  340. package/dist/src/lib/perf/speculative-bubble.js.map +0 -1
  341. package/dist/src/lib/perf/typing-prefetch.js.map +0 -1
  342. package/dist/src/lib/register-guard.js.map +0 -1
  343. package/dist/src/lib/req-shape-log.js.map +0 -1
  344. package/dist/src/lib/safe-upstream-probes.js.map +0 -1
  345. package/dist/src/lib/session-registry.js.map +0 -1
  346. package/dist/src/lib/spawn-async.js.map +0 -1
  347. package/dist/src/lib/stale-pid-files.js.map +0 -1
  348. package/dist/src/lib/status-tee-reader.js.map +0 -1
  349. package/dist/src/lib/sysprompt-strip.js.map +0 -1
  350. package/dist/src/lib/telegram-bot-api.js.map +0 -1
  351. package/dist/src/lib/telemetry.js.map +0 -1
  352. package/dist/src/lib/test-mode.js.map +0 -1
  353. package/dist/src/lib/trajectory.js.map +0 -1
  354. package/dist/src/lib/vendor-paths.js.map +0 -1
  355. package/dist/src/lifecycle/boot.js.map +0 -1
  356. package/dist/src/lifecycle/patch-manifest.js.map +0 -1
  357. package/dist/src/lifecycle/phase-import-upstream.js.map +0 -1
  358. package/dist/src/lifecycle/phase-install-patches.js.map +0 -1
  359. package/dist/src/lifecycle/phase-schedule-jobs.js.map +0 -1
  360. package/dist/src/lifecycle/phase-start-server.js.map +0 -1
  361. package/dist/src/lifecycle/phase-validate-config.js.map +0 -1
  362. package/dist/src/lifecycle/phase-validate-upstream.js.map +0 -1
  363. package/dist/src/lifecycle/phase-wire-handlers.js.map +0 -1
  364. package/dist/src/lifecycle/safe-restart.js.map +0 -1
  365. package/dist/src/logger.js.map +0 -1
  366. package/dist/src/mcp/bridge.js.map +0 -1
  367. package/dist/src/mcp/index.js.map +0 -1
  368. package/dist/src/models.js.map +0 -1
  369. package/dist/src/observability/event-bus.js.map +0 -1
  370. package/dist/src/observability/get-event-bus.js.map +0 -1
  371. package/dist/src/observability/observability-service.js.map +0 -1
  372. package/dist/src/observability/perf-telemetry.js.map +0 -1
  373. package/dist/src/observability/subscribers/metrics.js.map +0 -1
  374. package/dist/src/observability/subscribers/session-capture.js.map +0 -1
  375. package/dist/src/openai-compat/bridges/allowlist.js.map +0 -1
  376. package/dist/src/openai-compat/bridges/factory.js.map +0 -1
  377. package/dist/src/openai-compat/bridges/media-bridge.js.map +0 -1
  378. package/dist/src/openai-compat/bridges/openclaw-api-shim.js.map +0 -1
  379. package/dist/src/openai-compat/bridges/openclaw-native-tools.js.map +0 -1
  380. package/dist/src/openai-compat/bridges/openclaw-tool-registry.js.map +0 -1
  381. package/dist/src/openai-compat/bridges/tts-media-bridge.js.map +0 -1
  382. package/dist/src/openai-compat/cli-stream-parser.js.map +0 -1
  383. package/dist/src/openai-compat/index.js.map +0 -1
  384. package/dist/src/openai-compat/message-extractor.js.map +0 -1
  385. package/dist/src/openai-compat/mode-flags.js.map +0 -1
  386. package/dist/src/openai-compat/non-streaming-handler.js.map +0 -1
  387. package/dist/src/openai-compat/openai-chunk-types.js.map +0 -1
  388. package/dist/src/openai-compat/openai-compat.js.map +0 -1
  389. package/dist/src/openai-compat/openai-types.js.map +0 -1
  390. package/dist/src/openai-compat/parse-route-body.js.map +0 -1
  391. package/dist/src/openai-compat/prompts.js.map +0 -1
  392. package/dist/src/openai-compat/response-formatter.js.map +0 -1
  393. package/dist/src/openai-compat/session-key-resolver.js.map +0 -1
  394. package/dist/src/openai-compat/skill-resolver.js.map +0 -1
  395. package/dist/src/openai-compat/sse-translator.js.map +0 -1
  396. package/dist/src/openai-compat/status-reporter.js.map +0 -1
  397. package/dist/src/openai-compat/streaming-handler.js.map +0 -1
  398. package/dist/src/openai-compat/tool-calls-parser.js.map +0 -1
  399. package/dist/src/openai-compat/tool-results-serializer.js.map +0 -1
  400. package/dist/src/openai-compat/tts-rule.js.map +0 -1
  401. package/dist/src/openai-compat/voice-recovery.js.map +0 -1
  402. package/dist/src/patches/cache-parity-registry.js.map +0 -1
  403. package/dist/src/patches/claude-md-injection.js.map +0 -1
  404. package/dist/src/patches/cwd-redirect.js.map +0 -1
  405. package/dist/src/patches/embedded-server-route.js.map +0 -1
  406. package/dist/src/patches/pricing-overrides.js.map +0 -1
  407. package/dist/src/patches/resume-registry-restore.js.map +0 -1
  408. package/dist/src/patches/session-pid-tracking.js.map +0 -1
  409. package/dist/src/patches/sysprompt-strip.js.map +0 -1
  410. package/dist/src/patches/sysprompt-strip.spec.d.ts +0 -33
  411. package/dist/src/patches/sysprompt-strip.spec.js +0 -53
  412. package/dist/src/patches/sysprompt-strip.spec.js.map +0 -1
  413. package/dist/src/patches/tools-restoration.js.map +0 -1
  414. package/dist/src/persistence/migration-v0.js.map +0 -1
  415. package/dist/src/persistence/session-registry.js.map +0 -1
  416. package/dist/src/persistence/snapshot.js.map +0 -1
  417. package/dist/src/persistence/wal.js.map +0 -1
  418. package/dist/src/proxy/anthropic-adapter.js.map +0 -1
  419. package/dist/src/proxy/handler.js.map +0 -1
  420. package/dist/src/proxy/index.js.map +0 -1
  421. package/dist/src/proxy/schema-cleaner.js.map +0 -1
  422. package/dist/src/proxy/thought-cache.js.map +0 -1
  423. package/dist/src/session/embedded-server.js.map +0 -1
  424. package/dist/src/session/inbox-manager.js.map +0 -1
  425. package/dist/src/session/index.js.map +0 -1
  426. package/dist/src/session/persisted-sessions.js.map +0 -1
  427. package/dist/src/session/session-manager.js.map +0 -1
  428. package/dist/src/session/watchdogs.js.map +0 -1
  429. package/dist/src/session-bootstrap/boot-self-heal.js.map +0 -1
  430. package/dist/src/session-bootstrap/cwd-patch.js.map +0 -1
  431. package/dist/src/session-bootstrap/index.js.map +0 -1
  432. package/dist/src/session-bootstrap/resume-registry.js.map +0 -1
  433. package/dist/src/session-bootstrap/session-hygiene.js.map +0 -1
  434. package/dist/src/session-bootstrap/sysprompt-strip.js.map +0 -1
  435. package/dist/src/session-bootstrap/think-conflict-resolver.js.map +0 -1
  436. package/dist/src/types/index.js.map +0 -1
  437. package/dist/src/types/route.js.map +0 -1
  438. package/dist/src/types/runtime-config.js.map +0 -1
  439. package/dist/src/types/session.js.map +0 -1
  440. package/dist/src/types/sse.js.map +0 -1
  441. package/dist/src/types/tool-bridge.js.map +0 -1
  442. package/dist/src/types/upstream.js.map +0 -1
  443. package/dist/src/types.js.map +0 -1
  444. package/dist/src/validation.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"live-card.js","sourceRoot":"","sources":["../../../../src/channels/telegram/live-card.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * telegram/logger.ts — shared module-level logger
3
- *
4
- * Extracted from live-card.ts to break the would-be ESM cycle between
5
- * live-card.ts and card-renderer.ts (both need the logger; if card-renderer
6
- * imported from live-card and live-card imported from card-renderer, tsc
7
- * would flag a circular dependency). Shared singleton — set at register() time.
8
- */
9
- export declare let _logger: Console;
10
- export declare function setLogger(logger: Console): void;
@@ -1,13 +0,0 @@
1
- /**
2
- * telegram/logger.ts — shared module-level logger
3
- *
4
- * Extracted from live-card.ts to break the would-be ESM cycle between
5
- * live-card.ts and card-renderer.ts (both need the logger; if card-renderer
6
- * imported from live-card and live-card imported from card-renderer, tsc
7
- * would flag a circular dependency). Shared singleton — set at register() time.
8
- */
9
- export let _logger = console;
10
- export function setLogger(logger) {
11
- _logger = logger;
12
- }
13
- //# sourceMappingURL=logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../src/channels/telegram/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,CAAC,IAAI,OAAO,GAAY,OAAO,CAAC;AAEtC,MAAM,UAAU,SAAS,CAAC,MAAe;IACvC,OAAO,GAAG,MAAM,CAAC;AACnB,CAAC"}
@@ -1,12 +0,0 @@
1
- /**
2
- * `extractResultPreview` — pure result-preview formatter for Telegram cards.
3
- *
4
- * Extracted from `tool-tracker.ts` 2026-05-13 as the second hot-path-adjacent
5
- * decomposition (pure function; no state, no I/O). Behavior preservation
6
- * verified by existing tool-tracker tests + new dedicated unit tests.
7
- *
8
- * Given a tool name + raw result + error indicator, returns a short
9
- * human-readable preview string for the live card, or null if no preview
10
- * is appropriate.
11
- */
12
- export declare function extractResultPreview(toolName: string, result: unknown, error: unknown): string | null;
@@ -1,48 +0,0 @@
1
- /**
2
- * `extractResultPreview` — pure result-preview formatter for Telegram cards.
3
- *
4
- * Extracted from `tool-tracker.ts` 2026-05-13 as the second hot-path-adjacent
5
- * decomposition (pure function; no state, no I/O). Behavior preservation
6
- * verified by existing tool-tracker tests + new dedicated unit tests.
7
- *
8
- * Given a tool name + raw result + error indicator, returns a short
9
- * human-readable preview string for the live card, or null if no preview
10
- * is appropriate.
11
- */
12
- export function extractResultPreview(toolName, result, error) {
13
- if (error)
14
- return null;
15
- if (!result)
16
- return null;
17
- const text = typeof result === 'string' ? result : String(result);
18
- if (!text || text.length < 2)
19
- return null;
20
- switch (toolName) {
21
- case 'exec': {
22
- const firstLine = text.split('\n').find((l) => l.trim()) || '';
23
- return firstLine.length > 60 ? firstLine.slice(0, 57) + '...' : firstLine;
24
- }
25
- case 'web_fetch': {
26
- const statusMatch = text.match(/^(\d{3})/);
27
- if (statusMatch)
28
- return `HTTP ${statusMatch[1]}`;
29
- const sizeKb = (text.length / 1024).toFixed(1);
30
- return `${sizeKb}kb fetched`;
31
- }
32
- case 'read': {
33
- const lineCount = text.split('\n').length;
34
- return `${lineCount} lines`;
35
- }
36
- case 'write':
37
- return 'written';
38
- case 'edit':
39
- return 'edited';
40
- case 'web_search': {
41
- const hits = text.split('\n').filter((l) => l.trim()).length;
42
- return `${Math.min(hits, 10)} results`;
43
- }
44
- default:
45
- return null;
46
- }
47
- }
48
- //# sourceMappingURL=result-preview.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"result-preview.js","sourceRoot":"","sources":["../../../../src/channels/telegram/result-preview.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,UAAU,oBAAoB,CAClC,QAAgB,EAChB,MAAe,EACf,KAAc;IAEd,IAAI,KAAK;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,IAAI,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YAC/D,OAAO,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC3C,IAAI,WAAW;gBAAE,OAAO,QAAQ,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/C,OAAO,GAAG,MAAM,YAAY,CAAC;QAC/B,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YAC1C,OAAO,GAAG,SAAS,QAAQ,CAAC;QAC9B,CAAC;QACD,KAAK,OAAO;YACV,OAAO,SAAS,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC;QAClB,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YAC7D,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC;QACzC,CAAC;QACD;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}
@@ -1,33 +0,0 @@
1
- /**
2
- * M9 (perf overhaul idea #9) — speculative "Thinking…" bubble.
3
- *
4
- * Fires a Telegram sendMessage at t≈50ms after the user submits, BEFORE the
5
- * model returns first token. Pure perception fix — the model still does the
6
- * full turn; this just shortens the user-visible "did the bot get my message?"
7
- * window from ~400-800ms (subprocess bootstrap + first-byte) to ~50ms (one
8
- * RTT to Telegram).
9
- *
10
- * Pairs with M3 as the tier-1 placeholder. The returned message_id can be
11
- * handed to TelegramMessageQueue's `existingCardMessageId` so the live card
12
- * edits the same Telegram message in-place — zero double-bubble.
13
- *
14
- * Flag: CC_OPENCLAW_PERF_SPEC_BUBBLE (default OFF; opt-in via =1).
15
- *
16
- * Integration: callers (cc-handler, gateway message_in hook) invoke this
17
- * at the earliest non-blocking opportunity. Fire-and-forget is fine — the
18
- * downstream live-card path checks `ackMessageId` and adopts it; if the
19
- * speculative bubble hasn't landed yet, the live card sends a fresh ack.
20
- */
21
- export interface SpeculativeBubbleOptions {
22
- chatId: string;
23
- threadId?: string | undefined;
24
- /** Text to emit. Defaults to a one-cell braille spinner + "Thinking…". */
25
- text?: string;
26
- /** Reply-to message id (the user's submitted message). Optional. */
27
- replyToMessageId?: number | null;
28
- }
29
- /**
30
- * Emit the speculative bubble. Returns the new message_id on success, null
31
- * if the flag is off, the chatId is missing, or the send failed. Never throws.
32
- */
33
- export declare function emitSpeculativeThinking(opts: SpeculativeBubbleOptions): Promise<number | null>;
@@ -1,42 +0,0 @@
1
- /**
2
- * M9 (perf overhaul idea #9) — speculative "Thinking…" bubble.
3
- *
4
- * Fires a Telegram sendMessage at t≈50ms after the user submits, BEFORE the
5
- * model returns first token. Pure perception fix — the model still does the
6
- * full turn; this just shortens the user-visible "did the bot get my message?"
7
- * window from ~400-800ms (subprocess bootstrap + first-byte) to ~50ms (one
8
- * RTT to Telegram).
9
- *
10
- * Pairs with M3 as the tier-1 placeholder. The returned message_id can be
11
- * handed to TelegramMessageQueue's `existingCardMessageId` so the live card
12
- * edits the same Telegram message in-place — zero double-bubble.
13
- *
14
- * Flag: CC_OPENCLAW_PERF_SPEC_BUBBLE (default OFF; opt-in via =1).
15
- *
16
- * Integration: callers (cc-handler, gateway message_in hook) invoke this
17
- * at the earliest non-blocking opportunity. Fire-and-forget is fine — the
18
- * downstream live-card path checks `ackMessageId` and adopts it; if the
19
- * speculative bubble hasn't landed yet, the live card sends a fresh ack.
20
- */
21
- import { getPerfSpecBubbleEnabled } from '../../lib/config.js';
22
- import { sendTg } from './card-renderer.js';
23
- const DEFAULT_TEXT = '⠋ Thinking…';
24
- /**
25
- * Emit the speculative bubble. Returns the new message_id on success, null
26
- * if the flag is off, the chatId is missing, or the send failed. Never throws.
27
- */
28
- export async function emitSpeculativeThinking(opts) {
29
- if (!getPerfSpecBubbleEnabled())
30
- return null;
31
- if (!opts.chatId)
32
- return null;
33
- const text = opts.text || DEFAULT_TEXT;
34
- try {
35
- const res = (await sendTg(opts.chatId, text, opts.threadId, undefined, opts.replyToMessageId ?? null));
36
- return res?.message_id ?? null;
37
- }
38
- catch {
39
- return null;
40
- }
41
- }
42
- //# sourceMappingURL=speculative-bubble.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"speculative-bubble.js","sourceRoot":"","sources":["../../../../src/channels/telegram/speculative-bubble.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,YAAY,GAAG,aAAa,CAAC;AAWnC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAA8B;IAE9B,IAAI,CAAC,wBAAwB,EAAE;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,YAAY,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CACvB,IAAI,CAAC,MAAM,EACX,IAAI,EACJ,IAAI,CAAC,QAAQ,EACb,SAAS,EACT,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAC9B,CAAmC,CAAC;QACrC,OAAO,GAAG,EAAE,UAAU,IAAI,IAAI,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -1,22 +0,0 @@
1
- /**
2
- * telegram state-machine — TypeScript port of savvy-claude-code/ux-bridge.js
3
- *
4
- * Handles the message_sending hook: suppresses redundant tool ticker messages
5
- * when a Savvy live card is active in the chat.
6
- *
7
- * Also exports the SavvyCardState lifecycle helpers used across the bridge
8
- * (markCancelled, clearStall, etc.) so event-reducer can use them without
9
- * importing tool-tracker directly.
10
- *
11
- * Source lines: 2224–2242 of ux-bridge.js (message_sending handler)
12
- * Lifecycle helpers referenced from tool-tracker state machine logic throughout.
13
- */
14
- export interface PluginApi {
15
- on(event: string, handler: (...args: unknown[]) => unknown | Promise<unknown>): void;
16
- logger?: Console;
17
- }
18
- /**
19
- * Register the state-machine plugin hook (message_sending).
20
- * Idempotent — subsequent calls are no-ops.
21
- */
22
- export declare function register(api: PluginApi): void;
@@ -1,72 +0,0 @@
1
- /**
2
- * telegram state-machine — TypeScript port of savvy-claude-code/ux-bridge.js
3
- *
4
- * Handles the message_sending hook: suppresses redundant tool ticker messages
5
- * when a Savvy live card is active in the chat.
6
- *
7
- * Also exports the SavvyCardState lifecycle helpers used across the bridge
8
- * (markCancelled, clearStall, etc.) so event-reducer can use them without
9
- * importing tool-tracker directly.
10
- *
11
- * Source lines: 2224–2242 of ux-bridge.js (message_sending handler)
12
- * Lifecycle helpers referenced from tool-tracker state machine logic throughout.
13
- */
14
- import { _logger, wasDispatchedToTelegram } from './live-card.js';
15
- import { activeSavvyChatIds } from './tool-tracker.js';
16
- import { defaultRegisterGuard } from '../../lib/register-guard.js';
17
- // ── Constants ─────────────────────────────────────────────────────────────
18
- const PLUGIN_TAG = '[cc-openclaw/telegram/state-machine]';
19
- // Tool ticker emoji prefixes — messages starting with these are suppressed
20
- // when a Savvy live card is active (they're redundant noise).
21
- const TOOL_TICKER_EMOJIS = ['🛠️', '🧰', '📖', '✍️', '📝', '📎', '🌐', '🔍', '💻', '⚙️', '🧩', '🔧'];
22
- // ── register() ────────────────────────────────────────────────────────────
23
- /**
24
- * Register the state-machine plugin hook (message_sending).
25
- * Idempotent — subsequent calls are no-ops.
26
- */
27
- export function register(api) {
28
- const logger = api.logger || _logger;
29
- defaultRegisterGuard.guard('channels/telegram/state-machine', api, () => {
30
- // ── message_sending: suppress duplicates from native ACP dispatcher ────
31
- // Two responsibilities:
32
- //
33
- // 1. Tool-ticker suppression (legacy): when a Savvy live card is active,
34
- // cancel "🛠️ Bash: ls -la" / "Working: " ticker noise that the native
35
- // dispatcher would send.
36
- //
37
- // 2. Cross-path dedup (2026-04-29 fix): cc-openclaw's patched
38
- // SessionManager.sendMessage delivers the agent reply via its own
39
- // queue → telegramApi path. The gateway's NATIVE ACP dispatcher ALSO
40
- // emits the same agent reply via the message_sending event. For
41
- // /new and other fast turns where the live card never posts (so
42
- // activeSavvyChatIds doesn't contain the chat), this would double-fire
43
- // the greeting. Bridge the gap by checking the cross-handler dedup
44
- // map (live-card.markDispatchedToTelegram is called inside
45
- // patchedSendMessage). If the same (chatId, payload) was just
46
- // dispatched by cc-openclaw, cancel the native path.
47
- api.on('message_sending', (event, ctx) => {
48
- const ctxObj = ctx;
49
- if (ctxObj.channelId !== 'telegram')
50
- return;
51
- const ev = event;
52
- const chatId = String(ev.to ?? '');
53
- const text = ev.content || '';
54
- // Cross-path dedup — cancels native ACP emission if cc-openclaw
55
- // already dispatched this (chatId, payload) within the window.
56
- if (wasDispatchedToTelegram(chatId, text)) {
57
- logger.warn(`${PLUGIN_TAG} Cancelling native message_sending — cc-openclaw already dispatched this payload to chat=${chatId} (cross-path dedup)`);
58
- return { cancel: true };
59
- }
60
- // Legacy: tool-ticker suppression when a live card is active.
61
- if (!activeSavvyChatIds.has(chatId))
62
- return;
63
- const isToolTicker = TOOL_TICKER_EMOJIS.some(e => text.startsWith(e + ' '));
64
- const isWorkingStatus = text.startsWith('Working: ');
65
- if (isToolTicker || isWorkingStatus) {
66
- return { cancel: true };
67
- }
68
- });
69
- logger.info(`${PLUGIN_TAG} state-machine hooks registered (message_sending ticker suppression)`);
70
- }); // end defaultRegisterGuard.guard
71
- }
72
- //# sourceMappingURL=state-machine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state-machine.js","sourceRoot":"","sources":["../../../../src/channels/telegram/state-machine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAA4B,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AASnE,6EAA6E;AAE7E,MAAM,UAAU,GAAG,sCAAsC,CAAC;AAE1D,2EAA2E;AAC3E,8DAA8D;AAC9D,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,CAAC,CAAC;AAE1F,6EAA6E;AAE7E;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAc;IACrC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC;IAErC,oBAAoB,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,EAAE,GAAG,EAAE;QACxE,0EAA0E;QAC1E,wBAAwB;QACxB,EAAE;QACF,yEAAyE;QACzE,0EAA0E;QAC1E,4BAA4B;QAC5B,EAAE;QACF,8DAA8D;QAC9D,qEAAqE;QACrE,wEAAwE;QACxE,mEAAmE;QACnE,mEAAmE;QACnE,0EAA0E;QAC1E,sEAAsE;QACtE,8DAA8D;QAC9D,iEAAiE;QACjE,wDAAwD;QACxD,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,KAAc,EAAE,GAAY,EAAE,EAAE;YACzD,MAAM,MAAM,GAAG,GAA6B,CAAC;YAC7C,IAAI,MAAM,CAAC,SAAS,KAAK,UAAU;gBAAE,OAAO;YAE5C,MAAM,EAAE,GAAG,KAA2C,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;YAE9B,gEAAgE;YAChE,+DAA+D;YAC/D,IAAI,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC1C,MAAM,CAAC,IAAI,CACT,GAAG,UAAU,4FAA4F,MAAM,qBAAqB,CACrI,CAAC;gBACF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC1B,CAAC;YAED,8DAA8D;YAC9D,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,OAAO;YAE5C,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YAC5E,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAErD,IAAI,YAAY,IAAI,eAAe,EAAE,CAAC;gBACpC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,sEAAsE,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC,CAAC,iCAAiC;AACvC,CAAC"}
@@ -1,88 +0,0 @@
1
- /**
2
- * throttle-controller — Telegram message queue + dedup primitives.
3
- *
4
- * Extracted from live-card.ts (Step 3 of Phase 5 v0.11.0 decomposition,
5
- * PRPs/phase5-live-card-split.md).
6
- *
7
- * Owns:
8
- * - TelegramMessageQueue: per-session promise-chain serialiser for card
9
- * edits and standalone message sends.
10
- * - Shared cross-handler dedup window: `markDispatchedToTelegram` /
11
- * `wasDispatchedToTelegram`, used to bridge the cc-openclaw patched
12
- * SessionManager.send path and the gateway's native ACP message_sending
13
- * path (both can fire for the same agent reply, producing the doubled-
14
- * greeting bug observed on /new).
15
- * - `_inputFingerprint` for tool-tracker / state-machine input dedup.
16
- *
17
- * Imports kept narrow: card-renderer (sendTg, editTg), logger (_logger),
18
- * node:crypto. No coupling to tool-tracker or live-card.
19
- */
20
- export declare const _sendMessageDedup: Map<string, {
21
- hash: string;
22
- expiresAt: number;
23
- }>;
24
- export declare const DEDUP_WINDOW_MS = 3000;
25
- export declare function _hashPayload(message: unknown): string;
26
- export declare function markDispatchedToTelegram(chatId: string, payload: unknown): void;
27
- export declare function wasDispatchedToTelegram(chatId: string, payload: unknown): boolean;
28
- export declare class TelegramMessageQueue {
29
- chatId: string;
30
- threadId: string | undefined;
31
- cardMessageId: number | null;
32
- terminalMessageId: number | null;
33
- _replyToMessageId: number | null;
34
- /**
35
- * Sticky flag — set true the first time `sendMessage()` is called for this
36
- * queue instance. Lets the fast-turn fallback in `applyPatch()` detect that
37
- * a new message was already dispatched by the pipeline's `onNewMessage`
38
- * callback and avoid double-firing. Bug context: 2026-04-29 doubled-greeting
39
- * on `/new` was caused by both the pipeline AND the fallback emitting the
40
- * same model output as separate Telegram messages.
41
- */
42
- messageSent: boolean;
43
- private _cardChain;
44
- private _msgChain;
45
- constructor(chatId: string, threadId: string | undefined, existingCardMessageId: number | null, replyToMessageId?: number | null);
46
- /** Send or edit the session card. */
47
- updateCard(text: string, replyMarkup?: unknown): void;
48
- /** Send a standalone message (error alert, completion summary, or
49
- * assistant-text chat bubble).
50
- *
51
- * v0.20.1: opts.escape (default false) controls whether the text is
52
- * pre-escaped for MarkdownV2 before sending. Set `true` when passing
53
- * RAW assistant text (Savvy's chat bubble) — escape ensures
54
- * MarkdownV2 parses successfully and Telegram preserves all content
55
- * punctuation (periods, hyphens, parens). Set `false` (default) when
56
- * passing pre-formatted MarkdownV2 strings (e.g. live-card collapse
57
- * messages with literal `\(` / `*bold*` markers).
58
- *
59
- * Bug context (2026-05-17): Savvy's chat bubble path passed raw text
60
- * through this method → sendTg tried MarkdownV2 → un-escaped `.` / `-`
61
- * caused 400 → fallback stripped content punctuation → user saw
62
- * "period-touches-cap" garbage. Escape-on-by-flag fixes it for the
63
- * raw-text path without breaking pre-formatted callers.
64
- */
65
- sendMessage(text: string, opts?: {
66
- escape?: boolean;
67
- }): void;
68
- /** v0.22.0 M4 — send or edit the terminal-mirror bubble (#2 of dual-bubble).
69
- *
70
- * Chains on the SAME _cardChain as updateCard() so the two bubbles edit
71
- * in lockstep: each terminal-bubble operation runs after the most recent
72
- * chrome-bubble operation has resolved. Ordering invariant — bubble #2
73
- * cannot arrive before bubble #1 — is enforced by the cardMessageId
74
- * precondition: the terminal-send is a no-op until the chrome bubble
75
- * has been dispatched at least once. Callers wire this by always calling
76
- * updateCard() before updateTerminalBubble() within a turn.
77
- *
78
- * Empty body is a no-op (so M3's `return ''` when state is empty doesn't
79
- * produce a wasteful empty-message send). When body is non-empty and
80
- * terminalMessageId is null, first send creates the bubble; subsequent
81
- * calls editTg the same message in-place. */
82
- updateTerminalBubble(body: string): void;
83
- }
84
- export interface InputFingerprint {
85
- size: number;
86
- sig: string;
87
- }
88
- export declare function _inputFingerprint(input: unknown): InputFingerprint;
@@ -1,203 +0,0 @@
1
- /**
2
- * throttle-controller — Telegram message queue + dedup primitives.
3
- *
4
- * Extracted from live-card.ts (Step 3 of Phase 5 v0.11.0 decomposition,
5
- * PRPs/phase5-live-card-split.md).
6
- *
7
- * Owns:
8
- * - TelegramMessageQueue: per-session promise-chain serialiser for card
9
- * edits and standalone message sends.
10
- * - Shared cross-handler dedup window: `markDispatchedToTelegram` /
11
- * `wasDispatchedToTelegram`, used to bridge the cc-openclaw patched
12
- * SessionManager.send path and the gateway's native ACP message_sending
13
- * path (both can fire for the same agent reply, producing the doubled-
14
- * greeting bug observed on /new).
15
- * - `_inputFingerprint` for tool-tracker / state-machine input dedup.
16
- *
17
- * Imports kept narrow: card-renderer (sendTg, editTg), logger (_logger),
18
- * node:crypto. No coupling to tool-tracker or live-card.
19
- */
20
- import { createHash } from 'node:crypto';
21
- import { sendTg, editTg } from './card-renderer.js';
22
- import { _logger } from './logger.js';
23
- import { escapeMarkdownV2 } from '../../lib/markdown-v2.js';
24
- import { markdownToMdv2 } from '../../lib/markdown-to-mdv2.js';
25
- // v0.20.2 — gate for the rich-render structural converter. When `1`, raw
26
- // assistant text (opts.escape=true callers) routes through markdownToMdv2
27
- // so bold/italic/code/headers/links render in Telegram instead of showing
28
- // as literal escape sequences. Default `0` preserves exact v0.20.1 behavior
29
- // (full escape, no formatting). Read once at module load to match the
30
- // runtime env semantics other v0.20.x flags use.
31
- const RICH_RENDER_ENABLED = process.env.CC_OPENCLAW_RICH_RENDER === '1';
32
- const PLUGIN_TAG = '[cc-openclaw/telegram/throttle-controller]';
33
- // ── Shared cross-handler dedup ───────────────────────────────────────────
34
- //
35
- // Keyed on chatId (NOT sessionName) because the upstream double-call uses
36
- // two different session names for the same Telegram-chat output. The
37
- // chatId is the stable invariant identifying "where this message is going"
38
- // regardless of which session generated it.
39
- export const _sendMessageDedup = new Map();
40
- export const DEDUP_WINDOW_MS = 3000;
41
- export function _hashPayload(message) {
42
- let payload;
43
- try {
44
- payload = typeof message === 'string' ? message : JSON.stringify(message);
45
- }
46
- catch {
47
- payload = String(message);
48
- }
49
- // 12-char sha1 prefix is collision-safe within a 2s window for our payload sizes
50
- return createHash('sha1').update(payload.slice(0, 4096)).digest('hex').slice(0, 12);
51
- }
52
- export function markDispatchedToTelegram(chatId, payload) {
53
- if (!chatId)
54
- return;
55
- const hash = _hashPayload(payload);
56
- _sendMessageDedup.set(chatId, { hash, expiresAt: Date.now() + DEDUP_WINDOW_MS });
57
- }
58
- export function wasDispatchedToTelegram(chatId, payload) {
59
- if (!chatId)
60
- return false;
61
- const existing = _sendMessageDedup.get(chatId);
62
- if (!existing)
63
- return false;
64
- if (existing.expiresAt <= Date.now()) {
65
- _sendMessageDedup.delete(chatId);
66
- return false;
67
- }
68
- return existing.hash === _hashPayload(payload);
69
- }
70
- // ── Per-session Telegram message queue ────────────────────────────────────
71
- export class TelegramMessageQueue {
72
- chatId;
73
- threadId;
74
- cardMessageId;
75
- // v0.22.0 M4 — paired secondary message ID for bubble #2 (terminal
76
- // mirror) of the dual-bubble layout. Null until the first non-empty
77
- // terminal-bubble update has been sent. Once set, subsequent updates
78
- // edit the same Telegram message in-place.
79
- terminalMessageId;
80
- _replyToMessageId;
81
- /**
82
- * Sticky flag — set true the first time `sendMessage()` is called for this
83
- * queue instance. Lets the fast-turn fallback in `applyPatch()` detect that
84
- * a new message was already dispatched by the pipeline's `onNewMessage`
85
- * callback and avoid double-firing. Bug context: 2026-04-29 doubled-greeting
86
- * on `/new` was caused by both the pipeline AND the fallback emitting the
87
- * same model output as separate Telegram messages.
88
- */
89
- messageSent;
90
- _cardChain;
91
- _msgChain;
92
- constructor(chatId, threadId, existingCardMessageId, replyToMessageId) {
93
- this.chatId = chatId;
94
- this.threadId = threadId;
95
- this._replyToMessageId = replyToMessageId || null;
96
- this.cardMessageId = existingCardMessageId || null;
97
- this.terminalMessageId = null;
98
- this.messageSent = false;
99
- this._cardChain = Promise.resolve();
100
- this._msgChain = Promise.resolve();
101
- }
102
- /** Send or edit the session card. */
103
- updateCard(text, replyMarkup) {
104
- this._cardChain = this._cardChain.then(async () => {
105
- if (this.cardMessageId) {
106
- await editTg(this.chatId, this.cardMessageId, text, replyMarkup);
107
- }
108
- else {
109
- const res = await sendTg(this.chatId, text, this.threadId, replyMarkup, this._replyToMessageId);
110
- if (res.ok && res.result?.message_id) {
111
- this.cardMessageId = res.result.message_id;
112
- this._replyToMessageId = null;
113
- }
114
- }
115
- }).catch(e => _logger.error(`${PLUGIN_TAG} card update error: ${e.message}`));
116
- }
117
- /** Send a standalone message (error alert, completion summary, or
118
- * assistant-text chat bubble).
119
- *
120
- * v0.20.1: opts.escape (default false) controls whether the text is
121
- * pre-escaped for MarkdownV2 before sending. Set `true` when passing
122
- * RAW assistant text (Savvy's chat bubble) — escape ensures
123
- * MarkdownV2 parses successfully and Telegram preserves all content
124
- * punctuation (periods, hyphens, parens). Set `false` (default) when
125
- * passing pre-formatted MarkdownV2 strings (e.g. live-card collapse
126
- * messages with literal `\(` / `*bold*` markers).
127
- *
128
- * Bug context (2026-05-17): Savvy's chat bubble path passed raw text
129
- * through this method → sendTg tried MarkdownV2 → un-escaped `.` / `-`
130
- * caused 400 → fallback stripped content punctuation → user saw
131
- * "period-touches-cap" garbage. Escape-on-by-flag fixes it for the
132
- * raw-text path without breaking pre-formatted callers.
133
- */
134
- sendMessage(text, opts) {
135
- this.messageSent = true;
136
- // v0.20.2: opts.escape callers (raw assistant text) optionally route
137
- // through the structural converter when CC_OPENCLAW_RICH_RENDER=1.
138
- // Default behavior (flag unset/0) is the v0.20.1 flat-escape — every
139
- // MarkdownV2 special char is backslash-escaped, formatting markers
140
- // become literal but content punctuation is preserved.
141
- const payload = opts?.escape
142
- ? (RICH_RENDER_ENABLED ? markdownToMdv2(text) : escapeMarkdownV2(text))
143
- : text;
144
- this._msgChain = this._msgChain.then(async () => {
145
- await sendTg(this.chatId, payload, this.threadId);
146
- }).catch(e => _logger.error(`${PLUGIN_TAG} message send error: ${e.message}`));
147
- }
148
- /** v0.22.0 M4 — send or edit the terminal-mirror bubble (#2 of dual-bubble).
149
- *
150
- * Chains on the SAME _cardChain as updateCard() so the two bubbles edit
151
- * in lockstep: each terminal-bubble operation runs after the most recent
152
- * chrome-bubble operation has resolved. Ordering invariant — bubble #2
153
- * cannot arrive before bubble #1 — is enforced by the cardMessageId
154
- * precondition: the terminal-send is a no-op until the chrome bubble
155
- * has been dispatched at least once. Callers wire this by always calling
156
- * updateCard() before updateTerminalBubble() within a turn.
157
- *
158
- * Empty body is a no-op (so M3's `return ''` when state is empty doesn't
159
- * produce a wasteful empty-message send). When body is non-empty and
160
- * terminalMessageId is null, first send creates the bubble; subsequent
161
- * calls editTg the same message in-place. */
162
- updateTerminalBubble(body) {
163
- if (!body || !body.trim())
164
- return;
165
- this._cardChain = this._cardChain.then(async () => {
166
- // Ordering guard — refuse to emit bubble #2 before bubble #1 lands.
167
- if (!this.cardMessageId)
168
- return;
169
- if (this.terminalMessageId) {
170
- await editTg(this.chatId, this.terminalMessageId, body);
171
- }
172
- else {
173
- const res = await sendTg(this.chatId, body, this.threadId, undefined, null);
174
- if (res.ok && res.result?.message_id) {
175
- this.terminalMessageId = res.result.message_id;
176
- }
177
- }
178
- }).catch(e => _logger.error(`${PLUGIN_TAG} terminal bubble error: ${e.message}`));
179
- }
180
- }
181
- export function _inputFingerprint(input) {
182
- if (!input || typeof input !== 'object')
183
- return { size: 0, sig: '' };
184
- const inp = input;
185
- const size = (Object.keys(inp).length +
186
- (inp.command?.length || 0) +
187
- (inp.new_string?.length || 0) +
188
- (inp.old_string?.length || 0) +
189
- (inp.content?.length || 0) +
190
- (inp.pattern?.length || 0) +
191
- (inp.query?.length || 0) +
192
- (inp.prompt?.length || 0));
193
- const fp = (s) => s ? `${s.slice(0, 16)}\x02${s.slice(-16)}` : '';
194
- const sig = fp(inp.command) + '\x01' +
195
- fp(inp.old_string) + '\x01' +
196
- fp(inp.new_string) + '\x01' +
197
- fp(inp.content) + '\x01' +
198
- fp(inp.pattern) + '\x01' +
199
- fp(inp.query) + '\x01' +
200
- fp(inp.prompt);
201
- return { size, sig };
202
- }
203
- //# sourceMappingURL=throttle-controller.js.map