mirror of
https://github.com/qwibitai/nanoclaw.git
synced 2026-07-06 18:52:03 +08:00
22b294e233
scripts/skill-policy.ts: UI-free gatePolicy(md) (§5.1 rules 1-5: guard- compatibility, operator-chain termination, prompt/end-of-doc barriers, confirm flavor) + extractOfferUrl(text) (§5.2 placeholder exclusion; slack's <your-public-host> is the normative negative), unit-tested against the full parity table over the real in-tree channel skills. setup/lib/skill-driver.ts: clackPrompter/spinnerReporter dissolve into clackResolveInput (help-escape intact) + a default onEvent policy handler (spinner branch + operator note → URL offer → natural-barrier confirm, decline = proceed); new TTY-gated confirm/openUrl seams on RunSkillOptions; an injected onEvent replaces the default policy entirely; reuseFromEnv pre-filters offers through the prompt's normalize/validate/flags (§5.4); promptValidator loses min/error and derives its message from the question prose (§5.3). run-channel-skill renames the overrides and passes the new seams through; providers/install drops its defer-all stub Prompter. No in-tree caller passes prompter/reporter anymore; normalizeValue is exported for the reuse pre-filter. Suite: 723 passed | 1 skipped. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>