@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.
- package/dist/src/channels/adapter.js +0 -1
- package/dist/src/channels/telegram-mirror/askuser.js +0 -1
- package/dist/src/channels/telegram-mirror/burst-accumulator.js +0 -1
- package/dist/src/channels/telegram-mirror/callback-mapping.js +0 -1
- package/dist/src/channels/telegram-mirror/card-renderer.js +63 -21
- package/dist/src/channels/telegram-mirror/card-state.js +0 -1
- package/dist/src/channels/telegram-mirror/commands.js +0 -1
- package/dist/src/channels/telegram-mirror/compose-buffer.js +0 -1
- package/dist/src/channels/telegram-mirror/cost-views.js +0 -1
- package/dist/src/channels/telegram-mirror/failure/callback-data-overflow.js +0 -1
- package/dist/src/channels/telegram-mirror/failure/gateway-down.js +0 -1
- package/dist/src/channels/telegram-mirror/failure/in-flight-conflict.js +0 -1
- package/dist/src/channels/telegram-mirror/failure/index.js +0 -1
- package/dist/src/channels/telegram-mirror/failure/model-5xx.js +0 -1
- package/dist/src/channels/telegram-mirror/failure/network-blip.js +0 -1
- package/dist/src/channels/telegram-mirror/failure/pool-exhausted-fallback.js +0 -1
- package/dist/src/channels/telegram-mirror/failure/rate-limit.js +0 -1
- package/dist/src/channels/telegram-mirror/failure/returning-after-24h.js +0 -1
- package/dist/src/channels/telegram-mirror/failure/types.js +0 -1
- package/dist/src/channels/telegram-mirror/inbound-handler.js +0 -1
- package/dist/src/channels/telegram-mirror/index.js +0 -1
- package/dist/src/channels/telegram-mirror/plan-attachment.js +0 -1
- package/dist/src/channels/telegram-mirror/quota-reader.js +0 -1
- package/dist/src/channels/telegram-mirror/sessions-keyboard.js +0 -1
- package/dist/src/channels/telegram-mirror/soak-log.js +0 -1
- package/dist/src/channels/telegram-mirror/state-machine.js +21 -2
- package/dist/src/channels/telegram-mirror/status-line.js +0 -1
- package/dist/src/channels/telegram-mirror/sync-commands.js +0 -1
- package/dist/src/channels/telegram-mirror/threshold-watcher.js +0 -1
- package/dist/src/channels/telegram-mirror/turn-bridge.js +21 -2
- package/dist/src/cli/checks/bridge-wiring.js +0 -1
- package/dist/src/cli/checks/config-schema.js +0 -1
- package/dist/src/cli/checks/critical-openclaw-json-keys.js +0 -1
- package/dist/src/cli/checks/install-path.js +0 -1
- package/dist/src/cli/checks/patch-scaffold.js +0 -1
- package/dist/src/cli/doctor.js +0 -1
- package/dist/src/cli/index.js +0 -1
- package/dist/src/cli/migrate.js +0 -1
- package/dist/src/command-router/cc-handler.js +0 -1
- package/dist/src/command-router/index.js +0 -1
- package/dist/src/command-router/launch-policy.js +0 -1
- package/dist/src/command-router/resume-policy.js +0 -1
- package/dist/src/command-router/turn-formatter.js +0 -1
- package/dist/src/config/drift-detector.js +0 -1
- package/dist/src/config/loader.js +0 -1
- package/dist/src/config/schema.js +0 -1
- package/dist/src/constants.js +0 -1
- package/dist/src/council/build-agent-prompt.js +0 -1
- package/dist/src/council/cleanup-worktrees.js +0 -1
- package/dist/src/council/consensus.js +0 -1
- package/dist/src/council/council.js +0 -1
- package/dist/src/council/index.js +0 -1
- package/dist/src/council/system-prompt.js +0 -1
- package/dist/src/council/write-worktree-claude-md.js +0 -1
- package/dist/src/engines/base-oneshot-session.js +0 -1
- package/dist/src/engines/heartbeat-guard.js +0 -1
- package/dist/src/engines/index.js +0 -1
- package/dist/src/engines/persistent-codex-session.js +0 -1
- package/dist/src/engines/persistent-cursor-session.js +0 -1
- package/dist/src/engines/persistent-custom-session.js +0 -1
- package/dist/src/engines/persistent-gemini-session.js +0 -1
- package/dist/src/engines/persistent-session.js +30 -1
- package/dist/src/engines/resolve-bin.js +0 -1
- package/dist/src/engines/subprocess-pool.js +0 -1
- package/dist/src/health/handler.js +0 -1
- package/dist/src/health/index.js +0 -1
- package/dist/src/health/metrics.js +0 -1
- package/dist/src/index.js +0 -1
- package/dist/src/lib/auto-recovery.js +0 -1
- package/dist/src/lib/cache-parity.js +0 -1
- package/dist/src/lib/circuit-breaker.js +0 -1
- package/dist/src/lib/config-service.js +0 -1
- package/dist/src/lib/config.js +0 -1
- package/dist/src/lib/cost-rollup.js +0 -1
- package/dist/src/lib/debounce.js +0 -1
- package/dist/src/lib/debug-tap.js +0 -1
- package/dist/src/lib/domain-error.js +0 -1
- package/dist/src/lib/drift-detector.js +0 -1
- package/dist/src/lib/env-overrides.js +0 -1
- package/dist/src/lib/error-formatter.js +0 -1
- package/dist/src/lib/error-renderer.js +0 -1
- package/dist/src/lib/heartbeat-config.js +0 -1
- package/dist/src/lib/heartbeat-workaround.js +0 -1
- package/dist/src/lib/http-agent.js +0 -1
- package/dist/src/lib/index.js +0 -1
- package/dist/src/lib/json-array.js +0 -1
- package/dist/src/lib/markdown-to-mdv2.js +0 -1
- package/dist/src/lib/markdown-v2.js +0 -1
- package/dist/src/lib/perf/async-compact.js +0 -1
- package/dist/src/lib/perf/direct-sdk.js +0 -1
- package/dist/src/lib/perf/haiku-route.js +0 -1
- package/dist/src/lib/perf/predictive-continuation.js +0 -1
- package/dist/src/lib/perf/read-batch.js +0 -1
- package/dist/src/lib/perf/skill-list-collapse.js +0 -1
- package/dist/src/lib/perf/speculative-bubble.js +0 -1
- package/dist/src/lib/perf/typing-prefetch.js +0 -1
- package/dist/src/lib/register-guard.js +0 -1
- package/dist/src/lib/req-shape-log.js +0 -1
- package/dist/src/lib/safe-upstream-probes.js +0 -1
- package/dist/src/lib/session-registry.js +0 -1
- package/dist/src/lib/spawn-async.js +0 -1
- package/dist/src/lib/stale-pid-files.js +0 -1
- package/dist/src/lib/status-tee-reader.js +0 -1
- package/dist/src/lib/sysprompt-strip.js +0 -1
- package/dist/src/lib/telegram-bot-api.js +0 -1
- package/dist/src/lib/telemetry.js +0 -1
- package/dist/src/lib/test-mode.js +0 -1
- package/dist/src/lib/trajectory.js +0 -1
- package/dist/src/lib/vendor-paths.js +0 -1
- package/dist/src/lifecycle/boot.js +0 -1
- package/dist/src/lifecycle/patch-manifest.js +0 -1
- package/dist/src/lifecycle/phase-import-upstream.js +0 -1
- package/dist/src/lifecycle/phase-install-patches.js +0 -1
- package/dist/src/lifecycle/phase-schedule-jobs.js +0 -1
- package/dist/src/lifecycle/phase-start-server.js +0 -1
- package/dist/src/lifecycle/phase-validate-config.js +0 -1
- package/dist/src/lifecycle/phase-validate-upstream.js +0 -1
- package/dist/src/lifecycle/phase-wire-handlers.js +0 -1
- package/dist/src/lifecycle/safe-restart.js +0 -1
- package/dist/src/logger.js +0 -1
- package/dist/src/mcp/bridge.js +0 -1
- package/dist/src/mcp/index.js +0 -1
- package/dist/src/models.js +0 -1
- package/dist/src/observability/event-bus.js +0 -1
- package/dist/src/observability/get-event-bus.js +0 -1
- package/dist/src/observability/observability-service.js +0 -1
- package/dist/src/observability/perf-telemetry.js +0 -1
- package/dist/src/observability/subscribers/metrics.js +0 -1
- package/dist/src/observability/subscribers/session-capture.js +0 -1
- package/dist/src/openai-compat/bridges/allowlist.js +0 -1
- package/dist/src/openai-compat/bridges/factory.js +0 -1
- package/dist/src/openai-compat/bridges/media-bridge.js +0 -1
- package/dist/src/openai-compat/bridges/openclaw-api-shim.js +0 -1
- package/dist/src/openai-compat/bridges/openclaw-native-tools.js +0 -1
- package/dist/src/openai-compat/bridges/openclaw-tool-registry.js +0 -1
- package/dist/src/openai-compat/bridges/tts-media-bridge.js +0 -1
- package/dist/src/openai-compat/cli-stream-parser.js +0 -1
- package/dist/src/openai-compat/index.js +0 -1
- package/dist/src/openai-compat/message-extractor.js +0 -1
- package/dist/src/openai-compat/mode-flags.js +0 -1
- package/dist/src/openai-compat/non-streaming-handler.js +4 -2
- package/dist/src/openai-compat/openai-chunk-types.js +0 -1
- package/dist/src/openai-compat/openai-compat.js +0 -1
- package/dist/src/openai-compat/openai-types.js +0 -1
- package/dist/src/openai-compat/parse-route-body.js +0 -1
- package/dist/src/openai-compat/prompts.js +0 -1
- package/dist/src/openai-compat/response-formatter.js +0 -1
- package/dist/src/openai-compat/session-key-resolver.js +0 -1
- package/dist/src/openai-compat/skill-resolver.js +0 -1
- package/dist/src/openai-compat/sse-translator.js +0 -1
- package/dist/src/openai-compat/status-reporter.js +0 -1
- package/dist/src/openai-compat/streaming-handler.js +6 -2
- package/dist/src/openai-compat/tool-calls-parser.js +0 -1
- package/dist/src/openai-compat/tool-results-serializer.js +0 -1
- package/dist/src/openai-compat/tts-rule.js +0 -1
- package/dist/src/openai-compat/voice-recovery.js +0 -1
- package/dist/src/patches/cache-parity-registry.js +0 -1
- package/dist/src/patches/claude-md-injection.js +0 -1
- package/dist/src/patches/cwd-redirect.js +0 -1
- package/dist/src/patches/embedded-server-route.js +0 -1
- package/dist/src/patches/pricing-overrides.js +0 -1
- package/dist/src/patches/resume-registry-restore.js +0 -1
- package/dist/src/patches/session-pid-tracking.js +0 -1
- package/dist/src/patches/sysprompt-strip.js +0 -1
- package/dist/src/patches/tools-restoration.js +0 -1
- package/dist/src/persistence/migration-v0.js +0 -1
- package/dist/src/persistence/session-registry.js +0 -1
- package/dist/src/persistence/snapshot.js +0 -1
- package/dist/src/persistence/wal.js +0 -1
- package/dist/src/proxy/anthropic-adapter.js +0 -1
- package/dist/src/proxy/handler.js +0 -1
- package/dist/src/proxy/index.js +0 -1
- package/dist/src/proxy/schema-cleaner.js +0 -1
- package/dist/src/proxy/thought-cache.js +0 -1
- package/dist/src/session/embedded-server.js +0 -1
- package/dist/src/session/inbox-manager.js +0 -1
- package/dist/src/session/index.js +0 -1
- package/dist/src/session/persisted-sessions.js +0 -1
- package/dist/src/session/session-manager.js +0 -1
- package/dist/src/session/watchdogs.js +0 -1
- package/dist/src/session-bootstrap/boot-self-heal.js +0 -1
- package/dist/src/session-bootstrap/cwd-patch.js +0 -1
- package/dist/src/session-bootstrap/index.js +0 -1
- package/dist/src/session-bootstrap/resume-registry.js +0 -1
- package/dist/src/session-bootstrap/session-hygiene.js +0 -1
- package/dist/src/session-bootstrap/sysprompt-strip.js +0 -1
- package/dist/src/session-bootstrap/think-conflict-resolver.js +0 -1
- package/dist/src/types/index.js +0 -1
- package/dist/src/types/route.js +0 -1
- package/dist/src/types/runtime-config.js +0 -1
- package/dist/src/types/session.js +0 -1
- package/dist/src/types/sse.js +0 -1
- package/dist/src/types/tool-bridge.js +0 -1
- package/dist/src/types/upstream.js +0 -1
- package/dist/src/types.js +0 -1
- package/dist/src/validation.js +0 -1
- package/package.json +1 -1
- package/dist/src/channels/adapter.js.map +0 -1
- package/dist/src/channels/telegram/card-renderer.d.ts +0 -80
- package/dist/src/channels/telegram/card-renderer.js +0 -169
- package/dist/src/channels/telegram/card-renderer.js.map +0 -1
- package/dist/src/channels/telegram/completion-summary.d.ts +0 -21
- package/dist/src/channels/telegram/completion-summary.js +0 -218
- package/dist/src/channels/telegram/completion-summary.js.map +0 -1
- package/dist/src/channels/telegram/edit-cadence.d.ts +0 -37
- package/dist/src/channels/telegram/edit-cadence.js +0 -50
- package/dist/src/channels/telegram/edit-cadence.js.map +0 -1
- package/dist/src/channels/telegram/error-renderer.d.ts +0 -29
- package/dist/src/channels/telegram/error-renderer.js +0 -133
- package/dist/src/channels/telegram/error-renderer.js.map +0 -1
- package/dist/src/channels/telegram/event-reducer.d.ts +0 -33
- package/dist/src/channels/telegram/event-reducer.js +0 -647
- package/dist/src/channels/telegram/event-reducer.js.map +0 -1
- package/dist/src/channels/telegram/format-helpers.d.ts +0 -20
- package/dist/src/channels/telegram/format-helpers.js +0 -34
- package/dist/src/channels/telegram/format-helpers.js.map +0 -1
- package/dist/src/channels/telegram/index.d.ts +0 -13
- package/dist/src/channels/telegram/index.js +0 -14
- package/dist/src/channels/telegram/index.js.map +0 -1
- package/dist/src/channels/telegram/injector.d.ts +0 -53
- package/dist/src/channels/telegram/injector.js +0 -271
- package/dist/src/channels/telegram/injector.js.map +0 -1
- package/dist/src/channels/telegram/insight-formatter.d.ts +0 -36
- package/dist/src/channels/telegram/insight-formatter.js +0 -36
- package/dist/src/channels/telegram/insight-formatter.js.map +0 -1
- package/dist/src/channels/telegram/live-card.d.ts +0 -185
- package/dist/src/channels/telegram/live-card.js +0 -868
- package/dist/src/channels/telegram/live-card.js.map +0 -1
- package/dist/src/channels/telegram/logger.d.ts +0 -10
- package/dist/src/channels/telegram/logger.js +0 -13
- package/dist/src/channels/telegram/logger.js.map +0 -1
- package/dist/src/channels/telegram/result-preview.d.ts +0 -12
- package/dist/src/channels/telegram/result-preview.js +0 -48
- package/dist/src/channels/telegram/result-preview.js.map +0 -1
- package/dist/src/channels/telegram/speculative-bubble.d.ts +0 -33
- package/dist/src/channels/telegram/speculative-bubble.js +0 -42
- package/dist/src/channels/telegram/speculative-bubble.js.map +0 -1
- package/dist/src/channels/telegram/state-machine.d.ts +0 -22
- package/dist/src/channels/telegram/state-machine.js +0 -72
- package/dist/src/channels/telegram/state-machine.js.map +0 -1
- package/dist/src/channels/telegram/throttle-controller.d.ts +0 -88
- package/dist/src/channels/telegram/throttle-controller.js +0 -203
- package/dist/src/channels/telegram/throttle-controller.js.map +0 -1
- package/dist/src/channels/telegram/tool-tracker.d.ts +0 -149
- package/dist/src/channels/telegram/tool-tracker.js +0 -578
- package/dist/src/channels/telegram/tool-tracker.js.map +0 -1
- package/dist/src/channels/telegram-mirror/askuser.js.map +0 -1
- package/dist/src/channels/telegram-mirror/burst-accumulator.js.map +0 -1
- package/dist/src/channels/telegram-mirror/callback-mapping.js.map +0 -1
- package/dist/src/channels/telegram-mirror/card-renderer.js.map +0 -1
- package/dist/src/channels/telegram-mirror/card-state.js.map +0 -1
- package/dist/src/channels/telegram-mirror/commands.js.map +0 -1
- package/dist/src/channels/telegram-mirror/compose-buffer.js.map +0 -1
- package/dist/src/channels/telegram-mirror/cost-views.js.map +0 -1
- package/dist/src/channels/telegram-mirror/failure/callback-data-overflow.js.map +0 -1
- package/dist/src/channels/telegram-mirror/failure/gateway-down.js.map +0 -1
- package/dist/src/channels/telegram-mirror/failure/in-flight-conflict.js.map +0 -1
- package/dist/src/channels/telegram-mirror/failure/index.js.map +0 -1
- package/dist/src/channels/telegram-mirror/failure/model-5xx.js.map +0 -1
- package/dist/src/channels/telegram-mirror/failure/network-blip.js.map +0 -1
- package/dist/src/channels/telegram-mirror/failure/pool-exhausted-fallback.js.map +0 -1
- package/dist/src/channels/telegram-mirror/failure/rate-limit.js.map +0 -1
- package/dist/src/channels/telegram-mirror/failure/returning-after-24h.js.map +0 -1
- package/dist/src/channels/telegram-mirror/failure/types.js.map +0 -1
- package/dist/src/channels/telegram-mirror/inbound-handler.js.map +0 -1
- package/dist/src/channels/telegram-mirror/index.js.map +0 -1
- package/dist/src/channels/telegram-mirror/plan-attachment.js.map +0 -1
- package/dist/src/channels/telegram-mirror/quota-reader.js.map +0 -1
- package/dist/src/channels/telegram-mirror/sessions-keyboard.js.map +0 -1
- package/dist/src/channels/telegram-mirror/soak-log.js.map +0 -1
- package/dist/src/channels/telegram-mirror/state-machine.js.map +0 -1
- package/dist/src/channels/telegram-mirror/status-line.js.map +0 -1
- package/dist/src/channels/telegram-mirror/sync-commands.js.map +0 -1
- package/dist/src/channels/telegram-mirror/threshold-watcher.js.map +0 -1
- package/dist/src/channels/telegram-mirror/turn-bridge.js.map +0 -1
- package/dist/src/cli/checks/bridge-wiring.js.map +0 -1
- package/dist/src/cli/checks/config-schema.js.map +0 -1
- package/dist/src/cli/checks/critical-openclaw-json-keys.js.map +0 -1
- package/dist/src/cli/checks/install-path.js.map +0 -1
- package/dist/src/cli/checks/patch-scaffold.js.map +0 -1
- package/dist/src/cli/doctor.js.map +0 -1
- package/dist/src/cli/index.js.map +0 -1
- package/dist/src/cli/migrate.js.map +0 -1
- package/dist/src/command-router/cc-handler.js.map +0 -1
- package/dist/src/command-router/index.js.map +0 -1
- package/dist/src/command-router/launch-policy.js.map +0 -1
- package/dist/src/command-router/resume-policy.js.map +0 -1
- package/dist/src/command-router/turn-formatter.js.map +0 -1
- package/dist/src/config/drift-detector.js.map +0 -1
- package/dist/src/config/loader.js.map +0 -1
- package/dist/src/config/schema.js.map +0 -1
- package/dist/src/constants.js.map +0 -1
- package/dist/src/council/build-agent-prompt.js.map +0 -1
- package/dist/src/council/cleanup-worktrees.js.map +0 -1
- package/dist/src/council/consensus.js.map +0 -1
- package/dist/src/council/council.js.map +0 -1
- package/dist/src/council/index.js.map +0 -1
- package/dist/src/council/system-prompt.js.map +0 -1
- package/dist/src/council/write-worktree-claude-md.js.map +0 -1
- package/dist/src/engines/base-oneshot-session.js.map +0 -1
- package/dist/src/engines/heartbeat-guard.js.map +0 -1
- package/dist/src/engines/index.js.map +0 -1
- package/dist/src/engines/persistent-codex-session.js.map +0 -1
- package/dist/src/engines/persistent-cursor-session.js.map +0 -1
- package/dist/src/engines/persistent-custom-session.js.map +0 -1
- package/dist/src/engines/persistent-gemini-session.js.map +0 -1
- package/dist/src/engines/persistent-session.js.map +0 -1
- package/dist/src/engines/resolve-bin.js.map +0 -1
- package/dist/src/engines/subprocess-pool.js.map +0 -1
- package/dist/src/health/handler.js.map +0 -1
- package/dist/src/health/index.js.map +0 -1
- package/dist/src/health/metrics.js.map +0 -1
- package/dist/src/index.js.map +0 -1
- package/dist/src/lib/auto-recovery.js.map +0 -1
- package/dist/src/lib/cache-parity.js.map +0 -1
- package/dist/src/lib/circuit-breaker.js.map +0 -1
- package/dist/src/lib/config-service.js.map +0 -1
- package/dist/src/lib/config.js.map +0 -1
- package/dist/src/lib/cost-rollup.js.map +0 -1
- package/dist/src/lib/debounce.js.map +0 -1
- package/dist/src/lib/debug-tap.js.map +0 -1
- package/dist/src/lib/domain-error.js.map +0 -1
- package/dist/src/lib/drift-detector.js.map +0 -1
- package/dist/src/lib/env-overrides.js.map +0 -1
- package/dist/src/lib/error-formatter.js.map +0 -1
- package/dist/src/lib/error-renderer.js.map +0 -1
- package/dist/src/lib/heartbeat-config.js.map +0 -1
- package/dist/src/lib/heartbeat-workaround.js.map +0 -1
- package/dist/src/lib/http-agent.js.map +0 -1
- package/dist/src/lib/index.js.map +0 -1
- package/dist/src/lib/json-array.js.map +0 -1
- package/dist/src/lib/markdown-to-mdv2.js.map +0 -1
- package/dist/src/lib/markdown-v2.js.map +0 -1
- package/dist/src/lib/perf/async-compact.js.map +0 -1
- package/dist/src/lib/perf/direct-sdk.js.map +0 -1
- package/dist/src/lib/perf/haiku-route.js.map +0 -1
- package/dist/src/lib/perf/predictive-continuation.js.map +0 -1
- package/dist/src/lib/perf/read-batch.js.map +0 -1
- package/dist/src/lib/perf/skill-list-collapse.js.map +0 -1
- package/dist/src/lib/perf/speculative-bubble.js.map +0 -1
- package/dist/src/lib/perf/typing-prefetch.js.map +0 -1
- package/dist/src/lib/register-guard.js.map +0 -1
- package/dist/src/lib/req-shape-log.js.map +0 -1
- package/dist/src/lib/safe-upstream-probes.js.map +0 -1
- package/dist/src/lib/session-registry.js.map +0 -1
- package/dist/src/lib/spawn-async.js.map +0 -1
- package/dist/src/lib/stale-pid-files.js.map +0 -1
- package/dist/src/lib/status-tee-reader.js.map +0 -1
- package/dist/src/lib/sysprompt-strip.js.map +0 -1
- package/dist/src/lib/telegram-bot-api.js.map +0 -1
- package/dist/src/lib/telemetry.js.map +0 -1
- package/dist/src/lib/test-mode.js.map +0 -1
- package/dist/src/lib/trajectory.js.map +0 -1
- package/dist/src/lib/vendor-paths.js.map +0 -1
- package/dist/src/lifecycle/boot.js.map +0 -1
- package/dist/src/lifecycle/patch-manifest.js.map +0 -1
- package/dist/src/lifecycle/phase-import-upstream.js.map +0 -1
- package/dist/src/lifecycle/phase-install-patches.js.map +0 -1
- package/dist/src/lifecycle/phase-schedule-jobs.js.map +0 -1
- package/dist/src/lifecycle/phase-start-server.js.map +0 -1
- package/dist/src/lifecycle/phase-validate-config.js.map +0 -1
- package/dist/src/lifecycle/phase-validate-upstream.js.map +0 -1
- package/dist/src/lifecycle/phase-wire-handlers.js.map +0 -1
- package/dist/src/lifecycle/safe-restart.js.map +0 -1
- package/dist/src/logger.js.map +0 -1
- package/dist/src/mcp/bridge.js.map +0 -1
- package/dist/src/mcp/index.js.map +0 -1
- package/dist/src/models.js.map +0 -1
- package/dist/src/observability/event-bus.js.map +0 -1
- package/dist/src/observability/get-event-bus.js.map +0 -1
- package/dist/src/observability/observability-service.js.map +0 -1
- package/dist/src/observability/perf-telemetry.js.map +0 -1
- package/dist/src/observability/subscribers/metrics.js.map +0 -1
- package/dist/src/observability/subscribers/session-capture.js.map +0 -1
- package/dist/src/openai-compat/bridges/allowlist.js.map +0 -1
- package/dist/src/openai-compat/bridges/factory.js.map +0 -1
- package/dist/src/openai-compat/bridges/media-bridge.js.map +0 -1
- package/dist/src/openai-compat/bridges/openclaw-api-shim.js.map +0 -1
- package/dist/src/openai-compat/bridges/openclaw-native-tools.js.map +0 -1
- package/dist/src/openai-compat/bridges/openclaw-tool-registry.js.map +0 -1
- package/dist/src/openai-compat/bridges/tts-media-bridge.js.map +0 -1
- package/dist/src/openai-compat/cli-stream-parser.js.map +0 -1
- package/dist/src/openai-compat/index.js.map +0 -1
- package/dist/src/openai-compat/message-extractor.js.map +0 -1
- package/dist/src/openai-compat/mode-flags.js.map +0 -1
- package/dist/src/openai-compat/non-streaming-handler.js.map +0 -1
- package/dist/src/openai-compat/openai-chunk-types.js.map +0 -1
- package/dist/src/openai-compat/openai-compat.js.map +0 -1
- package/dist/src/openai-compat/openai-types.js.map +0 -1
- package/dist/src/openai-compat/parse-route-body.js.map +0 -1
- package/dist/src/openai-compat/prompts.js.map +0 -1
- package/dist/src/openai-compat/response-formatter.js.map +0 -1
- package/dist/src/openai-compat/session-key-resolver.js.map +0 -1
- package/dist/src/openai-compat/skill-resolver.js.map +0 -1
- package/dist/src/openai-compat/sse-translator.js.map +0 -1
- package/dist/src/openai-compat/status-reporter.js.map +0 -1
- package/dist/src/openai-compat/streaming-handler.js.map +0 -1
- package/dist/src/openai-compat/tool-calls-parser.js.map +0 -1
- package/dist/src/openai-compat/tool-results-serializer.js.map +0 -1
- package/dist/src/openai-compat/tts-rule.js.map +0 -1
- package/dist/src/openai-compat/voice-recovery.js.map +0 -1
- package/dist/src/patches/cache-parity-registry.js.map +0 -1
- package/dist/src/patches/claude-md-injection.js.map +0 -1
- package/dist/src/patches/cwd-redirect.js.map +0 -1
- package/dist/src/patches/embedded-server-route.js.map +0 -1
- package/dist/src/patches/pricing-overrides.js.map +0 -1
- package/dist/src/patches/resume-registry-restore.js.map +0 -1
- package/dist/src/patches/session-pid-tracking.js.map +0 -1
- package/dist/src/patches/sysprompt-strip.js.map +0 -1
- package/dist/src/patches/sysprompt-strip.spec.d.ts +0 -33
- package/dist/src/patches/sysprompt-strip.spec.js +0 -53
- package/dist/src/patches/sysprompt-strip.spec.js.map +0 -1
- package/dist/src/patches/tools-restoration.js.map +0 -1
- package/dist/src/persistence/migration-v0.js.map +0 -1
- package/dist/src/persistence/session-registry.js.map +0 -1
- package/dist/src/persistence/snapshot.js.map +0 -1
- package/dist/src/persistence/wal.js.map +0 -1
- package/dist/src/proxy/anthropic-adapter.js.map +0 -1
- package/dist/src/proxy/handler.js.map +0 -1
- package/dist/src/proxy/index.js.map +0 -1
- package/dist/src/proxy/schema-cleaner.js.map +0 -1
- package/dist/src/proxy/thought-cache.js.map +0 -1
- package/dist/src/session/embedded-server.js.map +0 -1
- package/dist/src/session/inbox-manager.js.map +0 -1
- package/dist/src/session/index.js.map +0 -1
- package/dist/src/session/persisted-sessions.js.map +0 -1
- package/dist/src/session/session-manager.js.map +0 -1
- package/dist/src/session/watchdogs.js.map +0 -1
- package/dist/src/session-bootstrap/boot-self-heal.js.map +0 -1
- package/dist/src/session-bootstrap/cwd-patch.js.map +0 -1
- package/dist/src/session-bootstrap/index.js.map +0 -1
- package/dist/src/session-bootstrap/resume-registry.js.map +0 -1
- package/dist/src/session-bootstrap/session-hygiene.js.map +0 -1
- package/dist/src/session-bootstrap/sysprompt-strip.js.map +0 -1
- package/dist/src/session-bootstrap/think-conflict-resolver.js.map +0 -1
- package/dist/src/types/index.js.map +0 -1
- package/dist/src/types/route.js.map +0 -1
- package/dist/src/types/runtime-config.js.map +0 -1
- package/dist/src/types/session.js.map +0 -1
- package/dist/src/types/sse.js.map +0 -1
- package/dist/src/types/tool-bridge.js.map +0 -1
- package/dist/src/types/upstream.js.map +0 -1
- package/dist/src/types.js.map +0 -1
- package/dist/src/validation.js.map +0 -1
|
@@ -14,6 +14,24 @@
|
|
|
14
14
|
* Tests live at tests/channels/telegram-mirror/m2-render-pipeline.test.ts.
|
|
15
15
|
*/
|
|
16
16
|
import { renderStatusLine, renderMeters, renderTodos } from './status-line.js';
|
|
17
|
+
import { escapeMarkdownV2 } from '../../lib/markdown-v2.js';
|
|
18
|
+
import { markdownToMdv2 } from '../../lib/markdown-to-mdv2.js';
|
|
19
|
+
/**
|
|
20
|
+
* Wrap raw text in a Telegram MarkdownV2 inline code span. Inside a code span
|
|
21
|
+
* only backtick and backslash need escaping (dots, hyphens, slashes render
|
|
22
|
+
* literally) — which is exactly why monospace is ideal for file paths and shell
|
|
23
|
+
* commands: no busy backslash-escaping, and they read like the CC terminal.
|
|
24
|
+
*/
|
|
25
|
+
function code(s) {
|
|
26
|
+
return '`' + s.replace(/[`\\]/g, '\\$&') + '`';
|
|
27
|
+
}
|
|
28
|
+
/** Last path segment (basename) — keeps tool lines short and CLI-like, e.g.
|
|
29
|
+
* "/home/a1/kris-kitchen/components/ShoppingList.tsx" → "ShoppingList.tsx". */
|
|
30
|
+
function basename(p) {
|
|
31
|
+
const cleaned = p.replace(/\/+$/, '');
|
|
32
|
+
const idx = cleaned.lastIndexOf('/');
|
|
33
|
+
return idx >= 0 ? cleaned.slice(idx + 1) : cleaned;
|
|
34
|
+
}
|
|
17
35
|
/**
|
|
18
36
|
* Glyph picked per tool-call status. Mirrors terminal "running / done /
|
|
19
37
|
* errored" iconography that A1 already reads in the live Claude Code TUI.
|
|
@@ -28,25 +46,32 @@ function toolGlyph(tc) {
|
|
|
28
46
|
/**
|
|
29
47
|
* Render the input argument summary for a tool call. Kept tight — full
|
|
30
48
|
* input is in the result; the mirror line is meant to read at a glance.
|
|
49
|
+
* Returns RAW (unescaped) text; the caller wraps it in a code span.
|
|
50
|
+
*
|
|
51
|
+
* v0.26.5: collapse embedded whitespace/newlines to single spaces (a
|
|
52
|
+
* multi-line Bash command used to spill across several card rows), prefer the
|
|
53
|
+
* basename for file paths (shorter + CLI-like), and truncate with a single "…".
|
|
31
54
|
*/
|
|
32
55
|
function toolInputSummary(tc) {
|
|
33
56
|
const input = tc.input;
|
|
34
57
|
if (!input || typeof input !== 'object')
|
|
35
58
|
return '';
|
|
36
|
-
// Prefer common single-field shapes used by Bash/Read/Edit/Write.
|
|
37
|
-
const
|
|
59
|
+
// Prefer common single-field shapes used by Bash/Read/Edit/Write/Grep/Glob.
|
|
60
|
+
const raw = typeof input.command === 'string'
|
|
38
61
|
? input.command
|
|
39
62
|
: typeof input.file_path === 'string'
|
|
40
|
-
? input.file_path
|
|
63
|
+
? basename(input.file_path)
|
|
41
64
|
: typeof input.path === 'string'
|
|
42
|
-
? input.path
|
|
43
|
-
: typeof input.
|
|
44
|
-
? input.
|
|
45
|
-
: ''
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
65
|
+
? basename(input.path)
|
|
66
|
+
: typeof input.pattern === 'string'
|
|
67
|
+
? input.pattern
|
|
68
|
+
: typeof input.url === 'string'
|
|
69
|
+
? input.url
|
|
70
|
+
: '';
|
|
71
|
+
if (!raw)
|
|
72
|
+
return '';
|
|
73
|
+
const collapsed = raw.replace(/\s+/g, ' ').trim();
|
|
74
|
+
return collapsed.length > 48 ? collapsed.slice(0, 47) + '…' : collapsed;
|
|
50
75
|
}
|
|
51
76
|
/**
|
|
52
77
|
* Format one tool-call line for inclusion in the rendered card body.
|
|
@@ -87,8 +112,11 @@ export function toolIcon(name) {
|
|
|
87
112
|
export function renderToolLine(tc) {
|
|
88
113
|
const glyph = toolGlyph(tc);
|
|
89
114
|
const icon = toolIcon(tc.name);
|
|
115
|
+
// Status glyph + emoji are MarkdownV2-safe; the tool name is escaped and the
|
|
116
|
+
// input detail rides in a monospace code span (v0.26.5 styling).
|
|
117
|
+
const name = escapeMarkdownV2(tc.name);
|
|
90
118
|
const summary = toolInputSummary(tc);
|
|
91
|
-
return summary ? `${glyph} ${icon} ${
|
|
119
|
+
return summary ? `${glyph} ${icon} ${name} · ${code(summary)}` : `${glyph} ${icon} ${name}`;
|
|
92
120
|
}
|
|
93
121
|
/**
|
|
94
122
|
* Render the thinking block (M6). Each line of the thinking text is
|
|
@@ -100,8 +128,11 @@ export function renderThinkingBlock(thinkingText) {
|
|
|
100
128
|
const trimmed = thinkingText.trim();
|
|
101
129
|
if (trimmed.length === 0)
|
|
102
130
|
return '';
|
|
103
|
-
|
|
104
|
-
|
|
131
|
+
// MarkdownV2 block quote: a leading ">" makes the line a quote; the line
|
|
132
|
+
// content is escaped so reasoning punctuation can't break the parse. The
|
|
133
|
+
// space after ">" is cosmetic (reads as an indented quote, terminal-style).
|
|
134
|
+
const lines = trimmed.split('\n').map((l) => `> ${escapeMarkdownV2(l)}`);
|
|
135
|
+
return ['💭 Thinking', ...lines].join('\n');
|
|
105
136
|
}
|
|
106
137
|
/**
|
|
107
138
|
* Render the full turn into a Telegram-safe message body. The mirror keeps
|
|
@@ -133,18 +164,24 @@ export function renderTurn(turn, meta) {
|
|
|
133
164
|
// handler calls setCardMeta(), the status line appears on the next repaint.
|
|
134
165
|
if (meta) {
|
|
135
166
|
const status = renderStatusLine(turn, meta);
|
|
167
|
+
// v0.26.5 — bold the status line (the card header). Escaped first so the
|
|
168
|
+
// model/version dots and brackets don't break the MarkdownV2 parse.
|
|
136
169
|
if (status)
|
|
137
|
-
lines.push(status);
|
|
170
|
+
lines.push('*' + escapeMarkdownV2(status) + '*');
|
|
138
171
|
// v0.26.2 M2 — meter row (context % + quota % + reset). Same no-fake-data
|
|
139
|
-
// gating: omitted unless real values are present.
|
|
172
|
+
// gating: omitted unless real values are present. Escaped (the bars/% are
|
|
173
|
+
// safe but the escape is harmless and keeps the line parse-proof).
|
|
140
174
|
const meters = renderMeters(meta);
|
|
141
175
|
if (meters)
|
|
142
|
-
lines.push(meters);
|
|
176
|
+
lines.push(escapeMarkdownV2(meters));
|
|
143
177
|
// v0.26.4 styling — divider between the status/telemetry block and the
|
|
144
|
-
// activity block (only when a status block was actually rendered).
|
|
178
|
+
// activity block (only when a status block was actually rendered). The
|
|
179
|
+
// heavy-bar glyph is not a MarkdownV2 special, so it needs no escaping.
|
|
145
180
|
if (lines.length > 0)
|
|
146
181
|
lines.push('━━━━━━━━━━━━');
|
|
147
182
|
}
|
|
183
|
+
// Turn-status header. Kept plain (the glyph + word carry no MarkdownV2
|
|
184
|
+
// specials) so it reads cleanly above the tool stream, terminal-style.
|
|
148
185
|
const header = turn.state === 'done' ? '✓ Done' : '▶ Working';
|
|
149
186
|
lines.push(header);
|
|
150
187
|
if (turn.toolCalls.length > 0) {
|
|
@@ -153,10 +190,12 @@ export function renderTurn(turn, meta) {
|
|
|
153
190
|
}
|
|
154
191
|
}
|
|
155
192
|
// v0.26.2 M4 — todo checklist (real data from the agent's TodoWrite calls).
|
|
193
|
+
// Escaped as a block (glyphs are safe; content + the "+N more" plus sign are
|
|
194
|
+
// not, so the whole block goes through the escaper).
|
|
156
195
|
const todoBlock = renderTodos(meta);
|
|
157
196
|
if (todoBlock) {
|
|
158
197
|
lines.push('');
|
|
159
|
-
lines.push(todoBlock);
|
|
198
|
+
lines.push(escapeMarkdownV2(todoBlock));
|
|
160
199
|
}
|
|
161
200
|
// Defensive default — Turn.thinkingText is required by the interface, but
|
|
162
201
|
// some test helpers and pre-M6 fixtures construct Turn-shaped objects
|
|
@@ -169,7 +208,11 @@ export function renderTurn(turn, meta) {
|
|
|
169
208
|
const text = turn.assistantText.trim();
|
|
170
209
|
if (text.length > 0) {
|
|
171
210
|
lines.push('');
|
|
172
|
-
|
|
211
|
+
// v0.26.5 — render the model's markdown as Telegram MarkdownV2 with
|
|
212
|
+
// structure preserved (**bold**→*bold*, `code`, fences) instead of dumping
|
|
213
|
+
// raw text whose unescaped specials forced the whole card to the plain-text
|
|
214
|
+
// fallback. markdownToMdv2 escapes all remaining content per the MDV2 spec.
|
|
215
|
+
lines.push(markdownToMdv2(text));
|
|
173
216
|
}
|
|
174
217
|
return lines.join('\n');
|
|
175
218
|
}
|
|
@@ -185,4 +228,3 @@ export function planRenderAction(turn, knownMessageId) {
|
|
|
185
228
|
}
|
|
186
229
|
return { type: 'edit', chatId: turn.chatId, text, messageId: knownMessageId };
|
|
187
230
|
}
|
|
188
|
-
//# sourceMappingURL=card-renderer.js.map
|
|
@@ -52,10 +52,30 @@ export class TurnStateMachine {
|
|
|
52
52
|
if (turn.state !== 'working')
|
|
53
53
|
return turn;
|
|
54
54
|
if (event.type === 'tool_use') {
|
|
55
|
+
const id = event.id ?? event.tool_use_id ?? '';
|
|
56
|
+
// Dedup by tool-use id. claude.exe emits each tool_use TWICE — once at
|
|
57
|
+
// `content_block_start` with empty input, then again in the aggregate
|
|
58
|
+
// `assistant` message with the fully-assembled input. Both fires carry
|
|
59
|
+
// the same block id. Without this guard the card shows every tool twice
|
|
60
|
+
// (a bare line + a detailed line), doubles the 🔧 count, and the
|
|
61
|
+
// tool_result `.find()` below resolves only the FIRST record so the
|
|
62
|
+
// detailed line never flips … → ✓. Merge the richer payload into the
|
|
63
|
+
// existing record instead of pushing a duplicate.
|
|
64
|
+
if (id) {
|
|
65
|
+
const existing = turn.toolCalls.find((tc) => tc.toolUseId === id);
|
|
66
|
+
if (existing) {
|
|
67
|
+
const incoming = event.tool?.input;
|
|
68
|
+
if (incoming && Object.keys(incoming).length > 0)
|
|
69
|
+
existing.input = incoming;
|
|
70
|
+
if (existing.name === 'Unknown' && event.tool?.name)
|
|
71
|
+
existing.name = event.tool.name;
|
|
72
|
+
return turn;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
55
75
|
turn.toolCalls.push({
|
|
56
76
|
name: event.tool?.name ?? 'Unknown',
|
|
57
77
|
input: event.tool?.input ?? {},
|
|
58
|
-
toolUseId:
|
|
78
|
+
toolUseId: id,
|
|
59
79
|
});
|
|
60
80
|
return turn;
|
|
61
81
|
}
|
|
@@ -114,4 +134,3 @@ export class TurnStateMachine {
|
|
|
114
134
|
this.turns.delete(chatId);
|
|
115
135
|
}
|
|
116
136
|
}
|
|
117
|
-
//# sourceMappingURL=state-machine.js.map
|
|
@@ -30,6 +30,13 @@ import { editTg } from '../../lib/telegram-bot-api.js';
|
|
|
30
30
|
import { readQuotaSnapshot } from '../../lib/status-tee-reader.js';
|
|
31
31
|
import { captureAskUserQuestion } from './askuser.js';
|
|
32
32
|
const _lastRepaintAt = new Map();
|
|
33
|
+
// v0.26.5: per-chat in-flight guard. repaint() is called fire-and-forget
|
|
34
|
+
// (`void repaint(...)`) from every push, so two edits for the same card could
|
|
35
|
+
// otherwise overlap — racing Telegram's editMessageText and provoking 429 /
|
|
36
|
+
// "message is not modified" churn (the "fragile" feel). Skipping while an edit
|
|
37
|
+
// is in flight is safe because finalizeActiveCards() always does a final
|
|
38
|
+
// authoritative render at turn end, so no state is lost.
|
|
39
|
+
const _inFlight = new Set();
|
|
33
40
|
const REPAINT_MIN_MS = 800;
|
|
34
41
|
async function repaint(chatId, force) {
|
|
35
42
|
const card = cardState.get(chatId);
|
|
@@ -42,7 +49,10 @@ async function repaint(chatId, force) {
|
|
|
42
49
|
const last = _lastRepaintAt.get(chatId) ?? 0;
|
|
43
50
|
if (!force && now - last < REPAINT_MIN_MS)
|
|
44
51
|
return;
|
|
52
|
+
if (_inFlight.has(chatId))
|
|
53
|
+
return;
|
|
45
54
|
_lastRepaintAt.set(chatId, now);
|
|
55
|
+
_inFlight.add(chatId);
|
|
46
56
|
try {
|
|
47
57
|
await editTg(chatId, card.messageId, renderTurn(turn, card.meta));
|
|
48
58
|
}
|
|
@@ -52,6 +62,9 @@ async function repaint(chatId, force) {
|
|
|
52
62
|
process.stderr.write(`[cc-openclaw/turn-bridge] repaint failed chat=${chatId}: ${m}\n`);
|
|
53
63
|
}
|
|
54
64
|
}
|
|
65
|
+
finally {
|
|
66
|
+
_inFlight.delete(chatId);
|
|
67
|
+
}
|
|
55
68
|
}
|
|
56
69
|
function activeChatIds() {
|
|
57
70
|
return Array.from(cardState.keys());
|
|
@@ -123,6 +136,12 @@ export function pushToolUse(name, input, toolUseId) {
|
|
|
123
136
|
void captureAskUserQuestion(chatId, cardState.get(chatId)?.threadId, input, toolUseId);
|
|
124
137
|
}
|
|
125
138
|
}
|
|
139
|
+
// v0.26.5: claude.exe fires tool_use twice — once with empty input, once with
|
|
140
|
+
// the full input (state-machine dedups by id). Force the immediate repaint
|
|
141
|
+
// only on the full-input fire; the empty-input fire takes a throttled repaint.
|
|
142
|
+
// Halves the edit volume per tool without losing the "line appears instantly"
|
|
143
|
+
// feel (the bare line still shows on the first throttle-permitted repaint).
|
|
144
|
+
const hasInput = !!input && Object.keys(input).length > 0;
|
|
126
145
|
for (const chatId of chats) {
|
|
127
146
|
const card = cardState.get(chatId);
|
|
128
147
|
if (!card)
|
|
@@ -134,7 +153,7 @@ export function pushToolUse(name, input, toolUseId) {
|
|
|
134
153
|
id,
|
|
135
154
|
tool: { name, input: input ?? {} },
|
|
136
155
|
});
|
|
137
|
-
void repaint(chatId, /* force */
|
|
156
|
+
void repaint(chatId, /* force */ hasInput);
|
|
138
157
|
}
|
|
139
158
|
}
|
|
140
159
|
/** Parse a TodoWrite tool_use input into the CardMeta todos shape, or undefined
|
|
@@ -261,5 +280,5 @@ export async function finalizeActiveCards() {
|
|
|
261
280
|
*/
|
|
262
281
|
export function _resetBridgeForTests() {
|
|
263
282
|
_lastRepaintAt.clear();
|
|
283
|
+
_inFlight.clear();
|
|
264
284
|
}
|
|
265
|
-
//# sourceMappingURL=turn-bridge.js.map
|
package/dist/src/cli/doctor.js
CHANGED
package/dist/src/cli/index.js
CHANGED
package/dist/src/cli/migrate.js
CHANGED
package/dist/src/constants.js
CHANGED
|
@@ -185,4 +185,3 @@ export const CC_AUTO_COMPACT_THRESHOLD = 70;
|
|
|
185
185
|
* recreate) instead of compacting. Used when /compact itself would leave
|
|
186
186
|
* the session too close to the model's window cap to do useful work. */
|
|
187
187
|
export const CC_HARD_RESET_THRESHOLD = 90;
|
|
188
|
-
//# sourceMappingURL=constants.js.map
|