mirror of
https://github.com/qwibitai/nanoclaw.git
synced 2026-07-06 18:52:03 +08:00
6f616824d6
Two generic engine primitives, derived from how the bespoke setup flows already work, so the remaining channels can move to SKILL.md: - `when:<var>=<value>` — a guard on any directive, evaluated against an earlier prompt/capture var. Unmet (incl. unresolved) skips the directive; a guarded prompt is skipped, never deferred, so a fully-programmatic apply still completes across mutually-exclusive branches (e.g. imessage's local vs remote mode). Lint requires the guard var be defined earlier. - `nc:run effect:step` + `capture:<var>=<FIELD>,…` — directive access to the existing spawnStep/StatusStream mechanism: runs a long-running, operator-interactive step (a pairing code, a QR device-link), tees its `=== NANOCLAW SETUP ===` blocks to the operator live, and binds the terminal block's named fields into vars. Degrades to an agent when no streaming exec is wired. New seam: ApplyOptions.execStream; the driver provides hostExecStream. One primitive covers telegram/whatsapp/signal. Full suite 624 passed | 1 skipped; the six already-converted skills still lint clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>