mirror of
https://github.com/qwibitai/nanoclaw.git
synced 2026-07-06 18:52:03 +08:00
3b41171071
telegram, signal, whatsapp, imessage, teams now run through the directive engine via runChannelSkill — the bespoke setup/channels/<ch>.ts flows (2.6k lines) are deleted. Built on the when:/effect:step primitives: - imessage — when:mode=local/remote guards + setup/channels/imessage-configure.sh (effect:external) for the mode-exclusive env writes. Wires normally. - signal / telegram / whatsapp — effect:step against their trunk step scripts (signal-auth / pair-telegram / whatsapp-auth), which now render their own operator display (QR / code card) as plain stdout lines and emit the capture fields in the terminal block. Wire via the resolved owner_handle + platform_id. - teams — platform_id is runtime-only, so the SKILL installs + manifests + ends with an nc:operator handoff; runChannelSkill gains a deferWire path that skips resolve+wire (mirrors the old finishWithHandoff). auto.ts dispatches every channel through runChannelSkill; provider-contract CREATION_FILES drops the deleted flows. Byte-parity for platform_id + user_id was adversarially re-derived per channel and confirmed identical. Verified: typecheck clean; full suite 620 passed | 1 skipped; all 5 skills lint clean; the deferWire teams path is exercised end-to-end (fake exec). NOT yet integration-tested: the effect:step live streaming handshake against real Telegram/Signal/WhatsApp accounts (no credentials available) — wiring, byte-parity, and the step-script tweaks are verified statically only. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>