mirror of
https://github.com/qwibitai/nanoclaw.git
synced 2026-07-06 18:52:03 +08:00
d7d104aa0b
Widen Prompter.ask with a trailing-optional PromptOpts (flags/min/error/ normalize); existing async ask(name) fakes are untouched. clackPrompter builds the regex with opts.flags, enforces min-length, surfaces opts.error, and sets clearOnError on the secret prompt — via an exported, TTY-free promptValidator. normalize (trim | rstrip-slash | lower) binds DETERMINISTICALLY in the engine, so an inputs value and a typed answer land identically. The grammar + validator learn flags/min/normalize/error/reuse on nc:prompt. reuseFromEnv gains a second pass over reuse:<ENV_KEY> so a credential a helper script owns (imessage Photon IMESSAGE_SERVER_URL/API_KEY, written by effect:external) regains the masked reuse offer. Applied: add-teams app_password min:20, public_url normalize:rstrip-slash; add-imessage server_url flags:i + reuse on the Photon prompts. SKILLs stay lint-clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>